diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2012-05-27 02:22:45 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2012-05-27 02:22:45 +0400 |
commit | b6a9a953bc6aa7d81921a796e8ce1123fdedefc7 (patch) | |
tree | 44c587b017c6915bb750560fb56a0a7782358c07 | |
parent | a5152b7ca0d6d7f340b1955c0e8a15ba23fda336 (diff) | |
parent | eda0f3b1863e2e41b9913e16af82407b63e145bf (diff) |
Merged changes in the trunk up to revision 47056.
Conflicts resolved:
source/blender/bmesh/bmesh_class.h
source/blender/bmesh/intern/bmesh_construct.c
source/blender/editors/interface/resources.c
source/blender/render/intern/source/convertblender.c
606 files changed, 31965 insertions, 26250 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 69812be1e50..89fe482d7ec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -103,8 +103,8 @@ enable_testing() #----------------------------------------------------------------------------- # Redirect output files -set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE INTERNAL "" FORCE ) -set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE INTERNAL "" FORCE ) +set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE INTERNAL "" FORCE) +set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE INTERNAL "" FORCE) #----------------------------------------------------------------------------- # Set default config options @@ -161,8 +161,6 @@ if(UNIX AND NOT APPLE) option(WITH_X11_XINPUT "Enable X11 Xinput (tablet support and unicode input)" ON) option(WITH_X11_XF86VMODE "Enable X11 video mode switching" ON) option(WITH_BUILTIN_GLEW "Use GLEW OpenGL wrapper library bundled with blender" ON) - option(WITH_XDG_USER_DIRS "Build with XDG Base Directory Specification (only config and documents for now)" OFF) - mark_as_advanced(WITH_XDG_USER_DIRS) # freebsd doesn't seems to support XDND if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") @@ -238,8 +236,14 @@ mark_as_advanced(WITH_MINGW64) option(WITH_CYCLES "Enable cycles Render Engine" ON) option(WITH_CYCLES_TEST "Build cycles test application" OFF) option(WITH_CYCLES_CUDA_BINARIES "Build cycles CUDA binaries" OFF) -set(CYCLES_CUDA_BINARIES_ARCH sm_13 sm_20 sm_21 CACHE STRING "CUDA architectures to build binaries for") +if(WIN32 AND NOT CMAKE_CL_64 AND NOT WITH_MINGW64) + set(PLATFORM_DEFAULT sm_20 sm_21) +else() + set(PLATFORM_DEFAULT sm_13 sm_20 sm_21) +endif() +set(CYCLES_CUDA_BINARIES_ARCH ${PLATFORM_DEFAULT} CACHE STRING "CUDA architectures to build binaries for") mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH) +unset(PLATFORM_DEFAULT) # disable for now, but plan to support on all platforms eventually option(WITH_MEM_JEMALLOC "Enable malloc replacement (http://www.canonware.com/jemalloc)" OFF) @@ -1187,13 +1191,13 @@ elseif(APPLE) endif() if(${XCODE_VERSION} VERSION_LESS 4.3) - SET(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX${OSX_SYSTEM}.sdk CACHE PATH "" FORCE ) # use guaranteed existing sdk + set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX${OSX_SYSTEM}.sdk CACHE PATH "" FORCE) # use guaranteed existing sdk else() # note: i don't use xcode-select path on purpose, cause also /Applications/Xcode.app would be allowed # absolute pathes are more foolproof here ! - SET(OSX_SYSROOT_PREFIX /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform) - SET(OSX_DEVELOPER_PREFIX /Developer/SDKs/MacOSX${OSX_SYSTEM}.sdk) # use guaranteed existing sdk - SET(CMAKE_OSX_SYSROOT ${OSX_SYSROOT_PREFIX}/${OSX_DEVELOPER_PREFIX} CACHE PATH "" FORCE) + set(OSX_SYSROOT_PREFIX /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform) + set(OSX_DEVELOPER_PREFIX /Developer/SDKs/MacOSX${OSX_SYSTEM}.sdk) # use guaranteed existing sdk + set(CMAKE_OSX_SYSROOT ${OSX_SYSROOT_PREFIX}/${OSX_DEVELOPER_PREFIX} CACHE PATH "" FORCE) endif() if(WITH_LIBS10.5) @@ -1365,7 +1369,7 @@ elseif(APPLE) ) set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib) - set(OPENCOLLADA_LIBRARIES "OpenCOLLADASaxFrameworkLoader -lOpenCOLLADAFramework -lOpenCOLLADABaseUtils -lOpenCOLLADAStreamWriter -lMathMLSolver -lGeneratedSaxParser -lUTF -lxml2 -lbuffer -lftoa" ) + set(OPENCOLLADA_LIBRARIES "OpenCOLLADASaxFrameworkLoader -lOpenCOLLADAFramework -lOpenCOLLADABaseUtils -lOpenCOLLADAStreamWriter -lMathMLSolver -lGeneratedSaxParser -lUTF -lxml2 -lbuffer -lftoa") #pcre is bundled with openCollada #set(PCRE ${LIBDIR}/pcre) #set(PCRE_LIBPATH ${PCRE}/lib) diff --git a/SConstruct b/SConstruct index 46ce989e9c0..bbf3dff0394 100644 --- a/SConstruct +++ b/SConstruct @@ -553,7 +553,7 @@ if env['OURPLATFORM']!='darwin': source=[os.path.join(dp, f) for f in df if not f.endswith(".pyc")] # To ensure empty dirs are created too - if len(source)==0: + if len(source)==0 and not os.path.exists(dir): env.Execute(Mkdir(dir)) scriptinstall.append(env.Install(dir=dir,source=source)) if env['WITH_BF_CYCLES']: diff --git a/build_files/scons/config/win32-mingw-config.py b/build_files/scons/config/win32-mingw-config.py index 57641555987..dc83411adac 100644 --- a/build_files/scons/config/win32-mingw-config.py +++ b/build_files/scons/config/win32-mingw-config.py @@ -169,6 +169,11 @@ BF_BOOST_LIBPATH = BF_BOOST + '/lib' WITH_BF_RAYOPTIMIZATION = True BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse'] +#CUDA +WITH_BF_CYCLES_CUDA_BINARIES = False +#BF_CYCLES_CUDA_NVCC = "" # Path to the nvidia compiler +BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_20', 'sm_21'] # don't build sm_13 until the compile can fit in 32bit process again :) + ## CC = 'gcc' CXX = 'g++' diff --git a/build_files/scons/tools/Blender.py b/build_files/scons/tools/Blender.py index 1fe29916dbf..ff7b3878733 100644 --- a/build_files/scons/tools/Blender.py +++ b/build_files/scons/tools/Blender.py @@ -869,12 +869,17 @@ class BlenderEnvironment(SConsEnvironment): lenv.AddPostAction(prog,Action(AppIt,strfunction=my_appit_print)) elif os.sep == '/' and lenv['OURPLATFORM'] != 'linuxcross': # any unix (except cross-compilation) if lenv['WITH_BF_PYTHON']: - if not lenv['WITHOUT_BF_INSTALL'] and not lenv['WITHOUT_BF_PYTHON_INSTALL'] and not BlenderEnvironment.PyBundleActionAdded: + if (not lenv['WITHOUT_BF_INSTALL'] and + not lenv['WITHOUT_BF_PYTHON_INSTALL'] and + not lenv['WITHOUT_BF_PYTHON_UNPACK'] and + not BlenderEnvironment.PyBundleActionAdded): lenv.AddPostAction(prog,Action(UnixPyBundle,strfunction=my_unixpybundle_print)) BlenderEnvironment.PyBundleActionAdded = True elif lenv['OURPLATFORM'].startswith('win') or lenv['OURPLATFORM'] == 'linuxcross': # windows or cross-compilation if lenv['WITH_BF_PYTHON']: - if not lenv['WITHOUT_BF_PYTHON_INSTALL'] and not BlenderEnvironment.PyBundleActionAdded: + if (not lenv['WITHOUT_BF_PYTHON_INSTALL'] and + not lenv['WITHOUT_BF_PYTHON_UNPACK'] and + not BlenderEnvironment.PyBundleActionAdded): lenv.AddPostAction(prog,Action(WinPyBundle,strfunction=my_winpybundle_print)) BlenderEnvironment.PyBundleActionAdded = True return prog diff --git a/build_files/scons/tools/btools.py b/build_files/scons/tools/btools.py index 1ad0b886cc4..d3a334b3c96 100644 --- a/build_files/scons/tools/btools.py +++ b/build_files/scons/tools/btools.py @@ -134,7 +134,7 @@ def validate_arguments(args, bc): 'BF_CXX', 'WITH_BF_STATICCXX', 'BF_CXX_LIB_STATIC', 'BF_TWEAK_MODE', 'BF_SPLIT_SRC', 'WITHOUT_BF_INSTALL', - 'WITHOUT_BF_PYTHON_INSTALL', + 'WITHOUT_BF_PYTHON_INSTALL', 'WITHOUT_BF_PYTHON_UNPACK', 'WITHOUT_BF_OVERWRITE_INSTALL', 'WITH_BF_OPENMP', 'BF_OPENMP', 'BF_OPENMP_LIBPATH', 'WITH_GHOST_COCOA', @@ -519,6 +519,7 @@ def read_opts(env, cfg, args): (BoolVariable('BF_SPLIT_SRC', 'Split src lib into several chunks if true', False)), (BoolVariable('WITHOUT_BF_INSTALL', 'dont install if true', False)), (BoolVariable('WITHOUT_BF_PYTHON_INSTALL', 'dont install Python modules if true', False)), + (BoolVariable('WITHOUT_BF_PYTHON_UNPACK', 'dont remove and unpack Python modules everytime if true', False)), (BoolVariable('WITHOUT_BF_OVERWRITE_INSTALL', 'dont remove existing files before breating the new install directory (set to False when making packages for others)', False)), (BoolVariable('BF_FANCY', 'Enable fancy output if true', True)), (BoolVariable('BF_QUIET', 'Enable silent output if true', True)), diff --git a/doc/python_api/examples/bpy.types.Mesh.py b/doc/python_api/examples/bpy.types.Mesh.py index 1ee5118df6d..d30303f3b05 100644 --- a/doc/python_api/examples/bpy.types.Mesh.py +++ b/doc/python_api/examples/bpy.types.Mesh.py @@ -28,7 +28,7 @@ This example script prints the vertices and UV's for each polygon, assumes the a import bpy me = bpy.context.object.data -uv_layer = me.uv.layers.active.data +uv_layer = me.uv_layers.active.data for poly in me.polygons: print("Polygon index: %d, length: %d" % (poly.index, poly.loop_total)) diff --git a/doc/python_api/rst/bge.render.rst b/doc/python_api/rst/bge.render.rst index ddc05ac1d8c..a253b6df26f 100644 --- a/doc/python_api/rst/bge.render.rst +++ b/doc/python_api/rst/bge.render.rst @@ -11,39 +11,41 @@ Intro .. code-block:: python # Example Uses an L{SCA_MouseSensor}, and two L{KX_ObjectActuator}s to implement MouseLook:: - # To use a mouse movement sensor "Mouse" and a + # To use a mouse movement sensor "Mouse" and a # motion actuator to mouse look: - import bge.render - import bge.logic + import bge # scale sets the speed of motion scale = 1.0, 0.5 - + co = bge.logic.getCurrentController() - obj = co.getOwner() - mouse = co.getSensor("Mouse") - lmotion = co.getActuator("LMove") - wmotion = co.getActuator("WMove") - + obj = co.owner + mouse = co.sensors["Mouse"] + lmotion = co.actuators["LMove"] + wmotion = co.actuators["WMove"] + # Transform the mouse coordinates to see how far the mouse has moved. def mousePos(): - x = (bge.render.getWindowWidth() / 2 - mouse.getXPosition()) * scale[0] - y = (bge.render.getWindowHeight() / 2 - mouse.getYPosition()) * scale[1] + x = (bge.render.getWindowWidth() / 2 - mouse.position[0]) * scale[0] + y = (bge.render.getWindowHeight() / 2 - mouse.position[1]) * scale[1] return (x, y) - + pos = mousePos() - + # Set the amount of motion: X is applied in world coordinates... - lmotion.setTorque(0.0, 0.0, pos[0], False) + wmotion.useLocalTorque = False + wmotion.torque = ((0.0, 0.0, pos[0])) + # ...Y is applied in local coordinates - wmotion.setTorque(-pos[1], 0.0, 0.0, True) - + lmotion.useLocalTorque = True + lmotion.torque = ((-pos[1], 0.0, 0.0)) + # Activate both actuators - bge.logic.addActiveActuator(lmotion, True) - bge.logic.addActiveActuator(wmotion, True) - + co.activate(lmotion) + co.activate(wmotion) + # Centre the mouse - bge.render.setMousePosition(bge.render.getWindowWidth() / 2, bge.render.getWindowHeight() / 2) + bge.render.setMousePosition(int(bge.render.getWindowWidth() / 2), int(bge.render.getWindowHeight() / 2)) ********* Constants diff --git a/doc/python_api/rst/include__bmesh.rst b/doc/python_api/rst/include__bmesh.rst index 212ab4e4708..a55bf71b60f 100644 --- a/doc/python_api/rst/include__bmesh.rst +++ b/doc/python_api/rst/include__bmesh.rst @@ -99,9 +99,11 @@ Here are some examples ... uv_lay = bm.loops.layers.uv.active for face in bm.faces: - for loop in f.loops: - uv = loop[uv_lay] - print("Loop UV: %f, %f" % (uv.x, uv.y)) + for loop in face.loops: + uv = loop[uv_lay].uv + print("Loop UV: %f, %f" % uv[:]) + vert = loop.vert + print("Loop Vert: (%f,%f,%f)" % vert.co[:]) .. code-block:: python diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp index 641aa88d6ef..14d4c2f3ddf 100644 --- a/intern/cycles/blender/blender_object.cpp +++ b/intern/cycles/blender/blender_object.cpp @@ -245,6 +245,7 @@ void BlenderSync::sync_object(BL::Object b_parent, int b_index, BL::Object b_ob, /* object sync */ if(object_updated || (object->mesh && object->mesh->need_update)) { object->name = b_ob.name().c_str(); + object->instance_id = b_index; object->pass_id = b_ob.pass_index(); object->tfm = tfm; object->motion.pre = tfm; @@ -284,52 +285,55 @@ void BlenderSync::sync_objects(BL::SpaceView3D b_v3d, int motion) /* object loop */ BL::Scene::objects_iterator b_ob; + BL::Scene b_sce = b_scene; - for(b_scene.objects.begin(b_ob); b_ob != b_scene.objects.end(); ++b_ob) { - bool hide = (render_layer.use_viewport_visibility)? b_ob->hide(): b_ob->hide_render(); - uint ob_layer = get_layer(b_ob->layers()); + for(; b_sce; b_sce = b_sce.background_set()) { + for(b_sce.objects.begin(b_ob); b_ob != b_sce.objects.end(); ++b_ob) { + bool hide = (render_layer.use_viewport_visibility)? b_ob->hide(): b_ob->hide_render(); + uint ob_layer = get_layer(b_ob->layers()); - if(!hide && (ob_layer & scene_layer)) { - if(b_ob->is_duplicator()) { - /* dupli objects */ - object_create_duplilist(*b_ob, b_scene); + if(!hide && (ob_layer & scene_layer)) { + if(b_ob->is_duplicator()) { + /* dupli objects */ + object_create_duplilist(*b_ob, b_scene); - BL::Object::dupli_list_iterator b_dup; - int b_index = 0; + BL::Object::dupli_list_iterator b_dup; + int b_index = 0; - for(b_ob->dupli_list.begin(b_dup); b_dup != b_ob->dupli_list.end(); ++b_dup) { - Transform tfm = get_transform(b_dup->matrix()); - BL::Object b_dup_ob = b_dup->object(); - bool dup_hide = (b_v3d)? b_dup_ob.hide(): b_dup_ob.hide_render(); + for(b_ob->dupli_list.begin(b_dup); b_dup != b_ob->dupli_list.end(); ++b_dup) { + Transform tfm = get_transform(b_dup->matrix()); + BL::Object b_dup_ob = b_dup->object(); + bool dup_hide = (b_v3d)? b_dup_ob.hide(): b_dup_ob.hide_render(); - if(!(b_dup->hide() || dup_hide)) - sync_object(*b_ob, b_index, b_dup_ob, tfm, ob_layer, motion); + if(!(b_dup->hide() || dup_hide)) + sync_object(*b_ob, b_index, b_dup_ob, tfm, ob_layer, motion); - b_index++; - } - - object_free_duplilist(*b_ob); + b_index++; + } - hide = true; - } + object_free_duplilist(*b_ob); - /* check if we should render or hide particle emitter */ - BL::Object::particle_systems_iterator b_psys; - bool render_emitter = false; + hide = true; + } - for(b_ob->particle_systems.begin(b_psys); b_psys != b_ob->particle_systems.end(); ++b_psys) { - if(b_psys->settings().use_render_emitter()) { - hide = false; - render_emitter = true; + /* check if we should render or hide particle emitter */ + BL::Object::particle_systems_iterator b_psys; + bool render_emitter = false; + + for(b_ob->particle_systems.begin(b_psys); b_psys != b_ob->particle_systems.end(); ++b_psys) { + if(b_psys->settings().use_render_emitter()) { + hide = false; + render_emitter = true; + } + else if(!render_emitter) + hide = true; } - else if(!render_emitter) - hide = true; - } - if(!hide) { - /* object itself */ - Transform tfm = get_transform(b_ob->matrix_world()); - sync_object(*b_ob, 0, *b_ob, tfm, ob_layer, motion); + if(!hide) { + /* object itself */ + Transform tfm = get_transform(b_ob->matrix_world()); + sync_object(*b_ob, 0, *b_ob, tfm, ob_layer, motion); + } } } } diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index b33de789631..59eeb25ed74 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -334,6 +334,10 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Shader node = new LightFalloffNode(); break; } + case BL::ShaderNode::type_OBJECT_INFO: { + node = new ObjectInfoNode(); + break; + } case BL::ShaderNode::type_TEX_IMAGE: { BL::ShaderNodeTexImage b_image_node(b_node); BL::Image b_image(b_image_node.image()); diff --git a/intern/cycles/kernel/kernel_object.h b/intern/cycles/kernel/kernel_object.h index abe427d8345..05c45c490d8 100644 --- a/intern/cycles/kernel/kernel_object.h +++ b/intern/cycles/kernel/kernel_object.h @@ -117,6 +117,16 @@ __device_inline void object_dir_transform(KernelGlobals *kg, ShaderData *sd, flo #endif } +__device_inline float3 object_location(KernelGlobals *kg, ShaderData *sd) +{ +#ifdef __MOTION__ + return make_float3(sd->ob_tfm.x.w, sd->ob_tfm.y.w, sd->ob_tfm.z.w); +#else + Transform tfm = object_fetch_transform(kg, sd->object, 0.0f, OBJECT_TRANSFORM); + return make_float3(tfm.x.w, tfm.y.w, tfm.z.w); +#endif +} + __device_inline float object_surface_area(KernelGlobals *kg, int object) { int offset = object*OBJECT_SIZE + OBJECT_PROPERTIES; @@ -134,5 +144,20 @@ __device_inline float object_pass_id(KernelGlobals *kg, int object) return f.y; } +__device_inline float object_random_number(KernelGlobals *kg, int object) +{ + if(object == ~0) + return 0.0f; + + int offset = object*OBJECT_SIZE + OBJECT_PROPERTIES; + float4 f = kernel_tex_fetch(__objects, offset); + return f.z; +} + +__device int shader_pass_id(KernelGlobals *kg, ShaderData *sd) +{ + return kernel_tex_fetch(__shader_flag, (sd->shader & SHADER_MASK)*2 + 1); +} + CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/kernel_shader.h b/intern/cycles/kernel/kernel_shader.h index 2138038e49d..8e0d36705ad 100644 --- a/intern/cycles/kernel/kernel_shader.h +++ b/intern/cycles/kernel/kernel_shader.h @@ -679,11 +679,6 @@ __device bool shader_transparent_shadow(KernelGlobals *kg, Intersection *isect) } #endif -__device int shader_pass_id(KernelGlobals *kg, ShaderData *sd) -{ - return kernel_tex_fetch(__shader_flag, (sd->shader & SHADER_MASK)*2 + 1); -} - /* Free ShaderData */ __device void shader_release(KernelGlobals *kg, ShaderData *sd) diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h index 12ed61673d1..6a05639beb9 100644 --- a/intern/cycles/kernel/svm/svm.h +++ b/intern/cycles/kernel/svm/svm.h @@ -266,6 +266,9 @@ __device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderT case NODE_LIGHT_PATH: svm_node_light_path(sd, stack, node.y, node.z, path_flag); break; + case NODE_OBJECT_INFO: + svm_node_object_info(kg, sd, stack, node.y, node.z); + break; #endif case NODE_CONVERT: svm_node_convert(sd, stack, node.y, node.z, node.w); diff --git a/intern/cycles/kernel/svm/svm_geometry.h b/intern/cycles/kernel/svm/svm_geometry.h index 77fe26c809e..dab19983946 100644 --- a/intern/cycles/kernel/svm/svm_geometry.h +++ b/intern/cycles/kernel/svm/svm_geometry.h @@ -74,5 +74,25 @@ __device void svm_node_geometry_bump_dy(ShaderData *sd, float *stack, uint type, #endif } +/* Object Info */ + +__device void svm_node_object_info(KernelGlobals *kg, ShaderData *sd, float *stack, uint type, uint out_offset) +{ + float data; + + switch(type) { + case NODE_INFO_OB_LOCATION: { + stack_store_float3(stack, out_offset, object_location(kg, sd)); + return; + } + case NODE_INFO_OB_INDEX: data = object_pass_id(kg, sd->object); break; + case NODE_INFO_MAT_INDEX: data = shader_pass_id(kg, sd); break; + case NODE_INFO_OB_RANDOM: data = object_random_number(kg, sd->object); break; + default: data = 0.0f; break; + } + + stack_store_float(stack, out_offset, data); +} + CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/svm/svm_types.h b/intern/cycles/kernel/svm/svm_types.h index 867709f29e0..97849736ef6 100644 --- a/intern/cycles/kernel/svm/svm_types.h +++ b/intern/cycles/kernel/svm/svm_types.h @@ -92,7 +92,8 @@ typedef enum NodeType { NODE_RGB_RAMP = 5900, NODE_RGB_CURVES = 6000, NODE_MIN_MAX = 6100, - NODE_LIGHT_FALLOFF = 6200 + NODE_LIGHT_FALLOFF = 6200, + NODE_OBJECT_INFO = 6300 } NodeType; typedef enum NodeAttributeType { @@ -109,6 +110,13 @@ typedef enum NodeGeometry { NODE_GEOM_uv } NodeGeometry; +typedef enum NodeObjectInfo { + NODE_INFO_OB_LOCATION, + NODE_INFO_OB_INDEX, + NODE_INFO_MAT_INDEX, + NODE_INFO_OB_RANDOM +} NodeObjectInfo; + typedef enum NodeLightPath { NODE_LP_camera = 0, NODE_LP_shadow, diff --git a/intern/cycles/render/graph.cpp b/intern/cycles/render/graph.cpp index d9486de47c9..77bc9cf27ec 100644 --- a/intern/cycles/render/graph.cpp +++ b/intern/cycles/render/graph.cpp @@ -325,6 +325,25 @@ void ShaderGraph::remove_proxy_nodes(vector<bool>& removed) removed[proxy->id] = true; } + + /* remove useless mix closures nodes */ + MixClosureNode *mix = dynamic_cast<MixClosureNode*>(node); + + if(mix) { + if(mix->outputs[0]->links.size() && mix->inputs[1]->link == mix->inputs[2]->link) { + ShaderOutput *output = mix->inputs[1]->link; + vector<ShaderInput*> inputs = mix->outputs[0]->links; + + foreach(ShaderInput *sock, mix->inputs) + if(sock->link) + disconnect(sock); + + foreach(ShaderInput *input, inputs) { + disconnect(input); + connect(output, input); + } + } + } } } diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index 57fe2fb01b7..506458d82e1 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -1699,7 +1699,7 @@ void LightPathNode::compile(OSLCompiler& compiler) compiler.add(this, "node_light_path"); } -/* Light Path */ +/* Light Falloff */ LightFalloffNode::LightFalloffNode() : ShaderNode("light_path") @@ -1746,6 +1746,49 @@ void LightFalloffNode::compile(OSLCompiler& compiler) compiler.add(this, "node_light_falloff"); } +/* Object Info */ + +ObjectInfoNode::ObjectInfoNode() +: ShaderNode("object_info") +{ + add_output("Location", SHADER_SOCKET_VECTOR); + add_output("Object Index", SHADER_SOCKET_FLOAT); + add_output("Material Index", SHADER_SOCKET_FLOAT); + add_output("Random", SHADER_SOCKET_FLOAT); +} + +void ObjectInfoNode::compile(SVMCompiler& compiler) +{ + ShaderOutput *out = output("Location"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(NODE_OBJECT_INFO, NODE_INFO_OB_LOCATION, out->stack_offset); + } + + out = output("Object Index"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(NODE_OBJECT_INFO, NODE_INFO_OB_INDEX, out->stack_offset); + } + + out = output("Material Index"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(NODE_OBJECT_INFO, NODE_INFO_MAT_INDEX, out->stack_offset); + } + + out = output("Random"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(NODE_OBJECT_INFO, NODE_INFO_OB_RANDOM, out->stack_offset); + } +} + +void ObjectInfoNode::compile(OSLCompiler& compiler) +{ + compiler.add(this, "node_object_info"); +} + /* Value */ ValueNode::ValueNode() diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h index ff9e3647d01..2d0d58d1e94 100644 --- a/intern/cycles/render/nodes.h +++ b/intern/cycles/render/nodes.h @@ -285,6 +285,11 @@ public: SHADER_NODE_CLASS(LightFalloffNode) }; +class ObjectInfoNode : public ShaderNode { +public: + SHADER_NODE_CLASS(ObjectInfoNode) +}; + class ValueNode : public ShaderNode { public: SHADER_NODE_CLASS(ValueNode) diff --git a/intern/cycles/render/object.cpp b/intern/cycles/render/object.cpp index cae69c06f7d..e38b2635f90 100644 --- a/intern/cycles/render/object.cpp +++ b/intern/cycles/render/object.cpp @@ -23,6 +23,7 @@ #include "scene.h" #include "util_foreach.h" +#include "util_hash.h" #include "util_map.h" #include "util_progress.h" @@ -36,6 +37,7 @@ Object::Object() mesh = NULL; tfm = transform_identity(); visibility = ~0; + instance_id = 0; pass_id = 0; bounds = BoundBox::empty; motion.pre = transform_identity(); @@ -164,6 +166,9 @@ void ObjectManager::device_update_transforms(Device *device, DeviceScene *dscene float surface_area = 0.0f; float pass_id = ob->pass_id; + uint ob_hash = hash_int_2d(hash_string(ob->name.c_str()), ob->instance_id); + float random_number = (float)ob_hash * (1.0f/(float)0xFFFFFFFF); + if(transform_uniform_scale(tfm, uniform_scale)) { map<Mesh*, float>::iterator it = surface_area_map.find(mesh); @@ -198,7 +203,7 @@ void ObjectManager::device_update_transforms(Device *device, DeviceScene *dscene memcpy(&objects[offset], &tfm, sizeof(float4)*3); memcpy(&objects[offset+3], &itfm, sizeof(float4)*3); - objects[offset+6] = make_float4(surface_area, pass_id, 0.0f, 0.0f); + objects[offset+6] = make_float4(surface_area, pass_id, random_number, 0.0f); if(need_motion == Scene::MOTION_PASS) { /* motion transformations, is world/object space depending if mesh diff --git a/intern/cycles/render/object.h b/intern/cycles/render/object.h index 267052bfca7..b8169e3758e 100644 --- a/intern/cycles/render/object.h +++ b/intern/cycles/render/object.h @@ -41,6 +41,7 @@ public: Transform tfm; BoundBox bounds; ustring name; + int instance_id; int pass_id; vector<ParamValue> attributes; uint visibility; diff --git a/intern/cycles/util/util_hash.h b/intern/cycles/util/util_hash.h index 16901dab38e..c31b46e1580 100644 --- a/intern/cycles/util/util_hash.h +++ b/intern/cycles/util/util_hash.h @@ -19,13 +19,15 @@ #ifndef __UTIL_HASH_H__ #define __UTIL_HASH_H__ +#include "util_types.h" + CCL_NAMESPACE_BEGIN -static inline unsigned int hash_int_2d(unsigned int kx, unsigned int ky) +static inline uint hash_int_2d(uint kx, uint ky) { #define rot(x,k) (((x)<<(k)) | ((x)>>(32-(k)))) - unsigned int a, b, c; + uint a, b, c; a = b = c = 0xdeadbeef + (2 << 2) + 13; a += kx; @@ -44,11 +46,21 @@ static inline unsigned int hash_int_2d(unsigned int kx, unsigned int ky) #undef rot } -static inline unsigned int hash_int(unsigned int k) +static inline uint hash_int(uint k) { return hash_int_2d(k, 0); } +static inline uint hash_string(const char *str) +{ + uint i = 0, c; + + while ((c = *str++)) + i = i * 37 + c; + + return i; +} + CCL_NAMESPACE_END #endif /* __UTIL_HASH_H__ */ diff --git a/intern/elbeem/CMakeLists.txt b/intern/elbeem/CMakeLists.txt index 064269b02bc..e9d29561121 100644 --- a/intern/elbeem/CMakeLists.txt +++ b/intern/elbeem/CMakeLists.txt @@ -86,9 +86,12 @@ set(SRC intern/solver_interface.h intern/solver_relax.h intern/utilities.h - intern/globals.h + intern/globals.h ) +# elbeem has some harmless UNUSED warnings +remove_strict_flags() + add_definitions( -DNOGUI -DELBEEM_BLENDER=1 diff --git a/intern/ghost/CMakeLists.txt b/intern/ghost/CMakeLists.txt index eeb924d7bf0..277b14e2c66 100644 --- a/intern/ghost/CMakeLists.txt +++ b/intern/ghost/CMakeLists.txt @@ -108,10 +108,6 @@ if(WITH_INPUT_NDOF) ) endif() -if(WITH_XDG_USER_DIRS) - add_definitions(-DWITH_XDG_USER_DIRS) -endif() - if(WITH_HEADLESS OR WITH_GHOST_SDL) if(WITH_HEADLESS) list(APPEND SRC diff --git a/intern/ghost/GHOST_C-api.h b/intern/ghost/GHOST_C-api.h index 3add5ccb60a..7f33f2bdcde 100644 --- a/intern/ghost/GHOST_C-api.h +++ b/intern/ghost/GHOST_C-api.h @@ -30,7 +30,7 @@ * \brief GHOST C-API function and type declarations. */ -#ifndef __GHOST_C_API_H__ +#ifndef __GHOST_C_API_H__ #define __GHOST_C_API_H__ #include "GHOST_Types.h" @@ -113,10 +113,10 @@ extern GHOST_TUns64 GHOST_GetMilliSeconds(GHOST_SystemHandle systemhandle); * @return A timer task (0 if timer task installation failed). */ extern GHOST_TimerTaskHandle GHOST_InstallTimer(GHOST_SystemHandle systemhandle, - GHOST_TUns64 delay, - GHOST_TUns64 interval, - GHOST_TimerProcPtr timerProc, - GHOST_TUserDataPtr userData); + GHOST_TUns64 delay, + GHOST_TUns64 interval, + GHOST_TimerProcPtr timerProc, + GHOST_TUserDataPtr userData); /** * Removes a timer. @@ -125,11 +125,11 @@ extern GHOST_TimerTaskHandle GHOST_InstallTimer(GHOST_SystemHandle systemhandle, * @return Indication of success. */ extern GHOST_TSuccess GHOST_RemoveTimer(GHOST_SystemHandle systemhandle, - GHOST_TimerTaskHandle timertaskhandle); + GHOST_TimerTaskHandle timertaskhandle); /*************************************************************************************** - ** Display/window management functionality - ***************************************************************************************/ +** Display/window management functionality +***************************************************************************************/ /** * Returns the number of displays on this system. @@ -146,8 +146,8 @@ extern GHOST_TUns8 GHOST_GetNumDisplays(GHOST_SystemHandle systemhandle); * @return void. */ extern void GHOST_GetMainDisplayDimensions(GHOST_SystemHandle systemhandle, - GHOST_TUns32* width, - GHOST_TUns32* height); + GHOST_TUns32 *width, + GHOST_TUns32 *height); /** * Create a new window. @@ -166,15 +166,15 @@ extern void GHOST_GetMainDisplayDimensions(GHOST_SystemHandle systemhandle, * @return A handle to the new window ( == NULL if creation failed). */ extern GHOST_WindowHandle GHOST_CreateWindow(GHOST_SystemHandle systemhandle, - const char* title, - GHOST_TInt32 left, - GHOST_TInt32 top, - GHOST_TUns32 width, - GHOST_TUns32 height, - GHOST_TWindowState state, - GHOST_TDrawingContextType type, - const int stereoVisual, - const GHOST_TUns16 numOfAASamples); + const char *title, + GHOST_TInt32 left, + GHOST_TInt32 top, + GHOST_TUns32 width, + GHOST_TUns32 height, + GHOST_TWindowState state, + GHOST_TDrawingContextType type, + const int stereoVisual, + const GHOST_TUns16 numOfAASamples); /** * Returns the window user data. @@ -189,7 +189,7 @@ extern GHOST_TUserDataPtr GHOST_GetWindowUserData(GHOST_WindowHandle windowhandl * @param data The window user data. */ extern void GHOST_SetWindowUserData(GHOST_WindowHandle windowhandle, - GHOST_TUserDataPtr userdata); + GHOST_TUserDataPtr userdata); /** * Dispose a window. @@ -198,7 +198,7 @@ extern void GHOST_SetWindowUserData(GHOST_WindowHandle windowhandle, * @return Indication of success. */ extern GHOST_TSuccess GHOST_DisposeWindow(GHOST_SystemHandle systemhandle, - GHOST_WindowHandle windowhandle); + GHOST_WindowHandle windowhandle); /** * Returns whether a window is valid. @@ -207,7 +207,7 @@ extern GHOST_TSuccess GHOST_DisposeWindow(GHOST_SystemHandle systemhandle, * @return Indication of validity. */ extern int GHOST_ValidWindow(GHOST_SystemHandle systemhandle, - GHOST_WindowHandle windowhandle); + GHOST_WindowHandle windowhandle); /** * Begins full screen mode. @@ -217,8 +217,8 @@ extern int GHOST_ValidWindow(GHOST_SystemHandle systemhandle, * This window is invalid after full screen has been ended. */ extern GHOST_WindowHandle GHOST_BeginFullScreen(GHOST_SystemHandle systemhandle, - GHOST_DisplaySetting* setting, - const int stereoVisual); + GHOST_DisplaySetting *setting, + const int stereoVisual); /** * Ends full screen mode. @@ -235,8 +235,8 @@ extern GHOST_TSuccess GHOST_EndFullScreen(GHOST_SystemHandle systemhandle); extern int GHOST_GetFullScreen(GHOST_SystemHandle systemhandle); /*************************************************************************************** - ** Event management functionality - ***************************************************************************************/ +** Event management functionality +***************************************************************************************/ /** * Retrieves events from the system and stores them in the queue. @@ -261,7 +261,7 @@ extern int GHOST_DispatchEvents(GHOST_SystemHandle systemhandle); * @return Indication of success. */ extern GHOST_TSuccess GHOST_AddEventConsumer(GHOST_SystemHandle systemhandle, - GHOST_EventConsumerHandle consumerhandle); + GHOST_EventConsumerHandle consumerhandle); /** * Remove the given event consumer to our list. @@ -270,11 +270,11 @@ extern GHOST_TSuccess GHOST_AddEventConsumer(GHOST_SystemHandle systemhandle, * @return Indication of success. */ extern GHOST_TSuccess GHOST_RemoveEventConsumer(GHOST_SystemHandle systemhandle, - GHOST_EventConsumerHandle consumerhandle); + GHOST_EventConsumerHandle consumerhandle); /*************************************************************************************** - ** Progress bar functionality - ***************************************************************************************/ +** Progress bar functionality +***************************************************************************************/ /** * Sets the progress bar value displayed in the window/application icon @@ -290,8 +290,8 @@ extern GHOST_TSuccess GHOST_SetProgressBar(GHOST_WindowHandle windowhandle, floa extern GHOST_TSuccess GHOST_EndProgressBar(GHOST_WindowHandle windowhandle); /*************************************************************************************** - ** Cursor management functionality - ***************************************************************************************/ +** Cursor management functionality +***************************************************************************************/ /** * Returns the current cursor shape. @@ -307,7 +307,7 @@ extern GHOST_TStandardCursor GHOST_GetCursorShape(GHOST_WindowHandle windowhandl * @return Indication of success. */ extern GHOST_TSuccess GHOST_SetCursorShape(GHOST_WindowHandle windowhandle, - GHOST_TStandardCursor cursorshape); + GHOST_TStandardCursor cursorshape); /** * Set the shape of the cursor to a custom cursor. @@ -319,10 +319,10 @@ extern GHOST_TSuccess GHOST_SetCursorShape(GHOST_WindowHandle windowhandle, * @return Indication of success. */ extern GHOST_TSuccess GHOST_SetCustomCursorShape(GHOST_WindowHandle windowhandle, - GHOST_TUns8 bitmap[16][2], - GHOST_TUns8 mask[16][2], - int hotX, - int hotY); + GHOST_TUns8 bitmap[16][2], + GHOST_TUns8 mask[16][2], + int hotX, + int hotY); /** * Set the shape of the cursor to a custom cursor of specified size. * @param windowhandle The handle to the window @@ -333,13 +333,13 @@ extern GHOST_TSuccess GHOST_SetCustomCursorShape(GHOST_WindowHandle windowhandle * @param hotY The Y coordinate of the cursor hotspot. * @param fg_color, bg_color Colors of the cursor * @return Indication of success. - */ + */ extern GHOST_TSuccess GHOST_SetCustomCursorShapeEx(GHOST_WindowHandle windowhandle, - GHOST_TUns8 *bitmap, - GHOST_TUns8 *mask, - int sizex, int sizey, - int hotX, int hotY, - int fg_color, int bg_color ); + GHOST_TUns8 *bitmap, + GHOST_TUns8 *mask, + int sizex, int sizey, + int hotX, int hotY, + int fg_color, int bg_color); /** * Returns the visibility state of the cursor. @@ -355,7 +355,7 @@ extern int GHOST_GetCursorVisibility(GHOST_WindowHandle windowhandle); * @return Indication of success. */ extern GHOST_TSuccess GHOST_SetCursorVisibility(GHOST_WindowHandle windowhandle, - int visible); + int visible); /** * Returns the current location of the cursor (location in screen coordinates) @@ -365,8 +365,8 @@ extern GHOST_TSuccess GHOST_SetCursorVisibility(GHOST_WindowHandle windowhandle, * @return Indication of success. */ extern GHOST_TSuccess GHOST_GetCursorPosition(GHOST_SystemHandle systemhandle, - GHOST_TInt32* x, - GHOST_TInt32* y); + GHOST_TInt32 *x, + GHOST_TInt32 *y); /** * Updates the location of the cursor (location in screen coordinates). @@ -377,8 +377,8 @@ extern GHOST_TSuccess GHOST_GetCursorPosition(GHOST_SystemHandle systemhandle, * @return Indication of success. */ extern GHOST_TSuccess GHOST_SetCursorPosition(GHOST_SystemHandle systemhandle, - GHOST_TInt32 x, - GHOST_TInt32 y); + GHOST_TInt32 x, + GHOST_TInt32 y); /** * Grabs the cursor for a modal operation, to keep receiving @@ -390,12 +390,12 @@ extern GHOST_TSuccess GHOST_SetCursorPosition(GHOST_SystemHandle systemhandle, * @return Indication of success. */ extern GHOST_TSuccess GHOST_SetCursorGrab(GHOST_WindowHandle windowhandle, - GHOST_TGrabCursorMode mode, - int* bounds); + GHOST_TGrabCursorMode mode, + int *bounds); /*************************************************************************************** - ** Access to mouse button and keyboard states. - ***************************************************************************************/ +** Access to mouse button and keyboard states. +***************************************************************************************/ /** * Returns the state of a modifier key (ouside the message queue). @@ -405,8 +405,8 @@ extern GHOST_TSuccess GHOST_SetCursorGrab(GHOST_WindowHandle windowhandle, * @return Indication of success. */ extern GHOST_TSuccess GHOST_GetModifierKeyState(GHOST_SystemHandle systemhandle, - GHOST_TModifierKeyMask mask, - int* isDown); + GHOST_TModifierKeyMask mask, + int *isDown); /** * Returns the state of a mouse button (ouside the message queue). @@ -416,13 +416,13 @@ extern GHOST_TSuccess GHOST_GetModifierKeyState(GHOST_SystemHandle systemhandle, * @return Indication of success. */ extern GHOST_TSuccess GHOST_GetButtonState(GHOST_SystemHandle systemhandle, - GHOST_TButtonMask mask, - int* isDown); + GHOST_TButtonMask mask, + int *isDown); /*************************************************************************************** - ** Drag'n'drop operations - ***************************************************************************************/ +** Drag'n'drop operations +***************************************************************************************/ /** * Tells if the ongoing drag'n'drop object can be accepted upon mouse drop @@ -472,7 +472,7 @@ extern GHOST_TimerProcPtr GHOST_GetTimerProc(GHOST_TimerTaskHandle timertaskhand * @param timerProc The timer callback. */ extern void GHOST_SetTimerProc(GHOST_TimerTaskHandle timertaskhandle, - GHOST_TimerProcPtr timerProc); + GHOST_TimerProcPtr timerProc); /** * Returns the timer user data. @@ -487,7 +487,7 @@ extern GHOST_TUserDataPtr GHOST_GetTimerTaskUserData(GHOST_TimerTaskHandle timer * @param data The timer user data. */ extern void GHOST_SetTimerTaskUserData(GHOST_TimerTaskHandle timertaskhandle, - GHOST_TUserDataPtr userData); + GHOST_TUserDataPtr userData); /** * Returns indication as to whether the window is valid. @@ -510,7 +510,7 @@ extern GHOST_TDrawingContextType GHOST_GetDrawingContextType(GHOST_WindowHandle * @return Indication as to whether installation has succeeded. */ extern GHOST_TSuccess GHOST_SetDrawingContextType(GHOST_WindowHandle windowhandle, - GHOST_TDrawingContextType type); + GHOST_TDrawingContextType type); /** * Sets the title displayed in the title bar. @@ -518,7 +518,7 @@ extern GHOST_TSuccess GHOST_SetDrawingContextType(GHOST_WindowHandle windowhandl * @param title The title to display in the title bar. */ extern void GHOST_SetTitle(GHOST_WindowHandle windowhandle, - const char* title); + const char *title); /** * Returns the title displayed in the title bar. The title @@ -527,7 +527,7 @@ extern void GHOST_SetTitle(GHOST_WindowHandle windowhandle, * @param windowhandle The handle to the window * @return The title, free with free(). */ -extern char* GHOST_GetTitle(GHOST_WindowHandle windowhandle); +extern char *GHOST_GetTitle(GHOST_WindowHandle windowhandle); /** * Returns the window rectangle dimensions. @@ -558,7 +558,7 @@ void GHOST_DisposeRectangle(GHOST_RectangleHandle rectanglehandle); * @return Indication of success. */ extern GHOST_TSuccess GHOST_SetClientWidth(GHOST_WindowHandle windowhandle, - GHOST_TUns32 width); + GHOST_TUns32 width); /** * Resizes client rectangle height. @@ -567,7 +567,7 @@ extern GHOST_TSuccess GHOST_SetClientWidth(GHOST_WindowHandle windowhandle, * @return Indication of success. */ extern GHOST_TSuccess GHOST_SetClientHeight(GHOST_WindowHandle windowhandle, - GHOST_TUns32 height); + GHOST_TUns32 height); /** * Resizes client rectangle. @@ -577,8 +577,8 @@ extern GHOST_TSuccess GHOST_SetClientHeight(GHOST_WindowHandle windowhandle, * @return Indication of success. */ extern GHOST_TSuccess GHOST_SetClientSize(GHOST_WindowHandle windowhandle, - GHOST_TUns32 width, - GHOST_TUns32 height); + GHOST_TUns32 width, + GHOST_TUns32 height); /** * Converts a point in screen coordinates to client rectangle coordinates @@ -589,10 +589,10 @@ extern GHOST_TSuccess GHOST_SetClientSize(GHOST_WindowHandle windowhandle, * @param outY The y-coordinate in the client rectangle. */ extern void GHOST_ScreenToClient(GHOST_WindowHandle windowhandle, - GHOST_TInt32 inX, - GHOST_TInt32 inY, - GHOST_TInt32* outX, - GHOST_TInt32* outY); + GHOST_TInt32 inX, + GHOST_TInt32 inY, + GHOST_TInt32 *outX, + GHOST_TInt32 *outY); /** * Converts a point in screen coordinates to client rectangle coordinates @@ -603,10 +603,10 @@ extern void GHOST_ScreenToClient(GHOST_WindowHandle windowhandle, * @param outY The y-coordinate on the screen. */ extern void GHOST_ClientToScreen(GHOST_WindowHandle windowhandle, - GHOST_TInt32 inX, - GHOST_TInt32 inY, - GHOST_TInt32* outX, - GHOST_TInt32* outY); + GHOST_TInt32 inX, + GHOST_TInt32 inY, + GHOST_TInt32 *outX, + GHOST_TInt32 *outY); /** * Returns the state of the window (normal, minimized, maximized). @@ -622,7 +622,7 @@ extern GHOST_TWindowState GHOST_GetWindowState(GHOST_WindowHandle windowhandle); * @return Indication of success. */ extern GHOST_TSuccess GHOST_SetWindowState(GHOST_WindowHandle windowhandle, - GHOST_TWindowState state); + GHOST_TWindowState state); /** @@ -632,7 +632,7 @@ extern GHOST_TSuccess GHOST_SetWindowState(GHOST_WindowHandle windowhandle, * @return Indication of success. */ extern GHOST_TSuccess GHOST_SetWindowModifiedState(GHOST_WindowHandle windowhandle, - GHOST_TUns8 isUnsavedChanges); + GHOST_TUns8 isUnsavedChanges); /** * Sets the order of the window (bottom, top). @@ -641,7 +641,7 @@ extern GHOST_TSuccess GHOST_SetWindowModifiedState(GHOST_WindowHandle windowhand * @return Indication of success. */ extern GHOST_TSuccess GHOST_SetWindowOrder(GHOST_WindowHandle windowhandle, - GHOST_TWindowOrder order); + GHOST_TWindowOrder order); /** * Swaps front and back buffers of a window. @@ -694,10 +694,10 @@ extern GHOST_TInt32 GHOST_GetHeightRectangle(GHOST_RectangleHandle rectanglehand * @param b Pointer to return bottom coordinate in. */ extern void GHOST_GetRectangle(GHOST_RectangleHandle rectanglehandle, - GHOST_TInt32* l, - GHOST_TInt32* t, - GHOST_TInt32* r, - GHOST_TInt32* b); + GHOST_TInt32 *l, + GHOST_TInt32 *t, + GHOST_TInt32 *r, + GHOST_TInt32 *b); /** * Sets all members of the rectangle. @@ -708,10 +708,10 @@ extern void GHOST_GetRectangle(GHOST_RectangleHandle rectanglehandle, * @param b requested bottom coordinate of the rectangle */ extern void GHOST_SetRectangle(GHOST_RectangleHandle rectanglehandle, - GHOST_TInt32 l, - GHOST_TInt32 t, - GHOST_TInt32 r, - GHOST_TInt32 b); + GHOST_TInt32 l, + GHOST_TInt32 t, + GHOST_TInt32 r, + GHOST_TInt32 b); /** * Returns whether this rectangle is empty. @@ -736,7 +736,7 @@ extern GHOST_TSuccess GHOST_IsValidRectangle(GHOST_RectangleHandle rectanglehand * @param i The amount of offset given to each extreme (negative values shrink the rectangle). */ extern void GHOST_InsetRectangle(GHOST_RectangleHandle rectanglehandle, - GHOST_TInt32 i); + GHOST_TInt32 i); /** * Does a union of the rectangle given and this rectangle. @@ -745,7 +745,7 @@ extern void GHOST_InsetRectangle(GHOST_RectangleHandle rectanglehandle, * @param r The rectangle that is input for the union operation. */ extern void GHOST_UnionRectangle(GHOST_RectangleHandle rectanglehandle, - GHOST_RectangleHandle anotherrectanglehandle); + GHOST_RectangleHandle anotherrectanglehandle); /** * Grows the rectangle to included a point. @@ -754,8 +754,8 @@ extern void GHOST_UnionRectangle(GHOST_RectangleHandle rectanglehandle, * @param y The y-coordinate of the point. */ extern void GHOST_UnionPointRectangle(GHOST_RectangleHandle rectanglehandle, - GHOST_TInt32 x, - GHOST_TInt32 y); + GHOST_TInt32 x, + GHOST_TInt32 y); /** * Returns whether the point is inside this rectangle. @@ -766,8 +766,8 @@ extern void GHOST_UnionPointRectangle(GHOST_RectangleHandle rectanglehandle, * @return intean value (true if point is inside). */ extern GHOST_TSuccess GHOST_IsInsideRectangle(GHOST_RectangleHandle rectanglehandle, - GHOST_TInt32 x, - GHOST_TInt32 y); + GHOST_TInt32 x, + GHOST_TInt32 y); /** * Returns whether the rectangle is inside this rectangle. @@ -776,7 +776,7 @@ extern GHOST_TSuccess GHOST_IsInsideRectangle(GHOST_RectangleHandle rectanglehan * @return visibility (not, partially or fully visible). */ extern GHOST_TVisibility GHOST_GetRectangleVisibility(GHOST_RectangleHandle rectanglehandle, - GHOST_RectangleHandle anotherrectanglehandle); + GHOST_RectangleHandle anotherrectanglehandle); /** * Sets rectangle members. @@ -786,8 +786,8 @@ extern GHOST_TVisibility GHOST_GetRectangleVisibility(GHOST_RectangleHandle rect * @param cy requested center y-coordinate of the rectangle */ extern void GHOST_SetCenterRectangle(GHOST_RectangleHandle rectanglehandle, - GHOST_TInt32 cx, - GHOST_TInt32 cy); + GHOST_TInt32 cx, + GHOST_TInt32 cy); /** * Sets rectangle members. @@ -800,10 +800,10 @@ extern void GHOST_SetCenterRectangle(GHOST_RectangleHandle rectanglehandle, * @param h requested height of the rectangle */ extern void GHOST_SetRectangleCenter(GHOST_RectangleHandle rectanglehandle, - GHOST_TInt32 cx, - GHOST_TInt32 cy, - GHOST_TInt32 w, - GHOST_TInt32 h); + GHOST_TInt32 cx, + GHOST_TInt32 cy, + GHOST_TInt32 w, + GHOST_TInt32 h); /** * Clips a rectangle. @@ -814,14 +814,14 @@ extern void GHOST_SetRectangleCenter(GHOST_RectangleHandle rectanglehandle, * @return whether clipping has occurred */ extern GHOST_TSuccess GHOST_ClipRectangle(GHOST_RectangleHandle rectanglehandle, - GHOST_RectangleHandle anotherrectanglehandle); + GHOST_RectangleHandle anotherrectanglehandle); /** * Return the data from the clipboad * @param return the selection instead, X11 only feature * @return clipboard data */ -extern GHOST_TUns8* GHOST_getClipboard(int selection); +extern GHOST_TUns8 *GHOST_getClipboard(int selection); /** * Put data to the Clipboard diff --git a/intern/ghost/GHOST_IEvent.h b/intern/ghost/GHOST_IEvent.h index 05bd3553e01..3c3111a2e6d 100644 --- a/intern/ghost/GHOST_IEvent.h +++ b/intern/ghost/GHOST_IEvent.h @@ -77,7 +77,7 @@ public: * or NULL if it is a 'system' event. * @return The generating window. */ - virtual GHOST_IWindow* getWindow() = 0; + virtual GHOST_IWindow *getWindow() = 0; /** * Returns the event data. @@ -87,8 +87,12 @@ public: #ifdef WITH_CXX_GUARDEDALLOC public: - void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "GHOST:GHOST_IEvent"); } - void operator delete( void *mem ) { MEM_freeN(mem); } + void *operator new(size_t num_bytes) { + return MEM_mallocN(num_bytes, "GHOST:GHOST_IEvent"); + } + void operator delete(void *mem) { + MEM_freeN(mem); + } #endif }; diff --git a/intern/ghost/GHOST_IEventConsumer.h b/intern/ghost/GHOST_IEventConsumer.h index 043cb27d1b2..d437f219f8d 100644 --- a/intern/ghost/GHOST_IEventConsumer.h +++ b/intern/ghost/GHOST_IEventConsumer.h @@ -61,7 +61,7 @@ public: * @param event The event that can be handled or ignored. * @return Indication as to whether the event was handled. */ - virtual bool processEvent(GHOST_IEvent* event) = 0; + virtual bool processEvent(GHOST_IEvent *event) = 0; #ifdef WITH_CXX_GUARDEDALLOC public: diff --git a/intern/ghost/GHOST_ISystem.h b/intern/ghost/GHOST_ISystem.h index 890917f9822..bd4f3aed5aa 100644 --- a/intern/ghost/GHOST_ISystem.h +++ b/intern/ghost/GHOST_ISystem.h @@ -129,12 +129,12 @@ class GHOST_IEventConsumer; * There should be only one system class in an application. * Therefore, the routines to create and dispose the system are static. * Provides: - * -# Time(r) management. - * -# Display/window management (windows are only created on the main display). - * -# Event management. - * -# Cursor shape management (no custom cursors for now). - * -# Access to the state of the mouse buttons and the keyboard. - * -# Menus for windows with events generated when they are accessed (this is + * -# Time(r) management. + * -# Display/window management (windows are only created on the main display). + * -# Event management. + * -# Cursor shape management (no custom cursors for now). + * -# Access to the state of the mouse buttons and the keyboard. + * -# Menus for windows with events generated when they are accessed (this is * work in progress). * @author Maarten Gribnau * @date May 30, 2001 @@ -158,25 +158,27 @@ public: * Returns a pointer to the one and only system (nil if it hasn't been created). * @return A pointer to the system. */ - static GHOST_ISystem* getSystem(); + static GHOST_ISystem *getSystem(); protected: /** * Constructor. * Protected default constructor to force use of static createSystem member. */ - GHOST_ISystem() {} + GHOST_ISystem() { + } /** * Destructor. * Protected default constructor to force use of static dispose member. */ - virtual ~GHOST_ISystem() {} + virtual ~GHOST_ISystem() { + } public: /*************************************************************************************** - ** Time(r) functionality - ***************************************************************************************/ + ** Time(r) functionality + ***************************************************************************************/ /** * Returns the system time. @@ -196,7 +198,7 @@ public: * @param userData Placeholder for user data. * @return A timer task (0 if timer task installation failed). */ - virtual GHOST_ITimerTask* installTimer(GHOST_TUns64 delay, + virtual GHOST_ITimerTask *installTimer(GHOST_TUns64 delay, GHOST_TUns64 interval, GHOST_TimerProcPtr timerProc, GHOST_TUserDataPtr userData = 0) = 0; @@ -206,17 +208,17 @@ public: * @param timerTask Timer task to be removed. * @return Indication of success. */ - virtual GHOST_TSuccess removeTimer(GHOST_ITimerTask* timerTask) = 0; + virtual GHOST_TSuccess removeTimer(GHOST_ITimerTask *timerTask) = 0; /*************************************************************************************** - ** Display/window management functionality - ***************************************************************************************/ + ** Display/window management functionality + ***************************************************************************************/ /** * Returns the number of displays on this system. * @return The number of displays. */ - virtual GHOST_TUns8 getNumDisplays() const = 0; + virtual GHOST_TUns8 getNumDisplays() const = 0; /** * Returns the dimensions of the main display on this system. @@ -237,30 +239,30 @@ public: * @param type The type of drawing context installed in this window. * @param stereoVisual Create a stereo visual for quad buffered stereo. * @param numOfAASamples Number of samples used for AA (zero if no AA) - * @param parentWindow Parent (embedder) window + * @param parentWindow Parent (embedder) window * @return The new window (or 0 if creation failed). */ - virtual GHOST_IWindow* createWindow( - const STR_String& title, - GHOST_TInt32 left, GHOST_TInt32 top, GHOST_TUns32 width, GHOST_TUns32 height, - GHOST_TWindowState state, GHOST_TDrawingContextType type, - const bool stereoVisual = false, - const GHOST_TUns16 numOfAASamples = 0, - const GHOST_TEmbedderWindowID parentWindow = 0) = 0; + virtual GHOST_IWindow *createWindow( + const STR_String& title, + GHOST_TInt32 left, GHOST_TInt32 top, GHOST_TUns32 width, GHOST_TUns32 height, + GHOST_TWindowState state, GHOST_TDrawingContextType type, + const bool stereoVisual = false, + const GHOST_TUns16 numOfAASamples = 0, + const GHOST_TEmbedderWindowID parentWindow = 0) = 0; /** * Dispose a window. * @param window Pointer to the window to be disposed. * @return Indication of success. */ - virtual GHOST_TSuccess disposeWindow(GHOST_IWindow* window) = 0; + virtual GHOST_TSuccess disposeWindow(GHOST_IWindow *window) = 0; /** * Returns whether a window is valid. * @param window Pointer to the window to be checked. * @return Indication of validity. */ - virtual bool validWindow(GHOST_IWindow* window) = 0; + virtual bool validWindow(GHOST_IWindow *window) = 0; /** * Begins full screen mode. @@ -269,8 +271,8 @@ public: * This window is invalid after full screen has been ended. * @return Indication of success. */ - virtual GHOST_TSuccess beginFullScreen(const GHOST_DisplaySetting& setting, GHOST_IWindow** window, - const bool stereoVisual, const GHOST_TUns16 numOfAASamples=0) = 0; + virtual GHOST_TSuccess beginFullScreen(const GHOST_DisplaySetting& setting, GHOST_IWindow **window, + const bool stereoVisual, const GHOST_TUns16 numOfAASamples = 0) = 0; /** * Updates the resolution while in fullscreen mode. @@ -279,7 +281,7 @@ public: * * @return Indication of success. */ - virtual GHOST_TSuccess updateFullScreen(const GHOST_DisplaySetting& setting, GHOST_IWindow** window) = 0; + virtual GHOST_TSuccess updateFullScreen(const GHOST_DisplaySetting& setting, GHOST_IWindow **window) = 0; /** * Ends full screen mode. @@ -294,8 +296,8 @@ public: virtual bool getFullScreen(void) = 0; /*************************************************************************************** - ** Event management functionality - ***************************************************************************************/ + ** Event management functionality + ***************************************************************************************/ /** * Retrieves events from the system and stores them in the queue. @@ -315,18 +317,18 @@ public: * @param consumer The event consumer to add. * @return Indication of success. */ - virtual GHOST_TSuccess addEventConsumer(GHOST_IEventConsumer* consumer) = 0; + virtual GHOST_TSuccess addEventConsumer(GHOST_IEventConsumer *consumer) = 0; /** * Removes the given event consumer to our list. * @param consumer The event consumer to remove. * @return Indication of success. */ - virtual GHOST_TSuccess removeEventConsumer(GHOST_IEventConsumer* consumer) = 0; + virtual GHOST_TSuccess removeEventConsumer(GHOST_IEventConsumer *consumer) = 0; /*************************************************************************************** - ** Cursor management functionality - ***************************************************************************************/ + ** Cursor management functionality + ***************************************************************************************/ /** * Returns the current location of the cursor (location in screen coordinates) @@ -346,8 +348,8 @@ public: virtual GHOST_TSuccess setCursorPosition(GHOST_TInt32 x, GHOST_TInt32 y) = 0; /*************************************************************************************** - ** Access to mouse button and keyboard states. - ***************************************************************************************/ + ** Access to mouse button and keyboard states. + ***************************************************************************************/ /** * Returns the state of a modifier key (ouside the message queue). @@ -377,15 +379,15 @@ public: virtual int toggleConsole(int action) = 0; /*************************************************************************************** - ** Access to clipboard. - ***************************************************************************************/ + ** Access to clipboard. + ***************************************************************************************/ /** * Returns the selection buffer * @return Returns "unsinged char" from X11 XA_CUT_BUFFER0 buffer * */ - virtual GHOST_TUns8* getClipboard(bool selection) const = 0; + virtual GHOST_TUns8 *getClipboard(bool selection) const = 0; /** * Put data to the Clipboard @@ -396,7 +398,7 @@ public: * Confirms quitting he program when there is just one window left open * in the application */ - virtual int confirmQuit(GHOST_IWindow * window) const = 0; + virtual int confirmQuit(GHOST_IWindow *window) const = 0; protected: /** * Initialize the system. @@ -411,12 +413,16 @@ protected: virtual GHOST_TSuccess exit() = 0; /** The one and only system */ - static GHOST_ISystem* m_system; + static GHOST_ISystem *m_system; #ifdef WITH_CXX_GUARDEDALLOC public: - void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "GHOST:GHOST_ISystem"); } - void operator delete( void *mem ) { MEM_freeN(mem); } + void *operator new(size_t num_bytes) { + return MEM_mallocN(num_bytes, "GHOST:GHOST_ISystem"); + } + void operator delete(void *mem) { + MEM_freeN(mem); + } #endif }; diff --git a/intern/ghost/GHOST_ISystemPaths.h b/intern/ghost/GHOST_ISystemPaths.h index dea5436c485..ee8bd9d1eda 100644 --- a/intern/ghost/GHOST_ISystemPaths.h +++ b/intern/ghost/GHOST_ISystemPaths.h @@ -52,50 +52,52 @@ public: * Returns a pointer to the one and only system (nil if it hasn't been created). * @return A pointer to the system. */ - static GHOST_ISystemPaths* get(); + static GHOST_ISystemPaths *get(); protected: /** * Constructor. * Protected default constructor to force use of static createSystem member. */ - GHOST_ISystemPaths() {} + GHOST_ISystemPaths() { + } /** * Destructor. * Protected default constructor to force use of static dispose member. */ - virtual ~GHOST_ISystemPaths() {} + virtual ~GHOST_ISystemPaths() { + } public: /** * Determine the base dir in which shared resources are located. It will first try to use - * "unpack and run" path, then look for properly installed path, not including versioning. + * "unpack and run" path, then look for properly installed path, including versioning. * @return Unsigned char string pointing to system dir (eg /usr/share/blender/). */ - virtual const GHOST_TUns8* getSystemDir() const = 0; + virtual const GHOST_TUns8 *getSystemDir(int version, const char *versionstr) const = 0; /** - * Determine the base dir in which user configuration is stored, not including versioning. + * Determine the base dir in which user configuration is stored, including versioning. * If needed, it will create the base directory. * @return Unsigned char string pointing to user dir (eg ~/.blender/). */ - virtual const GHOST_TUns8* getUserDir() const = 0; + virtual const GHOST_TUns8 *getUserDir(int version, const char *versionstr) const = 0; /** - * Determine the directory of the current binary - * @return Unsigned char string pointing to the binary dir - */ - virtual const GHOST_TUns8* getBinaryDir() const = 0; + * Determine the directory of the current binary + * @return Unsigned char string pointing to the binary dir + */ + virtual const GHOST_TUns8 *getBinaryDir() const = 0; /** * Add the file to the operating system most recently used files */ - virtual void addToSystemRecentFiles(const char* filename) const = 0; + virtual void addToSystemRecentFiles(const char *filename) const = 0; private: /** The one and only system paths*/ - static GHOST_ISystemPaths* m_systemPaths; + static GHOST_ISystemPaths *m_systemPaths; }; #endif diff --git a/intern/ghost/GHOST_ITimerTask.h b/intern/ghost/GHOST_ITimerTask.h index bae41cf84d4..bb4a81be5f8 100644 --- a/intern/ghost/GHOST_ITimerTask.h +++ b/intern/ghost/GHOST_ITimerTask.h @@ -86,8 +86,12 @@ public: #ifdef WITH_CXX_GUARDEDALLOC public: - void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "GHOST:GHOST_ITimerTask"); } - void operator delete( void *mem ) { MEM_freeN(mem); } + void *operator new(size_t num_bytes) { + return MEM_mallocN(num_bytes, "GHOST:GHOST_ITimerTask"); + } + void operator delete(void *mem) { + MEM_freeN(mem); + } #endif }; diff --git a/intern/ghost/GHOST_IWindow.h b/intern/ghost/GHOST_IWindow.h index 4ce8800fef6..e754883504d 100644 --- a/intern/ghost/GHOST_IWindow.h +++ b/intern/ghost/GHOST_IWindow.h @@ -70,13 +70,13 @@ public: * Returns indication as to whether the window is valid. * @return The validity of the window. */ - virtual bool getValid() const = 0; + virtual bool getValid() const = 0; /** * Returns the associated OS object/handle * @return The associated OS object/handle */ - virtual void* getOSWindow() const = 0; + virtual void *getOSWindow() const = 0; /** * Returns the type of drawing context used in this window. @@ -108,33 +108,33 @@ public: * These are screen coordinates. * @param bounds The bounding rectangle of the window. */ - virtual void getWindowBounds(GHOST_Rect& bounds) const = 0; + virtual void getWindowBounds(GHOST_Rect& bounds) const = 0; /** * Returns the client rectangle dimensions. * The left and top members of the rectangle are always zero. * @param bounds The bounding rectangle of the client area of the window. */ - virtual void getClientBounds(GHOST_Rect& bounds) const = 0; + virtual void getClientBounds(GHOST_Rect& bounds) const = 0; /** * Resizes client rectangle width. * @param width The new width of the client area of the window. */ - virtual GHOST_TSuccess setClientWidth(GHOST_TUns32 width) = 0; + virtual GHOST_TSuccess setClientWidth(GHOST_TUns32 width) = 0; /** * Resizes client rectangle height. * @param height The new height of the client area of the window. */ - virtual GHOST_TSuccess setClientHeight(GHOST_TUns32 height) = 0; + virtual GHOST_TSuccess setClientHeight(GHOST_TUns32 height) = 0; /** * Resizes client rectangle. * @param width The new width of the client area of the window. * @param height The new height of the client area of the window. */ - virtual GHOST_TSuccess setClientSize(GHOST_TUns32 width, GHOST_TUns32 height) = 0; + virtual GHOST_TSuccess setClientSize(GHOST_TUns32 width, GHOST_TUns32 height) = 0; /** * Converts a point in screen coordinates to client rectangle coordinates @@ -143,7 +143,7 @@ public: * @param outX The x-coordinate in the client rectangle. * @param outY The y-coordinate in the client rectangle. */ - virtual void screenToClient(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const = 0; + virtual void screenToClient(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const = 0; /** * Converts a point in screen coordinates to client rectangle coordinates @@ -152,7 +152,7 @@ public: * @param outX The x-coordinate on the screen. * @param outY The y-coordinate on the screen. */ - virtual void clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const = 0; + virtual void clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const = 0; /** * Tells if the ongoing drag'n'drop object can be accepted upon mouse drop @@ -232,14 +232,14 @@ public: * Returns the tablet data (pressure etc). * @return The tablet data (pressure etc). */ - virtual const GHOST_TabletData* GetTabletData() = 0; + virtual const GHOST_TabletData *GetTabletData() = 0; /*************************************************************************************** - ** Progress bar functionality - ***************************************************************************************/ + ** Progress bar functionality + ***************************************************************************************/ /** - * Sets the progress bar value displayed in the window/application icon + * Sets the progress bar value displayed in the window/application icon * @param progress The progress % */ virtual GHOST_TSuccess setProgressBar(float progress) = 0; @@ -250,8 +250,8 @@ public: virtual GHOST_TSuccess endProgressBar() = 0; /*************************************************************************************** - ** Cursor management functionality - ***************************************************************************************/ + ** Cursor management functionality + ***************************************************************************************/ /** * Returns the current cursor shape. @@ -275,15 +275,15 @@ public: * @return Indication of success. */ virtual GHOST_TSuccess setCustomCursorShape(GHOST_TUns8 bitmap[16][2], - GHOST_TUns8 mask[16][2], - int hotX, - int hotY) = 0; + GHOST_TUns8 mask[16][2], + int hotX, + int hotY) = 0; virtual GHOST_TSuccess setCustomCursorShape(GHOST_TUns8 *bitmap, - GHOST_TUns8 *mask, - int sizex, int sizey, - int hotX, int hotY, - int fg_color, int bg_color) = 0; + GHOST_TUns8 *mask, + int sizex, int sizey, + int hotX, int hotY, + int fg_color, int bg_color) = 0; /** * Returns the visibility state of the cursor. diff --git a/intern/ghost/GHOST_Path-api.h b/intern/ghost/GHOST_Path-api.h index f1b79a98082..a037f2e3760 100644 --- a/intern/ghost/GHOST_Path-api.h +++ b/intern/ghost/GHOST_Path-api.h @@ -30,7 +30,7 @@ */ -#ifndef __GHOST_PATH_API_H__ +#ifndef __GHOST_PATH_API_H__ #define __GHOST_PATH_API_H__ #include "GHOST_Types.h" @@ -55,28 +55,28 @@ extern GHOST_TSuccess GHOST_DisposeSystemPaths(void); /** * Determine the base dir in which shared resources are located. It will first try to use - * "unpack and run" path, then look for properly installed path, not including versioning. + * "unpack and run" path, then look for properly installed path, including versioning. * @return Unsigned char string pointing to system dir (eg /usr/share/blender/). */ -extern const GHOST_TUns8* GHOST_getSystemDir(void); +extern const GHOST_TUns8 *GHOST_getSystemDir(int version, const char *versionstr); /** - * Determine the base dir in which user configuration is stored, not including versioning. + * Determine the base dir in which user configuration is stored, including versioning. * @return Unsigned char string pointing to user dir (eg ~). */ -extern const GHOST_TUns8* GHOST_getUserDir(void); +extern const GHOST_TUns8 *GHOST_getUserDir(int version, const char *versionstr); /** * Determine the dir in which the binary file is found. * @return Unsigned char string pointing to binary dir (eg ~/usr/local/bin/). */ -extern const GHOST_TUns8* GHOST_getBinaryDir(void); +extern const GHOST_TUns8 *GHOST_getBinaryDir(void); /** -* Add the file to the operating system most recently used files -*/ -extern void GHOST_addToSystemRecentFiles(const char* filename); + * Add the file to the operating system most recently used files + */ +extern void GHOST_addToSystemRecentFiles(const char *filename); #ifdef __cplusplus } diff --git a/intern/ghost/GHOST_Rect.h b/intern/ghost/GHOST_Rect.h index 30d9d16b701..90678c6dfa2 100644 --- a/intern/ghost/GHOST_Rect.h +++ b/intern/ghost/GHOST_Rect.h @@ -55,20 +55,23 @@ public: * @param r requested right coordinate of the rectangle * @param b requested bottom coordinate of the rectangle */ - GHOST_Rect(GHOST_TInt32 l=0, GHOST_TInt32 t=0, GHOST_TInt32 r=0, GHOST_TInt32 b=0) - : m_l(l), m_t(t), m_r(r), m_b(b) {} + GHOST_Rect(GHOST_TInt32 l = 0, GHOST_TInt32 t = 0, GHOST_TInt32 r = 0, GHOST_TInt32 b = 0) + : m_l(l), m_t(t), m_r(r), m_b(b) + {} /** * Copy constructor. * @param r rectangle to copy */ GHOST_Rect(const GHOST_Rect& r) - : m_l(r.m_l), m_t(r.m_t), m_r(r.m_r), m_b(r.m_b) {} + : m_l(r.m_l), m_t(r.m_t), m_r(r.m_r), m_b(r.m_b) + {} /** * Destructor. */ - virtual ~GHOST_Rect() {}; + virtual ~GHOST_Rect() + {}; /** * Access to rectangle width. @@ -155,7 +158,7 @@ public: * @param cx requested center x-coordinate of the rectangle * @param cy requested center y-coordinate of the rectangle */ - virtual void setCenter(GHOST_TInt32 cx, GHOST_TInt32 cy); + virtual void setCenter(GHOST_TInt32 cx, GHOST_TInt32 cy); /** * Sets rectangle members. @@ -166,7 +169,7 @@ public: * @param w requested width of the rectangle * @param h requested height of the rectangle */ - virtual void setCenter(GHOST_TInt32 cx, GHOST_TInt32 cy, GHOST_TInt32 w, GHOST_TInt32 h); + virtual void setCenter(GHOST_TInt32 cx, GHOST_TInt32 cy, GHOST_TInt32 w, GHOST_TInt32 h); /** * Clips a rectangle. @@ -175,7 +178,7 @@ public: * @param r the rectangle to clip * @return whether clipping has occurred */ - virtual bool clip(GHOST_Rect& r) const; + virtual bool clip(GHOST_Rect& r) const; /** Left coordinate of the rectangle */ GHOST_TInt32 m_l; @@ -209,7 +212,7 @@ inline void GHOST_Rect::set(GHOST_TInt32 l, GHOST_TInt32 t, GHOST_TInt32 r, GHOS m_l = l; m_t = t; m_r = r; m_b = b; } -inline bool GHOST_Rect::isEmpty() const +inline bool GHOST_Rect::isEmpty() const { return (getWidth() == 0) || (getHeight() == 0); } @@ -237,18 +240,18 @@ inline void GHOST_Rect::unionPoint(GHOST_TInt32 x, GHOST_TInt32 y) #include <stdio.h> inline void GHOST_Rect::wrapPoint(GHOST_TInt32 &x, GHOST_TInt32 &y, GHOST_TInt32 ofs) { - GHOST_TInt32 w= getWidth(); - GHOST_TInt32 h= getHeight(); + GHOST_TInt32 w = getWidth(); + GHOST_TInt32 h = getHeight(); /* highly unlikely but avoid eternal loop */ - if (w-ofs*2 <= 0 || h-ofs*2 <= 0) { + if (w - ofs * 2 <= 0 || h - ofs * 2 <= 0) { return; } - while(x-ofs < m_l) x+= w-(ofs*2); - while(y-ofs < m_t) y+= h-(ofs*2); - while(x+ofs > m_r) x-= w-(ofs*2); - while(y+ofs > m_b) y-= h-(ofs*2); + while (x - ofs < m_l) x += w - (ofs * 2); + while (y - ofs < m_t) y += h - (ofs * 2); + while (x + ofs > m_r) x -= w - (ofs * 2); + while (y + ofs > m_b) y -= h - (ofs * 2); } inline bool GHOST_Rect::isInside(GHOST_TInt32 x, GHOST_TInt32 y) const diff --git a/intern/ghost/GHOST_Types.h b/intern/ghost/GHOST_Types.h index 583bfdf1f84..7614cb80e00 100644 --- a/intern/ghost/GHOST_Types.h +++ b/intern/ghost/GHOST_Types.h @@ -39,22 +39,22 @@ #define GHOST_DECLARE_HANDLE(name) typedef struct name##__ { int unused; } *name -typedef char GHOST_TInt8; -typedef unsigned char GHOST_TUns8; -typedef short GHOST_TInt16; -typedef unsigned short GHOST_TUns16; -typedef int GHOST_TInt32; -typedef unsigned int GHOST_TUns32; +typedef char GHOST_TInt8; +typedef unsigned char GHOST_TUns8; +typedef short GHOST_TInt16; +typedef unsigned short GHOST_TUns16; +typedef int GHOST_TInt32; +typedef unsigned int GHOST_TUns32; #if defined(WIN32) && !defined(FREE_WINDOWS) -typedef __int64 GHOST_TInt64; -typedef unsigned __int64 GHOST_TUns64; +typedef __int64 GHOST_TInt64; +typedef unsigned __int64 GHOST_TUns64; #else -typedef long long GHOST_TInt64; -typedef unsigned long long GHOST_TUns64; +typedef long long GHOST_TInt64; +typedef unsigned long long GHOST_TUns64; #endif -typedef void* GHOST_TUserDataPtr; +typedef void *GHOST_TUserDataPtr; typedef enum { @@ -77,9 +77,9 @@ typedef enum { typedef struct GHOST_TabletData { GHOST_TTabletMode Active; /* 0=None, 1=Stylus, 2=Eraser */ - float Pressure; /* range 0.0 (not touching) to 1.0 (full pressure) */ - float Xtilt; /* range 0.0 (upright) to 1.0 (tilted fully against the tablet surface) */ - float Ytilt; /* as above */ + float Pressure; /* range 0.0 (not touching) to 1.0 (full pressure) */ + float Xtilt; /* range 0.0 (upright) to 1.0 (tilted fully against the tablet surface) */ + float Ytilt; /* as above */ } GHOST_TabletData; @@ -152,14 +152,14 @@ typedef enum { typedef enum { GHOST_kEventUnknown = 0, - GHOST_kEventCursorMove, /// Mouse move event - GHOST_kEventButtonDown, /// Mouse button event - GHOST_kEventButtonUp, /// Mouse button event - GHOST_kEventWheel, /// Mouse wheel event - GHOST_kEventTrackpad, /// Trackpad event + GHOST_kEventCursorMove, /// Mouse move event + GHOST_kEventButtonDown, /// Mouse button event + GHOST_kEventButtonUp, /// Mouse button event + GHOST_kEventWheel, /// Mouse wheel event + GHOST_kEventTrackpad, /// Trackpad event - GHOST_kEventNDOFMotion, /// N degree of freedom device motion event - GHOST_kEventNDOFButton, /// N degree of freedom device button event + GHOST_kEventNDOFMotion, /// N degree of freedom device motion event + GHOST_kEventNDOFButton, /// N degree of freedom device button event GHOST_kEventKeyDown, GHOST_kEventKeyUp, @@ -289,8 +289,8 @@ typedef enum { GHOST_kKeyRightControl, GHOST_kKeyLeftAlt, GHOST_kKeyRightAlt, - GHOST_kKeyOS, // Command key on Apple, Windows key(s) on Windows - GHOST_kKeyGrLess , // German PC only! + GHOST_kKeyOS, // Command key on Apple, Windows key(s) on Windows + GHOST_kKeyGrLess, // German PC only! GHOST_kKeyCapsLock, GHOST_kKeyNumLock, @@ -363,13 +363,13 @@ typedef enum { } GHOST_TKey; typedef enum { - GHOST_kGrabDisable = 0, /* grab not set */ - GHOST_kGrabNormal, /* no cursor adjustments */ - GHOST_kGrabWrap, /* wrap the mouse location to prevent limiting screen bounds */ - GHOST_kGrabHide, /* hide the mouse while grabbing and restore the original location on release (numbuts) */ + GHOST_kGrabDisable = 0, /* grab not set */ + GHOST_kGrabNormal, /* no cursor adjustments */ + GHOST_kGrabWrap, /* wrap the mouse location to prevent limiting screen bounds */ + GHOST_kGrabHide, /* hide the mouse while grabbing and restore the original location on release (numbuts) */ } GHOST_TGrabCursorMode; -typedef void* GHOST_TEventDataPtr; +typedef void *GHOST_TEventDataPtr; typedef struct { /** The x-coordinate of the cursor position. */ @@ -389,7 +389,7 @@ typedef struct { } GHOST_TEventWheelData; typedef enum { - GHOST_kTrackpadEventUnknown =0, + GHOST_kTrackpadEventUnknown = 0, GHOST_kTrackpadEventScroll, GHOST_kTrackpadEventRotate, GHOST_kTrackpadEventSwipe, /* Reserved, not used for now */ @@ -412,7 +412,7 @@ typedef struct { typedef enum { - GHOST_kDragnDropTypeUnknown =0, + GHOST_kDragnDropTypeUnknown = 0, GHOST_kDragnDropTypeFilenames, /*Array of strings representing file names (full path) */ GHOST_kDragnDropTypeString, /* Unformatted text UTF-8 string */ GHOST_kDragnDropTypeBitmap /*Bitmap image data */ @@ -440,7 +440,7 @@ typedef enum { GHOST_kInProgress, GHOST_kFinishing, GHOST_kFinished - } GHOST_TProgress; +} GHOST_TProgress; typedef struct { /** N-degree of freedom device data v3 [GSoC 2010] */ @@ -448,14 +448,14 @@ typedef struct { // These use blender standard view coordinates, with positive rotations being CCW about the axis. float tx, ty, tz; // translation float rx, ry, rz; // rotation: - // axis = (rx,ry,rz).normalized - // amount = (rx,ry,rz).magnitude [in revolutions, 1.0 = 360 deg] + // axis = (rx,ry,rz).normalized + // amount = (rx,ry,rz).magnitude [in revolutions, 1.0 = 360 deg] float dt; // time since previous NDOF Motion event GHOST_TProgress progress; // Starting, InProgress or Finishing (for modal handlers) } GHOST_TEventNDOFMotionData; typedef enum { GHOST_kPress, GHOST_kRelease } GHOST_TButtonAction; - // good for mouse or other buttons too, hmmm? +// good for mouse or other buttons too, hmmm? typedef struct { GHOST_TButtonAction action; @@ -464,7 +464,7 @@ typedef struct { typedef struct { /** The key code. */ - GHOST_TKey key; + GHOST_TKey key; /* ascii / utf8: both should always be set when possible, * - ascii may be '\0' however if the user presses a non ascii key @@ -476,20 +476,20 @@ typedef struct { * use ascii, unicode is ignored - campbell. */ /** The ascii code for the key event ('\0' if none). */ - char ascii; + char ascii; /** The unicode character. if the length is 6, not NULL terminated if all 6 are set */ - char utf8_buf[6]; + char utf8_buf[6]; } GHOST_TEventKeyData; typedef struct { /** Number of pixels on a line. */ - GHOST_TUns32 xPixels; + GHOST_TUns32 xPixels; /** Number of lines. */ - GHOST_TUns32 yPixels; + GHOST_TUns32 yPixels; /** Numberof bits per pixel. */ - GHOST_TUns32 bpp; + GHOST_TUns32 bpp; /** Refresh rate (in Hertz). */ - GHOST_TUns32 frequency; + GHOST_TUns32 frequency; } GHOST_DisplaySetting; @@ -509,10 +509,10 @@ typedef int GHOST_TEmbedderWindowID; */ #ifdef __cplusplus class GHOST_ITimerTask; -typedef void (*GHOST_TimerProcPtr)(GHOST_ITimerTask* task, GHOST_TUns64 time); +typedef void (*GHOST_TimerProcPtr)(GHOST_ITimerTask *task, GHOST_TUns64 time); #else struct GHOST_TimerTaskHandle__; -typedef void (*GHOST_TimerProcPtr)(struct GHOST_TimerTaskHandle__* task, GHOST_TUns64 time); +typedef void (*GHOST_TimerProcPtr)(struct GHOST_TimerTaskHandle__ *task, GHOST_TUns64 time); #endif #endif // __GHOST_TYPES_H__ diff --git a/intern/ghost/intern/GHOST_Buttons.cpp b/intern/ghost/intern/GHOST_Buttons.cpp index 1f56cf44b56..6b90383ee6b 100644 --- a/intern/ghost/intern/GHOST_Buttons.cpp +++ b/intern/ghost/intern/GHOST_Buttons.cpp @@ -42,37 +42,38 @@ GHOST_Buttons::GHOST_Buttons() bool GHOST_Buttons::get(GHOST_TButtonMask mask) const { - switch (mask) { - case GHOST_kButtonMaskLeft: - return m_ButtonLeft; - case GHOST_kButtonMaskMiddle: - return m_ButtonMiddle; - case GHOST_kButtonMaskRight: - return m_ButtonRight; - default: - return false; - } + switch (mask) { + case GHOST_kButtonMaskLeft: + return m_ButtonLeft; + case GHOST_kButtonMaskMiddle: + return m_ButtonMiddle; + case GHOST_kButtonMaskRight: + return m_ButtonRight; + default: + return false; + } } void GHOST_Buttons::set(GHOST_TButtonMask mask, bool down) { - switch (mask) { - case GHOST_kButtonMaskLeft: - m_ButtonLeft = down; break; - case GHOST_kButtonMaskMiddle: - m_ButtonMiddle = down; break; - case GHOST_kButtonMaskRight: - m_ButtonRight = down; break; - default: - break; - } + switch (mask) { + case GHOST_kButtonMaskLeft: + m_ButtonLeft = down; break; + case GHOST_kButtonMaskMiddle: + m_ButtonMiddle = down; break; + case GHOST_kButtonMaskRight: + m_ButtonRight = down; break; + default: + break; + } } void GHOST_Buttons::clear() { - m_ButtonLeft = false; - m_ButtonMiddle = false; - m_ButtonRight = false; + m_ButtonLeft = false; + m_ButtonMiddle = false; + m_ButtonRight = false; } -GHOST_Buttons::~GHOST_Buttons() {} +GHOST_Buttons::~GHOST_Buttons() { +} diff --git a/intern/ghost/intern/GHOST_Buttons.h b/intern/ghost/intern/GHOST_Buttons.h index ea1cce574b8..edcf0102201 100644 --- a/intern/ghost/intern/GHOST_Buttons.h +++ b/intern/ghost/intern/GHOST_Buttons.h @@ -69,9 +69,9 @@ struct GHOST_Buttons { */ virtual void clear(); - GHOST_TUns8 m_ButtonLeft : 1; - GHOST_TUns8 m_ButtonMiddle : 1; - GHOST_TUns8 m_ButtonRight : 1; + GHOST_TUns8 m_ButtonLeft : 1; + GHOST_TUns8 m_ButtonMiddle : 1; + GHOST_TUns8 m_ButtonRight : 1; }; #endif // __GHOST_BUTTONS_H__ diff --git a/intern/ghost/intern/GHOST_C-api.cpp b/intern/ghost/intern/GHOST_C-api.cpp index 8442f82d886..ad43798bc60 100644 --- a/intern/ghost/intern/GHOST_C-api.cpp +++ b/intern/ghost/intern/GHOST_C-api.cpp @@ -50,7 +50,7 @@ GHOST_SystemHandle GHOST_CreateSystem(void) { GHOST_ISystem::createSystem(); - GHOST_ISystem* system = GHOST_ISystem::getSystem(); + GHOST_ISystem *system = GHOST_ISystem::getSystem(); return (GHOST_SystemHandle)system; } @@ -59,7 +59,7 @@ GHOST_SystemHandle GHOST_CreateSystem(void) GHOST_TSuccess GHOST_DisposeSystem(GHOST_SystemHandle systemhandle) { - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; return system->disposeSystem(); } @@ -68,20 +68,20 @@ GHOST_TSuccess GHOST_DisposeSystem(GHOST_SystemHandle systemhandle) GHOST_EventConsumerHandle GHOST_CreateEventConsumer(GHOST_EventCallbackProcPtr eventCallback, GHOST_TUserDataPtr userdata) { - return (GHOST_EventConsumerHandle) new GHOST_CallbackEventConsumer (eventCallback, userdata); + return (GHOST_EventConsumerHandle) new GHOST_CallbackEventConsumer(eventCallback, userdata); } GHOST_TSuccess GHOST_DisposeEventConsumer(GHOST_EventConsumerHandle consumerhandle) { - delete ((GHOST_CallbackEventConsumer*)consumerhandle); + delete ((GHOST_CallbackEventConsumer *)consumerhandle); return GHOST_kSuccess; } GHOST_TUns64 GHOST_GetMilliSeconds(GHOST_SystemHandle systemhandle) { - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; return system->getMilliSeconds(); } @@ -89,12 +89,12 @@ GHOST_TUns64 GHOST_GetMilliSeconds(GHOST_SystemHandle systemhandle) GHOST_TimerTaskHandle GHOST_InstallTimer(GHOST_SystemHandle systemhandle, - GHOST_TUns64 delay, - GHOST_TUns64 interval, - GHOST_TimerProcPtr timerproc, - GHOST_TUserDataPtr userdata) + GHOST_TUns64 delay, + GHOST_TUns64 interval, + GHOST_TimerProcPtr timerproc, + GHOST_TUserDataPtr userdata) { - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; return (GHOST_TimerTaskHandle) system->installTimer(delay, interval, timerproc, userdata); } @@ -102,10 +102,10 @@ GHOST_TimerTaskHandle GHOST_InstallTimer(GHOST_SystemHandle systemhandle, GHOST_TSuccess GHOST_RemoveTimer(GHOST_SystemHandle systemhandle, - GHOST_TimerTaskHandle timertaskhandle) + GHOST_TimerTaskHandle timertaskhandle) { - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; - GHOST_ITimerTask* timertask = (GHOST_ITimerTask*) timertaskhandle; + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; + GHOST_ITimerTask *timertask = (GHOST_ITimerTask *) timertaskhandle; return system->removeTimer(timertask); } @@ -114,7 +114,7 @@ GHOST_TSuccess GHOST_RemoveTimer(GHOST_SystemHandle systemhandle, GHOST_TUns8 GHOST_GetNumDisplays(GHOST_SystemHandle systemhandle) { - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; return system->getNumDisplays(); } @@ -122,10 +122,10 @@ GHOST_TUns8 GHOST_GetNumDisplays(GHOST_SystemHandle systemhandle) void GHOST_GetMainDisplayDimensions(GHOST_SystemHandle systemhandle, - GHOST_TUns32* width, - GHOST_TUns32* height) + GHOST_TUns32 *width, + GHOST_TUns32 *height) { - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; system->getMainDisplayDimensions(*width, *height); } @@ -133,46 +133,46 @@ void GHOST_GetMainDisplayDimensions(GHOST_SystemHandle systemhandle, GHOST_WindowHandle GHOST_CreateWindow(GHOST_SystemHandle systemhandle, - const char* title, - GHOST_TInt32 left, - GHOST_TInt32 top, - GHOST_TUns32 width, - GHOST_TUns32 height, - GHOST_TWindowState state, - GHOST_TDrawingContextType type, - const int stereoVisual, - const GHOST_TUns16 numOfAASamples) -{ - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; + const char *title, + GHOST_TInt32 left, + GHOST_TInt32 top, + GHOST_TUns32 width, + GHOST_TUns32 height, + GHOST_TWindowState state, + GHOST_TDrawingContextType type, + const int stereoVisual, + const GHOST_TUns16 numOfAASamples) +{ + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; bool bstereoVisual; - if(stereoVisual) + if (stereoVisual) bstereoVisual = true; else bstereoVisual = false; return (GHOST_WindowHandle) system->createWindow(title, left, top, width, height, - state, type, bstereoVisual, numOfAASamples); + state, type, bstereoVisual, numOfAASamples); } GHOST_TUserDataPtr GHOST_GetWindowUserData(GHOST_WindowHandle windowhandle) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return window->getUserData(); } void GHOST_SetWindowUserData(GHOST_WindowHandle windowhandle, GHOST_TUserDataPtr userdata) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; window->setUserData(userdata); } GHOST_TSuccess GHOST_DisposeWindow(GHOST_SystemHandle systemhandle, - GHOST_WindowHandle windowhandle) + GHOST_WindowHandle windowhandle) { - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return system->disposeWindow(window); } @@ -180,10 +180,10 @@ GHOST_TSuccess GHOST_DisposeWindow(GHOST_SystemHandle systemhandle, int GHOST_ValidWindow(GHOST_SystemHandle systemhandle, - GHOST_WindowHandle windowhandle) + GHOST_WindowHandle windowhandle) { - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return (int) system->validWindow(window); } @@ -191,14 +191,14 @@ int GHOST_ValidWindow(GHOST_SystemHandle systemhandle, GHOST_WindowHandle GHOST_BeginFullScreen(GHOST_SystemHandle systemhandle, - GHOST_DisplaySetting* setting, - const int stereoVisual) + GHOST_DisplaySetting *setting, + const int stereoVisual) { - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; - GHOST_IWindow* window = NULL; + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; + GHOST_IWindow *window = NULL; bool bstereoVisual; - if(stereoVisual) + if (stereoVisual) bstereoVisual = true; else bstereoVisual = false; @@ -212,7 +212,7 @@ GHOST_WindowHandle GHOST_BeginFullScreen(GHOST_SystemHandle systemhandle, GHOST_TSuccess GHOST_EndFullScreen(GHOST_SystemHandle systemhandle) { - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; return system->endFullScreen(); } @@ -221,7 +221,7 @@ GHOST_TSuccess GHOST_EndFullScreen(GHOST_SystemHandle systemhandle) int GHOST_GetFullScreen(GHOST_SystemHandle systemhandle) { - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; return (int) system->getFullScreen(); } @@ -230,16 +230,16 @@ int GHOST_GetFullScreen(GHOST_SystemHandle systemhandle) int GHOST_ProcessEvents(GHOST_SystemHandle systemhandle, int waitForEvent) { - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; - return (int) system->processEvents(waitForEvent?true:false); + return (int) system->processEvents(waitForEvent ? true : false); } int GHOST_DispatchEvents(GHOST_SystemHandle systemhandle) { - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; return (int) system->dispatchEvents(); } @@ -247,28 +247,28 @@ int GHOST_DispatchEvents(GHOST_SystemHandle systemhandle) GHOST_TSuccess GHOST_AddEventConsumer(GHOST_SystemHandle systemhandle, GHOST_EventConsumerHandle consumerhandle) { - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; - return system->addEventConsumer((GHOST_CallbackEventConsumer*)consumerhandle); + return system->addEventConsumer((GHOST_CallbackEventConsumer *)consumerhandle); } GHOST_TSuccess GHOST_RemoveEventConsumer(GHOST_SystemHandle systemhandle, GHOST_EventConsumerHandle consumerhandle) { - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; - return system->removeEventConsumer((GHOST_CallbackEventConsumer*)consumerhandle); + return system->removeEventConsumer((GHOST_CallbackEventConsumer *)consumerhandle); } -GHOST_TSuccess GHOST_SetProgressBar(GHOST_WindowHandle windowhandle,float progress) +GHOST_TSuccess GHOST_SetProgressBar(GHOST_WindowHandle windowhandle, float progress) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return window->setProgressBar(progress); } GHOST_TSuccess GHOST_EndProgressBar(GHOST_WindowHandle windowhandle) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return window->endProgressBar(); } @@ -276,7 +276,7 @@ GHOST_TSuccess GHOST_EndProgressBar(GHOST_WindowHandle windowhandle) GHOST_TStandardCursor GHOST_GetCursorShape(GHOST_WindowHandle windowhandle) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return window->getCursorShape(); } @@ -284,45 +284,45 @@ GHOST_TStandardCursor GHOST_GetCursorShape(GHOST_WindowHandle windowhandle) GHOST_TSuccess GHOST_SetCursorShape(GHOST_WindowHandle windowhandle, - GHOST_TStandardCursor cursorshape) + GHOST_TStandardCursor cursorshape) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return window->setCursorShape(cursorshape); } GHOST_TSuccess GHOST_SetCustomCursorShape(GHOST_WindowHandle windowhandle, - GHOST_TUns8 bitmap[16][2], - GHOST_TUns8 mask[16][2], - int hotX, - int hotY) + GHOST_TUns8 bitmap[16][2], + GHOST_TUns8 mask[16][2], + int hotX, + int hotY) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return window->setCustomCursorShape(bitmap, mask, hotX, hotY); } GHOST_TSuccess GHOST_SetCustomCursorShapeEx(GHOST_WindowHandle windowhandle, - GHOST_TUns8 *bitmap, - GHOST_TUns8 *mask, - int sizex, - int sizey, - int hotX, - int hotY, - int fg_color, - int bg_color) + GHOST_TUns8 *bitmap, + GHOST_TUns8 *mask, + int sizex, + int sizey, + int hotX, + int hotY, + int fg_color, + int bg_color) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; - return window->setCustomCursorShape(bitmap, mask, sizex, sizey, - hotX, hotY, fg_color, bg_color); + return window->setCustomCursorShape(bitmap, mask, sizex, sizey, + hotX, hotY, fg_color, bg_color); } int GHOST_GetCursorVisibility(GHOST_WindowHandle windowhandle) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return (int) window->getCursorVisibility(); } @@ -330,20 +330,20 @@ int GHOST_GetCursorVisibility(GHOST_WindowHandle windowhandle) GHOST_TSuccess GHOST_SetCursorVisibility(GHOST_WindowHandle windowhandle, - int visible) + int visible) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; - return window->setCursorVisibility(visible?true:false); + return window->setCursorVisibility(visible ? true : false); } GHOST_TSuccess GHOST_GetCursorPosition(GHOST_SystemHandle systemhandle, - GHOST_TInt32* x, - GHOST_TInt32* y) + GHOST_TInt32 *x, + GHOST_TInt32 *y) { - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; return system->getCursorPosition(*x, *y); } @@ -351,23 +351,23 @@ GHOST_TSuccess GHOST_GetCursorPosition(GHOST_SystemHandle systemhandle, GHOST_TSuccess GHOST_SetCursorPosition(GHOST_SystemHandle systemhandle, - GHOST_TInt32 x, - GHOST_TInt32 y) + GHOST_TInt32 x, + GHOST_TInt32 y) { - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; return system->setCursorPosition(x, y); } GHOST_TSuccess GHOST_SetCursorGrab(GHOST_WindowHandle windowhandle, - GHOST_TGrabCursorMode mode, - int *bounds) + GHOST_TGrabCursorMode mode, + int *bounds) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; GHOST_Rect bounds_rect, bounds_win; - if(bounds) { + if (bounds) { /* if this is X11 specific we need a function that converts */ window->getClientBounds(bounds_win); window->clientToScreen(bounds[0], bounds_win.getHeight() - bounds[1], bounds_rect.m_l, bounds_rect.m_t); @@ -375,17 +375,17 @@ GHOST_TSuccess GHOST_SetCursorGrab(GHOST_WindowHandle windowhandle, } - return window->setCursorGrab(mode, bounds ? &bounds_rect:NULL); + return window->setCursorGrab(mode, bounds ? &bounds_rect : NULL); } GHOST_TSuccess GHOST_GetModifierKeyState(GHOST_SystemHandle systemhandle, - GHOST_TModifierKeyMask mask, - int* isDown) + GHOST_TModifierKeyMask mask, + int *isDown) { - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; GHOST_TSuccess result; - bool isdown= false; + bool isdown = false; result = system->getModifierKeyState(mask, isdown); *isDown = (int) isdown; @@ -396,12 +396,12 @@ GHOST_TSuccess GHOST_GetModifierKeyState(GHOST_SystemHandle systemhandle, GHOST_TSuccess GHOST_GetButtonState(GHOST_SystemHandle systemhandle, - GHOST_TButtonMask mask, - int* isDown) + GHOST_TButtonMask mask, + int *isDown) { - GHOST_ISystem* system = (GHOST_ISystem*) systemhandle; + GHOST_ISystem *system = (GHOST_ISystem *) systemhandle; GHOST_TSuccess result; - bool isdown= false; + bool isdown = false; result = system->getButtonState(mask, isdown); *isDown = (int) isdown; @@ -412,7 +412,7 @@ GHOST_TSuccess GHOST_GetButtonState(GHOST_SystemHandle systemhandle, void GHOST_setAcceptDragOperation(GHOST_WindowHandle windowhandle, GHOST_TInt8 canAccept) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; window->setAcceptDragOperation(canAccept); } @@ -420,7 +420,7 @@ void GHOST_setAcceptDragOperation(GHOST_WindowHandle windowhandle, GHOST_TInt8 c GHOST_TEventType GHOST_GetEventType(GHOST_EventHandle eventhandle) { - GHOST_IEvent* event = (GHOST_IEvent*) eventhandle; + GHOST_IEvent *event = (GHOST_IEvent *) eventhandle; return event->getType(); } @@ -429,7 +429,7 @@ GHOST_TEventType GHOST_GetEventType(GHOST_EventHandle eventhandle) GHOST_TUns64 GHOST_GetEventTime(GHOST_EventHandle eventhandle) { - GHOST_IEvent* event = (GHOST_IEvent*) eventhandle; + GHOST_IEvent *event = (GHOST_IEvent *) eventhandle; return event->getTime(); } @@ -437,7 +437,7 @@ GHOST_TUns64 GHOST_GetEventTime(GHOST_EventHandle eventhandle) GHOST_WindowHandle GHOST_GetEventWindow(GHOST_EventHandle eventhandle) { - GHOST_IEvent* event = (GHOST_IEvent*) eventhandle; + GHOST_IEvent *event = (GHOST_IEvent *) eventhandle; return (GHOST_WindowHandle) event->getWindow(); } @@ -445,7 +445,7 @@ GHOST_WindowHandle GHOST_GetEventWindow(GHOST_EventHandle eventhandle) GHOST_TEventDataPtr GHOST_GetEventData(GHOST_EventHandle eventhandle) { - GHOST_IEvent* event = (GHOST_IEvent*) eventhandle; + GHOST_IEvent *event = (GHOST_IEvent *) eventhandle; return event->getData(); } @@ -454,7 +454,7 @@ GHOST_TEventDataPtr GHOST_GetEventData(GHOST_EventHandle eventhandle) GHOST_TimerProcPtr GHOST_GetTimerProc(GHOST_TimerTaskHandle timertaskhandle) { - GHOST_ITimerTask* timertask = (GHOST_ITimerTask*) timertaskhandle; + GHOST_ITimerTask *timertask = (GHOST_ITimerTask *) timertaskhandle; return timertask->getTimerProc(); } @@ -462,9 +462,9 @@ GHOST_TimerProcPtr GHOST_GetTimerProc(GHOST_TimerTaskHandle timertaskhandle) void GHOST_SetTimerProc(GHOST_TimerTaskHandle timertaskhandle, - GHOST_TimerProcPtr timerproc) + GHOST_TimerProcPtr timerproc) { - GHOST_ITimerTask* timertask = (GHOST_ITimerTask*) timertaskhandle; + GHOST_ITimerTask *timertask = (GHOST_ITimerTask *) timertaskhandle; timertask->setTimerProc(timerproc); } @@ -473,17 +473,17 @@ void GHOST_SetTimerProc(GHOST_TimerTaskHandle timertaskhandle, GHOST_TUserDataPtr GHOST_GetTimerTaskUserData(GHOST_TimerTaskHandle timertaskhandle) { - GHOST_ITimerTask* timertask = (GHOST_ITimerTask*) timertaskhandle; + GHOST_ITimerTask *timertask = (GHOST_ITimerTask *) timertaskhandle; return timertask->getUserData(); } - + void GHOST_SetTimerTaskUserData(GHOST_TimerTaskHandle timertaskhandle, - GHOST_TUserDataPtr userdata) + GHOST_TUserDataPtr userdata) { - GHOST_ITimerTask* timertask = (GHOST_ITimerTask*) timertaskhandle; + GHOST_ITimerTask *timertask = (GHOST_ITimerTask *) timertaskhandle; timertask->setUserData(userdata); } @@ -492,7 +492,7 @@ void GHOST_SetTimerTaskUserData(GHOST_TimerTaskHandle timertaskhandle, int GHOST_GetValid(GHOST_WindowHandle windowhandle) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return (int) window->getValid(); } @@ -501,7 +501,7 @@ int GHOST_GetValid(GHOST_WindowHandle windowhandle) GHOST_TDrawingContextType GHOST_GetDrawingContextType(GHOST_WindowHandle windowhandle) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return window->getDrawingContextType(); } @@ -509,9 +509,9 @@ GHOST_TDrawingContextType GHOST_GetDrawingContextType(GHOST_WindowHandle windowh GHOST_TSuccess GHOST_SetDrawingContextType(GHOST_WindowHandle windowhandle, - GHOST_TDrawingContextType type) + GHOST_TDrawingContextType type) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return window->setDrawingContextType(type); } @@ -519,26 +519,26 @@ GHOST_TSuccess GHOST_SetDrawingContextType(GHOST_WindowHandle windowhandle, void GHOST_SetTitle(GHOST_WindowHandle windowhandle, - const char* title) + const char *title) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; window->setTitle(title); } -char* GHOST_GetTitle(GHOST_WindowHandle windowhandle) +char *GHOST_GetTitle(GHOST_WindowHandle windowhandle) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; STR_String title; window->getTitle(title); - char *ctitle = (char*) malloc(title.Length() + 1); + char *ctitle = (char *) malloc(title.Length() + 1); if (ctitle == NULL) return NULL; strcpy(ctitle, title.Ptr()); - + return ctitle; } @@ -546,8 +546,8 @@ char* GHOST_GetTitle(GHOST_WindowHandle windowhandle) GHOST_RectangleHandle GHOST_GetWindowBounds(GHOST_WindowHandle windowhandle) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; - GHOST_Rect* rectangle = NULL; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; + GHOST_Rect *rectangle = NULL; rectangle = new GHOST_Rect(); window->getWindowBounds(*rectangle); @@ -559,8 +559,8 @@ GHOST_RectangleHandle GHOST_GetWindowBounds(GHOST_WindowHandle windowhandle) GHOST_RectangleHandle GHOST_GetClientBounds(GHOST_WindowHandle windowhandle) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; - GHOST_Rect* rectangle = NULL; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; + GHOST_Rect *rectangle = NULL; rectangle = new GHOST_Rect(); window->getClientBounds(*rectangle); @@ -572,15 +572,15 @@ GHOST_RectangleHandle GHOST_GetClientBounds(GHOST_WindowHandle windowhandle) void GHOST_DisposeRectangle(GHOST_RectangleHandle rectanglehandle) { - delete (GHOST_Rect*) rectanglehandle; + delete (GHOST_Rect *) rectanglehandle; } GHOST_TSuccess GHOST_SetClientWidth(GHOST_WindowHandle windowhandle, - GHOST_TUns32 width) + GHOST_TUns32 width) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return window->setClientWidth(width); } @@ -588,9 +588,9 @@ GHOST_TSuccess GHOST_SetClientWidth(GHOST_WindowHandle windowhandle, GHOST_TSuccess GHOST_SetClientHeight(GHOST_WindowHandle windowhandle, - GHOST_TUns32 height) + GHOST_TUns32 height) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return window->setClientHeight(height); } @@ -598,10 +598,10 @@ GHOST_TSuccess GHOST_SetClientHeight(GHOST_WindowHandle windowhandle, GHOST_TSuccess GHOST_SetClientSize(GHOST_WindowHandle windowhandle, - GHOST_TUns32 width, - GHOST_TUns32 height) + GHOST_TUns32 width, + GHOST_TUns32 height) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return window->setClientSize(width, height); } @@ -609,12 +609,12 @@ GHOST_TSuccess GHOST_SetClientSize(GHOST_WindowHandle windowhandle, void GHOST_ScreenToClient(GHOST_WindowHandle windowhandle, - GHOST_TInt32 inX, - GHOST_TInt32 inY, - GHOST_TInt32* outX, - GHOST_TInt32* outY) + GHOST_TInt32 inX, + GHOST_TInt32 inY, + GHOST_TInt32 *outX, + GHOST_TInt32 *outY) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; window->screenToClient(inX, inY, *outX, *outY); } @@ -622,12 +622,12 @@ void GHOST_ScreenToClient(GHOST_WindowHandle windowhandle, void GHOST_ClientToScreen(GHOST_WindowHandle windowhandle, - GHOST_TInt32 inX, - GHOST_TInt32 inY, - GHOST_TInt32* outX, - GHOST_TInt32* outY) + GHOST_TInt32 inX, + GHOST_TInt32 inY, + GHOST_TInt32 *outX, + GHOST_TInt32 *outY) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; window->clientToScreen(inX, inY, *outX, *outY); } @@ -636,7 +636,7 @@ void GHOST_ClientToScreen(GHOST_WindowHandle windowhandle, GHOST_TWindowState GHOST_GetWindowState(GHOST_WindowHandle windowhandle) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return window->getState(); } @@ -644,9 +644,9 @@ GHOST_TWindowState GHOST_GetWindowState(GHOST_WindowHandle windowhandle) GHOST_TSuccess GHOST_SetWindowState(GHOST_WindowHandle windowhandle, - GHOST_TWindowState state) + GHOST_TWindowState state) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return window->setState(state); } @@ -654,16 +654,16 @@ GHOST_TSuccess GHOST_SetWindowState(GHOST_WindowHandle windowhandle, GHOST_TSuccess GHOST_SetWindowModifiedState(GHOST_WindowHandle windowhandle, GHOST_TUns8 isUnsavedChanges) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return window->setModifiedState(isUnsavedChanges); } GHOST_TSuccess GHOST_SetWindowOrder(GHOST_WindowHandle windowhandle, - GHOST_TWindowOrder order) + GHOST_TWindowOrder order) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return window->setOrder(order); } @@ -672,7 +672,7 @@ GHOST_TSuccess GHOST_SetWindowOrder(GHOST_WindowHandle windowhandle, GHOST_TSuccess GHOST_SwapWindowBuffers(GHOST_WindowHandle windowhandle) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return window->swapBuffers(); } @@ -681,7 +681,7 @@ GHOST_TSuccess GHOST_SwapWindowBuffers(GHOST_WindowHandle windowhandle) GHOST_TSuccess GHOST_ActivateWindowDrawingContext(GHOST_WindowHandle windowhandle) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return window->activateDrawingContext(); } @@ -690,54 +690,54 @@ GHOST_TSuccess GHOST_ActivateWindowDrawingContext(GHOST_WindowHandle windowhandl GHOST_TSuccess GHOST_InvalidateWindow(GHOST_WindowHandle windowhandle) { - GHOST_IWindow* window = (GHOST_IWindow*) windowhandle; + GHOST_IWindow *window = (GHOST_IWindow *) windowhandle; return window->invalidate(); } -extern const GHOST_TabletData* GHOST_GetTabletData(GHOST_WindowHandle windowhandle) +extern const GHOST_TabletData *GHOST_GetTabletData(GHOST_WindowHandle windowhandle) { - return ((GHOST_IWindow*)windowhandle)->GetTabletData(); + return ((GHOST_IWindow *)windowhandle)->GetTabletData(); } GHOST_TInt32 GHOST_GetWidthRectangle(GHOST_RectangleHandle rectanglehandle) { - return ((GHOST_Rect*)rectanglehandle)->getWidth(); + return ((GHOST_Rect *)rectanglehandle)->getWidth(); } GHOST_TInt32 GHOST_GetHeightRectangle(GHOST_RectangleHandle rectanglehandle) { - return ((GHOST_Rect*)rectanglehandle)->getHeight(); + return ((GHOST_Rect *)rectanglehandle)->getHeight(); } void GHOST_GetRectangle(GHOST_RectangleHandle rectanglehandle, - GHOST_TInt32* l, - GHOST_TInt32* t, - GHOST_TInt32* r, - GHOST_TInt32* b) + GHOST_TInt32 *l, + GHOST_TInt32 *t, + GHOST_TInt32 *r, + GHOST_TInt32 *b) { - GHOST_Rect *rect= (GHOST_Rect*) rectanglehandle; - - *l= rect->m_l; - *t= rect->m_t; - *r= rect->m_r; - *b= rect->m_b; + GHOST_Rect *rect = (GHOST_Rect *) rectanglehandle; + + *l = rect->m_l; + *t = rect->m_t; + *r = rect->m_r; + *b = rect->m_b; } void GHOST_SetRectangle(GHOST_RectangleHandle rectanglehandle, - GHOST_TInt32 l, - GHOST_TInt32 t, - GHOST_TInt32 r, - GHOST_TInt32 b) + GHOST_TInt32 l, + GHOST_TInt32 t, + GHOST_TInt32 r, + GHOST_TInt32 b) { - ((GHOST_Rect*)rectanglehandle)->set(l, t, r, b); + ((GHOST_Rect *)rectanglehandle)->set(l, t, r, b); } @@ -746,7 +746,7 @@ GHOST_TSuccess GHOST_IsEmptyRectangle(GHOST_RectangleHandle rectanglehandle) { GHOST_TSuccess result = GHOST_kFailure; - if (((GHOST_Rect*)rectanglehandle)->isEmpty()) + if (((GHOST_Rect *)rectanglehandle)->isEmpty()) result = GHOST_kSuccess; return result; @@ -758,7 +758,7 @@ GHOST_TSuccess GHOST_IsValidRectangle(GHOST_RectangleHandle rectanglehandle) { GHOST_TSuccess result = GHOST_kFailure; - if(((GHOST_Rect*)rectanglehandle)->isValid()) + if (((GHOST_Rect *)rectanglehandle)->isValid()) result = GHOST_kSuccess; return result; @@ -767,37 +767,37 @@ GHOST_TSuccess GHOST_IsValidRectangle(GHOST_RectangleHandle rectanglehandle) void GHOST_InsetRectangle(GHOST_RectangleHandle rectanglehandle, - GHOST_TInt32 i) + GHOST_TInt32 i) { - ((GHOST_Rect*)rectanglehandle)->inset(i); + ((GHOST_Rect *)rectanglehandle)->inset(i); } void GHOST_UnionRectangle(GHOST_RectangleHandle rectanglehandle, - GHOST_RectangleHandle anotherrectanglehandle) + GHOST_RectangleHandle anotherrectanglehandle) { - ((GHOST_Rect*)rectanglehandle)->unionRect(*(GHOST_Rect*)anotherrectanglehandle); + ((GHOST_Rect *)rectanglehandle)->unionRect(*(GHOST_Rect *)anotherrectanglehandle); } void GHOST_UnionPointRectangle(GHOST_RectangleHandle rectanglehandle, - GHOST_TInt32 x, - GHOST_TInt32 y) + GHOST_TInt32 x, + GHOST_TInt32 y) { - ((GHOST_Rect*)rectanglehandle)->unionPoint(x, y); + ((GHOST_Rect *)rectanglehandle)->unionPoint(x, y); } GHOST_TSuccess GHOST_IsInsideRectangle(GHOST_RectangleHandle rectanglehandle, - GHOST_TInt32 x, - GHOST_TInt32 y) + GHOST_TInt32 x, + GHOST_TInt32 y) { GHOST_TSuccess result = GHOST_kFailure; - if (((GHOST_Rect*)rectanglehandle)->isInside(x, y)) + if (((GHOST_Rect *)rectanglehandle)->isInside(x, y)) result = GHOST_kSuccess; return result; @@ -806,11 +806,11 @@ GHOST_TSuccess GHOST_IsInsideRectangle(GHOST_RectangleHandle rectanglehandle, GHOST_TVisibility GHOST_GetRectangleVisibility(GHOST_RectangleHandle rectanglehandle, - GHOST_RectangleHandle anotherrectanglehandle) + GHOST_RectangleHandle anotherrectanglehandle) { GHOST_TVisibility visible = GHOST_kNotVisible; - visible = ((GHOST_Rect*)rectanglehandle)->getVisibility(*(GHOST_Rect*)anotherrectanglehandle); + visible = ((GHOST_Rect *)rectanglehandle)->getVisibility(*(GHOST_Rect *)anotherrectanglehandle); return visible; } @@ -818,56 +818,56 @@ GHOST_TVisibility GHOST_GetRectangleVisibility(GHOST_RectangleHandle rectangleha void GHOST_SetCenterRectangle(GHOST_RectangleHandle rectanglehandle, - GHOST_TInt32 cx, - GHOST_TInt32 cy) + GHOST_TInt32 cx, + GHOST_TInt32 cy) { - ((GHOST_Rect*)rectanglehandle)->setCenter(cx, cy); + ((GHOST_Rect *)rectanglehandle)->setCenter(cx, cy); } void GHOST_SetRectangleCenter(GHOST_RectangleHandle rectanglehandle, - GHOST_TInt32 cx, - GHOST_TInt32 cy, - GHOST_TInt32 w, - GHOST_TInt32 h) + GHOST_TInt32 cx, + GHOST_TInt32 cy, + GHOST_TInt32 w, + GHOST_TInt32 h) { - ((GHOST_Rect*)rectanglehandle)->setCenter(cx, cy, w, h); + ((GHOST_Rect *)rectanglehandle)->setCenter(cx, cy, w, h); } GHOST_TSuccess GHOST_ClipRectangle(GHOST_RectangleHandle rectanglehandle, - GHOST_RectangleHandle anotherrectanglehandle) + GHOST_RectangleHandle anotherrectanglehandle) { GHOST_TSuccess result = GHOST_kFailure; - if (((GHOST_Rect*)rectanglehandle)->clip(*(GHOST_Rect*)anotherrectanglehandle)) + if (((GHOST_Rect *)rectanglehandle)->clip(*(GHOST_Rect *)anotherrectanglehandle)) result = GHOST_kSuccess; return result; } -GHOST_TUns8* GHOST_getClipboard(int selection) +GHOST_TUns8 *GHOST_getClipboard(int selection) { - GHOST_ISystem* system = GHOST_ISystem::getSystem(); + GHOST_ISystem *system = GHOST_ISystem::getSystem(); return system->getClipboard(selection); } void GHOST_putClipboard(GHOST_TInt8 *buffer, int selection) { - GHOST_ISystem* system = GHOST_ISystem::getSystem(); + GHOST_ISystem *system = GHOST_ISystem::getSystem(); system->putClipboard(buffer, selection); } int GHOST_toggleConsole(int action) { - GHOST_ISystem* system = GHOST_ISystem::getSystem(); + GHOST_ISystem *system = GHOST_ISystem::getSystem(); return system->toggleConsole(action); } int GHOST_confirmQuit(GHOST_WindowHandle windowhandle){ - GHOST_ISystem* system = GHOST_ISystem::getSystem(); - return system->confirmQuit((GHOST_IWindow*) windowhandle); + GHOST_ISystem *system = GHOST_ISystem::getSystem(); + return system->confirmQuit((GHOST_IWindow *) windowhandle); } diff --git a/intern/ghost/intern/GHOST_CallbackEventConsumer.cpp b/intern/ghost/intern/GHOST_CallbackEventConsumer.cpp index 49590c77eaa..2e602f33b43 100644 --- a/intern/ghost/intern/GHOST_CallbackEventConsumer.cpp +++ b/intern/ghost/intern/GHOST_CallbackEventConsumer.cpp @@ -49,7 +49,7 @@ GHOST_CallbackEventConsumer::GHOST_CallbackEventConsumer(GHOST_EventCallbackProc } -bool GHOST_CallbackEventConsumer::processEvent(GHOST_IEvent* event) +bool GHOST_CallbackEventConsumer::processEvent(GHOST_IEvent *event) { return m_eventCallback((GHOST_EventHandle)event, m_userData) != 0; } diff --git a/intern/ghost/intern/GHOST_CallbackEventConsumer.h b/intern/ghost/intern/GHOST_CallbackEventConsumer.h index e7a1aed507d..61aef742a48 100644 --- a/intern/ghost/intern/GHOST_CallbackEventConsumer.h +++ b/intern/ghost/intern/GHOST_CallbackEventConsumer.h @@ -51,8 +51,8 @@ public: * @param userData The data passed back though the call-back routine. */ GHOST_CallbackEventConsumer( - GHOST_EventCallbackProcPtr eventCallback, - GHOST_TUserDataPtr userData); + GHOST_EventCallbackProcPtr eventCallback, + GHOST_TUserDataPtr userData); /** * Destructor. @@ -66,13 +66,13 @@ public: * @param event The event that can be handled or ignored. * @return Indication as to whether the event was handled. */ - virtual bool processEvent(GHOST_IEvent* event); + virtual bool processEvent(GHOST_IEvent *event); protected: /** The call-back routine invoked. */ - GHOST_EventCallbackProcPtr m_eventCallback; + GHOST_EventCallbackProcPtr m_eventCallback; /** The data passed back though the call-back routine. */ - GHOST_TUserDataPtr m_userData; + GHOST_TUserDataPtr m_userData; }; #endif // __GHOST_CALLBACKEVENTCONSUMER_H__ diff --git a/intern/ghost/intern/GHOST_DisplayManager.cpp b/intern/ghost/intern/GHOST_DisplayManager.cpp index ca0d53b8297..380fb817ab0 100644 --- a/intern/ghost/intern/GHOST_DisplayManager.cpp +++ b/intern/ghost/intern/GHOST_DisplayManager.cpp @@ -41,8 +41,8 @@ GHOST_DisplayManager::GHOST_DisplayManager( - void) -: m_settingsInitialized(false) + void) + : m_settingsInitialized(false) { } @@ -54,7 +54,7 @@ GHOST_DisplayManager::~GHOST_DisplayManager(void) GHOST_TSuccess GHOST_DisplayManager::initialize( - void) + void) { GHOST_TSuccess success; if (!m_settingsInitialized) { @@ -70,7 +70,7 @@ GHOST_DisplayManager::initialize( GHOST_TSuccess GHOST_DisplayManager::getNumDisplays( - GHOST_TUns8& /*numDisplays*/) const + GHOST_TUns8& /*numDisplays*/) const { // Don't know if we have a display... return GHOST_kFailure; @@ -79,8 +79,8 @@ GHOST_DisplayManager::getNumDisplays( GHOST_TSuccess GHOST_DisplayManager::getNumDisplaySettings( - GHOST_TUns8 display, - GHOST_TInt32& numSettings) const + GHOST_TUns8 display, + GHOST_TInt32& numSettings) const { GHOST_TSuccess success; @@ -101,9 +101,9 @@ GHOST_DisplayManager::getNumDisplaySettings( GHOST_TSuccess GHOST_DisplayManager::getDisplaySetting( - GHOST_TUns8 display, - GHOST_TInt32 index, - GHOST_DisplaySetting& setting) const + GHOST_TUns8 display, + GHOST_TInt32 index, + GHOST_DisplaySetting& setting) const { GHOST_TSuccess success; @@ -124,8 +124,8 @@ GHOST_DisplayManager::getDisplaySetting( GHOST_TSuccess GHOST_DisplayManager::getCurrentDisplaySetting( - GHOST_TUns8 /*display*/, - GHOST_DisplaySetting& /*setting*/) const + GHOST_TUns8 /*display*/, + GHOST_DisplaySetting& /*setting*/) const { return GHOST_kFailure; } @@ -133,8 +133,8 @@ GHOST_DisplayManager::getCurrentDisplaySetting( GHOST_TSuccess GHOST_DisplayManager::setCurrentDisplaySetting( - GHOST_TUns8 /*display*/, - const GHOST_DisplaySetting& /*setting*/) + GHOST_TUns8 /*display*/, + const GHOST_DisplaySetting& /*setting*/) { return GHOST_kFailure; } @@ -142,18 +142,18 @@ GHOST_DisplayManager::setCurrentDisplaySetting( GHOST_TSuccess GHOST_DisplayManager::findMatch( - GHOST_TUns8 display, - const GHOST_DisplaySetting& setting, - GHOST_DisplaySetting& match) const + GHOST_TUns8 display, + const GHOST_DisplaySetting& setting, + GHOST_DisplaySetting& match) const { GHOST_TSuccess success = GHOST_kSuccess; GHOST_ASSERT(m_settingsInitialized, "GHOST_DisplayManager::findMatch(): m_settingsInitialized=false"); int criteria[4] = { - (int)setting.xPixels, - (int)setting.yPixels, - (int)setting.bpp, - (int)setting.frequency + (int)setting.xPixels, + (int)setting.yPixels, + (int)setting.bpp, + (int)setting.frequency }; int capabilities[4]; double field, score; @@ -195,7 +195,7 @@ GHOST_DisplayManager::findMatch( GHOST_TSuccess GHOST_DisplayManager::initializeSettings( - void) + void) { GHOST_TUns8 numDisplays; GHOST_TSuccess success = getNumDisplays(numDisplays); diff --git a/intern/ghost/intern/GHOST_DisplayManagerCarbon.cpp b/intern/ghost/intern/GHOST_DisplayManagerCarbon.cpp index 1449da7b096..7752ae8cbc0 100644 --- a/intern/ghost/intern/GHOST_DisplayManagerCarbon.cpp +++ b/intern/ghost/intern/GHOST_DisplayManagerCarbon.cpp @@ -52,8 +52,8 @@ GHOST_DisplayManagerCarbon::GHOST_DisplayManagerCarbon(void) } if (m_numDisplays > 0) { - m_displayIDs = new CGDirectDisplayID [m_numDisplays]; - GHOST_ASSERT((m_displayIDs!=NULL), "GHOST_DisplayManagerCarbon::GHOST_DisplayManagerCarbon(): memory allocation failed"); + m_displayIDs = new CGDirectDisplayID[m_numDisplays]; + GHOST_ASSERT((m_displayIDs != NULL), "GHOST_DisplayManagerCarbon::GHOST_DisplayManagerCarbon(): memory allocation failed"); ::CGGetActiveDisplayList(m_numDisplays, m_displayIDs, &m_numDisplays); } } @@ -68,7 +68,7 @@ GHOST_TSuccess GHOST_DisplayManagerCarbon::getNumDisplays(GHOST_TUns8& numDispla GHOST_TSuccess GHOST_DisplayManagerCarbon::getNumDisplaySettings(GHOST_TUns8 display, GHOST_TInt32& numSettings) const { - GHOST_ASSERT((display==kMainDisplay), "GHOST_DisplayManagerCarbon::getNumDisplaySettings(): only main display is supported"); + GHOST_ASSERT((display == kMainDisplay), "GHOST_DisplayManagerCarbon::getNumDisplaySettings(): only main display is supported"); CFArrayRef displayModes; displayModes = ::CGDisplayAvailableModes(m_displayIDs[display]); @@ -81,19 +81,19 @@ GHOST_TSuccess GHOST_DisplayManagerCarbon::getNumDisplaySettings(GHOST_TUns8 dis GHOST_TSuccess GHOST_DisplayManagerCarbon::getDisplaySetting(GHOST_TUns8 display, GHOST_TInt32 index, GHOST_DisplaySetting& setting) const { - GHOST_ASSERT((display==kMainDisplay), "GHOST_DisplayManagerCarbon::getDisplaySetting(): only main display is supported"); + GHOST_ASSERT((display == kMainDisplay), "GHOST_DisplayManagerCarbon::getDisplaySetting(): only main display is supported"); CFArrayRef displayModes; CGDirectDisplayID d = m_displayIDs[display]; displayModes = ::CGDisplayAvailableModes(d); //CFIndex numModes = ::CFArrayGetCount(displayModes);/*unused*/ //GHOST_TInt32 numSettings = (GHOST_TInt32)numModes; /*unused*/ - CFDictionaryRef displayModeValues = (CFDictionaryRef)::CFArrayGetValueAtIndex(displayModes, index); + CFDictionaryRef displayModeValues = (CFDictionaryRef) ::CFArrayGetValueAtIndex(displayModes, index); - setting.xPixels = getValue(displayModeValues, kCGDisplayWidth); - setting.yPixels = getValue(displayModeValues, kCGDisplayHeight); - setting.bpp = getValue(displayModeValues, kCGDisplayBitsPerPixel); - setting.frequency = getValue(displayModeValues, kCGDisplayRefreshRate); + setting.xPixels = getValue(displayModeValues, kCGDisplayWidth); + setting.yPixels = getValue(displayModeValues, kCGDisplayHeight); + setting.bpp = getValue(displayModeValues, kCGDisplayBitsPerPixel); + setting.frequency = getValue(displayModeValues, kCGDisplayRefreshRate); #ifdef GHOST_DEBUG printf("display mode: width=%d, height=%d, bpp=%d, frequency=%d\n", setting.xPixels, setting.yPixels, setting.bpp, setting.frequency); @@ -105,14 +105,14 @@ GHOST_TSuccess GHOST_DisplayManagerCarbon::getDisplaySetting(GHOST_TUns8 display GHOST_TSuccess GHOST_DisplayManagerCarbon::getCurrentDisplaySetting(GHOST_TUns8 display, GHOST_DisplaySetting& setting) const { - GHOST_ASSERT((display==kMainDisplay), "GHOST_DisplayManagerCarbon::getCurrentDisplaySetting(): only main display is supported"); + GHOST_ASSERT((display == kMainDisplay), "GHOST_DisplayManagerCarbon::getCurrentDisplaySetting(): only main display is supported"); CFDictionaryRef displayModeValues = ::CGDisplayCurrentMode(m_displayIDs[display]); - setting.xPixels = getValue(displayModeValues, kCGDisplayWidth); - setting.yPixels = getValue(displayModeValues, kCGDisplayHeight); - setting.bpp = getValue(displayModeValues, kCGDisplayBitsPerPixel); - setting.frequency = getValue(displayModeValues, kCGDisplayRefreshRate); + setting.xPixels = getValue(displayModeValues, kCGDisplayWidth); + setting.yPixels = getValue(displayModeValues, kCGDisplayHeight); + setting.bpp = getValue(displayModeValues, kCGDisplayBitsPerPixel); + setting.frequency = getValue(displayModeValues, kCGDisplayRefreshRate); #ifdef GHOST_DEBUG printf("current display mode: width=%d, height=%d, bpp=%d, frequency=%d\n", setting.xPixels, setting.yPixels, setting.bpp, setting.frequency); @@ -124,7 +124,7 @@ GHOST_TSuccess GHOST_DisplayManagerCarbon::getCurrentDisplaySetting(GHOST_TUns8 GHOST_TSuccess GHOST_DisplayManagerCarbon::setCurrentDisplaySetting(GHOST_TUns8 display, const GHOST_DisplaySetting& setting) { - GHOST_ASSERT((display==kMainDisplay), "GHOST_DisplayManagerCarbon::setCurrentDisplaySetting(): only main display is supported"); + GHOST_ASSERT((display == kMainDisplay), "GHOST_DisplayManagerCarbon::setCurrentDisplaySetting(): only main display is supported"); #ifdef GHOST_DEBUG printf("GHOST_DisplayManagerCarbon::setCurrentDisplaySetting(): requested settings:\n"); @@ -135,12 +135,12 @@ GHOST_TSuccess GHOST_DisplayManagerCarbon::setCurrentDisplaySetting(GHOST_TUns8 #endif // GHOST_DEBUG CFDictionaryRef displayModeValues = ::CGDisplayBestModeForParametersAndRefreshRate( - m_displayIDs[display], - (size_t)setting.bpp, - (size_t)setting.xPixels, - (size_t)setting.yPixels, - (CGRefreshRate)setting.frequency, - NULL); + m_displayIDs[display], + (size_t)setting.bpp, + (size_t)setting.xPixels, + (size_t)setting.yPixels, + (CGRefreshRate)setting.frequency, + NULL); #ifdef GHOST_DEBUG printf("GHOST_DisplayManagerCarbon::setCurrentDisplaySetting(): switching to:\n"); @@ -158,20 +158,20 @@ GHOST_TSuccess GHOST_DisplayManagerCarbon::setCurrentDisplaySetting(GHOST_TUns8 long GHOST_DisplayManagerCarbon::getValue(CFDictionaryRef values, CFStringRef key) const { - CFNumberRef numberValue = (CFNumberRef) CFDictionaryGetValue(values, key); + CFNumberRef numberValue = (CFNumberRef) CFDictionaryGetValue(values, key); - if (!numberValue) - { - return -1; - } + if (!numberValue) + { + return -1; + } - long intValue; + long intValue; - if (!CFNumberGetValue(numberValue, kCFNumberLongType, &intValue)) - { - return -1; - } + if (!CFNumberGetValue(numberValue, kCFNumberLongType, &intValue)) + { + return -1; + } - return intValue; + return intValue; } diff --git a/intern/ghost/intern/GHOST_DisplayManagerCarbon.h b/intern/ghost/intern/GHOST_DisplayManagerCarbon.h index 93467b8f462..d9af12ba13f 100644 --- a/intern/ghost/intern/GHOST_DisplayManagerCarbon.h +++ b/intern/ghost/intern/GHOST_DisplayManagerCarbon.h @@ -108,7 +108,7 @@ protected: /** Cached number of displays. */ CGDisplayCount m_numDisplays; /** Cached display id's for each display. */ - CGDirectDisplayID* m_displayIDs; + CGDirectDisplayID *m_displayIDs; }; diff --git a/intern/ghost/intern/GHOST_DisplayManagerNULL.h b/intern/ghost/intern/GHOST_DisplayManagerNULL.h index 31fb9faf0cf..eb116e30d2d 100644 --- a/intern/ghost/intern/GHOST_DisplayManagerNULL.h +++ b/intern/ghost/intern/GHOST_DisplayManagerNULL.h @@ -43,7 +43,7 @@ public: GHOST_TSuccess getCurrentDisplaySetting( GHOST_TUns8 display, GHOST_DisplaySetting& setting ) const { return getDisplaySetting(display,GHOST_TInt32(0),setting); } GHOST_TSuccess setCurrentDisplaySetting( GHOST_TUns8 display, const GHOST_DisplaySetting& setting ){ return GHOST_kSuccess; } -private : +private: GHOST_SystemNULL * m_system; }; diff --git a/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp b/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp index 8d2348dcf5c..fbfbce264a5 100644 --- a/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp +++ b/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp @@ -45,7 +45,7 @@ GHOST_DisplayManagerSDL::GHOST_DisplayManagerSDL(GHOST_SystemSDL *system) GHOST_TSuccess GHOST_DisplayManagerSDL::getNumDisplays(GHOST_TUns8& numDisplays) const { - numDisplays= SDL_GetNumVideoDisplays(); + numDisplays = SDL_GetNumVideoDisplays(); return GHOST_kSuccess; } @@ -140,8 +140,10 @@ GHOST_DisplayManagerSDL:: setCurrentDisplaySetting(GHOST_TUns8 display, SDL_GetDisplayMode(display, i, &mode); if (setting.xPixels > mode.w || - setting.yPixels > mode.h) + setting.yPixels > mode.h) + { continue; + } x = setting.xPixels - mode.w; y = setting.yPixels - mode.h; @@ -175,7 +177,7 @@ GHOST_DisplayManagerSDL:: setCurrentDisplaySetting(GHOST_TUns8 display, } else { /* this is a problem for the BGE player :S, perhaps SDL2 will resolve at some point. - * we really need SDL_SetDisplayModeForDisplay() to become an API func! - campbell */ + * we really need SDL_SetDisplayModeForDisplay() to become an API func! - campbell */ printf("no windows available, cant fullscreen"); /* do not fail, we will try again later when the window is created - wander */ diff --git a/intern/ghost/intern/GHOST_DisplayManagerSDL.h b/intern/ghost/intern/GHOST_DisplayManagerSDL.h index bfd8d1a77e6..2139e2d5e7b 100644 --- a/intern/ghost/intern/GHOST_DisplayManagerSDL.h +++ b/intern/ghost/intern/GHOST_DisplayManagerSDL.h @@ -68,8 +68,8 @@ public: setCurrentDisplaySetting(GHOST_TUns8 display, const GHOST_DisplaySetting& setting); -private : - GHOST_SystemSDL * m_system; +private: + GHOST_SystemSDL *m_system; SDL_DisplayMode m_mode; }; diff --git a/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp b/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp index b7d62a8109e..83df9971158 100644 --- a/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp +++ b/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp @@ -67,7 +67,7 @@ GHOST_TSuccess GHOST_DisplayManagerWin32::getNumDisplays(GHOST_TUns8& numDisplay */ GHOST_TSuccess GHOST_DisplayManagerWin32::getNumDisplaySettings(GHOST_TUns8 display, GHOST_TInt32& numSettings) const { - GHOST_ASSERT((display==kMainDisplay), "GHOST_DisplayManagerWin32::getNumDisplaySettings(): only main displlay is supported"); + GHOST_ASSERT((display == kMainDisplay), "GHOST_DisplayManagerWin32::getNumDisplaySettings(): only main displlay is supported"); numSettings = 0; DEVMODE dm; while (::EnumDisplaySettings(NULL, numSettings, &dm)) { @@ -79,16 +79,16 @@ GHOST_TSuccess GHOST_DisplayManagerWin32::getNumDisplaySettings(GHOST_TUns8 disp GHOST_TSuccess GHOST_DisplayManagerWin32::getDisplaySetting(GHOST_TUns8 display, GHOST_TInt32 index, GHOST_DisplaySetting& setting) const { - GHOST_ASSERT((display==kMainDisplay), "GHOST_DisplayManagerWin32::getDisplaySetting(): only main display is supported"); + GHOST_ASSERT((display == kMainDisplay), "GHOST_DisplayManagerWin32::getDisplaySetting(): only main display is supported"); GHOST_TSuccess success; DEVMODE dm; if (::EnumDisplaySettings(NULL, index, &dm)) { #ifdef GHOST_DEBUG printf("display mode: width=%d, height=%d, bpp=%d, frequency=%d\n", dm.dmPelsWidth, dm.dmPelsHeight, dm.dmBitsPerPel, dm.dmDisplayFrequency); #endif // GHOST_DEBUG - setting.xPixels = dm.dmPelsWidth; - setting.yPixels = dm.dmPelsHeight; - setting.bpp = dm.dmBitsPerPel; + setting.xPixels = dm.dmPelsWidth; + setting.yPixels = dm.dmPelsHeight; + setting.bpp = dm.dmBitsPerPel; /* When you call the EnumDisplaySettings function, the dmDisplayFrequency member * may return with the value 0 or 1. These values represent the display hardware's * default refresh rate. This default rate is typically set by switches on a display @@ -112,14 +112,14 @@ GHOST_TSuccess GHOST_DisplayManagerWin32::getDisplaySetting(GHOST_TUns8 display, GHOST_TSuccess GHOST_DisplayManagerWin32::getCurrentDisplaySetting(GHOST_TUns8 display, GHOST_DisplaySetting& setting) const { - GHOST_ASSERT((display==kMainDisplay), "GHOST_DisplayManagerWin32::getCurrentDisplaySetting(): only main display is supported"); + GHOST_ASSERT((display == kMainDisplay), "GHOST_DisplayManagerWin32::getCurrentDisplaySetting(): only main display is supported"); return getDisplaySetting(kMainDisplay, ENUM_CURRENT_SETTINGS, setting); } GHOST_TSuccess GHOST_DisplayManagerWin32::setCurrentDisplaySetting(GHOST_TUns8 display, const GHOST_DisplaySetting& setting) { - GHOST_ASSERT((display==kMainDisplay), "GHOST_DisplayManagerWin32::setCurrentDisplaySetting(): only main display is supported"); + GHOST_ASSERT((display == kMainDisplay), "GHOST_DisplayManagerWin32::setCurrentDisplaySetting(): only main display is supported"); GHOST_DisplaySetting match; findMatch(display, setting, match); @@ -127,21 +127,22 @@ GHOST_TSuccess GHOST_DisplayManagerWin32::setCurrentDisplaySetting(GHOST_TUns8 d int i = 0; while (::EnumDisplaySettings(NULL, i++, &dm)) { if ((dm.dmBitsPerPel == match.bpp) && - (dm.dmPelsWidth == match.xPixels) && - (dm.dmPelsHeight == match.yPixels) && - (dm.dmDisplayFrequency == match.frequency)) { + (dm.dmPelsWidth == match.xPixels) && + (dm.dmPelsHeight == match.yPixels) && + (dm.dmDisplayFrequency == match.frequency)) + { break; } } /* - dm.dmBitsPerPel = match.bpp; - dm.dmPelsWidth = match.xPixels; - dm.dmPelsHeight = match.yPixels; - dm.dmDisplayFrequency = match.frequency; - dm.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT | DM_DISPLAYFREQUENCY; - dm.dmSize = sizeof(DEVMODE); - dm.dmDriverExtra = 0; - */ + * dm.dmBitsPerPel = match.bpp; + * dm.dmPelsWidth = match.xPixels; + * dm.dmPelsHeight = match.yPixels; + * dm.dmDisplayFrequency = match.frequency; + * dm.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT | DM_DISPLAYFREQUENCY; + * dm.dmSize = sizeof(DEVMODE); + * dm.dmDriverExtra = 0; + */ #ifdef GHOST_DEBUG printf("display change: Requested settings:\n"); printf(" dmBitsPerPel=%d\n", dm.dmBitsPerPel); @@ -154,31 +155,31 @@ GHOST_TSuccess GHOST_DisplayManagerWin32::setCurrentDisplaySetting(GHOST_TUns8 d #ifdef GHOST_DEBUG switch (status) { - case DISP_CHANGE_SUCCESSFUL: - printf("display change: The settings change was successful.\n"); - break; - case DISP_CHANGE_RESTART: - printf("display change: The computer must be restarted in order for the graphics mode to work.\n"); - break; - case DISP_CHANGE_BADFLAGS: - printf("display change: An invalid set of flags was passed in.\n"); - break; - case DISP_CHANGE_BADPARAM: - printf("display change: An invalid parameter was passed in. This can include an invalid flag or combination of flags.\n"); - break; - case DISP_CHANGE_FAILED: - printf("display change: The display driver failed the specified graphics mode.\n"); - break; - case DISP_CHANGE_BADMODE: - printf("display change: The graphics mode is not supported.\n"); - break; - case DISP_CHANGE_NOTUPDATED: - printf("display change: Windows NT: Unable to write settings to the registry.\n"); - break; - default: - printf("display change: Return value invalid\n"); - break; + case DISP_CHANGE_SUCCESSFUL: + printf("display change: The settings change was successful.\n"); + break; + case DISP_CHANGE_RESTART: + printf("display change: The computer must be restarted in order for the graphics mode to work.\n"); + break; + case DISP_CHANGE_BADFLAGS: + printf("display change: An invalid set of flags was passed in.\n"); + break; + case DISP_CHANGE_BADPARAM: + printf("display change: An invalid parameter was passed in. This can include an invalid flag or combination of flags.\n"); + break; + case DISP_CHANGE_FAILED: + printf("display change: The display driver failed the specified graphics mode.\n"); + break; + case DISP_CHANGE_BADMODE: + printf("display change: The graphics mode is not supported.\n"); + break; + case DISP_CHANGE_NOTUPDATED: + printf("display change: Windows NT: Unable to write settings to the registry.\n"); + break; + default: + printf("display change: Return value invalid\n"); + break; } #endif // GHOST_DEBUG - return status == DISP_CHANGE_SUCCESSFUL? GHOST_kSuccess : GHOST_kFailure; + return status == DISP_CHANGE_SUCCESSFUL ? GHOST_kSuccess : GHOST_kFailure; } diff --git a/intern/ghost/intern/GHOST_DropTargetWin32.cpp b/intern/ghost/intern/GHOST_DropTargetWin32.cpp index c13c242bc7e..0f07435d417 100644 --- a/intern/ghost/intern/GHOST_DropTargetWin32.cpp +++ b/intern/ghost/intern/GHOST_DropTargetWin32.cpp @@ -43,10 +43,10 @@ void printLastError(void); #endif // GHOST_DEBUG -GHOST_DropTargetWin32::GHOST_DropTargetWin32(GHOST_WindowWin32 * window, GHOST_SystemWin32 * system) -: -m_window(window), -m_system(system) +GHOST_DropTargetWin32::GHOST_DropTargetWin32(GHOST_WindowWin32 *window, GHOST_SystemWin32 *system) + : + m_window(window), + m_system(system) { m_cRef = 1; m_hWnd = window->getHWND(); @@ -63,23 +63,22 @@ GHOST_DropTargetWin32::~GHOST_DropTargetWin32() /* - * IUnknown::QueryInterface + * IUnknown::QueryInterface */ -HRESULT __stdcall GHOST_DropTargetWin32::QueryInterface (REFIID riid, void ** ppvObj) +HRESULT __stdcall GHOST_DropTargetWin32::QueryInterface(REFIID riid, void **ppvObj) { if (!ppvObj) return E_INVALIDARG; *ppvObj = NULL; - if(riid == IID_IUnknown || riid == IID_IDropTarget) + if (riid == IID_IUnknown || riid == IID_IDropTarget) { AddRef(); - *ppvObj = (void*)this; + *ppvObj = (void *)this; return S_OK; } - else - { + else { *ppvObj = 0; return E_NOINTERFACE; } @@ -102,13 +101,12 @@ ULONG __stdcall GHOST_DropTargetWin32::Release(void) { ULONG refs = ::InterlockedDecrement(&m_cRef); - if(refs == 0) + if (refs == 0) { delete this; return 0; } - else - { + else { return refs; } } @@ -116,7 +114,7 @@ ULONG __stdcall GHOST_DropTargetWin32::Release(void) /* * Implementation of IDropTarget::DragEnter */ -HRESULT __stdcall GHOST_DropTargetWin32::DragEnter(IDataObject * pDataObject, DWORD grfKeyState, POINTL pt, DWORD * pdwEffect) +HRESULT __stdcall GHOST_DropTargetWin32::DragEnter(IDataObject *pDataObject, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) { // we accept all drop by default m_window->setAcceptDragOperation(true); @@ -130,14 +128,13 @@ HRESULT __stdcall GHOST_DropTargetWin32::DragEnter(IDataObject * pDataObject, DW /* * Implementation of IDropTarget::DragOver */ -HRESULT __stdcall GHOST_DropTargetWin32::DragOver(DWORD grfKeyState, POINTL pt, DWORD * pdwEffect) +HRESULT __stdcall GHOST_DropTargetWin32::DragOver(DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) { - if(m_window->canAcceptDragOperation()) + if (m_window->canAcceptDragOperation()) { *pdwEffect = allowedDropEffect(*pdwEffect); } - else - { + else { *pdwEffect = DROPEFFECT_NONE; //*pdwEffect = DROPEFFECT_COPY; // XXX Uncomment to test drop. Drop will not be called if pdwEffect == DROPEFFECT_NONE. } @@ -159,20 +156,19 @@ HRESULT __stdcall GHOST_DropTargetWin32::DragLeave(void) * This function will not be called if pdwEffect is set to DROPEFFECT_NONE in * the implementation of IDropTarget::DragOver */ -HRESULT __stdcall GHOST_DropTargetWin32::Drop(IDataObject * pDataObject, DWORD grfKeyState, POINTL pt, DWORD * pdwEffect) +HRESULT __stdcall GHOST_DropTargetWin32::Drop(IDataObject *pDataObject, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) { - void * data = getGhostData(pDataObject); - if(m_window->canAcceptDragOperation()) + void *data = getGhostData(pDataObject); + if (m_window->canAcceptDragOperation()) { *pdwEffect = allowedDropEffect(*pdwEffect); } - else - { + else { *pdwEffect = DROPEFFECT_NONE; } if (data) - m_system->pushDragDropEvent(GHOST_kEventDraggingDropDone, m_draggedObjectType, m_window, pt.x, pt.y, data ); + m_system->pushDragDropEvent(GHOST_kEventDraggingDropDone, m_draggedObjectType, m_window, pt.x, pt.y, data); m_draggedObjectType = GHOST_kDragnDropTypeUnknown; return S_OK; @@ -185,27 +181,27 @@ HRESULT __stdcall GHOST_DropTargetWin32::Drop(IDataObject * pDataObject, DWORD g DWORD GHOST_DropTargetWin32::allowedDropEffect(DWORD dwAllowed) { DWORD dwEffect = DROPEFFECT_NONE; - if(dwAllowed & DROPEFFECT_COPY) + if (dwAllowed & DROPEFFECT_COPY) dwEffect = DROPEFFECT_COPY; return dwEffect; } -GHOST_TDragnDropTypes GHOST_DropTargetWin32::getGhostType(IDataObject * pDataObject) +GHOST_TDragnDropTypes GHOST_DropTargetWin32::getGhostType(IDataObject *pDataObject) { /* Text * Note: Unicode text is aviable as CF_TEXT too, the system can do the * conversion, but we do the conversion ourself with WC_NO_BEST_FIT_CHARS. */ FORMATETC fmtetc = { CF_TEXT, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL }; - if(pDataObject->QueryGetData(&fmtetc) == S_OK) + if (pDataObject->QueryGetData(&fmtetc) == S_OK) { return GHOST_kDragnDropTypeString; } // Filesnames fmtetc.cfFormat = CF_HDROP; - if(pDataObject->QueryGetData(&fmtetc) == S_OK) + if (pDataObject->QueryGetData(&fmtetc) == S_OK) { return GHOST_kDragnDropTypeFilenames; } @@ -213,10 +209,10 @@ GHOST_TDragnDropTypes GHOST_DropTargetWin32::getGhostType(IDataObject * pDataObj return GHOST_kDragnDropTypeUnknown; } -void * GHOST_DropTargetWin32::getGhostData(IDataObject * pDataObject) +void *GHOST_DropTargetWin32::getGhostData(IDataObject *pDataObject) { GHOST_TDragnDropTypes type = getGhostType(pDataObject); - switch(type) + switch (type) { case GHOST_kDragnDropTypeFilenames: return getDropDataAsFilenames(pDataObject); @@ -237,11 +233,11 @@ void * GHOST_DropTargetWin32::getGhostData(IDataObject * pDataObject) return NULL; } -void * GHOST_DropTargetWin32::getDropDataAsFilenames(IDataObject * pDataObject) +void *GHOST_DropTargetWin32::getDropDataAsFilenames(IDataObject *pDataObject) { - UINT totfiles, nvalid=0; - WCHAR fpath [MAX_PATH]; - char * temp_path; + UINT totfiles, nvalid = 0; + WCHAR fpath[MAX_PATH]; + char *temp_path; GHOST_TStringArray *strArray = NULL; FORMATETC fmtetc = { CF_HDROP, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL }; STGMEDIUM stgmed; @@ -249,35 +245,35 @@ void * GHOST_DropTargetWin32::getDropDataAsFilenames(IDataObject * pDataObject) // Check if dataobject supplies the format we want. // Double checking here, first in getGhostType. - if(pDataObject->QueryGetData(&fmtetc) == S_OK) + if (pDataObject->QueryGetData(&fmtetc) == S_OK) { - if(pDataObject->GetData(&fmtetc, &stgmed) == S_OK) + if (pDataObject->GetData(&fmtetc, &stgmed) == S_OK) { - hdrop = (HDROP)::GlobalLock(stgmed.hGlobal); + hdrop = (HDROP) ::GlobalLock(stgmed.hGlobal); - totfiles = ::DragQueryFileW ( hdrop, -1, NULL, 0 ); + totfiles = ::DragQueryFileW(hdrop, -1, NULL, 0); if (!totfiles) { ::GlobalUnlock(stgmed.hGlobal); return NULL; } - strArray = (GHOST_TStringArray*) ::malloc(sizeof(GHOST_TStringArray)); + strArray = (GHOST_TStringArray *) ::malloc(sizeof(GHOST_TStringArray)); strArray->count = 0; - strArray->strings = (GHOST_TUns8**) ::malloc(totfiles*sizeof(GHOST_TUns8*)); + strArray->strings = (GHOST_TUns8 **) ::malloc(totfiles * sizeof(GHOST_TUns8 *)); - for ( UINT nfile = 0; nfile < totfiles; nfile++ ) + for (UINT nfile = 0; nfile < totfiles; nfile++) { - if ( ::DragQueryFileW ( hdrop, nfile, fpath, MAX_PATH ) > 0 ) + if (::DragQueryFileW(hdrop, nfile, fpath, MAX_PATH) > 0) { - if ( !(temp_path = alloc_utf_8_from_16(fpath, 0)) ) + if (!(temp_path = alloc_utf_8_from_16(fpath, 0)) ) { continue; } // Just ignore paths that could not be converted verbatim. - strArray->strings[nvalid] = (GHOST_TUns8*) temp_path; - strArray->count = nvalid+1; + strArray->strings[nvalid] = (GHOST_TUns8 *) temp_path; + strArray->count = nvalid + 1; nvalid++; } } @@ -291,20 +287,20 @@ void * GHOST_DropTargetWin32::getDropDataAsFilenames(IDataObject * pDataObject) return NULL; } -void * GHOST_DropTargetWin32::getDropDataAsString(IDataObject * pDataObject) +void *GHOST_DropTargetWin32::getDropDataAsString(IDataObject *pDataObject) { - char* tmp_string; + char *tmp_string; FORMATETC fmtetc = { CF_UNICODETEXT, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL }; STGMEDIUM stgmed; // Try unicode first. // Check if dataobject supplies the format we want. - if(pDataObject->QueryGetData(&fmtetc) == S_OK) + if (pDataObject->QueryGetData(&fmtetc) == S_OK) { - if(pDataObject->GetData(&fmtetc, &stgmed) == S_OK) + if (pDataObject->GetData(&fmtetc, &stgmed) == S_OK) { - LPCWSTR wstr = (LPCWSTR)::GlobalLock(stgmed.hGlobal); - if ( !(tmp_string = alloc_utf_8_from_16((wchar_t*)wstr, 0)) ) + LPCWSTR wstr = (LPCWSTR) ::GlobalLock(stgmed.hGlobal); + if (!(tmp_string = alloc_utf_8_from_16((wchar_t *)wstr, 0)) ) { ::GlobalUnlock(stgmed.hGlobal); return NULL; @@ -313,7 +309,7 @@ void * GHOST_DropTargetWin32::getDropDataAsString(IDataObject * pDataObject) ::GlobalUnlock(stgmed.hGlobal); ::ReleaseStgMedium(&stgmed); #ifdef GHOST_DEBUG - ::printf("\n<converted droped unicode string>\n%s\n</droped converted unicode string>\n",tmp_string); + ::printf("\n<converted droped unicode string>\n%s\n</droped converted unicode string>\n", tmp_string); #endif // GHOST_DEBUG return tmp_string; } @@ -321,20 +317,20 @@ void * GHOST_DropTargetWin32::getDropDataAsString(IDataObject * pDataObject) fmtetc.cfFormat = CF_TEXT; - if(pDataObject->QueryGetData(&fmtetc) == S_OK) + if (pDataObject->QueryGetData(&fmtetc) == S_OK) { - if(pDataObject->GetData(&fmtetc, &stgmed) == S_OK) + if (pDataObject->GetData(&fmtetc, &stgmed) == S_OK) { - char * str = (char*)::GlobalLock(stgmed.hGlobal); + char *str = (char *)::GlobalLock(stgmed.hGlobal); - tmp_string = (char*)::malloc(::strlen(str)+1); - if ( !tmp_string ) + tmp_string = (char *)::malloc(::strlen(str) + 1); + if (!tmp_string) { ::GlobalUnlock(stgmed.hGlobal); return NULL; } - if ( !::strcpy(tmp_string, str) ) + if (!::strcpy(tmp_string, str) ) { ::free(tmp_string); ::GlobalUnlock(stgmed.hGlobal); @@ -357,16 +353,16 @@ int GHOST_DropTargetWin32::WideCharToANSI(LPCWSTR in, char * &out) out = NULL; //caller should free if != NULL // Get the required size. - size = ::WideCharToMultiByte(CP_ACP, //System Default Codepage - 0x00000400, // WC_NO_BEST_FIT_CHARS - in, - -1, //-1 null terminated, makes output null terminated too. - NULL, - 0, - NULL,NULL - ); + size = ::WideCharToMultiByte(CP_ACP, //System Default Codepage + 0x00000400, // WC_NO_BEST_FIT_CHARS + in, + -1, //-1 null terminated, makes output null terminated too. + NULL, + 0, + NULL, NULL + ); - if(!size) + if (!size) { #ifdef GHOST_DEBUG ::printLastError(); @@ -374,7 +370,7 @@ int GHOST_DropTargetWin32::WideCharToANSI(LPCWSTR in, char * &out) return 0; } - out = (char*)::malloc(size); + out = (char *)::malloc(size); if (!out) { ::printf("\nmalloc failed!!!"); @@ -382,15 +378,15 @@ int GHOST_DropTargetWin32::WideCharToANSI(LPCWSTR in, char * &out) } size = ::WideCharToMultiByte(CP_ACP, - 0x00000400, - in, - -1, - (LPSTR) out, - size, - NULL,NULL - ); - - if(!size) + 0x00000400, + in, + -1, + (LPSTR) out, + size, + NULL, NULL + ); + + if (!size) { #ifdef GHOST_DEBUG ::printLastError(); @@ -408,15 +404,15 @@ void printLastError(void) DWORD err; err = GetLastError(); - if(FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | - FORMAT_MESSAGE_FROM_SYSTEM, - NULL, - err, - 0, - (LPTSTR)&s, - 0, - NULL) - ) + if (FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM, + NULL, + err, + 0, + (LPTSTR)&s, + 0, + NULL) + ) { printf("\nLastError: (%d) %s\n", (int)err, s); LocalFree(s); diff --git a/intern/ghost/intern/GHOST_DropTargetWin32.h b/intern/ghost/intern/GHOST_DropTargetWin32.h index 9f80b82436e..88a4032ac23 100644 --- a/intern/ghost/intern/GHOST_DropTargetWin32.h +++ b/intern/ghost/intern/GHOST_DropTargetWin32.h @@ -47,22 +47,22 @@ public: * inherited, directly or indirectly, from IUnknown. Therefore, the three * methods in IUnknown are the first entries in the VTable for every interface. */ - HRESULT __stdcall QueryInterface (REFIID riid, void ** ppvObj); - ULONG __stdcall AddRef (void); - ULONG __stdcall Release (void); + HRESULT __stdcall QueryInterface(REFIID riid, void **ppvObj); + ULONG __stdcall AddRef(void); + ULONG __stdcall Release(void); /* IDropTarget implementation - + The IDropTarget interface is one of the interfaces you implement to - provide drag-and-drop operations in your application. It contains methods - used in any application that can be a target for data during a - drag-and-drop operation. A drop-target application is responsible for: + * + The IDropTarget interface is one of the interfaces you implement to + * provide drag-and-drop operations in your application. It contains methods + * used in any application that can be a target for data during a + * drag-and-drop operation. A drop-target application is responsible for: * - * - Determining the effect of the drop on the target application. - * - Incorporating any valid dropped data when the drop occurs. - * - Communicating target feedback to the source so the source application + * - Determining the effect of the drop on the target application. + * - Incorporating any valid dropped data when the drop occurs. + * - Communicating target feedback to the source so the source application * can provide appropriate visual feedback such as setting the cursor. - * - Implementing drag scrolling. - * - Registering and revoking its application windows as drop targets. + * - Implementing drag scrolling. + * - Registering and revoking its application windows as drop targets. * * The IDropTarget interface contains methods that handle all these * responsibilities except registering and revoking the application window @@ -70,10 +70,10 @@ public: * RevokeDragDrop functions. */ - HRESULT __stdcall DragEnter (IDataObject * pDataObject, DWORD grfKeyState, POINTL pt, DWORD * pdwEffect); - HRESULT __stdcall DragOver (DWORD grfKeyState, POINTL pt, DWORD * pdwEffect); - HRESULT __stdcall DragLeave (void); - HRESULT __stdcall Drop (IDataObject * pDataObject, DWORD grfKeyState, POINTL pt, DWORD * pdwEffect); + HRESULT __stdcall DragEnter(IDataObject *pDataObject, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); + HRESULT __stdcall DragOver(DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); + HRESULT __stdcall DragLeave(void); + HRESULT __stdcall Drop(IDataObject *pDataObject, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); /** * Constructor @@ -83,7 +83,7 @@ public: * @param window The window to register as drop target. * @param system The associated system. */ - GHOST_DropTargetWin32(GHOST_WindowWin32 * window, GHOST_SystemWin32 * system); + GHOST_DropTargetWin32(GHOST_WindowWin32 *window, GHOST_SystemWin32 *system); /** * Destructor @@ -107,7 +107,7 @@ private: * @param pDataObject Pointer to the DataObject. * @return GHOST data type. */ - GHOST_TDragnDropTypes getGhostType(IDataObject * pDataObject); + GHOST_TDragnDropTypes getGhostType(IDataObject *pDataObject); /** * Get data to pass in event. @@ -115,21 +115,21 @@ private: * @param pDataObject Pointer to the DataObject. * @return Pointer to data. */ - void * getGhostData(IDataObject * pDataObject); + void *getGhostData(IDataObject *pDataObject); /** * Allocate data as file array to pass in event. * @param pDataObject Pointer to the DataObject. * @return Pointer to data. */ - void * getDropDataAsFilenames(IDataObject * pDataObject); + void *getDropDataAsFilenames(IDataObject *pDataObject); /** * Allocate data as string to pass in event. * @param pDataObject Pointer to the DataObject. * @return Pointer to data. */ - void * getDropDataAsString(IDataObject * pDataObject); + void *getDropDataAsString(IDataObject *pDataObject); /** * Convert Unicode to ANSI, replacing unconvertable chars with '?'. @@ -143,16 +143,15 @@ private: /* Private member variables */ /* COM reference count. */ - LONG m_cRef; + LONG m_cRef; /* Handle of the associated window. */ - HWND m_hWnd; + HWND m_hWnd; /* The associated GHOST_WindowWin32. */ - GHOST_WindowWin32 * m_window; + GHOST_WindowWin32 *m_window; /* The System. */ - GHOST_SystemWin32 * m_system; + GHOST_SystemWin32 *m_system; /* Data type of the dragged object */ GHOST_TDragnDropTypes m_draggedObjectType; - }; #endif // __GHOST_DROPTARGETWIN32_H__ diff --git a/intern/ghost/intern/GHOST_Event.h b/intern/ghost/intern/GHOST_Event.h index c7f86f2502d..6e12a34d149 100644 --- a/intern/ghost/intern/GHOST_Event.h +++ b/intern/ghost/intern/GHOST_Event.h @@ -50,7 +50,7 @@ public: * @param type The type of this event. * @param window The generating window (or NULL if system event). */ - GHOST_Event(GHOST_TUns64 msec, GHOST_TEventType type, GHOST_IWindow* window) + GHOST_Event(GHOST_TUns64 msec, GHOST_TEventType type, GHOST_IWindow *window) : m_type(type), m_time(msec), m_window(window), m_data(0) { } @@ -78,7 +78,7 @@ public: * or NULL if it is a 'system' event. * @return The generating window. */ - virtual GHOST_IWindow* getWindow() + virtual GHOST_IWindow *getWindow() { return m_window; } @@ -98,7 +98,7 @@ protected: /** The time this event was generated. */ GHOST_TUns64 m_time; /** Pointer to the generating window. */ - GHOST_IWindow* m_window; + GHOST_IWindow *m_window; /** Pointer to the event data. */ GHOST_TEventDataPtr m_data; }; diff --git a/intern/ghost/intern/GHOST_EventButton.h b/intern/ghost/intern/GHOST_EventButton.h index 7c869190b16..7ad840bb964 100644 --- a/intern/ghost/intern/GHOST_EventButton.h +++ b/intern/ghost/intern/GHOST_EventButton.h @@ -51,7 +51,7 @@ public: * @param y The y-coordinate of the location the cursor was at at the time of the event. * @param buttons The state of the buttons was at at the time of the event. */ - GHOST_EventButton(GHOST_TUns64 time, GHOST_TEventType type, GHOST_IWindow* window, GHOST_TButtonMask button) + GHOST_EventButton(GHOST_TUns64 time, GHOST_TEventType type, GHOST_IWindow *window, GHOST_TButtonMask button) : GHOST_Event(time, type, window) { m_buttonEventData.button = button; diff --git a/intern/ghost/intern/GHOST_EventCursor.h b/intern/ghost/intern/GHOST_EventCursor.h index 749bd8a6922..0ff703ba254 100644 --- a/intern/ghost/intern/GHOST_EventCursor.h +++ b/intern/ghost/intern/GHOST_EventCursor.h @@ -50,7 +50,7 @@ public: * @param x The x-coordinate of the location the cursor was at at the time of the event. * @param y The y-coordinate of the location the cursor was at at the time of the event. */ - GHOST_EventCursor(GHOST_TUns64 msec, GHOST_TEventType type, GHOST_IWindow* window, GHOST_TInt32 x, GHOST_TInt32 y) + GHOST_EventCursor(GHOST_TUns64 msec, GHOST_TEventType type, GHOST_IWindow *window, GHOST_TInt32 x, GHOST_TInt32 y) : GHOST_Event(msec, type, window) { m_cursorEventData.x = x; diff --git a/intern/ghost/intern/GHOST_EventDragnDrop.h b/intern/ghost/intern/GHOST_EventDragnDrop.h index 4e256a386c0..1a05a4b9b68 100644 --- a/intern/ghost/intern/GHOST_EventDragnDrop.h +++ b/intern/ghost/intern/GHOST_EventDragnDrop.h @@ -83,8 +83,8 @@ public: GHOST_EventDragnDrop(GHOST_TUns64 time, GHOST_TEventType type, GHOST_TDragnDropTypes dataType, - GHOST_IWindow* window, - int x, int y, GHOST_TEventDataPtr data) + GHOST_IWindow *window, + int x, int y, GHOST_TEventDataPtr data) : GHOST_Event(time, type, window) { m_dragnDropEventData.x = x; @@ -102,22 +102,22 @@ public: switch (m_dragnDropEventData.dataType) { case GHOST_kDragnDropTypeBitmap: - IMB_freeImBuf((ImBuf*)m_dragnDropEventData.data); + IMB_freeImBuf((ImBuf *)m_dragnDropEventData.data); break; case GHOST_kDragnDropTypeFilenames: { - GHOST_TStringArray *strArray = (GHOST_TStringArray*)m_dragnDropEventData.data; + GHOST_TStringArray *strArray = (GHOST_TStringArray *)m_dragnDropEventData.data; int i; - for (i=0;i<strArray->count;i++) + for (i = 0; i < strArray->count; i++) free(strArray->strings[i]); free(strArray); } - break; + break; case GHOST_kDragnDropTypeString: free(m_dragnDropEventData.data); - break; + break; default: break; diff --git a/intern/ghost/intern/GHOST_EventKey.h b/intern/ghost/intern/GHOST_EventKey.h index ae3ef374431..66817576f0f 100644 --- a/intern/ghost/intern/GHOST_EventKey.h +++ b/intern/ghost/intern/GHOST_EventKey.h @@ -51,13 +51,13 @@ public: */ GHOST_EventKey(GHOST_TUns64 msec, GHOST_TEventType type, - GHOST_IWindow* window, + GHOST_IWindow *window, GHOST_TKey key) : GHOST_Event(msec, type, window) { m_keyEventData.key = key; m_keyEventData.ascii = '\0'; - m_keyEventData.utf8_buf[0]= '\0'; + m_keyEventData.utf8_buf[0] = '\0'; m_data = &m_keyEventData; } @@ -70,7 +70,7 @@ public: */ GHOST_EventKey(GHOST_TUns64 msec, GHOST_TEventType type, - GHOST_IWindow* window, + GHOST_IWindow *window, GHOST_TKey key, char ascii, const char utf8_buf[6]) @@ -79,7 +79,7 @@ public: m_keyEventData.key = key; m_keyEventData.ascii = ascii; if (utf8_buf) memcpy(m_keyEventData.utf8_buf, utf8_buf, sizeof(m_keyEventData.utf8_buf)); - else m_keyEventData.utf8_buf[0]= '\0'; + else m_keyEventData.utf8_buf[0] = '\0'; m_data = &m_keyEventData; } diff --git a/intern/ghost/intern/GHOST_EventManager.cpp b/intern/ghost/intern/GHOST_EventManager.cpp index 8c2a7f7d1e8..4c03dad2e73 100644 --- a/intern/ghost/intern/GHOST_EventManager.cpp +++ b/intern/ghost/intern/GHOST_EventManager.cpp @@ -51,10 +51,9 @@ GHOST_EventManager::~GHOST_EventManager() { disposeEvents(); - TConsumerVector::iterator iter= m_consumers.begin(); - while (iter != m_consumers.end()) - { - GHOST_IEventConsumer* consumer = *iter; + TConsumerVector::iterator iter = m_consumers.begin(); + while (iter != m_consumers.end()) { + GHOST_IEventConsumer *consumer = *iter; delete consumer; m_consumers.erase(iter); iter = m_consumers.begin(); @@ -81,9 +80,9 @@ GHOST_TUns32 GHOST_EventManager::getNumEvents(GHOST_TEventType type) } -GHOST_IEvent* GHOST_EventManager::peekEvent() +GHOST_IEvent *GHOST_EventManager::peekEvent() { - GHOST_IEvent* event = 0; + GHOST_IEvent *event = 0; if (m_events.size() > 0) { event = m_events.back(); } @@ -91,7 +90,7 @@ GHOST_IEvent* GHOST_EventManager::peekEvent() } -GHOST_TSuccess GHOST_EventManager::pushEvent(GHOST_IEvent* event) +GHOST_TSuccess GHOST_EventManager::pushEvent(GHOST_IEvent *event) { GHOST_TSuccess success; GHOST_ASSERT(event, "invalid event"); @@ -106,7 +105,7 @@ GHOST_TSuccess GHOST_EventManager::pushEvent(GHOST_IEvent* event) } -bool GHOST_EventManager::dispatchEvent(GHOST_IEvent* event) +bool GHOST_EventManager::dispatchEvent(GHOST_IEvent *event) { bool handled; if (event) { @@ -127,7 +126,7 @@ bool GHOST_EventManager::dispatchEvent(GHOST_IEvent* event) bool GHOST_EventManager::dispatchEvent() { - GHOST_IEvent* event = popEvent(); + GHOST_IEvent *event = popEvent(); bool handled = false; if (event) { handled = dispatchEvent(event); @@ -155,7 +154,7 @@ bool GHOST_EventManager::dispatchEvents() } -GHOST_TSuccess GHOST_EventManager::addConsumer(GHOST_IEventConsumer* consumer) +GHOST_TSuccess GHOST_EventManager::addConsumer(GHOST_IEventConsumer *consumer) { GHOST_TSuccess success; GHOST_ASSERT(consumer, "invalid consumer"); @@ -175,7 +174,7 @@ GHOST_TSuccess GHOST_EventManager::addConsumer(GHOST_IEventConsumer* consumer) } -GHOST_TSuccess GHOST_EventManager::removeConsumer(GHOST_IEventConsumer* consumer) +GHOST_TSuccess GHOST_EventManager::removeConsumer(GHOST_IEventConsumer *consumer) { GHOST_TSuccess success; GHOST_ASSERT(consumer, "invalid consumer"); @@ -195,16 +194,16 @@ GHOST_TSuccess GHOST_EventManager::removeConsumer(GHOST_IEventConsumer* consumer } -void GHOST_EventManager::removeWindowEvents(GHOST_IWindow* window) +void GHOST_EventManager::removeWindowEvents(GHOST_IWindow *window) { TEventStack::iterator iter; iter = m_events.begin(); while (iter != m_events.end()) { - GHOST_IEvent* event = *iter; + GHOST_IEvent *event = *iter; if (event->getWindow() == window) { - GHOST_PRINT("GHOST_EventManager::removeWindowEvents(): removing event\n"); + GHOST_PRINT("GHOST_EventManager::removeWindowEvents(): removing event\n"); /* * Found an event for this window, remove it. * The iterator will become invalid. @@ -213,23 +212,22 @@ void GHOST_EventManager::removeWindowEvents(GHOST_IWindow* window) m_events.erase(iter); iter = m_events.begin(); } - else - { + else { iter++; } } } -void GHOST_EventManager::removeTypeEvents(GHOST_TEventType type, GHOST_IWindow* window) +void GHOST_EventManager::removeTypeEvents(GHOST_TEventType type, GHOST_IWindow *window) { TEventStack::iterator iter; iter = m_events.begin(); while (iter != m_events.end()) { - GHOST_IEvent* event = *iter; + GHOST_IEvent *event = *iter; if ((event->getType() == type) && (!window || (event->getWindow() == window))) { - GHOST_PRINT("GHOST_EventManager::removeTypeEvents(): removing event\n"); + GHOST_PRINT("GHOST_EventManager::removeTypeEvents(): removing event\n"); /* * Found an event of this type for the window, remove it. * The iterator will become invalid. @@ -238,17 +236,16 @@ void GHOST_EventManager::removeTypeEvents(GHOST_TEventType type, GHOST_IWindow* m_events.erase(iter); iter = m_events.begin(); } - else - { + else { iter++; } } } -GHOST_IEvent* GHOST_EventManager::popEvent() +GHOST_IEvent *GHOST_EventManager::popEvent() { - GHOST_IEvent* event = peekEvent(); + GHOST_IEvent *event = peekEvent(); if (event) { m_events.pop_back(); } diff --git a/intern/ghost/intern/GHOST_EventManager.h b/intern/ghost/intern/GHOST_EventManager.h index bc43a5c5d07..f941dac9fb4 100644 --- a/intern/ghost/intern/GHOST_EventManager.h +++ b/intern/ghost/intern/GHOST_EventManager.h @@ -64,21 +64,21 @@ public: * Returns the number of events currently on the stack. * @return The number of events on the stack. */ - virtual GHOST_TUns32 getNumEvents(); + virtual GHOST_TUns32 getNumEvents(); /** * Returns the number of events of a certain type currently on the stack. * @param type The type of events to be counted. * @return The number of events on the stack of this type. */ - virtual GHOST_TUns32 getNumEvents(GHOST_TEventType type); + virtual GHOST_TUns32 getNumEvents(GHOST_TEventType type); /** * Return the event at the top of the stack without removal. * Do not delete the event! * @return The event at the top of the stack. */ - virtual GHOST_IEvent* peekEvent(); + virtual GHOST_IEvent *peekEvent(); /** * Pushes an event on the stack. @@ -86,13 +86,13 @@ public: * Do not delete the event! * @param event The event to push on the stack. */ - virtual GHOST_TSuccess pushEvent(GHOST_IEvent* event); + virtual GHOST_TSuccess pushEvent(GHOST_IEvent *event); /** * Dispatches the given event directly, bypassing the event stack. * @return Indication as to whether any of the consumers handled the event. */ - virtual bool dispatchEvent(GHOST_IEvent* event); + virtual bool dispatchEvent(GHOST_IEvent *event); /** * Dispatches the event at the back of the stack. @@ -113,23 +113,23 @@ public: * @param consumer The consumer added to the list. * @return Indication as to whether addition has succeeded. */ - virtual GHOST_TSuccess addConsumer(GHOST_IEventConsumer* consumer); + virtual GHOST_TSuccess addConsumer(GHOST_IEventConsumer *consumer); /** * Removes a consumer from the list of event consumers. * @param consumer The consumer removed from the list. * @return Indication as to whether removal has succeeded. */ - virtual GHOST_TSuccess removeConsumer(GHOST_IEventConsumer* consumer); + virtual GHOST_TSuccess removeConsumer(GHOST_IEventConsumer *consumer); /** * Removes all events for a window from the stack. * @param window The window to remove events for. */ - virtual void + virtual void removeWindowEvents( - GHOST_IWindow* window - ); + GHOST_IWindow *window + ); /** * Removes all events of a certain type from the stack. @@ -138,11 +138,11 @@ public: * @param type The type of events to be removed. * @param window The window to remove the events for. */ - virtual void + virtual void removeTypeEvents( - GHOST_TEventType type, - GHOST_IWindow* window = 0 - ); + GHOST_TEventType type, + GHOST_IWindow *window = 0 + ); protected: /** @@ -150,7 +150,7 @@ protected: * Delete the event after use! * @return The event at the top of the stack. */ - virtual GHOST_IEvent* popEvent(); + virtual GHOST_IEvent *popEvent(); /** * Removes all events from the stack. @@ -158,13 +158,13 @@ protected: virtual void disposeEvents(); /** A stack with events. */ - typedef std::deque<GHOST_IEvent*> TEventStack; + typedef std::deque<GHOST_IEvent *> TEventStack; /** The event stack. */ - std::deque<GHOST_IEvent*> m_events; + std::deque<GHOST_IEvent *> m_events; /** A vector with event consumers. */ - typedef std::vector<GHOST_IEventConsumer*> TConsumerVector; + typedef std::vector<GHOST_IEventConsumer *> TConsumerVector; /** The list with event consumers. */ TConsumerVector m_consumers; diff --git a/intern/ghost/intern/GHOST_EventNDOF.h b/intern/ghost/intern/GHOST_EventNDOF.h index f256f343823..b4037896b93 100644 --- a/intern/ghost/intern/GHOST_EventNDOF.h +++ b/intern/ghost/intern/GHOST_EventNDOF.h @@ -32,31 +32,30 @@ class GHOST_EventNDOFMotion : public GHOST_Event +{ +protected: + GHOST_TEventNDOFMotionData m_axisData; + +public: + GHOST_EventNDOFMotion(GHOST_TUns64 time, GHOST_IWindow *window) + : GHOST_Event(time, GHOST_kEventNDOFMotion, window) { - protected: - GHOST_TEventNDOFMotionData m_axisData; - - public: - GHOST_EventNDOFMotion(GHOST_TUns64 time, GHOST_IWindow* window) - : GHOST_Event(time, GHOST_kEventNDOFMotion, window) - { - m_data = &m_axisData; - } - }; + m_data = &m_axisData; + } +}; class GHOST_EventNDOFButton : public GHOST_Event - { - protected: - GHOST_TEventNDOFButtonData m_buttonData; - - public: - GHOST_EventNDOFButton(GHOST_TUns64 time, GHOST_IWindow* window) - : GHOST_Event(time, GHOST_kEventNDOFButton, window) - { - m_data = &m_buttonData; - } - }; +{ +protected: + GHOST_TEventNDOFButtonData m_buttonData; +public: + GHOST_EventNDOFButton(GHOST_TUns64 time, GHOST_IWindow *window) + : GHOST_Event(time, GHOST_kEventNDOFButton, window) + { + m_data = &m_buttonData; + } +}; #endif // __GHOST_EVENTNDOF_H__ diff --git a/intern/ghost/intern/GHOST_EventPrinter.cpp b/intern/ghost/intern/GHOST_EventPrinter.cpp index 1b5f28aae3b..4b7be84ac81 100644 --- a/intern/ghost/intern/GHOST_EventPrinter.cpp +++ b/intern/ghost/intern/GHOST_EventPrinter.cpp @@ -38,7 +38,7 @@ #include <stdio.h> -bool GHOST_EventPrinter::processEvent(GHOST_IEvent* event) +bool GHOST_EventPrinter::processEvent(GHOST_IEvent *event) { bool handled = true; @@ -48,136 +48,136 @@ bool GHOST_EventPrinter::processEvent(GHOST_IEvent* event) std::cout << "\nGHOST_EventPrinter::processEvent, time: " << (GHOST_TInt32)event->getTime() << ", type: "; switch (event->getType()) { - case GHOST_kEventUnknown: - std::cout << "GHOST_kEventUnknown"; handled = false; - break; + case GHOST_kEventUnknown: + std::cout << "GHOST_kEventUnknown"; handled = false; + break; - case GHOST_kEventButtonUp: + case GHOST_kEventButtonUp: { - GHOST_TEventButtonData* buttonData = (GHOST_TEventButtonData*)((GHOST_IEvent*)event)->getData(); - std::cout << "GHOST_kEventCursorButtonUp, button: " << buttonData->button; + GHOST_TEventButtonData *buttonData = (GHOST_TEventButtonData *)((GHOST_IEvent *)event)->getData(); + std::cout << "GHOST_kEventCursorButtonUp, button: " << buttonData->button; } break; - case GHOST_kEventButtonDown: + case GHOST_kEventButtonDown: { - GHOST_TEventButtonData* buttonData = (GHOST_TEventButtonData*)((GHOST_IEvent*)event)->getData(); - std::cout << "GHOST_kEventButtonDown, button: " << buttonData->button; + GHOST_TEventButtonData *buttonData = (GHOST_TEventButtonData *)((GHOST_IEvent *)event)->getData(); + std::cout << "GHOST_kEventButtonDown, button: " << buttonData->button; } break; - case GHOST_kEventWheel: + case GHOST_kEventWheel: { - GHOST_TEventWheelData* wheelData = (GHOST_TEventWheelData*)((GHOST_IEvent*)event)->getData(); - std::cout << "GHOST_kEventWheel, z: " << wheelData->z; + GHOST_TEventWheelData *wheelData = (GHOST_TEventWheelData *)((GHOST_IEvent *)event)->getData(); + std::cout << "GHOST_kEventWheel, z: " << wheelData->z; } break; - case GHOST_kEventCursorMove: + case GHOST_kEventCursorMove: { - GHOST_TEventCursorData* cursorData = (GHOST_TEventCursorData*)((GHOST_IEvent*)event)->getData(); - std::cout << "GHOST_kEventCursorMove, (x,y): (" << cursorData->x << "," << cursorData->y << ")"; + GHOST_TEventCursorData *cursorData = (GHOST_TEventCursorData *)((GHOST_IEvent *)event)->getData(); + std::cout << "GHOST_kEventCursorMove, (x,y): (" << cursorData->x << "," << cursorData->y << ")"; } break; - case GHOST_kEventKeyUp: + case GHOST_kEventKeyUp: { - GHOST_TEventKeyData* keyData = (GHOST_TEventKeyData*)((GHOST_IEvent*)event)->getData(); - char str[32]= {'\0'}; - getKeyString(keyData->key, str); - std::cout << "GHOST_kEventKeyUp, key: " << str; + GHOST_TEventKeyData *keyData = (GHOST_TEventKeyData *)((GHOST_IEvent *)event)->getData(); + char str[32] = {'\0'}; + getKeyString(keyData->key, str); + std::cout << "GHOST_kEventKeyUp, key: " << str; } break; - case GHOST_kEventKeyDown: + case GHOST_kEventKeyDown: { - GHOST_TEventKeyData* keyData = (GHOST_TEventKeyData*)((GHOST_IEvent*)event)->getData(); - char str[32]= {'\0'}; - getKeyString(keyData->key, str); - std::cout << "GHOST_kEventKeyDown, key: " << str; + GHOST_TEventKeyData *keyData = (GHOST_TEventKeyData *)((GHOST_IEvent *)event)->getData(); + char str[32] = {'\0'}; + getKeyString(keyData->key, str); + std::cout << "GHOST_kEventKeyDown, key: " << str; } break; - case GHOST_kEventDraggingEntered: + case GHOST_kEventDraggingEntered: { - GHOST_TEventDragnDropData* dragnDropData = (GHOST_TEventDragnDropData*)((GHOST_IEvent*)event)->getData(); + GHOST_TEventDragnDropData *dragnDropData = (GHOST_TEventDragnDropData *)((GHOST_IEvent *)event)->getData(); std::cout << "GHOST_kEventDraggingEntered, dragged object type : " << dragnDropData->dataType; std::cout << " mouse at x=" << dragnDropData->x << " y=" << dragnDropData->y; } break; - case GHOST_kEventDraggingUpdated: + case GHOST_kEventDraggingUpdated: { - GHOST_TEventDragnDropData* dragnDropData = (GHOST_TEventDragnDropData*)((GHOST_IEvent*)event)->getData(); + GHOST_TEventDragnDropData *dragnDropData = (GHOST_TEventDragnDropData *)((GHOST_IEvent *)event)->getData(); std::cout << "GHOST_kEventDraggingUpdated, dragged object type : " << dragnDropData->dataType; std::cout << " mouse at x=" << dragnDropData->x << " y=" << dragnDropData->y; } break; - case GHOST_kEventDraggingExited: + case GHOST_kEventDraggingExited: { - GHOST_TEventDragnDropData* dragnDropData = (GHOST_TEventDragnDropData*)((GHOST_IEvent*)event)->getData(); + GHOST_TEventDragnDropData *dragnDropData = (GHOST_TEventDragnDropData *)((GHOST_IEvent *)event)->getData(); std::cout << "GHOST_kEventDraggingExited, dragged object type : " << dragnDropData->dataType; } break; - case GHOST_kEventDraggingDropDone: + case GHOST_kEventDraggingDropDone: { - GHOST_TEventDragnDropData* dragnDropData = (GHOST_TEventDragnDropData*)((GHOST_IEvent*)event)->getData(); + GHOST_TEventDragnDropData *dragnDropData = (GHOST_TEventDragnDropData *)((GHOST_IEvent *)event)->getData(); std::cout << "GHOST_kEventDraggingDropDone,"; std::cout << " mouse at x=" << dragnDropData->x << " y=" << dragnDropData->y; switch (dragnDropData->dataType) { case GHOST_kDragnDropTypeString: std::cout << " type : GHOST_kDragnDropTypeString,"; - std::cout << "\n String received = " << (char*)dragnDropData->data; + std::cout << "\n String received = " << (char *)dragnDropData->data; break; case GHOST_kDragnDropTypeFilenames: { - GHOST_TStringArray *strArray = (GHOST_TStringArray*)dragnDropData->data; + GHOST_TStringArray *strArray = (GHOST_TStringArray *)dragnDropData->data; int i; std::cout << " type : GHOST_kDragnDropTypeFilenames,"; std::cout << "\n Received " << strArray->count << " filename" << (strArray->count > 1 ? "s:" : ":"); - for (i=0;i<strArray->count;i++) - std::cout << "\n File[" << i << "] : " << strArray->strings[i]; + for (i = 0; i < strArray->count; i++) + std::cout << "\n File["<< i << "] : " << strArray->strings[i]; } - break; + break; default: break; } } break; - case GHOST_kEventOpenMainFile: + case GHOST_kEventOpenMainFile: { - GHOST_TEventDataPtr eventData = ((GHOST_IEvent*)event)->getData(); + GHOST_TEventDataPtr eventData = ((GHOST_IEvent *)event)->getData(); if (eventData) - std::cout << "GHOST_kEventOpenMainFile for path : " << (char*)eventData; + std::cout << "GHOST_kEventOpenMainFile for path : " << (char *)eventData; else std::cout << "GHOST_kEventOpenMainFile with no path specified!!"; } break; - case GHOST_kEventQuit: - std::cout << "GHOST_kEventQuit"; - break; - case GHOST_kEventWindowClose: - std::cout << "GHOST_kEventWindowClose"; - break; - case GHOST_kEventWindowActivate: - std::cout << "GHOST_kEventWindowActivate"; - break; - case GHOST_kEventWindowDeactivate: - std::cout << "GHOST_kEventWindowDeactivate"; - break; - case GHOST_kEventWindowUpdate: - std::cout << "GHOST_kEventWindowUpdate"; - break; - case GHOST_kEventWindowSize: - std::cout << "GHOST_kEventWindowSize"; - break; + case GHOST_kEventQuit: + std::cout << "GHOST_kEventQuit"; + break; + case GHOST_kEventWindowClose: + std::cout << "GHOST_kEventWindowClose"; + break; + case GHOST_kEventWindowActivate: + std::cout << "GHOST_kEventWindowActivate"; + break; + case GHOST_kEventWindowDeactivate: + std::cout << "GHOST_kEventWindowDeactivate"; + break; + case GHOST_kEventWindowUpdate: + std::cout << "GHOST_kEventWindowUpdate"; + break; + case GHOST_kEventWindowSize: + std::cout << "GHOST_kEventWindowSize"; + break; - default: - std::cout << "not found"; handled = false; - break; + default: + std::cout << "not found"; handled = false; + break; } return handled; } @@ -187,154 +187,159 @@ void GHOST_EventPrinter::getKeyString(GHOST_TKey key, char str[32]) const { if ((key >= GHOST_kKeyComma) && (key <= GHOST_kKeyRightBracket)) { sprintf(str, "%c", (char)key); - } else if ((key >= GHOST_kKeyNumpad0) && (key <= GHOST_kKeyNumpad9)) { + } + else if ((key >= GHOST_kKeyNumpad0) && (key <= GHOST_kKeyNumpad9)) { sprintf(str, "Numpad %d", (key - GHOST_kKeyNumpad0)); #if defined(__sun__) || defined(__sun) - } else if (key == 268828432) { /* solaris keyboards are messed up */ - /* This should really test XK_F11 but that doesn't work */ + } + else if (key == 268828432) { /* solaris keyboards are messed up */ + /* This should really test XK_F11 but that doesn't work */ strcpy(str, "F11"); - } else if (key == 268828433) { /* solaris keyboards are messed up */ - /* This should really test XK_F12 but that doesn't work */ + } + else if (key == 268828433) { /* solaris keyboards are messed up */ + /* This should really test XK_F12 but that doesn't work */ strcpy(str, "F12"); #endif - } else if ((key >= GHOST_kKeyF1) && (key <= GHOST_kKeyF24)) { + } + else if ((key >= GHOST_kKeyF1) && (key <= GHOST_kKeyF24)) { sprintf(str, "F%d", key - GHOST_kKeyF1 + 1); - } else { - const char *tstr= NULL; + } + else { + const char *tstr = NULL; switch (key) { - case GHOST_kKeyBackSpace: - tstr = "BackSpace"; - break; - case GHOST_kKeyTab: - tstr = "Tab"; - break; - case GHOST_kKeyLinefeed: - tstr = "Linefeed"; - break; - case GHOST_kKeyClear: - tstr = "Clear"; - break; - case GHOST_kKeyEnter: - tstr = "Enter"; - break; - case GHOST_kKeyEsc: - tstr = "Esc"; - break; - case GHOST_kKeySpace: - tstr = "Space"; - break; - case GHOST_kKeyQuote: - tstr = "Quote"; - break; - case GHOST_kKeyBackslash: - tstr = "\\"; - break; - case GHOST_kKeyAccentGrave: - tstr = "`"; - break; - case GHOST_kKeyLeftShift: - tstr = "LeftShift"; - break; - case GHOST_kKeyRightShift: - tstr = "RightShift"; - break; - case GHOST_kKeyLeftControl: - tstr = "LeftControl"; - break; - case GHOST_kKeyRightControl: - tstr = "RightControl"; - break; - case GHOST_kKeyLeftAlt: - tstr = "LeftAlt"; - break; - case GHOST_kKeyRightAlt: - tstr = "RightAlt"; - break; - case GHOST_kKeyOS: - tstr = "OS"; - break; - case GHOST_kKeyGrLess: - // PC german! - tstr = "GrLess"; - break; - case GHOST_kKeyCapsLock: - tstr = "CapsLock"; - break; - case GHOST_kKeyNumLock: - tstr = "NumLock"; - break; - case GHOST_kKeyScrollLock: - tstr = "ScrollLock"; - break; - case GHOST_kKeyLeftArrow: - tstr = "LeftArrow"; - break; - case GHOST_kKeyRightArrow: - tstr = "RightArrow"; - break; - case GHOST_kKeyUpArrow: - tstr = "UpArrow"; - break; - case GHOST_kKeyDownArrow: - tstr = "DownArrow"; - break; - case GHOST_kKeyPrintScreen: - tstr = "PrintScreen"; - break; - case GHOST_kKeyPause: - tstr = "Pause"; - break; - case GHOST_kKeyInsert: - tstr = "Insert"; - break; - case GHOST_kKeyDelete: - tstr = "Delete"; - break; - case GHOST_kKeyHome: - tstr = "Home"; - break; - case GHOST_kKeyEnd: - tstr = "End"; - break; - case GHOST_kKeyUpPage: - tstr = "UpPage"; - break; - case GHOST_kKeyDownPage: - tstr = "DownPage"; - break; - case GHOST_kKeyNumpadPeriod: - tstr = "NumpadPeriod"; - break; - case GHOST_kKeyNumpadEnter: - tstr = "NumpadEnter"; - break; - case GHOST_kKeyNumpadPlus: - tstr = "NumpadPlus"; - break; - case GHOST_kKeyNumpadMinus: - tstr = "NumpadMinus"; - break; - case GHOST_kKeyNumpadAsterisk: - tstr = "NumpadAsterisk"; - break; - case GHOST_kKeyNumpadSlash: - tstr = "NumpadSlash"; - break; - case GHOST_kKeyMediaPlay: - tstr = "MediaPlayPause"; - break; - case GHOST_kKeyMediaStop: - tstr = "MediaStop"; - break; - case GHOST_kKeyMediaFirst: - tstr = "MediaFirst"; - break; - case GHOST_kKeyMediaLast: - tstr = "MediaLast"; - break; - default: - tstr = "unknown"; - break; + case GHOST_kKeyBackSpace: + tstr = "BackSpace"; + break; + case GHOST_kKeyTab: + tstr = "Tab"; + break; + case GHOST_kKeyLinefeed: + tstr = "Linefeed"; + break; + case GHOST_kKeyClear: + tstr = "Clear"; + break; + case GHOST_kKeyEnter: + tstr = "Enter"; + break; + case GHOST_kKeyEsc: + tstr = "Esc"; + break; + case GHOST_kKeySpace: + tstr = "Space"; + break; + case GHOST_kKeyQuote: + tstr = "Quote"; + break; + case GHOST_kKeyBackslash: + tstr = "\\"; + break; + case GHOST_kKeyAccentGrave: + tstr = "`"; + break; + case GHOST_kKeyLeftShift: + tstr = "LeftShift"; + break; + case GHOST_kKeyRightShift: + tstr = "RightShift"; + break; + case GHOST_kKeyLeftControl: + tstr = "LeftControl"; + break; + case GHOST_kKeyRightControl: + tstr = "RightControl"; + break; + case GHOST_kKeyLeftAlt: + tstr = "LeftAlt"; + break; + case GHOST_kKeyRightAlt: + tstr = "RightAlt"; + break; + case GHOST_kKeyOS: + tstr = "OS"; + break; + case GHOST_kKeyGrLess: + // PC german! + tstr = "GrLess"; + break; + case GHOST_kKeyCapsLock: + tstr = "CapsLock"; + break; + case GHOST_kKeyNumLock: + tstr = "NumLock"; + break; + case GHOST_kKeyScrollLock: + tstr = "ScrollLock"; + break; + case GHOST_kKeyLeftArrow: + tstr = "LeftArrow"; + break; + case GHOST_kKeyRightArrow: + tstr = "RightArrow"; + break; + case GHOST_kKeyUpArrow: + tstr = "UpArrow"; + break; + case GHOST_kKeyDownArrow: + tstr = "DownArrow"; + break; + case GHOST_kKeyPrintScreen: + tstr = "PrintScreen"; + break; + case GHOST_kKeyPause: + tstr = "Pause"; + break; + case GHOST_kKeyInsert: + tstr = "Insert"; + break; + case GHOST_kKeyDelete: + tstr = "Delete"; + break; + case GHOST_kKeyHome: + tstr = "Home"; + break; + case GHOST_kKeyEnd: + tstr = "End"; + break; + case GHOST_kKeyUpPage: + tstr = "UpPage"; + break; + case GHOST_kKeyDownPage: + tstr = "DownPage"; + break; + case GHOST_kKeyNumpadPeriod: + tstr = "NumpadPeriod"; + break; + case GHOST_kKeyNumpadEnter: + tstr = "NumpadEnter"; + break; + case GHOST_kKeyNumpadPlus: + tstr = "NumpadPlus"; + break; + case GHOST_kKeyNumpadMinus: + tstr = "NumpadMinus"; + break; + case GHOST_kKeyNumpadAsterisk: + tstr = "NumpadAsterisk"; + break; + case GHOST_kKeyNumpadSlash: + tstr = "NumpadSlash"; + break; + case GHOST_kKeyMediaPlay: + tstr = "MediaPlayPause"; + break; + case GHOST_kKeyMediaStop: + tstr = "MediaStop"; + break; + case GHOST_kKeyMediaFirst: + tstr = "MediaFirst"; + break; + case GHOST_kKeyMediaLast: + tstr = "MediaLast"; + break; + default: + tstr = "unknown"; + break; } sprintf(str, "%s", tstr); diff --git a/intern/ghost/intern/GHOST_EventPrinter.h b/intern/ghost/intern/GHOST_EventPrinter.h index 7c2378db301..f5fe303f9bc 100644 --- a/intern/ghost/intern/GHOST_EventPrinter.h +++ b/intern/ghost/intern/GHOST_EventPrinter.h @@ -49,7 +49,7 @@ public: * @param event The event that can be handled or not. * @return Indication as to whether the event was handled. */ - virtual bool processEvent(GHOST_IEvent* event); + virtual bool processEvent(GHOST_IEvent *event); protected: /** @@ -57,7 +57,7 @@ protected: * @param key The GHOST key code to convert. * @param str The GHOST key code converted to a readable string. */ - void getKeyString(GHOST_TKey key, char str[32]) const; + void getKeyString(GHOST_TKey key, char str[32]) const; }; #endif // __GHOST_EVENTPRINTER_H__ diff --git a/intern/ghost/intern/GHOST_EventString.h b/intern/ghost/intern/GHOST_EventString.h index 90e914e3b5c..8611944197d 100644 --- a/intern/ghost/intern/GHOST_EventString.h +++ b/intern/ghost/intern/GHOST_EventString.h @@ -51,9 +51,10 @@ public: * @param window The generating window (or NULL if system event). * @param data_ptr Pointer to the (unformatted) data associated with the event */ - GHOST_EventString(GHOST_TUns64 msec, GHOST_TEventType type, GHOST_IWindow* window, GHOST_TEventDataPtr data_ptr) - : GHOST_Event(msec, type, window) { - m_data = data_ptr; + GHOST_EventString(GHOST_TUns64 msec, GHOST_TEventType type, GHOST_IWindow *window, GHOST_TEventDataPtr data_ptr) + : GHOST_Event(msec, type, window) + { + m_data = data_ptr; } ~GHOST_EventString() diff --git a/intern/ghost/intern/GHOST_EventTrackpad.h b/intern/ghost/intern/GHOST_EventTrackpad.h index 9a3456bbb57..ab576fb9ec3 100644 --- a/intern/ghost/intern/GHOST_EventTrackpad.h +++ b/intern/ghost/intern/GHOST_EventTrackpad.h @@ -51,7 +51,7 @@ public: * @param y The y-delta of the pan event. */ GHOST_EventTrackpad(GHOST_TUns64 msec, - GHOST_IWindow* window, + GHOST_IWindow *window, GHOST_TTrackpadEventSubTypes subtype, GHOST_TInt32 x, GHOST_TInt32 y, GHOST_TInt32 deltaX, GHOST_TInt32 deltaY) diff --git a/intern/ghost/intern/GHOST_EventWheel.h b/intern/ghost/intern/GHOST_EventWheel.h index 1b7468dbc6e..7d6137af575 100644 --- a/intern/ghost/intern/GHOST_EventWheel.h +++ b/intern/ghost/intern/GHOST_EventWheel.h @@ -51,7 +51,7 @@ public: * @param type The type of this event. * @param z The displacement of the mouse wheel. */ - GHOST_EventWheel(GHOST_TUns64 msec, GHOST_IWindow* window, GHOST_TInt32 z) + GHOST_EventWheel(GHOST_TUns64 msec, GHOST_IWindow *window, GHOST_TInt32 z) : GHOST_Event(msec, GHOST_kEventWheel, window) { m_wheelEventData.z = z; diff --git a/intern/ghost/intern/GHOST_ISystem.cpp b/intern/ghost/intern/GHOST_ISystem.cpp index 66d8a3176bd..e983bd8214a 100644 --- a/intern/ghost/intern/GHOST_ISystem.cpp +++ b/intern/ghost/intern/GHOST_ISystem.cpp @@ -40,25 +40,25 @@ #include "GHOST_ISystem.h" #ifdef WITH_HEADLESS -# include "GHOST_SystemNULL.h" +# include "GHOST_SystemNULL.h" #elif defined(WITH_GHOST_SDL) -# include "GHOST_SystemSDL.h" +# include "GHOST_SystemSDL.h" #elif defined(WIN32) -# include "GHOST_SystemWin32.h" +# include "GHOST_SystemWin32.h" #else -# ifdef __APPLE__ -# ifdef GHOST_COCOA -# include "GHOST_SystemCocoa.h" -# else -# include "GHOST_SystemCarbon.h" -# endif -# else -# include "GHOST_SystemX11.h" -# endif +# ifdef __APPLE__ +# ifdef GHOST_COCOA +# include "GHOST_SystemCocoa.h" +# else +# include "GHOST_SystemCarbon.h" +# endif +# else +# include "GHOST_SystemX11.h" +# endif #endif -GHOST_ISystem* GHOST_ISystem::m_system = 0; +GHOST_ISystem *GHOST_ISystem::m_system = 0; GHOST_TSuccess GHOST_ISystem::createSystem() @@ -70,17 +70,17 @@ GHOST_TSuccess GHOST_ISystem::createSystem() #elif defined(WITH_GHOST_SDL) m_system = new GHOST_SystemSDL(); #elif defined(WIN32) - m_system = new GHOST_SystemWin32 (); + m_system = new GHOST_SystemWin32(); #else -# ifdef __APPLE__ -# ifdef GHOST_COCOA - m_system = new GHOST_SystemCocoa (); -# else - m_system = new GHOST_SystemCarbon (); -# endif -# else - m_system = new GHOST_SystemX11 (); -# endif +# ifdef __APPLE__ +# ifdef GHOST_COCOA + m_system = new GHOST_SystemCocoa(); +# else + m_system = new GHOST_SystemCarbon(); +# endif +# else + m_system = new GHOST_SystemX11(); +# endif #endif success = m_system != 0 ? GHOST_kSuccess : GHOST_kFailure; } @@ -107,7 +107,7 @@ GHOST_TSuccess GHOST_ISystem::disposeSystem() } -GHOST_ISystem* GHOST_ISystem::getSystem() +GHOST_ISystem *GHOST_ISystem::getSystem() { return m_system; } diff --git a/intern/ghost/intern/GHOST_ISystemPaths.cpp b/intern/ghost/intern/GHOST_ISystemPaths.cpp index 55fc2c3796f..0ad9dd48d2b 100644 --- a/intern/ghost/intern/GHOST_ISystemPaths.cpp +++ b/intern/ghost/intern/GHOST_ISystemPaths.cpp @@ -40,21 +40,21 @@ #include "GHOST_ISystemPaths.h" #ifdef WIN32 -# include "GHOST_SystemPathsWin32.h" +# include "GHOST_SystemPathsWin32.h" #else -# ifdef __APPLE__ -# ifdef GHOST_COCOA -# include "GHOST_SystemPathsCocoa.h" -# else -# include "GHOST_SystemPathsCarbon.h" -# endif -# else -# include "GHOST_SystemPathsX11.h" -# endif +# ifdef __APPLE__ +# ifdef GHOST_COCOA +# include "GHOST_SystemPathsCocoa.h" +# else +# include "GHOST_SystemPathsCarbon.h" +# endif +# else +# include "GHOST_SystemPathsX11.h" +# endif #endif -GHOST_ISystemPaths* GHOST_ISystemPaths::m_systemPaths = 0; +GHOST_ISystemPaths *GHOST_ISystemPaths::m_systemPaths = 0; GHOST_TSuccess GHOST_ISystemPaths::create() @@ -62,17 +62,17 @@ GHOST_TSuccess GHOST_ISystemPaths::create() GHOST_TSuccess success; if (!m_systemPaths) { #ifdef WIN32 - m_systemPaths = new GHOST_SystemPathsWin32 (); + m_systemPaths = new GHOST_SystemPathsWin32(); #else -# ifdef __APPLE__ -# ifdef GHOST_COCOA - m_systemPaths = new GHOST_SystemPathsCocoa (); -# else - m_systemPaths = new GHOST_SystemPathsCarbon (); -# endif -# else - m_systemPaths = new GHOST_SystemPathsX11 (); -# endif +# ifdef __APPLE__ +# ifdef GHOST_COCOA + m_systemPaths = new GHOST_SystemPathsCocoa(); +# else + m_systemPaths = new GHOST_SystemPathsCarbon(); +# endif +# else + m_systemPaths = new GHOST_SystemPathsX11(); +# endif #endif success = m_systemPaths != 0 ? GHOST_kSuccess : GHOST_kFailure; } @@ -95,7 +95,7 @@ GHOST_TSuccess GHOST_ISystemPaths::dispose() return success; } -GHOST_ISystemPaths* GHOST_ISystemPaths::get() +GHOST_ISystemPaths *GHOST_ISystemPaths::get() { if (!m_systemPaths) { create(); diff --git a/intern/ghost/intern/GHOST_ModifierKeys.cpp b/intern/ghost/intern/GHOST_ModifierKeys.cpp index 553a45fd948..a02e6218891 100644 --- a/intern/ghost/intern/GHOST_ModifierKeys.cpp +++ b/intern/ghost/intern/GHOST_ModifierKeys.cpp @@ -52,17 +52,17 @@ GHOST_TKey GHOST_ModifierKeys::getModifierKeyCode(GHOST_TModifierKeyMask mask) { GHOST_TKey key; switch (mask) { - case GHOST_kModifierKeyLeftShift: key = GHOST_kKeyLeftShift; break; - case GHOST_kModifierKeyRightShift: key = GHOST_kKeyRightShift; break; - case GHOST_kModifierKeyLeftAlt: key = GHOST_kKeyLeftAlt; break; - case GHOST_kModifierKeyRightAlt: key = GHOST_kKeyRightAlt; break; - case GHOST_kModifierKeyLeftControl: key = GHOST_kKeyLeftControl; break; - case GHOST_kModifierKeyRightControl: key = GHOST_kKeyRightControl; break; - case GHOST_kModifierKeyOS: key = GHOST_kKeyOS; break; - default: - // Should not happen - key = GHOST_kKeyUnknown; - break; + case GHOST_kModifierKeyLeftShift: key = GHOST_kKeyLeftShift; break; + case GHOST_kModifierKeyRightShift: key = GHOST_kKeyRightShift; break; + case GHOST_kModifierKeyLeftAlt: key = GHOST_kKeyLeftAlt; break; + case GHOST_kModifierKeyRightAlt: key = GHOST_kKeyRightAlt; break; + case GHOST_kModifierKeyLeftControl: key = GHOST_kKeyLeftControl; break; + case GHOST_kModifierKeyRightControl: key = GHOST_kKeyRightControl; break; + case GHOST_kModifierKeyOS: key = GHOST_kKeyOS; break; + default: + // Should not happen + key = GHOST_kKeyUnknown; + break; } return key; } @@ -70,69 +70,69 @@ GHOST_TKey GHOST_ModifierKeys::getModifierKeyCode(GHOST_TModifierKeyMask mask) bool GHOST_ModifierKeys::get(GHOST_TModifierKeyMask mask) const { - switch (mask) { - case GHOST_kModifierKeyLeftShift: - return m_LeftShift; - case GHOST_kModifierKeyRightShift: - return m_RightShift; - case GHOST_kModifierKeyLeftAlt: - return m_LeftAlt; - case GHOST_kModifierKeyRightAlt: - return m_RightAlt; - case GHOST_kModifierKeyLeftControl: - return m_LeftControl; - case GHOST_kModifierKeyRightControl: - return m_RightControl; - case GHOST_kModifierKeyOS: - return m_OS; - default: - return false; - } + switch (mask) { + case GHOST_kModifierKeyLeftShift: + return m_LeftShift; + case GHOST_kModifierKeyRightShift: + return m_RightShift; + case GHOST_kModifierKeyLeftAlt: + return m_LeftAlt; + case GHOST_kModifierKeyRightAlt: + return m_RightAlt; + case GHOST_kModifierKeyLeftControl: + return m_LeftControl; + case GHOST_kModifierKeyRightControl: + return m_RightControl; + case GHOST_kModifierKeyOS: + return m_OS; + default: + return false; + } } void GHOST_ModifierKeys::set(GHOST_TModifierKeyMask mask, bool down) { - switch (mask) { - case GHOST_kModifierKeyLeftShift: - m_LeftShift = down; break; - case GHOST_kModifierKeyRightShift: - m_RightShift = down; break; - case GHOST_kModifierKeyLeftAlt: - m_LeftAlt = down; break; - case GHOST_kModifierKeyRightAlt: - m_RightAlt = down; break; - case GHOST_kModifierKeyLeftControl: - m_LeftControl = down; break; - case GHOST_kModifierKeyRightControl: - m_RightControl = down; break; - case GHOST_kModifierKeyOS: - m_OS = down; break; - default: - break; - } + switch (mask) { + case GHOST_kModifierKeyLeftShift: + m_LeftShift = down; break; + case GHOST_kModifierKeyRightShift: + m_RightShift = down; break; + case GHOST_kModifierKeyLeftAlt: + m_LeftAlt = down; break; + case GHOST_kModifierKeyRightAlt: + m_RightAlt = down; break; + case GHOST_kModifierKeyLeftControl: + m_LeftControl = down; break; + case GHOST_kModifierKeyRightControl: + m_RightControl = down; break; + case GHOST_kModifierKeyOS: + m_OS = down; break; + default: + break; + } } void GHOST_ModifierKeys::clear() { - m_LeftShift = false; - m_RightShift = false; - m_LeftAlt = false; - m_RightAlt = false; - m_LeftControl = false; - m_RightControl = false; - m_OS = false; + m_LeftShift = false; + m_RightShift = false; + m_LeftAlt = false; + m_RightAlt = false; + m_LeftControl = false; + m_RightControl = false; + m_OS = false; } bool GHOST_ModifierKeys::equals(const GHOST_ModifierKeys& keys) const { return (m_LeftShift == keys.m_LeftShift) && - (m_RightShift == keys.m_RightShift) && - (m_LeftAlt == keys.m_LeftAlt) && - (m_RightAlt == keys.m_RightAlt) && - (m_LeftControl == keys.m_LeftControl) && - (m_RightControl == keys.m_RightControl) && - (m_OS == keys.m_OS); + (m_RightShift == keys.m_RightShift) && + (m_LeftAlt == keys.m_LeftAlt) && + (m_RightAlt == keys.m_RightAlt) && + (m_LeftControl == keys.m_LeftControl) && + (m_RightControl == keys.m_RightControl) && + (m_OS == keys.m_OS); } diff --git a/intern/ghost/intern/GHOST_ModifierKeys.h b/intern/ghost/intern/GHOST_ModifierKeys.h index 0b690323022..064af8d2e6c 100644 --- a/intern/ghost/intern/GHOST_ModifierKeys.h +++ b/intern/ghost/intern/GHOST_ModifierKeys.h @@ -41,8 +41,7 @@ * @author Maarten Gribnau * @date May 17, 2001 */ -struct GHOST_ModifierKeys -{ +struct GHOST_ModifierKeys { /** * Constructor. */ diff --git a/intern/ghost/intern/GHOST_NDOFManager.cpp b/intern/ghost/intern/GHOST_NDOFManager.cpp index e5f523ca8ef..79102967f3e 100644 --- a/intern/ghost/intern/GHOST_NDOFManager.cpp +++ b/intern/ghost/intern/GHOST_NDOFManager.cpp @@ -32,12 +32,12 @@ #ifdef DEBUG_NDOF_MOTION // printable version of each GHOST_TProgress value -static const char* progress_string[] = - {"not started","starting","in progress","finishing","finished"}; +static const char *progress_string[] = +{"not started", "starting", "in progress", "finishing", "finished"}; #endif #ifdef DEBUG_NDOF_BUTTONS -static const char* ndof_button_names[] = { +static const char *ndof_button_names[] = { // used internally, never sent "NDOF_BUTTON_NONE", // these two are available from any 3Dconnexion device @@ -309,13 +309,13 @@ void GHOST_NDOFManager::updateRotation(short r[3], GHOST_TUns64 time) m_motionEventPending = true; } -void GHOST_NDOFManager::sendButtonEvent(NDOF_ButtonT button, bool press, GHOST_TUns64 time, GHOST_IWindow* window) +void GHOST_NDOFManager::sendButtonEvent(NDOF_ButtonT button, bool press, GHOST_TUns64 time, GHOST_IWindow *window) { GHOST_ASSERT(button > NDOF_BUTTON_NONE && button < NDOF_BUTTON_LAST, - "rogue button trying to escape NDOF manager"); + "rogue button trying to escape NDOF manager"); - GHOST_EventNDOFButton* event = new GHOST_EventNDOFButton(time, window); - GHOST_TEventNDOFButtonData* data = (GHOST_TEventNDOFButtonData*) event->getData(); + GHOST_EventNDOFButton *event = new GHOST_EventNDOFButton(time, window); + GHOST_TEventNDOFButtonData *data = (GHOST_TEventNDOFButtonData *) event->getData(); data->action = press ? GHOST_kPress : GHOST_kRelease; data->button = button; @@ -327,10 +327,10 @@ void GHOST_NDOFManager::sendButtonEvent(NDOF_ButtonT button, bool press, GHOST_T m_system.pushEvent(event); } -void GHOST_NDOFManager::sendKeyEvent(GHOST_TKey key, bool press, GHOST_TUns64 time, GHOST_IWindow* window) +void GHOST_NDOFManager::sendKeyEvent(GHOST_TKey key, bool press, GHOST_TUns64 time, GHOST_IWindow *window) { GHOST_TEventType type = press ? GHOST_kEventKeyDown : GHOST_kEventKeyUp; - GHOST_EventKey* event = new GHOST_EventKey(time, type, window, key); + GHOST_EventKey *event = new GHOST_EventKey(time, type, window, key); #ifdef DEBUG_NDOF_BUTTONS printf("keyboard %s\n", press ? "down" : "up"); @@ -341,7 +341,7 @@ void GHOST_NDOFManager::sendKeyEvent(GHOST_TKey key, bool press, GHOST_TUns64 ti void GHOST_NDOFManager::updateButton(int button_number, bool press, GHOST_TUns64 time) { - GHOST_IWindow* window = m_system.getWindowManager()->getActiveWindow(); + GHOST_IWindow *window = m_system.getWindowManager()->getActiveWindow(); #ifdef DEBUG_NDOF_BUTTONS printf("ndof: button %d -> ", button_number); @@ -403,14 +403,14 @@ void GHOST_NDOFManager::setDeadZone(float dz) GHOST_PRINTF("ndof: dead zone set to %.2f\n", dz); } -static bool atHomePosition(GHOST_TEventNDOFMotionData* ndof) +static bool atHomePosition(GHOST_TEventNDOFMotionData *ndof) { #define HOME(foo) (ndof->foo == 0.f) return HOME(tx) && HOME(ty) && HOME(tz) && HOME(rx) && HOME(ry) && HOME(rz); #undef HOME } -static bool nearHomePosition(GHOST_TEventNDOFMotionData* ndof, float threshold) +static bool nearHomePosition(GHOST_TEventNDOFMotionData *ndof, float threshold) { if (threshold == 0.f) { return atHomePosition(ndof); @@ -429,14 +429,14 @@ bool GHOST_NDOFManager::sendMotionEvent() m_motionEventPending = false; // any pending motion is handled right now - GHOST_IWindow* window = m_system.getWindowManager()->getActiveWindow(); + GHOST_IWindow *window = m_system.getWindowManager()->getActiveWindow(); if (window == NULL) { return false; // delivery will fail, so don't bother sending } - GHOST_EventNDOFMotion* event = new GHOST_EventNDOFMotion(m_motionTime, window); - GHOST_TEventNDOFMotionData* data = (GHOST_TEventNDOFMotionData*) event->getData(); + GHOST_EventNDOFMotion *event = new GHOST_EventNDOFMotion(m_motionTime, window); + GHOST_TEventNDOFMotionData *data = (GHOST_TEventNDOFMotionData *) event->getData(); // scale axis values here to normalize them to around +/- 1 // they are scaled again for overall sensitivity in the WM based on user prefs diff --git a/intern/ghost/intern/GHOST_NDOFManager.h b/intern/ghost/intern/GHOST_NDOFManager.h index 5e16c3fc54c..2baf0f6fa42 100644 --- a/intern/ghost/intern/GHOST_NDOFManager.h +++ b/intern/ghost/intern/GHOST_NDOFManager.h @@ -44,7 +44,7 @@ typedef enum { NDOF_Spaceball5000, NDOF_SpaceTraveler - } NDOF_DeviceT; +} NDOF_DeviceT; // NDOF device button event types typedef enum { @@ -100,7 +100,7 @@ typedef enum { NDOF_BUTTON_C, // the end NDOF_BUTTON_LAST - } NDOF_ButtonT; +} NDOF_ButtonT; class GHOST_NDOFManager { @@ -149,13 +149,13 @@ protected: GHOST_System& m_system; private: - void sendButtonEvent(NDOF_ButtonT, bool press, GHOST_TUns64 time, GHOST_IWindow*); - void sendKeyEvent(GHOST_TKey, bool press, GHOST_TUns64 time, GHOST_IWindow*); + void sendButtonEvent(NDOF_ButtonT, bool press, GHOST_TUns64 time, GHOST_IWindow *); + void sendKeyEvent(GHOST_TKey, bool press, GHOST_TUns64 time, GHOST_IWindow *); NDOF_DeviceT m_deviceType; int m_buttonCount; int m_buttonMask; - const NDOF_ButtonT* m_hidMap; + const NDOF_ButtonT *m_hidMap; short m_translation[3]; short m_rotation[3]; diff --git a/intern/ghost/intern/GHOST_NDOFManagerWin32.cpp b/intern/ghost/intern/GHOST_NDOFManagerWin32.cpp index 6c1627905e0..939e1272434 100644 --- a/intern/ghost/intern/GHOST_NDOFManagerWin32.cpp +++ b/intern/ghost/intern/GHOST_NDOFManagerWin32.cpp @@ -28,7 +28,7 @@ GHOST_NDOFManagerWin32::GHOST_NDOFManagerWin32(GHOST_System& sys) - : GHOST_NDOFManager(sys) + : GHOST_NDOFManager(sys) { setDeadZone(0.1f); } diff --git a/intern/ghost/intern/GHOST_Path-api.cpp b/intern/ghost/intern/GHOST_Path-api.cpp index 1d5410700c6..2bc58517e75 100644 --- a/intern/ghost/intern/GHOST_Path-api.cpp +++ b/intern/ghost/intern/GHOST_Path-api.cpp @@ -45,27 +45,27 @@ GHOST_TSuccess GHOST_DisposeSystemPaths(void) return GHOST_ISystemPaths::dispose(); } -const GHOST_TUns8* GHOST_getSystemDir() +const GHOST_TUns8 *GHOST_getSystemDir(int version, const char *versionstr) { - GHOST_ISystemPaths* systemPaths = GHOST_ISystemPaths::get(); - return systemPaths ? systemPaths->getSystemDir() : 0; + GHOST_ISystemPaths *systemPaths = GHOST_ISystemPaths::get(); + return systemPaths ? systemPaths->getSystemDir(version, versionstr) : 0; } -const GHOST_TUns8* GHOST_getUserDir() +const GHOST_TUns8 *GHOST_getUserDir(int version, const char *versionstr) { - GHOST_ISystemPaths* systemPaths = GHOST_ISystemPaths::get(); - return systemPaths ? systemPaths->getUserDir() : 0; /* shouldn't be NULL */ + GHOST_ISystemPaths *systemPaths = GHOST_ISystemPaths::get(); + return systemPaths ? systemPaths->getUserDir(version, versionstr) : 0; /* shouldn't be NULL */ } -const GHOST_TUns8* GHOST_getBinaryDir() +const GHOST_TUns8 *GHOST_getBinaryDir() { - GHOST_ISystemPaths* systemPaths = GHOST_ISystemPaths::get(); + GHOST_ISystemPaths *systemPaths = GHOST_ISystemPaths::get(); return systemPaths ? systemPaths->getBinaryDir() : 0; /* shouldn't be NULL */ } -void GHOST_addToSystemRecentFiles(const char* filename) +void GHOST_addToSystemRecentFiles(const char *filename) { - GHOST_ISystemPaths* systemPaths = GHOST_ISystemPaths::get(); + GHOST_ISystemPaths *systemPaths = GHOST_ISystemPaths::get(); if (systemPaths) { systemPaths->addToSystemRecentFiles(filename); } diff --git a/intern/ghost/intern/GHOST_Rect.cpp b/intern/ghost/intern/GHOST_Rect.cpp index 0717259b369..dc30b3eb220 100644 --- a/intern/ghost/intern/GHOST_Rect.cpp +++ b/intern/ghost/intern/GHOST_Rect.cpp @@ -97,10 +97,10 @@ GHOST_TVisibility GHOST_Rect::getVisibility(GHOST_Rect& r) const void GHOST_Rect::setCenter(GHOST_TInt32 cx, GHOST_TInt32 cy) { - GHOST_TInt32 offset = cx - (m_l + (m_r - m_l)/2); + GHOST_TInt32 offset = cx - (m_l + (m_r - m_l) / 2); m_l += offset; m_r += offset; - offset = cy - (m_t + (m_b - m_t)/2); + offset = cy - (m_t + (m_b - m_t) / 2); m_t += offset; m_b += offset; } diff --git a/intern/ghost/intern/GHOST_System.cpp b/intern/ghost/intern/GHOST_System.cpp index 974f66c666a..ee21128ecbb 100644 --- a/intern/ghost/intern/GHOST_System.cpp +++ b/intern/ghost/intern/GHOST_System.cpp @@ -45,12 +45,12 @@ GHOST_System::GHOST_System() - : m_displayManager(0), - m_timerManager(0), - m_windowManager(0), - m_eventManager(0) + : m_displayManager(0), + m_timerManager(0), + m_windowManager(0), + m_eventManager(0) #ifdef WITH_INPUT_NDOF - , m_ndofManager(0) + , m_ndofManager(0) #endif { } @@ -73,13 +73,13 @@ GHOST_TUns64 GHOST_System::getMilliSeconds() const } -GHOST_ITimerTask* GHOST_System::installTimer(GHOST_TUns64 delay, +GHOST_ITimerTask *GHOST_System::installTimer(GHOST_TUns64 delay, GHOST_TUns64 interval, GHOST_TimerProcPtr timerProc, GHOST_TUserDataPtr userData) { GHOST_TUns64 millis = getMilliSeconds(); - GHOST_TimerTask* timer = new GHOST_TimerTask(millis+delay, interval, timerProc, userData); + GHOST_TimerTask *timer = new GHOST_TimerTask(millis + delay, interval, timerProc, userData); if (timer) { if (m_timerManager->addTimer(timer) == GHOST_kSuccess) { // Check to see whether we need to fire the timer right away @@ -94,17 +94,17 @@ GHOST_ITimerTask* GHOST_System::installTimer(GHOST_TUns64 delay, } -GHOST_TSuccess GHOST_System::removeTimer(GHOST_ITimerTask* timerTask) +GHOST_TSuccess GHOST_System::removeTimer(GHOST_ITimerTask *timerTask) { GHOST_TSuccess success = GHOST_kFailure; if (timerTask) { - success = m_timerManager->removeTimer((GHOST_TimerTask*)timerTask); + success = m_timerManager->removeTimer((GHOST_TimerTask *)timerTask); } return success; } -GHOST_TSuccess GHOST_System::disposeWindow(GHOST_IWindow* window) +GHOST_TSuccess GHOST_System::disposeWindow(GHOST_IWindow *window) { GHOST_TSuccess success; @@ -132,14 +132,14 @@ GHOST_TSuccess GHOST_System::disposeWindow(GHOST_IWindow* window) } -bool GHOST_System::validWindow(GHOST_IWindow* window) +bool GHOST_System::validWindow(GHOST_IWindow *window) { return m_windowManager->getWindowFound(window); } -GHOST_TSuccess GHOST_System::beginFullScreen(const GHOST_DisplaySetting& setting, GHOST_IWindow** window, - const bool stereoVisual, const GHOST_TUns16 numOfAASamples) +GHOST_TSuccess GHOST_System::beginFullScreen(const GHOST_DisplaySetting& setting, GHOST_IWindow **window, + const bool stereoVisual, const GHOST_TUns16 numOfAASamples) { GHOST_TSuccess success = GHOST_kFailure; GHOST_ASSERT(m_windowManager, "GHOST_System::beginFullScreen(): invalid window manager") @@ -151,7 +151,7 @@ GHOST_TSuccess GHOST_System::beginFullScreen(const GHOST_DisplaySetting& setting success = m_displayManager->setCurrentDisplaySetting(GHOST_DisplayManager::kMainDisplay, setting); if (success == GHOST_kSuccess) { //GHOST_PRINT("GHOST_System::beginFullScreen(): creating full-screen window\n"); - success = createFullScreenWindow((GHOST_Window**)window, stereoVisual, numOfAASamples); + success = createFullScreenWindow((GHOST_Window **)window, stereoVisual, numOfAASamples); if (success == GHOST_kSuccess) { m_windowManager->beginFullScreen(*window, stereoVisual); } @@ -168,11 +168,11 @@ GHOST_TSuccess GHOST_System::beginFullScreen(const GHOST_DisplaySetting& setting } -GHOST_TSuccess GHOST_System::updateFullScreen(const GHOST_DisplaySetting& setting, GHOST_IWindow** window) +GHOST_TSuccess GHOST_System::updateFullScreen(const GHOST_DisplaySetting& setting, GHOST_IWindow **window) { GHOST_TSuccess success = GHOST_kFailure; GHOST_ASSERT(m_windowManager, "GHOST_System::updateFullScreen(): invalid window manager"); - if(m_displayManager) { + if (m_displayManager) { if (m_windowManager->getFullScreen()) { success = m_displayManager->setCurrentDisplaySetting(GHOST_DisplayManager::kMainDisplay, setting); } @@ -233,7 +233,7 @@ bool GHOST_System::dispatchEvents() } -GHOST_TSuccess GHOST_System::addEventConsumer(GHOST_IEventConsumer* consumer) +GHOST_TSuccess GHOST_System::addEventConsumer(GHOST_IEventConsumer *consumer) { GHOST_TSuccess success; if (m_eventManager) { @@ -245,7 +245,7 @@ GHOST_TSuccess GHOST_System::addEventConsumer(GHOST_IEventConsumer* consumer) return success; } -GHOST_TSuccess GHOST_System::removeEventConsumer(GHOST_IEventConsumer* consumer) +GHOST_TSuccess GHOST_System::removeEventConsumer(GHOST_IEventConsumer *consumer) { GHOST_TSuccess success; if (m_eventManager) { @@ -257,7 +257,7 @@ GHOST_TSuccess GHOST_System::removeEventConsumer(GHOST_IEventConsumer* consumer) return success; } -GHOST_TSuccess GHOST_System::pushEvent(GHOST_IEvent* event) +GHOST_TSuccess GHOST_System::pushEvent(GHOST_IEvent *event) { GHOST_TSuccess success; if (m_eventManager) { @@ -296,9 +296,9 @@ GHOST_TSuccess GHOST_System::getButtonState(GHOST_TButtonMask mask, bool& isDown GHOST_TSuccess GHOST_System::init() { - m_timerManager = new GHOST_TimerManager (); - m_windowManager = new GHOST_WindowManager (); - m_eventManager = new GHOST_EventManager (); + m_timerManager = new GHOST_TimerManager(); + m_windowManager = new GHOST_WindowManager(); + m_eventManager = new GHOST_EventManager(); #ifdef GHOST_DEBUG if (m_eventManager) { @@ -309,7 +309,8 @@ GHOST_TSuccess GHOST_System::init() if (m_timerManager && m_windowManager && m_eventManager) { return GHOST_kSuccess; - } else { + } + else { return GHOST_kFailure; } } @@ -346,7 +347,7 @@ GHOST_TSuccess GHOST_System::exit() } -GHOST_TSuccess GHOST_System::createFullScreenWindow(GHOST_Window** window, const bool stereoVisual, const GHOST_TUns16 numOfAASamples) +GHOST_TSuccess GHOST_System::createFullScreenWindow(GHOST_Window **window, const bool stereoVisual, const GHOST_TUns16 numOfAASamples) { GHOST_TSuccess success; GHOST_ASSERT(m_displayManager, "GHOST_System::createFullScreenWindow(): invalid display manager") @@ -355,20 +356,20 @@ GHOST_TSuccess GHOST_System::createFullScreenWindow(GHOST_Window** window, const success = m_displayManager->getCurrentDisplaySetting(GHOST_DisplayManager::kMainDisplay, settings); if (success) { //GHOST_PRINT("GHOST_System::createFullScreenWindow(): creating full-screen window\n"); - *window = (GHOST_Window*)createWindow( - STR_String (""), - 0, 0, settings.xPixels, settings.yPixels, - GHOST_kWindowStateFullScreen, - GHOST_kDrawingContextTypeOpenGL, - stereoVisual, - numOfAASamples); + *window = (GHOST_Window *)createWindow( + STR_String(""), + 0, 0, settings.xPixels, settings.yPixels, + GHOST_kWindowStateFullScreen, + GHOST_kDrawingContextTypeOpenGL, + stereoVisual, + numOfAASamples); success = *window == 0 ? GHOST_kFailure : GHOST_kSuccess; } return success; } -int GHOST_System::confirmQuit(GHOST_IWindow * window) const +int GHOST_System::confirmQuit(GHOST_IWindow *window) const { return 1; } diff --git a/intern/ghost/intern/GHOST_System.h b/intern/ghost/intern/GHOST_System.h index 15a7cf1fdd9..b25f24e653c 100644 --- a/intern/ghost/intern/GHOST_System.h +++ b/intern/ghost/intern/GHOST_System.h @@ -76,8 +76,8 @@ protected: public: /*************************************************************************************** - ** Time(r) functionality - ***************************************************************************************/ + ** Time(r) functionality + ***************************************************************************************/ /** * Returns the system time. @@ -97,7 +97,7 @@ public: * @param userData Placeholder for user data. * @return A timer task (0 if timer task installation failed). */ - virtual GHOST_ITimerTask* installTimer(GHOST_TUns64 delay, + virtual GHOST_ITimerTask *installTimer(GHOST_TUns64 delay, GHOST_TUns64 interval, GHOST_TimerProcPtr timerProc, GHOST_TUserDataPtr userData = 0); @@ -107,11 +107,11 @@ public: * @param timerTask Timer task to be removed. * @return Indication of success. */ - virtual GHOST_TSuccess removeTimer(GHOST_ITimerTask* timerTask); + virtual GHOST_TSuccess removeTimer(GHOST_ITimerTask *timerTask); /*************************************************************************************** - ** Display/window management functionality - ***************************************************************************************/ + ** Display/window management functionality + ***************************************************************************************/ /** * Inherited from GHOST_ISystem but left pure virtual @@ -126,14 +126,14 @@ public: * @param window Pointer to the window to be disposed. * @return Indication of success. */ - virtual GHOST_TSuccess disposeWindow(GHOST_IWindow* window); + virtual GHOST_TSuccess disposeWindow(GHOST_IWindow *window); /** * Returns whether a window is valid. * @param window Pointer to the window to be checked. * @return Indication of validity. */ - virtual bool validWindow(GHOST_IWindow* window); + virtual bool validWindow(GHOST_IWindow *window); /** * Begins full screen mode. @@ -143,8 +143,8 @@ public: * This window is invalid after full screen has been ended. * @return Indication of success. */ - virtual GHOST_TSuccess beginFullScreen(const GHOST_DisplaySetting& setting, GHOST_IWindow** window, - const bool stereoVisual, const GHOST_TUns16 numOfAASamples=0); + virtual GHOST_TSuccess beginFullScreen(const GHOST_DisplaySetting& setting, GHOST_IWindow **window, + const bool stereoVisual, const GHOST_TUns16 numOfAASamples = 0); /** * Updates the resolution while in fullscreen mode. @@ -153,7 +153,7 @@ public: * * @return Indication of success. */ - virtual GHOST_TSuccess updateFullScreen(const GHOST_DisplaySetting& setting, GHOST_IWindow** window); + virtual GHOST_TSuccess updateFullScreen(const GHOST_DisplaySetting& setting, GHOST_IWindow **window); /** * Ends full screen mode. @@ -169,13 +169,13 @@ public: /*************************************************************************************** - ** Event management functionality - ***************************************************************************************/ + ** Event management functionality + ***************************************************************************************/ /** * Inherited from GHOST_ISystem but left pure virtual * - * virtual bool processEvents(bool waitForEvent) = 0; + * virtual bool processEvents(bool waitForEvent) = 0; */ @@ -192,18 +192,18 @@ public: * @param consumer The event consumer to add. * @return Indication of success. */ - virtual GHOST_TSuccess addEventConsumer(GHOST_IEventConsumer* consumer); + virtual GHOST_TSuccess addEventConsumer(GHOST_IEventConsumer *consumer); /** * Remove the given event consumer to our list. * @param consumer The event consumer to remove. * @return Indication of success. */ - virtual GHOST_TSuccess removeEventConsumer(GHOST_IEventConsumer* consumer); + virtual GHOST_TSuccess removeEventConsumer(GHOST_IEventConsumer *consumer); /*************************************************************************************** - ** Cursor management functionality - ***************************************************************************************/ + ** Cursor management functionality + ***************************************************************************************/ /** Inherited from GHOST_ISystem but left pure virtual * GHOST_TSuccess getCursorPosition(GHOST_TInt32& x, GHOST_TInt32& y) const = 0; @@ -211,8 +211,8 @@ public: */ /*************************************************************************************** - ** Access to mouse button and keyboard states. - ***************************************************************************************/ + ** Access to mouse button and keyboard states. + ***************************************************************************************/ /** * Returns the state of a modifier key (ouside the message queue). @@ -231,8 +231,8 @@ public: virtual GHOST_TSuccess getButtonState(GHOST_TButtonMask mask, bool& isDown) const; /*************************************************************************************** - ** Other (internal) functionality. - ***************************************************************************************/ + ** Other (internal) functionality. + ***************************************************************************************/ /** * Pushes an event on the stack. @@ -240,32 +240,32 @@ public: * Do not delete the event! * @param event The event to push on the stack. */ - virtual GHOST_TSuccess pushEvent(GHOST_IEvent* event); + virtual GHOST_TSuccess pushEvent(GHOST_IEvent *event); /** * Returns the timer manager. * @return The timer manager. */ - inline virtual GHOST_TimerManager* getTimerManager() const; + inline virtual GHOST_TimerManager *getTimerManager() const; /** * Returns a pointer to our event manager. * @return A pointer to our event manager. */ - virtual inline GHOST_EventManager* getEventManager() const; + virtual inline GHOST_EventManager *getEventManager() const; /** * Returns a pointer to our window manager. * @return A pointer to our window manager. */ - virtual inline GHOST_WindowManager* getWindowManager() const; + virtual inline GHOST_WindowManager *getWindowManager() const; #ifdef WITH_INPUT_NDOF /** * Returns a pointer to our n-degree of freedeom manager. * @return A pointer to our n-degree of freedeom manager. */ - virtual inline GHOST_NDOFManager* getNDOFManager() const; + virtual inline GHOST_NDOFManager *getNDOFManager() const; #endif /** @@ -285,23 +285,23 @@ public: /** * Returns the selection buffer * @param selection Only used on X11 - * @return Returns the clipboard data + * @return Returns the clipboard data * */ - virtual GHOST_TUns8* getClipboard(bool selection) const = 0; + virtual GHOST_TUns8 *getClipboard(bool selection) const = 0; - /** - * Put data to the Clipboard - * @param buffer The buffer to copy to the clipboard - * @param selection The clipboard to copy too only used on X11 - */ - virtual void putClipboard(GHOST_TInt8 *buffer, bool selection) const = 0; - - /** + /** + * Put data to the Clipboard + * @param buffer The buffer to copy to the clipboard + * @param selection The clipboard to copy too only used on X11 + */ + virtual void putClipboard(GHOST_TInt8 *buffer, bool selection) const = 0; + + /** * Confirms quitting he program when there is just one window left open * in the application */ - virtual int confirmQuit(GHOST_IWindow * window) const; + virtual int confirmQuit(GHOST_IWindow *window) const; @@ -323,52 +323,52 @@ protected: * @param window The window created. * @return Indication of success. */ - virtual GHOST_TSuccess createFullScreenWindow(GHOST_Window** window, - const bool stereoVisual, const GHOST_TUns16 numOfAASamples=0); + virtual GHOST_TSuccess createFullScreenWindow(GHOST_Window **window, + const bool stereoVisual, const GHOST_TUns16 numOfAASamples = 0); /** The display manager (platform dependant). */ - GHOST_DisplayManager* m_displayManager; + GHOST_DisplayManager *m_displayManager; /** The timer manager. */ - GHOST_TimerManager* m_timerManager; + GHOST_TimerManager *m_timerManager; /** The window manager. */ - GHOST_WindowManager* m_windowManager; + GHOST_WindowManager *m_windowManager; /** The event manager. */ - GHOST_EventManager* m_eventManager; + GHOST_EventManager *m_eventManager; #ifdef WITH_INPUT_NDOF /** The N-degree of freedom device manager */ - GHOST_NDOFManager* m_ndofManager; + GHOST_NDOFManager *m_ndofManager; #endif /** Prints all the events. */ #ifdef GHOST_DEBUG - GHOST_EventPrinter* m_eventPrinter; + GHOST_EventPrinter *m_eventPrinter; #endif // GHOST_DEBUG /** Settings of the display before the display went fullscreen. */ GHOST_DisplaySetting m_preFullScreenSetting; }; -inline GHOST_TimerManager* GHOST_System::getTimerManager() const +inline GHOST_TimerManager *GHOST_System::getTimerManager() const { return m_timerManager; } -inline GHOST_EventManager* GHOST_System::getEventManager() const +inline GHOST_EventManager *GHOST_System::getEventManager() const { return m_eventManager; } -inline GHOST_WindowManager* GHOST_System::getWindowManager() const +inline GHOST_WindowManager *GHOST_System::getWindowManager() const { return m_windowManager; } #ifdef WITH_INPUT_NDOF -inline GHOST_NDOFManager* GHOST_System::getNDOFManager() const +inline GHOST_NDOFManager *GHOST_System::getNDOFManager() const { return m_ndofManager; } diff --git a/intern/ghost/intern/GHOST_SystemCarbon.cpp b/intern/ghost/intern/GHOST_SystemCarbon.cpp index 5db392e1706..fc4ca8f8f61 100644 --- a/intern/ghost/intern/GHOST_SystemCarbon.cpp +++ b/intern/ghost/intern/GHOST_SystemCarbon.cpp @@ -61,21 +61,21 @@ /* blender class and types events */ enum { - kEventClassBlender = 'blnd' + kEventClassBlender = 'blnd' }; enum { - kEventBlenderNdofAxis = 1, - kEventBlenderNdofButtons = 2 + kEventBlenderNdofAxis = 1, + kEventBlenderNdofButtons = 2 }; -const EventTypeSpec kEvents[] = +const EventTypeSpec kEvents[] = { { kEventClassAppleEvent, kEventAppleEvent }, /* - { kEventClassApplication, kEventAppActivated }, - { kEventClassApplication, kEventAppDeactivated }, -*/ + { kEventClassApplication, kEventAppActivated }, + { kEventClassApplication, kEventAppDeactivated }, + */ { kEventClassKeyboard, kEventRawKeyDown }, { kEventClassKeyboard, kEventRawKeyRepeat }, { kEventClassKeyboard, kEventRawKeyUp }, @@ -87,9 +87,9 @@ const EventTypeSpec kEvents[] = { kEventClassMouse, kEventMouseDragged }, { kEventClassMouse, kEventMouseWheelMoved }, - { kEventClassWindow, kEventWindowClickZoomRgn } , /* for new zoom behaviour */ + { kEventClassWindow, kEventWindowClickZoomRgn }, /* for new zoom behaviour */ { kEventClassWindow, kEventWindowZoom }, /* for new zoom behaviour */ - { kEventClassWindow, kEventWindowExpand } , /* for new zoom behaviour */ + { kEventClassWindow, kEventWindowExpand }, /* for new zoom behaviour */ { kEventClassWindow, kEventWindowExpandAll }, /* for new zoom behaviour */ { kEventClassWindow, kEventWindowClose }, @@ -110,111 +110,114 @@ const EventTypeSpec kEvents[] = static GHOST_TButtonMask convertButton(EventMouseButton button) { switch (button) { - case kEventMouseButtonPrimary: - return GHOST_kButtonMaskLeft; - case kEventMouseButtonSecondary: - return GHOST_kButtonMaskRight; - case kEventMouseButtonTertiary: - default: - return GHOST_kButtonMaskMiddle; + case kEventMouseButtonPrimary: + return GHOST_kButtonMaskLeft; + case kEventMouseButtonSecondary: + return GHOST_kButtonMaskRight; + case kEventMouseButtonTertiary: + default: + return GHOST_kButtonMaskMiddle; } } static GHOST_TKey convertKey(int rawCode) { - /* This bit of magic converts the rawCode into a virtual - * Mac key based on the current keyboard mapping, but - * without regard to the modifiers (so we don't get 'a' - * and 'A' for example. - */ - static UInt32 dummy= 0; + /* This bit of magic converts the rawCode into a virtual + * Mac key based on the current keyboard mapping, but + * without regard to the modifiers (so we don't get 'a' + * and 'A' for example. + */ + static UInt32 dummy = 0; Handle transData = (Handle) GetScriptManagerVariable(smKCHRCache); unsigned char vk = KeyTranslate(transData, rawCode, &dummy); - /* Map numpad based on rawcodes first, otherwise they - * look like non-numpad events. - * Added too: mapping the number keys, for french keyboards etc (ton) - */ + /* Map numpad based on rawcodes first, otherwise they + * look like non-numpad events. + * Added too: mapping the number keys, for french keyboards etc (ton) + */ // printf("GHOST: vk: %d %c raw: %d\n", vk, vk, rawCode); switch (rawCode) { - case 18: return GHOST_kKey1; - case 19: return GHOST_kKey2; - case 20: return GHOST_kKey3; - case 21: return GHOST_kKey4; - case 23: return GHOST_kKey5; - case 22: return GHOST_kKey6; - case 26: return GHOST_kKey7; - case 28: return GHOST_kKey8; - case 25: return GHOST_kKey9; - case 29: return GHOST_kKey0; - - case 82: return GHOST_kKeyNumpad0; - case 83: return GHOST_kKeyNumpad1; - case 84: return GHOST_kKeyNumpad2; - case 85: return GHOST_kKeyNumpad3; - case 86: return GHOST_kKeyNumpad4; - case 87: return GHOST_kKeyNumpad5; - case 88: return GHOST_kKeyNumpad6; - case 89: return GHOST_kKeyNumpad7; - case 91: return GHOST_kKeyNumpad8; - case 92: return GHOST_kKeyNumpad9; - case 65: return GHOST_kKeyNumpadPeriod; - case 76: return GHOST_kKeyNumpadEnter; - case 69: return GHOST_kKeyNumpadPlus; - case 78: return GHOST_kKeyNumpadMinus; - case 67: return GHOST_kKeyNumpadAsterisk; - case 75: return GHOST_kKeyNumpadSlash; + case 18: return GHOST_kKey1; + case 19: return GHOST_kKey2; + case 20: return GHOST_kKey3; + case 21: return GHOST_kKey4; + case 23: return GHOST_kKey5; + case 22: return GHOST_kKey6; + case 26: return GHOST_kKey7; + case 28: return GHOST_kKey8; + case 25: return GHOST_kKey9; + case 29: return GHOST_kKey0; + + case 82: return GHOST_kKeyNumpad0; + case 83: return GHOST_kKeyNumpad1; + case 84: return GHOST_kKeyNumpad2; + case 85: return GHOST_kKeyNumpad3; + case 86: return GHOST_kKeyNumpad4; + case 87: return GHOST_kKeyNumpad5; + case 88: return GHOST_kKeyNumpad6; + case 89: return GHOST_kKeyNumpad7; + case 91: return GHOST_kKeyNumpad8; + case 92: return GHOST_kKeyNumpad9; + case 65: return GHOST_kKeyNumpadPeriod; + case 76: return GHOST_kKeyNumpadEnter; + case 69: return GHOST_kKeyNumpadPlus; + case 78: return GHOST_kKeyNumpadMinus; + case 67: return GHOST_kKeyNumpadAsterisk; + case 75: return GHOST_kKeyNumpadSlash; } if ((vk >= 'a') && (vk <= 'z')) { return (GHOST_TKey) (vk - 'a' + GHOST_kKeyA); - } else if ((vk >= '0') && (vk <= '9')) { + } + else if ((vk >= '0') && (vk <= '9')) { return (GHOST_TKey) (vk - '0' + GHOST_kKey0); - } else if (vk==16) { + } + else if (vk == 16) { switch (rawCode) { - case 122: return GHOST_kKeyF1; - case 120: return GHOST_kKeyF2; - case 99: return GHOST_kKeyF3; - case 118: return GHOST_kKeyF4; - case 96: return GHOST_kKeyF5; - case 97: return GHOST_kKeyF6; - case 98: return GHOST_kKeyF7; - case 100: return GHOST_kKeyF8; - case 101: return GHOST_kKeyF9; - case 109: return GHOST_kKeyF10; - case 103: return GHOST_kKeyF11; - case 111: return GHOST_kKeyF12; // Never get, is used for ejecting the CD! + case 122: return GHOST_kKeyF1; + case 120: return GHOST_kKeyF2; + case 99: return GHOST_kKeyF3; + case 118: return GHOST_kKeyF4; + case 96: return GHOST_kKeyF5; + case 97: return GHOST_kKeyF6; + case 98: return GHOST_kKeyF7; + case 100: return GHOST_kKeyF8; + case 101: return GHOST_kKeyF9; + case 109: return GHOST_kKeyF10; + case 103: return GHOST_kKeyF11; + case 111: return GHOST_kKeyF12; // Never get, is used for ejecting the CD! } - } else { + } + else { switch (vk) { - case kUpArrowCharCode: return GHOST_kKeyUpArrow; - case kDownArrowCharCode: return GHOST_kKeyDownArrow; - case kLeftArrowCharCode: return GHOST_kKeyLeftArrow; - case kRightArrowCharCode: return GHOST_kKeyRightArrow; - - case kReturnCharCode: return GHOST_kKeyEnter; - case kBackspaceCharCode: return GHOST_kKeyBackSpace; - case kDeleteCharCode: return GHOST_kKeyDelete; - case kEscapeCharCode: return GHOST_kKeyEsc; - case kTabCharCode: return GHOST_kKeyTab; - case kSpaceCharCode: return GHOST_kKeySpace; - - case kHomeCharCode: return GHOST_kKeyHome; - case kEndCharCode: return GHOST_kKeyEnd; - case kPageUpCharCode: return GHOST_kKeyUpPage; - case kPageDownCharCode: return GHOST_kKeyDownPage; - - case '-': return GHOST_kKeyMinus; - case '=': return GHOST_kKeyEqual; - case ',': return GHOST_kKeyComma; - case '.': return GHOST_kKeyPeriod; - case '/': return GHOST_kKeySlash; - case ';': return GHOST_kKeySemicolon; - case '\'': return GHOST_kKeyQuote; - case '\\': return GHOST_kKeyBackslash; - case '[': return GHOST_kKeyLeftBracket; - case ']': return GHOST_kKeyRightBracket; - case '`': return GHOST_kKeyAccentGrave; + case kUpArrowCharCode: return GHOST_kKeyUpArrow; + case kDownArrowCharCode: return GHOST_kKeyDownArrow; + case kLeftArrowCharCode: return GHOST_kKeyLeftArrow; + case kRightArrowCharCode: return GHOST_kKeyRightArrow; + + case kReturnCharCode: return GHOST_kKeyEnter; + case kBackspaceCharCode: return GHOST_kKeyBackSpace; + case kDeleteCharCode: return GHOST_kKeyDelete; + case kEscapeCharCode: return GHOST_kKeyEsc; + case kTabCharCode: return GHOST_kKeyTab; + case kSpaceCharCode: return GHOST_kKeySpace; + + case kHomeCharCode: return GHOST_kKeyHome; + case kEndCharCode: return GHOST_kKeyEnd; + case kPageUpCharCode: return GHOST_kKeyUpPage; + case kPageDownCharCode: return GHOST_kKeyDownPage; + + case '-': return GHOST_kKeyMinus; + case '=': return GHOST_kKeyEqual; + case ',': return GHOST_kKeyComma; + case '.': return GHOST_kKeyPeriod; + case '/': return GHOST_kKeySlash; + case ';': return GHOST_kKeySemicolon; + case '\'': return GHOST_kKeyQuote; + case '\\': return GHOST_kKeyBackslash; + case '[': return GHOST_kKeyLeftBracket; + case ']': return GHOST_kKeyRightBracket; + case '`': return GHOST_kKeyAccentGrave; } } @@ -233,117 +236,117 @@ static GHOST_TKey convertKey(int rawCode) static unsigned char convertRomanToLatin(unsigned char ascii) { - if(ascii<128) return ascii; - - switch(ascii) { - case 128: return 142; - case 129: return 143; - case 130: return 128; - case 131: return 201; - case 132: return 209; - case 133: return 214; - case 134: return 220; - case 135: return 225; - case 136: return 224; - case 137: return 226; - case 138: return 228; - case 139: return 227; - case 140: return 229; - case 141: return 231; - case 142: return 233; - case 143: return 232; - case 144: return 234; - case 145: return 235; - case 146: return 237; - case 147: return 236; - case 148: return 238; - case 149: return 239; - case 150: return 241; - case 151: return 243; - case 152: return 242; - case 153: return 244; - case 154: return 246; - case 155: return 245; - case 156: return 250; - case 157: return 249; - case 158: return 251; - case 159: return 252; - case 160: return 0; - case 161: return 176; - case 162: return 162; - case 163: return 163; - case 164: return 167; - case 165: return 183; - case 166: return 182; - case 167: return 223; - case 168: return 174; - case 169: return 169; - case 170: return 174; - case 171: return 180; - case 172: return 168; - case 173: return 0; - case 174: return 198; - case 175: return 216; - case 176: return 0; - case 177: return 177; - case 178: return 0; - case 179: return 0; - case 180: return 165; - case 181: return 181; - case 182: return 0; - case 183: return 0; - case 184: return 215; - case 185: return 0; - case 186: return 0; - case 187: return 170; - case 188: return 186; - case 189: return 0; - case 190: return 230; - case 191: return 248; - case 192: return 191; - case 193: return 161; - case 194: return 172; - case 195: return 0; - case 196: return 0; - case 197: return 0; - case 198: return 0; - case 199: return 171; - case 200: return 187; - case 201: return 201; - case 202: return 0; - case 203: return 192; - case 204: return 195; - case 205: return 213; - case 206: return 0; - case 207: return 0; - case 208: return 0; - case 209: return 0; - case 210: return 0; + if (ascii < 128) return ascii; - case 214: return 247; - - case 229: return 194; - case 230: return 202; - case 231: return 193; - case 232: return 203; - case 233: return 200; - case 234: return 205; - case 235: return 206; - case 236: return 207; - case 237: return 204; - case 238: return 211; - case 239: return 212; - case 240: return 0; - case 241: return 210; - case 242: return 218; - case 243: return 219; - case 244: return 217; - case 245: return 0; - case 246: return 0; - case 247: return 0; - case 248: return 0; - case 249: return 0; - case 250: return 0; + switch (ascii) { + case 128: return 142; + case 129: return 143; + case 130: return 128; + case 131: return 201; + case 132: return 209; + case 133: return 214; + case 134: return 220; + case 135: return 225; + case 136: return 224; + case 137: return 226; + case 138: return 228; + case 139: return 227; + case 140: return 229; + case 141: return 231; + case 142: return 233; + case 143: return 232; + case 144: return 234; + case 145: return 235; + case 146: return 237; + case 147: return 236; + case 148: return 238; + case 149: return 239; + case 150: return 241; + case 151: return 243; + case 152: return 242; + case 153: return 244; + case 154: return 246; + case 155: return 245; + case 156: return 250; + case 157: return 249; + case 158: return 251; + case 159: return 252; + case 160: return 0; + case 161: return 176; + case 162: return 162; + case 163: return 163; + case 164: return 167; + case 165: return 183; + case 166: return 182; + case 167: return 223; + case 168: return 174; + case 169: return 169; + case 170: return 174; + case 171: return 180; + case 172: return 168; + case 173: return 0; + case 174: return 198; + case 175: return 216; + case 176: return 0; + case 177: return 177; + case 178: return 0; + case 179: return 0; + case 180: return 165; + case 181: return 181; + case 182: return 0; + case 183: return 0; + case 184: return 215; + case 185: return 0; + case 186: return 0; + case 187: return 170; + case 188: return 186; + case 189: return 0; + case 190: return 230; + case 191: return 248; + case 192: return 191; + case 193: return 161; + case 194: return 172; + case 195: return 0; + case 196: return 0; + case 197: return 0; + case 198: return 0; + case 199: return 171; + case 200: return 187; + case 201: return 201; + case 202: return 0; + case 203: return 192; + case 204: return 195; + case 205: return 213; + case 206: return 0; + case 207: return 0; + case 208: return 0; + case 209: return 0; + case 210: return 0; + + case 214: return 247; + + case 229: return 194; + case 230: return 202; + case 231: return 193; + case 232: return 203; + case 233: return 200; + case 234: return 205; + case 235: return 206; + case 236: return 207; + case 237: return 204; + case 238: return 211; + case 239: return 212; + case 240: return 0; + case 241: return 210; + case 242: return 218; + case 243: return 219; + case 244: return 217; + case 245: return 0; + case 246: return 0; + case 247: return 0; + case 248: return 0; + case 249: return 0; + case 250: return 0; default: return 0; @@ -357,13 +360,13 @@ static unsigned char convertRomanToLatin(unsigned char ascii) GHOST_SystemCarbon::GHOST_SystemCarbon() : m_modifierMask(0) { - m_displayManager = new GHOST_DisplayManagerCarbon (); + m_displayManager = new GHOST_DisplayManagerCarbon(); GHOST_ASSERT(m_displayManager, "GHOST_SystemCarbon::GHOST_SystemCarbon(): m_displayManager==0\n"); m_displayManager->initialize(); UnsignedWide micros; ::Microseconds(µs); - m_start_time = UnsignedWideToUInt64(micros)/1000; + m_start_time = UnsignedWideToUInt64(micros) / 1000; m_ignoreWindowSizedMessages = false; } @@ -381,7 +384,6 @@ GHOST_TUns64 GHOST_SystemCarbon::getMilliSeconds() const return (millis / 1000) - m_start_time; } - GHOST_TUns8 GHOST_SystemCarbon::getNumDisplays() const { // We do not support multiple monitors at the moment @@ -398,22 +400,21 @@ void GHOST_SystemCarbon::getMainDisplayDimensions(GHOST_TUns32& width, GHOST_TUn } -GHOST_IWindow* GHOST_SystemCarbon::createWindow( - const STR_String& title, - GHOST_TInt32 left, - GHOST_TInt32 top, - GHOST_TUns32 width, - GHOST_TUns32 height, - GHOST_TWindowState state, - GHOST_TDrawingContextType type, - bool stereoVisual, - const GHOST_TUns16 numOfAASamples, - const GHOST_TEmbedderWindowID parentWindow -) +GHOST_IWindow *GHOST_SystemCarbon::createWindow( + const STR_String& title, + GHOST_TInt32 left, + GHOST_TInt32 top, + GHOST_TUns32 width, + GHOST_TUns32 height, + GHOST_TWindowState state, + GHOST_TDrawingContextType type, + bool stereoVisual, + const GHOST_TUns16 numOfAASamples, + const GHOST_TEmbedderWindowID parentWindow) { - GHOST_IWindow* window = 0; + GHOST_IWindow *window = 0; - window = new GHOST_WindowCarbon (title, left, top, width, height, state, type); + window = new GHOST_WindowCarbon(title, left, top, width, height, state, type); if (window) { if (window->getValid()) { @@ -435,18 +436,18 @@ GHOST_IWindow* GHOST_SystemCarbon::createWindow( return window; } -GHOST_TSuccess GHOST_SystemCarbon::beginFullScreen(const GHOST_DisplaySetting& setting, GHOST_IWindow** window, const bool stereoVisual) +GHOST_TSuccess GHOST_SystemCarbon::beginFullScreen(const GHOST_DisplaySetting& setting, GHOST_IWindow **window, const bool stereoVisual) { GHOST_TSuccess success = GHOST_kFailure; // need yo make this Carbon all on 10.5 for fullscreen to work correctly CGCaptureAllDisplays(); - success = GHOST_System::beginFullScreen( setting, window, stereoVisual); + success = GHOST_System::beginFullScreen(setting, window, stereoVisual); - if( success != GHOST_kSuccess ) { - // fullscreen failed for other reasons, release - CGReleaseAllDisplays(); + if (success != GHOST_kSuccess) { + // fullscreen failed for other reasons, release + CGReleaseAllDisplays(); } return success; @@ -459,8 +460,8 @@ GHOST_TSuccess GHOST_SystemCarbon::endFullScreen(void) } /* this is an old style low level event queue. - As we want to handle our own timers, this is ok. - the full screen hack should be removed */ + * As we want to handle our own timers, this is ok. + * the full screen hack should be removed */ bool GHOST_SystemCarbon::processEvents(bool waitForEvent) { bool anyProcessed = false; @@ -469,7 +470,7 @@ bool GHOST_SystemCarbon::processEvents(bool waitForEvent) // SetMouseCoalescingEnabled(false, NULL); do { - GHOST_TimerManager* timerMgr = getTimerManager(); + GHOST_TimerManager *timerMgr = getTimerManager(); if (waitForEvent) { GHOST_TUns64 next = timerMgr->nextFireTime(); @@ -477,8 +478,9 @@ bool GHOST_SystemCarbon::processEvents(bool waitForEvent) if (next == GHOST_kFireTimeNever) { timeOut = kEventDurationForever; - } else { - timeOut = (double)(next - getMilliSeconds())/1000.0; + } + else { + timeOut = (double)(next - getMilliSeconds()) / 1000.0; if (timeOut < 0.0) timeOut = 0.0; } @@ -492,26 +494,27 @@ bool GHOST_SystemCarbon::processEvents(bool waitForEvent) if (getFullScreen()) { // Check if the full-screen window is dirty - GHOST_IWindow* window = m_windowManager->getFullScreenWindow(); - if (((GHOST_WindowCarbon*)window)->getFullScreenDirty()) { - pushEvent( new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowUpdate, window) ); + GHOST_IWindow *window = m_windowManager->getFullScreenWindow(); + if (((GHOST_WindowCarbon *)window)->getFullScreenDirty()) { + pushEvent(new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowUpdate, window) ); anyProcessed = true; } } /* end loop when no more events available */ - while (::ReceiveNextEvent(0, NULL, 0, true, &event)==noErr) { - OSStatus status= ::SendEventToEventTarget(event, ::GetEventDispatcherTarget()); - if (status==noErr) { + while (::ReceiveNextEvent(0, NULL, 0, true, &event) == noErr) { + OSStatus status = ::SendEventToEventTarget(event, ::GetEventDispatcherTarget()); + if (status == noErr) { anyProcessed = true; - } else { - UInt32 i= ::GetEventClass(event); + } + else { + UInt32 i = ::GetEventClass(event); - /* Ignore 'cgs ' class, no documentation on what they - * are, but we get a lot of them - */ - if (i!='cgs ') { - if (i!='tblt') { // tablet event. we use the one packaged in the mouse event + /* Ignore 'cgs ' class, no documentation on what they + * are, but we get a lot of them + */ + if (i != 'cgs ') { + if (i != 'tblt') { // tablet event. we use the one packaged in the mouse event ; //printf("Missed - Class: '%.4s', Kind: %d\n", &i, ::GetEventKind(event)); } } @@ -538,7 +541,7 @@ GHOST_TSuccess GHOST_SystemCarbon::getCursorPosition(GHOST_TInt32& x, GHOST_TInt GHOST_TSuccess GHOST_SystemCarbon::setCursorPosition(GHOST_TInt32 x, GHOST_TInt32 y) { - float xf=(float)x, yf=(float)y; + float xf = (float)x, yf = (float)y; CGAssociateMouseAndMouseCursorPosition(false); CGSetLocalEventsSuppressionInterval(0); @@ -585,7 +588,8 @@ extern "C" int GHOST_HACK_getFirstFile(char buf[FIRSTFILEBUFLG]) strncpy(buf, g_firstFileBuf, FIRSTFILEBUFLG - 1); buf[FIRSTFILEBUFLG - 1] = '\0'; return 1; - } else { + } + else { return 0; } } @@ -605,28 +609,28 @@ OSErr GHOST_SystemCarbon::sAEHandlerOpenDocs(const AppleEvent *event, AppleEvent OSErr err; err = AEGetParamDesc(event, keyDirectObject, typeAEList, &docs); - if (err != noErr) return err; + if (err != noErr) return err; err = AECountItems(&docs, &ndocs); - if (err==noErr) { + if (err == noErr) { int i; - for (i=0; i<ndocs; i++) { + for (i = 0; i < ndocs; i++) { FSSpec fss; AEKeyword kwd; DescType actType; Size actSize; - err = AEGetNthPtr(&docs, i+1, typeFSS, &kwd, &actType, &fss, sizeof(fss), &actSize); - if (err!=noErr) + err = AEGetNthPtr(&docs, i + 1, typeFSS, &kwd, &actType, &fss, sizeof(fss), &actSize); + if (err != noErr) break; - if (i==0) { + if (i == 0) { FSRef fsref; - if (FSpMakeFSRef(&fss, &fsref)!=noErr) + if (FSpMakeFSRef(&fss, &fsref) != noErr) break; - if (FSRefMakePath(&fsref, (UInt8*) g_firstFileBuf, sizeof(g_firstFileBuf))!=noErr) + if (FSRefMakePath(&fsref, (UInt8 *) g_firstFileBuf, sizeof(g_firstFileBuf)) != noErr) break; g_hasFirstFile = true; @@ -648,9 +652,9 @@ OSErr GHOST_SystemCarbon::sAEHandlerPrintDocs(const AppleEvent *event, AppleEven OSErr GHOST_SystemCarbon::sAEHandlerQuit(const AppleEvent *event, AppleEvent *reply, SInt32 refCon) { - GHOST_SystemCarbon* sys = (GHOST_SystemCarbon*) refCon; + GHOST_SystemCarbon *sys = (GHOST_SystemCarbon *) refCon; - sys->pushEvent( new GHOST_Event(sys->getMilliSeconds(), GHOST_kEventQuit, NULL) ); + sys->pushEvent(new GHOST_Event(sys->getMilliSeconds(), GHOST_kEventQuit, NULL) ); return noErr; } @@ -698,47 +702,47 @@ OSStatus GHOST_SystemCarbon::handleWindowEvent(EventRef event) // Check if the event was send to a GHOST window ::GetEventParameter(event, kEventParamDirectObject, typeWindowRef, NULL, sizeof(WindowRef), NULL, &windowRef); - window = (GHOST_WindowCarbon*) ::GetWRefCon(windowRef); + window = (GHOST_WindowCarbon *) ::GetWRefCon(windowRef); if (!validWindow(window)) { return err; } //if (!getFullScreen()) { - err = noErr; - switch(::GetEventKind(event)) - { - case kEventWindowClose: - pushEvent( new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowClose, window) ); - break; - case kEventWindowActivated: - m_windowManager->setActiveWindow(window); - window->loadCursor(window->getCursorVisibility(), window->getCursorShape()); - pushEvent( new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowActivate, window) ); - break; - case kEventWindowDeactivated: - m_windowManager->setWindowInactive(window); - pushEvent( new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowDeactivate, window) ); - break; - case kEventWindowUpdate: - //if (getFullScreen()) GHOST_PRINT("GHOST_SystemCarbon::handleWindowEvent(): full-screen update event\n"); - pushEvent( new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowUpdate, window) ); - break; - case kEventWindowBoundsChanged: - if (!m_ignoreWindowSizedMessages) - { - window->updateDrawingContext(); - pushEvent( new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowSize, window) ); - } - break; - default: - err = eventNotHandledErr; - break; - } + err = noErr; + switch (::GetEventKind(event)) + { + case kEventWindowClose: + pushEvent(new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowClose, window) ); + break; + case kEventWindowActivated: + m_windowManager->setActiveWindow(window); + window->loadCursor(window->getCursorVisibility(), window->getCursorShape()); + pushEvent(new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowActivate, window) ); + break; + case kEventWindowDeactivated: + m_windowManager->setWindowInactive(window); + pushEvent(new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowDeactivate, window) ); + break; + case kEventWindowUpdate: + //if (getFullScreen()) GHOST_PRINT("GHOST_SystemCarbon::handleWindowEvent(): full-screen update event\n"); + pushEvent(new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowUpdate, window) ); + break; + case kEventWindowBoundsChanged: + if (!m_ignoreWindowSizedMessages) + { + window->updateDrawingContext(); + pushEvent(new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowSize, window) ); + } + break; + default: + err = eventNotHandledErr; + break; + } // } //else { - //window = (GHOST_WindowCarbon*) m_windowManager->getFullScreenWindow(); - //GHOST_PRINT("GHOST_SystemCarbon::handleWindowEvent(): full-screen window event, " << window << "\n"); - //::RemoveEventFromQueue(::GetMainEventQueue(), event); + //window = (GHOST_WindowCarbon*) m_windowManager->getFullScreenWindow(); + //GHOST_PRINT("GHOST_SystemCarbon::handleWindowEvent(): full-screen window event, " << window << "\n"); + //::RemoveEventFromQueue(::GetMainEventQueue(), event); //} return err; @@ -746,11 +750,11 @@ OSStatus GHOST_SystemCarbon::handleWindowEvent(EventRef event) OSStatus GHOST_SystemCarbon::handleTabletEvent(EventRef event) { - GHOST_IWindow* window = m_windowManager->getActiveWindow(); + GHOST_IWindow *window = m_windowManager->getActiveWindow(); TabletPointRec tabletPointRecord; - TabletProximityRec tabletProximityRecord; + TabletProximityRec tabletProximityRecord; UInt32 anInt32; - GHOST_TabletData& ct=((GHOST_WindowCarbon*)window)->GetCarbonTabletData(); + GHOST_TabletData& ct = ((GHOST_WindowCarbon *)window)->GetCarbonTabletData(); OSStatus err = eventNotHandledErr; ct.Pressure = 0; @@ -758,11 +762,11 @@ OSStatus GHOST_SystemCarbon::handleTabletEvent(EventRef event) ct.Ytilt = 0; // is there an embedded tablet event inside this mouse event? - if(noErr == GetEventParameter(event, kEventParamTabletEventType, typeUInt32, NULL, sizeof(UInt32), NULL, (void *)&anInt32)) + if (noErr == GetEventParameter(event, kEventParamTabletEventType, typeUInt32, NULL, sizeof(UInt32), NULL, (void *)&anInt32)) { // yes there is one! // Embedded tablet events can either be a proximity or pointer event. - if(anInt32 == kEventTabletPoint) + if (anInt32 == kEventTabletPoint) { //GHOST_PRINT("Embedded pointer event!\n"); @@ -771,28 +775,29 @@ OSStatus GHOST_SystemCarbon::handleTabletEvent(EventRef event) // error and go on. This can occur when a proximity event is embedded in // a mouse event and you did not check the mouse event to see which type // of tablet event was embedded. - if(noErr == GetEventParameter(event, kEventParamTabletPointRec, - typeTabletPointRec, NULL, - sizeof(TabletPointRec), - NULL, (void *)&tabletPointRecord)) + if (noErr == GetEventParameter(event, kEventParamTabletPointRec, + typeTabletPointRec, NULL, + sizeof(TabletPointRec), + NULL, (void *)&tabletPointRecord)) { ct.Pressure = tabletPointRecord.pressure / 65535.0f; ct.Xtilt = tabletPointRecord.tiltX / 32767.0f; /* can be positive or negative */ ct.Ytilt = tabletPointRecord.tiltY / 32767.0f; /* can be positive or negative */ } - } else { + } + else { //GHOST_PRINT("Embedded proximity event\n"); // Extract the Tablet Proximity record from the event. - if(noErr == GetEventParameter(event, kEventParamTabletProximityRec, - typeTabletProximityRec, NULL, - sizeof(TabletProximityRec), - NULL, (void *)&tabletProximityRecord)) + if (noErr == GetEventParameter(event, kEventParamTabletProximityRec, + typeTabletProximityRec, NULL, + sizeof(TabletProximityRec), + NULL, (void *)&tabletProximityRecord)) { if (tabletProximityRecord.enterProximity) { //pointer is entering tablet area proximity - switch(tabletProximityRecord.pointerType) + switch (tabletProximityRecord.pointerType) { case 1: /* stylus */ ct.Active = GHOST_kTabletModeStylus; @@ -807,25 +812,26 @@ OSStatus GHOST_SystemCarbon::handleTabletEvent(EventRef event) ct.Active = GHOST_kTabletModeNone; break; } - } else { + } + else { // pointer is leaving - return to mouse ct.Active = GHOST_kTabletModeNone; } } } - err = noErr; + err = noErr; } return err; } OSStatus GHOST_SystemCarbon::handleMouseEvent(EventRef event) { - OSStatus err = eventNotHandledErr; - GHOST_IWindow* window = m_windowManager->getActiveWindow(); + OSStatus err = eventNotHandledErr; + GHOST_IWindow *window = m_windowManager->getActiveWindow(); UInt32 kind = ::GetEventKind(event); switch (kind) - { + { case kEventMouseDown: case kEventMouseUp: // Handle Mac application responsibilities @@ -863,29 +869,29 @@ OSStatus GHOST_SystemCarbon::handleMouseEvent(EventRef event) break; } case kEventMouseWheelMoved: + { + OSStatus status; + //UInt32 modifiers; + EventMouseWheelAxis axis; + SInt32 delta; + //status = ::GetEventParameter(event, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(modifiers), NULL, &modifiers); + //GHOST_ASSERT(status == noErr, "GHOST_SystemCarbon::handleMouseEvent(): GetEventParameter() failed"); + status = ::GetEventParameter(event, kEventParamMouseWheelAxis, typeMouseWheelAxis, NULL, sizeof(axis), NULL, &axis); + GHOST_ASSERT(status == noErr, "GHOST_SystemCarbon::handleMouseEvent(): GetEventParameter() failed"); + if (axis == kEventMouseWheelAxisY) { - OSStatus status; - //UInt32 modifiers; - EventMouseWheelAxis axis; - SInt32 delta; - //status = ::GetEventParameter(event, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(modifiers), NULL, &modifiers); - //GHOST_ASSERT(status == noErr, "GHOST_SystemCarbon::handleMouseEvent(): GetEventParameter() failed"); - status = ::GetEventParameter(event, kEventParamMouseWheelAxis, typeMouseWheelAxis, NULL, sizeof(axis), NULL, &axis); + status = ::GetEventParameter(event, kEventParamMouseWheelDelta, typeLongInteger, NULL, sizeof(delta), NULL, &delta); GHOST_ASSERT(status == noErr, "GHOST_SystemCarbon::handleMouseEvent(): GetEventParameter() failed"); - if (axis == kEventMouseWheelAxisY) - { - status = ::GetEventParameter(event, kEventParamMouseWheelDelta, typeLongInteger, NULL, sizeof(delta), NULL, &delta); - GHOST_ASSERT(status == noErr, "GHOST_SystemCarbon::handleMouseEvent(): GetEventParameter() failed"); - /* - * Limit mouse wheel delta to plus and minus one. - */ - delta = delta > 0 ? 1 : -1; - pushEvent(new GHOST_EventWheel(getMilliSeconds(), window, delta)); - err = noErr; - } + /* + * Limit mouse wheel delta to plus and minus one. + */ + delta = delta > 0 ? 1 : -1; + pushEvent(new GHOST_EventWheel(getMilliSeconds(), window, delta)); + err = noErr; } - break; } + break; + } return err; } @@ -893,8 +899,8 @@ OSStatus GHOST_SystemCarbon::handleMouseEvent(EventRef event) OSStatus GHOST_SystemCarbon::handleKeyEvent(EventRef event) { - OSStatus err = eventNotHandledErr; - GHOST_IWindow* window = m_windowManager->getActiveWindow(); + OSStatus err = eventNotHandledErr; + GHOST_IWindow *window = m_windowManager->getActiveWindow(); UInt32 kind = ::GetEventKind(event); UInt32 modifiers; UInt32 rawCode; @@ -919,35 +925,37 @@ OSStatus GHOST_SystemCarbon::handleKeyEvent(EventRef event) ::GetEventParameter(event, kEventParamKeyMacCharCodes, typeChar, NULL, sizeof(char), NULL, &ascii); key = convertKey(rawCode); - ascii= convertRomanToLatin(ascii); + ascii = convertRomanToLatin(ascii); - // if (key!=GHOST_kKeyUnknown) { - GHOST_TEventType type; - if (kind == kEventRawKeyDown) { - type = GHOST_kEventKeyDown; - } else if (kind == kEventRawKeyRepeat) { - type = GHOST_kEventKeyDown; /* XXX, fixme */ - } else { - type = GHOST_kEventKeyUp; - } - pushEvent( new GHOST_EventKey( getMilliSeconds(), type, window, key, ascii, NULL) ); + // if (key!=GHOST_kKeyUnknown) { + GHOST_TEventType type; + if (kind == kEventRawKeyDown) { + type = GHOST_kEventKeyDown; + } + else if (kind == kEventRawKeyRepeat) { + type = GHOST_kEventKeyDown; /* XXX, fixme */ + } + else { + type = GHOST_kEventKeyUp; + } + pushEvent(new GHOST_EventKey(getMilliSeconds(), type, window, key, ascii, NULL) ); // } break; case kEventRawKeyModifiersChanged: - /* ugh */ + /* ugh */ ::GetEventParameter(event, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modifiers); if ((modifiers & shiftKey) != (m_modifierMask & shiftKey)) { - pushEvent( new GHOST_EventKey(getMilliSeconds(), (modifiers & shiftKey)?GHOST_kEventKeyDown:GHOST_kEventKeyUp, window, GHOST_kKeyLeftShift) ); + pushEvent(new GHOST_EventKey(getMilliSeconds(), (modifiers & shiftKey) ? GHOST_kEventKeyDown : GHOST_kEventKeyUp, window, GHOST_kKeyLeftShift) ); } if ((modifiers & controlKey) != (m_modifierMask & controlKey)) { - pushEvent( new GHOST_EventKey(getMilliSeconds(), (modifiers & controlKey)?GHOST_kEventKeyDown:GHOST_kEventKeyUp, window, GHOST_kKeyLeftControl) ); + pushEvent(new GHOST_EventKey(getMilliSeconds(), (modifiers & controlKey) ? GHOST_kEventKeyDown : GHOST_kEventKeyUp, window, GHOST_kKeyLeftControl) ); } if ((modifiers & optionKey) != (m_modifierMask & optionKey)) { - pushEvent( new GHOST_EventKey(getMilliSeconds(), (modifiers & optionKey)?GHOST_kEventKeyDown:GHOST_kEventKeyUp, window, GHOST_kKeyLeftAlt) ); + pushEvent(new GHOST_EventKey(getMilliSeconds(), (modifiers & optionKey) ? GHOST_kEventKeyDown : GHOST_kEventKeyUp, window, GHOST_kKeyLeftAlt) ); } if ((modifiers & cmdKey) != (m_modifierMask & cmdKey)) { - pushEvent( new GHOST_EventKey(getMilliSeconds(), (modifiers & cmdKey)?GHOST_kEventKeyDown:GHOST_kEventKeyUp, window, GHOST_kKeyOS) ); + pushEvent(new GHOST_EventKey(getMilliSeconds(), (modifiers & cmdKey) ? GHOST_kEventKeyDown : GHOST_kEventKeyUp, window, GHOST_kKeyOS) ); } m_modifierMask = modifiers; @@ -964,17 +972,17 @@ OSStatus GHOST_SystemCarbon::handleKeyEvent(EventRef event) bool GHOST_SystemCarbon::handleMouseDown(EventRef event) { - WindowPtr window; - short part; - BitMap screenBits; - bool handled = true; - GHOST_WindowCarbon* ghostWindow; - Point mousePos = {0 , 0}; + WindowPtr window; + short part; + BitMap screenBits; + bool handled = true; + GHOST_WindowCarbon *ghostWindow; + Point mousePos = {0, 0}; ::GetEventParameter(event, kEventParamMouseLocation, typeQDPoint, NULL, sizeof(Point), NULL, &mousePos); part = ::FindWindow(mousePos, &window); - ghostWindow = (GHOST_WindowCarbon*) ::GetWRefCon(window); + ghostWindow = (GHOST_WindowCarbon *) ::GetWRefCon(window); switch (part) { case inMenuBar: @@ -995,7 +1003,7 @@ bool GHOST_SystemCarbon::handleMouseDown(EventRef event) ::DragWindow(window, mousePos, &GetQDGlobalsScreenBits(&screenBits)->bounds); m_ignoreWindowSizedMessages = false; - pushEvent( new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowMove, ghostWindow) ); + pushEvent(new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowMove, ghostWindow) ); break; @@ -1009,7 +1017,8 @@ bool GHOST_SystemCarbon::handleMouseDown(EventRef event) EventMouseButton button; ::GetEventParameter(event, kEventParamMouseButton, typeMouseButton, NULL, sizeof(button), NULL, &button); pushEvent(new GHOST_EventButton(getMilliSeconds(), GHOST_kEventButtonDown, ghostWindow, convertButton(button))); - } else { + } + else { handled = false; } break; @@ -1020,7 +1029,7 @@ bool GHOST_SystemCarbon::handleMouseDown(EventRef event) { // todo: add option-close, because itÿs in the HIG // if (event.modifiers & optionKey) { - // Close the clean documents, others will be confirmed one by one. + // Close the clean documents, others will be confirmed one by one. //} // else { pushEvent(new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowClose, ghostWindow)); @@ -1040,23 +1049,24 @@ bool GHOST_SystemCarbon::handleMouseDown(EventRef event) int macState; macState = ghostWindow->getMac_windowState(); - if ( macState== 0) + if (macState == 0) ::ZoomWindow(window, part, true); else - if (macState == 2) { // always ok - ::ZoomWindow(window, part, true); - ghostWindow->setMac_windowState(1); - } else { // need to force size again + if (macState == 2) { // always ok + ::ZoomWindow(window, part, true); + ghostWindow->setMac_windowState(1); + } + else { // need to force size again // GHOST_TUns32 scr_x,scr_y; /*unused*/ - Rect outAvailableRect; + Rect outAvailableRect; - ghostWindow->setMac_windowState(2); - ::GetAvailableWindowPositioningBounds ( GetMainDevice(), &outAvailableRect); + ghostWindow->setMac_windowState(2); + ::GetAvailableWindowPositioningBounds(GetMainDevice(), &outAvailableRect); - //this->getMainDisplayDimensions(scr_x,scr_y); - ::SizeWindow (window, outAvailableRect.right-outAvailableRect.left,outAvailableRect.bottom-outAvailableRect.top-1,false); - ::MoveWindow (window, outAvailableRect.left, outAvailableRect.top,true); - } + //this->getMainDisplayDimensions(scr_x,scr_y); + ::SizeWindow(window, outAvailableRect.right - outAvailableRect.left, outAvailableRect.bottom - outAvailableRect.top - 1, false); + ::MoveWindow(window, outAvailableRect.left, outAvailableRect.top, true); + } } break; @@ -1072,11 +1082,11 @@ bool GHOST_SystemCarbon::handleMouseDown(EventRef event) bool GHOST_SystemCarbon::handleMenuCommand(GHOST_TInt32 menuResult) { - short menuID; - short menuItem; - UInt32 command; - bool handled; - OSErr err; + short menuID; + short menuItem; + UInt32 command; + bool handled; + OSErr err; menuID = HiWord(menuResult); menuItem = LoWord(menuResult); @@ -1088,7 +1098,7 @@ bool GHOST_SystemCarbon::handleMenuCommand(GHOST_TInt32 menuResult) if (err || command == 0) { } else { - switch(command) { + switch (command) { } } @@ -1097,11 +1107,11 @@ bool GHOST_SystemCarbon::handleMenuCommand(GHOST_TInt32 menuResult) } -OSStatus GHOST_SystemCarbon::sEventHandlerProc(EventHandlerCallRef handler, EventRef event, void* userData) +OSStatus GHOST_SystemCarbon::sEventHandlerProc(EventHandlerCallRef handler, EventRef event, void *userData) { - GHOST_SystemCarbon* sys = (GHOST_SystemCarbon*) userData; + GHOST_SystemCarbon *sys = (GHOST_SystemCarbon *) userData; OSStatus err = eventNotHandledErr; - GHOST_IWindow* window; + GHOST_IWindow *window; #ifdef WITH_INPUT_NDOF GHOST_TEventNDOFData data; #endif @@ -1124,7 +1134,7 @@ OSStatus GHOST_SystemCarbon::sEventHandlerProc(EventHandlerCallRef handler, Even case kEventClassKeyboard: err = sys->handleKeyEvent(event); break; - case kEventClassBlender : + case kEventClassBlender: #ifdef WITH_INPUT_NDOF window = sys->m_windowManager->getActiveWindow(); sys->m_ndofManager->GHOST_NDOFGetDatas(data); @@ -1134,7 +1144,7 @@ OSStatus GHOST_SystemCarbon::sEventHandlerProc(EventHandlerCallRef handler, Even { case 1: sys->m_eventManager->pushEvent(new GHOST_EventNDOF(sys->getMilliSeconds(), GHOST_kEventNDOFMotion, window, data)); - // printf("motion\n"); + // printf("motion\n"); break; case 2: sys->m_eventManager->pushEvent(new GHOST_EventNDOF(sys->getMilliSeconds(), GHOST_kEventNDOFButton, window, data)); @@ -1144,7 +1154,7 @@ OSStatus GHOST_SystemCarbon::sEventHandlerProc(EventHandlerCallRef handler, Even #endif err = noErr; break; - default : + default: ; break; } @@ -1152,48 +1162,49 @@ OSStatus GHOST_SystemCarbon::sEventHandlerProc(EventHandlerCallRef handler, Even return err; } -GHOST_TUns8* GHOST_SystemCarbon::getClipboard(bool selection) const +GHOST_TUns8 *GHOST_SystemCarbon::getClipboard(bool selection) const { PasteboardRef inPasteboard; PasteboardItemID itemID; CFDataRef flavorData; OSStatus err = noErr; - GHOST_TUns8 * temp_buff; + GHOST_TUns8 *temp_buff; CFRange range; OSStatus syncFlags; err = PasteboardCreate(kPasteboardClipboard, &inPasteboard); - if(err != noErr) { return NULL;} + if (err != noErr) { return NULL; } - syncFlags = PasteboardSynchronize( inPasteboard ); - /* as we always get in a new string, we can safely ignore sync flags if not an error*/ - if(syncFlags <0) { return NULL;} + syncFlags = PasteboardSynchronize(inPasteboard); + /* as we always get in a new string, we can safely ignore sync flags if not an error*/ + if (syncFlags < 0) { return NULL; } - err = PasteboardGetItemIdentifier( inPasteboard, 1, &itemID ); - if(err != noErr) { return NULL;} + err = PasteboardGetItemIdentifier(inPasteboard, 1, &itemID); + if (err != noErr) { return NULL; } - err = PasteboardCopyItemFlavorData( inPasteboard, itemID, CFSTR("public.utf8-plain-text"), &flavorData); - if(err != noErr) { return NULL;} + err = PasteboardCopyItemFlavorData(inPasteboard, itemID, CFSTR("public.utf8-plain-text"), &flavorData); + if (err != noErr) { return NULL; } range = CFRangeMake(0, CFDataGetLength(flavorData)); - temp_buff = (GHOST_TUns8*) malloc(range.length+1); + temp_buff = (GHOST_TUns8 *) malloc(range.length + 1); - CFDataGetBytes(flavorData, range, (UInt8*)temp_buff); + CFDataGetBytes(flavorData, range, (UInt8 *)temp_buff); temp_buff[range.length] = '\0'; - if(temp_buff) { + if (temp_buff) { return temp_buff; - } else { + } + else { return NULL; } } void GHOST_SystemCarbon::putClipboard(GHOST_TInt8 *buffer, bool selection) const { - if(selection) {return;} // for copying the selection, used on X11 + if (selection) {return; } // for copying the selection, used on X11 PasteboardRef inPasteboard; CFDataRef textData = NULL; @@ -1201,26 +1212,26 @@ void GHOST_SystemCarbon::putClipboard(GHOST_TInt8 *buffer, bool selection) const OSStatus syncFlags; err = PasteboardCreate(kPasteboardClipboard, &inPasteboard); - if(err != noErr) { return;} + if (err != noErr) { return; } - syncFlags = PasteboardSynchronize( inPasteboard ); + syncFlags = PasteboardSynchronize(inPasteboard); /* as we always put in a new string, we can safely ignore sync flags */ - if(syncFlags <0) { return;} + if (syncFlags < 0) { return; } - err = PasteboardClear( inPasteboard ); - if(err != noErr) { return;} + err = PasteboardClear(inPasteboard); + if (err != noErr) { return; } - textData = CFDataCreate(kCFAllocatorDefault, (UInt8*)buffer, strlen(buffer)); + textData = CFDataCreate(kCFAllocatorDefault, (UInt8 *)buffer, strlen(buffer)); if (textData) { - err = PasteboardPutItemFlavor( inPasteboard, (PasteboardItemID)1, CFSTR("public.utf8-plain-text"), textData, 0); - if(err != noErr) { - if(textData) { CFRelease(textData);} - return; - } + err = PasteboardPutItemFlavor(inPasteboard, (PasteboardItemID)1, CFSTR("public.utf8-plain-text"), textData, 0); + if (err != noErr) { + if (textData) { CFRelease(textData); } + return; + } } - if(textData) { + if (textData) { CFRelease(textData); } } diff --git a/intern/ghost/intern/GHOST_SystemCarbon.h b/intern/ghost/intern/GHOST_SystemCarbon.h index cda09480788..2415c57e094 100644 --- a/intern/ghost/intern/GHOST_SystemCarbon.h +++ b/intern/ghost/intern/GHOST_SystemCarbon.h @@ -84,7 +84,7 @@ public: * Returns the number of displays on this system. * @return The number of displays. */ - virtual GHOST_TUns8 getNumDisplays() const; + virtual GHOST_TUns8 getNumDisplays() const; /** * Returns the dimensions of the main display on this system. @@ -103,29 +103,29 @@ public: * @param height The height the window. * @param state The state of the window when opened. * @param type The type of drawing context installed in this window. - * @param parentWindow Parent (embedder) window + * @param parentWindow Parent (embedder) window * @return The new window (or 0 if creation failed). */ - virtual GHOST_IWindow* createWindow( - const STR_String& title, - GHOST_TInt32 left, - GHOST_TInt32 top, - GHOST_TUns32 width, - GHOST_TUns32 height, - GHOST_TWindowState state, - GHOST_TDrawingContextType type, - const bool stereoVisual, - const GHOST_TUns16 numOfAASamples = 0, - const GHOST_TEmbedderWindowID parentWindow = 0 - ); + virtual GHOST_IWindow *createWindow( + const STR_String& title, + GHOST_TInt32 left, + GHOST_TInt32 top, + GHOST_TUns32 width, + GHOST_TUns32 height, + GHOST_TWindowState state, + GHOST_TDrawingContextType type, + const bool stereoVisual, + const GHOST_TUns16 numOfAASamples = 0, + const GHOST_TEmbedderWindowID parentWindow = 0 + ); virtual GHOST_TSuccess beginFullScreen( - const GHOST_DisplaySetting& setting, - GHOST_IWindow** window, - const bool stereoVisual - ); + const GHOST_DisplaySetting& setting, + GHOST_IWindow **window, + const bool stereoVisual + ); - virtual GHOST_TSuccess endFullScreen( void ); + virtual GHOST_TSuccess endFullScreen(void); /*************************************************************************************** ** Event management functionality @@ -181,7 +181,7 @@ public: * @param selection Indicate which buffer to return * @return Returns the selected buffer */ - virtual GHOST_TUns8* getClipboard(bool selection) const; + virtual GHOST_TUns8 *getClipboard(bool selection) const; /** * Puts buffer to system clipboard @@ -193,7 +193,9 @@ public: /** * @see GHOST_ISystem */ - int toggleConsole(int action) { return 0; } + int toggleConsole(int action) { + return 0; + } protected: /** @@ -258,7 +260,7 @@ protected: /** * Callback for Carbon when it has events. */ - static OSStatus sEventHandlerProc(EventHandlerCallRef handler, EventRef event, void* userData); + static OSStatus sEventHandlerProc(EventHandlerCallRef handler, EventRef event, void *userData); /** Apple Event Handlers */ static OSErr sAEHandlerLaunch(const AppleEvent *event, AppleEvent *reply, SInt32 refCon); diff --git a/intern/ghost/intern/GHOST_SystemCocoa.h b/intern/ghost/intern/GHOST_SystemCocoa.h index ce7677aee7a..47a7a6a9a73 100644 --- a/intern/ghost/intern/GHOST_SystemCocoa.h +++ b/intern/ghost/intern/GHOST_SystemCocoa.h @@ -62,8 +62,8 @@ public: ~GHOST_SystemCocoa(); /*************************************************************************************** - ** Time(r) functionality - ***************************************************************************************/ + ** Time(r) functionality + ***************************************************************************************/ /** * Returns the system time. @@ -74,14 +74,14 @@ public: virtual GHOST_TUns64 getMilliSeconds() const; /*************************************************************************************** - ** Display/window management functionality - ***************************************************************************************/ + ** Display/window management functionality + ***************************************************************************************/ /** * Returns the number of displays on this system. * @return The number of displays. */ - virtual GHOST_TUns8 getNumDisplays() const; + virtual GHOST_TUns8 getNumDisplays() const; /** * Returns the dimensions of the main display on this system. @@ -102,25 +102,25 @@ public: * @param type The type of drawing context installed in this window. * @param stereoVisual Stereo visual for quad buffered stereo. * @param numOfAASamples Number of samples used for AA (zero if no AA) - * @param parentWindow Parent (embedder) window + * @param parentWindow Parent (embedder) window * @return The new window (or 0 if creation failed). */ - virtual GHOST_IWindow* createWindow( - const STR_String& title, - GHOST_TInt32 left, - GHOST_TInt32 top, - GHOST_TUns32 width, - GHOST_TUns32 height, - GHOST_TWindowState state, - GHOST_TDrawingContextType type, - const bool stereoVisual = false, - const GHOST_TUns16 numOfAASamples = 0, - const GHOST_TEmbedderWindowID parentWindow = 0 - ); + virtual GHOST_IWindow *createWindow( + const STR_String& title, + GHOST_TInt32 left, + GHOST_TInt32 top, + GHOST_TUns32 width, + GHOST_TUns32 height, + GHOST_TWindowState state, + GHOST_TDrawingContextType type, + const bool stereoVisual = false, + const GHOST_TUns16 numOfAASamples = 0, + const GHOST_TEmbedderWindowID parentWindow = 0 + ); /*************************************************************************************** - ** Event management functionality - ***************************************************************************************/ + ** Event management functionality + ***************************************************************************************/ /** * Gets events from the system and stores them in the queue. @@ -151,11 +151,11 @@ public: * @return Indication whether the event was handled. */ GHOST_TSuccess handleDraggingEvent(GHOST_TEventType eventType, GHOST_TDragnDropTypes draggedObjectType, - GHOST_WindowCocoa* window, int mouseX, int mouseY, void* data); + GHOST_WindowCocoa *window, int mouseX, int mouseY, void *data); /*************************************************************************************** - ** Cursor management functionality - ***************************************************************************************/ + ** Cursor management functionality + ***************************************************************************************/ /** * Returns the current location of the cursor (location in screen coordinates) @@ -174,8 +174,8 @@ public: virtual GHOST_TSuccess setCursorPosition(GHOST_TInt32 x, GHOST_TInt32 y); /*************************************************************************************** - ** Access to mouse button and keyboard states. - ***************************************************************************************/ + ** Access to mouse button and keyboard states. + ***************************************************************************************/ /** * Returns the state of all modifier keys. @@ -196,7 +196,7 @@ public: * @param selection Indicate which buffer to return * @return Returns the selected buffer */ - virtual GHOST_TUns8* getClipboard(bool selection) const; + virtual GHOST_TUns8 *getClipboard(bool selection) const; /** * Puts buffer to system clipboard @@ -211,7 +211,7 @@ public: * @param window The window on which the event occurred * @return Indication whether the event was handled. */ - GHOST_TSuccess handleWindowEvent(GHOST_TEventType eventType, GHOST_WindowCocoa* window); + GHOST_TSuccess handleWindowEvent(GHOST_TEventType eventType, GHOST_WindowCocoa *window); /** * Handles the Cocoa event telling the application has become active (again) @@ -227,7 +227,9 @@ public: /** * @see GHOST_ISystem */ - int toggleConsole(int action) { return 0; } + int toggleConsole(int action) { + return 0; + } protected: diff --git a/intern/ghost/intern/GHOST_SystemNULL.h b/intern/ghost/intern/GHOST_SystemNULL.h index be16a8286d5..63e3b5bc828 100644 --- a/intern/ghost/intern/GHOST_SystemNULL.h +++ b/intern/ghost/intern/GHOST_SystemNULL.h @@ -66,19 +66,19 @@ public: return GHOST_kFailure; } - GHOST_IWindow* createWindow( - const STR_String& title, - GHOST_TInt32 left, - GHOST_TInt32 top, - GHOST_TUns32 width, - GHOST_TUns32 height, - GHOST_TWindowState state, - GHOST_TDrawingContextType type, - bool stereoVisual, - const GHOST_TUns16 numOfAASamples, - const GHOST_TEmbedderWindowID parentWindow - ) { - return new GHOST_WindowNULL (this, title, left, top, width, height, state, parentWindow, type, stereoVisual, 1); + GHOST_IWindow *createWindow( + const STR_String& title, + GHOST_TInt32 left, + GHOST_TInt32 top, + GHOST_TUns32 width, + GHOST_TUns32 height, + GHOST_TWindowState state, + GHOST_TDrawingContextType type, + bool stereoVisual, + const GHOST_TUns16 numOfAASamples, + const GHOST_TEmbedderWindowID parentWindow) + { + return new GHOST_WindowNULL(this, title, left, top, width, height, state, parentWindow, type, stereoVisual, 1); } }; diff --git a/intern/ghost/intern/GHOST_SystemPaths.h b/intern/ghost/intern/GHOST_SystemPaths.h index 472d6369282..75acbf885e3 100644 --- a/intern/ghost/intern/GHOST_SystemPaths.h +++ b/intern/ghost/intern/GHOST_SystemPaths.h @@ -40,40 +40,40 @@ protected: * Constructor. * Protected default constructor to force use of static createSystem member. */ - GHOST_SystemPaths(){}; + GHOST_SystemPaths() {}; /** * Destructor. * Protected default constructor to force use of static dispose member. */ - virtual ~GHOST_SystemPaths(){}; + virtual ~GHOST_SystemPaths() {}; public: /** * Determine the base dir in which shared resources are located. It will first try to use - * "unpack and run" path, then look for properly installed path, not including versioning. + * "unpack and run" path, then look for properly installed path, including versioning. * @return Unsigned char string pointing to system dir (eg /usr/share/blender/). */ - virtual const GHOST_TUns8* getSystemDir() const = 0; + virtual const GHOST_TUns8 *getSystemDir(int version, const char *versionstr) const = 0; /** - * Determine the base dir in which user configuration is stored, not including versioning. + * Determine the base dir in which user configuration is stored, including versioning. * If needed, it will create the base directory. * @return Unsigned char string pointing to user dir (eg ~/.blender/). */ - virtual const GHOST_TUns8* getUserDir() const = 0; + virtual const GHOST_TUns8 *getUserDir(int version, const char *versionstr) const = 0; /** - * Determine the directory of the current binary - * @return Unsigned char string pointing to the binary dir - */ - virtual const GHOST_TUns8* getBinaryDir() const = 0; + * Determine the directory of the current binary + * @return Unsigned char string pointing to the binary dir + */ + virtual const GHOST_TUns8 *getBinaryDir() const = 0; /** * Add the file to the operating system most recently used files */ - virtual void addToSystemRecentFiles(const char* filename) const = 0; + virtual void addToSystemRecentFiles(const char *filename) const = 0; }; diff --git a/intern/ghost/intern/GHOST_SystemPathsCarbon.cpp b/intern/ghost/intern/GHOST_SystemPathsCarbon.cpp index 02d45131f5a..7d43392a79c 100644 --- a/intern/ghost/intern/GHOST_SystemPathsCarbon.cpp +++ b/intern/ghost/intern/GHOST_SystemPathsCarbon.cpp @@ -44,27 +44,29 @@ GHOST_SystemPathsCarbon::~GHOST_SystemPathsCarbon() { } -const GHOST_TUns8* GHOST_SystemPathsCarbon::getSystemDir() const +const GHOST_TUns8 *GHOST_SystemPathsCarbon::getSystemDir(int, const char *versionstr) const { - return (GHOST_TUns8*)"/Library/Application Support"; + static char systemPath[1024]; + + snprintf(systemPath, sizeof(systemPath), "/Library/Application Support/Blender/%s", versionstr); + + return (GHOST_TUns8*)systemPath; } -const GHOST_TUns8* GHOST_SystemPathsCarbon::getUserDir() const +const GHOST_TUns8 *GHOST_SystemPathsCarbon::getUserDir(int, const char *versionstr) const { - static char usrPath[256] = ""; - char* env = getenv("HOME"); + static char usrPath[1024]; + char *env = getenv("HOME"); if (env) { - strncpy(usrPath, env, 245); - usrPath[245]=0; - strcat(usrPath, "/Library/Application Support"); - return (GHOST_TUns8*) usrPath; + snprintf(usrPath, sizeof(usrPath), "%s/Library/Application Support/Blender/%s", env, versionstr); + return (GHOST_TUns8*)usrPath; } else return NULL; } -const GHOST_TUns8* GHOST_SystemPathsCarbon::getBinaryDir() const +const GHOST_TUns8 *GHOST_SystemPathsCarbon::getBinaryDir() const { CFURLRef bundleURL; CFStringRef pathStr; @@ -76,10 +78,10 @@ const GHOST_TUns8* GHOST_SystemPathsCarbon::getBinaryDir() const CFStringGetCString(pathStr, path, 255, kCFStringEncodingASCII); CFRelease(pathStr); CFRelease(bundleURL); - return (GHOST_TUns8*)path; + return (GHOST_TUns8 *)path; } -void GHOST_SystemPathsCarbon::addToSystemRecentFiles(const char* filename) const +void GHOST_SystemPathsCarbon::addToSystemRecentFiles(const char *filename) const { /* XXXXX TODO: Implementation for Carbon if possible */ diff --git a/intern/ghost/intern/GHOST_SystemPathsCarbon.h b/intern/ghost/intern/GHOST_SystemPathsCarbon.h index 4a1f68e9ba7..6a94c1d6606 100644 --- a/intern/ghost/intern/GHOST_SystemPathsCarbon.h +++ b/intern/ghost/intern/GHOST_SystemPathsCarbon.h @@ -60,28 +60,28 @@ public: /** * Determine the base dir in which shared resources are located. It will first try to use - * "unpack and run" path, then look for properly installed path, not including versioning. + * "unpack and run" path, then look for properly installed path, including versioning. * @return Unsigned char string pointing to system dir (eg /usr/share/blender/). */ - virtual const GHOST_TUns8* getSystemDir() const; + virtual const GHOST_TUns8 *getSystemDir(int version, const char *versionstr) const; /** - * Determine the base dir in which user configuration is stored, not including versioning. + * Determine the base dir in which user configuration is stored, including versioning. * If needed, it will create the base directory. * @return Unsigned char string pointing to user dir (eg ~/.blender/). */ - virtual const GHOST_TUns8* getUserDir() const; + virtual const GHOST_TUns8 *getUserDir(int version, const char *versionstr) const; /** - * Determine the directory of the current binary - * @return Unsigned char string pointing to the binary dir - */ - virtual const GHOST_TUns8* getBinaryDir() const; + * Determine the directory of the current binary + * @return Unsigned char string pointing to the binary dir + */ + virtual const GHOST_TUns8 *getBinaryDir() const; /** - * Add the file to the operating system most recently used files - */ - void addToSystemRecentFiles(const char* filename) const; + * Add the file to the operating system most recently used files + */ + void addToSystemRecentFiles(const char *filename) const; }; #endif // __GHOST_SYSTEMPATHSCARBON_H__ diff --git a/intern/ghost/intern/GHOST_SystemPathsCocoa.h b/intern/ghost/intern/GHOST_SystemPathsCocoa.h index 1936d705945..ad44396c3ff 100644 --- a/intern/ghost/intern/GHOST_SystemPathsCocoa.h +++ b/intern/ghost/intern/GHOST_SystemPathsCocoa.h @@ -54,28 +54,28 @@ public: /** * Determine the base dir in which shared resources are located. It will first try to use - * "unpack and run" path, then look for properly installed path, not including versioning. + * "unpack and run" path, then look for properly installed path, including versioning. * @return Unsigned char string pointing to system dir (eg /usr/share/blender/). */ - virtual const GHOST_TUns8* getSystemDir() const; + virtual const GHOST_TUns8 *getSystemDir(int version, const char *versionstr) const; /** - * Determine the base dir in which user configuration is stored, not including versioning. + * Determine the base dir in which user configuration is stored, including versioning. * If needed, it will create the base directory. * @return Unsigned char string pointing to user dir (eg ~/.blender/). */ - virtual const GHOST_TUns8* getUserDir() const; + virtual const GHOST_TUns8 *getUserDir(int version, const char *versionstr) const; /** - * Determine the directory of the current binary - * @return Unsigned char string pointing to the binary dir - */ - virtual const GHOST_TUns8* getBinaryDir() const; + * Determine the directory of the current binary + * @return Unsigned char string pointing to the binary dir + */ + virtual const GHOST_TUns8 *getBinaryDir() const; /** * Add the file to the operating system most recently used files */ - void addToSystemRecentFiles(const char* filename) const; + void addToSystemRecentFiles(const char *filename) const; }; #endif // __GHOST_SYSTEMPATHSCOCOA_H__ diff --git a/intern/ghost/intern/GHOST_SystemPathsCocoa.mm b/intern/ghost/intern/GHOST_SystemPathsCocoa.mm index cce07c223e8..50ad91eeb99 100644 --- a/intern/ghost/intern/GHOST_SystemPathsCocoa.mm +++ b/intern/ghost/intern/GHOST_SystemPathsCocoa.mm @@ -50,9 +50,9 @@ GHOST_SystemPathsCocoa::~GHOST_SystemPathsCocoa() #pragma mark Base directories retrieval -const GHOST_TUns8* GHOST_SystemPathsCocoa::getSystemDir() const +const GHOST_TUns8* GHOST_SystemPathsCocoa::getSystemDir(int, const char *versionstr) const { - static GHOST_TUns8 tempPath[512] = ""; + static char tempPath[512] = ""; NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSString *basePath; NSArray *paths; @@ -66,15 +66,15 @@ const GHOST_TUns8* GHOST_SystemPathsCocoa::getSystemDir() const return NULL; } - strcpy((char*)tempPath, [basePath cStringUsingEncoding:NSASCIIStringEncoding]); + snprintf(tempPath, sizeof(tempPath), "%s/Blender/%s", [basePath cStringUsingEncoding:NSASCIIStringEncoding], versionstr); [pool drain]; - return tempPath; + return (GHOST_TUns8*)tempPath; } -const GHOST_TUns8* GHOST_SystemPathsCocoa::getUserDir() const +const GHOST_TUns8* GHOST_SystemPathsCocoa::getUserDir(int, const char *versionstr) const { - static GHOST_TUns8 tempPath[512] = ""; + static char tempPath[512] = ""; NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSString *basePath; NSArray *paths; @@ -88,10 +88,10 @@ const GHOST_TUns8* GHOST_SystemPathsCocoa::getUserDir() const return NULL; } - strcpy((char*)tempPath, [basePath cStringUsingEncoding:NSASCIIStringEncoding]); + snprintf(tempPath, sizeof(tempPath), "%s/Blender/%s", [basePath cStringUsingEncoding:NSASCIIStringEncoding], versionstr); [pool drain]; - return tempPath; + return (GHOST_TUns8*)tempPath; } const GHOST_TUns8* GHOST_SystemPathsCocoa::getBinaryDir() const diff --git a/intern/ghost/intern/GHOST_SystemPathsWin32.cpp b/intern/ghost/intern/GHOST_SystemPathsWin32.cpp index 0023ceb87f0..3a313c792d0 100644 --- a/intern/ghost/intern/GHOST_SystemPathsWin32.cpp +++ b/intern/ghost/intern/GHOST_SystemPathsWin32.cpp @@ -69,46 +69,50 @@ GHOST_SystemPathsWin32::~GHOST_SystemPathsWin32() { } -const GHOST_TUns8* GHOST_SystemPathsWin32::getSystemDir() const +const GHOST_TUns8 *GHOST_SystemPathsWin32::getSystemDir(int, const char *versionstr) const { - static char knownpath[MAX_PATH*3] = {0}; /* 1 utf-16 might translante into 3 utf-8. 2 utf-16 translates into 4 utf-8*/ + static char knownpath[MAX_PATH * 3 + 128] = {0}; /* 1 utf-16 might translante into 3 utf-8. 2 utf-16 translates into 4 utf-8*/ wchar_t knownpath_16[MAX_PATH]; HRESULT hResult = SHGetFolderPathW(NULL, CSIDL_COMMON_APPDATA, NULL, SHGFP_TYPE_CURRENT, knownpath_16); if (hResult == S_OK) { - conv_utf_16_to_8(knownpath_16,knownpath,MAX_PATH*3); + conv_utf_16_to_8(knownpath_16, knownpath, MAX_PATH * 3); + strcat(knownpath, "\\Blender Foundation\\Blender\\"); + strcat(knownpath, versionstr); return (GHOST_TUns8*)knownpath; } return NULL; } -const GHOST_TUns8* GHOST_SystemPathsWin32::getUserDir() const +const GHOST_TUns8 *GHOST_SystemPathsWin32::getUserDir(int, const char *versionstr) const { - static char knownpath[MAX_PATH*3] = {0}; - wchar_t knownpath_16[MAX_PATH]; + static char knownpath[MAX_PATH * 3 + 128] = {0}; + wchar_t knownpath_16[MAX_PATH]; HRESULT hResult = SHGetFolderPathW(NULL, CSIDL_APPDATA, NULL, SHGFP_TYPE_CURRENT, knownpath_16); if (hResult == S_OK) { - conv_utf_16_to_8(knownpath_16,knownpath,MAX_PATH*3); + conv_utf_16_to_8(knownpath_16, knownpath, MAX_PATH * 3); + strcat(knownpath, "\\Blender Foundation\\Blender\\"); + strcat(knownpath, versionstr); return (GHOST_TUns8*)knownpath; } return NULL; } -const GHOST_TUns8* GHOST_SystemPathsWin32::getBinaryDir() const +const GHOST_TUns8 *GHOST_SystemPathsWin32::getBinaryDir() const { - static char fullname[MAX_PATH*3] = {0}; - wchar_t fullname_16[MAX_PATH*3]; + static char fullname[MAX_PATH * 3] = {0}; + wchar_t fullname_16[MAX_PATH * 3]; - if(GetModuleFileNameW(0, fullname_16, MAX_PATH)) { - conv_utf_16_to_8(fullname_16,fullname,MAX_PATH*3); - return (GHOST_TUns8*)fullname; + if (GetModuleFileNameW(0, fullname_16, MAX_PATH)) { + conv_utf_16_to_8(fullname_16, fullname, MAX_PATH * 3); + return (GHOST_TUns8 *)fullname; } return NULL; diff --git a/intern/ghost/intern/GHOST_SystemPathsWin32.h b/intern/ghost/intern/GHOST_SystemPathsWin32.h index f53b33da756..3a243f8be16 100644 --- a/intern/ghost/intern/GHOST_SystemPathsWin32.h +++ b/intern/ghost/intern/GHOST_SystemPathsWin32.h @@ -64,23 +64,23 @@ public: /** * Determine the base dir in which shared resources are located. It will first try to use - * "unpack and run" path, then look for properly installed path, not including versioning. + * "unpack and run" path, then look for properly installed path, including versioning. * @return Unsigned char string pointing to system dir (eg /usr/share/). */ - const GHOST_TUns8* getSystemDir() const; + const GHOST_TUns8 *getSystemDir(int version, const char *versionstr) const; /** - * Determine the base dir in which user configuration is stored, not including versioning. + * Determine the base dir in which user configuration is stored, including versioning. * If needed, it will create the base directory. * @return Unsigned char string pointing to user dir (eg ~/). */ - const GHOST_TUns8* getUserDir() const; + const GHOST_TUns8 *getUserDir(int version, const char *versionstr) const; /** * Determine the directory of the current binary * @return Unsigned char string pointing to the binary dir */ - const GHOST_TUns8* getBinaryDir() const; + const GHOST_TUns8 *getBinaryDir() const; /** * Add the file to the operating system most recently used files diff --git a/intern/ghost/intern/GHOST_SystemPathsX11.cpp b/intern/ghost/intern/GHOST_SystemPathsX11.cpp index c148a16d5fc..95f82fe0e60 100644 --- a/intern/ghost/intern/GHOST_SystemPathsX11.cpp +++ b/intern/ghost/intern/GHOST_SystemPathsX11.cpp @@ -41,10 +41,8 @@ #include <stdio.h> // for fprintf only #include <cstdlib> // for exit -#ifdef WITH_XDG_USER_DIRS -# include <pwd.h> // for get home without use getenv() -# include <limits.h> // for PATH_MAX -#endif +#include <pwd.h> // for get home without use getenv() +#include <limits.h> // for PATH_MAX #ifdef PREFIX static const char *static_path = PREFIX "/share"; @@ -60,35 +58,51 @@ GHOST_SystemPathsX11::~GHOST_SystemPathsX11() { } -const GHOST_TUns8 *GHOST_SystemPathsX11::getSystemDir() const +const GHOST_TUns8 *GHOST_SystemPathsX11::getSystemDir(int, const char *versionstr) const { /* no prefix assumes a portable build which only uses bundled scripts */ - return (const GHOST_TUns8 *)static_path; + if(static_path) { + static char system_path[PATH_MAX]; + snprintf(system_path, sizeof(system_path), "%s/blender/%s", static_path, versionstr); + return (GHOST_TUns8*)system_path; + } + + return NULL; } -const GHOST_TUns8 *GHOST_SystemPathsX11::getUserDir() const +const GHOST_TUns8 *GHOST_SystemPathsX11::getUserDir(int version, const char *versionstr) const { -#ifndef WITH_XDG_USER_DIRS - return (const GHOST_TUns8 *)getenv("HOME"); -#else /* WITH_XDG_USER_DIRS */ - const char *home = getenv("XDG_CONFIG_HOME"); + static char user_path[PATH_MAX]; + + /* in blender 2.64, we migrate to XDG. to ensure the copy previous settings + * operator works we give a different path depending on the requested version */ + if(version < 264) { + const char *home = getenv("HOME"); - if (home) { - return (const GHOST_TUns8 *)home; + if(home) { + snprintf(user_path, sizeof(user_path), "%s/.blender/%s", home, versionstr); + return (GHOST_TUns8*)user_path; + } + + return NULL; } else { - static char user_path[PATH_MAX]; + const char *home= getenv("XDG_CONFIG_HOME"); + + if (home) { + snprintf(user_path, sizeof(user_path), "%s/blender/%s", home, versionstr); + } + else { + home= getenv("HOME"); - home = getenv("HOME"); + if (home == NULL) + home= getpwuid(getuid())->pw_dir; - if (home == NULL) { - home = getpwuid(getuid())->pw_dir; + snprintf(user_path, sizeof(user_path), "%s/.config/blender/%s", home, versionstr); } - snprintf(user_path, sizeof(user_path), "%s/.config", home); return (const GHOST_TUns8 *)user_path; } -#endif /* WITH_XDG_USER_DIRS */ } const GHOST_TUns8 *GHOST_SystemPathsX11::getBinaryDir() const diff --git a/intern/ghost/intern/GHOST_SystemPathsX11.h b/intern/ghost/intern/GHOST_SystemPathsX11.h index 8ded9a35276..db6d5a6c6ea 100644 --- a/intern/ghost/intern/GHOST_SystemPathsX11.h +++ b/intern/ghost/intern/GHOST_SystemPathsX11.h @@ -52,17 +52,17 @@ public: /** * Determine the base dir in which shared resources are located. It will first try to use - * "unpack and run" path, then look for properly installed path, not including versioning. + * "unpack and run" path, then look for properly installed path, including versioning. * @return Unsigned char string pointing to system dir (eg /usr/share/blender/). */ - const GHOST_TUns8 *getSystemDir() const; + const GHOST_TUns8 *getSystemDir(int version, const char *versionstr) const; /** - * Determine the base dir in which user configuration is stored, not including versioning. + * Determine the base dir in which user configuration is stored, including versioning. * If needed, it will create the base directory. * @return Unsigned char string pointing to user dir (eg ~/.blender/). */ - const GHOST_TUns8 *getUserDir() const; + const GHOST_TUns8 *getUserDir(int version, const char *versionstr) const; /** * Determine the directory of the current binary diff --git a/intern/ghost/intern/GHOST_SystemSDL.cpp b/intern/ghost/intern/GHOST_SystemSDL.cpp index a2b457cc262..237d4c0f787 100644 --- a/intern/ghost/intern/GHOST_SystemSDL.cpp +++ b/intern/ghost/intern/GHOST_SystemSDL.cpp @@ -39,18 +39,18 @@ GHOST_SystemSDL::GHOST_SystemSDL() : GHOST_System() { - if(SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER) != 0) { - printf ("Error initializing SDL: %s\n", SDL_GetError()); + if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER) != 0) { + printf("Error initializing SDL: %s\n", SDL_GetError()); } /* SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1); */ - /* SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4); */ - SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); - SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); - SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8); - SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8); - SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); - SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8); + /* SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4); */ + SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); + SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); + SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8); + SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8); + SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); + SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8); } GHOST_SystemSDL::~GHOST_SystemSDL() @@ -71,9 +71,9 @@ GHOST_SystemSDL::createWindow(const STR_String& title, const GHOST_TEmbedderWindowID parentWindow ) { - GHOST_WindowSDL *window= NULL; + GHOST_WindowSDL *window = NULL; - window= new GHOST_WindowSDL (this, title, left, top, width, height, state, parentWindow, type, stereoVisual, 1); + window = new GHOST_WindowSDL(this, title, left, top, width, height, state, parentWindow, type, stereoVisual, 1); if (window) { if (GHOST_kWindowStateFullScreen == state) { @@ -93,7 +93,7 @@ GHOST_SystemSDL::createWindow(const STR_String& title, } else { delete window; - window= NULL; + window = NULL; } } return window; @@ -120,8 +120,8 @@ GHOST_SystemSDL::getMainDisplayDimensions(GHOST_TUns32& width, { SDL_DisplayMode mode; SDL_GetCurrentDisplayMode(0, &mode); /* note, always 0 display */ - width= mode.w; - height= mode.h; + width = mode.w; + height = mode.h; } GHOST_TUns8 @@ -133,7 +133,7 @@ GHOST_SystemSDL::getNumDisplays() const GHOST_TSuccess GHOST_SystemSDL::getModifierKeys(GHOST_ModifierKeys& keys) const { - SDL_Keymod mod= SDL_GetModState(); + SDL_Keymod mod = SDL_GetModState(); keys.set(GHOST_kModifierKeyLeftShift, (mod & KMOD_LSHIFT) != 0); keys.set(GHOST_kModifierKeyRightShift, (mod & KMOD_RSHIFT) != 0); @@ -141,12 +141,12 @@ GHOST_SystemSDL::getModifierKeys(GHOST_ModifierKeys& keys) const keys.set(GHOST_kModifierKeyRightControl, (mod & KMOD_RCTRL) != 0); keys.set(GHOST_kModifierKeyLeftAlt, (mod & KMOD_LALT) != 0); keys.set(GHOST_kModifierKeyRightAlt, (mod & KMOD_RALT) != 0); - keys.set(GHOST_kModifierKeyOS, (mod & (KMOD_LGUI|KMOD_RGUI)) != 0); + keys.set(GHOST_kModifierKeyOS, (mod & (KMOD_LGUI | KMOD_RGUI)) != 0); return GHOST_kSuccess; } -#define GXMAP(k,x,y) case x: k= y; break; +#define GXMAP(k, x, y) case x: k = y; break static GHOST_TKey convertSDLKey(SDL_Scancode key) @@ -154,97 +154,101 @@ convertSDLKey(SDL_Scancode key) GHOST_TKey type; if ((key >= SDL_SCANCODE_A) && (key <= SDL_SCANCODE_Z)) { - type= GHOST_TKey( key - SDL_SCANCODE_A + int(GHOST_kKeyA)); - } else if ((key >= SDL_SCANCODE_1) && (key <= SDL_SCANCODE_0)) { - type= (key == SDL_SCANCODE_0) ? GHOST_kKey0 : GHOST_TKey(key - SDL_SCANCODE_1 + int(GHOST_kKey1)); - } else if ((key >= SDL_SCANCODE_F1) && (key <= SDL_SCANCODE_F12)) { - type= GHOST_TKey(key - SDL_SCANCODE_F1 + int(GHOST_kKeyF1)); - } else if ((key >= SDL_SCANCODE_F13) && (key <= SDL_SCANCODE_F24)) { - type= GHOST_TKey(key - SDL_SCANCODE_F13 + int(GHOST_kKeyF13)); - } else { - switch(key) { + type = GHOST_TKey(key - SDL_SCANCODE_A + int(GHOST_kKeyA)); + } + else if ((key >= SDL_SCANCODE_1) && (key <= SDL_SCANCODE_0)) { + type = (key == SDL_SCANCODE_0) ? GHOST_kKey0 : GHOST_TKey(key - SDL_SCANCODE_1 + int(GHOST_kKey1)); + } + else if ((key >= SDL_SCANCODE_F1) && (key <= SDL_SCANCODE_F12)) { + type = GHOST_TKey(key - SDL_SCANCODE_F1 + int(GHOST_kKeyF1)); + } + else if ((key >= SDL_SCANCODE_F13) && (key <= SDL_SCANCODE_F24)) { + type = GHOST_TKey(key - SDL_SCANCODE_F13 + int(GHOST_kKeyF13)); + } + else { + switch (key) { /* TODO SDL_SCANCODE_NONUSBACKSLASH */ - GXMAP(type,SDL_SCANCODE_BACKSPACE, GHOST_kKeyBackSpace); - GXMAP(type,SDL_SCANCODE_TAB, GHOST_kKeyTab); - GXMAP(type,SDL_SCANCODE_RETURN, GHOST_kKeyEnter); - GXMAP(type,SDL_SCANCODE_ESCAPE, GHOST_kKeyEsc); - GXMAP(type,SDL_SCANCODE_SPACE, GHOST_kKeySpace); - - GXMAP(type,SDL_SCANCODE_SEMICOLON, GHOST_kKeySemicolon); - GXMAP(type,SDL_SCANCODE_PERIOD, GHOST_kKeyPeriod); - GXMAP(type,SDL_SCANCODE_COMMA, GHOST_kKeyComma); - GXMAP(type,SDL_SCANCODE_APOSTROPHE, GHOST_kKeyQuote); - GXMAP(type,SDL_SCANCODE_GRAVE, GHOST_kKeyAccentGrave); - GXMAP(type,SDL_SCANCODE_MINUS, GHOST_kKeyMinus); - GXMAP(type,SDL_SCANCODE_EQUALS, GHOST_kKeyEqual); - - GXMAP(type,SDL_SCANCODE_SLASH, GHOST_kKeySlash); - GXMAP(type,SDL_SCANCODE_BACKSLASH, GHOST_kKeyBackslash); - GXMAP(type,SDL_SCANCODE_KP_EQUALS, GHOST_kKeyEqual); - GXMAP(type,SDL_SCANCODE_LEFTBRACKET, GHOST_kKeyLeftBracket); - GXMAP(type,SDL_SCANCODE_RIGHTBRACKET, GHOST_kKeyRightBracket); - GXMAP(type,SDL_SCANCODE_PAUSE, GHOST_kKeyPause); - - GXMAP(type,SDL_SCANCODE_LSHIFT, GHOST_kKeyLeftShift); - GXMAP(type,SDL_SCANCODE_RSHIFT, GHOST_kKeyRightShift); - GXMAP(type,SDL_SCANCODE_LCTRL, GHOST_kKeyLeftControl); - GXMAP(type,SDL_SCANCODE_RCTRL, GHOST_kKeyRightControl); - GXMAP(type,SDL_SCANCODE_LALT, GHOST_kKeyLeftAlt); - GXMAP(type,SDL_SCANCODE_RALT, GHOST_kKeyRightAlt); - GXMAP(type,SDL_SCANCODE_LGUI, GHOST_kKeyOS); - GXMAP(type,SDL_SCANCODE_RGUI, GHOST_kKeyOS); - - GXMAP(type,SDL_SCANCODE_INSERT, GHOST_kKeyInsert); - GXMAP(type,SDL_SCANCODE_DELETE, GHOST_kKeyDelete); - GXMAP(type,SDL_SCANCODE_HOME, GHOST_kKeyHome); - GXMAP(type,SDL_SCANCODE_END, GHOST_kKeyEnd); - GXMAP(type,SDL_SCANCODE_PAGEUP, GHOST_kKeyUpPage); - GXMAP(type,SDL_SCANCODE_PAGEDOWN, GHOST_kKeyDownPage); - - GXMAP(type,SDL_SCANCODE_LEFT, GHOST_kKeyLeftArrow); - GXMAP(type,SDL_SCANCODE_RIGHT, GHOST_kKeyRightArrow); - GXMAP(type,SDL_SCANCODE_UP, GHOST_kKeyUpArrow); - GXMAP(type,SDL_SCANCODE_DOWN, GHOST_kKeyDownArrow); - - GXMAP(type,SDL_SCANCODE_CAPSLOCK, GHOST_kKeyCapsLock); - GXMAP(type,SDL_SCANCODE_SCROLLLOCK, GHOST_kKeyScrollLock); - GXMAP(type,SDL_SCANCODE_NUMLOCKCLEAR, GHOST_kKeyNumLock); - GXMAP(type,SDL_SCANCODE_PRINTSCREEN, GHOST_kKeyPrintScreen); - - /* keypad events */ - - /* note, sdl defines a bunch of kp defines I never saw before like - * SDL_SCANCODE_KP_PERCENT, SDL_SCANCODE_KP_XOR - campbell */ - GXMAP(type,SDL_SCANCODE_KP_0, GHOST_kKeyNumpad0); - GXMAP(type,SDL_SCANCODE_KP_1, GHOST_kKeyNumpad1); - GXMAP(type,SDL_SCANCODE_KP_2, GHOST_kKeyNumpad2); - GXMAP(type,SDL_SCANCODE_KP_3, GHOST_kKeyNumpad3); - GXMAP(type,SDL_SCANCODE_KP_4, GHOST_kKeyNumpad4); - GXMAP(type,SDL_SCANCODE_KP_5, GHOST_kKeyNumpad5); - GXMAP(type,SDL_SCANCODE_KP_6, GHOST_kKeyNumpad6); - GXMAP(type,SDL_SCANCODE_KP_7, GHOST_kKeyNumpad7); - GXMAP(type,SDL_SCANCODE_KP_8, GHOST_kKeyNumpad8); - GXMAP(type,SDL_SCANCODE_KP_9, GHOST_kKeyNumpad9); - GXMAP(type,SDL_SCANCODE_KP_PERIOD, GHOST_kKeyNumpadPeriod); - - GXMAP(type,SDL_SCANCODE_KP_ENTER, GHOST_kKeyNumpadEnter); - GXMAP(type,SDL_SCANCODE_KP_PLUS, GHOST_kKeyNumpadPlus); - GXMAP(type,SDL_SCANCODE_KP_MINUS, GHOST_kKeyNumpadMinus); - GXMAP(type,SDL_SCANCODE_KP_MULTIPLY, GHOST_kKeyNumpadAsterisk); - GXMAP(type,SDL_SCANCODE_KP_DIVIDE, GHOST_kKeyNumpadSlash); - - /* Media keys in some keyboards and laptops with XFree86/Xorg */ - GXMAP(type,SDL_SCANCODE_AUDIOPLAY, GHOST_kKeyMediaPlay); - GXMAP(type,SDL_SCANCODE_AUDIOSTOP, GHOST_kKeyMediaStop); - GXMAP(type,SDL_SCANCODE_AUDIOPREV, GHOST_kKeyMediaFirst); - // GXMAP(type,XF86XK_AudioRewind, GHOST_kKeyMediaFirst); - GXMAP(type,SDL_SCANCODE_AUDIONEXT, GHOST_kKeyMediaLast); - - default: - printf("Unknown\n"); - type= GHOST_kKeyUnknown; - break; + GXMAP(type, SDL_SCANCODE_BACKSPACE, GHOST_kKeyBackSpace); + GXMAP(type, SDL_SCANCODE_TAB, GHOST_kKeyTab); + GXMAP(type, SDL_SCANCODE_RETURN, GHOST_kKeyEnter); + GXMAP(type, SDL_SCANCODE_ESCAPE, GHOST_kKeyEsc); + GXMAP(type, SDL_SCANCODE_SPACE, GHOST_kKeySpace); + + GXMAP(type, SDL_SCANCODE_SEMICOLON, GHOST_kKeySemicolon); + GXMAP(type, SDL_SCANCODE_PERIOD, GHOST_kKeyPeriod); + GXMAP(type, SDL_SCANCODE_COMMA, GHOST_kKeyComma); + GXMAP(type, SDL_SCANCODE_APOSTROPHE, GHOST_kKeyQuote); + GXMAP(type, SDL_SCANCODE_GRAVE, GHOST_kKeyAccentGrave); + GXMAP(type, SDL_SCANCODE_MINUS, GHOST_kKeyMinus); + GXMAP(type, SDL_SCANCODE_EQUALS, GHOST_kKeyEqual); + + GXMAP(type, SDL_SCANCODE_SLASH, GHOST_kKeySlash); + GXMAP(type, SDL_SCANCODE_BACKSLASH, GHOST_kKeyBackslash); + GXMAP(type, SDL_SCANCODE_KP_EQUALS, GHOST_kKeyEqual); + GXMAP(type, SDL_SCANCODE_LEFTBRACKET, GHOST_kKeyLeftBracket); + GXMAP(type, SDL_SCANCODE_RIGHTBRACKET, GHOST_kKeyRightBracket); + GXMAP(type, SDL_SCANCODE_PAUSE, GHOST_kKeyPause); + + GXMAP(type, SDL_SCANCODE_LSHIFT, GHOST_kKeyLeftShift); + GXMAP(type, SDL_SCANCODE_RSHIFT, GHOST_kKeyRightShift); + GXMAP(type, SDL_SCANCODE_LCTRL, GHOST_kKeyLeftControl); + GXMAP(type, SDL_SCANCODE_RCTRL, GHOST_kKeyRightControl); + GXMAP(type, SDL_SCANCODE_LALT, GHOST_kKeyLeftAlt); + GXMAP(type, SDL_SCANCODE_RALT, GHOST_kKeyRightAlt); + GXMAP(type, SDL_SCANCODE_LGUI, GHOST_kKeyOS); + GXMAP(type, SDL_SCANCODE_RGUI, GHOST_kKeyOS); + + GXMAP(type, SDL_SCANCODE_INSERT, GHOST_kKeyInsert); + GXMAP(type, SDL_SCANCODE_DELETE, GHOST_kKeyDelete); + GXMAP(type, SDL_SCANCODE_HOME, GHOST_kKeyHome); + GXMAP(type, SDL_SCANCODE_END, GHOST_kKeyEnd); + GXMAP(type, SDL_SCANCODE_PAGEUP, GHOST_kKeyUpPage); + GXMAP(type, SDL_SCANCODE_PAGEDOWN, GHOST_kKeyDownPage); + + GXMAP(type, SDL_SCANCODE_LEFT, GHOST_kKeyLeftArrow); + GXMAP(type, SDL_SCANCODE_RIGHT, GHOST_kKeyRightArrow); + GXMAP(type, SDL_SCANCODE_UP, GHOST_kKeyUpArrow); + GXMAP(type, SDL_SCANCODE_DOWN, GHOST_kKeyDownArrow); + + GXMAP(type, SDL_SCANCODE_CAPSLOCK, GHOST_kKeyCapsLock); + GXMAP(type, SDL_SCANCODE_SCROLLLOCK, GHOST_kKeyScrollLock); + GXMAP(type, SDL_SCANCODE_NUMLOCKCLEAR, GHOST_kKeyNumLock); + GXMAP(type, SDL_SCANCODE_PRINTSCREEN, GHOST_kKeyPrintScreen); + + /* keypad events */ + + /* note, sdl defines a bunch of kp defines I never saw before like + * SDL_SCANCODE_KP_PERCENT, SDL_SCANCODE_KP_XOR - campbell */ + GXMAP(type, SDL_SCANCODE_KP_0, GHOST_kKeyNumpad0); + GXMAP(type, SDL_SCANCODE_KP_1, GHOST_kKeyNumpad1); + GXMAP(type, SDL_SCANCODE_KP_2, GHOST_kKeyNumpad2); + GXMAP(type, SDL_SCANCODE_KP_3, GHOST_kKeyNumpad3); + GXMAP(type, SDL_SCANCODE_KP_4, GHOST_kKeyNumpad4); + GXMAP(type, SDL_SCANCODE_KP_5, GHOST_kKeyNumpad5); + GXMAP(type, SDL_SCANCODE_KP_6, GHOST_kKeyNumpad6); + GXMAP(type, SDL_SCANCODE_KP_7, GHOST_kKeyNumpad7); + GXMAP(type, SDL_SCANCODE_KP_8, GHOST_kKeyNumpad8); + GXMAP(type, SDL_SCANCODE_KP_9, GHOST_kKeyNumpad9); + GXMAP(type, SDL_SCANCODE_KP_PERIOD, GHOST_kKeyNumpadPeriod); + + GXMAP(type, SDL_SCANCODE_KP_ENTER, GHOST_kKeyNumpadEnter); + GXMAP(type, SDL_SCANCODE_KP_PLUS, GHOST_kKeyNumpadPlus); + GXMAP(type, SDL_SCANCODE_KP_MINUS, GHOST_kKeyNumpadMinus); + GXMAP(type, SDL_SCANCODE_KP_MULTIPLY, GHOST_kKeyNumpadAsterisk); + GXMAP(type, SDL_SCANCODE_KP_DIVIDE, GHOST_kKeyNumpadSlash); + + /* Media keys in some keyboards and laptops with XFree86/Xorg */ + GXMAP(type, SDL_SCANCODE_AUDIOPLAY, GHOST_kKeyMediaPlay); + GXMAP(type, SDL_SCANCODE_AUDIOSTOP, GHOST_kKeyMediaStop); + GXMAP(type, SDL_SCANCODE_AUDIOPREV, GHOST_kKeyMediaFirst); + // GXMAP(type,XF86XK_AudioRewind, GHOST_kKeyMediaFirst); + GXMAP(type, SDL_SCANCODE_AUDIONEXT, GHOST_kKeyMediaLast); + + default: + printf("Unknown\n"); + type = GHOST_kKeyUnknown; + break; } } @@ -256,64 +260,64 @@ convertSDLKey(SDL_Scancode key) void GHOST_SystemSDL::processEvent(SDL_Event *sdl_event) { - GHOST_Event * g_event= NULL; + GHOST_Event *g_event = NULL; - switch(sdl_event->type) { - case SDL_WINDOWEVENT: + switch (sdl_event->type) { + case SDL_WINDOWEVENT: { - SDL_WindowEvent &sdl_sub_evt= sdl_event->window; - GHOST_WindowSDL *window= findGhostWindow(SDL_GetWindowFromID(sdl_sub_evt.windowID)); + SDL_WindowEvent &sdl_sub_evt = sdl_event->window; + GHOST_WindowSDL *window = findGhostWindow(SDL_GetWindowFromID(sdl_sub_evt.windowID)); //assert(window != NULL); // can be NULL on close window. switch (sdl_sub_evt.event) { - case SDL_WINDOWEVENT_EXPOSED: - g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowUpdate, window); - break; - case SDL_WINDOWEVENT_RESIZED: - g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowSize, window); - break; - case SDL_WINDOWEVENT_MOVED: - g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowMove, window); - break; - case SDL_WINDOWEVENT_FOCUS_GAINED: - g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowActivate, window); - break; - case SDL_WINDOWEVENT_FOCUS_LOST: - g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowDeactivate, window); - break; - case SDL_WINDOWEVENT_CLOSE: - g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowClose, window); - break; + case SDL_WINDOWEVENT_EXPOSED: + g_event = new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowUpdate, window); + break; + case SDL_WINDOWEVENT_RESIZED: + g_event = new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowSize, window); + break; + case SDL_WINDOWEVENT_MOVED: + g_event = new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowMove, window); + break; + case SDL_WINDOWEVENT_FOCUS_GAINED: + g_event = new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowActivate, window); + break; + case SDL_WINDOWEVENT_FOCUS_LOST: + g_event = new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowDeactivate, window); + break; + case SDL_WINDOWEVENT_CLOSE: + g_event = new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowClose, window); + break; } } - break; - case SDL_QUIT: - g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventQuit, NULL); - break; + break; + case SDL_QUIT: + g_event = new GHOST_Event(getMilliSeconds(), GHOST_kEventQuit, NULL); + break; - case SDL_MOUSEMOTION: + case SDL_MOUSEMOTION: { - SDL_MouseMotionEvent &sdl_sub_evt= sdl_event->motion; - SDL_Window *sdl_win= SDL_GetWindowFromID(sdl_sub_evt.windowID); - GHOST_WindowSDL *window= findGhostWindow(sdl_win); + SDL_MouseMotionEvent &sdl_sub_evt = sdl_event->motion; + SDL_Window *sdl_win = SDL_GetWindowFromID(sdl_sub_evt.windowID); + GHOST_WindowSDL *window = findGhostWindow(sdl_win); assert(window != NULL); int x_win, y_win; SDL_GetWindowPosition(sdl_win, &x_win, &y_win); - GHOST_TInt32 x_root= sdl_sub_evt.x + x_win; - GHOST_TInt32 y_root= sdl_sub_evt.y + y_win; + GHOST_TInt32 x_root = sdl_sub_evt.x + x_win; + GHOST_TInt32 y_root = sdl_sub_evt.y + y_win; #if 0 - if(window->getCursorGrabMode() != GHOST_kGrabDisable && window->getCursorGrabMode() != GHOST_kGrabNormal) + if (window->getCursorGrabMode() != GHOST_kGrabDisable && window->getCursorGrabMode() != GHOST_kGrabNormal) { - GHOST_TInt32 x_new= x_root; - GHOST_TInt32 y_new= y_root; + GHOST_TInt32 x_new = x_root; + GHOST_TInt32 y_new = y_root; GHOST_TInt32 x_accum, y_accum; GHOST_Rect bounds; /* fallback to window bounds */ - if(window->getCursorGrabBounds(bounds)==GHOST_kFailure) + if (window->getCursorGrabBounds(bounds) == GHOST_kFailure) window->getClientBounds(bounds); /* could also clamp to screen bounds @@ -322,14 +326,15 @@ GHOST_SystemSDL::processEvent(SDL_Event *sdl_event) window->getCursorGrabAccum(x_accum, y_accum); // cant use setCursorPosition because the mouse may have no focus! - if(x_new != x_root || y_new != y_root) { - if (1 ) { //xme.time > m_last_warp) { + if (x_new != x_root || y_new != y_root) { + if (1) { //xme.time > m_last_warp) { /* when wrapping we don't need to add an event because the * setCursorPosition call will cause a new event after */ SDL_WarpMouseInWindow(sdl_win, x_new - x_win, y_new - y_win); /* wrap */ window->setCursorGrabAccum(x_accum + (x_root - x_new), y_accum + (y_root - y_new)); // m_last_warp= lastEventTime(xme.time); - } else { + } + else { // setCursorPosition(x_new, y_new); /* wrap but don't accumulate */ SDL_WarpMouseInWindow(sdl_win, x_new - x_win, y_new - y_win); } @@ -343,117 +348,117 @@ GHOST_SystemSDL::processEvent(SDL_Event *sdl_event) else #endif { - g_event= new GHOST_EventCursor(getMilliSeconds(), GHOST_kEventCursorMove, window, x_root, y_root); + g_event = new GHOST_EventCursor(getMilliSeconds(), GHOST_kEventCursorMove, window, x_root, y_root); } break; } - case SDL_MOUSEBUTTONUP: - case SDL_MOUSEBUTTONDOWN: + case SDL_MOUSEBUTTONUP: + case SDL_MOUSEBUTTONDOWN: { - SDL_MouseButtonEvent &sdl_sub_evt= sdl_event->button; - GHOST_TButtonMask gbmask= GHOST_kButtonMaskLeft; - GHOST_TEventType type= (sdl_sub_evt.state==SDL_PRESSED) ? GHOST_kEventButtonDown : GHOST_kEventButtonUp; + SDL_MouseButtonEvent &sdl_sub_evt = sdl_event->button; + GHOST_TButtonMask gbmask = GHOST_kButtonMaskLeft; + GHOST_TEventType type = (sdl_sub_evt.state == SDL_PRESSED) ? GHOST_kEventButtonDown : GHOST_kEventButtonUp; - GHOST_WindowSDL *window= findGhostWindow(SDL_GetWindowFromID(sdl_sub_evt.windowID)); + GHOST_WindowSDL *window = findGhostWindow(SDL_GetWindowFromID(sdl_sub_evt.windowID)); assert(window != NULL); /* process rest of normal mouse buttons */ - if(sdl_sub_evt.button == SDL_BUTTON_LEFT) - gbmask= GHOST_kButtonMaskLeft; - else if(sdl_sub_evt.button == SDL_BUTTON_MIDDLE) - gbmask= GHOST_kButtonMaskMiddle; - else if(sdl_sub_evt.button == SDL_BUTTON_RIGHT) - gbmask= GHOST_kButtonMaskRight; + if (sdl_sub_evt.button == SDL_BUTTON_LEFT) + gbmask = GHOST_kButtonMaskLeft; + else if (sdl_sub_evt.button == SDL_BUTTON_MIDDLE) + gbmask = GHOST_kButtonMaskMiddle; + else if (sdl_sub_evt.button == SDL_BUTTON_RIGHT) + gbmask = GHOST_kButtonMaskRight; /* these buttons are untested! */ - else if(sdl_sub_evt.button == SDL_BUTTON_X1) - gbmask= GHOST_kButtonMaskButton4; - else if(sdl_sub_evt.button == SDL_BUTTON_X2) - gbmask= GHOST_kButtonMaskButton5; + else if (sdl_sub_evt.button == SDL_BUTTON_X1) + gbmask = GHOST_kButtonMaskButton4; + else if (sdl_sub_evt.button == SDL_BUTTON_X2) + gbmask = GHOST_kButtonMaskButton5; else break; - g_event= new GHOST_EventButton(getMilliSeconds(), type, window, gbmask); + g_event = new GHOST_EventButton(getMilliSeconds(), type, window, gbmask); break; } - case SDL_MOUSEWHEEL: + case SDL_MOUSEWHEEL: { - SDL_MouseWheelEvent &sdl_sub_evt= sdl_event->wheel; - GHOST_WindowSDL *window= findGhostWindow(SDL_GetWindowFromID(sdl_sub_evt.windowID)); + SDL_MouseWheelEvent &sdl_sub_evt = sdl_event->wheel; + GHOST_WindowSDL *window = findGhostWindow(SDL_GetWindowFromID(sdl_sub_evt.windowID)); assert(window != NULL); - g_event= new GHOST_EventWheel(getMilliSeconds(), window, sdl_sub_evt.y); + g_event = new GHOST_EventWheel(getMilliSeconds(), window, sdl_sub_evt.y); } - break; - case SDL_KEYDOWN: - case SDL_KEYUP: + break; + case SDL_KEYDOWN: + case SDL_KEYUP: { - SDL_KeyboardEvent &sdl_sub_evt= sdl_event->key; - SDL_Keycode sym= sdl_sub_evt.keysym.sym; - GHOST_TEventType type= (sdl_sub_evt.state == SDL_PRESSED) ? GHOST_kEventKeyDown : GHOST_kEventKeyUp; + SDL_KeyboardEvent &sdl_sub_evt = sdl_event->key; + SDL_Keycode sym = sdl_sub_evt.keysym.sym; + GHOST_TEventType type = (sdl_sub_evt.state == SDL_PRESSED) ? GHOST_kEventKeyDown : GHOST_kEventKeyUp; - GHOST_WindowSDL *window= findGhostWindow(SDL_GetWindowFromID(sdl_sub_evt.windowID)); + GHOST_WindowSDL *window = findGhostWindow(SDL_GetWindowFromID(sdl_sub_evt.windowID)); assert(window != NULL); - GHOST_TKey gkey= convertSDLKey(sdl_sub_evt.keysym.scancode); + GHOST_TKey gkey = convertSDLKey(sdl_sub_evt.keysym.scancode); /* note, the sdl_sub_evt.keysym.sym is truncated, for unicode support ghost has to be modified */ /* printf("%d\n", sym); */ - if(sym > 127) { - switch(sym) { - case SDLK_KP_DIVIDE: sym= '/'; break; - case SDLK_KP_MULTIPLY: sym= '*'; break; - case SDLK_KP_MINUS: sym= '-'; break; - case SDLK_KP_PLUS: sym= '+'; break; - case SDLK_KP_1: sym= '1'; break; - case SDLK_KP_2: sym= '2'; break; - case SDLK_KP_3: sym= '3'; break; - case SDLK_KP_4: sym= '4'; break; - case SDLK_KP_5: sym= '5'; break; - case SDLK_KP_6: sym= '6'; break; - case SDLK_KP_7: sym= '7'; break; - case SDLK_KP_8: sym= '8'; break; - case SDLK_KP_9: sym= '9'; break; - case SDLK_KP_0: sym= '0'; break; - case SDLK_KP_PERIOD: sym= '.'; break; - default: sym= 0; break; + if (sym > 127) { + switch (sym) { + case SDLK_KP_DIVIDE: sym = '/'; break; + case SDLK_KP_MULTIPLY: sym = '*'; break; + case SDLK_KP_MINUS: sym = '-'; break; + case SDLK_KP_PLUS: sym = '+'; break; + case SDLK_KP_1: sym = '1'; break; + case SDLK_KP_2: sym = '2'; break; + case SDLK_KP_3: sym = '3'; break; + case SDLK_KP_4: sym = '4'; break; + case SDLK_KP_5: sym = '5'; break; + case SDLK_KP_6: sym = '6'; break; + case SDLK_KP_7: sym = '7'; break; + case SDLK_KP_8: sym = '8'; break; + case SDLK_KP_9: sym = '9'; break; + case SDLK_KP_0: sym = '0'; break; + case SDLK_KP_PERIOD: sym = '.'; break; + default: sym = 0; break; } } else { - if(sdl_sub_evt.keysym.mod & (KMOD_LSHIFT|KMOD_RSHIFT)) { + if (sdl_sub_evt.keysym.mod & (KMOD_LSHIFT | KMOD_RSHIFT)) { /* lame US keyboard assumptions */ - if(sym >= 'a' && sym <= ('a' + 32)) { + if (sym >= 'a' && sym <= ('a' + 32)) { sym -= 32; } else { - switch(sym) { - case '`': sym= '~'; break; - case '1': sym= '!'; break; - case '2': sym= '@'; break; - case '3': sym= '#'; break; - case '4': sym= '$'; break; - case '5': sym= '%'; break; - case '6': sym= '^'; break; - case '7': sym= '&'; break; - case '8': sym= '*'; break; - case '9': sym= '('; break; - case '0': sym= ')'; break; - case '-': sym= '_'; break; - case '=': sym= '+'; break; - case '[': sym= '{'; break; - case ']': sym= '}'; break; - case '\\': sym= '|'; break; - case ';': sym= ':'; break; - case '\'': sym= '"'; break; - case ',': sym= '<'; break; - case '.': sym= '>'; break; - case '/': sym= '?'; break; + switch (sym) { + case '`': sym = '~'; break; + case '1': sym = '!'; break; + case '2': sym = '@'; break; + case '3': sym = '#'; break; + case '4': sym = '$'; break; + case '5': sym = '%'; break; + case '6': sym = '^'; break; + case '7': sym = '&'; break; + case '8': sym = '*'; break; + case '9': sym = '('; break; + case '0': sym = ')'; break; + case '-': sym = '_'; break; + case '=': sym = '+'; break; + case '[': sym = '{'; break; + case ']': sym = '}'; break; + case '\\': sym = '|'; break; + case ';': sym = ':'; break; + case '\'': sym = '"'; break; + case ',': sym = '<'; break; + case '.': sym = '>'; break; + case '/': sym = '?'; break; default: break; } } } } - g_event= new GHOST_EventKey(getMilliSeconds(), type, window, gkey, sym, NULL); + g_event = new GHOST_EventKey(getMilliSeconds(), type, window, gkey, sym, NULL); } - break; + break; } if (g_event) { @@ -466,13 +471,13 @@ GHOST_SystemSDL::getCursorPosition(GHOST_TInt32& x, GHOST_TInt32& y) const { int x_win, y_win; - SDL_Window *win= SDL_GetMouseFocus(); + SDL_Window *win = SDL_GetMouseFocus(); SDL_GetWindowPosition(win, &x_win, &y_win); int xi, yi; SDL_GetMouseState(&xi, &yi); - x= xi + x_win; - y= yi + x_win; + x = xi + x_win; + y = yi + x_win; return GHOST_kSuccess; } @@ -482,7 +487,7 @@ GHOST_SystemSDL::setCursorPosition(GHOST_TInt32 x, GHOST_TInt32 y) { int x_win, y_win; - SDL_Window *win= SDL_GetMouseFocus(); + SDL_Window *win = SDL_GetMouseFocus(); SDL_GetWindowPosition(win, &x_win, &y_win); SDL_WarpMouseInWindow(win, x - x_win, y - y_win); @@ -492,24 +497,24 @@ GHOST_SystemSDL::setCursorPosition(GHOST_TInt32 x, bool GHOST_SystemSDL::generateWindowExposeEvents() { - std::vector<GHOST_WindowSDL *>::iterator w_start= m_dirty_windows.begin(); - std::vector<GHOST_WindowSDL *>::const_iterator w_end= m_dirty_windows.end(); - bool anyProcessed= false; - - for (;w_start != w_end; ++w_start) { - GHOST_Event * g_event= new - GHOST_Event( - getMilliSeconds(), - GHOST_kEventWindowUpdate, - *w_start - ); + std::vector<GHOST_WindowSDL *>::iterator w_start = m_dirty_windows.begin(); + std::vector<GHOST_WindowSDL *>::const_iterator w_end = m_dirty_windows.end(); + bool anyProcessed = false; + + for (; w_start != w_end; ++w_start) { + GHOST_Event *g_event = new + GHOST_Event( + getMilliSeconds(), + GHOST_kEventWindowUpdate, + *w_start + ); (*w_start)->validate(); if (g_event) { printf("Expose events pushed\n"); pushEvent(g_event); - anyProcessed= true; + anyProcessed = true; } } @@ -524,21 +529,22 @@ GHOST_SystemSDL::processEvents(bool waitForEvent) // Get all the current events -- translate them into // ghost events and call base class pushEvent() method. - bool anyProcessed= false; + bool anyProcessed = false; do { - GHOST_TimerManager* timerMgr= getTimerManager(); + GHOST_TimerManager *timerMgr = getTimerManager(); if (waitForEvent && m_dirty_windows.empty() && !SDL_HasEvents(SDL_FIRSTEVENT, SDL_LASTEVENT)) { - GHOST_TUns64 next= timerMgr->nextFireTime(); + GHOST_TUns64 next = timerMgr->nextFireTime(); - if (next==GHOST_kFireTimeNever) { + if (next == GHOST_kFireTimeNever) { SDL_WaitEventTimeout(NULL, -1); //SleepTillEvent(m_display, -1); - } else { - GHOST_TInt64 maxSleep= next - getMilliSeconds(); + } + else { + GHOST_TInt64 maxSleep = next - getMilliSeconds(); - if(maxSleep >= 0) { + if (maxSleep >= 0) { SDL_WaitEventTimeout(NULL, next - getMilliSeconds()); // SleepTillEvent(m_display, next - getMilliSeconds()); // X11 } @@ -546,17 +552,17 @@ GHOST_SystemSDL::processEvents(bool waitForEvent) } if (timerMgr->fireTimers(getMilliSeconds())) { - anyProcessed= true; + anyProcessed = true; } SDL_Event sdl_event; while (SDL_PollEvent(&sdl_event)) { processEvent(&sdl_event); - anyProcessed= true; + anyProcessed = true; } if (generateWindowExposeEvents()) { - anyProcessed= true; + anyProcessed = true; } } while (waitForEvent && !anyProcessed); @@ -574,13 +580,13 @@ GHOST_SystemSDL::findGhostWindow(SDL_Window *sdl_win) // We should always check the window manager's list of windows // and only process events on these windows. - std::vector<GHOST_IWindow *> & win_vec= m_windowManager->getWindows(); + std::vector<GHOST_IWindow *> & win_vec = m_windowManager->getWindows(); - std::vector<GHOST_IWindow *>::iterator win_it= win_vec.begin(); - std::vector<GHOST_IWindow *>::const_iterator win_end= win_vec.end(); + std::vector<GHOST_IWindow *>::iterator win_it = win_vec.begin(); + std::vector<GHOST_IWindow *>::const_iterator win_end = win_vec.end(); for (; win_it != win_end; ++win_it) { - GHOST_WindowSDL * window= static_cast<GHOST_WindowSDL *>(*win_it); + GHOST_WindowSDL *window = static_cast<GHOST_WindowSDL *>(*win_it); if (window->getSDLWindow() == sdl_win) { return window; } @@ -600,7 +606,7 @@ GHOST_SystemSDL::addDirtyWindow(GHOST_WindowSDL *bad_wind) GHOST_TSuccess GHOST_SystemSDL::getButtons(GHOST_Buttons& buttons) const { - Uint8 state= SDL_GetMouseState(NULL, NULL); + Uint8 state = SDL_GetMouseState(NULL, NULL); buttons.set(GHOST_kButtonMaskLeft, (state & SDL_BUTTON_LMASK) != 0); buttons.set(GHOST_kButtonMaskMiddle, (state & SDL_BUTTON_MMASK) != 0); buttons.set(GHOST_kButtonMaskRight, (state & SDL_BUTTON_RMASK) != 0); diff --git a/intern/ghost/intern/GHOST_SystemSDL.h b/intern/ghost/intern/GHOST_SystemSDL.h index 7610c594665..43c9129fdd8 100644 --- a/intern/ghost/intern/GHOST_SystemSDL.h +++ b/intern/ghost/intern/GHOST_SystemSDL.h @@ -110,7 +110,7 @@ private: ); /* SDL specific */ - GHOST_WindowSDL * findGhostWindow(SDL_Window *sdl_win); + GHOST_WindowSDL *findGhostWindow(SDL_Window *sdl_win); bool generateWindowExposeEvents(); diff --git a/intern/ghost/intern/GHOST_SystemWin32.cpp b/intern/ghost/intern/GHOST_SystemWin32.cpp index 9f2728a581f..7a65c741532 100644 --- a/intern/ghost/intern/GHOST_SystemWin32.cpp +++ b/intern/ghost/intern/GHOST_SystemWin32.cpp @@ -115,16 +115,16 @@ #endif // VK_GR_LESS #ifndef VK_MEDIA_NEXT_TRACK -#define VK_MEDIA_NEXT_TRACK 0xB0 +#define VK_MEDIA_NEXT_TRACK 0xB0 #endif // VK_MEDIA_NEXT_TRACK #ifndef VK_MEDIA_PREV_TRACK -#define VK_MEDIA_PREV_TRACK 0xB1 +#define VK_MEDIA_PREV_TRACK 0xB1 #endif // VK_MEDIA_PREV_TRACK #ifndef VK_MEDIA_STOP -#define VK_MEDIA_STOP 0xB2 +#define VK_MEDIA_STOP 0xB2 #endif // VK_MEDIA_STOP #ifndef VK_MEDIA_PLAY_PAUSE -#define VK_MEDIA_PLAY_PAUSE 0xB3 +#define VK_MEDIA_PLAY_PAUSE 0xB3 #endif // VK_MEDIA_PLAY_PAUSE static void initRawInput() @@ -150,7 +150,7 @@ static void initRawInput() #endif if (RegisterRawInputDevices(devices, DEVICE_COUNT, sizeof(RAWINPUTDEVICE))) - ; // yay! + ; // yay! else printf("could not register for RawInput: %d\n", (int)GetLastError()); @@ -158,9 +158,9 @@ static void initRawInput() } GHOST_SystemWin32::GHOST_SystemWin32() -: m_hasPerformanceCounter(false), m_freq(0), m_start(0) + : m_hasPerformanceCounter(false), m_freq(0), m_start(0) { - m_displayManager = new GHOST_DisplayManagerWin32 (); + m_displayManager = new GHOST_DisplayManagerWin32(); GHOST_ASSERT(m_displayManager, "GHOST_SystemWin32::GHOST_SystemWin32(): m_displayManager==0\n"); m_displayManager->initialize(); @@ -195,12 +195,12 @@ GHOST_TUns64 GHOST_SystemWin32::getMilliSeconds() const // Retrieve current count __int64 count = 0; - ::QueryPerformanceCounter((LARGE_INTEGER*)&count); + ::QueryPerformanceCounter((LARGE_INTEGER *)&count); // Calculate the time passed since system initialization. - __int64 delta = 1000*(count-m_start); + __int64 delta = 1000 * (count - m_start); - GHOST_TUns64 t = (GHOST_TUns64)(delta/m_freq); + GHOST_TUns64 t = (GHOST_TUns64)(delta / m_freq); return t; } @@ -217,37 +217,37 @@ GHOST_TUns8 GHOST_SystemWin32::getNumDisplays() const void GHOST_SystemWin32::getMainDisplayDimensions(GHOST_TUns32& width, GHOST_TUns32& height) const { width = ::GetSystemMetrics(SM_CXSCREEN); - height= ::GetSystemMetrics(SM_CYSCREEN); + height = ::GetSystemMetrics(SM_CYSCREEN); } -GHOST_IWindow* GHOST_SystemWin32::createWindow( - const STR_String& title, - GHOST_TInt32 left, GHOST_TInt32 top, GHOST_TUns32 width, GHOST_TUns32 height, - GHOST_TWindowState state, GHOST_TDrawingContextType type, - bool stereoVisual, const GHOST_TUns16 numOfAASamples, const GHOST_TEmbedderWindowID parentWindow ) +GHOST_IWindow *GHOST_SystemWin32::createWindow( + const STR_String& title, + GHOST_TInt32 left, GHOST_TInt32 top, GHOST_TUns32 width, GHOST_TUns32 height, + GHOST_TWindowState state, GHOST_TDrawingContextType type, + bool stereoVisual, const GHOST_TUns16 numOfAASamples, const GHOST_TEmbedderWindowID parentWindow) { - GHOST_Window* window = 0; - window = new GHOST_WindowWin32 (this, title, left, top, width, height, state, type, stereoVisual, numOfAASamples, parentWindow); + GHOST_Window *window = 0; + window = new GHOST_WindowWin32(this, title, left, top, width, height, state, type, stereoVisual, numOfAASamples, parentWindow); if (window) { if (window->getValid()) { // Store the pointer to the window // if (state != GHOST_kWindowStateFullScreen) { - m_windowManager->addWindow(window); - m_windowManager->setActiveWindow(window); + m_windowManager->addWindow(window); + m_windowManager->setActiveWindow(window); // } } else { // Invalid parent window hwnd - if (((GHOST_WindowWin32*)window)->getNextWindow() == NULL) { + if (((GHOST_WindowWin32 *)window)->getNextWindow() == NULL) { delete window; window = 0; return window; } // An invalid window could be one that was used to test for AA - window = ((GHOST_WindowWin32*)window)->getNextWindow(); + window = ((GHOST_WindowWin32 *)window)->getNextWindow(); // If another window is found, let the wm know about that one, but not the old one if (window->getValid()) { @@ -270,7 +270,7 @@ bool GHOST_SystemWin32::processEvents(bool waitForEvent) bool anyProcessed = false; do { - GHOST_TimerManager* timerMgr = getTimerManager(); + GHOST_TimerManager *timerMgr = getTimerManager(); if (waitForEvent && !::PeekMessage(&msg, 0, 0, 0, PM_NOREMOVE)) { #if 1 @@ -281,7 +281,8 @@ bool GHOST_SystemWin32::processEvents(bool waitForEvent) if (next == GHOST_kFireTimeNever) { ::WaitMessage(); - } else if(maxSleep >= 0.0) { + } + else if (maxSleep >= 0.0) { ::SetTimer(NULL, 0, maxSleep, NULL); ::WaitMessage(); ::KillTimer(NULL, 0); @@ -307,7 +308,7 @@ bool GHOST_SystemWin32::processEvents(bool waitForEvent) GHOST_TSuccess GHOST_SystemWin32::getCursorPosition(GHOST_TInt32& x, GHOST_TInt32& y) const { POINT point; - if(::GetCursorPos(&point)){ + if (::GetCursorPos(&point)) { x = point.x; y = point.y; return GHOST_kSuccess; @@ -343,7 +344,7 @@ GHOST_TSuccess GHOST_SystemWin32::getModifierKeys(GHOST_ModifierKeys& keys) cons bool lwindown = HIBYTE(::GetKeyState(VK_LWIN)) != 0; bool rwindown = HIBYTE(::GetKeyState(VK_RWIN)) != 0; - if(lwindown || rwindown) + if (lwindown || rwindown) keys.set(GHOST_kModifierKeyOS, true); else keys.set(GHOST_kModifierKeyOS, false); @@ -376,20 +377,20 @@ GHOST_TSuccess GHOST_SystemWin32::init() /* Disable scaling on high DPI displays on Vista */ HMODULE - user32 = ::LoadLibraryA("user32.dll"); + user32 = ::LoadLibraryA("user32.dll"); typedef BOOL (WINAPI * LPFNSETPROCESSDPIAWARE)(); LPFNSETPROCESSDPIAWARE SetProcessDPIAware = - (LPFNSETPROCESSDPIAWARE)GetProcAddress(user32, "SetProcessDPIAware"); + (LPFNSETPROCESSDPIAWARE)GetProcAddress(user32, "SetProcessDPIAware"); if (SetProcessDPIAware) SetProcessDPIAware(); FreeLibrary(user32); initRawInput(); // Determine whether this system has a high frequency performance counter. */ - m_hasPerformanceCounter = ::QueryPerformanceFrequency((LARGE_INTEGER*)&m_freq) == TRUE; + m_hasPerformanceCounter = ::QueryPerformanceFrequency((LARGE_INTEGER *)&m_freq) == TRUE; if (m_hasPerformanceCounter) { GHOST_PRINT("GHOST_SystemWin32::init: High Frequency Performance Timer available\n") - ::QueryPerformanceCounter((LARGE_INTEGER*)&m_start); + ::QueryPerformanceCounter((LARGE_INTEGER *)&m_start); } else { GHOST_PRINT("GHOST_SystemWin32::init: High Frequency Performance Timer not available\n") @@ -397,20 +398,20 @@ GHOST_TSuccess GHOST_SystemWin32::init() if (success) { WNDCLASSW wc; - wc.style= CS_HREDRAW | CS_VREDRAW; - wc.lpfnWndProc= s_wndProc; - wc.cbClsExtra= 0; - wc.cbWndExtra= 0; - wc.hInstance= ::GetModuleHandle(0); + wc.style = CS_HREDRAW | CS_VREDRAW; + wc.lpfnWndProc = s_wndProc; + wc.cbClsExtra = 0; + wc.cbWndExtra = 0; + wc.hInstance = ::GetModuleHandle(0); wc.hIcon = ::LoadIcon(wc.hInstance, "APPICON"); if (!wc.hIcon) { ::LoadIcon(NULL, IDI_APPLICATION); } wc.hCursor = ::LoadCursor(0, IDC_ARROW); - wc.hbrBackground= (HBRUSH)::GetStockObject(BLACK_BRUSH); + wc.hbrBackground = (HBRUSH) ::GetStockObject(BLACK_BRUSH); wc.lpszMenuName = 0; - wc.lpszClassName= L"GHOST_WindowClass"; + wc.lpszClassName = L"GHOST_WindowClass"; // Use RegisterClassEx for setting small icon if (::RegisterClassW(&wc) == 0) { @@ -427,12 +428,12 @@ GHOST_TSuccess GHOST_SystemWin32::exit() return GHOST_System::exit(); } -GHOST_TKey GHOST_SystemWin32::hardKey(GHOST_IWindow *window, RAWINPUT const& raw, int * keyDown, char * vk) +GHOST_TKey GHOST_SystemWin32::hardKey(GHOST_IWindow *window, RAWINPUT const& raw, int *keyDown, char *vk) { GHOST_TKey key = GHOST_kKeyUnknown; - if(!keyDown) + if (!keyDown) return GHOST_kKeyUnknown; @@ -446,66 +447,65 @@ GHOST_TKey GHOST_SystemWin32::hardKey(GHOST_IWindow *window, RAWINPUT const& raw unsigned int msg = raw.data.keyboard.Message; *keyDown = !(raw.data.keyboard.Flags & RI_KEY_BREAK) && msg != WM_KEYUP && msg != WM_SYSKEYUP; - key = this->convertKey(window, raw.data.keyboard.VKey, raw.data.keyboard.MakeCode, (raw.data.keyboard.Flags&(RI_KEY_E1|RI_KEY_E0))); + key = this->convertKey(window, raw.data.keyboard.VKey, raw.data.keyboard.MakeCode, (raw.data.keyboard.Flags & (RI_KEY_E1 | RI_KEY_E0))); // extra handling of modifier keys: don't send repeats out from GHOST - if(key >= GHOST_kKeyLeftShift && key <= GHOST_kKeyRightAlt) + if (key >= GHOST_kKeyLeftShift && key <= GHOST_kKeyRightAlt) { bool changed = false; GHOST_TModifierKeyMask modifier; - switch(key) { + switch (key) { case GHOST_kKeyLeftShift: - { - changed = (modifiers.get(GHOST_kModifierKeyLeftShift) != (bool)*keyDown); - modifier = GHOST_kModifierKeyLeftShift; - } - break; + { + changed = (modifiers.get(GHOST_kModifierKeyLeftShift) != (bool)*keyDown); + modifier = GHOST_kModifierKeyLeftShift; + } + break; case GHOST_kKeyRightShift: - { - changed = (modifiers.get(GHOST_kModifierKeyRightShift) != (bool)*keyDown); - modifier = GHOST_kModifierKeyRightShift; - } - break; + { + changed = (modifiers.get(GHOST_kModifierKeyRightShift) != (bool)*keyDown); + modifier = GHOST_kModifierKeyRightShift; + } + break; case GHOST_kKeyLeftControl: - { - changed = (modifiers.get(GHOST_kModifierKeyLeftControl) != (bool)*keyDown); - modifier = GHOST_kModifierKeyLeftControl; - } - break; + { + changed = (modifiers.get(GHOST_kModifierKeyLeftControl) != (bool)*keyDown); + modifier = GHOST_kModifierKeyLeftControl; + } + break; case GHOST_kKeyRightControl: - { - changed = (modifiers.get(GHOST_kModifierKeyRightControl) != (bool)*keyDown); - modifier = GHOST_kModifierKeyRightControl; - } - break; + { + changed = (modifiers.get(GHOST_kModifierKeyRightControl) != (bool)*keyDown); + modifier = GHOST_kModifierKeyRightControl; + } + break; case GHOST_kKeyLeftAlt: - { - changed = (modifiers.get(GHOST_kModifierKeyLeftAlt) != (bool)*keyDown); - modifier = GHOST_kModifierKeyLeftAlt; - } - break; + { + changed = (modifiers.get(GHOST_kModifierKeyLeftAlt) != (bool)*keyDown); + modifier = GHOST_kModifierKeyLeftAlt; + } + break; case GHOST_kKeyRightAlt: - { - changed = (modifiers.get(GHOST_kModifierKeyRightAlt) != (bool)*keyDown); - modifier = GHOST_kModifierKeyRightAlt; - } - break; + { + changed = (modifiers.get(GHOST_kModifierKeyRightAlt) != (bool)*keyDown); + modifier = GHOST_kModifierKeyRightAlt; + } + break; default: break; } - if(changed) + if (changed) { modifiers.set(modifier, (bool)*keyDown); system->storeModifierKeys(modifiers); } - else - { + else { key = GHOST_kKeyUnknown; } } - if(vk) *vk = raw.data.keyboard.VKey; + if (vk) *vk = raw.data.keyboard.VKey; return key; } @@ -515,9 +515,9 @@ GHOST_TKey GHOST_SystemWin32::hardKey(GHOST_IWindow *window, RAWINPUT const& raw GHOST_TKey GHOST_SystemWin32::processSpecialKey(GHOST_IWindow *window, short vKey, short scanCode) const { GHOST_TKey key = GHOST_kKeyUnknown; - switch(PRIMARYLANGID(m_langId)) { + switch (PRIMARYLANGID(m_langId)) { case LANG_FRENCH: - if(vKey==VK_OEM_8) key = GHOST_kKeyF13; // oem key; used purely for shortcuts . + if (vKey == VK_OEM_8) key = GHOST_kKeyF13; // oem key; used purely for shortcuts . break; } @@ -541,111 +541,111 @@ GHOST_TKey GHOST_SystemWin32::convertKey(GHOST_IWindow *window, short vKey, shor } else { switch (vKey) { - case VK_RETURN: - key = (extend)?GHOST_kKeyNumpadEnter : GHOST_kKeyEnter; break; + case VK_RETURN: + key = (extend) ? GHOST_kKeyNumpadEnter : GHOST_kKeyEnter; break; - case VK_BACK: key = GHOST_kKeyBackSpace; break; - case VK_TAB: key = GHOST_kKeyTab; break; - case VK_ESCAPE: key = GHOST_kKeyEsc; break; - case VK_SPACE: key = GHOST_kKeySpace; break; - - case VK_INSERT: - case VK_NUMPAD0: - key = (extend) ? GHOST_kKeyInsert : GHOST_kKeyNumpad0; break; - case VK_END: - case VK_NUMPAD1: - key = (extend) ? GHOST_kKeyEnd : GHOST_kKeyNumpad1; break; - case VK_DOWN: - case VK_NUMPAD2: - key = (extend) ? GHOST_kKeyDownArrow : GHOST_kKeyNumpad2; break; - case VK_NEXT: - case VK_NUMPAD3: - key = (extend) ? GHOST_kKeyDownPage : GHOST_kKeyNumpad3; break; - case VK_LEFT: - case VK_NUMPAD4: - key = (extend) ? GHOST_kKeyLeftArrow : GHOST_kKeyNumpad4; break; - case VK_CLEAR: - case VK_NUMPAD5: - key = (extend) ? GHOST_kKeyUnknown: GHOST_kKeyNumpad5; break; - case VK_RIGHT: - case VK_NUMPAD6: - key = (extend) ? GHOST_kKeyRightArrow : GHOST_kKeyNumpad6; break; - case VK_HOME: - case VK_NUMPAD7: - key = (extend) ? GHOST_kKeyHome : GHOST_kKeyNumpad7; break; - case VK_UP: - case VK_NUMPAD8: - key = (extend) ? GHOST_kKeyUpArrow : GHOST_kKeyNumpad8; break; - case VK_PRIOR: - case VK_NUMPAD9: - key = (extend) ? GHOST_kKeyUpPage : GHOST_kKeyNumpad9; break; - case VK_DECIMAL: - case VK_DELETE: - key = (extend) ? GHOST_kKeyDelete : GHOST_kKeyNumpadPeriod; break; - - case VK_SNAPSHOT: key = GHOST_kKeyPrintScreen; break; - case VK_PAUSE: key = GHOST_kKeyPause; break; - case VK_MULTIPLY: key = GHOST_kKeyNumpadAsterisk; break; - case VK_SUBTRACT: key = GHOST_kKeyNumpadMinus; break; - case VK_DIVIDE: key = GHOST_kKeyNumpadSlash; break; - case VK_ADD: key = GHOST_kKeyNumpadPlus; break; - - case VK_SEMICOLON: key = GHOST_kKeySemicolon; break; - case VK_EQUALS: key = GHOST_kKeyEqual; break; - case VK_COMMA: key = GHOST_kKeyComma; break; - case VK_MINUS: key = GHOST_kKeyMinus; break; - case VK_PERIOD: key = GHOST_kKeyPeriod; break; - case VK_SLASH: key = GHOST_kKeySlash; break; - case VK_BACK_QUOTE: key = GHOST_kKeyAccentGrave; break; - case VK_OPEN_BRACKET: key = GHOST_kKeyLeftBracket; break; - case VK_BACK_SLASH: key = GHOST_kKeyBackslash; break; - case VK_CLOSE_BRACKET: key = GHOST_kKeyRightBracket; break; - case VK_QUOTE: key = GHOST_kKeyQuote; break; - case VK_GR_LESS: key = GHOST_kKeyGrLess; break; - - case VK_SHIFT: - key = (scanCode == 0x36)? GHOST_kKeyRightShift : GHOST_kKeyLeftShift; - break; - case VK_CONTROL: - key = (extend)? GHOST_kKeyRightControl : GHOST_kKeyLeftControl; - break; - case VK_MENU: - key = (extend)? GHOST_kKeyRightAlt : GHOST_kKeyLeftAlt; - break; - case VK_LWIN: - case VK_RWIN: - key = GHOST_kKeyOS; - break; - case VK_NUMLOCK: key = GHOST_kKeyNumLock; break; - case VK_SCROLL: key = GHOST_kKeyScrollLock; break; - case VK_CAPITAL: key = GHOST_kKeyCapsLock; break; - case VK_OEM_8: - key = ((GHOST_SystemWin32*)getSystem())->processSpecialKey(window, vKey, scanCode); - break; - case VK_MEDIA_PLAY_PAUSE: key = GHOST_kKeyMediaPlay; break; - case VK_MEDIA_STOP: key = GHOST_kKeyMediaStop; break; - case VK_MEDIA_PREV_TRACK: key = GHOST_kKeyMediaFirst; break; - case VK_MEDIA_NEXT_TRACK: key = GHOST_kKeyMediaLast; break; - default: - key = GHOST_kKeyUnknown; - break; + case VK_BACK: key = GHOST_kKeyBackSpace; break; + case VK_TAB: key = GHOST_kKeyTab; break; + case VK_ESCAPE: key = GHOST_kKeyEsc; break; + case VK_SPACE: key = GHOST_kKeySpace; break; + + case VK_INSERT: + case VK_NUMPAD0: + key = (extend) ? GHOST_kKeyInsert : GHOST_kKeyNumpad0; break; + case VK_END: + case VK_NUMPAD1: + key = (extend) ? GHOST_kKeyEnd : GHOST_kKeyNumpad1; break; + case VK_DOWN: + case VK_NUMPAD2: + key = (extend) ? GHOST_kKeyDownArrow : GHOST_kKeyNumpad2; break; + case VK_NEXT: + case VK_NUMPAD3: + key = (extend) ? GHOST_kKeyDownPage : GHOST_kKeyNumpad3; break; + case VK_LEFT: + case VK_NUMPAD4: + key = (extend) ? GHOST_kKeyLeftArrow : GHOST_kKeyNumpad4; break; + case VK_CLEAR: + case VK_NUMPAD5: + key = (extend) ? GHOST_kKeyUnknown : GHOST_kKeyNumpad5; break; + case VK_RIGHT: + case VK_NUMPAD6: + key = (extend) ? GHOST_kKeyRightArrow : GHOST_kKeyNumpad6; break; + case VK_HOME: + case VK_NUMPAD7: + key = (extend) ? GHOST_kKeyHome : GHOST_kKeyNumpad7; break; + case VK_UP: + case VK_NUMPAD8: + key = (extend) ? GHOST_kKeyUpArrow : GHOST_kKeyNumpad8; break; + case VK_PRIOR: + case VK_NUMPAD9: + key = (extend) ? GHOST_kKeyUpPage : GHOST_kKeyNumpad9; break; + case VK_DECIMAL: + case VK_DELETE: + key = (extend) ? GHOST_kKeyDelete : GHOST_kKeyNumpadPeriod; break; + + case VK_SNAPSHOT: key = GHOST_kKeyPrintScreen; break; + case VK_PAUSE: key = GHOST_kKeyPause; break; + case VK_MULTIPLY: key = GHOST_kKeyNumpadAsterisk; break; + case VK_SUBTRACT: key = GHOST_kKeyNumpadMinus; break; + case VK_DIVIDE: key = GHOST_kKeyNumpadSlash; break; + case VK_ADD: key = GHOST_kKeyNumpadPlus; break; + + case VK_SEMICOLON: key = GHOST_kKeySemicolon; break; + case VK_EQUALS: key = GHOST_kKeyEqual; break; + case VK_COMMA: key = GHOST_kKeyComma; break; + case VK_MINUS: key = GHOST_kKeyMinus; break; + case VK_PERIOD: key = GHOST_kKeyPeriod; break; + case VK_SLASH: key = GHOST_kKeySlash; break; + case VK_BACK_QUOTE: key = GHOST_kKeyAccentGrave; break; + case VK_OPEN_BRACKET: key = GHOST_kKeyLeftBracket; break; + case VK_BACK_SLASH: key = GHOST_kKeyBackslash; break; + case VK_CLOSE_BRACKET: key = GHOST_kKeyRightBracket; break; + case VK_QUOTE: key = GHOST_kKeyQuote; break; + case VK_GR_LESS: key = GHOST_kKeyGrLess; break; + + case VK_SHIFT: + key = (scanCode == 0x36) ? GHOST_kKeyRightShift : GHOST_kKeyLeftShift; + break; + case VK_CONTROL: + key = (extend) ? GHOST_kKeyRightControl : GHOST_kKeyLeftControl; + break; + case VK_MENU: + key = (extend) ? GHOST_kKeyRightAlt : GHOST_kKeyLeftAlt; + break; + case VK_LWIN: + case VK_RWIN: + key = GHOST_kKeyOS; + break; + case VK_NUMLOCK: key = GHOST_kKeyNumLock; break; + case VK_SCROLL: key = GHOST_kKeyScrollLock; break; + case VK_CAPITAL: key = GHOST_kKeyCapsLock; break; + case VK_OEM_8: + key = ((GHOST_SystemWin32 *)getSystem())->processSpecialKey(window, vKey, scanCode); + break; + case VK_MEDIA_PLAY_PAUSE: key = GHOST_kKeyMediaPlay; break; + case VK_MEDIA_STOP: key = GHOST_kKeyMediaStop; break; + case VK_MEDIA_PREV_TRACK: key = GHOST_kKeyMediaFirst; break; + case VK_MEDIA_NEXT_TRACK: key = GHOST_kKeyMediaLast; break; + default: + key = GHOST_kKeyUnknown; + break; } } return key; } -GHOST_EventButton* GHOST_SystemWin32::processButtonEvent(GHOST_TEventType type, GHOST_IWindow *window, GHOST_TButtonMask mask) +GHOST_EventButton *GHOST_SystemWin32::processButtonEvent(GHOST_TEventType type, GHOST_IWindow *window, GHOST_TButtonMask mask) { - return new GHOST_EventButton (getSystem()->getMilliSeconds(), type, window, mask); + return new GHOST_EventButton(getSystem()->getMilliSeconds(), type, window, mask); } -GHOST_EventCursor* GHOST_SystemWin32::processCursorEvent(GHOST_TEventType type, GHOST_IWindow *Iwindow) +GHOST_EventCursor *GHOST_SystemWin32::processCursorEvent(GHOST_TEventType type, GHOST_IWindow *Iwindow) { GHOST_TInt32 x_screen, y_screen; - GHOST_SystemWin32 * system = ((GHOST_SystemWin32 * ) getSystem()); - GHOST_WindowWin32 * window = ( GHOST_WindowWin32 * ) Iwindow; + GHOST_SystemWin32 *system = ((GHOST_SystemWin32 * ) getSystem()); + GHOST_WindowWin32 *window = ( GHOST_WindowWin32 * ) Iwindow; system->getCursorPosition(x_screen, y_screen); @@ -653,13 +653,13 @@ GHOST_EventCursor* GHOST_SystemWin32::processCursorEvent(GHOST_TEventType type, bool is_tablet = false; if (is_tablet == false && window->getCursorGrabModeIsWarp()) { - GHOST_TInt32 x_new= x_screen; - GHOST_TInt32 y_new= y_screen; + GHOST_TInt32 x_new = x_screen; + GHOST_TInt32 y_new = y_screen; GHOST_TInt32 x_accum, y_accum; GHOST_Rect bounds; /* fallback to window bounds */ - if(window->getCursorGrabBounds(bounds)==GHOST_kFailure){ + if (window->getCursorGrabBounds(bounds) == GHOST_kFailure) { window->getClientBounds(bounds); } @@ -669,86 +669,87 @@ GHOST_EventCursor* GHOST_SystemWin32::processCursorEvent(GHOST_TEventType type, bounds.wrapPoint(x_new, y_new, 2); /* offset of one incase blender is at screen bounds */ window->getCursorGrabAccum(x_accum, y_accum); - if(x_new != x_screen|| y_new != y_screen) { + if (x_new != x_screen || y_new != y_screen) { /* when wrapping we don't need to add an event because the * setCursorPosition call will cause a new event after */ system->setCursorPosition(x_new, y_new); /* wrap */ window->setCursorGrabAccum(x_accum + (x_screen - x_new), y_accum + (y_screen - y_new)); - }else{ + } + else { return new GHOST_EventCursor(system->getMilliSeconds(), - GHOST_kEventCursorMove, - window, - x_screen + x_accum, - y_screen + y_accum - ); + GHOST_kEventCursorMove, + window, + x_screen + x_accum, + y_screen + y_accum + ); } } else { return new GHOST_EventCursor(system->getMilliSeconds(), - GHOST_kEventCursorMove, - window, - x_screen, - y_screen - ); + GHOST_kEventCursorMove, + window, + x_screen, + y_screen + ); } return NULL; } -GHOST_EventWheel* GHOST_SystemWin32::processWheelEvent(GHOST_IWindow *window, WPARAM wParam, LPARAM lParam) +GHOST_EventWheel *GHOST_SystemWin32::processWheelEvent(GHOST_IWindow *window, WPARAM wParam, LPARAM lParam) { // short fwKeys = LOWORD(wParam); // key flags - int zDelta = (short) HIWORD(wParam); // wheel rotation + int zDelta = (short) HIWORD(wParam); // wheel rotation // zDelta /= WHEEL_DELTA; // temporary fix below: microsoft now has added more precision, making the above division not work - if (zDelta <= 0 ) zDelta= -1; else zDelta= 1; + if (zDelta <= 0) zDelta = -1; else zDelta = 1; // short xPos = (short) LOWORD(lParam); // horizontal position of pointer // short yPos = (short) HIWORD(lParam); // vertical position of pointer - return new GHOST_EventWheel (getSystem()->getMilliSeconds(), window, zDelta); + return new GHOST_EventWheel(getSystem()->getMilliSeconds(), window, zDelta); } -GHOST_EventKey* GHOST_SystemWin32::processKeyEvent(GHOST_IWindow *window, RAWINPUT const& raw) +GHOST_EventKey *GHOST_SystemWin32::processKeyEvent(GHOST_IWindow *window, RAWINPUT const& raw) { - int keyDown=0; + int keyDown = 0; char vk; - GHOST_SystemWin32 * system = (GHOST_SystemWin32 *)getSystem(); + GHOST_SystemWin32 *system = (GHOST_SystemWin32 *)getSystem(); GHOST_TKey key = system->hardKey(window, raw, &keyDown, &vk); - GHOST_EventKey* event; + GHOST_EventKey *event; if (key != GHOST_kKeyUnknown) { char utf8_char[6] = {0}; char ascii = 0; - wchar_t utf16[3]={0}; - BYTE state[256] ={0}; + wchar_t utf16[3] = {0}; + BYTE state[256] = {0}; int r; GetKeyboardState((PBYTE)state); - if(r = ToUnicodeEx(vk, 0, state, utf16, 2, 0, system->m_keylayout)) { - if((r>0 && r<3)){ - utf16[r]=0; - conv_utf_16_to_8(utf16,utf8_char,6); + if (r = ToUnicodeEx(vk, 0, state, utf16, 2, 0, system->m_keylayout)) { + if ((r > 0 && r < 3)) { + utf16[r] = 0; + conv_utf_16_to_8(utf16, utf8_char, 6); } - else if (r==-1) { + else if (r == -1) { utf8_char[0] = '\0'; } } - if(!keyDown) { + if (!keyDown) { utf8_char[0] = '\0'; - ascii='\0'; + ascii = '\0'; } else { - ascii = utf8_char[0]& 0x80?'?' : utf8_char[0]; + ascii = utf8_char[0] & 0x80 ? '?' : utf8_char[0]; } - if(0x80&state[VK_MENU]) utf8_char[0]='\0'; + if (0x80 & state[VK_MENU]) utf8_char[0] = '\0'; - event = new GHOST_EventKey(system->getMilliSeconds(), keyDown ? GHOST_kEventKeyDown: GHOST_kEventKeyUp, window, key, ascii, utf8_char); + event = new GHOST_EventKey(system->getMilliSeconds(), keyDown ? GHOST_kEventKeyDown : GHOST_kEventKeyUp, window, key, ascii, utf8_char); #ifdef GHOST_DEBUG std::cout << ascii << std::endl; @@ -761,9 +762,9 @@ GHOST_EventKey* GHOST_SystemWin32::processKeyEvent(GHOST_IWindow *window, RAWINP } -GHOST_Event* GHOST_SystemWin32::processWindowEvent(GHOST_TEventType type, GHOST_IWindow* window) +GHOST_Event *GHOST_SystemWin32::processWindowEvent(GHOST_TEventType type, GHOST_IWindow *window) { - GHOST_System* system = (GHOST_System*)getSystem(); + GHOST_System *system = (GHOST_System *)getSystem(); if (type == GHOST_kEventWindowActivate) { system->getWindowManager()->setActiveWindow(window); @@ -773,23 +774,23 @@ GHOST_Event* GHOST_SystemWin32::processWindowEvent(GHOST_TEventType type, GHOST_ } GHOST_TSuccess GHOST_SystemWin32::pushDragDropEvent(GHOST_TEventType eventType, - GHOST_TDragnDropTypes draggedObjectType, - GHOST_IWindow* window, - int mouseX, int mouseY, - void* data) + GHOST_TDragnDropTypes draggedObjectType, + GHOST_IWindow *window, + int mouseX, int mouseY, + void *data) { - GHOST_SystemWin32* system = ((GHOST_SystemWin32*)getSystem()); + GHOST_SystemWin32 *system = ((GHOST_SystemWin32 *)getSystem()); return system->pushEvent(new GHOST_EventDragnDrop(system->getMilliSeconds(), - eventType, - draggedObjectType, - window,mouseX,mouseY,data) - ); + eventType, + draggedObjectType, + window, mouseX, mouseY, data) + ); } -void GHOST_SystemWin32::processMinMaxInfo(MINMAXINFO * minmax) +void GHOST_SystemWin32::processMinMaxInfo(MINMAXINFO *minmax) { - minmax->ptMinTrackSize.x=320; - minmax->ptMinTrackSize.y=240; + minmax->ptMinTrackSize.x = 320; + minmax->ptMinTrackSize.y = 240; } #ifdef WITH_INPUT_NDOF @@ -821,7 +822,7 @@ bool GHOST_SystemWin32::processNDOF(RAWINPUT const& raw) // using Microsoft compiler & header files // they invented the RawInput API, so this version is (probably) correct. // MinGW64 also works fine with this - BYTE const* data = raw.data.hid.bRawData; + BYTE const *data = raw.data.hid.bRawData; // struct RAWHID { // DWORD dwSizeHid; // DWORD dwCount; @@ -830,7 +831,7 @@ bool GHOST_SystemWin32::processNDOF(RAWINPUT const& raw) #else // MinGW's definition (below) doesn't agree, so we need a slight // workaround until it's fixed - BYTE const* data = &raw.data.hid.bRawData; + BYTE const *data = &raw.data.hid.bRawData; // struct RAWHID { // DWORD dwSizeHid; // DWORD dwCount; @@ -843,7 +844,7 @@ bool GHOST_SystemWin32::processNDOF(RAWINPUT const& raw) { case 1: // translation { - short* axis = (short*)(data + 1); + short *axis = (short *)(data + 1); // massage into blender view coords (same goes for rotation) short t[3] = {axis[0], -axis[2], axis[1]}; m_ndofManager->updateTranslation(t, now); @@ -860,7 +861,7 @@ bool GHOST_SystemWin32::processNDOF(RAWINPUT const& raw) } case 2: // rotation { - short* axis = (short*)(data + 1); + short *axis = (short *)(data + 1); short r[3] = {-axis[0], axis[2], -axis[1]}; m_ndofManager->updateRotation(r, now); break; @@ -879,15 +880,15 @@ bool GHOST_SystemWin32::processNDOF(RAWINPUT const& raw) LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { - GHOST_Event* event = 0; + GHOST_Event *event = 0; bool eventHandled = false; LRESULT lResult = 0; - GHOST_SystemWin32* system = ((GHOST_SystemWin32*)getSystem()); + GHOST_SystemWin32 *system = ((GHOST_SystemWin32 *)getSystem()); GHOST_ASSERT(system, "GHOST_SystemWin32::s_wndProc(): system not initialized") if (hwnd) { - GHOST_WindowWin32* window = (GHOST_WindowWin32*)::GetWindowLong(hwnd, GWL_USERDATA); + GHOST_WindowWin32 *window = (GHOST_WindowWin32 *)::GetWindowLong(hwnd, GWL_USERDATA); if (window) { switch (msg) { // we need to check if new key layout has AltGr @@ -906,29 +907,29 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, } //else wParam == RIM_INPUT RAWINPUT raw; - RAWINPUT* raw_ptr = &raw; + RAWINPUT *raw_ptr = &raw; UINT rawSize = sizeof(RAWINPUT); GetRawInputData((HRAWINPUT)lParam, RID_INPUT, raw_ptr, &rawSize, sizeof(RAWINPUTHEADER)); switch (raw.header.dwType) { - case RIM_TYPEKEYBOARD: - event = processKeyEvent(window, raw); - if (!event) { - GHOST_PRINT("GHOST_SystemWin32::wndProc: key event ") - GHOST_PRINT(msg) - GHOST_PRINT(" key ignored\n") - } - break; + case RIM_TYPEKEYBOARD: + event = processKeyEvent(window, raw); + if (!event) { + GHOST_PRINT("GHOST_SystemWin32::wndProc: key event ") + GHOST_PRINT(msg) + GHOST_PRINT(" key ignored\n") + } + break; #ifdef WITH_INPUT_NDOF - case RIM_TYPEHID: - if (system->processNDOF(raw)) - eventHandled = true; - break; + case RIM_TYPEHID: + if (system->processNDOF(raw)) + eventHandled = true; + break; #endif } - break; + break; } //////////////////////////////////////////////////////////////////////// // Keyboard events, ignored @@ -937,12 +938,12 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, case WM_SYSKEYDOWN: case WM_KEYUP: case WM_SYSKEYUP: - /* These functions were replaced by WM_INPUT*/ + /* These functions were replaced by WM_INPUT*/ case WM_CHAR: - /* The WM_CHAR message is posted to the window with the keyboard focus when - * a WM_KEYDOWN message is translated by the TranslateMessage function. WM_CHAR - * contains the character code of the key that was pressed. - */ + /* The WM_CHAR message is posted to the window with the keyboard focus when + * a WM_KEYDOWN message is translated by the TranslateMessage function. WM_CHAR + * contains the character code of the key that was pressed. + */ case WM_DEADCHAR: /* The WM_DEADCHAR message is posted to the window with the keyboard focus when a * WM_KEYUP message is translated by the TranslateMessage function. WM_DEADCHAR @@ -954,11 +955,11 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, */ break; case WM_SYSDEADCHAR: - /* The WM_SYSDEADCHAR message is sent to the window with the keyboard focus when - * a WM_SYSKEYDOWN message is translated by the TranslateMessage function. - * WM_SYSDEADCHAR specifies the character code of a system dead key - that is, - * a dead key that is pressed while holding down the alt key. - */ + /* The WM_SYSDEADCHAR message is sent to the window with the keyboard focus when + * a WM_SYSKEYDOWN message is translated by the TranslateMessage function. + * WM_SYSDEADCHAR specifies the character code of a system dead key - that is, + * a dead key that is pressed while holding down the alt key. + */ case WM_SYSCHAR: /* The WM_SYSCHAR message is sent to the window with the keyboard focus when * a WM_SYSCHAR message is translated by the TranslateMessage function. @@ -972,17 +973,17 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, * maximize, minimize or close the window are triggered. Also it is sent when ALT * button is press for menu. To prevent this we must return preventing DefWindowProc. */ - if(wParam==SC_KEYMENU) return 0; + if (wParam == SC_KEYMENU) return 0; break; //////////////////////////////////////////////////////////////////////// // Tablet events, processed //////////////////////////////////////////////////////////////////////// case WT_PACKET: - ((GHOST_WindowWin32*)window)->processWin32TabletEvent(wParam, lParam); + ((GHOST_WindowWin32 *)window)->processWin32TabletEvent(wParam, lParam); break; case WT_CSRCHANGE: case WT_PROXIMITY: - ((GHOST_WindowWin32*)window)->processWin32TabletInitEvent(); + ((GHOST_WindowWin32 *)window)->processWin32TabletInitEvent(); break; //////////////////////////////////////////////////////////////////////// // Mouse events, processed @@ -1001,9 +1002,10 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, break; case WM_XBUTTONDOWN: window->registerMouseClickEvent(0); - if ((short) HIWORD(wParam) == XBUTTON1){ + if ((short) HIWORD(wParam) == XBUTTON1) { event = processButtonEvent(GHOST_kEventButtonDown, window, GHOST_kButtonMaskButton4); - }else if((short) HIWORD(wParam) == XBUTTON2){ + } + else if ((short) HIWORD(wParam) == XBUTTON2) { event = processButtonEvent(GHOST_kEventButtonDown, window, GHOST_kButtonMaskButton5); } break; @@ -1021,9 +1023,10 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, break; case WM_XBUTTONUP: window->registerMouseClickEvent(1); - if ((short) HIWORD(wParam) == XBUTTON1){ + if ((short) HIWORD(wParam) == XBUTTON1) { event = processButtonEvent(GHOST_kEventButtonUp, window, GHOST_kButtonMaskButton4); - }else if((short) HIWORD(wParam) == XBUTTON2){ + } + else if ((short) HIWORD(wParam) == XBUTTON2) { event = processButtonEvent(GHOST_kEventButtonUp, window, GHOST_kButtonMaskButton5); } break; @@ -1063,10 +1066,10 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, // Mouse events, ignored //////////////////////////////////////////////////////////////////////// case WM_NCMOUSEMOVE: - /* The WM_NCMOUSEMOVE message is posted to a window when the cursor is moved - * within the nonclient area of the window. This message is posted to the window - * that contains the cursor. If a window has captured the mouse, this message is not posted. - */ + /* The WM_NCMOUSEMOVE message is posted to a window when the cursor is moved + * within the nonclient area of the window. This message is posted to the window + * that contains the cursor. If a window has captured the mouse, this message is not posted. + */ case WM_NCHITTEST: /* The WM_NCHITTEST message is sent to a window when the cursor moves, or * when a mouse button is pressed or released. If the mouse is not captured, @@ -1089,16 +1092,16 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, * procedure of the top-level window being activated. If the windows use different input queues, * the message is sent asynchronously, so the window is activated immediately. */ - { + { GHOST_ModifierKeys modifiers; modifiers.clear(); system->storeModifierKeys(modifiers); event = processWindowEvent(LOWORD(wParam) ? GHOST_kEventWindowActivate : GHOST_kEventWindowDeactivate, window); /* WARNING: Let DefWindowProc handle WM_ACTIVATE, otherwise WM_MOUSEWHEEL - will not be dispatched to OUR active window if we minimize one of OUR windows. */ + will not be dispatched to OUR active window if we minimize one of OUR windows. */ lResult = ::DefWindowProc(hwnd, msg, wParam, lParam); break; - } + } case WM_PAINT: /* An application sends the WM_PAINT message when the system or another application * makes a request to paint a portion of an application's window. The message is sent @@ -1131,10 +1134,10 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, window->lostMouseCapture(); break; case WM_MOVING: - /* The WM_MOVING message is sent to a window that the user is moving. By processing - * this message, an application can monitor the size and position of the drag rectangle - * and, if needed, change its size or position. - */ + /* The WM_MOVING message is sent to a window that the user is moving. By processing + * this message, an application can monitor the size and position of the drag rectangle + * and, if needed, change its size or position. + */ case WM_MOVE: /* The WM_SIZE and WM_MOVE messages are not sent if an application handles the * WM_WINDOWPOSCHANGED message without calling DefWindowProc. It is more efficient @@ -1147,32 +1150,32 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, // Window events, ignored //////////////////////////////////////////////////////////////////////// case WM_WINDOWPOSCHANGED: - /* The WM_WINDOWPOSCHANGED message is sent to a window whose size, position, or place - * in the Z order has changed as a result of a call to the SetWindowPos function or - * another window-management function. - * The WM_SIZE and WM_MOVE messages are not sent if an application handles the - * WM_WINDOWPOSCHANGED message without calling DefWindowProc. It is more efficient - * to perform any move or size change processing during the WM_WINDOWPOSCHANGED - * message without calling DefWindowProc. - */ + /* The WM_WINDOWPOSCHANGED message is sent to a window whose size, position, or place + * in the Z order has changed as a result of a call to the SetWindowPos function or + * another window-management function. + * The WM_SIZE and WM_MOVE messages are not sent if an application handles the + * WM_WINDOWPOSCHANGED message without calling DefWindowProc. It is more efficient + * to perform any move or size change processing during the WM_WINDOWPOSCHANGED + * message without calling DefWindowProc. + */ case WM_ERASEBKGND: - /* An application sends the WM_ERASEBKGND message when the window background must be - * erased (for example, when a window is resized). The message is sent to prepare an - * invalidated portion of a window for painting. - */ + /* An application sends the WM_ERASEBKGND message when the window background must be + * erased (for example, when a window is resized). The message is sent to prepare an + * invalidated portion of a window for painting. + */ case WM_NCPAINT: - /* An application sends the WM_NCPAINT message to a window when its frame must be painted. */ + /* An application sends the WM_NCPAINT message to a window when its frame must be painted. */ case WM_NCACTIVATE: - /* The WM_NCACTIVATE message is sent to a window when its nonclient area needs to be changed - * to indicate an active or inactive state. - */ + /* The WM_NCACTIVATE message is sent to a window when its nonclient area needs to be changed + * to indicate an active or inactive state. + */ case WM_DESTROY: - /* The WM_DESTROY message is sent when a window is being destroyed. It is sent to the window - * procedure of the window being destroyed after the window is removed from the screen. - * This message is sent first to the window being destroyed and then to the child windows - * (if any) as they are destroyed. During the processing of the message, it can be assumed - * that all child windows still exist. - */ + /* The WM_DESTROY message is sent when a window is being destroyed. It is sent to the window + * procedure of the window being destroyed after the window is removed from the screen. + * This message is sent first to the window being destroyed and then to the child windows + * (if any) as they are destroyed. During the processing of the message, it can be assumed + * that all child windows still exist. + */ case WM_NCDESTROY: /* The WM_NCDESTROY message informs a window that its nonclient area is being destroyed. The * DestroyWindow function sends the WM_NCDESTROY message to the window following the WM_DESTROY @@ -1182,17 +1185,17 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, case WM_KILLFOCUS: /* The WM_KILLFOCUS message is sent to a window immediately before it loses the keyboard focus. * We want to prevent this if a window is still active and it loses focus to nowhere*/ - if(!wParam && hwnd==GetActiveWindow()) + if (!wParam && hwnd == GetActiveWindow()) SetFocus(hwnd); case WM_SHOWWINDOW: - /* The WM_SHOWWINDOW message is sent to a window when the window is about to be hidden or shown. */ + /* The WM_SHOWWINDOW message is sent to a window when the window is about to be hidden or shown. */ case WM_WINDOWPOSCHANGING: - /* The WM_WINDOWPOSCHANGING message is sent to a window whose size, position, or place in - * the Z order is about to change as a result of a call to the SetWindowPos function or - * another window-management function. - */ + /* The WM_WINDOWPOSCHANGING message is sent to a window whose size, position, or place in + * the Z order is about to change as a result of a call to the SetWindowPos function or + * another window-management function. + */ case WM_SETFOCUS: - /* The WM_SETFOCUS message is sent to a window after it has gained the keyboard focus. */ + /* The WM_SETFOCUS message is sent to a window after it has gained the keyboard focus. */ case WM_ENTERSIZEMOVE: /* The WM_ENTERSIZEMOVE message is sent one time to a window after it enters the moving * or sizing modal loop. The window enters the moving or sizing modal loop when the user @@ -1202,19 +1205,19 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, * DefWindowProc returns. */ break; - //////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////// // Other events //////////////////////////////////////////////////////////////////////// case WM_GETTEXT: - /* An application sends a WM_GETTEXT message to copy the text that - * corresponds to a window into a buffer provided by the caller. - */ + /* An application sends a WM_GETTEXT message to copy the text that + * corresponds to a window into a buffer provided by the caller. + */ case WM_ACTIVATEAPP: - /* The WM_ACTIVATEAPP message is sent when a window belonging to a - * different application than the active window is about to be activated. - * The message is sent to the application whose window is being activated - * and to the application whose window is being deactivated. - */ + /* The WM_ACTIVATEAPP message is sent when a window belonging to a + * different application than the active window is about to be activated. + * The message is sent to the application whose window is being activated + * and to the application whose window is being deactivated. + */ case WM_TIMER: /* The WIN32 docs say: * The WM_TIMER message is posted to the installing thread's message queue @@ -1237,7 +1240,7 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, WM_NCCALCSIZE 0x83 WM_CREATE 0x01 We let DefWindowProc do the work. - */ + */ } } else { @@ -1256,66 +1259,68 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, return lResult; } -GHOST_TUns8* GHOST_SystemWin32::getClipboard(bool selection) const +GHOST_TUns8 *GHOST_SystemWin32::getClipboard(bool selection) const { char *temp_buff; - if ( IsClipboardFormatAvailable(CF_UNICODETEXT) && OpenClipboard(NULL) ) { + if (IsClipboardFormatAvailable(CF_UNICODETEXT) && OpenClipboard(NULL) ) { wchar_t *buffer; - HANDLE hData = GetClipboardData( CF_UNICODETEXT ); + HANDLE hData = GetClipboardData(CF_UNICODETEXT); if (hData == NULL) { CloseClipboard(); return NULL; } - buffer = (wchar_t*)GlobalLock( hData ); + buffer = (wchar_t *)GlobalLock(hData); if (!buffer) { CloseClipboard(); return NULL; } - temp_buff = alloc_utf_8_from_16(buffer,0); + temp_buff = alloc_utf_8_from_16(buffer, 0); /* Buffer mustn't be accessed after CloseClipboard it would like accessing free-d memory */ - GlobalUnlock( hData ); + GlobalUnlock(hData); CloseClipboard(); - return (GHOST_TUns8*)temp_buff; - } else if ( IsClipboardFormatAvailable(CF_TEXT) && OpenClipboard(NULL) ) { + return (GHOST_TUns8 *)temp_buff; + } + else if (IsClipboardFormatAvailable(CF_TEXT) && OpenClipboard(NULL) ) { char *buffer; size_t len = 0; - HANDLE hData = GetClipboardData( CF_TEXT ); + HANDLE hData = GetClipboardData(CF_TEXT); if (hData == NULL) { CloseClipboard(); return NULL; } - buffer = (char*)GlobalLock( hData ); + buffer = (char *)GlobalLock(hData); if (!buffer) { CloseClipboard(); return NULL; } len = strlen(buffer); - temp_buff = (char*) malloc(len+1); + temp_buff = (char *) malloc(len + 1); strncpy(temp_buff, buffer, len); temp_buff[len] = '\0'; /* Buffer mustn't be accessed after CloseClipboard it would like accessing free-d memory */ - GlobalUnlock( hData ); + GlobalUnlock(hData); CloseClipboard(); - return (GHOST_TUns8*)temp_buff; - } else { + return (GHOST_TUns8 *)temp_buff; + } + else { return NULL; } } void GHOST_SystemWin32::putClipboard(GHOST_TInt8 *buffer, bool selection) const { - if(selection) {return;} // for copying the selection, used on X11 + if (selection) {return; } // for copying the selection, used on X11 - if(OpenClipboard(NULL)) { + if (OpenClipboard(NULL)) { HLOCAL clipbuffer; wchar_t *data; @@ -1323,65 +1328,66 @@ void GHOST_SystemWin32::putClipboard(GHOST_TInt8 *buffer, bool selection) const size_t len = count_utf_16_from_8(buffer); EmptyClipboard(); - clipbuffer = LocalAlloc(LMEM_FIXED,sizeof(wchar_t) * len); - data = (wchar_t*)GlobalLock(clipbuffer); + clipbuffer = LocalAlloc(LMEM_FIXED, sizeof(wchar_t) * len); + data = (wchar_t *)GlobalLock(clipbuffer); conv_utf_8_to_16(buffer, data, len); LocalUnlock(clipbuffer); - SetClipboardData(CF_UNICODETEXT,clipbuffer); + SetClipboardData(CF_UNICODETEXT, clipbuffer); } CloseClipboard(); - } else { + } + else { return; } } int GHOST_SystemWin32::toggleConsole(int action) { - switch(action) + switch (action) { case 3: //hide if no console - { - DWORD sp = GetCurrentProcessId(); - HANDLE ptree = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); - PROCESSENTRY32 e = {0}; e.dwSize = sizeof(PROCESSENTRY32); - - if( Process32First(ptree, &e)) { - do { //Searches for Blender's PROCESSENTRY32 + { + DWORD sp = GetCurrentProcessId(); + HANDLE ptree = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); + PROCESSENTRY32 e = {0}; e.dwSize = sizeof(PROCESSENTRY32); + + if (Process32First(ptree, &e)) { + do { //Searches for Blender's PROCESSENTRY32 + if (e.th32ProcessID == sp) { + sp = e.th32ParentProcessID; + Process32First(ptree, &e); + do { //Got parent id, searches for its PROCESSENTRY32 if (e.th32ProcessID == sp) { - sp = e.th32ParentProcessID; - Process32First(ptree, &e); - do { //Got parent id, searches for its PROCESSENTRY32 - if (e.th32ProcessID == sp) { - if(strcmp("explorer.exe",e.szExeFile)==0) - { //If explorer, hide cmd - ShowWindow(GetConsoleWindow(),SW_HIDE); - m_consoleStatus = 0; - } - break; - } - - } while( Process32Next(ptree, &e)); + if (strcmp("explorer.exe", e.szExeFile) == 0) + { //If explorer, hide cmd + ShowWindow(GetConsoleWindow(), SW_HIDE); + m_consoleStatus = 0; + } break; } - } while( Process32Next(ptree, &e)); - } - CloseHandle(ptree); - break; + } while (Process32Next(ptree, &e)); + break; + } + } while (Process32Next(ptree, &e)); } + + CloseHandle(ptree); + break; + } case 0: //hide - ShowWindow(GetConsoleWindow(),SW_HIDE); + ShowWindow(GetConsoleWindow(), SW_HIDE); m_consoleStatus = 0; break; case 1: //show - ShowWindow(GetConsoleWindow(),SW_SHOW); + ShowWindow(GetConsoleWindow(), SW_SHOW); m_consoleStatus = 1; break; case 2: //toggle - ShowWindow(GetConsoleWindow(),m_consoleStatus?SW_HIDE:SW_SHOW); - m_consoleStatus=!m_consoleStatus; + ShowWindow(GetConsoleWindow(), m_consoleStatus ? SW_HIDE : SW_SHOW); + m_consoleStatus = !m_consoleStatus; break; }; @@ -1390,8 +1396,8 @@ int GHOST_SystemWin32::toggleConsole(int action) return m_consoleStatus; } -int GHOST_SystemWin32::confirmQuit(GHOST_IWindow * window) const +int GHOST_SystemWin32::confirmQuit(GHOST_IWindow *window) const { - return (MessageBox(window ? ((GHOST_WindowWin32*)window)->getHWND() : 0, "Some changes have not been saved.\nDo you really want to quit ?", - "Exit Blender", MB_OKCANCEL | MB_ICONWARNING | MB_TOPMOST) == IDOK); + return (MessageBox(window ? ((GHOST_WindowWin32 *)window)->getHWND() : 0, "Some changes have not been saved.\nDo you really want to quit ?", + "Exit Blender", MB_OKCANCEL | MB_ICONWARNING | MB_TOPMOST) == IDOK); } diff --git a/intern/ghost/intern/GHOST_SystemWin32.h b/intern/ghost/intern/GHOST_SystemWin32.h index bc2044e549d..f63ad38d0cc 100644 --- a/intern/ghost/intern/GHOST_SystemWin32.h +++ b/intern/ghost/intern/GHOST_SystemWin32.h @@ -45,7 +45,7 @@ #include "GHOST_System.h" #if defined(__CYGWIN32__) -# define __int64 long long +# define __int64 long long #endif class GHOST_EventButton; @@ -93,7 +93,7 @@ public: * Returns the number of displays on this system. * @return The number of displays. */ - virtual GHOST_TUns8 getNumDisplays() const; + virtual GHOST_TUns8 getNumDisplays() const; /** * Returns the dimensions of the main display on this system. @@ -114,16 +114,16 @@ public: * @param type The type of drawing context installed in this window. * @param stereoVisual Stereo visual for quad buffered stereo. * @param numOfAASamples Number of samples used for AA (zero if no AA) - * @param parentWindow Parent (embedder) window + * @param parentWindow Parent (embedder) window * @return The new window (or 0 if creation failed). */ - virtual GHOST_IWindow* createWindow( - const STR_String& title, - GHOST_TInt32 left, GHOST_TInt32 top, GHOST_TUns32 width, GHOST_TUns32 height, - GHOST_TWindowState state, GHOST_TDrawingContextType type, - const bool stereoVisual = false, - const GHOST_TUns16 numOfAASamples = 0, - const GHOST_TEmbedderWindowID parentWindow = 0 ); + virtual GHOST_IWindow *createWindow( + const STR_String& title, + GHOST_TInt32 left, GHOST_TInt32 top, GHOST_TUns32 width, GHOST_TUns32 height, + GHOST_TWindowState state, GHOST_TDrawingContextType type, + const bool stereoVisual = false, + const GHOST_TUns16 numOfAASamples = 0, + const GHOST_TEmbedderWindowID parentWindow = 0); /*************************************************************************************** ** Event management functionality @@ -180,7 +180,7 @@ public: * @param selection Used by X11 only * @return Returns the Clipboard */ - virtual GHOST_TUns8* getClipboard(bool selection) const; + virtual GHOST_TUns8 *getClipboard(bool selection) const; /** * Puts buffer to system clipboard @@ -199,13 +199,13 @@ public: * @param window The window on which the event occurred * @return Indication whether the event was handled. */ - static GHOST_TSuccess pushDragDropEvent(GHOST_TEventType eventType, GHOST_TDragnDropTypes draggedObjectType,GHOST_IWindow* window, int mouseX, int mouseY, void* data); + static GHOST_TSuccess pushDragDropEvent(GHOST_TEventType eventType, GHOST_TDragnDropTypes draggedObjectType, GHOST_IWindow *window, int mouseX, int mouseY, void *data); /** * Confirms quitting he program when there is just one window left open * in the application */ - virtual int confirmQuit(GHOST_IWindow * window) const; + virtual int confirmQuit(GHOST_IWindow *window) const; protected: /** @@ -239,7 +239,7 @@ protected: * @param vk Pointer to virtual key * @return The GHOST key (GHOST_kKeyUnknown if no match). */ - virtual GHOST_TKey hardKey(GHOST_IWindow *window, RAWINPUT const& raw, int * keyDown, char * vk); + virtual GHOST_TKey hardKey(GHOST_IWindow *window, RAWINPUT const& raw, int *keyDown, char *vk); /** * Creates modifier key event(s) and updates the key data stored locally (m_modifierKeys). @@ -248,7 +248,7 @@ protected: * events generated for both keys. * @param window The window receiving the event (the active window). */ - GHOST_EventKey* processModifierKeys(GHOST_IWindow *window); + GHOST_EventKey *processModifierKeys(GHOST_IWindow *window); /** * Creates mouse button event. @@ -257,7 +257,7 @@ protected: * @param mask The button mask of this event. * @return The event created. */ - static GHOST_EventButton* processButtonEvent(GHOST_TEventType type, GHOST_IWindow *window, GHOST_TButtonMask mask); + static GHOST_EventButton *processButtonEvent(GHOST_TEventType type, GHOST_IWindow *window, GHOST_TButtonMask mask); /** * Creates cursor event. @@ -265,7 +265,7 @@ protected: * @param window The window receiving the event (the active window). * @return The event created. */ - static GHOST_EventCursor* processCursorEvent(GHOST_TEventType type, GHOST_IWindow *Iwindow); + static GHOST_EventCursor *processCursorEvent(GHOST_TEventType type, GHOST_IWindow *Iwindow); /** * Creates a mouse wheel event. @@ -273,7 +273,7 @@ protected: * @param wParam The wParam from the wndproc * @param lParam The lParam from the wndproc */ - static GHOST_EventWheel* processWheelEvent(GHOST_IWindow *window, WPARAM wParam, LPARAM lParam); + static GHOST_EventWheel *processWheelEvent(GHOST_IWindow *window, WPARAM wParam, LPARAM lParam); /** * Creates a key event and updates the key data stored locally (m_modifierKeys). @@ -282,7 +282,7 @@ protected: * @param window The window receiving the event (the active window). * @param raw RawInput structure with detailed info about the key event */ - static GHOST_EventKey* processKeyEvent(GHOST_IWindow *window, RAWINPUT const& raw); + static GHOST_EventKey *processKeyEvent(GHOST_IWindow *window, RAWINPUT const& raw); /** * Process special keys (VK_OEM_*), to see if current key layout @@ -299,13 +299,13 @@ protected: * @param window The window receiving the event (the active window). * @return The event created. */ - static GHOST_Event* processWindowEvent(GHOST_TEventType type, GHOST_IWindow* window); + static GHOST_Event *processWindowEvent(GHOST_TEventType type, GHOST_IWindow *window); /** * Handles minimum window size. * @param minmax The MINMAXINFO structure. */ - static void processMinMaxInfo(MINMAXINFO * minmax); + static void processMinMaxInfo(MINMAXINFO *minmax); #ifdef WITH_INPUT_NDOF /** @@ -342,14 +342,14 @@ protected: static LRESULT WINAPI s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); /** - * Toggles console - * @action 0 - Hides - * 1 - Shows - * 2 - Toggles - * 3 - Hides if it runs not from command line - * * - Does nothing - * @return current status (1 -visible, 0 - hidden) - */ + * Toggles console + * @action 0 - Hides + * 1 - Shows + * 2 - Toggles + * 3 - Hides if it runs not from command line + * * - Does nothing + * @return current status (1 -visible, 0 - hidden) + */ int toggleConsole(int action); /** The current state of the modifier keys. */ @@ -390,12 +390,12 @@ inline void GHOST_SystemWin32::handleKeyboardChange(void) // save the language identifier. m_langId = LOWORD(m_keylayout); - for(m_hasAltGr = false, i = 32; i < 256; ++i) { + for (m_hasAltGr = false, i = 32; i < 256; ++i) { s = VkKeyScanEx((char)i, m_keylayout); // s == -1 means no key that translates passed char code // high byte contains shift state. bit 2 ctrl pressed, bit 4 alt pressed // if both are pressed, we have AltGr keycombo on keylayout - if(s!=-1 && (s & 0x600) == 0x600) { + if (s != -1 && (s & 0x600) == 0x600) { m_hasAltGr = true; break; } diff --git a/intern/ghost/intern/GHOST_TaskbarWin32.h b/intern/ghost/intern/GHOST_TaskbarWin32.h index a5d6fdc745f..34908a59b3a 100644 --- a/intern/ghost/intern/GHOST_TaskbarWin32.h +++ b/intern/ghost/intern/GHOST_TaskbarWin32.h @@ -19,54 +19,54 @@ // GHOST_WindowWin32 #ifndef __ITaskbarList_INTERFACE_DEFINED__ #define __ITaskbarList_INTERFACE_DEFINED__ - extern "C" {const GUID CLSID_TaskbarList = {0x56FDF344, 0xFD6D, 0x11D0, {0x95, 0x8A, 0x00, 0x60, 0x97, 0xC9, 0xA0, 0x90} }; - const GUID IID_ITaskbarList = {0x56FDF342, 0xFD6D, 0x11D0, {0x95, 0x8A, 0x00, 0x60, 0x97, 0xC9, 0xA0, 0x90} }; } - class ITaskbarList : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE HrInit (void) = 0; - virtual HRESULT STDMETHODCALLTYPE AddTab (HWND hwnd) = 0; - virtual HRESULT STDMETHODCALLTYPE DeleteTab (HWND hwnd) = 0; - virtual HRESULT STDMETHODCALLTYPE ActivateTab (HWND hwnd) = 0; - virtual HRESULT STDMETHODCALLTYPE SetActiveAlt (HWND hwnd) = 0; - }; -#endif /* ITaskbarList */ +extern "C" {const GUID CLSID_TaskbarList = {0x56FDF344, 0xFD6D, 0x11D0, {0x95, 0x8A, 0x00, 0x60, 0x97, 0xC9, 0xA0, 0x90} }; + const GUID IID_ITaskbarList = {0x56FDF342, 0xFD6D, 0x11D0, {0x95, 0x8A, 0x00, 0x60, 0x97, 0xC9, 0xA0, 0x90} }; } +class ITaskbarList : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE HrInit(void) = 0; + virtual HRESULT STDMETHODCALLTYPE AddTab(HWND hwnd) = 0; + virtual HRESULT STDMETHODCALLTYPE DeleteTab(HWND hwnd) = 0; + virtual HRESULT STDMETHODCALLTYPE ActivateTab(HWND hwnd) = 0; + virtual HRESULT STDMETHODCALLTYPE SetActiveAlt(HWND hwnd) = 0; +}; +#endif /* ITaskbarList */ #ifndef __ITaskbarList2_INTERFACE_DEFINED__ #define __ITaskbarList2_INTERFACE_DEFINED__ - extern "C" {const GUID IID_ITaskbarList2 = {0x602D4995, 0xB13A, 0x429b, {0xA6, 0x6E, 0x19, 0x35, 0xE4, 0x4F, 0x43, 0x17} }; } - class ITaskbarList2 : public ITaskbarList - { - public: - virtual HRESULT STDMETHODCALLTYPE MarkFullscreenWindow(HWND hwnd, BOOL fFullscreen) = 0; - }; -#endif /* ITaskbarList2 */ +extern "C" {const GUID IID_ITaskbarList2 = {0x602D4995, 0xB13A, 0x429b, {0xA6, 0x6E, 0x19, 0x35, 0xE4, 0x4F, 0x43, 0x17} }; } +class ITaskbarList2 : public ITaskbarList +{ +public: + virtual HRESULT STDMETHODCALLTYPE MarkFullscreenWindow(HWND hwnd, BOOL fFullscreen) = 0; +}; +#endif /* ITaskbarList2 */ #ifndef __ITaskbarList3_INTERFACE_DEFINED__ #define __ITaskbarList3_INTERFACE_DEFINED__ typedef enum THUMBBUTTONFLAGS {THBF_ENABLED = 0, THBF_DISABLED = 0x1, THBF_DISMISSONCLICK = 0x2, THBF_NOBACKGROUND = 0x4, THBF_HIDDEN = 0x8, THBF_NONINTERACTIVE = 0x10} THUMBBUTTONFLAGS; typedef enum THUMBBUTTONMASK {THB_BITMAP = 0x1, THB_ICON = 0x2, THB_TOOLTIP = 0x4, THB_FLAGS = 0x8} THUMBBUTTONMASK; typedef struct THUMBBUTTON {THUMBBUTTONMASK dwMask; UINT iId; UINT iBitmap; HICON hIcon; WCHAR szTip[260]; THUMBBUTTONFLAGS dwFlags; } THUMBBUTTON; -typedef enum TBPFLAG {TBPF_NOPROGRESS = 0, TBPF_INDETERMINATE = 0x1, TBPF_NORMAL = 0x2, TBPF_ERROR = 0x4, TBPF_PAUSED = 0x8 } TBPFLAG; +typedef enum TBPFLAG {TBPF_NOPROGRESS = 0, TBPF_INDETERMINATE = 0x1, TBPF_NORMAL = 0x2, TBPF_ERROR = 0x4, TBPF_PAUSED = 0x8 } TBPFLAG; #define THBN_CLICKED 0x1800 - extern "C" {const GUID IID_ITaskList3 = { 0xEA1AFB91, 0x9E28, 0x4B86, {0x90, 0xE9, 0x9E, 0x9F, 0x8A, 0x5E, 0xEF, 0xAF} };} +extern "C" {const GUID IID_ITaskList3 = { 0xEA1AFB91, 0x9E28, 0x4B86, {0x90, 0xE9, 0x9E, 0x9F, 0x8A, 0x5E, 0xEF, 0xAF} }; } - class ITaskbarList3 : public ITaskbarList2 - { - public: - virtual HRESULT STDMETHODCALLTYPE SetProgressValue (HWND hwnd, ULONGLONG ullCompleted, ULONGLONG ullTotal) = 0; - virtual HRESULT STDMETHODCALLTYPE SetProgressState (HWND hwnd, TBPFLAG tbpFlags) = 0; - virtual HRESULT STDMETHODCALLTYPE RegisterTab (HWND hwndTab, HWND hwndMDI) = 0; - virtual HRESULT STDMETHODCALLTYPE UnregisterTab (HWND hwndTab) = 0; - virtual HRESULT STDMETHODCALLTYPE SetTabOrder (HWND hwndTab, HWND hwndInsertBefore) = 0; - virtual HRESULT STDMETHODCALLTYPE SetTabActive (HWND hwndTab, HWND hwndMDI, DWORD dwReserved) = 0; - virtual HRESULT STDMETHODCALLTYPE ThumbBarAddButtons (HWND hwnd, UINT cButtons, THUMBBUTTON * pButton) = 0; - virtual HRESULT STDMETHODCALLTYPE ThumbBarUpdateButtons (HWND hwnd, UINT cButtons, THUMBBUTTON * pButton) = 0; - virtual HRESULT STDMETHODCALLTYPE ThumbBarSetImageList (HWND hwnd, HIMAGELIST himl) = 0; - virtual HRESULT STDMETHODCALLTYPE SetOverlayIcon (HWND hwnd, HICON hIcon, LPCWSTR pszDescription) = 0; - virtual HRESULT STDMETHODCALLTYPE SetThumbnailTooltip (HWND hwnd, LPCWSTR pszTip) = 0; - virtual HRESULT STDMETHODCALLTYPE SetThumbnailClip (HWND hwnd, RECT *prcClip) = 0; - }; -#endif /* ITaskbarList3 */ +class ITaskbarList3 : public ITaskbarList2 +{ +public: + virtual HRESULT STDMETHODCALLTYPE SetProgressValue(HWND hwnd, ULONGLONG ullCompleted, ULONGLONG ullTotal) = 0; + virtual HRESULT STDMETHODCALLTYPE SetProgressState(HWND hwnd, TBPFLAG tbpFlags) = 0; + virtual HRESULT STDMETHODCALLTYPE RegisterTab(HWND hwndTab, HWND hwndMDI) = 0; + virtual HRESULT STDMETHODCALLTYPE UnregisterTab(HWND hwndTab) = 0; + virtual HRESULT STDMETHODCALLTYPE SetTabOrder(HWND hwndTab, HWND hwndInsertBefore) = 0; + virtual HRESULT STDMETHODCALLTYPE SetTabActive(HWND hwndTab, HWND hwndMDI, DWORD dwReserved) = 0; + virtual HRESULT STDMETHODCALLTYPE ThumbBarAddButtons(HWND hwnd, UINT cButtons, THUMBBUTTON *pButton) = 0; + virtual HRESULT STDMETHODCALLTYPE ThumbBarUpdateButtons(HWND hwnd, UINT cButtons, THUMBBUTTON *pButton) = 0; + virtual HRESULT STDMETHODCALLTYPE ThumbBarSetImageList(HWND hwnd, HIMAGELIST himl) = 0; + virtual HRESULT STDMETHODCALLTYPE SetOverlayIcon(HWND hwnd, HICON hIcon, LPCWSTR pszDescription) = 0; + virtual HRESULT STDMETHODCALLTYPE SetThumbnailTooltip(HWND hwnd, LPCWSTR pszTip) = 0; + virtual HRESULT STDMETHODCALLTYPE SetThumbnailClip(HWND hwnd, RECT *prcClip) = 0; +}; +#endif /* ITaskbarList3 */ #endif /*__GHOST_TASKBARWIN32_H__*/ diff --git a/intern/ghost/intern/GHOST_TimerManager.cpp b/intern/ghost/intern/GHOST_TimerManager.cpp index 19cfe61a260..4780a4a0d44 100644 --- a/intern/ghost/intern/GHOST_TimerManager.cpp +++ b/intern/ghost/intern/GHOST_TimerManager.cpp @@ -61,14 +61,14 @@ GHOST_TUns32 GHOST_TimerManager::getNumTimers() } -bool GHOST_TimerManager::getTimerFound(GHOST_TimerTask* timer) +bool GHOST_TimerManager::getTimerFound(GHOST_TimerTask *timer) { TTimerVector::const_iterator iter = std::find(m_timers.begin(), m_timers.end(), timer); return iter != m_timers.end(); } -GHOST_TSuccess GHOST_TimerManager::addTimer(GHOST_TimerTask* timer) +GHOST_TSuccess GHOST_TimerManager::addTimer(GHOST_TimerTask *timer) { GHOST_TSuccess success; if (!getTimerFound(timer)) { @@ -83,7 +83,7 @@ GHOST_TSuccess GHOST_TimerManager::addTimer(GHOST_TimerTask* timer) } -GHOST_TSuccess GHOST_TimerManager::removeTimer(GHOST_TimerTask* timer) +GHOST_TSuccess GHOST_TimerManager::removeTimer(GHOST_TimerTask *timer) { GHOST_TSuccess success; TTimerVector::iterator iter = std::find(m_timers.begin(), m_timers.end(), timer); @@ -108,7 +108,7 @@ GHOST_TUns64 GHOST_TimerManager::nextFireTime() for (iter = m_timers.begin(); iter != m_timers.end(); iter++) { GHOST_TUns64 next = (*iter)->getNext(); - if (next<smallest) + if (next < smallest) smallest = next; } @@ -129,7 +129,7 @@ bool GHOST_TimerManager::fireTimers(GHOST_TUns64 time) } -bool GHOST_TimerManager::fireTimer(GHOST_TUns64 time, GHOST_TimerTask* task) +bool GHOST_TimerManager::fireTimer(GHOST_TUns64 time, GHOST_TimerTask *task) { GHOST_TUns64 next = task->getNext(); @@ -148,7 +148,8 @@ bool GHOST_TimerManager::fireTimer(GHOST_TUns64 time, GHOST_TimerTask* task) task->setNext(next); return true; - } else { + } + else { return false; } } diff --git a/intern/ghost/intern/GHOST_TimerManager.h b/intern/ghost/intern/GHOST_TimerManager.h index ce4983ca105..0b189cf3aa9 100644 --- a/intern/ghost/intern/GHOST_TimerManager.h +++ b/intern/ghost/intern/GHOST_TimerManager.h @@ -64,13 +64,13 @@ public: * Returns the number of timer tasks. * @return The number of events on the stack. */ - virtual GHOST_TUns32 getNumTimers(); + virtual GHOST_TUns32 getNumTimers(); /** * Returns whther this timer task ins in our list. * @return Indication of presence. */ - virtual bool getTimerFound(GHOST_TimerTask* timer); + virtual bool getTimerFound(GHOST_TimerTask *timer); /** * Adds a timer task to the list. @@ -78,7 +78,7 @@ public: * @param timer The timer task added to the list. * @return Indication as to whether addition has succeeded. */ - virtual GHOST_TSuccess addTimer(GHOST_TimerTask* timer); + virtual GHOST_TSuccess addTimer(GHOST_TimerTask *timer); /** * Removes a timer task from the list. @@ -86,7 +86,7 @@ public: * @param timer The timer task to be removed from the list. * @return Indication as to whether removal has succeeded. */ - virtual GHOST_TSuccess removeTimer(GHOST_TimerTask* timer); + virtual GHOST_TSuccess removeTimer(GHOST_TimerTask *timer); /** * Finds the soonest time the next timer would fire. @@ -108,7 +108,7 @@ public: * @param task The timer task to check and optionally fire. * @return True if the timer fired. */ - virtual bool fireTimer(GHOST_TUns64 time, GHOST_TimerTask* task); + virtual bool fireTimer(GHOST_TUns64 time, GHOST_TimerTask *task); protected: /** @@ -116,7 +116,7 @@ protected: */ void disposeTimers(); - typedef std::vector<GHOST_TimerTask*> TTimerVector; + typedef std::vector<GHOST_TimerTask *> TTimerVector; /** The list with event consumers. */ TTimerVector m_timers; }; diff --git a/intern/ghost/intern/GHOST_TimerTask.h b/intern/ghost/intern/GHOST_TimerTask.h index e15082ac1ba..d74d705d511 100644 --- a/intern/ghost/intern/GHOST_TimerTask.h +++ b/intern/ghost/intern/GHOST_TimerTask.h @@ -56,11 +56,11 @@ public: GHOST_TimerProcPtr timerProc, GHOST_TUserDataPtr userData = 0) : m_start(start), - m_interval(interval), - m_next(start), - m_timerProc(timerProc), - m_userData(userData), - m_auxData(0) + m_interval(interval), + m_next(start), + m_timerProc(timerProc), + m_userData(userData), + m_auxData(0) { } diff --git a/intern/ghost/intern/GHOST_Window.cpp b/intern/ghost/intern/GHOST_Window.cpp index b560b04b5df..c3244d1594d 100644 --- a/intern/ghost/intern/GHOST_Window.cpp +++ b/intern/ghost/intern/GHOST_Window.cpp @@ -40,12 +40,12 @@ GHOST_Window::GHOST_Window( - GHOST_TUns32 width, GHOST_TUns32 height, - GHOST_TWindowState state, - GHOST_TDrawingContextType type, - const bool stereoVisual, - const GHOST_TUns16 numOfAASamples) -: + GHOST_TUns32 width, GHOST_TUns32 height, + GHOST_TWindowState state, + GHOST_TDrawingContextType type, + const bool stereoVisual, + const GHOST_TUns16 numOfAASamples) + : m_drawingContextType(type), m_cursorVisible(true), m_cursorGrab(GHOST_kGrabDisable), @@ -58,14 +58,14 @@ GHOST_Window::GHOST_Window( m_progressBarVisible = false; - m_cursorGrabAccumPos[0] = 0; - m_cursorGrabAccumPos[1] = 0; - - m_fullScreen = state == GHOST_kWindowStateFullScreen; - if (m_fullScreen) { - m_fullScreenWidth = width; - m_fullScreenHeight = height; - } + m_cursorGrabAccumPos[0] = 0; + m_cursorGrabAccumPos[1] = 0; + + m_fullScreen = state == GHOST_kWindowStateFullScreen; + if (m_fullScreen) { + m_fullScreenWidth = width; + m_fullScreenHeight = height; + } } @@ -73,7 +73,7 @@ GHOST_Window::~GHOST_Window() { } -void* GHOST_Window::getOSWindow() const +void *GHOST_Window::getOSWindow() const { return NULL; } @@ -107,16 +107,17 @@ GHOST_TSuccess GHOST_Window::setCursorVisibility(bool visible) GHOST_TSuccess GHOST_Window::setCursorGrab(GHOST_TGrabCursorMode mode, GHOST_Rect *bounds) { - if(m_cursorGrab == mode) + if (m_cursorGrab == mode) return GHOST_kSuccess; if (setWindowCursorGrab(mode)) { - if(mode==GHOST_kGrabDisable) - m_cursorGrabBounds.m_l= m_cursorGrabBounds.m_r= -1; + if (mode == GHOST_kGrabDisable) + m_cursorGrabBounds.m_l = m_cursorGrabBounds.m_r = -1; else if (bounds) { - m_cursorGrabBounds= *bounds; - } else { /* if bounds not defined, use window */ + m_cursorGrabBounds = *bounds; + } + else { /* if bounds not defined, use window */ getClientBounds(m_cursorGrabBounds); } m_cursorGrab = mode; @@ -129,8 +130,8 @@ GHOST_TSuccess GHOST_Window::setCursorGrab(GHOST_TGrabCursorMode mode, GHOST_Rec GHOST_TSuccess GHOST_Window::getCursorGrabBounds(GHOST_Rect& bounds) { - bounds= m_cursorGrabBounds; - return (bounds.m_l==-1 && bounds.m_r==-1) ? GHOST_kFailure : GHOST_kSuccess; + bounds = m_cursorGrabBounds; + return (bounds.m_l == -1 && bounds.m_r == -1) ? GHOST_kFailure : GHOST_kSuccess; } GHOST_TSuccess GHOST_Window::setCursorShape(GHOST_TStandardCursor cursorShape) @@ -148,14 +149,14 @@ GHOST_TSuccess GHOST_Window::setCustomCursorShape(GHOST_TUns8 bitmap[16][2], GHO int hotX, int hotY) { return setCustomCursorShape((GHOST_TUns8 *)bitmap, (GHOST_TUns8 *)mask, - 16, 16, hotX, hotY, 0, 1 ); + 16, 16, hotX, hotY, 0, 1); } GHOST_TSuccess GHOST_Window::setCustomCursorShape(GHOST_TUns8 *bitmap, GHOST_TUns8 *mask, int sizex, int sizey, int hotX, int hotY, int fg_color, int bg_color) { - if (setWindowCustomCursorShape(bitmap, mask, sizex, sizey,hotX, hotY, fg_color, bg_color)) { + if (setWindowCustomCursorShape(bitmap, mask, sizex, sizey, hotX, hotY, fg_color, bg_color)) { m_cursorShape = GHOST_kStandardCursorCustom; return GHOST_kSuccess; } diff --git a/intern/ghost/intern/GHOST_Window.h b/intern/ghost/intern/GHOST_Window.h index 23f1b044b60..91a974bde19 100644 --- a/intern/ghost/intern/GHOST_Window.h +++ b/intern/ghost/intern/GHOST_Window.h @@ -83,12 +83,12 @@ public: * @param numOfAASamples Number of samples used for AA (zero if no AA) */ GHOST_Window( - GHOST_TUns32 width, - GHOST_TUns32 height, - GHOST_TWindowState state, - GHOST_TDrawingContextType type = GHOST_kDrawingContextTypeNone, - const bool stereoVisual = false, - const GHOST_TUns16 numOfAASamples = 0); + GHOST_TUns32 width, + GHOST_TUns32 height, + GHOST_TWindowState state, + GHOST_TDrawingContextType type = GHOST_kDrawingContextTypeNone, + const bool stereoVisual = false, + const GHOST_TUns16 numOfAASamples = 0); /** * @section Interface inherited from GHOST_IWindow left for derived class @@ -121,7 +121,7 @@ public: * Returns the associated OS object/handle * @return The associated OS object/handle */ - virtual void* getOSWindow() const; + virtual void *getOSWindow() const; /** * Returns the current cursor shape. @@ -145,15 +145,15 @@ public: * @return Indication of success. */ virtual GHOST_TSuccess setCustomCursorShape(GHOST_TUns8 bitmap[16][2], - GHOST_TUns8 mask[16][2], - int hotX, - int hotY); + GHOST_TUns8 mask[16][2], + int hotX, + int hotY); virtual GHOST_TSuccess setCustomCursorShape(GHOST_TUns8 *bitmap, - GHOST_TUns8 *mask, - int sizex, int sizey, - int hotX, int hotY, - int fg_color, int bg_color); + GHOST_TUns8 *mask, + int sizex, int sizey, + int hotX, int hotY, + int fg_color, int bg_color); /** * Returns the visibility state of the cursor. @@ -187,15 +187,19 @@ public: virtual GHOST_TSuccess getCursorGrabBounds(GHOST_Rect& bounds); /** - * Sets the progress bar value displayed in the window/application icon + * Sets the progress bar value displayed in the window/application icon * @param progress The progress % (0.0 to 1.0) */ - virtual GHOST_TSuccess setProgressBar(float progress) {return GHOST_kFailure;}; + virtual GHOST_TSuccess setProgressBar(float progress) { + return GHOST_kFailure; + }; /** * Hides the progress bar in the icon */ - virtual GHOST_TSuccess endProgressBar() {return GHOST_kFailure;}; + virtual GHOST_TSuccess endProgressBar() { + return GHOST_kFailure; + }; /** * Tells if the ongoing drag'n'drop object can be accepted upon mouse drop @@ -278,7 +282,9 @@ protected: * Sets the cursor grab on the window using * native window system calls. */ - virtual GHOST_TSuccess setWindowCursorGrab(GHOST_TGrabCursorMode mode) { return GHOST_kSuccess; }; + virtual GHOST_TSuccess setWindowCursorGrab(GHOST_TGrabCursorMode mode) { + return GHOST_kSuccess; + }; /** * Sets the cursor shape on the window using @@ -295,7 +301,7 @@ protected: int hotX, int hotY) = 0; virtual GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 *bitmap, GHOST_TUns8 *mask, - int szx, int szy, int hotX, int hotY, int fg, int bg) = 0; + int szx, int szy, int hotX, int hotY, int fg, int bg) = 0; /** The the of drawing context installed in this window. */ GHOST_TDrawingContextType m_drawingContextType; @@ -365,8 +371,8 @@ inline GHOST_TGrabCursorMode GHOST_Window::getCursorGrabMode() const inline bool GHOST_Window::getCursorGrabModeIsWarp() const { - return (m_cursorGrab == GHOST_kGrabWrap) || - (m_cursorGrab == GHOST_kGrabHide); + return (m_cursorGrab == GHOST_kGrabWrap) || + (m_cursorGrab == GHOST_kGrabHide); } inline void GHOST_Window::getCursorGrabInitPos(GHOST_TInt32 &x, GHOST_TInt32 &y) const @@ -377,14 +383,14 @@ inline void GHOST_Window::getCursorGrabInitPos(GHOST_TInt32 &x, GHOST_TInt32 &y) inline void GHOST_Window::getCursorGrabAccum(GHOST_TInt32 &x, GHOST_TInt32 &y) const { - x= m_cursorGrabAccumPos[0]; - y= m_cursorGrabAccumPos[1]; + x = m_cursorGrabAccumPos[0]; + y = m_cursorGrabAccumPos[1]; } inline void GHOST_Window::setCursorGrabAccum(GHOST_TInt32 x, GHOST_TInt32 y) { - m_cursorGrabAccumPos[0]= x; - m_cursorGrabAccumPos[1]= y; + m_cursorGrabAccumPos[0] = x; + m_cursorGrabAccumPos[1] = y; } inline GHOST_TStandardCursor GHOST_Window::getCursorShape() const diff --git a/intern/ghost/intern/GHOST_WindowCarbon.cpp b/intern/ghost/intern/GHOST_WindowCarbon.cpp index ab7325fcef8..16e3cb49652 100644 --- a/intern/ghost/intern/GHOST_WindowCarbon.cpp +++ b/intern/ghost/intern/GHOST_WindowCarbon.cpp @@ -46,31 +46,31 @@ const GHOST_TInt32 GHOST_WindowCarbon::s_sizeRectSize = 16; #endif //GHOST_DRAW_CARBON_GUTTER static const GLint sPreferredFormatWindow[10] = { -AGL_RGBA, -AGL_DOUBLEBUFFER, -AGL_ACCELERATED, -AGL_DEPTH_SIZE, 32, -AGL_NONE, + AGL_RGBA, + AGL_DOUBLEBUFFER, + AGL_ACCELERATED, + AGL_DEPTH_SIZE, 32, + AGL_NONE, }; static const GLint sPreferredFormatFullScreen[11] = { -AGL_RGBA, -AGL_DOUBLEBUFFER, -AGL_ACCELERATED, -AGL_FULLSCREEN, -AGL_DEPTH_SIZE, 32, -AGL_NONE, + AGL_RGBA, + AGL_DOUBLEBUFFER, + AGL_ACCELERATED, + AGL_FULLSCREEN, + AGL_DEPTH_SIZE, 32, + AGL_NONE, }; -WindowRef ugly_hack=NULL; +WindowRef ugly_hack = NULL; -const EventTypeSpec kWEvents[] = { +const EventTypeSpec kWEvents[] = { { kEventClassWindow, kEventWindowZoom }, /* for new zoom behaviour */ }; -static OSStatus myWEventHandlerProc(EventHandlerCallRef handler, EventRef event, void* userData) +static OSStatus myWEventHandlerProc(EventHandlerCallRef handler, EventRef event, void *userData) { WindowRef mywindow; GHOST_WindowCarbon *ghost_window; @@ -78,7 +78,7 @@ static OSStatus myWEventHandlerProc(EventHandlerCallRef handler, EventRef event, int theState; if (::GetEventKind(event) == kEventWindowZoom) { - err = ::GetEventParameter (event,kEventParamDirectObject,typeWindowRef,NULL,sizeof(mywindow),NULL, &mywindow); + err = ::GetEventParameter(event, kEventParamDirectObject, typeWindowRef, NULL, sizeof(mywindow), NULL, &mywindow); ghost_window = (GHOST_WindowCarbon *) GetWRefCon(mywindow); theState = ghost_window->getMac_windowState(); if (theState == 1) @@ -91,16 +91,16 @@ static OSStatus myWEventHandlerProc(EventHandlerCallRef handler, EventRef event, } GHOST_WindowCarbon::GHOST_WindowCarbon( - const STR_String& title, - GHOST_TInt32 left, - GHOST_TInt32 top, - GHOST_TUns32 width, - GHOST_TUns32 height, - GHOST_TWindowState state, - GHOST_TDrawingContextType type, - const bool stereoVisual, - const GHOST_TUns16 numOfAASamples -) : + const STR_String& title, + GHOST_TInt32 left, + GHOST_TInt32 top, + GHOST_TUns32 width, + GHOST_TUns32 height, + GHOST_TWindowState state, + GHOST_TDrawingContextType type, + const bool stereoVisual, + const GHOST_TUns16 numOfAASamples + ) : GHOST_Window(width, height, state, GHOST_kDrawingContextTypeNone), m_windowRef(0), m_grafPtr(0), @@ -108,84 +108,87 @@ GHOST_WindowCarbon::GHOST_WindowCarbon( m_customCursor(0), m_fullScreenDirty(false) { - Str255 title255; + Str255 title255; OSStatus err; //fprintf(stderr," main screen top %i left %i height %i width %i\n", top, left, height, width); - if (state >= GHOST_kWindowState8Normal ) { - if(state == GHOST_kWindowState8Normal) state= GHOST_kWindowStateNormal; - else if(state == GHOST_kWindowState8Maximized) state= GHOST_kWindowStateMaximized; - else if(state == GHOST_kWindowState8Minimized) state= GHOST_kWindowStateMinimized; - else if(state == GHOST_kWindowState8FullScreen) state= GHOST_kWindowStateFullScreen; + if (state >= GHOST_kWindowState8Normal) { + if (state == GHOST_kWindowState8Normal) state = GHOST_kWindowStateNormal; + else if (state == GHOST_kWindowState8Maximized) state = GHOST_kWindowStateMaximized; + else if (state == GHOST_kWindowState8Minimized) state = GHOST_kWindowStateMinimized; + else if (state == GHOST_kWindowState8FullScreen) state = GHOST_kWindowStateFullScreen; // state = state - 8; this was the simple version of above code, doesnt work in gcc 4.0 setMac_windowState(1); - } else + } + else setMac_windowState(0); if (state != GHOST_kWindowStateFullScreen) { - Rect bnds = { top, left, top+height, left+width }; - // Boolean visible = (state == GHOST_kWindowStateNormal) || (state == GHOST_kWindowStateMaximized); /*unused*/ - gen2mac(title, title255); - - err = ::CreateNewWindow( kDocumentWindowClass, - kWindowStandardDocumentAttributes+kWindowLiveResizeAttribute, - &bnds, - &m_windowRef); - - if ( err != noErr) { - fprintf(stderr," error creating window %i \n",(int)err); - } else { + Rect bnds = { top, left, top + height, left + width }; + // Boolean visible = (state == GHOST_kWindowStateNormal) || (state == GHOST_kWindowStateMaximized); /*unused*/ + gen2mac(title, title255); + + err = ::CreateNewWindow(kDocumentWindowClass, + kWindowStandardDocumentAttributes + kWindowLiveResizeAttribute, + &bnds, + &m_windowRef); - ::SetWRefCon(m_windowRef,(SInt32)this); + if (err != noErr) { + fprintf(stderr, " error creating window %i \n", (int)err); + } + else { + + ::SetWRefCon(m_windowRef, (SInt32) this); setTitle(title); - err = InstallWindowEventHandler (m_windowRef, myWEventHandlerProc, GetEventTypeCount(kWEvents), kWEvents,NULL,NULL); - if ( err != noErr) { - fprintf(stderr," error creating handler %i \n",(int)err); - } else { + err = InstallWindowEventHandler(m_windowRef, myWEventHandlerProc, GetEventTypeCount(kWEvents), kWEvents, NULL, NULL); + if (err != noErr) { + fprintf(stderr, " error creating handler %i \n", (int)err); + } + else { // ::TransitionWindow (m_windowRef,kWindowZoomTransitionEffect,kWindowShowTransitionAction,NULL); ::ShowWindow(m_windowRef); - ::MoveWindow (m_windowRef, left, top,true); + ::MoveWindow(m_windowRef, left, top, true); } } - if (m_windowRef) { - m_grafPtr = ::GetWindowPort(m_windowRef); - setDrawingContextType(type); - updateDrawingContext(); - activateDrawingContext(); - } - if(ugly_hack==NULL) { - ugly_hack= m_windowRef; + if (m_windowRef) { + m_grafPtr = ::GetWindowPort(m_windowRef); + setDrawingContextType(type); + updateDrawingContext(); + activateDrawingContext(); + } + if (ugly_hack == NULL) { + ugly_hack = m_windowRef; // when started from commandline, window remains in the back... also for play anim ProcessSerialNumber psn; GetCurrentProcess(&psn); SetFrontProcess(&psn); } - } - else { - /* - Rect bnds = { top, left, top+height, left+width }; - gen2mac("", title255); - m_windowRef = ::NewCWindow( - nil, // Storage - &bnds, // Bounding rectangle of the window - title255, // Title of the window - 0, // Window initially visible - plainDBox, // procID - (WindowRef)-1L, // Put window before all other windows - 0, // Window has minimize box - (SInt32)this); // Store a pointer to the class in the refCon - */ - //GHOST_PRINT("GHOST_WindowCarbon::GHOST_WindowCarbon(): creating full-screen OpenGL context\n"); - setDrawingContextType(GHOST_kDrawingContextTypeOpenGL);;installDrawingContext(GHOST_kDrawingContextTypeOpenGL); - updateDrawingContext(); - activateDrawingContext(); - - m_tablet.Active = GHOST_kTabletModeNone; - } + } + else { +#if 0 + Rect bnds = { top, left, top + height, left + width }; + gen2mac("", title255); + m_windowRef = ::NewCWindow( + nil, // Storage + &bnds, // Bounding rectangle of the window + title255, // Title of the window + 0, // Window initially visible + plainDBox, // procID + (WindowRef) - 1L, // Put window before all other windows + 0, // Window has minimize box + (SInt32) this); // Store a pointer to the class in the refCon +#endif + //GHOST_PRINT("GHOST_WindowCarbon::GHOST_WindowCarbon(): creating full-screen OpenGL context\n"); + setDrawingContextType(GHOST_kDrawingContextTypeOpenGL);; installDrawingContext(GHOST_kDrawingContextTypeOpenGL); + updateDrawingContext(); + activateDrawingContext(); + + m_tablet.Active = GHOST_kTabletModeNone; + } } @@ -193,44 +196,44 @@ GHOST_WindowCarbon::~GHOST_WindowCarbon() { if (m_customCursor) delete m_customCursor; - if(ugly_hack==m_windowRef) ugly_hack= NULL; + if (ugly_hack == m_windowRef) ugly_hack = NULL; // printf("GHOST_WindowCarbon::~GHOST_WindowCarbon(): removing drawing context\n"); - if(ugly_hack==NULL) setDrawingContextType(GHOST_kDrawingContextTypeNone); - if (m_windowRef) { - ::DisposeWindow(m_windowRef); + if (ugly_hack == NULL) setDrawingContextType(GHOST_kDrawingContextTypeNone); + if (m_windowRef) { + ::DisposeWindow(m_windowRef); m_windowRef = 0; } } bool GHOST_WindowCarbon::getValid() const { - bool valid; - if (!m_fullScreen) { - valid = (m_windowRef != 0) && (m_grafPtr != 0) && ::IsValidWindowPtr(m_windowRef); - } - else { - valid = true; - } - return valid; + bool valid; + if (!m_fullScreen) { + valid = (m_windowRef != 0) && (m_grafPtr != 0) && ::IsValidWindowPtr(m_windowRef); + } + else { + valid = true; + } + return valid; } void GHOST_WindowCarbon::setTitle(const STR_String& title) { - GHOST_ASSERT(getValid(), "GHOST_WindowCarbon::setTitle(): window invalid") - Str255 title255; - gen2mac(title, title255); + GHOST_ASSERT(getValid(), "GHOST_WindowCarbon::setTitle(): window invalid") + Str255 title255; + gen2mac(title, title255); ::SetWTitle(m_windowRef, title255); } void GHOST_WindowCarbon::getTitle(STR_String& title) const { - GHOST_ASSERT(getValid(), "GHOST_WindowCarbon::getTitle(): window invalid") - Str255 title255; - ::GetWTitle(m_windowRef, title255); - mac2gen(title255, title); + GHOST_ASSERT(getValid(), "GHOST_WindowCarbon::getTitle(): window invalid") + Str255 title255; + ::GetWTitle(m_windowRef, title255); + mac2gen(title255, title); } @@ -265,8 +268,7 @@ void GHOST_WindowCarbon::getClientBounds(GHOST_Rect& bounds) const { bounds.m_b -= s_sizeRectSize; } - else - { + else { bounds.m_t = bounds.m_b; } #endif //GHOST_DRAW_CARBON_GUTTER @@ -291,8 +293,8 @@ GHOST_TSuccess GHOST_WindowCarbon::setClientHeight(GHOST_TUns32 height) GHOST_Rect cBnds, wBnds; getClientBounds(cBnds); #ifdef GHOST_DRAW_CARBON_GUTTER - if (((GHOST_TUns32)cBnds.getHeight()) != height+s_sizeRectSize) { - ::SizeWindow(m_windowRef, cBnds.getWidth(), height+s_sizeRectSize, true); + if (((GHOST_TUns32)cBnds.getHeight()) != height + s_sizeRectSize) { + ::SizeWindow(m_windowRef, cBnds.getWidth(), height + s_sizeRectSize, true); } #else //GHOST_DRAW_CARBON_GUTTER if (((GHOST_TUns32)cBnds.getHeight()) != height) { @@ -310,8 +312,9 @@ GHOST_TSuccess GHOST_WindowCarbon::setClientSize(GHOST_TUns32 width, GHOST_TUns3 getClientBounds(cBnds); #ifdef GHOST_DRAW_CARBON_GUTTER if ((((GHOST_TUns32)cBnds.getWidth()) != width) || - (((GHOST_TUns32)cBnds.getHeight()) != height+s_sizeRectSize)) { - ::SizeWindow(m_windowRef, width, height+s_sizeRectSize, true); + (((GHOST_TUns32)cBnds.getHeight()) != height + s_sizeRectSize)) + { + ::SizeWindow(m_windowRef, width, height + s_sizeRectSize, true); } #else //GHOST_DRAW_CARBON_GUTTER if ((((GHOST_TUns32)cBnds.getWidth()) != width) || @@ -346,11 +349,11 @@ void GHOST_WindowCarbon::screenToClient(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOS Point point; point.h = inX; point.v = inY; - GrafPtr oldPort; - ::GetPort(&oldPort); - ::SetPort(m_grafPtr); + GrafPtr oldPort; + ::GetPort(&oldPort); + ::SetPort(m_grafPtr); ::GlobalToLocal(&point); - ::SetPort(oldPort); + ::SetPort(oldPort); outX = point.h; outY = point.v; } @@ -362,11 +365,11 @@ void GHOST_WindowCarbon::clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOS Point point; point.h = inX; point.v = inY; - GrafPtr oldPort; - ::GetPort(&oldPort); - ::SetPort(m_grafPtr); + GrafPtr oldPort; + ::GetPort(&oldPort); + ::SetPort(m_grafPtr); ::LocalToGlobal(&point); - ::SetPort(oldPort); + ::SetPort(oldPort); outX = point.h; outY = point.v; } @@ -375,38 +378,38 @@ void GHOST_WindowCarbon::clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOS GHOST_TSuccess GHOST_WindowCarbon::setState(GHOST_TWindowState state) { GHOST_ASSERT(getValid(), "GHOST_WindowCarbon::setState(): window invalid") - switch (state) { - case GHOST_kWindowStateMinimized: - ::HideWindow(m_windowRef); - break; - case GHOST_kWindowStateModified: - SetWindowModified(m_windowRef, 1); - break; - case GHOST_kWindowStateUnModified: - SetWindowModified(m_windowRef, 0); - break; - case GHOST_kWindowStateMaximized: - case GHOST_kWindowStateNormal: - default: - ::ShowWindow(m_windowRef); - break; - } - return GHOST_kSuccess; + switch (state) { + case GHOST_kWindowStateMinimized: + ::HideWindow(m_windowRef); + break; + case GHOST_kWindowStateModified: + SetWindowModified(m_windowRef, 1); + break; + case GHOST_kWindowStateUnModified: + SetWindowModified(m_windowRef, 0); + break; + case GHOST_kWindowStateMaximized: + case GHOST_kWindowStateNormal: + default: + ::ShowWindow(m_windowRef); + break; + } + return GHOST_kSuccess; } GHOST_TSuccess GHOST_WindowCarbon::setOrder(GHOST_TWindowOrder order) { GHOST_ASSERT(getValid(), "GHOST_WindowCarbon::setOrder(): window invalid") - if (order == GHOST_kWindowOrderTop) { - //::BringToFront(m_windowRef); is wrong, front window should be active for input too + if (order == GHOST_kWindowOrderTop) { + //::BringToFront(m_windowRef); is wrong, front window should be active for input too ::SelectWindow(m_windowRef); - } - else { + } + else { /* doesnt work if you do this with a mouseclick */ - ::SendBehind(m_windowRef, nil); - } - return GHOST_kSuccess; + ::SendBehind(m_windowRef, nil); + } + return GHOST_kSuccess; } /*#define WAIT_FOR_VSYNC 1*/ @@ -418,20 +421,20 @@ GHOST_TSuccess GHOST_WindowCarbon::swapBuffers() { #ifdef WAIT_FOR_VSYNC /* wait for vsync, to avoid tearing artifacts */ -long VBL = 1; -CGLSetParameter(CGLGetCurrentContext(), kCGLCPSwapInterval, &VBL); + long VBL = 1; + CGLSetParameter(CGLGetCurrentContext(), kCGLCPSwapInterval, &VBL); #endif - GHOST_TSuccess succeeded = GHOST_kSuccess; - if (m_drawingContextType == GHOST_kDrawingContextTypeOpenGL) { - if (m_aglCtx) { - ::aglSwapBuffers(m_aglCtx); - } - else { - succeeded = GHOST_kFailure; - } - } - return succeeded; + GHOST_TSuccess succeeded = GHOST_kSuccess; + if (m_drawingContextType == GHOST_kDrawingContextTypeOpenGL) { + if (m_aglCtx) { + ::aglSwapBuffers(m_aglCtx); + } + else { + succeeded = GHOST_kFailure; + } + } + return succeeded; } GHOST_TSuccess GHOST_WindowCarbon::updateDrawingContext() @@ -462,9 +465,9 @@ GHOST_TSuccess GHOST_WindowCarbon::activateDrawingContext() GLint b[4] = { bnds.m_l, - bnds.m_t+s_sizeRectSize, - bnds.m_r-bnds.m_l, - bnds.m_b-bnds.m_t + bnds.m_t + s_sizeRectSize, + bnds.m_r - bnds.m_l, + bnds.m_b - bnds.m_t }; GLboolean result = ::aglSetInteger(m_aglCtx, AGL_BUFFER_RECT, b); #endif //GHOST_DRAW_CARBON_GUTTER @@ -482,38 +485,38 @@ GHOST_TSuccess GHOST_WindowCarbon::installDrawingContext(GHOST_TDrawingContextTy GHOST_TSuccess success = GHOST_kFailure; switch (type) { case GHOST_kDrawingContextTypeOpenGL: - { + { if (!getValid()) break; - - AGLPixelFormat pixelFormat; - if (!m_fullScreen) { - pixelFormat = ::aglChoosePixelFormat(0, 0, sPreferredFormatWindow); - m_aglCtx = ::aglCreateContext(pixelFormat, s_firstaglCtx); - if (!m_aglCtx) break; + + AGLPixelFormat pixelFormat; + if (!m_fullScreen) { + pixelFormat = ::aglChoosePixelFormat(0, 0, sPreferredFormatWindow); + m_aglCtx = ::aglCreateContext(pixelFormat, s_firstaglCtx); + if (!m_aglCtx) break; if (!s_firstaglCtx) s_firstaglCtx = m_aglCtx; - success = ::aglSetDrawable(m_aglCtx, m_grafPtr) == GL_TRUE ? GHOST_kSuccess : GHOST_kFailure; - } - else { - //GHOST_PRINT("GHOST_WindowCarbon::installDrawingContext(): init full-screen OpenGL\n"); -GDHandle device=::GetMainDevice();pixelFormat=::aglChoosePixelFormat(&device,1,sPreferredFormatFullScreen); - m_aglCtx = ::aglCreateContext(pixelFormat, 0); - if (!m_aglCtx) break; + success = ::aglSetDrawable(m_aglCtx, m_grafPtr) == GL_TRUE ? GHOST_kSuccess : GHOST_kFailure; + } + else { + //GHOST_PRINT("GHOST_WindowCarbon::installDrawingContext(): init full-screen OpenGL\n"); + GDHandle device = ::GetMainDevice(); pixelFormat = ::aglChoosePixelFormat(&device, 1, sPreferredFormatFullScreen); + m_aglCtx = ::aglCreateContext(pixelFormat, 0); + if (!m_aglCtx) break; if (!s_firstaglCtx) s_firstaglCtx = m_aglCtx; - //GHOST_PRINT("GHOST_WindowCarbon::installDrawingContext(): created OpenGL context\n"); - //::CGGetActiveDisplayList(0, NULL, &m_numDisplays) - success = ::aglSetFullScreen(m_aglCtx, m_fullScreenWidth, m_fullScreenHeight, 75, 0) == GL_TRUE ? GHOST_kSuccess : GHOST_kFailure; - /* - if (success == GHOST_kSuccess) { - GHOST_PRINT("GHOST_WindowCarbon::installDrawingContext(): init full-screen OpenGL succeeded\n"); - } - else { - GHOST_PRINT("GHOST_WindowCarbon::installDrawingContext(): init full-screen OpenGL failed\n"); - } - */ - } - ::aglDestroyPixelFormat(pixelFormat); + //GHOST_PRINT("GHOST_WindowCarbon::installDrawingContext(): created OpenGL context\n"); + //::CGGetActiveDisplayList(0, NULL, &m_numDisplays) + success = ::aglSetFullScreen(m_aglCtx, m_fullScreenWidth, m_fullScreenHeight, 75, 0) == GL_TRUE ? GHOST_kSuccess : GHOST_kFailure; +#if 0 + if (success == GHOST_kSuccess) { + GHOST_PRINT("GHOST_WindowCarbon::installDrawingContext(): init full-screen OpenGL succeeded\n"); + } + else { + GHOST_PRINT("GHOST_WindowCarbon::installDrawingContext(): init full-screen OpenGL failed\n"); + } +#endif } - break; + ::aglDestroyPixelFormat(pixelFormat); + } + break; case GHOST_kDrawingContextTypeNone: success = GHOST_kSuccess; @@ -532,9 +535,9 @@ GHOST_TSuccess GHOST_WindowCarbon::removeDrawingContext() switch (m_drawingContextType) { case GHOST_kDrawingContextTypeOpenGL: if (m_aglCtx) { - aglSetCurrentContext(NULL); - aglSetDrawable(m_aglCtx, NULL); - //aglDestroyContext(m_aglCtx); + aglSetCurrentContext(NULL); + aglSetDrawable(m_aglCtx, NULL); + //aglDestroyContext(m_aglCtx); if (s_firstaglCtx == m_aglCtx) s_firstaglCtx = NULL; success = ::aglDestroyContext(m_aglCtx) == GL_TRUE ? GHOST_kSuccess : GHOST_kFailure; m_aglCtx = 0; @@ -553,22 +556,22 @@ GHOST_TSuccess GHOST_WindowCarbon::removeDrawingContext() GHOST_TSuccess GHOST_WindowCarbon::invalidate() { GHOST_ASSERT(getValid(), "GHOST_WindowCarbon::invalidate(): window invalid") - if (!m_fullScreen) { - Rect rect; - ::GetPortBounds(m_grafPtr, &rect); - ::InvalWindowRect(m_windowRef, &rect); - } - else { - //EventRef event; - //OSStatus status = ::CreateEvent(NULL, kEventClassWindow, kEventWindowUpdate, 0, 0, &event); - //GHOST_PRINT("GHOST_WindowCarbon::invalidate(): created event " << status << " \n"); - //status = ::SetEventParameter(event, kEventParamDirectObject, typeWindowRef, sizeof(WindowRef), this); - //GHOST_PRINT("GHOST_WindowCarbon::invalidate(): set event parameter " << status << " \n"); - //status = ::PostEventToQueue(::GetMainEventQueue(), event, kEventPriorityStandard); - //status = ::SendEventToEventTarget(event, ::GetApplicationEventTarget()); - //GHOST_PRINT("GHOST_WindowCarbon::invalidate(): added event to queue " << status << " \n"); - m_fullScreenDirty = true; - } + if (!m_fullScreen) { + Rect rect; + ::GetPortBounds(m_grafPtr, &rect); + ::InvalWindowRect(m_windowRef, &rect); + } + else { + //EventRef event; + //OSStatus status = ::CreateEvent(NULL, kEventClassWindow, kEventWindowUpdate, 0, 0, &event); + //GHOST_PRINT("GHOST_WindowCarbon::invalidate(): created event " << status << " \n"); + //status = ::SetEventParameter(event, kEventParamDirectObject, typeWindowRef, sizeof(WindowRef), this); + //GHOST_PRINT("GHOST_WindowCarbon::invalidate(): set event parameter " << status << " \n"); + //status = ::PostEventToQueue(::GetMainEventQueue(), event, kEventPriorityStandard); + //status = ::SendEventToEventTarget(event, ::GetApplicationEventTarget()); + //GHOST_PRINT("GHOST_WindowCarbon::invalidate(): added event to queue " << status << " \n"); + m_fullScreenDirty = true; + } return GHOST_kSuccess; } @@ -578,7 +581,7 @@ void GHOST_WindowCarbon::gen2mac(const STR_String& in, Str255 out) const STR_String tempStr = in; int num = tempStr.Length(); if (num > 255) num = 255; - ::memcpy(out+1, tempStr.Ptr(), num); + ::memcpy(out + 1, tempStr.Ptr(), num); out[0] = num; } @@ -586,7 +589,7 @@ void GHOST_WindowCarbon::gen2mac(const STR_String& in, Str255 out) const void GHOST_WindowCarbon::mac2gen(const Str255 in, STR_String& out) const { char tmp[256]; - ::memcpy(tmp, in+1, in[0]); + ::memcpy(tmp, in + 1, in[0]); tmp[in[0]] = '\0'; out = tmp; } @@ -607,35 +610,36 @@ void GHOST_WindowCarbon::loadCursor(bool visible, GHOST_TStandardCursor cursor) } if (cursor == GHOST_kStandardCursorCustom && m_customCursor) { - ::SetCursor( m_customCursor ); - } else { + ::SetCursor(m_customCursor); + } + else { int carbon_cursor; -#define GCMAP(ghostCursor, carbonCursor) case ghostCursor: carbon_cursor = carbonCursor; break +#define GCMAP(ghostCursor, carbonCursor) case ghostCursor: carbon_cursor = carbonCursor; break switch (cursor) { - default: - GCMAP( GHOST_kStandardCursorDefault, kThemeArrowCursor); - GCMAP( GHOST_kStandardCursorRightArrow, kThemeAliasArrowCursor); - GCMAP( GHOST_kStandardCursorLeftArrow, kThemeArrowCursor); - GCMAP( GHOST_kStandardCursorInfo, kThemeArrowCursor); - GCMAP( GHOST_kStandardCursorDestroy, kThemeArrowCursor); - GCMAP( GHOST_kStandardCursorHelp, kThemeArrowCursor); - GCMAP( GHOST_kStandardCursorCycle, kThemeArrowCursor); - GCMAP( GHOST_kStandardCursorSpray, kThemeArrowCursor); - GCMAP( GHOST_kStandardCursorWait, kThemeWatchCursor); - GCMAP( GHOST_kStandardCursorText, kThemeIBeamCursor); - GCMAP( GHOST_kStandardCursorCrosshair, kThemeCrossCursor); - GCMAP( GHOST_kStandardCursorUpDown, kThemeClosedHandCursor); - GCMAP( GHOST_kStandardCursorLeftRight, kThemeClosedHandCursor); - GCMAP( GHOST_kStandardCursorTopSide, kThemeArrowCursor); - GCMAP( GHOST_kStandardCursorBottomSide, kThemeArrowCursor); - GCMAP( GHOST_kStandardCursorLeftSide, kThemeResizeLeftCursor); - GCMAP( GHOST_kStandardCursorRightSide, kThemeResizeRightCursor); - GCMAP( GHOST_kStandardCursorTopLeftCorner, kThemeArrowCursor); - GCMAP( GHOST_kStandardCursorTopRightCorner, kThemeArrowCursor); - GCMAP( GHOST_kStandardCursorBottomRightCorner, kThemeArrowCursor); - GCMAP( GHOST_kStandardCursorBottomLeftCorner, kThemeArrowCursor); - GCMAP( GHOST_kStandardCursorCopy, kThemeCopyArrowCursor); + default: + GCMAP(GHOST_kStandardCursorDefault, kThemeArrowCursor); + GCMAP(GHOST_kStandardCursorRightArrow, kThemeAliasArrowCursor); + GCMAP(GHOST_kStandardCursorLeftArrow, kThemeArrowCursor); + GCMAP(GHOST_kStandardCursorInfo, kThemeArrowCursor); + GCMAP(GHOST_kStandardCursorDestroy, kThemeArrowCursor); + GCMAP(GHOST_kStandardCursorHelp, kThemeArrowCursor); + GCMAP(GHOST_kStandardCursorCycle, kThemeArrowCursor); + GCMAP(GHOST_kStandardCursorSpray, kThemeArrowCursor); + GCMAP(GHOST_kStandardCursorWait, kThemeWatchCursor); + GCMAP(GHOST_kStandardCursorText, kThemeIBeamCursor); + GCMAP(GHOST_kStandardCursorCrosshair, kThemeCrossCursor); + GCMAP(GHOST_kStandardCursorUpDown, kThemeClosedHandCursor); + GCMAP(GHOST_kStandardCursorLeftRight, kThemeClosedHandCursor); + GCMAP(GHOST_kStandardCursorTopSide, kThemeArrowCursor); + GCMAP(GHOST_kStandardCursorBottomSide, kThemeArrowCursor); + GCMAP(GHOST_kStandardCursorLeftSide, kThemeResizeLeftCursor); + GCMAP(GHOST_kStandardCursorRightSide, kThemeResizeRightCursor); + GCMAP(GHOST_kStandardCursorTopLeftCorner, kThemeArrowCursor); + GCMAP(GHOST_kStandardCursorTopRightCorner, kThemeArrowCursor); + GCMAP(GHOST_kStandardCursorBottomRightCorner, kThemeArrowCursor); + GCMAP(GHOST_kStandardCursorBottomLeftCorner, kThemeArrowCursor); + GCMAP(GHOST_kStandardCursorCopy, kThemeCopyArrowCursor); }; #undef GCMAP @@ -646,7 +650,7 @@ void GHOST_WindowCarbon::loadCursor(bool visible, GHOST_TStandardCursor cursor) bool GHOST_WindowCarbon::getFullScreenDirty() { - return m_fullScreen && m_fullScreenDirty; + return m_fullScreen && m_fullScreenDirty; } @@ -677,9 +681,9 @@ GHOST_TSuccess GHOST_WindowCarbon::setWindowCursorShape(GHOST_TStandardCursor sh /** Reverse the bits in a GHOST_TUns8 */ static GHOST_TUns8 uns8ReverseBits(GHOST_TUns8 ch) { - ch= ((ch>>1)&0x55) | ((ch<<1)&0xAA); - ch= ((ch>>2)&0x33) | ((ch<<2)&0xCC); - ch= ((ch>>4)&0x0F) | ((ch<<4)&0xF0); + ch = ((ch >> 1) & 0x55) | ((ch << 1) & 0xAA); + ch = ((ch >> 2) & 0x33) | ((ch << 2) & 0xCC); + ch = ((ch >> 4) & 0x0F) | ((ch << 4) & 0xF0); return ch; } #endif @@ -688,15 +692,15 @@ static GHOST_TUns8 uns8ReverseBits(GHOST_TUns8 ch) /** Reverse the bits in a GHOST_TUns16 */ static GHOST_TUns16 uns16ReverseBits(GHOST_TUns16 shrt) { - shrt= ((shrt>>1)&0x5555) | ((shrt<<1)&0xAAAA); - shrt= ((shrt>>2)&0x3333) | ((shrt<<2)&0xCCCC); - shrt= ((shrt>>4)&0x0F0F) | ((shrt<<4)&0xF0F0); - shrt= ((shrt>>8)&0x00FF) | ((shrt<<8)&0xFF00); + shrt = ((shrt >> 1) & 0x5555) | ((shrt << 1) & 0xAAAA); + shrt = ((shrt >> 2) & 0x3333) | ((shrt << 2) & 0xCCCC); + shrt = ((shrt >> 4) & 0x0F0F) | ((shrt << 4) & 0xF0F0); + shrt = ((shrt >> 8) & 0x00FF) | ((shrt << 8) & 0xFF00); return shrt; } GHOST_TSuccess GHOST_WindowCarbon::setWindowCustomCursorShape(GHOST_TUns8 *bitmap, GHOST_TUns8 *mask, - int sizex, int sizey, int hotX, int hotY, int fg_color, int bg_color) + int sizex, int sizey, int hotX, int hotY, int fg_color, int bg_color) { int y; @@ -708,13 +712,13 @@ GHOST_TSuccess GHOST_WindowCarbon::setWindowCustomCursorShape(GHOST_TUns8 *bitma m_customCursor = new Cursor; if (!m_customCursor) return GHOST_kFailure; - for (y=0; y<16; y++) { + for (y = 0; y < 16; y++) { #if !defined(__LITTLE_ENDIAN__) - m_customCursor->data[y] = uns16ReverseBits((bitmap[2*y]<<0) | (bitmap[2*y+1]<<8)); - m_customCursor->mask[y] = uns16ReverseBits((mask[2*y]<<0) | (mask[2*y+1]<<8)); + m_customCursor->data[y] = uns16ReverseBits((bitmap[2 * y] << 0) | (bitmap[2 * y + 1] << 8)); + m_customCursor->mask[y] = uns16ReverseBits((mask[2 * y] << 0) | (mask[2 * y + 1] << 8)); #else - m_customCursor->data[y] = uns16ReverseBits((bitmap[2*y+1]<<0) | (bitmap[2*y]<<8)); - m_customCursor->mask[y] = uns16ReverseBits((mask[2*y+1]<<0) | (mask[2*y]<<8)); + m_customCursor->data[y] = uns16ReverseBits((bitmap[2 * y + 1] << 0) | (bitmap[2 * y] << 8)); + m_customCursor->mask[y] = uns16ReverseBits((mask[2 * y + 1] << 0) | (mask[2 * y] << 8)); #endif } @@ -730,9 +734,9 @@ GHOST_TSuccess GHOST_WindowCarbon::setWindowCustomCursorShape(GHOST_TUns8 *bitma } GHOST_TSuccess GHOST_WindowCarbon::setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2], - GHOST_TUns8 mask[16][2], int hotX, int hotY) + GHOST_TUns8 mask[16][2], int hotX, int hotY) { - return setWindowCustomCursorShape((GHOST_TUns8*)bitmap, (GHOST_TUns8*) mask, 16, 16, hotX, hotY, 0, 1); + return setWindowCustomCursorShape((GHOST_TUns8 *)bitmap, (GHOST_TUns8 *) mask, 16, 16, hotX, hotY, 0, 1); } diff --git a/intern/ghost/intern/GHOST_WindowCarbon.h b/intern/ghost/intern/GHOST_WindowCarbon.h index 2c1c827510a..1291fb1a2c4 100644 --- a/intern/ghost/intern/GHOST_WindowCarbon.h +++ b/intern/ghost/intern/GHOST_WindowCarbon.h @@ -73,16 +73,16 @@ public: * @param stereoVisual Stereo visual for quad buffered stereo. */ GHOST_WindowCarbon( - const STR_String& title, - GHOST_TInt32 left, - GHOST_TInt32 top, - GHOST_TUns32 width, - GHOST_TUns32 height, - GHOST_TWindowState state, - GHOST_TDrawingContextType type = GHOST_kDrawingContextTypeNone, - const bool stereoVisual = false, - const GHOST_TUns16 numOfAASamples = 0 - ); + const STR_String& title, + GHOST_TInt32 left, + GHOST_TInt32 top, + GHOST_TUns32 width, + GHOST_TUns32 height, + GHOST_TWindowState state, + GHOST_TDrawingContextType type = GHOST_kDrawingContextTypeNone, + const bool stereoVisual = false, + const GHOST_TUns16 numOfAASamples = 0 + ); /** * Destructor. @@ -94,7 +94,7 @@ public: * Returns indication as to whether the window is valid. * @return The validity of the window. */ - virtual bool getValid() const; + virtual bool getValid() const; /** * Sets the title displayed in the title bar. @@ -113,33 +113,33 @@ public: * The dimensions are given in screen coordinates that are relative to the upper-left corner of the screen. * @param bounds The bounding rectangle of the window. */ - virtual void getWindowBounds(GHOST_Rect& bounds) const; + virtual void getWindowBounds(GHOST_Rect& bounds) const; /** * Returns the client rectangle dimensions. * The left and top members of the rectangle are always zero. * @param bounds The bounding rectangle of the cleient area of the window. */ - virtual void getClientBounds(GHOST_Rect& bounds) const; + virtual void getClientBounds(GHOST_Rect& bounds) const; /** * Resizes client rectangle width. * @param width The new width of the client area of the window. */ - virtual GHOST_TSuccess setClientWidth(GHOST_TUns32 width); + virtual GHOST_TSuccess setClientWidth(GHOST_TUns32 width); /** * Resizes client rectangle height. * @param height The new height of the client area of the window. */ - virtual GHOST_TSuccess setClientHeight(GHOST_TUns32 height); + virtual GHOST_TSuccess setClientHeight(GHOST_TUns32 height); /** * Resizes client rectangle. * @param width The new width of the client area of the window. * @param height The new height of the client area of the window. */ - virtual GHOST_TSuccess setClientSize(GHOST_TUns32 width, GHOST_TUns32 height); + virtual GHOST_TSuccess setClientSize(GHOST_TUns32 width, GHOST_TUns32 height); /** * Returns the state of the window (normal, minimized, maximized). @@ -154,7 +154,7 @@ public: * @param outX The x-coordinate in the client rectangle. * @param outY The y-coordinate in the client rectangle. */ - virtual void screenToClient(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const; + virtual void screenToClient(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const; /** * Converts a point in screen coordinates to client rectangle coordinates @@ -163,7 +163,7 @@ public: * @param outX The x-coordinate on the screen. * @param outY The y-coordinate on the screen. */ - virtual void clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const; + virtual void clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const; /** * Sets the state of the window (normal, minimized, maximized). @@ -206,16 +206,20 @@ public: */ virtual bool getFullScreenDirty(); - /* accessor for fullscreen window */ + /* accessor for fullscreen window */ virtual void setMac_windowState(short value); virtual short getMac_windowState(); - const GHOST_TabletData* GetTabletData() - { return &m_tablet; } + const GHOST_TabletData *GetTabletData() + { + return &m_tablet; + } GHOST_TabletData& GetCarbonTabletData() - { return m_tablet; } + { + return m_tablet; + } protected: /** * Tries to install a rendering context in this window. @@ -232,7 +236,7 @@ protected: /** * Invalidates the contents of this window. - * @return Indication of success. + * @return Indication of success. */ virtual GHOST_TSuccess invalidate(); @@ -253,7 +257,7 @@ protected: * native window system calls. */ virtual GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 *bitmap, GHOST_TUns8 *mask, - int sizex, int sizey, int hotX, int hotY, int fg_color, int bg_color); + int sizex, int sizey, int hotX, int hotY, int fg_color, int bg_color); virtual GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2], GHOST_TUns8 mask[16][2], int hotX, int hotY); @@ -278,7 +282,7 @@ protected: /** The first created OpenGL context (for sharing display lists) */ static AGLContext s_firstaglCtx; - Cursor* m_customCursor; + Cursor *m_customCursor; GHOST_TabletData m_tablet; @@ -286,15 +290,15 @@ protected: bool m_fullScreenDirty; /** specific MacOs X full screen window setting as we use partially system mechanism - values : 0 not maximizable default - 1 normal state - 2 maximized state - - this will be reworked when rebuilding GHOST carbon to use new OS X apis - in order to be unified with GHOST fullscreen/maximised settings - - (lukep) - **/ + * values : 0 not maximizable default + * 1 normal state + * 2 maximized state + * + * this will be reworked when rebuilding GHOST carbon to use new OS X apis + * in order to be unified with GHOST fullscreen/maximised settings + * + * (lukep) + **/ short mac_windowState; diff --git a/intern/ghost/intern/GHOST_WindowCocoa.h b/intern/ghost/intern/GHOST_WindowCocoa.h index fec97c2af97..d53dfa71d95 100644 --- a/intern/ghost/intern/GHOST_WindowCocoa.h +++ b/intern/ghost/intern/GHOST_WindowCocoa.h @@ -74,17 +74,17 @@ public: * @param numOfAASamples Number of samples used for AA (zero if no AA) */ GHOST_WindowCocoa( - GHOST_SystemCocoa *systemCocoa, - const STR_String& title, - GHOST_TInt32 left, - GHOST_TInt32 bottom, - GHOST_TUns32 width, - GHOST_TUns32 height, - GHOST_TWindowState state, - GHOST_TDrawingContextType type = GHOST_kDrawingContextTypeNone, - const bool stereoVisual = false, - const GHOST_TUns16 numOfAASamples = 0 - ); + GHOST_SystemCocoa *systemCocoa, + const STR_String& title, + GHOST_TInt32 left, + GHOST_TInt32 bottom, + GHOST_TUns32 width, + GHOST_TUns32 height, + GHOST_TWindowState state, + GHOST_TDrawingContextType type = GHOST_kDrawingContextTypeNone, + const bool stereoVisual = false, + const GHOST_TUns16 numOfAASamples = 0 + ); /** * Destructor. @@ -96,13 +96,13 @@ public: * Returns indication as to whether the window is valid. * @return The validity of the window. */ - virtual bool getValid() const; + virtual bool getValid() const; /** * Returns the associated NSWindow object * @return The associated NSWindow object */ - virtual void* getOSWindow() const; + virtual void *getOSWindow() const; /** * Sets the title displayed in the title bar. @@ -121,33 +121,33 @@ public: * The dimensions are given in screen coordinates that are relative to the upper-left corner of the screen. * @param bounds The bounding rectangle of the window. */ - virtual void getWindowBounds(GHOST_Rect& bounds) const; + virtual void getWindowBounds(GHOST_Rect& bounds) const; /** * Returns the client rectangle dimensions. * The left and top members of the rectangle are always zero. * @param bounds The bounding rectangle of the cleient area of the window. */ - virtual void getClientBounds(GHOST_Rect& bounds) const; + virtual void getClientBounds(GHOST_Rect& bounds) const; /** * Resizes client rectangle width. * @param width The new width of the client area of the window. */ - virtual GHOST_TSuccess setClientWidth(GHOST_TUns32 width); + virtual GHOST_TSuccess setClientWidth(GHOST_TUns32 width); /** * Resizes client rectangle height. * @param height The new height of the client area of the window. */ - virtual GHOST_TSuccess setClientHeight(GHOST_TUns32 height); + virtual GHOST_TSuccess setClientHeight(GHOST_TUns32 height); /** * Resizes client rectangle. * @param width The new width of the client area of the window. * @param height The new height of the client area of the window. */ - virtual GHOST_TSuccess setClientSize(GHOST_TUns32 width, GHOST_TUns32 height); + virtual GHOST_TSuccess setClientSize(GHOST_TUns32 width, GHOST_TUns32 height); /** * Returns the state of the window (normal, minimized, maximized). @@ -169,7 +169,7 @@ public: * @param outX The x-coordinate in the client rectangle. * @param outY The y-coordinate in the client rectangle. */ - virtual void screenToClient(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const; + virtual void screenToClient(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const; /** * Converts a point in screen coordinates to client rectangle coordinates @@ -178,7 +178,7 @@ public: * @param outX The x-coordinate on the screen. * @param outY The y-coordinate on the screen. */ - virtual void clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const; + virtual void clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const; /** * Converts a point in screen coordinates to client rectangle coordinates @@ -204,7 +204,7 @@ public: * Gets the screen the window is displayed in * @return The NSScreen object */ - NSScreen* getScreen(); + NSScreen *getScreen(); /** * Sets the state of the window (normal, minimized, maximized). @@ -242,11 +242,15 @@ public: virtual void loadCursor(bool visible, GHOST_TStandardCursor cursor) const; - const GHOST_TabletData* GetTabletData() - { return &m_tablet; } + const GHOST_TabletData *GetTabletData() + { + return &m_tablet; + } GHOST_TabletData& GetCocoaTabletData() - { return m_tablet; } + { + return m_tablet; + } /** * Sets the progress bar value displayed in the window/application icon @@ -274,7 +278,7 @@ protected: /** * Invalidates the contents of this window. - * @return Indication of success. + * @return Indication of success. */ virtual GHOST_TSuccess invalidate(); @@ -301,7 +305,7 @@ protected: * native window system calls. */ virtual GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 *bitmap, GHOST_TUns8 *mask, - int sizex, int sizey, int hotX, int hotY, int fg_color, int bg_color); + int sizex, int sizey, int hotX, int hotY, int fg_color, int bg_color); virtual GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2], GHOST_TUns8 mask[16][2], int hotX, int hotY); @@ -320,7 +324,7 @@ protected: /** The first created OpenGL context (for sharing display lists) */ static NSOpenGLContext *s_firstOpenGLcontext; - NSCursor* m_customCursor; + NSCursor *m_customCursor; GHOST_TabletData m_tablet; }; diff --git a/intern/ghost/intern/GHOST_WindowCocoa.mm b/intern/ghost/intern/GHOST_WindowCocoa.mm index fbb474cb20a..b7d14873e7b 100644 --- a/intern/ghost/intern/GHOST_WindowCocoa.mm +++ b/intern/ghost/intern/GHOST_WindowCocoa.mm @@ -1441,7 +1441,7 @@ static GHOST_TUns16 uns16ReverseBits(GHOST_TUns16 shrt) } GHOST_TSuccess GHOST_WindowCocoa::setWindowCustomCursorShape(GHOST_TUns8 *bitmap, GHOST_TUns8 *mask, - int sizex, int sizey, int hotX, int hotY, int fg_color, int bg_color) + int sizex, int sizey, int hotX, int hotY, int fg_color, int bg_color) { int y,nbUns16; NSPoint hotSpotPoint; @@ -1509,7 +1509,7 @@ GHOST_TSuccess GHOST_WindowCocoa::setWindowCustomCursorShape(GHOST_TUns8 *bitmap } GHOST_TSuccess GHOST_WindowCocoa::setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2], - GHOST_TUns8 mask[16][2], int hotX, int hotY) + GHOST_TUns8 mask[16][2], int hotX, int hotY) { return setWindowCustomCursorShape((GHOST_TUns8*)bitmap, (GHOST_TUns8*) mask, 16, 16, hotX, hotY, 0, 1); } diff --git a/intern/ghost/intern/GHOST_WindowManager.cpp b/intern/ghost/intern/GHOST_WindowManager.cpp index cf236283b0f..a6211b42fe6 100644 --- a/intern/ghost/intern/GHOST_WindowManager.cpp +++ b/intern/ghost/intern/GHOST_WindowManager.cpp @@ -57,7 +57,7 @@ GHOST_WindowManager::~GHOST_WindowManager() } -GHOST_TSuccess GHOST_WindowManager::addWindow(GHOST_IWindow* window) +GHOST_TSuccess GHOST_WindowManager::addWindow(GHOST_IWindow *window) { GHOST_TSuccess success = GHOST_kFailure; if (window) { @@ -71,7 +71,7 @@ GHOST_TSuccess GHOST_WindowManager::addWindow(GHOST_IWindow* window) } -GHOST_TSuccess GHOST_WindowManager::removeWindow(const GHOST_IWindow* window) +GHOST_TSuccess GHOST_WindowManager::removeWindow(const GHOST_IWindow *window) { GHOST_TSuccess success = GHOST_kFailure; if (window) { @@ -79,7 +79,7 @@ GHOST_TSuccess GHOST_WindowManager::removeWindow(const GHOST_IWindow* window) endFullScreen(); } else { - std::vector<GHOST_IWindow*>::iterator result = find(m_windows.begin(), m_windows.end(), window); + std::vector<GHOST_IWindow *>::iterator result = find(m_windows.begin(), m_windows.end(), window); if (result != m_windows.end()) { setWindowInactive(window); m_windows.erase(result); @@ -91,19 +91,19 @@ GHOST_TSuccess GHOST_WindowManager::removeWindow(const GHOST_IWindow* window) } -bool GHOST_WindowManager::getWindowFound(const GHOST_IWindow* window) const +bool GHOST_WindowManager::getWindowFound(const GHOST_IWindow *window) const { bool found = false; if (window) { - if (getFullScreen() && (window == m_fullScreenWindow)) { - found = true; - } - else { - std::vector<GHOST_IWindow*>::const_iterator result = find(m_windows.begin(), m_windows.end(), window); - if (result != m_windows.end()) { - found = true; - } - } + if (getFullScreen() && (window == m_fullScreenWindow)) { + found = true; + } + else { + std::vector<GHOST_IWindow *>::const_iterator result = find(m_windows.begin(), m_windows.end(), window); + if (result != m_windows.end()) { + found = true; + } + } } return found; } @@ -115,13 +115,13 @@ bool GHOST_WindowManager::getFullScreen(void) const } -GHOST_IWindow* GHOST_WindowManager::getFullScreenWindow(void) const +GHOST_IWindow *GHOST_WindowManager::getFullScreenWindow(void) const { - return m_fullScreenWindow; + return m_fullScreenWindow; } -GHOST_TSuccess GHOST_WindowManager::beginFullScreen(GHOST_IWindow* window, +GHOST_TSuccess GHOST_WindowManager::beginFullScreen(GHOST_IWindow *window, bool stereoVisual) { GHOST_TSuccess success = GHOST_kFailure; @@ -151,13 +151,13 @@ GHOST_TSuccess GHOST_WindowManager::endFullScreen(void) setActiveWindow(m_activeWindowBeforeFullScreen); } } - success = GHOST_kSuccess; + success = GHOST_kSuccess; } return success; } -GHOST_TSuccess GHOST_WindowManager::setActiveWindow(GHOST_IWindow* window) +GHOST_TSuccess GHOST_WindowManager::setActiveWindow(GHOST_IWindow *window) { GHOST_TSuccess success = GHOST_kSuccess; if (window != m_activeWindow) { @@ -172,13 +172,13 @@ GHOST_TSuccess GHOST_WindowManager::setActiveWindow(GHOST_IWindow* window) } -GHOST_IWindow* GHOST_WindowManager::getActiveWindow(void) const +GHOST_IWindow *GHOST_WindowManager::getActiveWindow(void) const { return m_activeWindow; } -void GHOST_WindowManager::setWindowInactive(const GHOST_IWindow* window) +void GHOST_WindowManager::setWindowInactive(const GHOST_IWindow *window) { if (window == m_activeWindow) { m_activeWindow = 0; @@ -192,9 +192,9 @@ std::vector<GHOST_IWindow *> &GHOST_WindowManager::getWindows() } -GHOST_IWindow* GHOST_WindowManager::getWindowAssociatedWithOSWindow(void* osWindow) +GHOST_IWindow *GHOST_WindowManager::getWindowAssociatedWithOSWindow(void *osWindow) { - std::vector<GHOST_IWindow*>::iterator iter; + std::vector<GHOST_IWindow *>::iterator iter; for (iter = m_windows.begin(); iter != m_windows.end(); iter++) { if ((*iter)->getOSWindow() == osWindow) @@ -207,7 +207,7 @@ GHOST_IWindow* GHOST_WindowManager::getWindowAssociatedWithOSWindow(void* osWind bool GHOST_WindowManager::getAnyModifiedState() { bool isAnyModified = false; - std::vector<GHOST_IWindow*>::iterator iter; + std::vector<GHOST_IWindow *>::iterator iter; for (iter = m_windows.begin(); iter != m_windows.end(); iter++) { if ((*iter)->getModifiedState()) diff --git a/intern/ghost/intern/GHOST_WindowManager.h b/intern/ghost/intern/GHOST_WindowManager.h index cf27a3bde49..47931347ed6 100644 --- a/intern/ghost/intern/GHOST_WindowManager.h +++ b/intern/ghost/intern/GHOST_WindowManager.h @@ -63,40 +63,40 @@ public: * @param window Pointer to the window to be added. * @return Indication of success. */ - virtual GHOST_TSuccess addWindow(GHOST_IWindow* window); + virtual GHOST_TSuccess addWindow(GHOST_IWindow *window); /** * Remove a window from our list. * @param window Pointer to the window to be removed. * @return Indication of success. */ - virtual GHOST_TSuccess removeWindow(const GHOST_IWindow* window); + virtual GHOST_TSuccess removeWindow(const GHOST_IWindow *window); /** * Returns whether the window is in our list. * @param window Pointer to the window to query. * @return A boolean indicator. */ - virtual bool getWindowFound(const GHOST_IWindow* window) const; + virtual bool getWindowFound(const GHOST_IWindow *window) const; /** * Returns whether one of the windows is fullscreen. * @return A boolean indicator. */ - virtual bool getFullScreen(void) const; + virtual bool getFullScreen(void) const; /** * Returns pointer to the full-screen window. * @return The fll-screen window (0 if not in full-screen). */ - virtual GHOST_IWindow* getFullScreenWindow(void) const; + virtual GHOST_IWindow *getFullScreenWindow(void) const; /** * Activates fullscreen mode for a window. * @param window The window displayed fullscreen. * @return Indication of success. */ - virtual GHOST_TSuccess beginFullScreen(GHOST_IWindow* window, const bool stereoVisual); + virtual GHOST_TSuccess beginFullScreen(GHOST_IWindow *window, const bool stereoVisual); /** * Closes fullscreen mode down. @@ -109,21 +109,21 @@ public: * There can be only one window active which should be in the current window list. * @param window The new active window. */ - virtual GHOST_TSuccess setActiveWindow(GHOST_IWindow* window); + virtual GHOST_TSuccess setActiveWindow(GHOST_IWindow *window); /** * Returns the active window (the window receiving events). * There can be only one window active which should be in the current window list. * @return window The active window (or NULL if there is none). */ - virtual GHOST_IWindow* getActiveWindow(void) const; + virtual GHOST_IWindow *getActiveWindow(void) const; /** * Set this window to be inactive (not receiving events). * @param window The window to decativate. */ - virtual void setWindowInactive(const GHOST_IWindow* window); + virtual void setWindowInactive(const GHOST_IWindow *window); /** @@ -140,7 +140,7 @@ public: * @param osWindow The OS window object/handle * @return The associated window, null if none corresponds */ - virtual GHOST_IWindow* getWindowAssociatedWithOSWindow(void* osWindow); + virtual GHOST_IWindow *getWindowAssociatedWithOSWindow(void *osWindow); /** * Return true if any windows has a modified status @@ -150,16 +150,16 @@ public: protected: /** The list of windows managed */ - std::vector<GHOST_IWindow*> m_windows; + std::vector<GHOST_IWindow *> m_windows; /** Window in fullscreen state. There can be only one of this which is not in or window list. */ - GHOST_IWindow* m_fullScreenWindow; + GHOST_IWindow *m_fullScreenWindow; /** The active window. */ - GHOST_IWindow* m_activeWindow; + GHOST_IWindow *m_activeWindow; /** Window that was active before entering fullscreen state. */ - GHOST_IWindow* m_activeWindowBeforeFullScreen; + GHOST_IWindow *m_activeWindowBeforeFullScreen; #ifdef WITH_CXX_GUARDEDALLOC public: diff --git a/intern/ghost/intern/GHOST_WindowNULL.h b/intern/ghost/intern/GHOST_WindowNULL.h index 49f6d14552d..cde2cb0ba76 100644 --- a/intern/ghost/intern/GHOST_WindowNULL.h +++ b/intern/ghost/intern/GHOST_WindowNULL.h @@ -41,20 +41,20 @@ public: const GHOST_TabletData* GetTabletData() { return NULL; } GHOST_WindowNULL( - GHOST_SystemNULL *system, - const STR_String& title, - GHOST_TInt32 left, - GHOST_TInt32 top, - GHOST_TUns32 width, - GHOST_TUns32 height, - GHOST_TWindowState state, - const GHOST_TEmbedderWindowID parentWindow, - GHOST_TDrawingContextType type, - const bool stereoVisual, - const GHOST_TUns16 numOfAASamples - ) : - GHOST_Window(width,height,state,type,stereoVisual,numOfAASamples), - m_system (system) + GHOST_SystemNULL *system, + const STR_String& title, + GHOST_TInt32 left, + GHOST_TInt32 top, + GHOST_TUns32 width, + GHOST_TUns32 height, + GHOST_TWindowState state, + const GHOST_TEmbedderWindowID parentWindow, + GHOST_TDrawingContextType type, + const bool stereoVisual, + const GHOST_TUns16 numOfAASamples + ) : + GHOST_Window(width, height, state, type, stereoVisual, numOfAASamples), + m_system(system) { setTitle(title); } @@ -87,8 +87,8 @@ protected: GHOST_TSuccess setOrder(GHOST_TWindowOrder order) { return GHOST_kSuccess; } -private : - GHOST_SystemNULL * m_system; +private: + GHOST_SystemNULL *m_system; }; diff --git a/intern/ghost/intern/GHOST_WindowSDL.cpp b/intern/ghost/intern/GHOST_WindowSDL.cpp index b8cbf9b474d..369fc4ace14 100644 --- a/intern/ghost/intern/GHOST_WindowSDL.cpp +++ b/intern/ghost/intern/GHOST_WindowSDL.cpp @@ -28,7 +28,7 @@ #include "SDL_mouse.h" #include <assert.h> -static SDL_GLContext s_firstContext= NULL; +static SDL_GLContext s_firstContext = NULL; GHOST_WindowSDL::GHOST_WindowSDL(GHOST_SystemSDL *system, const STR_String& title, @@ -42,18 +42,18 @@ GHOST_WindowSDL::GHOST_WindowSDL(GHOST_SystemSDL *system, const bool stereoVisual, const GHOST_TUns16 numOfAASamples ) - : - GHOST_Window(width,height,state,type,stereoVisual,numOfAASamples), - m_system (system), - m_invalid_window(false), - m_sdl_custom_cursor(NULL) + : + GHOST_Window(width, height, state, type, stereoVisual, numOfAASamples), + m_system(system), + m_invalid_window(false), + m_sdl_custom_cursor(NULL) { - m_sdl_win= SDL_CreateWindow(title, - left, - top, - width, - height, - SDL_WINDOW_RESIZABLE|SDL_WINDOW_OPENGL|SDL_WINDOW_SHOWN); + m_sdl_win = SDL_CreateWindow(title, + left, + top, + width, + height, + SDL_WINDOW_RESIZABLE | SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN); //SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1); //SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4); @@ -64,7 +64,7 @@ GHOST_WindowSDL::GHOST_WindowSDL(GHOST_SystemSDL *system, SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8); - m_sdl_glcontext= SDL_GL_CreateContext(m_sdl_win); + m_sdl_glcontext = SDL_GL_CreateContext(m_sdl_win); //fprintf(stderr, "Ignoring Xlib error: error code %d request code %d\n", // theEvent->error_code, theEvent->request_code); @@ -74,7 +74,7 @@ GHOST_WindowSDL::GHOST_WindowSDL(GHOST_SystemSDL *system, GHOST_WindowSDL::~GHOST_WindowSDL() { - if(m_sdl_custom_cursor) { + if (m_sdl_custom_cursor) { SDL_FreeCursor(m_sdl_custom_cursor); } @@ -92,29 +92,29 @@ GHOST_WindowSDL::installDrawingContext(GHOST_TDrawingContextType type) // only support openGL for now. GHOST_TSuccess success; switch (type) { - case GHOST_kDrawingContextTypeOpenGL: - m_sdl_glcontext= SDL_GL_CreateContext(m_sdl_win); + case GHOST_kDrawingContextTypeOpenGL: + m_sdl_glcontext = SDL_GL_CreateContext(m_sdl_win); - if (m_sdl_glcontext != NULL) { - if (!s_firstContext) { - s_firstContext= m_sdl_glcontext; - } + if (m_sdl_glcontext != NULL) { + if (!s_firstContext) { + s_firstContext = m_sdl_glcontext; + } - success= (SDL_GL_MakeCurrent(m_sdl_win, m_sdl_glcontext) < 0) ? - GHOST_kFailure : GHOST_kSuccess; - } - else { - success= GHOST_kFailure; - } + success = (SDL_GL_MakeCurrent(m_sdl_win, m_sdl_glcontext) < 0) ? + GHOST_kFailure : GHOST_kSuccess; + } + else { + success = GHOST_kFailure; + } - break; + break; - case GHOST_kDrawingContextTypeNone: - success= GHOST_kSuccess; - break; + case GHOST_kDrawingContextTypeNone: + success = GHOST_kSuccess; + break; - default: - success= GHOST_kFailure; + default: + success = GHOST_kFailure; } return success; } @@ -138,7 +138,7 @@ GHOST_WindowSDL::invalidate(void) if (m_invalid_window == false) { m_system->addDirtyWindow(this); - m_invalid_window= true; + m_invalid_window = true; } return GHOST_kSuccess; @@ -161,8 +161,8 @@ GHOST_WindowSDL::swapBuffers() GHOST_TSuccess GHOST_WindowSDL::activateDrawingContext() { - if (m_sdl_glcontext !=NULL) { - int status=SDL_GL_MakeCurrent(m_sdl_win, m_sdl_glcontext); + if (m_sdl_glcontext != NULL) { + int status = SDL_GL_MakeCurrent(m_sdl_win, m_sdl_glcontext); (void)status; return GHOST_kSuccess; } @@ -177,10 +177,10 @@ GHOST_WindowSDL::removeDrawingContext() if (m_sdl_glcontext != NULL) { SDL_GL_DeleteContext(m_sdl_glcontext); - success= GHOST_kSuccess; + success = GHOST_kSuccess; } else { - success= GHOST_kFailure; + success = GHOST_kFailure; } return success; } @@ -189,23 +189,23 @@ GHOST_WindowSDL::removeDrawingContext() GHOST_TSuccess GHOST_WindowSDL::setState(GHOST_TWindowState state) { - switch(state) { - case GHOST_kWindowStateNormal: - SDL_SetWindowFullscreen(m_sdl_win, SDL_FALSE); - SDL_RestoreWindow(m_sdl_win); - break; - case GHOST_kWindowStateMaximized: - SDL_SetWindowFullscreen(m_sdl_win, SDL_FALSE); - SDL_MaximizeWindow(m_sdl_win); - break; - case GHOST_kWindowStateMinimized: - SDL_MinimizeWindow(m_sdl_win); - break; - case GHOST_kWindowStateFullScreen: - SDL_SetWindowFullscreen(m_sdl_win, SDL_TRUE); - break; - default: - break; + switch (state) { + case GHOST_kWindowStateNormal: + SDL_SetWindowFullscreen(m_sdl_win, SDL_FALSE); + SDL_RestoreWindow(m_sdl_win); + break; + case GHOST_kWindowStateMaximized: + SDL_SetWindowFullscreen(m_sdl_win, SDL_FALSE); + SDL_MaximizeWindow(m_sdl_win); + break; + case GHOST_kWindowStateMinimized: + SDL_MinimizeWindow(m_sdl_win); + break; + case GHOST_kWindowStateFullScreen: + SDL_SetWindowFullscreen(m_sdl_win, SDL_TRUE); + break; + default: + break; } return GHOST_kSuccess; @@ -215,11 +215,11 @@ GHOST_WindowSDL::setState(GHOST_TWindowState state) GHOST_TWindowState GHOST_WindowSDL::getState() const { - Uint32 flags= SDL_GetWindowFlags(m_sdl_win); + Uint32 flags = SDL_GetWindowFlags(m_sdl_win); - if(flags & SDL_WINDOW_FULLSCREEN) return GHOST_kWindowStateFullScreen; - else if(flags & SDL_WINDOW_MAXIMIZED) return GHOST_kWindowStateMaximized; - else if(flags & SDL_WINDOW_MINIMIZED) return GHOST_kWindowStateMinimized; + if (flags & SDL_WINDOW_FULLSCREEN) return GHOST_kWindowStateFullScreen; + else if (flags & SDL_WINDOW_MAXIMIZED) return GHOST_kWindowStateMaximized; + else if (flags & SDL_WINDOW_MINIMIZED) return GHOST_kWindowStateMinimized; return GHOST_kWindowStateNormal; } @@ -234,7 +234,7 @@ GHOST_WindowSDL::setTitle(const STR_String& title) void GHOST_WindowSDL::getTitle(STR_String& title) const { - title= SDL_GetWindowTitle(m_sdl_win); + title = SDL_GetWindowTitle(m_sdl_win); } @@ -252,10 +252,10 @@ GHOST_WindowSDL::getClientBounds(GHOST_Rect& bounds) const SDL_GetWindowSize(m_sdl_win, &w, &h); SDL_GetWindowPosition(m_sdl_win, &x, &y); - bounds.m_l= x; - bounds.m_r= x + w; - bounds.m_t= y; - bounds.m_b= y + h; + bounds.m_l = x; + bounds.m_r = x + w; + bounds.m_t = y; + bounds.m_b = y + h; } GHOST_TSuccess @@ -278,14 +278,14 @@ GHOST_WindowSDL::setClientHeight(GHOST_TUns32 height) GHOST_TSuccess GHOST_WindowSDL::setClientSize(GHOST_TUns32 width, - GHOST_TUns32 height) + GHOST_TUns32 height) { SDL_SetWindowSize(m_sdl_win, width, height); return GHOST_kSuccess; } void -GHOST_WindowSDL::screenToClient( GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY ) const +GHOST_WindowSDL::screenToClient(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const { /* XXXSDL_WEAK_ABS_COORDS */ int x_win, y_win; @@ -295,7 +295,7 @@ GHOST_WindowSDL::screenToClient( GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt3 outY = inY - y_win; } void -GHOST_WindowSDL::clientToScreen( GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY ) const +GHOST_WindowSDL::clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const { /* XXXSDL_WEAK_ABS_COORDS */ int x_win, y_win; @@ -306,148 +306,148 @@ GHOST_WindowSDL::clientToScreen( GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt3 } /* mouse cursor */ -static unsigned char sdl_std_cursor_mask_xterm[]= {0xef,0x01,0xff,0x01,0xff,0x01,0x7c,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x7c,0x00,0xff,0x01,0xff,0x01,0xef,0x01,}; -static unsigned char sdl_std_cursor_xterm[]= {0x00,0x77,0x00,0x1c,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x1c,0x00,0x77,0x00,0x00,0x00,0x00,}; +static unsigned char sdl_std_cursor_mask_xterm[] = {0xef, 0x01, 0xff, 0x01, 0xff, 0x01, 0x7c, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x7c, 0x00, 0xff, 0x01, 0xff, 0x01, 0xef, 0x01, }; +static unsigned char sdl_std_cursor_xterm[] = {0x00, 0x77, 0x00, 0x1c, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x1c, 0x00, 0x77, 0x00, 0x00, 0x00, 0x00, }; #define sdl_std_cursor_WIDTH_xterm 9 #define sdl_std_cursor_HEIGHT_xterm 16 #define sdl_std_cursor_HOT_X_xterm -3 #define sdl_std_cursor_HOT_Y_xterm -7 -static unsigned char sdl_std_cursor_mask_watch[]= {0xfc,0x0f,0xfc,0x0f,0xfc,0x0f,0xfe,0x1f,0xff,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xfe,0x1f,0xfc,0x0f,0xfc,0x0f,0xfc,0x0f,}; -static unsigned char sdl_std_cursor_watch[]= {0xf8,0x07,0xf8,0x07,0xf8,0x07,0xfc,0x0f,0x86,0x18,0x83,0x30,0x81,0xe0,0xc1,0xe1,0xc1,0xe1,0x21,0xe0,0x13,0x30,0x06,0x18,0xfc,0x0f,0xf8,0x07,0xf8,0x07,0xf8,0x07,}; +static unsigned char sdl_std_cursor_mask_watch[] = {0xfc, 0x0f, 0xfc, 0x0f, 0xfc, 0x0f, 0xfe, 0x1f, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xfe, 0x1f, 0xfc, 0x0f, 0xfc, 0x0f, 0xfc, 0x0f, }; +static unsigned char sdl_std_cursor_watch[] = {0xf8, 0x07, 0xf8, 0x07, 0xf8, 0x07, 0xfc, 0x0f, 0x86, 0x18, 0x83, 0x30, 0x81, 0xe0, 0xc1, 0xe1, 0xc1, 0xe1, 0x21, 0xe0, 0x13, 0x30, 0x06, 0x18, 0xfc, 0x0f, 0xf8, 0x07, 0xf8, 0x07, 0xf8, 0x07, }; #define sdl_std_cursor_WIDTH_watch 16 #define sdl_std_cursor_HEIGHT_watch 16 #define sdl_std_cursor_HOT_X_watch -15 #define sdl_std_cursor_HOT_Y_watch -7 -static unsigned char sdl_std_cursor_mask_umbrella[]= {0xe8,0x76,0xfb,0xdf,0xfd,0x3f,0xfe,0xff,0xff,0x3f,0xff,0xff,0xcf,0x79,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x07,0xc0,0x07,0xc0,0x07,0xc0,0x07,0x80,0x03,}; -static unsigned char sdl_std_cursor_umbrella[]= {0x88,0x04,0x20,0x0a,0xc9,0x32,0xf2,0x09,0x4c,0x06,0x43,0x18,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x01,0x40,0x01,0x80,0x00,0x00,0x00,0x00,0x00,}; +static unsigned char sdl_std_cursor_mask_umbrella[] = {0xe8, 0x76, 0xfb, 0xdf, 0xfd, 0x3f, 0xfe, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xcf, 0x79, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x07, 0xc0, 0x07, 0xc0, 0x07, 0xc0, 0x07, 0x80, 0x03, }; +static unsigned char sdl_std_cursor_umbrella[] = {0x88, 0x04, 0x20, 0x0a, 0xc9, 0x32, 0xf2, 0x09, 0x4c, 0x06, 0x43, 0x18, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x01, 0x40, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, }; #define sdl_std_cursor_WIDTH_umbrella 16 #define sdl_std_cursor_HEIGHT_umbrella 16 #define sdl_std_cursor_HOT_X_umbrella -7 #define sdl_std_cursor_HOT_Y_umbrella -12 -static unsigned char sdl_std_cursor_mask_top_side[]= {0xff,0x7f,0xff,0x7f,0xff,0x7f,0xff,0x7f,0xc0,0x01,0xe0,0x03,0xf0,0x07,0xf8,0x0f,0xdc,0x1d,0xcc,0x19,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,}; -static unsigned char sdl_std_cursor_top_side[]= {0xff,0x1f,0xff,0x1f,0x00,0x00,0x40,0x00,0xe0,0x00,0x50,0x01,0x48,0x02,0x44,0x04,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x00,0x00,}; +static unsigned char sdl_std_cursor_mask_top_side[] = {0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07, 0xf8, 0x0f, 0xdc, 0x1d, 0xcc, 0x19, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, }; +static unsigned char sdl_std_cursor_top_side[] = {0xff, 0x1f, 0xff, 0x1f, 0x00, 0x00, 0x40, 0x00, 0xe0, 0x00, 0x50, 0x01, 0x48, 0x02, 0x44, 0x04, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, }; #define sdl_std_cursor_WIDTH_top_side 15 #define sdl_std_cursor_HEIGHT_top_side 16 #define sdl_std_cursor_HOT_X_top_side -6 #define sdl_std_cursor_HOT_Y_top_side -14 -static unsigned char sdl_std_cursor_mask_top_right_corner[]= {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xf0,0xfc,0xf7,0xfc,0xf7,0xfc,0xf7,0xc0,0xf7,0xe0,0xf7,0x70,0xf7,0x38,0xf7,0x1c,0xf7,0x0c,0xf7,0x00,0xf0,0x00,0xf0,}; -static unsigned char sdl_std_cursor_top_right_corner[]= {0xff,0x3f,0xff,0x3f,0x00,0x30,0x00,0x30,0x00,0x30,0xfc,0x31,0x80,0x31,0x40,0x31,0x20,0x31,0x10,0x31,0x08,0x31,0x04,0x31,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x00,}; +static unsigned char sdl_std_cursor_mask_top_right_corner[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xf0, 0xfc, 0xf7, 0xfc, 0xf7, 0xfc, 0xf7, 0xc0, 0xf7, 0xe0, 0xf7, 0x70, 0xf7, 0x38, 0xf7, 0x1c, 0xf7, 0x0c, 0xf7, 0x00, 0xf0, 0x00, 0xf0, }; +static unsigned char sdl_std_cursor_top_right_corner[] = {0xff, 0x3f, 0xff, 0x3f, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0xfc, 0x31, 0x80, 0x31, 0x40, 0x31, 0x20, 0x31, 0x10, 0x31, 0x08, 0x31, 0x04, 0x31, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, }; #define sdl_std_cursor_WIDTH_top_right_corner 16 #define sdl_std_cursor_HEIGHT_top_right_corner 16 #define sdl_std_cursor_HOT_X_top_right_corner -13 #define sdl_std_cursor_HOT_Y_top_right_corner -14 -static unsigned char sdl_std_cursor_mask_top_left_corner[]= {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x00,0xef,0x3f,0xef,0x3f,0xef,0x3f,0xef,0x03,0xef,0x07,0xef,0x0e,0xef,0x1c,0xef,0x38,0xef,0x30,0x0f,0x00,0x0f,0x00,}; -static unsigned char sdl_std_cursor_top_left_corner[]= {0xff,0x3f,0xff,0x3f,0x03,0x00,0x03,0x00,0x03,0x00,0xe3,0x0f,0x63,0x00,0xa3,0x00,0x23,0x01,0x23,0x02,0x23,0x04,0x23,0x08,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00,}; +static unsigned char sdl_std_cursor_mask_top_left_corner[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0xef, 0x3f, 0xef, 0x3f, 0xef, 0x3f, 0xef, 0x03, 0xef, 0x07, 0xef, 0x0e, 0xef, 0x1c, 0xef, 0x38, 0xef, 0x30, 0x0f, 0x00, 0x0f, 0x00, }; +static unsigned char sdl_std_cursor_top_left_corner[] = {0xff, 0x3f, 0xff, 0x3f, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xe3, 0x0f, 0x63, 0x00, 0xa3, 0x00, 0x23, 0x01, 0x23, 0x02, 0x23, 0x04, 0x23, 0x08, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, }; #define sdl_std_cursor_WIDTH_top_left_corner 16 #define sdl_std_cursor_HEIGHT_top_left_corner 16 #define sdl_std_cursor_HOT_X_top_left_corner 0 #define sdl_std_cursor_HOT_Y_top_left_corner -14 -static unsigned char sdl_std_cursor_mask_spraycan[]= {0x00,0x0c,0x18,0x0d,0x7c,0x0d,0x7c,0x0d,0x7e,0x0d,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,}; -static unsigned char sdl_std_cursor_spraycan[]= {0x00,0x06,0x80,0x00,0x2c,0x06,0x9e,0x00,0x16,0x06,0x3f,0x00,0x21,0x00,0x27,0x00,0x25,0x00,0x27,0x00,0x25,0x00,0x27,0x00,0x27,0x00,0x21,0x00,0x21,0x00,0x3f,0x00,}; +static unsigned char sdl_std_cursor_mask_spraycan[] = {0x00, 0x0c, 0x18, 0x0d, 0x7c, 0x0d, 0x7c, 0x0d, 0x7e, 0x0d, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, }; +static unsigned char sdl_std_cursor_spraycan[] = {0x00, 0x06, 0x80, 0x00, 0x2c, 0x06, 0x9e, 0x00, 0x16, 0x06, 0x3f, 0x00, 0x21, 0x00, 0x27, 0x00, 0x25, 0x00, 0x27, 0x00, 0x25, 0x00, 0x27, 0x00, 0x27, 0x00, 0x21, 0x00, 0x21, 0x00, 0x3f, 0x00, }; #define sdl_std_cursor_WIDTH_spraycan 12 #define sdl_std_cursor_HEIGHT_spraycan 16 #define sdl_std_cursor_HOT_X_spraycan -9 #define sdl_std_cursor_HOT_Y_spraycan -14 -static unsigned char sdl_std_cursor_mask_sb_v_double_arrow[]= {0x38,0x00,0x7c,0x00,0xfe,0x00,0xff,0x01,0xff,0x01,0x7c,0x00,0x7c,0x00,0x7c,0x00,0x7c,0x00,0x7c,0x00,0xff,0x01,0xff,0x01,0xfe,0x00,0x7c,0x00,0x38,0x00,}; -static unsigned char sdl_std_cursor_sb_v_double_arrow[]= {0x10,0x00,0x38,0x00,0x7c,0x00,0xfe,0x00,0x28,0x00,0x28,0x00,0x28,0x00,0x28,0x00,0x28,0x00,0x28,0x00,0x28,0x00,0xfe,0x00,0x7c,0x00,0x38,0x00,0x10,0x00,}; +static unsigned char sdl_std_cursor_mask_sb_v_double_arrow[] = {0x38, 0x00, 0x7c, 0x00, 0xfe, 0x00, 0xff, 0x01, 0xff, 0x01, 0x7c, 0x00, 0x7c, 0x00, 0x7c, 0x00, 0x7c, 0x00, 0x7c, 0x00, 0xff, 0x01, 0xff, 0x01, 0xfe, 0x00, 0x7c, 0x00, 0x38, 0x00, }; +static unsigned char sdl_std_cursor_sb_v_double_arrow[] = {0x10, 0x00, 0x38, 0x00, 0x7c, 0x00, 0xfe, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xfe, 0x00, 0x7c, 0x00, 0x38, 0x00, 0x10, 0x00, }; #define sdl_std_cursor_WIDTH_sb_v_double_arrow 9 #define sdl_std_cursor_HEIGHT_sb_v_double_arrow 15 #define sdl_std_cursor_HOT_X_sb_v_double_arrow -3 #define sdl_std_cursor_HOT_Y_sb_v_double_arrow -8 -static unsigned char sdl_std_cursor_mask_sb_h_double_arrow[]= {0x18,0x0c,0x1c,0x1c,0xfe,0x3f,0xff,0x7f,0xff,0x7f,0xff,0x7f,0xfe,0x3f,0x1c,0x1c,0x18,0x0c,}; -static unsigned char sdl_std_cursor_sb_h_double_arrow[]= {0x00,0x00,0x08,0x08,0x0c,0x18,0xfe,0x3f,0x0f,0x78,0xfe,0x3f,0x0c,0x18,0x08,0x08,0x00,0x00}; +static unsigned char sdl_std_cursor_mask_sb_h_double_arrow[] = {0x18, 0x0c, 0x1c, 0x1c, 0xfe, 0x3f, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xfe, 0x3f, 0x1c, 0x1c, 0x18, 0x0c, }; +static unsigned char sdl_std_cursor_sb_h_double_arrow[] = {0x00, 0x00, 0x08, 0x08, 0x0c, 0x18, 0xfe, 0x3f, 0x0f, 0x78, 0xfe, 0x3f, 0x0c, 0x18, 0x08, 0x08, 0x00, 0x00}; #define sdl_std_cursor_WIDTH_sb_h_double_arrow 15 #define sdl_std_cursor_HEIGHT_sb_h_double_arrow 9 #define sdl_std_cursor_HOT_X_sb_h_double_arrow -7 #define sdl_std_cursor_HOT_Y_sb_h_double_arrow -4 -static unsigned char sdl_std_cursor_mask_right_side[]= {0x00,0xf0,0x00,0xf0,0xc0,0xf0,0xc0,0xf1,0x80,0xf3,0x00,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xf7,0x80,0xf3,0xc0,0xf1,0xc0,0xf0,0x00,0xf0,0x00,0xf0,}; -static unsigned char sdl_std_cursor_right_side[]= {0x00,0x30,0x00,0x30,0x40,0x30,0x80,0x30,0x00,0x31,0x00,0x32,0xff,0x37,0x00,0x32,0x00,0x31,0x80,0x30,0x40,0x30,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x00,}; +static unsigned char sdl_std_cursor_mask_right_side[] = {0x00, 0xf0, 0x00, 0xf0, 0xc0, 0xf0, 0xc0, 0xf1, 0x80, 0xf3, 0x00, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xf7, 0x80, 0xf3, 0xc0, 0xf1, 0xc0, 0xf0, 0x00, 0xf0, 0x00, 0xf0, }; +static unsigned char sdl_std_cursor_right_side[] = {0x00, 0x30, 0x00, 0x30, 0x40, 0x30, 0x80, 0x30, 0x00, 0x31, 0x00, 0x32, 0xff, 0x37, 0x00, 0x32, 0x00, 0x31, 0x80, 0x30, 0x40, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, }; #define sdl_std_cursor_WIDTH_right_side 16 #define sdl_std_cursor_HEIGHT_right_side 15 #define sdl_std_cursor_HOT_X_right_side -13 #define sdl_std_cursor_HOT_Y_right_side -7 -static unsigned char sdl_std_cursor_mask_right_ptr[]= {0x00,0x03,0x80,0x03,0xc0,0x03,0xe0,0x03,0xf0,0x03,0xf8,0x03,0xfc,0x03,0xfe,0x03,0xff,0x03,0xff,0x03,0xf8,0x03,0xbc,0x03,0x3c,0x03,0x1e,0x00,0x1e,0x00,0x0c,0x00,}; -static unsigned char sdl_std_cursor_right_ptr[]= {0x00,0x80,0x00,0xc0,0x00,0xe0,0x00,0xf0,0x00,0xf8,0x00,0xfc,0x00,0xfe,0x00,0xff,0x00,0xf8,0x00,0xd8,0x00,0x8c,0x00,0x0c,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,}; +static unsigned char sdl_std_cursor_mask_right_ptr[] = {0x00, 0x03, 0x80, 0x03, 0xc0, 0x03, 0xe0, 0x03, 0xf0, 0x03, 0xf8, 0x03, 0xfc, 0x03, 0xfe, 0x03, 0xff, 0x03, 0xff, 0x03, 0xf8, 0x03, 0xbc, 0x03, 0x3c, 0x03, 0x1e, 0x00, 0x1e, 0x00, 0x0c, 0x00, }; +static unsigned char sdl_std_cursor_right_ptr[] = {0x00, 0x80, 0x00, 0xc0, 0x00, 0xe0, 0x00, 0xf0, 0x00, 0xf8, 0x00, 0xfc, 0x00, 0xfe, 0x00, 0xff, 0x00, 0xf8, 0x00, 0xd8, 0x00, 0x8c, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, }; #define sdl_std_cursor_WIDTH_right_ptr 10 #define sdl_std_cursor_HEIGHT_right_ptr 16 #define sdl_std_cursor_HOT_X_right_ptr -7 #define sdl_std_cursor_HOT_Y_right_ptr -14 -static unsigned char sdl_std_cursor_mask_question_arrow[]= {0xf8,0x00,0xfc,0x01,0xfe,0x03,0xff,0x07,0x8f,0x07,0x9f,0x07,0xde,0x07,0xfc,0x03,0xf8,0x01,0xf8,0x00,0xf8,0x00,0xfc,0x01,0xfe,0x03,0xfc,0x01,0xf8,0x00,0x70,0x00,}; -static unsigned char sdl_std_cursor_question_arrow[]= {0x7c,0x00,0xfe,0x00,0xc7,0x01,0x83,0x01,0x87,0x01,0xc6,0x01,0xe0,0x00,0x78,0x00,0x38,0x00,0x28,0x00,0x28,0x00,0xee,0x00,0x6c,0x00,0x38,0x00,0x10,0x00,0x00,0x00,}; +static unsigned char sdl_std_cursor_mask_question_arrow[] = {0xf8, 0x00, 0xfc, 0x01, 0xfe, 0x03, 0xff, 0x07, 0x8f, 0x07, 0x9f, 0x07, 0xde, 0x07, 0xfc, 0x03, 0xf8, 0x01, 0xf8, 0x00, 0xf8, 0x00, 0xfc, 0x01, 0xfe, 0x03, 0xfc, 0x01, 0xf8, 0x00, 0x70, 0x00, }; +static unsigned char sdl_std_cursor_question_arrow[] = {0x7c, 0x00, 0xfe, 0x00, 0xc7, 0x01, 0x83, 0x01, 0x87, 0x01, 0xc6, 0x01, 0xe0, 0x00, 0x78, 0x00, 0x38, 0x00, 0x28, 0x00, 0x28, 0x00, 0xee, 0x00, 0x6c, 0x00, 0x38, 0x00, 0x10, 0x00, 0x00, 0x00, }; #define sdl_std_cursor_WIDTH_question_arrow 11 #define sdl_std_cursor_HEIGHT_question_arrow 16 #define sdl_std_cursor_HOT_X_question_arrow -4 #define sdl_std_cursor_HOT_Y_question_arrow -8 -static unsigned char sdl_std_cursor_mask_pirate[]= {0xf0,0x03,0xf8,0x07,0xfc,0x0f,0xfe,0x1f,0xfe,0x1f,0xfc,0x0f,0xf8,0x07,0xf1,0x83,0xf1,0xe3,0xf3,0xf3,0xef,0x39,0x1e,0x1e,0xe0,0x01,0xfe,0xc7,0xff,0xff,0x0f,0x7c,}; -static unsigned char sdl_std_cursor_pirate[]= {0xe0,0x01,0xf0,0x03,0xf8,0x07,0xcc,0x0c,0xcc,0x0c,0xf8,0x07,0xf0,0x03,0xe0,0x01,0xe1,0x21,0xe1,0x61,0xc2,0x10,0x1c,0x0e,0xe0,0x01,0xf8,0x47,0x0f,0x7c,0x01,0x20,}; +static unsigned char sdl_std_cursor_mask_pirate[] = {0xf0, 0x03, 0xf8, 0x07, 0xfc, 0x0f, 0xfe, 0x1f, 0xfe, 0x1f, 0xfc, 0x0f, 0xf8, 0x07, 0xf1, 0x83, 0xf1, 0xe3, 0xf3, 0xf3, 0xef, 0x39, 0x1e, 0x1e, 0xe0, 0x01, 0xfe, 0xc7, 0xff, 0xff, 0x0f, 0x7c, }; +static unsigned char sdl_std_cursor_pirate[] = {0xe0, 0x01, 0xf0, 0x03, 0xf8, 0x07, 0xcc, 0x0c, 0xcc, 0x0c, 0xf8, 0x07, 0xf0, 0x03, 0xe0, 0x01, 0xe1, 0x21, 0xe1, 0x61, 0xc2, 0x10, 0x1c, 0x0e, 0xe0, 0x01, 0xf8, 0x47, 0x0f, 0x7c, 0x01, 0x20, }; #define sdl_std_cursor_WIDTH_pirate 16 #define sdl_std_cursor_HEIGHT_pirate 16 #define sdl_std_cursor_HOT_X_pirate -7 #define sdl_std_cursor_HOT_Y_pirate -4 -static unsigned char sdl_std_cursor_mask_left_side[]= {0x0f,0x00,0x0f,0x00,0x0f,0x03,0x8f,0x03,0xcf,0x01,0xef,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0x00,0xcf,0x01,0x8f,0x03,0x0f,0x03,0x0f,0x00,0x0f,0x00,}; -static unsigned char sdl_std_cursor_left_side[]= {0x03,0x00,0x03,0x00,0x83,0x00,0x43,0x00,0x23,0x00,0x13,0x00,0xfb,0x3f,0x13,0x00,0x23,0x00,0x43,0x00,0x83,0x00,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00,}; +static unsigned char sdl_std_cursor_mask_left_side[] = {0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x03, 0x8f, 0x03, 0xcf, 0x01, 0xef, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0x00, 0xcf, 0x01, 0x8f, 0x03, 0x0f, 0x03, 0x0f, 0x00, 0x0f, 0x00, }; +static unsigned char sdl_std_cursor_left_side[] = {0x03, 0x00, 0x03, 0x00, 0x83, 0x00, 0x43, 0x00, 0x23, 0x00, 0x13, 0x00, 0xfb, 0x3f, 0x13, 0x00, 0x23, 0x00, 0x43, 0x00, 0x83, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, }; #define sdl_std_cursor_WIDTH_left_side 16 #define sdl_std_cursor_HEIGHT_left_side 15 #define sdl_std_cursor_HOT_X_left_side 0 #define sdl_std_cursor_HOT_Y_left_side -7 -static unsigned char sdl_std_cursor_mask_left_ptr[]= {0x03,0x00,0x07,0x00,0x0f,0x00,0x1f,0x00,0x3f,0x00,0x7f,0x00,0xff,0x00,0xff,0x01,0xff,0x03,0xff,0x03,0x7f,0x00,0xf7,0x00,0xf3,0x00,0xe0,0x01,0xe0,0x01,0xc0,0x00,}; -static unsigned char sdl_std_cursor_left_ptr[]= {0x00,0x00,0x02,0x00,0x06,0x00,0x0e,0x00,0x1e,0x00,0x3e,0x00,0x7e,0x00,0xfe,0x00,0xfe,0x00,0x3e,0x00,0x36,0x00,0x62,0x00,0x60,0x00,0xc0,0x00,0xc0,0x00,0x00,0x00,}; +static unsigned char sdl_std_cursor_mask_left_ptr[] = {0x03, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x3f, 0x00, 0x7f, 0x00, 0xff, 0x00, 0xff, 0x01, 0xff, 0x03, 0xff, 0x03, 0x7f, 0x00, 0xf7, 0x00, 0xf3, 0x00, 0xe0, 0x01, 0xe0, 0x01, 0xc0, 0x00, }; +static unsigned char sdl_std_cursor_left_ptr[] = {0x00, 0x00, 0x02, 0x00, 0x06, 0x00, 0x0e, 0x00, 0x1e, 0x00, 0x3e, 0x00, 0x7e, 0x00, 0xfe, 0x00, 0xfe, 0x00, 0x3e, 0x00, 0x36, 0x00, 0x62, 0x00, 0x60, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x00, 0x00, }; #define sdl_std_cursor_WIDTH_left_ptr 10 #define sdl_std_cursor_HEIGHT_left_ptr 16 #define sdl_std_cursor_HOT_X_left_ptr -8 #define sdl_std_cursor_HOT_Y_left_ptr -14 -static unsigned char sdl_std_cursor_mask_exchange[]= {0xe3,0x07,0xf7,0x0f,0xff,0x1f,0xff,0x3f,0x3f,0x38,0xff,0x30,0xff,0x00,0xff,0x00,0x00,0xff,0x00,0xff,0x0c,0xfe,0x1c,0xfc,0xfc,0xff,0xf8,0xff,0xf0,0xef,0xe0,0xc7,}; -static unsigned char sdl_std_cursor_exchange[]= {0xf1,0x03,0xfb,0x07,0x1f,0x0c,0x09,0x08,0x19,0x00,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x00,0x26,0x04,0x24,0x0c,0x3e,0xf8,0x37,0xf0,0x23,0x00,0x00,0x00,0x00,}; +static unsigned char sdl_std_cursor_mask_exchange[] = {0xe3, 0x07, 0xf7, 0x0f, 0xff, 0x1f, 0xff, 0x3f, 0x3f, 0x38, 0xff, 0x30, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x0c, 0xfe, 0x1c, 0xfc, 0xfc, 0xff, 0xf8, 0xff, 0xf0, 0xef, 0xe0, 0xc7, }; +static unsigned char sdl_std_cursor_exchange[] = {0xf1, 0x03, 0xfb, 0x07, 0x1f, 0x0c, 0x09, 0x08, 0x19, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x26, 0x04, 0x24, 0x0c, 0x3e, 0xf8, 0x37, 0xf0, 0x23, 0x00, 0x00, 0x00, 0x00, }; #define sdl_std_cursor_WIDTH_exchange 16 #define sdl_std_cursor_HEIGHT_exchange 16 #define sdl_std_cursor_HOT_X_exchange -6 #define sdl_std_cursor_HOT_Y_exchange -8 -static unsigned char sdl_std_cursor_mask_crosshair[]= {0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,}; -static unsigned char sdl_std_cursor_crosshair[]= {0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x7f,0xff,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00,0x00,}; +static unsigned char sdl_std_cursor_mask_crosshair[] = {0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, }; +static unsigned char sdl_std_cursor_crosshair[] = {0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, }; #define sdl_std_cursor_WIDTH_crosshair 16 #define sdl_std_cursor_HEIGHT_crosshair 16 #define sdl_std_cursor_HOT_X_crosshair -7 #define sdl_std_cursor_HOT_Y_crosshair -8 -static unsigned char sdl_std_cursor_mask_bottom_side[]= {0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xcc,0x19,0xdc,0x1d,0xf8,0x0f,0xf0,0x07,0xe0,0x03,0xc0,0x01,0xff,0x7f,0xff,0x7f,0xff,0x7f,0xff,0x7f,}; -static unsigned char sdl_std_cursor_bottom_side[]= {0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x44,0x04,0x48,0x02,0x50,0x01,0xe0,0x00,0x40,0x00,0x00,0x00,0xff,0x1f,0xff,0x1f,0x00,0x00,0x00,0x00,}; +static unsigned char sdl_std_cursor_mask_bottom_side[] = {0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xcc, 0x19, 0xdc, 0x1d, 0xf8, 0x0f, 0xf0, 0x07, 0xe0, 0x03, 0xc0, 0x01, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, }; +static unsigned char sdl_std_cursor_bottom_side[] = {0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x44, 0x04, 0x48, 0x02, 0x50, 0x01, 0xe0, 0x00, 0x40, 0x00, 0x00, 0x00, 0xff, 0x1f, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, }; #define sdl_std_cursor_WIDTH_bottom_side 15 #define sdl_std_cursor_HEIGHT_bottom_side 16 #define sdl_std_cursor_HOT_X_bottom_side -6 #define sdl_std_cursor_HOT_Y_bottom_side -1 -static unsigned char sdl_std_cursor_mask_bottom_right_corner[]= {0x00,0xf0,0x00,0xf0,0x0c,0xf7,0x1c,0xf7,0x38,0xf7,0x70,0xf7,0xe0,0xf7,0xc0,0xf7,0xfc,0xf7,0xfc,0xf7,0xfc,0xf7,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,}; -static unsigned char sdl_std_cursor_bottom_right_corner[]= {0x00,0x30,0x00,0x30,0x04,0x31,0x08,0x31,0x10,0x31,0x20,0x31,0x40,0x31,0x80,0x31,0xfc,0x31,0x00,0x30,0x00,0x30,0x00,0x30,0xff,0x3f,0xff,0x3f,0x00,0x00,0x00,0x00,}; +static unsigned char sdl_std_cursor_mask_bottom_right_corner[] = {0x00, 0xf0, 0x00, 0xf0, 0x0c, 0xf7, 0x1c, 0xf7, 0x38, 0xf7, 0x70, 0xf7, 0xe0, 0xf7, 0xc0, 0xf7, 0xfc, 0xf7, 0xfc, 0xf7, 0xfc, 0xf7, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, }; +static unsigned char sdl_std_cursor_bottom_right_corner[] = {0x00, 0x30, 0x00, 0x30, 0x04, 0x31, 0x08, 0x31, 0x10, 0x31, 0x20, 0x31, 0x40, 0x31, 0x80, 0x31, 0xfc, 0x31, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0xff, 0x3f, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, }; #define sdl_std_cursor_WIDTH_bottom_right_corner 16 #define sdl_std_cursor_HEIGHT_bottom_right_corner 16 #define sdl_std_cursor_HOT_X_bottom_right_corner -13 #define sdl_std_cursor_HOT_Y_bottom_right_corner -1 -static unsigned char sdl_std_cursor_mask_bottom_left_corner[]= {0x0f,0x00,0x0f,0x00,0xef,0x30,0xef,0x38,0xef,0x1c,0xef,0x0e,0xef,0x07,0xef,0x03,0xef,0x3f,0xef,0x3f,0xef,0x3f,0x0f,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,}; -static unsigned char sdl_std_cursor_bottom_left_corner[]= {0x03,0x00,0x03,0x00,0x23,0x08,0x23,0x04,0x23,0x02,0x23,0x01,0xa3,0x00,0x63,0x00,0xe3,0x0f,0x03,0x00,0x03,0x00,0x03,0x00,0xff,0x3f,0xff,0x3f,0x00,0x00,0x00,0x00,}; +static unsigned char sdl_std_cursor_mask_bottom_left_corner[] = {0x0f, 0x00, 0x0f, 0x00, 0xef, 0x30, 0xef, 0x38, 0xef, 0x1c, 0xef, 0x0e, 0xef, 0x07, 0xef, 0x03, 0xef, 0x3f, 0xef, 0x3f, 0xef, 0x3f, 0x0f, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, }; +static unsigned char sdl_std_cursor_bottom_left_corner[] = {0x03, 0x00, 0x03, 0x00, 0x23, 0x08, 0x23, 0x04, 0x23, 0x02, 0x23, 0x01, 0xa3, 0x00, 0x63, 0x00, 0xe3, 0x0f, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xff, 0x3f, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, }; #define sdl_std_cursor_WIDTH_bottom_left_corner 16 #define sdl_std_cursor_HEIGHT_bottom_left_corner 16 #define sdl_std_cursor_HOT_X_bottom_left_corner 0 #define sdl_std_cursor_HOT_Y_bottom_left_corner -1 -static unsigned char sdl_std_cursor_mask_arrow[]= {0x00,0xe0,0x00,0xf8,0x00,0xfe,0x80,0x7f,0xe0,0x7f,0xf8,0x3f,0xfc,0x3f,0xfc,0x1f,0xe0,0x1f,0xf0,0x0f,0xf8,0x0f,0x7c,0x07,0x3e,0x07,0x1f,0x02,0x0e,0x00,0x04,0x00,}; -static unsigned char sdl_std_cursor_arrow[]= {0x00,0x30,0x00,0x3c,0x00,0x1f,0xc0,0x1f,0xf0,0x0f,0xfc,0x0f,0xc0,0x07,0xe0,0x07,0x70,0x03,0x38,0x03,0x1c,0x01,0x0e,0x01,0x07,0x00,0x02,0x00,0x00,0x00,0x00,0x00,}; +static unsigned char sdl_std_cursor_mask_arrow[] = {0x00, 0xe0, 0x00, 0xf8, 0x00, 0xfe, 0x80, 0x7f, 0xe0, 0x7f, 0xf8, 0x3f, 0xfc, 0x3f, 0xfc, 0x1f, 0xe0, 0x1f, 0xf0, 0x0f, 0xf8, 0x0f, 0x7c, 0x07, 0x3e, 0x07, 0x1f, 0x02, 0x0e, 0x00, 0x04, 0x00, }; +static unsigned char sdl_std_cursor_arrow[] = {0x00, 0x30, 0x00, 0x3c, 0x00, 0x1f, 0xc0, 0x1f, 0xf0, 0x0f, 0xfc, 0x0f, 0xc0, 0x07, 0xe0, 0x07, 0x70, 0x03, 0x38, 0x03, 0x1c, 0x01, 0x0e, 0x01, 0x07, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, }; #define sdl_std_cursor_WIDTH_arrow 16 #define sdl_std_cursor_HEIGHT_arrow 16 #define sdl_std_cursor_HOT_X_arrow -13 @@ -455,7 +455,7 @@ static unsigned char sdl_std_cursor_arrow[]= {0x00,0x30,0x00,0x3c,0x00,0x1f,0xc0 /* end cursor data */ -static SDL_Cursor *sdl_std_cursor_array[(int)GHOST_kStandardCursorNumCursors]= {0}; +static SDL_Cursor *sdl_std_cursor_array[(int)GHOST_kStandardCursorNumCursors] = {0}; /* utility function mostly a copy of SDL_CreateCursor but allows us to change * color and supports blenders flipped bits */ @@ -467,54 +467,54 @@ sdl_ghost_CreateCursor(const Uint8 *data, int hot_x, int hot_y) { - SDL_Surface *surface; - SDL_Cursor *cursor; - int x, y; - Uint32 *pixel; - Uint8 datab= 0, maskb= 0; - const Uint32 black= 0xFF000000; - const Uint32 white= 0xFFFFFFFF; - const Uint32 transparent= 0x00000000; - - /* Make sure the width is a multiple of 8 */ - w= ((w + 7) & ~7); - - /* Create the surface from a bitmap */ - surface= SDL_CreateRGBSurface(0, w, h, 32, - 0x00FF0000, - 0x0000FF00, - 0x000000FF, - 0xFF000000); - if (!surface) { - return NULL; - } - for (y= 0; y < h; ++y) { - pixel= (Uint32 *) ((Uint8 *) surface->pixels + y * surface->pitch); - for (x= 0; x < w; ++x) { - if ((x % 8) == 0) { - datab= *data++; - maskb= *mask++; + SDL_Surface *surface; + SDL_Cursor *cursor; + int x, y; + Uint32 *pixel; + Uint8 datab = 0, maskb = 0; + const Uint32 black = 0xFF000000; + const Uint32 white = 0xFFFFFFFF; + const Uint32 transparent = 0x00000000; + + /* Make sure the width is a multiple of 8 */ + w = ((w + 7) & ~7); + + /* Create the surface from a bitmap */ + surface = SDL_CreateRGBSurface(0, w, h, 32, + 0x00FF0000, + 0x0000FF00, + 0x000000FF, + 0xFF000000); + if (!surface) { + return NULL; + } + for (y = 0; y < h; ++y) { + pixel = (Uint32 *) ((Uint8 *) surface->pixels + y * surface->pitch); + for (x = 0; x < w; ++x) { + if ((x % 8) == 0) { + datab = *data++; + maskb = *mask++; /* reverse bit order */ - datab= (datab * 0x0202020202ULL & 0x010884422010ULL) % 1023; - maskb= (maskb * 0x0202020202ULL & 0x010884422010ULL) % 1023; - } - if (maskb & 0x80) { - *pixel++= (datab & 0x80) ? white : black; - } + datab = (datab * 0x0202020202ULL & 0x010884422010ULL) % 1023; + maskb = (maskb * 0x0202020202ULL & 0x010884422010ULL) % 1023; + } + if (maskb & 0x80) { + *pixel++ = (datab & 0x80) ? white : black; + } else { - *pixel++= (datab & 0x80) ? white : transparent; - } - datab <<= 1; - maskb <<= 1; - } - } + *pixel++ = (datab & 0x80) ? white : transparent; + } + datab <<= 1; + maskb <<= 1; + } + } - cursor= SDL_CreateColorCursor(surface, hot_x, hot_y); + cursor = SDL_CreateColorCursor(surface, hot_x, hot_y); - SDL_FreeSurface(surface); + SDL_FreeSurface(surface); - return cursor; + return cursor; } /* TODO, this is currently never freed but it wont leak either. */ @@ -522,16 +522,16 @@ static void sdl_cursor_init(void) { #define DEF_CURSOR(name, ind) \ - assert(\ - (\ - sdl_std_cursor_array[(int)ind]= \ - sdl_ghost_CreateCursor(sdl_std_cursor_##name, \ - sdl_std_cursor_mask_##name, \ - sdl_std_cursor_WIDTH_##name, \ - sdl_std_cursor_HEIGHT_##name, \ - (sdl_std_cursor_WIDTH_##name + (sdl_std_cursor_HOT_X_##name)) - 1, \ - (sdl_std_cursor_HEIGHT_##name + (sdl_std_cursor_HOT_Y_##name)) - 1) \ - ) != NULL) \ + assert( \ + ( \ + sdl_std_cursor_array[(int)ind] = \ + sdl_ghost_CreateCursor(sdl_std_cursor_##name, \ + sdl_std_cursor_mask_##name, \ + sdl_std_cursor_WIDTH_##name, \ + sdl_std_cursor_HEIGHT_##name, \ + (sdl_std_cursor_WIDTH_##name + (sdl_std_cursor_HOT_X_##name)) - 1, \ + (sdl_std_cursor_HEIGHT_##name + (sdl_std_cursor_HOT_Y_##name)) - 1) \ + ) != NULL) \ DEF_CURSOR(left_ptr, GHOST_kStandardCursorDefault); @@ -554,8 +554,8 @@ static void sdl_cursor_init(void) DEF_CURSOR(top_left_corner, GHOST_kStandardCursorTopLeftCorner); DEF_CURSOR(top_right_corner, GHOST_kStandardCursorTopRightCorner); DEF_CURSOR(bottom_right_corner, GHOST_kStandardCursorBottomRightCorner); - DEF_CURSOR(bottom_left_corner , GHOST_kStandardCursorBottomLeftCorner); - DEF_CURSOR(arrow , GHOST_kStandardCursorCopy); + DEF_CURSOR(bottom_left_corner, GHOST_kStandardCursorBottomLeftCorner); + DEF_CURSOR(arrow, GHOST_kStandardCursorCopy); //DEF_CURSOR(arrow, GHOST_kStandardCursorCustom); DEF_CURSOR(arrow, GHOST_kStandardCursorPencil); @@ -575,7 +575,7 @@ GHOST_WindowSDL::setWindowCursorGrab(GHOST_TGrabCursorMode mode) GHOST_TSuccess GHOST_WindowSDL::setWindowCursorShape(GHOST_TStandardCursor shape) { - if(sdl_std_cursor_array[0] == NULL) { + if (sdl_std_cursor_array[0] == NULL) { sdl_cursor_init(); } @@ -605,14 +605,14 @@ GHOST_WindowSDL::setWindowCustomCursorShape(GHOST_TUns8 *bitmap, int hotX, int hotY, int fg_color, int bg_color) { - if(m_sdl_custom_cursor) { + if (m_sdl_custom_cursor) { SDL_FreeCursor(m_sdl_custom_cursor); } - m_sdl_custom_cursor= sdl_ghost_CreateCursor((const Uint8 *)bitmap, - (const Uint8 *)mask, - sizex, sizex, - hotX, hotY); + m_sdl_custom_cursor = sdl_ghost_CreateCursor((const Uint8 *)bitmap, + (const Uint8 *)mask, + sizex, sizex, + hotX, hotY); SDL_SetCursor(m_sdl_custom_cursor); return GHOST_kSuccess; diff --git a/intern/ghost/intern/GHOST_WindowSDL.h b/intern/ghost/intern/GHOST_WindowSDL.h index e984aafc733..a39d9878ddd 100644 --- a/intern/ghost/intern/GHOST_WindowSDL.h +++ b/intern/ghost/intern/GHOST_WindowSDL.h @@ -44,17 +44,19 @@ class STR_String; class GHOST_WindowSDL : public GHOST_Window { -private : - GHOST_SystemSDL * m_system; - bool m_invalid_window; +private: + GHOST_SystemSDL *m_system; + bool m_invalid_window; - SDL_Window * m_sdl_win; - SDL_GLContext m_sdl_glcontext; - SDL_Cursor * m_sdl_custom_cursor; + SDL_Window *m_sdl_win; + SDL_GLContext m_sdl_glcontext; + SDL_Cursor *m_sdl_custom_cursor; public: - const GHOST_TabletData* GetTabletData() { return NULL; } + const GHOST_TabletData *GetTabletData() { + return NULL; + } GHOST_WindowSDL(GHOST_SystemSDL *system, const STR_String& title, @@ -158,7 +160,11 @@ protected: GHOST_TWindowState getState() const; - GHOST_TSuccess setOrder(GHOST_TWindowOrder order) { return GHOST_kSuccess; } // TODO + GHOST_TSuccess setOrder(GHOST_TWindowOrder order) + { + // TODO + return GHOST_kSuccess; + } }; diff --git a/intern/ghost/intern/GHOST_WindowWin32.cpp b/intern/ghost/intern/GHOST_WindowWin32.cpp index 3715da12cd6..81eefdfdc9c 100644 --- a/intern/ghost/intern/GHOST_WindowWin32.cpp +++ b/intern/ghost/intern/GHOST_WindowWin32.cpp @@ -55,8 +55,8 @@ #endif // Some more multisample defines -#define WGL_SAMPLE_BUFFERS_ARB 0x2041 -#define WGL_SAMPLES_ARB 0x2042 +#define WGL_SAMPLE_BUFFERS_ARB 0x2041 +#define WGL_SAMPLES_ARB 0x2042 // win64 doesn't define GWL_USERDATA #ifdef WIN32 @@ -66,7 +66,7 @@ #endif #endif -wchar_t* GHOST_WindowWin32::s_windowClassName = L"GHOST_WindowClass"; +wchar_t *GHOST_WindowWin32::s_windowClassName = L"GHOST_WindowClass"; const int GHOST_WindowWin32::s_maxTitleLength = 128; HGLRC GHOST_WindowWin32::s_firsthGLRc = NULL; HDC GHOST_WindowWin32::s_firstHDC = NULL; @@ -88,7 +88,7 @@ static PIXELFORMATDESCRIPTOR sPreferredFormat = { 1, /* version */ PFD_SUPPORT_OPENGL | PFD_DRAW_TO_WINDOW | - PFD_SWAP_COPY | /* support swap copy */ + PFD_SWAP_COPY | /* support swap copy */ PFD_DOUBLEBUFFER, /* support double-buffering */ PFD_TYPE_RGBA, /* color type */ 32, /* prefered color depth */ @@ -113,7 +113,7 @@ static PIXELFORMATDESCRIPTOR sPreferredFormat = { static int is_crappy_intel_card(void) { int crappy = 0; - const char *vendor = (const char*)glGetString(GL_VENDOR); + const char *vendor = (const char *)glGetString(GL_VENDOR); if (strstr(vendor, "Intel")) crappy = 1; @@ -122,22 +122,22 @@ static int is_crappy_intel_card(void) } GHOST_WindowWin32::GHOST_WindowWin32( - GHOST_SystemWin32 * system, - const STR_String& title, - GHOST_TInt32 left, - GHOST_TInt32 top, - GHOST_TUns32 width, - GHOST_TUns32 height, - GHOST_TWindowState state, - GHOST_TDrawingContextType type, - const bool stereoVisual, - const GHOST_TUns16 numOfAASamples, - GHOST_TEmbedderWindowID parentwindowhwnd, - GHOST_TSuccess msEnabled, - int msPixelFormat) -: + GHOST_SystemWin32 *system, + const STR_String& title, + GHOST_TInt32 left, + GHOST_TInt32 top, + GHOST_TUns32 width, + GHOST_TUns32 height, + GHOST_TWindowState state, + GHOST_TDrawingContextType type, + const bool stereoVisual, + const GHOST_TUns16 numOfAASamples, + GHOST_TEmbedderWindowID parentwindowhwnd, + GHOST_TSuccess msEnabled, + int msPixelFormat) + : GHOST_Window(width, height, state, GHOST_kDrawingContextTypeNone, - stereoVisual,numOfAASamples), + stereoVisual, numOfAASamples), m_system(system), m_hDC(0), m_hGlRc(0), @@ -170,15 +170,16 @@ GHOST_WindowWin32::GHOST_WindowWin32( versionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); - if(!GetVersionEx((OSVERSIONINFO *)&versionInfo)) { + if (!GetVersionEx((OSVERSIONINFO *)&versionInfo)) { versionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - if(GetVersionEx((OSVERSIONINFO*)&versionInfo)) { - if((versionInfo.dwMajorVersion==6 && versionInfo.dwMinorVersion>=1) || versionInfo.dwMajorVersion >= 7) { + if (GetVersionEx((OSVERSIONINFO *)&versionInfo)) { + if ((versionInfo.dwMajorVersion == 6 && versionInfo.dwMinorVersion >= 1) || versionInfo.dwMajorVersion >= 7) { hasMinVersionForTaskbar = true; } } - } else { - if((versionInfo.dwMajorVersion==6 && versionInfo.dwMinorVersion>=1) || versionInfo.dwMajorVersion >= 7) { + } + else { + if ((versionInfo.dwMajorVersion == 6 && versionInfo.dwMinorVersion >= 1) || versionInfo.dwMajorVersion >= 7) { hasMinVersionForTaskbar = true; } } @@ -188,41 +189,41 @@ GHOST_WindowWin32::GHOST_WindowWin32( MONITORINFO monitor; GHOST_TUns32 tw, th; - width += GetSystemMetrics(SM_CXSIZEFRAME)*2; - height += GetSystemMetrics(SM_CYSIZEFRAME)*2 + GetSystemMetrics(SM_CYCAPTION); + width += GetSystemMetrics(SM_CXSIZEFRAME) * 2; + height += GetSystemMetrics(SM_CYSIZEFRAME) * 2 + GetSystemMetrics(SM_CYCAPTION); rect.left = left; rect.right = left + width; rect.top = top; rect.bottom = top + height; - monitor.cbSize=sizeof(monitor); - monitor.dwFlags=0; + monitor.cbSize = sizeof(monitor); + monitor.dwFlags = 0; // take taskbar into account - GetMonitorInfo(MonitorFromRect(&rect,MONITOR_DEFAULTTONEAREST),&monitor); + GetMonitorInfo(MonitorFromRect(&rect, MONITOR_DEFAULTTONEAREST), &monitor); th = monitor.rcWork.bottom - monitor.rcWork.top; tw = monitor.rcWork.right - monitor.rcWork.left; - if(tw < width) + if (tw < width) { width = tw; left = monitor.rcWork.left; } - else if(monitor.rcWork.right < left + (int)width) + else if (monitor.rcWork.right < left + (int)width) left = monitor.rcWork.right - width; - else if(left < monitor.rcWork.left) + else if (left < monitor.rcWork.left) left = monitor.rcWork.left; - if(th < height) + if (th < height) { height = th; top = monitor.rcWork.top; } - else if(monitor.rcWork.bottom < top + (int)height) + else if (monitor.rcWork.bottom < top + (int)height) top = monitor.rcWork.bottom - height; - else if(top < monitor.rcWork.top) + else if (top < monitor.rcWork.top) top = monitor.rcWork.top; int wintype = WS_OVERLAPPEDWINDOW; @@ -236,35 +237,35 @@ GHOST_WindowWin32::GHOST_WindowWin32( height = rect.bottom - rect.top; } - wchar_t * title_16 = alloc_utf16_from_8((char*)(const char*)title,0); + wchar_t *title_16 = alloc_utf16_from_8((char *)(const char *)title, 0); m_hWnd = ::CreateWindowW( - s_windowClassName, // pointer to registered class name - title_16, // pointer to window name - wintype, // window style - left, // horizontal position of window - top, // vertical position of window - width, // window width - height, // window height - (HWND) m_parentWindowHwnd, // handle to parent or owner window - 0, // handle to menu or child-window identifier - ::GetModuleHandle(0), // handle to application instance - 0); // pointer to window-creation data + s_windowClassName, // pointer to registered class name + title_16, // pointer to window name + wintype, // window style + left, // horizontal position of window + top, // vertical position of window + width, // window width + height, // window height + (HWND) m_parentWindowHwnd, // handle to parent or owner window + 0, // handle to menu or child-window identifier + ::GetModuleHandle(0), // handle to application instance + 0); // pointer to window-creation data free(title_16); } else { - wchar_t * title_16 = alloc_utf16_from_8((char*)(const char*)title,0); + wchar_t *title_16 = alloc_utf16_from_8((char *)(const char *)title, 0); m_hWnd = ::CreateWindowW( - s_windowClassName, // pointer to registered class name - title_16, // pointer to window name - WS_POPUP | WS_MAXIMIZE, // window style - left, // horizontal position of window - top, // vertical position of window - width, // window width - height, // window height - HWND_DESKTOP, // handle to parent or owner window - 0, // handle to menu or child-window identifier - ::GetModuleHandle(0), // handle to application instance - 0); // pointer to window-creation data + s_windowClassName, // pointer to registered class name + title_16, // pointer to window name + WS_POPUP | WS_MAXIMIZE, // window style + left, // horizontal position of window + top, // vertical position of window + width, // window width + height, // window height + HWND_DESKTOP, // handle to parent or owner window + 0, // handle to menu or child-window identifier + ::GetModuleHandle(0), // handle to application instance + 0); // pointer to window-creation data free(title_16); } if (m_hWnd) { @@ -272,12 +273,12 @@ GHOST_WindowWin32::GHOST_WindowWin32( // Note that OleInitialize(0) has to be called prior to this. Done in GHOST_SystemWin32. m_dropTarget = new GHOST_DropTargetWin32(this, m_system); // Store a pointer to this class in the window structure - ::SetWindowLongPtr(m_hWnd, GWL_USERDATA, (LONG_PTR)this); + ::SetWindowLongPtr(m_hWnd, GWL_USERDATA, (LONG_PTR) this); // Store the device context m_hDC = ::GetDC(m_hWnd); - if(!s_firstHDC) { + if (!s_firstHDC) { s_firstHDC = m_hDC; } @@ -304,8 +305,7 @@ GHOST_WindowWin32::GHOST_WindowWin32( // Force an initial paint of the window ::UpdateWindow(m_hWnd); } - else - { + else { //invalidate the window m_hWnd = 0; } @@ -313,8 +313,8 @@ GHOST_WindowWin32::GHOST_WindowWin32( if (parentwindowhwnd != 0) { RAWINPUTDEVICE device = {0}; - device.usUsagePage = 0x01; /* usUsagePage & usUsage for keyboard*/ - device.usUsage = 0x06; /* http://msdn.microsoft.com/en-us/windows/hardware/gg487473.aspx */ + device.usUsagePage = 0x01; /* usUsagePage & usUsage for keyboard*/ + device.usUsage = 0x06; /* http://msdn.microsoft.com/en-us/windows/hardware/gg487473.aspx */ device.dwFlags |= RIDEV_INPUTSINK; // makes WM_INPUT is visible for ghost when has parent window device.hwndTarget = m_hWnd; RegisterRawInputDevices(&device, 1, sizeof(device)); @@ -322,8 +322,8 @@ GHOST_WindowWin32::GHOST_WindowWin32( m_wintab = ::LoadLibrary("Wintab32.dll"); if (m_wintab) { - GHOST_WIN32_WTInfo fpWTInfo = ( GHOST_WIN32_WTInfo ) ::GetProcAddress( m_wintab, "WTInfoA" ); - GHOST_WIN32_WTOpen fpWTOpen = ( GHOST_WIN32_WTOpen ) ::GetProcAddress( m_wintab, "WTOpenA" ); + GHOST_WIN32_WTInfo fpWTInfo = (GHOST_WIN32_WTInfo) ::GetProcAddress(m_wintab, "WTInfoA"); + GHOST_WIN32_WTOpen fpWTOpen = (GHOST_WIN32_WTOpen) ::GetProcAddress(m_wintab, "WTOpenA"); // let's see if we can initialize tablet here /* check if WinTab available. */ @@ -335,7 +335,7 @@ GHOST_WindowWin32::GHOST_WindowWin32( // Open a Wintab context // Get default context information - fpWTInfo( WTI_DEFCONTEXT, 0, &lc ); + fpWTInfo(WTI_DEFCONTEXT, 0, &lc); // Open the context lc.lcPktData = PACKETDATA; @@ -343,18 +343,18 @@ GHOST_WindowWin32::GHOST_WindowWin32( lc.lcOptions |= CXO_MESSAGES | CXO_SYSTEM; /* Set the entire tablet as active */ - fpWTInfo(WTI_DEVICES,DVC_X,&TabletX); - fpWTInfo(WTI_DEVICES,DVC_Y,&TabletY); + fpWTInfo(WTI_DEVICES, DVC_X, &TabletX); + fpWTInfo(WTI_DEVICES, DVC_Y, &TabletY); /* get the max pressure, to divide into a float */ - BOOL pressureSupport = fpWTInfo (WTI_DEVICES, DVC_NPRESSURE, &Pressure); + BOOL pressureSupport = fpWTInfo(WTI_DEVICES, DVC_NPRESSURE, &Pressure); if (pressureSupport) m_maxPressure = Pressure.axMax; else m_maxPressure = 0; /* get the max tilt axes, to divide into floats */ - BOOL tiltSupport = fpWTInfo (WTI_DEVICES, DVC_ORIENTATION, &Orientation); + BOOL tiltSupport = fpWTInfo(WTI_DEVICES, DVC_ORIENTATION, &Orientation); if (tiltSupport) { /* does the tablet support azimuth ([0]) and altitude ([1]) */ if (Orientation[0].axResolution && Orientation[1].axResolution) { @@ -368,7 +368,7 @@ GHOST_WindowWin32::GHOST_WindowWin32( } if (fpWTOpen) { - m_tablet = fpWTOpen( m_hWnd, &lc, TRUE ); + m_tablet = fpWTOpen(m_hWnd, &lc, TRUE); if (m_tablet) { m_tabletData = new GHOST_TabletData(); m_tabletData->Active = GHOST_kTabletModeNone; @@ -377,29 +377,29 @@ GHOST_WindowWin32::GHOST_WindowWin32( } } - if(hasMinVersionForTaskbar) - CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, IID_ITaskbarList ,(LPVOID*)&m_Bar); + if (hasMinVersionForTaskbar) + CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, IID_ITaskbarList, (LPVOID *)&m_Bar); else - m_Bar=NULL; + m_Bar = NULL; } GHOST_WindowWin32::~GHOST_WindowWin32() { - if(m_Bar) + if (m_Bar) { m_Bar->SetProgressState(m_hWnd, TBPF_NOPROGRESS); m_Bar->Release(); }; if (m_wintab) { - GHOST_WIN32_WTClose fpWTClose = ( GHOST_WIN32_WTClose ) ::GetProcAddress( m_wintab, "WTClose" ); + GHOST_WIN32_WTClose fpWTClose = (GHOST_WIN32_WTClose) ::GetProcAddress(m_wintab, "WTClose"); if (fpWTClose) { if (m_tablet) fpWTClose(m_tablet); if (m_tabletData) delete m_tabletData; - m_tabletData = NULL; + m_tabletData = NULL; } } if (m_customCursor) { @@ -439,17 +439,17 @@ HWND GHOST_WindowWin32::getHWND() const void GHOST_WindowWin32::setTitle(const STR_String& title) { - wchar_t * title_16 = alloc_utf16_from_8((char*)(const char*)title, 0); - ::SetWindowTextW(m_hWnd, (wchar_t*)title_16); + wchar_t *title_16 = alloc_utf16_from_8((char *)(const char *)title, 0); + ::SetWindowTextW(m_hWnd, (wchar_t *)title_16); free(title_16); } void GHOST_WindowWin32::getTitle(STR_String& title) const { - char buf[s_maxTitleLength];/*CHANGE + never used yet*/ + char buf[s_maxTitleLength]; /*CHANGE + never used yet*/ ::GetWindowText(m_hWnd, buf, s_maxTitleLength); - STR_String temp (buf); + STR_String temp(buf); title = buf; } @@ -468,30 +468,33 @@ void GHOST_WindowWin32::getWindowBounds(GHOST_Rect& bounds) const void GHOST_WindowWin32::getClientBounds(GHOST_Rect& bounds) const { RECT rect; - GHOST_TWindowState state= this->getState(); + GHOST_TWindowState state = this->getState(); LONG_PTR result = ::GetWindowLongPtr(m_hWnd, GWL_STYLE); int sm_cysizeframe = GetSystemMetrics(SM_CYSIZEFRAME); ::GetWindowRect(m_hWnd, &rect); - if((result & (WS_POPUP | WS_MAXIMIZE)) != (WS_POPUP | WS_MAXIMIZE)) { - if(state==GHOST_kWindowStateMaximized) { + if ((result & (WS_POPUP | WS_MAXIMIZE)) != (WS_POPUP | WS_MAXIMIZE)) { + if (state == GHOST_kWindowStateMaximized) { // in maximized state we don't have borders on the window - bounds.m_b = rect.bottom-GetSystemMetrics(SM_CYCAPTION)- sm_cysizeframe*2; + bounds.m_b = rect.bottom - GetSystemMetrics(SM_CYCAPTION) - sm_cysizeframe * 2; bounds.m_l = rect.left + sm_cysizeframe; bounds.m_r = rect.right - sm_cysizeframe; bounds.m_t = rect.top; - } else if (state == GHOST_kWindowStateEmbedded) { + } + else if (state == GHOST_kWindowStateEmbedded) { bounds.m_b = rect.bottom; bounds.m_l = rect.left; bounds.m_r = rect.right; bounds.m_t = rect.top; - } else { - bounds.m_b = rect.bottom-GetSystemMetrics(SM_CYCAPTION)-sm_cysizeframe*2; + } + else { + bounds.m_b = rect.bottom - GetSystemMetrics(SM_CYCAPTION) - sm_cysizeframe * 2; bounds.m_l = rect.left; - bounds.m_r = rect.right-sm_cysizeframe*2; + bounds.m_r = rect.right - sm_cysizeframe * 2; bounds.m_t = rect.top; } - } else { + } + else { bounds.m_b = rect.bottom; bounds.m_l = rect.left; bounds.m_r = rect.right; @@ -510,7 +513,7 @@ GHOST_TSuccess GHOST_WindowWin32::setClientWidth(GHOST_TUns32 width) int cx = wBnds.getWidth() + width - cBnds.getWidth(); int cy = wBnds.getHeight(); success = ::SetWindowPos(m_hWnd, HWND_TOP, 0, 0, cx, cy, SWP_NOMOVE | SWP_NOZORDER) ? - GHOST_kSuccess : GHOST_kFailure; + GHOST_kSuccess : GHOST_kFailure; } else { success = GHOST_kSuccess; @@ -529,7 +532,7 @@ GHOST_TSuccess GHOST_WindowWin32::setClientHeight(GHOST_TUns32 height) int cx = wBnds.getWidth(); int cy = wBnds.getHeight() + height - cBnds.getHeight(); success = ::SetWindowPos(m_hWnd, HWND_TOP, 0, 0, cx, cy, SWP_NOMOVE | SWP_NOZORDER) ? - GHOST_kSuccess : GHOST_kFailure; + GHOST_kSuccess : GHOST_kFailure; } else { success = GHOST_kSuccess; @@ -548,7 +551,7 @@ GHOST_TSuccess GHOST_WindowWin32::setClientSize(GHOST_TUns32 width, GHOST_TUns32 int cx = wBnds.getWidth() + width - cBnds.getWidth(); int cy = wBnds.getHeight() + height - cBnds.getHeight(); success = ::SetWindowPos(m_hWnd, HWND_TOP, 0, 0, cx, cy, SWP_NOMOVE | SWP_NOZORDER) ? - GHOST_kSuccess : GHOST_kFailure; + GHOST_kSuccess : GHOST_kFailure; } else { success = GHOST_kSuccess; @@ -574,7 +577,7 @@ GHOST_TWindowState GHOST_WindowWin32::getState() const } else if (::IsZoomed(m_hWnd)) { LONG_PTR result = ::GetWindowLongPtr(m_hWnd, GWL_STYLE); - if((result & (WS_POPUP | WS_MAXIMIZE)) != (WS_POPUP | WS_MAXIMIZE)) + if ((result & (WS_POPUP | WS_MAXIMIZE)) != (WS_POPUP | WS_MAXIMIZE)) state = GHOST_kWindowStateMaximized; else state = GHOST_kWindowStateFullScreen; @@ -614,29 +617,29 @@ GHOST_TSuccess GHOST_WindowWin32::setState(GHOST_TWindowState state) if (state == GHOST_kWindowStateNormal) state = m_normal_state; switch (state) { - case GHOST_kWindowStateMinimized: - wp.showCmd = SW_SHOWMINIMIZED; - break; - case GHOST_kWindowStateMaximized: - wp.showCmd = SW_SHOWMAXIMIZED; - SetWindowLongPtr(m_hWnd, GWL_STYLE, WS_OVERLAPPEDWINDOW); - break; - case GHOST_kWindowStateFullScreen: - if (curstate != state && curstate != GHOST_kWindowStateMinimized) - m_normal_state = curstate; - wp.showCmd = SW_SHOWMAXIMIZED; - wp.ptMaxPosition.x = 0; - wp.ptMaxPosition.y = 0; - SetWindowLongPtr(m_hWnd, GWL_STYLE, WS_POPUP | WS_MAXIMIZE); - break; - case GHOST_kWindowStateEmbedded: - SetWindowLongPtr(m_hWnd, GWL_STYLE, WS_CHILD); - break; - case GHOST_kWindowStateNormal: - default: - wp.showCmd = SW_SHOWNORMAL; - SetWindowLongPtr(m_hWnd, GWL_STYLE, WS_OVERLAPPEDWINDOW); - break; + case GHOST_kWindowStateMinimized: + wp.showCmd = SW_SHOWMINIMIZED; + break; + case GHOST_kWindowStateMaximized: + wp.showCmd = SW_SHOWMAXIMIZED; + SetWindowLongPtr(m_hWnd, GWL_STYLE, WS_OVERLAPPEDWINDOW); + break; + case GHOST_kWindowStateFullScreen: + if (curstate != state && curstate != GHOST_kWindowStateMinimized) + m_normal_state = curstate; + wp.showCmd = SW_SHOWMAXIMIZED; + wp.ptMaxPosition.x = 0; + wp.ptMaxPosition.y = 0; + SetWindowLongPtr(m_hWnd, GWL_STYLE, WS_POPUP | WS_MAXIMIZE); + break; + case GHOST_kWindowStateEmbedded: + SetWindowLongPtr(m_hWnd, GWL_STYLE, WS_CHILD); + break; + case GHOST_kWindowStateNormal: + default: + wp.showCmd = SW_SHOWNORMAL; + SetWindowLongPtr(m_hWnd, GWL_STYLE, WS_OVERLAPPEDWINDOW); + break; } SetWindowPos(m_hWnd, 0, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED); /*Clears window cache for SetWindowLongPtr */ return ::SetWindowPlacement(m_hWnd, &wp) == TRUE ? GHOST_kSuccess : GHOST_kFailure; @@ -737,7 +740,7 @@ GHOST_TSuccess GHOST_WindowWin32::initMultisample(PIXELFORMATDESCRIPTOR pfd) iAttributes[17] -= 1; success = GHOST_kFailure; } - if (m_multisampleEnabled == GHOST_kSuccess) { + if (m_multisampleEnabled == GHOST_kSuccess) { return GHOST_kSuccess; } GHOST_PRINT("no available pixel format\n"); @@ -748,43 +751,47 @@ GHOST_TSuccess GHOST_WindowWin32::installDrawingContext(GHOST_TDrawingContextTyp { GHOST_TSuccess success; switch (type) { - case GHOST_kDrawingContextTypeOpenGL: - { - // If this window has multisample enabled, use the supplied format - if (m_multisampleEnabled) + case GHOST_kDrawingContextTypeOpenGL: { - if (SetPixelFormat(m_hDC, m_msPixelFormat, &sPreferredFormat)==FALSE) + // If this window has multisample enabled, use the supplied format + if (m_multisampleEnabled) { - success = GHOST_kFailure; - break; - } + if (SetPixelFormat(m_hDC, m_msPixelFormat, &sPreferredFormat) == FALSE) + { + success = GHOST_kFailure; + break; + } - // Create the context - m_hGlRc = ::wglCreateContext(m_hDC); - if (m_hGlRc) { - if (::wglMakeCurrent(m_hDC, m_hGlRc) == TRUE) { - if (s_firsthGLRc) { - if (is_crappy_intel_card()) { - if (::wglMakeCurrent(NULL, NULL) == TRUE) { - ::wglDeleteContext(m_hGlRc); - m_hGlRc = s_firsthGLRc; + // Create the context + m_hGlRc = ::wglCreateContext(m_hDC); + if (m_hGlRc) { + if (::wglMakeCurrent(m_hDC, m_hGlRc) == TRUE) { + if (s_firsthGLRc) { + if (is_crappy_intel_card()) { + if (::wglMakeCurrent(NULL, NULL) == TRUE) { + ::wglDeleteContext(m_hGlRc); + m_hGlRc = s_firsthGLRc; + } + else { + ::wglDeleteContext(m_hGlRc); + m_hGlRc = NULL; + } } else { - ::wglDeleteContext(m_hGlRc); - m_hGlRc = NULL; + ::wglCopyContext(s_firsthGLRc, m_hGlRc, GL_ALL_ATTRIB_BITS); + ::wglShareLists(s_firsthGLRc, m_hGlRc); } } else { - ::wglCopyContext(s_firsthGLRc, m_hGlRc, GL_ALL_ATTRIB_BITS); - ::wglShareLists(s_firsthGLRc, m_hGlRc); + s_firsthGLRc = m_hGlRc; } - } - else { - s_firsthGLRc = m_hGlRc; - } - if (m_hGlRc) { - success = ::wglMakeCurrent(m_hDC, m_hGlRc) == TRUE ? GHOST_kSuccess : GHOST_kFailure; + if (m_hGlRc) { + success = ::wglMakeCurrent(m_hDC, m_hGlRc) == TRUE ? GHOST_kSuccess : GHOST_kFailure; + } + else { + success = GHOST_kFailure; + } } else { success = GHOST_kFailure; @@ -793,59 +800,58 @@ GHOST_TSuccess GHOST_WindowWin32::installDrawingContext(GHOST_TDrawingContextTyp else { success = GHOST_kFailure; } - } - else { - success = GHOST_kFailure; - } - if (success == GHOST_kFailure) { - printf("Failed to get a context....\n"); + if (success == GHOST_kFailure) { + printf("Failed to get a context....\n"); + } } - } - else - { - if(m_stereoVisual) - sPreferredFormat.dwFlags |= PFD_STEREO; + else { + if (m_stereoVisual) + sPreferredFormat.dwFlags |= PFD_STEREO; - // Attempt to match device context pixel format to the preferred format - int iPixelFormat = EnumPixelFormats(m_hDC); - if (iPixelFormat == 0) { - success = GHOST_kFailure; - break; - } - if (::SetPixelFormat(m_hDC, iPixelFormat, &sPreferredFormat) == FALSE) { - success = GHOST_kFailure; - break; - } - // For debugging only: retrieve the pixel format chosen - PIXELFORMATDESCRIPTOR preferredFormat; - ::DescribePixelFormat(m_hDC, iPixelFormat, sizeof(PIXELFORMATDESCRIPTOR), &preferredFormat); - - // Create the context - m_hGlRc = ::wglCreateContext(m_hDC); - if (m_hGlRc) { - if (::wglMakeCurrent(m_hDC, m_hGlRc) == TRUE) { - if (s_firsthGLRc) { - if (is_crappy_intel_card()) { - if (::wglMakeCurrent(NULL, NULL) == TRUE) { - ::wglDeleteContext(m_hGlRc); - m_hGlRc = s_firsthGLRc; + // Attempt to match device context pixel format to the preferred format + int iPixelFormat = EnumPixelFormats(m_hDC); + if (iPixelFormat == 0) { + success = GHOST_kFailure; + break; + } + if (::SetPixelFormat(m_hDC, iPixelFormat, &sPreferredFormat) == FALSE) { + success = GHOST_kFailure; + break; + } + // For debugging only: retrieve the pixel format chosen + PIXELFORMATDESCRIPTOR preferredFormat; + ::DescribePixelFormat(m_hDC, iPixelFormat, sizeof(PIXELFORMATDESCRIPTOR), &preferredFormat); + + // Create the context + m_hGlRc = ::wglCreateContext(m_hDC); + if (m_hGlRc) { + if (::wglMakeCurrent(m_hDC, m_hGlRc) == TRUE) { + if (s_firsthGLRc) { + if (is_crappy_intel_card()) { + if (::wglMakeCurrent(NULL, NULL) == TRUE) { + ::wglDeleteContext(m_hGlRc); + m_hGlRc = s_firsthGLRc; + } + else { + ::wglDeleteContext(m_hGlRc); + m_hGlRc = NULL; + } } else { - ::wglDeleteContext(m_hGlRc); - m_hGlRc = NULL; + ::wglShareLists(s_firsthGLRc, m_hGlRc); } } else { - ::wglShareLists(s_firsthGLRc, m_hGlRc); + s_firsthGLRc = m_hGlRc; } - } - else { - s_firsthGLRc = m_hGlRc; - } - if (m_hGlRc) { - success = ::wglMakeCurrent(m_hDC, m_hGlRc) == TRUE ? GHOST_kSuccess : GHOST_kFailure; + if (m_hGlRc) { + success = ::wglMakeCurrent(m_hDC, m_hGlRc) == TRUE ? GHOST_kSuccess : GHOST_kFailure; + } + else { + success = GHOST_kFailure; + } } else { success = GHOST_kFailure; @@ -854,66 +860,63 @@ GHOST_TSuccess GHOST_WindowWin32::installDrawingContext(GHOST_TDrawingContextTyp else { success = GHOST_kFailure; } - } - else { - success = GHOST_kFailure; - } - - if (success == GHOST_kFailure) { - printf("Failed to get a context....\n"); - } - // Attempt to enable multisample - if (m_multisample && WGL_ARB_multisample && !m_multisampleEnabled) - { - success = initMultisample(preferredFormat); + if (success == GHOST_kFailure) { + printf("Failed to get a context....\n"); + } - if (success) + // Attempt to enable multisample + if (m_multisample && WGL_ARB_multisample && !m_multisampleEnabled) { - - // Make sure we don't screw up the context - if (m_hGlRc == s_firsthGLRc) - s_firsthGLRc = NULL; - m_drawingContextType = GHOST_kDrawingContextTypeOpenGL; - removeDrawingContext(); - - // Create a new window - GHOST_TWindowState new_state = getState(); - - m_nextWindow = new GHOST_WindowWin32((GHOST_SystemWin32*)GHOST_ISystem::getSystem(), - m_title, - m_left, - m_top, - m_width, - m_height, - new_state, - type, - m_stereo, - m_multisample, - m_parentWindowHwnd, - m_multisampleEnabled, - m_msPixelFormat); - - // Return failure so we can trash this window. - success = GHOST_kFailure; - break; - } else { - m_multisampleEnabled = GHOST_kSuccess; - printf("Multisample failed to initialized\n"); - success = GHOST_kSuccess; + success = initMultisample(preferredFormat); + + if (success) + { + + // Make sure we don't screw up the context + if (m_hGlRc == s_firsthGLRc) + s_firsthGLRc = NULL; + m_drawingContextType = GHOST_kDrawingContextTypeOpenGL; + removeDrawingContext(); + + // Create a new window + GHOST_TWindowState new_state = getState(); + + m_nextWindow = new GHOST_WindowWin32((GHOST_SystemWin32 *)GHOST_ISystem::getSystem(), + m_title, + m_left, + m_top, + m_width, + m_height, + new_state, + type, + m_stereo, + m_multisample, + m_parentWindowHwnd, + m_multisampleEnabled, + m_msPixelFormat); + + // Return failure so we can trash this window. + success = GHOST_kFailure; + break; + } + else { + m_multisampleEnabled = GHOST_kSuccess; + printf("Multisample failed to initialized\n"); + success = GHOST_kSuccess; + } } } - } } break; - case GHOST_kDrawingContextTypeNone: - success = GHOST_kSuccess; - break; + case GHOST_kDrawingContextTypeNone: + success = GHOST_kSuccess; + break; - default: - success = GHOST_kFailure; + default: + success = GHOST_kFailure; } return success; } @@ -922,55 +925,54 @@ GHOST_TSuccess GHOST_WindowWin32::removeDrawingContext() { GHOST_TSuccess success; switch (m_drawingContextType) { - case GHOST_kDrawingContextTypeOpenGL: - // we shouldn't remove the drawing context if it's the first OpenGL context - // If we do, we get corrupted drawing. See #19997 - if (m_hGlRc && m_hGlRc!=s_firsthGLRc) { - success = ::wglDeleteContext(m_hGlRc) == TRUE ? GHOST_kSuccess : GHOST_kFailure; - m_hGlRc = 0; - } - else { + case GHOST_kDrawingContextTypeOpenGL: + // we shouldn't remove the drawing context if it's the first OpenGL context + // If we do, we get corrupted drawing. See #19997 + if (m_hGlRc && m_hGlRc != s_firsthGLRc) { + success = ::wglDeleteContext(m_hGlRc) == TRUE ? GHOST_kSuccess : GHOST_kFailure; + m_hGlRc = 0; + } + else { + success = GHOST_kFailure; + } + break; + case GHOST_kDrawingContextTypeNone: + success = GHOST_kSuccess; + break; + default: success = GHOST_kFailure; - } - break; - case GHOST_kDrawingContextTypeNone: - success = GHOST_kSuccess; - break; - default: - success = GHOST_kFailure; } return success; } void GHOST_WindowWin32::lostMouseCapture() { - if(m_hasMouseCaptured) - { m_hasGrabMouse = false; - m_nPressedButtons = 0; - m_hasMouseCaptured = false; - }; + if (m_hasMouseCaptured) + { m_hasGrabMouse = false; + m_nPressedButtons = 0; + m_hasMouseCaptured = false; }; } void GHOST_WindowWin32::registerMouseClickEvent(int press) { - switch(press) + switch (press) { - case 0: m_nPressedButtons++; break; - case 1: if(m_nPressedButtons) m_nPressedButtons--; break; - case 2: m_hasGrabMouse=true; break; - case 3: m_hasGrabMouse=false; break; + case 0: m_nPressedButtons++; break; + case 1: if (m_nPressedButtons) m_nPressedButtons--; break; + case 2: m_hasGrabMouse = true; break; + case 3: m_hasGrabMouse = false; break; } - if(!m_nPressedButtons && !m_hasGrabMouse && m_hasMouseCaptured) + if (!m_nPressedButtons && !m_hasGrabMouse && m_hasMouseCaptured) { - ::ReleaseCapture(); - m_hasMouseCaptured = false; + ::ReleaseCapture(); + m_hasMouseCaptured = false; } - else if((m_nPressedButtons || m_hasGrabMouse) && !m_hasMouseCaptured) + else if ((m_nPressedButtons || m_hasGrabMouse) && !m_hasMouseCaptured) { - ::SetCapture(m_hWnd); - m_hasMouseCaptured = true; + ::SetCapture(m_hWnd); + m_hasMouseCaptured = true; } } @@ -979,43 +981,44 @@ void GHOST_WindowWin32::registerMouseClickEvent(int press) void GHOST_WindowWin32::loadCursor(bool visible, GHOST_TStandardCursor cursor) const { if (!visible) { - while (::ShowCursor(FALSE) >= 0); + while (::ShowCursor(FALSE) >= 0) ; } else { - while (::ShowCursor(TRUE) < 0); + while (::ShowCursor(TRUE) < 0) ; } if (cursor == GHOST_kStandardCursorCustom && m_customCursor) { - ::SetCursor( m_customCursor ); - } else { + ::SetCursor(m_customCursor); + } + else { // Convert GHOST cursor to Windows OEM cursor bool success = true; LPCSTR id; switch (cursor) { - case GHOST_kStandardCursorDefault: id = IDC_ARROW; break; - case GHOST_kStandardCursorRightArrow: id = IDC_ARROW; break; - case GHOST_kStandardCursorLeftArrow: id = IDC_ARROW; break; - case GHOST_kStandardCursorInfo: id = IDC_SIZEALL; break; // Four-pointed arrow pointing north, south, east, and west - case GHOST_kStandardCursorDestroy: id = IDC_NO; break; // Slashed circle - case GHOST_kStandardCursorHelp: id = IDC_HELP; break; // Arrow and question mark - case GHOST_kStandardCursorCycle: id = IDC_NO; break; // Slashed circle - case GHOST_kStandardCursorSpray: id = IDC_SIZEALL; break; // Four-pointed arrow pointing north, south, east, and west - case GHOST_kStandardCursorWait: id = IDC_WAIT; break; // Hourglass - case GHOST_kStandardCursorText: id = IDC_IBEAM; break; // I-beam - case GHOST_kStandardCursorCrosshair: id = IDC_CROSS; break; // Crosshair - case GHOST_kStandardCursorUpDown: id = IDC_SIZENS; break; // Double-pointed arrow pointing north and south - case GHOST_kStandardCursorLeftRight: id = IDC_SIZEWE; break; // Double-pointed arrow pointing west and east - case GHOST_kStandardCursorTopSide: id = IDC_UPARROW; break; // Vertical arrow - case GHOST_kStandardCursorBottomSide: id = IDC_SIZENS; break; - case GHOST_kStandardCursorLeftSide: id = IDC_SIZEWE; break; - case GHOST_kStandardCursorTopLeftCorner: id = IDC_SIZENWSE; break; - case GHOST_kStandardCursorTopRightCorner: id = IDC_SIZENESW; break; - case GHOST_kStandardCursorBottomRightCorner: id = IDC_SIZENWSE; break; - case GHOST_kStandardCursorBottomLeftCorner: id = IDC_SIZENESW; break; - case GHOST_kStandardCursorPencil: id = IDC_ARROW; break; - case GHOST_kStandardCursorCopy: id = IDC_ARROW; break; + case GHOST_kStandardCursorDefault: id = IDC_ARROW; break; + case GHOST_kStandardCursorRightArrow: id = IDC_ARROW; break; + case GHOST_kStandardCursorLeftArrow: id = IDC_ARROW; break; + case GHOST_kStandardCursorInfo: id = IDC_SIZEALL; break; // Four-pointed arrow pointing north, south, east, and west + case GHOST_kStandardCursorDestroy: id = IDC_NO; break; // Slashed circle + case GHOST_kStandardCursorHelp: id = IDC_HELP; break; // Arrow and question mark + case GHOST_kStandardCursorCycle: id = IDC_NO; break; // Slashed circle + case GHOST_kStandardCursorSpray: id = IDC_SIZEALL; break; // Four-pointed arrow pointing north, south, east, and west + case GHOST_kStandardCursorWait: id = IDC_WAIT; break; // Hourglass + case GHOST_kStandardCursorText: id = IDC_IBEAM; break; // I-beam + case GHOST_kStandardCursorCrosshair: id = IDC_CROSS; break; // Crosshair + case GHOST_kStandardCursorUpDown: id = IDC_SIZENS; break; // Double-pointed arrow pointing north and south + case GHOST_kStandardCursorLeftRight: id = IDC_SIZEWE; break; // Double-pointed arrow pointing west and east + case GHOST_kStandardCursorTopSide: id = IDC_UPARROW; break; // Vertical arrow + case GHOST_kStandardCursorBottomSide: id = IDC_SIZENS; break; + case GHOST_kStandardCursorLeftSide: id = IDC_SIZEWE; break; + case GHOST_kStandardCursorTopLeftCorner: id = IDC_SIZENWSE; break; + case GHOST_kStandardCursorTopRightCorner: id = IDC_SIZENESW; break; + case GHOST_kStandardCursorBottomRightCorner: id = IDC_SIZENWSE; break; + case GHOST_kStandardCursorBottomLeftCorner: id = IDC_SIZENESW; break; + case GHOST_kStandardCursorPencil: id = IDC_ARROW; break; + case GHOST_kStandardCursorCopy: id = IDC_ARROW; break; default: - success = false; + success = false; } if (success) { @@ -1035,22 +1038,22 @@ GHOST_TSuccess GHOST_WindowWin32::setWindowCursorVisibility(bool visible) GHOST_TSuccess GHOST_WindowWin32::setWindowCursorGrab(GHOST_TGrabCursorMode mode) { - if(mode != GHOST_kGrabDisable) { - if(mode != GHOST_kGrabNormal) { + if (mode != GHOST_kGrabDisable) { + if (mode != GHOST_kGrabNormal) { m_system->getCursorPosition(m_cursorGrabInitPos[0], m_cursorGrabInitPos[1]); setCursorGrabAccum(0, 0); - if(mode == GHOST_kGrabHide) + if (mode == GHOST_kGrabHide) setWindowCursorVisibility(false); } registerMouseClickEvent(2); } else { - if (m_cursorGrab==GHOST_kGrabHide) { + if (m_cursorGrab == GHOST_kGrabHide) { m_system->setCursorPosition(m_cursorGrabInitPos[0], m_cursorGrabInitPos[1]); setWindowCursorVisibility(true); } - if(m_cursorGrab != GHOST_kGrabNormal) { + if (m_cursorGrab != GHOST_kGrabNormal) { /* use to generate a mouse move event, otherwise the last event * blender gets can be outside the screen causing menus not to show * properly unless the user moves the mouse */ @@ -1061,7 +1064,7 @@ GHOST_TSuccess GHOST_WindowWin32::setWindowCursorGrab(GHOST_TGrabCursorMode mode /* Almost works without but important otherwise the mouse GHOST location can be incorrect on exit */ setCursorGrabAccum(0, 0); - m_cursorGrabBounds.m_l= m_cursorGrabBounds.m_r= -1; /* disable */ + m_cursorGrabBounds.m_l = m_cursorGrabBounds.m_r = -1; /* disable */ registerMouseClickEvent(3); } @@ -1085,20 +1088,20 @@ GHOST_TSuccess GHOST_WindowWin32::setWindowCursorShape(GHOST_TStandardCursor cur void GHOST_WindowWin32::processWin32TabletInitEvent() { if (m_wintab) { - GHOST_WIN32_WTInfo fpWTInfo = ( GHOST_WIN32_WTInfo ) ::GetProcAddress( m_wintab, "WTInfoA" ); + GHOST_WIN32_WTInfo fpWTInfo = (GHOST_WIN32_WTInfo) ::GetProcAddress(m_wintab, "WTInfoA"); // let's see if we can initialize tablet here /* check if WinTab available. */ if (fpWTInfo) { AXIS Pressure, Orientation[3]; /* The maximum tablet size */ - BOOL pressureSupport = fpWTInfo (WTI_DEVICES, DVC_NPRESSURE, &Pressure); + BOOL pressureSupport = fpWTInfo(WTI_DEVICES, DVC_NPRESSURE, &Pressure); if (pressureSupport) m_maxPressure = Pressure.axMax; else m_maxPressure = 0; - BOOL tiltSupport = fpWTInfo (WTI_DEVICES, DVC_ORIENTATION, &Orientation); + BOOL tiltSupport = fpWTInfo(WTI_DEVICES, DVC_ORIENTATION, &Orientation); if (tiltSupport) { /* does the tablet support azimuth ([0]) and altitude ([1]) */ if (Orientation[0].axResolution && Orientation[1].axResolution) { @@ -1119,7 +1122,7 @@ void GHOST_WindowWin32::processWin32TabletEvent(WPARAM wParam, LPARAM lParam) { PACKET pkt; if (m_wintab) { - GHOST_WIN32_WTPacket fpWTPacket = ( GHOST_WIN32_WTPacket ) ::GetProcAddress( m_wintab, "WTPacket" ); + GHOST_WIN32_WTPacket fpWTPacket = (GHOST_WIN32_WTPacket) ::GetProcAddress(m_wintab, "WTPacket"); if (fpWTPacket) { if (fpWTPacket((HCTX)lParam, wParam, &pkt)) { if (m_tabletData) { @@ -1139,43 +1142,45 @@ void GHOST_WindowWin32::processWin32TabletEvent(WPARAM wParam, LPARAM lParam) } if (m_maxPressure > 0) { m_tabletData->Pressure = (float)pkt.pkNormalPressure / (float)m_maxPressure; - } else { + } + else { m_tabletData->Pressure = 1.0f; } if ((m_maxAzimuth > 0) && (m_maxAltitude > 0)) { ORIENTATION ort = pkt.pkOrientation; float vecLen; - float altRad, azmRad; /* in radians */ + float altRad, azmRad; /* in radians */ /* - from the wintab spec: - orAzimuth Specifies the clockwise rotation of the - cursor about the z axis through a full circular range. - - orAltitude Specifies the angle with the x-y plane - through a signed, semicircular range. Positive values - specify an angle upward toward the positive z axis; - negative values specify an angle downward toward the negative z axis. - - wintab.h defines .orAltitude as a UINT but documents .orAltitude - as positive for upward angles and negative for downward angles. - WACOM uses negative altitude values to show that the pen is inverted; - therefore we cast .orAltitude as an (int) and then use the absolute value. - */ + * from the wintab spec: + * orAzimuth Specifies the clockwise rotation of the + * cursor about the z axis through a full circular range. + * + * orAltitude Specifies the angle with the x-y plane + * through a signed, semicircular range. Positive values + * specify an angle upward toward the positive z axis; + * negative values specify an angle downward toward the negative z axis. + * + * wintab.h defines .orAltitude as a UINT but documents .orAltitude + * as positive for upward angles and negative for downward angles. + * WACOM uses negative altitude values to show that the pen is inverted; + * therefore we cast .orAltitude as an (int) and then use the absolute value. + */ /* convert raw fixed point data to radians */ - altRad = (float)((fabs((float)ort.orAltitude)/(float)m_maxAltitude) * M_PI/2.0); - azmRad = (float)(((float)ort.orAzimuth/(float)m_maxAzimuth) * M_PI*2.0); + altRad = (float)((fabs((float)ort.orAltitude) / (float)m_maxAltitude) * M_PI / 2.0); + azmRad = (float)(((float)ort.orAzimuth / (float)m_maxAzimuth) * M_PI * 2.0); /* find length of the stylus' projected vector on the XY plane */ vecLen = cos(altRad); /* from there calculate X and Y components based on azimuth */ m_tabletData->Xtilt = sin(azmRad) * vecLen; - m_tabletData->Ytilt = (float)(sin(M_PI/2.0 - azmRad) * vecLen); + m_tabletData->Ytilt = (float)(sin(M_PI / 2.0 - azmRad) * vecLen); - } else { + } + else { m_tabletData->Xtilt = 0.0f; m_tabletData->Ytilt = 0.0f; } @@ -1188,40 +1193,40 @@ void GHOST_WindowWin32::processWin32TabletEvent(WPARAM wParam, LPARAM lParam) /** Reverse the bits in a GHOST_TUns8 */ static GHOST_TUns8 uns8ReverseBits(GHOST_TUns8 ch) { - ch= ((ch>>1)&0x55) | ((ch<<1)&0xAA); - ch= ((ch>>2)&0x33) | ((ch<<2)&0xCC); - ch= ((ch>>4)&0x0F) | ((ch<<4)&0xF0); + ch = ((ch >> 1) & 0x55) | ((ch << 1) & 0xAA); + ch = ((ch >> 2) & 0x33) | ((ch << 2) & 0xCC); + ch = ((ch >> 4) & 0x0F) | ((ch << 4) & 0xF0); return ch; } /** Reverse the bits in a GHOST_TUns16 */ static GHOST_TUns16 uns16ReverseBits(GHOST_TUns16 shrt) { - shrt= ((shrt>>1)&0x5555) | ((shrt<<1)&0xAAAA); - shrt= ((shrt>>2)&0x3333) | ((shrt<<2)&0xCCCC); - shrt= ((shrt>>4)&0x0F0F) | ((shrt<<4)&0xF0F0); - shrt= ((shrt>>8)&0x00FF) | ((shrt<<8)&0xFF00); + shrt = ((shrt >> 1) & 0x5555) | ((shrt << 1) & 0xAAAA); + shrt = ((shrt >> 2) & 0x3333) | ((shrt << 2) & 0xCCCC); + shrt = ((shrt >> 4) & 0x0F0F) | ((shrt << 4) & 0xF0F0); + shrt = ((shrt >> 8) & 0x00FF) | ((shrt << 8) & 0xFF00); return shrt; } GHOST_TSuccess GHOST_WindowWin32::setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2], GHOST_TUns8 mask[16][2], int hotX, int hotY) { - return setWindowCustomCursorShape((GHOST_TUns8*)bitmap, (GHOST_TUns8*)mask, + return setWindowCustomCursorShape((GHOST_TUns8 *)bitmap, (GHOST_TUns8 *)mask, 16, 16, hotX, hotY, 0, 1); } GHOST_TSuccess GHOST_WindowWin32::setWindowCustomCursorShape(GHOST_TUns8 *bitmap, - GHOST_TUns8 *mask, int sizeX, int sizeY, int hotX, int hotY, - int fg_color, int bg_color) + GHOST_TUns8 *mask, int sizeX, int sizeY, int hotX, int hotY, + int fg_color, int bg_color) { GHOST_TUns32 andData[32]; GHOST_TUns32 xorData[32]; GHOST_TUns32 fullBitRow, fullMaskRow; int x, y, cols; - cols=sizeX/8; /* Num of whole bytes per row (width of bm/mask) */ - if (sizeX%8) cols++; + cols = sizeX / 8; /* Num of whole bytes per row (width of bm/mask) */ + if (sizeX % 8) cols++; if (m_customCursor) { DestroyCursor(m_customCursor); @@ -1231,17 +1236,17 @@ GHOST_TSuccess GHOST_WindowWin32::setWindowCustomCursorShape(GHOST_TUns8 *bitmap memset(&andData, 0xFF, sizeof(andData)); memset(&xorData, 0, sizeof(xorData)); - for (y=0; y<sizeY; y++) { - fullBitRow=0; - fullMaskRow=0; - for (x=cols-1; x>=0; x--){ - fullBitRow<<=8; - fullMaskRow<<=8; - fullBitRow |= uns8ReverseBits(bitmap[cols*y + x]); - fullMaskRow |= uns8ReverseBits( mask[cols*y + x]); + for (y = 0; y < sizeY; y++) { + fullBitRow = 0; + fullMaskRow = 0; + for (x = cols - 1; x >= 0; x--) { + fullBitRow <<= 8; + fullMaskRow <<= 8; + fullBitRow |= uns8ReverseBits(bitmap[cols * y + x]); + fullMaskRow |= uns8ReverseBits(mask[cols * y + x]); } - xorData[y]= fullBitRow & fullMaskRow; - andData[y]= ~fullMaskRow; + xorData[y] = fullBitRow & fullMaskRow; + andData[y] = ~fullMaskRow; } m_customCursor = ::CreateCursor(::GetModuleHandle(0), hotX, hotY, 32, 32, andData, xorData); @@ -1260,7 +1265,7 @@ GHOST_TSuccess GHOST_WindowWin32::setWindowCustomCursorShape(GHOST_TUns8 *bitmap GHOST_TSuccess GHOST_WindowWin32::setProgressBar(float progress) { /*SetProgressValue sets state to TBPF_NORMAL automaticly*/ - if(m_Bar && S_OK == m_Bar->SetProgressValue(m_hWnd,10000*progress,10000)) + if (m_Bar && S_OK == m_Bar->SetProgressValue(m_hWnd, 10000 * progress, 10000)) return GHOST_kSuccess; return GHOST_kFailure; @@ -1268,14 +1273,14 @@ GHOST_TSuccess GHOST_WindowWin32::setProgressBar(float progress) GHOST_TSuccess GHOST_WindowWin32::endProgressBar() { - if(m_Bar && S_OK == m_Bar->SetProgressState(m_hWnd,TBPF_NOPROGRESS)) + if (m_Bar && S_OK == m_Bar->SetProgressState(m_hWnd, TBPF_NOPROGRESS)) return GHOST_kSuccess; return GHOST_kFailure; } /* Ron Fosner's code for weighting pixel formats and forcing software. - See http://www.opengl.org/resources/faq/technical/weight.cpp */ + See http://www.opengl.org/resources/faq/technical/weight.cpp */ static int WeightPixelFormat(PIXELFORMATDESCRIPTOR& pfd) { @@ -1285,12 +1290,14 @@ static int WeightPixelFormat(PIXELFORMATDESCRIPTOR& pfd) /* cull unusable pixel formats */ /* if no formats can be found, can we determine why it was rejected? */ - if( !(pfd.dwFlags & PFD_SUPPORT_OPENGL) || - !(pfd.dwFlags & PFD_DRAW_TO_WINDOW) || - !(pfd.dwFlags & PFD_DOUBLEBUFFER) || /* Blender _needs_ this */ - ( pfd.cDepthBits <= 8 ) || - !(pfd.iPixelType == PFD_TYPE_RGBA)) + if (!(pfd.dwFlags & PFD_SUPPORT_OPENGL) || + !(pfd.dwFlags & PFD_DRAW_TO_WINDOW) || + !(pfd.dwFlags & PFD_DOUBLEBUFFER) || /* Blender _needs_ this */ + (pfd.cDepthBits <= 8) || + !(pfd.iPixelType == PFD_TYPE_RGBA)) + { return 0; + } weight = 1; /* it's usable */ @@ -1301,10 +1308,10 @@ static int WeightPixelFormat(PIXELFORMATDESCRIPTOR& pfd) weight += pfd.cColorBits - 8; /* want swap copy capability -- it matters a lot */ - if(pfd.dwFlags & PFD_SWAP_COPY) weight += 16; + if (pfd.dwFlags & PFD_SWAP_COPY) weight += 16; /* but if it's a generic (not accelerated) view, it's really bad */ - if(pfd.dwFlags & PFD_GENERIC_FORMAT) weight /= 10; + if (pfd.dwFlags & PFD_GENERIC_FORMAT) weight /= 10; return weight; } @@ -1318,27 +1325,27 @@ static int EnumPixelFormats(HDC hdc) PIXELFORMATDESCRIPTOR pfd; /* we need a device context to do anything */ - if(!hdc) return 0; + if (!hdc) return 0; iPixelFormat = 1; /* careful! PFD numbers are 1 based, not zero based */ /* obtain detailed information about - the device context's first pixel format */ - n = 1+::DescribePixelFormat(hdc, iPixelFormat, - sizeof(PIXELFORMATDESCRIPTOR), &pfd); + * the device context's first pixel format */ + n = 1 + ::DescribePixelFormat(hdc, iPixelFormat, + sizeof(PIXELFORMATDESCRIPTOR), &pfd); /* choose a pixel format using the useless Windows function in case - we come up empty handed */ - iPixelFormat = ::ChoosePixelFormat( hdc, &sPreferredFormat ); + we come up empty handed */ + iPixelFormat = ::ChoosePixelFormat(hdc, &sPreferredFormat); - if(!iPixelFormat) return 0; /* couldn't find one to use */ + if (!iPixelFormat) return 0; /* couldn't find one to use */ - for(i=1; i<=n; i++) { /* not the idiom, but it's right */ - ::DescribePixelFormat( hdc, i, sizeof(PIXELFORMATDESCRIPTOR), &pfd ); + for (i = 1; i <= n; i++) { /* not the idiom, but it's right */ + ::DescribePixelFormat(hdc, i, sizeof(PIXELFORMATDESCRIPTOR), &pfd); w = WeightPixelFormat(pfd); // be strict on stereo - if (!((sPreferredFormat.dwFlags ^ pfd.dwFlags) & PFD_STEREO)) { - if(w > weight) { + if (!((sPreferredFormat.dwFlags ^ pfd.dwFlags) & PFD_STEREO)) { + if (w > weight) { weight = w; iPixelFormat = i; } @@ -1346,10 +1353,10 @@ static int EnumPixelFormats(HDC hdc) } if (weight == 0) { // we could find the correct stereo setting, just find any suitable format - for(i=1; i<=n; i++) { /* not the idiom, but it's right */ - ::DescribePixelFormat( hdc, i, sizeof(PIXELFORMATDESCRIPTOR), &pfd ); + for (i = 1; i <= n; i++) { /* not the idiom, but it's right */ + ::DescribePixelFormat(hdc, i, sizeof(PIXELFORMATDESCRIPTOR), &pfd); w = WeightPixelFormat(pfd); - if(w > weight) { + if (w > weight) { weight = w; iPixelFormat = i; } diff --git a/intern/ghost/intern/GHOST_WindowWin32.h b/intern/ghost/intern/GHOST_WindowWin32.h index c8e88c8d844..28ba470f75a 100644 --- a/intern/ghost/intern/GHOST_WindowWin32.h +++ b/intern/ghost/intern/GHOST_WindowWin32.h @@ -46,18 +46,18 @@ #include <wintab.h> -#define PACKETDATA (PK_BUTTONS | PK_NORMAL_PRESSURE | PK_ORIENTATION | PK_CURSOR) -#define PACKETMODE PK_BUTTONS +#define PACKETDATA (PK_BUTTONS | PK_NORMAL_PRESSURE | PK_ORIENTATION | PK_CURSOR) +#define PACKETMODE PK_BUTTONS #include <pktdef.h> class GHOST_SystemWin32; class GHOST_DropTargetWin32; // typedefs for WinTab functions to allow dynamic loading -typedef UINT (API * GHOST_WIN32_WTInfo) ( UINT, UINT, LPVOID ); -typedef HCTX (API * GHOST_WIN32_WTOpen) (HWND, LPLOGCONTEXTA, BOOL); -typedef BOOL (API * GHOST_WIN32_WTClose) (HCTX); -typedef BOOL (API * GHOST_WIN32_WTPacket) (HCTX, UINT, LPVOID); +typedef UINT (API * GHOST_WIN32_WTInfo)(UINT, UINT, LPVOID); +typedef HCTX (API * GHOST_WIN32_WTOpen)(HWND, LPLOGCONTEXTA, BOOL); +typedef BOOL (API * GHOST_WIN32_WTClose)(HCTX); +typedef BOOL (API * GHOST_WIN32_WTPacket)(HCTX, UINT, LPVOID); /** * GHOST window on M$ Windows OSs. @@ -81,20 +81,20 @@ public: * @param numOfAASamples Number of samples used for AA (zero if no AA) */ GHOST_WindowWin32( - GHOST_SystemWin32 * system, - const STR_String& title, - GHOST_TInt32 left, - GHOST_TInt32 top, - GHOST_TUns32 width, - GHOST_TUns32 height, - GHOST_TWindowState state, - GHOST_TDrawingContextType type = GHOST_kDrawingContextTypeNone, - const bool stereoVisual = false, - const GHOST_TUns16 numOfAASamples = 0, - GHOST_TEmbedderWindowID parentWindowHwnd=0, - GHOST_TSuccess msEnabled = GHOST_kFailure, - int msPixelFormat = 0 - ); + GHOST_SystemWin32 *system, + const STR_String& title, + GHOST_TInt32 left, + GHOST_TInt32 top, + GHOST_TUns32 width, + GHOST_TUns32 height, + GHOST_TWindowState state, + GHOST_TDrawingContextType type = GHOST_kDrawingContextTypeNone, + const bool stereoVisual = false, + const GHOST_TUns16 numOfAASamples = 0, + GHOST_TEmbedderWindowID parentWindowHwnd = 0, + GHOST_TSuccess msEnabled = GHOST_kFailure, + int msPixelFormat = 0 + ); /** * Destructor. @@ -113,7 +113,7 @@ public: * Returns indication as to whether the window is valid. * @return The validity of the window. */ - virtual bool getValid() const; + virtual bool getValid() const; /** * Access to the handle of the window. @@ -138,33 +138,33 @@ public: * The dimensions are given in screen coordinates that are relative to the upper-left corner of the screen. * @param bounds The bounding rectangle of the window. */ - virtual void getWindowBounds(GHOST_Rect& bounds) const; + virtual void getWindowBounds(GHOST_Rect& bounds) const; /** * Returns the client rectangle dimensions. * The left and top members of the rectangle are always zero. * @param bounds The bounding rectangle of the cleient area of the window. */ - virtual void getClientBounds(GHOST_Rect& bounds) const; + virtual void getClientBounds(GHOST_Rect& bounds) const; /** * Resizes client rectangle width. * @param width The new width of the client area of the window. */ - virtual GHOST_TSuccess setClientWidth(GHOST_TUns32 width); + virtual GHOST_TSuccess setClientWidth(GHOST_TUns32 width); /** * Resizes client rectangle height. * @param height The new height of the client area of the window. */ - virtual GHOST_TSuccess setClientHeight(GHOST_TUns32 height); + virtual GHOST_TSuccess setClientHeight(GHOST_TUns32 height); /** * Resizes client rectangle. * @param width The new width of the client area of the window. * @param height The new height of the client area of the window. */ - virtual GHOST_TSuccess setClientSize(GHOST_TUns32 width, GHOST_TUns32 height); + virtual GHOST_TSuccess setClientSize(GHOST_TUns32 width, GHOST_TUns32 height); /** * Returns the state of the window (normal, minimized, maximized). @@ -179,7 +179,7 @@ public: * @param outX The x-coordinate in the client rectangle. * @param outY The y-coordinate in the client rectangle. */ - virtual void screenToClient(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const; + virtual void screenToClient(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const; /** * Converts a point in screen coordinates to client rectangle coordinates @@ -188,7 +188,7 @@ public: * @param outX The x-coordinate on the screen. * @param outY The y-coordinate on the screen. */ - virtual void clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const; + virtual void clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const; /** * Sets the state of the window (normal, minimized, maximized). @@ -222,7 +222,7 @@ public: virtual GHOST_TSuccess invalidate(); /** - * Sets the progress bar value displayed in the window/application icon + * Sets the progress bar value displayed in the window/application icon * @param progress The progress % */ virtual GHOST_TSuccess setProgressBar(float progress); @@ -236,7 +236,9 @@ public: * Returns the name of the window class. * @return The name of the window class. */ - static wchar_t* getWindowClassName() { return s_windowClassName; } + static wchar_t *getWindowClassName() { + return s_windowClassName; + } /** * Register a mouse click event (should be called @@ -264,8 +266,10 @@ public: */ void loadCursor(bool visible, GHOST_TStandardCursor cursorShape) const; - const GHOST_TabletData* GetTabletData() - { return m_tabletData; } + const GHOST_TabletData *GetTabletData() + { + return m_tabletData; + } void processWin32TabletInitEvent(); void processWin32TabletEvent(WPARAM wParam, LPARAM lParam); @@ -314,20 +318,20 @@ protected: int hotX, int hotY); virtual GHOST_TSuccess setWindowCustomCursorShape( - GHOST_TUns8 *bitmap, - GHOST_TUns8 *mask, - int sizex, - int sizey, - int hotX, - int hotY, - int fg_color, - int bg_color - ); + GHOST_TUns8 *bitmap, + GHOST_TUns8 *mask, + int sizex, + int sizey, + int hotX, + int hotY, + int fg_color, + int bg_color + ); /** Pointer to system */ - GHOST_SystemWin32 * m_system; + GHOST_SystemWin32 *m_system; /** Pointer to COM IDropTarget implementor */ - GHOST_DropTargetWin32 * m_dropTarget; + GHOST_DropTargetWin32 *m_dropTarget; /** Window handle. */ HWND m_hWnd; /** Device context handle. */ @@ -349,16 +353,16 @@ protected: HCURSOR m_customCursor; /** ITaskbarList3 structure for progress bar*/ - ITaskbarList3 * m_Bar; + ITaskbarList3 *m_Bar; - static wchar_t* s_windowClassName; + static wchar_t *s_windowClassName; static const int s_maxTitleLength; /** WinTab dll handle */ HMODULE m_wintab; /** Tablet data for GHOST */ - GHOST_TabletData* m_tabletData; + GHOST_TabletData *m_tabletData; /** Stores the Tablet context if detected Tablet features using WinTab.dll */ HCTX m_tablet; diff --git a/intern/ghost/intern/GHOST_WindowX11.cpp b/intern/ghost/intern/GHOST_WindowX11.cpp index 12990064621..1f4111c8cf3 100644 --- a/intern/ghost/intern/GHOST_WindowX11.cpp +++ b/intern/ghost/intern/GHOST_WindowX11.cpp @@ -271,11 +271,11 @@ GHOST_WindowX11( // Specify which events we are interested in hearing. xattributes.event_mask = - ExposureMask | StructureNotifyMask | - KeyPressMask | KeyReleaseMask | - EnterWindowMask | LeaveWindowMask | - ButtonPressMask | ButtonReleaseMask | - PointerMotionMask | FocusChangeMask | PropertyChangeMask; + ExposureMask | StructureNotifyMask | + KeyPressMask | KeyReleaseMask | + EnterWindowMask | LeaveWindowMask | + ButtonPressMask | ButtonReleaseMask | + PointerMotionMask | FocusChangeMask | PropertyChangeMask; // create the window! @@ -833,12 +833,12 @@ clientToScreen( Window temp; XTranslateCoordinates( - m_display, - m_window, - RootWindow(m_display, m_visual->screen), - inX, inY, - &ax, &ay, - &temp); + m_display, + m_window, + RootWindow(m_display, m_visual->screen), + inX, inY, + &ax, &ay, + &temp); outX = ax; outY = ay; } diff --git a/intern/ghost/test/gears/GHOST_C-Test.c b/intern/ghost/test/gears/GHOST_C-Test.c index b26d8e09430..4086fbba730 100644 --- a/intern/ghost/test/gears/GHOST_C-Test.c +++ b/intern/ghost/test/gears/GHOST_C-Test.c @@ -46,22 +46,22 @@ #include "GHOST_C-api.h" #if defined(WIN32) || defined(__APPLE__) - #ifdef WIN32 - #include <windows.h> - #include <GL/gl.h> - #else /* WIN32 */ - /* __APPLE__ is defined */ - #include <AGL/gl.h> - #endif /* WIN32 */ +# ifdef WIN32 +# include <windows.h> +# include <GL/gl.h> +# else /* WIN32 */ + /* __APPLE__ is defined */ +# include <AGL/gl.h> +# endif /* WIN32 */ #else /* defined(WIN32) || defined(__APPLE__) */ - #include <GL/gl.h> +# include <GL/gl.h> #endif /* defined(WIN32) || defined(__APPLE__) */ static void gearsTimerProc(GHOST_TimerTaskHandle task, GHOST_TUns64 time); int processEvent(GHOST_EventHandle hEvent, GHOST_TUserDataPtr userData); -static GLfloat view_rotx=20.0, view_roty=30.0, view_rotz=0.0; +static GLfloat view_rotx = 20.0, view_roty = 30.0, view_rotz = 0.0; static GLfloat fAngle = 0.0; static int sExitRequested = 0; static GHOST_SystemHandle shSystem = NULL; @@ -87,34 +87,34 @@ static void gearGL(GLfloat inner_radius, GLfloat outer_radius, GLfloat width, GL const double pi = 3.14159264; r0 = inner_radius; - r1 = (float)(outer_radius - tooth_depth/2.0); - r2 = (float)(outer_radius + tooth_depth/2.0); + r1 = (float)(outer_radius - tooth_depth / 2.0); + r2 = (float)(outer_radius + tooth_depth / 2.0); - da = (float)(2.0*pi / teeth / 4.0); + da = (float)(2.0 * pi / teeth / 4.0); glShadeModel(GL_FLAT); glNormal3f(0.0, 0.0, 1.0); /* draw front face */ glBegin(GL_QUAD_STRIP); - for (i=0;i<=teeth;i++) { - angle = (float)(i * 2.0*pi / teeth); - glVertex3f((float)(r0*cos(angle)), (float)(r0*sin(angle)), (float)(width*0.5)); - glVertex3f((float)(r1*cos(angle)), (float)(r1*sin(angle)), (float)(width*0.5)); - glVertex3f((float)(r0*cos(angle)), (float)(r0*sin(angle)), (float)(width*0.5)); - glVertex3f((float)(r1*cos(angle+3*da)), (float)(r1*sin(angle+3*da)), (float)(width*0.5)); + for (i = 0; i <= teeth; i++) { + angle = (float)(i * 2.0 * pi / teeth); + glVertex3f((float)(r0 * cos(angle)), (float)(r0 * sin(angle)), (float)(width * 0.5)); + glVertex3f((float)(r1 * cos(angle)), (float)(r1 * sin(angle)), (float)(width * 0.5)); + glVertex3f((float)(r0 * cos(angle)), (float)(r0 * sin(angle)), (float)(width * 0.5)); + glVertex3f((float)(r1 * cos(angle + 3 * da)), (float)(r1 * sin(angle + 3 * da)), (float)(width * 0.5)); } glEnd(); /* draw front sides of teeth */ glBegin(GL_QUADS); - da = (float)(2.0*pi / teeth / 4.0); - for (i=0;i<teeth;i++) { - angle = (float)(i * 2.0*pi / teeth); - glVertex3f((float)(r1*cos(angle)), (float)(r1*sin(angle)), (float)(width*0.5)); - glVertex3f((float)(r2*cos(angle+da)), (float)(r2*sin(angle+da)), (float)(width*0.5)); - glVertex3f((float)(r2*cos(angle+2*da)), (float)(r2*sin(angle+2*da)), (float)(width*0.5)); - glVertex3f((float)(r1*cos(angle+3*da)), (float)(r1*sin(angle+3*da)), (float)(width*0.5)); + da = (float)(2.0 * pi / teeth / 4.0); + for (i = 0; i < teeth; i++) { + angle = (float)(i * 2.0 * pi / teeth); + glVertex3f((float)(r1 * cos(angle)), (float)(r1 * sin(angle)), (float)(width * 0.5)); + glVertex3f((float)(r2 * cos(angle + da)), (float)(r2 * sin(angle + da)), (float)(width * 0.5)); + glVertex3f((float)(r2 * cos(angle + 2 * da)), (float)(r2 * sin(angle + 2 * da)), (float)(width * 0.5)); + glVertex3f((float)(r1 * cos(angle + 3 * da)), (float)(r1 * sin(angle + 3 * da)), (float)(width * 0.5)); } glEnd(); @@ -122,64 +122,64 @@ static void gearGL(GLfloat inner_radius, GLfloat outer_radius, GLfloat width, GL /* draw back face */ glBegin(GL_QUAD_STRIP); - for (i=0;i<=teeth;i++) { - angle = (float)(i * 2.0*pi / teeth); - glVertex3f((float)(r1*cos(angle)), (float)(r1*sin(angle)), (float)(-width*0.5)); - glVertex3f((float)(r0*cos(angle)), (float)(r0*sin(angle)), (float)(-width*0.5)); - glVertex3f((float)(r1*cos(angle+3*da)), (float)(r1*sin(angle+3*da)), (float)(-width*0.5)); - glVertex3f((float)(r0*cos(angle)), (float)(r0*sin(angle)), (float)(-width*0.5)); + for (i = 0; i <= teeth; i++) { + angle = (float)(i * 2.0 * pi / teeth); + glVertex3f((float)(r1 * cos(angle)), (float)(r1 * sin(angle)), (float)(-width * 0.5)); + glVertex3f((float)(r0 * cos(angle)), (float)(r0 * sin(angle)), (float)(-width * 0.5)); + glVertex3f((float)(r1 * cos(angle + 3 * da)), (float)(r1 * sin(angle + 3 * da)), (float)(-width * 0.5)); + glVertex3f((float)(r0 * cos(angle)), (float)(r0 * sin(angle)), (float)(-width * 0.5)); } glEnd(); /* draw back sides of teeth */ glBegin(GL_QUADS); - da = (float)(2.0*pi / teeth / 4.0); - for (i=0;i<teeth;i++) { - angle = (float)(i * 2.0*pi / teeth); - glVertex3f((float)(r1*cos(angle+3*da)), (float)(r1*sin(angle+3*da)), (float)(-width*0.5)); - glVertex3f((float)(r2*cos(angle+2*da)), (float)(r2*sin(angle+2*da)), (float)(-width*0.5)); - glVertex3f((float)(r2*cos(angle+da)), (float)(r2*sin(angle+da)), (float)(-width*0.5)); - glVertex3f((float)(r1*cos(angle)), (float)(r1*sin(angle)), (float)(-width*0.5)); + da = (float)(2.0 * pi / teeth / 4.0); + for (i = 0; i < teeth; i++) { + angle = (float)(i * 2.0 * pi / teeth); + glVertex3f((float)(r1 * cos(angle + 3 * da)), (float)(r1 * sin(angle + 3 * da)), (float)(-width * 0.5)); + glVertex3f((float)(r2 * cos(angle + 2 * da)), (float)(r2 * sin(angle + 2 * da)), (float)(-width * 0.5)); + glVertex3f((float)(r2 * cos(angle + da)), (float)(r2 * sin(angle + da)), (float)(-width * 0.5)); + glVertex3f((float)(r1 * cos(angle)), (float)(r1 * sin(angle)), (float)(-width * 0.5)); } glEnd(); /* draw outward faces of teeth */ glBegin(GL_QUAD_STRIP); - for (i=0;i<teeth;i++) { - angle = (float)(i * 2.0*pi / teeth); - glVertex3f((float)(r1*cos(angle)), (float)(r1*sin(angle)), (float)(width*0.5)); - glVertex3f((float)(r1*cos(angle)), (float)(r1*sin(angle)), (float)(-width*0.5)); - u = (float)(r2*cos(angle+da) - r1*cos(angle)); - v = (float)(r2*sin(angle+da) - r1*sin(angle)); - len = (float)(sqrt(u*u + v*v)); + for (i = 0; i < teeth; i++) { + angle = (float)(i * 2.0 * pi / teeth); + glVertex3f((float)(r1 * cos(angle)), (float)(r1 * sin(angle)), (float)(width * 0.5)); + glVertex3f((float)(r1 * cos(angle)), (float)(r1 * sin(angle)), (float)(-width * 0.5)); + u = (float)(r2 * cos(angle + da) - r1 * cos(angle)); + v = (float)(r2 * sin(angle + da) - r1 * sin(angle)); + len = (float)(sqrt(u * u + v * v)); u /= len; v /= len; glNormal3f(v, -u, 0.0); - glVertex3f((float)(r2*cos(angle+da)), (float)(r2*sin(angle+da)), (float)(width*0.5)); - glVertex3f((float)(r2*cos(angle+da)), (float)(r2*sin(angle+da)), (float)(-width*0.5)); + glVertex3f((float)(r2 * cos(angle + da)), (float)(r2 * sin(angle + da)), (float)(width * 0.5)); + glVertex3f((float)(r2 * cos(angle + da)), (float)(r2 * sin(angle + da)), (float)(-width * 0.5)); glNormal3f((float)(cos(angle)), (float)(sin(angle)), 0.0); - glVertex3f((float)(r2*cos(angle+2*da)), (float)(r2*sin(angle+2*da)), (float)(width*0.5)); - glVertex3f((float)(r2*cos(angle+2*da)), (float)(r2*sin(angle+2*da)), (float)(-width*0.5)); - u = (float)(r1*cos(angle+3*da) - r2*cos(angle+2*da)); - v = (float)(r1*sin(angle+3*da) - r2*sin(angle+2*da)); + glVertex3f((float)(r2 * cos(angle + 2 * da)), (float)(r2 * sin(angle + 2 * da)), (float)(width * 0.5)); + glVertex3f((float)(r2 * cos(angle + 2 * da)), (float)(r2 * sin(angle + 2 * da)), (float)(-width * 0.5)); + u = (float)(r1 * cos(angle + 3 * da) - r2 * cos(angle + 2 * da)); + v = (float)(r1 * sin(angle + 3 * da) - r2 * sin(angle + 2 * da)); glNormal3f(v, -u, 0.0); - glVertex3f((float)(r1*cos(angle+3*da)), (float)(r1*sin(angle+3*da)), (float)(width*0.5)); - glVertex3f((float)(r1*cos(angle+3*da)), (float)(r1*sin(angle+3*da)), (float)(-width*0.5)); + glVertex3f((float)(r1 * cos(angle + 3 * da)), (float)(r1 * sin(angle + 3 * da)), (float)(width * 0.5)); + glVertex3f((float)(r1 * cos(angle + 3 * da)), (float)(r1 * sin(angle + 3 * da)), (float)(-width * 0.5)); glNormal3f((float)(cos(angle)), (float)(sin(angle)), 0.0); } - glVertex3f((float)(r1*cos(0.0)), (float)(r1*sin(0.0)), (float)(width*0.5)); - glVertex3f((float)(r1*cos(0.0)), (float)(r1*sin(0.0)), (float)(-width*0.5)); + glVertex3f((float)(r1 * cos(0.0)), (float)(r1 * sin(0.0)), (float)(width * 0.5)); + glVertex3f((float)(r1 * cos(0.0)), (float)(r1 * sin(0.0)), (float)(-width * 0.5)); glEnd(); glShadeModel(GL_SMOOTH); /* draw inside radius cylinder */ glBegin(GL_QUAD_STRIP); - for (i=0;i<=teeth;i++) { - angle = (float)(i * 2.0*pi / teeth); + for (i = 0; i <= teeth; i++) { + angle = (float)(i * 2.0 * pi / teeth); glNormal3f((float)(-cos(angle)), (float)(-sin(angle)), 0.0); - glVertex3f((float)(r0*cos(angle)), (float)(r0*sin(angle)), (float)(-width*0.5)); - glVertex3f((float)(r0*cos(angle)), (float)(r0*sin(angle)), (float)(width*0.5)); + glVertex3f((float)(r0 * cos(angle)), (float)(r0 * sin(angle)), (float)(-width * 0.5)); + glVertex3f((float)(r0 * cos(angle)), (float)(r0 * sin(angle)), (float)(width * 0.5)); } glEnd(); } @@ -201,20 +201,20 @@ static void drawGearGL(int id) switch (id) { - case 1: - glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, ared); - gearGL(1.0f, 4.0f, 1.0f, 20, 0.7f); - break; - case 2: - glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, agreen); - gearGL(0.5f, 2.0f, 2.0f, 10, 0.7f); - break; - case 3: - glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, ablue); - gearGL(1.3f, 2.0f, 0.5f, 10, 0.7f); - break; - default: - break; + case 1: + glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, ared); + gearGL(1.0f, 4.0f, 1.0f, 20, 0.7f); + break; + case 2: + glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, agreen); + gearGL(0.5f, 2.0f, 2.0f, 10, 0.7f); + break; + case 3: + glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, ablue); + gearGL(1.3f, 2.0f, 0.5f, 10, 0.7f); + break; + default: + break; } glEnable(GL_NORMALIZE); } @@ -238,14 +238,14 @@ static void drawGL(void) glPushMatrix(); glTranslatef(3.1f, -2.0f, 0.0f); - glRotatef((float)(-2.0*fAngle-9.0), 0.0, 0.0, 1.0); + glRotatef((float)(-2.0 * fAngle - 9.0), 0.0, 0.0, 1.0); drawGearGL(2); glPopMatrix(); glPushMatrix(); glTranslatef(-3.1f, 2.2f, -1.8f); glRotatef(90.0f, 1.0f, 0.0f, 0.0f); - glRotatef((float)(2.0*fAngle-2.0), 0.0, 0.0, 1.0); + glRotatef((float)(2.0 * fAngle - 2.0), 0.0, 0.0, 1.0); drawGearGL(3); glPopMatrix(); @@ -274,7 +274,7 @@ static void setViewPortGL(GHOST_WindowHandle hWindow) glLoadIdentity(); glTranslatef(0.0, 0.0, -40.0); - glClearColor(.2f,0.0f,0.0f,0.0f); + glClearColor(.2f, 0.0f, 0.0f, 0.0f); glClear(GL_COLOR_BUFFER_BIT); GHOST_DisposeRectangle(hRect); @@ -287,44 +287,43 @@ int processEvent(GHOST_EventHandle hEvent, GHOST_TUserDataPtr userData) int handled = 1; int cursor; int visibility; - GHOST_TEventKeyData* keyData = NULL; - GHOST_TEventWheelData* wheelData = NULL; + GHOST_TEventKeyData *keyData = NULL; + GHOST_TEventWheelData *wheelData = NULL; GHOST_DisplaySetting setting; GHOST_WindowHandle window = GHOST_GetEventWindow(hEvent); switch (GHOST_GetEventType(hEvent)) { - /* - case GHOST_kEventUnknown: - break; - case GHOST_kEventCursorButton: - break; - case GHOST_kEventCursorMove: - break; - */ - case GHOST_kEventWheel: - { - wheelData = (GHOST_TEventWheelData*)GHOST_GetEventData(hEvent); - if (wheelData->z > 0) + /* + case GHOST_kEventUnknown: + break; + case GHOST_kEventCursorButton: + break; + case GHOST_kEventCursorMove: + break; + */ + case GHOST_kEventWheel: { - view_rotz += 5.f; - } - else - { - view_rotz -= 5.f; - } + wheelData = (GHOST_TEventWheelData *)GHOST_GetEventData(hEvent); + if (wheelData->z > 0) + { + view_rotz += 5.f; + } + else { + view_rotz -= 5.f; + } } break; - case GHOST_kEventKeyUp: - break; + case GHOST_kEventKeyUp: + break; - case GHOST_kEventKeyDown: + case GHOST_kEventKeyDown: { - keyData = (GHOST_TEventKeyData*)GHOST_GetEventData(hEvent); + keyData = (GHOST_TEventKeyData *)GHOST_GetEventData(hEvent); switch (keyData->key) { - case GHOST_kKeyC: + case GHOST_kKeyC: { cursor = sCursor; cursor++; @@ -336,62 +335,60 @@ int processEvent(GHOST_EventHandle hEvent, GHOST_TUserDataPtr userData) GHOST_SetCursorShape(window, sCursor); } break; - case GHOST_kKeyF: - if (!GHOST_GetFullScreen(shSystem)) - { - /* Begin fullscreen mode */ - setting.bpp = 24; - setting.frequency = 85; - setting.xPixels = 640; - setting.yPixels = 480; - - /* - setting.bpp = 16; - setting.frequency = 75; - setting.xPixels = 640; - setting.yPixels = 480; - */ - - sFullScreenWindow = GHOST_BeginFullScreen(shSystem, &setting, - - FALSE /* stereo flag */); - } - else - { - GHOST_EndFullScreen(shSystem); - sFullScreenWindow = 0; - } - break; - case GHOST_kKeyH: + case GHOST_kKeyF: + if (!GHOST_GetFullScreen(shSystem)) + { + /* Begin fullscreen mode */ + setting.bpp = 24; + setting.frequency = 85; + setting.xPixels = 640; + setting.yPixels = 480; + + /* + setting.bpp = 16; + setting.frequency = 75; + setting.xPixels = 640; + setting.yPixels = 480; + */ + + sFullScreenWindow = GHOST_BeginFullScreen(shSystem, &setting, + + FALSE /* stereo flag */); + } + else { + GHOST_EndFullScreen(shSystem); + sFullScreenWindow = 0; + } + break; + case GHOST_kKeyH: { visibility = GHOST_GetCursorVisibility(window); GHOST_SetCursorVisibility(window, !visibility); } break; - case GHOST_kKeyQ: - if (GHOST_GetFullScreen(shSystem)) - { - GHOST_EndFullScreen(shSystem); - sFullScreenWindow = 0; - } - sExitRequested = 1; - case GHOST_kKeyT: - if (!sTestTimer) - { - sTestTimer = GHOST_InstallTimer(shSystem, 0, 1000, testTimerProc, NULL); - } - else - { - GHOST_RemoveTimer(shSystem, sTestTimer); - sTestTimer = 0; - } - break; - case GHOST_kKeyW: + case GHOST_kKeyQ: + if (GHOST_GetFullScreen(shSystem)) + { + GHOST_EndFullScreen(shSystem); + sFullScreenWindow = 0; + } + sExitRequested = 1; + case GHOST_kKeyT: + if (!sTestTimer) + { + sTestTimer = GHOST_InstallTimer(shSystem, 0, 1000, testTimerProc, NULL); + } + else { + GHOST_RemoveTimer(shSystem, sTestTimer); + sTestTimer = 0; + } + break; + case GHOST_kKeyW: { if (sMainWindow) { char *title = GHOST_GetTitle(sMainWindow); - char *ntitle = malloc(strlen(title)+2); + char *ntitle = malloc(strlen(title) + 2); sprintf(ntitle, "%s-", title); GHOST_SetTitle(sMainWindow, ntitle); @@ -401,21 +398,20 @@ int processEvent(GHOST_EventHandle hEvent, GHOST_TUserDataPtr userData) } } break; - default: - break; + default: + break; } } break; - case GHOST_kEventWindowClose: + case GHOST_kEventWindowClose: { GHOST_WindowHandle window2 = GHOST_GetEventWindow(hEvent); if (window2 == sMainWindow) { sExitRequested = 1; } - else - { + else { if (sGearsTimer) { GHOST_RemoveTimer(shSystem, sGearsTimer); @@ -426,13 +422,13 @@ int processEvent(GHOST_EventHandle hEvent, GHOST_TUserDataPtr userData) } break; - case GHOST_kEventWindowActivate: - handled = 0; - break; - case GHOST_kEventWindowDeactivate: - handled = 0; - break; - case GHOST_kEventWindowUpdate: + case GHOST_kEventWindowActivate: + handled = 0; + break; + case GHOST_kEventWindowDeactivate: + handled = 0; + break; + case GHOST_kEventWindowUpdate: { GHOST_WindowHandle window2 = GHOST_GetEventWindow(hEvent); if (!GHOST_ValidWindow(shSystem, window2)) @@ -443,18 +439,18 @@ int processEvent(GHOST_EventHandle hEvent, GHOST_TUserDataPtr userData) } break; - default: - handled = 0; - break; + default: + handled = 0; + break; } return handled; } -int main(int argc, char** argv) +int main(int argc, char **argv) { - char* title1 = "gears - main window"; - char* title2 = "gears - secondary window"; + char *title1 = "gears - main window"; + char *title2 = "gears - secondary window"; GHOST_EventConsumerHandle consumer = GHOST_CreateEventConsumer(processEvent, NULL); /* Create the system */ @@ -465,15 +461,15 @@ int main(int argc, char** argv) { /* Create the main window */ sMainWindow = GHOST_CreateWindow(shSystem, - title1, - 10, - 64, - 320, - 200, - GHOST_kWindowStateNormal, - GHOST_kDrawingContextTypeOpenGL, - FALSE, - FALSE); + title1, + 10, + 64, + 320, + 200, + GHOST_kWindowStateNormal, + GHOST_kDrawingContextTypeOpenGL, + FALSE, + FALSE); if (!sMainWindow) { printf("could not create main window\n"); @@ -482,15 +478,15 @@ int main(int argc, char** argv) /* Create a secondary window */ sSecondaryWindow = GHOST_CreateWindow(shSystem, - title2, - 340, - 64, - 320, - 200, - GHOST_kWindowStateNormal, - GHOST_kDrawingContextTypeOpenGL, - FALSE, - FALSE); + title2, + 340, + 64, + 320, + 200, + GHOST_kWindowStateNormal, + GHOST_kDrawingContextTypeOpenGL, + FALSE, + FALSE); if (!sSecondaryWindow) { printf("could not create secondary window\n"); @@ -498,11 +494,11 @@ int main(int argc, char** argv) } /* Install a timer to have the gears running */ - sGearsTimer = GHOST_InstallTimer(shSystem, - 0, - 10, - gearsTimerProc, - sMainWindow); + sGearsTimer = GHOST_InstallTimer(shSystem, + 0, + 10, + gearsTimerProc, + sMainWindow); /* Enter main loop */ while (!sExitRequested) @@ -547,8 +543,7 @@ static void gearsTimerProc(GHOST_TimerTaskHandle hTask, GHOST_TUns64 time) /* Running full screen */ GHOST_InvalidateWindow(sFullScreenWindow); } - else - { + else { if (GHOST_ValidWindow(shSystem, hWindow)) { GHOST_InvalidateWindow(hWindow); diff --git a/intern/ghost/test/gears/GHOST_Test.cpp b/intern/ghost/test/gears/GHOST_Test.cpp index 1822f3539bd..c51b72ad271 100644 --- a/intern/ghost/test/gears/GHOST_Test.cpp +++ b/intern/ghost/test/gears/GHOST_Test.cpp @@ -40,17 +40,17 @@ #include <math.h> #if defined(WIN32) || defined(__APPLE__) - #ifdef WIN32 - #include <windows.h> - #include <atlbase.h> - - #include <GL/gl.h> - #else // WIN32 - // __APPLE__ is defined - #include <AGL/gl.h> - #endif // WIN32 +# ifdef WIN32 +# include <windows.h> +# include <atlbase.h> + +# include <GL/gl.h> +# else // WIN32 + // __APPLE__ is defined +# include <AGL/gl.h> +# endif // WIN32 #else // defined(WIN32) || defined(__APPLE__) - #include <GL/gl.h> +# include <GL/gl.h> #endif // defined(WIN32) || defined(__APPLE__) #include "STR_String.h" @@ -66,20 +66,20 @@ static bool nVidiaWindows; // very dirty but hey, it's for testing only -static void gearsTimerProc(GHOST_ITimerTask* task, GHOST_TUns64 time); +static void gearsTimerProc(GHOST_ITimerTask *task, GHOST_TUns64 time); -static class Application* fApp; -static GLfloat view_rotx=20.0, view_roty=30.0, view_rotz=0.0; +static class Application * fApp; +static GLfloat view_rotx = 20.0, view_roty = 30.0, view_rotz = 0.0; static GLfloat fAngle = 0.0; -static GHOST_ISystem* fSystem = 0; +static GHOST_ISystem *fSystem = 0; void StereoProjection(float left, float right, float bottom, float top, float nearplane, float farplane, - float zero_plane, float dist, - float eye); + float zero_plane, float dist, + float eye); -static void testTimerProc(GHOST_ITimerTask* /*task*/, GHOST_TUns64 time) +static void testTimerProc(GHOST_ITimerTask * /*task*/, GHOST_TUns64 time) { std::cout << "timer1, time=" << (int)time << "\n"; } @@ -93,35 +93,35 @@ static void gearGL(GLfloat inner_radius, GLfloat outer_radius, GLfloat width, GL GLfloat u, v, len; r0 = inner_radius; - r1 = outer_radius - tooth_depth/2.0; - r2 = outer_radius + tooth_depth/2.0; + r1 = outer_radius - tooth_depth / 2.0; + r2 = outer_radius + tooth_depth / 2.0; const double pi = 3.14159264; - da = 2.0*pi / teeth / 4.0; + da = 2.0 * pi / teeth / 4.0; glShadeModel(GL_FLAT); glNormal3f(0.0, 0.0, 1.0); /* draw front face */ glBegin(GL_QUAD_STRIP); - for (i=0;i<=teeth;i++) { - angle = i * 2.0*pi / teeth; - glVertex3f(r0*cos(angle), r0*sin(angle), width*0.5); - glVertex3f(r1*cos(angle), r1*sin(angle), width*0.5); - glVertex3f(r0*cos(angle), r0*sin(angle), width*0.5); - glVertex3f(r1*cos(angle+3*da), r1*sin(angle+3*da), width*0.5); + for (i = 0; i <= teeth; i++) { + angle = i * 2.0 * pi / teeth; + glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5); + glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5); + glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5); + glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5); } glEnd(); /* draw front sides of teeth */ glBegin(GL_QUADS); - da = 2.0*pi / teeth / 4.0; - for (i=0;i<teeth;i++) { - angle = i * 2.0*pi / teeth; - glVertex3f(r1*cos(angle), r1*sin(angle), width*0.5); - glVertex3f(r2*cos(angle+da), r2*sin(angle+da), width*0.5); - glVertex3f(r2*cos(angle+2*da), r2*sin(angle+2*da), width*0.5); - glVertex3f(r1*cos(angle+3*da), r1*sin(angle+3*da), width*0.5); + da = 2.0 * pi / teeth / 4.0; + for (i = 0; i < teeth; i++) { + angle = i * 2.0 * pi / teeth; + glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5); + glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5); + glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), width * 0.5); + glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5); } glEnd(); @@ -129,64 +129,64 @@ static void gearGL(GLfloat inner_radius, GLfloat outer_radius, GLfloat width, GL /* draw back face */ glBegin(GL_QUAD_STRIP); - for (i=0;i<=teeth;i++) { - angle = i * 2.0*pi / teeth; - glVertex3f(r1*cos(angle), r1*sin(angle), -width*0.5); - glVertex3f(r0*cos(angle), r0*sin(angle), -width*0.5); - glVertex3f(r1*cos(angle+3*da), r1*sin(angle+3*da), -width*0.5); - glVertex3f(r0*cos(angle), r0*sin(angle), -width*0.5); + for (i = 0; i <= teeth; i++) { + angle = i * 2.0 * pi / teeth; + glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5); + glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5); + glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5); + glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5); } glEnd(); /* draw back sides of teeth */ glBegin(GL_QUADS); - da = 2.0*pi / teeth / 4.0; - for (i=0;i<teeth;i++) { - angle = i * 2.0*pi / teeth; - glVertex3f(r1*cos(angle+3*da), r1*sin(angle+3*da), -width*0.5); - glVertex3f(r2*cos(angle+2*da), r2*sin(angle+2*da), -width*0.5); - glVertex3f(r2*cos(angle+da), r2*sin(angle+da), -width*0.5); - glVertex3f(r1*cos(angle), r1*sin(angle), -width*0.5); + da = 2.0 * pi / teeth / 4.0; + for (i = 0; i < teeth; i++) { + angle = i * 2.0 * pi / teeth; + glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5); + glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), -width * 0.5); + glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5); + glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5); } glEnd(); /* draw outward faces of teeth */ glBegin(GL_QUAD_STRIP); - for (i=0;i<teeth;i++) { - angle = i * 2.0*pi / teeth; - glVertex3f(r1*cos(angle), r1*sin(angle), width*0.5); - glVertex3f(r1*cos(angle), r1*sin(angle), -width*0.5); - u = r2*cos(angle+da) - r1*cos(angle); - v = r2*sin(angle+da) - r1*sin(angle); - len = sqrt(u*u + v*v); + for (i = 0; i < teeth; i++) { + angle = i * 2.0 * pi / teeth; + glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5); + glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5); + u = r2 * cos(angle + da) - r1 *cos(angle); + v = r2 * sin(angle + da) - r1 *sin(angle); + len = sqrt(u * u + v * v); u /= len; v /= len; glNormal3f(v, -u, 0.0); - glVertex3f(r2*cos(angle+da), r2*sin(angle+da), width*0.5); - glVertex3f(r2*cos(angle+da), r2*sin(angle+da), -width*0.5); + glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5); + glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5); glNormal3f(cos(angle), sin(angle), 0.0); - glVertex3f(r2*cos(angle+2*da), r2*sin(angle+2*da), width*0.5); - glVertex3f(r2*cos(angle+2*da), r2*sin(angle+2*da), -width*0.5); - u = r1*cos(angle+3*da) - r2*cos(angle+2*da); - v = r1*sin(angle+3*da) - r2*sin(angle+2*da); + glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), width * 0.5); + glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), -width * 0.5); + u = r1 * cos(angle + 3 * da) - r2 *cos(angle + 2 * da); + v = r1 * sin(angle + 3 * da) - r2 *sin(angle + 2 * da); glNormal3f(v, -u, 0.0); - glVertex3f(r1*cos(angle+3*da), r1*sin(angle+3*da), width*0.5); - glVertex3f(r1*cos(angle+3*da), r1*sin(angle+3*da), -width*0.5); + glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5); + glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5); glNormal3f(cos(angle), sin(angle), 0.0); - } - glVertex3f(r1*cos(0.0), r1*sin(0.0), width*0.5); - glVertex3f(r1*cos(0.0), r1*sin(0.0), -width*0.5); + } + glVertex3f(r1 * cos(0.0), r1 * sin(0.0), width * 0.5); + glVertex3f(r1 * cos(0.0), r1 * sin(0.0), -width * 0.5); glEnd(); glShadeModel(GL_SMOOTH); /* draw inside radius cylinder */ glBegin(GL_QUAD_STRIP); - for (i=0;i<=teeth;i++) { - angle = i * 2.0*pi / teeth; + for (i = 0; i <= teeth; i++) { + angle = i * 2.0 * pi / teeth; glNormal3f(-cos(angle), -sin(angle), 0.0); - glVertex3f(r0*cos(angle), r0*sin(angle), -width*0.5); - glVertex3f(r0*cos(angle), r0*sin(angle), width*0.5); + glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5); + glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5); } glEnd(); } @@ -208,20 +208,20 @@ static void drawGearGL(int id) switch (id) { - case 1: - glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, ared); - gearGL(1.0f, 4.0f, 1.0f, 20, 0.7f); - break; - case 2: - glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, agreen); - gearGL(0.5f, 2.0f, 2.0f, 10, 0.7f); - break; - case 3: - glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, ablue); - gearGL(1.3f, 2.0f, 0.5f, 10, 0.7f); - break; - default: - break; + case 1: + glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, ared); + gearGL(1.0f, 4.0f, 1.0f, 20, 0.7f); + break; + case 2: + glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, agreen); + gearGL(0.5f, 2.0f, 2.0f, 10, 0.7f); + break; + case 3: + glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, ablue); + gearGL(1.3f, 2.0f, 0.5f, 10, 0.7f); + break; + default: + break; } glEnable(GL_NORMALIZE); } @@ -229,9 +229,9 @@ static void drawGearGL(int id) void RenderCamera() { - glRotatef(view_rotx, 1.0, 0.0, 0.0); - glRotatef(view_roty, 0.0, 1.0, 0.0); - glRotatef(view_rotz, 0.0, 0.0, 1.0); + glRotatef(view_rotx, 1.0, 0.0, 0.0); + glRotatef(view_roty, 0.0, 1.0, 0.0); + glRotatef(view_rotz, 0.0, 0.0, 1.0); } @@ -258,7 +258,7 @@ void RenderScene() } -static void View(GHOST_IWindow* window, bool stereo, int eye = 0) +static void View(GHOST_IWindow *window, bool stereo, int eye = 0) { window->activateDrawingContext(); GHOST_Rect bnds; @@ -270,18 +270,17 @@ static void View(GHOST_IWindow* window, bool stereo, int eye = 0) window->getClientBounds(bnds); // viewport - if(stereo) + if (stereo) { - if(nVidiaWindows) + if (nVidiaWindows) { // handled by nVidia driver so act as normal (explicitly put here since // it -is- stereo) glViewport(0, 0, bnds.getWidth(), bnds.getHeight()); } - else - { // generic cross platform above-below stereo + else { // generic cross platform above-below stereo noOfScanlines = (bnds.getHeight() - verticalBlankingInterval) / 2; - switch(eye) + switch (eye) { case LEFT_EYE: // upper half of window @@ -294,8 +293,7 @@ static void View(GHOST_IWindow* window, bool stereo, int eye = 0) } } } - else - { + else { noOfScanlines = bnds.getHeight(); lowerScanline = 0; } @@ -310,11 +308,11 @@ static void View(GHOST_IWindow* window, bool stereo, int eye = 0) nearplane = 5.0; farplane = 60.0; - if(stereo) + if (stereo) { zeroPlane = 0.0; distance = 14.5; - switch(eye) + switch (eye) { case LEFT_EYE: StereoProjection(left, right, bottom, top, nearplane, farplane, zeroPlane, distance, -eyeSeparation / 2.0); @@ -324,8 +322,7 @@ static void View(GHOST_IWindow* window, bool stereo, int eye = 0) break; } } - else - { + else { // left = -w; // right = w; // bottom = -h; @@ -339,7 +336,7 @@ static void View(GHOST_IWindow* window, bool stereo, int eye = 0) } - glClearColor(.2f,0.0f,0.0f,0.0f); + glClearColor(.2f, 0.0f, 0.0f, 0.0f); } @@ -347,31 +344,31 @@ void StereoProjection(float left, float right, float bottom, float top, float ne float zero_plane, float dist, float eye) /* Perform the perspective projection for one eye's subfield. -The projection is in the direction of the negative z axis. + The projection is in the direction of the negative z axis. --6.0, 6.0, -4.8, 4.8, -left, right, bottom, top = the coordinate range, in the plane of zero -parallax setting, which will be displayed on the screen. The -ratio between (right-left) and (top-bottom) should equal the aspect -ratio of the display. + -6.0, 6.0, -4.8, 4.8, + left, right, bottom, top = the coordinate range, in the plane of zero + parallax setting, which will be displayed on the screen. The + ratio between (right-left) and (top-bottom) should equal the aspect + ratio of the display. -6.0, -6.0, -near, far = the z-coordinate values of the clipping planes. + 6.0, -6.0, + near, far = the z-coordinate values of the clipping planes. -0.0, -zero_plane = the z-coordinate of the plane of zero parallax setting. + 0.0, + zero_plane = the z-coordinate of the plane of zero parallax setting. -14.5, -dist = the distance from the center of projection to the plane -of zero parallax. + 14.5, + dist = the distance from the center of projection to the plane + of zero parallax. --0.31 -eye = half the eye separation; positive for the right eye subfield, -negative for the left eye subfield. -*/ + -0.31 + eye = half the eye separation; positive for the right eye subfield, + negative for the left eye subfield. + */ { float xmid, ymid, clip_near, clip_far, topw, bottomw, leftw, rightw, - dx, dy, n_over_d; + dx, dy, n_over_d; dx = right - left; dy = top - bottom; @@ -387,7 +384,7 @@ negative for the left eye subfield. topw = n_over_d * dy / 2.0; bottomw = -topw; rightw = n_over_d * (dx / 2.0 - eye); - leftw = n_over_d *(-dx / 2.0 - eye); + leftw = n_over_d * (-dx / 2.0 - eye); /* Need to be in projection mode for this. */ glLoadIdentity(); @@ -400,15 +397,15 @@ negative for the left eye subfield. class Application : public GHOST_IEventConsumer { public: - Application(GHOST_ISystem* system); + Application(GHOST_ISystem *system); ~Application(void); - virtual bool processEvent(GHOST_IEvent* event); + virtual bool processEvent(GHOST_IEvent *event); - GHOST_ISystem* m_system; - GHOST_IWindow* m_mainWindow; - GHOST_IWindow* m_secondaryWindow; - GHOST_IWindow* m_fullScreenWindow; - GHOST_ITimerTask* m_gearsTimer, *m_testTimer; + GHOST_ISystem *m_system; + GHOST_IWindow *m_mainWindow; + GHOST_IWindow *m_secondaryWindow; + GHOST_IWindow *m_fullScreenWindow; + GHOST_ITimerTask *m_gearsTimer, *m_testTimer; GHOST_TStandardCursor m_cursor; bool m_exitRequested; @@ -416,34 +413,34 @@ public: }; -Application::Application(GHOST_ISystem* system) +Application::Application(GHOST_ISystem *system) : m_system(system), m_mainWindow(0), m_secondaryWindow(0), m_fullScreenWindow(0), - m_gearsTimer(0), m_testTimer(0), m_cursor(GHOST_kStandardCursorFirstCursor), - m_exitRequested(false), stereo(false) + m_gearsTimer(0), m_testTimer(0), m_cursor(GHOST_kStandardCursorFirstCursor), + m_exitRequested(false), stereo(false) { fApp = this; // Create the main window - STR_String title1 ("gears - main window"); + STR_String title1("gears - main window"); m_mainWindow = system->createWindow(title1, 10, 64, 320, 200, GHOST_kWindowStateNormal, - GHOST_kDrawingContextTypeOpenGL, false, false); + GHOST_kDrawingContextTypeOpenGL, false, false); - if (!m_mainWindow) { + if (!m_mainWindow) { std::cout << "could not create main window\n"; exit(-1); - } + } // Create a secondary window - STR_String title2 ("gears - secondary window"); + STR_String title2("gears - secondary window"); m_secondaryWindow = system->createWindow(title2, 340, 64, 320, 200, GHOST_kWindowStateNormal, - GHOST_kDrawingContextTypeOpenGL, false, false); + GHOST_kDrawingContextTypeOpenGL, false, false); if (!m_secondaryWindow) { cout << "could not create secondary window\n"; exit(-1); } // Install a timer to have the gears running - m_gearsTimer = system->installTimer(0 /*delay*/, 20/*interval*/, gearsTimerProc, m_mainWindow); + m_gearsTimer = system->installTimer(0 /*delay*/, 20 /*interval*/, gearsTimerProc, m_mainWindow); } @@ -459,183 +456,183 @@ Application::~Application(void) } -bool Application::processEvent(GHOST_IEvent* event) +bool Application::processEvent(GHOST_IEvent *event) { - GHOST_IWindow* window = event->getWindow(); + GHOST_IWindow *window = event->getWindow(); bool handled = true; switch (event->getType()) { /* case GHOST_kEventUnknown: - break; - case GHOST_kEventCursorButton: - std::cout << "GHOST_kEventCursorButton"; break; - case GHOST_kEventCursorMove: - std::cout << "GHOST_kEventCursorMove"; break; -*/ - case GHOST_kEventWheel: - { - GHOST_TEventWheelData* wheelData = (GHOST_TEventWheelData*) event->getData(); - if (wheelData->z > 0) - { - view_rotz += 5.f; - } - else - { - view_rotz -= 5.f; - } - } - break; - - case GHOST_kEventKeyUp: - break; - - case GHOST_kEventKeyDown: + break; + case GHOST_kEventCursorButton: + std::cout << "GHOST_kEventCursorButton"; break; + case GHOST_kEventCursorMove: + std::cout << "GHOST_kEventCursorMove"; break; + */ + case GHOST_kEventWheel: { - GHOST_TEventKeyData* keyData = (GHOST_TEventKeyData*) event->getData(); - switch (keyData->key) { - case GHOST_kKeyC: - { - int cursor = m_cursor; - cursor++; - if (cursor >= GHOST_kStandardCursorNumCursors) { - cursor = GHOST_kStandardCursorFirstCursor; - } - m_cursor = (GHOST_TStandardCursor)cursor; - window->setCursorShape(m_cursor); - } - break; - - case GHOST_kKeyE: + GHOST_TEventWheelData *wheelData = (GHOST_TEventWheelData *) event->getData(); + if (wheelData->z > 0) { - int x = 200, y= 200; - m_system->setCursorPosition(x,y); - break; - } - - case GHOST_kKeyF: - if (!m_system->getFullScreen()) { - // Begin fullscreen mode - GHOST_DisplaySetting setting; - - setting.bpp = 16; - setting.frequency = 50; - setting.xPixels = 640; - setting.yPixels = 480; - m_system->beginFullScreen(setting, &m_fullScreenWindow, false /* stereo flag */); + view_rotz += 5.f; } else { - m_system->endFullScreen(); - m_fullScreenWindow = 0; + view_rotz -= 5.f; } - break; + } + break; - case GHOST_kKeyH: - window->setCursorVisibility(!window->getCursorVisibility()); + case GHOST_kEventKeyUp: break; - case GHOST_kKeyM: - { - bool down = false; - m_system->getModifierKeyState(GHOST_kModifierKeyLeftShift,down); - if (down) { - std::cout << "left shift down\n"; - } - m_system->getModifierKeyState(GHOST_kModifierKeyRightShift,down); - if (down) { - std::cout << "right shift down\n"; } - m_system->getModifierKeyState(GHOST_kModifierKeyLeftAlt,down); - if (down) { - std::cout << "left Alt down\n"; - } - m_system->getModifierKeyState(GHOST_kModifierKeyRightAlt,down); - if (down) { - std::cout << "right Alt down\n"; + case GHOST_kEventKeyDown: + { + GHOST_TEventKeyData *keyData = (GHOST_TEventKeyData *) event->getData(); + switch (keyData->key) { + case GHOST_kKeyC: + { + int cursor = m_cursor; + cursor++; + if (cursor >= GHOST_kStandardCursorNumCursors) { + cursor = GHOST_kStandardCursorFirstCursor; + } + m_cursor = (GHOST_TStandardCursor)cursor; + window->setCursorShape(m_cursor); } - m_system->getModifierKeyState(GHOST_kModifierKeyLeftControl,down); - if (down) { - std::cout << "left control down\n"; + break; + + case GHOST_kKeyE: + { + int x = 200, y = 200; + m_system->setCursorPosition(x, y); + break; } - m_system->getModifierKeyState(GHOST_kModifierKeyRightControl,down); - if (down) { - std::cout << "right control down\n"; + + case GHOST_kKeyF: + if (!m_system->getFullScreen()) { + // Begin fullscreen mode + GHOST_DisplaySetting setting; + + setting.bpp = 16; + setting.frequency = 50; + setting.xPixels = 640; + setting.yPixels = 480; + m_system->beginFullScreen(setting, &m_fullScreenWindow, false /* stereo flag */); + } + else { + m_system->endFullScreen(); + m_fullScreenWindow = 0; + } + break; + + case GHOST_kKeyH: + window->setCursorVisibility(!window->getCursorVisibility()); + break; + + case GHOST_kKeyM: + { + bool down = false; + m_system->getModifierKeyState(GHOST_kModifierKeyLeftShift, down); + if (down) { + std::cout << "left shift down\n"; + } + m_system->getModifierKeyState(GHOST_kModifierKeyRightShift, down); + if (down) { + std::cout << "right shift down\n"; + } + m_system->getModifierKeyState(GHOST_kModifierKeyLeftAlt, down); + if (down) { + std::cout << "left Alt down\n"; + } + m_system->getModifierKeyState(GHOST_kModifierKeyRightAlt, down); + if (down) { + std::cout << "right Alt down\n"; + } + m_system->getModifierKeyState(GHOST_kModifierKeyLeftControl, down); + if (down) { + std::cout << "left control down\n"; + } + m_system->getModifierKeyState(GHOST_kModifierKeyRightControl, down); + if (down) { + std::cout << "right control down\n"; + } } - } - break; + break; - case GHOST_kKeyQ: - if (m_system->getFullScreen()) - { - m_system->endFullScreen(); - m_fullScreenWindow = 0; - } - m_exitRequested = true; - break; + case GHOST_kKeyQ: + if (m_system->getFullScreen()) + { + m_system->endFullScreen(); + m_fullScreenWindow = 0; + } + m_exitRequested = true; + break; - case GHOST_kKeyS: // toggle mono and stereo - if(stereo) - stereo = false; - else - stereo = true; - break; + case GHOST_kKeyS: // toggle mono and stereo + if (stereo) + stereo = false; + else + stereo = true; + break; - case GHOST_kKeyT: - if (!m_testTimer) { - m_testTimer = m_system->installTimer(0, 1000, testTimerProc); - } + case GHOST_kKeyT: + if (!m_testTimer) { + m_testTimer = m_system->installTimer(0, 1000, testTimerProc); + } - else { - m_system->removeTimer(m_testTimer); - m_testTimer = 0; - } + else { + m_system->removeTimer(m_testTimer); + m_testTimer = 0; + } - break; + break; - case GHOST_kKeyW: - if (m_mainWindow) - { - STR_String title; - m_mainWindow->getTitle(title); - title += "-"; - m_mainWindow->setTitle(title); + case GHOST_kKeyW: + if (m_mainWindow) + { + STR_String title; + m_mainWindow->getTitle(title); + title += "-"; + m_mainWindow->setTitle(title); - } - break; + } + break; - default: - break; - } + default: + break; + } } break; - case GHOST_kEventWindowClose: + case GHOST_kEventWindowClose: { - GHOST_IWindow* window2 = event->getWindow(); - if (window2 == m_mainWindow) { - m_exitRequested = true; - } - else { - m_system->disposeWindow(window2); - } + GHOST_IWindow *window2 = event->getWindow(); + if (window2 == m_mainWindow) { + m_exitRequested = true; + } + else { + m_system->disposeWindow(window2); + } } break; - case GHOST_kEventWindowActivate: - handled = false; - break; + case GHOST_kEventWindowActivate: + handled = false; + break; - case GHOST_kEventWindowDeactivate: - handled = false; - break; + case GHOST_kEventWindowDeactivate: + handled = false; + break; - case GHOST_kEventWindowUpdate: + case GHOST_kEventWindowUpdate: { - GHOST_IWindow* window2 = event->getWindow(); - if(!m_system->validWindow(window2)) + GHOST_IWindow *window2 = event->getWindow(); + if (!m_system->validWindow(window2)) break; glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - if(stereo) + if (stereo) { View(window2, stereo, LEFT_EYE); glPushMatrix(); @@ -649,8 +646,7 @@ bool Application::processEvent(GHOST_IEvent* event) RenderScene(); glPopMatrix(); } - else - { + else { View(window2, stereo); glPushMatrix(); RenderCamera(); @@ -661,15 +657,15 @@ bool Application::processEvent(GHOST_IEvent* event) } break; - default: - handled = false; - break; + default: + handled = false; + break; } return handled; } -int main(int /*argc*/, char** /*argv*/) +int main(int /*argc*/, char ** /*argv*/) { nVidiaWindows = false; // nVidiaWindows = true; @@ -678,7 +674,7 @@ int main(int /*argc*/, char** /*argv*/) /* Set a couple of settings in the registry for the nVidia detonator driver. * So this is very specific... */ - if(nVidiaWindows) + if (nVidiaWindows) { LONG lresult; HKEY hkey = 0; @@ -691,19 +687,19 @@ int main(int /*argc*/, char** /*argv*/) lresult = regkey.Open(HKEY_LOCAL_MACHINE, "SOFTWARE\\NVIDIA Corporation\\Global\\Stereo3D\\StereoEnable", KEY_ALL_ACCESS); - if(lresult == ERROR_SUCCESS) + if (lresult == ERROR_SUCCESS) printf("Succesfully opened key\n"); #if 0 lresult = regkey.QueryValue(&keyValue, "StereoEnable"); - if(lresult == ERROR_SUCCESS) + if (lresult == ERROR_SUCCESS) printf("Succesfully queried key\n"); #endif lresult = regkey.SetValue(HKEY_LOCAL_MACHINE, "SOFTWARE\\NVIDIA Corporation\\Global\\Stereo3D\\StereoEnable", - "1"); - if(lresult == ERROR_SUCCESS) + "1"); + if (lresult == ERROR_SUCCESS) printf("Succesfully set value for key\n"); regkey.Close(); - if(lresult == ERROR_SUCCESS) + if (lresult == ERROR_SUCCESS) printf("Succesfully closed key\n"); // regkey.Write("2"); } @@ -715,14 +711,14 @@ int main(int /*argc*/, char** /*argv*/) if (fSystem) { // Create an application object - Application app (fSystem); + Application app(fSystem); // Add the application as event consumer fSystem->addEventConsumer(&app); // Enter main loop while (!app.m_exitRequested) { - //printf("main: loop\n"); + //printf("main: loop\n"); fSystem->processEvents(true); fSystem->dispatchEvents(); } @@ -735,11 +731,11 @@ int main(int /*argc*/, char** /*argv*/) } -static void gearsTimerProc(GHOST_ITimerTask* task, GHOST_TUns64 /*time*/) +static void gearsTimerProc(GHOST_ITimerTask *task, GHOST_TUns64 /*time*/) { - fAngle += 2.0; - view_roty += 1.0; - GHOST_IWindow* window = (GHOST_IWindow*)task->getUserData(); + fAngle += 2.0; + view_roty += 1.0; + GHOST_IWindow *window = (GHOST_IWindow *)task->getUserData(); if (fApp->m_fullScreenWindow) { // Running full screen fApp->m_fullScreenWindow->invalidate(); diff --git a/intern/ghost/test/multitest/Basic.c b/intern/ghost/test/multitest/Basic.c index 4453a074484..74b9f806872 100644 --- a/intern/ghost/test/multitest/Basic.c +++ b/intern/ghost/test/multitest/Basic.c @@ -27,37 +27,47 @@ #include "Basic.h" -int min_i(int a, int b) { - return (a<b)?a:b; +int min_i(int a, int b) +{ + return (a < b) ? a : b; } -int max_i(int a, int b) { - return (b<a)?a:b; +int max_i(int a, int b) +{ + return (b < a) ? a : b; } -int clamp_i(int val, int min, int max) { +int clamp_i(int val, int min, int max) +{ return min_i(max_i(val, min), max); } -float min_f(float a, float b) { - return (a<b)?a:b; +float min_f(float a, float b) +{ + return (a < b) ? a : b; } -float max_f(float a, float b) { - return (b<a)?a:b; +float max_f(float a, float b) +{ + return (b < a) ? a : b; } -float clamp_f(float val, float min, float max) { +float clamp_f(float val, float min, float max) +{ return min_f(max_f(val, min), max); } -void rect_copy(int dst[2][2], int src[2][2]) { - dst[0][0]= src[0][0], dst[0][1]= src[0][1]; - dst[1][0]= src[1][0], dst[1][1]= src[1][1]; +void rect_copy(int dst[2][2], int src[2][2]) +{ + dst[0][0] = src[0][0], dst[0][1] = src[0][1]; + dst[1][0] = src[1][0], dst[1][1] = src[1][1]; } -int rect_contains_pt(int rect[2][2], int pt[2]){ +int rect_contains_pt(int rect[2][2], int pt[2]) +{ return ((rect[0][0] <= pt[0] && pt[0] <= rect[1][0]) && - (rect[0][1] <= pt[1] && pt[1] <= rect[1][1])); + (rect[0][1] <= pt[1] && pt[1] <= rect[1][1])); } -int rect_width(int rect[2][2]) { - return (rect[1][0]-rect[0][0]); +int rect_width(int rect[2][2]) +{ + return (rect[1][0] - rect[0][0]); } -int rect_height(int rect[2][2]) { - return (rect[1][1]-rect[0][1]); +int rect_height(int rect[2][2]) +{ + return (rect[1][1] - rect[0][1]); } diff --git a/intern/ghost/test/multitest/MultiTest.c b/intern/ghost/test/multitest/MultiTest.c index f148ddfc485..3f912ce1d33 100644 --- a/intern/ghost/test/multitest/MultiTest.c +++ b/intern/ghost/test/multitest/MultiTest.c @@ -46,11 +46,11 @@ # include "BMF_Api.h" #else # include "BLF_api.h" - extern int datatoc_bfont_ttf_size; - extern char datatoc_bfont_ttf[]; +extern int datatoc_bfont_ttf_size; +extern char datatoc_bfont_ttf[]; - /* cheat */ - char U[1024]= {0}; +/* cheat */ +char U[1024] = {0}; #endif #include "Util.h" @@ -76,47 +76,47 @@ void multitestapp_exit(MultiTestApp *app); /**/ void rect_bevel_side(int rect[2][2], int side, float *lt, float *dk, float *col, int width) { - int ltidx= (side/2)%4; - int dkidx= (ltidx + 1 + (side&1))%4; + int ltidx = (side / 2) % 4; + int dkidx = (ltidx + 1 + (side & 1)) % 4; int i, corner; glBegin(GL_LINES); - for (i=0; i<width; i++) { - float ltf= pow(lt[i], 1.0/2.2), dkf= pow(dk[i], 1.0/2.2); - float stf= (dkidx>ltidx)?dkf:ltf; - int lx= rect[1][0]-i-1; - int ly= rect[0][1]+i; - - glColor3f(col[0]*stf, col[1]*stf, col[2]*stf); - for (corner=0; corner<4; corner++) { - int x= (corner==0 || corner==1)?(rect[0][0]+i):(rect[1][0]-i-1); - int y= (corner==0 || corner==3)?(rect[0][1]+i):(rect[1][1]-i-1); - - if (ltidx==corner) - glColor3f(col[0]*ltf, col[1]*ltf, col[2]*ltf); - if (dkidx==corner) - glColor3f(col[0]*dkf, col[1]*dkf, col[2]*dkf); + for (i = 0; i < width; i++) { + float ltf = pow(lt[i], 1.0 / 2.2), dkf = pow(dk[i], 1.0 / 2.2); + float stf = (dkidx > ltidx) ? dkf : ltf; + int lx = rect[1][0] - i - 1; + int ly = rect[0][1] + i; + + glColor3f(col[0] * stf, col[1] * stf, col[2] * stf); + for (corner = 0; corner < 4; corner++) { + int x = (corner == 0 || corner == 1) ? (rect[0][0] + i) : (rect[1][0] - i - 1); + int y = (corner == 0 || corner == 3) ? (rect[0][1] + i) : (rect[1][1] - i - 1); + + if (ltidx == corner) + glColor3f(col[0] * ltf, col[1] * ltf, col[2] * ltf); + if (dkidx == corner) + glColor3f(col[0] * dkf, col[1] * dkf, col[2] * dkf); glVertex2i(lx, ly); - glVertex2i(lx= x, ly= y); + glVertex2i(lx = x, ly = y); } } glEnd(); glColor3fv(col); - glRecti(rect[0][0]+width, rect[0][1]+width, rect[1][0]-width, rect[1][1]-width); + glRecti(rect[0][0] + width, rect[0][1] + width, rect[1][0] - width, rect[1][1] - width); } void rect_bevel_smooth(int rect[2][2], int width) { - float *lt= malloc(sizeof(*lt)*width); - float *dk= malloc(sizeof(*dk)*width); + float *lt = malloc(sizeof(*lt) * width); + float *dk = malloc(sizeof(*dk) * width); float col[4]; int i; - for (i=0; i<width; i++) { - float v= width-1?((float) i/(width-1)):0; - lt[i]= 1.2 + (1.0-1.2)*v; - dk[i]= 0.2 + (1.0-0.2)*v; + for (i = 0; i < width; i++) { + float v = width - 1 ? ((float) i / (width - 1)) : 0; + lt[i] = 1.2 + (1.0 - 1.2) * v; + dk[i] = 0.2 + (1.0 - 0.2) * v; } glGetFloatv(GL_CURRENT_COLOR, col); @@ -127,20 +127,20 @@ void rect_bevel_smooth(int rect[2][2], int width) { free(dk); } - /* - * MainWindow - */ +/* + * MainWindow + */ typedef struct { - MultiTestApp *app; + MultiTestApp *app; - GHOST_WindowHandle win; + GHOST_WindowHandle win; - int size[2]; + int size[2]; - int lmouse[2], lmbut[3]; + int lmouse[2], lmbut[3]; - int tmouse[2]; + int tmouse[2]; } MainWindow; static void mainwindow_log(MainWindow *mw, char *str) { @@ -152,24 +152,25 @@ static void mainwindow_do_draw(MainWindow *mw) { if (mw->lmbut[0]) { glClearColor(0.5, 0.5, 0.5, 1); - } else { + } + else { glClearColor(1, 1, 1, 1); } glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.5, 0.6, 0.8); - glRecti(mw->tmouse[0]-5, mw->tmouse[1]-5, mw->tmouse[0]+5, mw->tmouse[1]+5); + glRecti(mw->tmouse[0] - 5, mw->tmouse[1] - 5, mw->tmouse[0] + 5, mw->tmouse[1] + 5); GHOST_SwapWindowBuffers(mw->win); } static void mainwindow_do_reshape(MainWindow *mw) { - GHOST_RectangleHandle bounds= GHOST_GetClientBounds(mw->win); + GHOST_RectangleHandle bounds = GHOST_GetClientBounds(mw->win); GHOST_ActivateWindowDrawingContext(mw->win); - mw->size[0]= GHOST_GetWidthRectangle(bounds); - mw->size[1]= GHOST_GetHeightRectangle(bounds); + mw->size[0] = GHOST_GetWidthRectangle(bounds); + mw->size[1] = GHOST_GetHeightRectangle(bounds); glViewport(0, 0, mw->size[0], mw->size[1]); @@ -183,176 +184,179 @@ static void mainwindow_do_reshape(MainWindow *mw) { } static void mainwindow_do_key(MainWindow *mw, GHOST_TKey key, int press) { - switch(key) { - case GHOST_kKeyC: - if (press) - GHOST_SetCursorShape(mw->win, (GHOST_TStandardCursor) (rand()%(GHOST_kStandardCursorNumCursors))); - break; - case GHOST_kKeyLeftBracket: - if (press) - GHOST_SetCursorVisibility(mw->win, 0); - break; - case GHOST_kKeyRightBracket: - if (press) - GHOST_SetCursorVisibility(mw->win, 1); - break; - case GHOST_kKeyE: - if (press) - multitestapp_toggle_extra_window(mw->app); - break; - case GHOST_kKeyQ: - if (press) - multitestapp_exit(mw->app); - break; - case GHOST_kKeyT: - if (press) - mainwindow_log(mw, "TextTest~|`hello`\"world\",<>/"); - break; - case GHOST_kKeyR: - if (press) { - int i; - - mainwindow_log(mw, "Invalidating window 10 times"); - for (i=0; i<10; i++) - GHOST_InvalidateWindow(mw->win); - } - break; - case GHOST_kKeyF11: - if (press) { - GHOST_SetWindowOrder(mw->win, GHOST_kWindowOrderBottom); - } - break; + switch (key) { + case GHOST_kKeyC: + if (press) + GHOST_SetCursorShape(mw->win, (GHOST_TStandardCursor) (rand() % (GHOST_kStandardCursorNumCursors))); + break; + case GHOST_kKeyLeftBracket: + if (press) + GHOST_SetCursorVisibility(mw->win, 0); + break; + case GHOST_kKeyRightBracket: + if (press) + GHOST_SetCursorVisibility(mw->win, 1); + break; + case GHOST_kKeyE: + if (press) + multitestapp_toggle_extra_window(mw->app); + break; + case GHOST_kKeyQ: + if (press) + multitestapp_exit(mw->app); + break; + case GHOST_kKeyT: + if (press) + mainwindow_log(mw, "TextTest~|`hello`\"world\",<>/"); + break; + case GHOST_kKeyR: + if (press) { + int i; + + mainwindow_log(mw, "Invalidating window 10 times"); + for (i = 0; i < 10; i++) + GHOST_InvalidateWindow(mw->win); + } + break; + case GHOST_kKeyF11: + if (press) { + GHOST_SetWindowOrder(mw->win, GHOST_kWindowOrderBottom); + } + break; } } static void mainwindow_do_move(MainWindow *mw, int x, int y) { - mw->lmouse[0]= x, mw->lmouse[1]= y; + mw->lmouse[0] = x, mw->lmouse[1] = y; if (mw->lmbut[0]) { - mw->tmouse[0]= x, mw->tmouse[1]= y; + mw->tmouse[0] = x, mw->tmouse[1] = y; GHOST_InvalidateWindow(mw->win); } } static void mainwindow_do_button(MainWindow *mw, int which, int press) { - if (which==GHOST_kButtonMaskLeft) { - mw->lmbut[0]= press; - mw->tmouse[0]= mw->lmouse[0], mw->tmouse[1]= mw->lmouse[1]; + if (which == GHOST_kButtonMaskLeft) { + mw->lmbut[0] = press; + mw->tmouse[0] = mw->lmouse[0], mw->tmouse[1] = mw->lmouse[1]; GHOST_InvalidateWindow(mw->win); - } else if (which==GHOST_kButtonMaskLeft) { - mw->lmbut[1]= press; - } else if (which==GHOST_kButtonMaskLeft) { - mw->lmbut[2]= press; + } + else if (which == GHOST_kButtonMaskLeft) { + mw->lmbut[1] = press; + } + else if (which == GHOST_kButtonMaskLeft) { + mw->lmbut[2] = press; } } static void mainwindow_handle(void *priv, GHOST_EventHandle evt) { - MainWindow *mw= priv; - GHOST_TEventType type= GHOST_GetEventType(evt); + MainWindow *mw = priv; + GHOST_TEventType type = GHOST_GetEventType(evt); char buf[256]; event_to_buf(evt, buf); mainwindow_log(mw, buf); switch (type) { - case GHOST_kEventCursorMove: { - GHOST_TEventCursorData *cd= GHOST_GetEventData(evt); - int x, y; - GHOST_ScreenToClient(mw->win, cd->x, cd->y, &x, &y); - mainwindow_do_move(mw, x, mw->size[1]-y-1); - break; - } - case GHOST_kEventButtonDown: - case GHOST_kEventButtonUp: { - GHOST_TEventButtonData *bd= GHOST_GetEventData(evt); - mainwindow_do_button(mw, bd->button, (type == GHOST_kEventButtonDown)); - break; - } - case GHOST_kEventKeyDown: - case GHOST_kEventKeyUp: { - GHOST_TEventKeyData *kd= GHOST_GetEventData(evt); - mainwindow_do_key(mw, kd->key, (type == GHOST_kEventKeyDown)); - break; - } + case GHOST_kEventCursorMove: { + GHOST_TEventCursorData *cd = GHOST_GetEventData(evt); + int x, y; + GHOST_ScreenToClient(mw->win, cd->x, cd->y, &x, &y); + mainwindow_do_move(mw, x, mw->size[1] - y - 1); + break; + } + case GHOST_kEventButtonDown: + case GHOST_kEventButtonUp: { + GHOST_TEventButtonData *bd = GHOST_GetEventData(evt); + mainwindow_do_button(mw, bd->button, (type == GHOST_kEventButtonDown)); + break; + } + case GHOST_kEventKeyDown: + case GHOST_kEventKeyUp: { + GHOST_TEventKeyData *kd = GHOST_GetEventData(evt); + mainwindow_do_key(mw, kd->key, (type == GHOST_kEventKeyDown)); + break; + } - case GHOST_kEventWindowUpdate: - mainwindow_do_draw(mw); - break; - case GHOST_kEventWindowSize: - mainwindow_do_reshape(mw); - break; + case GHOST_kEventWindowUpdate: + mainwindow_do_draw(mw); + break; + case GHOST_kEventWindowSize: + mainwindow_do_reshape(mw); + break; } } /**/ static void mainwindow_timer_proc(GHOST_TimerTaskHandle task, GHOST_TUns64 time) { - MainWindow *mw= GHOST_GetTimerTaskUserData(task); + MainWindow *mw = GHOST_GetTimerTaskUserData(task); char buf[64]; - sprintf(buf, "timer: %6.2f", (double) ((GHOST_TInt64) time)/1000); + sprintf(buf, "timer: %6.2f", (double) ((GHOST_TInt64) time) / 1000); mainwindow_log(mw, buf); } MainWindow *mainwindow_new(MultiTestApp *app) { - GHOST_SystemHandle sys= multitestapp_get_system(app); + GHOST_SystemHandle sys = multitestapp_get_system(app); GHOST_WindowHandle win; - win= GHOST_CreateWindow(sys, "MultiTest:Main", 40, 40, 400, 400, - GHOST_kWindowStateNormal, GHOST_kDrawingContextTypeOpenGL, - FALSE, FALSE); + win = GHOST_CreateWindow(sys, "MultiTest:Main", 40, 40, 400, 400, + GHOST_kWindowStateNormal, GHOST_kDrawingContextTypeOpenGL, + FALSE, FALSE); if (win) { - MainWindow *mw= MEM_callocN(sizeof(*mw), "mainwindow_new"); - mw->app= app; - mw->win= win; + MainWindow *mw = MEM_callocN(sizeof(*mw), "mainwindow_new"); + mw->app = app; + mw->win = win; GHOST_SetWindowUserData(mw->win, windowdata_new(mw, mainwindow_handle)); GHOST_InstallTimer(sys, 1000, 10000, mainwindow_timer_proc, mw); return mw; - } else { + } + else { return NULL; } } void mainwindow_free(MainWindow *mw) { - GHOST_SystemHandle sys= multitestapp_get_system(mw->app); + GHOST_SystemHandle sys = multitestapp_get_system(mw->app); windowdata_free(GHOST_GetWindowUserData(mw->win)); GHOST_DisposeWindow(sys, mw->win); MEM_freeN(mw); } - /* - * LoggerWindow - */ +/* + * LoggerWindow + */ struct _LoggerWindow { - MultiTestApp *app; + MultiTestApp *app; - GHOST_WindowHandle win; + GHOST_WindowHandle win; #ifdef USE_BMF - BMF_Font *font; + BMF_Font *font; #else - int font; + int font; #endif - int fonttexid; - int fontheight; + int fonttexid; + int fontheight; - int size[2]; + int size[2]; - int ndisplines; - int textarea[2][2]; - ScrollBar *scroll; + int ndisplines; + int textarea[2][2]; + ScrollBar *scroll; - char **loglines; - int nloglines, logsize; + char **loglines; + int nloglines, logsize; - int lmbut[3]; - int lmouse[2]; + int lmbut[3]; + int lmouse[2]; }; #define SCROLLBAR_PAD 2 @@ -361,19 +365,19 @@ struct _LoggerWindow { static void loggerwindow_recalc_regions(LoggerWindow *lw) { int nscroll[2][2]; - nscroll[0][0]= SCROLLBAR_PAD; - nscroll[0][1]= SCROLLBAR_PAD; - nscroll[1][0]= nscroll[0][0] + SCROLLBAR_WIDTH; - nscroll[1][1]= lw->size[1] - SCROLLBAR_PAD - 1; + nscroll[0][0] = SCROLLBAR_PAD; + nscroll[0][1] = SCROLLBAR_PAD; + nscroll[1][0] = nscroll[0][0] + SCROLLBAR_WIDTH; + nscroll[1][1] = lw->size[1] - SCROLLBAR_PAD - 1; - lw->textarea[0][0]= nscroll[1][0] + TEXTAREA_PAD; - lw->textarea[0][1]= TEXTAREA_PAD; - lw->textarea[1][0]= lw->size[0] - TEXTAREA_PAD - 1; - lw->textarea[1][1]= lw->size[1] - TEXTAREA_PAD - 1; + lw->textarea[0][0] = nscroll[1][0] + TEXTAREA_PAD; + lw->textarea[0][1] = TEXTAREA_PAD; + lw->textarea[1][0] = lw->size[0] - TEXTAREA_PAD - 1; + lw->textarea[1][1] = lw->size[1] - TEXTAREA_PAD - 1; - lw->ndisplines= (lw->textarea[1][1]-lw->textarea[0][1])/lw->fontheight; + lw->ndisplines = (lw->textarea[1][1] - lw->textarea[0][1]) / lw->fontheight; - scrollbar_set_thumbpct(lw->scroll, (float) lw->ndisplines/lw->nloglines); + scrollbar_set_thumbpct(lw->scroll, (float) lw->ndisplines / lw->nloglines); scrollbar_set_rect(lw->scroll, nscroll); } @@ -390,12 +394,12 @@ static void loggerwindow_setup_window_gl(LoggerWindow *lw) { } static void loggerwindow_do_reshape(LoggerWindow *lw) { - GHOST_RectangleHandle bounds= GHOST_GetClientBounds(lw->win); + GHOST_RectangleHandle bounds = GHOST_GetClientBounds(lw->win); GHOST_ActivateWindowDrawingContext(lw->win); - lw->size[0]= GHOST_GetWidthRectangle(bounds); - lw->size[1]= GHOST_GetHeightRectangle(bounds); + lw->size[0] = GHOST_GetWidthRectangle(bounds); + lw->size[1] = GHOST_GetHeightRectangle(bounds); loggerwindow_recalc_regions(lw); loggerwindow_setup_window_gl(lw); @@ -421,15 +425,16 @@ static void loggerwindow_do_draw(LoggerWindow *lw) { if (scrollbar_is_scrolling(lw->scroll)) { glColor3f(0.6, 0.7, 0.5); - } else { + } + else { glColor3f(0.9, 0.9, 0.92); } rect_bevel_smooth(sb_thumb, 1); - startline= scrollbar_get_thumbpos(lw->scroll)*(lw->nloglines-1); - ndisplines= min_i(lw->ndisplines, lw->nloglines-startline); + startline = scrollbar_get_thumbpos(lw->scroll) * (lw->nloglines - 1); + ndisplines = min_i(lw->ndisplines, lw->nloglines - startline); - if (lw->fonttexid!=-1) { + if (lw->fonttexid != -1) { glBindTexture(GL_TEXTURE_2D, lw->fonttexid); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); @@ -437,17 +442,18 @@ static void loggerwindow_do_draw(LoggerWindow *lw) { glEnable(GL_TEXTURE_2D); } glColor3f(0, 0, 0); - for (i=0; i<ndisplines; i++) { - /* stored in reverse order */ - char *line= lw->loglines[(lw->nloglines-1)-(i+startline)]; - int x_pos= lw->textarea[0][0] + 4; - int y_pos= lw->textarea[0][1] + 4 + i*lw->fontheight; + for (i = 0; i < ndisplines; i++) { + /* stored in reverse order */ + char *line = lw->loglines[(lw->nloglines - 1) - (i + startline)]; + int x_pos = lw->textarea[0][0] + 4; + int y_pos = lw->textarea[0][1] + 4 + i * lw->fontheight; #ifdef USE_BMF - if (lw->fonttexid==-1) { + if (lw->fonttexid == -1) { glRasterPos2i(x_pos, y_pos); BMF_DrawString(lw->font, line); - } else { + } + else { BMF_DrawStringTexture(lw->font, line, x_pos, y_pos, 0.0); } #else @@ -457,7 +463,7 @@ static void loggerwindow_do_draw(LoggerWindow *lw) { } #ifdef USE_BMF - if (lw->fonttexid!=-1) { + if (lw->fonttexid != -1) { glDisable(GL_TEXTURE_2D); glDisable(GL_BLEND); } @@ -467,7 +473,7 @@ static void loggerwindow_do_draw(LoggerWindow *lw) { } static void loggerwindow_do_move(LoggerWindow *lw, int x, int y) { - lw->lmouse[0]= x, lw->lmouse[1]= y; + lw->lmouse[0] = x, lw->lmouse[1] = y; if (scrollbar_is_scrolling(lw->scroll)) { scrollbar_keep_scrolling(lw->scroll, y); @@ -476,8 +482,8 @@ static void loggerwindow_do_move(LoggerWindow *lw, int x, int y) { } static void loggerwindow_do_button(LoggerWindow *lw, int which, int press) { - if (which==GHOST_kButtonMaskLeft) { - lw->lmbut[0]= press; + if (which == GHOST_kButtonMaskLeft) { + lw->lmbut[0] = press; if (press) { if (scrollbar_contains_pt(lw->scroll, lw->lmouse)) { @@ -485,124 +491,128 @@ static void loggerwindow_do_button(LoggerWindow *lw, int which, int press) { GHOST_SetCursorShape(lw->win, GHOST_kStandardCursorUpDown); GHOST_InvalidateWindow(lw->win); } - } else { + } + else { if (scrollbar_is_scrolling(lw->scroll)) { scrollbar_stop_scrolling(lw->scroll); GHOST_SetCursorShape(lw->win, GHOST_kStandardCursorDefault); GHOST_InvalidateWindow(lw->win); } } - } else if (which==GHOST_kButtonMaskMiddle) { - lw->lmbut[1]= press; - } else if (which==GHOST_kButtonMaskRight) { - lw->lmbut[2]= press; + } + else if (which == GHOST_kButtonMaskMiddle) { + lw->lmbut[1] = press; + } + else if (which == GHOST_kButtonMaskRight) { + lw->lmbut[2] = press; } } static void loggerwindow_do_key(LoggerWindow *lw, GHOST_TKey key, int press) { switch (key) { - case GHOST_kKeyQ: - if (press) - multitestapp_exit(lw->app); - break; + case GHOST_kKeyQ: + if (press) + multitestapp_exit(lw->app); + break; } } static void loggerwindow_handle(void *priv, GHOST_EventHandle evt) { - LoggerWindow *lw= priv; - GHOST_TEventType type= GHOST_GetEventType(evt); - - switch(type) { - case GHOST_kEventCursorMove: { - GHOST_TEventCursorData *cd= GHOST_GetEventData(evt); - int x, y; - GHOST_ScreenToClient(lw->win, cd->x, cd->y, &x, &y); - loggerwindow_do_move(lw, x, lw->size[1]-y-1); - break; - } - case GHOST_kEventButtonDown: - case GHOST_kEventButtonUp: { - GHOST_TEventButtonData *bd= GHOST_GetEventData(evt); - loggerwindow_do_button(lw, bd->button, (type == GHOST_kEventButtonDown)); - break; - } - case GHOST_kEventKeyDown: - case GHOST_kEventKeyUp: { - GHOST_TEventKeyData *kd= GHOST_GetEventData(evt); - loggerwindow_do_key(lw, kd->key, (type == GHOST_kEventKeyDown)); - break; - } - - case GHOST_kEventWindowUpdate: - loggerwindow_do_draw(lw); - break; - case GHOST_kEventWindowSize: - loggerwindow_do_reshape(lw); - break; + LoggerWindow *lw = priv; + GHOST_TEventType type = GHOST_GetEventType(evt); + + switch (type) { + case GHOST_kEventCursorMove: { + GHOST_TEventCursorData *cd = GHOST_GetEventData(evt); + int x, y; + GHOST_ScreenToClient(lw->win, cd->x, cd->y, &x, &y); + loggerwindow_do_move(lw, x, lw->size[1] - y - 1); + break; + } + case GHOST_kEventButtonDown: + case GHOST_kEventButtonUp: { + GHOST_TEventButtonData *bd = GHOST_GetEventData(evt); + loggerwindow_do_button(lw, bd->button, (type == GHOST_kEventButtonDown)); + break; + } + case GHOST_kEventKeyDown: + case GHOST_kEventKeyUp: { + GHOST_TEventKeyData *kd = GHOST_GetEventData(evt); + loggerwindow_do_key(lw, kd->key, (type == GHOST_kEventKeyDown)); + break; + } + + case GHOST_kEventWindowUpdate: + loggerwindow_do_draw(lw); + break; + case GHOST_kEventWindowSize: + loggerwindow_do_reshape(lw); + break; } } /**/ LoggerWindow *loggerwindow_new(MultiTestApp *app) { - GHOST_SystemHandle sys= multitestapp_get_system(app); + GHOST_SystemHandle sys = multitestapp_get_system(app); GHOST_TUns32 screensize[2]; GHOST_WindowHandle win; GHOST_GetMainDisplayDimensions(sys, &screensize[0], &screensize[1]); - win= GHOST_CreateWindow(sys, "MultiTest:Logger", 40, screensize[1]-432, - 800, 300, GHOST_kWindowStateNormal, - GHOST_kDrawingContextTypeOpenGL, FALSE, FALSE); + win = GHOST_CreateWindow(sys, "MultiTest:Logger", 40, screensize[1] - 432, + 800, 300, GHOST_kWindowStateNormal, + GHOST_kDrawingContextTypeOpenGL, FALSE, FALSE); if (win) { - LoggerWindow *lw= MEM_callocN(sizeof(*lw), "loggerwindow_new"); + LoggerWindow *lw = MEM_callocN(sizeof(*lw), "loggerwindow_new"); int bbox[2][2]; - lw->app= app; - lw->win= win; + lw->app = app; + lw->win = win; #ifdef USE_BMF - lw->font= BMF_GetFont(BMF_kScreen12); - lw->fonttexid= BMF_GetFontTexture(lw->font); + lw->font = BMF_GetFont(BMF_kScreen12); + lw->fonttexid = BMF_GetFontTexture(lw->font); BMF_GetBoundingBox(lw->font, &bbox[0][0], &bbox[0][1], &bbox[1][0], &bbox[1][1]); - lw->fontheight= rect_height(bbox); + lw->fontheight = rect_height(bbox); #else - lw->font= BLF_load_mem("default", (unsigned char*)datatoc_bfont_ttf, datatoc_bfont_ttf_size); + lw->font = BLF_load_mem("default", (unsigned char *)datatoc_bfont_ttf, datatoc_bfont_ttf_size); BLF_size(lw->font, 11, 72); - lw->fontheight= BLF_height(lw->font, "A_"); + lw->fontheight = BLF_height(lw->font, "A_"); #endif - lw->nloglines= lw->logsize= 0; - lw->loglines= MEM_mallocN(sizeof(*lw->loglines)*lw->nloglines, "loglines"); + lw->nloglines = lw->logsize = 0; + lw->loglines = MEM_mallocN(sizeof(*lw->loglines) * lw->nloglines, "loglines"); - lw->scroll= scrollbar_new(2, 40); + lw->scroll = scrollbar_new(2, 40); GHOST_SetWindowUserData(lw->win, windowdata_new(lw, loggerwindow_handle)); loggerwindow_do_reshape(lw); return lw; - } else { + } + else { return NULL; } } void loggerwindow_log(LoggerWindow *lw, char *line) { - if (lw->nloglines==lw->logsize) { - lw->loglines= memdbl(lw->loglines, &lw->logsize, sizeof(*lw->loglines)); + if (lw->nloglines == lw->logsize) { + lw->loglines = memdbl(lw->loglines, &lw->logsize, sizeof(*lw->loglines)); } - lw->loglines[lw->nloglines++]= string_dup(line); - scrollbar_set_thumbpct(lw->scroll, (float) lw->ndisplines/lw->nloglines); + lw->loglines[lw->nloglines++] = string_dup(line); + scrollbar_set_thumbpct(lw->scroll, (float) lw->ndisplines / lw->nloglines); GHOST_InvalidateWindow(lw->win); } void loggerwindow_free(LoggerWindow *lw) { - GHOST_SystemHandle sys= multitestapp_get_system(lw->app); + GHOST_SystemHandle sys = multitestapp_get_system(lw->app); int i; - for (i=0; i<lw->nloglines; i++) { + for (i = 0; i < lw->nloglines; i++) { MEM_freeN(lw->loglines[i]); } MEM_freeN(lw->loglines); @@ -612,17 +622,17 @@ void loggerwindow_free(LoggerWindow *lw) { MEM_freeN(lw); } - /* - * ExtraWindow - */ +/* + * ExtraWindow + */ typedef struct { - MultiTestApp *app; + MultiTestApp *app; - GHOST_WindowHandle win; + GHOST_WindowHandle win; - int size[2]; + int size[2]; } ExtraWindow; static void extrawindow_do_draw(ExtraWindow *ew) { @@ -632,18 +642,18 @@ static void extrawindow_do_draw(ExtraWindow *ew) { glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.8, 0.8, 0.8); - glRecti(10, 10, ew->size[0]-10, ew->size[1]-10); + glRecti(10, 10, ew->size[0] - 10, ew->size[1] - 10); GHOST_SwapWindowBuffers(ew->win); } static void extrawindow_do_reshape(ExtraWindow *ew) { - GHOST_RectangleHandle bounds= GHOST_GetClientBounds(ew->win); + GHOST_RectangleHandle bounds = GHOST_GetClientBounds(ew->win); GHOST_ActivateWindowDrawingContext(ew->win); - ew->size[0]= GHOST_GetWidthRectangle(bounds); - ew->size[1]= GHOST_GetHeightRectangle(bounds); + ew->size[0] = GHOST_GetWidthRectangle(bounds); + ew->size[1] = GHOST_GetHeightRectangle(bounds); glViewport(0, 0, ew->size[0], ew->size[1]); @@ -658,18 +668,18 @@ static void extrawindow_do_reshape(ExtraWindow *ew) { static void extrawindow_do_key(ExtraWindow *ew, GHOST_TKey key, int press) { switch (key) { - case GHOST_kKeyE: - if (press) - multitestapp_toggle_extra_window(ew->app); - break; + case GHOST_kKeyE: + if (press) + multitestapp_toggle_extra_window(ew->app); + break; } } static void extrawindow_spin_cursor(ExtraWindow *ew, GHOST_TUns64 time) { GHOST_TUns8 bitmap[16][2]; GHOST_TUns8 mask[16][2]; - double ftime= (double) ((GHOST_TInt64) time)/1000; - float angle= fmod(ftime, 1.0) * 3.1415*2; + double ftime = (double) ((GHOST_TInt64) time) / 1000; + float angle = fmod(ftime, 1.0) * 3.1415 * 2; int i; memset(&bitmap, 0, sizeof(bitmap)); @@ -680,128 +690,130 @@ static void extrawindow_spin_cursor(ExtraWindow *ew, GHOST_TUns64 time) { bitmap[2][0] |= mask[2][0] |= 0xF; bitmap[3][0] |= mask[3][0] |= 0xF; - for (i=0; i<7; i++) { - int x = 7 + cos(angle)*i; - int y = 7 + sin(angle)*i; - - mask[y][x/8] |= (1 << (x%8)); + for (i = 0; i < 7; i++) { + int x = 7 + cos(angle) * i; + int y = 7 + sin(angle) * i; + + mask[y][x / 8] |= (1 << (x % 8)); } - for (i=0; i<64; i++) { - float v= (i/63.0) * 3.1415*2; - int x = 7 + cos(v)*7; - int y = 7 + sin(v)*7; + for (i = 0; i < 64; i++) { + float v = (i / 63.0) * 3.1415 * 2; + int x = 7 + cos(v) * 7; + int y = 7 + sin(v) * 7; - mask[y][x/8] |= (1 << (x%8)); + mask[y][x / 8] |= (1 << (x % 8)); } GHOST_SetCustomCursorShape(ew->win, bitmap, mask, 0, 0); } static void extrawindow_handle(void *priv, GHOST_EventHandle evt) { - ExtraWindow *ew= priv; - GHOST_TEventType type= GHOST_GetEventType(evt); + ExtraWindow *ew = priv; + GHOST_TEventType type = GHOST_GetEventType(evt); char buf[256]; event_to_buf(evt, buf); loggerwindow_log(multitestapp_get_logger(ew->app), buf); switch (type) { - case GHOST_kEventKeyDown: - case GHOST_kEventKeyUp: { - GHOST_TEventKeyData *kd= GHOST_GetEventData(evt); - extrawindow_do_key(ew, kd->key, (type == GHOST_kEventKeyDown)); - break; - } + case GHOST_kEventKeyDown: + case GHOST_kEventKeyUp: { + GHOST_TEventKeyData *kd = GHOST_GetEventData(evt); + extrawindow_do_key(ew, kd->key, (type == GHOST_kEventKeyDown)); + break; + } - case GHOST_kEventCursorMove: { - extrawindow_spin_cursor(ew, GHOST_GetEventTime(evt)); - break; - } - - case GHOST_kEventWindowClose: - multitestapp_free_extrawindow(ew->app); - break; - case GHOST_kEventWindowUpdate: - extrawindow_do_draw(ew); - break; - case GHOST_kEventWindowSize: - extrawindow_do_reshape(ew); - break; + case GHOST_kEventCursorMove: { + extrawindow_spin_cursor(ew, GHOST_GetEventTime(evt)); + break; + } + + case GHOST_kEventWindowClose: + multitestapp_free_extrawindow(ew->app); + break; + case GHOST_kEventWindowUpdate: + extrawindow_do_draw(ew); + break; + case GHOST_kEventWindowSize: + extrawindow_do_reshape(ew); + break; } } /**/ ExtraWindow *extrawindow_new(MultiTestApp *app) { - GHOST_SystemHandle sys= multitestapp_get_system(app); + GHOST_SystemHandle sys = multitestapp_get_system(app); GHOST_WindowHandle win; - win= GHOST_CreateWindow(sys, "MultiTest:Extra", 500, 40, 400, 400, - GHOST_kWindowStateNormal, GHOST_kDrawingContextTypeOpenGL, - FALSE, FALSE); + win = GHOST_CreateWindow(sys, "MultiTest:Extra", 500, 40, 400, 400, + GHOST_kWindowStateNormal, GHOST_kDrawingContextTypeOpenGL, + FALSE, FALSE); if (win) { - ExtraWindow *ew= MEM_callocN(sizeof(*ew), "mainwindow_new"); - ew->app= app; - ew->win= win; + ExtraWindow *ew = MEM_callocN(sizeof(*ew), "mainwindow_new"); + ew->app = app; + ew->win = win; GHOST_SetWindowUserData(ew->win, windowdata_new(ew, extrawindow_handle)); return ew; - } else { + } + else { return NULL; } } void extrawindow_free(ExtraWindow *ew) { - GHOST_SystemHandle sys= multitestapp_get_system(ew->app); + GHOST_SystemHandle sys = multitestapp_get_system(ew->app); windowdata_free(GHOST_GetWindowUserData(ew->win)); GHOST_DisposeWindow(sys, ew->win); MEM_freeN(ew); } - /* - * MultiTestApp - */ +/* + * MultiTestApp + */ struct _MultiTestApp { - GHOST_SystemHandle sys; - MainWindow *main; - LoggerWindow *logger; - ExtraWindow *extra; + GHOST_SystemHandle sys; + MainWindow *main; + LoggerWindow *logger; + ExtraWindow *extra; - int exit; + int exit; }; static int multitest_event_handler(GHOST_EventHandle evt, GHOST_TUserDataPtr data) { - MultiTestApp *app= data; + MultiTestApp *app = data; GHOST_WindowHandle win; - win= GHOST_GetEventWindow(evt); + win = GHOST_GetEventWindow(evt); if (win && !GHOST_ValidWindow(app->sys, win)) { loggerwindow_log(app->logger, "WARNING: bad event, non-valid window\n"); return 1; } if (win) { - WindowData *wb= GHOST_GetWindowUserData(win); + WindowData *wb = GHOST_GetWindowUserData(win); windowdata_handle(wb, evt); - } else { - GHOST_TEventType type= GHOST_GetEventType(evt); - - /* GHOST_kEventQuit are the only 'system' events, - * that is, events without a window. - */ - switch(type) { - case GHOST_kEventQuit: - app->exit= 1; - break; + } + else { + GHOST_TEventType type = GHOST_GetEventType(evt); - default: - fatal("Unhandled system event: %d (%s)\n", type, eventtype_to_string(type)); - break; + /* GHOST_kEventQuit are the only 'system' events, + * that is, events without a window. + */ + switch (type) { + case GHOST_kEventQuit: + app->exit = 1; + break; + + default: + fatal("Unhandled system event: %d (%s)\n", type, eventtype_to_string(type)); + break; } } @@ -811,26 +823,26 @@ static int multitest_event_handler(GHOST_EventHandle evt, GHOST_TUserDataPtr dat /**/ MultiTestApp *multitestapp_new(void) { - MultiTestApp *app= MEM_mallocN(sizeof(*app), "multitestapp_new"); - GHOST_EventConsumerHandle consumer= GHOST_CreateEventConsumer(multitest_event_handler, app); + MultiTestApp *app = MEM_mallocN(sizeof(*app), "multitestapp_new"); + GHOST_EventConsumerHandle consumer = GHOST_CreateEventConsumer(multitest_event_handler, app); - app->sys= GHOST_CreateSystem(); + app->sys = GHOST_CreateSystem(); if (!app->sys) fatal("Unable to create ghost system"); if (!GHOST_AddEventConsumer(app->sys, consumer)) fatal("Unable to add multitest event consumer "); - app->main= mainwindow_new(app); + app->main = mainwindow_new(app); if (!app->main) fatal("Unable to create main window"); - app->logger= loggerwindow_new(app); + app->logger = loggerwindow_new(app); if (!app->logger) fatal("Unable to create logger window"); - app->extra= NULL; - app->exit= 0; + app->extra = NULL; + app->exit = 0; return app; } @@ -845,19 +857,20 @@ GHOST_SystemHandle multitestapp_get_system(MultiTestApp *app) { void multitestapp_free_extrawindow(MultiTestApp *app) { extrawindow_free(app->extra); - app->extra= NULL; + app->extra = NULL; } void multitestapp_toggle_extra_window(MultiTestApp *app) { if (app->extra) { multitestapp_free_extrawindow(app); - } else { - app->extra= extrawindow_new(app); + } + else { + app->extra = extrawindow_new(app); } } void multitestapp_exit(MultiTestApp *app) { - app->exit= 1; + app->exit = 1; } void multitestapp_run(MultiTestApp *app) { @@ -874,14 +887,14 @@ void multitestapp_free(MultiTestApp *app) { MEM_freeN(app); } - /***/ +/***/ int main(int argc, char **argv) { #ifndef USE_BMF BLF_init(11, 72); #endif - MultiTestApp *app= multitestapp_new(); + MultiTestApp *app = multitestapp_new(); multitestapp_run(app); multitestapp_free(app); diff --git a/intern/ghost/test/multitest/ScrollBar.c b/intern/ghost/test/multitest/ScrollBar.c index 25a34dd8e70..a57300c38f0 100644 --- a/intern/ghost/test/multitest/ScrollBar.c +++ b/intern/ghost/test/multitest/ScrollBar.c @@ -35,107 +35,124 @@ #include "ScrollBar.h" struct _ScrollBar { - int rect[2][2]; - float thumbpos, thumbpct; + int rect[2][2]; + float thumbpos, thumbpct; - int inset; - int minthumb; + int inset; + int minthumb; - int scrolling; - float scrolloffs; + int scrolling; + float scrolloffs; }; -static int scrollbar_get_thumbH(ScrollBar *sb) { - int scrollable_h= rect_height(sb->rect) - 2*sb->inset; +static int scrollbar_get_thumbH(ScrollBar *sb) +{ + int scrollable_h = rect_height(sb->rect) - 2 * sb->inset; - return clamp_i(sb->thumbpct*scrollable_h, sb->minthumb, scrollable_h); + return clamp_i(sb->thumbpct * scrollable_h, sb->minthumb, scrollable_h); } -static int scrollbar_get_thumbableH(ScrollBar *sb) { - int scrollable_h= rect_height(sb->rect) - 2*sb->inset; - int thumb_h= scrollbar_get_thumbH(sb); + +static int scrollbar_get_thumbableH(ScrollBar *sb) +{ + int scrollable_h = rect_height(sb->rect) - 2 * sb->inset; + int thumb_h = scrollbar_get_thumbH(sb); return scrollable_h - thumb_h; } -static float scrollbar_co_to_pos(ScrollBar *sb, int yco) { - int thumb_h= scrollbar_get_thumbH(sb); - int thumbable_h= scrollbar_get_thumbableH(sb); - int thumbable_y= (sb->rect[0][1]+sb->inset) + thumb_h/2; +static float scrollbar_co_to_pos(ScrollBar *sb, int yco) +{ + int thumb_h = scrollbar_get_thumbH(sb); + int thumbable_h = scrollbar_get_thumbableH(sb); + int thumbable_y = (sb->rect[0][1] + sb->inset) + thumb_h / 2; - return (float) (yco-thumbable_y)/thumbable_h; + return (float) (yco - thumbable_y) / thumbable_h; } /**/ -ScrollBar *scrollbar_new(int inset, int minthumb) { - ScrollBar *sb= MEM_callocN(sizeof(*sb), "scrollbar_new"); - sb->inset= inset; - sb->minthumb= minthumb; +ScrollBar *scrollbar_new(int inset, int minthumb) +{ + ScrollBar *sb = MEM_callocN(sizeof(*sb), "scrollbar_new"); + sb->inset = inset; + sb->minthumb = minthumb; return sb; } -void scrollbar_get_thumb(ScrollBar *sb, int thumb_r[2][2]) { - int thumb_h= scrollbar_get_thumbH(sb); - int thumbable_h= scrollbar_get_thumbableH(sb); +void scrollbar_get_thumb(ScrollBar *sb, int thumb_r[2][2]) +{ + int thumb_h = scrollbar_get_thumbH(sb); + int thumbable_h = scrollbar_get_thumbableH(sb); - thumb_r[0][0]= sb->rect[0][0]+sb->inset; - thumb_r[1][0]= sb->rect[1][0]-sb->inset; + thumb_r[0][0] = sb->rect[0][0] + sb->inset; + thumb_r[1][0] = sb->rect[1][0] - sb->inset; - thumb_r[0][1]= sb->rect[0][1]+sb->inset + sb->thumbpos*thumbable_h; - thumb_r[1][1]= thumb_r[0][1] + thumb_h; + thumb_r[0][1] = sb->rect[0][1] + sb->inset + sb->thumbpos * thumbable_h; + thumb_r[1][1] = thumb_r[0][1] + thumb_h; } -int scrollbar_is_scrolling(ScrollBar *sb) { +int scrollbar_is_scrolling(ScrollBar *sb) +{ return sb->scrolling; } int scrollbar_contains_pt(ScrollBar *sb, int pt[2]) { return rect_contains_pt(sb->rect, pt); } -void scrollbar_start_scrolling(ScrollBar *sb, int yco) { - int thumb_h_2= scrollbar_get_thumbH(sb)/2; - int thumbable_h= scrollbar_get_thumbableH(sb); - float npos= scrollbar_co_to_pos(sb, yco); +void scrollbar_start_scrolling(ScrollBar *sb, int yco) +{ + int thumb_h_2 = scrollbar_get_thumbH(sb) / 2; + int thumbable_h = scrollbar_get_thumbableH(sb); + float npos = scrollbar_co_to_pos(sb, yco); - sb->scrolloffs= sb->thumbpos - npos; - if (fabs(sb->scrolloffs) >= (float) thumb_h_2/thumbable_h) { - sb->scrolloffs= 0.0; + sb->scrolloffs = sb->thumbpos - npos; + if (fabs(sb->scrolloffs) >= (float) thumb_h_2 / thumbable_h) { + sb->scrolloffs = 0.0; } - sb->scrolling= 1; - sb->thumbpos= clamp_f(npos + sb->scrolloffs, 0.0, 1.0); + sb->scrolling = 1; + sb->thumbpos = clamp_f(npos + sb->scrolloffs, 0.0, 1.0); } -void scrollbar_keep_scrolling(ScrollBar *sb, int yco) { - float npos= scrollbar_co_to_pos(sb, yco); +void scrollbar_keep_scrolling(ScrollBar *sb, int yco) +{ + float npos = scrollbar_co_to_pos(sb, yco); - sb->thumbpos= clamp_f(npos + sb->scrolloffs, 0.0, 1.0); + sb->thumbpos = clamp_f(npos + sb->scrolloffs, 0.0, 1.0); } -void scrollbar_stop_scrolling(ScrollBar *sb) { - sb->scrolling= 0; - sb->scrolloffs= 0.0; +void scrollbar_stop_scrolling(ScrollBar *sb) +{ + sb->scrolling = 0; + sb->scrolloffs = 0.0; } -void scrollbar_set_thumbpct(ScrollBar *sb, float pct) { - sb->thumbpct= pct; +void scrollbar_set_thumbpct(ScrollBar *sb, float pct) +{ + sb->thumbpct = pct; } -void scrollbar_set_thumbpos(ScrollBar *sb, float pos) { - sb->thumbpos= clamp_f(pos, 0.0, 1.0); +void scrollbar_set_thumbpos(ScrollBar *sb, float pos) +{ + sb->thumbpos = clamp_f(pos, 0.0, 1.0); } -void scrollbar_set_rect(ScrollBar *sb, int rect[2][2]) { +void scrollbar_set_rect(ScrollBar *sb, int rect[2][2]) +{ rect_copy(sb->rect, rect); } -float scrollbar_get_thumbpct(ScrollBar *sb) { +float scrollbar_get_thumbpct(ScrollBar *sb) +{ return sb->thumbpct; } -float scrollbar_get_thumbpos(ScrollBar *sb) { +float scrollbar_get_thumbpos(ScrollBar *sb) +{ return sb->thumbpos; } -void scrollbar_get_rect(ScrollBar *sb, int rect_r[2][2]) { +void scrollbar_get_rect(ScrollBar *sb, int rect_r[2][2]) +{ rect_copy(rect_r, sb->rect); } -void scrollbar_free(ScrollBar *sb) { +void scrollbar_free(ScrollBar *sb) +{ MEM_freeN(sb); } diff --git a/intern/ghost/test/multitest/Util.c b/intern/ghost/test/multitest/Util.c index dfef6e347b0..bacd0a313d4 100644 --- a/intern/ghost/test/multitest/Util.c +++ b/intern/ghost/test/multitest/Util.c @@ -35,28 +35,31 @@ #include "Util.h" -void* memdbl(void *mem, int *size_pr, int item_size) { - int cur_size= *size_pr; - int new_size= cur_size?(cur_size*2):1; - void *nmem= MEM_mallocN(new_size*item_size, "memdbl"); +void *memdbl(void *mem, int *size_pr, int item_size) +{ + int cur_size = *size_pr; + int new_size = cur_size ? (cur_size * 2) : 1; + void *nmem = MEM_mallocN(new_size * item_size, "memdbl"); - memcpy(nmem, mem, cur_size*item_size); + memcpy(nmem, mem, cur_size * item_size); MEM_freeN(mem); - *size_pr= new_size; + *size_pr = new_size; return nmem; } -char* string_dup(char *str) { - int len= strlen(str); - char *nstr= MEM_mallocN(len + 1, "string_dup"); +char *string_dup(char *str) +{ + int len = strlen(str); + char *nstr = MEM_mallocN(len + 1, "string_dup"); - memcpy(nstr, str, len+1); + memcpy(nstr, str, len + 1); return nstr; } -void fatal(char *fmt, ...) { +void fatal(char *fmt, ...) +{ va_list ap; fprintf(stderr, "FATAL: "); diff --git a/intern/ghost/test/multitest/WindowData.c b/intern/ghost/test/multitest/WindowData.c index 1eac99635c5..de4992ab2a0 100644 --- a/intern/ghost/test/multitest/WindowData.c +++ b/intern/ghost/test/multitest/WindowData.c @@ -34,22 +34,25 @@ #include "WindowData.h" struct _WindowData { - void *data; - WindowDataHandler handler; + void *data; + WindowDataHandler handler; }; -WindowData *windowdata_new(void *data, WindowDataHandler handler) { - WindowData *wb= MEM_mallocN(sizeof(*wb), "windowdata_new"); - wb->data= data; - wb->handler= handler; +WindowData *windowdata_new(void *data, WindowDataHandler handler) +{ + WindowData *wb = MEM_mallocN(sizeof(*wb), "windowdata_new"); + wb->data = data; + wb->handler = handler; return wb; } -void windowdata_handle(WindowData *wb, GHOST_EventHandle evt) { +void windowdata_handle(WindowData *wb, GHOST_EventHandle evt) +{ wb->handler(wb->data, evt); } -void windowdata_free(WindowData *wb) { +void windowdata_free(WindowData *wb) +{ MEM_freeN(wb); } diff --git a/intern/guardedalloc/intern/mallocn.c b/intern/guardedalloc/intern/mallocn.c index bb3a1c66ddc..10ac93d1c3d 100644 --- a/intern/guardedalloc/intern/mallocn.c +++ b/intern/guardedalloc/intern/mallocn.c @@ -27,33 +27,28 @@ /** \file guardedalloc/intern/mallocn.c * \ingroup MEM - */ - - -/** - - * Copyright (C) 2001 NaN Technologies B.V. + * * Guarded memory allocation, and boundary-write detection. */ #include <stdlib.h> -#include <string.h> /* memcpy */ +#include <string.h> /* memcpy */ #include <stdarg.h> #include <sys/types.h> /* Blame Microsoft for LLP64 and no inttypes.h, quick workaround needed: */ #if defined(WIN64) -#define SIZET_FORMAT "%I64u" -#define SIZET_ARG(a) ((unsigned long long)(a)) +# define SIZET_FORMAT "%I64u" +# define SIZET_ARG(a) ((unsigned long long)(a)) #else -#define SIZET_FORMAT "%lu" -#define SIZET_ARG(a) ((unsigned long)(a)) +# define SIZET_FORMAT "%lu" +# define SIZET_ARG(a) ((unsigned long)(a)) #endif /* mmap exception */ #if defined(WIN32) -#include "mmap_win.h" +# include "mmap_win.h" #else -#include <sys/mman.h> +# include <sys/mman.h> #endif #include "MEM_guardedalloc.h" @@ -65,7 +60,8 @@ // #define DEBUG_MEMCOUNTER #ifdef DEBUG_MEMCOUNTER -#define DEBUG_MEMCOUNTER_ERROR_VAL 0 /* set this to the value that isn't being freed */ + /* set this to the value that isn't being freed */ +# define DEBUG_MEMCOUNTER_ERROR_VAL 0 static int _mallocn_count = 0; /* breakpoint here */ @@ -79,25 +75,23 @@ static void memcount_raise(const char *name) /* Data definition */ /* --------------------------------------------------------------------- */ /* all memory chunks are put in linked lists */ -typedef struct localLink -{ - struct localLink *next,*prev; +typedef struct localLink { + struct localLink *next, *prev; } localLink; -typedef struct localListBase -{ +typedef struct localListBase { void *first, *last; } localListBase; - /* note: keep this struct aligned (e.g., irix/gcc) - Hos */ +/* note: keep this struct aligned (e.g., irix/gcc) - Hos */ typedef struct MemHead { int tag1; size_t len; - struct MemHead *next,*prev; - const char * name; - const char * nextname; + struct MemHead *next, *prev; + const char *name; + const char *nextname; int tag2; - int mmap; /* if true, memory was mmapped */ + int mmap; /* if true, memory was mmapped */ #ifdef DEBUG_MEMCOUNTER int _count; #endif @@ -123,9 +117,9 @@ static const char *check_memlist(MemHead *memh); /* --------------------------------------------------------------------- */ #ifdef __BIG_ENDIAN__ -# define MAKE_ID(a,b,c,d) ( (int)(a)<<24 | (int)(b)<<16 | (c)<<8 | (d) ) +# define MAKE_ID(a, b, c, d) ((int)(a) << 24 | (int)(b) << 16 | (c) << 8 | (d)) #else -# define MAKE_ID(a,b,c,d) ( (int)(d)<<24 | (int)(c)<<16 | (b)<<8 | (a) ) +# define MAKE_ID(a, b, c, d) ((int)(d) << 24 | (int)(c) << 16 | (b) << 8 | (a)) #endif #define MEMTAG1 MAKE_ID('M', 'E', 'M', 'O') @@ -133,15 +127,16 @@ static const char *check_memlist(MemHead *memh); #define MEMTAG3 MAKE_ID('O', 'C', 'K', '!') #define MEMFREE MAKE_ID('F', 'R', 'E', 'E') -#define MEMNEXT(x) ((MemHead *)(((char *) x) - ((char *) & (((MemHead *)0)->next)))) +#define MEMNEXT(x) \ + ((MemHead *)(((char *) x) - ((char *) &(((MemHead *)0)->next)))) /* --------------------------------------------------------------------- */ /* vars */ /* --------------------------------------------------------------------- */ -static volatile int totblock= 0; -static volatile uintptr_t mem_in_use= 0, mmap_in_use= 0, peak_mem = 0; +static volatile int totblock = 0; +static volatile uintptr_t mem_in_use = 0, mmap_in_use = 0, peak_mem = 0; static volatile struct localListBase _membase; static volatile struct localListBase *membase = &_membase; @@ -149,7 +144,7 @@ static void (*error_callback)(const char *) = NULL; static void (*thread_lock_callback)(void) = NULL; static void (*thread_unlock_callback)(void) = NULL; -static int malloc_debug_memset= 0; +static int malloc_debug_memset = 0; #ifdef malloc #undef malloc @@ -195,8 +190,8 @@ static void mem_unlock_thread(void) int MEM_check_memory_integrity(void) { - const char* err_val = NULL; - MemHead* listend; + const char *err_val = NULL; + MemHead *listend; /* check_memlist starts from the front, and runs until it finds * the requested chunk. For this test, that's the last one. */ listend = membase->last; @@ -221,32 +216,34 @@ void MEM_set_lock_callback(void (*lock)(void), void (*unlock)(void)) void MEM_set_memory_debug(void) { - malloc_debug_memset= 1; + malloc_debug_memset = 1; } size_t MEM_allocN_len(void *vmemh) { if (vmemh) { - MemHead *memh= vmemh; + MemHead *memh = vmemh; memh--; return memh->len; - } else + } + else { return 0; + } } void *MEM_dupallocN(void *vmemh) { - void *newp= NULL; + void *newp = NULL; if (vmemh) { - MemHead *memh= vmemh; + MemHead *memh = vmemh; memh--; if (memh->mmap) - newp= MEM_mapallocN(memh->len, "dupli_mapalloc"); + newp = MEM_mapallocN(memh->len, "dupli_mapalloc"); else - newp= MEM_mallocN(memh->len, "dupli_alloc"); + newp = MEM_mallocN(memh->len, "dupli_alloc"); if (newp == NULL) return NULL; @@ -258,13 +255,13 @@ void *MEM_dupallocN(void *vmemh) void *MEM_reallocN(void *vmemh, size_t len) { - void *newp= NULL; + void *newp = NULL; if (vmemh) { - MemHead *memh= vmemh; + MemHead *memh = vmemh; memh--; - newp= MEM_mallocN(len, memh->name); + newp = MEM_mallocN(len, memh->name); if (newp) { if (len < memh->len) memcpy(newp, vmemh, len); @@ -292,7 +289,7 @@ static void make_memhead_header(MemHead *memh, size_t len, const char *str) memt = (MemTail *)(((char *) memh) + sizeof(MemHead) + len); memt->tag3 = MEMTAG3; - addtail(membase,&memh->next); + addtail(membase, &memh->next); if (memh->next) memh->nextname = MEMNEXT(memh->next)->name; totblock++; @@ -307,25 +304,26 @@ void *MEM_mallocN(size_t len, const char *str) mem_lock_thread(); - len = (len + 3 ) & ~3; /* allocate in units of 4 */ + len = (len + 3) & ~3; /* allocate in units of 4 */ - memh= (MemHead *)malloc(len+sizeof(MemHead)+sizeof(MemTail)); + memh = (MemHead *)malloc(len + sizeof(MemHead) + sizeof(MemTail)); if (memh) { make_memhead_header(memh, len, str); mem_unlock_thread(); if (malloc_debug_memset && len) - memset(memh+1, 255, len); + memset(memh + 1, 255, len); #ifdef DEBUG_MEMCOUNTER - if (_mallocn_count==DEBUG_MEMCOUNTER_ERROR_VAL) + if (_mallocn_count == DEBUG_MEMCOUNTER_ERROR_VAL) memcount_raise(__func__); - memh->_count= _mallocn_count++; + memh->_count = _mallocn_count++; #endif return (++memh); } mem_unlock_thread(); - print_error("Malloc returns null: len=" SIZET_FORMAT " in %s, total %u\n", SIZET_ARG(len), str, mem_in_use); + print_error("Malloc returns null: len=" SIZET_FORMAT " in %s, total %u\n", + SIZET_ARG(len), str, mem_in_use); return NULL; } @@ -335,22 +333,23 @@ void *MEM_callocN(size_t len, const char *str) mem_lock_thread(); - len = (len + 3 ) & ~3; /* allocate in units of 4 */ + len = (len + 3) & ~3; /* allocate in units of 4 */ - memh= (MemHead *)calloc(len+sizeof(MemHead)+sizeof(MemTail),1); + memh = (MemHead *)calloc(len + sizeof(MemHead) + sizeof(MemTail), 1); if (memh) { make_memhead_header(memh, len, str); mem_unlock_thread(); #ifdef DEBUG_MEMCOUNTER - if (_mallocn_count==DEBUG_MEMCOUNTER_ERROR_VAL) + if (_mallocn_count == DEBUG_MEMCOUNTER_ERROR_VAL) memcount_raise(__func__); - memh->_count= _mallocn_count++; + memh->_count = _mallocn_count++; #endif return (++memh); } mem_unlock_thread(); - print_error("Calloc returns null: len=" SIZET_FORMAT " in %s, total %u\n", SIZET_ARG(len), str, mem_in_use); + print_error("Calloc returns null: len=" SIZET_FORMAT " in %s, total %u\n", + SIZET_ARG(len), str, mem_in_use); return NULL; } @@ -361,27 +360,29 @@ void *MEM_mapallocN(size_t len, const char *str) mem_lock_thread(); - len = (len + 3 ) & ~3; /* allocate in units of 4 */ + len = (len + 3) & ~3; /* allocate in units of 4 */ - memh= mmap(NULL, len+sizeof(MemHead)+sizeof(MemTail), - PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANON, -1, 0); + memh = mmap(NULL, len + sizeof(MemHead) + sizeof(MemTail), + PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0); - if (memh!=(MemHead *)-1) { + if (memh != (MemHead *)-1) { make_memhead_header(memh, len, str); - memh->mmap= 1; + memh->mmap = 1; mmap_in_use += len; peak_mem = mmap_in_use > peak_mem ? mmap_in_use : peak_mem; mem_unlock_thread(); #ifdef DEBUG_MEMCOUNTER - if (_mallocn_count==DEBUG_MEMCOUNTER_ERROR_VAL) + if (_mallocn_count == DEBUG_MEMCOUNTER_ERROR_VAL) memcount_raise(__func__); - memh->_count= _mallocn_count++; + memh->_count = _mallocn_count++; #endif return (++memh); } else { mem_unlock_thread(); - print_error("Mapalloc returns null, fallback to regular malloc: len=" SIZET_FORMAT " in %s, total %u\n", SIZET_ARG(len), str, mmap_in_use); + print_error("Mapalloc returns null, fallback to regular malloc: " + "len=" SIZET_FORMAT " in %s, total %u\n", + SIZET_ARG(len), str, mmap_in_use); return MEM_callocN(len, str); } } @@ -395,16 +396,16 @@ typedef struct MemPrintBlock { static int compare_name(const void *p1, const void *p2) { - const MemPrintBlock *pb1= (const MemPrintBlock*)p1; - const MemPrintBlock *pb2= (const MemPrintBlock*)p2; + const MemPrintBlock *pb1 = (const MemPrintBlock *)p1; + const MemPrintBlock *pb2 = (const MemPrintBlock *)p2; return strcmp(pb1->name, pb2->name); } static int compare_len(const void *p1, const void *p2) { - const MemPrintBlock *pb1= (const MemPrintBlock*)p1; - const MemPrintBlock *pb2= (const MemPrintBlock*)p2; + const MemPrintBlock *pb1 = (const MemPrintBlock *)p1; + const MemPrintBlock *pb2 = (const MemPrintBlock *)p2; if (pb1->len < pb2->len) return 1; @@ -423,30 +424,30 @@ void MEM_printmemlist_stats(void) mem_lock_thread(); /* put memory blocks into array */ - printblock= malloc(sizeof(MemPrintBlock)*totblock); + printblock = malloc(sizeof(MemPrintBlock) * totblock); - pb= printblock; - totpb= 0; + pb = printblock; + totpb = 0; membl = membase->first; if (membl) membl = MEMNEXT(membl); while (membl) { - pb->name= membl->name; - pb->len= membl->len; - pb->items= 1; + pb->name = membl->name; + pb->len = membl->len; + pb->items = 1; totpb++; pb++; if (membl->next) - membl= MEMNEXT(membl->next); + membl = MEMNEXT(membl->next); else break; } /* sort by name and add together blocks with the same name */ qsort(printblock, totpb, sizeof(MemPrintBlock), compare_name); - for (a = 0, b=0; a<totpb; a++) { + for (a = 0, b = 0; a < totpb; a++) { if (a == b) { continue; } @@ -459,15 +460,18 @@ void MEM_printmemlist_stats(void) memcpy(&printblock[b], &printblock[a], sizeof(MemPrintBlock)); } } - totpb= b+1; + totpb = b + 1; /* sort by length and print */ qsort(printblock, totpb, sizeof(MemPrintBlock), compare_len); - printf("\ntotal memory len: %.3f MB\n", (double)mem_in_use/(double)(1024*1024)); + printf("\ntotal memory len: %.3f MB\n", + (double)mem_in_use / (double)(1024 * 1024)); printf(" ITEMS TOTAL-MiB AVERAGE-KiB TYPE\n"); - for (a = 0, pb=printblock; a<totpb; a++, pb++) - printf("%6d (%8.3f %8.3f) %s\n", pb->items, (double)pb->len/(double)(1024*1024), (double)pb->len/1024.0/(double)pb->items, pb->name); - + for (a = 0, pb = printblock; a < totpb; a++, pb++) { + printf("%6d (%8.3f %8.3f) %s\n", + pb->items, (double)pb->len / (double)(1024 * 1024), + (double)pb->len / 1024.0 / (double)pb->items, pb->name); + } free(printblock); mem_unlock_thread(); @@ -477,8 +481,28 @@ void MEM_printmemlist_stats(void) #endif } +static const char mem_printmemlist_pydict_script[] = +"mb_userinfo = {}\n" +"totmem = 0\n" +"for mb_item in membase:\n" +" mb_item_user_size = mb_userinfo.setdefault(mb_item['name'], [0,0])\n" +" mb_item_user_size[0] += 1 # Add a user\n" +" mb_item_user_size[1] += mb_item['len'] # Increment the size\n" +" totmem += mb_item['len']\n" +"print('(membase) items:', len(membase), '| unique-names:',\n" +" len(mb_userinfo), '| total-mem:', totmem)\n" +"mb_userinfo_sort = list(mb_userinfo.items())\n" +"for sort_name, sort_func in (('size', lambda a: -a[1][1]),\n" +" ('users', lambda a: -a[1][0]),\n" +" ('name', lambda a: a[0])):\n" +" print('\\nSorting by:', sort_name)\n" +" mb_userinfo_sort.sort(key = sort_func)\n" +" for item in mb_userinfo_sort:\n" +" print('name:%%s, users:%%i, len:%%i' %%\n" +" (item[0], item[1][0], item[1][1]))\n"; + /* Prints in python syntax for easy */ -static void MEM_printmemlist_internal( int pydict ) +static void MEM_printmemlist_internal(int pydict) { MemHead *membl; @@ -489,46 +513,39 @@ static void MEM_printmemlist_internal( int pydict ) if (pydict) { print_error("# membase_debug.py\n"); - print_error("membase = [\\\n"); + print_error("membase = [\n"); } while (membl) { if (pydict) { - fprintf(stderr, "{'len':" SIZET_FORMAT ", 'name':'''%s''', 'pointer':'%p'},\\\n", SIZET_ARG(membl->len), membl->name, (void *)(membl+1)); - } else { + fprintf(stderr, + " {'len':" SIZET_FORMAT ", " + "'name':'''%s''', " + "'pointer':'%p'},\n", + SIZET_ARG(membl->len), membl->name, (void *)(membl + 1)); + } + else { #ifdef DEBUG_MEMCOUNTER - print_error("%s len: " SIZET_FORMAT " %p, count: %d\n", membl->name, SIZET_ARG(membl->len), membl+1, membl->_count); + print_error("%s len: " SIZET_FORMAT " %p, count: %d\n", + membl->name, SIZET_ARG(membl->len), membl + 1, + membl->_count); #else - print_error("%s len: " SIZET_FORMAT " %p\n", membl->name, SIZET_ARG(membl->len), membl+1); + print_error("%s len: " SIZET_FORMAT " %p\n", + membl->name, SIZET_ARG(membl->len), membl + 1); #endif } if (membl->next) - membl= MEMNEXT(membl->next); + membl = MEMNEXT(membl->next); else break; } if (pydict) { fprintf(stderr, "]\n\n"); - fprintf(stderr, -"mb_userinfo = {}\n" -"totmem = 0\n" -"for mb_item in membase:\n" -"\tmb_item_user_size = mb_userinfo.setdefault(mb_item['name'], [0,0])\n" -"\tmb_item_user_size[0] += 1 # Add a user\n" -"\tmb_item_user_size[1] += mb_item['len'] # Increment the size\n" -"\ttotmem += mb_item['len']\n" -"print '(membase) items:', len(membase), '| unique-names:', len(mb_userinfo), '| total-mem:', totmem\n" -"mb_userinfo_sort = mb_userinfo.items()\n" -"for sort_name, sort_func in (('size', lambda a: -a[1][1]), ('users', lambda a: -a[1][0]), ('name', lambda a: a[0])):\n" -"\tprint '\\nSorting by:', sort_name\n" -"\tmb_userinfo_sort.sort(key = sort_func)\n" -"\tfor item in mb_userinfo_sort:\n" -"\t\tprint 'name:%%s, users:%%i, len:%%i' %% (item[0], item[1][0], item[1][1])\n" - ); + fprintf(stderr, mem_printmemlist_pydict_script); } mem_unlock_thread(); } -void MEM_callbackmemlist(void (*func)(void*)) { +void MEM_callbackmemlist(void (*func)(void *)) { MemHead *membl; mem_lock_thread(); @@ -537,9 +554,9 @@ void MEM_callbackmemlist(void (*func)(void*)) { if (membl) membl = MEMNEXT(membl); while (membl) { - func(membl+1); + func(membl + 1); if (membl->next) - membl= MEMNEXT(membl->next); + membl = MEMNEXT(membl->next); else break; } @@ -555,13 +572,13 @@ short MEM_testN(void *vmemh) { if (membl) membl = MEMNEXT(membl); while (membl) { - if (vmemh == membl+1) { + if (vmemh == membl + 1) { mem_unlock_thread(); return 1; } if (membl->next) - membl= MEMNEXT(membl->next); + membl = MEMNEXT(membl->next); else break; } @@ -571,47 +588,50 @@ short MEM_testN(void *vmemh) { return 0; } -void MEM_printmemlist( void ) { +void MEM_printmemlist(void) { MEM_printmemlist_internal(0); } -void MEM_printmemlist_pydict( void ) { +void MEM_printmemlist_pydict(void) { MEM_printmemlist_internal(1); } -short MEM_freeN(void *vmemh) /* anders compileertie niet meer */ +short MEM_freeN(void *vmemh) /* anders compileertie niet meer */ { short error = 0; MemTail *memt; - MemHead *memh= vmemh; + MemHead *memh = vmemh; const char *name; if (memh == NULL) { - MemorY_ErroR("free","attempt to free NULL pointer"); + MemorY_ErroR("free", "attempt to free NULL pointer"); /* print_error(err_stream, "%d\n", (memh+4000)->tag1); */ return(-1); } - if (sizeof(intptr_t)==8) { + if (sizeof(intptr_t) == 8) { if (((intptr_t) memh) & 0x7) { - MemorY_ErroR("free","attempt to free illegal pointer"); + MemorY_ErroR("free", "attempt to free illegal pointer"); return(-1); } } else { if (((intptr_t) memh) & 0x3) { - MemorY_ErroR("free","attempt to free illegal pointer"); + MemorY_ErroR("free", "attempt to free illegal pointer"); return(-1); } } memh--; if (memh->tag1 == MEMFREE && memh->tag2 == MEMFREE) { - MemorY_ErroR(memh->name,"double free"); + MemorY_ErroR(memh->name, "double free"); return(-1); } mem_lock_thread(); - if ((memh->tag1 == MEMTAG1) && (memh->tag2 == MEMTAG2) && ((memh->len & 0x3) == 0)) { + if ((memh->tag1 == MEMTAG1) && + (memh->tag2 == MEMTAG2) && + ((memh->len & 0x3) == 0)) + { memt = (MemTail *)(((char *) memh) + sizeof(MemHead) + memh->len); if (memt->tag3 == MEMTAG3) { @@ -626,18 +646,19 @@ short MEM_freeN(void *vmemh) /* anders compileertie niet meer */ return(0); } error = 2; - MemorY_ErroR(memh->name,"end corrupt"); + MemorY_ErroR(memh->name, "end corrupt"); name = check_memlist(memh); if (name != NULL) { - if (name != memh->name) MemorY_ErroR(name,"is also corrupt"); + if (name != memh->name) MemorY_ErroR(name, "is also corrupt"); } - } else{ + } + else { error = -1; name = check_memlist(memh); if (name == NULL) - MemorY_ErroR("free","pointer not in memlist"); + MemorY_ErroR("free", "pointer not in memlist"); else - MemorY_ErroR(name,"error in header"); + MemorY_ErroR(name, "error in header"); } totblock--; @@ -654,7 +675,7 @@ short MEM_freeN(void *vmemh) /* anders compileertie niet meer */ static void addtail(volatile localListBase *listbase, void *vlink) { - struct localLink *link= vlink; + struct localLink *link = vlink; if (link == NULL) return; if (listbase == NULL) return; @@ -669,7 +690,7 @@ static void addtail(volatile localListBase *listbase, void *vlink) static void remlink(volatile localListBase *listbase, void *vlink) { - struct localLink *link= vlink; + struct localLink *link = vlink; if (link == NULL) return; if (listbase == NULL) return; @@ -683,7 +704,7 @@ static void remlink(volatile localListBase *listbase, void *vlink) static void rem_memblock(MemHead *memh) { - remlink(membase,&memh->next); + remlink(membase, &memh->next); if (memh->prev) { if (memh->next) MEMNEXT(memh->prev)->nextname = MEMNEXT(memh->next)->name; @@ -701,14 +722,14 @@ static void rem_memblock(MemHead *memh) } else { if (malloc_debug_memset && memh->len) - memset(memh+1, 255, memh->len); + memset(memh + 1, 255, memh->len); free(memh); } } static void MemorY_ErroR(const char *block, const char *error) { - print_error("Memoryblock %s: %s\n",block, error); + print_error("Memoryblock %s: %s\n", block, error); #ifdef WITH_ASSERT_ABORT abort(); @@ -717,7 +738,7 @@ static void MemorY_ErroR(const char *block, const char *error) static const char *check_memlist(MemHead *memh) { - MemHead *forw,*back,*forwok,*backok; + MemHead *forw, *back, *forwok, *backok; const char *name; forw = membase->first; @@ -743,7 +764,7 @@ static const char *check_memlist(MemHead *memh) if (forw != back) return ("MORE THAN 1 MEMORYBLOCK CORRUPT"); if (forw == NULL && back == NULL) { - /* geen foute headers gevonden dan maar op zoek naar memblock*/ + /* no wrong headers found then but in search of memblock */ forw = membase->first; if (forw) forw = MEMNEXT(forw); @@ -773,27 +794,30 @@ static const char *check_memlist(MemHead *memh) else name = "No name found"; if (forw == memh) { - /* voor alle zekerheid wordt dit block maar uit de lijst gehaald */ + /* to be sure but this block is removed from the list */ if (forwok) { if (backok) { forwok->next = (MemHead *)&backok->next; backok->prev = (MemHead *)&forwok->next; forwok->nextname = backok->name; - } else{ + } + else { forwok->next = NULL; membase->last = (struct localLink *) &forwok->next; -/* membase->last = (struct Link *) &forwok->next; */ } - } else{ + } + else { if (backok) { backok->prev = NULL; membase->first = &backok->next; - } else{ + } + else { membase->first = membase->last = NULL; } } - } else{ - MemorY_ErroR(name,"Additional error in header"); + } + else { + MemorY_ErroR(name, "Additional error in header"); return("Additional error in header"); } @@ -823,7 +847,7 @@ uintptr_t MEM_get_memory_in_use(void) uintptr_t _mem_in_use; mem_lock_thread(); - _mem_in_use= mem_in_use; + _mem_in_use = mem_in_use; mem_unlock_thread(); return _mem_in_use; @@ -834,7 +858,7 @@ uintptr_t MEM_get_mapped_memory_in_use(void) uintptr_t _mmap_in_use; mem_lock_thread(); - _mmap_in_use= mmap_in_use; + _mmap_in_use = mmap_in_use; mem_unlock_thread(); return _mmap_in_use; @@ -845,7 +869,7 @@ int MEM_get_memory_blocks_in_use(void) int _totblock; mem_lock_thread(); - _totblock= totblock; + _totblock = totblock; mem_unlock_thread(); return _totblock; @@ -855,7 +879,7 @@ int MEM_get_memory_blocks_in_use(void) const char *MEM_name_ptr(void *vmemh) { if (vmemh) { - MemHead *memh= vmemh; + MemHead *memh = vmemh; memh--; return memh->name; } diff --git a/intern/guardedalloc/intern/mmap_win.c b/intern/guardedalloc/intern/mmap_win.c index f2315f65924..a133f92fec4 100644 --- a/intern/guardedalloc/intern/mmap_win.c +++ b/intern/guardedalloc/intern/mmap_win.c @@ -29,8 +29,7 @@ * \ingroup MEM */ - -#if defined(WIN32) +#ifdef WIN32 #include <windows.h> #include <errno.h> @@ -53,21 +52,19 @@ #endif /* --------------------------------------------------------------------- */ -/* local storage definitions */ +/* local storage definitions */ /* --------------------------------------------------------------------- */ /* all memory mapped chunks are put in linked lists */ -typedef struct mmapLink -{ - struct mmapLink *next,*prev; +typedef struct mmapLink { + struct mmapLink *next, *prev; } mmapLink; -typedef struct mmapListBase -{ +typedef struct mmapListBase { void *first, *last; } mmapListBase; typedef struct MemMap { - struct MemMap *next,*prev; + struct MemMap *next, *prev; void *mmap; HANDLE fhandle; HANDLE maphandle; @@ -81,8 +78,8 @@ static void mmap_addtail(volatile mmapListBase *listbase, void *vlink); static void mmap_remlink(volatile mmapListBase *listbase, void *vlink); static void *mmap_findlink(volatile mmapListBase *listbase, void *ptr); -static int mmap_get_prot_flags (int flags); -static int mmap_get_access_flags (int flags); +static int mmap_get_prot_flags(int flags); +static int mmap_get_access_flags(int flags); /* --------------------------------------------------------------------- */ /* vars */ @@ -105,52 +102,53 @@ void *mmap(void *UNUSED(start), size_t len, int prot, int flags, int fd, off_t o MemMap *mm = NULL; void *ptr = NULL; - if ( flags & MAP_FIXED ) { + if (flags & MAP_FIXED) { return MAP_FAILED; } - /* +#if 0 if ( fd == -1 ) { _set_errno( EBADF ); return MAP_FAILED; } - */ +#endif - if ( fd != -1 ) { - fhandle = (HANDLE) _get_osfhandle (fd); + if (fd != -1) { + fhandle = (HANDLE) _get_osfhandle(fd); } - if ( fhandle == INVALID_HANDLE_VALUE ) { + if (fhandle == INVALID_HANDLE_VALUE) { if (!(flags & MAP_ANONYMOUS)) { errno = EBADF; return MAP_FAILED; } - } else { - if ( !DuplicateHandle( GetCurrentProcess(), fhandle, GetCurrentProcess(), - &fhandle, 0, FALSE, DUPLICATE_SAME_ACCESS ) ) { + } + else { + if (!DuplicateHandle(GetCurrentProcess(), fhandle, GetCurrentProcess(), + &fhandle, 0, FALSE, DUPLICATE_SAME_ACCESS) ) { return MAP_FAILED; } } maphandle = CreateFileMapping(fhandle, NULL, prot_flags, 0, len, NULL); - if ( maphandle == 0 ) { + if (maphandle == 0) { errno = EBADF; return MAP_FAILED; } ptr = MapViewOfFile(maphandle, access_flags, 0, offset, 0); - if ( ptr == NULL ) { + if (ptr == NULL) { DWORD dwLastErr = GetLastError(); - if ( dwLastErr == ERROR_MAPPED_ALIGNMENT ) - errno=EINVAL; + if (dwLastErr == ERROR_MAPPED_ALIGNMENT) + errno = EINVAL; else - errno=EACCES; + errno = EACCES; CloseHandle(maphandle); return MAP_FAILED; } - mm= (MemMap *)malloc(sizeof(MemMap)); + mm = (MemMap *)malloc(sizeof(MemMap)); if (!mm) { - errno=ENOMEM; + errno = ENOMEM; } mm->fhandle = fhandle; mm->maphandle = maphandle; @@ -165,12 +163,12 @@ intptr_t munmap(void *ptr, intptr_t UNUSED(size)) { MemMap *mm = mmap_findlink(mmapbase, ptr); if (!mm) { - errno=EINVAL; + errno = EINVAL; return -1; } - UnmapViewOfFile( mm->mmap ); - CloseHandle( mm->maphandle ); - CloseHandle( mm->fhandle); + UnmapViewOfFile(mm->mmap); + CloseHandle(mm->maphandle); + CloseHandle(mm->fhandle); mmap_remlink(mmapbase, mm); free(mm); return 0; @@ -182,7 +180,7 @@ intptr_t munmap(void *ptr, intptr_t UNUSED(size)) static void mmap_addtail(volatile mmapListBase *listbase, void *vlink) { - struct mmapLink *link= vlink; + struct mmapLink *link = vlink; if (link == 0) return; if (listbase == 0) return; @@ -197,7 +195,7 @@ static void mmap_addtail(volatile mmapListBase *listbase, void *vlink) static void mmap_remlink(volatile mmapListBase *listbase, void *vlink) { - struct mmapLink *link= vlink; + struct mmapLink *link = vlink; if (link == 0) return; if (listbase == 0) return; @@ -226,46 +224,46 @@ static void *mmap_findlink(volatile mmapListBase *listbase, void *ptr) return NULL; } -static int mmap_get_prot_flags (int flags) +static int mmap_get_prot_flags(int flags) { int prot = PAGE_NOACCESS; - if ( ( flags & PROT_READ ) == PROT_READ ) { - if ( ( flags & PROT_WRITE ) == PROT_WRITE ) { + if ( (flags & PROT_READ) == PROT_READ) { + if ( (flags & PROT_WRITE) == PROT_WRITE) { prot = (flags & PROT_EXEC) ? PAGE_EXECUTE_READWRITE : PAGE_READWRITE; - } else { + } + else { prot = (flags & PROT_EXEC) ? PAGE_EXECUTE_READ : PAGE_READONLY; } - } else if ( ( flags & PROT_WRITE ) == PROT_WRITE ) { + } + else if ( (flags & PROT_WRITE) == PROT_WRITE) { prot = (flags & PROT_EXEC) ? PAGE_EXECUTE_READ : PAGE_WRITECOPY; - } else if ( ( flags & PROT_EXEC ) == PROT_EXEC ) { + } + else if ( (flags & PROT_EXEC) == PROT_EXEC) { prot = PAGE_EXECUTE_READ; } return prot; } -static int mmap_get_access_flags (int flags) +static int mmap_get_access_flags(int flags) { int access = 0; - if ( ( flags & PROT_READ ) == PROT_READ ) { - if ( ( flags & PROT_WRITE ) == PROT_WRITE ) { + if ( (flags & PROT_READ) == PROT_READ) { + if ( (flags & PROT_WRITE) == PROT_WRITE) { access = FILE_MAP_WRITE; - } else { + } + else { access = (flags & PROT_EXEC) ? FILE_MAP_EXECUTE : FILE_MAP_READ; } - } else if ( ( flags & PROT_WRITE ) == PROT_WRITE ) { + } + else if ( (flags & PROT_WRITE) == PROT_WRITE) { access = FILE_MAP_COPY; - } else if ( ( flags & PROT_EXEC ) == PROT_EXEC ) { + } + else if ( (flags & PROT_EXEC) == PROT_EXEC) { access = FILE_MAP_EXECUTE; } return access; } - #endif // WIN32 - - - - - diff --git a/intern/smoke/intern/FLUID_3D.cpp b/intern/smoke/intern/FLUID_3D.cpp index 04971f898e9..f638a936049 100644 --- a/intern/smoke/intern/FLUID_3D.cpp +++ b/intern/smoke/intern/FLUID_3D.cpp @@ -153,11 +153,11 @@ void FLUID_3D::setBorderObstacles() { // bottom slab index = x + y * _xRes; - if(_domainBcBottom==1) _obstacles[index] = 1; + if(_domainBcBottom) _obstacles[index] = 1; // top slab index += _totalCells - _slabSize; - if(_domainBcTop==1) _obstacles[index] = 1; + if(_domainBcTop) _obstacles[index] = 1; } for (int z = 0; z < _zRes; z++) @@ -165,11 +165,11 @@ void FLUID_3D::setBorderObstacles() { // front slab index = x + z * _slabSize; - if(_domainBcFront==1) _obstacles[index] = 1; + if(_domainBcFront) _obstacles[index] = 1; // back slab index += _slabSize - _xRes; - if(_domainBcBack==1) _obstacles[index] = 1; + if(_domainBcBack) _obstacles[index] = 1; } for (int z = 0; z < _zRes; z++) @@ -177,11 +177,11 @@ void FLUID_3D::setBorderObstacles() { // left slab index = y * _xRes + z * _slabSize; - if(_domainBcLeft==1) _obstacles[index] = 1; + if(_domainBcLeft) _obstacles[index] = 1; // right slab index += _xRes - 1; - if(_domainBcRight==1) _obstacles[index] = 1; + if(_domainBcRight) _obstacles[index] = 1; } } @@ -249,7 +249,6 @@ void FLUID_3D::step(float dt) // set vorticity from RNA value _vorticityEps = (*_vorticityRNA)/_constantScaling; - #if PARALLEL==1 int threadval = 1; threadval = omp_get_max_threads(); @@ -450,48 +449,7 @@ void FLUID_3D::setBorderCollisions() { // set side obstacles - int index; - for (int y = 0; y < _yRes; y++) - for (int x = 0; x < _xRes; x++) - { - // front slab - index = x + y * _xRes; - if(_domainBcBottom==1) _obstacles[index] = 1; - else _obstacles[index] = 0; - - // back slab - index += _totalCells - _slabSize; - if(_domainBcTop==1) _obstacles[index] = 1; - else _obstacles[index] = 0; - } - - for (int z = 0; z < _zRes; z++) - for (int x = 0; x < _xRes; x++) - { - // bottom slab - index = x + z * _slabSize; - if(_domainBcFront==1) _obstacles[index] = 1; - else _obstacles[index] = 0; - - // top slab - index += _slabSize - _xRes; - if(_domainBcBack==1) _obstacles[index] = 1; - else _obstacles[index] = 0; - } - - for (int z = 0; z < _zRes; z++) - for (int y = 0; y < _yRes; y++) - { - // left slab - index = y * _xRes + z * _slabSize; - if(_domainBcLeft==1) _obstacles[index] = 1; - else _obstacles[index] = 0; - - // right slab - index += _xRes - 1; - if(_domainBcRight==1) _obstacles[index] = 1; - else _obstacles[index] = 0; - } + setBorderObstacles(); } ////////////////////////////////////////////////////////////////////// @@ -814,13 +772,13 @@ void FLUID_3D::project() setObstacleBoundaries(_pressure, 0, _zRes); // copy out the boundaries - if(_domainBcLeft == 0) setNeumannX(_xVelocity, _res, 0, _zRes); + if(!_domainBcLeft) setNeumannX(_xVelocity, _res, 0, _zRes); else setZeroX(_xVelocity, _res, 0, _zRes); - if(_domainBcFront == 0) setNeumannY(_yVelocity, _res, 0, _zRes); + if(!_domainBcFront) setNeumannY(_yVelocity, _res, 0, _zRes); else setZeroY(_yVelocity, _res, 0, _zRes); - if(_domainBcTop == 0) setNeumannZ(_zVelocity, _res, 0, _zRes); + if(!_domainBcTop) setNeumannZ(_zVelocity, _res, 0, _zRes); else setZeroZ(_zVelocity, _res, 0, _zRes); /* @@ -1370,13 +1328,13 @@ void FLUID_3D::advectMacCormackBegin(int zBegin, int zEnd) { Vec3Int res = Vec3Int(_xRes,_yRes,_zRes); - if(_domainBcLeft == 0) copyBorderX(_xVelocityOld, res, zBegin, zEnd); + if(!_domainBcLeft) copyBorderX(_xVelocityOld, res, zBegin, zEnd); else setZeroX(_xVelocityOld, res, zBegin, zEnd); - if(_domainBcFront == 0) copyBorderY(_yVelocityOld, res, zBegin, zEnd); + if(!_domainBcFront) copyBorderY(_yVelocityOld, res, zBegin, zEnd); else setZeroY(_yVelocityOld, res, zBegin, zEnd); - if(_domainBcTop == 0) copyBorderZ(_zVelocityOld, res, zBegin, zEnd); + if(!_domainBcTop) copyBorderZ(_zVelocityOld, res, zBegin, zEnd); else setZeroZ(_zVelocityOld, res, zBegin, zEnd); } @@ -1424,13 +1382,13 @@ void FLUID_3D::advectMacCormackEnd2(int zBegin, int zEnd) advectFieldMacCormack2(dt0, _xVelocityOld, _yVelocityOld, _zVelocityOld, _yVelocityOld, _yVelocityTemp, _yVelocity, t1, res, _obstacles, zBegin, zEnd); advectFieldMacCormack2(dt0, _xVelocityOld, _yVelocityOld, _zVelocityOld, _zVelocityOld, _zVelocityTemp, _zVelocity, t1, res, _obstacles, zBegin, zEnd); - if(_domainBcLeft == 0) copyBorderX(_xVelocityTemp, res, zBegin, zEnd); + if(!_domainBcLeft) copyBorderX(_xVelocityTemp, res, zBegin, zEnd); else setZeroX(_xVelocityTemp, res, zBegin, zEnd); - if(_domainBcFront == 0) copyBorderY(_yVelocityTemp, res, zBegin, zEnd); + if(!_domainBcFront) copyBorderY(_yVelocityTemp, res, zBegin, zEnd); else setZeroY(_yVelocityTemp, res, zBegin, zEnd); - if(_domainBcTop == 0) copyBorderZ(_zVelocityTemp, res, zBegin, zEnd); + if(!_domainBcTop) copyBorderZ(_zVelocityTemp, res, zBegin, zEnd); else setZeroZ(_zVelocityTemp, res, zBegin, zEnd); setZeroBorder(_density, res, zBegin, zEnd); diff --git a/intern/smoke/intern/FLUID_3D_STATIC.cpp b/intern/smoke/intern/FLUID_3D_STATIC.cpp index 85b3657dc92..74c2c9c7e2d 100644 --- a/intern/smoke/intern/FLUID_3D_STATIC.cpp +++ b/intern/smoke/intern/FLUID_3D_STATIC.cpp @@ -92,19 +92,15 @@ void FLUID_3D::setNeumannX(float* field, Vec3Int res, int zBegin, int zEnd) // left slab index = y * res[0] + z * slabSize; field[index] = field[index + 2]; + /* only allow outwards flux */ + if(field[index]>0.) field[index] = 0.; + index += 1; + if(field[index]>0.) field[index] = 0.; // right slab - index += res[0] - 1; + index = y * res[0] + z * slabSize + res[0] - 1; field[index] = field[index - 2]; - } - - // fix, force top slab to only allow outwards flux - for (int y = 0; y < res[1]; y++) - for (int z = zBegin; z < zEnd; z++) - { - // top slab - index = y * res[0] + z * slabSize; - index += res[0] - 1; + /* only allow outwards flux */ if(field[index]<0.) field[index] = 0.; index -= 1; if(field[index]<0.) field[index] = 0.; @@ -121,27 +117,22 @@ void FLUID_3D::setNeumannY(float* field, Vec3Int res, int zBegin, int zEnd) for (int z = zBegin; z < zEnd; z++) for (int x = 0; x < res[0]; x++) { - // bottom slab + // front slab index = x + z * slabSize; field[index] = field[index + 2 * res[0]]; + /* only allow outwards flux */ + if(field[index]>0.) field[index] = 0.; + index += res[0]; + if(field[index]>0.) field[index] = 0.; - // top slab - index += slabSize - res[0]; + // back slab + index = x + z * slabSize + slabSize - res[0]; field[index] = field[index - 2 * res[0]]; - } - - // fix, force top slab to only allow outwards flux - for (int z = zBegin; z < zEnd; z++) - for (int x = 0; x < res[0]; x++) - { - // top slab - index = x + z * slabSize; - index += slabSize - res[0]; + /* only allow outwards flux */ if(field[index]<0.) field[index] = 0.; index -= res[0]; if(field[index]<0.) field[index] = 0.; } - } ////////////////////////////////////////////////////////////////////// @@ -154,43 +145,33 @@ void FLUID_3D::setNeumannZ(float* field, Vec3Int res, int zBegin, int zEnd) const int cellsslab = totalCells - slabSize; int index; - index = 0; - if (zBegin == 0) - for (int y = 0; y < res[1]; y++) - for (int x = 0; x < res[0]; x++, index++) - { - // front slab - field[index] = field[index + 2 * slabSize]; - } - - if (zEnd == res[2]) - { - index = 0; - int indexx = 0; - - for (int y = 0; y < res[1]; y++) - for (int x = 0; x < res[0]; x++, index++) - { - - // back slab - indexx = index + cellsslab; - field[indexx] = field[indexx - 2 * slabSize]; - } - - - // fix, force top slab to only allow outwards flux - for (int y = 0; y < res[1]; y++) - for (int x = 0; x < res[0]; x++) - { - // top slab - index = x + y * res[0]; - index += cellsslab; - if(field[index]<0.) field[index] = 0.; - index -= slabSize; - if(field[index]<0.) field[index] = 0.; - } + if (zBegin == 0) { + for (int y = 0; y < res[1]; y++) + for (int x = 0; x < res[0]; x++) + { + // front slab + index = x + y * res[0]; + field[index] = field[index + 2 * slabSize]; + /* only allow outwards flux */ + if(field[index]>0.) field[index] = 0.; + index += slabSize; + if(field[index]>0.) field[index] = 0.; + } + } - } // zEnd == res[2] + if (zEnd == res[2]) { + for (int y = 0; y < res[1]; y++) + for (int x = 0; x < res[0]; x++) + { + // back slab + index = x + y * res[0] + cellsslab; + field[index] = field[index - 2 * slabSize]; + /* only allow outwards flux */ + if(field[index]<0.) field[index] = 0.; + index -= slabSize; + if(field[index]<0.) field[index] = 0.; + } + } } diff --git a/release/datafiles/blender_icons.png b/release/datafiles/blender_icons.png Binary files differindex 35988235cfe..a0d460b0153 100644 --- a/release/datafiles/blender_icons.png +++ b/release/datafiles/blender_icons.png diff --git a/release/plugins/sequence/blur.c b/release/plugins/sequence/blur.c index b59d7fbd005..d33feb0bb68 100644 --- a/release/plugins/sequence/blur.c +++ b/release/plugins/sequence/blur.c @@ -32,19 +32,19 @@ /* ******************** GLOBAL VARIABLES ***************** */ -char name[24]= "Blur"; +char name[24] = "Blur"; /* structure for buttons, * butcode name default min max 0 */ -VarStruct varstr[]= { - LABEL, "Input: 1 strip", 0.0, 0.0, 0.0, "", - NUMSLI|FLO, "Blur", 0.5, 0.0, 10.0, "Maximum filtersize", - NUMSLI|FLO, "Gamma", 1.0, 0.4, 2.0, "Gamma correction", - TOG|INT, "Animated", 0.0, 0.0, 1.0, "For (Ipo) animated blur", - NUM|INT, "debug", 0.0, 0.0, 2.0, - "0:off 1: show primary blur buffer 2: show 2nd blur buffer", +VarStruct varstr[] = { + LABEL, "Input: 1 strip", 0.0, 0.0, 0.0, "", + NUMSLI | FLO, "Blur", 0.5, 0.0, 10.0, "Maximum filtersize", + NUMSLI | FLO, "Gamma", 1.0, 0.4, 2.0, "Gamma correction", + TOG | INT, "Animated", 0.0, 0.0, 1.0, "For (Ipo) animated blur", + NUM | INT, "debug", 0.0, 0.0, 2.0, + "0:off 1: show primary blur buffer 2: show 2nd blur buffer", }; @@ -52,7 +52,7 @@ VarStruct varstr[]= { Varstr and Cast must have the same variables in the same order */ typedef struct Cast { - int dummy; /* because of the 'label' button */ + int dummy; /* because of the 'label' button */ float blur; float gamma; float use_ipo; @@ -83,15 +83,15 @@ void plugin_init(void) void plugin_getinfo(PluginInfo *info) { - info->name= name; - info->nvars= sizeof(varstr)/sizeof(VarStruct); - info->cfra= &cfra; + info->name = name; + info->nvars = sizeof(varstr) / sizeof(VarStruct); + info->cfra = &cfra; - info->varstr= varstr; + info->varstr = varstr; - info->init= plugin_init; - info->seq_doit= (SeqDoit) plugin_seq_doit; - info->callback= plugin_but_changed; + info->init = plugin_init; + info->seq_doit = (SeqDoit) plugin_seq_doit; + info->callback = plugin_but_changed; } @@ -102,24 +102,24 @@ void blurbuf(struct ImBuf *ibuf, int nr, Cast *cast) struct ImBuf *tbuf, *ttbuf; int i, x4; - tbuf= dupImBuf(ibuf); - x4= ibuf->x/4; + tbuf = dupImBuf(ibuf); + x4 = ibuf->x / 4; /* This doesn't seem to work... paprmh */ if (cast->gamma != 1.0) gamwarp(tbuf, cast->gamma); /* reduce */ - for (i=0; i<nr; i++) { + for (i = 0; i < nr; i++) { ttbuf = onehalf(tbuf); if (ttbuf) { freeImBuf(tbuf); tbuf = ttbuf; } - if (tbuf->x<4 || tbuf->y<4) break; + if (tbuf->x < 4 || tbuf->y < 4) break; } /* enlarge */ - for (i=0; i<nr; i++) { + for (i = 0; i < nr; i++) { ttbuf = double_x(tbuf); if (ttbuf) { freeImBuf(tbuf); @@ -139,10 +139,10 @@ void blurbuf(struct ImBuf *ibuf, int nr, Cast *cast) /* this doesn't seem to work...paprmh*/ if (cast->gamma != 1.0) gamwarp(tbuf, 1.0 / cast->gamma); - if (ibuf->rect)memcpy(ibuf->rect, tbuf->rect, 4*ibuf->x*ibuf->y); + if (ibuf->rect) memcpy(ibuf->rect, tbuf->rect, 4 * ibuf->x * ibuf->y); if (ibuf->rect_float) - memcpy(ibuf->rect_float, tbuf->rect_float, 4*ibuf->x*ibuf->y*sizeof(float)); + memcpy(ibuf->rect_float, tbuf->rect_float, 4 * ibuf->x * ibuf->y * sizeof(float)); freeImBuf(tbuf); @@ -161,79 +161,79 @@ void doblur(struct ImBuf *mbuf, float fac, Cast *cast) /* which buffers ? */ - if (fac>7.0) fac= 7.0; - if (fac<=1.0) return; + if (fac > 7.0) fac = 7.0; + if (fac <= 1.0) return; - pfac= 2.0; - pbuf= dupImBuf(mbuf); - n= 1; + pfac = 2.0; + pbuf = dupImBuf(mbuf); + n = 1; while (pfac < fac) { blurbuf(pbuf, n, cast); blurbuf(pbuf, n, cast); n++; - pfac+= 1.0; + pfac += 1.0; } - ifac= pfac; - pfac-= 1.0; + ifac = pfac; + pfac -= 1.0; - ibuf= dupImBuf(pbuf); + ibuf = dupImBuf(pbuf); blurbuf(ibuf, n, cast); blurbuf(ibuf, n, cast); - fac= (fac-pfac)/(ifac-pfac); - n= mbuf->x*mbuf->y; + fac = (fac - pfac) / (ifac - pfac); + n = mbuf->x * mbuf->y; - if (cast->show) fac=cast->show-1; + if (cast->show) fac = cast->show - 1; - if (mbuf->rect_float){ - if (fac>=1) { - memcpy(mbuf->rect_float, ibuf->rect_float, 4*n*sizeof(float)); + if (mbuf->rect_float) { + if (fac >= 1) { + memcpy(mbuf->rect_float, ibuf->rect_float, 4 * n * sizeof(float)); } - else if(fac<=0) { - memcpy(mbuf->rect_float, pbuf->rect_float, 4*n*sizeof(float)); + else if (fac <= 0) { + memcpy(mbuf->rect_float, pbuf->rect_float, 4 * n * sizeof(float)); } - else { /* interpolate */ - infac= 1-fac; + else { /* interpolate */ + infac = 1 - fac; - irectf= (float *)ibuf->rect_float; - prectf= (float *)pbuf->rect_float; - mrectf= (float *)mbuf->rect_float; + irectf = (float *)ibuf->rect_float; + prectf = (float *)pbuf->rect_float; + mrectf = (float *)mbuf->rect_float; while (n--) { - mrectf[0]= irectf[0]*fac+ prectf[0]*infac; - mrectf[1]= irectf[1]*fac+ prectf[1]*infac; - mrectf[2]= irectf[2]*fac+ prectf[2]*infac; - mrectf[3]= irectf[3]*fac+ prectf[3]*infac; - mrectf+= 4; - irectf+= 4; - prectf+= 4; + mrectf[0] = irectf[0] * fac + prectf[0] * infac; + mrectf[1] = irectf[1] * fac + prectf[1] * infac; + mrectf[2] = irectf[2] * fac + prectf[2] * infac; + mrectf[3] = irectf[3] * fac + prectf[3] * infac; + mrectf += 4; + irectf += 4; + prectf += 4; } } } - else if(mbuf->rect){ - b1= (int)fac*255.0; - if (b1>255) b1= 255; - b2= 255-b1; - - if (b1==255) { - memcpy(mbuf->rect, ibuf->rect, 4*n); + else if (mbuf->rect) { + b1 = (int)fac * 255.0; + if (b1 > 255) b1 = 255; + b2 = 255 - b1; + + if (b1 == 255) { + memcpy(mbuf->rect, ibuf->rect, 4 * n); } - else if(b1==0) { - memcpy(mbuf->rect, pbuf->rect, 4*n); + else if (b1 == 0) { + memcpy(mbuf->rect, pbuf->rect, 4 * n); } - else { /* interpolate */ - irect= (char *)ibuf->rect; - prect= (char *)pbuf->rect; - mrect= (char *)mbuf->rect; + else { /* interpolate */ + irect = (char *)ibuf->rect; + prect = (char *)pbuf->rect; + mrect = (char *)mbuf->rect; while (n--) { - mrect[0]= (irect[0]*b1+ prect[0]*b2)>>8; - mrect[1]= (irect[1]*b1+ prect[1]*b2)>>8; - mrect[2]= (irect[2]*b1+ prect[2]*b2)>>8; - mrect[3]= (irect[3]*b1+ prect[3]*b2)>>8; - mrect+= 4; - irect+= 4; - prect+= 4; + mrect[0] = (irect[0] * b1 + prect[0] * b2) >> 8; + mrect[1] = (irect[1] * b1 + prect[1] * b2) >> 8; + mrect[2] = (irect[2] * b1 + prect[2] * b2) >> 8; + mrect[3] = (irect[3] * b1 + prect[3] * b2) >> 8; + mrect += 4; + irect += 4; + prect += 4; } } } @@ -245,18 +245,18 @@ void doblur(struct ImBuf *mbuf, float fac, Cast *cast) void plugin_seq_doit(Cast *cast, float facf0, float facf1, int x, int y, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *out, ImBuf *use) { - float bfacf0, bfacf1; + float bfacf0, bfacf1; - if (cast->use_ipo==0) { - bfacf0= bfacf1= cast->blur+1.0; + if (cast->use_ipo == 0) { + bfacf0 = bfacf1 = cast->blur + 1.0; } else { bfacf0 = (facf0 * 6.0) + 1.0; bfacf1 = (facf1 * 6.0) + 1.0; } - if (out->rect) memcpy(out->rect, ibuf1->rect, 4*out->x*out->y); - if (out->rect_float) memcpy(out->rect_float, ibuf1->rect_float, 4*out->x*out->y*sizeof(float)); + if (out->rect) memcpy(out->rect, ibuf1->rect, 4 * out->x * out->y); + if (out->rect_float) memcpy(out->rect_float, ibuf1->rect_float, 4 * out->x * out->y * sizeof(float)); /****************I can't get this field code to work... works ok without...paprmh****************/ @@ -270,15 +270,15 @@ void plugin_seq_doit(Cast *cast, float facf0, float facf1, int x, int y, ImBuf * doblur(out, bfacf0, cast); /*fieldA*/ /* if (out->rect)out->rect += out->x * out->y; - if (out->rect_float)out->rect_float += out->x * out->y; + if (out->rect_float)out->rect_float += out->x * out->y; - doblur(out, bfacf1, cast);*/ /*fieldB*/ + doblur(out, bfacf1, cast);*/ /*fieldB*/ /* if (out->rect)out->rect -= out->x * out->y; - if (out->rect_float)out->rect_float -= out->x * out->y; - out->flags |= IB_fields; + if (out->rect_float)out->rect_float -= out->x * out->y; + out->flags |= IB_fields; - interlace(out);*/ + interlace(out);*/ } diff --git a/release/plugins/sequence/color-correction-hsv.c b/release/plugins/sequence/color-correction-hsv.c index b9ffd88b26c..f77acd2ce93 100644 --- a/release/plugins/sequence/color-correction-hsv.c +++ b/release/plugins/sequence/color-correction-hsv.c @@ -19,24 +19,24 @@ #include "plugin.h" #include <stdio.h> -char name[]= "Color Correction"; +char name[] = "Color Correction"; -VarStruct varstr[]= { - { NUMSLI|FLO, "St Y:", 0.0, -1.0, 1.0, "Setup Y"}, - { NUMSLI|FLO, "Gn Y:", 1.0, 0.0, 10.0,"Gain Y"}, - { NUMSLI|FLO, "Ga Y:", 1.0, 0.0, 10.0, "Gamma Y"}, +VarStruct varstr[] = { + { NUMSLI | FLO, "St Y:", 0.0, -1.0, 1.0, "Setup Y"}, + { NUMSLI | FLO, "Gn Y:", 1.0, 0.0, 10.0, "Gain Y"}, + { NUMSLI | FLO, "Ga Y:", 1.0, 0.0, 10.0, "Gamma Y"}, - { NUMSLI|FLO, "Lo S:", 1.0, 0.0, 10.0,"Saturation Shadows"}, - { NUMSLI|FLO, "Md S:", 1.0, 0.0, 10.0,"Saturation Midtones"}, - { NUMSLI|FLO, "Hi S:", 1.0, 0.0, 10.0,"Saturation Highlights"}, + { NUMSLI | FLO, "Lo S:", 1.0, 0.0, 10.0, "Saturation Shadows"}, + { NUMSLI | FLO, "Md S:", 1.0, 0.0, 10.0, "Saturation Midtones"}, + { NUMSLI | FLO, "Hi S:", 1.0, 0.0, 10.0, "Saturation Highlights"}, - { NUMSLI|FLO, "MA S:", 1.0, 0.0, 10.0,"Master Saturation"}, + { NUMSLI | FLO, "MA S:", 1.0, 0.0, 10.0, "Master Saturation"}, - { NUMSLI|FLO, "Lo T:", 0.25, 0.0, 1.0, + { NUMSLI | FLO, "Lo T:", 0.25, 0.0, 1.0, "Saturation Shadow Thres"}, - { NUMSLI|FLO, "Hi T:", 0.75, 0.0, 1.0, + { NUMSLI | FLO, "Hi T:", 0.75, 0.0, 1.0, "Saturation Highlights Thres"}, - { TOG|INT, "Debug", 0.0, 0.0, 1.0, + { TOG | INT, "Debug", 0.0, 0.0, 1.0, "Show curves as overlay"}, }; @@ -58,25 +58,28 @@ float cfra; void plugin_seq_doit(Cast *, float, float, int, int, ImBuf *, ImBuf *, ImBuf *, ImBuf *); -int plugin_seq_getversion(void) { return B_PLUGIN_VERSION;} +int plugin_seq_getversion(void) +{ + return B_PLUGIN_VERSION; +} void plugin_but_changed(int but) {} void plugin_init() {} void plugin_getinfo(PluginInfo *info) { - info->name= name; - info->nvars= sizeof(varstr)/sizeof(VarStruct); - info->cfra= &cfra; + info->name = name; + info->nvars = sizeof(varstr) / sizeof(VarStruct); + info->cfra = &cfra; - info->varstr= varstr; + info->varstr = varstr; - info->init= plugin_init; - info->seq_doit= (SeqDoit) plugin_seq_doit; - info->callback= plugin_but_changed; + info->init = plugin_init; + info->seq_doit = (SeqDoit) plugin_seq_doit; + info->callback = plugin_but_changed; } -static void hsv_to_rgb (double h, double s, double v, - double *r, double *g, double *b) +static void hsv_to_rgb(double h, double s, double v, + double *r, double *g, double *b) { int i; double f, w, q, t; @@ -90,8 +93,7 @@ static void hsv_to_rgb (double h, double s, double v, *g = v; *b = v; } - else - { + else { if (h == 360.0) h = 0.0; h = h / 60.0; @@ -103,42 +105,42 @@ static void hsv_to_rgb (double h, double s, double v, switch (i) { - case 0: - *r = v; - *g = t; - *b = w; - break; - case 1: - *r = q; - *g = v; - *b = w; - break; - case 2: - *r = w; - *g = v; - *b = t; - break; - case 3: - *r = w; - *g = q; - *b = v; - break; - case 4: - *r = t; - *g = w; - *b = v; - break; - case 5: - *r = v; - *g = w; - *b = q; - break; + case 0: + *r = v; + *g = t; + *b = w; + break; + case 1: + *r = q; + *g = v; + *b = w; + break; + case 2: + *r = w; + *g = v; + *b = t; + break; + case 3: + *r = w; + *g = q; + *b = v; + break; + case 4: + *r = t; + *g = w; + *b = v; + break; + case 5: + *r = v; + *g = w; + *b = q; + break; } } } -static void rgb_to_hsv (double r, double g, double b, - double *h, double *s, double *v) +static void rgb_to_hsv(double r, double g, double b, + double *h, double *s, double *v) { double max, min, delta; @@ -163,8 +165,7 @@ static void rgb_to_hsv (double r, double g, double b, if (*s == 0.0) *h = -1.0; - else - { + else { delta = max - min; if (r == max) @@ -182,7 +183,8 @@ static void rgb_to_hsv (double r, double g, double b, } void plugin_seq_doit(Cast *cast, float facf0, float facf1, int width, - int height, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *out, ImBuf *use) { + int height, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *out, ImBuf *use) +{ char *dest, *src1; int x, y, c; double gamma_table[256]; @@ -192,18 +194,19 @@ void plugin_seq_doit(Cast *cast, float facf0, float facf1, int width, if (!ibuf1) return; - dest= (char *) out->rect; - src1= (char *) ibuf1->rect; - src1f= ibuf1->rect_float; + dest = (char *) out->rect; + src1 = (char *) ibuf1->rect; + src1f = ibuf1->rect_float; for (y = 0; y < 256; y++) { float v = 1.0 * y / 255; v += cast->setup_y; v *= cast->gain_y; v = pow(v, cast->gamma_y); - if ( v > 1.0) { + if (v > 1.0) { v = 1.0; - } else if (v < 0.0) { + } + else if (v < 0.0) { v = 0.0; } gamma_table[y] = v * 255; @@ -214,9 +217,11 @@ void plugin_seq_doit(Cast *cast, float facf0, float facf1, int width, v *= cast->master_sat; if (y < cast->lo_thres * 255) { v *= cast->sat_shadows; - } else if (y > cast->hi_thres * 255) { + } + else if (y > cast->hi_thres * 255) { v *= cast->sat_highlights; - } else { + } + else { v *= cast->sat_midtones; } uv_table[y] = v; @@ -225,15 +230,15 @@ void plugin_seq_doit(Cast *cast, float facf0, float facf1, int width, for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { - double h,s,v,r,g,b; + double h, s, v, r, g, b; double fac; if (ibuf1->rect_float) rgb_to_hsv(src1f[0], src1f[1], - src1f[2],&h,&s,&v); - else rgb_to_hsv((double) src1[0]/255.0, - (double) src1[1]/255.0, - (double) src1[2]/255.0, - &h, &s, &v); + src1f[2], &h, &s, &v); + else rgb_to_hsv((double) src1[0] / 255.0, + (double) src1[1] / 255.0, + (double) src1[2] / 255.0, + &h, &s, &v); v = gamma_table[(int) (v * 255.0)] / 255.0; fac = uv_table[(int) (255.0 * v)]; @@ -242,18 +247,19 @@ void plugin_seq_doit(Cast *cast, float facf0, float facf1, int width, if (s >= 1.0) { s = 1.0; } - hsv_to_rgb(h,s,v, &r, &g, &b); + hsv_to_rgb(h, s, v, &r, &g, &b); if (out->rect_float) { destf[0] = r; destf[1] = g; destf[2] = b; destf = destf + 4; - src1f +=4; - } else { - dest[0] = r*255.0; - dest[1] = g*255.0; - dest[2] = b*255.0; + src1f += 4; + } + else { + dest[0] = r * 255.0; + dest[1] = g * 255.0; + dest[2] = b * 255.0; dest += 4; } @@ -262,7 +268,7 @@ void plugin_seq_doit(Cast *cast, float facf0, float facf1, int width, } if (cast->debug) { - dest= (char *) out->rect; + dest = (char *) out->rect; for (c = 0; c < 10; c++) { x = 0; for (y = 0; y < 256; y++) { @@ -279,7 +285,7 @@ void plugin_seq_doit(Cast *cast, float facf0, float facf1, int width, for (c = 0; c < 10; c++) { x = 0; for (y = 0; y < 256; y++) { - char val = uv_table[y] * 255.0/10.0; + char val = uv_table[y] * 255.0 / 10.0; while (x < y * width / 255) { *dest++ = val; *dest++ = val; diff --git a/release/plugins/sequence/dnr.c b/release/plugins/sequence/dnr.c index 9c42098c248..d374c40633c 100644 --- a/release/plugins/sequence/dnr.c +++ b/release/plugins/sequence/dnr.c @@ -132,8 +132,9 @@ void plugin_seq_doit(Cast *cast, float facf0, float facf1, int width, d->last_level = cast->level; } - if (width != d->last_width || height != d->last_height - || cfra != d->last_cfra + 1) { + if (width != d->last_width || height != d->last_height || + cfra != d->last_cfra + 1) + { free(d->last_frame); d->last_frame = (unsigned char*) calloc(width * height, 4); diff --git a/release/plugins/sequence/scatter.c b/release/plugins/sequence/scatter.c index 73e97e165ca..a480f194bea 100644 --- a/release/plugins/sequence/scatter.c +++ b/release/plugins/sequence/scatter.c @@ -31,25 +31,25 @@ /* ******************** GLOBAL VARIABLES ***************** */ -char name[24]= "scatter"; +char name[24] = "scatter"; /* structure for buttons, * butcode name default min max 0 */ -VarStruct varstr[]= { - LABEL, "Input: 1 strip", 0.0, 0.0, 0.0, "", - NUM|INT, "seed: ", 1.0, 0.0, 10.0, "Offset in random table", - NUMSLI|FLO, "swing: ", 1.0, 0.0, 3.0, "The amplitude, width of the effect", - TOG|INT, "wrap", 0.0, 0.0, 1.0, "Cyclic wrap around the left/right edges", - NUM|INT, "type: ", 1.0, 0.0, 1.0, "Type 1 is random for each frame", +VarStruct varstr[] = { + LABEL, "Input: 1 strip", 0.0, 0.0, 0.0, "", + NUM | INT, "seed: ", 1.0, 0.0, 10.0, "Offset in random table", + NUMSLI | FLO, "swing: ", 1.0, 0.0, 3.0, "The amplitude, width of the effect", + TOG | INT, "wrap", 0.0, 0.0, 1.0, "Cyclic wrap around the left/right edges", + NUM | INT, "type: ", 1.0, 0.0, 1.0, "Type 1 is random for each frame", }; /* The cast struct is for input in the main doit function Varstr and Cast must have the same variables in the same order */ typedef struct Cast { - int dummy; /* because of the 'label' button */ + int dummy; /* because of the 'label' button */ int seed; float swing; int wrap; @@ -80,57 +80,57 @@ void plugin_init() void plugin_getinfo(PluginInfo *info) { - info->name= name; - info->nvars= sizeof(varstr)/sizeof(VarStruct); - info->cfra= &cfra; + info->name = name; + info->nvars = sizeof(varstr) / sizeof(VarStruct); + info->cfra = &cfra; - info->varstr= varstr; + info->varstr = varstr; - info->init= plugin_init; - info->seq_doit= (SeqDoit) plugin_seq_doit; - info->callback= plugin_but_changed; + info->init = plugin_init; + info->seq_doit = (SeqDoit) plugin_seq_doit; + info->callback = plugin_but_changed; } /* ************************************************************ - Scatter + Scatter - ************************************************************ */ +************************************************************ */ static void rectcpy(ImBuf *dbuf, ImBuf *sbuf, - int destx, int desty, - int srcx, int srcy, int width, int height) + int destx, int desty, + int srcx, int srcy, int width, int height) { - uint *drect,*srect; + uint *drect, *srect; float *dfrect, *sfrect; int tmp; if (dbuf == 0) return; - if (destx < 0){ - srcx -= destx ; - width += destx ; + if (destx < 0) { + srcx -= destx; + width += destx; destx = 0; } - if (srcx < 0){ - destx -= srcx ; - width += destx ; + if (srcx < 0) { + destx -= srcx; + width += destx; srcx = 0; } - if (desty < 0){ - srcy -= desty ; - height += desty ; + if (desty < 0) { + srcy -= desty; + height += desty; desty = 0; } - if (srcy < 0){ - desty -= srcy ; - height += desty ; + if (srcy < 0) { + desty -= srcy; + height += desty; srcy = 0; } if (width > dbuf->x - destx) width = dbuf->x - destx; if (height > dbuf->y - desty) height = dbuf->y - desty; - if (sbuf){ + if (sbuf) { if (width > sbuf->x - srcx) width = sbuf->x - srcx; if (height > sbuf->y - srcy) height = sbuf->y - srcy; srect = sbuf->rect; @@ -151,23 +151,25 @@ static void rectcpy(ImBuf *dbuf, ImBuf *sbuf, destx = dbuf->x; if (sbuf) { - tmp = (srcy * sbuf->x + srcx ); + tmp = (srcy * sbuf->x + srcx); if (dbuf->rect_float) sfrect += 4 * tmp; else srect += tmp; srcx = sbuf->x; - } else{ + } + else { if (dbuf->rect_float) sfrect = dfrect; else srect = drect; srcx = destx; } - for (;height > 0; height--){ + for (; height > 0; height--) { if (dbuf->rect_float) { - memcpy(dfrect,sfrect, 4 * width * sizeof(float)); + memcpy(dfrect, sfrect, 4 * width * sizeof(float)); dfrect += destx; sfrect += srcx; - } else { - memcpy(drect,srect, width * sizeof(int)); + } + else { + memcpy(drect, srect, width * sizeof(int)); drect += destx; srect += srcx; } @@ -176,21 +178,22 @@ static void rectcpy(ImBuf *dbuf, ImBuf *sbuf, static void fill_out(ImBuf *out, float r, float g, float b, float a) { - int tot,x; + int tot, x; float *rectf = out->rect_float; unsigned char *rect = (unsigned char *)out->rect; tot = out->x * out->y; if (out->rect_float) { - for (x = 0;x < tot; x++) { + for (x = 0; x < tot; x++) { rectf[0] = r; rectf[1] = g; rectf[2] = b; rectf[3] = a; rectf += 4; } - } else { - for (x=0;x < tot;x++) { + } + else { + for (x = 0; x < tot; x++) { rect[0] = (int)(r * 255); rect[1] = (int)(g * 255); rect[2] = (int)(b * 255); @@ -207,7 +210,7 @@ void plugin_seq_doit(Cast *cast, float facf0, float facf1, int sx, int sy, ImBuf int x, y, lr; /* fill imbuf 'out' with black */ - fill_out(out, 0,0,0,0); + fill_out(out, 0, 0, 0, 0); switch (cast->type) { @@ -228,9 +231,10 @@ void plugin_seq_doit(Cast *cast, float facf0, float facf1, int sx, int sy, ImBuf f1 = cast->swing * f1; f2 = cast->swing * f2; if (cast->wrap) f2 += 1.0; - lr = drand48()>0.5; + lr = drand48() > 0.5; t1 = facf0; - } else t1 = facf1; + } + else t1 = facf1; t2 = 1.0 - t1; t3 = 3.0 * (f1 * t1 * t1 * t2 + f2 * t1 * t2 * t2); diff --git a/release/scripts/presets/operator/wm.collada_export/second_life.py b/release/scripts/presets/operator/wm.collada_export/second_life.py new file mode 100644 index 00000000000..5e04903470b --- /dev/null +++ b/release/scripts/presets/operator/wm.collada_export/second_life.py @@ -0,0 +1,7 @@ +import bpy +op = bpy.context.active_operator + +op.selected = True +op.apply_modifiers = True +op.include_bone_children = False +op.second_life = True diff --git a/release/scripts/startup/bl_operators/anim.py b/release/scripts/startup/bl_operators/anim.py index 2689cfda8eb..5a428467f12 100644 --- a/release/scripts/startup/bl_operators/anim.py +++ b/release/scripts/startup/bl_operators/anim.py @@ -223,6 +223,11 @@ class BakeAction(Operator): return {'FINISHED'} def invoke(self, context, event): + scene = context.scene + self.frame_start = scene.frame_start + self.frame_end = scene.frame_end + self.bake_types = {'POSE'} if context.mode == 'POSE' else {'OBJECT'} + wm = context.window_manager return wm.invoke_props_dialog(self) diff --git a/release/scripts/startup/bl_operators/object.py b/release/scripts/startup/bl_operators/object.py index 358919ac888..151e1e93d8c 100644 --- a/release/scripts/startup/bl_operators/object.py +++ b/release/scripts/startup/bl_operators/object.py @@ -35,7 +35,7 @@ class SelectPattern(Operator): pattern = StringProperty( name="Pattern", description="Name filter using '*' and '?' wildcard chars", - maxlen=32, + maxlen=64, default="*", ) case_sensitive = BoolProperty( diff --git a/release/scripts/startup/bl_operators/presets.py b/release/scripts/startup/bl_operators/presets.py index 05f7f3f0367..4171b8b3c2c 100644 --- a/release/scripts/startup/bl_operators/presets.py +++ b/release/scripts/startup/bl_operators/presets.py @@ -452,6 +452,24 @@ class AddPresetTrackingSettings(AddPresetBase, Operator): preset_subdir = "tracking_settings" +class AddPresetNodeColor(AddPresetBase, Operator): + '''Add a Node Color Preset''' + bl_idname = "node.node_color_preset_add" + bl_label = "Add Node Color Preset" + preset_menu = "NODE_MT_node_color_presets" + + preset_defines = [ + "node = bpy.context.active_node" + ] + + preset_values = [ + "node.color", + "node.use_custom_color" + ] + + preset_subdir = "node_color" + + class AddPresetInterfaceTheme(AddPresetBase, Operator): '''Add a theme preset''' bl_idname = "wm.interface_theme_preset_add" diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py index 883bac84e78..6fa7cbd0abd 100644 --- a/release/scripts/startup/bl_operators/wm.py +++ b/release/scripts/startup/bl_operators/wm.py @@ -1077,7 +1077,7 @@ class WM_OT_properties_context_change(Operator): context = StringProperty( name="Context", - maxlen=32, + maxlen=64, ) def execute(self, context): @@ -1803,7 +1803,7 @@ class WM_OT_addon_remove(Operator): path, isdir = WM_OT_addon_remove.path_from_addon(self.module) if path is None: - self.report('WARNING', "Addon path %r could not be found" % path) + self.report({'WARNING'}, "Addon path %r could not be found" % path) return {'CANCELLED'} # in case its enabled diff --git a/release/scripts/startup/bl_ui/properties_animviz.py b/release/scripts/startup/bl_ui/properties_animviz.py index 3c1f910814a..3011f55fcb3 100644 --- a/release/scripts/startup/bl_ui/properties_animviz.py +++ b/release/scripts/startup/bl_ui/properties_animviz.py @@ -70,8 +70,12 @@ class MotionPathButtonsPanel(): else: col.operator("object.paths_update", text="Update Paths", icon='OBJECT_DATA') else: - col.label(text="Not available yet...", icon='ERROR') - col.label(text="Calculate Paths first", icon='INFO') + sub = col.column(align=True) + sub.label(text="Nothing to show yet...", icon='ERROR') + if bones: + sub.operator("pose.paths_calculate", text="Calculate...", icon='BONE_DATA') + else: + sub.operator("object.paths_calculate", text="Calculate...", icon='OBJECT_DATA') # Display Settings split = layout.split() diff --git a/release/scripts/startup/bl_ui/properties_data_mesh.py b/release/scripts/startup/bl_ui/properties_data_mesh.py index fd96fa4a0ce..7ca464ce055 100644 --- a/release/scripts/startup/bl_ui/properties_data_mesh.py +++ b/release/scripts/startup/bl_ui/properties_data_mesh.py @@ -262,6 +262,7 @@ class DATA_PT_shape_keys(MeshButtonsPanel, Panel): col.prop_search(kb, "relative_key", key, "key_blocks", text="") else: + layout.prop(kb, "interpolation") row = layout.column() row.active = enable_edit_value row.prop(key, "eval_time") diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py index 218585c320f..2e980f776a1 100644 --- a/release/scripts/startup/bl_ui/properties_data_modifier.py +++ b/release/scripts/startup/bl_ui/properties_data_modifier.py @@ -682,6 +682,7 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel): row = row.row() row.active = md.use_rim row.prop(md, "material_offset_rim", text="Rim") + sub.prop(md, "use_flip_normals") def SUBSURF(self, layout, ob, md): layout.row().prop(md, "subdivision_type", expand=True) @@ -959,5 +960,29 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel): layout.separator() self.vertex_weight_mask(layout, ob, md) + def SKIN(self, layout, ob, md): + layout.operator("object.skin_armature_create", text="Create Armature") + + layout.separator() + layout.prop(md, "branch_smoothing") + layout.prop(md, "use_smooth_shade") + + layout.label(text="Selected Vertices:") + split = layout.split() + + col = split.column(align=True) + col.operator("object.skin_loose_mark_clear", text="Mark Loose").action = "MARK" + col.operator("object.skin_loose_mark_clear", text="Clear Loose").action = "CLEAR" + + col = split.column() + col.operator("object.skin_root_mark", text="Mark Root") + col.operator("object.skin_radii_equalize", text="Equalize Radii") + + layout.label(text="Symmetry Axes:") + col = layout.column() + col.prop(md, "use_x_symmetry") + col.prop(md, "use_y_symmetry") + col.prop(md, "use_z_symmetry") + if __name__ == "__main__": # only for live edit. bpy.utils.register_module(__name__) diff --git a/release/scripts/startup/bl_ui/space_dopesheet.py b/release/scripts/startup/bl_ui/space_dopesheet.py index e39ed4ec326..8e955338480 100644 --- a/release/scripts/startup/bl_ui/space_dopesheet.py +++ b/release/scripts/startup/bl_ui/space_dopesheet.py @@ -149,6 +149,7 @@ class DOPESHEET_MT_view(Menu): layout.prop(st, "use_realtime_update") layout.prop(st, "show_frame_indicator") layout.prop(st, "show_sliders") + layout.prop(st, "show_group_colors") layout.prop(st, "use_auto_merge_keyframes") layout.prop(st, "use_marker_sync") diff --git a/release/scripts/startup/bl_ui/space_graph.py b/release/scripts/startup/bl_ui/space_graph.py index 8c28835fa99..972b4ebe721 100644 --- a/release/scripts/startup/bl_ui/space_graph.py +++ b/release/scripts/startup/bl_ui/space_graph.py @@ -75,6 +75,7 @@ class GRAPH_MT_view(Menu): layout.prop(st, "show_frame_indicator") layout.prop(st, "show_cursor") layout.prop(st, "show_sliders") + layout.prop(st, "show_group_colors") layout.prop(st, "use_auto_merge_keyframes") layout.separator() diff --git a/release/scripts/startup/bl_ui/space_info.py b/release/scripts/startup/bl_ui/space_info.py index 0c38829b54f..9cf4a337483 100644 --- a/release/scripts/startup/bl_ui/space_info.py +++ b/release/scripts/startup/bl_ui/space_info.py @@ -156,7 +156,7 @@ class INFO_MT_file_import(Menu): def draw(self, context): if hasattr(bpy.types, "WM_OT_collada_import"): - self.layout.operator("wm.collada_import", text="COLLADA (.dae)") + self.layout.operator("wm.collada_import", text="Collada (Default) (.dae)") class INFO_MT_file_export(Menu): @@ -165,7 +165,7 @@ class INFO_MT_file_export(Menu): def draw(self, context): if hasattr(bpy.types, "WM_OT_collada_export"): - self.layout.operator("wm.collada_export", text="COLLADA (.dae)") + self.layout.operator("wm.collada_export", text="Collada (Default) (.dae)") class INFO_MT_file_external_data(Menu): diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py index 11c258ef689..fd47b3b809c 100644 --- a/release/scripts/startup/bl_ui/space_node.py +++ b/release/scripts/startup/bl_ui/space_node.py @@ -225,5 +225,23 @@ class NODE_PT_quality(bpy.types.Panel): layout.prop(tree, "chunksize") layout.prop(tree, "use_opencl") + +class NODE_MT_node_color_presets(Menu): + """Predefined node color""" + bl_label = "Color Presets" + preset_subdir = "node_color" + preset_operator = "script.execute_preset" + draw = Menu.draw_preset + + +class NODE_MT_node_color_specials(Menu): + bl_label = "Node Color Specials" + + def draw(self, context): + layout = self.layout + + layout.operator('node.node_copy_color', icon='COPY_ID') + + if __name__ == "__main__": # only for live edit. bpy.utils.register_module(__name__) diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py index c155128c5d1..732f675c208 100644 --- a/release/scripts/startup/bl_ui/space_sequencer.py +++ b/release/scripts/startup/bl_ui/space_sequencer.py @@ -153,7 +153,7 @@ class SEQUENCER_MT_select(Menu): layout.operator_menu_enum("sequencer.select_grouped", "type", text="Grouped") layout.operator("sequencer.select_linked") layout.operator("sequencer.select_all").action = 'TOGGLE' - layout.operator("sequencer.select_all").action = 'INVERT' + layout.operator("sequencer.select_all", text="Inverse").action = 'INVERT' class SEQUENCER_MT_marker(Menu): @@ -346,6 +346,7 @@ class SEQUENCER_PT_edit(SequencerButtonsPanel, Panel): def draw(self, context): layout = self.layout + scene = context.scene frame_current = scene.frame_current strip = act_strip(context) @@ -394,9 +395,9 @@ class SEQUENCER_PT_edit(SequencerButtonsPanel, Panel): elem = strip.elements[0] if elem and elem.orig_width > 0 and elem.orig_height > 0: - col.label(text="Orig Dim" + ": %dx%d" % (elem.orig_width, elem.orig_height)) + col.label(text="Original Dimension" + ": %dx%d" % (elem.orig_width, elem.orig_height)) else: - col.label(text="Orig Dim: None") + col.label(text="Original Dimension: None") class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel): @@ -413,7 +414,6 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel): return strip.type in {'ADD', 'SUBTRACT', 'ALPHA_OVER', 'ALPHA_UNDER', 'CROSS', 'GAMMA_CROSS', 'MULTIPLY', 'OVER_DROP', - 'PLUGIN', 'WIPE', 'GLOW', 'TRANSFORM', 'COLOR', 'SPEED', 'MULTICAM', 'ADJUSTMENT'} @@ -426,14 +426,11 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel): col.prop(strip, "input_1") if strip.input_count > 1: col.prop(strip, "input_2") - if strip.input_count > 2: - col.prop(strip, "input_3") if strip.type == 'COLOR': layout.prop(strip, "color") elif strip.type == 'WIPE': - col = layout.column() col.prop(strip, "transition_type") col.label(text="Direction:") @@ -469,7 +466,34 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel): #layout.prop(strip, "use_frame_blend") elif strip.type == 'TRANSFORM': - self.draw_panel_transform(strip) + layout = self.layout + col = layout.column() + + col.prop(strip, "interpolation") + col.prop(strip, "translation_unit") + col = layout.column(align=True) + col.label(text="Position:") + col.prop(strip, "translate_start_x", text="X") + col.prop(strip, "translate_start_y", text="Y") + + layout.separator() + + col = layout.column(align=True) + col.prop(strip, "use_uniform_scale") + if (strip.use_uniform_scale): + col = layout.column(align=True) + col.prop(strip, "scale_start_x", text="Scale") + else: + col = layout.column(align=True) + col.label(text="Scale:") + col.prop(strip, "scale_start_x", text="X") + col.prop(strip, "scale_start_y", text="Y") + + layout.separator() + + col = layout.column(align=True) + col.label(text="Rotation:") + col.prop(strip, "rotation_start", text="Rotation") elif strip.type == 'MULTICAM': layout.prop(strip, "multicam_source") @@ -492,50 +516,6 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel): if not strip.use_default_fade: col.prop(strip, "effect_fader", text="Effect fader") - layout.prop(strip, "use_translation", text="Image Offset:") - if strip.use_translation: - col = layout.column(align=True) - col.prop(strip.transform, "offset_x", text="X") - col.prop(strip.transform, "offset_y", text="Y") - - layout.prop(strip, "use_crop", text="Image Crop:") - if strip.use_crop: - col = layout.column(align=True) - col.prop(strip.crop, "max_y") - col.prop(strip.crop, "min_x") - col.prop(strip.crop, "min_y") - col.prop(strip.crop, "max_x") - - def draw_panel_transform(self, strip): - layout = self.layout - col = layout.column() - - col.prop(strip, "interpolation") - col.prop(strip, "translation_unit") - col = layout.column(align=True) - col.label(text="Position:") - col.prop(strip, "translate_start_x", text="X") - col.prop(strip, "translate_start_y", text="Y") - - layout.separator() - - col = layout.column(align=True) - col.prop(strip, "use_uniform_scale") - if (strip.use_uniform_scale): - col = layout.column(align=True) - col.prop(strip, "scale_start_x", text="Scale") - else: - col = layout.column(align=True) - col.label(text="Scale:") - col.prop(strip, "scale_start_x", text="X") - col.prop(strip, "scale_start_y", text="Y") - - layout.separator() - - col = layout.column(align=True) - col.label(text="Rotation:") - col.prop(strip, "rotation_start", text="Rotation") - class SEQUENCER_PT_input(SequencerButtonsPanel, Panel): bl_label = "Strip Input" @@ -552,7 +532,7 @@ class SEQUENCER_PT_input(SequencerButtonsPanel, Panel): return strip.type in {'MOVIE', 'IMAGE', 'SCENE', 'MOVIECLIP', 'META', 'ADD', 'SUBTRACT', 'ALPHA_OVER', 'ALPHA_UNDER', 'CROSS', 'GAMMA_CROSS', 'MULTIPLY', 'OVER_DROP', - 'WIPE', 'GLOW', 'TRANSFORM', + 'WIPE', 'GLOW', 'TRANSFORM', 'COLOR', 'MULTICAM', 'SPEED', 'ADJUSTMENT'} def draw(self, context): @@ -565,43 +545,34 @@ class SEQUENCER_PT_input(SequencerButtonsPanel, Panel): # draw a filename if we have one if seq_type == 'IMAGE': split = layout.split(percentage=0.2) - col = split.column() - col.label(text="Path:") - col = split.column() - col.prop(strip, "directory", text="") + split.label(text="Path:") + split.prop(strip, "directory", text="") # Current element for the filename elem = strip.getStripElem(context.scene.frame_current) if elem: split = layout.split(percentage=0.2) - col = split.column() - col.label(text="File:") - col = split.column() - col.prop(elem, "filename", text="") # strip.elements[0] could be a fallback + split.label(text="File:") + split.prop(elem, "filename", text="") # strip.elements[0] could be a fallback - # also accessible from the menu layout.operator("sequencer.change_path") elif seq_type == 'MOVIE': split = layout.split(percentage=0.2) - col = split.column() - col.label(text="Path:") - col = split.column() - col.prop(strip, "filepath", text="") - col.prop(strip, "mpeg_preseek", text="MPEG Preseek") - col.prop(strip, "stream_index", text="Stream Index") - - # TODO, sound??? - # end drawing filename - - layout.prop(strip, "use_translation", text="Image Offset:") + split.label(text="Path:") + split.prop(strip, "filepath", text="") + + layout.prop(strip, "mpeg_preseek") + layout.prop(strip, "stream_index") + + layout.prop(strip, "use_translation", text="Image Offset") if strip.use_translation: col = layout.column(align=True) col.prop(strip.transform, "offset_x", text="X") col.prop(strip.transform, "offset_y", text="Y") - layout.prop(strip, "use_crop", text="Image Crop:") + layout.prop(strip, "use_crop", text="Image Crop") if strip.use_crop: col = layout.column(align=True) col.prop(strip.crop, "max_y") @@ -734,15 +705,17 @@ class SEQUENCER_PT_filter(SequencerButtonsPanel, Panel): col = layout.column() col.label(text="Distortion:") col.prop(strip, "undistort") + + split = layout.split(percentage=0.65) - row = layout.row() - row.label(text="Flip:") - row.prop(strip, "use_flip_x", text="X") - row.prop(strip, "use_flip_y", text="Y") - - col = layout.column() + col = split.column() col.prop(strip, "use_reverse_frames", text="Backwards") col.prop(strip, "use_deinterlace") + + col = split.column() + col.label(text="Flip:") + col.prop(strip, "use_flip_x", text="X") + col.prop(strip, "use_flip_y", text="Y") col = layout.column() col.label(text="Colors:") @@ -835,14 +808,6 @@ class SEQUENCER_PT_preview(SequencerButtonsPanel_Output, Panel): #col.active = render.use_sequencer_gl_preview col.prop(render, "sequencer_gl_preview", text="") - ''' - col = layout.column() - col.prop(render, "use_sequencer_gl_render", text="Open GL Render") - col = layout.column() - col.active = render.use_sequencer_gl_render - col.prop(render, "sequencer_gl_render", text="") - ''' - class SEQUENCER_PT_view(SequencerButtonsPanel_Output, Panel): bl_label = "View Settings" @@ -854,9 +819,9 @@ class SEQUENCER_PT_view(SequencerButtonsPanel_Output, Panel): col = layout.column() if st.display_mode == 'IMAGE': - col.prop(st, "draw_overexposed") # text="Zebra" + col.prop(st, "draw_overexposed") col.prop(st, "show_safe_margin") - if st.display_mode == 'WAVEFORM': + elif st.display_mode == 'WAVEFORM': col.prop(st, "show_separate_color") col.prop(st, "proxy_render_size") diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index 7f4b0b7a18c..bcab691c2cd 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -1916,7 +1916,7 @@ class VIEW3D_MT_edit_mesh_delete(Menu): layout.operator("mesh.dissolve") layout.operator("mesh.edge_collapse") - layout.operator("mesh.delete_edgeloop") + layout.operator("mesh.delete_edgeloop", text="Edge Loop") class VIEW3D_MT_edit_mesh_dissolve(Menu): @@ -2401,6 +2401,8 @@ class VIEW3D_PT_view3d_display(Panel): col.prop(gs, "material_mode", text="") col.prop(view, "show_textured_solid") + col.prop(view, "show_backface_culling") + layout.separator() region = view.region_quadview diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py index d3a8427aa16..a1f616cc237 100644 --- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py +++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py @@ -873,6 +873,8 @@ class VIEW3D_PT_sculpt_options(Panel, View3DPaintPanel): layout.prop(sculpt, "show_brush") layout.prop(sculpt, "use_deform_only") + layout.prop(sculpt, "input_samples") + self.unified_paint_settings(layout, context) @@ -984,6 +986,8 @@ class VIEW3D_PT_tools_weightpaint_options(Panel, View3DPaintPanel): col.prop(mesh, "use_mirror_x") col.prop(mesh, "use_mirror_topology") + col.prop(wpaint, "input_samples") + self.unified_paint_settings(col, context) # Commented out because the Apply button isn't an operator yet, making these settings useless @@ -1014,6 +1018,8 @@ class VIEW3D_PT_tools_vertexpaint(Panel, View3DPaintPanel): col.prop(vpaint, "use_normal") col.prop(vpaint, "use_spray") + col.prop(vpaint, "input_samples") + self.unified_paint_settings(col, context) # Commented out because the Apply button isn't an operator yet, making these settings useless diff --git a/source/blender/avi/intern/avi.c b/source/blender/avi/intern/avi.c index 861e07f6eb3..e00982bae72 100644 --- a/source/blender/avi/intern/avi.c +++ b/source/blender/avi/intern/avi.c @@ -215,7 +215,8 @@ int AVI_is_avi(char *name) if (GET_FCC(fp) != FCC("RIFF") || !GET_FCC(fp) || - GET_FCC(fp) != FCC("AVI ")) { + GET_FCC(fp) != FCC("AVI ")) + { ret = 0; } else { @@ -245,7 +246,8 @@ int AVI_is_avi(const char *name) return 0; if (GET_FCC(movie.fp) != FCC("RIFF") || - !(movie.size = GET_FCC(movie.fp))) { + !(movie.size = GET_FCC(movie.fp))) + { fclose(movie.fp); return 0; } @@ -257,7 +259,8 @@ int AVI_is_avi(const char *name) !GET_FCC(movie.fp) || GET_FCC(movie.fp) != FCC("hdrl") || (movie.header->fcc = GET_FCC(movie.fp)) != FCC("avih") || - !(movie.header->size = GET_FCC(movie.fp))) { + !(movie.header->size = GET_FCC(movie.fp))) + { DEBUG_PRINT("bad initial header info\n"); fclose(movie.fp); return 0; @@ -378,8 +381,7 @@ int AVI_is_avi(const char *name) fcca = bi->Compression; - if (movie.streams[temp].format == - AVI_FORMAT_AVI_RGB) { + if (movie.streams[temp].format == AVI_FORMAT_AVI_RGB) { if (fcca == FCC("DIB ") || fcca == FCC("RGB ") || fcca == FCC("rgb ") || @@ -829,8 +831,8 @@ AviError AVI_open_compress(char *name, AviMovie *movie, int streams, ...) if (movie->streams[i].sh.Type == FCC("vids")) { #if 0 if (movie->streams[i].format == AVI_FORMAT_MJPEG) { - movie->streams[i].sf = MEM_mallocN(sizeof(AviBitmapInfoHeader) - + sizeof(AviMJPEGUnknown), "moviestreamformatL"); + movie->streams[i].sf = MEM_mallocN(sizeof(AviBitmapInfoHeader) + + sizeof(AviMJPEGUnknown), "moviestreamformatL"); movie->streams[i].sf_size = sizeof(AviBitmapInfoHeader) + sizeof(AviMJPEGUnknown); } else { diff --git a/source/blender/avi/intern/avirgb.c b/source/blender/avi/intern/avirgb.c index 78316990d54..7a95972845a 100644 --- a/source/blender/avi/intern/avirgb.c +++ b/source/blender/avi/intern/avirgb.c @@ -59,7 +59,7 @@ void *avi_converter_from_avi_rgb(AviMovie *movie, int stream, unsigned char *buf unsigned char *to; #ifdef __BIG_ENDIAN__ unsigned char *pxla; -#endif +#endif buf = MEM_mallocN(movie->header->Height * movie->header->Width * 3, "fromavirgbbuf"); diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h index 7cc5d16dcc1..e2bca1bb93e 100644 --- a/source/blender/blenkernel/BKE_blender.h +++ b/source/blender/blenkernel/BKE_blender.h @@ -42,14 +42,14 @@ extern "C" { * and keep comment above the defines. * Use STRINGIFY() rather than defining with quotes */ #define BLENDER_VERSION 263 -#define BLENDER_SUBVERSION 5 +#define BLENDER_SUBVERSION 7 #define BLENDER_MINVERSION 250 #define BLENDER_MINSUBVERSION 0 /* used by packaging tools */ /* can be left blank, otherwise a,b,c... etc with no quotes */ -#define BLENDER_VERSION_CHAR +#define BLENDER_VERSION_CHAR a /* alpha/beta/rc/release, docs use this */ #define BLENDER_VERSION_CYCLE alpha diff --git a/source/blender/blenkernel/BKE_fcurve.h b/source/blender/blenkernel/BKE_fcurve.h index 9dae38d0a65..f7aa4470c19 100644 --- a/source/blender/blenkernel/BKE_fcurve.h +++ b/source/blender/blenkernel/BKE_fcurve.h @@ -218,7 +218,7 @@ void calc_fcurve_range(struct FCurve *fcu, float *min, float *max, /* get the bounding-box extents for F-Curve */ void calc_fcurve_bounds(struct FCurve *fcu, float *xmin, float *xmax, float *ymin, float *ymax, - const short do_sel_only); + const short do_sel_only, const short include_handles); /* .............. */ diff --git a/source/blender/blenkernel/BKE_key.h b/source/blender/blenkernel/BKE_key.h index 4240ef16100..1ad451b0937 100644 --- a/source/blender/blenkernel/BKE_key.h +++ b/source/blender/blenkernel/BKE_key.h @@ -55,9 +55,9 @@ struct Key *copy_key_nolib(struct Key *key); void BKE_key_make_local(struct Key *key); void sort_keys(struct Key *key); -void key_curve_position_weights(float t, float *data, int type); -void key_curve_tangent_weights(float t, float *data, int type); -void key_curve_normal_weights(float t, float *data, int type); +void key_curve_position_weights(float t, float data[4], int type); +void key_curve_tangent_weights(float t, float data[4], int type); +void key_curve_normal_weights(float t, float data[4], int type); float *do_ob_key(struct Scene *scene, struct Object *ob); diff --git a/source/blender/blenkernel/BKE_mesh.h b/source/blender/blenkernel/BKE_mesh.h index c168c39fd9f..7abec074647 100644 --- a/source/blender/blenkernel/BKE_mesh.h +++ b/source/blender/blenkernel/BKE_mesh.h @@ -111,6 +111,10 @@ int poly_find_loop_from_vert(const struct MPoly *poly, int poly_get_adj_loops_from_vert(unsigned adj_r[3], const struct MPoly *poly, const struct MLoop *mloop, unsigned vert); +/* Return the index of the edge vert that is not equal to 'v'. If + * neither edge vertex is equal to 'v', returns -1. */ +int BKE_mesh_edge_other_vert(const struct MEdge *e, int v); + /* update the hide flag for edges and polys from the corresponding * flag in verts */ void BKE_mesh_flush_hidden_from_verts(const struct MVert *mvert, diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index a6018a45821..2632a982a01 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -248,6 +248,12 @@ typedef struct bNodeType { #define NODE_OLD_SHADING 1 #define NODE_NEW_SHADING 2 +/* node resize directions */ +#define NODE_RESIZE_TOP 1 +#define NODE_RESIZE_BOTTOM 2 +#define NODE_RESIZE_RIGHT 4 +#define NODE_RESIZE_LEFT 8 + /* enum values for input/output */ #define SOCK_IN 1 #define SOCK_OUT 2 @@ -348,7 +354,8 @@ void nodeRemLink(struct bNodeTree *ntree, struct bNodeLink *link); void nodeRemSocketLinks(struct bNodeTree *ntree, struct bNodeSocket *sock); void nodeInternalRelink(struct bNodeTree *ntree, struct bNode *node); -void nodeSpaceCoords(struct bNode *node, float *locx, float *locy); +void nodeToView(struct bNode *node, float x, float y, float *rx, float *ry); +void nodeFromView(struct bNode *node, float x, float y, float *rx, float *ry); void nodeAttachNode(struct bNode *node, struct bNode *parent); void nodeDetachNode(struct bNode *node); @@ -516,6 +523,7 @@ struct ShadeResult; #define SH_NODE_TEX_CHECKER 164 #define SH_NODE_BRIGHTCONTRAST 165 #define SH_NODE_LIGHT_FALLOFF 166 +#define SH_NODE_OBJECT_INFO 167 /* custom defines options for Material node */ #define SH_NODE_MAT_DIFF 1 diff --git a/source/blender/blenkernel/BKE_object.h b/source/blender/blenkernel/BKE_object.h index 1cdf2ee2e14..890fc40c284 100644 --- a/source/blender/blenkernel/BKE_object.h +++ b/source/blender/blenkernel/BKE_object.h @@ -53,6 +53,7 @@ struct MovieClip; void BKE_object_workob_clear(struct Object *workob); void BKE_object_workob_calc_parent(struct Scene *scene, struct Object *ob, struct Object *workob); +void BKE_object_transform_copy(struct Object *ob_tar, const struct Object *ob_src); struct SoftBody *copy_softbody(struct SoftBody *sb); struct BulletSoftBody *copy_bulletsoftbody(struct BulletSoftBody *sb); void BKE_object_copy_particlesystems(struct Object *obn, struct Object *ob); diff --git a/source/blender/blenkernel/BKE_screen.h b/source/blender/blenkernel/BKE_screen.h index 7223008afad..e99fc413ca1 100644 --- a/source/blender/blenkernel/BKE_screen.h +++ b/source/blender/blenkernel/BKE_screen.h @@ -153,6 +153,8 @@ typedef struct ARegionType { int keymapflag; /* return without drawing. lock is set by region definition, and copied to do_lock by render. can become flag */ short do_lock, lock; + /* call cursor function on each move event */ + short event_cursor; } ARegionType; /* panel types */ diff --git a/source/blender/blenkernel/BKE_sequencer.h b/source/blender/blenkernel/BKE_sequencer.h index 4ddafbbaae9..f06e0e2f71a 100644 --- a/source/blender/blenkernel/BKE_sequencer.h +++ b/source/blender/blenkernel/BKE_sequencer.h @@ -67,8 +67,8 @@ void seq_end(SeqIterator *iter); void seq_array(struct Editing *ed, struct Sequence ***seqarray, int *tot, int use_pointer); #define SEQP_BEGIN(ed, _seq) \ - { \ - SeqIterator iter; \ + { \ + SeqIterator iter; \ for (seq_begin(ed, &iter, 1); iter.valid; seq_next(&iter)) { \ _seq = iter.seq; @@ -79,8 +79,8 @@ void seq_array(struct Editing *ed, struct Sequence ***seqarray, int *tot, int us _seq = iter.seq; #define SEQ_END \ - } \ - seq_end(&iter); \ + } \ + seq_end(&iter); \ } typedef struct SeqRenderData { diff --git a/source/blender/blenkernel/intern/CCGSubSurf.c b/source/blender/blenkernel/intern/CCGSubSurf.c index 6f768a147f7..e4309a64e56 100644 --- a/source/blender/blenkernel/intern/CCGSubSurf.c +++ b/source/blender/blenkernel/intern/CCGSubSurf.c @@ -1166,7 +1166,8 @@ CCGError ccgSubSurf_syncVert(CCGSubSurf *ss, CCGVertHDL vHDL, const void *vertDa v->flags = Vert_eEffected | seamflag; } else if (!VertDataEqual(vertData, _vert_getCo(v, 0, ss->meshIFC.vertDataSize), ss) || - ((v->flags & Vert_eSeam) != seamflag)) { + ((v->flags & Vert_eSeam) != seamflag)) + { *prevp = v->next; _ehash_insert(ss->vMap, (EHEntry *) v); VertDataCopy(_vert_getCo(v, 0, ss->meshIFC.vertDataSize), vertData, ss); diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index 18560d3dbc0..7e2d881689c 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -1546,7 +1546,7 @@ static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos /* if this is not the last modifier in the stack then recalculate the normals * to avoid giving bogus normals to the next modifier see: [#23673] */ - if (isPrevDeform && mti->dependsOnNormals && mti->dependsOnNormals(md)) { + if (isPrevDeform && mti->dependsOnNormals && mti->dependsOnNormals(md)) { /* XXX, this covers bug #23673, but we may need normal calc for other types */ if (dm && dm->type == DM_TYPE_CDDM) { CDDM_apply_vert_coords(dm, deformedVerts); @@ -2942,7 +2942,7 @@ static void navmesh_drawColored(DerivedMesh *dm) #endif glDisable(GL_LIGHTING); - /* if (GPU_buffer_legacy(dm) ) */ { /* TODO - VBO draw code, not high priority - campbell */ + /* if (GPU_buffer_legacy(dm) ) */ { /* TODO - VBO draw code, not high priority - campbell */ DEBUG_VBO("Using legacy code. drawNavMeshColored\n"); //glShadeModel(GL_SMOOTH); glBegin(glmode = GL_QUADS); diff --git a/source/blender/blenkernel/intern/action.c b/source/blender/blenkernel/intern/action.c index 0f8716e2b04..233647c9ec6 100644 --- a/source/blender/blenkernel/intern/action.c +++ b/source/blender/blenkernel/intern/action.c @@ -247,7 +247,7 @@ void set_active_action_group(bAction *act, bActionGroup *agrp, short select) for (grp = act->groups.first; grp; grp = grp->next) { if ((grp == agrp) && (select)) grp->flag |= AGRP_ACTIVE; - else + else grp->flag &= ~AGRP_ACTIVE; } } @@ -958,7 +958,7 @@ short action_get_item_transforms(bAction *act, Object *ob, bPoseChannel *pchan, RNA_pointer_create((ID *)ob, &RNA_PoseBone, pchan, &ptr); else if (ob) RNA_id_pointer_create((ID *)ob, &ptr); - else + else return 0; /* get the basic path to the properties of interest */ diff --git a/source/blender/blenkernel/intern/anim.c b/source/blender/blenkernel/intern/anim.c index ed6eceb036b..f73221066b1 100644 --- a/source/blender/blenkernel/intern/anim.c +++ b/source/blender/blenkernel/intern/anim.c @@ -452,7 +452,7 @@ void animviz_calc_motionpaths(Scene *scene, ListBase *targets) /* get pointer to animviz settings for each target */ if (mpt->pchan) avs = &mpt->ob->pose->avs; - else + else avs = &mpt->ob->avs; /* clear the flag requesting recalculation of targets */ @@ -751,14 +751,14 @@ static void group_duplilist(ListBase *lb, Scene *scene, Object *ob, int level, i dob = new_dupli_object(lb, go->ob, mat, ob->lay, 0, OB_DUPLIGROUP, animated); /* check the group instance and object layers match, also that the object visible flags are ok. */ - if ( (dob->origlay & group->layer) == 0 || - (G.rendering == 0 && dob->ob->restrictflag & OB_RESTRICT_VIEW) || - (G.rendering && dob->ob->restrictflag & OB_RESTRICT_RENDER) - ) { - dob->no_draw = 1; + if ((dob->origlay & group->layer) == 0 || + (G.rendering == 0 && dob->ob->restrictflag & OB_RESTRICT_VIEW) || + (G.rendering && dob->ob->restrictflag & OB_RESTRICT_RENDER)) + { + dob->no_draw = TRUE; } else { - dob->no_draw = 0; + dob->no_draw = FALSE; } if (go->ob->transflag & OB_DUPLI) { diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c index fe95d15f82e..752036c6b9f 100644 --- a/source/blender/blenkernel/intern/armature.c +++ b/source/blender/blenkernel/intern/armature.c @@ -437,7 +437,7 @@ Mat4 *b_bone_spline_setup(bPoseChannel *pchan, int rest) float h1[3], h2[3], scale[3], length, hlength1, hlength2, roll1 = 0.0f, roll2; float mat3[3][3], imat[4][4], posemat[4][4], scalemat[4][4], iscalemat[4][4]; float data[MAX_BBONE_SUBDIV + 1][4], *fp; - int a, doscale = 0; + int a, do_scale = 0; length = bone->length; @@ -455,7 +455,7 @@ Mat4 *b_bone_spline_setup(bPoseChannel *pchan, int rest) invert_m4_m4(iscalemat, scalemat); length *= scale[1]; - doscale = 1; + do_scale = 1; } } @@ -476,7 +476,7 @@ Mat4 *b_bone_spline_setup(bPoseChannel *pchan, int rest) if (rest) { invert_m4_m4(imat, pchan->bone->arm_mat); } - else if (doscale) { + else if (do_scale) { copy_m4_m4(posemat, pchan->pose_mat); normalize_m4(posemat); invert_m4_m4(imat, posemat); @@ -581,7 +581,7 @@ Mat4 *b_bone_spline_setup(bPoseChannel *pchan, int rest) copy_m4_m3(result_array[a].mat, mat3); copy_v3_v3(result_array[a].mat[3], fp); - if (doscale) { + if (do_scale) { /* correct for scaling when this matrix is used in scaled space */ mul_serie_m4(result_array[a].mat, iscalemat, result_array[a].mat, scalemat, NULL, NULL, NULL, NULL, NULL); } @@ -835,7 +835,7 @@ void armature_deform_verts(Object *armOb, Object *target, DerivedMesh *dm, float const short invert_vgroup = deformflag & ARM_DEF_INVERT_VGROUP; int defbase_tot = 0; /* safety for vertexgroup index overflow */ int i, target_totvert = 0; /* safety for vertexgroup overflow */ - int use_dverts = 0; + int use_dverts = FALSE; int armature_def_nr; int totchan; @@ -895,11 +895,12 @@ void armature_deform_verts(Object *armOb, Object *target, DerivedMesh *dm, float if (deformflag & ARM_DEF_VGROUP) { if (ELEM(target->type, OB_MESH, OB_LATTICE)) { /* if we have a DerivedMesh, only use dverts if it has them */ - if (dm) - if (dm->getVertData(dm, 0, CD_MDEFORMVERT)) - use_dverts = 1; - else use_dverts = 0; - else if (dverts) use_dverts = 1; + if (dm) { + use_dverts = (dm->getVertData(dm, 0, CD_MDEFORMVERT) != NULL); + } + else if (dverts) { + use_dverts = TRUE; + } if (use_dverts) { defnrToPC = MEM_callocN(sizeof(*defnrToPC) * defbase_tot, "defnrToBone"); @@ -2245,13 +2246,13 @@ static void do_strip_modifiers(Scene *scene, Object *armob, Bone *bone, bPoseCha int do_modif; for (strip = armob->nlastrips.first; strip; strip = strip->next) { - do_modif = 0; + do_modif = FALSE; if (scene_cfra >= strip->start && scene_cfra <= strip->end) - do_modif = 1; + do_modif = TRUE; if ((scene_cfra > strip->end) && (strip->flag & ACTSTRIP_HOLDLASTFRAME)) { - do_modif = 1; + do_modif = TRUE; /* if there are any other strips active, ignore modifiers for this strip - * 'hold' option should only hold action modifiers if there are @@ -2261,7 +2262,7 @@ static void do_strip_modifiers(Scene *scene, Object *armob, Bone *bone, bPoseCha if (scene_cfra >= strip2->start && scene_cfra <= strip2->end) { if (!(strip2->flag & ACTSTRIP_MUTE)) - do_modif = 0; + do_modif = FALSE; } } @@ -2270,7 +2271,7 @@ static void do_strip_modifiers(Scene *scene, Object *armob, Bone *bone, bPoseCha for (strip2 = strip->next; strip2; strip2 = strip2->next) { if (scene_cfra < strip2->start) continue; if ((strip2->flag & ACTSTRIP_HOLDLASTFRAME) && !(strip2->flag & ACTSTRIP_MUTE)) { - do_modif = 0; + do_modif = FALSE; } } } diff --git a/source/blender/blenkernel/intern/blender.c b/source/blender/blenkernel/intern/blender.c index b2cbf0a1ce1..e6333ed74aa 100644 --- a/source/blender/blenkernel/intern/blender.c +++ b/source/blender/blenkernel/intern/blender.c @@ -334,8 +334,10 @@ static int handle_subversion_warning(Main *main, ReportList *reports) { if (main->minversionfile > BLENDER_VERSION || (main->minversionfile == BLENDER_VERSION && - main->minsubversionfile > BLENDER_SUBVERSION)) { - BKE_reportf(reports, RPT_ERROR, "File written by newer Blender binary: %d.%d , expect loss of data!", main->minversionfile, main->minsubversionfile); + main->minsubversionfile > BLENDER_SUBVERSION)) + { + BKE_reportf(reports, RPT_ERROR, "File written by newer Blender binary: %d.%d, expect loss of data!", + main->minversionfile, main->minsubversionfile); } return 1; diff --git a/source/blender/blenkernel/intern/brush.c b/source/blender/blenkernel/intern/brush.c index f019287144d..741d4b729ae 100644 --- a/source/blender/blenkernel/intern/brush.c +++ b/source/blender/blenkernel/intern/brush.c @@ -1329,7 +1329,7 @@ struct ImBuf *BKE_brush_gen_radial_control_imbuf(Brush *br) for (i = 0; i < side; ++i) { for (j = 0; j < side; ++j) { - float magn = sqrt(pow(i - half, 2) + pow(j - half, 2)); + float magn = sqrtf(powf(i - half, 2) + powf(j - half, 2)); im->rect_float[i * side + j] = BKE_brush_curve_strength_clamp(br, magn, half); } } diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c index 3450408a0a0..f6eee44b92c 100644 --- a/source/blender/blenkernel/intern/cdderivedmesh.c +++ b/source/blender/blenkernel/intern/cdderivedmesh.c @@ -636,13 +636,12 @@ static void cdDM_drawFacesTex_common(DerivedMesh *dm, else { if (index) { orig = *index++; - if (orig == ORIGINDEX_NONE) { if (nors) nors += 3; continue; } - if (drawParamsMapped) draw_option = drawParamsMapped(userData, orig); - else { if (nors) nors += 3; continue; } + if (orig == ORIGINDEX_NONE) { if (nors) nors += 3; continue; } + if (drawParamsMapped) { draw_option = drawParamsMapped(userData, orig); } + else { if (nors) nors += 3; continue; } } - else - if (drawParamsMapped) draw_option = drawParamsMapped(userData, i); - else { if (nors) nors += 3; continue; } + else if (drawParamsMapped) { draw_option = drawParamsMapped(userData, i); } + else { if (nors) nors += 3; continue; } } if (draw_option != DM_DRAW_OPTION_SKIP) { @@ -1039,13 +1038,13 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, MFace *mface = cddm->mface; /* MTFace *tf = dm->getTessFaceDataArray(dm, CD_MTFACE); */ /* UNUSED */ float (*nors)[3] = dm->getTessFaceDataArray(dm, CD_NORMAL); - int a, b, dodraw, matnr, new_matnr; + int a, b, do_draw, matnr, new_matnr; int orig, *index = dm->getTessFaceDataArray(dm, CD_ORIGINDEX); cdDM_update_normals_from_pbvh(dm); matnr = -1; - dodraw = 0; + do_draw = FALSE; glShadeModel(GL_SMOOTH); @@ -1062,14 +1061,14 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, if (new_matnr != matnr) { glEnd(); - dodraw = setMaterial(matnr = new_matnr, &gattribs); - if (dodraw) + do_draw = setMaterial(matnr = new_matnr, &gattribs); + if (do_draw) DM_vertex_attributes_from_gpu(dm, &gattribs, &attribs); glBegin(GL_QUADS); } - if (!dodraw) { + if (!do_draw) { continue; } else if (setDrawOptions) { @@ -1139,7 +1138,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, numfaces = curface - start; if (numfaces > 0) { - if (dodraw) { + if (do_draw) { if (numdata != 0) { @@ -1161,9 +1160,9 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, } numdata = 0; start = curface; - /* prevdraw = dodraw; */ /* UNUSED */ - dodraw = setMaterial(matnr = new_matnr, &gattribs); - if (dodraw) { + /* prevdraw = do_draw; */ /* UNUSED */ + do_draw = setMaterial(matnr = new_matnr, &gattribs); + if (do_draw) { DM_vertex_attributes_from_gpu(dm, &gattribs, &attribs); if (attribs.totorco) { @@ -1215,7 +1214,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, } } - if (dodraw && numdata != 0) { + if (do_draw && numdata != 0) { offset = 0; if (attribs.totorco) { copy_v3_v3((float *)&varray[elementsize * curface * 3], (float *)attribs.orco.array[mface->v1]); @@ -1257,7 +1256,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, } curface++; if (mface->v4) { - if (dodraw && numdata != 0) { + if (do_draw && numdata != 0) { offset = 0; if (attribs.totorco) { copy_v3_v3((float *)&varray[elementsize * curface * 3], (float *)attribs.orco.array[mface->v3]); @@ -1302,7 +1301,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, } numfaces = curface - start; if (numfaces > 0) { - if (dodraw) { + if (do_draw) { if (numdata != 0) { GPU_buffer_unlock(buffer); GPU_interleaved_attrib_setup(buffer, datatypes, numdata); @@ -1472,9 +1471,9 @@ static void cdDM_foreachMappedFaceCenter( void *userData) { CDDerivedMesh *cddm = (CDDerivedMesh *)dm; - MVert *mv = cddm->mvert; - MPoly *mp = cddm->mpoly; - MLoop *ml = cddm->mloop; + MVert *mvert = cddm->mvert; + MPoly *mp; + MLoop *ml; int i, j, orig, *index; index = CustomData_get_layer(&dm->polyData, CD_ORIGINDEX); @@ -1493,23 +1492,23 @@ static void cdDM_foreachMappedFaceCenter( ml = &cddm->mloop[mp->loopstart]; cent[0] = cent[1] = cent[2] = 0.0f; for (j = 0; j < mp->totloop; j++, ml++) { - add_v3_v3v3(cent, cent, mv[ml->v].co); + add_v3_v3v3(cent, cent, mvert[ml->v].co); } mul_v3_fl(cent, 1.0f / (float)j); ml = &cddm->mloop[mp->loopstart]; if (j > 3) { normal_quad_v3(no, - mv[(ml + 0)->v].co, - mv[(ml + 1)->v].co, - mv[(ml + 2)->v].co, - mv[(ml + 3)->v].co); + mvert[(ml + 0)->v].co, + mvert[(ml + 1)->v].co, + mvert[(ml + 2)->v].co, + mvert[(ml + 3)->v].co); } else { normal_tri_v3(no, - mv[(ml + 0)->v].co, - mv[(ml + 1)->v].co, - mv[(ml + 2)->v].co); + mvert[(ml + 0)->v].co, + mvert[(ml + 1)->v].co, + mvert[(ml + 2)->v].co); } func(userData, orig, cent, no); @@ -1892,6 +1891,14 @@ DerivedMesh *CDDM_from_BMEditMesh(BMEditMesh *em, Mesh *UNUSED(me), int use_mdis med->flag = BM_edge_flag_to_mflag(eed); + /* handle this differently to editmode switching, + * only enable draw for single user edges rather then calculating angle */ + if ((med->flag & ME_EDGEDRAW) == 0) { + if (eed->l && eed->l == eed->l->radial_next) { + med->flag |= ME_EDGEDRAW; + } + } + CustomData_from_bmesh_block(&bm->edata, &dm->edgeData, eed->head.data, i); if (add_orig) *index = i; } @@ -2397,11 +2404,13 @@ void CDDM_calc_edges_tessface(DerivedMesh *dm) CustomData_add_layer(&edgeData, CD_MEDGE, CD_CALLOC, NULL, numEdges); CustomData_add_layer(&edgeData, CD_ORIGINDEX, CD_CALLOC, NULL, numEdges); - ehi = BLI_edgehashIterator_new(eh); med = CustomData_get_layer(&edgeData, CD_MEDGE); index = CustomData_get_layer(&edgeData, CD_ORIGINDEX); - for (i = 0; !BLI_edgehashIterator_isDone(ehi); - BLI_edgehashIterator_step(ehi), ++i, ++med, ++index) { + + for (ehi = BLI_edgehashIterator_new(eh), i = 0; + BLI_edgehashIterator_isDone(ehi) == FALSE; + BLI_edgehashIterator_step(ehi), ++i, ++med, ++index) + { BLI_edgehashIterator_getKey(ehi, &med->v1, &med->v2); med->flag = ME_EDGEDRAW | ME_EDGERENDER; @@ -2460,11 +2469,13 @@ void CDDM_calc_edges(DerivedMesh *dm) CustomData_add_layer(&edgeData, CD_MEDGE, CD_CALLOC, NULL, numEdges); CustomData_add_layer(&edgeData, CD_ORIGINDEX, CD_CALLOC, NULL, numEdges); - ehi = BLI_edgehashIterator_new(eh); med = CustomData_get_layer(&edgeData, CD_MEDGE); index = CustomData_get_layer(&edgeData, CD_ORIGINDEX); - for (i = 0; !BLI_edgehashIterator_isDone(ehi); - BLI_edgehashIterator_step(ehi), ++i, ++med, ++index) { + + for (ehi = BLI_edgehashIterator_new(eh), i = 0; + BLI_edgehashIterator_isDone(ehi) == FALSE; + BLI_edgehashIterator_step(ehi), ++i, ++med, ++index) + { BLI_edgehashIterator_getKey(ehi, &med->v1, &med->v2); j = GET_INT_FROM_POINTER(BLI_edgehashIterator_getValue(ehi)); diff --git a/source/blender/blenkernel/intern/cloth.c b/source/blender/blenkernel/intern/cloth.c index b38f0f78cdb..e067b7195ce 100644 --- a/source/blender/blenkernel/intern/cloth.c +++ b/source/blender/blenkernel/intern/cloth.c @@ -429,10 +429,10 @@ static DerivedMesh *cloth_to_triangles(DerivedMesh *dm) MFace *mface2 = NULL; /* calc faces */ - for(i = 0; i < numfaces; i++) - { - if(mface[i].v4) + for (i = 0; i < numfaces; i++) { + if (mface[i].v4) { quads++; + } } result = CDDM_from_template(dm, dm->getNumVerts(dm), 0, numfaces + quads, 0, 0); @@ -443,8 +443,7 @@ static DerivedMesh *cloth_to_triangles(DerivedMesh *dm) DM_ensure_tessface(result); mface2 = result->getTessFaceArray(result); - for(i = 0, j = numfaces; i < numfaces; i++) - { + for (i = 0, j = numfaces; i < numfaces; i++) { // DG TODO: is this necessary? mface2[i].v1 = mface[i].v1; mface2[i].v2 = mface[i].v2; @@ -453,8 +452,7 @@ static DerivedMesh *cloth_to_triangles(DerivedMesh *dm) mface2[i].v4 = 0; //test_index_face(&mface2[i], &result->faceData, i, 3); - if(mface[i].v4) - { + if (mface[i].v4) { DM_copy_tessface_data(dm, result, i, j, 1); mface2[j].v1 = mface[i].v1; diff --git a/source/blender/blenkernel/intern/collision.c b/source/blender/blenkernel/intern/collision.c index a93653537c7..7c5cf68affa 100644 --- a/source/blender/blenkernel/intern/collision.c +++ b/source/blender/blenkernel/intern/collision.c @@ -345,19 +345,17 @@ static int cloth_collision_response_static ( ClothModifierData *clmd, CollisionM } } - if(result) - { + if (result) { int i = 0; - for(i = 0; i < 3; i++) - { - if(cloth1->verts[collpair->ap1].impulse_count > 0 && ABS(cloth1->verts[collpair->ap1].impulse[i]) < ABS(i1[i])) + for (i = 0; i < 3; i++) { + if (cloth1->verts[collpair->ap1].impulse_count > 0 && ABS(cloth1->verts[collpair->ap1].impulse[i]) < ABS(i1[i])) cloth1->verts[collpair->ap1].impulse[i] = i1[i]; - if(cloth1->verts[collpair->ap2].impulse_count > 0 && ABS(cloth1->verts[collpair->ap2].impulse[i]) < ABS(i2[i])) + if (cloth1->verts[collpair->ap2].impulse_count > 0 && ABS(cloth1->verts[collpair->ap2].impulse[i]) < ABS(i2[i])) cloth1->verts[collpair->ap2].impulse[i] = i2[i]; - if(cloth1->verts[collpair->ap3].impulse_count > 0 && ABS(cloth1->verts[collpair->ap3].impulse[i]) < ABS(i3[i])) + if (cloth1->verts[collpair->ap3].impulse_count > 0 && ABS(cloth1->verts[collpair->ap3].impulse[i]) < ABS(i3[i])) cloth1->verts[collpair->ap3].impulse[i] = i3[i]; } } @@ -681,8 +679,9 @@ static int cloth_bvh_objcollisions_resolve ( ClothModifierData * clmd, Collision } } - if(!result) + if (!result) { break; + } } return ret; } diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c index a1f87762db7..da9350cc7b9 100644 --- a/source/blender/blenkernel/intern/constraint.c +++ b/source/blender/blenkernel/intern/constraint.c @@ -3155,7 +3155,7 @@ static void clampto_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *tar /* find bounding-box range where target is located */ if (ownLoc[clamp_axis] < curveMin[clamp_axis]) { /* bounding-box range is before */ - offset = curveMin[clamp_axis] - ceil((curveMin[clamp_axis] - ownLoc[clamp_axis]) / len) * len; + offset = curveMin[clamp_axis] - ceilf((curveMin[clamp_axis] - ownLoc[clamp_axis]) / len) * len; /* now, we calculate as per normal, except using offset instead of curveMin[clamp_axis] */ curvetime = (ownLoc[clamp_axis] - offset) / (len); diff --git a/source/blender/blenkernel/intern/context.c b/source/blender/blenkernel/intern/context.c index d736309f605..4cdb4e1b66e 100644 --- a/source/blender/blenkernel/intern/context.c +++ b/source/blender/blenkernel/intern/context.c @@ -44,6 +44,7 @@ #include "BLI_listbase.h" #include "BLI_string.h" +#include "BLI_utildefines.h" #include "BKE_context.h" #include "BKE_main.h" @@ -251,7 +252,7 @@ static int ctx_data_get(bContext *C, const char *member, bContextDataResult *res bScreen *sc; ScrArea *sa; ARegion *ar; - int done = 0, recursion = C->data.recursion; + int done = FALSE, recursion = C->data.recursion; int ret = 0; memset(result, 0, sizeof(bContextDataResult)); @@ -279,7 +280,7 @@ static int ctx_data_get(bContext *C, const char *member, bContextDataResult *res entry = BLI_rfindstring(&C->wm.store->entries, member, offsetof(bContextStoreEntry, name)); if (entry) { result->ptr = entry->ptr; - done = 1; + done = TRUE; } } if (done != 1 && recursion < 2 && (ar = CTX_wm_region(C))) { diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c index 6a0991cf4e5..ce62b9c10dc 100644 --- a/source/blender/blenkernel/intern/curve.c +++ b/source/blender/blenkernel/intern/curve.c @@ -378,7 +378,7 @@ void BKE_curve_texspace_calc(Curve *cu) DispList *dl; BoundBox *bb; float *fp, min[3], max[3]; - int tot, doit = 0; + int tot, do_it = FALSE; if (cu->bb == NULL) cu->bb = MEM_callocN(sizeof(BoundBox), "boundbox"); @@ -390,7 +390,7 @@ void BKE_curve_texspace_calc(Curve *cu) while (dl) { tot = ELEM(dl->type, DL_INDEX3, DL_INDEX4) ? dl->nr : dl->nr * dl->parts; - if (tot) doit = 1; + if (tot) do_it = TRUE; fp = dl->verts; while (tot--) { minmax_v3v3_v3(min, max, fp); @@ -399,7 +399,7 @@ void BKE_curve_texspace_calc(Curve *cu) dl = dl->next; } - if (!doit) { + if (do_it == FALSE) { min[0] = min[1] = min[2] = -1.0f; max[0] = max[1] = max[2] = 1.0f; } @@ -1272,12 +1272,12 @@ float *BKE_curve_surf_make_orco(Object *ob) for (b = 0; b < sizeu; b++) { int use_b = b; if (b == sizeu - 1 && (nu->flagu & CU_NURB_CYCLIC)) - use_b = 0; + use_b = FALSE; for (a = 0; a < sizev; a++) { int use_a = a; if (a == sizev - 1 && (nu->flagv & CU_NURB_CYCLIC)) - use_a = 0; + use_a = FALSE; tdata = _tdata + 3 * (use_b * (nu->pntsv * resolv) + use_a); @@ -2216,7 +2216,7 @@ void BKE_curve_bevelList_make(Object *ob) /* check if we will calculate tilt data */ do_tilt = CU_DO_TILT(cu, nu); do_radius = CU_DO_RADIUS(cu, nu); /* normal display uses the radius, better just to calculate them */ - do_weight = 1; + do_weight = TRUE; /* check we are a single point? also check we are not a surface and that the orderu is sane, * enforced in the UI but can go wrong possibly */ diff --git a/source/blender/blenkernel/intern/customdata.c b/source/blender/blenkernel/intern/customdata.c index 90a3e617477..4e7653e2473 100644 --- a/source/blender/blenkernel/intern/customdata.c +++ b/source/blender/blenkernel/intern/customdata.c @@ -992,6 +992,38 @@ static void layerInterp_shapekey(void **sources, float *weights, } } +static void layerDefault_mvert_skin(void *data, int count) +{ + MVertSkin *vs = data; + int i; + + for (i = 0; i < count; i++) { + copy_v3_fl(vs[i].radius, 0.25f); + vs[i].flag = 0; + } +} + +static void layerInterp_mvert_skin(void **sources, float *weights, + float *UNUSED(sub_weights), + int count, void *dest) +{ + float radius[3], w; + MVertSkin *vs; + int i; + + zero_v3(radius); + for (i = 0; i < count; i++) { + w = weights ? weights[i] : 1.0f; + vs = sources[i]; + + madd_v3_v3fl(radius, vs->radius, w); + } + + vs = dest; + copy_v3_v3(vs->radius, radius); + vs->flag &= ~MVERT_SKIN_ROOT; +} + static const LayerTypeInfo LAYERTYPEINFO[CD_NUMTYPES] = { /* 0: CD_MVERT */ {sizeof(MVert), "MVert", 1, NULL, NULL, NULL, NULL, NULL, NULL}, @@ -1093,7 +1125,10 @@ static const LayerTypeInfo LAYERTYPEINFO[CD_NUMTYPES] = { {sizeof(float), "", 0, NULL, NULL, NULL, NULL, NULL, NULL}, /* 35: CD_GRID_PAINT_MASK */ {sizeof(GridPaintMask), "GridPaintMask", 1, NULL, layerCopy_grid_paint_mask, - layerFree_grid_paint_mask, NULL, NULL, NULL} + layerFree_grid_paint_mask, NULL, NULL, NULL}, + /* 36: CD_SKIN_NODE */ + {sizeof(MVertSkin), "MVertSkin", 1, "Skin", NULL, NULL, + layerInterp_mvert_skin, NULL, layerDefault_mvert_skin} }; /* note, numbers are from trunk and need updating for bmesh */ @@ -1108,10 +1143,7 @@ static const char *LAYERTYPENAMES[CD_NUMTYPES] = { /* BMESH ONLY */ /* 25-29 */ "CDMPoly", "CDMLoop", "CDShapeKeyIndex", "CDShapeKey", "CDBevelWeight", /* 30-34 */ "CDSubSurfCrease", "CDOrigSpaceLoop", "CDPreviewLoopCol", "CDBMElemPyPtr", "CDPaintMask", - /* 35 */ "CDGridPaintMask" - -/* END BMESH ONLY */ - + /* 35-36 */ "CDGridPaintMask", "CDMVertSkin" }; @@ -1123,26 +1155,26 @@ const CustomDataMask CD_MASK_MESH = CD_MASK_PROP_FLT | CD_MASK_PROP_INT | CD_MASK_PROP_STR | CD_MASK_MDISPS | CD_MASK_MLOOPUV | CD_MASK_MLOOPCOL | CD_MASK_MPOLY | CD_MASK_MLOOP | CD_MASK_MTEXPOLY | CD_MASK_NORMAL | CD_MASK_RECAST | CD_MASK_PAINT_MASK | - CD_MASK_GRID_PAINT_MASK; + CD_MASK_GRID_PAINT_MASK | CD_MASK_MVERT_SKIN; const CustomDataMask CD_MASK_EDITMESH = CD_MASK_MSTICKY | CD_MASK_MDEFORMVERT | CD_MASK_MTFACE | CD_MASK_MLOOPUV | CD_MASK_MLOOPCOL | CD_MASK_MTEXPOLY | CD_MASK_SHAPE_KEYINDEX | CD_MASK_MCOL | CD_MASK_PROP_FLT | CD_MASK_PROP_INT | CD_MASK_PROP_STR | CD_MASK_MDISPS | CD_MASK_SHAPEKEY | CD_MASK_RECAST | CD_MASK_PAINT_MASK | - CD_MASK_GRID_PAINT_MASK; + CD_MASK_GRID_PAINT_MASK | CD_MASK_MVERT_SKIN; const CustomDataMask CD_MASK_DERIVEDMESH = CD_MASK_MSTICKY | CD_MASK_MDEFORMVERT | CD_MASK_MTFACE | CD_MASK_MCOL | CD_MASK_PROP_FLT | CD_MASK_PROP_INT | CD_MASK_CLOTH_ORCO | CD_MASK_MLOOPUV | CD_MASK_MLOOPCOL | CD_MASK_MTEXPOLY | CD_MASK_PREVIEW_MLOOPCOL | CD_MASK_PROP_STR | CD_MASK_ORIGSPACE | CD_MASK_ORIGSPACE_MLOOP | CD_MASK_ORCO | CD_MASK_TANGENT | CD_MASK_PREVIEW_MCOL | CD_MASK_NORMAL | CD_MASK_SHAPEKEY | CD_MASK_RECAST | - CD_MASK_ORIGINDEX | CD_MASK_POLYINDEX; + CD_MASK_ORIGINDEX | CD_MASK_POLYINDEX | CD_MASK_MVERT_SKIN; const CustomDataMask CD_MASK_BMESH = CD_MASK_MLOOPUV | CD_MASK_MLOOPCOL | CD_MASK_MTEXPOLY | CD_MASK_MSTICKY | CD_MASK_MDEFORMVERT | CD_MASK_PROP_FLT | CD_MASK_PROP_INT | CD_MASK_PROP_STR | CD_MASK_SHAPEKEY | CD_MASK_SHAPE_KEYINDEX | CD_MASK_MDISPS | CD_MASK_CREASE | CD_MASK_BWEIGHT | CD_MASK_RECAST | CD_MASK_PAINT_MASK | - CD_MASK_GRID_PAINT_MASK; + CD_MASK_GRID_PAINT_MASK | CD_MASK_MVERT_SKIN; const CustomDataMask CD_MASK_FACECORNERS = CD_MASK_MTFACE | CD_MASK_MCOL | CD_MASK_MTEXPOLY | CD_MASK_MLOOPUV | CD_MASK_MLOOPCOL; @@ -2323,7 +2355,8 @@ void CustomData_bmesh_copy_data(const CustomData *source, CustomData *dest, /* if we found a matching layer, copy the data */ if (dest->layers[dest_i].type == source->layers[src_i].type && - strcmp(dest->layers[dest_i].name, source->layers[src_i].name) == 0) { + strcmp(dest->layers[dest_i].name, source->layers[src_i].name) == 0) + { char *src_data = (char *)src_block + source->layers[src_i].offset; char *dest_data = (char *)*dest_block + dest->layers[dest_i].offset; diff --git a/source/blender/blenkernel/intern/deform.c b/source/blender/blenkernel/intern/deform.c index 0396733760f..547a64a70d4 100644 --- a/source/blender/blenkernel/intern/deform.c +++ b/source/blender/blenkernel/intern/deform.c @@ -538,7 +538,7 @@ void flip_side_name(char name[MAX_VGROUP_NAME], const char from_name[MAX_VGROUP_ break; } } - /* case; beginning with r R l L , with separator after it */ + /* case; beginning with r R l L, with separator after it */ else if (is_char_sep(name[1])) { switch (name[0]) { case 'l': diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c index e44264c8d4b..2b08c085417 100644 --- a/source/blender/blenkernel/intern/depsgraph.c +++ b/source/blender/blenkernel/intern/depsgraph.c @@ -2631,7 +2631,7 @@ void DAG_ids_flush_tagged(Main *bmain) ListBase *lbarray[MAX_LIBARRAY]; Scene *sce; unsigned int lay; - int a, do_flush = 0; + int a, do_flush = FALSE; dag_current_scene_layers(bmain, &sce, &lay); @@ -2651,7 +2651,7 @@ void DAG_ids_flush_tagged(Main *bmain) for (; id; id = id->next) { if (id->flag & (LIB_ID_RECALC | LIB_ID_RECALC_DATA)) { dag_id_flush_update(sce, id); - do_flush = 1; + do_flush = TRUE; } } } diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c index 9274d7aefcb..2493507dca4 100644 --- a/source/blender/blenkernel/intern/displist.c +++ b/source/blender/blenkernel/intern/displist.c @@ -901,7 +901,8 @@ static void curve_calc_modifiers_post(Scene *scene, Object *ob, ListBase *dispba continue; if (mti->type == eModifierTypeType_OnlyDeform || - (mti->type == eModifierTypeType_DeformOrConstruct && !dm)) { + (mti->type == eModifierTypeType_DeformOrConstruct && !dm)) + { if (editmode) appf |= MOD_APPLY_USECACHE; if (dm) { diff --git a/source/blender/blenkernel/intern/dynamicpaint.c b/source/blender/blenkernel/intern/dynamicpaint.c index b3ed3dcaf1d..eb5e4e4f8b5 100644 --- a/source/blender/blenkernel/intern/dynamicpaint.c +++ b/source/blender/blenkernel/intern/dynamicpaint.c @@ -276,12 +276,12 @@ DynamicPaintSurface *get_activeSurface(DynamicPaintCanvasSettings *canvas) void dynamicPaint_resetPreview(DynamicPaintCanvasSettings *canvas) { DynamicPaintSurface *surface = canvas->surfaces.first; - int done = 0; + int done = FALSE; for (; surface; surface = surface->next) { if (!done && dynamicPaint_surfaceHasColorPreview(surface)) { surface->flags |= MOD_DPAINT_PREVIEW; - done = 1; + done = TRUE; } else surface->flags &= ~MOD_DPAINT_PREVIEW; @@ -575,16 +575,16 @@ static int surface_getBrushFlags(DynamicPaintSurface *surface, Scene *scene) brushObj = NULL; /* select object */ - if (surface->brush_group) { + if (surface->brush_group) { if (go->ob) brushObj = go->ob; - } - else + } + else brushObj = base->object; if (!brushObj) { if (surface->brush_group) go = go->next; else base = base->next; - continue; + continue; } if (surface->brush_group) @@ -2035,7 +2035,8 @@ static int dynamicPaint_findNeighbourPixel(PaintUVPoint *tempPoints, DerivedMesh int v4 = (mface[i].v4) ? mface[i].v4 : -1; if ((e1_index == mface[i].v1 || e1_index == mface[i].v2 || e1_index == mface[i].v3 || e1_index == v4) && - (e2_index == mface[i].v1 || e2_index == mface[i].v2 || e2_index == mface[i].v3 || e2_index == v4)) { + (e2_index == mface[i].v1 || e2_index == mface[i].v2 || e2_index == mface[i].v3 || e2_index == v4)) + { if (i == cPoint->face_index) continue; target_face = i; @@ -3511,7 +3512,8 @@ static int dynamicPaint_paintMesh(DynamicPaintSurface *surface, } /* get final object space depth */ else if (surface->type == MOD_DPAINT_SURFACE_T_DISPLACE || - surface->type == MOD_DPAINT_SURFACE_T_WAVE) { + surface->type == MOD_DPAINT_SURFACE_T_WAVE) + { depth /= bData->bNormal[index].normal_scale * total_sample; } @@ -3569,7 +3571,7 @@ static int dynamicPaint_paintParticles(DynamicPaintSurface *surface, tree = BLI_kdtree_new(psys->totpart); /* loop through particles and insert valid ones to the tree */ - for (p = 0, pa = psys->particles; p < psys->totpart; p++, pa++) { + for (p = 0, pa = psys->particles; p < psys->totpart; p++, pa++) { /* Proceed only if particle is active */ if (pa->alive == PARS_UNBORN && (part->flag & PART_UNBORN) == 0) continue; @@ -3803,8 +3805,8 @@ static int dynamicPaint_paintSinglePoint(DynamicPaintSurface *surface, float *po /* Smooth range or color ramp */ if (brush->proximity_falloff == MOD_DPAINT_PRFALL_SMOOTH || - brush->proximity_falloff == MOD_DPAINT_PRFALL_RAMP) { - + brush->proximity_falloff == MOD_DPAINT_PRFALL_RAMP) + { strength = 1.0f - distance / brush_radius; CLAMP(strength, 0.0f, 1.0f); } @@ -3855,7 +3857,8 @@ static int dynamicPaint_paintSinglePoint(DynamicPaintSurface *surface, float *po if (surface->type == MOD_DPAINT_SURFACE_T_PAINT) { if (brush->proximity_falloff == MOD_DPAINT_PRFALL_RAMP && - !(brush->flags & MOD_DPAINT_RAMP_ALPHA)) { + !(brush->flags & MOD_DPAINT_RAMP_ALPHA)) + { paintColor[0] = colorband[0]; paintColor[1] = colorband[1]; paintColor[2] = colorband[2]; @@ -4400,7 +4403,8 @@ void dynamicPaint_doWaveStep(DynamicPaintSurface *surface, float timescale) avg_dist = (numOfN) ? avg_dist / numOfN : 0.0f; if (surface->flags & MOD_DPAINT_WAVE_OPEN_BORDERS && - sData->adj_data->flags[index] & ADJ_ON_MESH_EDGE) { + sData->adj_data->flags[index] & ADJ_ON_MESH_EDGE) + { /* if open borders, apply a fake height to keep waves going on */ avg_height = (numOfRN) ? avg_height / numOfRN : 0.0f; wPoint->height = (dt * wave_speed * avg_height + wPoint->height * avg_dist) / (avg_dist + dt * wave_speed); @@ -4507,7 +4511,8 @@ static void dynamicPaint_surfacePreStep(DynamicPaintSurface *surface, float time /* dissolve for float types */ else if (surface->flags & MOD_DPAINT_DISSOLVE && (surface->type == MOD_DPAINT_SURFACE_T_DISPLACE || - surface->type == MOD_DPAINT_SURFACE_T_WEIGHT)) { + surface->type == MOD_DPAINT_SURFACE_T_WEIGHT)) + { float *point = &((float *)sData->type_data)[index]; /* log or linear */ @@ -4727,7 +4732,8 @@ static int dynamicPaint_generateBakeData(DynamicPaintSurface *surface, Scene *sc /* Prepare surface normal directional scale to easily convert * brush intersection amount between global and local space */ if (surface->type == MOD_DPAINT_SURFACE_T_DISPLACE || - surface->type == MOD_DPAINT_SURFACE_T_WAVE) { + surface->type == MOD_DPAINT_SURFACE_T_WAVE) + { float temp_nor[3]; if (surface->format == MOD_DPAINT_SURFACE_F_VERTEX) { normal_short_to_float_v3(temp_nor, mvert[index].no); @@ -4805,17 +4811,17 @@ static int dynamicPaint_doStep(Scene *scene, Object *ob, DynamicPaintSurface *su while (base || go) { brushObj = NULL; /* select object */ - if (surface->brush_group) { + if (surface->brush_group) { if (go->ob) brushObj = go->ob; - } - else + } + else brushObj = base->object; - if (!brushObj) { + if (!brushObj) { /* skip item */ if (surface->brush_group) go = go->next; else base = base->next; - continue; + continue; } /* next item */ @@ -4856,7 +4862,8 @@ static int dynamicPaint_doStep(Scene *scene, Object *ob, DynamicPaintSurface *su /* Particle brush: */ if (brush->collision == MOD_DPAINT_COL_PSYS) { if (brush && brush->psys && brush->psys->part && brush->psys->part->type == PART_EMITTER && - psys_check_enabled(brushObj, brush->psys)) { + psys_check_enabled(brushObj, brush->psys)) + { /* Paint a particle system */ BKE_animsys_evaluate_animdata(scene, &brush->psys->part->id, brush->psys->part->adt, BKE_scene_frame_get(scene), ADT_RECALC_ANIM); diff --git a/source/blender/blenkernel/intern/editderivedmesh.c b/source/blender/blenkernel/intern/editderivedmesh.c index 3e25281dd08..e0c3b257273 100644 --- a/source/blender/blenkernel/intern/editderivedmesh.c +++ b/source/blender/blenkernel/intern/editderivedmesh.c @@ -980,9 +980,9 @@ static void emDM_drawMappedFacesGLSL(DerivedMesh *dm, DMVertexAttribs attribs; GPUVertexAttribs gattribs; - int i, b, matnr, new_matnr, dodraw; + int i, b, matnr, new_matnr, do_draw; - dodraw = 0; + do_draw = FALSE; matnr = -1; memset(&attribs, 0, sizeof(attribs)); @@ -1026,12 +1026,12 @@ static void emDM_drawMappedFacesGLSL(DerivedMesh *dm, new_matnr = efa->mat_nr + 1; if (new_matnr != matnr) { - dodraw = setMaterial(matnr = new_matnr, &gattribs); - if (dodraw) + do_draw = setMaterial(matnr = new_matnr, &gattribs); + if (do_draw) DM_vertex_attributes_from_gpu(dm, &gattribs, &attribs); } - if (dodraw) { + if (do_draw) { glBegin(GL_TRIANGLES); if (!drawSmooth) { if (vertexCos) glNormal3fv(bmdm->polyNos[BM_elem_index_get(efa)]); @@ -1688,6 +1688,20 @@ DerivedMesh *getEditDerivedBMesh(BMEditMesh *em, } } + if (CustomData_has_layer(&bm->vdata, CD_MVERT_SKIN)) { + BMIter iter; + BMVert *eve; + int i; + + DM_add_vert_layer(&bmdm->dm, CD_MVERT_SKIN, CD_CALLOC, NULL); + + BM_ITER_MESH_INDEX (eve, &iter, bmdm->tc->bm, BM_VERTS_OF_MESH, i) { + DM_set_vert_data(&bmdm->dm, i, CD_MVERT_SKIN, + CustomData_bmesh_get(&bm->vdata, eve->head.data, + CD_MVERT_SKIN)); + } + } + if (vertexCos) { BMFace *efa; BMVert *eve; diff --git a/source/blender/blenkernel/intern/fcurve.c b/source/blender/blenkernel/intern/fcurve.c index 9d878cd185f..e20a74e713c 100644 --- a/source/blender/blenkernel/intern/fcurve.c +++ b/source/blender/blenkernel/intern/fcurve.c @@ -477,7 +477,7 @@ static void get_fcurve_end_keyframes(FCurve *fcu, BezTriple **first, BezTriple * /* Calculate the extents of F-Curve's data */ void calc_fcurve_bounds(FCurve *fcu, float *xmin, float *xmax, float *ymin, float *ymax, - const short do_sel_only) + const short do_sel_only, const short include_handles) { float xminv = 999999999.0f, xmaxv = -999999999.0f; float yminv = 999999999.0f, ymaxv = -999999999.0f; @@ -495,8 +495,14 @@ void calc_fcurve_bounds(FCurve *fcu, float *xmin, float *xmax, float *ymin, floa if (bezt_first) { BLI_assert(bezt_last != NULL); - xminv = MIN2(xminv, bezt_first->vec[1][0]); - xmaxv = MAX2(xmaxv, bezt_last->vec[1][0]); + if (include_handles) { + xminv = MIN3(xminv, bezt_first->vec[0][0], bezt_first->vec[1][0]); + xmaxv = MAX3(xmaxv, bezt_last->vec[1][0], bezt_last->vec[2][0]); + } + else { + xminv = MIN2(xminv, bezt_first->vec[1][0]); + xmaxv = MAX2(xmaxv, bezt_last->vec[1][0]); + } } } @@ -505,11 +511,16 @@ void calc_fcurve_bounds(FCurve *fcu, float *xmin, float *xmax, float *ymin, floa BezTriple *bezt; for (bezt = fcu->bezt, i = 0; i < fcu->totvert; bezt++, i++) { - if ((do_sel_only == 0) || BEZSELECTED(bezt)) { - if (bezt->vec[1][1] < yminv) - yminv = bezt->vec[1][1]; - if (bezt->vec[1][1] > ymaxv) - ymaxv = bezt->vec[1][1]; + if ((do_sel_only == FALSE) || BEZSELECTED(bezt)) { + if (include_handles) { + yminv = MIN4(yminv, bezt->vec[1][1], bezt->vec[0][1], bezt->vec[2][1]); + ymaxv = MAX4(ymaxv, bezt->vec[1][1], bezt->vec[0][1], bezt->vec[2][1]); + } + else { + yminv = MIN2(yminv, bezt->vec[1][1]); + ymaxv = MAX2(ymaxv, bezt->vec[1][1]); + } + foundvert = TRUE; } } @@ -531,7 +542,7 @@ void calc_fcurve_bounds(FCurve *fcu, float *xmin, float *xmax, float *ymin, floa yminv = fpt->vec[1]; if (fpt->vec[1] > ymaxv) ymaxv = fpt->vec[1]; - + foundvert = TRUE; } } @@ -570,20 +581,20 @@ void calc_fcurve_range(FCurve *fcu, float *start, float *end, /* get endpoint keyframes */ get_fcurve_end_keyframes(fcu, &bezt_first, &bezt_last, do_sel_only); - + if (bezt_first) { BLI_assert(bezt_last != NULL); - + min = MIN2(min, bezt_first->vec[1][0]); max = MAX2(max, bezt_last->vec[1][0]); - + foundvert = TRUE; } } else if (fcu->fpt) { min = MIN2(min, fcu->fpt[0].vec[0]); max = MAX2(max, fcu->fpt[fcu->totvert - 1].vec[0]); - + foundvert = TRUE; } @@ -1241,7 +1252,7 @@ static float dvar_eval_transChan(ChannelDriver *driver, DriverVar *dvar) bPoseChannel *pchan; float mat[4][4]; float oldEul[3] = {0.0f, 0.0f, 0.0f}; - short useEulers = 0, rotOrder = ROT_MODE_EUL; + short use_eulers = FALSE, rot_order = ROT_MODE_EUL; /* check if this target has valid data */ if ((ob == NULL) || (GS(ob->id.name) != ID_OB)) { @@ -1263,8 +1274,8 @@ static float dvar_eval_transChan(ChannelDriver *driver, DriverVar *dvar) /* bone */ if (pchan->rotmode > 0) { copy_v3_v3(oldEul, pchan->eul); - rotOrder = pchan->rotmode; - useEulers = 1; + rot_order = pchan->rotmode; + use_eulers = TRUE; } if (dtar->flag & DTAR_FLAG_LOCALSPACE) { @@ -1290,8 +1301,8 @@ static float dvar_eval_transChan(ChannelDriver *driver, DriverVar *dvar) /* object */ if (ob->rotmode > 0) { copy_v3_v3(oldEul, ob->rot); - rotOrder = ob->rotmode; - useEulers = 1; + rot_order = ob->rotmode; + use_eulers = TRUE; } if (dtar->flag & DTAR_FLAG_LOCALSPACE) { @@ -1334,9 +1345,9 @@ static float dvar_eval_transChan(ChannelDriver *driver, DriverVar *dvar) */ float eul[3]; - mat4_to_eulO(eul, rotOrder, mat); + mat4_to_eulO(eul, rot_order, mat); - if (useEulers) { + if (use_eulers) { compatible_eul(eul, oldEul); } diff --git a/source/blender/blenkernel/intern/font.c b/source/blender/blenkernel/intern/font.c index 07c5d6d0329..061530965ef 100644 --- a/source/blender/blenkernel/intern/font.c +++ b/source/blender/blenkernel/intern/font.c @@ -634,7 +634,7 @@ makebreak: * But if the font is FO_BUILTIN_NAME then do not try loading since * whole font is in the memory already */ - if (che == NULL && strcmp(vfont->name, FO_BUILTIN_NAME)) { + if (che == NULL && strcmp(vfont->name, FO_BUILTIN_NAME)) { BLI_vfontchar_from_freetypefont(vfont, ascii); } @@ -705,9 +705,10 @@ makebreak: linedata3[lnr] = tb->w / cu->fsize; linedata4[lnr] = wsnr; - if ( (tb->h != 0.0f) && - ((-(yof - (tb->y / cu->fsize))) > ((tb->h / cu->fsize) - (linedist * cu->fsize)) - cu->yof) && - (cu->totbox > (curbox + 1)) ) { + if ((tb->h != 0.0f) && + ((-(yof - (tb->y / cu->fsize))) > ((tb->h / cu->fsize) - (linedist * cu->fsize)) - cu->yof) && + (cu->totbox > (curbox + 1)) ) + { maxlen = 0; tb++; curbox++; @@ -802,8 +803,7 @@ makebreak: ct++; } } - else if ((cu->spacemode == CU_FLUSH) && - (cu->tb[0].w != 0.0f)) { + else if ((cu->spacemode == CU_FLUSH) && (cu->tb[0].w != 0.0f)) { for (i = 0; i < lnr; i++) if (linedata2[i] > 1) linedata[i] = (linedata3[i] - linedata[i]) / (linedata2[i] - 1); @@ -829,7 +829,8 @@ makebreak: } if ((mem[j] != '\r') && (mem[j] != '\n') && - ((chartransdata[j].dobreak != 0))) { + ((chartransdata[j].dobreak != 0))) + { if (mem[i] == ' ') curofs += (linedata3[ct->linenr] - linedata[ct->linenr]) / linedata4[ct->linenr]; ct->xof += curofs; } @@ -1029,9 +1030,9 @@ makebreak: if ((info->flag & CU_CHINFO_UNDERLINE) && (cu->textoncurve == NULL) && (cha != '\n') && (cha != '\r')) { float ulwidth, uloverlap = 0.0f; - if ( (i < (slen - 1)) && (mem[i + 1] != '\n') && (mem[i + 1] != '\r') && - ((mem[i + 1] != ' ') || (custrinfo[i + 1].flag & CU_CHINFO_UNDERLINE)) && ((custrinfo[i + 1].flag & CU_CHINFO_WRAP) == 0) - ) { + if ((i < (slen - 1)) && (mem[i + 1] != '\n') && (mem[i + 1] != '\r') && + ((mem[i + 1] != ' ') || (custrinfo[i + 1].flag & CU_CHINFO_UNDERLINE)) && ((custrinfo[i + 1].flag & CU_CHINFO_WRAP) == 0)) + { uloverlap = xtrax + 0.1f; } // Find the character, the characters has to be in the memory already diff --git a/source/blender/blenkernel/intern/group.c b/source/blender/blenkernel/intern/group.c index ceffe269e85..2ff58e2c3f9 100644 --- a/source/blender/blenkernel/intern/group.c +++ b/source/blender/blenkernel/intern/group.c @@ -306,7 +306,7 @@ static void group_replaces_nla(Object *parent, Object *target, char mode) { static ListBase nlastrips = {NULL, NULL}; static bAction *action = NULL; - static int done = 0; + static int done = FALSE; bActionStrip *strip, *nstrip; if (mode == 's') { @@ -320,7 +320,7 @@ static void group_replaces_nla(Object *parent, Object *target, char mode) action = target->action; target->action = NULL; target->nlaflag |= OB_NLA_OVERRIDE; - done = 1; + done = TRUE; } nstrip = MEM_dupallocN(strip); BLI_addtail(&target->nlastrips, nstrip); @@ -335,7 +335,7 @@ static void group_replaces_nla(Object *parent, Object *target, char mode) nlastrips.first = nlastrips.last = NULL; /* not needed, but yah... :) */ action = NULL; - done = 0; + done = FALSE; } } } diff --git a/source/blender/blenkernel/intern/image.c b/source/blender/blenkernel/intern/image.c index 797a2093729..80b192c7a42 100644 --- a/source/blender/blenkernel/intern/image.c +++ b/source/blender/blenkernel/intern/image.c @@ -592,10 +592,12 @@ static ImBuf *add_ibuf_size(unsigned int width, unsigned int height, const char if (floatbuf) { ibuf = IMB_allocImBuf(width, height, depth, IB_rectfloat); rect_float = (float *)ibuf->rect_float; + ibuf->profile = IB_PROFILE_LINEAR_RGB; } else { ibuf = IMB_allocImBuf(width, height, depth, IB_rect); rect = (unsigned char *)ibuf->rect; + ibuf->profile = IB_PROFILE_SRGB; } BLI_strncpy(ibuf->name, name, sizeof(ibuf->name)); diff --git a/source/blender/blenkernel/intern/image_gen.c b/source/blender/blenkernel/intern/image_gen.c index 4579e6f92aa..d460368784a 100644 --- a/source/blender/blenkernel/intern/image_gen.c +++ b/source/blender/blenkernel/intern/image_gen.c @@ -78,7 +78,9 @@ void BKE_image_buf_fill_checker(unsigned char *rect, float *rect_float, int widt float *rect_float_orig = rect_float; - float h = 0.0, hoffs = 0.0, hue = 0.0, s = 0.9, v = 0.9, r, g, b; + float h = 0.0, hoffs = 0.0; + float hsv[3] = {0.0f, 0.9f, 0.9f}; + float rgb[3]; /* checkers */ for (y = 0; y < height; y++) { @@ -123,25 +125,25 @@ void BKE_image_buf_fill_checker(unsigned char *rect, float *rect_float, int widt h = 0.125f * floorf(x / checkerwidth); if ((fabs((x % checkerwidth) - (checkerwidth / 2)) < 4) && - (fabs((y % checkerwidth) - (checkerwidth / 2)) < 4)) { - + (fabs((y % checkerwidth) - (checkerwidth / 2)) < 4)) + { if ((fabs((x % checkerwidth) - (checkerwidth / 2)) < 1) || - (fabs((y % checkerwidth) - (checkerwidth / 2)) < 1)) { - - hue = fmodf(fabs(h - hoffs), 1.0f); - hsv_to_rgb(hue, s, v, &r, &g, &b); + (fabs((y % checkerwidth) - (checkerwidth / 2)) < 1)) + { + hsv[0] = fmodf(fabs(h - hoffs), 1.0f); + hsv_to_rgb_v(hsv, rgb); if (rect) { - rect[0] = (char)(r * 255.0f); - rect[1] = (char)(g * 255.0f); - rect[2] = (char)(b * 255.0f); + rect[0] = (char)(rgb[0] * 255.0f); + rect[1] = (char)(rgb[1] * 255.0f); + rect[2] = (char)(rgb[2] * 255.0f); rect[3] = 255; } if (rect_float) { - rect_float[0] = r; - rect_float[1] = g; - rect_float[2] = b; + rect_float[0] = rgb[0]; + rect_float[1] = rgb[1]; + rect_float[2] = rgb[2]; rect_float[3] = 1.0f; } } @@ -162,33 +164,33 @@ void BKE_image_buf_fill_checker(unsigned char *rect, float *rect_float, int widt static void checker_board_color_fill(unsigned char *rect, float *rect_float, int width, int height) { int hue_step, y, x; - float hue, val, sat, r, g, b; + float hsv[3], rgb[3]; - sat = 1.0; + hsv[1] = 1.0; hue_step = power_of_2_max_i(width / 8); if (hue_step < 8) hue_step = 8; for (y = 0; y < height; y++) { - val = 0.1 + (y * (0.4 / height)); /* use a number lower then 1.0 else its too bright */ + hsv[2] = 0.1 + (y * (0.4 / height)); /* use a number lower then 1.0 else its too bright */ for (x = 0; x < width; x++) { - hue = (float)((double)(x / hue_step) * 1.0 / width * hue_step); - hsv_to_rgb(hue, sat, val, &r, &g, &b); + hsv[0] = (float)((double)(x / hue_step) * 1.0 / width * hue_step); + hsv_to_rgb_v(hsv, rgb); if (rect) { - rect[0] = (char)(r * 255.0f); - rect[1] = (char)(g * 255.0f); - rect[2] = (char)(b * 255.0f); + rect[0] = (char)(rgb[0] * 255.0f); + rect[1] = (char)(rgb[1] * 255.0f); + rect[2] = (char)(rgb[2] * 255.0f); rect[3] = 255; rect += 4; } if (rect_float) { - rect_float[0] = r; - rect_float[1] = g; - rect_float[2] = b; + rect_float[0] = rgb[0]; + rect_float[1] = rgb[1]; + rect_float[2] = rgb[2]; rect_float[3] = 1.0f; rect_float += 4; @@ -250,7 +252,7 @@ static void checker_board_grid_fill(unsigned char *rect, float *rect_float, int int x, y; for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { - if (((y % 32) == 0) || ((x % 32) == 0) || x == 0) { + if (((y % 32) == 0) || ((x % 32) == 0) || x == 0) { if (rect) { rect[0] = BLEND_CHAR(rect[0], blend); rect[1] = BLEND_CHAR(rect[1], blend); diff --git a/source/blender/blenkernel/intern/key.c b/source/blender/blenkernel/intern/key.c index f4ec223a2fe..deb294a6738 100644 --- a/source/blender/blenkernel/intern/key.c +++ b/source/blender/blenkernel/intern/key.c @@ -271,7 +271,7 @@ void sort_keys(Key *key) /**************** do the key ****************/ -void key_curve_position_weights(float t, float *data, int type) +void key_curve_position_weights(float t, float data[4], int type) { float t2, t3, fc; @@ -303,7 +303,7 @@ void key_curve_position_weights(float t, float *data, int type) } /* first derivative */ -void key_curve_tangent_weights(float t, float *data, int type) +void key_curve_tangent_weights(float t, float data[4], int type) { float t2, fc; @@ -333,7 +333,7 @@ void key_curve_tangent_weights(float t, float *data, int type) } /* second derivative */ -void key_curve_normal_weights(float t, float *data, int type) +void key_curve_normal_weights(float t, float data[4], int type) { float fc; @@ -359,11 +359,11 @@ void key_curve_normal_weights(float t, float *data, int type) } } -static int setkeys(float fac, ListBase *lb, KeyBlock *k[], float *t, int cycl) +static int setkeys(float fac, ListBase *lb, KeyBlock *k[], float t[4], int cycl) { /* return 1 means k[2] is the position, return 0 means interpolate */ KeyBlock *k1, *firstkey; - float d, dpos, ofs = 0, lastpos, temp, fval[4]; + float d, dpos, ofs = 0, lastpos; short bsplinetype; firstkey = lb->first; @@ -467,17 +467,12 @@ static int setkeys(float fac, ListBase *lb, KeyBlock *k[], float *t, int cycl) } /* interpolation */ - key_curve_position_weights(d, t, k[1]->type); if (k[1]->type != k[2]->type) { - key_curve_position_weights(d, fval, k[2]->type); - - temp = 1.0f - d; - t[0] = temp * t[0] + d * fval[0]; - t[1] = temp * t[1] + d * fval[1]; - t[2] = temp * t[2] + d * fval[2]; - t[3] = temp * t[3] + d * fval[3]; + float t_other[4]; + key_curve_position_weights(d, t_other, k[2]->type); + interp_v4_v4v4(t, t, t_other, d); } return 0; @@ -721,7 +716,6 @@ void do_rel_key(const int start, int end, const int tot, char *basispoin, Key *k KeyBlock *kb; int *ofsp, ofs[3], elemsize, b; char *cp, *poin, *reffrom, *from, elemstr[8]; - char *freefrom, *freereffrom; int poinsize; /* currently always 0, in future key_pointer_size may assign */ @@ -754,6 +748,7 @@ void do_rel_key(const int start, int end, const int tot, char *basispoin, Key *k if (!(kb->flag & KEYBLOCK_MUTE) && icuval != 0.0f && kb->totelem == tot) { KeyBlock *refb; float weight, *weights = kb->weights; + char *freefrom = NULL, *freereffrom = NULL; /* reference now can be any block */ refb = BLI_findlink(&key->block, kb->relative); @@ -1260,7 +1255,7 @@ static void do_latt_key(Scene *scene, Object *ob, Key *key, char *out, const int float t[4]; int flag; - if (key->slurph && key->type != KEY_RELATIVE) { + if (key->slurph && key->type != KEY_RELATIVE) { const float ctime_scaled = key->ctime / 100.0f; float delta = (float)key->slurph / tot; float cfra = (float)scene->r.cfra; diff --git a/source/blender/blenkernel/intern/lattice.c b/source/blender/blenkernel/intern/lattice.c index 6a69ffb474a..15db290ff14 100644 --- a/source/blender/blenkernel/intern/lattice.c +++ b/source/blender/blenkernel/intern/lattice.c @@ -658,13 +658,16 @@ void curve_deform_verts(Scene *scene, Object *cuOb, Object *target, */ if (target && target->type == OB_MESH) { /* if there's derived data without deformverts, don't use vgroups */ - if (dm && !dm->getVertData(dm, 0, CD_MDEFORMVERT)) - use_vgroups = 0; - else - use_vgroups = 1; + if (dm) { + use_vgroups = (dm->getVertData(dm, 0, CD_MDEFORMVERT) != NULL); + } + else { + Mesh *me = target->data; + use_vgroups = (me->dvert != NULL); + } } else { - use_vgroups = 0; + use_vgroups = FALSE; } if (vgroup && vgroup[0] && use_vgroups) { @@ -801,13 +804,16 @@ void lattice_deform_verts(Object *laOb, Object *target, DerivedMesh *dm, */ if (target && target->type == OB_MESH) { /* if there's derived data without deformverts, don't use vgroups */ - if (dm && !dm->getVertData(dm, 0, CD_MDEFORMVERT)) - use_vgroups = 0; - else - use_vgroups = 1; + if (dm) { + use_vgroups = (dm->getVertData(dm, 0, CD_MDEFORMVERT) != NULL); + } + else { + Mesh *me = target->data; + use_vgroups = (me->dvert != NULL); + } } else { - use_vgroups = 0; + use_vgroups = FALSE; } if (vgroup && vgroup[0] && use_vgroups) { diff --git a/source/blender/blenkernel/intern/mball.c b/source/blender/blenkernel/intern/mball.c index 7da0661fef6..bef5f2e18a3 100644 --- a/source/blender/blenkernel/intern/mball.c +++ b/source/blender/blenkernel/intern/mball.c @@ -351,7 +351,7 @@ void BKE_mball_texspace_calc(Object *ob) DispList *dl; BoundBox *bb; float *data, min[3], max[3] /*, loc[3], size[3] */; - int tot, doit = 0; + int tot, do_it = FALSE; if (ob->bb == NULL) ob->bb = MEM_callocN(sizeof(BoundBox), "mb boundbox"); bb = ob->bb; @@ -364,7 +364,7 @@ void BKE_mball_texspace_calc(Object *ob) dl = ob->disp.first; while (dl) { tot = dl->nr; - if (tot) doit = 1; + if (tot) do_it = TRUE; data = dl->verts; while (tot--) { /* Also weird... but longer. From utildefines. */ @@ -374,7 +374,7 @@ void BKE_mball_texspace_calc(Object *ob) dl = dl->next; } - if (!doit) { + if (!do_it) { min[0] = min[1] = min[2] = -1.0f; max[0] = max[1] = max[2] = 1.0f; } @@ -1135,11 +1135,11 @@ static int otherface(int edge, int face) static void makecubetable(void) { - static int isdone = 0; + static int is_done = FALSE; int i, e, c, done[12], pos[8]; - if (isdone) return; - isdone = 1; + if (is_done) return; + is_done = TRUE; for (i = 0; i < 256; i++) { for (e = 0; e < 12; e++) done[e] = 0; diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c index 7a5c43b28f8..9eb74986b29 100644 --- a/source/blender/blenkernel/intern/mesh.c +++ b/source/blender/blenkernel/intern/mesh.c @@ -50,6 +50,7 @@ #include "BLI_math.h" #include "BLI_edgehash.h" #include "BLI_scanfill.h" +#include "BLI_array.h" #include "BKE_animsys.h" #include "BKE_main.h" @@ -70,11 +71,6 @@ #include "BKE_tessmesh.h" #include "BLI_edgehash.h" -#include "BLI_blenlib.h" -#include "BLI_math.h" -#include "BLI_array.h" -#include "BLI_edgehash.h" - #include "bmesh.h" enum { @@ -88,7 +84,7 @@ enum { MESHCMP_POLYMISMATCH, MESHCMP_EDGEUNKNOWN, MESHCMP_VERTCOMISMATCH, - MESHCMP_CDLAYERS_MISMATCH, + MESHCMP_CDLAYERS_MISMATCH }; static const char *cmpcode_to_str(int code) @@ -812,8 +808,8 @@ int test_index_face(MFace *mface, CustomData *fdata, int mfindex, int nr) mface->v4 == mface->v1 || /* across the face */ mface->v1 == mface->v3 || - mface->v2 == mface->v4 - ) { + mface->v2 == mface->v4) + { return 0; } } @@ -3000,6 +2996,18 @@ int poly_get_adj_loops_from_vert(unsigned adj_r[3], const MPoly *poly, return corner; } +/* Return the index of the edge vert that is not equal to 'v'. If + * neither edge vertex is equal to 'v', returns -1. */ +int BKE_mesh_edge_other_vert(const MEdge *e, int v) +{ + if (e->v1 == v) + return e->v2; + else if (e->v2 == v) + return e->v1; + else + return -1; +} + /* update the hide flag for edges and faces from the corresponding * flag in verts */ void BKE_mesh_flush_hidden_from_verts(const MVert *mvert, diff --git a/source/blender/blenkernel/intern/mesh_validate.c b/source/blender/blenkernel/intern/mesh_validate.c index 1645a8c9c9b..a60bb98ac18 100644 --- a/source/blender/blenkernel/intern/mesh_validate.c +++ b/source/blender/blenkernel/intern/mesh_validate.c @@ -667,11 +667,11 @@ void BKE_mesh_calc_edges(Mesh *mesh, int update) memset(&edata, 0, sizeof(edata)); CustomData_add_layer(&edata, CD_MEDGE, CD_CALLOC, NULL, totedge); - ehi = BLI_edgehashIterator_new(eh); med = CustomData_get_layer(&edata, CD_MEDGE); - for (i = 0; !BLI_edgehashIterator_isDone(ehi); - BLI_edgehashIterator_step(ehi), ++i, ++med) { - + for (ehi = BLI_edgehashIterator_new(eh), i = 0; + BLI_edgehashIterator_isDone(ehi) == FALSE; + BLI_edgehashIterator_step(ehi), ++i, ++med) + { if (update && (med_orig = BLI_edgehashIterator_getValue(ehi))) { *med = *med_orig; /* copy from the original */ } diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c index 2159837c9a0..b4c30203000 100644 --- a/source/blender/blenkernel/intern/modifier.c +++ b/source/blender/blenkernel/intern/modifier.c @@ -250,8 +250,7 @@ int modifier_couldBeCage(struct Scene *scene, ModifierData *md) int modifier_sameTopology(ModifierData *md) { ModifierTypeInfo *mti = modifierType_getInfo(md->type); - return ELEM3(mti->type, eModifierTypeType_OnlyDeform, eModifierTypeType_Nonconstructive, - eModifierTypeType_NonGeometrical); + return ELEM(mti->type, eModifierTypeType_OnlyDeform, eModifierTypeType_NonGeometrical); } int modifier_nonGeometrical(ModifierData *md) diff --git a/source/blender/blenkernel/intern/movieclip.c b/source/blender/blenkernel/intern/movieclip.c index f07de7f0127..ccf64639967 100644 --- a/source/blender/blenkernel/intern/movieclip.c +++ b/source/blender/blenkernel/intern/movieclip.c @@ -195,7 +195,7 @@ static ImBuf *movieclip_load_sequence_file(MovieClip *clip, MovieClipUser *user, { struct ImBuf *ibuf; char name[FILE_MAX]; - int loadflag, use_proxy = 0; + int loadflag, use_proxy = FALSE; use_proxy = (flag & MCLIP_USE_PROXY) && user->render_size != MCLIP_PROXY_RENDER_SIZE_FULL; if (use_proxy) { @@ -540,10 +540,6 @@ static ImBuf *get_undistorted_ibuf(MovieClip *clip, struct MovieDistortion *dist { ImBuf *undistibuf; - /* XXX: because of #27997 do not use float buffers to undistort, - * otherwise, undistorted proxy can be darker than it should */ - imb_freerectfloatImBuf(ibuf); - if (distortion) undistibuf = BKE_tracking_distortion_exec(distortion, &clip->tracking, ibuf, ibuf->x, ibuf->y, 0.0f, 1); else diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index c6424580a31..445105d254a 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -336,6 +336,7 @@ bNode *nodeAddNode(bNodeTree *ntree, struct bNodeTemplate *ntemp) node->width= ntype->width; node->miniwidth= 42.0f; node->height= ntype->height; + node->color[0] = node->color[1] = node->color[2] = 0.608; /* default theme color */ node_add_sockets_from_type(ntree, node, ntype); @@ -591,40 +592,49 @@ void nodeInternalRelink(bNodeTree *ntree, bNode *node) BLI_freelistN(&intlinks); } -/* transforms node location to area coords */ -void nodeSpaceCoords(bNode *node, float *locx, float *locy) +void nodeToView(bNode *node, float x, float y, float *rx, float *ry) { if (node->parent) { - nodeSpaceCoords(node->parent, locx, locy); - *locx += node->locx; - *locy += node->locy; + nodeToView(node->parent, x + node->locx, y + node->locy, rx, ry); } else { - *locx = node->locx; - *locy = node->locy; + *rx = x + node->locx; + *ry = y + node->locy; + } +} + +void nodeFromView(bNode *node, float x, float y, float *rx, float *ry) +{ + if (node->parent) { + nodeFromView(node->parent, x, y, rx, ry); + *rx -= node->locx; + *ry -= node->locy; + } + else { + *rx = x - node->locx; + *ry = y - node->locy; } } void nodeAttachNode(bNode *node, bNode *parent) { - float parentx, parenty; + float locx, locy; + nodeToView(node, 0.0f, 0.0f, &locx, &locy); node->parent = parent; /* transform to parent space */ - nodeSpaceCoords(parent, &parentx, &parenty); - node->locx -= parentx; - node->locy -= parenty; + nodeFromView(parent, locx, locy, &node->locx, &node->locy); } void nodeDetachNode(struct bNode *node) { - float parentx, parenty; + float locx, locy; if (node->parent) { - /* transform to "global" (area) space */ - nodeSpaceCoords(node->parent, &parentx, &parenty); - node->locx += parentx; - node->locy += parenty; + /* transform to view space */ + nodeToView(node, 0.0f, 0.0f, &locx, &locy); + node->locx = locx; + node->locy = locy; node->parent = NULL; } } @@ -1392,7 +1402,7 @@ static int node_get_deplist_recurs(bNode *node, bNode ***nsort) bNodeSocket *sock; int level = 0xFFF; - node->done= 1; + node->done = TRUE; /* check linked nodes */ for (sock= node->inputs.first; sock; sock= sock->next) { @@ -1431,7 +1441,7 @@ void ntreeGetDependencyList(struct bNodeTree *ntree, struct bNode ***deplist, in /* first clear data */ for (node= ntree->nodes.first; node; node= node->next) { - node->done= 0; + node->done = FALSE; (*totnodes)++; } if (*totnodes==0) { @@ -1456,7 +1466,7 @@ static void ntree_update_node_level(bNodeTree *ntree) /* first clear tag */ for (node= ntree->nodes.first; node; node= node->next) { - node->done= 0; + node->done = FALSE; } /* recursive check */ @@ -1977,6 +1987,7 @@ static void registerShaderNodes(bNodeTreeType *ttype) register_node_type_sh_geometry(ttype); register_node_type_sh_light_path(ttype); register_node_type_sh_light_falloff(ttype); + register_node_type_sh_object_info(ttype); register_node_type_sh_fresnel(ttype); register_node_type_sh_layer_weight(ttype); register_node_type_sh_tex_coord(ttype); diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 6fec35add8b..0968358a815 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -1046,6 +1046,10 @@ static void copy_object_pose(Object *obn, Object *ob) chan->flag &= ~(POSE_LOC | POSE_ROT | POSE_SIZE); + if (chan->custom) { + id_us_plus(&chan->custom->id); + } + for (con = chan->constraints.first; con; con = con->next) { bConstraintTypeInfo *cti = constraint_get_typeinfo(con); ListBase targets = {NULL, NULL}; @@ -1096,7 +1100,7 @@ Object *BKE_object_pose_armature_get(Object *ob) return NULL; } -static void copy_object_transform(Object *ob_tar, Object *ob_src) +void BKE_object_transform_copy(Object *ob_tar, const Object *ob_src) { copy_v3_v3(ob_tar->loc, ob_src->loc); copy_v3_v3(ob_tar->rot, ob_src->rot); @@ -1371,7 +1375,7 @@ void BKE_object_make_proxy(Object *ob, Object *target, Object *gob) BKE_object_apply_mat4(ob, ob->obmat, FALSE, TRUE); } else { - copy_object_transform(ob, target); + BKE_object_transform_copy(ob, target); ob->parent = target->parent; /* libdata */ copy_m4_m4(ob->parentinv, target->parentinv); } @@ -2264,8 +2268,15 @@ void BKE_object_minmax(Object *ob, float min_r[3], float max_r[3]) { Curve *cu = ob->data; - if (cu->bb == NULL) BKE_curve_texspace_calc(cu); - bb = *(cu->bb); + /* Use the object bounding box so that modifier output + gets taken into account */ + if (ob->bb) + bb = *(ob->bb); + else { + if (cu->bb == NULL) + BKE_curve_texspace_calc(cu); + bb = *(cu->bb); + } for (a = 0; a < 8; a++) { mul_m4_v3(ob->obmat, bb.vec[a]); @@ -2773,11 +2784,11 @@ int BKE_object_obdata_texspace_get(Object *ob, short **r_texflag, float **r_loc, int BKE_boundbox_ray_hit_check(struct BoundBox *bb, float ray_start[3], float ray_normal[3]) { static int triangle_indexes[12][3] = {{0, 1, 2}, {0, 2, 3}, - {3, 2, 6}, {3, 6, 7}, - {1, 2, 6}, {1, 6, 5}, - {5, 6, 7}, {4, 5, 7}, - {0, 3, 7}, {0, 4, 7}, - {0, 1, 5}, {0, 4, 5}}; + {3, 2, 6}, {3, 6, 7}, + {1, 2, 6}, {1, 6, 5}, + {5, 6, 7}, {4, 5, 7}, + {0, 3, 7}, {0, 4, 7}, + {0, 1, 5}, {0, 4, 5}}; int result = 0; int i; @@ -3036,10 +3047,12 @@ int BKE_object_is_animated(Scene *scene, Object *ob) ModifierData *md; for (md = modifiers_getVirtualModifierList(ob); md; md = md->next) - if(modifier_dependsOnTime(md) && - (modifier_isEnabled(scene, md, eModifierMode_Realtime) || - modifier_isEnabled(scene, md, eModifierMode_Render))) + if (modifier_dependsOnTime(md) && + (modifier_isEnabled(scene, md, eModifierMode_Realtime) || + modifier_isEnabled(scene, md, eModifierMode_Render))) + { return 1; + } return 0; } diff --git a/source/blender/blenkernel/intern/ocean.c b/source/blender/blenkernel/intern/ocean.c index e76cde652c8..3d3a5ed7556 100644 --- a/source/blender/blenkernel/intern/ocean.c +++ b/source/blender/blenkernel/intern/ocean.c @@ -500,10 +500,10 @@ void BKE_simulate_ocean(struct Ocean *o, float t, float scale, float chop_amount // compute a new htilda #pragma omp parallel for private(i, j) - for (i = 0; i < o->_M; ++i) { + for (i = 0; i < o->_M; ++i) { // note the <= _N/2 here, see the fftw doco about // the mechanics of the complex->real fft storage - for (j = 0; j <= o->_N / 2; ++j) { + for (j = 0; j <= o->_N / 2; ++j) { fftw_complex exp_param1; fftw_complex exp_param2; fftw_complex conj_param; @@ -538,8 +538,8 @@ void BKE_simulate_ocean(struct Ocean *o, float t, float scale, float chop_amount { if (o->_do_chop) { // x displacement - for (i = 0; i < o->_M; ++i) { - for (j = 0; j <= o->_N / 2; ++j) { + for (i = 0; i < o->_M; ++i) { + for (j = 0; j <= o->_N / 2; ++j) { fftw_complex mul_param; fftw_complex minus_i; @@ -560,8 +560,8 @@ void BKE_simulate_ocean(struct Ocean *o, float t, float scale, float chop_amount { if (o->_do_chop) { // z displacement - for (i = 0; i < o->_M; ++i) { - for (j = 0; j <= o->_N / 2; ++j) { + for (i = 0; i < o->_M; ++i) { + for (j = 0; j <= o->_N / 2; ++j) { fftw_complex mul_param; fftw_complex minus_i; @@ -582,8 +582,8 @@ void BKE_simulate_ocean(struct Ocean *o, float t, float scale, float chop_amount { if (o->_do_jacobian) { // Jxx - for (i = 0; i < o->_M; ++i) { - for (j = 0; j <= o->_N / 2; ++j) { + for (i = 0; i < o->_M; ++i) { + for (j = 0; j <= o->_N / 2; ++j) { fftw_complex mul_param; //init_complex(mul_param, -scale, 0); @@ -597,8 +597,8 @@ void BKE_simulate_ocean(struct Ocean *o, float t, float scale, float chop_amount } fftw_execute(o->_Jxx_plan); - for (i = 0; i < o->_M; ++i) { - for (j = 0; j < o->_N; ++j) { + for (i = 0; i < o->_M; ++i) { + for (j = 0; j < o->_N; ++j) { o->_Jxx[i * o->_N + j] += 1.0; } } @@ -609,8 +609,8 @@ void BKE_simulate_ocean(struct Ocean *o, float t, float scale, float chop_amount { if (o->_do_jacobian) { // Jzz - for (i = 0; i < o->_M; ++i) { - for (j = 0; j <= o->_N / 2; ++j) { + for (i = 0; i < o->_M; ++i) { + for (j = 0; j <= o->_N / 2; ++j) { fftw_complex mul_param; //init_complex(mul_param, -scale, 0); @@ -623,8 +623,8 @@ void BKE_simulate_ocean(struct Ocean *o, float t, float scale, float chop_amount } } fftw_execute(o->_Jzz_plan); - for (i = 0; i < o->_M; ++i) { - for (j = 0; j < o->_N; ++j) { + for (i = 0; i < o->_M; ++i) { + for (j = 0; j < o->_N; ++j) { o->_Jzz[i * o->_N + j] += 1.0; } } @@ -635,8 +635,8 @@ void BKE_simulate_ocean(struct Ocean *o, float t, float scale, float chop_amount { if (o->_do_jacobian) { // Jxz - for (i = 0; i < o->_M; ++i) { - for (j = 0; j <= o->_N / 2; ++j) { + for (i = 0; i < o->_M; ++i) { + for (j = 0; j <= o->_N / 2; ++j) { fftw_complex mul_param; //init_complex(mul_param, -scale, 0); @@ -656,8 +656,8 @@ void BKE_simulate_ocean(struct Ocean *o, float t, float scale, float chop_amount { // fft normals if (o->_do_normals) { - for (i = 0; i < o->_M; ++i) { - for (j = 0; j <= o->_N / 2; ++j) { + for (i = 0; i < o->_M; ++i) { + for (j = 0; j <= o->_N / 2; ++j) { fftw_complex mul_param; init_complex(mul_param, 0.0, -1.0); @@ -674,8 +674,8 @@ void BKE_simulate_ocean(struct Ocean *o, float t, float scale, float chop_amount #pragma omp section { if (o->_do_normals) { - for (i = 0; i < o->_M; ++i) { - for (j = 0; j <= o->_N / 2; ++j) { + for (i = 0; i < o->_M; ++i) { + for (j = 0; j <= o->_N / 2; ++j) { fftw_complex mul_param; init_complex(mul_param, 0.0, -1.0); @@ -687,8 +687,8 @@ void BKE_simulate_ocean(struct Ocean *o, float t, float scale, float chop_amount fftw_execute(o->_N_z_plan); #if 0 - for (i = 0; i < o->_M; ++i) { - for (j = 0; j < o->_N; ++j) { + for (i = 0; i < o->_M; ++i) { + for (j = 0; j < o->_N; ++j) { o->_N_y[i * o->_N + j] = 1.0f / scale; } } @@ -802,21 +802,21 @@ void BKE_init_ocean(struct Ocean *o, int M, int N, float Lx, float Lz, float V, o->_kz[i] = -2.0f * (float)M_PI * ii / o->_Lz; // pre-calculate the k matrix - for (i = 0; i < o->_M; ++i) - for (j = 0; j <= o->_N / 2; ++j) + for (i = 0; i < o->_M; ++i) + for (j = 0; j <= o->_N / 2; ++j) o->_k[i * (1 + o->_N / 2) + j] = sqrt(o->_kx[i] * o->_kx[i] + o->_kz[j] * o->_kz[j]); /*srand(seed);*/ BLI_srand(seed); - for (i = 0; i < o->_M; ++i) { - for (j = 0; j < o->_N; ++j) { + for (i = 0; i < o->_M; ++i) { + for (j = 0; j < o->_N; ++j) { float r1 = gaussRand(); float r2 = gaussRand(); fftw_complex r1r2; init_complex(r1r2, r1, r2); - mul_complex_f(o->_h0[i * o->_N + j], r1r2, (float)(sqrt(Ph(o, o->_kx[i], o->_kz[j]) / 2.0f))); + mul_complex_f(o->_h0[i * o->_N + j], r1r2, (float)(sqrt(Ph(o, o->_kx[i], o->_kz[j]) / 2.0f))); mul_complex_f(o->_h0_minus[i * o->_N + j], r1r2, (float)(sqrt(Ph(o, -o->_kx[i], -o->_kz[j]) / 2.0f))); } } @@ -1253,13 +1253,13 @@ void BKE_bake_ocean(struct Ocean *o, struct OceanCache *och, void (*update_cb)(v printf("Cannot save Displacement File Output to %s\n", string); if (o->_do_jacobian) { - cache_filename(string, och->bakepath, och->relbase, f, CACHE_TYPE_FOAM); + cache_filename(string, och->bakepath, och->relbase, f, CACHE_TYPE_FOAM); if (0 == BKE_imbuf_write(ibuf_foam, string, &imf)) printf("Cannot save Foam File Output to %s\n", string); } if (o->_do_normals) { - cache_filename(string, och->bakepath, och->relbase, f, CACHE_TYPE_NORMAL); + cache_filename(string, och->bakepath, och->relbase, f, CACHE_TYPE_NORMAL); if (0 == BKE_imbuf_write(ibuf_normal, string, &imf)) printf("Cannot save Normal File Output to %s\n", string); } diff --git a/source/blender/blenkernel/intern/particle.c b/source/blender/blenkernel/intern/particle.c index 8676a3e75a0..66dd23e76b9 100644 --- a/source/blender/blenkernel/intern/particle.c +++ b/source/blender/blenkernel/intern/particle.c @@ -614,7 +614,7 @@ typedef struct ParticleRenderData { float viewmat[4][4], winmat[4][4]; int winx, winy; - int dosimplify; + int do_simplify; int timeoffset; ParticleRenderElem *elems; int *origindex; @@ -821,7 +821,7 @@ int psys_render_simplify_distribution(ParticleThreadContext *ctx, int tot) if (data->elems) MEM_freeN(data->elems); - data->dosimplify = 1; + data->do_simplify = TRUE; data->elems = elems; data->origindex = origindex; @@ -960,7 +960,7 @@ int psys_render_simplify_params(ParticleSystem *psys, ChildParticle *cpa, float return 0; data = psys->renderdata; - if (!data->dosimplify) + if (!data->do_simplify) return 0; b = (data->origindex) ? data->origindex[cpa->num] : cpa->num; @@ -3465,7 +3465,7 @@ ModifierData *object_add_particle_system(Scene *scene, Object *ob, const char *n md = modifier_new(eModifierType_ParticleSystem); - if (name) BLI_strncpy(md->name, name, sizeof(md->name)); + if (name) BLI_strncpy_utf8(md->name, name, sizeof(md->name)); else BLI_snprintf(md->name, sizeof(md->name), "ParticleSystem %i", BLI_countlist(&ob->particlesystem)); modifier_unique_name(&ob->modifiers, md); diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c index 5397b1729f9..fa47600deb2 100644 --- a/source/blender/blenkernel/intern/particle_system.c +++ b/source/blender/blenkernel/intern/particle_system.c @@ -206,7 +206,7 @@ static void realloc_particles(ParticleSimulationData *sim, int new_totpart) int totpart, totsaved = 0; if (new_totpart<0) { - if (part->distr==PART_DISTR_GRID && part->from != PART_FROM_VERT) { + if ((part->distr == PART_DISTR_GRID) && (part->from != PART_FROM_VERT)) { totpart= part->grid_res; totpart*=totpart*totpart; } @@ -4135,7 +4135,7 @@ static void particles_fluid_step(ParticleSimulationData *sim, int UNUSED(cfra)) pa->dietime = sim->scene->r.efra + 1; pa->lifetime = sim->scene->r.efra; pa->alive = PARS_ALIVE; - //if (a < 25) fprintf(stderr,"FSPARTICLE debug set %s , a%d = %f,%f,%f , life=%f\n", filename, a, pa->co[0],pa->co[1],pa->co[2], pa->lifetime ); + //if (a < 25) fprintf(stderr,"FSPARTICLE debug set %s, a%d = %f,%f,%f, life=%f\n", filename, a, pa->co[0],pa->co[1],pa->co[2], pa->lifetime ); } else { // skip... @@ -4444,7 +4444,8 @@ static void psys_prepare_physics(ParticleSimulationData *sim) static int hair_needs_recalc(ParticleSystem *psys) { if (!(psys->flag & PSYS_EDITED) && (!psys->edit || !psys->edit->edited) && - ((psys->flag & PSYS_HAIR_DONE)==0 || psys->recalc & PSYS_RECALC_RESET || (psys->part->flag & PART_HAIR_REGROW && !psys->edit))) { + ((psys->flag & PSYS_HAIR_DONE)==0 || psys->recalc & PSYS_RECALC_RESET || (psys->part->flag & PART_HAIR_REGROW && !psys->edit))) + { return 1; } diff --git a/source/blender/blenkernel/intern/pointcache.c b/source/blender/blenkernel/intern/pointcache.c index 69808db52b6..90d17e53349 100644 --- a/source/blender/blenkernel/intern/pointcache.c +++ b/source/blender/blenkernel/intern/pointcache.c @@ -2190,8 +2190,9 @@ void BKE_ptcache_id_clear(PTCacheID *pid, int mode, unsigned int cfra) BLI_strncpy(num, de->d_name + (strlen(de->d_name) - 15), sizeof(num)); frame = atoi(num); - if ((mode==PTCACHE_CLEAR_BEFORE && frame < cfra) || - (mode==PTCACHE_CLEAR_AFTER && frame > cfra) ) { + if ((mode == PTCACHE_CLEAR_BEFORE && frame < cfra) || + (mode == PTCACHE_CLEAR_AFTER && frame > cfra)) + { BLI_join_dirfile(path_full, sizeof(path_full), path, de->d_name); BLI_delete(path_full, 0, 0); @@ -2226,8 +2227,9 @@ void BKE_ptcache_id_clear(PTCacheID *pid, int mode, unsigned int cfra) } else { while (pm) { - if ((mode==PTCACHE_CLEAR_BEFORE && pm->frame < cfra) || - (mode==PTCACHE_CLEAR_AFTER && pm->frame > cfra) ) { + if ((mode == PTCACHE_CLEAR_BEFORE && pm->frame < cfra) || + (mode == PTCACHE_CLEAR_AFTER && pm->frame > cfra)) + { link = pm; if (pid->cache->cached_frames && pm->frame >=sta && pm->frame <= end) pid->cache->cached_frames[pm->frame-sta] = 0; @@ -2732,7 +2734,7 @@ static void ptcache_dt_to_str(char *str, double dtime) static void *ptcache_bake_thread(void *ptr) { - int usetimer = 0, sfra, efra; + int use_timer = FALSE, sfra, efra; double stime, ptime, ctime, fetd; char run[32], cur[32], etd[32]; @@ -2752,8 +2754,8 @@ static void *ptcache_bake_thread(void *ptr) fetd = (ctime-ptime)*(efra-*data->cfra_ptr)/data->step; - if (usetimer || fetd > 60.0) { - usetimer = 1; + if (use_timer || fetd > 60.0) { + use_timer = TRUE; ptcache_dt_to_str(cur, ctime-ptime); ptcache_dt_to_str(run, ctime-stime); @@ -2765,7 +2767,7 @@ static void *ptcache_bake_thread(void *ptr) } } - if (usetimer) { + if (use_timer) { ptcache_dt_to_str(run, PIL_check_seconds_timer()-stime); printf("Bake %s %s (%i frames simulated).\n", (data->break_operation ? "canceled after" : "finished in"), run, *data->cfra_ptr-sfra); } @@ -3292,9 +3294,9 @@ void BKE_ptcache_update_info(PTCacheID *pid) mb = (bytes > 1024.0f * 1024.0f); BLI_snprintf(mem_info, sizeof(mem_info), "%i frames in memory (%.1f %s)", - totframes, - bytes / (mb ? 1024.0f * 1024.0f : 1024.0f), - mb ? "Mb" : "kb"); + totframes, + bytes / (mb ? 1024.0f * 1024.0f : 1024.0f), + mb ? "Mb" : "kb"); } if (cache->flag & PTCACHE_OUTDATED) { diff --git a/source/blender/blenkernel/intern/screen.c b/source/blender/blenkernel/intern/screen.c index 1f129b1c547..4dfa9f7e12e 100644 --- a/source/blender/blenkernel/intern/screen.c +++ b/source/blender/blenkernel/intern/screen.c @@ -44,7 +44,8 @@ #include "DNA_space_types.h" #include "DNA_view3d_types.h" -#include "BLI_blenlib.h" +#include "BLI_listbase.h" +#include "BLI_utildefines.h" #include "BKE_screen.h" @@ -251,7 +252,7 @@ void BKE_spacedata_draw_locks(int set) if (set) art->do_lock = art->lock; else - art->do_lock = 0; + art->do_lock = FALSE; } } } diff --git a/source/blender/blenkernel/intern/seqeffects.c b/source/blender/blenkernel/intern/seqeffects.c index ca851fd4c81..fac74d27e0d 100644 --- a/source/blender/blenkernel/intern/seqeffects.c +++ b/source/blender/blenkernel/intern/seqeffects.c @@ -291,9 +291,9 @@ static ImBuf *do_plugin_effect( { char *cp; int float_rendering; - int use_temp_bufs = 0; /* Are needed since blur.c (and maybe some other - * old plugins) do very bad stuff - * with imbuf-internals */ + int use_temp_bufs = FALSE; /* Are needed since blur.c (and maybe some other + * old plugins) do very bad stuff + * with imbuf-internals */ struct ImBuf *out = prepare_effect_imbufs(context, ibuf1, ibuf2, ibuf3); int x = context.rectx; @@ -319,7 +319,7 @@ static ImBuf *do_plugin_effect( float_rendering = (out->rect_float != NULL); if (seq->plugin->version <= 3 && float_rendering) { - use_temp_bufs = 1; + use_temp_bufs = TRUE; if (ibuf1) { ibuf1 = IMB_dupImBuf(ibuf1); diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c index 41858eeecb4..8fbb3ee9800 100644 --- a/source/blender/blenkernel/intern/sequencer.c +++ b/source/blender/blenkernel/intern/sequencer.c @@ -1448,7 +1448,8 @@ void seq_proxy_rebuild(SeqIndexBuildContext *context, short *stop, short *do_upd 100); for (cfra = seq->startdisp + seq->startstill; - cfra < seq->enddisp - seq->endstill; cfra++) { + cfra < seq->enddisp - seq->endstill; cfra++) + { if (context->size_flags & IMB_PROXY_25) { seq_proxy_build_frame(render_context, seq, cfra, 25); } @@ -1464,7 +1465,7 @@ void seq_proxy_rebuild(SeqIndexBuildContext *context, short *stop, short *do_upd *progress = (float)cfra / (seq->enddisp - seq->endstill - seq->startdisp + seq->startstill); - *do_update = 1; + *do_update = TRUE; if (*stop || G.afbreek) break; @@ -1675,7 +1676,8 @@ int input_have_to_preprocess( float mul; if (seq->flag & (SEQ_FILTERY | SEQ_USE_CROP | SEQ_USE_TRANSFORM | SEQ_FLIPX | - SEQ_FLIPY | SEQ_USE_COLOR_BALANCE | SEQ_MAKE_PREMUL)) { + SEQ_FLIPY | SEQ_USE_COLOR_BALANCE | SEQ_MAKE_PREMUL)) + { return TRUE; } @@ -1762,8 +1764,10 @@ static ImBuf *input_preprocess( } } - if (c.top + c.bottom >= ibuf->y || c.left + c.right >= ibuf->x || - t.xofs >= dx || t.yofs >= dy) { + if (c.top + c.bottom >= ibuf->y || + c.left + c.right >= ibuf->x || + t.xofs >= dx || t.yofs >= dy) + { make_black_ibuf(ibuf); } else { @@ -3168,7 +3172,7 @@ void seq_tx_handle_xlimits(Sequence *seq, int leftflag, int rightflag) } if (rightflag) { - if (seq_tx_get_final_right(seq, 0) <= seq_tx_get_final_left(seq, 0)) { + if (seq_tx_get_final_right(seq, 0) <= seq_tx_get_final_left(seq, 0)) { seq_tx_set_final_right(seq, seq_tx_get_final_left(seq, 0) + 1); } @@ -3508,7 +3512,8 @@ Sequence *seq_metastrip(ListBase *seqbase, Sequence *meta, Sequence *seq) return meta; } else if (iseq->seqbase.first && - (rval = seq_metastrip(&iseq->seqbase, iseq, seq))) { + (rval = seq_metastrip(&iseq->seqbase, iseq, seq))) + { return rval; } } diff --git a/source/blender/blenkernel/intern/smoke.c b/source/blender/blenkernel/intern/smoke.c index 4b814a5b22b..edb4348dc5a 100644 --- a/source/blender/blenkernel/intern/smoke.c +++ b/source/blender/blenkernel/intern/smoke.c @@ -103,7 +103,7 @@ static void tend ( void ) { QueryPerformanceCounter ( &liCurrentTime ); } -static double tval( void ) +static double UNUSED_FUNCTION(tval)( void ) { return ((double)( (liCurrentTime.QuadPart - liStartTime.QuadPart)* (double)1000.0/(double)liFrequency.QuadPart )); } @@ -120,7 +120,7 @@ static void tend ( void ) gettimeofday ( &_tend,&tz ); } -static double tval( void ) +static double UNUSED_FUNCTION(tval)( void ) { double t1, t2; t1 = ( double ) _tstart.tv_sec*1000 + ( double ) _tstart.tv_usec/ ( 1000 ); @@ -198,8 +198,6 @@ static int smokeModifier_init (SmokeModifierData *smd, Object *ob, Scene *scene, // calc other res with max_res provided sub_v3_v3v3(size, max, min); - // printf("size: %f, %f, %f\n", size[0], size[1], size[2]); - // prevent crash when initializing a plane as domain if((size[0] < FLT_EPSILON) || (size[1] < FLT_EPSILON) || (size[2] < FLT_EPSILON)) return 0; @@ -209,14 +207,16 @@ static int smokeModifier_init (SmokeModifierData *smd, Object *ob, Scene *scene, if(size[0] > size[2]) { scale = res / size[0]; - smd->domain->dx = size[0] / res; // dx is in global coords + smd->domain->scale = size[0]; + smd->domain->dx = 1.0f / res; smd->domain->res[0] = res; smd->domain->res[1] = (int)(size[1] * scale + 0.5); smd->domain->res[2] = (int)(size[2] * scale + 0.5); } else { scale = res / size[2]; - smd->domain->dx = size[2] / res; // dx is in global coords + smd->domain->scale = size[2]; + smd->domain->dx = 1.0f / res; smd->domain->res[2] = res; smd->domain->res[0] = (int)(size[0] * scale + 0.5); smd->domain->res[1] = (int)(size[1] * scale + 0.5); @@ -226,25 +226,24 @@ static int smokeModifier_init (SmokeModifierData *smd, Object *ob, Scene *scene, if(size[1] > size[2]) { scale = res / size[1]; - smd->domain->dx = size[1] / res; // dx is in global coords + smd->domain->scale = size[1]; + smd->domain->dx = 1.0f / res; smd->domain->res[1] = res; smd->domain->res[0] = (int)(size[0] * scale + 0.5); smd->domain->res[2] = (int)(size[2] * scale + 0.5); } else { scale = res / size[2]; - smd->domain->dx = size[2] / res; + smd->domain->scale = size[2]; + smd->domain->dx = 1.0f / res; smd->domain->res[2] = res; smd->domain->res[0] = (int)(size[0] * scale + 0.5); smd->domain->res[1] = (int)(size[1] * scale + 0.5); } } - // printf("smd->domain->dx: %f\n", smd->domain->dx); - // TODO: put in failsafe if res<=0 - dg - // printf("res[0]: %d, res[1]: %d, res[2]: %d\n", smd->domain->res[0], smd->domain->res[1], smd->domain->res[2]); // dt max is 0.1 smd->domain->fluid = smoke_init(smd->domain->res, smd->domain->p0, DT_DEFAULT); smd->time = scene->r.cfra; @@ -256,8 +255,6 @@ static int smokeModifier_init (SmokeModifierData *smd, Object *ob, Scene *scene, smd->domain->res_wt[1] = smd->domain->res[1] * (smd->domain->amplify + 1); smd->domain->res_wt[2] = smd->domain->res[2] * (smd->domain->amplify + 1); smd->domain->dx_wt = smd->domain->dx / (smd->domain->amplify + 1); - // printf("smd->domain->amplify: %d\n", smd->domain->amplify); - // printf("(smd->domain->flags & MOD_SMOKE_HIGHRES)\n"); } if(!smd->domain->shadow) @@ -268,7 +265,6 @@ static int smokeModifier_init (SmokeModifierData *smd, Object *ob, Scene *scene, if(smd->domain->wt) { smoke_initWaveletBlenderRNA(smd->domain->wt, &(smd->domain->strength)); - // printf("smoke_initWaveletBlenderRNA\n"); } return 1; } @@ -303,8 +299,6 @@ static int smokeModifier_init (SmokeModifierData *smd, Object *ob, Scene *scene, DM_ensure_tessface(dm); fill_scs_points(ob, dm, scs); - - // DEBUG printf("scs->dx: %f\n", scs->dx); } if(!smd->coll->bvhtree) @@ -1184,7 +1178,7 @@ static void update_obstacles(Scene *scene, Object *ob, SmokeDomainSettings *sds, // DG TODO: cap velocity to maxVelMag (or maxvel) // oldpos + velocity * dt = newpos - get_cell(sds->p0, sds->res, sds->dx, cOldpos /* use current position here instead of "pos" */, cell, 0); + get_cell(sds->p0, sds->res, sds->dx*sds->scale, cOldpos /* use current position here instead of "pos" */, cell, 0); // check if cell is valid (in the domain boundary) for(j = 0; j < 3; j++) @@ -1329,7 +1323,7 @@ static void update_flowsfluids(Scene *scene, Object *ob, SmokeDomainSettings *sd // copy_v3_v3(pos, pa->state.co); // mul_m4_v3(ob->imat, pos); // 1. get corresponding cell - get_cell(sds->p0, sds->res, sds->dx, state.co, cell, 0); + get_cell(sds->p0, sds->res, sds->dx*sds->scale, state.co, cell, 0); // check if cell is valid (in the domain boundary) for(i = 0; i < 3; i++) { @@ -1555,9 +1549,9 @@ static void update_effectors(Scene *scene, Object *ob, SmokeDomainSettings *sds, vel[1] = velocity_y[index]; vel[2] = velocity_z[index]; - voxelCenter[0] = sds->p0[0] + sds->dx * x + sds->dx * 0.5; - voxelCenter[1] = sds->p0[1] + sds->dx * y + sds->dx * 0.5; - voxelCenter[2] = sds->p0[2] + sds->dx * z + sds->dx * 0.5; + voxelCenter[0] = sds->p0[0] + sds->dx * sds->scale * x + sds->dx * sds->scale * 0.5; + voxelCenter[1] = sds->p0[1] + sds->dx * sds->scale * y + sds->dx * sds->scale * 0.5; + voxelCenter[2] = sds->p0[2] + sds->dx * sds->scale * z + sds->dx * sds->scale * 0.5; pd_point_from_loc(scene, voxelCenter, vel, index, &epoint); pdDoEffectors(effectors, NULL, sds->effector_weights, &epoint, retvel, NULL); @@ -1598,8 +1592,8 @@ static void step(Scene *scene, Object *ob, SmokeModifierData *smd, float fps) /* adapt timestep for different framerates, dt = 0.1 is at 25fps */ dt *= (25.0f / fps); - // printf("test maxVel: %f\n", (sds->dx * 1.5) / dt); // gives 0.9 - maxVel = (sds->dx * 1.5); + // maximum timestep/"CFL" constraint: dt < dx * maxVel + maxVel = (sds->dx * 1.0); for(i = 0; i < size; i++) { @@ -1667,6 +1661,7 @@ void smokeModifier_do(SmokeModifierData *smd, Scene *scene, Object *ob, DerivedM Base *base = scene->base.first; int changed = 0; float dx = FLT_MAX; + float scale = 1.0f; int haveDomain = 0; for ( ; base; base = base->next) @@ -1677,9 +1672,10 @@ void smokeModifier_do(SmokeModifierData *smd, Scene *scene, Object *ob, DerivedM { SmokeDomainSettings *sds = smd2->domain; - if(sds->dx < dx) + if(sds->dx * sds->scale < dx) { dx = sds->dx; + scale = sds->scale; changed = 1; } @@ -1692,9 +1688,9 @@ void smokeModifier_do(SmokeModifierData *smd, Scene *scene, Object *ob, DerivedM if(changed) { - if(dx != scs->dx) + if(dx*scale != scs->dx) { - scs->dx = dx; + scs->dx = dx*scale; smokeModifier_reset(smd); } } diff --git a/source/blender/blenkernel/intern/softbody.c b/source/blender/blenkernel/intern/softbody.c index 1041fb12305..5abc4bc3830 100644 --- a/source/blender/blenkernel/intern/softbody.c +++ b/source/blender/blenkernel/intern/softbody.c @@ -697,7 +697,7 @@ static void add_2nd_order_roller(Object *ob, float UNUSED(stiffness), int *count if (bpo) {/* so now we have a 2nd order humpdidump */ for (c=bpo->nofsprings;c>0;c--) { bs2 = sb->bspring + bpo->springs[c-1]; - if ((bs2->v1 != notthis) && (bs2->v1 > v0)) { + if ((bs2->v1 != notthis) && (bs2->v1 > v0)) { (*counter)++;/*hit */ if (addsprings) { bs3->v1= v0; @@ -1054,11 +1054,12 @@ static int sb_detect_aabb_collisionCached(float UNUSED(force[3]), unsigned int U a = ccdm->totface; #endif if ((aabbmax[0] < ccdm->bbmin[0]) || - (aabbmax[1] < ccdm->bbmin[1]) || - (aabbmax[2] < ccdm->bbmin[2]) || - (aabbmin[0] > ccdm->bbmax[0]) || - (aabbmin[1] > ccdm->bbmax[1]) || - (aabbmin[2] > ccdm->bbmax[2]) ) { + (aabbmax[1] < ccdm->bbmin[1]) || + (aabbmax[2] < ccdm->bbmin[2]) || + (aabbmin[0] > ccdm->bbmax[0]) || + (aabbmin[1] > ccdm->bbmax[1]) || + (aabbmin[2] > ccdm->bbmax[2]) ) + { /* boxes don't intersect */ BLI_ghashIterator_step(ihash); continue; @@ -1125,11 +1126,12 @@ static int sb_detect_face_pointCached(float face_v1[3], float face_v2[3], float mprevvert= ccdm->mprevvert; outerfacethickness = ob->pd->pdef_sboft; if ((aabbmax[0] < ccdm->bbmin[0]) || - (aabbmax[1] < ccdm->bbmin[1]) || - (aabbmax[2] < ccdm->bbmin[2]) || - (aabbmin[0] > ccdm->bbmax[0]) || - (aabbmin[1] > ccdm->bbmax[1]) || - (aabbmin[2] > ccdm->bbmax[2]) ) { + (aabbmax[1] < ccdm->bbmin[1]) || + (aabbmax[2] < ccdm->bbmin[2]) || + (aabbmin[0] > ccdm->bbmax[0]) || + (aabbmin[1] > ccdm->bbmax[1]) || + (aabbmin[2] > ccdm->bbmax[2]) ) + { /* boxes don't intersect */ BLI_ghashIterator_step(ihash); continue; @@ -1220,11 +1222,12 @@ static int sb_detect_face_collisionCached(float face_v1[3], float face_v2[3], fl a = ccdm->totface; if ((aabbmax[0] < ccdm->bbmin[0]) || - (aabbmax[1] < ccdm->bbmin[1]) || - (aabbmax[2] < ccdm->bbmin[2]) || - (aabbmin[0] > ccdm->bbmax[0]) || - (aabbmin[1] > ccdm->bbmax[1]) || - (aabbmin[2] > ccdm->bbmax[2]) ) { + (aabbmax[1] < ccdm->bbmin[1]) || + (aabbmax[2] < ccdm->bbmin[2]) || + (aabbmin[0] > ccdm->bbmax[0]) || + (aabbmin[1] > ccdm->bbmax[1]) || + (aabbmin[2] > ccdm->bbmax[2]) ) + { /* boxes don't intersect */ BLI_ghashIterator_step(ihash); continue; @@ -1447,11 +1450,12 @@ static int sb_detect_edge_collisionCached(float edge_v1[3], float edge_v2[3], fl a = ccdm->totface; if ((aabbmax[0] < ccdm->bbmin[0]) || - (aabbmax[1] < ccdm->bbmin[1]) || - (aabbmax[2] < ccdm->bbmin[2]) || - (aabbmin[0] > ccdm->bbmax[0]) || - (aabbmin[1] > ccdm->bbmax[1]) || - (aabbmin[2] > ccdm->bbmax[2]) ) { + (aabbmax[1] < ccdm->bbmin[1]) || + (aabbmax[2] < ccdm->bbmin[2]) || + (aabbmin[0] > ccdm->bbmax[0]) || + (aabbmin[1] > ccdm->bbmax[1]) || + (aabbmin[2] > ccdm->bbmax[2]) ) + { /* boxes don't intersect */ BLI_ghashIterator_step(ihash); continue; @@ -1685,7 +1689,7 @@ static void sb_sfesf_threads_run(Scene *scene, struct Object *ob, float timenow, else sb_threads[i].ifirst = 0; sb_threads[i].do_effector = do_effector; - sb_threads[i].do_deflector = 0;// not used here + sb_threads[i].do_deflector = FALSE;// not used here sb_threads[i].fieldfactor = 0.0f;// not used here sb_threads[i].windfactor = 0.0f;// not used here sb_threads[i].nr= i; @@ -1785,14 +1789,15 @@ static int sb_detect_vertex_collisionCached(float opco[3], float facenormal[3], maxz = ccdm->bbmax[2]; if ((opco[0] < minx) || - (opco[1] < miny) || - (opco[2] < minz) || - (opco[0] > maxx) || - (opco[1] > maxy) || - (opco[2] > maxz) ) { - /* outside the padded boundbox --> collision object is too far away */ - BLI_ghashIterator_step(ihash); - continue; + (opco[1] < miny) || + (opco[2] < minz) || + (opco[0] > maxx) || + (opco[1] > maxy) || + (opco[2] > maxz) ) + { + /* outside the padded boundbox --> collision object is too far away */ + BLI_ghashIterator_step(ihash); + continue; } } else { @@ -2228,7 +2233,7 @@ static int _softbody_calc_forces_slice_in_a_thread(Scene *scene, Object *ob, flo attached = 0; for (b=obp->nofsprings;b>0;b--) { bs = sb->bspring + obp->springs[b-1]; - if (( ilast-bb == bs->v2) || ( ilast-bb == bs->v1)) { + if (( ilast-bb == bs->v2) || ( ilast-bb == bs->v1)) { attached=1; continue;} } @@ -2600,7 +2605,7 @@ static void softbody_calc_forces(Scene *scene, Object *ob, float forcetime, floa attached = 0; for (b=obp->nofsprings;b>0;b--) { bs = sb->bspring + obp->springs[b-1]; - if (( sb->totpoint-a == bs->v2) || ( sb->totpoint-a == bs->v1)) { + if (( sb->totpoint-a == bs->v2) || ( sb->totpoint-a == bs->v1)) { attached=1; continue;} } @@ -4078,7 +4083,8 @@ void sbObjectStep(Scene *scene, Object *ob, float cfra, float (*vertexCos)[3], i /* verify if we need to create the softbody data */ if (sb->bpoint == NULL || - ((ob->softflag & OB_SB_EDGES) && !ob->soft->bspring && object_has_edges(ob))) { + ((ob->softflag & OB_SB_EDGES) && !ob->soft->bspring && object_has_edges(ob))) + { switch (ob->type) { case OB_MESH: diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c index 127f5369ca5..8deee97f01a 100644 --- a/source/blender/blenkernel/intern/subsurf_ccg.c +++ b/source/blender/blenkernel/intern/subsurf_ccg.c @@ -610,7 +610,8 @@ static void ss_sync_from_derivedmesh(CCGSubSurf *ss, DerivedMesh *dm, * other parts of code significantly to handle missing faces. * since this really shouldn't even be possible we just bail.*/ if (ccgSubSurf_syncFace(ss, SET_INT_IN_POINTER(i), mp->totloop, - fVerts, &f) == eCCGError_InvalidValue) { + fVerts, &f) == eCCGError_InvalidValue) + { static int hasGivenError = 0; if (!hasGivenError) { @@ -1788,12 +1789,12 @@ static void ccgDM_drawMappedFacesGLSL(DerivedMesh *dm, int gridFaces = gridSize - 1; int edgeSize = ccgSubSurf_getEdgeSize(ss); DMFlagMat *faceFlags = ccgdm->faceFlags; - int a, b, i, doDraw, numVerts, matnr, new_matnr, totface; + int a, b, i, do_draw, numVerts, matnr, new_matnr, totface; CCG_key_top_level(&key, ss); ccgdm_pbvh_update(ccgdm); - doDraw = 0; + do_draw = 0; matnr = -1; #define PASSATTRIB(dx, dy, vert) { \ @@ -1837,12 +1838,12 @@ static void ccgDM_drawMappedFacesGLSL(DerivedMesh *dm, } if (new_matnr != matnr) { - doDraw = setMaterial(matnr = new_matnr, &gattribs); - if (doDraw) + do_draw = setMaterial(matnr = new_matnr, &gattribs); + if (do_draw) DM_vertex_attributes_from_gpu(dm, &gattribs, &attribs); } - if (!doDraw || (setDrawOptions && (origIndex != ORIGINDEX_NONE) && + if (!do_draw || (setDrawOptions && (origIndex != ORIGINDEX_NONE) && (setDrawOptions(userData, origIndex) == DM_DRAW_OPTION_SKIP))) { a += gridFaces * gridFaces * numVerts; diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c index 7634528927a..7bfd4189cc3 100644 --- a/source/blender/blenkernel/intern/text.c +++ b/source/blender/blenkernel/intern/text.c @@ -912,7 +912,7 @@ void txt_move_left(Text *text, short sel) void txt_move_right(Text *text, short sel) { TextLine **linep; - int *charp, oundoing = undoing, do_tab = 0, i; + int *charp, oundoing = undoing, do_tab = FALSE, i; if (!text) return; if (sel) txt_curs_sel(text, &linep, &charp); @@ -931,10 +931,10 @@ void txt_move_right(Text *text, short sel) // do nice right only if there are only spaces // spaces hardcoded in DNA_text_types.h if (text->flags & TXT_TABSTOSPACES && (*linep)->line[*charp] == ' ') { - do_tab = 1; + do_tab = TRUE; for (i = 0; i < *charp; i++) if ((*linep)->line[i] != ' ') { - do_tab = 0; + do_tab = FALSE; break; } } @@ -1124,7 +1124,8 @@ static void txt_pop_first(Text *text) { if (txt_get_span(text->curl, text->sell) < 0 || - (text->curl == text->sell && text->curc > text->selc)) { + (text->curl == text->sell && text->curc > text->selc)) + { txt_curs_swap(text); } @@ -1140,7 +1141,8 @@ static void txt_pop_first(Text *text) static void txt_pop_last(Text *text) { if (txt_get_span(text->curl, text->sell) > 0 || - (text->curl == text->sell && text->curc < text->selc)) { + (text->curl == text->sell && text->curc < text->selc)) + { txt_curs_swap(text); } @@ -3214,7 +3216,8 @@ short txt_clear_marker_region(Text *text, TextLine *line, int start, int end, in else if (marker->lineno > lineno) break; if ((marker->start == marker->end && start <= marker->start && marker->start <= end) || - (marker->start < end && marker->end > start)) { + (marker->start < end && marker->end > start)) + { BLI_freelinkN(&text->markers, marker); cleared = 1; } @@ -3234,7 +3237,8 @@ short txt_clear_markers(Text *text, int group, int flags) next = marker->next; if ((!group || marker->group == group) && - (marker->flags & flags) == flags) { + (marker->flags & flags) == flags) + { BLI_freelinkN(&text->markers, marker); cleared = 1; } diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c index 2c868ca2601..2ec42b47e5c 100644 --- a/source/blender/blenkernel/intern/texture.c +++ b/source/blender/blenkernel/intern/texture.c @@ -233,7 +233,8 @@ void init_tex_mapping(TexMapping *texmap) float smat[3][3], rmat[3][3], mat[3][3], proj[3][3]; if (texmap->projx == PROJ_X && texmap->projy == PROJ_Y && texmap->projz == PROJ_Z && - is_zero_v3(texmap->loc) && is_zero_v3(texmap->rot) && is_one_v3(texmap->size)) { + is_zero_v3(texmap->loc) && is_zero_v3(texmap->rot) && is_one_v3(texmap->size)) + { unit_m4(texmap->mat); texmap->flag |= TEXMAP_UNIT_MATRIX; diff --git a/source/blender/blenkernel/intern/tracking.c b/source/blender/blenkernel/intern/tracking.c index 8339e973d43..b0745ebf1c8 100644 --- a/source/blender/blenkernel/intern/tracking.c +++ b/source/blender/blenkernel/intern/tracking.c @@ -2916,7 +2916,7 @@ ImBuf *BKE_tracking_distortion_exec(MovieDistortion *distortion, MovieTracking * } #endif - ibuf->userflags |= IB_RECT_INVALID; + resibuf->userflags |= IB_RECT_INVALID; } else { #ifdef WITH_LIBMV diff --git a/source/blender/blenkernel/intern/unit.c b/source/blender/blenkernel/intern/unit.c index 03afc97f324..aa9cc40f71f 100644 --- a/source/blender/blenkernel/intern/unit.c +++ b/source/blender/blenkernel/intern/unit.c @@ -663,7 +663,7 @@ int bUnit_ReplaceString(char *str, int len_max, const char *str_prev, double sca if (*ch == ' ' || *ch == '\t') { /* do nothing */ } - else if (ch_is_op(*ch) || *ch == ',') { /* found an op, no need to insert a ,*/ + else if (ch_is_op(*ch) || *ch == ',') { /* found an op, no need to insert a ',' */ op_found = 1; break; } diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c index a3fdb41fe37..91e93bbd05d 100644 --- a/source/blender/blenkernel/intern/writeffmpeg.c +++ b/source/blender/blenkernel/intern/writeffmpeg.c @@ -472,7 +472,8 @@ static AVStream *alloc_video_stream(RenderData *rd, int codec_id, AVFormatContex c->time_base.num = 100; } else if ((double) ((int) rd->frs_sec_base) == - rd->frs_sec_base) { + rd->frs_sec_base) + { c->time_base.den = rd->frs_sec; c->time_base.num = (int) rd->frs_sec_base; } @@ -523,7 +524,7 @@ static AVStream *alloc_video_stream(RenderData *rd, int codec_id, AVFormatContex if (codec_id == CODEC_ID_FFV1) { #ifdef FFMPEG_FFV1_ALPHA_SUPPORTED - if (rd->im_format.planes == R_IMF_PLANES_RGBA) { + if (rd->im_format.planes == R_IMF_PLANES_RGBA) { c->pix_fmt = PIX_FMT_RGB32; } else { @@ -535,7 +536,7 @@ static AVStream *alloc_video_stream(RenderData *rd, int codec_id, AVFormatContex } if (codec_id == CODEC_ID_QTRLE) { - if (rd->im_format.planes == R_IMF_PLANES_RGBA) { + if (rd->im_format.planes == R_IMF_PLANES_RGBA) { c->pix_fmt = PIX_FMT_ARGB; } } @@ -544,7 +545,8 @@ static AVStream *alloc_video_stream(RenderData *rd, int codec_id, AVFormatContex // || !strcmp(of->oformat->name, "mp4") // || !strcmp(of->oformat->name, "mov") // || !strcmp(of->oformat->name, "3gp") - ) { + ) + { fprintf(stderr, "Using global header\n"); c->flags |= CODEC_FLAG_GLOBAL_HEADER; } @@ -903,7 +905,8 @@ void BKE_ffmpeg_filepath_get(char *string, RenderData *rd) while (*fe) { if (BLI_strcasecmp(string + strlen(string) - strlen(*fe), - *fe) == 0) { + *fe) == 0) + { break; } fe++; @@ -955,7 +958,8 @@ static void write_audio_frames(double to_pts) while (audio_stream && !finished) { if ((audio_time >= to_pts) || - (write_audio_frame())) { + (write_audio_frame())) + { finished = 1; } } @@ -1406,8 +1410,8 @@ void BKE_ffmpeg_image_type_verify(RenderData *rd, ImageFormatData *imf) if (rd->ffcodecdata.type <= 0 || rd->ffcodecdata.codec <= 0 || rd->ffcodecdata.audio_codec <= 0 || - rd->ffcodecdata.video_bitrate <= 1) { - + rd->ffcodecdata.video_bitrate <= 1) + { rd->ffcodecdata.codec = CODEC_ID_MPEG2VIDEO; BKE_ffmpeg_preset_set(rd, FFMPEG_PRESET_DVD); diff --git a/source/blender/blenlib/BLI_math_color.h b/source/blender/blenlib/BLI_math_color.h index afdb5d40bd5..746a2b958ea 100644 --- a/source/blender/blenlib/BLI_math_color.h +++ b/source/blender/blenlib/BLI_math_color.h @@ -54,6 +54,7 @@ extern "C" { /******************* Conversion to RGB ********************/ void hsv_to_rgb(float h, float s, float v, float *r, float *g, float *b); +void hsv_to_rgb_v(const float hsv[3], float r_rgb[3]); void hex_to_rgb(char *hexcol, float *r, float *g, float *b); void yuv_to_rgb(float y, float u, float v, float *lr, float *lg, float *lb); void ycc_to_rgb(float y, float cb, float cr, float *lr, float *lg, float *lb, int colorspace); @@ -65,7 +66,9 @@ void cpack_to_rgb(unsigned int col, float *r, float *g, float *b); void rgb_to_yuv(float r, float g, float b, float *ly, float *lu, float *lv); void rgb_to_ycc(float r, float g, float b, float *ly, float *lcb, float *lcr, int colorspace); void rgb_to_hsv(float r, float g, float b, float *lh, float *ls, float *lv); +void rgb_to_hsv_v(const float rgb[3], float r_hsv[3]); void rgb_to_hsv_compat(float r, float g, float b, float *lh, float *ls, float *lv); +void rgb_to_hsv_compat_v(const float rgb[3], float r_hsv[3]); unsigned int rgb_to_cpack(float r, float g, float b); unsigned int hsv_to_cpack(float h, float s, float v); diff --git a/source/blender/blenlib/CMakeLists.txt b/source/blender/blenlib/CMakeLists.txt index 9299766d733..b6fc4da4e1b 100644 --- a/source/blender/blenlib/CMakeLists.txt +++ b/source/blender/blenlib/CMakeLists.txt @@ -158,10 +158,6 @@ if(WITH_OPENMP) add_definitions(-DPARALLEL=1) endif() -if(WITH_XDG_USER_DIRS) - add_definitions(-DWITH_XDG_USER_DIRS) -endif() - if(WIN32) list(APPEND INC ../../../intern/utfconv diff --git a/source/blender/blenlib/intern/BLI_args.c b/source/blender/blenlib/intern/BLI_args.c index 4e194b24c1e..785c9f9f32b 100644 --- a/source/blender/blenlib/intern/BLI_args.c +++ b/source/blender/blenlib/intern/BLI_args.c @@ -240,7 +240,7 @@ void BLI_argsPrintArgDoc(struct bArgs *ba, const char *arg) internalDocPrint(d); - d->done = 1; + d->done = TRUE; } } diff --git a/source/blender/blenlib/intern/BLI_kdopbvh.c b/source/blender/blenlib/intern/BLI_kdopbvh.c index 2b21758fdc1..e9ee91505de 100644 --- a/source/blender/blenlib/intern/BLI_kdopbvh.c +++ b/source/blender/blenlib/intern/BLI_kdopbvh.c @@ -438,7 +438,7 @@ static char get_largest_axis(float *bv) middle_point[0] = (bv[1]) - (bv[0]); // x axis middle_point[1] = (bv[3]) - (bv[2]); // y axis middle_point[2] = (bv[5]) - (bv[4]); // z axis - if (middle_point[0] > middle_point[1]) { + if (middle_point[0] > middle_point[1]) { if (middle_point[0] > middle_point[2]) return 1; // max x axis else @@ -464,7 +464,7 @@ static void node_join(BVHTree *tree, BVHNode *node) } for (i = 0; i < tree->tree_type; i++) { - if (node->children[i]) { + if (node->children[i]) { for (j = tree->start_axis; j < tree->stop_axis; j++) { // update minimum if (node->children[i]->bv[(2 * j)] < node->bv[(2 * j)]) diff --git a/source/blender/blenlib/intern/fnmatch.c b/source/blender/blenlib/intern/fnmatch.c index 53172957560..e29f31897c0 100644 --- a/source/blender/blenlib/intern/fnmatch.c +++ b/source/blender/blenlib/intern/fnmatch.c @@ -235,7 +235,7 @@ fnmatch (const char *pattern, const char *string, int flags) # undef FOLD } -#endif /* _LIBC or not __GNU_LIBRARY__. */ +#endif /* _LIBC or not __GNU_LIBRARY__. */ #else diff --git a/source/blender/blenlib/intern/math_color.c b/source/blender/blenlib/intern/math_color.c index abd9c1ea5b8..152fc98945f 100644 --- a/source/blender/blenlib/intern/math_color.c +++ b/source/blender/blenlib/intern/math_color.c @@ -90,6 +90,12 @@ void hsv_to_rgb(float h, float s, float v, float *r, float *g, float *b) } } +/* convenience function for now */ +void hsv_to_rgb_v(const float hsv[3], float r_rgb[3]) +{ + hsv_to_rgb(hsv[0], hsv[1], hsv[2], &r_rgb[0], &r_rgb[1], &r_rgb[2]); +} + void rgb_to_yuv(float r, float g, float b, float *ly, float *lu, float *lv) { float y, u, v; @@ -252,6 +258,12 @@ void rgb_to_hsv(float r, float g, float b, float *lh, float *ls, float *lv) *lv = v; } +/* convenience function for now */ +void rgb_to_hsv_v(const float rgb[3], float r_hsv[3]) +{ + rgb_to_hsv(rgb[0], rgb[1], rgb[2], &r_hsv[0], &r_hsv[1], &r_hsv[2]); +} + void rgb_to_hsv_compat(float r, float g, float b, float *lh, float *ls, float *lv) { float orig_h = *lh; @@ -272,6 +284,12 @@ void rgb_to_hsv_compat(float r, float g, float b, float *lh, float *ls, float *l } } +/* convenience function for now */ +void rgb_to_hsv_compat_v(const float rgb[3], float r_hsv[3]) +{ + rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], &r_hsv[0], &r_hsv[1], &r_hsv[2]); +} + /*http://brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html */ void xyz_to_rgb(float xc, float yc, float zc, float *r, float *g, float *b, int colorspace) diff --git a/source/blender/blenlib/intern/math_rotation.c b/source/blender/blenlib/intern/math_rotation.c index 066c9e7cd15..f1e08993825 100644 --- a/source/blender/blenlib/intern/math_rotation.c +++ b/source/blender/blenlib/intern/math_rotation.c @@ -82,7 +82,7 @@ void mul_qt_qtqt(float q[4], const float q1[4], const float q2[4]) * \note: * Assumes a unit quaternion? * - * infact not, but you may wan't to use a unit quat, read on... + * in fact not, but you may wan't to use a unit quat, read on... * * Shortcut for 'q v q*' when \a v is actually a quaternion. * This removes the need for converting a vector to a quaternion, diff --git a/source/blender/blenlib/intern/noise.c b/source/blender/blenlib/intern/noise.c index f591dc17f5b..cad4addc87b 100644 --- a/source/blender/blenlib/intern/noise.c +++ b/source/blender/blenlib/intern/noise.c @@ -302,14 +302,14 @@ static float newPerlin(float x, float y, float z) w = npfade(z); A = hash[X ]+Y; AA = hash[A]+Z; AB = hash[A+1]+Z; // HASH COORDINATES OF B = hash[X+1]+Y; BA = hash[B]+Z; BB = hash[B+1]+Z; // THE 8 CUBE CORNERS, - return lerp(w, lerp(v, lerp(u, grad(hash[AA ], x , y , z ), // AND ADD - grad(hash[BA ], x-1, y , z )), // BLENDED - lerp(u, grad(hash[AB ], x , y-1, z ), // RESULTS - grad(hash[BB ], x-1, y-1, z ))),// FROM 8 - lerp(v, lerp(u, grad(hash[AA+1], x , y , z-1 ), // CORNERS - grad(hash[BA+1], x-1, y , z-1 )), // OF CUBE - lerp(u, grad(hash[AB+1], x , y-1, z-1 ), - grad(hash[BB+1], x-1, y-1, z-1 )))); + return lerp(w, lerp(v, lerp(u, grad(hash[AA ], x, y, z ), // AND ADD + grad(hash[BA ], x - 1, y, z )), // BLENDED + lerp(u, grad(hash[AB ], x, y - 1, z ), // RESULTS + grad(hash[BB ], x - 1, y - 1, z ))), // FROM 8 + lerp(v, lerp(u, grad(hash[AA + 1], x, y, z - 1), // CORNERS + grad(hash[BA + 1], x - 1, y, z - 1)), // OF CUBE + lerp(u, grad(hash[AB + 1], x, y - 1, z - 1), + grad(hash[BB + 1], x - 1, y - 1, z - 1)))); } /* for use with BLI_gNoise()/BLI_gTurbulence(), returns unsigned improved perlin noise */ diff --git a/source/blender/blenlib/intern/path_util.c b/source/blender/blenlib/intern/path_util.c index 59147040fd8..3c7e66f280a 100644 --- a/source/blender/blenlib/intern/path_util.c +++ b/source/blender/blenlib/intern/path_util.c @@ -77,22 +77,6 @@ # endif #endif /* WIN32 */ -/* standard paths */ -#ifdef WIN32 -# define BLENDER_USER_FORMAT "%s\\Blender Foundation\\Blender\\%s" -# define BLENDER_SYSTEM_FORMAT "%s\\Blender Foundation\\Blender\\%s" -#elif defined(__APPLE__) -# define BLENDER_USER_FORMAT "%s/Blender/%s" -# define BLENDER_SYSTEM_FORMAT "%s/Blender/%s" -#else /* UNIX */ -# ifndef WITH_XDG_USER_DIRS /* oldschool unix ~/.blender/ */ -# define BLENDER_USER_FORMAT "%s/.blender/%s" -# else /* new XDG ~/blender/.config/ */ -# define BLENDER_USER_FORMAT "%s/blender/%s" -# endif // WITH_XDG_USER_DIRS -# define BLENDER_SYSTEM_FORMAT "%s/blender/%s" -#endif - /* local */ #define UNIQUE_NAME_MAX 128 @@ -822,16 +806,12 @@ void BLI_getlastdir(const char *dir, char *last, const size_t maxlen) const char *BLI_getDefaultDocumentFolder(void) { #ifndef WIN32 + const char *xdg_documents_dir= getenv("XDG_DOCUMENTS_DIR"); -#ifdef WITH_XDG_USER_DIRS - const char *xdg_documents_dir = getenv("XDG_DOCUMENTS_DIR"); - if (xdg_documents_dir) { + if (xdg_documents_dir) return xdg_documents_dir; - } -#endif return getenv("HOME"); - #else /* Windows */ static char documentfolder[MAXPATHLEN]; HRESULT hResult; @@ -969,10 +949,9 @@ static int get_path_user(char *targetpath, const char *folder_name, const char * } } - user_base_path = (const char *)GHOST_getUserDir(); - if (user_base_path) { - BLI_snprintf(user_path, FILE_MAX, BLENDER_USER_FORMAT, user_base_path, blender_version_decimal(ver)); - } + user_base_path = (const char *)GHOST_getUserDir(ver, blender_version_decimal(ver)); + if (user_base_path) + BLI_strncpy(user_path, user_base_path, FILE_MAX); if (!user_path[0]) return 0; @@ -1040,10 +1019,9 @@ static int get_path_system(char *targetpath, const char *folder_name, const char } } - system_base_path = (const char *)GHOST_getSystemDir(); - if (system_base_path) { - BLI_snprintf(system_path, FILE_MAX, BLENDER_SYSTEM_FORMAT, system_base_path, blender_version_decimal(ver)); - } + system_base_path = (const char *)GHOST_getSystemDir(ver, blender_version_decimal(ver)); + if (system_base_path) + BLI_strncpy(system_path, system_base_path, FILE_MAX); if (!system_path[0]) return 0; @@ -1529,7 +1507,7 @@ void BLI_join_dirfile(char *dst, const size_t maxlen, const char *dir, const cha size_t dirlen = BLI_strnlen(dir, maxlen); if (dst != dir) { - if (dirlen == maxlen) { + if (dirlen == maxlen) { memcpy(dst, dir, dirlen); dst[dirlen - 1] = '\0'; return; /* dir fills the path */ @@ -1920,7 +1898,7 @@ static void BLI_where_is_temp(char *fullname, const size_t maxlen, char *userdir BLI_strncpy(fullname, tmp, maxlen); } } -#endif +#endif if (fullname[0] == '\0') { BLI_strncpy(fullname, "/tmp/", maxlen); diff --git a/source/blender/blenlib/intern/pbvh.c b/source/blender/blenlib/intern/pbvh.c index fdb0cc0ccc8..f4b57857173 100644 --- a/source/blender/blenlib/intern/pbvh.c +++ b/source/blender/blenlib/intern/pbvh.c @@ -406,8 +406,9 @@ static void build_mesh_leaf_node(PBVH *bvh, PBVHNode *node) /* Build the vertex list, unique verts first */ for (iter = BLI_ghashIterator_new(map), i = 0; - !BLI_ghashIterator_isDone(iter); - BLI_ghashIterator_step(iter), ++i) { + BLI_ghashIterator_isDone(iter) == FALSE; + BLI_ghashIterator_step(iter), ++i) + { void *value = BLI_ghashIterator_getValue(iter); int ndx = GET_INT_FROM_POINTER(value); diff --git a/source/blender/blenlib/intern/string.c b/source/blender/blenlib/intern/string.c index 53531871aa6..e73899ce929 100644 --- a/source/blender/blenlib/intern/string.c +++ b/source/blender/blenlib/intern/string.c @@ -135,7 +135,7 @@ size_t BLI_strescape(char *dst, const char *src, const size_t maxlen) case '\t': case '\n': case '\r': - if (len + 1 < maxlen) { + if (len + 1 < maxlen) { *dst++ = '\\'; len++; } diff --git a/source/blender/blenlib/intern/uvproject.c b/source/blender/blenlib/intern/uvproject.c index 18c69bd2ba8..1b59dc6a3f5 100644 --- a/source/blender/blenlib/intern/uvproject.c +++ b/source/blender/blenlib/intern/uvproject.c @@ -58,7 +58,7 @@ void BLI_uvproject_from_camera(float target[2], float source[3], ProjCameraInfo if (uci->do_pano) { float angle = atan2f(pv4[0], -pv4[2]) / ((float)M_PI * 2.0f); /* angle around the camera */ - if (uci->do_persp == 0) { + if (uci->do_persp == FALSE) { target[0] = angle; /* no correct method here, just map to 0-1 */ target[1] = pv4[1] / uci->camsize; } @@ -74,7 +74,7 @@ void BLI_uvproject_from_camera(float target[2], float source[3], ProjCameraInfo if (pv4[2] == 0.0f) pv4[2] = 0.00001f; /* don't allow div by 0 */ - if (uci->do_persp == 0) { + if (uci->do_persp == FALSE) { target[0] = (pv4[0] / uci->camsize); target[1] = (pv4[1] / uci->camsize); } @@ -154,10 +154,10 @@ ProjCameraInfo *BLI_uvproject_camera_info(Object *ob, float(*rotmat)[4], float w /* normal projection */ if (rotmat) { copy_m4_m4(uci.rotmat, rotmat); - uci.do_rotmat = 1; + uci.do_rotmat = TRUE; } else { - uci.do_rotmat = 0; + uci.do_rotmat = FALSE; } /* also make aspect ratio adjustment factors */ diff --git a/source/blender/blenlib/intern/winstuff.c b/source/blender/blenlib/intern/winstuff.c index efb5ca98185..e34150ee4f2 100644 --- a/source/blender/blenlib/intern/winstuff.c +++ b/source/blender/blenlib/intern/winstuff.c @@ -158,7 +158,7 @@ void RegisterBlendExtension(void) ThumbHandlerDLL = "BlendThumb64.dll"; else ThumbHandlerDLL = "BlendThumb.dll"; -#endif +#endif snprintf(RegCmd, MAX_PATH * 2, "%s\\regsvr32 /s \"%s\\%s\"", SysDir, InstallDir, ThumbHandlerDLL); system(RegCmd); diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 95d3f56f9b3..8a589bd191c 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -533,8 +533,9 @@ static void read_file_version(FileData *fd, Main *main) } -static Main *blo_find_main(FileData *fd, ListBase *mainlist, const char *filepath, const char *relabase) +static Main *blo_find_main(FileData *fd, const char *filepath, const char *relabase) { + ListBase *mainlist = fd->mainlist; Main *m; Library *lib; char name1[FILE_MAX]; @@ -1255,9 +1256,9 @@ void blo_make_image_pointer_map(FileData *fd, Main *oldmain) fd->imamap = oldnewmap_new(); - for (;ima; ima = ima->id.next) { + for (; ima; ima = ima->id.next) { Link *ibuf = ima->ibufs.first; - for (; ibuf; ibuf= ibuf->next) + for (; ibuf; ibuf = ibuf->next) oldnewmap_insert(fd->imamap, ibuf, ibuf, 0); if (ima->gputexture) oldnewmap_insert(fd->imamap, ima->gputexture, ima->gputexture, 0); @@ -1265,7 +1266,7 @@ void blo_make_image_pointer_map(FileData *fd, Main *oldmain) if (ima->renders[a]) oldnewmap_insert(fd->imamap, ima->renders[a], ima->renders[a], 0); } - for (; sce; sce= sce->id.next) { + for (; sce; sce = sce->id.next) { if (sce->nodetree) { bNode *node; for (node = sce->nodetree->nodes.first; node; node = node->next) @@ -1284,12 +1285,12 @@ void blo_end_image_pointer_map(FileData *fd, Main *oldmain) int i; /* used entries were restored, so we put them to zero */ - for ( i= 0; i < fd->imamap->nentries; i++, entry++) { + for (i = 0; i < fd->imamap->nentries; i++, entry++) { if (entry->nr > 0) entry->newp = NULL; } - for (; ima; ima= ima->id.next) { + for (; ima; ima = ima->id.next) { Link *ibuf, *next; /* this mirrors direct_link_image */ @@ -1322,7 +1323,7 @@ void blo_make_movieclip_pointer_map(FileData *fd, Main *oldmain) fd->movieclipmap = oldnewmap_new(); - for (;clip; clip= clip->id.next) { + for (; clip; clip = clip->id.next) { if (clip->cache) oldnewmap_insert(fd->movieclipmap, clip->cache, clip->cache, 0); @@ -1536,7 +1537,7 @@ static void IDP_DirectLinkIDPArray(IDProperty *prop, int switch_endian, FileData prop->totallen = prop->len; prop->data.pointer = newdataadr(fd, prop->data.pointer); - array= (IDProperty*) prop->data.pointer; + array = (IDProperty *)prop->data.pointer; /* note!, idp-arrays didn't exist in 2.4x, so the pointer will be cleared * theres not really anything we can do to correct this, at least don't crash */ @@ -1653,7 +1654,7 @@ static void direct_link_curvemapping(FileData *fd, CurveMapping *cumap) /* flag seems to be able to hang? Maybe old files... not bad to clear anyway */ cumap->flag &= ~CUMA_PREMULLED; - for (a=0; a<CM_TOT; a++) { + for (a = 0; a < CM_TOT; a++) { cumap->cm[a].curve = newdataadr(fd, cumap->cm[a].curve); cumap->cm[a].table = NULL; cumap->cm[a].premultable = NULL; @@ -1667,7 +1668,7 @@ static void lib_link_brush(FileData *fd, Main *main) Brush *brush; /* only link ID pointers */ - for (brush= main->brush.first; brush; brush= brush->id.next) { + for (brush = main->brush.first; brush; brush = brush->id.next) { if (brush->id.flag & LIB_NEEDLINK) { brush->id.flag -= LIB_NEEDLINK; @@ -1739,8 +1740,7 @@ static void lib_link_ipo(FileData *fd, Main *main) { Ipo *ipo; - ipo = main->ipo.first; - while (ipo) { + for (ipo = main->ipo.first; ipo; ipo = ipo->id.next) { if (ipo->id.flag & LIB_NEEDLINK) { IpoCurve *icu; for (icu = ipo->curve.first; icu; icu = icu->next) { @@ -1749,7 +1749,6 @@ static void lib_link_ipo(FileData *fd, Main *main) } ipo->id.flag -= LIB_NEEDLINK; } - ipo = ipo->id.next; } } @@ -1759,12 +1758,11 @@ static void direct_link_ipo(FileData *fd, Ipo *ipo) IpoCurve *icu; link_list(fd, &(ipo->curve)); - icu = ipo->curve.first; - while (icu) { + + for (icu = ipo->curve.first; icu; icu = icu->next) { icu->bezt = newdataadr(fd, icu->bezt); icu->bp = newdataadr(fd, icu->bp); icu->driver = newdataadr(fd, icu->driver); - icu = icu->next; } } @@ -1778,7 +1776,7 @@ static void lib_link_nlastrips(FileData *fd, ID *id, ListBase *striplist) strip->object = newlibadr(fd, id->lib, strip->object); strip->act = newlibadr_us(fd, id->lib, strip->act); strip->ipo = newlibadr(fd, id->lib, strip->ipo); - for (amod= strip->modifiers.first; amod; amod= amod->next) + for (amod = strip->modifiers.first; amod; amod = amod->next) amod->ob = newlibadr(fd, id->lib, amod->ob); } } @@ -1790,7 +1788,7 @@ static void direct_link_nlastrips(FileData *fd, ListBase *strips) link_list(fd, strips); - for (strip= strips->first; strip; strip= strip->next) + for (strip = strips->first; strip; strip = strip->next) link_list(fd, &strip->modifiers); } @@ -1952,7 +1950,7 @@ static void lib_link_action(FileData *fd, Main *main) bAction *act; bActionChannel *chan; - for (act= main->action.first; act; act= act->id.next) { + for (act = main->action.first; act; act = act->id.next) { if (act->id.flag & LIB_NEEDLINK) { act->id.flag -= LIB_NEEDLINK; @@ -2169,7 +2167,7 @@ static void lib_link_ntree(FileData *fd, ID *id, bNodeTree *ntree) ntree->gpd = newlibadr_us(fd, id->lib, ntree->gpd); - for (node= ntree->nodes.first; node; node= node->next) + for (node = ntree->nodes.first; node; node = node->next) node->id = newlibadr_us(fd, id->lib, node->id); } @@ -2179,7 +2177,7 @@ static void lib_link_nodetree(FileData *fd, Main *main) bNodeTree *ntree; /* only link ID pointers */ - for (ntree= main->nodetree.first; ntree; ntree= ntree->id.next) { + for (ntree = main->nodetree.first; ntree; ntree = ntree->id.next) { if (ntree->id.flag & LIB_NEEDLINK) { ntree->id.flag -= LIB_NEEDLINK; lib_link_ntree(fd, &ntree->id, ntree); @@ -2197,24 +2195,24 @@ static void do_versions_socket_default_value(bNodeSocket *sock) return; switch (sock->type) { - case SOCK_FLOAT: - valfloat = sock->default_value = MEM_callocN(sizeof(bNodeSocketValueFloat), "default socket value"); - valfloat->value = sock->ns.vec[0]; - valfloat->min = sock->ns.min; - valfloat->max = sock->ns.max; - valfloat->subtype = PROP_NONE; - break; - case SOCK_VECTOR: - valvector = sock->default_value = MEM_callocN(sizeof(bNodeSocketValueVector), "default socket value"); - copy_v3_v3(valvector->value, sock->ns.vec); - valvector->min = sock->ns.min; - valvector->max = sock->ns.max; - valvector->subtype = PROP_NONE; - break; - case SOCK_RGBA: - valrgba = sock->default_value = MEM_callocN(sizeof(bNodeSocketValueRGBA), "default socket value"); - copy_v4_v4(valrgba->value, sock->ns.vec); - break; + case SOCK_FLOAT: + valfloat = sock->default_value = MEM_callocN(sizeof(bNodeSocketValueFloat), "default socket value"); + valfloat->value = sock->ns.vec[0]; + valfloat->min = sock->ns.min; + valfloat->max = sock->ns.max; + valfloat->subtype = PROP_NONE; + break; + case SOCK_VECTOR: + valvector = sock->default_value = MEM_callocN(sizeof(bNodeSocketValueVector), "default socket value"); + copy_v3_v3(valvector->value, sock->ns.vec); + valvector->min = sock->ns.min; + valvector->max = sock->ns.max; + valvector->subtype = PROP_NONE; + break; + case SOCK_RGBA: + valrgba = sock->default_value = MEM_callocN(sizeof(bNodeSocketValueRGBA), "default socket value"); + copy_v4_v4(valrgba->value, sock->ns.vec); + break; } } @@ -2352,7 +2350,7 @@ static void lib_verify_nodetree(Main *main, int UNUSED(open)) } } - for (ntree= main->nodetree.first; ntree; ntree= ntree->id.next) + for (ntree = main->nodetree.first; ntree; ntree = ntree->id.next) ntree->flag &= ~NTREE_DO_VERSIONS_GROUP_EXPOSE; } @@ -2421,7 +2419,7 @@ static void direct_link_nodetree(FileData *fd, bNodeTree *ntree) if (ntree->type==NTREE_SHADER && (node->type==SH_NODE_CURVE_VEC || node->type==SH_NODE_CURVE_RGB)) direct_link_curvemapping(fd, node->storage); else if (ntree->type==NTREE_COMPOSIT) { - if ( ELEM4(node->type, CMP_NODE_TIME, CMP_NODE_CURVE_VEC, CMP_NODE_CURVE_RGB, CMP_NODE_HUECORRECT)) + if (ELEM4(node->type, CMP_NODE_TIME, CMP_NODE_CURVE_VEC, CMP_NODE_CURVE_RGB, CMP_NODE_HUECORRECT)) direct_link_curvemapping(fd, node->storage); else if (ELEM3(node->type, CMP_NODE_IMAGE, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) ((ImageUser *)node->storage)->ok = 1; @@ -2566,7 +2564,7 @@ static void lib_link_pose(FileData *fd, Object *ob, bPose *pose) /* always rebuild to match proxy or lib changes */ - rebuild= ob->proxy || (ob->id.lib==NULL && arm->id.lib); + rebuild = ob->proxy || (ob->id.lib==NULL && arm->id.lib); if (ob->proxy) { /* sync proxy layer */ @@ -2607,14 +2605,11 @@ static void lib_link_armature(FileData *fd, Main *main) { bArmature *arm; - arm = main->armature.first; - - while (arm) { + for (arm = main->armature.first; arm; arm = arm->id.next) { if (arm->id.flag & LIB_NEEDLINK) { if (arm->adt) lib_link_animdata(fd, &arm->id, arm->adt); arm->id.flag -= LIB_NEEDLINK; } - arm = arm->id.next; } } @@ -2646,10 +2641,8 @@ static void direct_link_armature(FileData *fd, bArmature *arm) arm->adt = newdataadr(fd, arm->adt); direct_link_animdata(fd, arm->adt); - bone = arm->bonebase.first; - while (bone) { + for (bone = arm->bonebase.first; bone; bone = bone->next) { direct_link_bones(fd, bone); - bone=bone->next; } arm->act_bone = newdataadr(fd, arm->act_bone); @@ -2662,8 +2655,7 @@ static void lib_link_camera(FileData *fd, Main *main) { Camera *ca; - ca = main->camera.first; - while (ca) { + for (ca = main->camera.first; ca; ca = ca->id.next) { if (ca->id.flag & LIB_NEEDLINK) { if (ca->adt) lib_link_animdata(fd, &ca->id, ca->adt); @@ -2673,7 +2665,6 @@ static void lib_link_camera(FileData *fd, Main *main) ca->id.flag -= LIB_NEEDLINK; } - ca = ca->id.next; } } @@ -2692,8 +2683,7 @@ static void lib_link_lamp(FileData *fd, Main *main) MTex *mtex; int a; - la = main->lamp.first; - while (la) { + for (la = main->lamp.first; la; la = la->id.next) { if (la->id.flag & LIB_NEEDLINK) { if (la->adt) lib_link_animdata(fd, &la->id, la->adt); @@ -2712,7 +2702,6 @@ static void lib_link_lamp(FileData *fd, Main *main) la->id.flag -= LIB_NEEDLINK; } - la = la->id.next; } } @@ -2744,8 +2733,7 @@ static void lib_link_key(FileData *fd, Main *main) { Key *key; - key = main->key.first; - while (key) { + for (key = main->key.first; key; key = key->id.next) { /*check if we need to generate unique ids for the shapekeys*/ if (!key->uidgen) { KeyBlock *block; @@ -2764,7 +2752,6 @@ static void lib_link_key(FileData *fd, Main *main) key->id.flag -= LIB_NEEDLINK; } - key = key->id.next; } } @@ -2811,14 +2798,11 @@ static void direct_link_key(FileData *fd, Key *key) key->refkey= newdataadr(fd, key->refkey); - kb = key->block.first; - while (kb) { + for (kb = key->block.first; kb; kb = kb->next) { kb->data = newdataadr(fd, kb->data); if (fd->flags & FD_FLAGS_SWITCH_ENDIAN) switch_endian_keyblock(key, kb); - - kb = kb->next; } } @@ -2829,8 +2813,7 @@ static void lib_link_mball(FileData *fd, Main *main) MetaBall *mb; int a; - mb = main->mball.first; - while (mb) { + for (mb = main->mball.first; mb; mb = mb->id.next) { if (mb->id.flag & LIB_NEEDLINK) { if (mb->adt) lib_link_animdata(fd, &mb->id, mb->adt); @@ -2841,7 +2824,6 @@ static void lib_link_mball(FileData *fd, Main *main) mb->id.flag -= LIB_NEEDLINK; } - mb = mb->id.next; } } @@ -2870,8 +2852,7 @@ static void lib_link_world(FileData *fd, Main *main) MTex *mtex; int a; - wrld = main->world.first; - while (wrld) { + for (wrld = main->world.first; wrld; wrld = wrld->id.next) { if (wrld->id.flag & LIB_NEEDLINK) { if (wrld->adt) lib_link_animdata(fd, &wrld->id, wrld->adt); @@ -2880,8 +2861,8 @@ static void lib_link_world(FileData *fd, Main *main) for (a=0; a < MAX_MTEX; a++) { mtex = wrld->mtex[a]; if (mtex) { - mtex->tex= newlibadr_us(fd, wrld->id.lib, mtex->tex); - mtex->object= newlibadr(fd, wrld->id.lib, mtex->object); + mtex->tex = newlibadr_us(fd, wrld->id.lib, mtex->tex); + mtex->object = newlibadr(fd, wrld->id.lib, mtex->object); } } @@ -2890,7 +2871,6 @@ static void lib_link_world(FileData *fd, Main *main) wrld->id.flag -= LIB_NEEDLINK; } - wrld = wrld->id.next; } } @@ -2898,14 +2878,14 @@ static void direct_link_world(FileData *fd, World *wrld) { int a; - wrld->adt= newdataadr(fd, wrld->adt); + wrld->adt = newdataadr(fd, wrld->adt); direct_link_animdata(fd, wrld->adt); - for (a=0; a<MAX_MTEX; a++) { - wrld->mtex[a]= newdataadr(fd, wrld->mtex[a]); + for (a = 0; a < MAX_MTEX; a++) { + wrld->mtex[a] = newdataadr(fd, wrld->mtex[a]); } - wrld->nodetree= newdataadr(fd, wrld->nodetree); + wrld->nodetree = newdataadr(fd, wrld->nodetree); if (wrld->nodetree) direct_link_nodetree(fd, wrld->nodetree); @@ -2919,12 +2899,10 @@ static void lib_link_vfont(FileData *UNUSED(fd), Main *main) { VFont *vf; - vf = main->vfont.first; - while (vf) { + for (vf = main->vfont.first; vf; vf = vf->id.next) { if (vf->id.flag & LIB_NEEDLINK) { vf->id.flag -= LIB_NEEDLINK; } - vf = vf->id.next; } } @@ -2940,12 +2918,10 @@ static void lib_link_text(FileData *UNUSED(fd), Main *main) { Text *text; - text = main->text.first; - while (text) { + for (text = main->text.first; text; text = text->id.next) { if (text->id.flag & LIB_NEEDLINK) { text->id.flag -= LIB_NEEDLINK; } - text = text->id.next; } } @@ -2974,8 +2950,7 @@ static void direct_link_text(FileData *fd, Text *text) text->curl = newdataadr(fd, text->curl); text->sell = newdataadr(fd, text->sell); - ln = text->lines.first; - while (ln) { + for (ln = text->lines.first; ln; ln = ln->next) { ln->line = newdataadr(fd, ln->line); ln->format = NULL; @@ -2983,8 +2958,6 @@ static void direct_link_text(FileData *fd, Text *text) printf("Error loading text, line lengths differ\n"); ln->len = strlen(ln->line); } - - ln = ln->next; } text->flags = (text->flags) & ~TXT_ISEXT; @@ -2998,14 +2971,12 @@ static void lib_link_image(FileData *fd, Main *main) { Image *ima; - ima = main->image.first; - while (ima) { + for (ima = main->image.first; ima; ima = ima->id.next) { if (ima->id.flag & LIB_NEEDLINK) { if (ima->id.properties) IDP_LibLinkProperty(ima->id.properties, (fd->flags & FD_FLAGS_SWITCH_ENDIAN), fd); ima->id.flag -= LIB_NEEDLINK; } - ima = ima->id.next; } } @@ -3049,7 +3020,7 @@ static void direct_link_image(FileData *fd, Image *ima) if (fd->imamap) { int a; - for (a =0; a < IMA_MAX_RENDER_SLOT; a++) + for (a = 0; a < IMA_MAX_RENDER_SLOT; a++) ima->renders[a] = newimaadr(fd, ima->renders[a]); } else { @@ -3070,8 +3041,7 @@ static void lib_link_curve(FileData *fd, Main *main) Curve *cu; int a; - cu = main->curve.first; - while (cu) { + for (cu = main->curve.first; cu; cu = cu->id.next) { if (cu->id.flag & LIB_NEEDLINK) { if (cu->adt) lib_link_animdata(fd, &cu->id, cu->adt); @@ -3091,7 +3061,6 @@ static void lib_link_curve(FileData *fd, Main *main) cu->id.flag -= LIB_NEEDLINK; } - cu = cu->id.next; } } @@ -3101,13 +3070,13 @@ static void switch_endian_knots(Nurb *nu) int len; if (nu->knotsu) { - len= KNOTSU(nu); + len = KNOTSU(nu); while (len--) { SWITCH_INT(nu->knotsu[len]); } } if (nu->knotsv) { - len= KNOTSV(nu); + len = KNOTSV(nu); while (len--) { SWITCH_INT(nu->knotsv[len]); } @@ -3154,8 +3123,7 @@ static void direct_link_curve(FileData *fd, Curve *cu) cu->path = NULL; cu->editfont = NULL; - nu = cu->nurb.first; - while (nu) { + for (nu = cu->nurb.first; nu; nu = nu->next) { nu->bezt = newdataadr(fd, nu->bezt); nu->bp = newdataadr(fd, nu->bp); nu->knotsu = newdataadr(fd, nu->knotsu); @@ -3165,8 +3133,6 @@ static void direct_link_curve(FileData *fd, Curve *cu) if (fd->flags & FD_FLAGS_SWITCH_ENDIAN) { switch_endian_knots(nu); } - - nu = nu->next; } cu->bb = NULL; } @@ -3177,8 +3143,7 @@ static void lib_link_texture(FileData *fd, Main *main) { Tex *tex; - tex = main->tex.first; - while (tex) { + for (tex = main->tex.first; tex; tex = tex->id.next) { if (tex->id.flag & LIB_NEEDLINK) { if (tex->adt) lib_link_animdata(fd, &tex->id, tex->adt); @@ -3187,7 +3152,7 @@ static void lib_link_texture(FileData *fd, Main *main) if (tex->env) tex->env->object = newlibadr(fd, tex->id.lib, tex->env->object); if (tex->pd) - tex->pd->object= newlibadr(fd, tex->id.lib, tex->pd->object); + tex->pd->object = newlibadr(fd, tex->id.lib, tex->pd->object); if (tex->vd) tex->vd->object = newlibadr(fd, tex->id.lib, tex->vd->object); if (tex->ot) @@ -3198,7 +3163,6 @@ static void lib_link_texture(FileData *fd, Main *main) tex->id.flag -= LIB_NEEDLINK; } - tex= tex->id.next; } } @@ -3224,7 +3188,7 @@ static void direct_link_texture(FileData *fd, Tex *tex) memset(tex->env->cube, 0, 6*sizeof(void *)); tex->env->ok= 0; } - tex->pd= newdataadr(fd, tex->pd); + tex->pd = newdataadr(fd, tex->pd); if (tex->pd) { tex->pd->point_tree = NULL; tex->pd->coba = newdataadr(fd, tex->pd->coba); @@ -3246,13 +3210,13 @@ static void direct_link_texture(FileData *fd, Tex *tex) tex->ot = newdataadr(fd, tex->ot); - tex->nodetree= newdataadr(fd, tex->nodetree); + tex->nodetree = newdataadr(fd, tex->nodetree); if (tex->nodetree) direct_link_nodetree(fd, tex->nodetree); tex->preview = direct_link_preview_image(fd, tex->preview); - tex->iuser.ok= 1; + tex->iuser.ok = 1; } @@ -3265,8 +3229,7 @@ static void lib_link_material(FileData *fd, Main *main) MTex *mtex; int a; - ma = main->mat.first; - while (ma) { + for (ma = main->mat.first; ma; ma = ma->id.next) { if (ma->id.flag & LIB_NEEDLINK) { if (ma->adt) lib_link_animdata(fd, &ma->id, ma->adt); @@ -3277,7 +3240,7 @@ static void lib_link_material(FileData *fd, Main *main) ma->ipo = newlibadr_us(fd, ma->id.lib, ma->ipo); ma->group = newlibadr_us(fd, ma->id.lib, ma->group); - for (a=0; a < MAX_MTEX; a++) { + for (a = 0; a < MAX_MTEX; a++) { mtex = ma->mtex[a]; if (mtex) { mtex->tex = newlibadr_us(fd, ma->id.lib, mtex->tex); @@ -3290,7 +3253,6 @@ static void lib_link_material(FileData *fd, Main *main) ma->id.flag -= LIB_NEEDLINK; } - ma = ma->id.next; } } @@ -3409,9 +3371,8 @@ static void lib_link_particlesettings(FileData *fd, Main *main) ParticleDupliWeight *dw; MTex *mtex; int a; - - part= main->particle.first; - while (part) { + + for (part = main->particle.first; part; part = part->id.next) { if (part->id.flag & LIB_NEEDLINK) { if (part->adt) lib_link_animdata(fd, &part->id, part->adt); part->ipo = newlibadr_us(fd, part->id.lib, part->ipo); // XXX depreceated - old animation system @@ -3496,7 +3457,6 @@ static void lib_link_particlesettings(FileData *fd, Main *main) part->id.flag -= LIB_NEEDLINK; } - part= part->id.next; } } @@ -3508,6 +3468,7 @@ static void direct_link_partdeflect(PartDeflect *pd) static void direct_link_particlesettings(FileData *fd, ParticleSettings *part) { int a; + part->adt = newdataadr(fd, part->adt); part->pd = newdataadr(fd, part->pd); part->pd2 = newdataadr(fd, part->pd2); @@ -3686,7 +3647,7 @@ static void lib_link_customdata_mtpoly(FileData *fd, Mesh *me, CustomData *pdata { int i; - for (i=0; i<pdata->totlayer; i++) { + for (i=0; i < pdata->totlayer; i++) { CustomDataLayer *layer = &pdata->layers[i]; if (layer->type == CD_MTEXPOLY) { @@ -3706,8 +3667,7 @@ static void lib_link_mesh(FileData *fd, Main *main) { Mesh *me; - me = main->mesh.first; - while (me) { + for (me = main->mesh.first; me; me = me->id.next) { if (me->id.flag & LIB_NEEDLINK) { int i; @@ -3718,13 +3678,13 @@ static void lib_link_mesh(FileData *fd, Main *main) /* this check added for python created meshes */ if (me->mat) { - for (i=0; i<me->totcol; i++) { + for (i = 0; i < me->totcol; i++) { me->mat[i] = newlibadr_us(fd, me->id.lib, me->mat[i]); } } else me->totcol = 0; - me->ipo = newlibadr_us(fd, me->id.lib, me->ipo); + me->ipo = newlibadr_us(fd, me->id.lib, me->ipo); // XXX: deprecated: old anim sys me->key = newlibadr_us(fd, me->id.lib, me->key); me->texcomesh = newlibadr_us(fd, me->id.lib, me->texcomesh); @@ -3764,7 +3724,6 @@ static void lib_link_mesh(FileData *fd, Main *main) me->id.flag -= LIB_NEEDLINK; } - me = me->id.next; } /* convert texface options to material */ @@ -3869,7 +3828,7 @@ static void direct_link_customdata(FileData *fd, CustomData *data, int count) layer->data = newdataadr(fd, layer->data); if (layer->type == CD_MDISPS) direct_link_mdisps(fd, count, layer->data, layer->flag & CD_FLAG_EXTERNAL); - else if(layer->type == CD_GRID_PAINT_MASK) + else if (layer->type == CD_GRID_PAINT_MASK) direct_link_grid_paint_mask(fd, count, layer->data); i++; } @@ -3973,11 +3932,11 @@ static void direct_link_mesh(FileData *fd, Mesh *mesh) mesh->mr->verts = MEM_dupallocN(mesh->mvert); } - for (; lvl; lvl= lvl->next) { - lvl->verts= newdataadr(fd, lvl->verts); - lvl->faces= newdataadr(fd, lvl->faces); - lvl->edges= newdataadr(fd, lvl->edges); - lvl->colfaces= newdataadr(fd, lvl->colfaces); + for (; lvl; lvl = lvl->next) { + lvl->verts = newdataadr(fd, lvl->verts); + lvl->faces = newdataadr(fd, lvl->faces); + lvl->edges = newdataadr(fd, lvl->edges); + lvl->colfaces = newdataadr(fd, lvl->colfaces); } } @@ -3989,10 +3948,10 @@ static void direct_link_mesh(FileData *fd, Mesh *mesh) } if ((fd->flags & FD_FLAGS_SWITCH_ENDIAN) && mesh->tface) { - TFace *tf= mesh->tface; + TFace *tf = mesh->tface; int i; - for (i=0; i< (mesh->totface); i++, tf++) { + for (i = 0; i < (mesh->totface); i++, tf++) { SWITCH_INT(tf->col[0]); SWITCH_INT(tf->col[1]); SWITCH_INT(tf->col[2]); @@ -4007,8 +3966,7 @@ static void lib_link_latt(FileData *fd, Main *main) { Lattice *lt; - lt = main->latt.first; - while (lt) { + for (lt = main->latt.first; lt; lt = lt->id.next) { if (lt->id.flag & LIB_NEEDLINK) { if (lt->adt) lib_link_animdata(fd, <->id, lt->adt); @@ -4017,7 +3975,6 @@ static void lib_link_latt(FileData *fd, Main *main) lt->id.flag -= LIB_NEEDLINK; } - lt= lt->id.next; } } @@ -4062,8 +4019,7 @@ static void lib_link_object(FileData *fd, Main *main) void *poin; int warn=0, a; - ob = main->object.first; - while (ob) { + for (ob = main->object.first; ob; ob = ob->id.next) { if (ob->id.flag & LIB_NEEDLINK) { if (ob->id.properties) IDP_LibLinkProperty(ob->id.properties, (fd->flags & FD_FLAGS_SWITCH_ENDIAN), fd); if (ob->adt) lib_link_animdata(fd, &ob->id, ob->adt); @@ -4146,29 +4102,29 @@ static void lib_link_object(FileData *fd, Main *main) lib_link_nlastrips(fd, &ob->id, &ob->nlastrips); // >>> XXX depreceated - old animation system - for (paf= ob->effect.first; paf; paf= paf->next) { + for (paf = ob->effect.first; paf; paf = paf->next) { if (paf->type == EFF_PARTICLE) { paf->group = newlibadr_us(fd, ob->id.lib, paf->group); } } for (sens = ob->sensors.first; sens; sens = sens->next) { - for (a=0; a<sens->totlinks; a++) + for (a = 0; a < sens->totlinks; a++) sens->links[a] = newglobadr(fd, sens->links[a]); - if (sens->type==SENS_TOUCH) { + if (sens->type == SENS_TOUCH) { bTouchSensor *ts = sens->data; - ts->ma= newlibadr(fd, ob->id.lib, ts->ma); + ts->ma = newlibadr(fd, ob->id.lib, ts->ma); } - else if (sens->type==SENS_MESSAGE) { - bMessageSensor *ms= sens->data; + else if (sens->type == SENS_MESSAGE) { + bMessageSensor *ms = sens->data; ms->fromObject = newlibadr(fd, ob->id.lib, ms->fromObject); } } for (cont = ob->controllers.first; cont; cont = cont->next) { - for (a=0; a<cont->totlinks; a++) + for (a=0; a < cont->totlinks; a++) cont->links[a] = newglobadr(fd, cont->links[a]); if (cont->type == CONT_PYTHON) { @@ -4179,8 +4135,7 @@ static void lib_link_object(FileData *fd, Main *main) cont->totslinks = 0; } - act= ob->actuators.first; - while (act) { + for (act = ob->actuators.first; act; act = act->next) { if (act->type == ACT_SOUND) { bSoundActuator *sa = act->data; sa->sound= newlibadr_us(fd, ob->id.lib, sa->sound); @@ -4258,7 +4213,6 @@ static void lib_link_object(FileData *fd, Main *main) steeringa->target = newlibadr(fd, ob->id.lib, steeringa->target); steeringa->navmesh = newlibadr(fd, ob->id.lib, steeringa->navmesh); } - act= act->next; } { @@ -4286,7 +4240,6 @@ static void lib_link_object(FileData *fd, Main *main) lib_link_particlesystems(fd, ob, &ob->id, &ob->particlesystem); lib_link_modifiers(fd, ob); } - ob = ob->id.next; } if (warn) { @@ -4331,7 +4284,7 @@ static void direct_link_pose(FileData *fd, bPose *pose) } pose->ikdata = NULL; if (pose->ikparam != NULL) { - pose->ikparam= newdataadr(fd, pose->ikparam); + pose->ikparam = newdataadr(fd, pose->ikparam); } } @@ -4406,7 +4359,7 @@ static void direct_link_modifiers(FileData *fd, ListBase *lb) smd->domain->tex = NULL; smd->domain->tex_shadow = NULL; smd->domain->tex_wt = NULL; - + smd->domain->effector_weights = newdataadr(fd, smd->domain->effector_weights); if (!smd->domain->effector_weights) smd->domain->effector_weights = BKE_add_effector_weights(NULL); @@ -4701,8 +4654,8 @@ static void direct_link_object(FileData *fd, Object *ob) test_pointer_array(fd, (void **)&sb->keys); if (sb->keys) { int a; - for (a=0; a<sb->totkey; a++) { - sb->keys[a]= newdataadr(fd, sb->keys[a]); + for (a = 0; a < sb->totkey; a++) { + sb->keys[a] = newdataadr(fd, sb->keys[a]); } } @@ -4763,7 +4716,7 @@ static void direct_link_object(FileData *fd, Object *ob) hook->indexar= newdataadr(fd, hook->indexar); if (fd->flags & FD_FLAGS_SWITCH_ENDIAN) { int a; - for (a=0; a<hook->totindex; a++) { + for (a = 0; a < hook->totindex; a++) { SWITCH_INT(hook->indexar[a]); } } @@ -4833,8 +4786,7 @@ static void lib_link_scene(FileData *fd, Main *main) FreestyleLineSet *fls; TimeMarker *marker; - sce = main->scene.first; - while (sce) { + for (sce = main->scene.first; sce; sce = sce->id.next) { if (sce->id.flag & LIB_NEEDLINK) { /* Link ID Properties -- and copy this comment EXACTLY for easy finding * of library blocks that implement this.*/ @@ -4919,7 +4871,7 @@ static void lib_link_scene(FileData *fd, Main *main) composite_patch(sce->nodetree, sce); } - for (srl= sce->r.layers.first; srl; srl= srl->next) { + for (srl = sce->r.layers.first; srl; srl = srl->next) { srl->mat_override = newlibadr_us(fd, sce->id.lib, srl->mat_override); srl->light_override = newlibadr_us(fd, sce->id.lib, srl->light_override); for(fls=srl->freestyleConfig.linesets.first; fls; fls= fls->next) { @@ -4935,8 +4887,6 @@ static void lib_link_scene(FileData *fd, Main *main) sce->id.flag -= LIB_NEEDLINK; } - - sce = sce->id.next; } } @@ -4954,8 +4904,10 @@ static void link_recurs_seq(FileData *fd, ListBase *lb) static void direct_link_paint(FileData *fd, Paint **paint) { -/* TODO. is this needed */ + /* TODO. is this needed */ (*paint) = newdataadr(fd, (*paint)); + if (*paint && (*paint)->num_input_samples < 1) + (*paint)->num_input_samples = 1; } static void direct_link_scene(FileData *fd, Scene *sce) @@ -5000,9 +4952,9 @@ static void direct_link_scene(FileData *fd, Scene *sce) } if (sce->ed) { - ListBase *old_seqbasep= &((Editing *)sce->ed)->seqbase; + ListBase *old_seqbasep = &((Editing *)sce->ed)->seqbase; - ed= sce->ed = newdataadr(fd, sce->ed); + ed = sce->ed = newdataadr(fd, sce->ed); ed->act_seq = newdataadr(fd, ed->act_seq); @@ -5030,14 +4982,10 @@ static void direct_link_scene(FileData *fd, Scene *sce) seq->strip = newdataadr(fd, seq->strip); if (seq->strip && seq->strip->done==0) { - seq->strip->done = 1; + seq->strip->done = TRUE; - if (seq->type == SEQ_IMAGE || - seq->type == SEQ_MOVIE || - seq->type == SEQ_RAM_SOUND || - seq->type == SEQ_HD_SOUND) { - seq->strip->stripdata = newdataadr( - fd, seq->strip->stripdata); + if (ELEM4(seq->type, SEQ_IMAGE, SEQ_MOVIE, SEQ_RAM_SOUND, SEQ_HD_SOUND)) { + seq->strip->stripdata = newdataadr(fd, seq->strip->stripdata); } else { seq->strip->stripdata = NULL; @@ -5281,11 +5229,10 @@ static void lib_link_screen(FileData *fd, Main *main) for (sc = main->screen.first; sc; sc = sc->id.next) { if (sc->id.flag & LIB_NEEDLINK) { sc->id.us = 1; - sc->scene= newlibadr(fd, sc->id.lib, sc->scene); + sc->scene = newlibadr(fd, sc->id.lib, sc->scene); sc->animtimer = NULL; /* saved in rare cases */ - sa= sc->areabase.first; - while (sa) { + for (sa = sc->areabase.first; sa; sa = sa->next) { SpaceLink *sl; sa->full = newlibadr(fd, sc->id.lib, sa->full); @@ -5437,7 +5384,6 @@ static void lib_link_screen(FileData *fd, Main *main) sclip->scopes.ok = 0; } } - sa= sa->next; } sc->id.flag -= LIB_NEEDLINK; } @@ -5454,15 +5400,15 @@ static void *restore_pointer_by_name(Main *mainp, ID *id, int user) ID *idn = lb->first; char *name = id->name + 2; - while (idn) { + for (; idn; idn = idn->next) { if (idn->name[2] == name[0] && strcmp(idn->name+2, name) == 0) { if (idn->lib == id->lib) { if (user && idn->us == 0) idn->us++; break; } } - idn = idn->next; } + return idn; } } @@ -5526,8 +5472,7 @@ void lib_link_screen_restore(Main *newmain, bScreen *curscreen, Scene *curscene) /* keep cursor location through undo */ copy_v3_v3(sc->scene->cursor, oldscene->cursor); - sa = sc->areabase.first; - while (sa) { + for (sa = sc->areabase.first; sa; sa = sa->next) { SpaceLink *sl; for (sl = sa->spacedata.first; sl; sl = sl->next) { @@ -5643,7 +5588,7 @@ void lib_link_screen_restore(Main *newmain, bScreen *curscreen, Scene *curscene) } else if (sl->spacetype == SPACE_TEXT) { SpaceText *st = (SpaceText *)sl; - + st->text = restore_pointer_by_name(newmain, (ID *)st->text, 1); if (st->text == NULL) st->text = newmain->text.first; } @@ -5700,7 +5645,6 @@ void lib_link_screen_restore(Main *newmain, bScreen *curscreen, Scene *curscene) sclip->scopes.ok = 0; } } - sa= sa->next; } } @@ -5746,7 +5690,7 @@ static void direct_link_region(FileData *fd, ARegion *ar, int spacetype) ar->swinid = 0; ar->type = NULL; ar->swap = 0; - ar->do_draw = 0; + ar->do_draw = FALSE; memset(&ar->drawrct, 0, sizeof(ar->drawrct)); } @@ -6014,14 +5958,14 @@ static void direct_link_library(FileData *fd, Library *lib, Main *main) { Main *newmain; - for (newmain = fd->mainlist.first; newmain; newmain = newmain->next) { + for (newmain = fd->mainlist->first; newmain; newmain = newmain->next) { if (newmain->curlib) { if (BLI_path_cmp(newmain->curlib->filepath, lib->filepath) == 0) { BKE_reportf_wrap(fd->reports, RPT_WARNING, "Library '%s', '%s' had multiple instances, save and reload!", lib->name, lib->filepath); - change_idid_adr(&fd->mainlist, fd, lib, newmain->curlib); + change_idid_adr(fd->mainlist, fd, lib, newmain->curlib); // change_idid_adr_fd(fd, lib, newmain->curlib); BLI_remlink(&main->library, lib); @@ -6041,7 +5985,7 @@ static void direct_link_library(FileData *fd, Library *lib, Main *main) /* new main */ newmain= MEM_callocN(sizeof(Main), "directlink"); - BLI_addtail(&fd->mainlist, newmain); + BLI_addtail(fd->mainlist, newmain); newmain->curlib = lib; lib->parent = NULL; @@ -6090,8 +6034,7 @@ static void lib_link_speaker(FileData *fd, Main *main) { Speaker *spk; - spk = main->speaker.first; - while (spk) { + for (spk = main->speaker.first; spk; spk = spk->id.next) { if (spk->id.flag & LIB_NEEDLINK) { if (spk->adt) lib_link_animdata(fd, &spk->id, spk->adt); @@ -6102,7 +6045,6 @@ static void lib_link_speaker(FileData *fd, Main *main) spk->id.flag -= LIB_NEEDLINK; } - spk = spk->id.next; } } @@ -6138,16 +6080,14 @@ static void direct_link_sound(FileData *fd, bSound *sound) static void lib_link_sound(FileData *fd, Main *main) { bSound *sound; - - sound = main->sound.first; - while (sound) { + + for (sound = main->sound.first; sound; sound = sound->id.next) { if (sound->id.flag & LIB_NEEDLINK) { sound->id.flag -= LIB_NEEDLINK; sound->ipo = newlibadr_us(fd, sound->id.lib, sound->ipo); // XXX depreceated - old animation system sound_load(main, sound); } - sound = sound->id.next; } } /* ***************** READ GROUP *************** */ @@ -6159,18 +6099,17 @@ static void direct_link_group(FileData *fd, Group *group) static void lib_link_group(FileData *fd, Main *main) { - Group *group= main->group.first; + Group *group; GroupObject *go; int add_us; - while (group) { + for (group = main->group.first; group; group = group->id.next) { if (group->id.flag & LIB_NEEDLINK) { group->id.flag -= LIB_NEEDLINK; add_us = 0; - go = group->gobject.first; - while (go) { + for (go = group->gobject.first; go; go = go->next) { go->ob= newlibadr(fd, group->id.lib, go->ob); if (go->ob) { go->ob->flag |= OB_FROMGROUP; @@ -6179,12 +6118,10 @@ static void lib_link_group(FileData *fd, Main *main) if (go->ob->id.us == 0) go->ob->id.us = 1; } - go = go->next; } if (add_us) group->id.us++; rem_from_group(group, NULL, NULL, NULL); /* removes NULL entries */ } - group = group->id.next; } } @@ -6201,11 +6138,8 @@ static void direct_link_movieTracks(FileData *fd, ListBase *tracksbase) link_list(fd, tracksbase); - track = tracksbase->first; - while (track) { + for (track = tracksbase->first; track; track = track->next) { track->markers = newdataadr(fd, track->markers); - - track = track->next; } } @@ -6240,21 +6174,17 @@ static void direct_link_movieclip(FileData *fd, MovieClip *clip) link_list(fd, &tracking->objects); - object = tracking->objects.first; - while (object) { + for (object = tracking->objects.first; object; object = object->next) { direct_link_movieTracks(fd, &object->tracks); direct_link_movieReconstruction(fd, &object->reconstruction); - - object = object->next; } } static void lib_link_movieclip(FileData *fd, Main *main) { MovieClip *clip; - - clip= main->movieclip.first; - while (clip) { + + for (clip = main->movieclip.first; clip; clip = clip->id.next) { if (clip->id.flag & LIB_NEEDLINK) { if (clip->adt) lib_link_animdata(fd, &clip->id, clip->adt); @@ -6263,7 +6193,6 @@ static void lib_link_movieclip(FileData *fd, Main *main) clip->id.flag -= LIB_NEEDLINK; } - clip = clip->id.next; } } @@ -6443,7 +6372,7 @@ static void direct_link_linestyle(FileData *fd, FreestyleLineStyle *linestyle) static const char *dataname(short id_code) { - switch ( id_code ) { + switch (id_code) { case ID_OB: return "Data from OB"; case ID_ME: return "Data from ME"; case ID_IP: return "Data from IP"; @@ -6698,7 +6627,6 @@ static BHead *read_global(BlendFileData *bfd, FileData *fd, BHead *bhead) /* note, this has to be kept for reading older files... */ static void link_global(FileData *fd, BlendFileData *bfd) { - bfd->curscreen = newlibadr(fd, NULL, bfd->curscreen); bfd->curscene = newlibadr(fd, NULL, bfd->curscene); // this happens in files older than 2.35 @@ -7057,6 +6985,29 @@ static void do_versions_nodetree_image_layer_2_64_5(bNodeTree *ntree) } } +static void do_versions_nodetree_frame_2_64_6(bNodeTree *ntree) +{ + bNode *node; + + for (node=ntree->nodes.first; node; node=node->next) { + if (node->type==NODE_FRAME) { + /* initialize frame node storage data */ + if (node->storage == NULL) { + NodeFrame *data = (NodeFrame *)MEM_callocN(sizeof(NodeFrame), "frame node storage"); + node->storage = data; + + /* copy current flags */ + data->flag = node->custom1; + + data->label_size = 20; + } + } + + /* initialize custom node color */ + node->color[0] = node->color[1] = node->color[2] = 0.608f; /* default theme color */ + } +} + static void do_versions(FileData *fd, Library *lib, Main *main) { /* WATCH IT!!!: pointers from libdata have not been converted */ @@ -7676,7 +7627,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main) } } - for(cu = main->curve.first; cu; cu = cu->id.next) { + for (cu = main->curve.first; cu; cu = cu->id.next) { if (cu->bevfac2 == 0.0f) { cu->bevfac1 = 0.0f; cu->bevfac2 = 1.0f; @@ -7703,6 +7654,59 @@ static void do_versions(FileData *fd, Library *lib, Main *main) } } } + + if (main->versionfile < 263 || (main->versionfile == 263 && main->subversionfile < 6)) + { + /* update use flags for node sockets (was only temporary before) */ + Scene *sce; + Material *mat; + Tex *tex; + Lamp *lamp; + World *world; + bNodeTree *ntree; + + for (sce=main->scene.first; sce; sce=sce->id.next) + if (sce->nodetree) + do_versions_nodetree_frame_2_64_6(sce->nodetree); + + for (mat=main->mat.first; mat; mat=mat->id.next) + if (mat->nodetree) + do_versions_nodetree_frame_2_64_6(mat->nodetree); + + for (tex=main->tex.first; tex; tex=tex->id.next) + if (tex->nodetree) + do_versions_nodetree_frame_2_64_6(tex->nodetree); + + for (lamp=main->lamp.first; lamp; lamp=lamp->id.next) + if (lamp->nodetree) + do_versions_nodetree_frame_2_64_6(lamp->nodetree); + + for (world=main->world.first; world; world=world->id.next) + if (world->nodetree) + do_versions_nodetree_frame_2_64_6(world->nodetree); + + for (ntree=main->nodetree.first; ntree; ntree=ntree->id.next) + do_versions_nodetree_frame_2_64_6(ntree); + } + + if (main->versionfile < 263 || (main->versionfile == 263 && main->subversionfile < 7)) + { + Object *ob; + + for (ob = main->object.first; ob; ob = ob->id.next) { + ModifierData *md; + for (md = ob->modifiers.first; md; md = md->next) { + if (md->type == eModifierType_Smoke) { + SmokeModifierData *smd = (SmokeModifierData *)md; + if ((smd->type & MOD_SMOKE_TYPE_DOMAIN) && smd->domain) { + int maxres = MAX3(smd->domain->res[0], smd->domain->res[1], smd->domain->res[2]); + smd->domain->scale = smd->domain->dx * maxres; + smd->domain->dx = 1.0f / smd->domain->scale; + } + } + } + } + } /* default values in Freestyle settings */ { @@ -7866,10 +7870,12 @@ BlendFileData *blo_read_file_internal(FileData *fd, const char *filepath) { BHead *bhead = blo_firstbhead(fd); BlendFileData *bfd; + ListBase mainlist = {NULL, NULL}; bfd = MEM_callocN(sizeof(BlendFileData), "blendfiledata"); bfd->main = MEM_callocN(sizeof(Main), "readfile_Main"); - BLI_addtail(&fd->mainlist, bfd->main); + BLI_addtail(&mainlist, bfd->main); + fd->mainlist = &mainlist; bfd->main->versionfile = fd->fileversion; @@ -7913,7 +7919,7 @@ BlendFileData *blo_read_file_internal(FileData *fd, const char *filepath) /* always adds to the most recently loaded * ID_LI block, see direct_link_library. * this is part of the file format definition. */ - bhead = read_libblock(fd, fd->mainlist.last, bhead, LIB_READ+LIB_EXTERN, NULL); + bhead = read_libblock(fd, mainlist.last, bhead, LIB_READ+LIB_EXTERN, NULL); break; /* in 2.50+ files, the file identifier for screens is patched, forward compatibility */ @@ -7929,9 +7935,9 @@ BlendFileData *blo_read_file_internal(FileData *fd, const char *filepath) // if (fd->memfile==NULL) (the mesh shuffle hacks don't work yet? ton) do_versions(fd, NULL, bfd->main); - read_libraries(fd, &fd->mainlist); + read_libraries(fd, &mainlist); - blo_join_main(&fd->mainlist); + blo_join_main(&mainlist); lib_link_all(fd, bfd->main); //do_versions_after_linking(fd, NULL, bfd->main); // XXX: not here (or even in this function at all)! this causes crashes on many files - Aligorith (July 04, 2010) @@ -7971,7 +7977,7 @@ static void sort_bhead_old_map(FileData *fd) fd->tot_bheadmap = tot; if (tot == 0) return; - bhs = fd->bheadmap= MEM_mallocN(tot*sizeof(struct bheadsort), "bheadsort"); + bhs = fd->bheadmap = MEM_mallocN(tot*sizeof(struct bheadsort), "bheadsort"); for (bhead = blo_firstbhead(fd); bhead; bhead = blo_nextbhead(fd, bhead), bhs++) { bhs->bhead = bhead; @@ -8049,7 +8055,7 @@ static void expand_doit(FileData *fd, Main *mainvar, void *old) if (bheadlib) { Library *lib = read_struct(fd, bheadlib, "Library"); - Main *ptr = blo_find_main(fd, &fd->mainlist, lib->name, fd->relabase); + Main *ptr = blo_find_main(fd, lib->name, fd->relabase); id = is_yet_read(fd, ptr, bhead); @@ -8783,12 +8789,12 @@ static void expand_main(FileData *fd, Main *mainvar) { ListBase *lbarray[MAX_LIBARRAY]; ID *id; - int a, doit = 1; + int a, do_it = TRUE; if (fd == NULL) return; - while (doit) { - doit = 0; + while (do_it) { + do_it = FALSE; a = set_listbasepointers(mainvar, lbarray); while (a--) { @@ -8867,7 +8873,7 @@ static void expand_main(FileData *fd, Main *mainvar) break; } - doit = 1; + do_it = TRUE; id->flag -= LIB_TEST; } @@ -8896,23 +8902,23 @@ static void give_base_to_objects(Main *mainvar, Scene *sce, Library *lib, const const short is_group_append = (is_link==FALSE && idcode==ID_GR); /* give all objects which are LIB_INDIRECT a base, or for a group when *lib has been set */ - for (ob= mainvar->object.first; ob; ob= ob->id.next) { - if ( ob->id.flag & LIB_INDIRECT ) { + for (ob = mainvar->object.first; ob; ob = ob->id.next) { + if (ob->id.flag & LIB_INDIRECT) { /* IF below is quite confusing! * if we are appending, but this object wasnt just added along with a group, * then this is already used indirectly in the scene somewhere else and we didnt just append it. * * (ob->id.flag & LIB_PRE_EXISTING)==0 means that this is a newly appended object - Campbell */ if (is_group_append==0 || (ob->id.flag & LIB_PRE_EXISTING)==0) { - int do_it= 0; + int do_it = FALSE; if (ob->id.us == 0) { - do_it = 1; + do_it = TRUE; } else if (idcode==ID_GR) { if (ob->id.us==1 && is_link==FALSE && ob->id.lib==lib) { if ((ob->flag & OB_FROMGROUP) && object_in_any_scene(mainvar, ob)==0) { - do_it = 1; + do_it = TRUE; } } } @@ -8924,7 +8930,7 @@ static void give_base_to_objects(Main *mainvar, Scene *sce, Library *lib, const * have a linked object which is not in any scene [#27616] */ if ((ob->id.flag & LIB_PRE_EXISTING)==0) { if (object_in_any_scene(mainvar, ob)==0) { - do_it = 1; + do_it = TRUE; } } } @@ -9097,15 +9103,17 @@ static void append_id_part(FileData *fd, Main *mainvar, ID *id, ID **id_r) /* common routine to append/link something from a library */ -static Main* library_append_begin(Main *mainvar, FileData **fd, const char *filepath) +static Main *library_append_begin(Main *mainvar, FileData **fd, const char *filepath) { Main *mainl; + + (*fd)->mainlist = MEM_callocN(sizeof(ListBase), "FileData.mainlist"); /* make mains */ - blo_split_main(&(*fd)->mainlist, mainvar); + blo_split_main((*fd)->mainlist, mainvar); /* which one do we need? */ - mainl = blo_find_main(*fd, &(*fd)->mainlist, filepath, G.main->name); + mainl = blo_find_main(*fd, filepath, G.main->name); /* needed for do_version */ mainl->versionfile = (*fd)->fileversion; @@ -9114,7 +9122,7 @@ static Main* library_append_begin(Main *mainvar, FileData **fd, const char *file return mainl; } -Main* BLO_library_append_begin(Main *mainvar, BlendHandle** bh, const char *filepath) +Main *BLO_library_append_begin(Main *mainvar, BlendHandle** bh, const char *filepath) { FileData *fd = (FileData*)(*bh); return library_append_begin(mainvar, &fd, filepath); @@ -9131,7 +9139,7 @@ static void library_append_end(const bContext *C, Main *mainl, FileData **fd, in expand_main(*fd, mainl); /* do this when expand found other libs */ - read_libraries(*fd, &(*fd)->mainlist); + read_libraries(*fd, (*fd)->mainlist); curlib = mainl->curlib; @@ -9144,8 +9152,9 @@ static void library_append_end(const bContext *C, Main *mainl, FileData **fd, in BLI_path_rel(curlib->name, G.main->name); } - blo_join_main(&(*fd)->mainlist); - mainvar = (*fd)->mainlist.first; + blo_join_main((*fd)->mainlist); + mainvar = (*fd)->mainlist->first; + MEM_freeN((*fd)->mainlist); mainl = NULL; /* blo_join_main free's mainl, cant use anymore */ lib_link_all(*fd, mainvar); @@ -9220,10 +9229,10 @@ static void read_libraries(FileData *basefd, ListBase *mainlist) Main *mainl = mainlist->first; Main *mainptr; ListBase *lbarray[MAX_LIBARRAY]; - int a, doit= 1; + int a, do_it = TRUE; - while (doit) { - doit = 0; + while (do_it) { + do_it = FALSE; /* test 1: read libdata */ mainptr= mainl->next; @@ -9241,6 +9250,12 @@ static void read_libraries(FileData *basefd, ListBase *mainlist) mainptr->curlib->filepath, mainptr->curlib->name); fd = blo_openblenderfile(mainptr->curlib->filepath, basefd->reports); + + /* share the mainlist, so all libraries are added immediately in a + * single list. it used to be that all FileData's had their own list, + * but with indirectly linking this meant we didn't catch duplicate + * libraries properly */ + fd->mainlist = mainlist; /* allow typing in a new lib path */ if (G.rt == -666) { @@ -9258,6 +9273,7 @@ static void read_libraries(FileData *basefd, ListBase *mainlist) cleanup_path(G.main->name, mainptr->curlib->filepath); fd = blo_openblenderfile(mainptr->curlib->filepath, basefd->reports); + fd->mainlist = mainlist; if (fd) { printf("found: '%s', party on macuno!\n", mainptr->curlib->filepath); @@ -9289,7 +9305,7 @@ static void read_libraries(FileData *basefd, ListBase *mainlist) } } if (fd) { - doit = 1; + do_it = TRUE; a = set_listbasepointers(mainptr, lbarray); while (a--) { ID *id = lbarray[a]->first; @@ -9317,14 +9333,6 @@ static void read_libraries(FileData *basefd, ListBase *mainlist) } expand_main(fd, mainptr); - - /* dang FileData... now new libraries need to be appended to original filedata, - * it is not a good replacement for the old global (ton) */ - while (fd->mainlist.first) { - Main *mp = fd->mainlist.first; - BLI_remlink(&fd->mainlist, mp); - BLI_addtail(&basefd->mainlist, mp); - } } } @@ -9336,9 +9344,10 @@ static void read_libraries(FileData *basefd, ListBase *mainlist) for (mainptr = mainl->next; mainptr; mainptr = mainptr->next) { a = set_listbasepointers(mainptr, lbarray); while (a--) { - ID *id = lbarray[a]->first; - while (id) { - ID *idn = id->next; + ID *id, *idn = NULL; + + for (id = lbarray[a]->first; id; id = idn) { + idn = id->next; if (id->flag & LIB_READ) { BLI_remlink(lbarray[a], id); BKE_reportf_wrap(basefd->reports, RPT_ERROR, @@ -9348,7 +9357,6 @@ static void read_libraries(FileData *basefd, ListBase *mainlist) MEM_freeN(id); } - id = idn; } } } diff --git a/source/blender/blenloader/intern/readfile.h b/source/blender/blenloader/intern/readfile.h index aa388923f6b..a3aa8e783a0 100644 --- a/source/blender/blenloader/intern/readfile.h +++ b/source/blender/blenloader/intern/readfile.h @@ -87,7 +87,7 @@ typedef struct FileData { struct bheadsort *bheadmap; int tot_bheadmap; - ListBase mainlist; + ListBase *mainlist; /* ick ick, used to return * data through streamglue. diff --git a/source/blender/blenloader/intern/versioning_250.c b/source/blender/blenloader/intern/versioning_250.c index 8a8705532cb..4a69c37ae1b 100644 --- a/source/blender/blenloader/intern/versioning_250.c +++ b/source/blender/blenloader/intern/versioning_250.c @@ -623,7 +623,7 @@ static void do_version_constraints_radians_degrees_250(ListBase *lb) { bConstraint *con; - for (con = lb->first; con; con = con->next) { + for (con = lb->first; con; con = con->next) { if (con->type == CONSTRAINT_TYPE_RIGIDBODYJOINT) { bRigidBodyJointConstraint *data = con->data; data->axX *= (float)(M_PI / 180.0); @@ -1084,7 +1084,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *main) World *wo; Tex *tex; ParticleSettings *part; - int do_gravity = 0; + int do_gravity = FALSE; for (sce = main->scene.first; sce; sce = sce->id.next) if (sce->unit.scale_length == 0.0f) @@ -1140,7 +1140,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *main) sce->physics_settings.gravity[0] = sce->physics_settings.gravity[1] = 0.0f; sce->physics_settings.gravity[2] = -9.81f; sce->physics_settings.flag = PHYS_GLOBAL_GRAVITY; - do_gravity = 1; + do_gravity = TRUE; } } @@ -2331,7 +2331,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *main) } /* redraws flag in SpaceTime has been moved to Screen level */ - for (sc = main->screen.first; sc; sc = sc->id.next) { + for (sc = main->screen.first; sc; sc = sc->id.next) { if (sc->redraws_flag == 0) { /* just initialize to default? */ // XXX: we could also have iterated through areas, and taken them from the first timeline available... diff --git a/source/blender/blenloader/intern/versioning_legacy.c b/source/blender/blenloader/intern/versioning_legacy.c index 799dc82482d..7b314c31488 100644 --- a/source/blender/blenloader/intern/versioning_legacy.c +++ b/source/blender/blenloader/intern/versioning_legacy.c @@ -884,9 +884,9 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main) /* let faces have default add factor of 0.0 */ while (ma) { - if (!(ma->mode & MA_HALO)) - ma->add = 0.0; - ma = ma->id.next; + if (!(ma->mode & MA_HALO)) + ma->add = 0.0; + ma = ma->id.next; } while (ob) { @@ -3606,7 +3606,7 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main) /* check if top parent has compound shape set and if yes, set this object * to compound shaper as well (was the behavior before, now it's optional) */ Object *parent = blo_do_versions_newlibadr(fd, lib, ob->parent); - while (parent && parent != ob && parent->parent != NULL) { + while (parent && parent != ob && parent->parent != NULL) { parent = blo_do_versions_newlibadr(fd, lib, parent->parent); } if (parent) { diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c index 35347ae40a3..5e5bf3b7fec 100644 --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@ -780,7 +780,7 @@ static void write_renderinfo(WriteData *wd, Main *mainvar) /* for renderdeamon current_screen_compat(mainvar, &curscreen); for (sce= mainvar->scene.first; sce; sce= sce->id.next) { - if (sce->id.lib==NULL && ( sce==curscreen->scene || (sce->r.scemode & R_BG_RENDER)) ) { + if (sce->id.lib == NULL && (sce == curscreen->scene || (sce->r.scemode & R_BG_RENDER))) { data.sfra = sce->r.sfra; data.efra = sce->r.efra; memset(data.scene_name, 0, sizeof(data.scene_name)); @@ -1663,17 +1663,17 @@ static void write_mdisps(WriteData *wd, int count, MDisps *mdlist, int external) static void write_grid_paint_mask(WriteData *wd, int count, GridPaintMask *grid_paint_mask) { - if(grid_paint_mask) { + if (grid_paint_mask) { int i; writestruct(wd, DATA, "GridPaintMask", count, grid_paint_mask); - for(i = 0; i < count; ++i) { + for (i = 0; i < count; ++i) { GridPaintMask *gpm = &grid_paint_mask[i]; - if(gpm->data) { + if (gpm->data) { const int gridsize = ccg_gridsize(gpm->level); writedata(wd, DATA, - sizeof(*gpm->data) * gridsize * gridsize, - gpm->data); + sizeof(*gpm->data) * gridsize * gridsize, + gpm->data); } } } @@ -2144,7 +2144,7 @@ static void write_scenes(WriteData *wd, ListBase *scebase) SEQ_BEGIN (ed, seq) { - if (seq->strip) seq->strip->done= 0; + if (seq->strip) seq->strip->done = FALSE; writestruct(wd, DATA, "Sequence", 1, seq); } SEQ_END @@ -2194,7 +2194,7 @@ static void write_scenes(WriteData *wd, ListBase *scebase) else if (seq->type==SEQ_MOVIE || seq->type==SEQ_RAM_SOUND || seq->type == SEQ_HD_SOUND) writestruct(wd, DATA, "StripElem", 1, strip->stripdata); - strip->done= 1; + strip->done = TRUE; } } SEQ_END @@ -2480,11 +2480,11 @@ static void write_libraries(WriteData *wd, Main *main) a=tot= set_listbasepointers(main, lbarray); /* test: is lib being used */ - foundone= 0; + foundone = FALSE; while (tot--) { for (id= lbarray[tot]->first; id; id= id->next) { if (id->us>0 && (id->flag & LIB_EXTERN)) { - foundone= 1; + foundone = TRUE; break; } } diff --git a/source/blender/blenpluginapi/iff.h b/source/blender/blenpluginapi/iff.h index 98382aca889..63d60ce7c82 100644 --- a/source/blender/blenpluginapi/iff.h +++ b/source/blender/blenpluginapi/iff.h @@ -114,7 +114,7 @@ LIBIMPORT void IMB_rectcpy(struct ImBuf *dbuf, struct ImBuf *sbuf, int destx, int desty, int srcx, int srcy, int width, int height); LIBIMPORT void IMB_rectfill(struct ImBuf *drect, const float col[4]); -LIBIMPORT void IMB_rectfill_area(struct ImBuf *ibuf, float *col, int x1, int y1, int x2, int y2); +LIBIMPORT void IMB_rectfill_area(struct ImBuf *ibuf, const float col[4], int x1, int y1, int x2, int y2); LIBIMPORT void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height, const float col[4], int x1, int y1, int x2, int y2); LIBIMPORT void IMB_rectfill_alpha(struct ImBuf *drect, const float value); diff --git a/source/blender/bmesh/bmesh.h b/source/blender/bmesh/bmesh.h index 13926c42192..ac002070484 100644 --- a/source/blender/bmesh/bmesh.h +++ b/source/blender/bmesh/bmesh.h @@ -225,7 +225,7 @@ * * - face inset interpolate loop data from face (currently copies - but this stretches UV's in an ugly way) * - vert slide UV correction (like we have for edge slide) - * - fill-face edge net - produce consistant normals, currently it won't, fix should be to fill in edge-net node + * - fill-face edge net - produce consistent normals, currently it won't, fix should be to fill in edge-net node * connected with previous one - since they already check for normals of adjacent edge-faces before creating. */ diff --git a/source/blender/bmesh/bmesh_class.h b/source/blender/bmesh/bmesh_class.h index 3ecb1fe92f8..e180335cf06 100644 --- a/source/blender/bmesh/bmesh_class.h +++ b/source/blender/bmesh/bmesh_class.h @@ -225,12 +225,12 @@ enum { * when temp tagging is handy. * always assume dirty & clear before use. */ - BM_ELEM_FREESTYLE = (1 << 5), /* used for Freestyle faces and edges */ + BM_ELEM_DRAW = (1 << 5), /* edge display */ - /* we have 2 spare flags which is awesome but since we're limited to 8 + /* we have 1 spare flag which is awesome but since we're limited to 8 * only add new flags with care! - campbell */ - /* BM_ELEM_SPARE = (1 << 5), */ /* BM_ELEM_SPARE = (1 << 6), */ + BM_ELEM_FREESTYLE = (1 << 6), /* used for Freestyle faces and edges */ BM_ELEM_INTERNAL_TAG = (1 << 7) /* for low level internal API tagging, * since tools may want to tag verts and diff --git a/source/blender/bmesh/intern/bmesh_construct.c b/source/blender/bmesh/intern/bmesh_construct.c index 38e9e6ffd53..84b569009ce 100644 --- a/source/blender/bmesh/intern/bmesh_construct.c +++ b/source/blender/bmesh/intern/bmesh_construct.c @@ -973,6 +973,7 @@ char BM_edge_flag_from_mflag(const short meflag) { return ( ((meflag & SELECT) ? BM_ELEM_SELECT : 0) | ((meflag & ME_SEAM) ? BM_ELEM_SEAM : 0) | + ((meflag & ME_EDGEDRAW) ? BM_ELEM_DRAW : 0) | ((meflag & ME_SHARP) == 0 ? BM_ELEM_SMOOTH : 0) | /* invert */ ((meflag & ME_HIDE) ? BM_ELEM_HIDDEN : 0) | ((meflag & ME_FREESTYLE_EDGE) ? BM_ELEM_FREESTYLE : 0) @@ -996,17 +997,19 @@ char BM_vert_flag_to_mflag(BMVert *eve) ((hflag & BM_ELEM_HIDDEN) ? ME_HIDE : 0) ); } + short BM_edge_flag_to_mflag(BMEdge *eed) { const char hflag = eed->head.hflag; - return ( ((hflag & BM_ELEM_SELECT) ? SELECT : 0) | - ((hflag & BM_ELEM_SEAM) ? ME_SEAM : 0) | - ((hflag & BM_ELEM_SMOOTH) == 0 ? ME_SHARP : 0) | - ((hflag & BM_ELEM_HIDDEN) ? ME_HIDE : 0) | - ((hflag & BM_ELEM_FREESTYLE) ? ME_FREESTYLE_EDGE : 0) | - ((BM_edge_is_wire(eed)) ? ME_LOOSEEDGE : 0) | /* not typical */ - (ME_EDGEDRAW | ME_EDGERENDER) + return ( ((hflag & BM_ELEM_SELECT) ? SELECT : 0) | + ((hflag & BM_ELEM_SEAM) ? ME_SEAM : 0) | + ((hflag & BM_ELEM_DRAW) ? ME_EDGEDRAW : 0) | + ((hflag & BM_ELEM_SMOOTH) == 0 ? ME_SHARP : 0) | + ((hflag & BM_ELEM_HIDDEN) ? ME_HIDE : 0) | + ((hflag & BM_ELEM_FREESTYLE) ? ME_FREESTYLE_EDGE : 0) | + ((BM_edge_is_wire(eed)) ? ME_LOOSEEDGE : 0) | /* not typical */ + ME_EDGERENDER ); } char BM_face_flag_to_mflag(BMFace *efa) diff --git a/source/blender/bmesh/intern/bmesh_interp.c b/source/blender/bmesh/intern/bmesh_interp.c index f64b55193c5..c39096d0800 100644 --- a/source/blender/bmesh/intern/bmesh_interp.c +++ b/source/blender/bmesh/intern/bmesh_interp.c @@ -852,24 +852,24 @@ void BM_data_layer_copy(BMesh *bm, CustomData *data, int type, int src_n, int ds BMVert *eve; BM_ITER_MESH (eve, &iter, bm, BM_VERTS_OF_MESH) { - void *ptr = CustomData_bmesh_get_n(data, eve->head.data, type, dst_n); - CustomData_bmesh_set_n(data, eve->head.data, type, src_n, ptr); + void *ptr = CustomData_bmesh_get_n(data, eve->head.data, type, src_n); + CustomData_bmesh_set_n(data, eve->head.data, type, dst_n, ptr); } } else if (&bm->edata == data) { BMEdge *eed; BM_ITER_MESH (eed, &iter, bm, BM_EDGES_OF_MESH) { - void *ptr = CustomData_bmesh_get_n(data, eed->head.data, type, dst_n); - CustomData_bmesh_set_n(data, eed->head.data, type, src_n, ptr); + void *ptr = CustomData_bmesh_get_n(data, eed->head.data, type, src_n); + CustomData_bmesh_set_n(data, eed->head.data, type, dst_n, ptr); } } else if (&bm->pdata == data) { BMFace *efa; BM_ITER_MESH (efa, &iter, bm, BM_FACES_OF_MESH) { - void *ptr = CustomData_bmesh_get_n(data, efa->head.data, type, dst_n); - CustomData_bmesh_set_n(data, efa->head.data, type, src_n, ptr); + void *ptr = CustomData_bmesh_get_n(data, efa->head.data, type, src_n); + CustomData_bmesh_set_n(data, efa->head.data, type, dst_n, ptr); } } else if (&bm->ldata == data) { @@ -879,8 +879,8 @@ void BM_data_layer_copy(BMesh *bm, CustomData *data, int type, int src_n, int ds BM_ITER_MESH (efa, &iter, bm, BM_FACES_OF_MESH) { BM_ITER_ELEM (l, &liter, efa, BM_LOOPS_OF_FACE) { - void *ptr = CustomData_bmesh_get_n(data, l->head.data, type, dst_n); - CustomData_bmesh_set_n(data, l->head.data, type, src_n, ptr); + void *ptr = CustomData_bmesh_get_n(data, l->head.data, type, src_n); + CustomData_bmesh_set_n(data, l->head.data, type, dst_n, ptr); } } } diff --git a/source/blender/bmesh/intern/bmesh_marking.c b/source/blender/bmesh/intern/bmesh_marking.c index a69558eeeca..1720ee4f55a 100644 --- a/source/blender/bmesh/intern/bmesh_marking.c +++ b/source/blender/bmesh/intern/bmesh_marking.c @@ -612,8 +612,6 @@ void BM_editselection_normal(BMEditSelection *ese, float r_normal[3]) } } -/* ref - editmesh_lib.cL:EM_editselection_plane() */ - /* Calculate a plane that is rightangles to the edge/vert/faces normal * also make the plane run along an axis that is related to the geometry, * because this is used for the manipulators Y axis. */ @@ -691,21 +689,9 @@ void BM_editselection_plane(BMEditSelection *ese, float r_plane[3]) } } else { - /* BMESH_TODO (not urgent, use longest ngon edge for alignment) */ - - /* start with v1-2 */ - sub_v3_v3v3(r_plane, verts[0]->co, verts[1]->co); - - /* test the edge between v2-3, use if longer */ - sub_v3_v3v3(vec, verts[1]->co, verts[2]->co); - if (dot_v3v3(r_plane, r_plane) < dot_v3v3(vec, vec)) - copy_v3_v3(r_plane, vec); + BMLoop *l_long = BM_face_find_longest_loop(efa); - /* test the edge between v1-3, use if longer */ - sub_v3_v3v3(vec, verts[2]->co, verts[0]->co); - if (dot_v3v3(r_plane, r_plane) < dot_v3v3(vec, vec)) { - copy_v3_v3(r_plane, vec); - } + sub_v3_v3v3(r_plane, l_long->v->co, l_long->next->v->co); } } diff --git a/source/blender/bmesh/intern/bmesh_mesh_conv.c b/source/blender/bmesh/intern/bmesh_mesh_conv.c index 351fb8e941b..a8c27e0a761 100644 --- a/source/blender/bmesh/intern/bmesh_mesh_conv.c +++ b/source/blender/bmesh/intern/bmesh_mesh_conv.c @@ -495,6 +495,9 @@ BLI_INLINE void bmesh_quick_edgedraw_flag(MEdge *med, BMEdge *e) { med->flag &= ~ME_EDGEDRAW; } + else { + med->flag |= ME_EDGEDRAW; + } } void BM_mesh_bm_to_me(BMesh *bm, Mesh *me, int dotess) diff --git a/source/blender/bmesh/intern/bmesh_mods.c b/source/blender/bmesh/intern/bmesh_mods.c index c4cbb19eef7..2c7007d1961 100644 --- a/source/blender/bmesh/intern/bmesh_mods.c +++ b/source/blender/bmesh/intern/bmesh_mods.c @@ -161,10 +161,10 @@ int BM_disk_dissolve(BMesh *bm, BMVert *v) } if (keepedge) { - int done = 0; + int done = FALSE; while (!done) { - done = 1; + done = TRUE; e = v->e; do { f = NULL; @@ -180,7 +180,7 @@ int BM_disk_dissolve(BMesh *bm, BMVert *v) } if (f) { - done = 0; + done = FALSE; break; } e = bmesh_disk_edge_next(e, v); diff --git a/source/blender/bmesh/intern/bmesh_operators.c b/source/blender/bmesh/intern/bmesh_operators.c index b2d9590dc54..82ad5c1805b 100644 --- a/source/blender/bmesh/intern/bmesh_operators.c +++ b/source/blender/bmesh/intern/bmesh_operators.c @@ -254,7 +254,7 @@ void BMO_slot_copy(BMOperator *source_op, BMOperator *dest_op, const char *src, return; } - if (dest_slot->slottype == BMO_OP_SLOT_ELEMENT_BUF) { + if (dest_slot->slottype == BMO_OP_SLOT_ELEMENT_BUF) { /* do buffer copy */ dest_slot->data.buf = NULL; dest_slot->len = source_slot->len; @@ -264,7 +264,7 @@ void BMO_slot_copy(BMOperator *source_op, BMOperator *dest_op, const char *src, memcpy(dest_slot->data.buf, source_slot->data.buf, slot_alloc_size); } } - else if (dest_slot->slottype == BMO_OP_SLOT_MAPPING) { + else if (dest_slot->slottype == BMO_OP_SLOT_MAPPING) { GHashIterator it; BMOElemMapping *srcmap, *dstmap; diff --git a/source/blender/bmesh/intern/bmesh_polygon.c b/source/blender/bmesh/intern/bmesh_polygon.c index 6f6db3ce239..72eb4cb89e9 100644 --- a/source/blender/bmesh/intern/bmesh_polygon.c +++ b/source/blender/bmesh/intern/bmesh_polygon.c @@ -776,12 +776,12 @@ void BM_face_triangulate(BMesh *bm, BMFace *f, float (*projectverts)[3], projectverts[i][2] = 0.0f; } - done = 0; + done = FALSE; while (!done && f->len > 3) { - done = 1; + done = TRUE; l_iter = find_ear(f, projectverts, nvert, use_beauty); if (l_iter) { - done = 0; + done = FALSE; /* v = l->v; */ /* UNUSED */ f = BM_face_split(bm, l_iter->f, l_iter->prev->v, l_iter->next->v, diff --git a/source/blender/bmesh/intern/bmesh_queries.c b/source/blender/bmesh/intern/bmesh_queries.c index 8628ed7f9a1..94b221797b4 100644 --- a/source/blender/bmesh/intern/bmesh_queries.c +++ b/source/blender/bmesh/intern/bmesh_queries.c @@ -369,6 +369,7 @@ int BM_edge_face_pair(BMEdge *e, BMFace **r_fa, BMFace **r_fb) if ((la = e->l) && (lb = la->radial_next) && + (la != lb) && (lb->radial_next == la)) { *r_fa = la->f; @@ -394,6 +395,7 @@ int BM_edge_loop_pair(BMEdge *e, BMLoop **r_la, BMLoop **r_lb) if ((la = e->l) && (lb = la->radial_next) && + (la != lb) && (lb->radial_next == la)) { *r_la = la; @@ -745,7 +747,7 @@ BMLoop *BM_face_edge_share_loop(BMFace *f, BMEdge *e) * BM_face_create_ngon() on an arbitrary array of verts, * though be sure to pick an edge which has a face. * - * \note This is infact quite a simple check, mainly include this function so the intent is more obvious. + * \note This is in fact quite a simple check, mainly include this function so the intent is more obvious. * We know these 2 verts will _always_ make up the loops edge */ void BM_edge_ordered_verts_ex(BMEdge *edge, BMVert **r_v1, BMVert **r_v2, @@ -950,6 +952,64 @@ float BM_vert_calc_mean_tagged_edge_length(BMVert *v) /** + * Returns the shortest edge in f. + */ +BMLoop *BM_face_find_shortest_loop(BMFace *f) +{ + BMLoop *shortest_loop = NULL; + float shortest_len = FLT_MAX; + + BMLoop *l_iter; + BMLoop *l_first; + + l_iter = l_first = BM_FACE_FIRST_LOOP(f); + + do { + const float len = len_squared_v3v3(l_iter->v->co, l_iter->next->v->co); + if (len <= shortest_len) { + shortest_loop = l_iter; + shortest_len = len; + } + } while ((l_iter = l_iter->next) != l_first); + + return shortest_loop; +} + +/** + * Returns the longest edge in f. + */ +BMLoop *BM_face_find_longest_loop(BMFace *f) +{ + BMLoop *longest_loop = NULL; + float longest_len = 0.0f; + + BMLoop *l_iter; + BMLoop *l_first; + + l_iter = l_first = BM_FACE_FIRST_LOOP(f); + + do { + const float len = len_squared_v3v3(l_iter->v->co, l_iter->next->v->co); + if (len >= longest_len) { + longest_loop = l_iter; + longest_len = len; + } + } while ((l_iter = l_iter->next) != l_first); + + return longest_loop; +} + +BMEdge *BM_face_find_shortest_edge(BMFace *f) +{ + return BM_face_find_shortest_loop(f)->e; +} + +BMEdge *BM_face_find_longest_edge(BMFace *f) +{ + return BM_face_find_longest_loop(f)->e; +} + +/** * Returns the edge existing between v1 and v2, or NULL if there isn't one. * * \note multiple edges may exist between any two vertices, and therefore diff --git a/source/blender/bmesh/intern/bmesh_queries.h b/source/blender/bmesh/intern/bmesh_queries.h index 08e15884b3f..697990046be 100644 --- a/source/blender/bmesh/intern/bmesh_queries.h +++ b/source/blender/bmesh/intern/bmesh_queries.h @@ -67,6 +67,12 @@ float BM_vert_calc_edge_angle(BMVert *v); float BM_vert_calc_shell_factor(BMVert *v); float BM_vert_calc_mean_tagged_edge_length(BMVert *v); +BMEdge *BM_face_find_shortest_edge(BMFace *f); +BMEdge *BM_face_find_longest_edge(BMFace *f); + +BMLoop *BM_face_find_shortest_loop(BMFace *f); +BMLoop *BM_face_find_longest_loop(BMFace *f); + BMEdge *BM_edge_exists(BMVert *v1, BMVert *v2); int BM_face_exists_overlap(BMesh *bm, BMVert **varr, int len, BMFace **r_existface); diff --git a/source/blender/bmesh/operators/bmo_connect.c b/source/blender/bmesh/operators/bmo_connect.c index b8abe112c4d..2d4c15dbaa5 100644 --- a/source/blender/bmesh/operators/bmo_connect.c +++ b/source/blender/bmesh/operators/bmo_connect.c @@ -444,7 +444,7 @@ void bmo_bridge_loops_exec(BMesh *bm, BMOperator *op) i2 = i; i2next = clamp_index(i + 1, lenv2); - if (vv1[i1] == vv1[i1next]) { + if (vv1[i1] == vv1[i1next]) { continue; } diff --git a/source/blender/bmesh/operators/bmo_extrude.c b/source/blender/bmesh/operators/bmo_extrude.c index 4bac54794bf..09b79376ff6 100644 --- a/source/blender/bmesh/operators/bmo_extrude.c +++ b/source/blender/bmesh/operators/bmo_extrude.c @@ -26,9 +26,13 @@ #include "MEM_guardedalloc.h" +#include "DNA_meshdata_types.h" + #include "BLI_math.h" #include "BLI_array.h" +#include "BKE_customdata.h" + #include "bmesh.h" #include "intern/bmesh_operators_private.h" /* own include */ @@ -167,6 +171,16 @@ static void bm_extrude_copy_face_loop_attributes(BMesh *bm, BMFace *f, BMEdge *e BM_elem_attrs_copy(bm, bm, l_src_1, l_dst_b); } +/* Disable the skin root flag on the input vert, assumes that the vert + data includes an CD_MVERT_SKIN layer */ +static void bm_extrude_disable_skin_root(BMesh *bm, BMVert *v) +{ + MVertSkin *vs; + + vs = CustomData_bmesh_get(&bm->vdata, v->head.data, CD_MVERT_SKIN); + vs->flag &= ~MVERT_SKIN_ROOT; +} + void bmo_extrude_edge_only_exec(BMesh *bm, BMOperator *op) { BMOIter siter; @@ -184,6 +198,13 @@ void bmo_extrude_edge_only_exec(BMesh *bm, BMOperator *op) BMO_op_initf(bm, &dupeop, "dupe geom=%fve", EXT_INPUT); BMO_op_exec(bm, &dupeop); + /* disable root flag on all new skin nodes */ + if (CustomData_has_layer(&bm->vdata, CD_MVERT_SKIN)) { + BMO_ITER(v1, &siter, bm, &dupeop, "newout", BM_VERT) { + bm_extrude_disable_skin_root(bm, v1); + } + } + for (e = BMO_iter_new(&siter, bm, &dupeop, "boundarymap", 0); e; e = BMO_iter_step(&siter)) { e2 = BMO_iter_map_value(&siter); e2 = *(BMEdge **)e2; @@ -224,9 +245,12 @@ void bmo_extrude_vert_indiv_exec(BMesh *bm, BMOperator *op) BMOIter siter; BMVert *v, *dupev; BMEdge *e; + const int has_vskin = CustomData_has_layer(&bm->vdata, CD_MVERT_SKIN); for (v = BMO_iter_new(&siter, bm, op, "verts", BM_VERT); v; v = BMO_iter_step(&siter)) { dupev = BM_vert_create(bm, v->co, v); + if (has_vskin) + bm_extrude_disable_skin_root(bm, v); e = BM_edge_create(bm, v, dupev, NULL, FALSE); @@ -324,6 +348,13 @@ void bmo_extrude_face_region_exec(BMesh *bm, BMOperator *op) BMO_slot_copy(op, &dupeop, "edgefacein", "geom"); BMO_op_exec(bm, &dupeop); + /* disable root flag on all new skin nodes */ + if (CustomData_has_layer(&bm->vdata, CD_MVERT_SKIN)) { + BMO_ITER(v, &siter, bm, &dupeop, "newout", BM_VERT) { + bm_extrude_disable_skin_root(bm, v); + } + } + if (bm->act_face && BMO_elem_flag_test(bm, bm->act_face, EXT_INPUT)) bm->act_face = BMO_slot_map_ptr_get(bm, &dupeop, "facemap", bm->act_face); diff --git a/source/blender/bmesh/operators/bmo_slide.c b/source/blender/bmesh/operators/bmo_slide.c index 5a91fdee533..238cc5ac66f 100644 --- a/source/blender/bmesh/operators/bmo_slide.c +++ b/source/blender/bmesh/operators/bmo_slide.c @@ -88,6 +88,7 @@ void bmo_vertex_slide_exec(BMesh *bm, BMOperator *op) } /* Make sure we get the correct edge. */ + slide_edge = NULL; BM_ITER_ELEM (edge, &iter, vertex, BM_EDGES_OF_VERT) { if (BMO_elem_flag_test(bm, edge, EDGE_MARK) && BM_vert_in_edge(edge, vertex)) { slide_edge = edge; diff --git a/source/blender/bmesh/operators/bmo_utils.c b/source/blender/bmesh/operators/bmo_utils.c index bea6cb17abe..13f24863aa3 100644 --- a/source/blender/bmesh/operators/bmo_utils.c +++ b/source/blender/bmesh/operators/bmo_utils.c @@ -597,7 +597,7 @@ void bmo_similarfaces_exec(BMesh *bm, BMOperator *op) /* now select the rest (if any) */ for (i = 0; i < num_total; i++) { fm = f_ext[i].f; - if (!BMO_elem_flag_test(bm, fm, FACE_MARK) && !BM_elem_flag_test(fm, BM_ELEM_HIDDEN)) { + if (!BMO_elem_flag_test(bm, fm, FACE_MARK) && !BM_elem_flag_test(fm, BM_ELEM_HIDDEN)) { int cont = TRUE; for (idx = 0; idx < num_sels && cont == TRUE; idx++) { fs = f_ext[indices[idx]].f; diff --git a/source/blender/bmesh/tools/BME_bevel.c b/source/blender/bmesh/tools/BME_bevel.c index 101614d609c..07e413985bf 100644 --- a/source/blender/bmesh/tools/BME_bevel.c +++ b/source/blender/bmesh/tools/BME_bevel.c @@ -155,9 +155,9 @@ static void BME_Bevel_Dissolve_Disk(BMesh *bm, BMVert *v) int done; if (v->e) { - done = 0; + done = FALSE; while (!done) { - done = 1; + done = TRUE; e = v->e; /*loop the edge looking for a edge to dissolve*/ do { f = NULL; @@ -165,7 +165,7 @@ static void BME_Bevel_Dissolve_Disk(BMesh *bm, BMVert *v) f = bmesh_jfke(bm, e->l->f, e->l->radial_next->f, e); } if (f) { - done = 0; + done = FALSE; break; } e = bmesh_disk_edge_next(e, v); diff --git a/source/blender/collada/ArmatureImporter.cpp b/source/blender/collada/ArmatureImporter.cpp index 97de7590d07..f23b2bf4b02 100644 --- a/source/blender/collada/ArmatureImporter.cpp +++ b/source/blender/collada/ArmatureImporter.cpp @@ -289,8 +289,10 @@ void ArmatureImporter::add_leaf_bone(float mat[][4], EditBone *bone, COLLADAFW: float vec[3] = {x, y, z}; copy_v3_v3(leaf.bone->tail, leaf.bone->head); add_v3_v3v3(leaf.bone->tail, leaf.bone->head, vec); - }else + } + else { leaf_bones.push_back(leaf); + } } void ArmatureImporter::fix_leaf_bones( ) diff --git a/source/blender/collada/ExportSettings.h b/source/blender/collada/ExportSettings.h index 41fa7e1ed38..b875282ac33 100644 --- a/source/blender/collada/ExportSettings.h +++ b/source/blender/collada/ExportSettings.h @@ -32,6 +32,7 @@ struct ExportSettings public: bool selected; bool apply_modifiers; + bool include_bone_children; bool second_life; char *filepath; }; diff --git a/source/blender/collada/SceneExporter.cpp b/source/blender/collada/SceneExporter.cpp index cd36267fd56..f79ae2b52a9 100644 --- a/source/blender/collada/SceneExporter.cpp +++ b/source/blender/collada/SceneExporter.cpp @@ -79,25 +79,28 @@ void SceneExporter::writeNodes(Object *ob, Scene *sce) bool is_skinned_mesh = arm_exporter->is_skinned_mesh(ob); std::list<Object*> child_objects; - // list child objects - Base *b = (Base*) sce->base.first; - while (b) { - // cob - child object - Object *cob = b->object; - - if (cob->parent == ob) { - switch (cob->type) { - case OB_MESH: - case OB_CAMERA: - case OB_LAMP: - case OB_EMPTY: - case OB_ARMATURE: - child_objects.push_back(cob); - break; + + if (this->export_settings->include_bone_children) { + // list child objects + Base *b = (Base*) sce->base.first; + while (b) { + // cob - child object + Object *cob = b->object; + + if (cob->parent == ob) { + switch (cob->type) { + case OB_MESH: + case OB_CAMERA: + case OB_LAMP: + case OB_EMPTY: + case OB_ARMATURE: + child_objects.push_back(cob); + break; + } } - } - b = b->next; + b = b->next; + } } diff --git a/source/blender/collada/collada.cpp b/source/blender/collada/collada.cpp index ae024ec52a7..c947144412a 100644 --- a/source/blender/collada/collada.cpp +++ b/source/blender/collada/collada.cpp @@ -49,14 +49,21 @@ extern "C" return 0; } - int collada_export(Scene *sce, const char *filepath, int selected, int apply_modifiers, int second_life) + int collada_export( + Scene *sce, + const char *filepath, + int selected, + int apply_modifiers, + int include_bone_children, + int second_life) { ExportSettings export_settings; - export_settings.selected = selected != 0; - export_settings.apply_modifiers = apply_modifiers != 0; - export_settings.second_life = second_life != 0; - export_settings.filepath = (char *)filepath; + export_settings.selected = selected != 0; + export_settings.apply_modifiers = apply_modifiers != 0; + export_settings.include_bone_children = include_bone_children != 0; + export_settings.second_life = second_life != 0; + export_settings.filepath = (char *)filepath; /* annoying, collada crashes if file cant be created! [#27162] */ if (!BLI_exists(filepath)) { diff --git a/source/blender/collada/collada.h b/source/blender/collada/collada.h index f335796f799..d5c26bb402c 100644 --- a/source/blender/collada/collada.h +++ b/source/blender/collada/collada.h @@ -37,7 +37,13 @@ extern "C" { * both return 1 on success, 0 on error */ int collada_import(bContext *C, const char *filepath); - int collada_export(Scene *sce, const char *filepath, int selected, int apply_modifiers, int second_life); + int collada_export( + Scene *sce, + const char *filepath, + int selected, + int apply_modifiers, + int include_bone_children, + int second_life); #ifdef __cplusplus } #endif diff --git a/source/blender/compositor/intern/COM_ExecutionSystem.cpp b/source/blender/compositor/intern/COM_ExecutionSystem.cpp index 84b5bb8f5fc..0d4c7cde68f 100644 --- a/source/blender/compositor/intern/COM_ExecutionSystem.cpp +++ b/source/blender/compositor/intern/COM_ExecutionSystem.cpp @@ -105,7 +105,7 @@ ExecutionSystem::~ExecutionSystem() void ExecutionSystem::execute() { unsigned int order = 0; - for ( vector<NodeOperation*>::iterator iter = this->operations.begin(); iter != operations.end(); ++iter ) { + for (vector<NodeOperation*>::iterator iter = this->operations.begin(); iter != operations.end(); ++iter) { NodeBase *node = *iter; NodeOperation *operation = (NodeOperation*) node; if (operation->isReadBufferOperation()) { @@ -273,7 +273,7 @@ void ExecutionSystem::groupOperations() } } ExecutionSystemHelper::findOutputNodeOperations(&outputOperations, this->getOperations(), this->context.isRendering()); - for ( vector<NodeOperation*>::iterator iter = outputOperations.begin(); iter != outputOperations.end(); ++iter ) { + for (vector<NodeOperation*>::iterator iter = outputOperations.begin(); iter != outputOperations.end(); ++iter) { operation = *iter; ExecutionGroup *group = new ExecutionGroup(); group->addOperation(this, operation); diff --git a/source/blender/compositor/intern/COM_InputSocket.cpp b/source/blender/compositor/intern/COM_InputSocket.cpp index 881aa58ec6b..4d96d077901 100644 --- a/source/blender/compositor/intern/COM_InputSocket.cpp +++ b/source/blender/compositor/intern/COM_InputSocket.cpp @@ -128,65 +128,62 @@ void InputSocket::fireActualDataTypeSet() } void InputSocket::relinkConnections(InputSocket *relinkToSocket) { - this->relinkConnections(relinkToSocket, false, -1, NULL); + if (!isConnected()) { + return; + } + SocketConnection *connection = this->getConnection(); + connection->setToSocket(relinkToSocket); + relinkToSocket->setConnection(connection); + this->setConnection(NULL); } -void InputSocket::relinkConnections(InputSocket *relinkToSocket, bool autoconnect, int editorNodeInputSocketIndex, bool duplicate, ExecutionSystem *graph) -{ - if (!duplicate) { - this->relinkConnections(relinkToSocket, autoconnect, editorNodeInputSocketIndex, graph); - } - else { - if (!this->isConnected() && autoconnect) { - Node *node = (Node*)this->getNode(); - switch (this->getActualDataType()) { - case COM_DT_UNKNOWN: - case COM_DT_COLOR: - node->addSetColorOperation(graph, relinkToSocket, editorNodeInputSocketIndex); - break; - case COM_DT_VECTOR: - node->addSetVectorOperation(graph, relinkToSocket, editorNodeInputSocketIndex); - break; - case COM_DT_VALUE: - node->addSetValueOperation(graph, relinkToSocket, editorNodeInputSocketIndex); - break; - } - return; +void InputSocket::relinkConnectionsDuplicate(InputSocket *relinkToSocket, int editorNodeInputSocketIndex, ExecutionSystem *graph) +{ + if (!this->isConnected()) { + Node *node = (Node*)this->getNode(); + switch (this->getActualDataType()) { + case COM_DT_UNKNOWN: + case COM_DT_COLOR: + node->addSetColorOperation(graph, relinkToSocket, editorNodeInputSocketIndex); + break; + case COM_DT_VECTOR: + node->addSetVectorOperation(graph, relinkToSocket, editorNodeInputSocketIndex); + break; + case COM_DT_VALUE: + node->addSetValueOperation(graph, relinkToSocket, editorNodeInputSocketIndex); + break; } - SocketConnection * newConnection = new SocketConnection(); - OutputSocket * fromSocket = this->getConnection()->getFromSocket(); - newConnection->setToSocket(relinkToSocket); - newConnection->setFromSocket(fromSocket); - relinkToSocket->setConnection(newConnection); - fromSocket->addConnection(newConnection); - graph->addSocketConnection(newConnection); + return; } + SocketConnection * newConnection = new SocketConnection(); + OutputSocket * fromSocket = this->getConnection()->getFromSocket(); + newConnection->setToSocket(relinkToSocket); + newConnection->setFromSocket(fromSocket); + relinkToSocket->setConnection(newConnection); + fromSocket->addConnection(newConnection); + graph->addSocketConnection(newConnection); } -void InputSocket::relinkConnections(InputSocket *relinkToSocket, bool autoconnect, int editorNodeInputSocketIndex, ExecutionSystem *graph) +void InputSocket::relinkConnections(InputSocket *relinkToSocket, int editorNodeInputSocketIndex, ExecutionSystem *graph) { - if (!isConnected()) { - if (autoconnect) { - Node *node = (Node*)this->getNode(); - switch (this->getActualDataType()) { - case COM_DT_UNKNOWN: - case COM_DT_COLOR: - node->addSetColorOperation(graph, relinkToSocket, editorNodeInputSocketIndex); - break; - case COM_DT_VECTOR: - node->addSetVectorOperation(graph, relinkToSocket, editorNodeInputSocketIndex); - break; - case COM_DT_VALUE: - node->addSetValueOperation(graph, relinkToSocket, editorNodeInputSocketIndex); - break; - } + if (isConnected()) { + relinkConnections(relinkToSocket); + } + else { + Node *node = (Node*)this->getNode(); + switch (this->getActualDataType()) { + case COM_DT_UNKNOWN: + case COM_DT_COLOR: + node->addSetColorOperation(graph, relinkToSocket, editorNodeInputSocketIndex); + break; + case COM_DT_VECTOR: + node->addSetVectorOperation(graph, relinkToSocket, editorNodeInputSocketIndex); + break; + case COM_DT_VALUE: + node->addSetValueOperation(graph, relinkToSocket, editorNodeInputSocketIndex); + break; } - return; } - SocketConnection *connection = this->getConnection(); - connection->setToSocket(relinkToSocket); - relinkToSocket->setConnection(connection); - this->setConnection(NULL); } const ChannelInfo *InputSocket::getChannelInfo(const int channelnumber) diff --git a/source/blender/compositor/intern/COM_InputSocket.h b/source/blender/compositor/intern/COM_InputSocket.h index e01793317a5..b1c75e34844 100644 --- a/source/blender/compositor/intern/COM_InputSocket.h +++ b/source/blender/compositor/intern/COM_InputSocket.h @@ -126,17 +126,15 @@ public: * @param editorNodeInputSocketIndex index of the socket number of the bNode (used to retrieve the value for autoconnection) * @param system ExecutionSystem to update to */ - void relinkConnections(InputSocket *relinkToSocket, bool autoconnect, int editorNodeInputSocketIndex, ExecutionSystem *system); + void relinkConnections(InputSocket *relinkToSocket, int editorNodeInputSocketIndex, ExecutionSystem *system); /** * @brief move all connections of this input socket to another socket * @param relinkToSocket the socket to move to connections to - * @param autoconnect will a set operation be added when no connections exist * @param editorNodeInputSocketIndex index of the socket number of the bNode (used to retrieve the value for autoconnection) - * @param duplicate instead of move do a copy of the connection. * @param system ExecutionSystem to update to */ - void relinkConnections(InputSocket *relinkToSocket, bool autoconnect, int editorNodeInputSocketIndex, bool duplicate, ExecutionSystem *system); + void relinkConnectionsDuplicate(InputSocket *relinkToSocket, int editorNodeInputSocketIndex, ExecutionSystem *system); /** * @brief set the resize mode diff --git a/source/blender/compositor/intern/COM_Node.cpp b/source/blender/compositor/intern/COM_Node.cpp index f06672ac80b..ba5e21d53ae 100644 --- a/source/blender/compositor/intern/COM_Node.cpp +++ b/source/blender/compositor/intern/COM_Node.cpp @@ -138,7 +138,6 @@ void Node::addSetVectorOperation(ExecutionSystem *graph, InputSocket *inputsocke operation->setX(val->value[0]); operation->setY(val->value[1]); operation->setZ(val->value[2]); - operation->setW(val->value[3]); this->addLink(graph, operation->getOutputSocket(), inputsocket); graph->addOperation(operation); } diff --git a/source/blender/compositor/intern/COM_WorkScheduler.cpp b/source/blender/compositor/intern/COM_WorkScheduler.cpp index c82a01a1e0a..406f0acf724 100644 --- a/source/blender/compositor/intern/COM_WorkScheduler.cpp +++ b/source/blender/compositor/intern/COM_WorkScheduler.cpp @@ -29,6 +29,7 @@ #include "OCL_opencl.h" #include "stdio.h" #include "COM_OpenCLKernels.cl.cpp" +#include "BKE_global.h" #if COM_CURRENT_THREADING_MODEL == COM_TM_NOTHREAD #warning COM_CURRENT_THREADING_MODEL COM_TM_NOTHREAD is activated. Use only for debugging. @@ -235,7 +236,7 @@ void WorkScheduler::initialize() cl_int error; error = clGetPlatformIDs(0, 0, &numberOfPlatforms); if (error != CL_SUCCESS) { printf("CLERROR[%d]: %s\n", error, clewErrorString(error)); } - printf("%d number of platforms\n", numberOfPlatforms); + if (G.f & G_DEBUG) printf("%d number of platforms\n", numberOfPlatforms); cl_platform_id *platforms = new cl_platform_id[numberOfPlatforms]; error = clGetPlatformIDs(numberOfPlatforms, platforms, 0); unsigned int indexPlatform; @@ -280,11 +281,13 @@ void WorkScheduler::initialize() OpenCLDevice *clDevice = new OpenCLDevice(context, device, program); clDevice->initialize(), gpudevices.push_back(clDevice); - char resultString[32]; - error = clGetDeviceInfo(device, CL_DEVICE_NAME, 32, resultString, 0); - printf("OPENCL_DEVICE: %s, ", resultString); - error = clGetDeviceInfo(device, CL_DEVICE_VENDOR, 32, resultString, 0); - printf("%s\n", resultString); + if (G.f & G_DEBUG) { + char resultString[32]; + error = clGetDeviceInfo(device, CL_DEVICE_NAME, 32, resultString, 0); + printf("OPENCL_DEVICE: %s, ", resultString); + error = clGetDeviceInfo(device, CL_DEVICE_VENDOR, 32, resultString, 0); + printf("%s\n", resultString); + } } delete cldevices; delete platforms; diff --git a/source/blender/compositor/intern/COM_compositor.cpp b/source/blender/compositor/intern/COM_compositor.cpp index bd967190987..e27bff4401e 100644 --- a/source/blender/compositor/intern/COM_compositor.cpp +++ b/source/blender/compositor/intern/COM_compositor.cpp @@ -29,6 +29,7 @@ extern "C" { #include "COM_compositor.h" #include "COM_ExecutionSystem.h" #include "COM_WorkScheduler.h" +#include "OCL_opencl.h" static ThreadMutex *compositorMutex; void COM_execute(bNodeTree *editingtree, int rendering) @@ -36,6 +37,7 @@ void COM_execute(bNodeTree *editingtree, int rendering) if (compositorMutex == NULL) { /// TODO: move to blender startup phase compositorMutex = new ThreadMutex(); BLI_mutex_init(compositorMutex); + OCL_init(); WorkScheduler::initialize(); ///TODO: call workscheduler.deinitialize somewhere } BLI_mutex_lock(compositorMutex); diff --git a/source/blender/compositor/nodes/COM_AlphaOverNode.cpp b/source/blender/compositor/nodes/COM_AlphaOverNode.cpp index 0037480d2e9..eb3cd821172 100644 --- a/source/blender/compositor/nodes/COM_AlphaOverNode.cpp +++ b/source/blender/compositor/nodes/COM_AlphaOverNode.cpp @@ -64,9 +64,9 @@ void AlphaOverNode::convertToOperations(ExecutionSystem *graph, CompositorContex else { convertProg->setResolutionInputSocketIndex(0); } - valueSocket->relinkConnections(convertProg->getInputSocket(0), true, 0, graph); - color1Socket->relinkConnections(convertProg->getInputSocket(1), true, 1, graph); - color2Socket->relinkConnections(convertProg->getInputSocket(2), true, 2, graph); + valueSocket->relinkConnections(convertProg->getInputSocket(0), 0, graph); + color1Socket->relinkConnections(convertProg->getInputSocket(1), 1, graph); + color2Socket->relinkConnections(convertProg->getInputSocket(2), 2, graph); outputSocket->relinkConnections(convertProg->getOutputSocket(0)); graph->addOperation(convertProg); } diff --git a/source/blender/compositor/nodes/COM_BilateralBlurNode.cpp b/source/blender/compositor/nodes/COM_BilateralBlurNode.cpp index 436d92df7f8..fa654d35785 100644 --- a/source/blender/compositor/nodes/COM_BilateralBlurNode.cpp +++ b/source/blender/compositor/nodes/COM_BilateralBlurNode.cpp @@ -36,8 +36,8 @@ void BilateralBlurNode::convertToOperations(ExecutionSystem *graph, CompositorCo BilateralBlurOperation *operation = new BilateralBlurOperation(); operation->setQuality(context->getQuality()); operation->setData(data); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket()); graph->addOperation(operation); } diff --git a/source/blender/compositor/nodes/COM_BlurNode.cpp b/source/blender/compositor/nodes/COM_BlurNode.cpp index 789a6a6eee2..90b2481cc7d 100644 --- a/source/blender/compositor/nodes/COM_BlurNode.cpp +++ b/source/blender/compositor/nodes/COM_BlurNode.cpp @@ -50,8 +50,8 @@ void BlurNode::convertToOperations(ExecutionSystem *graph, CompositorContext * c if (data->filtertype == R_FILTER_FAST_GAUSS) { FastGaussianBlurOperation *operationfgb = new FastGaussianBlurOperation(); operationfgb->setData(data); - this->getInputSocket(0)->relinkConnections(operationfgb->getInputSocket(0), true, 0, graph); - this->getInputSocket(1)->relinkConnections(operationfgb->getInputSocket(1), true, 1, graph); + this->getInputSocket(0)->relinkConnections(operationfgb->getInputSocket(0), 0, graph); + this->getInputSocket(1)->relinkConnections(operationfgb->getInputSocket(1), 1, graph); this->getOutputSocket(0)->relinkConnections(operationfgb->getOutputSocket(0)); graph->addOperation(operationfgb); addPreviewOperation(graph, operationfgb->getOutputSocket(), 5); @@ -60,8 +60,8 @@ void BlurNode::convertToOperations(ExecutionSystem *graph, CompositorContext * c GaussianXBlurOperation *operationx = new GaussianXBlurOperation(); operationx->setData(data); operationx->setQuality(quality); - this->getInputSocket(0)->relinkConnections(operationx->getInputSocket(0), true, 0, graph); - this->getInputSocket(1)->relinkConnections(operationx->getInputSocket(1), true, 1, graph); + this->getInputSocket(0)->relinkConnections(operationx->getInputSocket(0), 0, graph); + this->getInputSocket(1)->relinkConnections(operationx->getInputSocket(1), 1, graph); graph->addOperation(operationx); GaussianYBlurOperation *operationy = new GaussianYBlurOperation(); operationy->setData(data); @@ -75,8 +75,8 @@ void BlurNode::convertToOperations(ExecutionSystem *graph, CompositorContext * c else { GaussianBokehBlurOperation *operation = new GaussianBokehBlurOperation(); operation->setData(data); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph); operation->setQuality(quality); graph->addOperation(operation); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket()); diff --git a/source/blender/compositor/nodes/COM_BokehBlurNode.cpp b/source/blender/compositor/nodes/COM_BokehBlurNode.cpp index 9e80d024bd2..d6f4f58fe70 100644 --- a/source/blender/compositor/nodes/COM_BokehBlurNode.cpp +++ b/source/blender/compositor/nodes/COM_BokehBlurNode.cpp @@ -45,9 +45,9 @@ void BokehBlurNode::convertToOperations(ExecutionSystem *graph, CompositorContex converter->setCameraObject(camob); operation->setMaxBlur(16); operation->setQuality(context->getQuality()); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph); - this->getInputSocket(2)->relinkConnections(converter->getInputSocket(0), true, 2, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph); + this->getInputSocket(2)->relinkConnections(converter->getInputSocket(0), 2, graph); addLink(graph, converter->getOutputSocket(), operation->getInputSocket(2)); graph->addOperation(operation); graph->addOperation(converter); @@ -55,9 +55,9 @@ void BokehBlurNode::convertToOperations(ExecutionSystem *graph, CompositorContex } else { BokehBlurOperation *operation = new BokehBlurOperation(); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph); - this->getInputSocket(3)->relinkConnections(operation->getInputSocket(2), true, 3, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph); + this->getInputSocket(3)->relinkConnections(operation->getInputSocket(2), 3, graph); operation->setSize(((bNodeSocketValueFloat*)this->getInputSocket(2)->getbNodeSocket()->default_value)->value); operation->setQuality(context->getQuality()); graph->addOperation(operation); diff --git a/source/blender/compositor/nodes/COM_BoxMaskNode.cpp b/source/blender/compositor/nodes/COM_BoxMaskNode.cpp index 322b5893096..e99252663d0 100644 --- a/source/blender/compositor/nodes/COM_BoxMaskNode.cpp +++ b/source/blender/compositor/nodes/COM_BoxMaskNode.cpp @@ -34,8 +34,8 @@ void BoxMaskNode::convertToOperations(ExecutionSystem *graph, CompositorContext BoxMaskOperation *operation; operation = new BoxMaskOperation(); operation->setData((NodeBoxMask*)this->getbNode()->storage); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0)); operation->setMaskType(this->getbNode()->custom1); diff --git a/source/blender/compositor/nodes/COM_BrightnessNode.cpp b/source/blender/compositor/nodes/COM_BrightnessNode.cpp index 2bcf7250173..9ccb58a45de 100644 --- a/source/blender/compositor/nodes/COM_BrightnessNode.cpp +++ b/source/blender/compositor/nodes/COM_BrightnessNode.cpp @@ -28,14 +28,13 @@ BrightnessNode::BrightnessNode(bNode *editorNode): Node(editorNode) { } -/// @todo: add anti alias when not FSA + void BrightnessNode::convertToOperations(ExecutionSystem *graph, CompositorContext * context) { BrightnessOperation *operation = new BrightnessOperation(); - - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0)); - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1),true, 1, graph); - this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2),true, 2, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph); + this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2), 2, graph); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0)); graph->addOperation(operation); } diff --git a/source/blender/compositor/nodes/COM_ChannelMatteNode.cpp b/source/blender/compositor/nodes/COM_ChannelMatteNode.cpp index 08980de8d98..dbe5b9936dc 100644 --- a/source/blender/compositor/nodes/COM_ChannelMatteNode.cpp +++ b/source/blender/compositor/nodes/COM_ChannelMatteNode.cpp @@ -64,13 +64,13 @@ void ChannelMatteNode::convertToOperations(ExecutionSystem *graph, CompositorCon SetAlphaOperation *operationAlpha = new SetAlphaOperation(); if (convert) { - inputSocketImage->relinkConnections(convert->getInputSocket(0), true, 0, graph); + inputSocketImage->relinkConnections(convert->getInputSocket(0), 0, graph); addLink(graph, convert->getOutputSocket(), operation->getInputSocket(0)); addLink(graph, convert->getInputSocket(0)->getConnection()->getFromSocket(), operationAlpha->getInputSocket(0)); graph->addOperation(convert); } else { - inputSocketImage->relinkConnections(operation->getInputSocket(0), true, 0, graph); + inputSocketImage->relinkConnections(operation->getInputSocket(0), 0, graph); addLink(graph, operation->getInputSocket(0)->getConnection()->getFromSocket(), operationAlpha->getInputSocket(0)); } diff --git a/source/blender/compositor/nodes/COM_ChromaMatteNode.cpp b/source/blender/compositor/nodes/COM_ChromaMatteNode.cpp index 45176cb007c..dd3b3855e3f 100644 --- a/source/blender/compositor/nodes/COM_ChromaMatteNode.cpp +++ b/source/blender/compositor/nodes/COM_ChromaMatteNode.cpp @@ -44,8 +44,8 @@ void ChromaMatteNode::convertToOperations(ExecutionSystem *graph, CompositorCont bNode *editorsnode = getbNode(); operation->setSettings((NodeChroma*)editorsnode->storage); - inputSocketImage->relinkConnections(operationRGBToYCC_Image->getInputSocket(0), true, 0, graph); - inputSocketKey->relinkConnections(operationRGBToYCC_Key->getInputSocket(0), true, 0, graph); + inputSocketImage->relinkConnections(operationRGBToYCC_Image->getInputSocket(0), 0, graph); + inputSocketKey->relinkConnections(operationRGBToYCC_Key->getInputSocket(0), 0, graph); addLink(graph, operationRGBToYCC_Image->getOutputSocket(), operation->getInputSocket(0)); addLink(graph, operationRGBToYCC_Key->getOutputSocket(), operation->getInputSocket(1)); diff --git a/source/blender/compositor/nodes/COM_ColorBalanceNode.cpp b/source/blender/compositor/nodes/COM_ColorBalanceNode.cpp index 32c9e50874e..7b852678191 100644 --- a/source/blender/compositor/nodes/COM_ColorBalanceNode.cpp +++ b/source/blender/compositor/nodes/COM_ColorBalanceNode.cpp @@ -63,8 +63,8 @@ void ColorBalanceNode::convertToOperations(ExecutionSystem *graph, CompositorCon operation = operationCDL; } - inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph); - inputImageSocket->relinkConnections(operation->getInputSocket(1), true, 0, graph); + inputSocket->relinkConnections(operation->getInputSocket(0), 0, graph); + inputImageSocket->relinkConnections(operation->getInputSocket(1), 0, graph); outputSocket->relinkConnections(operation->getOutputSocket(0)); graph->addOperation(operation); } diff --git a/source/blender/compositor/nodes/COM_ColorCorrectionNode.cpp b/source/blender/compositor/nodes/COM_ColorCorrectionNode.cpp index 995d66fcf23..4909f1b9895 100644 --- a/source/blender/compositor/nodes/COM_ColorCorrectionNode.cpp +++ b/source/blender/compositor/nodes/COM_ColorCorrectionNode.cpp @@ -33,8 +33,8 @@ void ColorCorrectionNode::convertToOperations(ExecutionSystem *graph, Compositor { ColorCorrectionOperation *operation = new ColorCorrectionOperation(); bNode *editorNode = getbNode(); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0),true, 0, graph); - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1),true, 1, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0)); operation->setData((NodeColorCorrection*)editorNode->storage); operation->setRedChannelEnabled((editorNode->custom1&1)>0); diff --git a/source/blender/compositor/nodes/COM_ColorCurveNode.cpp b/source/blender/compositor/nodes/COM_ColorCurveNode.cpp index a96fdf72b11..d7cde21a984 100644 --- a/source/blender/compositor/nodes/COM_ColorCurveNode.cpp +++ b/source/blender/compositor/nodes/COM_ColorCurveNode.cpp @@ -33,10 +33,10 @@ void ColorCurveNode::convertToOperations(ExecutionSystem *graph, CompositorConte { ColorCurveOperation *operation = new ColorCurveOperation(); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph); - this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2), true, 2, graph); - this->getInputSocket(3)->relinkConnections(operation->getInputSocket(3), true, 3, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph); + this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2), 2, graph); + this->getInputSocket(3)->relinkConnections(operation->getInputSocket(3), 3, graph); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket()); diff --git a/source/blender/compositor/nodes/COM_ColorMatteNode.cpp b/source/blender/compositor/nodes/COM_ColorMatteNode.cpp index e5231a48e05..860d1a01194 100644 --- a/source/blender/compositor/nodes/COM_ColorMatteNode.cpp +++ b/source/blender/compositor/nodes/COM_ColorMatteNode.cpp @@ -42,8 +42,8 @@ void ColorMatteNode::convertToOperations(ExecutionSystem *graph, CompositorConte bNode *editorsnode = getbNode(); operation->setSettings((NodeChroma*)editorsnode->storage); - inputSocketImage->relinkConnections(operationRGBToHSV_Image->getInputSocket(0), true, 0, graph); - inputSocketKey->relinkConnections(operationRGBToHSV_Key->getInputSocket(0), true, 1, graph); + inputSocketImage->relinkConnections(operationRGBToHSV_Image->getInputSocket(0), 0, graph); + inputSocketKey->relinkConnections(operationRGBToHSV_Key->getInputSocket(0), 1, graph); addLink(graph, operationRGBToHSV_Image->getOutputSocket(), operation->getInputSocket(0)); addLink(graph, operationRGBToHSV_Key->getOutputSocket(), operation->getInputSocket(1)); diff --git a/source/blender/compositor/nodes/COM_ColorRampNode.cpp b/source/blender/compositor/nodes/COM_ColorRampNode.cpp index 1873cad5d57..c6090120467 100644 --- a/source/blender/compositor/nodes/COM_ColorRampNode.cpp +++ b/source/blender/compositor/nodes/COM_ColorRampNode.cpp @@ -47,6 +47,6 @@ void ColorRampNode::convertToOperations(ExecutionSystem *graph, CompositorContex graph->addOperation(operation2); } operation->setColorBand((ColorBand*)editorNode->storage); - inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph); + inputSocket->relinkConnections(operation->getInputSocket(0), 0, graph); graph->addOperation(operation); } diff --git a/source/blender/compositor/nodes/COM_ColorSpillNode.cpp b/source/blender/compositor/nodes/COM_ColorSpillNode.cpp index 88043653b4f..503ca3c8bd3 100644 --- a/source/blender/compositor/nodes/COM_ColorSpillNode.cpp +++ b/source/blender/compositor/nodes/COM_ColorSpillNode.cpp @@ -49,8 +49,8 @@ void ColorSpillNode::convertToOperations(ExecutionSystem *graph, CompositorConte operation->setSpillChannel(editorsnode->custom1-1); // Channel for spilling - inputSocketImage->relinkConnections(operation->getInputSocket(0), true, 0, graph); - inputSocketFac->relinkConnections(operation->getInputSocket(1), true, 1, graph); + inputSocketImage->relinkConnections(operation->getInputSocket(0), 0, graph); + inputSocketFac->relinkConnections(operation->getInputSocket(1), 1, graph); outputSocketImage->relinkConnections(operation->getOutputSocket()); graph->addOperation(operation); diff --git a/source/blender/compositor/nodes/COM_ColorToBWNode.cpp b/source/blender/compositor/nodes/COM_ColorToBWNode.cpp index 7ff7ee1c13e..ed2869d35f2 100644 --- a/source/blender/compositor/nodes/COM_ColorToBWNode.cpp +++ b/source/blender/compositor/nodes/COM_ColorToBWNode.cpp @@ -35,7 +35,7 @@ void ColourToBWNode::convertToOperations(ExecutionSystem *graph, CompositorConte OutputSocket *valueSocket = this->getOutputSocket(0); ConvertColorToBWOperation *convertProg = new ConvertColorToBWOperation(); - colourSocket->relinkConnections(convertProg->getInputSocket(0), true, 0, graph); + colourSocket->relinkConnections(convertProg->getInputSocket(0), 0, graph); valueSocket->relinkConnections(convertProg->getOutputSocket(0)); graph->addOperation(convertProg); } diff --git a/source/blender/compositor/nodes/COM_CombineRGBANode.cpp b/source/blender/compositor/nodes/COM_CombineRGBANode.cpp index d5fef1e756a..e6fcc48ac5b 100644 --- a/source/blender/compositor/nodes/COM_CombineRGBANode.cpp +++ b/source/blender/compositor/nodes/COM_CombineRGBANode.cpp @@ -55,10 +55,10 @@ void CombineRGBANode::convertToOperations(ExecutionSystem *graph, CompositorCont else { operation->setResolutionInputSocketIndex(3); } - inputRSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph); - inputGSocket->relinkConnections(operation->getInputSocket(1), true, 1, graph); - inputBSocket->relinkConnections(operation->getInputSocket(2), true, 2, graph); - inputASocket->relinkConnections(operation->getInputSocket(3), true, 3, graph); + inputRSocket->relinkConnections(operation->getInputSocket(0), 0, graph); + inputGSocket->relinkConnections(operation->getInputSocket(1), 1, graph); + inputBSocket->relinkConnections(operation->getInputSocket(2), 2, graph); + inputASocket->relinkConnections(operation->getInputSocket(3), 3, graph); outputSocket->relinkConnections(operation->getOutputSocket(0)); graph->addOperation(operation); } diff --git a/source/blender/compositor/nodes/COM_ConvertAlphaNode.cpp b/source/blender/compositor/nodes/COM_ConvertAlphaNode.cpp index 94139c132fb..0b4326a17ca 100644 --- a/source/blender/compositor/nodes/COM_ConvertAlphaNode.cpp +++ b/source/blender/compositor/nodes/COM_ConvertAlphaNode.cpp @@ -37,7 +37,7 @@ void ConvertAlphaNode::convertToOperations(ExecutionSystem *graph, CompositorCon operation = new ConvertKeyToPremulOperation(); } - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket()); graph->addOperation(operation); diff --git a/source/blender/compositor/nodes/COM_CropNode.cpp b/source/blender/compositor/nodes/COM_CropNode.cpp index 52329be3034..c58fcc874cb 100644 --- a/source/blender/compositor/nodes/COM_CropNode.cpp +++ b/source/blender/compositor/nodes/COM_CropNode.cpp @@ -43,7 +43,7 @@ void CropNode::convertToOperations(ExecutionSystem *graph, CompositorContext * c } operation->setCropSettings(cropSettings); operation->setRelative(relative); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); this->getOutputSocket()->relinkConnections(operation->getOutputSocket()); graph->addOperation(operation); } diff --git a/source/blender/compositor/nodes/COM_DefocusNode.cpp b/source/blender/compositor/nodes/COM_DefocusNode.cpp index 77f7baaef98..e4e19fdbe27 100644 --- a/source/blender/compositor/nodes/COM_DefocusNode.cpp +++ b/source/blender/compositor/nodes/COM_DefocusNode.cpp @@ -52,7 +52,7 @@ void DefocusNode::convertToOperations(ExecutionSystem *graph, CompositorContext SetValueOperation *maxRadius = new SetValueOperation(); maxRadius->setValue(data->maxblur); MathMinimumOperation *minimize = new MathMinimumOperation(); - this->getInputSocket(1)->relinkConnections(multiply->getInputSocket(0), true, 1, graph); + this->getInputSocket(1)->relinkConnections(multiply->getInputSocket(0), 1, graph); addLink(graph, multiplier->getOutputSocket(), multiply->getInputSocket(1)); addLink(graph, maxRadius->getOutputSocket(), minimize->getInputSocket(1)); addLink(graph, multiply->getOutputSocket(), minimize->getInputSocket(0)); @@ -68,7 +68,7 @@ void DefocusNode::convertToOperations(ExecutionSystem *graph, CompositorContext converter->setCameraObject(camob); converter->setfStop(data->fstop); converter->setMaxRadius(data->maxblur); - this->getInputSocket(1)->relinkConnections(converter->getInputSocket(0), true, 1, graph); + this->getInputSocket(1)->relinkConnections(converter->getInputSocket(0), 1, graph); graph->addOperation(converter); radiusOperation = converter; } @@ -98,7 +98,7 @@ void DefocusNode::convertToOperations(ExecutionSystem *graph, CompositorContext if (data->gamco) { GammaCorrectOperation * correct = new GammaCorrectOperation(); GammaUncorrectOperation * inverse = new GammaUncorrectOperation(); - this->getInputSocket(0)->relinkConnections(correct->getInputSocket(0), 0, true, graph); + this->getInputSocket(0)->relinkConnections(correct->getInputSocket(0), 0, graph); addLink(graph, correct->getOutputSocket(), operation->getInputSocket(0)); addLink(graph, operation->getOutputSocket(), inverse->getInputSocket(0)); this->getOutputSocket()->relinkConnections(inverse->getOutputSocket()); @@ -106,7 +106,7 @@ void DefocusNode::convertToOperations(ExecutionSystem *graph, CompositorContext graph->addOperation(inverse); } else { - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, true, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); this->getOutputSocket()->relinkConnections(operation->getOutputSocket()); } diff --git a/source/blender/compositor/nodes/COM_DifferenceMatteNode.cpp b/source/blender/compositor/nodes/COM_DifferenceMatteNode.cpp index ab6917f3a59..c26fb4e5c5d 100644 --- a/source/blender/compositor/nodes/COM_DifferenceMatteNode.cpp +++ b/source/blender/compositor/nodes/COM_DifferenceMatteNode.cpp @@ -38,8 +38,8 @@ void DifferenceMatteNode::convertToOperations(ExecutionSystem *graph, Compositor DifferenceMatteOperation * operationSet = new DifferenceMatteOperation(); operationSet->setSettings((NodeChroma*)editorNode->storage); - inputSocket->relinkConnections(operationSet->getInputSocket(0), true, 0, graph); - inputSocket2->relinkConnections(operationSet->getInputSocket(1), true, 1, graph); + inputSocket->relinkConnections(operationSet->getInputSocket(0), 0, graph); + inputSocket2->relinkConnections(operationSet->getInputSocket(1), 1, graph); outputSocketMatte->relinkConnections(operationSet->getOutputSocket(0)); graph->addOperation(operationSet); diff --git a/source/blender/compositor/nodes/COM_DilateErodeNode.cpp b/source/blender/compositor/nodes/COM_DilateErodeNode.cpp index 2118f5b8e47..cc96f672ebd 100644 --- a/source/blender/compositor/nodes/COM_DilateErodeNode.cpp +++ b/source/blender/compositor/nodes/COM_DilateErodeNode.cpp @@ -33,16 +33,40 @@ DilateErodeNode::DilateErodeNode(bNode *editorNode): Node(editorNode) void DilateErodeNode::convertToOperations(ExecutionSystem *graph, CompositorContext * context) { + bNode *editorNode = this->getbNode(); - DilateErodeOperation *operation = new DilateErodeOperation(); - operation->setDistance(editorNode->custom2); - operation->setInset(2.0f); + if (editorNode->custom1 == CMP_NODE_DILATEERODE_DISTANCE) { + DilateErodeDistanceOperation *operation = new DilateErodeDistanceOperation(); + operation->setDistance(editorNode->custom2); + operation->setInset(editorNode->custom3); + + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0)); - - AntiAliasOperation * antiAlias = new AntiAliasOperation(); - addLink(graph, operation->getOutputSocket(), antiAlias->getInputSocket(0)); - this->getOutputSocket(0)->relinkConnections(antiAlias->getOutputSocket(0)); - graph->addOperation(operation); - graph->addOperation(antiAlias); + if (editorNode->custom3 < 2.0f) { + AntiAliasOperation * antiAlias = new AntiAliasOperation(); + addLink(graph, operation->getOutputSocket(), antiAlias->getInputSocket(0)); + this->getOutputSocket(0)->relinkConnections(antiAlias->getOutputSocket(0)); + graph->addOperation(antiAlias); + } + else { + this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0)); + } + graph->addOperation(operation); + } + else { + if (editorNode->custom2 > 0) { + DilateStepOperation * operation = new DilateStepOperation(); + operation->setIterations(editorNode->custom2); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); + this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0)); + graph->addOperation(operation); + } + else { + ErodeStepOperation * operation = new ErodeStepOperation(); + operation->setIterations(-editorNode->custom2); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); + this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0)); + graph->addOperation(operation); + } + } } diff --git a/source/blender/compositor/nodes/COM_DirectionalBlurNode.cpp b/source/blender/compositor/nodes/COM_DirectionalBlurNode.cpp index cefeffcfc07..d63fbbdb092 100644 --- a/source/blender/compositor/nodes/COM_DirectionalBlurNode.cpp +++ b/source/blender/compositor/nodes/COM_DirectionalBlurNode.cpp @@ -36,7 +36,7 @@ void DirectionalBlurNode::convertToOperations(ExecutionSystem *graph, Compositor DirectionalBlurOperation *operation = new DirectionalBlurOperation(); operation->setQuality(context->getQuality()); operation->setData(data); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket()); graph->addOperation(operation); } diff --git a/source/blender/compositor/nodes/COM_DisplaceNode.cpp b/source/blender/compositor/nodes/COM_DisplaceNode.cpp index 5fe9591bfd4..9604db378bc 100644 --- a/source/blender/compositor/nodes/COM_DisplaceNode.cpp +++ b/source/blender/compositor/nodes/COM_DisplaceNode.cpp @@ -36,10 +36,10 @@ void DisplaceNode::convertToOperations(ExecutionSystem *graph, CompositorContext else operation = new DisplaceOperation(); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph); - this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2), true, 2, graph); - this->getInputSocket(3)->relinkConnections(operation->getInputSocket(3), true, 3, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph); + this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2), 2, graph); + this->getInputSocket(3)->relinkConnections(operation->getInputSocket(3), 3, graph); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket()); graph->addOperation(operation); diff --git a/source/blender/compositor/nodes/COM_DistanceMatteNode.cpp b/source/blender/compositor/nodes/COM_DistanceMatteNode.cpp index 3fc4a882eaf..d7b4e481ec2 100644 --- a/source/blender/compositor/nodes/COM_DistanceMatteNode.cpp +++ b/source/blender/compositor/nodes/COM_DistanceMatteNode.cpp @@ -38,8 +38,8 @@ void DistanceMatteNode::convertToOperations(ExecutionSystem *graph, CompositorCo bNode *editorsnode = getbNode(); operation->setSettings((NodeChroma*)editorsnode->storage); - inputSocketImage->relinkConnections(operation->getInputSocket(0), true, 0, graph); - inputSocketKey->relinkConnections(operation->getInputSocket(1), true, 1, graph); + inputSocketImage->relinkConnections(operation->getInputSocket(0), 0, graph); + inputSocketKey->relinkConnections(operation->getInputSocket(1), 1, graph); if (outputSocketMatte->isConnected()) { outputSocketMatte->relinkConnections(operation->getOutputSocket()); diff --git a/source/blender/compositor/nodes/COM_DoubleEdgeMaskNode.cpp b/source/blender/compositor/nodes/COM_DoubleEdgeMaskNode.cpp index 1ac273a52cb..ab9e101dad8 100644 --- a/source/blender/compositor/nodes/COM_DoubleEdgeMaskNode.cpp +++ b/source/blender/compositor/nodes/COM_DoubleEdgeMaskNode.cpp @@ -38,8 +38,8 @@ void DoubleEdgeMaskNode::convertToOperations(ExecutionSystem *system, Compositor operation->setAdjecentOnly(bnode->custom1); operation->setKeepInside(bnode->custom2); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, system); - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, system); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, system); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, system); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0)); system->addOperation(operation); } diff --git a/source/blender/compositor/nodes/COM_EllipseMaskNode.cpp b/source/blender/compositor/nodes/COM_EllipseMaskNode.cpp index 7e327a306b6..f5003c4be94 100644 --- a/source/blender/compositor/nodes/COM_EllipseMaskNode.cpp +++ b/source/blender/compositor/nodes/COM_EllipseMaskNode.cpp @@ -34,8 +34,8 @@ void EllipseMaskNode::convertToOperations(ExecutionSystem *graph, CompositorCont EllipseMaskOperation *operation; operation = new EllipseMaskOperation(); operation->setData((NodeEllipseMask*)this->getbNode()->storage); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0)); operation->setMaskType(this->getbNode()->custom1); diff --git a/source/blender/compositor/nodes/COM_FilterNode.cpp b/source/blender/compositor/nodes/COM_FilterNode.cpp index a1d405c0dff..bdba69dc47d 100644 --- a/source/blender/compositor/nodes/COM_FilterNode.cpp +++ b/source/blender/compositor/nodes/COM_FilterNode.cpp @@ -73,8 +73,8 @@ void FilterNode::convertToOperations(ExecutionSystem *graph, CompositorContext * break; } - inputImageSocket->relinkConnections(operation->getInputSocket(0), true, 1, graph); - inputSocket->relinkConnections(operation->getInputSocket(1), true, 0, graph); + inputImageSocket->relinkConnections(operation->getInputSocket(0), 1, graph); + inputSocket->relinkConnections(operation->getInputSocket(1), 0, graph); outputSocket->relinkConnections(operation->getOutputSocket()); addPreviewOperation(graph, operation->getOutputSocket(0), 5); diff --git a/source/blender/compositor/nodes/COM_FlipNode.cpp b/source/blender/compositor/nodes/COM_FlipNode.cpp index a4924aaae40..0830c757833 100644 --- a/source/blender/compositor/nodes/COM_FlipNode.cpp +++ b/source/blender/compositor/nodes/COM_FlipNode.cpp @@ -49,7 +49,7 @@ void FlipNode::convertToOperations(ExecutionSystem *graph, CompositorContext * c break; } - inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph); + inputSocket->relinkConnections(operation->getInputSocket(0), 0, graph); outputSocket->relinkConnections(operation->getOutputSocket(0)); graph->addOperation(operation); } diff --git a/source/blender/compositor/nodes/COM_GammaNode.cpp b/source/blender/compositor/nodes/COM_GammaNode.cpp index e5391e54e72..58b05607618 100644 --- a/source/blender/compositor/nodes/COM_GammaNode.cpp +++ b/source/blender/compositor/nodes/COM_GammaNode.cpp @@ -33,8 +33,8 @@ void GammaNode::convertToOperations(ExecutionSystem *graph, CompositorContext * { GammaOperation *operation = new GammaOperation(); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0)); graph->addOperation(operation); } diff --git a/source/blender/compositor/nodes/COM_GlareNode.cpp b/source/blender/compositor/nodes/COM_GlareNode.cpp index c65adc862b1..9382e726d76 100644 --- a/source/blender/compositor/nodes/COM_GlareNode.cpp +++ b/source/blender/compositor/nodes/COM_GlareNode.cpp @@ -23,12 +23,12 @@ #include "COM_GlareNode.h" #include "DNA_node_types.h" #include "COM_FogGlowImageOperation.h" -#include "COM_BokehBlurOperation.h" #include "COM_GlareThresholdOperation.h" #include "COM_GlareSimpleStarOperation.h" #include "COM_GlareStreaksOperation.h" #include "COM_SetValueOperation.h" #include "COM_MixBlendOperation.h" +#include "COM_FastGaussianBlurOperation.h" GlareNode::GlareNode(bNode *editorNode): Node(editorNode) { @@ -49,7 +49,7 @@ void GlareNode::convertToOperations(ExecutionSystem *system, CompositorContext * SetValueOperation * mixvalueoperation = new SetValueOperation(); MixBlendOperation * mixoperation = new MixBlendOperation(); - this->getInputSocket(0)->relinkConnections(thresholdOperation->getInputSocket(0), true, 0, system); + this->getInputSocket(0)->relinkConnections(thresholdOperation->getInputSocket(0), 0, system); addLink(system, thresholdOperation->getOutputSocket(), glareoperation->getInputSocket(0)); addLink(system, mixvalueoperation->getOutputSocket(), mixoperation->getInputSocket(0)); addLink(system, glareoperation->getOutputSocket(), mixoperation->getInputSocket(2)); @@ -70,29 +70,31 @@ void GlareNode::convertToOperations(ExecutionSystem *system, CompositorContext * case 1: // fog glow { GlareThresholdOperation *thresholdOperation = new GlareThresholdOperation(); - FogGlowImageOperation * kerneloperation = new FogGlowImageOperation(); - BokehBlurOperation * bluroperation = new BokehBlurOperation(); + FastGaussianBlurOperation* bluroperation = new FastGaussianBlurOperation(); SetValueOperation * valueoperation = new SetValueOperation(); SetValueOperation * mixvalueoperation = new SetValueOperation(); MixBlendOperation * mixoperation = new MixBlendOperation(); mixoperation->setResolutionInputSocketIndex(1); - this->getInputSocket(0)->relinkConnections(thresholdOperation->getInputSocket(0), true, 0, system); + this->getInputSocket(0)->relinkConnections(thresholdOperation->getInputSocket(0), 0, system); addLink(system, thresholdOperation->getOutputSocket(), bluroperation->getInputSocket(0)); - addLink(system, kerneloperation->getOutputSocket(), bluroperation->getInputSocket(1)); - addLink(system, valueoperation->getOutputSocket(), bluroperation->getInputSocket(2)); + addLink(system, valueoperation->getOutputSocket(), bluroperation->getInputSocket(1)); addLink(system, mixvalueoperation->getOutputSocket(), mixoperation->getInputSocket(0)); addLink(system, bluroperation->getOutputSocket(), mixoperation->getInputSocket(2)); addLink(system, thresholdOperation->getInputSocket(0)->getConnection()->getFromSocket(), mixoperation->getInputSocket(1)); thresholdOperation->setThreshold(glare->threshold); - bluroperation->setSize(0.003f*glare->size); + NodeBlurData * data = new NodeBlurData(); + data->relative = 0; + data->sizex = glare->size; + data->sizey = glare->size; + bluroperation->setData(data); + bluroperation->deleteDataWhenFinished(); bluroperation->setQuality(context->getQuality()); valueoperation->setValue(1.0f); mixvalueoperation->setValue(0.5f+glare->mix*0.5f); this->getOutputSocket()->relinkConnections(mixoperation->getOutputSocket()); system->addOperation(bluroperation); - system->addOperation(kerneloperation); system->addOperation(thresholdOperation); system->addOperation(mixvalueoperation); system->addOperation(valueoperation); @@ -107,7 +109,7 @@ void GlareNode::convertToOperations(ExecutionSystem *system, CompositorContext * SetValueOperation * mixvalueoperation = new SetValueOperation(); MixBlendOperation * mixoperation = new MixBlendOperation(); - this->getInputSocket(0)->relinkConnections(thresholdOperation->getInputSocket(0), true, 0, system); + this->getInputSocket(0)->relinkConnections(thresholdOperation->getInputSocket(0), 0, system); addLink(system, thresholdOperation->getOutputSocket(), glareoperation->getInputSocket(0)); addLink(system, mixvalueoperation->getOutputSocket(), mixoperation->getInputSocket(0)); addLink(system, glareoperation->getOutputSocket(), mixoperation->getInputSocket(2)); diff --git a/source/blender/compositor/nodes/COM_GroupNode.cpp b/source/blender/compositor/nodes/COM_GroupNode.cpp index 67e829a5cf6..076d4f1501a 100644 --- a/source/blender/compositor/nodes/COM_GroupNode.cpp +++ b/source/blender/compositor/nodes/COM_GroupNode.cpp @@ -47,12 +47,12 @@ void GroupNode::ungroup(ExecutionSystem &system) if (editorInput->groupsock) { if (inputSocket->isConnected()) { SocketProxyNode * proxy = new SocketProxyNode(this->getbNode(), editorInput, editorInput->groupsock); - inputSocket->relinkConnections(proxy->getInputSocket(0), true, index, &system); + inputSocket->relinkConnections(proxy->getInputSocket(0), index, &system); ExecutionSystemHelper::addNode(system.getNodes(), proxy); } else { OutputSocketProxyNode * proxy = new OutputSocketProxyNode(this->getbNode(), editorInput, editorInput->groupsock); - inputSocket->relinkConnections(proxy->getInputSocket(0), true, index, &system); + inputSocket->relinkConnections(proxy->getInputSocket(0), index, &system); ExecutionSystemHelper::addNode(system.getNodes(), proxy); } } diff --git a/source/blender/compositor/nodes/COM_HueSaturationValueCorrectNode.cpp b/source/blender/compositor/nodes/COM_HueSaturationValueCorrectNode.cpp index 80c786ef6d7..ae96a8c9fb8 100644 --- a/source/blender/compositor/nodes/COM_HueSaturationValueCorrectNode.cpp +++ b/source/blender/compositor/nodes/COM_HueSaturationValueCorrectNode.cpp @@ -51,12 +51,12 @@ void HueSaturationValueCorrectNode::convertToOperations(ExecutionSystem *graph, HueSaturationValueCorrectOperation *changeHSV = new HueSaturationValueCorrectOperation(); MixBlendOperation * blend = new MixBlendOperation(); - colourSocket->relinkConnections(rgbToHSV->getInputSocket(0), true, 0, graph); + colourSocket->relinkConnections(rgbToHSV->getInputSocket(0), 1, graph); addLink(graph, rgbToHSV->getOutputSocket(), changeHSV->getInputSocket(0)); addLink(graph, changeHSV->getOutputSocket(), hsvToRGB->getInputSocket(0)); addLink(graph, hsvToRGB->getOutputSocket(), blend->getInputSocket(2)); addLink(graph, rgbToHSV->getInputSocket(0)->getConnection()->getFromSocket(), blend->getInputSocket(1)); - valueSocket->relinkConnections(blend->getInputSocket(0), true, 0, graph); + valueSocket->relinkConnections(blend->getInputSocket(0), 0, graph); outputSocket->relinkConnections(blend->getOutputSocket()); changeHSV->setCurveMapping(storage); diff --git a/source/blender/compositor/nodes/COM_HueSaturationValueNode.cpp b/source/blender/compositor/nodes/COM_HueSaturationValueNode.cpp index d78592884c6..32c7d4719a4 100644 --- a/source/blender/compositor/nodes/COM_HueSaturationValueNode.cpp +++ b/source/blender/compositor/nodes/COM_HueSaturationValueNode.cpp @@ -49,12 +49,12 @@ void HueSaturationValueNode::convertToOperations(ExecutionSystem *graph, Composi ChangeHSVOperation *changeHSV = new ChangeHSVOperation(); MixBlendOperation * blend = new MixBlendOperation(); - colourSocket->relinkConnections(rgbToHSV->getInputSocket(0), true, 0, graph); + colourSocket->relinkConnections(rgbToHSV->getInputSocket(0), 0, graph); addLink(graph, rgbToHSV->getOutputSocket(), changeHSV->getInputSocket(0)); addLink(graph, changeHSV->getOutputSocket(), hsvToRGB->getInputSocket(0)); addLink(graph, hsvToRGB->getOutputSocket(), blend->getInputSocket(2)); addLink(graph, rgbToHSV->getInputSocket(0)->getConnection()->getFromSocket(), blend->getInputSocket(1)); - valueSocket->relinkConnections(blend->getInputSocket(0), true, 0, graph); + valueSocket->relinkConnections(blend->getInputSocket(0), 0, graph); outputSocket->relinkConnections(blend->getOutputSocket()); changeHSV->setHue(storage->hue); diff --git a/source/blender/compositor/nodes/COM_IDMaskNode.cpp b/source/blender/compositor/nodes/COM_IDMaskNode.cpp index ea9e279009c..82d3ae8ca29 100644 --- a/source/blender/compositor/nodes/COM_IDMaskNode.cpp +++ b/source/blender/compositor/nodes/COM_IDMaskNode.cpp @@ -36,7 +36,7 @@ void IDMaskNode::convertToOperations(ExecutionSystem *graph, CompositorContext * operation = new IDMaskOperation(); operation->setObjectIndex(bnode->custom1); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0)); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); if (bnode->custom2==0 || context->getScene()->r.scemode & R_FULL_SAMPLE) { this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0)); } diff --git a/source/blender/compositor/nodes/COM_InvertNode.cpp b/source/blender/compositor/nodes/COM_InvertNode.cpp index 616a63ae948..5d039239fbe 100644 --- a/source/blender/compositor/nodes/COM_InvertNode.cpp +++ b/source/blender/compositor/nodes/COM_InvertNode.cpp @@ -37,8 +37,8 @@ void InvertNode::convertToOperations(ExecutionSystem *graph, CompositorContext * operation->setColor(node->custom1 & CMP_CHAN_RGB); operation->setAlpha(node->custom1 & CMP_CHAN_A); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0),true, 0, graph); - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1),true, 1, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0)); graph->addOperation(operation); } diff --git a/source/blender/compositor/nodes/COM_LensDistortionNode.cpp b/source/blender/compositor/nodes/COM_LensDistortionNode.cpp index 5719f31180b..e55dd5e64d8 100644 --- a/source/blender/compositor/nodes/COM_LensDistortionNode.cpp +++ b/source/blender/compositor/nodes/COM_LensDistortionNode.cpp @@ -37,7 +37,7 @@ void LensDistortionNode::convertToOperations(ExecutionSystem *graph, CompositorC if (data->proj) { ProjectorLensDistortionOperation *operation = new ProjectorLensDistortionOperation(); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); operation->setDispertion(this->getInputSocket(2)->getStaticValues()[0]); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0)); @@ -48,7 +48,7 @@ void LensDistortionNode::convertToOperations(ExecutionSystem *graph, CompositorC else { ScreenLensDistortionOperation *operation = new ScreenLensDistortionOperation(); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); operation->setDistortion(this->getInputSocket(1)->getStaticValues()[0]); operation->setDispertion(this->getInputSocket(2)->getStaticValues()[0]); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0)); diff --git a/source/blender/compositor/nodes/COM_LuminanceMatteNode.cpp b/source/blender/compositor/nodes/COM_LuminanceMatteNode.cpp index 8c9ebeed1cf..eb78657f3c4 100644 --- a/source/blender/compositor/nodes/COM_LuminanceMatteNode.cpp +++ b/source/blender/compositor/nodes/COM_LuminanceMatteNode.cpp @@ -39,7 +39,7 @@ void LuminanceMatteNode::convertToOperations(ExecutionSystem *graph, CompositorC bNode *editorsnode = getbNode(); operationSet->setSettings((NodeChroma*)editorsnode->storage); - inputSocket->relinkConnections(rgbToYUV->getInputSocket(0), true, 0, graph); + inputSocket->relinkConnections(rgbToYUV->getInputSocket(0), 0, graph); addLink(graph, rgbToYUV->getOutputSocket(), operationSet->getInputSocket(0)); if (outputSocketMatte->isConnected()) { diff --git a/source/blender/compositor/nodes/COM_MapUVNode.cpp b/source/blender/compositor/nodes/COM_MapUVNode.cpp index 32db5ac13a8..e0e7e2594ed 100644 --- a/source/blender/compositor/nodes/COM_MapUVNode.cpp +++ b/source/blender/compositor/nodes/COM_MapUVNode.cpp @@ -31,8 +31,8 @@ void MapUVNode::convertToOperations(ExecutionSystem *graph, CompositorContext * { MapUVOperation *operation = new MapUVOperation(); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket()); bNode *node = this->getbNode(); diff --git a/source/blender/compositor/nodes/COM_MapValueNode.cpp b/source/blender/compositor/nodes/COM_MapValueNode.cpp index 4ca93113dd5..f56662b1d64 100644 --- a/source/blender/compositor/nodes/COM_MapValueNode.cpp +++ b/source/blender/compositor/nodes/COM_MapValueNode.cpp @@ -36,7 +36,7 @@ void MapValueNode::convertToOperations(ExecutionSystem *graph, CompositorContext TexMapping *storage = (TexMapping*)this->getbNode()->storage; MapValueOperation *convertProg = new MapValueOperation(); convertProg->setSettings(storage); - colourSocket->relinkConnections(convertProg->getInputSocket(0), true, 0, graph); + colourSocket->relinkConnections(convertProg->getInputSocket(0), 0, graph); valueSocket->relinkConnections(convertProg->getOutputSocket(0)); graph->addOperation(convertProg); } diff --git a/source/blender/compositor/nodes/COM_MathNode.cpp b/source/blender/compositor/nodes/COM_MathNode.cpp index a5c4aa01721..eabd0481e38 100644 --- a/source/blender/compositor/nodes/COM_MathNode.cpp +++ b/source/blender/compositor/nodes/COM_MathNode.cpp @@ -84,8 +84,8 @@ void MathNode::convertToOperations(ExecutionSystem *graph, CompositorContext * c } if (operation != NULL) { - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket()); graph->addOperation(operation); diff --git a/source/blender/compositor/nodes/COM_MixNode.cpp b/source/blender/compositor/nodes/COM_MixNode.cpp index 63ab83834f2..86ca5ebc237 100644 --- a/source/blender/compositor/nodes/COM_MixNode.cpp +++ b/source/blender/compositor/nodes/COM_MixNode.cpp @@ -121,9 +121,9 @@ void MixNode::convertToOperations(ExecutionSystem *graph, CompositorContext * co } convertProg->setUseValueAlphaMultiply(this->getbNode()->custom2); - valueSocket->relinkConnections(convertProg->getInputSocket(0), true, 0, graph); - color1Socket->relinkConnections(convertProg->getInputSocket(1), true, 1, graph); - color2Socket->relinkConnections(convertProg->getInputSocket(2), true, 2, graph); + valueSocket->relinkConnections(convertProg->getInputSocket(0), 0, graph); + color1Socket->relinkConnections(convertProg->getInputSocket(1), 1, graph); + color2Socket->relinkConnections(convertProg->getInputSocket(2), 2, graph); outputSocket->relinkConnections(convertProg->getOutputSocket(0)); addPreviewOperation(graph, convertProg->getOutputSocket(0), 5); diff --git a/source/blender/compositor/nodes/COM_MovieClipNode.cpp b/source/blender/compositor/nodes/COM_MovieClipNode.cpp index 0bddd328007..75831130936 100644 --- a/source/blender/compositor/nodes/COM_MovieClipNode.cpp +++ b/source/blender/compositor/nodes/COM_MovieClipNode.cpp @@ -30,6 +30,7 @@ extern "C" { #include "DNA_movieclip_types.h" #include "BKE_movieclip.h" #include "BKE_tracking.h" + #include "IMB_imbuf.h" } MovieClipNode::MovieClipNode(bNode *editorNode): Node(editorNode) @@ -118,4 +119,8 @@ void MovieClipNode::convertToOperations(ExecutionSystem *graph, CompositorContex angleMovieClip->relinkConnections(operationSetValue->getOutputSocket()); graph->addOperation(operationSetValue); } + + if (ibuf) { + IMB_freeImBuf(ibuf); + } } diff --git a/source/blender/compositor/nodes/COM_MovieDistortionNode.cpp b/source/blender/compositor/nodes/COM_MovieDistortionNode.cpp index 82949fe10f9..bdf4c53fa72 100644 --- a/source/blender/compositor/nodes/COM_MovieDistortionNode.cpp +++ b/source/blender/compositor/nodes/COM_MovieDistortionNode.cpp @@ -39,8 +39,9 @@ void MovieDistortionNode::convertToOperations(ExecutionSystem *system, Composito MovieDistortionOperation * operation = new MovieDistortionOperation(bnode->custom1 == 1); operation->setMovieClip(clip); + operation->setFramenumber(context->getFramenumber()); - inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, system); + inputSocket->relinkConnections(operation->getInputSocket(0), 0, system); outputSocket->relinkConnections(operation->getOutputSocket(0)); system->addOperation(operation); } diff --git a/source/blender/compositor/nodes/COM_NormalNode.cpp b/source/blender/compositor/nodes/COM_NormalNode.cpp index 58b6ba1f410..0b1faafe302 100644 --- a/source/blender/compositor/nodes/COM_NormalNode.cpp +++ b/source/blender/compositor/nodes/COM_NormalNode.cpp @@ -50,7 +50,7 @@ void NormalNode::convertToOperations(ExecutionSystem *graph, CompositorContext * if (outputSocketDotproduct->isConnected()) { DotproductOperation *operation = new DotproductOperation(); outputSocketDotproduct->relinkConnections(operation->getOutputSocket(0)); - inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph); + inputSocket->relinkConnections(operation->getInputSocket(0), 0, graph); addLink(graph, operationSet->getOutputSocket(0), operation->getInputSocket(1)); graph->addOperation(operation); } diff --git a/source/blender/compositor/nodes/COM_NormalizeNode.cpp b/source/blender/compositor/nodes/COM_NormalizeNode.cpp index f3fe8579a86..11173b3a73f 100644 --- a/source/blender/compositor/nodes/COM_NormalizeNode.cpp +++ b/source/blender/compositor/nodes/COM_NormalizeNode.cpp @@ -31,7 +31,7 @@ void NormalizeNode::convertToOperations(ExecutionSystem *graph, CompositorContex { NormalizeOperation *operation = new NormalizeOperation(); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0)); graph->addOperation(operation); diff --git a/source/blender/compositor/nodes/COM_RotateNode.cpp b/source/blender/compositor/nodes/COM_RotateNode.cpp index f5fdf19398d..48acc567739 100644 --- a/source/blender/compositor/nodes/COM_RotateNode.cpp +++ b/source/blender/compositor/nodes/COM_RotateNode.cpp @@ -53,8 +53,8 @@ void RotateNode::convertToOperations(ExecutionSystem *system, CompositorContext addLink(system, sampler->getOutputSocket(), operation->getInputSocket(0)); - inputSocket->relinkConnections(sampler->getInputSocket(0), true, 0, system); - inputDegreeSocket->relinkConnections(operation->getInputSocket(1), true, 1, system); + inputSocket->relinkConnections(sampler->getInputSocket(0), 0, system); + inputDegreeSocket->relinkConnections(operation->getInputSocket(1), 1, system); outputSocket->relinkConnections(operation->getOutputSocket(0)); system->addOperation(sampler); system->addOperation(operation); diff --git a/source/blender/compositor/nodes/COM_ScaleNode.cpp b/source/blender/compositor/nodes/COM_ScaleNode.cpp index fe5862da018..d709781299f 100644 --- a/source/blender/compositor/nodes/COM_ScaleNode.cpp +++ b/source/blender/compositor/nodes/COM_ScaleNode.cpp @@ -42,9 +42,9 @@ void ScaleNode::convertToOperations(ExecutionSystem *graph, CompositorContext * case CMP_SCALE_RELATIVE: { ScaleOperation *operation = new ScaleOperation(); - inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph); - inputXSocket->relinkConnections(operation->getInputSocket(1), true, 1, graph); - inputYSocket->relinkConnections(operation->getInputSocket(2), true, 2, graph); + inputSocket->relinkConnections(operation->getInputSocket(0), 0, graph); + inputXSocket->relinkConnections(operation->getInputSocket(1), 1, graph); + inputYSocket->relinkConnections(operation->getInputSocket(2), 2, graph); outputSocket->relinkConnections(operation->getOutputSocket(0)); graph->addOperation(operation); } @@ -53,7 +53,7 @@ void ScaleNode::convertToOperations(ExecutionSystem *graph, CompositorContext * SetValueOperation * scaleFactorOperation = new SetValueOperation(); scaleFactorOperation->setValue(context->getScene()->r.size/100.0f); ScaleOperation * operation = new ScaleOperation(); - inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph); + inputSocket->relinkConnections(operation->getInputSocket(0), 0, graph); addLink(graph, scaleFactorOperation->getOutputSocket(), operation->getInputSocket(1)); addLink(graph, scaleFactorOperation->getOutputSocket(), operation->getInputSocket(2)); outputSocket->relinkConnections(operation->getOutputSocket(0)); @@ -67,7 +67,7 @@ void ScaleNode::convertToOperations(ExecutionSystem *graph, CompositorContext * ScaleFixedSizeOperation * operation = new ScaleFixedSizeOperation(); operation->setNewWidth(data->xsch*data->size/100.0f); operation->setNewHeight(data->ysch*data->size/100.0f); - inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph); + inputSocket->relinkConnections(operation->getInputSocket(0), 0, graph); outputSocket->relinkConnections(operation->getOutputSocket(0)); operation->getInputSocket(0)->getConnection()->setIgnoreResizeCheck(true); graph->addOperation(operation); @@ -77,9 +77,9 @@ void ScaleNode::convertToOperations(ExecutionSystem *graph, CompositorContext * case CMP_SCALE_ABSOLUTE: { ScaleAbsoluteOperation *operation = new ScaleAbsoluteOperation(); // TODO: what is the use of this one.... perhaps some issues when the ui was updated.... - inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph); - inputXSocket->relinkConnections(operation->getInputSocket(1), true, 1, graph); - inputYSocket->relinkConnections(operation->getInputSocket(2), true, 2, graph); + inputSocket->relinkConnections(operation->getInputSocket(0), 0, graph); + inputXSocket->relinkConnections(operation->getInputSocket(1), 1, graph); + inputYSocket->relinkConnections(operation->getInputSocket(2), 2, graph); outputSocket->relinkConnections(operation->getOutputSocket(0)); graph->addOperation(operation); } diff --git a/source/blender/compositor/nodes/COM_SeparateRGBANode.cpp b/source/blender/compositor/nodes/COM_SeparateRGBANode.cpp index 7079762d465..dd154fe604d 100644 --- a/source/blender/compositor/nodes/COM_SeparateRGBANode.cpp +++ b/source/blender/compositor/nodes/COM_SeparateRGBANode.cpp @@ -44,28 +44,28 @@ void SeparateRGBANode::convertToOperations(ExecutionSystem *graph, CompositorCon if (outputRSocket->isConnected()) { SeparateChannelOperation *operation = new SeparateChannelOperation(); operation->setChannel(0); - imageSocket->relinkConnections(operation->getInputSocket(0), true, 0, true, graph); + imageSocket->relinkConnectionsDuplicate(operation->getInputSocket(0), 0, graph); outputRSocket->relinkConnections(operation->getOutputSocket(0)); graph->addOperation(operation); } if (outputGSocket->isConnected()) { SeparateChannelOperation *operation = new SeparateChannelOperation(); operation->setChannel(1); - imageSocket->relinkConnections(operation->getInputSocket(0), true, 0, true, graph); + imageSocket->relinkConnectionsDuplicate(operation->getInputSocket(0), 0, graph); outputGSocket->relinkConnections(operation->getOutputSocket(0)); graph->addOperation(operation); } if (outputBSocket->isConnected()) { SeparateChannelOperation *operation = new SeparateChannelOperation(); operation->setChannel(2); - imageSocket->relinkConnections(operation->getInputSocket(0), true, 0, true, graph); + imageSocket->relinkConnectionsDuplicate(operation->getInputSocket(0), 0, graph); outputBSocket->relinkConnections(operation->getOutputSocket(0)); graph->addOperation(operation); } if (outputASocket->isConnected()) { SeparateChannelOperation *operation = new SeparateChannelOperation(); operation->setChannel(3); - imageSocket->relinkConnections(operation->getInputSocket(0), true, 0, true, graph); + imageSocket->relinkConnectionsDuplicate(operation->getInputSocket(0), 0, graph); outputASocket->relinkConnections(operation->getOutputSocket(0)); graph->addOperation(operation); } diff --git a/source/blender/compositor/nodes/COM_SetAlphaNode.cpp b/source/blender/compositor/nodes/COM_SetAlphaNode.cpp index 90db6682184..1d09b81c4d2 100644 --- a/source/blender/compositor/nodes/COM_SetAlphaNode.cpp +++ b/source/blender/compositor/nodes/COM_SetAlphaNode.cpp @@ -28,8 +28,8 @@ void SetAlphaNode::convertToOperations(ExecutionSystem *graph, CompositorContext { SetAlphaOperation *operation = new SetAlphaOperation(); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 0, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, graph); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket()); graph->addOperation(operation); diff --git a/source/blender/compositor/nodes/COM_SplitViewerNode.cpp b/source/blender/compositor/nodes/COM_SplitViewerNode.cpp index d1a2cccf758..9f9efbd8fe5 100644 --- a/source/blender/compositor/nodes/COM_SplitViewerNode.cpp +++ b/source/blender/compositor/nodes/COM_SplitViewerNode.cpp @@ -43,8 +43,8 @@ void SplitViewerNode::convertToOperations(ExecutionSystem *graph, CompositorCont splitViewerOperation->setActive(this->getbNode()->flag & NODE_DO_OUTPUT); splitViewerOperation->setSplitPercentage(this->getbNode()->custom1); splitViewerOperation->setXSplit(!this->getbNode()->custom2); - image1Socket->relinkConnections(splitViewerOperation->getInputSocket(0), true, 1, graph); - image2Socket->relinkConnections(splitViewerOperation->getInputSocket(1), true, 1, graph); + image1Socket->relinkConnections(splitViewerOperation->getInputSocket(0), 0, graph); + image2Socket->relinkConnections(splitViewerOperation->getInputSocket(1), 1, graph); addPreviewOperation(graph, splitViewerOperation->getInputSocket(0), 0); graph->addOperation(splitViewerOperation); } diff --git a/source/blender/compositor/nodes/COM_Stabilize2dNode.cpp b/source/blender/compositor/nodes/COM_Stabilize2dNode.cpp index 047b4fa4bf6..7234e71a43c 100644 --- a/source/blender/compositor/nodes/COM_Stabilize2dNode.cpp +++ b/source/blender/compositor/nodes/COM_Stabilize2dNode.cpp @@ -65,7 +65,7 @@ void Stabilize2dNode::convertToOperations(ExecutionSystem *graph, CompositorCont yAttribute->setFramenumber(context->getFramenumber()); yAttribute->setMovieClip(clip); - imageInput->relinkConnections(scaleOperation->getInputSocket(0), true, 0, graph); + imageInput->relinkConnections(scaleOperation->getInputSocket(0), 0, graph); addLink(graph, scaleAttribute->getOutputSocket(), scaleOperation->getInputSocket(1)); addLink(graph, scaleAttribute->getOutputSocket(), scaleOperation->getInputSocket(2)); diff --git a/source/blender/compositor/nodes/COM_SwitchNode.cpp b/source/blender/compositor/nodes/COM_SwitchNode.cpp index c65d7fbdc61..58c60a96de8 100644 --- a/source/blender/compositor/nodes/COM_SwitchNode.cpp +++ b/source/blender/compositor/nodes/COM_SwitchNode.cpp @@ -35,10 +35,10 @@ void SwitchNode::convertToOperations(ExecutionSystem *graph, CompositorContext * int switchFrame = this->getbNode()->custom1; if (!switchFrame) { - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); } else { - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(0), true, 1, graph); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(0), 1, graph); } this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket()); diff --git a/source/blender/compositor/nodes/COM_TextureNode.cpp b/source/blender/compositor/nodes/COM_TextureNode.cpp index 0f9a2ca4c26..be8bb623f4c 100644 --- a/source/blender/compositor/nodes/COM_TextureNode.cpp +++ b/source/blender/compositor/nodes/COM_TextureNode.cpp @@ -34,9 +34,10 @@ void TextureNode::convertToOperations(ExecutionSystem *system, CompositorContext Tex *texture = (Tex*)editorNode->id; TextureOperation *operation = new TextureOperation(); this->getOutputSocket(1)->relinkConnections(operation->getOutputSocket()); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, system); - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, system); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, system); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, system); operation->setTexture(texture); + operation->setScene(context->getScene()); system->addOperation(operation); addPreviewOperation(system, operation->getOutputSocket(), 9); @@ -46,6 +47,7 @@ void TextureNode::convertToOperations(ExecutionSystem *system, CompositorContext addLink(system, operation->getInputSocket(0)->getConnection()->getFromSocket(), alphaOperation->getInputSocket(0)); addLink(system, operation->getInputSocket(1)->getConnection()->getFromSocket(), alphaOperation->getInputSocket(1)); alphaOperation->setTexture(texture); + alphaOperation->setScene(context->getScene()); system->addOperation(alphaOperation); } } diff --git a/source/blender/compositor/nodes/COM_TonemapNode.cpp b/source/blender/compositor/nodes/COM_TonemapNode.cpp index 7e170ea1704..80f02f3edbb 100644 --- a/source/blender/compositor/nodes/COM_TonemapNode.cpp +++ b/source/blender/compositor/nodes/COM_TonemapNode.cpp @@ -35,7 +35,7 @@ void TonemapNode::convertToOperations(ExecutionSystem *system, CompositorContext TonemapOperation *operation = data->type==1?new PhotoreceptorTonemapOperation():new TonemapOperation(); operation->setData(data); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, system); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, system); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0)); system->addOperation(operation); } diff --git a/source/blender/compositor/nodes/COM_TransformNode.cpp b/source/blender/compositor/nodes/COM_TransformNode.cpp index 6762cb0687a..da3e85036a5 100644 --- a/source/blender/compositor/nodes/COM_TransformNode.cpp +++ b/source/blender/compositor/nodes/COM_TransformNode.cpp @@ -57,18 +57,18 @@ void TransformNode::convertToOperations(ExecutionSystem *graph, CompositorContex break; } - imageInput->relinkConnections(sampler->getInputSocket(0), true, 0, graph); + imageInput->relinkConnections(sampler->getInputSocket(0), 0, graph); addLink(graph, sampler->getOutputSocket(), scaleOperation->getInputSocket(0)); - scaleInput->relinkConnections(scaleOperation->getInputSocket(1), true, 4, graph); + scaleInput->relinkConnections(scaleOperation->getInputSocket(1), 4, graph); addLink(graph, scaleOperation->getInputSocket(1)->getConnection()->getFromSocket(), scaleOperation->getInputSocket(2)); // xscale = yscale addLink(graph, scaleOperation->getOutputSocket(), rotateOperation->getInputSocket(0)); rotateOperation->setDoDegree2RadConversion(false); - angleInput->relinkConnections(rotateOperation->getInputSocket(1), true, 3, graph); + angleInput->relinkConnections(rotateOperation->getInputSocket(1), 3, graph); addLink(graph, rotateOperation->getOutputSocket(), translateOperation->getInputSocket(0)); - xInput->relinkConnections(translateOperation->getInputSocket(1), true, 1, graph); - yInput->relinkConnections(translateOperation->getInputSocket(2), true, 2, graph); + xInput->relinkConnections(translateOperation->getInputSocket(1), 1, graph); + yInput->relinkConnections(translateOperation->getInputSocket(2), 2, graph); this->getOutputSocket()->relinkConnections(translateOperation->getOutputSocket()); diff --git a/source/blender/compositor/nodes/COM_TranslateNode.cpp b/source/blender/compositor/nodes/COM_TranslateNode.cpp index f594db3c160..407c6da4e4d 100644 --- a/source/blender/compositor/nodes/COM_TranslateNode.cpp +++ b/source/blender/compositor/nodes/COM_TranslateNode.cpp @@ -37,9 +37,9 @@ void TranslateNode::convertToOperations(ExecutionSystem *graph, CompositorContex OutputSocket *outputSocket = this->getOutputSocket(0); TranslateOperation *operation = new TranslateOperation(); - inputSocket->relinkConnections(operation->getInputSocket(0), true, 0, graph); - inputXSocket->relinkConnections(operation->getInputSocket(1), true, 1, graph); - inputYSocket->relinkConnections(operation->getInputSocket(2), true, 2, graph); + inputSocket->relinkConnections(operation->getInputSocket(0), 0, graph); + inputXSocket->relinkConnections(operation->getInputSocket(1), 1, graph); + inputYSocket->relinkConnections(operation->getInputSocket(2), 2, graph); outputSocket->relinkConnections(operation->getOutputSocket(0)); graph->addOperation(operation); } diff --git a/source/blender/compositor/nodes/COM_VectorBlurNode.cpp b/source/blender/compositor/nodes/COM_VectorBlurNode.cpp index 4baa2315799..596256eb6af 100644 --- a/source/blender/compositor/nodes/COM_VectorBlurNode.cpp +++ b/source/blender/compositor/nodes/COM_VectorBlurNode.cpp @@ -39,9 +39,9 @@ void VectorBlurNode::convertToOperations(ExecutionSystem *system, CompositorCont VectorBlurOperation *operation = new VectorBlurOperation(); operation->setVectorBlurSettings(vectorBlurSettings); operation->setQuality(context->getQuality()); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, system); - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, system); - this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2), true, 2, system); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, system); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, system); + this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2), 2, system); this->getOutputSocket()->relinkConnections(operation->getOutputSocket()); system->addOperation(operation); } diff --git a/source/blender/compositor/nodes/COM_VectorCurveNode.cpp b/source/blender/compositor/nodes/COM_VectorCurveNode.cpp index 2f216b5d5bd..908e1a19f16 100644 --- a/source/blender/compositor/nodes/COM_VectorCurveNode.cpp +++ b/source/blender/compositor/nodes/COM_VectorCurveNode.cpp @@ -33,7 +33,7 @@ void VectorCurveNode::convertToOperations(ExecutionSystem *graph, CompositorCont { VectorCurveOperation *operation = new VectorCurveOperation(); - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, graph); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, graph); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket()); operation->setCurveMapping((CurveMapping*)this->getbNode()->storage); diff --git a/source/blender/compositor/nodes/COM_ViewLevelsNode.cpp b/source/blender/compositor/nodes/COM_ViewLevelsNode.cpp index 9aa922faa5d..cedf81e3f2a 100644 --- a/source/blender/compositor/nodes/COM_ViewLevelsNode.cpp +++ b/source/blender/compositor/nodes/COM_ViewLevelsNode.cpp @@ -41,7 +41,7 @@ void ViewLevelsNode::convertToOperations(ExecutionSystem *graph, CompositorConte if (socket->isConnected()) { // calculate mean operation CalculateMeanOperation * operation = new CalculateMeanOperation(); - input->relinkConnections(operation->getInputSocket(0), true, 0, graph); + input->relinkConnections(operation->getInputSocket(0), 0, graph); firstOperationConnected = true; operation->setSetting(this->getbNode()->custom1); socket->relinkConnections(operation->getOutputSocket()); @@ -56,7 +56,7 @@ void ViewLevelsNode::convertToOperations(ExecutionSystem *graph, CompositorConte addLink(graph, inputSocket, operation->getInputSocket(0)); } else { - input->relinkConnections(operation->getInputSocket(0), true, 0, graph); + input->relinkConnections(operation->getInputSocket(0), 0, graph); } operation->setSetting(this->getbNode()->custom1); socket->relinkConnections(operation->getOutputSocket()); diff --git a/source/blender/compositor/nodes/COM_ViewerNode.cpp b/source/blender/compositor/nodes/COM_ViewerNode.cpp index d518976143d..3282929af52 100644 --- a/source/blender/compositor/nodes/COM_ViewerNode.cpp +++ b/source/blender/compositor/nodes/COM_ViewerNode.cpp @@ -39,8 +39,8 @@ void ViewerNode::convertToOperations(ExecutionSystem *graph, CompositorContext * if (imageSocket->isConnected()) { bNode *editorNode = this->getbNode(); ViewerOperation *viewerOperation = new ViewerOperation(); - viewerOperation->setColorManagement( context->getScene()->r.color_mgt_flag & R_COLOR_MANAGEMENT); - viewerOperation->setColorPredivide( context->getScene()->r.color_mgt_flag & R_COLOR_MANAGEMENT_PREDIVIDE); + viewerOperation->setColorManagement(context->getScene()->r.color_mgt_flag & R_COLOR_MANAGEMENT); + viewerOperation->setColorPredivide(context->getScene()->r.color_mgt_flag & R_COLOR_MANAGEMENT_PREDIVIDE); viewerOperation->setbNodeTree(context->getbNodeTree()); viewerOperation->setImage(image); viewerOperation->setImageUser(imageUser); @@ -48,7 +48,7 @@ void ViewerNode::convertToOperations(ExecutionSystem *graph, CompositorContext * viewerOperation->setChunkOrder((OrderOfChunks)editorNode->custom1); viewerOperation->setCenterX(editorNode->custom3); viewerOperation->setCenterY(editorNode->custom4); - imageSocket->relinkConnections(viewerOperation->getInputSocket(0), true, 0, graph); + imageSocket->relinkConnections(viewerOperation->getInputSocket(0), 0, graph); alphaSocket->relinkConnections(viewerOperation->getInputSocket(1)); graph->addOperation(viewerOperation); addPreviewOperation(graph, viewerOperation->getInputSocket(0), 0); diff --git a/source/blender/compositor/nodes/COM_ZCombineNode.cpp b/source/blender/compositor/nodes/COM_ZCombineNode.cpp index 25d9a6e97d2..2495d1a5ab2 100644 --- a/source/blender/compositor/nodes/COM_ZCombineNode.cpp +++ b/source/blender/compositor/nodes/COM_ZCombineNode.cpp @@ -41,10 +41,10 @@ void ZCombineNode::convertToOperations(ExecutionSystem *system, CompositorContex operation = new ZCombineOperation(); } - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, system); - this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, system); - this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2), true, 2, system); - this->getInputSocket(3)->relinkConnections(operation->getInputSocket(3), true, 3, system); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), 0, system); + this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), 1, system); + this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2), 2, system); + this->getInputSocket(3)->relinkConnections(operation->getInputSocket(3), 3, system); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket()); system->addOperation(operation); if (this->getOutputSocket(1)->isConnected()) { @@ -58,8 +58,8 @@ void ZCombineNode::convertToOperations(ExecutionSystem *system, CompositorContex else { if (this->getOutputSocket(1)->isConnected()) { MathMinimumOperation * zoperation = new MathMinimumOperation(); - this->getInputSocket(1)->relinkConnections(zoperation->getInputSocket(0), true, 1, system); - this->getInputSocket(3)->relinkConnections(zoperation->getInputSocket(1), true, 3, system); + this->getInputSocket(1)->relinkConnections(zoperation->getInputSocket(0), 1, system); + this->getInputSocket(3)->relinkConnections(zoperation->getInputSocket(1), 3, system); this->getOutputSocket(1)->relinkConnections(zoperation->getOutputSocket()); system->addOperation(zoperation); } diff --git a/source/blender/compositor/operations/COM_BokehImageOperation.cpp b/source/blender/compositor/operations/COM_BokehImageOperation.cpp index 4bc738052f6..0279b9a5bdf 100644 --- a/source/blender/compositor/operations/COM_BokehImageOperation.cpp +++ b/source/blender/compositor/operations/COM_BokehImageOperation.cpp @@ -38,7 +38,10 @@ void BokehImageOperation::initExecution() this->circularDistance = getWidth()/2; this->flapRad = (M_PI*2)/this->data->flaps; this->flapRadAdd = (this->data->angle/360.0)*M_PI*2; - if (this->flapRadAdd>M_PI) { + while (this->flapRadAdd<0.0f) { + this->flapRadAdd+=M_PI*2; + } + while (this->flapRadAdd>M_PI) { this->flapRadAdd-=M_PI*2; } } diff --git a/source/blender/compositor/operations/COM_ColorCorrectionOperation.cpp b/source/blender/compositor/operations/COM_ColorCorrectionOperation.cpp index 0a257b22ab8..af28b776892 100644 --- a/source/blender/compositor/operations/COM_ColorCorrectionOperation.cpp +++ b/source/blender/compositor/operations/COM_ColorCorrectionOperation.cpp @@ -64,7 +64,7 @@ void ColorCorrectionOperation::executePixel(float *output, float x, float y, Pix float levelHighlights = 0.0; #define MARGIN 0.10 #define MARGIN_DIV (0.5/MARGIN) - if ( level < this->data->startmidtones-MARGIN) { + if (level < this->data->startmidtones-MARGIN) { levelShadows = 1.0f; } else if (level < this->data->startmidtones+MARGIN) { @@ -95,12 +95,9 @@ void ColorCorrectionOperation::executePixel(float *output, float x, float y, Pix float invgamma = 1.0f/gamma; float luma = 0.2126 * r + 0.7152 * g + 0.0722 * b; - r = ( luma + saturation * (r - luma)); - g = ( luma + saturation * (g - luma)); - b = ( luma + saturation * (b - luma)); - CLAMP (r, 0.0f, 1.0f); - CLAMP (g, 0.0f, 1.0f); - CLAMP (b, 0.0f, 1.0f); + r = (luma + saturation * (r - luma)); + g = (luma + saturation * (g - luma)); + b = (luma + saturation * (b - luma)); r = 0.5+((r-0.5)*contrast); g = 0.5+((g-0.5)*contrast); diff --git a/source/blender/compositor/operations/COM_CompositorOperation.cpp b/source/blender/compositor/operations/COM_CompositorOperation.cpp index ce9484d0d9f..5a919965ede 100644 --- a/source/blender/compositor/operations/COM_CompositorOperation.cpp +++ b/source/blender/compositor/operations/COM_CompositorOperation.cpp @@ -31,7 +31,7 @@ extern "C" { #include "RE_shader_ext.h" #include "RE_render_ext.h" #include "MEM_guardedalloc.h" -#include "render_types.h" + #include "render_types.h" } #include "PIL_time.h" @@ -55,24 +55,32 @@ void CompositorOperation::initExecution() if (this->getWidth() * this->getHeight() != 0) { this->outputBuffer=(float*) MEM_callocN(this->getWidth()*this->getHeight()*4*sizeof(float), "CompositorOperation"); } - const Scene * scene = this->scene; - Render *re = RE_GetRender(scene->id.name); - RenderResult *rr = RE_AcquireResultWrite(re); - if (rr) { - if (rr->rectf != NULL) { - MEM_freeN(rr->rectf); - } - rr->rectf = outputBuffer; - } - if (re) { - RE_ReleaseResult(re); - re = NULL; - } - } void CompositorOperation::deinitExecution() { + if (tree->test_break && !tree->test_break(tree->tbh)) { + const Scene * scene = this->scene; + Render *re = RE_GetRender(scene->id.name); + RenderResult *rr = RE_AcquireResultWrite(re); + if (rr) { + if (rr->rectf != NULL) { + MEM_freeN(rr->rectf); + } + rr->rectf = outputBuffer; + } + if (re) { + RE_ReleaseResult(re); + re = NULL; + } + BKE_image_signal(BKE_image_verify_viewer(IMA_TYPE_R_RESULT, "Render Result"), NULL, IMA_SIGNAL_FREE); + } + else { + if (this->outputBuffer) { + MEM_freeN(this->outputBuffer); + } + } + this->outputBuffer = NULL; this->imageInput = NULL; this->alphaInput = NULL; diff --git a/source/blender/compositor/operations/COM_CompositorOperation.h b/source/blender/compositor/operations/COM_CompositorOperation.h index 39c81b8292a..41d43f896bb 100644 --- a/source/blender/compositor/operations/COM_CompositorOperation.h +++ b/source/blender/compositor/operations/COM_CompositorOperation.h @@ -60,7 +60,7 @@ public: void executeRegion(rcti *rect, unsigned int tileNumber, MemoryBuffer** memoryBuffers); void setScene(const Scene *scene) {this->scene = scene;} void setbNodeTree(const bNodeTree *tree) {this->tree = tree;} - bool isOutputOperation(bool rendering) const {return rendering;} + bool isOutputOperation(bool rendering) const {return true;} void initExecution(); void deinitExecution(); const int getRenderPriority() const {return 7;} diff --git a/source/blender/compositor/operations/COM_ConvertColorToBWOperation.cpp b/source/blender/compositor/operations/COM_ConvertColorToBWOperation.cpp index 4421dec319a..f4be7d2e65b 100644 --- a/source/blender/compositor/operations/COM_ConvertColorToBWOperation.cpp +++ b/source/blender/compositor/operations/COM_ConvertColorToBWOperation.cpp @@ -38,7 +38,7 @@ void ConvertColorToBWOperation::executePixel(float *outputValue, float x, float { float inputColor[4]; inputOperation->read(&inputColor[0], x, y, sampler, inputBuffers); - outputValue[0] = (inputColor[0]*0.35f + inputColor[1]*0.45f + inputColor[2]*0.2f)*inputColor[3]; + outputValue[0] = inputColor[0]*0.35f + inputColor[1]*0.45f + inputColor[2]*0.2f; } void ConvertColorToBWOperation::deinitExecution() diff --git a/source/blender/compositor/operations/COM_ConvertColourToValueProg.cpp b/source/blender/compositor/operations/COM_ConvertColourToValueProg.cpp index 84a33f652cd..0d4f2df22d8 100644 --- a/source/blender/compositor/operations/COM_ConvertColourToValueProg.cpp +++ b/source/blender/compositor/operations/COM_ConvertColourToValueProg.cpp @@ -38,7 +38,7 @@ void ConvertColourToValueProg::executePixel(float *outputValue, float x, float y { float inputColor[4]; inputOperation->read(&inputColor[0], x, y, sampler, inputBuffers); - outputValue[0] = ((inputColor[0] + inputColor[1] + inputColor[2])/3.0f)*inputColor[3]; + outputValue[0] = (inputColor[0] + inputColor[1] + inputColor[2])/3.0f; } void ConvertColourToValueProg::deinitExecution() diff --git a/source/blender/compositor/operations/COM_DilateErodeOperation.cpp b/source/blender/compositor/operations/COM_DilateErodeOperation.cpp index d9c0350eb09..a73f76030ab 100644 --- a/source/blender/compositor/operations/COM_DilateErodeOperation.cpp +++ b/source/blender/compositor/operations/COM_DilateErodeOperation.cpp @@ -23,7 +23,7 @@ #include "COM_DilateErodeOperation.h" #include "BLI_math.h" -DilateErodeOperation::DilateErodeOperation(): NodeOperation() +DilateErodeDistanceOperation::DilateErodeDistanceOperation(): NodeOperation() { this->addInputSocket(COM_DT_VALUE); this->addOutputSocket(COM_DT_VALUE); @@ -33,7 +33,7 @@ DilateErodeOperation::DilateErodeOperation(): NodeOperation() this->_switch = 0.5f; this->distance = 0.0f; } -void DilateErodeOperation::initExecution() +void DilateErodeDistanceOperation::initExecution() { this->inputProgram = this->getInputSocketReader(0); if (this->distance < 0.0f) { @@ -52,13 +52,13 @@ void DilateErodeOperation::initExecution() } } -void *DilateErodeOperation::initializeTileData(rcti *rect, MemoryBuffer **memoryBuffers) +void *DilateErodeDistanceOperation::initializeTileData(rcti *rect, MemoryBuffer **memoryBuffers) { void *buffer = inputProgram->initializeTileData(NULL, memoryBuffers); return buffer; } -void DilateErodeOperation::executePixel(float *color, int x, int y, MemoryBuffer *inputBuffers[], void *data) +void DilateErodeDistanceOperation::executePixel(float *color, int x, int y, MemoryBuffer *inputBuffers[], void *data) { float inputValue[4]; const float sw = this->_switch; @@ -141,12 +141,12 @@ void DilateErodeOperation::executePixel(float *color, int x, int y, MemoryBuffer } } -void DilateErodeOperation::deinitExecution() +void DilateErodeDistanceOperation::deinitExecution() { this->inputProgram = NULL; } -bool DilateErodeOperation::determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output) +bool DilateErodeDistanceOperation::determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output) { rcti newInput; @@ -157,3 +157,152 @@ bool DilateErodeOperation::determineDependingAreaOfInterest(rcti *input, ReadBuf return NodeOperation::determineDependingAreaOfInterest(&newInput, readOperation, output); } + +// Dilate step +DilateStepOperation::DilateStepOperation(): NodeOperation() +{ + this->addInputSocket(COM_DT_VALUE); + this->addOutputSocket(COM_DT_VALUE); + this->setComplex(true); + this->inputProgram = NULL; +} +void DilateStepOperation::initExecution() +{ + this->inputProgram = this->getInputSocketReader(0); + this->cached_buffer = NULL; + this->initMutex(); +} + +void *DilateStepOperation::initializeTileData(rcti *rect, MemoryBuffer **memoryBuffers) +{ + if (this->cached_buffer != NULL) { + return this->cached_buffer; + } + BLI_mutex_lock(getMutex()); + if (this->cached_buffer == NULL) { + MemoryBuffer *buffer = (MemoryBuffer*)inputProgram->initializeTileData(NULL, memoryBuffers); + float *rectf = buffer->convertToValueBuffer(); + int x, y, i; + float *p; + int bwidth = buffer->getWidth(); + int bheight = buffer->getHeight(); + for (i = 0 ; i < this->iterations ; i ++) { + for (y=0; y < bheight; y++) { + for (x=0; x < bwidth-1; x++) { + p = rectf + (bwidth*y + x); + *p = MAX2(*p, *(p + 1)); + } + } + + for (y=0; y < bheight; y++) { + for (x=bwidth-1; x >= 1; x--) { + p = rectf + (bwidth*y + x); + *p = MAX2(*p, *(p - 1)); + } + } + + for (x=0; x < bwidth; x++) { + for (y=0; y < bheight-1; y++) { + p = rectf + (bwidth*y + x); + *p = MAX2(*p, *(p + bwidth)); + } + } + + for (x=0; x < bwidth; x++) { + for (y=bheight-1; y >= 1; y--) { + p = rectf + (bwidth*y + x); + *p = MAX2(*p, *(p - bwidth)); + } + } + } + this->cached_buffer = rectf; + } + BLI_mutex_unlock(getMutex()); + return this->cached_buffer; +} + + +void DilateStepOperation::executePixel(float *color, int x, int y, MemoryBuffer *inputBuffers[], void *data) +{ + color[0] = this->cached_buffer[y*this->getWidth()+x]; +} + +void DilateStepOperation::deinitExecution() +{ + this->inputProgram = NULL; + this->deinitMutex(); + if (this->cached_buffer) { + delete cached_buffer; + this->cached_buffer = NULL; + } +} + +bool DilateStepOperation::determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output) +{ + if (this->cached_buffer) { + return false; + } + else { + rcti newInput; + + newInput.xmax = getWidth(); + newInput.xmin = 0; + newInput.ymax = getHeight(); + newInput.ymin = 0; + + return NodeOperation::determineDependingAreaOfInterest(&newInput, readOperation, output); + } +} + +// Erode step +ErodeStepOperation::ErodeStepOperation(): DilateStepOperation() +{ +} + +void *ErodeStepOperation::initializeTileData(rcti *rect, MemoryBuffer **memoryBuffers) +{ + if (this->cached_buffer != NULL) { + return this->cached_buffer; + } + BLI_mutex_lock(getMutex()); + if (this->cached_buffer == NULL) { + MemoryBuffer *buffer = (MemoryBuffer*)inputProgram->initializeTileData(NULL, memoryBuffers); + float *rectf = buffer->convertToValueBuffer(); + int x, y, i; + float *p; + int bwidth = buffer->getWidth(); + int bheight = buffer->getHeight(); + for (i = 0 ; i < this->iterations ; i ++) { + for (y=0; y < bheight; y++) { + for (x=0; x < bwidth-1; x++) { + p = rectf + (bwidth*y + x); + *p = MIN2(*p, *(p + 1)); + } + } + + for (y=0; y < bheight; y++) { + for (x=bwidth-1; x >= 1; x--) { + p = rectf + (bwidth*y + x); + *p = MIN2(*p, *(p - 1)); + } + } + + for (x=0; x < bwidth; x++) { + for (y=0; y < bheight-1; y++) { + p = rectf + (bwidth*y + x); + *p = MIN2(*p, *(p + bwidth)); + } + } + + for (x=0; x < bwidth; x++) { + for (y=bheight-1; y >= 1; y--) { + p = rectf + (bwidth*y + x); + *p = MIN2(*p, *(p - bwidth)); + } + } + } + this->cached_buffer = rectf; + } + BLI_mutex_unlock(getMutex()); + return this->cached_buffer; +} diff --git a/source/blender/compositor/operations/COM_DilateErodeOperation.h b/source/blender/compositor/operations/COM_DilateErodeOperation.h index 102d1165bc8..7f01ea94494 100644 --- a/source/blender/compositor/operations/COM_DilateErodeOperation.h +++ b/source/blender/compositor/operations/COM_DilateErodeOperation.h @@ -25,7 +25,7 @@ #include "COM_NodeOperation.h" -class DilateErodeOperation : public NodeOperation { +class DilateErodeDistanceOperation : public NodeOperation { private: /** * Cached reference to the inputProgram @@ -42,7 +42,7 @@ private: */ int scope; public: - DilateErodeOperation(); + DilateErodeDistanceOperation(); /** * the inner loop of this program @@ -67,4 +67,46 @@ public: bool determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output); }; + +class DilateStepOperation : public NodeOperation { +protected: + /** + * Cached reference to the inputProgram + */ + SocketReader * inputProgram; + + int iterations; + + float *cached_buffer; +public: + DilateStepOperation(); + + /** + * the inner loop of this program + */ + void executePixel(float *color, int x, int y, MemoryBuffer *inputBuffers[], void *data); + + /** + * Initialize the execution + */ + void initExecution(); + + void *initializeTileData(rcti *rect, MemoryBuffer **memoryBuffers); + /** + * Deinitialize the execution + */ + void deinitExecution(); + + void setIterations(int iterations) {this->iterations = iterations;} + + bool determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output); +}; + +class ErodeStepOperation : public DilateStepOperation { +public: + ErodeStepOperation(); + + void *initializeTileData(rcti *rect, MemoryBuffer **memoryBuffers); +}; + #endif diff --git a/source/blender/compositor/operations/COM_GlareBaseOperation.cpp b/source/blender/compositor/operations/COM_GlareBaseOperation.cpp index 6715d50bb95..fdfd19a10ae 100644 --- a/source/blender/compositor/operations/COM_GlareBaseOperation.cpp +++ b/source/blender/compositor/operations/COM_GlareBaseOperation.cpp @@ -72,10 +72,15 @@ void *GlareBaseOperation::initializeTileData(rcti *rect, MemoryBuffer **memoryBu bool GlareBaseOperation::determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output) { - rcti newInput; - newInput.xmax = this->getWidth(); - newInput.xmin = 0; - newInput.ymax = this->getHeight(); - newInput.ymin = 0; - return NodeOperation::determineDependingAreaOfInterest(&newInput, readOperation, output); + if (this->cachedInstance != NULL) { + return false; + } + else { + rcti newInput; + newInput.xmax = this->getWidth(); + newInput.xmin = 0; + newInput.ymax = this->getHeight(); + newInput.ymin = 0; + return NodeOperation::determineDependingAreaOfInterest(&newInput, readOperation, output); + } } diff --git a/source/blender/compositor/operations/COM_ImageOperation.cpp b/source/blender/compositor/operations/COM_ImageOperation.cpp index be3d9e80337..020dfdbdc14 100644 --- a/source/blender/compositor/operations/COM_ImageOperation.cpp +++ b/source/blender/compositor/operations/COM_ImageOperation.cpp @@ -98,6 +98,10 @@ void BaseImageOperation::deinitExecution() void BaseImageOperation::determineResolution(unsigned int resolution[], unsigned int preferredResolution[]) { ImBuf *stackbuf = getImBuf(); + + resolution[0] = 0; + resolution[1] = 0; + if (stackbuf) { resolution[0] = stackbuf->x; resolution[1] = stackbuf->y; diff --git a/source/blender/compositor/operations/COM_LensGhostOperation.cpp b/source/blender/compositor/operations/COM_LensGhostOperation.cpp index e99bbb536f7..bbf6df6c1e5 100644 --- a/source/blender/compositor/operations/COM_LensGhostOperation.cpp +++ b/source/blender/compositor/operations/COM_LensGhostOperation.cpp @@ -314,24 +314,24 @@ public: float rs01 = -sin(theta0-theta1)/sin(theta0+theta1); float rp01 = tan( theta0-theta1)/tan(theta0+theta1); - float ts01 = 2 * sin ( theta1 ) * cos ( theta0 ) / sin ( theta0+theta1 ) ; + float ts01 = 2 * sin( theta1 ) * cos( theta0 ) / sin( theta0+theta1 ) ; float tp01 = ts01*cos(theta0-theta1); // amplitude for inner reflection - float rs12 = -sin ( theta1-theta2 ) / sin ( theta1+theta2 ) ; - float rp12 = +tan ( theta1-theta2 ) / tan ( theta1+theta2 ) ; + float rs12 = -sin( theta1-theta2 ) / sin( theta1+theta2 ) ; + float rp12 = +tan( theta1-theta2 ) / tan( theta1+theta2 ) ; // after passing through first surface twice : // 2 transmissions and 1 reflection float ris = ts01 * ts01 * rs12 ; float rip = tp01 * tp01 * rp12 ; // phase difference between outer and inner reflections float dy = d1 * n1 ; - float dx = tan ( theta1 ) * dy ; - float delay = sqrt ( dx * dx+dy * dy ) ; - float relPhase = 4 * M_PI / lambda * ( delay-dx * sin ( theta0 ) ) ; + float dx = tan( theta1 ) * dy ; + float delay = sqrt( dx * dx+dy * dy ) ; + float relPhase = 4 * M_PI / lambda * ( delay-dx * sin( theta0 ) ) ; // Add up sines of different phase and amplitude - float out_s2 = rs01 * rs01 + ris * ris + 2 * rs01 * ris * cos ( relPhase ) ; - float out_p2 = rp01 * rp01 + rip * rip + 2 * rp01 * rip * cos ( relPhase ) ; - return ( out_s2+out_p2 ) / 2 ; + float out_s2 = rs01 * rs01 + ris * ris + 2 * rs01 * ris * cos( relPhase ) ; + float out_p2 = rp01 * rp01 + rip * rip + 2 * rp01 * rip * cos( relPhase ) ; + return (out_s2 + out_p2) / 2 ; } void detectHit(Ray *result, Ray *inputRay, Bounce *bounce) { diff --git a/source/blender/compositor/operations/COM_MapUVOperation.h b/source/blender/compositor/operations/COM_MapUVOperation.h index 069f454895d..4d7bc814dc2 100644 --- a/source/blender/compositor/operations/COM_MapUVOperation.h +++ b/source/blender/compositor/operations/COM_MapUVOperation.h @@ -57,6 +57,6 @@ public: */ void deinitExecution(); - void setAlpha(float alpha){this->alpha = alpha;} + void setAlpha(float alpha) { this->alpha = alpha; } }; #endif diff --git a/source/blender/compositor/operations/COM_MathBaseOperation.cpp b/source/blender/compositor/operations/COM_MathBaseOperation.cpp index 2f315855652..3a287cb7239 100644 --- a/source/blender/compositor/operations/COM_MathBaseOperation.cpp +++ b/source/blender/compositor/operations/COM_MathBaseOperation.cpp @@ -174,7 +174,7 @@ void MathPowerOperation::executePixel(float *outputValue, float x, float y, Pixe inputValue1Operation->read(&inputValue1[0], x, y, sampler, inputBuffers); inputValue2Operation->read(&inputValue2[0], x, y, sampler, inputBuffers); - if ( inputValue1[0] >= 0 ) { + if (inputValue1[0] >= 0) { outputValue[0] = pow(inputValue1[0], inputValue2[0]); } else { @@ -197,7 +197,7 @@ void MathLogarithmOperation::executePixel(float *outputValue, float x, float y, inputValue1Operation->read(&inputValue1[0], x, y, sampler, inputBuffers); inputValue2Operation->read(&inputValue2[0], x, y, sampler, inputBuffers); - if ( inputValue1[0] > 0 && inputValue2[0] > 0 ) + if (inputValue1[0] > 0 && inputValue2[0] > 0) outputValue[0] = log(inputValue1[0]) / log(inputValue2[0]); else outputValue[0] = 0.0; diff --git a/source/blender/compositor/operations/COM_MovieClipOperation.cpp b/source/blender/compositor/operations/COM_MovieClipOperation.cpp index 14687133194..b565e48345c 100644 --- a/source/blender/compositor/operations/COM_MovieClipOperation.cpp +++ b/source/blender/compositor/operations/COM_MovieClipOperation.cpp @@ -61,17 +61,27 @@ void MovieClipOperation::initExecution() void MovieClipOperation::deinitExecution() { - this->movieClipBuffer = NULL; + if (this->movieClipBuffer) { + IMB_freeImBuf(this->movieClipBuffer); + + this->movieClipBuffer = NULL; + } } void MovieClipOperation::determineResolution(unsigned int resolution[], unsigned int preferredResolution[]) { ImBuf *ibuf; + + resolution[0] = 0; + resolution[1] = 0; + if (this->movieClip) { ibuf = BKE_movieclip_get_ibuf(this->movieClip, this->movieClipUser); if (ibuf) { resolution[0] = ibuf->x; resolution[1] = ibuf->y; + + IMB_freeImBuf(ibuf); } } } diff --git a/source/blender/compositor/operations/COM_MovieDistortionOperation.cpp b/source/blender/compositor/operations/COM_MovieDistortionOperation.cpp index 1699707ab3a..ebea9e8b4a2 100644 --- a/source/blender/compositor/operations/COM_MovieDistortionOperation.cpp +++ b/source/blender/compositor/operations/COM_MovieDistortionOperation.cpp @@ -24,8 +24,8 @@ extern "C" { #include "BKE_tracking.h" - -#include "BLI_linklist.h" + #include "BKE_movieclip.h" + #include "BLI_linklist.h" } @@ -46,14 +46,23 @@ void MovieDistortionOperation::initExecution() { this->inputOperation = this->getInputSocketReader(0); if (this->movieClip) { + MovieClipUser clipUser = {0}; + int calibration_width, calibration_height; + + BKE_movieclip_user_set_frame(&clipUser, this->framenumber); + BKE_movieclip_get_size(this->movieClip, &clipUser, &calibration_width, &calibration_height); + for (int i = 0 ; i < s_cache.size() ; i ++) { DistortionCache *c = (DistortionCache*)s_cache[i]; - if (c->isCacheFor(this->movieClip, this->width, this->height, this->distortion)) { + if (c->isCacheFor(this->movieClip, this->width, this->height, + calibration_width, calibration_height, this->distortion)) + { this->cache = c; return; } } - DistortionCache *newC = new DistortionCache(this->movieClip, this->width, this->height, this->distortion); + DistortionCache *newC = new DistortionCache(this->movieClip, this->width, this->height, + calibration_width, calibration_height, this->distortion); s_cache.push_back(newC); this->cache = newC; } diff --git a/source/blender/compositor/operations/COM_MovieDistortionOperation.h b/source/blender/compositor/operations/COM_MovieDistortionOperation.h index fcdf7090566..f583493340b 100644 --- a/source/blender/compositor/operations/COM_MovieDistortionOperation.h +++ b/source/blender/compositor/operations/COM_MovieDistortionOperation.h @@ -34,18 +34,28 @@ private: float k1; float k2; float k3; + float principal_x; + float principal_y; + float pixel_aspect; int width; int height; + int calibration_width; + int calibration_height; bool inverted; float *buffer; int *bufferCalculated; public: - DistortionCache(MovieClip *movieclip, int width, int height, bool inverted) { + DistortionCache(MovieClip *movieclip, int width, int height, int calibration_width, int calibration_height, bool inverted) { this->k1 = movieclip->tracking.camera.k1; this->k2 = movieclip->tracking.camera.k2; this->k3 = movieclip->tracking.camera.k3; + this->principal_x = movieclip->tracking.camera.principal[0]; + this->principal_y = movieclip->tracking.camera.principal[1]; + this->pixel_aspect = movieclip->tracking.camera.pixel_aspect; this->width = width; this->height = height; + this->calibration_width = calibration_width; + this->calibration_height = calibration_height; this->inverted = inverted; this->bufferCalculated = new int[this->width*this->height]; this->buffer = new float[this->width*this->height*2]; @@ -53,13 +63,18 @@ public: this->bufferCalculated[i] = 0; } } - bool isCacheFor(MovieClip *movieclip, int width, int height, bool inverted) { + bool isCacheFor(MovieClip *movieclip, int width, int height, int calibration_width, int claibration_height, bool inverted) { return this->k1 == movieclip->tracking.camera.k1 && this->k2 == movieclip->tracking.camera.k2 && this->k3 == movieclip->tracking.camera.k3 && + this->principal_x == movieclip->tracking.camera.principal[0] && + this->principal_y == movieclip->tracking.camera.principal[1] && + this->pixel_aspect == movieclip->tracking.camera.pixel_aspect && this->inverted == inverted && - this->width == width && - this->height == height; + this->width == width && + this->height == height && + this->calibration_width == calibration_width && + this->calibration_height == calibration_height; } void getUV(MovieTracking *trackingData, int x, int y, float *u, float*v) { @@ -67,20 +82,30 @@ public: *u = x; *v = y; } else { + int offset = y * this->width + x; int offset2 = offset*2; if (!bufferCalculated[offset]) { + //float overscan = 0.0f; + float w = (float)this->width/* / (1 + overscan) */; + float h = (float)this->height/* / (1 + overscan) */; + float aspx = (float)w / this->calibration_width; + float aspy = (float)h / this->calibration_height; float in[2]; float out[2]; - in[0] = x; - in[1] = y; + + in[0] = (x /* - 0.5 * overscan * w */) / aspx; + in[1] = (y /* - 0.5 * overscan * h */) / aspy / this->pixel_aspect; + if (inverted) { BKE_tracking_invert_intrinsics(trackingData, in, out); } else { BKE_tracking_apply_intrinsics(trackingData, in, out); } - buffer[offset2] = out[0]; - buffer[offset2+1] = out[1]; + + buffer[offset2] = out[0] * aspx /* + 0.5 * overscan * w */; + buffer[offset2+1] = (out[1] * aspy /* + 0.5 * overscan * h */) * this->pixel_aspect; + bufferCalculated[offset] = 1; } *u = buffer[offset2]; @@ -97,6 +122,7 @@ private: protected: bool distortion; + int framenumber; public: MovieDistortionOperation(bool distortion); @@ -107,7 +133,7 @@ public: void deinitExecution(); void setMovieClip(MovieClip *clip) {this->movieClip = clip;} - + void setFramenumber(int framenumber) {this->framenumber = framenumber;} }; #endif diff --git a/source/blender/compositor/operations/COM_OpenCLKernels.cl b/source/blender/compositor/operations/COM_OpenCLKernels.cl index d462f5d8250..40932e54bc7 100644 --- a/source/blender/compositor/operations/COM_OpenCLKernels.cl +++ b/source/blender/compositor/operations/COM_OpenCLKernels.cl @@ -1,6 +1,7 @@ /// This file contains all opencl kernels for node-operation implementations -__kernel void testKernel(__global __write_only image2d_t output){ +__kernel void testKernel(__global __write_only image2d_t output) +{ int x = get_global_id(0); int y = get_global_id(1); int2 coords = {x, y}; diff --git a/source/blender/compositor/operations/COM_OpenCLKernels.cl.cpp b/source/blender/compositor/operations/COM_OpenCLKernels.cl.cpp index 66db4a1c86b..1024d460044 100644 --- a/source/blender/compositor/operations/COM_OpenCLKernels.cl.cpp +++ b/source/blender/compositor/operations/COM_OpenCLKernels.cl.cpp @@ -3,7 +3,8 @@ const char *sourcecode = "/// This file contains all opencl kernels for node-operation implementations \n" \ "\n" \ -"__kernel void testKernel(__global __write_only image2d_t output) {\n" \ +"__kernel void testKernel(__global __write_only image2d_t output)\n" \ +"{\n" \ " int x = get_global_id(0);\n" \ " int y = get_global_id(1);\n" \ " int2 coords = {x, y}; \n" \ diff --git a/source/blender/compositor/operations/COM_PreviewOperation.cpp b/source/blender/compositor/operations/COM_PreviewOperation.cpp index 2b02546a8f9..a7b6fc93b25 100644 --- a/source/blender/compositor/operations/COM_PreviewOperation.cpp +++ b/source/blender/compositor/operations/COM_PreviewOperation.cpp @@ -93,7 +93,6 @@ void PreviewOperation::executeRegion(rcti *rect, unsigned int tileNumber, Memory color[2] = 0.0f; color[3] = 1.0f; input->read(color, rx, ry, COM_PS_NEAREST, memoryBuffers); - /// @todo: linear conversion only when scene color management is selected, also check predivide. linearrgb_to_srgb_v4(color, color); F4TOCHAR4(color, outputBuffer+offset); offset +=4; diff --git a/source/blender/compositor/operations/COM_TextureOperation.cpp b/source/blender/compositor/operations/COM_TextureOperation.cpp index f7edd922376..0d85f71c691 100644 --- a/source/blender/compositor/operations/COM_TextureOperation.cpp +++ b/source/blender/compositor/operations/COM_TextureOperation.cpp @@ -32,6 +32,7 @@ TextureBaseOperation::TextureBaseOperation(): NodeOperation() this->texture = NULL; this->inputSize = NULL; this->inputOffset = NULL; + this->scene = NULL; } TextureOperation::TextureOperation() : TextureBaseOperation() { @@ -56,8 +57,10 @@ void TextureBaseOperation::deinitExecution() void TextureBaseOperation::determineResolution(unsigned int resolution[], unsigned int preferredResolution[]) { if (preferredResolution[0] == 0 || preferredResolution[1] == 0) { - resolution[0] = COM_DEFAULT_RESOLUTION_WIDTH; - resolution[1] = COM_DEFAULT_RESOLUTION_HEIGHT; + int width = this->scene->r.xsch*this->scene->r.size/100; + int height = this->scene->r.ysch*this->scene->r.size/100; + resolution[0] = width; + resolution[1] = height; } else { resolution[0] = preferredResolution[0]; diff --git a/source/blender/compositor/operations/COM_TextureOperation.h b/source/blender/compositor/operations/COM_TextureOperation.h index ee067df2c64..de42b144730 100644 --- a/source/blender/compositor/operations/COM_TextureOperation.h +++ b/source/blender/compositor/operations/COM_TextureOperation.h @@ -43,6 +43,7 @@ extern "C" { class TextureBaseOperation : public NodeOperation { private: Tex *texture; + const Scene *scene; SocketReader *inputSize; SocketReader *inputOffset; @@ -64,6 +65,7 @@ public: void setTexture(Tex *texture) {this->texture = texture;} void initExecution(); void deinitExecution(); + void setScene(const Scene *scene) {this->scene = scene;} }; class TextureOperation:public TextureBaseOperation { diff --git a/source/blender/editors/animation/anim_channels_defines.c b/source/blender/editors/animation/anim_channels_defines.c index 6ba61830cd9..f0f6d7ad91e 100644 --- a/source/blender/editors/animation/anim_channels_defines.c +++ b/source/blender/editors/animation/anim_channels_defines.c @@ -147,18 +147,39 @@ static void acf_generic_dataexpand_backdrop(bAnimContext *ac, bAnimListElem *ale glRectf(offset, yminc, v2d->cur.xmax + EXTRA_SCROLL_PAD, ymaxc); } +/* helper method to test if group colors should be drawn */ +static short acf_show_channel_colors(bAnimContext *ac) +{ + short showGroupColors = 0; + + if (ac->sl) { + switch (ac->spacetype) { + case SPACE_ACTION: + { + SpaceAction *saction = (SpaceAction *)ac->sl; + showGroupColors = !(saction->flag & SACTION_NODRAWGCOLORS); + } + break; + case SPACE_IPO: + { + SpaceIpo *sipo = (SpaceIpo *)ac->sl; + showGroupColors = !(sipo->flag & SIPO_NODRAWGCOLORS); + } + break; + } + } + + return showGroupColors; +} + /* get backdrop color for generic channels */ static void acf_generic_channel_color(bAnimContext *ac, bAnimListElem *ale, float r_color[3]) { bAnimChannelType *acf = ANIM_channel_get_typeinfo(ale); - SpaceAction *saction = NULL; bActionGroup *grp = NULL; short indent = (acf->get_indent_level) ? acf->get_indent_level(ac, ale) : 0; + short showGroupColors = acf_show_channel_colors(ac); - /* get context info needed... */ - if ((ac->sl) && (ac->spacetype == SPACE_ACTION)) - saction = (SpaceAction *)ac->sl; - if (ale->type == ANIMTYPE_FCURVE) { FCurve *fcu = (FCurve *)ale->data; grp = fcu->grp; @@ -168,9 +189,7 @@ static void acf_generic_channel_color(bAnimContext *ac, bAnimListElem *ale, floa * - use 3 shades of color group/standard color for 3 indention level * - only use group colors if allowed to, and if actually feasible */ - if ( (saction && !(saction->flag & SACTION_NODRAWGCOLORS)) && - ((grp) && (grp->customCol)) ) - { + if (showGroupColors && (grp) && (grp->customCol)) { unsigned char cp[3]; if (indent == 2) { @@ -731,13 +750,30 @@ static bAnimChannelType ACF_OBJECT = /* Group ------------------------------------------- */ /* get backdrop color for group widget */ -static void acf_group_color(bAnimContext *UNUSED(ac), bAnimListElem *ale, float r_color[3]) +static void acf_group_color(bAnimContext *ac, bAnimListElem *ale, float r_color[3]) { - /* highlight only for action group channels */ - if (ale->flag & AGRP_ACTIVE) - UI_GetThemeColorShade3fv(TH_GROUP_ACTIVE, 10, r_color); - else - UI_GetThemeColorShade3fv(TH_GROUP, 20, r_color); + bActionGroup *agrp = (bActionGroup *)ale->data; + short showGroupColors = acf_show_channel_colors(ac); + + if (showGroupColors && agrp->customCol) { + unsigned char cp[3]; + + /* highlight only for active */ + if (ale->flag & AGRP_ACTIVE) + copy_v3_v3_char((char *)cp, agrp->cs.active); + else + copy_v3_v3_char((char *)cp, agrp->cs.solid); + + /* copy the colors over, transforming from bytes to floats */ + rgb_uchar_to_float(r_color, cp); + } + else { + /* highlight only for active */ + if (ale->flag & AGRP_ACTIVE) + UI_GetThemeColorShade3fv(TH_GROUP_ACTIVE, 10, r_color); + else + UI_GetThemeColorShade3fv(TH_GROUP, 20, r_color); + } } /* backdrop for group widget */ @@ -3047,7 +3083,7 @@ static void achannel_setting_slider_cb(bContext *C, void *id_poin, void *fcu_poi Scene *scene = CTX_data_scene(C); PointerRNA id_ptr, ptr; PropertyRNA *prop; - short flag = 0, done = 0; + short flag = 0, done = FALSE; float cfra; /* get current frame */ @@ -3085,7 +3121,7 @@ static void achannel_setting_slider_shapekey_cb(bContext *C, void *key_poin, voi Scene *scene = CTX_data_scene(C); PointerRNA id_ptr, ptr; PropertyRNA *prop; - short flag = 0, done = 0; + short flag = 0, done = FALSE; float cfra; /* get current frame */ diff --git a/source/blender/editors/animation/anim_channels_edit.c b/source/blender/editors/animation/anim_channels_edit.c index e200972dd56..2bfbde86ed3 100644 --- a/source/blender/editors/animation/anim_channels_edit.c +++ b/source/blender/editors/animation/anim_channels_edit.c @@ -844,7 +844,7 @@ static short rearrange_animchannel_islands(ListBase *list, AnimChanRearrangeFp r { ListBase islands = {NULL, NULL}; Link *channel, *chanNext = NULL; - short done = 0; + short done = FALSE; /* don't waste effort on an empty list */ if (list->first == NULL) @@ -870,7 +870,7 @@ static short rearrange_animchannel_islands(ListBase *list, AnimChanRearrangeFp r /* perform rearranging */ if (rearrange_func(&islands, island)) { island->flag |= REORDER_ISLAND_MOVED; - done = 1; + done = TRUE; } } } diff --git a/source/blender/editors/animation/anim_draw.c b/source/blender/editors/animation/anim_draw.c index 0514700e120..ddc4f4d943c 100644 --- a/source/blender/editors/animation/anim_draw.c +++ b/source/blender/editors/animation/anim_draw.c @@ -191,7 +191,7 @@ static void draw_cfra_number(Scene *scene, View2D *v2d, float cfra, short time) */ if (time) ANIM_timecode_string_from_frame(&numstr[4], scene, 0, time, FRA2TIME(cfra)); - else + else ANIM_timecode_string_from_frame(&numstr[4], scene, 1, time, cfra); slen = (short)UI_GetStringWidth(numstr) - 1; diff --git a/source/blender/editors/animation/anim_ipo_utils.c b/source/blender/editors/animation/anim_ipo_utils.c index 593010fae09..a73651d7664 100644 --- a/source/blender/editors/animation/anim_ipo_utils.c +++ b/source/blender/editors/animation/anim_ipo_utils.c @@ -191,9 +191,9 @@ int getname_anim_fcurve(char *name, ID *id, FCurve *fcu) /* used to determine the color of F-Curves with FCURVE_COLOR_AUTO_RAINBOW set */ //void fcurve_rainbow (unsigned int cur, unsigned int tot, float *out) -void getcolor_fcurve_rainbow(int cur, int tot, float *out) +void getcolor_fcurve_rainbow(int cur, int tot, float out[3]) { - float hue, val, sat, fac; + float hsv[3], fac; int grouping; /* we try to divide the color into groupings of n colors, @@ -203,7 +203,7 @@ void getcolor_fcurve_rainbow(int cur, int tot, float *out) * so the base color is simply one of the three primary colors */ grouping = (4 - (tot % 2)); - hue = HSV_BANDWIDTH * (float)(cur % grouping); + hsv[0] = HSV_BANDWIDTH * (float)(cur % grouping); /* 'Value' (i.e. darkness) needs to vary so that larger sets of three will be * 'darker' (i.e. smaller value), so that they don't look that similar to previous ones. @@ -213,16 +213,15 @@ void getcolor_fcurve_rainbow(int cur, int tot, float *out) fac = ((float)cur / (float)tot) * 0.7f; /* the base color can get offset a bit so that the colors aren't so identical */ - hue += fac * HSV_BANDWIDTH; - if (hue > 1.0f) hue = fmod(hue, 1.0f); + hsv[0] += fac * HSV_BANDWIDTH; + if (hsv[0] > 1.0f) hsv[0] = fmod(hsv[0], 1.0f); /* saturation adjustments for more visible range */ - if ((hue > 0.5f) && (hue < 0.8f)) sat = 0.5f; - else sat = 0.6f; + hsv[1] = ((hsv[0] > 0.5f) && (hsv[0] < 0.8f)) ? 0.5f : 0.6f; /* value is fixed at 1.0f, otherwise we cannot clearly see the curves... */ - val = 1.0f; + hsv[2] = 1.0f; /* finally, conver this to RGB colors */ - hsv_to_rgb(hue, sat, val, out, out + 1, out + 2); + hsv_to_rgb_v(hsv, out); } diff --git a/source/blender/editors/animation/drivers.c b/source/blender/editors/animation/drivers.c index 0cc92394a40..416df6bccba 100644 --- a/source/blender/editors/animation/drivers.c +++ b/source/blender/editors/animation/drivers.c @@ -141,7 +141,7 @@ short ANIM_add_driver(ReportList *reports, ID *id, const char rna_path[], int ar PropertyRNA *prop; FCurve *fcu; int array_index_max; - int done = 0; + int done = FALSE; /* validate pointer first - exit if failure */ RNA_id_pointer_create(id, &id_ptr); diff --git a/source/blender/editors/armature/editarmature.c b/source/blender/editors/armature/editarmature.c index 7ce2988b067..8ea66934a31 100644 --- a/source/blender/editors/armature/editarmature.c +++ b/source/blender/editors/armature/editarmature.c @@ -276,7 +276,7 @@ EditBone *make_boneList(ListBase *edbo, ListBase *bones, EditBone *parent, Bone else { /* if the bone is not selected, but connected to its parent * copy the parents tip selection state */ - if (eBone->parent && (eBone->flag & BONE_CONNECTED)) { + if (eBone->parent && (eBone->flag & BONE_CONNECTED)) { /* selecting with the mouse gives this behavior */ if (eBone->parent->flag & BONE_TIPSEL) { eBone->flag |= BONE_ROOTSEL; @@ -1842,7 +1842,7 @@ static int ebone_select_flag(EditBone *ebone) } /* context: editmode armature in view3d */ -int mouse_armature(bContext *C, const int mval[2], int extend) +int mouse_armature(bContext *C, const int mval[2], int extend, int deselect, int toggle) { Object *obedit = CTX_data_edit_object(C); bArmature *arm = obedit->data; @@ -1857,7 +1857,7 @@ int mouse_armature(bContext *C, const int mval[2], int extend) nearBone = get_nearest_editbonepoint(&vc, mval, arm->edbo, 1, &selmask); if (nearBone) { - if (!extend) + if (!extend && !deselect && !toggle) ED_armature_deselect_all(obedit, 0); /* by definition the non-root connected bones have no root point drawn, @@ -1867,6 +1867,18 @@ int mouse_armature(bContext *C, const int mval[2], int extend) if (nearBone->parent && (nearBone->flag & BONE_CONNECTED)) { /* click in a chain */ if (extend) { + /* select this bone */ + nearBone->flag |= BONE_TIPSEL; + nearBone->parent->flag |= BONE_TIPSEL; + } + else if (deselect) { + /* deselect this bone */ + nearBone->flag &= ~(BONE_TIPSEL | BONE_SELECTED); + /* only deselect parent tip if it is not selected */ + if (!(nearBone->parent->flag & BONE_SELECTED)) + nearBone->parent->flag &= ~BONE_TIPSEL; + } + else if (toggle) { /* hold shift inverts this bone's selection */ if (nearBone->flag & BONE_SELECTED) { /* deselect this bone */ @@ -1889,17 +1901,28 @@ int mouse_armature(bContext *C, const int mval[2], int extend) } else { if (extend) { + nearBone->flag |= (BONE_TIPSEL | BONE_ROOTSEL); + } + else if (deselect) { + nearBone->flag &= ~(BONE_TIPSEL | BONE_ROOTSEL); + } + else if (toggle) { /* hold shift inverts this bone's selection */ if (nearBone->flag & BONE_SELECTED) nearBone->flag &= ~(BONE_TIPSEL | BONE_ROOTSEL); else nearBone->flag |= (BONE_TIPSEL | BONE_ROOTSEL); } - else nearBone->flag |= (BONE_TIPSEL | BONE_ROOTSEL); + else + nearBone->flag |= (BONE_TIPSEL | BONE_ROOTSEL); } } else { - if (extend && (nearBone->flag & selmask)) + if (extend) + nearBone->flag |= selmask; + else if (deselect) + nearBone->flag &= ~selmask; + else if (toggle && (nearBone->flag & selmask)) nearBone->flag &= ~selmask; else nearBone->flag |= selmask; @@ -3325,9 +3348,9 @@ static int armature_extrude_exec(bContext *C, wmOperator *op) for (ebone = arm->edbo->first; ((ebone) && (ebone != first)); ebone = ebone->next) { if (EBONE_VISIBLE(arm, ebone)) { /* we extrude per definition the tip */ - do_extrude = 0; + do_extrude = FALSE; if (ebone->flag & (BONE_TIPSEL | BONE_SELECTED)) - do_extrude = 1; + do_extrude = TRUE; else if (ebone->flag & BONE_ROOTSEL) { /* but, a bone with parent deselected we do the root... */ if (ebone->parent && (ebone->parent->flag & BONE_TIPSEL)) ; @@ -3361,7 +3384,7 @@ static int armature_extrude_exec(bContext *C, wmOperator *op) totbone++; newbone = MEM_callocN(sizeof(EditBone), "extrudebone"); - if (do_extrude == 1) { + if (do_extrude == TRUE) { copy_v3_v3(newbone->head, ebone->tail); copy_v3_v3(newbone->tail, newbone->head); newbone->parent = ebone; @@ -3653,7 +3676,7 @@ static int armature_switch_direction_exec(bContext *C, wmOperator *UNUSED(op)) ebo->parent = child; if ((child) && equals_v3v3(ebo->head, child->tail)) ebo->flag |= BONE_CONNECTED; - else + else ebo->flag &= ~BONE_CONNECTED; /* get next bones @@ -4475,7 +4498,7 @@ static int bone_looper(Object *ob, Bone *bone, void *data, /* called from editview.c, for mode-less pose selection */ /* assumes scene obact and basact is still on old situation */ -int ED_do_pose_selectbuffer(Scene *scene, Base *base, unsigned int *buffer, short hits, short extend) +int ED_do_pose_selectbuffer(Scene *scene, Base *base, unsigned int *buffer, short hits, short extend, short deselect, short toggle) { Object *ob = base->object; Bone *nearBone; @@ -4494,7 +4517,7 @@ int ED_do_pose_selectbuffer(Scene *scene, Base *base, unsigned int *buffer, shor * note, special exception for armature mode so we can do multi-select * we could check for multi-select explicitly but think its fine to * always give predictable behavior in weight paint mode - campbell */ - if (!extend || ((ob_act && (ob_act != ob) && (ob_act->mode & OB_MODE_WEIGHT_PAINT) == 0))) { + if ((!extend && !deselect && !toggle)|| ((ob_act && (ob_act != ob) && (ob_act->mode & OB_MODE_WEIGHT_PAINT) == 0))) { ED_pose_deselectall(ob, 0); nearBone->flag |= (BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL); arm->act_bone = nearBone; @@ -4503,25 +4526,34 @@ int ED_do_pose_selectbuffer(Scene *scene, Base *base, unsigned int *buffer, shor //select_actionchannel_by_name(ob->action, nearBone->name, 1); } else { - if (nearBone->flag & BONE_SELECTED) { - /* if not active, we make it active */ - if (nearBone != arm->act_bone) { - arm->act_bone = nearBone; + if (extend) { + nearBone->flag |= (BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL); + arm->act_bone = nearBone; + } + else if (deselect) { + nearBone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL); + } + else if (toggle) { + if (nearBone->flag & BONE_SELECTED) { + /* if not active, we make it active */ + if (nearBone != arm->act_bone) { + arm->act_bone = nearBone; + } + else { + nearBone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL); + + // XXX old cruft! use notifiers instead + //select_actionchannel_by_name(ob->action, nearBone->name, 0); + } } else { - nearBone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL); - + nearBone->flag |= (BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL); + arm->act_bone = nearBone; + // XXX old cruft! use notifiers instead - //select_actionchannel_by_name(ob->action, nearBone->name, 0); + //select_actionchannel_by_name(ob->action, nearBone->name, 1); } - } - else { - nearBone->flag |= (BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL); - arm->act_bone = nearBone; - - // XXX old cruft! use notifiers instead - //select_actionchannel_by_name(ob->action, nearBone->name, 1); - } + } } /* in weightpaint we select the associated vertex group too */ diff --git a/source/blender/editors/armature/editarmature_retarget.c b/source/blender/editors/armature/editarmature_retarget.c index 80f8c61694c..d90bd96a6f1 100644 --- a/source/blender/editors/armature/editarmature_retarget.c +++ b/source/blender/editors/armature/editarmature_retarget.c @@ -733,7 +733,7 @@ static void RIG_reconnectControlBones(RigGraph *rg) /* DO SOME MAGIC HERE */ for (pchan = rg->ob->pose->chanbase.first; pchan; pchan = pchan->next) { - for (con = pchan->constraints.first; con; con = con->next) { + for (con = pchan->constraints.first; con; con = con->next) { bConstraintTypeInfo *cti = constraint_get_typeinfo(con); ListBase targets = {NULL, NULL}; bConstraintTarget *ct; @@ -858,7 +858,7 @@ static void RIG_reconnectControlBones(RigGraph *rg) /* DO SOME MAGIC HERE */ for (pchan = rg->ob->pose->chanbase.first; pchan; pchan = pchan->next) { - for (con = pchan->constraints.first; con; con = con->next) { + for (con = pchan->constraints.first; con; con = con->next) { bConstraintTypeInfo *cti = constraint_get_typeinfo(con); ListBase targets = {NULL, NULL}; bConstraintTarget *ct; diff --git a/source/blender/editors/armature/meshlaplacian.c b/source/blender/editors/armature/meshlaplacian.c index b975d156868..ab96656406e 100644 --- a/source/blender/editors/armature/meshlaplacian.c +++ b/source/blender/editors/armature/meshlaplacian.c @@ -1393,7 +1393,8 @@ static void meshdeform_bind_floodfill(MeshDeformBind *mdb) if (b != -1) { if (tag[b] == MESHDEFORM_TAG_UNTYPED || - (tag[b] == MESHDEFORM_TAG_BOUNDARY && !mdb->boundisect[a][i - 1])) { + (tag[b] == MESHDEFORM_TAG_BOUNDARY && !mdb->boundisect[a][i - 1])) + { tag[b] = MESHDEFORM_TAG_EXTERIOR; stack[stacksize++] = b; } diff --git a/source/blender/editors/armature/poseobject.c b/source/blender/editors/armature/poseobject.c index e9c960c4080..df970171a54 100644 --- a/source/blender/editors/armature/poseobject.c +++ b/source/blender/editors/armature/poseobject.c @@ -1136,7 +1136,7 @@ static bPoseChannel *pose_bone_do_paste(Object *ob, bPoseChannel *chan, short se /* quat/euler to axis angle */ if (chan->rotmode > 0) eulO_to_axis_angle(pchan->rotAxis, &pchan->rotAngle, chan->eul, chan->rotmode); - else + else quat_to_axis_angle(pchan->rotAxis, &pchan->rotAngle, chan->quat); } else { @@ -1451,7 +1451,7 @@ static int pose_group_assign_exec(bContext *C, wmOperator *op) ScrArea *sa = CTX_wm_area(C); Object *ob; bPose *pose; - short done = 0; + short done = FALSE; /* since this call may also be used from the buttons window, we need to check for where to get the object */ if (sa->spacetype == SPACE_BUTS) @@ -1476,7 +1476,7 @@ static int pose_group_assign_exec(bContext *C, wmOperator *op) CTX_DATA_BEGIN (C, bPoseChannel *, pchan, selected_pose_bones) { pchan->agrp_index = pose->active_group; - done = 1; + done = TRUE; } CTX_DATA_END; @@ -1514,7 +1514,7 @@ static int pose_group_unassign_exec(bContext *C, wmOperator *UNUSED(op)) { ScrArea *sa = CTX_wm_area(C); Object *ob; - short done = 0; + short done = FALSE; /* since this call may also be used from the buttons window, we need to check for where to get the object */ if (sa->spacetype == SPACE_BUTS) @@ -1531,7 +1531,7 @@ static int pose_group_unassign_exec(bContext *C, wmOperator *UNUSED(op)) { if (pchan->agrp_index) { pchan->agrp_index = 0; - done = 1; + done = TRUE; } } CTX_DATA_END; diff --git a/source/blender/editors/armature/reeb.c b/source/blender/editors/armature/reeb.c index 316c4699c0b..a629312e732 100644 --- a/source/blender/editors/armature/reeb.c +++ b/source/blender/editors/armature/reeb.c @@ -1818,7 +1818,7 @@ int filterSmartReebGraph(ReebGraph *UNUSED(rg), float UNUSED(threshold)) static void filterGraph(ReebGraph *rg, short options, float threshold_internal, float threshold_external) { - int done = 1; + int done = TRUE; calculateGraphLength(rg); @@ -1833,7 +1833,7 @@ static void filterGraph(ReebGraph *rg, short options, float threshold_internal, if (threshold_internal > 0 || threshold_external > 0) { /* filter until there's nothing more to do */ while (done == 1) { - done = 0; /* no work done yet */ + done = FALSE; /* no work done yet */ done = filterInternalExternalReebGraph(rg, threshold_internal, threshold_external); } @@ -1860,7 +1860,7 @@ static void finalizeGraph(ReebGraph *rg, char passes, char method) sortArcs(rg); - for (i = 0; i < passes; i++) { + for (i = 0; i < passes; i++) { postprocessGraph(rg, method); } diff --git a/source/blender/editors/curve/editcurve.c b/source/blender/editors/curve/editcurve.c index 7afba049232..431ce15a26d 100644 --- a/source/blender/editors/curve/editcurve.c +++ b/source/blender/editors/curve/editcurve.c @@ -270,7 +270,7 @@ void printknots(Object *obedit) int a, num; for (nu = editnurb->first; nu; nu = nu->next) { - if (isNurbsel(nu) && nu->type == CU_NURBS) { + if (isNurbsel(nu) && nu->type == CU_NURBS) { if (nu->knotsu) { num = KNOTSU(nu); for (a = 0; a < num; a++) printf("knotu %d: %f\n", a, nu->knotsu[a]); @@ -4126,7 +4126,7 @@ void CURVE_OT_make_segment(wmOperatorType *ot) /***************** pick select from 3d view **********************/ -int mouse_nurb(bContext *C, const int mval[2], int extend) +int mouse_nurb(bContext *C, const int mval[2], int extend, int deselect, int toggle) { Object *obedit = CTX_data_edit_object(C); Curve *cu = obedit->data; @@ -4146,12 +4146,8 @@ int mouse_nurb(bContext *C, const int mval[2], int extend) hand = findnearestNurbvert(&vc, 1, location, &nu, &bezt, &bp); if (bezt || bp) { - if (extend == 0) { - - setflagsNurb(editnurb, 0); - + if (extend) { if (bezt) { - if (hand == 1) { select_beztriple(bezt, SELECT, 1, HIDDEN); cu->lastsel = bezt; @@ -4167,9 +4163,26 @@ int mouse_nurb(bContext *C, const int mval[2], int extend) cu->lastsel = bp; select_bpoint(bp, SELECT, 1, HIDDEN); } - } - else { + else if (deselect) { + if (bezt) { + if (hand == 1) { + select_beztriple(bezt, DESELECT, 1, HIDDEN); + if (bezt == cu->lastsel) cu->lastsel = NULL; + } + else if (hand == 0) { + bezt->f1 &= ~SELECT; + } + else { + bezt->f3 &= ~SELECT; + } + } + else { + select_bpoint(bp, DESELECT, 1, HIDDEN); + if (cu->lastsel == bp) cu->lastsel = NULL; + } + } + else if (toggle) { if (bezt) { if (hand == 1) { if (bezt->f2 & SELECT) { @@ -4198,7 +4211,27 @@ int mouse_nurb(bContext *C, const int mval[2], int extend) cu->lastsel = bp; } } + } + else { + setflagsNurb(editnurb, 0); + if (bezt) { + + if (hand == 1) { + select_beztriple(bezt, SELECT, 1, HIDDEN); + cu->lastsel = bezt; + } + else { + if (hand == 0) bezt->f1 |= SELECT; + else bezt->f3 |= SELECT; + + cu->lastsel = NULL; + } + } + else { + cu->lastsel = bp; + select_bpoint(bp, SELECT, 1, HIDDEN); + } } if (nu != get_actNurb(obedit)) diff --git a/source/blender/editors/datafiles/blender_icons.png.c b/source/blender/editors/datafiles/blender_icons.png.c index 85e469717de..860c225ffc1 100644 --- a/source/blender/editors/datafiles/blender_icons.png.c +++ b/source/blender/editors/datafiles/blender_icons.png.c @@ -1,7089 +1,7101 @@ /* DataToC output of file <blender_icons_png> */ -int datatoc_blender_icons_png_size= 226647; -char datatoc_blender_icons_png[]= { -137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 2, 90, 0, 0, 2, -128, 8, 6, 0, 0, 0, 68,254,214,163, 0, 0, 10, 79,105, 67, 67, 80, 80,104,111,116,111,115,104,111,112, 32, 73, 67, 67, 32, -112,114,111,102,105,108,101, 0, 0,120,218,157, 83,103, 84, 83,233, 22, 61,247,222,244, 66, 75,136,128,148, 75,111, 82, 21, 8, - 32, 82, 66,139,128, 20,145, 38, 42, 33, 9, 16, 74,136, 33,161,217, 21, 81,193, 17, 69, 69, 4, 27,200,160,136, 3,142,142,128, -140, 21, 81, 44, 12,138, 10,216, 7,228, 33,162,142,131,163,136,138,202,251,225,123,163,107,214,188,247,230,205,254,181,215, 62, -231,172,243,157,179,207, 7,192, 8, 12,150, 72, 51, 81, 53,128, 12,169, 66, 30, 17,224,131,199,196,198,225,228, 46, 64,129, 10, - 36,112, 0, 16, 8,179,100, 33,115,253, 35, 1, 0,248,126, 60, 60, 43, 34,192, 7,190, 0, 1,120,211, 11, 8, 0,192, 77,155, -192, 48, 28,135,255, 15,234, 66,153, 92, 1,128,132, 1,192,116,145, 56, 75, 8,128, 20, 0, 64,122,142, 66,166, 0, 64, 70, 1, -128,157,152, 38, 83, 0,160, 4, 0, 96,203, 99, 98,227, 0, 80, 45, 0, 96, 39,127,230,211, 0,128,157,248,153,123, 1, 0, 91, -148, 33, 21, 1,160,145, 0, 32, 19,101,136, 68, 0,104, 59, 0,172,207, 86,138, 69, 0, 88, 48, 0, 20,102, 75,196, 57, 0,216, - 45, 0, 48, 73, 87,102, 72, 0,176,183, 0,192,206, 16, 11,178, 0, 8, 12, 0, 48, 81,136,133, 41, 0, 4,123, 0, 96,200, 35, - 35,120, 0,132,153, 0, 20, 70,242, 87, 60,241, 43,174, 16,231, 42, 0, 0,120,153,178, 60,185, 36, 57, 69,129, 91, 8, 45,113, - 7, 87, 87, 46, 30, 40,206, 73, 23, 43, 20, 54, 97, 2, 97,154, 64, 46,194,121,153, 25, 50,129, 52, 15,224,243,204, 0, 0,160, -145, 21, 17,224,131,243,253,120,206, 14,174,206,206, 54,142,182, 14, 95, 45,234,191, 6,255, 34, 98, 98,227,254,229,207,171,112, - 64, 0, 0,225,116,126,209,254, 44, 47,179, 26,128, 59, 6,128,109,254,162, 37,238, 4,104, 94, 11,160,117,247,139,102,178, 15, - 64,181, 0,160,233,218, 87,243,112,248,126, 60, 60, 69,161,144,185,217,217,229,228,228,216, 74,196, 66, 91, 97,202, 87,125,254, -103,194, 95,192, 87,253,108,249,126, 60,252,247,245,224,190,226, 36,129, 50, 93,129, 71, 4,248,224,194,204,244, 76,165, 28,207, -146, 9,132, 98,220,230,143, 71,252,183, 11,255,252, 29,211, 34,196, 73, 98,185, 88, 42, 20,227, 81, 18,113,142, 68,154,140,243, - 50,165, 34,137, 66,146, 41,197, 37,210,255,100,226,223, 44,251, 3, 62,223, 53, 0,176,106, 62, 1,123,145, 45,168, 93, 99, 3, -246, 75, 39, 16, 88,116,192,226,247, 0, 0,242,187,111,193,212, 40, 8, 3,128,104,131,225,207,119,255,239, 63,253, 71,160, 37, - 0,128,102, 73,146,113, 0, 0, 94, 68, 36, 46, 84,202,179, 63,199, 8, 0, 0, 68,160,129, 42,176, 65, 27,244,193, 24, 44,192, - 6, 28,193, 5,220,193, 11,252, 96, 54,132, 66, 36,196,194, 66, 16, 66, 10,100,128, 28,114, 96, 41,172,130, 66, 40,134,205,176, - 29, 42, 96, 47,212, 64, 29, 52,192, 81,104,134,147,112, 14, 46,194, 85,184, 14, 61,112, 15,250, 97, 8,158,193, 40,188,129, 9, - 4, 65,200, 8, 19, 97, 33,218,136, 1, 98,138, 88, 35,142, 8, 23,153,133,248, 33,193, 72, 4, 18,139, 36, 32,201,136, 20, 81, - 34, 75,145, 53, 72, 49, 82,138, 84, 32, 85, 72, 29,242, 61,114, 2, 57,135, 92, 70,186,145, 59,200, 0, 50,130,252,134,188, 71, - 49,148,129,178, 81, 61,212, 12,181, 67,185,168, 55, 26,132, 70,162, 11,208,100,116, 49,154,143, 22,160,155,208,114,180, 26, 61, -140, 54,161,231,208,171,104, 15,218,143, 62, 67,199, 48,192,232, 24, 7, 51,196,108, 48, 46,198,195, 66,177, 56, 44, 9,147, 99, -203,177, 34,172, 12,171,198, 26,176, 86,172, 3,187,137,245, 99,207,177,119, 4, 18,129, 69,192, 9, 54, 4,119, 66, 32, 97, 30, - 65, 72, 88, 76, 88, 78,216, 72,168, 32, 28, 36, 52, 17,218, 9, 55, 9, 3,132, 81,194, 39, 34,147,168, 75,180, 38,186, 17,249, -196, 24, 98, 50, 49,135, 88, 72, 44, 35,214, 18,143, 19, 47, 16,123,136, 67,196, 55, 36, 18,137, 67, 50, 39,185,144, 2, 73,177, -164, 84,210, 18,210, 70,210,110, 82, 35,233, 44,169,155, 52, 72, 26, 35,147,201,218,100,107,178, 7, 57,148, 44, 32, 43,200,133, -228,157,228,195,228, 51,228, 27,228, 33,242, 91, 10,157, 98, 64,113,164,248, 83,226, 40, 82,202,106, 74, 25,229, 16,229, 52,229, - 6,101,152, 50, 65, 85,163,154, 82,221,168,161, 84, 17, 53,143, 90, 66,173,161,182, 82,175, 81,135,168, 19, 52,117,154, 57,205, -131, 22, 73, 75,165,173,162,149,211, 26,104, 23,104,247,105,175,232,116,186, 17,221,149, 30, 78,151,208, 87,210,203,233, 71,232, -151,232, 3,244,119, 12, 13,134, 21,131,199,136,103, 40, 25,155, 24, 7, 24,103, 25,119, 24,175,152, 76,166, 25,211,139, 25,199, - 84, 48, 55, 49,235,152,231,153, 15,153,111, 85, 88, 42,182, 42,124, 21,145,202, 10,149, 74,149, 38,149, 27, 42, 47, 84,169,170, -166,170,222,170, 11, 85,243, 85,203, 84,143,169, 94, 83,125,174, 70, 85, 51, 83,227,169, 9,212,150,171, 85,170,157, 80,235, 83, - 27, 83,103,169, 59,168,135,170,103,168,111, 84, 63,164,126, 89,253,137, 6, 89,195, 76,195, 79, 67,164, 81,160,177, 95,227,188, -198, 32, 11, 99, 25,179,120, 44, 33,107, 13,171,134,117,129, 53,196, 38,177,205,217,124,118, 42,187,152,253, 29,187,139, 61,170, -169,161, 57, 67, 51, 74, 51, 87,179, 82,243,148,102, 63, 7,227,152,113,248,156,116, 78, 9,231, 40,167,151,243,126,138,222, 20, -239, 41,226, 41, 27,166, 52, 76,185, 49,101, 92,107,170,150,151,150, 88,171, 72,171, 81,171, 71,235,189, 54,174,237,167,157,166, -189, 69,187, 89,251,129, 14, 65,199, 74, 39, 92, 39, 71,103,143,206, 5,157,231, 83,217, 83,221,167, 10,167, 22, 77, 61, 58,245, -174, 46,170,107,165, 27,161,187, 68,119,191,110,167,238,152,158,190, 94,128,158, 76,111,167,222,121,189,231,250, 28,125, 47,253, - 84,253,109,250,167,245, 71, 12, 88, 6,179, 12, 36, 6,219, 12,206, 24, 60,197, 53,113,111, 60, 29, 47,199,219,241, 81, 67, 93, -195, 64, 67,165, 97,149, 97,151,225,132,145,185,209, 60,163,213, 70,141, 70, 15,140,105,198, 92,227, 36,227,109,198,109,198,163, - 38, 6, 38, 33, 38, 75, 77,234, 77,238,154, 82, 77,185,166, 41,166, 59, 76, 59, 76,199,205,204,205,162,205,214,153, 53,155, 61, - 49,215, 50,231,155,231,155,215,155,223,183, 96, 90,120, 90, 44,182,168,182,184,101, 73,178,228, 90,166, 89,238,182,188,110,133, - 90, 57, 89,165, 88, 85, 90, 93,179, 70,173,157,173, 37,214,187,173,187,167, 17,167,185, 78,147, 78,171,158,214,103,195,176,241, -182,201,182,169,183, 25,176,229,216, 6,219,174,182,109,182,125, 97,103, 98, 23,103,183,197,174,195,238,147,189,147,125,186,125, -141,253, 61, 7, 13,135,217, 14,171, 29, 90, 29,126,115,180,114, 20, 58, 86, 58,222,154,206,156,238, 63,125,197,244,150,233, 47, -103, 88,207, 16,207,216, 51,227,182, 19,203, 41,196,105,157, 83,155,211, 71,103, 23,103,185,115,131,243,136,139,137, 75,130,203, - 46,151, 62, 46,155, 27,198,221,200,189,228, 74,116,245,113, 93,225,122,210,245,157,155,179,155,194,237,168,219,175,238, 54,238, -105,238,135,220,159,204, 52,159, 41,158, 89, 51,115,208,195,200, 67,224, 81,229,209, 63, 11,159,149, 48,107,223,172,126, 79, 67, - 79,129,103,181,231, 35, 47, 99, 47,145, 87,173,215,176,183,165,119,170,247, 97,239, 23, 62,246, 62,114,159,227, 62,227, 60, 55, -222, 50,222, 89, 95,204, 55,192,183,200,183,203, 79,195,111,158, 95,133,223, 67,127, 35,255,100,255,122,255,209, 0,167,128, 37, - 1,103, 3,137,129, 65,129, 91, 2,251,248,122,124, 33,191,142, 63, 58,219,101,246,178,217,237, 65,140,160,185, 65, 21, 65,143, -130,173,130,229,193,173, 33,104,200,236,144,173, 33,247,231,152,206,145,206,105, 14,133, 80,126,232,214,208, 7, 97,230, 97,139, -195,126, 12, 39,133,135,133, 87,134, 63,142,112,136, 88, 26,209, 49,151, 53,119,209,220, 67,115,223, 68,250, 68,150, 68,222,155, -103, 49, 79, 57,175, 45, 74, 53, 42, 62,170, 46,106, 60,218, 55,186, 52,186, 63,198, 46,102, 89,204,213, 88,157, 88, 73,108, 75, - 28, 57, 46, 42,174, 54,110,108,190,223,252,237,243,135,226,157,226, 11,227,123, 23,152, 47,200, 93,112,121,161,206,194,244,133, -167, 22,169, 46, 18, 44, 58,150, 64, 76,136, 78, 56,148,240, 65, 16, 42,168, 22,140, 37,242, 19,119, 37,142, 10,121,194, 29,194, -103, 34, 47,209, 54,209,136,216, 67, 92, 42, 30, 78,242, 72, 42, 77,122,146,236,145,188, 53,121, 36,197, 51,165, 44,229,185,132, - 39,169,144,188, 76, 13, 76,221,155, 58,158, 22,154,118, 32,109, 50, 61, 58,189, 49,131,146,145,144,113, 66,170, 33, 77,147,182, -103,234,103,230,102,118,203,172,101,133,178,254,197,110,139,183, 47, 30,149, 7,201,107,179,144,172, 5, 89, 45, 10,182, 66,166, -232, 84, 90, 40,215, 42, 7,178,103,101, 87,102,191,205,137,202, 57,150,171,158, 43,205,237,204,179,202,219,144, 55,156,239,159, -255,237, 18,194, 18,225,146,182,165,134, 75, 87, 45, 29, 88,230,189,172,106, 57,178, 60,113,121,219, 10,227, 21, 5, 43,134, 86, - 6,172, 60,184,138,182, 42,109,213, 79,171,237, 87,151,174,126,189, 38,122, 77,107,129, 94,193,202,130,193,181, 1,107,235, 11, - 85, 10,229,133,125,235,220,215,237, 93, 79, 88, 47, 89,223,181, 97,250,134,157, 27, 62, 21,137,138,174, 20,219, 23,151, 21,127, -216, 40,220,120,229, 27,135,111,202,191,153,220,148,180,169,171,196,185,100,207,102,210,102,233,230,222, 45,158, 91, 14,150,170, -151,230,151, 14,110, 13,217,218,180, 13,223, 86,180,237,245,246, 69,219, 47,151,205, 40,219,187,131,182, 67,185,163,191, 60,184, -188,101,167,201,206,205, 59, 63, 84,164, 84,244, 84,250, 84, 54,238,210,221,181, 97,215,248,110,209,238, 27,123,188,246, 52,236, -213,219, 91,188,247,253, 62,201,190,219, 85, 1, 85, 77,213,102,213,101,251, 73,251,179,247, 63,174,137,170,233,248,150,251,109, - 93,173, 78,109,113,237,199, 3,210, 3,253, 7, 35, 14,182,215,185,212,213, 29,210, 61, 84, 82,143,214, 43,235, 71, 14,199, 31, -190,254,157,239,119, 45, 13, 54, 13, 85,141,156,198,226, 35,112, 68,121,228,233,247, 9,223,247, 30, 13, 58,218,118,140,123,172, -225, 7,211, 31,118, 29,103, 29, 47,106, 66,154,242,154, 70,155, 83,154,251, 91, 98, 91,186, 79,204, 62,209,214,234,222,122,252, - 71,219, 31, 15,156, 52, 60, 89,121, 74,243, 84,201,105,218,233,130,211,147,103,242,207,140,157,149,157,125,126, 46,249,220, 96, -219,162,182,123,231, 99,206,223,106, 15,111,239,186, 16,116,225,210, 69,255,139,231, 59,188, 59,206, 92,242,184,116,242,178,219, -229, 19, 87,184, 87,154,175, 58, 95,109,234,116,234, 60,254,147,211, 79,199,187,156,187,154,174,185, 92,107,185,238,122,189,181, -123,102,247,233, 27,158, 55,206,221,244,189,121,241, 22,255,214,213,158, 57, 61,221,189,243,122,111,247,197,247,245,223, 22,221, -126,114, 39,253,206,203,187,217,119, 39,238,173,188, 79,188, 95,244, 64,237, 65,217, 67,221,135,213, 63, 91,254,220,216,239,220, -127,106,192,119,160,243,209,220, 71,247, 6,133,131,207,254,145,245,143, 15, 67, 5,143,153,143,203,134, 13,134,235,158, 56, 62, - 57, 57,226, 63,114,253,233,252,167, 67,207,100,207, 38,158, 23,254,162,254,203,174, 23, 22, 47,126,248,213,235,215,206,209,152, -209,161,151,242,151,147,191,109,124,165,253,234,192,235, 25,175,219,198,194,198, 30,190,201,120, 51, 49, 94,244, 86,251,237,193, -119,220,119, 29,239,163,223, 15, 79,228,124, 32,127, 40,255,104,249,177,245, 83,208,167,251,147, 25,147,147,255, 4, 3,152,243, -252, 99, 51, 45,219, 0, 0, 0, 6, 98, 75, 71, 68, 0,255, 0,255, 0,255,160,189,167,147, 0, 0, 0, 9,112, 72, 89,115, 0, - 0, 13,213, 0, 0, 13,213, 1, 61,214, 88,241, 0, 0, 0, 7,116, 73, 77, 69, 7,220, 3, 15, 13, 43, 47, 99,146, 79, 17, 0, - 0, 32, 0, 73, 68, 65, 84,120,218,236, 93,119,120, 20,197, 3,125,187,183,215,239,114,233, 61, 16,146, 64, 32,148,132, 80, 20, -144, 94, 5,162,168, 8, 2, 34, 69, 44,136, 40,160, 40,168,136, 72, 87,233, 42, 32, 42, 77, 65,176, 1, 1, 41,145, 18, 72, 2, -132, 38, 61, 65, 18, 72, 35,237, 82,175,183,221,223, 31,201,157,151,203,181, 64,162, 63,116,223,247,237,119,119,123,187,111,103, -103,103,102,223,188,105, 0, 11, 22, 44, 88,176, 96,193,130, 5, 11, 22, 44, 88,176, 96,193,130, 5, 11, 22,255,106, 36, 38, 38, - 50, 13, 56,124,160,187,156,181, 91,159,255,119,206, 38,188,119,166, 17, 57,251,212,114,126,244,144,132,179,207,255, 43,167,249, -126, 27,192, 59,176, 33,233,168,177,226,211, 42,156, 76, 99,135,179,169, 56, 27, 43, 31,217, 9, 39,211, 4,207,253,163,135, 36, -156,125,254,223, 56,109,211,143,155,188, 13,226,116, 51, 77, 53, 52,156, 76, 99,135,179,169, 56, 31, 52, 31, 57, 9, 39,243,160, -105,201,193,179,255, 8,255, 33, 80, 77, 40,178,220, 70, 66, 66, 2, 97,197, 79,252,191,114, 90,199,131,153,191, 49,195,218,136, - 56,222,216,156, 54,241,217, 88,248, 40, 33, 33,129, 72, 76, 76, 60, 1,160, 79, 99,222,123, 99, 60,119,155,123,109, 20,222,251, - 16, 89, 13,226,108,172,116,223,212,156,141,149,151,108, 57, 27, 35,221,219,123,238, 77,248,140, 26, 43,156,141,146,151,154, 34, -205,219, 73, 63, 15,204,107,203,217, 24,121,201,150,179, 49,210,253,223,193,217, 24,121,201, 30,103, 99,164,123, 71,207,254,191, -102, 80,145,255,176, 32,176,205,224,125,255,159, 5, 81, 83,137,205, 6, 56, 48,255, 56,103, 35, 63,163,143,106, 57, 27,179,118, -211,183,177,158, 81, 83,164,119,107,206,198,226,183,229,105,140,231,100,143,243, 65,195,235, 32,156,141,126,239, 15,154,238,255, - 46,206, 70,126, 70,141,146,151,108, 56,251, 54,114,101,160,175,213,239,143, 26,147,179,177,242,146,157,112, 62,240,115,178,199, -249,160,225,117, 16,206, 70,191,247,198,120,135, 52, 21,239,191, 26, 77,213,124,214,216,156, 13,228,254, 87,113, 54,176,121,102, - 96, 19, 60,251,127, 52,156,141,201,105, 27,198,198,108,238,105,202,112, 54, 38,103, 3,194,250,175,227,124,216,158,251,255, 99, -124, 58,226,123,144,102, 41, 71,238,104, 83,132,179, 49, 57,221,228,254, 87,112, 62,192,179,255,215,129,250,127, 9,136, 57,226, - 27,185,102,130, 70,118, 96,154, 82,184, 54,102, 56,251, 54,133, 67,216, 4,104,244,112,214,214,148,231, 55,193,189, 63, 44,113, -202,230, 37, 54, 47,253,223,229, 37,155, 52,217,183, 17,157,162, 70,117,158,109, 57, 27,227, 26,214, 28,141,149, 70,155,250,222, - 27, 51, 47, 53,197,179,103,241, 0, 46, 4,203,201,114,178,156, 44, 39,203,201,114,178,156,255, 89,206,127, 37, 72, 54, 10, 88, -176, 96,193,130, 5, 11, 22, 44, 88,176, 96,193,130, 5, 11, 22, 44, 88, 60, 84,112,216,190, 27, 18, 18,146, 40, 22,139, 91, 58, -250, 95,169, 84,222,187,119,239, 94, 63, 54, 10,255, 57,176,207,136,197, 67, 4, 18,127, 57,232, 52, 0,166,118, 99,193,130, 5, -139,127, 53, 28,118,134, 23, 8, 4,145, 55,110,220,136,166,105, 26, 38,147, 9, 70,163,209,242,169,211,233,208,187,119,239, 6, -119,164, 15, 12, 12, 76,230,112, 56, 45, 26,114,142,201,100,202, 41, 42, 42,234,233,228,144, 84, 0,145, 4,241,151,102, 52,127, -119,244, 9,160,192, 96, 48,116,114,198, 73, 16, 68,164, 45,159, 3, 46,243,119,167,156,158,158,158,231, 40,138, 10,179,199,229, -232, 59, 77,211, 89, 37, 37, 37, 61,254,206,103,244, 95, 70, 96, 96, 96, 50, 69, 81, 13, 78,159,133,133,133, 14,211,103,112,112, -240, 69,146, 36, 67, 26, 64,201,161,105, 58,227,222,189,123, 61,157, 8,145, 84, 0,145, 78,107, 80, 54,233,137, 32,136, 60,147, -201,212,197, 85, 62,114,198,101, 39,141,186,226,180,136, 44,138,162,150, 5, 4, 4, 76, 85,169, 84, 26, 0, 12,135,195, 97,172, -194, 6, 0, 48, 26,141, 37, 21, 21, 21, 29,216,148,200,130, 5,139,255,132,208,162,105,154,212,106,181,200,204,204, 4,195,216, - 45,239, 77,247,113,189,232,243,191, 31, 9,240, 8, 8,132, 81,175,135,196,207,223,194, 93,116,253, 42,140, 6, 61,140, 58, 29, -154,119,237,102, 14, 3,218,182,109,203,113,193, 25,182,124,249,242, 0, 15, 15, 15,104, 52, 26,104, 52, 26,104,181, 90,104, 52, - 26,232,116, 58,232,116, 58,232,245,122,232,245,122, 24,141, 70,104,181, 90, 36, 37, 37,153, 12, 6,131, 83,206,197,139, 23, 7, -200,100, 50, 11,159,121, 51,115,154,121, 13, 6, 3, 52, 26, 13,142, 30, 61,234,148,147,162,168,176,130,130,130, 0, 30,143, 7, -134, 97, 64,211, 52, 24,134,169,179,217, 34, 42, 42, 74,239, 44,144, 77,244,140,254,203,136, 94,188, 99,127,128,167, 72, 0, 35, - 77, 35, 33, 46,202,242, 71,214,215,187,193, 24, 77,160,141, 70,180,122,125,188,101,127, 76, 76,140,211,244,201, 48, 76,248,226, - 29,251,189,220,229,148,203,229,234, 54,109,218, 20,160,198,109,118, 36,180,194,212,106,117, 64, 45,127, 61, 65, 68,146,100,157, -237,208,161, 67, 72, 72, 72,112,117,239, 97, 51,103,206, 12, 48, 24, 12,208,233,116,208,106,181, 48, 24, 12, 48, 26,141,150,205, -100, 50, 89, 54,157, 78,135, 51,103,206,184,235,100, 45, 31, 52,104,208,228,253,251,247, 75,126,253,245, 87, 73,139, 22, 45,192, -227,241,192,225,112,192,225,112, 64,146, 36, 40,138,194,163,143, 62, 74,176, 73,144, 5, 11, 22,255, 25,161,165,213,106,179,227, -227,227,153,218,239,161, 2,129,128,103, 83,203, 13,105,213,170, 85,134,237,121,174,154,171, 60, 2, 2, 49,183,153, 15, 0,224, -195,187,114,203, 11,226,147, 30, 29, 45,199,124,156, 95, 9, 0, 16,137, 68, 32,172,171,209, 14, 32,145, 72, 48,104,208, 32,240, -249,124,116,233,210, 5, 92, 46,215,238,198,227,241,192,229,114, 93, 70, 10, 65, 16,144, 74,165, 88,176, 96,129, 89, 36, 65, 34, - 20, 96,122,143, 46, 16,130,193, 87, 87,111, 65, 71, 51,160, 40,202,178,185,195,201,227,241,112,229,202, 21, 80, 20, 5, 14,135, - 99,249, 52,127,223,187,119, 47,158,125,246, 89, 80, 20, 5,145, 72, 4,184,152, 57,216,250, 25,233,116,186, 96, 62,159,175, 7, - 96, 22,103, 60,130, 32,130,238,231, 25,253,151,225, 41, 18, 96,194,250, 95, 0, 0,185,171, 94,183, 60,187, 51,175,125,104, 57, - 38,252,229,209, 32, 8, 2, 92, 46, 23, 36, 73, 54, 26,103, 89, 89,153,122,204,152, 49,167, 60, 60, 60, 14, 85, 85, 85,193,133, -128, 67,110,110, 46, 40,138,114,152,222, 73,146,196,202,149, 43,241,231,159,127,186,117,239, 26,141, 6,155, 54,109,130,201,100, -170,195,107,254,110,187,207, 77,145,181,104,240,224,193,227,247,239,223,239, 77, 16, 4, 62,255,252,115,240,120, 60, 12, 27, 54, - 12,190,190,190, 56,124,248, 48,120, 60, 30,222,121,231, 29, 54,241,177, 96,193,194, 89,153,199, 5,208, 17,128,127,173,137, 80, - 13,192,203,234,144,146,218, 79,127,243,111,130, 32,210,237,240,116,173, 61,166,132, 32,136,116,171,223, 58, 0,124, 59,251,229, - 0, 68,181,155, 22, 53,238,127,123,171,235,152,207,131,163,235, 82, 64,205,250, 67, 0,142, 3,232,155,144,144,112, 2, 0, 10, - 11, 11,135, 22, 22, 22, 2, 0, 34, 35, 35,111,100,100,100,180, 49,107,158,218,230, 41,158,209,104,140, 54, 55, 85,153,221,162, -129, 3, 7, 58,173,225, 27,245,250,122, 2,196,158,150,178,215, 92,225, 72,192,232,245,122,140, 30, 61, 26, 0, 28,190,116,172, - 55, 55,180, 27,116, 58, 29, 40,138, 66,235,102,254,152, 55, 36, 30,143, 48, 6, 40, 21, 4,140,149, 74,140,144, 26,112,163,109, - 39,108,204, 41,193,221, 42, 5, 40,138,114,139,147,166,105,135, 34,139,195,225, 96,253,250,245, 24, 51,102, 12, 56, 28,142, 91, -124,214,207, 40, 34, 34, 98,127, 70, 70,134, 47, 65, 16,218,218,103, 36, 48, 26,141, 50,163,209,232,107, 50,153,124, 27,242,140, -254,203, 48,210,180,221,116,232, 40,205,186,243,156,220,225, 44, 43, 43, 83, 39, 36, 36,156, 22, 8, 4, 91, 3, 3, 3, 11,242, -242,242, 92, 10, 45, 91,241, 99, 91,169, 88,177, 98, 5,214,174, 93,139,126,253,250,185, 21, 78,173, 86, 11,130, 32,176,113,227, -198,122,255, 45, 92,184,176,222,245, 92,112, 18, 0,200,144,144,144,215, 14, 30, 60, 40, 51, 31,235,231,231, 7, 46,151,139, 14, - 29, 58,192,195,195, 3,167, 78,157,130,201,100,114, 59, 95,178, 96,193,226,223, 11,123, 90,196, 10,189,231,206,157,219,101,217, -178,101, 75,186,119,239,190, 51, 53, 53,117, 7, 65, 16,137, 86,101, 98, 66,109,249,154,104,254,205, 48, 76, 87,107,209, 83, 43, -214,252, 9,130, 72, 52, 31,111,253,219,252,201, 48,204, 64, 0,124,243,239,185,115,231,182, 95,182,108,217,146, 57,115,230,188, -183,116,233, 82,222,220,185,115, 99,151, 45, 91,182,196,124, 29,123,225,176,231,104, 57, 93,123,202,220, 68,117,243,230, 77, 71, - 77, 84,214, 47, 0,167,165,165,196,207,223,226,100,125, 28,238,107,217,191, 32,175,194,242, 2, 91,215,185, 37, 36, 18, 9,134, -124,252,169, 91, 78,145, 78,167, 67,113,113,177,197,101,112,181,185,203, 41, 22, 9,145, 52,179, 3,114,229,124,124,148, 86,134, -253,151,254, 4,151,203,197,227,109, 59, 96, 40,207, 3, 31,132,243, 49,243,214, 29, 24, 24,247,250,244, 50, 12, 99, 87, 96,153, -191,155,155, 80,220, 21, 90, 54,207, 40, 87,163,209,200, 51, 51, 51,213,116,205,139, 93,196, 48,140, 55, 65, 16,213,181, 46, 87, -176,187,207,232,191,140,132,184, 40,139,235,116,198, 99,128,101,255,179,202, 43,150,103,242,214,250, 79, 0, 0,253, 58, 61,234, - 50, 63,184,195, 41,151,203,213, 61, 7,244, 61, 97, 82,235,182,140, 31, 63, 62,251,216,177, 99, 34,119,194,106, 79,104,153, 93, - 91,179,200,162, 40, 10, 58,157,206,173,123,215,233,116, 14,243, 7,143,199,187, 31, 71, 11, 74,165, 82,183,103,207, 30,172, 91, -183, 14,190,190,190, 24, 60,120, 48,130,131,131,177,123,247,110, 48, 12,131,215, 95,127, 29, 34,145,200,236, 94,179, 9,144, 5, -139,255, 54,156,105, 17,193,178,101,203,150,216, 10, 25,235,223,214, 2,202, 70, 76, 89,139,181,246, 46,222,255,137,182,226,201, -124, 93,130, 32, 18,151, 46, 93,154,224, 34, 28, 37,142,132,150,211, 41,241,181, 90,109,118, 92, 92,156, 91,106, 66,165, 82, 21, -186, 18, 27,246,106,245,214, 46,129, 84, 42,133, 68, 38, 5,233,102,185,107, 48, 24, 44, 66,229,200,145, 35, 16,137, 68, 24, 54, -108,216, 3, 57, 90,122,189, 30,124, 30, 23,164, 95, 32, 38,172, 58, 6,121,181,218,242,130, 57,158,149,141, 11, 69,197,152,217, -125, 0, 36,162, 98, 40,116, 58,183,156, 55,154,166,235,137, 44,138,162, 48,122,244,104,139,155, 96,221,111, 5, 78,154, 14,125, -125,125,207, 81, 20, 21,102,245,140,132,145,145,145,192, 95,253,122, 8,154,166, 21, 94, 94, 94, 63, 3, 8, 97, 24, 38, 12,128, -135, 59,207,136,133,253,244,105,187,159,182,113,170,238,135, 83, 46,151,171, 19, 18, 18, 78,155,212,186, 45,249,249,249,167, 1, - 8, 31,121,228,145, 6, 11, 45,179,192,226,114,185, 88,185,114, 37,214,174, 93,107,249,223, 93,161,101, 52, 26,235, 8,168, 91, -183,110,213,185,150,173,176,115,209,108,202,160,102,116, 33, 29, 25, 25,105, 57, 39, 40, 40, 8, 94, 94, 94,160,105, 26, 52, 77, - 67, 40, 20, 66, 36, 18,129,199,227,177,137,142, 5, 11, 22,206,180,136,122,206,156, 57,239, 17, 4,145, 88,235, 44, 93,117, 34, -168,236,105,143,174, 54, 98,173,196,193,113, 9,246,196,150,245,119, 51,230,206,157,219,222, 54, 28,246,154, 43, 45,165,170,205, -180,251,117, 96,221, 68,213, 88, 47, 49,103, 47, 50,169,151, 12, 34,137, 4, 28, 14, 9,130, 32, 24, 87, 92,122,189,222, 82,240, - 79,157, 58,213,105,191, 21,119,251, 83,233,245,122,144, 20, 7,247,130, 34, 96, 34, 79, 90,206, 53,111, 36,197,197,221,160, 54, -224,220,188, 8,174,155, 47, 92, 91, 71,235,245,215, 95,199,166, 77,155, 64,146,164, 37, 78, 40,138, 66,171, 86,173,144,157,157, -237,148,139,162,168,176,187,119,239, 6, 88,199,163, 89,196, 50, 12, 3,147,201,132,168,168, 40, 77,102,102,230,155,108,214,125, - 48,145,229,104,191,201, 68,187,237,194,216, 59, 78, 46,151,171, 71,141, 26,117,162,178,178,114, 75,187,118,237,110,161,238, 20, - 8, 46,249, 40,138,170, 35,176,204, 34,107,205,154, 53,117, 68,145,193, 96,112,171, 34, 96, 48, 24,234, 9,158,207, 62,251,172, -206, 39, 0,244,232,209,195, 45,103, 24, 0, 67,146, 36,195,227,241, 48,104,208, 32,196,198,198,226,215, 95,127, 5, 77,211,152, - 54,109, 26, 68, 34, 17, 86,175, 94, 13,163,209,136,229,203,151,179,142, 22, 11, 22, 44,156,105, 17,237,210,165, 75,175, 46, 93, -186,212,226, 44,217, 58, 90, 14,222,187,195,107, 69,149,191, 89,164, 1,208,218, 19, 68,246, 92, 50, 91, 1,102,189,111,217,178, -101, 75,108,195, 97,219, 92, 89, 71,104,253, 93, 40,188,118, 5,159, 62, 22, 15,160,110,115,225,250, 71,219, 64, 34,149, 64,226, - 33,197,168,189, 39, 1,160,182,208,159,227,150,163,101, 22, 90,114,185,220,169,200,106,136,163, 69,242, 41,252, 24, 86, 14,134, -207, 5,165, 51,212, 17, 90, 28,138,139, 92,223, 8,144, 92, 30, 40,147,209, 45, 78,134, 97,234, 53, 21, 78,156, 56, 17, 4, 65, - 88, 70,136,197,197,197, 89,115, 17,174, 94,142,179,125,106,250,224,217, 54,199, 46, 47,213,176, 57,246,126,210,231,185,175,113, -227,167,215, 0, 0, 61,149, 74,203,179, 88, 28,247,215,216,129, 85, 87, 78, 88,220,199,143,241,246,125,113,202,229,114,245, 35, - 49,237, 79,243,124, 60,183,228,228,228,156, 6, 64, 62,247,220,115, 94,113,113,113,110,229, 73,243,224, 10, 91,145,101,237,100, -153, 63, 93,140,176,181, 18,142, 38,183, 4,148,185, 25,209,141, 52,207,152,211,182, 76, 38,131, 84, 42,181,140,184, 21, 10,133, - 16,139,197,150,254,157,110, 10, 55, 22, 44, 88,252,119,225,109, 22, 58,181, 98,169,142,211, 84,219,183, 42,193,250,183, 61,199, -171,214,129, 74,118, 81,190,238,175, 21,104,118, 97,118,214,108,206, 73,116, 36,210, 40,179,130,180,254, 12, 10, 10,250, 77, 42, -149, 70,184,123,247, 13, 25,197,102, 50,232,235, 57, 91, 4, 65, 64,234, 33,133, 72, 42,129,200, 67,234,208,245,114, 38,180,204, - 78,145,249,165,179,117,235, 86, 72,165, 82, 76,154, 52,169,193,125,180, 44, 66,139, 71,226,176,224, 40, 56,124,170,142,200,162, - 40, 10, 28, 46, 23,133,210, 96,144, 92, 46, 40,163,123, 46, 89,101,101, 37, 40,138,194,188,121,243, 44, 53,120,107,145,213,144, -123,118, 6,146, 32,204,238,150,160,101,203,150,111, 19, 4, 17, 14,160,133, 82,169, 20,220,187,119,175, 63,155, 95,157, 40, 3, -147,161,158, 11,229,200,125,189, 95, 78,179,147,197,243,241,220,210,166, 77, 27,139,147, 37, 22,139,205,163, 77, 93, 63, 99,146, -180, 43,178,108, 71, 8, 82, 20, 85,147,150, 93,140,142,180,118,180,150, 46, 93,106,225,181,118,178,204,104, 72, 62, 50,135,245, -196,137, 19,184,112,225, 2,166, 78,157, 10,145, 72,132,181,107,215,194,104, 52, 98,225,194,133, 16,137, 68,224,243,249,108,226, - 99,193,130,117,179,234,104, 17, 27,148,216,244,131, 34,108, 68, 77,137, 61,129,101,221, 76,104,254, 78, 16,132,193, 14,175,206, -166, 73,209,118,191,249, 83,190,116,233,210, 99,102, 39,203,106,127,157,112,184,116,180, 4, 2, 65, 68,102,102,166,101, 34, 76, -103,159, 58,157, 14,253,250,245,115,219, 25, 51,143, 58,164, 40, 78, 29, 97, 33,246,144, 66, 44,243,128, 72, 42,181, 21, 28,132, -171, 66,220, 92, 35,182, 22, 90,243,231,207, 7, 69, 81,216,180,105, 19, 0,224,237,183,223,118,187,143,150,153, 19, 38, 2,121, -204,109,196,175,122, 22,186,239, 12, 40, 74,249, 3, 20, 69, 33,160,219, 80,208,143, 60, 11,149, 72, 10,202,100,116,123,212, 97, - 89, 89, 25,178,179,179,193,225,112, 48,107,214,172, 58,115, 29,217,142,100, 59,114,228,136,203,123,183,231,100,205,207, 41,179, -240,136, 68, 34,242,143, 63,254,136,160,105, 58, 82,173, 86,183,236,209,163, 7,205,102,101, 23,162,136, 54,186, 37,170,220, 77, -159,182,156,230, 62, 89,149,149,149, 91,114,114,114,206, 0, 32,199,143, 31,239, 37, 22,139,241,205, 55,223,168, 0,240,119,239, -222, 45,114, 37,138,204,233,198,149,200,226,114,185, 53,105,217,157,123,103,234, 78, 89,226,170, 99,188, 59,105,222, 28, 86,130, - 32, 96, 50,153, 32, 18,137,234, 56, 89, 66,161, 16, 2,129,128, 77,120, 44, 88,176,112, 85,150,164,187, 93,142, 51, 76, 87, 43, - 81,149,126, 63,188, 13,185,158, 43, 80,142,132,134, 86,171,197,245,235,215,221,229,113,123, 98,204,102, 93, 30,197,199,249,149, - 32, 8, 2, 95,245,104, 7,137, 76, 10,177, 68,130,145,191,158,176, 20,220, 87,150,188, 13,129, 68,138,144, 94,131,221, 42,200, -205, 77,135,214, 66,171,162,162, 2, 92, 46, 23,139, 22, 45, 2, 73,146, 88,190,124, 57, 66, 67, 67,113,239,222, 61,236,222,189, -219, 45, 71,139, 99,226, 32,248,133, 24,136, 39,122, 66,246, 66,111,120, 15,154,143,124, 29,133, 84,141, 24,189, 53,215,192, 63, -188, 6, 58,218,228,246, 8, 44,163,209,136, 19, 39, 78,216,118,120,183,244,169, 50, 26,141, 48, 24, 12,208,235,245, 88,190,124, -185, 59, 35, 60,235, 61, 55,115, 28,214, 78,130,202,201,200,200,240,103, 24,198, 7,128, 39,128, 82, 54,187, 58, 71,112,183,215, -225,223,229, 85, 0,192,222,165, 47, 90,246,207,187,242, 87,250, 92,249, 93,205, 2, 0,109, 90, 12,110, 16,167, 92, 46, 87, 63, -222,175, 71,178,134,230,110,238,208,161, 67, 29, 39, 75, 40, 20, 18,181,191,221,178,203, 72,146, 4,135,195,169,215, 92,232, 72, -108,185,211, 71,203,104, 52, 90, 38, 18,117,214,159,241,126, 28,173, 23, 95,124, 17,193,193,193, 22, 39,235,227,143, 63,134, 72, - 36,194,220,185,115, 97, 48, 24,176,102,205, 26, 54,241,177, 96,193,226,111, 23,101,127, 7,236,150,164, 26,141,230, 78,108,108, - 44, 28,252, 23, 42, 20, 10,185, 54, 55, 21,210,170, 85,171, 12, 59, 77,136, 3, 1, 36,217, 43,212, 9,130,128,135,204, 3, 66, -169, 4, 98, 27, 23, 75,232, 33,131, 64, 42, 5,201,179, 91,152,215,227, 52,247, 45,177, 22, 90,230,173,178,178, 18, 92, 46, 23, -235,214,173,131, 76, 38,131, 86,171,117,201,105,126,233,112, 56, 28,168,114,171,113, 99, 73, 18,248,194, 84,180, 28, 60, 6,193, - 92, 17,120,167,126,134,218,100,112, 53, 97,105, 61,206,232,232,104,124,248,225,135,245,166,117,112,132,208,208, 80,151,247,110, -235,100,173,108,215, 28, 60, 62, 15,111, 93,203,133, 86,171, 37,198,140, 25, 67, 3, 80, 3, 40, 81,171,213, 57,238,196,103, 35, -224,161,231,116, 54, 42,214, 12,154, 49,217, 19, 48,118, 57,205, 78,150,134,230,110,206,206,206, 54, 59, 89,158, 98,177, 24, 27, - 54,108, 80, 1, 32, 23, 46, 92, 40, 14, 15, 15,231,184,147,150, 56, 28, 14, 86,173, 90,101,183, 79,150, 61,209,213,144,124,100, -125,110,159, 62,125,236, 78, 88,234, 64,188,213,227, 52,135,213,215,215,215,226,100,153, 76, 38,203,104, 67,243,236,243, 78, 42, - 21,108,250,100, 57, 89,206,255, 14,231,191, 18,118, 75,224,123,247,238, 61,238,232,132,168,168,168,204,204,204,204, 86,230,165, - 56,106, 11, 78,158, 70,163,137,238,209,163,135, 75,107,135,166,105, 8, 4, 2, 48, 12,131,254, 31, 46, 3, 65, 2, 36,234,190, -196, 2, 30, 27, 0, 14,135, 2, 93,179,212,135,203, 81,135,106,181,186,206,203,193,222,166, 80, 40,160,213,106,221,158,205, 91, -163,209,212,153,130,129, 96,104,220,253,125, 87,189,209,135,230,205,221,126, 59, 66,161,176, 78,211,143, 11,199,138,112,199,209, -178,110,122,228,241,121,160,120, 92,179,163, 85,125,235,214,173, 81,108, 50,119, 31,230, 1, 11, 0,208,186,199, 48,208,180, 9, -140,201, 84,103,153,164,152,136,199, 65, 51, 38,232, 13, 42,104,181, 90, 87,211,158, 16,165,165,165,234, 81,163, 70,157, 0,240, -237,136, 17, 35, 50, 80, 51,187, 48, 35,149, 74, 5, 92, 46,151, 6, 80, 6,128, 41, 47, 47,247,204,207,207,167, 53, 26, 77,115, - 87,225,220,191,127, 63,174, 95,191,142, 94,189,122,213, 89, 14,202,236,138, 90,207,238,238, 78,250, 52, 55,151,219,155, 17,222, -145,144,115, 23, 28, 14, 7,158,158,158,224,241,120, 88,180,104, 17,120, 60, 30,196, 98, 49, 0, 96,205,154, 53,150,201, 87, 89, -176, 96,193,226, 63, 35,180, 92,149,155, 78,154, 21,157, 54, 33, 26,141,198,188,240,240,240, 6, 93,204,100, 50, 21,185, 16,110, -121,187,119,239,230, 89,187, 16,174, 62, 25,134, 41,114,241,178,205,219,187,119, 47,207,158,187,225,104,129,105, 87,156, 38,147, - 41,175, 69,139, 22, 14, 29, 19,123, 48, 24, 12,249,174, 68,235,178, 18,117, 29,145,240,214,181, 92,135,107, 39,178,112,153,214, -156,164,207,247,239, 55,125,222,106,221,186,117,190,151,151,215,129,192,192, 64,121, 74, 74,138,111,215,174, 93,125,173,143,233, -218,181,107,176,205,105, 58, 56, 94,231, 16, 4, 65,228,141, 24, 49,194,110,154, 55,139, 38, 59,233, 51,207, 85,154, 63,123,246, - 44,207,250,124, 71,252, 86,249, 40,207, 13,225,122, 55, 62, 62,158,180,230,113,148,246, 13, 6, 67, 9,155, 10, 89,176, 96,241, -159, 23, 90,106,181, 58, 55, 54, 54,214,232,224,191, 28,103,231,202,229,242, 46,141,125, 3, 6,131,161,199,195,192, 89, 90, 90, -218,168,247,110, 52, 26,243,106, 39, 40,117,122, 12,155,196,255,185,103, 4, 0,197,197,197,143, 0,128, 82,169,132,171,101,117, - 26, 32, 8, 27, 61,125, 26,141,198, 30, 77, 17,167,101,101,101,221,217,148,197,130, 5, 11, 86,104, 53, 0,236, 98,196,255, 31, -104, 10,209,202,130, 5, 11, 22, 44, 88,176,104, 92,144,108, 20,176, 96,193,130, 5, 11, 22, 44, 88, 52, 13, 8,212,140, 28,176, -135,134,140, 38, 24,120, 31,215, 78, 98, 57, 89, 78,150,147,229,100, 57, 89, 78,150,243, 63,199,233,138,155, 29,205,216,196, 2, -140,229,100, 57, 89, 78,150,147,229,100, 57, 89,206,255, 30,231,191, 18,108,211, 33, 11, 22, 44, 88,176, 96,193,130, 69, 19,129, - 98,163,224, 31, 3, 7, 13,152, 81,223, 21, 24,134,241, 6,224,104,193, 56, 29, 65, 16,229,247,193, 73, 0,224,213,110,230,137, -142, 12, 0,244, 0,244, 4, 65, 48,174, 57, 62, 34, 11, 10,188,219, 51, 38,110, 87,134, 32,184, 52,141, 75,205,155, 55,187, 72, - 16, 67,117, 0, 32, 9,140,105, 43,149,136, 6,106,245,186, 8, 1,151,127,189, 66,169, 56,162, 45,206,188,195, 38, 15, 22, 44, -254, 17, 60, 1, 96, 1,106,186,149, 44, 5,176,139,141, 18, 22, 44,154, 72,104, 73,165,210,115, 36, 73,134,185,154,159,199,140, -218,181,204,242,202,203,203,187, 52,224,218,163,164, 82,105, 63, 46,151,251, 24, 0, 24, 12,134, 20,133, 66,113, 12,192,110, 0, -198,251,188, 39, 25,128,209, 0,198,213,254,254,190,182,176,168,186, 79,190, 88, 79, 79,207,159,184, 92, 46, 83, 90, 90,218, 13, - 0,124,125,125, 79, 27, 12, 6,162,170,170,106, 36,128,203, 13,228, 35,185, 92,238,202,110,221,186,245, 62,121,242,228,183, 0, -214, 53,210,179, 20,144, 36,105, 87,160,208, 52,221,226, 62, 68, 22, 15,128,231,186,117,235,124,183,111,223, 30,159,151,151,215, - 1, 0,194,194,194,174,140, 31, 63,254,226,244,233,211,229, 12,195, 84, 18, 4,161,119,198, 83, 80,224,221,190,184, 48,107,106, - 81,241,245,209, 0, 16, 20,220, 97, 23,135, 67,242, 24,230,124,154,216,111,156, 95,171,150, 45, 94,221,249,205, 58, 94,139,136, -102, 56,154,122,161,227,244, 55,223,107,159, 15,172, 96,197,214,223, 7, 15, 15,143,115, 36, 73,134, 57,203,227,246,242,188,201, -100,202, 43, 43, 43,235,226,136,147,162,168, 48,103,229,133,189,125, 52, 77,103,149,150,150,218,157,106, 66, 38,147,165, 81, 20, - 21,225, 46,151,249,211,104, 52,230, 57, 26,165, 43,147,201,206,113, 56,156, 48,103,247,105,239, 63,154,166,179, 74, 74, 74, 28, -133,179,222,189, 55, 70, 56,239,135,211, 89, 56,205,229, 17,128, 53,190,190,190,143,202,229,242,231, 1,188, 87, 85, 85, 21,199, -225,112,224,227,227,243,158, 78,167,251,211,211,211,243,235,202,202,202, 84, 0,111, 2, 96,215, 75,101,193,162,177, 32,147,201, -138, 20, 10, 5, 99, 6, 77,211,140,193, 96, 96,180, 90, 45,163, 86,171, 25,165, 82,201, 40, 20, 10,166,170,170,138,169,172,172, -100,228,114, 57,227,239,239,111, 59,121,163,163, 54,220, 14, 50,153, 44,115,217,178,101,218,236,236,108, 70,175,215, 51,122,189, -158,185,115,231, 14,243,233,167,159,106,101, 50, 89, 38,128, 14, 14,206, 29,232,160,176, 24, 4, 96, 71,124,124,188,110,255,254, -253,140, 70,163, 97,148, 74, 37,179,107,215, 46,166, 93,187,118, 58, 0, 59,106,143, 33,221,228, 4,128,158, 65, 65, 65,121,183, -111,223, 54, 29, 57,114, 68,239,233,233,153,228,233,233,153,116,231,206, 29,211,237,219,183,105, 63, 63,191, 60, 0, 61, 27, 16, - 78, 0,120,246,173,183,222, 42,186,115,231, 14,211,167, 79,159, 75, 86,251, 9,184, 94,231,110,160, 61, 39,139, 97,152, 32,134, - 97,130, 81, 51,201,101,189,141, 97,152,224,218, 99,188,221,228,148,100,101,101, 53, 11, 12, 12, 92, 70, 16,132,206,150,143, 32, - 8, 93, 96, 96,224,178,172,172,172,102, 12,195, 72,156,113,230,229,172,127,233,192,254, 1, 21,202,242,155,140,178,252, 38,243, -237,230,190, 85,175, 76,127,126, 71,112, 84,167, 77, 94, 97,237,215, 93,191,121,107, 35,195, 48, 27,143,165,103,110,156,255,229, -111, 27,159,158,190,122,131,111,120,252, 43, 13,136,207, 7, 1,203, 9,192,203,203,171, 80,169, 84, 50, 12,195, 48, 38,147,137, -209,235,245,140, 86,171,101, 84, 42, 21,163, 80, 40,152,234,234,106, 75, 62,175,172,172,180,124, 15, 8, 8,112,152,223,189,189, -189,139,212,106,117,157,178, 67,167,211, 89,202, 15,149, 74,197,168, 84, 42, 70,169, 84, 90, 54,133, 66,193,132,132,132,228, 58, - 9,231, 61,115, 56,105,154,102,140, 70, 35,163,215,235, 45,188, 26,141,166,206,166,213,106, 25,173, 86,203,132,135,135,187, 29, - 78,119, 56, 53, 26, 13, 19, 22, 22, 86,224,136,211,199,199,167, 72,163,209,212,225,180,190,127, 91, 94,243,239,160,160,160,194, -134,112,186, 19, 78,103,241, 89,139,117, 25, 25, 25,140, 90,173,102, 66, 67, 67,229, 35, 71,142, 52,152, 76, 38,102,255,254,253, - 76,124,124, 60,221,183,111, 95,125,105,105, 41, 51,105,210, 36,198, 73,165,144,205, 71, 44, 39,139,251,113,180, 8,130,128, 68, - 34,193, 15, 63,252,224,112, 57, 14,235,239,205,155, 55,119,247,154, 93, 34, 34, 34, 78,156, 58,117, 74, 20, 28,252,215,132,216, - 58,157, 14,222,222,222,152, 54,109, 26,255,137, 39,158,104, 53,120,240,224,211,119,239,222,237, 3,224,156, 11,190,103,252,253, -253, 63,159, 55,111, 94,224,115,207, 61, 7, 95,223, 58,147,110, 99,212,168, 81, 24, 57,114, 36, 47, 35, 35, 99,204,214,173, 91, -199,172, 95,191,190, 80,161, 80, 76, 7,240,179, 51, 82,145, 72, 52, 34, 36, 36,100,195,169, 83,167, 2, 2, 2, 2, 16, 25, 25, - 73,190,243,206, 59,173,162,163,163, 69, 97, 97, 97,228,189,123,247,240,235,175,191,134,142, 29, 59,246,199,162,162,162, 87,245, -122,253, 30, 55,238,157,239,235,235,251,222,171,175,190,234, 87, 85, 85,101, 60,127,254,124,166,121, 63,159,207, 95,216,189,123, -247,174,199,143, 31,255, 14,192,215,247,227,100, 49, 12, 83,133,191,154,248,204, 48,152,255,119,199,217, 98, 24,134,127,233,210, - 37,159,238,221,187,255,172,213,106, 59, 77,157, 58, 53,103,201,146, 37, 34,153, 76, 38, 3, 64, 84, 85, 85,149, 47, 88,176, 64, -183,122,245,234,119,219,182,109, 59, 32, 45, 45,237, 25,134, 97, 12,181,130,172, 62, 31, 65, 88,194,147,155, 95,130, 19,169, 52, -255,195,185,111,135,125,178, 56,226,110,250,181, 92,154, 18,201,176, 47,249, 42,138,228, 10,252,150,118, 13, 65,190, 30, 4, 79, -192,109,239, 25,218,174, 79,101,254,181,100, 56,153, 33,157, 69,227,128, 32, 8,136,197, 98,236,219,183,175,222,210, 85,246,150, -181,162, 40, 10, 94, 94, 94, 46, 87, 55, 16, 10,133, 56,114,228,136,221,181, 23,237, 45,233,227,233,233, 9,103,149, 13,130, 32, - 32, 20, 10,145,146,146, 2,146, 36,237, 46, 13,100,187, 79, 34,145,128,116,178,214,149,153, 51, 57, 57,217, 37,151,249, 83, 42, -149, 2, 53, 77,255,142, 51,165, 64,128, 83,167, 78, 57,188,103,219,239,210,218,245, 94, 93,113,166,164,164,212, 89,250,203,118, - 73, 48,235,223, 18,137, 4,132, 11, 82,111,111,239,110, 97, 97, 97, 56,123,246, 44,118,239,222,237,211,190,125,123,220,186,117, - 11, 4, 65, 96,201,146, 37, 68,187,118,237,184,133,133,133,232,213,171, 23,126,249,229,151, 30, 85, 85, 85,108,134, 97,241,143, -128, 97, 24, 46,128,142, 0,252, 81,211,237,166, 26,128, 23,106, 86,210,224, 3,144, 3, 16,213,110, 90, 0, 10, 0,126,181,167, -151,214,150, 45,214, 2,161,196,122,241,105,134, 97,186,214,114,155, 87,168,240,183, 58,214,124, 13,219,223,182,159,118,185, 41, - 0, 72, 76, 76, 52,191,204,250, 38, 36, 36,156,176,190, 57,119, 68,150,121,157, 50, 59,121,218,118,136,166, 64, 34,145,252,116, -250,244,105,145,191,255, 95,247,160,213,106, 81, 93, 93, 13,133, 66,129,234,234,106,120,120,120, 96,247,238,221,162, 1, 3, 6, -252, 84, 93, 93, 29, 93, 27,105,142, 56, 87,221,187,119, 47,208,104, 52,130,207,183,223, 69,137, 36, 73,196,196,196,224,189,247, -222,195,144, 33, 67,130,250,245,235,183,202, 70,104,213, 27, 74, 42, 22,139, 55,156, 63,127, 62, 64, 44, 22, 35, 51, 51, 19,121, -121,121,120,235,173,183,154,209, 52,141,220,220, 92,220,186,117, 11,249,249,249,216,186,117,107,192, 83, 79, 61,181,193,142,208, -178, 55, 60,117,234,204,153, 51,219,120,123,123,147,159,126,250,105,133, 82,169,252,162,118,255,135,107,215,174,125,161,119,239, -222, 1, 83,166, 76, 97, 82, 82, 82,182,215, 62, 56,135,241,105,221, 39,171,182,153, 15,181,137,239,134,205, 57, 49, 86,255,131, - 97,152, 32, 0, 90,130, 32, 42,236,112, 18, 0, 60, 7, 15, 30, 60, 75,171,213,118, 58,117,234,212,159,143, 61,246, 88, 56,128, -123,230,196,231,233,233, 41, 89,181,106, 85, 96, 66, 66, 66, 70,255,254,253, 59, 13, 30, 60,120, 86, 73, 73,201, 18,134, 97, 74, -172,250,108, 89, 56,105, 26,151,130,130, 59,236, 74, 78,155, 62,250,120,138,142,247,246,155,243,115,154, 55,107, 81,121, 41,179, -204,116, 45,171, 4,213,106, 35,158,238, 95,179,128,121,183, 14,205,241,249, 15,167, 48,109,198,251,220,159,119,109, 27,249, 39, - 3,137,162,224,218,126, 39,241,249,160, 96, 57, 97,105, 98, 2,151,203,197,208,161, 67, 65, 16, 68,189,181, 60,185, 92, 46,210, -210,210,208,191,127,127,112,185, 92,188,248,226,139,110,113, 82, 20,133,193,131, 7, 91,214, 81,180,230,179, 21, 13, 14, 52, 65, -146, 77, 97, 11,138,162, 64,146,164,195,133,180,109, 57, 93,149, 75,230,112, 58,227,178,254,207, 85, 56,107,151, 60,114, 91,100, -185,203,105, 14, 39, 69, 81,232,209,163, 7, 46, 94,188,232, 84,116, 57,208,151,117,238,189,188,188,124, 66,116,116,116,242,186, -117,235,124, 0, 64, 46,151, 91, 22,188,231,112, 56,184,121,243, 38,116, 58, 29, 62,250,232, 35,125, 85, 85,213, 20, 54, 31,177, -156, 77,201,233, 76,139, 0,232, 61,119,238,220, 46,203,150, 45, 91,210,189,123,247,157,169,169,169, 59, 8,130, 72,100, 24, 38, -193,252, 57,119,238,220,246,203,150, 45, 91, 50,103,206,156,247,150, 46, 93,122,149, 32,136, 68, 0,176,253, 93, 91,150, 36,216, -136, 56,127, 51, 79,109,158,171,115,172,189,223,182,159,246,184,235, 56, 90, 9, 9, 9, 68,237, 77, 18,214,133,154,187, 66,203, -157,181,251, 40,138,122,125,201,146, 37,129,206, 68,150, 66,161, 64, 65, 65, 1,194,195,195,241,226,139, 47, 6,174, 91,183,238, -117,163,209,248,153, 19, 90, 30,135,195,193,217,179,103, 81, 92, 92,140,216,216, 88, 68, 68, 68,212, 57,224,246,237,219, 56,112, -224, 0, 42, 42, 42,208,185,115,103,160,166,115,183, 93,196,197,197,125, 20, 19, 19, 51,152, 36, 73,163, 72, 36,194,165, 75,151, -208,169, 83, 39,252,240,195, 15,104,222,188, 57,196, 98, 49, 50, 50, 50, 16, 27, 27,139, 19, 39, 78,192,223,223, 31,241,241,241, -198,170,170,170,147,101,101,101,199,238,222,189,251,145,163,112,134,134,134,206,127,229,149, 87,248, 5, 5, 5,244,150, 45, 91, - 78, 1, 56, 5,224,245,247,223,127,127,242,144, 33, 67, 2, 46, 92,184, 80,153,158,158,126,198,129,200,114,199,201, 50,218,190, -148, 76, 38,147, 86,173, 86,235,180, 90,173,129, 36,201, 59, 4, 65,232, 76, 38, 83,180, 35, 19, 98,226,196,137, 81,165,165,165, -211,102,204,152,145, 93, 43,178,110,162,166, 3, 60, 0,192,104, 52,106, 21, 10, 69, 85,247,238,221,195,199,142, 29,251,231,142, - 29, 59,166, 77,156, 56,113,247,150, 45, 91, 20, 0,212,182,132,205,155, 55,187,200,225,144, 60,101,181, 79,214,143,187,191,158, -121, 96,239,235,205,114,115,243, 91,249,250,249, 43,121, 82,255,130,221,223,111, 62, 7, 64, 87, 80, 82,133,203,183, 11,193,229, -114,112, 61,183, 18,189, 31, 31,197,253, 51,115,113, 79, 0,251,217,186, 92,211, 87, 22,205,139, 80, 31, 63,126,220,169,163,149, -150,150, 6, 46,151, 11,145, 72,132,213,171, 87, 59, 37, 53, 11, 3,179, 91,228, 74,204,152, 23, 71,119,230, 62,209, 52,109, 89, -232,221,118,251,226,139, 47, 48, 99,198,140, 58,215,168, 21, 27,132, 43, 78, 71,225, 11,111,209, 2,197, 69, 69,117,246,185,179, - 40,189,201,100, 2,151,203,197,166, 77,155,144,144,144,128,196,196, 68,167,159, 67,135, 14, 5, 73,146,140, 59,241,217,163, 71, - 15,232,245,122, 75,152,111,222,188,105,151,119,253,250,245,174,130,249, 4,128, 5,157, 58,117,146,245,235,215, 15,201,201,201, - 24, 57,114,164, 86,175,215,103, 2,192,240,225,195, 91,175, 91,183,142,127,254,252,121,248,250,250,114,115,114,114,190, 5,219, - 65,158, 69, 19,195,158, 22, 49,191,243,150, 45, 91,182,196, 86,196, 88,195,252, 63, 65, 16,137, 75,151, 46, 77,176, 22, 69,214, -191,205,174,147,141,136,107,111,237, 72, 89,139, 40, 71, 2,202,230,125,107,125,124,137, 93,161, 85,123, 99,125,173, 93, 32,115, -225,235, 74,100, 57,169, 57,214,129,167,167,231,176,167,159,126,218, 34,114, 52, 26,141, 69, 96,153, 69,150,249,119, 70, 70, 6, -186,116,233,194,243,244,244, 28, 38,151,203, 63,115, 67,196, 33, 36, 36, 4,165,165,165,184,114,229, 10,194,195,195, 97, 48, 24, -112,232,208, 33, 84, 86, 86,130,203,229,130,199,227, 65,175,119,218,119, 27, 49, 49, 49, 67,183,111,223,222,101,219,182,109,229, -230, 26,221,247,223,127, 15,134, 97,224,239,239, 15,149, 74,133,162,162, 34, 28, 59,118, 12, 70,163, 17, 82,169, 20,145,145,145, -252, 17, 35, 70,244, 92,176, 96, 1,215,137,208,234, 49,114,228, 72, 79,153, 76,134, 55,223,124,147,209,235,245, 75,107,247,205, -159, 62,125,186,239,157, 59,119,116, 47,189,244,210, 89,189, 94,255,169,217, 76,180, 22, 56, 14, 30,172, 67, 39,203, 96, 48,152, -227, 52, 91,161, 80,192,207,207, 47,220,218,217,114, 36, 6, 83, 82, 82,122, 0,224, 44, 92,184, 80, 8,160,200, 58, 12, 58,157, - 14, 10,133, 2, 74,165,210, 80, 89, 89, 89, 60,123,246,108,227,142, 29, 59, 56,181,231, 92,183, 39,180, 8, 98,168, 78, 38, 19, -243, 25,134,243,254,198,141, 27,165, 67,134, 12, 33,165, 82, 41,170,171,171,101,191, 29, 60, 40, 29,208,175,103,228,146,101,159, - 28,150,133,197, 22,165, 92,202, 66,126, 97, 37,116, 6, 3, 34,131, 61,107,252, 48, 22, 77,142,218,129, 44, 22, 71,203, 90, 84, - 36, 39, 39,227,241,199, 31,183,228,117, 30,143, 87,199,249,114,197, 73, 81, 20, 30,127,252,241,122, 14,207,241,227,199,237,186, - 79,174, 96, 45,138,108,197,145, 61, 1, 70,146,164,203, 5,214,205,110,158, 61,177,101,237,234,219,136, 55, 87,205, 28,160, 40, - 10,211,167, 79, 7,151,203,197, 59,239,188, 3,138,162, 16, 31, 31, 15,138,162,208,189,123,119,112,185, 92,244,239,223,191,193, -247,126,250,244,105,116,234,212,201, 18,166,248,248,120,116,237,218, 21, 20, 69,161, 87,175, 94,224,114,185, 24, 60,120,176, 59, -156,239, 85, 87, 87,199, 73, 50, 7, 8,223, 0, 0, 32, 0, 73, 68, 65, 84,165, 82,100,100,100,128,195,225,128, 32,136, 91, 0, -226, 0, 32, 56, 56,248, 79,149, 74, 21,165,209,104,240,202, 43,175, 16, 58,157, 46,246,157,119,222,121, 95,163,209,176, 66,139, - 69,147,193, 86,139, 88, 65, 61,103,206,156,247, 8,130, 72, 52, 59, 84,182,206,147,189,223,118,202, 38,179, 3,149, 94,155, 87, -187,218,136,184, 18,130, 32,210, 25,134, 25,238,232, 92, 0, 58, 27, 97, 85,167,233,208,186,217,208,165,163,101, 46,124,221, 21, - 90,174,160,209,104, 58, 6, 4, 4, 56, 20, 89,214,159, 58,157, 14, 17, 17, 17,208,104, 52, 29, 27,250,210, 8, 14, 14,134, 94, -175,199,215, 95,127, 13, 30,143, 7, 30,239, 47,125,161,211, 57, 55,139,174, 93,187,150,125,250,244,233, 78,157, 59,119,246,254, -229,151, 95, 74,250,244,233,227, 63,100,200, 16,136, 68, 34,168,213,106, 24, 12, 6,116,235,214, 13, 49, 49, 49,200,203,203,195, -111,191,253, 86, 26, 29, 29,237,119,230,204, 25,186,176,176,240,174, 19,234, 65, 3, 6, 12, 0, 65, 16, 56,120,240, 96, 41,128, -116,129, 64,112, 96,241,226,197,222, 58,157,142, 30, 63,126,124, 78, 89, 89,217, 12, 0,122, 62,159,191,182, 79,159, 62,221,147, -146,146,190,163,105,122,117, 67, 19,170,109,220, 42,149, 74, 8,133, 66,119,166,146,224,150,149,149,117, 0, 0,137, 68,226, 3, -224, 79, 75, 10, 87,171,235,136, 97,157, 78,167,241,241,241,145, 0, 64,237, 57, 92, 7,156,254, 70, 35,126,188,123, 55,203,195, -186,255,156,151,151, 23,198,141, 29, 75, 62,214,163, 7, 63,174, 99,199,193, 31,172,216,246, 67,136,175, 76, 23, 25,226, 11,131, -201,128,164,195,135,104,134, 54, 28,102,139,157,191, 71,104,153,197,134,173,163,197,229,114,113,226,196,137,122,251,120, 60, 30, -190,250,234, 43,183,132,129, 89, 84, 57,106, 58,179,105,234, 34, 92, 9, 24, 46,151, 11, 14,135,131, 77,155, 54,129,166,105,204, -156, 57,179, 78,115,162, 53,191, 91,118,158,149, 8,140,153, 79, 3,208, 33,111,165,192,114,190,109,120,107,207,113,203, 37, 91, -183,110,157, 91,142,214,240,225,195, 93, 10, 87,235, 22, 6,235,112, 93,188,120,209, 46,239,198,141, 27, 93,198,167,201,100,194, -254,253,251, 45, 34,213,140, 15, 62,248,224, 21, 62,159, 31,120,242,228, 73, 20, 22, 22, 66,169, 84, 66,161, 80,160, 91,183,110, -145, 36, 73, 94, 42, 44, 44,188,115,253,250,245,167,217,220,195,226,111,116,180,180, 75,151, 46,189,186,116,233, 82,187,142,149, -173,179,228,204,121, 50, 11,172, 90, 65,228,111, 22,111,168,233, 86,147,238,234, 92, 0,124,219,166, 67,167, 70,144,141,138, 92, - 96,175,240,117,167,249,208, 77, 59,157, 34, 8, 2, 26,141,198,174,192,178, 22, 7,122,189, 30,101,101,101, 48,153, 76,247, 61, -215,151,189,154,172, 43,161,117,229,202,149, 73,147, 39, 79, 46,240,244,244,140, 43, 41, 41, 41,166,105,186,127, 90, 90,154, 63, - 69, 81,144,201,100,144,201,100, 56,112,224, 0,196, 98, 49,166, 79,159, 94,108, 50,153,146, 61, 60, 60,124,213,106,245, 31,133, -133,133, 31, 56, 84, 48, 92,238,224, 94,189,122,225,252,249,243, 40, 47, 47, 63, 2, 32,254,249,231,159,127,188, 89,179,102,196, -226,197,139, 53,183,111,223, 94, 13,160, 88, 34,145,108,223,190,125,123,191,206,157, 59,123,140, 31, 63, 30, 39, 78,156,216, 8, - 64,227,238, 61, 43,149,202, 58, 2,171,170,170, 10,213,213,213,144, 72, 36, 70, 55,227,140,139,191, 70, 24,130, 97, 24,203,179, -169,117,179,204,207,135,161, 40,202, 60,170,209,145,200,130, 68, 34, 89,184,109,219, 54,145,237, 32, 5,147,201,132,162,162, 34, -200,100, 50,204,251,224, 3,222,199,111, 77,233,196,145, 6,166,145, 36, 1,157,158,169, 96,104,221, 33,101,209,115, 39,129,143, -216,146,231,111,128, 89, 24, 60,249,228,147,245,154, 11,121, 60, 30,142, 28, 57,130,167,158,122,202, 82,113,233,220,185,179,203, -202,149, 89, 24, 60,241,196, 19, 22,103,232,208,161, 67,118,155,253,204,142,148, 59,130,208,124,236, 27,111,188, 1,138,162,240, -249,231,159, 99,214,172, 89, 32, 73, 18, 43, 87,174, 4, 73,146,248,240,195, 15,221, 22,153,214, 2,230,206, 39, 53,159, 97,179, -170, 32, 95, 31, 8, 0,240,144,201,204, 55,212,160,178,135,162, 40,139,147,213,177, 99, 71,112,185, 92,116,239,222, 29, 20, 69, - 89,156,172, 97,195,134, 89,199, 35,227, 14, 39, 69, 81,200,204,204,180,132,185,123,247,238,117,156, 44,138,162, 48,124,248,112, -119,130,185,196,203,203,107, 65, 76, 76, 76,219, 85,171, 86,113, 57, 28, 14, 6, 12, 24,208, 58, 40, 40,232,174,209,104,244, 93, -184,112,161,216,206, 57, 34, 0,113,109,219,182,149,176,185,134, 69, 19, 58, 90, 11,236,252,229,109,221,231,170, 1, 21,201, 68, -235,227,205, 28,182,226,168,214, 33, 75,118,197,101,239, 92, 87,160,204, 10,210,153,165,238,142,208,170,181,157,157, 94, 76, 44, - 22, 95, 46, 46, 46,238, 46, 18,137,234,136, 44,123,130,139,195,225,160,176,176, 16, 98,177,248,178, 86,171,109,180,135,232,170, -233, 16,128,230,214,173, 91,111, 89,253, 30, 56,108,216,176, 45, 71,142, 28, 9, 78, 74, 74,194,153, 51,103,224,239,239,143,117, -235,214,221, 43, 42, 42,154, 4,224, 72,105,105,169,203,235, 70, 69, 69,117,144, 74,165, 72, 73, 73, 1,128, 19, 0,166, 76,155, - 54,141, 48, 24, 12, 88,191,126,189, 18,192, 65, 47, 47,175,253,187,119,239,238, 20, 23, 23,199, 79, 74, 74,170, 58,115,230,204, -239,110,138, 44, 19, 77,211,245, 4,150,117,156,122,120,120,184,227,104, 25, 60, 61, 61,175, 84, 85, 85,141, 82,171,213, 85, 2, -129,192,163,170,170, 74,107, 45,176,204,252, 20, 69,113, 51, 51, 51, 11, 0, 68,122,122,122, 94,129,131,102, 78,138,162, 6, 12, - 24, 48,128,178,125, 6, 69, 69, 69, 40, 44, 44,132, 94,175, 71,231,206,157, 9, 14, 97,224,148,231, 94,182,153,214,129, 21, 89, -127,147,163,197,152,243,186,121,148,160,189,145,134,135, 14, 29,178,252, 38, 73, 18,155, 55,111,118, 75, 20, 29, 57,114,196,105, -135,117,155,166, 67,151,214,184,249,248, 47,191,252, 18, 12,195, 88,156, 44,146, 36, 49,103,206, 28, 8, 4, 2, 44, 94,188, 24, -115,230,204, 1, 69, 81, 46,155, 14,173, 5, 76,139,119, 84,214,149,163,154, 76, 81,219, 31,138, 32, 8,107,177, 69,184, 43,222, -156,185,121,238,180, 4, 88,115,154,207, 19, 10,133, 14, 59,194,219,112, 58,187,192, 62, 0, 89,193,193,193, 41,221,187,119,247, - 60,119,238, 28, 86,174, 92,201,211,106,181,205,147,146,146, 44,215,181, 23, 95, 74,165, 82,196,230, 28, 22, 77,225,102, 57,249, -187,196,166,127, 21, 97,221,140,231,228,211,246,120, 88,237,179,230, 45, 33, 8,194, 96,231,122, 37,118,196,149,237, 53,172,143, - 41,113,232,104,185, 42, 44, 92, 9, 46,119, 28, 45,149, 74,245,251,193,131, 7,187,142, 29, 59,150,114,214,108,168, 84, 42, 17, - 24, 24,136,171, 87,175, 26, 85, 42,213,239,110, 56,101,141, 41,180,108,145, 84, 92, 92,204, 49, 24, 12,104,213,170, 21, 66, 67, - 67,161,209,104, 80, 81, 81,193, 1,112,196, 77, 14,158, 68, 34,225, 0, 64, 69, 69, 5, 80, 51,212,180,117,116,116, 52,206,159, - 63,143,178,178,178,159, 1, 12, 89,176, 96, 65,231,110,221,186,241,126,248,225, 7,213,212,169, 83,127, 54, 24, 12,110, 41, 13, -154,166,117, 70,163, 49,130, 36, 73,125, 69, 69, 69,190,117,124, 6, 6, 6,250, 72, 36, 18,162,168,168,200,224,142,208,138,139, -139, 59,155,147,147,131,133, 11, 23,150, 44, 89,178, 36,186,186,186,186,188,178,178,210,104, 45,182, 52, 26, 13,233,231,231, 39, - 88,191,126,189, 8, 0,226,226,226,206, 58, 18, 90, 74,165,178,153, 88,252, 87,197, 88,171,213,162,176,176, 16,133,133,133, 40, - 42, 42, 66,117,117, 53, 34, 35, 35,161, 82,169,194,217, 98,230, 31, 19, 90,117,154,207,172,243,183,245,139,188, 33,121,221, 90, -192, 60,249,228,147,150,190, 93,102,135,204,188,253,248,227,143,182, 29,204,221, 18, 90, 95,126,249, 37,222,120,227, 13, 8,133, - 66,172, 90,181,170, 78,211,161,173, 56,160,105,154,112,231,222, 35,222, 85,163,112,173, 15,184, 92, 46,124,167, 22,213,105,162, -179, 35, 56,220, 10,231,146, 37, 75, 26,165,233,208,154, 51, 60,188, 38,171,108,218,180, 9,163, 70,141,194,201,147, 39,239,187, -233,176,125,251,246,223, 39, 38, 38,122, 94,187,118, 13, 85, 85, 85, 40, 41, 41,129, 86,171, 69, 94, 94,158,195, 86,129,218,178, - 92,200,230, 28, 22,127,115, 57,149,254,119,242, 54,230,245, 40, 23, 47,112,183,133,150, 59,142,150, 86,171, 93,245,230,155,111, - 78, 27, 56,112,160,143,135,135, 7, 10, 10, 10,234,137, 44,133, 66, 1,169, 84, 10,181, 90,141,189,123,247, 86,105,181,218, 85, -174,196,129,193, 96, 64, 64, 64, 0, 74, 75, 75, 65, 59,232, 63, 77,146, 36, 68, 34, 17, 20, 10, 5,224,162,147,185,189, 23,134, - 94,175,135,193, 96,128,193, 96,128, 94,175,119, 89, 75,182, 53,243, 36, 18,137, 89,120, 0,128, 50, 36, 36,164,149, 80, 40, 68, -118,118, 54, 80, 51,178,111,224,227,143, 63,206,149,203,229,204, 75, 47,189,116,138, 97,152, 87,224,124,118,124, 93,114,114,114, - 4, 0,136, 68,162, 12, 0,200,203,203, 51, 84, 84, 84,212,113, 10,197, 98, 49,243,212, 83, 79, 5, 51, 12,131,228,228,228, 8, - 30,143,199,192,241,168, 70,205,158, 61,123,174,121,122,122,238, 88,182,108,217,216,132,132,132,171, 29, 58,116,136, 80, 42,149, -197,106,181, 90,173,209,104, 24, 14,135,195,243,246,246, 22, 30, 62,124,248,207,180,180,180,129, 50,153,108,199,158, 61,123,174, - 57,114,222, 36, 18, 73,158, 74,165,106, 97,126,166,214, 34,171,176,176, 16, 12,195, 32, 43, 43, 11, 98,177, 56,199, 85,179, 46, -139,166,131,185, 82,101,235,188,216,238,115, 87,100, 89, 11,131,195,135, 15, 59,157, 67,203, 93, 78,107, 81, 52,107,214, 44,172, - 93,187,182,158,163,181,120,241, 98, 0,192, 7, 31,124,224,118, 31, 45,179,123, 85,184,214, 7, 65,111,148,213, 9, 59, 0, 16, -230,240, 53, 44,207,131,162, 40, 44, 92,184,176, 94, 39,117,235,166, 61, 55,155,248,234,132,179,184,184, 24, 20, 69,193,199,199, - 7,227,198,141,195,224,193,131, 45, 77,144, 13,229,189,113,227, 70,202,187,239,190, 27,219,190,125,123, 44, 90,180,168,204,203, -203,203,227,229,151, 95,166, 42, 42, 42, 8,103,142, 22, 43,180, 88,176,104, 4,161,101,206, 96,238,142, 58,116, 80, 88, 14, 68, -221,185, 54, 42, 85, 42,213,184, 65,131, 6,253,178,107,215, 46, 81, 84, 84, 20,110,220,184,129,178,178, 50,232,116, 58,240,120, - 60, 4, 7, 7,163,162,162, 2,155, 55,111, 86,171, 84,170,113, 0, 42, 93,112,190,223,165, 75,151, 13,159,125,246,153, 48, 62, - 62, 30,101,101,101, 80, 40, 20, 22, 33, 68, 16, 4,100, 50, 25, 68, 34, 17,206,158, 61,139, 67,135, 14,169, 1,188,239,130,211, -158,154,131, 94,175,183, 8, 46, 55,132,150, 53,167,196,236,234,168, 84, 42, 0, 48, 52,107,214, 44, 8, 0,178,178,178, 0,224, - 78,100,100,228,130,168,168, 40, 98,251,246,237, 12,195, 48,135, 28,136, 44, 11, 39, 65, 16,101, 12,195,148, 3, 8,210,233,116, - 60, 0,168,172,172,212,251,249,249, 5, 8, 4, 2, 90, 36, 18,209, 66,161,144, 46, 40, 40, 48, 26,141, 70, 30, 0,244,234,213, - 75, 7,160,208,102,141, 66,107, 78,154, 97,152,170,141, 27, 55, 46, 24, 63,126,124,247, 30, 61,122,180,127,237,181,215,174,188, -244,210, 75,100,104,104,168,119,117,117,181,230,214,173, 91,229, 43, 86,172,168, 62,125,250,244, 64, 46,151,123,119,227,198,141, - 11, 0, 84, 17, 4, 65,219,227, 52, 26,141,191, 39, 37, 37, 77, 74, 72, 72,160,242,243,243, 81, 84, 84,100, 17, 89, 69, 69, 69, -136,137,137, 65, 90, 90,154, 73,175,215, 39, 53, 32, 62, 27, 11, 44,103, 77, 37,132, 49,231,117, 71, 2,203, 92,153,114,151,211, - 90, 20,141, 26, 53,170,142,139,197,227,241,240,211, 79, 63,217, 45, 55,236,228,171, 58,247,110, 61,199,215,187,239,190, 91, 71, -180,205,155, 55,207, 97,113,230, 42, 62,205, 60,149,155, 66,235,142, 58,116,144,207,157,133,211, 92,118,114,185, 92,204,155, 55, -207,109, 71, 11,245,251,104,213,227, 52,223,123,159, 62,125,160, 82,169, 44, 66,214,145,163,229, 42, 62, 77, 38,211, 27,107,215, -174,101,100, 50,217,163, 85, 85, 85,207,231,228,228,108, 85,169, 84,143, 84, 86, 86, 58,117,180,180, 90,173,128,205, 71, 44, 39, -154,102,126,174,255,142,208,170,125, 73,162, 89,179,102,117,214,206, 34, 73,178,206,214,144,126, 6,181, 56,156,153,153,249,204, - 99,143, 61,246,221, 27,111,188,225, 17, 31, 31,207,109,209,162, 5,148, 74, 37,178,179,179,113,245,234, 85,227,158, 61,123,170, - 84, 42,213,243, 0,220, 25,117,182,237,218,181,107,135,134, 12, 25,242, 97,183,110,221, 94,157, 63,127, 62,167,117,235,214,168, -172,172,132,183,183, 55, 2, 2, 2,112,243,230, 77,236,221,187,215, 84, 90, 90,186, 1,192,199,176,211,134,234,170,194,175,215, -235, 49,102,204, 24,208, 52,141,213,171, 87,195,157, 5,149,173,160,215,235,245, 12, 0,162,182, 63,151,170,118,118,105,220,186, -117, 11, 0,238, 70, 68, 68,120, 0, 64, 82, 82, 18,129,154,249,181,220,169,225, 51, 12,195, 88,156,173,152,152,152,108,219,194, -209,236,100,153, 93, 48, 87,225, 38, 8, 66,195, 48, 76,177, 74,165, 26, 50,107,214,172, 15,191,252,242,203,177, 95,126,249,101, -189,227,100, 50,217,142,149, 43, 87,126, 60,122,244,232, 98,130, 32, 28,246, 35, 83, 42,149, 31, 76,152, 48, 97,244,229,203,151, - 61,132, 66, 33,148, 74, 37,228,114, 57,244,122, 61, 34, 35, 35, 81, 92, 92,140,109,219,182, 85,171,213,234,143,216,236,248,207, -192, 90, 24, 56,114,181,220, 16, 89, 14, 93,157,125,251,246,217,157,163,170,161,156,182, 98,195,221,185,173,156, 85,138,204,211, -210,216,155, 50,162,129,229, 90, 61, 94,138,162,240,233,167,159, 90, 38,109,181,231,100, 53,196,209, 50,115,250,248,248,212,216, -228, 98, 49,104,154,198,240,225,195, 31,132,151, 6, 48,221,106,198,247, 37,179,103,207, 94, 16, 19, 19,211, 26,128,192, 58, 14, - 26,232,226,179, 96,193,194,149,208, 50,153, 76,121,109,218,180,169, 83,192,185, 90,204,212, 96, 48,228,185,121,221, 67, 74,165, - 50,114,229,202,149,111, 74, 36,146,129, 42,149, 42,182,182,224,184,172, 84, 42,147,180, 90,237, 26, 52,108, 17,232, 18, 0,175, -159, 62,125,122,245,144, 33, 67, 22,247,239,223,255,217,183,222,122,139, 96, 24, 6,235,215,175,103,110,223,190,253, 99,173,139, -117,251,126, 34,201,199,199,231,218,230,205,155, 3,127,249,229, 23, 24, 12, 6,172, 89,179, 6, 30, 30, 30,215,202,202,202,220, -165, 40, 62,122,244,232,150, 30, 61,122,188,144,150,150,182, 13,192, 31, 39, 78,156,216,218,179,103,207, 9,105,105,105,223, 3, -184,122,236,216,177,173,221,186,117,155,144,158,158,190, 27,192,197, 6, 20,190, 22,103,203,104,180,223,210,232,192,201,114,198, - 89,197, 48,140,126,242,228,201,111,141, 30, 61,250,235,244,244,244, 71, 42, 42, 42, 98, 1,192,203,203,235,114,215,174, 93,207, -238,218,181,235,102,173,147,229,170,179,126,137, 82,169,124, 42, 54, 54,246,231, 69,139, 22, 73,218,183,111, 79,181,106,213, 10, -119,238,220,193,149, 43, 87,140,223,126,251,173, 66,173, 86, 63, 9,160,156,205,142,255,156,208, 98, 24, 6, 94, 94, 94,117, 42, - 81,230, 33,255, 13,109, 46,180,126, 49,155,151,234,177,229,117,196,233,108,218, 4, 51,164, 82,169,101,114, 83,119,186, 44,208, -180,243,249,216, 24,134,177,112,154, 55, 55, 68,150,203, 17,130,181, 75,224,184,205,233,206,244, 14, 18,137, 4, 6,131,193,194, -235,198,200,207,134,170,197,125, 0,246, 25, 12,134, 91, 0, 90,178,226,138, 5,139, 38, 20, 90,229,229,229, 93,154,248,218, 85, - 90,173,246, 99,173, 86,251,177,121,135, 70,163,121, 80,206,219, 0, 70, 31, 61,122,244,179,163, 71,143,154,219, 17, 22,194,245, -122,137, 78,113,227,198,141, 4, 46,151,251,213,142, 29, 59,186, 49, 12, 3, 79, 79,207,211,119,238,220,121,185, 33, 28, 38,147, -105,114, 90, 90,218, 52,212,246,101,210,235,245,147, 83, 82, 82,222, 68,205,122, 76, 48,153, 76,147,207,156, 57, 99,249,221,192, - 23, 37,195, 48,140,150, 97,152, 16, 7,135,104, 27,232,192,153,157, 45,221,174, 93,187, 20, 0, 46,225,175,121,178, 12,181,155, -198,166,185,208, 25,142, 41,149,202, 86,243,230,205, 91,194,225,112, 6, 40,149,202, 80,137, 68,146,107, 52, 26,127, 87,169, 84, -239,163,102,141, 42, 22,255, 16,116, 58, 93,126,155, 54,109, 40,123, 21, 40,103, 47,114,103, 21, 43,147,201,148, 23, 29, 29,237, -178,114,102,135, 51,223,137,104,184, 27, 25, 25, 73,186,203,101,134, 94,175, 47,118, 22,206,200,200, 72, 52,148,211,213,189, 71, - 68, 68,216,189,119, 23,130,208,225,189, 27,141,198,251,226,116, 22,159,206,160, 86,171,203,253,253,253, 21, 26,141,134,171,213, -106,185, 70,163,177,142,253, 40, 18,137, 74,212,106, 53,155,121, 88,176,120, 16,161,245,144,227, 28,106,150,151,104, 44,104, 47, - 95,190,252,130,197,158, 42, 46,190, 95, 30, 91, 37,169,112,241,187, 33,194,168,209, 29,161, 90, 33,165,106, 36,186, 82,133, 66, -241,146,249,135,185, 15, 8,139,127, 30,114,185,252,209,198,230, 44, 43, 43,107,244,138, 90,105,105,105,247, 38,184,247, 46,255, - 85, 78,103, 40, 40, 40,120,212,133, 16, 99, 51, 14, 11, 22,110,130,100,163,128, 5, 11, 22, 44, 88,176, 96,193,162,105, 64,160, -102,228,128, 61, 52,100, 52,193,192,251,184,118, 18,203,201,114,178,156, 44, 39,203,201,114,178,156,255, 57, 78, 87,220,236,104, -198, 38, 22, 96, 44,231,255, 63, 39, 7, 0, 33, 18,137, 8,161, 80, 72,136,197, 98,130,141, 79,150,147,229,100, 57, 89, 78,150, -147, 69,125,252,227,125,180,252,253,253,147, 41,138,138, 86, 42,149,202,234,234,234, 40, 15, 15,143,219, 18,137, 68, 98, 52, 26, - 51, 75, 74, 74,122, 63, 32,253,100,129, 64, 48, 51, 46, 46,174,221,205,155, 55, 51,170,170,170, 86, 0,248, 6,246, 71, 12,113, -109,246, 19, 0,226,155, 55,111,190, 85, 40, 20,138, 51, 50, 50,230, 0,248,222,141,120, 36,224, 98, 68,146, 53,188, 37, 60, 46, -106,250,147,245, 5,112, 28,192,190,114,165,222,240, 32, 55,125,191,156, 82,169,212,167,101,203,150,235, 35, 34, 35, 35, 25, 64, -203, 48, 53,243, 15, 25, 13,122,222,213, 43, 87,146,239,220,185,179,161,127,255,254, 95,135,133,133, 5,114,185, 92,131,121,212, -151, 74,165,226,109,219,182,173, 21,155,157, 88,176, 96,193,130, 5, 11, 55,133,150,164, 57,218,240, 37,196, 54,147, 1,106,163, -150,153,170,204,197, 13,105, 51,244, 96,128, 23, 24, 32,130,228,144,254, 38, 19, 93, 72,107, 8, 35,215, 32,138, 38, 25, 74, 88, - 85, 85, 21,218,224, 0, 80, 84,116, 65, 65, 65, 64, 72, 72,136,121,241, 99,137,249,247, 3,128, 0,240,197, 43,175,188, 50,245, -213, 87, 95,133,183,183, 55, 12, 6, 67,235,157, 59,119,110,154, 55,111, 94,119, 0, 47,218, 17, 67, 12,234, 78, 18,218, 58, 54, - 54,118,127,106,106,170,111, 69, 69, 5, 58,119,238,188,162,184,184,216,145,208, 50, 54, 52,128,222, 18, 94, 27, 0, 47, 6,121, - 9, 38,125, 51,171,191,119,139, 1,175,225,202,143, 11,166, 77,255,230,114, 57,128,205, 0,190, 41, 87,234,111,254, 93,156, 30, - 30, 30, 1,109,162,163,119,253,248,243,207,189, 79, 31, 59, 6, 31, 1, 31, 18, 17, 31, 96,128,192, 86,109,240,218,236,217,198, - 71, 30,121,164,223,119,223,125, 23,151,158,158,142,208,208, 80,136, 68, 34,136,197, 98,200,229,114,108,219,182,237,190,211, 17, - 77,211,247, 0, 28, 37,141,216,167, 40,192, 45, 54, 91,178, 96,193,130, 5,139,127,189,208, 98,104,172, 88,125, 96,114,231, 43, -101,191,225,139,103, 10,151,138,194, 96,236, 49, 34,250,233,132,137,157,224,233, 47,134, 80, 74,161, 66, 94,213,225,230,133, 92, - 28,223,253, 39,188, 13,173,145,246,251,249,235, 42,149,170,237,253, 4, 68, 44, 22,139,131,131,131,139,196,214, 11,227,221, 31, -132, 0, 86,188,250,234,171, 83,223,121,231, 29,252,254,251,239,216,179,103, 15,198,143, 31,143, 25, 51,102, 64, 42,149, 78,154, - 49, 99, 70, 26,128,175,157,112,180,142,141,141, 61,149,154,154,234,171, 86,171,113,229,202, 21,148,149,149,253,209, 88,145,238, - 45,225, 45, 91,255,114,220,187,221,158,158, 14,255,246,131, 64,144, 53,143,161,215,236,189,184,248,166,218, 59, 47,229,187,183, -246,252,248,253, 91,203,247,220, 90, 94,174,212,207,249, 59, 56,163,162,162,214,237,250,233,167,222, 97, 97, 97,216,159,125, 27, - 45, 35,130,209,172, 77, 39, 84,102,223, 70,201,221, 44,232,244,122,244,237,219, 55,238,212,169, 83, 40, 40, 40,128,159,159, 31, - 52, 26, 13,210,211,211, 33, 20, 58, 94,141,163, 1,233,104,200,177, 93,183,150,223, 58, 95,178, 76,153,131, 15, 1,152,216,236, -249,175, 65,235,102,205,154,253, 44, 18,137,100, 25, 25, 25, 31, 0,216,210,132,215, 26,215,173, 91,183, 53,151, 46, 93,186,160, -213,106,223, 4,144,193, 70, 63, 11, 22, 44,254, 73, 56, 27,117, 24,236,239,239, 7,191, 72, 46,188,125, 36, 67,151,255,244,252, -211,175, 45, 29, 0, 94, 84, 62,202,164,103,112,151,249, 29, 26,223,155,104, 51,132,135,183,191,233, 7,223,238,114,192, 71, 85, -128,112, 8, 28, 17,250,248,248,252, 28, 16, 16,144,106,189, 25,141, 70,225,156, 57,115, 76, 25, 25, 25,146,130,130,130,128,140, -140, 12,201,156, 57,115, 76, 70,163, 81,232, 31,232,115,193,163, 57, 47, 47,162,183,168, 68,210, 28,175,187,112,176, 62, 11, 10, - 10, 82,141, 29, 59, 86,221,161, 67,135,169, 12,195, 96,235,214,173,120,249,229,151,119,254,246,219,111, 17, 99,198,140,217,122, -244,232, 81, 76,153, 50, 5, 94, 94, 94, 51,220, 21, 89, 23, 46, 92,192,132, 9, 19, 74,140, 70,227,140, 70,140,247,137,163, 86, -156, 65,200, 35,207,130,195, 19, 89,214, 82, 35, 72, 18, 92,145, 12, 97,143, 61,143, 87, 22,127, 7, 0, 19,255, 46,206,200,168, -168,150,231,146,147,241,237,194, 69,104, 29, 16,128,208,102,161,240,105,211, 1, 30,254,126,160, 40, 10, 12, 3,134,207,231,211, -229,229,229,144,203,229,144,203,229,200,206,206,198,241,227,199,113,239,222, 61, 52, 70, 58,154,253,109,127, 50,225,181,182,239, -137,155,225,160,179,116,196,226,225, 18, 89,177,177,177,167,110,220,184, 17,147,148,148, 20, 18, 26, 26,250, 73, 83, 94,172, 75, -151, 46,203, 79,158, 60,233,115,240,224,193, 65, 65, 65, 65,201, 0, 90,223, 79,152,155, 55,111,126,189,117,235,214,121, 0,198, - 53,114, 16, 39,118,239,222,189,140,207,231, 31,186,207,176,177, 96,241, 48,161, 3,128, 88, 86,104,185,129,197, 59,199, 82, 62, -109,181,184, 82,126, 0,187, 62,249, 3,159, 12,189, 73, 47,238,158, 77,127,254,194, 13, 28,222,245, 7,138,241, 7,134,189,214, - 18, 99, 63,232, 56, 80,108,194, 34,153, 76,118,193, 30, 15,143,199, 11,204,200,200,240,205,202,202,242,189,125,251,182,111,102, -102,166,239,181,107,215,138, 42, 42, 42, 20,195,135, 15,167, 1, 96,248,240,225,244,221,156,187,170, 65, 79,247,161,195, 7,160, -227,172,159,218,133,206, 73,236,228,231, 29, 44,152,235,232, 30, 56, 28,206,158, 47,191,252,242,173,220,220, 92,209,247,223,127, -143,244,244,116, 68, 69, 69, 97,209,162,133,229, 35,122,180,237,245, 72,148,239, 42, 79, 17,247,179, 45, 91,182, 64, 44, 22,163, - 99,199,142,142, 92,183, 22, 29, 58,116, 72, 49,139,172,139, 23, 47,226,249,231,159,215,203,229,242,171, 0,150, 1,216, 67,145, - 68,178,191,167,164, 66, 34,160,238, 18, 4, 14,160,166,207, 87,120,195,163,158, 64,229,221, 75, 48,233,213,160, 4, 18,112,120, - 66,144, 20, 31,101,183,210,144,241,235, 66, 84,100,221,207,194,225, 15,192, 73,146, 26, 79, 46, 23,113,126,190,136,141,136,132, -143, 80, 6, 85,218, 49,160, 66, 1, 30, 79, 0,128,129, 64, 32, 64,117,117, 53, 46, 92,184,128,235,215,175,227,220,185,115, 56, -123,246, 44,138,138,138,112,191,233,104, 73,143,108,173,163,116,196,150, 81,255, 14,145,149,154,154,234,171,209,104,112,227,198, - 13,148,148,148, 92,108,202, 11,102,100,100,148,167,166,166, 34, 44, 44, 12,223,127,255,189,127, 68, 68,196,201, 6, 10,154,214, -177,177,177,167,174, 95,191, 30,147,148,148, 20, 26, 16, 16,176,162, 49,195,247,200, 35,143, 44, 62,121,242,164,247,225,195,135, - 7,251,251,251,223,175, 16,100,193,226,255, 25, 2, 0, 47, 16, 4,113,182, 67,135, 14,151,219,183,111,255, 7, 65, 16,105, 0, - 70,225,223, 59,119,167, 83, 88,110, 58, 49, 49,241, 4, 0, 36, 36, 36,244,177, 61, 72, 17,112, 30,249,217, 69,216, 60,177,152, - 86,151,160, 98,209,123,159,237, 57,127,250,226, 83,111,206,120,211,123,245,198,229,216,158,118, 0, 99, 86, 24,209,107,116, 59, -156,217,159,243,214,196,126,115,241,214,140,217, 64,253, 33,154, 12, 73,146, 72, 73, 73,129,201,100,130, 78,167,131, 78,167, 67, -187,118,237,202,142, 29, 59, 38, 5,128,204, 63, 51, 24,174,175, 78, 48,240, 29, 25,111,202,128, 24, 40,228,122,124,247,110, 38, - 74,179,181, 63,214,114, 36,213,145, 7, 36,249,245,134, 13, 27,158,152, 50,101, 10,190,248,226, 11,236,220,185, 19, 79, 62,249, - 36,158,123,238, 57,148,148,148,120,135,226, 30, 6,180,243, 11,233, 59,125, 67,159, 49, 99,198, 64,161, 80, 32, 61, 61,253,186, - 77,184,146, 80,211, 25,254,245,227,199,143,251,168,213,106, 84, 87, 87,163,111,223,190,144,203,229, 60, 0,253,237,196,157, 39, -128,230,106,181, 26, 45, 90,180,104, 93, 82, 82,210,195, 14,103, 61,120, 75,120, 22,113,171, 87,150, 67,175, 44, 7,135, 39,132, -208, 59, 12, 87,191,155, 1,134,174,105, 49,243, 12,239,104,239,244, 38,227, 20, 11, 4, 72, 76, 77,193,241,196,125,104, 27, 25, -137,158,177,177, 56,117,249, 10,120, 36,129,145,147, 38, 3, 52, 19,144,146,146, 66,148,148,148,224,242,229,203, 88,184,112, 33, -114,114,114,112,224,192, 1,152, 76, 38,183,194,105,147,142, 84,139,222,251, 44,123,236,179,207,223, 60,120,228,183, 59,137,191, -255, 52,104,123,218,209,248, 49, 43,140, 68,175,209,237,112,246, 64,206,204,108,162,252, 91,101, 46,110, 56,227,124, 64,176,156, - 77,199,217,190,125,251,246,167, 83, 83, 83,197,106,181, 26,187,119,239,198,252,249,243, 13,122,189,158, 2,176,199,206,185,233, - 0,190, 64,253,165,183,236,133, 83, 6, 96, 26,128,174,245,210,152, 66, 81,242,204, 51,207, 24, 22, 44, 88,192,125,252,241,199, -177,111,223, 62,191,145, 35, 71, 94,204,200,200,136,199, 95,205,136, 73,174,132,225,125,116, 25,112, 43, 62,107,133, 96,112,104, -104, 40,182,111,223,238, 63, 97,194,132,228,162,162,162,222,176,223,196,201,166, 37,150,243, 97,226,108, 1,224, 85,169, 84, 58, -165,111,223,190,222, 79, 62,249, 36,124,125,125, 97, 52, 26,145,155,155,219, 45, 49, 49,177, 91,106,106,106,129, 78,167, 91, 11, - 96, 19,128, 10,123,164,206,180,200, 67, 45,180, 18, 19, 19, 25,212,140, 80,179, 11,149, 73,142,248,224,161,232,246,187,148,172, - 40,171,210, 47, 24,185,244,104, 69,142,254,169,175,190,250, 10,207, 61, 49, 1,251,126, 23,227,244,206,189, 24, 56,190, 16, 3, - 39, 71,226,207,147,142,187, 69, 24, 12, 53,131,223,140, 70, 35, 12, 6, 3,244,122, 61,244,122, 61,196, 98, 49,174,221,188, 2, -163,119, 9,231,249, 53,173, 56,161,109, 36, 72,221, 89,136, 3,171,115,116,138, 98,195, 92, 93, 57,126,170,103,223, 0, 95,175, - 90,181,106,210,148, 41, 83,176, 96,193, 2,252,244,211, 79,204,138, 21, 43,136,121,243,230,161,188,188, 28,253,250,245,195, 43, -147,159,199,181,184, 16,188, 59,127,177,108,212,168, 81,248,248,227,143,161, 84, 42, 87, 57, 8,158,151, 78,167,179, 44,118,155, -151,231,122,233,198,156,156, 28, 48,206,151, 82,131,183,132, 39,244,146,240,150,112, 72,226, 57, 14, 1,127,131,137,193,241, 5, -189,192,137, 25,137,249,107,119,194, 68, 51, 24,247,212, 32, 68, 42,170, 32, 18, 75,106, 20, 41,109,186, 47,206,232,161,111,130, -228, 10, 97,210,107,176,101,203,102,236, 57, 84, 1,157,252, 14, 94,123, 60, 10,129, 78, 56,141, 70, 35,211,188,121, 27,180,108, -175, 3, 35,224,225,216, 93, 45, 98,251, 36,224,198,181,219,200,175,212, 35, 46,182,125,139,201,147, 95,132, 64, 32,192,237,219, -183,177,100,201, 18, 40,149, 74,119,215,133,179,151,142,164,171, 95, 91, 43,124,245,197,215,222,187,144,126, 49,119,235, 23,187, -126,153,246,238,148,175, 79,239, 60, 24, 59,112,124, 33, 6, 76,138, 36, 55, 92, 42,127, 22,192, 2,182,130,248, 80, 98,195,153, - 51,103,196, 42,149, 10,213,213,213,120,249,229,151, 49,109,218, 52,174,189, 74, 75,113,113, 49, 82, 82, 82,158,156, 62,125,250, -152,194,194,194,222,112,190,238,165,119,167, 78,157, 82,143, 29, 59,214,218,195,195,195,178,147,166,105,232,245,122, 75,153,162, -213,106,161,213,106, 33,147,201,144,154,154, 42,244,241,241,217, 5,231, 77, 24,127, 71,151, 1, 84, 85, 85, 61, 59,106,212,168, -228,109,219,182,249, 71, 70, 70,226,251,239,191,247,127,241,197, 23, 79,222,189,123,183, 23,216,254,100, 44, 30, 94,204,121,230, -153,103, 22, 7, 6, 6,146, 29, 58,116, 64,112,112, 48,180, 90, 45, 42, 43, 43,193, 48, 12,252,252,252, 48,105,210, 36, 60,245, -212, 83, 33,201,201,201,203,143, 29, 59,182,160,188,188,124, 51,128, 53, 0, 50,173, 68,150, 83, 45,242,208, 59, 90, 9, 9, 9, - 39,234,168, 24, 2,233,103,254, 56, 21, 43,140, 1, 8, 18,200, 37,143,129, 0,129, 10,131,158,103,168, 34,215, 30, 62,124,216, - 91,169, 84, 66,161, 80, 96,104,223, 17,152,187,225, 23,244,124,190, 10,205,218,132, 96,245,135, 7, 12,174,132, 22, 77,211, 48, - 26,141,168,174,174, 38, 79,156, 56,225, 23, 30,209,140,120,254,173, 33,152,254,125, 59,200, 2,120, 56,248,121, 14,202, 83, 67, -148, 76,105,197, 29, 93,121,217, 86, 59,133,239,228,247,223,127,127,210, 27,111,188,129,229,203,151, 99,217,226,143, 79,135, 4, - 5, 62, 18, 31, 31, 79,124,244,209, 71,152, 61,123, 54,194,195,195,193, 17,120,160,101,223,231, 49,107,214, 44,172, 93,187, 22, - 95,173, 94,170,111,231, 35, 77,187, 86, 86,111,181, 27, 3,128, 69, 3, 6, 12,120,226,240,225,195, 62, 66,161, 16, 87,175, 94, -197,248,241,207, 67,204, 5,184, 28, 18, 96,104, 48, 52, 13,130, 96,224, 47, 19,192, 91,196,129,191, 7, 23, 49,126,116,251,114, - 70,218,250,106,153, 34,195,158, 32,242,245,224, 95,221,241,193,136,176,216, 73, 95,240, 40,129, 20,218,202, 66,252,182,102, 26, - 22, 45,254, 26,167, 82, 79,163,162,162, 2,131, 7, 14,192,154, 81,126,127, 89,127, 78,196,155, 35,206, 27,187,222,195, 43, 83, -167, 99,227,250,117, 32,185, 66,252,118,226, 28, 14, 31, 61,137,148,148, 20,188, 52,113, 44, 62,143, 46,116,200,105, 50, 25,224, - 31, 16,142,199,250, 68, 65,234, 33, 5, 73, 0, 45, 34,252,225,231,155,135,160, 32, 2,105,167,143, 34, 57, 57, 25, 30, 30, 30, -136,136,136,192,218,181,107,145,157,157,141,151, 95,126, 25,124, 62,223, 33,175,163,116,164, 32, 12, 32, 76,252, 86, 30, 30, 30, - 59,116, 58,221, 42,189, 94,191,247,249, 81,147,119,188,188,228,231,118, 61,159,175,226, 52,107, 19, 2,130, 65, 31, 86,104, 61, -180,144, 24, 12, 6,152,215,115,206,205,205,117,122,112, 92, 92, 28,182,108,217,210,110,226,196,137,201,133,133,133,143,193,254, -162,242,178, 78,157, 58,165, 38, 39, 39,183,214,104, 52,200,202,202,114, 43, 32,181, 11, 35, 43,157, 28, 98,238, 50,224, 99,221, -101,160,172,172,204,220,101,192, 30,202, 80,179,142,234, 93, 59,255,133, 3,120,179,182,134, 15, 59,194,242,234,248,241,227,123, -110,223,190,157, 23, 21, 21,133,125,251,246,249,141, 26, 53, 42, 37, 35, 35,163, 43,128,108, 54,233,176,120, 8, 49,113,225,194, -133,164,201,100, 66,105,105, 41,180, 90,109,189, 60,200, 48, 12,196, 98, 49,134, 14, 29,138, 33, 67,134, 8,206,159, 63, 63, 53, - 41, 41,233,213,172,172,172,249,181,121,201,174, 22,249, 87, 9,173,122, 47, 94, 10,139, 62, 29,147,234, 37,144,146,177,160, 9, - 47, 63,191, 0, 9,151,203, 37,188,196,129, 94,171, 86,206, 46,187,121,243,230,189, 93,187,118, 5,119,239,222, 29, 96,128, 78, -205, 6, 67, 94,120, 26, 94, 92, 53, 74,229,165,142,230,145, 98,126, 61,176, 91, 82, 94, 94, 73,183,137,108,167, 86,169, 84,228, -129, 3, 7,194,122,245,238,201,219,155,250, 29,241,236,178, 96,200, 2,120,248,109,237, 93, 92,252,222, 64, 79,155, 56,162,242, -207, 75,107,170,237,213,112,121, 60,222,140, 55,222,120, 3, 59,119,238,196,156, 57,115,182, 60,213,173,229,160,103,134,245, 37, - 83, 82, 82, 48, 98,196, 8,228,231,231,227,151, 95,126,193,252,249,243, 49, 97,194, 4,124,241,197, 23,184,240,227, 39,184,190, -164, 43,111,238,206,219,215,232,155,196,240, 27,165,213, 7,109,104,179,111,220,184,241, 88,255,254,253, 79,238,221,187,215, 47, - 38, 38, 6,219,182,109,199,204,215, 95,197,143, 11, 70, 33, 58, 80, 12,232, 21,160,117, 42, 16, 60, 17, 96, 80,131, 41,191, 11, -189, 94, 45,125,119,199,237,235, 38, 59,156, 94, 18,222,146,239,223,127, 34,172,211,212,109, 60,243,190, 91,183,239, 96,237,241, -114,156, 74, 61, 13,115, 19, 69, 72,128,183,109, 84, 57,124,104,246, 56, 9,146, 66,199,151,190,198,220,170, 4, 28,218,188, 4, - 67, 95, 94, 8,121,105, 49, 82, 83, 83, 17, 26, 26,138,207, 55,110,198,140,233, 83, 97,162, 25, 71,207,156,215,166, 77, 36, 56, -156, 2,240, 5, 52, 8, 0,122,125, 57,252,252, 40, 52,107,230, 7,128,176,184, 87, 4, 65, 96,216,176, 97,122,134, 97,138, 52, - 26, 77,233,174, 93,187, 8,103,233,232,147,209,169,161,124, 49,249, 40, 1,210, 51, 32, 32,144, 16, 8, 5, 8,244,142,192, 7, -111,190, 6,197, 11,234, 71,183,109,219,182,235,219,111,191, 45, 72, 77, 77,221, 78, 8,124,110,203, 11, 21,209, 94, 92, 53,192, -144,205, 1,154, 45,194, 30, 78,140,126,228,145, 71, 46,254,246,219,111, 66, 62,159,143,189,123,247, 98,254,252,249,134,178,178, -178,147,182,162, 39, 48, 48,176,253,214,173, 91, 35, 34, 35, 35,177,110,221,186,118, 35, 71,142,156, 6, 96,137, 29,206,105,199, -142, 29,107,173,209,104,112,241,226, 69, 76,152, 48, 33,187,168,168,232,170,173,192,139,136,136,232,181, 98,197, 10,110,231,206, -157, 81, 85, 85,133, 65,131, 6,169, 0,188,234, 36,172, 13,233, 50, 0,160,102,173, 63, 7, 93, 6,224,235,235,251, 77, 78, 78, - 78, 63,145, 72,228, 52,130,244,122, 61,242,242,242,224,229,229,133,196,196, 68,159,150, 45, 91,126, 0, 96, 50,155,116, 88, 60, -140,208,233,116,216,185,115, 39, 58,117,234,132,182,109,219, 66,161, 80, 88, 68,151, 78,167,131,209,248,215, 44, 72, 36, 73,162, -107,215,174,136,142,142, 38,102,206,156, 57,206, 90,104,253, 27, 97,126,233, 46,176,109, 23,213,100, 35, 23,192, 56, 90, 36,120, - 95, 40, 20,142, 14,111, 30,139, 54,109,218, 8,159,126,250,105,190, 78,167,147,158, 56,154,252,103,207,158, 61, 81, 86, 86, 22, - 60,103,206,156,178,176,102, 97,116,242,164,114, 95,130, 41, 7, 71,199, 79, 1,234, 47, 58,170,229, 84, 55,223,251,231,242, 96, - 0, 56,158, 22, 81,253,204,160,177,165, 28, 14,135, 58,125,227, 24,209,123, 6, 5,255, 22, 34,164,237, 46, 4, 63,187, 51, 34, - 3, 43, 33,147,201, 28,206, 79,213,177, 99,199,118, 36, 73, 98,231,206,157, 0,240,193,141,236,194, 75,146, 35, 39, 62,219,179, -120, 11,247,221,247, 63,196,220,185,115,241,210, 75, 47, 65,175,215, 99,249,242,229, 72, 77, 77,197,175,191, 28,135, 49,105, 46, - 86, 60, 93, 70,190,252,157,230, 87,189,201,219,255,118,121,121,181, 13,117,198,173, 91,183,122, 13, 29, 58,244,228,238,221,187, -253, 90,183,110,141, 21,107,191,196,248, 55,167,224,236,210, 65,128,200, 7,188,222,239,130,240, 10,175,145, 67,101, 89,192,225, -119, 29,114,114, 72,226,185,216,137, 95, 88, 4, 81, 70, 70, 6,166,207,122, 7,191, 29, 60, 12,115, 19,197,204, 55,167, 99,235, -218,143,161, 60,179, 1, 66,159,102,144, 4, 68,161,234,238, 37, 0,144,219, 28, 42, 43,123, 0, 0, 32, 0, 73, 68, 65, 84,187, -119, 91, 78, 0, 80,203,239, 66,113,239, 38, 34,135,188,137, 15,198,141,199,208,151,129,181,139,222,193, 11, 19,198,224,243,141, -155, 17, 25, 25,137,207,215,111,194,228,201,147,100, 85, 57,185,173, 97,211, 76,113, 46,253,194,141, 85,171, 23,138, 85, 42,165, - 39,143,207, 15, 2,195, 32, 56, 56, 24, 85, 85,213, 48, 24, 12, 80, 42, 85, 32, 73, 18, 36, 73,130,195,225, 96,196,136, 17,188, -228,228,228,102,127,252,241,135,127,173, 5, 28,109,109, 1,155,161,201,198,216,103,158,121,102,112, 96, 96, 32,233,235,235,139, - 62,125,250,192,100, 50, 65,171,213,130,166,105,240,249, 38,139,165,124,242,228,201, 57,122, 83,184,113,203,132, 36, 13,135, 40, -215, 82, 90, 97, 82,227,173,105,205,226,111, 70, 70,102,102,102,252,192,129, 3, 79,254,248,227,143,126,195,134, 13, 67,203,150, - 45,185, 79, 63,253,180,191, 74,165, 26, 96,125, 96, 81, 81,145,247,132, 9, 19,206,229,230,230, 70,212,238,234,234,128,179,171, -135,135, 7,178,178,178,204, 34,171,139,109, 37,140,207,231, 31,186,116,233, 18,151,207,231, 35, 61, 61, 29, 19, 39, 78, 44,205, -206,206,118,213, 44,119, 95, 93, 6,104,154,214,218,251,143, 36, 73,193,249,243,231,225,106, 46, 64,146, 36,193,227,213,201,198, - 21,108,178, 97,241,144,194,160,211,233,208,165, 75, 23,100,103,103,227,252,249,243, 22,193, 85, 90, 90,138,130,130,130, 58, 7, -159, 61,123, 22, 23, 46, 92, 64,239,222,245,230, 36, 95,240,111,236,163,101,113, 34, 18, 19, 19,251,216,216,118,124,137, 68,114, -246,185,231,158,107,246,244,211, 79,123,113, 56, 28,104, 52, 26, 24,141, 70,164,165,165,161,109,219,182,170,118,237,218, 85, 12, - 31, 62,156, 40, 45, 45,237,127,245,234,213,172,210,210,210,120,153, 76,150,245,216, 99,143,105, 52, 26, 77, 61,165,229, 21, 69, -233,150, 95,236,198, 3,128,228,237, 5,200,217,239,163, 48,168, 77,226,200,145,149,100,159, 9, 33,168, 42,214, 99,245,179, 55, -240,235,166,163, 88,241,217, 10, 83,239,222,189,243, 22, 47, 94, 92, 80, 80, 80,240,152, 45,151,167,167,231,181,228,228,228,182, - 71,143, 30,197,236,217,179,191, 51,153, 76,203,132, 92,206,193, 73, 47,189, 18,166,215,235,113,254,252,121,248,248,248, 32, 39, - 39, 23,188,128, 56,196,246,123, 1,111,143,235,138, 56,239,114,232, 54, 15,198,141, 2, 53,198,239,210, 46,186, 89,172,156,231, - 32,110, 90,135,134,134, 38,111,223,190,221, 63, 48, 48, 16,227,158, 25,134,180,247, 98,193, 27,186, 2,151, 74,196,248,236,251, -115, 0,128,183,199,117,113,200,233, 45,225,145, 1, 50,190,225, 70,126, 53, 9, 0,119,238,220,193,132, 23,198,227,224,161, 26, -145,117,241,226, 69,140, 27, 55, 14,237, 99,162, 33, 22,242,161,173, 44, 2,109, 50,224,110, 94, 33,242,203, 52,101, 70,154,190, -202, 48,200,134, 85, 19,133, 45,231,221,187,119,177, 98,249, 98,220,186,126, 9,122, 69, 25,120, 18,111,164,157,191,130, 62,125, -250,130,161,141, 40, 47,202, 69, 78,169, 10,155,183,108, 69, 84, 84, 20, 84, 42, 21, 70,141, 26, 85,230,164,153, 34,227,198,141, - 27,209,107,215,174,197,252,249,243,241,203, 47,191,192,100, 50, 65, 32, 16,128,162, 40,240,249,124, 68, 69, 69,225,250,245,154, -241, 4, 52, 77,227,252,249,243, 72, 74, 74, 98,108, 45, 96,107, 62,147,201,132,146,146, 18,232,116, 58,168, 84, 42,168,213,106, - 48, 12, 3, 14,135, 3,134, 97, 44,181, 29, 14,135,131,172,172, 44, 92,190,124,153,217,183,111,223, 39, 12,195,204, 97,203,176, -135, 26,173, 67, 66, 66,146,183,109,219,230, 31, 28, 28,140,126,253,250,229, 22, 22, 22, 54,183,115,220, 30,134, 97,158,204,202, -202, 66, 84, 84,212, 94, 0, 35,238,231,152,240,240,240,146,244,244,116,191,107,215,174, 97,220,184,113, 37,181,125,190, 92,245, -125,138,136,137,137, 73, 63,124,248,176, 15, 73,146,184,122,245, 42,198,141, 27,167, 47, 43, 43, 59, 5,199, 77,142,119, 80,211, -191,228,174,157,255,194, 1,204, 3,224,227,224, 92, 73,116,116,116,207,115,231,206,241, 8,130,192,157, 59,119,204,121,178, 75, - 45, 47, 11, 22, 15, 27,158, 10, 9, 9,249,118,218,180,105,158,221,186,117, 67, 94, 94, 30,242,243,243, 81, 94, 94,142,248,248, -120,180,111,223, 30,183,111,223,198,161, 67,135,112,225,194, 5, 8, 4, 2,132,133,133, 65,186, 99, 39,190, 34,112, 13, 64,123, - 39, 90,228,223, 35,180,108, 33, 16, 8, 62,152, 56,113,226,140,215, 94,123,205, 71, 32, 16,224,236,217,179,224,241,120,160,105, - 26, 3, 6, 12, 64,118,118, 54, 70,140, 24, 81, 86, 88, 88,248, 52,128,147,238, 92, 76, 22, 44, 40, 28,254,126,112, 96,239,241, - 53, 53,189,228,237, 5, 56,183,183, 24,179,118,117, 4,201, 33,240,205,244, 27, 48,101, 54,167, 91, 71,197, 48, 0,140,205,154, - 53, 43,220,186,117,171, 93,161, 5, 96,242,148, 41, 83,190,153, 60,121, 50, 78,156, 56,129, 93,187,118, 97,216,176, 97, 24, 62, -124, 56,190,253,246, 91,120,201, 79,227,147, 95,175, 97,236,135, 7,112, 53,171,198, 24,106, 31,233,139, 29, 31, 15,131,230,243, -120, 48,165, 25, 72,216, 73,221, 56,246,167,194,209, 84, 15,100, 11,111,209, 79,126,254, 94, 79,105, 24, 30, 94,237, 46,198,139, - 67,226,192, 31,181,189, 65,156,173,130,165,133,215,179, 10, 2, 41,129, 20,111,188,250, 34, 62, 90,242, 41, 76, 38, 19,170,171, -171, 17, 22, 22,102, 91,163,173,135,218, 38,138, 52,235, 38, 10,107,206, 39,135, 63,142,157,187,127,134,187,205, 20,124, 62, 31, - 90,173, 22, 45, 91,182,220, 12,251,205, 20, 25,151, 46, 93,138, 94,188,120, 49, 54,108,216,128,125,251,246,193,104, 52, 66, 32, - 16, 64, 34,145, 64, 36, 18,193,207,207, 15,151, 47, 95,174,115, 82, 85, 85, 21,102,206,156,153,137,250,195,213, 51, 46, 93,186, - 20,237,204, 82, 54,247,219,179, 36, 74,130, 64,101,101,165, 35, 62, 22, 15,161,216,226,241,120,171,253,253,253, 59,230,231,231, -207, 66,253,165,172,188,159,125,246,217,171, 63,252,240, 67,240,157, 59,119,220, 18, 90,143, 61,246,152, 93, 71, 11,192,196,160, -160,160,143,171,171,171, 43, 85, 42,213, 40,184,223,193,188,117,171, 86,173, 78,238,221,187,215, 79, 44, 22,227,250,245,235, 24, - 63,126,124,137, 92, 46,239,141,198,237,164,222,186, 77,155, 54,167,206,158, 61,235,203,229,114,145,158,158,142, 9, 19, 38,148, -178,157,225, 89,252, 11,224, 1, 96,118,100,100,228,219, 83,167, 78, 21,180,107,215, 14,121,121,121, 40, 41, 41, 65,121,121, 57, - 78,159, 62, 13, 0, 8, 13, 13, 69,104,104, 40,110,222,188,137,148,148,148, 42,133, 66, 49, 25,192, 47,255,230,136,113,216, 71, - 75, 44, 22, 63,247,194, 11, 47,248,152, 76, 38,244,238,221,187, 76,167,211,153,102,207,158,237, 31, 20, 20, 4, 15, 15, 15, 12, - 26, 52,168,188,170,170,170, 59,224,254,146, 41, 2,147,236,110,241,239,193,210,100, 20,136,123,143, 15, 65,239,241, 33,232, 58, - 34, 0, 36,135,192,229,195,114,240, 75, 91,170, 94,152, 50,165,178, 89,179,102, 6,146, 36,209,188,121,115,227,246,237,219, 29, -117, 86,250,246,235,175,191,126,212, 96, 48,188,244,242,203, 47,163, 79,159, 62, 48, 26,141,216,190,125, 59,100,185, 7,176,240, -249, 46,142, 3, 98, 50,128,224, 73, 16,232,105, 10,115, 36,178,218, 6, 74,191, 89,246,106,191,167, 6,117,240,197,222, 99, 23, - 49,172, 13, 23,208, 85,223, 15,231,174, 43, 91,223,152, 26, 59,233, 75, 94,105, 81, 30, 26,169,137,194,194,169, 85, 85,163,145, -155, 41, 12, 58,157, 14, 18,137, 4, 92, 46, 23, 2,129, 0, 70,163, 17, 4, 65, 32, 62, 62, 30,205,155, 55, 71, 78, 78,142, 59, - 22,112, 99, 91,202, 44, 30, 94,100,232,245,250, 33,249,249,249,214,142,143,165,179,248,179,207, 62,219,101,251,246,237,193,133, -133,133,248,227,143, 63,128,154,169, 30,236, 33,189,168,168,232, 73,177, 88,140,173, 91,183, 70, 76,152, 48,225,156, 85, 31, 45, -115,231,244, 45,133,133,133, 91,238, 39,140,182, 93, 6,182,110,221,234, 63,106,212,168,221, 42,149,170, 67, 99, 69,132, 72, 36, - 90,115,230,204, 25, 95, 46,151,139,180,180, 52,140, 27, 55,174,196,201,244, 14, 44, 88, 60, 76,168, 6, 48, 47, 43, 43,235,243, -183,223,126,251,131,118,237,218,189, 58,101,202, 20,170,109,219,182,200,207,207, 71,118,118, 54, 90,182,108,137,220,220, 92,124, -247,221,119,186,146,146,146,213,168, 25,108, 82,249,159,141, 49, 47, 47,175,187, 59,119,238,100,130,130,130, 44,253,132,124,124, -124,138,230,207,159,207,200,229,114,198,215,215,183,192, 13,154, 58,171,123,135,132,132,156,184,120,241, 98, 86, 79, 95, 40,199, -125, 17,193,124, 85,221,147,249,170,186, 39,179, 38,191, 27, 19,209,195,219,248,218,180,215,242, 62,255,252,243, 91, 27, 54,108, -200,252, 31,123,215, 29, 30, 69,181,183,223,153,237, 37,189,147, 4, 18, 32,244,208,139, 32, 29,129, 32,132,122, 85,138,128,162, -126, 72, 64, 44, 8, 4,244,114, 17,145, 4, 68,165,233, 5, 47,150, 0,210,171, 20,169, 66,128, 80, 36, 32, 37,161, 5, 18, 72, -207,166,111,175,115,190, 63,178,179,110,194, 38,187, 27,192, 58,239,243,204, 51, 59,237,221,211,230,156,247,252,206,239,156, 89, -187,118,237,157,252,252,252, 59,225,225,225,103,234,224,164, 2,228,130,189,221,219, 69,145,231, 7, 63, 71,122,182,141, 32, 97, -222,162,156,107,241,145, 68,187, 44,130, 88,138,210,201,229,219, 69,100,220,191, 15,144,113,255, 62, 64, 46,223, 46, 34,150,194, -235, 68,179, 64, 76,212,203,155,145,103, 26,251,220,114, 20,206, 86, 33,178, 37,251, 23, 12, 35,134, 29,147,201,182,184,182,164, -117,176,236,102,125, 57,125,229, 66, 73,179, 6, 30,247,206, 38, 12, 50,156,223,183,142, 60,211,181, 19,201,201,201, 33,121,121, -121,228,240,225,195,196,207,207,207, 0,224, 56,170,214, 22,114,180,125,129,223, 22, 68,125,132,243,226,143, 95,147,151,134,245, - 37,189,163, 27,144,168, 16, 57, 35, 21,241,212, 0,246,219, 61,127,188,121,243,230, 6,165, 82, 73, 84, 42, 21,185,126,253, 58, -105,209,162, 69, 9,126,155, 17, 53,208,129, 9,184,124,252,248,241,196, 17,146,147,147,201,181,107,215,200,212,169, 83, 73,231, -206,157, 73,207,158, 61,201,184,113,227,200,255, 17, 16, 0, 55, 28,112,142, 10, 13, 13, 45, 95,178,100, 9, 57,121,242, 36,217, -176, 97, 3, 89,178,100, 9,121,255,253,247,201,230,205,155,201,141, 27, 55,200,158, 61,123,156,241, 57, 10,231,147, 0,199,249, -199,112, 30, 78, 75, 75,179,149, 41,139,197, 66,114,115,115,201,145, 35, 71, 72, 72, 72,200, 13, 84,173,147,229,136,211,171,117, -235,214, 55,111,221,186, 69, 30, 62,124, 72,140, 70,163,141,227,230,205,155, 4,192,169, 39, 16,206, 22, 97, 97, 97, 69, 39, 79, -158, 36,183,110,221, 34, 33, 33, 33,217, 79, 50,238,145,145,145, 69, 10,133,130,156, 56,113,130, 4, 6, 6, 22,161,110,139, 45, - 87,150, 56,206,191, 50,103, 36,128,141,157, 59,119,182,172, 90,181,138,188,249,230,155, 36, 34, 34,194,130,170, 69,190,195,240, - 15, 66,173, 22,173,242,242,242,136, 55,223,124,243,242,179,207, 62,219,181,160,160,128,237,141, 25,104,154, 38, 10,133,130, 49, - 26,141,185,238,254,153,209,104, 44,184,126,253,122,192,138, 35,151,139,102, 47,154, 25,148,140, 60,217,179, 47,133, 96,239,178, - 76,188,216,127, 74, 89,108,204, 40, 83,100,100,164,205,130,117,235,214, 45,232,245,122,109, 29,148,228,153, 38, 62,221,118,204, -110,141,125,103,239, 98,209,181,226,239,229, 34,222,174, 93,151,203,246,207,237, 9, 24,183, 79, 64,251, 23, 54, 96,243,162,161, - 0, 0,166,232, 6,140,219, 39,130,146, 5,224,116,174, 0, 21, 90,227, 1, 71,164, 77, 2,101,175, 14,108,198,199,222, 19,151, -176,104,239,195,239, 45,132,212,155,179, 76,109,212, 1,136,158,178,250,124, 2,112,126,172,222,104, 9, 24,208,191, 31,246,253, -184,159,110,213,170, 21, 54,109,218, 36,156, 56,113, 98,180, 59, 67, 20, 53, 57, 45, 12, 9,160,128, 98, 2,108, 17, 11,120,243, -181, 6,139,142,109, 52,172,195, 20, 66, 7,195, 20,181,249,130,236,201,203,203, 59,113,225,194,133, 11,111,191,253,118, 11,137, - 68, 66, 9, 4, 2, 88, 44, 22, 48, 12, 3,139,197,130,242,242,114,220,186,117, 11,141, 27, 55,182,153,128, 15,120,122, 84, 2, -170,255,212,198, 55,127,254,124,155, 73,185, 99,199,142,200,201,201, 65, 86, 86, 22, 46, 95,190,108, 51, 41,187,200,199,225,175, - 15,241,249,243,231, 33, 22,255,246,149,165,171, 87,175,226,173,183,222, 74,179,250, 84, 85,214,242, 92,101,122,122,122,207,161, - 67,135,158, 94,181,106, 85,107,251, 33,231,147, 39, 79, 2,128,254, 73, 88,223,114,115,115,251,196,196,196,172,244,247,247,239, - 80, 80, 80,176,224, 73, 70, 60, 43, 43,235,189,118,237,218, 45, 81, 42,149,149,110, 14,109,114,224,240, 87, 67, 22,128,137,169, -169,169,203, 82, 83, 83, 63, 64,213, 84,250,197, 0,210,185,164,169, 5, 97, 97, 97,119,231,206,157,171,187,120,241,162, 37, 46, - 46,174, 68, 46,151, 79,171,135,226,149, 6, 4, 4,108, 13, 10, 10, 74,241,247,247,191,228, 17, 44, 82,200, 27,210, 70,207, 64, -113,129,143,143,207,245,160,160,160,115,246,223, 65,244,243,243,251, 25, 64,120, 93,156, 45,131,229,211, 95,232,232,159,219, 42, - 68,182, 18, 85,159, 20,162, 90, 4,203, 14,239,158,224, 73, 52, 31,251, 17,205, 34, 47,162, 93,217,150,104, 87,182, 37,154,197, -254, 68,187,162, 13,185,147,208,157,116,139,244,206,111, 26, 44, 15,248,189, 56, 89, 88, 87,113,111, 17, 25, 25,169,184,116,233, - 18,201,202,202, 34, 7, 15, 30, 36, 50,153,236,122,125,123, 16,246, 43,195, 87, 75,108,169,244, 72,101,101, 37,209,233,116,228, -196,137, 19, 36, 56, 56,216, 81, 15,186,174, 94, 73, 16,128,213,109,218,180, 49,173, 88,177,130,236,221,187,151,172, 89,179,134, -140, 26, 53,138,204,153, 51,135,140, 29, 59,150, 4, 6, 6,234,173,230, 95,111, 23, 56,235,203,199,245, 28,255, 94,156, 17,214, - 94,173,189,229,118,126, 13, 75, 86, 93,156, 94,214,251,107,179,252,114,121,196,113,114,156,127, 77,206,127, 46, 2, 3, 3, 63, - 93,176, 96,129,250,167,159,126, 50,206,156, 57, 83,213,160, 65,131,211, 79, 40, 35,130, 0,116, 7,208,165,150, 74,182, 94,153, -219,222,219,219,187, 69,144,236,231,185,207,249,145,203,115,155,144,138, 21, 29,136,230,171, 30,228,110, 66, 87,242,229,203,205, - 73,135, 80,207,135,205, 3,101,109,255, 96,206,250, 12, 81,184, 85,176, 93, 28,166,112,133,211, 93, 19,240,211, 48, 41,115, 21, - 26,199,201,113,114,156, 28, 39, 39,180,254,190,104,214,172, 89, 70,187,118,237,238,199,197,197,165,253, 69, 50,151,106, 25, 36, - 31,219, 34, 72,190,187, 85,144,244, 94,155, 96, 89, 78,139, 32,217,177, 22,129,178,247, 59, 53,128,244, 79,194,217, 66, 36, 18, - 29, 9, 13, 13, 85, 0,120,229, 41,164,231,132,144,144,144,135, 86,107, 89,139, 39,192, 25, 13, 96, 43,128, 45, 0, 90, 63,129, -112,186,202,199, 85,104, 28, 39,199,201,113,114,156,156,208,250,123, 98,218,180,105,124,174,192,112,156, 28, 39,199,201,113,114, -156, 28, 39,199,201, 9, 45,247, 65,213,145, 88,199,158,114,130, 31,227, 56, 57, 78,142,147,227,228, 56, 57, 78,142,243, 31,199, -233,140,251, 24, 56,112,202,156,227,228, 56, 57, 78,142,147,227,172,149,147,178,110,180,117, 99,143,255,204,113,167,254,196,113, -255,167,112,254, 45,193,255,131,254,151,205, 8, 6,117,125, 61,153,195, 31, 9,251, 23,132,112,249,196,225, 79, 10, 15, 62,159, -255,174, 72, 36,234,107, 54,155, 91, 3,128, 64, 32, 72,215,235,245,167,204,102,243, 23, 0, 84, 92, 18,253, 97,117, 7,207,174, -177,181, 88, 55,252, 9,235, 18,123, 81,192, 60,102,187,244, 52,226,254, 79,230,252,219, 11,173, 14,114,185,252, 63, 34,145,168, - 9, 69, 81, 22,181, 90,125, 77,175,215,175, 3,112,238, 49,255,243,155,224,224,224, 87, 74, 74, 74, 24,246, 35,197, 20, 69,129, -166,105, 8, 4, 2,109, 69, 69,133, 87,125, 72, 3,219,142,122,159, 79, 81, 51, 45,196,178,174,232,250,190, 79,156,157,231, 80, -247, 11, 35, 20, 10,199,248,249,249,249, 40, 20, 10, 66,211, 85,171, 71,240,120, 60,118,133,121,115, 69, 69,197,247,174,146,249, -250,250, 94,244,243,243,243, 97,159,167, 40, 10, 37, 37, 37,229, 69, 69, 69,221, 0, 64, 34,145,156,149,203,229,254,124, 62, 31, - 60, 30, 15, 60, 30, 15, 26,141,166,164,164,164,164,231,239, 25,105, 95, 95,223, 20,154,166,155,184,243, 12,195, 48,247,203,202, -202,158,229,138, 76,117,108,223,190,157, 23, 19,246, 90, 20,159,104,219,211, 52,241,102, 24,170,194, 76, 73,175, 30,206,253, 38, -195,149,231, 95,124,241, 69,139, 11,183,245,241,242,242,218,176,123,247,110,223, 78,157, 58,209,197,197,197,104,220,184, 49, 74, - 75, 75,187, 37, 39, 39,119,126,237,181,215, 94, 83, 42,149,147, 0, 36,115, 57, 82, 55, 68, 34,209,138,224,224,224,215, 85, 42, -149,134,162, 40, 66, 81, 20, 40,170,170,159, 85,115,111,177, 88,114, 74, 74, 74,186, 56,105,108, 5, 34,145,232,243,144,144,144, -201, 26,141, 70, 99,229,115,200, 11, 0, 38,147, 41,167,184,184,184,139, 75,117,125, 96,224, 58,169, 84,250,178, 70,163, 81, 83, - 20,197,216, 95, 35,132,216, 55,230,247,138,139,139,123, 59, 19, 6, 34,145,104,101,112,112,240,171,214,184,219,194,249,184,113, - 15, 14, 14,158,172, 86,171, 93,226,172, 35,238,143,112, 62,141,112,254, 73, 57,255,254, 66,171, 99,199,142, 91, 46, 92,184,208, - 92, 32, 16, 0, 0,116, 58, 93,187,213,171, 87, 79,154, 59,119,110, 34,128,121,245,252,191,164,222,189,123,143, 75, 78, 78,166, -247,238,221, 75,119,237,218, 21, 20, 69,193, 98,177,192, 98,177,160,109,219,182,210,250, 70,196, 91, 46,139,191,124,244,107, 73, -135,129,111,204, 44, 2, 62,113,118,190, 46,129, 9,224, 67, 0, 77,220, 12,130,194,154, 46,151,127,175, 70,252, 41, 9, 3, 74, - 40, 20,254,171,119,239,222,222,199,142, 29,163,178,179,179, 41,169, 84,106, 91,172,212,100, 50,161, 77,155, 54,110, 89, 66,125, -124,124,188,226,227,227,163,158,127,254,121,236,220,185, 19,147, 38, 77, 66,175, 94,189,238, 20, 21, 21, 1, 0,228,114,185,127, - 90, 90, 90,115, 63, 63, 63,104, 52, 26, 84, 84, 84, 96,208,160, 65, 40, 41, 41,121,236, 2,238, 21,142, 38, 22, 1, 22, 7,134, - 75, 7, 40, 30,104, 23,169, 31, 98, 77,109,247, 10, 4,130,240, 7, 15, 30, 4,137, 68, 34, 16, 66,192, 48,140,195, 61,251,219, -104, 52,162, 77,155, 54,198,218,248,158,233, 24,190,152,162, 41,219,135,133,137,217, 82,122,225,106,222,135,143, 27, 39, 63, 63, -191,203, 98,177, 56,216,169, 90,182,107,200,116, 58, 93, 97,105,105,105, 39, 39,143, 68, 2, 24,206,227,241,154,241,249,252,150, - 0, 34,205,102,115, 48, 0, 8,133,194, 66, 30,143,151,101, 50,153,110, 25, 12,134,187, 0,126, 68, 29, 31, 64,142, 9,123, 45, -138, 50,107, 94, 80,234,153,161,178,166,137, 45, 52,247,226,111,203,196,154,131, 49, 97,175,237,112, 85,108, 57,193,192,254,253, -251,111,217,191,127,191, 68, 40, 20, 66,171,213,226,198,141, 27,240,246,246,134, 72, 36,194,200,145, 35,121, 61,123,246,244,239, -215,175,223,206,219,183,111,143,135,123, 62, 31, 45, 0,108, 67,213, 7,165,223, 68,245, 47, 20,212, 7, 97, 0, 70,160,234,155, -143,141,141, 70, 99, 49,128, 84,107,152,238, 0,136, 8, 12, 12,252,129, 97, 24,125, 73, 73,201,107,112,240,161,234,238,157, 27, - 94,162,105, 58,156,181, 9, 48,196,146,115, 62, 53,231,137, 52, 80, 52, 77,175,140,141,141,125,117,199,142, 29,178,212,212, 84, - 89,235,214,173,109, 29, 34,182,204,219,163,113,227,198,206,172, 26,124,154,166, 87,188,240,194, 11,227, 55,110,220, 40,123,240, -224,129, 44, 52, 52,212,198,105, 47,182, 88, 56,251,132,152, 93,217,255,102,240,224,193, 19, 55,108,216, 32,216,183,111,159, 52, - 32, 32, 0,254,254,254, 14,191, 25,219,179,103, 79,198,121,212,233,149, 35, 71,142,156,184,117,235, 86,217,133, 11, 23,100,109, -219,182, 5,143,199,123,236,184,143, 26, 53,106,252,150, 45, 91,100,215,174, 93,147, 53,107,214, 12,172, 81,161, 38, 31, 77,211, -104,216,176,161, 75,156, 35, 70,140, 24,191,109,219, 54,217,229,203,151,101, 45, 91,182,180,165, 39, 91, 39,213, 39,156,127,114, -206,127,132, 69, 75,100, 52, 26,113,234,212, 41,208, 52, 13, 63, 63, 63,188,242,202, 43, 56,122,244,104,252,137, 19, 39,246,215, -195,178,245,141, 85,100, 9, 0, 96,215,203,163,112, 95, 0,188, 85,100,128, 80, 40,196,189,123,247,192,227,241,220, 54, 45,138, -197,226,201,132,144,127,107,114,127, 17,107,181, 38,232,242, 46,201,164, 82,169,173, 1,208,228, 89,207,231, 95,146, 73,165,210, -123, 60, 30,239, 99,149, 74,149, 84, 27, 95,179,102,205, 54,221,184,113,163,149,179,143, 61,215,132, 70,163, 65,163, 70,141, 34, - 74, 75, 75,155,253, 30,141,184, 51, 78,179,217, 12,137, 68, 2,214, 26,101, 48, 24,160, 82,169,156,113, 82, 66,161,112, 12, 43, -178, 0, 96,243,230,205, 8, 9, 9, 65, 80, 80,144,237,163,210, 44,167,171,224,241,120,136,137,137,193,194,133, 11,145,152,152, -136,217,179,103, 87,171,104, 5, 2, 1,252,252,252,240,211, 79, 63,193,203,203, 11, 17, 17, 17, 96, 5,126,173, 2, 42,130,166, - 76, 38,134,214,230,193,177,229,163, 1,164, 82, 30,150, 70,245,242,121,115,216,187,145,252, 6,205,101, 88, 60,248,210, 60,245, - 67,253,154,186,132,137, 80, 40,196,245,235,215, 31,169, 16, 28,222,207, 35, 48,136, 43,253, 26,247,145, 42, 28,137, 56,138,166, -252,206, 93,122,104,179,208, 14, 25,208,138,255, 76, 39,254, 87,214,166, 18, 52, 13, 48, 76, 85,211, 73, 81, 32,102, 19, 83,118, -233, 90,222, 2, 23,210, 51, 52, 43, 43, 43,200, 89, 26,177, 48,155,205, 8, 13, 13,229, 57,185,109,104,116,116,244,174,184,184, - 56, 97,179,102,205, 40,161, 80, 8, 62,159, 15, 62,159,207, 10,244, 8, 66, 72, 4,195, 48,253, 10, 11, 11,201,234,213,171,151, -157, 60,121,114, 52,128,131, 14, 43, 22,162,109,175,212, 51, 67, 79, 95, 65,183, 23, 6,206,197, 79,219,227,187,245,238,200,192, - 83,166,205, 0, 80, 47,161,197,138, 13,139,153,161,238,100, 86,248,237,220,185,131,162,105, 90,175, 84, 42,193, 48, 12,122,246, -236, 9,154,166,113,253,250,117,124,240,193, 7,216,181,107, 23,246,236,217, 35,237,220,185,243,183, 26,141,166, 53,170,190,197, -230, 84,100, 69, 71, 71, 95,185,112,225,130,196,104, 52,162,123,247,238,231,111,223,190,221, 25,245, 91,193,221, 23,192,103,243, -230,205,155, 24, 23, 23,199,243,241,241,129, 72, 36,130, 82,169, 68, 70, 70,198,228,239,191,255,158,172, 93,187,246, 75, 0,158, - 89, 89, 89, 61, 46, 94,188,136,254,253,251,191, 13,224,221, 71, 21, 1, 47,252,236,197,204, 32,246,120, 68, 76, 59, 97,143, 46, -116, 97,149, 21,167,230,221, 4,140,133,201,185,248,107,174, 43, 66,108,217,168, 81,163, 38,236,216,177,195, 3, 0,254,251,223, -255, 98,204,152, 49,240,243,243,131, 76, 38,131, 80, 40,132, 64, 32,168,182,119,210,216,242, 0, 44, 27, 59,118,236, 11, 27, 55, -110,244, 4,128,141, 27, 55, 98,212,168, 81,240,247,247,135,167,167, 39, 68, 34,145,237,123,175,110,118, 48,190,233,213,173,219, -148, 13, 27, 54, 0, 0, 62,120,231, 29, 60,255,204, 51,240,144, 73, 33,147,138,192,166,133,136, 39,192,144,183,102, 58,213,151, - 0,150,143, 25, 51,230,165,173, 91,183,122, 2, 64,106,106, 42,138,138,138, 16, 28, 28, 12,169, 84, 10,145, 72,100,139, 51, 69, - 81,144, 74,165, 46,197,125,204,152, 49, 47,108,217,178,197, 19, 0,146,146,146, 16, 19, 19, 99,139,187, 88, 44,134, 80, 40,172, -182,213, 20,157,142, 56, 71,143, 30,253,194,182,109,219, 60, 1,224,251,239,191,199,192,129, 3,225,235,235,107, 75, 79,150,203, -157, 60,250,147,115,254, 51,132,214,149, 43, 87,254, 37,151,203, 19, 0, 4,138, 68, 34,159,241,227,199, 55,156, 50,101, 10,198, -142, 29,139, 19, 39, 78, 76,117, 83,104, 81,193,193,193,175, 36, 39, 39,219, 90,104, 3,121, 68, 48,185,221,128, 91,241,239, 75, - 83,167,134, 36,102,168,112,254,226, 45, 72, 64, 83, 23,151, 47, 15,212,221,189, 11,139,193,128, 69,247,148, 85,231,205,132, 58, -245,222, 91, 33, 29, 86,124,249,111, 0, 73,117, 52,182, 98,189, 94,143, 59,119,238,184, 21,136,236,236,108, 71, 31,127,174,119, - 35, 30, 17, 17, 81,215, 11,232,148,243,240,225,195,152, 53,107, 22,110,221,186, 5,246, 83, 37, 46,112, 82,126,126,126, 62,172, -200, 98, 69,144, 84, 42,133, 64, 32,160,248,124, 62,197, 14,237, 89, 95, 46,151,132, 49, 77,211,216,180,105, 19,150, 46, 93,138, - 57,115,230, 96,221,186,117,104,223,190,253,111,133,144,207, 71,101,101, 37,124,125,125,225,235,235, 91, 77, 32,214,134,202, 7, - 12, 1, 28,139, 44,105, 35,132, 72,165,252,131, 99, 63,137,234,208,246, 57,127,168, 74,140,216, 52,247, 14,138, 51,245, 59,156, -165, 39, 33, 4,237,219,183, 7, 69, 81, 54,161,193,110, 2,129, 0,124, 62, 31, 60, 62, 15, 58,170, 18, 77,122, 9,241,206,206, - 86,210, 6,205,101, 82, 71, 34,174,102, 54,127,254,197, 42, 25, 24, 82,229, 4, 66, 24,128, 1, 8, 8, 24,194,160, 48, 55, 3, -255, 89,248,169,203,173,143, 64, 32,192,221,187,119,109,225,102, 45,195,172, 48,178,183, 26, 68, 70, 70, 58, 45, 75, 66,161,240, -163, 61,123,246,136, 54,109,218,132,173, 91,183,130,162, 40,136,197, 98,200,229,114,248,248,248,192,223,223,223,182,133,135,135, - 83,223,126,251,173,176,125,251,246, 31, 85, 86, 86, 30,116,156,231,196, 91,214, 52,177,197, 11, 3,231, 2, 0, 94,152, 75, 80, -118,231,147, 14,116,249, 2,239,250, 91, 94,170,196,198,226,197,139,241,241, 51,207, 64, 36, 18,145,138,138,114, 9,219,185,224, -209, 60,164,165,221,192,138, 21, 43, 48, 97,194, 4,220,187,151, 65, 34, 34, 34,245,179,102,205,242, 72, 76, 76,124,199,104, 52, - 46,114, 38,178,218,181,107,119, 38, 37, 37, 69,162,209,104,192, 48, 12, 14, 30, 60, 40, 27, 56,112,224,233,204,204,204,222,238, -138,173,200,200,200,125, 41, 41, 41, 61, 3, 3, 3, 81, 81, 81,129,202,202, 74,152, 76, 38,240,120, 60, 68, 68, 68, 96,217,178, -101,212,200,145, 35,103, 76,158, 60, 89, 39,149, 74, 89,203, 70,164, 35,174,154,239,247,234, 53, 95,249, 16, 82, 85,126, 8, 67, -170,237, 75,139,178,240,206,123,174,125,189,170, 97,195,134,111,238,220,185,211,195,222,178,100, 47, 2,236, 69, 22,187, 57, 17, - 6,116,163, 70,141,166,252,240,195, 15, 54,206,128,128,128,106,239, 15, 77,211, 56,125,250, 52, 18, 62,154, 7,223,192, 80,172, - 90,243, 95,151,134, 11, 99, 98, 98, 94, 78, 74,250,173,234,110,215,180, 41,134,245,124, 6, 65, 1, 94, 8,240,245,172, 74, 39, -134,194,213, 91,153, 78,219, 35, 0,116,195,134, 13, 95,219,190,125,187,135,125,135,144,141, 43,219,121,102,173,248, 6,131, 1, - 93,186,116,113, 41,238,246,156,172,181,141, 21,109,108,122,178,255,195,190,175, 78,194, 57,133, 21,194, 86,193, 89,141, 67, 32, - 16, 96,251, 79, 27,106,181,102,215,151,211,221,124,175,201,153,149,149,133, 37, 75,150,128,237,180,217,187, 10,133,133,133, 97, -213,170, 85, 78,235,165, 26,239, 64, 87, 0,129,118,167, 12, 0, 68,118,123, 5, 69, 81,191, 56,184,143, 61, 47,176,142, 88, 5, - 90,219, 14, 37, 0, 31, 7,124,181,241, 20, 91,219,188,192, 26,247, 87,251,159, 90,133,214,254,253,251,217,183,184, 95,108,108, -236, 41,235,239,114,177, 88,156, 45,147,201, 66, 0, 40, 15, 30, 60,136,255,251,191,255,131,213,180, 58,194,219,219,251,134, 3, -171,206, 21,189, 94, 63, 23, 64,161,245, 20,107,174,167, 75, 75, 75,153,163, 71,143,210, 27, 71, 15,134,129, 0, 29,255,157,128, -152,216, 88, 28, 14, 19,129, 7,160,219,205, 98,200,100, 50,126,101,101,165,201,222,111,203,129,239,214,177, 26, 5,138, 39,225, -243,209,253,204, 1,204, 58,115, 0,221,228, 34,148,236,216, 6,229,217,100,208, 52,133, 62,242, 0,204,158,112, 20,207,122,137, - 33,210,171, 65,211,180,163,146,109,227,188,115,231,206,139, 94, 94, 94, 9, 53, 18,216, 21,220, 71,213,119,156, 80, 75, 56, 93, -106,196,217,237,242,101,135, 35,144,181,114, 90,135,224, 32,151,203,113,252,248,113,219, 61,207, 61,247, 28,116, 58, 29,252,252, -252, 92,226, 84, 40, 20, 36, 47, 47,143,218,184,113, 35, 4, 2, 1,252,253,253, 33,147,201,168, 13, 27, 54,204, 19, 10,133,225, - 58,157,142, 49, 24, 12, 16,137, 68,171,216,252,225,243,249,234,202,202, 74,255,218, 56,121, 60, 30,226,226,226,240,254,251,239, - 99,221,186,117,152, 58,117,234, 35, 22, 47,157, 78,135,128,128, 0,155,216,114,240, 2,186, 52,244, 35, 11, 67, 91,159, 96,209, -145, 41,171, 90, 5,135,181,148, 35,101, 75, 1, 14,172,204,202, 81, 23, 90,190, 48,148, 97,167, 51, 78, 66, 8, 50, 50, 50,106, - 21,195, 37,101,197,120,255,227, 55,209,241, 53, 57,106, 17,113,191,113, 50, 4, 55, 46, 31, 70,218,181, 99, 96, 44, 12, 44, 12, - 1, 33, 22, 48,102, 32,245,232,249,230,249,247,243,194, 8, 72,149,235, 45, 0,113,133,202,220,215, 95,212, 18,192,222, 83, 37, -134, 21,206,226,206,231,243,161,211,233,176,103,207, 30,220,188,121, 19, 7, 15, 30,132, 86,171, 69, 64, 64, 0,124,124,124,240, -204, 51,207, 96,242,228,201,136,140,140,116,154,239,132,144,164,236,236,236,142,189,122,245,162,202,203,203, 81, 94, 94, 14,173, - 86, 11,139,197, 2,179,217, 12, 62,159, 15,137, 68, 2,169, 84,138,224,224, 96,232,116, 58,162,215,235,147,106,227,100, 24,170, - 66,115, 47,254,246, 79,219,227,187,189, 48,151, 96,199, 82, 10, 81,141,196,154,227,151, 60,167,236, 61, 51,123, 16, 0,194, 16, -155,105,129,152, 44, 76,241,251,243, 62,155, 81, 87, 56,217, 60, 73, 73, 73,193,140, 25, 51, 96,177, 88, 40, 1,159, 15, 66, 8, - 40,154,198,237,219,183,177,122,213,106,140, 27, 55, 14,205,162,162, 96, 48, 26,161, 82,169,208,191,127,127,193,170, 85,171,250, -217, 9,173, 99,117,136, 44,127,173, 86, 11,165,178,202,248, 37, 18,137,176, 99,199,142,128,225,195,135, 39,231,229,229,213,245, - 61,210, 71, 56, 61, 61, 61, 35,120, 60, 30,174, 95,191,142,181,107,215,226,248,241,227, 40, 44, 44, 44, 11, 13, 13,245,238,215, -175, 31,253,206, 59,239,160, 99,199,142,248,238,187,239, 36,206, 56, 9, 33,200,186,115, 26, 89,119,207,128, 97,170,132,101,213, -230,248,119, 29, 61,160,106,225, 84,171,213,186, 43, 87,174,120,172, 95,191, 30, 65, 65, 65,104,220,184, 49,100, 50, 25, 36, 18, - 73,181, 70,214,190,225,117,246,110,106,181, 90, 93, 86, 86,150,199,150, 45, 91,224,239,239,143,200,200, 72,200,100, 50,136, 68, - 34,240,249,124, 80, 20,133,141, 27, 55, 98,243,194, 9,200,186,117, 13,163,134, 13,114, 26, 78,153, 76,246,114, 82, 82, 82, 53, - 19, 72,176,175, 47,248, 2, 26, 60, 1, 5,223,231, 70, 3, 0,202, 78,236,174,178, 85, 57,143, 59,165, 84, 42,117, 23, 46, 92, -240,184,116,233, 18, 24,134, 65,100,100, 36, 52, 26, 13,188,188,188,108,241, 63,122,244, 40, 70,142, 28,137, 77,155, 54,161, 71, -143, 30, 78,227,174, 82,169,116,215,174, 93,243,248,225,135, 31,224,231,231,135,134, 13, 27,218,226,206,110, 2,129, 0, 60, 30, - 15, 77,154, 52, 65, 69, 69, 5, 60, 60, 60,156,230, 81,106,106,170,199, 15, 63,252, 0, 95, 95, 95,132,135,135,219, 44,110,172, - 56, 90,250,213,194,106, 4, 18,170,193, 99,115,186,155,239, 53, 57, 71,141, 26,133,168,168, 40,120,121,121, 65, 46,151,219,184, -235,226,172, 69,139,216,244, 54, 69, 81,251,237,222,137, 88,138,162,246,219,239,107,187,207,250,179,207,188,121,243,186, 36, 38, - 38, 46,233,209,163,199,150,148,148,148,205,181,241,213,198, 51,111,222,188,232,196,196,196, 37,246,247, 59,248,159,218, 45, 90, -177,177,177,148, 53,146, 20,128,198,157, 59,119,254,229,196,137, 19,126,158,158,158,182,155, 31, 62,124,136,242,242,114,120,122, -122,122,125,254,249,231, 94,253,250,245, 67,112,112,176,173, 7,112,231,206,157, 54, 45, 90,180,168, 4, 80,211,110,203,208, 52, -141,103,159,125, 22, 55,172,163, 29, 49,177,177, 8, 15, 15,183, 57,121, 72, 36, 18,204,152, 49,131,154, 53,107, 22,159,181,102, - 16, 66,160,213,106,209,160, 65, 3,105, 93, 86, 8, 0,136,214, 22, 99,119,191, 62,160, 41, 64,115,249, 34,132, 34, 10, 52,143, - 66, 39, 82,130, 67,253,251,128, 2, 96,248,245, 28, 92,176,194, 92, 6, 48,232,105,152, 15,157, 53,226, 14,226, 69,213,151,147, -181,104,164,164,164,192, 98,177,184,202, 73,104,154,134, 92, 46, 71, 72, 72, 8,164, 82, 41,100, 50, 25,181,101,203,150, 15, 27, - 55,110,220, 96,214,172, 89,116,101,101, 37,253,236,179,207, 98,204,152, 49,124,118,136, 51, 58, 58,218,105, 92, 78,157, 58,133, -181,107,215, 98,234,212,169, 14, 45, 90, 20, 69, 33, 48, 48, 16, 94, 94, 94,245, 78, 95,113, 35, 68, 6,132, 75, 78, 77,255,174, -173,143, 87,144, 16, 63,173,121,136,195,171,179,119,235,138,241, 57,204,184, 5,160,204, 85,139,150, 35, 1, 12, 30, 3,139, 95, - 9, 94, 93,221, 28, 97, 45,189,145,178,165, 0, 7,191,120,104, 81, 41, 76,179, 29,136, 56, 48, 0,140,102, 19, 52, 42,173,109, - 72,215, 98,177,224,218,201, 95,155,223,255,245, 78,244,254, 45,155, 4, 0,160, 59,185,187,218,160,231,152,175,182,181,232,235, - 43,184,112,170,204,116,161,174, 50,207,231,243,241,202, 43,175, 32, 49, 49, 17, 47,191,252, 50, 14, 30, 60,136, 5, 11, 22,224, -245,215, 95,127,196,170,229,172,231,104, 50,153,190,158, 52,105,210,212, 29, 59,118,180,156, 59,119, 46,205, 90,180,100, 50, 25, - 40,138,130, 78,167,131, 94,175,135, 86,171,197,173, 91,183,152, 55,222,120,227,182,193, 96,248,186,214,225, 74, 74,122, 85, 38, -214, 28,108, 26, 78, 71,169, 51, 63,245,236,245, 76,164,150,146,118,174, 24,221, 98, 32, 25,250, 74,164, 47, 8, 1, 97, 0,134, - 0,122,189, 26, 51,102,188,205,115,165,172,103,221, 57,141, 43,151, 47, 66, 42, 21, 67,165, 84,193,194, 88, 64, 24, 2,177, 80, -128, 15, 63,152,143,113,227,198, 35,170,105, 83, 88, 44, 22, 8, 5, 66,124,255,253,247,232,210,165, 11, 12, 6, 67,107, 23, 44, - 89,254, 58,157, 14, 87,174, 92, 65,255,254,253,145,157,157,141,244,244,116, 52,111,222, 28, 27, 54,108, 8, 28, 63,126,124,114, - 81, 81,145,203, 31,127,191,118,237,218,188, 14, 29, 58,172, 84,169, 84,165, 42,149,106, 37,128,205, 0,202, 51, 50, 50, 90,103, -100,100,172, 62,124,248,112,239,255,252,231, 63,188, 26, 62, 58,188, 90, 34, 15,147,201, 12,173, 86, 95,167,192, 98,143, 9, 97, - 92,122,103, 40,138, 34, 45, 91,182,196,240,225,195, 33, 16, 8, 32,147,201,224,225,225, 81,109,216,172,166,224,170, 43,139, 0, - 48, 20, 69, 33, 52, 52, 20, 67,135, 14,133, 80, 40,172,198,201,150,195,161, 67,135, 98,230,162,127,227,235,153, 3,176,118, 82, -115, 12, 92, 92,232,204, 53, 67,245,243,207, 63, 75,223,159, 58, 21, 29,154, 53, 67,128,151, 23, 26, 5, 7, 66, 42, 22, 65,104, - 31, 38,202, 37, 35, 59, 1,192,240,120, 60,180,109,219, 22,133,133,133,200,204,204, 68,102,102, 38,104,154, 70,175, 94,189,108, - 86,152,187,119,239, 98,209,162, 69,208,235,245, 46,199,189, 89,179,102, 24, 48, 96, 0, 68, 34, 17,100, 50, 89,181, 33, 67, 54, - 77,149, 74, 37,162,162,162,176,119,239, 94,180,104,209,194, 41,103,171, 86,173,208,183,111,223,106,233, 41,149, 74,109,162, 8, - 0,178, 47,168,108,255, 17, 22, 22,230, 22,231,145,139, 15,177,254,232,207,208, 27, 24, 84,106, 76,213,189, 48, 2,188,112,230, -135,185, 46,197,157,229,252,223,255,254,135,242,242,114, 91,221,201,118,202, 89, 35, 74,195,134, 13,241,223,255, 58,182,100,214, -208, 34,142,234,129, 88, 23,219, 91,246, 62,182,112,137, 19, 19, 19,151,212,124,222, 25,159,253,245, 26,207, 27,106,136,179, 66, -183,134, 14,197, 98,241,252,159,127,254,217,175,162,162, 2,119,239,222, 5, 77,211,182, 49,117, 62,159, 15,163,209,136,123,157, -170, 47, 17, 0, 0, 32, 0, 73, 68, 65, 84,247,238,193,207,207, 15, 69, 69, 69, 16,139,197,224,241,120, 48, 24, 12, 0,208,169, -182, 6,156, 16,130,153,138, 42, 23,161,159, 66,133,200, 2, 48, 76, 81,245, 98,176, 14,241, 59,119,238,132,135,135, 7, 60, 61, - 61,109,123,103,195, 72,215, 50, 51, 80, 40,160, 64,159, 59, 13,138, 6,104, 10,160,120, 0, 77, 19,208, 20, 5,250, 92, 50, 40, - 10,144,251,251,186,219,118, 59,115,140,175,211, 1,222,157, 70,188,230,239,147, 39, 79,194, 85,206,168,168, 40,120,120,120,216, -182,195,135, 15, 87,179,104, 89, 44, 22,248,251,251,187,194, 73,172,254, 56, 8, 10, 10,130, 64, 32,160, 54,108,216, 48,175, 73, -147, 38, 13,222,123,239, 61,154,199,227,225,242,229,203, 72, 75, 75, 67,100,100,164,203, 62, 91,229,229,229,249,243,230,205,179, -204,155, 87, 53,135, 34, 58, 58, 26,229,229,229, 69,182, 97,192,202,202,146,193,131, 7, 87,243,219, 40, 46, 46, 46,169,197,179, - 66, 32, 15, 71, 44, 33,168,212,100,227,103, 54,204,222, 17,240, 22,120, 10,142,188,254,101, 43, 31,175, 32, 33, 14,173,122,128, - 35, 95,230,236,212, 21,224, 67,171, 79, 16,227,106,166, 59, 26, 54,206, 45,200,198, 27, 31,142,198,164, 53,209, 96, 69, 28,239, - 78,123,144,146,242, 82, 67, 89,105,146, 35, 17,199, 48, 12,204, 70, 51, 52, 58, 29, 84, 74,141,205, 58, 84,148, 87,232, 51,119, -214,187,130,229, 51, 94, 5, 0,204, 90,177, 6,202,117,191, 85,100,187,103,141, 11, 26,253,217,214,120, 0, 35,235, 10,167, 74, -165,130, 78,167, 67,211,166, 77,145,146,146, 2,165, 82,137, 33, 67,134,128,162, 40,219, 12, 81, 55, 96,200,205,205,237, 25, 27, - 27,251,203, 23, 95,124,209,180,117,235,214,148, 90,173,134, 70,163,129,253,254,218,181,107,100,243,230,205,247, 53, 26,205,179, - 86,211,185, 67, 28,206,253, 38, 35, 38,236,181, 29,199, 47,243, 98,131,162,110,123,229,150, 53, 53,151,228,138,213,149,218, 91, - 58, 11, 73, 3,177, 0, 22, 48, 32,102, 6, 22,235,176,151, 11, 53, 39, 76, 38, 51, 44, 22, 6, 15, 31, 62, 68,122, 90, 26,218, -181,109, 9,157,222, 12, 33, 95,128,153, 55,110,160,213,120,192, 32, 20,128, 97, 24, 80, 20,141,169, 83,167, 26,173, 67, 6,181, - 66, 42,149,174, 62,115,230,140,191, 78,167, 67,106,106, 42, 38, 78,156,104, 40, 46, 46, 22, 1,192,203, 47,191,108,216,184,113, -163, 40, 42, 42, 10, 27, 54,108, 8, 28, 51,102,204,118,181, 90,221,214,197, 52,221,148,159,159,191,169,230, 73,127,127,255, 85, - 15, 31, 62,236,103,239,243, 99, 54,155,109,193,113, 24,117, 6, 48,153, 76,208,106,245,168,168, 80,194, 96, 52, 89,235, 76, 6, - 22,139,217,186,103, 96,182,214,163, 34, 33,223,179, 83,219, 16, 21, 33, 4, 52, 69,149,167, 94, 47,104, 88,151,104,119, 52,196, -229,162, 53,171, 38, 44,236, 44, 51,127,127,127, 8, 4, 2,108,218,180, 9, 87,207, 30,134,136, 71, 96, 49,155, 96, 54, 25, 97, - 49, 25, 32,224,241,112,252,114, 38, 6,181,242,116, 73, 16, 6, 4, 4, 96, 88,143, 30,136,237,209,163,106,122, 27,159, 15, 15, -177, 24, 50,161,164,202,146, 5,128, 88,104, 87, 23, 17, 96,216,112, 6, 7, 7,227,210,165, 75,152, 57,115, 38,150, 46, 93, 10, -169, 84,106,155,253,124,243,230, 77,108,219,182, 13,131, 6, 13,114, 59,238,172, 5, 47, 62, 62, 30,121,121,121, 88,177, 98, 5, - 58,119,238, 12,129, 64,128,242,242,114, 60,251,236,179, 40, 44, 44,116,137,211,126,120, 79, 36, 18, 85,179, 62,177, 2,208,221, - 60,178,231,124,117, 84, 3,236, 59,187, 25, 20, 40,156,255,225,221,106,162,240,191, 91, 79,187,205,185, 96,193,130,106,225,116, -197,154,229,178, 31, 82,117,171,147,211,251, 40,138, 74,101,141,173,241,241,241,243, 41,138,218, 31, 31, 31, 63, 63, 33, 33,225, -134, 43,124,142,174, 83, 20,117,192, 42,194,134,217,157, 75,117, 75,104,201,100,178,110, 30, 30, 30,184,123,247, 46,134, 12, 25, - 98, 40, 41, 41,185, 45, 16, 8,154, 23, 23, 23,139,139,138,138,160,209,104, 84, 31,127,252,113, 38, 0,105,247,238,221,163,142, - 31, 63,142,236,236,108,108,220,184, 17, 0,118,215,230,167,195, 48,140,173, 80,212,236,182,241,120, 60,156, 59,119, 14,231,206, - 85,119,253, 90,191,126,189,211, 6, 99,204,158, 31,113,249,242,101,216, 47, 15,192,254,182, 63, 39,145, 72,128,186,103,120, 84, -131, 51,199,120,103, 14,240,174, 54,226,181, 85,128,174, 22,196,220,220,220, 90,159, 63,119,238, 92, 53,139,150, 51, 78, 30,143, - 7,139,197, 2,169, 84, 74, 9,133, 66, 74, 40, 20,134,179, 34,139,199,227,217, 94, 24,177, 88, 12,177, 88, 92,173,151, 90, 27, -242,242,242,250,231,229,229,213,122, 93,161, 80,244, 84, 40, 20, 46,197, 85, 22,134,143,158, 29,219, 96, 30, 0,156,221,154,255, -157,230, 33, 94, 7, 0,194,167,118,189,250,121,139,168,192, 72, 41,206,109, 47,192,145, 47,115,246,232, 10,176,208, 58,164,203, -184,154,230, 7,142,238,197,155, 83,167, 65,204,147,217,249,100,209, 40,231,101, 99,250,198, 22, 96, 69, 92,234, 70, 3,246,111, -253, 8, 41, 71,159, 55,213,101, 41, 51,154, 76,208,106, 12, 80,170,180,248, 40,225,187,170,147, 31,225, 2,128, 11, 61,223,156, -137,184,152, 65, 3,220, 29,166,102,211, 59, 40, 40, 8,167, 78,157, 2, 69, 81,216,190,125, 59,188,189,189, 17, 19, 19, 3, 47, - 47, 47,196,199,199,227,197, 23, 95,116,183, 50,171, 40, 41, 41,233,249,206, 59,239,252,242,233,167,159, 54,106,216,176, 33, 12, - 6, 3,140, 70, 35, 12, 6, 3, 50, 50, 50,176,121,243,230,108,141, 70,211, 19, 64,133, 51,178,195,185,223,100,236, 74,158,149, - 55,112,236, 24,237,205,194,159, 80, 80, 80, 2,179, 57, 23,140,197, 12,163,217, 82,101,225, 51,155, 97, 54, 91, 32, 20,242,188, - 62,253,228,221,163, 12, 8,104,154, 50, 0,120,190, 54,177, 17,209, 48, 8, 94,158, 94,104,221,170, 9, 78, 28, 90, 15,131,209, - 12,163, 65, 13,227,244, 24,164,103, 29,135,229,254, 49, 88, 24, 11,206,164,164,233, 77, 22, 34,144, 74,229, 84,195, 6,158,188, - 59,247,117, 14,195,233,227,227, 19,173, 80, 40,112,231,206, 29, 76,158, 60,185,160,164,164, 36, 29,192,115, 0, 80, 82, 82,114, -102,226,196,137,173,147,146,146, 66, 26, 55,110, 12, 15, 15, 15, 47,181, 90,237, 44,234, 30, 0,226, 0, 12, 70,117, 7,252, 82, - 0, 31,211, 52, 45, 78, 77, 77,125,100,166, 93,114,114, 50, 0, 92,112,220, 3,178, 90,180,116, 58, 40, 74,202,240,250,155, 31, -254,214, 51, 2,169, 38, 46, 8, 8,166,189, 5, 9, 0, 20, 23,102,224,213,215,103,138,235, 84, 28, 12,227,176, 33,116,195, 71, -167, 90, 71,141, 45,163, 30, 30, 30, 85,195,111,123, 55,227,192,103,111, 2, 22, 35,136, 73, 11, 24, 53,128, 81, 5,198,160, 1, - 37,148, 2, 38,173, 75, 66,203,195,195, 3, 30, 82, 41,130,124,124, 64, 8, 1,159,199,131, 64,192, 7, 99, 2, 40, 11,101, 43, - 35,140,197,165,178,110,235, 84, 74,165, 82,100,101,101, 33, 46, 46, 14, 70,163, 17,163, 70,141,130,193, 96,128, 78,167,131, 86, -171, 69,147, 38, 77,160,209,104, 92,226, 99,103, 43,122,120,120, 64, 40, 20,226,221,119,223, 69,151, 46, 93,176,104,209, 34,204, -153, 51, 7, 77,154, 52,193,180,105,211,176,121,243,102, 68, 71, 71, 59,227, 37,246,121,196,166, 39, 43,182,236,135,248, 0,184, -157, 71, 53, 57, 41,138,174, 38,216,216,237,237, 73,207,185,205,153,152,152, 8,133, 66,241,136, 37,139,253, 29, 22, 22,134,175, -190,250,170,190, 35, 67,172,245, 40,216,193,181, 97, 53, 45, 81,132,144,174, 86,223, 41,125, 66, 66,194,141,132,132,132, 88,138, -162,246, 39, 36, 36,196,214,102,209,114,196,227,224,186,194,213, 48,243,107,140,141,246,179,191,200, 38,180,159,159, 31,175, 81, -163, 70,180,151,151, 23,202,203,203, 17, 24, 24, 72, 20, 10,197, 88,153, 76,182,112,203,150, 45, 81, 42,149, 10, 55,111,222,196, -170, 85,171, 46, 0, 88, 89,151,208, 58, 24,104, 53, 29, 91, 45, 89,246,199,195,135, 15, 71,227,198,141,171, 89,179,164, 82,105, -157,133,135,189,102,107, 20,121, 60,180,104,209, 66,122,255,254,125,173, 80, 40, 68,120,120,184,180,160,160, 64, 43, 20, 10,221, -158,233,226,204, 49,222,153, 3,188, 35,225,211,181,107,215,106, 22, 44,251,189,253,239,125,251,246, 57, 29, 58,100, 57, 91,183, -110,109, 75, 47, 79, 79, 79,246, 89, 0,192,144, 33, 67,192, 48, 12, 2, 2, 2, 92,226,100, 69,173,213, 1, 30, 58,157,142, 81, - 42,149,116,106,106, 42, 68, 34, 17, 60, 61, 61,109,190, 58, 18,137,196,102,205,252,189, 32, 16,209, 83,198,124, 80,101, 96,244, -111, 40,126,117,239,178, 76, 80,192,229,161,111, 71,246,111,218,213, 27,149, 69, 70,236,255, 60,235,129,174, 4, 9, 0,110,185, - 99,201,210,209,149, 94,235,206,188,131, 14, 47,139,208, 64,215, 11,159, 46,168, 42,202, 19,103,140,198,176,215,249, 96, 69, 28, -125,167, 29,182,127, 55, 31,205,154, 53, 3, 33,132,170,189, 66, 96, 96, 48,153,160,213,106,161, 82, 85,173,155,153,113,189,250, - 8,163, 81, 95, 89,255,180,176, 86,176,165,165,165, 56,124,248, 48,126,250,233, 39,116,233,210,197,161,168,118, 67,112, 41, 74, - 75, 75,123,205,158, 61,251,252,226,197,139, 67,253,252,252, 96, 52, 26,241,240,225, 67,124,251,237,183,121, 26,141,166,151, 59, - 21, 12, 8, 96, 50,153,161,211,232, 81, 81,169,196,194, 79,190,175,181,232, 1, 64,105,209, 45, 12, 31,241,162,168, 46,177,209, - 48,204, 7,201,201,201, 24, 52,176, 23,134,141,156, 92,171,216,120,115, 70, 53,177, 33,172,163, 35,240, 94,175, 94,189, 62, 81, - 42,149,229, 26,141,230, 69, 0,203,237,251, 83, 37, 37, 37,189, 71,140, 24,241,133,159,159, 95,231,162,162,162,249, 46,196, 58, - 62, 43, 43,107,126, 68, 68, 68,181,147,122,189, 30, 17, 17, 17, 45,138,138,138, 38,244,233,211,231,223, 0,252,236, 46,123, 2, - 56, 2,224,171,218,202, 18, 59,116,168, 82,105,225,229,211, 0,185,153,167,156, 6, 68,200,211,129, 48, 76,157,117, 8,219, 1, -174,109,115, 50, 51,238,145,160,178,247,178, 13,246,243,255,154,132,231,227, 18, 33, 19, 0, 75, 94,237,137, 38, 62, 0,164,126, - 16,246,153, 11,202,199,154, 70,113, 63,186, 68, 62,103,237, 90, 92,182,214,199,225,129,129,152, 61,118, 44,136, 9, 72, 73, 75, -195,214,159,127,198,216,254,253, 33,147, 72, 92,238,176, 48, 12, 3,161, 80,136,140,140, 12,164,164,164,160, 85,171, 86,184,123, -247,110,181,101, 40, 8, 33,174,198,223, 22,119,177, 88, 12,129, 64,128,130,130, 2,196,198,198, 66, 40,172, 26,198, 62,117,234, - 20,102,207,158,141, 41, 83,166,160, 95,191,126, 72, 79, 79,119,137,147, 16,242,200,108,197,154,195,185,238,230, 81, 77,206,154, -237,126,125,242,157,229, 92,188,120,177,195, 9, 21,174,112, 58,210, 34, 14,242, 46,213, 94, 12,177,150, 39,123, 97, 84,243, 24, -128, 47,123, 46, 62, 62,126,190,171,207,217, 31,179, 22, 49,119,134, 48,109, 66, 43, 54, 54,182, 90,204, 75, 75, 75,207,159, 63, -127,190,141, 92, 46,199,173, 91,183, 68, 94, 94, 94,109,216, 10,157,166,105,108,223,190,221,115,232,208,161, 71,151, 47, 95, 30, -206, 48, 12, 10, 11, 11,241,254,251,239,171,204,102,243, 56, 0,230,218, 26,112,103,150,169, 31,127,124,244,101,219,187,119,175, - 75, 67, 32,172,144,226,243,249,240,245,245,213,106,181, 90,200,100, 50,248,250,250,106, 53, 26, 13,228,114, 57, 59, 86, 76,227, -183,153, 10,206,172, 79,206, 28,227,107, 58,192, 59, 69, 90, 90,154, 75,247, 89,135, 90, 93, 42,229, 89, 89, 89,181, 86, 36,167, - 78,157, 2, 99,173,104, 93,229,180,246,242, 8, 43,252,100, 50, 25,252,252,252, 32, 22,139, 33,149, 74,171,137, 44,177, 88,236, -244,197,113,182, 32,169, 68, 34,185, 40,151,203,125,216,235, 2,129, 0, 74,165,178,188,180,180,180,219, 35, 22, 34, 13,115, 48, -121, 99,222,148, 62, 19, 67,209,103, 98, 40, 0,188,122,105, 95,209, 43,189, 95,174,114,254,220,185,248, 30, 81,230, 89, 18, 97, - 66,154, 59, 34, 11, 0,136, 72, 47, 27,243, 65,135, 42,235,194,198,243,152,187,248, 29,180,107,213, 1, 62,207,230,162,105,215, - 80, 84, 22, 25,241,235, 22, 11, 86,254,231,125,180,110,221,218,169,192,100, 64, 96, 54,154,161,213,234,160, 82,106,241,164, 97, - 48, 24, 32, 22,139,177,121,243,102,244,236,217, 19,221,187,119,127, 68,100,213,211, 60,159, 83, 90, 90,218,111,229,202,149, 23, - 62,255,252,115, 95,149, 74,133,239,190,251,174, 66,165, 82,245, 3,144,227, 86,154, 50, 4, 38,163, 17, 26,157, 30,106, 85, 85, - 26,220,187,177,179,158, 61,217, 42,177,209,179, 91,115, 76,159,254, 38, 50,239,103, 64, 85,126,247,177,197, 6,128,205, 5, 5, - 5,155,235,184,126,207,108, 54,199,178,235,190,185,128,103, 34, 34, 34, 80, 80, 80, 80,237,228,131, 7, 15, 96,177, 88,244,168, - 90, 39,235, 53,123, 67, 50,106,153, 65,107,215,131,174,178,142,106,245, 80,169,170,172, 32, 58,117,241, 19, 41, 71,172,216,168, -205, 39,171, 62,101,136,162, 40,155,211,247,140, 25, 51,112,237,234, 85, 60, 23, 90,137, 38, 33,158, 32,149,185, 16, 14,248, 15, -126, 85, 72,177,252,139,131,110,115,111,179,115,129, 88,190,109,155,195,107,247, 70,142,116, 43,238,183,111,223,134, 84, 42,133, -197, 98,121,164,189,113, 55,254,246, 2,230,139, 47,190,192,236,217,179,241,253,247,223,227,218,181,107,232,208,161, 3, 6, 14, - 28,136,162,162, 34, 92,189,122, 21,122,189,222,229,112,218,251,205,221,190,159,134, 99, 41,135,240, 32, 39, 19,121, 5,217,245, -206,119,123,206,154, 66,107,215,177, 43,248,215,160, 78,245,226, 92,184,112, 33,138,138,138,170, 89,178,236,235,165,218, 44, 90, - 53,181, 72, 13, 20,215,240,133, 98,143, 13, 53, 68, 79,205,227,154,247, 3, 64, 17, 0,158,147,231,106, 30, 23, 39, 36, 36,156, -100, 45, 97, 86, 94,158, 51,255,172, 90,135, 14, 1, 36,142, 28, 57,114,196,170, 85,171, 2, 37, 18,137,109, 6, 82,124,124, 60, -102,207,158,141,166, 77,155, 34, 32, 32, 32,204,199,199, 7, 37, 37, 37, 88,186,116, 41,178,178,178,254, 15, 14, 22,218,171, 41, -180,122,223, 87, 66, 36,250,173,195,202, 90,182, 0, 96,202,148, 41,143, 88,180,216, 12,170, 11, 38,147, 9,254,254,254,208,104, - 52,224,241,120, 24, 53,106, 20,239,250,245,235,150,152,152, 24,140, 30, 61,154,119,245,234, 85,203,176, 97,195,192,227,241, 48, - 96,192,128,202, 93,187,118,205, 2,240,153, 11, 98,235,137, 57,198,179,133,204,213,181,143, 92, 17,151,117,113, 82, 20, 5,141, - 70, 3,190,117, 86,150,171,156,236,208,161,253, 11, 72,211, 52,124,124,124,108,149, 7,107,209, 98,133,150, 51, 94,103, 11,146, -202,100, 50,175, 91,183,110, 69,177, 19, 47,138,139,139, 49, 96,192,128, 59,165,165,165,143,112,105,243, 49,127,207,146,204, 16, - 0, 67, 88,177,213,117,100, 16, 69,243, 40, 92, 59, 82,130,171,135, 74, 47,155, 42,209, 27,192, 90, 0,255, 5,176, 20,192, 92, - 0,211,236,142, 31, 58,172, 32,117, 66,125,242,198, 60, 25,203,155,188,241, 28,190,220,181, 23,239,110,173,114,220,223,245,201, -125, 76,125,105, 33,218, 69,183,115,109, 45, 32, 6, 48,154, 45, 80,105,117, 80,105, 53,120, 82, 96,223,135,117,235,214, 33, 61, - 61, 29, 58,157, 14,171, 87,175,182, 77, 42,176, 23, 89,143, 33,184, 50,164, 82, 41, 51,100,200, 16,156, 63,127, 30, 98,177,216, -132,122,172,127,197, 16, 6, 70,179, 25, 58,173, 22, 42,231, 67,110, 78, 27, 48,163,201, 4,134,177,160,107,135,112, 92,191,118, - 13,114, 94, 49,254,132,176,169,234,244,244,116, 24, 12, 6, 44, 90,180,200,242,203, 47,191,156, 68,213, 2,168,172, 5,111, 66, -223,190,125, 63,150,203,229, 62, 7, 14, 28,120, 27,192,247,117,197,221,100,182,138,246,199, 76,199,218, 70, 4, 28,249,100,213, -103,201, 29,251,134,149, 97, 24,252,223, 27,111, 96, 96,104, 37, 70,119, 14,132, 58,255, 14,100,222,129,160,124, 34,177,252,139, -131,184,113,223,229, 69,137, 9, 0, 12,233, 59, 18,237, 91, 61,186, 60, 88,175,231,170,250,100,103,142, 95, 68, 97,113,158,219, -113, 87,171,213,181, 90,174,220,176,104,217,222, 57, 54,253, 58,118,236,136,230,205,155,227,228,201,147,232,212,169, 19,238,222, -189,139,187,119,239, 34, 43, 43, 11,215,174, 93, 67, 89, 89,153,219,121,180,231,200, 86,148, 41, 75, 33, 18,138, 80, 90, 94,140, - 7,185,153, 8,246, 15,121,236,124,103,209,114,216, 66, 0, 64,104,160,183, 91, 66,203,158,115,217,178,101,143,136,247,122, 46, -223,100,207,127,177,174, 99,119,159,255, 61, 81,155,208,202, 84, 40, 20,221,199,142, 29, 27, 15,160,171,245, 92, 5,128,109, 71, -143, 30, 29, 25, 20, 20,212,191, 71,143, 30,124,145, 72,132,148,148, 20,236,218,181,235,123, 0, 91,235,250, 35,145, 72,164,141, -140,140,148,178, 5,145,125, 17,189,188,188,120, 75,151, 46,165,214,175, 95, 95,171,149,203, 89, 6, 85, 84, 84, 64,173, 86,195, -219,219, 27, 70,163, 17, 67,134, 12,177,164,167,167, 67, 40, 20, 98,196,136, 17,150,180,180, 52, 91, 70,255,239,127,255, 11,215, -106,181,207,254,244,211, 79,131, 1,244,113, 35,173, 88,199,120, 15,184,232, 0, 95, 91, 47,207, 21,184, 58, 28, 87, 27,231,204, -153, 51,235,197, 41, 20, 10,205,236,202,239, 52, 77,195,104, 52,162, 83,167, 78, 40, 42, 42,178,189, 52,114,185,220, 38,178, 92, - 17, 90,206, 22, 36,229,243,249, 48, 24, 12,232,211,167, 15, 40,138,194,154, 53,107,234, 10,107,145, 54, 15,111,236, 89,146,249, - 63, 86,108, 73, 60,248,208, 41,205, 56,241,101, 25, 12, 37,240, 26, 51,102,204,248,157, 59,119, 98,233,210,165,211,226,227,227, -149, 47,188,240,194,180,237,219,183,219,142, 1,196, 59, 34,150, 18,239, 74,205,249,230,178,100,220,129,157,136, 3, 43,226, 42, -110,120, 34, 89,119, 6, 87, 83,175, 3, 0,214,174, 93, 11,212, 53, 20,203, 48,148,135,135, 63, 66, 67, 91, 32, 48, 72, 7,198, - 69,231, 17, 87, 49,103,206,156,106, 98,202,209,202,203,246, 67,140,245, 17, 54,246,251,122,113, 0,182, 33, 47,181, 90,247,216, - 66,139, 21, 27, 62, 94, 66,132,133, 53, 64, 69,129,253,176, 62, 5,118,170, 82, 85,152, 73,189, 29,110, 89, 4, 5, 5,117, 47, - 42, 42,218, 91,227,116, 41,128,143,235,232, 88,218, 50, 58, 59, 59, 27, 49, 49, 49, 56,116,232, 16,111,247,238,221,207,237,219, -183, 47,237,206,157, 59,217,157, 58,117,106, 56,117,234, 84,113,159, 62,125, 80, 92, 92,140,206,157, 59,127,148,155,155, 91,135, -208,178,166,163, 78, 15,181,250,201, 91, 71, 29, 89,179, 30,167, 97,100,211,125,193,130,127, 99, 96,131,114,140,234,224,141,164, -253,103, 49,161,163, 20, 48,136,221,230, 99,195,226, 23,218, 24,145,209,221, 31,185, 46,246,170, 90,203, 53, 50,186, 59,232,236, -187,110,199,221, 62,204, 53,203, 76,125,202,144,125,122,190,254,250,235,152, 59,119, 46, 6, 15, 30,140,187,119,239, 34, 57, 57, - 25,119,239,222,197,204,153, 51, 17, 29, 29,141, 14, 29, 58,184,197,185,239,216, 14, 84,170, 42, 64, 83, 52, 74, 43, 74,160,211, -107, 49,103,218,130,199,206,119, 91,227,127, 44,161,106,116,224,232,229,122,115,126,240,193, 7, 40, 40, 40,168,102,201,122, 28, -191,172,191, 58,234, 90, 45, 45, 19,192,255, 57, 24,174,240, 92,180,104,209,160,128,128, 0, 80, 20,133, 47,190,248, 2,126,126, -126, 61, 1,220, 48, 24, 12,197,106,181,122,182,157, 8, 25, 8,235, 90, 27,133,133,133, 14,231,237,171,213,106,227,160, 65,131, - 4, 13, 26, 52,168, 54,219, 80, 46,151,215,102,221,177,113,178,215,204,102, 51,230,204,153,131, 37, 75,150,160, 81,163, 70, 24, - 54,108, 24, 98, 99, 99, 65, 81, 20,134, 12, 25,130, 97,195,126, 27,202,245,241,241, 17, 30, 58,116,168, 47, 77,211,105,118, 13, - 72, 53, 78, 71, 96, 29,227, 77, 38,147,171, 14,240,213, 56,217,194, 54,115,230, 76, 44, 89,178, 4,243,231,215,237,234, 81, 75, - 35,254,212, 57, 75, 75, 75,171, 85,246, 50,153,108,205,232,209,163,249,217,217,217,213,196,149,253,230,160, 34,170,198,233,108, - 65, 82, 30,143,135,224,224, 96, 44, 94,188, 24,254,254,254, 8, 9, 9,113,180,144,159, 61,103,158,189,216,122,246,165, 16,236, - 93,150,137,231,187,141,197,237, 83, 43,245,110, 52, 16,213,194,105,177, 88,178,222,121,125,110,208,138,245, 75,121,172,216, 98, - 69,220,233,175, 85, 88,149,248, 45,250,244,238, 99, 51,179, 39, 39, 39,155, 29, 88,121,108,156, 22,194,164,126,154,248,239, 94, -223,109,220, 39, 16,139,128,115,201, 59, 81, 89, 86,125, 56, 73,111,252,109, 42,181,168,211,115, 48, 92, 62,238, 82, 89, 98,197, -244,194,133, 11,177,112,225,194, 58, 35,185,110,221, 58,167,156,174,138, 46,119,210,211,106,210,162,100,114, 95, 72,228,161,104, - 19,237, 11,134,152,221,173,163,108,156, 53,197, 70, 64,128, 63, 42, 10,170,203, 58,202,150, 70,117,106, 96,103,113,255,229,226, -197,139, 35,252,253,253,145,147,147, 19, 40, 16, 8, 70, 84, 51, 87,105,181,136,140,140,108,161, 80, 40,158,117,198, 57,115,230, - 76,253,135, 31,126, 40, 30, 55,110, 28, 70,143, 30,141,113,227,198,137,133, 66, 97, 51, 66, 8,140, 70, 35,114,114,114,112,252, -248,113, 40, 20,138,155,117,133,147, 33,132,146,202,124, 32,145, 55, 64,155,182, 62, 96, 24,115,125,235,124,135,117, 72, 77,107, -150,155, 34,203, 97,249, 4,128, 95,142,239,197,130,119,219,226,251, 3, 23,176,234, 34,208,222,167, 8,109, 2, 21, 96, 20, 55, -241,254,132, 46, 88,254,195,165,170,119,233,148,211, 60, 34,117,149, 65,157,214,248, 88,113,183,183, 92,217,255,143, 11, 62, 90, -143,112,178,157, 68,165, 82,137,242,242,114, 36, 37, 37,225,213, 87, 95, 69, 81, 81, 17,178,178,178,112,231,206, 29,108,217,178, - 5, 50,153,172, 94,121, 52,235,141, 15,240,225,242,247, 64, 64,208, 50,170, 13,226,227, 22,162,107,251, 30,143,157,239, 53,225, -130, 53,171, 86,206, 21, 43, 86,212,183, 44,253,227,132,150, 67, 4, 4, 4,140,235,219,183, 47,116, 58, 29, 2, 3, 3,145,149, -149, 5,154,166,155, 2, 85, 67,120, 97, 97, 97,219, 20, 10, 69, 83, 87,249,120, 60, 30,204,102,179,205,247,135,221, 0, 96,248, -240,225,248,241,199, 31,157,246, 40, 66, 66, 66,208,176, 97, 67,188,243,206, 59,143,204,114,176,159,233, 32,149, 74,113,224,192, -129,130,210,210,210, 82, 66,136,194,157,120,179,142,241,103,206,156,113,217, 1,222, 30, 70,163, 49,251,206,157, 59, 13,214,173, - 91,199,171,163,241,179,161,150, 70,252,169,115, 58,234,153, 18, 66,106, 21, 89,174, 44, 35,224,108, 65, 82, 62,159,143,219,183, -111, 99,193,130, 5,160, 40, 10, 59,119,186,228,195,147,167,205,195, 27,187, 23,103, 46,221,147,144, 57,218, 84, 1,201, 73,245, -202, 59, 0, 86,239,216,177,163, 3, 69, 81,236, 80,225,127,119,236,216,225,105,127, 92,171,169,172,168, 40,230,197, 23, 95, 60, - 74, 81, 84, 83,221,201, 10, 79, 0, 34, 86,196,229, 94,211,169, 94,158,240,178,129,207,231, 91,126, 51, 88, 49, 89,133,133,133, -207,215,198,119,253, 86,201,122,154,166,125,135, 63,223,171, 29, 40, 10, 70,195,163, 35,213, 30,101, 42,155,200, 26,253,217, 86, -236,158, 53,214, 21,209,147,113,250,244,105,191,117,235,214,241, 93,201,247,211,167, 79,155, 9, 33,110, 15,251,177, 13,142,209, -104,132, 86, 91, 63, 43, 10, 33, 36, 37,225,147, 15, 7,109,216,116, 80, 64, 81, 6,156, 59,181, 19, 21,229,142,221, 25, 68, 2, - 62,214, 39,237, 50, 11, 5, 60,135, 78, 39, 79, 80,108, 56,195,151,163, 70,141, 26,183,122,245,234, 54,142, 46,186, 48, 9, 38, - 75,167,211, 33, 55, 55, 23, 26,141,102,199,188,121,243,140, 7, 15, 30,124,109,204,152, 49,232,208,161, 3, 26, 52,104,128,252, -252,124,100,100,100, 32, 41, 41,137,156, 61,123,118, 7,128,233, 78,210,113,111,226, 39, 31, 78, 78,250,225,160,136,166,140, 56, -151,188, 19, 21, 53, 68,251,163,214,105, 1,190,249,126,151, 81, 40, 20,220,114,102, 45,178,183,102, 61,201,134,113,196,196, 56, -140, 94,185, 10, 77,187,198, 32,113,233, 64,124,243,201,139,248,124,136, 16,198,237, 19,208,254,133, 13,216,188,104, 40, 0, 32, -244, 27, 23,173, 37,124, 33, 30, 58,176, 88,149, 87, 72,172,226,198, 61,171, 41, 27,247,186, 44, 87,238, 90,180,104,154, 70,227, -198,141,209,180,105, 83,244,236,217, 19,157, 58,117, 66,255,254,253,113,245,234, 85, 92,189,122, 21, 51,103,206,172, 75,100, 57, -205,163,126,207, 14,194,133,222,183, 30, 59,111,106,230,251,147,128, 43,101, 41, 46, 46, 14, 0,254, 81,214, 45,183,133, 86,101, -101,229, 85,134, 97,218,121,123,123,179, 22, 41,219,181, 7, 15, 30,128, 97, 24,141,187, 25, 99, 48, 24,216,197, 49,171,173,203, -196, 58,199,215,245,226, 19, 66, 44,165,165,165,232,219,183, 47,122,247,238,109, 27, 62,177,223,236,132, 9,118,239,222, 13, 66, - 72, 55,119,227,109,231, 24,175,130,155, 14,240,108, 35,222,167, 79,159,163,124, 62,223,165,175,104, 58,107,196,159, 22,167,163, -252, 97, 24,166, 86,145,229, 74, 69,228,108, 65, 82, 62,159, 15,185, 92,142, 61,123,246, 32, 32, 32,192,157,224,229,233, 10, 48, - 11,192,151,168,154,132,113, 23, 0, 59,141, 47,206,254,221,174,113, 92, 27,212, 10,133,130,237, 26,134,238, 94,156,185,116,239, -210,204,129,140, 30, 59,117, 10,252, 0, 40, 47,194,137,211,114, 77, 92, 77, 87, 44,171,235,122, 95,127,209, 41, 0,129,163, 63, -219,250,240, 84,137, 49, 98,244,103, 91, 31,236,158, 53,182, 81, 93,207, 20, 20, 20, 12, 30, 59,118,236, 33, 87,243,221,108, 54, -103, 22, 20, 20, 60,239,110,153, 37,132,224,214,173, 91,204,235,175,191, 94,172, 80, 40, 94,172, 79, 5, 19,191, 96,213,231, 75, - 62,154,225, 63,100, 80,247,174,160, 1, 67,237,206,191,132, 2, 8, 95,192,203,158, 61,127,197, 27, 47,190,248,226,239, 42, 54, -106, 86,115, 5, 5, 5, 61,255,245,175,127, 77,199,111,174, 19,213,132, 20,106,153, 93,109,197,202,134, 13, 27,182,229,241,120, - 98, 0, 11, 0, 60, 56,123,246,236,151,103,207,158, 29, 12,224, 25, 30,143,215,192, 98,177,228, 90, 59, 61, 91, 1,252,234,188, - 28, 21, 77, 5, 97,194,135, 12,124, 38, 6, 20, 69, 12, 6,189,147, 14, 18, 8, 8, 33, 66,161,224,214, 47, 87,243,219,215,213, -145,178,251, 2,199, 19,159, 65, 60,125,250,116, 76,159, 62,221, 86,158,214,172,233,141, 29,215,207,224,133,246, 57,208,127,221, - 11,148, 87, 35,151, 59,124, 0,240,193,191, 95,127, 98, 97,179,143,187,189, 69,203,209,123,224,142,143, 22,143,199, 67,113,113, - 49,110,223,190,141,194,194, 66,104, 52, 26,164,167,167,195,104, 52,162,172,172, 12,109,219,182,173,119, 56,159, 84, 30,253,145, -156,255,196,225, 67,183,133,150,209,104,252, 79,227,198,141, 5, 18,137,164,141,197, 98, 1, 33, 4, 22,139,133, 88, 69,141,219, -179,240, 4, 2,129,174,121,243,230,148,163,217, 9,236,111,185, 92,174,173,195, 90,146, 16, 25, 25, 57,143,162, 40, 94,109,189, - 16,246, 55,195, 48, 22, 62,159,159, 80,207,180,122, 92,199,120,251, 70,252, 73,225,105,112,214,204, 31,117,171, 86,173,108, 95, -180,175,185, 38,138,245, 99,171,106, 39,226,188,206, 5, 73,213,106,117,126, 76, 76,140,197,254,186,253,130,166,206, 52,172,117, -123,210, 96, 69, 92, 99, 59, 17,103,121,226,255, 66,145, 7, 67,199,189, 22,113,170,196, 24, 1, 0,172,216, 2, 33, 15,234,120, - 74, 91, 80, 80,208,247,105, 87, 14,247,239,223, 55, 60,243,204, 51,155,148, 74,101, 28,128,122,123,243,207,255,207,154,249, 79, - 34, 60, 79, 75,108,212, 86,108, 1, 44,169,103, 80, 31,148,148,148, 12,168,113,238, 87, 86, 80,177,235,218,185, 29,255,155,197, -207, 63,233, 60, 54,155,205, 57, 77,155, 54,117,203,114, 99, 50,153,114,156, 93,175,185, 70,152, 61,110,192, 27,243,207, 3, 85, -147,191, 75, 92,226,212,233,116,165, 61,122,244, 16,184, 25,183, 34, 87,227,222,160, 65, 3,132,134,134,218,246, 44,106,158,119, - 22, 78,179,217,156, 19, 30, 30,142,128,128,128, 90, 87,124,175,233,147,229, 10,231,147,206,163,186, 56, 67, 67, 55, 60,113,206, -250,134,147,131,107, 24,200,113,114,156, 28,231, 95,150,147,199,165, 39,199,201,113,114,156,191, 35,231,223, 18,156,151, 26, 7, - 14, 28,106,131,133, 75, 2, 14, 28, 56,112,120, 60, 80,117,168,210, 99,110,240,212, 71,217, 30,227, 56, 57, 78,142,147,227,228, - 56, 57, 78,142,243, 31,199,233,140,251, 24, 56, 60, 85, 1,198,113,114,156, 28, 39,199,201,113,114,156, 28,231, 63,143,243,111, - 9,110,232,144, 3, 7, 14, 28, 56,112,224,192,129, 19, 90, 28, 56,112,224,192,129, 3, 7, 14,156,208,226,192,129, 3, 7, 14, - 28, 56,112,224,192, 9, 45, 14, 28, 56,112,224,192,129, 3, 7, 78,104,113,224,192,129, 3, 7, 14, 28, 56,112,224,192,129, 3, - 7, 14, 28, 56,112,224, 80, 5, 10, 0,246,239,223,111,251, 32, 96,108,108, 44,197, 37, 11, 7, 14, 28, 56,112,224,192,225,247, -196,223, 90,139,216, 71,142, 3, 7, 14, 28, 56,112,224,192,129,211, 34, 79, 6, 52, 39,182, 56,112,224,192,129, 3, 7, 14,156, -216,226, 34,198,129, 3, 7, 14, 28, 56,112,224, 68,214, 95, 10,213, 44, 90,156,224,226,192,129, 3, 7, 14, 28, 56,252,145, 98, -235, 47,170, 69,136,117,179, 63,230,192,129, 3, 7, 14, 28, 56,112,224,240,152, 2,171,174, 61, 7, 14, 28, 56,112,224,192,129, - 3,135, 39, 36,184,216,223,191,155,208,226,190,108,206,113,114,156, 28, 39,199,201,113,114,156, 28,231, 63, 22,124, 46, 9, 56, -112,224,192,129, 3, 7, 14, 28, 30, 27,246, 86, 44,138, 19, 90, 28, 56,112,224,192,129, 3, 7, 14, 79, 78,100, 81,142,142,185, -111, 29,114,224,192,129, 3, 7, 14, 28, 56, 60, 37,112, 22, 45, 14, 28, 56,112,224,192,129, 3,135,199, 3, 5,110,232,144, 3, - 7, 14, 28, 56,112,224,192,225,169,138, 45,135, 39,107,155, 57,112,204, 13,242,250,204, 62, 56,198,113,114,156, 28, 39,199,201, -113,114,156, 28,231, 63,142,211, 25,247, 49,252,245,208, 23,192, 73, 0,253,172,251, 90,133,215,147, 6, 55,245,149,227,228, 56, - 57, 78,142,147,227,228, 56, 57,206,191, 59,106, 93,168,148,115,134,231,224, 12,124,212, 61,196,236,236, 58, 7, 14, 28, 56,112, -224,240, 79, 19, 91,196,190,145,116,132,102, 0,230, 3,240,182, 59,119, 17, 64, 66,141,251,126, 0, 32,179, 59, 86, 3, 88, 4, -224,174,211,208, 16, 34,180,242,139,173, 27, 3, 64, 7, 64, 15, 64, 73, 81,148,137,203,179, 63, 28, 61, 0,196, 90,127,239, 7, -112,206,205,235,127, 43, 52,104,208, 64,234,235,235, 59,248,242,229,203,162,244,244,116,156, 62,125,154,172, 95,191,222, 88, 86, - 86,118, 36, 63, 63, 95,203, 21,151,191, 5, 98, 0,196, 91,127, 39, 2, 56,252,152,124,148, 76, 38,155, 41,151,203,135,138,197, -226, 80,179,217, 76,105, 52,154, 60,181, 90,125,212,108, 54,127,102,173,247,220,197, 72, 63, 63,191,215, 90,182,108,217, 44, 43, - 43, 43, 55, 47, 47,239, 7, 0,219, 1,188, 24, 26, 26, 58, 33, 50, 50, 50,236,214,173, 91,119, 75, 75, 75,191, 1,176,247, 15, - 12, 39, 7, 14,255, 36, 80,117, 89, 35, 28, 97, 1, 33,100, 66, 53, 6,234, 81,142, 1, 3, 6,140, 56,114,228,136,140, 97, 24, -176,155, 84, 42, 53, 3,120,197,137,200,242, 79, 73, 73,137,136,139,139, 27,157,151,151,215, 69,169, 84,118, 3, 0,153, 76,118, - 33, 40, 40,232,151,149, 43, 87,110, 33,132,228, 80, 20,165,116, 51,162,124,129, 64,240,170,175,175,239, 80,179,217,220,137, 16, - 2,129, 64,112,185,172,172,236,176,201,100,250, 6, 64,125,196,155,136,207,231, 79, 23,139,197, 49,102,179,185, 29, 0,240,249, -252,107,122,189,254,176,217,108,254, 18,128,161, 30,156, 18,145, 72, 52,221,203,203,107,144,193, 96,104, 7, 0, 34,145,232, 90, -101,101,229, 81,131,193,240,165, 85,112,254,209,224, 3,136, 37,132, 8, 0,128,199,227,141,236,214,173, 91, 4, 69, 81, 12, 69, - 81,132, 16, 66, 93,184,112,161,163,197, 98,161,173,229, 35, 22,192, 47, 0,204,127,197, 55, 36, 32, 32, 96, 9,195, 48,161,117, -102,154, 68,210,229,242,229,203, 45,183,109,219,102,249,250,235,175,203,167, 76,153,226, 17, 23, 23,199, 95,179,102,205,151,249, -249,249,111,215,188,223,223,223,255,115,154,166, 3, 92,249,127,134, 97,138, 75, 74, 74,222,251,163,226, 63,121,178,174,154,185, - 59, 41, 73, 18, 5, 32,167,158,229,251,233,113,234, 38, 19, 0, 72,146, 36, 69, 77,214, 77,206, 96,127, 63, 46,175, 29,226,191, - 58,166,236, 67, 8, 48,125,144, 39,253,184, 66, 43, 44, 44, 44,105,242,228,201,227,218,181,107,199, 39,132,192,100, 50, 65,175, -215,183, 60,119,238, 92,191,157, 59,119,118, 81, 42,149, 47,186, 73,249,198,220,185,115, 23,127,252,241,199, 1, 2,129,128, 50, -153, 76, 81,219,182,109,235, 52,117,234,212,119,214,173, 91,215,240,165,151, 94,242,100,207, 47, 88,176,160,107, 98, 98, 98, 19, - 0,159,253, 1,225,228,192,225,159,134,190,168,238,163,245, 17,128,133,117, 9, 45,185,181,241, 44,180, 90,178, 96,183,183,225, -196,137, 19,251,248,124, 62,107,209,234,166, 86,171,131,107, 88,193, 28,137,172,200,137, 19, 39,246,216,177, 99,199,146,151, 94, -122,169, 64, 38,147, 53, 31, 51,102,140,146,162, 40,222,182,109,219, 58, 54,109,218, 84, 58,124,248,240,137, 3, 6, 12,152, 69, - 8, 57, 77, 81,148,194,197, 72,182,241,243,243,219,181,108,217,178,136,152,152, 24, 97, 64, 64, 0, 8, 33,200,203,203, 11, 59, -112,224,192,144,143, 62,250,104, 86,105,105,233, 40, 0,105,110, 36, 92, 87,169, 84,186,227,163,143, 62,106, 48,100,200, 16,126, - 72, 72, 8,116, 58, 29,210,211,211, 7, 30, 62,124,184,207,186,117,235,222,214,106,181, 47, 88, 5,134,171,232,230,237,237,189, -243,187,185,115,131,187,191,250, 42,223,207,207, 15,132, 16, 40, 20,138,129,103, 54,108,232, 55,109,217,178,183, 43, 42, 42,254, -229, 40,189,255, 72,136, 68, 34,122,227,198,141, 29, 68, 34, 17, 0,192, 96, 48, 32, 58, 58,154,250,187,188, 33, 20, 69,133,231, -229,229,121, 11,133, 66,135,215, 45, 22, 11,250,244,233,211, 88, 40, 20,226,179,207, 62, 51, 21, 23, 23,119, 92,189,122,245,229, -205,155, 55, 7,124,249,229,151, 47, 0,120, 68,104,209, 52, 29,144,147,147,227,144,211, 98,177,192,104, 52,194,108, 54,195, 96, - 48,160,117,235,214,127,104,252,147,146, 36,225, 0,222,155, 60, 89,247,174,245,212,103, 0,102, 1,184,143,122,126,179,235, 41, -112,218,151,183,207,237,126, 63,118, 88,237, 16, 1, 0, 7,175,234, 0,192,239,113,211, 85, 46,151,183, 26, 63,126, 60, 95,161, - 80, 64, 32, 16,192,104, 52,162,160,160, 0,209,209,209,188, 77,155, 54,181,112,151, 47, 42, 42,106, 74, 98, 98, 98,224,193,131, - 7,141, 27, 55,110, 52, 12, 26, 52, 72, 48,101,202, 20,175, 62,125,250,180, 14, 15, 15,167,191,253,246, 91,253,209,163, 71, 77, - 19, 39, 78, 20, 37, 36, 36, 4, 30, 56,112, 96,120, 90, 90,218,103,191,119, 56, 57,112,248, 7,226, 36,126, 91,226,129,221,215, - 41,180, 96, 39,174, 70, 2,128, 64, 32,232, 24, 28, 28,156,100, 54,155, 67,172, 86,157,130,194,194,194,207, 76, 38,211, 21,235, -189,123, 25,134, 25,225,204,146, 53,113,226,196, 30,135, 14, 29, 90,126,238,220,185,138,146,146,146,144,125,251,246,233,102,205, -154,149, 5, 0,247,239,223,111, 50,124,248,240,176, 25, 51,102,228, 12, 30, 60,120,101,255,254,253,223, 34,132, 28,165, 40, 74, -237, 76,100, 69, 71, 71,167, 36, 39, 39,123,250,248,248, 84,187, 16, 25, 25,137,183,222,122, 75, 56, 98,196,136,166,207, 61,247, -220,217,140,140,140,222, 0,174,187, 34,136,154, 53,107,118,236,196,137, 19, 30,190,190,190, 40, 47, 47, 71, 65, 65, 1, 52, 26, - 13,188,188,188,240,210, 75, 47, 9,251,246,234,217,112,198,204,183,143,229,228,230, 14,116, 81,108,117,235,217,166,205,177,205, - 9, 9, 30,166,135, 15, 33,149, 74,161, 82,169, 0, 0,158,158,158,232,210,184, 49,255,210,134, 13, 97, 19,230,204, 57,246,203, -237,219, 3,255, 32,177, 37,182,238,245, 0,246,243,120,188,145, 34,145,136, 30, 57,114, 36,142, 29, 59, 70,233,116, 58,190,213, -186, 99, 30, 57,114, 36,164, 82, 41, 12, 6,135,200,170, 5, 0, 0, 32, 0, 73, 68, 65, 84, 3,131,170,161, 67,243, 95,249, 45, - 17,137, 68,200,200,200,168,118, 78,169, 84, 66,161, 80,160,164,164, 4,122,189, 30,229,229,229, 96, 24,134,146, 74,165, 10,134, - 97, 64,211,116, 77, 1, 80, 13, 66,161, 16,183,111,223,174,118,206,108, 54, 67,173, 86, 67,175,215,195,104, 52, 66,169, 84, 74, - 61, 61, 61,155, 5, 4, 4,228, 0,216, 91, 90, 90,250, 89, 97, 97,225,131,223, 57,250,197,172, 32, 74, 74,146,220, 3, 32,250, - 51,114,218, 89,178,194,172,199,191, 62,161,176,178,120,184,255,138,174,145,213, 58,150,249, 4,248, 24, 0, 56,125,250, 52, 10, - 11, 11, 81, 92, 92, 12,133, 66,129,240,240,112, 16, 66,220, 30,142,203,200,200,248,170,109,219,182,212,141, 27, 55, 14, 3, 88, -179,109,219,182, 87, 74, 75, 75,227,103,207,158,237,247,233,167,159,150,206,153, 51, 39, 17,192,247,219,182,109,123,179, 85,171, - 86, 67,111,222,188,185,238,143, 8, 39, 7, 14, 79, 26,132,144,174, 0, 2,217,186,197, 90,239,250,219, 29, 95,165, 40,202, 96, -119,159,193, 90, 55,212,220,179, 96,143, 21, 20, 69,253, 98,247,156,130,162,168, 95,234, 27,204, 26,251,170, 78, 55, 0,236,223, -191,159,176,155,163, 39,131,130,130,102, 14, 24, 48, 96,121,106,106,106,235,252,252,124,223,252,252,124,223,212,212,212,214, 3, - 6, 12, 88, 30, 20, 20, 52,211, 46, 33,106, 62,122,204,238,154, 48, 37, 37, 37, 98,215,174, 93,137,199,142, 29,171,232,216,177, -163,225,196,137, 19,230,193,131, 7, 23, 89, 27,104,243,224,193,131,139,126,254,249,103, 75,247,238,221,165,135, 14, 29,202, 62, -123,246,236,231, 59,118,236, 8, 38,132,240, 28,113, 90, 33,240,241,241,217,115,234,212,169, 71, 68,150, 61, 26, 54,108,136,253, -251,247,123,249,248,248,236, 5, 32,172, 45,156, 86, 72, 36, 18,201,206,159,127,254,217,195,211,211, 19, 69, 69, 69, 16, 8, 4, - 8, 10, 10, 66, 69, 69, 5, 10,242,243,241,224,206, 29,208, 6, 3,190,248,228, 99, 79,169, 84,186,195, 65,101,255, 8,167,183, -183,247,206,205, 75,150,120,148, 28, 59,134, 95, 23, 47,134,209,104,180, 13,185, 26,141, 70,156,141,139,131,226,248,113,124,187, - 96,129,135,183,183,247, 78, 0, 18, 39,156, 79, 2,246,156,113, 0, 74,173, 91, 28,128,115,209,209,209,169,233,233,233,232,221, -187, 55,182,111,223,222,126,246,236,217,113,179,103,207,142,219,190,125,123,251,222,189,123, 35, 61, 61, 29,209,209,209,169,168, -238,159,245,180,195,249,212, 56, 45, 22, 75,181,141, 97,126,107, 99, 66, 67, 67,139,118,237,218,133,151, 94,122,137, 22,137, 68, -249, 99,199,142, 21,159, 57,115,134, 88, 69,166,203,225,212,233,116,208,106,181, 80,171,213,184,127,255,190,116,217,178,101,189, - 22, 46, 92, 24,117,236,216,177,176,249,243,231, 79, 11, 12, 12,188, 28, 28, 28, 28,241, 59,199,221, 88,227,247, 23, 0,114,221, -180, 16, 61,109, 78, 98,125, 30,147,117,147, 59,216, 85,176,238,242,214,149,158, 5,214,176,170, 1, 60,120,156,178, 52, 96,192, -128,182, 81, 81, 81,193,219,110,248,162, 76,216, 18,140,208, 7,140,208, 7, 22,255,174,200, 16, 61,143, 70,141, 26, 5,123,120, -120,244,112, 51,156, 27,111,220,184,241,140,181,167, 92, 2, 96,249,156, 57,115, 62,162, 40,234,244,156, 57,115, 62, 6,176,220, -122,126,241,205,155, 55,187, 3,216,252, 7,133,243, 47,241,190,115,156,127, 46, 78, 39, 90, 36,144,162,168,253, 20, 69,237,159, - 55,111, 94,127, 0,254, 53,142,159,181,191, 15,128,200,209,158,221,236,206, 7, 18, 66,134,217, 61, 23, 88,207,224, 83, 14,182, -223,132, 22, 0,196,198,198, 82,177,177,177,236,133,139, 20, 69,237, 3,112, 81, 32, 16,116,236,208,161,195,200,159,126,250,201, - 51, 48,240,183,255, 15, 12, 12,196,142, 29, 59, 60,219,180,105, 51, 82, 32, 16,116, 4,112,209,203,203,107, 95, 29, 86, 24,159, -184,184,184,209,147, 38, 77,170,236,216,177, 35, 0,148,167,165,165,201,186,119,239,174, 54,155,205,148,217,108,166,186,119,239, -174, 78, 75, 75,147,153, 76, 38,101,215,174, 93,229,207, 61,247, 92,214,123,239,189, 55,209,129,224,176,199,248,165, 75,151,134, -251,250,250,214,165,132,161, 84, 42, 17, 28, 28,140,184,184,184, 16,129, 64,240, 90, 93,169,197,231,243,167, 47, 93,186, 52,200, -199,199, 7,101,101,101, 8, 15, 15,135,193, 96,192,237,219,183,161, 83,171, 96, 82, 86,194, 84, 89, 14,197,189,187,240, 17,240, - 49,113, 68,108, 48,159,207,159,238,196, 90, 50,253,155, 57,115,130, 13, 89, 89,184,191,125, 59, 44,230, 71,141, 63,102,163, 17, -215,254,247, 63,232,114,114,144,248,250,235,193, 34,145,104,250,239,108,201,250,148, 16, 34, 37,132, 72, 41,138, 90,217,163, 71, -143, 77, 82,169, 52, 46, 33, 33, 33,230,200,145, 35, 67,146,147,147,251,153,205,102,129,217,108, 22,156, 62,125,186,183, 78,167, -227,139,197, 98,240,249,124,130,191, 41, 4, 2, 1,132, 66, 33,164, 82, 41,122,245,234,117,111,253,250,245,166,240,240,112,193, -206,157, 59,125, 67, 67, 67,229,107,214,172, 41, 87, 42,149, 75, 93,229, 51, 26,141,208,235,245,208,106,181,208,233,116, 56,113, -226, 68,227, 25, 51,102,240,117, 58,157,101,248,240,225,165, 38,147, 73, 63,103,206, 28, 47, 63, 63,191, 89,191,103, 60, 39, 79, -214, 49, 86,203,211, 77,171,104,201,196, 99,250, 60, 61, 13, 78, 0, 6,171, 79, 22,139, 0, 43,183,225, 9, 37,133, 25,128,202, - 42,180,244, 53,222,143,118,118, 22, 95,167, 40, 47, 47, 95,247,205, 55,223,132,211, 98, 31,156, 49, 12,197, 22,230, 35, 28,241, - 94,131,162,136,247, 17, 20, 30,133,113,227,198, 5, 17, 66,214, 60,129, 48,175, 6,208, 7,192,202,250, 60,252, 59,132, 51, 66, - 46,151,111,247,244,244, 60, 35,151,203,183,195, 58, 60,251, 56, 24, 20,133,129, 35, 90,209, 57,131,154,130,140,104, 69,231, 12, -138,226,150, 26,248,187,160,134, 22,177,135,130, 16, 18, 75, 8,137, 77, 76, 76, 92, 98,215,190,179,199, 82, 23, 45, 99,177,132, -144,216,106, 10,169, 74, 96, 61,182,209,205,193, 86,165, 41,236,149,164, 93,228,108,179, 11,131,131,131,147,146,146,146, 60,107, - 50,230,231,231,163,178,178, 18, 31,126,248,161,231,164, 73,147,222,206,201,201,153,236, 36, 16,162,130,130,130, 78, 19, 38, 76, -144, 24,141,198, 50,134, 97,232,202,202, 74,190,183,183,183,133,189,193,219,219,219, 82, 81, 81, 33, 80,171,213, 60,139,197,162, -159, 52,105,146,232,245,215, 95,239, 2,128, 87, 27,105, 96, 96,224,160,161, 67,135,214, 58,116, 96, 50,153,160, 86,171,161, 86, -171, 97, 52, 26,209,171, 87, 47,241,250,245,235, 7, 23, 21, 21,253,183, 86,197, 33, 22, 15, 26, 52,104,144,160,180,180, 20,222, -222,222,120,240,224, 1, 50, 51, 51,161, 87,169, 96, 84, 85,194,168, 82,194,172,172, 4,169,172, 64,201,221, 91,232,222,170,165, -240, 7,177, 56, 70,173, 86,127, 94, 27,167,151,151,215,160,238,175,188,194,151,203,229,232, 55,161,106,158,193,161, 86,173, 64, - 44, 22, 48, 22, 11, 44,102, 51, 98,110,223,134,201,100, 2, 77,211,232, 90, 90,202,247,218,176, 97,144, 66,161, 88,254, 71, 20, -118,177, 88,204,223,184,113,227,120,145, 72, 4, 66, 8,101, 48, 24,112,228,200,145,127,220, 75, 47, 18,137, 32,145, 72, 96, 52, - 26, 17, 25, 25,169,157, 48, 97, 66,202, 39,159,124,210,136,166,105,185, 80, 40,252,169,164,164,100, 73,126,126,254,125, 87,249, - 76, 38, 19, 12, 6, 3, 12, 6, 3,180, 90, 45,238,221,187, 23,210,184,113, 99, 42, 46, 46,206,162,209,104,154,172, 90,181, 42, -227,200,145, 35,178,165, 75,151,142, 1,240,214,239, 29,223,201,147,117,173, 0,180, 74, 74,146, 8,173,150, 95,195,159,140,147, -160,202,241, 29, 73,146,164,116, 0,138, 39, 40,178, 68, 0,188, 27,249,243,213, 2, 30, 84, 0, 60,173,162, 96, 12, 69, 81,221, - 91,183,110,237,155,158,158, 94, 70, 8, 57, 15, 96, 11,128,252,186,200, 24,134,161, 24,134,193,212,110,229,136,235,193,131,201, - 84,129,138,138, 10, 60,120,240, 0,105,105,105,184,112, 33,173,190,239,230,107, 30, 30, 30,131, 37, 18, 73,164,217,108,166, 85, - 42,213, 3,141, 70,115,140, 97,152,117,168,135,143,218,211, 10, 39, 11,185, 92,190,108,254,252,249, 61,189,189,189,113,229,202, -149, 38, 91,183,110, 93,166, 86,171, 31,203,185, 94, 34,160,191,253,124,197,154,176,176, 32, 31, 92, 77,254, 49,108,201,218,109, -223, 2, 76, 56, 39, 83,254,250,168,161, 69,236,197,208, 47,132,144, 97, 20, 69,237,175, 41,148,220, 50, 59, 61,230,243, 78, 44, - 90, 53, 63, 44, 93, 93,104,213,162, 32, 97, 54,155, 67,236, 45, 89,132, 16,228,231,231, 35, 55, 55, 23, 10,133, 2,190,190,190, - 48, 26,141, 33,174,212, 15, 74,165,178,155,191,191,191, 70, 32, 16,232,181, 90, 45,100, 50, 25, 35, 16, 8,136,245,127, 40,235, -172, 69,139, 94,175,167,248,124,190,201,211,211,211, 67,175,215,183, 68, 29,190,100,132,144,110,254,254,254, 14,175,233,245,122, -168, 84, 42,168,213,106,168, 84, 42,232,245,122, 4, 7, 7,195,108, 54,119,170,179, 75,107, 54,183, 11, 12, 12, 68, 94, 94, 30, -164, 82, 41,114,114,114, 96, 80, 41, 97, 84, 42, 97, 86, 87,194, 82, 81, 1,166,178, 18,140,186, 18, 38,131, 6, 97,205, 91,129, -157,145, 88,107, 55,220, 96,104,231,239,239, 15,181,250, 55,119, 51, 98, 21, 88,102,179, 25,102,171,115, 52, 59,156, 24, 16, 16, - 0,118, 70,226,239, 4, 61,128,217, 52, 77,175, 20,139,197,252,105,211,166, 33, 63, 63,191, 90,153,152, 54,109,154,205, 39,171, - 79,159, 62,167, 37, 18,137, 89,161, 80, 64,175,215, 11,254,174, 47, 61, 69, 81,160, 40,170, 42,143,204,102, 4, 4, 4,168,139, -139,139, 47,148,151,151,143,175, 15,159,201,100, 98,103,116, 65,171,213,130, 16,130, 43, 87,174, 64, 34,145, 8, 44, 22,203, 13, -179,217, 44, 19, 8, 4,160,173,206, 95,191, 23,172, 51, 2, 63, 3, 16,110,181, 16,189,134, 42,135,243, 92, 7, 21,137, 75, 73, -231, 34,167,251,194, 77, 55,153,181, 52,229,162,126,195,145,142,208,175,165,143,232,243,132,238, 65, 62, 29,134,203,213, 50, 17, - 79,205, 60,232, 16,249,221,167,105, 91, 39, 77,124,205,115,209,162, 69, 17, 1, 1, 1,146,140,140, 12,221,199, 31,127,220,120, -227,198,141, 20,170,134,233,106,197,195,135, 15,119,207,159, 63,223,111,232,208,161, 77,196, 98, 49, 85, 81, 81, 1,133, 66,129, -194,194, 66,100,102,102,146,171, 87,175,222,211,235,245,219,221, 9,100,131, 6, 13,214,143, 31, 63,126, 82,231,206,157, 5,172, -133, 84,173, 86,119, 60,117,234,212,136, 67,135, 14,245, 86,171,213,110,151,203,236,236,236,237, 31,124,240,129,252,249,231,159, -111, 41, 22,139,233, 39, 17, 78,123,208, 52, 29,236,225,225,129, 99,199,142,193,199,199, 7, 52, 77, 7, 63,110,121,213, 25,153, -176,208, 16,127,232,206,126,142,150,129, 17,208, 25,153, 48, 78,162,252,125, 44, 90,181,180,245, 93, 89,139,148, 19,177,164,141, -143,143,159, 79, 81,212,254,248,248,248,249,142, 44, 90,214,159, 22,251,251,236,238,215, 63,105,177,229,214, 66,147, 12,195, 32, - 55, 55, 23,121,121,121,200,205,205, 69, 73, 73, 9,104,154, 6, 33,196,149,217,103,132,162, 40,230,232,209,163,190, 41, 41, 41, -234,174, 93,187,150,179,254, 47,102,179,153, 50,153, 76,148,213, 47,134,122,240,224,129,240,204,153, 51, 62, 55,111,222, 12,182, -246, 86, 25, 39,166,192, 71,206,177, 2,203,126,211,233,116,144, 72, 36,174,169, 14,107, 67,120, 37, 53,181, 74,100,169,148,214, - 33,195, 10, 88, 42, 43, 64,212, 74,136, 44, 38,136, 64, 64,233, 52, 46,167,159, 61, 88,145,101,180, 10, 45,131,193, 0,147,201, - 4,134, 97, 96, 54,255, 33,126,229, 95,181,111,223,190,211,238,221,187,167,228,230, 62,218, 22,142, 26, 53, 10,111,189,245, 22, -102,204,152,113,115,216,176, 97, 87,127,252,241, 71, 76,159, 62, 29, 12,195,116, 0, 80, 1,224,208,223,237,165,215,235,245, 54, - 11,148, 78,167,131,209,104, 4,220,248,172, 66,205,178,201,230,173,217,108,102,185,169,221,187,119,225,244,233,211,116, 90,218, -141,240,105,211,226, 88,135,251,223, 59,170, 57,168,154,185, 39,178, 86, 20, 6, 84,249, 63,213,182,164, 66, 83,212, 61,100, 71, -234,226,124, 28,180, 95,219,254,165,119,223,125,119, 16,170,102, 56,223,127, 76,139,214,243, 34,154,250,122,102, 59, 63,201,172, -246,254,106, 17,159, 82,221,254,122,190, 42,179,145,151, 58,184,161,204, 16,222,216, 39,116,201,146, 79, 26,220,188,121, 75,255, -225,135, 31,166,143, 29, 59, 54,104,214,172, 89,173,119,238,220,217, 91,167,211,125, 3,160,188, 54,163,203,136, 17, 35,206, 7, - 5, 5, 53, 94,187,118,109, 81,118,118,182,175,201,100,146, 27,141, 70, 70,173, 86,103,106,181,218, 99, 70,163,241, 24,128, 84, -119, 2,235,233,233,217,254,149, 87, 94, 17,148,151,151,131,207,231,195,104, 52,162,168,168, 8, 61,123,246,228,237,219,183,175, - 77,125, 18,160,172,172,236,243,111,190,249,230,228,230,205,155, 7,123,121,121,117, 22,139,197, 33, 0, 44, 74,165,178, 80,173, - 86,255, 90,159,112, 86,171,231, 44,150,194,212,212,212,166, 94, 94, 94,120,248,240, 33, 44, 22, 75,225,227,150, 1,137,144,206, -190,150,188,175, 97,171,128,198, 56,147,114, 30, 18, 33,157,205, 45,245,245,183, 7,235, 67, 5,123, 1,229, 64, 32,165, 36, 36, - 36, 72, 19, 19, 19,145,144,144,112,195,145, 69,139, 21, 92, 9, 9, 9, 55,216,251,236,238, 79,126,140, 48,214,110,209,170, 77, - 65, 2, 85,179, 11, 21, 10,133,175,143,143,143, 77, 96,229,229,229, 33, 47, 47, 15, 34,145, 8, 15, 30, 60,128, 72, 36,202,119, -165, 19, 34,149, 74, 47,117,236,216,177,197,253,251,247,133, 31,127,252,113,195,212,212, 84,175,158, 61,123,182,149, 74,165, 22, - 66, 8,116, 58, 29,157,158,158,238,177,124,249,242,176,110,221,186, 25,186,117,235,118,121,219,182,109, 90,212,177,254, 21, 69, - 81, 23,243,243,243,155, 68, 70, 70,178,162,173,154,184,178, 23, 92, 64,213,144, 39,159,207,191, 92, 87, 64,249,124,254,181,219, -183,111, 15,148, 73,196, 48, 40, 43, 97, 84, 85,194,172, 84,194,162,172,128,165,162, 2, 80, 87, 66,100, 54, 67, 96, 49, 65, 42, -145, 32, 55, 39, 7,124, 62,255, 90, 93,156, 34,145,232, 90, 97, 97,225, 64, 31, 31, 31, 91, 35,106, 50,155,171, 54,139, 5, 6, -179,217,102,209, 18, 8, 4,200,206,206,134, 72, 36,186,246,123,151,100,154,166, 45,236, 18, 14,181,196, 3,193,193,193, 76,247, -238,221, 49,125,250,116, 88, 44, 22,107, 54, 80,253, 0,156, 65,149,127,203, 95, 18,142,196, 45,235,180,174,213,106,161, 82,169, - 80, 86, 86,198,151, 74,165, 45,194,194,194,206, 27, 12,134,237,102,179,249,219,204,204,204,202,218, 56,173,194,204, 38,186, 24, -134, 1, 33, 4, 22,139, 5, 38,147, 9, 66,161,144, 57,117, 42, 25,203,191, 88,134,164,111, 55,146, 17, 35, 70, 80,251,246,237, - 3,195, 48, 57,191,115,244, 13, 86,209, 82, 87,165, 81,115, 73,133,247, 81,247,146, 10,181,113,218,247,254,236,207, 81, 14,238, -121, 4,239,190,251,238, 97, 84, 13, 25, 22, 91,197,220,227,112,126, 86,190,229, 19, 9,204, 22,181,254,212,102,213,166, 59,149, -234, 69,155, 86, 92, 50,136,120,149, 93,250, 6,183,107,210,184, 5,207,199,199,151,254,239,186,149, 37, 63,108,220,145,241,240, -225,195,202, 47,191,252,178, 71,139, 22, 45,188,127,253,245,215,176,218,132,150, 76, 38,107,246,218,107,175,189, 82, 86, 86, 38, - 76, 74, 74,218,150,159,159,127, 9, 85, 75,203,216,207,160, 30, 6,224,123,171, 16, 13,182,214,115,103, 0,124, 92, 87,127,141, -162, 40,252,252,243,207,143,204, 14,100, 30, 79,157,251, 68, 69, 69,189,116,255,254,253,211,133,133,133,255,170,121, 81, 40, 20, - 46,106,222,188,121,204,141, 27, 55, 62, 2,112,208, 29, 98,141, 70, 51,103,199,142, 29,159,242,120,188, 80,139,197,146,247,255, -236, 93,119, 88, 20,215, 23, 61, 51,219,151,222, 97, 5, 65, 65, 84, 20, 53, 63, 75, 52,177,160,177,196, 88, 18, 19,193, 30,141, - 49, 26,147, 88, 99,139, 93,212, 24, 53,177, 17,187,198, 32,177, 18, 75, 68, 77,212,216, 21, 27, 6, 27, 54,164, 73, 7, 5, 22, -182,239,206,204,239, 15,118,201,178,236,194, 46, 26,141,102,206,247,237,183,187, 51,111,206,123,111,234,153,251,238,189, 79,161, - 80, 76,123,102,139,150,150, 30,181,100,253,238,205, 10, 53,229, 47, 22,112, 50,148, 90,250, 51, 86,135,188,190,214, 44, 61, 10, -140,172, 81, 5, 0, 8,147,255,137,250,135,145,154, 97, 24, 67,217, 2, 35, 43,150,218,196, 10,102,110, 93,193, 51, 36, 75,103, - 44,221,227, 44, 89,180,190, 1,240, 38,128, 43,121,121,121,171, 63,254,248,227,239,119,236,216,225, 40,149, 74,145,151,151,135, -252,252,124,112,185, 92, 56, 57, 57, 97,221,186,117,138,188,188,188,213,198,219,160,106, 6,121, 0, 80,122,120,120, 92,139,137, -137,241,217,180,105, 19,119,248,240,225,233,189,123,247,110,188,110,221,186, 20, 62,159,207, 80, 20, 69,168, 84, 42, 98,204,152, - 49, 65, 43, 87,174, 76,227,112, 56,118, 3, 6, 12, 32,236,237,237,175,160,154,180, 1, 5, 5, 5,199, 15, 28, 56,240,225,228, -201,147,133,106,181,218,172, 37,203,176,204,197,197, 5, 23, 46, 92, 80, 23, 21, 21, 29,171,193,138,113,252,247, 35,135, 59, 13, - 29, 56,144,175, 45,149, 66, 91, 42,133, 78, 42, 5, 85, 90, 12,162, 76, 10, 30,165,131,152, 79,195,199, 79, 4,157,194, 1,135, -175, 38,106, 85, 42, 85,181,137, 13,165, 82,233,241,243,209,209,157,223, 12, 8,224, 94, 24, 63, 30, 26,173, 22,239,221,191, 95, - 33,174, 52, 26, 13, 14, 54,111, 14,138, 32,240,198,232,209,120,168,211,233,164, 82,233,241,127,227,197,112,227,198,141,252, 33, - 67,134, 36,208, 52,221, 18, 47,104,210,204, 23, 1,173, 86, 91,197, 26, 69, 81, 84,185,213,177,220,114, 32, 56,124,248,112,167, -164,164, 36,254,173, 91,183,112,238,220,185, 55,118,236,216,241,141,191,191,127,243,140,140,140,220,154,196,155,185,164,191,208, -251, 31,238,217,185, 23,159,127,254, 57,145,155,155,139, 93,187,118,161,166,228,169,255, 4,134, 15, 87,210,209,209,162,186, 48, -241,123, 50,147, 82,225, 47, 88,153, 82,193, 18,167,114,120,185,149, 76, 20, 93,158,108, 84, 57,188,124, 56, 80, 20, 93,163,165, - 12,195,149,195,165,122,135,248,156,231,192, 41,131,142, 18,171,207,236, 44,235,125, 36,163, 52, 62, 71,177, 16,192, 31, 80, 82, -204,195,235,204,141, 86,173, 92, 61, 0, 64,165,164,124,130,131,131,195,184, 92,174, 0, 0, 28, 28, 28, 90,185,187,187,175,123, -242,228, 73, 7,115,199,180, 79,159, 62,237,188,188,188,254,119,244,232,209,196,156,156,156,219, 0, 46,155, 22, 10, 10, 10,154, -125,247,238,221, 54, 60, 30,143,168,225, 28, 1, 0,132,133,133, 53, 18, 10,133,238, 71, 30, 56, 67,202,111, 0,134, 83, 2,112, - 69,160, 92, 90, 32,157,223, 4,126,126,151,220,139,138,138,222, 40, 41, 41, 73,180,241,208,119,249,240,195, 15,127,138,142,142, -246, 11, 11, 11, 99,174, 95,191, 78,154,142, 34, 4, 5, 5,245,136,143,143,111,249,217,103,159,109,216,189,123,247, 23,168, 28, -105, 91, 19,210,245,249, 6,159, 27,142, 39,227, 4, 64, 5,232,109,102,172, 66,249, 15,192,150,148, 11,207,144,158,225,153,154, -104,209,128, 97, 97,249,155,250,156, 88,111,106,181,218,191,110,220,184,113,112,192,128, 1,101, 79,158, 60,129,187,187, 59,234, -213,171, 7,130, 32,176,110,221, 58, 69,106,106,234,175,250, 92, 90,111,102,103,103,191,175, 23, 91,230, 80,186,102,205,154,221, -219,183,111,119, 73, 72, 72,224,232,116, 58,167,198,141, 27,203, 47, 94,188,232,192,227,241, 24, 62,159, 79, 39, 36, 36,216, 5, - 5, 5, 41, 9,130, 16,254,249,231,159, 79, 46, 93,186,228, 63,117,234,212,173,168, 28, 38,110,138,157,139, 22, 45,202, 74, 73, - 73,129, 74,165,130, 84, 42, 69, 73, 73, 73,197,167,184,184, 24, 37, 37, 37,224,241,120,200,205,205,197,190,125,251,114,244, 89, -226,171,179,108,172,253,113,221,250,130,156,140,116, 56,217,137,161,147, 22,131, 42,121, 2,148,150, 64,160,213,192,158, 71,161, -110, 3, 49, 68,118, 78,200,147,150, 33,250,226,213, 92,125,150,120,203,230, 2,181,122,237,184,149, 43,243,116,124, 62, 2, 34, - 34,160,209, 15, 21, 26, 11, 45,138, 32,224,223,181, 43, 72,103,103,124,251,235,175,121,250, 44,241, 47, 20, 52, 77,115,212,106, -117,117,253, 0, 77,211,153, 73, 73, 73,187, 1,156, 38, 8,130, 33, 8,130, 65,121,178,182,178, 87,249, 66,214,106,181,152, 59, -119, 46,248,124, 62,230,206,157,139,121,243,230,225,251,239,191,199,250,245,235,241,203, 47,191,224,240,225,195,245,207,159, 63, -207, 63,123,246, 44,179,100,201,146,194,160,160, 32,206,232,209,163, 93,196, 98,241,164,234, 56,167, 77,155, 6, 71, 71, 71, 76, -155, 54, 13,203,150, 45,195,150, 45, 91,112,240,224, 65, 92,184,112, 1, 28, 14,135,206,204,124, 12,165, 82,201,172, 89,179, 38, -235,224,193,131,138,213,171, 87,131,203,229, 18, 47,233, 38, 49, 73, 47,168,140, 45, 65,166, 41, 21,158, 0, 88,133,154,125,163, - 44,113, 66, 20, 29, 93, 87, 47,142,146,141, 4,209, 33, 0,147, 81,125,120,181,129,227, 11, 0, 62,207,129,115,150,120,200,156, - 36,151,205,247, 30,197,231, 40,102, 1,248,221,208, 39, 39, 39, 39,241,254,253, 7,184, 0,240,107,236, 62,222,253,251,247,157, - 15, 28, 56, 32,242,242,242,194, 47,191,252, 34, 18,139,197, 94, 22, 56,169,131, 7, 15,170, 4, 2,129,251,168, 81,163,122,182, -105,211,102,162,254, 69,180, 43,128,166, 40,143, 94,236,254,232,209,163, 59, 30, 30, 30, 15,142, 29, 59, 38,179,230, 0,149,150, -150,110,253,249,231,159,235, 61,165,220,112, 68,246, 33,162,233,229, 56,236,242, 19,210, 3,230,193,174, 78,107, 12, 30, 60,184, - 14, 69, 81,155,109, 60,238,131,251,245,235,247,115,116,116,180,223,168, 81,163,114,175, 95,191,158, 7, 32, 26, 64,140,241,231, -238,221,187,133, 31,127,252,113,206,230,205,155, 37, 3, 6, 12, 88, 15,160, 63,251,232,103,193,162,242,187, 16,106,138, 58, 52, -243,192,173,248,157,159,159,191,166,168,168,232,194,195,135, 15, 39,168,213,106, 9, 65, 16, 12,159,207,207,205,203,203, 91,109, -148,176,212,156, 95, 73, 55,232,115,109, 16, 4,161,101, 24, 38,179, 75,151, 46,147,186,118,237, 26, 21, 23, 23,167,236,220,185, - 51, 98, 99, 99, 61,186,116,233, 34,167,105,154, 57,114,228,136,199,187,239,190, 43, 63,125,250,180,108,204,152, 49,141, 27, 54, -108, 56,122,218,180,105, 5, 4, 65,208,230, 56, 13,207,178,226,226,226,126, 61,123,246,188,240,235,175,191, 58,185,184,184, 64, -167,211, 65, 46,151, 67, 46,151,131, 97, 24, 56, 59, 59,163,160,160, 0, 11, 23, 46,148,150,148,148,124, 96, 70,184,153,114, 42, -149, 74,101,255, 47, 38, 78, 62,190,122,193, 92, 71,255,250,245,241,228,158, 18, 58,165, 28, 60,134, 68,221, 70,206,224, 11,196, -120,120,191, 20, 83,118,239, 47, 85, 40,149,225,102,222,150,171,112,150,148,148,244, 31, 62,111,222,137, 13, 83,167, 58,252,207, -219, 27, 28, 14, 7, 42,149, 10, 20, 69,129,199,227, 33,116,248,112,240, 61, 61, 49,123,247,110,153, 84, 42,237,143,170, 83,241, -152,114, 62, 15, 24,115,126,113,227,198,141,143, 67, 66, 66, 48,118,236, 88,244,235,215,175, 82,193, 3, 7, 14, 96,253,250,245, - 80,169, 84, 31, 3,184, 14, 96, 29,202,135, 58, 96, 34,178,254,233,118, 62,119, 78,138,162,138,238,223,191,239,180,124,249,114, - 66,163,209, 96,193,130, 5, 48, 8, 78,195,121,253,229,151, 95,214,113,116,116,196,252,249,243,213,133,133,133,239, 44, 91,182, -236,100, 76, 76,140,199,214,173, 91, 7, 3,152,102,202, 73,211,116,254,205,155, 55, 29, 55,108,216, 64,234,116, 58,172, 88,177, -162,202,240,228,200,145, 35,161,209,104,193,225,112,213, 74,165,170,169, 88, 44, 78,118,119,119, 23, 51,149,157,187, 94,228,254, -244, 69,121, 10, 3, 99,199,119,181,177,127, 22, 44,167, 84,176,133,179, 64, 20, 29,221, 89, 57,124,248,105,189, 32, 74,210,151, -137, 53,152,244,109,224, 52, 8,194,218,112, 30,215,127,106,132, 82,169, 68, 65, 65, 1, 10, 11, 11,225,226,226, 2, 14,135, 67, - 88,106,167, 74,165,186, 53,101,202,148, 27,155, 55,111,238, 22, 31, 31,223,247,236,217,179, 93, 78,156, 56,161, 76, 79, 79,215, -105,181, 90, 70, 34,145,112, 59,116,232, 32,234,213,171,151,189, 80, 40, 36,103,205,154, 85,184,120,241, 98, 15, 84,246, 97, 51, -237, 59,135, 32, 8,124,221,169, 20,211,186,112,160, 86,107, 80, 92, 92,140,172,172, 76,220,185,115, 7,241,241,247,192, 48, 12, -105,195,113,119, 7, 48,107,215,174, 93,190, 2,129,128,216,189,123,119,157,221,187,119,215,104, 73,221,177, 99, 71,157, 61,123, -246, 68,234, 71, 47, 50, 95,197,235,157,229,252,215,114,190,202, 48,205, 12,143, 26,133,150,254, 62,255, 38,244,147,146,106,181, -218, 43,102, 82, 56,124, 3, 96,174,145, 21,172, 38,115,158,148, 97,152,115,221,186,117,251,178,107,215,174, 43,123,244,232,145, -147,147,147, 19,184, 98,197, 10, 63,157, 78,167,185,115,231, 14,153,156,156,156,126,237,218,181, 6, 13, 27, 54, 28,125,247,238, -221, 51, 4, 65,104,172,232,224,157,228,228,228,246, 93,186,116,217, 55,122,244,104,255,118,237,218, 9, 92, 92, 92,192,229,114, -145,146,146,130,196,196, 68,245,158, 61,123, 50,139,139,139,109,153,130,231, 74, 90, 86, 86,247, 1, 95, 77,248,117,116,191,190, - 30,109, 27, 55, 18, 72, 36, 18, 64,161,192,189,140, 92, 92,186,151,168,217,114,238, 82,129, 74,165,234, 15,235,167,224,185,114, -237,225,195,110,239, 76,157,250,107,228,208,161,222,200,201,225, 74, 36, 18, 8, 4, 2,164,166,166, 34,153,166,117, 75, 55,110, -204,211,139,172, 23,157, 21, 94, 8, 96, 57, 77,211, 92, 0, 16,139,197, 24, 55,110, 28,140,167,220, 89,191,126, 61, 20, 10, 5, - 0,112, 9,130, 88, 14,224,167, 87,221,138,101,192,211,167, 79,103,191,247,222,123, 75,184, 92,174,197,172,183,174,174,174, 40, - 45, 45,133, 78,167,163,178,178,178,238,185,186,186,130,199,227,129, 97, 24,179,215,209,147, 39, 79,102,247,239,223,127, 17, 73, -146,150, 44, 31,112,114,114, 74, 63,121,242,100,240,103,159,125, 70,110,219,182, 45,101,212,168, 81,194,147, 39, 79, 82, 12,195, -236,123,209,251,160, 99,199,157,192,134,225,225, 0,194,129, 42, 14,239, 89,250,101, 54,165, 84,232,216,113, 39, 54,224,111, 78, -227, 97, 60,131, 32,210, 91,161,154,136,162,163, 87,162,220,207,162, 90,238,142, 59, 59, 98,195,112, 60, 87, 78,107, 96,172,125, -101, 50, 25, 40,138,170,206,154,247, 87,108,108,236,202,107,215,174,121,126,249,229,151,129, 67,135, 14,117,234,210,165,139,131, -113, 1,133, 66, 65, 31, 58,116, 72,182,126,253,250,146,115,231,206,165,141, 28, 57,178, 93,117,237,204,200,200, 56,252,237,183, -223, 58,247,234,213,171, 33,128, 10,255,172,130,130, 2,164,167,167,227,214,173, 91,233, 26,141,230, 55, 27,186,244, 4, 64,228, -160, 65,131,150,111,223,190,189,206,168, 81,163,114,247,236,217,115, 11,229, 9,139, 77,225,210,175, 95,191,230,219,183,111,151, -140, 26, 53, 42, 23,229,126,100,153, 96,193,130,133, 1,157, 81,213, 79,171,218,145,137,159,213,106, 53,163, 84, 42, 25,185, 92, -206,148,149,149, 49, 48, 63, 11,252,193,236,236,108, 38, 51, 51,147,201,200,200, 96,210,210,210, 24, 0,191,152, 40, 94,115, 55, - 44,251, 29, 59,118, 52,240,245,245, 93, 96,103,103,247, 7,135,195,145,114, 56, 28,169, 80, 40,252,221,221,221,125,222,210,165, - 75,125, 25,134,225, 87,163,162, 45,129,203,227,241, 62,243,242,242, 58,232,230,230,150,233,234,234,154,233,229,229,117,144,199, -227,125, 14,128, 87,131, 50,183, 4, 17,151,203,157, 98,111,111,127, 92, 40, 20,230, 11,133,194,124,123,123,251,227, 92, 46,119, - 10,170, 79,164, 90, 45,167, 64, 32,152,226,233,233,121,220,201,201, 41,223,201,201, 41,223,211,211,243,184, 64, 32,120, 22,206, -103,121, 43, 49, 8, 45, 57,163, 7, 65, 16,218, 55,222,120, 99, 67,203,150, 45,215,181,108,217,114, 93,139, 22, 45, 54,233,173, -146,140,222,218, 34,135,229,228,141,255,100, 59, 95, 26,103,104,104,104,204,246,237,219,233,217,179,103, 75, 27, 54,108,248,116, -246,236,217,210,237,219,183,211,161,161,161, 49,181,229,244,246,246, 14, 8, 13, 13,125,186,121,243,102,221,253,251,247,153,205, -155, 55,235, 66, 67, 67,159,154,100,134,127, 17,125, 39, 0, 4,233,173, 63,191, 1,216,139,114,231,119, 95, 0,196,112,229,112, - 70, 31,125,248, 7,128, 30, 22,142,189,181,156,126,202,225,195, 25,189, 79,213, 49, 0, 73, 70,255,195, 80,217,255,235, 69,112, -154, 69,211,166, 77, 31, 50, 70, 80,171,213, 76, 65, 65, 1,115,255,254,125,230,220,185,115,140,159,159,223, 67, 43, 56,221, 1, -140, 1,112,200,199,199,231,238, 91,111,189,149,209,190,125,251,140,128,128,128, 20, 30,143, 23,143,242, 12,239,161,250,207,114, - 0, 13,107,224,124,203,197,197,229, 91, 63, 63,191,223,130,131,131, 47,212,171, 87, 47,222,205,205, 45, 78, 36, 18,125,135,191, - 51, 99,219,122,206,119,249,240,195, 15,211,203,202,202,168, 86,173, 90,221, 53,183, 81, 72, 72,200,249,178,178, 50,106,224,192, -129,153, 0,250,252, 23,174,119,150,243,165,112,254,167, 16,172, 23, 76, 7,141, 62,223,152, 41,247,141, 73,153,159,245,219,214, -120, 32, 24,134,225, 48, 12, 99,207, 48,140, 51,195, 48,110, 12,195,184, 48, 12,227,192, 48,140,176, 6,243, 55,123, 98,255,115, -156, 95,232, 5,148, 92,255,219, 20, 53,173,127,173,247,167,175,175,175,107,155, 54,109,190,218,191,127,255,148, 71,143, 30, 77, -217,191,127,255,148, 54,109,218,124,229,235,235,235,250, 44,237,244,246,246, 14,104,210,164, 73, 84, 72, 72, 72,102,147, 38, 77, -162, 76, 68,214,139,236,187, 64, 47, 98, 66,244,159, 64,253, 50, 2,229,185,176,214,234,133, 77,144,133, 55, 53, 91, 56, 13,124, -191, 1,120, 87,255,249, 77,191,204,239, 37,112, 86, 65,253,250,245,143, 54,111,222,252, 97,139, 22, 45,146, 91,180,104,241,176, -105,211,166, 15, 27, 55,110,252, 48, 40, 40,232, 97,221,186,117, 31,122,120,120, 28,173,197, 49,114, 3, 32, 65,213,105,192, 94, -246, 57,223, 57, 52, 52,244,146, 72, 36, 50,155, 27,140,203,229, 70,182,104,209,226, 38,202, 35, 37,217,251, 39,203,201, 10,173, -127, 17,216,147,240,213,227, 20,162,250,105, 70,106, 90,207,238,207, 87,155,211,236, 92, 93,122, 33, 19,168, 23, 56,130,231,192, -105,204,103, 56,167,130,140, 68,211,203,224,100,207, 37,150,147,229,100,133,214,115, 7,151,221, 5, 44, 76,160,122,198,245, 44, - 94,109,216,146, 19,235, 89, 56,205,241, 61,122,201,156, 44, 88,176, 96,241,188,238,157,157, 1,156, 49,188, 21, 90, 82,165,182, - 68, 19,212, 70,217,158, 96, 57, 89, 78,150,147,229,100, 57, 89, 78,150,243, 63,199,105,192, 74, 11,203,239,153,252,223,244,138, - 10,175, 23,146,166,135, 53,171,178,156, 44, 39,203,201,114,178,156, 44, 39,203, 89, 91,140,126, 69, 69, 86,152,225, 15, 59,116, -200,130, 5, 11, 22, 44, 88,176, 96,241,252, 80,115, 30,173,189,123,247,114, 12,191, 7, 13, 26, 52,146,162,168,175, 12,255, 57, - 28,206,143,187,118,237,250,169,186, 26, 34, 34, 34,168,234, 56,205,161,166,122,204,113, 54,109,232, 52,214,221,217,110, 66,113, -137,124, 85, 74, 54,117, 78,169, 84, 54, 49,172, 19,137, 68, 73, 63,253,244,211,131,231,221,206,145, 35, 71, 54, 52,173,167,158, - 31,175,179,155,163,104,220,211,226,178, 21,183, 31,150,109, 98,207,177,151, 2, 15, 0,125, 28, 69,252,247,155,186,240,223,186, -245, 68,121, 81,166,161, 14,161, 60, 26,182,232,117,236,176,143,143, 79, 99, 39, 39,167, 97, 0,154,202,229,114, 47, 59, 59,187, -124, 0,119,164, 82,105, 76,110,110,238, 61,107,121,194,234, 33, 29,128,191,254,111,198,153, 52, 4, 88,179,174, 38,244, 8,130, -146, 1,132, 4, 1,205,177,228,191,157,209,223,109, 0, 37,205, 84, 93,222,163, 1,212, 12, 3, 62, 1,168,142, 61,130,232, 53, - 58, 84, 78, 0,186,163, 60,133,195, 13,148,167,159,144,179,151, 44, 11, 22,175, 21, 76,135, 10, 43,254,115, 45,136,137, 78,124, - 46, 17,197,128,113, 1, 24,119,149, 74,197, 19, 8, 4, 80,171,213,176,179, 19,175, 29, 51,106,228, 2,144, 40,214,234, 48,238, -167,159,126,170,245, 76,215,182,212, 3,224,148,233,246,174, 78,226, 69,167, 15, 77,119,237,212,123,233,119,234,212,194,105,165, -165,165,164, 80, 40,132, 74,165,130,179,179,115,251,177,163, 71,183, 34,121,140,154,207,183,191,184,114,229,202,220,218,182,115, -210,164, 73, 62, 26,141,242,109,154,166, 5,106,181, 90,104, 90,143,179,157,253,210,211,135,166,219,133,245,249,110, 1,192, 10, -173,151, 0, 65,128,171,253,153, 85,131, 58,135,188,213, 52, 24,244,157,179, 80,170, 53,239,159,206, 44,123,127, 94,124,246,228, -204, 50, 77, 75, 60,135,132,149,255, 34,112, 2, 3, 3,191,244,244,244, 28,184,113,227, 70,126, 96, 96, 32, 68, 34, 17, 20, 10, -133,228,209,163, 71,146,177, 99,199,134,137,197,226,221, 41, 41, 41,107, 97,221, 68,112,254,167,127,158, 3, 0,104, 63,108,161, - 63,202, 39,139,150,155,174,235, 60, 98,161, 63,128,169,168, 60, 49,114, 14,202, 83, 40,152,187,235, 8,226,182,127,143,247, 63, -158,194, 5, 48,182,162,241, 36,240,251, 47,171,209,115,208,132, 74,203, 9, 6,220, 67,219,191, 71,159,143,167, 88,156, 71,241, -221, 96, 66, 75,211,140, 69, 75, 60, 73, 18,186, 63, 30, 50,230, 38, 24,206, 67,121, 14,176, 42,148, 40,159,208,217,108,249,222, -141, 57,121, 26, 45,101, 54,225, 44,159,199,201, 63,124,143,170,178,237,240,255, 65,171,165,202,239,173,124, 46,168,131, 41,206, -167,103,205,154,197,237,211,167, 15,182,108,217,210, 97,211,166, 77,163, 75, 75, 75,255,212,239,183,100,246,242,101,193,226,181, - 22, 92,230,133, 22,151,131, 13,191,253,250, 83,131,188,252, 66, 12,255,236,107,236,220,185, 19, 69, 69, 69,112,117,117,133,128, -207,231,173, 90, 62,199,199,201,201,222,103,248,232,105, 27, 0, 52,174,109,107,108,172, 39,216,116,123, 66, 63,149, 14,151, 67, -242, 4, 2, 1,185,123,247,110, 20, 23, 23,195,197,197, 5, 2, 1,143, 92,249,221, 55, 98, 39, 39, 7,241,167, 95,204,232,128, -242,252, 63,181,130, 90, 93,214, 97,255,206,159,156, 10, 10, 10, 48,226,243,105, 48,173,135,207,231, 83,134, 7, 11,123,142,189, - 20,204,218, 56,238,227,144,102,142,128,230,246, 5,240, 56, 28,216, 57,187,162, 59,151, 3, 14,129, 38,195,255, 72,155, 9, 96, -222,235,210,217,192,192,192, 47, 35, 34, 34, 6, 46, 90,180,136, 79,146,229, 41,231,100, 50, 25, 20, 10, 5,124,125,125,113,250, -244,105,254,236,217,179, 7, 30, 56,112, 0, 41, 41, 41,107,108,229,191,125,251,118, 61,127,127,127, 37, 0,244,109,238,104,186, - 46,192,176, 14, 0, 28, 29, 29,107,228,115,119,177, 87,221,190,125,169,169, 97,187, 47,187,250, 82, 22,150, 43, 1,216, 85,199, - 69,211, 12,247, 88,212, 88,139,235, 63, 91,180, 67,119, 99,239,185,198,129,129,129, 10,227,229, 14, 14, 14,150, 54,241, 46, 43, - 43,243, 55, 93,104, 40,175,209, 82, 94,150,234,235, 49,110,189, 89, 1,166,165,192,221,177, 99, 7, 0,224,135, 41, 67, 56,155, - 47, 23,114,185,220,242, 91,237,242,229,203, 17, 25, 25, 41,248,227,143, 63,122,109,223,190,189,215,193,131, 7, 87, 89, 18,170, - 44, 88,176,120, 37, 69,150,241,183,101,161, 69, 18,132,163,147,163, 3,194, 7,143,193,209,163,191,163, 83,167, 78, 21,235,234, -215,175,143,136,254, 31, 96,215,207, 43, 1,192,241, 89, 90,244,172,245, 20,149,200,230,245, 28, 24,181, 48, 35,183, 44, 62, 46, - 46, 14, 29, 59,118,172,180,253,224, 1,225,248,101,235,114, 84,147,101,222, 42, 16, 12,201,119,116,178,199,160,225,159,195, 92, - 61,163, 71,244,139,123, 55, 98,117,183,188, 39,178,149,236,121,246,226,209,192,199,189, 71,243,144,198, 40,218,183, 22,137,197, - 74, 28,205, 86,226,211,238,109, 17,234, 38, 70, 71, 29, 5, 31,123,222, 59,185, 50,237,107,109,100,132,121, 0, 0, 32, 0, 73, - 68, 65, 84, 33,180,124,124,124, 26,123,122,122, 86, 18, 89,165,165,165, 40, 43, 43,131, 84, 42, 69,105,105, 41, 72,146,196,180, -105,211,248,103,206,156, 25,232,227,227,115,194,138, 97,196, 12,189, 37, 11,224,240,202,230,206,157,171,242,242,242, 82,217,217, -217, 49, 92,190,176,180,243,136,133,142, 0, 64,114,249,165,171, 86,173, 82,251,250,250, 42,185, 92,174, 96,194,132, 9,164, 53, -109, 86,169, 84,140, 49,167, 90,173,170, 88,190,116,233, 82,181,183,183,183,202,206,206,142,209,104,172, 55, 58,222, 76,125, 10, - 33,159, 3, 33,159, 3,145,128, 7,199,122,109, 32, 44,186, 5,157, 78,135,101,203,150,105,124,124,124,212,118,118,118,140, 64, - 32,224,143, 31, 63,190,198,118,142, 28, 57,146,113,113,113,209,216,217,217,241, 35, 35, 35,171, 68, 10,157,188,145, 5,177,128, - 7, 59, 33, 23,193,245,253, 32,100, 20, 86,183,149,195,169,236,141, 32, 20, 10,209,161, 67, 7, 52,109,218, 20, 7, 15, 30,236, -204, 10, 45, 22, 44, 94, 11, 88,140, 48,228, 2, 64, 92, 92, 92, 24,202, 39, 68, 68,159, 62,125,136,242, 45, 24, 76,253,178, 63, - 62, 29, 49, 8, 20, 69, 87,204,243, 69,144, 4,190,248,164, 23,104,218,154, 17,137,154, 67, 60,107, 81, 79, 5, 39, 67,144, 28, - 0,104, 16, 32, 97, 70,127, 58, 20, 20, 77,255, 61, 80,194, 1,198,140,232, 89,190,236, 57,180,147, 3, 10, 95,143,253, 8,230, -234,105,220,160, 14,169,211, 40, 65, 84,158,236,241,159,152,108,147,229, 52,131,166,117, 37, 65, 90,133, 2, 74,165, 22,209,247, -158, 42,142,103,201,188, 72,151,180,130,213,225,237, 68,156,130,108, 4, 56, 10,130,115,101,218,215,162,239, 78, 78, 78,195, 54, -110,220, 88, 69,100,229,229,229,145,101,101,101,208,104, 52,116,105,105, 41, 40,138,194,140, 25, 51,120,179,103,207, 30,150,155, -155, 27,105,208, 60,230, 56,245,126, 87, 83,111,223,190, 29, 48,107,214, 44,205, 59,239,188,147, 81,191,126,125, 25,135,195,129, - 68, 34, 89,221,189,123,119,183, 69,139, 22,105,122,245,234,149,198,225,112, 16, 28, 28, 44,187,117,235, 86, 0, 0,177,181,125, - 55,230,252,233,228,143, 12, 0, 16, 4,129,238,221,187,167, 7, 7, 7,203, 56, 28, 14, 30, 28, 90,202, 88,187, 63,121, 92, 18, - 13,125,157,245, 55, 17, 2, 16, 59, 84,120,226,117,239,222, 61,179,113,227,198,101, 36, 73,226,230,205,155,126,168, 58,173, 85, - 21, 78,177, 88,172, 29, 60,120,112,198,189,123,247,204,149, 7,151, 67,162, 93, 99,189, 1,203,183, 37,144,121,222, 98, 59,121, - 28,232,102,127, 57,132,235, 34, 2,132,142, 30, 42,169, 84, 10, 39, 39,167,114, 11,153, 70,131,191,254,250, 11,111,189,245, 86, -216,222,189,123,207,176,215, 59,203,201,114,254, 13,115, 90,228, 21,180,102, 25, 79,116, 95,201, 71,235,180,105,167, 40, 74,135, -250,254,222, 88, 58,103, 36, 40,138, 6, 69, 81,208,233,191, 41,138,130, 86,163,121, 46, 45,123,150,122, 92,157,196,139,126,223, - 61,206,245,157,126,203,187, 46,153, 53,226, 56, 69, 1, 52,173,133, 86, 11, 80,180, 22, 52, 69, 65,171,125, 62,174, 57, 90,154, - 70,128,159, 15,150,204, 26, 1,211,122, 98,118,237,237,123,242,183,105,118,157,250,124,247,245,131,116,249, 50, 86,216,191, 88, -136,248, 66, 46,195, 21, 65,173,214,161, 84, 77,171, 1,200,148, 90, 90,195,216,123,136, 0,128, 75, 18,175, 83,116,109,211,192, -192,192, 74, 34,235,251,239,191,247, 88,183,110,157, 47, 0,244,239,223, 63,171,107,215,174,133,247,239,223,135, 68, 34, 33, 10, - 11, 11,123, 3,152,160,223,118, 42,128,117, 22,120,101,254,254,254, 74, 79, 79, 79,149, 65, 16,145, 36, 9, 46,151, 11,127,127, -127,165,151,151,151, 42, 56, 56, 88,198,231,243, 65,146, 36, 12, 66,207,170,215, 60,130, 0,135,195,129,129,211,212,218, 99,224, -180, 5, 60, 46, 89,245,246,102,196, 73,146,164,217,250, 44,158, 67, 34, 17, 3,192, 98,121, 14,105,116,123,228, 86,239, 33, 16, -253, 23,120, 0, 78, 51, 12,131,235,215,175, 35, 37, 37, 5,124, 62, 31, 62, 62, 62,136,140,140,132, 74, 85,174,119, 35, 34, 34, -194, 0,220,100,175, 96, 22, 44, 42,112,250, 21, 20, 88,166, 86,173,234,125,180,226,226,226,194,250,244,233,115,198, 32,128,202, -197,142, 25,241,163,213, 65,171,213, 0, 12,243, 92,132,150,165,122, 40,138,174,182, 30,131,143, 22, 77, 51, 92,179, 34,139,166, -161,211,106,159,203,222,163, 41, 45,104, 90, 11,115,245, 16, 4, 73,233,111,248,124,246, 58,121,241,240,241, 15, 32,181,254,245, -113, 78,167,132,175,187, 80,128, 66, 5, 2, 27,133,112,254,146,107,113,225, 70, 18, 60, 28,156, 94,155,227, 34,151,203,189, 68, - 34, 17,100, 50, 89,133, 37,107,221,186,117,190,106,181,154, 4, 0, 46,151,231, 87, 64,251,138, 40, 26,112,118,202, 65, 81, 81, -137, 59,195, 48,132, 94,240, 44, 7,240, 19,170,201,238,207,231,243, 43, 4,138,177, 0, 18, 10,133,181, 18, 48, 6, 24,196, 25, -159,207, 55,187,220,116,120,173, 38,240,141,133, 22,152,114,171,150,137,216,226,112, 56, 48,248, 70,213, 4,129, 64, 80,209,119, -115,224,114,140,234,227,216,238,138,169,209,104, 80, 86, 86,134,226,226, 98,136, 68,229, 6, 51,134, 97, 64, 16,196, 4, 0, 19, -217,171,152, 5, 11,243, 90,228, 21, 22, 91,230,133, 22,202, 77,118, 4, 0,232,180, 26,179,226,103,239,161, 11,200,200,149,193, -199,227, 10, 24, 27,179,158, 14, 28, 56,240,103,137, 68,210,206,240, 95, 40,118,112, 31, 61,110, 62,116, 58, 13, 28,197, 36, 62, - 27,214,179,146,200, 42,183,104,169, 45,206, 9, 82, 84, 34,155,215, 51, 98,205, 66,103, 39,247,120, 83,241,179, 36, 58, 33,188, - 72,170,242, 35,201,171, 40, 34, 36, 84,196,152,249, 35,141,110,238, 55,118,175,159, 59,217,106,123, 32, 65,242,194,199,174, 30, -205,112, 29,154,216,145,165,103,167,143,104,187,223, 88,204,185,185,185,197,245, 8, 95,213, 45,239, 41,235,163,245, 50,224,232, -236, 66,250,181,238,140,214, 19,162,112,242,155,233, 12, 80, 4,119,137, 47,217,229,203,197,112,104,221, 23,151, 62, 27, 70, 3, - 79, 95,139,190,218,217,217,229,203,229,114,137, 66,161,128, 84, 42,133, 84, 42,173, 44, 8,120, 60, 98,244,231, 95,121,240,248, - 2,104, 53,106, 28,141, 89, 92, 35,167, 33,133, 67,223,230,142,224,240, 4,165,119, 2, 3, 87,115,185, 92,144, 36,137, 67,107, -167, 79,216,183, 98,156, 35, 0,220,136, 91, 43, 29, 52,237,199, 53, 36, 73, 66,165, 82, 9,109,105,247,227,199,143,253, 84, 42, -149, 82, 47,208, 12,194, 15,169,169,169,117, 85, 42,149,194,120,185, 53, 16,219, 57, 2, 46,245, 1, 59,175, 42,214,179,180,180, -180, 58, 90,173, 86,206,229,114,161, 86,171,173, 82, 69, 36, 73,242,111,222,188,233, 71,211,180,217,242, 77,131,234, 0, 62,205, - 1,129,179,213,125,102,172,120, 17,213,139,173, 23,150, 65,154, 5,139, 87,197,178,245, 10, 94, 19,132,133,223, 21, 66,171,115, - 92, 92, 28, 99,252,134,168,211,106,245, 34,235,111,209, 67, 81, 52,178, 11,148,184,127,255, 1, 86,173, 90,133, 11,151,166, 56, - 47, 90,180, 72, 56,123,246,108,213,192,129, 3, 87,208, 52,221,130, 36,201, 27,248,123,168,162,178, 85,136,166,235, 38, 36, 36, - 4, 26,254,107,181, 90, 56, 58, 58,194,209,209, 17,141,131,253,170,136, 44,138,162,160,169,102,232,208,224,163, 69, 48, 52,163, -213, 82,160,104,186, 66,252, 20, 73, 85,126,191,157,184,222,192,168,120, 35,195,143, 14,109,154, 88, 22,131, 99, 35, 43,250,177, -123,253,220,201,139,182,108, 17, 22, 81,158,227, 7,133,127, 26, 26, 49,104, 24, 6,127,244, 94,152, 74,173, 62,200, 33, 25, 90, - 91, 81, 31, 72, 48, 48,245,209, 98,241,130,144, 92, 44,211,242,132, 98, 56,248,212,195,131, 50,138,207,225,112,174, 60, 42,150, -243, 73, 14, 23, 36,151,143, 59, 69, 74,237,107,212,221, 59,201,201,201,146,186,117,235, 66, 42,149, 66,167,211,209,253,251,247, -207,226,114,121,126, 92, 30,143,232, 51,232, 43, 58, 55, 55, 91, 75,146, 28, 48, 12,133,247, 34,198, 18, 66,145,152,175, 81,171, -117, 40, 31, 58, 52,103,205, 50, 78,225,224,216,189,123,119, 55, 67, 36,224,190, 21,227, 28,141,214, 57,181,106,213,202,205, 56, -234,208, 74,107, 17, 49,112,224, 64,177,191,191, 63, 1, 0, 87, 99,102, 25,172,103, 68,223,190,125, 69,254,254,229,126,248,127, -174, 29,103, 53,167,135, 29, 3,148,164, 2, 37,105, 85, 44, 89,125,251,246, 21, 6, 6, 6,218,116, 45,234, 29,224, 45,230,238, -178,231,234,128,220,235, 86,113, 13,255, 31,180,190, 14,224,174,120,143,132,192,193, 93,213,110,250, 31,151, 89,177,197,130,133, - 85, 48,209, 34,175, 20,194,244, 2,177,179,254,187, 66,112,113, 1, 64,111,162, 35,140,116, 22,180, 58, 77, 21,145, 69, 81, 20, -120,132, 10,171, 86,173,194,196,137, 19, 1,128, 63,121,242,228,253,139, 22, 45,250,144,166,233, 22, 12,195,116, 36, 8,162,186, -183,198,211, 18,137, 36,143, 97, 24, 30, 73,146, 29,215,174, 93,235,214,171, 87, 47, 56, 58, 58,130,161,153, 42, 34,139,162,104, -104, 52,106,139,211,220,186, 58,137, 23,253,190,119,188,235, 59, 31, 44,239, 74,209,244,113,131,200,162, 41, 10,160,203, 55,122, -146,159,133, 99, 71, 15, 98,195,250, 13, 69, 32,152,187, 96, 64,235,197, 32, 44,136,193, 22,231,175, 38,117,236,208,166, 9, 22, -109,217, 34,188,157,144,179,255,171, 73, 51, 67, 35, 6, 13,195,222, 93, 49, 32,117,197,215,141, 69, 22,165,165, 81, 82, 84,216, -247, 20,235,163,245,178,224,118,236,248,113, 98,216,176, 97,116,105,105, 41,248, 2, 1,173,213,106, 57,111,191,253, 54, 53,113, -226, 68, 50, 55, 55, 23,210,210, 50, 46, 0, 55,188, 6,102, 45,169, 84, 26, 51,118,236,216,176,179,103,207,242, 73,146,132, 84, - 42, 69,151, 46, 93, 10, 11,104, 95,209,232,207,191,242,200,206,206,210, 57,137,185, 42, 62,159,135,252,252,124, 58,172,215, 16, -197,160,145, 19,235, 76,156,181,100, 99,206,197,245,235,172,169,195, 56, 18,208,116,221,230,205,155,213,190,190,190, 74,161, 80, - 40, 24, 49, 98,132, 85,227,135,106,181,154, 89,186,116,169,202, 52,186, 80,173, 86, 51,171, 86,173, 82,251,249,249,169,196, 98, - 49,163,213,214,236,247, 73,146,132,238,179, 69, 59,116, 58,157,174,146, 21,203, 32,178,180, 52, 81, 22, 21, 21,165,241,243,243, - 83,219,217,217, 49, 66,161,144,111, 77, 59,191,250,234, 43,198,213,213, 85, 99,111,111,207,159, 54,109,218, 51, 69, 29,106, 41, -112, 23,173,173, 72,239, 32,116,116,116, 68,105,105,105, 69, 91, 37, 18, 9, 43,182, 88,176, 48,131, 42, 90,228,213,180,194, 89, -151, 71,139, 6,202,242,242, 11,189, 60,188,235, 65,167,211,233, 63, 90,232,180, 90,140, 31, 51, 8, 43,214, 71, 1,128, 65,108, -117,159, 60,121,242,126, 0, 53,222,204,118,239,222,189,112,242,228,201, 78,121,121,121,127,252,252,243,207,110, 67,134, 12,193, -212,169, 83,177,124,249,114,240, 4, 34,184,121,214,173,168,199, 80,111, 97,193, 83, 48, 96,202, 44,216,233, 52,229, 55, 41,112, -221, 61, 3,160,165,180,160,181, 90,104,181, 90, 16,156,242,174, 29, 59,122, 16, 67, 62,249, 10, 60,161,147,235,143,171,150, 41, - 66, 91, 75, 62,156, 61,106,148,202, 10, 35, 32,121, 59, 33,103,255, 87, 19,167,117, 55,136,172, 95, 99,214,223,253, 97,198, 7, - 59,133, 2,110, 69, 61, 90,154, 6, 73,114, 88, 31,173,151, 36,178,132, 66, 97,236,145, 35, 71, 30,182,108,217,146,144,201,100, -208,106,181, 40, 44, 44,196,254,253,251,239, 48, 12, 3, 87, 87, 87, 28, 57,114,132, 30, 50,100, 72,172, 74,165, 10,127,213,197, - 86,110,110,238, 61,177, 88,188,123,230,204,153,131,102,204,152,193,163,105, 26,247,239,223, 7, 8,130,225,241, 5, 32, 73, 18, - 60, 30, 23, 37, 37, 82,218,206,193, 37, 71,195,112,236,120,124, 1, 72, 14,191,186, 48,225, 12,125, 50, 82,144, 92,126,169, 33, - 18,144,207,231,227,210,222,239,165,157, 71, 44,116, 2, 0,190, 80, 92,212,163, 71,143,244, 38, 77,154,200,174, 93,187, 22,128, -170, 81,135,166,215,167,174,223,136,105, 28, 59,177, 72,214,189,123,247, 12, 3,103,218,241, 31,165,195,190,152, 69, 16, 28,129, -172, 79,159, 62,233,161,161,161, 50, 14,135,131,164,131,203,164,253, 70, 76, 19, 17,213, 36, 89,253,227, 33,243,217,141,189,231, - 26, 47, 94,188, 88,219,171, 87,175,199, 6,127,177,180,180,180, 58,189,123,247, 22,174, 92,185, 82,219,187,119,239,204,102,205, -154,149,145, 36,137,132,132, 4,191,234, 44, 85, 6,136,197, 98,237,167,159,126,154,113,235,214,173,218, 70, 29, 86,139,186,117, -235,130,166,105,116,233,210, 5, 74,165,146,181,108,177, 96,241,122,194, 52,143,150,229,204,240, 90,157,246,171, 49, 19, 22,252, - 8, 16, 14, 70,119,129,191, 13, 75, 12,136, 41, 83,190,182, 7, 32, 54,136,173, 73,147, 38,213, 56,205,137,145,200,106, 61,100, -200, 16,124,243,205, 55,248,225,135, 31,168,229,203,151,115,238, 61, 72,213,140,248, 98, 94,177, 73, 61, 96,192,148,209, 90,250, - 43,115,124, 69, 37,178,121, 29,123,127,183, 32, 43, 79,126,126,196,216,217, 21,119, 47, 10,128,148,144, 80, 0,176, 97,253,122, - 25, 79,232,100, 31, 49,104, 24, 0,116,255,113,213,178,253,139,176,165,102,177,197, 16, 33, 95, 77,154,230,106, 16, 89,107, 87, - 46,190,229, 76,228, 69,141,251,250,142,214,184, 30, 0,112,115,196,254,142,189,191,123, 55,255,169,108, 53,123,158,189, 56, 8, - 4,130,133, 39, 79,158,180,111,222,188, 57,241,228,201, 19, 80, 84,249, 17,209,104, 52, 40, 41, 41, 65,105,105, 41, 84, 42, 21, - 90,181,106, 69,174, 89,179,198,126,220,184,113, 11,213,106,245, 23,175,122,191, 83, 82, 82,214,254,246,219,111, 56,115,230,204, -192, 25, 51,102,240,124,124,124, 8,103,231, 60, 66,171, 81, 3, 96,152,130,130, 2,218,206,193, 37,199,195,219, 47, 35, 59, 55, - 63, 68,171, 81,131,166, 52, 22,189,205,245,233, 29,166,220,190,125,187,222,247,223,127,175, 54,142, 4, 28, 52,237,199, 53,173, - 90,181,114,139,138,138, 82,247,233,211, 39,221,224,188,110,141, 51,252,177, 71,152,112,251,246,205,166,166,156,157, 71,127,191, -213,192,105, 28,141,216,247,235,141, 91,131,131,131,221, 66, 67, 67,211,171,227, 13, 12, 12, 84, 72, 36, 18,117,227,198,141,203, -120, 60, 94,185, 37, 75,171,149, 7, 6, 6,210,222,222,222,234, 38, 77,154,148,217,234,180, 47, 22,139, 25,131, 85,204, 28,108, -137, 58,228,113,160, 27, 50,100, 72, 69,102,248, 41,193,193, 57,195,134, 13,147, 76,158, 60, 25, 91,183,110,197,133, 11, 23,170, -136,253,176,176, 48,156, 61,123,118, 1, 94,163,196,186, 44, 88,252,199, 80,125, 30, 45, 83,108,219, 22,243, 39,140,124,154,204, - 97,209,162, 69, 66,189, 37,171,251,196,137, 19,161, 80, 40, 92,205, 20,235, 6,125,174, 13,115, 34,107,217,178,101, 59, 25,134, -241, 3,208,129,162,232,203,155,183,108,235, 98,169,190,136,136,136, 42,156, 12, 65,114, 72,146, 40, 19,240,152,191,214,111,218, -250, 75,165,242,229,206,239,141, 64,224,198,143,171,150, 41, 0,116, 55, 21, 91,248,123,154,145, 10, 78, 3, 62, 31,251,121,133, -200,250,113,213,178,227,161,173,253, 63,156, 61,106,161, 89,113,182,112,222, 24,123,146, 36,222, 54,241,209,170,194,249, 28,192, -114,254,141, 46, 67,134, 12,105,209,182,109, 91,210, 88,100,169,213,234,138,196,157, 6,103,241,172,172, 44,132,133,133,145, 45, - 90,180,104,118,229,202,149, 46,248,123, 58,167, 87,181,239, 84, 74, 74,202, 26, 31, 31,159, 19,115,231,206, 29, 86, 88, 88,216, -187,168,168,216, 61,110,219, 66,244,140, 24, 75,132,245, 26, 44, 83, 51, 92, 81,102, 78, 94,227,211, 71,118,184, 29,221,189, 22, - 26,181,122, 12,128,187,248, 59,189,131, 41,167,220,144,198,161,113,227,198, 50, 99,161,226,239,239,175,172, 83,167,142, 42, 52, - 52,180, 98,185,133,104,190, 42,125,183,149, 83,239,255, 37,171,105,127, 26, 68,155,105,218, 8, 59, 59, 59, 24,196,151, 45,237, - 52,142,182, 52,123,163,172, 57,234,176,130, 83,159,222,161,146, 78,139,137,137,233, 22, 19, 19,211, 26,192, 95, 40,159,235, 80, - 11,148, 15, 37, 26, 57,205,207,215,127,216,235,157,229,252,175,114,190,202, 8,195,223,190, 89, 64,185,175,214, 25,139, 66,171, - 38, 24, 28,223, 1,144,147, 38, 77, 42, 82, 40, 20,174,195,134, 13,171,118,155,220,220,220,173,209,209,209,149, 68,214, 71, 31, -125,244, 73,108,108,236,137,252,252,252, 90,245,202,213, 73,188,232,204,161,233,174, 97,125,190,155, 8, 96,185, 5, 67, 30, 29, -218, 90,242,225,143,171,150,237, 55, 17, 91,219, 1,124,100, 73,149,246,120,239, 3,236,216,246,163,193,183, 75,124,235, 90,214, -209,129,215, 35,205, 70, 43,186, 56, 8, 35,245,237,152,204,250,104,189, 24,240,249,252,206, 51,102,204,224,203,100,178, 42, 34, -203, 84,104, 73,165, 82,220,184,113, 3, 35, 70,140, 16, 38, 38, 38,118,214,104, 52,167, 94,135,125,144,155,155,123, 79,159,140, -116,130, 33,133,131, 80, 36,230, 15, 30, 57,209,175, 34,234,112,247, 90,168,148, 10, 0,224, 90,147,222,129,203,229,242, 19, 19, - 19, 3, 12, 86, 43,141, 70, 35, 52, 44,191,118,237, 90,128, 33,183,150, 82,169,180, 58,234,240,159,226,188,121,243,166,159, 33, - 58,210, 16, 93,200,229,114,249, 9, 9, 9,126, 6, 78,149, 74,101, 85,212,161, 64, 32,224, 39, 38, 38,250, 81, 20,245,220,162, - 14,141,133, 49,202,231, 89,172, 52,215,162,222,183,140, 32, 8,130, 97,135, 13, 89,176,120,229, 97, 26, 41, 89,253,164,210, 53, -193,224,248,110,195, 38,220,186,117,235,246, 24, 52,104, 80, 37,145, 21, 30, 30, 78,237,219,183,239,180, 68, 34,201, 35, 73,242, -158,173,237,168,240,209, 66,149, 55, 72,144, 36,121,163, 67,155, 38, 32, 73,242,198,236, 81,163, 84,139,176,165,146,216, 58,184, -127,207,187,153, 69,119,204, 75, 51, 0,238, 94,190, 24,242,201, 87, 24,242,201, 87,174, 0,218, 3,150,163, 21,171,107, 7,139, -127, 6, 4, 65, 8,234,212,169,115, 75,169, 84,130, 32, 8,168, 84,170, 10,129, 85, 90, 90,138,146,146,146,138,255, 26,141, 6, - 5, 5, 5,240,247,247, 7, 65, 16,175,181, 31,157, 70,163,209,205, 88,240,125, 52,135,203,215,209,180,134,208,104, 52, 35,109, -185,206,103,204,152, 65,194,140,239,213,184,113,227,204, 46,127, 89,156, 51,103,206, 52, 27, 37, 56,110,220,184,106,163, 7, 45, -225,235,175,191,126,110, 81,135,214,223,190, 88,176, 96,241,154,193,108,232, 94,173,132, 22, 73,146, 55,204, 68, 23, 18, 0, 24, -146, 36,111,152,201,114,160,203,200,200, 88,224,226,226, 50, 70, 38,147,253,254,209, 71, 31, 77, 10, 15, 15,167,128,114, 7,249, -218,246,168,168, 68, 54,175,115,223,165,147,139,203, 84, 81,166,235, 76, 45, 79, 6,177,181,118,245,178,117,251, 99,119,133,231, -102,103,174,179,212, 55, 75,130,202, 82,180, 98,137, 84,177,160,115,223,165, 19,139,164, 10,214, 71,235, 5,129,162,168, 99, 98, -177,152, 48, 76,166,108,108,189,146, 74,165,144,203,229,208, 79, 73, 3, 0, 40, 43, 43,131,179,179, 51, 40,138, 98, 94,179, 93, -161, 2, 48, 85,111,173, 2,128,169,169,167,215, 24,159,219, 55,141,215, 85, 99,205,202,177,102,130,104,115,219, 85,183,238, 31, -224,204,171,102,130,232,234,144,103, 35, 95, 30, 0,240,121,156,124, 75,147, 71,243,121,156,252,106,252,246,109,124,111, 32, 24, - 0, 11,216, 43,155, 5,139, 87,247,253,255,101, 85,220,141,229,100, 57, 89,206, 23,194, 41,212,127,172, 93,199,238, 79,150,147, -229,100, 57,255,109,156,230, 48,250, 21, 17, 90,140,153, 15,128, 90, 90,180, 88,176, 96,241,175,131,170,150,235, 88,176, 96,193, -130,197,179,163,202,100,210,198, 43, 44,169, 82, 91,162, 9,106,163,108, 79,176,156, 44, 39,203,201,114,178,156, 44, 39,203,249, -159,227,172,137,219,120,251,209, 0, 54,189, 34, 98,235,165, 4,180,176,102, 85,150,147,229,100, 57, 89, 78,150,147,229,100, 57, -107, 11,118,232,144, 5, 11, 22, 44, 88,176, 96,193,226, 63, 14,219, 18,150,178, 48, 3,255, 15,102,131,198, 76,253,238, 92,134, -199, 7,231,191,110, 93, 12, 15, 15,231,216, 82, 62, 53,213,133,188, 14,201, 15, 78,246,252,190,101, 50,237, 15,244,245,121, 81, - 53,157,136, 30,129, 45, 63,182, 19,217,125,161, 86,171,235, 59, 56, 58,230, 63,125, 82,176,225,105,198,205,181, 70,101,156, 46, - 95,190, 44,105,219,182,109, 54,128, 82,163, 55, 5, 22, 44, 88, 60, 79,184, 52,169, 11,130, 24, 9, 48,127,135, 93,210,204, 29, -148,220,221, 86,169,156,115,200, 39, 32,137,166, 70, 75, 20, 96,176, 25,197, 73,143,107,120,224,184, 36, 39, 39, 7, 52,104,208, - 32, 29, 64,177,105,237,102,214,177,215, 57,139, 87, 25, 97,168,156,176,180,226, 90,120,118,161, 21,252, 81,125,232,200,225, 96, - 48, 20, 4, 18,145, 26,219,191, 86, 60, 65, 31,250,130,230,190, 9,160, 37,192,180,180, 23,139,254,167, 80,107,242,105,134,249, - 24,143,246,252,101, 51, 95,253,240,177,176, 60,157,197, 2,164,198,174,183,137,143,102,102, 93, 61,187, 79,232, 98, 71,160, 65, -171,143,166,161,114, 6,231,218, 66, 0,160, 35, 73,146, 77,237,236,236, 36,114,185,188,128,166,233,199, 40, 31,159, 46,170, 37, - 39, 9,224, 83, 7,123,251,158, 1,142,130,150, 25,133, 37, 89,165, 90,234, 28,202, 19,186, 22, 61,175, 51,170, 92,100,249,108, -154, 56,184,237,136,101,227,187,193,165,243,210,105,114,160, 58,161, 69,248, 53,122,251,224,192, 65, 17,157,191, 28, 61,194,193, -215,211, 1, 57,133, 50,247,245, 91, 99,190,143,137,217,209,103,212,192,238, 61, 1, 96,225,194,133,253,234,214,173, 91,143,195, -225,164,206,153, 51,103,251,188,121,243, 24,194,242, 76,229, 18,253, 57,108,184,225,219, 3, 8, 5, 16, 8, 32, 5,192,109, 84, -206, 50, 94, 27,188, 18,156,190,190,190,117,104,154, 30,229,237,237,221, 59, 47, 47,239, 48, 73,146, 91,178,178,178,178, 95,230, - 93,135, 97,152,141, 4, 65,140,102, 24,102,147, 13,223, 99,108,169, 67, 36, 18,229, 41,149, 74, 47,253,239,124,165, 82,233,253, - 79,245,231, 69,214,245,130,222,191, 63, 59,118,254,118, 79,227, 69, 61, 58, 52, 53,115, 71, 33,154, 30, 59,127,167, 83,229,114, -161,148,133,123, 32,193, 48, 12, 22, 44, 88, 64, 68, 70, 70,126, 18, 20, 20, 20, 76,146,228,253,185,115,231, 86, 74,125, 99,186, -206,232, 58,103,197, 22,139, 87, 21,182, 77, 42, 93, 35,154,132,219, 67,201,132, 3,196,136,176, 54,255,235, 48,230,227,190, 4, -195, 17, 97,240,103,211,117, 54,115, 5,140, 16,130,163, 88,212,188,105,163, 73, 17,125,187,145,173, 67,235, 65,226,233, 12,144, - 60,108, 60,146,230, 30,181,108,206, 58, 0,109,107,209,202,121,143,226,119,122,229, 20, 83, 32, 8,128, 32, 0,146, 0,202,148, - 52,122,244, 27, 62, 15,192,122, 27,239, 74,164,139, 29,129, 73, 59,149, 0,192,121, 14, 7,165,158,167,167,231, 39, 19, 38, 76, -176, 15, 13, 13,117, 17,137, 68, 2,165, 82,233,157,156,156,236, 57,103,206,156, 80,133, 66,113, 8,192, 85, 27, 57,253, 27,248, -213,217, 19, 53,233,211, 55, 91, 4, 6,128,167, 46, 3,173,146,213,125,144,252,240,173,207,215,237,253,236,206, 83,229, 32,212, - 98,202,132,194,194, 66, 2, 0, 60, 60, 60,152,202, 34,171,221,136,149,147,123, 96,210,138, 99,144, 43,213,191, 84,199,225, 86, -239,141, 97, 31,126,248, 65,231,197,179,198, 57,100, 61,209, 32, 49, 85, 1, 55, 7, 62,230, 77, 29, 43, 80,169,180,111,173,219, - 30, 51,250,199,239,166,111,166, 40,234, 29, 0,173, 41,138,186, 6, 96,251,130, 5, 11, 44,221,124, 35, 1,204,212,159,208, 59, - 56, 28,206,241, 46, 93,186,212, 31, 53,106, 20,209,170, 85, 43, 36, 36, 36, 4,238,220,185,179,219,225,195,135, 83, 41,138,186, - 9,224, 62,244,211,158, 88, 1, 30,128, 70, 28, 14,167,249,191,153, 83, 34,145,136,213,106,245,112, 63, 63,191,209,111,191,253, -118,243,190,125,251, 18,141, 26, 53,194,189,123,247, 90, 29, 61,122,116,222,185,115,231,110,102,102,102,110, 18, 8, 4,209, 57, - 57, 57,138, 23,254, 28, 39,136,209, 0,234,232,117,242, 2, 43,190,179, 81,158, 75, 42,199,218, 58,148, 74,165,151, 97, 10, 27, -130, 32,188,254,201,254,216, 88, 87, 18, 65, 16,110,250,178,168,238,155, 36, 73,232,116, 58, 25, 69, 81, 65, 53,112, 54,210,191, - 72, 89,173,117, 1, 84,151, 8, 90, 12, 0, 61,218, 55,125, 10, 2,119, 42, 44, 90, 85, 95, 50,239, 84, 8, 48, 6, 77,143, 93, -184,227, 86,201, 10,102,250, 22,187, 96, 1, 49,111,222, 60,204,159, 63,191, 47,128,142, 52, 77,159, 11, 9, 9, 89, 83,137,146, -166, 43,214,205,155, 55,111,117, 53,215, 57, 11, 22,175, 10, 58,195,150, 73,165, 45,190,255, 4,245,239, 4, 10, 35, 2,220,189, -194,199,143, 26, 32, 14, 13,105, 0, 37, 28,144, 86, 72,225, 72,220, 81, 0,216,109,155,213,105, 64,107, 46, 87, 25,189,108,254, -212,198, 29,223, 12,197,173, 44, 45,174,101, 81,144,167,106,193, 33,181,160,104, 6, 96,160,172,109,175, 51,139,116, 56,127, 95, - 13,146, 0, 56, 36, 64,146, 4, 56,100, 45,201,104,245,131,133,219,174,135, 22,230,209, 0,173,126,240,140, 7,164,105,195,134, - 13,135, 69, 70, 70,186,228,230,230,218, 39, 36, 36, 64, 40, 20,194,213,213,149, 35,145, 72,234,172, 88,177, 66, 49,126,252,248, -222, 26,141, 38, 13, 64,161,149,156, 33,189, 90, 55,191,184,105,217, 66,103,237,229,163, 40,222,245, 43, 56, 36, 3,190,189, 3, -234,139,197, 56,250, 97, 3,183,240,184,212,125, 87,242,100, 33, 0,178,106, 34,187,123,247, 46, 71,165, 82, 13,114,114,114,106, -199,227,241,188, 69,174,245,232,108,110,235, 39, 5, 68, 96, 74,190,151,188,211,228,110,222, 61,127,152,216, 5,147, 86, 28,195, -170,157,151,126,110,137,220,185,213,229,205,182,179,115, 24, 51,254,139, 81, 14,153,133, 26, 44,218, 87,136,109,103,165, 24,222, -209, 17,147,222,115,198,144,193, 3,237,247,254, 26, 59, 6,192,102,163, 77,238,133,132,132, 16,119,239,222, 53,119,243,117, 5, - 48, 93,173, 86,147,124, 62,159, 16,137, 68,195, 22, 47, 94,172, 25, 60,120,112,166,161, 64,199,142, 29,209,177, 99, 71,162,180, -180, 52,240,212,169, 83,129, 49, 49, 49,186,248,248,248, 36, 0, 7, 45, 91, 44,196, 25, 74,165,162,174, 72, 44,150,175, 95,183, -238,135, 78,157, 58,209, 66,225,223,233,167,106,195, 9, 0,206,206,206,155,189,188,188,136,111,190,249, 38,251,121,113,214,171, - 87,239,216,155,111,190,217,165, 71,143, 30,220,246,237,219,163, 78,157, 58, 21,235, 60, 60, 60,208,177, 99, 71,226,241,227,199, - 45,206,157, 59,183,238,216,177, 99,107,254,250,235,175, 83,105,105,105, 61, 94,176, 69,107,147, 94, 76,228,216, 88,254,149, 7, - 65, 16, 14, 27, 55,110,244, 50,204,201,168,213,106, 65, 81, 84,197,183,225, 67,211, 52, 40,138,194,226,197,139, 41,153, 76,102, -205, 62,146, 25,189, 53, 27, 62,180,185,111,129, 64,224, 97, 72,216, 91,195,157,253,142, 68, 88,220,196,222,222, 62, 0, 64, 47, -120, 6, 79,175, 92,160,252,253, 89, 38,147,165,231,168, 92,238, 0,232, 84, 13,155, 75,100,100,228,240,249,243,231,127, 96,100, -165,109, 30, 17, 17, 97, 58,237, 85,115,253,183,140, 32,136,211, 36, 73, 30, 2,176, 13,207,209,234,206,226,245, 2,195, 48,109, - 0,120, 26, 45, 82,163,124, 84, 8,250,231, 36, 1,192,221,100,185,113, 57,195,119,129,126,185,167,126, 59,198,136,183,128, 32, -136,171,181,108,226, 25, 88,240,211,226, 2, 64, 92, 92, 28,211,167, 79, 31,194,240,109, 94, 20,133, 31,249,116,240,251, 61,123, -119,125, 27,164,200, 21, 15,242,129,248, 12, 6, 92, 82, 11, 18, 12, 46, 95, 56,197,128, 75, 71,155,108,101,217,122, 82,175,255, -215,205, 67, 67,150,110, 89, 54,129,147,148,207,197,182,115,114,104,148,101, 40,200,205, 64,126,118, 58,114, 50, 83,144,149,145, -114, 19, 32,230, 89,205, 89,229,192, 0, 20,173,127, 7,164,129,106, 34, 47,107,230,212,200,238, 6, 54, 10, 13, 45, 18, 80,128, - 70,118,215,138,234, 45,113, 54, 11, 14, 14, 30, 60,107,214, 44,183,219,183,111,139,229,114,185,234,232,209,163,247,210,210,210, -156, 36, 18,201,211,177, 99,199, 6,215,169, 83,199,233,163,143, 62, 18,236,218,181,171, 31, 42,135,181, 90,226, 12,125,191,221, -255,226,183,174, 89,105,255,100,111, 20,212,201, 55,112, 36, 71,134, 11,121,114, 38,208, 89, 72,124,213,194, 19, 14, 66, 46, 22, -182,175,227,208,107,127,242, 82, 45, 77, 15,169,142,243,226,197,139, 18, 59, 59,187, 21, 67,135, 14,149,140, 27, 55, 78, 72,113, - 93,184,177,241, 79,156,167,175,139,175, 35, 87,105, 56,131,187,212,195,228,161,205, 49,121,213, 73,131,200, 26, 93,191,126, 49, -125,253,186,101, 78,173, 70, 83,223,207,203, 9,137,105, 10,108, 59, 43,197,159,179,234,160,235,226,108,124,212,146,139, 16,127, - 7,232, 52,218, 70, 17, 17, 17,209,250,183,246,171, 0,250, 69, 68, 68, 52,230,112, 56, 39, 1, 28,168,233, 24,137, 68,230,103, - 79,113,117,117, 69, 88, 88, 24, 66, 66, 66,184,157, 58,117,106,110, 34, 96, 42,113,106, 52,106, 9, 77, 51,112,116,116, 20,187, -187,187,187, 58, 58, 58, 62, 49,247,160,178,133, 19, 0,220,220,220,250,135,133,133,113,119,238,220, 89,152,154,154,122,121,240, -224,193, 41, 78, 78, 78,149,172,191,246,246,246, 8, 14, 14,198,156, 57,115,184, 61,123,246,172,145,211,219,219,187,123, 76, 76, - 12, 8,130,168,120,104, 87, 49, 22, 7, 4,192,199,199, 7,189,122,245,226,246,239,223,191,123, 90, 90, 90,173,174, 35, 27,112, -194,140, 69,107,129,201,113,178, 56,252,102,174,188, 21,199, 61,223, 96, 93,210,243,225, 25,174,205,106,135, 59, 69, 34, 81,133, - 21,202, 76, 93, 85, 56, 73,146,196,236,217,179, 65, 16, 4,120, 60, 30,248,124,190,217,239,206,157, 59,219,218,206,199, 4, 65, -144,124, 62,127, 58,151,203, 29,165, 82,169,252, 68, 34, 81, 54, 69, 81, 63,171, 84,170,197, 0,180, 12,195,184, 88, 16, 89,102, - 57,237,237,237, 3, 30, 60,120,208,208, 82, 67, 84, 42, 21,154, 55,111, 14,168,144, 84, 29,103,114,114,114, 64, 80, 80, 80, 35, - 0,134, 41,218,206, 50, 12,211,201,232,191, 49,206, 50, 12,243,158,254,247,253, 71,143, 30, 5, 52,104,208,160,232, 69,157,159, - 44,231,191,143,179, 6, 45,226, 73, 16, 68,156,209,181,218,199,240,127,198,140, 25, 51,151, 44, 89,114,155, 32,136, 56,227,229, -198,229,140,191,245,247,155, 56,134, 97,250,124,243,205, 55,161,223,125,247,221,183,134,178,255,132, 72,180,197,162,229, 84,160, -180,199,185, 12, 39,112, 57, 20,184, 36, 1, 46, 7, 0, 67, 32, 61, 45, 25,165,210,226,243, 72,221,151,106,157, 37, 43,188,253, - 27,111, 52, 91,182, 99,213, 52,242,167,115,114, 20,203,148,184,251,215,105, 92, 61,125, 32,151,210, 81, 7, 64, 48,215, 0, 50, - 1, 41,244, 61, 32,182,118,115, 92, 16, 12,183, 92,104,233,197, 85, 37,177,245,210,208,162,113,227,198, 3,231,204,153,227,113, -253,250,117, 81, 73, 73, 73,233,142, 29, 59,178, 85, 42, 85, 26,128, 63,210,211,211, 27,175, 94,189, 90,176,108,217,178,102,205, -154, 53,147,236,217,179, 71,109,102, 58,163, 42,156, 83, 71, 12,137, 31, 53,126,162, 40,105,207, 90, 8,146, 18, 48,251, 70, 33, -245,103,142,124, 22,128, 85,120, 92,214,190, 64,169, 59,190, 50,172, 46, 89,207,145,143, 6, 46,130,206,119,159, 42,171,181,100, -217,217,217,173,136,137,137, 9,104,211,166, 13, 9, 0,231,238,235,132,211,215,197,215,249, 99, 73,123,162,125, 83,119,228, 23, -171, 48, 97,109, 34,142,198,231,255,110, 16, 89, 53, 53,210,209,209,177, 32, 51, 95,234,237,238, 32,194,199, 29, 28,208,117,113, - 54,194, 91, 11, 33,228, 19,184,151,154,139, 6, 65,245,136,196,243, 7, 91,235, 69, 86,155,156,156, 28, 0,104, 13, 32,245,241, -227,199,146,182,109,219,150, 24,209, 21, 1, 88, 42, 16, 8,102, 19, 4,193,180,105,211, 38,177, 89,179,102,101,174,174,174, 80, - 40, 20, 80,169, 84,224,243,249, 80, 40, 20, 72, 79, 79,199,229,203,151,225,234,234,106,211,129, 42, 43, 43,131,163,163, 35,104, -154,126,102, 78,138,162,136, 13, 27, 54,216,223,190,125,219, 62, 54, 54,214,123,210,164, 73, 79,154, 52,105,114,109,224,192,129, - 15,189,188,188, 84, 55,110,220,192,197,139, 23, 81, 84, 84,132,118,237,218, 89,197,169, 86,171,193,229,114,161, 80, 40, 32, 20, - 10,193,229,114,161,211,233, 64,211,116,133,248, 42, 43, 43,195,211,167, 79,193,231,243,161, 86,171, 95,198, 27,104, 21, 11, 85, -117,195,111,181,177,104, 25, 11, 53, 43, 69, 86, 77,150, 40,139,195,157,197,197,197, 98, 23, 23,151,233, 0,114,106,170,139, 32, - 8,112, 56, 28,240,249,124, 16, 4,129, 78,157, 58,225,211, 79, 63, 69,203,150, 45,145,156,156,140, 93,187,118,225,234,213,171, -224,241,120, 21,229,173, 30,159,232,220,153, 35, 18,137, 46,190,255,254,251,161,179,102,205, 18,213,171, 87, 15, 73, 73, 73,254, -223,125,247,221,244, 19, 39, 78,124, 32,147,201, 90, 27,238,118,213, 91,233,245, 67,130,229,195,133,189, 84, 42, 21,146,146,146, -108,217,166, 10, 26, 52,104,144, 78,146,228, 67,154,166,207, 1,104,206, 48, 76, 39,130, 32,142,162,220, 47,209, 24, 50,134, 97, -222, 35, 8, 66, 10,224, 38, 73,146,247,105,154, 78,103,237, 54, 44,172,184,175,244, 49,253, 79, 16, 68,220,146, 37, 75,250,152, - 19, 87,102,174,205, 74,203,191,251,238,187,111,141,254, 63,139, 69, 53, 12,149,157,225, 59,235,173, 92,127, 11,173,184,184,184, -234, 21, 8,141,143,226,246,237,188,212, 85,131,128,208, 86, 29,141,172, 67, 12, 18, 46, 95, 4,192,252,108, 85, 83, 36,125,196, - 36,135,251,243,134,111,199,145, 27, 79,203,241, 56, 59, 31, 23,143,252,140,130,156,180,109, 0, 51, 9,169,177,210,103, 62, 18, -245, 62,106,230,229,238,225,162,212, 48,160, 25, 0, 85,196,214, 75, 65,203, 70,141, 26,245,143,143,143,247, 80, 42,149,162,243, -231,207,203, 99, 98, 98,114, 53, 26,205,105, 0, 23,244,101,174, 23, 20, 20, 68,232,133, 9,135,203,229, 10, 52, 26, 77,117,190, - 11, 45,167,142, 26,126,126,233,134,173,162,135,183, 18,177, 58,246, 8,138,229,114,234,116,190,162, 31, 0,131,162, 63,121,189, - 80,145,197,128,169,203, 35, 9, 72,236,121, 62,119,159, 42, 69,128,249, 33, 89,149, 74, 53,120,232,208,161, 18,131,200, 2,128, -194, 82, 45, 87,174,210,114,218, 55,117, 71,171, 46, 17, 72, 56,181, 23,123,206,102, 33,200,211,238,108,125,251, 98,171,246,104, - 65,126,206,134,149, 81, 27, 87, 46, 93, 48, 85, 48,185,151, 51,194, 91,243, 32,226, 19,112,178,227, 97,241,154,205,218,235,151, -207,222,144, 72, 36,113, 0,250,229,228,228, 64, 34,145,148, 1,184,207,225,112, 82, 41,138, 50,231,212, 61, 23,128,119,116,116, - 52,169,213,106,203,146,147,147,225,227,227, 3,111,111,111, 56, 59, 59,227,238,221,187,248,243,207, 63,113,239,222, 61,208, 52, -141, 55,222,120,195,166,131,245,228,201, 19,220,184,113, 3,189,122,245,158, 84, 80,144,239,228,234,230, 46, 59,127,238,236,247, -181,225,164,105,154, 0,128,208,208, 80,132,134,134,138,178,178,178,252,226,226,226,188, 22, 45, 90,148, 17, 16, 16,176, 67,161, - 80, 84,178, 28, 88, 43,180, 12,226,194, 32, 2, 69, 34, 17,248,124, 62,164, 82, 41,242,242,242, 80, 90, 90, 30,180,233,226,226, -242, 82,132,150, 5, 11,213,115, 43,255, 15,139,195, 42,195,157, 46, 46, 46, 67, 1, 76,183,178, 47,208,233,116,224,243,249,104, -219,182, 45,162,162,162,112,245,234, 85, 28, 56,112, 0,254,254,254, 24, 49, 98, 4, 72,146,196,237,219,183,109,109, 34, 29, 31, - 31, 63,189, 95,191,126,161,209,209,209,162,244,244,116,220,187,119, 15, 46, 46, 46,136,138,138, 18,142, 30, 61,186,193,169, 83, -167,230,162, 60,248,165,122, 24, 69, 23,202,196,146, 1,205,155, 55,175, 82,196,199,199,199,249,143, 63,254,240,170, 16, 96,166, - 17,137, 85, 81, 60,119,238,220,149, 33, 33, 33,171,244,195,133, 29, 1,216, 51, 12,211, 57, 54, 54,150, 0,128,240,240,112,134, - 32, 8,195, 3,233,230,222,189,123,187,220,189,123,151,153, 63,127, 62,235,163,197,194,146, 22, 25,109,184, 38, 45, 9, 40, 91, -132,154,177, 60,104, 55, 9, 0, 0, 32, 0, 73, 68, 65, 84,197,203,128,111,190,249, 38,116,201,146, 37, 87,158, 81,100, 25,191, - 49, 49, 6,177, 85,241, 48,181, 56,100, 88, 97,251, 34, 37, 62, 94,238,110, 51, 70,180, 7, 77, 3, 58, 10,208, 81, 12,100,114, - 5,146,110, 93,149, 67, 68,196, 90,213, 28,161, 96,217,162, 89, 19, 3, 19, 51, 73,100, 23,105,112,230,224, 70,166, 32, 39,173, - 63, 82,247,142,124, 62, 34,107, 64,115, 31,111,175, 51, 59, 55, 46, 36,175,166,168, 65,209,229, 58,139,166,153,138,223, 47, 1, - 62,158,158,158, 67, 46, 93,186,228, 41, 20, 10, 69, 15, 30, 60,160,247,238,221, 91,164,209,104, 78, 24,137, 44, 0,104,223,186, -117,107,157,131,131, 3,100, 50,153, 70,163,209, 40,171, 17, 89,126,157, 91,182, 56,187,116,195, 86,145, 82,173, 70,137, 66, 5, -142,187,151,169,200, 2,128,183,187, 52,244,245, 37, 68,142, 96, 0,164, 73, 53,217,150, 68, 22, 0, 8,133,194,110,227,198,141, -171, 52, 47,158,135, 35, 79,103, 39,228, 81, 23,238, 20,210, 9,167,246,226,220,237, 66, 90,196,231, 80,158, 76, 74,160,181, 59, -160, 56,243,206,134, 3,191,197, 29,255,122,206,178, 50,185,172, 20, 65,117,196, 40, 43, 45,193,226, 37, 75,181,241,241,231, 78, - 79,159,244,249, 91,123,247,238,253, 14,229,206,224, 0,112,127,239,222,189,195,231,204,153,179, 29,127,167,121, 48, 69,246,144, - 33, 67, 50,155, 54,109, 90, 18, 18, 18, 82,242,228,201, 19,220,185,115, 7, 69, 69, 69, 88,189,122, 53,146,146,146, 96,176, 8, - 90,229,171, 82, 85, 32,161,168,232,169, 3,195, 48, 40,122,250,196,126,214,172, 89,206,181,225,164, 40,170,210,181,229,235,235, -139,177, 99,199,242,229,114,185, 75, 70, 70,134,147,241, 58,107, 57,213,106, 53, 12,150, 33,134, 97,160, 86,171, 81, 82, 82, 2, -181, 90,141,135, 15, 31, 86,136, 44,125,253, 47,205,162,101,248, 45, 18,137,242, 12,231,178, 97, 8, 78, 36, 18,229, 91, 42,255, - 44, 48,170,139,209,255,182, 85, 28,214,216, 31, 43,143, 59,248,124, 62, 62,253,244, 83, 92,185,114, 5,201,201,201,224,112, 56, -144,201,100,144,203,229,232,222,189, 59, 4, 2,129,173, 22, 45,134,207,231, 15,157, 57,115,166, 40, 53, 53, 21,133,133,133, 6, -103,122, 80, 20,133, 73,147, 38,137,133, 66,225, 80, 91, 77,247, 57, 57, 57,239, 62,124,248,176,145,233, 39, 55, 55,183,196,216, -167,176,182,136,141,141, 37,194,195,195,153,240,240,112,198, 32,184, 88,176, 48, 7, 11, 90,100,147, 37,139,214,243,176,138, 25, - 44, 91,208, 7,136,212, 2, 6,145, 21,102, 36,188, 8,131,133,203,186,161,195,160, 1,255,243,118,119, 59, 21,189, 54,210, 33, -238, 22,129,204,199,105, 40,200, 73, 71,235,183, 58, 35,233, 86, 34,104, 45,181, 15, 15, 99,107,246,228,172, 23,222, 48, 36,164, -201, 23, 97,111, 53,195,178,184, 50, 60, 72,248, 3,197, 5, 57, 63, 34,109,239,190,231,114,132, 2,194, 91,120,123,185,157,218, -190, 54,210,229,232, 29, 18,143, 31,167,225,224,246,149,140, 86,163, 42, 70,229, 72, 46,155,223,154,197,180, 90, 80, 86,156, 7, -117, 41, 5, 17, 41, 23,217, 56, 72,145, 11,224,220,202,149, 43,187,182,107,215, 78, 48,100,200,144,220,162,162,162,131, 0, 46, - 25,149,105,218,176, 97,195, 94, 81, 81, 81,222,143, 31, 63,198,137, 19, 39,114, 81, 30,250,111, 9,153,103, 19,111,173,251,115, -251,230,169,226,192,198, 88, 61,243,107, 93,236,213, 59,239, 3, 56,106, 84, 38,164, 91,243,134,113,139,166,124, 73,210,215,127, -199,141,244, 60,164,148,168,254,180, 68, 88, 88, 88, 72,200,229,242, 0, 23, 23, 23,227, 19, 18, 18,123,153,106,218,128,134,217, -221,167,159,175,163,212, 80, 16,242, 72,102,194, 7, 1,217, 87, 14,198,186, 23, 42, 11, 9, 67, 52, 98, 77,248,108, 96,183, 15, -214,198,236,255, 56, 46,238,240, 23, 26,149,178, 89,227,198,141,152,107,241,167,110, 76,159,244,121,207, 90, 30,113,135, 43, 87, -174,144, 28, 14,167,146, 64, 55,182, 16,217,106, 41,178, 5,214,114,154, 10, 45, 3,116, 58, 29, 81, 91, 78,149, 74, 85, 33,180, - 76, 31,238,230, 4,227, 63,209,127, 91, 44, 84,198, 67,134, 6,127, 58,165, 82,233,165,247,217,242,126,158, 22,173,103,137, 68, -172,110,248,210,150,246,145, 36, 9,154,166,193,231,243,241,198, 27,111, 32, 46, 46, 14,110,110,110,112,114,114,130,147,147, 19, -196, 98, 49,220,221,221, 43,132, 22, 73, 90, 29,165,195,168, 84, 42,127,127,127,127, 60,124,248, 16, 34,145,168,226, 35, 20, 10, - 17, 26, 26, 10,153, 76,230,139,151,105,187,103,193,226,159,189,175,196, 25,139, 37,130, 32,226,102,204,152, 49,179,182,124, 51, -102,204,152,105,206,194,245,140,130,171,146,117,139,107,172, 32,205, 42, 73,189,200,218,246,227, 2,167,253,127, 1,153,153,169, - 56,190,103, 77,169, 86,163, 46,162,105,109, 64,202,189, 68,128,196,207, 86, 53,129,100,222,252,160, 87, 23,226,248,109, 53,164, -197, 5,184,127,237,143, 52, 40, 4,223, 60, 55,145,229,237,113, 42,122,237, 2,151, 67,183, 8, 60,126,156,134,163, 59, 87, 75, -181, 26, 77, 55,164,198, 94,123, 22,234,161,124,254, 7,252,186, 25,125, 70,117,204, 6, 69, 80, 24,154,116,247,189,252, 92,124, -144,115,190,250,200, 48, 99, 20, 20, 20, 28, 92,185,114, 37,177,124,249,242, 48,165, 82,249, 43, 0, 99, 19,101,179,160,160,160, - 65,155, 54,109,114,123,252,248, 49,239,252,249,243,178, 83,167, 78, 49, 0, 14,213, 96,113,153,214,125,228, 88, 78,203,122,190, -227,174,167,101,189, 15,224,119,163,213,161,125, 90, 53,189,176,117,201, 92, 71,237,133, 88,148,229, 60,198, 55, 23, 50,165, 0, -172,222,223, 90,173, 22, 37, 37, 37,208,150, 61,209,181,150,200, 74,230, 71,120,169,242,138,148, 92, 30, 45,215,133, 56,229,171, - 78, 61, 73,225,216,217,217,217,180, 47,215, 46,153, 26, 3, 32, 38, 34, 34, 34,250,102,252,225,214, 18,137,228,112, 72, 72, 8, - 1, 0, 22, 34, 12, 45, 33, 18,192,164,183,223,126,155,104,219,182,237,229, 85,171, 86, 29,171, 78,172,212,198,162, 85, 19,172, -229,164,105,154,180,176,127,137,218,114, 26, 91,180,106, 18, 90, 47,211,162,101, 78,180, 24,139, 68, 99, 33,244,111,136, 58,172, - 78, 76,217,210, 62,131,159, 28,159,207, 71, 98, 98, 34,234,214,173, 11,141, 70, 3, 71, 71, 71, 56, 58, 58,194,193,193, 1,165, -165,165,224,241,120,176,177,207,180, 72, 36,202,184,115,231, 78, 35, 79, 79, 79, 80, 20, 85, 73,108, 61,120,240, 0,246,246,246, - 89,182, 90,180, 36, 18,201, 31,250,168,195, 74,240,241,241,113,126, 30,251,213,216,146, 21, 30, 30,206, 14, 17,178,168,214,154, -101,193,170, 85, 96, 98,137, 82, 27,253, 47, 64,121, 14,183, 62,250,223, 48,243, 91,109,102,217,147, 37, 75,150,156, 50,242,239, - 42,120,198, 46, 24, 82, 60, 84,138,112,225,214,100,201,242,114,115, 61,181,101,245,124,167, 61, 9, 64,214,227, 84,156,217, 23, - 85,162,163, 52,239,128,102,114,226, 79,236,139, 5, 1, 57, 82, 98,207, 88,119,139, 64,203,150, 77, 2,112,224,182, 22, 5,153, - 15,192, 48,244, 54,228,199,200,159,249,232, 4,125,244,134,151,155,199,169,109, 81,243,157,247, 39, 18,200,124,156,138,227,123, -162,164, 58,173,188, 43, 82,247, 37,212,150,246, 83,192,149, 99, 47, 90,215,191,115,203, 1, 1, 65,126,160, 25, 45,104, 62,131, -143,166,121,112,239, 95,151, 31, 56, 39, 42,217, 67,151,209, 95,100, 93,178,206,129,174,172,172,236, 0,128,107,168,156, 94,161, - 69,112,112,240,128,117,235,214,121,102,102,102,138,174, 95,191,174,216,184,113, 99, 62, 77,211,251, 1, 88, 51,148,250,245,245, -180,172, 45,168,156, 47,167,197,212,145, 67,226,135,124, 50, 74,148,122, 34, 6,174,169, 73,152,114, 33,155,186, 95,164, 30,172, -183,174,153,133,135,135, 7, 83, 88, 88,152, 94, 92, 92,220,200,222,222, 30, 79,158, 60,193,211,167, 79, 81, 82, 82, 2,149,244, -169,206,157, 42,150, 17,186,167,224,241,120,200,127,172, 5, 69, 81,185,214, 90,179, 0,184, 70, 70, 70,126, 70,211,180, 33, 35, - 98,165,232, 66,163,114,134,243,161, 81, 68, 68, 68,180, 81,212,161,177, 51,188, 33,189, 3,161, 79,239,208,238,247,223,127,191, -219,179,103,207, 76,115, 98, 69, 40, 20,218,236, 40,109, 41,138,177, 54,156,150, 44, 90,166,203,109,225, 52, 12, 95, 26,156,224, - 77,151, 27,192,225,112, 64,211, 52,172, 8,170,248, 71, 69,139,113,116, 96,109, 68,142,201,177,169, 54,113,104, 45, 35, 17,159, -171, 69,203,112, 44,248,124, 62,126,251,237, 55,124,242,201, 39,160, 40, 10,118,118,118,112,112,112,128,189,189, 61,246,237,219, - 7, 67,250, 7, 91,244,171, 86,171,253,101,201,146, 37, 51, 55,108,216, 32,102, 24, 6, 2,129,160, 66,104,205,159, 63, 95,161, -209,104,126,177, 74,104, 25, 50,190,211,204, 29,123,123, 93,181, 81,135,230,182,177,224,175,229, 18, 25, 25, 57,156,166,233, 15, - 96,146,194,193,164, 92,165,212, 15,108,122, 7, 22, 86,220, 79,174,254,139,155,103, 16, 88,132,145, 37,171, 66,112,145,213,137, - 23, 79, 87,151, 83,155, 87,207,119,218,113,149, 64,106, 74, 10, 78,255,186,166, 92,100, 61,218,243, 23,210, 99,243,144, 26,219, - 1, 41,177,239, 90,253,246, 68, 16, 45,235,120,185,224,169,140,134,180, 48, 3, 96,112,253,121,136, 44, 79, 87,207, 83, 63, 69, -205,119,222,251, 23,137,212,212, 84, 28,223,179,166, 68,167, 83,190,243, 44, 34,107, 40,159,255, 65,112, 67,191,228,217,159,125, - 48,160,109, 3, 31,184,103,220,197,161, 17, 3,176,112,215,135,112,244,228,224,205, 94,142,248,116,177,207, 0, 73,168,240,161, -164, 3, 62,176,129,218, 88,100,181,172, 95,191,254,128, 75,151, 46,121, 52,111,222, 92,116,239,222, 61,229,198,141, 27,243, 21, - 10,197, 49, 0,137, 54,112, 26,139,172,150, 51, 70,143,136, 95,186, 57, 90, 68,242, 5, 88,246,203, 33,140, 63,155, 73, 29, 78, -151, 70,160,242,176,162, 89,168, 84,170, 19, 81, 81, 81, 42,146, 36,241,244,233, 83, 20, 22, 22, 34, 63, 63,191,226,187,184,184, - 24, 28, 14, 7, 39, 79,158, 84, 75,165,210, 75,214, 54,240,226,197,139,245,179,178,178, 66,114,114,114, 90,235, 63,247, 80, 30, - 93,232, 96,180,172,117, 78, 78, 78, 24,128,171,134,229,153,153,153,245, 46, 95,190, 44,169,137,223,209,209, 17,124, 62,191,146, - 69, 75, 40, 20,194,219,219, 27, 58,157, 14,187,119,239, 6,128,167,213,113,240,249,130, 28,146, 36, 64, 51,180, 74, 36, 18,209, - 18,137,196,172,192,178,133, 83,143,204,247,222,123, 79,153,144,144, 96,214,162, 85, 27, 78,134, 97,228, 61,122,244, 64,118,118, - 54, 68, 34, 81,197,195,218, 32,168, 72,146,132, 80, 40, 68,110,110, 46,198,140, 25, 3,134, 97,228, 47,250,206, 99,236,211,164, - 23, 67, 4, 0, 66, 47,132,170,248,105, 89,235, 3,101, 24, 26,100, 24, 6, 6,193,101,178,190,162, 46,107,178,183,155,248,116, -141, 46, 46, 46, 94, 90,222, 28,102,163,201,247, 38, 27, 30, 10, 21, 66, 43, 41, 41, 9,209,209,209, 40, 46, 46,134, 64, 32, 64, - 81, 81, 17,182,110,221,138, 59,119,238, 64, 32, 16,192,176, 47,172,213,111,109,219,182, 93,122,238,220,185, 59,131, 7, 15, 86, - 36, 38, 38, 66,161, 80, 32, 49, 49, 17,239,190,251,174,242,194,133, 11,201, 10,133, 34, 18,214, 12, 29, 26, 50,190,235,167,215, - 81,169, 84,184,126,253,186,217,143,165,109, 76,145,156,156, 28, 64, 81, 84, 35,134, 97, 58, 50, 12,227, 4,125, 10, 7,253,127, -227,207,123,250,117, 78, 12,195,116,164, 40, 42, 56, 57, 57, 57,128,149, 19, 44, 94, 81,156, 49, 18, 91,140,145,200, 58, 83,189, - 69,139, 38,163,182,172, 89,224,244,203, 21, 18,143,211,147,113,237,200,186, 18,138,214,190, 99,227,116, 56,221, 96,148,107, 67, - 36,182,111, 70, 19,229,225,204,210,194,199, 0,195,169,141,208,170,196, 9,154,140,218,186,102,190,243,206,107, 4,178, 31, 63, -194,133,131,107, 75,116, 58, 85, 87,164,196, 94,175, 13,231, 80, 62,127, 14,143, 67,204,238,209,254,127,252, 14,255,107, 8,251, -252, 52,228,102,102, 99,119, 82,193,211,228, 34,213,168, 11,132, 6,233,143, 84, 91,122,125,230,230,230,234,195, 67,159,207,221, -221, 46, 29,146, 30, 32,120, 50, 13,163, 97,150,228, 92,168,152,150,162,114, 59,171,194,199,209,209,113,240,181,107,215,156, 68, - 34,145,248,218,181,107,244,198,141, 27,159, 40, 20,138, 35, 0,226,173,234,123, 85,248,181,105, 24,116,230,219,181,155, 69,101, - 50, 57,100,106, 13,132,222, 18,106,127,252,173,254,176,156, 0,179, 18,167, 80, 40,220,185,115,231,206, 94,157, 58,117, 10,104, -214,172, 25,249,244,233, 83,148,149,149, 85, 56, 87,123,122,122, 34, 41, 41,137, 78, 77, 77,205, 22, 10,133,187,172,109,231,219, -111,191,157, 74,146,228, 61,253, 48,218, 61,152, 68, 23, 26, 21,109,148,147,147,211, 70, 34,145,156, 1, 96,103, 20,117,104,204, -105, 72,239, 48, 19, 0, 73, 16,196,213,196,196,196,178,158, 61,123, 66, 44, 22, 67, 38,147,193,223,223, 31, 58,157, 14, 71,142, - 28, 65, 66, 66,130,140,166,233, 51,102,196,107,165,118, 42,149, 10,127, 0,164, 66, 46,127, 99,248,240,225, 97,147, 39, 79,174, - 20,146,238,229,229, 5, 55, 55, 55,155, 56, 1,224,233,211,167, 77,126,255,253,247,137,137,137,137, 95,247,234,213,203,121,230, -204,153,194,250,245,235,131,162, 40,178,182,156, 69, 69, 69,206,215,175, 95,255,190, 67,135, 14, 95,246,236,217,147,251,237,183, -223,194,217,217, 25, 20, 69, 65, 44, 22, 67, 42,149, 34, 50, 50, 18,231,207,159,215, 49, 12,179,182,164,164,100,138,141,231, 18, -158,245,218,180,100, 1,178,148,146,193, 66,249,127,188,157, 38, 62, 93,208,167,112,152,110, 33,131, 61,172, 61,231, 13, 66,139, -195,225, 32, 45, 45, 13, 27, 55,110,172,146, 71,203,144,254,193, 2,183,185,190, 51,167, 79,159,166, 8,130,120,235,218,181,107, -211, 63,254,248,227, 81, 50,153,204,207,222,222, 62, 91,171,213,254,172, 80, 40, 22,163,220, 31,149,111,203, 61, 68, 38,147,165, -155,139, 58, 52, 45, 3,184, 84,203,105,146,222,161, 82, 10, 7,147,109, 42,165,126, 48,147,222,225, 31, 63,238, 44,231,191,146, -243, 85, 23, 91,150, 19,150, 86, 65,203,209, 60,158, 66,219,252, 92, 50,241, 44, 34,171,170,181, 68, 41, 79,158,187, 51,227,127, -106,149, 18,178,146,188,251, 72,219,157,255, 76,221,210,183,243,108, 50,129,180,212, 71,184, 18,183,182,188,157, 41,177,181,110, - 39, 1,124,179,254,104, 44,159,112,118,195,141,137,159, 32,187, 88,134,163, 41, 69,123, 24,185,234,139, 95,128, 34,156, 7, 72, -157,234,220,214, 89,185,235, 58,126,228, 60,192,195,151,135, 21, 83,127,134,104,134, 59,255,205,174,157,108,153, 3, 49, 87, 36, - 18,157, 91,189,122,117,183,142, 29, 59, 10, 35, 34, 34,204, 57,200,219,138,204,171, 15, 30,173, 63,188,225,135,169,238,205,219, -225,199, 57,211,168,157,241,183, 76,163, 16,171, 69, 72, 72, 8,117,241,226,197,201, 99,198,140, 89,209,173, 91,183, 58,239,191, -255,190,192,223,223, 31, 66,161, 16,143, 30, 61,194,185,115,231,212, 41, 41, 41,217,114,185,124,114,139, 22, 45,108,201,113, 86, - 52,119,238,220,165,250, 58, 8,253,112, 97,107,232,163, 11, 13,133,244, 73, 75, 91, 3,176,155, 63,127,254,199, 0, 96, 33,236, -123, 46,128, 13, 0,184, 12,195,228,198,196,196,188,117,240,224,193,183, 38, 77,154,196,239,213,171, 23, 46, 93,186,132,227,199, -143,107, 52, 26, 77,188, 94,184, 90, 59, 85, 14, 13,224,186, 78,167,187,181,108,217,178,183, 56, 28,206, 92,195,138, 59,119,238, - 96,219,182,109,181,225,212, 1,248, 62, 47, 47,111,125, 76, 76,204,220, 19, 39, 78,140, 28, 62,124,184,147, 86,171, 69, 82, 82, - 18,126,250,233,167, 90,113,150,148,148, 76,244,240,240,152,125,228,200,145,159,143, 29, 59,214,111,216,176, 97,228,248,241,227, - 17, 21, 21,133, 95,127,253,149,166, 40,234, 32,143,199, 27, 94, 88, 88, 40,123, 25,119, 29,253, 48, 92,182,141,115, 29,214,200, -251, 44, 67,131, 86, 34,231, 89, 9, 12,253,232,220,185,115,133,149,209, 96,133, 51, 46, 67, 16,132,205, 67,135, 0, 92, 24,134, -161, 1,172, 69,249,252,162,198, 89,225, 57,248, 59,115,188,181,140, 77,115, 84, 46,119,160, 66, 82,245,147, 74,187, 0, 12,154, -214,192, 86, 60,119,238,220,149,243,230,205, 91,105,154,194,193,184,144,105,234,135, 5, 11, 22,128, 77,239,192,226,117,133,121, -161,117,125,147, 86, 27,216,127,230,234,111,167,205,211,105,213, 37, 12, 52,225,120,180, 47,241, 89, 43, 99,104,102,198,201, 29, -243,163,192,160,136,161,116,211,159,185,245,255, 80, 59, 9,103, 55,148, 70,142,197,175,183,179,153, 92,153,246,195, 95, 52,154, - 74,214,160,114,159, 44,122,224, 41,101,209,110,215, 58,188,253, 19,223,113, 39, 14, 63,253,216,230,122,242,243,243,127, 91,185, -114, 37,249,195, 15, 63,132,201,229,114, 83, 7,249,218, 98, 90,223,113, 51, 56,111, 6, 7,140,187,242, 48,253, 3, 88, 49, 92, -104,138,183,223,126, 59,231,238,221,187, 67,142, 29, 59, 54,248,236,217,179,221,100, 50, 89, 0, 65, 16,176,179,179, 75, 87,169, - 84, 39,132, 66,225, 78, 27, 69, 22, 0, 96,222,188,121,204,130, 5, 11,136,187,119,239, 50, 28, 14,231, 79, 0,169, 28, 14, 39, -205,216, 9,222,120,185, 97,155,249,243,231, 91,243, 64, 60, 91, 86, 86,150, 16, 25, 25,217, 41, 50, 50,242, 13,189, 85,232, 44, -254,246,249,178, 21, 90, 0,103,249,124, 65, 54, 65, 16,126,124,129, 80,118,241,226,197, 19,207,200, 41,215,104, 52,211, 31, 63, -126,188, 98,197,138, 21,139,237,237,237,219,220,185,115,231,207,103,225,212,139,168,254,110,110,110,117,162,163,163,247,110,221, -186,181, 29,151,203,189, 68, 16, 68, 68, 73, 73,201, 75,157, 84, 90, 63, 65,244, 2, 27,230, 58,180,138,247,121, 39, 41,253, 39, -132, 27, 69, 81,101,179,103,207,206, 55, 21, 94,166,214, 43,195,127,125, 42, 23,107,246,169, 45, 81,148, 53, 8, 23,162, 12, 0, -202,231, 46, 44,159, 86,199,218, 73,165, 1, 40,106,186,206, 73,146, 60, 8,224, 62, 73,146, 15, 77, 3, 93,140,215, 45, 88,176, -160,166,235,156, 5,139, 87, 26, 86,220,217,230,147,192,252,218,122,210,190, 64,115,229,243,105,231, 16, 62,127, 1, 9, 76, 5, - 64, 48,192,138, 95, 52,154, 89,213,109,232,243, 54, 22, 51, 4, 38,233,119,230,183,185, 23,176,168, 22,125,247,133, 21,243, 15, -218,200,217, 24,213, 79, 40, 91,133, 51, 60, 60,156, 99,225, 97, 94,105, 82,105, 75,136,141,173,200,226,111,169,157,198,231,155, -227,229,203,151,235,180,109,219, 54, 7,149,157,254,205, 45,103,108,236, 59, 7, 0,245,156,247,231, 43,193, 25, 20, 20, 36,120, -244,232,145,250,223,117,109,178,156,255, 74, 78,151, 38,117, 65,224, 51, 24,231, 14,170,214,162,101, 36,208, 24,230, 39, 20, 39, - 61,182,208, 78,195,117,238,146,156,156, 28,208,160, 65,131,116, 0,197, 38,237, 48,183,142, 97,143,209,127,158,211, 28, 70,163, -242, 84,116, 44,204, 28, 8,150,147,229,100, 57, 89, 78,150,147,229,100, 57, 89,206,218, 10,173, 87, 26, 36, 88,176, 96,193,130, - 5, 11, 22, 44, 88,252, 35, 32,170, 81,165,182,152, 4,107,163,108, 79,176,156, 44, 39,203,201,114,178,156, 44, 39,203,249,159, -227,172,137,219,120,251, 87,117,232,240,133,181,155, 53,171,178,156, 44, 39,203,201,114,178,156, 44, 39,203,249, 44,130,229,149, - 6, 23, 44, 88,176, 96,193,130, 5,139, 87, 6,221, 26, 66,194,165, 64,254,254,200,170, 32,170, 26,209, 51, 8,190, 0,240,188, -248,254,163,144, 0,232,109,244,255, 48,244,145,241,172,208,122,117, 17, 12, 96, 38, 0,227,185,200,174, 0, 88, 98, 82,110, 7, - 0,227, 9, 9,101, 40,159, 39,240,161, 45,149,145, 36,185,164, 83,167, 78, 95,156, 63,127,254, 7,157, 78, 23, 89,139,246, 6, - 72, 36,146,165, 4, 65,180, 2,192, 35, 8,226, 81, 94, 94,222, 18,157, 78,247, 44, 81, 43,129, 62, 62, 62,223, 1,248, 31, 73, -146, 60,130, 32,146,243,242,242, 22,233,116,186,211,207,192,233,232,237,237,221,158, 97, 24, 31, 0, 28, 30,143,247, 36, 43, 43, -235, 50,106,153, 91, 41,124,126, 18, 95, 42,211,241, 0,192,201,158,171,141,157,223, 68, 99,237, 50,246, 20,103,193,226,191, 13, -166, 60, 50,185, 18,222, 13,194, 98, 70,135, 41, 20, 64,244,168,143, 53,127,164, 98,138,165,237, 9, 51, 81,205,166,156,239, 6, - 97, 49,197,148,115,244, 8,194,247,127, 60, 66,181,145,246,214,112, 26,176, 9, 32, 71, 91, 49, 75, 1, 97, 93,244,245,191, 29, -189, 81,121,168,176, 98,232,176, 90,161, 53,176, 33, 36, 20, 23,220,216, 36, 24,194,120, 29, 1,188,161,127,200, 63, 68,121,174, -162,210,103,108,220,171,194,249,111,195, 92,134, 97,134, 84, 58, 89,205,228, 33,122,231,157,119,222, 63,118,236,152,157, 97,190, - 59,154,166, 33, 22,139,117, 0, 70,216, 80,151,215,192,129, 3,103,108,217,178, 5, 3, 6, 12,152, 29, 23, 23,183, 18, 64,153, -181, 27,187,186,186,134,187,184,184, 68,109,222,188,217,179, 93,187,183, 8,129, 64,128, 71,143,146,253,198,140, 25,211,236,238, -221,187, 7,243,243,243, 71,217,218,121, 55, 55,183,161, 46, 46, 46, 43, 54,110,220,232,209,161, 67, 7, 16, 4,129,132,132, 4, -191,137, 19, 39,190,145,145,145,177, 43, 47, 47,239, 75, 91, 57,221,221,221, 27, 58, 59, 59,119,249,241,199, 31,197,237,219,183, -135, 72, 36, 66, 98, 98,162,195,231,159,127,238,147,149,149,149,148,151,151,119,198, 86,145,117, 51,225, 80, 63,157, 70,181, 12, - 0,184,124,225,180,118, 43,226, 15,221, 60,117,168,111, 77,203,194,231, 39, 29, 96,197, 22, 11, 22, 44,140, 49,180, 14,124, 24, - 6, 83,143,253, 52,135, 4,128, 30, 35, 23,142, 31, 90, 7, 63,252,146,109,121, 14, 91, 27,249,166, 12,247, 69, 84,116, 22,242, -158,165,157,155, 0,114, 34,151, 59,254,205,182,109, 61,190,186,112, 33, 89, 3,252,252, 31, 57, 68,102,135, 57, 45, 10,173,254, - 77, 16,169, 43,183,152, 16, 61, 27, 96,215,241, 84,206,185,119,222,121,167,193,167,159,126, 74,180,108,217, 18, 9, 9, 9, 13, -119,237,218,213,251,240,225,195,201, 20, 69, 37, 0,184, 13,235,179, 90,243, 0,132,114, 56,156, 86,255,114,206,127, 51,236,245, -226, 42, 15,127, 39, 58,173,146,240,244,228,201,147,191,113,185, 92,131, 69,235, 77,153, 76,230,109, 98, 5,179, 6,245,180, 90, - 45,238,221,187, 7,146, 36,121, 0,234,163,234,148, 26,150,224,103,103,103,183, 46,254, 74,130, 59,193, 21,163, 72, 9, 64,169, -129,192,193, 27, 91,182,197,184, 77,158,240,101,255,211,167, 79,159, 43, 45, 45,221,110, 67,123,234,219,219,219,175,188,113,227, -134,187,157,157, 29,104,154, 70,105,105, 41,124,124,124,176,121,243,102,151,201,147, 39, 15,145, 74,165,167,149, 74,229,175,182, -136,115,103,103,231, 46,183,110,221, 18, 27, 38,148, 86,171,213,240,243,243,195,142, 29, 59,132,227,199,143,111, 82, 92, 92,156, -169, 86,171, 83,172, 37,148,202,116, 60,157, 70,181, 44,122,237,252,186, 0, 48,252,203,249,203, 4,165, 78, 71,172, 89, 38,149, -233, 14, 3, 96,133, 22,139, 23,141, 86, 30, 30, 30,177,133,133,133,103, 0,140,194,243,177, 52, 52, 20,137, 68, 45,104,154,246, - 33, 73, 18, 28, 14, 39, 87, 38,147,221, 0,240,160,182,132,238, 65,157,251, 66,104,247, 9, 24,250, 13, 18, 0, 65,146,137,148, - 70,190,237,201,131,211,135,158,137, 83, 32, 30, 9, 48,111,144, 0, 77,144,228, 13, 90, 39,223, 92,120,239,244,209,127,203,193, -185, 84,130, 70, 65, 62,214, 79,140,249, 60,248, 6, 5, 66, 66,210, 32,119,164, 89, 63,172, 56, 14,232, 53, 97,194, 4,159, 47, -191,248,130,248,100,196,136,224, 51,231,207, 19, 97,182,204, 86,240,106,194,162,227,187, 89,161, 21,222, 4,174, 12, 48,125, 87, -212, 76,146,203,225, 16,131, 39, 44, 25,178,117,237,247,100,247,190, 17, 21,195, 39, 29, 59,118, 68,199,142, 29,137,101,203,150, - 5,255,249,231,159,193, 59,118,236,208,197,199,199,223, 0,176,219, 82,101,239, 6, 65, 65, 3, 34, 62,143, 43, 27, 60,103,251, -198,182,109,219,254,159,189,243, 14,139,226,106,219,248, 61,219,251, 46, 11, 11, 75, 71, 84, 58, 54,136, 98, 87, 44,216, 80, 44, -137, 93, 99,124,237, 45,209, 68, 99, 98, 52, 38,182,216, 98, 84,140, 26,107,236,250, 26,123, 47,177, 87, 80, 64,197, 74,103, 89, -154,244,178,253,124,127, 0,126, 72, 40, 11,152,215,148,249, 93,215, 92, 11,103,103,238, 61,211,206,220,243,156, 6, 30,143,135, -250,104, 2, 64,247,198,140, 24,182,101,195,136, 97,211,230,199,183,110,221,150,188, 11,205,191, 17,119,129, 55,147, 90,203,157, -156,156,218, 25, 12, 6, 62, 0,176, 88,172,226,196,196,196,105, 40,153, 27, 16, 0,142,154, 76,166,126,181,208,102, 0, 88,208, -175, 95,191,121, 83,167, 78,133,179,179, 51,166, 79,159, 14,189, 94, 31,118,250,244,233,249, 0,150,161,134,155,199,198,198,102, -254,134, 13, 27, 44, 89, 92, 17,252,230,196, 34, 37,219, 0, 0, 16,243,128, 99,147, 8,166, 79,159, 46,189,127,255,254,162,218, - 24, 45, 27, 27,155,239,126,249,229, 23, 75,161, 80, 8, 66,200,155,185, 24,243,243,243,145,159,159,143, 41, 83,166, 72,159, 60, -121,242, 67,109,140,150, 82,169,108,183,126,253,122, 1,159,207, 71,126,126, 62, 71,167,211, 81,121,121,121, 40, 44, 44, 36, 90, -173, 86, 55,109,218, 52,222,163, 71,143, 58,167,164,164,196,128,230,175, 2, 19,192, 0, 54,155, 61,176,113,227,198, 31,188,120, -241,226,129,193, 96, 56, 12,224,240, 59,120,153,234,106,111,111,191, 88,165, 82,173, 7,176,235,223,114, 64,149, 74,229,225,155, - 55,111, 58,109,216,176,225,227, 85,171, 86,157, 2,240,223,122,200,113, 56, 28,206,160, 78,157, 58, 57,141, 30, 61,154,171, 84, - 42,161,209,104, 16, 27, 27, 43, 61,112,224,128,203,195,135, 15,147, 74,103,196, 48,251,133,194,202,189,173, 24, 44,233,190, 54, -109,219,181, 31, 60,104,128, 68,105, 37, 67,145,214,136, 23,241, 41,206,103, 78, 29,235, 20,205, 17,220,212,233,114,134,102, 62, -191,153, 95, 91,205,192,192,174,237,187,117,237, 42,145, 89,200,144, 83,160,195,171,184,100,151,203,231,143,119, 96,177, 4, 87, - 77,148,126,100, 90,212,249,194,247,121,110,166, 3,172, 2,190, 85,179,230,109,253,238, 7,141, 93,244, 1, 33, 4, 12,130,181, - 21,163, 89,211, 1,214,218,146,105,191,106,165, 7, 66, 8, 69, 97,101,249,104, 86,143, 70, 88, 76, 8, 62, 7, 3, 84,143, 26, -170, 41,203, 8, 2,120, 22,150,150, 1, 19,199,143,167,242,114,115,241,240,225,195,194,138, 38,235, 71, 7,112,174, 50,208,224, -104, 98,221,205,246, 95, 52,154, 85,105,213,161,217,227,104, 9,133,194, 74,211,101, 50, 25, 2, 3, 3,177,116,233, 82, 22, 0, -255, 10, 95,191, 61,201, 42,192, 59,177,113, 46,100, 34, 30,195,217,217, 89, 34,149, 74,235,173, 9, 0, 32, 38,215,182,206,164, -215,189, 95,191,250,248,194,158,213,190, 5,121,217,236,138,171,136,197, 98,120,120,120, 96,222,188,121,230,105,214,159,255,169, -166,173,173,173,103,135, 14, 29,252, 47, 93,185, 98,161, 82,169,120, 42,149,138,119,238,210, 37,139, 54,109,218,248,219,218,218, -122,190, 57, 84,132,212, 38,159,223,135,134,134,206, 63,122,244, 40,163, 67,135, 14,144,203,229, 8, 12, 12,196,169, 83,167, 88, -171, 86,173, 90, 2, 96, 94, 77,249,100, 48, 24,237, 59,116,232, 64,129, 16,168,115, 12,184,179,212, 19, 15, 87,122, 33,175,152, -224,117, 78, 46,138,138,138, 33, 20, 10,249, 40,169,238, 53,119,223,219,182,105,211,134, 2,240,198, 92,229,229,149, 44,249,249, - 5,208,106,117,224,241,120, 18, 0,124,115, 53, 9, 33,182,237,218,181, 3, 0,232,116,186, 55,111,120,217,217,217, 84, 78, 78, - 14,180, 90, 45,216,108, 54, 7, 53,183,107,124,163, 41, 21,177,244, 44, 14,111,246,232, 41,223, 38,142,158,242,109, 34,139,195, -155,173,149,228, 26,205, 73,147,138, 88,250,247,124,125, 90, 51, 24,140,109,141, 26, 53,122,194, 96, 48,118, 2,176,173,167,102, - 75, 0, 75, 4, 2,193, 5, 47, 47,175, 68,161, 80,120,169,212,168,183,169,163, 38, 87, 40, 20, 94, 90,178,100,201,193, 7, 15, - 30, 12,190,120,241,162,107,100,100,228,160,229,203,151,239, 19,139,197,215,240,118,187,196, 90,223,155,174,174,174, 91,239,220, -185,211,178,109,219,182, 91, 0,240,222,209,253,206, 4,208, 2,102,205,200,241, 94,206,187,189,159,159,159, 19,159,207, 71,183, -110,221, 0,160,115,125, 52, 57, 28,206,160,121,243,230, 53,250,230,155,111,184, 41, 41, 41,184,116,233, 18,238,222,189, 11,131, -193,128, 73,147, 38,241, 70,143, 30,221, 80, 34,145, 12,170, 85, 62, 89,210,125, 51, 62,253,172,231, 23,211,199, 73, 34, 18,116, -216,126, 33, 1, 71,110,165, 32,173,144,139,190,131, 70,203,122,132, 12,233,193,229,201,246,213, 86,243,203, 57,115,122,142,255, -100,184,228,113,138, 9,199,110,171,113,251,105, 14, 12,108, 11,244, 30,244, 31,121,243,118, 61,251,176,192,222,241,190,207,209, - 47, 64,235, 25, 51,102, 88,207, 94,185,251,134,125,203, 1,107,211,179,208,161,188,241,113, 7, 44, 44, 69,162, 1, 79, 59,117, - 26, 39, 40,153, 47,182, 90,205,183,244,252, 67,214,165,101,161, 99,249,246, 89, 29, 45,225, 86, 90,173,200, 60,183,237, 27, 6, -161, 48,125,132,253, 91,229, 64,165,249,252, 29, 24, 60,227,179,207,216, 50,185, 28,161,161,161,208, 20, 20,188,213,102,182,171, - 19,122, 94, 16,178,146, 26,122, 57, 62, 9,116,161,174,253, 3,223, 87,198, 87, 25,209, 58,113,226, 4, 9, 14, 14,166, 0,224, -208, 19,100, 13,242,198, 15, 67,166, 46,153, 71, 49, 40,210,192,183,237, 99,135, 70, 62, 5, 86, 86, 86, 40, 44, 44,132, 70,163, - 1,135,195, 65,113,113, 49, 18, 18, 18,112,251,246,109,200,229,242, 90,229, 36, 55, 55, 23, 98,177, 24, 98,177,248,157,104,206, -253,184, 27,239, 85, 98, 58,239,236,237,223, 59,253, 52,249,191,173, 27,181,232, 28,217,117,200,244, 40,169,181,125,113,100,100, - 36,110,222,188,137,172,172, 44, 4, 4, 4,252, 83, 78,230,221,210, 54, 89,119, 1,200, 27, 55,110,236,120,246,194, 85,121,126, -177, 73, 26,151,170,103,155, 76, 38, 8,133,118,134,253,135,142,229, 12, 30,212,151, 82,171,213,105, 0,238,150,154,219,154,230, - 84,228, 3,240,252,240,195, 15,191,156, 60,121, 50, 94,190,124,137,113,227,198, 21,221,189,123, 55,179,109,219,182, 86,191,252, -242,139, 96,230,204,153,184,114,229,202,130, 19, 39, 78,252, 6, 32, 22, 64,165,115,181, 17, 66, 56, 28, 14, 7,134, 82,219,160, - 51,154,222,248,251,220,220, 92,144,162, 44,112, 56, 28, 38, 0,107,152,217,142,206,100, 50,113,216,108,246, 27,147,149,144,154, -139,132,180, 66,228,230,107, 81, 84,100,128,182,136,128, 41,180, 98, 1,113, 74, 0,113,230, 70, 71,248,124, 62, 12, 6, 3,242, -242, 74,178, 81, 22, 41,211,106,181,200,201,201, 1,147,201, 20, 3,144, 2,120,109,142, 96,105, 35,247, 35,165,213,128,184,183, -187,159,226,197,201,185,111,165, 73, 69, 44,253,161,153,222, 76, 43,199,230,215, 91, 12,222,225,245, 38,237,253,182,207,226, 89, - 91, 91, 95, 62,120,240,160,183,155,155, 27, 98, 99, 99,189, 62,250,232,163,128,148,148,148, 22,168,253,156,140, 66, 6,131,241, -195,232,209,163, 39, 15, 27, 54,140,114,119,119, 7,139,197,130,193, 96,112,124,249,242,101,224,129, 3, 7,230,108,221,186,245, - 23,163,209, 56, 11,230,183,251, 99,112,185,220,253,155, 54,109,234, 24, 16, 16,128,157, 59,119,226,238,221,187,166,150, 45, 91, - 50, 70,141, 26, 5, 23, 23,151,128, 81,163, 70, 29,209,104, 52,189,235, 24,217,114,105,211,166,141, 19,147,201, 68,219,182,109, - 57, 55,111,222,244, 3,112,179,158,199, 84,236,232,232,120,165,115,231,206, 45, 46, 92,184, 16,174, 86,171, 59,215, 98,127, 1, - 32,196,222,222,126,185, 76, 38,147,215,162,140, 45, 76, 78, 78,254, 28,192, 33, 51, 55,105,237,239,239,143,248,248,120,120,122, -122,130,195,225,180,209,233,116, 19, 0,244, 4,240, 53,128, 39,181,200,175,123,215,174, 93,157, 58,119,238, 76, 29, 58,116,232, - 77,251, 80, 6,131, 1,131,193, 0, 14,135,131,214,173, 91, 51,194,194,194, 28,238,221,187,231, 14, 51,170, 17,173, 26,117,238, -219,182,125,167,246, 29, 3,154, 49, 86, 29,122, 1,163,201, 8, 38,101, 0,139, 50,193,164,231,129,199, 97,194,221,247, 3,230, -211, 71, 17, 1, 90,141,174,111,230,243, 11,199,205,209,236, 25,212,189,131,183,167, 59,227,167, 35,175,144,157,252,196,152, 28, -125, 53,131,193,100,192,219,191,139,194,221,167, 5,179, 69, 64,103,182, 42,246, 81, 96,113,113,199,110, 89, 47,175, 94,120, 31, - 55,228, 66,128,233,232,160, 24, 16,220,189, 51, 39, 69,165, 42, 56,112,232,120, 84,161, 30,183, 1,224, 10, 64,245, 6,154, 53, -109,213,170,211, 47,203,150, 89,217,217,217,177, 71, 14, 27,102,216, 28, 30, 30,142, 42,170,126, 23, 2, 76,133,173,109,183,137, - 19, 39, 50, 83, 84, 42,114,224,240,201,200, 50, 61,148,188,165, 52,109,230,232, 21,140,130,167,181,170,166,236, 11,112,149,182, -182,222, 19, 38, 76,128, 90,165,194,206, 93,187,242,139,129, 91,101, 81,172, 99, 76,172,247,105,100, 59,102,246,127,250, 81, 78, -118, 10, 76, 92,176,185, 77,160, 46,173, 17, 82,254,255,252,151,247, 34,127, 99,147, 53,190, 82,163, 85,145,255, 62,193,124, 9, - 7,174, 7, 14,236,101,164,231,233, 10, 94,190,124, 9,133, 66, 1, 59, 59, 59,200,100, 50, 60,126,252, 24,151, 46, 93,194,179, -103,207, 96, 50,153,208,188,121,243, 90,229, 38, 35, 35, 3, 17, 17, 17,144,203,229,239, 76,179,145,147, 53,166, 58, 89,115, 82, - 51,115, 57, 23,238, 62, 11,216, 60,119,144, 15,195,107,208,214,242,147,196,106,181, 90,252, 67,120,211,187,208,201,201,169,221, -246,237,219, 57, 26, 3, 36,238, 19,110,173, 40, 40, 54,138, 0, 64,196,103, 22,132, 45,247,152,245,253,247,223, 23,124,242,201, - 39, 94,137,137,137, 75,205,136,245, 47,238,218,181,235, 23,132, 16,246,140, 25, 51, 0, 0,163, 71,143,206,189,125,251,182, 59, -128,180, 75,151, 46,217,143, 29, 59,246,249,229,203,151,133,159,125,246, 25,211, 96, 48, 60,102,177, 88,228,196,137, 19,223, 1, -248,246, 15, 79, 68, 6,227,126,120,120,120, 3,123, 23, 15,184, 88, 49,208, 97,222,179,146, 2, 78,104, 66, 82,220, 43, 68, 71, -222,133,173,173,173,204,206,206,238, 73, 82, 82,146, 46, 57, 57,121, 78, 65, 65,193,134, 26,242,248, 48, 44, 44,204,206,197,197, - 5,249,249,249, 72, 74, 47,196,244,195, 66,228, 22,149, 4, 49,216, 40, 66, 11, 39, 15,137,128,161,189,155,150,150,166,211,106, -181,223,228,228,228,108,175, 78,147,205,102,103, 70, 70, 70,138,157,157,157, 81, 92, 92, 76, 94,191,126, 77, 21, 20, 20, 32, 47, - 47,143, 58,121,242,100,255,148,148,148,150,174,174,174,148,163,163,227,119, 41, 41, 41, 69,201,201,201,227,204,169,154, 44, 53, - 76, 70, 22,139,181,106,252,248,241,131,127,251,237,183,251,135,190,245, 14, 41, 87, 93, 34,243,245,245, 61,219,172,153,143,253, -174,149, 77,215, 2, 88,241, 23,184,182,198,124,245,213, 87,222,150,150,150,152, 56,113, 34, 22, 46, 92,136,249,243,231,187, 77, -156, 56,113, 60,128, 31,107,161, 35,176,181,181,189,247,211, 79, 63,121,181,107,215, 14,167, 78,157,194,222,189,123, 17, 19, 19, - 99,112,117,117,101, 5, 4, 4, 96,193,130, 5,232,209,163,199,184,105,211,166,117, 82,169, 84,126,102,154,143, 79, 22, 44, 88, - 16,210,190,125,123,124,252,241,199,154,223,127,255,125, 48,128,115,231,207,159,239,114,229,202,149, 67,187,119,239, 22, 44, 89, -178,164,219,204,153, 51, 39, 2, 88, 87,135,253,239,223,177, 99,201, 28,202,237,219,183,199,242,229,203,123,212,211,104,113,173, -172,172, 78,238,220,185,179,133,135,135, 7, 70,142, 28,233, 55,120,240,224,147, 89, 89, 89,221, 1,152, 85, 32, 57, 56, 56,252, -112,244,232,209,198, 85,213, 44, 84,134, 70,163,177, 28, 48, 96,192,178,184,184,184, 90, 25,173, 61,123,246,224,243,207, 63, 71, -243,230,205,155,181,110,221,122,227,132, 9, 19,240,225,135, 31,118,125,252,248,177, 18, 37,189,150,107,132,207,231, 55, 27, 58, -116, 40,247,206,157, 59, 0, 0, 95, 95, 95,180,104,209, 2,155,104,178,222, 0, 0, 32, 0, 73, 68, 65, 84,241,241,241,184,127, -255, 62, 52, 26, 13,148, 74, 37, 6, 14, 28,200,143,139,139,107,150,145,145, 81,163,209, 98,240,132, 99, 66,130,123, 75,142,221, - 78,129,209,100,192, 7,141,165, 8,240,178,193,211,164, 92,132, 61, 73,130, 81,203,129,212,210, 10,109, 58, 5, 89,170,147, 99, -198,100, 2, 53,183,215,226, 9,199, 12, 12,233, 35, 62,118, 75,133,108, 85, 52,121,113,247,183, 75,250,226,130,113, 0,112,255, -226,190,141,182, 86,130,238,238,254, 31, 48, 59,119,239, 39, 63,188, 87, 61, 38,235,127, 51,183,223, 31,184,226,132, 77, 46,236, -140,209,179,135,119, 32,108,185,227, 93,137, 94,191,190,236,187, 30, 64,208,156,175,190,106,253,159,241,227,249, 38,147, 9,187, -127,253, 53, 55, 34, 60,252,233,120,192, 52,161, 10,189,245,128,203,224,144, 16,158, 68, 42,197,167,211,167, 67,162,215, 95,126, -115, 72,128,174,159,126,241, 69,187, 41, 83,166, 8, 54,126, 55,249,126,143,177,139,252, 77,132, 80,101,213,148,123,170, 15,197, -181, 28, 27, 18, 2,137, 84,138, 25, 51,102,128,210,233,206,190, 49, 80, 44, 92,254,164,127,135,128,225,125,219,131, 2,133,189, - 39,174,227, 69,124,122,228,229, 20,188,250,187,186,170, 10, 84,217, 70,171,218,170,195, 60, 29, 82,187,246, 25,148,226,238,238, -158,231,230,230,150,151,153,153,137,168,168, 40,100,101,101, 97,221,186,117,136,142,142,134,201,100,170,179,129, 49,153, 76,120, -215,154, 0,160,180,146, 98,100,239, 86, 44, 77,113, 1, 63, 61, 61,253,173,234,163,127,144,209,122,131,193, 96,224,187,186,186, -130, 1, 80, 57,133,122,177,122, 79, 71, 74,189,167, 35,149, 83,168, 23,107,181, 90,134, 88, 44,134, 70,163,225,155, 33,197,238, -213,171,215, 23,191,253,246, 27,123,241,226,197,104,210,164, 9,116, 58, 29,110,223,190,157, 4, 32,173,116, 29,213,213,171, 87, - 85,101, 70,120,233,210,165, 56,124,248, 48,213,173, 91,183, 57,149, 93, 79, 41, 41, 41, 63, 76,152, 48,225,117, 97,222,107,108, - 26, 82,132, 67, 35,211,177, 45, 36, 6,195,172, 14,226,117,106, 2, 54,111,222,140,243,231, 47, 80,231,206,157,231,252,254,251, -239,162, 62,125,250,172,117,112,112, 56, 81, 93, 38, 85, 42,213,226, 41, 83,166,100,231,229,229, 33, 47, 47, 15, 69, 69,197,120, - 93, 0, 68,174,246, 70,228,106,111, 20,155, 4, 8, 93,191,129, 17, 25, 25,169,136,137,137,177,239,219,183,239,106, 59, 59,187, -173,213,105, 38, 39, 39,223,153, 58,117,106,113,110,110, 46,180, 90,173,206,104, 52,106,139,138,138,244,251,246,237,251,204,202, -202,170,205,169, 83,167,216,231,207, 95, 96,253,254,251, 21,206,165, 75,151,100,129,129,129,251,149, 74,229, 14,115, 34,101, 76, - 38,115,205,174, 93,187,198,132,134,134, 42, 3, 2, 2,124, 42, 84, 69,217,117,239,222,189,193,175,191,254,234,176,124,249,242, - 57, 40,233,128,242, 94, 81, 40, 20,211, 66, 66, 66, 16, 26, 26,138,227,199,143,207, 92,187,118, 45,122,245,234, 5,123,123,251, -169, 48,191,218, 11, 0, 86,252,248,227,143, 94, 94, 94, 94, 24, 61,122,180,118,220,184,113,179,182,111,223,238,122,237,218, 53, -206,142, 29, 59, 26, 76,156, 56,113,198,240,225,195,139, 27, 54,108,136,117,235,214, 53,102, 48, 24,107,204,186,191,149,202,207, -134, 13, 27,134,149, 43, 87,226,247,223,127, 31,132,146, 7,170, 22,192,233, 27, 55,110,244, 93,178,100, 9, 6, 13, 26, 4, 71, - 71,199, 25,117,137, 60,121,123,123,127,211,179,103, 79, 92,187,118, 13,126,126,126,104,211,166,205, 76, 0,138, 58, 30, 78,134, - 88, 44,222,191,125,251,246, 14, 13, 26, 52,192,162, 69,139,208,168, 81, 35,108,221,186,181,131, 72, 36,218, 15, 51,155,111,200, -100, 50,177, 80, 40,196,156, 57,115,200,160, 65,131, 94,215,180,204,156, 57,147,240,120, 60,200,229,114,115, 59,190, 8,248,124, -126,219, 38, 77,154,224,246,237,219, 56,127,254, 60,230,205,155,135,207, 62,251, 12,233,233,233, 24, 58,116,168, 16,192,135,181, -216,111, 27,107,107,107,228,230,150,204, 11,223,164, 73, 19, 60,120,240, 0,233,233,233,112,116,116,132, 90,173,134,149,149, 21, - 60, 60, 60, 96, 50,153,108,204,147, 36, 77, 20,150, 50,164,101,105,192,130, 1,254,238, 10, 92,142,202, 68, 66,186, 22, 54, 86, - 22, 80,167,165,195,193,138, 15, 39, 39,103, 16, 98,106, 98,150, 3,102, 50,252,121,124, 1, 94,231,233,144,252,228,247, 76,157, - 81, 51, 33, 59,246, 70, 98,118,236,141, 68,157,166,120,194,253,235,231, 51, 27, 40, 5,112,114,114, 2, 69, 76,173,222,199,253, -248,145, 51,156, 68, 2,214,232,243,219,190,161, 78,252, 50,151,210,100, 38,180,236,169, 44,137, 44, 91, 3,174, 31, 13, 29,218, -118,214,172, 89,252,212,212, 84,211,240, 33, 67, 94, 47,254,246,219, 11,103,106,120, 49,200, 7,220,186,119,239, 14, 6,128, 51, -231,206, 21,168,129, 36, 0, 80, 2, 78,253, 6, 12,232,248,213,151, 95, 10, 50, 50, 51, 77,183, 95,230, 31,139, 78, 35, 3, 45, -141,112, 53,167,125,150, 17,104, 90,166,123,246,236, 89, 82, 4,220, 7,128,206, 78,152, 26,212,206, 55, 96, 84, 72, 71,164,164, -101, 97,198,226,109,216,120,224,202, 89,153,158,116,249, 7, 61,138,199,215,201,104,149, 86,253,252, 33,173,176,240,143,181, 7, -245, 53, 48,127,134,102,101,252, 19,141, 86, 25,122,125, 73, 45,137, 86,111,130, 86,111, 42,123,171, 69, 81, 81,145,217, 18,103, -207,158,221, 57,125,250,116,172, 94,189, 26,207,159, 63, 7,135,195, 65,147, 38, 77,236, 0,136,203,202,124,127,127,127, 27, 6, -131,129,167, 79,159, 98,213,170, 85,248,228,147, 79,200,205,155, 55,183,162,242,241, 82, 30,188,126,253,122,253,132,113,159,100, -103,165, 38, 64, 95,148,133,180,228, 87,208, 20,100, 99,209,210, 31, 80,168,103, 65,157,163,131, 58, 71, 7, 6,207, 18, 27,127, -217,206,244,246,246,238,201,100, 50,131,171,201,231,237,212,212,212, 95, 38, 77,154,148,173, 86,171,223,236,159, 86, 79,160,213, -191,125,189, 10,133, 66,172, 89,179, 70,230,238,238, 30,194, 98,177, 2,171,209, 76, 73, 76, 76,140,158, 52,105,146, 54, 53, 53, - 21, 57, 57, 57, 56,118,236, 88,223, 6, 13, 26,200,151,173, 88, 77, 21,232, 88, 80,103,235,160,206,214,129, 43,182,193,254, 67, -191, 49, 61, 60, 60,134,179, 88,172, 54, 53,153,172,221,187,119,143, 26, 50,100,136,100,197,138, 21,175,143, 30, 61, 26, 10,160, -252, 9,121,186,102,205,154, 3,251,247,239,207,251,226,139, 47, 44,151, 47, 95, 62,243, 61,155,173,192, 33, 67,134,120,154, 76, - 38, 28, 60,120, 48, 18,192,143,191,253,246,219, 61,141, 70,131,161, 67,135,186,150, 86, 35,153, 67,203,225,195,135, 79,238,208, -161, 3, 62,253,244, 83,221,133, 11, 23,252, 1,172, 70, 73, 85, 46, 1, 16, 15, 96,237,149, 43, 87,154, 79,155, 54, 77,211,170, - 85, 43,124,252,241,199,159, 0,232, 80,131,110,219, 97,195,134,121,153, 76, 38,236,219,183, 47, 2,192,169, 10,223, 95, 58,116, -232,208,109,173, 86,139, 17, 35, 70, 52, 4, 80,155,130,156,195,227,241, 14,126,255,253,247, 22,201,201,201, 24, 53,106,148,230, -233,211,167,248,246,219,111, 5, 50,153,236, 84,185,123,192,108,120, 60,222,230,159,127,254, 57,164,105,211,166,152, 52,105,146, -118,195,134, 13,211, 39, 79,158,172,245,247,247, 71,104,104,104, 8,151,203,173,213, 20, 29, 42,149, 42,251,201,147, 39, 86, 53, - 45, 73, 73, 73,230,118,207, 23,138,197,226, 91,190,190,190,185, 77,154, 52,249,192, 96, 48,224,241,227,199,175,118,238,220,105, -106,210,164, 9,214,175, 95,143,229,203,151, 35, 56, 56, 24, 76, 38,211,108,163,197,100, 50,161,211,233, 32, 20, 10,193, 98,177, -240,234,213,171,178,161,101,192,225,112, 0, 0, 34,145, 8, 2,129, 0, 12, 6,195,172,222,104, 20, 5,146, 91,168, 7,155,205, - 0,139, 97, 66,116,124, 14,116,122, 19,248, 28, 38,216, 44, 10, 32, 38, 88,136,216,224,115,153, 96, 80,148,201, 76, 77,228, 20, -232,192,229, 48,192,230,112, 41,134,193, 40,120,243,112,100, 25, 5, 2, 1,151, 82, 72,121,224,115,254, 66,211, 2, 83, 37, 13, -203,199, 0,108,145,179,243,224,149,171, 86,113,115,243,243, 49,104,208,160,215,113,247,238,237, 42, 2,238,117,170,161,147, 18, -131,197,114,239,220,169, 19,194,194,195,145,151,149,245, 2, 40,105, 28,207,181,183, 31,178,102,205, 26,110, 81,113, 49, 6, 13, - 28,152,253,252,250,245,221,137,249, 56,177, 47,190,196,136,213,120,222, 57, 28,219, 50,221,156,172,172, 44,160,100, 8, 9,165, -181,120,217,148,225, 61,144, 87, 88,140,217, 63,236, 50,133, 71,167, 76,189,150,132, 62,191,169,144,243, 15,123, 12,143,175,176, - 0, 48, 99,192,210,178,232, 82, 77,102, 69,163,209,188,115, 3, 84, 95,205,202, 76, 98,125, 53,255,138,176, 88,172,226,103,207, -158,113,165, 86,246, 38, 43, 9, 59,171,193, 39,215,101, 0, 96, 41,102,229,232,140,122,147, 74,165, 2,143,199, 43, 54,179,186, - 97,220,230,205,155, 23, 1,240, 97,177, 88, 39,182,111,223, 78,237,218,181, 75, 62,108,216,176,151, 79,158, 60, 73,246,245,245, -117,217,190,125,187, 20, 0,214,174, 93, 75,246,239,223,223, 3, 37, 67,102, 84, 57,142, 75,106,106,234,183,153,153,153, 55,167, - 76,153,178,142,203,229,202, 69, 34,145,213,181,107,215,168, 98, 29, 65,203,175,226,223,244, 68,148, 10, 24,184, 58, 87,138,241, -227,199, 51,159, 60,121,178, 52, 57, 57,249, 68, 53,154,115,178,179,179,175, 61,127,254,124,181,204,177,133,181,200,229, 43, 89, -192,220,167, 0, 0, 23, 5, 27,140,210,114, 49, 59, 59, 27,233,233,233,152, 60,121,178,252,229,203,151,115,146,147,147, 47, 87, - 19,213,186,146,145,145,145,244,232,209,163,206,108, 54,155, 43, 18,137, 90,222,186,117,139, 42,214,154,208,108, 78, 60, 94,231, -151,228,211, 82,204,194,253,239,149,152, 58,117, 42,235,197,139, 23, 63,164,164,164,180,175,180, 48, 99, 48,150,151, 55, 89,179, -103,207,126, 8,160, 33,128,183,170, 70,141, 70, 35, 53, 98,196,136, 40, 0, 77,190,248,226, 11, 75, 66,200,204, 57,115,230,188, - 6,176,233,127,125, 45, 73,165,210,101, 19, 38, 76,192,254,253,251,145,149,149,181, 6, 0,114,115,115,127,220,179,103,207,190, -113,227,198,225,215, 95,127, 93,150,158,158,126, 6, 53,119,213,238, 53,116,232, 80,156, 62,125, 26, 23, 47, 94,252, 6,192,227, - 42,214,123,126,237,218,181, 57, 71,143, 30,253,105,216,176, 97,216,182,109, 91, 79, 0,213, 53,144,237,222,163, 71, 15,156, 58, -117, 10,153,153,153,161,149,173,144,157,157,189,225,216,177, 99,173,123,244,232,129,165, 75,151,118, 7,112,201,140, 93,247,146, -201,100,219,127,250,233,167,150, 77,155, 54,197,240,225,195,139,117, 58, 93,207, 47,190,248,226,248,222,189,123, 37, 59,119,238, -252, 96,252,248,241,119, 74,199,124,187,109, 86, 40,139,193, 88,178,106,213,170,177,157, 59,119,198,204,153, 51, 13,103,207,158, -237, 7,224,220,153, 51,103, 94,206,158, 61,251,228,170, 85,171,152, 43, 87,174, 28, 59, 99,198,140,116,147,201,244,190,204,245, -247,107,215,174,109, 29, 20, 20,132, 87,175, 94,225,246,237,219,208,233,116,191,222,186,117,235,170,155,155,219,247, 90,173,246, -184, 72, 36, 26, 45,145, 72,124, 91,180,104,209,229,254,253,251, 66,152,215, 78, 47, 53, 54, 54,214, 66, 38,147,193, 96, 48, 32, - 50, 50, 18,206,206,206,208,233,116,136,137,137, 65,211,166, 77,193,225,112,144,154,154,138,114,209,242, 26, 76, 17, 35,242,101, -156,170,161,165, 68, 4, 24,249,120,240, 52, 9,214, 10, 57,140, 20, 3,106,117, 10, 90,120, 58,130,162, 40,100,103,170, 65, 81, - 84,148, 57,154, 70, 98, 10, 75, 80,165, 57, 88, 73,120,104,218, 58,200,234,214,153,244, 93,210,134,237,198,179,152, 20,147,203, - 19,111, 26,251,241,199, 10,147,137, 32, 59, 51, 21, 44, 6,227,238,251, 56, 65, 7, 19,144,216,169, 17,255, 65,208,216, 69, 45, - 40, 2, 82,164,195,206,109,169,200, 18, 2, 45,214,126,253,181,133,149, 66,129,225,195,135,155, 50,147,147, 47, 20,154, 57,176, -114, 67, 55, 55,165, 88, 34,193,141, 27, 55,192, 44,105, 99,139,173,128,215,242,217,179,173,108,108,109,241,201,216,177,166,212, -132,132, 75, 69,128,170, 54,121,109,216,168, 17,187, 76,151, 81,170,155,194,196,244, 47,250,117,224,137, 4, 60, 44,217,248, 27, - 18, 51, 10,246,221, 74,193,198,127,104,188, 99,115,181, 17,173,170, 26,159,149, 52,170, 22, 86,107, 86,248,124,254,155,104, 74, - 45,222,244,222,185,102, 77,252, 25,154,239,145,185, 0,142, 2,152,155,152,152, 24, 61,118,236, 88,157, 65,167,201,187,185,168, -225,151,225, 75, 27, 76,186,245,173,221,164, 35,211,101, 95, 22,230,188,206, 91,187,118,173, 62, 49, 49, 49,186,252, 54, 53,104, - 39, 0, 56,181, 99,199,142, 13, 7, 15, 30, 68,147, 38, 77,240,248,241, 99,155,130,130, 2,191,168,168, 40, 75, 47, 47, 47,236, -218,181, 11,251,247,239, 95, 13,224,124,117, 38,171, 12,131,193,112, 65,173, 86,123,196,199,199, 55,182,176,176,208, 91, 88, 88, -160, 98, 79,196,220, 34, 19, 50,179,115, 96,105,105, 5,169, 84,234,106,134, 57, 63,165, 86,171,221, 77,114,207,142,238, 25,107, -114,194,150, 56, 33,108,137, 19, 78,205,177,135,157, 5, 23, 89, 89, 89, 72, 79, 79, 71,122,122, 58, 40,138,130, 94,175,247, 54, - 67, 51, 38, 37, 37,101, 75, 66, 66,194, 81,165, 82, 9,137, 68, 2, 2, 64,157,173,199,195,149, 94,120,184,210, 11,234,108, 61, -114,243,242,208,160, 65, 3, 72, 36,146,170,170, 40, 24, 14, 14, 14,189,135, 12, 25, 34, 1,128, 82, 3,213,149, 16, 50,169,146, -101,162,193, 96,104, 87,182,238,231,159,127,110, 9,160,199,255,248,122, 98, 2,152, 50,110,220,184, 15,248,124, 62,214,175, 95, - 31, 3, 96,119, 89, 89,191, 97,195,134,167, 0, 48,125,250,116, 95, 0, 51, 81,197, 72,208,111, 66, 67, 28,142,191,183,183, 55, -110,221,186, 5, 0,191,213,240,219,135,110,222,188, 9, 55, 55, 55,240,249,252,150, 53,172,235,234,228,228,132,167, 79,159, 2, -192,131, 42,214,121,240,244,233,211,146,234, 30,138,114, 53, 99,223, 67,130,130,130, 34, 47, 95,190,220,178,109,219,182, 24, 59, -118,172,246,206,157, 59,189, 1, 92,125,240,224, 65,224,136, 17, 35, 10,220,221,221,113,229,202, 21,175, 17, 35, 70,220,100, 48, - 24,139,204,208,252,228,187,239,190,155,219,191,127,127,124,247,221,119,228,192,129, 3,195, 1,156, 43,253,238,236,190,125,251, - 70, 45, 94,188,152, 12, 28, 56, 16, 11, 23, 46,156, 11, 96, 82,117, 98, 5, 5, 5, 57, 70,163, 17, 5, 5, 5,102,133,228,205, - 93, 95,161, 80,244, 10, 10, 10,194,188,121,243,224,224,224,128,227,199,143, 19, 0, 39, 0, 92,211,106,181, 29, 1,172, 42, 40, - 40, 56,114,235,214, 45,116,239,222,157,131,183,167, 24,169,238,247, 35,247,236,217,163,145,201,100,112,113,113, 65,195,134, 13, -161, 86,171, 17, 23, 23,135,166, 77,155,194,223,223, 31, 6,131, 1, 91,182,108, 41,206,203,203, 51,107, 76, 62,131,182, 96,231, -249,147,135,115,172, 36, 60, 56,218,200,208,192,193, 18,249,217, 25, 72, 87,171,224,239,237,140, 78,254, 13,144,145,163,197,217, - 19,135,179,242,242, 10,119,154, 21,194,215, 20,110,191,112,230,120,142, 92,194,129,135,167, 47, 70,140,157,222,162,133, 95,192, -249, 86,173,218,157, 93,177,108, 73,179,174,109,188,169,164,140, 98,156, 62,241, 91, 86, 78,110,238,246,247, 81,208, 47, 4,152, -197, 50,247,171,161, 71,195,182,248,244, 28,183, 37, 58, 9,107, 0, 64,207,100,122,245,238,213, 11, 73, 73, 73, 56,124,240, 96, - 74, 33, 16, 97,174,158, 64, 32, 96, 0, 64, 78, 78, 14,120,165,237,238, 12,128,103,159, 62,125,144,158,145,129, 61,187,119,167, -159, 6,194,107,147,207,190, 0, 87, 40, 40, 9, 8,230,228,228,128, 2,114, 1,128, 98,161,119,171, 38,110, 72,127,157,139,203, -119,163,243, 27, 20, 97,114,117, 58,127,227,134,240,117,107,163, 5, 32, 99,230,204,153,224,241,120,176,179,179,123, 99,142,202, -204, 10,151,203,133,157,157, 29, 12, 6, 3,246,237,219, 7, 0, 25,213,190,225, 1,154,126,147,150,154, 52,122, 82,200,102,179, -223,137,102,233,155,163,102,208,236,109,166, 51, 55, 43,239, 20, 83, 23,205,191, 1,173, 74,199,196,106, 5, 32, 43, 46, 46, 46, -105,240,160,126, 57,241, 47, 31,169, 11,178, 85, 41,185,153,137, 41,137, 49, 81,234,175,230,204,204, 73, 74, 74, 74, 68,201, 88, - 90,173, 84, 42, 85,217, 54,230, 48,115,240,224,193, 63,143, 27, 55,142, 60,124,248, 16, 0, 16, 22, 22,134,143, 63,254,152,140, - 26, 53,106, 13,128, 47,235,144,239,130,162,162,162,183,162, 33, 58,163,233, 77,149, 95,110,110, 46, 84, 42, 21,180, 90,173,217, -142,248,249,217,149,207, 94,199,221,215,251,186,136,224,235, 34,130,151,147, 16,148, 33,255,141,201, 74, 79, 79, 47,123,115, 46, -174, 69, 62,115, 53, 26,205, 91,249, 44, 95, 53,153,155,155, 11,181, 90, 13,163,209, 88,213,131,204,148,156,156,124,118,255,254, -253,121, 0,176, 98,197,138,215, 20, 69, 93,164, 40,234,231, 74,150,141, 44, 22,235, 70,217,186, 43, 87,174,124,141, 63, 86,137, -253,153,244,111,218,180,105,214,220,185,115,215,207,152, 49, 3, 27, 55,110, 68, 74, 74,202,151,248,255,177,120, 76, 25, 25, 25, -179, 67, 67, 67, 49,102,204, 24,204,159, 63,127,165,159,159, 95, 46,128, 17, 85, 9, 90, 91, 91, 59,178, 88, 44,132,135,135,231, - 2,120, 85,195,239,171,195,195,195, 83, 41,138,130,157,157, 93,163,234, 86,180,180,180,108, 44,145, 72,144,156,156, 12,148,190, - 49, 87, 66,156, 74,165, 34, 92, 46, 23,246,246,246,110, 53,237,188, 92, 46,159,189,101,203, 22,214,163, 71,143,208,181,107,215, -164, 43, 87,174,116, 7, 80,214, 37, 61, 60, 44, 44,172, 67, 96, 96,224,179,243,231,207,227,135, 31,126,160,154, 55,111, 62,169, - 38, 77, 23, 23,151,137,159,124,242, 9,214,173, 91,135, 77,155, 54, 77, 2,112,176,194, 42,123, 67, 67, 67,167,111,218,180, 9, - 99,199,142,133,171,171,235,136,234,244,226,227,227,231,116,238,220, 57,236,249,243,231,102,205,120, 96,230,250,129, 1, 1, 1, -141,139,138,138,176,125,251,246, 87,141, 27, 55,190,119,240,224,193,153,248,227, 3,251,200,225,195,135, 49,114,228, 72, 52,111, -222,124, 59,128, 97,230,220,150, 79,158, 60, 73,188,116,233,146,137,195,225,192,197,197, 5,193,193,193, 24, 62,124, 56,154, 53, -107, 6,157, 78,135,195,135, 15,155,162,162,162,146,180, 90,173, 89, 99, 41,101, 62,255,253,120,108,236,179, 27,225,119,174,234, - 89, 76, 6,156,237, 44, 49,160, 91, 11,252,231,195,118,240,247,114, 64,124, 90, 17, 46, 93, 58,175,143,141,125,117,203,156, 30, -135,101,154,209,143, 35,110, 62, 10,191,110, 96,179, 40,120,121,186, 99,222, 87,179,229,139, 23,204,177,112,111,228,140,136,152, - 28,156, 63,119, 90,175, 74, 74,188,252,190,122, 28, 94, 1, 56, 98, 30, 37, 98, 50, 24, 48, 50,120, 5,204,210,142, 52, 77,124, -124, 60,148,182,182, 56,121,242, 36, 24,181,232, 17,122, 5,224,136,197, 37,181,224,249,249,249, 40,211,107,236,233,233,233,236, -226,130, 83, 39, 79,130,105, 50, 61,233, 84,203, 1, 70,159,150, 84, 67,191,209,165,128,226,201, 78,144, 52,118,178,241,148,203, - 68,184, 19,241, 2, 26, 61,185,187, 59, 11,239,117, 60,178, 63,145,241,168, 99,213,225,138,141, 27, 55,182,218,178,101, 75,247, -153, 51,103,138, 71,143, 30, 13, 62,159,143,194,194, 66, 56, 58, 58,194,104, 52,226,204,153, 51,184,127,255,126,190,201,100, 58, -143, 63, 14, 27,208, 13,229,122,105,156,125, 5, 65,137,223, 42,108,117,244,163,143,222,137, 38, 0,136, 95,152,164,153, 13,180, -187,214, 30,188, 62,112,207,217,112,234,211, 97,157, 24,254,158, 78, 0, 0,165, 82, 9,169, 84, 90,107,205,119,192,159,174, 89, -190, 90, 87,173, 86, 63, 85,171,213,105,227,198,141,243, 42,107,248,206,227,241,138, 75, 35, 89, 89,149,109, 99, 70, 62,117, 0, - 38,111,217,178,229, 88, 78, 78,206,217, 47,190,248, 2,139, 23, 47,198,241,227,199, 59, 0,184, 81,199,125, 55,102,101,101,101, -223,189,123, 87,233,230,237,135,134, 54,108,116,252,230, 57, 8, 33,176, 18, 18,228,101,191,198,131, 7,225,200,203,203,187, 83, -155,124,234,116,186,236,180,180, 52,133,141,141, 13, 94,191,126,141,140,140,140, 55, 38, 43, 43, 43, 11,175, 95,191, 38, 20,245, -135, 49, 91,170,211, 44, 72, 75, 75, 43,140,142,142,230, 42,157,220,208,200,134,131,128,175,158, 2,132,192,217,146,129,188,220, -108,220,186,117, 11, 57, 57, 57,191, 87,165,105, 50,153,102,141, 24, 49,130, 9, 96,212, 23, 95,124, 97, 9,160,249,236,217,179, -207,163, 66,207, 66, 22,139,245,227,174, 93,187,154,148, 85, 49,206,153, 51,103, 53,128, 45,255,171,107,201,202,202,106,214,201, -147, 39, 37, 58,157, 14,107,215,174,197,234,213,171,183,226,143, 3, 85,158, 92,191,126,125, 40,131,193,152, 50,117,234, 84, 76, -152, 48, 65,248,193, 7, 31,204, 76, 73, 73,217, 93,153,102,114,114,242, 60,127,127,255,249,105,105,105, 75,204, 50,203,207,159, -143,247,247,247,159,151,150,150,182,188,186,115, 36, 18,137, 68, 70,163, 17,177,177,177, 89, 64,149,237, 59,138, 99, 99, 99,147, -141, 70,163,163, 80, 40,180,172,233,250,204,202,202, 90,242,193, 7, 31,124,155,154,154,122, 14,192,162, 74, 12,249,195,148,148, - 20,223, 25, 51,102, 76, 91,182,108,217, 64,181, 90,189,175, 38,205,248,248,248, 37,129,129,129,223, 60,123,246,108, 7,170,174, - 2, 94,191,112,225, 66,221,174, 93,187, 38,197,198,198, 46,173, 65,243, 68, 70, 70,198,137, 90,156,223,170,214,127,163,201,100, - 50,103, 47, 91,182,140,177,113,227, 70, 16, 66, 86, 26,141,198,170,242, 25,113,228,200,145,157,237,218,181, 27,125,240,224, 65, -190,175,175,239, 4,141, 70,179,183,166,235,179,176,176,240,240,193,131, 7, 7, 70, 68, 68, 56,142, 30, 61,154,239,225,225, 1, -157, 78,135,148,148, 20,108,220,184,177, 56, 42, 42, 42, 41, 59, 59,251,112,109,202, 16,131, 54,119,216,205, 75, 71,247,198, 61, -143,106,211,185,103,136, 92,171,115, 4, 47,147,137,236, 76, 53,206,156, 56,156, 21, 27,251,234, 86, 97, 97,246,176,218,104,234, - 52, 57, 67,111, 93, 62,182, 47, 41, 54,186,117,199,192,222,242, 98,173, 11,120, 28, 6, 50, 83,147,113,230,228,209,215,177,177, - 49,215,138,245,154,143,223, 87, 57,207,116,197, 34,166,250,254,184,137,125, 91, 64, 32,119,124,192, 6,214,182, 3, 4, 10,165, -146, 83,122,239, 64, 92,210,230,209, 44,205, 84,128,235, 86, 90, 75, 85, 88, 88, 8, 54,160, 29, 3,176,173,173,173, 5, 0,240, -236,217, 51, 8, 75,106, 53,106,149,207,124, 64, 36, 44,167,203, 0, 10, 51, 89,112,104, 44, 21, 81, 0,144,164,206,132, 86, 95, -237,115,227,239,206,230,114,134,107,115, 93, 4, 56, 0,186,137,197,226,197,243,231,207, 95,121,231,206,157,149,193,193,193, 43, -121, 60,222,226,210,131,205,169,230, 68,252,207, 52, 91,218,195, 50,176, 17,117, 53,168, 49,101,154,216, 65,110,252, 56, 64,164, -237,210,165, 75,104, 61,243, 89,159,155,229,207,212, 60,170,215,235, 9, 74,170,237,142,162,234, 42,193,185,229,190, 87, 39, 36, - 36,144,210,191,107,147, 79,197,144, 33, 67, 76,121,121,121,100,240,224,193, 4, 53, 79,225, 83,173, 38,143,199, 11,236,216,177, -163, 62, 53,253, 53,121, 26,147, 76,110,135, 61, 38,103, 47,221, 36,251, 14,159, 36,235, 66, 55,145,102,205,154,105, 1,184,212, - 70,147,197, 98,117, 9, 12, 12,204, 76, 77, 77, 37,209,209,209,228,234,213,171,228,208,161, 67,100,211,166, 77,228,231,159,127, - 38, 78, 78, 78,169, 0,148,181,209, 20, 8, 4, 33,189,122,245,210,103,231, 22,146,216,228, 76, 18, 25, 29, 75,110,220,141, 36, -103, 46,221, 32,187,247, 30, 36, 62, 62, 62,197,102,104, 50,153, 76,230,186,125,251,246,229, 18, 66, 72, 72, 72, 72, 18,222, 30, - 72,181,225,172, 89,179,210, 8, 33,100,249,242,229,153,168,188, 33,252,159,125, 45,245,116,112,112,120,202,225,112, 78, 2, 24, - 85,195,118, 67, 89, 44,214,113, 91, 91,219,123, 0, 6,188,135,251, 40,216,198,198,230, 54,128,154,102, 56, 40, 91,175,255, 63, -228,126,255, 51, 52,187,176, 88,172,171, 64,245,147, 8,151, 43,175,191,103, 50,153,167, 0,116,173,101, 62,221, 21, 10,197, 96, -185, 92,254,169, 92, 46,255,212,198,198,102, 48,151,203,117,175,207,190, 91,185,119,235,235,236,215,239,136, 83,243, 62,241,206, - 45,130,227, 93,253, 67,142, 88,185,119,235, 91, 95, 77, 23,255,144,163,206, 45,130, 19,156, 91,244,141,107,216, 50,228,136,194, -179, 91,175,247,121,142, 70, 57,192,190,123, 67, 24,200,213,111, 8,185,250, 13,233,214, 16,166, 54, 22,240,105, 5, 72,122,116, -235,182,138, 24,141,171, 6,246,239,191,202, 13,176, 34, 0,179,226, 82,153,166, 31, 32,125,179,109, 72,200,170, 70,128,162, 59, - 32,236,212,161,195, 74, 98, 52,174, 26, 49,116,232, 42,103,192,182, 50,189,170, 52, 9,192,116, 0,236,203,235, 42,128,198, 31, -186,194,119,110, 95, 87, 66,174,126, 67, 22,126,228, 65,252,149, 24, 85,131,102, 85,145,162,191,117, 68,171,182,136, 74, 11,215, -165,165,159,162,119,112, 17,190,115,205,214,118,240,232,214,152,138,238,237,201,122,141,146, 46,201,162,127, 96, 33,185, 67,171, -213,146,226,226, 98, 82, 88, 88, 72,242,243,243, 43, 26,168, 55,134, 76,165, 82,145,164,164, 36,146,144,144, 64,226,226,226, 8, -254,191,237,141,217,249,148, 74,165, 91, 62,250,232, 35, 35,155,205, 94,247, 46,246,221,210,210,114,105, 64, 64,128,238,167,159, -126, 34, 71,142, 28, 33,191,252,242, 11,153, 58,117, 42,105,210,164,137,198,194,194, 98, 88, 93, 52,109,109,109,231,121,122,122, -102,110,221,186,149,236,222,189,155,172, 89,179,134,124,253,245,215, 70, 71, 71, 71,181, 68, 34,233, 81, 23, 77, 27, 27,155,205, -237,219,183,215,109,222,188,153,156, 63,127,158,236,217,179,135,204,154, 53,139,120,121,121,105, 68, 34,209, 32, 51, 53,153, 44, - 22,107,213,196,137, 19,213,246,246,246, 39, 43,124, 39,244,241,241,185, 55, 98,196, 8, 21,128, 57,255,160,235,147,214,164, 53, -105,205, 63,193,104, 13,183,135, 3, 1,152, 66, 14,103,104,167, 14, 29, 86,114,128,161,181, 53, 69,124, 38,243,195,118, 1, 1, - 43, 57,192,176,178,117,249, 76,230,135,157, 58,116, 88,201,102, 50, 71, 86,165, 87,157, 38, 1,152, 28, 22,107, 78,187, 54,109, - 86,177,128,175,202,210,186, 52,164,158,204,234,233, 68, 58,184, 80, 47, 70,218, 64,248, 15, 54, 90,239, 28,214,159,112, 17,254, - 93, 52,255, 42, 55,181, 91,169, 97, 58, 90,139,136,214, 81,148,204,162,238, 86,199,124, 10,222,241,190, 55, 85, 40, 20,167,221, -220,220,210, 27, 52,104,160,146,203,229,123, 1, 56,214, 83,211,215,214,214,246, 87,165, 82,249,220,206,206, 46, 66,161, 80,252, -136,146, 81,231,235,172,201,102,179, 3,148, 74,229,239,174,174,174,217, 46, 46, 46,169, 10,133, 98, 95, 37,145, 44,115, 52,237, - 80,121,161,194, 41,253,142,126,232,208,154,180, 38,173,249,150,129, 9,106,132,101,221, 27,194,208,189, 33,140, 65,174,248,177, -188, 65, 9, 6, 4,117, 53, 69, 31, 3,188,138,235,215,164, 87,147, 38, 1,152,109, 1,113,197,109,122, 59,194,199, 76,205,191, -123, 68,171,172,156,175,221,240, 14, 85, 96,248, 19, 50,249,119,209,252,171,240, 2,213, 52, 70, 46,199,210,119,248,155, 69,239, -120, 31, 34, 51, 50, 50,122,101,100,188,211,190, 9,143,212,106,245,168,119, 41,168,215,235,239,164,166,166,118,126, 7, 82, 85, -117,189,214,193,204,110,217, 52, 52, 52,255, 30, 40,192,136, 87,248,178,155, 59,214,178,140, 96,156,137, 65,114,133, 46,121, 69, - 84, 93, 52, 75, 48,238,168,164,140,167,234,154,207,255, 39,255, 15, 26, 73,120, 76,253,123, 78, 91, 10, 74,218,104,213,219,104, -209,208,208,208,208,208,208,252, 15,184,240,156,126, 17,251, 27,112, 18,111, 71,223, 78,150, 51,162, 85,134, 62,107,211,147,162, - 46,225,211, 11,180, 38,173, 73,107,210,154,180, 38,173, 73,107,254,235, 52,203,168,106,238,212,167, 21,254,175, 83, 47,190,127, - 11,116, 61, 59,173, 73,107,210,154,180, 38,173, 73,107,210,154,255,116,234, 60,142, 22, 13, 13, 13, 13, 13, 13, 13, 13, 77,245, - 84, 25,117,163,141, 22, 13, 13, 13, 13, 13, 13, 13, 77,253,176, 67,201, 20, 85, 39,241,255, 83, 85,109, 6,106,158,130,231, 45, -150, 45, 91,198,112,115,115, 19,115,185,220, 38,175, 94,189, 98, 76,158, 60,185,222, 29, 9, 86,254,184,142,225,226,226, 34, 6, -208, 36, 51, 43,143,241,201,127,190,160,232,243, 69, 67, 67, 67, 67, 67, 67,243, 55,162, 79,169,177, 42,251,124, 19,225,170,149, -209, 90,180,104, 17, 18, 18, 18, 68, 0,134,248,250,250,114, 55,108,216, 64, 14, 28, 56, 80, 47, 99,244,213,156, 89,136,143,143, - 23, 1, 24, 98,163,176,224,110,219,178,130, 28, 60,126,253,157,155, 45,133, 66, 97,245,191,220,142,134,134,134,134,134,134,230, - 95,197,248,114,159,227,235,100,180, 88, 44, 22,147,203,229, 54, 98, 48, 24,189,248,124,126, 75, 0, 40,157,146,165,206,176, 88, - 44, 38,151,199,107,196,100, 50,123,241,120, 37,154, 31,245,109, 95, 95,205,174, 34,145, 40, 81, 40, 20,222, 7, 32,144, 72, 36, -225, 58,157,238,177, 68, 34,185, 89, 27, 29,137, 68,114,179,116,187,112, 0, 2,161, 80,120, 95, 36, 18, 37,178, 88,172,174,244, -245, 68, 67, 67, 67, 67, 67, 67, 83,202,230, 74,150, 63,114,226,196,137, 42, 13, 14,151,203,101,248,250,250,182,119,113,113,185, -225,237,237,173,117,116,116, 60, 36, 20, 10, 69,245,204, 24,195,205,195,171,189,189,157,242, 70,139, 70,118, 90, 27, 27,155, 67, -108, 54,187, 62,154, 76,137, 68,178, 38, 40, 40, 40,231,198,141, 27, 68, 42,149,166, 2,176,176,182,182, 86, 17, 66,136,173,173, -173,169, 54, 98,182,182,182, 38, 66, 8,177,182,182, 86, 1,176,144, 74,165,169, 55,110,220, 32, 65, 65, 65, 57, 18,137,100, 13, -106, 30,209,150,134,134,134,134,134,134,166, 22, 84,231, 69,254,194,148, 69,177,236,234,188,115, 92, 46,215, 79,161, 80, 68,125, -246,217,103,198,205,155, 55, 19, 23, 23,151,187, 54, 54, 54,109, 20, 10,197, 91, 13,234,199,140, 25, 83,155,106, 63, 63,137, 84, - 22,181, 99, 70, 79, 99,209,182, 16,226, 96,103,115,215,194,194,162,141, 84, 42,125, 75,115,196, 39, 19,204,209,180,151,201,100, - 17,203,150, 45, 43,206,206,206, 38,132, 16, 34,147,201, 82, 1,200,149, 74,165, 42, 38, 38,134, 40, 20, 10, 2,243,163,120, 12, -133, 66, 65, 98, 98, 98,136, 82,169, 84, 1,144,203,100,178, 84, 66, 8,201,206,206, 38,203,150, 45, 43,150,201,100, 17, 0,236, -233,219,130,134,134,134,134,134,230, 95,109,180, 42, 26, 46,243,170, 14, 91,182,108,201, 83, 42,149,109, 36, 18, 73,127,177, 88, - 28,218,175, 95, 63,223,129, 3, 7, 50, 52, 26,141,209,215,215,215,222,213,213,117,154, 92, 46, 31,197,231,243,155,113,185,220, -145, 82,169,212,110,239,222,189,110,213,105, 54,109,254, 1,207,194, 66,222,134,203,229,245, 23,139, 37,161, 19, 63,236,226, 59, -106,230, 32, 6, 71, 27,103,236,210,204,217,190, 73, 35,187,105,182,114,209, 40, 22,147,209,140,162,168,145,124, 62,223,110,247, -182, 77,110, 53,236, 88, 35,123,123,251,240,189,123,247, 54, 25, 50,100, 8, 47, 58, 58, 26, 0, 96, 52, 26,185, 0,244, 76, 38, - 19, 60, 30, 15, 58,157, 46, 11,128,185, 39,144,232,116,186, 44, 30,143, 7, 38,147, 9, 0,250, 82, 61, 68, 71, 71, 99,200,144, - 33,188,189,123,247, 54,177,183,183, 15, 7,208,136,190, 53,104,104,104,104,104,104,254,181,148,153,171,147,168, 80,117,200, 42, -115,143,193,193,193,111, 69,141,184, 92,238,134,103,207,158,181,179,180,180,108,196,102,179,141, 67,135, 14,229,141, 24, 49, 2, -233,233,233,166,252,252,124,166,159,159,159,242,222,189,123,189, 12, 6, 67, 7, 11, 11,139,194,236,236,108,133, 70,163,121, 1, - 96, 90, 53, 25,217,240,252,105, 84, 59, 43,185,101, 35, 46,155,105,156, 58,118, 4,239,171, 57, 61, 65,105,194, 76,198,180, 76, -230,247,254, 22,202, 31,111, 22,244,122,166, 51,118, 40,144,241, 11,213, 57,154, 26, 53, 21, 10,133, 63,135,195,185,127,250,244, -105, 8,133, 66,228,228,228,128,203,229, 2, 0,242,243,243,101, 0, 88, 20, 69,129,203,229, 34, 55, 55, 87, 94,155,163,150,155, -155, 43,231,114,185,160, 40, 10, 0, 88,165,122,224,114,185,200,201,201,129,155,155, 27,117,250,244,105,155, 94,189,122,189,212, -233,116, 31,100,100,100,132,209,215, 26, 13, 13, 13, 13, 13, 77,237,169,204,139,252,141,168,113, 28,173,206,165,161,186,242, 19, -231,238,180,182,182,182, 21,139,197,222,227,199,143,103, 40, 20, 10,220,191,127,223, 84, 80, 80,192, 96,179,217, 96,179,217,204, - 46, 93,186,136, 13, 6,131,240,212,169, 83,212,203,151, 47,211,245,122,253,247,153,153,153,247,170,201,200,206,198, 22, 60, 91, -129, 5,215,251,248, 23, 29, 25,214,110,153,192,217,133, 38,146,159,198, 96,153, 8, 20, 34, 19,115, 85, 7, 74,172,150,185, 10, -167,238, 75,167,174,189,204, 78,215,235,245,223,231,229,229, 85,167,153, 12, 0,165,121,130, 84, 42,133,209, 88,126,126, 75, 16, - 6,131, 1, 30,143, 87,167, 35,199,227,241,192, 96, 48,128,114,145, 48,153, 76, 6, 38,147, 9, 6,131, 1, 54,155,253, 86, 62, -104,104,104,104,104,104,104,234, 68,101, 94,228,239, 66,249,113,180,204,155,155, 82,169, 84, 82, 82,169,212,174,121,243,230,223, - 6, 5, 5,197, 12, 24, 48,160,240,167,159,126, 34,171, 87,175, 38,171, 86,173, 34, 91,183,110, 53, 94,190,124, 89,255,159,255, -252,167,216,221,221,253, 69,104,104,168, 55, 0,244,238,221,187,202,234, 72, 11,185, 37, 37,230,178,236,124,188,155,126, 59,188, -115,147,152,111,250,123, 20,234,118,248, 17,211,124, 39, 98, 92,231, 74,140, 7,187, 26,201,179, 21,250, 37,227,186, 22, 55,112, -105,240,226,231,173,251,189, 1,160, 91, 80,239,106,171, 56, 21, 10, 69, 75, 71, 71,199,212,115,231,206,153,178,178,178, 72,102, -102,102, 89, 27,173,108, 0, 50, 23, 23, 23,149,193, 96, 32,114,185,252,117,109,142,154, 92, 46,127,109, 48, 24,136,139,139,139, -170,196, 95,201,178, 9, 33, 36, 51, 51,147,100,101,101,145,115,231,206,153, 28, 29, 29, 83, 21, 10, 69, 75,250,254,160,161,161, -161,161,161,249,215, 50,190,194,103,205,180,107,215,142,146, 74,165,140,166, 77,155,138,237,237,237, 91,219,219,219,223,249,241, -199, 31,201,234,213,171, 13, 27, 55,110, 36,191,254,250,171,225,227,143, 63,206, 21,137, 68, 39,185, 92,174, 28, 0, 92, 93, 93, -171, 13,249,181,108,221,134, 18,240,121, 12, 79, 79, 31,177,194,202,170,181,181,149,229, 29,221,234, 38,132, 44,116, 48,144, 45, - 45, 8, 57,216,211,176, 98,112,171, 92, 54,155,115, 18,128, 28, 0, 28,237,237,204, 13, 35,218,219,216,216, 68, 44, 92,184,176, - 64,167,211,145,210, 94,134,169, 0, 44, 92, 92, 92, 84,132, 16,226,232,232,152, 8, 64, 97,166,158,194,209,209, 49,145, 16, 82, -102,180, 44,108,109,109, 83, 9, 33, 68,167,211,145,133, 11, 23, 22,216,216,216,208,141,225,105,104,104,104,104,104,104,170,156, -235,176,202, 72,209,141, 27, 55, 72,110,110,174, 41, 57, 57,217,152,159,159, 47,245,243,243,147, 51,153, 76, 40,149, 74, 38,147, -201, 52, 21, 20, 20, 48, 21, 10,133,138,205,102,239,214,106,181, 89,253,251,247,167, 98, 99, 99,171,109,104,126,239,246, 45, 82, - 84,172, 49, 37, 37, 37, 26, 11,243,115,165,163,154, 89,202, 89, 6, 29, 76,126,237,152,185, 2,119,147,169, 40,139,233,101,199, - 83,113, 56,236,221, 0,178, 6, 4,247,161,146, 84, 41,230, 54, 94, 87,165,165,165,249,109,216,176, 97, 75,199,142, 29,179, 10, - 11, 11,203,218, 86, 85, 28,130,193,194, 76,189,138,235, 49, 41,138, 66, 97, 97, 33, 58,118,236,152,181, 97,195,134, 45,105,105, -105,126, 0, 84,244,245, 69, 67, 67, 67, 67, 67,243,175,166,202,113,180,106, 28,234,160,176,176, 80,206,225,112,186,181,106,213, -170, 65, 65, 65,129,105,209,162, 69,137, 63,253,244,211,174, 23, 47, 94,232, 45, 44, 44, 26, 9, 4,130, 79, 81, 76,136,102, 0, - 0, 32, 0, 73, 68, 65, 84,135, 12, 25,162, 56,114,228, 8,233,208,161, 67,197,232, 83,165,179,123, 23, 21,229,203,121, 28,118, -183, 79, 3, 36, 13, 18,117,114,147,247,167,119, 19, 59,205,191,185,235,183, 71, 44,125, 83,203,162, 70,150, 92,234,211, 33, 67, - 6, 43,126, 59,113,146,180,105,211,218, 44,205, 82,140,105,105,105,159,222,191,127,127,112,195,134, 13,147,244,122,125, 18,128, -204,162,162,162, 84,123,123,251, 52,157, 78,151, 4, 64, 87,201,118,149,105,234,116, 58, 93,146,189,189,125, 90, 81, 81, 81, 42, -128, 76,189, 94,159,212,176, 97,195,164,251,247,239, 15, 78, 75, 75,251, 20,128,177,154,188,208,179,186,211,154,180, 38,173, 73, -107,210,154,180,230,191,135, 63, 68,179, 0, 51, 38,149,230,241,120, 29,157,157,157,219, 63,122,244,200,120,235,214,173, 28, 6, -131,241,115,239,222,189, 15, 29, 62,124, 56,192,210,210,210,198,201,201, 73,121,241,226,197, 64, 0, 7,174, 93,187,102, 86,244, - 73,192,227,116,108,225, 40,107,191,249, 33, 49,110,187,255, 60,199,200,228,253,220,101,208,160, 67,211,119,237, 9,176, 87, 72, -108, 90,216, 73,149,167, 78,157, 9, 4,112,224,214,173,219,181, 30, 79,195, 96, 48, 92, 76, 75, 75,115, 42,251, 63, 61, 61,221, - 79,161, 80,120,163, 36,250,148, 99,166, 76,188,201,100,234,109, 50,153,236, 51, 50, 50,158, 0, 64, 70, 70,198, 7,244,117, 68, - 67, 67, 67, 67, 67, 67, 83,137,201,218, 92,217,255,213, 70,180,184, 92,174, 3,147,201,244, 73, 74, 74,138, 63,117,234,212,163, -150, 45, 91,246,138,143,143, 95, 70, 8,137, 19, 10,133,227, 19, 19, 19,159, 39, 38, 38,106,139,138,138, 38,214, 34, 51, 14, 96, -112,124,238,171,138,226,127,184,248,248, 81,211, 54, 61,122,169,213,170,101, 70, 66,226,184, 66,233,248,103, 9,233,207,111,167, -105,180,197,197,181,210,172,145,140,140,140, 39, 25, 25, 25, 57,181,220, 38,167,204,100,209,208,208,208,208,208,208,208,212,150, -154, 34, 90, 58,163,209,184, 66,163,209,200,127,251,237,183,228,160,160, 32, 13, 0,108,216,176,193, 52,118,236,216,235,175, 94, -189,234,250,228,201,147, 94,182,182,182,151, 0, 80, 49, 49, 49,230, 68,159,116, 38,147,113,133, 86,171,145, 95,188, 28,150,220, -177,125, 83, 13, 0,108, 92,191,214, 52,116,252,140,235,175,162, 31,117,125, 22, 21,222,203,214,214,246,146,209,192,162, 82,212, -113,132, 62, 77, 52, 52, 52, 52, 52, 52, 52,127, 97, 54,227,237, 42,195,205,102, 25, 45,173, 86,155,174,213,106, 1, 32, 43, 40, - 40,232,173,239,182,110,221, 74, 0, 20, 0, 56,152,153,153, 89,155,204,164, 23, 21, 21, 1, 64, 86,199,246, 77,223,250, 98,223, -230,159,222,104,230,231,229,210,167,141,134,134,134,134,134,134,230,239,100,182,254, 0,131, 62, 46, 52, 52, 52, 52, 52, 52, 52, - 52,245, 98,124, 85,255, 83,168,186,231,192,133, 90,252, 64, 93,122, 31, 92,160, 53,105, 77, 90,147,214,164, 53,105, 77, 90,243, - 95,167, 89,147,246, 5,252,253,168,178, 49,252,159, 13,221,245,149,214,164, 53,105, 77, 90,147,214,164, 53,105,205,127, 58,118, -120,123,120, 7,187,178, 47, 88,244,177,161,161,249,123, 67, 14,130,137, 44, 79, 87, 16, 98, 15, 38, 55, 5, 41,145,175,168,111, - 97,170,183,102,170,143, 11, 4,122, 37, 12,252,116,164, 70,196,212, 87,147,134,134,230,159,135,109,219,201, 3, 40, 6,243,103, -138,152, 80,148, 26,205,227, 20,197, 9,211, 82,226,255,141,222, 34, 5, 85, 68,176,104,163, 69, 67,243,119, 39,221,203, 3, 44, - 44, 5, 3,118, 32,186,151,176,246, 89, 10, 60,142,170,183, 38,199,180, 8, 70,134, 35,136,238, 25,108, 60,151, 1, 79, 31,211, - 7,251,159,199,180,169,147,200,147,168, 59, 72, 72, 80,161, 81, 99, 59,120,120,181,197, 79,107, 67, 41,250,200,208,152,247, 86, - 70,109,238,214,119,132,165, 64, 40, 1, 0,152, 12,122,108,157,217,226,188,193, 96,216, 9,224, 8,128,162,127,251, 33,250,159, - 55,134,103,179,217,169, 0, 76,124, 62,255, 48,202,133,214,104,104,254, 4,236, 74,175, 51, 83,233,117, 87, 27,196, 44, 22,107, -190, 80, 40,188,204,227,241,210,120, 60, 94,154, 72, 36,186,204, 98,177,230, 3, 16,255,101,202,184, 95,155, 8,193, 48,246,210, -234, 77, 14,103, 34,179,109, 10, 53, 70, 15, 48, 12,189,201, 86,119,113,189, 52, 89, 84, 80,177,206,228,188,251,110,161,178, 64, -107,240, 6, 65,189, 52,203, 97,193,225,112,206,192,252, 57, 71,105,254,100,226, 99,162,112,234,196, 42, 44,250,110, 52,182,111, -158,136,167, 79,110,215, 75,207, 27,248,224, 3, 22,235,115, 47,160, 11, 74,218, 1,211,252,147,161,200,248, 11,199,119,167, 31, -223,187, 62,125,255,170,137,228,232,210, 96,172, 93,187,182,219,232,209,163,119, 59, 59, 59,167, 3,248,136, 54, 90,255, 99,244, -122,189, 77, 70, 70, 6,181,115,231,206,126, 50,153,236, 37,139,197,154, 11,128,243,111, 57,224, 98,177,248,166, 84, 42, 77,149, -201,100,169, 82,169, 52,188,166,244,127, 40, 30,214,214,214,241,150,150,150,207,202, 39, 90, 55, 27,208,214,173,221,168, 5, 86, - 62, 33,157,234,169,207, 97,177, 88,115,101, 50,217,203,157, 59,119,246, 75, 78, 78,166,244,122,189, 77, 45,182,239, 40,151,203, -159,220,185,115,231,155,140,140,140, 78,137,183,183, 90,171,239,108,178,142,255,125, 85,231,251,167,214,125, 99, 97, 33,123, 12, -160,227, 95,226, 72, 22,155,148, 96, 48, 3, 31,165, 20, 10, 83,114,245,202,176,184, 66, 9,192,236, 12,109, 61, 94, 98,114, 76, - 74,128,116,121,152, 84, 36,186,249,218, 90,121,237,149, 70, 10, 6, 35, 16,197,148,109,189, 11, 28, 6, 99,146,201,100,234,206, -225,112, 62,165,159, 80,127, 13,120, 60, 14, 64, 8,196, 34, 62, 0, 2, 70, 61,173, 17,151,193,104,119,179, 95,191, 69,115,154, - 53,155,230, 5,244,173,194,108, 81, 0,166,123,121,121,157, 6, 48,244, 29,238,206, 15,158,158,158,201, 0,102,188,171,114,201, -223,223,191,109, 96, 96,224,130, 22, 45, 90,116,122, 87,154,255, 36,212, 55, 55,252,150,114,125,157,141,234, 70,168, 77,118,204, -213,233,118, 74,185, 41, 38, 38, 6,125,250,244,193,250,245,235,133,190,190,190,187, 0,216,255, 11,110, 37,191,178, 23,124, 84, -104,163,101,182,209,250,208, 21,237,134, 53,196,149,193,174,200, 27,210, 16,249, 35, 27,226,250, 32, 87,116,169, 75,110,172,172, -172,208,177, 99, 71,102,114,114,178, 96,214,172, 89, 11,248,124,126, 44,128, 30,117,209, 18, 8, 4,247,133, 66, 97, 34,139,197, -122, 43, 47, 66,161,240,190, 72, 36, 74,100,177, 88, 93,203,167, 75, 36,146,155, 82,169, 52, 85, 34,145,132, 87, 97,132,238, 75, -165,210, 84,177, 88,124,191,124, 58,139,197,234, 42, 22,139,147, 36, 18, 73,197,244, 46, 18,137, 36,177, 98,122, 85,176,217,108, -199,196,196, 68,155,164,164, 36, 27, 46,151,171, 44,159,158,144,144, 96,147,152,152,248, 86,122,109, 96,177, 88, 93, 68, 34, 81, -162, 80, 40,188, 95, 89,122,197,125,170,138,114,199,174,139, 57,233,181, 45,120,130,130,130,174,167,164,164, 56, 91, 88, 88,188, - 53,113,183,165,204,162,199,175, 91, 67,103,134,244, 14,154,100,237,221,191,105, 29,245,123,240,249,252,216, 89,179,102, 45, 72, - 78, 78, 22,180,105,211,134,201, 96,212,234,125,162, 91, 72, 72,200,209,212,212, 84,135,230,205,155, 51, 13, 6, 3, 30, 29,155, - 15, 97,196,167,224,199,110,132,147, 32,157,245,242,252, 50,199,160,206, 31, 28,197,123,110, 12, 74, 14,122,115, 64,153, 58,154, - 8,177,126,146, 92,108,221,167,223, 71,172, 7,137, 69,214,122,163,209, 18, 96,118, 38,219, 93,120,117,210,100,233, 59,152, 8, - 81, 94,140, 99, 91, 7, 14,158,198,188, 20,199,178,214, 27,141, 86, 96,160, 83, 93, 52,203, 95,254, 76, 38,115,230,170, 85,171, - 24, 0,166, 2,224,254,155, 12, 77, 43,123, 56,116,105,204,188,235,103,135,118,239, 80,214,183,244,126,247,168,175,208,150,237, -167, 49,118,194,102,184,123,181,174,151,142,214,100,122,186, 47, 38,230,236,200,198,141,131,231, 52,107, 54,166, 18,179, 69, 1, -152,179,108,217,178, 81,143, 30, 61,178,110,216,176,225,132,119,244,210,191,102,217,178,101,179, 31, 61,122,100,239,234,234,186, -176,150,154, 85,150, 75,114,185,188,199,150, 45, 91,102,246,233,211,103,146,191,191,127,211,119,161,249, 15,102,253,195,135, 15, -157, 87,173, 90,245,229,216,177, 99,115, 1,160,107,215,174, 28, 0,109,234, 93,222, 17,194, 37,132, 4, 18, 66,250, 16, 66,186, - 18, 66, 90,149,254,221,178,116,233, 67, 8,233, 86,225,179,101,233,182,101,223, 7, 84,161,209,167,226,118,229,182,169,248,255, - 91,127, 87, 98,180,250,160,164,173, 86,159,183,118,224,196,137, 19,164,252,103, 69,134,184,226,219,105,109, 29, 10,159, 28,223, - 67,242, 19, 99, 72, 86,244, 3,242, 96,243, 18, 50,173,165,117,225,240,134,248,161,246,199,139,144, 27, 55,110,144, 71,143, 30, -145,252,252,124,242,252,249,115, 18, 16, 16, 80, 36, 20, 10, 47, 2,112,173,141,152, 68, 34, 73,189,120,241, 34, 9, 10, 10,202, - 17,139,197, 43,203,110, 46,169, 84,154,122,227,198, 13, 18, 20, 20,148, 35,145, 72,214, 0, 96, 2,192,160, 65,131,210, 8, 33, -196,218,218, 90, 85,153, 94, 72, 72, 72, 22, 33,132,200,100,178,178,170, 38,166, 68, 34, 89, 51,101,202,148,252,123,247,238, 17, -185, 92, 94,150,206,144, 74,165, 43,167, 78,157,154, 31, 22, 22, 86, 62,189, 90, 44, 45, 45, 19,141, 70, 35, 57,126,252, 56,177, -177,177, 81,149,187,153, 19,141, 70, 35, 57,122,244,104,149,121,171, 46, 80, 32, 22,139, 87,140, 28, 57, 50, 47, 46, 46,142, 88, - 89, 89,165,150, 75, 95, 57,122,244,232,188,132,132, 4,162, 80, 40,204,202,163,149,149, 85,234,205,155, 55,201,192,129, 3,115, -203, 31, 83, 43, 43,171,212, 91,183,110,149,165,175, 48,167, 32,179,183,183,159, 96, 99, 99,163,178,177,177, 81, 89, 88, 88, 44, -182,179,179, 83,167,167,167, 19, 66, 8,105,212,168, 81, 90,249, 72,150,141,111,191,207, 54, 30,188,117,231,106, 84,102,122,179, -238,147, 86,200,154,133,200,106,113, 12, 92,133, 66,225,197, 78,157, 58, 21, 37, 38, 38,146,130,130, 2, 18, 17, 17, 65,110,220, -184, 65, 94,188,120, 65, 0,152, 51,195,128, 68, 44, 22, 39,107, 52, 26,147, 70,163, 49,165,167,167, 27,211,210,210,140,209, 43, -237, 8,217,198,126,179,100, 31,237, 75,212, 87,151,154,164, 98, 97, 18, 0,201,123, 51, 90,161, 62,142,100,147,231,190,199,243, -157,163,175, 46,235,169, 39,113,151,200,158, 49,214,250, 43,159, 57,188, 36, 63,123,253,151,108,242,118,170,147,230,207,222,123, - 34,190,118,126,186,110,225,116,125,124,124, 60,249,124,116, 79,195,185,105, 14,175,200, 70,175,131,117,209, 44,199,176, 1, 3, - 6,228, 39, 36, 36, 16, 31, 31,159, 2, 38,147, 57,246,223,100,178,186,121,112,147, 35,118,127,110,234,235, 43,204,124, 71,102, -203,215,198,198, 38, 99,199,142, 29, 68, 34,145,164,213,213,108,125,216,191, 51, 41,202,185, 72,250, 7,183,170,246, 30, 25, 60, -120, 48, 9, 12, 12, 36,211,166, 77,171,233, 94,162,188,128,126, 59,155, 53, 59,106,250,240, 67,227,206,102,205,142,122, 1,253, - 74, 13, 22, 5,224,203,229,203,151,135,233,245,250,176,237,219,183,135,245,235,215, 47, 12,192,231,245, 60, 22, 63,253,240,195, - 15, 68,175,215,147,237,219,183,147,126,253,250, 17, 0,107,235, 83, 46,149, 69,178,252,252,252, 62, 59,114,228,200,157,167, 79, -159,166, 7, 7, 7,175,104,214,172,153,172,174,154,127, 69,196, 98,177, 91,211,166, 77,119,249,248,248, 36, 52,111,222, 92,235, -237,237, 93,236,225,225, 17,231,235,235,187,131,199,227,185,214, 81,182,117,187,118,237,140, 87,174, 92, 33, 3, 6, 12, 32,229, - 76, 72,181, 84,231, 69, 8, 33,173,190,252,242,203,185, 0,200,151, 95,126, 57,151, 16,210,167,212, 79,244, 41,255,119,197,207, - 50,243, 84,246,127,101, 26,101, 75,101,154,149,253, 70,133,223, 65, 21,145,172,241,127,216,185, 19, 39, 78,116, 58,113,226,196, -149,138, 59,247, 81, 67,180,157,214,214,161,168, 40, 61,133, 68, 45,249,148, 92, 14,116, 36, 55, 58,219,146,103, 51, 7,144,148, -221,107,200,228, 22,242,194, 15, 27, 34,176,182, 70, 43, 44, 44,140,132,133,133,145,240,240,112, 18, 27, 27, 75,114,114,114,200, -254,253,251,141, 86, 86, 86, 69, 60, 30,111, 25, 0,129, 57, 98, 82,169, 52,149, 16, 66, 52, 26, 13, 89,188,120,113,113,105,164, - 74, 41,147,201, 82, 9, 33, 36, 59, 59,155, 44, 91,182,172, 88, 38,147, 69, 0,176, 87, 40, 20,137, 49, 49, 49, 68,169, 84, 86, -106,102,228,114,121,234,211,167, 79,203,140,147,131, 92, 46,143, 58,118,236,152,142, 16, 66,146,146,146,136,165,165,101, 42, 0, -165,149,149,213,131, 19, 39, 78,232, 8, 33, 68,165, 82,149,165,155,101,180,138,138,138,200,185,115,231,222,202, 67, 89,250,233, -211,167,223, 50, 96,102,160,148,201,100, 97,251,247,239,215, 26,141, 70, 18, 21, 21, 85,102, 18,149, 22, 22, 22,225, 7, 15, 30, -212, 26,141, 70, 18, 29, 29,109,182, 25,108,208,160, 65, 26, 33,132, 24, 12, 6,178,113,227, 70, 77,217, 49, 45, 75,215,106,181, -100,195,134, 13, 26,169, 84, 26, 6,160,218,232,155, 66,161, 80,105,181, 90,146,157,157, 77, 2, 2, 2,242,111,220,184, 65,114, -115,115, 9, 33,132, 52,104,208, 32, 13, 0, 60, 59,141,253,254,206,243,252,220, 79,102,135, 30,112,109, 53,124,201,217,187,201, - 73, 91,142,220, 15, 83,248,134,244, 52, 39,168,201,227,241,150,217,217,217, 21, 95,187,118,205,168,211,233, 72, 66, 66, 2, 9, - 15, 15,127,115,141, 69, 70, 70,154,101,180, 88, 44,214,252, 59,119,238,232,140, 70,163, 41, 35, 35,195,152,150,150,102, 76, 75, - 75, 51, 84, 52, 90,100, 27,155,100,156, 30, 71, 78,110,158,161,229,112, 56,243,223, 79, 52, 11, 76,178,201, 51,132,108,242, 12, -219, 49, 82,145,145, 23,190,151,144,243, 51,200,171,239, 27,146,249, 61, 37,121,166, 77,158, 97,100,147,215,135,228,219, 78,172, - 90,105,110,246,238, 75, 54,121,134,253,240,145, 75,230,131,176,123,228,202,149, 43,100,195,154,229,100, 90, 55,135, 2,211, 38, -207, 48,242,179,247,192,218,104,150,135,199,227, 61,191,126,253, 58,185,122,245, 42, 89,184,112, 33, 17, 10,133, 9,239, 34,170, - 71,126,246,112, 33,191,120,116, 34, 91,221,237,200,239,157,254,114, 29,124, 90,217,195,161,187, 7, 55, 41,227,193, 17, 66, 94, -191, 32,234,149, 62,164,167, 39,187,190,102,203,215,198,198, 38, 61, 46, 46,142,168,213,106,178,122,245,106, 34,149, 74,235,100, -182, 62,236,223,153, 20,101, 95,168,214,104,133,132,132,144, 31,127,252,145,232,245,122,210,186,117,107,115, 94, 90,254, 96,182, - 60,129, 16, 0,115, 87,172, 88,241,198,100,133,134,134,134, 69, 70, 70,134, 57, 59, 59,159,170,199,177, 88,187, 98,197,138, 55, - 38, 43, 52, 52,148, 68, 70, 70, 18, 23, 23,151,196,250,148, 75,221,187,119,255, 62, 54, 54, 54,119,222,188,121, 7, 58,118,236, -184,228,193,131, 7, 73, 39, 79,158, 12,243,243,243,235, 89, 87,205,119, 16,213, 97,149, 70,118,184,132, 16, 54, 33,164,204,188, -178, 0,176,203, 2, 10,230, 48,114,228, 72, 97,219,182,109,195, 70,140, 24, 81,184, 99,199, 14, 18, 23, 23, 71, 34, 34, 34,200, -138, 21, 43,200,130, 5, 11,200,182,109,219,200,192,129, 3, 11, 2, 2, 2,238,124,248,225,135,252, 90,100,211,199,213,213, 53, -231,232,209,163,100,207,158, 61,132,195,225,156, 52,119,195,234,188, 72, 85,102,170, 42,131, 85,241,187,106,140, 88,181,134,205, -140,223,251,163,169,170, 24, 9, 41,247,247,239,193,193,193,157,254,240,240, 33,248,110,252,172,239,249,177, 59, 86, 35,117,255, -122, 48,179, 83,193,206,203,132,230,250, 73,232,175, 31,195,168, 54,109, 4, 2,138, 90, 84,219, 11,134,203,229,130,203,229,130, -195,225,160,176,176, 16, 42,149, 10,237,219,183,103,132,135,135,243, 39, 76,152, 48, 67, 32, 16, 36, 0,232, 95,227,221, 76,149, - 68,164,111,222,188,137,113,227,198,241,118,237,218,213,220,218,218,250,161,209,104,228, 2, 64,116,116, 52,134, 12, 25,194,219, -187,119,111, 19,123,123,251,112,157, 78, 39,228,241,120, 96, 50,153, 85,234,113,185, 92,232,245,122,158,187,187,123,196,195,135, - 15,125,131,131,131,217,241,241,241,136,137,137,129, 94,175,231,122,120,120, 68,134,135,135, 55,239,211,167, 15, 59, 49, 49, 17, -241,241,241,111,242, 97, 78,126,181, 90, 45,120, 60, 30,202, 87,105, 81, 20, 5,141, 70, 3, 46,151,107,182, 22,139,197,234,226, -229,229, 21,249,240,225, 67,191,144,144, 16,206,189,123,247,144,148,148, 4,163,209,200,245,246,246,142,124,248,240, 97,139,126, -253,250,113, 34, 34, 34,144,154,154, 10,115,171,208,202,214,123,248,240, 33, 70,140, 24,193, 61,115,230, 76, 11, 59, 59,187, 8, -131,193,192, 5,128,200,200, 72, 12, 25, 50,132,123,246,236, 89, 63, 39, 39,167,136, 26,170, 18,153, 0,160,215,235, 49, 97,194, - 4,145, 84, 42, 69, 98, 98, 34, 76, 38, 19,140, 70, 35, 0, 32, 51, 43, 51,242, 97,100, 84,244,168, 97, 31,117, 42,210,105, 52, -183,238,222,127,210,168,129,139, 35, 69,145, 6, 53,100,181,191, 72, 36, 74, 88,185,114,229,103,113,113,113, 60, 47, 47, 47,198, -171, 87,175,144,151,151, 7, 14,135,243,230, 26, 51,119,191,185, 92,110,103, 31, 31, 31, 86,113,113, 49, 76, 38, 19, 0, 16, 6, -163,242, 22, 43,252,236,235,240, 86, 26,216, 2,129,160,243,123,121,122,231,250, 88,193,132,238,241,233, 90, 30,207,194, 81, 34, -182,243, 0, 18,174,162,161, 53, 15, 76, 6,147,127, 47,166, 80, 4,144,238,112,206,176,170,157,166,169,123, 76,154,150,167,183, -108, 34,182,119,116, 70,102,102, 38,156, 26,121,161,152,107,205,189,249,162, 64, 12,170,150,154,255, 79, 7,119,119,119, 91, 55, - 55, 55,100,100,100,192,207,207, 15,114,185, 92, 14,160,123,157, 31, 58,219, 93,120,200, 69, 59,128,177, 18, 70,106, 33,244,172, -165,120,145,238, 71, 54,249,177,255, 74, 38, 75, 42,230,222,222,187,111,191,131,149,179, 55,112,242, 19, 40, 45,120,216, 58,201, -207,210, 90,198, 59, 90, 71,179,229,171, 84, 42, 47,221,185,115, 71,193,231,243, 17, 30, 30, 14, 31, 31, 31,172, 94,189,218, 90, - 46,151, 95,173, 91,100,139,128, 80, 85,155,172,142, 29, 59, 98,234,212,169,216,181,107, 23, 44, 45, 45, 49, 98,196,136,154,204, - 22,137, 6,142,255, 16, 17,177,125,215,203,151, 39, 70, 54,110, 28, 60,194,195, 99,241,196,161, 67,199, 78,159, 62, 29,203,151, - 47,199,209,163, 71,209,174, 93, 59,140, 31, 63, 94,159,144,144,176,179,174, 85, 85, 43, 87,174,156, 54, 99,198,140,138,154,186, -248,248,248, 31,234, 85, 46,101,102, 70, 70, 68, 68, 68, 15, 27, 54,172, 83,113,113,177,230,238,221,187, 79, 92, 93, 93, 29, 1, - 52,168,171,102, 61, 12, 22, 69, 8,225, 3, 16,150, 46, 34, 0,194,189,123,247,202, 66, 66, 66,164,165,105,130,210,165,198,234, -125, 31, 31, 31,199,231,207,159, 39,207,156, 57,211,111,215,174, 93, 2,161, 80,136,236,236,108,252,242,203, 47,152, 59,119, 46, - 40,138, 2, 33, 4,219,182,109, 19,142, 25, 51,166,213,203,151, 47,147, 93, 92, 92,204,105,210,194, 19,139,197, 7, 23, 47, 94, - 44, 53,153, 76,152, 51,103, 78,134, 78,167,155, 90,250,221, 60, 11, 11,139,219, 40, 49,220,213, 81,169, 23, 41,247,172, 60, 81, -225,216, 4, 87, 76,171,248, 29, 33, 36,184, 58,141, 90,158,139,202,126,239,100,117,102,171,252, 19,168,115,165, 46, 18,104,102, -235,234,137,156,243, 7, 33, 96, 81, 16, 48, 75, 23, 22, 5,198,171, 72, 56,241,217,208, 19,226, 91, 87,163, 85,182,176,217,108, - 20, 22, 22,194,104, 52, 98,238,220,185,188,115,231,206, 89, 49, 24,140,255,214,164, 83,222, 48, 61,123,246, 12,222,222,222,212, -241,227,199,149, 83,167, 78, 21,148,253, 78, 78, 78, 14,220,220,220,168,211,167, 79,219,124,253,245,215,226,234,204, 12, 69, 81, -224,112, 56,152, 49, 99,134,224,238,221,187,150,246,246,246,120,245,234, 21, 94,191,126, 13,177, 88,140, 25, 51,102, 8,238,220, -185, 99,109,111,111,143,184,184, 56,228,228,228, 64, 44, 22,215,218,104,113, 56,156,183,182,161, 40, 10, 58,157,174, 86,198, 64, - 38,147,237, 9, 11, 11,179,150,201,100,136,136,136,128,193, 96,128, 76, 38,195,180,105,211, 4, 97, 97, 97,214, 22, 22, 22,136, -142,142, 6, 33, 4, 82,169,180, 86,121, 4, 0,147,201,132,232,232,104, 52,104,208, 0, 87,175, 94,181,153, 56,113, 34,191, 44, -253,197,139, 23,112,116,116,196,213,171, 87,109, 68, 34,209,158,170,180, 76, 38, 19, 82, 82, 82,240,232,209, 35,188,122,245, 10, -233,233,233,200,200,200, 64, 94, 94, 30, 12, 6, 3, 0, 64,152,151,123,114,239,129,227, 15, 5, 2,129,208,199,195,221, 57, 50, -234,113,154, 64, 32, 16,186, 56, 59,123, 0,223, 50,170, 49,132,255,141,143,143,183, 26, 51,102, 12, 71,173, 86, 35, 43, 43, 11, - 44, 22,235, 15,215, 22,151,107, 94, 83, 32,131,193,224,205,231,243, 41,157, 78,247, 38, 2,198,229,114,241,217,158, 66,248,204, -199, 91,203,208, 53,105, 32, 70, 61,180, 90,173,247,255, 60,154, 5, 80,160,180,238,160, 40,191,219,175, 10, 44, 59, 4, 15,227, - 32,230, 12, 96,210, 3, 12, 22, 58, 55,115,100, 29,141, 44, 80,130,160, 25, 52,240, 34,164,230,158, 95, 4,160, 0,157, 27, 64, -125,112,238,185,193,170,221,128, 73,156,228,228,100,112, 56, 28,240,120, 60,248,117, 25,196,218,251, 80,111, 11, 10,205,161,131, -167, 57,154,111,133, 29, 5,130,111, 22, 44, 88, 32, 42,175, 57,118,236, 88,145, 76, 38, 91, 80,103,147, 85, 32,108, 3, 3,153, -241, 40,185,176,193,226,147,106,239,151,105, 69,158, 32,100, 38,160,111,241, 14,204, 86,103, 30,143, 23, 3,160,125,189, 76,150, -132,123,107,223,190,253, 14,150, 78, 37, 38, 11,134, 98,128, 45,128,173,181, 5,182,126, 22,104,105,109, 33,168,173,217,242, 85, - 42,149, 23,111,223,190,173,224,243,249, 8, 11, 11, 3,135,195, 1,159,207, 71,211,166, 77,177,105,211, 38,107, 75, 75,203, 90, -155, 45, 2, 82,105,204,183,127,255,254,164, 99,199,142,152, 50,101, 10,118,238,220, 9,173, 86,139,197,139, 23, 35, 62, 62,222, - 44,217,104,224,248,178,136,136, 29, 75, 31, 61,122,246,165,175,175, 87,127,145,200,114,202,136, 17,178,175,191,254,250,196,177, - 99,199,182,247,233,211, 39,227,238,221,187, 63, 2, 56, 88,203,195, 75, 1, 8, 93,181,106,213,148, 50,227,246,245,215, 95,111, - 59,118,236,216,210, 62,125,250,164,220,189,123,119, 38,128,208,250,148, 75, 38,147,233,228,127,255,251,223,135, 2,129, 64,232, -233,233,233, 28, 21, 21,149, 38, 16, 8,132,206,206,206, 30,157, 58,117, 98,212, 69,179, 46,216,216,216,116,189,125,251,182, 15, - 74, 58,141,241,202,140, 86, 84, 84,148, 69,110,110,174,133, 88, 44,182,176,179,179,147,148,153,173, 1, 3, 6, 88,176, 88,172, -106,175,219,252,252,252, 99,243,230,205,147, 13, 24, 48,160,236,127, 92,191,126, 29, 59,119,238,132, 72, 36,122,107,221,126,253, -250, 97,220,184,113,114,173, 86,251, 95, 51,178, 59,122,194,132, 9,158, 74,165, 18,223,124,243,141, 38, 57, 57,185, 43,128,120, - 0,178,110,221,186,125, 31, 21, 21, 21,208,170, 85,171, 3, 0,252,171,187,247, 42,243, 34,229,141,142, 57,105,117, 93,223, 92, -179, 85, 33,169,202, 49,180,222, 50, 90,193,193,193, 87, 80, 69, 79, 42,221,235, 84,240, 96,132,128, 73, 65,200, 44,103,182, 96, - 2, 43, 39, 13, 84, 29,122,169, 84,246, 48,228,114,185, 96, 50,153,208,106,181, 48,119,162,234, 50, 83, 32,149, 74, 33, 22,139, - 81, 84, 84, 4,131,193, 0, 62,159, 95,102, 70, 32,149, 74,193,102,179,193,102,179,193,231,243,255, 16, 77,170, 24,205,225,112, - 56, 16,137, 68, 72, 73, 73, 65,124,124, 60, 76, 38, 19,196, 98, 49, 68, 34, 17,184, 92, 46, 84, 42, 21, 84, 42, 21, 8, 33, 16, -137, 68, 16,137, 68,168, 77,131,107,163,209, 88,233,195, 95,175,215,215, 42,162,101, 48, 24,240,228,201, 19, 36, 36, 36,128,207, -231,191,217, 87, 30,143,135, 23, 47, 94, 64,173, 86, 67, 40, 20, 66, 42,149, 66, 38,147,153,173, 91,182, 47, 18,137, 4, 2,129, - 0, 89, 89, 89, 40, 44, 44,124,115, 76,165, 82, 41, 68, 34, 17,114,114,114,144,150,150, 86,237,190, 27,141, 70,168, 84, 42,164, -167,167, 35, 49, 49, 17, 25, 25, 25,111, 10,160,210,168, 81,253, 2, 59,185,185,200,204,204,124, 19,137,172,106, 49, 7,147,201, -132,188,188, 60,220,190,125,155, 50,153, 76,200,206,206, 54,165,171,213,198,201, 42, 46,142,126,251, 51,217,127,230, 65,241,222, - 83, 97, 69,135, 47, 62, 42, 10, 61, 28, 89,196, 15, 88,104,192,251, 96,131,175, 12,122,118, 80, 70,190,158,151,174,227,200,148, -190,221,128,152,211, 0,131, 5,240,229,104,221,164, 33,226,179,140,162,167,169, 90, 62, 40,244, 64,168,135,220, 44, 77, 35,187, -123,122,158,158, 23,167,179,150,122, 55,243, 71,106,106, 42,120, 60, 30,120, 60, 30, 62,104,215, 13, 49,153, 70,225,227,228, 34, - 33, 8,130,204,210,252,127, 26,137,197,226, 54,237,219,183,167,202,107,246,238,221, 27, 20, 69, 53, 5,224, 85,171, 66,110,109, - 35, 46,116,194,214, 96,145, 25,143, 83, 10,237,143, 70, 21,123,244,237, 63,200,242,167, 11,105,222, 79,212, 26, 87, 16,253, 44, - 16,157,127, 61,204, 86, 39,137, 68,114, 98,221,186,117,174,124, 62,255, 52,128, 14,117, 17, 17, 11,152, 27,191,153, 50,204, 65, - 94,102,178,244,133, 0, 75, 0,176, 5, 0, 75, 0, 91, 27, 5, 22,141,235,110, 41,228,179, 15,215,194,176,238, 13, 13, 13,181, -174,104,178,202, 22, 63, 63, 63,204,159, 63,223,218,210,210,114,143, 57,122, 43, 87, 44, 39,217, 57, 57, 0, 1,114,115,243,177, -114,197,242,172,178,239, 6, 12, 24, 64, 58,116,232,128, 41, 83,166, 96,233,210,165, 56,117,234, 20, 90,183,110,141,241,227,199, -163, 85,171, 86, 53, 73, 7,201,100,178, 93,221,186,117,187,173,146, 72,198,165,248,251,115, 47,202,100, 57, 93,115,114,100, 46, - 81, 81, 58, 79, 32, 18,192,134,164,164,164,158,181, 48, 89, 67,165, 82,105, 88,215,174, 93,117, 18,137, 36, 97,245,234,213,147, -167, 78,157,138,229,203,151, 99,222,188,121,191, 0,248, 15,128,175,146,146,146,236,171, 51, 89,127, 86,185,244,103,149,117, 70, -163, 49,241,224,193,131,173,116, 58,157, 99,105,245, 32, 47, 59, 59, 91,250,250,245,107,137, 78,167, 19,153, 76, 38,145,133,133, -133, 24,128,112,212,168, 81,172,199,143, 31,123, 27, 12,134,228,234, 52,213,106,245,240, 57,115,230,100,100,100,100, 0, 0,154, - 54,109,138,236,236,108,124,254,249,231,248,244,211,146, 14,193, 45, 90,180, 0, 33, 4,169,169,169, 88,185,114,101,170, 90,173, -254,216,140,236, 54,118,119,119, 71, 84, 84, 20,158, 60,121,114, 1,128, 9, 37,237, 88,115, 30, 60,120,240, 48, 61, 61, 29,123, -246,236,225, 56, 56, 56, 28, 67, 21, 67,188, 84,231, 69,234, 2, 69, 81, 39,235,178, 93, 89,228,170,178,136, 88, 21, 84, 31,209, - 10, 14, 14,166,202,127,190, 21, 49,162, 16,145,112,255, 42, 44,125,253,223,138,102, 9,153, 20, 4, 82, 25, 98, 18,227,193, 1, -245,232, 93, 25,173,172,172, 44, 76,158, 60,185,104,248,240,225,153, 38,147,105,144,185,166, 64, 38,147, 65, 38,147,225,241,227, -199,100,224,192,129,169,171, 87,175, 46, 42,111,180,158, 61,123, 70,130,130,130,210, 22, 44, 88,144, 95,157,209, 42,139,104, 45, - 91,182,172,168,115,231,206,233,143, 30, 61, 34,101,102, 74, 44, 22, 99,229,255,177,119,221,225, 81, 84,111,247,204,204,246,150, - 94, 73, 72, 8,161, 36, 64, 32,132, 22, 64, 80, 32, 64, 64, 58, 34,130,136,130, 34, 69, 68, 20, 17, 21,233, 2,210,155, 82, 20, - 69,105, 2,130,210, 17, 8, 85,105, 9, 45,148, 52, 72, 47,155, 77,207,246,221,153,185,223, 31, 73, 48, 64,202, 38,168, 63,245, -219,243, 60,243,108,246,238,204,201,109,115,231,204,123,239,125,223, 21, 43, 12, 61,122,244, 80, 95,187,118,141, 84,164,213,197, -162, 69,211,244, 35,161, 85,249, 26,154,166,193,243,124,157,132,150, 78,167, 27,253,226,139, 47,170,239,223,191, 79, 42,202,233, -232,232,136, 85,171, 86, 25,122,247,238,173,190,115,231, 14,169, 72,115,112,112,176, 89, 12, 86,252,127,149, 74, 5, 7, 7, 7, -220,189,123,151,244,233,211, 71,189,110,221, 58, 99,229,244,123,247,238,145, 65,131, 6,169, 75, 75, 75, 71,215, 36, 94, 42,166, -243, 88,150,133,209,104, 68, 94, 94, 30,210,211,211, 31,153,211, 13, 10,135,200, 81, 47, 15, 12, 53, 24, 12,250,187,241, 9,105, -173, 67, 90,122, 24, 12, 6,125,106, 90, 90, 60, 48,143,175,129,123,120,171, 86,173,242, 39, 79,158,108, 40, 44, 44,124,102,161, - 37, 22,139,239, 11, 4, 2,210,173, 91, 55, 98, 54,155, 73,122,122,186, 53,175,176,144, 13, 94,188,152,220,153, 62,157,146, 69, - 71, 75,148, 74, 37, 85,206, 73, 63,120,240,128,151,201,100,247,255,118,161, 69,243, 94,160,200,115, 23, 18,180, 78,189, 7,142, - 20, 83, 57, 87, 1,139, 22,144, 56, 3, 18,103, 8, 20,174,232,215,173, 45,179,237,114,137, 23, 8,223, 5, 34,137,111,173,156, - 66,226, 9,240,221, 78,198, 27,157,159,123,105,170,184,160,160, 0, 12,195, 60, 18, 69,114,133, 2,189,134,188, 70,127,123,213, -228, 5,144,174,160, 24,223, 58,220,235, 51, 63,251,236, 51, 81, 97, 97, 33,104,154,254,131, 83, 46,199,196,137, 19, 37, 14, 14, - 14,179,109, 30,252,246,182, 16, 65, 40, 9, 7,200,123,113, 57,198, 6, 7,111, 27,130, 62, 88,186, 85,214,170,109, 71,188,253, -130,135,108,233,145,220, 86, 55,211, 13,141, 1,110, 58, 88,115,251,122,136,173,110, 42,149,234, 72,116,116,180,188,127,255,254, - 88,177, 98,133, 66, 38,147, 29,171,207,192,175,211,114,239, 44, 88,247,131,250,214,234,190,128, 69, 87, 38,176, 42, 29,185, 90, - 30,115,182, 70, 21, 91,173,100,148,173,156, 6,131, 97,236,155,111,190,153,191,127,255,254,167, 68,150, 84, 42, 69,114,114, 50, - 62,255,252,243,130,130,130,130, 90, 31,138,171, 86,174,136,137,189,121, 6,223,126,189, 0, 0,193,250, 85,147,112,233,194,110, -167, 23,158,239, 78, 26, 53,106, 68, 58,118,236,136,201,147, 39, 99,209,162, 69,136,139,139,131,155,155, 27, 38, 77,154,132,231, -159,127, 30, 43, 87,174,172,105,144,234,243,206, 59,239,124,158,145,145, 17,116,242,228, 73,129, 70,163,241, 88,249,205, 55,197, -251,138,139, 11,150,196,198,198,125, 18, 18,210,108, 86,155, 54,175,215,224,250,161, 74,145, 53,101,202,148, 93, 25, 25, 25, 97, -167, 78,157, 18,106, 52, 26,223, 41, 83,166, 96,249,242,229,152, 61,123,246,102, 0,111,195,182, 13, 47, 54,143, 75, 12,195, 68, - 14, 31, 62, 60,212, 96, 48,232,227,226,226,210, 66, 66, 66, 60, 12, 6,131, 62, 45, 45, 45,254,220,185,115,124,125, 56,235,131, -252,252,252,164,157, 59,119,198, 79,157, 58, 53, 44, 35, 35,163, 5, 0,215,210,210, 82, 69,105,105,169,196,108, 54,203,156,157, -157,157,219,182,109,235, 54, 97,194, 4,229,141, 27, 55, 90,100,100,100,104,203,173, 72,213,194, 98,177,196, 21, 22, 22, 14,232, -219,183,111, 81, 97, 97, 33,218,180,105,131,129, 3, 7,194,203,203, 11, 13, 26, 52,192,224,193,131,209,188,121,115,228,231,231, - 99,212,168, 81, 5, 26,141,166, 47,128, 7, 54,100, 55, 41, 39, 39, 7, 93,186,116,193,130, 5, 11, 6,140, 24, 49,226, 78,183, -110,221, 74, 66, 66, 66,244,190,190,190,193,107,215,174,133,143,143, 15,246,238,221,235, 45,145, 72,118, 86, 33,178,170,213, 34, - 0, 52,229,130,199,252,196,167,166,150,223,108,189,182,202,191,109, 56,239, 73,177, 85,249,120,106,234,176,234, 6, 1,230,124, -191,119,155, 81,236,215, 20,142, 65,161,144, 75,165,144,137,197,144, 57,187,194,196,243,248, 38, 57, 71,175, 35,100,118, 93, 59, -207,147, 15, 66,138,162,176, 97,195, 6,182,115,231,206,198,168,168,168,245, 6,131,193, 15,101, 94,101,109, 22, 5,235,214,173, -211, 79,155, 54,237,102,110,110,110,168, 84, 42, 53, 87,164,175, 95,191, 94,255,218,107,175,197,102,100,100,132,201,229,114,125, -117,235,179, 42, 11, 45,137, 68, 98,202,205,205,237, 56,126,252,248,251, 95,125,245,149, 78, 46,151, 67,161, 80, 64, 34,145,152, -115,115,115, 67, 39, 79,158,124,115,249,242,229,122,153, 76, 6,133, 66, 81,167,105, 57, 66,200, 83,130,170,114,186,173, 96, 89, - 54, 42, 55, 55, 55,116,218,180,105, 55,214,174, 93,171,171, 16, 64,149,243,184,114,229, 74,189, 82,169,172,147, 69,171,226, 60, -133, 66,129, 53,107,214,232,167, 78,157,122, 51, 55, 55, 55, 84, 34,145,152, 43,165,235,222,121,231,157, 27,185,185,185,161, 44, -203, 70,213,240, 54,198,149,148,148, 64, 32, 16, 32, 54, 54,214, 36, 18,137, 64,211, 52, 18, 19, 19, 31, 13, 62, 46, 46, 46, 45, - 67, 91,135, 4,255,176,107,239, 57,153, 72, 34,233,220,177,125,139, 7, 41,169, 25,132, 80, 41,181,100,245,103,131,193,224, 23, - 21, 21,181,190,115,231,206,198, 13, 27, 54,176,213, 89,182,108,129,201,100, 58,119,253,250,117,171, 84, 42,165,178,179,179, 89, -134, 97,192,113, 28, 49,117,236,104,106,189,118, 45,185, 59,107, 22,229,160, 80, 8, 68, 34, 17,228,114, 57,117,252,248,113,179, - 94,175, 63,247,247, 11, 45,200, 65, 65,150,144,107, 82, 73,105,150, 66,252,207,101, 34, 75,234, 4, 72,157, 1,169, 51,124,124, -124,113, 53, 89,175, 2, 13, 49, 56, 27,124,136, 17,162, 0, 5,121,172, 26, 42,161, 88, 70,229,228,228, 60, 18, 68, 21, 71, 64, -211, 22,184,158,170, 85,130, 34, 18, 48,168,139, 11,146, 1,174,174,174,130,236,236,236,167, 56, 91,182,108,201, 88,173, 86,219, - 93,187,100,113,222, 0, 63, 37, 62,199,232,125,224,166, 46,104,250,146,111,101, 50,174, 8,136, 94,135, 86,129, 13, 48,253,165, -182,226, 79, 15,106, 90, 93, 75,209, 7,130, 33,111,131,215,186,215, 33,159,207,169, 84,170, 99,215,174, 93,147,171, 84, 42, 60, -120,240, 0, 29, 59,118,196,150, 45, 91,228,114,185,252, 40,128, 58,173,199,187,162, 70,170,182,148,235, 60,115,111, 90,206,173, -108,246, 49,145,165,209, 17,188,249,197,193,162,194, 18,227,240,203,233,213,223, 63, 85,224, 70, 81, 81, 81,159,217,179,103,231, -107, 52,154,199, 68, 86,106,106,106,197, 67,241, 5, 0,181,190,252,158, 61,115, 34,108,241,162,105,184, 22,125, 7,253, 6,188, -135,235,183,146,240,201, 71, 67,224,228, 32, 67, 84, 84, 20,134, 14, 29,138, 5, 11, 22, 32, 49, 49, 17, 63,254,248, 35,181,101, -203, 22,234,242,229,203,212, 23, 95,124, 65,213,178,164,225,213, 37, 75,150,224,218,181,107,232,223,191, 63,206,159, 63,143,130, -130, 2,236, 62,118, 44, 97,103, 66,194, 39, 21,107,182,170,113,253, 80, 37, 28, 28, 28, 62, 88,178,100, 9,162,163,163, 31,113, -230,231,231, 99,201,146, 37, 25, 0, 38,213, 69,100,213,101, 92,106,211,166, 77,240,174, 93,187,206, 73,165, 82, 73,199,142, 29, - 91, 36, 39, 39,103, 0, 72,169, 7,103,201,179,204, 84,229,229,229,253,190,101,203,150,203, 61,123,246,148,143, 29, 59,214,253, -151, 95,126,113,213,235,245, 13, 36, 18,137,135,217,108, 22,223,187,119,143,217,183,111,159,215,221,187,119,147,141, 70,227, 85, - 91,234, 35, 55, 55,247,106, 92, 92, 92,223, 54,109,218,220, 91,191,126,125,134,183,183, 55, 63, 97,194, 4,188,249,230,155,112, -119,119,231,214,172, 89,147,214,173, 91,183,216,164,164,164, 8,189, 94,127,219,198,188,126,183,120,241,226,223,118,237,218,133, -129, 3, 7,226,139, 47,190,192,238,221,187,113,230,204, 25,217,133, 11, 23,196, 91,182,108,129, 72, 36, 66,120,120, 56,250,244, -233,211,171,124,186,211,214,231,210, 53,138,162,142, 80, 20,117,234,137,207,107, 53,253, 86,135,107,171,251,187,198,243,158,200, -230,150, 39, 14,219,241,106, 32,230, 77, 12, 81,233,127, 31, 19, 78,114, 38, 60, 71,212, 35, 91,144,139,207,187,144,241, 77, 40, -221,216,122,186,119, 48, 24, 12,143,142,253,251,247, 19, 47, 47, 47,157, 74,165,170,179,123, 7, 47, 47, 47,117, 73, 73, 9,233, -208,161, 67,129,187,187,251, 35, 87, 4,222,222,222,106,157, 78, 71,194,195,195, 11, 60, 60, 60, 30,185,119,240,245,245, 77, 39, -132, 16,127,127,255,172,234, 38,158,227,147, 0, 0, 32, 0, 73, 68, 65, 84,248, 88,150, 37, 94, 94, 94, 21, 59,244,132, 46, 46, - 46, 27, 59,117,234, 84,160, 86,171,137,183,183,247, 35,215, 9,238,238,238, 43, 58,118,236,248,100,122,109,249, 77,207,200,200, - 32, 25, 25, 25,164, 97,195,134, 89,149,211, 83, 83, 83, 73,106,106, 42,241,245,245,173,179,123, 7,119,119,247,229, 85,228,165, - 94,121,244,243,243, 83, 27, 12, 6,210,165, 75,151,199,234,212,207,207, 79,109, 52, 26, 43,210,109,114,239, 32,147,201,222,150, - 74,165, 89, 82,169, 52, 75, 34,145,124,222,168, 81,163,220, 61,123,246,144, 53,107,214, 84,108, 73,135,123,203, 65,157,155,118, -121,253, 19,247,150,131, 63,120, 22,247, 14, 42,149,234,180,151,151,151,110,255,254,253,143,245, 47,131,193, 96,179,123, 7,153, - 76,150,161,213,106,121,181, 90,109,253,237,183,223,244,209,209,209,250,216,216, 88,125,114,114,178, 33, 63, 55,215,162, 86,171, - 13,197,197,197,166,155, 55,111,154,228,242,255,141,123, 7,178,165,121, 83,178, 49,248, 96,210,130,128,187,211,186,203,141,183, - 23,133, 18,242,211, 80, 66,142,190, 73, 72,212, 76,114,117,243, 4,210, 37, 64,194,253, 54,163, 97, 60,217, 20,116,192, 22,151, - 12,100, 75,235,166,100, 99,240,209,132,249, 1,119,199,118,107, 96,252,230,171, 53,228,202,149, 43, 36, 54, 54,150, 60,120,240, -128, 28,253,121, 15,233, 18, 40, 47,227,220, 24,124,176,142,110, 30,186, 74, 36, 18,237,170, 85,171,200,229,203,151, 31,113, 30, - 60,120,144,200,229,114, 61, 96,219,174,101, 2, 80,100, 99,203, 33,236, 87, 65, 23, 62,237,173, 44,205, 63, 60,147,144,219,219, - 8,217,210,138,144,239, 58, 17,178,231, 69, 66, 14,189, 78, 46,175,121,137,116, 13, 16, 89,201,166,160,243,100,115, 75,155, 23, -219, 11,133,194,146,253,251,247,147,172,172, 44,114,254,252,121, 18, 29, 29, 77,238,223,191, 79,210,210,210,200,145, 35, 71,136, - 80, 40, 52,162, 30, 97,203, 58,121,194, 63,162,153, 40,251,230,210,174,132,252, 50,138,104,118,190, 74, 6,132,168, 10,194, 27, - 62,147, 63,186,182,174,174,174,121, 71,142, 28, 33,201,201,201,228,220,185,115,196,195,195, 35, 15,128,205,235,101, 7,244,235, - 70,136,249, 38,233,209, 61,132,180,105, 19, 66,158,239,218,140,100, 38,173, 35, 29,219, 53, 34, 27, 55,110, 36,106,181,154, 52, -106,212,136,212, 53, 99, 17, 17, 17, 87, 8, 33, 49,253,251,247,143, 1,112, 60, 34, 34, 34,230,225,195,135, 49, 29, 59,118,188, -140,154, 93, 63, 84,139, 94,189,122, 89, 8, 33,164,127,255,254, 4, 64, 86, 68, 68, 4,121,248,240, 33,233,216,177,163,185, 62, -149,103,203,184, 20, 22, 22,214,185,103,207,158,159,132,133,133,125, 96,139,123,135, 90, 56,255, 44, 39,212, 12,202,156,127,182, - 4,208,190,252,104, 81,158,198, 60, 3,231,235, 66,161,240, 27, 23, 23,151, 51,206,206,206, 81, 12,195,108, 1, 48, 6,245,243, -111, 70,151, 91, 24,127,117,119,119, 79,108,211,166,141,161,111,223,190,164, 95,191,126,100,202,148, 41,132,231,121,178,103,207, - 30,178, 96,193, 2,210,196,213,149, 93, 3,228,109, 2,222,128, 29,101, 14, 75,223, 8,164,206,141,110,140,210, 81,141,161, 29, -215,132,178,197, 97,105, 68,117, 66,139,231,121, 18, 31, 31, 79,122,244,232,161, 83, 40, 20,153,176,221, 97,233, 99,156,110,110, -110,209, 30, 30, 30, 79, 57,209,172,148,254,152,195, 82, 15, 15,143,223,189,189,189,213,238,238,238,215,171,226,116,115,115,139, -246,246,246, 86,187,185,185, 61,230,220,147, 97,152,254,110,110,110,153, 79,166, 11, 4,130,158, 30, 30, 30,233, 79,166, 87, 83, -118,120,121,121,165,103,101,101, 17,141, 70, 67,252,252,252,178,158, 20, 96, 57, 57, 57,143, 9, 48, 91, 56,107,203, 75, 13,121, -172,146,211,134, 58,173, 79,187, 87,160,185,143,143, 79,238,202,149, 43,137, 82,169,124,108,203,115, 80,247,113,159, 93, 73,208, -150,188,249,209,198, 61, 85, 56, 44,181,213, 57,104, 95,133, 66,145,217,163, 71, 15, 93,124,124, 60,225,121,158,240, 60, 95,157, -208,170,138, 51,178,125,251,246,249,121,121,121, 92,105,105, 41,155,158,158,110,122,248,240,161, 97,209,162, 69, 22,141, 70, 99, -212,106,181,230, 91,183,110,153,188,189,189, 53, 0, 34,235,218, 70,245, 68,196,147,211,103,100,115,139,174,100, 83,139, 35,247, -231,250,223,123,189,147,194, 20,179,178, 63, 33, 81, 51,201,229,141,111,146,206, 1,226, 50, 65,180, 57,248, 24,249,182,121,119, -178, 46, 80,108, 19,231, 55, 77,186,145,205,193,199,238,206,241,191, 55,180,157,187,121,215,182,205, 36, 49, 49,145, 28,220,183, -147,132, 55, 46, 23, 89,155, 90,252, 74, 54,182,232, 97, 11,103, 85, 98,107,235,214,173, 36, 49, 49,145, 28, 56,112,192, 86,145, - 21, 81,149,208,250, 56, 66, 89,244,102, 39,169,105, 84, 91,177,121,112, 43,145,165, 79, 83, 17,219,197, 95,192,133,122,211,124, - 11,119,144, 62, 65, 50, 19,217, 20,116,158,108,106,209,215,214,124,138,197,226, 52, 84,242,169,243,228, 33,145, 72, 52, 53, 8, -173,136, 90,197, 86,115, 73,246,233, 5, 61,201,192, 54,170,124, 27, 69, 86,109,125,169,173,155,155, 91,222,119,223,125, 71, 60, - 61, 61, 53, 54,138,172, 71,156,131, 6,244, 33,169, 73, 71,201,129, 61, 75, 72,143,238, 45,200,246,173,211,200,149,243,115,201, -139,253,122,144,136,136, 8,146,151,151, 71,122,246,236, 73,234,154, 79, 71, 71,199,237, 90,173, 54,230,196,137, 19, 49, 17, 17, - 17, 49,219,183,111,143,185,120,241, 98,140, 92, 46,223, 94, 97,156,120, 82,108,181,120,122,252,143,120,194,162, 21, 83, 90, 90, - 74, 78,156, 56, 65, 34, 34, 34,200,246,237,219,201,197,139, 23,137, 92, 46,143,169,239,125,100,235,184,212,187,119,239,207,146, -147,147, 75,230,204,153,179,167, 10,135,165,182,114, 38,254, 73,249,252, 83,198,144,255, 1,167, 74, 38,147,197,220,188,121,147, - 20, 22, 22,146, 16, 79, 79,178,152, 97, 72,134, 72, 68,178, 68, 34,178, 17, 40,248, 15,200,164, 9,213, 77, 29,254,213,168, 82, -104, 25,141, 70, 50, 99,198, 12,179, 84, 42,213,139, 68,162,186,134,224,249, 87,119, 66, 55, 55,183,223, 61, 61, 61,213,158,158, -158,143,137,189,202,233,110,110,110,215,255,227, 55, 96,115,145, 72,148, 42, 20, 10, 31, 15,193,211,114, 80,231, 38, 93,199,206, -246,108, 53,168,223, 51,230, 83, 36, 18,137, 62,150, 74,165,250, 25, 51,102,152,181, 90,109, 93,132, 22, 0,244,150,203,229,153, -223,127,255,189, 33, 33, 33,193, 90, 80, 80,192, 94,185,114,197, 26, 29, 29,109,158, 55,111, 94,169, 92, 46,207, 68,245,110, 9, -254,150,250, 36,235, 2,197, 21, 98,235,246,108,255,251, 3, 67,228,150, 45,239,247, 33,157, 27, 61, 33,178,170,247,228, 94, 53, -103,185,216,186,241,169,223,253, 30,205,149,236,146,217,211, 73,120, 99,217,227, 34,171, 14,156, 79,138, 45,185, 92, 94, 58,119, -238,220,186, 88,178, 30, 23,132,223, 4,249,145,205,193,219,203, 68, 84, 45,199,198,160,175,201,134, 32,191,127,202,125,212,201, - 19,254,189,154, 75,238,212,193,146,101, 75, 62,219, 58, 59, 59,223,171,131, 37,235, 17,231,134, 13,235,201,171, 35,123,147,164, -123,251,137, 54,255, 40,185,126,105, 21, 25, 54, 40,140,132,135,119, 36,155, 55,111, 38,113,113,113,164, 67,135, 14,164, 30,249, -236, 51,113,226,196,152,135, 15, 31,198, 60,120,240, 32,230,226,197,139, 49, 67,134, 12,137, 1,208,167,242, 76, 80,133,216,178, - 12, 27,102,106, 75,211,211,107,225,124,101,226,196,137,228,225,195,135,228,193,131, 7,228,226,197,139,100,200,144, 33, 4,117, - 11,223, 83,175,113, 41, 44, 44,172,115,143, 30, 61,102,183,107,215,174,223,159,197,249,255, 80,104, 41,134, 14, 29,202,115, 28, - 71,250,245,235,199,173, 5,138,182, 80,148,122, 11, 69,169, 55, 3,154,255,186, 69,235,175, 14,248, 25, 1,224, 84,229, 4,169, - 84,170, 54, 26,141,238, 74,165,242,103,173, 86, 59, 21,101,219, 34,159,137,243,175,200,167,157,243, 63,193,233,173, 84, 42,215, -107,181,218, 33, 82,169, 84, 99, 52, 26, 61,235,192,233, 36,145, 72,166, 75,165,210, 30,122,189,190, 57, 0, 40, 20,138,120,147, -201,116,198, 96, 48,172, 6, 80,244,191, 46, 59, 89, 23, 40,134, 88,220, 30, 4,179, 98,210,116,141,151,156, 40,240,127,191,167, -115, 90,151, 38,138,100, 8,249, 47, 64,153,174, 82,111,164,154,234,204, 41,163, 58,130, 19,206,186,154,162,111,244,197,201, 82, -255, 15,122, 40,211,186, 4, 42,211, 64,240, 5, 36,250, 75,117,229,124, 82,108, 41, 20,138,239,117, 58,221, 91, 0,206,212,181, -236,100,111, 11, 17,116, 86, 31, 88,153, 16,144, 26, 66,248, 16,162, 7,205,196, 34, 7,106,106,222, 61,139,253, 62,170,154,243, -171,175,190, 36,167, 78, 30,133, 73, 95,128,236,220, 18,188, 58,102, 28,218,182, 13,131,155,155, 27, 22, 47, 94,140,166, 77,155, - 98,193,130, 5, 84, 61,242,217, 71,169, 84,190, 26, 28, 28, 28,120,247,238,221, 7,122,189,126, 7,128, 95,159,124,254, 4, 3, - 61,228, 2, 65,168,129,101,207,223, 3,162,107,225,124, 69,169, 84,126, 16, 28, 28,220,234,238,221,187,119,244,122,253, 74, 0, -187,237, 99,221,191,131,147,166,233,213,254,254,254,195,146,147,147,103, 1,216,133,255, 71,248,219,133,150,157,211,206,249, 47, -228,172,184, 79,200, 63, 45,159,127,136, 45,126, 42, 40, 52, 6,161, 50, 32,226,215,212, 34,178,106,231,148, 81, 29,193, 10,222, - 3,133,134, 32,200, 1,161, 87,215, 34,178,254, 94,145, 9, 80,152, 87,195,248, 53, 15,132,170,190,189,236,125,190, 10,124,246, -217,103,228,248,241,227,144,203,229, 48, 24, 12,232,219,183, 47, 22, 46, 92, 72,217,199, 16, 59,231,223,200,249,159,132,192, 94, - 5,118,216, 81, 43,200, 63, 53, 99,212,187, 15,204,100,111,139,107,200, 99,102,128, 70, 99,128, 77,133,142,205,161,222, 77, 53, - 63, 35,231, 21,228, 81,211,192,160, 57,196,108, 18,180,230, 28,106, 82,253, 57,255,130, 55, 68,130,121,255,220,118,249, 55,226, - 73, 81, 21, 29, 29,109,175, 20, 59,236,176, 29, 19,240,248, 78,195, 71,223,237, 66,203, 14, 59,254,229,160, 70,220,179, 0,200, - 40, 63,254,177,156,118,216, 97,135, 29,255, 15, 5, 23, 40, 84,191,160,173, 46, 38,193,250, 44,180, 59,101,231,172, 23, 39, 3, -192, 17,128, 19,202,124,144, 84,108,233,173,205,205, 70, 63, 0, 86,123,125,218, 57,237,156,118, 78, 59,167,157,243,127,204, 89, - 27,247,191,113, 74,178,170, 93,134, 91,254,142,127, 28, 97,231,252, 83,209,247, 63, 83,118,130, 80, 16,172, 41, 63, 66,237,237, -110,231,180,115,218, 57,237,156,255,239, 57,255,147,176, 79, 29,254,187, 32,253,215,230,156, 16,111, 0, 21, 78, 46, 99, 97,164, -130, 33,197, 52, 0, 64, 41,174, 19,130, 4, 0, 33,229,191,167, 83, 84,157,119,163,218, 97,135, 29,118,216, 97,199,255, 10, 97, - 0,174, 3,240, 6,240, 34,128, 35, 40,247,170,240, 63, 21, 90, 50,215,102,222, 16,208,109, 40,158, 4, 3, 0,161,169,251, 96, -249, 91,134,252,132,103,126,200, 42, 27, 52,119, 33, 16,239,165, 96, 30,161,205,138,127,102,103,104, 33,205, 29,134,121,186,169, - 94,205,201, 47,254,254, 78,156,246,151,186, 92,235,232,232,239, 40,117,113,126,201,100,177,134,136, 69,162, 52, 75, 81,201,150, -194,194, 7,165,245,200,134, 75, 77, 63,206,155, 71,168,195,217,215, 41,145,220, 66,187, 58,136, 40, 45,180, 68,155,173,228, 3, -138,146,201,190,125, 35, 72, 93,219,134,162,241,130, 66,165,106, 39,145,202, 59,202, 85,206,205,120, 2, 20,168, 51, 83,204, 86, -246, 34,103,214,199, 16, 30,103,235,208, 86,175, 1, 88, 2, 0,232,217,243, 20, 66,224,128,213, 21, 25,199,164,158,183,241, 90, - 84, 20, 42,156,203,126, 12, 96,105, 29,178,235, 4,192, 31, 64,113, 72, 72,136, 62, 54, 54, 86,243,103,245,209,103,105,247,154, - 32,145, 72,101, 86,171,197,194,113,220, 51, 7,166,150,200, 29,230, 62, 21, 94,137,162, 97,212, 22,206,183,143,125,118,216, 97, -135, 29,127,171,208,122, 17,101, 83,134,181, 47,134,247,111,249,220, 53,169, 84, 22, 0, 0, 60, 33,224, 9,160, 43, 41,138,201, -121, 16,221, 23, 0,220, 26,133,157, 16, 74, 29,218,241,164,236,119,142, 7, 88,139, 49,185, 36,245, 74, 7, 91,114,164,112,111, - 62,180,103, 68,175, 97, 3, 6,188, 24,212, 58,164,117, 19, 0,184, 29,123, 59,233,240,225, 35,113, 81,167,168,253, 58, 77,252, -129,103, 50,160, 64,186,176,125,251,182,207, 69, 71, 95, 95, 0, 96,202,179,214,160,171,171,114,234,175, 63,205,232,222,107,216, - 10, 5, 80,183, 7,174,212,197,249,165,193, 3, 35,219,126,248,238, 68,250,205, 25,139, 3,174,253,118,118,153,210,187, 85, 17, -225,173,191,234,212, 35, 47,212, 20, 56,249, 73,253, 88,157,192,218, 81,112,156, 94,243, 93,103,103, 67, 65,210, 72,194,115, 35, - 41,138, 2, 35,150,239,115, 15,124,110,143,211, 11,239, 23, 2,176,121,199,152,131,119,203, 8, 15,111,223,253, 35,199, 77,151, -202, 29, 61, 5, 96, 68, 0, 40,100,165,220, 67,212,238, 37,206,239,205,223, 26,246,219,173, 84,246,244, 79, 95, 26, 41,145,112, -152, 62,251,110,237,243,233,169,169, 78,240,247, 47,251,251,235,175, 63, 67, 64,227,219, 40, 91,107, 6,172, 66,241, 15, 89, 8, - 1,202,132, 86, 74, 10,156,109,205,107,223,254, 47,247, 78, 75, 77, 88,144,149,153,246, 11, 45, 16,240,133,197,186,247, 93, 93, - 61,180,249,249,185, 61, 80,190,144,219,205,205, 77,145,151,151,103, 1, 96,249, 59,219,253,165, 55, 22,126,189,239,187,207,222, -170,234,183,201,239, 45, 92,237,239,235,164,120,119,202,248, 42, 3,114, 63, 31, 57,254,195,115,199,183, 46,175, 85, 16, 43, 84, -115,135,191, 53,123,222, 11, 61,251, 60,150,126,229,210, 69,236,220,240, 25,116,165,118,177,101,135, 29,118,216,241, 55,224, 72, -185,184, 58,242,228, 15,213, 10, 45,169, 84, 22,112,249,236, 97,151, 3, 23,211, 1, 0, 17, 97, 94,248,100,209,250, 62,219,215, - 69,199, 1, 64,231,158, 3,154, 47,248,248, 93,252,126, 39, 23,132, 16,180,109,234,138,126,131, 71,216, 38, 60, 60, 91,116,120, -233,165,225,163,103,204,248, 96, 80, 98, 98, 98,202,174, 93,187, 46, 0, 64,183,238,221,155, 46, 94,188,248,229, 21,206, 46,146, - 31,247,253,148,105, 84,223,187, 86,159,210, 74, 27, 4,250, 4, 53,107,252,234,143,223,174,167, 95,232, 59,124, 84, 10,116, 75, -140, 89, 15, 50,109,185,214,205,205,109,154, 80, 40,116, 4,202,162,177, 87,192, 98, 33, 94, 0,192,114,188,202,185, 65, 80, 41, - 35,146,114, 18,137,232,110,169, 86,251,125, 73,230,189,111,106,226, 52, 89,173,173,222,155,244, 6,125,227, 65, 62, 2, 90,117, - 99,214, 44,249, 20, 60,103,117,158,254,241,162,151,162,175,252, 8,157, 26,231,108, 44,154,240,201, 4, 31,159,112,102,225, 18, -101,111,138,194,235,254,157,199, 13, 89,176,109,159,176,125, 83, 7,152,172, 60,142,197,228,119,222,184,122,225,242,223, 54,190, -120, 8,192,102, 0,167, 1,212, 42,234, 92, 92, 93,118, 76,155,189, 90,169, 51,255, 97, 37, 41, 23, 89,248,250,251,189,184,153, -206, 35, 56, 40, 88,224, 53,109,153,114,243,162, 9,219,244,101,113,182,170,146,187,129, 0,186, 2,247, 93,240,246,252, 94,248, - 97,233,231,240,240,208, 65,165, 74, 3, 5, 79, 0,205,202, 79, 76, 16,231, 33, 29,192,199,185,185, 80, 44,152,136,190, 55,128, -143, 66,129, 92, 0,191, 81, 53, 69,141, 39,236,146,247,102, 45, 15,113,111, 28,210, 49, 54, 46, 19,151,143,124, 9, 77, 78,170, - 83, 97, 97,222,247, 13,155,134, 18,133,163,123, 88, 81,206, 67, 56, 56,225, 33, 69,184,193,197,197,133, 57, 0,108,178, 34,121, -121,121,205,245,241,235,212,189,162,221, 93,252,219, 22, 86,252, 70, 51,130, 29,121, 15,175,189, 91,211,245,254,193, 3,199, 47, -249,178, 91,143,251, 55, 79,236, 77,123, 16,115,145,181, 90, 76,205,130,218,180,127,227,245, 81, 47,223,207,116, 11,213, 20,153, -112,243,246,157,182, 75,151,126,177,244, 78,236,237,219, 42,149,147,115,227,230,161,157,130,219,244, 31, 85, 96,118, 9,180, 69, -104,177, 44, 7, 87,175, 64, 8,165, 42,248,122, 58,162,168,212, 4,157,137,133,155, 87, 99,176, 44,107, 31,250,236,176,195, 14, - 59,254, 30,100,227,241,197,239, 91,106, 21, 90, 0,160,148, 9, 16,247, 48, 7, 0,224, 36, 3,166,190, 61, 22,249,121,154,230, -102,150,199,184,177, 99,112,253,126, 54,226,146, 53, 32,132,160,185,175,205, 65,184,193,128,111, 63,110,252,184,231, 79,252,250, -235,213,207,102,127,246, 3, 69,225, 18, 0,108,222,242,117,231, 57,115,231,188, 53,102,236,152,222,251,246,237,187, 3,160, 94, - 66, 75, 64,169,214, 47, 95,250,185, 56, 35,207,104,156, 54, 99, 22,255,193,251,211,214, 0, 24,110,147,146, 17, 10, 29, 51, 50, - 50,148, 52,253,120, 44,205, 47, 62,159,117,190,247,176, 21, 9, 41,105, 69, 55, 78, 28, 60,216,161,101,203,150,200,200,204,233, -186,108,237,166,208, 99, 39,100,111,148,150, 24,134,233,243,238, 85, 25,180, 89, 34, 20,222,153,191,108, 99, 91,222,169, 41,253, -201, 91,253,209,170, 73, 3,100,230, 22,161,123,223, 65,130,152,107,215,250, 0, 54, 11,173, 39,157, 7,190,100,230,115, 67, 23, -127,127,165,215,144, 46, 13,218,211, 52, 3,173,193, 10, 77,177, 9, 28, 15,116,107,225,136,200,237,107, 5, 5, 58,235,208, 69, - 63,165, 15,189,180,110,128,218, 88,156,245, 14,128,253,181,216, 3, 93,124, 61, 28, 16,151, 94, 90,165,200,210, 25,203, 30,224, - 34,134, 3, 5,226, 90, 3, 81, 87, 0,223, 1,193,192,201,119, 70,195,211,115,151,167,167,231, 75, 30,158, 94, 49,205, 71,191, - 65,249, 4,180, 80,105, 13, 22,220,189,115,187,180,101,187, 88, 82, 90,144, 59,221,168, 43,220,119, 15,136, 13, 6,246,148,115, -188,129, 26,132, 86, 66,194,189,162, 55, 94,233, 33,184,145, 84,138, 7, 10, 5, 90,117, 25,130, 98, 77,134, 48,242,141,249,157, - 12,165,197, 82, 87, 79,127,220,251,125, 47, 52,105,137,109,141,102,211, 1, 23,191,206, 61, 14,125,247,145,185, 54,235,150,151, -151,215,220,183,223,126,123,158, 38,251,254,194,222,195, 86,180, 73, 73, 43,186, 49,122,254,153, 14,147,135, 54,197,177, 91, 37, -248,124,124,143, 87, 1,212, 40,180, 24, 1,225,164, 74,175,128, 97,175,188, 51,171,129,187,116,150, 92, 70,195, 73, 33,198,175, - 87,114,241,227,175,233,176,178, 4,225,109,154, 53,159,250,225,234,109,222,174, 98,100,231,153,145,169, 49, 66,157,103,132, 54, - 95,111,178,169, 67, 80, 20,114, 53,249, 56,114,232, 8, 40,161, 20, 20, 77,193,106,177, 64, 64,211,160,104,202, 62,244,217, 97, -135, 29,118,252, 61,168,118,215,161, 0, 0, 14, 31, 62, 76, 6, 12, 24,240,212,168,204,113, 4,113,201,101, 75,112, 24,134,193, -139,207, 53,197,154,101,243, 97, 48,179,184,249,176, 24, 7,126, 79,135, 89, 87, 4, 66, 8,242, 90,121, 84,245,143, 31,155, 82, - 90,177, 68, 22,198, 72,132, 35,127,187,162,104,228,226,236,236,156,112,231, 7,221,156,247,213, 45, 4,196, 18,179,232,139,166, - 15, 69, 46,130, 46,123,247,238,105, 57,112,192, 0,177, 82,169,154, 73, 4,161,190, 66, 29,249,160,184,248, 86,113,117,156, 79, - 66,230, 17, 60,104,208,139,145, 61,189,188, 60,249,209,139,175,220, 95,255, 78,152, 95,179,166,205,186,198, 89, 13,131, 12,185, - 9, 7,171,185,236, 17, 39,207,243,160,105, 26,106,181, 26, 28,199,193,100, 50,193,106,181, 34, 61, 61, 69,205, 19,226,203,129, -167,189,189,125, 33, 16,136, 17,208,200, 31, 27,215, 44,145,111,255,241, 96,199,143, 62, 91,248,139, 62, 15,225,248,195,185,229, - 35, 78, 99, 65,225,190,163,199,127,117, 39,136,106,240,201, 91,253,153,220, 66, 45,162,174, 37,226,250,221,244,186, 54,228,147, - 46, 28, 26,101,166, 38,150,172, 88,177,130, 89,112, 44, 49,189,103,191,225,156,127,147, 54,141, 76, 28, 1, 64, 65, 34, 18, 64, - 36,160,225,239, 46,197,207,179, 66,112,101,240, 45,207, 62, 97,238,171, 9, 33,251,107,170, 79,147,201,202, 61, 23,172, 96, 66, - 3, 29,113, 43,169, 16, 87,143, 93,194,180,217,171, 17,253,208,132, 82,173, 30, 20,103, 2, 67, 76,200, 75,125, 0,150,227, 72, -109,237, 94,134,176, 66, 0,144, 72, 36, 31, 31, 56,116,188,129,137,151, 34,167,200, 4,117,161, 9, 77,195,135, 41, 82, 51, 53, -248,110,254,203, 31, 3,216, 23, 12,148,218,192, 41, 1,208, 35,229, 97,188,213,108,230,120,163,133,163, 91,249, 57,226,155,147, -215, 16,210,227, 21,163,152, 97,100, 42, 71, 55,128, 0,173,186,191,130,171,191,108,128,146,102,218,201, 28, 36,161, 0,174,214, -212,151, 42, 68,214,220,185,115, 49,229,237,151,193, 19, 34,228,192,211, 0,240,213,129, 68,248, 7,120,212,212, 70,127,132,139, -225,104,202, 98, 33, 40,213, 90,161, 41, 50, 67, 37, 21, 32, 62, 77,135,196, 84, 45, 94,238,235,131, 97,189,188,193,241, 4, 99, -102, 94,199,240, 62,222, 24, 61,192, 23,160, 40,228, 21,154, 97, 50,115,213,150,157,166,233,198, 12,195,132,113, 28,119,189,236, - 59, 3, 14, 64, 73, 97, 30, 76, 38, 19, 24,134,129,179,139, 59, 0,234,177,115,121,158,127,104,235,125, 84, 79,216, 57,237,156, -118, 78, 59,103,189, 81,157, 22,249,151,160, 90, 87, 14,116, 77, 87, 37,165, 23, 32,238, 97, 14,218, 5,251,160, 73, 35,111, 92, -141, 47,196,142,168,116,108, 61,145,138,168,155, 26,240, 2, 21,114, 74,128,132, 20, 53, 18, 82,243,106,245,159,205, 72,132, 35, -223,123,175,120, 70,235,150, 37,225,103,143, 77,133,143,123, 66,203,143, 62, 42,154,202, 72,132, 35,157, 27,170,118,205,154, 49, -253, 85,149, 92, 46, 54,155,204, 8,108,236, 47,125,247,157,169,111, 80,206, 18,155, 99, 34,169,124, 90, 56, 75,100,178,111, 22, -205,155, 41, 89,125, 32, 33, 77,103,134,110,255, 37,245,131, 15,102,205, 41, 16, 8,165, 27, 85, 62, 45,108, 94,251, 99,181, 90, - 97, 50,153, 96, 54,155, 97,177, 88,144,153,126,111,208,233, 3, 31,246,109,220,208,165,175, 68, 42, 5, 1, 80, 98, 96,241, 48, - 91,143, 30,189,122, 51,237,194,194, 90, 41,189, 91,140,175,138,171,184, 56,181,152, 39,140,234,240,207, 59,153, 61, 39,111,224, -135,195,215,240,203,153, 27,184,122,238, 24, 75,120,235,163,248, 95, 74,239,166,205,149,222,173, 83,149, 13,218,168, 31, 29, 62, - 33, 53,186,103,102, 24,154,244,232, 21,113,234,237, 41,239,158,213,151,230,231,126,179,126,126,166, 38, 43,229,158, 68, 68,177, -114, 9, 3,173,145,197,182,211, 89,120,105,201, 77,220, 77,211,130, 16, 82,107, 0,111, 30,120,127,228,248, 15, 57,171,197,130, - 32, 63, 37,118,110, 89,138, 65, 61, 66,209,179,181, 51, 58, 52, 81, 64, 46, 48,225,206,253, 56,236,222,185,141,229,121,250,131, - 90,110,196,200,242, 35, 6, 0,180, 90,237,135, 31,205,252, 64, 99,102,121, 88,172, 60, 44,229,159,167,119,127,161,225,140,250, - 15,203,175,139,169,116, 93,117, 55,243,186, 55, 39,127,212,227,155, 29,167,122,239, 63,159, 77,171,243, 45,136, 58,190, 15,222, - 13, 3, 33, 98,104, 25, 40, 0, 20, 5, 80, 20, 8, 33,112,247,111, 1, 35,207,227,167, 77,159,250,160,134,245,106, 21, 34,107, -194,132, 9,184,119,239,222, 99,237,158,148,152,140,164,196,100,156, 58,113, 25, 0,224,226,223,182,208,197,191,109,161, 91,227, - 14,155,171,226, 50,115, 86,222,192,114,200, 41, 50, 66, 46,165,225,231, 35,199,208,158,222, 88,255, 73, 27,140,238,239,131, 12, -181, 30, 19, 22,222,132,167,167, 16, 63,159,207,198,186, 93, 73,104,230,175,192,144,158, 13,240,250, 64,223,170,173,181, 2, 65, - 63,161, 80, 56,106,200,144,161,243, 37, 82,197,146,119, 22,238,152, 39,147, 8, 42,172,177, 96, 24, 6, 86,171, 21, 52, 77, 97, -228,180,245,243, 36,114,213,146, 33, 67,134,206, 23, 10,133,163, 4, 2, 65, 63,251, 75,167, 29,118,216, 97,199, 95,102,209,170, - 56,188, 31, 27,183,171,187,194,104, 52, 36, 15, 31, 57, 6,222, 30, 94,202,193, 47,188, 46,138, 73, 42,130, 38, 59, 21,137,241, -177,208, 27,173, 16, 57, 55, 6,164, 94,104, 20,224,143, 91,113,191, 88,214, 45, 63,162,229, 89, 83,114,117,124,131, 6,121,251, - 38,222,167,232,229,203,252, 46,199,199, 21,182,219, 57,251, 59,140, 30,173,116, 91,190,204,239,114,202, 3, 5, 45,151,146, 46, -111,140, 29, 69,209, 20,193, 71, 31,205,192,224, 1,145, 24,247,198,107,212,247,223,111, 11, 47,178,177,148, 60,132, 27, 62,254, -116,190, 88, 93,196,154,175,198,107, 77,114,133, 76,246, 91,130, 86,215, 42,192, 79,214,127,216,235, 89, 71,246,126,179, 26,192, - 88, 91,184, 42, 4,150,213,106,133,197, 98, 1, 0,174,204,122, 80,246,153, 95,106, 70,110,145, 9,234, 34, 19, 88,142,199,176, -145, 99,101,215,162,111,142, 5, 80,205,122, 45,158,183,178, 86,236, 63,121, 29,153,215,246,241, 20,205, 20, 87, 90, 12, 15,165, -119,211,230, 94, 94,126,231, 7, 12,123,205, 93, 44, 45,155,134, 45,213,153,240,253,166,101, 53,230,147,166, 40,194,115,108, 17, -107,181,234, 2, 27, 7,102, 6,183, 12,149, 94, 60,123, 98,208,111,167,246,107,217,192,215,156,146, 82,178,193, 8, 37, 96, 68, - 82,152, 44,182,109, 60, 84, 39, 94,254, 18, 0, 53,126,242,140, 53,211, 63,252,132,121,127,221, 5,152,141,122,152, 12, 58,148, - 20, 23, 66, 38,176,226,206,239, 7, 89,194, 89,167,235,178,111,124, 89, 61, 19,149, 5, 32,171,114, 74, 65, 65, 65,212,239, 23, -206, 31,186,242,251,133,113, 94,129,237,104,179,149, 71, 98,236, 21, 62, 51, 33,250,144,201, 84, 18, 5, 0, 20,144, 15,224, 68, - 77,134, 75,149,131,147,227,184, 41, 31,142,119,146, 41,232,216,140, 34,164,102,151,128,147,249,192,203,183,201, 31,243,171,124, - 89,121, 59, 6,185,163, 79,232,203,184,120, 59,141, 59,177,231,203,222, 0, 14, 2,208,215, 36,178, 98, 98, 98, 32, 18,137, 30, -107,247, 38, 77, 3, 80, 49,117, 88, 84, 48,213,105,219,242,215, 1, 0, 61,159,235, 62, 1,192,219, 79,189,168,228,148,192,213, -204,162, 83, 11, 23, 4, 53, 86, 34, 51,223, 12, 66, 9,176,247,116, 30, 18, 50,116, 56,121, 85, 3,111, 23, 49,120, 51, 13, 70, - 2,236,191,152,137,139,119,242, 48,166, 95, 67,220,127, 88, 80,141,176,102,194,222,255, 96,198,130,181,107,215,157, 25, 62,121, -249, 75,221,194, 2, 81, 82,170, 69,102,129, 21, 90, 93, 41,116, 90, 29,100,114, 57, 36, 98, 49, 24,129, 0,253,222,248,252,165, -163,223,125,122,246,253, 15,102, 44, 88,181,114,197, 28,150,101,143,217,199, 67, 59,236,176,195,142,191,212,162, 53,161,114, 90, -181, 66, 43,245,238,197, 14, 0,208,188,125,159,124,165, 84,224, 34,160, 41,168, 51,146,240,253,138,105,224,121,130,254,111, 45, -135, 42,192, 11, 50, 17, 3,147, 54, 95, 91,144,116,174,166,181, 58,160, 40,107,239, 47, 55,103, 6, 76,158, 20,232,176,115,167, - 86, 8, 0, 59,119,106,133,147, 38, 54,116,248,106,115,114, 64,167,231,218,129,112, 28, 6, 12, 30,142,145,175,140, 68, 74,142, - 30, 63,157, 79,131,206, 96,182,105,183,156,204, 45, 56,212,205,213, 61,242,189,215, 35, 21, 2,134,162,154,249, 59, 50,233, 26, - 43,203, 48, 66,238,208,181,226,172, 97,195, 94,113,139, 58,186,167, 39,231, 22, 28,106,200,187,127,179, 54, 62,147,201,244,216, -212,161,139, 91,227,163,189,135,175,200,200,206, 41, 61,146, 83,104,236,164,179,178, 80, 23,153,144, 91,100, 66,145,206, 2, 47, -149, 51, 88,171,185,117,117,124,132,144, 31,134, 12, 31,243, 26, 0,154,162,217,239,180,217,247,227,203,126,249, 67,100, 69, 14, - 30,237,126, 62, 38, 9,137,209,199, 10, 9,207,150,121,113,167,248,140,154,235, 21,132,161,192,139, 4,148,149,161,105,222, 98, -209, 90, 61, 60,220,163,206, 69, 29, 31,104,100, 31,128, 17, 73, 30,157,107,120,124, 58,170, 54,177,181, 1, 0,214,174, 91,179, -178, 75,239,209,162,115,215,147, 97,176, 2,157,195,154,227,231, 31,191, 54, 17, 98,253, 80,151,125, 99, 67, 29, 58,161, 83,195, -134, 13,167, 9,197,226,158, 50,185,170,161,187,183, 31,109, 97, 57, 88,172, 28, 20,174, 62,180, 68,233,210,155,167, 69, 23, 89, -139, 57,202,162,211,172, 5, 80,173,190, 62,121,249,110,207, 77,107, 87,190,228,237,170, 64, 67, 55, 17, 14,157, 43,228,172, 2, -158,246,240, 15,162, 0,192,207,195, 1,119,175,159,197,173, 91,183,209,186,115, 36, 92, 85,190, 80,138, 56,146,151,248, 91,129, -167,151, 79, 91,117, 78,166,232, 73,161,229,229,229, 53,119,204,152, 49,243,188,189,189,177,102,205,154, 71,233,149,219, 61, 4, -232, 84,121,234,240,171, 3,137, 53, 22,248,141, 1,141,240, 92,168, 7,120, 30,120,119,245, 45,196, 38,149, 96,203,199, 97, 24, -214,195, 7,155,127, 73, 70,155,102, 10,104, 13, 60, 44,102, 14, 34, 49,141, 22,141,149,144,136, 24,156,185,158,135, 82,157,174, - 70,110,138,145,160,119,143,206,200, 43,210,195,221, 81,140,198, 13,221,161,148, 55, 70,169,129, 69,106, 78, 49,138,117, 86,228, - 21,234,208,181,115, 71,252,186, 93,108, 31, 2,237,176,195, 14, 59,254, 30,171, 22, 80,201,135,214, 99, 66,235,240,225,195, 4, - 0,170,154, 31,205, 84, 23,192, 85, 41,128,123,131, 0,188, 58,109, 37,126, 88,253, 62, 56,206, 10, 66, 0,150,179,205, 51, 1, - 33,194,147, 83, 38, 5, 4, 55, 10, 96,220, 95, 29, 45, 55,236,216,169,151,189, 58, 90,110, 8,105,237, 90, 60,101, 82, 64,114, -169,209,175, 43,203,113,248,237, 78, 46, 98,147,139, 17,155, 82, 2,165,204,118, 55, 95,140, 88, 52,105,217,210, 37, 34, 1, 67, - 81,119, 82,181,218,140,124, 86,203, 8,133, 22,185, 76, 76,204, 68, 96, 74,201, 35,249,189,134,188, 97, 56,180,125,237,120, 0, -239, 84,107, 21, 43,223,105, 88, 97,201,170,248, 36,132, 16, 10,224,121,138,227, 50,242,140,208, 90,172, 80, 23,254, 33,180, 40, -182,250,153, 83,165,119,211,230, 14, 42,229,113,134, 97, 36,132, 0, 86, 11,251, 50,188,155,246,213,102, 39,198, 87, 22, 89,151, -239,100, 33,233,198, 41, 53,103,209,143,209,231,198,157,182,181,236, 20, 5,194, 48,224, 25,154,226, 41, 10,188,144, 38,102, 16, -194, 63,153, 35,125, 29,132, 86,133,216, 18, 11,153,217,191,238, 94,237, 49,238,197, 22,248,241,124,153,230, 51,150,106, 74,116, -153,117, 18, 89,112,117,117, 29, 59,115,230,204,185,131,134,143, 70,177,145,130,186,176,204, 26,104,182,242, 16, 41,220,208,123, -202,183, 13,179, 53, 37, 13, 19,175, 30,234,154,119, 99,103,177,213, 88,188,166,218,124, 37,101, 93, 53,232,117, 40, 49,148,149, -103,198,216, 32,230,179, 47, 79,130, 37, 2,184,184,251,192,221, 65,132,215, 95,238,135,243,254,141,112,239,254,125,204,158,127, - 4,158, 78, 14,177,151,206, 30,108, 18, 22,222,109,213,209, 3,187,158, 18,113, 57, 57, 57,243,183,111,223,142,208,208,208,121, -237,218,181, 67, 78, 78, 78,133, 64,126,212,238, 73,137,101, 6,219, 10,161,117,253,250, 45,132,133,181,169,182,204,173,155, 56, - 96,223,153, 44,124,123, 56, 5, 50, 9,131, 0, 31, 41, 38, 45,187,129, 30,109,221, 48,117, 68, 99, 40,101,254, 40, 42,181,194, -108,229, 97, 48,177,200, 47,177, 32, 51,223,136,116,181, 1, 22,107,205,107,225, 9, 8, 98,227, 51, 96, 50, 25,225,236,236, 12, -165,220, 8,169,147, 31, 0, 6,133,234,226,178,221,135,122, 35,228, 50,137,125,232,179,195, 14, 59,254, 53,168, 73,139,252,139, -172, 90, 79, 91,180,106, 42, 16, 33, 64, 66,106, 30, 26,249,186,195,183, 81, 19,196,223,187, 85,105,176, 7, 88,206,182,233,168, -131, 7,179, 51, 86,174,116,224,223,127,191,184,243,178,101,126,151, 38, 77,108,232, 24,210,218,181,120,230,204,180,206,171, 86, - 57, 94, 58,121, 89,200,145,114,127, 93, 21,190,185, 8,169,139,143, 77,186, 99,104,203,198,204,252,157, 9,105,167,111,151,230, -138, 68, 34,171,151,179,148, 82, 41,197, 12, 67, 11,197, 38, 43,109,106,222, 42,140, 57, 68, 83, 97, 53,177, 84, 8,173, 39,167, - 14,243, 53, 73,131,126,253,105, 70,200, 11, 67,150,187,100,106, 12, 40, 54, 51,143,166, 14, 25,154,194,237,123,169, 0, 35,138, -173,138,211, 65,229,114, 98,215,142, 31,252, 86, 45,251, 28, 22,150,195,148,247, 63,195, 27, 99,199,156,128,119,211,190,126, 1, - 65, 49, 23, 14,125, 39,239, 59,113, 35, 82,227,162,115, 88, 83,201,238,186,136,172, 71, 98, 11, 32, 28,225,233,130,194, 18,165, -137,133, 20, 85,232, 62,147,133,175, 87,207,209, 26, 88, 28,186,146,131,195, 7,118,195, 81,165,168, 23,135,163,163, 99,139,238, -221,159, 7, 37, 16,195,108, 53,193,204,242, 48, 87, 90,163,101,177,242,176, 18, 33,228,222,109, 80,112,247,231, 22, 48, 22, 87, -203,245,218,107,125, 10, 90,182,110,183,247,211,247,223, 26, 49,226,213,113,232, 20,254, 28,226,110,253, 14,207,134,193, 80, 58, -185,145, 75,201,133,108,231, 96, 63,193,216,193, 29,168, 40,223, 64, 4,180,232,130,132,187,215, 90,139, 68,162,219,105,137,247, -171,157,146,204,201,201,169,240, 57, 53,175, 93,187,118, 72, 75, 75, 67, 65,165,118,111,210, 52, 0, 0, 16,127,191,108, 19, 67, -133,200,226,249,170,251,233,132, 37, 55, 80, 98,224,224,230, 44, 6, 67,209, 0, 33,104,228, 45, 67,116, 66, 1,198,204, 47, 68, -120, 75, 23,248,121,203, 1, 66,160, 53, 90, 97, 54,243,176,240,128,217,200,130,161,171,221, 50,200,113, 28,199,209,196,202, 92, -143,141,135, 88, 36,132, 99,145, 14, 50,153, 12, 34, 81, 30, 40,154, 6,203,242,176, 88,173, 48,232, 13,216, 27,125, 25,132,179, - 48, 28,199,113, 40,159, 6,181,195, 14, 59,236,248, 39,226, 95,188, 16,190,178,184,170,222,162, 85, 19,252,125, 61,113, 37, 54, - 25,173,131, 27,195,209, 65,133,251, 73, 25, 96,104, 33,104, 10,176,178,182,139, 33, 98,177,254,184,106,149, 35, 82,147, 21,244, - 87, 27,147, 3,166, 76, 10, 72, 94,181,202,241, 18,177, 88,127, 4, 48,134, 16,160, 76,108,149, 9, 46,174, 14,186,128,240,214, -134,158, 46,114, 38,250,129, 46,159,166, 25,147,171,163,148,119,117,148,208,174, 42,177, 80, 36,100,120,150,208, 22, 95,143, 0, - 35,225,121, 91,226,234, 61, 54,117,200,113, 28, 40,138,230,202,133,152, 34, 61,223,128, 98, 35, 3,117,145, 9,133,165, 22, 52, -243, 81,224, 84,212, 62, 61,103, 53,236,172,210,218, 38, 20, 57, 54, 9,240,197, 39, 11, 87,193, 96,226,144,144,169,133, 72, 34, -241,242,244,106,117,115,204,228, 89,146,119,183, 36, 97,124, 79, 87,188,127, 33, 41, 83,175,150,206,170, 75,203,114, 28, 7,131, -209, 44, 82,231, 21, 58,151,148,234, 28,100, 82,137,193,221,197, 49,175,170,115,141,230,250, 61,103,229, 82, 1, 6,134,123,193, -104, 25, 5,131,137,197,239,167,247,215,135,166,177,103, 3, 95,104,205,149,196, 85,185,216,170, 44,186,132, 74,119, 0, 84,227, -218,138,125,247,118,204,203,119,111,199, 44,184,118,233,220,174,101,223,156, 14,217,190, 97, 14,214,255,146, 4,134, 97, 40, 98, -101,133,107,127, 73,134,175, 19, 67,180, 86, 33,101,228, 40,232, 10, 52, 8,234,216,175,213,174, 47, 63,157,133, 50,151, 17, 38, - 91,196, 86,161, 58,250, 81,187, 31, 63,246,104,223, 2, 10,111,110, 43, 74, 58,179,190, 76,226, 51,130,125, 85,171,118,139,217, -195, 81, 76, 56,214,194, 87,246,104,229, 40,163, 64,120,224,218, 29, 53,174,199,211,112,117, 16, 65, 41, 19,194,202,242,208,155, - 89, 24,140, 28,205,179, 22, 83, 53,237,125,125,237,154,213,115, 70,141, 26, 53,105,247,158,121, 7, 67, 35,223, 27, 84, 82,148, - 15,161, 88, 6,145, 64, 4,154,161,193,114, 28,204, 70, 29, 10,139, 10,144,252,219,247, 7, 71,142, 24, 26,182,118,205,234, 57, - 21,187, 20,237,176,195, 14, 59,236,248,203,172, 89, 79,193, 38,161,165,148, 75, 65, 24, 41, 46,196, 36, 33,168,101, 27,108, 59, -120, 21, 77, 91,135, 35,187,148, 5, 1, 93,235,110,195, 10,204,248,216,112, 29,192,245, 65,131,228,190, 67,135,250,244, 38, 68, -120,114,227,230,146, 12, 0,104, 28, 82, 70,195,243, 4,132, 0,132, 47, 19, 92,182,155,116, 4,169,201,217, 37,141, 2,188, 20, -184,155, 97, 49, 41, 36, 34,218, 89, 33,102,220, 29,197, 34,145, 64, 0,142, 80,166,236,236, 36, 19, 5,164,216, 66,247,228,212, -161, 92,233,125,180,215,144,229,154,148,180,226,232,102, 5,250,208, 98,139,179,110, 80,142, 0, 0, 32, 0, 73, 68, 65, 84, 24, -132, 0,205,124, 20,136,189,124,132, 83,103, 38, 38, 24,212,113,155,170,182,146,129,177,176, 60,110, 62, 40, 70,145,206,138, 34, -173, 5, 93,123, 12, 20,117,141, 24,132, 11,177,121,224, 89, 43,150,125,125,164,148, 35,214,145,192, 61,107, 29, 10, 77, 95,185, -126,199, 87, 83,168,147, 8, 5,130,162,224,166,254, 15,197, 34, 33, 91, 82, 82, 34,126,252, 44, 6, 10,153, 24, 5, 90, 43, 0, - 88,235,218,123,138,117, 86, 28,188,156,131, 67,251,119, 65, 38,147,129,212,163, 7,138, 68, 34, 39,161, 72, 10,139,174,108,186, -176,226,176, 60,113,208, 2, 9, 64, 11,156,108,164,189,103, 54, 27,126, 79,142,187,220,130,235,209,148, 25, 27, 17,128,215, 38, - 76,135, 79,147,214, 24, 56,112, 40,218, 4,168,168,253,151,210, 96,181,178,165, 94,129,173, 84,164,108,151,109, 2,128, 80, 0, -151,109,177,108,169, 42,181,123,139,174,129,161,127, 8, 45,160, 32,245, 70,141,187, 88, 57,115,126,166,222, 76,211,132,240, 85, -190, 50, 8, 1, 16, 51,160,206, 38,200, 1, 32,160, 1, 1, 67, 3, 20,197,112, 28, 87,101, 59,177, 44,251, 43,207,243,234, 29, - 59,118,168, 57,142,187, 30,115,100,229,205, 38, 47, 76,156, 7,182, 0, 86,107,217,114, 70,177, 68, 14,158,162,145,116,254,219, -121,156,197,240,203,142, 29, 59, 42,220, 59,220,182,143,133,118,216, 97,135, 29,127, 9, 42,199, 56,124,177,178,248,178, 73,104, -113, 60,129,155,171, 11,172, 68,128,100,117, 49,116,148, 7,140,122, 2,142,163,192, 17, 82,147,171,241, 8, 84,177, 61,255,224, -193,236, 12, 0, 91,159,176, 73, 61,178,100, 61,250,172,122, 74,166, 74, 78,138,112,167, 14, 30, 59, 59, 98, 80,183,158,206,247, -179,115, 50, 68, 66, 90, 32, 16, 49, 66,145,128,166, 68, 2,218,236, 32, 19, 48,251, 54,239, 22, 19, 10,103,107,227, 52, 26,141, -136,136,120, 60, 48,121,220,157, 75, 30, 5,185, 9,102, 66,241,188,187,184, 20,110,142,238,120,152,146,134,211,199,246,235,213, -153,137,113,156,201, 56, 24,143, 75,206, 63, 56, 9,225, 11,138, 77, 48, 90, 56, 20,106, 45, 40,210, 89,192,186,119,198,207,191, -103, 65, 42, 98,160,190,185,207,160,201,201,152,102,202, 77, 76,174,165, 41, 62,194, 99,190,180, 72,198,155,227,198, 10, 87,175, - 88,102, 10, 11,107, 71, 10, 10, 10,160,213,106,255,168, 19,138,130,212,193, 3, 42,153, 0,137,215,142, 34,241,244, 42, 3,128, - 79,109,169,207,202,112,144, 11, 48,168,147, 23, 76,150, 81,200, 43, 54,225,218,217,159,107,235, 50, 79,113,202,229,114, 89,133, -245,170,178, 91, 7,115, 37,171, 22, 87,222,222,180, 64, 34,171,130,179, 55,128,147, 79, 38,150, 20, 23, 31,185,126,233,212, 36, -227,132,215,160, 46, 50,193,144,159,132,239,127,222,116,218, 82,154,208,163,207,234, 21,244,244,193, 77,112,250,122,129,234,182, -128, 1,120, 32,114,212,140,151,142,239, 90,177,189,182,178, 87,136,173,231,187,117,152, 71, 51,212, 33, 66,253, 33,150,178,178, -178,108, 42,123,177, 58,177,220,130, 84,167, 57,112, 80, 20,205, 16,254,177, 24,136,143,229,147,231,249,219, 21,162, 73, 64, 81, -131, 85,114, 57,242, 52,197,168,112,178,107, 52,148,194,197,173, 1,104,138,130,181,210,185,117,109,247,122,192,206,105,231,180, -115,218, 57,255,191,226,169, 24,135,117,176,104, 17, 4,122, 43,208,212, 71, 1,163,197, 3, 70, 51, 7,157,145, 67,137,222,130, - 18,189, 21,201, 57,122,196, 30,124,246, 28,150, 89,177,202, 92,159,147, 50,127,155,224,120, 98,179,245, 68,108, 49, 47, 92,185, -108,241,203,187,195,218,154,223,125,209,187,225,173,100,115, 22, 69,209, 6,154, 17, 88, 93, 84, 2,225,253,251,183, 52,151,206, - 31,237, 46,101,185,215,244, 53,240,176, 44, 91,236,227,227, 83,241, 64,123,148,222,162,137,108,240,111, 71, 62,106,252,252,160, -101,238,171, 63,159,161,167, 25, 17, 79, 9, 68,177,156,213,176,203,160,142,219,136, 26,236,122,180, 72,122,239,202,141,187,225, - 78, 46, 13,145,152,169,131,206,200,194,194,242,112, 86,138,144,113,251,132, 37,249,126,244, 30,109,214,173,109,245,168,182,157, -241,247, 98,125, 35, 35,251, 14, 15, 15,239,204,204,153,243, 25,130,130,130, 96, 48, 24, 64,211, 52, 26, 54,106,130,228,248, 27, -184,124,100, 33,167,207, 79,217, 4, 96, 1,128, 58, 7, 92,206, 43, 49,227, 88,116, 46,142, 28,248, 17,140,176, 94, 59,216,104, -153, 76, 38,173, 74, 92, 85, 22, 93,143, 78, 22,138,165, 40,179, 62,241,143,117,196,170,113, 60, 41,254,238,189,215, 95,125,165, -133,202,209, 9,253,135,142,204,189,116,225,244,128, 3,223,111, 94,147,159,146,254,242,103, 75,214, 57,244,110,239, 77,185, 40, -197, 40,210,241,216,153,122, 47, 16, 54,218, 96,115,114,114,230,167, 39, 71,143,249,237,200, 71, 3,159, 31,180,204, 61,250,167, -217,143, 22,209,211,140, 96, 71,109,215, 23,164,199,156,174,171,200,170,144, 90,132, 16,155, 38,206, 9, 0,161, 72, 12, 15, 15, -111, 80, 20, 96,101,121,152,173, 44, 4, 66,251, 78, 67, 59,236,176,195,142,191, 25, 19,158,248,180,205,162,101, 52, 26,147,159, -139, 24, 8,158, 39,224, 8,192,115,229,150, 39,254, 15,235, 19,103, 53, 38, 63,107,238,120,158,187,186, 97,203,214,254, 97, 29, -159,103, 90,250, 41, 81,146,159,131,203,191,157, 97,193,147, 75,182, 92,159,159,159,160,149,121, 54, 29,254,242, 75, 67,247,142, - 29, 55,177,168,123,143, 30, 10, 15, 15, 47, 83, 70,102,134,254,219,237, 59,172, 39,142,254,210,157, 7,251, 74,126,126,162,182, - 38,158,226,226,226,181, 85,165, 75,196,202,174, 0, 26, 51, 2,202,108,208, 36,212,105, 69,120, 94,102,250,176,197, 11,231,165, -140,126,107,186, 56,208,167, 9,114,139, 25, 36,103,228,224,254,249, 95, 76,153,241,215, 14,148,100, 92, 31,111, 35, 85,118, 21, -105, 25, 0, 86, 95,190,124,169, 85,100,100,100,223,158, 61,123,146, 9, 19, 38,128, 16,224,244,150, 73,164, 32,249,242,190,114, - 43,214,131,122,182, 75,234,249, 75, 55, 92, 70,116,111, 47,112, 85,141,199,214, 31,143, 90, 65,248,212, 58,210,120,250,250, 53, - 18,148, 77, 23,150,185,116,120,242, 48, 91,255, 88, 63, 38, 82,122, 10,244,136,245,172,166,188, 79,105,141,196,248,187,173, 19, -227,239,142, 3,144,187,119,199,215,135, 0,192,100, 48, 76,140, 58,125, 48,245,238,157,232,215, 6,189,250, 65,147, 86,161, 29, - 4,251,182,173,134,197,168,219, 15,192,230,254, 42, 17, 51, 41, 21,237, 94,219, 84,225, 83,237,158,114,249, 40, 69, 51, 2, 91, - 69, 83, 37, 75, 36, 77,120,222,166, 5,117,132,231,144,249,224, 54, 92,188,252,160, 82, 57,130, 39, 22,192,108,130, 38, 61, 14, - 28,103,143,117,104,135, 29,118,216,241, 55,161,254,107,180,210,239,149,249,211,250,171, 81,154,147, 59,102,219,182, 31, 22,253, -176,125,119, 87,163,217,236, 67, 32, 74,231, 88,243, 57, 45,135, 57,182,114, 24,212,137,209,174,174,205, 66,190,253,122,195,167, -223,110,253,234,121,240, 92, 48, 5,164, 16, 10,103,165, 86,110,108,109, 34,171,198,135,102, 94,233,230,222,195, 87, 24,242,243, -181, 63,212,245, 90, 67,126, 92, 14,205, 88, 26,110, 94,179,112, 57, 77, 51,125, 56,142, 23,242,156, 53,145,179, 24,191, 48,104, -226, 14,194,230, 85,110, 40,168,225,183, 59, 0,238, 68, 69, 69,117,139,138,138,234, 8, 96, 45,202, 98, 40, 70, 63, 75,187,152, -242, 75,123,125, 56,227,195,211, 31,128,242,231,121, 2,150,227, 83, 69, 6,125,175, 58,210, 52, 12, 12,108, 34,183, 88,185,167, - 22,192, 87, 94, 8,255, 72,104, 57,250,202, 1, 52,180, 81,104, 1,101,187,233,190,126, 42,145,101,151,102,103,165,255,184,241, -139,105,111, 3, 8, 0,112, 17,192,134,191,171,221, 45,198,146,188,191,250,190, 97, 45,166,249, 25,183, 14, 34,235,142,200,155, - 18,148,185,114, 32,156, 25, 60,107,206,102,173,150,249,246,177,207, 14, 59,236,176,227,111,179,102,109,169,234,187,224,159,146, -195,194,194, 7,165, 40,172, 57, 72,175, 45,200,207, 79,208, 2,120,106,231,158,254, 25,121, 99, 19, 74,126, 66, 66,201, 79,245, -189, 94,151,251, 80, 3, 60, 28,251,140,217,176,101, 33,251,133,242,227, 79, 65, 94,222, 61, 29,242,208,233, 89,155,101,231,142, -237,247,119,239,254, 81, 72,104, 70,200, 19, 70,196, 18, 74,200,242,148,208,106,229, 97,178, 88,173, 22,150,181,130, 99, 45,224, - 57, 43,225, 45, 86,148,121,135,255, 51,144, 10,224,227,255, 85,187,255, 29, 96,173,150,249,176, 90, 0,232,236, 67,157, 29,118, -216, 97,199, 63, 75,112,253,115,132,150, 29,255,105, 60, 72, 74,140, 15,183, 87,131, 29,118,216, 97,135, 29,255,113,145, 85,249, - 19, 64,217,218,243,136,106, 46,168,203,110,130,136,122,100,232,148,157,243,153, 57,133, 0,196, 0,148, 0,106,155,218,234,139, -186, 59,172,252, 95,148,253, 35, 0, 55,236,237,110,231,180,115,218, 57,237,156,255, 89,206,218,184,237,187, 25,255, 98, 1,102, -231,180,115,218, 57,237,156,118, 78, 59,167,157,243,255, 31,231,191, 25, 19,170, 56, 0,216,167, 14,237,176,195, 14, 59,236,248, -127, 8, 87,215,102, 74,224,209,186,222, 90, 33,119,107,225, 9, 0,250,188,123,106,123,237,217, 81, 5, 42,199, 57,124,108,141, - 22, 93, 79, 66, 33, 45, 16,127, 40, 87,185,222, 83, 56,186,102,254, 63,175, 92,170,121, 35,197,212,222,221, 3,126, 14,106, 44, - 27, 92,151, 11,229,238,205,191,243,106,210, 41, 77,225,209,124, 42,188,195,100,207,146, 9,133, 71, 99,119,101,195,246,191,169, -124, 90,245,251, 11,202, 40,105,217,178,101,231,150, 45, 91,118, 6,240,167, 68, 41,150,123, 52, 31,229,219, 52,252,188, 71, 96, -219, 51, 10,207,102, 47,253,217, 25, 86,122, 55,117, 85, 54,108,247,147,178, 65,155, 66,165,119,155, 18,165,111,187,115, 42,183, - 22,129,181, 93,215,112,208,226,224,249,187, 98,119, 53, 28,180, 56,184,170,223,157, 35,215,169,230,238, 78,248,220,117,224, 23, - 74,251,184, 82, 63, 52,236, 58,202,201,251,249, 15, 92,235,122,157, 79,243,240, 59,141, 90,117,203,109,208,172, 83,172,173,215, -248, 6,117,190,238,223,178,171,218,183,121,231,104,123,205,219, 6,169,123,227,206, 82,103,191, 35, 18,103,191,163, 18,151,198, - 61,158,149,207,219,219, 91, 22, 28, 28, 28, 25, 30, 30,254,118,175, 94,189,222,107,219,182,237, 4,127,127,255, 62,255,203, 23, -125,185, 71,243,143, 77, 66, 42,207, 36,164,242,228, 30,205,107,221, 44,163,240, 8, 90, 68,209, 92, 22, 69,115, 89, 10,143,160, - 69,255,148,182,146,120, 54,247,151,123, 52, 95,165,242,106,121, 85,230,209,108, 96, 93,175,119,118,118,238,227,238,238, 62,164, -226,112,118,118,238, 99,191, 3,234,141,202, 86,172,103,182,104, 49, 66,137,252,226,232,113, 83, 66,150,206,155, 37, 93,179,245, -103,172,249,124,198, 93,147,174,168,229, 63,177,228,110,141, 59, 70, 51, 52,227, 91, 57,141,227,185,140,188,135, 87,219,255, 25, -252, 65,141,100,227, 63,157, 57,230,253, 81, 47, 71,248, 71, 12,152, 70,197, 61, 52,252, 98,187, 68, 67,232,158,159, 14, 52, 60, -127,246,204,186,173, 91,183, 44,208,176, 65,171,132, 18,193,134,146,244, 59, 69,117,201,131,131,123, 96, 99,129,194,237,252,115, -131,167,120,197,156,218,177,141, 51,243,189,245,121,149,162,127,215, 31,238, 77,154, 52,233,192, 48,140,235,212,169, 83, 69, 0, -176,122,245,234,166, 28,199,229, 39, 37, 37, 93, 67, 61,156,159,150, 9,204,160, 49,107,151,207,255,161, 95,191,254,200,202,211, - 97,217,170, 47, 95, 56,126,120,207, 8,157, 58, 97,223,159,209, 38, 78, 78, 1, 14, 16,169,110, 79,155,185,192, 35,242,133, 14, -140,214,200,226,248,249, 27,221,118,124,185,224, 42,208,162, 99,105,222,189,106,125,138,241,250,226,217,158, 74, 18,201,235,139, - 1, 96,212, 83, 15,123,165, 53,194, 93,198, 69,122, 75, 4, 55,242,129, 90,131, 62, 58, 53,234,122, 66, 40,145,248,211, 52, 13, -154, 2,104,154, 2, 67, 81,101,113, 66, 45,134,212,204,251, 23,250,254, 19,238, 19,149, 95,199, 28, 48, 2, 87,154,250, 35,127, - 20, 93,254, 73, 72, 73, 78,194, 69,215, 63,225,223, 56,134, 52,117,106,213,181,169,238,219,115, 15, 11, 20,130,238,239, 29,161, - 8,253, 85,218,133, 85, 55,109, 18, 0, 82,169,243,161, 67,135,220, 35, 35, 35, 29, 61, 90, 13, 62,103,203, 53, 98, 70,219,242, -240,225,131,162,200,200,190,117,232,159,205,123,131,166,183, 83,128,144,231,201,106,134, 39,123,180,249,241, 73, 64,221,162, 79, -201, 60,130,198,211, 32, 54,143, 51, 60,168,104, 67,110,220,214,250, 86,174, 64,226,208, 75, 40, 18,189,215,184,121,235,176,204, -148,196,104,157,182,116, 21,107, 42, 62, 87,103, 34, 43,251,225,169, 11, 49,253, 4, 66, 33, 21,217,171, 19, 99, 2,206, 60, 75, -163,123,122,122, 14, 89,191,126,125, 96,231,206,157, 1, 0, 44,203, 58,236,221,187,215,107,225,194,133,138,248,248,248,253,245, -164,245,113,119,119,247, 19,139,197, 62, 0, 96, 54,155, 51, 53, 26, 77, 26,128, 90, 95,252, 21,158,129,110, 32, 88,112,225,252, -121, 1, 0,116,235,214,125,145,223,115,239, 56, 51, 34,165,161,202,234, 48,151, 42,138,146,206, 76,191,124,229, 18, 5, 0,225, -157, 58,207,146,187,181,216,240,191,180,108, 73, 61,130, 58,209,192,251,225,221, 34,134,141,124,101, 12,221,170,153, 31,250,244, -238,249,145, 1, 56, 84,167, 62, 35, 16,200,174, 94,189,218,132,166,105,134,101, 89, 99,120,120,120,218,179,228,171, 65,243,206, -191, 83,160, 27, 90, 88,243,215,154, 7,209,139,128,167, 2,199, 48,142, 13,195, 62, 5, 35,120,139,231,249,244,210,180,232, 46, -255, 65,139,214,211,245, 92, 87, 38, 90, 32,126,111,212, 27,147, 67,166,127,240,137,116,218,154, 40, 28,249,114, 86,222, 63, 85, -100, 1, 0, 67, 51,190, 39,126, 61,225, 33, 23, 51, 0, 0,173,145, 69,191,200,200,218,159, 8,141, 58,158,165, 41, 42,168, 34, -148, 56,199, 90,164, 2,161,216, 72,149, 9, 36, 80, 0,220, 26, 52,138,242,100, 47,202, 71,189, 28,225,191,125,247,201,140,180, -140,252, 58, 15,106, 20, 35, 66,120,247, 62,136,232,221,215,241,234,149,223, 23,108,217,180,241, 99,214, 98,221,200, 91,249, 85, -198,130,196,172, 90, 7,115,175,102,237,196, 74,183,227,195,222, 94,232,106,164, 93, 48,231,243,181,110,231,143,237, 60,151,153, - 30,202,167,166,166, 27, 9, 69,221, 45, 44,200,126, 79,151,147, 20,103,107,149, 41,149,202, 64,165, 82, 25,218,166, 77, 27,233, -140, 25, 51,132, 47,188,240,194, 31,146,125,194, 4,209,217,179,103,189, 87,172, 88,209,255,214,173, 91, 70,173, 86,123, 83,171, -213, 62, 64, 29, 22,218,123,121,185,191, 51,124,232, 64,244, 28, 54, 5, 28, 79, 97,194,228,233, 56,113,108,255, 68, 0,127,138, -208,178,202, 29, 22,190,245,246, 12,247,240, 14,109,153, 5, 59,227, 32, 19, 11,208,183,125, 16,245,198,212,217, 78, 91,215, 45, -248, 6,121,120,190, 42, 75, 22,175, 47,158, 29,226,102,126,101, 80,231,198, 56,184,203,252, 10,122,205, 4, 45,119, 92,148,126, -240,147,251, 0, 16, 24, 57, 85, 37,225, 52,235, 27, 56, 49, 30, 18, 78,179, 62, 48,114,234,169, 7,199,215,151,214,148, 23,161, - 68,226,191,107,231,206,102,206, 42, 17, 4, 52, 5,134,161, 32, 96,104, 24,205, 28, 70,188,252,202,159,214,205,101, 30,205,250, -211,101,193,178,193, 3,223, 25,114, 19,142,214,165, 77, 40, 70,228,122,248,224, 1,129,135,163, 4, 12, 67,129,161, 1,134,166, -144,162, 54, 96,252,248, 55, 28,159, 85,176,247,235,234,209,225,195,145, 65,125,195, 67, 92,218,252,120,137,114, 12,239, 55,210, - 53,207, 40,127,125,247, 47,103, 94, 33,221,166, 95, 33,132, 95,158,113,113,237,175, 53,145,152, 76, 38,117,223,200,126, 14,148, - 64, 33, 63,245,243,182,238, 2,154,130,149, 35, 96, 57, 2,174, 60, 54, 42, 85,254, 6, 67,211, 20, 8, 79,240,214, 91,227,209, - 55,178,159,158,103,249, 12,219, 7, 57,122,251,241, 83,191,185,155,172, 60, 86,172,223,186, 64, 87,172, 89,240,240,190,107,138, -182, 56,111,186, 33, 55,193,230, 56, 24, 52, 72,251,244, 7,177,111,239, 60,124, 25, 33, 45, 91,128,227,203,242, 25,228,171,192, -206, 35,151, 17, 28, 20, 92,150,111,158,160,121, 67, 37, 58,180,239, 0, 60, 21,154,204, 86,145,165,154,243,252,139, 99,230, 15, - 24, 49, 14, 30,238,238,160,137,117,192,169, 35, 59, 7,124,247,213,242, 15, 89, 99,201,138, 58,145, 17,238,209,115,129,240,252, - 51, 91,157, 26, 52,104,224,222,161,195, 31,238, 24, 89,150, 69, 64, 64, 0, 50, 51, 51,131,234,243,158,230,237,237,253,226,220, -185,115, 61,250,247,239, 47,244,242,242, 2, 0,228,228,228,248, 28, 63,126, 60,108,238,220,185,185,217,217,217, 71, 80,131, 71, - 31,206, 74,139,104, 1, 24,169, 84, 94, 86, 70, 80,244,140,119, 94,107,227,233,221,160,202, 64,238, 26, 77,142,120,230,148, 51, -148, 64, 32, 42, 63, 31, 52, 33, 60, 85,131,149, 40, 66, 40, 20, 86, 57, 67, 97, 97, 28,194,137,208,241, 77,154,161,203, 58, 43, -107,213, 20,166, 93,111, 81, 7, 75, 92, 43,161, 88,180,113,248,200,113, 93, 94, 26, 54, 24,222,238,142, 56,117,241, 22, 38,190, -243,190,149,181, 88, 87,213,107,240, 96, 24, 65,110,110,110,138,179,179,179,215,179, 63,111,169,198, 39, 79, 28,243, 56,117, 58, -106,214,202, 53,235, 38, 89,204,172,149, 39,228, 81, 28, 99,153, 76, 34,236, 61,224,101, 7,143, 38,225,210,117,115,223, 20,254, - 7, 45, 90, 91,254, 20,161, 37,150,169, 94,254,108,230, 84,233,194, 29,151,113,228,203,137,121,250,146, 60,247, 71,111, 10, 14, - 78,215,117, 37, 69, 97,245,201,161,210,189,121,103,138, 17,188, 77, 49,140,130,162, 41, 49,207,241,233,172,217,188,200,144,159, -144,253,172,165,231,121,130,159,126,207,173,155, 0, 34,104,186,253,199, 3, 30,158, 78, 18, 24, 45, 28, 70,142, 26,131, 31,126, -248, 65,229,238, 40,134,209,204, 98,249,202,149,165,218,148, 35, 30, 41,233,133,153, 17, 3,223,255,245, 65,114,110,108, 90,182, -113, 79, 93,243,102,178,112, 40,209,179,208,155,104, 52,107,213, 1,203, 87, 5, 75,211, 82, 31,190,191,237,187,111,222,189,123, -151,249,129,103,232,249,198,236,123,233, 85,222,116, 94, 33,125, 29,156, 93,119, 13,125,251,115,167,132, 92, 1, 8, 44, 72,114, -144,226,229,215,223,117, 8,244,146, 65, 33,101,156, 30,166,102,122,207,248,240,195,139, 15, 56,210,177, 68,243,224, 97,109,249, -105,212,168,209,176, 1, 3, 6,200, 63,248,224, 3, 97,195,134, 13,241,221,206,189,254,221,250,142, 24,152,149,173,110, 72, 8, -129,167,135, 71,250, 91,111,140, 56,116,244,232,209,212,244,244,116,225,178,101,203, 58, 29, 56,112,160,101, 78, 78,142,205,111, -166, 28, 33, 48,154, 56,112,229, 15, 72, 77,177,169,206,250,212,199,199, 71,146,153,153,105,170,100,101,160,254, 48, 20, 82,125, -123, 61,223, 73,176,249, 88, 50,180, 70, 14, 10,169, 16,201,106, 61,218,183,109, 77,125,205,177,161, 85, 17,142,127,249,197,217, -158, 74, 18, 57,168,115, 99,120, 56,203,241,237,134,207,113,240,210,195, 72,181,150,194,122,194,188,237, 45, 17,244, 86,240,217, -235, 95,104,223,196,171,103, 59,127, 92,107,223,196,235,124, 76, 92,188,108,196,202,169,153, 90,225,169,194,227,239,150, 86, 61, -240,208,112, 81,137,176,245, 68, 42,228, 82, 1, 20, 82, 1, 20,146,178, 79,154,166,158,237,173,214,187, 69, 67,134,231,198, 51, -140, 96,252, 43, 47,143,104, 48,250,149, 17, 4, 12,141,189, 63, 29, 26,188, 99,199,246,108,171,197,252, 13, 71, 51, 91,171,235, - 63,143, 85, 40, 13,120, 56,138,241,225, 55,177,112,144, 9,161,146, 11,225, 32, 23,162,103, 27,119, 48,116,189,179,232, 60,113, -112, 96,255,137, 67, 27,245, 8,242, 83, 54,187,153, 84,124,119,252,162,232, 53,103,139,122,188,183, 97,117, 75, 87,109,145, 89, - 48,103,198, 91,130,140,172,172, 30,123, 15,157,235,201,153,199,197,177, 22,221, 39,154, 91,123,171,180, 10,103,196, 93, 10,243, - 9,127, 73,106,209, 90,111,223,140,203,104, 82,104,146,224, 78, 74, 9, 20, 82, 1,148, 21,117, 43, 21, 64, 33, 21, 66, 41, 21, - 32, 43, 35, 25, 5, 58,230, 98,166, 43,221, 3,231, 46,213,201, 77,190,209,194,225,198, 67, 45, 26, 5,181,133,183,119, 3,152, -251,191,218,232, 74,212, 79,191, 92, 61,247,243, 18,125,206,253, 79,108,229,217,121,248, 50,102, 77,127, 59,134, 2,174,151, 63, -164,195,230, 44,253,178,221,130, 89, 83, 30, 75,155, 49,127, 93,187,250, 91,178, 84,179,123, 14,157, 60,191, 91,239,161, 40, 45, - 80,227,247, 95,247,160,239,128,225,120,117,220, 52, 56, 57,185, 45, 95,181,104,230, 77,214, 84, 18,245,212,152,235, 21,252, 92, -235,144, 22, 59,124, 26, 52,104,200,243,101, 81, 62, 8, 1,180,165,197,152,249,222, 91,224, 9, 65,104, 88,199,158,210,110,189, - 9, 41,143, 6,146,151,159,167,139,187,127, 55,194,152, 27,119,197,230,186, 52, 26,173, 26,141, 6, 55,110,220, 64,124,124, 60, -238,220,185,131,252,252,124, 56, 58, 58,106,117,186, 58,249,126,115,104,211,166,205,232,168,168, 40,169,179,243, 31, 65, 26,204, -102, 51, 84, 42, 21, 70,143, 30, 45,236,211,167,143,207,139, 47,190, 56, 54, 54, 54,118, 39,128,146, 42,243, 83,144,152,165,242, - 12,218,244,252, 11,207, 79, 2, 0,153,131,247,195,245,223, 29,186, 83,227, 11,173, 99, 3,255, 46, 93,186, 54, 1, 33,160, 64, -214,234,243,227,115,106,176, 18, 41, 46, 95,190, 28,200, 48,140,224,143,103, 16,143,175,190,253, 49,248,228,133,219,195,150, 46, - 95, 33,117, 80, 72,160, 41, 54,227,205, 87,135,218,252, 12,150,121, 6,245,239,210,165,251, 47, 11,230,127, 38, 80, 42, 20,248, -245,202, 3, 76,125,239, 67, 99,118, 74,236, 10,194, 11,191,212,107,226,115,159,241, 81, 73,240, 39,160,153,175, 18,170, 65,125, -165, 19, 95, 27, 36, 53, 91, 57, 20,233,172, 48, 89, 56,112, 60, 65,177,206,138,187,105,165,112,115,168,123,136, 48, 66, 72, 7, - 0,238, 0, 52, 20, 69, 93,171,252,189,226,133,174, 66, 27, 63,241, 61,175,252,249,224, 10,192,140,178,157,250,143,186, 79,249, -247,234,210, 43,174,191, 11,160, 69, 57, 39, 7,224, 42, 69, 81,133,213,136,173,167,172, 92,130,195,135, 15,147, 1, 3, 6, 60, - 26,241,159,252,254, 36, 36, 34, 97, 3,133,163, 59, 8,185, 7,138,250,227, 52, 15, 47,159,252, 21,171,214,184,188, 51,249,237, -212,146,162, 2,255,242,228, 83,182, 60, 44, 4, 20,179,234,249,174,225,125, 38, 77,158,140,160, 64, 95, 17,199,113, 36, 54,254, -161,117,219,214,111, 95, 63,127, 73,188,166, 36, 35,118,118, 37, 19,100,157,182,125,114, 60,151,241,164, 5,139,227,185, 39,223, -110,159, 14, 82, 77, 1, 78, 74, 49, 54, 29, 75, 6, 33, 0, 5, 2, 71,133, 16,187,207,102,224, 97,204,254,146, 1,161, 37,186, -209, 75,231,245,236,209,255,221,168,187, 73,198, 61,185,185,198, 19, 0,114,106,226,172,122, 64,231, 97,178,112,176,178, 44,246, - 29, 58,132,200,158,157,208,165, 75, 39,116,239,214, 69, 16, 29,115,107,220,228, 73,111, 53,196, 31,187, 59, 30,113, 74, 61,155, -118, 80, 58,186,237, 25, 54,105,153,234,118, 6, 11, 1, 3, 52,246,146,193, 69, 37,130,153,165,144,162,177,148,223, 57, 78,152, - 58, 99,190,203,172,247, 39, 29, 45,209,136, 67,128,123,150,154,202,174,215,235,197, 99,198,140, 17, 90,173, 86,203,232, 55,167, -245,201,201,209, 12,254,106,237, 23, 18, 15, 15, 79,232,141, 44, 98,238, 36,182, 88,176, 96,126,227, 67,199,207,254, 60,239,195, -137,191, 68, 70, 70, 58,254,248,227,143,124,109,245,249,216, 27,162, 58,111,195,183, 59,246,253,176,122,197, 98,196,165, 22, 98, -235,230, 47, 65, 56,118, 83, 45, 85, 85,153,147,140, 25, 51, 70,246,243,207, 63,251,102,100,100,148,232,245,122,205, 99,246, 8, -154, 18,168, 11,244,112, 83,137, 33, 18,208,240,116,150,194,195, 81, 2, 33, 3,208, 20,197, 85,197,185,117,207,145, 69,188,190, - 24, 7,119,153, 95,249,118,195,231, 24,247,206,167,136,205, 19, 31,167,229,142,139,166,188, 50,108,150,187,140,139,108,224, 68, -123,244,108,215, 8, 10,169, 8, 31,191, 59, 6, 29, 99, 82, 60, 50,139,248, 79, 53, 6,166,237,252,227,143,130,117,159,122,220, - 56, 82,102,193, 82,201,133, 56,190, 99,121,174,174, 88, 83, 92, 49, 37,103, 54, 25, 83,109,236,198,167,170,120,179,157,213,182, -117,171,207, 39, 77, 24, 79,119,237,220,145,208,180, 16,121,165,102,138, 16,224,189,169, 19, 49,101,226, 91, 94,233, 89,185,115, -190,252,114,211,236,168,147,100,161, 78,115,127, 94, 77,156, 52, 85,102, 5, 82, 74, 5, 80,202,202,132,139, 82, 42,128,209,204, -129,162,192, 56,249,133, 21, 83,101,150,220,172,130,212,106,223,192, 31,227,116,241,107,117,250,228, 67, 85,112,225,158,194, 75, -201, 89,119, 22,197,220, 82, 95, 5, 80,208,176,187,211, 88, 11, 75,160, 53,178, 72, 86,235,193, 90, 8, 53,174,159, 63, 2, 94, -162,130, 22,127,123,253,135, 99,183,224, 80,105,208,127,140, 51,243,242, 62,163,107,200,208,145,171,215,109,190,182,226,243, 79, -153,188, 98, 51,120, 66, 32, 21, 51,144,137, 5,229, 7, 3,131,174, 24, 95,110,252, 58,135, 5, 53, 12,231,206,177,117,233,159, -224,201,171, 67,251,119,223, 77, 1, 98,138, 22,101, 52,240,111,228,223,107,224,235,210, 94,131,198,128, 99,205,179, 98, 46,144, - 51,250,220,184,211,182,112,134,180,108, 1, 10,184,174,203,141,159, 8, 0, 10,143,230,155,130,131,130,219, 61,153,214,180,105, - 80, 59, 91,218,253,145,165, 84,170,122,199,217,197,253,211,160, 86,109, 61,212,133, 38, 74,229,234,139,228,132, 27,216,181,113, -206,118,222,104,158,127,250,200,158,207,215,108, 61,240,114,175,200,161,248,246,171, 47, 62,206,207,126, 36,180, 78, 85,178, 86, -189,186,237,155, 45, 13,133, 98, 9,172, 44, 15, 43, 71,202, 62, 89, 14, 5, 5,133,176,178, 60,164,114, 21, 88,158,130,149,227, - 97,101,121,152,204,172, 98,226,152, 23, 39, 27,129, 43, 85,229,211, 39,248,249, 19, 34,137,196,159,160, 44,118, 45, 33, 4,201, - 57, 6,218,219,219,123, 39, 0, 72, 36, 18, 72, 36, 18,240, 60,143,152, 56,205, 59,110, 65,205, 39,161, 92,224,113, 22,115,106, - 81,202,111,125,171, 43,187,151,151,215,192, 39, 69,150,209,104,132, 86,171,197,133, 75,215, 28,191,249, 97, 95,100,114,106, 70, - 32, 79, 28, 77, 42,143,192,190,165,185, 15, 6, 86, 87,159,165,234,184,201, 14,225,111,209, 31, 76, 25,219,116,221,182,195, 87, - 19, 79, 44,170,113,157, 86, 64,175,143,204, 31,188, 61,188,253,210,181, 91, 19, 10,127,219, 52,189,182, 54, 18, 8, 4, 66,141, - 70,243,232,254, 94,255,245,174,246,215,227, 50,135,172, 89,189, 70, 26,243,160, 20,183,147,179, 48, 54,194,175,236, 13,199,134, -118, 87,120, 6,186, 53,110,210,100,231,151,107,151, 10, 18,178,140,216,176,255, 42,162,126,217,116, 33, 39,247, 74, 36,212,217, -134,250,140, 33,127,130,208,170,150,243,204,173, 60,104,141, 44, 76,102, 22, 86,158,160, 68,111, 69,110,145, 25, 37,122, 11,180, - 6, 22, 99,123,251, 85,121, 93, 45,122,196,157,162,168,195,132,144, 1,132,144, 8, 0,226,138,239,101,207,108,234,112,185, 32, -123,236,251,172, 89,179, 62, 89,178,100,201,157,138,115, 43,210, 43,206,173, 41,189,210,245,174, 31,127,252,113,200,210,165, 75, - 23,119,238,220,121,247,239,191,255,254, 16, 64,161,173,211,135,130,202,133, 57,124,248,112,109, 21, 29,104,177, 90, 36, 14, 50, - 33, 26, 7,248,225,141, 79,190,117,251,126,233,248, 92,169, 88,192, 28, 59,118,204, 37,223,172, 4, 77, 51, 54,191,162, 40,221, -155,117, 17,137,196, 71, 86,174, 92,137, 87, 6,118,147,165,229, 89,181,183,210, 12,106,157, 25,172,135,123,115,241,162,197, 75, -149, 75,151, 45,159,114,248, 32, 95,164, 85,223, 93, 94,245, 20, 95,251,104,134,170,180, 6,139,162, 64,120, 46,163, 48,229, 90, -123, 0,120,150,181, 88, 90,163, 21, 76,249,218, 26,138, 2,244, 70, 22, 12, 67,229, 22,197,237,185, 59,122,225,162,158,219,119, -159,204, 34,180, 83,169, 78,151, 44, 71, 89,204,193, 58,195,104,230, 96,178,114,184,115, 51, 6,221,195, 91,162, 75,251, 96,232, -141, 28,244, 38, 22, 1, 77,130, 0,192,173,202,134, 99,232,135,132,179, 26, 9,225, 84, 3, 58,184,195,195, 73, 12,111,103, 9, - 36, 98, 1,172, 44, 96, 48,243, 48,154, 57,164,228, 26, 80,106,144,161,245,243, 35, 26,187,122, 71,155,114, 82,100, 63, 23,164, - 69, 15,171, 81,156,114, 28,182,237,220,215, 52, 43, 75, 61,248,232,207, 59, 36,154, 18, 43,110,165,232,144, 91,100, 2, 24,119, -204, 93,188, 65,242,209,244, 9, 67,182,237,250, 41,181, 87,183, 78,169,117, 45,179, 94, 19,183,125,207,222,125,155, 6, 12, 24, - 34,187,115,229, 40, 18,110,156,254, 92,151, 91,167,245, 89,116,104,104, 40, 59, 97,194,132,210,197,139, 23, 55, 60,120,240, 96, -128, 70,163,185, 1,192,234,228,228, 20,220,188,169,255,205, 95,143, 31,243,121,113,200, 8, 97, 70,158, 1,142,114, 17,252, 61, -228,184,116,225,132, 85, 44, 22, 86,185,222,164,124,122,112, 20,122,205,196,193, 75, 15, 35,239,228, 75,207,190, 53,126,108,234, -175,231,227,242,215,255,240,235, 23, 62, 74,235, 13, 41,175, 89, 31,221,190,137,215,172,169, 99,176,100,221,118,156,139,137,203, -213,209,222,159,103,155,216,147,213,155,210, 1, 1, 67, 65, 37, 19, 66, 87,162, 41, 78,186,126,188,249,159,100,166, 30,251,235, -207,219,233,130, 82, 43,210,243,140, 84, 86, 65, 41, 56,158,192, 73, 46, 2,203, 19, 20, 21,228, 81, 59,182,255,128,107,215, 46, -209, 96,232, 55, 1,204,171,177, 66,169,178,169, 66,165, 84, 88,102, 17,146,149,125, 90, 57, 30, 65, 77,155, 96,203,250, 85, 14, -110, 30,158,120,174,187,237,107,163, 85,174,254,161,187,191, 91,143,179,191, 95,127,225,220,154, 13, 29,148, 13,220,215, 81, 20, -183, 2, 4, 70,147,133, 67,113, 81, 33,196,230,116,116,244,209,192, 69,206, 33,165,196, 27,177, 57, 9,202,218, 6,252,252,216, - 3, 55, 40, 50,100,246,190, 67, 81, 75,250,246,126, 1,177, 41, 37,144,137, 5,144,138, 25, 72,197, 12,132, 20,135, 85, 27, 55, - 89, 11,139, 75, 7,228,223,249, 37,175, 30,253,243, 84,249,219,111,153,184,227,180,238,219,215,205,254,254,173,153,203,250, 70, - 14,125,157,138,189,118,230, 19, 61,112,218,182, 23, 61, 98, 83, 26,207,219,254,140,147,170,220,214,190,251,209,162,119,251, 12, - 24, 1,134, 17,192,106,181,226,167, 31,183,227,187, 13,115,239,155,181,249,175, 3,224,205,185,204,132, 61,219, 55,142,152, 57, -103, 21, 21, 18,218,177,211,153,236,167,195,123,254, 31,123,231, 29, 21,213,213,181,241,231, 78, 99, 26,189,131,130, 21, 4, 11, - 40,246, 94,163,198, 30, 53,193, 18, 49,177, 39,198, 36,198, 68,141, 38,106,212,104, 76,236, 45,177,197,168,177,247,142, 13, 91, -140, 10, 40,138, 40, 72,239,157,233,125,230,158,239, 15,192, 88, 40,131,229,123, 83,206,111,173, 89,112,135,225,153, 91,207,125, -238, 62,251,236,195,114,153, 95,198,140,155, 20,234,225,225, 97,247, 87, 68,139,160, 81, 64, 19,244, 27, 52, 12,103,143, 30,198, -131,216, 24,176,164,212, 48,177, 44,129,172,164, 40,215,108, 50,108,175,180,199, 67, 36,170,179,237,215, 29,254, 28, 14,243,100, - 2,249,207, 63,250,192, 48,249,179,175, 59,245,235,221, 53,214,134, 11, 69,106,122,142,227,141,232,184, 32,150,111,235, 51,110, -198, 10,129, 78,111,129, 92, 99,194,169,173,149,123, 29,145,147,111,251,186, 45,251,141,155,252,205, 38,161,144,203, 49, 54,109, -228,147,220,181, 93,211, 12, 95,111, 87,229,119, 75,215,181,185,118, 51,186,223,123,163,198,137,194, 2, 91, 50,222, 46, 98,187, - 15, 70,189, 19,108, 49, 27,199,104,138, 51, 42,173, 47,200,151, 56,201,124,235,249,105,254,138, 24, 53, 58,196, 16,212,127,198, -121, 48, 72,214,230,197, 15, 5, 0, 47,111, 95, 29, 95,104,175,172, 65, 4,134, 0,192,154,205,187, 91,221,141,207,158,176,114, -229, 42, 73, 84,146, 18,119,146,228, 16, 10, 56, 48,154, 88, 48, 86, 6,181, 89,194,157, 52,103,246, 44,251, 18,181, 5, 17, 49, - 5,136,141,188, 68, 12, 42,221, 40,137,217,126, 40,220,237,198, 0,104, 8, 32,145, 97,200, 47,234, 60,207,163,192,229, 26, 79, -116,202,178,165,207,203,246,110, 13,234, 91,120,194,126,124, 27,105,123,134, 33, 77, 25, 2, 39,128,100, 21,151,221, 83,173,117, -106,234,188,120, 44,251,254, 91,172,222,114, 24,217, 69, 58, 56, 88, 50,112,116,235, 34,124,177,228,119,104,245,149,103, 53, 84, -231, 71, 42, 50, 70,207, 27,174,242,223,203, 63,183,100,201,146, 1,207, 29,155, 1,149, 28,179, 23, 62, 87,254,255, 75,151, 46, -253,254,169,191,107,172, 53, 89, 79,140, 86,249, 70, 85, 99,182, 26,185,121,213,249,227,232,145, 67, 78, 37, 42, 35, 68, 2, 46, -124,235,249, 97,254,218,163,110,111,183,114, 69,161,209, 1,187, 55,253, 84,172,211, 40,247, 90,213, 88,184, 7,180, 21,219, 74, - 79, 29, 58,120, 24, 13,124,221, 5,187,174, 22,167, 68, 39,107,159,132,122, 21, 5,105, 54,245,236, 53,188,161,239,188, 35,185, -112,241,210,103, 42,160, 66,163,197,101,184,181, 55,239, 56,232,110, 39,230,131, 97, 0,165,214,140, 9, 99,134,189,250,109,140, -176,220,113, 99,195,192,148,153, 44, 69, 81, 46,190,158,249,145, 78,106, 74,120,144,158,154,158,213,107,224, 23, 23, 20, 42, 70, - 23,250,254, 71,183, 31,196, 47, 41,209,104, 94,110,146, 31,189,193, 2,189,145, 69, 82, 82, 34, 62, 15,123, 11,124, 46, 7, 92, - 46, 91,154, 44,109,174,252,100, 84,101,199, 23,195, 83, 48,124,231,242,169,155,189, 61,220, 93,108,165, 98, 98, 43, 17, 50, 77, - 3,253, 5,237,218,117,176,169, 23, 16, 44,184, 26,167, 69,122,129, 22,201,217,114, 8, 61, 90,240, 70,244,120, 27, 59, 87,205, -232, 86,156, 30,201,193,139, 73,138,207,112, 46,226,207,129, 91, 54,174, 20,230,201,140,120,152,174, 66,110,137, 14, 57, 37,122, -228, 22,235, 96, 43,230,163,203,160,137,194,147, 71,127, 25,216,179,115,219, 53, 47,179,221,201,201, 41, 39, 83,179,114,222, 13, - 14,105,131,157,191,253,218,217,209,177,158,189, 76,150,162,176,246,232, 44, 90,180,200,102,233,210,165,188,181,107,215, 42,218, -181,107,231, 57,123,246,236, 62,249,249,249,183,234,214,173, 27,112,246,208,246,139, 45,186, 12,110, 13,214,232,214,185,107,119, -129,144,229, 33,252,196, 9,227,190,189,187,138,180, 90,229,228, 42, 13,135,196, 97, 81,158,138,129, 91,173, 90,177,182, 54,150, -183,120, 28, 89,124,201,153,105, 59, 74,128, 67, 13,250,126,114,254, 82,228,163,248, 86, 81,169,238, 23,163, 30,231, 23,107,140, -141,146,206,124, 81,101,195,203,101, 24,240,185, 28,216,137,121,224,148,181,170,182,222,193,143,193, 48,110,229,145, 83, 6, 76, -217, 79,128, 97,144, 93,146,126,199,138,156, 13,134,176, 4,120,148,169,134, 74, 87, 26,154,175,237, 42, 65, 65, 94, 38, 54,172, -217,142,232,200,219,232,253,246, 32,172,223,188, 11, 19,198,188,171,171,238,233,135,195, 41,139,104, 61, 21,205,178, 21,243, 0, - 48,144,169, 77, 56,120, 45, 3, 13,235,115,172,190, 49, 0,128,157,173, 4,114,165, 22, 28,129, 29, 18,163, 78, 73, 78, 95,186, - 57,123,238,194,149, 95,150,228,196,164, 63,190,119, 21, 1,174,114,212,175,101, 68,108,174, 61, 34,139,234, 33,192,175, 1, 56, -130,219, 86,105, 23,198, 6, 45, 59,202, 57, 56,160, 85,139, 38,237,235,184, 59, 66,107,176,148, 69,181,184,248,117,219, 14,164, -166,100,142, 43,122,112, 52,250,117, 56, 90,117,126,114,129,208,221,239,227,123, 55, 47, 36,191, 51,234, 99,120,213,242,109, 46, - 75,191, 99,229,205,203, 58, 83,101,177,210,104, 9, 36,142,179, 63,159,243,195,180,222,253,135,227,207,171, 23,112, 39, 54, 17, -109,219,182,198,219, 67, 70, 64,169, 40, 14,220,191, 99,213, 91,102,141,242, 44, 79,104,158,214,166, 67, 15,134,181, 88,144,240, -240,126, 98, 69, 90,218,156, 71,119,110,228, 60,178,127,166,123,202, 53,176,185,173,131,243, 29,189,209,130,172,172, 76, 92,255, - 35, 34, 68,155,243,168, 70, 5,132,133, 2, 46,194,163,243, 97, 44,155,195,180, 75,215,183, 12, 2,142,190,243,226,149,219,169, - 20,239, 5, 0, 0, 32, 0, 73, 68, 65, 84,218,229,100,231,112,164,246,174,172,115,173,198, 2, 47,161, 81,127, 55, 73, 46, 48, -154, 88, 52,240,150, 86,169,233,230,237,247,253,140, 25,159, 55,230, 10,196, 80,170,245,134,156,236, 44,207, 77,187, 47,169,226, - 30,222,171, 85,219,221,193,254,135, 85,191, 8, 20, 58, 6,249,114, 61,138,149, 10,102,212,164,175,188,183,172, 91, 50,186, 42, -163, 85, 65,186, 72,253,147,225, 87, 3,157,236, 4,140, 74,103,102,139, 20, 70,203,168, 33,175, 54,232,178,204,100, 77, 92,185, - 98,149, 36, 58, 73,137,187, 73,114,136, 4, 92,216, 8, 56, 48,152, 88, 88,121, 57,113, 60,221, 61, 39,119,104, 21,132,179,119, - 10,193,229,114,160, 85,150,104,120, 40,138,111,213,173,183,164,101,155,118,232,222,173, 43, 30,199, 63,242, 61,113,236, 96,207, - 27,215, 47,231,154,141,141,166,170, 11,226, 15,215, 40,176,160,209,112, 77, 54,158, 31,120,213,170,219,113,232,136, 15, 28,234, -248,214, 98,220, 93, 93, 96, 38, 60, 76, 28, 51,204,234, 43,191,212,152, 3, 75, 23,206,134, 94,111,128,155,163, 13, 8, 1,182, -173,153, 15,131,193, 0,111, 23, 33,228,234,202,103,147,171,206,143, 84, 22,133,170, 81,238,201, 83,102,172,170,247, 25,134, 57, - 49,107,214,172,175, 1,144, 89,179,102,125, 93,190,188,100,201, 18, 45,128,236,106,186, 14, 55, 61, 99,180,202, 55,174,242,171, - 91, 16,224,234,226,117, 35,252,236, 25,135, 35,119, 89,252,121, 56, 18,253,219,122, 65,192,227, 64,226,224,141,187, 41,114,156, - 60,180, 81,118,116,207, 47, 89,122,189,254,199,234,251,154,253, 90,217, 74,164,103,127,219,185,151,117,117,113,225,108, 8, 47, - 72, 42, 82,154,159,116,105,197,223, 60,198, 70,158,221,228, 69,192,156, 17,137, 68,126, 6,131,193,169,186, 3,187, 45, 60,173, - 44,137,151,121, 29,109, 43, 24, 46,215,178,115,215, 78,184,218,219, 64,111, 98, 49,235,203, 79,181, 97,189,109,101,163,222, 27, -209,163,123,191,105, 23,249, 82,255, 11, 29, 66,252, 73,139, 22, 45,100, 92, 46,215,170, 84, 10,119,119,247,249, 28, 14,103,164, -141,141,141,157,193, 96, 80, 26, 88,157, 68,173, 51, 64,103, 4, 52, 26, 29,248,130, 82,179,200,231, 50,208,234, 12,208,104, 13, - 85, 95, 24,185,247,175, 1,104,164,120, 42,166,116, 33,174,129,205,239,251,143,126, 58,252,189,208,185,181,154, 15,177, 77,201, -145, 67,192, 24,209,186,177, 23, 46,157, 57, 76, 50, 83,227, 63,175,206,100, 1, 64,126, 65,177,143,155,155, 7,162,147, 85,200, - 42,210, 34,183,204,100,229,148,232,161,212, 42, 17, 92,199, 27, 50,185,220,231,165,247, 47,112,248,236,217,179,239,246, 27, 28, -138,105, 95, 46,232,180,117,227, 79, 49, 82, 27,254,135,234,188,132, 8,107,140,214,253,251,247,139,103,206,156,217,112,243,230, -205,156,209,163, 71,107,131,130,130, 68,239,191,255,126,167, 29, 59,118,136, 36, 18,145,246,238,213, 99,115,199,127, 50,107,240, -166,213,139,154,151,148,148, 48,102,147,233,180,177,164,100,150,170, 26, 51,151,113,236,235,135,243,146,140, 99,223,234,236,118, -204, 89,194,105, 42, 36,134, 17,104, 60,127, 47,226,230, 27,147,206,172, 85,138,223, 93,254, 73,182,140,157,163,227,184, 47,174, -206,100, 1, 0,135,203,192, 96,182,192, 78,204, 7,135,195, 41, 55,241, 94,191,238, 61, 45,113,115,176, 1,159,203, 1,143,203, - 64,161, 49,161, 80, 97,196,199, 31, 88, 91, 33,132,176,102, 11,129,214, 96,134,166,236,233, 80,169, 40,196,236, 47,167,227,237, -129,239, 96,252,228,233, 40,209, 2,145,201, 74, 24, 77,166,106, 47, 10, 14,195,129, 70,111,198,135,189,235,160, 88,101,132, 90, -107,134,193,204, 66, 98,195, 3,159,199,129, 84,196,131,189,132, 15, 16, 34, 40,111, 76,248,124,190,206,100, 50,237,172,226,137, - 30,245,124, 60,160, 53,113,208, 38,244, 39,244,106,223, 8,177,215, 14,242, 46,255,121,175,254,103, 95,206,193,167, 19, 6,226, -192,195,134,112,118,175, 3, 91,169, 24, 38,194, 1, 64,172, 76,216,155,207,114,140,239,140,252,121,243,182, 71,223,125, 59, 75, - 36, 83, 51, 16, 10,184,184,120,225, 60,110,220,140, 92, 93,248,224,232, 78,188, 70,248,132,227, 97,111,111, 15,145, 13, 23, 6, -163,222, 96,125,234, 2, 1, 1, 66,164,238,141,126, 46,123,226, 15,177,176,168,224,189,234,141, 22, 79,100, 63,107,234,151,223, -125,223,187,255,112,132,159, 56,128,253, 7,246, 90,218,247, 29,199,221,245,235, 70,116,234, 53, 8,157,122,135,226,244,225, 29, -211,213, 44,211,100,226,180,185, 11,187,244,232,135,240,147, 7,144,151,155,185,220,218,245,229,242,153,105, 61,222, 26, 8,157, -193,130,206, 61, 7,224,204,241,195,159,160,108,144,133,245, 55,177,231,218,103,112,204,211, 63,159,198,207,151, 25,248, 5, 10, - 3, 50, 11, 52, 72,201,211,224,232,158,173,196,250,246,194,208,186, 75,112,109,254,196,101, 23, 51,124,106,123,233,249,122,173, - 56, 62, 49, 41,112,252, 7, 97,252,250,126,129,156,124,185, 30, 5,114, 61, 10,229,122,168,116,102,248,213,246,231,152,204, 76, -251,154, 30,103, 87, 7, 27,254,250,227,201,176,151,242,209, 33,240,229, 7,218,178, 44,251,151,201, 90, 89,106,178, 98,146,229, - 16, 10,184, 16, 10, 56, 16, 10,184, 48, 91,136, 85, 15, 46, 98,247, 70,253, 62,158,250,145,183,193, 12, 20,201, 13,224,113, 25, -184,187, 58, 73, 91, 55, 31,137,109, 63,125, 2, 0,152, 48,115, 3,198,127,248, 62, 26, 55, 13,130,172,164,196,115,228,240,126, - 43, 1, 28,182,118, 93, 79,133, 71,248,134, 95,137,158,249,241,140,121,182,239, 13,236,206,189,147, 36, 71, 78,177, 30,137,241, -202, 26, 69,222, 0,192,108, 97, 65, 64,176,125,239, 9,136,109,120, 40,144, 27, 65, 8,193,162,181,251, 96, 39,230, 35,167,164, -180,187,191, 42,170,244, 35, 85, 68,164,106, 16,109, 28,128,210, 92, 46, 55,107, 35, 90, 75,150, 44,137, 93,178,100, 73,133, 17, -178,167, 76,214,203, 77, 42, 45, 16, 72, 3,237, 93, 92,255, 12, 63,115,202,238,240, 93, 11, 46,221, 45,194,240,206,181,161, 42, - 78,199,143, 95,190, 87,204,128, 24, 56, 92,174, 76,175,213, 28,210,106,213,139, 1, 24,171, 60,105, 60, 27,133, 72, 69,182,231, -215,111,250,205,236,234,238,142,157, 87,139, 51, 75,212,102,211, 95,221, 86, 38, 38,242,236,166,250,102,214,212, 87,151,247,248, -118,117, 79,226, 44,129, 96,201,198,163, 0, 8, 88,150, 5, 97, 89,240, 69,182, 82,215, 6,237,242,202, 26, 58, 17,143,195,232, -158,110, 1, 8,107,206, 44, 76,174, 58, 12,202, 0,112,144,240,177,247,114, 22, 0,228,113,149, 81,113,163,222, 43,237, 46,212, - 25, 68,138,166, 13, 27,146,214,173, 91,203,196, 98,171,202, 95,113, 61, 60, 60,110,205,157, 59, 55,112,252,248,241, 66, 27, 27, - 27,152,205,102,231, 95, 54,109, 98, 55, 45,158,128,161,159,172,135,192, 70, 8,173,206, 8, 62,159,135, 18,185, 10, 50,133, 6, - 74,141,169,230,103, 80, 82,146,161, 0, 88,118,228,176,205, 59,125,108,131,219,216,112, 4,104, 25,224,133, 75,103,143,144, 63, -207,108,155,160,205,143,255,205,202, 19, 17, 42,157, 9,217, 69, 58,100, 21,233,144, 91,162, 67,110,177, 30,185, 37, 58, 48, 12, - 3,157,193,252, 74, 55, 46,117,254,163,253, 59,127,219, 50, 72,111,196,136, 46,189,223,193,244,121,235,235,236,252,121,233,249, -100,194,233,104,101,162,173, 37, 54, 54, 54,245,131, 15, 62,104,190,123,247,110,110,179,102,205,180,113,113,113,146, 50, 19,105, -180,181,149,136,183,174, 91,114,182, 77,155, 54,123,179,226, 31, 94, 40,235, 79,175,182, 97,175,211,117,172, 80,108,140,158,232, - 43,237,208,167,129,167, 4,190, 82,101,159, 64,219,187, 63, 22,245,248,244,251,130,139,171,243,115,244,230,115, 5, 90,110,139, - 44, 21,223,170, 28, 60,147, 94,151, 54,116,248, 8,112, 25, 14,140, 58, 77, 90,249,201,229,238, 96,131,249,187, 30,194, 86,196, -135,157,152, 7, 91, 49, 31,157,154, 56,163, 6,237, 25, 49, 89, 88,104,244, 22,104,245,102,232, 12,102,184,250, 56, 97,243,206, -253, 72,207,215,226,232,237, 66, 60, 74, 83,194,191,182, 20,132, 84,223, 76,178, 22,147,122,224,176,209,118, 92, 14, 3, 46,135, -225, 52, 9,108,132, 98,149, 17, 2, 30, 7, 2,145, 24, 82, 33, 15,246, 98, 62, 4, 2, 62,242,243,243,161,215,235,225,235,235, - 43,170,218, 10, 18,216,217,138,225, 95,223, 27, 70,147, 25,167,174, 60,192,226,207,135,226,173, 46,173,192,240,109,241, 80, 31, - 2, 59,103, 59,176, 28, 14,140,102, 22, 6,163, 5, 0, 71, 87,153,158,143,143, 79, 15,169, 84, 42,213,104, 52,202,244,244,244, -136,220, 71,135,211, 45,220,193, 19,207,132, 95,220, 57,224,237,183, 16, 29, 19,139, 3,135,143, 93, 45,116,145,207, 40,255,159, -166, 77,155,182,115,117,117,181, 45, 42, 42, 82,220,191,127,255,214,203, 62, 23, 16, 14,231,179,246,157,186, 65, 37,203, 71, 94, - 70,138,213, 79,209,141,235,216,225,155, 37,235, 91, 6, 52, 10,104,105, 33,165,198,171,137,175, 29,190,152,183,166,101, 67,255, - 70, 45,203, 7,132, 52,246,173,186, 44, 27, 79, 98,215,123,204,248,233, 75, 6, 13, 31,139,139,225,199,176, 98,241,151, 59,165, - 14,110,141,157,157, 28, 90, 52,107,215, 27, 87,207, 31,131,200,206, 19, 78, 46,158,157, 70,127, 56,181,215,240,209,147,112,227, -234,121,172, 94,250,245, 14,139, 94,249,187, 53,235, 42,117,175,239,214, 60,164,205, 40, 59,103, 15,200,228, 74,216, 57,185,163, -113,112,235, 81, 15,238,234,103,170,243,147, 11, 94,218,116, 16, 2,189,145,160, 68,101, 68, 70,129, 22,169,185,165, 70,139,101, -107,144, 19,100, 97, 25, 91, 17,143,231,108,122,236,123,239,252, 69, 82,199,199,131, 89,182,240, 75,174, 17, 34, 20,200, 74, 77, - 86,129,194,128, 2,185, 1, 42,157, 9,206, 82, 30, 88, 11, 91,227,167,238, 18,149, 17,118, 18, 62, 28, 36, 2,171,163,140, 21, -177,241,215,189, 1,119,227,179,135,172, 88,177, 74,114, 39,249, 41,147,197, 47,141,102, 9, 5, 92, 88, 88, 22,176,226,138,231, -243,248,211, 6,247,235,133,140, 66,109,233,168,101, 14, 3,255,160, 54,112, 21,179,232, 25, 58, 11, 0, 48,176, 95,105,106, 91, -114,142, 26,199,255, 44, 0,158, 77,236,174,186, 45,214,106,185,155,118,157,252,108,255,190, 61, 14, 58, 11, 15,191,156, 78,133, - 70,111,134, 72,192,133, 80,192,133, 88,192,125, 38, 31,187,122,163, 85,154,115,151, 94,104,130, 70,167,131, 66,107, 2, 1,112, -235,177, 10, 90,131, 25,114,181, 9,237, 2,157, 94, 45, 16,194, 48, 39, 9, 33,253,159, 55, 68,207,155,165,167, 34, 82, 21,105, -220,126, 90,163,252,243,149, 25,185,167,115,182, 0,212,104, 4, 23,239,121,231,248,244,178, 64,234,212,216,193,206,225,207, 51, -167, 79,216, 30,190,203, 34, 34,166,212,100,153,180,133, 88, 62,115,100,166, 66, 86,216, 29, 64,146,181, 95, 38,113,109, 28, 44, -178, 17, 94,252, 97,213, 47, 70,119,143, 90,236,161, 63,101,249,114,141,229, 25, 55, 97,209,235, 57,132, 37, 2, 93,222, 99,171, -250, 16, 56, 28,198, 56,239,147,119,192, 18,130,249,171,246,227,251, 25,161,176, 21,143,150, 48, 12, 35, 81,235,204,248,124,193, - 22, 44,255,102,156,157, 68,200, 3,195,148,230, 68,141, 25,241,142,117, 39,160,206,140,196,155,187, 85,202,228, 19,113, 79,119, - 23,182,237,244,118,100,219,182,109,101, 78, 78, 78, 16,139,197,127, 69, 42, 42,193,195,195,227,155,121,243,230, 5, 76,158, 60, -249, 73,177, 79, 30,143,135,143, 63,250,136, 99,177, 16,156, 62,189, 13,110,117, 67,112,236,220,159,232,219,163, 53, 84, 26, 29, -138,101, 74,176,224,190,244,137,168,148, 21, 94,204, 77,189,215,166, 99,247,129,136, 56,123,132,252,121,122,235,132,154,212,232, -113,114,118,202,136,186,151,216,152, 97,156, 75, 35, 90,101, 38,203, 96, 98, 81,199, 67,130,140,212, 68, 56, 58, 56,100, 88,171, - 39,118, 11, 24,204,112,200,100, 6,100,155, 58, 47, 97, 63, 0,162,206,137, 27,185,255,247, 77, 49,177,247,239, 44, 30, 48,106, - 26,175,247,240,143,184, 63, 47,153,250, 53, 0,107, 11,239, 25, 31, 61,122,244, 96,220,184,113, 29,110,220,184, 97, 1,160, 97, - 24,198,196,229,114, 37, 6,131, 65,208,189,123,119,249,195,135, 15, 35, 80,113,210,226, 51,116,250, 96,191, 43, 35, 84,190,109, -195, 26, 71,214,177, 83,190,213,189,115,123,180,111,234,131,140,206,237, 1, 96, 90,154,202, 54, 64,215,112,203, 94,147, 89,124, -234,231, 95,143,127, 63, 33,180,215,231, 59,121,243, 87,228,156,152, 95,101, 34,106, 70,220,229, 62, 21,217,120, 30,151, 3, 59, - 49, 31,182, 98, 30,236,196,124,216,137,248, 48,153, 73, 77,158, 28,137,201,204,150, 70,180, 12,102,168,180,102, 92,188,147,135, - 92,185, 1, 50,165, 17, 90,163, 5, 4,164,244,105,212,138,214,188,224,241,117,199,242, 59,169,163,111,136,124,211,218,159,236, - 15, 94,203,124, 50,162,207, 65, 98, 3, 59, 73,233,104,236, 43, 87,174,192,197,165,250,167,125,150,101,113,224,204, 45,172,216, -126, 17,103,182,125, 5,145,128,139,224,193, 11, 48,118, 72, 91,176,132, 69,226,163,216, 60,255, 38,205, 61, 56, 28, 49, 56, 12, - 3,189,137, 5, 64, 42,221,159, 6,131,193, 37, 61, 61, 93,225,231,231,231,233,237,237, 61,156,203,229, 18, 40,239,232,143,236, - 41,214, 92, 56,241,187, 68,173,213, 91, 36,102,249, 54,191, 28,109,127,248,249,129, 97, 24, 98,111,111, 47,184,120,241,162, 42, - 40, 40,200,237, 37, 47, 37,142,216,189,209,234,241, 83, 62, 27,222,176, 65, 3,236,255,125, 27, 8, 97, 14, 90,251,207,187,142, -223,192,194,217,207,142, 48,252, 98,222,154,150,203, 23, 76,123,230,189, 41,179, 87, 84, 57,234, 80, 44,180,157, 49,116,228, 68, - 68,222,250, 3, 63, 46,248, 98,143, 94, 85, 60,214,100, 54,189, 91,156,147,188,167,126,147,182, 32, 70, 37,194,247,253,132,208, -247, 39, 8,123, 15, 24,142, 27, 87,207,227,251,175,167,236,210,200,242, 63,128,149, 73,206, 44,225, 79,238,222,103, 8, 95,171, - 55, 98,205,178,111, 49,105,198, 98,180,235, 49,144,127,255,206,159,147, 1,124,103,117, 58,132,209,130,238, 65,174,165,230,217, -196,226, 88, 50,151, 87,209, 25,200,227, 50,156, 22, 13, 28,161, 53,152,161,168,230,161,146, 39,224,231,202,228,138,186,235,190, -255,140,171,214,153, 81, 32, 55, 32, 95,174, 71,161,236, 47,131, 85, 40,215,163, 64,110, 0,159,199, 32, 62, 41, 13, 28, 62,175, -198,249,121, 37, 42, 19,218, 52,114, 42,189, 70, 95,178,119,196,196,179,111,123,230,242,221,161, 43, 86,172, 20,221, 77, 81, 34, - 38, 89, 81, 22,201,226, 66,200,231,192,166,236,119, 11, 91,154, 27, 89, 21,246,110, 13,234,135,141, 25,221,211,222, 86,140,236, -132,124,240,184,165, 37, 98, 28,220,125,224, 32,212, 97,234,148,137,112,117,113, 68,122,161, 30,171, 15,199, 35,230,193, 99,176, -218,154,109,246,154, 95,246,244, 29,255,241, 23,142, 28,190, 13,118,156, 77, 41, 93, 79,174, 5, 15,255, 60,174,203, 78,188,167, - 86, 41,138, 8,136,197,202, 28,100,134,152, 45,165,167,219,247,243,103, 97,207,246, 13, 56, 27,149,255,228, 12,188,118,112, 57, - 62,155,189, 8,133, 10, 3, 42, 58, 47,171,242, 35, 0, 10,158,138, 68,189,176,252,148, 57,170,104,153, 41, 91, 54, 84,162, 97, -120,206, 92, 25,158,123,223,240,156, 94, 69,181,255, 54, 85,219,117,248,130, 41,114,116,107, 38, 17, 73,255, 56,125,250,184,244, - 72, 12,121, 98,178,140,154, 66,178,120,218,192, 76,133,172,160,119,141, 76,150,155,127, 51,161, 68,120,121,238,162,213,122,143, - 90,117,205,167,238, 40,138,148, 58,139,249,197, 28, 4,169, 69,234,224,166,227,217, 8, 87,240,181,134,111, 11, 11,227,212,213, - 69,158, 88, 66,112,226,102, 46, 8, 41,125, 68,218,119, 37, 11,101, 79,230,176,176,165,221, 42,231,238,228,131, 87,150,135, 98, -109,248,123,227, 47, 27, 20,253,131,228,234, 81,223,207,127,210, 93,216,174,121,105, 36,203,222,222, 30,142,142,142,176,181,181, - 69,117, 93,135, 12,195,140, 25, 63,126,252, 11, 79,255,249,249,249,232,213,179, 59,214,110,216,140,230, 61,195,112,238,250, 89, - 24, 77, 44,130,155, 52, 64, 93,111, 39,100,228, 41, 95,234, 66,151,122, 4,124,220,166,251,144,175, 59,245, 24,136,139,103, 14, -145, 63,207,252, 58,177,166,133, 16,251,247,234,112,124,225,194,249,245,231, 46, 94, 39,180, 19,241, 16,167, 50,128,195, 48,168, -227, 33,129,139,148,131,136, 35, 59,116,161, 3, 59, 88, 93, 28,207,199,167,214,206,229,107, 55, 73,151, 47, 93,208, 61, 50,138, -185,168,202,142, 47, 6, 0, 77,222,163,101, 15,129, 7,181,255, 8, 63,213,188,235, 59,240,240,110,240, 86,114,222, 67,171,205, - 6, 0, 77, 82, 82, 82,242,220,185,115, 3,150, 46, 93, 74,184, 92, 46, 11, 64,184,106,213, 42, 77, 66, 66,194, 29,148, 14,205, - 69,117, 55,155,158,111, 53,253,220,214,198,210,206, 89,194,105,218,192, 83,130,246, 77, 75,123, 69, 67,251,119,130,143,175, 47, -146,114, 53, 45,138, 53, 44, 95,101,224, 54, 88,255, 75,204,237,122,174,220, 9,102,173,225, 1,128,163, 53, 61, 62, 12,254, 74, -144, 47,143,102,217,137,249, 96, 75,207,149, 26, 25, 45,189,209, 2,173,222, 2,173,193, 12,181,193, 2,141,193, 2,150,148, 94, - 19, 12,195,192,104,102, 97,213, 99,243,115,231,190,189,179, 43, 26,212, 99, 96, 47, 41, 93, 55,251,178,114, 15, 12, 0, 23, 23, - 23,184,187,187, 91, 21, 21, 53, 24, 75, 47,113,131,137,125,210,173,111, 48,154, 65, 8, 65,124,252,163,175, 82,147,147, 7,251, -249,251,117,105, 18,220,220, 89, 34,228, 0, 64,165, 70, 75,163,209, 88,236,236,236,220,157,157,157, 57, 89, 89, 89, 79,204,179, - 95,139,238,230,195,135, 14, 98,232,208,119, 84,113,183,238, 62, 25,226,174,213,106,153,142, 29, 59,218,251,248,248,112,244,122, -189,162,166,135, 73,234,214,104,136,147,139,243,226, 49, 31, 76,106,212,189, 87, 95, 92,186, 16,142,163,135,118,255,166, 41,136, - 15,183, 86, 36, 32, 32,240,133, 81,135, 13,253, 27,189, 48,234,176,110,125,255, 42,141, 86,147,224,214,109, 9,195,195,217, 19, -251,136,142, 99,156, 2,128,181,232,148,251,246,110,252,230,187,145,147,103, 55,236, 55,104, 36,198,188, 63, 22, 60, 30, 23, 17, -231,142, 99,249,130,233, 39, 85,242,252, 48,107,210, 4, 74, 67,111,141, 5,181,196, 62,159,250, 54,108,134,168, 63,175, 34, 49, -254,126,236,221,219, 55,154,250, 5,181,131,155,119,157, 79,211, 92,185, 75, 17, 23,103,172, 78,198,160,211,165,141, 13,123, 31, - 79,143, 58,108, 31, 18,224,194, 60,127, 1, 0,208, 40,243,141, 91,127,250, 60,161,124,212, 33,107, 52,164, 85,166, 43, 47, 41, - 56, 16,113,253,230,140,193,253,251,114, 10, 21,134,210, 8,150,220, 80,246,210,163,176,252,119,133, 30,254,222,182,120, 20, 27, -197,234,228,133, 7,107,120, 93,234,198,190,219,231, 65,249,185,203,178, 4, 12,160,171,113,183, 20,223,126,226,178, 31, 87,136, -238, 38,171, 16,147,162, 40,237, 42,228,115, 75, 13, 22,159,243,196,116,149,142,102,175, 38, 58,196,112,191,255, 48,108, 4, 10, - 21, 70,176, 44,192,227,114,202, 94, 2,164, 43, 25,100, 40, 53, 40, 44, 41, 64,114,106, 26,100,185,137,224,112, 56,112,245,110, -100,117, 37,105, 11,177,241,210, 24, 72,208,240,254, 93,120,135,254,200,129, 68,200,131, 94,153,135,211,123,127, 42,208,171, 20, -139,181, 26,213, 33,107,234, 57,254,149,130,192, 20, 40, 84, 58, 15, 33,159,139,253,219,215,225,221,177, 83,158,105,125,191,154, -179, 16,224, 48, 40, 46, 81,130, 97,152,130,154,181, 75,204,237,170,150, 95, 50, 50,246,202, 26, 21,152,173, 23, 31, 20, 42,127, - 26, 37,167,195,207, 28,151, 94, 75, 21,226,214,163,156, 50,147, 85,192, 46,250,164,127,166, 82, 94,220, 7, 64,124,205,158, 11, - 57,125, 66, 63,156, 17,219,160, 81, 19,253,165,251,170, 20,153,218, 84,105,158, 67,251,225,115, 99, 35, 79,174,237, 39, 55, 37, -125, 36,245,106, 98, 97,205,230,101,218,130,248, 5,149,116, 29,218, 44, 88,189,255, 73,183,225,204,165, 59, 74,127,183, 88, 96, - 33, 44, 8, 11, 76,253,102, 35,204,172, 5,172,197, 2,214, 66, 96,178, 16, 73,117,171,235,238, 93,247, 80,201,195,125,129,163, -190,123,177,187,208,209,209, 17, 46, 46, 46,112,113,113,129,189,189,125,181, 70,139,207,231,219,242,120,207,238,234,180,180, 52, -164,166,166,194,222,222, 30,132, 53,193, 96, 2,154,181,235,141,123,137,247,113,254,218, 29, 16,214, 2,169,109,205,103,121,145, -122, 4,124,212,186,219,224,117, 61, 6,141,195,185, 67,191,144,219, 87,142, 79,210,230,199,111,177, 58, 66,111,177, 48, 38,147, - 9,253,123,119, 75,139,142,125,124,102,206,140,201,125, 59, 12,152, 36,108, 31, 80, 11, 58,131, 5,153,169,137,136, 56,242,171, -174, 81,125,175,179, 61, 59,183, 77, 51,153, 76,176, 88, 44,213,222,200,117, 6, 99, 33,151, 47,150,142, 24, 49,138,127,251,214, -173,131, 82, 55,255,253, 22,134,115,151, 33,108, 48, 67,200,208,224,224,198, 48,154, 88,104, 52,138,146,154,110,179, 82,169, 76, -222,182,109, 91,253,176,176, 48, 73,147, 38, 77,248,137,137,137, 88,190,124,121,145, 82,169, 76,182, 86, 35,252,202,163, 85, 60, -166, 36,161, 60,162,149,222,169, 61, 70, 12,232,132, 61, 39,175, 33,226,234, 13,164,169,108,239,168,204,188, 35, 25,105,217,250, -166,206,138,131,131,218,215,229,238,223, 94,114, 48,182,219,172,247, 8, 17,134, 23, 94,158,175,182,254,226, 6,148, 90, 19,236, - 37,165,245,158,202, 35, 91, 92,134,177,218, 17, 49, 64,242,213, 27, 81,205, 90,249, 55, 65,116,178, 28,249, 50, 61,180,122, 51, - 88,150,128, 5,129,139,157, 13, 68, 2, 14,210, 83,147,193, 18, 99, 74, 13,111, 21, 5, 93,187,116,229, 1, 12, 24,134,240,248, - 60, 30, 8, 74,235, 43,138,197, 98,149,187,187,187, 85, 17, 45,163,217,140,161,125,219,162, 93,235, 96, 12,158, 84, 90, 51,243, -194,111,179,224,100,203,199,158,157, 91,144,113,101,213,206,250,237, 39,135,223,191, 23, 59, 44, 54,250,143, 81,111,183, 20,183, -240,228,101, 11, 42, 11,147,170,213,234,131, 0,108, 4, 2, 65,223, 46, 93,186, 56, 31, 60,120, 80,230,234,234,202,218, 8, 4, - 5,131, 6, 14, 96,249, 2, 65,113,249,103,175, 95,191,206,159, 52,105,146, 93, 73, 73, 73,122, 94, 94,222, 13, 0,166,170, 31, - 4, 3,122,129,131,221, 96, 24,145,173, 88,146, 86,175, 94, 3,239,214,237,218, 58, 12, 25,250, 46,132, 54, 66,156, 11, 63,131, - 53, 43,151,238, 83,229,196,125, 88,147, 61,249,186, 70, 29,102,166,167, 36,107,180,250,160,102,173,186, 49, 87,195,143, 76, 51, -194,117, 37, 87,104,252,169,215,208, 41, 13,147,179, 85, 88,179,228, 43, 56, 57, 72,145,146,248, 80,155, 16,119,111,163, 73,167, -248,202,106,147, 5, 64, 82,100, 25,214,254,253,190, 78,122,163, 5, 87, 46,158,212,177,102,182,239,141,203,167, 18,107, 55,106, - 45,106,214,186,167, 83,225,209, 45, 67, 53,192,158,234,116,178, 30,190, 24,193, 37, 6, 89,202,133,139,231, 29, 60,234, 52,229, - 50, 96, 96,212,235, 80,144,116,219,172,201,123,168, 80,100,221,183,106, 20,110, 81, 6,190,153, 61,239,135,143, 90,183,106, 37, - 37, 16, 61, 19,193, 42, 55, 88,133, 10, 3, 92,237,108,160, 85, 20, 32,225,246, 25,157,166,128, 91,101,189, 51,179, 65, 45, 41, -204,207,179,249, 43,157, 33,190, 93, 85,159, 47,204,207,179, 49, 27,212,146,234,111,117, 92,216, 75,109,112, 47, 37,235, 73,226, -187,144, 95,154,155,101,195,231, 62,201,211, 42,111, 11,170,161,155, 64,228,136,172, 34, 29, 24, 16,176, 22, 51,204, 38, 3,148, - 10, 5,178,178,115,145,151,155, 7,165, 82, 6,137,173, 19,154,181,104, 3, 59,169, 8,119, 35,246,129, 16, 98, 85, 93, 67, 19, -195, 15,104,221,174,179,240,126,106,105, 46,150,136, 79,112,124,247,210, 34,149, 34,191,179, 42, 39, 33,161,166,109,177,217, 98, - 57, 31,243, 32,161,105,109,175,122,204,157, 68, 57,118,110, 94, 11, 67, 89,100,211,100,178,224,126,186, 26, 57,197, 26,164, 39, -197, 17,214, 98, 57,143,255, 8,188,202, 3,128,224, 5, 55,107,140,222,163,135, 96,195,134,141, 72, 74, 78,101, 23, 79,235,151, -174, 82,202,222,174,129,201,234,133,178, 90, 27,154,188, 71,203,180, 78,173, 51,143, 69, 23,115,180, 6, 82,101,130,143,200,173, - 14, 58,127,184,252,172, 86, 89,108, 99,209,107,120,199,119,126,184,187, 34,205, 82, 7, 13,195,226, 47, 66, 97, 43,230,129, 97, - 24,148,119, 23,174, 95, 56, 17, 18, 97,105,223,178, 86,111,198,232,207, 87, 96,231,138,233, 32, 0, 70,190,123, 77, 83,217,122, -162,116,238,194,169, 94,184, 85, 59, 45, 53, 63,171,215,192, 47, 46,232,140, 66,253,128,119,194, 34, 91,181,106, 37, 19,139,197, - 16,139,197,176,183,183,135,147,147, 19, 28, 29, 29,171,221,118,147,201,164, 50, 24, 12, 46, 54, 54, 54, 96, 89, 22, 41, 41, 41, - 72, 73, 73,129, 92, 46, 71, 65, 65, 1,212, 42,133,249,214,133,253,188,102,237,251,193,187, 65, 16,234,248, 55, 7,159,203,128, -199,227, 32,226,216,230,202,214,179, 98,147,213,117,208,250,158,131,199,227,220,161, 77,228,246,149,227,147,181,249,241,155,173, - 61, 70,101,221, 61,119,135, 14, 29, 26, 52,105,210, 36,193,188, 25,147,206,158, 12,143,136,223,127, 98,211,192,146, 18,153, 15, - 33, 4,142, 14, 14, 25,161, 3, 59, 28,239,222,177,117,218,133, 11, 23,216,221,187,119,235, 25,134,185, 87,149,102,105, 35,149, -255,219,133,243, 23,231,119,238,218, 13, 91,182,239,238, 26,251, 32,174,107, 98, 98, 2,124,234, 52, 64,189,250,254,208, 48, 78, -184,120,249, 42, 84,178,252,223,172, 89,207,231,162, 90, 76, 73, 73,201, 31,161,161,161,189,175, 93,187,198, 9, 13, 13,213, 20, - 22, 22, 94,127, 42,138, 69,170,211,188,241,243, 59, 5, 0,126,171,211,117,236,190, 44,163,236, 83, 0, 75,125,235,248, 34,226, -234, 13,220,184,118,115, 99,161,196,119,193,135,163, 63,152, 88,119, 16,119,252,160,246,117,185,238, 78, 18,252,190,105, 57,247, -216,141,212, 21,169, 69,150, 45, 75, 47,207, 95,104,205, 49,122,114,227, 80, 26,209,177,177, 51, 76, 22, 2,150,148, 54,184,118, - 34,126,101, 13,239, 11,154, 60,131,240,195,201,147, 38, 37, 54, 11,110,241,217,232, 15, 38, 11, 90, 52,240,193,173,199, 50,128, - 97,224,236, 41, 69, 78, 78, 14,174, 28,216,100, 46,201,122,184,145,203,101,191,171,193,254, 68, 73,218, 29,191,167, 22, 39, 22, - 22, 22, 34, 34, 34, 2,229, 6,203,205,205,173, 50,163,245,140,102, 81, 94,246,245,133, 63,254,210,113,194,152,119, 48,160, 91, - 83, 92,190,157, 8, 67, 89,189,166,242,161,228,201, 55,126,182,249, 52,180,129,225,163,161,141, 20, 90,147, 77,234, 55, 41,242, - 43, 40,157,131,149,173,100, 61, 13,197,197,197,199, 30, 61,122,212,169,121,243,230,117, 79,157, 58, 85, 28,123,243,236,180,167, - 87,226,139, 47,190,176,221,176, 97,131,132, 16,114,221, 96, 48, 36, 89,181,237, 28,252, 30, 21, 25,233, 98, 52,177,184,122,243, -110,227,158, 29, 91,128, 37,192,237,219,183,177,101,235, 22,221,189,152, 59, 63,169,243, 60,191,171,194,188, 84,184, 63, 45,175, - 54,234,240,137,102, 78, 86,234, 79,231, 78, 30,216,217,186,235, 64,140,154,250,221,119, 17, 39,119,207,111,217,121, 0,167,113, -235,222,136,186,113, 17,231, 79,157,249,193,168, 42,158,143,234,115, 71, 42, 92, 79,161, 88,242, 73,147,150, 93,145,158,150,138, -148,132,251,191,233,138, 31,103,167, 37,114,127,203,206, 76,155, 92,191,105, 71, 92, 59,187,103, 90, 21, 70,171,202,115,222,199, - 77,188,233,212,137, 99, 35, 50, 51,127,246, 84,107,117, 66, 66,136, 78,104,195,203,181,229, 40,247, 42,172, 94,207, 56, 99, 65, -118,221,161,239,142,158,124,114,205,154,149,124, 15, 71, 9,114, 75,116, 80,104,141, 80,106,140,224, 48, 12,252,188,165,208, 40, -139,113,249,192,143, 38,131,170, 36, 20, 72, 52, 86,166, 41,117, 15, 88, 84,242,248,226,212, 47,166, 92,130,141,131,143,119,189, - 30,179,171,140,214, 41,179,238, 12,252, 98,202,241, 0, 66, 72, 79,169,123,128, 82,157,255,104,110,101,219,206, 48,165,215,247, -168,238, 62, 48,154, 75,235,143,153, 89,192,194,178,101, 81, 62,128, 60,233,207,103,170,217,118,134,221,123,242, 58,178,243,100, -208, 26, 76,208, 27,204, 48,154, 44,224,112,185,112,116,114,132,127,189, 16, 56, 56,218, 35, 47, 55, 27, 55, 46, 28, 67,124,204, -229,235, 12,193, 2,109, 65,194, 5,107,142,145, 64,236, 24,224,229,237,201,201, 81, 24, 32,182,225,226,206,229, 83, 70,147, 65, -255,147,149, 38,235, 5, 77, 89, 81,241,138,207,102,124, 57,242,215,109,219, 61,131,234,219, 35,179, 80,139,204, 2, 29,148, 58, - 83,153, 17, 99,161, 87, 21, 34,230,226,246, 92,139, 78,185, 2,255, 17, 42, 53, 90,102,163, 78,121,240,204, 45,151, 89,243,127, -228, 62, 78, 76, 50, 45,250,180,127,166, 86,165,232, 87,227, 72,214, 83,252,250,113,253, 61,111, 98, 35, 94,232, 46, 36, 44, 88, - 66,112,252,102,238,147,238, 66,182, 44,243, 50, 58,177,234,105, 4,159,158,187,176, 91,191,105,231, 98, 30, 41,119,105,181,121, - 14, 15, 31,255, 84, 2, 0, 92, 46,247,201,171, 60, 55, 75,167,211, 25,170,233, 66,217,177,121,243,230,153,147, 39, 79, 22,102, -100,100, 32, 49, 49, 17, 50,153, 12, 34,145, 8,103,206,156, 49,129, 53,255, 20,115,237,112,202,163,168,240,111, 3, 90,245,174, - 29,212,190, 31, 36, 18, 41,120,196,250,100, 76,137,123,163, 17,173,186, 14, 90,215,115,200, 4,156, 63,188,153,220,190,124,108, -138,182, 32,126, 83, 77,247,165, 76, 38,139, 5,144,240,211, 79, 63,181,216,178,101, 75,253, 25, 51,102, 36,237, 88, 55,127, 13, - 0, 20, 21, 21, 1, 0,162,163,163,201,148, 41, 83,244, 58,157, 46,185,164,164, 36, 10,213, 12,128, 0, 0,109,129,228,251, 45, -235,151, 54,203,200,202,121,167, 65,179, 54,112,171,223, 6,158,126,109, 81,162, 52,226,214,227,108, 36,197, 93, 64,220,213, 3, -167, 52,182,230,249,168, 97,125,227,230,205,155,251,112, 56,156,122, 42,149,202,179, 73,147, 38,205,165, 82,105,116,243,230,205, - 67,120, 60, 94,102,100,100,100,106, 77,180,210, 46,111,215,215,233, 58,118,117,154,210,174,123, 82,174, 38, 36, 77,105, 23,173, - 17, 58, 76, 47,184,184, 90,255, 43,183,214, 10, 98, 44,140,221,191, 93,113,240,247, 77,203,185,163, 39,126, 97,185, 47,119,250, -148, 39,182, 57, 87,179,112, 53, 39,231,163,176,193,127,149,119, 40,139,100,149,253,110, 85,152, 94, 46,143,145, 3,152, 25,243, -128,191,238,254,167,147, 22, 6,183,238,248,126,151,183, 67, 57,102,129, 45,206, 30,254,153, 36,199, 92,220,207, 35,150, 57, 90, - 43,102, 3,168,182, 59,200, 96,176,198,100,189,184,142, 25,210,110,251,119,111, 29,123,240,240,161, 37, 67, 6, 13,118, 89,255, -205,123,248,241,151, 35,144,138,133, 32, 44,139,247,186,251, 12,255,118,124,224, 64, 31, 15, 81,173,131,151, 50,175, 76, 93,121, -127,166, 70, 99,140,183, 34, 18, 67, 10, 11, 11,175,218,218,218, 22,116,234,212,169,157, 80, 40,100, 10, 11, 11,121,238,238,238, -102, 7, 7, 7, 67,102,102,166, 70,175,215, 31, 4, 80,163,178,227, 70, 19,139,148, 60, 29,142, 30, 58,136,187, 55, 47, 32, 46, -238,145, 50,238, 65,220, 90,134, 71, 86,170,243, 18,138,129, 26, 63,224,131,173,112,212, 33,169,241,168, 67,139, 94,249,251,142, -141,139,122,104,116,250,177,205, 59,244, 71,221,198, 29, 57, 70,147, 5,247,110, 95,194,165, 3, 43,127, 52,170,138,103,189,202, - 49,246,174, 93,223,159,112,109,240, 71,196, 73, 16,150,221, 8, 0,132,101, 55, 70, 95, 59, 53,185,109,191,241,112,118,175,219, - 92,150, 30,205,224, 37,170,135, 11,120, 28,245,233,131,191, 30, 78, 73, 73,193,195,135, 15,241,248,241, 99, 20, 23, 23,227,247, -223, 83,106,116,124, 52, 37,169,231,226, 31,112,250, 12,123,111,212,241,225, 35,198,136,234,251, 7,113, 2,106, 59,193,197,150, -135, 71,143, 83, 17, 31, 25,195, 62,186,117, 74,103, 84,228, 15,209,150,164, 86,106,252, 36,174,141, 61, 0,203,172,242,185, 11, -219,183,239, 24,240,229,226, 37,237, 92,220,220, 43,108,199,139, 10,242,109,190,154,122, 44,224,198,159,127, 88, 53,215, 33,107, -177, 20, 77, 28, 27,202,114, 75, 39, 10,197,147, 56,117,217,222, 43,125,152, 42,125,159,176,230,106, 35,248, 31,188,211, 25,102, -150,133, 90,107,132, 66,173,135, 92,169, 67, 78,126, 17,238,198,196,224,242,241, 99, 72,124,116, 55,217,100, 48,132,115, 56,204, - 1,109, 94,252,229,154,245, 52,241,234,187, 56, 59, 35,185, 88, 5,145, 13, 15,169,241,145,122,181, 66,190,235,101,207, 35,109, - 81, 66, 78, 62,151,233, 29, 26, 58,226, 76,143, 62,131, 28, 90,119,232, 37,113,181,119,132,128, 71,144,144,146,141,168,235,103, -212, 73,119,175, 40, 76, 6, 85,223,215, 49,235,203,223,156,234, 71, 29, 26,245,234,129, 35, 7,119, 61,196,229,242,108, 88,214, -172, 55, 26,244,195, 94,197,100,189, 41, 8,177,100,142, 29,249,206, 51,207, 6,102,150,136, 71,190,123, 86,251,244,179,130,201, - 66, 36, 35,223,189,174, 41,109, 64, 42, 79,236,243,242,114,238, 95, 62,119, 97, 90, 90,209,237,226, 98,253, 37, 0,153, 58,157, -238,165,215, 49, 47, 47,111,225,226,197,139, 7,104, 52,154,192,110,221,186, 9,237,237,237, 81, 84, 84,132,240,240,112,211,137, - 19, 39, 30,228,231,231,127, 11,228,155,181, 8,249, 45, 70,119, 56,236, 81,100,248,183,129,173,250,212, 14,234,208,207,250,198, - 76, 40,158,208, 99,208, 56,230,252,145,205,228, 86,196,145,143,180, 5, 9,191,188,194,110, 53,234,116,186,155, 58,157,238,254, -156, 57,115, 90,123,120,120,120,124,251,237,183, 34,133, 66,193, 95,191,126,189,174,176,176, 48, 87,161, 80,220, 64, 21,249, 52, - 47, 18,109,146,103, 97,232,233,131,155,187,147,131,155,223,114,116,173,213,219,193,173,118, 67, 89, 65, 86,178,188, 32, 59, 28, -192,249,178, 66,145, 53,162, 69,139, 22, 13, 24,134, 9, 5,208, 76, 42,149,250,217,218,218, 10, 9, 33,129, 12,195,196,178, 44, - 27,211,164, 73,147, 19, 15, 30, 60,168, 81, 49,217,180,203,219,245, 62, 1, 29,119, 23,107, 88,129,129, 35,216,157,118,121,187, - 30, 0,242,207,125,169, 1,112,244, 65,183,153, 67,143,221, 72, 93, 19, 91,226, 48,173, 32, 98,201,177,154,174,179, 60,243,174, -223,235, 58,255,117, 57, 15, 50, 1,140,141,137,196,242,123,209, 55,230, 49, 4,124, 11,204,139,180,249,143, 35, 95,135, 62,159, -207,215,213,170, 85,171,194,209,133, 66,161, 80,167,215, 87, 21, 64,185,108, 86,229, 96, 11,208,117,251,161,125,219,199, 30, 57, -118,116, 73,151,158, 67, 92, 68,181,107,163,158, 59,131,237,179, 90, 78,187, 16, 93,112,107,208,151, 87, 54, 36,101,235, 98, 80, -195,124, 24,149, 74, 21, 15,160, 68,165, 82, 13, 38,132,100, 48, 12,227, 83, 82, 82,114,199,100, 50,221,171,177, 33, 96, 49,170, -125,251, 54,191, 51, 12,195, 35,102,118,217, 13, 62,119,183, 46, 39, 46, 19,175, 56, 45, 73, 80, 61,123,124,254,237,234,150, 13, -253, 26,181, 44,159,235,176,105, 93, 59, 76,154,185,188,101,221,250,254, 45,255,154,255,176,218, 52, 1, 98,210,148,124,120,104, -235,178, 43,209,127, 94,250,218,213,171,110,221,220,204,164,184,140,199,119, 22, 90,116,138, 67,175,122,156, 83, 30,199,174,220, -242,211,204, 25, 57, 89,201, 91, 52, 5, 9,247, 1, 64, 83,144,112, 63, 46, 10,223, 20,230,102,206, 40,202, 79,250,233,101,247, -133, 90,173,206,222,181,107,151, 99,199,142, 29, 57, 30, 30, 30, 40, 40, 40,192,165, 75,151, 88,150,101,179,106,172, 85,156,124, - 73, 93,204, 56,255,246,203,186,101, 2,169, 93, 63,179,217,236, 77, 8,192,227,241,114, 12, 26,197, 25, 37, 71,250, 37, 74, 82, -117, 85,223, 51, 88, 6, 0,167,124,238, 66,150,101,153,101,107,182,167,242, 69,118, 21, 22, 67, 52,233,148, 18,150,101,173,158, -235, 80,150, 30,213,240,117, 93,223, 12, 33, 11,154,183,106,247,181,201,100,212,149, 93, 31, 58, 0, 58, 66, 80,196,225, 48,151, -185,172,233,172,226, 21, 30,166, 24, 6,246,132,225,193, 78,204, 3, 3, 6, 42,121, 49,169, 73, 78, 86,133,134, 56, 63, 62, 86, -147,223,181,206,105,195,190,176,139,231, 78, 53,148,119, 13, 0, 0, 32, 0, 73, 68, 65, 84,189,107,177, 88,234,149,197, 12, 82, -244, 90,245,126, 85,142,211,111, 64,164, 25,255,126, 78,150,155, 45,230, 13,127,145, 85,221, 40,127, 39,205,128,250,226,193,181, -107,121,132,165,164,230,223, 74,202,208,252,134,103,167,213,121,149,245,228,122,120,120,124,195, 48,204,251, 54, 54, 54,182, 6, -131, 65, 77, 8,217,145,151,151,183, 16, 47, 76,254, 27,194, 23,187,107,195,108, 68,146,185, 70,157,250, 15, 77,126,252,168,234, -182, 93,226,214,168,183, 72, 42,157,169,211,170,119,104,242,226,183,191,230,253,233, 32, 20, 10, 67,108,109,109,249,133,133,133, - 55, 1,200,255, 78,199,189,121,243,230,190, 28, 14,167, 30,203,178, 30, 0, 28, 80, 58, 42,164,144,199,227,101,149, 69,180, 72, - 77, 53, 59,125,176,223,181,231, 91, 77, 63, 15,191,242,104, 85, 89,183,226, 19,106, 13, 95, 33,122,191, 95,247, 47,126, 59,116, -180,162, 81,135,255,184,115,254,255, 79,179, 43,207,214,171,112, 44,199,198, 97, 81,207, 0,157,166, 48, 59,107,202,213,123, 5, - 55, 1, 40, 95,101, 61, 5, 2,193,104,163,209, 40, 22, 8, 4, 90,163,209,184,235,239,178,237, 98,247,128,113, 28, 16,171,103, -166, 96,193, 68, 62, 55,104,229,223,114, 46,113,131,130,130, 58, 11, 4, 2, 95,139,197, 34, 49, 24, 12, 26,173, 86,155,146,154, -154,250, 7, 42,159,248,252,141,174,167,212,221,127,165, 64, 32,252, 20, 0,140, 70,253,106,117,126,194,231, 85,253, 99, 21,159, -255, 71, 31, 35,215,122,173, 18,120, 92,190, 27,202, 10,115,179,102,115, 65, 94,242,109,255,255,225,122, 82, 94,242,224, 82, 77, -170, 73, 53,169,230,243,112,232,254,164,154,255, 75, 77,145, 87, 99, 31,145, 87, 99,171,139, 46, 87,242,121,186, 63, 41,229, 76, -172,224, 5,192,138,130,165, 20, 10,133,242, 6, 96,233, 46,160,252, 47,209,229,196,101,188,201,207, 83,254,115, 84,154, 19,205, - 84,225, 74,107, 18, 18,124, 25,103,123,158,106, 82, 77,170, 73, 53,169, 38,213,164,154,255, 57,205,234,180,255,137, 93,146, 19, -159, 91, 62, 9,224,255, 37,225,159,134, 85,169, 38,213,164,154, 84,147,106, 82, 77,170,249, 95,227,137,241,226,208,125, 65,161, - 80, 40, 20, 10,133,242,102,160, 57, 90, 20, 10,133, 66,161, 80, 40,175, 70, 69, 93,135,212,104, 81, 40, 20, 10,133, 66,161,188, - 6, 42, 77,134,167, 93,135, 20, 10,133, 66,161, 80, 40,175, 70,121, 68,203, 11,207,149,119,160, 70,139, 66,161, 80, 40, 20, 10, -229,245,144,131,138,162, 91, 39, 78,156, 32, 21,253, 78,161, 80, 40, 20, 10,133,242,255,193, 63,220,139, 60, 29,201,154, 88,182, - 12,224,169,136, 22, 53, 88, 20, 10,133, 66,161, 80,254, 46,102,235, 31, 70,121, 36,171,252,149,243,130,209, 26, 48, 96, 0, 67, -205, 22,133, 66,161, 80, 40,148,255, 21,255, 70, 47,194,121,126, 3,233, 97,166, 80, 40, 20, 10,133,242,191, 52, 91,255,166,237, -161,229, 29, 40, 20, 10,133, 66,161, 80, 94, 13, 47, 0,253,159, 90,254,127,155,130,135, 66,161, 80, 40, 20, 10,229,223,206,196, -202,150,105, 68,139, 66,161, 80, 40, 20, 10,229,245,155, 45, 10,133, 66,161, 80, 40, 20,202, 63, 25, 58,179, 57,213,164,154, 84, -147,106, 82, 77,170, 73, 53,255,237,148,215,209, 2, 42,171,163, 69,161, 80, 40, 20, 10,133, 66,121, 41,250,163,180,126,214,196, -178,159,253,169,209,162, 80, 40, 20, 10,133, 66,121,189,188, 48,253, 14, 53, 90, 20, 10,133, 66,161, 80, 40,175,215, 96,109,162, - 70,139, 66,161, 80, 40, 20, 10,229, 13, 67,141, 22,133, 66,161, 80, 40, 20,202, 27,130, 65,229, 35, 7,206,215, 64,231,101, 70, - 31,156,167,154, 84,147,106, 82, 77,170, 73, 53,169,230,127, 78,179, 58,237,243,248,231, 81, 94, 25,254, 36,254, 74,132,223,244, -255,241,197,116,232, 43,213,164,154, 84,147,106, 82, 77,170, 73, 53,255,237, 76,124,238,231, 19,104,215, 33,133, 66,161, 80, 40, - 20,202,235, 53, 91,116, 10, 30, 10,133, 66,161, 80, 40,148,215, 68,165,221,132, 52,162, 69,161, 80, 40, 20, 10,133,242,106, 84, - 58,169, 52, 53, 90, 20, 10,133, 66,161, 80, 40,111,198,112, 81,163, 69,161, 80, 40, 20, 10,133,242, 26, 77,214,196, 10,255,122, -226,196, 9, 66,247, 17,133, 66,161, 80, 40,148,255, 21,255, 90, 47, 82,190, 97,212,108, 81, 40, 20, 10,133, 66,161, 94,164,198, -120,225,175,209,134, 19,203,150, 1,208, 81,135, 20, 10,133, 66,161, 80, 40,175, 74,127, 60, 59,242,112, 98,249, 50, 53, 90, 20, - 10,133, 66,161, 80, 40,175,206,196, 42,255, 74,187, 13, 41, 20, 10,133, 66,161,252, 47,249, 55,122, 17,134, 30, 86, 10,133, 66, -161, 80, 40,148, 87,162,162,104,214, 38,186, 91, 40, 20, 10,133, 66,161, 80,222,172,225,162, 80, 40, 20, 10,133, 66,161,188, 9, -147,245,166, 11,150,210,153,205,169, 38,213,164,154, 84,147,106, 82, 77,170,249, 95, 49, 89, 79,151,120, 0, 64, 71, 29, 82, 40, - 20, 10,133, 66,161,188, 42,116, 82,105, 10,133, 66,161, 80, 40,148, 55, 4,157, 84,154, 66,161, 80, 40, 20, 10,229,255,217,112, - 81,163, 69,161, 80, 40, 20, 10,133,242, 26, 77,214, 51,102,139,230,104, 81, 40, 20, 10,133, 66,161,188, 26,149,230,104, 49,168, -124,228,192,249, 26,124,193,203,140, 62, 56, 79, 53,169, 38,213,164,154, 84,147,106, 82,205,255,156,102,117,218,231,241,207,103, - 34,254,159, 10,150,210,161,175, 84,147,106, 82, 77,170, 73, 53,169, 38,213,252,175, 65,203, 59, 80, 40, 20, 10,133, 66,161,188, -110, 99,245, 60,212,104, 81, 40, 20, 10,133, 66,161,188, 26,180,142, 22,133, 66,161, 80, 40, 20,202, 27,194, 11,165, 81,173,242, -159, 33,212,104, 81, 40, 20, 10,133, 66,161,188, 30,250,163, 52,170, 85,254,147, 26, 45, 10,133, 66,161, 80, 40,148,215, 72,133, -117,180, 24, 0, 56,113,226, 4, 41, 91,238, 54, 96,192,128,203,116, 95, 81, 40, 20, 10,133, 66,249,255,228,223,234, 69,158, 68, -180, 6, 12, 24,192, 0,136,160,135,154, 66,161, 80, 40, 20,202,255,130,127,163, 23,225, 60,231, 36,187,209,195, 76,161, 80, 40, - 20, 10,229,127,193,191,209,139,240,158,115,145, 20, 10,133, 66,161, 80, 40,255, 19,254,193, 94,196, 11,165,137,240, 39,203,126, - 2,101, 37, 31,104, 29, 45, 10,133, 66,161, 80, 40,148, 87,163,124,180,225, 11, 83,239,208, 40, 22,133, 66,161, 80, 40, 20,202, -171, 81, 81,101,248, 77,116,183, 80, 40, 20, 10,133, 66,161,188, 65,104, 68,139, 66,161, 80, 40, 20, 10,229,213,121, 58,170,245, -255, 22,205,162, 51,155, 83, 77,170, 73, 53,169, 38,213,164,154, 84,243,191,100,178,158, 89,166,149,225, 41, 20, 10,133, 66,161, - 80,222, 16,116,212, 33,133, 66,161, 80, 40, 20,202,171, 81, 62,226,240,233,101,106,180, 40, 20, 10,133, 66,161, 80, 94,163,217, -122, 1,218,117, 72,161, 80, 40, 20, 10,133,242,106, 76,172,236, 15,212,104, 81, 40, 20, 10,133, 66,161,188, 33,195,197,160,242, -145, 3,231,107, 32,252, 50,163, 15,206, 83, 77,170, 73, 53,169, 38,213,164,154, 84,243, 63,167, 89,157,246,121,252,243,248,159, - 21, 44,165, 67, 95,169, 38,213,164,154, 84,147,106, 82, 77,170,249,159,133,118, 29, 82, 40, 20, 10,133, 66,161,252, 13,140,150, - 27,143,199,251, 90, 44, 22,111, 16,139,197,191,240,120,188,159, 0, 56,213,244, 11,165, 82,233, 52, 79, 79,207,135,158,158,158, -153,190,190,190,167,236,236, 36,159, 53, 16,162, 11, 0,254,107,218,158, 0, 0,159,137,197,226, 56,145, 72,148, 10, 96, 39,128, -207, 0,184,190,138,240, 66,111, 12,187,255,233,224, 35, 11,189, 49,236,185, 63,245,247,240,240,184, 10,160,247,235, 58, 40, 35, - 36,232, 53, 92,138,244,225, 82,164,143,144,188,252, 83,131,157,157,221,251, 94, 94, 94, 55, 92, 92, 92,178,188,188,188,174,139, - 68,162,225, 53,148,112,247,240,240,248,209,199,199, 39,222,219,219,123, 21, 74,103, 39,255,219,210, 89,136,206,237,132, 40,104, -111, 3,101, 71, 27,108,104,111,131,183,222, 2, 36, 47, 41,215, 9,192, 1,123,123,251, 59, 60, 30,239, 4,128,161,101,231,215, - 80, 30,143,119,194,222,222,254, 14,128, 3,101,159,123,153,243,244, 71, 0, 89, 0,190, 47, 91,254,196,199,199, 71, 25, 28, 28, -156, 26, 28, 28,252,171,159,159,223, 24,107,197, 36, 18,201, 91, 62, 62, 62, 7,125,125,125, 83,219,183,111, 95, 92,171, 86,173, - 71,181,107,215,222, 46, 20, 10,187,209, 38,142, 66,161, 80,254,254, 12, 4,176, 4,192,218,152,152,152, 40, 66, 72, 20, 33, 36, - 42, 38, 38, 38, 10,192, 6, 0, 75, 81,121, 8,241,153,247, 93, 92, 92, 22, 44, 90,180, 72,151,147,147, 67, 10, 10, 10, 72,124, -124, 60, 89, 57,119, 38,219,199,153, 71, 26,184, 57,105,188,188,188, 18,235,212,174,189,167,169, 45,103, 38,128,134,214,104, 62, -133,147, 88, 44,190, 57,119,238, 92,213,213,171, 87, 85, 6,131, 65,197,178,172, 42, 59, 59, 91,117,254,252,121, 85,199,142, 29, - 85, 0, 62, 7,192,173,129,230, 19,190,243,198,101,178,245, 27,242,157, 55, 46, 63,253,126, 96, 96,224, 3,150,101,201,176, 97, -195,244, 0,106,213, 68,243,121,106, 1,162,166,246,112, 28,110,139, 60,243,246,133,132,172,159, 65,134, 75,145,254, 50,154,238, -238,238, 71,167, 77,155,166,200,202,202, 34,122,189,158,164,167,167,147, 73,147, 38,201,221,221,221,119, 89,185,237, 46, 65, 65, - 65,121, 55,110,220, 96,101, 50, 25,137,136,136, 96,155, 53,107,150,103,165,217,234,245,220,186,108,242,246,246, 62, 85,147,151, -187,187,251,150,154, 30,163,182, 66,164, 27,163, 46, 17,114, 59,156, 28, 27,214,158,172,108, 85,155, 12,117,182,145,117,178,193, - 39, 93, 43, 46,101, 82,153,230,187, 93,187,118, 85,223,187,119,207, 82, 84, 84, 68, 30, 60,120,192, 78,152, 48, 65, 7, 32,118, -194,132, 9,186, 7, 15, 30,176, 69, 69, 69,228,222,189,123,150,174, 93,187,170, 1,140,175,193,122,114, 0,108,155, 63,127, 62, - 33,132,144, 69,139, 22,145,224,224, 96,210,163, 71, 15,162, 82,169, 8, 33, 36,149, 16,242,171,217,108, 30,107,141,166,131,131, -195,251,211,166, 77, 83,105, 52, 26, 82, 14,203,178, 68, 38,147,145,181,107,215,170, 61, 61, 61, 79, 85,242,144, 65,187, 60,168, - 38,213,164,154,127, 55,205,127, 50, 94, 40,205,211, 42,127, 89, 29,152, 24, 57,115,230,204,114, 83,117,186, 83,167, 78,183,198, -142, 29, 27, 53,118,236,216,168, 78,157, 58, 69, 0, 56, 27, 25, 25, 25,245,213, 87, 95, 69, 1, 24, 89,205,129,112,234,208,161, -131, 44, 55, 55,151,248,251,251,147,186,117,235,146,220,220, 92, 66, 8, 33,183,223,109, 73, 46, 52, 6,201,184,114,154,132, 31, - 62, 64, 38,120,241, 72,103, 47, 7,147,151,167,103,145,171,171,235, 98, 60, 59, 39, 99, 69, 7,247,157,198,141, 27, 43, 99, 99, - 99, 85, 9, 9, 9,170, 5, 11, 22,168,122,244,232,161, 10, 10, 10, 82, 13, 29, 58, 84,181,102,205, 26,149,209,104, 84,109,217, -178, 69,101,111,111, 31, 91,129,217,122,105,163,197,227,241, 86,199,196,196,144,196,196, 68, 82, 22,165,168, 76,211,193,209,209, -177,175,147,147,211,231,142,142,142,125, 1, 56, 0,128, 63, 96,219,220, 1,190,159, 52,111, 16,120, 98,100,175,134,107,123,181, -110, 57,220,142, 35, 51,173,155, 65,200, 48,223,151, 50, 90, 14, 14, 14,239,127,246,217,103, 74,189, 94, 79, 52, 26, 13, 81,169, - 84, 68,163,209, 16,165, 82, 73, 70,142, 28,169, 16,137, 68,239, 84,167,233,234,234,186,240,202,149, 43,230,220,220, 92,114,229, -202, 21,114,234,212, 41,178,126,253,122,214,221,221,125, 69, 77, 47, 64, 79, 79,207,115,225,225,225, 81,209,209,209, 81, 55,111, -222,140, 50,153, 76, 81, 70,163, 49,202,104, 52, 70,157, 56,113, 34,234,208,161, 67, 81,123,247,238,141, 50, 24, 12, 81, 6,131, - 33, 74,175,215, 71,213,175, 95,255, 76, 77,143, 81, 27, 33, 50, 12, 87,143, 17,178,226, 99, 34,255, 97, 10,145, 77,239, 71,242, - 39,117, 33, 27, 90,215, 38, 93,196, 56,142, 23,231,246,172, 80,147,207,231, 95, 78, 77, 77,101,103,207,158,109,104,210,164,137, -252,195, 15, 63,212,233,245,122, 66, 8, 33,122,189,158,124,248,225,135,186, 38, 77,154,200,103,207,158,109, 72, 73, 73, 97,121, - 60,222,249, 26,172,231,210,114,147,117,249,242,101,242, 52, 42,149,138,244,232,209, 35, 53, 56, 56,248,215,122,245,234,141,170, - 78,211,214,214,118,240,172, 89,179, 84,164, 2, 76, 38, 19, 81, 42,149, 36, 37, 37,133,173, 91,183,110, 54, 0, 23,218,152, 83, - 77,170, 73, 53,169,209,122, 99, 76,172,102,185,226,157,248,213, 87, 95, 69, 17, 66,162,230,204,153, 19, 85, 22,217, 18, 0,176, - 45,123,241, 0,140,152, 53,107, 86, 20, 33, 36,106,230,204,153,229,159,169,236, 64, 12,220,191,127,191,113,213,170, 85,196,195, -195,131,120,122,122,146,213,171, 87, 19,150,101, 73,238,137, 93,228, 66, 99,144,184,175,195, 8, 33,132,196, 47,158, 74, 46, 52, - 6, 73,218,248, 29, 25, 61,122,180, 70, 34,145,140,172,226,224, 58,183,108,217, 82,169,213,106, 85,219,183,111, 87, 73, 36,146, -219, 0,154,160,180, 43,146, 41, 91,215, 49, 77,154, 52, 81,220,191,127, 95,181,123,247,110, 21,128, 5, 86,158, 48, 13, 1,116, -151, 74,165, 67,103,213,226, 39,144,173,223,144, 89, 30,184, 7,160, 25, 0,183,178,207,120,207,156, 57,147, 16, 66,136,143,143, -207,149, 74, 52, 29,130,130,130,102, 38, 36, 36,204, 51,153, 76,243,162,163,163,231, 53,106,212,104,246,160,250, 94,237,143,140, -124, 43, 68,254,221,148, 16,178,124,122,208, 79,111,183,233,181, 39,180,219,200, 15,234,185, 94,253,208, 93,164,121,207,129,171, -124,174,235,208,170, 19,187, 86,173, 90, 55,211,211,211,159,152, 43,165, 82, 73,178,178,178, 72,114,114, 50,185,122,245, 42,241, -242,242,186, 80,157,166,167,167,231,131,244,244,116,178,113,229, 74, 50,172, 89, 32,233,226,104, 71,186, 58,217,145, 86,182, 34, -117, 99,160, 85, 77,141,214,157, 59,119,162, 0, 68, 1,136, 42, 42, 42,138, 42, 42, 42,138, 42, 41, 41,121,242, 30,128, 40,185, - 92, 30, 37,151,203,163, 12, 6, 67, 84,131, 6, 13,106,108,180, 58,138,208,177,173, 8,197,237,133,208, 14,172,229,154, 61,165, -190,171,229,207,145,237, 73,201,199, 61,200,170,144, 90,164,147, 13, 62,177, 82,115,160,141,141, 77, 4,128, 25,101,166, 60,172, -111,223,190, 26, 66, 8,233,219,183,175, 6, 64, 88,217,251,159,149,153,172,190, 86,174, 39,199,207,207, 79, 93, 30,201, 2,240, -135,159,159,159, 58, 56, 56,152, 4, 7, 7, 19, 31, 31, 31,101,153,182, 85, 13, 90,195,134, 13,227,181, 90,237, 19, 3, 40,147, -201, 72,118,118, 54, 73, 74, 74, 34,177,177,177,228,246,237,219, 36, 53, 53,149,236,219,183,207,226,232,232,120,146, 54,230, 84, -147,106, 82, 77,106,180,222,168,209,122,254,245, 44, 39, 78,156, 32,207,189,245, 67,100,100,100,212,172, 89,179,162,170,113,102, - 19,231,204,153, 83, 30,245, 90, 82,197,205,127, 75,124,124, 60, 9, 11, 11, 35, 1, 1, 1, 36, 32, 32,128,140, 29, 59,150,200, -229,114,162,122,124,159, 92,104, 12,114,251,189, 86,132, 16, 66,148,113,209,228, 66, 99,144,168,209, 29,200,221,187,119, 73,237, -218,181,195,171,248,254,227,215,175, 95, 47,216,181,107, 87, 46, 74,243,177,248, 0,218, 1, 88, 45, 22,139,183,161,180,187,176, - 46, 0, 39,127,127,255, 98,141, 70,163, 26, 54,108,152, 10,128,111, 21,154, 93, 3, 2, 2, 18,183,108,217, 66,242,243,243, 73, -113,113, 49, 89,214,177, 17, 33, 91,191, 33,139, 90,213,101, 55,110,220,168,159, 49, 99,134,218,217,217,249, 4, 0,239, 97,195, -134,153, 9, 33,164, 75,151, 46,121, 21,137, 57, 58, 58,246, 77, 72, 72,152,167,211,233,230,201,100,178,121,197,197,197,243,142, - 29, 57, 50,175, 79,179, 70, 97,242,239,166,132, 28, 25,249, 86,200,219,181,156,134,174,232,221,122,114,214,236,241,195,230,116, -104, 18,167, 91,250,233,165,119,235,123,252,248, 50, 71,219,205,205, 45, 71,175,215, 19, 0, 47,188, 18, 19, 19,137,139,139, 75, -122,117, 26,206,206,206,115, 62, 27, 17,106,121,167,110, 45,146,184,106, 46, 49,157,219, 77, 76,167,182,147,199, 63, 76, 39,131, - 60, 93, 21,237, 4,156, 89,214,174,143,167,167,231,185,155, 55,111, 62, 99,180, 74, 74, 74, 42, 52, 90, 10,133, 34,202, 96, 48, - 68,249,249,249,157,121,213,179,190,157, 13, 26,116, 21,115,111, 71,135,117, 38, 5, 83,122,144,190, 14,252,212, 87,144, 27, 1, - 32, 2,192,232, 26,254, 31, 7,192,210,114, 67,245,195, 15, 63, 16, 66, 8,241,243,243, 83,227,213, 6,163, 56, 4, 6, 6, 38, -143, 31, 63,222,220,184,113,227,252,142, 29, 59,202,110,221,186, 69, 46, 95,190, 76, 78,157, 58, 69, 14, 28, 56, 64,238,223,191, - 79,178,178,178, 72,124,124, 60,233,223,191,191, 12, 64, 87,218, 22, 82, 40,148,191, 51, 21,120,145,127, 60,156,242, 13, 27, 48, - 96, 0,243,212, 6, 58, 0, 16,181,106,213,170, 96,233,210,165,203, 81, 90, 11,130, 9,226,226,221, 30, 98,222,221, 30, 98,222, -221, 32, 46,222, 45,139, 24,109, 90,188,120,241,194,224,224,224, 28, 0, 98, 0,158, 21,125, 17, 33,164,179,139,139, 11,210,211, -211,225,224,224, 0, 7, 7, 7,164,167,167,131, 16, 2, 51, 1, 76, 4,208, 27,141,208,106,181,208,177, 4, 90, 22, 80,168, 84, -240,244,244,132,209,104,108, 80,201,250, 55,127,239,189,247, 26, 4, 5, 5, 21,124,245,213, 87,217, 40,205,149,217, 54,110,220, -184,115,127,252,241, 71,144, 74,165, 42,142,141,141,213, 53,107,214,172, 47, 0,207,132,132,132,247,215,174, 93,139,176,176, 48, - 84,113,211,105,214,191,127,255, 83,247,239,223,111, 48,122,244,104, 68, 68, 68, 96,217,178,101, 40, 44, 44, 36, 0,160,215,235, -137,197, 98, 49,118,232,208,193,184,106,213,170, 54, 93,186,116,185, 89,191,126,125, 46, 0, 36, 39, 39, 63,174, 72,144, 97,152, - 70,117,234,212,129, 94,175, 71, 65, 65, 1,238,223,191, 15, 59, 7, 7,196,100, 23,122,116, 91,177,177,232,235, 35,231,248, 35, -218, 4, 57,127,254, 86, 71,253,247,225, 17,254, 77,188, 61, 60, 12, 70,147,103,124, 78, 94,246,203, 28, 84,129, 64,144, 94, 88, - 88, 8,131,193, 0,173, 86, 11,133, 66,129,162,162, 34, 20, 22, 22, 34, 59, 59, 27, 2,129, 32,177, 58, 13,251,226,226, 43,201, -215, 47, 51,251,126,254, 1, 13,204,197,224, 29, 92, 13,222,209, 13,104,104, 40,192, 47,115, 39,217, 25, 92,220,230,219,219,217, -149, 56, 58, 58,110, 2,224, 87,157, 94, 72, 72, 8,138,138,138, 80, 84, 84, 4, 23, 23, 23, 56, 57, 57,193,201,201, 9, 50,153, - 12,114,185, 28, 10,133, 2,254,254,254,104,222,188, 57,118,236,216,241, 90, 78,238, 63, 13, 72, 50,195, 50,229,220,163,108, 8, -164, 82,212,119,178,173,211,218, 22,206, 85,252, 75, 15, 62,159,191,223,217,217, 57, 28,192,199, 0,164, 0, 62,118,118,118, 14, -231,243,249, 67, 0, 44, 2,176,171,134,171,241,253,252,249,243,103, 38, 36, 36, 72,238,222,189,139,175,190,250, 10, 11, 22, 44, -192,227,199,143,215, 1, 96,203, 62,243,145,139,139,203, 9, 14,135,179, 25, 64, 63, 0,125,189,188,188,122, 86,163, 59,100,198, -140, 25,186,150, 45, 91,198,199,197,197, 13,185,126,253,122,171,233,211,167,203,211,210,210, 16, 31, 31, 15, 47, 47, 47,248,248, -248, 64,165, 82,161,164,164, 4, 67,134, 12,113,176,183,183, 31, 73,155,113, 10,133,242,119, 54, 89,207,121,145,127, 90, 68,171, -194,229, 10,159,168, 37, 18,201,252,168,168,168,246,193,193,193, 60, 0,251, 0, 32,136,139,225, 67, 58,180,216,118,100,211, 15, -193,135, 86,205, 13,238, 19,236,191, 45,136,139,242, 81,108, 39, 90,181,106,229, 20, 21, 21,213, 65, 40, 20,126, 82,201, 74, 16, - 0,112,114,114,130,131,131, 3, 28, 29, 29,225,228,228, 4,150,101,161,210,232,160,182, 0, 74,157, 1,114,185, 28,202,178,101, -149,222, 8,181, 90,253,228,127, 43,160,219,248,241,227, 11,214,174, 93,155,159,147,147,243, 3,128,102, 97, 97, 97,131,215,172, - 89,131,139, 23, 47,234,250, 5, 52,116, 89,220,185,197,194, 38, 57,143,231, 5,240, 49, 1,192,149, 43, 87,174,160, 67,135, 14, - 96, 24, 38,180, 34, 65,177, 88,188, 97,207,158, 61,226,216,216, 88, 52,108,216, 48, 54, 52, 52,244,221, 31,126,248,161,129, 84, - 85,124, 13, 0,204, 69,185,177, 83,167, 78,253,102,241,226,197, 5, 5, 5, 5, 70,141, 70,227, 62,104,208, 32,164,167,167, 35, - 43, 43,235,143, 74, 76,102,124,116,116, 52,145,203,229, 72, 74, 74, 66,116,116,180,248,155,111,190,105, 99,225,112, 6,103,194, -238,131,176,142,173,218,140,110,215, 2,187,110,220, 21, 92,125,148,236,216,170,110, 45,167, 59, 25, 57,245, 76, 12, 18, 95,230, -104, 43,149,202,213, 11, 23, 46, 84,169, 84, 42,100,102,102,226,222,189,123,136,139,139, 67,106,106, 42,150, 45, 91,166, 42, 46, - 46, 94, 83,157,134,183,136,247,197,143,211,199, 49,188, 7,127, 0,119, 47, 3, 26, 37,160, 85, 65,255, 48, 10,191, 62,204,197, -250,131,135,109,210,210,211, 29,247,238,221, 59,222,215,215, 55, 10,128,127, 85,122,132,148, 30, 66, 14,135,243,188, 9, 5,135, -195, 81, 2,200,149, 74,165, 25,118,118,118, 25, 28, 14, 39,151, 16,162,126, 45, 79, 18,102, 24,193,229, 2, 54, 98,112,248, 85, - 78,237,249,110,104,104,232,158,140,140,140, 62, 73, 73, 73,237,215,172, 89,179, 80, 36, 18,197,172, 89,179,102, 97, 82, 82, 82, -251,140,140,140, 62,161,161,161,123, 0,140,169,201,247,251,249,249, 77,157, 55,111, 30,150, 45, 91,134,230,205,155,195,223,223, - 95, 51,127,254,252,213, 0,230, 2,248,196,207,207,239,218,212,169, 83, 63,204,207,207,247,204,204,204,108,190,110,221,186, 73, -171, 87,175,110,157,157,157, 45,170, 70,186, 83,239,222,189,113,250,244,105, 0,200, 1,144, 84, 84, 84,100,206,206,206, 70, 96, - 96, 32,218,180,105, 3,149, 74, 5,149, 74, 5,153, 76,134, 58,117,234,128,101,217,246,180, 41,167, 80, 40,148,255, 87,195, 85, -177,209, 18,137, 68, 78, 33, 33, 33,168, 95,191,190, 19,202, 70,107,185,216,240,102,127, 62,126,132,196, 54,234, 12,152,232, 11, - 8,237,220, 84,226, 98,195,155, 93,246, 47,188, 58,117,234, 8, 67, 66, 66, 32,149, 74,107, 85,242,229, 17,185,185,185, 8, 9, - 9,129,163,163, 35, 28, 28, 28, 16, 18, 18, 2,163,209, 8,185, 82, 9,181, 5,208,152, 88,200,229,114, 20, 23,228, 65, 99, 1, -204,118, 46, 72, 77, 77, 5,151,203, 77,174, 68,211,171, 97,195,134, 5, 49, 49, 49, 5, 0,174, 0,152,188, 96,193, 2,204,154, - 53, 11,223,126,251,237, 30, 73, 78, 74,239, 61,167,143,186,252, 62,255, 35, 55,127, 27,102, 4, 0, 99, 70, 70, 6, 28, 29, 29, - 33,149, 74, 43, 52, 6, 93,186,116,105, 41,149, 74,177,125,251,118,146,153,153,217, 17,165, 67,248,147, 25,166,212,236,137, 57, -144, 3, 88, 29, 21, 21,213,246,155,111,190,121,212,171, 87, 47,126,187,118,237,176,104,209, 34, 0, 56, 81,145,166, 76, 38,251, -115,204,152, 49,134, 75,151, 46,225,225,195,135,210, 35, 71,142, 12, 95,180,104, 81,211,180,180, 52,225,241, 83,103,222,222,153, -161, 24,254, 67,248, 85,209,226,179, 17,127,186,218, 75,155,212,115,117, 70,116, 90,150,192,194,197,173,234,142,104, 91, 62,119, -124, 55, 17, 47,186,179,144,147,211, 77,196,139,106,205,231,142, 83, 42,149,123,143, 29, 59,118,118,250,244,233,170,252,252,124, -216,217,217,161,168,168, 8,223,127,255,189, 42, 58, 58,250,160,193, 96, 56, 94,157,174,133, 37, 45,125,234,250, 2,137, 49, 79, -222, 51,178, 4,183, 12, 2, 12,152,252, 41, 2, 2, 3, 97, 48, 24,208,172, 89, 51,102,193,130, 5, 82, 7, 7,135, 47,171, 53, - 61,156, 23, 78, 55, 51,195, 48,185,132,144, 44,149, 74,149, 41, 22,139,211, 4, 2, 65, 90,113,113,113, 38, 33, 36,239,117,248, - 44,194,193, 23, 29,154,249, 1, 66, 49,210,138, 84,217,183, 85, 40,174,232,131,118,118,118,227,214,175, 95, 47,218,186,117,171, -105,234,212,169,250, 73,147, 38,241,181, 90,173,251,164, 73,147,248, 83,167, 78,213,111,221,186,213,180,126,253,122,145,173,173, -237,208,151, 89, 17,147,201,132,152,152,152, 31, 30, 63,126, 44, 69,105,185,145, 79,231,207,159, 31,150,144,144, 32, 90,187,118, - 45, 14, 28, 56,128, 3, 7, 14, 96,240,224,193,152, 54,109, 26,230,205,155, 87,149,156, 36, 56, 56, 56,196,197,197, 5,151, 47, - 95,206, 6,144, 6,160,165,173,173,173,221,224,193,131,209,167, 79, 31,232,116, 58, 24,141,198, 39, 70,139,203,229,194,209,209, -209,133,182,129, 20, 10,133,242,198, 77,214, 51,102,139, 7, 0,229,161,186, 1, 3, 6, 48, 85,221, 24, 45, 37,249,144,169, 53, - 72,149,107,144, 94,194, 62,243, 55,150,101,171,252,246,236,236,236,227, 55,110,220, 24, 23, 18, 18,194,203,206, 46,237, 17, 11, - 9, 9,129, 70,163, 65,246,221,155, 80,179,128,180, 97, 16,212,106, 53, 74,226,238,192, 54,184, 61, 92,250,143,198,138,181,107, -245, 69, 69, 69, 63, 87,164,105, 99, 99,195,175, 93,187,118, 65,114,114,178, 25, 64,177,131,131, 67,111, 95, 95, 95, 68, 68, 68, - 0,192, 46, 2,252,136,232, 75,192,229, 67, 32,165, 33, 21,219, 58,117,234, 32, 63, 63, 31, 42,149, 42,162, 34,205, 27, 55,110, - 36,152, 76,166,102,131, 6, 13, 98,126,251,237,183,125, 10,133,226, 91, 0,247,244, 44,184,119, 51,242,160,182, 64, 4,224, 45, - 39, 39,167,207,230,205,155,215,115,234,212,169, 56,118,236, 24,194,195,195,141, 40,205, 5,187, 81,129,172, 60, 41, 41,233,151, - 25, 51,102,180,227,112, 56,147,207,157, 59,103,246,247,247, 87, 24,141, 70, 75,163,128, 0,206,183, 11,190, 19,124, 60,121,162, - 99,145, 6, 15,250, 52,242,234,192, 48,192,131,172,252,180,199, 42, 20, 85,181, 79,187,216,112, 79, 12,233, 24,220,101, 92,232, - 64, 91,105,195, 38, 80,223,191,233,249,203,254, 83, 43,196,209, 9, 3, 46,231,231, 15, 62,118,236,216,240,136,136,136,143, 13, - 6, 67,125,161, 80,152, 40,147,201, 86,169, 84,170,106, 77, 22,151,203,237,175,247,170,237, 36, 43, 46,134,168, 44, 18,165, 48, -177, 40,212,155,241,208,209, 31, 35,107,251, 60,233, 6,205,205,205,133,167,167, 39, 99,177, 88, 6, 86,165, 25, 30, 30,142, 1, - 3, 6,148, 27, 79, 48, 12, 3,134, 97, 10, 3, 2, 2,242,132, 66, 97,145, 64, 32, 80,252,248,227,143, 58,157, 78, 7, 30,143, - 39,178, 88, 44,220, 87, 57,219,219, 72,224, 46, 36,204,134, 73,131,186,247,106,222, 36,144, 92,185,125,151, 41,209,232,126,173, - 34, 10,184,206,207,207,143, 87, 92, 92,124, 28,192, 67,147,201,244,251,190,125,251, 68,239,191,255,190,110,255,254,253,163, 0, - 52, 88,190,124,249,112,149, 74, 85,163, 41, 21, 30, 63,126,188,110,241,226,197, 51,231,204,153,131, 29, 59,118, 76,125,252,248, -241,172,178, 72,215,224,121,243,230,225,199, 31,127,196,142, 29, 59,216,135, 15, 31,158, 98, 89,246,241,244,233,211,131, 61, 60, - 60, 10,115,114,114, 30, 87, 33,219,170,111,223,190,250,107,215,174,217, 40,149,202,171, 0, 62,155, 50,101,202,248,182,109,219, - 42, 66, 67, 67,109,139,139,139,101, 18,137,196,102,203,150, 45, 78, 60, 30, 15,106,181, 26, 12,195, 64,169, 84, 26,104, 59, 72, -161, 80,254,174, 84,230, 69,254, 33, 84,122,111,224, 85,180,129, 26,141, 38, 47, 61, 61, 61, 48, 43, 43,203, 12,192, 12, 0, 69, - 6,243,146,197, 91, 14,109, 29,218,206, 79,154, 99, 50,225,200,237, 88, 77,145,193, 92,158,252,110,206,202,202, 82,166,165,165, -217,105,181, 90, 85, 37,223,245,199,134, 13, 27,180,151, 46, 93,178, 75, 74, 74,130,197, 98, 65,203,150, 45, 17, 31, 31,143,146, -135, 49,144, 6,182,132,180,235, 0,196, 70,221, 70,116,248,121,164,168, 12,230, 71,115, 23,203, 85,106,245, 60,163,209,120,164, - 34, 65, 62,159, 95, 12,128, 16, 66, 44, 0,160, 80, 40,238,169, 84,170,206, 30, 30, 30,120,240,224,129, 84,109,193,180,225,179, - 87,172, 33,132, 88, 4,165,163,185, 62, 15, 13, 13, 69,100,100, 36, 0, 68, 86,164,169, 80, 40,166, 78,152, 48,225,210,246,237, -219,121, 73, 73, 73,125,182,110,221,218,231,209,163, 71,132, 41, 78,183, 92,211,240,209, 32,108, 90,235,141,117, 2,194, 7, 12, - 24, 0, 47, 47, 47,108,217,178, 5,171, 86,173, 50,125,244,209, 71, 9,171, 86,173,106,157,159,159,255,123, 37,219, 47,151,201, -100,103, 92, 92, 92, 62,110,218,180,169, 82,173, 86,163,168,168, 8,217,217,217,112,118,113,225,152,193,233,224,230,232,248,251, -241, 92,165,148,119,230, 79,220,204,204,169, 50,154,213,142,207, 29, 51,180, 75,139, 46,159,204,153,109,139,107, 71,192, 76,152, - 7,178,117, 33, 62, 29, 59,220, 78,167,255,189,171,250,110,234,251, 81, 10,197, 78,133, 66,113,160,134, 39, 75,223, 14, 29, 58, -236, 89,188,120,177,248,235,101,139,177, 60,176, 22,204, 69, 69, 40,208, 91, 80,168, 55, 67, 81,242, 16, 15, 30,196,194,197,197, - 21, 41, 41, 41,208,233,116,136,139,139, 35, 92, 46,247,120,117, 17,157,114,158,234, 46,148, 9,133,194, 34, 62,159,159,199,227, -241,138,147,146,146,212, 58,157, 14, 28, 14, 71,106,177, 88,196, 86,172,107,109, 87, 87,215,233, 40, 45, 38,122, 76, 89, 88,184, - 58,132, 15, 71,240,208,173,142,171,203,219,115, 39,189,239,234,235,237, 46, 75, 74, 72, 52,253,124,246,122,161, 78, 95,249, 96, - 13, 0, 39,138,139,139,159, 68, 36,247,239,223,255,233,254,253,251,199, 3,216,134,210,121,183,206,203,100,178,141, 47,113,241, -205, 61,120,240,224,204, 57,115,230, 64, 44, 22, 63, 41,158, 42, 22,139, 69, 0,176,123,247,110, 60,120,240,160, 45,202,242,181, - 88,150,221,147,147,147, 83,157,102,131,160,160,160,164, 67,135, 14,217, 0,240,158, 50,101, 74,251, 53,107,214, 96,236,216,177, - 5,177,177,177,237, 0, 36, 3,104, 48,121,242,228, 91, 59,118,236,112, 98, 89, 22, 37, 37, 37, 48, 24, 12,201,180, 41,167, 80, - 40,212,108,189, 17, 66, 0, 68,163,180,126, 86,127, 0, 39, 81,154,214, 81, 41, 62,101,238,236, 44,128, 65,229,247,199, 74,146, -225,129,210, 17, 89,103, 0,108, 6,224, 81,153,168,139,139,203,151, 97, 97, 97,166,204,204, 76,146,155,155, 75, 14, 28, 56, 64, - 62, 31, 23,102,121,171,161, 55,219,208,219, 67,237,230,230, 22,239,229,234,252,107, 11, 9, 62, 7, 80,219,138, 13, 11,123,244, -232,209,196,176,176,176,113,101,223, 59,110,207,158, 61,170,115,231,206,169,184, 92,238, 9,148,150,118, 40, 55,148, 99, 6, 14, - 28,168,210,235,245,170,128,128,128, 98,148, 38,238, 87,198,240,110,221,186,149,156, 62,125,154, 88, 44,150, 23,106, 20, 21, 20, - 20,144,240,240,112,210,177, 99, 71, 25,128,247,123,246,236, 25,113,253,250,245,136, 78,157, 58, 29,172,110,133, 93, 93, 93,103, -223,189,123, 55, 50, 53, 53, 53,234,228,201,147, 81,191,255,254,123,212,228,201,147,239, 5, 7, 7,107, 19, 18, 18, 88,179,217, - 76,238,222,185, 67, 2, 26, 53, 82, 3,168, 83,153, 78, 15, 49,239,150, 98,203, 66,162, 91, 52,150,232,134,248, 16, 0, 68,185, -226, 75,146, 55,181, 23,137,255,248,109,210, 93,196,189,241, 50,103,138,179,179,243,217,200,200, 72,162, 84, 42,201,253,251,247, -201,152, 1,125,200,141,241,189,200,153, 62,126,100, 71,215,122,100, 69,239, 96,210,167,107,103,178, 97,195, 6,114,232,208, 33, - 50,123,246,108,214,213,213, 85,137, 42,114,180, 60, 61, 61,207,237,219,183, 47, 10, 64, 20,151,203,141, 82, 40, 20, 81, 74,165, -242,120, 70, 70,198,250,128,128,128,153, 77,155, 54, 29, 21, 24, 24,216,163,123,189, 58, 51,123,218, 9,227,123,217,139, 18, 27, -217, 74, 86,224,197,186, 87, 79,112, 0,234, 52,108,208, 64,121,249,242,101, 86,175,215,147,171, 87,175,178,141, 27,249,235,150, -191,215,247, 96,202,150,165, 7,117,167,127, 59,171, 57,186,233,250,254, 15, 6,196,116,147,112,126,107, 47,125, 82,142,227,101, - 25, 1,224, 8,254, 26,117, 24, 6,224, 40,170, 30,133,200, 1,176,109,209,162, 69, 79,143, 52, 4, 0, 78,112,112,112, 20, 33, - 36, 42, 56, 56, 56,170,166, 43, 34,145, 72,166, 31, 59,118,108,190,175,175,239,178,208,208,208, 45, 50,153,236,228,168, 81,163, - 98, 80, 58, 24,132, 65,233,236, 8, 3,107,215,174, 93, 16, 29, 29, 77, 34, 34, 34,200,176, 97,195,148, 2,129, 96, 52,109,198, - 41, 20, 10,229,141, 48,177,146,159, 85,178, 56, 38, 38,166,188,134,214,148,170,196,103,205,154, 21, 21, 25, 25, 25,133,210, 42, -241, 85,194,227,241, 14,127,244,209, 71,196,195,195, 67,229,238,238,126,152,207,229,142,247, 17, 35, 4, 47, 55,212,189,243,206, -157, 59, 7,175, 91,183,174, 63,128,182, 0,248,181,106,213,202,206,205,205, 85, 93,191,126, 93,213,177, 99, 71,149,171,171,107, -126, 80, 80,144,106,249,242,229, 42,147,201,164,154, 62,125,186, 10, 47,214,251,170, 8, 17,128,143,109,108,108, 14, 55,110,220, - 56,102,238,160, 30,166,101,211,198,147, 48, 63, 55, 21,128,117, 0, 62, 2,224, 8,128, 63,124,248,240, 11,113,113,113,103,131, -130,130,126,177, 66,215,187,105,211,166, 23,247,236,217, 19,121,232,208,161,168, 47,191,252, 50,210,197,197, 37, 51, 33, 33,129, -213,233,116,164,164,164,132,200,100, 50,114,242,228, 73,139,179,179,243,218, 74, 55, 92,200,205, 33,225,187, 42, 44,225,144, 49, -103, 52,233,104,195,201,122,153, 51, 69, 42,149, 22, 23, 21, 21,145,220,220, 92,146,148,148, 68, 14, 30, 60, 72,250,118,104, 67, -246, 78, 30, 74,118,141, 27, 76,126,236,219,134,180,181, 19,169, 61,237,108, 35,237,236,236,242,173, 25,117,232,233,233,121, 78, -175,215, 63, 41,223, 80,187,118,237,168,128,128,128, 67, 65, 65, 65, 43,142, 29, 59,246,233,202,149, 43, 7,119,175, 87,103,230, -247,125, 58,104, 53,231,247, 19,229,190,117,100, 86, 75,127, 93,153,153,175,144, 90, 46,206, 59, 47, 71, 68,176,229,230,215,108, - 54,147, 35,135, 15,147,247,222,126, 43, 70,126,102,247,230,171,243,166,238,153,222,210,255, 72, 71, 17, 70, 84,101,216,158, 60, -138,216,194,165,139, 61,103,125, 63, 95,231,156,206, 14,156,117,237,236,158,153, 94,234, 61,127,127,255, 36, 66, 72, 78, 96, 96, - 96, 18,128, 93,129,129,129, 79, 47,127, 80,137,236,147,226,164,243,231,207, 39,101,215, 7, 7,192,183,139, 23, 47,142, 34,132, - 68,249,249,249, 93, 3,128,230, 82,184,118,117,224,108, 30,212,192,163,168,171, 3,103,115,115,105,197, 83, 70,213, 17,160, 81, -103, 55,201,213,193,126, 94,202,110,181, 28,174,236,250,117,235,178,126,253,250,109, 1,176, 22,192, 66, 23, 23,151,171, 35, 70, -140,120,176, 99,199,142, 7,203,151, 47, 55,254, 31,123, 87, 30,214,196,181,190,223,153, 76,246, 4,194, 26,194,174,178,168, 32, -168,184,111,184,224, 46,238,104,221,171,117,185, 86,175,214,214,218,186, 20,193,170, 85, 91,107,181,181, 85,107, 69, 69, 91, 20, -113, 41,238,168, 21,173,187, 40,130,130, 32, 59,178,132, 45, 4, 66,246,100,126,127, 40, 92,106, 89,130,109,127,183,246,230,125, -158, 60,132,228,204,155,115,102,206,153,121,207,119,190,243,125,105,105,105,244,156, 57,115, 20, 28, 14,231, 83,243,125,208, 12, - 51,204, 48,227, 47, 67,109,100,120,199,150, 8,173,209, 31,125,244,209,125,154,166,107, 99,105,205,104,160,204,152,213,171, 87, -223,167,105,186, 54, 58,252,171, 1,204, 26, 10,104, 22,182,115,231, 78,154,195,225,124,255,154,141,169,207, 41, 25, 55,110, 92, - 79,185, 92,222,205,193,193,161,219, 75,203,149,171,157,157, 93,198,225,195,135,171,149, 74,101, 53, 77,211,213,122,189,190,250, -222,189,123,213, 3, 6, 12,168,174, 55,235,111,174,158,191,193, 42, 9,174,223, 93,243, 14,189, 74,130,235,175,124, 53,125,223, -190,125,103, 51, 51, 51,127,182,180,180, 92, 97, 34,167,171,189,189,125,168,141,141,205,121, 59, 59,187, 85, 54, 54, 54,133, 90, -173,150,174,168,168,160,159, 62,125, 74,255,242,203, 47,244,205,155, 55,105, 27, 27,155,252,198,234, 25,196,163,110, 85,108, 89, - 68, 27,247,109,160, 53, 59, 86,210, 0,104,217,182,143,233,210,111,195,233,187,243,134,209, 3,184,140, 27,175,113, 62, 97,101, -101,181,231,248,241,227,198,244,244,116, 58, 54, 54,150, 62,125,250, 52,189,100,201, 18,186,173,147,163,186, 39,155, 44,238,199, -161,206,191, 78,192, 82,181, 90,125, 95, 46,151,223,175,174,174,190,239,227,227,115,191,123,155,137,145, 13, 0, 0, 32, 0, 73, - 68, 65, 84,247,238, 49, 61,123,246,252,242,232,209,163, 75, 55,110,220, 56, 54,200,130,243,180, 38,238, 40, 77,127, 56,130,166, - 23,245,165,159,205, 29, 64, 15,226, 81, 15, 27,229,116,112,200,175,141,214,174, 80, 40,232,248,248,120,250,242,229,203,180,196, -206, 78, 30,200, 99,204,239,195, 65,255, 62,150,176, 50,181,158, 3, 69,100,196,173,111, 63, 51, 40,207, 30,164,127,156, 53, 66, - 63,192,138,220, 89,175, 92, 20, 77,211,133, 19, 39, 78,204,162,105,186,240,216,177, 99,121, 52, 77, 23, 78,152, 48, 33,139,166, -233, 66, 0, 63, 53,196,249, 74,112,210,125, 47, 69,214,162,176,176,176,251, 52, 77,223, 15, 11, 11,187, 15,188, 8,162,218, 95, - 68,238,191,189,251,115,163,250,244,126,250,232,156, 81,134,254, 34,114,127,131,245,180,162,126, 78,216,183,141,214,156, 63, 68, - 31, 95, 50,205,208, 87, 98,121,213,219,219,251,243,165, 75,151,198,220,188,121,243,145,193, 96,120,156,145,145,241,248,235,175, -191,126,220,171, 87,175,235,182,182,182,137,108, 54,251,221,230,174,209,159, 4, 51,167,153,211,204,105,230, 52,227, 85, 3, 83, - 19,223,253,188,121,243,102, 1, 77,211,239,135,132,132, 96,211,166, 77,147, 59,116,232, 48,197,217,217,217, 30, 0, 10, 10, 10, -106,146,146,146,228, 33, 33, 33, 8, 13, 13,197,150, 45, 91,190,196, 11, 95,150,255, 79, 20,157, 56,113,194,101,241,226,197,210, -141, 27, 55, 26,231,204,153,211, 30, 64, 82,105,105,105,219,105,211,166, 45,162, 40, 42,196,221,221,221,191,176,176,176, 68,169, - 84, 30, 2,176, 27,205,172,153, 54, 6, 14, 9, 67,215, 86,142, 56, 79,194, 80,239,227, 17,161,161,161,111, 77,152, 48, 65,187, -109,219, 54,189, 92, 46, 63,101, 34, 93, 94, 73, 73,201,186,218,127,108,108,108, 36, 15, 31, 62,124, 87, 44, 22,147, 25, 25, 25, - 80,171,213, 72, 79, 79, 55,226,197,210, 84,131,168,214,211,219,191, 59,118,177,221,251,211,131, 45,107, 82, 30,128,197, 96, 64, -199,100,163,232,214,121,236,139, 79,145, 43,180,216,241, 58,237,148,201,100, 95, 44, 89,178,100,218,138, 21, 43,184,238,238,238, -196,141, 27, 55,112,228,200, 17,181, 84, 42, 29, 14,224,234,127, 66, 63,181, 12, 70,163, 17,108, 54, 27, 0,240,241,199, 31,131, - 36, 73,166, 84, 42,101, 19, 4,193, 33, 8,130, 79, 16, 4, 67,151,249, 24, 70,121, 5,138, 43,100,200, 43,150, 53,201,103, 48, - 26,143,220,190,125,123, 89,231,206,157,201,187,119,239,162,164,164, 4,233,233,233,180,129,166,127,138, 87, 26, 94, 56, 37,170, - 77,175, 31,223,198,118, 92, 39,107, 14,201,142, 8, 69,160,134,100,236, 50, 98, 34, 94,196,210, 2,128,125, 4, 65,176, 0,148, -249,248,248, 12,124,242,228, 9,207,199,199, 71,153,146,146,114,150, 32, 8,103, 0,251, 27,226,228,241,120,165, 0, 74,143, 29, - 59, 6, 0,243,240,226,228,117, 89,187,118,109, 97,124,124, 60,194,194,194,138, 1,236, 4, 0,161,181,237, 24,127, 17,139, 96, - 31, 8, 67, 47, 53,200, 29, 70,186, 65,171,171, 80,236, 48,168,131,128, 4,243,135, 79,208, 77,210,142,100,235,181,126,225,225, -225,241,213,213,213,234,168,168, 40,205,236,217,179, 25,105,105,105,119, 0, 92, 3,112, 12, 47,125, 44,205, 48,195, 12, 51,204, -248, 75,241,170, 5,171, 89, 31,173, 87, 85,235, 38, 0,223,165,166,166,214, 37,149, 78, 77, 77,189, 15, 96, 23, 94, 68,131, 31, -221, 2,197,187,230,165, 69,107,247,107, 54,230, 85, 78,110, 64, 64, 0,239,201,147, 39, 44, 52,156,196,145,120, 13,206,223,161, -161, 92,135,222,222,222, 95,233,116,186,152, 93,187,118, 29,101, 48, 24,211,254,128,218,119,247,242,242,170, 56,124,248,176, 49, - 54, 54,150, 94,179,102,141,193,209,209,177, 2,191,247,209,250, 13,103, 32,155, 17,189,188,189,179,252,222,140,190,244,179,165, - 99,232,107,211, 7,208,243,157,133,242, 64, 46,227,200, 31,156,149,120,137, 68,162,125, 60, 30, 79,110,105,105,121, 17, 64,239, - 63,114,141,108,109,109, 15, 74, 36,146,139,245, 95, 14, 14, 14, 49,246,246,246,223,216,217,217,173,177,178,178, 90,224,193,101, -111, 91,218,214, 73,149, 56,206,135,142,235, 99, 79, 79,183, 99,191,186,116,248,106, 61, 29, 61, 60, 60,202, 34, 35, 35,141, 63, -255,252, 51,189,114,229, 74, 99,171, 86,173,228,104,194,175,173, 73,139,150, 21,227, 72,244,132,158,198,226, 81,206,244,166,246, - 22,198,129,214,140,198,118, 40, 78,127, 41,128,103, 53,199,233,233,233,185,139,166,233,136,245,235,215, 71,224, 63,185, 64,135, -132,135,135,175,165,105,122,109,120,120,248, 90, 0,195, 0, 32, 80, 68, 70, 30, 26,219,213, 80, 48,210,137,254,172,189,208, 16, - 40, 34, 35, 27,180,100,218, 80, 39, 78,206, 29,101, 44,156,219,135, 14,245, 18, 24,122,218,112, 46,177,217,236,165,120, 97,113, -238, 14,128,109,158, 53,155, 57,205,156,102, 78,179, 69,235,111, 39,188, 76,130,196,198,198,102, 95,155, 54,109,142,186,187,187, - 31, 21, 10,133, 95,226,133,211,124, 75, 47,132,199,134, 13, 27,228, 34,145,168,211,159,120,113,197, 0,156,241,251,196,185,127, - 90,135, 89,231,136,197,105, 43, 38, 63, 92,231,136,197,245, 62,238,222,190,125,251,207,240, 34,154,247, 31,237,132,238, 54, 54, - 54, 95,219,216,216,228,191,244,205,114, 55,133,179, 43,131, 49,109, 32,151,113,163, 55,155, 44, 26,200,165,126,237,198, 96, 76, -125, 67, 7, 96, 83,155, 45, 26,227,116,177,179,179,219,102, 99, 99, 83, 96,103,103,247,117, 11, 69,214,111, 56, 59,241,224, 56, -200,138,113,162,183, 5,161, 24, 36, 98, 28,235,202,111,124, 83, 71, 11,218, 30, 16, 22, 22,246, 54, 77,211,111, 59, 57, 57,133, -212, 19,254,254,161,161,161,193, 52, 77, 7,215, 70,128,239,206,135,120,128, 21,227,112, 31, 75, 66, 54,192,138,113,184, 59, 31, -226,198,234, 57,208,138,113,164,143, 37, 33, 11,180, 36, 15,187,113,208,202,124, 51, 55,115,154, 57,205,156,102,161,245,207, 16, - 90,230, 14, 99,230, 52,115,154, 57,205,156,102, 78, 51,167,153,211, 44,180, 26, 22, 86,245, 95,117, 43,108,148,249,220,152, 97, -134, 25,102,152, 97,134, 25,102,252, 33, 52, 26,176,148,104, 66,149,182,196,177,253,117,148,109,156,153,211,204,105,230, 52,115, -154, 57,205,156,102,206,255, 57,206,230,184,255,191, 55,214,189,209, 48,155, 85,205,156,102, 78, 51,167,153,211,204,105,230, 52, -115,254,207,130, 52,159, 2, 51,204, 48,195, 12, 51,204, 48,195,140, 63,132,128,151,127, 95, 13, 92,218,176,143, 22,213,125,125, -177, 94,175, 23, 3, 0, 69, 81, 82,221,157, 53,142, 77,177, 51,129, 32,253,139,244, 59,160,128,121,122,224, 98, 3,156, 23,245, -122,189,245, 75,206, 10,221,157, 53,195,154,228,236,190,254,124,253,242,250, 59,107,134,188, 90,134, 6, 24,204,238,235, 11, 94, -169,171,147,169,103,133,192,111, 98, 98,253,101,245,124, 83, 56,255,151,193,236,177,190, 88,167,123,209,143,152, 76, 74,170,189, -221,116, 63, 98,245, 88, 95, 80,191,188,238,246, 26,135,166, 56,249, 60, 78,153,167,179,253,151, 77,113,102, 20,148,190,175,168, - 81,217, 54,197,217,210,177,233,234,232, 24,100,120, 57, 54, 25,192,188,252,194,194,139,127,179,190,212, 21,192, 26, 0,150,245, - 62, 75, 4,240,158,185, 87,154, 97,134, 25,111,152,208, 74,192,139, 60,135,123, 94,138,173, 61,141, 10, 45,189, 94, 47,190,127, -124, 45, 20,106, 32,104,230,122,177,199,184,221,191, 75,148,172, 87, 85,176,101,201, 81,254, 12,157,220,218,158,210, 90, 22, 20, - 20, 16, 0, 64, 16,196,247, 0,220, 26,224,180,190,127,124, 45,106, 52, 64,224,148,112,107, 55,192,178,132,197,250,128, 39, 16, - 12, 84, 42,149, 29, 0,128,199,227, 37, 43, 21,138, 43,246, 90,237,214, 87,203, 55,214,178,250,117, 29, 52, 99,189,184,253,184, -221, 75, 12, 70, 35,251,249,221, 93,129,170,210, 52,138,169, 87,239, 92, 5,156, 93,219,128,168,106,132,239, 63,191, 59,105,165, - 45, 19, 24,196,230,114, 59, 89, 89, 91,247, 51,210,180,143,209,104, 36, 12,122,253, 99,121,101,229, 53,163, 94,255, 80,175, 81, -216,222, 63,245,153,177,169,122,190,218,150, 73, 0,117, 28, 8, 17, 8,133, 3, 25, 76,102,111, 0, 48,232,116, 55, 20,213,213, - 87,198, 3,209,166,180,221,212,243,243,186,229,255,215,160,211,233,197,153,231,215, 66,173, 3, 2, 38,126, 38,238, 56,237,192, - 97, 0,208, 72, 31, 58, 84,167,157,234, 1, 0, 2,207,224,219, 28, 73, 64, 49, 0, 80, 57,133,226,167,177,171,161,214, 1, 62, -193,225,226,230, 56,103,135, 30,177, 93, 49,127, 2, 7, 0, 46, 28,251,166,237,229,152,239, 70, 0,192,160, 9, 11,207, 14,157, -184,248, 41, 0,108,217, 19, 99,251,211,103,147,155,228, 52,109,108, 86,178, 42,211, 98,189, 52,242, 66, 43, 87, 1, 37, 73, 75, - 75, 35, 1,192,201,201,201,164,177,233, 2,136, 10,129, 69, 36,131,209,207,211,203, 43, 0, 0,157,241,236, 89,130, 65,175,191, -238, 8,236,252,147,251,210, 18,154,254,109,112, 86,130, 32,204, 29,210, 12, 51,204,120,211,112,250,165,184, 58,253,187,201,108, - 99, 71, 40,212,192,213,116,160,127,207,142,152, 63,109,164,176,254,119,209,187,195,221,210,238,158,108,255,195,129,173,100,199, -142, 29,145,153,153,105, 82, 45,106, 52,192, 47,105, 0,100, 79, 44, 42, 4,130,103,219, 62,255,220,114,200,144, 33,148,147,147, - 19, 8,130, 64, 81, 81, 81,207,184,184,184,174,203,150, 45,251, 23,100, 79, 42,106, 52,168,250, 37,173,121,222,218,186,118,104, -219, 10,107, 22, 79, 22, 1,192,170,153, 59,187,222, 77, 45,182,121,246,236, 89,208, 71, 31,125, 84,198,184,114,229, 59, 59, 32, -162, 24,200, 51,165,158, 7,127,190,205, 21, 21,254,232, 49,125,241,226, 99, 94, 94, 94, 66,119,119,119,194,194,194, 2, 12, 6, - 3, 21, 21, 21,110, 73, 73, 73, 35,238,220,185,163,136,187,250, 61,251,222,157, 49, 25, 82,110, 15,149, 73,109, 87, 22,112, 47, - 88, 88, 36,207, 24, 63,222,101,242,228,201, 92, 79, 79, 79, 0,192,179,103,207,188,163,163,163,167, 28, 59,118, 44, 20,202, 2, -125,141, 6,170,230,218, 94,199, 9,128, 11,244,182, 18,139,167, 51,152,204, 14,122,189,222,249,165,181,225,185, 65,167, 75,150, - 73,165,135, 94, 45,111,198,239,161,214, 1, 79, 10,129,193,253, 2, 48, 99,194, 96, 1, 0,124,244,214,134,158, 57, 89,233, 44, -141, 70,131,182,237,124,250,124,250,217,151,231, 65,146,136,140,137,171, 43,111, 10,103,226,147, 76,172,253,116, 27, 10, 30, 69, -247, 52, 84,166, 15,172,146, 87, 50, 0,192, 82, 36,154, 16, 29,245,227, 21, 39,255,144, 91,233,165, 90,147, 56,155, 26,155,231, -162,190,118,204, 79,186,226,251,237,133,125, 76, 55, 55, 55, 60,122,244,168,101, 99,179, 50,213,194,232,232,248,120,235,135, 31, - 74, 2, 3, 3, 33, 20, 10, 65, 81, 20,244,122,253,224,235,215,175, 15, 94,187,118,237, 66, 84,166, 42, 76, 29,155, 38, 96, 43, - 65, 16, 3,103,207, 95,226, 56,114,108, 8, 38, 12,239,211,100, 97,173, 70,195, 96,177,217, 6,115,111, 53,195, 12, 51,254, 70, -168,181, 94,213,223,121,184,167, 73,161, 69, 81,148,116,200,172,141,226,126, 61,252,112,247,225,211,202,236,220,194,234,218,239, -202,147,163,219,142,237,227,236, 27, 31,127, 21,106,181, 26, 55,110,220,192,195,135, 15,145,149,149,133, 5, 11, 22,168, 95, 46, - 29, 54,196, 89, 17, 56, 37,220, 26,149,105, 66,111,118,106,235,184,148, 20,134, 74,165, 66,124,124, 60, 42, 42, 42,192,102,179, -225,226,226,130,161, 67,135, 82, 41, 41, 41, 54, 65, 67,134,139, 2,135, 79,205,132,200,187,154,162,168,138,198,242,136, 80, 20, - 37, 13,154,185, 94,236,235,221, 10,207,178, 11, 42,215,124,246, 67,181,209, 72, 83, 25, 89, 57,218,171, 87,175, 34, 32, 32, 0, - 23, 47, 94,180, 45, 47, 47,255,100,231,206,157,107,152,155,191,221,174,211,148, 45, 71,227,124, 21,129, 83,194,173,109,165, 71, -221, 47,159, 59,193, 74, 78, 78,102,237,218,181, 11,101,101,101, 96,179,217,176,178,178,130, 68, 34, 65,219,182,109,137, 85,171, - 86, 9,131,131,147,241,239,121, 33,238, 90,143,185,169,141,213,179,174,237,213, 57,124, 59,249, 5,207,152,211,167,201,190,125, -251,254,102,218,222,166, 77, 27, 12, 27, 54,140, 59,125,250,116,207,201, 83,166, 25, 3, 71,205,126, 6,161,123, 77,179,156,138, - 60,158,109,205, 77,167,193, 83,166,156, 10, 15, 15,183,146, 72, 36, 16, 8, 4, 0,128,202,202, 74,151,236,236,236,158,161,161, -161, 19,111, 39, 70, 81,129,193,121, 5, 16,184, 42,155, 58,159,255,171, 96, 50, 41,105,173, 21,201, 66,192,171,200,203, 47, 86, - 0,128, 70,163,129, 70,163,129, 90,173,198,187, 11, 23, 48,230, 77,236,238,229,222,111,201,131,172,231,197,229, 62,113,183,108, -106,143,213, 53,195, 73,213,100,201,100,185,151,230,173,253,240, 67,137,131,195,127, 86, 4, 35, 15, 30,100,148,151,151, 15, 94, -187,118,173, 47,205, 31, 32,243, 9, 14,183,106,138,179,169,177, 41,123,122,186,245,167,139,135,117,218,253, 89, 44, 12, 6, 3, -110,222,188,137,248,248,120,124,249,229,151,244,217,179,103, 43, 45, 5,130,121,104,114,108,166, 90,244,117, 44,242,216,188,249, - 24,193,225,112,112,242,228, 73,164,164,164,128, 36, 73,116,236,216, 17, 51,102,204,192,224,193,131, 37,243,231, 47,160, 3,135, -191,149, 1, 81,187,170, 63,216,151, 72, 0, 75, 86,174,221,236, 56,115,238, 34,108,249,116, 85,179, 66,203, 44,178,204, 48,195, -140,191,177, 53,171,209, 16, 15,136,141,141,165, 95,190,250, 3, 0, 13,144,109,198,237,254,233,232, 61,227,233, 54,227,118,255, - 68, 3, 36, 13,144,150, 64,171,206,157, 59,235,100, 50, 25,125,231,206, 29,250,221,119,223, 85,108,223,190,253,202,233,211,167, -163,245, 90,237, 94, 39, 71,199, 47,232, 70, 28,236,105,128,116, 7, 68,124, 62,191, 36, 55, 55,151, 62,115,230, 12, 29, 22, 22, - 70, 31, 58,116,136, 62,123,246, 44, 29, 23, 23, 71,159, 61,123,150,254,233,167,159,232,196,196, 68,250,233,211,167,180, 64, 32, - 40,113, 7, 68, 77,112, 50,104,128,209,118,220,174,229,199,238,234,194,219,141,219,189,140, 6, 24,214, 64,251,206,157, 59, 27, -162,163,163,233,200,200, 72,250,192,129, 3,116, 98, 98, 34, 93, 90, 90, 74, 83, 28, 65, 73,237,113,141,213,147, 6, 72,103,103, -231, 18,153, 76, 70,187,186,186,210,108, 54,155,118,112,112,160,219,182,109, 75,247,236,217,147, 30, 49, 98, 4, 61,109,218, 52, -250,147, 79, 62,161,101, 50, 25,205,229,114,139,107,143,107,140, 51, 0,224, 9, 4,130,220,251,247,239,211,141, 65,169, 84,210, -165,165,165,244,249,243,231,105,129, 64,144, 27, 0,240,154,226,228, 1, 93,252,253,253, 75, 74, 75, 75,105,173, 86, 75,231,230, -230,210, 73, 73, 73,116, 74, 74, 10,157,155,155, 75, 43,149,202, 58,238,167, 79,159,210, 30, 30, 30, 37, 60,160, 11,109,222, 4, -209,104, 95,122,245,229,230,224, 48, 66, 34,145, 40,143, 29, 59, 70, 63,127,254,156,222,191,127, 63, 77, 2, 27, 94, 45,215, 20, - 39, 27, 24,218,183,111, 95,195,205,155, 55,233, 7, 15, 30,208, 31,127,252, 49, 61,108,216, 48,122,248,240,225,244,218,181,107, -233,252,252,124, 58, 63, 63,159, 30, 49, 98,132,129, 13, 12,109,174,127, 54, 52, 54, 69,128, 91,112,112,176, 82,171,213,210, 25, - 25, 25,116,135, 14, 29,242, 25,192,116, 1,224,219, 31,224, 52,215, 63,157, 1,107, 71, 71,199,194,155, 55,111,210, 49, 49, 49, -180,187,187,123, 9, 3,152,109, 9,180,177, 4,218, 48,128,217,109,218,180, 41,185,121,243, 38, 93, 86, 86, 70,187,185,185, 21, - 58, 3,214,127,160, 47,145, 0,246,173, 92,187,153, 78,205, 87,208, 43,215,110,166, 1,228,210, 52, 77,163, 1, 31, 79, 51,204, - 48,227,159,143, 87,181,200, 63, 5,117, 55,201,224,224, 96, 2,192, 47, 77, 21, 86, 50, 24, 27,183,108,217, 66,169, 84, 42,252, -240,195, 15, 85,147, 38, 78, 60,218,191, 95,191,140,214,238,238, 50,130, 36,155,205, 54, 92,194,225, 44,221,178,101,139,149, 70, -163,193,189,123,247,208,181,107, 87, 72, 36, 18, 8,133, 66, 8,133, 66,136,197, 98,180,107,215, 14, 82,169, 20, 22, 22, 22, 88, -177, 98,133,168,132,195, 89,218, 28,175,209, 72, 83, 0, 96, 48, 26,217, 44, 96,190, 71,183,110,247, 66, 67, 67, 73, 91, 91, 91, -216,216,216, 64, 40, 20, 34, 37, 37, 5, 26,141, 6,124, 30,223,164, 32,173, 36, 73,146, 66,161, 16,151, 47, 95,198,146, 37, 75, -208,187,119,111, 88, 89, 89,193,194,194, 2, 29, 58,116,192,208,161, 67, 49,111,222, 60,100,100,100,128, 48,193,169,228, 49, 69, - 45,154, 55,111,158, 56, 32, 32,160,193,239, 85, 42, 21,100, 50, 25, 74, 74, 74,224,226,226,130,144,144, 16,241, 99,138, 90,212, - 24,159, 45, 32,113,241,246, 62,117,231,206, 29, 59,129, 64,128,200,200, 72,156, 56,113, 2,231,206,157,195,153, 51,103, 16, 27, - 27,139,147, 39, 79,162,164,164, 4, 0,224,237,237,141, 35, 71,142,216, 9,197,226, 88, 91, 64, 98, 30,210,166, 33,167,184,248, - 66,135,162, 34,187,233,211,166, 93,171,174,174,198,244,233,211,177,113,211,166, 85, 76, 96,153, 41,199,183, 3, 68, 54,142,142, - 17,155, 55,111, 38,139,138,138, 48,126,252,248,210,173,155, 54,189,147,112,254,188,231,253,115,231, 60, 55,134,135,191,211,191, -127,255,210,252,252,124, 28, 60,120,144,116,112,115,139,104, 7,136, 90, 90,207, 42, 96,201, 87, 95,125,197, 85,169, 84, 24, 50, -100, 72,134, 49, 57,185,157, 30,248,177, 26, 72,249, 5,208, 54,119,124, 33,176,104,197,138, 21, 18, 14,135,131, 15, 62,248,160, -180, 38, 39,199, 79, 15, 28,168, 4,178, 43,129,108, 61,112,160, 42, 51,211,111,230,204,153,165, 28, 14, 7,219,182,109,147, 20, -254, 39,233,182,169,232, 10,224, 20,128,171, 0, 10,102,207, 95, 50, 59,160,123, 47, 28,220,187, 19,159,133,127, 20, 1, 96, 18, - 65, 16,135, 0, 44, 55,247, 60, 51,204,248,223,132, 41, 90,228,111,138, 70, 83,238, 80,245,149, 36,128, 1, 77,177, 88,219,218, -118,245,243,243, 67,124,124, 60,252,253,253,239, 88, 89, 89,233, 89, 28, 14,152, 76, 38,104, 99,179, 58, 11, 60,129, 32,104,240, -224,193,212,173, 91,183,224,225,225, 1, 30,143, 7, 38,147,249,155, 23,139,197,130,163,163, 35,228,114, 57,130,130,130,152, 59, -118,236, 8,130, 90,253,105,179, 15,196,180, 36, 97,201,173,205,211,190,223, 31,209, 38, 48, 48, 16,149,149,114, 24,141, 70,240, -249,124,104, 52, 26, 80, 20,245, 98, 9, 72, 71,203, 77, 57, 99, 6,131,193,192, 96, 48,224,225,225,129,141, 27, 55, 66,165, 82, -129,197, 98, 1, 0,228,114, 57,100, 50, 25,146,146,146,144,157,157,141,151,179,240, 38, 97, 33, 18,141,156, 60,121,114,131, 9, -127,213,106, 53, 42, 43, 43, 81, 89, 89, 9,153, 76, 6,149, 74,133, 94,189,122,177, 79,199,198,142, 68, 89,217,214, 6,143,225, -114, 39, 30, 60,120, 80,204,102,179,161, 84, 42, 81, 85, 85,133,188,188, 60,228,228,228,168,164, 82,169,222,194,194,130,116,119, -119, 39, 57, 28, 14,103,220,184,113,132, 92, 46, 7, 65, 16, 8, 14, 14,182, 61, 28, 25, 57, 25, 26,205,151,230, 33,109, 26, 46, - 0,234, 46, 26,205,232, 30,221,187, 95,190,115,247,110,192,210,165, 75,145,152,152,184,153, 31, 21,117,181, 6,120,216,212,177, - 25,192,162, 47,234, 9, 24, 58, 39,199, 95, 11,148,212, 43,146,237,158,153,121,110,230,204,153,143, 18, 19, 19,237,182,109,219, - 38,153, 52,126,252, 34, 0, 27, 90, 82, 71, 11,145,168,155,163,163, 35,206,158, 61,139,220,172,172,143,244,128,178, 69, 51, 46, - 6,163,111, 96, 96, 32, 78,158, 60,137,252,156,156,143,244,191,173,227,139,137, 18, 80, 66,101,100,124, 20, 17, 17,177,111,206, -156, 57, 96, 80, 84, 95,232, 91,180,112,248, 59,199,247, 57, 11,150, 34, 98,207,142, 8, 0,115, 1, 24, 1,220, 49,247, 56, 51, -204,248,223,182,106, 53,167, 69,222, 32,177,181,167,197, 22, 45,177, 88,236, 44, 20, 10, 81, 80, 80, 0,159,246,237,165, 28, 14, - 7,108, 38, 19, 92, 54,219,164, 26,212,212,212,248, 59, 57, 57,161,178,178, 18,118,118,118, 96,177, 88,117, 47, 54,155, 93,247, -222,194,194, 2, 36, 73,194,205,205, 13, 53, 53, 53,254,205,242, 22, 39,137,163,118, 44,124,247,230,213,179,109,198,143,159, 0, -107,107, 27,184,186,186, 64, 44, 22,131,199,227,193,213,213, 21,158,158,158,244,214,173, 91,193, 23,119, 52,233, 70, 94, 95, 60, - 81, 20, 5,131,193,128,226,226, 98,164,166,166, 34, 49, 49, 17, 55,111,222,196,131, 7, 15, 80, 85, 85, 5, 19,116, 22,106,148, -202, 78, 20, 69, 53, 40,178,100, 50, 25,100, 50, 89,157,208, 42, 41, 41, 65,118,118, 54,170, 21,138,206, 77,136,222, 9,126,126, -126, 12, 0,224,241,120,232,220,185, 51,118,239,222,173,255,249,196,137,183,124,111,222,180,113, 61,127,222,234,251, 93,187,222, - 10, 9, 9, 49,220,186,117, 11,114,185, 28, 79,158, 60,129,189,189, 61,197,230,114, 39,155,135,115,203,112, 31, 80,216, 85, 85, - 13,239,221,187,119,102,101,101, 37, 62,255,252,115,146,105, 97,177, 39,188,145, 37,190, 58, 48, 24,125, 2, 3, 3,113,234,212, - 41, 20,228,228,124,156,211,128,128,201, 1, 74,114, 51, 50, 62,142,136,136,192,208,161, 67, 65, 80, 84,159,150,214,175,103,207, -158,126, 70,163, 17,143, 30, 61,130, 21,112,187,165,199,123,122,121, 5,212, 90,126, 5,192,181,198,202, 9,128,107, 9, 9, 9, -224,241,120,240,241,245,237,210,194,159,217, 74, 16, 68,225,156, 5, 75, 17,115,238, 87, 0, 64,196,158, 29,197,245, 68,150, 25, -102,152, 97,182,104,189,169, 22,173, 90, 97, 85,255,133,223, 8, 45, 19,197, 7, 0,128,201,100,130,205,225,128,205,102,191, 16, - 72, 28,142,201, 28, 4, 65,128,203,229,214, 9,171,250, 2,171,254,123, 62,159,111,146,128, 1,128,138,244,115,253,230,190, 51, -135,205,225,112,160,209,168, 65,211, 52, 56, 28, 46,172,172,172,224,225,225, 1,185, 92,142,222,125,250,171,243,100,172, 88, 91, -159,113,137,175,115,246,244,122, 61, 20, 10, 5, 42, 42, 42, 80, 94, 94, 14,185, 92, 14,165, 82,105,242, 86,116,163,209,200,200, -203,203,195,143, 63,254,136,178,178, 50, 0, 47, 28,173,107,197, 85,237,223,204,204, 76, 68, 70, 70, 34, 43, 43,171, 69,215,167, - 95,191,126,136,141,141,101, 12, 8, 10,218,123,209,221,189,224,162,187,123,193,128,160,160,189,167, 78,157, 98, 56, 59, 59, 35, - 59, 59, 27,247,238,221, 67, 69, 69, 5,104,154, 54,239,159,127, 13, 60, 3, 42,106,202,203,231,172, 90,181,138, 22, 10,133,248, -252,139, 47, 58,109, 0,166,154, 42, 96, 68, 77, 8, 24,209, 31, 19, 48,160,105, 26, 70,163, 17, 6,195,235,249,138, 19, 4, 65, - 48,153,204,150,134, 86,104, 73,225, 58,199,247, 21,159,108,196,153,147,209,181,159,167,153, 69,150, 25,102,152,241, 15, 64,163, -142,240, 84, 61, 5, 89,247,183, 49, 20, 23, 23, 63, 87, 40, 20,109,220,221,221,145,159,159, 47,118,115,115,203, 97, 51,153, 96, -177,217, 32,200,230, 53, 1,159,207,127, 84, 80, 80,208,199,217,217, 25,122,189,190, 78, 84,189,186,116, 88,107,165,121,240,224, - 1,248,124,254, 35,168,154,140,156, 0,131,166,162, 85,151, 46, 93,234, 44, 67, 86, 86, 86,176,178, 18,129,195,225, 98,245,234, -213,198,109, 91,183,238,116, 27, 20, 94,249,246,178, 85,244,170, 13,123,255,212, 51,107,234,131,137,207,231, 63,114,117,117,237, - 37, 18,137, 16, 19, 19,131,236,236,108, 84, 84, 84,160,166,166, 6,106,181, 26, 53, 53, 53,208,104, 52,224,114,185,240,245,245, -133,165,165, 37,226,226,226, 30, 65,173,110, 88, 92,150,149,197, 60,122,244,168, 87,247,238,221,235, 44, 42, 3, 7, 14, 36, 6, - 14, 28,104, 87,103, 69,171,169, 65,105,105, 41,238,220,185,131,184,184, 56, 16, 4,129,180,180, 52,131, 90,169,252,201, 60, 38, - 94, 15, 42,224, 6, 35, 34, 98,223,191,254,245,175,119,250,244,233, 3, 3, 48, 2, 64,228,127, 81,192, 0, 0,110,222,188,153, -100, 48, 24,250,180,109,219, 22, 50,160, 7,128,147, 45, 18,145,233,233, 9,122,189, 62,168, 83,167, 78,136, 57,122,180, 31,128, -236,134,202, 41,128,126, 1, 1, 1, 80, 42,149,120,242,248,241,253, 22,136,172,189, 43,215,110,158, 61,115,238, 34, 28,220,187, - 19, 17,123,118,228,237,219,189,221, 21, 38,248,143,153, 97,134, 25,255, 83,214,172,102,181,200,223, 20,243, 27, 19, 95, 84, 75, - 88, 42, 43, 42,238, 39, 36, 36,180,233,210,165, 11,246,238,221,219,189,119,175, 94,207, 89,108,182,158,205, 98,129, 52,225, 65, -162, 84, 40, 46, 93,186,116,169,199,184,113,227,168, 91,183,110, 65, 34,145,212, 9,173,218,191, 20, 69,129,166,105,240,249,124, - 28, 63,126, 92,171, 84, 40, 46, 53,107, 45, 50, 24, 13,228, 75,161, 71,211, 52,100, 50, 25, 88, 44, 22,190,252,114, 27,190,222, -186,117,154, 1,136,246, 22,216,127, 8,128,251, 95,123, 64,215,212, 92, 62,115,230, 76,215,208,208, 80,166,139,139, 11,100, 50, - 25, 42, 42, 42, 80, 86, 86, 6,185, 92, 14,185, 92,142,138,138, 10,200,100, 50,112,185, 92, 36, 38, 38,234, 84, 53, 53,151, 27, -227,227,168, 84,199,102,205,154,181, 34, 33, 33,193,145,162, 40,232,116, 58, 24,141, 70, 24,141, 70,104,181, 90,164,167,167, 35, - 57, 57, 25, 41, 41, 41, 40, 47, 47, 7,147,201, 4,131,193,192,131, 7, 15, 42, 4, 58,221, 81,141,121, 76,191, 54,152, 64,204, -245,235,215,223,153, 49, 99, 6,156, 92, 92,250, 35, 63,223, 36, 1,115,162, 9, 1, 83,249,122, 2,230, 63, 2,168,170,234,110, -102,102,102,159, 1, 3, 6,192,209,197,101,179,111,126,254,197,199, 45,240,211, 50,232,245,215,174, 95,191, 30, 52,115,230, 76, -236,221,187,119,179,125,102,230,185,146, 87,150, 57,237, 1,251,214,158,158,155,103,207,158,141, 11, 23, 46,192,160,215, 95,107, -130,178,126,196,247, 86,179,231, 47,113,125,197,241,125, 55, 65, 16,139, 1,124,110,238, 81,102,152, 97,198, 63,217,162,213,162, -165, 67,158,193,176,114,249,242,229, 58,146, 36, 49, 97,194, 4,139,147,167, 78,133, 60,120,248,208, 67, 42,149, 90, 25, 12,134, -102,185,236,213,234,237,203,151, 47,151,105, 52, 26,180,107,215, 14,229,229,229, 48, 24, 12,160, 40, 10, 20, 69,129, 32, 8,144, - 36, 9,161, 80,136,132,132, 4,236,219,183, 79,110,175, 86,111,111,246, 33, 97, 48, 60,138,140,140, 4,131,193,160,185, 92, 46, - 8,130, 0, 69, 81,216,182,109,155,244,107, 32, 6, 0, 24, 36,169, 1, 0,146, 36, 76,245,222,109,118,221,146,205,102,195,248, - 98, 19, 64,179,101,173,213,234,175,182,108,217, 82,245,228,201, 19, 40, 20,138, 58,235, 91,117,117,117,157,115,189, 76, 38, 3, - 65, 16, 80, 40, 20, 56,117,234, 84,149,181, 90,253, 85, 99,124,101, 64, 81,126, 90,218,152,238,221,187,151,101,102,102,162,178, -178, 18,143, 30, 61, 66, 92, 92, 28,142, 28, 57,130, 11, 23, 46, 32, 61, 61, 29,122,189, 30,206,206,206,160,105, 26, 39, 78,156, -168,212, 87, 85,141, 40, 3,138,204, 99,162,113,180,146, 72,130, 28,196,226, 92,123, 59,187,252, 86, 18, 73,208,171,223,139,128, -167, 79,159, 62,133, 94,175,135,135,135,135, 77, 83,126, 90,180, 94,127,253,250,245,235,152, 57,115, 38, 92,219,180,217,228, 14, -216,191, 90,198, 29,176,119,247,244,220, 84, 43, 96,104,189,254,122, 75,235,108, 1,236,248,240,195, 15,149, 44, 22, 11, 81, 81, - 81, 30, 58, 47,175, 20, 10,152, 42, 4,218, 15, 0, 88,205, 29,239, 8,236,252,228,147, 79,138, 8,130,192,161, 67,135,236, 68, -158,158, 73, 20, 48, 75, 4,180, 18, 1,173, 40, 96,150,200,211, 51, 41, 42, 42,202, 78,175,215, 99,217,178,101, 69,142,192,206, - 38, 40,151,208, 52, 61,154,166,233, 64,154,166, 93,247,237,222,142, 51, 39,163,107, 69,214, 92,188,112,122,159, 1, 32,201,220, -227,204, 48,195,140,127, 50, 26, 52, 67, 81,221,215, 23, 3,180,184,127,207,142,184,251, 48,181,210,206,218,242,124,237,119,229, -201,209,109, 7,249, 91,118,252,246,219,111,193,100, 50,145,151,151,135,199,143, 31,195,210,210, 18,211,166, 77, 83, 43,171,170, -198,212,203,117, 56, 24, 64,220, 75,206, 23,249,212, 42,211,132,158, 84, 98,155,115,103, 98, 25, 34,145, 8,213,213,213, 32, 73, - 18, 92, 46, 23,124, 62, 31, 60, 30, 15,247,238,221,195,168,209, 99, 13, 37,252,192,255, 4, 44,253, 79, 62,181, 58,206,218, 88, - 67, 61, 0,126, 2,240,129,216,201,105,249,154, 53,107,120,195,134, 13, 3,139,197,130, 75, 43,239, 34,143,225,159,239, 32, 73, - 66,159, 95, 38, 95,237,217,202, 73,244, 56, 45, 27, 0, 33,213,221, 89,227, 84, 47,215,225,239,234,233,166,185,234,113,252,192, - 86,203,206,157, 95,248,163,203,100, 50, 20, 23, 23, 67, 42,149, 66, 38,147, 65,161, 80, 0, 0, 98, 99, 99,113, 38, 62, 69,174, -116, 9,201,104,172,158,255,105,123,170,133,147,246,118,235,195,145, 7, 24,246,246,246, 40, 46, 46, 70, 73, 73, 9,100, 50, 25, -148, 74, 37, 12, 6, 3,202,203,203,241, 67,196, 1, 67,153, 48, 48,171, 46, 32,100, 83,156,138, 60,158, 77,245,175,206, 1,190, -238,244, 59,239,188, 99, 97,105,105, 9,163,209,136,138,138, 10,228,230,230, 34, 51, 51, 19,241,241,241, 10,169, 76, 3,133,221, -144,252,186,128,165, 13,112,254,137,120,227, 56,235,199,173,114,114,116, 44,200,201,201, 17, 27, 12, 6, 56, 59, 59,235,101,229, -229,155,216,192, 5, 11,160, 16, 0, 93, 10,172,249,106,199,142, 57, 99,199,142, 69,183,110,221,242,138,138,139, 91, 55,212,151, -104,128,209, 14, 16,213,184,184, 36,223,185,115, 71,146,155,155,139,153, 51,103,150,230, 60,123,246,113,173,191, 86, 37,208,207, -221,211,115, 83, 84, 84,148, 93,155, 54,109,224,239,239, 95,196,205,205,237,144, 10, 84, 54,210, 63, 27, 29,155,178,167,167, 91, - 47, 28,239,215,237,221,119,223,133, 94,175, 71,124,124, 60,110,223,190,141,156,156, 28,252,250,235,175, 50, 75,129,224,173,122, -185, 14, 27,236,159, 35,188, 21, 30,135, 14, 69, 18, 44, 22, 11, 17, 17, 17, 72, 72, 72, 0, 0, 4, 4, 4, 96,246,236,217,208, -235,245,152, 62,125, 6,125, 58,149,151,209, 84,255, 4,224, 7,224, 11,188, 16,121,221,104,154,230, 18, 4, 81, 0,192, 21, 45, -243,201, 50,247, 79, 51,167,153,243,127,135,243, 31,137,102,115, 29,174,255, 14,162,223,166,249,152, 87, 16,189, 59,156,234,219, - 47,176,125,120,216, 90,178,123,247,238,112,117,117, 69, 64, 64, 0,114,115,115, 57, 86, 86, 86,205,229, 83,171, 14, 28, 62, 53, -179, 99,199,142, 86, 31,127,252,177,104,232,208,161, 76, 87, 87, 87,208, 52,141,132,132, 4,196,196,196,104,247,238,221, 43,175, -113, 24, 45,187,127,229,199,106, 83,242,169,221, 6,106, 0,172,115, 41, 40,216,179,104,225,194,181,157,187,116,121, 39, 44, 44, -140, 20,242,121,204,141,171,231,114, 1, 96,253, 55, 71, 68, 99, 67,166,225, 43, 47,160,255,212,134,243,200,213,175,103,110,254, -188,156,145,227,131,188, 62, 88, 60,199, 48,121,242,100,129,165,165, 37, 92, 93, 93, 97,109,109,141,140,140, 12,228,231,231,211, - 63,255,252,115,245,205, 7, 79,153, 39, 46,220,205,225,138, 28, 77,201, 75, 88, 21, 56,108, 82,214,200,145, 35,173,103,205,154, -101,209,181,107, 87, 38,135,195, 1,135,195, 65,113,113, 49,210,211,211,181, 63,255,252,115,117,141,120, 68,197,253, 43, 81, 85, - 38,230, 58, 84, 6, 78, 9, 79,191,118, 49,108, 89,242,163, 71, 51,140, 64, 39,173, 86,235,108, 48, 24, 8,146, 36, 11,141, 70, -227, 35,109, 85,213, 62,117, 64,216, 54,115,174, 67,211, 96, 48, 24, 88, 6,131, 1, 50,153, 12, 23, 47, 94,164,158, 61,123,182, -230,225,195,135,107, 10, 10, 10,160,211,233, 48,113,226, 68, 4, 4, 4,224,202,149, 43, 40, 41, 46,254,185, 41,174, 84,160,146, -147,159, 63,123,222,188,121,103, 35, 35, 35,201,135, 15, 31,218, 69, 68, 68,252,208,144,128,153, 49, 99,134,177, 56, 55,119,182, - 26,168,108,162,127, 54, 53, 54, 75,207, 69,125,253,112,220,132, 16,223,176,208, 53,204,222,189,123,195,206,206, 14,253,250,245, -131, 86,171,181,242,241,241,105,110,108, 86, 5, 14,127, 43,163, 83,167, 78,130,109,219,182, 73,230,204,153,131,197,139, 23, 3, - 0,148, 74, 37, 46, 92,184,128,101,203,150, 21,229, 82, 61, 20,205,245,207,151,150,170, 90, 1,118, 21, 64, 32,128, 12,152, 29, -223,205, 48,195,140,127, 38,106,147, 74, 59,226, 69, 98,233,211,120, 49, 57,111, 62,215,225,181,219, 73,168,159,230,227, 5, 28, - 31,235,221,102, 61, 91,176,124,147, 63, 67, 39,183,102, 18, 42,203,180,167, 79,137,230,114, 30,214,229, 83, 19,121, 87,219,102, -254,212,125,227,250,245, 75,191,250,234,171,160,218, 16, 14,124, 62,255,145, 82,161,184,100,175, 86,111,175, 17,121, 95,106,105, -110,190,124,160, 24,192, 66,235,251,247,119, 4,143,157,184,133,107,227,193, 92,181, 97,175,138, 65,146,154,244,130, 18,124,229, - 5, 8, 76,216, 32, 89,163, 1,146,101,142,250, 98,219,144,212, 79, 62,252,240,131,245,235,214,117, 23, 10,133,253,181,122,189, -183,209,104, 4,140,198,180, 26,133,226, 42,173,213,222, 81, 7,132,110,229,138, 28,105,147,243, 18, 90,249, 84,217,100, 69,119, -223,191,111,223,146,163, 71,143,254,174,237,182,106,245,142, 26, 43,159, 56, 83,218, 94,191,140, 10,184, 1,169,244, 70, 83,166, - 75,115,174, 67, 19,103, 31, 70,227,124,107,107,235,131, 65, 65, 65,220,193,131, 7, 99,212,168, 81,232,221,187, 55,140, 70, 35, -104,154, 70, 85, 85, 21,142, 28, 57,130, 45, 91,182,164,181, 6,214, 53,199,167, 6, 46,113,206,156, 25,209,169, 83,167,136,166, - 4,204, 75,145,213,172, 79, 98,211, 99,147,147,166, 23,141,201,158,178,104,163,151, 70, 94,104,101,203,215, 75,146,147, 30,145, -166,143,205,118, 85,134,132, 35, 61, 38,142, 31,191,136, 65, 81,253, 94,238,128,164,159, 60,126,124,191, 54,169, 52, 2,102, 95, -108, 97, 95,170,141, 93,103,118,124, 55,195, 12, 51,254,233, 66,107, 20, 94,248,107,213,165,228,105, 52,215, 97,173,213,135,162, - 40,105,198,137, 5,211,154, 98,103, 2, 65, 47, 45, 89,104, 54,215,225,203,247,217, 64, 21,212,234, 79,127, 19,140,180,222,238, - 66,230, 43,229, 91, 18, 22,177, 2, 72,133, 94, 29, 12,233, 99,224,212,194, 23,124,221,215,127, 84,191, 77,141, 62,100,127,243, -187,172,114, 21,112, 13,213,213,215, 80, 93,221,160,211, 46,147, 98,149, 55, 87,207, 87,219,158, 11,200,255,104,219, 95,229,108, - 86, 60,252,129,243,249,191,134,231,165,165, 39, 0, 8, 93, 98, 99, 29,206,197,198, 78,254,224,253,247, 39, 58, 58, 57,121,218, -217,217, 89, 91, 88, 88,144,183,110,221,202,212,171, 84, 59, 58, 3,251, 95, 90, 83,155,133, 26,184,212, 46, 55,183,195,164,241, -227, 23, 17, 20,213,183,190,128,161,245,250, 95, 61,128,157, 77, 89,178, 94,119,108,186,114, 28,131, 94, 90,178,192, 0,230,153, -210, 55,242, 95,212, 99, 3,244,250, 13, 72, 76,108,160,207,183,184, 47,173, 39, 8,162, 10,102,199,119, 51,204, 48,227,159,139, -218,124,135,167,255,191,127,120,176,153,211,204,249, 15,226,100,224,197, 46, 58,243,249, 52,115,154, 57,205,156,102, 78, 51, 76, - 2,101, 62, 5,102,152, 97, 50, 12,248,207, 50,152, 25,102,152, 97,134, 25,102,212,162,214, 55,171, 62,246, 0, 47, 92,119, 26, - 83,165, 45,217, 77,240, 58,202, 54,206,204,105,230, 52,115,154, 57,205,156,255, 21, 78, 62,126,191,236,109, 62,159,102,206,255, - 47,206,230,184,223,196,221,140,181, 62, 89,117,190, 89,255, 95, 48,155, 85,205,156,102, 78, 51,167,153,211,204,105,230, 52,115, -254,211,225,248, 82,100,213,127, 1,104, 97,192, 82, 51,204, 48,195,140,127, 42,194,194, 64,210, 52, 8,154, 14, 35,105,250, 40, -131,166, 67, 24, 52,141, 63,148, 10, 36, 36,164,225, 96,182,255,158,102,109, 97, 62,227,102,152,241,143, 66, 33, 26, 73, 42,109, -246,209,250,239,194, 77, 34,145,236, 6, 64, 20, 21, 21,205, 7,144,107, 62, 37,127, 63,216,216,216, 4,233,245,122,200,229,242, - 75,127, 22, 39,131,193, 32, 12, 6, 3,253,119,104,159,175, 39,198,211, 36,124,234, 62,160,145,251, 36, 29, 7, 27, 42,235,227, -133,153, 32,254, 19,139,139, 48,226,201,227,103, 56,222,130,159, 35, 71, 12,118,221, 9, 0,103,227,242, 22,225,175,137,171,213, -214,222,222,254,114,207,188, 0, 0, 32, 0, 73, 68, 65, 84,254, 60, 69, 81,148,193, 96, 88, 40,149, 74, 99, 27, 23, 66, 33, 12, - 0, 96,210, 87, 86,202,138,196, 31,191,247, 47,130, 89,163,222, 39, 83, 43, 21,149, 12, 38, 35,139,195,148, 92, 95, 48,135, 60, - 91, 81,221,235,113, 67,199, 71, 71, 71, 55,154,197,187,131, 23, 70,144, 6,223,209, 1,126,153, 25, 95,108,239,254, 85,127, 15, - 59,102,102,222, 3,225,230, 93,149,187,217, 86,238,163,103, 78, 38, 98, 41, 62, 49, 99,223,190,178,234,127,234,216,217, 8,144, - 58, 38,179, 29, 97, 52,122,128, 32,248, 4, 0,218,104, 52, 18, 36,153,201,213,235,159, 46, 7,170, 95,131,211, 70, 11,248, 51, - 57, 28, 87,131, 94,239, 64, 0, 52,131,162,138,117,106,117, 30, 11, 72, 92, 9,200,254,233,156, 44, 14,199,197,160,215, 59, 0, -192,223,177,158,102,252, 22,141, 10, 45,161, 80,120,143, 36, 73,151,250,201,112,107,243, 9,214,126, 86,255, 59,130, 32, 96, 48, - 24,242, 43, 42, 42,186,182,224,247, 45, 1, 76, 6, 80,187, 69,253, 48,128, 35,120,125,135, 99, 75, 22,139,181, 92, 32, 16, 12, - 82, 42,149, 29, 0,128,199,227, 37, 43, 20,138,203, 90,173,246,139,215,228,165, 0, 76, 18, 10,133, 3, 73,146, 28, 72,211, 52, - 65,211,244,149,234,234,234,203, 0,142, 2,120,157, 72, 9, 60,177, 88,188,193,198,198,102,234,202,149, 43,203,108,109,109,219, - 45, 91,182,236,110,121,121,249,143,165,165,165,171,209,130, 28,117,127, 49, 60, 37, 18,201, 97, 38,147,201,200,203,203, 27, 8, - 0,174,174,174, 87, 52, 26,141, 65, 42,149, 78, 3,240,172,133,124, 2, 0, 61,133, 66, 97, 87,161, 80, 24,104, 48, 24,124, 94, -230,103,124, 82, 93, 93, 29,175,213,106,239, 1,184, 5, 64,241, 55, 26, 35, 22, 20, 69, 69,190,236,235,222, 0,170,254, 12,210, -191,139,200, 2, 0,154,132,207,227,228,148,118,117,194,171, 67,251,198, 11, 19,112,107,160,172,201, 66,107, 80,127,199,209, 99, -198, 12, 33, 1, 64,163, 59, 59,250,242,213,194,147,127,114,115,218, 78,152, 48,225, 70,100,100,164,181, 90,173,198,252,249,243, - 15,199,197,197,237,148,203,229, 43,155,188,113, 8,173,151,125,190,237, 2,159, 32, 72, 0, 16, 27,141, 6,241,243,231,207,188, - 31, 39,221, 24,158,156,124,115,163, 50,229,242, 45, 35,193, 92,160, 69,191, 20, 83, 42,225,227,129,224,209, 19,199,143, 90,183, - 46, 12, 83,223,154,218, 42, 57, 89,197,115,182,204, 96,151, 43, 5, 94,182,246,226, 49,235,214, 71, 19,215,175,157, 24, 19, 25, - 17,126,121,206, 28,219, 65,255, 64,177, 69,172,101,179,221,116, 6,195,112, 18, 40,164, 44, 44, 50,192, 98,213, 0, 0,105, 48, - 48, 52,114,185,103, 13, 69, 77,255, 20,184,243,137, 94,255,192, 84,206,245, 20,213, 83,228,229, 21,248,214,137, 19, 16,186,186, - 82, 20,135, 67, 2,128, 94,173,118,173,206,203,115,140, 26, 51,166, 71,216,211,167,191,132, 1,183,205,156,255, 21, 78, 51, 90, - 34,180, 72,146,116,121,254,252,185, 88, 32, 16,188,184, 25,211, 52, 12, 6, 3, 12, 6, 67, 93,242, 98,154,166,235,254,234,245, -122,180,111,223,222,164, 25, 45,128, 65, 0,222, 30, 48, 96, 64,200, 23, 95,124,193,244,247,247,175, 77, 25,210,111,213,170, 85, -223, 36, 36, 36, 28, 3,176, 31, 47,130, 55,154, 58,227, 29, 38, 16, 8, 14,125,254,249,231,150, 67,134, 12,161,156,156,156, 64, - 16, 4,138,138,138,122,198,197,197,117, 93,182,108,217, 66,133, 66, 49, 29,192,249, 22,156, 31, 63, 11, 11,139,232,241,227,199, -187,244,239,223,159,235,235,235, 11,131,193,128, 7, 15, 30,204,185,119,239,222,148, 99,199,142,173,173,170,170, 10,129,233,249, -218, 8,161, 80, 56,203,210,210,114, 67,104,104,168,205,244,233,211,217, 73, 73, 73, 21, 30, 30, 30,196,245,235,215,237,143, 28, - 57,178,112,211,166, 77,147,228,114,249,234,234,234,234, 3, 48, 33,135,162,133,133,197, 61,146, 36, 93, 76, 17,194, 47, 31,240, -166,138,225,206,173, 91,183, 62,114,237,218,181,214,217,217,217,134,113,227,198, 29, 4,128,203,151, 47,251,235,116, 58, 98,232, -208,161,103,243,243,243, 39, 3, 48,245, 38,217,209,198,198,230,228,212,169, 83,109, 60, 61, 61,249,173, 91,183, 38, 4, 2, 1, - 24, 12, 6, 42, 43, 43,157,146,146,146, 6,223,190,125, 91, 25, 23, 23, 87,174, 86,171,199, 0, 72,108,193,117,234, 45, 22,139, -103, 48,153, 76, 63,189, 94,239, 12, 0, 20, 69, 61,215,233,116, 73, 82,169, 52, 18,192,141,215, 29, 32, 14, 14, 14, 95,111,216, -176,193, 78, 42,149,210,155, 54,109,250,186,170,170,106,150, 41,199, 69, 68, 68,144,179,103,207,254, 75,162,160,175, 91, 23,206, - 12, 13, 93,171,251,179,121, 15,255,120, 20,247,238,222, 6, 94,164,205, 33, 26,232,127, 4, 0,214,123,239,189,143,174,221,122, - 96,218,212, 73,205,114,142, 12,114,249,156,201,102,217,170, 84,170, 27,149, 53,234,163, 2, 62,119,242,212, 41,193,105, 0,112, -246,220, 47,147,187,119,183,190, 34,226,115, 38,113,185,220,222, 58,141,182,236,204,165,252, 15, 91, 34,170,156,157,157,207, 91, - 91, 91,243,203,203,203,139, 74, 74, 74,190, 27, 61,122,244,250,253,251,247, 91,103,102,102, 34, 47, 47, 15, 75,151, 46, 21,230, -231,231, 47, 74, 76, 76,188,169,209,104, 26,181,108, 85, 85,149,111, 95,245,241,216, 80,145,200,142, 33,224, 91,194, 66,100, 3, - 15,207, 78,232,217,123, 52, 70,140,122, 7,233,105, 9, 61,247, 71,172, 75,120,254, 60,238, 51,161, 77,155,245, 50, 89,235, 70, -175,173,111, 91,244, 31, 51,254,133,200, 10, 13, 13,195,211,148,148,170,236, 44,242,223,167, 79, 80,252, 17, 65,237, 57,122, 77, - 81,246,245,107, 39, 90,247,237, 55, 14, 0,186, 70, 70,132, 95,254,247, 52,235,160,175, 15, 87, 84,253, 67,158, 43,196, 58, 38, -211, 15,122,125, 91, 91, 71,199, 40,149,209, 72,235, 42, 43, 93,141, 53, 53,142, 0,160,103, 50, 53, 2,161,240,145,147,151, 87, -252,211,251,247, 3, 63,165,168,126,159, 52,157,160,188,150,115,214,176,109,219,196, 1, 11, 23,178,170,179,178,180, 25,187,118, -213, 20,199,199, 27, 40, 14,135,118, 29, 62,156,176, 31, 56,144,187,240,201, 19,214,175,155, 54, 5, 50,195,195, 61, 86,107,181, -135,204,156,255,175,156,255,235,168,117,130,175,191,251,112, 79,147, 66,139, 32, 8, 8, 4, 2, 68, 69, 69,129,201,100,130,162, - 40, 48,153,204, 70,223,187,185,185,153, 82,145, 9, 18,137,228,155,157, 59,119, 58, 12, 27, 54, 12, 92, 46,183,238, 11, 6,131, -129, 33, 67,134, 96,240,224,193,204,130,130,130, 41, 81, 81, 81, 83, 54,110,220, 88, 44,147,201, 22,227,101, 98,232, 38, 48,176, - 93,187,118, 49, 23, 46, 92,224,169, 84, 42,196,199,199,163,162,162, 2,108, 54, 27, 46, 46, 46, 24, 58,116, 40,149,146,146, 98, - 51,100,200,144,152,167, 79,159, 6, 3,184, 98, 66, 93,187,138,197,226,171, 71,143, 30,229,118,234,212,137, 72, 79, 79, 71, 64, - 64, 0, 0,160,178,178, 18,227,198,141,227, 78,159, 62,221,115,202,148, 41,183,164, 82,105,127, 0,247,154,225,235, 34,145, 72, - 14,140, 31, 63,222,105,227,198,141,150, 22, 22, 22,200,206,206, 46,148, 72, 36,222,181,231,123,202,148, 41,236,209,163, 71, 59, -110,217,178,101,123,116,116,244,135, 82,169,116, 22,128,251, 77,170,214,151,130,152,207,231,163,184,184, 24,135, 15, 31,198,162, - 69,139,192, 96, 48, 32,149, 74,113,228,200, 17,252,251,223,255,174, 21, 52, 38,137, 97, 62,159, 63,216,203,203,235,135,203,151, - 47,187, 88, 89, 89,193,201,201,137,252,228,147, 79,252, 60, 60, 60,120,173, 90,181, 98, 20, 22, 22, 34, 38, 38,198, 99,198,140, - 25, 39,115,115,115,231,168,213,234,102,151,212, 28, 28, 28,246,157, 62,125,218, 45, 57, 57, 25,187,118,237, 66,121,121, 57,216, -108, 54,172,172,172, 32,145, 72,224,237,237, 77,124,252,241,199,252,209,163, 71,243, 23, 47, 94,188, 79,163,209,116, 54,225, 26, -117, 18,139,197,187, 7, 14, 28,232, 17, 30, 30,110, 37,145, 72, 80, 59, 49,168,172,172,116,201,206,206,238, 25, 26, 26, 26,114, -239,222,189, 76,169, 84,186, 0,192,195, 22, 14,156,206,190,190,190,193,227,198,141, 99, 20, 22, 22, 34, 50, 50, 50,184,170,170, -170,179, 41,226,146,162,168,191,204, 98,101,164,105, 14,128, 63, 93,104,221,187,123, 27,243,223, 93, 90,237,228,234,202,186,112, -254,135, 9,209,199,219,222,181,226,189, 72, 72, 45, 83, 66, 27, 50,254,105,183,161,195,222, 97,141, 28, 53,174,122,207,183,219, -133,166, 8, 45, 38,155,101,123,248,208,151,185,215,174,223,243,187, 24,119,123,248,132, 49, 99,104, 22,203,202, 3, 0, 62, 92, -246, 30, 51,230,212,169,136, 33,131,123, 20,244,235,219, 53,119,218,244,247,221, 90, 80,221,182,109,219,182,253, 37, 33, 33,193, -129,195,225,160,188,188,220,118,207,158, 61, 95,246,237,219,151,204,200,200, 64, 74, 74, 10,178,178,178, 80, 89, 89,137, 33, 67, -134, 8,239,223,191,255, 29,128, 70,133,150,150, 28,180,193,169,149,110,135, 45, 79,208, 90,107,144,139,105, 93,161,239,197,211, - 23, 59,254, 20,169, 12,112,112,108,239,253,246,236,181, 88,183,254, 24,243,199,195,155, 67, 47,197,253, 4,144,173, 27,207, 8, - 64,163,247,170,213, 43, 33,175, 82, 99,250,212,121,152, 49,117,158, 45, 13,141, 35,109, 80, 9, 52,202, 10, 43, 11,214,147,216, -157,123,191, 28, 15,192,165,158,216,186,244, 79, 17, 91,235, 88,172,214, 48, 26, 61,188,199,141, 59,145,113,238, 92, 27, 90,171, -181, 99,176,217,249, 22, 54, 54,197,122,181,154,214,105,181, 44,165, 82,233,156,145,156,236,216,247,227,143, 47, 93,223,180,169, -255,167, 12, 70,183, 79, 12,134,187,141,114, 82, 84,143,224,111,190,177,247,155, 59,151,243, 48, 60, 92, 81, 26, 31,175,244, 26, - 57,178, 34,224, 95,255, 82, 3, 64, 85, 86, 22,235,233,218,181,124,251,192, 64, 94,175,229,203,173, 13, 26,141,100,221,186,117, -221, 67, 95, 36, 47,111, 17,167,219,228,201,134,208,136,136,110,241,239,191, 63,128,208,233, 24,195,123,245,122,176, 41, 50,242, -249, 31,225,252, 51,235, 89,112,245,170,186,220,195, 3, 1,227,198,149,185,137,197,234, 63,179,237,127,164,158,102,212,161,214, - 87,107,126,253, 25, 42, 98, 99, 99,251, 3,248, 5, 64,120,112,112,112, 24, 0,136, 68,162, 98,153, 76, 38,142,137,137,105, 86, -100, 49,153, 76, 56, 58, 58,194,219,219, 91, 42,149, 74, 29,154,168, 64,158,209,104,116,161,105,186,206,250,210, 24,212,106, 53, -210,210,210,208,177, 99,199,124,188, 72, 68,219,168, 81,135,207,231,103,164,164,164,216, 61,126,252, 24,247,238,221,131,135,135, - 7,172,173,173,193,100, 50,161,211,233, 32,151,203,209,174, 93, 59,112, 56, 28,116,233,210,165, 84,161, 80,120, 52,179, 4,196, - 17, 8, 4,105, 87,175, 94,117, 13, 8, 8,192,157, 59,119,224,234,234, 10,137, 68, 2, 0,200,202,202,194,245,235,215, 49,114, -228, 72, 36, 36, 36, 96,226,196,137,121, 10,133,194, 27,128,186, 49, 66, 27, 27,155,194,203,151, 47,231,251,251,251,171, 20, 10, - 5, 89, 92, 92,204,140,143,143,215, 87, 85, 85, 9, 43, 43, 43,153, 50,153,140, 41,151,203, 41,133, 66,193, 36, 73,146,165, 84, - 42,153,151, 46, 93, 98,104,181,218, 38, 3,100,214, 94,167, 83,167, 78,193,223,223, 31, 49, 49, 49,248,224,131, 15,240,235,175, -191,194,213,213, 21, 71,143, 30,197,242,229,203,145,154,154, 10, 59, 59, 59,248,250,250, 54,119,141,224,233,233,153,254,232,209, - 35, 79, 22,139, 85,155,215,177, 54, 95, 30, 74, 74, 74,240,236,217, 51, 60,127,254, 28, 94, 94, 94,152, 58,117,234,179,231,207, -159,123, 53,215,243,156,157,157, 75,146,147,147,237, 58,118,236,136,226,226, 98, 88, 89, 89, 65, 36, 18,193,202,202,170,238,189, -135,135, 7,222,127,255,125, 72, 36, 18,169, 74,165,114,104, 78, 4,249,251,251,159,191,116,233,146,157,165,165, 37,138,138,138, - 32,151,203, 65, 81, 20,248,124, 62,236,236,236,234,132,124, 90, 90, 26, 70,141, 26, 85,154,145,145, 49,172, 5, 22, 56,210,193, -193, 33, 37, 49, 49,209,155,166,105,228,230,230, 34, 53, 53, 21,239,190,251,110,154, 74,165,106,143,255, 98,206,190, 3,251, 15, -112,102,189, 61, 75,253,103,241,213,243,187, 98,205,154, 61,159, 53,126,108,111,205,147,228, 88,130, 99, 76, 69,103, 63,203, 74, - 0,120,144, 36, 23,169,201,118,240,233, 16, 76, 31, 63,121,131,125, 96,255, 30, 38,140,112, 0,129,212, 39,105,248,180, 49,238, -161, 3, 29,231,190,247,222, 28,191, 1,125,251,147, 85, 10,133,248,187,239,182,117,201,200,120, 34, 6, 0, 15, 15, 31,233,194, -133,203,238, 91, 8, 4,210, 95,174, 95, 53,126,245,213,190,164, 11, 87, 10,247,154, 80,101, 15,111,111,239,155,167, 78,157,178, - 19,139,197, 16,137, 68, 80, 40, 20,208,106,181,120,252,248,177, 42, 42, 42, 74,103,105,105,105, 81, 84, 84, 4,153, 76, 6,130, - 32,112,234,212,169, 92, 0,238,175, 18,213,250,104, 1,192,187, 35,124,152,190,131,188,173, 89, 28, 61,143,199,124,234, 8,194, -192, 33,104,161,195,217,243, 15, 58,158,189,120,103,218,248, 9, 31,216,247,235, 63, 30,161,107, 66,116, 5, 5,185, 1, 90,244, - 75,105,200, 71,171,189, 23, 6,141,155, 56,126,210,186,117, 97, 8, 11, 13, 71,236,169, 19,149, 66, 1,169,182,180, 98,138, 2, -123,246, 81,189,191,104,108, 94,117,117,129,235,186, 45, 81, 83, 71,141,125,223,165,111,191,113,184,126,237, 4, 34, 35,194,239, - 17, 60,250,141, 94, 70, 92, 11,176, 72,138,122,199,169,117,235, 67,210,130, 2,103,190, 80,200, 92, 26, 23, 39, 54, 24, 12,119, - 39, 45, 95, 94,117,252,210,165,186, 9,200, 39, 36,233,196, 96, 48,156,188, 71,141, 74, 76,143,141,125,135,163,215,199,124, 4, -148,188,202, 25, 6, 88, 91,121,120, 44, 88,146,150,198,122, 24, 22, 86,173, 47, 40,168,232,186,108, 89,105, 67,191,159,127,241, -162,128,237,228,100,105, 61,102,140,205,118,119,119, 90, 39,149,238,110,200,199,168, 33,206, 56,161,208,234,167,179,103,131,104, - 38,179,255,138,143, 62,226, 5, 7, 7, 67, 46,151,227,216,177, 99,216,189,107,151,218,209,209,241,145, 83, 82, 82,130,159, 92, -190,198, 84,206,174,203,150,149, 26, 12, 6, 98,210,242,229, 67,146,179,178, 6, 21, 73,165,173, 0,192,209,198, 38,175,171,135, -199,189,125,177,177,169, 95,183,110,109, 52,181,158,223,159, 59,231, 16,157,157, 61,215,198,198,134, 87, 44,149, 82, 28, 54,187, -172,167,175,239,209,111, 87,175,254, 69,159,152,200,226,186,184, 88,138,130,131, 91,220,246,174,203,150,149,150, 87, 85, 81, 75, -214,175,239,147, 83, 92,220,170, 90,173,246,146, 85, 85, 73, 12, 58, 29,105,201,231,151,181,105,215, 78,170,140,143, 47,108, 83, - 83,179,116, 47, 32,253,171,250, 79, 67, 90,228, 13,194,171,113,180,126,151,235,240,151,224,224,224,223,237,174,161,105,218, 36, -107, 22,147,201,252,205, 50, 85, 19, 96, 17, 4,129,251,247,239,195,214,214, 22, 18,137, 4, 28,206,111,147, 15,150,148,148,224, -215, 95,127,197,147, 39, 79,208,169, 83,167,218,101,140,198, 21, 17,135,243,222,150, 45, 91,172, 52, 26, 13,238,221,187,135,174, - 93,187,130,195,225,128,197, 98,253, 70, 4, 74,165, 82,116,232,208, 1, 43, 86,172, 16,109,220,184,241, 61,181, 90,189,174, 9, -107,196,226,121,243,230,137,107, 45, 88,121,121,121,232,210,165, 75,221,247,246,246,246,120,240,224, 1,186,118,237, 10, 23, 23, - 23,132,132,132,136, 35, 35, 35, 23,235,245,250, 47, 26,227,100,179,217,164,191,191,127, 55, 0, 16, 8, 4, 32, 73,242,169,165, -165,165,189,131,131,131,192,210,210,146,213,192,210,147,140, 36,201,102,173, 22, 36, 73,162,168,168, 8,126,126,126,168,172,124, -145,193, 69,161, 80,192,203,203, 11,114,185,188, 78,180, 58, 57, 57, 65,169,108,218,245,171, 99,199,142, 97,237,219,183, 31, 42, - 16, 8, 56, 76, 38, 19, 15, 31, 62, 68, 64, 64, 0,162,162,162,224,230,230, 6, 62,159,143,180,180, 52,248,251,251,227,234,213, -171,176,183,183, 71,135, 14, 29, 56, 98,177,248, 90,121,121,249,149,156,156,156,176, 38,234, 73, 10,133, 66, 92,189,122, 21,251, -246,237, 67, 86, 86, 22, 10, 10, 10, 96, 97, 97,129,206,157, 59,195,215,215, 23,189,123,247, 70, 90, 90, 26,136,230, 59,147,196, -219,219, 59,246,206,157, 59,118, 52, 77, 35, 50, 50, 18,213,213,213,208,104, 52, 32, 73, 18, 92, 46, 23,214,214,214, 24, 52,104, - 16,236,237,237,225,237,237,141, 35, 71,142,216,141, 24, 49,226,140, 84, 42,237, 12,160,168,185,243,106,109,109,189,116,237,218, -181,174, 98,177, 24,217,217,217,168,172,172,132,131,131, 3, 6, 12, 24,224, 28, 23, 23,183, 84,167,211,109,251,111,141,230, 63, - 83,100, 1, 64, 61,199,119,226,194,249, 31, 38,120,183,169,240,239,212,142,239, 26, 19,235,224, 26, 21, 43,237, 0, 0,126, 62, - 14,201, 19,130,249,121, 15,147, 99,243, 46,156, 63,113,239,201, 83,196,152,178,180, 93, 89,163, 62,122, 49,238,246,240,128, 78, - 93,140, 91, 54, 47, 31,181,232,221,185, 28,177,195, 59, 40,206, 61,129,184,203,247,221,150,127, 48,207,254,139,173,223,159,189, - 24,119,155,172,172, 81,175, 49,205,148,229,246,245,254,111,123,219, 85,149, 70, 35, 61,133, 13,158,133, 31, 60, 60,218, 66, 46, -151,131,203,229,114,167, 78,157,106, 88,185,114,101,141,165,165, 37,159, 32, 8, 92,185,114, 69, 10, 96, 88,115,188, 42,177, 53, -109,208,234,244, 52,155, 97,164, 9, 11, 37, 97, 40,103, 39, 61,206,196,208,193, 3,139,251,246,240,219,184,114,221,214, 85,222, -109, 3,236,231,204, 13,103,174, 15,155,182, 11, 4,250, 53,196,147,146,142,203,196,209,227, 60, 0,163,214,125, 26,134,140,140, - 52,235,249,111,203,194, 41, 14,207,169,189,123, 31,139, 93,251,174, 12,247,242,106,221,234,253,197, 33,167,191,252,230,203, 81, -245, 45, 91,251, 35,214,158, 4, 16,100,202,185,253, 59,130,164,168,118, 36, 65,228,201,107,106, 24,180, 86,107,183, 52, 46, 78, -121,225,214,173, 75,137,243,231, 91,116,100,177,218,118,100,177,192,208,106,203, 86, 3,165,159, 26,141, 5,107, 41,202, 50,243, -228, 73, 39,138,205, 78, 80, 25,141,254, 48, 26, 27,138,159,212,113, 70,108, 44,170,115,115,117,229,215,174,169,130,190,249,166, -212,117,216,176,109, 26,173,214,174,246, 86, 65, 18, 4,136, 90,215, 9,163,145,160, 86,172, 32,105,138,130,206,218,250,109, 84, - 84,180,109,142,243,131,194,194, 9,211,230,206, 29,117,242,220, 57,180,110,221,186,238,121,102,101,101,133,229,203,151, 99,217, -178,101,156, 7, 15, 30,116,143,142,142,238,254,197,231,159, 59, 0,152, 96, 74, 61, 47,220,186,101,253,175,117,235, 86,119,234, -218,213,237,224,225,195, 28, 79, 79, 79, 0,192,179,103,207,188, 55,111,218,228,238,231,239, 95,188,241,189,247,246, 39,175, 92, -217, 1,192,181,166, 56,139,226,227, 53,209,217,217,115, 47, 95,185, 98,229,231,231, 7, 0, 72, 77, 77, 21,111,223,190,125, 94, -135,144,144,233,235, 22, 46, 92, 19,172, 82,201, 44, 75, 74, 56,193, 95,127, 77,253, 52,105, 82,179,156,181,245, 4,128, 1,115, -230,188,215,111,224, 64,223, 9,115,231,218,184,185,185, 17, 66,161, 16, 90,173, 22, 5, 5, 5,214,201,201,201,158,177, 85, 85, -242,227,183,110, 69,194, 96, 24,242, 23,118,161, 6,181,200, 27,102,201,250,253,184,120,249,119, 64,108,108, 44,253, 82, 77,214, - 61,192, 13, 6,131, 73, 34,139,162, 40, 16, 4, 97,170,216, 2, 77,211, 40, 45, 45, 69, 82, 82, 18,158, 61,123, 6,133, 66,129, -204,204, 76,236,217,179, 7,155, 55,111,198,221,187,119,161,211,233,160,213, 54,159,131, 86, 32, 16, 12, 30, 60,120, 48,117,235, -214, 45,120,120,120,128,199,227,129,205,102,131,197, 98,213,189,184, 92, 46, 28, 29, 29, 33,151,203, 17, 20, 20,196, 20, 8, 4, -131,155,177, 18,141,156, 60,121, 50,187,246,255,234,234,106, 48, 24,140, 58,209, 82, 93, 93,141,242,242,114,200,100, 50, 20, 22, - 22,162, 87,175, 94,108,145, 72, 52,210,212,171, 81, 83, 83, 83, 45,149, 74,173,250,245,235,103,253,228,201,147,223,101,251,253, -229,151, 95, 84, 42,149,138, 73,146,164, 73,142,246,135, 14, 29, 66, 76, 76, 12, 46, 93,186,132,252,252,124,236,218,181, 11, 7, - 15, 30,196,169, 83,167,144,150,150,134, 29, 59,118,224,187,239,190,195,254,253,251,155,188, 70,237,219,183, 31, 17, 25, 25,217, -163,103,207,158,124, 6,131,129,212,212, 84,188,255,254,251,144,201,100,176,183,183, 7, 0, 20, 23, 23, 99,219,182,109, 80,171, -213, 16, 10,133,112,118,118,230,174, 91,183,174,175,189,189,253,208,166,234,104, 48, 24, 12, 12, 6, 3,238,238,238, 8, 13, 13, -197,119,223,125,135,243,231,207,227,232,209,163, 88,184,112, 33,124,125,125,145,144,144,128,187,119,239,130,166,233, 38, 31, 50, - 92, 46, 55,228,224,193,131, 98, 54,155, 13,163,209,136,170,170, 42,228,230,230,226,246,237,219,170, 19, 39, 78, 84,159, 62,125, -186,230,218,181,107,170, 27, 55,110,208, 0,234, 4,103,112,112,176, 45,155,205,126,203,132, 83,106, 47,145, 72, 86,205,155, 55, -143, 91,191,207, 22, 21, 21, 97,194,132, 9,124, 30,143,183, 18,128,125, 83, 4,145,145,145,127,217,205, 34, 44, 60,204,242, 47, -162,166,163,143,183,189,203, 49,166, 34, 38,246,185,107, 78,190,161,207,242, 15,183,218, 44,255,112,171, 77, 78,190,161, 79, 76, -236,115, 87,142, 49, 21,209,199,219,222, 53, 65, 8,144,131,250, 59,142,117,176,181,218, 61, 97,204, 24,250,187,239,182,117, 89, -244,238, 92,142,123,219,229,224,138,166,194,217,227, 95, 8, 10,116, 35, 58,250,146,220,239,190,219,214,101,194,152, 49,180,131, -173,213,238, 65,253, 29,199,162,153,176, 51, 98, 91,174, 51,159,163,128,167,183, 47, 6,244,239, 4, 38,145,142, 99, 71,247,161, -176,176, 16, 5, 5, 5, 40, 46, 46, 22,140, 30, 61, 26, 69, 69, 69,170, 43, 87,174, 72,149, 74,101,127, 0, 79,155,107,124,126, -254, 99,163,170,218,160, 53, 26,152,250,170, 74, 86,205,194,165,209,131,239, 38,179,102, 23,201,156, 71,179, 57,214,236, 17, 67, -186, 31,222,183, 55, 20,109,218,248,161, 91,247,161,189,172,133, 55,125, 27, 21,175, 25,136,253,249,216,241,147, 83, 39, 79,213, -103,101,102,103,182,117,224,106,104,154,214, 45,253,248,251, 33, 76,129,107, 71, 79,159, 64,251, 39,233, 6,199,208, 21,111,253, -120,250,228,151,249,215,175,157, 64,223,126,227,224,236,228,221,255,237,183,193,126, 83, 45, 90, 4, 77,123, 48,133,194, 12, 93, -101,165, 59,197,225,228, 26, 12, 6,187, 59, 11, 22, 88,105, 89, 44, 71,131, 86, 91, 96,208,106, 11,180,108,182,229, 78, 31, 31, - 23,154,166,109,173, 92, 92,158,211,108,182,155, 94,171, 77, 39, 72,178, 77,131,179,115, 14,199, 69,232,238, 78, 21, 93,184,160, -241, 24, 61,186, 2, 0, 52, 90,173, 93, 86,118,182,168, 88, 42, 21, 21, 21, 23,139,114,242,242, 68, 25,153,153,162,180,244,116, - 81, 74,122,186,229,163,164, 36,225,131, 71,143,132, 4,131,225, 96, 10,103, 86, 65, 65,199, 21, 43, 86,128,199,227, 65,175,215, - 55,116,207,134, 66,161,192,219,111,191,141, 26,160,167, 41,156, 6,131,129,248,215,186,117,171, 63, 90,189,218, 51, 38, 38,134, -211,163, 71, 15,216,216,216,192,198,198, 6, 61,122,244, 64,244,177, 99,236,133,139, 23,187,172,218,187,247,109,146,195,113,109, -142,179,212,203, 11, 54, 54, 54,188, 90,145, 5, 0,237,218,181,195,174, 93,187, 56,231,206,159, 23,125,250,195, 15, 91,195,111, -220,240, 87,231,228, 40,108,219,182,165,217, 28,142,139,169,231, 19, 0,170, 84, 42,191,109,219,183,219,218,217,217, 17,197,197, -197, 72, 79, 79, 71, 78, 78, 14,244,122, 61,186,117,235, 70, 28, 61,118, 76,164, 97, 48,186,255,197, 93,232,119, 90,228, 13,194, -124, 52, 18, 71,139,122,249, 0,186, 10,128,136,141,141,165,107,151, 19, 95, 62, 28,235,196,148, 41, 66,235,117, 32,147,201, 32, -147,201,176,119,239,222, 58, 97, 84, 11,141, 70, 99,138,104,241,119,114,114, 66,101,101, 37,218,182,109,251, 27, 75, 22,139,197, - 2, 69, 81, 96,177, 88,224,112, 56, 80,171,213,112,115,115, 67, 77, 77,141,127, 83,156, 74,165,178,179,141,141, 77,221, 3, 86, -173, 86,215,137,172,218,250,106, 52, 26, 84, 84, 84,160,186,186, 26, 85, 85, 85, 80, 40, 20, 1,166,180,215,104, 52, 34, 41, 41, -233, 89,187,118,237, 58, 51, 24, 12, 8,133, 66,129, 66,161,168,243, 45, 42, 47, 47,199,129, 3, 7, 20, 51,103,206,180, 59,117, -234, 84,179, 9,139, 9,130,192,191,255,253,111,112, 56, 28,212,212,212,224,187,239,190,195,146, 37, 75,192, 98,177, 80, 85, 85, -133, 93,187,118,225,253,247,223, 7, 69, 81,208,104, 52,216,190,125,123,163, 92,143, 31, 63,206,186,117,235, 86, 64,151, 46, 93, -172,143, 31, 63, 94, 50,100,200, 16,251, 97,195,134,129,199,227, 65,169, 84, 66,167,211,161,103,207,158,104,223,190, 61,164, 82, - 41,206,158, 61, 91,234,237,237,109,119,251,246,109, 99, 81, 81, 81, 78, 51,226,154,174,103, 49,132,193, 96, 64,113,113, 49,100, - 50, 25, 74, 74, 74, 80, 80, 80,128,252,252,124, 80, 20,133,102,116, 22,108,109,109, 39,250,249,249, 49, 0,128,199,227,161,115, -231,206, 88,189,122,181, 94,169, 84, 78, 6,112,246,101,177, 17,223,127,255,253,241,235,215,175, 83, 78, 78, 78, 72, 73, 73,129, -189,189, 61,197,229,114,223,210,104, 52, 77, 90,163, 36, 18, 73,196,207, 63,255,108, 83, 43,174,107,207,115, 77,205,139,203, 49, - 97,194, 4,155,131, 7, 15, 70,232,245,250, 70,197,117, 97, 97,225, 95,103, 53, 32, 24,234,191,138,219,138, 7, 86,103, 63,203, -202,168, 88,105,135,229, 31,110,165,218,251,189,152,188,206, 95, 0,234,139,207, 63,232, 48,125,172,229,105, 43,158,156,213, 28, -207,136,193,174, 59,199,140, 25, 66, 78,157, 18,156,198, 98, 89,121,236,222, 19, 46, 22, 59,188, 83,175, 17,150,176,181,179,132, -135, 59,155,136, 62,253, 68,252,241,202, 79,213,135, 14,126,153,241,227, 79,177,195,217,204,139, 67,207,198,229, 45,108,140,251, -233, 51,217,169, 26, 53,215, 71, 94,150, 72,216, 56,244, 65,231, 78,237, 32,182,175,192,247, 17, 81,104,221,166, 27,212,106, 53, - 44, 45, 45,249, 6,131, 65,203, 96, 48, 14,153, 34,178, 0,224,210, 37,153,177, 67, 7,153,134, 81,101,212, 47, 90,242,197,248, - 33, 35,198,248, 14, 26, 52,216,120,225,226, 5,109,159, 0,109,225,136, 97,157,139,207, 93,220,153, 86, 88,144,233,221,193,191, - 47, 30, 39, 95, 25, 78,211, 72, 34,136,134, 69,103,114, 58,206,169,140,143,175, 68, 69,205, 55, 42,141, 9,188,245, 27, 30,141, - 24, 53,106,150, 95, 96,191, 64,227,197,184,203, 26, 54, 74,159, 88,246,237,253,124,209,220, 17,199,127, 56,180,125,232,185,179, - 17, 94,149,242,156,216,253,251,161,198, 27, 10,154, 32,236, 45, 4,130,146,178,170,170, 78, 19,195,195,229,147,150, 47, 63,223, -145,162,124, 13, 90,109,102, 56,160,164,105,154, 48,234,245, 43, 31, 29, 62,204, 8, 35,136,143,195, 1,227, 6, 6,131,153,111, - 52,214, 56,147, 36,127, 45, 64,133,191,178,147,219,160,215, 59, 80, 28, 14, 89,114,229,138,222,255,157,119,212,181,227,145,207, -231,227,228,201,147, 96,179,217,117, 47, 22,139, 85,247,222,193,193, 1,196,203,109,164,191,155,248, 53,192, 89, 59,110,139,138, -138, 32, 18,137, 96,111,111,143,162,162, 34,220,184,113, 3, 79,159, 62, 5,147,201,196,240,225,195, 65, 54,226,219,252, 42,231, -164,229,203,135,248,248,251,187, 45, 88,176,128,124,245,249,168,213,106, 81, 94, 94,142,177, 99,199,146,103,207,158,149,156,203, -205, 29, 3,224, 80, 83,156, 1,163, 70,149, 21, 71, 71, 55,248,219, 93,186,116, 33,126,253,245, 87,206,240, 97,195,150,125,176, - 97,195,206,175, 15, 30,204, 51,232,245,146,150,180,157, 36, 73,146, 32, 8,184,186,186,162,188,188, 28,213,213, 47, 86,176,133, - 66, 33,172,173,173,161,211,233, 96,164,105,230, 95,217,127, 26,211, 34,111, 8,246,212, 19, 92,191,177,108, 81, 47,215, 69,107, -111, 20, 3,234, 63, 88,140, 70,163, 73, 34,139,201,100, 54,235,115,101,138,149,235, 85,152, 34,180,106,235,202,229,114,127, 99, -201,170, 21, 88,181,245, 36, 73, 18, 12, 6,163,217,135,248, 75, 49,196,168,170,170,194,177, 99,199,208,191,127,255,186,101,169, -202,202, 74,200,100, 50, 84, 86, 86, 66,165, 82, 33, 43, 43, 11,151, 46, 93,130,151,151, 23, 96, 98,240,215,140,140,140,123,173, - 91,183,238, 90,251, 16, 31, 56,112,160,203,254,253,251, 11, 70,142, 28,233, 68,211, 52,214,172, 89, 83,218,179,103, 79,187,250, - 15,249,230,192, 96, 48,112,227,198, 13,120,121,121,129,166,105,176, 88, 44,164,166,166, 66, 44, 22,195,104, 52,130,162, 40,148, -148,148,192,194,162,233, 24,137, 73, 73, 73,179,231,204,153, 83, 32, 18,137, 58,150,149,149, 21,114, 56,156,126,241,241,241,174, - 90,173, 22,150,150,150,176,180,180,196,153, 51,103, 96,101,101,133,247,222,123, 47, 87,169, 84,222, 16, 8, 4, 14, 74,165, 50, -177,168,168,104, 77, 75,174,183, 94,175,135, 66,161, 64, 69, 69, 5,202,203,203, 33,151,203,161, 82,169,154,173, 99, 67,232,215, -175, 31, 98, 99, 99, 25,159,125,246,217, 15, 25, 25, 25, 0, 0, 15, 15, 15,188,247,222,123, 12,103,103,103,100,101,101,225,222, -189,123,208,106,181,160,105,186,201,193, 75, 81,212,192,153, 51,103,246,117,115,115, 35,180, 90, 45,140, 70, 35,212,106, 53,106, -223,231,230,230,194,199,199,135,116,119,119,239,149,145,145, 49, 16,141,108,172,168, 63, 97,248,179, 17, 26,250,137, 6,111, 32, -138,115, 79,192,153, 41, 6, 72, 75,208,202, 19, 40, 43,125,189, 40, 46, 82,169,116,195,138, 79,126,125,231,235, 45, 90,135,252, - 66,160,157,223, 56,120,251, 6, 97,246, 12, 61, 62,251,252, 24,220,220,219, 33, 39, 39, 7, 3, 7, 14,100, 21, 20, 20,204,169, -174,174, 94,110, 42,247,197,139,183, 12, 23,206,156, 13,153,244,214,172,174,131, 7,143,212,159, 63,127, 6, 73,137,231,147,231, -188, 53, 81, 74, 27,171, 9, 27, 43, 94, 66,106,202, 93,239,142,157, 7, 64,163, 55,244, 3,194,182, 0, 97,116,227,227, 29,154, -211,167, 29,201,211, 39, 34,102, 76,157,254,118,167,160,160,161,186,243, 23,127,198,189,155, 23, 31,110,221, 50,239,234,103,219, -143, 12, 28, 50,124, 98, 7,123,135, 27,103,252,218,170,231,186,218,138,158,125,191,191, 28,111, 48, 40, 22,151,171, 7, 64, 90, -185,187,187, 28,191,116, 41,187, 51,147,201,176, 4, 12, 52, 77,183, 3, 96, 71, 82,212,170, 83,115,231, 6,248,188,124,144,234, - 1,163, 15, 64, 86, 2, 26, 1,192, 70, 35, 33,115, 40, 46,215,136,151,247, 69,146, 32, 64,211,244,111, 68,214,171, 66,139, 36, -201,102, 13, 0,245, 57,235, 63,139,106, 39,212,187,119,239, 6,135,195, 1,155,205, 6,147,201,108,214,253,162, 62,103,114, 86, -214,160, 3,135, 14,113, 26, 18, 89,101,101,101, 40, 43, 43, 67,117,117, 53,166, 76,153,194, 10,191,123,183, 11, 94,186,126, 52, -198,233,230,232,168, 22,240,120,197,143, 31, 63,118,242,245,245,253, 77,125,229,114, 57,120, 60, 30, 14, 29, 62,204, 10, 30, 53, -234,221,160, 51,103,182,162,153,248, 87, 13,181,157, 32, 8,136,197, 98, 88, 91, 91,131, 32, 8,232,245,122, 20, 21, 21, 33, 57, - 57, 25,119,239,222, 5,131, 32,244,127,101,231,105, 72,139,188,129, 86,173,223, 45, 31,214, 90,180,136,198,172, 47,166, 10, 45, - 6,131,241,218, 86,173,198, 96,202,210, 33,159,207,127, 84, 80, 80,208,199,217,217, 25,122,189,190, 78,104,213,183,196,213, 62, -244,120, 60, 30, 30, 60,120, 0, 62,159,255, 72,165, 82, 53,201, 73,211,116,175,238,221,187, 35, 38, 38, 6, 87,174, 92, 65,102, -102, 38,106,106,106,160, 86,171,161, 84, 42,145,156,156, 12,163,209, 8, 63, 63, 63, 8, 4, 2,240,249,252, 71,181,150,175,198, -160, 80, 40, 10,153, 76,102, 59, 30,143, 87,247,153,163,163, 35,202,202,202,140, 58,157, 14, 7, 14, 28,144, 75, 36, 18, 1,143, -199, 51, 89,184, 18, 4, 1,169, 84, 10, 23, 23,151, 58, 31,173,170,170, 42,136,197,226, 90, 97, 1,181, 90, 13, 11, 11, 11,208, - 52,221,220, 53, 82,165,167,167,127, 80,239,255,110,147, 38, 77,250, 49, 42, 42,170, 77, 92, 92, 28,110,223,190, 13,123,123,123, -108,220,184, 49, 51, 59, 59,123, 42,128,187, 82,233,159,235, 23,105, 74, 31, 42, 43, 43, 59,246,232,209,163, 94,221,187,119,175, -187, 75, 12, 28, 56,144, 24, 56,112,160, 93,125, 83,127, 73, 73, 9,238,220,185,131,184,184, 56, 16, 4,129,180,180, 52,131, 82, -169,252,177, 9,106,150,179,179,243,254,213,171, 87, 11,245,122,125, 93,223,230,241,120,224,114,185, 96,177, 88, 96, 48, 24,200, -206,206,198,216,177, 99, 69,223,124,243, 77,132, 90,173,246, 4,240,187,142,186,108,217,178, 55,210,199, 70,166,132,246, 65,146, - 92,228,231,227,144,188,103,247,103,125,230, 47,120,113,143,216,179,251, 51,189,159,143, 56,249, 65, 82,177,168,171, 24,205, 14, -204,179,113,121,139, 52,186,179,163,207,158,251,101,242,135,203,222, 99,122,120,248, 72,227, 46,223,119, 11,210,127, 74,216,218, - 89,162,172, 84,142,236,220, 98,100,228,104,104, 15, 15, 31,233,189, 59,143, 56,159,111,251,202, 91, 81,163, 58,114,249,106,225, -207,205,208,171,174,221,200, 28,183,117, 7,231,234,172, 57,221,216, 60,158, 19,202, 75, 31,193,205,205, 30, 99,131, 59, 98,223, -193, 27, 16,137,108,224,224,224, 0,146, 36, 5,166,182,189,180,180,148, 56,246,211,181,119,102,190, 61,175,231,176,161,163,244, -231,206,159,166,174, 92, 56,117, 35, 98,207,170,227, 52, 67,193, 39,232, 42, 94,171,214,146,196,103,233, 15,166, 14, 26, 60, 5, - 60,150,133, 23,208,190,193, 14, 91,183,193,128, 70,110, 76, 84, 24,119,230,219,243,123, 15, 27, 54, 70,127,254,252, 9,156, 63, -115,240,214,218,181,173,206,100, 62, 63,204,186,121, 55,159, 59, 46,100, 97, 69,236,217, 39,154,137,163, 91, 63,117, 18,116, 86, - 2,153,111,172,202, 34, 9, 66, 94, 90, 82, 98,201,100, 50,149, 17,211,166,165, 1,128,142,162,202,170, 24, 12,123,130, 32, 82, - 1,164,110, 0,236,192,102, 87, 78,210,235, 13,203,221,220, 88, 84, 97, 33,163,194, 96, 48, 48, 0,246,135,191,207,191, 8, 6, - 69, 21,235,213,106, 87,151, 97,195, 24, 53, 57, 57, 76,161,131,131, 30, 0,116, 58, 93,179, 66, 11,141,108, 90,121,149,211,212, -246,213,212,212,192,216,136, 16,124,149,179, 72, 42,109,245,114, 18, 94, 7,157, 78, 87, 39,178,202,202,202, 32,147,201, 32, 16, - 8, 80,162, 86, 59,152,194, 57,180, 71,143, 3,225, 97, 97,203,163,143, 29, 99,213, 23, 89,181, 47, 38,147,137,205, 91,182,176, -150,124,248,225,194,119, 41,106, 41, 26, 88, 6,109,236,124,214, 78,218, 25, 12, 6, 40,138, 66, 78, 78, 14,114,115,115,145,147, -147,131,156,156, 28,240,120, 60,208,127,241, 38,160, 55,216, 63, 11,245,150, 10,231,191,106,229,106, 50,188, 67, 75,156,225, 77, - 21, 6, 6,131,225, 79, 21, 90, 10,133, 34,238,210,165, 75, 61,198,141, 27, 71,221,186,117, 11, 18,137,164, 78,104,213,254,173, - 93,142,226,243,249, 56,126,252,184, 86,161, 80,196, 53, 51,152, 46,157, 57,115,166,107,104,104, 40,115,246,236,217,120,252,248, - 49, 22, 44, 88, 0,153, 76, 6,185, 92,142,178,178, 50,212,212,212,160, 71,143, 30,224,114,185, 72, 76, 76,212,213,212,212, 92, -106,110,233, 76, 42,149, 86,219,219,219, 59,190,250, 93, 72, 72,136,195,183,223,126, 91,147,146,146,162,235,211,167,143,165,169, -130,163, 22, 63,253,244, 83,157,165,238,233,211,167,248,246,219,111, 65,211, 52,104,154,198,253,251,247,241,197, 23, 95,212,197, - 62,107, 33,238,150,150,150,234,117, 58, 29,188,188,188,224,236,236, 12,149, 74,133,175,190,250, 74, 15,224,238,127,171, 55,171, - 84,170,232, 89,179,102,125,148,144,144,224, 72, 81,212, 11,147,246,203,246,105,181, 90,164,167,167, 35, 57, 57, 25, 41, 41, 41, - 40, 47, 47,175,155, 8, 60,120,240,160, 66,167,211, 29,105,140,215,222,222,126,205,190,125,251, 36,124, 62,255, 55,253,185,214, - 26, 90,107, 37, 45, 41, 41,129,149,149, 21,130,130,130,196,151, 46, 93, 90,163, 86,171, 67,241,207, 0, 17, 50,254,105,183, 37, -139,198, 97, 66, 48, 63, 47, 38,246,249,175, 95,124,254,193, 3,214,187, 21, 0, 0, 32, 0, 73, 68, 65, 84, 75,103,120,113,242, -132, 96,231,188,135,169, 86, 8, 25,127,162, 27,128,124, 52,237,167,101,188,124,181,240,100,247,238,214, 87, 98, 78,157,138, 88, -185, 98,217,253,229, 31,204,179,175, 81, 62,227,122,184,179, 9, 0,200,200,209,208,137,143,141,170, 47,182, 46,187,255,217,150, -111,200,226, 50,217,130, 59,119, 26, 15,111, 80, 95,188,144, 36,184, 30,237,251, 23,120,183,237,219,250,214,141, 67, 16,242,149, -104,215,190, 27,134, 13,237,133, 43,191, 60, 64, 81,137, 10,133,133,133, 80,171,213, 77,134, 75, 72, 73, 60, 62,131, 38,104, 55, -130, 38,114, 9,146,230,206,152, 53,183,223,168, 81, 99,232,216,216, 83,250, 19,199, 15, 93, 63, 18,185, 35,154,100, 49, 41,165, - 70,164, 33, 8, 85, 37,200,164,199,213,138, 23, 19, 26, 38,135,213,184,249,245,101, 96, 87,223, 14,237, 37, 51,102, 45, 16,141, - 28, 49,150, 62,115,230,132,241, 72,212,129, 43, 71,246,250, 31, 50,146,114, 86, 97, 94, 13,167, 82,174,171,164, 9,182, 85,181, -220, 88, 83,156,225,169,114, 26, 21,162, 5,162,223,216, 14, 68, 27,141, 57,180, 70,211, 26, 76,102, 30,173,215, 75,160,211,149, -135,171, 84,207, 63,101,179, 91,253, 31,123,215, 29,223, 84,245,190,159,155,221, 38,221,139, 14, 90, 70,129,210,197,178,128,178, - 87, 89, 45,162, 40,136,162, 56, 25,138,162, 44, 65, 16, 16, 80,134,130,128,130, 44, 21,144,189,161, 32, 80,164,165,140,130,108, -232,166,133,206,164, 77,186,146, 54,251,142,243,251,131,182, 22,236, 72, 10,250, 83,191,121, 62,159,124,114,115,115,239,147,115, -206, 61, 57,247,185,239,121,207,251, 46, 16, 8,158, 1, 69,113,102,138,210,194,100,202, 2, 0,183,220, 92, 31,147,147, 83, 33, -223, 96,104, 3,150,173, 51, 0,178,217,104,204,175,204,203,243,113,235,219, 87,114,111,225, 66,105,179,238,221, 13, 84,149, 15, -113, 67, 66,139,207,231, 3, 60, 30,103, 9,167,165,245,211,235,245,224,234, 9,173,210, 24, 39,195, 48,143,136,172,106,161, 85, -253,127,177,132,115,211,130, 5,151, 3,134, 12, 41,141,143,143,111,214,175, 95, 63,170,162,162, 2, 21, 21, 21,143,136, 45, 95, - 95, 95, 42, 52, 60, 92,186, 59, 46, 46,208,210,246,180, 72, 68,243,120,127,185,208,250,151,163,222, 68,210,130, 70,166,208, 44, - 22, 90, 22, 90,180,104,154,166,225,229,229,133,226,226,226,122,111,252, 60, 30, 15,246,246,246,213,115,196, 13,174,188, 51, 26, -141,171,103,204,152, 49,101,216,176, 97, 30,237,219,183,135, 74,165, 66,179,102,205, 96,103,103, 87,227, 59, 86,205,119,253,250, -117,252,244,211, 79, 26,163,209,184,186, 17,206,111, 87,172, 88,241,193,168, 81,163,220,188,189,189,225,234,234,138,219,183,111, -195,213,213, 21, 26,141, 6,105,105,105,112,116,116,172,241,219, 57,122,244,104,133,209,104,252,182, 17,241, 70, 18, 18, 18,204, -142,142,142,183, 85, 42, 21,191,180,180, 84, 80, 86, 86, 38,208,104, 52, 66,181, 90, 45, 60,121,242,164,135,179,179,179,238,236, -217,179,170,128,128, 0,254,253,251,247,249, 52, 77, 55,170, 94, 41,138,194,212,169, 83, 33, 18,137, 96, 52, 26,177,122,245,106, -204,152, 49,163,198, 39,107,197,138, 21,152, 59,119,110,141,112,222,188,121,179,117, 3, 39, 33, 48,155,205,160,105,218,226, 5, - 10, 79,244, 68,108,153, 96, 47,204,200,200,136,238,214,173,219,233,125,251,246,185, 87,197, 36, 67, 81, 81, 17,138,138,138,160, - 82,169, 80, 89, 89, 9,134, 97,224,231,231,135,162,162, 34, 28, 62,124, 88, 93, 81, 81, 49, 4, 13,172, 56,228,243,249,227,123, -247,238, 45,120,188, 12,213, 79,121,213,226, 93, 34,145, 64, 46,151,163,127,255,254,226,248,248,248,241, 0,254,213, 66,171,118, -120,135,193, 67,222, 17,133,132,245, 48,221, 74,138,201, 11,110, 85,148, 55,110,164,211,113, 0,184,121,183,200,249, 86,154, 11, - 66,194,162,201,224, 33,174, 17, 69,133,155, 58, 0, 48, 55,148,174, 7, 0,156,165,146,209,145,131,186,203, 29,101, 50,222, 55, - 43, 55,255,250,195, 15,223, 62,179,255,248, 31,225, 29,190, 89,249, 48,188, 67,228,160,238, 92,106, 74,234,104, 0, 91, 44, 21, - 47,209,209, 35,110,252,180,245, 39,164, 38,157,245,253,116,106, 71,113,105, 17, 13,123, 7,127, 68,116,110,134, 77, 91,239,224, -214,173, 91,133, 38,147,169,127,131,253,155, 34, 1, 73,201,119,131, 58,132,133,122,191, 62,126,130, 83,116,244, 72,196,196, 28, -193, 47,219,182, 36,188, 52,118,212,143, 5,101, 26,190,151, 80, 42,146, 18, 78,204, 23, 57, 11, 68, 18,123,165,201,244, 48, 2, -129, 80,104,231, 4,140,110,240,198, 51,105,194, 56,231, 1,131, 70,226,248,137, 35,248,101,219,166,115,159,135,189,188,165, 85, -151, 16,170,251, 51, 95, 79,110,213,186, 85, 11,109,101,145,134, 71,137,205, 6, 3,231,248,245,182,236, 85, 89,115,199,103, 1, - 88,137,127,233,170, 67, 49,203,222, 50,154,205,227,252, 35, 34,174,202,175, 94,237,240, 21, 77,187,125, 6,148,126,110, 50,101, -239, 3,242,202, 1,222,196,170, 49,125, 37, 96,167, 23, 8,124,156,121,188,155, 21, 44, 59, 12,124,126, 18,234,126, 16,191,253, -203,240,225,221, 62,202,204, 20,121,246,234,101, 47,143,139,147, 86,101, 34,105, 80,104, 9, 4, 2,144,250,167,186, 30,225,164, -182,111,231, 1, 15,167,252,235, 27,227, 68, 34, 17,116, 58, 29,104,212,107,209,125,132,211,231,212,169,188,204,204,204,118,110, -110,110,143,136,172,210,210,210,154,109,131,193, 0,157, 78, 7,123,123,251, 36,125,221, 51, 34,143,112, 22, 37, 36, 24,150, 77, -157, 58,255,213,177, 99,215,158,249,237, 55, 59,119,119,119,168,213,234, 71,132,150,201,100,194,128,129, 3, 69, 43,110,220,120, - 29, 26,205, 2, 75,218,179, 89,255,254,141,250, 3,243,249,124,112,127,241,212,225,127, 0, 19,234, 18, 94,188,198,166,112, 44, - 93,117, 88,207, 13,242,241,213,125,115, 35, 34, 34, 12,233,233,233, 8, 8, 8,168, 17, 43,181,127,211,201,201, 9, 46, 46, 46, -184,126,253, 58,190,252,242, 75, 61,128,185,141,112, 86,232,116,186, 87, 34, 35, 35,245, 2,129, 0,193,193,193, 53,241,179, 56, -142,131, 88, 44,134, 76, 38,195,141, 27, 55, 48, 98,196, 8,157, 78,167,123, 5,127,142,161,245, 56,167, 90,167,211,189, 54,120, -240, 96, 93,114,114, 50,122,247,238,141, 91,183,110,161,178,178, 18,149,149,149,120,240,224, 1, 66, 67, 67,161,211,233,176,126, -253,122,189, 78,167,123, 13,128,186, 33,206,138,138,138, 17, 51,102,204,224,239,218,181,171,149,159,159, 95, 88,215,174, 93,219, - 15, 28, 56,176,205,139, 47,190,216, 98,248,240,225, 62,237,218,181, 51, 12, 25, 50,196,115,216,176, 97,158, 58,157, 78,120,241, -226, 69, 5, 77,211,195, 26, 41,103,141, 56, 73, 79, 79,175,153, 42, 20, 8, 4, 40, 46, 46,174,137,220, 95, 61, 40,213, 35,132, - 7, 53, 38,182,171, 5, 86,181,224,178,192,207,173, 46,206, 70, 79, 18,139,197,213, 22, 79, 98, 1,231,205,148,148,148,200,190, -125,251,222,124,231,157,119, 42, 10, 11, 11,225,232,232,136,192,192, 64, 4, 5, 5,193,195,195, 3,102,179, 25,135, 14, 29,210, - 30, 62,124,248,142, 90,173,238,143, 63,199,208, 26,244, 88, 59, 62,168,107,144,173,182,102, 85, 11, 45, 59, 59, 59,248,249,249, - 85,183,237, 3,107,218,179,137,248,107, 57,171, 4,204,192, 1, 67, 90, 15,143,122,193,249,208,145, 75,226,181,235, 14,223,137, - 24,132,205,238, 45, 53, 71,221, 91,106,142, 70, 12,194,230,181,235, 14,223, 57,116,228,146,120,120,212, 11,206, 3, 7, 12,105, -157,156,148,218,190,118,222,195,186,202,105,103,103,215,163,119,175,136,178,248, 11,231,184,165, 43,190,231, 13,232,255,210,141, - 45, 63, 30, 58,180,229,199, 67,135, 6,244,127,233,198,210, 21,223,243,226, 47,156,227,122,247,138, 40,179,179,179,235, 97, 73, -221, 39, 77, 24,231, 28, 53,124, 36, 98, 98, 14, 49,251,119,175, 95,177,231, 64, 70,223,119,167, 36, 20,165,167,223, 34,202,252, - 83, 16,242,114,144,146,146,162,174, 18, 89,233,150,112, 78,124,111, 92,109,145,117,222,221,187,247,230,148, 20,176,177,177,199, -232,223,126,187,161, 63,127, 83,169,190,150, 92, 92, 42, 87,149,222,215,104, 74, 76, 28,199,130,101, 89,254, 23, 95,212, 56,236, -214,121,141,122,246,236,135,179,103,118, 98,219,214,141,106,142,131, 97,244,254,253,236,232,209, 11, 73,139,150, 45, 91,236,216, -189,147,138,126,254, 5,103, 2,112, 35, 70,141,116,217,181,103, 23,213,186,109,235,150,129,129, 53, 33,109,254,117,125,233, 83, -160,146, 2, 82, 20,191,255,222,213,161,119,239,219,140, 80, 24,180, 72, 36,106,179, 6, 16,143, 6,216,137, 0,189, 0,224, 45, - 0,252,244, 2, 65, 39,123,134,185, 85,161,211, 53, 7,128,197,132,220,175,139,115, 33, 80,166,201,201, 57,119,253,251,239,141, -205, 94,121,197, 77,220,172,153, 19, 88,150,170, 30,223,235,123, 9, 4,130,199, 45, 48,245,114,250,121,120, 20, 28, 61,122, 20, - 65, 65, 65,240,243,243, 67,109, 31,217,234,128,220,238,238,238, 56,112,224, 0,200,163,193,169,235,229,236,210,170,213,245,229, -203,150,153, 56,142, 67, 89, 89,217,159,172, 89,101,101,101,224, 56, 14, 39,142, 31, 55,105, 30,102, 2,177,168,238,253,249,252, -202, 87,251,244, 89, 26, 21, 21,101,206,204,204,172, 89,121, 93,109,217, 82, 42,149,112,112,112,128,193,104,244, 7, 32,181,132, - 83,121,242,164, 12,141,140,235,117, 88,180,254,138,190,244,111, 23, 89,181, 19, 74, 79,176,200,162,197, 48, 12,252,253,253, 31, - 73,233,194,227,241, 30,121, 89,185,226,112,123,114,114,242,169, 33, 67,134,204,127,246,217,103, 39,205,159, 63,159,223,190,125, -123,168,213,106,184,186,186,194,203,203, 11,105,105,105, 56,122,244, 40, 91, 92, 92,188, 1,192, 34,212, 17,192,174, 14,196,101, -100,100, 68,119,236,216,113,207,236,217,179,157, 7, 15, 30, 44,244,247,247, 7, 33, 4, 55,110,220,192,193,131, 7,205, 91,182, -108,209, 84,137,172, 56, 11,203,122, 90, 46,151,191, 52,108,216,176, 29,227,199,143,119,100, 89, 86,248,224,193, 3, 24,141, 70, -208, 52,141,220,220, 92,115, 76, 76, 76,165, 78,167, 27, 7,224,180, 5,124,215,203,203,203, 67, 99, 99, 99,199, 95,188,120,241, -203,119,222,121,199,125,224,192,129, 34,134, 97,112,225,194, 5, 85,151, 46, 93,188,148, 74,165,249,192,129, 3, 37, 6,131, 97, - 46,203,178, 22,165,224,161, 40, 10, 26,141, 6, 30, 30, 30, 48, 26,141,224, 56, 14, 38,147, 9, 14, 14, 14, 53,105,147, 8, 33, -176,198,185,254,177, 62,192, 55,155,205, 24, 59,118, 44, 56,142,195,234,213,171,193, 48,140,213,100,206,206,206,215,110,222,188, - 25,221,185,115,231, 26,241, 82,221,135, 36, 18, 9, 60, 60, 60,224,238,238,142,152,152, 24, 8,133,194,107,141,249,187, 85,225, - 86,113,113,113,151,216,216,216, 30,119,238,220,121, 3, 64,103,179,217,236,199,178, 44,197,227,241, 20,132,144,219, 26,141,230, - 71, 88,152,130, 71,169, 84,126,249,230,155,111,118,217,185,115,167,131, 64,240,199, 95, 67, 32, 16, 64, 34,145,160, 58, 56, 38, - 33, 4, 38,147, 9,243,230,205,211,104,181,218, 47,255, 43,163, 68, 68,215,238,216,180,126,141,195,111,103, 79,169, 82, 50,112, -208,213, 53,229,241,254,151, 95, 84,184,169,131, 60, 47,207, 33,162,107,119,139, 56,105,147,185,228,181,113,211, 2,170, 82,240, -204,123,240, 32,123,227,142,237,171,178, 0,224,235,111, 87,183, 43, 42, 41,159,152,146,156, 58,122,195,134,221, 61, 24,179,185, -196, 18,206, 63,196,203, 14, 53, 8, 12, 0,174,220,184, 83,212,106,196, 43, 39,231,182,109,237,244,188,178, 68, 95, 80, 89,169, -251, 16, 64,150,165,117,239,213,179, 47,206,158,222,133, 95,182,237,208, 16,142,111,240,240,240, 32, 0,144,146,226, 65, 82, 82, -202,201, 31,126,197, 46, 90, 33,185,181,104,218,135, 3,167,169, 53,165,223,174, 94,223,240, 84, 74,199, 78,207,162, 99,167,103, - 49,229,195,207,156, 67,195,130, 3, 0, 96,255,126,176, 97,109,147,143,205,255,124,225,243,139, 22, 45,132,166,194,136,234,116, - 61,105,119,147,143,103,101,193,244,111,238, 71,243, 25,230,194, 34, 66, 94,212, 37, 36,116,232, 49,115,230,239,231,191,249,166, -149,154,207,239,249, 5,192,241, 40,138, 5, 33,246, 60, 30, 79, 33,163,233, 27, 21, 98,177, 15,197,113,207, 56,178,236, 33,186, -129,252,159,243, 25,230, 10,166, 77,107,167, 43, 45,245,236,245,233,167, 30,130,153, 51,121, 13, 57,195,215,254,255, 90,194,121, -245,246,237,227, 19,223,125,183, 96,193,252,249, 67, 54,108,220,104,223,161, 67, 7, 20, 22, 22, 34, 56, 56, 24,126,126,126,136, -141,141,197,129,189,123,181,229, 21, 21,115, 1,252, 96, 9,231,246, 19, 39,210,218,135,133, 21,111,220,184,209, 55, 42, 42,138, -210,106,181, 80,171,213, 80,171,213, 48, 26,141,168, 10, 8, 77,210, 51, 50, 82,104,154,222, 96,105,221, 89,149,202,110, 81,247, -238,249, 34,142, 91,254,210,168, 81, 51, 22, 45, 94, 44,105,221,186, 53,101, 52, 26,107,172, 90,102,179, 25, 14, 14, 14,102,147, -201,228,142, 58,252,222,234,226,148,108,217,194,168, 84, 42,120,122,122,214,132,107,170, 29,151,176,162,162, 2,132,144,255,108, - 2,244,191, 18,245, 42, 36, 87, 87,215,107, 2,129,160,121,109,235, 86, 93,185,243,106,239,163,105, 58,191,184,184, 56,226, 49, -197, 91,159, 63, 84, 32,128,175, 6, 12, 24,240,210,244,233,211,169,248,248,120, 28, 62,124,152,100,101,101,237,175,178, 98,101, - 53,240,244, 84, 31,167,163, 68, 34,249, 88, 38,147, 13,170, 14,225, 32,149, 74,239,104,181,218, 51, 85,211,133, 21, 77,224,116, -146, 72, 36, 83,101, 50, 89,100, 85,250, 21, 56, 58, 58,222,212,106,181,177, 70,163,113, 13,234, 79, 84,221, 16,167,189,179,179, -243,151, 30, 30, 30,175,205,156, 57,211, 61, 33, 33, 65,113,246,236, 89, 81,121,121,249, 78,147,201,212, 80, 82,233, 63,113,186, -185,185, 93,227,243,249,205,255,162,107,132,142, 29, 59,198,140, 24, 49, 34,106,220,184,113,160,105, 26, 63,252,240, 3, 98, 99, - 99,143,223,187,119, 47,186,145, 39,220,199, 57, 61,154, 55,111, 30, 63,105,210,164, 22, 99,199,142,149,186,186,186, 66, 32, 16, - 64,171,213,226,222,189,123,184,113,227, 6, 57,114,228, 72,229,245,235,215,243,117, 58, 93, 63, 0,197, 86,180,231,147, 60,137, - 63,194, 41, 16, 8,250,250,251,251,239, 94,176, 96,129, 99,100,100,164,189,187,187, 59,248,124, 62,104,154,134, 66,161,192,221, -187,119,113,234,212, 41,237,254,253,251,181, 37, 37, 37, 99, 1,156,251,255, 40,231,211,228, 12,105,135,207, 31, 75, 20, 93,111, -180,247, 70,142,109,180,156, 3,250,250,140, 28,253,210,176,161,132, 16,236, 59,112,242,100, 92, 66,163, 73,165,235, 45,103, 99, -101,181,132, 51,184, 45,111, 65, 82,242,221, 71, 2, 90,134,133,134,167,135,116, 24,181,196, 18,162, 90,145,225, 31,169,123,173, -233,216,218, 54,221, 71,166, 89, 67, 2, 17, 61,114,244,139, 81,159,205,157,131,175,190, 92,138, 35,251, 14, 29, 79,201,122, 36, - 77,208,191,174, 47,213,190,183,124,193,231, 15,224,241,120,254,148, 88,252, 59,173,213,102, 56, 2,194, 10,128,255, 5,160, 93, - 36, 18,181, 1,203,134,129, 16, 65, 5, 69,197,124,195,178,174, 0,228,141,113, 46, 17, 8,158,149,250,248,244, 89,205,113,115, -110,221,189,235, 80,251,129,173,218,242, 92,251,161,210,215,215, 87,169, 80, 40,154, 89,194, 25,253,221,119,102,157, 76, 38,153, -179,124,121,223, 74,131,161,239,162, 69,139, 4, 87,175, 94,197,250,239,191,103, 12,249,249, 59, 84,192,212,122,102, 67,234,229, -108, 49,117,170,221,172,245,235,223, 10,108,219,214,235,141, 55,222, 16, 10,133, 66,104,181, 90,228,229,229,225,244,169, 83,166, -228,148,148,100,141, 70,243,188, 53,117,143,254,238, 59,179, 75, 96, 32,164,158,158,228,183,184, 56,231,137, 31,127, 60,169,101, -171, 86,206, 67,134, 14, 21, 58, 57, 57,161,172,172, 12, 15, 30, 60,192,161, 67,135,148,149,149,149,190, 0, 88, 75, 56,119, 92, -188,216,241,196,185,115, 47, 47, 89,178, 68, 28, 30, 30, 14,103,103,103, 84, 84, 84,224,238,221,187, 56,119,238,156,113,195,134, - 13,106,181, 90, 61,137,101,217,163,127, 97, 95,250, 79, 78, 29,254,213, 30,254,150, 92,136, 8, 0,159, 87,109, 47, 70,227, 57, - 3,255,205,131,207,227, 8,112,115,115,219,100, 48, 24,136, 94,175,159, 8, 32,247, 31, 88, 78, 65, 68, 68,196,122,165, 82,217, -131, 16, 2,103,103,231, 75, 73, 73, 73,239,163,158,149, 55,141,112,242, 1,244,112,112,112,232,238,232,232,216,215,104, 52,134, - 84, 77,191,165,104,181,218,115,102,179,249, 74,149,245,137,253,127,174, 59, 31, 64,164,175,175,239,187, 28,199,181,165, 40,202, -133,101, 89,208, 52, 93,206,113,220, 61,181, 90,189, 5, 64,236, 63,160,156, 79,133, 51,180, 13, 94, 36, 60,132,212, 39, 8, 30, - 17, 90,143, 9, 8,138, 67, 74,114, 38, 14, 89, 81, 78,222,208, 65,254,235, 56, 22, 56, 29,151,247, 1, 26,119,174,253, 67,104, - 89, 32, 94,172, 22,153,109,248,111, 18,138, 60,194, 73, 17, 42, 55,184,227,139,191, 60,137,208,178, 20,161, 65,232, 11,130, 30, - 28,193,149,212,123, 56,251, 95, 27,235, 22, 0,205,120, 60, 94, 55,138,199,107, 67, 0, 45, 69, 81, 12, 8,113, 3, 33,153,224, -243,147,230,155,205,153,168, 59,129,121,189,156, 95, 1,110,223,187,186, 94,226, 9, 4,222, 0,120, 85,214, 23,142,163, 40,150, - 80, 20, 83,123,122,235,177, 7,203, 6, 57,205, 64, 7,161, 68,226,207, 50, 76,179, 66,192,225, 4,203, 62, 99, 32,164,178, 57, -240,249, 77, 32,205,218,186, 87,115,242, 37,146,128, 19,132,140, 84,201,100, 29,149,122,189, 39, 0,226, 32,147,165,104,180,218, -109, 6,131, 97,157,181,117, 55, 3, 29, 68, 18, 73,115,150, 97,154, 1, 0, 79, 32, 80,238, 49, 26,253,243,157,156,222, 48, 24, -141, 45, 28, 28, 28,104,147,201,164, 49, 24, 12,227, 24,134,249,205,154,186,223, 99,152,208,139, 60, 94,111,179, 76,230,110,166, - 40,153,137, 97,204, 38,179, 57,207, 96, 48,220, 1,176, 10, 64,230, 95,220,151,108,104,226, 31,208,198,105,227,180,113,218, 56, -109,156,255,227,156,203, 0,167,175, 0, 55, 91,123,254,165,156, 82, 0, 1, 85, 15,139,255,198,186,255, 39,173, 91, 2, 91, 91, -216, 96,131, 13, 54,216,240, 87, 99,118,253,110, 22, 54, 60, 61,232, 80,135, 79,150, 13,255,191,160, 26, 80,165,214,152, 4,155, -162,108,207,216, 56,109,156, 54, 78, 27,167,141,211,198,105,227,252,159,227,108,140,251,223, 56, 37, 57,161,142,125,155,254,142, - 31,182,153,127,109,156, 54, 78, 27,103,157, 24, 49, 98, 4,207,214,158, 54, 78, 27,167,141,243,191, 14,158,173, 9,234, 69,179, -170,215,211, 62,214,134,255,118, 95,248, 59,224, 87,245,178,230,120,159,127, 90,163, 30, 59,118,140, 3,128, 59, 41,119, 37, 21, - 21, 21,182,177,200, 6, 27,108,176, 9,173,191,249,166,245, 36, 55,183, 39,189, 49, 46,165, 40,200, 41, 10,114, 0, 75,159,226, -177,141,193,215,195,195,227,163,208,208,208, 29,205,154, 53,155, 2,192,203,202,243,219, 73,165,210, 53, 50,153, 44, 94, 38,147, -197, 75,165,210, 53, 0,218, 61,165,235, 70, 1,152, 40,145, 72,226,124,124,124, 10,196, 98,113, 28,128, 73,104,250,202,213,246, -120, 24, 39,109, 49,128,142,214,156,232, 21, 54,114,175,103,216,200,219,158, 97, 35,239,186,135,143,104,231, 25, 54,242,174,103, -216,200,219, 94, 97, 35,247,254, 5,253,245,105, 94,223,167, 85,158, 92,138, 66,174,133,229, 89, 69, 1,121, 20,133,252,127, 72, -249,255,132, 14, 33,225,198,209, 99,198,216,219,134, 99, 27,108,176,225,127, 30,190,190,190, 47,249,248,248,156,241,241,241,137, -245,245,245,125,201,130, 83, 6,213,113,147, 96, 41, 10,108, 35,131,126, 67,199, 53,102,174,172,125,238, 55, 22, 86,173, 54,103, - 51,138, 2, 75,170, 64, 81,224,188,188,188,214,250,248,248, 44,125,252,229,229,229,181,150,162,192,213, 58,150,173, 37,240,172, - 53,171, 54,123,253,245,215,247,149,149,149,197,152, 76,166,152,140,140,140,152,126,253,250,237,121,204, 18, 81, 47,167,157,157, -221,171,221,186,247,184,126,238,194,149,140,244,123,217,242,228,180,251,217,199, 78,254,118, 53,188, 67,199,223,237,236,236, 94, -181,226, 26, 81, 0, 38, 10, 4,130, 56, 7, 7,135,124,129, 64, 16, 7, 96, 50,159,207, 63,186,108,217,178,236,164,164,164,162, -139, 23, 47,150,159, 59,119,174,224,157,119,222,185, 71, 81,212,177, 58, 4,251, 32, 11, 44, 48,243,115,114,114, 78, 42, 20,138, - 83,246,246,246, 95, 90,112,124, 13,167,103,216,200,219, 74,181,153, 40,213,102,226, 25, 54,146,212,218,190,109,101,155, 55,118, -141,254,212, 23, 36, 18, 73, 64, 35,130,254,175, 52,209,255,169, 60, 0,188,171,190,139, 0,240, 93,213,171,122, 57,187,183,157, - 68,242,180,250,231,211,104, 79, 27,167,141,211,198,105,227,252,175,162, 75,213,187, 15, 30,250,107,213,220,187,173, 93,117,248, - 65, 70, 70,134, 3, 0, 4, 5, 5,189, 15,224,128, 53, 66,130,162, 48,139,227, 8, 15, 0,120, 60,234,211,254,253, 7,116,177, -183,183,127, 36, 10,178, 94,175, 23,199,197,157, 29,200,113,132,170, 58,110, 22, 33, 88, 3,160,200,210,223, 48,153,140, 60,161, - 80, 12, 30,143,154, 22, 30,222,161,101,113,113,113, 2,143,199,219, 81, 80, 80, 80,102,181, 25,135,162,176,121,243,230, 32, 31, - 31,159, 63, 69,107, 86, 40, 20,226,145, 35,159,183,138,239, 77, 64, 98,148, 72,186,139, 40,202,135,101, 24, 23, 0, 16, 8, 4, -101, 87,197,226,136,175,150, 44,145, 82, 20,197,149,148,148, 64,175,215,227,147, 79, 62,177, 79, 78, 78,126,161,184,184,120, 93, - 35,180, 65, 29, 59,117,249,228,212,169,147, 33,154,210, 50,195,230,111, 55, 94,215, 11, 68,186, 86,161,193,162,245,155,182,185, - 78,120,107,220,135,169,169, 73, 55, 81,119, 58,146,218,224, 1, 56,244,241,199, 31,135, 69, 71, 71,139, 43, 42, 42,236,244,122, -125,203, 29, 59,118,204,139,136,136,112,232,220,185,179,120,247,238,221,148, 90,173, 6, 33, 68, 26, 28, 28, 76,198,140, 25, 99, -216,179,103,207, 20, 0,107, 27, 16,190,179, 30,182, 37,111,117,251,246,237, 23, 0, 64, 70, 70,134,168, 86, 27, 11, 67, 66, 66, -100, 0,144,150,150,246, 5, 33,220,199, 0, 64, 8, 86, 0,152, 83,135,105, 45, 35,172,215,104,128, 66,219,164, 11,251,236,194, -122,143, 54,128,224, 30, 5,100, 84, 61, 16, 44, 2,106,197,133,122, 20, 41,114,185,188, 73,185, 9,163,162,162, 41,138,162,246, - 95,191,126,253,128, 82,169,108,197,113,236,123, 13,149,179,190,107,229,233,233,121,138,101, 89, 99,105,105,105, 77,160, 76,207, -142, 47,246,112,119,148, 13, 84,149, 85, 36,148, 36, 31, 57,103, 97,223,164,220,221,221,223, 44, 46, 46, 94, 10,224,221,148,148, -148, 46, 0, 16, 18, 18, 34, 2,112,205,201,201,169,167,217,100,162,108,227,159, 13, 54,216, 96,195,223, 34,180,110, 0,136,194, - 31, 41,120, 54, 53, 69,104,137, 1, 32, 33, 33, 1, 0, 36, 77, 40, 8, 85, 91,192, 76,157, 58, 21, 62, 62, 62,143,139, 23,196, -199,199, 61, 73,101, 31,249,141,197,139, 23, 59,148,151,151, 15,250,241,199, 31,251, 16, 66,190,145,203,229,151, 27, 57,191,136, - 16,172,224,241,168, 79, 41,138,130, 68, 98,151, 62,105,210,164, 27, 85,223,181, 60,118,236,152,116,196,136, 17, 58, 0,217, 0, - 32,145,216,249,241,249,188, 32, 66, 72,245, 13,183, 94, 65,248, 50, 16,200,136,197, 3, 38,126,247, 29,243,204,136, 17, 2,153, -167, 39, 5, 0,217,169,169,238, 43,190,254,186,103, 89, 86,150, 88,239,238, 94, 82,162,213,234,211,211,211, 33,145, 72, 40, 62, -159,255, 76, 99, 21,150,201,100, 31, 45,249,106,185, 76, 83, 90,174, 55,104, 42, 76,124,134, 54, 58,218, 75,217,162, 66,101,137, -131,189, 76,247,233,231, 11,197, 31,188, 55,254, 35,173, 86,251,126, 35, 84, 83,166, 77,155, 22,210,173, 91, 55,191,189,123,247, - 82,106,181, 26, 2,129,192,161,115,231,206,136,136,136, 96,207,158, 61, 75,181,106,213, 10,225,225,225,184,112,225, 2, 46, 93, -186, 68,117,233,210, 69,122,240,224,193,215,105,154, 94,219,152,184,230,243,121,159, 4, 7, 7,119,150,201,100,166,160,160, 32, -188,247,222,123, 32,132, 96,208,160, 65,225, 14, 14, 14, 7,180, 90,173, 56, 45, 45,181, 79, 99, 34, 91,153,116,100, 76,181,101, - 11, 64, 7, 16,220, 83, 37, 29,169, 61,253, 24,146,150,150,246,108, 89, 89, 25, 30, 94, 23, 82,147,192,188, 79,159, 62,214,244, -165, 34, 66,176, 98,196,136,232, 79, 1,138, 26, 52,104, 80,249,148, 41, 83,120,169,169,169,175,189,248,226, 11,225, 25, 25,247, - 96,229,195, 64,208,224,193,131, 47,156, 56,113,194, 61, 40, 40, 72, 85, 90, 90, 90,243,133,183,187,203,144,115, 7, 87,127,244, -229,154, 29,193,219, 9, 85,174, 74, 57,124,167,145,190, 73,189,249,230, 91, 69, 14, 14, 14,163,246,239,223,159,166, 80, 40, 4, - 34, 81,141,118,229,123,121,121,121, 6, 5, 5, 77,118,115,115, 83,242,121, 60, 47, 2, 66, 26,235,159,255,223,200, 72, 79, 21, -182, 11, 10,166,109,227,181, 13, 54,216,240, 47,196,241, 42,113,117,252,241, 47, 4, 0, 16, 19, 19, 83, 19,153, 54, 58, 58,186, -222, 39, 96, 66, 72,209,173, 91,183,252,117, 58, 29, 8, 33,150, 12,216,181,151,104, 22, 81, 20,111, 61,143, 71,189, 79, 81, 20, -194,195, 59,220, 95,189,122,117, 93, 57,189, 76,225,225, 29,238,243,249,188,214,132, 16, 80, 20,239, 7, 66,184,162,122, 56,235, -188, 17,137,197,146, 89, 0,224,237,237,147,245,235,175,191,154, 94,126,249,101,124,253,245,215,162,217,179,103,207, 16, 8, 4, - 83,114,115,115, 11, 27, 40, 39, 0,204,241,244,244,146,110,222,188, 57,104,210,164, 73, 55, 20, 10,197, 28, 0,240,241,241, 89, - 10, 32, 20, 64,118,173,125,216,176, 97, 79,193,123,239,189,151,174, 84, 42,231,212,199, 57, 10,104,227, 31, 28, 60, 96, 81, 66, - 2,225, 25,141, 84,241,249,243, 26, 85, 81, 17,157,169, 82, 73,183, 94,187, 22, 61,111,233, 82,161,127, 64, 0,226,143, 30,245, - 40,214,233, 84,106,163,209, 80, 84, 84, 68, 24,134,185,100, 65,221,195,188, 60,189,164, 27, 87,253,112,213, 81,200,231,188,154, -251, 81, 66, 55, 55, 1, 79,234, 36,230, 11,120,198,214, 45,219,137, 1,132, 53,118,141, 68, 34,209,235,131, 7, 15,150,238,217, -179,135, 10, 15, 15,135,139,139, 11,206,159, 63,143,155, 55,111,162,172,172,140, 71,211, 52,186,118,237,138,229,203,151, 35, 32, - 32, 0,229,229,229,200,205,205,245, 16,139,197,158, 52, 77,215,215,158,143,244,167, 89,179,102,193,199,199, 7, 12,195,160,180, -180, 20, 12,195,192,193,193, 1, 0,144,159,159,143,163, 71,143, 88,210,151, 26, 5, 33, 4,207, 61,247, 92, 5, 69, 81, 41,143, - 91,180,172,225,244,243,243,219,173, 82, 21, 15, 27, 48, 96, 0,202,202,202,232,133, 11, 23,162, 99,199,142, 8, 10, 10,106,180, -156,190,190,190, 19, 25,134,153, 15, 0,102,179,121,171,157,157,221,219,191,252,242,139,123,237, 20, 33,213,150,172, 34,101, 73, -217,165,171, 73,105,211, 38,190,220, 47,225,242,221, 60,179,112,100,174,250,246, 17,117, 29,229,156, 35, 18,137,127,108,209,162, -197,170,169, 83,167,250,184,185,185,193,104, 52,206, 43, 44, 44,196,228,201,147, 1, 0,195,135, 15,239, 40, 20, 10,127,125,231, -157,119,208,170, 85,171,130,210,210,210,220,235,215,175,191,167,211,233,238, 54,181, 61, 45,196, 19,113,214, 35,178,254,113,229, -180,113,218, 56,109,156,127, 13,167,165, 90,228, 31, 10, 5, 30, 13,231,176,233, 17,161, 21, 29, 29, 77,197,196,196, 16, 11, 42, - 86,210,188,121,115,127,123,123,123, 0, 40,177,182, 20, 28,199, 77,113,119,119, 87,206,153, 51,167, 87, 80, 80,144,105,202,148, - 41,119,179,179,179,231,214, 62,166,101,203,150, 95,126,255,253,247, 72, 79, 79,207, 94,186,116,233,133,146,146, 18,107,243,152, -205, 38, 4,171,171,172, 99,197, 71,143, 30,237,152,144,144,240,254,183,223,126,235,249,193, 7, 31,136, 62,250,232,163,113, 0, -190,110,140,132,207,231,235,234,154, 46,172, 11, 62, 62, 62, 38, 62,159, 95,111,144,184,104,192,222, 78, 44,238,191, 40, 33,129, -152,178,179,117, 63,173, 92,233,184,241,247,223, 23,208,132, 52,243,242,242, 66,239,158, 61, 43,237,248,252, 98,101, 97, 33,231, -213,166, 13,255,193,175,191,122,232,197, 98,249,158, 61,123,212, 37, 37, 37,135, 27, 53,225, 81,148,134, 35,196,228,208, 60,128, -126,249,133,200,240,171, 87,110,166, 58,122,121,240,186,116, 14,239,152,154,158,125, 29, 28,103,166, 40,170,209, 96,129,206,206, -206, 65, 37, 37, 37,208,104, 52,240,244,244,196,234,213,171,225,237,237, 13,157, 78,135,164,164, 36,210,188,121,115, 42, 33, 33, - 1,205,155, 55,135, 74,165,130,201,100, 66, 69, 69,133,210,104, 52,214,151,155,177,136,199,227,255,204,227, 81,111, 81, 20,133, -214,173, 3,115,214,173, 91,103,226, 56, 14, 33, 33, 33,120,241,197, 23,113,240,224, 65, 36, 37, 37, 85, 91,158, 76, 45, 90,180, -204,225,241,168, 22, 85, 90,169,201, 22,152,234,212, 62,114,185,124, 84, 19,255, 52, 60, 95, 95,223,113,109,219,182,125,255,213, - 87, 95,165,197, 98, 49,180, 90,109,117, 91,208,195,134, 13, 47, 31, 49, 34,218,249,248,241,227,245,150,211,108, 54,207, 47, 40, - 40,240,209,235,245, 24, 58,116,232, 71,223,124,243,141, 76, 44, 22, 3, 0, 88,150,125,196,146,181,228,219,237,167, 62,158,191, - 46,238,212,238,229,190, 75,102,191,221,111,220,148, 47,227, 0,156,172,171, 96, 38,147, 41, 75,173, 86,191, 59,109,218,180, 29, - 27, 54,108,112,157, 59,119, 46, 56,142, 3, 33, 4, 12,195,212, 36, 18,231, 56, 14,135, 14, 29, 66,102,102,230,151,143,137, 44, - 27,108,176,193,134,127, 28,172,208, 34,255, 68,248,224,225,180, 33, 30, 23, 91,127,123,100,120, 62,159,191,241,244,233,211,157, -251,244,233, 35, 24, 56,112, 96,248,201,147, 39,195, 11, 10, 10,238, 86, 89, 15,194, 7, 14, 28, 24,238,229,229,133, 53,107,214, -232,248,124,254,198, 38,254, 76,205, 77,175,176,176,240, 6,128,111, 14, 30, 60,184, 98,226,196,137,240,246,246, 14, 85, 40, 20, -127,107,157,157, 36,146, 46,239,172, 94,205, 8,105,154,247,221, 55,223, 56,173,140,139, 91,177,119,223, 62,193,115,207, 61, 71, - 17, 66,112,231,246,109,251,229,107,215, 74,199,190,240, 66,118, 90, 86, 22,115,228,212, 41,186,168,160,160,180, 64,165,154, 15, -160,180, 49,126,154,166, 19, 51, 50, 50,124,123,247,125,206,239,220,239,119,111,190,252,194,240, 1, 66, 1,143,186,151,157,127, -205,199,219,195, 57, 62,238,140,158,166,233,196,198,120,180, 90,237, 3,134, 97,220, 8, 33,158,241,241,241,240,244,244, 68, 89, - 89, 25,104,154,134,201,100, 50,233,116, 58,187,146,146, 18, 24, 12, 6, 24,141, 70, 56, 57, 57,225,206,157, 59, 69, 12,195,156, -173,143,147,101,217,119, 36, 18,201, 98,161, 80, 40, 22,137, 68,242,107,215,174, 65,163,209,180,116,113,113,249,154, 97, 24,200, -229,114, 36, 36, 36,204,116,114,114,202, 6, 0, 59, 59, 59,136,197, 18,119,163,209,200, 0, 40,104,106,155, 19, 66,154,124,189, -188,189,189, 3,236,237,237, 23,125,250,233,172,144, 78,157, 58, 67,165, 82,129,227, 56,200,100, 50,232,116, 58, 56, 57, 57,161, - 71,143, 30, 15, 22, 45, 90,164, 32, 4, 19, 26, 16,131,252,170,235,131,137, 19, 39,202,156,156,156,144,151,151,135,224,224,224, - 26,161,165, 80,149,220,185,120,245,110,234,180, 73,163,251,238, 60, 26,151,114, 42,254, 90,202, 11, 67,123,118,162, 40,210,178, -161, 50, 42,149, 74,149, 64, 32,152, 50,113,226,196,197, 65, 65, 65,173, 9, 33,104,215,174, 29, 6, 15, 30,140, 95,127,253, 21, -233,233,233,208,106,181,236,229,203,151,119, 41, 20,138, 99,182, 33,220, 6, 27,108,176,225, 47,197,159,124,179, 30,177,104,253, -157, 80, 42,149,170,212,212,212,147,215,175, 95,143, 30, 51,102, 12,226,227,227,223, 4, 48, 13, 0, 36, 18,201,155, 99,198,140, -193,245,235,215,145,154,154,122, 82,169, 84,170,158,198,111,138,197, 98,131,201,244,208, 56,101,103,103,103,103,229,233, 45,171, -166, 12, 1,160,101, 3,251,234, 55,141, 8, 4, 62, 29,134, 14, 21,148,221,188,169,217,124,229,202,226, 29, 59,118, 8,122,245, -234, 69,209,102, 51, 88,142, 67, 96, 96, 32, 53,112,208, 32,217,207, 59,118,184,177, 90,109,194,146, 79, 63, 61,191,233,157,119, - 42, 51,170,252,192, 26,131,209,104, 92,251,254,228,119, 7,197,197,159,247, 11, 13,110,227,118,242,116,220, 13,119,119,103,105, - 80,219,182,178,146,178, 82,118,238,236,153, 2,163,209,248, 93, 99, 60,122,189,254,208,153, 51,103, 94,240,247,247,247,188,123, -247, 46, 76, 38, 19, 88,150,197,192,129, 3, 65, 8,145, 0,224, 4, 2, 1, 82, 83, 83, 97, 54,155,149, 25, 25, 25,242,123,247, -238, 73, 0, 44,107,164,124, 57, 70,163, 17, 41, 41, 15,103,237,154, 55,111, 30, 25, 21, 21, 5,134, 97, 48,116,232, 80, 28, 57, -114, 36, 50, 37, 37,101,101,109,205,247,164,215,188,202, 66, 22,226,235,235,123,176,106,151, 69, 78,240,126,126,126,225,129,129, -129, 27,150, 45, 91, 38,106,222,188, 57, 8, 33,112,117,117,129, 78,167, 67,113,113, 9, 66, 67, 67,225,239,239,143,101,203,150, - 1,192,174,134, 44,110, 28,199, 65,161, 80,224,193,131, 7,200,202,202,130,191,191, 63, 40,138, 66, 69, 69, 5, 24,230, 97, 78, -110,105,133,230,248,247, 63, 31,235,191,111,195,252,176,238, 29,218, 5, 92,185,145,172,124,125, 84,164,180, 93,171,128, 32,213, -221,133, 60, 96, 97,189, 73,151,229,114,249, 61,185, 92, 62, 70,169, 84,138,202,203,203, 35, 34, 35, 35,215, 12, 26, 52, 8, 55, -110,220,192,249,243,231,199, 74, 36, 18,165,217,108,102,188,189,189, 39, 80, 20,229,100, 54,155,119,150,148,148, 40,108,227,161, - 13, 54,216, 96,195, 83, 71,181,143, 22,106,189, 91,103,209, 10, 9, 9,145,101,103,103,191,209,178,101, 75, 49, 0,216,219,219, -135, 6, 6, 6,206,200,202,202,170,176,182, 52, 58,157,110,239,142, 29, 59, 6,175, 90,181, 74, 52,124,248,240, 54, 7, 15, 30, -236, 6, 0,195,135, 15,111,227,232,232,136, 29, 59,118,152,117, 58,221, 83,139,137, 68,211,116,159,174, 93,187,162,180,180, 20, -217,217,217, 86, 77,161, 28, 59,118, 76,138,135,126, 89, 13,238,107, 8,140,201,228,234,226,231,199, 43,136,139, 51,151,106, 52, - 62,125,250,246,165,104,179, 25, 60, 30, 15, 37, 37, 37,200,205,205,133,179,139, 11,149,154,145,225,176,101,214,172, 99, 45, 59, -117, 18,179, 38,147,187, 21,197,212, 22, 43,139,222,250,112,202, 7,135,118,238,220,229, 89,174,209,100,218,219, 75,141, 18,137, -200,123,234,135, 31,178,165,165,165,227, 1, 84, 90,192,179,108,231,206,157, 67,135, 14, 29,122, 59, 32, 32,192, 75,165, 82,121, -151,151,151,179,165,165,165,124, 60,244,181,162, 0, 32, 46, 46, 14, 26,141,134, 97, 89, 54, 1, 15, 99, 97,153, 44, 45,104,139, - 22, 45,156, 35, 34, 34,250,121,122,122, 66,173, 86,195,221,221, 29,157, 59,119,238,199,231,243,127,204,201,201, 81, 63,205, 94, - 31, 27, 27,235, 72, 8,121,150, 16,130,161, 67,135, 90,116, 14,203,178,111, 71, 69, 69,137, 40,138,130, 94,175,131,157,157, 61, -100, 50, 7, 56, 58, 58, 33, 40,168, 61,228,114, 57,134, 12, 25, 98,202,204,204, 92,175, 80, 40,246, 54,194, 5,185, 92, 14,149, - 74,133,220,220, 92, 20, 23, 23, 3, 0,138,139,139,107,156,243,159, 6,212,106,245,200, 30, 61,122, 76,159, 60,121, 50, 24,134, -193,200,145, 35,145,151,151,183,242,193,131, 7,123,124,125,125,199,189,253,246,219,158,238,238,238,152, 62,125,186, 61,128, 47, -108,227,161, 13, 54,216, 96,195, 83,199,227, 62, 90,127,182,104, 53, 52, 39,234,237,237,221,155,162,168,121,122,189, 94, 92, 61, - 37, 67, 81,148,216,211,211,243,136, 94,175, 95,170, 80, 40,172,114,138, 43, 47, 47,215,220,191,127,255, 72, 98, 98,226,232, 81, -163, 70, 33, 54, 54,118, 60, 0,140, 26, 53, 10,137,137,137,184,127,255,254,145,242,242,242,167,146,128,212,207,207,111, 88,223, -190,125, 71,117,237,218, 21, 49, 49, 49, 96, 89,246,146, 53,231,215, 94, 97,136, 58, 86, 29, 86,239,179,136,201,113,202, 59, 0, - 0, 32, 0, 73, 68, 65, 84,140,207, 7, 69, 81, 53,214,140, 98,149, 10,233,105,105, 40, 45, 43,131,209, 96,128, 86,167, 99,131, - 90,181,210,171, 77, 38, 33, 5, 88, 59,247,149,115,253,234,229, 92,157, 86,235,229,238,234,166,151, 74, 37, 40,215,168, 69,215, -174, 94,174, 4,144,105, 33,135,137, 16,210,247,215, 95,127,157,207,231,243,199, 56, 56, 56,224,253,247,223,231,247,235,215, 15, - 34,145, 8, 70,163, 17,229,229,229,216,177, 99,135,138,101,217,214, 85,231, 56, 72,165,210,109,124, 62, 63,191,162,162, 98, 94, -163, 63, 96, 50, 13,143,142,142, 22,152, 76, 38, 44, 89,178, 4, 11, 22, 44,192,208,161, 67, 5, 87,175, 94, 29, 14, 96,231,211, -234,241, 28,199, 33, 50, 50,178,182, 51,124,138, 37,231, 9,133,194,240,182,109,219, 66,165, 82, 65,165, 82,193,211,211, 19,190, -190,190,240,246,246,198,202,149, 43,201,154, 53,107, 78,154,205,230,245,197,197,197, 69,150,148, 33, 43, 43,171,198, 50,104, 48, - 24,160,213,106,145,151,151, 87, 51,117,168,151, 57, 13,157,242,214,136, 78, 90,189, 94,119,229, 78, 70,238,188,143,198, 61,167, -213,235,117, 25, 15,114,211,129,181,156, 5,253,123,194,248,241,227, 39,140, 30, 61, 26,149,149,149, 72, 76, 76, 68,207,158, 61, -177, 98,197, 10,159,132,132,132,105, 93,187,118,133, 80, 40, 68,124,124, 60, 24,134,201,179,141,133, 54,216, 96,195, 63, 25,255, - 82,255,172, 6,209,160, 69,203,223,223,223,133,101,217,153, 81, 81, 81,145, 47,188,240, 2,134, 12, 25,242,200,247, 59,119,238, -116, 60,112,224,192,210,181,107,215, 14, 53,155,205,203,172,153,234,227, 56,238,208,206,157, 59,135, 63,247,220,115,210,254,253, -251, 7, 2,128, 68, 34, 49,237,220,185, 83,199,113,220,161, 38,212,165, 58, 16, 99, 17, 0,248,250,250,118, 20, 8, 4,163,134, - 13, 27,214,241,173,183,222, 66, 82, 82, 18,118,236,216,113, 47, 40, 40,232, 66, 81,145, 85,254,213,217,141,172, 58, 92,218,152, -117,139, 47, 22,151,148, 23, 22,186, 56, 4, 4, 8, 93, 29, 29, 21, 49, 49, 49,254,131, 6, 13,162,242,242,242, 80, 86, 86, 6, -131,193,128,171, 87,175,114, 2, 32, 71,224,234, 74,229, 36, 38, 82,124,177,184, 4,180,117, 43,221,253,125, 92,219,125, 62,123, - 82, 75,131,209, 16,166, 86,171, 25,129, 80, 40,108,238,237,146,151,150,105,213, 76,156, 81, 42,149, 70, 0, 16,112, 28,167,115, -115,115,147,158, 62,125, 26, 98,177, 24, 20, 69,161, 67,135, 14,176,179,179, 19, 17, 66,114, 1,192,209,209, 81,188,113,227, 70, -231,113,227,198,157,111,140,184, 75,151, 46, 66,137, 68,242,124, 80, 80, 16, 18, 19, 19,113,247,238,221,156,196,196,196, 22, 93, -186,116, 65, 64, 64,192,243, 62, 62, 62,251,110,220,184,241, 84,150,247, 63, 92,177,106,189, 51, 60,203,178, 28, 69, 81,224,241, -120,224, 56, 14, 42,149, 10,173, 91,183,198,186,117,235,176,122,245,234, 37, 10,133,226,168, 21, 92,172, 70,163,129, 76, 38,195, -221,187,119,141, 81, 81, 81, 18, 30,143,135,123,247,238,213, 8, 45, 47, 15,183,208,158, 93,195,131,151,124,187,253,148, 76, 34, -145, 12,233, 23, 17,146,156,145,147, 79, 8,213,232,180,113, 72, 72,136,168,117,235,214,227, 71,143, 30,141,172,172, 44, 44, 93, -186,180, 88,161, 80,196,157, 58,117,234,165,201,147, 39,243,123,246,236,137,146,146, 18,252,252,243,207,204,181,107,215,126, 42, - 44, 44,220,110, 27,198,109,176,193, 6, 27,254, 33, 66,203,223,223,127,180, 72, 36,154,254,202, 43,175,240,219,183,111,143,162, -162, 34, 56, 57, 57,209, 20, 69, 9, 1,192,197,197,133,182,183,183,199,164, 73,147,208,169, 83,167,222,179,102,205,234, 41, 16, - 8,214,201,229,242,109,150,252,176, 82,169,212,241,120,188,253,239,191,255,254,178,155, 55,111,180, 6,128,223,127,255,253,190, - 92, 46,159,173, 84, 42,117, 86,214,163, 58, 40, 38, 37,145,216, 93,105,215,174,221,131,136,136, 8,167, 23, 94,120, 1,158,158, -158,184,126,253, 58,150, 47, 95,158, 97, 50,153,230,159, 59,119,142,249,187, 27,153, 49, 26, 11,175, 29, 62,236,216,239,181,215, -156,166, 70, 69,125,243,193,251,239,175,250,252,243,207, 5,237,219,183,167,116, 58, 29,174, 92,185, 66, 14, 28, 56, 64,255,188, -120,241,106,200,100,194,196, 3, 7,196, 38,147, 41,199, 74,203, 93,223, 94,125,122,183,255,102,213, 90, 24,244,149,184,114,233, - 56,202,202, 84,216,184,233, 96,123, 63, 63,210,183,160,160,224,156,165, 92, 20, 69, 5,197,198,198,122, 17, 66, 32, 22,139,177, -104,209, 34,248,250,250,194,201,201, 9, 21, 21, 21,152, 54,109,154,243,199, 31,127,236, 12, 0, 73, 73, 73, 53,225, 25, 26,131, - 92, 46,239, 49,105,210, 36, 71,134, 97,112,242,228, 73, 19, 69, 81,243,206,156, 57,243, 99,135, 14, 29,196,189,123,247,118,220, -190,125,123, 79, 0,241, 79, 75,104, 53,241,188,123,167, 79,159,238, 58,102,204, 24, 34, 20, 10,169,242,242,114,184,184,184, 96, -221,186,117, 90,133, 66,113,220, 74,174, 69,179,103,207,158, 95,181,189,117,222,188,121,239, 46, 91,182,204,179,176,176,176,198, -170,169, 44, 46, 61,219, 35,234, 67,182,164, 92,109,250,233,219, 89, 47,219,219, 73,196,243,150,253, 20, 79,243,113,185,209,126, -197, 48, 98,169, 84, 42, 38,132, 96,255,254,253,200,201,201,121,187,164,164,164,144,101,217,131, 51,103,206,156,209,190,125,251, - 86,105,105,105, 57, 21, 21, 21, 43,148, 74,229, 3,219,112,103,131, 13, 54,216,240,151,161,218, 9,190,122,245,225,113, 60,156, - 78,172, 95,104,177, 44, 59,233,212,169, 83,124,142,227,176,105,211, 38, 92,187,118,141, 72,165,210,121, 82,169,244,123,123,123, -123, 86,175,215, 79,124,239,189,247,198, 45, 88,176,128,215,187,119,111, 36, 38, 38,242, 90,183,110, 61, 30, 64,109,161, 53, 8, - 13,196,218, 80,171,213, 87,139,138, 10, 91,215, 10, 80,217, 90, 34,177,187,218, 72,101, 30,231,124, 60, 40,102,247, 69,139, 22, -105,125,124,124, 76,119,239,222,197,134, 13, 27,184,107,215,174,197,137,197,226,141, 10,133,194,104, 33,231,211, 64, 13,167,152, - 97,174,255, 50, 99, 70,200, 51, 35, 71,114,239, 78,159, 94, 41,178,183,255,232,155,181,107,103,149, 87, 84,248,130,162,136,187, -179,115,206,166, 69,139,150, 14,125,254,249,202,164,115,231,236,110,198,198, 10, 61,105,250,150, 53,229, 44, 40, 40, 56, 23, 31, -127, 30, 91, 55,175,130,217,108,132,162,224,161, 78, 43, 46, 81,163, 17,145,245, 39, 78,134, 97,212, 47,189,244,146, 8,128,253, -235,175,191, 46, 86, 42,149,104,211,166, 13, 0, 64,163,209,224,248,241,227, 8, 14, 14, 6, 0,220,185,115,167,102,187,177,114, -202,100,178,231,123,246,236,137,156,156, 28, 36, 37, 37,253,166, 80, 40, 74, 0,252,150,151,151, 55,188,107,215,174, 56,116,232, -208,136, 6,132,150, 85,215,200, 66,161,245, 39, 78,123,123,251,217, 7, 15, 30,124,251,210,165, 75, 99,102,204,152, 33, 28, 56, -112, 32, 0,160,162,162, 66, 7,128,181,134, 83,175,215,111, 4, 80,179,114, 54, 59, 59,251,151,233,211,167, 39,124,242,201, 39, -158,213,229, 83, 37, 31, 77, 84, 1,137, 97,253,222,254,188, 71,215,176,246, 95,174,217,113, 42, 55,175,104,135, 58,229,136,218, -146,186, 19, 66, 64,211, 52, 56,142,131,155,155,155,182,164,164, 4, 74,165,242,129, 82,169,124, 63, 51, 51,211,170,186, 63,205, - 62,111,227,180,113,218, 56,109,156,255,163,176, 60, 50, 60, 33,132,225, 56, 14,241,241,241, 56,120,240, 32,107, 54,155, 39, 40, - 20,138,218,209,170,215, 94,191,126, 61,246,165,151, 94,218,150,150,150,198, 79, 78, 78, 6, 33,132,181,166, 52, 6,131,129,166, -168, 63,239,123,210, 90,110,221,186, 21,133,133,133,230,188,188,188, 51, 12,195, 28,122,194,213,139, 79,188,234,112, 43, 96,124, -213,100, 58,179,160, 87,175,200,249,177,177,146,119, 63,251,204,248,230, 91,111,205,100, 77, 38,154, 47, 18,113, 98,153,140,199, - 74, 36,194,164,115,231,236,214, 76,158,236,166, 55, 26, 79,238,176,194,193,188,218,162,213,175, 95,111,188,249,238, 39,208,215, -178,104, 37, 94, 77,135,209, 12,171, 44, 90, 70,163, 49, 76,161, 80,192,206,206, 46, 23,128,247, 27,111,188, 1,142,227,160,215, -235, 81, 81, 81, 1,185, 92,174,126,235,173,183,216, 42,241, 36, 24, 53,106,148,147, 37,188,129,129,129,190, 66,161, 16, 39, 79, -158,132, 80, 40, 60, 14, 0, 66,161,240,120,108,108,236,240,177, 99,199,194,207,207, 47, 48, 43, 43,139, 66, 35,254,105, 94, 97, - 35,247, 18,160, 29, 40,180,125,104,130, 67, 91,207,176,145,183, 41, 32,163, 42,106,124, 74,151, 46, 93, 0, 11,253,178,106,163, -106,113,199,106,154,166,247,205,154, 53,235,253,238,221,187, 15, 94,176, 96, 1,133,170, 80, 13, 79,136,244,130,130,130, 62,115, -230,204, 57, 69, 8,121, 68,244, 43,139, 75,207, 62, 23, 61,133,148,151,171,111,170, 82,142,222,177,202, 98,202, 48, 79, 20,206, -194, 6, 27,108,176,193,134,167,102,213,250, 19,234, 21, 90, 20, 69,109,234,219,183,239, 4, 0,124,138,162, 54,200,229,242, 63, - 13,254, 10,133, 34,221,215,215,247,235, 86,173, 90, 77, 4, 64, 40,138,218,100,101,161,138, 8,193,114, 30,143,154,245, 80,220, - 53, 41, 64,101,117, 90,146, 89, 0, 40, 30,143,191,237,198,141, 27,159,229,230,230,170, 44,180, 64, 52,136,167,177,234, 16, 0, -118, 1, 15, 94,201,201, 57, 53, 61, 60,124,208,208,201,147,209,113,232, 80, 39,223, 22, 45, 88,189,217,204,221,185,112,129,186, -180,127,191,232,102,108,172, 80,111, 52,158, 60, 4,228, 90, 91,206,130,130,130,115,103,227,206,157,126,121,212,240,193,129,173, -124, 31,138,134, 7,114, 20,151,170, 79, 91, 35,178, 30, 19,189, 35,215,173, 91,119, 84, 36, 18, 9,106,167,178, 49,155,205,165, - 70,163, 49, 12, 0,202,202,202,124, 55,109,218,180,155,199,227,229, 52,198,151,156,156,124,100,254,252,249,163,178,179,179, 79, -231,229,229,101, 3, 64,110,110,110, 54, 77,211,219, 20, 10,197,168,156,156,156, 3,176, 96, 17, 0, 1,218, 37, 93,216,215, 1, - 0,194,122,141, 70,210,133,125,118, 0, 58,132,245, 26, 13, 0,104,106, 46,195,218,168, 10,131, 48, 47, 49, 49,113,231,224,193, -131,223,195, 19,196,244,122, 92,108,153,205,230, 22,143,239,172,182,108, 89, 67,100, 50,153,104,189, 94,207,176, 44, 43, 48,155, -205,196,100, 50,217,210,215,216,208, 24,108,185, 47,109,248,215,130, 16,210, 21,128,103,245,176, 89,245,238,249,216,182, 9, 85, -233, 2,171,135,202,170,207, 42,138,162,174,214,226,168,217,111,193,185, 0, 80, 12,224, 54, 69, 81,245, 25, 65, 54,213,247,185, - 94,161, 37,151,203, 15,192,130,164,209,150, 30,215, 0,230, 84,229,137, 3,154,158,135,173,134,131,101,217,162,220,220,220, 39, -190,160, 60, 30,239,193,136, 17, 35,172, 58,190,177, 99,246, 0, 57, 31, 26,141,219, 99,190,251,174,243,201, 13, 27,252, 88,134, -113,167, 0,194, 23,139, 75, 76, 38, 83,182, 39, 77,223,178,214,146,245,136, 53,230,126,193,144,172,251, 5,104,219,182, 45,185, -119,239,222,211, 24, 84,111,105,181, 90,255,198,186,128, 78,167,235,109,161, 24,220, 85, 80, 80,176,171, 14,193,190, 91,161, 80, -236,182,226, 78,145, 81, 37,170,120, 28,197,189, 28,214,107,244,126, 0, 92,117, 82,233,167,137,194,194,194, 52, 84,197,121,251, -167, 33, 39, 39,199, 72, 81,212, 47,203,151, 47,127,253,230,205,155,123,228,114,185,209, 54, 20,219, 96,131, 13,255,101,145, 69, - 81, 84, 76,213,231,232, 42,163, 80,204,227,219,213,199, 84, 31, 87,251,152,106,142,199,247, 55,116, 46, 0,204,158, 61,251,179, -165, 75,151, 74, 1, 88,154,140,185,201, 73,165,255, 42, 20,253, 67, 56,106,139,130,205,127, 69, 69,191, 3, 76, 96,152,203, 96, -106,249,228,211, 79,215, 16,113,239,222,189,255,244, 83,107,117, 82,233, 90, 8,255, 95, 29,124,178,179,179,215, 5, 4, 4,108, -148,203,229, 12,108,176,193,130,251,149,173, 9,108,248,151,194,179, 46, 97, 84,143, 40,139,110,232,251, 71, 30,220,235, 56,174, -174,207, 20, 69,197, 44, 93,186, 52,218,138,242,214, 88,180,120,182,107,103,131, 13,255,110,252,127,172,164,181,193, 6, 27,108, -248, 79, 60,121, 60,102,197,170, 22, 95,143,127,158, 61,123,246,103,104,120,198,201, 7, 15,173, 88, 62, 85,159,107,252,181, 40, - 60, 92, 57, 80, 23,172, 89, 77, 48,168, 9,245, 59, 99,227,180,113,218, 56,109,156, 54, 78, 27,167,141,243,127,142,179, 49,238, - 51,117, 8,162,168,250,166,250, 26,154, 70,124,124,187,177,115, 27, 59,150,162,168,250,194,252, 84, 79, 21, 62,254,254,151, 99, -144,141,211,198,105,227,180,113,218, 56,109,156, 54, 78, 27,231,147,128, 16,210,149, 16, 18,133,135,211,223,132, 16, 18, 69, 8, - 25, 58,123,246,236, 57,213,251,102,207,158, 61,135, 16, 50,176,250,184,170, 99,106,206,169,222,247,248,251,227,251, 26, 58,182, -129, 34, 78,120,108,187,230,243, 63,197, 71,203, 6, 27,108,176,193, 6, 27,108,176,161, 78, 84,175, 24,172,101,109, 82, 1,184, -179,116,233,210,178, 90,190, 83, 42, 0,183, 0,116,170, 58, 78, 85, 37,210,106,251, 86,153,170, 62,155,234, 56,198,100,201,177, -245, 96, 83, 61,219, 54,161, 85, 31, 58,121,243, 22, 7, 52,247,138,168,186, 0, 32, 85, 73,128,185,170,120, 69,164, 58,112, 17, -199,129, 16, 2,185,178,252,250, 29, 37, 62,111,234,239, 5,249,194,205,203,206,110, 53, 71, 72,175,170, 93,231,212, 37,198, 79, -146, 52, 40,183,148, 35,184, 25, 66,236,120,152,201, 17,116, 4, 0, 30,133,219, 6, 14, 95,167, 22, 89, 31, 79,170,174,126, 30, -230,137, 9, 98,123,233, 43,206, 46,174,109,203,202,138, 51,204, 6,227,190,100, 21, 54,162, 9, 14,182,129,174,120,150, 35,248, - 12, 0, 79,200,195,202,140, 82,139, 87,114,216, 96,131, 13, 54, 60,169,117,228,137,226,226, 81, 20,197,214,193, 73, 61, 33,167, -109,161,130, 5, 98,171,142,221,191,215,177,239,234, 63,169,220, 86, 9,173, 80, 79, 76, 6,133,133, 0, 8, 8,190, 72, 86,225, - 7,171,206,247,193, 32, 59, 62,127, 11, 0,190,193,204, 78, 39, 28, 18,234,108, 76, 30,250,216,137,248, 43, 1,112, 6,150,125, - 39, 89, 97,185,191, 88,152, 31,134, 10, 56,222, 47, 28, 33, 66,150, 35,219, 64, 16,227, 32,194,197,203, 5, 48, 88, 83,214,128, -230, 94, 17,135,127, 87, 12,142,251, 97, 42,186,119,108, 3,194, 50, 0, 71, 67,218,123, 38,126,251,246, 13,116, 15, 9, 0,225, -104,128, 99,224, 48,236, 27, 12, 11,119, 38,119,148, 77,203,131, 29,228, 11,183, 22, 30, 94,119, 55,111,222,226,237, 27, 24, 74, -113,140, 25,105,191,159, 30,247,241,172,249, 3,194,160, 14,183, 68,108,117,244,193,187, 1, 45,219,207,252,100,225, 42,190,143, -175,191,140,163,141, 76,225,131,148, 46,107, 87,204, 63, 32,226,229,172,188,173,192, 22, 75,251,114,168, 39, 38, 10, 36,226,209, -246,118,178,182, 58, 93,197, 61,214, 76,239,227, 9, 5, 67,191,254,102,117,231,126,145,195, 29,216,138, 66, 30,205, 33,116,239, -158,221, 45,190, 91,183,126,248, 93, 5,251, 60, 0,206,154, 58,115, 4,179,210,183, 79, 24, 46, 20,240,169,144,183, 55,243, 1, -166, 73, 66, 43,196, 11,175, 82, 4,141,134,151, 32, 20,206,167, 40,177,171, 41,191, 17,236,133, 31, 41,130, 32, 80,216, 79, 17, -236, 78, 86, 65,105, 27,242,108,176,225,191, 5, 30,143, 23,199,113, 92,255,167, 44, 12,158, 37,132, 92,182,181,238,255, 54,172, -179,104, 81, 88,146,148,153,231, 10,214,140,176,160,192,197,128,117, 66,203,142,207,223,118, 53,163,200, 27,140, 25,155,191,124, -127,143,137, 6, 24,218, 12,150,161,193, 50, 52, 24,198, 12,150,166, 65,104, 35,230,255, 20, 7,152, 42, 16, 17,222,110, 27,192, -250, 88,250, 27, 66,194,251,229,250,133,211,110,148, 73,141, 93, 63, 44,253, 48, 79, 85,249,225,153,219,242,226, 80, 47,253,156, -100, 37,126,182, 70, 16,196,109,152,138, 29,135,142,231,175,249, 81,155,202, 17, 2, 55, 39,251,246,227,162,147,252,183, 31,137, -203, 91,189,205,144, 10, 0,206, 50,113,251,241,183, 51, 2,158,228, 34,120,217,217,173,222,184,254, 59,111, 31,119,123,138,185, -180, 12, 12,203,194,191, 69, 20,127,206,148,113, 62, 75,190,221,242, 45, 52,198, 55, 27, 58,191,189, 23, 66, 91,182, 10,153,190, -237,248,165, 0,173, 70,105, 58,189,243,179, 76, 24, 65,123,251,133, 8, 23, 47, 93,197,159,251,233,212,105, 38, 54,255, 74,154, - 18,201,141,141, 53, 33, 94, 56,178,116,217, 55, 29, 7, 12,139,118,224, 42, 85,124,131,182, 50,104,243, 79, 91, 22, 6,119,236, - 38,237, 29,222, 92,164,220, 55,137,210, 87,148,194,204,179,147, 12, 8, 27,228,164,127,125, 44,189,121,235,142, 41,201, 74,172, -181,166,206, 44,249,163,239,113, 92,211,163,174, 83, 4,189,111, 94,142,155,200,202,175,130,176, 52,192,154,107,222,193,210, 32, -220,195,247,238,147,126, 2,208, 52,161,197, 35, 24,124,230,194, 85,159,162, 66, 69,215,111,191,249,106, 14,185,122,245, 87,176, -248, 37,165, 20,231,172, 21,152, 0,130, 90,187,243, 79,209, 44,140,121,229,108, 80,245,206, 1, 65,146, 30, 62, 14,212,192, 92, - 53,149,112, 62, 83,127,206, 54, 52,217, 96,195,255,139,197,132, 33,132, 8,158, 50,231,112, 66,200,137, 39,164,153, 9,224,221, -170,237, 45, 0,190,126, 10, 69,107, 14,192,187,106,187, 16, 64,190,173, 7, 60, 17, 30,119,126,111,114, 28, 45, 59, 16, 14,216, -255, 2, 0,216, 91, 91, 10, 2,216,129,226, 3,180, 22, 35,135, 69,194,195,203, 27,160,117,128, 89, 7,208,122,128,214, 2,180, - 30,197,138, 28,192,172, 5,178,126, 5, 67,136,196,234,234, 26,213, 64,250, 62, 12,236, 18, 0, 79,103, 59, 76, 29, 25,234,177, -233,100,250,150, 45,167,211, 6, 37, 43,241,138, 69,101, 37, 4,221, 59,180,197,154, 45,218,212, 99, 55, 84, 67, 0, 96,120, 39, -247,147,221, 67, 91,248,175,222,102, 72, 61,113,167,108, 40, 0, 12, 13,115,250,181, 91,123,159, 0,238, 9,194,211,112,132,244, -246,109,217,150, 98,111,110, 4,167,201,135, 70,163, 71,254,131,237,112,245,123,134,199,114,232,219,216,249,246,124,204,254,104, -238,114,161, 78, 83,100,226,204, 42,214,147, 95,198, 23,136, 57, 10, 5,231,140,149, 92, 57,251,201,132, 55,152,233,159,127, 57, - 27,192,184,134,120, 66,189, 48,101,229,202,213, 29,122, 70, 4,123, 21, 30,152, 74, 85,150, 21,129,225, 75, 37, 35,159,235, 9, -151,118,161, 92, 81,252, 74, 74, 28, 56, 8, 46,238,129, 40,184,180, 19,217,151, 15, 82,189,186,140,146,252,188, 75,244, 58, 96, -174, 83,104,181,245, 64,175, 33,125,186,237, 9, 12,240,245, 33,132, 3,199, 17, 16,142, 69,165,129,198,156,189, 89, 96, 89, 22, - 47, 13,233, 53, 80, 38,166, 8,199,113, 32,132, 67, 94, 97,137,238,236,149,212,129, 89,101,184, 98,137,165,170,211,179,253,123, -221,190,126, 57,152, 78, 63,134,136,113, 75, 83, 41,224, 66,173, 62,215,235,198,169,159,131,129,159,154,174,229, 40,176,217, 39, -151, 33,160,207, 4,254,198, 93, 39, 61,213,170,130,241, 7,182,175,127,249,135,141, 27,119,164, 42, 49,201, 26,145,245,113, 31, -241,133,111,207,106,220,159, 11,148,169,242,106,217, 41, 91,187,242,134,108, 56,145,252, 81,226,162,238,193,115,143,147,242,132, - 76,195, 29,219,184,101,131, 13,127, 47, 8, 33, 79, 93,108,229,228,228,200,159, 68,108,249,249,249,245, 41, 40, 40, 88, 81,237, -173, 66, 81,212,138,150, 45, 91,206,255,227, 65,245,145,103, 61, 53,203,178,227, 10, 10, 10, 18, 26,226,140,138,138,242, 61,126, -252,120,171, 90,156,173, 0,180,170,235, 88, 23, 23, 23,182, 71,143, 30,217,199,143, 31,151,219,122, 72,147, 4,151,213, 66, 43, - 53,119,223,212, 46, 70, 69, 37, 0,164, 90,112,252, 35, 83,126, 6,154, 93,182,117,225, 27,203,194, 90,186,161, 66,107,194,233, -107,217, 96, 89, 26, 44,195, 84, 89,182, 24,176, 12,141, 33,157, 60,208,195, 48, 9,107, 99,210,192,176,220,210,134, 56, 31,135, -153,112,175,118, 30, 52,102, 47,199, 17,177, 68,200, 83, 7,249,187,123, 77,127,169, 19,111,234,200, 48,232,205,204,152,157,241, -153,103, 83,148,216,108, 17, 39,247,231,240, 68,164,174,125, 44,211,104,221, 27,176, 70,117, 31,212,175,183, 19, 49,170, 65, 23, -103,161, 66, 71, 35,171,132, 70,161,161, 28, 18, 74, 97, 17, 39, 71,208,177,185,159,143,244,226,158, 79, 31,184,243, 53, 2, 47, - 62, 35, 18,243, 24,176, 28,225,147,242,100,163, 91,112,164,176,218,111,171,161,114,218, 75, 29,223,232, 51, 56,202, 57,119,231, - 4,202, 62,104, 8,188,186,248,227, 65,194, 86, 40,175,197,160, 68,158, 77, 57, 25,202,209,204,189, 13,134,141,123, 5, 95,191, -210, 21, 21,154, 10,240, 21,153,206, 98,161,196, 5, 48,215,201, 73, 88,140, 91,185,252, 75, 31, 1,159,247,176, 61,171, 95, 44, - 13,189,209, 8,176, 12,236, 4, 28, 40, 82,253, 29, 13,150, 54, 75, 59,142,250,244,125,128,189,210, 88,221, 83,148,216, 21,234, -137,222,224,232, 96, 66,235, 65, 1, 23,146, 85,127,136,159, 16, 47,188,250,204,144,183,122, 19, 10,231,155,114,141,194,221, 17, - 29,209,202, 65, 38,211,164, 34,127,255,135,200,132, 29,105,214,243, 93,188,250,246, 20,233,166, 77,155, 70, 0,100, 50, 30,245, - 81,171,225, 12,110,198,159, 72,179,152, 15, 0,122,154,108,117, 20, 83,111,175,220,157,232, 14,254, 31, 25, 30,170, 45, 89,153, - 37, 92,153, 57,110, 94,218,179,211, 99,250,117,184,217, 47,143,162, 36,185,231,238, 25,213,214,244, 37, 43, 97,227,180,113,254, -229,156, 78, 78, 78,173, 91,182,108, 57,159,166,233, 62, 34,145,168,153,217,108, 6,199,113,133, 98,177,248,124,118,118,246, 34, -141, 70,115,255,159, 86,247,219,183,111, 91, 35,182, 26,229, 20, 10,133, 72, 75, 75,187,103,133,216, 58,243,216,249,191, 92,184, -112, 1,123,247,238, 5, 0,164,167,167,163, 93,187,118,178,186, 78,124,240,224,129,172, 95,191,126,191, 0,240,111,136,243,206, -157, 59,173,143, 29, 59,134,253,251,247, 3, 0,210,210,210, 16, 20, 20, 84,103, 97, 46, 92,184,192,127,237,181,215, 90, 3,144, -255, 13,215,232,191, 32,178,106,191,255, 33,180, 98, 98, 98, 72,116,116, 52,245,248,118, 29,200, 10,112, 21,119,129,129, 5,128, - 44,107, 75,144, 82,132,229,107,182,159, 26,250,219,254,117,125,236, 68, 60, 44,216, 60, 61, 79, 85, 90,241,172,128,122, 56,253, -194, 16,240, 92, 29,196,137, 75,199,119, 10, 40,171, 52,224,232,239, 5, 9,201, 74,235, 76,164,201, 10,196, 2,156,203,195, 79, - 44, 12,122,101,208,248,175, 99,119,239,158, 61,180,227, 39, 35, 59,226,200,165,236, 79, 0,166,209,168,239,132,227, 64, 56,166, -198,249,189,234,209, 1,224, 30, 77,224,203,129, 60,220,199, 89,103,209,234, 11, 8,202,188, 48,204, 81, 42,254,126,226,196,247, -156,104, 85, 6, 74, 77, 34,228,149, 25, 80,168, 23,162, 82,224,133,130,212, 59, 44,143, 66,108,163, 38, 23, 10, 26,194, 24, 92, - 92,197, 14,188,240,200,247,253, 52, 39, 63, 43, 19, 83, 12,223,233,197, 37, 46,197,191,173,202,102,180, 42, 45, 69,161,209,240, -243,206,206, 46,237, 12, 37,217,124,117, 89, 49, 92,188,195, 48,116, 76, 52,190,136, 10, 69,133, 70, 11, 85,105, 34,105,235,227, - 68,229,156,223,129,185,195, 66, 80, 82,164,128,145, 6, 40,173,177,212, 96, 50, 84,214,219,142, 60,108,252,120,198,172, 87, 91, -248,120,202,170, 23, 21, 16,142, 69,167,144, 64, 68,246,233,142,216, 11, 23,113,245, 78, 58,184,170, 69, 5,132,227,144,175, 44, - 43, 50,152,217,173, 86, 53, 40,203,128,208,134, 58,133, 24,154, 48,101, 24,238, 5, 41, 11,124,222,181,181,227, 59,179,163, 91, - 56,202, 36, 20, 12, 52, 11,131,137, 70,197,197,239,225,222,178, 3,164,118,118, 84, 23,232, 5, 55, 80,119,219, 26,104,204,191, -175, 40,247, 65,101, 33, 94,139, 12,251,104,219,210, 15,100,148,221,195,174, 73,179,143, 90,178, 46, 46,236,122,234,181,197,135, -227,246,238, 27,235,251,245,204, 55,250, 13,153,182, 53, 14,192, 73,219,184,101,195,191, 17, 47,191,252,178, 93, 81, 81, 81,188, -191,191,127,104,100,100,164,180,119,239,222,208,106,181, 56,125,250, 52,180, 90,109, 11,127,127,255, 22,167, 79,159, 30,149,155, -155,155,220,188,121,243,126,251,247,239,183,216,135,182, 74, 0,241,107,134, 96,128,161, 40, 10, 85,251,168,170,125, 77,206,115, - 43, 22,139,145,147,147,243,212, 45, 91, 5, 5, 5,247,154, 98,217,170,172,172, 20,249,249,249,193,211,211, 19, 44,203, 66,171, -213,226,240,225,195, 80,171,213,224, 56, 14,246,246,246, 88,178,114, 51, 82,111,196,227,202,149, 43, 80,171,213,162,198, 56,243, -243,243,169, 78,157, 58,193,104, 52,130, 97, 24, 24, 12, 6,156, 57,115,166,230,179, 64, 32,192,172,197,223, 34,253, 90, 60,110, -222,188,137,252,252,252,191, 37,219,136, 21, 90,228,159,136,122, 99,102,253,237,171, 14, 89,150,153,179,105,219,238,196, 57,147, - 94,193,148,177,131,252, 23,173, 59, 56, 40,165, 24,219, 0, 32,196, 3,227, 95,239,223, 54,192, 69, 42,196, 23, 59,175, 1,132, -204,121,210,223, 75, 42, 69,122,104, 51,238,147, 67, 87,114,226, 63,123,165, 11, 2,125,156,218,149,137, 75,197, 89, 89, 22,228, - 20,228, 24,184, 58, 72,218, 15,239,228,126, 18, 28, 7, 23, 71, 73, 48, 88, 6, 46, 14,146,246, 67,195,156,126, 5, 0, 39,169, - 48,184, 46,203, 87,125,136,240, 23, 78,144, 74, 4, 19,100,142, 46, 1,111,142,136,180, 31, 62, 98,148,189,131,144, 65,201,149, -211,208, 8,155,131,118,107, 1, 35, 93,138,252,251,153,236,111,151, 83, 10,138, 43,140,211, 27, 45, 38, 65, 66,193,253, 52,207, -214, 29, 35, 93,139, 99,230, 42, 91,191,181,179, 21, 15, 28,175, 98,199,139, 69, 50,175,110,246,191,103,221,175,228, 72,157, 22, -157, 71,160, 81,171,179,105, 22, 62,122, 86,224,152, 25,247, 51,102, 15,235,128,178, 82, 37, 12,102, 6,106, 61, 99,246,118,177, -147, 24,239,223,133,209,204,192, 68,115, 16,186,248,225,116,226,157, 98,142,166,127,173,143, 51,171, 4, 55,179, 14,223,116,168, -189, 47,208, 3,157, 62,117,178,191, 9, 90,143,156,124, 57,182, 29, 79,236,146, 85,130,155, 79,114,157, 9,199, 60,156,126,174, -101,201,162, 8,122, 55,197, 9, 62,216, 11,221, 68,118,162,239, 86,124,242, 90,232,115, 65,110, 18, 46, 63, 17, 20,103,134,140, - 21, 64, 47,102,225,236, 31, 8,206, 84, 65,116, 6, 67,121, 18,208,208,197,231, 3, 0, 49,107,241,245, 27, 97, 50,202, 53, 16, -108,214, 73, 8, 58, 79, 0, 93,101,237,207, 44,225,238,152,227,230,165,246,152,113,172,239,226,216,254, 41,242,227, 11, 82,252, - 94,254,190, 19,176,181,165,237,118,109,195,191, 17,237,219,183,247, 46, 40, 40, 72,154, 49, 99,134,219,139, 47,190,136, 67,135, - 14, 65,163,209, 96,235,214,173, 88,189,122, 53, 22, 46, 92, 8,154,166,177,105,211, 38,233,129, 3, 7,186,173, 95,191, 62, 63, - 32, 32, 32, 44, 55, 55,183,176, 17,129, 69, 1,144, 0, 16, 86,221,187, 40, 0,220,137, 19, 39, 48,124,248,112,156, 56,113,130, -171,218,199,226,225,195, 79,147,114,127,138,197, 98,136,197, 98,168,213,234,167, 34,182,132, 66, 33, 28, 28, 28, 32, 22,139, 81, - 81, 81, 97,181,216, 98, 24,134,159,159,159, 15,181, 90,141,200, 17, 35,240,237,210,165,232,223,191, 63, 34, 35, 35, 65, 8,193, -153, 51,103, 48,168,103, 56, 94,121,190, 31, 82, 82, 82,192, 48,140, 69,229, 45, 44, 44, 68, 81, 81, 17,134,142, 24,129,205,235, -215,163,123,247,238,104,223,190, 61, 24,134, 65,124,124, 60, 94, 30,210, 19,118, 47, 12, 66,122,122,186,173, 83, 91,110,205,122, - 42, 62, 90, 79,140, 36, 21, 46,115, 71,206,197,140, 29,210, 45,122, 68,175, 80,108,222,243,219,151,240,212,236, 6, 0,119,163, -100,201, 27,253, 3,145,156, 91,134,223,110,202, 99, 82,138,241, 84, 86,107,112, 44, 60,220,157,164, 0, 95, 12,189,153, 99,156, -178, 26,119, 96,230, 8,129,180,207,167,120,125, 68,178,127,247, 80,127,255,234, 85,135, 14,195, 87, 97,252,157,123, 1, 93,219, -123, 7,128,165, 1,150,134,211, 43, 59,129,197,178, 70,203,209,179,149, 56,246,227,169, 83,123, 12,123, 97,140,189, 88,234, 12, - 86,147, 7,186,240, 14, 74, 50, 18,160,149,182, 67, 97, 78, 22,246,158,186,162,206,200, 47,209,240,120, 56, 93,164, 54,206,204, - 42, 67,101, 99,188, 6, 26, 75,231,207,157, 30,181,119,247, 30, 71, 73, 96, 47, 42,243,251,225,106,177,128,145,120,182,122,134, -167,179,243, 32, 95,109,221,227,164, 53, 97, 89, 99, 60, 58,173,230,224,153,211, 39, 95,105,219,186,151,227,131,171,199,161, 55, - 24, 97,164,129,176,110,253,192,178, 68, 76,241, 40,206,137,207,167,148, 37,101,160,104,182,232,252,173, 7,138, 11,183,178,248, - 70, 71, 44,107, 48,186,200,227,234,158,226,127, 52,162, 95,103,128,214,227,249, 62, 29,240,237,142,223, 62, 4,216,183,158,236, - 34, 63,180,104, 17,160, 87,168, 39, 54, 16,130, 94,215, 14,175, 14,142,120,225, 99, 88, 99,209, 10,243,192,176,144,214,190, 63, -127,187,228, 83, 55,247,230,237,248, 20, 71,131,120,119, 4, 52,249,132,202, 79,132,179, 95,119,176,190, 61,177,105,237, 55,149, - 28, 71,118,163,129,208, 22, 44, 7,112,185,231,192,166, 30, 66, 86, 86, 22, 60, 90, 92, 3, 40, 30, 72,203, 7, 48, 51, 15, 79, - 51,154,201,241, 53, 91,143,245,159, 57, 96,105,216,136, 96, 65, 64,226,173, 76,229,152,183,125,165,207, 6,240,131,146, 21, 50, - 94,177, 86,203,217,198, 47, 27,254, 77, 48, 24, 12, 7,151, 47, 95,238, 22, 29, 29, 93,109,145, 65, 98, 98, 34,182,108,217, 2, -153,236,209,113,114,248,240,225, 32,132,184, 45, 88,176,224, 32,128,231,234,227,236,209,163,199,136,155, 55,111,202, 59,119,238, -156, 85, 37,182, 68, 0,120,119,239,222,229,229,229,229, 81,174,174,174,196,215,215,151,150,203,229, 28, 0,246,237,183,223,230, -239,219,183,175,173, 86,171, 61,215, 84,161, 37, 22,139,159,138,207,150, 80, 40, 4, 69, 81, 16,139,197, 16,137, 68, 32,132, 88, - 37,182, 88,150, 21,156, 56,113, 2,215,174, 93,195,194,206,157,241,137,159, 31,220,220,220, 16, 31, 31, 15, 66, 8,100, 50, 25, - 74, 75, 75,177,123,247,110, 12, 24, 48, 0, 12,195,136, 44,225,221,191,127, 63,174, 95,191,142,197, 17, 17,248,196,217, 25, 14, - 14, 14, 56,115,230,225,108,160, 68, 34, 65, 78, 78, 14,206,156, 57,131,126,253,250,217, 58,245, 19,194,226,206,211, 23, 16,148, - 82,240, 54,155,244, 32, 12, 1, 40,248,134,132, 64,148,146,242,168,115,142, 37,224,241, 48,119,237,182,152,168, 85, 31,143,160, - 38,140,236,226,187,232,231,184,201, 0,240,206, 75, 65,126, 82,137, 0,107,142, 36, 19, 30, 15,115,159, 70, 5, 67, 66, 32,162, - 74, 48, 57,178,123,123,200,203, 77,200,148,151,159, 77, 1, 44,202,226,252,219,170,215,177,253,104,124,222,234,237,134, 84, 66, - 8, 92, 28, 36,237,199,223,206, 12,248,249,196,245,220,149,123, 13,169,132, 35,112,145, 10,131,223, 74,233,217,232,170,195, 8, -127,225,132,105,211,167,247, 28,249,214, 12, 59, 38,117, 31, 76,153,167,192,153,245,208,152, 69, 40,231,123, 35, 63, 55, 23, 95, -109,138,201,211,104, 77,175, 36,169,172, 19,152, 25, 37,168, 20, 80,154, 23,191,250,226,179,216,165, 75, 22, 56,232,179,226, 43, -249, 20,163,231,183,236, 43, 88,178,112, 21, 85, 97, 52,141,201, 42, 67, 69, 99, 60, 70, 71, 44, 91,190,114,109,212,123,227, 70, -165, 6,181,235,235,206,202,239,187, 27, 52, 26,229,206,147,215,189,171,158, 20, 41, 0,200,204, 47,129, 74,173,101, 88,134, 62, -231, 40,196,162,100, 75,172,131, 85,104,237, 5,207,232, 94, 97,175,121, 58,138,160,175, 44,135,151,163, 16, 67,186,183,121,141, -254, 61,253,211,251, 74,107,228,218,227, 66,139, 6,161,245,184,188,108, 64, 48, 97,233, 96,176, 52,204,183,127,177,222, 50, 70, -225,147, 41,125, 28,156, 92, 77, 15,120,208,202, 0,123, 15, 80, 78, 45, 0,231, 86,148, 48,100, 12,228, 89, 73,204,135,175,141, - 43,185,159,157,255,163,135,125,195,211,218, 52, 71,192,101,199,163,178, 40, 19,119,229,102,132, 41, 31,206,182, 59, 21,221, 0, -107,139,152, 99,195,127, 20, 57, 57, 57,111,204,153, 51,231, 66,247,238,221,155,121,120,120,160, 67,135, 14, 56,122,244, 40,102, -204,152, 81,115, 76,231,206,157, 65, 8, 65,105,105, 41,150, 47, 95, 94, 40,151,203,223,104,240, 1, 61, 41, 41,117,251,246,237, -125, 66, 67, 67,205, 34,145,168, 28,128,164,188,188,220,174,180,180,148, 50, 24, 12,224, 56,142,115,118,118,102,229,114, 57,253, -202, 43,175, 24, 47, 93,186,212, 70,171,213,230, 60,137, 69,203,223,223,255,110, 73, 73,137,154,162,168, 39, 14,253, 80, 45,178, - 60, 60, 60, 60, 43, 43, 43, 57, 0,101, 77, 9,253,192, 48, 12, 34, 34, 34,112, 42,225, 6, 78,252,118, 9, 26,121, 26, 38,191, -247, 6, 58,116,232,128, 83,167, 78, 53,249,154,117,234,212, 9, 39,207, 92,192,133,107,183,144,147,126, 27, 31, 78,126, 15, 97, - 97, 97, 56,121,210,230,189, 96, 5,142,227, 81,223,172,227,143, 11,173,126, 49, 49, 49,213, 67,255,159,228,107,176, 7, 58, 9, - 93,196,191, 44, 24,214, 38, 68, 24,185, 0,148,208, 30,251,218,157,236, 57,247,171,239, 83,249, 94, 57,227,238, 42, 27, 95, 29, -246,200,159, 70,137, 36,114, 37,117,215,173,148,224,215,158,239,238,143,205, 71,165,159, 3,192,152,222,173,241,123,134, 10, 87, -210,149,187,146, 85, 72,122,210, 90,135,123, 65,202, 22, 99,215,242,143, 70,246,107,209,220, 27, 91, 14, 93, 0, 69,225,160, 69, - 55, 92, 66, 72,247,208, 22, 88,189,253,241, 21,134,222, 1, 43,247, 26, 82, 79, 39, 85, 12, 3,128,200, 96,233,175, 93,219,184, - 6,144,218,142, 91,117,192, 94, 44,152, 56,108,212,235,118, 76,250, 81, 32,251, 12, 40,198, 8,189,153,131,162,184, 2, 58,103, -127,196, 39,222,210,171, 13,166,143,147, 85, 77,179,226,165, 20, 35, 75,116,245, 86,110,165, 86,239, 35,245,108, 99,224,243, 56, -174,210, 72,240,123,114,182, 38,185, 16,105,150,112,100,101,193,244,172, 31,211,123,195,182,189,243,133, 34,241, 24, 62, 5,202, -203, 69,230,185, 97,213, 98, 56, 58, 58,128, 51, 85, 2, 90, 21, 94,252,224, 43,213, 93, 57,221, 26, 0,218,185,195,161,119,107, -225, 54, 1,143,202,143,203, 52,207,107,236, 55, 40, 26,147,198, 13,233, 44,228, 76, 90,124,180,124, 15, 54,126, 58, 18,175, 15, - 12, 17, 30,191,152, 62, 9,192,162,166, 94,107,194, 50, 32,180, 30,207,125,150,144, 74, 1, 23, 8,208,235,218,222, 37,193,192, - 13,139, 57,186, 0, 66, 86, 64,133,116, 12,144,137,184,252,139,224,242, 47, 18,190,127, 79, 80, 1,125, 40,202, 59,130,124,183, - 98,161,118,243,230, 45,167, 57, 30,190,176, 32, 84, 6, 88, 14, 40, 78,191, 0,147,201, 4,154, 5, 12, 6, 3,180, 90, 45,100, -153, 39,107,124,180, 68, 66,106,232,212, 55, 71,116, 34,149,114,221,177, 84, 38,119,203,123,193,207,145, 74,185,238,114, 46,155, - 94,172, 53,218,172, 89, 54,252, 27,145, 37,151,203,135, 14, 31, 62,252,183, 83,167, 78,185,133,135,135, 3, 0,174, 93,187,246, -240,161, 51, 34, 2, 65, 65, 65, 40, 42, 42,194,216,177, 99,139, 21, 10,197, 80, 52,226,243, 91, 81, 81,113,127,255,254,253,205, -180, 90,109,231,121,243,230, 41, 91,180,104,161, 49, 24, 12, 84,121,121, 57,199, 48, 12, 92, 93, 93,197,157, 59,119, 70,143, 30, - 61, 42, 19, 19, 19, 91,230,229,229, 85, 0,200,110, 74,225, 71,142, 28,137,132,132,135,139,246,158, 70, 92, 45,145, 72,132,240, -240,112,191,172,172,172,130,170,123,139,213, 99,124,237,219,203,173, 91,183,112,238, 70, 62, 4, 38, 61,196, 42, 57, 46, 31,218, -143, 17, 19,223, 7,195, 52, 61,183,252,173, 91,183,112,248,204,101,200, 36, 2,164,165, 37, 97,255,254,253,152, 60,121,242, 19, -113, 54, 17, 13,106,145,127, 56, 20,168,199, 79, 75, 0, 0,209,209,209,231,170,173, 21,181, 17, 24, 8,177,164, 18, 11, 34,187, -248,205, 26,211,171, 13,159,214,200,193,177, 28,248, 66,192,203,195, 9,191,252,178,171,245,174, 61,123, 18,215,175, 91,191,150, - 99,152,185,119,149,208, 89, 81,168, 5,171,246, 92, 24,243,203,244,126,130,201,195,130,221, 0, 64, 36,224, 97,205,209, 36, 6, -192,130, 39,169,237,179,126,197,208, 97,164, 0, 0, 32, 0, 73, 68, 65, 84,176,171,164, 49,193,203,221,249,243, 57,239, 70,185, -245,139, 8,194,185, 43,119,177,118,127, 98,130, 88,137,237, 22,119,110,142,198,227,250,169,174, 85,135,224, 26,247,187,100, 89, -226, 45,146,185,194,156, 29, 7,152, 13, 48, 24,205,200, 43, 97,145, 87,106,128, 64, 42,194,181,244,124,189,123, 33, 98,158,160, -218,148, 76,106,231, 59,255,203,149,205, 13,250, 74, 70, 83, 86,204,136,196,151,133, 82,123,137,194, 26, 87,133,203, 5, 48,244, -105, 37,124, 6,224,248, 98, 59,162,251,108,218,155,178,130,228, 83,104,203,147,131, 34, 4,246, 33, 81,112,180,231,139,122,181, - 20,230, 2,128, 76, 38, 21, 47,255, 98,134,243,199,159,126,209,168, 15, 88, 8, 32, 10, 10,244,254, 56,188,133, 43, 18,174,167, - 34,225, 78, 78, 82,194,181,180,176,254, 29,124, 17,212,220,101,170,184,172,124, 89, 10,172,183,144, 62,188, 48, 12, 64, 27,106, - 86, 29,134,120,225,213,174, 99,230,213,183,218,176, 78,180, 2,184,116,150,128,226,243, 1,138,247,112, 5,100,222, 69, 8, 92, - 2,201,174,189,135,117, 91,182,108, 95,156, 82,108,249,226, 12,154, 5,171,209,104, 32,147,201,112, 50,157, 49,190, 62, 68, 36, -225,241,120,200, 75,191,241,135, 51,188, 27, 47, 84,212,127, 73,240,197,133, 93, 79, 57,138, 41,137,111,212, 23, 33,204,157,237, -249, 77,189, 73,216, 96,195, 63, 1,106,181,250,118, 74, 74,202,144,142, 29, 59,110,253,232,163,143, 28,199,141, 27,231,251,222, -123,239,241, 0,160,168,168,136, 91,189,122,181,252,187,239,190, 83, 23, 23, 23,191, 69,211,180, 37,161, 76,136, 66,161,184,244, -227,143, 63,170,206,159, 63, 31,214,173, 91, 55,201, 51,207, 60,195,185,186,186, 10, 36, 18, 9,107, 50,153, 12,233,233,233,108, - 86, 86,150, 79,121,121,249, 61, 0,153,104, 66,198,138, 42,235,213, 34, 62,159, 63,159, 16, 18,254, 52,124,180,164, 82,169, 47, -128,123, 20, 69,181,181,118,218,240, 79, 55,108,129, 0,101,101,101,208, 21, 38,193, 46, 63, 3, 29,101, 60,132,186, 58,192,201, -201,233,137, 68,145, 90,173, 6,180, 5,184,112,225, 22,192, 48,112,118,118,134,179,179,243,223, 46,180,234,211, 34,255, 18, 76, -168, 99, 95,195, 62, 90,161,158,152,108,111,194,234,137, 81,109, 68,173, 2,154,195,152,127, 13,183,242, 42, 49,247,217,110,201, -124,137,163, 97,226, 27, 35, 35, 70,189,220, 18,253,122,116,165, 90,249, 56, 79, 93,182,234,135, 15, 66, 81, 60, 35, 89,137, 53, -150,148, 40, 89,133,251, 28,148, 91,226,110,231, 79,106, 46,213,131,227, 8,226,238, 40,112, 39,187,108, 75,170, 10,247,173,169, - 93,168, 15, 6, 9,192,219, 67, 8,177,115,150,201, 42, 66,131,154,123, 12,122,174, 19,111,104,223, 8,136,248,192,133,223,111, -225,147, 85, 7, 47,115, 28,137,186, 97,225,180,225,195, 21,134,143, 10,168,135, 43, 12,233, 71, 86, 24, 18, 66,200,195, 85,135, - 13, 27, 31,248,124,170, 80,151,115,213, 91,232,222, 14,250,204, 56,100,151,113,200, 81, 86, 64, 35,240,134,177,160, 0, 32, 92, -238,185,134, 29,171, 27,132,135,135,135, 87,235,208,160, 54,223,111,219, 15,179, 78,141,251,241, 91, 81, 89,166,192,146, 13, 71, -219,248,249,185,247, 45, 40, 40, 56,103,197, 96, 19,244, 91,204, 46, 47, 16,128, 47,148,224,248,250,189, 40,118,183,135,135, 84, - 4, 78,175,194,196,143,199, 57, 15,139, 28,231, 12, 0, 57,105, 55,209, 66,170,183,136,215,236,142, 81, 99,250,183,119, 1,173, -199,182,147, 55, 13, 60, 96,232,246,211, 73,153,253,131, 93,236,198,244,106,225,186, 72, 94,254, 18, 74,154, 22, 84,180,218,162, - 85, 99,225,107,194,106,195,253, 0, 27,204, 33,115,207, 37,165,236,229,200,103,164, 34, 1, 69,145,202, 2, 16,123, 15,252,176, -109, 95,165,152,182, 46, 19, 59, 7, 44,234,190,244,254,252,135,253, 4, 91,135, 45,189,246,110,236,231,207,122, 22, 22, 22,194, - 92, 53,119,120,191,148, 59,251, 70,100, 40,155,175,230, 76,167,151,189,248, 50,101,239, 41,158,249,245,246,120, 2,216,162, 73, -219,240,175,134, 94,175,191,174,215,235, 59,204,156, 57,243,213,207, 62,251,172,143, 76, 38,107, 13, 0, 90,173,246, 62, 77,211, - 9, 85,255, 79,107, 86, 7, 18, 0,247, 50, 51, 51,239,103,102,102, 54,219,177, 99,135, 11, 0,187,170,239, 12, 0,202, 1, 20, -225, 9, 86, 28, 86,139, 42,138,162,230, 63,173,118,168, 22, 85, 20, 69,181,109,202,249, 60, 30,143,165, 40, 10, 20, 69, 65, 34, -145,224,252,249,243, 24, 29, 21,137,148,227,229, 8,119,113, 64,183,183, 38, 98, 79,108, 44,248,124, 62, 40,138, 2,159,207,183, -234, 62, 34, 16, 8,112,225,194, 5,188, 62,246,101, 72, 4,128,179,179, 51,102,206,156,137, 35, 71,142, 64, 32,176,101,233,179, - 2,155,106, 9, 46, 11,227,104, 81, 88, 20,187,245, 43, 17, 88, 26,199,182,126,131,152,255, 99,239,188,195,162,184,218, 40,126, -166,108, 99, 89, 58, 75, 47, 34, 17, 16,197,222,149,168,177, 37, 17, 99,139, 45, 49,182,168,196,104,212,152,216,141,198, 24,187, - 17, 99, 47,201,103,239,198,130, 73, 84, 18,123, 65,197, 2, 34, 32, 40, 74,239,157, 93,182, 76,249,254,160, 4,148,178,139,166, -153,249, 61,207, 60,179,101,246,236,204,220,221,185,103,222,123,239,123, 35,138,180,209,153,152,231,147,137,160, 35, 40,228, 50, -191,219, 29,120,238, 74,196,170,177,195, 2,228,111,117,239,133,183,186,117,167,155,182,237,186, 0,168, 98,180,122,162,150, 92, - 27, 44,135,111,182,253, 26, 53,241,224,133, 24, 2,186, 66, 12,235,221,150,103, 57,124, 83,199,193,188,160,105, 97,162, 56,120, -229,250,117, 43,232,138,240,244,238,239,178, 6, 13,223, 0, 88, 29, 98, 99, 31, 97,253,174,159,184, 11, 55,163,247,104, 25,124, -246, 56, 23,197,134,106,150,214,148, 12, 44, 76, 37, 62,111, 55, 53,255,133, 3, 15, 75,185,184, 49,207,177,176,148,139, 26,247, -106, 44,255,133,231,121,222,204, 68,212,152,103,245,117,106,170,181,204,214, 93, 63,238, 88, 51,110,220, 56,211,172,164, 52,164, - 20, 68,160, 72,226, 12,189,220, 21,113,119, 47,169, 85, 26,198,144, 74,188,198,243,153,149,149,149, 17, 22,154,131,131, 91,150, - 65,175,213, 32, 35,169,212,171,166,100, 21,192,220,214,249,122,114,114,178,193,154, 58,134,203, 31,244,225, 4,177,137, 25, 76, - 70, 14, 10,144,196,101,107,208,202,201,172,244,162, 81,148,137,135, 33, 87,208,173,172,143,233,227, 68, 18,238, 45,156, 12,218, - 79, 51,153,248,179,119, 90, 59,227, 73, 66, 42, 46, 63, 72,222,245, 36, 7, 41,108, 84,234,174,184,148,188,192,254, 29,220,176, -246, 68,228, 20, 64,191,223,152, 99,247,181,195, 8,158, 71,151,210,206,240,106,240, 64, 23, 95, 59,140, 48,112,164,225, 11,154, -180, 24, 31,172,249,229,217,252,195,183,178,250,207,252,192,223,188, 83,167,119, 37, 96,180, 40, 84,107,244, 15,243, 80, 96,140, -102,129,154,219, 10, 96,107,249, 27, 97, 73,220, 30,255,133,215, 47,237, 31,239,170, 44,247,234,151,226, 52,215, 1, 92, 31,219, -222,100,129,184,251, 18,159,235,139,219,159, 9, 79,229,246, 94,138,171,200,161, 85,231,255,168,158, 8,154,130,230, 95,161,201, - 2,216,163,215,235,247,228,229,229,189, 74,205, 20,188,152,215,233,165,142,189,114, 51, 33,207,243,116, 89, 52,171,174,206,240, -181,106, 86,110, 38,228,121,254,231,178,104, 86, 93, 81,173, 42,154, 28,199,165,180,105,211,198,186, 95,191,126, 96, 89, 22,143, - 30, 61,194,179,196, 68,244, 12,156, 2, 75, 75, 75, 92,186,127, 31,209,209,209,248,234,171,175,160,215,235,113,252,248,241,164, -186, 52,105,154,214,189,241,198, 27,226, 1, 3, 6,128, 97, 24, 60,126,252, 24,201,201,201,152, 62,125, 58, 44, 44, 44, 16, 22, - 22, 86,161,153,149,149, 5,154,166,117,213, 68,183,254,140,223,210,191,157, 23, 76, 86,237, 70, 11, 96,193,234,145,127,110, 33, -214, 93,134, 78,167, 71,227,200, 76,196, 71,254, 17,145,218, 76,133,222, 63,117, 63, 34,234, 73,216,213,183, 36,200, 8,135,177, -119, 18,143,178,145,106, 38, 43, 44,132,174,208, 28,143,127, 65,124,122, 97,209,163,108,164, 26,125,199,192,177, 4,116, 42, 32, -245, 54,174, 93,186,136, 11, 55,238,225, 86,120, 20,123, 45, 44,230, 32,201,225,155,135,217,120, 84,143,187, 16, 40,250,174,197, -232,240, 88,183,182,222,246,110, 96, 25,240,156, 30, 22,195,246, 99, 76,100, 39,183,182,158,150,110,165,145, 44, 61,172, 62,254, - 29, 88, 35,171, 85,239,118,162,126,155,228,196,153,193,133,121,217, 29,122,116,237,104,106,225,251, 14,178, 98, 99,240,232,222, - 21,117, 88, 68,220,181,219,137,250,109, 47, 83,186,206,206,206,111,246,232,234,131, 97, 19,231, 64,167,202,199,227, 11, 63,162, - 40, 39, 13,151,175, 43, 16, 85, 80,208, 17,128,193, 17,173,235, 9, 76, 83, 36,228,162,115, 3, 81,130, 25, 52, 14, 31, 5,244, -131,148, 40, 1,167, 41, 0,161,202, 66, 92,178, 54,127,240,150, 68, 22, 0,228, 82,130, 54,229,243,205, 13,138, 60,186,219,120, -201, 41, 61,118,159,123, 0,142, 43,157,190,137,227,176,121,247,239,113,129,223,140,108,133, 38,110, 86, 45,238, 38,103, 16, 48, - 34,228, 79,240,240,191,117,240,235,198, 37,191, 45, 0, 56, 29,174, 76,181,110,236,191, 46,199, 31,245,156,110, 39, 34, 5,201, - 0, 2, 65,171,182, 78, 93,247,235,130, 54,231, 34,187,204,248,184,191, 57,248, 87, 50, 66, 55, 38, 50,141,125,179,253,242,103, -103, 56,190,106,123,110,105,100,203,151, 79, 41,224,239, 94,138,211, 8, 89,225, 5, 4, 4, 0, 0, 69, 69, 69, 19,199,140, 25, -179, 85, 36, 18, 41, 1, 16, 28,199,129,227, 56,122,213,170, 85, 34,150,101, 73,146, 36, 89,138,162,152,159,127,254, 89,207,178, -108,102, 73, 73,201,196,186, 52, 25,134,137,155, 52,105,210, 27,117,141, 80, 60,112,224, 64,185,201,138, 19, 74,194, 32,147, 85, -121, 93, 17,229,162,107, 9,210,126,221,121,228,194,133, 0, 8,240, 88, 20,153,137,248,231, 55, 9,207, 65, 74, 19, 74, 55,189, -105,219,174, 11,203, 63, 99,236,158,149,176,236,251,109,155,121, 31, 0, 0, 13,207,142,172,207,209, 21,104,212, 67, 91,182,237, -120,144,227,121,154,225,249, 29, 36,135,163, 37, 12, 30, 26, 50,210,174, 38, 82, 50,242,194,222,241,179,224,129,210, 38,195,138, -230,194,178, 52, 14, 60,207,243, 21,205,133,171,101,200,202,215,212,153, 7,234,106,188,182,151,150,185, 53,225,236,213,187, 19, - 89,150,119,160, 40, 34, 77,173,101,182,190,172,201, 2,128,228,228,228,139, 33,231,146,207,222,111, 97,223,219, 86, 94, 22,229, - 82, 1, 89, 42,156, 77,206, 44,186, 88, 31,205,220, 98,125,255,185, 65, 39, 78, 74, 68, 20, 13,158, 47, 77, 40,202,243, 40,209, -177, 57,215, 19,152,166, 0,208,204, 26, 78, 95, 30,103, 14, 80, 20,241,172, 46,189,208,232,212,181,195,150,135,124,241,224,105, -238,142,167,121,136, 0,128,167,121,136, 56,116, 37,126, 65, 92, 90,225, 23, 17,207,114, 87,195,200,126, 21, 60,129,203,109,135, - 45,124,225,181,151, 61,159, 81,169,184, 7, 96, 32,144,212,107,216,140,245, 51, 8, 2,175,106,250,137, 24,181,142,119,127,254, -197,242,200,150,112,173, 18, 16,248,103, 80, 30,213, 34, 73,114,241, 43,212,252,153, 32,136,119, 1,196, 26,241,177,208,162,162, -162,102,175,248,240,178, 25,134,201, 54,100,195,191,161, 67,252,191,149,109,127,215, 23,247, 20, 52,255,122,205, 70,141, 26,241, - 70, 24, 22,225,124, 10,154,130,166,160,249,159,210,228,121,158,122,153,165, 6, 77,226,101, 22,161,140,254,245, 76,168,233,185, -208,211,237, 53, 36, 54, 54,150, 16,206,130,128,128,128, 64,245, 16, 4,193,254, 9,154, 66,118, 60,129,114,131, 85, 37,186, 69, - 10,231, 68, 64, 64, 64, 64, 64, 64, 64,224,149,152,172,202,235, 82, 19,142,154,195,127,198,140, 38,168, 79, 8, 49, 68,208, 20, - 52, 5, 77, 65, 83,208, 20, 52, 5,205,255,156,102, 93,218,194,104,198, 63,217,128, 9,154,130,166,160, 41,104, 10,154,130,166, -160,249,223,211,252, 55, 83, 99, 31, 45,161,233, 80, 64, 64, 64, 64, 64, 64, 64,224, 79, 66,232, 12, 47, 32, 32, 32, 32, 32, 32, - 32,240,114,212, 57,169,180,128,128,128,128,128,128,128,128, 64,253,168,125, 82,105, 1, 1, 1, 1, 1, 1, 1, 1,129,122, 99, -252,164,210, 2, 2, 2, 2, 2, 2, 2, 2, 2, 6,177, 77, 56, 5, 2, 2, 2, 2, 2, 2, 2, 2,127, 13, 85, 71, 29, 6, 7, - 7,243,149,215, 2, 2, 2, 2, 2, 2, 2, 2,127, 37,175,171, 23, 17,154, 14, 5, 4, 4, 4, 4, 4, 4, 4, 94,142, 9,130, -209, 18, 16, 16, 16, 16, 16, 16, 16,248,115,168,177,143, 86,121,194,210,110,101,161,186,110,194,185, 18, 16, 16, 16, 16, 16, 16, -248, 27,120,189,189,136,208, 63, 75, 64, 64, 64, 64, 64, 64, 64,240, 34, 2, 2, 2, 2, 2, 2, 2, 2, 2,255, 36,132,185, 14, - 5, 4, 4, 4, 4, 4, 4, 4,254, 98,195,245,167, 27, 45, 97,102,115, 65, 83,208, 20, 52, 5, 77, 65, 83,208, 20, 52,255, 75, - 38,171,138,217, 18, 70, 29, 10, 8, 8, 8, 8, 8, 8, 8,188, 28,117,142, 58, 20, 16, 16, 16, 16, 16, 16, 16, 16,168, 31, 19, - 0, 4,148, 61, 14, 64,165,168,150, 16,209, 18, 16, 16, 16, 16, 16, 16, 16,120, 57,182, 1,112, 44, 51, 88,167, 1,164, 10, 70, - 75, 64, 64, 64, 64, 64, 64, 64,224,213, 80,185, 95, 86,223, 74,230, 75, 48, 90, 2, 2, 2, 2, 2, 2, 2, 2, 47, 73,141,125, -180, 8,212, 60,114, 32,196,136, 47,168,207,232,131, 16, 65, 83,208, 20, 52, 5, 77, 65, 83,208, 20, 52,255,115,154,117,105,135, -224,223,199, 4, 99,204,215,171, 68, 24,250, 42,104, 10,154,130,166,160, 41,104, 10,154,130,230,127,150, 87, 62,234,176, 21, 96, - 34,156,214,215, 18,251,178, 69, 64, 64, 64, 64, 64, 64,160,118,254,156, 81,135,190,192,199, 31,250, 41,183,232, 35, 50,205, 35, - 0, 85,109,219, 42,149,202,173,114,185,252, 67,149, 74, 85, 76, 16, 4, 87,254, 58,207,243, 0, 80,121,174,163,199,153,153,153, -254,117,125,183, 68, 34, 9,178,183,183,255,184,168,168, 72, 69, 16, 4, 79, 16, 4, 8,130, 0,128, 23,214, 44,203, 38,101,103, -103,183,249, 87, 23, 33,207, 83,182,246,246, 55, 69, 20,229,108,236, 71, 89,142,139,207, 72, 79,239,104,196, 71,150, 17, 4,102, -150,126, 45, 86, 2,152,243,186,253, 35,120,128, 50,100, 59, 63,192, 44, 6, 24,198,146,228, 20, 17,176, 81,195,113, 91, 0,128, - 0,216,250,126,183, 38, 20,111, 16, 60, 90, 16, 4, 44,120, 30,249, 60,129,123,210,246,136,251,155, 78,197, 32,145, 72,212,223, -220,220, 92,145,157,157,125, 17,192, 1, 0,195,109,108,108,186, 22, 20, 20, 20,233,245,250, 19, 0,142,213, 71,216,191, 5,102, - 73,196,162,177, 37, 58,253,138,171,247,240, 99,215, 86,176, 97, 56, 44,151,137,105,127,141,150, 89,121,229, 62,118, 24, 41, 73, -148, 45,229,215, 12,163,231, 72, 59,108, 96,185, 3,192,113, 43, 43,111,169,210,252, 55,145,132,138,207, 75, 47,250,240,253,140, -140,196, 33, 47, 81,238,255, 68,108,109,109, 71,147, 36,249, 45,207,243, 96, 89,118, 94, 78, 78,206,206, 87, 36, 61, 15,128,101, -217,227, 60, 0,223,190,164,222, 51, 0,110,101,143, 19, 0,184, 11,245,122,189,217,252,211, 79, 63, 5,118,239,222, 29,107,215, -174,197,230,205,155,159,102,102,102, 46, 7,176, 11,128,246,111,208, 17,168,137, 38,192,187,171,250,180,103,245,255,251,134,171, -244,114,207, 26,254,204, 63,124,244,209, 71, 58,158,231,249,232,232,104, 94,171,213,242,122,189,158,103, 24,134,103, 24,134,215, -235,245, 21,139,179,179,115,242,115, 31,127, 65,147, 36,201,117,131, 7, 15, 46,228,121,158,191,125,251, 54,175, 86,171,121,141, - 70,195,107,181, 90,190,164,164,132, 87,171,213, 85, 22,123,123,251,244,218, 52,205,205,205,111, 91, 89, 89,165, 91, 89, 89,165, - 91, 91, 91,167, 91, 91, 91,167,219,216,216, 84, 44,182,182,182, 21,139, 82,169, 76, 87, 42,149,233,214,214,214,183,235,218,207, - 50,250, 0,184,104,192,210,167,154,207,246,172,108,180, 28, 29, 29,211,249,122,224,226,226,146,104,192,126,150, 99, 79, 16, 96, -203, 63, 75, 16,224,164, 82,169, 91,229,247,241, 98,164,171,206,144,178,147,147,211, 96, 71, 71,199, 16, 71, 71,199,115, 78, 78, - 78,131, 13,248,137, 85,209, 52, 51, 51,187,109,107,107,155,238,224,224,144, 81,190, 56, 58, 58, 86, 89,156,156,156, 42, 22,123, -123,251,116, 43, 43,171, 26,203,136, 7,168,154,150, 11, 0, 45, 5,222,162, 41, 42,216,222,222,190, 32, 60, 60,156,229,121,158, - 39, 73, 50,185,124, 27, 99,142,253,121,147,165,186,130,121, 89,231,165,161, 69,241,203,243,179,206, 75, 67, 85, 87, 48, 79, 19, -138, 55,234,171,105, 32,213,105,142, 26, 53,106,212,189,244,244,244,228,188,188,188,212, 45, 91,182,196,200,100,178, 43, 91,182, -108,137,201,203,203, 75, 77, 79, 79, 79, 30, 53,106,212, 61, 0,147,140,208, 4, 0,116,108,129, 14,227, 6, 57,170,238, 29, 31, -169,122,171, 45,125,183,179, 31, 2,122,117, 20, 39,111,152,237,171,186,180,189,139,170,123,107, 50,194, 72, 77,130,166,233, 78, -110,110,110, 99,149, 74,229, 71,101,203,200,242,197,193,193, 97,164,131,131,195, 72, 43, 43,171, 33,181,105, 30, 6, 40, 67, 22, - 87,153,172,211,144,134,110,170,103,139, 23,241,225,211,166,240, 99, 61, 93, 11,222,183,179,107,240, 55,148,209,159,170,105,103, -103,151,162,215,235,121,157, 78,199,219,216,216,164,188,194,253, 92,205,243,252,106,158,231, 87, 3, 88,253, 10, 52, 43,174,103, - 70, 24,236,218, 52,101, 52, 73,206,144, 75, 36,231,164, 52,157, 33,165,233, 12,185, 68,114,142, 38,201, 47, 0,200,254, 73,101, -244, 39,104, 42,148, 74,229,147,160,160, 32, 94,165, 82,241, 42,149,138, 15, 10, 10,226,149, 74,229, 19, 0, 10, 35, 52,235,171, -243, 58, 69,176,158, 95, 94, 93, 68,203, 23,104,243, 86,139, 70, 71,167,142, 30, 6,238, 72, 16, 81,199, 29,211, 15, 29,219,180, - 25,187,107,215, 46, 0,192,135,253,251,163,119,187,118, 48, 83,152, 66, 34, 41,221, 29,130, 39, 32, 22,137, 49, 96,250,231,134, -124,253,202, 1, 3, 6,124,112,228,200, 17, 5, 0,108,222,188, 25,131, 6, 13,130,181,181, 53,228,114, 57,196, 98, 49, 68, 34, - 81,149,117, 93, 80, 20,229,146,156,156,108, 39,147,201, 42,162,108, 28,199, 85, 89,120,158, 47,143,190,129, 97, 24,120,121,121, - 25,122,186,102,231,231,231,191, 89, 92, 92, 92,161, 81,221,210,176, 97, 67, 0, 56, 99,136,224,183, 75,190, 1,199, 20,131,166, - 1,134, 1, 52, 58, 18, 28, 95,173,185,193,164, 73,147, 42,246,187, 62,244,237, 27, 64, 16, 4,113, 36, 44, 44,236,104, 70, 70, -134, 7,199,177,227,235, 25,233,250,244,209,163, 71, 10, 0,240,246,246,158, 4,224,168, 49,251, 65,211,180,203,253,251,247,237, -164, 82,105,141,145,203, 74, 17, 76,232,116, 58,180,106,213,138, 49,230, 59,236, 1,183, 28,146, 28,223,178,117,235, 9, 11, 7, - 12,144,221,188,121, 83, 70,146, 36, 24,134,193,170, 85,171, 24,158,231, 45,155, 0,230,145, 64, 65, 45, 50,115, 1,140, 46,171, - 12,118, 0, 88, 85,197, 45,240,104,161,214, 75, 3, 30, 23, 13,104,215,190,193, 44, 68, 62, 8,111,231,169, 56, 14, 51, 90, 19, - 7,252,181, 81, 45,115,115,243,254,107,215,174, 85,238,216,177,163, 32, 58, 58, 90,183,101,203, 22,229,196,137, 19,205,116, 58, - 29, 2, 3, 3, 51,125,124,124,196,107,215,174, 85, 30, 59,118,236,173,226,226,226, 77, 70,149, 23,129,111,134,247,239,141, 18, - 61, 9,189,158, 81, 58, 42,205,246, 76, 29,213, 77,196,243, 90,236, 62, 17, 6, 61,195,253,104,100, 36,171,227,251,239,191,239, -185,127,255,126, 58, 42, 42,138,110,220,184, 49, 56,142, 3,203,178,208,235,245, 0, 0,142,227,208,168, 81,163,151, 62, 47, 99, - 1,111, 91,123,235,115, 29,223,125,199,196, 81, 38,133,117,110, 38,198,137,105,179,157,114,205, 94, 0,157, 94,171,200, 46,207, -131,166,105, 36, 38, 38,194,206,206,206,132,227,184, 84, 0,139,114,115,115,183,225,245,165,157,132,166,143,238,254,113,157, 67, -251, 78,157, 40,123, 71, 59,196, 60, 74, 0, 77,176, 61,239,223, 10,235, 54,246,147, 25, 83,181, 12, 51, 24,192,205,215,237,192, - 29, 58, 77, 26, 72,144,212,102,130,231,240,245,134,147,133,203, 86, 6,201, 3,199,143,162,166, 79,159, 14, 87, 87, 87,143,129, - 3, 7,174, 4,240, 73,157, 58,237, 39, 13, 4, 69,110, 6,207, 99,225,250,147,133, 75, 87, 6,201, 63,169,135,206,191,156, 26, -255, 35, 47,109,180,124, 1,207,166,174,118,103,151,205,252, 68,196,255,242, 63, 82,149,157, 81,227,182, 74,165,114,235,219,111, -191,253,225,206,157,127, 68,163, 59,250,249, 97,224, 91, 93, 96,103, 99, 1,185,169,164,180, 58,226, 8,220,139,142, 55,200, 16, -184,186,186, 6, 30, 61,122, 84, 81,217, 76,136,197,226,138,165,178,201, 42, 95,202, 43,224,218,144,201,100, 8, 9, 9, 1, 77, -211,160, 40, 10, 52, 77, 87, 44,149,159, 83, 20, 5,123,123,163,186, 46, 45,183,176,176,104, 94, 88, 88,104,158,151,151, 7, 55, - 55,183, 2, 0,247, 43,189,223, 60, 51, 51,211,220, 24, 65,142, 41,198,244,113,190, 16,105,111, 64, 43,106, 7, 53,221, 25,215, -110, 61, 68,240,153,139, 72, 78, 73, 67,151, 14, 45,241,209,136,247,113,238,220, 57,176,172,209, 45, 29,233, 60,143,149,253,250, - 5,204, 2, 8,162,103,207,158,121,147, 39, 79, 38,163,162,162, 62, 24, 56,112,128,223,163, 71,177,101, 81, 69, 98, 38,207, 99, - 29,128,116, 3,117, 37, 0,112,233,210, 37, 0,144,214,231,183, 39,149, 74,113,253,250,117,148, 55, 19,147, 36, 9,146, 36, 65, - 81, 20, 78,197,218,162, 88, 75, 66,149, 30,129, 41, 1,110,104,216,176, 33, 72,178,238, 46,137,221, 0,217, 53, 96, 32, 33, 18, - 77,119,116,114,242,232,234,233, 41, 15, 9, 9,161, 0,192,221,221,157, 79, 77, 77,205, 59,113,226, 68, 33, 13,108,118,231,249, - 93,181,153, 44, 87, 87,215,206,201,201,201,223,150,159,115,130, 32, 86, 54,104,208,224,171,138,114,227, 56, 44,250,177, 88, 52, -117,234, 52,113,251,110,243, 1, 0,237,251,237, 71,193,227,101,190, 68,206, 92,139,191,250, 42, 81, 80, 80,112,176, 81,163, 70, - 84,118,118,246, 53, 0,207,244,122,253,236, 61,123,246,216,141, 27, 55, 46, 99,239,222,189,203, 1, 56,173, 88,177,162, 91,113, -113,241, 33, 99,116,187, 52,199,187,173,155,251,117,112,115,117,197,197,107, 55, 33,150,136, 44, 39,141, 14,128, 66, 65, 99,245, -142,211,220,179,164,156,201, 87,238, 99,151, 17, 38,171,221,251,239,191,239,177,127,255,126, 9, 0,220,191,127, 31,105,105,105, - 80, 42,149, 48, 49, 49,129, 72, 36, 2, 69, 81, 16,137, 68,175,196,100, 89,184,218,132, 30, 63,126,194,196,218,218, 18, 27, 62, -159,138,143, 50,210, 97,105,166,128,190,168,216,227, 53,171, 40,188,253,253,253,101, 44,203,162,184,184, 24, 23, 46, 92,176, 48, - 49, 49,177,112,113,113, 89, 8, 35, 70, 79,201,100,178,244,146,146, 18,187,178,199, 25, 37, 37, 37,246, 0, 10,164, 82,105,249, -117,186,168,108,109,104,115,226, 51,188,216, 76,152, 64, 16, 68,229,215,234, 75,219,118,109,155,135, 28, 59,178, 79,145, 95,152, - 6, 75,171, 12,144,200,199,182,109, 27, 97, 98, 98,142,133, 11,231,210,241, 61,223,114,238,243,238,224,144, 7, 15, 99,122,190, -118,102,139, 39,182,245,236,247,161,181,137,220,172,172, 46,209, 99,231,246,169, 32, 73, 18, 95,125,245, 21,154, 54,109, 58,225, -193,131, 7,243, 1,228,212, 46,131,109,205,222, 28,106, 45,145,149, 22, 49,199,234,177,229,192, 23,165, 58,115, 38, 98,120,191, -134, 19,190,124,255,201,175, 77, 61, 81, 88,118, 99,174, 22,145, 72, 32,218,163,194, 48, 4, 7, 7,119, 13, 8, 8,184, 88,211, -243,127, 1,142,248, 35,127, 86, 21,243, 69, 7, 7, 7,243, 1, 1, 1, 68,165,131,171,242,188, 54, 90, 0,182, 86, 22,242,144, -205,139,166, 42,232, 27,167, 41,117, 66, 44, 82, 74,170, 84,228, 85,134,104,202,229,242, 15,119,238,220, 89, 37,164,228,102,111, - 7,177, 88, 4,145,152,128,165,127,105,246,250,188,203,193, 32,136, 26, 77, 86, 21,205,226,226,226,146,187,119,239, 42,118,236, -216, 1, 59, 59, 59,120,120,120, 64, 46,151, 67, 38,147, 85, 49, 87,149, 13, 87, 53, 70,171,138,102,249,251, 52, 77,131, 36, 73, -156, 59,119, 14, 12,195,224,253,247,223,127,193,100,209, 52, 93,147,113,171,105,120,234, 25, 0,247,121,158,127,179,172, 2,190, - 15,160,107,165,247,251, 40,149,202,217, 0,150, 27,170, 73, 81, 60,168,146,107,224, 92,130, 64, 39, 78,133, 86,212, 2,231,175, -132, 97,231,214,181, 0, 0,143,198,109, 49,100, 96, 64, 69, 52,206,192,253,172,192,217,217,249, 64,102,102,214, 59,111,189,245, - 22,114,115,115,245,139, 22, 45, 66,243,230,205,225,237,237,109, 80, 25,213,112,231,156,126,255,254,125, 87,181, 90, 13,158,231, - 13, 49,103, 47,104, 18, 4,129, 61,123,246,160,164,164,228,133,141,173,186, 46,197, 23,131,220, 49,102,202, 46,172,140, 62,132, - 77,155, 54,213,122,236,114,160,121,137, 69,163,117, 18,138,105,190,124,238,167,210,143, 62,250,136, 26, 51,102, 12, 18, 18, 18, - 48,110,220,184,146,115,231,206,105,211, 82, 83, 79, 72, 56,110,131,174,170, 49,174, 81, 83, 42,149,238, 62,115,230, 12, 14, 29, - 42,245, 37, 49, 49, 49,240,242,242, 50,173, 98,146,115, 14,163,240,217, 6,132,158,138, 66,251,126,251, 17,122,106, 4,216,188, -211,162, 54, 94,200, 55,230,124,214,131,234, 52, 15,101,103,103, 87,152,168,189,123,247,154,236,221,187,119, 0,128,147, 0, 14, - 1, 64, 78, 78,206,119, 70,106, 2, 4,198, 12, 29, 52, 0,180,216, 12, 81,177, 73,232,218,177, 21,236,237,236,112,255, 97, 28, -158, 37,231,164, 19, 4, 70,247,233, 36, 89,174, 86,107,231, 95,190,135, 31,234,208, 36, 92, 92, 92,188, 15, 31, 62, 44,174, 20, -129,174,248,143, 83, 20, 85,241,188,220,120,215,231,247, 89,110,178,204, 92, 20,161,223,108,236,108, 26, 26,190, 23, 94,238,239, -194,234,221, 0,252,112,246, 44, 30, 61,136, 44,209,170,152, 30,127, 67, 25,253, 89,154,222,131, 6, 13,186,182,111,223, 62,203, -196,196, 68, 92,186,116, 9, 30, 30, 30, 80,169, 84,134,220,240, 86,209, 44, 41, 41,177, 43,255, 12, 65, 16,118,229,129,119,173, - 86, 91, 94, 24,229,127, 68,203, 74,219, 89,214,162,233, 86,105,187,114,115,229,254, 10,142, 93, 34, 19,139, 15, 31, 63,118, 64, - 17, 25,117, 9, 45, 91,116,128,194,162, 9, 56, 54, 13,217, 57, 69,200,141, 77,193,146, 37, 43,177,112,209, 60,156,252,233,136, -194,199,183,197, 81, 45,195, 52, 2, 80,242,218,148, 59,193, 79, 8, 57,181,119, 51,193,115, 80,167, 71, 73, 69,197, 79,228, 31, -142, 24, 76, 13, 27, 54, 12, 39, 79,158,196,131, 7, 15, 54,215, 98,178, 66, 42, 69,230, 39, 68, 92, 58,180, 25, 60, 15,117, 70, -148, 84,172,126, 34, 31,245,193, 16,234,163,225,189,113,227,247,117,232,221,242, 73,132,147, 29, 6,230,150, 89,108,154, 66,182, - 84,134,171,124, 40,110, 84, 50, 91, 23, 0, 16,149, 12,214, 5,252,209, 7,243,223, 64,223, 50, 99, 53,225,249, 27, 19,186, 62, - 6, 11, 0,188, 0, 5, 33, 17,135,238, 92,248,169,147, 60,225, 1,173,137,184,142, 20, 13,199,111,121,202,112,173, 0,147, 59, -128,250,249,207,168, 84,170,226,184,184, 56,147,209, 3, 7,162,147,159, 31, 28,109,108,208,200,197, 5, 38, 82, 9, 36, 98, 81, -149, 91, 86,131,219, 16, 8,130,247,241,241, 65,191,126,253, 32, 18,137, 32,151,203,161, 80, 40, 32,145, 72,170,141,102, 25,122, -151,203,243, 60, 40,138, 66, 68, 68, 4,158, 61,123, 6, 75, 75, 75, 92,189,122, 21, 61,122,244,120, 33,170, 85,217,156, 25, 19, -162,175,166,226, 47, 55, 98,103,140,209, 98, 89, 2, 69,124, 11,200,158, 78,134,138,104, 5,141,134,129, 70,163,193, 15, 87,116, -184, 25, 87, 12,157, 78, 11,141, 70, 83,219,119,214, 4,233,228,228,244, 97,163, 70,141, 38,141, 24, 49, 66, 47,145, 72, 80, 92, - 92, 12,149, 74,133, 7, 15, 30,232,223,121,231,221,188,126,253, 2, 44, 78,159, 62,205,151, 53, 29,166, 27,161,157,237,236,236, -236, 90,214, 60,155, 93,159, 95, 53, 65, 16, 21, 38,230,121, 70,127, 23, 9,154, 42, 45,147,205,155, 55,131,101, 89,240, 60, 95, - 99, 33,149, 16,196,111,139,150,174,177, 88, 17,244, 35, 44,172,237,113,241,226, 69,246,215, 95,127, 45, 36,128,152, 71, 15, 30, -124,247, 30,240,243, 97, 64,103,204,254,229,230,230,154,120,120,120,192,197,197, 5, 28,199, 65,175,215, 87, 68, 95,178,179,179, -161, 86,171, 97,109,154,135, 55,108, 92,192, 20, 94, 64,106,196,215,112, 84, 68, 97,215, 25,173,190,181, 55,238,253, 3, 46, 28, -255, 43, 91, 94,242,174, 25,206,118, 14,174, 32,121, 61, 82, 50,178, 49,160,111,111, 80, 98, 5,226, 19,179,208,162,137,167,227, - 7,239,117,118,164, 8, 6, 51,151,239,159, 4,112, 63,212, 37, 87, 84, 84,196, 70, 69, 69,225,254,253, 82,191,107,110,110, 14, - 83, 83,211, 42,255,113,146, 36, 95, 42,162, 85,110,178,150,110,238, 97, 74,138,138, 81,192,134, 96,199,158, 48,180,240, 9,192, -150,208, 91, 37,108,122, 78,207,213, 37, 37, 49, 7,254,197,193, 12, 7, 7,135,137, 28,199, 45,228,121, 62,175, 75,151, 46,246, -251,247,239,183, 74, 78, 78, 70, 88, 88, 24,190,250,234,171, 76,150,101, 25,158,231, 9,158,231,191,126, 5, 95,199, 85, 50, 88, -175, 18,145, 92,134, 41,182,230, 68,127,154, 52,247, 96, 10,138,226,179,180,252, 9, 21,195,173, 7,160,175,245,226, 70,146, 31, - 31, 57,184,217,201, 86,201,161,155,242, 45,164,166,235,176,244,243, 81,200,206, 46,196, 15,219,151, 1,144, 64,199, 80,120,179, -219, 96,216,217, 57, 99,194,248, 9, 14,155,183,110,249,148,225,184,213,120, 77, 72,187,182,233, 39, 0, 33, 74,165,242,193,167, - 19, 38, 40, 61, 60, 70, 66, 38,147,225,192,129, 3,216,191, 97, 3, 27, 4, 12,145, 2,231, 3,129,159,106,213, 9,253, 67,103, -106, 96,160,210,215, 55, 16, 82,169, 20,191,255,250, 63,148,164,237, 41,236,219, 9, 58, 85, 9,250, 54,232,199, 91, 63, 61, 69, -228,136, 68,136, 5, 0,145, 12,169, 0,158,111, 6,251,183, 25,172,114, 78,227,143,126, 89, 19,170, 68,180,234,125,237, 20, 73, -194,183, 79, 27,238,110, 15, 13,161,189,114, 10,201, 26,142, 93,241, 72, 71,221,201,231,191,120, 88,141,201, 42,251, 97,115,110, -110,110,120,171, 77, 27, 12,244,247, 7, 77,211,144, 73,196, 48,147,153,128,103, 75, 35, 89,229, 77,135,181,212,137,168, 46,250, -100, 99, 99, 3,177, 88, 92, 97,176,140,136,102, 85,171,201,113, 28,104,154,198,253,251,247,209,165, 75, 23,184,186,186,226,208, -161, 67,232,211,167,207, 11, 77,137,198,154,172,114,163,245, 92, 51, 94, 31, 0,229,145, 44,163,140, 86,137,150, 64,150,182, 5, - 8,194, 15, 12, 3,176, 60,160, 41, 41, 1,207, 3, 60, 15,232,117, 90,148,148,148, 84,124,167, 33, 77,178, 14, 14, 14,110, 38, - 38, 38,139,103,205,154,233,219,162, 69, 75,100,102,102,130,227, 56,152,154,154, 66,165, 82,193,220,220, 28,157, 58,117,138, 95, -188,120,113, 42,207, 99,130,145, 38,235,165, 41, 63,231,103,207,158,173,210,108, 88,190, 20,167, 38, 97,204,103,123, 33,161, 75, -155,150,202,251,240,212,118,221,237,254,102,103, 92,187, 19,195,124, 60,115,157, 70,148, 29,182,220,129,227,118, 38,189,196,113, -241, 60,143,172,172, 44,164,167,167,163,255,128, 1,216,191,111, 31,158, 62,125,138, 38, 77,154,160,123,247,238,176,179,179,195, -211,167, 79,113,243,178, 6,154,220, 28,228,104,195, 32, 55,107,143,227, 23,227, 52, 95,109,214,197,253,141, 23,140,254, 0, 70, -153,155,155, 55, 84,169, 84,169, 12,195, 28, 6,112, 24,192, 16,154,166,135,200,229,114,199,130,130,130, 39, 40, 29, 77,116,162, - 46, 49, 19,153,204, 70, 42, 51, 7,199,104, 64,211, 52, 92, 93, 61,192,179, 90,228, 22,168, 49,122, 88, 63,220,185,255, 16,191, -158,191,193,232,245,220,247,134,156, 86,138,162,120,111,111,111,100,100,100, 64, 36, 18,193,196,196, 4, 10,133, 2,115,230,204, -193,134, 13, 27, 42, 76, 86,125,141,214, 88,192,219,220, 77,113,227,219,141,165, 38, 43, 45, 37, 21,233, 73, 34, 40,109,236,241, -253,134,160,226,220,167,105,237,127, 4, 98,254,237,149, 44,199,113, 95, 39, 39, 39,219,209, 52,237,192, 48, 12, 18, 19, 19,113, -251,246,109, 76,158, 60, 57, 61, 59, 59,187, 27,234,121,140, 50,153, 44,163, 60,146, 85,214,116, 88, 83,115, 98, 94,165, 72, 86, - 94, 45,146, 53, 53, 19,122,122,184,152,157,219,190,118,186, 91,219,246,157, 72, 57,109,158, 91, 20,155,214,229,202,165,139,157, - 38,175,253,225,211,103,185, 69,189, 1, 60,174, 73, 84, 42, 18,189,211,161,115,103, 26,124, 58,104, 73, 23,172, 92, 49, 12,153, - 89, 5,200,205, 41,132, 88,108, 10,173,158, 2,203, 17,232,212,197, 31,255,219,117, 16, 77,199,143,163, 36, 34, 81, 47, 70,171, -125,109,140, 86, 25,203,214,175, 95,239,230,227,227,131,157, 59,119,226,252,238,221,248, 40, 63, 31, 23, 73,146,210,139, 68,182, - 63,235,245,219, 80,135,209,170,172,211,180,105, 83,252,248,227,143,216,179,103, 79,194,135, 61, 50,142, 78,255, 16,118, 58, 29, -222, 14,139,134,117,131,126, 64, 88, 52,172, 91,251,160, 17, 67, 35,150, 32,170,166,131, 10, 14, 14,238, 90,121,253, 47, 35, 21, - 53, 52,177,211, 0,186, 5, 7, 7,243,149,215,117, 94, 56,149, 94,129,203,122, 55,116,247,123,195,141,208, 31, 90,135,196, 98, - 70, 59, 63, 90, 39,121, 84,196, 79,127, 8, 4,213,114, 7,193, 83, 20, 5, 51, 19, 19, 40, 45, 45, 75,195,252, 36, 9,112, 0, -167, 7, 8,182,212, 0,240, 28, 1,158, 53,234,130, 1,137, 68, 82,109,199,119, 99,251,102, 85,214, 44, 44, 44, 68,124,124, 60, - 38, 76,152, 0,185, 92, 94,234,220,211,210,224,238,238, 14,154,166,145,156,156,140,223,127,255, 29, 13, 27, 54,132, 84, 42, 53, -202,109, 85,138, 46, 53, 71,233, 40,195,230,169,169,169,230,142,142,142, 48, 58,162,197,241, 80,105, 8,104,181, 44, 30, 61,122, -132,148,148, 20,196, 63,137, 69,219,226, 2,240,160,192,243,188, 81, 17, 45,103,103,103, 63, 79, 79,207, 45,203,151, 47, 23,187, -184,184,128,231,121, 88, 89, 89, 66,165, 82, 33, 43, 43, 27, 77,154, 52,129,171,171, 43,150, 47, 95, 14, 0,251,255,106,147,245, -220,111,170,194,104, 85, 54, 92,159,189,231,134,156, 28, 5, 40,138,172, 48,206,117,244,209, 18, 3, 64,183,222,131,232,115,191, -254,108,202, 0,139,211, 40,106, 49, 93,119, 57,234, 89,142,147,215,244,126, 98, 98, 34, 68, 34, 17,142, 28, 62,140,156,244,116, -180,104,209, 2,237,218,181, 67,108,108, 44,238,220,185, 3, 27, 27, 27, 40, 93, 58,226,226, 19, 29, 34, 83,212,176,176,176, 64, - 92, 18,249,119,166, 12, 24,223,179,103,207,175,190,251,238, 59, 59, 7, 7, 7, 81,102,102,166,207,198,141, 27, 91,108,220,184, -113,234,167,159,126,106,255,233,167,159, 90, 41,149, 74, 58, 45, 45,205,251,243,207, 63,111, 29, 18, 18,210, 16,192,154,218, 4, - 77, 77,205,172, 41,177, 41, 8,130,134,165,133, 21,104,137, 41, 56,134, 6,203, 1,230, 22, 74, 92,187,115, 4, 87,195, 11, 39, -102,100,227,176, 65,241,177,178,114,183,177,177,121, 33, 82, 61,121,242,100,108,223,190,189,162, 25,177,190, 38,107,233,198, 30, - 10,162,204,100,165, 37,210, 32, 52, 13,113,234,167,235,121,185, 79,211,186,188, 14, 38,171,252, 26,199,243, 60,158, 60,121, 2, -149, 74,133,203,151, 47,227,235,175,191,206,124,222,100,217,217,217,141, 55, 55, 55, 95, 84, 84, 84,180, 50, 45, 45,109, 93,157, - 55,126,165, 38,170,252,113,249,186,218,230, 68, 3,119,213,189,186, 72,150,171,163,236,204,157,203,123,221, 45,248,123, 4,158, - 77, 0, 30, 21, 60, 48, 11,181,123,243,221,182,125,201, 86,155,190,105,208,110,226,156, 51,137, 5, 37, 62, 53, 69,182, 56,150, -109,101,170, 48, 3,144,129,176,219, 23, 42, 76, 86,118, 78, 62, 52, 58, 10, 26, 45,129, 18, 29,137,183,122,190,141, 13, 91,246, - 32, 57, 35, 7, 44,203, 54,123,205, 76,150,181,159,159, 95,224,144, 33, 67,176,120,241, 98,132,124,247,157,246, 19,130, 40,160, - 1,254, 52,203,130,227,121,130, 52,172, 19,123, 21,157,213,171, 87,255, 4,200,224,209, 35, 0, 0, 32, 0, 73, 68, 65, 84, 96, -248,242,201,232,152, 91,132,209, 78,253,120,235, 6,253, 74, 55,124,127, 22, 15, 0,214,153, 33, 85,171,204,128,128, 0,162,188, -101,205,216, 22,182,127, 58,116, 64, 64,192,197,224,224, 96, 84, 94,215,246, 1, 51,123,159,119,191,156, 49,105, 69,219, 62,254, - 68,234,140, 94,200, 41, 40, 97,230, 70,234, 36, 73,234,218, 77, 86,101,190,220,184, 17,119, 98, 74,255,199, 46,118,118,152,249, -193, 7,224, 25,224,234,131, 72, 28, 12, 9,193,176,158, 61, 97, 42,147, 25, 28,217,224, 56,174,218, 40, 86,229,104,150,177, 81, -167,188,188, 60, 28, 62,124, 24,237,218,181,131, 92, 46, 7, 77,211,104,222,188, 57, 30, 62,124, 8, 79, 79, 79, 16, 4,129,227, -199,143, 99,224,192,129,120,252,248, 49, 58,118,236,168,120,246,236,153,209, 70, 43, 50, 50,210,156,231,249, 55,203,163, 31,245, - 69,163,209, 32, 42, 42, 10,253,250,245,131,149,149, 21,156,157,247, 35,228,204, 94,200,253, 62, 2, 65,192, 40,163,197,178,236, -216,190,125,251,138, 9,130,128, 90,173,130, 76,102, 2, 83, 83, 5,204,204,204,225,237,237,131,148,148, 20,244,233,211, 71, 27, - 23, 23,183, 41, 53, 53,245,144,177,251,234,235,235,107,250,244,233,211,143, 26, 52,104, 32, 1, 0, 19, 19,147, 38,158,158,158, - 95, 60,126,252,184,208,216,168, 86,185,193, 34, 8, 2, 20, 69, 85, 24, 45,154, 36,225,232, 96, 87,241,188,172,127, 26, 81,139, - 86, 65,114,182, 70, 10, 0,110,110,110,216,176,245, 36,217,183,111, 95, 76,157, 58, 21,122,189, 30,155, 54,149, 14,178, 27, 49, - 98, 4,116, 58, 29,142, 30, 45, 29, 36, 73,211,116,173, 97,147,219,183,111, 35, 44, 44, 12,122,189, 30,249,249,249,248,229,151, - 95,112,241,210, 37, 28, 56,254, 27,158, 62,137, 69,115, 31,119,140, 27, 55, 22, 34,145, 8,187,118,237, 66,151, 46, 93,254,214, - 11,130, 72, 36,250,112,251,246,237,142, 59,119,238,204, 59,126,252,120,113,135, 14, 29,164, 65, 65, 65,118, 27, 54,108, 80,106, -181, 90, 76,155, 54, 45,227,198,141, 27,154, 1, 3, 6,152,110,219,182,205,241,141, 55,222,232,197, 48, 76,117, 70,203, 20,192, - 48, 0, 35,115, 11,181,116, 94,161, 26, 28,163,197,147,167,241,200, 47,210,130, 99,117, 72, 72, 74, 65, 81, 9,139,236,156, 66, - 52,111,213,123,253,133, 11, 23,230,233,116,186,185, 0,130,235,218,207, 7, 15, 30,224,198,141, 27,120,250,244, 41,158, 60,121, - 82,213, 41,142, 31,143, 61,123,246, 24, 29,209,170,222,100, 81, 32, 52,158, 8, 62, 30,154,151, 17,155,250,218,152,172,178,107, -208, 66, 71, 71,199,133,142,142,142,178,179,103,207, 90, 52,104,208, 0, 12,195,104,159,143,100,117,235,214,109,254,246,237,219, - 29, 61, 61, 61, 39, 3, 88,247, 79,216,119,146,196,248,149,155, 3,109,205, 36, 9, 41,120,180,166, 44,151, 32, 5,168, 10,128, - 11,251, 64,119, 94, 16, 63,121,192, 44,171,217, 59, 23,143,231,192,213, 56, 66, 54,238,113, 34, 54,111,222,128,233,211, 70,227, -127, 63,172, 4,199,209,208,232, 41,184,121,116,128, 70,199,129, 32,105,180,104,213, 6,231, 47, 92,134,136, 4, 14,239,220,252, -154,249, 44,228, 68, 68, 68,108, 58,126,252,248,148,169, 83,167,130,227, 56,201,162,205,155,213,153,153,153,203, 96, 92,254,171, -231,117, 6,110,222,188, 57,102,246,134,204,159,166,127, 8,234,233, 41, 34, 39, 44, 26,214,239,207,226,113,100, 5,129,214, 62, -200,145, 87, 95,197, 95,122,110,253,122, 24,173,114, 39, 89,121, 93, 29,173,188, 26,126, 99, 97,109, 53,150, 52,115,182,157, 57, -245, 19,250,113, 90, 9,142, 54,248,160,232,247,221,223,155,166, 49,210,245,113, 40, 9, 50,230,139, 15,254,254,123,197,227, 85, -251,247, 87,251, 94,234,251,239, 27,124,103, 86, 83, 20,203,216, 72, 22, 0,200,229,114,203, 94,189,122,161, 71,143, 30, 24, 60, -120,112, 69,159,172,150, 45, 91,226,192,129, 3, 24, 52,104, 16,238,222,189, 11, 71, 71, 71, 52,110,220, 24,141, 27, 55,198,207, - 63,255,108,236, 69, 14, 44,203,194,207,207,175,124,212, 97,243,164,164, 36,243,250, 22,164, 70,163, 65,118,118, 54,172,173,173, - 33,145, 72,208,190,125, 59, 76,249,172, 61,108, 29,127,132,159,175, 15,138,139,139, 43,134,191, 27, 80,217,250, 53,106,212, 8, -153,153,153,200,204,204,132, 82,169,132,147,147, 19, 28, 28, 28,176,102,205, 26,126,221,186,117,191,234,116,186, 77, 89, 89, 89, - 70, 71,178, 28, 28, 28,252, 9,130,152,175, 86,171, 37,149,238,112, 37, 74,165,242,132, 90,173, 94,150,154,154,106,112, 71, 80, -130, 32,160,211,233, 64, 16, 4, 78, 63,113, 66,177,150, 64, 65, 82, 24,166,190,231, 94,197,120,137, 68,162, 58,155, 75,121,158, - 47, 30, 62,124,184,157,171,171, 11, 18,227, 30,224,200, 17, 30,223,125,247, 93,249,168, 72,196,148,221, 24,148, 63,239,222,189, - 59, 60, 60, 60,192, 27,145, 43,131,227, 56,220,191,127, 31,251, 79, 92,132,163,187, 47, 18, 30, 69,225,206,207,167,208, 64,105, -141,166,173,218, 64,175,215,191, 84,234,141, 87,129, 94,175,223,225,229,229,197,107,181,218,139, 0, 54,132,135,135,143, 78, 77, - 77,157,118,242,228, 73,167, 33, 67,134,164,156, 58,117, 42, 8,192,206,240,240,240,192, 37, 75,150,244, 96, 24,166,218,209,130, - 20, 69,253,239,243,207, 63,239, 54,100,200, 16, 66, 76,234,181,103,207,236,162, 25, 70, 79,124, 57,119, 7,123,225,202, 69,146, - 97,244,196,224,225,159,115, 63,255, 30, 78, 78,252,108, 21,219,178, 67, 95, 68, 68, 68, 56, 4, 4, 4, 44,209,235,245,181, 26, -173,242, 72, 85, 77, 17, 74,138,162, 48,122,244,104, 28, 56, 96,120, 15,170,113,128,167,185,187,226,198,210,141, 61, 21, 4, 93, - 84,201,100,189,129,224,227,161,121,233,143, 82, 94, 43,147, 5, 0,217,217,217, 91, 1,108,229, 56, 46,221,212,212, 20,133,133, -133,213,253,254,100,225,225,225, 50,137, 68,130,222,189,123, 91,135,132,132,196,144, 36,185, 46, 37, 37,165, 70,199, 81, 93, 51, - 97,117,205,137,120,137, 81,135, 86, 74, 4,180,247,111,101, 22,109,177,216, 76, 70,151,220,109, 16, 35, 51, 39, 0,228,107,236, -159, 92,123, 54,172,128,200,144,182,108,211,189, 53,204,105,211,128, 60,166,176, 90,163, 69, 82,212,157,252,220,188,119, 10, 10, -181,184,114, 53, 2,195,135, 53,130, 70, 71,128,227, 72, 20, 21,107, 0, 74, 4, 18,192,136, 15, 70,129, 39,104,228,164,167,128, -162,168,112, 48, 12, 94, 51,230, 4, 6, 6,190, 51,119,238,220,134, 51,103,206,196,204,153, 51,221,183,111,223,190,117,233,210, -165, 51, 51, 51, 51,155,161,142,228,227,181,232, 52, 56,117, 96,193,140, 19,151,183,228,247,237,164,126,212,218,167, 52,242,213, -218, 7, 57, 34, 17, 98,105, 10,217, 60, 95,181,155, 81, 64, 64, 64,215,202,235,127, 25,207,119,130,175,120,110, 80, 31,173, 70, - 13,157,223,110,213,210,239,179,121,115,231,153, 61,188,118, 1,179,191,217,192,123,181,233, 85,184,245,242, 29,109,145,169,199, - 59, 69, 89,177, 87, 13,245, 23, 0,240,246, 91,131,208,188, 73,187, 23,222,236,210,189, 52, 89,251,149,243,183,145,158,153,108, -112,101, 91,102, 14,170,237,147,101,200,144,254,231, 81,171,213,121, 17, 17, 17,118, 73, 73, 73, 85, 58,190,123,120,120,128, 32, - 8,132,134,134,226,198,141, 27, 24, 62,124, 56,104,154,134, 72, 36,194,197,139, 23,141,138,198, 84,138, 46,149,143, 58,236,227, -226,226, 82,211,104,195, 58,181,212,106, 53,242,243,243,113,230,204, 25, 52,106,212, 8, 75,151, 46,133,147,163, 61,230,205,155, - 1,142,227, 80, 80, 80, 0,150,101, 13,141,104,113,229,209, 34,142,227,144,153,153,137,134, 13, 27, 98,227,198,141, 8, 10, 10, - 90,146,154,154,122,210,216,125,116,117,117,181,100, 89,246,203,190,125,251,246, 26, 48, 96, 0,250,244,169,154,143,117,223,190, -125,102, 71,143, 30, 93,246,253,247,223,191,173,211,233,150,103,100,100,100, 26,162,251,227,143,165,233,151,228, 29, 22, 98,246, -144, 6, 24, 57,105, 23,214,172, 57, 6,169, 84, 90,165,226, 93,188,120,113,173, 38,134,227,121, 47,113,214,181,148, 25,179, 86, -219, 45, 91, 22,130,144,144, 12,144, 36, 9, 71, 71, 71,144, 36,137,248,248,120,144, 36, 9,119,119,119,144, 36,137,228,228,228, -242, 62,129,185,168,102,212, 99,245,119,225, 36, 74, 74, 74,144,152,240, 20, 73,113, 49, 80, 20,164, 65,105, 46, 71,238,131,251, -104, 62,110,124, 69,254,167,191,153, 61, 90,173,118, 79,165,231,171, 79,157, 58,165, 37, 8, 98, 48, 74,251,105,148, 71, 52,150, - 48, 12,179,164, 38,145, 14, 29, 58,180,156, 59,119,174,168, 60,221,134,147,219,183,140, 78,167,227, 0,192,167,249,155, 85,220, -126,108,108, 44,214,172, 89,131,226,226, 98,136,197, 98,177, 33,231,129,227,184,138, 17,134,213,153, 48, 99, 76, 22, 0,216,184, -187,172, 15, 13,187,200,222,139,219,162, 14,143,254,197, 36, 53,129, 4,169,125,125, 77,214,243,145, 45, 23, 23,151,133, 28,199, -241, 60,207, 47,168,244,150,212,205,205,237,242,217,179,103,109, 24,134,193,247,223,127,111,153,150,150,102,249,230,155,111,206, - 6, 80,163,209,170,174,153,176,186,230, 68, 84, 26,117, 40,149, 74,173,181,218, 26,131, 39, 47,140, 58,100, 89,120,155,155, 89, - 34, 23, 73,208,216,234, 91,230,217, 48, 57,231, 82,199,223,117,122,214,170,137, 41,171,111, 72, 22,104,225, 44,183, 4,199,243, - 53, 14,141,214,232,245,191,220, 13,187,211,219,205,181, 17,117, 50,248, 18,250, 15, 28, 2,141,134, 68,137,158, 0, 65,137, 64, - 80, 98, 52,107,222, 10,141,155, 54, 7, 15,224,246,205,107,140, 86,175, 63,247, 58,149,189, 99,231, 41,195, 9, 2,235,192,115, -124, 53,121,180, 26, 14, 28, 56,112, 25,128,207,234,210,177,235, 48,101, 56, 73,150,234, 84,206,163,245,249,148, 64, 60,184, 41, -178,184, 20,182, 66,220,167, 3, 78,103,134, 16,144,203,254, 24,117, 40, 34, 95, 42, 53,199,191,197,112,213,109,180, 92, 93, 93, - 45,205,165,178, 31, 63, 29, 55,214,236,217,189,235, 72,139, 12,197,213, 75, 49,185, 7,143, 30,203, 41,206,206, 24,103,132,201, -170,104,230,179,113,104, 0, 15,223, 23,141,150, 76,161, 4, 0,120,248,182, 3,101,106, 92, 26,161,234,162, 89,245, 49, 89,149, - 47,216,213,229,208,154, 56,113, 34,182,111,223,142,206,157, 59,195,203,203,171,226, 98,111,108,212,172,154,232,146,209,163, 13, - 43, 83, 88, 88, 8,119,119,119,108,219,182, 13,225,225,225, 48, 51, 51,195,240,225,195, 81, 88, 88, 88, 97,176, 12,237, 12,207, -243,124,236,217,179,103,219, 14, 29, 58,148, 23,137, 68, 68, 94, 94, 30, 44, 45, 45,177,113,227,198,226,212,212,212,211,245, 48, - 89, 67,196, 98,241,140, 97,195,134, 81, 62, 62, 62, 72, 79, 79,135,185,185,185,158, 32, 8, 17, 0, 88, 90, 90,234, 77, 76, 76, - 16, 24, 24,136, 22, 45, 90,248,207,156, 57,179, 51, 77,211, 27, 83, 82, 82,118,213,246, 91, 34, 8,162,162, 66, 29,183, 46, 10, - 90,109,105, 5,189,105,211, 38,148,245,117,251,163,137, 32, 46, 14, 48, 96, 36,139, 66,161,128,151,151, 87,181,101,239,239,239, -143,219,183,111,151, 54, 77,210, 52,236,236,236,112,245,234, 85,131, 70, 82,149, 39,130,140,136,136,128,175,135, 45,194, 67,206, -194, 86, 46, 66, 11, 39, 7,184,248,119, 69, 76, 76,204,223, 25,205, 34, 80,218, 15,163,103,217,111,112, 7,128,137,149,158,111, - 4,176,222, 24, 65,134, 97,120,146, 36,137,196,196, 68,157, 92, 46, 39,172,173,173,105,169, 84, 10,141, 70, 83, 97,184, 98, 99, - 99, 17, 28, 28,140,164,164, 36, 88, 91, 91,147, 22, 22, 22,208,233,116,185,134,232,123,123,123,195,193,193,161, 74,199,247,113, -227,198,213,203,100,141, 6,252,182,127,187,188,129,148,164, 44,124,109,223,198,147,168,248, 18, 82, 11,217,127,193,100, 1, 64, - 94, 94,222, 86, 0, 91,203,159,219,218,218,142,161, 40,106,158, 70,163,177,184,120,241,162,165, 82,169, 36,118,237,218,165, 95, -176, 96, 65, 30, 69, 81,185, 4, 65,172,253,251,205, 33, 34,179,242,227,220, 69, 86, 78,220,189, 18,254,218,180,196,217,141,115, - 69,141,148, 68, 83, 63, 12,204,120,120,101, 12, 19,215, 41, 61, 53,141,228,193, 69,214,114, 13,222, 49,123,238,226, 47, 99,162, -238,184,201,204,101,152, 24, 56, 23,167,127, 61, 15,130, 20,225,242,181, 80,104,117, 44,178,114,242, 49,108,196,135,112,113,180, - 69,228,141, 51,153, 12,199,109,124,189, 76, 54,183,161,119,255, 49, 86, 82, 19,121,217, 57, 97,177,231,135, 25, 32,201,117,248, -234,171,175,224,231,231, 55, 41, 34, 34,226,107,212,145, 71,139, 32,184, 13,205,186,142,176, 18, 75, 75,117,120,142,197,182,195, -179,203,242,104, 77,199,198,173, 71,155, 53,245,120,178,168,182, 60, 90,175,145,201,170,188,174,221,104,185,187,187, 75, 77, 69, -152, 32,162,232,153,159,126, 48, 64,153, 17,247, 0, 73, 15,239,148, 54, 47,232,212,186,180, 71, 15, 13, 73,133,222, 19, 85,243, -119,240,181, 53, 93,149,148, 24,116, 71, 95, 69,179,188,194,125, 62,154,101,164,201,122, 65,179,178,217,170,156, 55,203,213,213, - 21,203,150, 45, 51, 36,143,214,243,199, 94, 78, 31,148,118,128,175,220, 25,190,143,129, 38,171, 90, 77,165, 82,137,236,236,210, - 12, 9,221,186,117, 67,183,110,127,140,103,208,233,116, 21, 81, 44, 51, 51,179,234, 34, 90, 47,104,154,152,152,204, 62,118,236, -216,216,107,215,174, 13,253,226,139, 47, 68, 61,122,244, 40, 55,115, 42, 24, 54,183, 91, 21, 77,150,101, 3,207,156, 57, 67,113, - 28,135,109,219,182,225,246,237,219,188, 92, 46,159, 47,151,203, 55,152,152,152,176,106,181,122,226,248,241,227, 63, 92,180,104, - 17,233,239,239,143,235,215,175,147, 13, 27, 54, 28, 5, 84, 73, 98, 89,237,177,135,134,134,130, 36, 73, 48, 57, 9,152, 52,251, - 32, 76, 77,104, 68, 69, 69, 33, 39, 39,231,133, 36,166,134,156,207,202,145,146,242,197,223,223,191,162, 25,178,125,251,246,160, - 40, 10,119,239,222,173,169, 25,182,178, 38,111, 99, 99, 83,241,251, 16,139,197, 56,127,254, 60,190,249,230, 27,184, 89, 91, 34, -247, 97, 56, 28,186,189,133, 94, 99,199, 99,248,240,225,160, 40, 10,214,214,214, 21,145, 95, 3,126, 75, 47, 67,101,205,177,190, -190,190,163, 34, 35, 35, 93,154, 53,107,230, 24, 17, 17,209,221,207,207,207, 61, 60, 60,188,252,185, 20,134,245,205,169,208,188, -117,235,214,145, 13, 27, 54, 4,142, 30, 61, 90,204,113, 28,251,236,217, 51, 61, 0,194,193,193,129,186,117,235, 22,119,242,228, - 73,168,213,106,184,184,184,144,206,206,206,196,185,115,231,184,135, 15, 31,134,242, 60, 63,215,144, 99,103, 89,182, 74, 26,135, -242,199,251,246,237, 51,250,255,222,160,177,247,210, 30,111,250,184,102,165,220, 69,106,114, 28,216,124,165, 46,248,248, 41,141, -145, 38,235,207, 46,163,191, 82,115,241,163, 71,143,156, 53, 26, 13, 36, 18, 9, 54,109,218,164, 91,182,108, 89,100, 86, 86, 86, - 23, 84, 63,162,188,138,102, 61, 71, 29,230,212,162,249,194,168,195,252,108,156, 62,126,226, 86, 91,197,192, 29,152,148,146, 89, -209,177,145, 39, 8,235, 99,246, 77,186,200,219, 53, 75, 38,127, 94, 72, 22,178,170,211,181, 28,187, 86,173,213, 14, 25, 56,104, -196,111, 7, 14,236, 87, 44, 88,184, 16, 87, 67,195,145,157, 87, 4,142,167,192, 17, 4,230,205, 91, 0, 7, 91,107, 20,164, 60, - 82,105,116,186,129,168,154, 67,235, 95, 95,238, 4, 65, 78, 62,119,114,215, 58,146, 0, 87,156, 30, 45,165, 10,227,228, 35,135, - 15,164,135, 12, 25,130, 99,199,142, 33, 34, 34, 98, 75, 45, 38,171, 66,147,231,201,201,225, 23, 15,174, 35, 0, 78,157, 25, 45, -165,139,158,200, 71,125, 48,144, 30, 62,124, 56,126, 10,190,134, 3,167,158,108, 62,112, 10,167,240,122, 99,124,102,120, 51, 26, - 17, 93,154,120, 58,251,183,106, 42,163, 89, 53,146, 30,198, 33,167,184, 4,231, 30, 60,203, 35,121,178,222,185,117, 74, 47,144, - 98, 36, 36, 60,170,230,206, 74, 86, 86,161,151, 24,165, 73,146,100,149,104,214,203, 68,178, 42,239,167,189,189,125,149,233, 92, - 42, 87,220,229,125,128,234,145,218, 97,118, 66, 66,130,121, 66, 66, 2,120,158, 71,104,104,168,121,251,246,237,103,191, 76, 52, -107,198,140, 25, 21, 81,171,231,215,213,189, 86, 23,101,157,210,131,244,122,253,225,153, 51,103, 78,106,223,190,125,239,133, 11, - 23, 18, 48, 98, 2,222,231,162, 57, 12,199,113,184,112,225, 2,142, 29, 59,198,234,116,186, 9,169,169,169,225,149, 54,249, 62, - 44, 44,236,220,160, 65,131,118, 69, 71, 71, 83,145,145,145,224,249,186,199,157,170,213,106,120,121,121,129, 97, 24,172,152,228, -138,194,194,102, 96, 24, 6, 44,203,194,212,212,180, 34,138, 87,217, 60,215,245, 59, 98, 89,246, 5,163, 21, 26, 26, 10,138,162, -208,165, 75, 23,220,185,115,167, 34,162, 85, 87, 4, 74,167,211, 37,216,219,219,219, 47, 94,188,184, 98,191, 50, 51, 51,113,246, -236, 89,116,232,216, 9, 77, 38, 76, 68, 74, 74, 10,214,174, 93, 11, 39, 39, 39, 44, 93,186, 20, 57, 57, 57, 96, 24,230,175, 14, -167,191, 19, 25, 25,233,242,193, 7, 31,100,132,135,135,187, 4, 7, 7, 91, 6, 4, 4,152,142, 24, 49, 34, 35, 60, 60,220,133, - 32,136, 78, 48,178, 19, 52,199,113,115,230,205,155,247,235,210,165, 75,103,127,246,217,103,237, 71,143, 30, 45, 18,137, 68, 92, -114,114, 50,179,127,255,126,194,203,203,139, 20,139,197,196,153, 51,103,184,155, 55,111,222, 96, 24,102, 5,128,203,198, 68,156, - 43,155, 44,138,162, 12, 53, 89, 85,152,102, 39, 29,101, 70,102,118,217,176,105, 25,233,227,225,162,219,189,255,108,226,229,235, -143, 30, 83, 26,102,218,143,181,164, 6,120,157,161, 40,234,144,175,175,239,152,201,147, 39,155,244,233,211, 71,186,104,209,162, -252,194,194,194,154, 76, 86, 53, 55,204,127,201,168,195, 31,230,124, 17, 60,237,243,102, 99, 60, 63,118,104,128,144,226, 12,228, -210, 20,105,110, 73,162,149, 59,133,194,172, 88,229,169,223,118,198, 3,168, 43, 47,219,173,176,251, 17, 61,155, 54,107,121,116, -197,210, 21,118,243,103,205, 20, 29, 13,254, 5, 60,163, 67,232,197,139, 80,136, 89,254, 97, 88, 72,186, 70,167, 29,128,215,112, - 10,158,212,171,235, 15, 0, 56, 97,109,109,125,111,236,232,209, 94,190,190, 35, 32,151,203,113,228,200, 17,236,249,254,123, 54, - 8, 24, 42, 5,238, 4,214,145, 79, 47,227, 70,133,206,221,241, 99,199,122,183,106,245, 49,228,114, 57, 14, 31, 62,140, 93, 65, - 65, 6,235,252,203, 41,207, 12,127, 26,127,100,136,175,163,143, 22, 73, 20,222,120,244,172, 40,244,209,179, 34,112, 60,207,241, -188,134, 36,145, 88,172,211, 45,125,244, 36,185, 94,166,160,188,233,112,201,183,147, 95, 93,155, 71, 37,243, 83,223, 33,221,213, -152,172,164,202,115,164, 85,174,164,107,122,172,215,235,147, 12,148, 95,238,230,230,246,194,107,245, 15,253,242, 70,153, 44, 67, -243,104, 1, 64,118,118,118, 42,128,249,215,175, 95,223,215,187,119,239,241, 0,146,235, 89, 70,219,186,118,237, 58, 1, 0, 69, - 16,196,150,148,148,148,240, 23,254,240,169,169, 49, 78, 78, 78,171, 60, 60, 60, 38,150,222,152, 18,219,234,168,200,159, 52,107, -214, 76, 87, 93, 89,212,244,156,227,184, 58,203, 40, 47, 47, 15,237,218,181,123, 97, 78, 75,158,231,241,236,217,179,242,136, 83, -197,185,175,205,192, 21, 21, 21, 77,156, 50,101,202, 86,145, 72,228, 6,128, 40, 55,185, 44,203, 82,235,215,175,151,177, 44, 75, - 1, 32, 72,146,100, 68, 34, 81,201,177, 99,199, 24,134, 97, 18, 52, 26,205,196,191,248, 2,113,152, 40,157,138,161, 56, 50, 50, -210,167, 44,146,149, 20, 17, 17,113,247,192,129, 3, 74, 0, 7,235,169,123, 89,165, 82, 93, 94,182,108,153,255,166, 77,155,230, - 76,156, 56,177,221,240,225,195,233,110,221,186,225,244,233,211,236,133, 11, 23, 66,213,106,245,114, 99, 12, 86, 89, 89,230,187, -186,186, 86, 24,174, 58,254,203,181,118,228,181,113,151,110,248,240, 19, 39,217,182,229,103,139,178, 82,180,215,244, 69,218,185, - 59,129, 8,252,135, 73, 79, 79,255, 2,192,130,181,107,215,166,180,104,209, 66, 42, 22,139,181,134,154,172,191, 16,134,203, 43, -122,247,187, 94,239,159,232, 58,111,138, 71,175,238, 93,228,174, 13,236,156, 31,198,165, 35,246,250,233,226,123,167,190,125,202, -107,114,251, 3, 48,164,231,250, 77,141, 78,215,104,198,204, 25,147, 36, 34, 81,111,150,101,155,247, 56,119,156,167, 40, 42, 92, -171,215,159, 43,107, 46, 44,121,141,139,124,201,170, 85,171,188,124,125,125,113,228,200, 17,156,219,187, 23,195,178,178,112,158, -162, 40, 82, 44,182, 57,165,211,173,134, 97, 6,105,201,154, 53,107,188,253,252,252,112,232,208, 33,156,217,181, 11, 67,235,167, - 83, 83, 93,215, 22,128,178,236,105, 22,128,104, 0,173, 1,152, 0,208,160,116,106, 39,219,202, 85, 88,217,123,229,239, 95, 34, - 8,226,207,236, 8, 91,119,102,248,231,137,136,125,218,250, 85,239,133, 90,173,206,241,242,242, 50,106,204,181, 94,175,175,181, - 13,151, 97,152, 36, 79, 79, 79,131,163, 22,134,152,162,156,156,156, 54,127, 98, 97,188, 84, 95,172, 42,149, 8,199, 61,117,116, -116,228,202, 43,253,234, 76, 88,117,175,241, 64,188, 49,223,147,150,150, 22, 13,224,243,250,238,103, 74, 74,202, 81, 24, 48,105, -180,161,219, 1, 64,110,110,238, 43,159,204,151,224,249,228, 69,139, 22, 25,101,176,193,243,181,153,207,240,162,162,162,246,134, -124,183, 78,167,195,223,200,161,178,133,140,136,136, 24, 79, 16, 68, 31,148, 54, 9,108,193,171,201,230,125,185,160,160,224,242, -202,149, 43,253,183,109,219, 54,141,231,121, 20, 20, 20, 4, 25,107,176, 42,238,158, 51, 50, 78,191,170, 3,207, 73,215,254,190, -127, 75,210, 91,234, 60,221,180,237, 69,218, 93, 16,168, 8, 70,241, 60,255,191,145, 35, 71,118, 0,176,243,101,197,106, 24,117, -248,178,196,115,185,249, 45,206,207,248,102,236,121, 75,179,190, 96,105, 31,104,201, 83,208,102,159, 6,240, 35, 12,235,230, 80, -113,188, 12,199,173, 97,180,218, 53,149, 42,151,255, 66, 57, 91,251,249,249, 77, 27, 51,102, 12, 22, 44, 88,128, 51,171, 87,235, - 62, 33,136,124, 17,192,255, 90,122,163, 73, 18,192, 44, 67,117, 70,141, 26,133, 5, 11, 22,224,231, 21, 43,234,171, 83, 27, 74, -130, 32,130, 1, 96,246,236,217,115,151, 45, 91,102, 53,103,206,156,230,203,151, 47, 95, 90,246,252, 65,249,251,101,117, 93,192, -156, 57,115,154, 86,122,191, 16,192,173, 63,249,124, 86,155, 25,254,207,166,167,160, 41,104, 10,154,130,166,160, 41,104, 10,154, -130,230,203,192,243,124,223,210, 85,205,235,154, 30, 87, 90,255, 45,208, 16, 16, 16, 16, 16, 16, 16, 16,248, 23, 82, 57,138, 85, -159,247, 95, 33,229,125,180, 42,179, 13, 40, 29,214, 93,147, 43, 53,102,212, 67,125,156,109,136,160, 41,104, 10,154,130,166,160, - 41,104, 10,154,255, 57,205,186,180, 95,248, 60,207,243,125, 9,130, 8,230,121, 62,160,166,117,185,177,122,254,113,165,245, 43, -235,118, 80, 13,229,125,179, 94,232,163,245,103, 35,132, 85, 5, 77, 65, 83,208, 20, 52, 5, 77, 65, 83,208,124, 41,202,155, 0, - 1,240,179,103,207,158,243, 15,108, 58,116, 44, 51, 89,149, 23, 0,181, 52, 29,242,252, 97, 42, 57, 25,230, 18,137, 92, 12, 0, - 90,173, 74,231,236,140, 2,130, 24,242,119, 78,120, 43,240,239,164,124,184,119,250, 43,222, 86, 64, 64, 64, 64,224,191, 65,102, -121,164, 10, 64, 38, 0,162,236,185,182,108,157, 89,102,200,158,127, 92,229,253, 63,145, 84,212, 16,201,162,107, 50, 89, 89, 89, -114, 91,154,206,245,102,217,146,198, 0, 64,211,100, 84, 86,150, 85, 12,207, 31,206,170,143,217,178,181,179, 11, 19, 81,148,179, - 33,219,234, 89, 54, 57, 43, 61,189,106,234,120,130,120, 29, 12,158,161, 38,226,101,204,198,159,110, 84,108,109,109,237,237,237, -237,223, 51, 55, 55,239,152,151,151,119, 51, 51, 51,243,167, 90,230, 61, 92, 70, 16,152, 89,250,187,194, 74, 0,115,106,145, 54, -102,219,231,241,146,203,229,147, 8,130,240, 43,251,131, 69,168, 84,170, 77, 0, 30,253, 7, 47, 72, 38, 0, 6,208, 52, 61,202, -214,214,182, 93, 90, 90,218, 34, 0,245,205,230, 77, 3,152, 97,105,105, 57,204,210,210,210, 51, 39, 39,231,113, 65, 65,193, 33, - 0,107, 0,212, 57, 84,122,209,103,142, 29,187,245,233, 54,255,194,153, 11, 75, 22,125,159,122,253,133,247,103, 56,218,244,238, -213,121,193,133, 83,215, 22,207,221,152,146, 99,228,190,145,101, 11, 80, 58, 58,146,199,139,201, 94, 95, 22, 17,128,126, 0,186, - 1,184, 0,224,148, 33,199, 93, 3, 29, 0,204, 45,219,231, 53, 0,206,255,195,127, 71,166,246,246,246, 43, 0,244,163,105, 58, - 50, 57, 57,121, 2,128,164,191,121,159,104, 0,109, 1,248,161, 52, 13,199, 45, 24,150,194,161, 78,108,108,108, 2,104,154,158, - 84,150,218,101, 83,118,118,118,240, 63,181, 96, 36, 18, 73,144,131,131,195,199,106,181, 90, 69, 16, 4, 95, 57,223, 35,195, 48, - 73, 89, 89, 89,109, 94,183,139, 26, 65, 16,183,254,225,187, 56,161,154,215,106,206,163,149,156, 12,115,154,206,245,206, 72, 11, - 31,150,146,122,127, 40, 0, 56, 57, 54, 63,100,231,208,236, 96,114,178, 68,231,224, 51, 80, 33,146,211,155, 40, 74,212,178, 68, -171,177, 21,209,162, 44, 29,163,191, 75,106,249, 73,105,209, 63, 85,155,108, 81, 68, 81,206, 79, 99,206,219, 49,186, 28,136,100, - 78, 16,153,184,213,184,183, 78, 78, 78,245, 58, 74, 43, 43, 79, 51,157, 84, 54, 77, 36,162,122,113, 60,227,199,115, 0, 73,136, - 34, 24, 86,255,155, 88,163,249, 46, 55,247,113, 97,125,207,160,143, 13, 28,120, 96, 56, 8,244, 2,143,115, 4,112, 32, 58, 27, -105, 70, 72, 24,106, 34, 94,198,108, 84,254,236, 90, 0, 95,188,234, 95,146,179,179,179, 85, 64, 64, 64,208, 55,223,124, 99,162, - 80, 40,136,132,132,132, 62,179,102,205,122,243,246,237,219,159, 39, 39, 39,167, 60,111,250, 8, 2, 51, 57,142, 39, 1,128, 36, -137, 89, 74,165,157,156,162,168, 23,114, 27,177, 44, 43,207,204,204,152,204,113, 60, 81,182,237, 76,158,199, 58, 67, 12,163, 76, - 38, 27,225,215,172,229,231, 43, 86,173, 81,216,219,217,153, 50, 44,167,139,127,246, 84, 62,127,246, 23,237,227, 98, 31,173, 43, - 41, 41,217, 95,159,255, 53, 69, 81,195,164, 82,105, 0, 0,223,178,215, 30,106, 52,154, 96,150,101, 15, 26, 90,161,219,219,219, - 95,162, 40,170,129, 49, 95,204,178,108, 66,122,122,122,151,122, 22,209, 16, 55, 55,183, 31,187,118,237, 42,111,215,174, 29, 36, - 18, 9, 22, 44, 88, 48, 35, 53, 53,181, 46,163, 69, 3,152, 33,151,203,135,153,154,154,122, 22, 21, 21,197,169,213,234,163, 18, -137,164,231,186,117,235, 92, 59,119,238,108,150,158,158, 78, 80, 20,101,255,243,207, 63,127, 20, 20, 20,212,135, 97,152, 30,117, - 85,114,249,113,252,124,105, 63, 95,255,252,184,243,243, 1,188,243,252,251, 76,137,108, 20, 79,185, 6,168,249, 59,137,101,230, -195, 96,147, 37, 18,137,214, 57, 56, 56,140, 41, 41,205, 21,192, 63, 95,225, 0,128, 86,171,205,205,203,203,243,169,207, 95, 30, -192, 56, 75, 75,203, 49, 95,126,249,165,213, 59,239,188,131,189,123,247,126,186,125,251,246,220,130,130,130,255,161, 52, 17,102, -180,145,154, 51,211,210,210,222, 21,137, 68,132,171,171, 43,165, 86,171,141, 49, 90,222, 40,157,132,249, 22,128, 77, 40, 77, 93, -208, 29, 40,253,191, 3, 88, 89,110,220, 72,146,220,228,227,227,243,222,195,135, 15, 55, 3, 88, 82,223,255,186,131,131,195,214, -141, 27, 55, 14,237,223,191, 63,149,153,153,233,220,162, 69,139,125,105,105,105,254,175,224, 50, 50, 86, 42,149, 78,111,222,188, -121,147,232,232,232,152,130,130,130, 53,101,231,179,182,255,148, 11,128,158,150,150,150, 61,230,205,155,167, 8, 8, 8,192,182, -109,219,222,221,190,125,123, 81, 97, 97,225,111, 40,237,211,243, 82, 38,144,166,233, 73, 73, 73, 73,182, 60,207,195,209,209,113, - 18,128,127,164,209, 34, 73,114,221,160, 65,131,198,236,219,183, 79,254,244,233, 83,185,179,179,115, 69,242,108,130, 32,234, 93, -127, 10,188, 52,219, 42, 25,174,186,243,104, 73, 36,114, 49,203,150, 52, 78, 73,189, 63,244,205,174,235, 45, 0,224,210,197, 41, - 67,237, 28,154, 70, 72, 36,242, 24,169,185,236,216,160,126, 61, 91,190, 31,208,149,112,113,180, 67, 82,106,134,253, 15, 7,206, -188, 29,124,230,252, 49,148, 38, 16,171, 22, 70,151, 3, 19, 93, 8,162,175,124, 15,219,110, 41,216,240,115, 18,174,223,139,135, - 42, 63, 11, 13, 28, 76,176,106, 90,111, 56, 88,201,235,119,235,101,231,213,157,161,165, 7, 63, 24, 49,210,226,189, 1,190, 34, -119, 7, 7,240,188, 20, 49,113, 69,157,126, 57,123,190,237,209,195,251, 39,153,138,188,134, 21,103, 60, 50,248,226,214,202, 17, - 38,197, 58, 12,160, 41,226,163,206,109,154,244, 24,241,174, 63,217,196,183, 17, 34, 31, 60,236,125,226,247,208, 85,228,181, 7, -191, 49, 44,191,219, 84,140,227,119, 82,107, 77,232,247,130,225,232,209,163,167,191, 84, 42,173,146, 60, 73,163,209,136,127,251, - 45,164, 67,125,204, 70,249,119,104,181, 26, 82, 36,146,128, 36,137,207,253,252,154,249,102,101,101,157, 39, 8,226,199,148, 20, -227,162, 5, 83, 0, 73, 46, 77,183, 38,165, 82, 71, 86,171,181, 1, 0, 66, 34,201,141, 39,201,102,243,230,206, 85, 80, 20,197, -101,103,103, 67,165, 82, 17,227,199,143,151,197,197,197, 13, 74, 78, 78,254,190,142, 59, 18,108,223,190,221,219,209,209,241,133, -217, 99, 83, 83, 83, 37,253,251,191, 87,159,162,247,110,222,162,213,244, 51,103,126,245, 45,200,201, 45,217,190,118,107,152, 94, - 38,215, 52,244,245, 17,109,218,182,203, 98,194,152, 15,167, 68, 69, 61,184, 11,227,230,171,115, 51, 49, 49, 57,182,122,245,106, -191,238,221,187,139,236,236,236,144,158,158,142,135, 15, 31,250,253,254,251,239, 3,118,237,218, 53, 67,173, 86, 15, 2, 12,154, - 16,213,235,183,221, 63,218,153, 90,219,128,213,235,225,212,188, 85, 69,126,179,216,223,207,130,209,233,192,233,245,240, 13, 24, - 80, 22, 77,230,225,235,235, 91,223,172,187, 78, 77,155, 54,221,179,116,233, 82,177, 70,163, 65,104,104, 40,206,159, 63,207,165, -166,166,214,149, 16,151, 38, 8,226,236,194,133, 11, 93,186,116,233, 98,150,149,149, 5,150,101,109,143, 31, 63, 62,169,101,203, -150,230,174,174,174,146,221,187,119,163,168,168, 8, 12,195, 88,123,122,122, 90,143, 24, 49, 66,187,123,247,238, 25, 0, 86,212, - 20,201, 42,136,227,231,167, 18,158,111,251,180, 30,133, 52,226,215,183,167,191,141, 95,204,223, 32, 42, 34, 91,111,123,122,154, - 21, 36,203,103, 41,204,155, 89, 23, 36,135,204,122,219,211,115,251,175,143, 13,186, 25, 34,203, 42,155, 15, 14, 28, 56, 32,127, -248,240,161,220,215,215, 23, 28,199, 85,100,224, 47, 79, 56,235,229,229, 85,159,243,184, 60, 48, 48,112,214,208,161, 67,209,188, -121,243,138,164,168, 95,125,245, 21,102,205,154,101,117,233,210,165, 25,251,247,239,159,241,211, 79, 63,173, 0, 48,219,200,104, - 76, 57,198,150,241,215, 79,158, 60, 25,114,236,216,177, 15,103,206,156,233, 5, 96, 50,128, 5,217,217,217, 93,203,162, 49,146, - 50,163, 53,118,198,140, 25,159,204,158, 61, 27,239,190,251,238,130,208,208,208,111,235, 25,229,163, 24,134,121,183,127,255,254, -148, 94,175,135,169,169, 41,244,122,253, 27, 47, 27,148, 0,176,113,226,196,137,159, 4, 6, 6,194,202,202, 10,122,189,222,251, -192,129, 3,219, 23, 44, 88,208, 17,192,184, 26,246,117,212, 39,159,124, 50,120,228,200,145,104,211,166, 13,104,186,244, 52,174, - 94,189, 26,139, 23, 47, 86,156, 61,123,118,192,238,221,187, 7,156, 56,113,226, 40,170, 78,219,101, 20, 28,199,129,166,105, 36, - 38, 38,194,206,206, 78,202,113,220, 25,130, 32,182,229,228,228,252,244, 15,170,204, 87, 14, 25, 50,228,131,125,251,246, 41, 0, - 96,213,170, 85,152, 62,125, 58,236,237,237,161, 80, 40, 4,171,243,207,137,104, 77,168, 51,162, 85, 23, 42,149,170,213,156,207, - 62, 2, 73,150,222, 53, 54,106,232,134,101,115, 39, 16, 39,130,207,180,170, 53, 6, 47,115, 66,244,149,239, 33,117,157, 6,141, -158,193,141,123, 79,112,110, 85,159,210,218,242,157,121,208,232,122,148, 87, 54,214, 18, 19,147,149, 90,150,189, 10, 7,135, 80, - 60,123,150, 89,151,201, 82, 58,216, 7,111,217,178,194,196,239, 13, 31,232, 24, 61,146, 51,146, 65, 16, 82,184, 56,155, 97,236, -168,119, 68, 93,187, 58,217,126,253,245,214,211,105, 28, 6,170,178, 30,213,153, 48,212,219, 22, 59, 91,249,121, 13, 29,209,183, -139,180,153, 95, 83,136,165, 38, 21,239,181,110,211, 6,173,219,180, 33,103, 23, 21,246,186,121, 43,172,215,145,179, 55, 52, 42, -253,179, 67, 49, 89, 24, 93,199, 69,166,194,112, 76,157, 58, 21,246,246,246, 85, 54, 72, 79, 79,199,239,191,255, 86,237,103,140, -184,144, 85,124,199,183,223,126,107,150,155,155,251,206,142, 29, 59,222,226, 56,238,219,180,180,180, 43,134,136,140, 4, 26,228, - 75,165, 61,198,172, 89,195,181,124,239, 61,202,210,193,129,228, 88,150, 72,121,252,216,102,237,247,223,119,203,137,141, 53, 41, -182,182,206,201, 85,171, 85, 49, 49, 49,144,201,100, 4, 77,211,109,171,145, 74,231,121,172, 36, 73, 98, 22, 65, 16,144, 74,101, - 49,129,129,129,119,202,222,107,112,234,212, 41,121,191,126,253, 84, 0,158, 2,128, 84, 42,115,166, 40,210,187, 52, 19, 59, 86, - 26, 98, 48, 77, 77, 77, 63, 91,178,116,133,105, 65, 78,158, 90, 87, 92,172, 87,154, 43, 8, 66, 97, 70, 21,228, 23, 22, 38,167, -102,106,230, 45, 90, 76, 77, 28, 59,242,179,226,226,226, 73,134,154,172, 22, 45, 90,220, 60,118,236,152,157,141,141, 13,242,242, -242,144,157,157,141,155, 55,111,130,227, 56, 12, 26, 52, 72,218,169,125,187, 86,115,231,205,191,158,152,156,220,209, 16,179,101, -106,109,139, 85, 93, 90,150, 86,214, 79,179, 43,202,103,219,144,128,138,109, 22, 39,229,151, 71,231, 94,102, 10,169,142, 61,122, -244, 16, 3,192,184,113,227, 10, 10, 11, 11,151, 1,216,135,186, 51,250,207,152, 63,127,190,115,195,134, 13,221,247,237,219,135, -162,162, 34, 0,176,107,216,176, 33,188,189,189,217, 11, 23, 46,192,219,219, 27,102,102,102,184,116,233, 18,174, 95,191,142, 54, -109,218,152,137,197,226,161, 58,157,174, 90,163,213,173, 79,183,249,210,126,190,254, 62,173, 71, 65, 97,238,136,237,251, 15, 34, - 58,108,151,191, 70,247,112,190,152,189, 56, 82,205, 75, 71,103, 38, 40,102, 55,104,211,213,166, 81,211,247,224,222,250,142,109, - 9,123,249,201,252, 94, 13,151,211,178,146, 93,139,214,164,102,215,100,178, 0,172, 26, 52,104,208,144, 3, 7, 14, 88, 2, 64, -120,120, 56,210,211,211,161, 84, 42, 33,147,201, 32, 18,137, 42,230, 39,173, 39,163, 55,109,218, 84, 97,218, 24,134,169,152, 5, - 64, 46,151,227,205, 55,223, 68,203,150, 45,241,211, 79, 63,141,174,193,104,117,105,223,190,253, 94,119,119,119,215,202, 47, 22, - 23, 23, 99,248,240,225, 0,128,174, 93,187,246, 48, 49, 49,225,203, 13, 97,106,106,106,209,173, 91,183,122, 1, 8,173,193, 89, -170,147,147,147,241,229,151, 95, 34, 62, 62,254,211, 45, 91,182, 60, 3, 32,147, 72, 36, 21,247,199, 0,188,155, 54,109,186,110, -250,244,233,136,139,139, 67,100,100,228, 77,212,191, 41,149, 53, 53, 53,141,213,235,245,109, 24,134,129, 90,173,198,192,129, 3, -101, 71,143, 30, 77,167, 40, 42, 42, 43, 43,235, 67,148,246, 73, 49, 20, 25,128, 53,129,129,129,159,204,156, 57, 19,191,253,246, - 27, 78,156, 56,129,145, 35, 71, 98,218,180,105, 80, 40, 20, 99,166, 77,155,118, 29,165, 19,154, 63, 79,143, 77,155, 54,129,101, -217, 23,254, 27, 50,153, 12, 93,186,116, 65,147, 38, 77,112,226,196,137, 30, 47, 97,180,220,187,116,233, 34,225, 56, 14,197,197, -197,184,112,225,130,194,196,196, 68,225,226,226, 50, 30,192, 63,198,104,185,187,187, 7, 30, 56,112, 64, 81,185,245, 71, 42,149, -162,210,239, 64,224,239,143,104,213,122,135, 85,129, 86,171,210,209, 52, 25,229,228,216,252,208,165,139, 83, 42,154, 14, 1, 50, - 74,171, 85,233, 0,128,229,120, 20,168, 24,152, 72, 73, 60, 77, 43,196,131,199, 89,213, 73, 85, 25,162, 41, 50,113,131,180,170, - 8,231,172, 0, 0, 32, 0, 73, 68, 65, 84,221, 83,240, 60, 15,173,142,133, 38, 63, 13,203, 78,171,240, 48,169, 4,218,226, 92, -104,117,165,221,176,108,109,109,233, 51,103,126,153, 30, 18,242,251, 39,255,251,223,255,168, 36, 11,139,200, 66,160, 85,117,154, - 86, 86,158,102,156, 68,114,104,243,150, 5, 38, 60,245, 24, 49, 9,197,104,228,210, 14,182,150,174, 72,203, 42,198,213,200,159, - 17,245, 40, 24, 13, 29,221, 49,237,179,183,101, 75,150,238, 59, 40,102, 60,220,242,242,226, 11,106,218,207,242,187,168,173,191, -198,128,201,121, 12, 54, 59, 14,108, 97,202, 11, 27, 40,148,110,104,221,221, 25, 74,215, 55,164,163,167, 45, 30, 5, 84, 49, 90, -149, 53,211, 9,130,220, 76,146,196, 39, 4, 65,160,121,243, 22, 73,107,214,172,169, 46, 21,184,174,121,243, 22, 73, 20, 69,186, -148, 94,216,201, 77, 60,207,165,215,177,159, 85, 76,141, 68, 34,157, 89, 26,246,119, 76, 60,125,250,180,110,200,144, 33, 88,189, -122,181,100,214,172, 89,243, 40,138, 26, 87, 77,243, 94, 21,205,129,128,155,229, 27,111,244,254,246,234, 85, 94,164,215, 19, 57, - 55,111, 22,228,165,166, 50,105,133,133,146,195, 81, 81,239,126,252,197, 23, 18, 87, 87, 87, 92, 9, 14,182,201, 44, 46,230,243, - 52, 26,117, 94, 94, 30,207, 48,204,205, 26, 52,231, 40,149,118,242,237,219,183,123, 7, 6, 6,222, 73, 77, 77,157, 3, 0,142, -142,142,203, 0, 52, 1,240,180,210,107,216,178,229, 96,242,248,241,227, 99, 50, 50, 50,230,212,182,159,149,104,106,167,180,147, -239,223,186,251,190,181,153, 9,169,116,113, 34, 69,150,150, 52, 35, 49, 17,115,128,186,161,235, 27,166, 0,154,214,240,217,231, - 53, 9, 19, 19,147, 99, 39, 79,158,180, 19,137, 68, 96, 89, 22, 74,165, 18,241,241,241,200,203,203, 67, 97, 97, 33,158, 68, 61, -132,135,171, 43,190,158, 61,203,113,242,172,217,199, 84, 42, 85,155,231, 42,179, 23, 39, 64,214,235, 94,136,236, 85, 55,139,193, -243,205, 94, 6,150,123,101,226, 19, 18, 18,160, 80, 40,224,231,231,167,184,122,245,234,229, 90, 76, 86,229, 73,128,135,118,238, -220,217,108,223,190,125,104,211,166, 13, 44, 44, 44,112,225,194, 5,132,135,135, 67,167,211,145, 69, 69, 69, 80, 40, 20, 88,190, -124, 57,220,220,220, 80, 88, 88,136,167, 79,159,218,136, 68, 34,219,231, 50,218, 87,104, 94, 56,115, 97, 73,126,220,249,249,105, -196,175,111,111,223,127, 16,227, 71, 12,131, 3,255,248,178,197, 27,196,146,222,253, 58,127,197, 83,174, 1,166,102,205,173,188, -252,250, 65, 44, 81, 96,242,204,197,136,137, 56,101,165, 42,188,255, 41,193, 38,186, 46, 90,115,120,106, 53,199, 78, 0, 32, 93, - 93, 93, 63, 62,124,248,176, 89, 69,232,133,162, 42,230, 60,172, 60, 9,124, 45, 19,190,215,121, 62, 9,130, 64,124,124, 60,236, -236,236,160, 80, 40, 42, 38, 16,127,248,240, 33,110,220,184,129,242,217, 40,106,208,252, 48, 36, 36,196,213,212,212,180,202, 6, - 60,207, 35, 43, 43, 11, 12,195, 64, 46,151,131,101, 89,232,116, 58,232,245,122,148,148,148, 40,154, 52,105, 50, 73,175,215,135, - 86,167,201,113,220,231, 67,135, 14,237, 28, 26, 26,234,249,253,247,223, 67,171,213,174, 74, 75, 75,195,224,193,131,193,113, 28, -122,244,232,209,129,231,249,232,121,243,230, 1, 0,166, 79,159,174, 47, 46, 46, 14,172,207,177,151,209,164,117,235,214,158,191, -253,246, 27,252,253,253,161,209,104,176,122,245,106,243, 45, 91,182,152,239,222,189, 91, 57,115,230,204, 31, 51, 51, 51,251,212, -161, 73, 0, 88,229,224,224,240, 73,183,110,221, 76,202,230, 48,197,174, 93,187,240,245,215, 95, 31, 0, 48,239,151, 95,126, 89, -120,226,196,137, 81, 31,127,252, 49,190,254,250,235,105,121,121,121, 59,106,210,124,242,228, 9,148, 74, 37,204,205,205, 75, 47, -150, 58, 29,238,222,189,139,115,231,206,161,113,227,198,134, 28, 83, 77,251,233, 62,104,208,160, 31,247,239,223,111,150,152,152, -136, 75,151, 46,193,195,195, 3, 42,149,202,144,185, 97, 67,254,132, 10,187, 70, 77,181, 90, 93,146,144,144,160, 88,177, 98, 5, - 28, 29, 29,225,238,238, 14,153, 76, 6,130, 32,160,215,235,107,155, 94,173,206,253,236,218, 21,116, 86,178, 85,127, 11, 75,171, - 79,121,158,167,243,243,115,183,234,144,119,228,241, 99,104,255,194, 99,255, 55,211, 10,192, 29, 84,157,243, 48,181,194,104, 5, - 7, 7,243, 1, 1, 1, 68,249,218,217, 25, 5, 89, 89, 86, 49,118, 14,205, 14,218, 57, 52, 45,155,247,139,140,162, 40,171, 24, -123,123, 85, 1, 0,232, 24, 30,215,162,242,112, 63, 54, 13,225,177,105, 48,149, 26, 22,124,209,232,152,210, 30,171, 60,143,146, -162, 63,110, 90,117,170, 92,104,116,165,221, 61,180, 26, 21,242, 51, 35,137, 33, 3,123,201, 62,249,100, 34, 28, 29,157,149, 53, -233,233,164,178,105,147,167,191,107,105,109, 41, 66,240,213, 95,209,161,241, 64,200,164, 34,100,231,151, 0, 4,240,232,241, 57, -128, 51, 67, 68, 76, 2,218, 55,149,163, 79,111, 95,197, 79, 71,162,191, 0,176,192,144,253,101,146,110, 66,236,245, 14, 68,172, - 30,250,172,104,112,121,207, 0, 83, 7,168, 9, 5,178, 83,159, 33,234,242, 81,131,238, 25, 57,142,251,212,214,214, 54,111,222, -188,121,221, 26, 53,106,164,155, 52,105,210,189,103,207,158,125,254,220,221,202,119,155, 54,109, 66,108,108,108,242,183,223,126, -123, 33, 43, 43,107,190,145, 5, 61,155,231, 17, 84,214, 20,151,117,252,248,241,214, 23, 47, 94,156, 22, 20, 20,100, 63,101,202, - 20,201,148, 41, 83,198, 2,248,166,182,230,194, 2,169,180,231,183,151, 46,241, 76, 82,146,102,207,250,245,146,141,215,174,205, -211,113,156,147,173,157, 29,209,169,125,251, 98, 57, 73,102,101,167,167, 51, 74, 79, 79, 42,254,220, 57, 27,222,196, 36,229,151, - 95,126, 41, 40, 42, 42,170,113,234, 28,138,162, 84,213, 53, 23, 86,135,163,163,163,182,186, 62, 92,181, 84,136, 5, 28,207,235, - 44, 27, 54,228,123,247,232,216, 40, 54,250,241, 99,153,165, 37,229,213,200,195,231, 65, 84,252, 77,158,101, 75, 8,130, 40, 48, -168,173,132,162,134, 5, 5, 5, 53, 51, 55, 55, 7,199,113,176,176,176, 64,102,102, 38,180, 90, 45, 10, 10, 10,160, 45,204,135, - 54, 63, 31,225,207,226,209,185, 91, 55, 12,121,187,183,239,238,227, 39,135,177, 44,123,160,214,246,188,230,173, 42, 34, 89,139, - 27,216,252,209, 22,148,152, 87, 97,186, 86,180,242,130, 88,161, 64,175,207,103,191,204, 31,253,206,233,211,167,127, 30, 52,104, -208,187, 95,124,241, 5,153,154,154,250,107,124,124,124,103, 0,145,181,125, 72,161, 80,188,145,149,149,133,162,162, 34, 88, 88, - 88, 32, 40, 40, 8,246,246,246, 80,169, 84,184,117,235, 22,239,226,226, 66, 92,184,112, 1, 46, 46, 46,200,206,206,134, 78,167, -131, 90,173, 78,211,106,181, 53, 54,151,151, 53, 15,190, 51,253,109,252, 18, 29,182,203,223,153,120,114,107,232,140,174,177,209, -225, 81, 9,103,207, 93,253,134, 41,145, 37,230, 37,133,204,106,216,246,142,237,167, 95,126,141, 13,171, 22, 34, 58,244, 82,142, -189, 91,193, 70, 19, 66,179,179,182,253, 45, 46, 46, 46,137,138,138, 50,187,119,239, 30, 8,130,128,133,133, 5,228,114,121,181, -102,171, 30,144,149, 35, 80,197,197,197, 16,139,197,176,177,177,193,142, 29, 59, 42, 42, 94, 15, 15,143,218, 52,182,246,234,213, -107,152,155,155,155, 89,229, 23,219,182,109,139,137, 19, 39, 98,243,230,205,184,118,237, 90,149,249, 52,211,210,210, 82,245,122, -125,109,199,157,151,158,158,254,246,192,129, 3,195, 46, 95,190,108,190, 99,199, 14, 48, 12, 83,237,178,125,251,118,220,184,113, - 99, 1,128,168,122,254,142, 26, 15, 30, 60,248,210,222,189,123, 45, 51, 51, 51, 81,254,219, 40, 46, 46, 6,203,178,240,241,241, - 33, 24,134,169,171,223, 27, 73, 81,212,241,245,235,215,247, 27, 63,126, 60,104,154,134, 86,171,197,250,245,235, 49,107,214,172, -244,178,155, 82, 29,128,121, 59,119,238, 28,245,222,123,239,161, 69,139, 22,190,231,207,215,220,179,163,168,168, 8, 69, 69, 69, - 16,137, 68,112,112,112,192,146, 37, 75,160,213,150, 94, 86,188,189,189, 43,254,198, 0,182,122,123,123,247,139,137,137, 89,141, -210,190,107, 47,224,224,224, 48,144,231,249, 9, 44,203, 22,250,251,251,219,236,223,191,223, 44, 57, 57, 25, 97, 97, 97, 88,176, - 96, 65, 46,199,113, 44,199,113,132, 90,173,126, 98,103,103, 23, 38,149, 74, 77, 84, 42, 85, 78,118,118,246, 82, 0,191,254, 93, - 53, 57, 65, 16,132, 72, 36,194,184,113,227, 64,211, 52, 76, 76, 76, 80, 82, 82, 2,189, 94, 95, 97,230, 97,100,179,116,163, 70, - 10, 27, 26,226,241, 86,102, 77,166, 13,153, 26,160,116,116,114,134,165,185, 20, 15, 31, 70,118,254,253,183,115,235, 37,116,244, - 22, 78,171,223, 18,253, 52,255, 79,159,236,254,121, 47,242, 47, 53, 90, 47,204,121, 72, 87, 95,152, 67, 88,158, 63,156,149,156, - 44,209, 73, 36,242,152,242, 40,151,189,189,170,128, 32,134,176,202,166,253,193,232,244,101, 23, 10,190,108, 49,208,104,233, 89, -196, 70, 71,224,242,217,147,176, 85, 37, 35,235, 73, 75, 64,220, 12, 90,117, 62, 74,180,186, 50, 83,194,226, 94,216,111, 40,200, -207,129, 95,155, 0,128, 36,111,212,164,103, 97, 67, 4,116,106,221,156,138, 77,136, 64, 91,239,247,225,233,226,143,103,169, 5, -200, 43,210, 32,183,160, 4, 45,253,102, 35, 51, 87,141, 2, 85, 9, 34, 99,119,195,217,201,147, 36,232,199, 61, 12, 53, 90,154, -200, 99,208, 68,157,128,216,189, 51, 36, 62,239,129,114,239,130,132,251,231,113,239,151,181, 72,122,112, 5, 60,199,254,159,189, -235, 14,139,226,106,191,103,102, 59,187, 75,239, 69,177,130, 98,239, 13, 69,108,104,236, 29, 75,172,209,168,216, 27,106,172, 81, -209,104, 98,239, 37, 6,123, 55, 98, 23, 21, 11,118, 64, 64,172,244,178, 82,151,182,125,103,103,126,127, 80,130, 72, 89,208,228, -251,126,249,246, 60,207, 60,187, 51, 59,115,246,157,123,239,220,123,230,189,247,190, 23,246,174,109,245,125, 72,118, 92,191,126, -189,109,167, 78,157,216, 61,122,244,104,126,245,234,213,230, 18,137, 36,172, 80, 96, 52,239,209,163, 71,115,107,107,107,108,219, -182, 77, 65, 16,196,142,106,102,118,177, 7, 44, 45, 45,237, 25,128,117,231,207,159,223, 49,117,234, 84,216,216,216, 52, 77, 73, - 73, 41,247,194,116, 14,167,249,248,245,235, 25, 14,139,197,156,220,185,147,187,250,250,245, 95,127, 63,114,132,219,205,211,147, - 96, 24, 6,161,161,161,194,141, 59,119, 10, 71, 15, 28, 24, 23,159,150, 70, 5, 5, 7,107, 36, 73, 73,121,105, 50,217,106,137, - 68,242,233, 63, 81,178,181, 90,237,227,152,216, 24,199,214,237, 90, 88,135, 68,197, 68,122,117,235,216,145, 36, 73,242,109,116, -124,176,181,181,137,240,214,205, 91, 26,173, 86,251, 88, 31, 46, 62,159,223,175, 91,183,110,108,169, 84, 10, 7, 7, 7,164,167, -167, 35, 57, 57,185,192,227,144, 35,133, 38, 39, 7,218,220,108,232,100,249,136,121,254, 12, 45,234,214,225,159,225,243,251,201, -229,242, 10,133, 86,209, 91,102, 89, 11, 93, 23, 29,227, 25, 27,131, 39, 22,131,168,122,183,225, 64, 51, 51,179,197,217,217,217, - 87, 1,172,213,104, 52, 62,139, 23, 47,110,179,125,251,118,171,117,235,214,153, 76,153, 50,229, 76,126,126,126, 11, 20, 44,170, - 90, 94, 3,246,145,162, 40, 75, 0,182,129,129,129,176,177,177, 65, 78, 78, 78,145,167, 69, 45,151,203, 5,153,153,153, 80,169, - 84, 80,171,213, 48, 49, 49,193,139, 23, 47,178, 40,138,186, 92,153,113, 38,245,136,181, 42, 77,212, 79,150,110,162, 20, 13,101, -238,145,150, 69, 75, 87,253, 42, 89, 3,224,215,222,117,235, 30,208,208,247, 99,222, 71, 92, 54,143,125,126, 47, 43,229,189,172, -238,193,171, 49, 21,141,209, 98, 0,208, 4, 65, 48,174,174,174, 72, 79, 79, 7,139,197,130, 80, 40,132, 88, 44,198,146, 37, 75, -176, 99,199,142,234, 8, 45,129, 72, 36, 90, 79,146,228, 72,146, 36,173,117, 58, 29,124,125,125,209,191,127,127,240,120, 60,104, - 52,154, 98,143,102,145,151,170, 18, 79, 71,232,147, 39, 79, 76,158, 60,249,172,218,242,180,178,178,186,163, 82,169, 16, 29, 29, -141,139, 23, 47,118, 5, 16, 84,197,188,142, 14, 13, 13,237,237,238,238,254, 71,171, 86,173,234, 49, 12,131,166, 77,155,194,219, -219, 27,254,254,254, 8, 11, 11, 67, 78, 78, 14,125,235,214,173,223, 1,108,174,106, 27, 94,152,190, 13,134, 14, 29,250,240,248, -241,227,230,153,153,153, 80, 40, 20,144,201,100, 56,115,230, 12, 58,117,234, 4, 43, 43, 43, 28, 59,118,140, 98, 24,166,162,188, - 39, 73,146, 60,184,119,239,222,254,147, 39, 79,198,174, 93,187,112,242,228, 73, 12, 24, 48, 0, 35, 71,142, 68,122,122,186,237, -166, 77,155,198, 21,118, 19,174,244,246,246, 70,126,126, 62,158, 63,127, 30,165,231, 51,143,236,236,108,100,103,103,195,200,200, -168,228, 51, 70, 0,240,223,178,101,203,168, 57,115,230,160,110,221,186, 43, 99, 98, 98,182,160,140, 89,162, 52, 77,255,152,156, -156,108,206,102,179, 45, 41,138, 66, 98, 98, 34, 94,188,120,129, 25, 51,102,100,101,101,101, 77, 5, 16, 15, 96,217,164, 73,147, -214,206,155, 55,175,184, 44,205,155, 55, 47,224,234,213,171,189,255,105,111,142,171,171, 89, 99, 30,139, 63, 91,154,199,178,148, - 74,165,197,117,135, 90,173,134, 74,165,250,204,147,197,229,114, 44,219,180,168,121, 69, 33,207, 91,250,250,125,118,185, 11,164, -187,213, 51,109, 38, 20,153,206,233,212,185,219,152, 94,189, 7,177, 40,173, 22, 55,110, 92,198,161, 67,187,225,233,238,138,186, -245,155, 98,230,172,217,166, 42, 53,229,123,235,214,245,197,102, 79, 30, 92,207,203,205, 94, 82, 17,231,255, 56,174, 20,138,171, - 43,101,118, 29,150,165, 32, 11, 67, 56, 72, 11,119,173,204,205,205,119,234,116, 58, 79, 19, 19, 19,208,217,239,240,250,197, 83, -100, 73, 57, 80, 41,116,160,153, 2,177,165,151,112, 81,169,113,255,198, 37,108,221,242, 43, 50, 51, 51,225,222,165, 43,242,217, - 53, 80,179, 70, 77, 40, 21,242,194,135, 6,208,168,181,176,182,117, 70, 72, 72,152, 54, 87, 38, 43,183, 66,226, 10, 52,110, 53, -109, 93,161,210,116,128,128,199, 67, 78,158, 26,210, 66,145,117,236,236, 8,168,228, 10, 80,106, 13, 40,181, 22,214, 53,135,162, -161,109, 55,208,186,203,141,171,148,124,180, 14,154,216,251,208,196,222,135, 81,135, 89,248,211,111, 84,169,134, 84,191,117,119, -211,211,211,211, 34, 35, 35, 47,135,134,134, 14, 30, 49, 98, 4,238,222,189, 59, 5,192,180,194,238,155, 41, 35, 70,140, 64,104, -104, 40, 34, 35, 35, 47,167,167,167,167,125,139,156,231,241,120, 10,149,170,160,141, 21, 10,133,130, 74,206,117,108, 51,100, 8, -153, 19, 18,146,187,229,209,163,149, 7, 14, 30,228,246,232,222,157,208, 82, 20,104,157, 14,245, 93, 92,136, 94,189,122,137,252, - 79,159,182,100,105,181, 79, 22,250,248, 4,238, 25, 59, 54,239,153, 76,166,239, 64,243, 90,133, 93,134, 0, 80,171,130, 99,122, - 67,165, 82,109,255,241,135, 9, 61,130,238, 63,172, 81,179,134,163,201,141, 91, 65, 97,124, 35, 30, 89,183,118, 61,150, 52, 39, -139,189,102,229, 82, 35,149, 74,165,175,104,117,179,178,178,194,167, 79,159,240,225,195, 7,168, 84, 42,104,181, 90,208,114, 25, -212,210,108,168,115,178, 64, 40, 21,224,235,116, 80,102,164,162, 86,221, 58,192, 95, 51, 18, 43,237,138, 42, 75,104, 21,125, 10, - 76, 76,192, 21,137, 65,114, 56,122, 47,142, 14,160, 85,219,182,109, 79,159, 59,119,142, 59,113,226,196,118,183,111,223,222, 9, - 32, 62, 57, 57,185,251,242,229,203,159,237,220,185,147, 63,117,234,212, 6,155, 55,111, 30, 7, 96, 95,121, 36, 74,165,242,244, -149, 43, 87, 70, 59, 59, 59,219,134,135,135, 67,169, 84,130,166,105,244,233,211, 7, 40, 24, 91, 3, 0,120,251,246,173, 66,169, - 84,166, 69, 68, 68,228,198,199,199,107,160,199, 44,193, 85,219, 37,143,115, 63,221, 31, 98,107,231,248, 68, 96, 84,171, 54,147, - 31, 50,120,238, 48,199, 77, 91,206, 38, 43,175, 71, 71,231,253,212,179,206, 6, 89,222,171, 25,102, 78,249,187,174, 7,196,232, - 51, 16,190,120,118,161,165,165, 37,216,108, 54, 56, 28, 14,184, 92, 46, 8,130,192,172, 89,179,176,127,255,254,202,186, 14, 63, - 19, 89,198,198,198,145,171, 87,175,118,154, 58,117, 42, 87, 32, 16, 64, 42,149,226,216,177, 99,152, 52,105, 18, 14, 29, 58, 84, -230,248, 23, 61,186,148, 74,123, 75,231,140, 29, 59, 22,106,181, 26,222,222,222, 56,112,224,192, 28,157, 78, 23, 84,141, 71,250, - 73, 88, 88,152, 75, 88, 88,152, 9,128, 1, 35, 71,142, 60, 50,116,232, 80, 4, 5, 5,225,242,229,203, 93, 81, 48,233, 67, 1, -192, 15,128, 77,225,103, 69,207,167,200,214,214,118, 55, 77,211, 3,172,173,173,195, 92, 93, 93,155, 28, 63,126,220, 44, 45, 45, -173,104,242, 3, 98, 99, 99,113,248,240, 97,201,193,131, 7,115,117, 58,157, 37, 73,146, 87,178,179,179,151, 84, 32,216, 14,110, -217,178,101, 66, 97,119, 32,206,157, 59,199,252,250,235,175,196,242,229,203, 33,149, 74,225,233,233,137,189,123,247,206,206,207, -207,111,254,235,175,191,254, 48,124,248,112,172, 89,179, 6, 50,153,108, 75,101, 47, 43, 21,136, 47, 2, 64,199, 45, 91,182, 56, -207,153, 51, 7,231,206,157, 67,171, 86,173,140, 98, 98, 98,246, 0,152, 92, 86,254, 49, 12,131,152,152, 24,200,229,114, 60,124, -248, 16, 43, 87,174,148,150, 16, 89,179,167, 77,155,182,118,246,236,217, 88,191,126, 61, 19, 30, 30,158, 54,116,232, 80,219,253, -251,247,179,234,215,175, 63, 91, 46,151,255, 99, 66,171, 65,125,139, 13,109, 90,117, 94,108,239, 88, 31,199,142,159, 64, 86, 86, - 86,113,154, 20,165, 11,195, 48,200,203,203,195,167, 79,159, 96,106, 98,140, 77,155,215,126, 55,125,202,132, 26, 40, 8,131,241, -165,203,178,174,249,230,161, 35, 39,206,247, 30, 61, 1,225, 97, 47,225,127,100, 31, 34,194, 67,139,249, 40,173, 6,239,162, 94, -224, 93,212, 11,216,218, 57,163, 87,143,174,196,168, 81,163,250,140, 29, 61,210, 26,192,223, 22, 58,226,255,177, 55, 11,248, 50, -142,214,254,207,132, 86, 37,238, 58, 43,115,115,243,200, 83,167, 78, 89,186,187,187,179, 40,138,194,245, 27, 55, 48, 99,218,247, - 24, 55,214, 23, 26,152,131, 82,115, 65,115, 5,122, 89,162, 80,200,193,128,129, 76, 38, 67,112,112, 48, 24,154,130,255,254, 95, -193, 48,116,177,208, 2, 24,168, 53, 26, 56,214,108,128,221, 7,214, 81,224,112,158, 65, 91,118,232,154,220, 76,150, 78, 75, 49, - 72, 78, 75, 64,130, 36, 2,166,198, 53,193,230,212, 68,102,182, 28,108,210, 14, 90,229, 91,232, 10,175,149,203,146,160,208,124, - 93,254,233,202,240,158, 50, 85,168,116, 21, 10,197,209,163, 71,143,126,247,219,111,191,241,250,246,237,235,122,246,236,217,142, - 0,208,183,111, 95, 87, 19, 19, 19, 28, 61,122, 84,173, 80, 40,142,126, 67,143, 79,183,182,109,219, 66, 42,149, 34, 54, 54, 54, -172,194,123, 83,171, 45,197, 54, 54,172,180,187,119,181,233, 82,105,141,110,221,186, 17, 90,138, 2, 73, 16,200,202,201, 65,124, - 92, 28,204,204,204,136,200,183,111,197, 59,102,206,188,224,218,164, 9,187,104, 70,162, 62,184,124,249,178, 16, 5,227,178, 42, - 60, 86, 69,200,210, 82, 63, 77,240,241,241,185,112,244,232, 49,211,212,180,212,119,124, 30,143, 18,139, 5, 14, 99,199, 76,103, -103,103,103,143, 6,144,175, 47,153, 84, 42, 69, 76, 76, 12,140,140,140,192,229,112, 64, 43,228,208,201,242,161,204, 74, 7, 75, -163, 6, 79,167,131,133,144,143, 26,182,182,168,105,109,165, 23,231,135, 59, 55,139, 7,190,151,236, 46,220,212,214, 13, 60,145, - 24, 60, 99, 49,166, 7,220, 43,124, 27,229, 2,203,127,214,135,214,202,209,209,241,207,227,199,143,115,211,211,211, 17, 26, 26, - 26, 6, 32, 7,128, 49, 0, 58, 42, 42,234,118, 68, 68, 68,191,194, 89,119,149,205, 22,251,245,252,249,243, 61,221,221,221,169, -218,181,107,139,210,210,210,106, 72,165, 82, 90, 34,145,124,230, 18,186,121,243, 38, 63, 47, 47, 79, 70,211,244,133, 66,145, 85, -105,252,162,185,195, 28, 5,193, 33,152,229,225, 85,171,169,137, 85, 51,100, 81, 33, 77,159,132, 73,102,205, 29,230,184,125,203, -217,100,165, 17,161, 58, 66,232, 18,107,176, 5, 74,125, 7, 49, 51, 64,193, 88,169,224,224, 96,196,199,199, 35, 38, 38,230, 51, - 65, 53,101,202, 20,248,251,251,235,229,209, 18,137, 68,235, 87,173, 90,229, 52,103,206, 28,110, 9, 81, 4, 31, 31, 31,228,228, -228,224,192,129, 3,240,241,241,169,114,195, 95, 10,117,186,117,235,214,215,222,222, 30,153,153,153,176,179,179,131,187,187,123, -255,160,160,160,218, 0, 98,171, 89,238,167,123,121,121,173, 93,189,122, 53,180, 90, 45, 38, 77,154,132,247,239,223,159,126,255, -254,253,214,154, 53,107,206, 90,180,104,145,173,173,173, 45, 70,140, 24, 33,162, 40,106, 72,121, 36, 22, 22, 22,126,251,246,237, - 27,221,183,111, 95, 82,163,209,116,185,115,231, 14,226,226,226,160, 86,171, 65, 81, 20, 62,126,252, 8, 31, 31, 31, 73,225,236, -198,143,122,216, 53,113,217,178,101, 19,102,205,154,133,141, 27, 55, 98,213,170, 85,191,155,154,154, 54,105,209,162, 69,203, 85, -171, 86, 97,225,194,133,112,118,118,134,165,165,101,195,229,203,151,187,205,155, 55, 15,219,183,111,199,202,149, 43,127, 7,112, -184, 58, 9, 65,211, 52,177, 97,195,134,230, 91,182,108,177, 47, 18, 89, 36, 73,226,212,169, 83, 8, 9, 9,233, 31, 29, 29, 93, -214, 53,123,237,236,236,166,216,219,219,243,110,221,186, 37,118,118,118, 6, 69, 81,218, 66,145,181,163,102,205,154, 51, 62,126, -252,136,190,125,251, 34, 58, 58,250, 40,128,113,166,166,166,178,121,243,230, 9,141,140,140, 76,229,114,249, 63,213,120,131, 69, - 18,227,215,175, 89,136,231, 33,111,113,254, 60, 23,207,159, 63,135,173,173, 45,248,124, 62, 24,134,129, 74,165, 66,122,122, 58, -180, 26, 21,154, 54,174,131, 63, 14,110, 64, 90, 90, 58, 64, 18,229, 14,185, 33, 72, 98,204,132,239, 7,227,193,195, 27,216,179, -103, 31,242,243,101,229,188,124, 11, 80,223,213, 13,142, 14, 54, 72, 76, 74, 4, 65,194,234,239,188,215,255,231, 93,135,197, 85, - 16,244, 9,239, 80, 18,102,102,102, 91, 79,158, 60,105,233,233,233,201,146,201,100,160,105, 26,157,221,221, 49,107,206, 28, 92, - 62,126, 28, 46,237,188, 65,168,197,160,132,250,205,122, 80, 42,228,104,212,178, 35,134,143, 24,137,132,248,120,120,245, 27, 10, -165, 82, 94,252,134, 81,228,209, 82,171, 53,176,178,169,129,155, 55,111,178, 48,105,210,107,236, 40,219, 41,161,211,240, 94,189, -251,168,236,148,173, 8, 65,240,115,127,104, 84, 26, 52,109,186, 28, 26,218, 18, 54, 78, 83,160,213, 94, 68,110,250,157,130,110, - 12, 75, 79, 36, 37, 36,128,100,113, 35,171,155,130,180, 44,253,171, 42,221,156,156,156,156,152,152,152,179,193,193,193, 99,134, - 12, 25,130,155, 55,111,254, 0, 0, 67,134, 12, 65,112,112, 48, 98, 98, 98,206,230,228,228,228,124,139,220,182,183,183, 31,208, -181,107, 87,239, 54,109,218, 32, 32, 32, 0, 12,195, 60,208,235,193,230,112, 24,146, 36, 65,211, 52, 8, 0,153,217,217,120,255, -254, 61, 50, 51, 50,160,213,106, 33,203,207,167,221, 92, 93,243, 25,154, 54,174,138, 61, 37,103, 24,162,140, 89,135, 69,199,170, -113,171,241,207,158, 60, 74,200,203,207,183, 54, 55, 51,207,227,241,120, 58,105,118,118,206,235,200,112,181,158,141, 67, 17,162, - 34, 34, 34,154,164,164,164, 32, 33, 33, 1,148, 44, 15, 44,149, 26,164, 74,142,238, 29, 59,192, 8, 12, 4,160,193,161,181,224, -176, 56,200, 43,152,157, 87,105,119,135,174,196, 75, 66,145,200, 34, 8,162,160,187, 80, 36, 2, 79,108,252,153,135, 75,159,242, -196,231,243,143,159, 57,115,198,222,209,209, 17,107,214,172,129,147,147, 83, 67, 7, 7, 7,185,169,169,169,145,173,173, 45, 26, - 53,106,132,142, 29, 59,226,218,181,107,208, 35, 13, 40,134, 97,122, 61,120,240, 96,254,163, 71,143,134,139, 68, 34, 98,230,204, -153,236, 62,125,250,128,207,231, 67, 46,151, 67, 42,149,226,196,137, 19, 25, 52, 77, 23, 77, 74,177, 20, 10,133,135, 9,130,136, -149,201,100,115, 74, 19,254,241, 91, 83,135,180, 44,122, 18,147, 47, 28,236,225, 85,171,105, 55,175, 30,168,227,210, 13,221,188, - 18, 0, 96,131, 5, 59,206,251,151,101,102, 23,204,140,137,195, 55,175,223, 90,233,238,209,109,217,226,252,187,107, 55,238,207, -174,116, 60, 29, 65, 16,160,105,250,179,216, 65,165,127, 31, 55,110, 28, 78,157, 58, 85,105, 58,146, 36, 57,114,234,212,169,220, - 82,158,103, 36, 39, 39,163, 95,191,126, 24, 50,100,200,103, 66,203,202,202, 10,118,118,118,136,139,139, 3,128, 76, 61,203,213, -172,137, 19, 39, 18, 10,133, 2,147, 39, 79,198,129, 3, 7,224,237,237, 77, 4, 5, 5,205, 2, 48,167,170,133,157, 36,201, 77, -139, 22, 45,154,239,227,227,131,172,172, 44, 92,189,122, 21,125,250,244,193,169, 83,167,172,175, 94,189,186,222,211,211, 19, 44, - 22, 11, 1, 1, 1,160, 40,170,194, 88, 95, 92, 46,119, 64,223,190,125,201,196,196, 68,112,185, 92,180,110,221, 26, 73, 73, 73, -144,203,229, 72, 78, 78,198,236,217,179, 63,101,102,102,118,213,247, 57,226,114,185,115,102,205,154,133,147, 39, 79,194,215,215, -247, 8,128,201, 57, 57, 57,195, 31, 61,122,116,114,224,192,129, 72, 78, 78,198,133, 11, 23,176,114,229, 74, 98,220,184,113,216, -181,107, 23,102,207,158,253,123,161,215,169,188,130,159,151,150,150,102, 90,175, 94, 61,164,166,166, 34, 63, 63, 31, 23, 46, 92, -176,185,118,237, 90,109, 71, 71, 71,147,152,152, 24,221,207, 63,255,204,155, 51,103, 14,182,110,221,138,208,208, 80,248,251,251, -163, 91,183,110, 84,116,116,116,153, 94,178,194,144, 13, 23, 24,134,185, 37, 18,137,144,151,151, 87,244,220, 45,240,245,245,245, -241,243, 43,112,178,167,164,164, 96,252,248,241, 99, 3, 3, 3,105, 79, 79, 79, 33,151,203,133, 82,169,148,253,147,173, 54,173, -163, 1,208,168, 93, 67,140, 27,151, 15,226,101, 88, 52, 94,134, 69,128,199, 47, 24, 4,175, 80,200,209,178,105,125,180,107,221, - 22, 41,146,100, 28,245, 63, 8, 11, 43,199, 10,235, 17,134, 97,192,101,235,224,230,106,135,227,254,251, 16,112, 53, 16,254, 71, - 79, 20,143,121, 99,179, 57,104,209,178, 29, 90,183,118, 71,116,204, 71, 28, 60,184, 7,214, 54, 53, 12,157,131,213, 68,113,215, - 97,201,207, 82,202,191,155,187,187, 59, 43, 63, 63, 31, 74,165, 18,159, 62,125, 66, 92, 92, 28,204,204,205, 16,157, 18,139,174, - 66, 13, 62,209,185,136, 10,139,212, 17, 44, 78,104,101,127,216,215,163, 5,224,209, 2, 51, 38,122, 87,240,202,202, 64,100, 98, - 85,208,117, 67, 81, 31,176,125, 59, 85,158,208,162,116,218,219, 55,110,221,105, 59,113,220, 0,206,205, 59, 7,160, 85,211, 80, -104, 77, 33, 83,170, 33,211,112, 64,154,246, 1, 50,130,192, 98,243,209,190,121,125, 92, 56,127, 77,195, 80,218, 64,189, 19,200, -182, 9,168,212,136, 18, 66, 43,173, 84,191,131,133,222, 93,135,197, 13,175, 78,119,234,216,177, 99,131, 58,116,232, 32,244,244, -244,172, 87,216,112,106,142, 29, 59, 38, 47, 12,134, 89, 85,124, 22, 13,222,206,206,174, 37,151,203,245,238,211,167, 79,203, 9, - 19, 38,224,245,235,215, 56,122,244,232,187,250,245,235,223,149, 72,202,159,145,205,226,241, 50,243,211,210,204,196,181,107,179, -205,141,141, 83,174, 93,189,234,220,163,103, 79, 34, 33, 33, 1,153,153,153, 80, 42,149, 8, 13, 11, 99, 56, 44, 86, 18, 97, 98, - 66,190, 13, 9, 33, 89, 60, 94,102,121,222,198, 50, 16, 87,201,172, 67,191,234,122,183,106,216,155,215, 91,233,251, 99, 29,165, - 74,217, 36, 55, 55,151, 98,115, 56, 28, 39, 59,179,248,183, 31,245,175, 19, 85, 42, 85,192,237,219,183, 7,245,232,209,131,255, -238, 85, 40,168,156, 28,168,115,164,224,210, 58, 88,180,108, 14,150, 70, 5,168,181,112,116, 99,160,204, 22, 34,232,233, 91,173, - 74,165,170, 52,168, 97,145,208, 34, 75, 9, 3,158, 88, 12,190,177, 9,248, 98,113,105,193, 80,217,155,156,176, 87,175, 94,221, -219,183,111, 15,134, 97,176,127,255,126,104, 52, 26,158, 70,163,129, 90,173,134, 70,163, 65,110,110, 46,252,253,253,177,123,247, -238, 71, 0,126,215,227,246, 41, 35, 35,163,129, 4, 65,216,176,217,108,185,181,181,181,232,212,169, 83,197,225, 38, 90,180,104, - 1, 99, 99, 99, 46, 10,131, 66,218,216,216,112, 14, 29, 58,100,214,191,127,255,251,101,118,119, 52,109,184,176, 14,101,238, 33, - 48,170, 85,219,196,170, 25,234,184,116, 3, 0,244,236, 55, 17,117,234,215, 68,110,198,171,218, 74, 69,220, 96, 46, 91,106, 30, -185, 61,249,181, 81,223, 38, 19,100,105,247,222,163,236,233,253,101, 54, 20, 36, 73,150,219, 29,171,143,200, 42,208, 44,164,117, -209, 56, 31, 0,200,204,204,132, 68, 34, 65, 84, 84, 20, 26, 52,104,128,172,172, 44, 56, 58, 58, 66,173, 86,163, 77,155, 54, 80, - 40, 20,216,178,101, 11, 30, 62,124,248, 8,192,108, 61,254,195,200,197,197,101,124,203,150, 45,113,245,234, 85, 60,127,254, 60, -249,198,141, 27,142,238,238,238,168, 93,187,246,132,216,216,216,165,133, 93,125,250, 66,228,238,238, 62,211,199,199, 7, 17, 17, - 17,248,241,199, 31, 51, 19, 19, 19, 47,156, 62,125,122,242,202,149, 43, 73, 47, 47, 47, 72, 36, 18,108,218,180, 73,247,240,225, -195,205, 0,214, 84,146,142,111, 18, 19, 19,157,148, 74, 37,178,178,178, 64, 81, 20,228,114, 57,174, 93,187, 6,127,127,255,212, - 66,145,245, 65, 95,227,154, 55,111,222,136, 36, 73,156, 60,121, 18, 0,126, 66, 65,196,254, 11,131, 7, 15, 78,254,249,231,159, - 29,151, 44, 89,130, 31,126,248, 1, 26,141, 6, 27, 55,110,196,146, 37, 75,174, 20,138,172,138, 42,209,223,236,236,236,166,252, -248,227,143, 13,231,205,155,135,224,224, 96,155, 23, 47, 94,180, 14, 13, 13, 69,141, 26, 53,144,153,153,201,182,180,180,196,214, -173, 91, 49,119,238,220,115, 0, 50, 30, 63,126, 60, 50, 38, 38,198, 15,192,166, 74, 68,251, 94, 71, 71,199, 41, 12,195, 48,114, -185, 60,206,215,215,119,211,186,117,235, 48,119,238, 92, 68, 70, 70, 34, 39, 39, 7,198,198,198,196,162, 69,139,198,255,244,211, - 79,152, 52,105, 18, 35,147,201,118,255,211, 13, 53,195,232, 32,151, 70, 64,167, 50, 71,139,166, 13,208,162, 73, 45,220,184,243, - 18, 0,208,125,168, 59,228,178, 60, 28, 57,178, 31, 31, 62,188, 7,155,195,129,153,133,157, 62,158, 64,168,115,223, 32, 91, 35, - 65, 15,207,214,232,227,213, 21,191,255,113, 10,148, 86,131,201, 19, 71, 67,154,157,141, 63,254, 56,136,232,152,143, 96,115, 56, -176,180,250,251, 3,161, 86,164, 69,254,223, 11, 45, 61,186,159, 64,211, 52,146,147,147,241,226,197, 11,196,198,198, 66, 40, 20, - 66, 65,233,232, 61,183, 31,210, 4,193, 77,162, 25,230, 17, 67, 21, 71, 41,254,146, 67,167, 75, 46, 17,177,214,212,220,220,156, -167, 82, 41, 64, 81,218, 18,173, 10, 1, 16, 0,151, 13,216, 59,212, 65, 98, 66, 34,163, 84, 42,239, 85,248, 6,165, 82,110,189, -116,225,140, 79,199, 78,238, 86,125,186,175,198,133,139,203, 33,205,205,133, 82,195,129, 76,169,129, 92, 9,152, 89,184,162, 77, -211,102, 72, 73,201,196,171,231, 65,249,108,149, 92,159,129,162,239,119, 44,155,232, 50,113,198, 66, 24, 57,119,130, 42,234, 2, -232,252,212, 98,143,150, 64,108, 14,139,154,110,200,150,169,112, 38,240, 37, 80,133,165, 94,210,210,210,228, 44, 22,235,152,143, -143,207,198,151, 47, 95, 56, 1,192,203,151, 47,147, 36, 18,201,226,180,180,180,170,250,164,139,162,193, 19, 2,129,209,203,250, -245,235,167,180,110,221,218,116,240,224,193,176,178,178, 66,104,104, 40,252,252,252,222,104, 52,154,133, 65, 65, 65, 21,118,245, -168,213,234,228,151, 23, 47,154,116,253,254,123,179,133,253,251,111,242,241,241,217,186,102,205, 26,142,139,139, 11,161,213,104, - 16, 30, 30,206, 28, 63,118, 76,187,123,201,146, 45, 60,145,136,253,236,210, 37, 14,165, 82, 37,255,167, 11,177,163,163,163,135, -123,151,206,110,155,127,219, 14,165, 34, 31, 79,131,175, 64, 42, 77,199,190,253,231,221, 28, 29, 25,143,228,228,228, 32,125, 5, -240,225,195,135,231,183,107,217,178,101,221, 26, 53, 16, 30, 31, 11, 30,173, 3,151,162,192,210,168, 64, 82, 74,212,104,194,128, - 32,141, 33,249,148,139,117, 39,207, 70,232, 35,140, 27,126, 55, 0,107,146,114, 64, 16, 4,126,237,208, 4, 60, 99, 49,184, 34, - 49,166,255,121,167, 88, 24, 4,172, 89, 2,158, 88,140,122,237,244, 10, 8, 47,191,123,247,238,139,240,240,240, 54, 77,154, 52, -193,252,249,243, 17, 23, 23, 7,154,166,145,154,154,170,148, 72, 36,201,233,233,233,113, 40,136,255,115,160,146, 70,172,164,234, -112, 12, 10, 10, 42,238,110, 8, 12, 12,132,131,131, 3, 76, 77, 77,145,155,155,139,169, 83,167,154,173, 88,177, 2, 0,240,226, -197, 11,148, 20, 40,165, 17,254, 50,106,115,118, 30, 35,101,242, 67, 6,103, 81, 33, 77,187,121, 37,162,103,191, 9,184, 21,240, - 59,238,220,184, 13, 11,118, 92, 44, 68,121,215, 50, 98, 51,114,147,100, 46,123,221, 90, 77,102, 73,100, 55,246,206, 28,240,142, -101,111, 79,159, 89,178, 39, 55,187, 34, 91, 93, 92, 92, 96,107,107, 91, 60, 70,139,205,102, 99,210,164, 73, 96, 24, 70, 95,145, - 85,216,214,208,233, 74,165,210, 86, 32, 16,224,211,167, 79,248,248,241, 35,162,163,163,139, 67, 7,208, 52,173, 93,176, 96, 1, -103,230,204,153,216,179,103, 15,238,221,187,247, 8,192,106, 0,250,190,172,141, 30, 49, 98,132,177, 90,173,198,137, 19, 39, 40, - 0,253,206,156, 57,243,162, 77,155, 54,236,222,189,123, 27,239,218,181,107,116, 97, 30,233, 45,180, 76, 76, 76,184, 26,141, 6, -187,118,237, 66, 98, 98,162, 7,128,168,103,207,158,237, 29, 49, 98,196,238, 38, 77,154,212,143,136,136,120,159,159,159, 63, 29, -192,171,202,200, 82, 83, 83, 39,182,110,221,250, 12, 77,211,206, 61,122,244, 16,253,246,219,111, 38,111,223,190,133,147,147, 19, -104,154, 14, 71, 21,151,176,122,255,254,125,148, 68, 34,113,235,218,181, 43,174, 93,187,182, 65,167,211,173, 7,176,113,218,180, -105,142,241,241,241,104,217,178, 37, 44, 44, 44,240,246,237,219, 60,137, 68,178, 27, 5, 75, 18, 85,230,194,141, 1,176,120,239, -222,189,205,246,238,221,235,109, 97, 97,209, 62, 52, 52, 20, 15, 30, 60,192,230,205,155,177, 98,197, 10,116,238,220, 25,243,231, -207,207, 0,224, 13,128,138,137,137,209, 43,110, 94,145,103, 11, 0, 90,181,106,149,226,231,231,135,201,147, 39, 51,135, 14, 29, -218,118,236,216,177, 57,163, 71,143, 46,110, 3,199,143, 31,207, 28, 61,122,116, 60, 10,150, 97,250, 39,161,213,104,212, 48,177, -168,131,252,236, 4,164, 39, 6, 67,104,108, 7,175,110,205, 33, 87,168,113,249,210, 57,188, 10, 15, 3, 73,146,176,181,171, 1, - 51,115, 43,188,123,247, 30,168,120,182,177, 86,163,209,192,216,188, 22,242,115, 18,161, 78,123, 9, 35,177, 13, 38,124, 63, 24, -114,133, 6,231, 47,156, 67, 68,196, 43,176, 88, 44,216,217,215,128,169, 89, 1, 39,193, 84, 60,131,217, 0, 0,101,196,211,170, - 84,104,177, 88,172,187,215,175, 95, 31,214,174, 93, 59,246,135, 15, 31,240,225, 67,193,203,141, 84, 42,165, 8,232,206,166,133, - 95, 26, 85,193,229, 61, 80, 56, 59,163,228,218,133, 98, 99,227,228,183,111,162,108,165, 89,169, 8, 11,121,136, 15,239,194, 17, - 27, 29, 5,141, 70, 9, 22, 73,130,100,145,168, 85,167, 49, 30, 62, 10, 86, 43, 41, 42,184, 60,206, 2, 59,162,243, 68, 54, 46, - 35,215,174, 89, 26, 48,119,225, 42,163,225,195,246,224,213,219,215,200,167,236,192, 48,128,157,165, 8, 45,234, 46, 66,114, 74, - 58, 78,254,190, 75, 78,107, 52, 99, 74,197,208,250,130, 19, 0,108, 51,208,104,247,254,223, 39, 29,240, 63,190,106,225,204,169, -182, 3,135,140, 1, 47,235, 53,180, 41, 47, 81,167, 77, 31, 16,124, 51, 92,189,121, 7, 65, 47, 94,167,210, 58,102,149,109, 38, - 14,189,171,132,179, 36,178,179,179, 31,127,250, 36,113, 42, 17, 5,222,137,207, 23, 84, 54, 59,174, 52,231,103, 17,231, 89, 44, -178,213,218,181,107,181,182,182,182,154,136, 61,213,231,155, 0, 0, 32, 0, 73, 68, 65, 84,136, 8,236,217,179,135,126,249,242, -229, 77,146, 36,119, 72, 36, 18,101,101,156,214, 90,109,216,113, 95,223, 70,109,135, 12, 97, 70,205,156, 41, 7,159, 63,107,211, -175,191,250,166, 75,165, 14, 12, 77,195,218,194, 34,105,211,146, 37,126,195, 70,140,144, 70, 62,124,104, 20,124,241,162, 17,143, -162, 94,234, 97,231,183, 64,185,156,201,201,201, 65,247,238, 61,192,145, 3,191, 65,163, 81, 65,146, 28, 15, 0,200,200,204, 65, - 37, 34,171, 52, 39, 35,151,203,135,252,180, 98,197,147,159,230,206,177,235,210,189, 7, 18,194, 66,161,201, 74, 7,161,165,192, - 33,216,144,165, 9,145,150,154,143,197, 71, 79,167,229,203,229, 67,202,104, 36,202,180,179,200, 99,197, 55, 49, 6, 87, 36, 6, - 79,108,252,153, 23, 75, 96, 98, 2,158, 72, 12, 54,143, 87,214, 0,238, 47, 56,243,243,243,135, 14, 27, 54,236,213,179,103,207, -204, 39, 79,158,140,142, 29, 59,134, 40, 20, 10, 79, 0,121,213, 77, 79,154,166,147,187,116,233, 66, 18, 4, 33, 30, 51,102, 12, - 63, 61, 61,189, 56,178,122,126,126, 62,174, 93,187,134, 6, 13, 10,102,245, 71, 70, 70,162,113,227,198,229,114,254,176, 56, 34, - 25,192,154,185,195, 28, 55, 61, 9,147,204, 2,176,161, 78,253, 26,184,115,227, 54, 30,220, 9,246,109,223,132,222,254,221,152, - 54, 63, 11, 61, 71, 44,116,107, 53,153, 37, 54,177,199, 31,231,207,177,162, 94, 30, 92, 39,151,135,215,195,158, 11, 11,202,179, -147, 32, 8, 48, 12,243, 69, 40, 7, 22,139,133, 99,199,142, 85,245,222, 79, 31, 56,112, 96,218,143, 63,254,200,149, 72, 36,120, -243,230, 13,100, 50, 25, 4, 2, 1,110,220,184, 65, 1,216,117,236,216,177, 27,199,142, 29,235,141,130,217, 68,129, 85, 41,159, - 34,145,200,199,203,203, 11,111,222,188,193,243,231,207,207, 1,120, 21, 18, 18,114,238,195,135, 15, 35, 59,119,238,140,223,127, -255,221, 71,161, 80, 28,168, 10, 39, 77,211, 37, 99, 38, 21,173,248, 16,150,159,159,223, 62, 56, 56,184,170,249, 46,201,204,204, -236, 84, 40,172, 19,109,109,109, 77,194,194,194, 80,179,102, 77,104, 52,154,118, 85, 45, 75, 57, 57, 57,191,237,216,177,227,208, -196,137, 19,241,243,207, 63,143, 57,125,250,244,152,239,190,251, 14,125,251,246,197,225,195,135,241,234,213,171, 13,208,111, 89, -177,178,238,253, 21,128, 87,182,182,182, 51,106,212,168,129,205,155, 55, 35, 60, 60,220,111,205,154, 53, 75, 94,189,122,133, 6, - 13, 26,240,163,162,162,168,234,212, 33, 0, 96, 98, 98, 98,162,213,106,113,241,226,197,167, 0,230,142, 25, 51,198,102,235,214, -173,222, 98,177, 24, 89, 89, 89,138,136,136,136,209, 0, 46,253,211,117, 29, 67, 16,203, 38,255, 48,107,239, 15,147, 71, 11, 90, -183,106, 1,121,110, 18, 20,249,169,144,231,125,194,142, 3, 55, 65, 16, 36,172,173,237, 97, 99,231,132,248,248, 4, 60,186,114, - 85, 45,147, 43,182,242,180,244,134,138, 57,103, 22,112,182, 44,224,148,203,210,160,200, 79, 43,230,180,177,113, 40,228,140,199, -195,224,171, 74,133, 76,246,155,154, 33,126,249,155,239,253,255, 51,170,182,214, 97, 73, 72,165,210,217, 83,167, 78,245, 92,188, -120,177, 37, 69, 81, 44, 11, 11, 11,196,199,199, 83,103,207,158,205,202,207,207,159, 93, 29,107,216, 28,206, 43, 23,215, 6,158, - 3, 7, 14,164, 6, 12,232,207, 29, 59,177, 55,219,218,198, 6, 57,217,153,120,247, 38, 20,111, 95,191,132, 75,131,230, 88,185, -102, 11, 96,102, 86,233, 66,146,133,203,234,244, 91,253,211,130, 83,157, 60,122,153, 52,104,220,156,219,162,158, 41, 52, 90, 10, - 73, 73, 73,184,116, 49, 76, 19,241,226, 65, 46, 77,169, 71,202, 51,244, 91,130, 39, 8,160,144,137,125, 77,108, 52,199,214,111, -218, 49,127,215,190, 35, 11, 23,207,154, 44,234,236,222, 19,225,183,127,199,185,128, 83, 50,165, 74,189,137,203,194,175, 17,153, -144,191,171, 98, 26, 40,149, 74, 77,233,246, 84,169, 84,106,190, 54,167, 15, 31, 62,140,212,212, 84,117, 92, 92,220,117,138,162, - 78, 87,176,216,243, 23,216, 1,168, 7,171, 84,183,127,114,119,239,253,211,141, 27,130,241,139, 22,169,199,140, 29,187, 0, 42, -149, 6, 60, 30,195, 22,137, 72,240,249,156,200,135, 15,141,182, 77,155,102, 65,168,213,183,142, 84, 16, 54,160, 12,124,243, 89, -135, 69, 30,173,174, 93, 59, 99,252,228,185, 80,148,240,104, 61,126,254, 14, 42, 13,244,246,104, 21, 34, 33, 46, 49,177,253,172, -101, 63,157, 31,233,213,221,173,137,115, 45,190,117,237, 90, 16,219,217, 33, 51, 61, 29, 15,159,191,213,174, 57,117, 62,162, 80, -100,233, 21, 87,134,166,233,130, 65,238, 0,186,207, 94, 12,130,197, 2, 10,195, 56, 20,205, 28,170,221,166, 35, 8, 54, 27, 58, -134,134, 74,165,210,103,208, 95,210,199,143, 31,135,142, 25, 51, 38, 48, 32, 32,128,244,242,242,106,113,225,194, 5,250,107,202, -142, 66,161,104, 15, 0, 2,129, 32,214,204,204,204,113,226,196,137,208,106,181,144,203,229,200,201,201, 65, 82, 82, 82,246,196, -137, 19, 53, 0, 96,100,100,196, 27, 54,108,152, 73,101,156, 91,206, 38, 43,231, 14,115,220,110,193,142,243,206,205,120, 85,219, -130, 29, 23,219,190, 9,189,125,203,217,100,165,137,131,108,109, 70, 92,208, 59,137,236,198,222, 63,206,159, 99,141, 27, 60, 84, -231, 36,126,239, 43,176, 97,206, 86,198, 75, 16,196, 23,193, 73,245, 20, 89,159, 33, 47, 47,111,201,242,229,203,251, 74,165, 82, -167,222,189,123,115,221,220,220,240,228,201, 19, 4, 4, 4, 80,143, 31, 63, 78,148,201,100, 75, 1, 40, 1,220,172, 78,154,186, -186,186,214,102,179,217, 69, 93,105, 59, 11, 15,239,188,112,225,194,200,201,147, 39,163, 86,173, 90,141,162,162,162,248,168,194, -115,196, 48, 76,113, 47,195,183, 4, 65, 16,209,219,182,109,115,180,179,179, 35,174, 93,187, 70,177, 88,172,234,120,110, 14, 31, - 60,120,176,157, 86,171,253, 97,202,148, 41,240,240,240, 0, 69, 81, 56,122,244, 40, 14, 30, 60,168,175,200,170, 16,239,222,189, -123,153,152,152,216,101,193,130, 5,216,188,121,243,146, 5, 11, 22, 32, 49, 49, 17,239,222,189, 11,253, 26,222,220,220, 92, 69, - 66, 66,130,176, 67,135, 14,173, 35, 34, 34, 34, 60, 61, 61, 27, 79,158, 60, 25, 27, 54,108, 96,238,221,187, 55, 12,192,181,255, - 68,235,253,246, 67,150, 63, 71,199,190,177,102,237,111, 43,234,213,173,253,227,164, 9, 35, 88,174, 46,141, 33,203, 73,130,165, -149, 45,156,106,212, 65,122, 90, 6,174, 95,191,166,203,200,200, 62,172, 35,137,213, 31, 62,100,165,124, 13,167,163, 83, 29,164, -165,165,225,234,213,171,186,108,105,238,126,104,201, 53, 81,241,217,169, 48, 64, 31, 79,214, 20, 84, 16, 37,190, 34, 88,153,155, -155,159, 48, 49, 49, 73, 53, 49, 49, 73, 53, 55, 55, 63, 1,232, 53,251,160, 71,137,218,129,245,217, 54,108,152, 0, 2, 65,123, -176,217,243,204,204,205,175,153,154,154,102,118,237,218, 85,189,119,239, 94,101, 84, 84, 36,157,156,156,200,152,154,154,230, 20, -159, 95, 22,103, 41,152,155,215, 53, 22,217, 55, 94, 97,234,212,226,161,216,190, 81,158,216,190, 81,158,169, 83,243, 71, 34,251, - 70,171,204,205,235, 26,235,101,103, 57,168, 99, 3,107, 23, 43,236,106, 96, 77, 40, 92,172,176,171,142, 13,172,245,190,247,138, -187,253,116, 4, 1, 29, 10,166, 97,163, 26,156, 69, 28, 52,139,197, 58,226,228,228,100,143,170, 5,172,251,130,115, 44, 80,107, - 44,159,255,195, 25, 95,223,241,177,247,238,141,201,141,137, 25,149, 19, 29, 61, 34,244,212,169,145, 59, 71,142, 28, 59,138,207, -159, 50, 12,168,171, 47,167,189,189,189,223,203,151, 47, 3,244,221, 74, 8, 47,189,211,179,110, 29,199, 27, 94, 61,218, 49, 62, - 83,135, 48, 62, 83,135, 48, 94, 61,218, 49,117,235, 56,222,248,138, 60, 34, 88, 44,150,183, 80, 40, 60, 33, 18, 10,195, 69, 66, - 97,184, 80, 40, 60,193, 98,177,188, 81,241, 24,170,207, 56, 45, 45, 45, 95,216,218,218,166, 86,101,179,178,178, 10,169,130,157, -163,106,215,174,157, 72,146,228,150, 42, 62,211, 21,113,186, 24, 25, 25, 69,139, 68,162,164,146,155,145,145, 81,201,192, 80,150, - 66,161,240,178, 72, 36,218,170, 15,231, 47,203, 26,175,120,116,115,198,171, 95,150, 53, 94, 81,250,183,153,131,204, 39, 62, 9, - 92,157, 57,115,144,249, 68,125,236,180,177,177,185,103, 99, 99, 35,177,177,177,145,216,218,218, 86,184, 89, 89, 89,189,208,131, - 83, 96,108,108,188,213,216,216, 56, 85, 36, 18,233,196, 98,113,170, 72, 36,218,130, 18,161, 45,170,155,158, 36, 73,110,104,212, -168,145,146,197, 98, 29, 42,245,211,230,122,245,234, 41,217,108,246,166, 42,114,154,116,238,220, 89, 23, 22, 22,198,120,120,120, - 48, 0,204,191, 97,190,219,153,155,155, 95, 51, 49, 49, 73, 48, 54, 54,222, 1, 64, 84, 77, 78, 2,128,183,163,163, 99,104,183, -110,221,228,142,142,142,193, 0, 6,126, 67, 59,251, 14, 26, 52,136, 78, 72, 72, 96, 24,134, 97, 18, 18, 18,152, 65,131, 6,209, - 40, 8, 20,249, 53,117,242,178,105,211,166, 49,143, 31, 63,102, 30, 63,126,204, 4, 7, 7, 51,125,251,246,165, 1,124,255,149, -245, 60,190,213,189,187,213,177,170,219,176,190,249,233,209, 67,221,233,155,151,182, 48, 43,151,254,200,244,244,104,204, 52,168, -103,126,222,197,197,210,229, 91,112,174, 88, 58,149,233,209,165, 17,237, 86,215,252,148, 91, 29,171,186,255,240,189,255, 27,189, - 90,248,187, 7,156,253,229, 90,252, 92, 44,149, 13, 7, 7, 7,100,102,182, 19,176,217,238,124, 62,223,147,100,177,238,102,165, -167,207, 41,124,221,210,253, 83,174,218, 10, 27,244,186,224, 85,176, 36, 65,117, 56, 63, 27,200, 94, 77,206,170,112,232,197, 89, -222,162,210,180, 74,149, 98, 73, 81, 47,118,160,194, 52,248,140,211,209,209,241, 7,154,166,107,235,107, 16, 73,146,177,201,201, -201, 7,170,147,158,245,235,215,103, 10,187,183,137,111,153,239,127, 71, 89,250, 95,226,252,227,183,166, 14, 13,154, 54, 92, 24, -254, 50,106,115, 97,183, 98, 49, 86,205, 52, 55,118,239,214,117,249,195, 59,247,126, 94,181, 67,154,247, 31,190,119, 18,122,142, -105,251, 6,156, 69, 65, 66,171,196,201,225,112,246,182,109,219,246,135, 39, 79,158, 28,210,233,116, 83,254, 71,203,103, 95, 22, -139,181,192,213,213,181,197,187,119,239, 66,117, 58,221,102,148, 17, 40,178, 26,118, 46,173, 93,187,246,116, 46,151,203,207,207, -207,151,166,164,164, 44, 7,112,250,191, 45, 61,221,234, 91,180,102,152,226,160,219,235,222,124,204,122,246,205, 56, 25, 90, 71, - 51,172,181,239, 98, 50, 67,254, 3,249,254,111, 19, 89,251,255,137, 63,238, 97,224, 52,112, 26, 56, 13,156, 6,206,111,206,105, -100, 72, 79, 3,231,191,144,243, 95, 9,182, 33, 9, 12, 48,192, 0, 3,254,223, 65, 97, 72, 2, 3, 12,248,175, 67, 73,175, 86, -177, 55,139,168, 64,149, 86,197, 37, 88, 29,101,123,219,192,105,224, 52,112, 26, 56, 13,156, 6, 78, 3,231,255, 28,231,191, 85, -100,237,175, 96,255,111,131,193,173,106,224, 52,112, 26, 56, 13,156, 6, 78, 3,167,129,243,127, 65,104,149,185,111,232, 58, 52, -224,111,199,246,193,112, 4,128, 89, 23,144,252,119,156,111,128, 1, 6, 24, 96,128, 1,255, 97,236, 71, 57, 93,135,255, 13, 66, -203, 1, 64,123, 20, 44,124,251, 22,192, 3, 0,210,175,224,179, 2, 48,130, 32,136,225, 0,192, 48,204, 25, 20,204, 26,201,208, -231, 98,129, 64,144,170, 84, 42,109, 10,191,167, 41,149,202,146,107, 25, 16,248,114, 54, 27, 83, 98, 43, 19,181,107,215, 78, 85, -169, 84, 54,122,252,125, 14,195, 48,175, 72,146, 12, 23,139,197,119,222,189,123, 23, 80,149, 27,247,244,244, 28,207, 98,177,214, - 1,128, 78,167, 91,118,247,238,221, 35,127, 99,190,181,171,225, 96,247,187, 70,171,161, 82,211,179,150,227,203, 64,126, 0,128, - 93,253,224, 71, 80, 88, 88,248,125,211,140,128,138,227,232, 84,245,252, 10,208,154,195,225,248,216,218,218,246, 73, 74, 74,122, - 1, 96, 17, 80,121, 84,227, 26, 53,106,124,207,102,179,199,232,116,186,186, 44, 22, 43,154,162,168, 99,137,137,137,254,134, 58, -196, 0, 3, 12, 48,192, 0, 61,196,214, 23,168,146,208,106, 96, 9, 59, 6,240, 6,129,158, 96,112,139, 0, 78,190,205,196, 39, -125,175,255,174, 1,180, 90,170,224, 63,185, 36,116,215, 62,146,251,251,244,233,227, 52,115,230, 76,116,236,216, 17, 79,158, 60, -233,112,248,240,225,137,167, 79,159,126, 69,211,244, 93, 0, 79, 0,189, 66, 41,136, 80, 16,167,101,116,159, 62,125,122,172, 91, -183,142,213,184,113, 99, 40, 20, 10,220,187,119,207,125,211,166, 77, 91, 31, 61,122,116, 27,192,241, 66, 65, 80,238, 2,120, 74, -165,210,166,104, 49, 78,130, 32,108,134, 13, 27,246,172,164,184, 42, 92, 95,141, 96, 24,230, 49, 65, 16,193, 58,157,238,201,217, -179,103, 19, 27, 0,237,166,214,230,158,157, 19,171,113, 42,205,169, 82,169,108, 46,254,178, 30,108, 62, 31,170,188, 92,116,152, -240,151,232,189,181, 98, 33, 8,154, 2, 11,140,212,115,237,214, 87, 0,194, 83, 82, 82, 94,121,120,120,196, 86, 53,135, 89, 44, -214,186,235,215,175,219, 51, 12, 3, 47, 47,175,117, 0,254, 46,161,197,111,223,186,249,221,203,231, 78, 8,242,179, 82,209,123, -224,200, 99,239, 19,211,198, 3, 56,247,153,104,234, 3, 91,130,192,194,105,235,143,179, 0, 96,247,210,209,139,182,244,194,246, -185, 55,241, 9,128,103,161,248, 1,128, 95, 0,220,221,213, 7,182, 0, 22, 79, 91,127,156, 0,128, 61, 75, 71, 47,220,213, 7, -219,102, 92,171,114,216,138,233,227,199,143,223,190,110,221, 58,150,189,189, 61,146,147,147,123, 55,106,212,200, 53, 55, 55,183, - 17, 42, 24, 68, 92,171, 86,173, 83,157,187,245,175, 51,100,184,183,208,218,202, 28, 41,146, 12,147, 83, 39, 14, 77,101, 61,190, -215, 39, 46, 46,110,164,161, 14, 49,192, 0, 3, 12, 48,160, 28, 84, 63, 50,124, 75,123, 24,201, 52, 24,196,102, 17,223,119,106, -221,168,251,168,239, 58,147,141,220,234,227,117,100, 84,175, 75,119,158,110, 34,131, 35, 3, 41, 29,227, 47,226,226, 98,136,164, -226,153, 48, 90, 10,236,155, 23,143, 23,180,132, 19, 71,179,158, 61,123, 86,191, 85,171, 86,197, 75,195,116,239,222, 29,221,187, -119, 39,118,239,222,221,252,230,205,155,205, 15, 30, 60,168, 9, 12, 12,252, 29, 21,199, 71,241,169, 87,175,222,166,237,219,183, -243, 61, 60, 60,192,231,243,139,127, 16,139,197,232,223,191, 63,250,247,239,207, 74, 73, 73,241,186,124,249,178,215, 47,191,252, -162,142,143,143, 95,128,191,162, 52, 87,136,229,203,151,183, 46,227,240,117,130, 32, 62, 82, 20, 21,218,188,121,243, 68, 87,160, -254,212,239, 58,222,154,222,201, 69, 52,103,201,225, 50,121,216, 60, 30,254, 24, 95,208, 86,151, 20, 90,177,119,174, 65,108, 98, -156, 41, 52, 54,126, 5, 32, 28,192, 43,134, 97,194,163,163,163,163, 26, 2,205,219,155,147,191, 31,146,210,205,170, 32,182,144, -152,152, 8, 83, 83, 83, 35, 15, 15, 15, 9, 65, 16,171,238,221,187,247,173, 7,228,181, 91,181,112, 58, 87, 26,247, 10,159,222, - 60,198,188,225,238,194, 57, 59,254,252, 89,169,214,158,171,232, 34,130, 32,201, 95,130,105, 95, 20, 44,198,187, 60, 51, 51,211, - 3, 0, 44, 45, 45,121, 0,238,110,121,138,239,230,118, 34,190, 38,182, 27,151,197, 98,237, 58,124,248,240,228,239,191,255,190, - 96,233,136,135, 15, 33, 22,139,177,102,205,154, 90,243,231,207,247,163, 40,106,118,121,158,172,206,221,250,215,217,182,249,231, - 70,121, 89, 57,170,125,187, 78, 63,119,104,210,128,156,230, 51,223,120,155, 70,101,167,211,233,190, 55,120,182, 12, 48,192, 0, - 3, 12,168,138, 55,171, 82,161,229,106,133, 35, 45,155,184,140, 24,213,215,157,223,180, 73, 99,112,249,127,133,110,105,213,186, - 53, 90,181,110, 77,250,230,231,245,124,246,252,101,207,179, 55,159,168,228,218,248,211,239, 50, 48, 94, 95,171,138, 22,165, 93, - 55,208,182,155, 44, 59, 77, 0, 0, 34, 51, 27,229,210,139,159,238,116,234,212, 9, 78, 78, 78,220,192,192,192, 73,149, 8,173, -165,111,223,190,229,179, 88, 21,199, 67,117,112,112,192,176, 97,195,208,160, 65, 3, 94,215,174, 93,151,150, 39,180, 4, 2, 65, - 26, 65, 16, 54, 0, 96, 97, 97,161, 91,181,106, 85, 40, 83, 0, 0, 96, 24,134,121, 76,146,228, 19,154,166,159,254,249,231,159, - 73,141, 0,155,222,173, 26, 60,152, 62,118,152,144, 57,187,181, 92,145,160,204,205, 45,243,184, 80, 44, 74, 55, 18,137, 94,241, -133,130,112, 20,172,229, 21,238,228,228, 20,213, 8,112,106,219,160,246,205,221,115, 71, 27, 31,154,242,115,165,105,217,178,101, - 75,215,102,205,154, 9,116, 58, 29,100, 50, 25,246,236,217, 99,106,100,100,100,218,167, 79,159,149, 37, 11,128, 27,208,116,168, - 3,107,202,234, 20,221,140,106, 20, 36,179,206, 29, 90,199, 13,235,223,199,164,117,251,206,120,127,247, 40,178,178,242,144,147, -157, 15,154,166,191,136,235, 51,227, 26, 82,119,245,195,166,221, 75, 70, 47, 38, 72,146,104, 62,120, 17, 6,216,229,204,218,187, -119,111, 36, 0, 14,143,199, 43, 89, 14, 29,140, 28,155,108,170,223,171, 51,246, 44, 27, 11,134,166, 25, 0,155,170,224,205,178, - 49, 54, 54,190,116,243,230,205,118,109,218,180,193,147, 39, 79, 16, 19, 19,131,233,211,167,171,103,204,152,193, 29, 55,110, 28, - 49,111,222,188,153,191,252,242,203, 89, 0,143,190,120, 16,216,236, 49, 3,135,140,228,229,103,231, 42,213, 42,141,218,194,202, -140, 86,201,148,242, 12,105,174,114,228,232, 31,212,145, 33, 79,199, 0,248, 66,104,125,101,122, 26, 96,128, 1, 6, 24,160, 7, - 24,134,105, 3,192, 26, 64, 58, 65, 16,207, 75,238, 23,158, 82,180, 90, 75,233,253, 12, 20,244, 74, 89,150,160,203, 64,193,112, - 31,107, 0, 58, 0,207, 8,130,144,126,165,137, 21,207, 50, 12, 8, 8, 96, 74,126,150, 16, 90, 12,195, 48,140, 54,243, 35,163, -122,119,141,145, 63, 63,240,197,166,136, 60,199, 72,158,157,102,158, 30, 95,193,184, 90, 85,188, 10,251,119, 13,160, 29,221, 12, -204,180, 54, 96,102,119, 53, 83, 62,123,246, 44,144,166,233, 0,223,206, 96,152,215,199, 25,230,245,113,102,110, 7, 48,103,207, -158,189,238,231,231, 23,224,239,239, 31, 0,160,178,113, 74,169,121,207,131,153,167, 54, 96,202,195,219,183,111,153,189,123,247, - 50, 75,150, 44, 97, 14, 29, 58,196,160,146, 8,234, 94, 94, 94,247, 34, 34, 34,152,113,227,198,133,162,130,192,128,110,128,104, - 76, 45,187, 55,170, 83, 91, 53,234,239,155, 50,210, 46,130, 50,239,223,222,222,254, 51,123, 54,184,216, 49, 59,219,186, 48, 71, -122,182,250,196, 48,204,117,134, 97, 54, 48, 12, 51,146, 97,152, 6, 0,208, 18, 48, 25,104,111,249, 65,121,122,155, 66, 61,165, -125,165,235,222,181,108,217,210,117,193,130, 5, 89,106,181,154,137,141,141,101,246,237,219,199,220,186,117,139,185,120,241, 34, -227,238,238,158, 82,194, 94,219,137, 13,156, 83,213, 7, 87,171,170, 83,138, 56, 44,214,206,231,183,206, 50, 31, 30,156, 97,158, -157,244, 99,142,253, 52,138,153, 57,176,157,198,196,136,175, 4,208,173,188,235,102,116, 66,253, 6,181,172,223,197,199,199, 51, - 26,141,134,153, 48, 97, 2,227,229,229,197,244,234,213,139,233,209,163, 7,211,189,123,119,166, 91,183,110,204,157, 59,119,152, -148,148, 20,166, 71,231, 86,178,126,110,104, 93, 5,211,154, 56, 59, 59,127,138,141,141,101, 52, 26, 13, 19, 24, 24,200, 28, 61, -122,148, 9, 12, 12,100,124,125,125, 25, 0, 71,166, 77,155,166,144, 74,165,140,151,151, 87, 18,202,136, 26,239,236,236, 28, 21, -241, 46, 49,113,203,250, 3,119,254,216,121,226,206,249,179,183,238, 92,186,241,236,202,197, 27,207, 79, 63, 13,139,190,232,236, -236, 28, 85, 70,254,127, 85,122, 26, 96,128, 1, 6, 24, 80,185, 22, 41, 20, 90,125, 11,157, 29,125, 25,134,233, 81,106,191,111, -161,112,250, 98,223,215,215,119, 73,201,253,162,115,124,125,125,151, 0, 96, 58,116,232,112,130, 97,152,250,223,192,252, 41,101, -108,149,123,180,138, 64, 37, 61, 3,215,165, 15, 56, 58, 45,180, 25,111, 65,103,199, 3, 34, 59, 40, 8, 49, 50, 37,241,120,243, -224, 92,197, 11, 73, 20,226,234, 91,112, 0, 4, 70, 69, 69,225,205,155, 55, 72, 76, 76,132, 80, 40,252,226,188,135, 15, 31,194, -200,200, 8,246,246,246,250, 41, 93,245,231,237,220,171, 86,206, 16,119,240, 64,198,168, 31, 17, 24, 24,136,180,180, 52,112,185, - 92,240,120, 60, 80, 20, 85, 41, 31, 73, 22,172,248, 91,228,197, 42,235, 28, 15,128,205,183, 16, 95,222,189,114,118,109,242,113, - 0, 71,145,240, 1, 41, 74,157,126,158, 60,177, 8, 66,145, 80, 98,100, 36, 44,238, 46, 4, 16, 78, 16,196,251,150, 0, 71, 36, - 22, 92,254,125,237, 60, 59, 86, 72,160, 64,241,225, 85,153, 28, 61,122,244,152, 10, 96, 37,195, 48,217,205,154, 53,179, 93,183, -110,157,121,114,114, 50, 94,191,126,141,211,167, 79,167, 83, 5, 55, 74, 48, 12,179, 26, 0,218, 3, 2, 51,107,179, 27, 59, 87, -204, 54,198,221, 83,188,234,148, 34, 83,183,254, 87,134,142,155, 54, 99,251,236,254,144,229, 41,112,252, 86, 8,174,191,252, 56, - 0,192, 67, 84, 48,238,109,215, 35,124, 0,210,187, 15, 25, 50, 36,244,254,253,251, 86, 7, 15, 30, 4, 69, 81,101,110, 7, 15, - 30,196,237, 7, 47,103, 1,120,161,167, 89, 14,181,107,215,190,253,244,233, 83,107,161, 80,136, 91,183,110, 33, 59, 59,187,216, -147, 53,126,252,120, 34, 59, 59,219,123,207,158, 61, 67,227,226,226, 54, 63,120,240, 32, 19, 5,107, 65,126, 86, 16, 88, 44,214, - 71,138,210, 52,180,119,171,207, 30,222,191,115,231,252,204, 87, 16, 91, 54,195,227,176,143,151,179,165,153, 10, 22,139,245,177, -228,249,223, 34, 61, 13, 48,192, 0, 3, 12,168, 26, 8,130, 8, 96, 24,166, 31, 65, 16, 1,165,143,149,254, 94,116,158,159,159, - 95,241,126,209, 53, 27, 54,108, 88, 95, 98, 95,254,141,204,171,112, 48,124,215, 66, 5,217,181,172,147, 84,175,207, 67,245,230, - 18,184,206,157,192,107, 48, 0, 44,103,119, 36,188,186,139,176,107, 91,144, 20,249, 16, 12,173,131,189,107, 91,125, 13, 81, 54, -108,216, 16, 74,101,193,208, 44,149, 74, 5,174,200, 92, 57,111,202,104, 1, 0,208,108,129,170,132,130,213,139,208,184,147, 39, -218,166, 50,120,102, 91,224,168,104,155, 90,112,221,218, 9, 19,192,229,114,193,229,114, 65, 20, 14,253,209, 71,104, 17,133, 39, -211, 5,221, 87,101, 25, 65,200,249,156,227, 39, 87,250,180,229,199,133,243, 84, 17,143,145,162,162,153,203,169,186, 43,250,216, - 43, 20, 9,147,141,132,194,112, 35,177,168, 88,104, 17, 4,241, 17, 0, 24, 14,199,255,232,106,159,102,162,212,104,145,242,121, - 32, 36, 74, 90, 83, 14,205,234,107,215,174,217,176,217,108, 59,157, 78,135,132,132, 4, 68, 70, 70, 98,219,182,109,169,121,121, -121, 93, 67, 66, 66,222,149,212,142, 58, 35,222,105,255, 53,179,235,176, 95, 5, 9, 84, 31, 35,170, 92,122,172,154, 12,242, 26, -208,181,249,149,169, 99,151, 97,208,119,189, 48,174,107, 35, 38, 54, 37, 75, 9,224, 86,161,235,181, 50, 36,135,132,132,244,236, -210,165,203,177, 22, 45, 90,184, 49, 12,131,166, 77,155,194,219,219, 27,254,254,254, 8, 11, 11, 67,110,110,174,230,230,205,155, - 91, 1, 28,214,211, 44,161,185,185,249,245, 59,119,238, 88, 11,133, 66,220,188,121, 19, 10,133, 2,246,246,246,152, 49, 99, 6, -111,195,134, 13,127,228,230,230, 14,247,243,243, 19,196,198,198,238,188,113,227, 70, 45, 20,172, 59,247, 69, 33, 80,171,213,251, -143,251, 31,217, 62,195,103,166,227,157, 39,175, 3, 85,249,121,166,206,206,137,185,214,230, 98,227,173, 27, 87,215, 84,171,213, - 83,203, 78,207,123,213, 74, 79, 3, 12, 48,192, 0, 3,190, 64,133, 90,164,164,120, 42, 45,182,170, 34,210, 0, 40,124,125,125, -151, 18, 4, 17,224,235,235,187,212,207,207, 79, 1, 32,229,239, 16, 89,197, 66,171, 95,191,126, 65, 1, 1, 1,232,215,175, 95, - 80,185, 20,180, 14,154,216,251,208,196,222,135, 81,135, 89,248,211,111, 84,169,155,167,171,109, 93,255, 53,183,238,168, 84, 42, -246,145, 35, 71,138,199,109, 1,128, 78,167,251,230,185, 88, 21,161, 85, 40,244,190, 48,162, 54, 95, 28,180,127,238,240,246,150, - 58, 57, 71,253,240, 50,146, 85, 52,181,249,131, 70,254, 60,155,249,165, 60,206,139,115,166, 34,241,193,109, 8,197,226,196,201, -247,195,139,189, 88,133, 34, 43, 6, 0,106,241,141, 3,247,206, 30,228,110,199, 5, 87,125,229, 12, 82, 84,180,106,111,156,246, -112, 57,133, 13, 12,195, 32, 38, 38, 6,114,185, 28,193,193,193, 56,119,238, 92,122, 25, 34, 11,181,249,226,123,135, 22,141,105, -103,146,247,137,171,126,126, 27, 41, 42, 90,175,174, 46,171,166,131, 58,113, 73,226, 38, 65,178,140,186,183,119,197,156, 31, 6, - 99,203,161, 63, 41,181, 77,231,126,219, 47, 93, 29,145,175,210, 44,213, 83,100, 21, 59, 27, 67, 66, 66, 26,133,132,132,240, 1, -120,122,123,123, 95, 29, 58,116, 40,130,130,130,112,249,242,101, 23, 0,146,194,243,214,160, 96,161,236, 95, 0, 68,151,231,120, -228,114,185, 39,111,223,190,221,216,193,193, 1,183,111,223,134, 66,161,192,180,105,211,212, 62, 62, 62,220,241,227,199, 19, 57, - 57, 57,197,158,172,224,224,224,204,242, 68, 22, 0, 36, 39, 39, 95, 59,119,250,104,199, 46, 93,186, 12,174,227,210,192, 36, 58, - 47, 55, 77, 40, 20, 24, 61, 8,186,203,125,254,244,209,206,228,228,228,103,101,167,103,160,222,233,105,128, 1, 6, 24, 96, 64, -249,208, 75,139,148,242, 76, 85, 5, 37,174,227,248,249,249, 69,250,249,249,125,230,241,250, 74,148,158,117,120,165,168, 77,171, - 86, 28, 45, 93, 78,194,151, 55, 64,211, 85,185,217, 47,142,153,155,155, 83, 70, 70, 70,159, 9, 45, 90, 79,206,172, 11, 39, 16, - 61,125,116,177, 39,171,200,179,133,222,227,191, 74,104,209, 52, 29, 12,224, 51, 35,132, 54,174,163,182,246,119,235,212,168,142, - 35,169, 61,189, 13, 73,114, 74,185,242,173, 70,249, 38,143, 25, 16, 85,198, 32,235, 98, 78, 74, 11,129,200, 40,222, 72, 44, 42, - 45,178,226, 0, 64,100,235, 50,116,115,159, 6, 93,155, 55,168, 71, 82,167,126, 67,178, 92,155,239, 27,165,209, 68,203,152,243, -229,164,225,202, 94,189,122,173,180,180,180, 20,108,223,190,221,212,217,217, 25, 20, 69,169, 75,139, 44,161,141,235,168,109,131, -154,116,114,181, 51, 39,181,103,119, 32, 81,161,147,111,139,214,254,161,143,200,178, 50, 21,223,216,187,126,186,145,144,207,129, - 82,169,196,134,221,103,113,243, 81, 68,191,140,136,139, 55, 0,220,248,138, 2, 57,185, 95,191,126, 91,214,172, 89, 3,173, 86, -139, 73,147, 38,225,227,199,143, 55,223,190,125,187,173,102,205,154, 11, 22, 45, 90,228, 96,103,103,135, 17, 35, 70,112,181, 90, -237,248,114, 56, 54, 30, 63,126,188, 95,243,230,205, 17, 20, 20,132,236,236,108,216,219,219,195,199,199,135,231,231,231,247, 71, -110,110,238,240,245,235,215, 11, 98, 98, 98, 42,244,100,125, 86,174,117,186,181,251,182, 76, 95,208,166,189, 59,249,225,195, 59, - 42,161,173, 7,121,247,246,229,251,150,150,150,127, 36, 36, 36,252,149,158,131,155, 86, 57, 61, 13, 48,192, 0, 3, 12,248, 54, - 32, 8,226, 74,225,184,171,207,188, 92,165, 69, 88,145,199,170,228,126,233,243, 11,127,255, 22, 47,203,251,203, 16, 94,159,135, -119,232,215,175,159,222,211,234,105, 89,186, 94,226,169, 52,190,107, 0,173,163, 24,236,165, 30, 36,184, 34,115,101,255, 53,183, -238,148,119,174, 72, 36,210,219,163, 69,171,148,149,101, 74,149,132, 86,225, 24,173,235, 12,195,124, 38,180, 76,109, 93, 61, 22, - 47,154,189,213,125,104,111, 50,245,135, 14,200,206, 87,169, 22,189,166,232, 36,121,197, 34,171,160, 21,215,198, 10, 69,226,112, -129, 72, 88, 82,100, 37, 0,128,192,166, 94,219,133,115,102,236,238, 54,170, 63,145, 62,205, 29,210,108,133,106, 65, 36, 69, 36, - 43,152,225, 81,192,221,178,232,238,220,185,179, 15,192, 62, 15, 15,143, 84,145, 72,132,252,252,252, 47,242,160,200,222, 78, 67, -123,147,169,147,219, 33, 75,166, 81, 45,138,164,144,162,160, 79, 86, 38,178,172,205,140,111,236, 93, 55, 93,152,146, 20, 7, 46, -151, 11,177, 88,140, 91, 15,195,145, 17,121,233,107, 4, 22, 72,146, 92,229,235,235,187,114,198,140, 25,200,204,204,196,229,203, -151,241,221,119,223,225,196,137, 19,206, 87,175, 94,221,226,233,233, 9, 22,139,133,128,128, 0,104,181,218,247,229,208, 12,158, - 50,101,202,130,161, 67,135,226,217,179,103,144, 72, 36,159,121,178,178,179,179,189,119,239,222, 61, 52, 54, 54,182, 82, 79, 86, - 41,180,173, 93,175, 37,119,201,242, 95,161,146,167,177,211,147,159, 4, 5,222, 34, 31,103,101,101, 9, 1,228, 84, 55, 61, 13, - 48,192, 0, 3, 12,208,219,171, 85,158, 22, 73, 47, 20, 81,233,101,237,151, 16, 88,101,237, 19,165,188, 96,234, 82,191,135,253, -157,247,164,151, 71,139,109,219, 4, 84,106, 68, 9,161,149,246,217,239, 2, 99, 11,189,186, 14,181, 20,216,123, 15, 23,199,209, - 18,100,102,102, 10,172,172,172,148, 37, 5,130, 80, 40,132,131,131, 3,164, 82, 41,246,239,223, 15, 84, 62, 40,154, 50, 25, 58, - 22,109, 71, 77,194,115, 39, 30, 24,173,166,216,179,181,119,194,132,207,196, 22,151,203, 45, 26, 27, 86, 89,163,251,180,208,211, -244, 24, 0,211,210,165,206,207, 2,145,104,130,192,170,134,213,156,233,147, 57,177,105, 42,220,113, 95,146,125,118,227, 98,113, - 34, 35,158,145,128,156, 71,149,240, 69, 15,220,115,180,180, 39, 43,169,133, 75,157,101, 2,161,224, 7,158, 69, 45, 59,223,121, -211, 57,177,169, 42,226, 78,219, 69,185,231,126, 89, 36,140,129,241,130, 36,100,223,213, 35,123, 86,126,247,221,119, 43, 25,134, - 97,104,154, 94, 14, 0, 37,237,157,231,243, 3, 39,250,147, 18,129,238,203,164,231, 54, 46, 54, 78, 68,197,246, 90, 53, 29,212, -201,214,220,228,198,222,245, 51,132,146,228,120,240,249,124, 24, 27, 27, 35, 49, 53, 7, 28, 54, 75,241,149,229,141,223,185,115, -231,197,211,167, 79, 71,120,120, 56,166, 77,155, 38, 73, 72, 72, 56,127,234,212,169,105, 43, 86,172, 96,123,121,121, 65, 34,145, - 96,211,166, 77,218,135, 15, 31,174, 7,176,169,204,242,200,102, 79,254,249,231,159,153,148,148, 20, 34, 38, 38, 6,246,246,246, -152, 57,115, 38,111,253,250,245,197, 99,178,170,226,201, 42, 66,114,114,114,208,205,219,143, 49,224,218, 86, 80, 90, 85, 80,118, -102,194,253, 55,209,210, 32, 11, 30,111,190, 99,203,166,213, 74, 79, 3, 12, 48,192, 0, 3,190,137, 23,235,121, 69,251,255, 5, - 40,171,235, 80, 47,161,245,126,199,178,137, 46, 19,103, 44,132,145,115, 39,168,162, 46,128,206, 79, 45,246,104, 9,196,230,176, -168,233,134,108,153, 10,103, 2, 95, 2,192,251,170, 88,149,151,151,135, 86,173, 90, 97,215,120,215,110,202,188, 76,129, 17, 0, - 21,223, 68,121,145,215,249,206,213,171, 87,229, 52, 77,159, 4,112,181, 18,154, 85,141, 27, 55,222,249,235,175,191,242,220, 70, - 77, 68,254,147, 7,165, 61, 40, 48, 50, 50, 2,159,207,199,171, 87,175,112,231,206, 29, 53,128, 85,149,100,232, 83,138,162,194, - 78,157, 58,149, 84,191,142, 99,239, 86, 45,154,205, 90,186,196,215,248,245,131,155, 88,190,126, 39, 93,191,181, 87,206,134, 19, - 23,243,114,196, 53,187, 43, 36,111, 67,245,184,213,176, 82, 34, 43,165, 97,237, 26,221, 90, 52,105,188,112,249,242,101, 38,145, - 15,110, 97,197, 47,123, 25,151,230, 61,114,126, 57,119, 41, 55, 67, 88,171,151, 50,237,205, 51,125,210, 48, 40, 40,104, 31,128, -125, 69,251,165,237,245, 93,179,141,118,109,211, 91,186,225,196, 57, 89,174,113,205, 30, 21,217,107,237, 54,184,163,147,181,249, -141, 29,107,127, 20,126, 74, 78, 0,159,207,135, 88, 44, 70,130, 36, 27, 43,183,158,150,105,104,186,247,215, 10, 45, 99, 99, 99, -190, 70,163,193,174, 93,187,144,144,144,208, 1, 64,194,139, 23, 47,246,142, 28, 57,114,123,211,166, 77, 27, 70, 70, 70,190,207, -207,207,159, 1,224, 77,121, 36,102,102,102, 29,172,173,173,137,199,143, 31,227,199, 31,127, 84,207,156, 57,147, 59,110,220, 56, - 66, 42,149, 86,215,147, 5, 0,112,116,116,244,232,217,189, 61, 58,245,156, 22,164, 86,102,223,143,125,243, 71, 16,201, 60, 18, - 84, 55, 61, 13, 48,192, 0, 3, 12,248,159, 65,245, 2,131,123, 0,108, 87, 75, 76,109,236,200,253,228,191,113, 38,147, 23, 29, -204, 40,158,237, 99,114, 47,252,192, 92,217, 52,142,185,186, 99, 14, 51,173,111, 99,166,161, 13,241,201,213, 18, 83, 61,190, 20, -110,159,173,238,253, 93, 3,104,123,214, 3,211,179, 30,152,190,174,208, 2, 88,218,178,101,203,139, 62,109,255,138,163,229,211, - 22, 12,128, 31, 1,136,203, 49,171,172, 21,195,237, 1,236,111,213,170, 21,117,247,238, 93,230,237,240, 30, 76, 72, 67, 43,102, -198,140, 25,204,138, 21, 43,152,209,163, 71, 51,214,214,214, 84, 97, 66,216, 87,198, 57, 96,192, 0, 39, 0,168, 81,163,134, 89, -107,183,250,159, 94, 5, 94,102,238,251,111,103, 14,249, 12, 97,218, 53,117,203,176,107,216, 37,204,200,190, 65,139, 74,146,175, -152,211,206,206,110, 9,195, 48,189, 25,134,177, 7, 0, 23, 23, 75,113,203,134,245, 83,194,110, 95,102, 30, 28,221,201, 28,242, - 25,194,180,111,214, 40,211,201,205,243,141,192,166, 97, 91,125, 56,203, 66,153,246, 54,105,152, 97, 91,191, 99,104, 5,246, 22, -115,214,105, 59,226, 82, 82, 74, 42,243,244,233, 83,230,234,213,171,204,131, 7, 15, 24,255, 83,151,152,154,109,134,231, 91, 53, - 29,212,169, 10, 69,167, 60, 59, 77,251,246,237,203,188,127,255,158,233,211,167, 15, 3,192,180,154,156, 23, 99, 99, 99,153,136, -136, 8,102,233,210,165, 12,128, 35,211,167, 79, 87,228,228,228, 48, 61,122,244, 72, 40, 20, 88,236,234,216, 89,183,182,227,134, -193,253, 59,175,242,249,113,168,199,215,166,231, 55,132,129,211,192,105,224, 52,112,254, 47,112,254,127,134,125,161, 87,171,232, -179,165, 94, 30,173, 32,128, 66, 38,246, 53,177,209, 28, 91,191,105,199,252, 93,251,142, 44, 92, 60,107,178,168,179,123, 79,132, -223,254, 29,231, 2, 78,201,148, 42,245, 38, 46, 11,191, 70,100, 66,254,174, 18, 43, 10,227,104,125,134,144,144, 16,161, 69,189, -191, 98, 48,125, 40,136,205,186,183,138, 55, 40, 1, 48,229,229,203,151,191,122,122,122,174,251,161, 83,219, 33, 62, 29,187, 65, -171,213,194,223,223, 31,241,241,241,231, 1, 44,211,215,227, 22, 30, 30,158,209,168,158,243,108, 14,139,189,112,198,232,193,214, -233, 31, 95, 35, 41, 42, 4, 0,160, 82, 41,180,159,222,223,111, 94, 21,227,140,140,140,158, 90, 91, 91,191,181,182,182,150,186, -214,169, 49,133, 15,206,242,105,222, 3,109, 50, 99,223, 32, 49,178,160,103, 84,165,148,107,146,222,223,109, 88,157,220,117,118, -118,230,139, 56,152, 90,166,189,106,165, 54,245,195,155, 22,250,240,200, 85,234,245,171,183,248,247, 90,187,112, 2,223,196,196, - 4, 47, 35, 62, 96,249,111, 39,100, 10,181,182,119, 70,248,197,111,210, 61,198, 48, 12,180, 90,173,222, 19, 29,202,193,226,230, -205,155, 55, 88,183,110,157,203,248,241,227,241,181,158,172,146,136,142, 77,246,117,172, 81,183,209,135,183, 47, 61, 45,140,184, -199,190, 38, 61, 13, 48,192, 0, 3, 12,248,159, 65,223, 66,103,206,148, 18,159, 33,149, 10,173, 34, 68,164, 65, 14, 96, 77, 29, - 86,254,222, 37,235,182,172, 36,137,173, 19,104,134,249,157, 34,177, 58, 38, 19,233, 95,105,156,156,195, 6,213,107,208,104, 54, - 0,112,216,213,107, 32, 11,241, 30,192,208, 3,143,158,181, 57,240,232,217, 79,133,199,214, 2,168, 82, 95,174, 49, 27, 17,238, -141,234, 58,118,110,217, 88,192,210, 41,144, 20,245, 17, 89, 50, 37,110, 69,198,103,147, 12,249,123, 85,141,138,137,137,185, 7, - 0,182,166,194,168,206,141,234,213,236,210,170,177,144, 67,168,145,244,250, 37,114, 20,106,220,140,140,207, 1, 65, 84,123, 64, -245,183,178, 55, 53,252,210,243, 63, 65,244, 32, 8,226,246, 82,159, 81,252,149,191,157,252,166, 34, 11,128, 60, 57, 57, 57, 83, - 46,151, 91,166,164,164,168, 81,253, 32,113, 31,114,115,115,155,206,153, 51,103,205,130, 5,216, 12, 53,220, 0, 0, 32, 0, 73, - 68, 65, 84, 11, 22,110,220,184,145, 91,157, 49, 89,229, 65,154, 28,127,161, 75,227,111,151,255, 6, 24, 96,128, 1, 6,252, 79, - 96, 74,169, 79,232, 45,180,138, 5, 67, 26,210, 1,204,168, 91,151,153, 23, 29, 13,245,183,178,172, 44, 79,215, 87,226, 57,128, -254,213,190,154, 36,242,158,188,143,207,127,250, 62, 62, 31, 52,195,208, 12,163, 34, 73, 36,202, 52,154,245,239, 99,146,171, 63, -235,142, 32,116,207, 63, 36, 40, 94,124, 76, 84, 50, 52,205,208, 12,163, 38, 8,124,210,106,233,245,145, 49,241,151,254, 27,236, -205, 8,191,248, 40,128, 34, 58, 63,122, 26, 49, 79, 38,211,236,204,136,186, 24,252, 13,243, 69, 27, 30, 30, 62,166, 67,135, 14, - 19,117, 58,221, 94, 0,218,175,224, 82, 83, 20,181,120,195,134, 13,231,195,195,195, 79, 7, 7, 7, 75,190,133,200,250, 91,243, -223, 0, 3, 12, 48,192,128,127, 43,170,183,168,116,121,248,150, 34,235,191, 17, 17, 31,226, 90,253, 29,188,145, 31,226,154,252, -127,176, 55, 53,234,194,139, 84,192,251,111, 74,222,155, 58,157,238,230,183, 20,213,215,175, 95,175,141, 50,150,213,249,111,203, -127, 3, 12, 48,192, 0, 3,254,181,152, 82,158,248, 98, 27,210,198,128,127, 1,152,111, 37,178, 12, 48,192, 0, 3, 12, 48,160, - 26, 40,215,163, 69,160,252,153, 3,183,171,240, 7,213,153,125,112,219,192,105,224, 52,112, 26, 56, 13,156, 6, 78, 3,231,255, - 28,231,191, 17,246, 40, 24, 16,127,165,240,179, 66,241,245, 45, 97,152,250,106,224, 52,112, 26, 56, 13,156, 6, 78, 3,167,129, -243,223,142, 50, 7,194, 3, 5,131,135, 13, 48,192, 0, 3, 12, 48,224,255, 19,248,133, 91,117,127, 55,192,128,191, 91,108, 21, - 11,174,234,140,209,170, 95,248,249,225,111, 52,214,199,222,222,126, 74,179,102,205,220,184, 92, 46,153,151,151,183,250,238,221, -187,171, 74,159,212,185, 17,251, 5,139,132,211, 95, 71, 8,128, 96, 1, 36, 9, 29,131,164, 7,175, 20,173, 13,249,254, 95, 13, -103, 35, 19,235, 63, 9,146,197,211, 81, 26,232,180, 26, 20, 12,183, 42, 0, 77, 83,241, 58,141,202,171,188,139,237,154, 15,174, - 73,233,232,141, 0,179, 11, 32,167, 3,244,110, 2,236,105, 12,168, 61, 4, 88, 63,130,197,252, 2, 29,177,136,205, 97, 45,145, -132,156, 77,252, 55, 36,216,153, 51,103, 88, 95,115,253,240,225,195,203, 92, 64,212,193,193, 33, 64, 40, 20,214, 43,239, 58,153, - 76, 38,145, 72, 36,158,255,242,242,216, 5,192, 14, 0,141, 75, 29,127, 3, 96, 54,128,192,175,253, 3, 15,128,109, 11, 76,229, - 2,139, 0, 64, 3,252,146, 10,236, 11,250, 47, 26, 99,104,109,109,125,159,205,102,187,200,100, 50, 89, 94, 94, 94, 93, 99, 99, -227,104,145, 72, 36,162, 40,234,125,122,122,122,151,138,174,101, 10, 38,165, 84,138, 38,128,241, 59, 96,164,142, 36,103,114,128, - 93, 42,154,222, 91, 88,131,235,179,192,237,116,252,181, 60,215, 66, 0,187,171,248,187, 1, 6,252, 29,248,170, 89,135,174, 5, -245, 3, 60, 0,116,105,211,166,141,173, 76, 38,195,155, 55,111, 82, 1,220, 7, 16, 84,184,189,251, 22,150,146, 36,185,121,203, -150, 45,243,103,206,156, 89,188, 24,244,171, 87,175,208,188,249,151, 49, 66, 89, 36,156,238, 94,190,109,243, 60,252, 29,218,244, - 24, 86, 40,180, 72, 64, 38,129,103,207,182,213, 53,193,216,220,220,124, 53, 65, 16,195, 73,146,172,180,210,160,105, 90,199, 48, -204, 25,169, 84,186, 18, 64, 94, 85,254, 72, 36,228,107, 41,157,174,204,255, 96,179, 88, 58,153, 92, 85,110,216, 11, 11, 11,139, - 96,146, 36,235,148, 92, 48, 27,248,124, 1,237,242,126,163, 40, 42, 41, 35, 35, 67, 31, 17, 42, 32,217,220,217, 4,193,237, 9, -146,118, 5, 8, 16, 32,223,209, 58,245, 45,154,210,108, 3,160,252, 26,145,101, 95,163,238,131,185,203, 54, 56, 69, 68,189,193, - 82,159,209,216,184,227, 8,150,204,158,136,109,251, 79, 96,246,148, 81,104,212,168,113,133,181, 46, 13,238,250,101,179,134,247, -240,219,117,218,125,201,140,225,124,191, 93,103, 58, 47,245, 25,201, 91,191,243,116,231,165, 62, 35,248,126, 59, 79,187, 47,153, - 53,220,104,253,238,179, 52,128,177,213, 49,114,148,139,131,140,160,168, 50,223,140, 25, 54, 91,117,226,125,138,232, 63,241, 68, -143, 31, 63,190,153, 66,161,120, 57,186,103,203, 13, 45, 92, 29,147,203, 58, 39,243, 83,178, 99,244,219, 16, 95, 14,215,168,213, - 64,223, 35,175, 42,116, 15,240,249,117,222,188,121,227, 66,211, 52,116, 58, 29, 40,138, 42,254, 84,171,213,232,210,165,203,183, -154, 56,211, 31,192,234,130,135, 21,126, 0, 78,127, 5,151,152,205,102,207,229,241,120, 30, 20, 69,185, 1, 0,135,195,137, 82, -169, 84, 65, 20, 69,109, 1,144, 95, 69,190,173,201,201,201,141,196, 98, 49, 52, 26, 77,241, 2,244, 44, 22,171, 97,205,154, 53, -119, 41,149, 74,151,175,189,121, 91, 96,106, 71,119,247,109,227,230,207,103, 41,238,223,199,182,195,135,183, 34, 55, 23, 0,118, - 85,118, 45,143,199,187, 65,146,164,115, 85,254,143,166,233,120,181, 90,237, 85,149,107,216,108,182, 75, 74, 74,138,141,131,131, - 3,242,242,242, 32, 18,137, 68, 69,251, 95,131, 32,128,232, 13,116,161, 88,172, 57,150, 86, 86,157, 95,222,188, 41,106,210,164, - 9,201, 98,177,150, 64,255, 32,213,124, 0,155, 24,134, 49, 42,108, 47,182,181,111,223,190, 3, 65, 16, 20, 0,134,166,105,242, -233,211,167,163,104,154,102, 23,214,121,155, 0, 28, 6,160, 50,232, 0, 3,254, 1,111,214,254,170, 10,173,171, 0, 60,218,180, -105, 99,228,237,237, 13, 15, 15, 15,184,184,184, 64, 32, 16, 20, 84,226,153,153,182,161,161,161, 35,238,223,191, 63,226,242,229, -203,120,253,250,181, 2,192, 67, 0,101, 62,212,221,251,185,207, 20,136,249,219, 1, 32, 61, 41, 83,146, 20,147,182, 93, 34,145, -108, 2, 80, 50, 68,120,221,177, 99,199,206,155, 53,107, 22, 2, 2, 2,112,226,196, 9,168, 84, 42,228,229, 85,160, 95,228,105, -144,222,217, 0,136, 98,129,132, 32, 64,104, 3,136,108,171,157, 82,230,230,230,171,103,207,158, 61,167, 81,163, 70,197, 81,204, -181, 90, 45, 40,138,130, 86,171,133, 84, 42,197,188,121,243, 10, 26, 90,134, 1, 77,211,184,118,237,218,204, 41, 83,166, 64, 42, -149,206, 45,139,179,125,171, 26, 47, 72,130,116, 42,242,213, 48, 58, 93,210,147,208,164,214,148, 78,199, 82, 42, 53,101,174, 84, - 46, 16,112, 43, 20,121, 28, 14,199,233,245,159,127,218,144, 60, 30, 24,157, 14,160,105, 48, 52, 93,152,156,133, 27, 83,112,140, -209,209, 96,180, 58,208, 20, 13, 74,161, 66,219,233,211,245, 73,138,142, 28,158,209,137, 49, 63,204,183,107,215,190, 61,167, 86, - 13, 7, 80, 58, 26, 31, 99,147,236, 94,190,120,210,233,204, 31,187,166,169, 21,121,163, 0, 84, 43,206, 22, 79,104,114,115,231, -158, 3, 78,207, 67, 35, 16,120,247, 62,110,223, 9, 2, 0,220,184, 27, 92, 36,184, 43,205, 42, 80,249, 77,103, 79, 26,196,223, -176,243, 36,103,246,164,193,172,141, 59, 79,113,102, 77, 28,200,218,176,253, 4,119,214,196,129,172, 13, 59, 78,112,103, 77, 26, -196,242,219,118,168, 25, 0,115, 0,210,242,200,202,203, 35,130,162,248,199,162, 83, 89, 0,144,190,119, 47,180,105,105,112, 88, -185, 18, 0, 48,166,174,173,222, 93, 19, 86, 86, 86, 47, 56, 28,142, 83,101,231,105,181,218, 74, 69,240,248,241,227,155, 43, 20, -138, 23, 20, 69, 49,108, 54,219,119,244,224, 94, 23,123,119,110,158, 89,242,156, 87,175,194, 44,215,175,255,115,208,233,151,121, -204,136, 86,198, 47, 3, 54,143,111,221,111,193,145,176, 10, 26,100, 82,165, 82,225,253,251,247, 40,185,200,123, 9,232,170,249, - 72,145, 0,182, 89, 90, 90,182,203,204,204, 28, 3, 96,105,110,110,110, 51, 22,139, 5, 11, 11,139,165,106,181,250,163,169,169, -233,193,156,156,156,224, 66,175,145,190, 75, 6,116, 49, 49, 49,241,191,112,225,130,121,203,150, 45,201,140,140, 12,212,174, 93, - 27, 89, 89, 89,109,239,223,191,223,106,210,164, 73,147,242,242,242,190, 47,124, 25,212, 23, 13,132, 66, 33, 51,110,220, 56, 66, -167,251,235,118, 15, 29, 58, 4,175, 38, 84, 61,107, 51,161, 92,169,102,114, 2,223,155,254,200,229,114, 31,198,199,199,231, 84, - 53, 49,184,192,162,113,243,231,179,196,113,113, 16,135,133, 97, 76,110, 46,123, 99,129,119,171, 82,161, 69,146,164,179,255,137, -223, 93,120, 60, 30, 40,138, 42, 22,131, 69,117,148, 86,171,133, 70,163,129, 86,171,133, 78,167,131, 86,163,133,223,218, 95,170, - 93, 23, 10,133, 66,161,189,189,125,170, 80, 40, 20,126,165,184,172,153, 69,146, 63,180,104,213,106,202,202, 65,131, 4,207,158, - 61, 19,144, 36, 9,138,162,176,105,211, 38,138, 97, 24,179, 70,128,201,107, 32,183,170,220,124, 62,159,253,199, 31,127,140,226, -241,120, 0, 0,181, 90,141, 38, 77,154, 16,134, 54,223,128,255,160,216,250,194,203, 85,145,208,234,147,155,155, 11,157, 78, 7, - 99, 99, 99,176, 88,159,183,251,150,150,150,232,217,179, 39,186,116,233, 2,111,111,111,188,126,253,218,200,219,219,187,103,121, -100,163,231,247, 67, 13, 23,219,194,198,132,182,127,116, 37,116,195,161,159,207, 90,127,250,244,105,126,137,211, 38, 77,157, 58, -149,200,204,204,196,240,225,195,239,171, 84,170, 1,168,224,225,211,209, 72,242,244, 30, 3,154, 33,140,182, 60, 61, 64,168,149, - 10,134, 36, 73, 69, 81,215, 97,117, 82,137, 32,136,225, 14, 14, 14, 56,121,242, 36,212,234, 47,195,133,153,152,152, 32, 50, 50, -242, 47,175, 26,139,133,246,237,219,179, 8,130, 24, 14, 96,110,217,156,164,211,163,231,113, 54, 69,251,253,122, 54,230,182,111, - 69,166,166,164,202, 24, 0,196,178,101,203,138,133, 27, 0,172, 94,189, 90, 31, 59, 65,114, 56, 72, 15, 10,250,171, 34,102,147, - 32,185, 4, 8, 14, 64,178, 11,122, 81,193, 0,140, 14,160, 41,128,214, 2, 2,251, 26,250, 36, 67, 91,199,154, 46, 1,235,127, -219,109,166,210, 50, 56,121, 41, 16,177,177, 49, 96,145, 36,234,214,115, 65,175,174,157, 57,173,218,116,168,241,203,170,249,151, - 83, 18, 62,244, 1,240,172,202, 9, 77, 51,130,122, 53,173,112,240,208, 75, 88,155,139, 49,124,208,119, 48, 18,240,177,113,199, -239, 88,187,196, 7, 46,117,157,177,111,235,186,114, 47, 55, 53, 53, 93,227,230, 82,207,121,247, 31, 87,224,214,176, 33,107,183, -255, 21,184, 53, 42,252,108,236,198,218,237,127, 5,141, 26, 55, 98,237,246,191,130,102,141, 27,212,122, 33,121,186, 38, 43, 43, -203,167,252,244, 44,149, 71,189, 10,242,136,147, 79, 23, 87,218,113,211,166, 1, 64,177,208,170, 10, 56, 28,142, 83, 74, 74,138, - 77,101,231, 85,230, 53, 40,244,100,189,160, 40, 10,105,105,105, 68,118,118, 54, 99,102,102, 54,232,250,190,165, 23,188,220,155, -103, 1, 64, 88, 88,152,133,159,223,250, 65,167, 94,228, 66,241,100, 39,113,236,207, 32,122,204, 0,143, 23,151, 54,140,111,133, -194, 37, 33, 74, 67,165, 82,197,182,104,209,130, 41,252,238,200,231,243,185,165,202,155, 67,253,250,245,191,240, 90,235,209,165, -184,237,241,227,199, 62,141, 26, 53, 66,195,134, 13,131,219,181,107,103, 34, 18,137,112,253,250,117,184,185,185, 53, 54, 49, 49, -121,122,230,204, 25,206,226,197,139,155, 31, 62,124, 24, 0,102,234,145,156, 61, 60, 61, 61, 79, 6, 4, 4, 8,184, 92, 46, 20, - 10, 5, 34, 35, 35, 97,106,106, 10, 30,143,135,129, 3, 7,178, 58,117,234,100,217,181,107,215,115,239,222,189, 27,133, 42,204, -128, 82, 42,149,204,210,165, 75, 33, 20, 10, 33, 20, 10, 33, 18,137, 32, 18,137, 32, 22,128,216, 59,187,166,209,172,253,217, 70, -115, 87,238,221,224,191,123,213,221, 26, 53,232, 21,137,137,137,217, 85, 45, 11,138,251,247, 33, 14, 11, 3, 74, 60,187,250,194, - 84,100, 1, 95, 95,223,202, 60, 82,224,114,185,232,216,177, 99,165,124, 22, 22, 22,231,217,108,246,103,111,166, 20, 69, 9,124, -125,125,117,239,222,189, 19,145, 36, 41,162,105, 26,190,190,190, 58,138,162, 4, 54, 54, 54,193, 52, 77,167,102,100,100, 12,169, -136,183, 43, 32, 8, 6, 6, 19, 28,206, 92,123, 7,135,218, 30,117,235, 10,111,223,190,205, 2, 0,103,103,103, 70, 34,145,100, - 95,186,116, 41,143, 13,236,113,102,152, 63,170, 32,178, 84, 0, 22,146, 36,185,141,207,231,179,107,213,170, 21,191,124,249,242, -199,133, 30, 82, 48, 12, 67,214,170, 85,171,173,145,145,145,179, 74,165,162, 80,208,117,104,240,102,253, 11,192, 48, 76,171, 2, -221, 94, 12, 53, 0, 94,145, 3,191,160,181,131, 85,169,227, 0,144, 81,248,162,104, 91,206,126, 38,128,215, 0, 26, 0,176, 41, -252,237, 57, 65, 16, 89,213, 48,179,124,143, 86, 64, 64, 64,241, 43,108,191,126,253,138, 27, 22, 99, 99, 99, 60,127,254, 28, 4, - 65,192,216,216, 24, 38, 38, 38, 48, 53, 53, 69,110,110, 46, 94,191,126,141, 55,111,222, 32, 46, 46, 14, 4, 65,160,110,221,186, - 40, 42,236, 37, 80, 92,193, 29,255, 53, 0, 2, 49, 31, 4, 1,180,236,214, 12,205,186, 52, 65,155,103,209,179, 95,220, 38,246, - 75, 36,146,247, 0,216, 77,154, 52,153,212,190,125,123,252,246,219,111, 80,169, 84,191,149, 35,178,138, 57, 31,188,166, 90, 3, -128,189,189,253,130,163,215, 63, 10,199,246,174, 39,151, 72, 36,155,171,145, 56,159, 85,196, 25, 25, 25,122,175,197, 71,211, 52, -164, 82,105,133,156,165, 61, 4, 91,182,237, 52,203,203, 73,197,207, 27,143, 66,171,213, 98,254,252,249,160,105,186,120,203,206, -206,214,203, 78, 70,167,251,210,119, 64, 22,244,158, 18,108,160,230,200, 2, 93,145,112,114, 39,136,255, 99,239,186,195,162,184, -214,247, 59,179,125,233,189, 41,160,162, 40, 8,130, 13,197,134,189, 68, 76,172, 49,118,163,137, 55,137, 37,150, 68,108,209,152, - 40, 36,214,152,104,212, 24,163, 49, 54,236, 98,139,221,196,174, 32, 82, 20, 20, 17,144,186,244,178,109,118,103,206,239, 15,138, -128,108, 65,115,127, 55,247,102,223,231,217,103,119,118,102,223, 61,101,230,156,247,124,231, 59,223, 33, 0,197, 2,120, 53, 95, -245, 59, 33, 9, 79, 40, 61,176,226,155, 77, 54,209,143, 94,224,248,197,104, 48,165,153,200,126,112,180,210,228,216,109, 28, 14, -170,120,232, 18,208, 18,159, 46,249,214,118,233,167,147, 14,168, 21,101, 62,168, 59,141,120,193,240, 67,195,226,171,149, 43,177, -125,211,122,124,187,126, 19, 74, 75,138, 33, 16, 56, 84, 53,244, 44, 88,150,213,159,119, 66, 6,135,205,153, 74,125,243,227, 17, - 4,181,117,197,225,179,119,208,163,189, 39,142,254,126, 15,189, 58, 54,199,241, 11,209,232,219,165, 37, 78, 95,141,195,167, 51, -198, 81,227,206,237, 28,220,152, 58,218,184,241, 7,155,178,210, 92, 68,173,218,141,188,205,155,145, 54,115, 38,130,170,174,185, - 67, 81, 16, 54,109, 10, 8, 13,215, 81,125, 36, 38, 38, 66,165, 82, 53, 52, 50,135,175,175,175,193,122, 87, 40, 20,247,181, 90, - 45,201,205,205,165,114,115,115, 97,110,110, 78,197,199,199,177,126,126,254, 35,200,163, 67, 63, 1, 64,120,248,234, 17, 7,239, -151, 66,126, 99, 19, 20, 55,191,135,176,121, 44,189,253,203, 25,204,135,203,183,221,175,245,140,214, 73,103, 78, 78,206,144,156, -156, 28, 0, 64,139, 22, 45, 30, 37, 37, 37,181,169,158,106,174,154, 66, 20,106,181, 90,239,234,233, 68,173, 86, 11,149, 74,133, -254,253,251,243,244,229,221,214,214,182,171,175,175, 47,162,163,163,177,105,211, 38,187, 62,125,250,224,201,147, 39,160, 40, 10, -171, 87,175,166,218,182,109, 43,200,207,207,199,160, 65,131,112,228,200,145,110,165,165,165,134,202,211,210,220,220,124,231,201, -147, 39, 37, 52, 77,163,172,172, 12, 28,199,161,123,247,238,160,105, 26,113,113,113, 88,178,100, 9,142, 28, 57,130, 99,199,142, - 73, 59,118,236,184, 83, 46,151,251,162,238,180,190,174, 58, 34, 74,165,146,136,197, 98,136,197, 98, 72, 36, 18, 72, 36, 18,136, - 68, 34,148, 43,129, 15, 55,164,169,120, 18, 7,206,175,125,143,150, 83,103,175,166,215, 46,123,255, 18,128,227,198,222,243, 64, -165, 79,214,119,191,252,178,105, 66, 73, 9, 13, 0, 59, 40,138, 99, 8,249,214,152,231, 29, 0,202,149, 37,240,244,106,138,195, - 7,142, 97,212,216,225, 13,138, 44,129, 64, 8,161, 64, 0, 43, 59,115,131,156, 66,161,208,249,209,163, 71,246, 2,129, 0,132, - 16,176, 44, 11,134, 97,114,151, 46, 93,234, 56,116,232, 80,203, 51,103,206,208, 67,135, 14,229,108,109,109, 43,238,220,185,147, -167,213,106,237,123,246,236,169,147,211, 12, 8, 80, 90,183,250, 78,196,211, 6, 68, 44,254, 68, 60,105,210, 36,222,212,169, 83, -145,158,158,142,105,211,166, 41,207,159, 63,175,206,201,206, 62, 46,226,184, 31, 24, 32,214,216, 54,185, 30,182, 4, 4, 4,116, - 56,122,244,232,251, 97, 97, 97,247, 22, 44, 88,240, 85,237,147,107,214,172, 89,121,250,244,105,207, 17, 35, 70,252,250,224,193, -131, 45,141,105,151,222,180,239, 48,113,190, 25,116,105,145,106,227, 40, 69, 81, 81,181,218,236,208,234,227,176,176,176,197,225, -225,225,241, 20, 69, 69,213,254,190,250,186,170,193, 98, 84, 67,199, 85,191,181, 91,180,104,145,127, 68, 68,196,234,224,224,224, -253, 55,110,220,120, 6,160,177, 66, 75,191,143, 86,117,134,106,103,178, 94,167,134,210,210, 82,148,150,150, 34, 35, 35, 3, 91, -183,110,173,122,160, 5,224,243,249,224,243,249, 53,254, 12,186,112, 49,234,207,239, 1,124,223,161, 67, 7,193,195,155,145,103, - 62,223, 62,187, 95,167,254, 29,120,247, 47, 62, 28,141,202,253, 8,135, 76,158, 60,217, 1, 0,118,239,222,157, 15,224,204,127, - 72, 53, 71, 38, 39, 39,127,234,234,234, 90,227,163, 82,123,250, 80,171,213, 66, 34,145,160,218,151, 69,169, 84, 98,235,214,173, - 90, 66, 72,164, 30, 78, 36,197, 95, 66,114,252,229,202,223,113, 28, 56,246,229,239, 87,172, 88, 1, 66, 72, 77,103,255, 81,149, -229,196,160,200,107,168,204, 73,189,247,122,223, 19,150, 53, 48, 61, 33,156, 61,122,210, 76, 87,142,226,227,196,165, 24, 8, 4, - 2,112,181,172,153, 2, 94,229,104, 57,254, 73, 22,220,156,253,240,246,184, 25, 46, 71,127,253, 97,182,150, 81,126,211,216,178, -246, 9, 8,198,156, 79, 63,197, 79,219,183, 99,201,242,149, 53, 10, 64,203,178,208, 26, 76, 39, 77,247,239,238, 15,109,121, 22, -120, 60, 30,250, 6,181, 4,143,199,195,128,224,214,224,241,120, 24,212,221, 7,124, 62, 31,131,123,180, 69,171, 86,173,192,231, -243,105, 3,245,142,164,248,139, 72,142,191, 82, 75,244, 18, 16, 0, 76,118,246, 43,215,107,178,179, 65, 60,236, 27,123,111, 97, -218,180,105,197, 25, 25, 25, 76,253,115,238,238,238,194,107,215,174,217,232,152,182,171,129, 84, 42,237,200,231,243,239, 23, 22, - 22,114,102,102,102, 52,199,177,156,159,159, 63,239,236,182,197, 71,171,175, 89,180,104,241,209,119, 59, 90,141,216, 19, 25, 69, -132,205,122, 80,148, 64,172,253, 96,249, 54,161, 64, 40,237, 8, 40,140, 25, 60,208, 42,149, 10,143, 31, 63,134,161,244, 16, 66, -244, 78,211, 20, 21, 21, 77,246,245,245,189,246,253,247,223,219, 81, 20,133, 63,254,248, 3, 60, 30,175,230,149,146,146, 2,154, -166,241,249,231,159, 51,165,165,165,211, 13,165,141,207,231,127,122,248,240, 97,107,145, 72,132,178,178,178,154,231,134,199,227, -225,209,163, 71, 88,187,118, 45, 38, 79,158,140,244,244,116,184,185,185, 97,254,252,249, 22, 17, 17, 17,159, 50, 12,179,210,136, - 42,138, 85,171,213,157,204,204,204, 32,145, 72, 80, 45,184, 0,224,247,120, 65,156, 66,161,104,103,111, 47,119,113,188, 26,117, -162, 91,159,183, 3,237, 29, 93,131,179,179,179, 27,181,117,214, 83, 96,123, 42,203, 46, 29,114,244,168,211,245,163, 71,185, 91, - 39, 79,190, 16,151,149,109, 51,250, 30,210,208, 72, 75,121,129,142, 29, 59,226,254,253,251,232,216,177, 99,109,209, 4,145, 72, - 4,161, 80, 8,161, 80, 8, 7, 91,163, 92, 40, 8, 77,211,184,126,253, 58, 88,150,133, 90,173,134, 90,173, 70,219,182,109, 11, - 47, 95,190,108, 1, 0, 41, 41, 41,100,226,196,137,197,183,111,223, 70,251,246,250,247, 83, 87, 82,212,197, 21,171,215, 89,127, -179,113, 39,172,237,156,113,245,234, 85,246,236,217,179,101, 20,144,148, 28, 31,191,254,109,224,116, 36,192, 52,166,204,156,157, -157,175,241,120,188,102,181,191, 43, 40, 40,176, 29, 57,114, 36,138,138,138,222, 26, 57,114,100,143,170, 54, 33,243,208,161, 67, - 19, 1, 64, 36, 18,129,166,105, 22, 38,252, 87,193,144, 22,169, 45,148,234, 11,174,240,240,240,208,250,223,213, 22, 85, 13,125, -174,253,219,136,136,136,213,181,184, 21,175,145,124,195, 62, 90, 81, 81, 81,164, 1, 5,105, 52, 12, 9,173,106, 68, 71, 71,107, -220,220,220,126, 74,142,121,222,175,101,128, 23,164,230,226,129, 0,190, 23,139,197,243, 38, 77,154,132, 91,183,110, 33, 46, 46, -238,103,188,225, 42, 28,127,127,255,115, 98,177,216, 83,199, 52, 73, 90, 92, 92,220, 32, 29, 29,195,242,147, 39, 79, 66,159, 51, -252,165, 75,151,106,119, 74,181,157,225, 27,190, 49, 56, 2, 13,163, 65,133, 92,241,178, 19,175, 18, 90, 21, 21, 21, 24, 59,118, -108, 29,139, 86, 94, 94,158,193,252, 81, 20,133,181,199,143,227,124,100, 36,222, 10, 12,196,145, 59,119, 16, 49,105, 60,124, 60, -155,128,176, 20, 8, 5,164,239,251, 1, 5,165,229,216,123,241, 58, 10,203,228,152,208,179, 39,188,173, 28,244,243, 10,132, 3, -130,186, 6, 11, 47,220, 72,128, 64,192, 7, 13, 14, 68, 35,135,155,111,111,240,104, 26,214,206,205, 33, 20, 8, 32, 16,240,145, -146,145, 15, 95,255,206,162, 40,145,100,192,235, 8, 45,119,207,230, 96, 89, 22,147, 39, 79,198,254,253,251, 97,239,226, 9,107, -119,127,124,189,126, 59,222,234,223,211, 96,254,171, 71,240,124, 62, 31, 60, 30,239,149,247,234,207,198, 88, 39, 9, 71,192,212, -175, 35,142, 0,132,160,233,170, 85,104,186,106, 21,238, 84,253,103,219,138, 10, 40, 20, 10,160,139, 95,163, 68,150, 90,173, 70, - 70, 70, 6,147,147,147,227,220,192,249, 92,181, 90,109, 80,216,236,218,181, 43,118,202,148, 41,157,236,236,236,238,197, 62,120, -160, 9, 8, 12, 20,156,217,186,248, 88,245,180, 33, 0, 4, 6, 6, 22, 46, 94,188,248,216,196, 49,161,195,183,132,189,199,126, -188,242, 87,190, 88, 42,237, 20,186, 96, 87,236,190, 49, 99, 12,207,205,168, 84,169, 1, 1, 1,196,152,124,201,229,242, 28, 61, -167,135, 1,248,178, 67,135, 14, 86,125,250,244,193,181,107,215, 48,106,212, 40, 21,195, 48,201, 0, 48,116,232,208,214,123,247, -238, 21, 37, 36, 36,192,209,209, 81,144,150,150,182, 19, 6, 28,228, 69, 34, 81,239,206,157, 59,211, 42,149,234, 21,145, 21, 17, - 17,129,113,227,198,161,117,235,214,224, 56, 14,229,229,229,232,211,167,143, 96,211,166, 77,189,141, 20, 90,115,124,124,124,214, -162,114,213, 97,237,182, 48,177,106, 10, 10, 5, 5, 5, 57, 49,183, 47,198,247,236, 63,178, 83,179, 86,254,174,113,177,247,245, - 18, 58, 57, 57, 45,162,105,250, 93,142,227,120,165,165,165, 25, 49,106,117,171,182,158,158,206,221,135, 15, 71,137, 64,192,251, -238,226, 69, 58,183,172,204, 2,128, 81, 83,144, 74, 77, 5, 60,189, 42, 93,253, 70,141, 29,142,251,247,239, 99,244,123, 35, 32, - 20, 10,193,231, 11, 42,159, 77, 97,165, 69,203,198,193,202,168,123, 83,163,209,212,180,225,213,126, 94, 12,195,160,218, 53,203, -204,204,172,230,156, 74,165, 2, 69, 81,250,238, 13,186, 79,175,238,184, 17,157,164,157,254,249,119, 42, 65,193,253, 8, 23,142, -219,245, 2,200,125,131,230,220,251,224,202,101, 78, 82, 43,107,176, 26, 13,252,134,143,174,121, 78,110,239,216, 34, 5,199, 73, -139,211, 82, 49, 43,242,228, 95,189,103,174, 9,255, 1, 24,210, 34,181,133,210,155,130,162,168,168,176,176,176,197, 0, 72, 88, - 88,216,226,234,227,240,240,112, 5,128,204,215, 20, 91,175, 88,185,248,127,133,200,170,158, 94,208,135, 62,125,250,204,178,180, -180,220, 84,125,156,113, 43, 19, 25,183, 50,225,219,198,175,123,135,192, 78, 37,227,198,141,131,189,189, 61, 22, 44, 88, 64, 0, -252,220,216,255, 79, 73,138,183, 0, 64, 92, 93, 93, 23, 84, 53,200,129,119,238,220,113,188,123,247, 46, 58,119,238,252,210,116, -207, 48,232,209,163,135, 62,170,178, 42,167,246,185,127,157,149,140, 3,195, 48,144,203, 21, 80,171, 25,104, 53, 28,180, 90, 45, - 58,250, 89,226,215,237, 97,149,223,105,171,173,103,149, 86,179,166, 46,150,176,180, 16,104,104,154, 82,220,139,205,105,176,197, - 84,171,213,136, 77, 75,195,131,231,207, 1, 0,111,135,235,119,124,253,245,226, 53,180,109,219,214, 80,106, 91, 54,117,115, 65, -214,249,216,202,198, 91,145,129,187,127, 30,132,165,165, 5, 0,192, 47,100, 2,132,194, 74,161, 85,161, 96,224,208,198, 29, 20, - 33, 58,195, 2,152,217,186,156,227, 11, 37,158,132,229, 64, 8, 7,194,177, 32,132, 3, 79, 32, 52,155,245,209,251,224, 56, 22, - 65, 65, 65,160,120, 60,176, 26, 21,198, 12, 27,128,162,146, 50,216,219, 24,215, 73, 8,133, 66,132,132,132, 72,117,157,127,242, -228,137,162,182, 48,211, 95, 71, 26, 84, 84, 40,160, 82,169,192,168,181, 96, 52, 90,176, 45,132,248,106,233,120,104, 25, 45,228, -239, 5,131,209,104,193,125, 58, 2,140, 90,131,116, 51,154, 14,240,117,208,208,160, 20, 49,137, 50, 43, 67, 66,171, 90, 28,232, - 66, 67, 62,129, 58,196,214,131, 41, 83,166,116, 12, 8, 12,188,255,110,255,192,117, 15,227,226,179, 30,198,197,191,114,157,103, -235,192,212,143, 35,246,207, 23, 8,165, 29, 67, 23,232, 95,117, 88, 27,181,167, 17,223, 16,139,203,202,202, 2, 44, 44, 44,144, -148,148, 4, 30,143, 7,138,162,158, 0, 8, 0, 0, 87, 87,215,167,124, 62,223,139,199,227, 97,243,230,205, 20,159,207,111, 23, - 28, 28,188, 88,169, 84, 30,212, 51,160,243,181,180,180,172, 99,205, 18, 10,133, 8, 11, 11,195,196,137, 19,107, 68,150, 80, 40, -196,174, 93,187,208,169, 83, 39,168,213,106, 95, 35,211,123, 23, 64, 79, 35, 44,126, 84,149, 56, 55, 40, 70,181, 90,237,148,130, -119,223,109,133,171, 87,209,221,203,171,109,199,142, 29,193, 48, 47, 13, 58, 94, 94, 94,238,101,101,101, 57, 10,133,226, 55, 84, -134, 33,136,209, 43,138,148, 28,210, 82, 42,221, 79,239,223,191,143,160,160,160, 26, 11, 86,109,107,150, 80, 40,132, 84,100,209, - 40,161,197,113,149,237, 82, 89, 89, 25,125,245,234, 85, 7, 31, 31, 31, 10, 0,124,124,124,168,152,152, 24, 59, 51, 51,179,252, -150, 45, 91, 26, 26, 0, 11, 1,160,247,192,145,252,243,103, 79,155,107,129,149, 57, 60,222, 74,190,193, 54,146,104, 88,142,211, -233,116, 47,181,178,198,174, 41, 99, 1, 0, 95,244, 31, 92, 51,216, 58,251,229, 98, 8, 4, 2,244, 91,176,248,149,103,137,227, - 56, 30, 76,248,159, 18, 89, 13, 89,180,222,172,111,126,105,209, 10, 15, 15,143, 15, 15, 15,127,197, 58,214, 72, 24,182,104,213, - 54,221, 53, 22,213, 15,171, 46,172, 95,191, 30,237,218,181,211,219, 17,109,218,180, 9,123,246,236, 89, 15, 32,165,209, 38,199, -126, 29,252,176,225,104,188, 87,107, 63, 10, 0, 86,126, 58,140,174,168,168,192,245,235,215, 97,109,109,141, 39, 79,140, 14,251, -101,105,109,109,253, 37, 77,211, 99,120,245, 87, 0, 52, 44, 48, 89,142,227, 34, 75, 74, 74,116,134,119, 32, 4, 96, 52, 90, 84, -200,149, 80,171,213,248,244,243, 31, 12, 38, 34, 28,160, 24,117, 25, 63,164, 87,176, 84,151, 69, 39,168, 93,111,124, 50,201,226, -149,206,155, 71, 3, 52, 13,180, 15,170,180,184,196,220,137, 7,199, 1, 44, 7, 56, 56,217,226,231,125,235,244,138,124, 45,203, - 85,141,142, 89,148,171, 88,248,118, 13,197,139,196,171, 53, 22, 36,145,176,114,202, 88, 40, 16,128, 35, 84,101,212, 7, 93,173, -174, 72,234, 89,148,157,226,189, 61,234, 33, 62, 12,109,135, 67, 23, 98, 49,186,127, 0, 46,223, 78, 64,159, 46,109, 17,159,252, - 28,126,222,205,176,121,103, 36, 8, 65,217,143, 27,190,206,121,217,161,105,211,140,177,104,221,186,117, 75, 81,223,138, 85,251, -157, 24,238, 15, 65,200, 75,139,150, 66,169,194,130, 69, 70,133,222,169,172,163,158, 93,165,198, 92,172,207, 98,101,140, 16,171, -111,217,130,129,240, 44, 45, 0,116, 2, 22,254, 39, 27, 78,150,101,113,234,212,169,154,250,104,168, 30,107,215,157, 17, 34, 7, -105,105,105,136,143,143, 71,215,174, 93, 81, 82, 82, 2, 1, 77, 99,254,195,135,104, 59,105, 18,212, 66, 33, 56,142,131, 72, 36, -194,140, 25, 51,140, 46,207, 70,182,206, 85,142,215,172, 33,242,117,193,193,193,173,146, 42, 42, 16,255,232, 17,250,175, 88, 1, - 0, 56,125,250,116,157,123, 98,222,188,121,162,132,132,132,105,247,238,221,155,150,149,149,181, 30,192,124,157,237, 44, 81,213, -248,104,189, 59,126, 20, 90,249,180,192,158, 95,246,213,156,159,247,217, 28, 8, 4, 66, 8,132, 2,216, 88,219, 24,149, 27,141, - 70, 83, 35, 90,229,114, 57,125,250,244,233,166, 3, 6, 12, 16,206,153, 51,135, 2,128, 61,123,246,208,223,127,255,189,249,249, -243,231,133, 77,154, 52,201, 54, 96, 33, 40,205, 44, 80,137, 1,192,195,195, 3, 63,108, 59, 65, 15, 29, 58, 20,115,230,204,129, - 70,163,193,150, 45,149,207,213,184,113,227,192, 48, 12, 14, 31, 62, 92,253, 28,235,181, 70,105, 25,230,149,251,134,162, 40, 8, - 4, 2, 8, 69, 66,128,227, 64, 81,148,249,154, 53,107, 86,198,199,199,119,246,241,241,129, 74,165,154,132,202,197, 31,166, 56, - 90,255,101, 98, 75,159, 22,105,200,215,170,202, 42,165, 11,178,218,126, 91,186,132, 90,109,159, 45,188,222, 2, 10,227,124,180, - 26, 2,143,199, 51,104,173,170, 94,170,171, 15,243,230,205,131,165,165,165,174, 14,136, 60,124,248, 48, 33, 59, 59,123, 59,128, - 31, 94,171,114, 46, 70,199,127, 57,119, 68, 25,170,230, 86,109,108,108,242,251,246,237, 91, 14,128, 57,120,176,238, 0, 89,165, - 82,233,236,192,173,173,173,191,220,177, 99,199,236,225,195,135,211,245, 67, 12,212,158,222,171,126,105, 52, 26, 28, 60,120,112, -246,194,133, 11, 81, 82, 82, 50, 87, 95, 39, 46,175, 80, 64, 81,229, 8,253, 52,238,144,177,141,186,206, 83, 22, 54,174,104,218, - 34, 64,103,103, 66, 11, 43,125,136,156, 61, 94,118, 96,150,150, 18,176,122, 56, 41,138, 78,121,158,158,213,196,221,197, 14, 79, - 51,100,112,110,214, 14, 69,153, 47,203,129,207,231, 65, 80, 53,117,104, 99,101, 14, 89, 94, 30,104,154,167, 87, 24,127,189, 55, - 26,183,227,158,227,240,133, 24, 48,202, 10,108,216,125, 22,140,170, 28,140,178, 2,140,178,242,125,245,194, 15, 64, 81,200,209, -168, 42, 90, 55,166,222,249,124, 62,186,116,233,162, 83,232,100,102,102, 26,105,209, 34, 53, 22, 45,133,178,145,117,100,220,200, - 73,175,197,170,250,252,235, 10,131,234,144, 15, 82,169,180,211,174, 93,186,195, 56, 52, 4, 23, 23,151, 51, 22, 22, 22,205,141, -189,190, 17,193, 75, 87,219,216,216,124,233,227,227,227,187, 97,195, 6, 1,143,199, 67,191,126,253, 90,187,184,184,164, 1,128, -159,159,159, 91,117, 27,243,241,199, 31,147, 91,183,110,197, 85,142, 49,116, 67, 36, 18, 61,178,182,182,238,212,167, 79, 31,148, -148,148, 32, 35, 35, 3,230,230,230,104,187,110, 29, 30,126,252, 49, 2,183,110, 5,221,183, 47, 40,138,130, 72, 36,194,195,135, - 15, 33,149, 74, 31, 41,149, 58, 67,190,117, 1,240, 45,128,238,120, 57, 93, 72, 0, 92, 71,101,216,133,219, 13,180,119, 52, 0, -176, 28,103,168,178,198, 47, 88,176, 0,197, 2, 1, 48,116, 40,132, 41, 41, 96, 24, 6, 93,187,118,173,177,178,119,237,218, 21, -124, 62, 31, 1, 1, 1,112,115,115,195,230,205,155,199,235, 19, 90,202,114, 6,105, 41, 47, 16, 28, 28, 92, 99,185, 26, 58,116, -104,141, 69, 75, 32, 16,212, 88,182, 40,214,176,112,165, 40,138,212, 30, 36,179, 44, 75,241,249,124,254,220,185,115,169, 81,163, - 70, 17,181, 90,205,137, 68, 34,250,240,225,195,212,229,203,151,249, 21, 21, 21,134,172, 13, 21,239,189,247,158,147,187,123, 83, -100, 60,141,199,161, 67, 4,235,215,175,199,181,107,149, 81, 54,146,146, 42, 23,174, 86, 31,247,233,211, 7,205,155, 55, 7, 49, -112,227,251,143, 24,131, 47, 6, 12,169,108, 79,154, 59, 66, 32, 20, 64, 36, 20, 98,193,163, 23, 53,117,109,181,107,191, 40, 34, - 34, 98,180,143,143, 79,229,212, 62,192, 55,197,209,250,239,130, 1, 67,143,172,158, 72, 82,215, 58,150, 1,160,170,142,101,181, - 4,149,140,162,168,187,132,144,206,245,174,173, 62,175,174,247, 94,125,254,193,107, 36,191,122,175,195, 87,196,151,190, 17,113, -242,205,155, 55,189, 59,118,236,136,244,244,244, 87, 86,194, 85,119, 92,230,230,230,144, 74,165,184,113,227, 6, 0, 36,235, 34, -187,124,249,242,247,168,140,186,140,170,105,131,224, 62,239,246,190, 17, 52,184, 51,246,134,239, 43,201,206,206, 14,192,203, 24, - 58,148,155,155,219, 68,129,136, 63,214,203,223, 35, 4, 28,247,237,197,147,215, 87,232,203,161, 87,107,191,114, 0,138,234, 85, -135,175,185,250, 16, 52, 77,143, 25, 62,124, 56,157,144,144,128,177, 99,199, 98,207,158, 61, 58,175,157, 56,113, 34,246,239,223, -143,225,195,135,211,139, 22, 45,210, 25,222,161,174,181, 68,253,151,221,148, 73, 79, 30,224,215,253, 59,116,250, 32, 57, 57, 85, -250, 99,229,229,229,215,124,215,185,163,254,153, 17, 78,171, 62, 31,125,239, 78,112,183, 94,253,132, 25,185,197,224,180, 42, 40, -203, 94,254, 94, 94,156, 11,162, 85, 66,104,102, 7, 23, 7,107,220,191,249,187,154, 81, 43,207,235,227,156, 61,220, 15, 31, 15, -243, 5, 8,135, 17,243,127, 70,212, 15,179,106, 70,208, 61, 70,205,193,197,131,223, 25,237,227, 87, 31, 2,129, 0, 15, 31, 62, - 84,232,178,102,241,120, 60, 99, 98,114, 85, 89, 29, 53,144,203, 21,144, 43,148,127,101,219,225,232,236,236,252,163,173,173,173, - 68,135,144,114,116,116,116,252,209,222,222, 94, 98,236,212,161, 46,145, 85, 21, 87,235,222,148, 41, 83, 26, 37,182,196, 98,113, -243,228,228,228,154, 96,165,250,222,213,106, 53,250,244,233, 99,108,240,210,147, 0,158,185,186,186, 94,111,219,182,173,245,211, -167, 79,177,111,223, 62,161, 64, 32,240,168,110, 63,202,202,202,192,227,241,144,151,151,167, 1,240, 62, 12, 76,157,169, 84,170, -171, 87,175, 94,109, 63,108,216, 48,222,163, 71,143,192,227,241, 42,211, 21, 28,140,192,173, 91, 17, 55,119, 46, 66,158, 63,135, -146, 97, 32,145, 72,112,238,220, 57, 70, 46,151, 95,213,197, 39,149, 74,183,167,166,166,250, 73, 36, 18, 48, 12, 3,142,227, 64, -211, 52,197,231,243,123,216,216,216,108, 2,208,185, 94,101, 57, 5,118,238,211,134,213,106,217,236,244,167, 50, 67, 5, 80, 80, - 80,128,147, 39, 79,162,107,215,174, 8, 9, 9, 65,102,102, 38, 82, 82, 82,240,214, 91,111,213, 92,243,224,193, 3, 68, 71, 71, -163,101,203,150,134, 45,122,180, 6, 45,219, 52,135, 80, 40,172,180,230, 8,132, 85, 3, 31, 65,141, 37, 75, 40, 16, 66,192, 23, - 64, 34,149, 24,109,209,162, 40, 10, 52, 77,131,162, 40, 72,165,210,234, 65, 54,215,180,105,211,236,194,194, 66, 87, 0, 60,169, - 84, 10,150,101,245, 14, 90, 56, 66,188,133,249, 55,178,230, 47, 92,235, 20, 30,126, 1, 23, 46,228,129,166,105,184,186,186,130, -166,105,164,166,166,130,166,105,120,122,122,130,166,105,100,102,102, 86,139,196, 34,232, 22,195, 53,207, 13, 69, 81, 53, 34, 75, - 40, 18,214, 88,182, 0,160,184,184, 88, 57,124,248,240,223, 84, 42,213, 84,188,222,174, 39, 38,252,141, 65, 81,212,221,255,196, -111, 27,129,161, 85,194,234, 21,167,120,125, 55,227, 91,221,186,117,219, 58,110,220,184,126, 27, 55,110,132,133,133, 5,178,179, -179,107, 58, 68,145, 72, 4,119,119,119, 20, 22, 22, 98,219,182,109,120,241,226,197, 37, 0, 51,140, 77, 81,118,118,246,173, 39, - 49,201, 5,125, 70,119,179,247,235,214,198, 38, 35,249, 69,215,236,236,236, 27, 85, 34,235,231,113,243,222,154,218,103,100, 16, -132, 34, 1, 50,158,228,224,226,201,235,255, 47,149,201,227,241,120, 20, 69, 97,236,216,177, 70, 93,255,222,123,239,225,234,213, -171,208, 55,205,200, 85, 91,180,228, 74, 84, 40,254,186,129,213, 39,179, 38,226,147, 89, 19,107,196,132, 49, 83, 47, 0,224,230, -118, 64,143, 95,191, 93,233, 0, 0, 32, 0, 73, 68, 65, 84,208, 98, 54, 70, 29,216,246, 97,135,160, 96,207, 78,126,205,113,251, - 94, 12,246,110,125,105,100,216,249,253, 74,124,179,243, 18,220,157,109,193,168, 42,112,230,208, 79, 57,140, 74,190,241, 53,141, -114,149,226,150,162, 64, 8,215,168,188, 87,139, 39,129, 64, 0,127,127,127,157, 22,173,194,194, 66,133, 33,107, 86, 77, 29,169, - 53, 40,175, 80, 64, 33,255,203,132, 86, 96,143, 30, 61,206, 71, 70, 70,218, 59, 57, 57, 33, 43, 43,171,190,208, 10,236,222,189, -251,249,200,200, 72,123,103,103,103,100,100,100, 24, 29, 86,164, 1,145, 5,153, 76, 70, 21, 21, 21,113,182,182,182,141, 18, 91, - 52, 77, 67,165, 82, 33, 49, 49,209,216,191, 53,122, 53,151,181,181,245,174,253,251,247, 91,231,231,231,131,199,227, 33, 49, 49, -177,206,170,195,234,215,207, 63,255, 44, 28, 49, 98,196,142,226,226, 98,189,203,218,180, 90,237,250,137, 19, 39, 78,203,204,204, -180,117,114,114, 66,118,118, 54, 68, 34, 17, 8, 33,160,250,244, 65,207,103,207,192,176, 44,164, 82, 41,146,146,146,176,125,251, -246,138,170, 80, 49, 13, 26,200, 40,138,242, 22, 10,133,152, 48, 97, 66,157, 19,187,119,239,198,219,157,120,157, 28,173,249,229, - 90, 72, 84,185,210, 33,103,120, 60, 30, 21,216,165,111,235, 46,189,134,250, 63,142,187,253, 84,150,251,194, 80,163,164, 81,171, -213,240,241,241,193,221,187,119,113,225,194, 5,244,237,219, 23, 33, 33, 33,136,141,141,197,239,191,255,142,232,232,104, 80, 20, - 5,123,123,251,106,247, 11,189, 62, 24,106,185, 22,121, 89, 5,175, 88,175,234, 31, 11,133, 66,168, 20,198, 45,238,123,244,232, - 17,238,222,189, 91, 19, 90,134,199,227,105, 39, 77,154, 4, 66, 8, 73, 77, 77,133,165,165, 37,153, 50,101, 10,203,231,243,181, -153,153,198,249, 7, 91, 88, 88,192,219,219,187,206,192,167,250,213,179,103, 79,220,187,119, 15, 52, 77,131,207,231,195,201,201, - 9,215,175, 95, 55,120,227, 87,139,170,106,145,197, 23, 10,234,136, 62,142,227,202, 98, 99, 99, 63, 4, 16, 91,101,201, 2, 76, -113,180, 76,248,255,195, 41,188,186,177,180, 65,139,214, 51, 0,253,247,237,219, 55,254,216,177, 99,235, 55,109,218,228, 24, 26, - 26,138,162,162, 34,120,122,122,194,213,213, 21, 81, 81, 81, 56,125,250,116, 62,203,178,243, 1, 52,100,250,233, 15, 61, 49,107, - 50,159,102, 71,170,202,203, 63,238, 24,226,139, 75, 7,255, 8,119,113,113,153,193,227,241, 62,157,178,248,157,169,189,135,119, - 70, 82,116, 42,110,253,254, 16,185,233,249, 6, 57,235, 59,195,219,216,216, 76, 51, 51, 51, 19,161,129,165,196, 13,172, 58,172, -225,100, 89,150, 85,171,213, 56,112,224,128, 81, 98,107,223,190,125, 80, 42,149, 96, 95,157, 95,173,225, 36, 28,161,248, 2, 49, -220,220,125,192, 48, 21,224,184,215, 94, 80, 89,195, 89, 61, 2,125, 42, 18,193, 41, 63, 31,183,111,223, 54, 78,114, 15, 29,106, -168,142,148,106,101,217,132,239, 86, 45,136,154, 25,246,173, 77,223,110,237,241,197,186,221, 96,152,157,160,121, 52,164, 98, 33, - 58, 6,117, 7, 15, 42,252, 24,241, 89,177,188,180,104, 2, 94,221,138,167, 14, 39,209, 55,195, 66, 0,150,227,112,225,218, 29, -163,243, 94,107,154, 3,124, 62, 31, 79,158, 60, 81, 52,180,218,144,199,171,156,230,172, 30,169,235,227, 36, 28, 71, 9,132, 18, -184,123,182,133, 90, 85,254,151,212,145,147,147,211,103, 71,143, 30,181,175, 14,149, 16, 27, 27, 11,138,162, 18, 95, 90, 28, 43, -207, 43, 20, 10,196,197,197, 33, 54, 54, 22,168, 92,225,102,244,115, 84,109,201,146,201,100, 84,118,118, 54,204,204,204,232,216, -216, 88, 85, 64, 64,192, 61, 3,207,119, 13,167, 82,169,124,174,203,127, 82,169, 84, 54,145, 72, 36,130,122, 29,158, 91,171, 86, -173,146, 26,152, 66,124, 37,157, 37, 37, 37,183, 23, 46, 92,216,113,240,224,193,248,236,179,207, 10,109,109,109, 45,127,252,241, - 71, 62,143,199,163,102,206,156,201,230,229,229,149,255,244,211, 79,214,199,142, 29, 67,113,113,241, 13, 35,242, 94,166, 84, 42, - 63,236,214,173,219,238,179,103,207,154,121,123,123,163,180,180, 20,132, 16,236,218,181, 11, 51,103,206,132, 68, 34, 65, 82, 82, - 18,222,126,251,109,185, 92, 46,255, 16,175,250, 78, 86,115, 82, 20, 69, 17,142,227,176,108,217,178,154,224,164,213,193, 74, 45, -165, 20,182,207,107, 97, 62,231,167, 18,243,241, 95,252, 52, 9, 0, 88,173,150,125, 28,119,251,233,174, 31,190,184, 44, 20, 10, -175, 25,168,163, 37,115,230,204,249,113,232,208,161, 82, 11, 11, 11, 20, 22, 22,226,250,245,235,184,121,243, 38,110,221,186, 5, -181, 90, 13,123,123,123,216,218,218, 34, 59, 59, 27,143, 30, 61, 82, 0, 88,162,143, 83,100, 38,128, 87,235,234,149,191,149, 22, - 44, 65,173,213,134,181,173, 91, 66,129,192,168,231,168, 87,175, 94,232,210,165, 75,181, 88, 97,211,210,210,178, 85, 42, 21, 85, - 75,244,103, 86, 11,114, 15, 15, 15,237,158, 61,123,136, 33, 78,142,227, 94, 17,211, 61,123,246,172, 25, 20,118,233,210, 5, 60, - 30, 15, 49, 49, 49,186, 92, 83,234,112,222,218,190, 25,103,191, 90, 2,145, 80,136,249,137, 25, 53,162,107,119,223, 14, 16,136, -132,240, 29, 54,170,246,111,183,160,114,186, 16,245, 68,150,190,254,232,141,159,119, 19,231, 63, 30,217,120,141, 45,120,170,177, - 87,169, 84,158,249,224,131, 15, 34, 2, 3, 3, 63,216,176, 97, 3, 37, 20, 10,177, 98,197, 10,146,149,149,245, 75,213,136,161, -232,117, 82, 69, 8,249,229,202,145, 27, 31, 77, 14, 27, 78,205,219, 56,165,199,189,139,113,143,218,117,243, 70,187,110,222,184, -119, 41, 1, 63, 44,222,183,135,213,176,203,114,114,114,210, 13, 80,169,250,119,111, 83,223, 25,222,254,234,229,139,246,141, 93, -117,200,113, 92,228,190,125,251,102,143, 28, 57,146,190,115,231,206, 43, 62, 89,213,219,238,112, 28,135,243,231,207,131, 97, 24, -252,242,203, 47, 28,199,113,186,227,104,129, 28,255,110, 99,196,228, 95,126, 61, 46, 18, 9, 41,220,188,118, 24, 37, 69,250, 87, -117, 9,133, 2,252,188,235, 8, 35, 20, 10, 30, 55,116,158, 97,152,140,139, 23, 47, 58, 15, 98, 89, 1, 77,211, 13, 9,168, 6, - 17, 25, 25,169,225, 56, 46,205,192,101, 55,114, 95,164, 15,251,250,179,247,247, 13,125,247, 3,231,110,221,122, 8, 28,156,156, - 65, 81, 20,242,114,243,144, 20,119, 71,115,230,240,142,220, 10,185,113, 91,240,188,191,246, 74,141, 79, 22, 0,132,206,220, 84, -227,159, 5, 0,195,166, 44, 68,159,174,126,160,140, 49, 61,189, 20, 89,156, 86,171,133,185,185, 57,180, 90,109,131, 33, 30,172, -173,173,165, 74,165, 82, 81, 21,136, 81,239,136,153, 0,127,121, 29,177, 44,235, 91, 84, 84,132,138,138, 10,220,188,121,147,172, - 90,181, 74, 38,147,201,106,156, 54, 53, 26,141,111, 97, 97, 33,202,203,203,113,227,198, 13, 18, 17, 17, 33, 43, 40, 40, 88,220, -152,103, 72, 42,149,118,226,243,249,247,138,138,138, 56, 51, 51, 51, 90,163,209,104, 2, 2, 2,196, 82,169,212,232, 13,213,179, -179,179, 7,235, 58,231,229,229,149,156,156,156,220,138,101,217,218,123, 32, 10,149, 74,165,119,183,110,221,140,105, 63,230,236, -220,185, 19, 71,142, 28, 9, 42, 45, 45,157,152,150,150,182, 27, 64, 16,159,207, 71, 76, 76, 76,162, 82,169, 28, 55,114,228,200, - 93, 69, 69, 69,183, 81,185, 5,143, 49, 56,155,148,148, 52,193,215,215,119,231,151, 95,126,105, 17, 18, 18,194,119,115,115, 67, -231,206,157,145,148,148,132, 83,167, 78,105,182,108,217, 82, 33,151,203,223, 7,112, 94,127,181,131,210,106,181, 16,137, 68, 53, - 47,177, 88, 12,161, 80,136, 50, 5,193,244,117, 41, 10, 45,164,138,245, 43, 62, 60, 69, 0, 42, 39, 35, 37, 63, 47, 39,227, 54, - 69, 81,215,178,179,179, 75,116,148,153, 72,169, 84,182, 39,132,240, 40,138,218,200, 48,204,148, 89,179,102,185,174, 94,189, 26, -109,218,180, 65,126,126, 62,204,205,205,225,237,237, 13,153, 76,134, 59,119,238,176,114,185,124, 43,128,149,168,242, 31,209,133, -226,252, 82, 52,117,241,168, 99,249, 36,132,128,176,128, 70,197,130,101, 8,212,148, 6, 2,129, 6, 66,161,208,152, 41, 21,194, -113, 28,138, 92, 93,193,197,197,225,214,173, 91, 32,132,232,180,170,249,248,248, 24,101, 33,101, 89,246, 21,161,117,251,246,109, -240,120, 60,244,232,209, 3,209,209,209, 53, 22, 45,163,252, 18, 9, 7,145, 88, 84,103,186,144,162, 40, 8, 69, 34, 8, 68,194, -134, 86,227,152,172, 88, 38,252,109, 96,236, 60,118, 49,128, 25, 15, 30, 60,216,221,187,119,239, 40, 66,136, 0,149,243,145,127, -188,201,159,231,228,228,220,191,113,234,254, 34,231,166,182, 17, 67, 38,246, 64,155,246,158, 96,181, 44,174,159,142,193, 47,171, -143,237,207,204,200,156, 2, 35,246, 62,227, 56,238,114,247, 78,109,104,212,138,213,237,230,230,198,189,206,170,195,146,146,146, -229,243,231,207,199,103,159,125,246, 58,171, 14, 27,196,195, 71,178, 25, 20, 72,211, 97, 67,122, 14, 2, 69, 19,181, 90,165,167, -225, 67, 77,228, 82,161, 80,240,248,110,108,118, 64, 67,215,201,100,178, 65, 83,167, 78, 61,207,231,243,155, 55,166,204, 57,142, - 75,203,205,205,237,103,248, 74,237,117,149,162,212,251,228,254,109,115,207, 30,217, 57,136,227,216,150, 20, 0, 30, 95,248, 84, -195, 48,231, 84,138,210, 13, 48,114, 83,233, 53, 51,130, 49,231,187,223,177,249,179, 97,152, 21,113, 16, 59,150, 77,199,162,117, -251,240,237,103,115,176,106,211,111,248, 98,206, 4,140, 30, 63,149, 35, 20,253,167,177,249,224,241,120,103,183,109,219, 54,121, -250,244,233, 53,139, 22, 8, 33,117, 26, 97,141, 70,163,224, 56, 14, 91,183,110,229, 0,156,213,199, 87,183,142, 40,162,207, 95, -202,216, 58, 42, 45, 45,125, 63, 56, 56,120, 23, 0, 49, 33,228, 73, 81, 81,209,191,128,151, 91, 67,149,151,151,191,223,173, 91, -183, 93,132, 16, 49, 69, 81,175,156, 55, 6, 85,161, 30, 58,217,218,218,222,171,178,100,137, 95,199, 33, 94, 95, 81,235,153, 86, - 52,102, 10,145, 3, 48,171, 86,196,247,213, 65, 65, 65,181, 55,149, 78, 44, 42, 42,234,244, 26,233, 58,175, 80, 40,252,150, 45, - 91, 54, 87, 34,145,244,145,203,229,173, 1,192,220,220, 60, 73,165, 82, 93, 86, 40, 20, 27, 96, 56, 54,149,154,227,184, 36,173, - 86,235,239,232,232, 88,185,162,182, 74,108, 1,192,137,123,236, 61,128,237, 92,105, 20,223,107,116,194, 78,159, 62,221,204,214, -214,118, 32, 69, 81,163, 9, 33, 62,101,101,101,170,101,203,150,221,136,140,140, 44,105,222,188,249,144,161, 67,135, 82,118,118, -118,184,123,247, 46, 41, 40, 40, 56, 12, 96, 49,140, 88,105,205,113, 92,218,154, 53,107,208,216,231, 93,223,121,134, 97,114, 78, -159, 62,237, 48, 56, 47,143,207,113, 28,134, 13, 27, 86, 71,192,213,199,227,199,143,161, 82,169, 12, 6,115, 44, 46, 46, 70, 80, - 80, 80,157, 1,106,245, 43, 45, 45, 13,118,118,118,117,254,199,208, 24, 75, 85, 82,132,190,115, 23, 2, 85, 43, 74,171, 81,105, -201, 34, 32,106,147,174, 50,225,239,139,127,247,230,155, 70,153, 22, 93, 93, 93,199, 74,204,197,159,120,182,118, 13,200, 74,201, - 75, 40, 43,145,239,201,206,206,222,166,163, 33, 55,138,179,145, 1, 75, 77,230,223,127, 19,231,203, 56, 90, 44, 8, 97, 65, 56, - 2, 66, 56,112, 28, 91,185,225, 53,225, 64, 88,150,162, 40,252,169, 86,232,141, 12, 94, 63,157,182, 14, 14, 14, 43, 9, 33,131, -121, 60, 30, 93,187,161,174,253,185,202,146,117, 86, 38,147,125,209,128,229,245,191,174, 60, 35, 35, 35, 27, 20,255,198,174, 58, - 28, 51,102, 12,219,200,103,243,178,185,185,185,107, 67,231, 42, 42, 42,210,179,179,179, 7,254, 77,202,179,246,138,193,198,112, - 54,122,213,161, 33, 78, 79, 79, 79, 49,195, 48, 29, 0,120, 83, 20,101, 3,160,144, 97,152,115,249,249,249,185, 0, 58, 1, 88, - 86,245,155,175, 0,220,251, 15, 63,239, 82, 7, 7,135,157, 52, 77, 55, 53,230,199, 90,173, 86, 93, 88, 88, 56,185,222,128,224, -229, 20, 60,192,147, 8,133,119, 64,211, 77, 26,122, 30,117,125, 6, 33,153, 21, 10, 69, 16,245,178,205,175,225,180,183,183,191, -199,231,243,155, 26,145,182, 23, 5, 5, 5,157, 76,109,242,127, 53,231,127, 51,234, 59,193,235,140, 20,255,239, 16, 90, 38, 78, - 19,167,137,211,196,105,226, 52,113,154, 56, 77,156,255,235, 66,171,193, 99,211, 18, 88, 19, 76, 48,193, 4, 19, 76, 48,193,132, - 55,195,169,122, 98,235, 84,245, 7, 74,143, 42,109,140, 73,240,117,148,237, 5, 19,167,137,211,196,105,226, 52,113,154, 56, 77, -156,255, 56, 78, 19,254, 66,152,204,170, 38, 78, 19,167,137,211,196,105,226, 52,113,154, 56,255,215,161,115,234,144, 54,149,141, - 9, 38,152, 96,130, 9, 38,152, 96,194,191, 7, 70, 11, 45,115,103, 31, 95, 7,207,128, 93,182, 77,219,197,218, 54,109, 23,235, -224, 25,176,203,220,217,199,247, 31, 90,110, 82, 0,227,249,124,254,121, 23, 23,151, 82,232,216,122,231,127, 0, 86, 0, 70,163, - 50,190,207, 8, 0,102,127, 37,121, 8,192, 31, 11,124, 50, 9, 72,159, 4,164,143, 5, 62, 9,249, 31,244, 27, 92, 49,219, 53, -248,218,153,241,103, 86,204,118, 13,110,240,252,124, 87,251, 91,191,143,249,110,245, 39,110,118,127,209, 95, 90, 58, 57, 57,109, -119,118,118,126,238,228,228,148,230,228,228,180, 19,128,181,169,185, 51,193, 4, 19, 76,248,183,161,218, 71,171,250, 85,227,163, -197, 7,128,168,168,168, 16, 0, 87, 0,244, 14, 13, 13,189, 90,255,215,182, 30,254,211, 91,182,104,249,217,215, 43, 22, 83, 46, - 78, 14,102, 90,150, 99, 82,159,103,180, 93,254,117,196,161, 44, 17,127,125, 81,122,220,142,215, 72, 20,197,227,241,198,138,197, -226, 80, 0,213,130, 45, 81,165, 82, 69,177, 44,123, 0,198, 45,211,134,179,179,243, 53, 30,143,215,172, 49,127,204,178,108,122, -110,110,110,143,215, 44,204, 49, 30, 30, 30, 59, 67, 66, 66,204,130,130,130, 32, 18,137,176,108,217,178,249,217,217,217, 27,140, - 37,176,181,245,178,100,196,146, 79,249, 34,209, 0,162, 81,251, 19, 16,128, 22,199,113, 90,213, 69,161, 74,181,190,168, 40,165, -204, 72,170,197, 0,166, 84,149,213, 14, 0,107,222,228, 46,153,220, 30, 26, 13, 91,121, 79, 8,249, 96,143, 63,179,190,178,100, -201, 18,126,104,104, 40,118,236,216,209, 99,251,246,237, 31,150,149,149, 93, 4,112, 2,192,211, 55,189, 43,157,129, 25,221,122, -244,248,110,242,252,249, 60,197,181,107,248,110,231,206,141,168,140,183,180,185,177,247,146, 80,136,209, 14, 14,130, 80, 66,208, -129, 2, 40, 10,136,145, 21,112,167, 25,134, 61, 0, 35, 98,177,233,193,120,212, 93,142,191,183,177, 4, 37, 79,201, 82,241, 48, -223,158, 37, 79, 47, 47, 5, 48,164,254,121,173, 82, 50,153,240,220, 67, 21, 36, 58, 3,192,186, 55, 44, 86, 51, 71, 71,199,216, -227,199,143, 55, 13, 10, 10,226, 3,192,189,123,247, 38,133,134,134,246,149,201,100,254, 0, 74,255, 67,141,144,132, 79,211,159, -136, 4,130, 1, 44,203,182, 3, 0, 30,143,247, 80,173,209,156,215,114,220,102, 24, 25,147,205, 4, 19, 76,248,223,133, 33, 45, -242, 55,135,206,200,240,213,153, 35,181,223,107,195,220,169, 77,219,174,253, 70, 61, 46, 41,147, 43,159, 63,207, 44,154,247,201, -170,243, 31,206, 89,123,108,221, 79, 81,167,175,222, 78,188,229, 27, 52, 48,193,220,169, 77, 91, 29,212,186,230,112, 61,164, 82, -233,253, 45, 91,182, 48, 73, 73, 73,164,184,184,152, 60,126,252,152, 28, 62,124,152,124,244,209, 71, 74,169, 84,122, 31,128,135, - 49,156,206,206,206,185,143, 47,253, 78, 94,196, 70,147,180,123,183,137, 70,163, 33, 12,195, 16,134, 97, 72,194,217, 40, 18,123, -226, 8,137, 57,124,128,168,213,106,162, 86,171,137, 74,165, 34, 45, 90,180,200, 50, 50,157,245,225,230,231,231,167,142,138,138, - 34,135, 14, 29, 34,243,231,207, 39,129,129,129, 44,128,153,198,230,221,220,201,187,143,101,147, 0,217,244,176,205,204,169, 27, -231, 72,252,179, 24, 18,255, 44,153, 68, 94, 72, 36, 83, 22,108, 98, 44,155, 4,202,204,157,188,251, 24,202,187,173,173,109, 87, -138,162, 72, 53, 0,144,102,205,154,149,215,126,121,120,120,212,121,185,187,187,151, 55,111,222,252,169,189,189,125,135,134, 56, -199,181, 3, 33, 9,123, 9, 73,216, 75,150,244, 2,137,143,143,191, 69, 8,185, 82,253, 82, 40, 20, 87,142, 30, 61,122,229,157, -119,222,185, 2,224,109, 61,229,100, 84,121, 78, 2,210,203,142, 31, 39,100,195, 6, 66, 66, 66, 72, 34, 64, 38, 1,233,141,228, -108,225,226, 34,136, 89,187,230, 67,245,241,227,191,144, 51,103, 78,145,211,167,163,200,177,163, 59,201,198, 13,159, 48,206,206, -130, 56, 0,173, 26,193,201, 7,176, 10,192,122, 84, 90, 46,147,100, 50, 25,201,201,201, 33, 0,146,170,190, 91,239,232,232,184, - 14, 13, 91,223,250,215,182,100,205, 29,236,114,230,221, 33, 61, 72, 89, 73, 22,121,119, 72, 15, 50,119,176, 75, 29,203,214, 96, - 47, 47,203, 89,195,218,201,226,239,237, 97,103, 13,107, 39, 27,236,229,101,249,154,229, 73,161,114,159,208, 45,151, 46, 93,210, -146, 90,208,104, 52,100,247,238,221,172,173,173,237, 47,141,224,108,237,232,232,152,102,103,103,151, 84,251, 75,199,128, 17,221, -124,122, 78, 90,110,223,246,157,144, 70,164, 51, 72, 34, 20,190, 56,127,240, 71,182, 32,253, 33, 81, 43,114, 73,201,147,104,242, - 34,241, 22,217,189,109,189, 70,196,231,191, 0, 16,244, 38,247, 82, 35, 97,226, 52,113,154, 56,255,134,156,250,180,200,127, 51, -248,245, 51, 88, 31, 98,177, 40,108,249,146,133, 84,113, 65,177, 66, 89, 90,166,214, 40,149, 74, 90, 72,148, 15, 19,158,229,209, -124, 94,241,220, 57,179, 45,195, 22, 45, 9,171, 0, 38, 24,249,159, 30,129,129,129,119,142, 28, 57,226,100,103,103,135,146,146, - 18, 20, 20, 20,224,206,157, 59, 32,132, 96,228,200,145,226, 46,157, 59,119, 88,186,108,217,205, 23,153,153,193,208,221,241,190, - 20, 47,118, 14, 88,211,163,114, 47,218, 47,158, 23, 84,246, 58, 20,133,237, 99, 66,107,174, 89,249,162,114,183, 12,137, 68, 82, -179, 33,241,107, 32,184, 95,191,126, 66, 0,152, 54,109, 90,105, 89, 89, 89,120,149,133,195,168,157, 86,205,157,188,251, 56,184, -186, 69,253,184,117,141,180, 93, 75,111, 48, 26, 45,210,114,178,192, 23,216,160,105, 83, 33,166, 78, 24, 32,232,213,205,206, 97, -213, 87,219, 79,229,112, 24, 33,207, 79, 62,167,139,203,198,198,102,247,129, 3, 7,112,240,224, 65, 0, 64, 82, 82, 18,188,189, -189,205, 13,165, 33, 46, 46,206,235,237,183,223,222, 95, 80, 80,208,202,208,181,245, 3,227,139,197, 98,244,232,209, 3,109,219, -182,197,241,227,199,123, 87, 89,182,222, 8,138,107,215, 96,241,224, 1,112,245,181, 6, 47, 45, 58,118,244,188,117,250,212, 30, -135, 83,167, 19,177,110,221, 78, 60,125, 90,105,104,243,242,242,194,248,113, 99, 4, 15, 31,222,240, 27, 61,122,252,141, 63,254, -120,218,163, 74, 40, 25,194,151, 63,253,244,211,226,230,205,155, 99,244,232,209, 99,252,252,252, 92,172,172,172,176,109,219, 54, -184,186,186,122,169,213,234, 39,199,143, 31,119,203,201,201,193,236,217,179,145,155,155, 59, 95, 23, 81,239, 65,189,151,138,135, -249,246,108,211,113, 50, 44,172, 92,241,211,190, 3,120,124,127,119, 79, 21,147,184, 84,200, 94,157,168, 32,226, 41,178,116,139, -176,102,157, 66,236, 91,249,189, 13,207,142,209, 14, 74,246,143,103, 75, 7,180,136,224, 75,148,187, 87,172,203, 46,120,133,116, -116, 36,207,191,244,145, 93,220,121, 20, 0, 43,184,106,129, 85, 99,173, 37,120,187, 87,175, 94, 53, 21,247,252,249,115,168, 84, - 42,248,250,250,210,106,181,186,143,145,229,218,122,224,192,129,127,158, 62,125,218,190,117,235,214,178,194,194,194,154, 19, 46, -246, 54,131,174, 30,217, 56,123,213,119,191,249,252, 74,168, 98, 89,226,177,135, 6,184,130,186,119,237,120,225,204,145, 61, 22, - 84,121, 6, 68, 54,249, 0, 87,128,148,253, 63,131, 50,179,195,216,143,230,241,251,244,235,219,100,192,144, 81, 23, 30, 39, 63, -237, 7,224,174,105, 92,111,130, 9,255,104,171, 22,249, 95,203, 83,141,208, 10, 13, 13,165, 26,202, 32, 71,184, 0,103, 39,123, -233,198,181,187,238,242, 24,181,218,220,198, 90, 45,176,182,226, 40, 75,107, 30,163,214,148,123,122,121,138, 56,194, 5,232,224, -175,191,196,147,146, 74,165, 71, 78,156, 56,225, 36, 16, 8,192,113, 28, 28, 29, 29,145,154,154,138,226,226, 98,148,149,149,225, -105, 98, 34,154,123,184, 99, 69,216, 66,215,217, 11,195,142,200,229,242, 78,168, 59,141,248,202,178, 81, 86, 83,119,223,232,234, - 45, 88, 94, 25,242, 87,125,215,192, 57, 99,151,162,166,166,167,167,195,194,194, 2,254,254,254, 22,215,175, 95,255, 67,143,200, -170,195,105,107,235,101,201,137, 69, 7,183,252,184, 76,202,104,226,144,144, 82,136, 54,205,123,194,217,222, 3, 89,133,106,220, -186,115, 2,113,177,123,209,178,137, 7,102,126,212, 87, 18,177,230,208, 1,161,182,185, 71,113,113,106,105, 67,156,165,165,165, - 22, 45, 90,180,128,135, 71,229,190,103, 44,203, 34, 33, 33, 1, 44,203,214, 28,215,126,223,117,248, 18,180,165,105,152, 60,105, - 18, 10, 10, 10, 44, 26,226, 20,240,160,157,247,225,120,190, 84, 0,136,204,237,212,229,229,229, 53,219,112, 48, 12,131,152,152, - 24, 4, 7, 7,135, 68, 70, 70, 26, 82, 69, 70,149, 39, 3,124,251,221, 47,191,108,154, 80, 82, 66, 3,192, 14,138,226, 24, 66, -190, 53,246, 94,114,114, 18, 28, 62,123,230, 87, 7, 30,253, 8,118,214,223,224,206,157, 52, 48, 76,101,122, 11, 10,242, 48,235, -147, 82, 8, 5,150, 56,126,252, 55,123, 95,223, 30,135,115,114, 24,127,212,157, 70,108, 40,157,146, 51,103,206, 96,214,172, 89, - 72, 72, 72,112,171,222,163, 77, 42,149, 98,237,218,181, 60, 95, 95, 95, 55,115,115,115,156, 61,123, 22,185,185,185,148,190,116, - 94, 57,119,229,235,146,167,151,151,230, 80,103, 7,255,180,239, 0, 62, 24, 55, 22, 46, 36,229, 15,235,150,212,215, 3,135,117, -255,130,240,220, 67,205, 45, 3,108,189,253,135, 65, 40,178,192,204,207, 87, 34, 41,238,164,173,188, 44,246, 19,138,205,112, 95, -177, 46,114,206, 43,233, 60, 52,134,157,182,247,122,199,243, 30,119, 61, 31,196,124,120, 59, 59,122,123,236, 75,161,229,197,167, -104,214, 26,168,220,214,228,201,147, 39,120,250,244, 41,248,124, 62, 20, 10, 5,180, 90,109,131,233,116,115,115,155,161,213,106, -191,168,170,231, 93, 18,137,228,253, 61,123,246,216,215, 22,218,142, 1, 35,186,217, 91,154,247,203,205, 43, 40,186,113, 55,254, -241,188, 25,163,123, 95,187, 21,151,193, 8,222, 73, 47,137, 61, 94,162,163, 60, 37, 82,145,232,240,217,163,191, 89,104,158, 93, -130,185,111,111, 8, 44,188,193,106, 50, 33, 47,170, 64,217,211,108,168,126,252, 1,237, 63,153,139,147,199, 14, 89,248,181,235, - 20,169,210,104,188, 1,168, 95,227,217,108, 12, 76,156, 38, 78, 19,231,223,147, 83,167, 22, 33,132,116, 4,224, 92,117, 88, 80, -165, 11, 28, 0,228,163,114, 71, 1,231,170,182, 67, 84,235,103,245,143,107, 95, 91,255,184,246,231,130,170,207, 78, 85,239,119, - 41,138, 42, 52,144,116, 87, 84,110, 77,120,170,234, 29,168,154, 74, 52,232,120, 76, 81,116, 41,203,114, 98,161,163,147,114,218, -187,253,218,253,126,225, 94,140,153,131, 21,127, 80,239, 14, 33,119, 30, 62,187, 73,209,148,134,162,104,163,252, 62,120, 60,222, -216,141, 27, 55,182,179,178,178, 2,199,113,176,182,182,134, 76, 38,131, 90,173, 70, 73, 73, 9, 84,101,165, 96,202, 74,241, 32, -227, 57,186,135,244,198,168,193, 3,125,127, 59,118, 98, 44,203,178,251,245,241,186, 5,116,168,177,100,173,108,102,255,210, 52, -145, 81, 92, 35,186,190,233,224, 13,161,133, 5, 6,204, 11,123,147,123, 32,250,212,169, 83,103, 70,142, 28, 57,100,193,130, 5, -116,118,118,246,217,212,212,212,238, 0, 18, 12,138, 10,177,228,211,143, 63, 13,181,181,181, 32,136, 60,127, 2,189, 58,140,131, -153,136,135,130, 82, 6, 20, 5, 36,198, 31, 1, 69,217, 33, 54, 41, 27, 61,219, 91, 97,224, 32, 95,139, 99,135, 18, 23,224,165, -127,208, 43, 85, 83, 84, 84,132,188,188, 60,104, 52, 26,104, 52, 26,140, 30, 51, 6,191,238,222,141,138,138, 10, 40, 20, 10,168, -213,106,176, 44, 11,154,166,113, 62, 42, 18, 25,207, 18,209, 45, 56, 24,208,177,245,210,238, 24, 8, 0,220,122,252,248, 49, 18, - 19, 19,241,226,197, 11, 72, 36, 18,184,184,184, 96,229,202,149, 80,169, 42,247, 19, 27, 51,102, 76, 8,128,135,111,250, 64, 61, - 5,182,167,178,236,210, 33, 71,143, 58, 93, 63,122,148,187,117,242,228, 11,113, 89,217, 54, 99,126, 43, 20, 98,244,154,111, 63, -106, 99,110,110,142, 23,233, 27,225,227, 35,196,252,185,246, 8,255, 38, 31, 0, 48,123, 86, 83,116,238,228,128,210,226, 67,112, -112, 90,140, 77,155,230,180,156, 50,101,253, 36,185,156,221,101,128,122,233,137, 19, 39, 70,121,123,123, 55,137,142,142,166, 68, - 34, 17,164, 82, 41,164, 82, 41, 36, 18, 9,242,242,242,144,154,154, 74,214,172, 89,147, 9, 96,169, 62,162, 21,155,178,111, 2, - 24, 50,119, 48,206, 60,190,191,187,103, 19,222,179, 7,163,102,246,120, 30,123, 43,186,236,247,243,215,191,210, 42, 37, 25,197, - 47, 46, 44,108,209, 57,218,225,147,207,190,196, 15,107,150,227,241,237,107,133,206, 30,165,155,165,148,170,193,116,134,132,172, -224,187, 58,219,105,103, 76, 25,101,115,210,249,198,140,211,124, 74,150,147,127,127, 45, 82,163, 21,226, 86, 29, 38,182,246,162, -213,151, 46, 93,146,246,234,213, 11, 74,165,178,198, 50,185,103,207, 30, 78,171,213, 94,110,240,222,100,152, 47, 50, 51, 51, 93, - 21, 10, 5, 6, 15, 30, 60,123,237,218,181,230,213,251,201,177, 44, 91,199,146,245,245,134, 95,207,125,250,197,230,203,231,246, -127,227,246,117,216,251,189, 39,204, 92,117, 25, 58,246,145,228,211,244, 39, 39,143,238,116,145,216,106, 32,181, 27, 8,101,174, - 2,143,183,127, 0,121,169, 18,157,191,254, 18,128, 8,106, 13,141,109,195, 70, 67, 96,239,134,229,211,223,119, 91,178,237,167, -143, 56,142,219,104, 26,215,155, 96,130, 9,245,224, 76, 81, 84, 20, 0,132,133,133, 45, 14, 15, 15,143,167, 40, 42,138, 16, 18, - 90,101, 64,137, 34,132,132, 86, 95, 83, 37,206, 94, 57,174,190,182,254,113,253,207,139, 22, 45,242,139,136,136, 88, 29, 28, 28, -188,255,198,141, 27,207, 0, 24, 18, 90, 67,171,132,213, 43, 91,239,208,213, 10,178,246,123, 29,139, 22,199, 93,123,242,236,185, -124, 96,255, 46, 77,163,174, 62,188, 59,117,234,208,126, 99,135,245, 26,148,154, 94,144,216,210,211,197, 33, 62,254,161, 21,199, -113,215,140, 41, 37,177, 88, 28,218,183,111, 95,126, 81, 81, 17,204,204,204, 32,147,201,144,153,153, 9,134, 97,160, 44, 41,134, -170,164, 24,202,226, 34, 48, 37, 69,120,122,239, 14, 2, 90,122,137,171,156,229,245,162,218,234, 82,223, 82, 85,219,178, 37,178, -180,132,216,210, 18, 84,227,167, 13,223,177,177,177,185, 85,221,169, 50, 12,243,201,194,133, 11,243, 57,142,195,170, 85,171,172, - 44, 44, 44, 34, 1,136, 13,145, 88, 58,242, 66,131,219,251,211,143, 82, 99,209, 35,112, 50, 90,183,120, 11,169,185, 10,228,151, - 49,200, 43,102,208,185,215,247,104, 22,248, 37,220,219,135, 35, 49,173, 16,110, 77,188,105,240,197,122, 55,127,206,200,200,168, -115,188,127,223, 62,200,229,114,180,108,217, 18,227,198,141,195,194,133, 11, 49,110,220, 56,184,185,185, 97,194,187,111, 99,249, -242,229,200,201,201, 49,148, 84, 85,235,214,173, 85,158,158,158, 42, 79, 79, 79, 21,195, 48, 40, 47, 47, 71,113,113,113,253,242, -158,211,216,130,116,114,114, 90,228,226,226, 18,235,228,228, 20, 47, 22,139, 79,199, 80,212, 35,165,167,167,115,247,225,195,169, -182,239,190,203, 75,147, 74,169,171,128,133, 49, 92, 14,118,130,161,125,250, 14, 17, 21, 23,237,172, 49, 82,189, 63,213, 17,127, - 94,245,195,245, 63, 58, 97,214, 39, 45, 65,209, 18, 80,180, 8,242,138, 75,232, 18, 20, 44,180,177,161, 12,221, 75,227, 1,196, -116,239,222,221,109,230,204,153,148, 88, 44,198,236,217,179,153,233,211,167, 39,143, 27, 55, 46,249,226,197,139,172,167,167, 39, -220,221,221, 41,119,119,119, 87, 0, 49, 85,191,209, 11,171,150,212,215, 42, 38,241, 15, 27,111,243,103, 44, 28,186,149,107,196, -163, 87,172,203, 46,248,122,203,179,117,169,143,229, 94,143,111, 95, 43, 72,142, 59,201,165,222,189,146,159,149, 92,230,245,245, -150,103,235, 22,111,206,106,240,161,190,122, 21,220,145,168,171,140,188, 66,206, 31, 62,172,143,124,198,180,177,173,237, 44,252, -246,160,201,192,192,102, 30, 77, 39, 44, 95,189,137,153,254,209,167,204,142,159,119,146,178,178, 50,148,150,150, 98,211,166, 77, -218,147, 39, 79,102,178, 44,251,169,174, 49, 16, 0,104, 52, 26,204,152, 49,195,220,202,202, 10, 25, 25, 25, 53, 22, 81, 0,200, -150, 21, 60,188,126, 55,238,209,188,127,141, 9,169, 80,169, 84,231,174,220, 75,108,235,237,217,148,162,136,206,133, 40, 34,129, - 96, 64,167, 46, 93,120,132, 20,131,226,123,224,233,238, 53, 40,205, 41, 68,105, 94, 33,120, 2,115,104, 33,134,134, 19,193, 38, - 32, 8, 73,119,163,209,196,209,153, 47, 22, 8, 6,153,250, 19, 19, 76,248,103, 66,159, 22,169, 45,150, 34, 34, 34, 86,235, 59, - 95,235, 93, 93,239,184, 70, 72,213, 23, 97,181, 63, 3, 64, 68, 68,196,106, 66, 72,232,141, 27, 55,246, 1, 80, 24,153,133, 15, -107,189, 27, 31, 71,139,167, 84,135, 47, 88,184, 20,182,214, 82,235,160, 14,222, 46,199,207, 94,189,119,237,198,189,196,102,238, - 14,142, 68,163,182,253,118,253, 15, 77, 41,185, 34,194,200, 68,248, 58, 56, 56,128, 97, 24, 60,121,242, 4, 47, 94,188, 0,195, - 48,208, 86, 84, 64, 85, 92, 12,101, 81, 17,216,138, 50, 8, 89, 22, 10, 89, 30,236,205, 36,192,203, 21,137, 6, 44,111, 84,131, - 66,171,250, 93, 98,101, 5,177,165, 21,104,129,192,224, 78,241,181,208, 49, 40, 40,232, 96, 92, 92, 92,151,254,253,251,127,133, -202, 37,242,105,153,153,153,253,150, 45, 91,166,114,118,118,198,140, 25, 51,218, 0,152,108, 80,100,138,212,190,158, 46,109,208, -218,107, 50,154,185,247, 69,113,133, 6,178, 82, 13,242,138, 25,108,251, 62, 24,135,119, 4,225,207,195, 61, 17,119,110, 0,138, - 53, 46,176,112,123, 7,132, 85,251,233,227, 60,127,254, 60, 86,174, 92,137,175,190,250, 10,171, 86,173,194, 87, 95,125,133,204, -204, 76,248,251,251, 35, 61, 61, 29,103,206,156, 65,118,118, 54, 28, 28, 28,112,231,206, 29,108,216,176, 1,127,254,249,167,193, - 76, 87, 11, 87, 35,174,105,212, 92,186, 86,171,157,146, 61,124,120,187, 92, 59,187,182, 29, 58,116, 24, 50,123,246,108,175,238, -221,187,215,156,247,242,242,242,144, 74,165, 57,168, 92, 65,217, 94, 31, 23, 7,116,112,116,244,135, 90,245,168,170,142, 5,160, - 40, 9,250, 14, 72, 68,247,158,247,192,104,132,160, 41, 49,104, 90, 2,173,182, 0,182,182,110, 32,132,242, 55,144,196,101, 50, -153,204,251,194,133, 11,116,106,106, 42, 36, 18, 9, 0, 60, 95,177, 98,197, 15,235,214,173, 75,176,183,183,103,163,162,162,112, -236,216, 49,132,134,134,242,166, 79,159,238,237,238,238,190,213, 80,190, 87,108,202,190,185,119,253,153,247, 4, 26,219,246, 18, -105,179,230,168,176,120,231,227, 16, 7,115, 0, 56,155,146, 82,230,228, 81, 26, 81, 81, 22,155,110,211,180,252,155,179, 41,134, - 86,156,174,224,238, 39, 63,186,181,247,232,217,146,188,220, 34, 65,135,118,126,138,240,149,159, 9,155, 53,111,245,237,242,133, -255,114,201, 44,149, 20, 15,152,125,230,209,145,179,119,202, 39, 78,253, 64, 59,237,195,153,202, 51,103,207, 31,229, 56,174, 29, -116,172, 56,228, 56, 14,217,217,217,136,143,143, 71, 74, 74, 10,100, 50, 25,242,243,243, 81, 86, 86, 86, 51,221,104, 86, 86,122, -234,135, 95, 78, 62, 48,151, 74,205,186,180,243,246,184, 29,157,144,103, 46,149,154,121, 55,247,104, 13,172,104,176, 29, 97, 89, -182,157,196, 76, 10,128, 66,113,220, 53,148, 23,149,163,188,184, 28,101,133,229, 80, 49, 60, 40, 85, 52, 20,106, 26,158, 33, 3, - 81, 94,161, 68,121, 65, 9, 56,150, 13, 52,117, 55, 38,152, 96,130,158,190, 62, 42, 44, 44,108,177,145,215, 26, 61,189, 89, 95, -120,133,133,133, 45,166, 40, 42,106,209,162, 69,126,208,189,160,170, 54,182, 55,240, 2, 96, 68,120,135,130,130,228,114, 75,202, -119,228,220,207,191, 56,179,239,231,239,157, 84, 42,121,186,189,173, 5,107, 97, 38,114,152, 54, 99, 21,202,202,139, 70, 84, 24, - 31,142, 0, 69, 69, 69,120,246,236, 25,164, 82, 41,132, 2, 1, 88,133, 2,172,162, 2,138,162, 2,208,140, 10, 66,150,133,157, -153, 20,158,110, 46,104,230,236, 98, 20,231,147, 75,191,215, 56,190,215,158, 46, 92, 19,228, 11,145,185, 5, 68,150, 22,248, 56, -234, 10, 0, 64, 40, 20, 2,203,190, 50,202,104,210,164, 73,147, 19,123,247,238, 21,202,100, 50,196,196,196, 60, 0, 80, 2,192, - 18, 0,151,152,152,120, 33, 46, 46, 46,212,219,219, 27, 0, 90, 26, 34, 43,205,167, 89,141,150, 32, 35,231, 57, 82, 95, 68,195, -206,186, 5, 4,102,173,145, 87,204, 64, 44,109, 1,141,234,229,236,163,178, 52, 13, 10,134,103, 84,222,213,106, 53,180, 90, 45, -180, 90, 45,212,106, 53, 62,252,240, 67, 92,191,113, 3,251,143, 93,196,179,167, 73,104,211,220, 5,147, 38, 77, 68, 80, 80, 16, -110,220,184,161,151,107,114,123,104,154, 88,128,191,126, 8, 13,145,133,189,170,235,194,115,183, 13,137, 45,138,162, 8,116, 76, - 69,214,195,186,224,224,224, 86, 73, 21, 21,136,127,244, 8,253, 87,172, 0, 0,156, 62,125,186, 78, 94,230,205,155, 39, 74, 72, - 72,152,118,239,222,189,105, 89, 89, 89,235, 1, 52,236,108, 78,128, 83,167,110,226, 95,255, 74,128, 76, 38, 3, 0, 28,216,247, - 82,151,166, 62, 99, 48,120,104,229,140,150,141,141, 13,214,175,247, 55,170, 60, 89,150,197,246,237,219,107,166, 11, 1,128,207, -231,119,159, 55,111,222,200,134,174,111,213,170,149,208, 16,231,220,209, 77, 36,127, 62, 32,159, 88,183,106,230,103,229, 16,128, - 2, 77,180,127,116,102,246,172,185,163,155,108,220,112, 40, 83, 41,165, 84,187, 40, 54,195,157, 47, 81,238, 54, 38,141, 41,103, -191, 87, 23,120, 78,217,157, 35, 43, 93, 50,243,131,241,246, 86, 54, 78, 21, 59,126, 8,183,165,121, 52, 57,113,143, 41,246,243, -178,183,121,167,235,119,229,255,154,187, 44, 90,173,205,152,137,140, 19, 73,208, 19,226,130,101, 89,100,101,101, 65, 38,147, 33, - 61, 61, 29,249,249,149,211,175,249,249,249,224, 56,238, 77, 26, 68, 40,210,211,145,118,116, 7,154, 77,156,136,206, 95,173, 4, -203,241,161,144,179, 88,223,173, 31,138, 74, 20, 80,113, 20,220, 58,118,195, 7,167,255, 0, 77, 88, 96,219,102, 83, 79, 98,130, - 9,255, 80, 24, 19,222,161, 90, 16,133,135,135,135,254,213,255, 95, 91,108,133,135,135,199,135,135,135, 55,230,191,234, 79, 25, -214, 28, 87,251,104, 93,169,229,128,246, 74,167, 89,150,159,152,146,144,192,207,170, 80, 84,152, 57, 59, 57,170,204, 36, 98,174, -164,180,140, 23,253,240, 1, 83,145,243,244,113, 35,242,145, 24, 23, 23,231,159,149,149,133,244,180, 52,104, 21, 21,160, 85,106, - 16,165, 28,253,123,116,131, 4,128,132,166, 32,228, 24,240,121, 34,148,149,151, 2, 64,162,193,206, 81,163,121,197,178, 69, 81, - 20, 68,150,150, 16,153,155, 67,100, 97, 89,199,194,101,140,197, 70, 44, 22,239,141,140,140,116,109,210,164, 9, 86,174, 92,137, -166, 77,155,250,184,185,185,201,173,173,173,165,206,206,206,104,219,182, 45,186,117,235,134, 51,103,206, 0, 70,196,148,210,104, - 37,177,143,159,163,123,126,225, 13,252,113,229, 71,168, 21, 42,116, 8,249, 17, 12,191, 25, 28,253,190, 4,247,100, 15,228, 57, -199, 43,173, 7, 46,195,240, 34,253, 57, 40,158, 40,222, 88,203, 83,245,231, 7, 15, 30, 96,223,241,171,112,245,244, 69,122,242, - 35, 60,186,124, 1,215, 29,237,225,233,219,182,102, 26, 72,103, 26, 89,240,191,222, 92, 25, 38,106,233, 39,227,197,133,133,133, - 98, 59, 59, 59, 85,117,217,185,186,186,190,137,216, 26,191,127, 26, 81,117, 0, 0, 32, 0, 73, 68, 65, 84, 96,193, 2, 20, 11, - 4,192,208,161, 16,166,164,128, 97, 24,116,237,218, 21,157, 59,119, 6, 0,116,237,218, 21,124, 62, 31, 1, 1, 1,112,115,115, -195,230,205,155,199,235, 18, 90, 52,133, 24,173,182,192,199,203,203,171, 70,104,237,254, 85,134,232,123, 3, 64, 65,132, 77, 63, - 60,169,185,214,195,195, 3, 57,217, 41,160, 40, 18,103, 32,141, 95,185,184,184, 44,115,117,117,245, 90,183,110, 29, 79, 34,145, -224,163,143, 62,106, 81, 94, 94,222,172,202,148,140, 69,139, 22, 1, 0,150, 47, 95,142, 21, 43, 86, 64,165, 82,201,117,145,237, - 94,223,206, 45,175,144,155, 70,202,205, 70,244,113,104,214,174,239,160,254,104,225,221, 23,125, 7,165, 3,192,106, 59,254,243, -119,191, 93, 98,115,212,198,146,218,249,251,217,243,203,123,132,244, 93,178,176,252,242,215,223,108, 47, 54,232,243, 88,146,182, -171,236,177,104,236,134,239,183,254,186,225,139, 69,115, 36,233, 50,117, 81,102, 17, 41,183, 16,243, 45, 90, 58, 83, 22,179, 62, -255,234, 89, 86, 86,202,124,100,156, 53,184,210,146,227, 56,164,164,164,212,248,244, 41,149, 74, 84, 84, 84, 32, 35, 35,163,230, -158, 81,152, 91, 13,158, 57,117, 88, 96,133, 66, 33,191,253, 48, 57,125,233,236, 9,193, 21, 10,133, 60, 57, 53, 61, 9,216,212, -160, 26,163,105,250,161,188, 76,222, 95, 94,172,132, 44,230, 49,154,246,243,132, 70, 75, 65,173,101, 33, 43, 40,131, 74, 11,176, -180, 0,126,239, 78, 2, 75,241,145,159,149, 9,154,199,123,128,186, 78,251, 38,152, 96,194, 63, 7,122,181, 72,181, 69, 43, 56, - 56,120,127,109,171, 83,245,103, 0, 42,232,119,229,145,213, 22, 83,213,211,137,186,254,167, 30,175,177,120,197, 71,203, 96,120, -135,234,255,116,183, 46,117, 91,179,124, 66, 83, 78,171,109,147,151,159,171,229,243,197, 2,119,107, 69,118, 97,186,241,255,174, - 82,169,162, 46, 92,184, 48,124,192,128, 1,226,228,135, 15,160, 46, 41,129,186,164, 24, 2, 78, 11, 59,105, 39,208,140, 10,148, - 90,141, 38, 62, 28,148,101, 82, 92,189, 30,167, 81,169, 84, 81,198, 10, 45,154,199,171,235,151,101, 97, 1,177,165, 21,196, 22, - 22,245,167, 22, 13,137, 2,179,129, 3, 7,246,235,218,181, 43, 8, 33,216,190,125, 59, 24,134, 17, 49, 12, 3,181, 90, 13,134, - 97, 80, 90, 90,138, 95,127,253, 21, 91,182,108,185, 14,224, 23,131,157,153, 86,125,225,220,249, 75, 65,239, 79, 8, 21,156,142, - 90, 15,173,154,133,130,106,138,138, 10, 13,202,213,102, 96,237, 39, 2,185,167,192,227, 75, 16, 28,208, 2,199, 15, 29, 97,160, - 85, 93, 52, 82,133,215,177, 10,101,164, 63,199,139,167, 73,176, 40,205,129,163,149, 25,228, 41, 73,232, 48,105,242,107, 89, 39, -220,221,221,193,113, 28,250,244,233, 83,227, 92,253,186, 98,171,160,160, 0, 39, 79,158, 68,215,174, 93, 17, 18, 18,130,204,204, - 76,164,164,164,224,173,183,222,170,185,230,193,131, 7,136,142,142, 70,203,150,250,141,132,249,133,154,211, 47, 50, 98,198,188, -243,206, 59,194, 91,183,110,129, 16, 2,111,111, 43, 88, 89,154,131,162,197,240,245,117, 2, 80, 57, 6,232,221,187, 55, 74, 75, - 83,180, 69, 69,228,180,129,236,238, 5,112, 76,173, 86, 63,233,213,171,151,219,211,167, 79, 49,119,238, 92,254,129, 3, 7,170, - 77,201, 8, 11,171,187,152, 66,161,208, 61,117,223,166,157,207,103, 45,180,182, 33, 18,105,179,230, 86, 14, 1,104,225,221, 23, - 0, 48, 32,244,125,180,104,229,129,210,252,216,230, 74,197,243, 17, 66,126,145,109,236,166,204, 4,233, 80,255,169,202,188, 43, -201,168,156, 58, 53, 88,237,138,228, 3,185,233,130,137, 7,143,157, 56, 51,227,173,208,183, 5, 26, 86,171,245,247, 20,216, 68, - 30, 61,149,151,153,150,254, 29,210,207,198,189,180,255,233,181,226,177,165,165,165, 48, 55, 55, 71, 92, 92,156,106,232,208,161, - 98,154,166,241,228,201,147, 26,161,229,228, 96,215,182,123,103,127,159,175, 55,252,122,206, 92, 44, 22, 15,234,221,201, 55, 33, - 57,237, 5, 33,212,115,157,214, 86,141,230,252,195,152, 7,125, 28,221, 90,241, 82,174,220,130,125,207,183,160, 82,209, 80,168, - 57,168,180,128,150, 39,132,107,251, 46,176,105,233, 11, 2,224,238,173,235, 26,149, 70,115,206,212,215,152, 96,194, 63,218,170, - 69,244,137,164,170,207,133, 0,158,135,135,135,231,215,178, 54,201, 0, 60, 0, 16, 88,117,157,172,222,239,100, 20, 69,221, 37, -132,116,174,197, 35,171, 37,184,106,127, 86,215,187,230, 65, 35, 68, 86,237,247,186, 66, 75,215,146, 74, 0,112,112,112,112,234, -208,161, 83,203,159,126, 62, 8, 66, 8, 30, 71,175, 69, 81,222, 35, 44, 91,125,179,101,147, 38, 77, 66, 50, 51, 51,175, 26,147, - 2,150,101, 15,236,220,185,115,126,151,142, 29, 58, 52,111,218, 20, 15,158,167, 66, 72, 88, 8, 89, 22, 52,163, 2,159, 85,163, -169, 63, 11,154,178, 64, 86, 86, 9, 34,246, 30,140,171,138, 18,175, 23, 62,111,189,141,149, 47, 74, 64, 81, 20,214, 5,251, 67, -100,105, 1,161,185, 5, 62, 62,113,169, 70, 92, 69,173, 92, 4,145,133, 5, 90,118, 49, 42, 32,188,252,242,229,203,247, 30, 62, -124,216,217,223,223, 31,243,231,207,199,243,231,207,193,113, 28,114,115,115,149,217,217,217,153, 50,153,236, 57,128,163, 0,126, -130, 17,145,199,133, 42,229,198,168,195,187,103, 6,247, 8,113,120,103,196, 22, 28, 59, 52, 15,197, 37,165,144,107,165,168, 80, -106, 81,161,226,193,206,190, 29,186, 4, 4, 32, 43, 51, 15,241,183,206,149,243, 85,242,181,141,185, 65, 41,138, 66,116,116, 52, -188,220, 44,145,244,199, 85, 56,152, 9, 16,232,230, 2,183,238, 61,106,226, 75,233,131,128, 7,237,248,241,227,107, 34,195, 15, - 28, 56, 48,117,226,196,137,174,243,230,205,195,207, 63,255,140,235,215,175,191,226,160, 29, 18, 18,130,107,215,174,125, 9, 96, -185, 33,163,158, 90,173,134,143,143, 15,238,222,189,139, 11, 23, 46,160,111,223,190, 8, 9, 9, 65,108,108, 44,126,255,253,119, - 68, 71, 71,131,162, 40,216,219,219, 67, 83, 41,158, 53,186,200, 24, 6,145,223,124,187,115,241,134, 13, 91,252, 38, 76,152,128, -195,135,247,227,253,169,109, 64,209, 98, 80,148, 24,111, 15,107,131,149, 95,221, 69,151, 46,189,225,224, 32,192,134,245,199,159, - 41, 20,236,175, 70, 20,227,215,191,255,254,187,155, 82,169, 68,113,113, 49,177,176,176,160, 10, 10, 42, 87,180, 54,100,209,146, -203,229, 18, 93, 68, 15,239, 39,174, 45, 46, 35, 69,164, 60,122, 68,161, 54,186, 93,223, 65, 25, 24, 16, 58, 21,231,163,126,193, -165,115, 23, 96,199,127,158, 10,243,178, 51,249,169,249,165,217, 21,222, 91,125, 59, 78,231,189,168, 56,183,117,214,219, 73, 60, - 87, 87, 46,114,209,143,165,197,250,132, 22, 0,170, 48, 97,207,137,163, 4,111,119, 11,238,210,202,223,195, 85, 84,148,159, 71, - 14, 29, 63, 19,199,164, 30, 62, 89, 75, 96, 17, 3, 66,125,101, 88, 88,216, 23, 85,159,119, 45, 93,186,116,122, 68, 68,132, 99, - 78, 78, 78,141,143, 86, 94,126,225,165,110, 67,103,177, 5,197, 37,234,157, 27, 62, 31, 45,149,136, 69, 75, 35,118, 94,209,240, -112, 75, 23,175,150,227, 54,191, 59,119,217,156,228,199,209, 77,154, 73, 69, 56,254,249,114, 60,248,253, 50, 52,180, 16,255,186, -112, 27, 42,134, 69,113,126, 1, 46, 78,251, 4, 22,206,182,216,114,229,112, 46,199,113, 63,154,186, 26, 19, 76,248,231, 66,151, - 22,161, 40,170,161, 24,123,185, 13,124,119, 87,223,239,116,240,252, 21,208, 25, 21,222,168, 37,120,249,249,249,121,215,174,221, -198,149,168,175,113, 53,234,107,196, 71, 63, 64, 86,166, 26,153,185, 74, 88, 89, 89,221,212,243,211,250,145, 99,137, 92, 46, 31, -185,116,217, 23, 57, 18,169, 25,122,245,235, 7, 23, 71, 39,152, 9, 5,224,105, 57,240, 40, 1,202,101, 54, 72,138,149, 99,225, -206, 61,121,229,114,249,200, 6, 58,137,254,186, 68, 6, 69, 81, 16, 91, 89, 66,100, 97, 9,177,165, 85,157,105, 68,137,149, 21, - 36,150, 86,224,139, 68, 13, 57,195,191,194, 89, 94, 94, 62,106,244,232,209, 69, 37, 37, 37,152, 62,125, 58,174, 94,189, 26,125, -238,220, 57,171,216,216, 88,169, 76, 38,107, 5, 96, 32,128,109,122, 68, 86, 29,206,162,162,148, 50,162, 85,141, 13,255,226, 83, -133, 82,107,143, 49,147, 15,192,156,206,128,150,229, 64, 0,184,217,137,208,189,255, 87,200, 83,119,195,129,173,171,228, 28,163, -156, 80, 47,134, 86, 29, 78, 66, 8,113,118,118,126,165, 12, 46, 92,184,128, 49,163, 71, 97,208,136,225,112,108,238, 5,167,254, -111, 97,208,244,127, 97,235,214,173,160,105, 26, 14, 14, 14,245, 59,222, 26,206,221, 49, 16,236,123, 8,106,223, 67, 80,187,162, -193, 7, 48,105,207,158, 61,223, 4, 6, 6, 94,190,126,253,250, 90, 0, 99,107,255, 87, 45,172,168,103,205,106,168,142,150,204, -153, 51, 71,145,156,156, 12,115,115,115,104,181, 90, 92,191,126, 29, 91,182,108,193,186,117,235, 16, 29, 29, 13,123,123,123,180, -108,217, 18, 42,149, 10,119,239,222, 85, 0, 88,162,135,147,147,201,180,163, 54,109,138, 40, 8, 13,237,137,157, 59,127,128,139, - 75, 55, 8,248, 46,224, 11, 28, 97,110,225,131, 29, 63,125,131, 33, 67, 58,224,196,241,131,133,249, 5,218, 81, 0,180, 70,220, - 75,202,219,183,111, 99,235,214,173, 24, 61,122,116,230,152, 49, 99,216,146,146,146, 26,139, 22, 33, 4,132, 16,172,168,242, 49, - 83,169, 84, 98, 93,156, 31, 44,140,203,252,124, 85,252,202,220,156,204,174, 87, 47,223, 28,127,233,220, 5, 60, 75,190,132, 75, -231, 46,224,143, 75, 55,194,114,115, 50,187,118, 8,106, 45, 28, 57,125,230,103,187,143, 28,230, 89, 88,185, 98,247,145,195,188, -113,179, 62, 93,213,105, 80,223, 37,134,238,249,170,122, 36,229,121,185,139, 86,175,253,190, 92,203, 40,233, 53,223,109,206, 82, -200,178,151,212,186, 47,137,161,251, 83,161, 80,108, 83, 42,149,110, 74,165,210, 77,165, 82, 45,121,254,252,121,175,249,243,231, -203, 88,150,173,177,150,202, 18, 78,220,124,244,231,174,213, 78, 14,182,210,110,157,253,218,172,223,118,232, 74,122, 70,238,111, -181, 98,104, 53,148, 78,101,185, 66, 57,106,248,200,137, 21,197, 69, 42, 4,127, 26, 6, 78, 98, 1, 21, 11,104, 8, 15, 90,138, -143,135, 95,175,135,212,206, 18,123, 83,239,203, 75, 52,204, 40,212,141,161,165, 47,239,111, 2, 19,167,137,211,196,249,247,228, -252,111,134, 43,234,238,117,232, 90,199,162,101,104, 73,101,147, 38, 77,122,189,243,118,127,244, 14, 93, 10, 66, 8, 30,221,255, - 22, 69,178,199,104,226, 34, 70, 74,122,105, 48,128,171,141, 72, 76,250,243,140,140,174,115,150, 44, 61, 50,102, 96, 63, 95,255, -230,205,197,205,154,121,194,220,201, 9,249,249, 50,252,121, 43, 65,179,106, 95,100, 92,149,200, 50,106, 98,146,227,184, 74, 39, -119, 0,253,230, 44, 4,197,227, 1, 85, 97, 28,170, 59,198,230,157,187,129,226,243,193, 18, 14, 42,149,202,152,213,114, 47,158, - 62,125, 58,106,194,132, 9, 23,163,162,162,232, 65,131, 6,181, 63,122,244,232,155,236,153,135,138,188,228,203, 0, 66, 87, 45, -154,113,160,107,223,225, 86,222,126,157,132,157,154,241,192,104, 40,100,101,166, 33,234,200, 29, 38,225,246,185, 82,162, 85,142, -149,231, 39, 95,214,199,197, 48, 76,122,171, 86,173,156,183,110,221, 90,227, 12,207,178, 44,242,243,243,113,243,230, 77,180,235, -220, 5,190, 83,167, 65, 38,147, 97,211,166, 77,240,240,240,192,176, 97,195, 80, 88, 88, 8,173, 86,107,236,132, 47, 11,224, 92, -213, 11,245, 68, 22, 85,181, 5,144,222,105, 67, 47, 47, 47,145, 82,169,108, 79, 8,225, 81, 20,181, 81,173, 86, 79, 89,180,104, -145,235,234,213,171,209,166, 77, 27,228,231,231,195,220,220, 28,222,222,222,144,201,100,184,115,231, 14, 43,151,203,183,162,114, - 35,107,153,129,244, 61,185,115, 39,181,235,236,217, 31, 31,249, 38, 98,134,183, 82,213, 91,100,103,215, 3,132,104, 33,147, 61, - 71, 89,233,117,230,171,149,191, 60,205,205,211,140, 4,144,108,100,158,151,207,156, 57, 19, 0, 36, 0,150,166,164,164,196,248, -250,250,122,235,178,104, 25,131, 13,135, 50,149, 0,246,141, 26,228, 54,183, 52, 63,214,219,142,255, 60,181,171, 63,183,105,195, -161, 76,165,149, 91,197,215,249,207,175, 38,101, 87,156,219,186,251,200, 97,222,228, 17,163,216,166, 22,201, 97, 18, 39,114,200, - 8,106, 18, 24, 24,232, 78, 81,133, 45,242, 10, 30,223,123,127,250,140,119,173,133,138,211,129, 77, 11, 90,210, 30, 29, 36,209, -209,209,169,104,228,202,208, 42, 36,101,102,102,246, 90,180,104,209, 57, 66, 72, 29,223,132,188,252,194, 75,193,161, 51, 73,113, -113, 73,140, 44,241,132, 49,177,212,238,220,185, 31,221,207,191, 93,135,195,223,172,142,112,238, 61,103, 62, 63,233,242, 21,128, -213, 32,237,234, 21,176, 98, 53,183,254,198,249,220, 18,134, 25, 1, 83, 84,120, 19, 76,248,199, 91,179,244,105,145,191, 57,134, - 66,135, 51,188,209,153,241,106,209,228, 92, 27,239,102, 3, 61,154, 58, 2, 0, 82, 82,179,144,146,154,249,123,202,179,204, 65, - 6, 20,175,174,229,149, 53,155, 74, 83, 85, 33, 28,136,113,155, 74,215,225,180,183,183,191,199,231,243,155, 54,166, 52, 88,150, -205,202,207,207,239, 96,100, 58,199, 53,111,222, 60, 34, 45, 45,237, 8,199,113,115, 27,169,246, 27,228,172,222, 84,154,230,139, -250, 19,173,186, 29, 0, 80,124,145, 49,155, 74,215,230,108,103, 97, 97,177, 77, 32, 16,120, 84,215, 99,181, 15, 22,203,178, 60, -134, 97, 36, 44,203,242, 0, 80, 52, 77,107, 5, 2,129,146,162, 40,173, 86,171, 77, 87,169, 84, 51,240, 50,224,168,190,188, 27, -236,232,171,132, 22, 26,176,104, 93, 0,128,228,228,228,214,182,182,182, 99, 41,138, 26, 77, 8,241, 41, 43, 43, 83, 45, 91,182, - 44, 58, 50, 50,178,180,121,243,230,131,135, 14, 29, 74,197,198,198, 34, 46, 46,142, 20, 20, 20, 28,170,178, 98,165, 52,242, 94, -162,197, 98,222,123,118,118,244, 80, 66, 16, 8, 2,138,162,241,176,164,132, 59, 45,151,179,191, 85, 9,198,198,222,159,213, 24, -223,172, 89,179, 95, 82, 83, 83, 5,186, 44,169,186,242, 94, 31,223, 46,241, 91, 26,220,179,231,168,155,127,252,113,244,243, 85, -241, 43,107,159,155, 53,220,246,253,113,159,204,249,118,223,230,239, 62,255,254, 88,209, 78, 99,210,217,190,125,123, 47,138,162, -198, 2,240, 39,132,180, 34,132,146, 80, 20, 41,162, 40, 42, 30, 64,172, 90,173,142, 74, 72, 72,120,241, 6,121,127,157, 17,174, - 46,206,154, 77,165,193,178, 1, 44, 64,140,220, 84,250,255, 59,157, 38, 78, 19,167,137,243, 63,199,249,223,140, 15, 27,248,206, -184,200,240,213, 72,121,150, 57, 40,229, 89, 38, 90,181,106, 69,158, 60,121,210, 40,145,166,171,147,102, 89,118,191, 92, 46,223, -255, 38, 36, 5, 5, 5,157,254,205,133,183, 47, 53, 53,117,223, 95, 73, 88, 37,164, 86, 86,189, 94, 23, 15,203,203,203,187, 24, -123, 49,195, 48,255,142,178,161,170,172, 89, 95,234,186, 96,224,192,129,105, 12,195, 92, 0,144, 65, 81,148, 13,128, 66,134, 97, -206,105,181,218,220, 39, 79,158,116, 90,191,126,125,117,228,251,175, 0,220,123,205,116,112, 42, 21,187, 55, 43,139,221,251,111, -200,227, 94,181, 90, 61,207,222,222,190,165, 82,169, 20, 41,149, 74, 97,237,197, 7, 82,169, 84,166,207, 33,190, 54,108, 44,169, - 93, 66,126,145,189,141, 37, 85, 95, 72,193,174, 9, 14, 43, 42,226,218,216, 53,193, 97, 99, 19, 22, 19, 19,147, 18, 24, 24,184, -135,166,233,230,132, 16,103,128, 88, 19, 2, 25, 33, 36,159,207,231,103, 38, 36, 36,100,254,141, 26, 33,165,150,227,214,106,213, -234,151,126,135,166,213,133, 38,152, 96,194,255, 14,116,250,104,241, 27,203,244,228,201, 19,202, 84,158, 38,212, 22, 91,250, 78, -166,165,165,169, 0,220,168,122,213,199, 61, 0,195,254,238, 25,204,206,206,238,160,235,156,177, 34, 11,168,244,217, 2,226, 26, -140,206,190,226,251,162, 50,124,127,228,179,198,166,237,193,131, 7,233, 48,114,138,221, 4, 19, 76, 48,193,132,127, 27,222,220, -162,101,130, 9, 38,152, 96,130, 9, 38,152, 96, 66,131,216, 94, 75,112,213,177,110, 81,208,189,114,160, 49,115,175,175,179,250, -224,130,137,211,196,105,226, 52,113,154, 56, 77,156, 38,206,127, 28,231,255, 42, 94, 17, 89,255, 31, 48, 45,125, 53,113,154, 56, - 77,156, 38, 78, 19,167,137,211,196,249, 79, 16, 89,245, 95, 0, 76, 83,135, 38,152, 96,194, 63, 24,145,145,145, 70,109, 42,250, -222,231, 59, 66, 45, 44,108,151,149,151,150, 68,236, 95,251,254,209,234,239,199,140, 25,195,154, 74,209, 4, 19, 76,192,235, 56, -195,183,104,209,180, 45,205,114,221, 9,161,121,132, 38, 26,170, 84,113, 32,165,168,168, 78,216, 1,119,119,119, 27, 1,141, 97, - 20, 33,230, 20,197,177, 28,143,190,254,236,217,139,132, 70, 36, 76,100,107,107, 59, 83, 40, 20,246, 87,171,213, 77,105,154,126, -161, 82,169, 46,200,229,242, 31,240,106,224,194,255, 24, 90,183,110, 61,238,202,149, 43, 54, 61,122,244, 80, 73,165, 82,173, 66, -161,224,159, 61,123, 86, 60,100,200,144,226,167, 79,159,190,214,138, 68, 55, 55,183,190, 59,118,236,104, 49,104,208, 32,180,106, -213,170, 98,236,216,177,194,224,224, 96,225,244,233,211,159,101,101,101, 93,106, 36, 93, 91,138,162,126,165, 40,138,199,113,220, - 36,188, 12,221,240, 87,131,166,105,122, 6, 69, 81, 35, 8, 33, 94, 20, 69,165, 16, 66,142,114, 28,167, 47,112,171, 62,140, 2, -240, 22, 77,211, 29, 0,128,227,184,104, 0,167, 1,227, 87,222,253,127,114,154,153,153,181, 7, 0,185, 92, 30,243, 87,113, 82, - 20,213, 30, 0, 8, 33,175,203, 57, 85, 42,149,126, 0, 0, 10,133,226, 39, 24,177, 29, 84,125,144,173, 62,164,195,151,143, 0, - 0,209,203,125, 0, 0,141, 57,166,254,245,136,106,204,127, 53,196,215, 24,142, 6,240,214,132, 9, 19, 86,255,246,219,111,203, - 1, 28,255,119,220,248, 46, 46,238, 63,172,251,110,187,219,167, 51,167, 69,160,114, 71, 8,253, 15, 36, 48, 64,196,227,189,173, -102,217, 63, 18,128,255, 99,239,186,227,162,184,186,246, 51, 51, 59,219,119, 97,119,169, 75, 17, 5, 5, 17, 80,192,130, 61,162, - 38, 26,187, 70, 44, 81,177,196, 22,163, 38, 70,141, 26, 53, 26,107,140,137, 61,182,216,123,141,130,189,247,138,198,138,157,222, -251,194, 46,219,103,190, 63, 96,121, 81, 41,139,154,188,201,251,113,126,191,113,156, 97,230,217,123,239,220,242,220,115,207, 61, -103, 47, 0,142, 66,161,232,207,227,241, 90,235,245,122, 37,135,195, 73,209,235,245, 23,243,242,242,118,162,130, 8, 8, 86,151, -235, 99,200, 13, 26, 56, 19,204,127,226,188,177, 36,116, 92, 17, 82,137,122,200,249, 7,116,163, 36,128,241,197,121,221,128,242, -221,121, 84,212,249,124,237,226,226,210, 83,165, 82,105, 40,138, 98, 81,180,235,185,232,159,162,191, 19, 12,195,164,103,103,103, - 15,170, 12, 75, 92, 3,117,121, 98, 98,171,217,136, 66,147,142, 29,173, 78, 64,180,196, 29,205, 89, 96, 16, 11,212, 34, 41,210, -129, 97,152, 20, 0,103, 73, 19, 34, 10,146,241,252, 31, 58,184,123, 20,151,107,205,226,107, 26,128, 19,128,123, 0,190, 6, 80, - 80,205,127,254, 54,121,211, 24,254, 8,128,148, 18,162, 85,202,221,125,155, 46, 93,186, 92,240,244,116,243,235,221,163,215,252, - 81, 35, 71, 19, 20, 69,226,193,195,135,156,207, 7, 13,249, 68, 46,151,187, 74,116,186,122, 32, 8, 70, 35, 16, 60, 80,169,242, -146,246,238,220, 46,245,173, 91,215,108, 54, 51, 88,179,118,245,167,251,254, 56, 48,205, 74,178,229,227,236,236,188,117,202,148, - 41,206,221,186,117,163,156,157,157, 17, 27, 27, 43,219,181,107, 87,221, 21, 43, 86,244,201,201,201, 25, 4,224,233, 59,100,182, -149,179,130,252, 68, 42, 36,218, 33,223,140,124, 35,206,164, 22,226, 36,128, 75,239, 90,122, 26,141,102,172, 70,163, 9,105,220, -184, 49,187, 97,195, 6, 98,240,224,193, 44, 65, 16, 68, 97, 97,225,102, 0,239, 68,180,196, 98,241,170, 14, 29, 58,120,123,123, -123,191,124,241,226, 69,167, 61,123,246, 28, 13, 15, 15,247, 18,139,197,207, 0,248, 84, 17,110, 83, 86, 86, 86, 96, 97, 97, 33, -220,220,220, 54, 0,104,248, 23, 84, 34,130,162,168,131,174,174,174,236,162, 69,139, 14, 5, 6, 6, 58,101,103,103,155, 38, 77, -154,212,254,250,245,235,159,154,205,230,110, 85, 32, 91,114,130, 32,214, 58, 57, 57,217, 47, 92,184,240,121,163, 70,141,238,241, -249,124,222,179,103,207, 68, 19, 38, 76,248,230,233,211,167,125, 88,150, 29, 9, 84,105,128,144, 19, 4,177,214,197,197,197,126, -254,252,249,177,193,193,193, 15,184, 92, 46,247,217,179,103,226,239,190,251,238,235,232,232,232,119,194, 36, 73,114, 77, 72, 72, -136,252,135, 31,126,120, 92,183,110,221,171, 20, 69,241, 18, 19, 19,201, 89,179,102,125,117,234,212,169, 48,134, 97, 70,189, 75, - 58, 29, 29, 29,229,179,102,205,122,220,172, 89,179,235, 92, 46,151,251,228,201, 19,114,202,148, 41, 95, 61,127,254,220,234,116, - 42, 20,138, 80,130, 32,214,165,166,166,114, 0, 64,169, 84, 54,177,177,177, 89, 81, 58,166,165,197, 21,133,209,104,204,215,106, -181, 3,178,179,179,203,116,132, 59,120,234,242,174, 0,176,194, 96,185, 46, 58, 87,118, 13,172,137,176, 38,211, 65,206, 69,126, -241,126, 81, 15,237, 1, 0,253,139, 67,133,255,162, 6, 56, 28, 14, 19,228,252, 53,123, 55,181, 74, 46, 99,186,183,109,219,118, -214,217,179,103, 87,183,105,211,230,187,109,219,182, 57, 38, 36, 36,252,116,233,210, 37,247,126,253,250, 13, 62,115,230,204,130, -204,204,204,125, 31,170,242,243,184,124, 62, 65, 18, 16, 10, 68, 54,214, 60, 79,147,100,151,171,221,187, 15, 95,255,228, 73,240, -138,232,104, 79,181, 82, 25, 50,110,220, 56,167, 94,189,122,145,238,238,238,120,254,252,185,221,182,109,219,234,173, 95,191,190, -103,110,110,238,120, 0,113,239, 67,178,212,185,168,175,211, 35,152,101, 33, 43,105,176, 4,114,249, 6,220, 97, 31,227,254, 63, -128,108,205,220,180,105,211, 15,207,159, 63,199,130, 5, 11, 0, 96,101, 21,223,159,208,189,123,247,206, 7, 14, 28, 16,238,221, -187, 87,216,184,113, 99, 56, 59, 59,163,120, 50, 85,226,152,218,211,211,211,186, 50, 99,240,203,210,163, 67, 27, 62,200, 62,134, - 85,189, 82, 23, 8,221, 96,106,222,221,187,103,151,193,193,176,117, 16, 65, 32,225, 32, 55, 75, 21,240,228, 78, 66,135,115,123, -158,255,244, 60, 42, 99,161, 58, 30, 51, 81,190, 79,190,255,138,216,217,217,109,120,245,234, 85,168, 88, 44,126,237,254,203,151, - 47,131,188,189,189,243, 0,124, 91, 85,226,230,224,224,176,131, 97, 24, 93, 86, 86,214, 48, 0,144, 74,165,219,197, 98,177, 60, - 37, 37,101,218, 95, 53,145,177,200,155, 92,228, 95,174,209, 42,177,215, 42, 43,214, 33, 65,154,153, 22,163, 70,142, 38,250,246, -239,151,250,252,229, 43,134, 67,243,250, 31, 63,113, 66,228,231,231, 71,234, 86,174,132, 41, 35, 3,198,111,190,105,126,250,244, -105, 99, 88,255,129,133, 52, 69,108,242,242,172, 37,218,189,115,151,243,129,253,251, 90, 0,168,140,104,241,156,157,157,183,158, - 63,127,222,213,211,211, 19,185,185,185,136,141,141,133, 90,173, 70,159, 62,125,232, 22, 45, 90,184,246,238,221,123,107, 94, 94, - 94,203, 42,104,182,156,234,184,113, 34, 71, 14,233,229,243,233, 39, 45,196,174,238,181,193,166,106,145,240, 34,186,113,228,249, -235,227, 54,237, 63,250,244,121, 30,219, 5,101,199, 70,170, 80, 50, 51, 51, 39,247,236,217,115,127,104,104,168, 3,159,207,135, -139,139, 11,209,173, 91,183,244,228,228,228,217,239,204, 90,138, 67,216,144, 36,105, 46,125, 46, 35, 60,144, 53,226, 38,151,203, - 33,151,203, 1,192,245,125,103,158, 50,153,108,165, 84, 42,237,173, 82,169, 10, 73,146,100, 9,130, 96,245,122,189, 80, 46,151, -255,249, 56,250,169,139, 78,167,171,179,120,233,250,101,109, 91, 5,218,156, 58,117, 10,189,122,245, 98, 79,158, 60, 57,210,218, - 56,117, 4, 65,172,237,217,179,167,102,198,140, 25,218,231, 47, 99, 93, 31, 63,125, 73,136, 5, 60,198,222,222,158,190,121,243, - 38,103,201,146, 37,130, 89,179,102,173,101, 89,182,119, 21,202,115,109,191,126,253, 12, 19, 39, 78, 76,121,242,252,149,227,253, -199,207, 89,137,128, 54,217,219,219, 81,215,175, 95,103,222, 5,147, 36,201, 53,147, 39, 79, 86,141, 28, 57, 50, 39, 43, 59,207, - 57, 71, 85,192,242,105,202,232,236,236,204, 57,116,232,144,110,199,142, 29,228,240,225,195,215, 48, 12, 19, 86,133,242, 93,211, -173, 91,183,252, 41, 83,166,228, 62,123, 25,227,124,255,209, 83,136,248,180,209,201,201,145,186,117,235,150, 97,241,226,197,228, -220,185,115,173, 74,167, 88, 44,222,178,103,207, 30,206,161, 67, 69,125,223,181,107,215, 72, 47, 47, 47, 81,233,103, 10,181, 58, -144, 4,144,153,153, 41,106,214,172,217, 22, 0,111, 57,247, 13,158, 29,141,193, 83,129,177, 99,199,166, 84,181,178, 4, 43,199, - 85,250,140,121,181, 47,187, 68, 51,180, 7,135,195, 97,134, 15, 31,158,250,230,223,181, 90, 45, 1,160, 27,126,178,158,108,117, -234,212,233,251, 35, 71,142,212,222,182,109,219,175, 59,118,236,208, 3,128, 64, 32,176,223,181,107,215,130, 62,125,250,160, 79, -159, 62, 51,246,237,219,247,193,136,150,153, 53, 27, 0,128, 47,224,243,163,163,163, 9, 95, 95,223, 10, 61,238, 27, 24,230,246, -250, 39, 79, 26,125,233,235,219, 56,155, 97,234,112, 63,253,180, 96,194,132, 9,153, 42,149, 10,177,177,177, 48, 24, 12, 24, 60, -120, 48,213,166, 77, 27,151, 62,125,250, 44,207,207,207,255, 12,128,193,138, 58,185,216,213,213,117, 68, 94, 94, 94,129, 69,171, -211,114,144,153,211, 58,200,196,111, 80,199,200,227, 82, 38,110,215,111, 24,226,228, 74, 66,237,235,137,203, 0,192,213, 32,163, -138,147,129, 50,197,198, 13,158,102, 26,115, 29,220,132,109, 51,226, 10,127, 84,199, 87, 72,150, 62, 19,139,197, 61,212,106,245, -190,226,193,217,167, 75,151, 46,184,126,253, 58, 0,180, 40, 38, 90,109, 73,146,252,156, 97,152,223, 1, 84, 20,202,109, 92,247, -238,221, 63, 62,112,224,128, 20, 0,246,237,219, 7,163,209, 8, 47, 47, 47,112,185, 92,240,120, 60,208, 52, 93, 18, 29,196, 74, - 81, 58, 56,216,195,222,150,134, 92, 33,254,244,187,223,186,115,106,248,217, 32,221,252, 16,217,108, 46, 76,172, 14, 92, 59, 49, -234,118,144, 33,248,147,182,100,196,154, 7,211, 34, 86, 61,110,164, 33,209, 21,113,208,253, 83, 70,118,146, 36,249,247,238,221, -131,139,139,203,107,247, 41,138, 2,128,214,239, 0, 57,227,229,203,151,205,162,162,162, 16, 26, 26, 58,163,126,253,250, 29, 47, - 92,184,224,156,149,149,133,208,208,208,229,137,137,137,135,254,234, 60,149,230, 34,255, 43,170, 46,242, 13, 38,217,166,104, 22, - 76, 82, 20, 69,226,213,203, 88, 99,104,104,187,240,248,248,120, 73, 72, 72, 8, 73,211, 52,212,103,207, 66,123,235, 22, 36, 18, - 9,122,246,236, 73, 95,188,120,209,198, 70, 98,243, 69,204,171,152,124,138, 34,193,178,100,165, 54, 15,114,185,252,171,105,211, -166, 57,123,123,123,195,100, 50,149,120, 52, 55,153, 76, 72, 72, 72,128, 68, 34,193,160, 65,131, 28, 69, 34,209, 87, 86,230,163, -166,143,151,227,157,243, 71,215, 54,156, 48,170,147,216, 71,116, 10,226,132,241,144,236,251, 18,245,146,143, 99, 74,143, 16,241, -201, 85, 51,130,107,187, 40,238,148, 82,177, 90, 45, 58,157,238,242,131, 7, 15,190,184,112,225, 2, 3, 0,231,206,157, 99, 31, - 63,126, 60,242,125,102,161, 12,195, 32, 55, 55, 23, 12,195, 80,197,215,150,243,127,181, 62,216,216,216,172,233,216,177, 99,191, -184,184, 56,225,177, 99,199,236,226,227,227,237, 99, 98, 98, 28,124,124,124, 56, 11, 22, 44, 56,162,213, 25, 40,163,153,213,155, -204,198,252,148,135, 15, 95,230,164,165,221,217,184,113, 99, 33, 65, 16, 61,173,252,141,207,148, 74,165,221,212,169, 83, 65,208, -162, 38,117,235,213,247,166,104,161, 45, 73,243,108, 11, 11,181,230, 87,175, 94, 37, 76,157, 58,181, 86, 96, 96,160, 11,138,150, -215,172,194,116,113,113,177,159, 56,113, 34, 56,124,105, 80,131,192,224,218, 60,190, 88, 74,209, 66,105, 72, 72, 72,155,151, 47, - 95, 38, 79,153, 50, 69,217,184,113,227, 42, 97, 54,110,220, 88, 62,124,248,112,147, 64, 40,109,230,233,233, 85,175,129,127,189, -206, 62, 62, 62, 61, 56, 28,142, 41, 35, 35, 35,110,208,160, 65,202,174, 93,187, 58, 85, 5,211,209,209, 81, 62,101,202, 20,147, -187,135, 87,135, 14, 31,127,210,148, 43,148,218,114,120, 98,153, 70,163, 53, 63,121,242, 36,110,250,244,233,202,160,160, 32, 71, -107, 48, 53, 26, 13,109,111,111,143,128,128, 0,248,121,121, 33, 47, 47, 15, 7, 14, 28,192,166, 77,155,240,251,239,191, 99,231, -206,157,104,212,242, 19, 72,165, 82, 36, 39, 39, 67,165, 82,209,127,119,133, 50,175,246,101, 87,232, 71,116, 27, 61,122,116,242, -240,225,195, 83,133, 66, 33,243,230,161, 80, 40,204, 3, 6, 12, 72, 27,244,221,210,110,150,165,197, 74, 52, 89,247,142, 30, 61, -250, 98,219,182,109,240,243,243, 67,135, 14, 29,120, 0,240,213, 87, 95,241,250,244,233,131, 61,123,246, 96,223,190,125,143,188, -189,189,175, 0,232,110, 77, 58, 7, 13, 26,212, 50, 44, 44,236, 82, 88, 88,216,221,190,125,251,174, 27, 57,114,228,107, 35, 87, - 74,114,226,109,189, 94,143,192,224,198,162, 57, 27,110, 12,168, 12,239, 49,176,109, 93,116,244,166,133, 15, 31,198,205,240,243, -147,121,196,196, 40, 54, 47, 94,108,111, 9,210,109, 52, 26,145,144,144, 0,185, 92,142, 1, 3, 6,216,243,249,252, 65, 86, 36, -115, 73,247,238,221,135,196,199,199, 75,214,175, 95,175,188,123,247,174, 75, 74, 74,138,242,204,233, 19, 14,147,190,253, 74,106, - 43,225,241,146, 51, 88, 2, 0, 98,146, 33,142,126,133,150, 44, 11, 89,233,229,196,119, 18, 37,132, 66, 55,172,168,221, 82,246, -116,226,158,160,190, 83, 34,131,237,229, 74,254,212, 10,222,104,176,104,209,162,189, 17, 17, 17,253, 91,182,108,185, 31,128,176, -140,103, 4,141, 26, 53, 58,176,103,207,158, 33,173, 90,181,186, 12, 32,160,220, 89,164,155, 91,207, 63,254,248,195,206,114,109, -111,111, 15,129, 64,240, 22,201,226,114,185, 32, 73,178,202,217,155,183,171, 63, 71, 81, 79,135, 7, 57, 71,177,103,209, 61, 44, -250,244, 9, 51,191,121,140,110,229,160,104,156,220,115, 15,233,184,135, 78, 95,214, 70,255,233,129,237, 69,102,204,253, 39, 13, -224, 25, 25, 25,159,183,110,221,122,111,167, 78,157,116, 81, 81, 81,200,200,200,128,171,107,201, 92, 59,245, 29, 32, 21, 34,145, - 8,238,238,238,240,246,246,238,127,241,226, 69,103,163,209,136,152,152, 24,164,167,167,223,249, 59,242, 84,154,139,252,203,228, - 77, 67,248, 35,111, 17,173,226,216, 66,231, 1,128, 37, 8,245,189, 7, 15,104,138,199, 27,184,125,199, 14, 62,151,203, 69, 92, - 92, 28, 30, 61,122, 4,205,153, 51, 40,188,122, 21,105,105,105, 40, 40, 40,128,147,147, 19,214,110,216, 32,214,155,217,161, 79, -158, 62,165, 88,146, 45,109,111, 80,230, 22, 79, 62,159,223,190, 87,175, 94,229, 18,178,228,228,100,116,234,212,137,166, 40,170, -172, 93, 13,111, 98, 18, 46, 14, 68,196,153,253,115,148, 74,222, 35,224,249, 4, 32,255, 14,192,234, 0,147, 30, 72,186, 15, 28, -153, 13,143,130,104,226,196,156,112,103, 87, 17, 39,162, 12,166, 92,217, 86, 84, 47, 95, 95,223,223, 7, 14, 28, 72, 2, 64,219, -182,109, 9, 95, 95,223,117, 0,188, 42,120,231,116, 37,131,228,245,156,156, 28,244,233,211,199,174,118,237,218,167,251,244,233, - 99,103,185,255,174,152, 22,109,178,159,159, 95,150, 64, 32,216, 9, 88,213,193,150, 96,202,100,178,149,157, 58,117,234,189, 99, -199, 14, 46, 0,156, 63,127, 30, 17, 17, 17,120,248,240, 33,158, 61,123,198, 4, 7, 7, 59, 44,253,125,239,154,149,171,183, 44, -233,209, 34,208,165, 77,147,224,122,146,130,156, 2, 39, 39,167, 22, 44,203,122, 89,153,206, 78,179,103,207,126,244,248, 69,156, - 45,201,161, 57, 92,154,195,183,177, 17, 59,201,165, 98, 55,133, 72,224,202, 39, 9,137, 70,163, 73,221,185,115, 39, 3,160,147, -181,152,115,230,204,121,245,248,121,156,140, 32, 57, 28,154, 67,115, 37, 18,145,236,211, 14,161,141, 1,128, 11,150,171, 82,169, -210, 54,109,218,100,168, 10,230, 15, 63,252,240, 32, 59,183, 64,206,161,105,154,195,161, 74,202, 82, 44, 20, 58,136,248,124,158, - 78,167, 75, 90,182,108, 89, 97, 85, 48,103,207,158,253,232,201,139,120, 5, 73, 16, 20, 65,144, 28, 27,169,216,206,206, 86,228, -224, 32, 17,218,139, 56, 20, 79,165, 82, 37,109,221,186,213, 42, 76,131,193,192, 77, 75, 75,195,227,199,143,225,222,184, 49, 78, -157, 58,133, 26, 53,106,160, 79,159, 62,232,215,175, 31,132, 66, 33,218, 54,171,143,169, 83,167,226,197,139, 23, 48, 24, 12,252, -178, 48, 45,118, 82,111,138,139,139, 75, 84,101,149,231,141,119, 95, 75,103,144, 51,216, 21,250, 17,221, 74, 19,172,242,240, 21, - 10,133,185, 44,109,215,155,152,157, 58,117,250,254,204,153, 51,181,183,110,221,218,109,208,160, 65,151,183,110,221,138,166, 77, -155,226,241,227,199,168, 85,171, 22, 54,111,222,140,126,253,250, 93, 94,190,124,121,183,168,168,168, 64, 79, 79,207,105,149, 97, -246,237,219,119, 76, 80, 80,208,217,212,212,212,102,217,217,217, 1, 7, 14, 28, 24,218,179,103,207, 87,253,251,247,111, 87, 66, - 24,141,198, 29, 71, 14,239, 71,231,110,189, 80,215, 63, 96,205,224,105,219,234, 87,210, 54,217,135,192,186, 77, 41, 41, 25, 59, -180, 90, 77, 31,154, 22,137,110,220, 80,236, 91,189,218,190,116,100,129,164,164, 36,116,237,218,149,230,114,185,173, 42, 73,231, -162, 30, 61,122,244, 57,112,224,128,220,162,213,185,122,245, 42,238,223,191,143,216,216, 88,228,230,230,162,221,200, 2,140, 94, - 80,132, 61,122, 1,139, 79,190, 98,197,239,216,135,148,136,176, 6,156,237,108, 56, 87,134, 46,171,251,213,136, 53,126, 28,137, -130,198,246,239,158, 33, 51, 70,183,175, 28, 76,162, 89,179,102,219,194,194,194, 8,189, 94, 15,189, 94,175, 7, 80,166, 87, 95, - 87, 87, 87, 65,131, 6, 13, 48,114,228, 72,210,198,198,102,121,121,233, 84,171,213,186,163, 71,143, 98,208,160, 65, 24, 63,126, - 60,234,212,169, 3,185, 92, 14,154,166,177,101,219,110,251,126, 67, 71,249, 52,108,217, 58,208,175, 97,211, 6,249, 58,170, 49, - 45,148, 15, 47, 71, 27, 82,102,222, 11, 28,163,240, 32,230, 26, 86,116, 75,100,110,110,214, 20, 76,250,252,231,232, 39, 23,210, - 30, 78, 11, 91,247,128,189,214, 60,115,219,215,241, 72, 51, 62, 70,171, 62, 30,240, 12,146,127, 35,118,135,239,187,150,167,149, - 82, 37,204,250,245,235,183,188,121,243, 38,191,117,235,214,136,139,139, 3, 77,151,204,167,204,239,147,206,217,179,103,243,181, - 90, 45,254,252,243, 79,132,135,135, 39, 25, 12,134,111,222, 39,157, 85,209,104, 89,184,200,191, 76,214,189,113,164,148,167,209, -154, 13, 0, 70, 6, 17, 3,195,135,106, 34, 35, 35, 69, 60, 30, 15,113,113,113, 72, 73, 73,193,150, 77,155,204,109, 29, 29,243, - 59,184,186,170,182,108,218,196,234,245,122,176, 44, 11, 95, 95, 95,244,238,221, 91,248, 89,159,254,233,132,170,112,183, 21,203, - 60, 74,203,250,250,208,161, 67,223,250,251,164, 73,147, 96, 99, 99, 3,130, 32,156,173,200, 92,216,184,217, 61,220,228,158,178, - 52, 54,117, 75, 54, 40, 1,192,145, 2, 28, 27, 64, 96, 11,240,165, 0, 79, 4, 93,212,217,108,146,237, 16,219,171,213, 48, 87, - 0, 85, 89,234,129,139,139,203,140,179,103,207, 58, 68, 69, 69,177, 42,149, 10, 41, 41, 41,236,252,249,243, 29, 92, 92, 92,102, -188,235, 23, 73, 78, 78,158,211,185,115,231,180,240,240,112,219,227,199,143,187,135,135,135,219,118,238,220, 57, 45, 57, 57,121, -206,251,124,105, 46,151, 75, 61,124,248, 80, 49,119,238,220,126, 0,110,251,251,251,103,185,186,186,222, 70,145,209,100,133, 34, -149, 74, 75, 72,150, 69,187,198,225,112, 64,211, 52, 92, 92, 92,244,217,217,217,230, 86, 13,189,132,190,182,164,209,133,207, 21, - 42,132, 2, 55,169,141,109, 72, 86, 86,214, 61,130, 32, 94, 90,185,196, 23,212,164, 73, 19,218,204,210,204, 15, 12,241,165, 0, - 0, 32, 0, 73, 68, 65, 84,232,129,109, 93,190, 26, 18,234,248,219,220,225, 53,150,205, 25,225,186,104,214, 23,190,115, 38, 15, - 8, 37, 25, 70, 91,171, 86, 45,103,139, 65,187, 21,234,243,224, 70,141, 26,113, 24,208,120,252, 52, 54, 45, 46, 49, 41,255,227, - 54,205, 74, 52,151,126, 65,193, 29, 28, 28, 28, 90,251,250,250, 54, 34, 8,194,170, 45,201, 66,161, 48,168,110,221,186, 28,146, -162, 9, 59,185,212, 93, 42, 17, 58,149, 44,161,200,100,205, 21, 14, 14, 97, 36,203,230, 41,149, 74, 71,161, 80, 24, 84,133,188, -115, 24,112,225,228,168,176,117,176,151, 73, 58,132,182,168,211,172,121, 51,159,250, 33, 77,155,249, 55,108,244, 25, 97, 50,169, -188,188,188, 28, 45, 70,242,149,104, 90, 5, 59,118,236,192,220,185,115,209,192,195, 3,174,174,174,112,116,116,196,213,171, 87, -113,243,230, 77,200,229,114,164,167,167, 99,241,226,197, 56,120,240, 32, 12, 6,131,180,170,245,201, 26,178, 85,145,152, 76, 38, -242, 77,130, 85, 30,190, 80, 40,100, 44, 70,242,229,201,209,163, 71,183, 89, 52, 89, 95,127,253,117,203,165, 75,151, 94,142,142, -142,134, 68, 34,193,205,155, 55, 49,116,232,208,203,203,151, 47,111, 57,106,212, 40,108,218,180, 9,175, 94,189,218, 80, 17, 94, -223,190,125,103,125,241,197, 23,203, 46, 92,184, 64, 58, 57, 57, 65, 46,151,163, 71,143, 30,216,176, 97, 3,199,100, 50,109, 12, - 11, 11,187, 27, 22, 22,118,215,156,112,242,251,189,191,207,191,250,224,222, 93,140, 25, 55,145,167, 55, 25,167, 88,145,125,182, - 80, 34,201, 55,181,110,157,189,199,104,212,244,229,114, 69,182,119,239, 42, 34, 54,110, 44, 33, 91, 83,167, 78,133,173,173, 45, - 80,100,192,140, 10,180, 58, 35, 14, 30, 60, 88,210, 31,218,217,217,129,199,227,129,203,229,130,166,105, 80, 20,133,211,107,196, - 88, 61,181,136, 95,172,158, 74,224,228, 74, 66,253, 62,223, 78,228,138, 0,185, 19,239,238,151,155,253, 3, 3,218,217,225,234, -174, 84,204,239, 28,149,120,115, 79,198, 4,109, 58,126, 41,231,181,134,147, 38, 77,242, 75, 79, 79,199,173, 91,183,112,235,214, -173,242, 52, 64,218,195,135, 15,255, 84, 80, 80, 0, 79, 79, 79,116,239,222,189, 53,128,198,229,180, 27, 52,106,212, 8, 93,187, -118, 69,104,104, 40, 26, 52,104, 0,189,193, 68,135, 13, 28, 81,247,225,171, 12,215,249,139,231,139,206,158, 59, 64, 94,190,124, -129,218,182,255,164,109,179,208, 79,150,113,165,202,235, 16,218, 41,173,201,167,198,156,133, 32,229,167, 88,119,102, 28,185,226, -124,184,100, 75,196, 10, 47,169, 84, 74,220,185,117,215,184,101,213,158,248, 0,113,247,244,235,187,178,160, 33, 82,209,110,136, - 39,201, 0,189,255, 41, 35,187, 64, 32, 88,122,225,194, 5,103,131,193,128, 7, 15, 30, 96,252,248,241,218,247,132, 44, 81,128, -184,187,187,227,252,249,243, 24, 48, 96,128, 54, 45, 45,237,218,223,149,167,210, 92,228,127, 69, 56,165, 24,100,137, 36, 36, 36, -228,202,229,114,215,186,117,235,146,122,189,190,104, 73, 98,223, 62,243,239, 27, 55, 30,209,106,181,227, 0,112, 87,254,246,219, - 26, 87, 55,183,208,129,131, 6, 17, 70,163, 17,157, 59,119,230, 69, 70, 70,218,189, 76, 79,207,183, 98,192,121,237,247, 6, 15, - 30,140,165, 75,151, 2, 0,198,142, 29, 91,162, 90, 39,172, 48, 88,146,216,162, 83,135, 46,141,108, 18,196, 43,108, 12,205,141, - 5, 53, 95, 72,175,139, 11,132,141, 64,242, 56, 16, 80, 96, 12, 70,211,179,244,158,183, 95, 60,171,231, 39,204,206,170,213,222, -255, 35,252,126,106,107, 39,141, 89,187,199,234, 14, 71, 36,106, 34,145, 72,112,251,246,237,236, 70,141, 26,229,178, 44,107, 59, -103,206, 28,123,145, 72,212,228, 61,202, 62,230,233,211,167,173, 91,180,104,241, 21, 73,146,237, 25,134, 57,157,150,150,182, 18, - 64,140,149,239,143, 6,240, 3,128,146,153,165, 94,175, 7, 73,146, 96, 89, 22,125,251,246,197,212,169, 83,253,238,223,191,143, -179,103,207, 42,218,183,111,127, 29, 64, 46,128, 97, 0,202,212,154,169, 84,170,194,155, 55,111, 10,207,158, 61, 11,134, 97,160, - 80, 40, 96, 99, 99, 3, 62,159,143, 30, 61,122, 72,166, 76,153,210,238,196,137, 19,233,170,154, 53, 40, 65, 74,146,154, 47,145, - 72,225,236,218,106, 84,255,207,163, 89,150, 61, 88,133,206,129, 39,228,152,180,132, 89, 71, 46,154,185,156, 20,113,185,132,128, -203, 1,159,209,224,251,159,230, 17, 92,214,204, 65, 21,215,231,185, 92, 46, 87,202,135,158,226, 81, 70, 17, 1,246, 67, 52, 14, -138,162,120, 2,110,249,246, 24, 52, 73,146, 36, 73,114, 1, 88, 29,180,143,207,231,115,165,124,182, 92, 76, 33, 69, 80, 4, 65, -240, 80,206, 78,180, 32,103,176, 22, 45, 18,111,220, 75, 93,105, 82,220,170, 85, 43, 28, 57,123, 27,251, 34, 78, 35, 51,238, 30, -166,127,247, 53, 26, 55,110,140,200,200,200, 10,211,100,177,209, 42, 79,187,236,226,226, 18,149,156,156,220,176,188,119, 43, 90, - 50, 44, 71, 75,245, 54,254, 76, 91, 4,207,142, 70, 37, 54, 90,221, 91,181,106, 53,102,199,142, 29,250,142, 29, 59,242,250,246, -237,139,128,128,128,150, 67,134, 12, 1, 0,180,111,223, 30, 75,151, 46,109, 57,100,200, 16,236,222,189, 27, 7, 14, 28,208,181, -105,211,230,187,243,231,207, 39,161,104, 71,231, 91,194, 48, 76,215,181,107,215,190,169, 41,132,201,100,130,209,104, 84,154, 76, - 38,101,113, 95,132,101,203,150,103,158, 60, 17,137,239,166,205,134,163,131,115,144,149,117,136, 24, 60,113, 98,230,230,197,139, -177,120,247,110, 76,172, 85, 75,180,245,209, 35,156,212,106,177,231,236,217,204,226,223,169,212, 54, 83,173, 86, 23, 30, 61,122, -212,102,207,158, 61,144,201,100,168, 83,167, 14, 20, 10, 5,104,154, 6, 73, 9, 65,113,229,168,235,223, 4,192, 77, 0, 64, 45, - 23,168,125, 61,113,153, 32,144,203,146, 85,183, 41,226,215, 64, 77,123, 55,193,133, 49,155, 2,100, 54,142, 92, 28, 95, 25,143, - 19, 43, 18, 14,106, 51,241, 43, 76,120,130,242,109,190, 26,121,122,122, 34, 61, 61, 29, 71,143, 30, 85, 3,229, 18, 50, 48, 12, -243,211,111,191,253, 54,105,218,180,105,124, 95, 95, 95, 0, 8, 2,112,171,172,103,197, 98, 49, 92, 93, 93, 75,136,101,223,240, - 81, 94, 35, 39,140, 18,246,252, 36, 20, 28,142, 61,114,213, 70,100,229, 27, 33,183,151,224,187, 9, 97,130,211,141, 92, 27,175, - 93,190,253,112, 97, 33, 26, 3,111,247, 7, 4,129, 91, 55,238, 93,174, 47,240, 5, 8, 18, 72, 32,207,129, 0,129, 2,194, 8, -130,162, 88,179,217,140,248,248,120,176, 44,139, 1, 61,135, 38,140,152,127,192,177,229, 0, 21,220,235,186,128, 96,241,209, 63, -133, 8,216,217,217, 5,101,101,101, 33, 38, 38, 6,225,225,225, 73,153,153,153,167,212,106,245,208,228,228,100, 0,200,126, 7, -200, 18, 50, 31, 20, 20,132, 38, 77,154,160, 79,159, 62, 2,141, 70, 19,230,229,229,229,154,145,145,209,252,175,204,207,155, 92, -228,127,138,104,149,217,208,140,198,186,186, 53,107,160, 62,125, 26,188,147, 39,177,199,197,165, 64,171,213,126, 11, 32,161,184, -225,127,189,105,243,230, 43,221,174, 93,179,209, 71, 71,195,235,254,125,208, 50, 89, 80, 85, 19,176,113,227, 70,168, 84, 42,228, -229,229, 1, 0, 86,172, 88, 1,149, 74, 5,147,149, 1,103, 57, 92,180,116,118,172,133, 84, 60, 3,195, 33, 37,177,117, 53, 77, - 37, 90,105,178,107,188,147, 58,143,116, 69,116, 92,136,184, 48, 75,223,148,160,244,208,102,106,224,218,162, 14, 56,224,180,172, - 74, 26, 45,235,254, 28, 14, 39,251,233,211,167, 93,125,124,124, 34, 0,216,191,139, 61,192, 27,242, 60, 45, 45,109,220,187,188, - 72, 81,212, 15,175, 94,189,114,220,176, 97,195, 87,115,230,204, 97, 75, 19, 45,203,255, 57, 28, 14, 88,150,133,173,173, 45,104, -154,118,186,122,245,170, 83, 72, 72,200, 42,134, 97,130,202,201, 39, 27, 16, 16,128, 87,175, 94,129,195,225,192,214,214, 22,140, -201,128,217, 19, 70,193, 76,241, 57,147, 39, 79, 14,234,213,171,215,131, 13, 27, 54, 24,109,154,181,104,158,149,149,245,112,204, -128,129, 15, 14, 29, 58,164, 47,118,241, 80,249, 20,159,101,239, 62,123,246,140,114,115,113,162, 88,147,134, 17,115, 1,193,189, -101, 44, 79,226, 12, 1,135, 98,185, 4, 9,190, 64,104, 27,147,152,152,197, 48,204, 99,107, 48, 25,134,185,243,234,213, 43,161, -147,163, 29, 71, 83,168, 47, 16,210, 44, 47,246,206,237,151, 53,131, 27,121, 1,128,246,206,205,243,252,186,245,132,177,105, 25, -226, 90,181,106, 89,133, 89, 88, 88,120, 55, 41, 41,137,114,114,114,226,196, 37, 36, 30,150, 73,196, 14, 54, 50, 89, 83, 0, 48, -228,231,221, 36,117,186, 12,138,230, 56,101,100,101,101, 23, 22, 22,190,178, 54,239, 47, 94,188,224, 40,149,142,212,241,147,103, - 34,156, 68,124, 71, 41,143, 99,195, 39, 8, 66, 68, 17, 42,174,137,201, 20,136, 68,142, 49,137,137,217, 44,203,150,171, 33, 92, -152, 59,176,103,209,247,154,189,187, 20, 54,238,221,187,135, 99,151, 31, 67,204,234, 65,104,243,112,114,211,122, 12,152, 60,237, -189,237,254, 42, 35, 91,239,164,205, 90, 91, 47,234, 13,124,164, 84, 98, 8, 63, 96,192,128,217,219,182,109, 43, 49, 64,121,252, -248, 49,218,182,109,107, 89,230, 64,135, 14, 29, 16, 18, 18,130,199,143, 31,195,219,219, 27,103,207,158,229, 83, 20,197, 31, 56, -112,224,252,237,219,183, 31,173, 84,239,191,110, 29,134, 14, 29, 90,150, 97,245, 11, 0, 90, 66,238, 91, 48,117,225, 22,251,236, -172, 76,164,103,164,222,181,182, 28, 8,130,192,224,137, 19, 51,215,234,245,216,113,227, 6, 6,137,197,162,205,207,159,163,115, - 72, 8,234,183,109,155,105, 77, 95,103,209,234,104,181, 90,208, 52, 13, 27, 27, 27,216,217,217,129,203,229,130,162, 93,192,225, - 5,130,228,114, 17,220, 42, 16,139,191, 21,107,194, 63,197,114,130, 64, 46,159,135, 59, 92, 81,185,182, 58,132,184, 6,122,176, - 44, 84,154, 4,156,179, 16, 18, 91, 15,216,210, 82,250,228, 23,171,124,101, 54,142, 92, 28, 91, 30,135,147,171, 18,247,107, 83, - 49,189,184, 44,152, 10, 38, 18,245,101, 50, 25, 18, 18, 18, 16, 31, 31,255, 8, 21, 27,248,107, 30, 63,126,252,146,207,231,251, - 57, 56, 56, 0,128,103,121, 19,115,134, 97, 74,236,176,182,238,216,107, 31,212,218, 75,240,113, 75, 63,108,137,152,135, 47,195, -150,131,166, 8,152,205, 6,252,186,180, 11,204,186, 2,132,117, 27, 65,124,212,222, 59,240,116,132,254, 11, 99, 97,206,250,183, - 38, 2, 28,204,253,185,223, 85, 25, 95, 66,214, 7, 67,200,236,237, 29,197, 92, 46, 23,118, 54, 74,253,180,145,223,164,176, 44, - 91,210,110,104,138,107, 36,243, 21,133, 89,169, 5, 66, 25, 93, 8,176,100,205,119,243,102,243,225, 37, 49, 49,113, 92,235,214, -173,231,231,231,231,231,168,213,234, 1, 0,224,233,233,233, 65,146, 36, 31, 64, 69,171, 35, 30, 40,219, 45, 4,247,254,253,251, -144, 74,165, 72, 74, 74, 42,173,124, 1,195, 48,255,152, 77, 0,255, 80, 9, 6,112, 7,128, 18, 64,103,148,114,239, 64, 22,171, -234, 62,138,140,140,100, 35, 35, 35, 63, 42, 25,188, 88,150, 49,101,103,131,213, 21,149, 45, 77,211, 44,128,210, 59,154, 68, 50, -153,140,160,221,220, 64,240,139, 76, 63,216, 15,184,245,213,104,180,206,181, 12, 99, 6, 5,194, 0,182,212,164, 69, 45, 32, 48, -207,190, 29,198,241,102, 32,149, 39, 43, 61,210, 1, 38, 22,102, 48, 84, 21,147,195,170,213,106,152, 76, 38,121,237,218,181,143, -152, 76, 38,121,241,224,198,254,183,190,168,217,108,126, 73, 81, 20,190,250,234, 43, 88,180, 63,122,189, 30,169,169,169,208,233, -116,208,235,245,120,245,234, 21,242,242,242,160,215,235,241,240,225, 67,120,122,122,130,162, 40,101, 5,157, 57,203,178, 44,220, -221,221, 81,179,102, 77, 80, 4,139,223, 23,205,194,247,227, 71,161,159, 39,131,141, 43,127, 69,155, 54,109,234,213,170, 85,171, - 25,135,195, 49, 59, 59, 59,115, 15, 28, 56,112,216,108, 54,247,128,245, 61,207,209,169, 83,167,214,244,247,247,119,148,217, 72, -141,124, 30, 5,158, 81,205,242,117, 89, 44, 71,147, 9,119,119, 15, 19,132, 34,239, 65,131, 6,153,203,211, 66,148,133,249,237, -183,223, 42,125,125,125,109,229, 50,169,154, 71, 83,233, 92,176,153,121,247,110, 93, 7, 0,158,131,163, 22, 2,145, 95,120,120, -184,169, 42,152, 51,102,204,240,116,112,112,144,145, 96,243,205, 6,195,127,214,219,117,250, 44,130,166, 11,193,229, 53, 26, 59, -118, 44, 81, 21,204, 73,147, 38,213,242,243,243,147,201,108,196, 5, 28,154, 74,225, 50, 76,138, 0, 76, 42,173, 55,228, 8, 28, -236, 53, 16, 73,130, 7, 13, 26, 84, 46,166, 69,155, 53,101,202,148,132, 55,136, 55,178,179,179,161, 77,125, 0,110, 82, 52, 2, - 37, 52, 26, 59,200,193,231,243, 75,182,190,151, 87, 93,203,179,209, 42,139,108, 89,251,110,163, 31, 43, 88, 2, 92, 91, 47,234, - 77,191, 89,201,201,201, 80, 42,149, 21,182,167,237,219,183, 79, 11, 13, 13, 77,239,208,161,131,254,200,145, 35, 32, 8, 2,103, -207,158, 69, 82, 82, 18, 58,116,232, 0,150,101, 45,187,218,112,247,238, 93,180,111,223, 94,223,186,117,235,164, 98,255, 90,149, -202,208,161, 67, 97, 52, 26, 81, 80, 80,128,236,236,108, 68, 70, 70, 34, 48, 48,144, 21,137, 68,189, 40,247, 79,230,133,125, 49, -173,121, 64,131, 32,172, 90,190, 88,207,227,208, 11,171,210, 94, 9,130, 64,248,183,223,102,230, 5, 7,103,111, 85,171, 53,131, -109,108, 68,181, 19, 18, 20,183, 79,156,176, 55, 24, 12, 86, 97, 88,180, 58,110,110,110, 37, 36,139,203,229,130,195,115, 0, 37, -174, 15,158, 93, 7,136,156,123,225,220, 29,190,206, 86,140,131, 82, 9,142,139,101,229,187,118, 16,185, 99, 94,243,190,202, 3, - 45,250, 41,207,136,106, 96, 67,241,120, 64,178, 28,226,192,144, 95,125,106, 59,212, 20,226,218,222, 84,156, 92,149,248,135, 54, - 21,179, 0, 60,175,172,157, 27, 12, 6,173,217,108, 6, 73,146,224,112, 56,165,109, 2,175,252,241,199, 31,184,125,251, 54, 80, -202,109, 79,126,126,190,153,162, 40, 8, 4, 2, 0,144, 84,208,223,129,166,105,208, 52,141,243,215, 47,218,245,251,172, 11,113, -245,207, 83,104, 17,216, 31, 89, 5, 6,164,229, 25,144,171, 1,252, 27, 79, 71, 64,251,131,184,247, 42, 31, 65, 13, 2, 40,138, - 39, 14, 47, 11, 79, 27,131, 4,117, 60,122,103, 61, 98,234,232, 19,133,199,174, 29,122,252,232,226,190,123, 15,119,253, 22,241, -188,121,227,214,234, 98,101, 2, 10, 10, 10, 88,130, 32,216,111,134, 79,123,185,117,104,142,121,249,128,123, 12, 71, 39,120,241, - 55,118,245, 30, 14, 14, 14, 87,237,236,236,206, 22,147, 35, 15,169, 84,122, 69,169, 84, 70,163,104,163,199,161,148,148, 20, 95, -181, 90,221, 2, 69,155,179,226,178,178,178,218, 22,107,158,226, 42,208,132,109, 80,169, 84, 95,155,205,230,110,197,199,167,102, -179, 57,232,217,179,103,126, 65, 65, 65,143,188,188,188,238,122,121,121, 29,243,242,242, 58,236,229,229,117, 56, 52, 52,116,169, -197,221,195, 95,188,108,248, 22, 23,249,151, 17, 45, 20,147,172,117,197,103,148, 16, 45, 0,231,223, 52, 64, 51,241,249, 15, 77, - 99,198, 64,118,248, 48,232,103,207, 48, 36, 60,220, 70, 36, 18, 45, 71,145,143,166, 22, 18,137,100,213,172, 89,179,164,246, 11, - 22,192,229,226, 69,196, 70, 70,194, 72,211,183,222, 37,117,133,133,133,224,112, 56, 37,154, 24,177, 88, 12,179,217,140,178, 84, -190,111, 53, 64, 19,174, 37,165, 69,131,135,154, 96,192, 22, 28, 87,181,190,209,255,229,116,199, 72,149,167,247,115, 53,215,251, - 71,135,166,142,203, 61, 90,222, 80, 19,156, 2,158, 76,128,248,248, 4,152,193, 84,105,189, 89,171,213,230,169,213,106, 4, 5, - 5,217,221,190,125,187,118, 96, 96,160,162,248,254,205,247,252, 48,205, 92, 92, 92,246,186,186,186,198,184,184,184,236, 5,208, -172, 10,239,110,184,116,233, 18, 40,138,194,172, 89,179,144,159,159, 15,131,193,128,172,172, 44,196,199,199, 67,175,215, 35, 49, - 49, 17, 79,158, 60,129, 94,175, 71,108,108, 44,116,186,202, 39, 36, 12,195,192,198,198, 6,218,194, 2,172,158,247, 61,102, 76, -153,128,188, 23, 81, 72, 76, 78,131,204, 86,140,113,227,198, 81,114,185,156, 97, 24,166,166,217,108,110,207, 48,204, 26,107,190, - 83,169,250,118,217,221,221, 61, 96,209,162, 69,126,223,207, 91,195,181,225, 20,176,124,169,128,225, 73,249, 44,175, 94, 83, 12, -157,190,156,187,108,201, 47, 79,175, 93,187,150, 4,235,156,119,146, 0, 46, 7, 7, 7,251, 36, 37, 37, 5,250,250,250,214,181, -247,168,197,231, 43, 93,115,185,202, 26, 42, 86,167,189, 65,184,214,104,181,102,205,154, 7, 87,174, 92, 73,174, 10,166, 88, 44, -174,183,101,203,150, 0, 39, 39,167, 0, 90, 40, 20,104,242,242,246,152, 52,234,189,148, 76, 46, 32,109,100,159, 30, 60,120, 48, -106,255,254,253,169, 85,193,244,246,246,246,157, 55,111,158,127,253,250,245,253,157, 61,107,243,133,174,238, 89, 2, 55,143, 44, - 97,253, 64, 62,220,106,118, 92,181,106,213,221,107,215,174, 89,133, 73, 81,148,137, 36, 73,208, 52, 13,145, 72,132,227,199,143, - 99,204, 23,253,225,238,106,135,186,190,190,104,247,229,215,216,191,127,127,137, 13, 15, 69, 81,229,142,232,155, 23,140,139, 8, - 86, 18, 81, 88, 91, 47, 10,107,235, 69, 5, 43,137,168,114,201, 86,241,223,203,122,198,170,222,168,156,229, 70, 43,200,214,209, -243,231,207,255, 52,120,240, 96, 94,167, 78,157,112,227,198, 13, 12, 29, 58,244,242,129, 3, 7, 0, 0, 55,110,220,192, 55,223, -124,115,249,204,153, 51, 24, 53,106, 20,218,182,109,203,187,116,233,210, 42, 88,225,251,199,100, 50, 97,227,198,141, 48,153, 76, -144, 72, 36, 80, 40, 20,232,210,165, 11, 30, 60,120, 48,106,211,166, 77,209, 20, 77,127,222,185,219,103, 56,114,248, 0,158, 60, -124, 48,106,243,252,129, 85,118, 10, 76,146, 36, 58,133,135,103,102,250,251,103,111, 86,169, 52,195,228,114,145,111,106,170,226, -220,222,189,246, 86, 16, 53,194,108, 54,151,144, 43, 11,233,176, 28, 28,158, 3, 56,226, 0,112,164,141,113,239, 57,215,200, 13, -193, 29, 94, 99, 60,174,200,127, 22,205, 35,135,246,250,222, 19,189,190,247, 68,247,201,181,134,136,106,224,119,113, 13,140,238, - 52,190,102,168, 87, 99, 91,168,210, 13,136,252, 53, 54, 78,155,133, 5, 0,158, 88,211,206, 25,134,121,148,148,148, 4, 30,143, -135, 26, 53,106,248, 0,176,216, 5,110, 24, 62,124,248,216, 31,127,252,113, 2,128, 31,139,239, 73, 66, 67, 67,253, 11, 10, 10, -240,236,217, 51, 0,184, 93,129, 54,184,100,151, 97,182, 42,150, 95,203,165, 62, 2,235,141,132, 92,222, 0, 73,217,122, 36,103, -235,241,251,234, 30,136,186, 52, 23,183, 79, 14, 66, 92,106, 42,132,206, 61, 97, 54,233, 2,172,152,212,187,252,249,231,159,196, -165, 75,151, 8,134, 97, 96, 52, 26,217,124,149,138,189,115,249, 50, 10, 47, 92, 32,108,108,108,136,150, 77, 90, 23,108,158,123, -228,230,193,149,151,111, 27, 52, 85,158,168,191,143,204,120,249,242,101,179,189,123,247,134, 2,152, 81,191,126,253,107,241,241, -241,205, 47, 94,188, 88,215,205,205,109,249,187,130, 90,220, 66,196,198,198,190,118, 20,187,133,208, 23,147,134, 78,197,100,174, - 59,128,111,240, 30,187,236,171, 32,231,255,197,198,240, 71,240,198,110,195, 55,137, 86,105, 71, 97,240,146,203,165, 70,163, 33, -241,212,169, 83, 6,146, 36, 33, 18,137, 48,120,232, 80,114,245,111,191,181,234,223,172,217,217, 17, 31,127,124,236,236,153, 51, -193, 33, 33, 33, 96, 89, 22, 36, 73, 98,247,238,221,133, 90,109, 97,150,187,187,187,204,154, 78,163,116, 3, 82,169, 84, 37, 68, - 43, 47, 47, 15, 78, 78, 78, 86, 47, 29,170, 85, 56,125,230,120, 84, 14,107,254, 50,190,211,243, 37,134,133,169, 61, 66,114, 25, - 51, 39,207,108, 68, 94, 33,139,124, 45, 56, 55, 72, 69,200, 96,239,158,134, 87,237, 67,158, 92,136,190,154,165, 53,107,171,180, - 91, 34, 61, 61,253,251,176,176,176, 44,165, 82, 73,216,216,216,192,213,213,149,236,222,189,123,102, 66, 66,194,143,239,250, 69, -236,236,236,250,133,134,134, 70, 36, 37, 37,245,190,112,225, 66,205,139, 23, 47,246, 14, 13, 13,141,176,179,179,235,103, 37,196, -158,105,211,166,169,121, 60, 30,154, 54,109,138,252,252,124, 20,239,242,169,240,176,102,137,148,203,229, 98,237,162, 31, 48, 99, -202, 4,100, 71,223,192,189,203,167,112, 62,149,192,244,121,191,128,203,229,190,147,175,175, 58, 14,162,250,245, 93,164,143,191, - 25,218, 55,121,234,148, 41,210,187,119,239,210, 99,199,127,195,198,166,100,131,215,105, 49,133,143,190, 39,255, 84, 59,160,243, -167,237, 48,107,198,196,250,197, 78, 59, 43,148,122, 14,162,250, 1, 46,210, 71, 19, 71,244,127, 57,126,252,120,225,194,133, 11, -181,205,154, 53, 43, 76, 75, 75, 19,138,229, 10, 95,142,173, 44, 32, 54, 37, 85,210,172, 89,179, 87, 95,126,249,101,110, 85, 49, -167, 79,159, 46, 58,113,226, 4, 39, 44, 44,204,148,147,147, 35,161,133,194, 32,130, 47,104,146,145,147, 99,219, 59, 44,236,121, -239,222,189, 53,197, 14, 75,173,198,156, 57,115,166,232,201,147, 39,156,102,205,154, 25, 83, 83, 83,165, 98, 59,251, 64, 74,166, -104, 28,147,146,102,211, 36, 36,228,197,216,177, 99,213, 21,165,179, 52, 73,145, 74,165, 73, 45, 90,180,192,175,191,254,138,101, -203,150,161, 99,199,142,120,240,240, 1, 58,143,157, 0,191,209,223,224,240,213,235, 72, 74, 74,194,156, 57,115, 16, 24, 24, 8, - 46,151,251,164,204,246, 56, 42,154,184,155, 10,226,110, 42, 8, 98, 84, 52, 97,185, 46, 87,179,245, 99, 30, 74, 63, 95,214,115, -183,103,150,173,233, 10, 86, 18, 81, 21,217, 97, 85, 70,182,122,247,238, 61,198,226,194, 97,216,176, 97,151,151, 47, 95,222,114, -216,176,162,137,118,211,166, 77, 49,119,238,220,150,211,167, 79,191, 60,111,222, 60,180,107,215, 14, 94, 94, 94,149,110,124, 49, -155,205, 48,153, 76,232,223,191, 63, 76, 38, 19, 50, 50, 50,240,244,233, 83,172, 91,183, 14, 44,203, 10, 0, 64,233,226,214,136, -199,227,225,207, 59,183, 52, 51,134,133,108,175,130, 38,139, 40, 61,137, 41, 40, 40, 64,239,209,163, 51, 19,235,212,201, 94,147, -153,169,249, 66, 46, 23,213,138,139, 83, 72,245,122, 87, 84, 96,151, 72, 16, 4, 24,134, 41, 33, 86, 22,194,245,230, 81, 60, 80, - 90, 37, 6, 13,115,244,226,182,100, 0, 64,235,129, 46,232, 62,185,214, 16,165,183,104, 69,171, 1, 69, 74,239,253,115, 95,178, -249,201,230,133, 48,226, 81, 21, 52,214, 55,110,220,184, 1,153, 76,134,176,176, 48, 62, 73,146, 11, 44,243, 85, 20,249,206, 90, - 98,193,226,243,249,139, 7, 13, 26, 68,230,230,230,226,222,189,123, 0,112,166,188,126,137,101,217,146,188, 23,100, 19, 48, 51, - 60, 92,185,115, 28, 39, 47,238, 67, 76, 82, 6,226,210,181, 0,199, 22, 90,117, 34, 12,133, 73,208,231,222,129, 74, 39,178, 42, -193, 92, 46, 55,163,126,253,250,108,227,198,141, 89,150,101,241,226,197, 11, 83,108, 92,156,233,214,210,165,236,253,145, 35, 9, -233,211,167, 92,161, 80, 72,120,122,122, 66, 32, 16, 48, 2,129, 32,235,111, 28,188,255, 18,119, 11,127,129, 91,136, 15,169,213, - 98,241,239,148, 20,188,190,219,176,196,129,105, 89, 14, 75,193,218, 8,251,238, 91,181,218, 54,172,255, 64,117, 96, 96,160,220, -213,213, 21, 4, 65,160, 71,207,158, 68,232,133, 11, 82,218,197, 5,118, 13, 27,150, 44, 71,156, 62,117, 10,199,143, 31, 87, 31, -249,227,160,235,208, 47,190,232, 10, 96, 75, 5,137,225,240,249,252,146,223, 77, 73, 73, 1,159,207, 47,177,137, 80,169, 84,112, -112,112, 64, 74, 74, 10,172, 92,153,219, 58,117,202,245, 41,233, 33,223,123,134, 72,105,226,152, 58, 21,102,150, 5, 77,152,129, - 66, 22, 70, 51,160, 51,178,104, 84,139, 82,156, 44, 52,201, 35,111, 28,120, 5, 96,107, 85, 74, 79,167,211,157,187,123,247,238, - 72,134, 97,246, 1, 32, 47, 92,184,192, 60,122,244,104, 12,172, 55, 92,127, 91,109, 47, 18, 77, 62,123,246,172, 98,242,228,201, - 57,145,145,145,121, 93,186,116,177, 93,183,110,157,162,109,219,182,147,179,178,178,118, 89,163, 8,140,143,143,223,146,144,144, - 48,166,113,227,198,200,206,206,134,193, 96, 64, 84, 84, 20,188,189,189,113,251,246,109,248,248,248,224,214,173, 91,168, 91,183, - 46,204,102, 51,180, 90, 45, 24,134, 49, 87,214,153,103,103,102, 0, 89,241, 72,190,113, 12, 79,239, 71,225,108, 50,129,149,187, - 34, 80,163,166,231, 59,249,169,241,113, 20,249, 43, 29,236, 78, 46,156, 61,211, 49,246,220,110, 28,216,184,146, 57,127,236,152, - 31, 79,138,145, 31,245,255,250, 51,189, 17, 30, 0,120,205, 67, 26,163,147,252,137, 89, 84, 19,169,103, 31, 85,236, 96,209,199, - 81,228,239,100,111,119,226,231, 5, 63, 74, 95, 28,223,140, 61,107,127,101,247,111,219, 25,168, 5, 66,252,253,253, 59,145, 36, - 41, 3,160, 45,182,243,178, 42,180, 77, 89,152,167, 35, 34,130,181, 64,200,161, 67,135, 58,137, 68, 34,103, 0, 70,141, 70,243, -242,125, 48,207, 68, 70, 6, 91,210, 73, 16,132, 35, 0, 3,203,178, 47, 80,197, 16, 60,125,250,244,153,251,205, 55,223, 76, 49, -155,205, 14,165,102,231,212,226,197,139, 57, 12,195, 80, 44,203, 26, 72,146, 52,156, 56,113,194,108, 50,153,146,181, 90,237,232, -247,233, 69, 62,251,236, 51, 92,191,126,125, 54,138, 54, 97, 88,171,173,126,205, 78,171, 56,100,207, 59,227, 95,184,112, 97,206, -231,159,127, 62,117,215,174, 93, 79,151, 47, 95,222,109,212,168, 81,216,189,123, 55,234,212,169,131, 63,255,252, 19,223,127,255, - 61, 0,180,156, 62,125,250,225, 13, 27, 54,120,197,198,198, 46,182, 66,163, 1,147,201,132,157, 59,119,162, 71,143, 30,112,112, -112,128,139,139, 11, 8,130, 56,247,197, 23, 95,252, 6, 0, 20, 65,113, 1, 64,167,213,233,124,125, 27, 91,173,193,229,114,185, - 37,125, 93,106,106,106,201, 78,193, 79, 62,255, 60,243,247,133, 11,177,189,176, 16, 95,200,229,162, 68, 55, 55,229,225, 23, 47, - 70, 60, 44,234,156,217,138,180, 58,149,145, 44,107, 77, 26, 10, 83, 48,237,143,249, 49,206, 0, 58,182, 30,232,130,214, 3, 93, -208,184,187, 35, 65, 82, 4,238,159,204,194,131,211,217,251,141, 42,156, 67,213,194,229, 60, 90,176, 96,193,225,143, 62,250,168, - 91,189,122,245, 48,124,248,240, 47, 55,110,220,200, 53, 26,141,227,241, 31, 55, 15,182, 36, 73,254,184,118,237,218, 17, 10,133, - 2,151, 46, 93,194,197,139, 23,207, 1,136, 47,175, 95, 2, 80,226, 51,171,134,187,143,246, 73,108,129, 40, 61,233, 10, 46, 95, -250, 3,117, 2,191,134,208,185, 43, 20,190,243, 96,136, 94, 6,125,214, 73, 40,220,187, 32, 49,246, 5, 40, 14,255, 65,101, 70, - 40, 44,203, 62, 76, 76, 76,244,242,242,242, 34, 98, 98, 98, 76, 0, 88,179,217,204, 26, 90,181, 50,250, 45, 92, 72, 63,248,242, - 75,162,249,147, 39, 20, 75, 16, 76, 84, 84, 20, 0, 60,254,111,140,226, 22,119, 11, 15, 30, 60, 40,207,221, 66,149,164,126,253, -250, 45, 47, 94,188,200,215,106,181, 56,127,254, 60,154, 52, 41,217,219,245, 95,245,126, 95,154,139,252,203,100, 68, 25,247,214, -189,166,209,122,173, 98, 51, 4, 93,215,199,199,204, 37,177,169, 71,215,174,154,187,119,239,150,204,250,180, 55,111, 66,125,252, - 56,204,102, 51, 88,150,197,197, 11, 23, 48,104,224,192, 2,154, 34,126,175, 85,171, 38, 75,176,175,249,110,105, 95,198,236, 33, - 44, 44, 44,172,164,243, 73, 72, 72,128, 88, 44, 6,143,199, 3,195, 48, 48,153, 76,160, 40, 10,182,182,182, 48,153, 76,101,169, - 96,222,196, 52,154,179,213,189, 55,116, 30,144,226, 82, 96, 96, 71,202,106,193,131, 43, 44,105,156,206, 54, 4,186, 5,210,176, -231,164,179,103, 22,127,156,204,232,178,122,227,237, 29, 93,149,109,249,247,105,208,160,193,111,131, 6, 13, 34, 1,160,125,251, -246,100,131, 6, 13, 86,160,226, 80, 57, 21, 98, 10, 4, 2, 62, 0, 68, 68, 68,100, 63,125,250,180, 99, 68, 68, 68,118,233,251, - 86, 98,174, 91,180,104, 17, 68, 34, 17, 76, 38, 19,244,122,125,137,125, 86,233,179,193, 96,128,189,189, 61,142, 28, 57, 2,179, -217,124,164,178,116,186,123,212, 4,225, 80, 27, 91, 34,206,226, 98, 38,247, 93, 72, 86, 9,102,109,103,113, 93,103,123,187, 83, - 63,207,159,227,144,243, 60, 10,137,137,137,236,137,227, 71,174,105,129,164,188,124,204,200, 85,163,110,161, 30,130, 38, 94,136, - 63,181,246, 59,118,122,107, 24, 81,246,174,193, 18, 76, 63,103,113, 93, 87, 7,187, 19,191,252, 60, 95,154,251, 60, 10, 41,169, -169, 56,122, 36,226,174, 22,176, 44, 55, 14, 97, 24, 38,128, 97,152, 0, 0, 67, 42, 32, 47, 85,194,212,104, 52,245, 53, 26, 77, -253, 15,137,201,178,108,125,150,101,173,198, 44,109, 19,181,100,201,146,232,148,148,148, 65,233,233,233, 29, 44, 71, 78, 78, 78, -251,130,130,130, 54, 26,141,166, 85,225,146,154,182, 26,141,198,177,160,160, 64,169,213,106, 27, 1,136,170, 66,157, 47,145,210, - 94,167, 83, 82, 82,102,165,164,164, 16,149,165,147, 26, 29, 77,236,248,101,226, 31,107,215,174, 85,190, 39,254,107,233,204,204, -204,220,183,107,215,174, 32, 79, 79, 79,175, 33, 67,134, 96,205,154, 53, 88,190,124,185, 14, 0, 54,108,216,160, 43,165,201,114, -143,141,141,109, 92,206,178, 97,251, 82,218,146,173,159,124,242, 9,123,241,226, 69,244,232,209,163,196,145,232,250,245,235, 97, - 50,153, 84,237,218,181, 99, 0,160, 80,171, 81,177, 12, 11,189,161,220,245,247,183,202,147,199,227,125, 90,218, 95,160,197, 25, - 51,143,199, 3,203,178,168,219,178,101,102,110, 96, 96,246,198,188, 60,205,172,250,245,109, 70,248,250, 14,169, 7, 12, 44, 11, -147, 32,136,215,180, 58,111, 30, 85,208,100,149, 78,103,122, 97, 50,134,255, 49, 63,230,184, 69,179, 37,144,112,160,205, 55,225, -224,194,152, 12,109, 6,214,151, 71,126, 42,202,123,118,118,246,216,133, 11, 23,234,228,114, 57, 62,251,236, 51,204,155, 55,239, -139,150, 45, 91,230, 57, 58, 58, 94,175, 83,167,206,253,190,125,251,166, 68, 69, 69,141, 13, 13, 13,197,179,103,207,240,203, 47, -191,228,230,228,228, 12,168, 8,147, 32,136, 18, 77, 94,247,206,237,179, 87,175,248,149,105,247,209, 24,136,132, 54, 48,210,238, -200, 46, 48, 34, 71,205, 66,207, 15, 1,143,203, 71,135,102,254,184,126, 98,179,198,172, 87,111,169,172,206, 23, 20, 20,236, 31, - 60,120,176,138,203,229, 66,175,215,179, 52, 77,131, 95,100,119,204,208, 29, 59, 26,154, 63,122,100, 50,179, 44, 67, 16, 4,190, -253,246, 91,117, 78, 78,206,174,119,105, 71, 85,144,210,152, 31,202,221, 66,251, 55,198,159, 15,225, 22,226,175,200,251,191, 89, -214,149,113,252, 71,163,101,217, 82,105, 57, 19, 4, 99, 54,155, 25,212,242,172, 37,141,141,137, 95,217,167, 79,216,176, 78,157, - 58,139, 58,119,238, 44,240,143, 46,154,141, 70, 68, 68,224,192,129, 3,154,147, 39, 79,170,248, 52,181,193,189,134,187,147,217, -204,128, 32,152, 10,217,176, 84, 42, 29, 63,109,218, 52, 97, 94, 94, 30,150, 47, 95,206, 4, 5, 5,145, 98,177, 24, 6,131, 1, - 27, 54,108, 48,250,251,251,211, 36, 73, 34, 47, 47, 15, 36, 73, 62,177, 50,131,247,242,226,147, 58,252, 22,218,235, 64,227,175, -134,218,249,133, 54,151,183,113,119,133,177, 33,139,228,132, 24, 60, 61,115, 50,231,225,137,165, 89,208,166,245, 66,229,225,129, -202, 26, 8,126, 56,121,242,164,227,216,177, 99, 89,173, 86, 75,196,199,199,179,243,231,207,119, 28, 62,124,248, 15,201,201,201, -253,222,241,163, 16,185,185,185, 32, 8,130, 41,238, 72, 44,179,254,170,172,203, 61,216,178,101,203,161,158, 61,123,118,111,215, -174, 29,162,163,163, 75,150, 8, 75, 19, 45,203,238,195, 5, 11, 22,228, 2,152, 90, 25, 40, 77,211, 88,190,101, 31,114,115, 50, -225,228,228, 2,129, 80,136,119,221, 97,201, 35,201, 89, 63,205,153,233,152,249,248, 58,241,224,218, 89,102,239,189,180,116,147, -153, 45,219,227,127,126, 50, 91,204,254, 43,158,205,144,212,172,159,230,255,104,107, 89,214,220,117, 39, 69, 69,152,217,177,239, -213, 68,254, 45,152,127,179,184,184,184, 32, 37, 37,133,112,113,113, 97,139,109,180,216, 10,136,214,235, 21,188,104,185,140,168, -104,217,240, 93,241, 95,189,122, 53,191, 97,195,134, 19,159, 61,123,182,215,207,207,111, 20,128, 26, 58,157, 46,119,250,244,233, - 63,111,216,176, 97,152, 53,154, 44, 0,216,189,123,247,210,161, 67,135, 30,239,218,181,235,119, 12,195, 52, 40, 53,176,191,114, -116,116, 44, 89,194,205, 72, 75,157, 50,114, 88,255, 41, 5, 5, 57, 86,251,185,147, 72, 36, 35,166, 79,159, 46, 80,171,213, 88, -181,106, 21,227,239,239, 79, 90, 38, 69,219,182,109, 51,249,248,248,112,194,198,140,201, 92,146,154,138,185,151, 46,169,167, 4, - 4, 4,109,124,250,180, 17, 24,102,107,121, 90,157,178, 52, 89, 22,179,139,119,148,228, 98,178,181, 30, 64,199,230,125,156,113, -104, 81, 12,114, 98,245, 63,195,132, 23,176, 34, 44, 80, 25,146,184,127,255,254, 14,105,105,105,135,102,206,156,105,219,168, 81, - 35, 4, 4, 4,208, 18,137, 36,196,226, 46, 38, 47, 47, 15,167, 79,159,198,154, 53,107,244, 15, 31, 62,236, 89,209,114,149,217, -108, 78,247,241,241,177,148, 3, 75, 16, 68,150, 74, 71,216,238,169, 23, 34, 25, 50,114, 47,113,249,214, 85, 36, 27, 24,232,140, - 12,106,121, 6,163, 77,199, 37, 56,124,236,190, 57, 57,246,209, 35, 99, 97,206,239, 86,164,247,197,243,231,207, 15,206,153, 51, -167,207,119,223,125, 39,204,204,204, 52,235,116, 58,102,223,190,125,212,144, 33, 67,204, 44,135,195,112, 57, 28,140, 31, 63,190, - 48, 55, 55,247, 15,224,111, 13, 48,253,151,184, 91,248, 11,220, 66,124, 48,109, 86,233,243,255,138,148,217, 66, 25,138,188,178, -102,237,234, 79,119,239,220,229, 76, 81,164,243,139,151, 47,111,117,235,213, 59,233,212,169, 83, 10,174,173,109, 19, 0,140,126, -212,168,107, 6, 93, 97,118,228,161, 67, 30,181,106,213, 12, 44, 14, 42,205, 50, 20,121,165,162, 31, 44, 40, 40, 80, 95,186,116, - 73, 51,117,234, 84, 34, 33, 33, 97,135,147,147, 83,223, 99,199,142, 73,122,245,234, 85, 24, 29, 29,189,223,217,217,185,123,104, -104,168,116,226,196,137,186,130,130,130,170, 4, 30,125,196,102,228,212,187, 57,115,241,231, 55, 23,173,254, 24, 28,170, 5,116, - 52,192, 24,175,192,144,127, 10,192, 14, 84,193,223, 81,105, 17,139,197,129, 34,145, 8,119,239,222,205, 9, 9, 9,209,107,181, - 90,238,188,121,243,236,196, 98,113,224,187, 22, 60,203,178,108, 78, 78, 14, 24,134,225, 0, 32,138,207, 96,170,190, 23,191, 95, -183,110,221, 14,237,217,179,231,147,206,157, 59,195,203,203, 11, 70,163, 17, 62, 62, 62,208,235,245,240,246,246,134, 78,167,195, -236,217,179,145,151,151, 55, 1, 21,196, 60, 35, 8, 2, 38,147,169,196,216,214,213,205,163,200, 79,207,123,184,177, 16,211,164, -215,147,200,141, 72,207,202,100,246,252,153,150,166, 49,152, 59, 60,207,208, 60,124,243, 57,141, 25,234,208, 33,227,146, 0, 64, -199, 84, 28,113, 94,204,131,215,211, 35,235,145,150,158,137,221,119, 82,114,213, 6,166,227,211, 50, 48,171,148,206,127, 9,102, -240,236,104,244, 30,103,253,179,239, 35,214, 18,170,242,228,110, 42,136,219,162,141, 44,214,110, 44,211, 71,214,123,226, 31,122, -246,236,217, 33, 0,120,244,232, 81, 66,255,254,253,167,196,196,196,204, 1,112, 52, 54, 54,118,109, 85,128, 54,110,220,248, 12, -192,208,138,158,217,181,120,232, 65, 0, 7,171,130,155,159,159,175,141,138,138,210, 78,156, 56,145, 72, 72, 72, 56,230,236,236, -252,201,241,227,199, 69,189,122,245,210, 61,120,240,224,140,139,139, 75,235,246,237,219, 75,142,222,184,145,164,121,241, 34, 50, - 50, 38,198,205,200, 48,145, 21,181,207, 15, 76,178, 94, 35, 91, 7,231,198,252,116,232,167,152,246,140, 14,251,245, 57,184, 6, - 32,241, 61, 48, 47, 94,185,114,197,111,224,192,129,123,186,116,233,210,220,207,207, 15, 53,106,212,192,211,167, 79,145,145,145, -129,123,247,238, 33, 34, 34, 34, 66,171,213, 86, 26, 80, 59, 59, 59,251,237,240, 68, 2,133,203,230, 85,179, 34,110, 93,110,226, -211,170,243, 96, 97,128, 11,112,159,172, 26, 0, 0, 32, 0, 73, 68, 65, 84, 3,189,129, 69, 66,220, 11,204,158,241,187, 38, 37, -238,217, 35,131,201,208, 19, 86,110,212, 41, 44, 44, 92,183,108,217, 50, 58, 50, 50,178,243,202,149, 43,165, 30, 30, 30, 20,151, -203, 37, 1,176,183,111,223,102,199,141, 27,167,206,204,204, 60,162, 82,169,214,253,205, 99,244,197,151, 47, 95, 6, 83, 20,245, - 65,221, 45,188,135, 91,136,106,249,144,226,233,233,230, 87,219,195,101,148, 87, 13,183, 49,158, 30,238,225,101, 25,185,123,201, -229, 82,207,154,174, 35,188,106,184,141,169,237,225, 50,202,211,211,205,207, 10,213,162,151,141,141,205, 49,165, 82, 25, 4, 0, -182,182,182,221,101, 50,217, 67, 91, 91,219,238,197,179,192,238, 18,137,228,177,191,191,255,240,191, 81, 93, 89, 33,166,143,143, - 79,255,130,130,130, 47,125,124,124,250, 91,174, 95,188,120, 81,114,253, 46,152,238,238,238,237,110,223,190,221,111,241,226,197, -159,213,169, 83,167,251,252,249,243, 63,251,227,143, 63,250,185,185,185, 53,122, 7, 76, 62,128,237, 52, 77,167,241,120,188,116, -154,166,211, 44, 7,135,195, 73,163, 40, 42, 13,192,218,114,180,101,237, 75,205,114, 46, 59, 57, 57,197, 58, 57, 57,197, 58, 59, - 59,199, 58, 59, 59,199, 42,149,202,183, 14,123,123,251,203,214,150,167,175,179,164,101, 72, 13,233,149,250, 74,201,229,122, 78, - 98,223, 15,241,141,124,157, 37, 45,155,212,176,189, 82, 95, 41,189,244,255, 13, 51,200, 25, 44,187,198,151,101,215,248,178, 65, -206, 96, 43,187,254,144,106,127,165, 82,201, 42,149,202, 89,127,213, 82, 66, 57,248,127,123,123,255,128,152, 94, 82,169,116, 87, -141, 26, 53, 44,125, 93, 87, 27, 27,155,115, 18,137,164,107,113, 95,215, 85, 44, 22, 95,240,247,247, 31, 92, 25,166, 66,161,184, -237,232,232,152, 90,124,164, 56, 57, 57,165, 56, 57, 57,165, 56, 58, 58, 38, 59, 58, 58, 38, 59, 56, 56, 36, 89, 14,153, 76,118, -253, 29,243,238, 8,160, 41,128, 70, 0,108, 62, 96,121,122, 2, 24, 89,220, 7, 45, 4, 48, 28, 64,131, 15,240,141, 8, 90,168, - 24,205,151,185, 95,161, 37, 14,249,180,196, 33,159,111,235,118,165,130, 16, 60,214, 96,214, 85, 40, 20,243,108,108,108,254,144, - 74,165,151,164, 82,233, 33,123,123,251,249, 0,234,254,151,234,146, 4,192, 6, 20,249,103, 58,138,162,165,240, 67, 40,218, 84, -224,241, 15,172,243,255,159,101,196,127,235,135,219, 87, 99, 86, 99, 86, 99, 86, 99, 86, 99, 86, 99,254, 11, 49,201,234,242,172, - 38, 90, 85, 36, 90,111, 30, 0, 42,240, 12, 95, 45,213, 82, 45,213, 82, 45,213,242,255, 88,152,234, 34,168,150, 42, 74,153, 75, -203, 68, 5,172,180, 42,190,166,222,133,217,158,174,198,172,198,172,198,172,198,172,198,172,198,172,198,252,127,135, 89, 45, 31, - 80,170,213,170,213,152,213,152,213,152,213,152,213,152,213,152,213,152,255,235, 82,189,116, 88, 45,213, 82, 45,213, 82, 45,213, - 82, 45,213,242, 23,201,186, 82,132,235,181, 37,196,106,162, 85,117, 33, 1,124, 9,160, 55,128,218, 40,138,102,191, 15,192,111, -120,183, 53,125, 27, 0, 83, 0,180, 64,209,238,156, 87, 0, 46,161,104,119, 78, 65,117,113,151, 45,246,246,246,211,104,154,150, - 1, 69,161, 77, 44,231,210,255, 55,155,205,185, 42,149,106,254, 95,148, 4, 10, 86,122, 80,182,164,181,116,218, 74,159,141, 70, -227, 95,153,206,106,249,103,138,143, 66,161,216,158,157,157, 61, 0,165,130, 44, 87, 75,181,252, 47,136,131,131,195, 40,131,193, - 48,157,203,229,206,203,200,200, 88,253,255, 40,235,111,145,172,215,136, 86,100,100,228, 5, 0,232,210,165,203, 71, 0, 32,147, -201,174,146, 36,233, 89,149, 95, 96, 24,230, 85,110,110,110,185, 14,212,100, 50,217, 85,138,162,222,194, 52, 26,141, 82, 14,135, -147, 95,214, 59, 38,147, 41, 81,165, 82, 53,250,135, 20, 34, 1, 32, 82, 46,151,107,231,204,153,243, 91,155, 54,109,220,147,147, -147, 77,147, 39, 79,110,253,231,159,127,118, 6,240,105, 21,201, 86, 51,130, 32, 54, 7, 5, 5, 29, 12, 15, 15,223, 19, 18, 18, -194,203,202,202,146,238,219,183,207,117,203,150, 45, 81, 12,195, 12, 64, 5,129, 86,255, 63, 11, 77,211,178,196,196, 68, 41, 80, - 20,154,164,152, 88,193,104, 52,194,104, 52, 66,173, 86, 35, 48, 48,240,131,255,174,179,179,115, 48, 65, 16, 43, 37, 18, 73,163, -130,130,130, 91, 0,198,164,164,164,252, 89,149,180,154, 76, 38,176, 44, 91,146, 78, 63, 63,191,234, 15, 90, 53,249,130,199,227, -117,244,246,246,110,162,211,233,114, 94,189,122,117,211,108, 54,207,196,135,139,209,102, 11, 96, 38,159,207, 15,169, 93,187,182, -251,179,103,207, 18, 12, 6,195, 13, 20, 5, 67,206,251, 16, 36,235,163,143, 62,186,188,106,213, 42,187,209,163, 71, 95,190,116, -233, 82,203,106,178, 85, 45,255, 45,113,119,119,151,169,213,234,223, 1, 4,211, 52,237, 44, 16, 8, 32, 20, 10, 83,249,124,254, - 93,161, 80, 56,236,202,149, 43,185, 85,197, 52,155,205, 51, 99, 99, 99,157,155, 54,109,186,200,209,209,113,118,102,102,166,214, - 96, 48,156,201,201,201,153, 0, 64, 85,209,187,111,114,145,127, 25,201, 42,125,134,133,116,113,138, 51,198, 2,104,243, 26, 3, -227,112,220,226,226,226, 28, 5, 2, 1, 24,134, 41, 25,204,222, 60, 44,247,245,122, 61, 2, 2, 2, 12,149, 12, 56,238, 9, 9, - 9,142, 60, 30,175,228,158, 94,175,135,171,171, 43,147,152,152,232, 88, 28,246,160, 68,116, 58, 29,220,220,220,254, 73, 49,143, -190, 84, 40, 20,121,241,241, 9,129, 90,157,225,199,225, 99,167, 78, 27,208,251, 99,249,213,171, 87,153, 79, 63,253, 84,119,225, -194,133, 47, 81, 20, 56,213,170,206,156, 32,136, 45,147, 39, 79,158, 45, 16,217,216,157,189,250, 72,183,101,223,145,164, 32,159, - 90,196,132, 9, 19,168,113,227,198, 93, 12, 14, 14,222,206, 48, 76, 67, 84, 65,179, 37,151,203,143,243,249,252,154,197,229, 23, -159,147,147,243,201, 63,176, 66,114,240,182,243,216,178,238, 85, 42, 89, 89, 89, 40, 44, 44,124,235,240,243,243,179, 54, 86,102, -149,210, 77,211,244,161, 5, 11, 22,184,166,166,164,224,215, 37, 75,154,162, 72,147,217,212,154,151,211,211,211,223, 74,167,175, -175, 47,170,165, 74, 50,101,246,236,217, 11, 62,255,252,115,152,205,102, 20, 22, 22,186, 60,127,254,220,127,250,244,233, 61, 95, -188,120,209, 4,192,203,247,157,140,123,123,123, 71,127,253,245,215,138, 38, 77,154,160, 56, 74,133,203,165, 75,151,154,110,216, -176, 97, 80,124,124,188, 47,128,140,247,249, 1,133, 66,177,125,253,250,245,118, 34,145, 8,135, 15, 31,182,107,215,174,221,165, - 59,119,238,180,122, 15,178, 69,218,217,217,141, 3,208,150, 97, 24, 30,128, 27, 57, 57, 57,115, 81,117,175,238, 74,137, 68,178, -159, 36,201, 90,192,127,188,209,147, 36,105, 79, 16, 68,166,229, 30, 65, 16,142, 12,195, 92,203,206,206,110, 94, 93, 29,255,221, - 98,103,103,247, 69, 90, 90,218, 42, 62,159,207,149,203,229, 16,137, 68,224,112, 56,224,112, 56, 53,248,124,126, 13, 62,159,223, - 41, 52, 52,116,204,185,115,231, 42,244,176,223, 44,200,105, 8, 72,226, 71,138, 32, 41, 0, 32,105,177,141,173,173, 45,126,252, -241, 71,113,247,238,221,197, 0,112,249,242,229,240,193,131, 7,183, 75, 76, 76, 12, 40,143,108,149,197, 69,254, 69,178,174,162, - 1, 15,197,236,241,194,107, 45,151, 36,193,227,241,112,253,250,117, 88,227,172,220, 18, 34,161,194,222,160,216,195,248,159,127, -254, 71, 1, 96, 25,104,120, 60, 30,174, 92,121,221,169,124,179,102,205, 74, 26,251,223, 37,189,253,138,156, 60,238,253,170, 40, - 93, 97, 43,139,188,107,239,253,202, 23,173,127,137, 67,239,113,179,250,106,180,134,198, 0,212,185, 57, 57, 57,183, 14, 28, 72, - 14,242,241,225,110,223,190,189,137,171,171,107,239, 42, 16,173, 41, 13, 27, 54,220, 79, 9,109,237,195, 7, 15, 9, 31,198, 33, - 13,131, 70, 78,156,151,144,146,169, 30, 49, 98,196,129,195,135, 15,135,255,244,211, 79,143, 39, 77,154, 52, 5,192,247,214,166, - 95, 32, 16,212,124,242,228,137,183,217,108,134,159,159,223, 63, 49,140, 65, 16,138,156,239,125, 14, 96,103,241,189,254, 40,242, -220, 31, 12,224,110, 85,192, 44, 26,172,178,142, 15, 45,174,174,174,190, 3, 7, 14,180,207,206,204,196,175, 75,150, 88,110, 55, - 66, 37,203,136,150,246,163,215,235,241,217,103,159, 13, 52,155,205, 28, 11, 9,212,233,116,250,188,188, 60, 45,254, 99, 88,154, - 1,224, 99, 43,146,227, 41, 22,139,127, 6, 16, 92, 88, 88,232, 10, 0, 98,177, 56,137, 97,152,131,106,181,250,123,252, 39,128, -111,149, 39,184, 0,252, 81,126, 40, 40,118,193,130, 5,207,166, 78,157,250,242,191,128, 89,211,201,201,105,126, 88, 88, 24,142, - 28, 57,130,163, 71,143, 26,133, 66, 33,103,240,224,193,196,152, 49, 99,228, 95,127,253,117, 39, 0,203,222,243, 51,119,154, 61, -123,182,162, 94,189,122,216,183,111, 31,238,221,187, 87,232,237,237, 45,108,211,166, 13, 56, 28,142, 98,218,180,105,159, 2,216, -252, 62, 63,144,157,157, 61,119,226,196,137, 91,118,238,220, 41,125,245,234, 21, 86,174, 92,105,223,183,111,223, 11,241,241,241, - 31, 85,129,108,241, 1,140, 3, 16, 74, 81, 84,171,193,131, 7,155,198,142, 29, 75,147, 36,105, 92,178,100,137,195,134, 13, 27, -250,210, 52, 29,156,149,149,101,205, 36,141, 4,240,227,176, 97,195,134,158, 59,119, 78,126,243,230, 77,158,157,157, 29,204,102, -115,137,166,152, 97, 24, 71, 75,157, 53,153, 76,240,245,245,117, 43,245,190,240,223, 74, 52, 72,146, 52, 48, 12, 67, 3, 16, 0, -208, 85,118,253,191, 68,178, 20, 10,197,232,236,236,236,223,156,157,157,225,228,228,244,214, 88,171,211,233, 32, 16, 8,184,206, -206,206,235,187,119,239, 78, 31, 58,116,168,220, 37, 64,130, 34,102, 30,222, 53,199, 85, 33,151, 2, 0,150,174, 57,161, 1,128, - 63,254,248, 3,201,201,201,144,203,229, 8, 8, 8,160,230,204,153,163,156, 48, 97,194,175, 57, 57, 57,195,202,195,122,147,139, -252,203, 52, 90,235,202,186,174,208, 70,139,101,217,146, 56,121, 86, 86,218, 55,111,157,126, 3,143,208,235,245,120, 83,163,101, -105,188, 52, 77,191,169,126, 4, 65, 16,108, 69,152,101,200, 96,177, 88, 28,168, 86,171, 87, 84, 97,118, 91,130,185,247, 43, 95, -108,225, 79,238,111,137, 68,218,105, 98,209,121, 11,128,171, 49,195, 86,174,250,232, 35,215,113, 51,150,207, 42,204, 74,206,156, - 54,176,107, 77,111,103, 59,161, 56, 55, 61, 79, 81,183,110,135, 55, 52, 50,149,165,179,117,120,120,248,214,147,215, 99, 9,129, -128,203,229, 80, 20,221,178,190,143,157,187, 45,101, 43, 5,108, 19, 94, 62,187, 58,100,200,144,250,147, 38, 77,106, 85, 5, 76, - 20, 15,184,216,182,109, 27, 8,130, 32,171,146,247, 15, 40,167, 43, 34, 89, 44,203,130, 32,136, 29,165, 6,149, 29,197,247,238, -148, 34, 91,156,138,202,211,162, 77,181,144,170,193,131, 7, 15, 52,153, 76,156, 82,157,196,155, 4,166, 44, 18, 99, 85,222,149, - 74,229, 73, 0, 31, 19, 4, 1,189, 86,171,255,249,151, 95, 74,255,249,246, 27, 36,235,116,121,109,201,104, 52,194,108, 54,115, -238,220,185, 67,151,170,235, 52, 0, 49, 0,123,150,101, 65,146,228,125, 43,202,211, 87, 36, 18, 93,141,136,136,176,105,212,168, - 17,193,227,241, 96, 50,153,240,224,193, 3,247,159,126,250,105,228,233,211,167, 63, 85,171,213,126,120, 59,120,186, 53,223,200, -255,210,165, 75,106, 47, 47,175, 50,137,163, 74,165,226,248,248,248,124, 84, 14, 41,250,171, 49, 19,211,210,210,122,124,252,241, -199,163, 82, 83, 83,163, 77, 38,211,119, 0, 2,236,237,237,239,244,234,213, 11, 66,161, 48,180,176,176,112,217,251,212,121, 71, - 71,199,238,205,155, 55,199,202,149, 43,241,211, 79, 63,181, 7,112, 6, 64, 59,149, 74,117,186, 91,183,110,144,201,100, 61,114, -115,115, 55,191, 71, 59,242,105,221,186,245,250, 31,127,252, 81,122,228,200, 17,120,123,123, 35, 63, 63, 31,223,126,251,173,227, - 15, 63,252,112, 62, 55, 55,183, 77,169,118, 81, 30,166, 31,159,207,223,188,115,231, 78,137,151,151,151, 23,151,203, 37,189,188, -188,144,157,157, 13,173, 86,203,159, 55,111, 94,125,161, 80,248,231,178,101,203, 54, 3,232, 85, 73, 58, 73, 0,115,215,174, 93, - 59,106,196,136, 17,178,129, 3, 7,154,245,122, 61,246,236,217, 3,138,162, 64,211, 52, 68, 34, 81, 73,240,106, 46,151,139,186, -117,223,114,146,126,184,130,252,230,161,200, 14, 85,134,170, 45,187,158,174, 0,175,100,233,131,166,105, 8, 4, 2, 8, 4, 2, -240,249,124, 60,121,242,100,134, 64, 32, 88, 66, 16,132,201, 26, 76,226, 63,236, 34, 16,192,205,202,174,241,182,105,200,223,217, -127, 90,196,141, 32,136,165, 0, 66,139,134, 93,242,130,189,189,253,248,180,180,180, 56,107, 49,149, 74,165, 93, 86, 86,214, 50, -165, 82, 9, 39, 39,167,146,241,219,213,213, 21, 70,163, 17,105,105,105, 96, 89, 22,185,185,185, 16,137, 68,112,113,113, 89, 54, - 98,196,136,125,235,214,173,203, 42, 19,147,193, 79,221,250, 78,159, 73, 81, 20, 9, 0, 20, 71, 34,249,122, 42, 80,179,102, 77, -180,108,217, 18, 90,173, 22,121,121,121,240,247,247,231, 16, 4, 17, 78, 16,132, 13,203,178,171, 1,156,253, 31, 84, 20,150,107, - 12, 63,251,205,117, 81, 75,180,120, 46,151,107, 21,209, 42,126,190, 50, 13, 10,105, 52, 26,193,229,114, 95,211, 72, 16, 4, 1, -179,217,252,218,125, 11,209,122, 23,162, 62,102,204, 24,102,253,250,245,163,114,114,114,214,224, 29,151, 18,194,195,195,223,178, -247,152, 48, 97, 66, 98,122,122, 58,251, 89,135, 64,113,244,177,228,148,218,114,137,208, 65, 42,173, 37,144, 43,100, 89, 89, 89, -215,138, 59, 19,107,165, 78,195,134, 13,133, 91, 14, 92, 74, 28,254,205,130, 57,141,188,236,108, 26,184,217,203,157,109,133, 60, - 9, 73,168, 5, 38, 99,162, 66,161,240,174,106,186, 45,253,130, 72, 36, 2, 73,146,255, 36,141, 22,199, 66,178,178,179,179,113, -228,200, 17,116,238,220,249,142,133,132,168, 84, 42,164,164,164, 64,169, 84,222, 41,214,124, 84,186,140,200, 48, 12, 12, 6, 3, - 12, 6, 67, 9,129, 41, 85,135, 74, 8,140,229, 89,138,162,238,191, 99,218,231,200,229,242,214,161,161,161,188, 93,123,246,240, - 88,150, 85,163, 40,134, 90, 1,203,150, 19, 32,251, 13, 49,153, 76, 37, 90, 54,154,166, 17, 31, 31, 95, 50,112, 89, 98, 75, 10, - 4, 2,235, 84, 25,124,254,196,221,187,119,219, 52,105,210,132,200,202,202, 2,195, 48, 37,157,228,111,191,253, 38,232,221,187, -183,107, 84, 84,212, 52,157, 78, 55,251, 29,242, 74,148, 71,136, 0,192,198,198,198, 4,235, 60,102, 87,138,105, 50,153,136, 22, - 45, 90, 76,202,204,204,172, 95, 88, 88, 56,207,154, 98, 4,112, 56, 49, 49,177,244,192,254,103,116,116,116, 97,159, 62,125,132, -181,106,213, 10,121,244,232,209,123, 85, 82, 31, 31,159,102, 52, 77,227,198,141, 27, 58, 0,150,153,245,133,123,247,238,233,122, -245,234,197,119,119,119,111,150,155,107,181,201,138,143,175,175,239, 41, 71, 71, 71,161,165, 15,117,112,112,160,215,173, 91, 39, - 77, 74, 74,130,193, 96,192,148, 41, 83,208,165, 75, 23,216,219,219, 99,194,132, 9, 78,139, 22, 45,218, 94, 80, 80,208,176, 34, -165, 53,143,199,219,250,252,249,115,111,165, 82, 41,188,126,253, 58, 26, 52,104,128,204,204, 76,164,166,166,162,160,160, 0,169, -169,169, 24, 54,108,152,227,175,191,254,234, 98,133, 38,171,132,100,173, 91,183, 46,119,255,254,253,212,239,191,255, 46,165,105, -186,132,104,113, 56,156, 18,162,101,137,173,248, 14, 43, 13,185,197,164, 77,150,151,151,247, 62,118,110,124, 0,188,210, 36,139, -207,231,131,207,231, 67, 32, 16,188, 87, 92,214,127,137,184, 18, 4,241,136,203,229,242, 69, 34, 17,151, 36, 73,240,249,252, 14, - 10,133,226, 97, 64, 64, 64,192,169, 83,167, 98,173, 1,209,106,181, 91,249,124, 62,237,232,232, 8, 0,240,246,246, 70,131, 6, - 13,160, 86,171,153,188,188, 60,200,100, 50, 50, 46, 46, 14,133,133,133, 72, 73, 73,129,135,135, 7, 77,146,228, 86, 20,217, 33, -191, 37, 87,239,164,174, 1,176,198,114,109,111,111,159, 86, 90,211, 41, 16, 8,224,234,234,138,164,164, 36, 72,165, 82,234,135, - 31,126,232,181,103,207,158,158, 87,175, 94, 13, 7,176,173, 20,212,236,127,177,141,150,133,100,149, 62,255,135,104,117,233,210, -101, 86,100,100,228, 71,101,205,194,105,154,254, 96,182, 46, 22, 66,101, 99, 99,243,166,214, 10, 12,195,148,167,209,170,242,239, - 8, 4, 2,225,232,209,163,243, 87,175, 94, 93,101,178, 21,182, 50,186, 68,139,245,214, 52,210,207,239,234,180,105,211,186,159, - 59,119, 46,169,145, 87, 45,142, 56, 57,174, 64, 96, 35,147,193,173, 70,231,193, 61,122,221, 67,209,238, 67,107,229,121,126,126, -190,176,182,155, 72, 79,146, 90,162, 6,159, 35, 85,138,185,124,103,185,220,149,171,215,165,219,200,229, 60,157, 78,151,139, 10, -130, 64, 3,128,147,147,211, 9,161, 80,232, 97,185,150,203,229,182, 44,203, 66, 36, 18, 65,169, 84, 74, 40,138,122, 90,170,113, -197,165,165,165,117,168, 44, 97, 50,153,236, 4,159,207,247, 32, 73, 18, 4, 65,128,162, 40,144, 36, 9,146, 36, 75,254, 79, 81, - 20, 8,130,128, 70,163,137,139,141,141,237, 96, 69,126, 77, 0,130, 9,130,184,115,228,200, 17,132,132,132,224,216,177, 99,232, -216,177, 35,242,242,242,240,224,193, 3,180,110,221, 26, 40, 90, 82,180, 74, 74, 27,191, 91, 38, 5, 79,158, 60, 41, 33, 46,165, - 15,169, 84,250, 62, 42,246,203, 97, 97, 97, 88,191,126, 61, 91, 60,153, 16, 19, 4,209,192,214,214,246,201,227,199,143,173,178, -131, 97, 89, 22, 6,195,127, 30,181, 12, 94,197,246, 16, 85, 10, 14, 76, 81, 84,135,134, 13, 27, 18,121,121,121, 22, 2, 9, 14, -135, 3,138,162, 64, 81, 20, 86,173, 90, 37,108,210,164,201,116, 62,159, 63,137,203,229,170,140, 70,227, 46,173, 86, 59, 15, 64, -238, 63,169, 71,106,213,170,213, 55, 9, 9, 9, 93, 60, 60, 60, 34,222, 3,134, 53, 26,141,122, 0, 66,138,162,232, 15,208, 71, - 81,197,117, 75, 91,138,236,155,138,175,249, 40, 90, 38,182, 74,236,237,237,183, 31, 61,122,212,205,195,195, 3, 70,163, 17, 38, -147, 9, 5, 5, 5,184,112,225, 2,116, 58, 29, 76, 38, 19,188,189,189, 49,115,230, 76,237,248,241,227, 5,107,215,174, 77, 47, - 40, 40, 24, 80, 9,236,248,125,251,246,137,149, 74,165,176,176,176, 16, 47, 95,190, 68,195,134, 13,145,159,159, 15,181, 90, 13, -141, 70, 3,131,193, 0,149, 74, 37, 51,155,205,250, 74,176,102,148, 38, 89, 35, 71,142,188,207,227,241, 26,142, 29, 59, 22,137, -137,137, 37,109,126,248,240,225,112,114,114, 42,105, 75,197,125,114,149, 58,102, 14,135, 3, 62,159, 15, 46,151,155, 91,163, 70, - 13, 16, 4, 33,136,139,139,123,151,165, 56, 27, 0, 42,154,166,121,165, 9, 22,159,207,199,141, 27, 55,166,241,120,188,242,180, - 89,229,181, 75,182, 42,215,255,109, 33, 8, 98, 41,151,203,229, 43, 20, 10,110,169, 9, 39, 87, 34,145,192,209,209,113, 37,128, - 78, 86,230, 59, 72,161, 80,148,244,239,129,129,129, 72, 72, 72, 56,152,151,151, 55, 40, 61, 61, 29, 36, 73,110, 37, 73,178,167, -101,146,154,147,147, 3,119,119,247,160,242,240,154, 7, 59,143, 2,193,190,166,209,122, 99,130, 6, 27, 27, 27,196,196,196, 64, -173, 86,179,207,158, 61, 35, 70,143, 30, 77,232,245,250, 77, 81, 81, 81,215, 80,180,219,190, 92, 46,242, 47,145,170,219,104, 89, - 52, 90,214, 14, 0, 4, 65, 84, 58,155, 48, 26,141, 18,127,127,255,178, 12,190,136,178,136, 86,241,114,210, 59, 85,116,154,166, -165,239, 74,182,222,148,136,253, 59,157,126,154, 57,101,166,194,165, 86,237, 73,147,102,112,186,118,237,122,125,203,150, 45,102, - 69,189, 78,237,206,158,216,230,180,236,219,201,199,142, 30, 61, 10, 20, 25, 70, 91, 43,151, 35, 35, 35,157, 39,140, 27,131,153, - 19,199, 31,183,241,182,231, 73, 8,133, 88,160, 83,103, 72,192, 22,242,235,248,118, 57, 16, 17,145, 2, 32,170, 34, 16,145, 72, -228,241,232,209, 35,239,210, 27, 9,244,122, 61, 68, 34, 17,206,158, 61,235, 32, 20, 10, 29, 0,160,176,176, 16, 1, 1, 1,214, -106, 76, 60,158, 62,125,234, 45,149, 74,161,209,104,160,211,233, 96, 52, 26,193, 48, 12, 8,130, 0, 77,211,224,241,120, 16,139, -197, 85,221,217,119, 23,192,231,157, 59,119,222,113,236,216, 49,248,251,251, 35, 39, 39, 7,209,209,209, 22,146, 85, 37, 27, 45, -139,150,168,180, 61, 22,135,195,193,118, 47, 47, 12, 79, 78, 46, 33, 48, 75,109,109, 49,147,121,183,104, 26, 1, 1, 1,236,229, -203,151,113,252,248,113,116,235,214,141, 56,116,232,144,193,108, 54,115,147,147,147,239, 39, 39, 39, 91,133,193, 48, 76, 73, 90, - 45,253,118,105,130, 85, 85,162,101, 50,153,164, 60, 30, 15, 90,173, 22, 22,205, 67,233,195,211,211, 19,217,217,217, 28,149, 74, -197, 73, 78, 78, 22,205,157, 59,119,236,249,243,231,149,249,249,249,253,255,155,189,208,234,213,171, 61,134, 15, 31, 30,207,225, -112,216,142, 29, 59, 14,140,139,139,235,161, 84, 42,207,156, 59,119,238, 23, 0, 62, 85,197,179,183,183,191,205,225,112,220, 84, - 42, 21,119,239,222,189,198,252,252,124,174,131,131, 67,154,165,239,176,148,181,209,104,180,106,231,178,189,189,253,237,204,204, - 76,238,138, 21, 43,140, 89, 89, 89, 92, 39, 39,167, 52, 11, 78,110,110, 46,119,239,222,189, 70,149, 74,197,181,181,181,189,157, -151,151, 87, 41, 94,102,102,230,128,240,240,240, 75,103,206,156,177,167, 40, 10,113,113,113,200,202,202,130, 76, 38,195,214,173, - 91,225,225,225,129,125,251,246,101,103,103,103,127,241,243,207, 63, 79, 47, 38, 89,149,217,104,181, 14, 9, 9,241,200,205,205, -133, 76, 38,131, 90,173,198,237,219,183,225,231,231,135,228,228,100,144, 36, 9,153, 76,134,223,126,251, 77, 67, 16, 68,118, 69, - 64, 66,161,176,199,136, 17, 35,100, 0, 48, 98,196, 8,217,136, 17, 35,202, 28,224,154, 53,107,134,149, 43, 87,190, 73,180,170, - 50, 49, 40,209, 58,149, 34, 71,218,166, 77,155,226,252,249,243,147,171, 72,142,244, 22,210,246,166, 54,139,207,231, 87,121, 51, - 13,195, 48, 92, 20,153, 52, 16,214, 92,255, 3,228, 35,161, 80,200,125,243,166, 70,163,225, 42,149,202, 86, 85, 32,190,118, 66, - 97,145,194,201,195,195, 3,121,121,121,102,189, 94,223,247,255,218,187,206,240, 38,174,180,123,102, 70,189, 88,238, 21, 3, 6, - 2,152, 14,166, 99, 58, 14, 16, 32, 75, 18,218, 38,212,133,152, 16,216, 44, 36, 11, 36, 31,201,134, 56,148, 64, 96, 33,129, 16, -240, 66, 48, 16, 72, 66, 11, 29, 66, 89,140, 9, 53, 54, 4, 55,108, 76,115, 47,178, 44,217,146,101,149, 25,205,247,195,146, 34, - 27, 23,201,150, 41, 89,157,231,153,199, 26,207,232,232,206,157, 91,206,125,239,123,223,187,103,207, 30, 35, 0,132,133,133, 77, - 97, 24,166,130,166,105,138,207,231, 67,163,209,192,207,207,207,187, 14,219,232,210,163, 63,172, 8,168,238,163, 21, 24, 24,136, -176,176, 48,232,116, 58,228,229,229, 33, 54, 54,214,200, 48,204,222,111,191,253,214,228,235,235,251,183, 9, 19, 38, 80,241,241, -241, 11, 0, 44,170, 77,139,188, 96,214,172,232, 90,133,150, 89, 65, 94, 4, 48,180,250, 67, 86, 23, 63,117, 9,173,250,166, 14, -249,124,190, 50, 51, 51, 83, 98,219,169,208, 52,141,160,160, 32, 19,203,178, 68, 77, 66,171, 49,166, 96, 46,151,235,246,209, 71, - 31, 41,191,253,246,219,169, 15, 31, 62, 92,110,207,119,246, 47,232,128, 93,213, 68,214,214, 53, 81,155, 55,173, 89,225,149,113, -122, 39,182,127,189,142, 97, 24,196,119,237,218,117,144, 90,173,230,184, 75,140,144, 43,113,202, 44,178,236, 21,133, 36,128,239, -110,220,184, 17, 63,102,204,152, 95,191,251,241,144, 87,238,253,251, 87, 5,165,242, 60, 89,219,118, 28, 94,179,150,175,151, 85, - 84,240,166, 76,153,226, 11, 96, 66,125,141,152, 82,169, 68,126,126,126,117, 1,134,187,119,239, 62,113,175, 93,137, 35, 73, 48, - 12,131,131, 7, 15, 66, 44, 22, 67, 34,145, 84, 57, 44, 34,171,129, 11, 21,210, 0, 96,244,232,209, 80, 40, 20,144, 74,165,118, -167,171,186,120, 97, 89, 22,122,189, 30,122,189, 30, 6,131,129, 1,192,229,112, 56,152,157,157,109,181,242, 56, 34, 96,170,163, -107,215,174,236,149, 43, 87,240,235,175,191, 66,163,209, 96,211,166, 77, 8, 12, 12, 28, 14,224, 19, 71,185,108,156,244,153,210, -210, 82,110,105,105,169,213, 58,200,229,114,173,214, 3, 59, 45,121, 60, 14,135, 99, 29,141, 90, 14, 91,171, 22, 69, 81,240,247, -247, 71, 64, 64, 0,182,110,221,202,107,213,170,213,184,103,217, 2,173, 93,187,182,237,198,141, 27,119,236,218,181,235,212,212, -169, 83,127, 74, 76, 76,156,229,238,238,126,231,194,133, 11, 43, 4, 2,129,169,129,245, 59, 56, 55, 55,215,207,246, 95, 38,147, - 73, 76,211,180, 85,216,150,151,151,219, 61,192,224,114,185,193,201,201,201, 98, 0, 88,177, 98, 5, 23,128,216,226, 12,110,225, - 44, 47, 47,231,118,234,212, 41,216,222,178, 30, 23, 23, 55, 40, 34, 34,226,202,217,179,103, 61, 91,182,108,137,156,156, 28,228, -228,228,160,109,219,182, 88,181,106,149,166,180,180, 52, 28, 64,154, 90,173, 62, 98, 39,103,144,167,167, 39, 55, 51, 51, 19, 52, - 77,163, 71,143, 30,216,178,101, 11,166, 76,153,130, 46, 93,186,160,180,180, 20,201,201,201,136,137,137,241,228,241,120,117,182, - 29, 90,173,246, 72,116,116,116,243,234, 22,173,105,211,166, 73, 10, 10, 10,172,101, 50, 42, 42,170,202, 20,162, 35,109,178,121, -106,171,214,163, 33,160,105, 90, 38, 20, 10, 75, 5, 2, 1,223,226,159, 21, 27, 27,235,176, 53,171,218, 0,208,145,243,103, 6, -139,104,173,161,111, 69, 64, 64,128,221, 60, 2,129,128,176,180,141, 52, 77, 67,165, 82, 49,129,129,129,214,233,253,132,132, 4, - 38, 36, 36,132,161, 40,138,226,243,249, 32, 8, 2, 98,177,184,214, 6,159,101,216,168, 87,167,124, 82,101,213,225,194,143, 0, -131,193,128,132,132, 4, 24, 12, 6,196,198,198, 26,191,252,242,203, 92,165, 82,185, 16, 0,231,204,153, 51, 51,150, 44, 89, 66, -249,249,249, 69, 20, 22, 22,162, 62, 45,242, 2,137,173, 39,172, 92,150, 94,232,226,184,113,227, 8,243,210, 74,194, 34,156, 28, - 17, 90,230,202, 87,111,207, 75, 16, 4,242,242,242,172,231,126,126,126, 14,255,150,189,240,246,246,214,244,239,223,223, 77, 46, -151, 31, 89,187,118,109,131, 44, 89, 91,215, 68,109, 94,253,249,167, 94,138,148,107,200,206,205,131,162,208, 24,127,249,206,195, -195, 0, 14, 3, 0,182,117,188, 72,188,147,250,141,189,156, 29,124, 68,221,185, 60,206,225,151,199,140,107, 62, 57,114, 17,249, -238,187,239, 14,156, 49, 99,134,106,234,212,169,239, 73,165,210,246, 6,131,161,228,208,137, 19,143, 38, 79,158,220,138, 97,152, - 25,168, 39,230,136, 86,171,125, 60,116,232, 80,219,252,148,157, 59,119,206,255,209,163, 71,152, 63,127,126, 81, 78, 78,142,210, -246, 94,123,210,104, 48, 24, 30,119,239,222,189,214,233, 66,203,148, 34, 0,148,149,149, 61,118, 32, 75,223,132,217,241,189,184, -184, 24,119,239,222, 5,135,195, 65,191,126,253,112,249,242,101, 12, 28, 56, 48,193, 17,171, 86, 69, 69, 5, 90,182,108,137,138, -138, 10,104, 52,154,114, 0,130,221,173, 90, 1, 0, 22, 20, 23,227,183, 47,191,196,181,213,171, 97, 91,158,237, 69,183,110,221, -216,107,215,174,225,206,157, 59,208,233,116,152, 51,103, 14, 0, 16,230,178,235, 72,200,140, 54, 20, 69,141, 30, 51,102, 76, 16, - 0,104, 52, 26,226,198,141, 27, 16, 10,133,214,186,112,236,216, 49,228,228,228,128, 32, 8,120,122,122, 6,151,148,148,180, 2, -240,176, 14,179, 63,241,240,225, 67,124,241,197, 23, 48,153, 76, 88,178,100, 9,218,181,107,103, 21, 88,143, 31, 63,198,138, 21, - 43,192, 48, 12, 62,253,244, 83,180,109,219, 22, 70,163, 81,136, 6,134,208,112, 6,222,127,255,253,140,195,135, 15,159,202,202, -202,122,101,205,154, 53, 67, 8,130, 48, 45, 94,188,248, 11,153, 76,198, 52,134,183, 68, 85,134,187,247, 30, 91,133, 80,245,195, -215,199,203, 97,190,244,251, 89,214,239, 51,140, 45, 31, 3,111, 47, 79, 71,147, 88,110, 52, 26, 53,175,191,254,186,199,193,131, - 7,137,182,109,219,226,193,131, 7, 22,203, 80, 57, 28, 15,233,144,163, 80, 40,218, 81, 20,197,187,119,239, 30, 66, 66, 66,208, -183,111, 95,172, 92,185, 18,114,185, 28, 52, 77,195,207,207,207,100, 52, 26, 19, 12, 6,195,165,122,184,162,230,206,157,203, 3, -240,142,217,178,213,117,225,194,133,166,117,235,214, 33, 33, 33,193,106,193,178,117,134,119,116,234,208,214,234,100,123,196,198, -198, 46,225,243,249, 44,128,235,112, 60,208,179,190,186, 69,171, 33,214,172,166, 66, 83,174,100, 12, 12, 12,140,117,115,115, 27, - 87, 82, 82, 82,197,170, 21, 30, 30,110,240,247,247,143,179,151, 71, 42,149,150, 80, 20,229, 13, 0, 57, 57, 57,144, 72, 36,188, -251,247,239,175, 70,101,240,108,180,106,213,106,181, 66,161,224,181, 50,183,167, 1, 1, 1,208,235,245,181,186,177, 92,189, 85, -176, 19,192, 78,203,185,151,151, 87,158, 74,165, 18,173, 91,183, 78,189,122,245,106, 45,195, 48, 58, 0, 23,148, 74,165, 53,142, - 86,126,126,190,138,203,229,122,121,120,120, 52,179, 8,173,154,180,200, 11,134,218, 45, 90,102, 37,201, 86, 23, 68, 4, 65, 60, -225,160, 94,143,208,170, 87,100, 49, 12, 83,197,202, 96,113,120,175,233,183,204,157,122,131,166, 14,205, 34, 75,120,232,208,161, -221,107,215,174,189,110,239,247,108,125,180,182,173,255,124,141, 69,100,253,254,235, 89, 28, 73, 85,201,151,172,222,176,177,161, -111,160,163,143,184,155,191,191,247,197, 47, 87, 69,201, 50, 78,199,224,167,109,255,102,127,191,121,179,207,205,155, 55,167,207, -159, 63,191,133,185, 96, 41, 0,220, 6, 48, 25,118,172,210,201,201,201, 25, 85,173, 19, 78,227,241,120,254, 98,177, 24, 57, 57, - 57,234,244,244,116,135,167,100,228,114,249,168, 38, 40,128, 28,139,200,146,203,229, 72, 78, 78,198,176, 97,195, 0, 0,151, 47, - 95, 70,120,120, 56,226,227,227,209,179,103,207, 4, 0,189, 81, 79,160, 86,163,209,168,236,216,177,163,213,186,165, 82,169, 76, - 0, 16,153,151,135,232,192, 64,112, 56, 28, 92, 91,189, 26,203,140, 70,172,116, 80,192,119,239,222,157,189,113,227, 6, 30, 61, -122, 4,154,166, 49,126,252,120, 52,176,210,119,233,208,161,195,185, 11, 23, 46,248, 74,165, 82,104, 52, 26,168,213,106,204,156, - 57, 19, 83,166, 76,129, 78,167,195,254,253,251,113,244,232, 81,184,185,185, 65,163,209, 64,163,209,120,142, 29, 59,246, 74, 90, - 90,218, 96, 0,247,106, 17, 90,236,168, 81,163, 16, 23, 23, 7,138,162,208,167, 79, 31, 20, 23,255,177, 24,200,223,223,191,166, -107,212,179, 20, 90, 28, 14,135,141,141,141, 93, 51,100,200, 16,100,101,101,189,210,179,103,207, 77,179,102,205,202,105, 44,175, -167,187, 27,186,119,106, 3,157, 78, 7,157, 78,135,160,160, 32,148,149,149, 33, 35, 35, 3, 58,157, 14,254,126, 30, 14,243,133, -117,105,107,229,243,243,243,131, 70,163,193,195,135, 15,161,215,235,225,227,227,144,208,106, 62,106,212,168,255,238,221,187,215, - 59, 38, 38, 70, 63,116,232, 80,254,166, 77,155, 8,153, 76, 6,155,142,197, 81,196, 94,190,124,185,101, 68, 68, 68,104, 74, 74, - 10, 98, 99, 99,161,215,235, 17, 22, 22,134,244,244,116,244,239,223, 31,106,181,250,250,205,155, 55,143,218, 99, 24, 6,240,241, -220,185,115, 97, 17, 91,113,113,113,200,203,203,131,155,155,219, 19, 66,203,226,251,104, 94, 53, 30,100, 79, 98, 45,130,200,198, -242,180,204,195,195,195, 0, 96, 99, 3,173, 79, 0,128,172,172, 44, 65,215,174, 93,117, 66,161,144,111, 22,109, 27, 26,195,231, - 76, 56, 97, 37, 99,173, 8, 8, 8, 88,232,227,227, 19,209,186,117,107, 20, 20, 20,240,248,124, 62,194,195,195, 13,189,123,247, - 54, 4, 4, 4, 44,176,151, 71, 32, 16,164,240,120,188,193,149,131, 9, 6,153,153,153, 96, 89,118, 73,151, 46, 93,254, 81, 86, - 86,134,226,226, 98,190, 76, 38,179, 14,170, 67, 67, 67,161,211,233, 82, 28,176,188, 69,133,132,132,124,204,227,241, 86,202,229, -242,154,194, 66,240, 61, 60, 60,100, 60, 30, 15, 6,131,161,138,216,172,174, 69, 94,116,145, 85, 69,104,217,168,200, 42, 66,199, - 17,139,150, 61, 86, 3,139,131,189,237,185, 69,212, 85,255,173,134,198,208,114,119,119,215, 89, 68,214,202,149, 43,175, 55,132, -227,192,222, 61,129,238,166,242,230,185,215, 79, 34,237, 78, 60, 14, 39, 43,229, 75, 86,111,120,239,213, 9,111, 22, 84, 23,102, -246,160,157,175,184,139,191,159,247,197,245,107, 87,203, 20, 41,215,144,151,159,143,147,215,111,198, 27,128,100, 0, 75,156,105, - 90, 6, 42,167, 14, 41,138,122,158, 10,172,213, 25, 62, 47, 47,207, 34,178,194, 0, 96,224,192,129, 9,102,145, 5,123, 45, 90, - 74,165,178,250,150, 53, 17, 0,124, 44,207,207,225,112, 16,254,241,199, 14,139, 44, 0,108,124,124, 60, 20, 10,133,101,164,216, - 80,145,133,128,128,128,127, 94,184,112,193,247,187,239,190, 43,221,181,107, 87,177,201,100,226,118,239,222, 61,184, 87,175, 94, -196,238,221,187, 1, 0,147, 39, 79,198,146, 37, 75,144,148,148, 4,137, 68,130,129, 3, 7, 50,203,151, 47,247, 91,184,112,225, -130,130,130,130,247,106,236, 29, 77, 38,158, 80, 40, 60, 15, 96,120, 74, 74, 10, 0, 92, 65,229, 22, 78, 22, 43, 66,173,215,236, -233,124,203,202,202,184,110,110,110, 53,134,134,224, 85,142,134, 28,181, 64, 88, 57,127,253,245,215, 47,214,175, 95,127,248,131, - 15, 62,184,215, 72,206, 26, 45, 90,227,198,141,131, 86,103, 64,118,129, 10, 12, 67, 67,107, 40,116,152,207,214,162, 53,110,220, - 56,148, 87,232,145,153,167, 0, 77, 51, 40,211,218,221,151,139, 95,126,249,229, 51, 63,252,240, 67,192,213,171, 87,193, 48,140, - 41, 61, 61,253,225,235,175,191, 46, 91,188,120,177,119, 35, 22, 25,125,253,230,155,111, 78,252,245,215, 95, 21,161,161,161, 94, -215,175, 95, 71, 97, 97, 33,104,154,198,240,225,195,193,231,243, 51, 87,175, 94,205, 3,240,181,189,239,198, 44,182, 12, 55,111, -222,124,251,218,181,107, 94, 94, 94, 94,124, 83,135, 14,200, 59,123, 22, 7, 15, 30,124,226, 11,219,182,109, 3,236,140,194,111, -177, 56,221,184,113,195, 41, 2,171, 74, 79,205,231, 55,120,250,241, 69,197,141, 27, 55,114,222,125,247,221, 78, 50,153,108,227, -160, 65,131,134,121,123,123,147,158,158,158,177,205,154, 53,251, 71,247,238,221,237,158, 93,224,114,185,179, 36, 18, 73, 6, 77, -211,148, 90,173,134, 70,163,169,108,164,105,154, 79,146, 36, 90,181,106,101,237, 75,250,244,233,131,128,128, 0, 38, 53, 53,117, -150,189,252, 69, 69, 69, 85, 86, 33,214,128,185,225,225,225, 28,157, 78,135, 71,143, 30, 93,182,189, 80,147, 22,121, 65, 16, 89, -167,248,178, 60,148,237,195, 53,107,214, 44,203,104, 52,178,201, 0,123,251,246,109, 54, 50, 50,178,206,163,162,162,130,245,243, -243,203,171,161,243,131, 45,167, 78,167,171,242, 61,157, 78,199,250,251,251, 51, 90,173,246, 9, 78,173, 86,203, 6, 7, 7,231, -212,197, 89, 3,102,222,186,117,235,219,101,203,150,245,117, 32,131,172,156,236,214, 14,108, 76, 76,204, 95, 89,150, 29, 50,168, - 83,203, 59,147,186,251,179,225,237,252,114,143, 30,216, 59,133,101,217, 33,213, 15, 75,128,211,186, 56, 59,248, 75, 58,142,232, -220,162,228,247,211,251,216, 11,235,254,206,174, 31,223,142,237, 25,236,166,236,224, 35,114,116,143,152,122,119, 75,239,220,185, -115,154,201,100, 98,245,122, 61,219,185,115,231,116,103,112, 54, 0,117,113,246, 64,165, 47,219,155, 53,252,175, 71, 35,210,249, - 59,203,178,172, 66,161, 96,213,106, 53,171,211,233, 88,134, 97, 88, 91, 0,248,221, 14, 78,214, 96, 48,176, 37, 37, 37, 44,236, -247,185,171,145, 51, 48, 48,240,225,253,251,247,217,151, 94,122, 41,203,108,142, 95,168,209,104,216,234,208,104, 52,236,176, 97, -195,216,244,244,116, 54, 36, 36,164, 34, 61, 61,157, 13, 12, 12,188, 91, 79, 58, 91, 55,111,222,252,188,143,143, 79, 44,128,118, - 14, 92,171, 51, 63,247,239,223,223,134,101,217, 57, 44,203, 70,214,114,204,119,133,129,130, 0, 0, 32, 0, 73, 68, 65, 84, 97, - 89,182,195,179,230, 52,231,111, 1,203,178,108,121,121, 57,171, 80, 40,216,220,220, 92,182,188,188,156, 85,171,213,236,173, 91, -183,216,171, 87,175,178,119,238,220, 97,189,188,188, 10,236,225,180,240,233,245,122,182,180,180,148, 45, 44, 44,100,181, 90, 45, -171,209,104,216,196,196, 68,246,183,223,126, 99, 83, 82, 82,106,226,123,130,211,219,219,123, 91,126,126,190,250,202,149, 43,229, - 91,183,110, 45, 15, 8, 8, 72, 1,208, 18, 64,123, 79, 79,207,252,191,255,253,239,172, 84, 42,125,220,192,122,212,137,203,229, -222, 90,179,102,205,141,227,199,143, 23, 28, 61,122, 84,191, 99,199,142,236,249,243,231, 95,226,112, 56,183, 0,116,106, 96, 61, -242,243,240,240,184,114,253,250,117,186,164,164,132, 85, 42,149,108,105,105, 41,171,209,104, 88,173, 86,203,234,245,122,214,104, - 52,178,151, 46, 93, 98,253,253,253,109,167, 37,151,214, 49,176, 94,196,178,236, 63, 89,150,229, 56,187,173,179,225, 30,228, 44, - 78,103,180,117, 36, 73, 26,204,109, 71,191,202,211,186,207,159, 85, 58, 71,140, 24,241,233,148, 41, 83,216,209,163, 71,179, 97, - 97, 97, 79, 28, 61,123,246,100,231,205,155,199, 30, 63,126,156,253,242,203, 47, 63,117, 66, 58, 57,168, 92,244,178,106,196,136, - 17,198,184,184, 56,118,242,228,201, 44,128, 81,117,105,145, 63,131,224,178,132,119, 32,108,255, 2,128,193, 96,200, 74, 75, 75, - 11, 12,165,105, 10, 0,190,249,230,155, 39, 44, 83,182,136,139,139,163, 9,130,200,168,235,215, 13, 6, 67,214,133, 11, 23,252, - 55,111,222,204,181, 49, 1,131,166,105, 83,110,110, 46,185,105,211,166, 42,247, 95,188,120,145,166,105, 58,211,193,135,140,233, -209,163, 71,140, 51,114,235, 82,210,163,127,156, 57,249,179, 79,191,190,131,148, 50, 47,175, 26, 71, 97,251, 23,116, 0,241, 78, -221, 86, 45,130, 67,174, 92,179, 42,202,195, 50, 5,249, 99, 66,190,178, 66,199, 12, 75,149,107,127,119,246, 27, 86,171,213,143, - 44, 43, 1, 53, 26, 77,230,115, 88, 8,111,161, 50,198, 21, 93,237,127,189,209, 72,167, 83,147,201, 4,119,119,119,171, 53,180, - 1, 22, 81,214, 98, 97,181,188,186,198,164,135,101,217, 95, 19, 19, 19, 67,102,206,156,233,182,107,215,174,251, 12,195,112,103, -207,158,109, 8, 8, 8,224, 93,190,124,217, 8,128, 24, 50,100, 8, 39, 63, 63,159,205,201,201, 81,252,229, 47,127, 41,123,251, -237,183,189,111,223,190,205, 55,153, 76,245, 5, 45,124,144,149,149, 53,162, 1,215,234,196,164, 73,147,238,163,241,219,216, 52, - 57,167, 5, 10,101, 41,238, 63,202, 49, 71, 48, 55,129,121, 92, 96,245,171, 50, 26,105, 40, 74,139, 29,182,104,101, 60,204, 49, -111, 49,198,128, 97,114,205,124,149, 14,241,108, 73,121,253,189, 9,135, 51,112,249,242,229, 99, 72,146, 36,175, 93,187,166, 91, -187,118,109, 86, 81, 81,209,120, 0,153, 0, 80, 82, 82, 50, 52, 38, 38,230,123, 59, 66, 57,212,134,100,163,209,216,127,233,210, -165,239, 1, 24, 8,160,133,153,251,178,217,146,213,208, 8,230,133, 74,165,114,228,152, 49, 99,206, 82, 20,213,202,166, 30,249, - 0,144, 91,234, 5,203,178,126, 5, 5, 5,175,216, 67, 72, 16,196,134,166,106, 72,154,146,187,145,237,208, 11,177,146,241,252, -249,243,159,141, 31, 63,158,211,178,101,203,255,107,217,178, 37, 89, 82, 82, 2,181, 90, 13,146, 36, 17, 16, 16,128,206,157, 59, - 35, 32, 32,192,148,146,146,178,234,195, 15, 63,172, 55, 38, 95,199,142, 29,219, 24,141,198,151, 72,146,108, 3,160, 13,203,178, -109, 8,130,104, 3,192, 11, 0,100, 50,153, 44, 36, 36,132,211,175, 95, 63,244,237,219, 23, 23, 47, 94,196,129, 3, 7,118, 2, - 56, 99,107,205,170,174, 69,158, 7, 36,247, 0,219,233, 22,136,164,158, 24, 66,152,112,145, 37, 49,180,115,188, 53,206, 94,117, -145, 85,251,166,210, 53,152,254, 70, 13, 31, 62,220, 90,225,236,232, 84, 30,213, 87,249,138,138,138, 70,205,154, 53,171, 10, 39, -195, 48,186,226,226,226,119, 7, 12, 24,176,133,162, 40, 65,181, 2,251,184,176,176,240,169,238,213, 87, 61,142,214,168, 49,175, -201, 27,203, 41,229,145, 47,165,157,248, 15, 10, 10,229,248, 49, 33,191,164, 76,207, 12, 77,151,151, 39, 54, 69,250, 31, 63,126, - 60,250, 5, 80,252, 53,137,214,198,110,158, 93,100, 71, 64,210,250,246,168, 35,204,225, 68,156, 82,201,243,243,243,215,125,252, -241,199, 35, 87,173, 90,229,123,234,212, 41,153,101,128,242,198, 27,111, 20, 38, 38, 38, 14, 2, 32,168,168,168, 56,183,106,213, - 42,223,168,168, 40,111, 0,222, 0, 48,118,236,216,130,130,130,130,205,112,161, 78, 24,141,198,236,206, 29, 67,173, 3, 63,219, -144, 14,182,159,105,154,206,118,132,175, 38, 30,219,115,134, 97,234,228,163, 40,234,131,190,125,251, 82, 31,124,240, 65,193,169, - 83,167, 44, 27,233,218, 42,180,180,122,130,146,218, 3, 29,128,181,230,195,153,208, 40, 20,138,254, 14,126,135,113,149,198, 26, - 7,148,142,156, 63, 19, 28, 57,114,228,147,201,147, 39,199,120,121,121,237,105,211,166, 77,168,191,191,191, 76, 36, 18, 65,167, -211,149,233,245,250,187,105,105,105, 83, 63,249,228,147, 7,118, 89, 56, 98, 98, 40, 0, 60,147,201, 36, 36, 73, 82, 2, 64, 70, - 16,132,167, 69,104, 17, 4, 1,131,193,128, 71,143, 30, 97,217,178,101,204,249,243,231,191, 4,240,169, 3, 3,215,222, 0,124, -109,218,113, 95, 0,122, 84, 6,176, 45, 34, 8,226,102, 83,231, 23, 97,194,197, 78,183, 64, 36,247, 64, 77,253, 68,221,155, 74, -215, 86,225,138,138,138,250, 59,187, 18,215,198, 89, 84, 84,212,242,121,169, 33, 51,116,107,247, 97,219,218, 42,251, 28, 90, 68, - 88, 77,231,245, 65,165,165,231,127,125, 38,105,157,142,102, 77, 6,218,244,183,244,162,242,100, 87, 59,228,116,188,236,172,186, -228,196, 52, 37,166,166,166, 14,152, 63,127,254, 39, 98,177,184, 15, 0,148,151,151, 95,203,205,205,253, 28,230, 85,133,245, 93, -119,161,118,200,229,242, 94,207, 35,159, 94,175,255,199,128, 1, 3,190, 98, 24,102, 61, 77,211,151,255, 7, 94, 69,133,171, 52, -190,184,248,233,167,159, 30, 0,232, 15, 0, 19, 39, 78,164, 0,224,192,129, 3, 14,139,231,153, 51,103, 50, 44,203, 26,204,229, - 65,131,202,213,133, 37,150, 54, 85,163,209,148,228,230,230,166, 48, 12,147, 2,224,123, 56,190,226,214,151, 32,136,227, 44,203, -142, 51, 11,183,227, 44,203,142,179,253, 95, 83, 91,181,234,185,165,126,103,120, 23, 42,113, 32, 25, 68,245,169,192,250,206,235, - 67, 90,129, 38, 22, 64, 79, 87,238,254, 79,226,126,110,110,238,140, 70, 92,119,225,197, 67,166, 94,175, 31,255, 63,244,188, 42, -215, 43,255,147,244,127, 13, 16, 88, 22,164,164,164, 52,153,139,192,179, 70,167, 91, 85, 7,224,213,207,109, 16, 89,147,240,114, - 9, 45, 23, 92,112,193, 5, 23, 26, 3,165, 43, 11, 92,248, 51,195,226,155,101, 57,175,197, 71,171,186,127,150,245,156, 64,237, - 43, 7, 28,217,149,188, 33,171, 36,206,185, 56, 93,156, 46, 78, 23,167,139,243,153,115,122, 0, 8, 1,176,166,158,251,170,175, - 46, 44, 0, 32, 7, 96,116,229,167,139,179, 17,250,193, 46,176, 44, 59,182,174,169, 67,130, 32, 78, 52,149,208,178, 58,195,247, -192,242,206,183,176,220,114,110,175,208,106,106, 68,184, 56, 93,156, 46, 78, 23,167,139,211,197,233,226,116,113, 54, 82,104, 13, -251,240,195, 15, 63, 66,101,104, 12,246,195, 15, 63,252,136,101,217,177,149,151,216,177, 77,249,219, 73, 61, 49, 36,185, 7, 88, -203,145,212, 19, 67,106,185, 53,210,230,176,194, 53,117,232,130, 11, 46,184,224,130, 11, 46, 60,239,184,178,122,245,234,242,213, -171, 87, 91, 28,223,139, 0, 16,102, 11, 87, 81, 83,254,176,121,154,208,158,133, 82,117,111,193,243, 12, 16, 68,114,120,211,184, - 60,193, 48,176,166,206, 0, 0,146, 74, 98,244, 21,255,165,105,195, 30, 0,185, 13, 37,238, 0,116,108,235, 33, 58,170, 99, 24, - 94, 86,153,126, 98,106,229, 54, 7, 14, 99, 34, 16, 46,224,243,127, 17,120,120,136,106,186,174, 83, 42,181, 58,189,126,228, 1, -224, 87, 87, 29,112,193, 5, 23, 92,112,225, 5,129,196,211,211,243, 60, 73,146, 45, 45,255,176,141, 59, 88, 61, 6, 33,195, 48, -121, 10,133, 98, 36, 42,167,138,159, 38,167,237,247,245,104, 96, 95,238,108, 56, 58,117,200, 1,170, 68, 97,125, 42, 59,102, 83, - 92,193,219,110,238, 30, 43,255, 58,235, 31,222,237,218,135, 18,205,155, 55, 3, 88, 32, 51, 43,219, 63,227, 94,250,136,159,118, -125,253,126,169, 74,177,204,168,211,253,199, 81,238,142,128,164,133, 84,112,249, 63, 31,190,229,193, 1,141, 55, 87,236, 61, 77, -168, 13,205, 83, 42,151,155, 58, 36,178, 60,188,189,207,172, 62,119, 78,228,217,173, 91,149,107, 44,203, 86,238,175,247,251,239, -162,255, 27, 57,242,204, 68,133, 98,148, 75,108,253, 41, 17, 32,147,201, 22,114,185,220,161, 6,131,161, 37,159,207,207, 98, 24, - 38,182,164,164,100, 35,128, 28, 87,246,252,185, 17, 26, 32, 25, 20,218,166,229,222,220,252,130,132,210, 10,253,236,180, 92,181, -194,149, 43, 14,163,174,253, 53,159,217,222,155, 0, 32,149, 74,127, 35, 73, 50,216, 86, 4, 88,246,236,181,156, 87,255,107, 50, -153, 30, 40, 20,138, 1,117,208,182,241,242,242,218, 2,160,119,125, 1,147,205,177,217,110, 42, 20,138,119, 81,251,106, 61, 55, - 79, 79,207,207, 8,130,152, 68,146, 36, 85,223, 51,153, 76, 38,134,101,217,253, 37, 37, 37,159, 2, 40,171,237, 62, 79, 79,207, -115,169,169,169,189,253,252,252,234,181,210,208, 52,141,204,204, 76,223, 62,125,250, 92, 82, 40, 20, 29,154,146,243,105,107,145, -134,162,142, 85,135,181, 22,116, 0, 85,246, 23,106,210,136,172, 60,161,244,104,255,193,163,134,205,123,239, 3,201,173,196,187, -248,229,226, 85,148,106,116,160, 72, 18, 30,110, 98,180,111,255, 18,177, 33,250,160,207,206,173, 27,214, 95,139, 59, 59,182, 66, -163,250,139, 67, 50, 93,204, 89,182,228,245, 62, 18,111, 47, 6, 48, 49,248,231,152,238,146,255, 59,158,176, 12,229,244, 71, 14, -139,172,243,231,197,133, 5, 5,136, 10, 10, 2,135,166, 33, 36, 73, 8, 9, 2, 66,146,132, 68, 40,196,232, 29, 59,240,249,169, - 83,226, 79, 94,121,197, 37,182,254,100,144, 74,165,179,130,130,130,214,110,223,190,221,187,117,235,214,144, 72, 36, 80, 40, 20, - 62,105,105,105, 61, 22, 45, 90, 52, 35, 47, 47,239,227,210,210,210,109,174,156,250,243,194,100,194,180,239, 86,190,219, 44,239, -241,189,102,115, 87,237,107, 79,120, 51, 67,239, 22,107,243, 93, 57, 99, 55,122, 0, 72, 64,205,251,151,214,117,173, 86, 8,133, -194,130,138,138, 10,191,186,238,225,243,249,133,122,189,222,191, 62, 46,146, 36,131,115,114,114,252,196, 98, 49, 24,134, 49,239, - 6, 96,178, 14,164,109,119, 63, 49, 7,170, 69,135, 14, 29, 12,117,113,186,185,185,125, 83, 88, 88, 24, 97,217, 39,208, 70, 80, -213,136,156,156,156,136, 78,157, 58,125, 83, 86, 86, 54,178, 22,241,242,217,123,239,189,183,176, 75,151, 46, 22, 43,144,121, 23, -132,202,191,114,185, 28,243,231,207,183,254,134,201,100,194,217,179,103,223,155, 53,107, 22, 74, 74, 74, 22,213,241,236, 45,253, -252,252, 8,243,134,226,181, 98,249,242,229, 88,190,124, 57,190,254,250,107,130,203,229,122,212,147,159, 78,225,124, 90, 90,164, - 33, 22,172,122, 34,195,159, 64, 85,223,172, 19, 79, 8,173,167, 1,138, 43,248, 91,239, 1, 17, 67,231, 47, 92, 34,217,247,243, - 5,164,165,252,142,212,203, 63, 84,185,167,215,200, 89,200,151,151, 97,214,188,127, 74, 9,138, 51, 52,238,220,145,191, 25,117, -218,239,236,180,102,249,183, 20,240,255,222,175, 79,103,110,142, 40, 13, 1,158, 34, 12,236,217,150,219,252,204,157,191,107, 64, -127,149, 82,185, 74,198, 33,145,181,253,173,183, 48,200,104,132, 31, 69,129, 34, 8, 80, 0, 72,130, 64,133, 78,135,155,211,166, -161,207,238,221,248,244,216, 49,241,103,175,190,234,144,216,146, 72, 36,183, 8,130,240, 84,171,213, 99, 81,185,177,244,139,128, - 78, 82,169,244, 4,203,178, 37, 26,141,166,199,115,148,174, 64, 84,206,209, 87, 31, 29,243, 80,185,162,202,161,157,133, 5, 2, -193,219, 19, 39, 78,220,176,121,243,102,113, 65, 65, 1,114,115,115,193, 48, 12,132, 66, 33,218,181,107, 71,156, 59,119,206,123, -201,146, 37,235, 78,156, 56, 33, 40, 43, 43,251,202,145,129, 13,151,203,141,246,242,242,122,197,223,223, 95, 82, 88, 88, 88,174, - 84, 42,207,234,116,186,183,209,240,109, 83, 72, 46,151, 59, 53, 36, 36,228,181,160,160, 32,255,156,156, 28,121,118,118,246, 81, -157, 78,183, 19, 13,220,168,217, 38, 79,187,193, 28,173, 30, 64, 94, 72, 72, 72,210,163, 71,143, 10,157,200,153, 27, 18, 18,146, -220, 0, 78, 9,128,159, 0, 4,213,115, 95, 46,128,201,112,208,154,109,205, 88,214,116,114,197,198,237,179,163,102, 14, 36,190, - 91, 20,209,238,157,175,207, 93, 37,121,236,224,148,188,138, 44,151,134,178, 79,100,153,183,180,170, 46,168,234,186, 86, 39,116, - 58,157,175,193, 96, 0,183,150,205,226, 53, 26, 13,220,220,220,124,237, 77,164, 72, 36,194, 15, 63,252, 0, 46,151, 11, 46,151, -139,146,146, 18, 4, 7, 7, 91,207,121, 60,158,245,115,139, 22, 45,234,229, 99, 24,166, 15, 69, 81, 80,171,213, 96, 24,198,122, - 40,149, 74,176, 44, 11,129, 64, 0,134,169,220,206,201,230,122,159,218,248, 8,130,152, 20, 20, 20,132,125,251,246, 65,175,215, - 63,113, 93, 38,147, 33, 49,241,143, 77, 70, 40,138, 66,223,190,125, 73,130, 32, 38, 1, 88, 84, 7, 47, 11, 0,145,145,145,160, - 40, 10, 20, 69,129, 36, 73,235,103,203,193, 48, 12,150, 47, 95,142,106, 91,147, 61, 53,206,231, 13,245, 68,134,207, 67, 45, 62, - 90,100, 19,167,203,118,137,103,144, 88, 34,251,226,221,127,252, 83,122,226,210, 29,100,102,101, 62, 33,178, 0,224,183, 95,118, - 34, 47, 55, 7, 9,169,217,152,250,183, 5, 82,153,204,227,139,106, 13,106,173,203, 70,221,221,120, 95,126, 56,121,160, 80,109, -204, 69,153, 39, 64,181,225,131, 43,214, 96,201,184,110, 2,153, 27,111,173, 61,233, 20,240,249,191,172, 62,119,206, 42,178,194, -117, 58, 8, 24, 6, 52,195, 88, 69,150,158,166,161,213,235, 17,168, 86, 35, 99,214, 44,176, 70, 35, 62, 62,124, 88, 44,224,243, -127,177, 39,157, 0,192,227,241, 2,143, 30, 61,218,162,107,215,174, 23, 97,127, 48,211,115, 77,252,142,234, 66,207,238,221,187, -199,238,222,189,187, 5,143,199, 11,116, 6,167, 80, 40,156, 32,145, 72,138,132, 66,225,132, 6,166,147, 4,176, 98,246,236,217, -241, 47,189,244,210, 5,179,176,178,138,154,151, 94,122,233,220,236,217,179,111, 1, 88, 94, 75, 89,175,137,179, 89, 80, 80,208, -202,205,155, 55,139,211,211,211,145,147,147, 3,163,209,136, 55,223,124, 19, 12,195, 64,171,213, 66,175,215, 99,205,154, 53, 18, -111,111,239,101,168,220, 40,216,158,103,231,185,187,187,167,239,218,181,107,226,195,135, 15,165, 23, 46, 92, 32, 18, 19, 19, 37, -235,214,173, 27,239,237,237,157, 6, 64,208,128,252, 36, 3, 3, 3,191, 59,114,228,200,187,137,137,137,193,135, 14, 29,226, 94, -187,118, 45,112,235,214,173,115, 2, 3, 3,119, 3,160, 26,248,142,122,136,197,226, 17,139, 23, 47, 54, 93,185,114, 37,231,202, -149, 43, 57, 27, 54,108,192,160, 65,131,194,163,162,162,194, 26,200,217,211,205,205,109,248,226,197,139, 77,113,113,113,185,215, -175, 95,207, 94,183,110, 29, 57,124,248,240,129, 43, 87,174,236,230, 32,231, 79, 87,174, 92, 25,146,149,149,213, 58, 59, 59,187, - 85,118,118,118, 72,118,118,118, 72, 78, 78, 78,203,188,188,188, 22,249,249,249,205, 11, 11, 11,155,199,198,198, 14, 4,176,215, - 30,206, 80,127,201,187,139,222,140, 40, 95,246,183, 49,236, 71,211, 95,102,151,188, 57,132,125,101,112,215,159, 41, 14,135,184, -158,156,137, 96,119, 96,231,252,222, 45,155,251, 72, 18, 59,123, 73,219, 63,103,117,243,121,227,228, 88,132,148, 66,161,192,137, - 19, 39, 96,182, 94,245,176, 21, 89,165,165,165,200,203,203,179, 92,227,216,147, 78,153, 76,118,126,251,246,237,108, 69, 69, 5, - 84, 42, 21, 10, 11, 11,145,149,149,133,140,140, 12, 20, 23, 23,227,238,221,187, 16,139,197,231,237, 73, 39, 65, 16, 96, 24,198, - 42,164,206,158, 61,139,217,179,103, 67,161, 80, 88,255,199,225,112,172,159, 45,223,169,143,211, 98,121, 98, 24, 6,215,175, 95, -199,220,185,115,177, 97,195, 6,236,221,187, 23,199,143, 31,135, 66,161,176,138, 45,154,166,235,229,148,203,229, 48,153,236, 27, - 51,177, 44, 11,149, 74,101,247,123,183, 21, 64, 28, 14,231, 9, 81,100, 57, 28, 41, 75,141,228,124,110, 97, 71,100,248,218, 71, -216,150, 15,102, 83,221,208,166, 74, 36,201,225, 77,157, 52,243, 61,239,236,194, 82,228, 20,168, 64,145,127,244,123, 97, 17, 51, -193,161, 72,220, 56, 83,105,184, 34, 41, 10, 42,141, 14, 74,181, 1, 19,103, 46,244,250,207,134,127, 77,165, 13, 21,117,198,120, -233, 2,180,235, 44,149,190,222,169, 83, 11, 50, 69,144,138,176, 87, 46,131, 49, 1,108,220,171,232, 81,226, 71,117,248,133,255, -186,166,204,176, 50, 17, 72,175,211,154,225,225, 33,242,236,214, 13, 81, 65, 65, 24,108, 52,130,199,178,120,185,160, 0,191, 47, - 92, 8,221,193,131, 32, 1,240, 38, 76,192,176,141, 27,113, 41, 40, 8, 1, 90, 45,148,239,191, 15,223,211,167,193,147,201, 68, - 40,178,111,241, 3, 65, 16, 24, 58,116, 40,206,157, 59,231, 61,122,244,232, 51,119,238,220,121,131,166,233, 75, 13,201, 91,119, -119,247,223, 56, 28, 78,112,125,247,209, 52,157,173, 82,169, 28,222,102,132,195,225, 12,238,219,183,239,225, 67,135, 14,121, 26, - 12, 6,167,140, 66,248,124,254,232,241,227,199,111,255,246,219,111,101,115,230,204,217,126,252,248,241,114,189, 94,127,218,145, - 34, 5, 96,197,182,109,219,222,137,140,140,244,152, 51,103, 14,155,145,145, 97,107,189,242, 29, 52,104,208, 75,219,183,111, 15, -232,221,187,247,123,115,231,206,229, 1,248,184, 62, 43,143, 84, 42,157,183,125,251,118, 31,185, 92, 14,181, 90,109,109,100,179, -179,179, 33, 18,137, 64,146, 36, 72,146, 4,151,203,197, 23, 95,124,225, 61,111,222,188,133, 10,133, 98,161, 29, 86,178,232, 45, - 91,182,248,142, 28, 57,146,124,248,240, 33, 72,146,132, 80, 40,196, 91,111,189, 69,106,181, 90,207,168,168,168, 24,141, 70, 51, -197,145, 60,228,114,185, 83,163,163,163,219,135,135,135,115, 82, 83, 83,209,191,127,127,220,184,113, 3, 19, 38, 76,224,150,149, -149,181, 90,178,100,201,108,157, 78,231,104, 28,151, 64,177, 88,220,229,191,255,253,111, 86,243,230,205,173, 13, 75,171, 86,173, -152,177, 99,199, 42, 82, 83, 83, 67,175, 92,185, 82, 60, 96,192, 0, 71, 54, 44,111, 38, 22,139, 59,156, 60,121, 50, 47, 42, 42, -106,196,182,109,219,198, 3, 64,159, 62,125,142,126,254,249,231, 23, 20, 10, 69,231, 75,151, 46, 41, 6, 15, 30,156,109, 39, 95, - 80, 96, 96, 32, 51,127,254,124,105, 93, 55,237,216,177, 67,137,202, 13,151, 91, 3,168,115,191,182,208,144,128,101,107, 23, 78, - 18,129, 49,128, 53,106, 1, 67, 57, 96, 80,195,164, 47, 7,193, 19, 1, 70, 45,124, 5, 10,252, 52, 47, 84,182,116,223,253, 20, -230, 46, 49, 54, 85, 94,118, 26, 46,212,216,212, 0, 8, 35, 8, 34,225,196,137, 19,232,219,183, 47, 78,156, 56,129,177, 99,199, - 38,216,138,129,196,196, 68, 12, 30, 60, 24,102,139,150, 93,190, 90, 42,149,234,195,229,203,151,199, 77,157, 58, 85, 92,165, 49, - 32, 73,120,120,120, 96,204,152, 49, 21, 26,141,230, 67,123, 19,202, 48, 12, 56, 28, 14,178,179,179,177, 99,199, 14,172, 90,181, - 10,237,218,181,131,209,104,124, 66,108,153,219, 61,187, 26, 63,154,166,113,243,230, 77,236,217,189, 27, 31, 47, 91, 6, 55, 55, - 55, 0,128,193, 96,128,162,164, 4, 66,161,208, 42,198,234, 17, 78,251,239,221,187,183, 48, 56, 56,184,202,148,161,229,175,185, -205,130,201,100, 2, 77,211,168,168,168,192,134, 13, 27,104,150,101,247,215,215,255, 88, 68,209,194,133, 11,161,211,253, 97, 80, -239,102,246, 73, 14, 9, 9, 65,247,238,221,173,231, 36, 73,178,246,114,254,103, 64, 23,104,109,238, 14, 93,190, 14, 0, 16, 28, - 28,140,208,208, 80, 4, 6, 6,214,202,217,212, 90,164, 33,112, 32, 50,124,237, 66,235,105,236,148,205,229, 9,135,181,105,219, -158,200,204, 83,128,195,225, 64,226,238,131, 1,175, 45, 2, 69,145,144,122,248,128, 96,180,127, 40, 98,146, 2,135,226, 64, 81, -166, 69, 72,235,182,164, 64, 40, 26,166,169, 71,104,201,220,185, 91, 22, 79, 25, 32, 44,166,179, 33,106, 33, 4, 99,233, 78,131, -248, 32,189,203,240,193,232,118,162,200,163,119,182, 64,101, 28,110, 79,122, 41,154,134, 31, 69,193,192,178,248,125,225, 66,132, - 69, 71, 35,193, 34, 12,163,163,145, 16, 25, 9, 47, 46, 23, 2,146, 4,107, 52, 62, 49,167,111,143,208, 2,128,172,172, 44, 28, - 60,120,208,107,210,164, 73,135, 19, 19, 19,167, 58, 40, 54, 44, 92, 62,215,175, 95,247,107,221,186,117,173,247, 60,120,240, 0, -189,122,245,114,120,122,138,207,231,143, 30, 62,124,248,190,131, 7, 15,186, 39, 39, 39,195,207,207,175,209, 66, 75, 32, 16, 12, -142,136,136,216,183,107,215, 46, 89, 81, 81, 17,162,163,163,101,175,190,250,234,222,248,248,248,215,116, 58,157, 61, 98,179,138, -200,138,142,142, 86,238,216,177,227, 63,168, 58, 69,152,183, 99,199,142,239,122,247,238,253,110,100,100,164, 7,128,119,204,190, - 3,117,138, 45,129, 64, 48,180, 77,155, 54, 85, 70,181, 2, 65,165,177, 73, 34,145,192,221,221, 29, 60, 30, 15, 58,157, 14, 97, - 97, 97, 4,159,207, 31,104,207, 51,187,185,185, 69,188,254,250,235,228,229,203,151,145,159,159, 15, 15, 15, 15, 72,165, 82, 48, - 12,131, 57,115,230, 80, 27, 54,108, 24,170,209, 56, 54,195,213,188,121,243,241, 35, 70,140,224, 36, 37, 37,225,225,195,135,208, -233,116, 72, 75, 75,131, 76, 38,195,244,233,211,121,107,215,174,125, 53, 39, 39,199, 81,161,213, 37, 50, 50,178,192, 86,100, 89, - 32,145, 72,136,246,237,219, 43,188,189,189,123, 2,112, 68,104,117, 89,176, 96, 65,225,234,213,171, 7,159, 59,119,206, 26,244, -242,220,185,115, 75, 0,224,171,175,190,138,243,245,245,237, 9,192, 94,161, 5,150,101, 77,127,253,235, 95, 31,243,249,124,112, -185, 92,240,249,252, 42, 7,143,199, 3, 73,146,110,150,234, 92, 31, 95,202,195,252, 53,115,150,172, 91, 39, 17, 82,220,127,188, -214, 21, 45, 60,120,128,200, 11,188,193, 75, 65,120, 84, 26, 45, 89,197, 3,224,151,165, 88,255,186,130,140,252,190,226,103, 3, -227,233,123,191,164,164,236, 25,247, 1,189, 1,252, 27,149,155,235, 46, 3,112,253, 57,233,155,110, 1, 8, 27, 59,118,172, 85, -108,157, 58,117, 10,163, 71,143,134, 82,169, 68, 82, 82,146,173,200,114,100,131,229, 91, 70,163,241,246, 15, 63,252, 48, 96,210, -164, 73,132, 77,253, 66,114,114, 50,238,222,189,155, 96, 47, 31, 73,146, 48,153, 76,224,114,185, 88,183,110, 29, 12, 6, 3,190, -255,254,123, 28, 56,112, 0, 36, 73,130, 32, 8, 16, 4, 1,153, 76,134,175,191,254,218,161,118,143, 97, 24,196,196,196, 96,233, -146, 37, 86,145,101,158,201, 64,128,191, 63,188,125,124,112,255,254,253,122,133, 86, 73, 73,201,167,199,142, 29, 67, 93,206,240, -199,142, 29,179,126,174,230, 12, 95,127, 63, 71, 81,208,233,116,120,249,229, 63,182,138, 93,176, 96,129,245,179, 66,161, 0, 69, - 81,150,188, 32,236,229,212,178,192,107,194, 63,254, 55,230,131, 15,170, 88,232,106,227,124, 26, 90,196, 89,214,173, 26,196, 86, -152,217, 58, 27, 8, 96, 44, 42,125,180,242,128,167,232,163,197,178,166, 14,193,205,130,112, 59, 35, 17, 28,138, 2,223,221, 7, -238, 94,254, 48,209,122,168, 10, 31,226,226,161,111, 0, 0,219, 98,246,131, 36, 73,112, 56, 20,116,122, 6,237, 90, 4,193,100, - 50,117,168,139,187, 35, 48, 96,168,191, 79,223,230, 45, 61,136, 36,207,135,104,239,231, 93,109, 34, 68,128,118,185, 82,162,191, - 84,212,167, 68, 85, 58, 32, 5,184, 82,175, 24, 32, 73,144, 4, 1, 49,143, 7,221,193,131,149, 94,155,209,149,125, 86, 66,100, - 36,200,159,127,134,155, 64, 0,138, 32,192, 49,155,160, 27,130,210,210, 82, 16, 4,129, 61,123,246,120, 78,159, 62,125,111, 82, - 82, 82,100, 69, 69,197, 65, 71, 56,148, 74,229,216,240,240,240, 11, 49, 49, 49,190, 1, 1, 1, 79, 92,207,207,207,199,204,153, - 51,139,148, 74,165, 67, 65,221,132, 66,225,132,241,227,199,111,223,185,115,167,236,222,189,123, 80,171,213,240,245,245,109,108, - 81,232,217,175, 95,191,195, 7, 15, 30,116,207,207,207,135, 74,165,130, 78,167,195,158, 61,123, 60,198,140, 25,115, 48, 53, 53, -117, 52,128,248,122, 56, 62,177, 21, 89,115,231,206,189, 3,192, 15,192,150,234, 26,212,124,173,171,141,216, 82, 1, 88, 91,199, - 72,180,165, 68, 34, 65, 97, 97, 33,102,206,156,137,244,244, 63, 12,160, 65, 65, 65,214,145,222,253,251,247,225,235,235, 11,130, - 32,252,236,121,104, 95, 95, 95,169, 94,175,199,236,217,179,145,149,149, 85,133, 51, 59, 59, 27, 4, 65,136, 29,205, 72,127,127, -127,127,173, 86,139, 65,131, 6,161,162,162,114, 95,223,201,147, 39,131,203,229,162,176,176, 16, 92, 46,215,167, 1,239,199,103, -236,216,177,181,134, 86,145,201,100, 6, 79, 79,207,142, 14,114,122,191,250,234,171, 57,209,209,209, 79, 44,108,185,113,227,198, - 95,188,188,188,206,121,121,121,181,119,144,211,100, 43,170,120, 60, 94, 21,161,197,229,114, 65,146,164,221, 62,106,233,133,154, -205, 28, 34,175,251,234,249, 35,103,182,240,115, 7,171, 46, 0,111,248,167,184, 93, 36,194,186, 13, 39, 1, 0,255,124,171, 23, -186, 69,172,128,126,231, 72, 44,236, 79,241,167,101,235, 22, 3,248,228, 25,183,249, 95, 2,176,172,130,251, 22, 64,247,231,168, - 63,178,138,173, 83,167, 78,161,115,231,206, 40, 41, 41, 65,106,106,106, 67, 69,150,165,189, 91,250,217,103,159,253,242,198, 27, -111, 72, 44,131, 86,145, 72,132,247,223,127, 95,171, 86,171,151, 58, 84,136, 76, 38,112, 56, 28,235, 32, 89, 40, 20, 34, 44, 44, -204, 42,178, 8,130, 64,121,121, 57, 56, 28,142,101, 69, 34, 97,103, 26, 17, 24, 16, 0, 55, 55, 55,180,109,215, 14,247,204,237, -136,229,179, 64, 32, 0, 65, 16,160,233,122, 13,121,101,102,167,246, 69,206,238,146, 45,162,168, 78,211,113, 80, 16, 76, 38,147, - 69,100,178,206,224,244,241,241,129, 90,173,182,151,243,185, 68, 45, 22, 45,139,208, 26,139, 74, 95,173, 39,194, 59, 12, 1,112, - 17, 77,184,164,146, 0, 75,152, 88, 22, 28,138, 52,207,221, 82,160, 40, 18,138,162, 60,108,252,244, 29,179,200, 58,128, 19,113, -169, 8,110,211,249,143,121, 92,130, 0,216,186, 11,183,175, 59, 47,122,222, 27,253, 68, 5, 68, 30, 60,130,196, 16, 10,171,233, - 71, 79, 30,136, 16, 18,243,135, 6,139,111, 30,171,136, 78, 81, 25,234,237, 40,132, 36, 89,233,252, 78, 16, 53, 58,247,144,230, -107, 20, 65,128,101, 89,176, 38,199,252,142, 45, 66, 94, 36, 18,193, 96, 48,128,162, 40,108,218,180,201, 35, 34, 34, 98,139,163, - 66, 11, 64,114, 65, 65,193,152, 57,115,230,156,218,191,127,191,143,143,143, 79,149,209,195,156, 57,115,228, 5, 5, 5, 99,224, -160,211, 61,151,203,221,242,237,183,223,202, 30, 61,122,132,242,242,114,136, 68, 34,107,227,211,208,242,217,167, 79,159, 51,167, - 79,159,246, 84,169, 84, 48, 24, 12, 16,137, 68, 96, 89, 22, 20, 69,225,199, 31,127,244, 30, 55,110,220,201,204,204,204,225,117, -165, 85, 36, 18,189,102, 22, 78,136,140,140,244,136,140,140, 28, 2,212, 26,169,215,138,200,200, 72,143, 69,139, 22,189,170,213, -106,215,214,241,204, 89, 10,133, 34, 64, 36, 18,225,208,161, 67,144, 74,165, 16,139,197, 8, 10, 10,130, 66,161,128, 88, 44, 6, -203,178, 48, 26,141,150,198,162,216,158, 7, 47, 42, 42, 82,211, 52,237,126,234,212, 41, 20, 23,255,241,149, 22, 45, 90, 64,169, - 84,194,100, 50,149, 59,154,153,185,185,185, 5, 4, 65, 52,191,125,251, 54, 30, 61,122,132,209,163, 71,227,231,159,127, 70,175, - 94,149,179,195,122,189,190, 33, 65,252, 24,138,162,216, 58,202, 45, 1,192,211,153,156,230,206,203, 33, 78,147,201,100,178,136, - 44,219,191,182,226,171,158,223,172, 82,157, 59,250, 75,119,172,158, 55, 98,230,200,206, 62,208, 22, 61,132,208,205, 7,132, 71, - 8,214,109, 56,137,164, 7,149,239,107,221,222,223,176, 47,106, 12, 32,242, 66,168,187, 28, 1,110,156,215,239, 22, 62,115,161, -229,110, 59, 78,120, 94, 59,166,209,163, 71, 67,161, 80, 64, 42,149, 58,195, 63,231,170, 86,171, 77, 59,114,228, 72,207,177, 99, -199,130,207,231, 35, 45, 45, 13,241,241,241,169, 0,174, 58, 42,180,184, 92, 46, 62,251,236, 51,188,243,206, 59,240,247,247,199, -210,165, 75,193,225,112,172, 7, 65, 16, 86, 11,151, 35,240,243,175,123,225,163,197, 33,190, 62, 99,184,187,187,251,103, 36, 73, - 78,162,236,200, 56,134, 97, 24,147,201,180, 95,165, 82,213, 25,222,193,226,184,110,207,187,176,205,131,122,250,180, 70,115, 62, - 13, 45,210, 16, 84, 95,109, 88,139, 69,203,178,234,240,137,173,128, 44, 79,121,209,108,178,187,216, 84, 9, 37, 72,234,110,118, - 78, 46,188, 61,165,102,145,101, 62, 72, 18,221, 58, 87, 14,102, 79,196,165, 34,184,117,103,112, 40, 10, 28,138,130, 84, 36, 64, - 65,126, 30, 56, 28,242,110,109,188, 93, 40,188,241, 70,251,230, 33,158,222, 92,200,125,245, 8,244,175,197, 48,208,211, 13,193, -129,124,140,242, 22,182,236, 66,225,141,186,173,111,172, 85,104, 25,104, 26,188, 9, 19,172,211,133, 9,145,145, 8,139,142, 6, - 51,126, 60, 52, 6, 67, 21, 83,113, 67,133,150, 72, 36, 66, 89, 89, 25,166, 78,157,170, 48, 26,141,239, 54, 48,139,227,139,139, -139, 39, 78,155, 54,173,216, 34, 96, 12, 6, 3,166, 77,155, 86, 92, 92, 92, 60,209, 14, 43,209, 19, 48, 26,141,239,246,234,213, - 75, 33,151,203,173,233,108, 72,131, 99,129,151,151,215,137, 29, 59,118,120,233,116, 58,208, 52,109,229, 20,137, 68,160, 40, 10, -190,190,190,216,183,111,159,175,151,151, 87,157,123, 86,105,181,218, 35,209,209,209, 74, 0,136,142,142, 86, 18, 4, 17, 75, 16, -196, 86,130, 32,190,173,118,108, 37, 8, 34,214,246, 94,173, 86,123,184, 46,110,189, 94, 31,155,154,154,202,138,197, 98, 80, 20, - 5,131,193, 0,161, 80,104, 53,137,151,150,150, 66,171,173,156,230,142,143,143,135,209,104,188,108,207,179,151,149,149,157,143, -137,137, 49,181,104,209, 2,157, 59,119, 70, 88, 88, 24,250,245,235,135,150, 45, 91,226,243,207, 63,103, 52, 26,141,195,117, 47, - 55, 55,247,196, 79, 63,253,100,108,222,188, 57,122,246,236, 9,129, 64,128,110,221,186, 33, 40, 40, 8,171, 86,173,210,171, 84, -170, 83, 13,120, 77,153,137,137,137, 84, 29, 34, 87, 6, 59, 86,239, 86, 67,214,205,155, 55,169,126,253,250, 29,173,126,161, 79, -159, 62, 71,165, 82,169,187,197,196,238,200,136,220, 86, 92, 9, 4, 2,235, 97,249, 63,135,195,177,103,244, 67,118,244,151,238, -248,226,157, 97, 51, 71,118,246,196,209,243,215,193, 51, 40, 1,125, 29, 51,130,140, 17, 4, 79, 2,127,119,110,240,115,208, 7, - 44, 4,112, 7,149,113,152,150,226,249,130,213,241,189,184,184, 24,169,169,169,136,143,143, 71,191,126,253,112,249,242,101,224, - 15, 7,121,135,161, 82,169,150, 70, 69, 69,105, 44, 43,249,150, 45, 91,166, 45, 43, 43, 91,234,104, 27,204,178, 44,184, 92, 46, - 66, 67, 67,177,104,209, 34,156, 60,121, 18,105,105,105, 48, 26,141, 86, 33,100,241,201,116,196,162,197,227,241,224,239,239, 15, -163,209,104,181,102, 1,192,189,244,116,112, 56, 28,152, 76, 38,232,245,250,122, 45, 90,238,238,238,159,109,223,190,253, 61,185, - 92, 30, 88, 84, 84,228,103,123, 20, 20, 20,248,229,229,229,249,229,228,228,248,101,101,101,249, 61,126,252,216,239,225,195,135, -129,107,214,172,121,207,221,221,253, 51,123,210, 73, 81, 20,186,117,235,134, 5, 11, 22, 88,143,205,155, 55, 91,143,139, 23, 47, - 58,236,188, 78, 81, 20, 66,151,175,195,152, 34,214,122,156,244, 37,172, 71,210, 63,231,214,197,217,228, 90,164, 65,250,197,188, -218,208,118, 99,233, 26, 96, 89,117,104,105,203,172,110, 27,213,157,225,155, 12,180,190,226,194,131,140,244, 97,161, 93,122,147, -249,114,117,149,229,159, 97, 67, 39,130, 32, 8, 52,107,221, 25, 20,135, 3,138, 34,193,161, 40,120,200,132, 72,189,125,219,164, -211,106, 47,212,196, 57, 4,224,240, 69,252,205,111,141,234, 38,204,229, 23,194, 55, 80, 2, 30,183, 82, 59,178, 15, 38, 86,235, - 33, 56, 64, 23, 55,204,202,241, 22, 93, 40,168,216,236,169, 49, 28,141,173,101, 4,104, 50,153, 32, 21, 8, 80,161,211, 65, 75, -211, 24,186,113,163,117,186,144, 36, 8,220, 2,208,117,227, 70, 92, 57,120, 16, 50, 62, 31, 16, 8,236, 94, 21, 82,147,208,146, -203,229,152, 49, 99, 70,113, 94, 94,222,244,134,248,104, 89,160,211,233, 46,229,231,231, 79,159, 56,113,226,158, 67,135, 14,121, - 77,156, 56, 81,145,159,159, 63,221, 78,191,167, 39, 80, 81, 81,113, 48, 43, 43,171,124,198,140, 25,187,247,238,221,235,237,227, -227, 99, 29,137, 52,168,176, 18,132,124,196,136, 17, 2,123,238,171,231,150, 40,179,115,251, 59,102,203, 86,215,185,115,231, 94, - 65,165,255,149, 45,150,111,219,182,109,178,205, 20,227, 86, 0, 27,235, 34, 46, 45, 45,253,118,209,162, 69,127,187,116,233,146, -143, 80, 40, 4, 65, 16,224,241,120,104,219,182,173,117, 21, 13,151,203, 5,203,178,248,224,131, 15,228,133,133,133, 95,217,249, -110,230, 70, 69, 69, 13,174,168,168,240,156, 49, 99, 6, 37, 20, 10, 81, 80, 80,128, 13, 27, 54, 48, 59,119,238, 84,106, 52,154, -153, 13, 16,194, 49,255,250,215,191,134,170,213,234,214,115,230,204,225,169, 84, 42,104,181, 90, 44, 94,188, 88,255,221,119,223, -101,107,181, 90,135, 3,254,246,239,223, 63,227,241,227,199, 3,203,203,203, 75,196, 98,113,117,107, 31, 33,145, 72,122, 3,216, -237, 8,103, 88, 88,216,253,204,204,204,126, 43, 86,172,136, 53, 26,141,220, 27, 55,110, 88,157,225, 55,109,218,116, 81, 40, 20, -142,128,131,155,175, 18, 4, 97, 18, 8, 4, 85, 44, 88,213, 63,115, 56,156,122,219,180, 14, 1,226, 21, 95,188, 61,120,230,203, - 29,221,113,228,252,111,136, 58,252,224,110,187,153,190,161, 47,121, 22,193, 84,148,138,127,190,213, 11,235,246,254, 6,160,114, -234,208, 84,152, 4,182,228, 62, 88,183,230,120,168,144,231, 62, 7,125,192, 69, 84,134,204,120,222, 80, 69,100, 37, 37, 37, 97, -216,176, 97, 0,128,203,151, 47, 35, 60, 60, 28,151, 47, 95,198,192,129, 3, 29,142,165,101,198,127, 75, 75, 75, 31, 95,188,120, -177, 83,243,230,205,113,245,234,213,135, 0,254,235,104, 34, 45, 66,139,195,225,224,205, 55,223, 68, 68, 68, 4, 90,180,104, 81, -101,181,161,229,179, 35, 98,131,166,105,116,233,210, 5, 58,189, 30, 60, 30,207, 58, 53,201,225,112,224,235,231,135,140,140, 12, -187, 44, 90, 36, 73, 78,122,237,181,215,200,228,228,100, 76,153, 50, 5,123,246,236,169,245,222,105,211,166,225,135, 31,126,192, -107,175,189, 70,126,244,209, 71,117,134,119,176, 56,161,219,243, 76,150,126,186,190,118,223, 89,156, 77,173, 69, 26, 3,155,208, - 14, 53, 78,154,212,240,191,232, 42, 66,203, 38, 72, 88,211, 8, 45,218,176,231,231,239,191, 89,212,111,203, 64,223, 64, 63,119, - 40, 84, 90,171,216, 74,184,120, 0, 0,240,198,220,149,224, 80,149, 83,138, 50,169, 16, 34, 30,133,131,187,190,146, 27, 12, 21, - 53,150,174, 50, 46,249,206, 71, 3,218,186,243, 37, 70,148, 6,176,232,236,251,199, 78, 57, 68,235, 3, 79, 10,174, 30,158,240, - 73, 42,193, 91, 47, 73,101, 95, 37, 43,223,129,209,180,249,137, 14, 81,169,212, 42,111,223, 22,141,222,190, 29, 55,166, 79, 71, - 51,134, 65,108, 80, 16,188,184, 92,184, 11, 4, 32, 9, 2,218,227,199,113,229,208, 33,248, 11, 4,128,155, 27,232,207, 63,135, - 46, 53, 21,198,178, 50,109, 3, 70,102,152, 60,121,178, 92, 46,151, 79,212,235,245,151, 26,155,207, 90,173,246,116, 86, 86, 40, -104, 68,151, 0, 0, 9, 69, 73, 68, 65, 84,214, 59,253,251,247,223, 98, 52, 26,223,213,106,181,141, 90, 25,165,215,235, 79,231, -231,231, 79,152, 60,121,242,129,195,135, 15,251,120,120,120, 52,152,171,184,184,184,151,147,138,147, 9,192,199,102,231,246,119, - 34, 35, 35, 61,110,222,188,249,183, 29, 59,118,108,177, 25, 77,248,205,158, 61,251,237,106, 34,171,222, 85,135, 0, 50, 11, 11, - 11, 63,127,255,253,247, 87,174, 95,191, 94,106,113,124,255,253,247,223, 65,211, 52,184, 92, 46, 24,134,193,236,217,179,213,197, -197,197,235, 80,123, 68,231, 39,138, 86,105,105,105,219, 21, 43, 86,236,216,184,113, 99, 4, 69, 81, 18,134, 97, 52,229,229,229, -177, 21, 21, 21, 51,209,176, 56, 90,166,162,162,162, 25,159,124,242,201,140, 13, 27, 54,188, 70,146,164, 31, 77,211,242,178,178, -178, 99, 90,173,246, 59, 52, 96, 42,233,234,213,171, 69,111,189,245,214,131,162,162,162, 14,193,193,193, 42,169, 84,170,215,235, -245,148, 72, 36,146, 73, 36,146, 48, 0, 87, 9,130, 72,113,132, 51, 33, 33, 33,127,206,156, 57,143,116, 58, 93,232,214,173, 91, -227,100, 50,217,121,130, 32, 8, 30,143,231, 41, 18,137,134, 1,136, 37, 8,226,158, 35,156, 36, 73,154,108,173, 87,213,253,179, -248,124,190, 93, 62, 90,173,125,197,179, 34,218,114,112,228,194,111,136, 58,146, 25,195,176,236,161, 67, 9, 37,199,151,134, 3, -134,253,111,161,219,196,221,149,211,133, 0, 76,133, 73, 48,236,159, 6, 66,236,131,184, 28, 46, 84, 90,195, 9,184, 80, 19,172, -225, 29,228,114, 57,146,147,147, 45, 34, 43, 12, 0, 6, 14, 28,152, 96, 17, 91,241,241,241,232,217,179,103, 2, 0,174,163,229, -181,180,180,244,253,169, 83,167,158, 54, 15,142,223,111,192,192,207, 42,180, 44,130,170, 69,139, 22,214,115,219,195,198, 71,203, - 46, 48, 12, 3, 30,143, 7, 14,135,131,192,160, 32,235,111,177, 44,139,140,140, 12, 40, 20, 10,187,132, 22, 69, 81, 20, 65, 16, -152, 50,197,190, 5,201,127,253,235, 95, 17, 27, 27, 11,202, 78, 85, 72, 81, 20, 66, 66, 66,234,189,199,162, 75,237,229, 12, 14, - 14,110, 48,103, 83,107,145,134, 10,172,154, 62,215, 36,170,106,171, 16, 79, 11,185,106,181,234,227, 93,219, 55,173,159, 61,239, - 3,105,210,253, 2,168,212, 58, 80, 20,105,219,120,130,195,161, 32,147, 8,209, 60,192, 29,123,255,243,239,178,178, 82,229, 39, -168,101,223,195, 22,110,188,185, 35,122,191, 36,224, 5,106, 16,218,117, 50, 40,225, 31, 34,128,205,175,101,118, 48,252, 23,188, -146,169, 17,254,156,169,153,123,171, 68,255,164,208,210,235, 71, 46, 27, 53,234, 76,212,201,147,226, 62, 49, 49,184, 63,123, 54, -130,180, 90, 8,204, 83,137, 36, 65, 64,202,227, 65,202,227, 85,138,172, 13, 27,160,165,105,108,156, 62,189, 92,167,215,143,114, -164,146, 23, 23, 23, 99,252,248,241, 69,185,185,185, 99,208,128,169,189,218,160,209,104, 14, 2, 56,232, 44, 62,157, 78,119, 41, - 59, 59,251,149,241,227,199,159, 60,125,250,180,239,115, 18,100,206, 34,182, 12, 55,111,222,124, 59, 46, 46,238, 62,170,110, 44, -170,140,139,139,187, 63,103,206, 28, 98,199,142, 29,223, 1,248, 23,236, 12,224,169,209,104, 54,157, 61,123, 22,131, 7, 15,254, -215,234,213,171,189,123,245,234, 5, 63, 63, 63,148,149,149, 33, 62, 62, 30, 11, 23, 46, 84,148,150,150,174, 86, 42,149,235, 29, - 76,179, 65,167,211, 77,179, 93, 74,237,140,124,208,233,116, 59,243,242,242,118, 58,139,112,254,252,249,191,103,100,100, 20,251, -250,250,246,229,241,120, 93, 81,233, 7,148, 15,224, 59, 71, 5,145, 5,243,230,205,187,157,145,145, 33,111,214,172, 89, 63, 51, -167, 7, 42,183, 49,218,222, 0,206,220,223,126,251, 45,184,119,239,222, 36,151,203,101, 41,138, 2,151,203,101, 57, 28, 14,107, -246,171, 97, 1,224,216,177, 99, 2, 0,117,110,155,115,191, 80,187, 98,218,191,127,253, 40, 37,191,226, 80,106, 65,249, 34, 0, -236,254, 36,241, 47,221,124,169,145, 35,219,103, 67, 23, 61, 16,132,172, 50, 80, 37,171,206, 3, 33,241, 71,182,169, 25,150, 31, -189,155, 79,131, 88,235,210, 84, 53,143,171, 97, 14,239,144,151,151,103, 43,178, 44, 86,171,176,129, 3, 7, 38,152, 69,150,229, - 90, 67,252,203,206,153, 76,166, 70,245, 97, 44,203, 34, 42, 42, 10,219,182,109, 67,125, 17,205,205,171,251,136,250,248, 44, 22, - 45,134, 97, 96, 48, 24,144,148,148,100,141,217,101,153, 46,180,132,118,160,105,186,206,213,234, 12,195, 48,122,189, 30, 63,254, -248,163, 93, 98,107,223,190,125,168,168,168, 0, 83,143,130,179, 13,197,208,189,123,119, 40, 20, 10,235, 98,159,176,176, 63, 66, -229, 25, 12, 6,135,132,171,133, 51, 52, 52, 20,114,185, 28, 22,127,225,230,211,255, 48,246,208, 26,205,159,181,220,215,106,209, -122,234, 61,166, 64, 44, 59,221,107, 64, 68,248,244,183, 23, 74,212, 58, 6,143, 30, 61, 70, 81, 97, 30, 72,130, 68, 96,179, 96, -180,108, 25, 2, 17,159,196,158,232,245,154,132, 43,231,127, 85,151,149,140,174,141,107,172, 59,239,202,134, 9,225,253,218,180, -113, 35, 64, 27, 1,198, 8,208, 70,192,100,254,107,249,159,169,106,153, 75, 78, 86,178, 31,221, 82, 92, 59,161, 50,212,184,103, -213, 68, 32,220,195,203,235,204,242, 99,199,196, 38,131, 1,197,239,191, 15, 49, 77, 67,104, 30,149, 84, 62,136, 0,244,231,159, - 87,138,172,105,211,202, 85, 74,165, 67, 91,240,248,248,248,252, 70, 16,132, 79, 81, 81,209, 11, 21, 25,222,215,215,247, 4,203, -178,114,185, 92,222,235, 57, 74,151, 31, 0, 37, 0, 67, 13, 3, 9, 95, 56,238,255, 99, 65,136,175,175,239, 71, 36, 73,246,103, - 89,214,155, 36,201, 18,147,201,116,181,176,176,112, 13,128, 12, 87,127,250,204, 96,137, 12,223,170,158,251, 10, 1,252, 3,149, - 78,193,143,236, 37,239,230,238,238,174,227, 27, 15,255,165,179, 96,232,164, 48,119,180, 14,112, 3,151, 39, 68,110, 41,141,115, - 41,165,216,126, 49, 63, 75,107,100,198,165, 23,149, 39,186, 94, 69,157,112,250, 22, 60,206,132,151,151,215,245, 51,103,206,244, -106,221,186, 53,105,235,240,110,137,149,103,153,222,226,112, 42,181,220,165, 75,151,232, 41, 83,166, 92, 45, 40, 40, 24, 92, 27, -167,155,155,219, 47,119,238,220,121, 89,165, 82, 61, 33,168,108, 35,197, 91,206, 53, 26, 13,230,205,155,119,182,182, 45,120,220, -221,221, 55,172, 95,191,254,189, 55,222,120,131,180,132,163,176, 61, 44,219, 5, 89, 14,131,193,128,221,187,119,155,190,250,234, -171,175, 85, 42, 85,173, 83,135,129,129,129, 89,185,185,185,193,150, 80, 11,246, 4, 21, 13, 9, 9,201,123,252,248,113,208,211, -228,124,129, 5, 87, 21,235,214, 51, 49, 77,112, 69,162,249,110, 82,207, 79,223,152,186,192, 59,164, 77, 59,194, 63,176, 25, 8, -144, 40,200,207,193,227, 7,233,236,225,239,191, 41,214,148, 42, 62,211,106, 53,223,212,197,211, 17,104,211, 74,198,219,207,103, -208, 30, 22, 1, 84,109,127,170, 39, 70, 28, 0, 12, 92,242,238,163, 50,227,228,148, 58,166,125, 44, 98,235,227,195,135,197,252, -246,237,159, 8, 20,103, 50,153,160, 75, 77,197,198,233,211, 29, 22, 89, 46,184,224,130, 83,208, 26,245,199,200, 50,162, 50, 62, -151,163, 22, 19, 34,212, 79, 50,153, 5, 38,145, 48,117, 33, 9,130, 79,179, 72, 3,139, 95,196,156,242, 45, 9,121,208,186,178, -223, 46, 60,183,155, 74, 3,144,120,121,121,157,167, 40,170,165,197, 34, 99,107,173,175, 97, 67,233, 71, 5, 5, 5, 35, 0,212, -181, 66,184,141,155,155,219, 55, 12,195,244,177,103, 83,105,138,162,110,148,149,149,205, 71, 29,155, 74, 55,197,170, 67,111,111, -239,140,199,143, 31,183,177,172,162,182,237, 43,107, 90, 89,126,239,222, 61, 12, 25, 50,228,113,126,126,126,200,211,228,124, 94, - 81,203,170,195,231,199,162,101,131, 32,158, 64, 58,131, 47, 18, 14, 55, 25,233, 80, 16, 0,135,203,189,171,175,208, 94,208,105, -213,187, 80,203,116,225,211,196, 68, 32, 92,192,231,255,194,147,201, 68, 53,137, 54, 99, 89,153, 86,167,215,143,116,137, 44, 23, - 92,112,193, 5, 23, 94, 32,180,247,242,242, 58,195,229,114, 5,182, 98,178,250,103, 11,104,154,174, 40, 42, 42, 26, 13, 32,237, - 41,115,254,111,194, 65, 39,181, 8,123, 57,205,199,144,231,157,179, 9,159,157,117, 34,231, 16, 51,231,242, 23, 36,157, 67,158, - 87, 78,203,243, 58,192, 27,225, 72, 57,114, 86,126,218,164,147,117,118, 58,155,138,211, 89,245,168,134,116,178, 77,240,222,151, -191, 32,233, 28,242,188,113, 86, 47, 63,118,242, 58,196,105,103,153,114, 52,157,172,179,211,217, 84,156,141,173, 71,117,164,147, -109,108, 89,170,229,221, 47,199, 11,136,228, 30, 96,147,123,128, 77,234, 89, 99,220,198,200,218,190,231,144, 35, 97, 83,173, 4, -176,132,221, 55,243, 19,207, 43,167,109, 62, 56,115,171,128, 38,216,118,224,162,179, 57,171,229,167,179,176,220,188,194, 36, 22, -118, 4, 28,117,228,217,157,241,222,171, 61,171, 83,120, 27, 32,178, 28,226,116, 86,185,111,106, 78,103,213,165,234,156,206, 40, -247, 53,189,247, 38,124, 71,206, 74,167, 83,234, 82, 83,148,249, 26,202, 79,163,121,171,115, 58,163, 46, 85,231,116, 70,185,127, - 26,156,206,168, 75, 53,113, 58,163,220,215,246,238, 95, 84, 67,147,101,186,208, 28,226,129,176, 67,108, 69, 3, 0,217,144, 76, -107, 66, 75,217, 80,103,115, 58, 59,205, 77, 33, 54, 29,176,192, 60,115, 78, 39,191,163,229,102, 78,103,142,110,134, 58,235, 29, - 53, 69,121,183,229,116, 22,127,117, 30,103,188,167,154, 56, 27,155,222, 90,210,233,244,103,111,108,185,127, 90,156, 78,126, 71, - 78,169, 75,213, 56,135, 58,121, 48, 48,212,230,124,185, 51, 57,157, 85,151,106, 72,103,163,223, 83, 77,156,141, 77,111, 45,233, -116,250,179, 59,163, 15,105, 42,222,103,105,209, 98,201, 90,203, 68,116,181,227,169, 8,141,103, 54, 37,231, 32,247,159,138,211, -193,233,153,136, 38,120,247,207, 52,157,206,228,172,158, 70,103, 78,247, 52,101, 58,157,201,233, 64, 90,255,116,156, 47,218,123, -127, 30,243,179, 54,190,198, 76, 75,213,102, 29,109,138,116, 58,147,211, 78,238, 63, 5,103, 35,222,253,159, 14,156,231, 37, 33, -150,140,119,242,200, 4, 78,182,192, 52,217,115, 59, 57,157, 67,155,194, 66,216, 4,112,122, 58,205, 35,229, 79,155,224,217, 95, -148, 60,117,213, 37, 87, 93,122,238,234, 82,181, 50, 57,212,137,150, 34,167, 90,158,171,115, 58,227, 55,108, 57,156, 85, 70,155, -250,217,157, 89,151,154,226,221,191,104,248,127,145,193,179,185, 29, 76,112,153, 0, 0, 0, 0, 73, 69, 78, 68,174, 66, 96,130, +int datatoc_blender_icons_png_size = 227018; +char datatoc_blender_icons_png[] = { +137, 80, 78, 71, 13, 10, 26, 10, 0, 0, + 0, 13, 73, 72, 68, 82, 0, 0, 2, 90, 0, 0, 2,128, 8, 6, 0, 0, 0, 68,254,214,163, 0, 0, 10, 79,105, 67, 67, 80, 80, +104,111,116,111,115,104,111,112, 32, 73, 67, 67, 32,112,114,111,102,105,108,101, 0, 0,120,218,157, 83,103, 84, 83,233, 22, 61, +247,222,244, 66, 75,136,128,148, 75,111, 82, 21, 8, 32, 82, 66,139,128, 20,145, 38, 42, 33, 9, 16, 74,136, 33,161,217, 21, 81, +193, 17, 69, 69, 4, 27,200,160,136, 3,142,142,128,140, 21, 81, 44, 12,138, 10,216, 7,228, 33,162,142,131,163,136,138,202,251, +225,123,163,107,214,188,247,230,205,254,181,215, 62,231,172,243,157,179,207, 7,192, 8, 12,150, 72, 51, 81, 53,128, 12,169, 66, + 30, 17,224,131,199,196,198,225,228, 46, 64,129, 10, 36,112, 0, 16, 8,179,100, 33,115,253, 35, 1, 0,248,126, 60, 60, 43, 34, +192, 7,190, 0, 1,120,211, 11, 8, 0,192, 77,155,192, 48, 28,135,255, 15,234, 66,153, 92, 1,128,132, 1,192,116,145, 56, 75, + 8,128, 20, 0, 64,122,142, 66,166, 0, 64, 70, 1,128,157,152, 38, 83, 0,160, 4, 0, 96,203, 99, 98,227, 0, 80, 45, 0, 96, + 39,127,230,211, 0,128,157,248,153,123, 1, 0, 91,148, 33, 21, 1,160,145, 0, 32, 19,101,136, 68, 0,104, 59, 0,172,207, 86, +138, 69, 0, 88, 48, 0, 20,102, 75,196, 57, 0,216, 45, 0, 48, 73, 87,102, 72, 0,176,183, 0,192,206, 16, 11,178, 0, 8, 12, + 0, 48, 81,136,133, 41, 0, 4,123, 0, 96,200, 35, 35,120, 0,132,153, 0, 20, 70,242, 87, 60,241, 43,174, 16,231, 42, 0, 0, +120,153,178, 60,185, 36, 57, 69,129, 91, 8, 45,113, 7, 87, 87, 46, 30, 40,206, 73, 23, 43, 20, 54, 97, 2, 97,154, 64, 46,194, +121,153, 25, 50,129, 52, 15,224,243,204, 0, 0,160,145, 21, 17,224,131,243,253,120,206, 14,174,206,206, 54,142,182, 14, 95, 45, +234,191, 6,255, 34, 98, 98,227,254,229,207,171,112, 64, 0, 0,225,116,126,209,254, 44, 47,179, 26,128, 59, 6,128,109,254,162, + 37,238, 4,104, 94, 11,160,117,247,139,102,178, 15, 64,181, 0,160,233,218, 87,243,112,248,126, 60, 60, 69,161,144,185,217,217, +229,228,228,216, 74,196, 66, 91, 97,202, 87,125,254,103,194, 95,192, 87,253,108,249,126, 60,252,247,245,224,190,226, 36,129, 50, + 93,129, 71, 4,248,224,194,204,244, 76,165, 28,207,146, 9,132, 98,220,230,143, 71,252,183, 11,255,252, 29,211, 34,196, 73, 98, +185, 88, 42, 20,227, 81, 18,113,142, 68,154,140,243, 50,165, 34,137, 66,146, 41,197, 37,210,255,100,226,223, 44,251, 3, 62,223, + 53, 0,176,106, 62, 1,123,145, 45,168, 93, 99, 3,246, 75, 39, 16, 88,116,192,226,247, 0, 0,242,187,111,193,212, 40, 8, 3, +128,104,131,225,207,119,255,239, 63,253, 71,160, 37, 0,128,102, 73,146,113, 0, 0, 94, 68, 36, 46, 84,202,179, 63,199, 8, 0, + 0, 68,160,129, 42,176, 65, 27,244,193, 24, 44,192, 6, 28,193, 5,220,193, 11,252, 96, 54,132, 66, 36,196,194, 66, 16, 66, 10, +100,128, 28,114, 96, 41,172,130, 66, 40,134,205,176, 29, 42, 96, 47,212, 64, 29, 52,192, 81,104,134,147,112, 14, 46,194, 85,184, + 14, 61,112, 15,250, 97, 8,158,193, 40,188,129, 9, 4, 65,200, 8, 19, 97, 33,218,136, 1, 98,138, 88, 35,142, 8, 23,153,133, +248, 33,193, 72, 4, 18,139, 36, 32,201,136, 20, 81, 34, 75,145, 53, 72, 49, 82,138, 84, 32, 85, 72, 29,242, 61,114, 2, 57,135, + 92, 70,186,145, 59,200, 0, 50,130,252,134,188, 71, 49,148,129,178, 81, 61,212, 12,181, 67,185,168, 55, 26,132, 70,162, 11,208, +100,116, 49,154,143, 22,160,155,208,114,180, 26, 61,140, 54,161,231,208,171,104, 15,218,143, 62, 67,199, 48,192,232, 24, 7, 51, +196,108, 48, 46,198,195, 66,177, 56, 44, 9,147, 99,203,177, 34,172, 12,171,198, 26,176, 86,172, 3,187,137,245, 99,207,177,119, + 4, 18,129, 69,192, 9, 54, 4,119, 66, 32, 97, 30, 65, 72, 88, 76, 88, 78,216, 72,168, 32, 28, 36, 52, 17,218, 9, 55, 9, 3, +132, 81,194, 39, 34,147,168, 75,180, 38,186, 17,249,196, 24, 98, 50, 49,135, 88, 72, 44, 35,214, 18,143, 19, 47, 16,123,136, 67, +196, 55, 36, 18,137, 67, 50, 39,185,144, 2, 73,177,164, 84,210, 18,210, 70,210,110, 82, 35,233, 44,169,155, 52, 72, 26, 35,147, +201,218,100,107,178, 7, 57,148, 44, 32, 43,200,133,228,157,228,195,228, 51,228, 27,228, 33,242, 91, 10,157, 98, 64,113,164,248, + 83,226, 40, 82,202,106, 74, 25,229, 16,229, 52,229, 6,101,152, 50, 65, 85,163,154, 82,221,168,161, 84, 17, 53,143, 90, 66,173, +161,182, 82,175, 81,135,168, 19, 52,117,154, 57,205,131, 22, 73, 75,165,173,162,149,211, 26,104, 23,104,247,105,175,232,116,186, + 17,221,149, 30, 78,151,208, 87,210,203,233, 71,232,151,232, 3,244,119, 12, 13,134, 21,131,199,136,103, 40, 25,155, 24, 7, 24, +103, 25,119, 24,175,152, 76,166, 25,211,139, 25,199, 84, 48, 55, 49,235,152,231,153, 15,153,111, 85, 88, 42,182, 42,124, 21,145, +202, 10,149, 74,149, 38,149, 27, 42, 47, 84,169,170,166,170,222,170, 11, 85,243, 85,203, 84,143,169, 94, 83,125,174, 70, 85, 51, + 83,227,169, 9,212,150,171, 85,170,157, 80,235, 83, 27, 83,103,169, 59,168,135,170,103,168,111, 84, 63,164,126, 89,253,137, 6, + 89,195, 76,195, 79, 67,164, 81,160,177, 95,227,188,198, 32, 11, 99, 25,179,120, 44, 33,107, 13,171,134,117,129, 53,196, 38,177, +205,217,124,118, 42,187,152,253, 29,187,139, 61,170,169,161, 57, 67, 51, 74, 51, 87,179, 82,243,148,102, 63, 7,227,152,113,248, +156,116, 78, 9,231, 40,167,151,243,126,138,222, 20,239, 41,226, 41, 27,166, 52, 76,185, 49,101, 92,107,170,150,151,150, 88,171, + 72,171, 81,171, 71,235,189, 54,174,237,167,157,166,189, 69,187, 89,251,129, 14, 65,199, 74, 39, 92, 39, 71,103,143,206, 5,157, +231, 83,217, 83,221,167, 10,167, 22, 77, 61, 58,245,174, 46,170,107,165, 27,161,187, 68,119,191,110,167,238,152,158,190, 94,128, +158, 76,111,167,222,121,189,231,250, 28,125, 47,253, 84,253,109,250,167,245, 71, 12, 88, 6,179, 12, 36, 6,219, 12,206, 24, 60, +197, 53,113,111, 60, 29, 47,199,219,241, 81, 67, 93,195, 64, 67,165, 97,149, 97,151,225,132,145,185,209, 60,163,213, 70,141, 70, + 15,140,105,198, 92,227, 36,227,109,198,109,198,163, 38, 6, 38, 33, 38, 75, 77,234, 77,238,154, 82, 77,185,166, 41,166, 59, 76, + 59, 76,199,205,204,205,162,205,214,153, 53,155, 61, 49,215, 50,231,155,231,155,215,155,223,183, 96, 90,120, 90, 44,182,168,182, +184,101, 73,178,228, 90,166, 89,238,182,188,110,133, 90, 57, 89,165, 88, 85, 90, 93,179, 70,173,157,173, 37,214,187,173,187,167, + 17,167,185, 78,147, 78,171,158,214,103,195,176,241,182,201,182,169,183, 25,176,229,216, 6,219,174,182,109,182,125, 97,103, 98, + 23,103,183,197,174,195,238,147,189,147,125,186,125,141,253, 61, 7, 13,135,217, 14,171, 29, 90, 29,126,115,180,114, 20, 58, 86, + 58,222,154,206,156,238, 63,125,197,244,150,233, 47,103, 88,207, 16,207,216, 51,227,182, 19,203, 41,196,105,157, 83,155,211, 71, +103, 23,103,185,115,131,243,136,139,137, 75,130,203, 46,151, 62, 46,155, 27,198,221,200,189,228, 74,116,245,113, 93,225,122,210, +245,157,155,179,155,194,237,168,219,175,238, 54,238,105,238,135,220,159,204, 52,159, 41,158, 89, 51,115,208,195,200, 67,224, 81, +229,209, 63, 11,159,149, 48,107,223,172,126, 79, 67, 79,129,103,181,231, 35, 47, 99, 47,145, 87,173,215,176,183,165,119,170,247, + 97,239, 23, 62,246, 62,114,159,227, 62,227, 60, 55,222, 50,222, 89, 95,204, 55,192,183,200,183,203, 79,195,111,158, 95,133,223, + 67,127, 35,255,100,255,122,255,209, 0,167,128, 37, 1,103, 3,137,129, 65,129, 91, 2,251,248,122,124, 33,191,142, 63, 58,219, +101,246,178,217,237, 65,140,160,185, 65, 21, 65,143,130,173,130,229,193,173, 33,104,200,236,144,173, 33,247,231,152,206,145,206, +105, 14,133, 80,126,232,214,208, 7, 97,230, 97,139,195,126, 12, 39,133,135,133, 87,134, 63,142,112,136, 88, 26,209, 49,151, 53, +119,209,220, 67,115,223, 68,250, 68,150, 68,222,155,103, 49, 79, 57,175, 45, 74, 53, 42, 62,170, 46,106, 60,218, 55,186, 52,186, + 63,198, 46,102, 89,204,213, 88,157, 88, 73,108, 75, 28, 57, 46, 42,174, 54,110,108,190,223,252,237,243,135,226,157,226, 11,227, +123, 23,152, 47,200, 93,112,121,161,206,194,244,133,167, 22,169, 46, 18, 44, 58,150, 64, 76,136, 78, 56,148,240, 65, 16, 42,168, + 22,140, 37,242, 19,119, 37,142, 10,121,194, 29,194,103, 34, 47,209, 54,209,136,216, 67, 92, 42, 30, 78,242, 72, 42, 77,122,146, +236,145,188, 53,121, 36,197, 51,165, 44,229,185,132, 39,169,144,188, 76, 13, 76,221,155, 58,158, 22,154,118, 32,109, 50, 61, 58, +189, 49,131,146,145,144,113, 66,170, 33, 77,147,182,103,234,103,230,102,118,203,172,101,133,178,254,197,110,139,183, 47, 30,149, + 7,201,107,179,144,172, 5, 89, 45, 10,182, 66,166,232, 84, 90, 40,215, 42, 7,178,103,101, 87,102,191,205,137,202, 57,150,171, +158, 43,205,237,204,179,202,219,144, 55,156,239,159,255,237, 18,194, 18,225,146,182,165,134, 75, 87, 45, 29, 88,230,189,172,106, + 57,178, 60,113,121,219, 10,227, 21, 5, 43,134, 86, 6,172, 60,184,138,182, 42,109,213, 79,171,237, 87,151,174,126,189, 38,122, + 77,107,129, 94,193,202,130,193,181, 1,107,235, 11, 85, 10,229,133,125,235,220,215,237, 93, 79, 88, 47, 89,223,181, 97,250,134, +157, 27, 62, 21,137,138,174, 20,219, 23,151, 21,127,216, 40,220,120,229, 27,135,111,202,191,153,220,148,180,169,171,196,185,100, +207,102,210,102,233,230,222, 45,158, 91, 14,150,170,151,230,151, 14,110, 13,217,218,180, 13,223, 86,180,237,245,246, 69,219, 47, +151,205, 40,219,187,131,182, 67,185,163,191, 60,184,188,101,167,201,206,205, 59, 63, 84,164, 84,244, 84,250, 84, 54,238,210,221, +181, 97,215,248,110,209,238, 27,123,188,246, 52,236,213,219, 91,188,247,253, 62,201,190,219, 85, 1, 85, 77,213,102,213,101,251, + 73,251,179,247, 63,174,137,170,233,248,150,251,109, 93,173, 78,109,113,237,199, 3,210, 3,253, 7, 35, 14,182,215,185,212,213, + 29,210, 61, 84, 82,143,214, 43,235, 71, 14,199, 31,190,254,157,239,119, 45, 13, 54, 13, 85,141,156,198,226, 35,112, 68,121,228, +233,247, 9,223,247, 30, 13, 58,218,118,140,123,172,225, 7,211, 31,118, 29,103, 29, 47,106, 66,154,242,154, 70,155, 83,154,251, + 91, 98, 91,186, 79,204, 62,209,214,234,222,122,252, 71,219, 31, 15,156, 52, 60, 89,121, 74,243, 84,201,105,218,233,130,211,147, +103,242,207,140,157,149,157,125,126, 46,249,220, 96,219,162,182,123,231, 99,206,223,106, 15,111,239,186, 16,116,225,210, 69,255, +139,231, 59,188, 59,206, 92,242,184,116,242,178,219,229, 19, 87,184, 87,154,175, 58, 95,109,234,116,234, 60,254,147,211, 79,199, +187,156,187,154,174,185, 92,107,185,238,122,189,181,123,102,247,233, 27,158, 55,206,221,244,189,121,241, 22,255,214,213,158, 57, + 61,221,189,243,122,111,247,197,247,245,223, 22,221,126,114, 39,253,206,203,187,217,119, 39,238,173,188, 79,188, 95,244, 64,237, + 65,217, 67,221,135,213, 63, 91,254,220,216,239,220,127,106,192,119,160,243,209,220, 71,247, 6,133,131,207,254,145,245,143, 15, + 67, 5,143,153,143,203,134, 13,134,235,158, 56, 62, 57, 57,226, 63,114,253,233,252,167, 67,207,100,207, 38,158, 23,254,162,254, +203,174, 23, 22, 47,126,248,213,235,215,206,209,152,209,161,151,242,151,147,191,109,124,165,253,234,192,235, 25,175,219,198,194, +198, 30,190,201,120, 51, 49, 94,244, 86,251,237,193,119,220,119, 29,239,163,223, 15, 79,228,124, 32,127, 40,255,104,249,177,245, + 83,208,167,251,147, 25,147,147,255, 4, 3,152,243,252, 99, 51, 45,219, 0, 0, 0, 6, 98, 75, 71, 68, 0,255, 0,255, 0,255, +160,189,167,147, 0, 0, 0, 9,112, 72, 89,115, 0, 0, 13,213, 0, 0, 13,213, 1, 61,214, 88,241, 0, 0, 0, 7,116, 73, 77, + 69, 7,220, 4, 24, 17, 13, 59,208, 68,241,106, 0, 0, 32, 0, 73, 68, 65, 84,120,218,236, 93,119,120, 20,197, 3,125,187,183, +215,239,114,233, 61, 16,146, 64, 32,148,132, 80, 20,144, 94, 5,162,168, 8, 2, 34, 69, 44,136, 40,160, 40,168,136, 72, 87,233, + 42, 32, 42, 77, 65,176, 1, 1, 41,145, 18, 72, 2,132, 38, 61, 65, 18, 72, 35,237, 82,175,183,221,223, 31,201,157,151,203,181, + 64,162, 63,116,223,247,237,119,119,123,187,111,103,103,103,102,223,188,105, 0, 11, 22, 44, 88,176, 96,193,130, 5, 11, 22, 44, + 88,176, 96,193,130, 5, 11, 22,255,106, 36, 38, 38, 50, 13, 56,124,160,187,156,181, 91,159,255,119,206, 38,188,119,166, 17, 57, +251,212,114,126,244,144,132,179,207,255, 43,167,249,126, 27,192, 59,176, 33,233,168,177,226,211, 42,156, 76, 99,135,179,169, 56, + 27, 43, 31,217, 9, 39,211, 4,207,253,163,135, 36,156,125,254,223, 56,109,211,143,155,188, 13,226,116, 51, 77, 53, 52,156, 76, + 99,135,179,169, 56, 31, 52, 31, 57, 9, 39,243,160,105,201,193,179,255, 8,255, 33, 80, 77, 40,178,220, 70, 66, 66, 2, 97,197, + 79,252,191,114, 90,199,131,153,191, 49,195,218,136, 56,222,216,156, 54,241,217, 88,248, 40, 33, 33,129, 72, 76, 76, 60, 1,160, + 79, 99,222,123, 99, 60,119,155,123,109, 20,222,251, 16, 89, 13,226,108,172,116,223,212,156,141,149,151,108, 57, 27, 35,221,219, +123,238, 77,248,140, 26, 43,156,141,146,151,154, 34,205,219, 73, 63, 15,204,107,203,217, 24,121,201,150,179, 49,210,253,223,193, +217, 24,121,201, 30,103, 99,164,123, 71,207,254,191,102, 80,145,255,176, 32,176,205,224,125,255,159, 5, 81, 83,137,205, 6, 56, + 48,255, 56,103, 35, 63,163,143,106, 57, 27,179,118,211,183,177,158, 81, 83,164,119,107,206,198,226,183,229,105,140,231,100,143, +243, 65,195,235, 32,156,141,126,239, 15,154,238,255, 46,206, 70,126, 70,141,146,151,108, 56,251, 54,114,101,160,175,213,239,143, + 26,147,179,177,242,146,157,112, 62,240,115,178,199,249,160,225,117, 16,206, 70,191,247,198,120,135, 52, 21,239,191, 26, 77,213, +124,214,216,156, 13,228,254, 87,113, 54,176,121,102, 96, 19, 60,251,127, 52,156,141,201,105, 27,198,198,108,238,105,202,112, 54, + 38,103, 3,194,250,175,227,124,216,158,251,255, 99,124, 58,226,123,144,102, 41, 71,238,104, 83,132,179, 49, 57,221,228,254, 87, +112, 62,192,179,255,215,129,250,127, 9,136, 57,226, 27,185,102,130, 70,118, 96,154, 82,184, 54,102, 56,251, 54,133, 67,216, 4, +104,244,112,214,214,148,231, 55,193,189, 63, 44,113,202,230, 37, 54, 47,253,223,229, 37,155, 52,217,183, 17,157,162, 70,117,158, +109, 57, 27,227, 26,214, 28,141,149, 70,155,250,222, 27, 51, 47, 53,197,179,103,241, 0, 46, 4,203,201,114,178,156, 44, 39,203, +201,114,178,156,255, 89,206,127, 37, 72, 54, 10, 88,176, 96,193,130, 5, 11, 22, 44, 88,176, 96,193,130, 5, 11, 22, 44, 88, 60, + 84,112,216,190, 27, 18, 18,146, 40, 22,139, 91, 58,250, 95,169, 84,222,187,119,239, 94, 63, 54, 10,255, 57,176,207,136,197, 67, + 4, 18,127, 57,232, 52, 0,166,118, 99,193,130, 5,139,127, 53, 28,118,134, 23, 8, 4,145, 55,110,220,136,166,105, 26, 38,147, + 9, 70,163,209,242,169,211,233,208,187,119,239, 6,119,164, 15, 12, 12, 76,230,112, 56, 45, 26,114,142,201,100,202, 41, 42, 42, +234,233,228,144, 84, 0,145, 4,241,151,102, 52,127,119,244, 9,160,192, 96, 48,116,114,198, 73, 16, 68,164, 45,159, 3, 46,243, +119,167,156,158,158,158,231, 40,138, 10,179,199,229,232, 59, 77,211, 89, 37, 37, 37, 61,254,206,103,244, 95, 70, 96, 96, 96, 50, + 69, 81, 13, 78,159,133,133,133, 14,211,103,112,112,240, 69,146, 36, 67, 26, 64,201,161,105, 58,227,222,189,123, 61,157, 8,145, + 84, 0,145, 78,107, 80, 54,233,137, 32,136, 60,147,201,212,197, 85, 62,114,198,101, 39,141,186,226,180,136, 44,138,162,150, 5, + 4, 4, 76, 85,169, 84, 26, 0, 12,135,195, 97,172,194, 6, 0, 48, 26,141, 37, 21, 21, 21, 29,216,148,200,130, 5,139,255,132, +208,162,105,154,212,106,181,200,204,204, 4,195,216, 45,239, 77,247,113,189,232,243,191, 31, 9,240, 8, 8,132, 81,175,135,196, +207,223,194, 93,116,253, 42,140, 6, 61,140, 58, 29,154,119,237,102, 14, 3,218,182,109,203,113,193, 25,182,124,249,242, 0, 15, + 15, 15,104, 52, 26,104, 52, 26,104,181, 90,104, 52, 26,232,116, 58,232,116, 58,232,245,122,232,245,122, 24,141, 70,104,181, 90, + 36, 37, 37,153, 12, 6,131, 83,206,197,139, 23, 7,200,100, 50, 11,159,121, 51,115,154,121, 13, 6, 3, 52, 26, 13,142, 30, 61, +234,148,147,162,168,176,130,130,130, 0, 30,143, 7,134, 97, 64,211, 52, 24,134,169,179,217, 34, 42, 42, 74,239, 44,144, 77,244, +140,254,203,136, 94,188, 99,127,128,167, 72, 0, 35, 77, 35, 33, 46,202,242, 71,214,215,187,193, 24, 77,160,141, 70,180,122,125, +188,101,127, 76, 76,140,211,244,201, 48, 76,248,226, 29,251,189,220,229,148,203,229,234, 54,109,218, 20,160,198,109,118, 36,180, +194,212,106,117, 64, 45,127, 61, 65, 68,146,100,157,237,208,161, 67, 72, 72, 72,112,117,239, 97, 51,103,206, 12, 48, 24, 12,208, +233,116,208,106,181, 48, 24, 12, 48, 26,141,150,205,100, 50, 89, 54,157, 78,135, 51,103,206,184,235,100, 45, 31, 52,104,208,228, +253,251,247, 75,126,253,245, 87, 73,139, 22, 45,192,227,241,192,225,112,192,225,112, 64,146, 36, 40,138,194,163,143, 62, 74,176, + 73,144, 5, 11, 22,255, 25,161,165,213,106,179,227,227,227,153,218,239,161, 2,129,128,103, 83,203, 13,105,213,170, 85,134,237, +121,174,154,171, 60, 2, 2, 49,183,153, 15, 0,224,195,187,114,203, 11,226,147, 30, 29, 45,199,124,156, 95, 9, 0, 16,137, 68, + 32,172,171,209, 14, 32,145, 72, 48,104,208, 32,240,249,124,116,233,210, 5, 92, 46,215,238,198,227,241,192,229,114, 93, 70, 10, + 65, 16,144, 74,165, 88,176, 96,129, 89, 36, 65, 34, 20, 96,122,143, 46, 16,130,193, 87, 87,111, 65, 71, 51,160, 40,202,178,185, +195,201,227,241,112,229,202, 21, 80, 20, 5, 14,135, 99,249, 52,127,223,187,119, 47,158,125,246, 89, 80, 20, 5,145, 72, 4,184, +152, 57,216,250, 25,233,116,186, 96, 62,159,175, 7, 96, 22,103, 60,130, 32,130,238,231, 25,253,151,225, 41, 18, 96,194,250, 95, + 0, 0,185,171, 94,183, 60,187, 51,175,125,104, 57, 38,252,229,209, 32, 8, 2, 92, 46, 23, 36, 73, 54, 26,103, 89, 89,153,122, +204,152, 49,167, 60, 60, 60, 14, 85, 85, 85,193,133,128, 67,110,110, 46, 40,138,114,152,222, 73,146,196,202,149, 43,241,231,159, +127,186,117,239, 26,141, 6,155, 54,109,130,201,100,170,195,107,254,110,187,207, 77,145,181,104,240,224,193,227,247,239,223,239, + 77, 16, 4, 62,255,252,115,240,120, 60, 12, 27, 54, 12,190,190,190, 56,124,248, 48,120, 60, 30,222,121,231, 29, 54,241,177, 96, +193,194, 89,153,199, 5,208, 17,128,127,173,137, 80, 13,192,203,234,144,146,218, 79,127,243,111,130, 32,210,237,240,116,173, 61, +166,132, 32,136,116,171,223, 58, 0,124, 59,251,229, 0, 68,181,155, 22, 53,238,127,123,171,235,152,207,131,163,235, 82, 64,205, +250, 67, 0,142, 3,232,155,144,144,112, 2, 0, 10, 11, 11,135, 22, 22, 22, 2, 0, 34, 35, 35,111,100,100,100,180, 49,107,158, +218,230, 41,158,209,104,140, 54, 55, 85,153,221,162,129, 3, 7, 58,173,225, 27,245,250,122, 2,196,158,150,178,215, 92,225, 72, +192,232,245,122,140, 30, 61, 26, 0, 28,190,116,172, 55, 55,180, 27,116, 58, 29, 40,138, 66,235,102,254,152, 55, 36, 30,143, 48, + 6, 40, 21, 4,140,149, 74,140,144, 26,112,163,109, 39,108,204, 41,193,221, 42, 5, 40,138,114,139,147,166,105,135, 34,139,195, +225, 96,253,250,245, 24, 51,102, 12, 56, 28,142, 91,124,214,207, 40, 34, 34, 98,127, 70, 70,134, 47, 65, 16,218,218,103, 36, 48, + 26,141, 50,163,209,232,107, 50,153,124, 27,242,140,254,203, 48,210,180,221,116,232, 40,205,186,243,156,220,225, 44, 43, 43, 83, + 39, 36, 36,156, 22, 8, 4, 91, 3, 3, 3, 11,242,242,242, 92, 10, 45, 91,241, 99, 91,169, 88,177, 98, 5,214,174, 93,139,126, +253,250,185, 21, 78,173, 86, 11,130, 32,176,113,227,198,122,255, 45, 92,184,176,222,245, 92,112, 18, 0,200,144,144,144,215, 14, + 30, 60, 40, 51, 31,235,231,231, 7, 46,151,139, 14, 29, 58,192,195,195, 3,167, 78,157,130,201,100,114, 59, 95,178, 96,193,226, +223, 11,123, 90,196, 10,189,231,206,157,219,101,217,178,101, 75,186,119,239,190, 51, 53, 53,117, 7, 65, 16,137, 86,101, 98, 66, +109,249,154,104,254,205, 48, 76, 87,107,209, 83, 43,214,252, 9,130, 72, 52, 31,111,253,219,252,201, 48,204, 64, 0,124,243,239, +185,115,231,182, 95,182,108,217,146, 57,115,230,188,183,116,233, 82,222,220,185,115, 99,151, 45, 91,182,196,124, 29,123,225,176, +231,104, 57, 93,123,202,220, 68,117,243,230, 77, 71, 77, 84,214, 47, 0,167,165,165,196,207,223,226,100,125, 28,238,107,217,191, + 32,175,194,242, 2, 91,215,185, 37, 36, 18, 9,134,124,252,169, 91, 78,145, 78,167, 67,113,113,177,197,101,112,181,185,203, 41, + 22, 9,145, 52,179, 3,114,229,124,124,148, 86,134,253,151,254, 4,151,203,197,227,109, 59, 96, 40,207, 3, 31,132,243, 49,243, +214, 29, 24, 24,247,250,244, 50, 12, 99, 87, 96,153,191,155,155, 80,220, 21, 90, 54,207, 40, 87,163,209,200, 51, 51, 51,213,116, +205,139, 93,196, 48,140, 55, 65, 16,213,181, 46, 87,176,187,207,232,191,140,132,184, 40,139,235,116,198, 99,128,101,255,179,202, + 43,150,103,242,214,250, 79, 0, 0,253, 58, 61,234, 50, 63,184,195, 41,151,203,213, 61, 7,244, 61, 97, 82,235,182,140, 31, 63, + 62,251,216,177, 99, 34,119,194,106, 79,104,153, 93, 91,179,200,162, 40, 10, 58,157,206,173,123,215,233,116, 14,243, 7,143,199, +187, 31, 71, 11, 74,165, 82,183,103,207, 30,172, 91,183, 14,190,190,190, 24, 60,120, 48,130,131,131,177,123,247,110, 48, 12,131, +215, 95,127, 29, 34,145,200,236, 94,179, 9,144, 5,139,255, 54,156,105, 17,193,178,101,203,150,216, 10, 25,235,223,214, 2,202, + 70, 76, 89,139,181,246, 46,222,255,137,182,226,201,124, 93,130, 32, 18,151, 46, 93,154,224, 34, 28, 37,142,132,150,211, 41,241, +181, 90,109,118, 92, 92,156, 91,106, 66,165, 82, 21,186, 18, 27,246,106,245,214, 46,129, 84, 42,133, 68, 38, 5,233,102,185,107, + 48, 24, 44, 66,229,200,145, 35, 16,137, 68, 24, 54,108,216, 3, 57, 90,122,189, 30,124, 30, 23,164, 95, 32, 38,172, 58, 6,121, +181,218,242,130, 57,158,149,141, 11, 69,197,152,217,125, 0, 36,162, 98, 40,116, 58,183,156, 55,154,166,235,137, 44,138,162, 48, +122,244,104,139,155, 96,221,111, 5, 78,154, 14,125,125,125,207, 81, 20, 21,102,245,140,132,145,145,145,192, 95,253,122, 8,154, +166, 21, 94, 94, 94, 63, 3, 8, 97, 24, 38, 12,128,135, 59,207,136,133,253,244,105,187,159,182,113,170,238,135, 83, 46,151,171, + 19, 18, 18, 78,155,212,186, 45,249,249,249,167, 1, 8, 31,121,228,145, 6, 11, 45,179,192,226,114,185, 88,185,114, 37,214,174, + 93,107,249,223, 93,161,101, 52, 26,235, 8,168, 91,183,110,213,185,150,173,176,115,209,108,202,160,102,116, 33, 29, 25, 25,105, + 57, 39, 40, 40, 8, 94, 94, 94,160,105, 26, 52, 77, 67, 40, 20, 66, 36, 18,129,199,227,177,137,142, 5, 11, 22,206,180,136,122, +206,156, 57,239, 17, 4,145, 88,235, 44, 93,117, 34,168,236,105,143,174, 54, 98,173,196,193,113, 9,246,196,150,245,119, 51,230, +206,157,219,222, 54, 28,246,154, 43, 45,165,170,205,180,251,117, 96,221, 68,213, 88, 47, 49,103, 47, 50,169,151, 12, 34,137, 4, + 28, 14, 9,130, 32, 24, 87, 92,122,189,222, 82,240, 79,157, 58,213,105,191, 21,119,251, 83,233,245,122,144, 20, 7,247,130, 34, + 96, 34, 79, 90,206, 53,111, 36,197,197,221,160, 54,224,220,188, 8,174,155, 47, 92, 91, 71,235,245,215, 95,199,166, 77,155, 64, +146,164, 37, 78, 40,138, 66,171, 86,173,144,157,157,237,148,139,162,168,176,187,119,239, 6, 88,199,163, 89,196, 50, 12, 3,147, +201,132,168,168, 40, 77,102,102,230,155,108,214,125, 48,145,229,104,191,201, 68,187,237,194,216, 59, 78, 46,151,171, 71,141, 26, +117,162,178,178,114, 75,187,118,237,110,161,238, 20, 8, 46,249, 40,138,170, 35,176,204, 34,107,205,154, 53,117, 68,145,193, 96, +112,171, 34, 96, 48, 24,234, 9,158,207, 62,251,172,206, 39, 0,244,232,209,195, 45,103, 24, 0, 67,146, 36,195,227,241, 48,104, +208, 32,196,198,198,226,215, 95,127, 5, 77,211,152, 54,109, 26, 68, 34, 17, 86,175, 94, 13,163,209,136,229,203,151,179,142, 22, + 11, 22, 44,156,105, 17,237,210,165, 75,175, 46, 93,186,212,226, 44,217, 58, 90, 14,222,187,195,107, 69,149,191, 89,164, 1,208, +218, 19, 68,246, 92, 50, 91, 1,102,189,111,217,178,101, 75,108,195, 97,219, 92, 89, 71,104,253, 93, 40,188,118, 5,159, 62, 22, + 15,160,110,115,225,250, 71,219, 64, 34,149, 64,226, 33,197,168,189, 39, 1,160,182,208,159,227,150,163,101, 22, 90,114,185,220, +169,200,106,136,163, 69,242, 41,252, 24, 86, 14,134,207, 5,165, 51,212, 17, 90, 28,138,139, 92,223, 8,144, 92, 30, 40,147,209, + 45, 78,134, 97,234, 53, 21, 78,156, 56, 17, 4, 65, 88, 70,136,197,197,197, 89,115, 17,174, 94,142,179,125,106,250,224,217, 54, +199, 46, 47,213,176, 57,246,126,210,231,185,175,113,227,167,215, 0, 0, 61,149, 74,203,179, 88, 28,247,215,216,129, 85, 87, 78, + 88,220,199,143,241,246,125,113,202,229,114,245, 35, 49,237, 79,243,124, 60,183,228,228,228,156, 6, 64, 62,247,220,115, 94,113, +113,113,110,229, 73,243,224, 10, 91,145,101,237,100,153, 63, 93,140,176,181, 18,142, 38,183, 4,148,185, 25,209,141, 52,207,152, +211,182, 76, 38,131, 84, 42,181,140,184, 21, 10,133, 16,139,197,150,254,157,110, 10, 55, 22, 44, 88,252,119,225,109, 22, 58,181, + 98,169,142,211, 84,219,183, 42,193,250,183, 61,199,171,214,129, 74,118, 81,190,238,175, 21,104,118, 97,118,214,108,206, 73,116, + 36,210, 40,179,130,180,254, 12, 10, 10,250, 77, 42,149, 70,184,123,247, 13, 25,197,102, 50,232,235, 57, 91, 4, 65, 64,234, 33, +133, 72, 42,129,200, 67,234,208,245,114, 38,180,204, 78,145,249,165,179,117,235, 86, 72,165, 82, 76,154, 52,169,193,125,180, 44, + 66,139, 71,226,176,224, 40, 56,124,170,142,200,162, 40, 10, 28, 46, 23,133,210, 96,144, 92, 46, 40,163,123, 46, 89,101,101, 37, + 40,138,194,188,121,243, 44, 53,120,107,145,213,144,123,118, 6,146, 32,204,238,150,160,101,203,150,111, 19, 4, 17, 14,160,133, + 82,169, 20,220,187,119,175, 63,155, 95,157, 40, 3,147,161,158, 11,229,200,125,189, 95, 78,179,147,197,243,241,220,210,166, 77, + 27,139,147, 37, 22,139,205,163, 77, 93, 63, 99,146,180, 43,178,108, 71, 8, 82, 20, 85,147,150, 93,140,142,180,118,180,150, 46, + 93,106,225,181,118,178,204,104, 72, 62, 50,135,245,196,137, 19,184,112,225, 2,166, 78,157, 10,145, 72,132,181,107,215,194,104, + 52, 98,225,194,133, 16,137, 68,224,243,249,108,226, 99,193,130,117,179,234,104, 17, 27,148,216,244,131, 34,108, 68, 77,137, 61, +129,101,221, 76,104,254, 78, 16,132,193, 14,175,206,166, 73,209,118,191,249, 83,190,116,233,210, 99,102, 39,203,106,127,157,112, +184,116,180, 4, 2, 65, 68,102,102,166,101, 34, 76,103,159, 58,157, 14,253,250,245,115,219, 25, 51,143, 58,164, 40, 78, 29, 97, + 33,246,144, 66, 44,243,128, 72, 42,181, 21, 28,132,171, 66,220, 92, 35,182, 22, 90,243,231,207, 7, 69, 81,216,180,105, 19, 0, +224,237,183,223,118,187,143,150,153, 19, 38, 2,121,204,109,196,175,122, 22,186,239, 12, 40, 74,249, 3, 20, 69, 33,160,219, 80, +208,143, 60, 11,149, 72, 10,202,100,116,123,212, 97, 89, 89, 25,178,179,179,193,225,112, 48,107,214,172, 58,115, 29,217,142,100, + 59,114,228,136,203,123,183,231,100,205,207, 41,179,240,136, 68, 34,242,143, 63,254,136,160,105, 58, 82,173, 86,183,236,209,163, + 7,205,102,101, 23,162,136, 54,186, 37,170,220, 77,159,182,156,230, 62, 89,149,149,149, 91,114,114,114,206, 0, 32,199,143, 31, +239, 37, 22,139,241,205, 55,223,168, 0,240,119,239,222, 45,114, 37,138,204,233,198,149,200,226,114,185, 53,105,217,157,123,103, +234, 78, 89,226,170, 99,188, 59,105,222, 28, 86,130, 32, 96, 50,153, 32, 18,137,234, 56, 89, 66,161, 16, 2,129,128, 77,120, 44, + 88,176,112, 85,150,164,187, 93,142, 51, 76, 87, 43, 81,149,126, 63,188, 13,185,158, 43, 80,142,132,134, 86,171,197,245,235,215, +221,229,113,123, 98,204,102, 93, 30,197,199,249,149, 32, 8, 2, 95,245,104, 7,137, 76, 10,177, 68,130,145,191,158,176, 20,220, + 87,150,188, 13,129, 68,138,144, 94,131,221, 42,200,205, 77,135,214, 66,171,162,162, 2, 92, 46, 23,139, 22, 45, 2, 73,146, 88, +190,124, 57, 66, 67, 67,113,239,222, 61,236,222,189,219, 45, 71,139, 99,226, 32,248,133, 24,136, 39,122, 66,246, 66,111,120, 15, +154,143,124, 29,133, 84,141, 24,189, 53,215,192, 63,188, 6, 58,218,228,246, 8, 44,163,209,136, 19, 39, 78,216,118,120,183,244, +169, 50, 26,141, 48, 24, 12,208,235,245, 88,190,124,185, 59, 35, 60,235, 61, 55,115, 28,214, 78,130,202,201,200,200,240,103, 24, +198, 7,128, 39,128, 82, 54,187, 58, 71,112,183,215,225,223,229, 85, 0,192,222,165, 47, 90,246,207,187,242, 87,250, 92,249, 93, +205, 2, 0,109, 90, 12,110, 16,167, 92, 46, 87, 63,222,175, 71,178,134,230,110,238,208,161, 67, 29, 39, 75, 40, 20, 18,181,191, +221,178,203, 72,146, 4,135,195,169,215, 92,232, 72,108,185,211, 71,203,104, 52, 90, 38, 18,117,214,159,241,126, 28,173, 23, 95, +124, 17,193,193,193, 22, 39,235,227,143, 63,134, 72, 36,194,220,185,115, 97, 48, 24,176,102,205, 26, 54,241,177, 96,193,226,111, + 23,101,127, 7,236,150,164, 26,141,230, 78,108,108, 44, 28,252, 23, 42, 20, 10,185, 54, 55, 21,210,170, 85,171, 12, 59, 77,136, + 3, 1, 36,217, 43,212, 9,130,128,135,204, 3, 66,169, 4, 98, 27, 23, 75,232, 33,131, 64, 42, 5,201,179, 91,152,215,227, 52, +247, 45,177, 22, 90,230,173,178,178, 18, 92, 46, 23,235,214,173,131, 76, 38,131, 86,171,117,201,105,126,233,112, 56, 28,168,114, +171,113, 99, 73, 18,248,194, 84,180, 28, 60, 6,193, 92, 17,120,167,126,134,218,100,112, 53, 97,105, 61,206,232,232,104,124,248, +225,135,245,166,117,112,132,208,208, 80,151,247,110,235,100,173,108,215, 28, 60, 62, 15,111, 93,203,133, 86,171, 37,198,140, 25, + 67, 3, 80, 3, 40, 81,171,213, 57,238,196,103, 35,224,161,231,116, 54, 42,214, 12,154, 49,217, 19, 48,118, 57,205, 78,150,134, +230,110,206,206,206, 54, 59, 89,158, 98,177, 24, 27, 54,108, 80, 1, 32, 23, 46, 92, 40, 14, 15, 15,231,184,147,150, 56, 28, 14, + 86,173, 90,101,183, 79,150, 61,209,213,144,124,100,125,110,159, 62,125,236, 78, 88,234, 64,188,213,227, 52,135,213,215,215,215, +226,100,153, 76, 38,203,104, 67,243,236,243, 78, 42, 21,108,250,100, 57, 89,206,255, 14,231,191, 18,118, 75,224,123,247,238, 61, +238,232,132,168,168,168,204,204,204,204, 86,230,165, 56,106, 11, 78,158, 70,163,137,238,209,163,135, 75,107,135,166,105, 8, 4, + 2, 48, 12,131,254, 31, 46, 3, 65, 2, 36,234,190,196, 2, 30, 27, 0, 14,135, 2, 93,179,212,135,203, 81,135,106,181,186,206, +203,193,222,166, 80, 40,160,213,106,221,158,205, 91,163,209,212,153,130,129, 96,104,220,253,125, 87,189,209,135,230,205,221,126, + 59, 66,161,176, 78,211,143, 11,199,138,112,199,209,178,110,122,228,241,121,160,120, 92,179,163, 85,125,235,214,173, 81,108, 50, +119, 31,230, 1, 11, 0,208,186,199, 48,208,180, 9,140,201, 84,103,153,164,152,136,199, 65, 51, 38,232, 13, 42,104,181, 90, 87, +211,158, 16,165,165,165,234, 81,163, 70,157, 0,240,237,136, 17, 35, 50, 80, 51,187, 48, 35,149, 74, 5, 92, 46,151, 6, 80, 6, +128, 41, 47, 47,247,204,207,207,167, 53, 26, 77,115, 87,225,220,191,127, 63,174, 95,191,142, 94,189,122,213, 89, 14,202,236,138, + 90,207,238,238, 78,250, 52, 55,151,219,155, 17,222,145,144,115, 23, 28, 14, 7,158,158,158,224,241,120, 88,180,104, 17,120, 60, + 30,196, 98, 49, 0, 96,205,154, 53,150,201, 87, 89,176, 96,193,226, 63, 35,180, 92,149,155, 78,154, 21,157, 54, 33, 26,141,198, +188,240,240,240, 6, 93,204,100, 50, 21,185, 16,110,121,187,119,239,230, 89,187, 16,174, 62, 25,134, 41,114,241,178,205,219,187, +119, 47,207,158,187,225,104,129,105, 87,156, 38,147, 41,175, 69,139, 22, 14, 29, 19,123, 48, 24, 12,249,174, 68,235,178, 18,117, + 29,145,240,214,181, 92,135,107, 39,178,112,153,214,156,164,207,247,239, 55,125,222,106,221,186,117,190,151,151,215,129,192,192, + 64,121, 74, 74,138,111,215,174, 93,125,173,143,233,218,181,107,176,205,105, 58, 56, 94,231, 16, 4, 65,228,141, 24, 49,194,110, +154, 55,139, 38, 59,233, 51,207, 85,154, 63,123,246, 44,207,250,124, 71,252, 86,249, 40,207, 13,225,122, 55, 62, 62,158,180,230, +113,148,246, 13, 6, 67, 9,155, 10, 89,176, 96,241,159, 23, 90,106,181, 58, 55, 54, 54,214,232,224,191, 28,103,231,202,229,242, + 46,141,125, 3, 6,131,161,199,195,192, 89, 90, 90,218,168,247,110, 52, 26,243,106, 39, 40,117,122, 12,155,196,255,185,103, 4, + 0,197,197,197,143, 0,128, 82,169,132,171,101,117, 26, 32, 8, 27, 61,125, 26,141,198, 30, 77, 17,167,101,101,101,221,217,148, +197,130, 5, 11, 86,104, 53, 0,236, 98,196,255, 31,104, 10,209,202,130, 5, 11, 22, 44, 88,176,104, 92,144,108, 20,176, 96,193, +130, 5, 11, 22, 44, 88, 52, 13, 8,212,140, 28,176,135,134,140, 38, 24,120, 31,215, 78, 98, 57, 89, 78,150,147,229,100, 57, 89, + 78,150,243, 63,199,233,138,155, 29,205,216,196, 2,140,229,100, 57, 89, 78,150,147,229,100, 57, 89,206,255, 30,231,191, 18,108, +211, 33, 11, 22, 44, 88,176, 96,193,130, 69, 19,129, 98,163,224, 31, 3, 7, 13,152, 81,223, 21, 24,134,241, 6,224,104,193, 56, + 29, 65, 16,229,247,193, 73, 0,224,213,110,230,137,142, 12, 0,244, 0,244, 4, 65, 48,174, 57, 62, 34, 11, 10,188,219, 51, 38, +110, 87,134, 32,184, 52,141, 75,205,155, 55,187, 72, 16, 67,117, 0, 32, 9,140,105, 43,149,136, 6,106,245,186, 8, 1,151,127, +189, 66,169, 56,162, 45,206,188,195, 38, 15, 22, 44,254, 17, 60, 1, 96, 1,106,186,149, 44, 5,176,139,141, 18, 22, 44,154, 72, +104, 73,165,210,115, 36, 73,134,185,154,159,199,140,218,181,204,242,202,203,203,187, 52,224,218,163,164, 82,105, 63, 46,151,251, + 24, 0, 24, 12,134, 20,133, 66,113, 12,192,110, 0,198,251,188, 39, 25,128,209, 0,198,213,254,254,190,182,176,168,186, 79,190, + 88, 79, 79,207,159,184, 92, 46, 83, 90, 90,218, 13, 0,124,125,125, 79, 27, 12, 6,162,170,170,106, 36,128,203, 13,228, 35,185, + 92,238,202,110,221,186,245, 62,121,242,228,183, 0,214, 53,210,179, 20,144, 36,105, 87,160,208, 52,221,226, 62, 68, 22, 15,128, +231,186,117,235,124,183,111,223, 30,159,151,151,215, 1, 0,194,194,194,174,140, 31, 63,254,226,244,233,211,229, 12,195, 84, 18, + 4,161,119,198, 83, 80,224,221,190,184, 48,107,106, 81,241,245,209, 0, 16, 20,220, 97, 23,135, 67,242, 24,230,124,154,216,111, +156, 95,171,150, 45, 94,221,249,205, 58, 94,139,136,102, 56,154,122,161,227,244, 55,223,107,159, 15,172, 96,197,214,223, 7, 15, + 15,143,115, 36, 73,134, 57,203,227,246,242,188,201,100,202, 43, 43, 43,235,226,136,147,162,168, 48,103,229,133,189,125, 52, 77, +103,149,150,150,218,157,106, 66, 38,147,165, 81, 20, 21,225, 46,151,249,211,104, 52,230, 57, 26,165, 43,147,201,206,113, 56,156, + 48,103,247,105,239, 63,154,166,179, 74, 74, 74, 28,133,179,222,189, 55, 70, 56,239,135,211, 89, 56,205,229, 17,128, 53,190,190, +190,143,202,229,242,231, 1,188, 87, 85, 85, 21,199,225,112,224,227,227,243,158, 78,167,251,211,211,211,243,235,202,202,202, 84, + 0,111, 2, 96,215, 75,101,193,162,177, 32,147,201,138, 20, 10, 5, 99, 6, 77,211,140,193, 96, 96,180, 90, 45,163, 86,171, 25, +165, 82,201, 40, 20, 10,166,170,170,138,169,172,172,100,228,114, 57,227,239,239,111, 59,121,163,163, 54,220, 14, 50,153, 44,115, +217,178,101,218,236,236,108, 70,175,215, 51,122,189,158,185,115,231, 14,243,233,167,159,106,101, 50, 89, 38,128, 14, 14,206, 29, +232,160,176, 24, 4, 96, 71,124,124,188,110,255,254,253,140, 70,163, 97,148, 74, 37,179,107,215, 46,166, 93,187,118, 58, 0, 59, +106,143, 33,221,228, 4,128,158, 65, 65, 65,121,183,111,223, 54, 29, 57,114, 68,239,233,233,153,228,233,233,153,116,231,206, 29, +211,237,219,183,105, 63, 63,191, 60, 0, 61, 27, 16, 78, 0,120,246,173,183,222, 42,186,115,231, 14,211,167, 79,159, 75, 86,251, + 9,184, 94,231,110,160, 61, 39,139, 97,152, 32,134, 97,130, 81, 51,201,101,189,141, 97,152,224,218, 99,188,221,228,148,100,101, +101, 53, 11, 12, 12, 92, 70, 16,132,206,150,143, 32, 8, 93, 96, 96,224,178,172,172,172,102, 12,195, 72,156,113,230,229,172,127, +233,192,254, 1, 21,202,242,155,140,178,252, 38,243,237,230,190, 85,175, 76,127,126, 71,112, 84,167, 77, 94, 97,237,215, 93,191, +121,107, 35,195, 48, 27,143,165,103,110,156,255,229,111, 27,159,158,190,122,131,111,120,252, 43, 13,136,207, 7, 1,203, 9,192, +203,203,171, 80,169, 84, 50, 12,195, 48, 38,147,137,209,235,245,140, 86,171,101, 84, 42, 21,163, 80, 40,152,234,234,106, 75, 62, +175,172,172,180,124, 15, 8, 8,112,152,223,189,189,189,139,212,106,117,157,178, 67,167,211, 89,202, 15,149, 74,197,168, 84, 42, + 70,169, 84, 90, 54,133, 66,193,132,132,132,228, 58, 9,231, 61,115, 56,105,154,102,140, 70, 35,163,215,235, 45,188, 26,141,166, +206,166,213,106, 25,173, 86,203,132,135,135,187, 29, 78,119, 56, 53, 26, 13, 19, 22, 22, 86,224,136,211,199,199,167, 72,163,209, +212,225,180,190,127, 91, 94,243,239,160,160,160,194,134,112,186, 19, 78,103,241, 89,139,117, 25, 25, 25,140, 90,173,102, 66, 67, + 67,229, 35, 71,142, 52,152, 76, 38,102,255,254,253, 76,124,124, 60,221,183,111, 95,125,105,105, 41, 51,105,210, 36,198, 73,165, +144,205, 71, 44, 39,139,251,113,180, 8,130,128, 68, 34,193, 15, 63,252,224,112, 57, 14,235,239,205,155, 55,119,247,154, 93, 34, + 34, 34, 78,156, 58,117, 74, 20, 28,252,215,132,216, 58,157, 14,222,222,222,152, 54,109, 26,255,137, 39,158,104, 53,120,240,224, +211,119,239,222,237, 3,224,156, 11,190,103,252,253,253, 63,159, 55,111, 94,224,115,207, 61, 7, 95,223, 58,147,110, 99,212,168, + 81, 24, 57,114, 36, 47, 35, 35, 99,204,214,173, 91,199,172, 95,191,190, 80,161, 80, 76, 7,240,179, 51, 82,145, 72, 52, 34, 36, + 36,100,195,169, 83,167, 2, 2, 2, 2, 16, 25, 25, 73,190,243,206, 59,173,162,163,163, 69, 97, 97, 97,228,189,123,247,240,235, +175,191,134,142, 29, 59,246,199,162,162,162, 87,245,122,253, 30, 55,238,157,239,235,235,251,222,171,175,190,234, 87, 85, 85,101, + 60,127,254,124,166,121, 63,159,207, 95,216,189,123,247,174,199,143, 31,255, 14,192,215,247,227,100, 49, 12, 83,133,191,154,248, +204, 48,152,255,119,199,217, 98, 24,134,127,233,210, 37,159,238,221,187,255,172,213,106, 59, 77,157, 58, 53,103,201,146, 37, 34, +153, 76, 38, 3, 64, 84, 85, 85,149, 47, 88,176, 64,183,122,245,234,119,219,182,109, 59, 32, 45, 45,237, 25,134, 97, 12,181,130, +172, 62, 31, 65, 88,194,147,155, 95,130, 19,169, 52,255,195,185,111,135,125,178, 56,226,110,250,181, 92,154, 18,201,176, 47,249, + 42,138,228, 10,252,150,118, 13, 65,190, 30, 4, 79,192,109,239, 25,218,174, 79,101,254,181,100, 56,153, 33,157, 69,227,128, 32, + 8,136,197, 98,236,219,183,175,222,210, 85,246,150,181,162, 40, 10, 94, 94, 94, 46, 87, 55, 16, 10,133, 56,114,228,136,221,181, + 23,237, 45,233,227,233,233, 9,103,149, 13,130, 32, 32, 20, 10,145,146,146, 2,146, 36,237, 46, 13,100,187, 79, 34,145,128,116, +178,214,149,153, 51, 57, 57,217, 37,151,249, 83, 42,149, 2, 53, 77,255,142, 51,165, 64,128, 83,167, 78, 57,188,103,219,239,210, +218,245, 94, 93,113,166,164,164,212, 89,250,203,118, 73, 48,235,223, 18,137, 4,132, 11, 82,111,111,239,110, 97, 97, 97, 56,123, +246, 44,118,239,222,237,211,190,125,123,220,186,117, 11, 4, 65, 96,201,146, 37, 68,187,118,237,184,133,133,133,232,213,171, 23, +126,249,229,151, 30, 85, 85, 85,108,134, 97,241,143,128, 97, 24, 46,128,142, 0,252, 81,211,237,166, 26,128, 23,106, 86,210,224, + 3,144, 3, 16,213,110, 90, 0, 10, 0,126,181,167,151,214,150, 45,214, 2,161,196,122,241,105,134, 97,186,214,114,155, 87,168, +240,183, 58,214,124, 13,219,223,182,159,118,185, 41, 0, 72, 76, 76, 52,191,204,250, 38, 36, 36,156,176,190, 57,119, 68,150,121, +157, 50, 59,121,218,118,136,166, 64, 34,145,252,116,250,244,105,145,191,255, 95,247,160,213,106, 81, 93, 93, 13,133, 66,129,234, +234,106,120,120,120, 96,247,238,221,162, 1, 3, 6,252, 84, 93, 93, 29, 93, 27,105,142, 56, 87,221,187,119, 47,208,104, 52,130, +207,183,223, 69,137, 36, 73,196,196,196,224,189,247,222,195,144, 33, 67,130,250,245,235,183,202, 70,104,213, 27, 74, 42, 22,139, + 55,156, 63,127, 62, 64, 44, 22, 35, 51, 51, 19,121,121,121,120,235,173,183,154,209, 52,141,220,220, 92,220,186,117, 11,249,249, +249,216,186,117,107,192, 83, 79, 61,181,193,142,208,178, 55, 60,117,234,204,153, 51,219,120,123,123,147,159,126,250,105,133, 82, +169,252,162,118,255,135,107,215,174,125,161,119,239,222, 1, 83,166, 76, 97, 82, 82, 82,182,215, 62, 56,135,241,105,221, 39,171, +182,153, 15,181,137,239,134,205, 57, 49, 86,255,131, 97,152, 32, 0, 90,130, 32, 42,236,112, 18, 0, 60, 7, 15, 30, 60, 75,171, +213,118, 58,117,234,212,159,143, 61,246, 88, 56,128,123,230,196,231,233,233, 41, 89,181,106, 85, 96, 66, 66, 66, 70,255,254,253, + 59, 13, 30, 60,120, 86, 73, 73,201, 18,134, 97, 74,172,250,108, 89, 56,105, 26,151,130,130, 59,236, 74, 78,155, 62,250,120,138, +142,247,246,155,243,115,154, 55,107, 81,121, 41,179,204,116, 45,171, 4,213,106, 35,158,238, 95,179,128,121,183, 14,205,241,249, + 15,167, 48,109,198,251,220,159,119,109, 27,249, 39, 3,137,162,224,218,126, 39,241,249,160, 96, 57, 97,105, 98, 2,151,203,197, +208,161, 67, 65, 16, 68,189,181, 60,185, 92, 46,210,210,210,208,191,127,127,112,185, 92,188,248,226,139,110,113, 82, 20,133,193, +131, 7, 91,214, 81,180,230,179, 21, 13, 14, 52, 65,146, 77, 97, 11,138,162, 64,146,164,195,133,180,109, 57, 93,149, 75,230,112, + 58,227,178,254,207, 85, 56,107,151, 60,114, 91,100,185,203,105, 14, 39, 69, 81,232,209,163, 7, 46, 94,188,232, 84,116, 57,208, +151,117,238,189,188,188,124, 66,116,116,116,242,186,117,235,124, 0, 64, 46,151, 91, 22,188,231,112, 56,184,121,243, 38,116, 58, + 29, 62,250,232, 35,125, 85, 85,213, 20, 54, 31,177,156, 77,201,233, 76,139, 0,232, 61,119,238,220, 46,203,150, 45, 91,210,189, +123,247,157,169,169,169, 59, 8,130, 72,100, 24, 38,193,252, 57,119,238,220,246,203,150, 45, 91, 50,103,206,156,247,150, 46, 93, +122,149, 32,136, 68, 0,176,253, 93, 91,150, 36,216,136, 56,127, 51, 79,109,158,171,115,172,189,223,182,159,246,184,235, 56, 90, + 9, 9, 9, 68,237, 77, 18,214,133,154,187, 66,203,157,181,251, 40,138,122,125,201,146, 37,129,206, 68,150, 66,161, 64, 65, 65, + 1,194,195,195,241,226,139, 47, 6,174, 91,183,238,117,163,209,248,153, 19, 90, 30,135,195,193,217,179,103, 81, 92, 92,140,216, +216, 88, 68, 68, 68,212, 57,224,246,237,219, 56,112,224, 0, 42, 42, 42,208,185,115,103,160,166,115,183, 93,196,197,197,125, 20, + 19, 19, 51,152, 36, 73,163, 72, 36,194,165, 75,151,208,169, 83, 39,252,240,195, 15,104,222,188, 57,196, 98, 49, 50, 50, 50, 16, + 27, 27,139, 19, 39, 78,192,223,223, 31,241,241,241,198,170,170,170,147,101,101,101,199,238,222,189,251,145,163,112,134,134,134, +206,127,229,149, 87,248, 5, 5, 5,244,150, 45, 91, 78, 1, 56, 5,224,245,247,223,127,127,242,144, 33, 67, 2, 46, 92,184, 80, +153,158,158,126,198,129,200,114,199,201, 50,218,190,148, 76, 38,147, 86,173, 86,235,180, 90,173,129, 36,201, 59, 4, 65,232, 76, + 38, 83,180, 35, 19, 98,226,196,137, 81,165,165,165,211,102,204,152,145, 93, 43,178,110,162,166, 3, 60, 0,192,104, 52,106, 21, + 10, 69, 85,247,238,221,195,199,142, 29,251,231,142, 29, 59,166, 77,156, 56,113,247,150, 45, 91, 20, 0,212,182,132,205,155, 55, +187,200,225,144, 60,101,181, 79,214,143,187,191,158,121, 96,239,235,205,114,115,243, 91,249,250,249, 43,121, 82,255,130,221,223, +111, 62, 7, 64, 87, 80, 82,133,203,183, 11,193,229,114,112, 61,183, 18,189, 31, 31,197,253, 51,115,113, 79, 0,251,217,186, 92, +211, 87, 22,205,139, 80, 31, 63,126,220,169,163,149,150,150, 6, 46,151, 11,145, 72,132,213,171, 87, 59, 37, 53, 11, 3,179, 91, +228, 74,204,152, 23, 71,119,230, 62,209, 52,109, 89,232,221,118,251,226,139, 47, 48, 99,198,140, 58,215,168, 21, 27,132, 43, 78, + 71,225, 11,111,209, 2,197, 69, 69,117,246,185,179, 40,189,201,100, 2,151,203,197,166, 77,155,144,144,144,128,196,196, 68,167, +159, 67,135, 14, 5, 73,146,140, 59,241,217,163, 71, 15,232,245,122, 75,152,111,222,188,105,151,119,253,250,245,174,130,249, 4, +128, 5,157, 58,117,146,245,235,215, 15,201,201,201, 24, 57,114,164, 86,175,215,103, 2,192,240,225,195, 91,175, 91,183,142,127, +254,252,121,248,250,250,114,115,114,114,190, 5,219, 65,158, 69, 19,195,158, 22, 49,191,243,150, 45, 91,182,196, 86,196, 88,195, +252, 63, 65, 16,137, 75,151, 46, 77,176, 22, 69,214,191,205,174,147,141,136,107,111,237, 72, 89,139, 40, 71, 2,202,230,125,107, +125,124,137, 93,161, 85,123, 99,125,173, 93, 32,115,225,235, 74,100, 57,169, 57,214,129,167,167,231,176,167,159,126,218, 34,114, + 52, 26,141, 69, 96,153, 69,150,249,119, 70, 70, 6,186,116,233,194,243,244,244, 28, 38,151,203, 63,115, 67,196, 33, 36, 36, 4, +165,165,165,184,114,229, 10,194,195,195, 97, 48, 24,112,232,208, 33, 84, 86, 86,130,203,229,130,199,227, 65,175,119,218,119, 27, + 49, 49, 49, 67,183,111,223,222,101,219,182,109,229,230, 26,221,247,223,127, 15,134, 97,224,239,239, 15,149, 74,133,162,162, 34, + 28, 59,118, 12, 70,163, 17, 82,169, 20,145,145,145,252, 17, 35, 70,244, 92,176, 96, 1,215,137,208,234, 49,114,228, 72, 79,153, + 76,134, 55,223,124,147,209,235,245, 75,107,247,205,159, 62,125,186,239,157, 59,119,116, 47,189,244,210, 89,189, 94,255,169,217, + 76,180, 22, 56, 14, 30,172, 67, 39,203, 96, 48,152,227, 52, 91,161, 80,192,207,207, 47,220,218,217,114, 36, 6, 83, 82, 82,122, + 0,224, 44, 92,184, 80, 8,160,200, 58, 12, 58,157, 14, 10,133, 2, 74,165,210, 80, 89, 89, 89, 60,123,246,108,227,142, 29, 59, + 56,181,231, 92,183, 39,180, 8, 98,168, 78, 38, 19,243, 25,134,243,254,198,141, 27,165, 67,134, 12, 33,165, 82, 41,170,171,171, +101,191, 29, 60, 40, 29,208,175,103,228,146,101,159, 28,150,133,197, 22,165, 92,202, 66,126, 97, 37,116, 6, 3, 34,131, 61,107, +252, 48, 22, 77,142,218,129, 44, 22, 71,203, 90, 84, 36, 39, 39,227,241,199, 31,183,228,117, 30,143, 87,199,249,114,197, 73, 81, + 20, 30,127,252,241,122, 14,207,241,227,199,237,186, 79,174, 96, 45,138,108,197,145, 61, 1, 70,146,164,203, 5,214,205,110,158, + 61,177,101,237,234,219,136, 55, 87,205, 28,160, 40, 10,211,167, 79, 7,151,203,197, 59,239,188, 3,138,162, 16, 31, 31, 15,138, +162,208,189,123,119,112,185, 92,244,239,223,191,193,247,126,250,244,105,116,234,212,201, 18,166,248,248,120,116,237,218, 21, 20, + 69,161, 87,175, 94,224,114,185, 24, 60,120,176, 59,156,239, 85, 87, 87,199, 73, 50, 7, 8,223, 0, 0, 32, 0, 73, 68, 65, 84, +165, 82,100,100,100,128,195,225,128, 32,136, 91, 0,226, 0, 32, 56, 56,248, 79,149, 74, 21,165,209,104,240,202, 43,175, 16, 58, +157, 46,246,157,119,222,121, 95,163,209,176, 66,139, 69,147,193, 86,139, 88, 65, 61,103,206,156,247, 8,130, 72, 52, 59, 84,182, +206,147,189,223,118,202, 38,179, 3,149, 94,155, 87,187,218,136,184, 18,130, 32,210, 25,134, 25,238,232, 92, 0, 58, 27, 97, 85, +167,233,208,186,217,208,165,163,101, 46,124,221, 21, 90,174,160,209,104, 58, 6, 4, 4, 56, 20, 89,214,159, 58,157, 14, 17, 17, + 17,208,104, 52, 29, 27,250,210, 8, 14, 14,134, 94,175,199,215, 95,127, 13, 30,143, 7, 30,239, 47,125,161,211, 57, 55,139,174, + 93,187,150,125,250,244,233, 78,157, 59,119,246,254,229,151, 95, 74,250,244,233,227, 63,100,200, 16,136, 68, 34,168,213,106, 24, + 12, 6,116,235,214, 13, 49, 49, 49,200,203,203,195,111,191,253, 86, 26, 29, 29,237,119,230,204, 25,186,176,176,240,174, 19,234, + 65, 3, 6, 12, 0, 65, 16, 56,120,240, 96, 41,128,116,129, 64,112, 96,241,226,197,222, 58,157,142, 30, 63,126,124, 78, 89, 89, +217, 12, 0,122, 62,159,191,182, 79,159, 62,221,147,146,146,190,163,105,122,117, 67, 19,170,109,220, 42,149, 74, 8,133, 66,119, +166,146,224,150,149,149,117, 0, 0,137, 68,226, 3,224, 79, 75, 10, 87,171,235,136, 97,157, 78,167,241,241,241,145, 0, 64,237, + 57, 92, 7,156,254, 70, 35,126,188,123, 55,203,195,186,255,156,151,151, 23,198,141, 29, 75, 62,214,163, 7, 63,174, 99,199,193, + 31,172,216,246, 67,136,175, 76, 23, 25,226, 11,131,201,128,164,195,135,104,134, 54, 28,102,139,157,191, 71,104,153,197,134,173, +163,197,229,114,113,226,196,137,122,251,120, 60, 30,190,250,234, 43,183,132,129, 89, 84, 57,106, 58,179,105,234, 34, 92, 9, 24, + 46,151, 11, 14,135,131, 77,155, 54,129,166,105,204,156, 57,179, 78,115,162, 53,191, 91,118,158,149, 8,140,153, 79, 3,208, 33, +111,165,192,114,190,109,120,107,207,113,203, 37, 91,183,110,157, 91,142,214,240,225,195, 93, 10, 87,235, 22, 6,235,112, 93,188, +120,209, 46,239,198,141, 27, 93,198,167,201,100,194,254,253,251, 45, 34,213,140, 15, 62,248,224, 21, 62,159, 31,120,242,228, 73, + 20, 22, 22, 66,169, 84, 66,161, 80,160, 91,183,110,145, 36, 73, 94, 42, 44, 44,188,115,253,250,245,167,217,220,195,226,111,116, +180,180, 75,151, 46,189,186,116,233, 82,187,142,149,173,179,228,204,121, 50, 11,172, 90, 65,228,111, 22,111,168,233, 86,147,238, +234, 92, 0,124,219,166, 67,167, 70,144,141,138, 92, 96,175,240,117,167,249,208, 77, 59,157, 34, 8, 2, 26,141,198,174,192,178, + 22, 7,122,189, 30,101,101,101, 48,153, 76,247, 61,215,151,189,154,172, 43,161,117,229,202,149, 73,147, 39, 79, 46,240,244,244, +140, 43, 41, 41, 41,166,105,186,127, 90, 90,154, 63, 69, 81,144,201,100,144,201,100, 56,112,224, 0,196, 98, 49,166, 79,159, 94, +108, 50,153,146, 61, 60, 60,124,213,106,245, 31,133,133,133, 31, 56, 84, 48, 92,238,224, 94,189,122,225,252,249,243, 40, 47, 47, + 63, 2, 32,254,249,231,159,127,188, 89,179,102,196,226,197,139, 53,183,111,223, 94, 13,160, 88, 34,145,108,223,190,125,123,191, +206,157, 59,123,140, 31, 63, 30, 39, 78,156,216, 8, 64,227,238, 61, 43,149,202, 58, 2,171,170,170, 10,213,213,213,144, 72, 36, + 70, 55,227,140,139,191, 70, 24,130, 97, 24,203,179,169,117,179,204,207,135,161, 40,202, 60,170,209,145,200,130, 68, 34, 89,184, +109,219, 54,145,237, 32, 5,147,201,132,162,162, 34,200,100, 50,204,251,224, 3,222,199,111, 77,233,196,145, 6,166,145, 36, 1, +157,158,169, 96,104,221, 33,101,209,115, 39,129,143,216,146,231,111,128, 89, 24, 60,249,228,147,245,154, 11,121, 60, 30,142, 28, + 57,130,167,158,122,202, 82,113,233,220,185,179,203,202,149, 89, 24, 60,241,196, 19, 22,103,232,208,161, 67,118,155,253,204,142, +148, 59,130,208,124,236, 27,111,188, 1,138,162,240,249,231,159, 99,214,172, 89, 32, 73, 18, 43, 87,174, 4, 73,146,248,240,195, + 15,221, 22,153,214, 2,230,206, 39, 53,159, 97,179,170, 32, 95, 31, 8, 0,240,144,201,204, 55,212,160,178,135,162, 40,139,147, +213,177, 99, 71,112,185, 92,116,239,222, 29, 20, 69, 89,156,172, 97,195,134, 89,199, 35,227, 14, 39, 69, 81,200,204,204,180,132, +185,123,247,238,117,156, 44,138,162, 48,124,248,112,119,130,185,196,203,203,107, 65, 76, 76, 76,219, 85,171, 86,113, 57, 28, 14, + 6, 12, 24,208, 58, 40, 40,232,174,209,104,244, 93,184,112,161,216,206, 57, 34, 0,113,109,219,182,149,176,185,134, 69, 19, 58, + 90, 11,236,252,229,109,221,231,170, 1, 21,201, 68,235,227,205, 28,182,226,168,214, 33, 75,118,197,101,239, 92, 87,160,204, 10, +210,153,165,238,142,208,170,181,157,157, 94, 76, 44, 22, 95, 46, 46, 46,238, 46, 18,137,234,136, 44,123,130,139,195,225,160,176, +176, 16, 98,177,248,178, 86,171,109,180,135,232,170,233, 16,128,230,214,173, 91,111, 89,253, 30, 56,108,216,176, 45, 71,142, 28, + 9, 78, 74, 74,194,153, 51,103,224,239,239,143,117,235,214,221, 43, 42, 42,154, 4,224, 72,105,105,169,203,235, 70, 69, 69,117, +144, 74,165, 72, 73, 73, 1,128, 19, 0,166, 76,155, 54,141, 48, 24, 12, 88,191,126,189, 18,192, 65, 47, 47,175,253,187,119,239, +238, 20, 23, 23,199, 79, 74, 74,170, 58,115,230,204,239,110,138, 44, 19, 77,211,245, 4,150,117,156,122,120,120,184,227,104, 25, + 60, 61, 61,175, 84, 85, 85,141, 82,171,213, 85, 2,129,192,163,170,170, 74,107, 45,176,204,252, 20, 69,113, 51, 51, 51, 11, 0, + 68,122,122,122, 94,129,131,102, 78,138,162, 6, 12, 24, 48,128,178,125, 6, 69, 69, 69, 40, 44, 44,132, 94,175, 71,231,206,157, + 9, 14, 97,224,148,231, 94,182,153,214,129, 21, 89,127,147,163,197,152,243,186,121,148,160,189,145,134,135, 14, 29,178,252, 38, + 73, 18,155, 55,111,118, 75, 20, 29, 57,114,196,105,135,117,155,166, 67,151,214,184,249,248, 47,191,252, 18, 12,195, 88,156, 44, +146, 36, 49,103,206, 28, 8, 4, 2, 44, 94,188, 24,115,230,204, 1, 69, 81, 46,155, 14,173, 5, 76,139,119, 84,214,149,163,154, + 76, 81,219, 31,138, 32, 8,107,177, 69,184, 43,222,156,185,121,238,180, 4, 88,115,154,207, 19, 10,133, 14, 59,194,219,112, 58, +187,192, 62, 0, 89,193,193,193, 41,221,187,119,247, 60,119,238, 28, 86,174, 92,201,211,106,181,205,147,146,146, 44,215,181, 23, + 95, 74,165, 82,196,230, 28, 22, 77,225,102, 57,249,187,196,166,127, 21, 97,221,140,231,228,211,246,120, 88,237,179,230, 45, 33, + 8,194, 96,231,122, 37,118,196,149,237, 53,172,143, 41,113,232,104,185, 42, 44, 92, 9, 46,119, 28, 45,149, 74,245,251,193,131, + 7,187,142, 29, 59,150,114,214,108,168, 84, 42, 17, 24, 24,136,171, 87,175, 26, 85, 42,213,239,110, 56,101,141, 41,180,108,145, + 84, 92, 92,204, 49, 24, 12,104,213,170, 21, 66, 67, 67,161,209,104, 80, 81, 81,193, 1,112,196, 77, 14,158, 68, 34,225, 0, 64, + 69, 69, 5, 80, 51,212,180,117,116,116, 52,206,159, 63,143,178,178,178,159, 1, 12, 89,176, 96, 65,231,110,221,186,241,126,248, +225, 7,213,212,169, 83,127, 54, 24, 12,110, 41, 13,154,166,117, 70,163, 49,130, 36, 73,125, 69, 69, 69,190,117,124, 6, 6, 6, +250, 72, 36, 18,162,168,168,200,224,142,208,138,139,139, 59,155,147,147,131,133, 11, 23,150, 44, 89,178, 36,186,186,186,186,188, +178,178,210,104, 45,182, 52, 26, 13,233,231,231, 39, 88,191,126,189, 8, 0,226,226,226,206, 58, 18, 90, 74,165,178,153, 88,252, + 87,197, 88,171,213,162,176,176, 16,133,133,133, 40, 42, 42, 66,117,117, 53, 34, 35, 35,161, 82,169,194,217, 98,230, 31, 19, 90, +117,154,207,172,243,183,245,139,188, 33,121,221, 90,192, 60,249,228,147,150,190, 93,102,135,204,188,253,248,227,143,182, 29,204, +221, 18, 90, 95,126,249, 37,222,120,227, 13, 8,133, 66,172, 90,181,170, 78,211,161,173, 56,160,105,154,112,231,222, 35,222, 85, +163,112,173, 15,184, 92, 46,124,167, 22,213,105,162,179, 35, 56,220, 10,231,146, 37, 75, 26,165,233,208,154, 51, 60,188, 38,171, +108,218,180, 9,163, 70,141,194,201,147, 39,239,187,233,176,125,251,246,223, 39, 38, 38,122, 94,187,118, 13, 85, 85, 85, 40, 41, + 41,129, 86,171, 69, 94, 94,158,195, 86,129,218,178, 92,200,230, 28, 22,127,115, 57,149,254,119,242, 54,230,245, 40, 23, 47,112, +183,133,150, 59,142,150, 86,171, 93,245,230,155,111, 78, 27, 56,112,160,143,135,135, 7, 10, 10, 10,234,137, 44,133, 66, 1,169, + 84, 10,181, 90,141,189,123,247, 86,105,181,218, 85,174,196,129,193, 96, 64, 64, 64, 0, 74, 75, 75, 65, 59,232, 63, 77,146, 36, + 68, 34, 17, 20, 10, 5,224,162,147,185,189, 23,134, 94,175,135,193, 96,128,193, 96,128, 94,175,119, 89, 75,182, 53,243, 36, 18, +137, 89,120, 0,128, 50, 36, 36,164,149, 80, 40, 68,118,118, 54, 80, 51,178,111,224,227,143, 63,206,149,203,229,204, 75, 47,189, +116,138, 97,152, 87,224,124,118,124, 93,114,114,114, 4, 0,136, 68,162, 12, 0,200,203,203, 51, 84, 84, 84,212,113, 10,197, 98, + 49,243,212, 83, 79, 5, 51, 12,131,228,228,228, 8, 30,143,199,192,241,168, 70,205,158, 61,123,174,121,122,122,238, 88,182,108, +217,216,132,132,132,171, 29, 58,116,136, 80, 42,149,197,106,181, 90,173,209,104, 24, 14,135,195,243,246,246, 22, 30, 62,124,248, +207,180,180,180,129, 50,153,108,199,158, 61,123,174, 57,114,222, 36, 18, 73,158, 74,165,106, 97,126,166,214, 34,171,176,176, 16, + 12,195, 32, 43, 43, 11, 98,177, 56,199, 85,179, 46,139,166,131,185, 82,101,235,188,216,238,115, 87,100, 89, 11,131,195,135, 15, + 59,157, 67,203, 93, 78,107, 81, 52,107,214, 44,172, 93,187,182,158,163,181,120,241, 98, 0,192, 7, 31,124,224,118, 31, 45,179, +123, 85,184,214, 7, 65,111,148,213, 9, 59, 0, 16,230,240, 53, 44,207,131,162, 40, 44, 92,184,176, 94, 39,117,235,166, 61, 55, +155,248,234,132,179,184,184, 24, 20, 69,193,199,199, 7,227,198,141,195,224,193,131, 45, 77,144, 13,229,189,113,227, 70,202,187, +239,190, 27,219,190,125,123, 44, 90,180,168,204,203,203,203,227,229,151, 95,166, 42, 42, 42, 8,103,142, 22, 43,180, 88,176,104, + 4,161,101,206, 96,238,142, 58,116, 80, 88, 14, 68,221,185, 54, 42, 85, 42,213,184, 65,131, 6,253,178,107,215, 46, 81, 84, 84, + 20,110,220,184,129,178,178, 50,232,116, 58,240,120, 60, 4, 7, 7,163,162,162, 2,155, 55,111, 86,171, 84,170,113, 0, 42, 93, +112,190,223,165, 75,151, 13,159,125,246,153, 48, 62, 62, 30,101,101,101, 80, 40, 20, 22, 33, 68, 16, 4,100, 50, 25, 68, 34, 17, +206,158, 61,139, 67,135, 14,169, 1,188,239,130,211,158,154,131, 94,175,183, 8, 46, 55,132,150, 53,167,196,236,234,168, 84, 42, + 0, 48, 52,107,214, 44, 8, 0,178,178,178, 0,224, 78,100,100,228,130,168,168, 40, 98,251,246,237, 12,195, 48,135, 28,136, 44, + 11, 39, 65, 16,101, 12,195,148, 3, 8,210,233,116, 60, 0,168,172,172,212,251,249,249, 5, 8, 4, 2, 90, 36, 18,209, 66,161, +144, 46, 40, 40, 48, 26,141, 70, 30, 0,244,234,213, 75, 7,160,208,102,141, 66,107, 78,154, 97,152,170,141, 27, 55, 46, 24, 63, +126,124,247, 30, 61,122,180,127,237,181,215,174,188,244,210, 75,100,104,104,168,119,117,117,181,230,214,173, 91,229, 43, 86,172, +168, 62,125,250,244, 64, 46,151,123,119,227,198,141, 11, 0, 84, 17, 4, 65,219,227, 52, 26,141,191, 39, 37, 37, 77, 74, 72, 72, +160,242,243,243, 81, 84, 84,100, 17, 89, 69, 69, 69,136,137,137, 65, 90, 90,154, 73,175,215, 39, 53, 32, 62, 27, 11, 44,103, 77, + 37,132, 49,231,117, 71, 2,203, 92,153,114,151,211, 90, 20,141, 26, 53,170,142,139,197,227,241,240,211, 79, 63,217, 45, 55,236, +228,171, 58,247,110, 61,199,215,187,239,190, 91, 71,180,205,155, 55,207, 97,113,230, 42, 62,205, 60,149,155, 66,235,142, 58,116, +144,207,157,133,211, 92,118,114,185, 92,204,155, 55,207,109, 71, 11,245,251,104,213,227, 52,223,123,159, 62,125,160, 82,169, 44, + 66,214,145,163,229, 42, 62, 77, 38,211, 27,107,215,174,101,100, 50,217,163, 85, 85, 85,207,231,228,228,108, 85,169, 84,143, 84, + 86, 86, 58,117,180,180, 90,173,128,205, 71, 44, 39,154,102,126,174,255,142,208,170,125, 73,162, 89,179,102,117,214,206, 34, 73, +178,206,214,144,126, 6,181, 56,156,153,153,249,204, 99,143, 61,246,221, 27,111,188,225, 17, 31, 31,207,109,209,162, 5,148, 74, + 37,178,179,179,113,245,234, 85,227,158, 61,123,170, 84, 42,213,243, 0,220, 25,117,182,237,218,181,107,135,134, 12, 25,242, 97, +183,110,221, 94,157, 63,127, 62,167,117,235,214,168,172,172,132,183,183, 55, 2, 2, 2,112,243,230, 77,236,221,187,215, 84, 90, + 90,186, 1,192,199,176,211,134,234,170,194,175,215,235, 49,102,204, 24,208, 52,141,213,171, 87,195,157, 5,149,173,160,215,235, +245, 12, 0,162,182, 63,151,170,118,118,105,220,186,117, 11, 0,238, 70, 68, 68,120, 0, 64, 82, 82, 18,129,154,249,181,220,169, +225, 51, 12,195, 88,156,173,152,152,152,108,219,194,209,236,100,153, 93, 48, 87,225, 38, 8, 66,195, 48, 76,177, 74,165, 26, 50, +107,214,172, 15,191,252,242,203,177, 95,126,249,101,189,227,100, 50,217,142,149, 43, 87,126, 60,122,244,232, 98,130, 32, 28,246, + 35, 83, 42,149, 31, 76,152, 48, 97,244,229,203,151, 61,132, 66, 33,148, 74, 37,228,114, 57,244,122, 61, 34, 35, 35, 81, 92, 92, +140,109,219,182, 85,171,213,234,143,216,236,248,207,192, 90, 24, 56,114,181,220, 16, 89, 14, 93,157,125,251,246,217,157,163,170, +161,156,182, 98,195,221,185,173,156, 85,138,204,211,210,216,155, 50,162,129,229, 90, 61, 94,138,162,240,233,167,159, 90, 38,109, +181,231,100, 53,196,209, 50,115,250,248,248,212,216,228, 98, 49,104,154,198,240,225,195, 31,132,151, 6, 48,221,106,198,247, 37, +179,103,207, 94, 16, 19, 19,211, 26,128,192, 58, 14, 26,232,226,179, 96,193,194,149,208, 50,153, 76,121,109,218,180,169, 83,192, +185, 90,204,212, 96, 48,228,185,121,221, 67, 74,165, 50,114,229,202,149,111, 74, 36,146,129, 42,149, 42,182,182,224,184,172, 84, + 42,147,180, 90,237, 26, 52,108, 17,232, 18, 0,175,159, 62,125,122,245,144, 33, 67, 22,247,239,223,255,217,183,222,122,139, 96, + 24, 6,235,215,175,103,110,223,190,253, 99,173,139,117,251,126, 34,201,199,199,231,218,230,205,155, 3,127,249,229, 23, 24, 12, + 6,172, 89,179, 6, 30, 30, 30,215,202,202,202,220,165, 40, 62,122,244,232,150, 30, 61,122,188,144,150,150,182, 13,192, 31, 39, + 78,156,216,218,179,103,207, 9,105,105,105,223, 3,184,122,236,216,177,173,221,186,117,155,144,158,158,190, 27,192,197, 6, 20, +190, 22,103,203,104,180,223,210,232,192,201,114,198, 89,197, 48,140,126,242,228,201,111,141, 30, 61,250,235,244,244,244, 71, 42, + 42, 42, 98, 1,192,203,203,235,114,215,174, 93,207,238,218,181,235,102,173,147,229,170,179,126,137, 82,169,124, 42, 54, 54,246, +231, 69,139, 22, 73,218,183,111, 79,181,106,213, 10,119,238,220,193,149, 43, 87,140,223,126,251,173, 66,173, 86, 63, 9,160,156, +205,142,255,156,208, 98, 24, 6, 94, 94, 94,117, 42, 81,230, 33,255, 13,109, 46,180,126, 49,155,151,234,177,229,117,196,233,108, +218, 4, 51,164, 82,169,101,114, 83,119,186, 44,208,180,243,249,216, 24,134,177,112,154, 55, 55, 68,150,203, 17,130,181, 75,224, +184,205,233,206,244, 14, 18,137, 4, 6,131,193,194,235,198,200,207,134,170,197,125, 0,246, 25, 12,134, 91, 0, 90,178,226,138, + 5,139, 38, 20, 90,229,229,229, 93,154,248,218, 85, 90,173,246, 99,173, 86,251,177,121,135, 70,163,121, 80,206,219, 0, 70, 31, + 61,122,244,179,163, 71,143,154,219, 17, 22,194,245,122,137, 78,113,227,198,141, 4, 46,151,251,213,142, 29, 59,186, 49, 12, 3, + 79, 79,207,211,119,238,220,121,185, 33, 28, 38,147,105,114, 90, 90,218, 52,212,246,101,210,235,245,147, 83, 82, 82,222, 68,205, +122, 76, 48,153, 76,147,207,156, 57, 99,249,221,192, 23, 37,195, 48,140,150, 97,152, 16, 7,135,104, 27,232,192,153,157, 45,221, +174, 93,187, 20, 0, 46,225,175,121,178, 12,181,155,198,166,185,208, 25,142, 41,149,202, 86,243,230,205, 91,194,225,112, 6, 40, +149,202, 80,137, 68,146,107, 52, 26,127, 87,169, 84,239,163,102,141, 42, 22,255, 16,116, 58, 93,126,155, 54,109, 40,123, 21, 40, +103, 47,114,103, 21, 43,147,201,148, 23, 29, 29,237,178,114,102,135, 51,223,137,104,184, 27, 25, 25, 73,186,203,101,134, 94,175, + 47,118, 22,206,200,200, 72, 52,148,211,213,189, 71, 68, 68,216,189,119, 23,130,208,225,189, 27,141,198,251,226,116, 22,159,206, +160, 86,171,203,253,253,253, 21, 26,141,134,171,213,106,185, 70,163,177,142,253, 40, 18,137, 74,212,106, 53,155,121, 88,176,120, + 16,161,245,144,227, 28,106,150,151,104, 44,104, 47, 95,190,252,130,197,158, 42, 46,190, 95, 30, 91, 37,169,112,241,187, 33,194, +168,209, 29,161, 90, 33,165,106, 36,186, 82,133, 66,241,146,249,135,185, 15, 8,139,127, 30,114,185,252,209,198,230, 44, 43, 43, +107,244,138, 90,105,105,105,247, 38,184,247, 46,255, 85, 78,103, 40, 40, 40,120,212,133, 16, 99, 51, 14, 11, 22,110,130,100,163, +128, 5, 11, 22, 44, 88,176, 96,193,162,105, 64,160,102,228,128, 61, 52,100, 52,193,192,251,184,118, 18,203,201,114,178,156, 44, + 39,203,201,114,178,156,255, 57, 78, 87,220,236,104,198, 38, 22, 96, 44,231,255, 63, 39, 7, 0, 33, 18,137, 8,161, 80, 72,136, +197, 98,130,141, 79,150,147,229,100, 57, 89, 78,150,147, 69,125,252,227,125,180,252,253,253,147, 41,138,138, 86, 42,149,202,234, +234,234, 40, 15, 15,143,219, 18,137, 68, 98, 52, 26, 51, 75, 74, 74,122, 63, 32,253,100,129, 64, 48, 51, 46, 46,174,221,205,155, + 55, 51,170,170,170, 86, 0,248, 6,246, 71, 12,113,109,246, 19, 0,226,155, 55,111,190, 85, 40, 20,138, 51, 50, 50,230, 0,248, +222,141,120, 36,224, 98, 68,146, 53,188, 37, 60, 46,106,250,147,245, 5,112, 28,192,190,114,165,222,240, 32, 55,125,191,156, 82, +169,212,167,101,203,150,235, 35, 34, 35, 35, 25, 64,203, 48, 53,243, 15, 25, 13,122,222,213, 43, 87,146,239,220,185,179,161,127, +255,254, 95,135,133,133, 5,114,185, 92,131,121,212,151, 74,165,226,109,219,182,173, 21,155,157, 88,176, 96,193,130, 5, 11, 55, +133,150,164, 57,218,240, 37,196, 54,147, 1,106,163,150,153,170,204,197, 13,105, 51,244, 96,128, 23, 24, 32,130,228,144,254, 38, + 19, 93, 72,107, 8, 35,215, 32,138, 38, 25, 74, 88, 85, 85, 21,218,224, 0, 80, 84,116, 65, 65, 65, 64, 72, 72,136,121,241, 99, +137,249,247, 3,128, 0,240,197, 43,175,188, 50,245,213, 87, 95,133,183,183, 55, 12, 6, 67,235,157, 59,119,110,154, 55,111, 94, +119, 0, 47,218, 17, 67, 12,234, 78, 18,218, 58, 54, 54,118,127,106,106,170,111, 69, 69, 5, 58,119,238,188,162,184,184,216,145, +208, 50, 54, 52,128,222, 18, 94, 27, 0, 47, 6,121, 9, 38,125, 51,171,191,119,139, 1,175,225,202,143, 11,166, 77,255,230,114, + 57,128,205, 0,190, 41, 87,234,111,254, 93,156, 30, 30, 30, 1,109,162,163,119,253,248,243,207,189, 79, 31, 59, 6, 31, 1, 31, + 18, 17, 31, 96,128,192, 86,109,240,218,236,217,198, 71, 30,121,164,223,119,223,125, 23,151,158,158,142,208,208, 80,136, 68, 34, +136,197, 98,200,229,114,108,219,182,237,190,211, 17, 77,211,247, 0, 28, 37,141,216,167, 40,192, 45, 54, 91,178, 96,193,130, 5, +139,127,189,208, 98,104,172, 88,125, 96,114,231, 43,101,191,225,139,103, 10,151,138,194, 96,236, 49, 34,250,233,132,137,157,224, +233, 47,134, 80, 74,161, 66, 94,213,225,230,133, 92, 28,223,253, 39,188, 13,173,145,246,251,249,235, 42,149,170,237,253, 4, 68, + 44, 22,139,131,131,131,139,196,214, 11,227,221, 31,132, 0, 86,188,250,234,171, 83,223,121,231, 29,252,254,251,239,216,179,103, + 15,198,143, 31,143, 25, 51,102, 64, 42,149, 78,154, 49, 99, 70, 26,128,175,157,112,180,142,141,141, 61,149,154,154,234,171, 86, +171,113,229,202, 21,148,149,149,253,209, 88,145,238, 45,225, 45, 91,255,114,220,187,221,158,158, 14,255,246,131, 64,144, 53,143, +161,215,236,189,184,248,166,218, 59, 47,229,187,183,246,252,248,253, 91,203,247,220, 90, 94,174,212,207,249, 59, 56,163,162,162, +214,237,250,233,167,222, 97, 97, 97,216,159,125, 27, 45, 35,130,209,172, 77, 39, 84,102,223, 70,201,221, 44,232,244,122,244,237, +219, 55,238,212,169, 83, 40, 40, 40,128,159,159, 31, 52, 26, 13,210,211,211, 33, 20, 58, 94,141,163, 1,233,104,200,177, 93,183, +150,223, 58, 95,178, 76,153,131, 15, 1,152,216,236,249,175, 65,235,102,205,154,253, 44, 18,137,100, 25, 25, 25, 31, 0,216,210, +132,215, 26,215,173, 91,183, 53,151, 46, 93,186,160,213,106,223, 4,144,193, 70, 63, 11, 22, 44,254, 73, 56, 27,117, 24,236,239, +239, 7,191, 72, 46,188,125, 36, 67,151,255,244,252,211,175, 45, 29, 0, 94, 84, 62,202,164,103,112,151,249, 29, 26,223,155,104, + 51,132,135,183,191,233, 7,223,238,114,192, 71, 85,128,112, 8, 28, 17,250,248,248,252, 28, 16, 16,144,106,189, 25,141, 70,225, +156, 57,115, 76, 25, 25, 25,146,130,130,130,128,140,140, 12,201,156, 57,115, 76, 70,163, 81,232, 31,232,115,193,163, 57, 47, 47, +162,183,168, 68,210, 28,175,187,112,176, 62, 11, 10, 10, 82,141, 29, 59, 86,221,161, 67,135,169, 12,195, 96,235,214,173,120,249, +229,151,119,254,246,219,111, 17, 99,198,140,217,122,244,232, 81, 76,153, 50, 5, 94, 94, 94, 51,220, 21, 89, 23, 46, 92,192,132, + 9, 19, 74,140, 70,227,140, 70,140,247,137,163, 86,156, 65,200, 35,207,130,195, 19, 89,214, 82, 35, 72, 18, 92,145, 12, 97,143, + 61,143, 87, 22,127, 7, 0, 19,255, 46,206,200,168,168,150,231,146,147,241,237,194, 69,104, 29, 16,128,208,102,161,240,105,211, + 1, 30,254,126,160, 40, 10, 12, 3,134,207,231,211,229,229,229,144,203,229,144,203,229,200,206,206,198,241,227,199,113,239,222, + 61, 52, 70, 58,154,253,109,127, 50,225,181,182,239,137,155,225,160,179,116,196,226,225, 18, 89,177,177,177,167,110,220,184, 17, +147,148,148, 20, 18, 26, 26,250, 73, 83, 94,172, 75,151, 46,203, 79,158, 60,233,115,240,224,193, 65, 65, 65, 65,201, 0, 90,223, + 79,152,155, 55,111,126,189,117,235,214,121, 0,198, 53,114, 16, 39,118,239,222,189,140,207,231, 31,186,207,176,177, 96,241, 48, +161, 3,128, 88, 86,104,185,129,197, 59,199, 82, 62,109,181,184, 82,126, 0,187, 62,249, 3,159, 12,189, 73, 47,238,158, 77,127, +254,194, 13, 28,222,245, 7,138,241, 7,134,189,214, 18, 99, 63,232, 56, 80,108,194, 34,153, 76,118,193, 30, 15,143,199, 11,204, +200,200,240,205,202,202,242,189,125,251,182,111,102,102,166,239,181,107,215,138, 42, 42, 42, 20,195,135, 15,167, 1, 96,248,240, +225,244,221,156,187,170, 65, 79,247,161,195, 7,160,227,172,159,218,133,206, 73,236,228,231, 29, 44,152,235,232, 30, 56, 28,206, +158, 47,191,252,242,173,220,220, 92,209,247,223,127,143,244,244,116, 68, 69, 69, 97,209,162,133,229, 35,122,180,237,245, 72,148, +239, 42, 79, 17,247,179, 45, 91,182, 64, 44, 22,163, 99,199,142,142, 92,183, 22, 29, 58,116, 72, 49,139,172,139, 23, 47,226,249, +231,159,215,203,229,242,171, 0,150, 1,216, 67,145, 68,178,191,167,164, 66, 34,160,238, 18, 4, 14,160,166,207, 87,120,195,163, +158, 64,229,221, 75, 48,233,213,160, 4, 18,112,120, 66,144, 20, 31,101,183,210,144,241,235, 66, 84,100,221,207,194,225, 15,192, + 73,146, 26, 79, 46, 23,113,126,190,136,141,136,132,143, 80, 6, 85,218, 49,160, 66, 1, 30, 79, 0,128,129, 64, 32, 64,117,117, + 53, 46, 92,184,128,235,215,175,227,220,185,115, 56,123,246, 44,138,138,138,112,191,233,104, 73,143,108,173,163,116,196,150, 81, +255, 14,145,149,154,154,234,171,209,104,112,227,198, 13,148,148,148, 92,108,202, 11,102,100,100,148,167,166,166, 34, 44, 44, 12, +223,127,255,189,127, 68, 68,196,201, 6, 10,154,214,177,177,177,167,174, 95,191, 30,147,148,148, 20, 26, 16, 16,176,162, 49,195, +247,200, 35,143, 44, 62,121,242,164,247,225,195,135, 7,251,251,251,223,175, 16,100,193,226,255, 25, 2, 0, 47, 16, 4,113,182, + 67,135, 14,151,219,183,111,255, 7, 65, 16,105, 0, 70,225,223, 59,119,167, 83, 88,110, 58, 49, 49,241, 4, 0, 36, 36, 36,244, +177, 61, 72, 17,112, 30,249,217, 69,216, 60,177,152, 86,151,160, 98,209,123,159,237, 57,127,250,226, 83,111,206,120,211,123,245, +198,229,216,158,118, 0, 99, 86, 24,209,107,116, 59,156,217,159,243,214,196,126,115,241,214,140,217, 64,253, 33,154, 12, 73,146, + 72, 73, 73,129,201,100,130, 78,167,131, 78,167, 67,187,118,237,202,142, 29, 59, 38, 5,128,204, 63, 51, 24,174,175, 78, 48,240, + 29, 25,111,202,128, 24, 40,228,122,124,247,110, 38, 74,179,181, 63,214,114, 36,213,145, 7, 36,249,245,134, 13, 27,158,152, 50, +101, 10,190,248,226, 11,236,220,185, 19, 79, 62,249, 36,158,123,238, 57,148,148,148,120,135,226, 30, 6,180,243, 11,233, 59,125, + 67,159, 49, 99,198, 64,161, 80, 32, 61, 61,253,186, 77,184,146, 80,211, 25,254,245,227,199,143,251,168,213,106, 84, 87, 87,163, +111,223,190,144,203,229, 60, 0,253,237,196,157, 39,128,230,106,181, 26, 45, 90,180,104, 93, 82, 82,210,195, 14,103, 61,120, 75, +120, 22,113,171, 87,150, 67,175, 44, 7,135, 39,132,208, 59, 12, 87,191,155, 1,134,174,105, 49,243, 12,239,104,239,244, 38,227, + 20, 11, 4, 72, 76, 77,193,241,196,125,104, 27, 25,137,158,177,177, 56,117,249, 10,120, 36,129,145,147, 38, 3, 52, 19,144,146, +146, 66,148,148,148,224,242,229,203, 88,184,112, 33,114,114,114,112,224,192, 1,152, 76, 38,183,194,105,147,142, 84,139,222,251, + 44,123,236,179,207,223, 60,120,228,183, 59,137,191,255, 52,104,123,218,209,248, 49, 43,140, 68,175,209,237,112,246, 64,206,204, +108,162,252, 91,101, 46,110, 56,227,124, 64,176,156, 77,199,217,190,125,251,246,167, 83, 83, 83,197,106,181, 26,187,119,239,198, +252,249,243, 13,122,189,158, 2,176,199,206,185,233, 0,190, 64,253,165,183,236,133, 83, 6, 96, 26,128,174,245,210,152, 66, 81, +242,204, 51,207, 24, 22, 44, 88,192,125,252,241,199,177,111,223, 62,191,145, 35, 71, 94,204,200,200,136,199, 95,205,136, 73,174, +132,225,125,116, 25,112, 43, 62,107,133, 96,112,104,104, 40,182,111,223,238, 63, 97,194,132,228,162,162,162,222,176,223,196,201, +166, 37,150,243, 97,226,108, 1,224, 85,169, 84, 58,165,111,223,190,222, 79, 62,249, 36,124,125,125, 97, 52, 26,145,155,155,219, + 45, 49, 49,177, 91,106,106,106,129, 78,167, 91, 11, 96, 19,128, 10,123,164,206,180,200, 67, 45,180, 18, 19, 19, 25,212,140, 80, +179, 11,149, 73,142,248,224,161,232,246,187,148,172, 40,171,210, 47, 24,185,244,104, 69,142,254,169,175,190,250, 10,207, 61, 49, + 1,251,126, 23,227,244,206,189, 24, 56,190, 16, 3, 39, 71,226,207,147,142,187, 69, 24, 12, 53,131,223,140, 70, 35, 12, 6, 3, +244,122, 61,244,122, 61,196, 98, 49,174,221,188, 2,163,119, 9,231,249, 53,173, 56,161,109, 36, 72,221, 89,136, 3,171,115,116, +138, 98,195, 92, 93, 57,126,170,103,223, 0, 95,175, 90,181,106,210,148, 41, 83,176, 96,193, 2,252,244,211, 79,204,138, 21, 43, +136,121,243,230,161,188,188, 28,253,250,245,195, 43,147,159,199,181,184, 16,188, 59,127,177,108,212,168, 81,248,248,227,143,161, + 84, 42, 87, 57, 8,158,151, 78,167,179, 44,118,155,151,231,122,233,198,156,156, 28, 48,206,151, 82,131,183,132, 39,244,146,240, +150,112, 72,226, 57, 14, 1,127,131,137,193,241, 5,189,192,137, 25,137,249,107,119,194, 68, 51, 24,247,212, 32, 68, 42,170, 32, + 18, 75,106, 20, 41,109,186, 47,206,232,161,111,130,228, 10, 97,210,107,176,101,203,102,236, 57, 84, 1,157,252, 14, 94,123, 60, + 10,129, 78, 56,141, 70, 35,211,188,121, 27,180,108,175, 3, 35,224,225,216, 93, 45, 98,251, 36,224,198,181,219,200,175,212, 35, + 46,182,125,139,201,147, 95,132, 64, 32,192,237,219,183,177,100,201, 18, 40,149, 74,119,215,133,179,151,142,164,171, 95, 91, 43, +124,245,197,215,222,187,144,126, 49,119,235, 23,187,126,153,246,238,148,175, 79,239, 60, 24, 59,112,124, 33, 6, 76,138, 36, 55, + 92, 42,127, 22,192, 2,182,130,248, 80, 98,195,153, 51,103,196, 42,149, 10,213,213,213,120,249,229,151, 49,109,218, 52,174,189, + 74, 75,113,113, 49, 82, 82, 82,158,156, 62,125,250,152,194,194,194,222,112,190,238,165,119,167, 78,157, 82,143, 29, 59,214,218, +195,195,195,178,147,166,105,232,245,122, 75,153,162,213,106,161,213,106, 33,147,201,144,154,154, 42,244,241,241,217, 5,231, 77, + 24,127, 71,151, 1, 84, 85, 85, 61, 59,106,212,168,228,109,219,182,249, 71, 70, 70,226,251,239,191,247,127,241,197, 23, 79,222, +189,123,183, 23,216,254,100, 44, 30, 94,204,121,230,153,103, 22, 7, 6, 6,146, 29, 58,116, 64,112,112, 48,180, 90, 45, 42, 43, + 43,193, 48, 12,252,252,252, 48,105,210, 36, 60,245,212, 83, 33,201,201,201,203,143, 29, 59,182,160,188,188,124, 51,128, 53, 0, + 50,173, 68,150, 83, 45,242,208, 59, 90, 9, 9, 9, 39,234,168, 24, 2,233,103,254, 56, 21, 43,140, 1, 8, 18,200, 37,143,129, + 0,129, 10,131,158,103,168, 34,215, 30, 62,124,216, 91,169, 84, 66,161, 80, 96,104,223, 17,152,187,225, 23,244,124,190, 10,205, +218,132, 96,245,135, 7, 12,174,132, 22, 77,211, 48, 26,141,168,174,174, 38, 79,156, 56,225, 23, 30,209,140,120,254,173, 33,152, +254,125, 59,200, 2,120, 56,248,121, 14,202, 83, 67,148, 76,105,197, 29, 93,121,217, 86, 59,133,239,228,247,223,127,127,210, 27, +111,188,129,229,203,151, 99,217,226,143, 79,135, 4, 5, 62, 18, 31, 31, 79,124,244,209, 71,152, 61,123, 54,194,195,195,193, 17, +120,160,101,223,231, 49,107,214, 44,172, 93,187, 22, 95,173, 94,170,111,231, 35, 77,187, 86, 86,111,181, 27, 3,128, 69, 3, 6, + 12,120,226,240,225,195, 62, 66,161, 16, 87,175, 94,197,248,241,207, 67,204, 5,184, 28, 18, 96,104, 48, 52, 13,130, 96,224, 47, + 19,192, 91,196,129,191, 7, 23, 49,126,116,251,114, 70,218,250,106,153, 34,195,158, 32,242,245,224, 95,221,241,193,136,176,216, + 73, 95,240, 40,129, 20,218,202, 66,252,182,102, 26, 22, 45,254, 26,167, 82, 79,163,162,162, 2,131, 7, 14,192,154, 81,126,127, + 89,127, 78,196,155, 35,206, 27,187,222,195, 43, 83,167, 99,227,250,117, 32,185, 66,252,118,226, 28, 14, 31, 61,137,148,148, 20, +188, 52,113, 44, 62,143, 46,116,200,105, 50, 25,224, 31, 16,142,199,250, 68, 65,234, 33, 5, 73, 0, 45, 34,252,225,231,155,135, +160, 32, 2,105,167,143, 34, 57, 57, 25, 30, 30, 30,136,136,136,192,218,181,107,145,157,157,141,151, 95,126, 25,124, 62,223, 33, +175,163,116,164, 32, 12, 32, 76,252, 86, 30, 30, 30, 59,116, 58,221, 42,189, 94,191,247,249, 81,147,119,188,188,228,231,118, 61, +159,175,226, 52,107, 19, 2,130, 65, 31, 86,104, 61,180,144, 24, 12, 6,152,215,115,206,205,205,117,122,112, 92, 92, 28,182,108, +217,210,110,226,196,137,201,133,133,133,143,193,254,162,242,178, 78,157, 58,165, 38, 39, 39,183,214,104, 52,200,202,202,114, 43, + 32,181, 11, 35, 43,157, 28, 98,238, 50,224, 99,221,101,160,172,172,204,220,101,192, 30,202, 80,179,142,234, 93, 59,255,133, 3, +120,179,182,134, 15, 59,194,242,234,248,241,227,123,110,223,190,157, 23, 21, 21,133,125,251,246,249,141, 26, 53, 42, 37, 35, 35, +163, 43,128,108, 54,233,176,120, 8, 49,113,225,194,133,164,201,100, 66,105,105, 41,180, 90,109,189, 60,200, 48, 12,196, 98, 49, +134, 14, 29,138, 33, 67,134, 8,206,159, 63, 63, 53, 41, 41,233,213,172,172,172,249,181,121,201,174, 22,249, 87, 9,173,122, 47, + 94, 10,139, 62, 29,147,234, 37,144,146,177,160, 9, 47, 63,191, 0, 9,151,203, 37,188,196,129, 94,171, 86,206, 46,187,121,243, +230,189, 93,187,118, 5,119,239,222, 29, 96,128, 78,205, 6, 67, 94,120, 26, 94, 92, 53, 74,229,165,142,230,145, 98,126, 61,176, + 91, 82, 94, 94, 73,183,137,108,167, 86,169, 84,228,129, 3, 7,194,122,245,238,201,219,155,250, 29,241,236,178, 96,200, 2,120, +248,109,237, 93, 92,252,222, 64, 79,155, 56,162,242,207, 75,107,170,237,213,112,121, 60,222,140, 55,222,120, 3, 59,119,238,196, +156, 57,115,182, 60,213,173,229,160,103,134,245, 37, 83, 82, 82, 48, 98,196, 8,228,231,231,227,151, 95,126,193,252,249,243, 49, + 97,194, 4,124,241,197, 23,184,240,227, 39,184,190,164, 43,111,238,206,219,215,232,155,196,240, 27,165,213, 7,109,104,179,111, +220,184,241, 88,255,254,253, 79,238,221,187,215, 47, 38, 38, 6,219,182,109,199,204,215, 95,197,143, 11, 70, 33, 58, 80, 12,232, + 21,160,117, 42, 16, 60, 17, 96, 80,131, 41,191, 11,189, 94, 45,125,119,199,237,235, 38, 59,156, 94, 18,222,146,239,223,127, 34, +172,211,212,109, 60,243,190, 91,183,239, 96,237,241,114,156, 74, 61, 13,115, 19, 69, 72,128,183,109, 84, 57,124,104,246, 56, 9, +146, 66,199,151,190,198,220,170, 4, 28,218,188, 4, 67, 95, 94, 8,121,105, 49, 82, 83, 83, 17, 26, 26,138,207, 55,110,198,140, +233, 83, 97,162, 25, 71,207,156,215,166, 77, 36, 56,156, 2,240, 5, 52, 8, 0,122,125, 57,252,252, 40, 52,107,230, 7,128,176, +184, 87, 4, 65, 96,216,176, 97,122,134, 97,138, 52, 26, 77,233,174, 93,187, 8,103,233,232,147,209,169,161,124, 49,249, 40, 1, +210, 51, 32, 32,144, 16, 8, 5, 8,244,142,192, 7,111,190, 6,197, 11,234, 71,183,109,219,182,235,219,111,191, 45, 72, 77, 77, +221, 78, 8,124,110,203, 11, 21,209, 94, 92, 53,192,144,205, 1,154, 45,194, 30, 78,140,126,228,145, 71, 46,254,246,219,111, 66, + 62,159,143,189,123,247, 98,254,252,249,134,178,178,178,147,182,162, 39, 48, 48,176,253,214,173, 91, 35, 34, 35, 35,177,110,221, +186,118, 35, 71,142,156, 6, 96,137, 29,206,105,199,142, 29,107,173,209,104,112,241,226, 69, 76,152, 48, 33,187,168,168,232,170, +173,192,139,136,136,232,181, 98,197, 10,110,231,206,157, 81, 85, 85,133, 65,131, 6,169, 0,188,234, 36,172, 13,233, 50, 0,160, +102,173, 63, 7, 93, 6,224,235,235,251, 77, 78, 78, 78, 63,145, 72,228, 52,130,244,122, 61,242,242,242,224,229,229,133,196,196, + 68,159,150, 45, 91,126, 0, 96, 50,155,116, 88, 60,140,208,233,116,216,185,115, 39, 58,117,234,132,182,109,219, 66,161, 80, 88, + 68,151, 78,167,131,209,248,215, 44, 72, 36, 73,162,107,215,174,136,142,142, 38,102,206,156, 57,206, 90,104,253, 27, 97,126,233, + 46,176,109, 23,213,100, 35, 23,192, 56, 90, 36,120, 95, 40, 20,142, 14,111, 30,139, 54,109,218, 8,159,126,250,105,190, 78,167, +147,158, 56,154,252,103,207,158, 61, 81, 86, 86, 22, 60,103,206,156,178,176,102, 97,116,242,164,114, 95,130, 41, 7, 71,199, 79, + 1,234, 47, 58,170,229, 84, 55,223,251,231,242, 96, 0, 56,158, 22, 81,253,204,160,177,165, 28, 14,135, 58,125,227, 24,209,123, + 6, 5,255, 22, 34,164,237, 46, 4, 63,187, 51, 34, 3, 43, 33,147,201, 28,206, 79,213,177, 99,199,118, 36, 73, 98,231,206,157, + 0,240,193,141,236,194, 75,146, 35, 39, 62,219,179,120, 11,247,221,247, 63,196,220,185,115,241,210, 75, 47, 65,175,215, 99,249, +242,229, 72, 77, 77,197,175,191, 28,135, 49,105, 46, 86, 60, 93, 70,190,252,157,230, 87,189,201,219,255,118,121,121,181, 13,117, +198,173, 91,183,122, 13, 29, 58,244,228,238,221,187,253, 90,183,110,141, 21,107,191,196,248, 55,167,224,236,210, 65,128,200, 7, +188,222,239,130,240, 10,175,145, 67,101, 89,192,225,119, 29,114,114, 72,226,185,216,137, 95, 88, 4, 81, 70, 70, 6,166,207,122, + 7,191, 29, 60, 12,115, 19,197,204, 55,167, 99,235,218,143,161, 60,179, 1, 66,159,102,144, 4, 68,161,234,238, 37, 0,144,219, + 28, 42, 43,123, 0, 0, 32, 0, 73, 68, 65, 84,187,119, 91, 78, 0, 80,203,239, 66,113,239, 38, 34,135,188,137, 15,198,141,199, +208,151,129,181,139,222,193, 11, 19,198,224,243,141,155, 17, 25, 25,137,207,215,111,194,228,201,147,100, 85, 57,185,173, 97,211, + 76,113, 46,253,194,141, 85,171, 23,138, 85, 42,165, 39,143,207, 15, 2,195, 32, 56, 56, 24, 85, 85,213, 48, 24, 12, 80, 42, 85, + 32, 73, 18, 36, 73,130,195,225, 96,196,136, 17,188,228,228,228,102,127,252,241,135,127,173, 5, 28,109,109, 1,155,161,201,198, +216,103,158,121,102,112, 96, 96, 32,233,235,235,139, 62,125,250,192,100, 50, 65,171,213,130,166,105,240,249, 38,139,165,124,242, +228,201, 57,122, 83,184,113,203,132, 36, 13,135, 40,215, 82, 90, 97, 82,227,173,105,205,226,111, 70, 70,102,102,102,252,192,129, + 3, 79,254,248,227,143,126,195,134, 13, 67,203,150, 45,185, 79, 63,253,180,191, 74,165, 26, 96,125, 96, 81, 81,145,247,132, 9, + 19,206,229,230,230, 70,212,238,234,234,128,179,171,135,135, 7,178,178,178,204, 34,171,139,109, 37,140,207,231, 31,186,116,233, + 18,151,207,231, 35, 61, 61, 29, 19, 39, 78, 44,205,206,206,118,213, 44,119, 95, 93, 6,104,154,214,218,251,143, 36, 73,193,249, +243,231,225,106, 46, 64,146, 36,193,227,213,201,198, 21,108,178, 97,241,144,194,160,211,233,208,165, 75, 23,100,103,103,227,252, +249,243, 22,193, 85, 90, 90,138,130,130,130, 58, 7,159, 61,123, 22, 23, 46, 92, 64,239,222,245,230, 36, 95,240,111,236,163,101, +113, 34, 18, 19, 19,251,216,216,118,124,137, 68,114,246,185,231,158,107,246,244,211, 79,123,113, 56, 28,104, 52, 26, 24,141, 70, +164,165,165,161,109,219,182,170,118,237,218, 85, 12, 31, 62,156, 40, 45, 45,237,127,245,234,213,172,210,210,210,120,153, 76,150, +245,216, 99,143,105, 52, 26, 77, 61,165,229, 21, 69,233,150, 95,236,198, 3,128,228,237, 5,200,217,239,163, 48,168, 77,226,200, +145,149,100,159, 9, 33,168, 42,214, 99,245,179, 55,240,235,166,163, 88,241,217, 10, 83,239,222,189,243, 22, 47, 94, 92, 80, 80, + 80,240,152, 45,151,167,167,231,181,228,228,228,182, 71,143, 30,197,236,217,179,191, 51,153, 76,203,132, 92,206,193, 73, 47,189, + 18,166,215,235,113,254,252,121,248,248,248, 32, 39, 39, 23,188,128, 56,196,246,123, 1,111,143,235,138, 56,239,114,232, 54, 15, +198,141, 2, 53,198,239,210, 46,186, 89,172,156,231, 32,110, 90,135,134,134, 38,111,223,190,221, 63, 48, 48, 16,227,158, 25,134, +180,247, 98,193, 27,186, 2,151, 74,196,248,236,251,115, 0,128,183,199,117,113,200,233, 45,225,145, 1, 50,190,225, 70,126, 53, + 9, 0,119,238,220,193,132, 23,198,227,224,161, 26,145,117,241,226, 69,140, 27, 55, 14,237, 99,162, 33, 22,242,161,173, 44, 2, +109, 50,224,110, 94, 33,242,203, 52,101, 70,154,190,202, 48,200,134, 85, 19,133, 45,231,221,187,119,177, 98,249, 98,220,186,126, + 9,122, 69, 25,120, 18,111,164,157,191,130, 62,125,250,130,161,141, 40, 47,202, 69, 78,169, 10,155,183,108, 69, 84, 84, 20, 84, + 42, 21, 70,141, 26, 85,230,164,153, 34,227,198,141, 27,209,107,215,174,197,252,249,243,241,203, 47,191,192,100, 50, 65, 32, 16, +128,162, 40,240,249,124, 68, 69, 69,225,250,245,154,241, 4, 52, 77,227,252,249,243, 72, 74, 74, 98,108, 45, 96,107, 62,147,201, +132,146,146, 18,232,116, 58,168, 84, 42,168,213,106, 48, 12, 3, 14,135, 3,134, 97, 44,181, 29, 14,135,131,172,172, 44, 92,190, +124,153,217,183,111,223, 39, 12,195,204, 97,203,176,135, 26,173, 67, 66, 66,146,183,109,219,230, 31, 28, 28,140,126,253,250,229, + 22, 22, 22, 54,183,115,220, 30,134, 97,158,204,202,202, 66, 84, 84,212, 94, 0, 35,238,231,152,240,240,240,146,244,244,116,191, +107,215,174, 97,220,184,113, 37,181,125,190, 92,245,125,138,136,137,137, 73, 63,124,248,176, 15, 73,146,184,122,245, 42,198,141, + 27,167, 47, 43, 43, 59, 5,199, 77,142,119, 80,211,191,228,174,157,255,194, 1,204, 3,224,227,224, 92, 73,116,116,116,207,115, +231,206,241, 8,130,192,157, 59,119,204,121,178, 75, 45, 47, 11, 22, 15, 27,158, 10, 9, 9,249,118,218,180,105,158,221,186,117, + 67, 94, 94, 30,242,243,243, 81, 94, 94,142,248,248,120,180,111,223, 30,183,111,223,198,161, 67,135,112,225,194, 5, 8, 4, 2, +132,133,133, 65,186, 99, 39,190, 34,112, 13, 64,123, 39, 90,228,223, 35,180,108, 33, 16, 8, 62,152, 56,113,226,140,215, 94,123, +205, 71, 32, 16,224,236,217,179,224,241,120,160,105, 26, 3, 6, 12, 64,118,118, 54, 70,140, 24, 81, 86, 88, 88,248, 52,128,147, +238, 92, 76, 22, 44, 40, 28,254,126,112, 96,239,241, 53, 53,189,228,237, 5, 56,183,183, 24,179,118,117, 4,201, 33,240,205,244, + 27, 48,101, 54,167, 91, 71,197, 48, 0,140,205,154, 53, 43,220,186,117,171, 93,161, 5, 96,242,148, 41, 83,190,153, 60,121, 50, + 78,156, 56,129, 93,187,118, 97,216,176, 97, 24, 62,124, 56,190,253,246, 91,120,201, 79,227,147, 95,175, 97,236,135, 7,112, 53, +171,198, 24,106, 31,233,139, 29, 31, 15,131,230,243,120, 48,165, 25, 72,216, 73,221, 56,246,167,194,209, 84, 15,100, 11,111,209, + 79,126,254, 94, 79,105, 24, 30, 94,237, 46,198,139, 67,226,192, 31,181,189, 65,156,173,130,165,133,215,179, 10, 2, 41,129, 20, +111,188,250, 34, 62, 90,242, 41, 76, 38, 19,170,171,171, 17, 22, 22,102, 91,163,173,135,218, 38,138, 52,235, 38, 10,107,206, 39, +135, 63,142,157,187,127,134,187,205, 20,124, 62, 31, 90,173, 22, 45, 91,182,220, 12,251,205, 20, 25,151, 46, 93,138, 94,188,120, + 49, 54,108,216,128,125,251,246,193,104, 52, 66, 32, 16, 64, 34,145, 64, 36, 18,193,207,207, 15,151, 47, 95,174,115, 82, 85, 85, + 21,102,206,156,153,137,250,195,213, 51, 46, 93,186, 20,237,204, 82, 54,247,219,179, 36, 74,130, 64,101,101,165, 35, 62, 22, 15, +161,216,226,241,120,171,253,253,253, 59,230,231,231,207, 66,253,165,172,188,159,125,246,217,171, 63,252,240, 67,240,157, 59,119, +220, 18, 90,143, 61,246,152, 93, 71, 11,192,196,160,160,160,143,171,171,171, 43, 85, 42,213, 40,184,223,193,188,117,171, 86,173, + 78,238,221,187,215, 79, 44, 22,227,250,245,235, 24, 63,126,124,137, 92, 46,239,141,198,237,164,222,186, 77,155, 54,167,206,158, + 61,235,203,229,114,145,158,158,142, 9, 19, 38,148,178,157,225, 89,252, 11,224, 1, 96,118,100,100,228,219, 83,167, 78, 21,180, +107,215, 14,121,121,121, 40, 41, 41, 65,121,121, 57, 78,159, 62, 13, 0, 8, 13, 13, 69,104,104, 40,110,222,188,137,148,148,148, + 42,133, 66, 49, 25,192, 47,255,230,136,113,216, 71, 75, 44, 22, 63,247,194, 11, 47,248,152, 76, 38,244,238,221,187, 76,167,211, +153,102,207,158,237, 31, 20, 20, 4, 15, 15, 15, 12, 26, 52,168,188,170,170,170, 59,224,254,146, 41, 2,147,236,110,241,239,193, +210,100, 20,136,123,143, 15, 65,239,241, 33,232, 58, 34, 0, 36,135,192,229,195,114,240, 75, 91,170, 94,152, 50,165,178, 89,179, +102, 6,146, 36,209,188,121,115,227,246,237,219, 29,117, 86,250,246,235,175,191,126,212, 96, 48,188,244,242,203, 47,163, 79,159, + 62, 48, 26,141,216,190,125, 59,100,185, 7,176,240,249, 46,142, 3, 98, 50,128,224, 73, 16,232,105, 10,115, 36,178,218, 6, 74, +191, 89,246,106,191,167, 6,117,240,197,222, 99, 23, 49,172, 13, 23,208, 85,223, 15,231,174, 43, 91,223,152, 26, 59,233, 75, 94, +105, 81, 30, 26,169,137,194,194,169, 85, 85,163,145,155, 41, 12, 58,157, 14, 18,137, 4, 92, 46, 23, 2,129, 0, 70,163, 17, 4, + 65, 32, 62, 62, 30,205,155, 55, 71, 78, 78,142, 59, 22,112, 99, 91,202, 44, 30, 94,100,232,245,250, 33,249,249,249,214,142,143, +165,179,248,179,207, 62,219,101,251,246,237,193,133,133,133,248,227,143, 63,128,154,169, 30,236, 33,189,168,168,232, 73,177, 88, +140,173, 91,183, 70, 76,152, 48,225,156, 85, 31, 45,115,231,244, 45,133,133,133, 91,238, 39,140,182, 93, 6,182,110,221,234, 63, +106,212,168,221, 42,149,170, 67, 99, 69,132, 72, 36, 90,115,230,204, 25, 95, 46,151,139,180,180, 52,140, 27, 55,174,196,201,244, + 14, 44, 88, 60, 76,168, 6, 48, 47, 43, 43,235,243,183,223,126,251,131,118,237,218,189, 58,101,202, 20,170,109,219,182,200,207, +207, 71,118,118, 54, 90,182,108,137,220,220, 92,124,247,221,119,186,146,146,146,213,168, 25,108, 82,249,159,141, 49, 47, 47,175, +187, 59,119,238,100,130,130,130, 44,253,132,124,124,124,138,230,207,159,207,200,229,114,198,215,215,183,192, 13,154, 58,171,123, +135,132,132,156,184,120,241, 98, 86, 79, 95, 40,199,125, 17,193,124, 85,221,147,249,170,186, 39,179, 38,191, 27, 19,209,195,219, +248,218,180,215,242, 62,255,252,243, 91, 27, 54,108,200,252, 31,123,215, 29, 30, 69,181,183,223,153,237, 37,189,147, 4, 18, 32, +244,208,139, 32, 29,129, 32,132,122, 85,138,128,162,126, 72, 64, 44, 8, 4,244,114, 17,145, 4, 68,165,233, 5, 47,150, 0,210, +171, 20,169, 66,128, 80, 36, 32, 37,161, 5, 18, 72,207,166,111,175,115,190, 63,178,179,110,194, 38,187, 27,192, 58,239,243,204, + 51, 59,237,221,211,230,156,247,252,206,239,156, 89,187,118,237,157,252,252,252, 59,225,225,225,103,234,224,164, 2,228,130,189, +221,219, 69,145,231, 7, 63, 71,122,182,141, 32, 97,222,162,156,107,241,145, 68,187, 44,130, 88,138,210,201,229,219, 69,100,220, +191, 15,144,113,255, 62, 64, 46,223, 46, 34,150,194,235, 68,179, 64, 76,212,203,155,145,103, 26,251,220,114, 20,206, 86, 33,178, + 37,251, 23, 12, 35,134, 29,147,201,182,184,182,164,117,176,236,102,125, 57,125,229, 66, 73,179, 6, 30,247,206, 38, 12, 50,156, +223,183,142, 60,211,181, 19,201,201,201, 33,121,121,121,228,240,225,195,196,207,207,207, 0,224, 56,170,214, 22,114,180,125,129, +223, 22, 68,125,132,243,226,143, 95,147,151,134,245, 37,189,163, 27,144,168, 16, 57, 35, 21,241,212, 0,246,219, 61,127,188,121, +243,230, 6,165, 82, 73, 84, 42, 21,185,126,253, 58,105,209,162, 69, 9,126,155, 17, 53,208,129, 9,184,124,252,248,241,196, 17, +146,147,147,201,181,107,215,200,212,169, 83, 73,231,206,157, 73,207,158, 61,201,184,113,227,200,255, 17, 16, 0, 55, 28,112,142, + 10, 13, 13, 45, 95,178,100, 9, 57,121,242, 36,217,176, 97, 3, 89,178,100, 9,121,255,253,247,201,230,205,155,201,141, 27, 55, +200,158, 61,123,156,241, 57, 10,231,147, 0,199,249,199,112, 30, 78, 75, 75,179,149, 41,139,197, 66,114,115,115,201,145, 35, 71, + 72, 72, 72,200, 13, 84,173,147,229,136,211,171,117,235,214, 55,111,221,186, 69, 30, 62,124, 72,140, 70,163,141,227,230,205,155, + 4,192,169, 39, 16,206, 22, 97, 97, 97, 69, 39, 79,158, 36,183,110,221, 34, 33, 33, 33,217, 79, 50,238,145,145,145, 69, 10,133, +130,156, 56,113,130, 4, 6, 6, 22,161,110,139, 45, 87,150, 56,206,191, 50,103, 36,128,141,157, 59,119,182,172, 90,181,138,188, +249,230,155, 36, 34, 34,194,130,170, 69,190,195,240, 15, 66,173, 22,173,242,242,242,136, 55,223,124,243,242,179,207, 62,219,181, +160,160,128,237,141, 25,104,154, 38, 10,133,130, 49, 26,141,185,238,254,153,209,104, 44,184,126,253,122,192,138, 35,151,139,102, + 47,154, 25,148,140, 60,217,179, 47,133, 96,239,178, 76,188,216,127, 74, 89,108,204, 40, 83,100,100,164,205,130,117,235,214, 45, +232,245,122,109, 29,148,228,153, 38, 62,221,118,204,110,141,125,103,239, 98,209,181,226,239,229, 34,222,174, 93,151,203,246,207, +237, 9, 24,183, 79, 64,251, 23, 54, 96,243,162,161, 0, 0,166,232, 6,140,219, 39,130,146, 5,224,116,174, 0, 21, 90,227, 1, + 71,164, 77, 2,101,175, 14,108,198,199,222, 19,151,176,104,239,195,239, 45,132,212,155,179, 76,109,212, 1,136,158,178,250,124, + 2,112,126,172,222,104, 9, 24,208,191, 31,246,253,184,159,110,213,170, 21, 54,109,218, 36,156, 56,113, 98,180, 59, 67, 20, 53, + 57, 45, 12, 9,160,128, 98, 2,108, 17, 11,120,243,181, 6,139,142,109, 52,172,195, 20, 66, 7,195, 20,181,249,130,236,201,203, +203, 59,113,225,194,133, 11,111,191,253,118, 11,137, 68, 66, 9, 4, 2, 88, 44, 22, 48, 12, 3,139,197,130,242,242,114,220,186, +117, 11,141, 27, 55,182,153,128, 15,120,122, 84, 2,170,255,212,198, 55,127,254,124,155, 73,185, 99,199,142,200,201,201, 65, 86, + 86, 22, 46, 95,190,108, 51, 41,187,200,199,225,175, 15,241,249,243,231, 33, 22,255,246,149,165,171, 87,175,226,173,183,222, 74, +179,250, 84, 85,214,242, 92,101,122,122,122,207,161, 67,135,158, 94,181,106, 85,107,251, 33,231,147, 39, 79, 2,128,254, 73, 88, +223,114,115,115,251,196,196,196,172,244,247,247,239, 80, 80, 80,176,224, 73, 70, 60, 43, 43,235,189,118,237,218, 45, 81, 42,149, +149,110, 14,109,114,224,240, 87, 67, 22,128,137,169,169,169,203, 82, 83, 83, 63, 64,213, 84,250,197, 0,210,185,164,169, 5, 97, + 97, 97,119,231,206,157,171,187,120,241,162, 37, 46, 46,174, 68, 46,151, 79,171,135,226,149, 6, 4, 4,108, 13, 10, 10, 74,241, +247,247,191,228, 17, 44, 82,200, 27,210, 70,207, 64,113,129,143,143,207,245,160,160,160,115,246,223, 65,244,243,243,251, 25, 64, +120, 93,156, 45,131,229,211, 95,232,232,159,219, 42, 68,182, 18, 85,159, 20,162, 90, 4,203, 14,239,158,224, 73, 52, 31,251, 17, +205, 34, 47,162, 93,217,150,104, 87,182, 37,154,197,254, 68,187,162, 13,185,147,208,157,116,139,244,206,111, 26, 44, 15,248,189, + 56, 89, 88, 87,113,111, 17, 25, 25,169,184,116,233, 18,201,202,202, 34, 7, 15, 30, 36, 50,153,236,122,125,123, 16,246, 43,195, + 87, 75,108,169,244, 72,101,101, 37,209,233,116,228,196,137, 19, 36, 56, 56,216, 81, 15,186,174, 94, 73, 16,128,213,109,218,180, + 49,173, 88,177,130,236,221,187,151,172, 89,179,134,140, 26, 53,138,204,153, 51,135,140, 29, 59,150, 4, 6, 6,234,173,230, 95, +111, 23, 56,235,203,199,245, 28,255, 94,156, 17,214, 94,173,189,229,118,126, 13, 75, 86, 93,156, 94,214,251,107,179,252,114,121, +196,113,114,156,127, 77,206,127, 46, 2, 3, 3, 63, 93,176, 96,129,250,167,159,126, 50,206,156, 57, 83,213,160, 65,131,211, 79, + 40, 35,130, 0,116, 7,208,165,150, 74,182, 94,153,219,222,219,219,187, 69,144,236,231,185,207,249,145,203,115,155,144,138, 21, + 29,136,230,171, 30,228,110, 66, 87,242,229,203,205, 73,135, 80,207,135,205, 3,101,109,255, 96,206,250, 12, 81,184, 85,176, 93, + 28,166,112,133,211, 93, 19,240,211, 48, 41,115, 21, 26,199,201,113,114,156, 28, 39, 39,180,254,190,104,214,172, 89, 70,187,118, +237,238,199,197,197,165,253, 69, 50,151,106, 25, 36, 31,219, 34, 72,190,187, 85,144,244, 94,155, 96, 89, 78,139, 32,217,177, 22, +129,178,247, 59, 53,128,244, 79,194,217, 66, 36, 18, 29, 9, 13, 13, 85, 0,120,229, 41,164,231,132,144,144,144,135, 86,107, 89, +139, 39,192, 25, 13, 96, 43,128, 45, 0, 90, 63,129,112,186,202,199, 85,104, 28, 39,199,201,113,114,156,156,208,250,123, 98,218, +180,105,124,174,192,112,156, 28, 39,199,201,113,114,156, 28, 39,199,201, 9, 45,247, 65,213,145, 88,199,158,114,130, 31,227, 56, + 57, 78,142,147,227,228, 56, 57, 78,142,243, 31,199,233,140,251, 24, 56,112,202,156,227,228, 56, 57, 78,142,147,227,172,149,147, +178,110,180,117, 99,143,255,204,113,167,254,196,113,255,167,112,254, 45,193,255,131,254,151,205, 8, 6,117,125, 61,153,195, 31, + 9,251, 23,132,112,249,196,225, 79, 10, 15, 62,159,255,174, 72, 36,234,107, 54,155, 91, 3,128, 64, 32, 72,215,235,245,167,204, +102,243, 23, 0, 84, 92, 18,253, 97,117, 7,207,174,177,181, 88, 55,252, 9,235, 18,123, 81,192, 60,102,187,244, 52,226,254, 79, +230,252,219, 11,173, 14,114,185,252, 63, 34,145,168, 9, 69, 81, 22,181, 90,125, 77,175,215,175, 3,112,238, 49,255,243,155,224, +224,224, 87, 74, 74, 74, 24,246, 35,197, 20, 69,129,166,105, 8, 4, 2,109, 69, 69,133, 87,125, 72, 3,219,142,122,159, 79, 81, + 51, 45,196,178,174,232,250,190, 79,156,157,231, 80,247, 11, 35, 20, 10,199,248,249,249,249, 40, 20, 10, 66,211, 85,171, 71,240, +120, 60,118,133,121,115, 69, 69,197,247,174,146,249,250,250, 94,244,243,243,243, 97,159,167, 40, 10, 37, 37, 37,229, 69, 69, 69, +221, 0, 64, 34,145,156,149,203,229,254,124, 62, 31, 60, 30, 15, 60, 30, 15, 26,141,166,164,164,164,164,231,239, 25,105, 95, 95, +223, 20,154,166,155,184,243, 12,195, 48,247,203,202,202,158,229,138, 76,117,108,223,190,157, 23, 19,246, 90, 20,159,104,219,211, + 52,241,102, 24,170,194, 76, 73,175, 30,206,253, 38,195,149,231, 95,124,241, 69,139, 11,183,245,241,242,242,218,176,123,247,110, +223, 78,157, 58,209,197,197,197,104,220,184, 49, 74, 75, 75,187, 37, 39, 39,119,126,237,181,215, 94, 83, 42,149,147, 0, 36,115, + 57, 82, 55, 68, 34,209,138,224,224,224,215, 85, 42,149,134,162, 40, 66, 81, 20, 40,170,170,159, 85,115,111,177, 88,114, 74, 74, + 74,186, 56,105,108, 5, 34,145,232,243,144,144,144,201, 26,141, 70, 99,229,115,200, 11, 0, 38,147, 41,167,184,184,184,139, 75, +117,125, 96,224, 58,169, 84,250,178, 70,163, 81, 83, 20,197,216, 95, 35,132,216, 55,230,247,138,139,139,123, 59, 19, 6, 34,145, +104,101,112,112,240,171,214,184,219,194,249,184,113, 15, 14, 14,158,172, 86,171, 93,226,172, 35,238,143,112, 62,141,112,254, 73, + 57,255,254, 66,171, 99,199,142, 91, 46, 92,184,208, 92, 32, 16, 0, 0,116, 58, 93,187,213,171, 87, 79,154, 59,119,110, 34,128, +121,245,252,191,164,222,189,123,143, 75, 78, 78,166,247,238,221, 75,119,237,218, 21, 20, 69,193, 98,177,192, 98,177,160,109,219, +182,210,250, 70,196, 91, 46,139,191,124,244,107, 73,135,129,111,204, 44, 2, 62,113,118,190, 46,129, 9,224, 67, 0, 77,220, 12, +130,194,154, 46,151,127,175, 70,252, 41, 9, 3, 74, 40, 20,254,171,119,239,222,222,199,142, 29,163,178,179,179, 41,169, 84,106, + 91,172,212,100, 50,161, 77,155, 54,110, 89, 66,125,124,124,188,226,227,227,163,158,127,254,121,236,220,185, 19,147, 38, 77, 66, +175, 94,189,238, 20, 21, 21, 1, 0,228,114,185,127, 90, 90, 90,115, 63, 63, 63,104, 52, 26, 84, 84, 84, 96,208,160, 65, 40, 41, + 41,121,236, 2,238, 21,142, 38, 22, 1, 22, 7,134, 75, 7, 40, 30,104, 23,169, 31, 98, 77,109,247, 10, 4,130,240, 7, 15, 30, + 4,137, 68, 34, 16, 66,192, 48,140,195, 61,251,219,104, 52,162, 77,155, 54,198,218,248,158,233, 24,190,152,162, 41,219,135,133, +137,217, 82,122,225,106,222,135,143, 27, 39, 63, 63,191,203, 98,177, 56,216,169, 90,182,107,200,116, 58, 93, 97,105,105,105, 39, + 39,143, 68, 2, 24,206,227,241,154,241,249,252,150, 0, 34,205,102,115, 48, 0, 8,133,194, 66, 30,143,151,101, 50,153,110, 25, + 12,134,187, 0,126, 68, 29, 31, 64,142, 9,123, 45,138, 50,107, 94, 80,234,153,161,178,166,137, 45, 52,247,226,111,203,196,154, +131, 49, 97,175,237,112, 85,108, 57,193,192,254,253,251,111,217,191,127,191, 68, 40, 20, 66,171,213,226,198,141, 27,240,246,246, +134, 72, 36,194,200,145, 35,121, 61,123,246,244,239,215,175,223,206,219,183,111,143,135,123, 62, 31, 45, 0,108, 67,213, 7,165, +223, 68,245, 47, 20,212, 7, 97, 0, 70,160,234,155,143,141,141, 70, 99, 49,128, 84,107,152,238, 0,136, 8, 12, 12,252,129, 97, + 24,125, 73, 73,201,107,112,240,161,234,238,157, 27, 94,162,105, 58,156,181, 9, 48,196,146,115, 62, 53,231,137, 52, 80, 52, 77, +175,140,141,141,125,117,199,142, 29,178,212,212, 84, 89,235,214,173,109, 29, 34,182,204,219,163,113,227,198,206,172, 26,124,154, +166, 87,188,240,194, 11,227, 55,110,220, 40,123,240,224,129, 44, 52, 52,212,198,105, 47,182, 88, 56,251,132,152, 93,217,255,102, +240,224,193, 19, 55,108,216, 32,216,183,111,159, 52, 32, 32, 0,254,254,254, 14,191, 25,219,179,103, 79,198,121,212,233,149, 35, + 71,142,156,184,117,235, 86,217,133, 11, 23,100,109,219,182, 5,143,199,123,236,184,143, 26, 53,106,252,150, 45, 91,100,215,174, + 93,147, 53,107,214, 12,172, 81,161, 38, 31, 77,211,104,216,176,161, 75,156, 35, 70,140, 24,191,109,219, 54,217,229,203,151,101, + 45, 91,182,180,165, 39, 91, 39,213, 39,156,127,114,206,127,132, 69, 75,100, 52, 26,113,234,212, 41,208, 52, 13, 63, 63, 63,188, +242,202, 43, 56,122,244,104,252,137, 19, 39,246,215,195,178,245,141, 85,100, 9, 0, 96,215,203,163,112, 95, 0,188, 85,100,128, + 80, 40,196,189,123,247,192,227,241,220, 54, 45,138,197,226,201,132,144,127,107,114,127, 17,107,181, 38,232,242, 46,201,164, 82, +169,173, 1,208,228, 89,207,231, 95,146, 73,165,210,123, 60, 30,239, 99,149, 74,149, 84, 27, 95,179,102,205, 54,221,184,113,163, +149,179,143, 61,215,132, 70,163, 65,163, 70,141, 34, 74, 75, 75,155,253, 30,141,184, 51, 78,179,217, 12,137, 68, 2,214, 26,101, + 48, 24,160, 82,169,156,113, 82, 66,161,112, 12, 43,178, 0, 96,243,230,205, 8, 9, 9, 65, 80, 80,144,237,163,210, 44,167,171, +224,241,120,136,137,137,193,194,133, 11,145,152,152,136,217,179,103, 87,171,104, 5, 2, 1,252,252,252,240,211, 79, 63,193,203, +203, 11, 17, 17, 17, 96, 5,126,173, 2, 42,130,166, 76, 38,134,214,230,193,177,229,163, 1,164, 82, 30,150, 70,245,242,121,115, +216,187,145,252, 6,205,101, 88, 60,248,210, 60,245, 67,253,154,186,132,137, 80, 40,196,245,235,215, 31,169, 16, 28,222,207, 35, + 48,136, 43,253, 26,247,145, 42, 28,137, 56,138,166,252,206, 93,122,104,179,208, 14, 25,208,138,255, 76, 39,254, 87,214,166, 18, + 52, 13, 48, 76, 85,211, 73, 81, 32,102, 19, 83,118,233, 90,222, 2, 23,210, 51, 52, 43, 43, 43,200, 89, 26,177, 48,155,205, 8, + 13, 13,229, 57,185,109,104,116,116,244,174,184,184, 56, 97,179,102,205, 40,161, 80, 8, 62,159, 15, 62,159,207, 10,244, 8, 66, + 72, 4,195, 48,253, 10, 11, 11,201,234,213,171,151,157, 60,121,114, 52,128,131, 14, 43, 22,162,109,175,212, 51, 67, 79, 95, 65, +183, 23, 6,206,197, 79,219,227,187,245,238,200,192, 83,166,205, 0, 80, 47,161,197,138, 13,139,153,161,238,100, 86,248,237,220, +185,131,162,105, 90,175, 84, 42,193, 48, 12,122,246,236, 9,154,166,113,253,250,117,124,240,193, 7,216,181,107, 23,246,236,217, + 35,237,220,185,243,183, 26,141,166, 53,170,190,197,230, 84,100, 69, 71, 71, 95,185,112,225,130,196,104, 52,162,123,247,238,231, +111,223,190,221, 25,245, 91,193,221, 23,192,103,243,230,205,155, 24, 23, 23,199,243,241,241,129, 72, 36,130, 82,169, 68, 70, 70, +198,228,239,191,255,158,172, 93,187,246, 75, 0,158, 89, 89, 89, 61, 46, 94,188,136,254,253,251,191, 13,224,221, 71, 21, 1, 47, +252,236,197,204, 32,246,120, 68, 76, 59, 97,143, 46,116, 97,149, 21,167,230,221, 4,140,133,201,185,248,107,174, 43, 66,108,217, +168, 81,163, 38,236,216,177,195, 3, 0,254,251,223,255, 98,204,152, 49,240,243,243,131, 76, 38,131, 80, 40,132, 64, 32,168,182, +119,210,216,242, 0, 44, 27, 59,118,236, 11, 27, 55,110,244, 4,128,141, 27, 55, 98,212,168, 81,240,247,247,135,167,167, 39, 68, + 34,145,237,123,175,110,118, 48,190,233,213,173,219,148, 13, 27, 54, 0, 0, 62,120,231, 29, 60,255,204, 51,240,144, 73, 33,147, +138,192,166,133,136, 39,192,144,183,102, 58,213,151, 0,150,143, 25, 51,230,165,173, 91,183,122, 2, 64,106,106, 42,138,138,138, + 16, 28, 28, 12,169, 84, 10,145, 72,100,139, 51, 69, 81,144, 74,165, 46,197,125,204,152, 49, 47,108,217,178,197, 19, 0,146,146, +146, 16, 19, 19, 99,139,187, 88, 44,134, 80, 40,172,182,213, 20,157,142, 56, 71,143, 30,253,194,182,109,219, 60, 1,224,251,239, +191,199,192,129, 3,225,235,235,107, 75, 79,150,203,157, 60,250,147,115,254, 51,132,214,149, 43, 87,254, 37,151,203, 19, 0, 4, +138, 68, 34,159,241,227,199, 55,156, 50,101, 10,198,142, 29,139, 19, 39, 78, 76,117, 83,104, 81,193,193,193,175, 36, 39, 39,219, + 90,104, 3,121, 68, 48,185,221,128, 91,241,239, 75, 83,167,134, 36,102,168,112,254,226, 45, 72, 64, 83, 23,151, 47, 15,212,221, +189, 11,139,193,128, 69,247,148, 85,231,205,132, 58,245,222, 91, 33, 29, 86,124,249,111, 0, 73,117, 52,182, 98,189, 94,143, 59, +119,238,184, 21,136,236,236,108, 71, 31,127,174,119, 35, 30, 17, 17, 81,215, 11,232,148,243,240,225,195,152, 53,107, 22,110,221, +186, 5,246, 83, 37, 46,112, 82,126,126,126, 62,172,200, 98, 69,144, 84, 42,133, 64, 32,160,248,124, 62,197, 14,237, 89, 95, 46, +151,132, 49, 77,211,216,180,105, 19,150, 46, 93,138, 57,115,230, 96,221,186,117,104,223,190,253,111,133,144,207, 71,101,101, 37, +124,125,125,225,235,235, 91, 77, 32,214,134,202, 7, 12, 1, 28,139, 44,105, 35,132, 72,165,252,131, 99, 63,137,234,208,246, 57, +127,168, 74,140,216, 52,247, 14,138, 51,245, 59,156,165, 39, 33, 4,237,219,183, 7, 69, 81, 54,161,193,110, 2,129, 0,124, 62, + 31, 60, 62, 15, 58,170, 18, 77,122, 9,241,206,206, 86,210, 6,205,101, 82, 71, 34,174,102, 54,127,254,197, 42, 25, 24, 82,229, + 4, 66, 24,128, 1, 8, 8, 24,194,160, 48, 55, 3,255, 89,248,169,203,173,143, 64, 32,192,221,187,119,109,225,102, 45,195,172, + 48,178,183, 26, 68, 70, 70, 58, 45, 75, 66,161,240,163, 61,123,246,136, 54,109,218,132,173, 91,183,130,162, 40,136,197, 98,200, +229,114,248,248,248,192,223,223,223,182,133,135,135, 83,223,126,251,173,176,125,251,246, 31, 85, 86, 86, 30,116,156,231,196, 91, +214, 52,177,197, 11, 3,231, 2, 0, 94,152, 75, 80,118,231,147, 14,116,249, 2,239,250, 91, 94,170,196,198,226,197,139,241,241, + 51,207, 64, 36, 18,145,138,138,114, 9,219,185,224,209, 60,164,165,221,192,138, 21, 43, 48, 97,194, 4,220,187,151, 65, 34, 34, + 34,245,179,102,205,242, 72, 76, 76,124,199,104, 52, 46,114, 38,178,218,181,107,119, 38, 37, 37, 69,162,209,104,192, 48, 12, 14, + 30, 60, 40, 27, 56,112,224,233,204,204,204,222,238,138,173,200,200,200,125, 41, 41, 41, 61, 3, 3, 3, 81, 81, 81,129,202,202, + 74,152, 76, 38,240,120, 60, 68, 68, 68, 96,217,178,101,212,200,145, 35,103, 76,158, 60, 89, 39,149, 74, 89,203, 70,164, 35,174, +154,239,247,234, 53, 95,249, 16, 82, 85,126, 8, 67,170,237, 75,139,178,240,206,123,174,125,189,170, 97,195,134,111,238,220,185, +211,195,222,178,100, 47, 2,236, 69, 22,187, 57, 17, 6,116,163, 70,141,166,252,240,195, 15, 54,206,128,128,128,106,239, 15, 77, +211, 56,125,250, 52, 18, 62,154, 7,223,192, 80,172, 90,243, 95,151,134, 11, 99, 98, 98, 94, 78, 74,250,173,234,110,215,180, 41, +134,245,124, 6, 65, 1, 94, 8,240,245,172, 74, 39,134,194,213, 91,153, 78,219, 35, 0,116,195,134, 13, 95,219,190,125,187,135, +125,135,144,141, 43,219,121,102,173,248, 6,131, 1, 93,186,116,113, 41,238,246,156,172,181,141, 21,109,108,122,178,255,195,190, +175, 78,194, 57,133, 21,194, 86,193, 89,141, 67, 32, 16, 96,251, 79, 27,106,181,102,215,151,211,221,124,175,201,153,149,149,133, + 37, 75,150,128,237,180,217,187, 10,133,133,133, 97,213,170, 85, 78,235,165, 26,239, 64, 87, 0,129,118,167, 12, 0, 68,118,123, + 5, 69, 81,191, 56,184,143, 61, 47,176,142, 88, 5, 90,219, 14, 37, 0, 31, 7,124,181,241, 20, 91,219,188,192, 26,247, 87,251, +159, 90,133,214,254,253,251,217,183,184, 95,108,108,236, 41,235,239,114,177, 88,156, 45,147,201, 66, 0, 40, 15, 30, 60,136,255, +251,191,255,131,213,180, 58,194,219,219,251,134, 3,171,206, 21,189, 94, 63, 23, 64,161,245, 20,107,174,167, 75, 75, 75,153,163, + 71,143,210, 27, 71, 15,134,129, 0, 29,255,157,128,152,216, 88, 28, 14, 19,129, 7,160,219,205, 98,200,100, 50,126,101,101,165, +201,222,111,203,129,239,214,177, 26, 5,138, 39,225,243,209,253,204, 1,204, 58,115, 0,221,228, 34,148,236,216, 6,229,217,100, +208, 52,133, 62,242, 0,204,158,112, 20,207,122,137, 33,210,171, 65,211,180,163,146,109,227,188,115,231,206,139, 94, 94, 94, 9, + 53, 18,216, 21,220, 71,213,119,156, 80, 75, 56, 93,106,196,217,237,242,101,135, 35,144,181,114, 90,135,224, 32,151,203,113,252, +248,113,219, 61,207, 61,247, 28,116, 58, 29,252,252,252, 92,226, 84, 40, 20, 36, 47, 47,143,218,184,113, 35, 4, 2, 1,252,253, +253, 33,147,201,168, 13, 27, 54,204, 19, 10,133,225, 58,157,142, 49, 24, 12, 16,137, 68,171,216,252,225,243,249,234,202,202, 74, +255,218, 56,121, 60, 30,226,226,226,240,254,251,239, 99,221,186,117,152, 58,117,234, 35, 22, 47,157, 78,135,128,128, 0,155,216, +114,240, 2,186, 52,244, 35, 11, 67, 91,159, 96,209,145, 41,171, 90, 5,135,181,148, 35,101, 75, 1, 14,172,204,202, 81, 23, 90, +190, 48,148, 97,167, 51, 78, 66, 8, 50, 50, 50,106, 21,195, 37,101,197,120,255,227, 55,209,241, 53, 57,106, 17,113,191,113, 50, + 4, 55, 46, 31, 70,218,181, 99, 96, 44, 12, 44, 12, 1, 33, 22, 48,102, 32,245,232,249,230,249,247,243,194, 8, 72,149,235, 45, + 0,113,133,202,220,215, 95,212, 18,192,222, 83, 37,134, 21,206,226,206,231,243,161,211,233,176,103,207, 30,220,188,121, 19, 7, + 15, 30,132, 86,171, 69, 64, 64, 0,124,124,124,240,204, 51,207, 96,242,228,201,136,140,140,116,154,239,132,144,164,236,236,236, +142,189,122,245,162,202,203,203, 81, 94, 94, 14,173, 86, 11,139,197, 2,179,217, 12, 62,159, 15,137, 68, 2,169, 84,138,224,224, + 96,232,116, 58,162,215,235,147,106,227,100, 24,170, 66,115, 47,254,246, 79,219,227,187,189, 48,151, 96,199, 82, 10, 81,141,196, +154,227,151, 60,167,236, 61, 51,123, 16, 0,194, 16,155,105,129,152, 44, 76,241,251,243, 62,155, 81, 87, 56,217, 60, 73, 73, 73, +193,140, 25, 51, 96,177, 88, 40, 1,159, 15, 66, 8, 40,154,198,237,219,183,177,122,213,106,140, 27, 55, 14,205,162,162, 96, 48, + 26,161, 82,169,208,191,127,127,193,170, 85,171,250,217, 9,173, 99,117,136, 44,127,173, 86, 11,165,178,202,248, 37, 18,137,176, + 99,199,142,128,225,195,135, 39,231,229,229,213,245, 61,210, 71, 56, 61, 61, 61, 35,120, 60, 30,174, 95,191,142,181,107,215,226, +248,241,227, 40, 44, 44, 44, 11, 13, 13,245,238,215,175, 31,253,206, 59,239,160, 99,199,142,248,238,187,239, 36,206, 56, 9, 33, +200,186,115, 26, 89,119,207,128, 97,170,132,101,213,230,248,119, 29, 61,160,106,225, 84,171,213,186, 43, 87,174,120,172, 95,191, + 30, 65, 65, 65,104,220,184, 49,100, 50, 25, 36, 18, 73,181, 70,214,190,225,117,246,110,106,181, 90, 93, 86, 86,150,199,150, 45, + 91,224,239,239,143,200,200, 72,200,100, 50,136, 68, 34,240,249,124, 80, 20,133,141, 27, 55, 98,243,194, 9,200,186,117, 13,163, +134, 13,114, 26, 78,153, 76,246,114, 82, 82, 82, 53, 19, 72,176,175, 47,248, 2, 26, 60, 1, 5,223,231, 70, 3, 0,202, 78,236, +174,178, 85, 57,143, 59,165, 84, 42,117, 23, 46, 92,240,184,116,233, 18, 24,134, 65,100,100, 36, 52, 26, 13,188,188,188,108,241, + 63,122,244, 40, 70,142, 28,137, 77,155, 54,161, 71,143, 30, 78,227,174, 82,169,116,215,174, 93,243,248,225,135, 31,224,231,231, +135,134, 13, 27,218,226,206,110, 2,129, 0, 60, 30, 15, 77,154, 52, 65, 69, 69, 5, 60, 60, 60,156,230, 81,106,106,170,199, 15, + 63,252, 0, 95, 95, 95,132,135,135,219, 44,110,172, 56, 90,250,213,194,106, 4, 18,170,193, 99,115,186,155,239, 53, 57, 71,141, + 26,133,168,168, 40,120,121,121, 65, 46,151,219,184,235,226,172, 69,139,216,244, 54, 69, 81,251,237,222,137, 88,138,162,246,219, +239,107,187,207,250,179,207,188,121,243,186, 36, 38, 38, 46,233,209,163,199,150,148,148,148,205,181,241,213,198, 51,111,222,188, +232,196,196,196, 37,246,247, 59,248,159,218, 45, 90,177,177,177,148, 53,146, 20,128,198,157, 59,119,254,229,196,137, 19,126,158, +158,158,182,155, 31, 62,124,136,242,242,114,120,122,122,122,125,254,249,231, 94,253,250,245, 67,112,112,176,173, 7,112,231,206, +157, 54, 45, 90,180,168, 4, 80,211,110,203,208, 52,141,103,159,125, 22, 55,172,163, 29, 49,177,177, 8, 15, 15,183, 57,121, 72, + 36, 18,204,152, 49,131,154, 53,107, 22,159,181,102, 16, 66,160,213,106,209,160, 65, 3,105, 93, 86, 8, 0,136,214, 22, 99,119, +191, 62,160, 41, 64,115,249, 34,132, 34, 10, 52,143, 66, 39, 82,130, 67,253,251,128, 2, 96,248,245, 28, 92,176,194, 92, 6, 48, +232,105,152, 15,157, 53,226, 14,226, 69,213,151,147,181,104,164,164,164,192, 98,177,184,202, 73,104,154,134, 92, 46, 71, 72, 72, + 8,164, 82, 41,100, 50, 25,181,101,203,150, 15, 27, 55,110,220, 96,214,172, 89,116,101,101, 37,253,236,179,207, 98,204,152, 49, +124,118,136, 51, 58, 58,218,105, 92, 78,157, 58,133,181,107,215, 98,234,212,169, 14, 45, 90, 20, 69, 33, 48, 48, 16, 94, 94, 94, +245, 78, 95,113, 35, 68, 6,132, 75, 78, 77,255,174,173,143, 87,144, 16, 63,173,121,136,195,171,179,119,235,138,241, 57,204,184, + 5,160,204, 85,139,150, 35, 1, 12, 30, 3,139, 95, 9, 94, 93,221, 28, 97, 45,189,145,178,165, 0, 7,191,120,104, 81, 41, 76, +179, 29,136, 56, 48, 0,140,102, 19, 52, 42,173,109, 72,215, 98,177,224,218,201, 95,155,223,255,245, 78,244,254, 45,155, 4, 0, +160, 59,185,187,218,160,231,152,175,182,181,232,235, 43,184,112,170,204,116,161,174, 50,207,231,243,241,202, 43,175, 32, 49, 49, + 17, 47,191,252, 50, 14, 30, 60,136, 5, 11, 22,224,245,215, 95,127,196,170,229,172,231,104, 50,153,190,158, 52,105,210,212, 29, + 59,118,180,156, 59,119, 46,205, 90,180,100, 50, 25, 40,138,130, 78,167,131, 94,175,135, 86,171,197,173, 91,183,152, 55,222,120, +227,182,193, 96,248,186,214,225, 74, 74,122, 85, 38,214, 28,108, 26, 78, 71,169, 51, 63,245,236,245, 76,164,150,146,118,174, 24, +221, 98, 32, 25,250, 74,164, 47, 8, 1, 97, 0,134, 0,122,189, 26, 51,102,188,205,115,165,172,103,221, 57,141, 43,151, 47, 66, + 42, 21, 67,165, 84,193,194, 88, 64, 24, 2,177, 80,128, 15, 63,152,143,113,227,198, 35,170,105, 83, 88, 44, 22, 8, 5, 66,124, +255,253,247,232,210,165, 11, 12, 6, 67,107, 23, 44, 89,254, 58,157, 14, 87,174, 92, 65,255,254,253,145,157,157,141,244,244,116, + 52,111,222, 28, 27, 54,108, 8, 28, 63,126,124,114, 81, 81,145,203, 31,127,191,118,237,218,188, 14, 29, 58,172, 84,169, 84,165, + 42,149,106, 37,128,205, 0,202, 51, 50, 50, 90,103,100,100,172, 62,124,248,112,239,255,252,231, 63,188, 26, 62, 58,188, 90, 34, + 15,147,201, 12,173, 86, 95,167,192, 98,143, 9, 97, 92,122,103, 40,138, 34, 45, 91,182,196,240,225,195, 33, 16, 8, 32,147,201, +224,225,225, 81,109,216,172,166,224,170, 43,139, 0, 48, 20, 69, 33, 52, 52, 20, 67,135, 14,133, 80, 40,172,198,201,150,195,161, + 67,135, 98,230,162,127,227,235,153, 3,176,118, 82,115, 12, 92, 92,232,204, 53, 67,245,243,207, 63, 75,223,159, 58, 21, 29,154, + 53, 67,128,151, 23, 26, 5, 7, 66, 42, 22, 65,104, 31, 38,202, 37, 35, 59, 1,192,240,120, 60,180,109,219, 22,133,133,133,200, +204,204, 68,102,102, 38,104,154, 70,175, 94,189,108, 86,152,187,119,239, 98,209,162, 69,208,235,245, 46,199,189, 89,179,102, 24, + 48, 96, 0, 68, 34, 17,100, 50, 89,181, 33, 67, 54, 77,149, 74, 37,162,162,162,176,119,239, 94,180,104,209,194, 41,103,171, 86, +173,208,183,111,223,106,233, 41,149, 74,109,162, 8, 0,178, 47,168,108,255, 17, 22, 22,230, 22,231,145,139, 15,177,254,232,207, +208, 27, 24, 84,106, 76,213,189, 48, 2,188,112,230,135,185, 46,197,157,229,252,223,255,254,135,242,242,114, 91,221,201,118,202, + 89, 35, 74,195,134, 13,241,223,255, 58,182,100,214,208, 34,142,234,129, 88, 23,219, 91,246, 62,182,112,137, 19, 19, 19,151,212, +124,222, 25,159,253,245, 26,207, 27,106,136,179, 66,183,134, 14,197, 98,241,252,159,127,254,217,175,162,162, 2,119,239,222, 5, + 77,211,182, 49,117, 62,159, 15,163,209,136,123,157,170, 47, 17, 0, 0, 32, 0, 73, 68, 65, 84,247,238,193,207,207, 15, 69, 69, + 69, 16,139,197,224,241,120, 48, 24, 12, 0,208,169,182, 6,156, 16,130,153,138, 42, 23,161,159, 66,133,200, 2, 48, 76, 81,245, + 98,176, 14,241, 59,119,238,132,135,135, 7, 60, 61, 61,109,123,103,195, 72,215, 50, 51, 80, 40,160, 64,159, 59, 13,138, 6,104, + 10,160,120, 0, 77, 19,208, 20, 5,250, 92, 50, 40, 10,144,251,251,186,219,118, 59,115,140,175,211, 1,222,157, 70,188,230,239, +147, 39, 79,194, 85,206,168,168, 40,120,120,120,216,182,195,135, 15, 87,179,104, 89, 44, 22,248,251,251,187,194, 73,172,254, 56, + 8, 10, 10,130, 64, 32,160, 54,108,216, 48,175, 73,147, 38, 13,222,123,239, 61,154,199,227,225,242,229,203, 72, 75, 75, 67,100, +100,164,203, 62, 91,229,229,229,249,243,230,205,179,204,155, 87, 53,135, 34, 58, 58, 26,229,229,229, 69,182, 97,192,202,202,146, +193,131, 7, 87,243,219, 40, 46, 46, 46,169,197,179, 66, 32, 15, 71, 44, 33,168,212,100,227,103, 54,204,222, 17,240, 22,120, 10, +142,188,254,101, 43, 31,175, 32, 33, 14,173,122,128, 35, 95,230,236,212, 21,224, 67,171, 79, 16,227,106,166, 59, 26, 54,206, 45, +200,198, 27, 31,142,198,164, 53,209, 96, 69, 28,239, 78,123,144,146,242, 82, 67, 89,105,146, 35, 17,199, 48, 12,204, 70, 51, 52, + 58, 29, 84, 74,141,205, 58, 84,148, 87,232, 51,119,214,187,130,229, 51, 94, 5, 0,204, 90,177, 6,202,117,191, 85,100,187,103, +141, 11, 26,253,217,214,120, 0, 35,235, 10,167, 74,165,130, 78,167, 67,211,166, 77,145,146,146, 2,165, 82,137, 33, 67,134,128, +162, 40,219, 12, 81, 55, 96,200,205,205,237, 25, 27, 27,251,203, 23, 95,124,209,180,117,235,214,148, 90,173,134, 70,163,129,253, +254,218,181,107,100,243,230,205,247, 53, 26,205,179, 86,211,185, 67, 28,206,253, 38, 35, 38,236,181, 29,199, 47,243, 98,131,162, +110,123,229,150, 53, 53,151,228,138,213,149,218, 91, 58, 11, 73, 3,177, 0, 22, 48, 32,102, 6, 22,235,176,151, 11, 53, 39, 76, + 38, 51, 44, 22, 6, 15, 31, 62, 68,122, 90, 26,218,181,109, 9,157,222, 12, 33, 95,128,153, 55,110,160,213,120,192, 32, 20,128, + 97, 24, 80, 20,141,169, 83,167, 26,173, 67, 6,181, 66, 42,149,174, 62,115,230,140,191, 78,167, 67,106,106, 42, 38, 78,156,104, + 40, 46, 46, 22, 1,192,203, 47,191,108,216,184,113,163, 40, 42, 42, 10, 27, 54,108, 8, 28, 51,102,204,118,181, 90,221,214,197, + 52,221,148,159,159,191,169,230, 73,127,127,255, 85, 15, 31, 62,236,103,239,243, 99, 54,155,109,193,113, 24,117, 6, 48,153, 76, +208,106,245,168,168, 80,194, 96, 52, 89,235, 76, 6, 22,139,217,186,103, 96,182,214,163, 34, 33,223,179, 83,219, 16, 21, 33, 4, + 52, 69,149,167, 94, 47,104, 88,151,104,119, 52,196,229,162, 53,171, 38, 44,236, 44, 51,127,127,127, 8, 4, 2,108,218,180, 9, + 87,207, 30,134,136, 71, 96, 49,155, 96, 54, 25, 97, 49, 25, 32,224,241,112,252,114, 38, 6,181,242,116, 73, 16, 6, 4, 4, 96, + 88,143, 30,136,237,209,163,106,122, 27,159, 15, 15,177, 24, 50,161,164,202,146, 5,128, 88,104, 87, 23, 17, 96,216,112, 6, 7, + 7,227,210,165, 75,152, 57,115, 38,150, 46, 93, 10,169, 84,106,155,253,124,243,230, 77,108,219,182, 13,131, 6, 13,114, 59,238, +172, 5, 47, 62, 62, 30,121,121,121, 88,177, 98, 5, 58,119,238, 12,129, 64,128,242,242,114, 60,251,236,179, 40, 44, 44,116,137, +211,126,120, 79, 36, 18, 85,179, 62,177, 2,208,221, 60,178,231,124,117, 84, 3,236, 59,187, 25, 20, 40,156,255,225,221,106,162, +240,191, 91, 79,187,205,185, 96,193,130,106,225,116,197,154,229,178, 31, 82,117,171,147,211,251, 40,138, 74,101,141,173,241,241, +241,243, 41,138,218, 31, 31, 31, 63, 63, 33, 33,225,134, 43,124,142,174, 83, 20,117,192, 42,194,134,217,157, 75,117, 75,104,201, +100,178,110, 30, 30, 30,184,123,247, 46,134, 12, 25, 98, 40, 41, 41,185, 45, 16, 8,154, 23, 23, 23,139,139,138,138,160,209,104, + 84, 31,127,252,113, 38, 0,105,247,238,221,163,142, 31, 63,142,236,236,108,108,220,184, 17, 0,118,215,230,167,195, 48,140,173, + 80,212,236,182,241,120, 60,156, 59,119, 14,231,206, 85,119,253, 90,191,126,189,211, 6, 99,204,158, 31,113,249,242,101,216, 47, + 15,192,254,182, 63, 39,145, 72,128,186,103,120, 84,131, 51,199,120,103, 14,240,174, 54,226,181, 85,128,174, 22,196,220,220,220, + 90,159, 63,119,238, 92, 53,139,150, 51, 78, 30,143, 7,139,197, 2,169, 84, 74, 9,133, 66, 74, 40, 20,134,179, 34,139,199,227, +217, 94, 24,177, 88, 12,177, 88, 92,173,151, 90, 27,242,242,242,250,231,229,229,213,122, 93,161, 80,244, 84, 40, 20, 46,197, 85, + 22,134,143,158, 29,219, 96, 30, 0,156,221,154,255,157,230, 33, 94, 7, 0,194,167,118,189,250,121,139,168,192, 72, 41,206,109, + 47,192,145, 47,115,246,232, 10,176,208, 58,164,203,184,154,230, 7,142,238,197,155, 83,167, 65,204,147,217,249,100,209, 40,231, +101, 99,250,198, 22, 96, 69, 92,234, 70, 3,246,111,253, 8, 41, 71,159, 55,213,101, 41, 51,154, 76,208,106, 12, 80,170,180,248, + 40,225,187,170,147, 31,225, 2,128, 11, 61,223,156,137,184,152, 65, 3,220, 29,166,102,211, 59, 40, 40, 8,167, 78,157, 2, 69, + 81,216,190,125, 59,188,189,189, 17, 19, 19, 3, 47, 47, 47,196,199,199,227,197, 23, 95,116,183, 50,171, 40, 41, 41,233,249,206, + 59,239,252,242,233,167,159, 54,106,216,176, 33, 12, 6, 3,140, 70, 35, 12, 6, 3, 50, 50, 50,176,121,243,230,108,141, 70,211, + 19, 64,133, 51,178,195,185,223,100,236, 74,158,149, 55,112,236, 24,237,205,194,159, 80, 80, 80, 2,179, 57, 23,140,197, 12,163, +217, 82,101,225, 51,155, 97, 54, 91, 32, 20,242,188, 62,253,228,221,163, 12, 8,104,154, 50, 0,120,190, 54,177, 17,209, 48, 8, + 94,158, 94,104,221,170, 9, 78, 28, 90, 15,131,209, 12,163, 65, 13,227,244, 24,164,103, 29,135,229,254, 49, 88, 24, 11,206,164, +164,233, 77, 22, 34,144, 74,229, 84,195, 6,158,188, 59,247,117, 14,195,233,227,227, 19,173, 80, 40,112,231,206, 29, 76,158, 60, +185,160,164,164, 36, 29,192,115, 0, 80, 82, 82,114,102,226,196,137,173,147,146,146, 66, 26, 55,110, 12, 15, 15, 15, 47,181, 90, +237, 44,234, 30, 0,226, 0, 12, 70,117, 7,252, 82, 0, 31,211, 52, 45, 78, 77, 77,125,100,166, 93,114,114, 50, 0, 92,112,220, + 3,178, 90,180,116, 58, 40, 74,202,240,250,155, 31,254,214, 51, 2,169, 38, 46, 8, 8,166,189, 5, 9, 0, 20, 23,102,224,213, +215,103,138,235, 84, 28, 12,227,176, 33,116,195, 71,167, 90, 71,141, 45,163, 30, 30, 30, 85,195,111,123, 55,227,192,103,111, 2, + 22, 35,136, 73, 11, 24, 53,128, 81, 5,198,160, 1, 37,148, 2, 38,173, 75, 66,203,195,195, 3, 30, 82, 41,130,124,124, 64, 8, + 1,159,199,131, 64,192, 7, 99, 2, 40, 11,101, 43, 35,140,197,165,178,110,235, 84, 74,165, 82,100,101,101, 33, 46, 46, 14, 70, +163, 17,163, 70,141,130,193, 96,128, 78,167,131, 86,171, 69,147, 38, 77,160,209,104, 92,226, 99,103, 43,122,120,120, 64, 40, 20, +226,221,119,223, 69,151, 46, 93,176,104,209, 34,204,153, 51, 7, 77,154, 52,193,180,105,211,176,121,243,102, 68, 71, 71, 59,227, + 37,246,121,196,166, 39, 43,182,236,135,248, 0,184,157, 71, 53, 57, 41,138,174, 38,216,216,237,237, 73,207,185,205,153,152,152, + 8,133, 66,241,136, 37,139,253, 29, 22, 22,134,175,190,250,170,190, 35, 67,172,245, 40,216,193,181, 97, 53, 45, 81,132,144,174, + 86,223, 41,125, 66, 66,194,141,132,132,132, 88,138,162,246, 39, 36, 36,196,214,102,209,114,196,227,224,186,194,213, 48,243,107, +140,141,246,179,191,200, 38,180,159,159, 31,175, 81,163, 70,180,151,151, 23,202,203,203, 17, 24, 24, 72, 20, 10,197, 88,153, 76, +182,112,203,150, 45, 81, 42,149, 10, 55,111,222,196,170, 85,171, 46, 0, 88, 89,151,208, 58, 24,104, 53, 29, 91, 45, 89,246,199, +195,135, 15, 71,227,198,141,171, 89,179,164, 82,105,157,133,135,189,102,107, 20,121, 60,180,104,209, 66,122,255,254,125,173, 80, + 40, 68,120,120,184,180,160,160, 64, 43, 20, 10,221,158,233,226,204, 49,222,153, 3,188, 35,225,211,181,107,215,106, 22, 44,251, +189,253,239,125,251,246, 57, 29, 58,100, 57, 91,183,110,109, 75, 47, 79, 79, 79,246, 89, 0,192,144, 33, 67,192, 48, 12, 2, 2, + 2, 92,226,100, 69,173,213, 1, 30, 58,157,142, 81, 42,149,116,106,106, 42, 68, 34, 17, 60, 61, 61,109,190, 58, 18,137,196,102, +205,252,189, 32, 16,209, 83,198,124, 80,101, 96,244,111, 40,126,117,239,178, 76, 80,192,229,161,111, 71,246,111,218,213, 27,149, + 69, 70,236,255, 60,235,129,174, 4, 9, 0,110,185, 99,201,210,209,149, 94,235,206,188,131, 14, 47,139,208, 64,215, 11,159, 46, +168, 42,202, 19,103,140,198,176,215,249, 96, 69, 28,125,167, 29,182,127, 55, 31,205,154, 53, 3, 33,132,170,189, 66, 96, 96, 48, +153,160,213,106,161, 82, 85,173,155,153,113,189,250, 8,163, 81, 95, 89,255,180,176, 86,176,165,165,165, 56,124,248, 48,126,250, +233, 39,116,233,210,197,161,168,118, 67,112, 41, 74, 75, 75,123,205,158, 61,251,252,226,197,139, 67,253,252,252, 96, 52, 26,241, +240,225, 67,124,251,237,183,121, 26,141,166,151, 59, 21, 12, 8, 96, 50,153,161,211,232, 81, 81,169,196,194, 79,190,175,181,232, + 1, 64,105,209, 45, 12, 31,241,162,168, 46,177,209, 48,204, 7,201,201,201, 24, 52,176, 23,134,141,156, 92,171,216,120,115, 70, + 53,177, 33,172,163, 35,240, 94,175, 94,189, 62, 81, 42,149,229, 26,141,230, 69, 0,203,237,251, 83, 37, 37, 37,189, 71,140, 24, +241,133,159,159, 95,231,162,162,162,249, 46,196, 58, 62, 43, 43,107,126, 68, 68, 68,181,147,122,189, 30, 17, 17, 17, 45,138,138, +138, 38,244,233,211,231,223, 0,252,236, 46,123, 2, 56, 2,224,171,218,202, 18, 59,116,168, 82,105,225,229,211, 0,185,153,167, +156, 6, 68,200,211,129, 48, 76,157,117, 8,219, 1,174,109,115, 50, 51,238,145,160,178,247,178, 13,246,243,255,154,132,231,227, + 18, 33, 19, 0, 75, 94,237,137, 38, 62, 0,164,126, 16,246,153, 11,202,199,154, 70,113, 63,186, 68, 62,103,237, 90, 92,182,214, +199,225,129,129,152, 61,118, 44,136, 9, 72, 73, 75,195,214,159,127,198,216,254,253, 33,147, 72, 92,238,176, 48, 12, 3,161, 80, +136,140,140, 12,164,164,164,160, 85,171, 86,184,123,247,110,181,101, 40, 8, 33,174,198,223, 22,119,177, 88, 12,129, 64,128,130, +130, 2,196,198,198, 66, 40,172, 26,198, 62,117,234, 20,102,207,158,141, 41, 83,166,160, 95,191,126, 72, 79, 79,119,137,147, 16, +242,200,108,197,154,195,185,238,230, 81, 77,206,154,237,126,125,242,157,229, 92,188,120,177,195, 9, 21,174,112, 58,210, 34, 14, +242, 46,213, 94, 12,177,150, 39,123, 97, 84,243, 24,128, 47,123, 46, 62, 62,126,190,171,207,217, 31,179, 22, 49,119,134, 48,109, + 66, 43, 54, 54,182, 90,204, 75, 75, 75,207,159, 63,127,190,141, 92, 46,199,173, 91,183, 68, 94, 94, 94,109,216, 10,157,166,105, +108,223,190,221,115,232,208,161, 71,151, 47, 95, 30,206, 48, 12, 10, 11, 11,241,254,251,239,171,204,102,243, 56, 0,230,218, 26, +112,103,150,169, 31,127,124,244,101,219,187,119,175, 75, 67, 32,172,144,226,243,249,240,245,245,213,106,181, 90,200,100, 50,248, +250,250,106, 53, 26, 13,228,114, 57, 59, 86, 76,227,183,153, 10,206,172, 79,206, 28,227,107, 58,192, 59, 69, 90, 90,154, 75,247, + 89,135, 90, 93, 42,229, 89, 89, 89,181, 86, 36,167, 78,157, 2, 99,173,104, 93,229,180,246,242, 8, 43,252,100, 50, 25,252,252, +252, 32, 22,139, 33,149, 74,171,137, 44,177, 88,236,244,197,113,182, 32,169, 68, 34,185, 40,151,203,125,216,235, 2,129, 0, 74, +165,178,188,180,180,180,219, 35, 22, 34, 13,115, 48,121, 99,222,148, 62, 19, 67,209,103, 98, 40, 0,188,122,105, 95,209, 43,189, + 95,174,114,254,220,185,248, 30, 81,230, 89, 18, 97, 66,154, 59, 34, 11, 0,136, 72, 47, 27,243, 65,135, 42,235,194,198,243,152, +187,248, 29,180,107,213, 1, 62,207,230,162,105,215, 80, 84, 22, 25,241,235, 22, 11, 86,254,231,125,180,110,221,218,169,192,100, + 64, 96, 54,154,161,213,234,160, 82,106,241,164, 97, 48, 24, 32, 22,139,177,121,243,102,244,236,217, 19,221,187,119,127, 68,100, +213,211, 60,159, 83, 90, 90,218,111,229,202,149, 23, 62,255,252,115, 95,149, 74,133,239,190,251,174, 66,165, 82,245, 3,144,227, + 86,154, 50, 4, 38,163, 17, 26,157, 30,106, 85, 85, 26,220,187,177,179,158, 61,217, 42,177,209,179, 91,115, 76,159,254, 38, 50, +239,103, 64, 85,126,247,177,197, 6,128,205, 5, 5, 5,155,235,184,126,207,108, 54,199,178,235,190,185,128,103, 34, 34, 34, 80, + 80, 80, 80,237,228,131, 7, 15, 96,177, 88,244,168, 90, 39,235, 53,123, 67, 50,106,153, 65,107,215,131,174,178,142,106,245, 80, +169,170,172, 32, 58,117,241, 19, 41, 71,172,216,168,205, 39,171, 62,101,136,162, 40,155,211,247,140, 25, 51,112,237,234, 85, 60, + 23, 90,137, 38, 33,158, 32,149,185, 16, 14,248, 15,126, 85, 72,177,252,139,131,110,115,111,179,115,129, 88,190,109,155,195,107, +247, 70,142,116, 43,238,183,111,223,134, 84, 42,133,197, 98,121,164,189,113, 55,254,246, 2,230,139, 47,190,192,236,217,179,241, +253,247,223,227,218,181,107,232,208,161, 3, 6, 14, 28,136,162,162, 34, 92,189,122, 21,122,189,222,229,112,218,251,205,221,190, +159,134, 99, 41,135,240, 32, 39, 19,121, 5,217,245,206,119,123,206,154, 66,107,215,177, 43,248,215,160, 78,245,226, 92,184,112, + 33,138,138,138,170, 89,178,236,235,165,218, 44, 90, 53,181, 72, 13, 20,215,240,133, 98,143, 13, 53, 68, 79,205,227,154,247, 3, + 64, 17, 0,158,147,231,106, 30, 23, 39, 36, 36,156,100, 45, 97, 86, 94,158, 51,255,172, 90,135, 14, 1, 36,142, 28, 57,114,196, +170, 85,171, 2, 37, 18,137,109, 6, 82,124,124, 60,102,207,158,141,166, 77,155, 34, 32, 32, 32,204,199,199, 7, 37, 37, 37, 88, +186,116, 41,178,178,178,254, 15, 14, 22,218,171, 41,180,122,223, 87, 66, 36,250,173,195,202, 90,182, 0, 96,202,148, 41,143, 88, +180,216, 12,170, 11, 38,147, 9,254,254,254,208,104, 52,224,241,120, 24, 53,106, 20,239,250,245,235,150,152,152, 24,140, 30, 61, +154,119,245,234, 85,203,176, 97,195,192,227,241, 48, 96,192,128,202, 93,187,118,205, 2,240,153, 11, 98,235,137, 57,198,179,133, +204,213,181,143, 92, 17,151,117,113, 82, 20, 5,141, 70, 3,190,117, 86,150,171,156,236,208,161,253, 11, 72,211, 52,124,124,124, +108,149, 7,107,209, 98,133,150, 51, 94,103, 11,146,202,100, 50,175, 91,183,110, 69,177, 19, 47,138,139,139, 49, 96,192,128, 59, +165,165,165,143,112,105,243, 49,127,207,146,204, 16, 0, 67, 88,177,213,117,100, 16, 69,243, 40, 92, 59, 82,130,171,135, 74, 47, +155, 42,209, 27,192, 90, 0,255, 5,176, 20,192, 92, 0,211,236,142, 31, 58,172, 32,117, 66,125,242,198, 60, 25,203,155,188,241, + 28,190,220,181, 23,239,110,173,114,220,223,245,201,125, 76,125,105, 33,218, 69,183,115,109, 45, 32, 6, 48,154, 45, 80,105,117, + 80,105, 53,120, 82, 96,223,135,117,235,214, 33, 61, 61, 29, 58,157, 14,171, 87,175,182, 77, 42,176, 23, 89,143, 33,184, 50,164, + 82, 41, 51,100,200, 16,156, 63,127, 30, 98,177,216,132,122,172,127,197, 16, 6, 70,179, 25, 58,173, 22, 42,231, 67,110, 78, 27, + 48,163,201, 4,134,177,160,107,135,112, 92,191,118, 13,114, 94, 49,254,132,176,169,234,244,244,116, 24, 12, 6, 44, 90,180,200, +242,203, 47,191,156, 68,213, 2,168,172, 5,111, 66,223,190,125, 63,150,203,229, 62, 7, 14, 28,120, 27,192,247,117,197,221,100, +182,138,246,199, 76,199,218, 70, 4, 28,249,100,213,103,201, 29,251,134,149, 97, 24,252,223, 27,111, 96, 96,104, 37, 70,119, 14, +132, 58,255, 14,100,222,129,160,124, 34,177,252,139,131,184,113,223,229, 69,137, 9, 0, 12,233, 59, 18,237, 91, 61,186, 60, 88, +175,231,170,250,100,103,142, 95, 68, 97,113,158,219,113, 87,171,213,181, 90,174,220,176,104,217,222, 57, 54,253, 58,118,236,136, +230,205,155,227,228,201,147,232,212,169, 19,238,222,189,139,187,119,239, 34, 43, 43, 11,215,174, 93, 67, 89, 89,153,219,121,180, +231,200, 86,148, 41, 75, 33, 18,138, 80, 90, 94,140, 7,185,153, 8,246, 15,121,236,124,103,209,114,216, 66, 0, 64,104,160,183, + 91, 66,203,158,115,217,178,101,143,136,247,122, 46,223,100,207,127,177,174, 99,119,159,255, 61, 81,155,208,202, 84, 40, 20,221, +199,142, 29, 27, 15,160,171,245, 92, 5,128,109, 71,143, 30, 29, 25, 20, 20,212,191, 71,143, 30,124,145, 72,132,148,148, 20,236, +218,181,235,123, 0, 91,235,250, 35,145, 72,164,141,140,140,148,178, 5,145,125, 17,189,188,188,120, 75,151, 46,165,214,175, 95, + 95,171,149,203, 89, 6, 85, 84, 84, 64,173, 86,195,219,219, 27, 70,163, 17, 67,134, 12,177,164,167,167, 67, 40, 20, 98,196,136, + 17,150,180,180, 52, 91, 70,255,239,127,255, 11,215,106,181,207,254,244,211, 79,131, 1,244,113, 35,173, 88,199,120, 15,184,232, + 0, 95, 91, 47,207, 21,184, 58, 28, 87, 27,231,204,153, 51,235,197, 41, 20, 10,205,236,202,239, 52, 77,195,104, 52,162, 83,167, + 78, 40, 42, 42,178,189, 52,114,185,220, 38,178, 92, 17, 90,206, 22, 36,229,243,249, 48, 24, 12,232,211,167, 15, 40,138,194,154, + 53,107,234, 10,107,145, 54, 15,111,236, 89,146,249, 63, 86,108, 73, 60,248,208, 41,205, 56,241,101, 25, 12, 37,240, 26, 51,102, +204,248,157, 59,119, 98,233,210,165,211,226,227,227,149, 47,188,240,194,180,237,219,183,219,142, 1,196, 59, 34,150, 18,239, 74, +205,249,230,178,100,220,129,157,136, 3, 43,226, 42,110,120, 34, 89,119, 6, 87, 83,175, 3, 0,214,174, 93, 11,212, 53, 20,203, + 48,148,135,135, 63, 66, 67, 91, 32, 48, 72, 7,198, 69,231, 17, 87, 49,103,206,156,106, 98,202,209,202,203,246, 67,140,245, 17, + 54,246,251,122,113, 0,182, 33, 47,181, 90,247,216, 66,139, 21, 27, 62, 94, 66,132,133, 53, 64, 69,129,253,176, 62, 5,118,170, + 82, 85,152, 73,189, 29,110, 89, 4, 5, 5,117, 47, 42, 42,218, 91,227,116, 41,128,143,235,232, 88,218, 50, 58, 59, 59, 27, 49, + 49, 49, 56,116,232, 16,111,247,238,221,207,237,219,183, 47,237,206,157, 59,217,157, 58,117,106, 56,117,234, 84,113,159, 62,125, + 80, 92, 92,140,206,157, 59,127,148,155,155, 91,135,208,178,166,163, 78, 15,181,250,201, 91, 71, 29, 89,179, 30,167, 97,100,211, +125,193,130,127, 99, 96,131,114,140,234,224,141,164,253,103, 49,161,163, 20, 48,136,221,230, 99,195,226, 23,218, 24,145,209,221, + 31,185, 46,246,170, 90,203, 53, 50,186, 59,232,236,187,110,199,221, 62,204, 53,203, 76,125,202,144,125,122,190,254,250,235,152, + 59,119, 46, 6, 15, 30,140,187,119,239, 34, 57, 57, 25,119,239,222,197,204,153, 51, 17, 29, 29,141, 14, 29, 58,184,197,185,239, +216, 14, 84,170, 42, 64, 83, 52, 74, 43, 74,160,211,107, 49,103,218,130,199,206,119, 91,227,127, 44,161,106,116,224,232,229,122, +115,126,240,193, 7, 40, 40, 40,168,102,201,122, 28,191,172,191, 58,234, 90, 45, 45, 19,192,255, 57, 24,174,240, 92,180,104,209, +160,128,128, 0, 80, 20,133, 47,190,248, 2,126,126,126, 61, 1,220, 48, 24, 12,197,106,181,122,182,157, 8, 25, 8,235, 90, 27, +133,133,133, 14,231,237,171,213,106,227,160, 65,131, 4, 13, 26, 52,168, 54,219, 80, 46,151,215,102,221,177,113,178,215,204,102, + 51,230,204,153,131, 37, 75,150,160, 81,163, 70, 24, 54,108, 24, 98, 99, 99, 65, 81, 20,134, 12, 25,130, 97,195,126, 27,202,245, +241,241, 17, 30, 58,116,168, 47, 77,211,105,118, 13, 72, 53, 78, 71, 96, 29,227, 77, 38,147,171, 14,240,213, 56,217,194, 54,115, +230, 76, 44, 89,178, 4,243,231,215,237,234, 81, 75, 35,254,212, 57, 75, 75, 75,171, 85,246, 50,153,108,205,232,209,163,249,217, +217,217,213,196,149,253,230,160, 34,170,198,233,108, 65, 82, 30,143,135,224,224, 96, 44, 94,188, 24,254,254,254, 8, 9, 9,113, +180,144,159, 61,103,158,189,216,122,246,165, 16,236, 93,150,137,231,187,141,197,237, 83, 43,245,110, 52, 16,213,194,105,177, 88, +178,222,121,125,110,208,138,245, 75,121,172,216, 98, 69,220,233,175, 85, 88,149,248, 45,250,244,238, 99, 51,179, 39, 39, 39,155, + 29, 88,121,108,156, 22,194,164,126,154,248,239, 94,223,109,220, 39, 16,139,128,115,201, 59, 81, 89, 86,125, 56, 73,111,252,109, + 42,181,168,211,115, 48, 92, 62,238, 82, 89, 98,197,244,194,133, 11,177,112,225,194, 58, 35,185,110,221, 58,167,156,174,138, 46, +119,210,211,106,210,162,100,114, 95, 72,228,161,104, 19,237, 11,134,152,221,173,163,108,156, 53,197, 70, 64,128, 63, 42, 10,170, +203, 58,202,150, 70,117,106, 96,103,113,255,229,226,197,139, 35,252,253,253,145,147,147, 19, 40, 16, 8, 70, 84, 51, 87,105,181, +136,140,140,108,161, 80, 40,158,117,198, 57,115,230, 76,253,135, 31,126, 40, 30, 55,110, 28, 70,143, 30,141,113,227,198,137,133, + 66, 97, 51, 66, 8,140, 70, 35,114,114,114,112,252,248,113, 40, 20,138,155,117,133,147, 33,132,146,202,124, 32,145, 55, 64,155, +182, 62, 96, 24,115,125,235,124,135,117, 72, 77,107,150,155, 34,203, 97,249, 4,128, 95,142,239,197,130,119,219,226,251, 3, 23, +176,234, 34,208,222,167, 8,109, 2, 21, 96, 20, 55,241,254,132, 46, 88,254,195,165,170,119,233,148,211, 60, 34,117,149, 65,157, +214,248, 88,113,183,183, 92,217,255,143, 11, 62, 90,143,112,178,157, 68,165, 82,137,242,242,114, 36, 37, 37,225,213, 87, 95, 69, + 81, 81, 17,178,178,178,112,231,206, 29,108,217,178, 5, 50,153,172, 94,121, 52,235,141, 15,240,225,242,247, 64, 64,208, 50,170, + 13,226,227, 22,162,107,251, 30,143,157,239, 53,225,130, 53,171, 86,206, 21, 43, 86,212,183, 44,253,227,132,150, 67, 4, 4, 4, +140,235,219,183, 47,116, 58, 29, 2, 3, 3,145,149,149, 5,154,166,155, 2, 85, 67,120, 97, 97, 97,219, 20, 10, 69, 83, 87,249, +120, 60, 30,204,102,179,205,247,135,221, 0, 96,248,240,225,248,241,199, 31,157,246, 40, 66, 66, 66,208,176, 97, 67,188,243,206, + 59,143,204,114,176,159,233, 32,149, 74,113,224,192,129,130,210,210,210, 82, 66,136,194,157,120,179,142,241,103,206,156,113,217, + 1,222, 30, 70,163, 49,251,206,157, 59, 13,214,173, 91,199,171,163,241,179,161,150, 70,252,169,115, 58,234,153, 18, 66,106, 21, + 89,174, 44, 35,224,108, 65, 82, 62,159,143,219,183,111, 99,193,130, 5,160, 40, 10, 59,119,186,228,195,147,167,205,195, 27,187, + 23,103, 46,221,147,144, 57,218, 84, 1,201, 73,245,202, 59, 0, 86,239,216,177,163, 3, 69, 81,236, 80,225,127,119,236,216,225, +105,127, 92,171,169,172,168, 40,230,197, 23, 95, 60, 74, 81, 84, 83,221,201, 10, 79, 0, 34, 86,196,229, 94,211,169, 94,158,240, +178,129,207,231, 91,126, 51, 88, 49, 89,133,133,133,207,215,198,119,253, 86,201,122,154,166,125,135, 63,223,171, 29, 40, 10, 70, +195,163, 35,213, 30,101, 42,155,200, 26,253,217, 86,236,158, 53,214, 21,209,147,113,250,244,105,191,117,235,214,241, 93,201,247, +211,167, 79,155, 9, 33,110, 15,251,177, 13,142,209,104,132, 86, 91, 63, 43, 10, 33, 36, 37,225,147, 15, 7,109,216,116, 80, 64, + 81, 6,156, 59,181, 19, 21,229,142,221, 25, 68, 2, 62,214, 39,237, 50, 11, 5, 60,135, 78, 39, 79, 80,108, 56,195,151,163, 70, +141, 26,183,122,245,234, 54,142, 46,186, 48, 9, 38, 75,167,211, 33, 55, 55, 23, 26,141,102,199,188,121,243,140, 7, 15, 30,124, +109,204,152, 49,232,208,161, 3, 26, 52,104,128,252,252,124,100,100,100, 32, 41, 41,137,156, 61,123,118, 7,128,233, 78,210,113, +111,226, 39, 31, 78, 78,250,225,160,136,166,140, 56,151,188, 19, 21, 53, 68,251,163,214,105, 1,190,249,126,151, 81, 40, 20,220, +114,102, 45,178,183,102, 61,201,134,113,196,196, 56,140, 94,185, 10, 77,187,198, 32,113,233, 64,124,243,201,139,248,124,136, 16, +198,237, 19,208,254,133, 13,216,188,104, 40, 0, 32,244, 27, 23,173, 37,124, 33, 30, 58,176, 88,149, 87, 72,172,226,198, 61,171, + 41, 27,247,186, 44, 87,238, 90,180,104,154, 70,227,198,141,209,180,105, 83,244,236,217, 19,157, 58,117, 66,255,254,253,113,245, +234, 85, 92,189,122, 21, 51,103,206,172, 75,100, 57,205,163,126,207, 14,194,133,222,183, 30, 59,111,106,230,251,147,128, 43,101, + 41, 46, 46, 14, 0,254, 81,214, 45,183,133, 86,101,101,229, 85,134, 97,218,121,123,123,179, 22, 41,219,181, 7, 15, 30,128, 97, + 24,141,187, 25, 99, 48, 24,216,197, 49,171,173,203,196, 58,199,215,245,226, 19, 66, 44,165,165,165,232,219,183, 47,122,247,238, +109, 27, 62,177,223,236,132, 9,118,239,222, 13, 66, 72, 55,119,227,109,231, 24,175,130,155, 14,240,108, 35,222,167, 79,159,163, +124, 62,223,165,175,104, 58,107,196,159, 22,167,163,252, 97, 24,166, 86,145,229, 74, 69,228,108, 65, 82, 62,159, 15,185, 92,142, + 61,123,246, 32, 32, 32,192,157,224,229,233, 10, 48, 11,192,151,168,154,132,113, 23, 0, 59,141, 47,206,254,221,174,113, 92, 27, +212, 10,133,130,237, 26,134,238, 94,156,185,116,239,210,204,129,140, 30, 59,117, 10,252, 0, 40, 47,194,137,211,114, 77, 92, 77, + 87, 44,171,235,122, 95,127,209, 41, 0,129,163, 63,219,250,240, 84,137, 49, 98,244,103, 91, 31,236,158, 53,182, 81, 93,207, 20, + 20, 20, 12, 30, 59,118,236, 33, 87,243,221,108, 54,103, 22, 20, 20, 60,239,110,153, 37,132,224,214,173, 91,204,235,175,191, 94, +172, 80, 40, 94,172, 79, 5, 19,191, 96,213,231, 75, 62,154,225, 63,100, 80,247,174,160, 1, 67,237,206,191,132, 2, 8, 95,192, +203,158, 61,127,197, 27, 47,190,248,226,239, 42, 54,106, 86,115, 5, 5, 5, 61,255,245,175,127, 77,199,111,174, 19,213,132, 20, +106,153, 93,109,197,202,134, 13, 27,182,229,241,120, 98, 0, 11, 0, 60, 56,123,246,236,151,103,207,158, 29, 12,224, 25, 30,143, +215,192, 98,177,228, 90, 59, 61, 91, 1,252,234,188, 28, 21, 77, 5, 97,194,135, 12,124, 38, 6, 20, 69, 12, 6,189,147, 14, 18, + 8, 8, 33, 66,161,224,214, 47, 87,243,219,215,213,145,178,251, 2,199, 19,159, 65, 60,125,250,116, 76,159, 62,221, 86,158,214, +172,233,141, 29,215,207,224,133,246, 57,208,127,221, 11,148, 87, 35,151, 59,124, 0,240,193,191, 95,127, 98, 97,179,143,187,189, + 69,203,209,123,224,142,143, 22,143,199, 67,113,113, 49,110,223,190,141,194,194, 66,104, 52, 26,164,167,167,195,104, 52,162,172, +172, 12,109,219,182,173,119, 56,159, 84, 30,253,145,156,255,196,225, 67,183,133,150,209,104,252, 79,227,198,141, 5, 18,137,164, +141,197, 98, 1, 33, 4, 22,139,133, 88, 69,141,219,179,240, 4, 2,129,174,121,243,230,148,163,217, 9,236,111,185, 92,174,173, +195, 90,146, 16, 25, 25, 57,143,162, 40, 94,109,189, 16,246, 55,195, 48, 22, 62,159,159, 80,207,180,122, 92,199,120,251, 70,252, + 73,225,105,112,214,204, 31,117,171, 86,173,108, 95,180,175,185, 38,138,245, 99,171,106, 39,226,188,206, 5, 73,213,106,117,126, + 76, 76,140,197,254,186,253,130,166,206, 52,172,117,123,210, 96, 69, 92, 99, 59, 17,103,121,226,255, 66,145, 7, 67,199,189, 22, +113,170,196, 24, 1, 0,172,216, 2, 33, 15,234,120, 74, 91, 80, 80,208,247,105, 87, 14,247,239,223, 55, 60,243,204, 51,155,148, + 74,101, 28,128,122,123,243,207,255,207,154,249, 79, 34, 60, 79, 75,108,212, 86,108, 1, 44,169,103, 80, 31,148,148,148, 12,168, +113,238, 87, 86, 80,177,235,218,185, 29,255,155,197,207, 63,233, 60, 54,155,205, 57, 77,155, 54,117,203,114, 99, 50,153,114,156, + 93,175,185, 70,152, 61,110,192, 27,243,207, 3, 85,147,191, 75, 92,226,212,233,116,165, 61,122,244, 16,184, 25,183, 34, 87,227, +222,160, 65, 3,132,134,134,218,246, 44,106,158,119, 22, 78,179,217,156, 19, 30, 30,142,128,128,128, 90, 87,124,175,233,147,229, + 10,231,147,206,163,186, 56, 67, 67, 55, 60,113,206,250,134,147,131,107, 24,200,113,114,156, 28,231, 95,150,147,199,165, 39,199, +201,113,114,156,191, 35,231,223, 18,156,151, 26, 7, 14, 28,106,131,133, 75, 2, 14, 28, 56,112,120, 60, 80,117,168,210, 99,110, +240,212, 71,217, 30,227, 56, 57, 78,142,147,227,228, 56, 57, 78,142,243, 31,199,233,140,251, 24, 56, 60, 85, 1,198,113,114,156, + 28, 39,199,201,113,114,156, 28,231, 63,143,243,111, 9,110,232,144, 3, 7, 14, 28, 56,112,224,192,129, 19, 90, 28, 56,112,224, +192,129, 3, 7, 14,156,208,226,192,129, 3, 7, 14, 28, 56,112,224,192, 9, 45, 14, 28, 56,112,224,192,129, 3, 7, 78,104,113, +224,192,129, 3, 7, 14, 28, 56,112,224,192,129, 3, 7, 14, 28, 56,112,224, 80, 5, 10, 0,246,239,223,111,251, 32, 96,108,108, + 44,197, 37, 11, 7, 14, 28, 56,112,224,192,225,247,196,223, 90,139,216, 71,142, 3, 7, 14, 28, 56,112,224,192,129,211, 34, 79, + 6, 52, 39,182, 56,112,224,192,129, 3, 7, 14,156,216,226, 34,198,129, 3, 7, 14, 28, 56,112,224, 68,214, 95, 10,213, 44, 90, +156,224,226,192,129, 3, 7, 14, 28, 56,252,145, 98,235, 47,170, 69,136,117,179, 63,230,192,129, 3, 7, 14, 28, 56,112,224,240, +152, 2,171,174, 61, 7, 14, 28, 56,112,224,192,129, 3,135, 39, 36,184,216,223,191,155,208,226,190,108,206,113,114,156, 28, 39, +199,201,113,114,156, 28,231, 63, 22,124, 46, 9, 56,112,224,192,129, 3, 7, 14, 28, 30, 27,246, 86, 44,138, 19, 90, 28, 56,112, +224,192,129, 3, 7, 14, 79, 78,100, 81,142,142,185,111, 29,114,224,192,129, 3, 7, 14, 28, 56, 60, 37,112, 22, 45, 14, 28, 56, +112,224,192,129, 3,135,199, 3, 5,110,232,144, 3, 7, 14, 28, 56,112,224,192,225,169,138, 45,135, 39,107,155, 57,112,204, 13, +242,250,204, 62, 56,198,113,114,156, 28, 39,199,201,113,114,156, 28,231, 63,142,211, 25,247, 49,252,245,208, 23,192, 73, 0,253, +172,251, 90,133,215,147, 6, 55,245,149,227,228, 56, 57, 78,142,147,227,228, 56, 57,206,191, 59,106, 93,168,148,115,134,231,224, + 12,124,212, 61,196,236,236, 58, 7, 14, 28, 56,112,224,240, 79, 19, 91,196,190,145,116,132,102, 0,230, 3,240,182, 59,119, 17, + 64, 66,141,251,126, 0, 32,179, 59, 86, 3, 88, 4,224,174,211,208, 16, 34,180,242,139,173, 27, 3, 64, 7, 64, 15, 64, 73, 81, +148,137,203,179, 63, 28, 61, 0,196, 90,127,239, 7,112,206,205,235,127, 43, 52,104,208, 64,234,235,235, 59,248,242,229,203,162, +244,244,116,156, 62,125,154,172, 95,191,222, 88, 86, 86,118, 36, 63, 63, 95,203, 21,151,191, 5, 98, 0,196, 91,127, 39, 2, 56, +252,152,124,148, 76, 38,155, 41,151,203,135,138,197,226, 80,179,217, 76,105, 52,154, 60,181, 90,125,212,108, 54,127,102,173,247, +220,197, 72, 63, 63,191,215, 90,182,108,217, 44, 43, 43, 43, 55, 47, 47,239, 7, 0,219, 1,188, 24, 26, 26, 58, 33, 50, 50, 50, +236,214,173, 91,119, 75, 75, 75,191, 1,176,247, 15, 12, 39, 7, 14,255, 36, 80,117, 89, 35, 28, 97, 1, 33,100, 66, 53, 6,234, + 81,142, 1, 3, 6,140, 56,114,228,136,140, 97, 24,176,155, 84, 42, 53, 3,120,197,137,200,242, 79, 73, 73,137,136,139,139, 27, +157,151,151,215, 69,169, 84,118, 3, 0,153, 76,118, 33, 40, 40,232,151,149, 43, 87,110, 33,132,228, 80, 20,165,116, 51,162,124, +129, 64,240,170,175,175,239, 80,179,217,220,137, 16, 2,129, 64,112,185,172,172,236,176,201,100,250, 6, 64,125,196,155,136,207, +231, 79, 23,139,197, 49,102,179,185, 29, 0,240,249,252,107,122,189,254,176,217,108,254, 18,128,161, 30,156, 18,145, 72, 52,221, +203,203,107,144,193, 96,104, 7, 0, 34,145,232, 90,101,101,229, 81,131,193,240,165, 85,112,254,209,224, 3,136, 37,132, 8, 0, +128,199,227,141,236,214,173, 91, 4, 69, 81, 12, 69, 81,132, 16, 66, 93,184,112,161,163,197, 98,161,173,229, 35, 22,192, 47, 0, +204,127,197, 55, 36, 32, 32, 96, 9,195, 48,161,117,102,154, 68,210,229,242,229,203, 45,183,109,219,102,249,250,235,175,203,167, + 76,153,226, 17, 23, 23,199, 95,179,102,205,151,249,249,249,111,215,188,223,223,223,255,115,154,166, 3, 92,249,127,134, 97,138, + 75, 74, 74,222,251,163,226, 63,121,178,174,154,185, 59, 41, 73, 18, 5, 32,167,158,229,251,233,113,234, 38, 19, 0, 72,146, 36, + 69, 77,214, 77,206, 96,127, 63, 46,175, 29,226,191, 58,166,236, 67, 8, 48,125,144, 39,253,184, 66, 43, 44, 44, 44,105,242,228, +201,227,218,181,107,199, 39,132,192,100, 50, 65,175,215,183, 60,119,238, 92,191,157, 59,119,118, 81, 42,149, 47,186, 73,249,198, +220,185,115, 23,127,252,241,199, 1, 2,129,128, 50,153, 76, 81,219,182,109,235, 52,117,234,212,119,214,173, 91,215,240,165,151, + 94,242,100,207, 47, 88,176,160,107, 98, 98, 98, 19, 0,159,253, 1,225,228,192,225,159,134,190,168,238,163,245, 17,128,133,117, + 9, 45,185,181,241, 44,180, 90,178, 96,183,183,225,196,137, 19,251,248,124, 62,107,209,234,166, 86,171,131,107, 88,193, 28,137, +172,200,137, 19, 39,246,216,177, 99,199,146,151, 94,122,169, 64, 38,147, 53, 31, 51,102,140,146,162, 40,222,182,109,219, 58, 54, +109,218, 84, 58,124,248,240,137, 3, 6, 12,152, 69, 8, 57, 77, 81,148,194,197, 72,182,241,243,243,219,181,108,217,178,136,152, +152, 24, 97, 64, 64, 0, 8, 33,200,203,203, 11, 59,112,224,192,144,143, 62,250,104, 86,105,105,233, 40, 0,105,110, 36, 92, 87, +169, 84,186,227,163,143, 62,106, 48,100,200, 16,126, 72, 72, 8,116, 58, 29,210,211,211, 7, 30, 62,124,184,207,186,117,235,222, +214,106,181, 47, 88, 5,134,171,232,230,237,237,189,243,187,185,115,131,187,191,250, 42,223,207,207, 15,132, 16, 40, 20,138,129, +103, 54,108,232, 55,109,217,178,183, 43, 42, 42,254,229, 40,189,255, 72,136, 68, 34,122,227,198,141, 29, 68, 34, 17, 0,192, 96, + 48, 32, 58, 58,154,250,187,188, 33, 20, 69,133,231,229,229,121, 11,133, 66,135,215, 45, 22, 11,250,244,233,211, 88, 40, 20,226, +179,207, 62, 51, 21, 23, 23,119, 92,189,122,245,229,205,155, 55, 7,124,249,229,151, 47, 0,120, 68,104,209, 52, 29,144,147,147, +227,144,211, 98,177,192,104, 52,194,108, 54,195, 96, 48,160,117,235,214,127,104,252,147,146, 36,225, 0,222,155, 60, 89,247,174, +245,212,103, 0,102, 1,184,143,122,126,179,235, 41,112,218,151,183,207,237,126, 63,118, 88,237, 16, 1, 0, 7,175,234, 0,192, +239,113,211, 85, 46,151,183, 26, 63,126, 60, 95,161, 80, 64, 32, 16,192,104, 52,162,160,160, 0,209,209,209,188, 77,155, 54,181, +112,151, 47, 42, 42,106, 74, 98, 98, 98,224,193,131, 7,141, 27, 55,110, 52, 12, 26, 52, 72, 48,101,202, 20,175, 62,125,250,180, + 14, 15, 15,167,191,253,246, 91,253,209,163, 71, 77, 19, 39, 78, 20, 37, 36, 36, 4, 30, 56,112, 96,120, 90, 90,218,103,191,119, + 56, 57,112,248, 7,226, 36,126, 91,226,129,221,215, 41,180, 96, 39,174, 70, 2,128, 64, 32,232, 24, 28, 28,156,100, 54,155, 67, +172, 86,157,130,194,194,194,207, 76, 38,211, 21,235,189,123, 25,134, 25,225,204,146, 53,113,226,196, 30,135, 14, 29, 90,126,238, +220,185,138,146,146,146,144,125,251,246,233,102,205,154,149, 5, 0,247,239,223,111, 50,124,248,240,176, 25, 51,102,228, 12, 30, + 60,120,101,255,254,253,223, 34,132, 28,165, 40, 74,237, 76,100, 69, 71, 71,167, 36, 39, 39,123,250,248,248, 84,187, 16, 25, 25, +137,183,222,122, 75, 56, 98,196,136,166,207, 61,247,220,217,140,140,140,222, 0,174,187, 34,136,154, 53,107,118,236,196,137, 19, + 30,190,190,190, 40, 47, 47, 71, 65, 65, 1, 52, 26, 13,188,188,188,240,210, 75, 47, 9,251,246,234,217,112,198,204,183,143,229, +228,230, 14,116, 81,108,117,235,217,166,205,177,205, 9, 9, 30,166,135, 15, 33,149, 74,161, 82,169, 0, 0,158,158,158,232,210, +184, 49,255,210,134, 13, 97, 19,230,204, 57,246,203,237,219, 3,255, 32,177, 37,182,238,245, 0,246,243,120,188,145, 34,145,136, + 30, 57,114, 36,142, 29, 59, 70,233,116, 58,190,213,186, 99, 30, 57,114, 36,164, 82, 41, 12, 6,135,200,170, 5, 0, 0, 32, 0, + 73, 68, 65, 84, 3,131,170,161, 67,243, 95,249, 45, 17,137, 68,200,200,200,168,118, 78,169, 84, 66,161, 80,160,164,164, 4,122, +189, 30,229,229,229, 96, 24,134,146, 74,165, 10,134, 97, 64,211,116, 77, 1, 80, 13, 66,161, 16,183,111,223,174,118,206,108, 54, + 67,173, 86, 67,175,215,195,104, 52, 66,169, 84, 74, 61, 61, 61,155, 5, 4, 4,228, 0,216, 91, 90, 90,250, 89, 97, 97,225,131, +223, 57,250,197,172, 32, 74, 74,146,220, 3, 32,250, 51,114,218, 89,178,194,172,199,191, 62,161,176,178,120,184,255,138,174,145, +213, 58,150,249, 4,248, 24, 0, 56,125,250, 52, 10, 11, 11, 81, 92, 92, 12,133, 66,129,240,240,112, 16, 66,220, 30,142,203,200, +200,248,170,109,219,182,212,141, 27, 55, 14, 3, 88,179,109,219,182, 87, 74, 75, 75,227,103,207,158,237,247,233,167,159,150,206, +153, 51, 39, 17,192,247,219,182,109,123,179, 85,171, 86, 67,111,222,188,185,238,143, 8, 39, 7, 14, 79, 26,132,144,174, 0, 2, +217,186,197, 90,239,250,219, 29, 95,165, 40,202, 96,119,159,193, 90, 55,212,220,179, 96,143, 21, 20, 69,253, 98,247,156,130,162, +168, 95,234, 27,204, 26,251,170, 78, 55, 0,236,223,191,159,176,155,163, 39,131,130,130,102, 14, 24, 48, 96,121,106,106,106,235, +252,252,124,223,252,252,124,223,212,212,212,214, 3, 6, 12, 88, 30, 20, 20, 52,211, 46, 33,106, 62,122,204,238,154, 48, 37, 37, + 37, 98,215,174, 93,137,199,142, 29,171,232,216,177,163,225,196,137, 19,230,193,131, 7, 23, 89, 27,104,243,224,193,131,139,126, +254,249,103, 75,247,238,221,165,135, 14, 29,202, 62,123,246,236,231, 59,118,236, 8, 38,132,240, 28,113, 90, 33,240,241,241,217, +115,234,212,169, 71, 68,150, 61, 26, 54,108,136,253,251,247,123,249,248,248,236, 5, 32,172, 45,156, 86, 72, 36, 18,201,206,159, +127,254,217,195,211,211, 19, 69, 69, 69, 16, 8, 4, 8, 10, 10, 66, 69, 69, 5, 10,242,243,241,224,206, 29,208, 6, 3,190,248, +228, 99, 79,169, 84,186,195, 65,101,255, 8,167,183,183,247,206,205, 75,150,120,148, 28, 59,134, 95, 23, 47,134,209,104,180, 13, +185, 26,141, 70,156,141,139,131,226,248,113,124,187, 96,129,135,183,183,247, 78, 0, 18, 39,156, 79, 2,246,156,113, 0, 74,173, + 91, 28,128,115,209,209,209,169,233,233,233,232,221,187, 55,182,111,223,222,126,246,236,217,113,179,103,207,142,219,190,125,123, +251,222,189,123, 35, 61, 61, 29,209,209,209,169,168,238,159,245,180,195,249,212, 56, 45, 22, 75,181,141, 97,126,107, 99, 66, 67, + 67,139,118,237,218,133,151, 94,122,137, 22,137, 68,249, 99,199,142, 21,159, 57,115,134, 88, 69,166,203,225,212,233,116,208,106, +181, 80,171,213,184,127,255,190,116,217,178,101,189, 22, 46, 92, 24,117,236,216,177,176,249,243,231, 79, 11, 12, 12,188, 28, 28, + 28, 28,241, 59,199,221, 88,227,247, 23, 0,114,221,180, 16, 61,109, 78, 98,125, 30,147,117,147, 59,216, 85,176,238,242,214,149, +158, 5,214,176,170, 1, 60,120,156,178, 52, 96,192,128,182, 81, 81, 81,193,219,110,248,162, 76,216, 18,140,208, 7,140,208, 7, + 22,255,174,200, 16, 61,143, 70,141, 26, 5,123,120,120,244,112, 51,156, 27,111,220,184,241,140,181,167, 92, 2, 96,249,156, 57, +115, 62,162, 40,234,244,156, 57,115, 62, 6,176,220,122,126,241,205,155, 55,187, 3,216,252, 7,133,243, 47,241,190,115,156,127, + 46, 78, 39, 90, 36,144,162,168,253, 20, 69,237,159, 55,111, 94,127, 0,254, 53,142,159,181,191, 15,128,200,209,158,221,236,206, + 7, 18, 66,134,217, 61, 23, 88,207,224, 83, 14,182,223,132, 22, 0,196,198,198, 82,177,177,177,236,133,139, 20, 69,237, 3,112, + 81, 32, 16,116,236,208,161,195,200,159,126,250,201, 51, 48,240,183,255, 15, 12, 12,196,142, 29, 59, 60,219,180,105, 51, 82, 32, + 16,116, 4,112,209,203,203,107, 95, 29, 86, 24,159,184,184,184,209,147, 38, 77,170,236,216,177, 35, 0,148,167,165,165,201,186, +119,239,174, 54,155,205,148,217,108,166,186,119,239,174, 78, 75, 75,147,153, 76, 38,101,215,174, 93,229,207, 61,247, 92,214,123, +239,189, 55,209,129,224,176,199,248,165, 75,151,134,251,250,250,214,165,132,161, 84, 42, 17, 28, 28,140,184,184,184, 16,129, 64, +240, 90, 93,169,197,231,243,167, 47, 93,186, 52,200,199,199, 7,101,101,101, 8, 15, 15,135,193, 96,192,237,219,183,161, 83,171, + 96, 82, 86,194, 84, 89, 14,197,189,187,240, 17,240, 49,113, 68,108, 48,159,207,159,238,196, 90, 50,253,155, 57,115,130, 13, 89, + 89,184,191,125, 59, 44,230, 71,141, 63,102,163, 17,215,254,247, 63,232,114,114,144,248,250,235,193, 34,145,104,250,239,108,201, +250,148, 16, 34, 37,132, 72, 41,138, 90,217,163, 71,143, 77, 82,169, 52, 46, 33, 33, 33,230,200,145, 35, 67,146,147,147,251,153, +205,102,129,217,108, 22,156, 62,125,186,183, 78,167,227,139,197, 98,240,249,124,130,191, 41, 4, 2, 1,132, 66, 33,164, 82, 41, +122,245,234,117,111,253,250,245,166,240,240,112,193,206,157, 59,125, 67, 67, 67,229,107,214,172, 41, 87, 42,149, 75, 93,229, 51, + 26,141,208,235,245,208,106,181,208,233,116, 56,113,226, 68,227, 25, 51,102,240,117, 58,157,101,248,240,225,165, 38,147, 73, 63, +103,206, 28, 47, 63, 63,191, 89,191,103, 60, 39, 79,214, 49, 86,203,211, 77,171,104,201,196, 99,250, 60, 61, 13, 78, 0, 6,171, + 79, 22,139, 0, 43,183,225, 9, 37,133, 25,128,202, 42,180,244, 53,222,143,118,118, 22, 95,167, 40, 47, 47, 95,247,205, 55,223, +132,211, 98, 31,156, 49, 12,197, 22,230, 35, 28,241, 94,131,162,136,247, 17, 20, 30,133,113,227,198, 5, 17, 66,214, 60,129, 48, +175, 6,208, 7,192,202,250, 60,252, 59,132, 51, 66, 46,151,111,247,244,244, 60, 35,151,203,183,195, 58, 60,251, 56, 24, 20,133, +129, 35, 90,209, 57,131,154,130,140,104, 69,231, 12,138,226,150, 26,248,187,160,134, 22,177,135,130, 16, 18, 75, 8,137, 77, 76, + 76, 92, 98,215,190,179,199, 82, 23, 45, 99,177,132,144,216,106, 10,169, 74, 96, 61,182,209,205,193, 86,165, 41,236,149,164, 93, +228,108,179, 11,131,131,131,147,146,146,146, 60,107, 50,230,231,231,163,178,178, 18, 31,126,248,161,231,164, 73,147,222,206,201, +201,153,236, 36, 16,162,130,130,130, 78, 19, 38, 76,144, 24,141,198, 50,134, 97,232,202,202, 74,190,183,183,183,133,189,193,219, +219,219, 82, 81, 81, 33, 80,171,213, 60,139,197,162,159, 52,105,146,232,245,215, 95,239, 2,128, 87, 27,105, 96, 96,224,160,161, + 67,135,214, 58,116, 96, 50,153,160, 86,171,161, 86,171, 97, 52, 26,209,171, 87, 47,241,250,245,235, 7, 23, 21, 21,253,183, 86, +197, 33, 22, 15, 26, 52,104,144,160,180,180, 20,222,222,222,120,240,224, 1, 50, 51, 51,161, 87,169, 96, 84, 85,194,168, 82,194, +172,172, 4,169,172, 64,201,221, 91,232,222,170,165,240, 7,177, 56, 70,173, 86,127, 94, 27,167,151,151,215,160,238,175,188,194, +151,203,229,232, 55,161,106,158,193,161, 86,173, 64, 44, 22, 48, 22, 11, 44,102, 51, 98,110,223,134,201,100, 2, 77,211,232, 90, + 90,202,247,218,176, 97,144, 66,161, 88,254, 71, 20,118,177, 88,204,223,184,113,227,120,145, 72, 4, 66, 8,101, 48, 24,112,228, +200,145,127,220, 75, 47, 18,137, 32,145, 72, 96, 52, 26, 17, 25, 25,169,157, 48, 97, 66,202, 39,159,124,210,136,166,105,185, 80, + 40,252,169,164,164,100, 73,126,126,254,125, 87,249, 76, 38, 19, 12, 6, 3, 12, 6, 3,180, 90, 45,238,221,187, 23,210,184,113, + 99, 42, 46, 46,206,162,209,104,154,172, 90,181, 42,227,200,145, 35,178,165, 75,151,142, 1,240,214,239, 29,223,201,147,117,173, + 0,180, 74, 74,146, 8,173,150, 95,195,159,140,147,160,202,241, 29, 73,146,164,116, 0,138, 39, 40,178, 68, 0,188, 27,249,243, +213, 2, 30, 84, 0, 60,173,162, 96, 12, 69, 81,221, 91,183,110,237,155,158,158, 94, 70, 8, 57, 15, 96, 11,128,252,186,200, 24, +134,161, 24,134,193,212,110,229,136,235,193,131,201, 84,129,138,138, 10, 60,120,240, 0,105,105,105,184,112, 33,173,190,239,230, +107, 30, 30, 30,131, 37, 18, 73,164,217,108,166, 85, 42,213, 3,141, 70,115,140, 97,152,117,168,135,143,218,211, 10, 39, 11,185, + 92,190,108,254,252,249, 61,189,189,189,113,229,202,149, 38, 91,183,110, 93,166, 86,171, 31,203,185, 94, 34,160,191,253,124,197, +154,176,176, 32, 31, 92, 77,254, 49,108,201,218,109,223, 2, 76, 56, 39, 83,254,250,168,161, 69,236,197,208, 47,132,144, 97, 20, + 69,237,175, 41,148,220, 50, 59, 61,230,243, 78, 44, 90, 53, 63, 44, 93, 93,104,213,162, 32, 97, 54,155, 67,236, 45, 89,132, 16, +228,231,231, 35, 55, 55, 23, 10,133, 2,190,190,190, 48, 26,141, 33,174,212, 15, 74,165,178,155,191,191,191, 70, 32, 16,232,181, + 90, 45,100, 50, 25, 35, 16, 8,136,245,127, 40,235,172, 69,139, 94,175,167,248,124,190,201,211,211,211, 67,175,215,183, 68, 29, +190,100,132,144,110,254,254,254, 14,175,233,245,122,168, 84, 42,168,213,106,168, 84, 42,232,245,122, 4, 7, 7,195,108, 54,119, +170,179, 75,107, 54,183, 11, 12, 12, 68, 94, 94, 30,164, 82, 41,114,114,114, 96, 80, 41, 97, 84, 42, 97, 86, 87,194, 82, 81, 1, +166,178, 18,140,186, 18, 38,131, 6, 97,205, 91,129,157,145, 88,107, 55,220, 96,104,231,239,239, 15,181,250, 55,119, 51, 98, 21, + 88,102,179, 25,102,171,115, 52, 59,156, 24, 16, 16, 0,118, 70,226,239, 4, 61,128,217, 52, 77,175, 20,139,197,252,105,211,166, + 33, 63, 63,191, 90,153,152, 54,109,154,205, 39,171, 79,159, 62,167, 37, 18,137, 89,161, 80, 64,175,215, 11,254,174, 47, 61, 69, + 81,160, 40,170, 42,143,204,102, 4, 4, 4,168,139,139,139, 47,148,151,151,143,175, 15,159,201,100, 98,103,116, 65,171,213,130, + 16,130, 43, 87,174, 64, 34,145, 8, 44, 22,203, 13,179,217, 44, 19, 8, 4,160,173,206, 95,191, 23,172, 51, 2, 63, 3, 16,110, +181, 16,189,134, 42,135,243, 92, 7, 21,137, 75, 73,231, 34,167,251,194, 77, 55,153,181, 52,229,162,126,195,145,142,208,175,165, +143,232,243,132,238, 65, 62, 29,134,203,213, 50, 17, 79,205, 60,232, 16,249,221,167,105, 91, 39, 77,124,205,115,209,162, 69, 17, + 1, 1, 1,146,140,140, 12,221,199, 31,127,220,120,227,198,141, 20,170,134,233,106,197,195,135, 15,119,207,159, 63,223,111,232, +208,161, 77,196, 98, 49, 85, 81, 81, 1,133, 66,129,194,194, 66,100,102,102,146,171, 87,175,222,211,235,245,219,221, 9,100,131, + 6, 13,214,143, 31, 63,126, 82,231,206,157, 5,172,133, 84,173, 86,119, 60,117,234,212,136, 67,135, 14,245, 86,171,213,110,151, +203,236,236,236,237, 31,124,240,129,252,249,231,159,111, 41, 22,139,233, 39, 17, 78,123,208, 52, 29,236,225,225,129, 99,199,142, +193,199,199, 7, 52, 77, 7, 63,110,121,213, 25,153,176,208, 16,127,232,206,126,142,150,129, 17,208, 25,153, 48, 78,162,252,125, + 44, 90,181,180,245, 93, 89,139,148, 19,177,164,141,143,143,159, 79, 81,212,254,248,248,248,249,142, 44, 90,214,159, 22,251,251, +236,238,215, 63,105,177,229,214, 66,147, 12,195, 32, 55, 55, 23,121,121,121,200,205,205, 69, 73, 73, 9,104,154, 6, 33,196,149, +217,103,132,162, 40,230,232,209,163,190, 41, 41, 41,234,174, 93,187,150,179,254, 47,102,179,153, 50,153, 76,148,213, 47,134,122, +240,224,129,240,204,153, 51, 62, 55,111,222, 12,182,246, 86, 25, 39,166,192, 71,206,177, 2,203,126,211,233,116,144, 72, 36,174, +169, 14,107, 67,120, 37, 53,181, 74,100,169,148,214, 33,195, 10, 88, 42, 43, 64,212, 74,136, 44, 38,136, 64, 64,233, 52, 46,167, +159, 61, 88,145,101,180, 10, 45,131,193, 0,147,201, 4,134, 97, 96, 54,255, 33,126,229, 95,181,111,223,190,211,238,221,187,167, +228,230, 62,218, 22,142, 26, 53, 10,111,189,245, 22,102,204,152,113,115,216,176, 97, 87,127,252,241, 71, 76,159, 62, 29, 12,195, +116, 0, 80, 1,224,208,223,237,165,215,235,245, 54, 11,148, 78,167,131,209,104, 4,220,248,172, 66,205,178,201,230,173,217,108, +102,185,169,221,187,119,225,244,233,211,116, 90,218,141,240,105,211,226, 88,135,251,223, 59,170, 57,168,154,185, 39,178, 86, 20, + 6, 84,249, 63,213,182,164, 66, 83,212, 61,100, 71,234,226,124, 28,180, 95,219,254,165,119,223,125,119, 16,170,102, 56,223,127, + 76,139,214,243, 34,154,250,122,102, 59, 63,201,172,246,254,106, 17,159, 82,221,254,122,190, 42,179,145,151, 58,184,161,204, 16, +222,216, 39,116,201,146, 79, 26,220,188,121, 75,255,225,135, 31,166,143, 29, 59, 54,104,214,172, 89,173,119,238,220,217, 91,167, +211,125, 3,160,188, 54,163,203,136, 17, 35,206, 7, 5, 5, 53, 94,187,118,109, 81,118,118,182,175,201,100,146, 27,141, 70, 70, +173, 86,103,106,181,218, 99, 70,163,241, 24,128, 84,119, 2,235,233,233,217,254,149, 87, 94, 17,148,151,151,131,207,231,195,104, + 52,162,168,168, 8, 61,123,246,228,237,219,183,175, 77,125, 18,160,172,172,236,243,111,190,249,230,228,230,205,155, 7,123,121, +121,117, 22,139,197, 33, 0, 44, 74,165,178, 80,173, 86,255, 90,159,112, 86,171,231, 44,150,194,212,212,212,166, 94, 94, 94,120, +248,240, 33, 44, 22, 75,225,227,150, 1,137,144,206,190,150,188,175, 97,171,128,198, 56,147,114, 30, 18, 33,157,205, 45,245,245, +183, 7,235, 67, 5,123, 1,229, 64, 32,165, 36, 36, 36, 72, 19, 19, 19,145,144,144,112,195,145, 69,139, 21, 92, 9, 9, 9, 55, +216,251,236,238, 79,126,140, 48,214,110,209,170, 77, 65, 2, 85,179, 11, 21, 10,133,175,143,143,143, 77, 96,229,229,229, 33, 47, + 47, 15, 34,145, 8, 15, 30, 60,128, 72, 36,202,119,165, 19, 34,149, 74, 47,117,236,216,177,197,253,251,247,133, 31,127,252,113, +195,212,212, 84,175,158, 61,123,182,149, 74,165, 22, 66, 8,116, 58, 29,157,158,158,238,177,124,249,242,176,110,221,186, 25,186, +117,235,118,121,219,182,109, 90,212,177,254, 21, 69, 81, 23,243,243,243,155, 68, 70, 70,178,162,173,154,184,178, 23, 92, 64,213, +144, 39,159,207,191, 92, 87, 64,249,124,254,181,219,183,111, 15,148, 73,196, 48, 40, 43, 97, 84, 85,194,172, 84,194,162,172,128, +165,162, 2, 80, 87, 66,100, 54, 67, 96, 49, 65, 42,145, 32, 55, 39, 7,124, 62,255, 90, 93,156, 34,145,232, 90, 97, 97,225, 64, + 31, 31, 31, 91, 35,106, 50,155,171, 54,139, 5, 6,179,217,102,209, 18, 8, 4,200,206,206,134, 72, 36,186,246,123,151,100,154, +166, 45,236, 18, 14,181,196, 3,193,193,193, 76,247,238,221, 49,125,250,116, 88, 44, 22,107, 54, 80,253, 0,156, 65,149,127,203, + 95, 18,142,196, 45,235,180,174,213,106,161, 82,169, 80, 86, 86,198,151, 74,165, 45,194,194,194,206, 27, 12,134,237,102,179,249, +219,204,204,204,202,218, 56,173,194,204, 38,186, 24,134, 1, 33, 4, 22,139, 5, 38,147, 9, 66,161,144, 57,117, 42, 25,203,191, + 88,134,164,111, 55,146, 17, 35, 70, 80,251,246,237, 3,195, 48, 57,191,115,244, 13, 86,209, 82, 87,165, 81,115, 73,133,247, 81, +247,146, 10,181,113,218,247,254,236,207, 81, 14,238,121, 4,239,190,251,238, 97, 84, 13, 25, 22, 91,197,220,227,112,126, 86,190, +229, 19, 9,204, 22,181,254,212,102,213,166, 59,149,234, 69,155, 86, 92, 50,136,120,149, 93,250, 6,183,107,210,184, 5,207,199, +199,151,254,239,186,149, 37, 63,108,220,145,241,240,225,195,202, 47,191,252,178, 71,139, 22, 45,188,127,253,245,215,176,218,132, +150, 76, 38,107,246,218,107,175,189, 82, 86, 86, 38, 76, 74, 74,218,150,159,159,127, 9, 85, 75,203,216,207,160, 30, 6,224,123, +171, 16, 13,182,214,115,103, 0,124, 92, 87,127,141,162, 40,252,252,243,207,143,204, 14,100, 30, 79,157,251, 68, 69, 69,189,116, +255,254,253,211,133,133,133,255,170,121, 81, 40, 20, 46,106,222,188,121,204,141, 27, 55, 62, 2,112,208, 29, 98,141, 70, 51,103, +199,142, 29,159,242,120,188, 80,139,197,146,247,255,236, 93,119, 88, 20,215, 23, 61, 51,219,151,222, 97, 5, 65, 65, 84, 20, 53, + 63, 75, 52,177,160,177,196, 88, 18, 19,193, 30,141, 49, 26,147, 88, 99,139, 93,212, 24, 53,177, 17,187,198, 32,177, 18, 75, 68, + 77,212,216, 21, 27, 6, 27, 54,164, 73, 7, 5, 22,182,239,206,204,239, 15,118,201,178,236,194, 46, 26,141,102,206,247,237,183, +187, 51,111,206,123,111,234,153,251,238,189, 79,161, 80, 76,123,102,139,150,150, 30,181,100,253,238,205, 10, 53,229, 47, 22,112, + 50,148, 90,250, 51, 86,135,188,190,214, 44, 61, 10,140,172, 81, 5, 0, 8,147,255,137,250,135,145,154, 97, 24, 67,217, 2, 35, + 43,150,218,196, 10,102,110, 93,193, 51, 36, 75,103, 44,221,227, 44, 89,180,190, 1,240, 38,128, 43,121,121,121,171, 63,254,248, +227,239,119,236,216,225, 40,149, 74,145,151,151,135,252,252,124,112,185, 92, 56, 57, 57, 97,221,186,117,138,188,188,188,213,198, +219,160,106, 6,121, 0, 80,122,120,120, 92,139,137,137,241,217,180,105, 19,119,248,240,225,233,189,123,247,110,188,110,221,186, + 20, 62,159,207, 80, 20, 69,168, 84, 42, 98,204,152, 49, 65, 43, 87,174, 76,227,112, 56,118, 3, 6, 12, 32,236,237,237,175,160, +154,180, 1, 5, 5, 5,199, 15, 28, 56,240,225,228,201,147,133,106,181,218,172, 37,203,176,204,197,197, 5, 23, 46, 92, 80, 23, + 21, 21, 29,171,193,138,113,252,247, 35,135, 59, 13, 29, 56,144,175, 45,149, 66, 91, 42,133, 78, 42, 5, 85, 90, 12,162, 76, 10, + 30,165,131,152, 79,195,199, 79, 4,157,194, 1,135,175, 38,106, 85, 42, 85,181,137, 13,165, 82,233,241,243,209,209,157,223, 12, + 8,224, 94, 24, 63, 30, 26,173, 22,239,221,191, 95, 33,174, 52, 26, 13, 14, 54,111, 14,138, 32,240,198,232,209,120,168,211,233, +164, 82,233,241,127,227,197,112,227,198,141,252, 33, 67,134, 36,208, 52,221, 18, 47,104,210,204, 23, 1,173, 86, 91,197, 26, 69, + 81, 84,185,213,177,220,114, 32, 56,124,248,112,167,164,164, 36,254,173, 91,183,112,238,220,185, 55,118,236,216,241,141,191,191, +127,243,140,140,140,220,154,196,155,185,164,191,208,251, 31,238,217,185, 23,159,127,254, 57,145,155,155,139, 93,187,118,161,166, +228,169,255, 4,134, 15, 87,210,209,209,162,186, 48,241,123, 50,147, 82,225, 47, 88,153, 82,193, 18,167,114,120,185,149, 76, 20, + 93,158,108, 84, 57,188,124, 56, 80, 20, 93,163,165, 12,195,149,195,165,122,135,248,156,231,192, 41,131,142, 18,171,207,236, 44, +235,125, 36,163, 52, 62, 71,177, 16,192, 31, 80, 82,204,195,235,204,141, 86,173, 92, 61, 0, 64,165,164,124,130,131,131,195,184, + 92,174, 0, 0, 28, 28, 28, 90,185,187,187,175,123,242,228, 73, 7,115,199,180, 79,159, 62,237,188,188,188,254,119,244,232,209, +196,156,156,156,219, 0, 46,155, 22, 10, 10, 10,154,125,247,238,221, 54, 60, 30,143,168,225, 28, 1, 0,132,133,133, 53, 18, 10, +133,238, 71, 30, 56, 67,202,111, 0,134, 83, 2,112, 69,160, 92, 90, 32,157,223, 4,126,126,151,220,139,138,138,222, 40, 41, 41, + 73,180,241,208,119,249,240,195, 15,127,138,142,142,246, 11, 11, 11, 99,174, 95,191, 78,154,142, 34, 4, 5, 5,245,136,143,143, +111,249,217,103,159,109,216,189,123,247, 23,168, 28,105, 91, 19,210,245,249, 6,159, 27,142, 39,227, 4, 64, 5,232,109,102,172, + 66,249, 15,192,150,148, 11,207,144,158,225,153,154,104,209,128, 97, 97,249,155,250,156, 88,111,106,181,218,191,110,220,184,113, +112,192,128, 1,101, 79,158, 60,129,187,187, 59,234,213,171, 7,130, 32,176,110,221, 58, 69,106,106,234,175,250, 92, 90,111,102, +103,103,191,175, 23, 91,230, 80,186,102,205,154,221,219,183,111,119, 73, 72, 72,224,232,116, 58,167,198,141, 27,203, 47, 94,188, +232,192,227,241, 24, 62,159, 79, 39, 36, 36,216, 5, 5, 5, 41, 9,130, 16,254,249,231,159, 79, 46, 93,186,228, 63,117,234,212, +173,168, 28, 38,110,138,157,139, 22, 45,202, 74, 73, 73,129, 74,165,130, 84, 42, 69, 73, 73, 73,197,167,184,184, 24, 37, 37, 37, +224,241,120,200,205,205,197,190,125,251,114,244, 89,226,171,179,108,172,253,113,221,250,130,156,140,116, 56,217,137,161,147, 22, +131, 42,121, 2,148,150, 64,160,213,192,158, 71,161,110, 3, 49, 68,118, 78,200,147,150, 33,250,226,213, 92,125,150,120,203,230, + 2,181,122,237,184,149, 43,243,116,124, 62, 2, 34, 34,160,209, 15, 21, 26, 11, 45,138, 32,224,223,181, 43, 72,103,103,124,251, +235,175,121,250, 44,241, 47, 20, 52, 77,115,212,106,117,117,253, 0, 77,211,153, 73, 73, 73,187, 1,156, 38, 8,130, 33, 8,130, + 65,121,178,182,178, 87,249, 66,214,106,181,152, 59,119, 46,248,124, 62,230,206,157,139,121,243,230,225,251,239,191,199,250,245, +235,241,203, 47,191,224,240,225,195,245,207,159, 63,207, 63,123,246, 44,179,100,201,146,194,160,160, 32,206,232,209,163, 93,196, + 98,241,164,234, 56,167, 77,155, 6, 71, 71, 71, 76,155, 54, 13,203,150, 45,195,150, 45, 91,112,240,224, 65, 92,184,112, 1, 28, + 14,135,206,204,124, 12,165, 82,201,172, 89,179, 38,235,224,193,131,138,213,171, 87,131,203,229, 18, 47,233, 38, 49, 73, 47,168, +140, 45, 65,166, 41, 21,158, 0, 88,133,154,125,163, 44,113, 66, 20, 29, 93, 87, 47,142,146,141, 4,209, 33, 0,147, 81,125,120, +181,129,227, 11, 0, 62,207,129,115,150,120,200,156, 36,151,205,247, 30,197,231, 40,102, 1,248,221,208, 39, 39, 39, 39,241,254, +253, 7,184, 0,240,107,236, 62,222,253,251,247,157, 15, 28, 56, 32,242,242,242,194, 47,191,252, 34, 18,139,197, 94, 22, 56,169, +131, 7, 15,170, 4, 2,129,251,168, 81,163,122,182,105,211,102,162,254, 69,180, 43,128,166, 40,143, 94,236,254,232,209,163, 59, + 30, 30, 30, 15,142, 29, 59, 38,179,230, 0,149,150,150,110,253,249,231,159,235, 61,165,220,112, 68,246, 33,162,233,229, 56,236, +242, 19,210, 3,230,193,174, 78,107, 12, 30, 60,184, 14, 69, 81,155,109, 60,238,131,251,245,235,247,115,116,116,180,223,168, 81, +163,114,175, 95,191,158, 7, 32, 26, 64,140,241,231,238,221,187,133, 31,127,252,113,206,230,205,155, 37, 3, 6, 12, 88, 15,160, + 63,251,232,103,193,162,242,187, 16,106,138, 58, 52,243,192,173,248,157,159,159,191,166,168,168,232,194,195,135, 15, 39,168,213, +106, 9, 65, 16, 12,159,207,207,205,203,203, 91,109,148,176,212,156, 95, 73, 55,232,115,109, 16, 4,161,101, 24, 38,179, 75,151, + 46,147,186,118,237, 26, 21, 23, 23,167,236,220,185, 51, 98, 99, 99, 61,186,116,233, 34,167,105,154, 57,114,228,136,199,187,239, +190, 43, 63,125,250,180,108,204,152, 49,141, 27, 54,108, 56,122,218,180,105, 5, 4, 65,208,230, 56, 13,207,178,226,226,226,126, + 61,123,246,188,240,235,175,191, 58,185,184,184, 64,167,211, 65, 46,151, 67, 46,151,131, 97, 24, 56, 59, 59,163,160,160, 0, 11, + 23, 46,148,150,148,148,124, 96, 70,184,153,114, 42,149, 74,101,255, 47, 38, 78, 62,190,122,193, 92, 71,255,250,245,241,228,158, + 18, 58,165, 28, 60,134, 68,221, 70,206,224, 11,196,120,120,191, 20, 83,118,239, 47, 85, 40,149,225,102,222,150,171,112,150,148, +148,244, 31, 62,111,222,137, 13, 83,167, 58,252,207,219, 27, 28, 14, 7, 42,149, 10, 20, 69,129,199,227, 33,116,248,112,240, 61, + 61, 49,123,247,110,153, 84, 42,237,143,170, 83,241,152,114, 62, 15, 24,115,126,113,227,198,141,143, 67, 66, 66, 48,118,236, 88, +244,235,215,175, 82,193, 3, 7, 14, 96,253,250,245, 80,169, 84, 31, 3,184, 14, 96, 29,202,135, 58, 96, 34,178,254,233,118, 62, +119, 78,138,162,138,238,223,191,239,180,124,249,114, 66,163,209, 96,193,130, 5, 48, 8, 78,195,121,253,229,151, 95,214,113,116, +116,196,252,249,243,213,133,133,133,239, 44, 91,182,236,100, 76, 76,140,199,214,173, 91, 7, 3,152,102,202, 73,211,116,254,205, +155, 55, 29, 55,108,216, 64,234,116, 58,172, 88,177,162,202,240,228,200,145, 35,161,209,104,193,225,112,213, 74,165,170,169, 88, + 44, 78,118,119,119, 23, 51,149,157,187, 94,228,254,244, 69,121, 10, 3, 99,199,119,181,177,127, 22, 44,167, 84,176,133,179, 64, + 20, 29,221, 89, 57,124,248,105,189, 32, 74,210,151,137, 53,152,244,109,224, 52, 8,194,218,112, 30,215,127,106,132, 82,169, 68, + 65, 65, 1, 10, 11, 11,225,226,226, 2, 14,135, 67, 88,106,167, 74,165,186, 53,101,202,148, 27,155, 55,111,238, 22, 31, 31,223, +247,236,217,179, 93, 78,156, 56,161, 76, 79, 79,215,105,181, 90, 70, 34,145,112, 59,116,232, 32,234,213,171,151,189, 80, 40, 36, +103,205,154, 85,184,120,241, 98, 15, 84,246, 97, 51,237, 59,135, 32, 8,124,221,169, 20,211,186,112,160, 86,107, 80, 92, 92,140, +172,172, 76,220,185,115, 7,241,241,247,192, 48, 12,105,195,113,119, 7, 48,107,215,174, 93,190, 2,129,128,216,189,123,119,157, +221,187,119,215,104, 73,221,177, 99, 71,157, 61,123,246, 68,234, 71, 47, 50, 95,197,235,157,229,252,215,114,190,202, 48,205, 12, +143, 26,133,150,254, 62,255, 38,244,147,146,106,181,218, 43,102, 82, 56,124, 3, 96,174,145, 21,172, 38,115,158,148, 97,152,115, +221,186,117,251,178,107,215,174, 43,123,244,232,145,147,147,147, 19,184, 98,197, 10, 63,157, 78,167,185,115,231, 14,153,156,156, +156,126,237,218,181, 6, 13, 27, 54, 28,125,247,238,221, 51, 4, 65,104,172,232,224,157,228,228,228,246, 93,186,116,217, 55,122, +244,104,255,118,237,218, 9, 92, 92, 92,192,229,114,145,146,146,130,196,196, 68,245,158, 61,123, 50,139,139,139,109,153,130,231, + 74, 90, 86, 86,247, 1, 95, 77,248,117,116,191,190, 30,109, 27, 55, 18, 72, 36, 18, 64,161,192,189,140, 92, 92,186,151,168,217, +114,238, 82,129, 74,165,234, 15,235,167,224,185,114,237,225,195,110,239, 76,157,250,107,228,208,161,222,200,201,225, 74, 36, 18, + 8, 4, 2,164,166,166, 34,153,166,117, 75, 55,110,204,211,139,172, 23,157, 21, 94, 8, 96, 57, 77,211, 92, 0, 16,139,197, 24, + 55,110, 28,140,167,220, 89,191,126, 61, 20, 10, 5, 0,112, 9,130, 88, 14,224,167, 87,221,138,101,192,211,167, 79,103,191,247, +222,123, 75,184, 92,174,197,172,183,174,174,174, 40, 45, 45,133, 78,167,163,178,178,178,238,185,186,186,130,199,227,129, 97, 24, +179,215,209,147, 39, 79,102,247,239,223,127, 17, 73,146,150, 44, 31,112,114,114, 74, 63,121,242,100,240,103,159,125, 70,110,219, +182, 45,101,212,168, 81,194,147, 39, 79, 82, 12,195,236,123,209,251,160, 99,199,157,192,134,225,225, 0,194,129, 42, 14,239, 89, +250,101, 54,165, 84,232,216,113, 39, 54,224,111, 78,227, 97, 60,131, 32,210, 91,161,154,136,162,163, 87,162,220,207,162, 90,238, +142, 59, 59, 98,195,112, 60, 87, 78,107, 96,172,125,101, 50, 25, 40,138,170,206,154,247, 87,108,108,236,202,107,215,174,121,126, +249,229,151,129, 67,135, 14,117,234,210,165,139,131,113, 1,133, 66, 65, 31, 58,116, 72,182,126,253,250,146,115,231,206,165,141, + 28, 57,178, 93,117,237,204,200,200, 56,252,237,183,223, 58,247,234,213,171, 33,128, 10,255,172,130,130, 2,164,167,167,227,214, +173, 91,233, 26,141,230, 55, 27,186,244, 4, 64,228,160, 65,131,150,111,223,190,189,206,168, 81,163,114,247,236,217,115, 11,229, + 9,139, 77,225,210,175, 95,191,230,219,183,111,151,140, 26, 53, 42, 23,229,126,100,153, 96,193,130,133, 1,157, 81,213, 79,171, +218,145,137,159,213,106, 53,163, 84, 42, 25,185, 92,206,148,149,149, 49, 48, 63, 11,252,193,236,236,108, 38, 51, 51,147,201,200, +200, 96,210,210,210, 24, 0,191,152, 40, 94,115, 55, 44,251, 29, 59,118, 52,240,245,245, 93, 96,103,103,247, 7,135,195,145,114, + 56, 28,169, 80, 40,252,221,221,221,125,222,210,165, 75,125, 25,134,225, 87,163,162, 45,129,203,227,241, 62,243,242,242, 58,232, +230,230,150,233,234,234,154,233,229,229,117,144,199,227,125, 14,128, 87,131, 50,183, 4, 17,151,203,157, 98,111,111,127, 92, 40, + 20,230, 11,133,194,124,123,123,251,227, 92, 46,119, 10,170, 79,164, 90, 45,167, 64, 32,152,226,233,233,121,220,201,201, 41,223, +201,201, 41,223,211,211,243,184, 64, 32,120, 22,206,103,121, 43, 49, 8, 45, 57,163, 7, 65, 16,218, 55,222,120, 99, 67,203,150, + 45,215,181,108,217,114, 93,139, 22, 45, 54,233,173,146,140,222,218, 34,135,229,228,141,255,100, 59, 95, 26,103,104,104,104,204, +246,237,219,233,217,179,103, 75, 27, 54,108,248,116,246,236,217,210,237,219,183,211,161,161,161, 49,181,229,244,246,246, 14, 8, + 13, 13,125,186,121,243,102,221,253,251,247,153,205,155, 55,235, 66, 67, 67,159,154,100,134,127, 17,125, 39, 0, 4,233,173, 63, +191, 1,216,139,114,231,119, 95, 0,196,112,229,112, 70, 31,125,248, 7,128, 30, 22,142,189,181,156,126,202,225,195, 25,189, 79, +213, 49, 0, 73, 70,255,195, 80,217,255,235, 69,112,154, 69,211,166, 77, 31, 50, 70, 80,171,213, 76, 65, 65, 1,115,255,254,125, +230,220,185,115,140,159,159,223, 67, 43, 56,221, 1,140, 1,112,200,199,199,231,238, 91,111,189,149,209,190,125,251,140,128,128, +128, 20, 30,143, 23,143,242, 12,239,161,250,207,114, 0, 13,107,224,124,203,197,197,229, 91, 63, 63,191,223,130,131,131, 47,212, +171, 87, 47,222,205,205, 45, 78, 36, 18,125,135,191, 51, 99,219,122,206,119,249,240,195, 15,211,203,202,202,168, 86,173, 90,221, + 53,183, 81, 72, 72,200,249,178,178, 50,106,224,192,129,153, 0,250,252, 23,174,119,150,243,165,112,254,167, 16,172, 23, 76, 7, +141, 62,223,152, 41,247,141, 73,153,159,245,219,214,120, 32, 24,134,225, 48, 12, 99,207, 48,140, 51,195, 48,110, 12,195,184, 48, + 12,227,192, 48,140,176, 6,243, 55,123, 98,255,115,156, 95,232, 5,148, 92,255,219, 20, 53,173,127,173,247,167,175,175,175,107, +155, 54,109,190,218,191,127,255,148, 71,143, 30, 77,217,191,127,255,148, 54,109,218,124,229,235,235,235,250, 44,237,244,246,246, + 14,104,210,164, 73, 84, 72, 72, 72,102,147, 38, 77,162, 76, 68,214,139,236,187, 64, 47, 98, 66,244,159, 64,253, 50, 2,229,185, +176,214,234,133, 77,144,133, 55, 53, 91, 56, 13,124,191, 1,120, 87,255,249, 77,191,204,239, 37,112, 86, 65,253,250,245,143, 54, +111,222,252, 97,139, 22, 45,146, 91,180,104,241,176,105,211,166, 15, 27, 55,110,252, 48, 40, 40,232, 97,221,186,117, 31,122,120, +120, 28,173,197, 49,114, 3, 32, 65,213,105,192, 94,246, 57,223, 57, 52, 52,244,146, 72, 36, 50,155, 27,140,203,229, 70,182,104, +209,226, 38,202, 35, 37,217,251, 39,203,201, 10,173,127, 17,216,147,240,213,227, 20,162,250,105, 70,106, 90,207,238,207, 87,155, +211,236, 92, 93,122, 33, 19,168, 23, 56,130,231,192,105,204,103, 56,167,130,140, 68,211,203,224,100,207, 37,150,147,229,100,133, +214,115, 7,151,221, 5, 44, 76,160,122,198,245, 44, 94,109,216,146, 19,235, 89, 56,205,241, 61,122,201,156, 44, 88,176, 96,241, +188,238,157,157, 1,156, 49,188, 21, 90, 82,165,182, 68, 19,212, 70,217,158, 96, 57, 89, 78,150,147,229,100, 57, 89, 78,150,243, + 63,199,105,192, 74, 11,203,239,153,252,223,244,138, 10,175, 23,146,166,135, 53,171,178,156, 44, 39,203,201,114,178,156, 44, 39, +203, 89, 91,140,126, 69, 69, 86,152,225, 15, 59,116,200,130, 5, 11, 22, 44, 88,176, 96,241,252, 80,115, 30,173,189,123,247,114, + 12,191, 7, 13, 26, 52,146,162,168,175, 12,255, 57, 28,206,143,187,118,237,250,169,186, 26, 34, 34, 34,168,234, 56,205,161,166, +122,204,113, 54,109,232, 52,214,221,217,110, 66,113,137,124, 85, 74, 54,117, 78,169, 84, 54, 49,172, 19,137, 68, 73, 63,253,244, +211,131,231,221,206,145, 35, 71, 54, 52,173,167,158, 31,175,179,155,163,104,220,211,226,178, 21,183, 31,150,109, 98,207,177,151, + 2, 15, 0,125, 28, 69,252,247,155,186,240,223,186,245, 68,121, 81,166,161, 14,161, 60, 26,182,232,117,236,176,143,143, 79, 99, + 39, 39,167, 97, 0,154,202,229,114, 47, 59, 59,187,124, 0,119,164, 82,105, 76,110,110,238, 61,107,121,194,234, 33, 29,128,191, +254,111,198,153, 52, 4, 88,179,174, 38,244, 8,130,146, 1,132, 4, 1,205,177,228,191,157,209,223,109, 0, 37,205, 84, 93,222, +163, 1,212, 12, 3, 62, 1,168,142, 61,130,232, 53, 58, 84, 78, 0,186,163, 60,133,195, 13,148,167,159,144,179,151, 44, 11, 22, +175, 21, 76,135, 10, 43,254,115, 45,136,137, 78,124, 46, 17,197,128,113, 1, 24,119,149, 74,197, 19, 8, 4, 80,171,213,176,179, + 19,175, 29, 51,106,228, 2,144, 40,214,234, 48,238,167,159,126,170,245, 76,215,182,212, 3,224,148,233,246,174, 78,226, 69,167, + 15, 77,119,237,212,123,233,119,234,212,194,105,165,165,165,164, 80, 40,132, 74,165,130,179,179,115,251,177,163, 71,183, 34,121, +140,154,207,183,191,184,114,229,202,220,218,182,115,210,164, 73, 62, 26,141,242,109,154,166, 5,106,181, 90,104, 90,143,179,157, +253,210,211,135,166,219,133,245,249,110, 1,192, 10,173,151, 0, 65,128,171,253,153, 85,131, 58,135,188,213, 52, 24,244,157,179, + 80,170, 53,239,159,206, 44,123,127, 94,124,246,228,204, 50, 77, 75, 60,135,132,149,255, 34,112, 2, 3, 3,191,244,244,244, 28, +184,113,227, 70,126, 96, 96, 32, 68, 34, 17, 20, 10,133,228,209,163, 71,146,177, 99,199,134,137,197,226,221, 41, 41, 41,107, 97, +221, 68,112,254,167,127,158, 3, 0,104, 63,108,161, 63,202, 39,139,150,155,174,235, 60, 98,161, 63,128,169,168, 60, 49,114, 14, +202, 83, 40,152,187,235, 8,226,182,127,143,247, 63,158,194, 5, 48,182,162,241, 36,240,251, 47,171,209,115,208,132, 74,203, 9, + 6,220, 67,219,191, 71,159,143,167, 88,156, 71,241,221, 96, 66, 75,211,140, 69, 75, 60, 73, 18,186, 63, 30, 50,230, 38, 24,206, + 67,121, 14,176, 42,148, 40,159,208,217,108,249,222,141, 57,121, 26, 45,101, 54,225, 44,159,199,201, 63,124,143,170,178,237,240, +255, 65,171,165,202,239,173,124, 46,168,131, 41,206,167,103,205,154,197,237,211,167, 15,182,108,217,210, 97,211,166, 77,163, 75, + 75, 75,255,212,239,183,100,246,242,101,193,226,181, 22, 92,230,133, 22,151,131, 13,191,253,250, 83,131,188,252, 66, 12,255,236, +107,236,220,185, 19, 69, 69, 69,112,117,117,133,128,207,231,173, 90, 62,199,199,201,201,222,103,248,232,105, 27, 0, 52,174,109, +107,108,172, 39,216,116,123, 66, 63,149, 14,151, 67,242, 4, 2, 1,185,123,247,110, 20, 23, 23,195,197,197, 5, 2, 1,143, 92, +249,221, 55, 98, 39, 39, 7,241,167, 95,204,232,128,242,252, 63,181,130, 90, 93,214, 97,255,206,159,156, 10, 10, 10, 48,226,243, +105, 48,173,135,207,231, 83,134, 7, 11,123,142,189, 20,204,218, 56,238,227,144,102,142,128,230,246, 5,240, 56, 28,216, 57,187, +162, 59,151, 3, 14,129, 38,195,255, 72,155, 9, 96,222,235,210,217,192,192,192, 47, 35, 34, 34, 6, 46, 90,180,136, 79,146,229, + 41,231,100, 50, 25, 20, 10, 5,124,125,125,113,250,244,105,254,236,217,179, 7, 30, 56,112, 0, 41, 41, 41,107,108,229,191,125, +251,118, 61,127,127,127, 37, 0,244,109,238,104,186, 46,192,176, 14, 0, 28, 29, 29,107,228,115,119,177, 87,221,190,125,169,169, + 97,187, 47,187,250, 82, 22,150, 43, 1,216, 85,199, 69,211, 12,247, 88,212, 88,139,235, 63, 91,180, 67,119, 99,239,185,198,129, +129,129, 10,227,229, 14, 14, 14,150, 54,241, 46, 43, 43,243, 55, 93,104, 40,175,209, 82, 94,150,234,235, 49,110,189, 89, 1,166, +165,192,221,177, 99, 7, 0,224,135, 41, 67, 56,155, 47, 23,114,185,220,242, 91,237,242,229,203, 17, 25, 25, 41,248,227,143, 63, +122,109,223,190,189,215,193,131, 7, 87, 89, 18,170, 44, 88,176,120, 37, 69,150,241,183,101,161, 69, 18,132,163,147,163, 3,194, + 7,143,193,209,163,191,163, 83,167, 78, 21,235,234,215,175,143,136,254, 31, 96,215,207, 43, 1,192,241, 89, 90,244,172,245, 20, +149,200,230,245, 28, 24,181, 48, 35,183, 44, 62, 46, 46, 14, 29, 59,118,172,180,253,224, 1,225,248,101,235,114, 84,147,101,222, + 42, 16, 12,201,119,116,178,199,160,225,159,195, 92, 61,163, 71,244,139,123, 55, 98,117,183,188, 39,178,149,236,121,246,226,209, +192,199,189, 71,243,144,198, 40,218,183, 22,137,197, 74, 28,205, 86,226,211,238,109, 17,234, 38, 70, 71, 29, 5, 31,123,222, 59, +185, 50,237,107,109,100,132,121, 0, 0, 32, 0, 73, 68, 65, 84, 33,180,124,124,124, 26,123,122,122, 86, 18, 89,165,165,165, 40, + 43, 43,131, 84, 42, 69,105,105, 41, 72,146,196,180,105,211,248,103,206,156, 25,232,227,227,115,194,138, 97,196, 12,189, 37, 11, +224,240,202,230,206,157,171,242,242,242, 82,217,217,217, 49, 92,190,176,180,243,136,133,142, 0, 64,114,249,165,171, 86,173, 82, +251,250,250, 42,185, 92,174, 96,194,132, 9,164, 53,109, 86,169, 84,140, 49,167, 90,173,170, 88,190,116,233, 82,181,183,183,183, +202,206,206,142,209,104,172, 55, 58,222, 76,125, 10, 33,159, 3, 33,159, 3,145,128, 7,199,122,109, 32, 44,186, 5,157, 78,135, +101,203,150,105,124,124,124,212,118,118,118,140, 64, 32,224,143, 31, 63,190,198,118,142, 28, 57,146,113,113,113,209,216,217,217, +241, 35, 35, 35,171, 68, 10,157,188,145, 5,177,128, 7, 59, 33, 23,193,245,253, 32,100, 20, 86,183,149,195,169,236,141, 32, 20, + 10,209,161, 67, 7, 52,109,218, 20, 7, 15, 30,236,204, 10, 45, 22, 44, 94, 11, 88,140, 48,228, 2, 64, 92, 92, 92, 24,202, 39, + 68, 68,159, 62,125,136,242, 45, 24, 76,253,178, 63, 62, 29, 49, 8, 20, 69, 87,204,243, 69,144, 4,190,248,164, 23,104,218,154, + 17,137,154, 67, 60,107, 81, 79, 5, 39, 67,144, 28, 0,104, 16, 32, 97, 70,127, 58, 20, 20, 77,255, 61, 80,194, 1,198,140,232, + 89,190,236, 57,180,147, 3, 10, 95,143,253, 8,230,234,105,220,160, 14,169,211, 40, 65, 84,158,236,241,159,152,108,147,229, 52, +131,166,117, 37, 65, 90,133, 2, 74,165, 22,209,247,158, 42,142,103,201,188, 72,151,180,130,213,225,237, 68,156,130,108, 4, 56, + 10,130,115,101,218,215,162,239, 78, 78, 78,195, 54,110,220, 88, 69,100,229,229,229,145,101,101,101,208,104, 52,116,105,105, 41, + 40,138,194,140, 25, 51,120,179,103,207, 30,150,155,155, 27,105,208, 60,230, 56,245,126, 87, 83,111,223,190, 29, 48,107,214, 44, +205, 59,239,188,147, 81,191,126,125, 25,135,195,129, 68, 34, 89,221,189,123,119,183, 69,139, 22,105,122,245,234,149,198,225,112, + 16, 28, 28, 44,187,117,235, 86, 0, 0,177,181,125, 55,230,252,233,228,143, 12, 0, 16, 4,129,238,221,187,167, 7, 7, 7,203, + 56, 28, 14, 30, 28, 90,202, 88,187, 63,121, 92, 18, 13,125,157,245, 55, 17, 2, 16, 59, 84,120,226,117,239,222, 61,179,113,227, +198,101, 36, 73,226,230,205,155,126,168, 58,173, 85, 21, 78,177, 88,172, 29, 60,120,112,198,189,123,247,204,149, 7,151, 67,162, + 93, 99,189, 1,203,183, 37,144,121,222, 98, 59,121, 28,232,102,127, 57,132,235, 34, 2,132,142, 30, 42,169, 84, 10, 39, 39,167, +114, 11,153, 70,131,191,254,250, 11,111,189,245, 86,216,222,189,123,207,176,215, 59,203,201,114,254, 13,115, 90,228, 21,180,102, + 25, 79,116, 95,201, 71,235,180,105,167, 40, 74,135,250,254,222, 88, 58,103, 36, 40,138, 6, 69, 81,208,233,191, 41,138,130, 86, +163,121, 46, 45,123,150,122, 92,157,196,139,126,223, 61,206,245,157,126,203,187, 46,153, 53,226, 56, 69, 1, 52,173,133, 86, 11, + 80,180, 22, 52, 69, 65,171,125, 62,174, 57, 90,154, 70,128,159, 15,150,204, 26, 1,211,122, 98,118,237,237,123,242,183,105,118, +157,250,124,247,245,131,116,249, 50, 86,216,191, 88,136,248, 66, 46,195, 21, 65,173,214,161, 84, 77,171, 1,200,148, 90, 90,195, +216,123,136, 0,128, 75, 18,175, 83,116,109,211,192,192,192, 74, 34,235,251,239,191,247, 88,183,110,157, 47, 0,244,239,223, 63, +171,107,215,174,133,247,239,223,135, 68, 34, 33, 10, 11, 11,123, 3,152,160,223,118, 42,128,117, 22,120,101,254,254,254, 74, 79, + 79, 79,149, 65, 16,145, 36, 9, 46,151, 11,127,127,127,165,151,151,151, 42, 56, 56, 88,198,231,243, 65,146, 36, 12, 66,207,170, +215, 60,130, 0,135,195,129,129,211,212,218, 99,224,180, 5, 60, 46, 89,245,246,102,196, 73,146,164,217,250, 44,158, 67, 34, 17, + 3,192, 98,121, 14,105,116,123,228, 86,239, 33, 16,253, 23,120, 0, 78, 51, 12,131,235,215,175, 35, 37, 37, 5,124, 62, 31, 62, + 62, 62,136,140,140,132, 74, 85,174,119, 35, 34, 34,194, 0,220,100,175, 96, 22, 44, 42,112,250, 21, 20, 88,166, 86,173,234,125, +180,226,226,226,194,250,244,233,115,198, 32,128,202,197,142, 25,241,163,213, 65,171,213, 0, 12,243, 92,132,150,165,122, 40,138, +174,182, 30,131,143, 22, 77, 51, 92,179, 34,139,166,161,211,106,159,203,222,163, 41, 45,104, 90, 11,115,245, 16, 4, 73,233,111, +248,124,246, 58,121,241,240,241, 15, 32,181,254,245,113, 78,167,132,175,187, 80,128, 66, 5, 2, 27,133,112,254,146,107,113,225, + 70, 18, 60, 28,156, 94,155,227, 34,151,203,189, 68, 34, 17,100, 50, 89,133, 37,107,221,186,117,190,106,181,154, 4, 0, 46,151, +231, 87, 64,251,138, 40, 26,112,118,202, 65, 81, 81,137, 59,195, 48,132, 94,240, 44, 7,240, 19,170,201,238,207,231,243, 43, 4, +138,177, 0, 18, 10,133,181, 18, 48, 6, 24,196, 25,159,207, 55,187,220,116,120,173, 38,240,141,133, 22,152,114,171,150,137,216, +226,112, 56, 48,248, 70,213, 4,129, 64, 80,209,119,115,224,114,140,234,227,216,238,138,169,209,104, 80, 86, 86,134,226,226, 98, +136, 68,229, 6, 51,134, 97, 64, 16,196, 4, 0, 19,217,171,152, 5, 11,243, 90,228, 21, 22, 91,230,133, 22,202, 77,118, 4, 0, +232,180, 26,179,226,103,239,161, 11,200,200,149,193,199,227, 10, 24, 27,179,158, 14, 28, 56,240,103,137, 68,210,206,240, 95, 40, +118,112, 31, 61,110, 62,116, 58, 13, 28,197, 36, 62, 27,214,179,146,200, 42,183,104,169, 45,206, 9, 82, 84, 34,155,215, 51, 98, +205, 66,103, 39,247,120, 83,241,179, 36, 58, 33,188, 72,170,242, 35,201,171, 40, 34, 36, 84,196,152,249, 35,141,110,238, 55,118, +175,159, 59,217,106,123, 32, 65,242,194,199,174, 30,205,112, 29,154,216,145,165,103,167,143,104,187,223, 88,204,185,185,185,197, +245, 8, 95,213, 45,239, 41,235,163,245, 50,224,232,236, 66,250,181,238,140,214, 19,162,112,242,155,233, 12, 80, 4,119,137, 47, +217,229,203,197,112,104,221, 23,151, 62, 27, 70, 3, 79, 95,139,190,218,217,217,229,203,229,114,137, 66,161,128, 84, 42,133, 84, + 42,173, 44, 8,120, 60, 98,244,231, 95,121,240,248, 2,104, 53,106, 28,141, 89, 92, 35,167, 33,133, 67,223,230,142,224,240, 4, +165,119, 2, 3, 87,115,185, 92,144, 36,137, 67,107,167, 79,216,183, 98,156, 35, 0,220,136, 91, 43, 29, 52,237,199, 53, 36, 73, + 66,165, 82, 9,109,105,247,227,199,143,253, 84, 42,149, 82, 47,208, 12,194, 15,169,169,169,117, 85, 42,149,194,120,185, 53, 16, +219, 57, 2, 46,245, 1, 59,175, 42,214,179,180,180,180, 58, 90,173, 86,206,229,114,161, 86,171,173, 82, 69, 36, 73,242,111,222, +188,233, 71,211,180,217,242, 77,131,234, 0, 62,205, 1,129,179,213,125,102,172,120, 17,213,139,173, 23,150, 65,154, 5,139, 87, +197,178,245, 10, 94, 19,132,133,223, 21, 66,171,115, 92, 92, 28, 99,252,134,168,211,106,245, 34,235,111,209, 67, 81, 52,178, 11, +148,184,127,255, 1, 86,173, 90,133, 11,151,166, 56, 47, 90,180, 72, 56,123,246,108,213,192,129, 3, 87,208, 52,221,130, 36,201, + 27,248,123,168,162,178, 85,136,166,235, 38, 36, 36, 4, 26,254,107,181, 90, 56, 58, 58,194,209,209, 17,141,131,253,170,136, 44, +138,162,160,169,102,232,208,224,163, 69, 48, 52,163,213, 82,160,104,186, 66,252, 20, 73, 85,126,191,157,184,222,192,168,120, 35, +195,143, 14,109,154, 88, 22,131, 99, 35, 43,250,177,123,253,220,201,139,182,108, 17, 22, 81,158,227, 7,133,127, 26, 26, 49,104, + 24, 6,127,244, 94,152, 74,173, 62,200, 33, 25, 90, 91, 81, 31, 72, 48, 48,245,209, 98,241,130,144, 92, 44,211,242,132, 98, 56, +248,212,195,131, 50,138,207,225,112,174, 60, 42,150,243, 73, 14, 23, 36,151,143, 59, 69, 74,237,107,212,221, 59,201,201,201,146, +186,117,235, 66, 42,149, 66,167,211,209,253,251,247,207,226,114,121,126, 92, 30,143,232, 51,232, 43, 58, 55, 55, 91, 75,146, 28, + 48, 12,133,247, 34,198, 18, 66,145,152,175, 81,171,117, 40, 31, 58, 52,103,205, 50, 78,225,224,216,189,123,119, 55, 67, 36,224, +190, 21,227, 28,141,214, 57,181,106,213,202,205, 56,234,208, 74,107, 17, 49,112,224, 64,177,191,191, 63, 1, 0, 87, 99,102, 25, +172,103, 68,223,190,125, 69,254,254,229,126,248,127,174, 29,103, 53,167,135, 29, 3,148,164, 2, 37,105, 85, 44, 89,125,251,246, + 21, 6, 6, 6,218,116, 45,234, 29,224, 45,230,238,178,231,234,128,220,235, 86,113, 13,255, 31,180,190, 14,224,174,120,143,132, +192,193, 93,213,110,250, 31,151, 89,177,197,130,133, 85, 48,209, 34,175, 20,194,244, 2,177,179,254,187, 66,112,113, 1, 64,111, +162, 35,140,116, 22,180, 58, 77, 21,145, 69, 81, 20,120,132, 10,171, 86,173,194,196,137, 19, 1,128, 63,121,242,228,253,139, 22, + 45,250,144,166,233, 22, 12,195,116, 36, 8,162,186,183,198,211, 18,137, 36,143, 97, 24, 30, 73,146, 29,215,174, 93,235,214,171, + 87, 47, 56, 58, 58,130,161,153, 42, 34,139,162,104,104, 52,106,139,211,220,186, 58,137, 23,253,190,119,188,235, 59, 31, 44,239, + 74,209,244,113,131,200,162, 41, 10,160,203, 55,122,146,159,133, 99, 71, 15, 98,195,250, 13, 69, 32,152,187, 96, 64,235,197, 32, + 44,136,193, 22,231,175, 38,117,236,208,166, 9, 22,109,217, 34,188,157,144,179,255,171, 73, 51, 67, 35, 6, 13,195,222, 93, 49, + 32,117,197,215,141, 69, 22,165,165, 81, 82, 84,216,247, 20,235,163,245,178,224,118,236,248,113, 98,216,176, 97,116,105,105, 41, +248, 2, 1,173,213,106, 57,111,191,253, 54, 53,113,226, 68, 50, 55, 55, 23,210,210, 50, 46, 0, 55,188, 6,102, 45,169, 84, 26, + 51,118,236,216,176,179,103,207,242, 73,146,132, 84, 42, 69,151, 46, 93, 10, 11,104, 95,209,232,207,191,242,200,206,206,210, 57, +137,185, 42, 62,159,135,252,252,124, 58,172,215, 16,197,160,145, 19,235, 76,156,181,100, 99,206,197,245,235,172,169,195, 56, 18, +208,116,221,230,205,155,213,190,190,190, 74,161, 80, 40, 24, 49, 98,132, 85,227,135,106,181,154, 89,186,116,169,202, 52,186, 80, +173, 86, 51,171, 86,173, 82,251,249,249,169,196, 98, 49,163,213,214,236,247, 73,146,132,238,179, 69, 59,116, 58,157,174,146, 21, +203, 32,178,180, 52, 81, 22, 21, 21,165,241,243,243, 83,219,217,217, 49, 66,161,144,111, 77, 59,191,250,234, 43,198,213,213, 85, + 99,111,111,207,159, 54,109,218, 51, 69, 29,106, 41,112, 23,173,173, 72,239, 32,116,116,116, 68,105,105,105, 69, 91, 37, 18, 9, + 43,182, 88,176, 48,131, 42, 90,228,213,180,194, 89,151, 71,139, 6,202,242,242, 11,189, 60,188,235, 65,167,211,233, 63, 90,232, +180, 90,140, 31, 51, 8, 43,214, 71, 1,128, 65,108,117,159, 60,121,242,126, 0, 53,222,204,118,239,222,189,112,242,228,201, 78, +121,121,121,127,252,252,243,207,110, 67,134, 12,193,212,169, 83,177,124,249,114,240, 4, 34,184,121,214,173,168,199, 80,111, 97, +193, 83, 48, 96,202, 44,216,233, 52,229, 55, 41,112,221, 61, 3,160,165,180,160,181, 90,104,181, 90, 16,156,242,174, 29, 59,122, + 16, 67, 62,249, 10, 60,161,147,235,143,171,150, 41, 66, 91, 75, 62,156, 61,106,148,202, 10, 35, 32,121, 59, 33,103,255, 87, 19, +167,117, 55,136,172, 95, 99,214,223,253, 97,198, 7, 59,133, 2,110, 69, 61, 90,154, 6, 73,114, 88, 31,173,151, 36,178,132, 66, + 97,236,145, 35, 71, 30,182,108,217,146,144,201,100,208,106,181, 40, 44, 44,196,254,253,251,239, 48, 12, 3, 87, 87, 87, 28, 57, +114,132, 30, 50,100, 72,172, 74,165, 10,127,213,197, 86,110,110,238, 61,177, 88,188,123,230,204,153,131,102,204,152,193,163,105, + 26,247,239,223, 7, 8,130,225,241, 5, 32, 73, 18, 60, 30, 23, 37, 37, 82,218,206,193, 37, 71,195,112,236,120,124, 1, 72, 14, +191,186, 48,225, 12,125, 50, 82,144, 92,126,169, 33, 18,144,207,231,227,210,222,239,165,157, 71, 44,116, 2, 0,190, 80, 92,212, +163, 71,143,244, 38, 77,154,200,174, 93,187, 22,128,170, 81,135,166,215,167,174,223,136,105, 28, 59,177, 72,214,189,123,247, 12, + 3,103,218,241, 31,165,195,190,152, 69, 16, 28,129,172, 79,159, 62,233,161,161,161, 50, 14,135,131,164,131,203,164,253, 70, 76, + 19, 17,213, 36, 89,253,227, 33,243,217,141,189,231, 26, 47, 94,188, 88,219,171, 87,175,199, 6,127,177,180,180,180, 58,189,123, +247, 22,174, 92,185, 82,219,187,119,239,204,102,205,154,149,145, 36,137,132,132, 4,191,234, 44, 85, 6,136,197, 98,237,167,159, +126,154,113,235,214,173,218, 70, 29, 86,139,186,117,235,130,166,105,116,233,210, 5, 74,165,146,181,108,177, 96,241,122,194, 52, +143,150,229,204,240, 90,157,246,171, 49, 19, 22,252, 8, 16, 14, 70,119,129,191, 13, 75, 12,136, 41, 83,190,182, 7, 32, 54,136, +173, 73,147, 38,213, 56,205,137,145,200,106, 61,100,200, 16,124,243,205, 55,248,225,135, 31,168,229,203,151,115,238, 61, 72,213, +140,248, 98, 94,177, 73, 61, 96,192,148,209, 90,250, 43,115,124, 69, 37,178,121, 29,123,127,183, 32, 43, 79,126,126,196,216,217, + 21,119, 47, 10,128,148,144, 80, 0,176, 97,253,122, 25, 79,232,100, 31, 49,104, 24, 0,116,255,113,213,178,253,139,176,165,102, +177,197, 16, 33, 95, 77,154,230,106, 16, 89,107, 87, 46,190,229, 76,228, 69,141,251,250,142,214,184, 30, 0,112,115,196,254,142, +189,191,123, 55,255,169,108, 53,123,158,189, 56, 8, 4,130,133, 39, 79,158,180,111,222,188, 57,241,228,201, 19, 80, 84,249, 17, +209,104, 52, 40, 41, 41, 65,105,105, 41, 84, 42, 21, 90,181,106, 69,174, 89,179,198,126,220,184,113, 11,213,106,245, 23,175,122, +191, 83, 82, 82,214,254,246,219,111, 56,115,230,204,192, 25, 51,102,240,124,124,124, 8,103,231, 60, 66,171, 81, 3, 96,152,130, +130, 2,218,206,193, 37,199,195,219, 47, 35, 59, 55, 63, 68,171, 81,131,166, 52, 22,189,205,245,233, 29,166,220,190,125,187,222, +247,223,127,175, 54,142, 4, 28, 52,237,199, 53,173, 90,181,114,139,138,138, 82,247,233,211, 39,221,224,188,110,141, 51,252,177, + 71,152,112,251,246,205,166,166,156,157, 71,127,191,213,192,105, 28,141,216,247,235,141, 91,131,131,131,221, 66, 67, 67,211,171, +227, 13, 12, 12, 84, 72, 36, 18,117,227,198,141,203,120, 60, 94,185, 37, 75,171,149, 7, 6, 6,210,222,222,222,234, 38, 77,154, +148,217,234,180, 47, 22,139, 25,131, 85,204, 28,108,137, 58,228,113,160, 27, 50,100, 72, 69,102,248, 41,193,193, 57,195,134, 13, +147, 76,158, 60, 25, 91,183,110,197,133, 11, 23,170,136,253,176,176, 48,156, 61,123,118, 1, 94,163,196,186, 44, 88,252,199, 80, +125, 30, 45, 83,108,219, 22,243, 39,140,124,154,204, 97,209,162, 69, 66,189, 37,171,251,196,137, 19,161, 80, 40, 92,205, 20,235, + 6,125,174, 13,115, 34,107,217,178,101, 59, 25,134,241, 3,208,129,162,232,203,155,183,108,235, 98,169,190,136,136,136, 42,156, + 12, 65,114, 72,146, 40, 19,240,152,191,214,111,218,250, 75,165,242,229,206,239,141, 64,224,198,143,171,150, 41, 0,116, 55, 21, + 91,248,123,154,145, 10, 78, 3, 62, 31,251,121,133,200,250,113,213,178,227,161,173,253, 63,156, 61,106,161, 89,113,182,112,222, + 24,123,146, 36,222, 54,241,209,170,194,249, 28,192,114,254,141, 46, 67,134, 12,105,209,182,109, 91,210, 88,100,169,213,234,138, +196,157, 6,103,241,172,172, 44,132,133,133,145, 45, 90,180,104,118,229,202,149, 46,248,123, 58,167, 87,181,239, 84, 74, 74,202, + 26, 31, 31,159, 19,115,231,206, 29, 86, 88, 88,216,187,168,168,216, 61,110,219, 66,244,140, 24, 75,132,245, 26, 44, 83, 51, 92, + 81,102, 78, 94,227,211, 71,118,184, 29,221,189, 22, 26,181,122, 12,128,187,248, 59,189,131, 41,167,220,144,198,161,113,227,198, + 50, 99,161,226,239,239,175,172, 83,167,142, 42, 52, 52,180, 98,185,133,104,190, 42,125,183,149, 83,239,255, 37,171,105,127, 26, + 68,155,105,218, 8, 59, 59, 59, 24,196,151, 45,237, 52,142,182, 52,123,163,172, 57,234,176,130, 83,159,222,161,146, 78,139,137, +137,233, 22, 19, 19,211, 26,192, 95, 40,159,235, 80, 11,148, 15, 37, 26, 57,205,207,215,127,216,235,157,229,252,175,114,190,202, + 8,195,223,190, 89, 64,185,175,214, 25,139, 66,171, 38, 24, 28,223, 1,144,147, 38, 77, 42, 82, 40, 20,174,195,134, 13,171,118, +155,220,220,220,173,209,209,209,149, 68,214, 71, 31,125,244, 73,108,108,236,137,252,252,252, 90,245,202,213, 73,188,232,204,161, +233,174, 97,125,190,155, 8, 96,185, 5, 67, 30, 29,218, 90,242,225,143,171,150,237, 55, 17, 91,219, 1,124,100, 73,149,246,120, +239, 3,236,216,246,163,193,183, 75,124,235, 90,214,209,129,215, 35,205, 70, 43,186, 56, 8, 35,245,237,152,204,250,104,189, 24, +240,249,252,206, 51,102,204,224,203,100,178, 42, 34,203, 84,104, 73,165, 82,220,184,113, 3, 35, 70,140, 16, 38, 38, 38,118,214, +104, 52,167, 94,135,125,144,155,155,123, 79,159,140,116,130, 33,133,131, 80, 36,230, 15, 30, 57,209,175, 34,234,112,247, 90,168, +148, 10, 0,224, 90,147,222,129,203,229,242, 19, 19, 19, 3, 12, 86, 43,141, 70, 35, 52, 44,191,118,237, 90,128, 33,183,150, 82, +169,180, 58,234,240,159,226,188,121,243,166,159, 33, 58,210, 16, 93,200,229,114,249, 9, 9, 9,126, 6, 78,149, 74,101, 85,212, +161, 64, 32,224, 39, 38, 38,250, 81, 20,245,220,162, 14,141,133, 49,202,231, 89,172, 52,215,162,222,183,140, 32, 8,130, 97,135, + 13, 89,176,120,229, 97, 26, 41, 89,253,164,210, 53,193,224,248,110,195, 38,220,186,117,235,246, 24, 52,104, 80, 37,145, 21, 30, + 30, 78,237,219,183,239,180, 68, 34,201, 35, 73,242,158,173,237,168,240,209, 66,149, 55, 72,144, 36,121,163, 67,155, 38, 32, 73, +242,198,236, 81,163, 84,139,176,165,146,216, 58,184,127,207,187,153, 69,119,204, 75, 51, 0,238, 94,190, 24,242,201, 87, 24,242, +201, 87,174, 0,218, 3,150,163, 21,171,107, 7,139,127, 6, 4, 65, 8,234,212,169,115, 75,169, 84,130, 32, 8,168, 84,170, 10, +129, 85, 90, 90,138,146,146,146,138,255, 26,141, 6, 5, 5, 5,240,247,247, 7, 65, 16,175,181, 31,157, 70,163,209,205, 88,240, +125, 52,135,203,215,209,180,134,208,104, 52, 35,109,185,206,103,204,152, 65,194,140,239,213,184,113,227,204, 46,127, 89,156, 51, +103,206, 52, 27, 37, 56,110,220,184,106,163, 7, 45,225,235,175,191,126,110, 81,135,214,223,190, 88,176, 96,241,154,193,108,232, + 94,173,132, 22, 73,146, 55,204, 68, 23, 18, 0, 24,146, 36,111,152,201,114,160,203,200,200, 88,224,226,226, 50, 70, 38,147,253, +254,209, 71, 31, 77, 10, 15, 15,167,128,114, 7,249,218,246,168,168, 68, 54,175,115,223,165,147,139,203, 84, 81,166,235, 76, 45, + 79, 6,177,181,118,245,178,117,251, 99,119,133,231,102,103,174,179,212, 55, 75,130,202, 82,180, 98,137, 84,177,160,115,223,165, + 19,139,164, 10,214, 71,235, 5,129,162,168, 99, 98,177,152, 48, 76,166,108,108,189,146, 74,165,144,203,229,208, 79, 73, 3, 0, + 40, 43, 43,131,179,179, 51, 40,138, 98, 94,179, 93,161, 2, 48, 85,111,173, 2,128,169,169,167,215, 24,159,219, 55,141,215, 85, + 99,205,202,177,102,130,104,115,219, 85,183,238, 31,224,204,171,102,130,232,234,144,103, 35, 95, 30, 0,240,121,156,124, 75,147, + 71,243,121,156,252,106,252,246,109,124,111, 32, 24, 0, 11,216, 43,155, 5,139, 87,247,253,255,101, 85,220,141,229,100, 57, 89, +206, 23,194, 41,212,127,172, 93,199,238, 79,150,147,229,100, 57,255,109,156,230, 48,250, 21, 17, 90,140,153, 15,128, 90, 90,180, + 88,176, 96,241,175,131,170,150,235, 88,176, 96,193,130,197,179,163,202,100,210,198, 43, 44,169, 82, 91,162, 9,106,163,108, 79, +176,156, 44, 39,203,201,114,178,156, 44, 39,203,249,159,227,172,137,219,120,251,209, 0, 54,189, 34, 98,235,165, 4,180,176,102, + 85,150,147,229,100, 57, 89, 78,150,147,229,100, 57,107, 11,118,232,144, 5, 11, 22, 44, 88,176, 96,193,226, 63, 14,219, 18,150, +178, 48, 3,255, 15,102,131,198, 76,253,238, 92,134,199, 7,231,191,110, 93, 12, 15, 15,231,216, 82, 62, 53,213,133,188, 14,201, + 15, 78,246,252,190,101, 50,237, 15,244,245,121, 81, 53,157,136, 30,129, 45, 63,182, 19,217,125,161, 86,171,235, 59, 56, 58,230, + 63,125, 82,176,225,105,198,205,181, 70,101,156, 46, 95,190, 44,105,219,182,109, 54,128, 82,163, 55, 5, 22, 44, 88, 60, 79,184, + 52,169, 11,130, 24, 9, 48,127,135, 93,210,204, 29,148,220,221, 86,169,156,115,200, 39, 32,137,166, 70, 75, 20, 96,176, 25,197, + 73,143,107,120,224,184, 36, 39, 39, 7, 52,104,208, 32, 29, 64,177,105,237,102,214,177,215, 57,139, 87, 25, 97,168,156,176,180, +226, 90,120,118,161, 21,252, 81,125,232,200,225, 96, 48, 20, 4, 18,145, 26,219,191, 86, 60, 65, 31,250,130,230,190, 9,160, 37, +192,180,180, 23,139,254,167, 80,107,242,105,134,249, 24,143,246,252,101, 51, 95,253,240,177,176, 60,157,197, 2,164,198,174,183, +137,143,102,102, 93, 61,187, 79,232, 98, 71,160, 65,171,143,166,161,114, 6,231,218, 66, 0,160, 35, 73,146, 77,237,236,236, 36, +114,185,188,128,166,233,199, 40, 31,159, 46,170, 37, 39, 9,224, 83, 7,123,251,158, 1,142,130,150, 25,133, 37, 89,165, 90,234, + 28,202, 19,186, 22, 61,175, 51,170, 92,100,249,108,154, 56,184,237,136,101,227,187,193,165,243,210,105,114,160, 58,161, 69,248, + 53,122,251,224,192, 65, 17,157,191, 28, 61,194,193,215,211, 1, 57,133, 50,247,245, 91, 99,190,143,137,217,209,103,212,192,238, + 61, 1, 96,225,194,133,253,234,214,173, 91,143,195,225,164,206,153, 51,103,251,188,121,243, 24,194,242, 76,229, 18,253, 57,108, +184,225,219, 3, 8, 5, 16, 8, 32, 5,192,109, 84,206, 50, 94, 27,188, 18,156,190,190,190,117,104,154, 30,229,237,237,221, 59, + 47, 47,239, 48, 73,146, 91,178,178,178,178, 95,230, 93,135, 97,152,141, 4, 65,140,102, 24,102,147, 13,223, 99,108,169, 67, 36, + 18,229, 41,149, 74, 47,253,239,124,165, 82,233,253, 79,245,231, 69,214,245,130,222,191, 63, 59,118,254,118, 79,227, 69, 61, 58, + 52, 53,115, 71, 33,154, 30, 59,127,167, 83,229,114,161,148,133,123, 32,193, 48, 12, 22, 44, 88, 64, 68, 70, 70,126, 18, 20, 20, + 20, 76,146,228,253,185,115,231, 86, 74,125, 99,186,206,232, 58,103,197, 22,139, 87, 21,182, 77, 42, 93, 35,154,132,219, 67,201, +132, 3,196,136,176, 54,255,235, 48,230,227,190, 4,195, 17, 97,240,103,211,117, 54,115, 5,140, 16,130,163, 88,212,188,105,163, + 73, 17,125,187,145,173, 67,235, 65,226,233, 12,144, 60,108, 60,146,230, 30,181,108,206, 58, 0,109,107,209,202,121,143,226,119, +122,229, 20, 83, 32, 8,128, 32, 0,146, 0,202,148, 52,122,244, 27, 62, 15,192,122, 27,239, 74,164,139, 29,129, 73, 59,149, 0, +192,121, 14, 7,165,158,167,167,231, 39, 19, 38, 76,176, 15, 13, 13,117, 17,137, 68, 2,165, 82,233,157,156,156,236, 57,103,206, +156, 80,133, 66,113, 8,192, 85, 27, 57,253, 27,248,213,217, 19, 53,233,211, 55, 91, 4, 6,128,167, 46, 3,173,146,213,125,144, +252,240,173,207,215,237,253,236,206, 83,229, 32,212, 98,202,132,194,194, 66, 2, 0, 60, 60, 60,152,202, 34,171,221,136,149,147, +123, 96,210,138, 99,144, 43,213,191, 84,199,225, 86,239,141, 97, 31,126,248, 65,231,197,179,198, 57,100, 61,209, 32, 49, 85, 1, + 55, 7, 62,230, 77, 29, 43, 80,169,180,111,173,219, 30, 51,250,199,239,166,111,166, 40,234, 29, 0,173, 41,138,186, 6, 96,251, +130, 5, 11, 44,221,124, 35, 1,204,212,159,208, 59, 56, 28,206,241, 46, 93,186,212, 31, 53,106, 20,209,170, 85, 43, 36, 36, 36, + 4,238,220,185,179,219,225,195,135, 83, 41,138,186, 9,224, 62,244,211,158, 88, 1, 30,128, 70, 28, 14,167,249,191,153, 83, 34, +145,136,213,106,245,112, 63, 63,191,209,111,191,253,118,243,190,125,251, 18,141, 26, 53,194,189,123,247, 90, 29, 61,122,116,222, +185,115,231,110,102,102,102,110, 18, 8, 4,209, 57, 57, 57,138, 23,254, 28, 39,136,209, 0,234,232,117,242, 2, 43,190,179, 81, +158, 75, 42,199,218, 58,148, 74,165,151, 97, 10, 27,130, 32,188,254,201,254,216, 88, 87, 18, 65, 16,110,250,178,168,238,155, 36, + 73,232,116, 58, 25, 69, 81, 65, 53,112, 54,210,191, 72, 89,173,117, 1, 84,151, 8, 90, 12, 0, 61,218, 55,125, 10, 2,119, 42, + 44, 90, 85, 95, 50,239, 84, 8, 48, 6, 77,143, 93,184,227, 86,201, 10,102,250, 22,187, 96, 1, 49,111,222, 60,204,159, 63,191, + 47,128,142, 52, 77,159, 11, 9, 9, 89, 83,137,146,166, 43,214,205,155, 55,111,117, 53,215, 57, 11, 22,175, 10, 58,195,150, 73, +165, 45,190,255, 4,245,239, 4, 10, 35, 2,220,189,194,199,143, 26, 32, 14, 13,105, 0, 37, 28,144, 86, 72,225, 72,220, 81, 0, +216,109,155,213,105, 64,107, 46, 87, 25,189,108,254,212,198, 29,223, 12,197,173, 44, 45,174,101, 81,144,167,106,193, 33,181,160, +104, 6, 96,160,172,109,175, 51,139,116, 56,127, 95, 13,146, 0, 56, 36, 64,146, 4, 56,100, 45,201,104,245,131,133,219,174,135, + 22,230,209, 0,173,126,240,140, 7,164,105,195,134, 13,135, 69, 70, 70,186,228,230,230,218, 39, 36, 36, 64, 40, 20,194,213,213, +149, 35,145, 72,234,172, 88,177, 66, 49,126,252,248,222, 26,141, 38, 13, 64,161,149,156, 33,189, 90, 55,191,184,105,217, 66,103, +237,229,163, 40,222,245, 43, 56, 36, 3,190,189, 3,234,139,197, 56,250, 97, 3,183,240,184,212,125, 87,242,100, 33, 0,178,106, + 34,187,123,247, 46, 71,165, 82, 13,114,114,114,106,199,227,241,188, 69,174,245,232,108,110,235, 39, 5, 68, 96, 74,190,151,188, +211,228,110,222, 61,127,152,216, 5,147, 86, 28,195,170,157,151,126,110,137,220,185,213,229,205,182,179,115, 24, 51,254,139, 81, + 14,153,133, 26, 44,218, 87,136,109,103,165, 24,222,209, 17,147,222,115,198,144,193, 3,237,247,254, 26, 59, 6,192,102,163, 77, +238,133,132,132, 16,119,239,222, 53,119,243,117, 5, 48, 93,173, 86,147,124, 62,159, 16,137, 68,195, 22, 47, 94,172, 25, 60,120, +112,166,161, 64,199,142, 29,209,177, 99, 71,162,180,180, 52,240,212,169, 83,129, 49, 49, 49,186,248,248,248, 36, 0, 7, 45, 91, + 44,196, 25, 74,165,162,174, 72, 44,150,175, 95,183,238,135, 78,157, 58,209, 66,225,223,233,167,106,195, 9, 0,206,206,206,155, +189,188,188,136,111,190,249, 38,251,121,113,214,171, 87,239,216,155,111,190,217,165, 71,143, 30,220,246,237,219,163, 78,157, 58, + 21,235, 60, 60, 60,208,177, 99, 71,226,241,227,199, 45,206,157, 59,183,238,216,177, 99,107,254,250,235,175, 83,105,105,105, 61, + 94,176, 69,107,147, 94, 76,228,216, 88,254,149, 7, 65, 16, 14, 27, 55,110,244, 50,204,201,168,213,106, 65, 81, 84,197,183,225, + 67,211, 52, 40,138,194,226,197,139, 41,153, 76,102,205, 62,146, 25,189, 53, 27, 62,180,185,111,129, 64,224, 97, 72,216, 91,195, +157,253,142, 68, 88,220,196,222,222, 62, 0, 64, 47,120, 6, 79,175, 92,160,252,253, 89, 38,147,165,231,168, 92,238, 0,232, 84, + 13,155, 75,100,100,228,240,249,243,231,127, 96,100,165,109, 30, 17, 17, 97, 58,237, 85,115,253,183,140, 32,136,211, 36, 73, 30, + 2,176, 13,207,209,234,206,226,245, 2,195, 48,109, 0,120, 26, 45, 82,163,124, 84, 8,250,231, 36, 1,192,221,100,185,113, 57, +195,119,129,126,185,167,126, 59,198,136,183,128, 32,136,171,181,108,226, 25, 88,240,211,226, 2, 64, 92, 92, 28,211,167, 79, 31, +194,240,109, 94, 20,133, 31,249,116,240,251, 61,123,119,125, 27,164,200, 21, 15,242,129,248, 12, 6, 92, 82, 11, 18, 12, 46, 95, + 56,197,128, 75, 71,155,108,101,217,122, 82,175,255,215,205, 67, 67,150,110, 89, 54,129,147,148,207,197,182,115,114,104,148,101, + 40,200,205, 64,126,118, 58,114, 50, 83,144,149,145,114, 19, 32,230, 89,205, 89,229,192, 0, 20,173,127, 7,164,129,106, 34, 47, +107,230,212,200,238, 6, 54, 10, 13, 45, 18, 80,128, 70,118,215,138,234, 45,113, 54, 11, 14, 14, 30, 60,107,214, 44,183,219,183, +111,139,229,114,185,234,232,209,163,247,210,210,210,156, 36, 18,201,211,177, 99,199, 6,215,169, 83,199,233,163,143, 62, 18,236, +218,181,171, 31, 42,135,181, 90,226, 12,125,191,221,255,226,183,174, 89,105,255,100,111, 20,212,201, 55,112, 36, 71,134, 11,121, +114, 38,208, 89, 72,124,213,194, 19, 14, 66, 46, 22,182,175,227,208,107,127,242, 82, 45, 77, 15,169,142,243,226,197,139, 18, 59, + 59,187, 21, 67,135, 14,149,140, 27, 55, 78, 72,113, 93,184,177,241, 79,156,167,175,139,175, 35, 87,105, 56,131,187,212,195,228, +161,205, 49,121,213, 73,131,200, 26, 93,191,126, 49,125,253,186,101, 78,173, 70, 83,223,207,203, 9,137,105, 10,108, 59, 43,197, +159,179,234,160,235,226,108,124,212,146,139, 16,127, 7,232, 52,218, 70, 17, 17, 17,209,250,183,246,171, 0,250, 69, 68, 68, 52, +230,112, 56, 39, 1, 28,168,233, 24,137, 68,230,103, 79,113,117,117, 69, 88, 88, 24, 66, 66, 66,184,157, 58,117,106,110, 34, 96, + 42,113,106, 52,106, 9, 77, 51,112,116,116, 20,187,187,187,187, 58, 58, 58, 62, 49,247,160,178,133, 19, 0,220,220,220,250,135, +133,133,113,119,238,220, 89,152,154,154,122,121,240,224,193, 41, 78, 78, 78,149,172,191,246,246,246, 8, 14, 14,198,156, 57,115, +184, 61,123,246,172,145,211,219,219,187,123, 76, 76, 12, 8,130,168,120,104, 87, 49, 22, 7, 4,192,199,199, 7,189,122,245,226, +246,239,223,191,123, 90, 90, 90,173,174, 35, 27,112,194,140, 69,107,129,201,113,178, 56,252,102,174,188, 21,199, 61,223, 96, 93, +210,243,225, 25,174,205,106,135, 59, 69, 34, 81,133, 21,202, 76, 93, 85, 56, 73,146,196,236,217,179, 65, 16, 4,120, 60, 30,248, +124,190,217,239,206,157, 59,219,218,206,199, 4, 65,144,124, 62,127, 58,151,203, 29,165, 82,169,252, 68, 34, 81, 54, 69, 81, 63, +171, 84,170,197, 0,180, 12,195,184, 88, 16, 89,102, 57,237,237,237, 3, 30, 60,120,208,208, 82, 67, 84, 42, 21,154, 55,111, 14, +168,144, 84, 29,103,114,114,114, 64, 80, 80, 80, 35, 0,134, 41,218,206, 50, 12,211,201,232,191, 49,206, 50, 12,243,158,254,247, +253, 71,143, 30, 5, 52,104,208,160,232, 69,157,159, 44,231,191,143,179, 6, 45,226, 73, 16, 68,156,209,181,218,199,240,127,198, +140, 25, 51,151, 44, 89,114,155, 32,136, 56,227,229,198,229,140,191,245,247,155, 56,134, 97,250,124,243,205, 55,161,223,125,247, +221,183,134,178,255,132, 72,180,197,162,229, 84,160,180,199,185, 12, 39,112, 57, 20,184, 36, 1, 46, 7, 0, 67, 32, 61, 45, 25, +165,210,226,243, 72,221,151,106,157, 37, 43,188,253, 27,111, 52, 91,182, 99,213, 52,242,167,115,114, 20,203,148,184,251,215,105, + 92, 61,125, 32,151,210, 81, 7, 64, 48,215, 0, 50, 1, 41,244, 61, 32,182,118,115, 92, 16, 12,183, 92,104,233,197, 85, 37,177, +245,210,208,162,113,227,198, 3,231,204,153,227,113,253,250,117, 81, 73, 73, 73,233,142, 29, 59,178, 85, 42, 85, 26,128, 63,210, +211,211, 27,175, 94,189, 90,176,108,217,178,102,205,154, 53,147,236,217,179, 71,109,102, 58,163, 42,156, 83, 71, 12,137, 31, 53, +126,162, 40,105,207, 90, 8,146, 18, 48,251, 70, 33,245,103,142,124, 22,128, 85,120, 92,214,190, 64,169, 59,190, 50,172, 46, 89, +207,145,143, 6, 46,130,206,119,159, 42,171,181,100,217,217,217,173,136,137,137, 9,104,211,166, 13, 9, 0,231,238,235,132,211, +215,197,215,249, 99, 73,123,162,125, 83,119,228, 23,171, 48, 97,109, 34,142,198,231,255,110, 16, 89, 53, 53,210,209,209,177, 32, + 51, 95,234,237,238, 32,194,199, 29, 28,208,117,113, 54,194, 91, 11, 33,228, 19,184,151,154,139, 6, 65,245,136,196,243, 7, 91, +235, 69, 86,155,156,156, 28, 0,104, 13, 32,245,241,227,199,146,182,109,219,150, 24,209, 21, 1, 88, 42, 16, 8,102, 19, 4,193, +180,105,211, 38,177, 89,179,102,101,174,174,174, 80, 40, 20, 80,169, 84,224,243,249, 80, 40, 20, 72, 79, 79,199,229,203,151,225, +234,234,106,211,129, 42, 43, 43,131,163,163, 35,104,154,126,102, 78,138,162,136, 13, 27, 54,216,223,190,125,219, 62, 54, 54,214, +123,210,164, 73, 79,154, 52,105,114,109,224,192,129, 15,189,188,188, 84, 55,110,220,192,197,139, 23, 81, 84, 84,132,118,237,218, + 89,197,169, 86,171,193,229,114,161, 80, 40, 32, 20, 10,193,229,114,161,211,233, 64,211,116,133,248, 42, 43, 43,195,211,167, 79, +193,231,243,161, 86,171, 95,198, 27,104, 21, 11, 85,117,195,111,181,177,104, 25, 11, 53, 43, 69, 86, 77,150, 40,139,195,157,197, +197,197, 98, 23, 23,151,233, 0,114,106,170,139, 32, 8,112, 56, 28,240,249,124, 16, 4,129, 78,157, 58,225,211, 79, 63, 69,203, +150, 45,145,156,156,140, 93,187,118,225,234,213,171,224,241,120, 21,229,173, 30,159,232,220,153, 35, 18,137, 46,190,255,254,251, +161,179,102,205, 18,213,171, 87, 15, 73, 73, 73,254,223,125,247,221,244, 19, 39, 78,124, 32,147,201, 90, 27,238,118,213, 91,233, +245, 67,130,229,195,133,189, 84, 42, 21,146,146,146,108,217,166, 10, 26, 52,104,144, 78,146,228, 67,154,166,207, 1,104,206, 48, + 76, 39,130, 32,142,162,220, 47,209, 24, 50,134, 97,222, 35, 8, 66, 10,224, 38, 73,146,247,105,154, 78,103,237, 54, 44,172,184, +175,244, 49,253, 79, 16, 68,220,146, 37, 75,250,152, 19, 87,102,174,205, 74,203,191,251,238,187,111,141,254, 63,139, 69, 53, 12, +149,157,225, 59,235,173, 92,127, 11,173,184,184,184,234, 21, 8,141,143,226,246,237,188,212, 85,131,128,208, 86, 29,141,172, 67, + 12, 18, 46, 95, 4,192,252,108, 85, 83, 36,125,196, 36,135,251,243,134,111,199,145, 27, 79,203,241, 56, 59, 31, 23,143,252,140, +130,156,180,109, 0, 51, 9,169,177,210,103, 62, 18,245, 62,106,230,229,238,225,162,212, 48,160, 25, 0, 85,196,214, 75, 65,203, + 70,141, 26,245,143,143,143,247, 80, 42,149,162,243,231,207,203, 99, 98, 98,114, 53, 26,205,105, 0, 23,244,101,174, 23, 20, 20, + 68,232,133, 9,135,203,229, 10, 52, 26, 77,117,190, 11, 45,167,142, 26,126,126,233,134,173,162,135,183, 18,177, 58,246, 8,138, +229,114,234,116,190,162, 31, 0,131,162, 63,121,189, 80,145,197,128,169,203, 35, 9, 72,236,121, 62,119,159, 42, 69,128,249, 33, + 89,149, 74, 53,120,232,208,161, 18,131,200, 2,128,194, 82, 45, 87,174,210,114,218, 55,117, 71,171, 46, 17, 72, 56,181, 23,123, +206,102, 33,200,211,238,108,125,251, 98,171,246,104, 65,126,206,134,149, 81, 27, 87, 46, 93, 48, 85, 48,185,151, 51,194, 91,243, + 32,226, 19,112,178,227, 97,241,154,205,218,235,151,207,222,144, 72, 36,113, 0,250,229,228,228, 64, 34,145,148, 1,184,207,225, +112, 82, 41,138, 50,231,212, 61, 23,128,119,116,116, 52,169,213,106,203,146,147,147,225,227,227, 3,111,111,111, 56, 59, 59,227, +238,221,187,248,243,207, 63,113,239,222, 61,208, 52,141, 55,222,120,195,166,131,245,228,201, 19,220,184,113, 3,189,122,245,158, + 84, 80,144,239,228,234,230, 46, 59,127,238,236,247,181,225,164,105,154, 0,128,208,208, 80,132,134,134,138,178,178,178,252,226, +226,226,188, 22, 45, 90,148, 17, 16, 16,176, 67,161, 80, 84,178, 28, 88, 43,180, 12,226,194, 32, 2, 69, 34, 17,248,124, 62,164, + 82, 41,242,242,242, 80, 90, 90, 30,180,233,226,226,242, 82,132,150, 5, 11,213,115, 43,255, 15,139,195, 42,195,157, 46, 46, 46, + 67, 1, 76,183,178, 47,208,233,116,224,243,249,104,219,182, 45,162,162,162,112,245,234, 85, 28, 56,112, 0,254,254,254, 24, 49, + 98, 4, 72,146,196,237,219,183,109,109, 34, 29, 31, 31, 63,189, 95,191,126,161,209,209,209,162,244,244,116,220,187,119, 15, 46, + 46, 46,136,138,138, 18,142, 30, 61,186,193,169, 83,167,230,162, 60,248,165,122, 24, 69, 23,202,196,146, 1,205,155, 55,175, 82, +196,199,199,199,249,143, 63,254,240,170, 16, 96,166, 17,137, 85, 81, 60,119,238,220,149, 33, 33, 33,171,244,195,133, 29, 1,216, + 51, 12,211, 57, 54, 54,150, 0,128,240,240,112,134, 32, 8,195, 3,233,230,222,189,123,187,220,189,123,151,153, 63,127, 62,235, +163,197,194,146, 22, 25,109,184, 38, 45, 9, 40, 91,132,154,177, 60,104, 55, 9, 0, 0, 32, 0, 73, 68, 65, 84,197,203,128,111, +190,249, 38,116,201,146, 37, 87,158, 81,100, 25,191, 49, 49, 6,177, 85,241, 48,181, 56,100, 88, 97,251, 34, 37, 62, 94,238,110, + 51, 70,180, 7, 77, 3, 58, 10,208, 81, 12,100,114, 5,146,110, 93,149, 67, 68,196, 90,213, 28,161, 96,217,162, 89, 19, 3, 19, + 51, 73,100, 23,105,112,230,224, 70,166, 32, 39,173, 63, 82,247,142,124, 62, 34,107, 64,115, 31,111,175, 51, 59, 55, 46, 36,175, +166,168, 65,209,229, 58,139,166,153,138,223, 47, 1, 62,158,158,158, 67, 46, 93,186,228, 41, 20, 10, 69, 15, 30, 60,160,247,238, +221, 91,164,209,104, 78, 24,137, 44, 0,104,223,186,117,107,157,131,131, 3,100, 50,153, 70,163,209, 40,171, 17, 89,126,157, 91, +182, 56,187,116,195, 86,145, 82,173, 70,137, 66, 5,142,187,151,169,200, 2,128,183,187, 52,244,245, 37, 68,142, 96, 0,164, 73, + 53,217,150, 68, 22, 0, 8,133,194,110,227,198,141,171, 52, 47,158,135, 35, 79,103, 39,228, 81, 23,238, 20,210, 9,167,246,226, +220,237, 66, 90,196,231, 80,158, 76, 74,160,181, 59,160, 56,243,206,134, 3,191,197, 29,255,122,206,178, 50,185,172, 20, 65,117, +196, 40, 43, 45,193,226, 37, 75,181,241,241,231, 78, 79,159,244,249, 91,123,247,238,253, 14,229,206,224, 0,112,127,239,222,189, +195,231,204,153,179, 29,127,167,121, 48, 69,246,144, 33, 67, 50,155, 54,109, 90, 18, 18, 18, 82,242,228,201, 19,220,185,115, 7, + 69, 69, 69, 88,189,122, 53,146,146,146, 96,176, 8, 90,229,171, 82, 85, 32,161,168,232,169, 3,195, 48, 40,122,250,196,126,214, +172, 89,206,181,225,164, 40,170,210,181,229,235,235,139,177, 99,199,242,229,114,185, 75, 70, 70,134,147,241, 58,107, 57,213,106, + 53, 12,150, 33,134, 97,160, 86,171, 81, 82, 82, 2,181, 90,141,135, 15, 31, 86,136, 44,125,253, 47,205,162,101,248, 45, 18,137, +242, 12,231,178, 97, 8, 78, 36, 18,229, 91, 42,255, 44, 48,170,139,209,255,182, 85, 28,214,216, 31, 43,143, 59,248,124, 62, 62, +253,244, 83, 92,185,114, 5,201,201,201,224,112, 56,144,201,100,144,203,229,232,222,189, 59, 4, 2,129,173, 22, 45,134,207,231, + 15,157, 57,115,166, 40, 53, 53, 21,133,133,133, 6,103,122, 80, 20,133, 73,147, 38,137,133, 66,225, 80, 91, 77,247, 57, 57, 57, +239, 62,124,248,176,145,233, 39, 55, 55,183,196,216,167,176,182,136,141,141, 37,194,195,195,153,240,240,112,198, 32,184, 88,176, + 48, 7, 11, 90,100,147, 37,139,214,243,176,138, 25, 44, 91,208, 7,136,212, 2, 6,145, 21,102, 36,188, 8,131,133,203,186,161, +195,160, 1,255,243,118,119, 59, 21,189, 54,210, 33,238, 22,129,204,199,105, 40,200, 73, 71,235,183, 58, 35,233, 86, 34,104, 45, +181, 15, 15, 99,107,246,228,172, 23,222, 48, 36,164,201, 23, 97,111, 53,195,178,184, 50, 60, 72,248, 3,197, 5, 57, 63, 34,109, +239,190,231,114,132, 2,194, 91,120,123,185,157,218,190, 54,210,229,232, 29, 18,143, 31,167,225,224,246,149,140, 86,163, 42, 70, +229, 72, 46,155,223,154,197,180, 90, 80, 86,156, 7,117, 41, 5, 17, 41, 23,217, 56, 72,145, 11,224,220,202,149, 43,187,182,107, +215, 78, 48,100,200,144,220,162,162,162,131, 0, 46, 25,149,105,218,176, 97,195, 94, 81, 81, 81,222,143, 31, 63,198,137, 19, 39, +114, 81, 30,250,111, 9,153,103, 19,111,173,251,115,251,230,169,226,192,198, 88, 61,243,107, 93,236,213, 59,239, 3, 56,106, 84, + 38,164, 91,243,134,113,139,166,124, 73,210,215,127,199,141,244, 60,164,148,168,254,180, 68, 88, 88, 88, 72,200,229,242, 0, 23, + 23, 23,227, 19, 18, 18,123,153,106,218,128,134,217,221,167,159,175,163,212, 80, 16,242, 72,102,194, 7, 1,217, 87, 14,198,186, + 23, 42, 11, 9, 67, 52, 98, 77,248,108, 96,183, 15,214,198,236,255, 56, 46,238,240, 23, 26,149,178, 89,227,198,141,152,107,241, +167,110, 76,159,244,121,207, 90, 30,113,135, 43, 87,174,144, 28, 14,167,146, 64, 55,182, 16,217,106, 41,178, 5,214,114,154, 10, + 45, 3,116, 58, 29, 81, 91, 78,149, 74, 85, 33,180, 76, 31,238,230, 4,227, 63,209,127, 91, 44, 84,198, 67,134, 6,127, 58,165, + 82,233,165,247,217,242,126,158, 22,173,103,137, 68,172,110,248,210,150,246,145, 36, 9,154,166,193,231,243,241,198, 27,111, 32, + 46, 46, 14,110,110,110,112,114,114,130,147,147, 19,196, 98, 49,220,221,221, 43,132, 22, 73, 90, 29,165,195,168, 84, 42,127,127, +127,127, 60,124,248, 16, 34,145,168,226, 35, 20, 10, 17, 26, 26, 10,153, 76,230,139,151,105,187,103,193,226,159,189,175,196, 25, +139, 37,130, 32,226,102,204,152, 49,179,182,124, 51,102,204,152,105,206,194,245,140,130,171,146,117,139,107,172, 32,205, 42, 73, +189,200,218,246,227, 2,167,253,127, 1,153,153,169, 56,190,103, 77,169, 86,163, 46,162,105,109, 64,202,189, 68,128,196,207, 86, + 53,129,100,222,252,160, 87, 23,226,248,109, 53,164,197, 5,184,127,237,143, 52, 40, 4,223, 60, 55,145,229,237,113, 42,122,237, + 2,151, 67,183, 8, 60,126,156,134,163, 59, 87, 75,181, 26, 77, 55,164,198, 94,123, 22,234,161,124,254, 7,252,186, 25,125, 70, +117,204, 6, 69, 80, 24,154,116,247,189,252, 92,124,144,115,190,250,200, 48, 99, 20, 20, 20, 28, 92,185,114, 37,177,124,249,242, + 48,165, 82,249, 43, 0, 99, 19,101,179,160,160,160, 65,155, 54,109,114,123,252,248, 49,239,252,249,243,178, 83,167, 78, 49, 0, + 14,213, 96,113,153,214,125,228, 88, 78,203,122,190,227,174,167,101,189, 15,224,119,163,213,161,125, 90, 53,189,176,117,201, 92, + 71,237,133, 88,148,229, 60,198, 55, 23, 50,165, 0,172,222,223, 90,173, 22, 37, 37, 37,208,150, 61,209,181,150,200, 74,230, 71, +120,169,242,138,148, 92, 30, 45,215,133, 56,229,171, 78, 61, 73,225,216,217,217,217,180, 47,215, 46,153, 26, 3, 32, 38, 34, 34, + 34,250,102,252,225,214, 18,137,228,112, 72, 72, 8, 1, 0, 22, 34, 12, 45, 33, 18,192,164,183,223,126,155,104,219,182,237,229, + 85,171, 86, 29,171, 78,172,212,198,162, 85, 19,172,229,164,105,154,180,176,127,137,218,114, 26, 91,180,106, 18, 90, 47,211,162, +101, 78,180, 24,139, 68, 99, 33,244,111,136, 58,172, 78, 76,217,210, 62,131,159, 28,159,207, 71, 98, 98, 34,234,214,173, 11,141, + 70, 3, 71, 71, 71, 56, 58, 58,194,193,193, 1,165,165,165,224,241,120,176,177,207,180, 72, 36,202,184,115,231, 78, 35, 79, 79, + 79, 80, 20, 85, 73,108, 61,120,240, 0,246,246,246, 89,182, 90,180, 36, 18,201, 31,250,168,195, 74,240,241,241,113,126, 30,251, +213,216,146, 21, 30, 30,206, 14, 17,178,168,214,154,101,193,170, 85, 96, 98,137, 82, 27,253, 47, 64,121, 14,183, 62,250,223, 48, +243, 91,109,102,217,147, 37, 75,150,156, 50,242,239, 42,120,198, 46, 24, 82, 60, 84,138,112,225,214,100,201,242,114,115, 61,181, +101,245,124,167, 61, 9, 64,214,227, 84,156,217, 23, 85,162,163, 52,239,128,102,114,226, 79,236,139, 5, 1, 57, 82, 98,207, 88, +119,139, 64,203,150, 77, 2,112,224,182, 22, 5,153, 15,192, 48,244, 54,228,199,200,159,249,232, 4,125,244,134,151,155,199,169, +109, 81,243,157,247, 39, 18,200,124,156,138,227,123,162,164, 58,173,188, 43, 82,247, 37,212,150,246, 83,192,149, 99, 47, 90,215, +191,115,203, 1, 1, 65,126,160, 25, 45,104, 62,131,143,166,121,112,239, 95,151, 31, 56, 39, 42,217, 67,151,209, 95,100, 93,178, +206,129,174,172,172,236, 0,128,107,168,156, 94,161, 69,112,112,240,128,117,235,214,121,102,102,102,138,174, 95,191,174,216,184, +113, 99, 62, 77,211,251, 1, 88, 51,148,250,245,245,180,172, 45,168,156, 47,167,197,212,145, 67,226,135,124, 50, 74,148,122, 34, + 6,174,169, 73,152,114, 33,155,186, 95,164, 30,172,183,174,153,133,135,135, 7, 83, 88, 88,152, 94, 92, 92,220,200,222,222, 30, + 79,158, 60,193,211,167, 79, 81, 82, 82, 2,149,244,169,206,157, 42,150, 17,186,167,224,241,120,200,127,172, 5, 69, 81,185,214, + 90,179, 0,184, 70, 70, 70,126, 70,211,180, 33, 35, 98,165,232, 66,163,114,134,243,161, 81, 68, 68, 68,180, 81,212,161,177, 51, +188, 33,189, 3,161, 79,239,208,238,247,223,127,191,219,179,103,207, 76,115, 98, 69, 40, 20,218,236, 40,109, 41,138,177, 54,156, +150, 44, 90,166,203,109,225, 52, 12, 95, 26,156,224, 77,151, 27,192,225,112, 64,211, 52,172, 8,170,248, 71, 69,139,113,116, 96, +109, 68,142,201,177,169, 54,113,104, 45, 35, 17,159,171, 69,203,112, 44,248,124, 62,126,251,237, 55,124,242,201, 39,160, 40, 10, +118,118,118,112,112,112,128,189,189, 61,246,237,219, 7, 67,250, 7, 91,244,171, 86,171,253,101,201,146, 37, 51, 55,108,216, 32, +102, 24, 6, 2,129,160, 66,104,205,159, 63, 95,161,209,104,126,177, 74,104, 25, 50,190,211,204, 29,123,123, 93,181, 81,135,230, +182,177,224,175,229, 18, 25, 25, 57,156,166,233, 15, 96,146,194,193,164, 92,165,212, 15,108,122, 7, 22, 86,220, 79,174,254,139, +155,103, 16, 88,132,145, 37,171, 66,112,145,213,137, 23, 79, 87,151, 83,155, 87,207,119,218,113,149, 64,106, 74, 10, 78,255,186, +166, 92,100, 61,218,243, 23,210, 99,243,144, 26,219, 1, 41,177,239, 90,253,246, 68, 16, 45,235,120,185,224,169,140,134,180, 48, + 3, 96,112,253,121,136, 44, 79, 87,207, 83, 63, 69,205,119,222,251, 23,137,212,212, 84, 28,223,179,166, 68,167, 83,190,243, 44, + 34,107, 40,159,255, 65,112, 67,191,228,217,159,125, 48,160,109, 3, 31,184,103,220,197,161, 17, 3,176,112,215,135,112,244,228, +224,205, 94,142,248,116,177,207, 0, 73,168,240,161,164, 3, 62,176,129,218, 88,100,181,172, 95,191,254,128, 75,151, 46,121, 52, +111,222, 92,116,239,222, 61,229,198,141, 27,243, 21, 10,197, 49, 0,137, 54,112, 26,139,172,150, 51, 70,143,136, 95,186, 57, 90, + 68,242, 5, 88,246,203, 33,140, 63,155, 73, 29, 78,151, 70,160,242,176,162, 89,168, 84,170, 19, 81, 81, 81, 42,146, 36,241,244, +233, 83, 20, 22, 22, 34, 63, 63,191,226,187,184,184, 24, 28, 14, 7, 39, 79,158, 84, 75,165,210, 75,214, 54,240,226,197,139,245, +179,178,178, 66,114,114,114, 90,235, 63,247, 80, 30, 93,232, 96,180,172,117, 78, 78, 78, 24,128,171,134,229,153,153,153,245, 46, + 95,190, 44,169,137,223,209,209, 17,124, 62,191,146, 69, 75, 40, 20,194,219,219, 27, 58,157, 14,187,119,239, 6,128,167,213,113, +240,249,130, 28,146, 36, 64, 51,180, 74, 36, 18,209, 18,137,196,172,192,178,133, 83,143,204,247,222,123, 79,153,144,144, 96,214, +162, 85, 27, 78,134, 97,228, 61,122,244, 64,118,118, 54, 68, 34, 81,197,195,218, 32,168, 72,146,132, 80, 40, 68,110,110, 46,198, +140, 25, 3,134, 97,228, 47,250,206, 99,236,211,164, 23, 67, 4, 0, 66, 47,132,170,248,105, 89,235, 3,101, 24, 26,100, 24, 6, + 6,193,101,178,190,162, 46,107,178,183,155,248,116,141, 46, 46, 46, 94, 90,222, 28,102,163,201,247, 38, 27, 30, 10, 21, 66, 43, + 41, 41, 9,209,209,209, 40, 46, 46,134, 64, 32, 64, 81, 81, 17,182,110,221,138, 59,119,238, 64, 32, 16,192,176, 47,172,213,111, +109,219,182, 93,122,238,220,185, 59,131, 7, 15, 86, 36, 38, 38, 66,161, 80, 32, 49, 49, 17,239,190,251,174,242,194,133, 11,201, + 10,133, 34, 18,214, 12, 29, 26, 50,190,235,167,215, 81,169, 84,184,126,253,186,217,143,165,109, 76,145,156,156, 28, 64, 81, 84, + 35,134, 97, 58, 50, 12,227, 4,125, 10, 7,253,127,227,207,123,250,117, 78, 12,195,116,164, 40, 42, 56, 57, 57, 57,128,149, 19, + 44, 94, 81,156, 49, 18, 91,140,145,200, 58, 83,189, 69,139, 38,163,182,172, 89,224,244,203, 21, 18,143,211,147,113,237,200,186, + 18,138,214,190, 99,227,116, 56,221, 96,148,107, 67, 36,182,111, 70, 19,229,225,204,210,194,199, 0,195,169,141,208,170,196, 9, +154,140,218,186,102,190,243,206,107, 4,178, 31, 63,194,133,131,107, 75,116, 58, 85, 87,164,196, 94,175, 13,231, 80, 62,127, 14, +143, 67,204,238,209,254,127,252, 14,255,107, 8,251,252, 52,228,102,102, 99,119, 82,193,211,228, 34,213,168, 11,132, 6,233,143, + 84, 91,122,125,230,230,230,234,195, 67,159,207,221,221, 46, 29,146, 30, 32,120, 50, 13,163, 97,150,228, 92,168,152,150,162,114, + 59,171,194,199,209,209,113,240,181,107,215,156, 68, 34,145,248,218,181,107,244,198,141, 27,159, 40, 20,138, 35, 0,226,173,234, +123, 85,248,181,105, 24,116,230,219,181,155, 69,101, 50, 57,100,106, 13,132,222, 18,106,127,252,173,254,176,156, 0,179, 18,167, + 80, 40,220,185,115,231,206, 94,157, 58,117, 10,104,214,172, 25,249,244,233, 83,148,149,149, 85, 56, 87,123,122,122, 34, 41, 41, +137, 78, 77, 77,205, 22, 10,133,187,172,109,231,219,111,191,157, 74,146,228, 61,253, 48,218, 61,152, 68, 23, 26, 21,109,148,147, +147,211, 70, 34,145,156, 1, 96,103, 20,117,104,204,105, 72,239, 48, 19, 0, 73, 16,196,213,196,196,196,178,158, 61,123, 66, 44, + 22, 67, 38,147,193,223,223, 31, 58,157, 14, 71,142, 28, 65, 66, 66,130,140,166,233, 51,102,196,107,165,118, 42,149, 10,127, 0, +164, 66, 46,127, 99,248,240,225, 97,147, 39, 79,174, 20,146,238,229,229, 5, 55, 55, 55,155, 56, 1,224,233,211,167, 77,126,255, +253,247,137,137,137,137, 95,247,234,213,203,121,230,204,153,194,250,245,235,131,162, 40,178,182,156, 69, 69, 69,206,215,175, 95, +255,190, 67,135, 14, 95,246,236,217,147,251,237,183,223,194,217,217, 25, 20, 69, 65, 44, 22, 67, 42,149, 34, 50, 50, 18,231,207, +159,215, 49, 12,179,182,164,164,100,138,141,231, 18,158,245,218,180,100, 1,178,148,146,193, 66,249,127,188,157, 38, 62, 93,208, +167,112,152,110, 33,131, 61,172, 61,231, 13, 66,139,195,225, 32, 45, 45, 13, 27, 55,110,172,146, 71,203,144,254,193, 2,183,185, +190, 51,167, 79,159,166, 8,130,120,235,218,181,107,211, 63,254,248,227, 81, 50,153,204,207,222,222, 62, 91,171,213,254,172, 80, + 40, 22,163,220, 31,149,111,203, 61, 68, 38,147,165,155,139, 58, 52, 45, 3,184, 84,203,105,146,222,161, 82, 10, 7,147,109, 42, +165,126, 48,147,222,225, 31, 63,238, 44,231,191,146,243, 85, 23, 91,150, 19,150, 86, 65,203,209, 60,158, 66,219,252, 92, 50,241, + 44, 34,171,170,181, 68, 41, 79,158,187, 51,227,127,106,149, 18,178,146,188,251, 72,219,157,255, 76,221,210,183,243,108, 50,129, +180,212, 71,184, 18,183,182,188,157, 41,177,181,110, 39, 1,124,179,254,104, 44,159,112,118,195,141,137,159, 32,187, 88,134,163, + 41, 69,123, 24,185,234,139, 95,128, 34,156, 7, 72,157,234,220,214, 89,185,235, 58,126,228, 60,192,195,151,135, 21, 83,127,134, +104,134, 59,255,205,174,157,108,153, 3, 49, 87, 36, 18,157, 91,189,122,117,183,142, 29, 59, 10, 35, 34, 34,204, 57,200,219,138, +204,171, 15, 30,173, 63,188,225,135,169,238,205,219,225,199, 57,211,168,157,241,183, 76,163, 16,171, 69, 72, 72, 8,117,241,226, +197,201, 99,198,140, 89,209,173, 91,183, 58,239,191,255,190,192,223,223, 31, 66,161, 16,143, 30, 61,194,185,115,231,212, 41, 41, + 41,217,114,185,124,114,139, 22, 45,108,201,113, 86, 52,119,238,220,165,250, 58, 8,253,112, 97,107,232,163, 11, 13,133,244, 73, + 75, 91, 3,176,155, 63,127,254,199, 0, 96, 33,236,123, 46,128, 13, 0,184, 12,195,228,198,196,196,188,117,240,224,193,183, 38, + 77,154,196,239,213,171, 23, 46, 93,186,132,227,199,143,107, 52, 26, 77,188, 94,184, 90, 59, 85, 14, 13,224,186, 78,167,187,181, +108,217,178,183, 56, 28,206, 92,195,138, 59,119,238, 96,219,182,109,181,225,212, 1,248, 62, 47, 47,111,125, 76, 76,204,220, 19, + 39, 78,140, 28, 62,124,184,147, 86,171, 69, 82, 82, 18,126,250,233,167, 90,113,150,148,148, 76,244,240,240,152,125,228,200,145, +159,143, 29, 59,214,111,216,176, 97,228,248,241,227, 17, 21, 21,133, 95,127,253,149,166, 40,234, 32,143,199, 27, 94, 88, 88, 40, +123, 25,119, 29,253, 48, 92,182,141,115, 29,214,200,251, 44, 67,131, 86, 34,231, 89, 9, 12,253,232,220,185,115,133,149,209, 96, +133, 51, 46, 67, 16,132,205, 67,135, 0, 92, 24,134,161, 1,172, 69,249,252,162,198, 89,225, 57,248, 59,115,188,181,140, 77,115, + 84, 46,119,160, 66, 82,245,147, 74,187, 0, 12,154,214,192, 86, 60,119,238,220,149,243,230,205, 91,105,154,194,193,184,144,105, +234,135, 5, 11, 22,128, 77,239,192,226,117,133,121,161,117,125,147, 86, 27,216,127,230,234,111,167,205,211,105,213, 37, 12, 52, +225,120,180, 47,241, 89, 43, 99,104,102,198,201, 29,243,163,192,160,136,161,116,211,159,185,245,255, 80, 59, 9,103, 55,148, 70, +142,197,175,183,179,153, 92,153,246,195, 95, 52,154, 74,214,160,114,159, 44,122,224, 41,101,209,110,215, 58,188,253, 19,223,113, + 39, 14, 63,253,216,230,122,242,243,243,127, 91,185,114, 37,249,195, 15, 63,132,201,229,114, 83, 7,249,218, 98, 90,223,113, 51, + 56,111, 6, 7,140,187,242, 48,253, 3, 88, 49, 92,104,138,183,223,126, 59,231,238,221,187, 67,142, 29, 59, 54,248,236,217,179, +221,100, 50, 89, 0, 65, 16,176,179,179, 75, 87,169, 84, 39,132, 66,225, 78, 27, 69, 22, 0, 96,222,188,121,204,130, 5, 11,136, +187,119,239, 50, 28, 14,231, 79, 0,169, 28, 14, 39,205,216, 9,222,120,185, 97,155,249,243,231, 91,243, 64, 60, 91, 86, 86,150, + 16, 25, 25,217, 41, 50, 50,242, 13,189, 85,232, 44,254,246,249,178, 21, 90, 0,103,249,124, 65, 54, 65, 16,126,124,129, 80,118, +241,226,197, 19,207,200, 41,215,104, 52,211, 31, 63,126,188, 98,197,138, 21,139,237,237,237,219,220,185,115,231,207,103,225,212, +139,168,254,110,110,110,117,162,163,163,247,110,221,186,181, 29,151,203,189, 68, 16, 68, 68, 73, 73,201, 75,157, 84, 90, 63, 65, +244, 2, 27,230, 58,180,138,247,121, 39, 41,253, 39,132, 27, 69, 81,101,179,103,207,206, 55, 21, 94,166,214, 43,195,127,125, 42, + 23,107,246,169, 45, 81,148, 53, 8, 23,162, 12, 0,202,231, 46, 44,159, 86,199,218, 73,165, 1, 40,106,186,206, 73,146, 60, 8, +224, 62, 73,146, 15, 77, 3, 93,140,215, 45, 88,176,160,166,235,156, 5,139, 87, 26, 86,220,217,230,147,192,252,218,122,210,190, + 64,115,229,243,105,231, 16, 62,127, 1, 9, 76, 5, 64, 48,192,138, 95, 52,154, 89,213,109,232,243, 54, 22, 51, 4, 38,233,119, +230,183,185, 23,176,168, 22,125,247,133, 21,243, 15,218,200,217, 24,213, 79, 40, 91,133, 51, 60, 60,156, 99,225, 97, 94,105, 82, +105, 75,136,141,173,200,226,111,169,157,198,231,155,227,229,203,151,235,180,109,219, 54, 7,149,157,254,205, 45,103,108,236, 59, + 7, 0,245,156,247,231, 43,193, 25, 20, 20, 36,120,244,232,145,250,223,117,109,178,156,255, 74, 78,151, 38,117, 65,224, 51, 24, +231, 14,170,214,162,101, 36,208, 24,230, 39, 20, 39, 61,182,208, 78,195,117,238,146,156,156, 28,208,160, 65,131,116, 0,197, 38, +237, 48,183,142, 97,143,209,127,158,211, 28, 70,163,242, 84,116, 44,204, 28, 8,150,147,229,100, 57, 89, 78,150,147,229,100, 57, + 89,206,218, 10,173, 87, 26, 36, 88,176, 96,193,130, 5, 11, 22, 44, 88,252, 35, 32,170, 81,165,182,152, 4,107,163,108, 79,176, +156, 44, 39,203,201,114,178,156, 44, 39,203,249,159,227,172,137,219,120,251, 87,117,232,240,133,181,155, 53,171,178,156, 44, 39, +203,201,114,178,156, 44, 39,203,249, 44,130,229,149, 6, 23, 44, 88,176, 96,193,130, 5,139, 87, 6,221, 26, 66,194,165, 64,254, +254,200,170, 32,170, 26,209, 51, 8,190, 0,240,188,248,254,163,144, 0,232,109,244,255, 48,244,145,241,172,208,122,117, 17, 12, + 96, 38, 0,227,185,200,174, 0, 88, 98, 82,110, 7, 0,227, 9, 9,101, 40,159, 39,240,161, 45,149,145, 36,185,164, 83,167, 78, + 95,156, 63,127,254, 7,157, 78, 23, 89,139,246, 6, 72, 36,146,165, 4, 65,180, 2,192, 35, 8,226, 81, 94, 94,222, 18,157, 78, +247, 44, 81, 43,129, 62, 62, 62,223, 1,248, 31, 73,146, 60,130, 32,146,243,242,242, 22,233,116,186,211,207,192,233,232,237,237, +221,158, 97, 24, 31, 0, 28, 30,143,247, 36, 43, 43,235, 50,106,153, 91, 41,124,126, 18, 95, 42,211,241, 0,192,201,158,171,141, +157,223, 68, 99,237, 50,246, 20,103,193,226,191, 13,166, 60, 50,185, 18,222, 13,194, 98, 70,135, 41, 20, 64,244,168,143, 53,127, +164, 98,138,165,237, 9, 51, 81,205,166,156,239, 6, 97, 49,197,148,115,244, 8,194,247,127, 60, 66,181,145,246,214,112, 26,176, + 9, 32, 71, 91, 49, 75, 1, 97, 93,244,245,191, 29,189, 81,121,168,176, 98,232,176, 90,161, 53,176, 33, 36, 20, 23,220,216, 36, + 24,194,120, 29, 1,188,161,127,200, 63, 68,121,174,162,210,103,108,220,171,194,249,111,195, 92,134, 97,134, 84, 58, 89,205,228, + 33,122,231,157,119,222, 63,118,236,152,157, 97,190, 59,154,166, 33, 22,139,117, 0, 70,216, 80,151,215,192,129, 3,103,108,217, +178, 5, 3, 6, 12,152, 29, 23, 23,183, 18, 64,153,181, 27,187,186,186,134,187,184,184, 68,109,222,188,217,179, 93,187,183, 8, +129, 64,128, 71,143,146,253,198,140, 25,211,236,238,221,187, 7,243,243,243, 71,217,218,121, 55, 55,183,161, 46, 46, 46, 43, 54, +110,220,232,209,161, 67, 7, 16, 4,129,132,132, 4,191,137, 19, 39,190,145,145,145,177, 43, 47, 47,239, 75, 91, 57,221,221,221, + 27, 58, 59, 59,119,249,241,199, 31,197,237,219,183,135, 72, 36, 66, 98, 98,162,195,231,159,127,238,147,149,149,149,148,151,151, +119,198, 86,145,117, 51,225, 80, 63,157, 70,181, 12, 0,184,124,225,180,118, 43,226, 15,221, 60,117,168,111, 77,203,194,231, 39, + 29, 96,197, 22, 11, 22, 44,140, 49,180, 14,124, 24, 6, 83,143,253, 52,135, 4,128, 30, 35, 23,142, 31, 90, 7, 63,252,146,109, +121, 14, 91, 27,249,166, 12,247, 69, 84,116, 22,242,158,165,157,155, 0,114, 34,151, 59,254,205,182,109, 61,190,186,112, 33, 89, + 3,252,252, 31, 57, 68,102,135, 57, 45, 10,173,254, 77, 16,169, 43,183,152, 16, 61, 27, 96,215,241, 84,206,185,119,222,121,167, +193,167,159,126, 74,180,108,217, 18, 9, 9, 9, 13,119,237,218,213,251,240,225,195,201, 20, 69, 37, 0,184, 13,235,179, 90,243, + 0,132,114, 56,156, 86,255,114,206,127, 51,236,245,226, 42, 15,127, 39, 58,173,146,240,244,228,201,147,191,113,185, 92,131, 69, +235, 77,153, 76,230,109, 98, 5,179, 6,245,180, 90, 45,238,221,187, 7,146, 36,121, 0,234,163,234,148, 26,150,224,103,103,103, +183, 46,254, 74,130, 59,193, 21,163, 72, 9, 64,169,129,192,193, 27, 91,182,197,184, 77,158,240,101,255,211,167, 79,159, 43, 45, + 45,221,110, 67,123,234,219,219,219,175,188,113,227,134,187,157,157, 29,104,154, 70,105,105, 41,124,124,124,176,121,243,102,151, +201,147, 39, 15,145, 74,165,167,149, 74,229,175,182,136,115,103,103,231, 46,183,110,221, 18, 27, 38,148, 86,171,213,240,243,243, +195,142, 29, 59,132,227,199,143,111, 82, 92, 92,156,169, 86,171, 83,172, 37,148,202,116, 60,157, 70,181, 44,122,237,252,186, 0, + 48,252,203,249,203, 4,165, 78, 71,172, 89, 38,149,233, 14, 3, 96,133, 22,139, 23,141, 86, 30, 30, 30,177,133,133,133,103, 0, +140,194,243,177, 52, 52, 20,137, 68, 45,104,154,246, 33, 73, 18, 28, 14, 39, 87, 38,147,221, 0,240,160,182,132,238, 65,157,251, + 66,104,247, 9, 24,250, 13, 18, 0, 65,146,137,148, 70,190,237,201,131,211,135,158,137, 83, 32, 30, 9, 48,111,144, 0, 77,144, +228, 13, 90, 39,223, 92,120,239,244,209,127,203,193,185, 84,130, 70, 65, 62,214, 79,140,249, 60,248, 6, 5, 66, 66,210, 32,119, +164, 89, 63,172, 56, 14,232, 53, 97,194, 4,159, 47,191,248,130,248,100,196,136,224, 51,231,207, 19, 97,182,204, 86,240,106,194, +162,227,187, 89,161, 21,222, 4,174, 12, 48,125, 87,212, 76,146,203,225, 16,131, 39, 44, 25,178,117,237,247,100,247,190, 17, 21, +195, 39, 29, 59,118, 68,199,142, 29,137,101,203,150, 5,255,249,231,159,193, 59,118,236,208,197,199,199,223, 0,176,219, 82,101, +239, 6, 65, 65, 3, 34, 62,143, 43, 27, 60,103,251,198,182,109,219,254,159,189,243, 14,139,226,106,219,248, 61,219,251, 46, 11, + 11, 75, 71, 84, 58, 54,136, 98, 87, 44,216, 80, 44,137, 93, 99,124,237, 45,209, 68, 99, 98, 52, 38,182,216, 98, 84,140, 26,107, +236,250, 26,123, 47,177, 87, 80, 64,197, 74,103, 89,154,244,178,253,124,127, 0,126, 72, 40, 11,152,215,148,249, 93,215, 92, 11, +103,103,238, 61,211,206,220,243,156, 6, 30,143,135,250,104, 2, 64,247,198,140, 24,182,101,195,136, 97,211,230,199,183,110,221, +150,188, 11,205,191, 17,119,129, 55,147, 90,203,157,156,156,218, 25, 12, 6, 62, 0,176, 88,172,226,196,196,196,105, 40,153, 27, + 16, 0,142,154, 76,166,126,181,208,102, 0, 88,208,175, 95,191,121, 83,167, 78,133,179,179, 51,166, 79,159, 14,189, 94, 31,118, +250,244,233,249, 0,150,161,134,155,199,198,198,102,254,134, 13, 27, 44, 89, 92, 17,252,230,196, 34, 37,219, 0, 0, 16,243,128, + 99,147, 8,166, 79,159, 46,189,127,255,254,162,218, 24, 45, 27, 27,155,239,126,249,229, 23, 75,161, 80, 8, 66,200,155,185, 24, +243,243,243,145,159,159,143, 41, 83,166, 72,159, 60,121,242, 67,109,140,150, 82,169,108,183,126,253,122, 1,159,207, 71,126,126, + 62, 71,167,211, 81,121,121,121, 40, 44, 44, 36, 90,173, 86, 55,109,218, 52,222,163, 71,143, 58,167,164,164,196,128,230,175, 2, + 19,192, 0, 54,155, 61,176,113,227,198, 31,188,120,241,226,129,193, 96, 56, 12,224,240, 59,120,153,234,106,111,111,191, 88,165, + 82,173, 7,176,235,223,114, 64,149, 74,229,225,155, 55,111, 58,109,216,176,225,227, 85,171, 86,157, 2,240,223,122,200,113, 56, + 28,206,160, 78,157, 58, 57,141, 30, 61,154,171, 84, 42,161,209,104, 16, 27, 27, 43, 61,112,224,128,203,195,135, 15,147, 74,103, +196, 48,251,133,194,202,189,173, 24, 44,233,190, 54,109,219,181, 31, 60,104,128, 68,105, 37, 67,145,214,136, 23,241, 41,206,103, + 78, 29,235, 20,205, 17,220,212,233,114,134,102, 62,191,153, 95, 91,205,192,192,174,237,187,117,237, 42,145, 89,200,144, 83,160, +195,171,184,100,151,203,231,143,119, 96,177, 4, 87, 77,148,126,100, 90,212,249,194,247,121,110,166, 3,172, 2,190, 85,179,230, +109,253,238, 7,141, 93,244, 1, 33, 4, 12,130,181, 21,163, 89,211, 1,214,218,146,105,191,106,165, 7, 66, 8, 69, 97,101,249, +104, 86,143, 70, 88, 76, 8, 62, 7, 3, 84,143, 26,170, 41,203, 8, 2,120, 22,150,150, 1, 19,199,143,167,242,114,115,241,240, +225,195,194,138, 38,235, 71, 7,112,174, 50,208,224,104, 98,221,205,246, 95, 52,154, 85,105,213,161,217,227,104, 9,133,194, 74, +211,101, 50, 25, 2, 3, 3,177,116,233, 82, 22, 0,255, 10, 95,191, 61,201, 42,192, 59,177,113, 46,100, 34, 30,195,217,217, 89, + 34,149, 74,235,173, 9, 0, 32, 38,215,182,206,164,215,189, 95,191,250,248,194,158,213,190, 5,121,217,236,138,171,136,197, 98, +120,120,120, 96,222,188,121,230,105,214,159,255,169,166,173,173,173,103,135, 14, 29,252, 47, 93,185, 98,161, 82,169,120, 42,149, +138,119,238,210, 37,139, 54,109,218,248,219,218,218,122,190, 57, 84,132,212, 38,159,223,135,134,134,206, 63,122,244, 40,163, 67, +135, 14,144,203,229, 8, 12, 12,196,169, 83,167, 88,171, 86,173, 90, 2, 96, 94, 77,249,100, 48, 24,237, 59,116,232, 64,129, 16, +168,115, 12,184,179,212, 19, 15, 87,122, 33,175,152,224,117, 78, 46,138,138,138, 33, 20, 10,249, 40,169,238, 53,119,223,219,182, +105,211,134, 2,240,198, 92,229,229,149, 44,249,249, 5,208,106,117,224,241,120, 18, 0,124,115, 53, 9, 33,182,237,218,181, 3, + 0,232,116,186, 55,111,120,217,217,217, 84, 78, 78, 14,180, 90, 45,216,108, 54, 7, 53,183,107,124,163, 41, 21,177,244, 44, 14, +111,246,232, 41,223, 38,142,158,242,109, 34,139,195,155,173,149,228, 26,205, 73,147,138, 88,250,247,124,125, 90, 51, 24,140,109, +141, 26, 53,122,194, 96, 48,118, 2,176,173,167,102, 75, 0, 75, 4, 2,193, 5, 47, 47,175, 68,161, 80,120,169,212,168,183,169, +163, 38, 87, 40, 20, 94, 90,178,100,201,193, 7, 15, 30, 12,190,120,241,162,107,100,100,228,160,229,203,151,239, 19,139,197,215, +240,118,187,196, 90,223,155,174,174,174, 91,239,220,185,211,178,109,219,182, 91, 0,240,222,209,253,206, 4,208, 2,102,205,200, +241, 94,206,187,189,159,159,159, 19,159,207, 71,183,110,221, 0,160,115,125, 52, 57, 28,206,160,121,243,230, 53,250,230,155,111, +184, 41, 41, 41,184,116,233, 18,238,222,189, 11,131,193,128, 73,147, 38,241, 70,143, 30,221, 80, 34,145, 12,170, 85, 62, 89,210, +125, 51, 62,253,172,231, 23,211,199, 73, 34, 18,116,216,126, 33, 1, 71,110,165, 32,173,144,139,190,131, 70,203,122,132, 12,233, +193,229,201,246,213, 86,243,203, 57,115,122,142,255,100,184,228,113,138, 9,199,110,171,113,251,105, 14, 12,108, 11,244, 30,244, + 31,121,243,118, 61,251,176,192,222,241,190,207,209, 47, 64,235, 25, 51,102, 88,207, 94,185,251,134,125,203, 1,107,211,179,208, +161,188,241,113, 7, 44, 44, 69,162, 1, 79, 59,117, 26, 39, 40,153, 47,182, 90,205,183,244,252, 67,214,165,101,161, 99,249,246, + 89, 29, 45,225, 86, 90,173,200, 60,183,237, 27, 6,161, 48,125,132,253, 91,229, 64,165,249,252, 29, 24, 60,227,179,207,216, 50, +185, 28,161,161,161,208, 20, 20,188,213,102,182,171, 19,122, 94, 16,178,146, 26,122, 57, 62, 9,116,161,174,253, 3,223, 87,198, + 87, 25,209, 58,113,226, 4, 9, 14, 14,166, 0,224,208, 19,100, 13,242,198, 15, 67,166, 46,153, 71, 49, 40,210,192,183,237, 99, +135, 70, 62, 5, 86, 86, 86, 40, 44, 44,132, 70,163, 1,135,195, 65,113,113, 49, 18, 18, 18,112,251,246,109,200,229,242, 90,229, + 36, 55, 55, 23, 98,177, 24, 98,177,248,157,104,206,253,184, 27,239, 85, 98, 58,239,236,237,223, 59,253, 52,249,191,173, 27,181, +232, 28,217,117,200,244, 40,169,181,125,113,100,100, 36,110,222,188,137,172,172, 44, 4, 4, 4,252, 83, 78,230,221,210, 54, 89, +119, 1,200, 27, 55,110,236,120,246,194, 85,121,126,177, 73, 26,151,170,103,155, 76, 38, 8,133,118,134,253,135,142,229, 12, 30, +212,151, 82,171,213,105, 0,238,150,154,219,154,230, 84,228, 3,240,252,240,195, 15,191,156, 60,121, 50, 94,190,124,137,113,227, +198, 21,221,189,123, 55,179,109,219,182, 86,191,252,242,139, 96,230,204,153,184,114,229,202,130, 19, 39, 78,252, 6, 32, 22, 64, +165,115,181, 17, 66, 56, 28, 14, 7,134, 82,219,160, 51,154,222,248,251,220,220, 92,144,162, 44,112, 56, 28, 38, 0,107,152,217, +142,206,100, 50,113,216,108,246, 27,147,149,144,154,139,132,180, 66,228,230,107, 81, 84,100,128,182,136,128, 41,180, 98, 1,113, + 74, 0,113,230, 70, 71,248,124, 62, 12, 6, 3,242,242, 74,178, 81, 22, 41,211,106,181,200,201,201, 1,147,201, 20, 3,144, 2, +120,109,142, 96,105, 35,247, 35,165,213,128,184,183,187,159,226,197,201,185,111,165, 73, 69, 44,253,161,153,222, 76, 43,199,230, +215, 91, 12,222,225,245, 38,237,253,182,207,226, 89, 91, 91, 95, 62,120,240,160,183,155,155, 27, 98, 99, 99,189, 62,250,232,163, +128,148,148,148, 22,168,253,156,140, 66, 6,131,241,195,232,209,163, 39, 15, 27, 54,140,114,119,119, 7,139,197,130,193, 96,112, +124,249,242,101,224,129, 3, 7,230,108,221,186,245, 23,163,209, 56, 11,230,183,251, 99,112,185,220,253,155, 54,109,234, 24, 16, + 16,128,157, 59,119,226,238,221,187,166,150, 45, 91, 50, 70,141, 26, 5, 23, 23,151,128, 81,163, 70, 29,209,104, 52,189,235, 24, +217,114,105,211,166,141, 19,147,201, 68,219,182,109, 57, 55,111,222,244, 3,112,179,158,199, 84,236,232,232,120,165,115,231,206, + 45, 46, 92,184, 16,174, 86,171, 59,215, 98,127, 1, 32,196,222,222,126,185, 76, 38,147,215,162,140, 45, 76, 78, 78,254, 28,192, + 33, 51, 55,105,237,239,239,143,248,248,120,120,122,122,130,195,225,180,209,233,116, 19, 0,244, 4,240, 53,128, 39,181,200,175, +123,215,174, 93,157, 58,119,238, 76, 29, 58,116,232, 77,251, 80, 6,131, 1,131,193, 0, 14,135,131,214,173, 91, 51,194,194,194, + 28,238,221,187,231, 14, 51,170, 17,173, 26,117,238,219,182,125,167,246, 29, 3,154, 49, 86, 29,122, 1,163,201, 8, 38,101, 0, +139, 50,193,164,231,129,199, 97,194,221,247, 3,230,211, 71, 17, 1, 90,141,174,111,230,243, 11,199,205,209,236, 25,212,189,131, +183,167, 59,227,167, 35,175,144,157,252,196,152, 28,125, 53,131,193,100,192,219,191,139,194,221,167, 5,179, 69, 64,103,182, 42, +246, 81, 96,113,113,199,110, 89, 47,175, 94,120, 31, 55,228, 66,128,233,232,160, 24, 16,220,189, 51, 39, 69,165, 42, 56,112,232, +120, 84,161, 30,183, 1,224, 10, 64,245, 6,154, 53,109,213,170,211, 47,203,150, 89,217,217,217,177, 71, 14, 27,102,216, 28, 30, + 30,142, 42,170,126, 23, 2, 76,133,173,109,183,137, 19, 39, 50, 83, 84, 42,114,224,240,201,200, 50, 61,148,188,165, 52,109,230, +232, 21,140,130,167,181,170,166,236, 11,112,149,182,182,222, 19, 38, 76,128, 90,165,194,206, 93,187,242,139,129, 91,101, 81,172, + 99, 76,172,247,105,100, 59,102,246,127,250, 81, 78,118, 10, 76, 92,176,185, 77,160, 46,173, 17, 82,254,255,252,151,247, 34,127, + 99,147, 53,190, 82,163, 85,145,255, 62,193,124, 9, 7,174, 7, 14,236,101,164,231,233, 10, 94,190,124, 9,133, 66, 1, 59, 59, + 59,200,100, 50, 60,126,252, 24,151, 46, 93,194,179,103,207, 96, 50,153,208,188,121,243, 90,229, 38, 35, 35, 3, 17, 17, 17,144, +203,229,239, 76,179,145,147, 53,166, 58, 89,115, 82, 51,115, 57, 23,238, 62, 11,216, 60,119,144, 15,195,107,208,214,242,147,196, +106,181, 90,252, 67,120,211,187,208,201,201,169,221,246,237,219, 57, 26, 3, 36,238, 19,110,173, 40, 40, 54,138, 0, 64,196,103, + 22,132, 45,247,152,245,253,247,223, 23,124,242,201, 39, 94,137,137,137, 75,205,136,245, 47,238,218,181,235, 23,132, 16,246,140, + 25, 51, 0, 0,163, 71,143,206,189,125,251,182, 59,128,180, 75,151, 46,217,143, 29, 59,246,249,229,203,151,133,159,125,246, 25, +211, 96, 48, 60,102,177, 88,228,196,137, 19,223, 1,248,246, 15, 79, 68, 6,227,126,120,120,120, 3,123, 23, 15,184, 88, 49,208, + 97,222,179,146, 2, 78,104, 66, 82,220, 43, 68, 71,222,133,173,173,173,204,206,206,238, 73, 82, 82,146, 46, 57, 57,121, 78, 65, + 65,193,134, 26,242,248, 48, 44, 44,204,206,197,197, 5,249,249,249, 72, 74, 47,196,244,195, 66,228, 22,149, 4, 49,216, 40, 66, + 11, 39, 15,137,128,161,189,155,150,150,166,211,106,181,223,228,228,228,108,175, 78,147,205,102,103, 70, 70, 70,138,157,157,157, + 81, 92, 92, 76, 94,191,126, 77, 21, 20, 20, 32, 47, 47,143, 58,121,242,100,255,148,148,148,150,174,174,174,148,163,163,227,119, + 41, 41, 41, 69,201,201,201,227,204,169,154, 44, 53, 76, 70, 22,139,181,106,252,248,241,131,127,251,237,183,251,135,190,245, 14, + 41, 87, 93, 34,243,245,245, 61,219,172,153,143,253,174,149, 77,215, 2, 88,241, 23,184,182,198,124,245,213, 87,222,150,150,150, +152, 56,113, 34, 22, 46, 92,136,249,243,231,187, 77,156, 56,113, 60,128, 31,107,161, 35,176,181,181,189,247,211, 79, 63,121,181, +107,215, 14,167, 78,157,194,222,189,123, 17, 19, 19, 99,112,117,117,101, 5, 4, 4, 96,193,130, 5,232,209,163,199,184,105,211, +166,117, 82,169, 84,126,102,154,143, 79, 22, 44, 88, 16,210,190,125,123,124,252,241,199,154,223,127,255,125, 48,128,115,231,207, +159,239,114,229,202,149, 67,187,119,239, 22, 44, 89,178,164,219,204,153, 51, 39, 2, 88, 87,135,253,239,223,177, 99,201, 28,202, +237,219,183,199,242,229,203,123,212,211,104,113,173,172,172, 78,238,220,185,179,133,135,135, 7, 70,142, 28,233, 55,120,240,224, +147, 89, 89, 89,221, 1,152, 85, 32, 57, 56, 56,252,112,244,232,209,198, 85,213, 44, 84,134, 70,163,177, 28, 48, 96,192,178,184, +184,184, 90, 25,173, 61,123,246,224,243,207, 63, 71,243,230,205,155,181,110,221,122,227,132, 9, 19,240,225,135, 31,118,125,252, +248,177, 18, 37,189,150,107,132,207,231, 55, 27, 58,116, 40,247,206,157, 59, 0, 0, 95, 95, 95,180,104,209, 2,155,104,178,222, + 0, 0, 32, 0, 73, 68, 65, 84,241,241,241,184,127,255, 62, 52, 26, 13,148, 74, 37, 6, 14, 28,200,143,139,139,107,150,145,145, + 81,163,209, 98,240,132, 99, 66,130,123, 75,142,221, 78,129,209,100,192, 7,141,165, 8,240,178,193,211,164, 92,132, 61, 73,130, + 81,203,129,212,210, 10,109, 58, 5, 89,170,147, 99,198,100, 2, 53,183,215,226, 9,199, 12, 12,233, 35, 62,118, 75,133,108, 85, + 52,121,113,247,183, 75,250,226,130,113, 0,112,255,226,190,141,182, 86,130,238,238,254, 31, 48, 59,119,239, 39, 63,188, 87, 61, + 38,235,127, 51,183,223, 31,184,226,132, 77, 46,236,140,209,179,135,119, 32,108,185,227, 93,137, 94,191,190,236,187, 30, 64,208, +156,175,190,106,253,159,241,227,249, 38,147, 9,187,127,253, 53, 55, 34, 60,252,233,120,192, 52,161, 10,189,245,128,203,224,144, + 16,158, 68, 42,197,167,211,167, 67,162,215, 95,126,115, 72,128,174,159,126,241, 69,187, 41, 83,166, 8, 54,126, 55,249,126,143, +177,139,252, 77,132, 80,101,213,148,123,170, 15,197,181, 28, 27, 18, 2,137, 84,138, 25, 51,102,128,210,233,206,190, 49, 80, 44, + 92,254,164,127,135,128,225,125,219,131, 2,133,189, 39,174,227, 69,124,122,228,229, 20,188,250,187,186,170, 10, 84,217, 70,171, +218,170,195, 60, 29, 82,187,246, 25,148,226,238,238,158,231,230,230,150,151,153,153,137,168,168, 40,100,101,101, 97,221,186,117, +136,142,142,134,201,100,170,179,129, 49,153, 76,120,215,154, 0,160,180,146, 98,100,239, 86, 44, 77,113, 1, 63, 61, 61,253,173, +234,163,127,144,209,122,131,193, 96,224,187,186,186,130, 1, 80, 57,133,122,177,122, 79, 71, 74,189,167, 35,149, 83,168, 23,107, +181, 90,134, 88, 44,134, 70,163,225,155, 33,197,238,213,171,215, 23,191,253,246, 27,123,241,226,197,104,210,164, 9,116, 58, 29, +110,223,190,157, 4, 32,173,116, 29,213,213,171, 87, 85,101, 70,120,233,210,165, 56,124,248, 48,213,173, 91,183, 57,149, 93, 79, + 41, 41, 41, 63, 76,152, 48,225,117, 97,222,107,108, 26, 82,132, 67, 35,211,177, 45, 36, 6,195,172, 14,226,117,106, 2, 54,111, +222,140,243,231, 47, 80,231,206,157,231,252,254,251,239,162, 62,125,250,172,117,112,112, 56, 81, 93, 38, 85, 42,213,226, 41, 83, +166,100,231,229,229, 33, 47, 47, 15, 69, 69,197,120, 93, 0, 68,174,246, 70,228,106,111, 20,155, 4, 8, 93,191,129, 17, 25, 25, +169,136,137,137,177,239,219,183,239,106, 59, 59,187,173,213,105, 38, 39, 39,223,153, 58,117,106,113,110,110, 46,180, 90,173,206, +104, 52,106,139,138,138,244,251,246,237,251,204,202,202,170,205,169, 83,167,216,231,207, 95, 96,253,254,251, 21,206,165, 75,151, +100,129,129,129,251,149, 74,229, 14,115, 34,101, 76, 38,115,205,174, 93,187,198,132,134,134, 42, 3, 2, 2,124, 42, 84, 69,217, +117,239,222,189,193,175,191,254,234,176,124,249,242, 57, 40,233,128,242, 94, 81, 40, 20,211, 66, 66, 66, 16, 26, 26,138,227,199, +143,207, 92,187,118, 45,122,245,234, 5,123,123,251,169, 48,191,218, 11, 0, 86,252,248,227,143, 94, 94, 94, 94, 24, 61,122,180, +118,220,184,113,179,182,111,223,238,122,237,218, 53,206,142, 29, 59, 26, 76,156, 56,113,198,240,225,195,139, 27, 54,108,136,117, +235,214, 53,102, 48, 24,107,204,186,191,149,202,207,134, 13, 27,134,149, 43, 87,226,247,223,127, 31,132,146, 7,170, 22,192,233, + 27, 55,110,244, 93,178,100, 9, 6, 13, 26, 4, 71, 71,199, 25,117,137, 60,121,123,123,127,211,179,103, 79, 92,187,118, 13,126, +126,126,104,211,166,205, 76, 0,138, 58, 30, 78,134, 88, 44,222,191,125,251,246, 14, 13, 26, 52,192,162, 69,139,208,168, 81, 35, +108,221,186,181,131, 72, 36,218, 15, 51,155,111,200,100, 50,177, 80, 40,196,156, 57,115,200,160, 65,131, 94,215,180,204,156, 57, +147,240,120, 60,200,229,114,115, 59,190, 8,248,124,126,219, 38, 77,154,224,246,237,219, 56,127,254, 60,230,205,155,135,207, 62, +251, 12,233,233,233, 24, 58,116,168, 16,192,135,181,216,111, 27,107,107,107,228,230,150,204, 11,223,164, 73, 19, 60,120,240, 0, +233,233,233,112,116,116,132, 90,173,134,149,149, 21, 60, 60, 60, 96, 50,153,108,204,147, 36, 77, 20,150, 50,164,101,105,192,130, + 1,254,238, 10, 92,142,202, 68, 66,186, 22, 54, 86, 22, 80,167,165,195,193,138, 15, 39, 39,103, 16, 98,106, 98,150, 3,102, 50, +252,121,124, 1, 94,231,233,144,252,228,247, 76,157, 81, 51, 33, 59,246, 70, 98,118,236,141, 68,157,166,120,194,253,235,231, 51, + 27, 40, 5,112,114,114, 2, 69, 76,173,222,199,253,248,145, 51,156, 68, 2,214,232,243,219,190,161, 78,252, 50,151,210,100, 38, +180,236,169, 44,137, 44, 91, 3,174, 31, 13, 29,218,118,214,172, 89,252,212,212, 84,211,240, 33, 67, 94, 47,254,246,219, 11,103, +106,120, 49,200, 7,220,186,119,239, 14, 6,128, 51,231,206, 21,168,129, 36, 0, 80, 2, 78,253, 6, 12,232,248,213,151, 95, 10, + 50, 50, 51, 77,183, 95,230, 31,139, 78, 35, 3, 45,141,112, 53,167,125,150, 17,104, 90,166,123,246,236, 89, 82, 4,220, 7,128, +206, 78,152, 26,212,206, 55, 96, 84, 72, 71,164,164,101, 97,198,226,109,216,120,224,202, 89,153,158,116,249, 7, 61,138,199,215, +201,104,149, 86,253,252, 33,173,176,240,143,181, 7,245, 53, 48,127,134,102,101,252, 19,141, 86, 25,122,125, 73, 45,137, 86,111, +130, 86,111, 42,123,171, 69, 81, 81,145,217, 18,103,207,158,221, 57,125,250,116,172, 94,189, 26,207,159, 63, 7,135,195, 65,147, + 38, 77,236, 0,136,203,202,124,127,127,127, 27, 6,131,129,167, 79,159, 98,213,170, 85,248,228,147, 79,200,205,155, 55,183,162, +242,241, 82, 30,188,126,253,122,253,132,113,159,100,103,165, 38, 64, 95,148,133,180,228, 87,208, 20,100, 99,209,210, 31, 80,168, +103, 65,157,163,131, 58, 71, 7, 6,207, 18, 27,127,217,206,244,246,246,238,201,100, 50,131,171,201,231,237,212,212,212, 95, 38, + 77,154,148,173, 86,171,223,236,159, 86, 79,160,213,191,125,189, 10,133, 66,172, 89,179, 70,230,238,238, 30,194, 98,177, 2,171, +209, 76, 73, 76, 76,140,158, 52,105,146, 54, 53, 53, 21, 57, 57, 57, 56,118,236, 88,223, 6, 13, 26,200,151,173, 88, 77, 21,232, + 88, 80,103,235,160,206,214,129, 43,182,193,254, 67,191, 49, 61, 60, 60,134,179, 88,172, 54, 53,153,172,221,187,119,143, 26, 50, +100,136,100,197,138, 21,175,143, 30, 61, 26, 10,160,252, 9,121,186,102,205,154, 3,251,247,239,207,251,226,139, 47, 44,151, 47, + 95, 62,243, 61,155,173,192, 33, 67,134,120,154, 76, 38, 28, 60,120, 48, 18,192,143,191,253,246,219, 61,141, 70,131,161, 67,135, +186,150, 86, 35,153, 67,203,225,195,135, 79,238,208,161, 3, 62,253,244, 83,221,133, 11, 23,252, 1,172, 70, 73, 85, 46, 1, 16, + 15, 96,237,149, 43, 87,154, 79,155, 54, 77,211,170, 85, 43,124,252,241,199,159, 0,232, 80,131,110,219, 97,195,134,121,153, 76, + 38,236,219,183, 47, 2,192,169, 10,223, 95, 58,116,232,208,109,173, 86,139, 17, 35, 70, 52, 4, 80,155,130,156,195,227,241, 14, +126,255,253,247, 22,201,201,201, 24, 53,106,148,230,233,211,167,248,246,219,111, 5, 50,153,236, 84,185,123,192,108,120, 60,222, +230,159,127,254, 57,164,105,211,166,152, 52,105,146,118,195,134, 13,211, 39, 79,158,172,245,247,247, 71,104,104,104, 8,151,203, +173,213, 20, 29, 42,149, 42,251,201,147, 39, 86, 53, 45, 73, 73, 73,230,118,207, 23,138,197,226, 91,190,190,190,185, 77,154, 52, +249,192, 96, 48,224,241,227,199,175,118,238,220,105,106,210,164, 9,214,175, 95,143,229,203,151, 35, 56, 56, 24, 76, 38,211,108, +163,197,100, 50,161,211,233, 32, 20, 10,193, 98,177,240,234,213,171,178,161,101,192,225,112, 0, 0, 34,145, 8, 2,129, 0, 12, + 6,195,172,222,104, 20, 5,146, 91,168, 7,155,205, 0,139, 97, 66,116,124, 14,116,122, 19,248, 28, 38,216, 44, 10, 32, 38, 88, +136,216,224,115,153, 96, 80,148,201, 76, 77,228, 20,232,192,229, 48,192,230,112, 41,134,193, 40,120,243,112,100, 25, 5, 2, 1, +151, 82, 72,121,224,115,254, 66,211, 2, 83, 37, 13,203,199, 0,108,145,179,243,224,149,171, 86,113,115,243,243, 49,104,208,160, +215,113,247,238,237, 42, 2,238,117,170,161,147, 18,131,197,114,239,220,169, 19,194,194,195,145,151,149,245, 2, 40,105, 28,207, +181,183, 31,178,102,205, 26,110, 81,113, 49, 6, 13, 28,152,253,252,250,245,221,137,249, 56,177, 47,190,196,136,213,120,222, 57, + 28,219, 50,221,156,172,172, 44,160,100, 8, 9,165,181,120,217,148,225, 61,144, 87, 88,140,217, 63,236, 50,133, 71,167, 76,189, +150,132, 62,191,169,144,243, 15,123, 12,143,175,176, 0, 48, 99,192,210,178,232, 82, 77,102, 69,163,209,188,115, 3, 84, 95,205, +202, 76, 98,125, 53,255,138,176, 88,172,226,103,207,158,113,165, 86,246, 38, 43, 9, 59,171,193, 39,215,101, 0, 96, 41,102,229, +232,140,122,147, 74,165, 2,143,199, 43, 54,179,186, 97,220,230,205,155, 23, 1,240, 97,177, 88, 39,182,111,223, 78,237,218,181, + 75, 62,108,216,176,151, 79,158, 60, 73,246,245,245,117,217,190,125,187, 20, 0,214,174, 93, 75,246,239,223,223, 3, 37, 67,102, + 84, 57,142, 75,106,106,234,183,153,153,153, 55,167, 76,153,178,142,203,229,202, 69, 34,145,213,181,107,215,168, 98, 29, 65,203, +175,226,223,244, 68,148, 10, 24,184, 58, 87,138,241,227,199, 51,159, 60,121,178, 52, 57, 57,249, 68, 53,154,115,178,179,179,175, + 61,127,254,124,181,204,177,133,181,200,229, 43, 89,192,220,167, 0, 0, 23, 5, 27,140,210,114, 49, 59, 59, 27,233,233,233,152, + 60,121,178,252,229,203,151,115,146,147,147, 47, 87, 19,213,186,146,145,145,145,244,232,209,163,206,108, 54,155, 43, 18,137, 90, +222,186,117,139, 42,214,154,208,108, 78, 60, 94,231,151,228,211, 82,204,194,253,239,149,152, 58,117, 42,235,197,139, 23, 63,164, +164,164,180,175,180, 48, 99, 48,150,151, 55, 89,179,103,207,126, 8,160, 33,128,183,170, 70,141, 70, 35, 53, 98,196,136, 40, 0, + 77,190,248,226, 11, 75, 66,200,204, 57,115,230,188, 6,176,233,127,125, 45, 73,165,210,101, 19, 38, 76,192,254,253,251,145,149, +149,181, 6, 0,114,115,115,127,220,179,103,207,190,113,227,198,225,215, 95,127, 93,150,158,158,126, 6, 53,119,213,238, 53,116, +232, 80,156, 62,125, 26, 23, 47, 94,252, 6,192,227, 42,214,123,126,237,218,181, 57, 71,143, 30,253,105,216,176, 97,216,182,109, + 91, 79, 0,213, 53,144,237,222,163, 71, 15,156, 58,117, 10,153,153,153,161,149,173,144,157,157,189,225,216,177, 99,173,123,244, +232,129,165, 75,151,118, 7,112,201,140, 93,247,146,201,100,219,127,250,233,167,150, 77,155, 54,197,240,225,195,139,117, 58, 93, +207, 47,190,248,226,248,222,189,123, 37, 59,119,238,252, 96,252,248,241,119, 74,199,124,187,109, 86, 40,139,193, 88,178,106,213, +170,177,157, 59,119,198,204,153, 51, 13,103,207,158,237, 7,224,220,153, 51,103, 94,206,158, 61,251,228,170, 85,171,152, 43, 87, +174, 28, 59, 99,198,140,116,147,201,244,190,204,245,247,107,215,174,109, 29, 20, 20,132, 87,175, 94,225,246,237,219,208,233,116, +191,222,186,117,235,170,155,155,219,247, 90,173,246,184, 72, 36, 26, 45,145, 72,124, 91,180,104,209,229,254,253,251, 66,152,215, + 78, 47, 53, 54, 54,214, 66, 38,147,193, 96, 48, 32, 50, 50, 18,206,206,206,208,233,116,136,137,137, 65,211,166, 77,193,225,112, +144,154,154,138,114,209,242, 26, 76, 17, 35,242,101,156,170,161,165, 68, 4, 24,249,120,240, 52, 9,214, 10, 57,140, 20, 3,106, +117, 10, 90,120, 58,130,162, 40,100,103,170, 65, 81, 84,148, 57,154, 70, 98, 10, 75, 80,165, 57, 88, 73,120,104,218, 58,200,234, +214,153,244, 93,210,134,237,198,179,152, 20,147,203, 19,111, 26,251,241,199, 10,147,137, 32, 59, 51, 21, 44, 6,227,238,251, 56, + 65, 7, 19,144,216,169, 17,255, 65,208,216, 69, 45, 40, 2, 82,164,195,206,109,169,200, 18, 2, 45,214,126,253,181,133,149, 66, +129,225,195,135,155, 50,147,147, 47, 20,154, 57,176,114, 67, 55, 55,165, 88, 34,193,141, 27, 55,192, 44,105, 99,139,173,128,215, +242,217,179,173,108,108,109,241,201,216,177,166,212,132,132, 75, 69,128,170, 54,121,109,216,168, 17,187, 76,151, 81,170,155,194, +196,244, 47,250,117,224,137, 4, 60, 44,217,248, 27, 18, 51, 10,246,221, 74,193,198,127,104,188, 99,115,181, 17,173,170, 26,159, +149, 52,170, 22, 86,107, 86,248,124,254,155,104, 74, 45,222,244,222,185,102, 77,252, 25,154,239,145,185, 0,142, 2,152,155,152, +152, 24, 61,118,236, 88,157, 65,167,201,187,185,168,225,151,225, 75, 27, 76,186,245,173,221,164, 35,211,101, 95, 22,230,188,206, + 91,187,118,173, 62, 49, 49, 49,186,252, 54, 53,104, 39, 0, 56,181, 99,199,142, 13, 7, 15, 30, 68,147, 38, 77,240,248,241, 99, +155,130,130, 2,191,168,168, 40, 75, 47, 47, 47,236,218,181, 11,251,247,239, 95, 13,224,124,117, 38,171, 12,131,193,112, 65,173, + 86,123,196,199,199, 55,182,176,176,208, 91, 88, 88,160, 98, 79,196,220, 34, 19, 50,179,115, 96,105,105, 5,169, 84,234,106,134, + 57, 63,165, 86,171,221, 77,114,207,142,238, 25,107,114,194,150, 56, 33,108,137, 19, 78,205,177,135,157, 5, 23, 89, 89, 89, 72, + 79, 79, 71,122,122, 58, 40,138,130, 94,175,247, 54, 67, 51, 38, 37, 37,101, 75, 66, 66,194, 81,165, 82, 9,137, 68, 2, 2, 64, +157,173,199,195,149, 94,120,184,210, 11,234,108, 61,114,243,242,208,160, 65, 3, 72, 36,146,170,170, 40, 24, 14, 14, 14,189,135, + 12, 25, 34, 1,128, 82, 3,213,149, 16, 50,169,146,101,162,193, 96,104, 87,182,238,231,159,127,110, 9,160,199,255,248,122, 98, + 2,152, 50,110,220,184, 15,248,124, 62,214,175, 95, 31, 3, 96,119, 89, 89,191, 97,195,134,167, 0, 48,125,250,116, 95, 0, 51, + 81,197, 72,208,111, 66, 67, 28,142,191,183,183, 55,110,221,186, 5, 0,191,213,240,219,135,110,222,188, 9, 55, 55, 55,240,249, +252,150, 53,172,235,234,228,228,132,167, 79,159, 2,192,131, 42,214,121,240,244,233,211,146,234, 30,138,114, 53, 99,223, 67,130, +130,130, 34, 47, 95,190,220,178,109,219,182, 24, 59,118,172,246,206,157, 59,189, 1, 92,125,240,224, 65,224,136, 17, 35, 10,220, +221,221,113,229,202, 21,175, 17, 35, 70,220,100, 48, 24,139,204,208,252,228,187,239,190,155,219,191,127,127,124,247,221,119,228, +192,129, 3,195, 1,156, 43,253,238,236,190,125,251, 70, 45, 94,188,152, 12, 28, 56, 16, 11, 23, 46,156, 11, 96, 82,117, 98, 5, + 5, 5, 57, 70,163, 17, 5, 5, 5,102,133,228,205, 93, 95,161, 80,244, 10, 10, 10,194,188,121,243,224,224,224,128,227,199,143, + 19, 0, 39, 0, 92,211,106,181, 29, 1,172, 42, 40, 40, 56,114,235,214, 45,116,239,222,157,131,183,167, 24,169,238,247, 35,247, +236,217,163,145,201,100,112,113,113, 65,195,134, 13,161, 86,171, 17, 23, 23,135,166, 77,155,194,223,223, 31, 6,131, 1, 91,182, +108, 41,206,203,203, 51,107, 76, 62,131,182, 96,231,249,147,135,115,172, 36, 60, 56,218,200,208,192,193, 18,249,217, 25, 72, 87, +171,224,239,237,140, 78,254, 13,144,145,163,197,217, 19,135,179,242,242, 10,119,154, 21,194,215, 20,110,191,112,230,120,142, 92, +194,129,135,167, 47, 70,140,157,222,162,133, 95,192,249, 86,173,218,157, 93,177,108, 73,179,174,109,188,169,164,140, 98,156, 62, +241, 91, 86, 78,110,238,246,247, 81,208, 47, 4,152,197, 50,247,171,161, 71,195,182,248,244, 28,183, 37, 58, 9,107, 0, 64,207, +100,122,245,238,213, 11, 73, 73, 73, 56,124,240, 96, 74, 33, 16, 97,174,158, 64, 32, 96, 0, 64, 78, 78, 14,120,165,237,238, 12, +128,103,159, 62,125,144,158,145,129, 61,187,119,167,159, 6,194,107,147,207,190, 0, 87, 40, 40, 9, 8,230,228,228,128, 2,114, + 1,128, 98,161,119,171, 38,110, 72,127,157,139,203,119,163,243, 27, 20, 97,114,117, 58,127,227,134,240,117,107,163, 5, 32, 99, +230,204,153,224,241,120,176,179,179,123, 99,142,202,204, 10,151,203,133,157,157, 29, 12, 6, 3,246,237,219, 7, 0, 25,213,190, +225, 1,154,126,147,150,154, 52,122, 82,200,102,179,223,137,102,233,155,163,102,208,236,109,166, 51, 55, 43,239, 20, 83, 23,205, +191, 1,173, 74,199,196,106, 5, 32, 43, 46, 46, 46,105,240,160,126, 57,241, 47, 31,169, 11,178, 85, 41,185,153,137, 41,137, 49, + 81,234,175,230,204,204, 73, 74, 74, 74, 68,201, 88, 90,173, 84, 42, 85,217, 54,230, 48,115,240,224,193, 63,143, 27, 55,142, 60, +124,248, 16, 0, 16, 22, 22,134,143, 63,254,152,140, 26, 53,106, 13,128, 47,235,144,239,130,162,162,162,183,162, 33, 58,163,233, + 77,149, 95,110,110, 46, 84, 42, 21,180, 90,173,217,142,248,249,217,149,207, 94,199,221,215,251,186,136,224,235, 34,130,151,147, + 16,148, 33,255,141,201, 74, 79, 79, 47,123,115, 46,174, 69, 62,115, 53, 26,205, 91,249, 44, 95, 53,153,155,155, 11,181, 90, 13, +163,209, 88,213,131,204,148,156,156,124,118,255,254,253,121, 0,176, 98,197,138,215, 20, 69, 93,164, 40,234,231, 74,150,141, 44, + 22,235, 70,217,186, 43, 87,174,124,141, 63, 86,137,253,153,244,111,218,180,105,214,220,185,115,215,207,152, 49, 3, 27, 55,110, + 68, 74, 74,202,151,248,255,177,120, 76, 25, 25, 25,179, 67, 67, 67, 49,102,204, 24,204,159, 63,127,165,159,159, 95, 46,128, 17, + 85, 9, 90, 91, 91, 59,178, 88, 44,132,135,135,231, 2,120, 85,195,239,171,195,195,195, 83, 41,138,130,157,157, 93,163,234, 86, +180,180,180,108, 44,145, 72,144,156,156, 12,148,190, 49, 87, 66,156, 74,165, 34, 92, 46, 23,246,246,246,110, 53,237,188, 92, 46, +159,189,101,203, 22,214,163, 71,143,208,181,107,215,164, 43, 87,174,116, 7, 80,214, 37, 61, 60, 44, 44,172, 67, 96, 96,224,179, +243,231,207,227,135, 31,126,160,154, 55,111, 62,169, 38, 77, 23, 23,151,137,159,124,242, 9,214,173, 91,135, 77,155, 54, 77, 2, +112,176,194, 42,123, 67, 67, 67,167,111,218,180, 9, 99,199,142,133,171,171,235,136,234,244,226,227,227,231,116,238,220, 57,236, +249,243,231,102,205,120, 96,230,250,129, 1, 1, 1,141,139,138,138,176,125,251,246, 87,141, 27, 55,190,119,240,224,193,153,248, +227, 3,251,200,225,195,135, 49,114,228, 72, 52,111,222,124, 59,128, 97,230,220,150, 79,158, 60, 73,188,116,233,146,137,195,225, +192,197,197, 5,193,193,193, 24, 62,124, 56,154, 53,107, 6,157, 78,135,195,135, 15,155,162,162,162,146,180, 90,173, 89, 99, 41, +101, 62,255,253,120,108,236,179, 27,225,119,174,234, 89, 76, 6,156,237, 44, 49,160, 91, 11,252,231,195,118,240,247,114, 64,124, + 90, 17, 46, 93, 58,175,143,141,125,117,203,156, 30,135,101,154,209,143, 35,110, 62, 10,191,110, 96,179, 40,120,121,186, 99,222, + 87,179,229,139, 23,204,177,112,111,228,140,136,152, 28,156, 63,119, 90,175, 74, 74,188,252,190,122, 28, 94, 1, 56, 98, 30, 37, + 98, 50, 24, 48, 50,120, 5,204,210,142, 52, 77,124,124, 60,148,182,182, 56,121,242, 36, 24,181,232, 17,122, 5,224,136,197, 37, +181,224,249,249,249, 40,211,107,236,233,233,233,236,226,130, 83, 39, 79,130,105, 50, 61,233, 84,203, 1, 70,159,150, 84, 67,191, +209,165,128,226,201, 78,144, 52,118,178,241,148,203, 68,184, 19,241, 2, 26, 61,185,187, 59, 11,239,117, 60,178, 63,145,241,168, + 99,213,225,138,141, 27, 55,182,218,178,101, 75,247,153, 51,103,138, 71,143, 30, 13, 62,159,143,194,194, 66, 56, 58, 58,194,104, + 52,226,204,153, 51,184,127,255,126,190,201,100, 58,143, 63, 14, 27,208, 13,229,122,105,156,125, 5, 65,137,223, 42,108,117,244, +163,143,222,137, 38, 0,136, 95,152,164,153, 13,180,187,214, 30,188, 62,112,207,217,112,234,211, 97,157, 24,254,158, 78, 0, 0, +165, 82, 9,169, 84, 90,107,205,119,192,159,174, 89,190, 90, 87,173, 86, 63, 85,171,213,105,227,198,141,243, 42,107,248,206,227, +241,138, 75, 35, 89, 89,149,109, 99, 70, 62,117, 0, 38,111,217,178,229, 88, 78, 78,206,217, 47,190,248, 2,139, 23, 47,198,241, +227,199, 59, 0,184, 81,199,125, 55,102,101,101,101,223,189,123, 87,233,230,237,135,134, 54,108,116,252,230, 57, 8, 33,176, 18, + 18,228,101,191,198,131, 7,225,200,203,203,187, 83,155,124,234,116,186,236,180,180, 52,133,141,141, 13, 94,191,126,141,140,140, +140, 55, 38, 43, 43, 43, 11,175, 95,191, 38, 20,245,135, 49, 91,170,211, 44, 72, 75, 75, 43,140,142,142,230, 42,157,220,208,200, +134,131,128,175,158, 2,132,192,217,146,129,188,220,108,220,186,117, 11, 57, 57, 57,191, 87,165,105, 50,153,102,141, 24, 49,130, + 9, 96,212, 23, 95,124, 97, 9,160,249,236,217,179,207,163, 66,207, 66, 22,139,245,227,174, 93,187,154,148, 85, 49,206,153, 51, +103, 53,128, 45,255,171,107,201,202,202,106,214,201,147, 39, 37, 58,157, 14,107,215,174,197,234,213,171,183,226,143, 3, 85,158, + 92,191,126,125, 40,131,193,152, 50,117,234, 84, 76,152, 48, 65,248,193, 7, 31,204, 76, 73, 73,217, 93,153,102,114,114,242, 60, +127,127,255,249,105,105,105, 75,204, 50,203,207,159,143,247,247,247,159,151,150,150,182,188,186,115, 36, 18,137, 68, 70,163, 17, +177,177,177, 89, 64,149,237, 59,138, 99, 99, 99,147,141, 70,163,163, 80, 40,180,172,233,250,204,202,202, 90,242,193, 7, 31,124, +155,154,154,122, 14,192,162, 74, 12,249,195,148,148, 20,223, 25, 51,102, 76, 91,182,108,217, 64,181, 90,189,175, 38,205,248,248, +248, 37,129,129,129,223, 60,123,246,108, 7,170,174, 2, 94,191,112,225, 66,221,174, 93,187, 38,197,198,198, 46,173, 65,243, 68, + 70, 70,198,137, 90,156,223,170,214,127,163,201,100, 50,103, 47, 91,182,140,177,113,227, 70, 16, 66, 86, 26,141,198,170,242, 25, +113,228,200,145,157,237,218,181, 27,125,240,224, 65,190,175,175,239, 4,141, 70,179,183,166,235,179,176,176,240,240,193,131, 7, + 7, 70, 68, 68, 56,142, 30, 61,154,239,225,225, 1,157, 78,135,148,148, 20,108,220,184,177, 56, 42, 42, 42, 41, 59, 59,251,112, +109,202, 16,131, 54,119,216,205, 75, 71,247,198, 61,143,106,211,185,103,136, 92,171,115, 4, 47,147,137,236, 76, 53,206,156, 56, +156, 21, 27,251,234, 86, 97, 97,246,176,218,104,234, 52, 57, 67,111, 93, 62,182, 47, 41, 54,186,117,199,192,222,242, 98,173, 11, +120, 28, 6, 50, 83,147,113,230,228,209,215,177,177, 49,215,138,245,154,143,223, 87, 57,207,116,197, 34,166,250,254,184,137,125, + 91, 64, 32,119,124,192, 6,214,182, 3, 4, 10,165,146, 83,122,239, 64, 92,210,230,209, 44,205, 84,128,235, 86, 90, 75, 85, 88, + 88, 8, 54,160, 29, 3,176,173,173,173, 5, 0,240,236,217, 51, 8, 75,106, 53,106,149,207,124, 64, 36, 44,167,203, 0, 10, 51, + 89,112,104, 44, 21, 81, 0,144,164,206,132, 86, 95,237,115,227,239,206,230,114,134,107,115, 93, 4, 56, 0,186,137,197,226,197, +243,231,207, 95,121,231,206,157,149,193,193,193, 43,121, 60,222,226,210,131,205,169,230, 68,252,207, 52, 91,218,195, 50,176, 17, +117, 53,168, 49,101,154,216, 65,110,252, 56, 64,164,237,210,165, 75,104, 61,243, 89,159,155,229,207,212, 60,170,215,235, 9, 74, +170,237,142,162,234, 42,193,185,229,190, 87, 39, 36, 36,144,210,191,107,147, 79,197,144, 33, 67, 76,121,121,121,100,240,224,193, + 4, 53, 79,225, 83,173, 38,143,199, 11,236,216,177,163, 62, 53,253, 53,121, 26,147, 76,110,135, 61, 38,103, 47,221, 36,251, 14, +159, 36,235, 66, 55,145,102,205,154,105, 1,184,212, 70,147,197, 98,117, 9, 12, 12,204, 76, 77, 77, 37,209,209,209,228,234,213, +171,228,208,161, 67,100,211,166, 77,228,231,159,127, 38, 78, 78, 78,169, 0,148,181,209, 20, 8, 4, 33,189,122,245,210,103,231, + 22,146,216,228, 76, 18, 25, 29, 75,110,220,141, 36,103, 46,221, 32,187,247, 30, 36, 62, 62, 62,197,102,104, 50,153, 76,230,186, +125,251,246,229, 18, 66, 72, 72, 72, 72, 18,222, 30, 72,181,225,172, 89,179,210, 8, 33,100,249,242,229,153,168,188, 33,252,159, +125, 45,245,116,112,112,120,202,225,112, 78, 2, 24, 85,195,118, 67, 89, 44,214,113, 91, 91,219,123, 0, 6,188,135,251, 40,216, +198,198,230, 54,128,154,102, 56, 40, 91,175,255, 63,228,126,255, 51, 52,187,176, 88,172,171, 64,245,147, 8,151, 43,175,191,103, + 50,153,167, 0,116,173,101, 62,221, 21, 10,197, 96,185, 92,254,169, 92, 46,255,212,198,198,102, 48,151,203,117,175,207,190, 91, +185,119,235,235,236,215,239,136, 83,243, 62,241,206, 45,130,227, 93,253, 67,142, 88,185,119,235, 91, 95, 77, 23,255,144,163,206, + 45,130, 19,156, 91,244,141,107,216, 50,228,136,194,179, 91,175,247,121,142, 70, 57,192,190,123, 67, 24,200,213,111, 8,185,250, + 13,233,214, 16,166, 54, 22,240,105, 5, 72,122,116,235,182,138, 24,141,171, 6,246,239,191,202, 13,176, 34, 0,179,226, 82,153, +166, 31, 32,125,179,109, 72,200,170, 70,128,162, 59, 32,236,212,161,195, 74, 98, 52,174, 26, 49,116,232, 42,103,192,182, 50,189, +170, 52, 9,192,116, 0,236,203,235, 42,128,198, 31,186,194,119,110, 95, 87, 66,174,126, 67, 22,126,228, 65,252,149, 24, 85,131, +102, 85,145,162,191,117, 68,171,182,136, 74, 11,215,165,165,159,162,119,112, 17,190,115,205,214,118,240,232,214,152,138,238,237, +201,122,141,146, 46,201,162,127, 96, 33,185, 67,171,213,146,226,226, 98, 82, 88, 88, 72,242,243,243, 43, 26,168, 55,134, 76,165, + 82,145,164,164, 36,146,144,144, 64,226,226,226, 8,254,191,237,141,217,249,148, 74,165, 91, 62,250,232, 35, 35,155,205, 94,247, + 46,246,221,210,210,114,105, 64, 64,128,238,167,159,126, 34, 71,142, 28, 33,191,252,242, 11,153, 58,117, 42,105,210,164,137,198, +194,194, 98, 88, 93, 52,109,109,109,231,121,122,122,102,110,221,186,149,236,222,189,155,172, 89,179,134,124,253,245,215, 70, 71, + 71, 71,181, 68, 34,233, 81, 23, 77, 27, 27,155,205,237,219,183,215,109,222,188,153,156, 63,127,158,236,217,179,135,204,154, 53, +139,120,121,121,105, 68, 34,209, 32, 51, 53,153, 44, 22,107,213,196,137, 19,213,246,246,246, 39, 43,124, 39,244,241,241,185, 55, + 98,196, 8, 21,128, 57,255,160,235,147,214,164, 53,105,205, 63,193,104, 13,183,135, 3, 1,152, 66, 14,103,104,167, 14, 29, 86, +114,128,161,181, 53, 69,124, 38,243,195,118, 1, 1, 43, 57,192,176,178,117,249, 76,230,135,157, 58,116, 88,201,102, 50, 71, 86, +165, 87,157, 38, 1,152, 28, 22,107, 78,187, 54,109, 86,177,128,175,202,210,186, 52,164,158,204,234,233, 68, 58,184, 80, 47, 70, +218, 64,248, 15, 54, 90,239, 28,214,159,112, 17,254, 93, 52,255, 42, 55,181, 91,169, 97, 58, 90,139,136,214, 81,148,204,162,238, + 86,199,124, 10,222,241,190, 55, 85, 40, 20,167,221,220,220,210, 27, 52,104,160,146,203,229,123, 1, 56,214, 83,211,215,214,214, +246, 87,165, 82,249,220,206,206, 46, 66,161, 80,252,136,146, 81,231,235,172,201,102,179, 3,148, 74,229,239,174,174,174,217, 46, + 46, 46,169, 10,133, 98, 95, 37,145, 44,115, 52,237, 80,121,161,194, 41,253,142,126,232,208,154,180, 38,173,249,150,129, 9,106, +132,101,221, 27,194,208,189, 33,140, 65,174,248,177,188, 65, 9, 6, 4,117, 53, 69, 31, 3,188,138,235,215,164, 87,147, 38, 1, +152,109, 1,113,197,109,122, 59,194,199, 76,205,191,123, 68,171,172,156,175,221,240, 14, 85, 96,248, 19, 50,249,119,209,252,171, +240, 2,213, 52, 70, 46,199,210,119,248,155, 69,239,120, 31, 34, 51, 50, 50,122,101,100,188,211,190, 9,143,212,106,245,168,119, + 41,168,215,235,239,164,166,166,118,126, 7, 82, 85,117,189,214,193,204,110,217, 52, 52, 52,255, 30, 40,192,136, 87,248,178,155, + 59,214,178,140, 96,156,137, 65,114,133, 46,121, 69, 84, 93, 52, 75, 48,238,168,164,140,167,234,154,207,255, 39,255, 15, 26, 73, +120, 76,253,123, 78, 91, 10, 74,218,104,213,219,104,209,208,208,208,208,208,208,252, 15,184,240,156,126, 17,251, 27,112, 18,111, + 71,223, 78,150, 51,162, 85,134, 62,107,211,147,162, 46,225,211, 11,180, 38,173, 73,107,210,154,180, 38,173, 73,107,254,235, 52, +203,168,106,238,212,167, 21,254,175, 83, 47,190,127, 11,116, 61, 59,173, 73,107,210,154,180, 38,173, 73,107,210,154,255,116,234, + 60,142, 22, 13, 13, 13, 13, 13, 13, 13, 13, 77,245, 84, 25,117,163,141, 22, 13, 13, 13, 13, 13, 13, 13, 77,253,176, 67,201, 20, + 85, 39,241,255, 83, 85,109, 6,106,158,130,231, 45,150, 45, 91,198,112,115,115, 19,115,185,220, 38,175, 94,189, 98, 76,158, 60, +185,222, 29, 9, 86,254,184,142,225,226,226, 34, 6,208, 36, 51, 43,143,241,201,127,190,160,232,243, 69, 67, 67, 67, 67, 67, 67, +243, 55,162, 79,169,177, 42,251,124, 19,225,170,149,209, 90,180,104, 17, 18, 18, 18, 68, 0,134,248,250,250,114, 55,108,216, 64, + 14, 28, 56, 80, 47, 99,244,213,156, 89,136,143,143, 23, 1, 24, 98,163,176,224,110,219,178,130, 28, 60,126,253,157,155, 45,133, + 66, 97,245,191,220,142,134,134,134,134,134,134,230, 95,197,248,114,159,227,235,100,180, 88, 44, 22,147,203,229, 54, 98, 48, 24, +189,248,124,126, 75, 0, 40,157,146,165,206,176, 88, 44, 38,151,199,107,196,100, 50,123,241,120, 37,154, 31,245,109, 95, 95,205, +174, 34,145, 40, 81, 40, 20,222, 7, 32,144, 72, 36,225, 58,157,238,177, 68, 34,185, 89, 27, 29,137, 68,114,179,116,187,112, 0, + 2,161, 80,120, 95, 36, 18, 37,178, 88,172,174,244,245, 68, 67, 67, 67, 67, 67, 67, 83,202,230, 74,150, 63,114,226,196,137, 42, + 13, 14,151,203,101,248,250,250,182,119,113,113,185,225,237,237,173,117,116,116, 60, 36, 20, 10, 69,245,204, 24,195,205,195,171, +189,189,157,242, 70,139, 70,118, 90, 27, 27,155, 67,108, 54,187, 62,154, 76,137, 68,178, 38, 40, 40, 40,231,198,141, 27, 68, 42, +149,166, 2,176,176,182,182, 86, 17, 66,136,173,173,173,169, 54, 98,182,182,182, 38, 66, 8,177,182,182, 86, 1,176,144, 74,165, +169, 55,110,220, 32, 65, 65, 65, 57, 18,137,100, 13,106, 30,209,150,134,134,134,134,134,134,166, 22, 84,231, 69,254,194,148, 69, +177,236,234,188,115, 92, 46,215, 79,161, 80, 68,125,246,217,103,198,205,155, 55, 19, 23, 23,151,187, 54, 54, 54,109, 20, 10,197, + 91, 13,234,199,140, 25, 83,155,106, 63, 63,137, 84, 22,181, 99, 70, 79, 99,209,182, 16,226, 96,103,115,215,194,194,162,141, 84, + 42,125, 75,115,196, 39, 19,204,209,180,151,201,100, 17,203,150, 45, 43,206,206,206, 38,132, 16, 34,147,201, 82, 1,200,149, 74, +165, 42, 38, 38,134, 40, 20, 10, 2,243,163,120, 12,133, 66, 65, 98, 98, 98,136, 82,169, 84, 1,144,203,100,178, 84, 66, 8,201, +206,206, 38,203,150, 45, 43,150,201,100, 17, 0,236,233,219,130,134,134,134,134,134,230, 95,109,180, 42, 26, 46,243,170, 14, 91, +182,108,201, 83, 42,149,109, 36, 18, 73,127,177, 88, 28,218,175, 95, 63,223,129, 3, 7, 50, 52, 26,141,209,215,215,215,222,213, +213,117,154, 92, 46, 31,197,231,243,155,113,185,220,145, 82,169,212,110,239,222,189,110,213,105, 54,109,254, 1,207,194, 66,222, +134,203,229,245, 23,139, 37,161, 19, 63,236,226, 59,106,230, 32, 6, 71, 27,103,236,210,204,217,190, 73, 35,187,105,182,114,209, + 40, 22,147,209,140,162,168,145,124, 62,223,110,247,182, 77,110, 53,236, 88, 35,123,123,251,240,189,123,247, 54, 25, 50,100, 8, + 47, 58, 58, 26, 0, 96, 52, 26,185, 0,244, 76, 38, 19, 60, 30, 15, 58,157, 46, 11,128,185, 39,144,232,116,186, 44, 30,143, 7, + 38,147, 9, 0,250, 82, 61, 68, 71, 71, 99,200,144, 33,188,189,123,247, 54,177,183,183, 15, 7,208,136,190, 53,104,104,104,104, +104,104,254,181,148,153,171,147,168, 80,117,200, 42,115,143,193,193,193,111, 69,141,184, 92,238,134,103,207,158,181,179,180,180, +108,196,102,179,141, 67,135, 14,229,141, 24, 49, 2,233,233,233,166,252,252,124,166,159,159,159,242,222,189,123,189, 12, 6, 67, + 7, 11, 11,139,194,236,236,108,133, 70,163,121, 1, 96, 90, 53, 25,217,240,252,105, 84, 59, 43,185,101, 35, 46,155,105,156, 58, +118, 4,239,171, 57, 61, 65,105,194, 76,198,180, 76,230,247,254, 22,202, 31,111, 22,244,122,166, 51,118, 40,144,241, 11,213, 57, +154, 26, 53, 21, 10,133, 63,135,195,185,127,250,244,105, 8,133, 66,228,228,228,128,203,229, 2, 0,242,243,243,101, 0, 88, 20, + 69,129,203,229, 34, 55, 55, 87, 94,155,163,150,155,155, 43,231,114,185,160, 40, 10, 0, 88,165,122,224,114,185,200,201,201,129, +155,155, 27,117,250,244,105,155, 94,189,122,189,212,233,116, 31,100,100,100,132,209,215, 26, 13, 13, 13, 13, 13, 77,237,169,204, +139,252,141,168,113, 28,173,206,165,161,186,242, 19,231,238,180,182,182,182, 21,139,197,222,227,199,143,103, 40, 20, 10,220,191, +127,223, 84, 80, 80,192, 96,179,217, 96,179,217,204, 46, 93,186,136, 13, 6,131,240,212,169, 83,212,203,151, 47,211,245,122,253, +247,153,153,153,247,170,201,200,206,198, 22, 60, 91,129, 5,215,251,248, 23, 29, 25,214,110,153,192,217,133, 38,146,159,198, 96, +153, 8, 20, 34, 19,115, 85, 7, 74,172,150,185, 10,167,238, 75,167,174,189,204, 78,215,235,245,223,231,229,229, 85,167,153, 12, + 0,165,121,130, 84, 42,133,209, 88,126,126, 75, 16, 6,131, 1, 30,143, 87,167, 35,199,227,241,192, 96, 48,128,114,145, 48,153, + 76, 6, 38,147, 9, 6,131, 1, 54,155,253, 86, 62,104,104,104,104,104,104,104,234, 68,101, 94,228,239, 66,249,113,180,204,155, +155, 82,169, 84, 82, 82,169,212,174,121,243,230,223, 6, 5, 5,197, 12, 24, 48,160,240,167,159,126, 34,171, 87,175, 38,171, 86, +173, 34, 91,183,110, 53, 94,190,124, 89,255,159,255,252,167,216,221,221,253, 69,104,104,168, 55, 0,244,238,221,187,202,234, 72, + 11,185, 37, 37,230,178,236,124,188,155,126, 59,188,115,147,152,111,250,123, 20,234,118,248, 17,211,124, 39, 98, 92,231, 74,140, + 7,187, 26,201,179, 21,250, 37,227,186, 22, 55,112,105,240,226,231,173,251,189, 1,160, 91, 80,239,106,171, 56, 21, 10, 69, 75, + 71, 71,199,212,115,231,206,153,178,178,178, 72,102,102,102, 89, 27,173,108, 0, 50, 23, 23, 23,149,193, 96, 32,114,185,252,117, +109,142,154, 92, 46,127,109, 48, 24,136,139,139,139,170,196, 95,201,178, 9, 33, 36, 51, 51,147,100,101,101,145,115,231,206,153, + 28, 29, 29, 83, 21, 10, 69, 75,250,254,160,161,161,161,161,161,249,215, 50,190,194,103,205,180,107,215,142,146, 74,165,140,166, + 77,155,138,237,237,237, 91,219,219,219,223,249,241,199, 31,201,234,213,171, 13, 27, 55,110, 36,191,254,250,171,225,227,143, 63, +206, 21,137, 68, 39,185, 92,174, 28, 0, 92, 93, 93,171, 13,249,181,108,221,134, 18,240,121, 12, 79, 79, 31,177,194,202,170,181, +181,149,229, 29,221,234, 38,132, 44,116, 48,144, 45, 45, 8, 57,216,211,176, 98,112,171, 92, 54,155,115, 18,128, 28, 0, 28,237, +237,204, 13, 35,218,219,216,216, 68, 44, 92,184,176, 64,167,211,145,210, 94,134,169, 0, 44, 92, 92, 92, 84,132, 16,226,232,232, +152, 8, 64, 97,166,158,194,209,209, 49,145, 16, 82,102,180, 44,108,109,109, 83, 9, 33, 68,167,211,145,133, 11, 23, 22,216,216, +216,208,141,225,105,104,104,104,104,104,104,170,156,235,176,202, 72,209,141, 27, 55, 72,110,110,174, 41, 57, 57,217,152,159,159, + 47,245,243,243,147, 51,153, 76, 40,149, 74, 38,147,201, 52, 21, 20, 20, 48, 21, 10,133,138,205,102,239,214,106,181, 89,253,251, +247,167, 98, 99, 99,171,109,104,126,239,246, 45, 82, 84,172, 49, 37, 37, 37, 26, 11,243,115,165,163,154, 89,202, 89, 6, 29, 76, +126,237,152,185, 2,119,147,169, 40,139,233,101,199, 83,113, 56,236,221, 0,178, 6, 4,247,161,146, 84, 41,230, 54, 94, 87,165, +165,165,249,109,216,176, 97, 75,199,142, 29,179, 10, 11, 11,203,218, 86, 85, 28,130,193,194, 76,189,138,235, 49, 41,138, 66, 97, + 97, 33, 58,118,236,152,181, 97,195,134, 45,105,105,105,126, 0, 84,244,245, 69, 67, 67, 67, 67, 67,243,175,166,202,113,180,106, + 28,234,160,176,176, 80,206,225,112,186,181,106,213,170, 65, 65, 65,129,105,209,162, 69,137, 63,253,244,211,174, 23, 47, 94,232, + 45, 44, 44, 26, 9, 4,130, 79, 81, 76,136,102, 0, 0, 32, 0, 73, 68, 65, 84,135, 12, 25,162, 56,114,228, 8,233,208,161, 67, +197,232, 83,165,179,123, 23, 21,229,203,121, 28,118,183, 79, 3, 36, 13, 18,117,114,147,247,167,119, 19, 59,205,191,185,235,183, + 71, 44,125, 83,203,162, 70,150, 92,234,211, 33, 67, 6, 43,126, 59,113,146,180,105,211,218, 44,205, 82,140,105,105,105,159,222, +191,127,127,112,195,134, 13,147,244,122,125, 18,128,204,162,162,162, 84,123,123,251, 52,157, 78,151, 4, 64, 87,201,118,149,105, +234,116, 58, 93,146,189,189,125, 90, 81, 81, 81, 42,128, 76,189, 94,159,212,176, 97,195,164,251,247,239, 15, 78, 75, 75,251, 20, +128,177,154,188,208,179,186,211,154,180, 38,173, 73,107,210,154,180,230,191,135, 63, 68,179, 0, 51, 38,149,230,241,120, 29,157, +157,157,219, 63,122,244,200,120,235,214,173, 28, 6,131,241,115,239,222,189, 15, 29, 62,124, 56,192,210,210,210,198,201,201, 73, +121,241,226,197, 64, 0, 7,174, 93,187,102, 86,244, 73,192,227,116,108,225, 40,107,191,249, 33, 49,110,187,255, 60,199,200,228, +253,220,101,208,160, 67,211,119,237, 9,176, 87, 72,108, 90,216, 73,149,167, 78,157, 9, 4,112,224,214,173,219,181, 30, 79,195, + 96, 48, 92, 76, 75, 75,115, 42,251, 63, 61, 61,221, 79,161, 80,120,163, 36,250,148, 99,166, 76,188,201,100,234,109, 50,153,236, + 51, 50, 50,158, 0, 64, 70, 70,198, 7,244,117, 68, 67, 67, 67, 67, 67, 67, 83,137,201,218, 92,217,255,213, 70,180,184, 92,174, + 3,147,201,244, 73, 74, 74,138, 63,117,234,212,163,150, 45, 91,246,138,143,143, 95, 70, 8,137, 19, 10,133,227, 19, 19, 19,159, + 39, 38, 38,106,139,138,138, 38,214, 34, 51, 14, 96,112,124,238,171,138,226,127,184,248,248, 81,211, 54, 61,122,169,213,170,101, + 70, 66,226,184, 66,233,248,103, 9,233,207,111,167,105,180,197,197,181,210,172,145,140,140,140, 39, 25, 25, 25, 57,181,220, 38, +167,204,100,209,208,208,208,208,208,208,208,212,150,154, 34, 90, 58,163,209,184, 66,163,209,200,127,251,237,183,228,160,160, 32, + 13, 0,108,216,176,193, 52,118,236,216,235,175, 94,189,234,250,228,201,147, 94,182,182,182,151, 0, 80, 49, 49, 49,230, 68,159, +116, 38,147,113,133, 86,171,145, 95,188, 28,150,220,177,125, 83, 13, 0,108, 92,191,214, 52,116,252,140,235,175,162, 31,117,125, + 22, 21,222,203,214,214,246,146,209,192,162, 82,212,113,132, 62, 77, 52, 52, 52, 52, 52, 52, 52,127, 97, 54,227,237, 42,195,205, +102, 25, 45,173, 86,155,174,213,106, 1, 32, 43, 40, 40,232,173,239,182,110,221, 74, 0, 20, 0, 56,152,153,153, 89,155,204,164, + 23, 21, 21, 1, 64, 86,199,246, 77,223,250, 98,223,230,159,222,104,230,231,229,210,167,141,134,134,134,134,134,134,230,239,100, +182,254, 0,131, 62, 46, 52, 52, 52, 52, 52, 52, 52, 52,245, 98,124, 85,255, 83,168,186,231,192,133, 90,252, 64, 93,122, 31, 92, +160, 53,105, 77, 90,147,214,164, 53,105, 77, 90,243, 95,167, 89,147,246, 5,252,253,168,178, 49,252,159, 13,221,245,149,214,164, + 53,105, 77, 90,147,214,164, 53,105,205,127, 58,118,120,123,120, 7,187,178, 47, 88,244,177,161,161,249,123, 67, 14,130,137, 44, + 79, 87, 16, 98, 15, 38, 55, 5, 41,145,175,168,111, 97,170,183,102,170,143, 11, 4,122, 37, 12,252,116,164, 70,196,212, 87,147, +134,134,230,159,135,109,219,201, 3, 40, 6,243,103,138,152, 80,148, 26,205,227, 20,197, 9,211, 82,226,255,141,222, 34, 5, 85, + 68,176,104,163, 69, 67,243,119, 39,221,203, 3, 44, 44, 5, 3,118, 32,186,151,176,246, 89, 10, 60,142,170,183, 38,199,180, 8, + 70,134, 35,136,238, 25,108, 60,151, 1, 79, 31,211, 7,251,159,199,180,169,147,200,147,168, 59, 72, 72, 80,161, 81, 99, 59,120, +120,181,197, 79,107, 67, 41,250,200,208,152,247, 86, 70,109,238,214,119,132,165, 64, 40, 1, 0,152, 12,122,108,157,217,226,188, +193, 96,216, 9,224, 8,128,162,127,251, 33,250,159, 55,134,103,179,217,169, 0, 76,124, 62,255, 48,202,133,214,104,104,254, 4, +236, 74,175, 51, 83,233,117, 87, 27,196, 44, 22,107,190, 80, 40,188,204,227,241,210,120, 60, 94,154, 72, 36,186,204, 98,177,230, + 3, 16,255,101,202,184, 95,155, 8,193, 48,246,210,234, 77, 14,103, 34,179,109, 10, 53, 70, 15, 48, 12,189,201, 86,119,113,189, + 52, 89, 84, 80,177,206,228,188,251,110,161,178, 64,107,240, 6, 65,189, 52,203, 97,193,225,112,206,192,252, 57, 71,105,254,100, +226, 99,162,112,234,196, 42, 44,250,110, 52,182,111,158,136,167, 79,110,215, 75,207, 27,248,224, 3, 22,235,115, 47,160, 11, 74, +218, 1,211,252,147,161,200,248, 11,199,119,167, 31,223,187, 62,125,255,170,137,228,232,210, 96,172, 93,187,182,219,232,209,163, +119, 59, 59, 59,167, 3,248,136, 54, 90,255, 99,244,122,189, 77, 70, 70, 6,181,115,231,206,126, 50,153,236, 37,139,197,154, 11, +128,243,111, 57,224, 98,177,248,166, 84, 42, 77,149,201,100,169, 82,169, 52,188,166,244,127, 40, 30,214,214,214,241,150,150,150, +207,202, 39, 90, 55, 27,208,214,173,221,168, 5, 86, 62, 33,157,234,169,207, 97,177, 88,115,101, 50,217,203,157, 59,119,246, 75, + 78, 78,166,244,122,189, 77, 45,182,239, 40,151,203,159,220,185,115,231,155,140,140,140, 78,137,183,183, 90,171,239,108,178,142, +255,125, 85,231,251,167,214,125, 99, 97, 33,123, 12,160,227, 95,226, 72, 22,155,148, 96, 48, 3, 31,165, 20, 10, 83,114,245,202, +176,184, 66, 9,192,236, 12,109, 61, 94, 98,114, 76, 74,128,116,121,152, 84, 36,186,249,218, 90,121,237,149, 70, 10, 6, 35, 16, +197,148,109,189, 11, 28, 6, 99,146,201,100,234,206,225,112, 62,165,159, 80,127, 13,120, 60, 14, 64, 8,196, 34, 62, 0, 2, 70, + 61,173, 17,151,193,104,119,179, 95,191, 69,115,154, 53,155,230, 5,244,173,194,108, 81, 0,166,123,121,121,157, 6, 48,244, 29, +238,206, 15,158,158,158,201, 0,102,188,171,114,201,223,223,191,109, 96, 96,224,130, 22, 45, 90,116,122, 87,154,255, 36,212, 55, + 55,252,150,114,125,157,141,234, 70,168, 77,118,204,213,233,118, 74,185, 41, 38, 38, 6,125,250,244,193,250,245,235,133,190,190, +190,187, 0,216,255, 11,110, 37,191,178, 23,124, 84,104,163,101,182,209,250,208, 21,237,134, 53,196,149,193,174,200, 27,210, 16, +249, 35, 27,226,250, 32, 87,116,169, 75,110,172,172,172,208,177, 99, 71,102,114,114,178, 96,214,172, 89, 11,248,124,126, 44,128, + 30,117,209, 18, 8, 4,247,133, 66, 97, 34,139,197,122, 43, 47, 66,161,240,190, 72, 36, 74,100,177, 88, 93,203,167, 75, 36,146, +155, 82,169, 52, 85, 34,145,132, 87, 97,132,238, 75,165,210, 84,177, 88,124,191,124, 58,139,197,234, 42, 22,139,147, 36, 18, 73, +197,244, 46, 18,137, 36,177, 98,122, 85,176,217,108,199,196,196, 68,155,164,164, 36, 27, 46,151,171, 44,159,158,144,144, 96,147, +152,152,248, 86,122,109, 96,177, 88, 93, 68, 34, 81,162, 80, 40,188, 95, 89,122,197,125,170,138,114,199,174,139, 57,233,181, 45, +120,130,130,130,174,167,164,164, 56, 91, 88, 88,188, 53,113,183,165,204,162,199,175, 91, 67,103,134,244, 14,154,100,237,221,191, +105, 29,245,123,240,249,252,216, 89,179,102, 45, 72, 78, 78, 22,180,105,211,134,201, 96,212,234,125,162, 91, 72, 72,200,209,212, +212, 84,135,230,205,155, 51, 13, 6, 3, 30, 29,155, 15, 97,196,167,224,199,110,132,147, 32,157,245,242,252, 50,199,160,206, 31, + 28,197,123,110, 12, 74, 14,122,115, 64,153, 58,154, 8,177,126,146, 92,108,221,167,223, 71,172, 7,137, 69,214,122,163,209, 18, + 96,118, 38,219, 93,120,117,210,100,233, 59,152, 8, 81, 94,140, 99, 91, 7, 14,158,198,188, 20,199,178,214, 27,141, 86, 96,160, + 83, 93, 52,203, 95,254, 76, 38,115,230,170, 85,171, 24, 0,166, 2,224,254,155, 12, 77, 43,123, 56,116,105,204,188,235,103,135, +118,239, 80,214,183,244,126,247,168,175,208,150,237,167, 49,118,194,102,184,123,181,174,151,142,214,100,122,186, 47, 38,230,236, +200,198,141,131,231, 52,107, 54,166, 18,179, 69, 1,152,179,108,217,178, 81,143, 30, 61,178,110,216,176,225,132,119,244,210,191, +102,217,178,101,179, 31, 61,122,100,239,234,234,186,176,150,154, 85,150, 75,114,185,188,199,150, 45, 91,102,246,233,211,103,146, +191,191,127,211,119,161,249, 15,102,253,195,135, 15,157, 87,173, 90,245,229,216,177, 99,115, 1,160,107,215,174, 28, 0,109,234, + 93,222, 17,194, 37,132, 4, 18, 66,250, 16, 66,186, 18, 66, 90,149,254,221,178,116,233, 67, 8,233, 86,225,179,101,233,182,101, +223, 7, 84,161,209,167,226,118,229,182,169,248,255, 91,127, 87, 98,180,250,160,164,173, 86,159,183,118,224,196,137, 19,164,252, +103, 69,134,184,226,219,105,109, 29, 10,159, 28,223, 67,242, 19, 99, 72, 86,244, 3,242, 96,243, 18, 50,173,165,117,225,240,134, +248,161,246,199,139,144, 27, 55,110,144, 71,143, 30,145,252,252,124,242,252,249,115, 18, 16, 16, 80, 36, 20, 10, 47, 2,112,173, +141,152, 68, 34, 73,189,120,241, 34, 9, 10, 10,202, 17,139,197, 43,203,110, 46,169, 84,154,122,227,198, 13, 18, 20, 20,148, 35, +145, 72,214, 0, 96, 2,192,160, 65,131,210, 8, 33,196,218,218, 90, 85,153, 94, 72, 72, 72, 22, 33,132,200,100,178,178,170, 38, +166, 68, 34, 89, 51,101,202,148,252,123,247,238, 17,185, 92, 94,150,206,144, 74,165, 43,167, 78,157,154, 31, 22, 22, 86, 62,189, + 90, 44, 45, 45, 19,141, 70, 35, 57,126,252, 56,177,177,177, 81,149,187,153, 19,141, 70, 35, 57,122,244,104,149,121,171, 46, 80, + 32, 22,139, 87,140, 28, 57, 50, 47, 46, 46,142, 88, 89, 89,165,150, 75, 95, 57,122,244,232,188,132,132, 4,162, 80, 40,204,202, +163,149,149, 85,234,205,155, 55,201,192,129, 3,115,203, 31, 83, 43, 43,171,212, 91,183,110,149,165,175, 48,167, 32,179,183,183, +159, 96, 99, 99,163,178,177,177, 81, 89, 88, 88, 44,182,179,179, 83,167,167,167, 19, 66, 8,105,212,168, 81, 90,249, 72,150,141, +111,191,207, 54, 30,188,117,231,106, 84,102,122,179,238,147, 86,200,154,133,200,106,113, 12, 92,133, 66,225,197, 78,157, 58, 21, + 37, 38, 38,146,130,130, 2, 18, 17, 17, 65,110,220,184, 65, 94,188,120, 65, 0,152, 51,195,128, 68, 44, 22, 39,107, 52, 26,147, + 70,163, 49,165,167,167, 27,211,210,210,140,209, 43,237, 8,217,198,126,179,100, 31,237, 75,212, 87,151,154,164, 98, 97, 18, 0, +201,123, 51, 90,161, 62,142,100,147,231,190,199,243,157,163,175, 46,235,169, 39,113,151,200,158, 49,214,250, 43,159, 57,188, 36, + 63,123,253,151,108,242,118,170,147,230,207,222,123, 34,190,118,126,186,110,225,116,125,124,124, 60,249,124,116, 79,195,185,105, + 14,175,200, 70,175,131,117,209, 44,199,176, 1, 3, 6,228, 39, 36, 36, 16, 31, 31,159, 2, 38,147, 57,246,223,100,178,186,121, +112,147, 35,118,127,110,234,235, 43,204,124, 71,102,203,215,198,198, 38, 99,199,142, 29, 68, 34,145,164,213,213,108,125,216,191, + 51, 41,202,185, 72,250, 7,183,170,246, 30, 25, 60,120, 48, 9, 12, 12, 36,211,166, 77,171,233, 94,162,188,128,126, 59,155, 53, + 59,106,250,240, 67,227,206,102,205,142,122, 1,253, 74, 13, 22, 5,224,203,229,203,151,135,233,245,250,176,237,219,183,135,245, +235,215, 47, 12,192,231,245, 60, 22, 63,253,240,195, 15, 68,175,215,147,237,219,183,147,126,253,250, 17, 0,107,235, 83, 46,149, + 69,178,252,252,252, 62, 59,114,228,200,157,167, 79,159,166, 7, 7, 7,175,104,214,172,153,172,174,154,127, 69,196, 98,177, 91, +211,166, 77,119,249,248,248, 36, 52,111,222, 92,235,237,237, 93,236,225,225, 17,231,235,235,187,131,199,227,185,214, 81,182,117, +187,118,237,140, 87,174, 92, 33, 3, 6, 12, 32,229, 76, 72,181, 84,231, 69, 8, 33,173,190,252,242,203,185, 0,200,151, 95,126, + 57,151, 16,210,167,212, 79,244, 41,255,119,197,207, 50,243, 84,246,127,101, 26,101, 75,101,154,149,253, 70,133,223, 65, 21,145, +172,241,127,216,185, 19, 39, 78,116, 58,113,226,196,149,138, 59,247, 81, 67,180,157,214,214,161,168, 40, 61,133, 68, 45,249,148, + 92, 14,116, 36, 55, 58,219,146,103, 51, 7,144,148,221,107,200,228, 22,242,194, 15, 27, 34,176,182, 70, 43, 44, 44,140,132,133, +133,145,240,240,112, 18, 27, 27, 75,114,114,114,200,254,253,251,141, 86, 86, 86, 69, 60, 30,111, 25, 0,129, 57, 98, 82,169, 52, +149, 16, 66, 52, 26, 13, 89,188,120,113,113,105,164, 74, 41,147,201, 82, 9, 33, 36, 59, 59,155, 44, 91,182,172, 88, 38,147, 69, + 0,176, 87, 40, 20,137, 49, 49, 49, 68,169, 84, 86,106,102,228,114,121,234,211,167, 79,203,140,147,131, 92, 46,143, 58,118,236, +152,142, 16, 66,146,146,146,136,165,165,101, 42, 0,165,149,149,213,131, 19, 39, 78,232, 8, 33, 68,165, 82,149,165,155,101,180, +138,138,138,200,185,115,231,222,202, 67, 89,250,233,211,167,223, 50, 96,102,160,148,201,100, 97,251,247,239,215, 26,141, 70, 18, + 21, 21, 85,102, 18,149, 22, 22, 22,225, 7, 15, 30,212, 26,141, 70, 18, 29, 29,109,182, 25,108,208,160, 65, 26, 33,132, 24, 12, + 6,178,113,227, 70, 77,217, 49, 45, 75,215,106,181,100,195,134, 13, 26,169, 84, 26, 6,160,218,232,155, 66,161, 80,105,181, 90, +146,157,157, 77, 2, 2, 2,242,111,220,184, 65,114,115,115, 9, 33,132, 52,104,208, 32, 13, 0, 60, 59,141,253,254,206,243,252, +220, 79,102,135, 30,112,109, 53,124,201,217,187,201, 73, 91,142,220, 15, 83,248,134,244, 52, 39,168,201,227,241,150,217,217,217, + 21, 95,187,118,205,168,211,233, 72, 66, 66, 2, 9, 15, 15,127,115,141, 69, 70, 70,154,101,180, 88, 44,214,252, 59,119,238,232, +140, 70,163, 41, 35, 35,195,152,150,150,102, 76, 75, 75, 51, 84, 52, 90,100, 27,155,100,156, 30, 71, 78,110,158,161,229,112, 56, +243,223, 79, 52, 11, 76,178,201, 51,132,108,242, 12,219, 49, 82,145,145, 23,190,151,144,243, 51,200,171,239, 27,146,249, 61, 37, +121,166, 77,158, 97,100,147,215,135,228,219, 78,172, 90,105,110,246,238, 75, 54,121,134,253,240,145, 75,230,131,176,123,228,202, +149, 43,100,195,154,229,100, 90, 55,135, 2,211, 38,207, 48,242,179,247,192,218,104,150,135,199,227, 61,191,126,253, 58,185,122, +245, 42, 89,184,112, 33, 17, 10,133, 9,239, 34,170, 71,126,246,112, 33,191,120,116, 34, 91,221,237,200,239,157,254,114, 29,124, + 90,217,195,161,187, 7, 55, 41,227,193, 17, 66, 94,191, 32,234,149, 62,164,167, 39,187,190,102,203,215,198,198, 38, 61, 46, 46, +142,168,213,106,178,122,245,106, 34,149, 74,235,100,182, 62,236,223,153, 20,101, 95,168,214,104,133,132,132,144, 31,127,252,145, +232,245,122,210,186,117,107,115, 94, 90,254, 96,182, 60,129, 16, 0,115, 87,172, 88,241,198,100,133,134,134,134, 69, 70, 70,134, + 57, 59, 59,159,170,199,177, 88,187, 98,197,138, 55, 38, 43, 52, 52,148, 68, 70, 70, 18, 23, 23,151,196,250,148, 75,221,187,119, +255, 62, 54, 54, 54,119,222,188,121, 7, 58,118,236,184,228,193,131, 7, 73, 39, 79,158, 12,243,243,243,235, 89, 87,205,119, 16, +213, 97,149, 70,118,184,132, 16, 54, 33,164,204,188,178, 0,176,203, 2, 10,230, 48,114,228, 72, 97,219,182,109,195, 70,140, 24, + 81,184, 99,199, 14, 18, 23, 23, 71, 34, 34, 34,200,138, 21, 43,200,130, 5, 11,200,182,109,219,200,192,129, 3, 11, 2, 2, 2, +238,124,248,225,135,252, 90,100,211,199,213,213, 53,231,232,209,163,100,207,158, 61,132,195,225,156, 52,119,195,234,188, 72, 85, +102,170, 42,131, 85,241,187,106,140, 88,181,134,205,140,223,251,163,169,170, 24, 9, 41,247,247,239,193,193,193,157,254,240,240, + 33,248,110,252,172,239,249,177, 59, 86, 35,117,255,122, 48,179, 83,193,206,203,132,230,250, 73,232,175, 31,195,168, 54,109, 4, + 2,138, 90, 84,219, 11,134,203,229,130,203,229,130,195,225,160,176,176, 16, 42,149, 10,237,219,183,103,132,135,135,243, 39, 76, +152, 48, 67, 32, 16, 36, 0,232, 95,227,221, 76,149, 68,164,111,222,188,137,113,227,198,241,118,237,218,213,220,218,218,250,161, +209,104,228, 2, 64,116,116, 52,134, 12, 25,194,219,187,119,111, 19,123,123,251,112,157, 78, 39,228,241,120, 96, 50,153, 85,234, +113,185, 92,232,245,122,158,187,187,123,196,195,135, 15,125,131,131,131,217,241,241,241,136,137,137,129, 94,175,231,122,120,120, + 68,134,135,135, 55,239,211,167, 15, 59, 49, 49, 17,241,241,241,111,242, 97, 78,126,181, 90, 45,120, 60, 30,202, 87,105, 81, 20, + 5,141, 70, 3, 46,151,107,182, 22,139,197,234,226,229,229, 21,249,240,225, 67,191,144,144, 16,206,189,123,247,144,148,148, 4, +163,209,200,245,246,246,142,124,248,240, 97,139,126,253,250,113, 34, 34, 34,144,154,154, 10,115,171,208,202,214,123,248,240, 33, + 70,140, 24,193, 61,115,230, 76, 11, 59, 59,187, 8,131,193,192, 5,128,200,200, 72, 12, 25, 50,132,123,246,236, 89, 63, 39, 39, +167,136, 26,170, 18,153, 0,160,215,235, 49, 97,194, 4,145, 84, 42, 69, 98, 98, 34, 76, 38, 19,140, 70, 35, 0, 32, 51, 43, 51, +242, 97,100, 84,244,168, 97, 31,117, 42,210,105, 52,183,238,222,127,210,168,129,139, 35, 69,145, 6, 53,100,181,191, 72, 36, 74, + 88,185,114,229,103,113,113,113, 60, 47, 47, 47,198,171, 87,175,144,151,151, 7, 14,135,243,230, 26, 51,119,191,185, 92,110,103, + 31, 31, 31, 86,113,113, 49, 76, 38, 19, 0, 16, 6,163,242, 22, 43,252,236,235,240, 86, 26,216, 2,129,160,243,123,121,122,231, +250, 88,193,132,238,241,233, 90, 30,207,194, 81, 34,182,243, 0, 18,174,162,161, 53, 15, 76, 6,147,127, 47,166, 80, 4,144,238, +112,206,176,170,157,166,169,123, 76,154,150,167,183,108, 34,182,119,116, 70,102,102, 38,156, 26,121,161,152,107,205,189,249,162, + 64, 12,170,150,154,255, 79, 7,119,119,119, 91, 55, 55, 55,100,100,100,192,207,207, 15,114,185, 92, 14,160,123,157, 31, 58,219, + 93,120,200, 69, 59,128,177, 18, 70,106, 33,244,172,165,120,145,238, 71, 54,249,177,255, 74, 38, 75, 42,230,222,222,187,111,191, +131,149,179, 55,112,242, 19, 40, 45,120,216, 58,201,207,210, 90,198, 59, 90, 71,179,229,171, 84, 42, 47,221,185,115, 71,193,231, +243, 17, 30, 30, 14, 31, 31, 31,172, 94,189,218, 90, 46,151, 95,173, 91,100,139,128, 80, 85,155,172,142, 29, 59, 98,234,212,169, +216,181,107, 23, 44, 45, 45, 49, 98,196,136,154,204, 22,137, 6,142,255, 16, 17,177,125,215,203,151, 39, 70, 54,110, 28, 60,194, +195, 99,241,196,161, 67,199, 78,159, 62, 29,203,151, 47,199,209,163, 71,209,174, 93, 59,140, 31, 63, 94,159,144,144,176,179,174, + 85, 85, 43, 87,174,156, 54, 99,198,140,138,154,186,248,248,248, 31,234, 85, 46,101,102, 70, 70, 68, 68, 68, 15, 27, 54,172, 83, +113,113,177,230,238,221,187, 79, 92, 93, 93, 29, 1, 52,168,171,102, 61, 12, 22, 69, 8,225, 3, 16,150, 46, 34, 0,194,189,123, +247,202, 66, 66, 66,164,165,105,130,210,165,198,234,125, 31, 31, 31,199,231,207,159, 39,207,156, 57,211,111,215,174, 93, 2,161, + 80,136,236,236,108,252,242,203, 47,152, 59,119, 46, 40,138, 2, 33, 4,219,182,109, 19,142, 25, 51,166,213,203,151, 47,147, 93, + 92, 92,204,105,210,194, 19,139,197, 7, 23, 47, 94, 44, 53,153, 76,152, 51,103, 78,134, 78,167,155, 90,250,221, 60, 11, 11,139, +219, 40, 49,220,213, 81,169, 23, 41,247,172, 60, 81,225,216, 4, 87, 76,171,248, 29, 33, 36,184, 58,141, 90,158,139,202,126,239, +100,117,102,171,252, 19,168,115,165, 46, 18,104,102,235,234,137,156,243, 7, 33, 96, 81, 16, 48, 75, 23, 22, 5,198,171, 72, 56, +241,217,208, 19,226, 91, 87,163, 85,182,176,217,108, 20, 22, 22,194,104, 52, 98,238,220,185,188,115,231,206, 89, 49, 24,140,255, +214,164, 83,222, 48, 61,123,246, 12,222,222,222,212,241,227,199,149, 83,167, 78, 21,148,253, 78, 78, 78, 14,220,220,220,168,211, +167, 79,219,124,253,245,215,226,234,204, 12, 69, 81,224,112, 56,152, 49, 99,134,224,238,221,187,150,246,246,246,120,245,234, 21, + 94,191,126, 13,177, 88,140, 25, 51,102, 8,238,220,185, 99,109,111,111,143,184,184, 56,228,228,228, 64, 44, 22,215,218,104,113, + 56,156,183,182,161, 40, 10, 58,157,174, 86,198, 64, 38,147,237, 9, 11, 11,179,150,201,100,136,136,136,128,193, 96,128, 76, 38, +195,180,105,211, 4, 97, 97, 97,214, 22, 22, 22,136,142,142, 6, 33, 4, 82,169,180, 86,121, 4, 0,147,201,132,232,232,104, 52, +104,208, 0, 87,175, 94,181,153, 56,113, 34,191, 44,253,197,139, 23,112,116,116,196,213,171, 87,109, 68, 34,209,158,170,180, 76, + 38, 19, 82, 82, 82,240,232,209, 35,188,122,245, 10,233,233,233,200,200,200, 64, 94, 94, 30, 12, 6, 3, 0, 64,152,151,123,114, +239,129,227, 15, 5, 2,129,208,199,195,221, 57, 50,234,113,154, 64, 32, 16,186, 56, 59,123, 0,223, 50,170, 49,132,255,141,143, +143,183, 26, 51,102, 12, 71,173, 86, 35, 43, 43, 11, 44, 22,235, 15,215, 22,151,107, 94, 83, 32,131,193,224,205,231,243, 41,157, + 78,247, 38, 2,198,229,114,241,217,158, 66,248,204,199, 91,203,208, 53,105, 32, 70, 61,180, 90,173,247,255, 60,154, 5, 80,160, +180,238,160, 40,191,219,175, 10, 44, 59, 4, 15,227, 32,230, 12, 96,210, 3, 12, 22, 58, 55,115,100, 29,141, 44, 80,130,160, 25, + 52,240, 34,164,230,158, 95, 4,160, 0,157, 27, 64,125,112,238,185,193,170,221,128, 73,156,228,228,100,112, 56, 28,240,120, 60, +248,117, 25,196,218,251, 80,111, 11, 10,205,161,131,167, 57,154,111,133, 29, 5,130,111, 22, 44, 88, 32, 42,175, 57,118,236, 88, +145, 76, 38, 91, 80,103,147, 85, 32,108, 3, 3,153,241, 40,185,176,193,226,147,106,239,151,105, 69,158, 32,100, 38,160,111,241, + 14,204, 86,103, 30,143, 23, 3,160,125,189, 76,150,132,123,107,223,190,253, 14,150, 78, 37, 38, 11,134, 98,128, 45,128,173,181, + 5,182,126, 22,104,105,109, 33,168,173,217,242, 85, 42,149, 23,111,223,190,173,224,243,249, 8, 11, 11, 3,135,195, 1,159,207, + 71,211,166, 77,177,105,211, 38,107, 75, 75,203, 90,155, 45, 2, 82,105,204,183,127,255,254,164, 99,199,142,152, 50,101, 10,118, +238,220, 9,173, 86,139,197,139, 23, 35, 62, 62,222, 44,217,104,224,248,178,136,136, 29, 75, 31, 61,122,246,165,175,175, 87,127, +145,200,114,202,136, 17,178,175,191,254,250,196,177, 99,199,182,247,233,211, 39,227,238,221,187, 63, 2, 56, 88,203,195, 75, 1, + 8, 93,181,106,213,148, 50,227,246,245,215, 95,111, 59,118,236,216,210, 62,125,250,164,220,189,123,119, 38,128,208,250,148, 75, + 38,147,233,228,127,255,251,223,135, 2,129, 64,232,233,233,233, 28, 21, 21,149, 38, 16, 8,132,206,206,206, 30,157, 58,117, 98, +212, 69,179, 46,216,216,216,116,189,125,251,182, 15, 74, 58,141,241,202,140, 86, 84, 84,148, 69,110,110,174,133, 88, 44,182,176, +179,179,147,148,153,173, 1, 3, 6, 88,176, 88,172,106,175,219,252,252,252, 99,243,230,205,147, 13, 24, 48,160,236,127, 92,191, +126, 29, 59,119,238,132, 72, 36,122,107,221,126,253,250, 97,220,184,113,114,173, 86,251, 95, 51,178, 59,122,194,132, 9,158, 74, +165, 18,223,124,243,141, 38, 57, 57,185, 43,128,120, 0,178,110,221,186,125, 31, 21, 21, 21,208,170, 85,171, 3, 0,252,171,187, +247, 42,243, 34,229,141,142, 57,105,117, 93,223, 92,179, 85, 33,169,202, 49,180,222, 50, 90,193,193,193, 87, 80, 69, 79, 42,221, +235, 84,240, 96,132,128, 73, 65,200, 44,103,182, 96, 2, 43, 39, 13, 84, 29,122,169, 84,246, 48,228,114,185, 96, 50,153,208,106, +181, 48,119,162,234, 50, 83, 32,149, 74, 33, 22,139, 81, 84, 84, 4,131,193, 0, 62,159, 95,102, 70, 32,149, 74,193,102,179,193, +102,179,193,231,243,255, 16, 77,170, 24,205,225,112, 56, 16,137, 68, 72, 73, 73, 65,124,124, 60, 76, 38, 19,196, 98, 49, 68, 34, + 17,184, 92, 46, 84, 42, 21, 84, 42, 21, 8, 33, 16,137, 68, 16,137, 68,168, 77,131,107,163,209, 88,233,195, 95,175,215,215, 42, +162,101, 48, 24,240,228,201, 19, 36, 36, 36,128,207,231,191,217, 87, 30,143,135, 23, 47, 94, 64,173, 86, 67, 40, 20, 66, 42,149, + 66, 38,147,153,173, 91,182, 47, 18,137, 4, 2,129, 0, 89, 89, 89, 40, 44, 44,124,115, 76,165, 82, 41, 68, 34, 17,114,114,114, +144,150,150, 86,237,190, 27,141, 70,168, 84, 42,164,167,167, 35, 49, 49, 17, 25, 25, 25,111, 10,160,210,168, 81,253, 2, 59,185, +185,200,204,204,124, 19,137,172,106, 49, 7,147,201,132,188,188, 60,220,190,125,155, 50,153, 76,200,206,206, 54,165,171,213,198, +201, 42, 46,142,126,251, 51,217,127,230, 65,241,222, 83, 97, 69,135, 47, 62, 42, 10, 61, 28, 89,196, 15, 88,104,192,251, 96,131, +175, 12,122,118, 80, 70,190,158,151,174,227,200,148,190,221,128,152,211, 0,131, 5,240,229,104,221,164, 33,226,179,140,162,167, +169, 90, 62, 40,244, 64,168,135,220, 44, 77, 35,187,123,122,158,158, 23,167,179,150,122, 55,243, 71,106,106, 42,120, 60, 30,120, + 60, 30, 62,104,215, 13, 49,153, 70,225,227,228, 34, 33, 8,130,204,210,252,127, 26,137,197,226, 54,237,219,183,167,202,107,246, +238,221, 27, 20, 69, 53, 5,224, 85,171, 66,110,109, 35, 46,116,194,214, 96,145, 25,143, 83, 10,237,143, 70, 21,123,244,237, 63, +200,242,167, 11,105,222, 79,212, 26, 87, 16,253, 44, 16,157,127, 61,204, 86, 39,137, 68,114, 98,221,186,117,174,124, 62,255, 52, +128, 14,117, 17, 17, 11,152, 27,191,153, 50,204, 65, 94,102,178,244,133, 0, 75, 0,176, 5, 0, 75, 0, 91, 27, 5, 22,141,235, +110, 41,228,179, 15,215,194,176,238, 13, 13, 13,181,174,104,178,202, 22, 63, 63, 63,204,159, 63,223,218,210,210,114,143, 57,122, + 43, 87, 44, 39,217, 57, 57, 0, 1,114,115,243,177,114,197,242,172,178,239, 6, 12, 24, 64, 58,116,232,128, 41, 83,166, 96,233, +210,165, 56,117,234, 20, 90,183,110,141,241,227,199,163, 85,171, 86, 53, 73, 7,201,100,178, 93,221,186,117,187,173,146, 72,198, +165,248,251,115, 47,202,100, 57, 93,115,114,100, 46, 81, 81, 58, 79, 32, 18,192,134,164,164,164,158,181, 48, 89, 67,165, 82,105, + 88,215,174, 93,117, 18,137, 36, 97,245,234,213,147,167, 78,157,138,229,203,151, 99,222,188,121,191, 0,248, 15,128,175,146,146, +146,236,171, 51, 89,127, 86,185,244,103,149,117, 70,163, 49,241,224,193,131,173,116, 58,157, 99,105,245, 32, 47, 59, 59, 91,250, +250,245,107,137, 78,167, 19,153, 76, 38,145,133,133,133, 24,128,112,212,168, 81,172,199,143, 31,123, 27, 12,134,228,234, 52,213, +106,245,240, 57,115,230,100,100,100,100, 0, 0,154, 54,109,138,236,236,108,124,254,249,231,248,244,211,146, 14,193, 45, 90,180, + 0, 33, 4,169,169,169, 88,185,114,101,170, 90,173,254,216,140,236, 54,118,119,119, 71, 84, 84, 20,158, 60,121,114, 1,128, 9, + 37,237, 88,115, 30, 60,120,240, 48, 61, 61, 29,123,246,236,225, 56, 56, 56, 28, 67, 21, 67,188, 84,231, 69,234, 2, 69, 81, 39, +235,178, 93, 89,228,170,178,136, 88, 21, 84, 31,209, 10, 14, 14,166,202,127,190, 21, 49,162, 16,145,112,255, 42, 44,125,253,223, +138,102, 9,153, 20, 4, 82, 25, 98, 18,227,193, 1,245,232, 93, 25,173,172,172, 44, 76,158, 60,185,104,248,240,225,153, 38,147, +105,144,185,166, 64, 38,147, 65, 38,147,225,241,227,199,100,224,192,129,169,171, 87,175, 46, 42,111,180,158, 61,123, 70,130,130, +130,210, 22, 44, 88,144, 95,157,209, 42,139,104, 45, 91,182,172,168,115,231,206,233,143, 30, 61, 34,101,102, 74, 44, 22, 99,229, +255,177,119,221,225, 81, 84,237,247,204,204,246,150, 94, 73,163, 39, 1, 66, 9, 45, 1, 1,129, 0,161, 55, 5, 65, 68, 65,233, +136, 40, 42, 42, 74, 21,144, 94, 69, 80, 20,165, 9, 8, 74, 71, 33, 72, 81, 90, 66, 11, 37, 13,210,203,102,211,179,125,119,102, +238,239,143, 36, 16, 32,101, 19,244,251,233,247,237,121,158,121, 54,123,119,230,228,189,101,238,156,121,239,189,239, 93,181,202, +208,179,103, 79,245,181,107,215, 72, 69, 90, 93, 60, 90, 52, 77, 63, 18, 90,149,175,161,105, 26, 60,207,215, 73,104,233,116,186, +177, 3, 7, 14, 84,223,191,127,159, 84,228,211,209,209, 17,107,214,172, 49,244,233,211, 71,125,231,206, 29, 82,145,230,224,224, + 96,179, 24,172,248,255, 42,149, 10, 14, 14, 14,184,123,247, 46,233,219,183,175,122,195,134, 13,198,202,233,247,238,221, 35, 67, +134, 12, 81,151,150,150,142,173, 73,188, 84, 12,231,177, 44, 11,163,209,136,188,188, 60,164,167,167, 63,114,167, 27, 20, 14,145, + 99, 70, 13,110,107, 48, 24,244,119,227, 19,210, 90,135,180,244, 48, 24, 12,250,212,180,180,120, 96, 1, 95, 3,247,200, 86,173, + 90,229, 79,155, 54,205, 80, 88, 88,248,220, 66, 75, 44, 22,223, 23, 8, 4,164, 91,183,110,196,108, 54,147,244,244,116,107, 94, + 97, 33, 27,188,116, 41,185, 51,123, 54, 37,139,142,150, 40,149, 74,170,156,147,126,240,224, 1, 47,147,201,238,255,199,133, 22, +205,123,129, 34, 47, 92, 72,208, 58,245, 25, 60, 90, 76,229, 92, 5, 44, 90, 64,226, 12, 72,156, 33, 80,184,162,127,183,118,204, +142,203, 37, 94, 32,124, 23,136, 36,190,181,114, 10,137, 39,192,119,251, 45,222,232,252,194, 75, 51,197, 5, 5, 5, 96, 24,230, +145, 40,146, 43, 20,232, 61,236, 53,250,219,171, 38, 47,128,116, 5,197,248,214,225, 94,255,224,211, 79, 63, 21, 21, 22, 22,130, +166,233,199,156,114, 57,166, 76,153, 34,113,112,112,152,103,115,231,183,191,133, 8, 66, 73, 24, 64,222,137,203, 49, 54, 56,124, +219, 16,244,222,242,237,178, 86,237, 58, 97,242,139, 30,178,229,199,114, 91,221, 76, 55, 52, 6,184,217, 96,205, 29,234, 33,182, +186,169, 84,170, 99,209,209,209,242, 1, 3, 6, 96,213,170, 85, 10,153, 76,118,162, 62, 29,191, 78,203,205, 88,180,225, 7,245, +173,181,253, 0,139,174, 76, 96, 85, 58,114,181, 60, 62,219, 30, 85,108,181,146, 49,182,114, 26, 12,134,241,111,190,249,102,254, +193,131, 7,159, 17, 89, 82,169, 20,201,201,201,248,252,243,207, 11, 10, 10, 10,106,125, 40,174, 89,189, 42, 38,246,230, 89,124, +251,245, 34, 0, 4, 27,215, 76,197,165, 11,123,157, 94,236,209,157, 52,108,216,144,116,234,212, 9,211,166, 77,195,146, 37, 75, + 16, 23, 23, 7, 55, 55, 55, 76,157, 58, 21, 61,122,244,192,234,213,171,107,234,164,250,206,152, 49,227,243,140,140,140,160,223, +126,251, 77,160,209,104, 60, 86,127,243, 77,241,129,226,226,130,101,177,177,113, 31,135,132, 52,159,219,166,205,235, 53,132,126, +168, 82,100, 77,159, 62,125, 79, 70, 70, 70,232,233,211,167,133, 26,141,198,119,250,244,233, 88,185,114, 37,230,205,155,183, 21, +192,100,216,182,224,197,230,126,137, 97,152,200,145, 35, 71,182, 53, 24, 12,250,184,184,184,180,144,144, 16, 15,131,193,160, 79, + 75, 75,139, 63,119,238, 28, 95, 31,206,250, 32, 63, 63, 63,105,247,238,221,241, 51,103,206, 12,205,200,200,104, 1,192,181,180, +180, 84, 81, 90, 90, 42, 49,155,205, 50,103,103,103,231,118,237,218,185, 77,154, 52, 73,121,227,198,141, 22, 25, 25, 25,218,114, + 47, 82,181,176, 88, 44,113,133,133,133,131,250,245,235, 87, 84, 88, 88,136, 54,109,218, 96,240,224,193,240,242,242, 66,131, 6, + 13, 48,116,232, 80, 4, 6, 6, 34, 63, 63, 31, 99,198,140, 41,208,104, 52,253, 0, 60,176,193,220,164,156,156, 28,116,233,210, + 5,139, 22, 45, 26,244,242,203, 47,223,233,214,173, 91, 73, 72, 72,136,222,215,215, 55,120,253,250,245,240,241,241,193,254,253, +251,189, 37, 18,201,238, 42, 68, 86,181, 90, 4,128,166, 92,240,152,159,250,212,212,242,155,173,215, 86,249,183, 13,231, 61, 45, +182, 42, 31,207, 12, 29, 86, 93, 33,192,103,223,239,223, 97, 20,251, 55,131, 99, 80, 91,200,165, 82,200,196, 98,200,156, 93, 97, +226,121,124,147,156,163,215, 17, 50,175,174,141,231,233, 7, 33, 69, 81,216,180,105, 19, 27, 30, 30,110,140,138,138,218,104, 48, + 24,252, 81, 22, 85,214,102, 81,176, 97,195, 6,253,172, 89,179,110,230,230,230,182,149, 74,165,230,138,244,141, 27, 55,234, 95, +123,237,181,216,140,140,140, 80,185, 92,174,175,110,126, 86,101,161, 37,145, 72, 76,185,185,185,157, 38, 78,156,120,255,203, 47, +191,212,201,229,114, 40, 20, 10, 72, 36, 18,115,110,110,110,219,105,211,166,221, 92,185,114,165, 94, 38,147, 65,161, 80,212,105, + 88,142, 16,242,140,160,170,156,110, 43, 88,150,141,202,205,205,109, 59,107,214,172, 27,235,215,175,215, 85, 8,160,202, 54,174, + 94,189, 90,175, 84, 42,235,228,209,170, 56, 79,161, 80, 96,221,186,117,250,153, 51,103,222,204,205,205,109, 43,145, 72,204,149, +210,117, 51,102,204,184,145,155,155,219,150,101,217,168, 26,222,198,184,146,146, 18, 8, 4, 2,196,198,198,154, 68, 34, 17,104, +154, 70, 98, 98,226,163,206,199,197,197,165,101,219,214, 33,193, 63,236,217,127, 78, 38,146, 72,194, 59,117,104,241, 32, 37, 53, +131, 16, 42,165, 22, 83,127, 54, 24, 12,254, 81, 81, 81, 27,195,195,195,141,155, 54,109, 98,171,243,108,217, 2,147,201,116,238, +250,245,235, 86,169, 84, 74,101,103,103,179, 12,195,128,227, 56, 98,234,212,201,212,122,253,122,114,119,238, 92,202, 65,161, 16, +136, 68, 34,200,229,114,234,228,201,147,102,189, 94,127,238, 63, 47,180, 32, 7, 5, 89, 66,174, 73, 37,165, 89, 10,241, 63,151, +137, 44,169, 19, 32,117, 6,164,206,240,241,241,197,213,100,189, 10, 52,196,224,108,136, 33, 70,136, 2, 20,228,177,106,168,132, + 98, 25,149,147,147,243, 72, 16, 85, 28,141,154,181,192,245, 84,173, 18, 20,145,128, 65, 93, 66,144, 12,114,117,117, 21,100,103, +103, 63,195,217,178,101, 75,198,106,181,218, 30,218, 37,139,243, 6,248,233,241, 57, 70,239, 67, 55,117, 65,179,151,125, 43,147, +113, 69, 64,244, 6,180,106,210, 0,179, 95,106, 39,254,228,176,166,213,181, 20,125, 19, 48,100, 50,120,173,123, 29,236,124, 65, +165, 82,157,184,118,237,154, 92,165, 82,225,193,131, 7,232,212,169, 19,182,109,219, 38,151,203,229,199, 1,212,105, 62,222, 21, + 53, 82,181,165, 92,248, 7,251,211,114,110,101,179, 79,136, 44,141,142,224,205, 47, 14, 23, 21,150, 24, 71, 94, 78,175,254,254, +169, 2, 55,138,138,138,250,206,155, 55, 47, 95,163,209, 60, 33,178, 82, 83, 83, 43, 30,138, 47, 2,168,245,229,247,247,179,167, + 66,151, 46,153,133,107,209,119,208,127,208, 59,184,126, 43, 9, 31,127, 56, 12, 78, 14, 50, 68, 69, 69, 97,248,240,225, 88,180, +104, 17, 18, 19, 19,241,227,143, 63, 82,219,182,109,163, 46, 95,190, 76,125,241,197, 23, 84, 45, 83, 26, 94, 93,182,108, 25,174, + 93,187,134, 1, 3, 6,224,252,249,243, 40, 40, 40,192,222, 19, 39, 18,118, 39, 36,124, 92, 49,103,171,154,208, 15, 85,194,193, +193,225,189,101,203,150, 33, 58, 58,250, 17,103,126,126, 62,150, 45, 91,150, 1, 96,106, 93, 68, 86, 93,250,165, 54,109,218, 4, +239,217,179,231,156, 84, 42,149,116,234,212,169, 69,114,114,114, 6,128,148,122,112,150, 60,207, 72, 85, 94, 94,222,159,219,182, +109,187,220,171, 87, 47,249,248,241,227,221,127,249,229, 23, 87,189, 94,223, 64, 34,145,120,152,205,102,241,189,123,247,152, 3, + 7, 14,120,221,189,123, 55,217,104, 52, 94,181,165, 60,114,115,115,175,198,197,197,245,107,211,166,205,189,141, 27, 55,102,120, +123,123,243,147, 38, 77,194,155,111,190, 9,119,119,119,110,221,186,117,105,221,186,117,139, 77, 74, 74,138,208,235,245,183,109, +180,245,187,165, 75,151,254,177,103,207, 30, 12, 30, 60, 24, 95,124,241, 5,246,238,221,139,179,103,207,202, 46, 92,184, 32,222, +182,109, 27, 68, 34, 17,194,194,194,208,183,111,223,222,229,195,157,182, 62,151,174, 81, 20,117,140,162,168,211, 79,125, 94,171, +233,183, 58, 92, 91,221,223, 53,158,247,148,153,219,158, 58,108,199,171, 77,176, 96, 74,136, 74,255,231,184, 48,146, 51,233, 5, +162, 30,221,130, 92,236,225, 66, 38, 54,165,116,227,235, 25,222,193, 96, 48, 60, 58, 14, 30, 60, 72,188,188,188,116, 42,149,170, +206,225, 29,188,188,188,212, 37, 37, 37,164, 99,199,142, 5,238,238,238,143, 66, 17,120,123,123,171,117, 58, 29, 9, 11, 11, 43, +240,240,240,120, 20,222,193,215,215, 55,157, 16, 66, 2, 2, 2,178,170,227, 99,163, 6,249,106, 0, 0, 32, 0, 73, 68, 65, 84, + 89,150,120,121,121, 85,172,208, 19,186,184,184,108,233,220,185,115,129, 90,173, 38,222,222,222,143, 66, 39,184,187,187,175,234, +212,169,211,211,233,181,217,155,158,145,145, 65, 50, 50, 50,136,159,159, 95, 86,229,244,212,212, 84,146,154,154, 74,124,125,125, +235, 28,222,193,221,221,125,101, 21,182,212,203, 70,127,127,127,181,193, 96, 32, 93,186,116,121,162, 76,253,253,253,213, 70,163, +177, 34,221,166,240, 14, 50,153,108,178, 84, 42,205,146, 74,165, 89, 18,137,228,243,134, 13, 27,230,238,219,183,143,172, 91,183, +174, 98, 73, 58,220, 91, 14, 9,111,214,229,245,143,221, 91, 14,125,239,121,194, 59,168, 84,170, 51, 94, 94, 94,186,131, 7, 15, + 62,209,190, 12, 6,131,205,225, 29,100, 50, 89,134, 86,171,229,213,106,181,245,143, 63,254,208, 71, 71, 71,235, 99, 99, 99,245, +201,201,201,134,252,220, 92,139, 90,173, 54, 20, 23, 23,155,110,222,188,105,146,203,255,127,194, 59,144,109,129,205,200,150,224, +195, 73,139, 26,221,157,213, 93,110,188,189,164, 45, 33, 63, 13, 39,228,248,155,132, 68,125, 64,174,110,157, 68,186, 52,146,112, +127,204,241,139, 39, 95, 5, 29,178, 37, 36, 3,217,214,186, 25,217, 18,124, 60, 97, 97,163,187,227,187, 53, 48,126,243,229, 58, +114,229,202, 21, 18, 27, 27, 75, 30, 60,120, 64,142,255,188,143,116,105, 34, 47,227,220, 18,124,184,142, 97, 30,186, 74, 36, 18, +237,154, 53,107,200,229,203,151, 31,113, 30, 62,124,152,200,229,114, 61, 96,219,170,101, 2, 80,100, 75,203, 97,236,151, 65, 23, + 62,233,163, 44,205, 63,250, 1, 33,183,119, 16,178,173, 21, 33,223,117, 38,100,223, 64, 66,142,188, 78, 46,175,123,137,116,109, + 36,178,146,175,130,206,147,173, 45,109,158,108, 47, 20, 10, 75, 14, 30, 60, 72,178,178,178,200,249,243,231, 73,116,116, 52,185, +127,255, 62, 73, 75, 75, 35,199,142, 29, 35, 66,161,208,136,122,108, 91,214,217, 19, 1, 17,205, 69,217, 55,151,119, 37,228,151, + 49, 68,179,251, 85, 50, 40, 68, 85, 16,230,247, 92,241,232,218,185,186,186,230, 29, 59,118,140, 36, 39, 39,147,115,231,206, 17, + 15, 15,143, 60, 0, 54,207,151, 29,212,191, 27, 33,230,155,164,103,247, 16,210,166, 77, 8,233,209,181, 57,201, 76,218, 64, 58, +181,111, 72,182,108,217, 66,212,106, 53,105,216,176, 33,169,171, 97, 17, 17, 17, 87, 8, 33, 49, 3, 6, 12,136, 1,112, 50, 34, + 34, 34,230,225,195,135, 49,157, 58,117,186,140,154, 67, 63, 84,139,222,189,123, 91, 8, 33,100,192,128, 1, 4, 64, 86, 68, 68, + 4,121,248,240, 33,233,212,169,147,185, 62,133,103, 75,191, 20, 26, 26, 26,222,171, 87,175,143, 67, 67, 67,223,179, 37,188, 67, + 45,156,127, 85, 16,106, 6,101,193, 63, 91, 2,232, 80,126,180, 40, 79, 99,158,131,243,117,161, 80,248,141,139,139,203, 89,103, +103,231, 40,134, 97,182, 1, 24,135,250,197, 55,163,203, 61,140,191,186,187,187, 39,182,105,211,198,208,175, 95, 63,210,191,127, +127, 50,125,250,116,194,243, 60,217,183,111, 31, 89,180,104, 17,105,234,234,202,174, 3,242,190, 2,222,128, 29,101, 1, 75,223, +104, 66,157, 27,219, 24,165, 99, 26, 67, 59,161, 41,101, 75,192,210,136,234,132, 22,207,243, 36, 62, 62,158,244,236,217, 83,167, + 80, 40, 50, 97,123,192,210, 39, 56,221,220,220,162, 61, 60, 60,158, 9,162, 89, 41,253,137,128,165, 30, 30, 30,127,122,123,123, +171,221,221,221,175, 87,197,233,230,230, 22,237,237,237,173,118,115,115,123, 34,184, 39,195, 48, 3,220,220,220, 50,159, 78, 23, + 8, 4,189, 60, 60, 60,210,159, 78,175, 38,239,240,242,242, 74,207,202,202, 34, 26,141,134,248,251,251,103, 61, 45,192,114,114, +114,158, 16, 96,182,112,214,102, 75, 13, 54, 86,201,105, 67,153,214,167,222, 43, 16,232,227,227,147,187,122,245,106,162, 84, 42, +159, 88,242, 28,212,125,194,167, 87, 18,180, 37,111,126,184,101, 95, 21, 1, 75,109, 13, 14,218, 79,161, 80,100,246,236,217, 83, + 23, 31, 31, 79,120,158, 39, 60,207, 87, 39,180,170,226,140,236,208,161, 67,126, 94, 94, 30, 87, 90, 90,202,166,167,167,155, 30, + 62,124,104, 88,178,100,137, 69,163,209, 24,181, 90,173,249,214,173, 91, 38,111,111,111, 13,128,200,186,214, 81, 61, 17,241,244, +240, 25,217,218,162, 43,249,170,197,177,251,243, 3,238,189,222, 89, 97,138, 89, 61,128,144,168, 15,200,229, 45,111,146,240, 70, +226, 50, 65,180, 53,248, 4,249, 54,176, 59,217,208, 68,108, 19,231, 55, 77,187,145,173,193, 39,238,126, 22,112,111,120,123,119, +243,158, 29, 91, 73, 98, 98, 34, 57,124, 96, 55, 9,107, 92, 46,178,190,106,241, 43,217,210,162,167, 45,156, 85,137,173,237,219, +183,147,196,196, 68,114,232,208, 33, 91, 69, 86, 68, 85, 66,235,163, 8,101,209,155,157,165,166, 49,237,196,230,161,173, 68,150, +190,205, 68,108,151, 0, 1,215,214,155,230, 91,184,131,244, 13,146,153,200, 87, 65,231,201, 87, 45,250,217,106,167, 88, 44, 78, + 67,165,152, 58, 79, 31, 18,137, 68, 83,131,208,138,168, 85,108, 5, 74,178,207, 44,234, 69, 6,183, 81,229,219, 40,178,106,107, + 75,237,220,220,220,242,190,251,238, 59,226,233,233,169,177, 81,100, 61,226, 28, 50,168, 47, 73, 77, 58, 78, 14,237, 91, 70,122, +118,111, 65,118,110,159, 69,174,156,159, 79, 6,246,239, 73, 34, 34, 34, 72, 94, 94, 30,233,213,171, 23,169,171,157,142,142,142, + 59,181, 90,109,204,169, 83,167, 98, 34, 34, 34, 98,118,238,220, 25,115,241,226,197, 24,185, 92,190,179,194, 57,241,180,216,106, +241,108,255, 31,241,148, 71, 43,166,180,180,148,156, 58,117,138, 68, 68, 68,144,157, 59,119,146,139, 23, 47, 18,185, 92, 30, 83, +223,251,200,214,126,169, 79,159, 62,159, 38, 39, 39,151,124,246,217,103,251,170, 8, 88,106, 43,103,226, 95,100,231, 95,210,135, +252, 63,112,170,100, 50, 89,204,205,155, 55, 73, 97, 97, 33, 9,241,244, 36, 75, 25,134,100,136, 68, 36, 75, 36, 34, 91,128,130, +255, 2,153, 52,169,186,161,195,191, 27, 85, 10, 45,163,209, 72,230,204,153, 99,150, 74,165,122,145, 72, 84,215, 45,120,254,213, +141,208,205,205,237, 79, 79, 79, 79,181,167,167,231, 19, 98,175,114,186,155,155,219,245,255,242, 27, 48, 80, 36, 18,165, 10,133, +194, 39,183,224,105, 57, 36,188,105,215,241,243, 60, 91, 13,233,255,156,118,138, 68, 34,209, 71, 82,169, 84, 63,103,206, 28,179, + 86,171,173,139,208, 2,128, 62,114,185, 60,243,251,239,191, 55, 36, 36, 36, 88, 11, 10, 10,216, 43, 87,174, 88,163,163,163,205, + 11, 22, 44, 40,149,203,229,153,168, 62, 44,193,127,164, 60,201,134, 38,226, 10,177,117,123, 94,192,253,193, 33,114,203,182,119, +251,146,240,134, 79,137,172,234, 35,185, 87,205, 89, 46,182,110,124,226,127,191,103,160,146, 93, 54,111, 54, 9,107, 44,123, 82, +100,213,129,243,105,177, 37,151,203, 75,231,207,159, 95, 23, 79,214,147,130,240,155, 32,127,178, 53,120,103,153,136,170,229,216, + 18,244, 53,217, 20,228,255, 79,185,143, 58,123, 34,160,119,160,228, 78, 29, 60, 89,182,216,217,206,217,217,249, 94, 29, 60, 89, +143, 56, 55,109,218, 72, 94, 29,221,135, 36,221, 59, 72,180,249,199,201,245, 75,107,200,136, 33,161, 36, 44,172, 19,217,186,117, + 43,137,139,139, 35, 29, 59,118, 36,245,176,179,239,148, 41, 83, 98, 30, 62,124, 24,243,224,193,131,152,139, 23, 47,198, 12, 27, + 54, 44, 6, 64,223,202, 35, 65, 21, 98,203, 50, 98,132,169, 29, 77,207,174,133,243,149, 41, 83,166,144,135, 15, 31,146, 7, 15, + 30,144,139, 23, 47,146, 97,195,134, 17,212,109,251,158,122,245, 75,161,161,161,225, 61,123,246,156,215,190,125,251,254,127, 21, +231,255,160,208, 82, 12, 31, 62,156,231, 56,142,244,239,223,159, 91, 15, 20,109,163, 40,245, 54,138, 82,111, 5, 52,255,237, 30, +173,191,123,195,207, 8, 0,167, 43, 39, 72,165, 82,181,209,104,116, 87, 42,149, 63,107,181,218,153, 40, 91, 22,249, 92,156,127, +135,157,118,206,255, 10, 78,111,165, 82,185, 81,171,213, 14,147, 74,165, 26,163,209,232, 89, 7, 78, 39,137, 68, 50, 91, 42,149, +246,212,235,245,129, 0,160, 80, 40,226, 77, 38,211, 89,131,193,176, 22, 64,209,255,119,222,201,134, 38, 98,136,197, 29, 64, 48, + 55, 38, 77,215,120,217,169,130,128,119,123, 57,167,117,105,170, 72,134,144,255, 2,148,233, 42,245, 70,170,169,206,156, 50,170, + 19, 56,225,220,171, 41,250,134, 95,252, 86, 26,240, 94, 79,101, 90,151, 38,202, 52, 16,124, 1,137,254, 82, 93, 57,159, 22, 91, + 10,133,226,123,157, 78,247, 22,128,179,117,205, 59,217,223, 66, 4,157,213, 7, 86, 38, 4,164,134, 45,124, 8,209,131,102, 98, +145, 3, 53,181,224,158,197,126, 31, 85,205,249,229,151,155,201,233,223,142,195,164, 47, 64,118,110, 9, 94, 29, 55, 1,237,218, +133,194,205,205, 13, 75,151, 46, 69,179,102,205,176,104,209, 34,170, 30,118,246, 85, 42,149,175, 6, 7, 7, 55,185,123,247,238, + 3,189, 94,191, 11,192,175, 79, 63,127,130,129,158,114,129,160,173,129,101,207,223, 3,162,107,225,124, 69,169, 84,190, 23, 28, + 28,220,234,238,221,187,119,244,122,253,106, 0,123,237,125,221,191,131,147,166,233,181, 1, 1, 1, 35,146,147,147,231, 2,216, +131,255, 33,252,199,133,150,157,211,206,249, 47,228,172,184, 79,200, 63,205,206,199, 98,139,159, 9, 10,141, 65,168, 12,136,248, +117,181,136,172,218, 57,101, 84, 39,176,130,119, 64,193, 15, 4, 57, 32,244,218, 90, 68,214,127, 86,100, 2, 20, 22,212,208,127, + 45, 0,161,170,175, 47,123,155,175, 2,159,126,250, 41, 57,121,242, 36,228,114, 57, 12, 6, 3,250,245,235,135,197,139, 23, 83, +246, 62,196,206,249, 31,228,252,175,132,192, 94, 4,118,216, 81, 43,200, 63,213, 48,234,237, 7,102,178,191,197, 53,228, 49,115, + 64,163, 49,192,166, 66,199,230, 80,111,167,154,159,147,243, 10,242,168, 89, 96, 16, 8, 49,155, 4,173, 57,135,154, 90,127,206, +191,225, 13,145, 96,193, 63,183, 94,254,141,120, 90, 84, 69, 71, 71,219, 11,197, 14, 59,108,199, 36, 60,185,210,240,209,119,187, +208,178,195,142,127, 57,168,151,239, 89, 0,100,148, 31,255, 88, 78, 59,236,176,195,142,255, 65,193, 5, 10,213, 79,104,171,139, + 75,176, 62, 19,237, 78,219, 57,235,197,201, 0,112, 4,224,132,178, 24, 36, 21, 75,122,107, 11,179,209, 31,128,213, 94,158,118, + 78, 59,167,157,211,206,105,231,252,127,230,172,141,251,223, 56, 36, 89,213, 42,195,109,255,137,127, 28, 97,231,252, 75,209,239, +191, 38,239, 4,109, 65,176,174,252,104,107,175,119, 59,167,157,211,206,105,231,252,159,231,252,175,132,125,232,240,223, 5,233, +191,214,114, 66,188, 1, 84, 4,185,140,133,145, 10,134, 20,179, 0, 0,165,184, 78, 8, 18, 0,132,148,255,158, 78, 81,117, 94, +141,106,135, 29,118,216, 97,135, 29,255, 95, 8, 5,112, 29,128, 55,128,129, 0,142,161, 60,170,194,255,171,208,146,185, 54,247, +134,128,110, 67,241, 36, 24, 0, 8, 77,221, 7,203,223, 50,228, 39, 60,247, 67, 86,217, 32,208,133, 64,188,159,130,249,101,109, + 86,252,115, 7, 67, 11, 9,116, 24,225,233,166,122, 53, 39,191,248,251, 59,113,218, 95,234,114,173,163, 99,128,163,212,197,249, + 37,147,197, 26, 34, 22,137,210, 44, 69, 37,219, 10, 11, 31,148,214,195, 12,151,154,126, 92,176,128, 80, 71,179,175, 83, 34,185, +133,118,117, 16, 81, 90,104,137, 54, 91,201, 55, 42, 74, 38, 7, 14,188, 76,234, 90, 55, 20,141, 23, 21, 42, 85,123,137, 84,222, + 73,174,114,110,206, 19,160, 64,157,153, 98,182,178, 23, 57,179, 62,134,240,248,189, 14,117,245, 26,128,101, 0,128, 94,189, 78, + 35, 4, 14, 88, 91, 97, 56,166,246,186,141,215,162,162, 80, 17, 92,246, 35, 0,203,235, 96,174, 19,128, 0, 0,197, 33, 33, 33, +250,216,216, 88,205, 95,213, 70,159,167,222,107,130, 68, 34,149, 89,173, 22, 11,199,113,207,189, 49,181, 68,238, 48,255,153,237, +149, 40, 26, 70,109,225,194,231,225, 21,185, 6, 14, 42,239, 60, 30,193,146, 31,191,192,222,159,218, 97,135, 29,118, 84, 43,180, + 6,162,108,200,176,246,201,240, 1, 45, 95,184, 38,149,202, 26, 1, 0, 79, 8,120, 2,232, 74,138, 98,114, 30, 68,247, 3, 0, +183,134,161,167,132, 82,135,246, 60, 41,251,157,227, 1,214, 98, 76, 46, 73,189,210,209, 22,139, 20,238,129,195,123, 69,244, 30, + 49,104,208,192,160,214, 33,173,155, 2,192,237,216,219, 73, 71,143, 30,139,139, 58, 77, 29,212,105,226, 15, 61,151, 3, 5,210, +197, 29, 58,180,123, 33, 58,250,250, 34, 0,211,159,183, 4, 93, 93,149, 51,127,253,105, 78,247,222, 35, 86, 41,128,186, 61,112, +165, 46,206, 47, 13, 29, 28,217,238,253,183,167,208,111,206, 89,218,232,218, 31,191,175, 80,122,183, 42, 34,188,245, 87,157,122, +244,133,154, 54, 78,126, 90, 63, 86, 39,176,118, 21,156,164,215,125, 23,238,108, 40, 72, 26, 77,120,110, 52, 69, 81, 96,196,242, + 3,238, 77, 94,216,231,244,226,187,133, 0,108, 94, 49,230,224,221, 50,194,195,219,247,224,232, 9,179,165,114, 71, 79, 1, 24, + 17, 0, 10, 89, 41,247, 16,181,119,153,243, 59, 11,183,135,254,113, 43,149, 61,243,211,102, 35, 37, 18,142,208,103,223,173,125, + 60, 61, 53,213, 9, 1, 1,101,127,127,253,245,167,104,212,248, 54,202,230,154, 1,107, 80,252, 67, 22, 66,128, 50,161,149,146, + 2,103, 91,109,237, 55, 96, 84,159,180,212,132, 69, 89,153,105,191,208, 2, 1, 95, 88,172,123,215,213,213, 67,155,159,159,219, + 19,229, 19,185,221,220,220, 20,121,121,121, 22, 0,150,255,100,189,191,244,198,226,175, 15,124,247,233, 91, 85,253, 54,237,157, +197,107, 3,124,157, 20,111, 79,159, 88,229,134,220, 61, 34, 39,190,127,238,228,246,149,181, 10, 98,133,106,254,200,183,230, 45, +120,177, 87,223, 39,210,175, 92,186,136,221,155, 62,133,174,180,126, 98, 75,228, 26, 56,232,149,133,191, 28,153,212,191, 33,180, +102,130,189, 81,169,176,154,205,248,105,233,168,235,150,252,248,163,246, 62,213, 14, 59,236,176,227, 9, 28, 43, 23, 87,199,158, +254,161, 90,161, 37,149,202, 26, 93,254,253,168,203,161,139,233, 0,128,136, 80, 47,124,188,100, 99,223,157, 27,162,227, 0, 32, +188,215,160,192, 69, 31,189,141, 63,239,228,130, 16,130,118,205, 92,209,127,232,203,182, 9, 15,207, 22, 29, 95,122,105,228,216, + 57,115,222, 27,146,152,152,152,178,103,207,158, 11, 0,208,173,123,247,102, 75,151, 46, 29,181,202,217, 69,242,227,129,159, 50, +141,234,123,215,234,147, 91,105,131, 38, 62, 65,205, 27,191,250,227,183, 27,233, 23,251,141, 28,147, 2,221, 50, 99,214,131, 76, + 91,174,117,115,115,155, 37, 20, 10, 29,129,178,221,216, 31,189,201, 91,136, 23, 0,176, 28,175,114,110, 16, 84,202,136,164,156, + 68, 34,186, 91,170,213,126, 95,146,121,239,155,154, 56, 77, 86,107,171,119,166,190, 65,223,120,144,143, 70,173,186, 49,235,150, +125, 2,158,179, 58,207,254,104,201, 75,209, 87,126,132, 78,141,115, 54,102, 77,248,116,130,143, 79, 24,179,120,153,178, 15, 69, +225,245,128,240, 9,195, 22,237, 56, 32,236,208,204, 1, 38, 43,143, 19, 49,249,225, 91,214, 46, 94,249,199,150,129, 71, 0,108, + 5,112, 6, 64,173,162,206,197,213,101,215,172,121,107,149, 58,243, 99, 47, 73,185,200,194,215,223,239,199,205,116, 30,193, 65, +193, 2,175, 89, 43,148, 91,151, 76,218,161, 47,219,103,171, 42,185,219, 4, 64, 87,224,190, 11, 38, 47,236,141, 31,150,127, 14, + 15, 15, 29, 84,170, 52, 80,240, 4,208,188,252,196, 4,113, 30,210, 1,124,148,155, 11,197,162, 41,232,119, 3,248,176, 45,144, + 11,224, 15,170,166, 93,227, 9,187,236,157,185, 43, 67,220, 27,135,116,138,141,203,196,229, 99,155,161,201, 73,117, 42, 44,204, +251,222,175, 89, 91,162,112,116, 15, 45,202,121, 8, 7, 39, 60,164, 8, 55,180,184,184, 48, 7,128, 77, 94, 36, 47, 47,175,249, + 62,254,157,187, 87,212,187, 75, 64,187,194,138,223,104, 70,176, 43,239,225,181,183,107,186, 62, 32,120,240,196,101,155,187,245, +188,127,243,212,254,180, 7, 49, 23, 89,171,197,212, 60,168, 77,135, 55, 94, 31, 51,234,126,166, 91, 91, 77,145, 9, 55,111,223, +105,183,124,249, 23,203,239,196,222,190,173, 82, 57, 57, 55, 14,108,219, 57,184,205,128, 49, 5,102,151, 38,182, 8, 45,150,229, +224,234,213, 4, 66,169, 10,190,158,142, 40, 42, 53, 65,103, 98,225,230,213, 24, 44,251,124,206,178, 54,173,188,113, 45,195,140, + 7,241,233,240,242,116, 65,122,154,198,222,149,218, 97,135, 29,118, 84,141,108, 60, 57,249,125, 91,173, 66, 11, 0,148, 50, 1, +226, 30,230, 0, 0,156,100,192,204,201,227,145,159,167, 9, 52,179, 60, 38,140, 31,135,235,247,179, 17,151,172, 1, 33, 4,129, +190, 54,111,194, 13, 6,124,135, 9, 19, 39,244, 56,245,235,175, 87, 63,157,247,233, 15, 20,133, 75, 0,176,117,219,215,225,159, +205,255,236,173,113,227,199,245, 57,112,224,192, 29, 0,245, 18, 90, 2, 74,181,113,229,242,207,197, 25,121, 70,227,172, 57,115, +249,247,222,157,181, 14,192, 72,155,148,140, 80,232,152,145,145,161,164,233, 39,247,210,252,226,243,185,231,251,140, 88,149,144, +146, 86,116,227,212,225,195, 29, 91,182,108,137,140,204,156,174, 43,214,127,213,246,196, 41,217, 27,165, 37,134, 17,250,188,123, + 85,110,218, 44, 17, 10,239, 44, 92,177,165, 29,239,212,140,254,248,173, 1,104,213,180, 1, 50,115,139,208,189,223, 16, 65,204, +181,107,125, 1,155,133,214,211,193, 3, 95, 50,243,185,109,151,126,127,165,247,176, 46, 13, 58,208, 52, 3,173,193, 10, 77,177, + 9, 28, 15,116,107,225,136,200,157,235, 5, 5, 58,235,240, 37, 63,165, 15,191,180, 97,144,218, 88,156, 53, 3,192,193, 90,252, +129, 46,190, 30, 14,136, 75, 47,173, 82,100,233,140,101, 15,112, 17,195,129, 2,113,173,129,168, 43,128,239,128, 96,224,183, 25, + 99,225,233,185,199,211,211,243, 37, 15, 79,175,152,192,177,111, 80, 62,141, 90,168,180, 6, 11,238,222,185, 93,218,178,125, 44, + 41, 45,200,157,109,212, 21, 30,184, 7,196, 6, 3,251,202, 57,222, 64, 13, 66, 43, 33,225, 94,209, 27,175,244, 20,220, 72, 42, +197, 3,133, 2,173,186, 12, 67,177, 38, 67, 24,249,198,194,206,134,210, 98,169,171,103, 0,238,253,185, 31,154,180,196,118, 70, +179,233,144,139,127,120,207, 35,223,125,104,174,205,187,229,229,229, 53,127,242,228,201, 11, 52,217,247, 23,247, 25,177,170, 77, + 74, 90,209,141,177, 11,207,118,156, 54,188, 25, 78,220, 42,193,231, 19,123,190, 10,160, 70,161,197, 8, 8, 39, 85,122, 53, 26, +241,202,140,185, 13,220,165,115,229, 50, 26, 78, 10, 49,126,189,146,139, 31,127, 77,135,149, 37, 8,107,211, 60,112,230,251,107, +119,120,187,138,145,157,103, 70,166,198, 8,117,158, 17,218,124,189,201,166, 6, 65, 81,200,213,228,227,216,145, 99,160,132, 82, + 80, 52, 5,171,197, 2, 1, 77,131,162,159, 63, 30,241,119,223,158,197,165,173,131, 17, 62,249, 8, 90,134, 52,180,119,165,118, +216, 97,135, 29, 85,163,218, 85,135, 2, 0, 56,122,244, 40, 25, 52,104,208, 51,189, 50,199, 17,196, 37,151, 77,193, 97, 24, 6, + 3, 95,104,134,117, 43, 22,194, 96,102,113,243, 97, 49, 14,253,153, 14,179,174, 8,132, 16,228,181,242,168,234, 31, 63, 49,164, +180,106,153, 44,148,145, 8, 71,255,113, 69,209,208,197,217,217, 57,225,206, 15,186,207,222, 85,183, 16, 16, 75,204,146, 47,154, + 61, 20,185, 8,186,236,223,191,175,229,224, 65,131,196, 74,165,234, 3, 34,104,235, 43,212,145,247,138,139,111, 21, 87,199,249, + 52,100, 30,193, 67,134, 12,140,236,229,229,229,201,143, 93,122,229,254,198, 25,161,254,205,155, 53,239, 26,103, 53, 12, 49,228, + 38, 28,174,230,178, 71,156, 60,207,131,166,105,168,213,106,112, 28, 7,147,201, 4,171,213,138,244,244, 20, 53, 79,136, 47, 7, +158,246,246,246,133, 64, 32, 70,163,134, 1,216,178,110,153,124,231,143,135, 59,125,248,233,226, 95,244,121, 8,195,227,224,150, +143, 56,141, 5,133, 7,142,159,252,213,157, 32,170,193,199,111, 13, 96,114, 11,181,136,186,150,136,235,119,211,235, 90,145, 79, +135,112,104,152,153,154, 88,178,106,213, 42,102,209,137,196,244, 94,253, 71,114, 1, 77,219, 52, 52,113, 4, 0, 5,137, 72, 0, +145,128, 70,128,187, 20, 63,207, 13,193,149,161,183, 60,251,134,186,175, 37,132, 28,172,169, 60, 77, 38, 43,247, 66,176,130,105, +219,196, 17,183,146, 10,113,245,196, 37,204,154,183, 22,209, 15, 77, 40,213,234, 65,113, 38, 48,196,132,188,212, 7, 96, 57,142, +212, 86,239,101, 8, 45, 4, 0,137, 68,242,209,161, 35, 39, 27,152,120, 41,114,138, 76, 80, 23,154,208, 44,108,132, 34, 53, 83, +131,239, 22,142,250, 8,192,129, 96,160,212, 6, 78, 9,128,158, 41, 15,227,173,102, 51,199, 27, 45, 28,221,202,223, 17,223,252, +118, 13, 33, 61, 95, 49,138, 25, 70,166,114,116, 3, 8,208,170,251, 43,184,250,203, 38, 40,105,166,189,204, 65,210, 22,192,213, +154,218, 82,133,200,154, 63,127, 62,166, 79, 30, 5,158, 16, 33, 7,158, 6,128, 47, 15, 37, 34,160,145, 71, 77,117,244,120,187, + 24,142,166, 44, 22,130, 82,173, 21,154, 34, 51, 84, 82, 1,226,211,116, 72, 76,213, 98, 84, 63, 31,140,232,237, 13,142, 39, 24, +247,193,117,140,236,235,141,177,131,124, 1,138, 66, 94,161, 25, 38, 51, 87,109,222,105,154,110,204, 48, 76, 40,199,113,215,203, +190, 51,224, 0,148, 20,230,193,100, 50,129, 97, 24, 56,187,184, 3,160,158, 56,151,231,249,135,182,222, 71, 21,240,112, 87, 34, +124,242, 17,120,184, 43,109, 57,253,239, 88,146,109,231,180,115,218, 57,255, 71, 56,171,211, 34,255, 18, 84, 27,202,129,174,233, +170,164,244, 2,196, 61,204, 65,251, 96, 31, 52,109,232,141,171,241,133,216, 21,149,142,237,167, 82, 17,117, 83, 3, 94,160, 66, + 78, 9,144,144,162, 70, 66,106, 94,173,241,179, 25,137,112,244, 59,239, 20,207,105,221,178, 36,236,247, 19, 51,225,227,158,208, +242,195, 15,139,102, 50, 18,225,104,103, 63,213,158,185,115,102,191,170,146,203,197,102,147, 25, 77, 26, 7, 72,223,158, 49,243, + 13,202, 89, 98,243,158, 72, 42,159, 22,206, 18,153,236,155, 37, 11, 62,144,172, 61,148,144,166, 51, 67,119,240,146,250,193,123, +115, 63, 43, 16, 8,165, 91, 84, 62, 45,108,158,251, 99,181, 90, 97, 50,153, 96, 54,155, 97,177, 88,144,153,126,111,200,153, 67, +239,247,107,236,231,210, 79, 34,149,130, 0, 40, 49,176,120,152,173, 71,207,222,125,152,246,161,161,173,148,222, 45, 38, 86,197, + 85, 92,156, 90,204, 19, 70,117,244,231,221,204,190,223,110,224,135,163,215,240,203,217, 27,184,122,238, 4, 75,120,235,163,253, +191,148,222,205, 2,149,222,173, 83,149, 13,218,168, 31, 29, 62, 33, 53,134,103,102, 24,154,244,236, 29,113,122,242,244,183,127, +215,151,230,231,126,179,113, 97,166, 38, 43,229,158, 68, 68,177,114, 9, 3,173,145,197,142, 51, 89,120,105,217, 77,220, 77,211, +130, 16, 82,235, 6,222, 60,240,238,232,137,239,115, 86,139, 5, 65,254, 74,236,222,182, 28, 67,122,182, 69,175,214,206,232,216, + 84, 1,185,192,132, 59,247,227,176,119,247, 14,150,231,233,247,106,185, 17, 35,203,143, 24, 0,208,106,181,239,127,248,193,123, + 26, 51,203,195, 98,229, 97, 41,255, 60,179,247, 11, 13,103,212,191, 95,126, 93, 76,165,235,170,187,153, 55,188, 57,237,195,158, +223,236, 58,221,231,224,249,108, 90,157,111, 65,212,201, 3,240,246,107, 2, 17, 67,203, 64, 1,160, 40,128,162, 64, 8,129,123, + 64, 11, 24,121, 30, 63,125,245,137, 15,106,152,175, 86, 33,178, 38, 77,154,132,123,247,238, 61, 81,239, 73,137,201, 72, 74, 76, +198,233, 83,151, 1, 0, 46, 1,237, 10, 93, 2,218, 21,186, 53,238,184,181, 42, 46, 51,103,229, 13, 44,135,156, 34, 35,228, 82, + 26,254, 62,114, 12,239,229,141,141, 31,183,193,216, 1, 62,200, 80,235, 49,105,241, 77,120,122, 10,241,243,249,108,108,216,147, +132,230, 1, 10, 12,235,213, 0,175, 15,246,173,218, 91, 43, 16,244, 23, 10,133, 99,134, 13, 27,190, 80, 34, 85, 44,155,177,120, +215, 2,153, 68, 80,225,141, 5,195, 48,176, 90,173,160,105, 10,163,103,109, 92, 32,145,171,150, 13, 27, 54,124,161, 80, 40, 28, + 35, 16, 8,250,215,181,231,232, 63,176, 3,104, 99, 46,250, 15,236, 96,127, 95,181,195, 14, 59,236,168,217,163, 85,113,120, 63, +209,111, 87,119,133,209,104, 72, 30, 57,122, 28,188, 61,188,148, 67, 95,124, 93, 20,147, 84, 4, 77,118, 42, 18,227, 99,161, 55, + 90, 33,114,110, 12, 72,189,208,176, 81, 0,110,197,253, 98,217,176,242,152,150,103, 77,201,213,241, 13, 25,226,237,155,120,159, +162, 87,174,240,191, 28, 31, 87,216,126,247,188,239, 48,118,172,210,109,229, 10,255,203, 41, 15, 20,180, 92, 74,186,188, 49,126, + 12, 69, 83, 4, 31,126, 56, 7, 67, 7, 69, 98,194, 27,175, 81,223,127,191, 35,172,200,198, 92,242, 16,110,250,232,147,133, 98, +117, 17,107,190, 26,175, 53,201, 21, 50,217, 31, 9, 90, 93,171, 70,254,178, 1, 35, 94,207, 58,182,255,155,181, 0,198,219,194, + 85, 33,176,172, 86, 43, 44, 22, 11, 0,112,101,222,131,178,207,252, 82, 51,114,139, 76, 80, 23,153,192,114, 60, 70,140, 30, 47, +187, 22,125,115, 60,128,106,230,107,241,188,149,181,226,224,111,215,145,121,237, 0, 79,209, 76,113,165,201,240, 80,122, 55, 11, +244,242,242, 63, 63,104,196,107,238, 98,105,217, 48,108,169,206,132,239,191, 90, 81,163,157, 52, 69, 17,158, 99,139, 88,171, 85, +215,164,113,147,204,224,150,109,165, 23,127, 63, 53,228,143,211, 7,181,108,147,215,156,146, 82,178,193, 8, 37, 96, 68, 82,152, + 44,182, 45, 60, 84, 39, 94,222, 12,128,154, 56,109,206,186,217,239,127,204,188,187,225, 2,204, 70, 61, 76, 6, 29, 74,138, 11, + 33, 19, 88,113,231,207,195, 44,225,172,179,117,217, 55, 54, 87,207, 68,101, 1,200,170,156, 82, 80, 80, 16,245,231,133,243, 71, +174,252,121, 97,130, 87,147,246,180,217,202, 35, 49,246, 10,159,153, 16,125,196,100, 42,137, 2, 0, 10,200, 7,112,170, 38,199, +165,202,193,201,113,194,244,247, 39, 58,201, 20,116,108, 70, 17, 82,179, 75,192,201,124,224,229,219,244,241,248, 42, 95,150,223, + 78, 65,238,232,219,118, 20, 46,222, 78,227, 78,237,219,220, 7,192, 97, 0,250,154, 68, 86, 76, 76, 12, 68, 34,209, 19,245,222, +180, 89, 35, 84, 12, 29, 22, 21,204,116,218,177,242,117, 0, 64,175, 23,186, 79, 2, 48,249,153, 23,149,156, 18,184,154, 89,116, +110,225,130,160,198, 74,100,230,155, 65, 40, 1,246,159,201, 67, 66,134, 14,191, 93,213,192,219, 69, 12,222, 76,131,145, 0, 7, + 47,102,226,226,157, 60,140,235,239,135,251, 15, 11,170, 17,214, 76,232,187,239,205, 89,180,126,253,134,179, 35,167,173,124,169, + 91,104, 19,148,148,106,145, 89, 96,133, 86, 87, 10,157, 86, 7,153, 92, 14,137, 88, 12, 70, 32, 64,255, 55, 62,127,233,248,119, +159,252,254,238,123,115, 22,173, 89,189,234, 51,150,101, 79,216,251, 67, 59,236,176,195,142,191,213,163, 53,169,114, 90,181, 66, + 43,245,238,197,142, 0, 16,216,161,111,190, 82, 42,112, 17,208, 20,212, 25, 73,248,126,213, 44,240, 60,193,128,183, 86, 66,213, +200, 11, 50, 17, 3,147, 54, 95, 91,144,116,174,166,185, 58,160, 40,107,159,205, 91, 51, 27, 77,155,218,196, 97,247,110,173, 16, + 0,118,239,214, 10,167, 78,241,115,248,114,107,114,163,206, 47,180, 7,225, 56, 12, 26, 58, 18,163, 95, 25,141,148, 28, 61,126, + 58,159, 6,157,193,108,211,106, 57,153, 91,112, 91, 55, 87,247,200,119, 94,143, 84, 8, 24,138,106, 30,224,200,164,107,172, 44, +195, 8,185, 35,215,138,179, 70,140,120,197, 45,234,248,190, 94,156, 91,112, 91, 67,222,253,155,181,241,153, 76,166, 39,134, 14, + 93,220, 26, 31,239, 51,114, 85, 70,118, 78,233,177,156, 66, 99,103,157,149,133,186,200,132,220, 34, 19,138,116, 22,120,169,156, +193, 90,205,173,171,227, 35,132,252, 48,108,228,184,215, 0,208, 20,205,126,167,205,190, 31, 95,246,203, 99,145, 21, 57,116,172, +251,249,152, 36, 36, 70,159, 40, 36, 60, 91, 22,197,157,226, 51,106, 46, 87, 16,134, 2, 47, 18, 80, 86,134,166,121,139, 69,107, +245,240,112,143, 58, 23,117,114,176,145,125, 0, 70, 36,121,116,174,225,201,225,168,218,196,214, 38, 0, 88,191, 97,221,234, 46, +125,198,138,206, 93, 79,134,193, 10,132,135, 6,226,231, 31,191, 54, 17, 98,125, 95,151,125, 99, 83, 29, 26,161,147,159,159,223, + 44,161, 88,220, 75, 38, 87,249,185,123,251,211, 22,150,131,197,202, 65,225,234, 67, 75,148, 46,125,120, 90,116,145,181,152,163, + 44, 58,205,122, 0,213,234,235,223, 46,223,237,245,213,250,213, 47,121,187, 42,224,231, 38,194,145,115,133,156, 85,192,211, 30, + 1, 65, 20, 0,248,123, 56,224,238,245,223,113,235,214,109,180, 14,143,132,171,202, 23, 74, 17, 71,242, 18,255, 40,240,244,242, +105,167,206,201, 20, 61, 45,180,188,188,188,230,143, 27, 55,110,129,183,183, 55,214,173, 91,247, 40,189,114,189,135, 0,157, 43, + 15, 29,126,121, 40,177,198, 12,191, 49,168, 33, 94,104,235, 1,158, 7,222, 94,123, 11,177, 73, 37,216,246, 81, 40, 70,244,244, +193,214, 95,146,209,166,185, 2, 90, 3, 15,139,153,131, 72, 76,163, 69, 99, 37, 36, 34, 6,103,175,231,161, 84,167,171,145,155, + 98, 36,232,211, 51, 28,121, 69,122,184, 59,138,209,216,207, 29, 74,121, 99,148, 26, 88,164,230, 20,163, 88,103, 69, 94,161, 14, + 93,195, 59,225,215,157,226, 58,245, 22, 21, 43, 14, 1, 32, 61,187, 4,188,212, 3,185,121,122,120,120, 59, 3,101, 75,152,237, +171, 14,237,176,195, 14, 59,170,246,106, 1,149, 98,104, 61, 33,180,142, 30, 61, 74, 0,160,170,241,209, 76,117, 1, 92,149, 2, +184, 55,104,132, 87,103,173,198, 15,107,223, 5,199, 89, 65, 8,192,114,182, 69, 38, 32, 68,248,219,244,169,141,130, 27, 54, 98, +220, 95, 29, 43, 55,236,218,173,151,189, 58, 86,110, 8,105,237, 90, 60,125,106,163,228, 82,163,127, 87,150,227,240,199,157, 92, +196, 38, 23, 35, 54,165, 4, 74,153,237, 97,190, 24,177,104,234,138,229,203, 68, 2,134,162,238,164,106,181, 25,249,172,150, 17, + 10, 45,114,153,152,152,137,192,148,146, 71,242,123, 15,123,195,112,100,231,250,137, 0,102, 84,235, 21, 43, 95,105, 88,225,201, +170,248, 36,132, 16, 10,224,121,138,227, 50,242,140,208, 90,172, 80, 23, 62, 22, 90, 20, 91,253,200,169,210,187, 89,160,131, 74, +121,146, 97, 24, 9, 33,128,213,194,142,130,119,179,126,218,236,196,248,202, 34,235,242,157, 44, 36,221, 56,173,230, 44,250,113, +250,220,184, 51,182,230,157,162, 64, 24, 6, 60, 67, 83, 60, 69,129, 23,210,196, 12, 66,248,167, 45,210,215, 65,104, 85,136, 45, +177,144,153,247,235,222,181, 30, 19, 6,182,192,143,231,203, 52,159,177, 84, 83,162,203,172,147,200,130,171,171,235,248, 15, 62, +248, 96,254,144,145, 99, 81,108,164,160, 46, 44,243, 6,154,173, 60, 68, 10, 55,244,153,254,173, 95,182,166,196, 47,241,234,145, +174,121, 55,118, 23, 91,141,197,235,170,181, 43, 41,235,170, 65,175, 67,137,161, 44, 63,115,198, 7, 49,159,110,254, 13, 44, 17, +192,197,221, 7,238, 14, 34,188, 62,170, 63,206, 7, 52,196,189,251,247, 49,111,225, 49,120, 58, 57,196, 94,250,253,112,211,208, +176,110,107,142, 31,218,243,140,136,203,201,201, 89,184,115,231, 78,180,109,219,118, 65,251,246,237,145,147,147, 83, 33,144, 31, +213,123, 82, 98,153,195,182, 66,104, 93,191,126, 11,161,161,109,170,205,115,235,166, 14, 56,112, 54, 11,223, 30, 77,129, 76,194, +160,145,143, 20, 83, 87,220, 64,207,118,110,152,249,114, 99, 40,101, 1, 40, 42,181,194,108,229, 97, 48,177,200, 47,177, 32, 51, +223,136,116,181, 1, 22,107,205,115,225, 9, 8, 98,227, 51, 96, 50, 25,225,236,236, 12,165,220, 8,169,147, 63, 0, 6,133,234, +226,178,213,135,122, 35,228, 50, 73,189, 68,214,230, 55,155,225,118,182, 21,223,125,123,253,209,100,248, 94,253, 66, 49,125,211, +233,249,155,103, 68,216,227,105,217, 97,135, 29,127, 11,106,210, 34,255, 34,175,214,179, 30,173,154, 50, 68, 8,144,144,154,135, +134,190,238,240,109,216, 20,241,247,110, 85,234,236, 1,150,179,109, 56,234,240,225,236,140,213,171, 29,248,119,223, 45, 14, 95, +177,194,255,210,212, 41,126,142, 33,173, 93,139, 63,248, 32, 45,124,205, 26,199, 75,191, 93, 22,114,164, 60, 94, 87, 69,108, 46, + 66,234, 18, 99,147,238,212,182,101, 99,102,225,238,132,180, 51,183, 75,115, 69, 34,145,213,203, 89, 74,169,148, 98,134,161,133, + 98,147,149, 54, 5,182, 10,101,142,208, 84,104, 77, 44, 21, 66,235,233,161,195,124, 77,210,144, 95,127,154, 19,242,226,176,149, + 46,153, 26, 3,138,205,204,163,161, 67,134,166,112,251, 94, 42,192,136, 98,171,226,116, 80,185,156,218,179,235, 7,255, 53, 43, + 62,135,133,229, 48,253,221, 79,241,198,248,113,167,224,221,172,159,127,163,160,152, 11, 71,190,147,247,155,178, 5,169,113,209, + 57,172,169,100,111, 93, 68,214, 35,177, 5, 16,142,240,116, 65, 97,137,210,196, 66,138, 42,116,159,201,194,215,171,229,104, 13, + 44,142, 92,201,193,209, 67,123,225,168, 82,212,139,195,209,209,177, 69,247,238, 61, 64, 9,196, 48, 91, 77, 48,179, 60,204,149, +230,104, 89,172, 60,172, 68, 8,185,119, 27, 20,220,253,185, 5,140,197,213,114,189,246, 90,223,130,150,173,219,239,255,228,221, +183, 94,126,249,213, 9,232, 28,246, 2,226,110,253, 9, 79,191, 96, 40,157,220,200,165,228, 66, 54, 60,216, 95, 48,126,104, 71, + 42,202,183, 9, 26,181,232,130,132,187,215, 90,139, 68,162,219,105,137,247,171, 29,146,204,201,201,169,136, 57,181,160,125,251, +246, 72, 75, 75, 67, 65,165,122,111,218,172, 17, 0, 32,254,126,217, 34,134, 10,145,197,243, 85,183,211, 73,203,110,160,196,192, +193,205, 89, 12,134,162, 1, 66,208,208, 91,134,232,132, 2,140, 91, 88,136,176,150, 46,240,247,150, 3,132, 64,107,180,194,108, +230, 97,225, 1,179,145, 5, 67, 87,187,100,144,227, 56,142,163,137,149,185, 30, 27, 15,177, 72, 8,199, 34, 29,100, 50, 25, 68, +162, 60, 80, 52, 13,150,229, 97,177, 90, 97,208, 27,176, 63,250, 50, 8,103, 97, 56,142,227, 80, 62, 12,106,171,200,218,118, 34, +229,137,201,240,126,222, 14, 72,207, 46,177,139, 45, 59,236,176,227,111,193,191,120, 34,124,101,113, 85,189, 71,171, 38, 4,248, +122,226, 74,108, 50, 90, 7, 55,134,163,131, 10,247,147, 50,192,208, 66,208, 20, 96,101,109, 23, 67,196, 98,253,113,205, 26, 71, +164, 38, 43,232, 47,183, 36, 55,154, 62,181, 81,242,154, 53,142,151,136,197,250, 35,128,113,132, 0,101, 98,171, 76,112,113,117, +208, 5,132,183,250,121,186,200,153,232, 7,186,124,154,102, 76,174,142, 82,222,213, 81, 66,187,170,196, 66,145,144,225, 89, 66, + 91,124, 61, 26, 25, 9,207,219,178,175,222, 19, 67,135, 28,199,129,162,104,174, 92,136, 41,210,243, 13, 40, 54, 50, 80, 23,153, + 80, 88,106, 65,115, 31, 5, 78, 71, 29,208,115, 86,195,238, 42,189,109, 66,145, 99,211, 70,190,248,120,241, 26, 24, 76, 28, 18, + 50,181, 16, 73, 36, 94,158, 94,173,110,142,155, 54, 87,242,246,182, 36, 76,236,229,138,119, 47, 36,101,234,213,210,185,117,169, + 89,142,227, 96, 48,154, 69,234,188, 66,231,146, 82,157,131, 76, 42, 49,184,187, 56,230, 85,117,174,177,142, 30,173, 10,200,165, + 2, 12, 14,243,130,209, 50, 6, 6, 19,139, 63,207, 28,172, 15, 77, 99,207, 6,190,208,154, 43,137,171,114,177, 85, 89,116, 9, +149,238, 0,168,198,181,101,251,238,237,152, 81,119,111,199, 44,186,118,233,220,158, 21,223,156, 9,217,185,233, 51,108,252, 37, + 9, 12,195, 80,196,202, 10,215,255,146, 12, 95, 39,134,104,173, 66,202,200, 81,208, 21,104, 16,212,169,127,171, 61,155, 63,153, +139,178,144, 17, 38, 91,196, 86,161, 58,250, 81,189,159, 60,241,104,221, 2, 10,111,238, 40, 74, 58,187,177, 76,226, 51,130, 3, + 85,171,118,139,217,195, 81, 76, 56,214,194, 87,142,104,229, 40,163, 64,120,224,218, 29, 53,174,199,211,112,117, 16, 65, 41, 19, +194,202,242,208,155, 89, 24,140, 28,205,179, 22, 83, 53,245,125,125,253,186,181,159,141, 25, 51,102,234,222,125, 11, 14,183,141, +190,165, 46,106, 0, 0, 32, 0, 73, 68, 65, 84,124,103, 72, 73, 81, 62,132, 98, 25, 68, 2, 17,104,134, 6,203,113, 48, 27,117, + 40, 44, 42, 64,242, 31,223, 31, 30,253,242,240,208,245,235,214,126, 86,177, 74,209, 22,145, 53,125,238, 14, 44, 95, 56, 30,101, + 1,247,203, 48,119,254,247, 24, 63,253, 21,187,216,178,195, 14, 59,236,168,222,155,245, 12,108, 18, 90, 74,185, 20,132,145,226, + 66, 76, 18,130, 90,182,193,142,195, 87,209,172,117, 24,178, 75, 89, 16,208,181,174, 54,172,192,156,143, 12,215, 1, 92, 31, 50, + 68,238, 59,124,184, 79, 31, 66,132,191,109,217, 90,146, 1, 0,141, 67,202,104,120,158,128, 16,128,240,101,130,203,118,151,142, + 32, 53, 57,187,164, 97, 35, 47, 5,238,102, 88, 76, 10,137,136,118, 86,136, 25,119, 71,177, 72, 36, 16,128, 35,148, 41, 59, 59, +201, 68, 1, 41,182,208, 61, 61,116, 40, 87,122, 31,239, 61,108,165, 38, 37,173, 56,186,121,129,190,109,177, 69, 12, 66,128,230, + 62, 10,196, 94, 62,198,169, 51, 19, 19, 12,234,184,175,170,246,146,129,177,176, 60,110, 62, 40, 70,145,206,138, 34,173, 5, 93, +123, 14, 22,117,141, 24,130, 11,177,121,224, 89, 43, 86,124,125,172,148, 35,214,209,192, 61,107, 29, 50, 77, 95,185,126,199, 87, + 83,168,147, 8, 5,130,162,224,102, 1, 15,197, 34, 33, 91, 82, 82, 34,126,242, 44, 6, 10,153, 24, 5, 90, 43, 0, 88,235,218, +122,138,117, 86, 28,190,156,131, 35, 7,247, 64, 38,147,129,212,163, 5,138, 68, 34, 39,161, 72, 10,139,174,108,184,176,226,176, + 60,117,208, 2, 9, 64, 11,156,108,164,189,103, 54, 27,254, 76,142,187,220,130,235,217,140, 25, 31,209, 8,175, 77,154, 13,159, +166,173, 49,120,240,112,180,105,164,162, 14, 94, 74,131,213,202,150,122, 53,105,165, 34,101,171,108, 19, 0,180, 5,112,217, 22, +207,150,170, 82,189,183,232,218,164,237, 99,161, 5, 20,164,222,168,113, 21, 43,103,206,207,212,155,105,154, 16,190,202, 87, 6, + 33, 0, 98, 6,212,217, 4, 57, 0, 4, 52, 32, 96,104,128,162, 24,142,227,170,172, 39,150,101,127,229,121, 94,189,107,215, 46, + 53,199,113,215, 99,142,173,190,217,244,197, 41, 11,192, 22,192,106, 45,155,206, 40,150,200,193, 83, 52,146,206,127,187,128,179, + 24,126,217,181,107, 87, 69,120,135,219, 53,137, 44,103, 23, 57,194, 39, 31, 65,167,176, 32, 44, 95, 56, 30,191,222,122, 82,175, + 47, 95, 56, 30,171,191,253, 19,185, 26, 45, 60,220,149,232, 49,121,251,252,115, 91, 39,218,197,150, 29,118,216, 97,199,147,123, + 28, 14,172, 44,190,108, 18, 90, 28, 79,224,230,234, 2, 43, 17, 32, 89, 93, 12, 29,229, 1,163,158,128,227, 40,112,132,212, 20, +106, 60, 2, 85, 44,207, 63,124, 56, 59, 3,192,246,167,124, 82,143, 60, 89,143, 62,171, 30,146,169,146,147, 34,220,233,195, 39, +126,127,121, 72,183, 94,206,247,179,115, 50, 68, 66, 90, 32, 16, 49, 66,145,128,166, 68, 2,218,236, 32, 19, 48, 7,182,238, 21, + 19, 10,191,215,198,105, 52, 26, 17, 17,241,228,198,228,113,119, 46,121, 20,228, 38,152, 9,197,243,238,226, 82,184, 57,186,227, + 97, 74, 26,206,156, 56,168, 87,103, 38,198,113, 38,227, 80, 60, 41, 57, 31,115, 18,194, 23, 20,155, 96,180,112, 40,212, 90, 80, +164,179,128,117, 15,199,207,127,102, 65, 42, 98,160,190,121,192,160,201,201,152,101,202, 77, 76,174,165, 42, 62,196, 19,177,180, + 72,198,155, 19,198, 11,215,174, 90, 97, 10, 13,109, 79, 10, 10, 10,160,213,106, 31,151, 9, 69, 65,234,224, 1,149, 76,128,196, +107,199,145,120,102,141, 1,192, 39,182,148,103,101, 56,200, 5, 24,210,217, 11, 38,203, 24,228, 21,155,112,237,247,159,107,107, + 50,207,112,202,229,114, 89,133,247,170,114, 88, 7,115, 37,175, 22, 87, 94,223,180, 64, 34,171,130,179, 15,128,223,158, 78, 44, + 41, 46, 62,118,253,210,233,169,198, 73,175, 65, 93,100,130, 33, 63, 9,223,255,252,213, 25, 75,105, 66,207,190,107, 87,209,179, +135, 54,197,153,235, 5,170,219, 2, 6,224,129,200, 49,115, 94, 58,185,103,213,206,218,242, 94, 33,182,122,116,235,184,128,102, +168, 35,132,122, 44,150,178,178,178,108,202,123,177, 58,177,220,131, 84,167, 49,112, 80, 20,205, 16,254,137, 61, 16,159,176,147, +231,249,219, 21,162, 73, 64, 81, 67, 85,114, 57,242, 52,197,168, 8,178,107, 52,148,194,197,173, 1,104,138,130,181,210,185, 53, +213,145,179,139, 28, 81,167, 30,207,199, 82, 56,200, 80, 88,160,199,222,249, 67, 23, 2,192,240,143, 15,204,255, 21, 64,174, 70, + 91,105,206, 86,179,167, 35,237,214,218,150,234, 1, 59,167,157,211,206,249,191,195,249,111,198, 51,123, 28,214,193,163, 69,208, +196, 91,129,102, 62, 10, 24, 45, 30, 48,154, 57,232,140, 28, 74,244, 22,148,232,173, 72,206,209, 35,246,240,243, 91, 88,230,197, + 42, 11,125, 78,202,226,109,130,227,137,205,222, 19,177,197,188,120,245,138,165,163,246,134,182, 51,191, 61,208,219,239, 86,178, + 57,139,162,104, 3,205, 8,172, 46, 42,129,240,254,253, 91,154, 75,231,143,119,151,178,220,107,250, 26,120, 88,150, 45,246,241, +241,169,120,160, 61, 74,111,209, 84, 54,244,143, 99, 31, 54,238, 49,100,133,251,218,207,231,232,105, 70,196, 83, 2, 81, 44,103, + 53,236, 49,168,227,182,160, 6,191, 30, 45,146,222,187,114,227,110,152,147,139, 31, 18, 51,117,208, 25, 89, 88, 88, 30,206, 74, + 17, 50,110,159,178, 36,223,143,222,167,205,186,181,163, 30,197,182, 59,254, 94,172,111,100,100,191,145, 97, 97,225,204,103,159, +125,138,160,160, 32, 24, 12, 6,208, 52, 13,191,134, 77,145, 28,127, 3,151,143, 45,230,244,249, 41, 95, 1, 88, 4,160,206,251, +168,228,149,152,113, 34, 58, 23,199, 14,253, 8, 70, 40,174, 79,245,210, 50,153, 76, 90,149,184,170, 44,186, 30,157, 44, 20, 75, + 81,230,125,226,159,104,136, 85,227,100, 82,252,221,123,175,191,250, 74, 11,149,163, 19, 6, 12, 31,157,123,233,194,153, 65,135, +190,223,186, 46, 63, 37,125,212,167,203, 54, 56,244,233,224, 77,185, 40,197, 40,210,241,216,157,122,175, 9,108,244,193,230,228, +228, 44, 76, 79,142, 30,247,199,177, 15, 7,247, 24,178,194, 61,250,167,121,143, 38,209,211,140, 96, 87,109,215, 23,164,199,156, +169,171,200,170,144, 90,132, 16,155, 6,206, 9, 0,161, 72, 12, 15, 15,111, 80, 20, 96,101,121,152,173, 44, 4,117,172,167,156, +236,226,103,130,147,238,157, 63,116, 97,133,183,234,208,210,151, 48,252,227, 3,243, 43,159,115,239, 78,186,189,107,181,195, 14, + 59,236,120,140, 73, 79,125,218,230,209, 50, 26,141,201, 47, 68, 12, 6,207, 19,112, 4,224,185,114,207, 19,255,216,251,196, 89, +141,201,207,107, 29,207,115, 87, 55,109,219, 62, 32,180, 83, 15,166,165,191, 18, 37,249, 57,184,252,199, 89, 22, 60,185,100,203, +245,249,249, 9, 90,153,103,179,145,163, 94, 26,190,127,252,132, 41, 69,221,123,246, 84,120,120,120,153, 50, 50, 51,244,223,238, +220,101, 61,117,252,151,238, 60,216, 87,242,243, 19,181, 53,241, 20, 23, 23,175,175, 42, 93, 34, 86,118, 5,208,152, 17, 80,102, +131, 38,161, 78, 51,194,243, 50,211, 71, 44, 93,188, 32,101,236, 91,179,197, 77,124,154, 34,183,152, 65,114, 70, 14,238,159,255, +197,148, 25,127,237, 80, 73,198,245,137, 54, 82,101, 87,145,150, 1, 96,237,229,203,151, 90, 69, 70, 70,246,235,213,171, 23,153, + 52,105, 18, 8, 1,206,108,155, 74, 10,146, 47, 31, 40,247, 98, 61,168,103,189,164,158,191,116,195,229,229,238, 29, 4,174,170, +137,216,254,227,113, 43, 8,159, 90, 71, 26, 79, 95,255,134,130,178,225,194,178,144, 14, 79, 31,102,235,227,249, 99, 34,165,167, + 64,143, 88,207,106,242,251,140,214, 72,140,191,219, 58, 49,254,238, 4, 0,185,251,119,125,125, 4, 0, 76, 6,195,148,168, 51, +135, 83,239,222,137,126,109,200,171,239, 53,109,213,182,163,224,192,142,181,176, 24,117, 7, 1,216,220, 94, 37, 98, 38,165,162, +222,107, 27, 42,124,166,222, 83, 46, 31,167,104, 70, 96,171,104,170,228,137,164, 9,207,219, 52,161,142,240, 28, 50, 31,220,134, +139,151, 63, 84, 42, 71,240,196, 2,152, 77,208,164,199,129,227,108,223,235,176,176,160, 20, 46,158,238,104,217,174, 25, 10, 11, +244,216, 60, 35, 98, 97,229, 33, 65, 75,126,252,130, 10,177,213,178, 93, 51,220,187,147, 14,205,131,187,246,110,213, 14, 59,236, +176,163,146,168,170, 10,181, 10,173,244,123,101,241,180,254,110,148,230,228,142,219,177,227,135, 37, 63,236,220,219,213,104, 54, +251, 16,136,210, 57,214,124, 78,203,225, 51, 91, 57, 12,234,196,104, 87,215,230, 33,223,126,189,233,147,111,183,127,217, 3, 60, + 23, 76, 1, 41,132,194,239, 82, 43, 55,190, 54,145, 85,227, 67, 51,175,116,107,159,145,171, 12,249,249,218, 31,234,122,173, 33, + 63, 46,135,102, 44,126, 91,215, 45, 94, 73,211, 76, 95,142,227,133, 60,103, 77,228, 44,198, 47, 12,154,184,195,176,121,150, 27, + 10,106,248,237, 14,128, 59, 81, 81, 81,221,162,162,162, 58, 1, 88,143,178, 61, 20,163,159,167, 94, 76,249,165,189,223,159,243, +254,153,247, 64, 5,240, 60, 1,203,241,169, 34,131,190,119, 29,105,252,154, 52,105, 42,183, 88,185,103, 38,192, 87,158, 8,255, + 72,104, 57,250,202, 1,248,217, 40,180,128,178,213,116, 95, 63,147,200,178,203,179,179,210,127,220,242,197,172,201, 0, 26, 1, +184, 8, 96,211,127,170,222, 45,198,146,188,191,251,190, 97, 45,166,133, 25,183, 14, 35,235,142,200,155, 18,148,133,114, 32,156, + 25, 60,107,206,102,173,150,133, 54,217,153, 31,127,244,220,214,137, 11,159, 74, 91, 80,197,121, 11, 14, 45,125, 9,181,157,103, +135, 29,118,216,241, 63,234,205,218, 86,213,119,193, 63,197,194,194,194, 7,165, 40,172,121,147, 94, 91, 61, 91, 0,158, 89,185, +167,127, 78,222,216,132,146,159,144, 80,242, 83,125,175,215,229, 62,212, 0, 15,199, 63,167, 25,182, 76,100,191, 80,126,252, 37, +200,203,187,167, 67, 30, 58, 63,111,181,236,222,181,243,254,222,189, 63, 10, 9,205, 8,121,194,136, 88, 66, 9, 89,158, 18, 90, +173, 60, 76, 22,171,213,194,178, 86,112,172, 5, 60,103, 37,188,197,138,178,232,240,127, 5, 82, 1,124,244,255, 85,239,255, 9, +176, 86,203, 66, 88, 45, 0,116,245,230,176, 85, 48,217,133,149, 29,118,216, 97, 71,157, 4,215, 63, 71,104,217,241, 95,141, 7, + 73,137,241, 97,246, 98,176,195, 14, 59,236,176,227,191, 92,100, 85,254, 4, 80, 54,247, 60,162,154, 11,234,178,154, 32,162, 30, + 6,157,182,115, 62, 55,167, 16,128, 24,128, 18, 64,109, 67, 91,253, 80, 75,192,202,127, 72,222, 63, 4,112,195, 94,239,118, 78, + 59,167,157,211,206,249, 95,203, 89, 27,183,125, 53,227,223, 44,192,236,156,118, 78, 59,167,157,211,206,105,231,180,115,254,239, +113,254,155, 49,169,138, 3,128,125,232,208, 14, 59,236,176,195,142,255, 65,184,186, 54, 87, 2,143,230,245,214, 10,185, 91, 11, + 79, 0,208,231,221, 83,219, 75,207,142, 42, 80,121,159,195, 39,230,104,209,245, 36, 20,210, 2,241,251,114,149,235, 61,133,163, +107,230,255,120,225, 82,129, 13, 21, 51,251,116,111,244,115, 80, 99,217,208,186, 92, 40,119, 15,252,206,171,105,231, 52,133, 71, +224, 76,120,135,202,158,199, 8,133, 71, 99,119,165, 95,135, 63, 84, 62,173,250,255, 13,121,148,180,108,217, 50,188,101,203,150, +225, 0, 36,127, 5,161,220, 35,112,140,111,179,176,243, 30, 77,218,157, 85,120, 54,127,233,175, 54, 88,233,221,204, 85,233,215, +254, 39,101,131, 54,133, 74,239, 54, 37, 74,223,246,231, 84,110, 45,154,212,118,157,223,144,165,193, 11,247,196,238,241, 27,178, + 52,184,170,223,157, 35, 55,168,230,239, 77,248,220,117,240, 23, 74,123,191, 82, 63,248,117, 29,227,228,221,227, 61,215,186, 94, +231, 19, 24,118,167, 97,171,110,185, 13,154,119,142,181,245, 26,223,160,240,235, 1, 45,187,170,125, 3,195,163,237, 37,111, 27, +164,238,141,195,165,206,254,199, 36,206,254,199, 37, 46,141,123, 62, 47,159,183,183,183, 44, 56, 56, 56, 50, 44, 44,108,114,239, +222,189,223,105,215,174,221,164,128,128,128,190,255,159, 47,250,114,143,192,143, 76, 66, 42,207, 36,164,242,228, 30,129,181, 46, +150, 81,120, 4, 45,161,104, 46,139,162,185, 44,133, 71,208,146,127, 74, 93, 73, 60, 3, 3,228, 30,129,107, 84, 94, 45,175,202, + 60,154, 15,174,235,245,206,206,206,125,221,221,221,135, 85, 28,206,206,206,125,237,119, 64,189, 81,217,139,245,220, 30, 45, 70, + 40,145, 95, 28, 59, 97,122,200,242, 5,115,165,235,182,255,140,117,159,207,185,107,210, 21,181,252, 39,230,220,173,113,167,104, +134,102,124, 43,167,113, 60,151,145,247,240,106,135,191,130, 63,168,161,108,226, 39, 31,140,123,119,204,168,136,128,136, 65,179, +168,184,135,134, 95,108,151,104,104,187,239,167, 67,126,231,127, 63,187, 97,251,246,109,139, 52,108,208, 26,161, 68,176,169, 36, +253, 78, 81, 93,108,112,112,111,210, 88,160,112, 59,255,194,208,233, 94, 49,167,119,237,224,204,124, 31,125, 94,165,221,191,235, + 15,247,166, 77,155,118,100, 24,198,117,230,204,153, 34, 0, 88,187,118,109, 51,142,227,242,147,146,146,174,161, 30,193, 79,203, + 4,102,208,184,245, 43, 23,254,208,191,255, 0,100,229,233,176, 98,205,230, 23, 79, 30,221,247,178, 78,157,112,224,175,168, 19, + 39,167, 70, 14, 16,169,110,207,250, 96,145, 71,228,139, 29, 25,173,145,197,201,243, 55,186,237,218,188,232, 42,208,162, 83,105, +222,189,106, 99,138,241,250,226,121,158, 74, 18,201,235,139, 1, 96,204, 51, 15,123,165, 53,194, 93,198, 69,122, 75, 4, 55,242, +129, 90, 55,125,116,106,216,245,148, 80, 34, 9,160,105, 26, 52, 5,208, 52, 5,134,162,202,246, 9,181, 24, 82, 51,239, 95,232, +247, 79,184, 79, 84,254,157,114,192, 8, 92,105,234,177,125, 20, 93,254, 73, 72, 73, 78,194, 69,215,191,224,223, 56,134, 52,115, +106,213,181,153,238,219,115, 15, 11, 20,130,238,239, 28,163, 8,253,101,218,133, 53, 55,109, 18, 0, 82,169,243,145, 35, 71,220, + 35, 35, 35, 29, 61, 90, 13, 61,103,203, 53, 98, 70,219,242,232,209,195,162,200,200,126,117,104,159,129,125, 64,211, 59, 41, 64, +200,243,100, 45,195,147,125,218,252,248, 36,160,110,187, 79,201, 60,130, 38,210, 32, 54,247, 51, 60,168,104, 67,110,220,246,250, + 22,174, 64,226,208, 91, 40, 18,189,211, 56,176,117,104,102, 74, 98,180, 78, 91,186,134, 53, 21,159,171, 51,145,149,125,255,244, +133,152,254, 2,161,144,138,236,221,153, 49, 1,103,159,167,210, 61, 61, 61,135,109,220,184,177, 73,120,120, 56, 0,128,101, 89, +135,253,251,247,123, 45, 94,188, 88, 17, 31, 31,127,176,158,180, 62,238,238,238,254, 98,177,216, 7, 0,204,102,115,166, 70,163, + 73, 3, 80,235,139,191,194,179,137, 27, 8, 22, 93, 56,127, 94, 0, 0,221,186,117, 95,226,255,194, 12,103, 70,164, 52, 84, 89, + 28,230, 82, 69, 81,210,217,217,151,175, 92,162, 0, 32,172,115,248, 92,185, 91,139, 77,255,159,158, 45,169, 71, 80,103, 26,120, + 55,172, 91,196,136,209,175,140,163, 91, 53,247, 71,223, 62,189, 62, 52, 0, 71,234,212,102, 4, 2,217,213,171, 87,155,210, 52, +205,176, 44,107, 12, 11, 11, 75,123, 30,187, 26, 4,134,255, 73,129,246,179,176,230,175, 53, 15,162,151, 0,207,108, 28,195, 56, +250,133,126, 2, 70,240, 22,207,243,233,165,105,209, 93,254, 11, 61, 90,207,150,115, 93,153,104,129,248,157, 49,111, 76, 11,153, +253,222,199,210, 89,235,162,112,108,243,220,188,127,170,200, 2, 0,134,102,124, 79,253,122,202, 67, 46,102, 0, 0, 90, 35,139, +254,145,145,181, 63, 17, 26,118,250,157,166,168,160,138,173,196, 57,214, 34, 21, 8,197, 70,170, 76, 32,129, 2,224,214,160, 97, +148, 39,123, 81, 62,102, 84, 68,192,206,189,191,101,164,101,228,215,185, 83,163, 24, 17,194,186,247, 69, 68,159,126,142, 87,175, +252,185,104,219, 87, 91, 62, 98, 45,214, 45,188,149, 95, 99, 44, 72,204,170,181, 51,247,106,222, 94,172,116, 59, 57, 98,242, 98, + 87, 35,237,130,207, 62, 95,239,118,254,196,238,115,153,233,109,249,212,212,116, 35,161,168,187,133, 5,217,239,232,114,146,226, +108, 45, 50,165, 82,217, 68,169, 84,182,109,211,166,141,116,206,156, 57,194, 23, 95,124,241,177,100,159, 52, 73,244,251,239,191, +123,175, 90,181,106,192,173, 91,183,140, 90,173,246,166, 86,171,125,128, 58, 76,180,247,242,114,159, 49,114,248, 96,244, 26, 49, + 29, 28, 79, 97,210,180,217, 56,117,226,224, 20, 0,127,137,208,178,202, 29, 22,191, 53,121,142,123, 88,199,118,204,162,221,113, +144,137, 5,232,215, 33,136,122, 99,230, 60,167,237, 27, 22,125,131, 60,244,168,202,147,197,235,139,231,133,184,153, 95, 25, 18, +222, 24,135,247,152, 95, 65,239, 15, 64,203, 29,151,164, 31,254,248, 62, 0, 52,137,156,169,146,112,154,141, 13,156, 24, 15, 9, +167,217,216, 36,114,230,233, 7, 39, 55,150,214,100,139, 80, 34, 9,216,179,123,119,115,103,149, 8, 2,154, 2,195, 80, 16, 48, + 52,140,102, 14, 47,143,122,229, 47,107,230, 50,143,230, 3,232,178,205,178,193, 3,223, 25,114, 19,142,215,165, 78, 40, 70,228, +122,244,240, 33,129,135,163, 4, 12, 67,129,161, 1,134,166,144,162, 54, 96,226,196, 55, 28,159, 87,176,247,239,234,209,241,253, +209, 65,253,194, 66, 92,218,252,120,137,114, 12,235, 63,218, 53,207, 40,127,125,239, 47,103, 95, 33,221,102, 95, 33,132, 95,153, +113,113,253,175, 53,145,152, 76, 38,117,191,200,254, 14,148, 64, 33, 63,253,243,142,238, 2,154,130,149, 35, 96, 57, 2,174,124, +111, 84,170,252, 13,134,166, 41, 16,158,224,173,183, 38,162, 95,100,127, 61,207,242, 25,182,119,114,244,206,147,167,255,112, 55, + 89,121,172,218,184,125,145,174, 88,179,232,225,125,215, 20,109,113,222,108, 67,110,130,205,251, 96,208, 32, 29,210, 31,196, 78, +222,125,244, 50, 66, 90,182, 0,199,151,217, 25,228,171,192,238, 99,151, 17, 28, 20, 92,102, 55, 79, 16,232,167, 68,199, 14, 29, +129,103,182, 38,179, 85,100,169, 62,235, 49,112,220,194, 65, 47, 79,128,135,187, 59,104, 98, 29,116,250,216,238, 65,223,125,185, +242,125,214, 88,178,170, 78,100,132,123,244, 92, 32, 60,255,220, 94,167, 6, 13, 26,184,119,236,248, 56, 28, 35,203,178,104,212, +168, 17, 50, 51, 51,131,234,243,158,230,237,237, 61,112,254,252,249, 30, 3, 6, 12, 16,122,121,121, 1, 0,114,114,114,124, 78, +158, 60, 25, 58,127,254,252,220,236,236,236, 99,168, 33,162, 15,103,165, 69,180, 0,140, 84, 42, 47,203, 35, 40,122,206,140,215, +218,120,122, 55,168,114, 35,119,141, 38, 71,252,193,244,179,148, 64, 32, 42, 63, 31, 52, 33, 60, 85,131,151, 40, 66, 40, 20, 86, + 57, 66, 97, 97, 28,194,136,208,241, 77,154,161,203, 26, 43,107,213, 20,166, 93,111, 81, 7, 79, 92, 43,161, 88,180,101,228,232, + 9, 93, 94, 26, 49, 20,222,238,142, 56,125,241, 22,166,204,120,215,202, 90,172,107,234,213,121, 48,140, 32, 55, 55, 55,197,217, +217,217,235,249,159,183, 84,227,223, 78,157,240, 56,125, 38,106,238,234,117, 27,166, 90,204,172,149, 39,228,209, 62,198, 50,153, + 68,216,103,208, 40, 7,143,166, 97,210, 13,243,223, 20,254, 23,122,180,182,253, 37, 66, 75, 44, 83,141,250,244,131,153,210,197, +187, 46,227,216,230, 41,121,250,146, 60,247, 71,111, 10, 14, 78,215,117, 37, 69,161,245,177, 80,233, 30, 24, 78, 49,130,201, 20, +195, 40, 40,154, 18,243, 28,159,206,154,205, 75, 12,249, 9,217,207,155,123,158, 39,248,233,207,220,186, 9, 32,130,102, 59,127, + 60,228,225,233, 36,129,209,194, 97,244,152,113,248,225,135, 31, 84,238,142, 98, 24,205, 44, 86,174, 94, 93,170, 77, 57,230,145, +146, 94,152, 25, 49,248,221, 95, 31, 36,231,198,166,101, 27,247,213,213, 54,147,133, 67,137,158,133,222, 68,163,121,171,142, 88, +185, 38, 88,154,150,250,240,221, 29,223,125,243,246,221,187,204, 15, 60, 67, 47, 52,102,223,171,114,175, 19,185, 87, 72, 63, 7, +103,215, 61,195, 39,127,238,148,144, 43, 0,129, 5, 73, 14, 82,140,122,253,109,135, 38, 94, 50, 40,164,140,211,195,212, 76,239, + 57,239,191,127,241, 1, 71, 58,149,104, 30, 60,172,205,158,134, 13, 27,142, 24, 52,104,144,252,189,247,222, 19,250,249,249,225, +187,221,251, 3,186,245,123,121,112, 86,182,218,143, 16, 2, 79, 15,143,244,183,222,120,249,200,241,227,199, 83,211,211,211,133, + 43, 86,172,232,124,232,208,161,150, 57, 57, 57, 54,191,153,114,132,192,104,226,192,149, 63, 32, 53,197,166, 58,235, 83, 31, 31, + 31, 73,102,102,166,169,146,151,129,122,236, 40,164,250,245,238,209, 89,176,245, 68, 50,180, 70, 14, 10,169, 16,201,106, 61, 58, +180,107, 77,125,205,177,109,171, 34,156, 56,106,224, 60, 79, 37,137, 28, 18,222, 24, 30,206,114,124,187,233,115, 28,190,244, 48, + 82,173,165,176,145, 48,147,189, 37,130, 62, 10, 62,123,227,139, 29,154,122,245,106, 31,128,107, 29,154,122,157,143,137,139,151, +189,188,122,102,166, 86,120,186,240,228,219,165, 85,119, 60, 52, 92, 84, 34,108, 63,149, 10,185, 84, 0,133, 84, 0,133,164,236, +147,166,169,231,123,171,245,110,225,199,240,220, 68,134, 17, 76,124,101,212,203, 13,198,190,242, 50, 1, 67, 99,255, 79, 71,134, +238,218,181, 51,219,106, 49,127,195,209,204,246,234,218,207, 19, 5, 74, 3, 30,142, 98,188,255, 77, 44, 28,100, 66,168,228, 66, + 56,200,133,232,213,198, 29, 12, 93,111, 19,157,167, 12,109, 50, 96,202,240,134, 61,131,252,149,205,111, 38, 21,223,157,184, 36, +122,221,239, 69, 61,223,217,180,182,165,171,182,200, 44,248,108,206, 91,130,140,172,172,158,251,143,156,235,197,153, 39,196,177, + 22,221,199,154, 91,251,171,244, 10,103,196, 93, 10,245, 9,123, 73,106,209, 90,111,223,140,203,104, 90,104,146,224, 78, 74, 9, + 20, 82, 1,148, 21,101, 43, 21, 64, 33, 21, 66, 41, 21, 32, 43, 35, 25, 5, 58,230, 98,166, 43,221, 19,231, 46,177,117, 49,220, +104,225,112,227,161, 22, 13,131,218,193,219,187, 1,204, 3, 94,109,120, 37,234,167, 95,174,158,251,121,153, 62,231,254,199,182, +242,236, 62,122, 25,115,103, 79,142,161,128,235,229, 15,233,208,207,150,111,110,191,104,238,244, 39,210,230, 44,220,208,190,254, +158, 44,213,188, 94,195,167, 45,236,214,103, 56, 74, 11,212,248,243,215,125,232, 55,104, 36, 94,157, 48, 11, 78, 78,110, 43,215, + 44,249,224, 38,107, 42,137,122,166,207,245, 10,126,161,117, 72,139, 93, 62, 13, 26,248,241,124,217, 46, 31,132, 0,218,210, 98, +124,240,206, 91,224, 9, 65,219,208, 78,189,164,221,250, 16, 82,190, 27, 72, 94,126,158, 46,238,254,221, 8, 99,110,220, 21,155, +203,210,104,180,106, 52, 26,220,184,113, 3,241,241,241,184,115,231, 14,242,243,243,225,232,232,168,213,233,234, 20,251,205,161, + 77,155, 54, 99,163,162,162,164,206,206,143, 55,105, 48,155,205, 80,169, 84, 24, 59,118,172,176,111,223,190, 62, 3, 7, 14, 28, + 31, 27, 27,187, 27, 64, 73,149,246, 20, 36,102,169, 60,131,190,234,241, 98,143,169, 0, 32,115,240,126,184,241,187, 35,119,106, +124,161,117,108, 16,208,165, 75,215,166, 32, 4, 20,200,122,125,126,124, 78, 13, 94, 34,197,229,203,151,155, 48, 12, 35,120,252, + 12,226,241,229,183, 63, 6,255,118,225,246,136,229, 43, 87, 73, 29, 20, 18,104,138,205,120,243,213,225, 54, 63,131,101,158, 65, + 3,186,116,233,254,203,162,133,159, 10,148, 10, 5,126,189,242, 0, 51,223,121,223,152,157, 18,187,138,240,194,205,122, 77,124, +238,115, 62, 42, 9,254, 2, 52,247, 85, 66, 53,164,159,116,202,107, 67,164,102, 43,135, 34,157, 21, 38, 11, 7,142, 39, 40,214, + 89,113, 55,173, 20,110, 14,117,223,202,141, 16,210, 17,128, 59, 0, 13, 69, 81,215, 42,127,175,120,161,171,208,198, 79,125,207, + 43,127, 62,184, 2, 48,163,108,165,254,163,230, 83,254,189,186,244,138,235,239, 2,104, 81,206,201, 1,184, 74, 81, 84, 97, 53, + 98,235, 25, 47,151,224,232,209,163,100,208,160, 65,143,122,252,167,191, 63, 13,137, 72,216, 64,225,232, 14, 66,238,129,162, 30, +159,230,225,229,147,191,106,205, 58,151, 25,211, 38,167,150, 20, 21, 4,148, 39,159,182,229, 97, 33,160,152, 53, 61,186,134,245, +157, 58,109, 26,130,154,248,138, 56,142, 35,177,241, 15,173, 59,182,127,251,250,249, 75,226,117, 37, 25,177,243, 42,185, 32,235, +180,236,147,227,185,140,167, 61, 88, 28,207, 61,253,118,251,236, 38,213, 20,224,164, 20,227,171, 19,201, 32, 4,160, 64,224,168, + 16, 98,239,239, 25,120, 24,115,176,100, 80,219, 18,221,216,229, 11,122,245, 28,240,118,212,221, 36,227,190,220, 92,227, 41, 0, + 57, 53,113, 86,221,161,243, 48, 89, 56, 88, 89, 22, 7,142, 28, 65,100,175,206,232,210,165, 51,186,119,235, 34,136,142,185, 53, + 97,218,212,183,252,240,120,117,199, 35, 78,169,103,179,142, 74, 71,183,125, 35,166,174, 80,221,206, 96, 33, 96,128,198, 94, 50, +184,168, 68, 48,179, 20, 82, 52,150,242, 59,199, 9, 51,231, 44,116,153,251,238,212,227, 37, 26,113, 8,112,207, 82, 83,222,245, +122,189,120,220,184,113, 66,171,213,106, 25,251,230,172,190, 57, 57,154,161, 95,174,255, 66,226,225,225, 9,189,145, 69,204,157, +196, 22,139, 22, 45,108,124,228,228,239, 63, 47,120,127,202, 47,145,145,145,142, 63,254,248, 35, 95, 91,121, 62,241,134,168,206, +219,244,237,174, 3, 63,172, 93,181, 20,113,169,133,216,190,117, 51, 8,199,126, 85, 75, 81, 85,230, 36,227,198,141,147,253,252, +243,207,190, 25, 25, 25, 37,122,189, 94,243,132, 63,130,166, 4,234, 2, 61,220, 84, 98,136, 4, 52, 60,157,165,240,112,148, 64, +200, 0, 52, 69,113, 85,113,110,223,119,108, 9,175, 47,198,225, 61,230, 87,190,221,244, 57, 38,204,248, 4,177,121,226,147,180, +220,113,201,244, 87, 70,204,117,151,113,145, 13,156,104,143, 94,237, 27, 66, 33, 21,225,163,183,199,161, 83, 76,138, 71,102, 17, +255,137,198,192,180, 91,120,242,209,102,221,167,159,116,142,148,121,176, 84,114, 33, 78,238, 90,153,171, 43,214, 20, 87, 12,201, +153, 77,198, 84, 27,155,241,233, 42,222,108,231,182,107,221,234,243,169,147, 38,210, 93,195, 59, 17,154, 22, 34,175,212, 76, 17, + 2,188, 51,115, 10,166, 79,121,203, 43, 61, 43,247,179,205,155,191,154, 23,245, 27, 89,172,211,220, 95, 80, 19, 39, 77,149,121, +129,148, 82, 1,148,178, 50,225,162,148, 10, 96, 52,115,160, 40, 48, 78,254,161,197, 84,153, 39, 55,171, 32,181,218, 55,240, 39, + 56, 93,252, 91,157,249,237,161, 42,184,112, 95,225,165,228,172, 59, 75, 98,110,169,175, 2, 40,240,235,238, 52,222,194, 18,104, +141, 44,146,213,122,176, 22, 66, 77,232, 31,128, 70, 47, 81, 65, 75,191,189,254,195,137, 91,112,168,212,233, 63,193,153,121,249, +128,209, 53,100,248,232,181, 27,182, 94, 91,245,249, 39, 76, 94,177, 25, 60, 33,144,138, 25,200,196,130,242,131,129, 65, 87,140, +205, 91,190,206, 97, 65,141,192,185,115,108, 93,218, 39,120,242,234,240, 1,221,247, 82,128,152,162, 69, 25, 13, 2, 26, 6,244, + 30,252,186,180,247,144,113,224, 88,243,220,152, 11,228,172, 62, 55,238,140, 45,156, 33, 45, 91,128, 2,174,235,114,227,167, 0, +128,194, 35,240,171,224,160,224,246, 79,167, 53,107, 22,212,222,150,122,127,228, 41,149,170,102, 56,187,184,127, 18,212,170,157, +135,186,208, 68,169, 92,125,145,156,112, 3,123,182,124,182,147, 55,154, 23,158, 57,182,239,243,117,219, 15,141,234, 29, 57, 28, +223,126,249,197, 71,249,217,143,132,214,233, 74,222,170, 87,119,124,179,205, 79, 40,150,192,202,242,176,114,164,236,147,229, 80, + 80, 80, 8, 43,203, 67, 42, 87,129,229, 41, 88, 57, 30, 86,150,135,201,204, 42,166,140, 27, 56,205, 8, 92,169,202, 78,159,224, + 30,167, 68, 18, 73, 0, 65,217,222,181,132, 16, 36,231, 24,104,111,111,239,221, 0, 32,145, 72, 32,145, 72,192,243, 60, 98,226, + 52, 51,220,130, 2,167,162, 92,224,113, 22,115,106, 81,202, 31,253,170,203,187,151,151,215,224,167, 69,150,209,104,132, 86,171, +197,133, 75,215, 28,191,249,225, 64,100,114,106, 70, 19,158, 56,154, 84, 30, 77,250,149,230, 62, 24, 92, 93,121,150,170,227,166, + 57,132,189, 69,191, 55,125,124,179, 13, 59,142, 94, 77, 60,181,164,198,121, 90,141,122,127,104,126,111,242,200, 14,203,215,111, + 79, 40,252,227,171,217,181,213,145, 64, 32, 16,106, 52,154, 71,247,247,198,175,247,116,184, 30,151, 57,108,221,218,117,210,152, + 7,165,184,157,156,133,241, 17,254,101,111, 56, 54,212,187,194,179,137, 91,227,166, 77,119,111, 94,191, 92,144,144,101,196,166, +131, 87, 17,245,203, 87, 23,114,114,175, 68, 66,157,109,168, 79, 31,242, 23, 8,173,106, 57,207,222,202,131,214,200,194,100,102, + 97,229, 9, 74,244, 86,228, 22,153, 81,162,183, 64,107, 96, 49,190,143,127,149,215,213,162, 71,220, 41,138, 58, 74, 8, 25, 68, + 8,137, 0, 32,174,248, 94,246,204,166,142,150, 11,178, 39,190,207,157, 59,247,227,101,203,150,221,169, 56,183, 34,189,226,220, +154,210, 43, 93,239,250,209, 71, 31,133, 44, 95,190,124,105,120,120,248,222, 63,255,252,243, 33,128, 66, 91,135, 15, 5,149, 51, +115,244,232,209,218, 10,186,137,197,106,145, 56,200,132,104,220,200, 31,111,124,252,173,219,247,203, 39,230, 74,197, 2,230,196, +137, 19, 46,249,102, 37,104,154,177,249, 21, 69,233,222,188,139, 72, 36, 62,182,122,245,106,188, 50,184,155, 44, 45,207,170,189, +149,102, 80,235,204, 96, 61,220, 3,197, 75,150, 46, 87, 46, 95,177,114,250,209,195,124,145, 86,125,119,101,213, 67,124, 29,162, + 25,170,210, 28, 44,138, 2,225,185,140,194,148,107, 29, 0,224,121,230, 98,105,141, 86, 48,229,115,107, 40, 10,208, 27, 89, 48, + 12,149, 91, 20,183,239,238,216,197, 75,122,237,220,251, 91, 22,161,157, 74,117,186,100, 57,202,246, 28,172, 51,140,102, 14, 38, + 43,135, 59, 55, 99,208, 61,172, 37,186,116, 8,134,222,200, 65,111, 98,209,168,105, 16, 0,184, 85, 89,113, 12,253,144,112, 86, + 35, 33,156,106, 80, 71,119,120, 56,137,225,237, 44,129, 68, 44,128,149, 5, 12,102, 30, 70, 51,135,148, 92, 3, 74, 13, 50,180, +238,241,114, 99, 87,239,104, 83, 78,138,236,231,130,180,232, 17, 53,138, 83,142,195,142,221, 7,154,101,101,169,135, 30,255,121, +151, 68, 83, 98,197,173, 20, 29,114,139, 76, 0,227,142,249, 75, 55, 73, 62,156, 61,105,216,142, 61, 63,165,246,238,214, 57,181, +174,121,214,107,226,118,238,219,127,224,171, 65,131,134,201,238, 92, 57,142,132, 27,103, 62,215,229,214,105,126, 22,221,182,109, + 91,118,210,164, 73,165, 75,151, 46,245, 59,124,248,112, 35,141, 70,115, 3,128,213,201,201, 41, 56,176, 89,192,205, 95, 79,158, +240, 25, 56,236,101, 97, 70,158, 1,142,114, 17, 2, 60,228,184,116,225,148, 85, 44, 22, 86, 57,223,164,124,120,112, 12,122,127, +128,195,151, 30, 70,222,201,255, 63,246,206, 59, 60,170,162,109,227,247,217,222,210,123, 2, 9, 53, 33,180, 4, 66,239, 69, 4, +164, 11,104, 40, 26,148,174,136,138, 40, 32, 40, 32, 32,136,130,116, 20, 1,105,210,123, 15, 45, 52,145,146, 64, 32, 4, 18,210, +123,207,246,190,123,230,251, 99, 19,164,164,108, 0,191,215, 50,191,235,218, 43, 57,155,205,189,115,218,156,123,158,121,102, 70, + 28, 53,126,108, 68,122,228,165,135,197,171,183, 69,126, 87,203,193,124, 91,204, 22,174,190,213,186,161,207,204,143,222,193,226, + 85,219,113, 49,250, 97,129,134,227,187, 40,215, 96, 57, 83,121, 40, 29,224,113, 25, 56, 74,248,208, 40, 11, 21, 73, 49,167, 26, +189,162, 48,117, 68,228,161,237,156, 18,149, 25,153, 69,122, 38,167, 68, 5, 43, 75,224, 34, 21,192,194, 18,200, 75,138,152, 29, +219,183,225,230,205,107, 28,112, 57,227, 0,204,171,242,128, 50,182,174, 66, 7, 49,223, 22, 17,146,216,126,154,173, 44,130, 3, + 27, 98,195,234,229, 78, 30, 94,222,232,220,213,254,220,104, 71,247, 58, 45,118,253,186, 26, 81,191,199,116,191,184, 98, 77, 27, + 7, 63,207, 85, 12, 99,253, 1, 4,122,131,201, 10,133,188, 20, 66, 99, 38,218,214, 42,132,155,212,138, 52,165, 47,238,229, 37, + 58, 84, 87,225, 23,223, 59,120,155, 33, 67,230,236, 59,122,126,113,159,215,187,227, 94,154, 18, 18, 33, 15, 98, 33, 23, 98, 33, + 23,124,198,138,229,235,127, 50,151, 42, 84, 3,138,227, 14, 23,189,192,245,121,182,172,245,107, 51,119, 86,181,231,246, 85,115, +182,142,255, 98,105,159,190,111,142, 97,238,221,188,240,165, 22, 56,103, 95, 67,143,216,245, 30,203,218,255,140, 19, 59,122,172, +156, 58, 99,225,212,222, 3,222, 2,151,203,131,217,108,198,254,221,219,241,235,154,185, 15,140,234,226, 49, 0, 88, 99, 1,119, +194,158,237,235,223,250,226,235,229, 76,243, 22,109,219, 93,200,125,126,121, 79,150,203,252,252,238,216,137,225,222,222,222,142, +127, 70,180, 8, 26, 5, 55, 69,191, 65,195,112,250,240, 65,220,143,139, 5, 75,108,134,137,101, 9,228,165,197,121, 22,179,113, + 75,165, 61, 30, 98,113,157,205,191,110, 11,226,112,152,199, 11,200,127,250,193,123,198, 73,159,124,217,185, 95,239,110,113, 66, + 46,148,105, 25,185, 46,215, 98,226, 67, 88,190,131,255,216,233,203, 5,122,131, 21, 10,173, 25, 39, 54, 85,238,117,196,174, 1, + 29,234,182,234, 55,118,210, 87, 27, 68, 34, 46,199,212,172,145,127, 74,183,246,205, 50, 3,252, 60, 84,223, 44, 89,211,246,202, +245,152,126,111,143, 26, 43,142,104,220,138,241,115,151, 56,190, 55,234,205, 80,171,197,244,174,182, 36,179,210,249, 5,249, 82, + 87,121, 64,189, 64,237,159, 17,163, 70, 7, 24,130,250, 79, 57, 15, 6, 41,186,252,132,161, 0,224,235, 23,160,231,139,156, 84, + 53,136,192, 16, 0, 88,245,203,206,214,119, 18,114,198,255,248,227, 10,105,116,178, 10,183,147, 21, 16, 9, 56, 48,153, 89, 48, +118, 6,181, 89,194,157, 56,123,214, 76,167, 82,141, 21, 81,177,133,136,187,117,129, 24,213,250, 81, 82,139,211, 80,120, 57,190, + 11,160, 33,128, 36,134, 33, 63,107,242,125, 14, 3, 23, 45, 53,189,238, 89,214,214, 94,118,242,108, 80,223,202, 19,245,227, 11, +101, 29, 24,134, 52, 99, 8, 92, 1,146, 93, 82,246, 76,181,215,169,105,242, 19,176,244,219,175,177,114,227, 65,228, 20,235,225, +108,205,196,225, 77, 11,241,217,226,223,160, 51, 84,158,213, 80,157, 31,169,200, 24, 61,107,184,202,127, 47,255,220,226,197,139, + 7, 60,115,110, 6, 84,114,206,158,251, 92,249,255, 47, 89,178,228,219, 39,254,174,181,215,100, 61, 54, 90,229, 59, 85,141,217, +106,228,233, 91,231,247,195,135, 14,184,150,170, 77, 16, 11,184, 8,168, 23,136,121,171, 15,123,190,209,218, 3, 69, 38,103,236, +220,240, 67,137, 94,171,218,109, 87,101,225, 21,220, 78,226, 32, 59,113, 96,255, 65, 52, 8,240, 18,236,184, 92,146, 26,147,162, +123, 28,234, 85, 22,166, 11,235, 57,105,121, 67,223,124, 83,122,238,252,133, 79,212, 64,133, 70,139,203,112,107,255,178,109,191, +151,163,132, 15,134, 1, 84, 58, 11,198,191, 59,236,229, 31, 99,132,229,142, 29, 19, 1,166,204,100, 41,139,243,240,229,140, 15, +244, 50,115,226,253,140,180,140,236, 94, 3, 63, 59,167, 84, 51,250,240,119, 62,184,121, 63, 97,113,169, 86,251, 98,139,252, 24, +140, 86, 24, 76, 44,146,147,147,240,105,196,235,224,115, 57,224,114, 89, 91,178,180,165,242,139, 81,157,147, 80, 2, 31,193,240, +237,203,166,252,226,231,237,229,238, 32,147, 16, 7,169,136,105,214, 56, 72,208,190,125, 71, 97,189,224, 80,193,229,120, 29, 50, + 10,117, 72,201, 81, 64,228,221,146, 55,162,231, 27,216,190, 98,122,247,146,140, 91, 28, 60,159,164,248, 20,103,162,254, 24,184, +113,253,143,162,124,185, 9, 15, 50,212,200, 43,213, 35,183,212,128,188, 18, 61, 28, 36,124,116, 29, 52, 65,116,252,240,207, 3, + 95,235,210,110,213,139,236,119, 74, 74,234,241,180,236,220,183, 66,195,218, 98,251,214, 95,187,184,184,212,115,146,203, 83,149, +246,158,157,133, 11, 23, 10,151, 44, 89,194, 91,189,122,181,178,125,251,246, 62,179,102,205,234, 83, 80, 80,112,163,110,221,186, +193,167, 15,108, 57,223,178,235,224, 54, 96, 77,158, 93,186,245, 16,136, 88, 30, 34,143, 29, 51,237,217,189,163, 88,167, 83, 77, +170,210,112, 72,157, 23,230,171, 25,120,214,170, 19,144,162, 6, 0, 0, 32, 0, 73, 68, 65, 84, 21,231, 32,180,190,206,227,200, + 19, 74, 79, 77,221, 86, 10, 28,104,208,247,163,179, 23,110, 61, 76,104, 29,157,230,117, 62,250, 81, 65,137,214,212, 40,249,212, +103, 85, 86,188, 92,134, 1,159,203,129,163,132, 7, 78, 89,173,234,224, 23,250, 8, 12,227, 89, 30, 57,101,192,148,253, 4, 24, + 6, 57,165, 25,183,237,200,217, 96, 8, 75,128,135, 89, 26,168,245,182,208,124,109, 15, 41, 10,243,179,176,110,213, 22,196,220, +186,137,222,111, 12,194,218, 95,118, 96,252,187,111,233,171,107,253,112, 56,101, 17,173, 39,162, 89, 14, 18, 30, 0, 6,114,141, + 25,251,175,100,162, 97,125,142,221, 15, 6, 0,112,116,144, 66,161,210,129, 35,112, 68, 82,244, 9,233,201, 11,215,103,205, 89, +240,227,231,165,185,177, 25,143,238, 94, 70,176,135, 2,245,107,153, 16,151,231,132, 91,197,245, 16, 28,216, 0, 28,193, 77,187, +180,139,226, 66,150, 30,230,236, 31,208,186,101,211, 14,117,188, 92,160, 51, 90,203,162, 90, 92,252,186,121, 27,210, 82,179,198, + 22,223, 63, 28,243, 42, 28,173,166, 32,165, 80,228, 21,248,225,221,235,231, 82,222, 28,245, 33,124,107, 5,180,144,103,220,182, +243,225,101,159,169,178,218,105,180, 4, 82,151, 89,159,206,254,110,106,239,254,195,241,199,229,115,184, 29,151,132,118,237,218, +224,141, 33, 35,160, 82,150, 52,222,187,109,197,235, 22,173,234, 52, 79,100,153,218,182, 99, 79,134,181, 90,145,248,224, 94, 82, + 69, 90,186,220,135,183,175,229, 62,116,122,170,123,202,163,113, 11, 7,103,183,219, 6,147, 21,217,217, 89,184,250,123, 84,152, + 46,247, 97,141, 38, 16, 22, 9,184,136,140, 41,128,169,108, 13,211,174,221, 94, 55, 10, 56,134, 46,139,126,220,220, 62, 55, 39, +151, 35,115,242, 96,221,106, 53, 17,248,138, 76,134, 59,201, 10,129,201,204,162,129,159,172, 74, 77, 79,191,192,111,167, 79,255, +180, 9, 87, 32,129, 74, 99, 48,230,230,100,251,108,216,121, 65, 29,255,224,110,173,218, 94,206, 78,223,173,248, 89,160,212, 51, + 40, 80, 24, 80,162, 82, 50,163, 38,126,225,183,113,205,226,209, 85, 25,173, 10,210, 69,234, 31,143,188,220,216,213, 81,192,168, +245, 22,182, 88,105,178,142, 26,242,114,131, 46,203, 76,214,132, 31,151,175,144,198, 36,171,112, 39, 89, 1,177,128, 11,161,128, + 3,163,153,133,157,183, 19,199,199,203,103, 82,199,214, 33, 56,125,187, 8, 92, 46, 7, 58, 85,169,150,135,226,132,214,221,123, + 75, 91,181,109,143, 30,221,187,225, 81,194,195,128, 99, 71,246,191,118,237,234,197, 60,139,169,209, 20, 77, 97,194,193, 26, 5, + 22,180, 90,174, 89,232,243,158,111,173,186,157,134,142,120,207,185, 78, 64, 45,198,203,195, 29, 22,194,195,132,119,135,217,125, +231,219,140, 57,176,100,193, 44, 24, 12, 70,120,186, 8, 65, 8,176,121,213, 60, 24,141, 70,248,185,139,160,208, 84,190,154, 92, +117,126,164,178, 40, 84,141,114, 79,158, 48, 99, 85,189,207, 48,204,177,153, 51,103,126, 9,128,204,156, 57,243,203,242,237,197, +139, 23,235, 0,228, 84,211,117,184,225, 41,163, 85,190,115,149,223,221,130, 96, 15,119,223,107,145,167, 79, 57, 31,186,195,226, +143,131,183,208,191,157, 47, 4, 60, 14,164,206,126,184,147,170,192,241, 3,235,229,135,119,253,156,109, 48, 24,190,175,190,175, + 57,176,181,131, 84,118,122,235,246,221,172,135,187, 59,103, 93,100, 97,114,177,202,242,184, 75, 43,225,250, 17,246,214,233, 13, +190, 4,204, 41,177, 88, 28,104, 52, 26, 93,171, 59,177,155, 35,211,203,146,120,153, 87, 81,183,130,225,114,173,219,119,108,135, +135,147, 16, 6, 51,139,153,159,127,172,139,232,237, 32, 31,245,246,136,158, 61,250, 77, 61,207,151, 5,157,235, 24, 22, 68, 90, +182,108, 41,231,114,185,118,165, 82,120,121,121,205,227,112, 56, 35,133, 66,161,163,209,104, 84, 25, 89,189, 84,163, 55, 66,111, + 2,180, 90, 61,248, 2,155, 89,228,115, 25,232,244, 70,104,117,198,170,111,140,188,123, 87, 0, 52, 82, 62, 17, 83, 58, 23,223, + 64,248,219,222,195, 31, 15,127, 59,124, 78,173, 22, 67, 28, 82,115, 21, 16, 48, 38,180,105,226,139, 11,167, 14,146,172,180,132, + 79,171, 51, 89, 0, 80, 80, 88,226,239,233,233,141,152, 20, 53,178,139,117,200, 43, 51, 89,185,165, 6,168,116, 42,132,214,241, +131, 92,161,240,127,225,227, 11, 28, 60,125,250,244, 91,253, 6,135, 99,234,231,243, 59,111, 90,255, 67,172, 76,200,127, 95,147, +159, 24,101,143,209,186,119,239, 94,201,140, 25, 51, 26,254,242,203, 47,156,209,163, 71,235, 66, 66, 66,196,239,188,243, 78,231, +109,219,182,137,165, 82,177,238,206,229, 35,115,198,125, 52,115,240,134,149, 11, 91,148,150,150, 50, 22,179,249,164,169,180,116, +166,186, 26, 51,151,121,228,203, 7,115,147, 77, 99, 94,239,226,121,196, 77,202,105, 38, 34,198, 17,104, 50,111, 55,226,231,153, +146, 79,173, 86, 73,222, 90,246, 81,142,156,157,173,231,120, 45,170,206,100, 1, 0,135,203,192,104,177,194, 81,194, 7,135,195, + 41, 55,241,190,191,238, 62, 41,245,116, 22,130,207,229,128,199,101,160,212,154, 81,164, 52,225,195,247,236,157, 33,132,176, 22, + 43,129,206,104,129,182,172,117,168, 82, 22, 97,214,231,211,240,198,192, 55, 49,110,210, 52,148,234,128, 91, 41, 42,152,204,230, +106,111, 10, 14,195,129,214, 96,193,251,189,235,160, 68,109,130, 70,103,129,209,194, 66, 42,228,129,207,227, 64, 38,230,193, 73, +202, 7, 8, 17,148, 87, 38,124, 62, 95,111, 54,155,183, 87,209,162, 71, 61,127,111,232,204, 28,180, 13,255, 1,189, 58, 52, 66, +220,149,253,188,139,127,220,173,255,201,231,179,241,241,248,129,216,247,160, 33,220,188,234,192, 65, 38,129,153,112, 0, 16, 59, + 19,246,230,177, 28,211,155, 35,127,250,101,243,195,111,190,158, 41,150,107, 24,136, 4, 92,156, 63,119, 22,215,174,223, 90, 89, +116,255,240,118,188, 66,248,132,227,237,228,228, 4,177,144, 11,163,201, 96,180, 63,117,129,128, 0, 97, 50,175, 70, 63,149,181, +248,195,172, 44, 42,120,175,122,163,197, 19, 59,205,156,242,249, 55,223,246,238, 63, 28,145,199,246, 97,239,190,221,214, 14,125, +199,114,119,252,186, 30,157,123, 13, 66,231,222,225, 56,121,112,219, 52, 13,203, 52,157, 48,117,206,130,174, 61,251, 33,242,248, + 62,228,231,101, 45,179,183,188, 92, 62, 51,181,231,235, 3,161, 55, 90,209,229,181, 1, 56,117,244,224, 71, 40, 27,100, 97,255, + 67,236,153,250, 25, 28,203,180, 79,167,242, 11,228, 70,126,161,210,136,172, 66, 45, 82,243,181, 56,188,107, 19,177,191,190, 48, +182,233, 26, 90,155, 63, 97,233,249, 76,255,218,190, 6,190, 65, 39, 73, 72, 74,110, 60,238,189, 8,126,253,192,198,156, 2,133, + 1,133, 10, 3,138, 20, 6,168,245, 22, 4,214, 14,226,152, 45, 76,135,154,158,103, 15,103, 33,127,237,209, 20, 56,201,248,232, +216,248,197, 7,218,178, 44,251,167,201,250,209,102,178, 98, 83, 20, 16, 9,184, 16, 9, 56, 16, 9,184,176, 88,137, 93, 13, 23, +137, 87,163,126, 31, 78,249,192,207,104, 1,138, 21, 70,240,184, 12,188, 60, 92,101,109, 90,140,196,230, 31, 62, 2, 0,140,159, +177, 14,227,222,127, 7, 77,154,133, 64, 94, 90,234, 51,114,120,191, 31, 1, 28,180,183,172, 39, 34,163, 2, 34, 47,197,204,248, +112,250, 92,135,183, 7,246,224,222, 78, 86, 32,183,196,128,164, 4, 85,141, 34,111, 0, 96,177,178, 32, 32,216,178,251, 24, 36, + 66, 30, 10, 21, 38, 16, 66,176,112,245, 30, 56, 74,248,200, 45,181,117,247, 87, 69,149,126,164,138,136, 84, 13,162,141, 3, 96, +203,229,242,180, 55,162,181,120,241,226,184,197,139, 23, 87, 24, 33,123,194,100,189,216,162,210, 2,129,172,177,147,187,199, 31, +145,167, 78, 56, 30,188, 99,197,133, 59,197, 24,222,165, 54,212, 37, 25,248,254,243,183, 75, 24, 16, 35,135,203,149, 27,116,218, + 3, 58,157,102, 17, 0, 83,149, 23,141, 79,163, 48,153,216,225,236,218, 13, 91, 45, 30, 94, 94,216,126,185, 36,171, 84, 99, 49, +255,217,109,101,102,110,157,222, 80,223,194,154,251,234,243, 31,221,172,174, 37,206, 18, 8, 22,175, 63, 12,128,128,101, 89, 16, +150, 5, 95,236, 32,243,104,208, 62,191,172,162, 19,243, 56,140,254,201, 26,128,176,150,172,162,148,170,195,160, 12, 0,103, 41, + 31,187, 47,102, 3, 64, 62, 87, 21, 29, 63,234,109, 91,119,161,222, 40, 86, 54,107,216,144,180,105,211, 70, 46,145,216, 53,253, + 21,215,219,219,251,198,156, 57,115, 26,143, 27, 55, 78, 36, 20, 10, 97,177, 88,220,126,222,176,129,221,176,104, 60,134,126,180, + 22, 2,161, 8, 58,189, 9,124, 62, 15,165, 10, 53,228, 74, 45, 84, 90,115,205,175,160,228,100, 99, 33,176,244,208, 65,225,155, +125, 28, 66,219, 10, 57, 2,180, 10,246,197,133,211,135,200, 31,167, 54,143,215, 21, 36,108,181,243, 66,132, 90,111, 70, 78,177, + 30,217,197,122,228,149,234,145, 87, 98, 64, 94,169, 30, 12,195, 64,111,180,188,212,131, 75, 83,240,112,239,246,173, 27, 7, 25, + 76, 24,209,181,247,155,152, 54,119,109,157,237, 63, 45, 57,155, 66, 56,157,236, 76,180,181,198,197,197,165,189,247,222,123, 45, +118,238,220,201,109,222,188,185, 46, 62, 62, 94, 90,102, 34, 77, 14, 14, 82,201,166, 53,139, 79,183,109,219,118,119,118,194,131, +115,101,253,233,213, 86,236,117,186,141, 17, 73, 76, 49, 19, 2,100, 29,251, 52,240,145, 34, 64,166,234,211,216,225,206,247,197, + 61, 63,254,182,240,252,202,130, 92,131,229, 76,161,142,219, 50, 91,205,183, 43, 7,207,108,208,167, 15, 29, 62, 2, 92,134, 3, +147, 94,155, 94,126,113,121, 57, 11, 49,111,199, 3, 56,136,249,112,148,240,224, 32,225,163,115, 83, 55,212,160, 62, 35,102, 43, + 11,173,193, 10,157,193, 2,189,209, 2, 15,127, 87,252,178,125, 47, 50, 10,116, 56,124,179, 8, 15,211, 85, 8,170, 45, 3, 33, +213, 87,147,172,213,172, 25, 56,108,180, 35,151,195,128,203, 97, 56, 77, 27, 55, 66,137,218, 4, 1,143, 3,129, 88, 2,153,136, + 7, 39, 9, 31, 2, 1, 31, 5, 5, 5, 48, 24, 12, 8, 8, 8, 16, 87,109, 5, 9, 28, 29, 36, 8,170,239, 7,147,217,130, 19, +151,238, 99,209,167, 67,241,122,215,214, 96,248, 14,120, 96, 8,131,163,155, 35, 88, 14, 7, 38, 11, 11,163,201, 10,128,163,175, + 76,207,223,223,191,167, 76, 38,147,105,181, 90, 85, 70, 70, 70, 84,222,195,131, 25, 86,238,224, 9,167, 34,207,111, 31,240,198, +235,136,137,141,195,190,131, 71, 46, 23,185, 43,166,151,255, 79,179,102,205,218,123,120,120, 56, 20, 23, 23, 43,239,221,187,119, +227, 69,219, 5,132,195,249,164, 67,231,238, 80,203, 11,144,159,153,106,119, 43,186, 73, 29, 71,124,181,120,109,171,224, 70,193, +173,172,196,102,188,154, 6, 56,226,179,185,171, 90, 53, 12,106,212,170,124, 64, 72,147,128,170,167,101,227, 73, 29,123,191, 59, +110,218,226, 65,195,199,224,124,228, 17, 44, 95,244,249,118,153,179,103, 19, 55, 87,231,150,205,219,247,198,229,179, 71, 32,118, +244,129,171,187, 79,231,209,239, 79,233, 53,124,244, 68, 92,187,124, 22, 43,151,124,185,205,106, 80,253,102, 79, 89,101, 94,245, + 61, 91,132,181, 29,229,232,230, 13,185, 66, 5, 71, 87, 47, 52, 9,109, 51,234,254, 29,195, 12, 77, 65, 74,225, 11,155, 14, 66, + 96, 48, 17,148,170, 77,200, 44,212, 33, 45,207,102,180, 88,182, 6, 57, 65, 86,150,113, 16,243,120,110,230, 71, 1,119,207,158, + 39,117,252,189,153,165, 11, 62,231,154, 32, 70,161,220,102,178, 10,149, 70, 20, 42,140, 80,235,205,112,147,241,192, 90,217, 26, +183,186, 75,213, 38, 56, 74,249,112,150, 10,236,142, 50, 86,196,250, 95,119, 7,223, 73,200, 25,178,124,249, 10,233,237,148, 39, + 76, 22,223, 22,205, 18, 9,184,176,178, 44, 96,199, 29,207,231,241,167, 14,238,215, 11,153, 69, 58,219,168,101, 14,131,160,144, +182,240,144,176,120, 45,124, 38, 0, 96, 96, 63, 91,106, 91, 74,174, 6, 71,255, 40, 4,158, 78,236,174,186, 46,214,233,184, 27, +118, 28,255,100,239,158, 93,206,122, 43, 15, 63,159, 76,131,214, 96,129, 88,192,133, 72,192,133, 68,192,125, 42, 31,187,122,163, +101,203,185,203, 40, 50, 67,171,215, 67,169, 51,131, 0,184,241, 72, 13,157,209, 2,133,198,140,246,141, 93, 95, 46, 16,194, 48, +199, 9, 33,253,159, 53, 68,207,154,165, 39, 34, 82, 21,105,220,124, 82,163,252,243,149, 25,185, 39,115,182, 0,212,104, 4, 23, +239, 89,231,248,228,182, 64,230,218,196,217,209,249,143, 83, 39,143, 57, 28,188,195, 34, 42,214,102,178,204,186, 34, 44,155, 49, + 50, 75, 41, 47,234, 1, 32,217,222, 47,147,122, 52, 9, 21, 11, 69,231,191, 91,241,179,201,203,187, 22,123,224, 15,121,129, 66, +107,125,202, 77, 88, 13, 6, 14, 97,137, 64,159,255,200,174, 62, 4, 14,135, 49,205,253,232, 77,176,132, 96,222,138,189,248,118, +122, 56, 28, 36,163,165, 12,195, 72, 53,122, 11, 62,157,191, 17,203,190, 26,235, 40, 21,241,192, 48,182,156,168,119, 71,188,105, +223, 5,168,183, 32,233,250, 78,181, 42,229, 88,252,147,221,133,237, 58,191,113,171, 93,187,118,114, 87, 87, 87, 72, 36,146, 63, + 35, 21,149,224,237,237,253,213,220,185,115,131, 39, 77,154,244,120,178, 79, 30,143,135, 15, 63,248,128, 99,181, 18,156, 60,185, + 25,158,117,195,112,228,204, 31,232,219,179, 13,212, 90, 61, 74,228, 42,176,224,190,240,133,168,146, 23,157,207, 75,187,219,182, + 83,143,129,136, 58,125,136,252,113,114,211,248,154,204,209,227,234,230,154, 25,125, 55,169, 9,195,184,217, 34, 90,101, 38,203, +104,102, 81,199, 91,138,204,180, 36,184, 56, 59,103,218,171, 39,241, 12, 30,204,112,200, 36, 6,100,179, 38, 63,113, 47, 0,162, +201,141, 31,185,247,183, 13,177,113,247,110, 47, 26, 48,106, 42,175,247,240, 15,184, 63, 45,158,242, 37, 0,123, 39,222, 51, 61, +124,248,240,254,216,177, 99, 59, 94,187,118,205, 10, 64,203, 48,140,153,203,229, 74,141, 70,163,160, 71,143, 30,138, 7, 15, 30, + 68,161,226,164,197,167,232,252,222, 94, 15, 70,164,122, 67,200,154, 70,214,113, 84,189,222,163, 75, 7,116,104,230,143,204, 46, + 29, 0, 96,106,186,218, 33, 88,223,112,227,110,179, 69,114,226,167, 95,143,126, 59, 62,188,215,167,219,121,243,150,231, 30,155, + 87,101, 34,106,102,252,197, 62, 21,217,120, 30,151, 3, 71, 9, 31, 14, 18, 30, 28, 37,124, 56,138,249, 48, 91, 72, 77, 90,142, +196,108, 97,109, 17, 45,163, 5,106,157, 5,231,111,231, 35, 79, 97,132, 92,101,130,206,100, 5, 1,177,181, 70,237,168,205, 11, + 31, 93,117, 41,127,146,186, 4,132, 41, 54,172,254,193,105,255,149,172,199, 35,250,156,165, 66, 56, 74,109,163,177, 47, 93,186, + 4,119,247,234, 91,251, 44,203, 98,223,169, 27, 88,190,229, 60, 78,109,254, 2, 98, 1, 23,161,131,231, 99,204,144,118, 96, 9, +139,164,135,113,249, 65, 77, 91,120,115, 56, 18,112, 24, 6, 6, 51, 11,128, 84,122, 60,141, 70,163,123, 70, 70,134, 50, 48, 48, +208,199,207,207,111, 56,151,203, 37, 80,221, 54, 28,218, 85,162, 61,119,236, 55,169, 70,103,176, 74, 45,138,205,129,185,186,254, + 8, 12, 4,195, 48,196,201,201, 73,112,254,252,121,117, 72, 72,136,231, 11,222, 74, 28,137, 87,163,149,227, 38,127, 50,188, 97, +131, 6,216,251,219,102, 16,194,236,183,247,159,119, 28,189,134, 5,179,158, 30, 97,248,217,220, 85,173,150,205,159,250,212,123, +147,103, 45,175,114,212,161, 68,228, 48,125,232,200, 9,184,117,227,119,124, 63,255,179, 93, 6,117,201, 24,179,197,252, 86, 73, +110,202,174,250, 77,219,129,152, 84,136,220,243, 3,194,223, 25, 47,234, 61, 96, 56,174, 93, 62,139,111,191,156,188, 67, 43, 47, +120, 15,118, 38, 57,179,132, 63,169, 71,159, 33,124,157,193,132, 85, 75,191,198,196,233,139,208,190,231, 64,254,189,219,127, 76, + 2,240,141,221,233, 16, 38, 43,122,132,120,216,204,179,153,197,145, 20, 46,175,162, 43,144,199,101, 56, 45, 27,184, 64,103,180, + 64, 89, 77,163,146, 39,224,231,201, 21,202,186,107,190,253,132,171,209, 91, 80,168, 48,162, 64, 97, 64,145,252, 79,131, 85,164, + 48,160, 80, 97, 4,159,199, 32, 33, 57, 29, 28, 62,175,198,249,121,165,106, 51,218, 54,114,181,221,163, 47,216, 59, 98,230, 57, +181, 59,117,241,206,208,229,203,127, 20,223, 73, 85, 33, 54, 69, 89, 22,201,226, 66,196,231, 64, 88,246,187,149,181,229, 70, 86, +133,147,103,131,250, 17,239,142,126,205,201, 65,130,156,196, 2,240,184,182, 41, 98,156,189,252,225, 44,210, 99,202,228, 9,240, +112,119, 65, 70,145, 1, 43, 15, 38, 32,246,254, 35,176,186,154,237,246,170,159,119,245, 29,247,225,103, 46, 28,190, 16,219, 78, +167,218,202,201,181,226,193, 31, 71,245, 57, 73,119, 53,106,101, 49, 1,177,218,153,131,204, 16,139,213,118,185,125, 59,111, 38, +118,109, 89,135,211,209, 5,143,175,192, 43,251,151,225,147, 89, 11, 81,164, 52,162,162,235,178, 42, 63, 2,160,240,137, 72,212, +115,219, 79,152,163,138,182,153,178,109, 99, 37, 26,198,103,204,149,241,153,247,141,207,232, 85, 52,247,223,134,106,187, 14,159, + 51, 69, 46,158,205,165, 98,217,239, 39, 79, 30,149, 29,138, 37,143, 77,150, 73, 91, 68, 22, 77, 29,152,165,148, 23,246,174,145, +201,242, 12,106, 46,146,138, 46,206, 89,184,210,224, 93,171,174,229,196,109,101,177, 74,111,181, 60,159,131, 32,179,202,156, 61, +245, 60,161,104, 57, 95,103,252,186,168, 40, 94, 83, 93,228,137, 37, 4,199,174,231,129, 16, 91, 19,105,207,165,108,148,181,204, + 97,101,109,221, 42,103,110, 23,128, 87,150,135, 98,111,248,123,253,207,235,148,253, 67, 20,154, 81,223,206,123,220, 93,216,190, +133, 45,146,229,228,228, 4, 23, 23, 23, 56, 56, 56,160,186,174, 67,134, 97,222, 29, 55,110,220,115,173,255,130,130, 2,244,122, +173, 7, 86,175,251, 5, 45, 94,139,192,153,171,167, 97, 50,179, 8,109,218, 0,117,253, 92,145,153,175,122,161, 27, 93,230, 29, +252, 97,219, 30, 67,190,236,220,115, 32,206,159, 58, 64,254, 56,245,235,132,154, 78,132,216,191, 87,199,163, 11, 22,204,171, 63, +103,209, 26,145,163,152,135,120,181, 17, 28,134, 65, 29,111, 41,220,101, 28, 68, 29,218,166, 15, 31,216,209,238,201,241,252,253, +107,109, 95,182,122,131,108,217,146,249, 61,110, 69, 51,231,213, 57, 9, 37, 0,160,205,127,184,244, 1,112,191,246,239,145, 39, + 90,116,123, 19,222,126, 13, 94, 79,201,127, 96,183,217, 0,160, 77, 78, 78, 78,153, 51,103, 78,240,146, 37, 75, 8,151,203,101, + 1,136, 86,172, 88,161, 77, 76, 76,188, 13,219,208, 92, 84,247,176,121,237,245,102,159, 58, 8,173,237,221,164,156,102, 13,124, +164,232,208,204,214, 43, 26,222,191, 51,252, 3, 2,144,156,167,109, 89,162,101,249,106, 35,183,193,218,159, 99,111,214,243,224, +142,183,232,140,247, 1, 28,174,233,249, 97,240,103,130,124,121, 52,203, 81,194, 7,107,187, 86,106,100,180, 12, 38, 43,116, 6, + 43,116, 70, 11, 52, 70, 43,180, 70, 43, 88, 98,187, 39, 24,134,129,201,194,194,174,102,243, 51,215,190,147,155, 7, 26,212, 99, +224, 36,181,149,205,169,108,186, 7, 6,128,187,187, 59,188,188,188,236,138,138, 26, 77,182, 91,220,104,102, 31,119,235, 27, 77, + 22, 16, 66,144,144,240,240,139,180,148,148,193,129, 65,129, 93,155,134,182,112,147,138, 56, 0, 80,169,209,210,106,181, 86, 71, + 71, 71, 47, 55, 55, 55, 78,118,118,246, 99,243, 28,216,178,135,229,224,129,253, 24, 58,244, 77,117,252,141, 59,143,135,184,235, +116, 58,166, 83,167, 78, 78,254,254,254, 28,131,193,160,172,233,105,146,121, 54, 26,226,234,238,182,232,221,247, 38, 54,234,209, +171, 47, 46,156,139,196,225, 3, 59,183,106, 11, 19, 34,237, 21, 9, 14,110,252,220,168,195,134, 65,141,158, 27,117, 88,183,126, + 80,149, 70,171,105,104,155,118,132,225,225,244,177, 61, 68,207, 49, 77, 6,192, 90,245,170, 61,187,215,127,245,205,200, 73,179, + 26,246, 27, 52, 18,239,190, 51, 6, 60, 30, 23, 81,103,142, 98,217,252,105,199,213,138,130, 8,123,210, 4,108,161,183, 38,130, + 90, 18,255,143, 3, 26, 54, 71,244, 31,151,145,148,112, 47,238,206,205,107,205, 2, 67,218,195,211,175,206,199,233, 30,220, 37, +136,143, 55, 85, 39, 99,212,235,211,199, 68,188,131, 39, 71, 29,118, 8, 11,118,103,158,189, 1, 0,104, 85, 5,166, 77, 63,124, +154, 88, 62,234,144, 53, 25,211, 43,211, 85,148, 22,238,139,186,122,125,250,224,254,125, 57, 69, 74,163, 45,130,165, 48,150,189, + 12, 40, 42,255, 93,105, 64,144,159, 3, 30,198, 69,179,122, 69,209,254, 26,222,151,250, 49,111,245,185, 95,126,237,178, 44, 1, + 3,232,107,220, 45,197,119,154,176,244,251,229,226, 59, 41,106,196,166, 42,109, 93,133,124,174,205, 96,241, 57,143, 77,151,109, + 52,123, 53,209, 33,134,251,237,251, 17, 35, 80,164, 52,129,101, 1, 30,151, 83,246, 18, 32, 67,197, 32, 83,165, 69, 81,105, 33, + 82,210,210, 33,207, 75, 2,135,195,129,135, 95, 35,187,103,146,182, 18,161,175,214, 72, 66,134,247,239,202, 59,240,123, 46,164, + 34, 30, 12,170,124,156,220,253, 67,161, 65,173, 92,164,211,170, 15,216, 51,159,227,159, 41, 8, 76,161, 82,173,247, 22,241,185, +216,187,101, 13,222, 26, 51,249,169,218,247,139,217, 11, 0, 14,131,146, 82, 21, 24,134, 41,172, 89,189,196,220,172,106,251, 5, + 35, 99, 47,173, 81,129,217,122,190,161, 80,121,107,148,156,140, 60,117, 84,118, 37, 77,132, 27, 15,115,203, 76, 86, 33,187,240, +163,254, 89, 42, 69, 73, 31, 0, 9, 53,107, 23,114,250,132,191, 63, 61,174, 65,163,166,134, 11,247,212,169,114,141,185,210, 60, +135, 14,195,231,196,221, 58,190,186,159,194,156,252,129,204,183,169,149,181, 88,150,234, 10, 19,230, 87,210,117, 40,156,191,114, +239,227,110,195, 25, 75,182,217,126,183, 90, 97, 37, 44, 8, 11, 76,249,106, 61, 44,172, 21,172,213, 10,214, 74, 96,182, 18,105, +117,197,245,242,171,123,160,244,193,158,198,163,190,121,190,187,208,197,197, 5,238,238,238,112,119,119,135,147,147, 83,181, 70, +139,207,231, 59,240,120, 79, 31,234,244,244,116,164,165,165,193,201,201, 9,132, 53,195,104, 6,154,183,239,141,187, 73,247,112, +246,202,109, 16,214, 10,153, 67,205, 87,121,145,121, 7,127,208,166,251,224, 53, 61, 7,141,197,153, 3, 63,147,155,151,142, 78, +212, 21, 36,108,180, 59, 66,111,181, 50,102,179, 25,253,123,119, 79,143,137,123,116,106,246,244, 73,125, 59, 14,152, 40,234, 16, + 92, 11,122,163, 21, 89,105, 73,136, 58,244,171,190, 81,125,223,211,175,117,105,151,110, 54,155, 97,181, 90,171,125,144,235,141, +166, 34, 46, 95, 34, 27, 49, 98, 20,255,230,141, 27,251,101,158, 65,123,173, 12,231, 14, 67,216, 80,134,144,161,161,161, 77, 96, + 50,179,208,106,149,165, 53,221,103,149, 74,149,178,121,243,230,250, 17, 17, 17,210,166, 77,155,242,147,146,146,176,108,217,178, + 98,149, 74,149, 98,175, 70,228,165,135, 43,120, 76,105, 98,121, 68, 43,163,115, 7,140, 24,208, 25,187,142, 95, 65,212,229,107, + 72, 87, 59,220, 86, 91,120,135, 50,211,115, 12,205,220,148,251, 7,117,168,203,221,187,165,116,127, 92,247,153,111, 19, 34,138, + 44,186, 56, 79, 99,255,205, 13,168,116,102, 56, 73,109,243, 61,149, 71,182,184, 12, 99,183, 35, 98,128,148,203,215,162,155,183, + 14,106,138,152, 20, 5, 10,228, 6,232, 12, 22,176, 44, 1, 11, 2,119, 71, 33,196, 2, 14, 50,210, 82,192, 18, 83,106, 13, 31, + 21,133,221,186,118,227, 1, 12, 24,134,240,248, 60, 30, 8,108,243, 43, 74, 36, 18,181,151,151,151, 93, 17, 45,147,197,130,161, +125,219,161,125,155, 80, 12,158,104,155, 51,243,220,214,153,112,117,224, 99,215,246,141,200,188,180, 98,123,253, 14,147, 34,239, +221,141, 27, 22, 23,243,251,168, 55, 90, 73, 90,250,240,114, 4,149,133, 73, 53, 26,205,126, 0, 66,129, 64,208,183,107,215,174, +110,251,247,239,151,123,120,120,176, 66,129,160,112,208,192, 1, 44, 95, 32, 40, 41,255,236,213,171, 87,249, 19, 39, 78,116, 44, + 45, 45,205,200,207,207,191, 6,192, 92,117, 67, 48,184, 23, 56,216, 9,134, 17, 59, 72,164,233,245,234, 53,240,107,211,190,157, +243,144,161,111, 65, 36, 20,225, 76,228, 41,172,250,113,201, 30,117,110,252,251, 53, 57,146,175,106,212, 97, 86, 70,106,138, 86, +103, 8,105,222,186, 59,115, 57,242,208, 84, 19, 60,126,228,138, 76, 63,244, 26, 58,185, 97, 74,142, 26,171, 22,127, 1, 87,103, + 25, 82,147, 30,232, 18,227,239,174, 55,235,149, 95,216,109,178, 0, 72,139,173,195, 58,188,211,215,213, 96,178,226,210,249,227, +122,214,194,246,189,118,241, 68, 82,237, 70,109,196,205,219,188,230, 90,116,120,227, 80, 45,176,171, 58,157,236, 7,207, 71,112, +137, 81,158,122,238,252, 89,103,239, 58,205,184, 12, 24,152, 12,122, 20, 38,223,180,104,243, 31, 40,149,217,247,236, 26,133, 91, +156,137,175,102,205,253,238,131, 54,173, 91,203, 8,196, 79, 69,176,202, 13, 86,145,210, 8, 15, 71, 33,116,202, 66, 36,222, 60, +165,215, 22,114,171,156,239,204, 98,212, 72,139, 10,242,133,127,166, 51, 36,180,175,234,243, 69, 5,249, 66,139, 81, 35,173,254, + 81,199,133,147, 76,136,187,169,217,143, 19,223, 69,124, 91,110,150,144,207,125,156,167, 85, 94, 23, 84, 67,119,129,216, 5,217, +197,122, 48, 32, 96,173, 22, 88,204, 70,168,148, 74,100,231,228, 33, 63, 47, 31, 42,149, 28, 82, 7, 87, 52,111,217, 22,142, 50, + 49,238, 68,237, 1, 33,196,174,121, 13,205, 12, 63,184, 77,251, 46,162,123,105,182, 92, 44, 49,159,224,232,206, 37,197,106,101, + 65, 23,117,110, 98, 98, 77,235, 98,139,213,122, 54,246,126, 98,179,218,190,245,152,219, 73, 10,108,255,101, 53,140,101,145, 77, +179,217,138,123, 25, 26,228,150,104,145,145, 28, 79, 88,171,245, 44,254, 35,240, 42, 15, 0,130, 23,218,188, 9,122,143, 30,130, +117,235,214, 35, 57, 37,141, 93, 52,181, 95,134, 90, 37,127,163, 6, 38,171, 23,202,230,218,208,230, 63, 92,170,115,109,147,117, + 36,166,132,163, 51,146, 42, 19,124,196,158,117,208,229,253,101,167,117,170, 18,161,213,160,229, 29,221,254,254,206,138, 52,109, + 14, 26,198, 69,159,133,195, 65,194, 3,195, 48, 40,239, 46, 92,187, 96, 2,164, 34, 91,223,178,206, 96,193,232, 79,151, 99,251, +242,105, 32, 0, 70,190,117, 69, 91, 89, 57, 97, 91,187,112,138, 47,110,212, 78, 79, 43,200,238, 53,240,179,115,122,147,200, 48, +224,205,136, 91,173, 91,183,150, 75, 36, 18, 72, 36, 18, 56, 57, 57,193,213,213, 21, 46, 46, 46,213,238,187,217,108, 86, 27,141, + 70,119,161, 80, 8,150,101,145,154,154,138,212,212, 84, 40, 20, 10, 20, 22, 22, 66,163, 86, 90,110,156,219,203,107,222,161, 31, +252, 26,132,160, 78, 80, 11,240,185, 12,120, 60, 14,162,142,252, 82, 89, 57, 43, 54, 89,221, 6,173,125,109,240, 56,156, 57,176, +129,220,188,116,116,146,174, 32,225, 23,123,207, 81, 89,119,207,157,161, 67,135,134, 76,156, 56, 81, 48,119,250,196,211,199, 35, +163, 18,246, 30,219, 48,176,180, 84,238, 79, 8,129,139,179,115,102,248,192,142, 71,123,116,106,147,126,238,220, 57,118,231,206, +157, 6,134, 97,238, 86,165,105,171,164, 10,182,158, 59,123,126, 94,151,110,221,177,113,203,206,110,113,247,227,187, 37, 37, 37, +194,191, 78, 3,212,171, 31, 4, 45,227,138,243, 23, 47, 67, 45, 47,216,106, 79, 57,159,137,106, 49,165,165,165,191,135,135,135, +247,190,114,229, 10, 39, 60, 60, 92, 91, 84, 84,116,245,137, 40, 22,169, 78,243,218, 79,111, 22, 2,216, 90,167,219,152, 61,217, + 38,249,199, 0,150, 4,212, 9, 64,212,229,107,184,118,229,250,250, 34,105,192,252,247, 71,191, 55,161,238, 32,238,184, 65, 29, +234,114,189, 92,165,248,109,195, 50,238,145,107,105,203,211,138,173, 27,151, 92,156,183,192,158,115,244,248,193,161, 50,161, 83, + 19, 55,152,173, 4, 44,177, 85,184,142, 98,126,101, 21,239,115,154, 60,163,232,253, 73, 19, 39, 38, 53, 15,109,249,201,232,247, + 38, 9, 90, 54,240,199,141, 71,114,128, 97,224,230, 35, 67,110,110, 46, 46,237,219, 96, 41,205,126,176,158,203,101,191,169,193, +241, 68,105,250,237,192, 39, 54, 39, 20, 21, 21, 33, 42, 42, 10,229, 6,203,211,211,179, 50,163,245,148,102,113,126,206,213, 5, +223,255,220,105,252,187,111, 98, 64,247,102,184,120, 51, 9,198,178,249,154,202,135,146,167, 92,251, 73,248,113,120, 3,227, 7, + 67, 27, 41,117,102, 97,218, 87,169,138, 75,176,173,193,202, 86, 82, 78, 99, 73, 73,201,145,135, 15, 31,118,110,209,162, 69,221, + 19, 39, 78,148,196, 93, 63, 61,245,201, 66,124,246,217,103, 14,235,214,173,147, 18, 66,174, 26,141,198,100,187,246,157,131,223, +162,111,221,114, 55,153, 89, 92,190,126,167,201,107,157, 90,130, 37,192,205,155, 55,177,113,211, 70,253,221,216,219, 63,104,242, +125,190,169,194,188, 84,120, 60,173, 47, 55,234,240,177,102,110,118,218, 15,103,142,239,219,222,166,219, 64,140,154,242,205, 55, + 81,199,119,206,107,213,101, 0,167, 73,155,222,136,190,118, 30,103, 79,156,250,206,164, 46,153,135,234,115, 71, 42, 44,167, 72, + 34,253,168,105,171,110,200, 72, 79, 67,106,226,189,173,250,146, 71, 57,233, 73,220,173, 57, 89,233,147,234, 55,235,132, 43,167, +119, 77,173,194,104, 85,121,205,251,123, 74, 54,156, 56,118,100, 68, 86,214, 79, 62, 26,157, 94, 68, 8,209,139,132,188, 60, 7, +142,106,183,210,238,114,198,155, 10,115,234, 14,125,107,244,164,227,171, 86,253,200,247,118,145, 34,175, 84, 15,165,206, 4,149, +214, 4, 14,195, 32,208, 79, 6,173,170, 4, 23,247,125,111, 54,170, 75,195,129, 36, 83,101,154, 50,175,224,133,165,143,206, 79, +249,108,242, 5, 8,157,253,253,234,245,156, 85,101,180, 78,149,125,123,224,103,147,143, 6, 19, 66, 94,147,121, 5,171, 52, 5, + 15,231, 84,182,239, 12, 99,187,191, 71,245,240,135,201, 98,155,127,204,194, 2, 86,150, 45,139,242, 1,228,113,127, 62, 83,205, +190, 51,236,238,227, 87,145,147, 47,135,206,104,134,193,104,129,201,108, 5,135,203,133,139,171, 11,130,234,133,193,217,197, 9, +249,121, 57,184,118,238, 8, 18, 98, 47, 94,101, 8,230,235, 10, 19,207,217,115,142, 4, 18,151, 96, 95, 63, 31, 78,174,210, 8, +137,144,139,219, 23, 79,152,204, 70,195, 15,118,154,172,231, 52,229,197, 37,203, 63,153,254,249,200, 95, 55,111,241, 9,169,239, +132,172, 34, 29,178, 10,245, 80,233,205,101, 70,140,133, 65, 93,132,216,243, 91,242,172,122,213,114,252, 71,168,212,104, 89, 76, +122,213,254, 83, 55,220,103,206,251,158,251, 40, 41,217,188,240,227,254, 89, 58,181,178, 95,141, 35, 89, 79,240,235,135,245,119, +253, 21, 59,241, 92,119, 33, 97,193, 18,130,163,215,243, 30,119, 23,178,101,153,151, 49, 73, 85, 47, 35,248,228,218,133,221,251, + 77, 61, 19,251, 80,181, 67,167,203,119,126,240,232,135, 82, 0,224,114,185,143, 95,229,185, 89,122,189,222, 88, 77, 23,202,182, + 95,126,249,101,198,164, 73,147, 68,153,153,153, 72, 74, 74,130, 92, 46,135, 88, 44,198,169, 83,167,204, 96, 45, 63,196, 94, 57, +152,250, 48, 58,242,235,224,214,189,107,135,116,232, 7,169, 84, 6, 30,177, 63, 25, 83,234,213,104, 68,235,110,131,214,188, 54, +100, 60,206, 30,252,133,220,188,120,100,178,174, 48, 97, 67, 77,143,165, 92, 46,143, 3,144,248,195, 15, 63,180,220,184,113, 99, +253,233,211,167, 39,111, 91, 51,111, 21, 0, 20, 23, 23, 3, 0, 98, 98, 98,200,228,201,147, 13,122,189, 62,165,180,180, 52, 26, +213, 12,128, 0, 0, 93,161,244,219,141,107,151, 52,207,204,206,125,179, 65,243,182,240,172,223, 22, 62,129,237, 80,170, 50,225, +198,163, 28, 36,199,159, 67,252,229,125, 39,180, 14,150,121,168,225,252,198, 45, 90,180,240,231,112, 56,245,212,106,181, 79,211, +166, 77, 91,200,100,178,152, 22, 45, 90,132,241,120,188,172, 91,183,110,165,213, 68, 43,253,226, 22, 67,157,110, 99, 86,166,171, + 28,123, 36,231,105,195,210, 85,142, 49, 90,145,243,180,194,243, 43, 13,191,114,107, 45, 39,166,162,184,189, 91,148,251,127,219, +176,140, 59,122,194,103,214,123, 10,215,143,121, 18,225,153,154,133,171, 57,185, 31, 68, 12,254,115,122,135,178, 72, 86,217,239, +118,133,233, 21,138, 88, 5,128, 25,177,247,249,107,238,125, 60,113, 65,104,155, 78,239,116,125, 35,156, 99, 17, 56,224,244,193, +159, 72, 74,236,249,189, 60, 98,157,173,179, 99, 53,128,106,187,131,140, 70,123, 76,214,243,101,204,148,117,223,187,115,211,152, +253, 7, 15, 44, 30, 50,104,176,251,218,175,222,198,247, 63, 31,130, 76, 34, 2, 97, 89,188,221,195,127,248,215,227, 26, 15,244, +247, 22,215,218,127, 33,235,210,148, 31,239,205,208,106, 77, 9,118, 68, 98, 72, 81, 81,209,101, 7, 7,135,194,206,157, 59,183, + 23,137, 68, 76, 81, 81, 17,207,203,203,203,226,236,236,108,204,202,202,210, 26, 12,134,253, 0,106, 52,237,184,201,204, 34, 53, + 95,143,195, 7,246,227,206,245,115,136,143,127,168,138,191, 31,191,154,225,145, 31, 53,249,137, 37, 64,141, 27,248, 96, 43, 28, +117, 72,106, 60,234,208,106, 80,253,182,109,253,194,158, 90,189, 97, 76,139,142,253, 81,183, 73, 39,142,201,108,197,221,155, 23, +112, 97,223,143,223,155,212, 37, 51, 95,230, 28,251,213,174, 31, 68,184, 66,252, 30,117, 28,132,101,215, 3, 0, 97,217,245, 49, + 87, 78, 76,106,215,111, 28,220,188,234,182,144,103,196, 48,120,129,217,195, 5, 60,142,230,228,254, 95, 15,166,166,166,226,193, +131, 7,120,244,232, 17, 74, 74, 74,240,219,111,169, 53, 58, 63,218,210,180, 51, 9,247, 57,125,134,189, 61,234,232,240, 17,239, +138,235, 7,133,112,130,107,187,194,221,129,135,135,143,210,144,112, 43,150,125,120,227,132,222,164, 44, 24,162, 43, 77,171,212, +248, 73, 61,154,120, 3,214,153,229,107, 23,118,232,208, 41,248,243, 69,139,219,187,123,122, 85, 88,143, 23, 23, 22, 8,191,152, +114, 36,248,218, 31,191,219,181,214, 33,107,181, 22, 79, 24, 19,206,114,109, 11,133,226,113,156,186,236,232,217, 26, 83,182,247, + 9,107,169, 54,130,255,222,155, 93, 96, 97, 89,104,116, 38, 40, 53, 6, 40, 84,122,228, 22, 20,227, 78,108, 44, 46, 30, 61,130, +164,135,119, 82,204, 70, 99, 36,135,195,236,211,229, 39, 92,172, 89, 79, 19,175,190,187,155, 27, 82, 74,212, 16, 11,121, 72, 75, +184,101,208, 40, 21, 59, 94,244, 58,210, 21, 39,230, 22,112,153,222,225,225, 35, 78,245,236, 51,200,185, 77,199, 94, 82, 15, 39, + 23, 8,120, 4,137,169, 57,136,190,122, 74,147,124,231,146,210,108, 84,247,125, 21,171,190,252,205,169,126,212,161,201,160, 25, + 56,114,112,183, 3, 92, 46, 79,200,178, 22,131,201,104, 24,246, 50, 38,235,175,130, 16,107,214,152,145,111, 62,213, 54,176,176, + 68, 50,242,173,211,186, 39,219, 10,102, 43,145,142,124,235,170,214, 86,129, 84,158,216,231,235,235,214,191,124,237,194,244,244, +226,155, 37, 37,134, 11, 0,178,244,122,253, 11,151, 49, 63, 63,127,193,162, 69,139, 6,104,181,218,198,221,187,119, 23, 57, 57, + 57,161,184,184, 24,145,145,145,230, 99,199,142,221, 47, 40, 40,248, 26, 40,176,232, 16,182, 53, 86,127, 48,226,225,173,200,175, + 27,183,238, 83, 59,164, 99, 63,251, 43, 51,145,100,124,207, 65, 99,153,179,135,126, 33, 55,162, 14,125,160, 43, 76,252,249, 37, + 14,171, 73,175,215, 95,215,235,245,247,102,207,158,221,198,219,219,219,251,235,175,191, 22, 43,149, 74,254,218,181,107,245, 69, + 69, 69,121, 74,165,242, 26,170,200,167,121,158, 24,179, 34, 27, 67, 79,238,255,165, 7,217,255,203,235, 46, 30,181,122, 59,123, +214,110, 40, 47,204, 78, 81, 20,230, 68, 2, 56, 91, 54, 81,100,141,104,217,178,101, 3,134, 97,194, 1, 52,151,201,100,129, 14, + 14, 14, 34, 66, 72, 99,134, 97,226, 88,150,141,109,218,180,233,177,251,247,239,215,104, 50,217,244,139, 91, 12,254,193,157,118, +150,104, 89,129,145, 35,216,153,126,113,139, 1, 0, 10,206,124,174, 5,112,248,126,247, 25, 67,143, 92, 75, 91, 21, 87,234, 60, +181, 48,106,241,145,154,150, 89,145,117, 39,240, 85, 93,255,250,220,251, 89, 0,198,196,222,194,178,187, 49,215,230, 50, 4,124, + 43, 44, 11,117, 5,143,110,189, 10,125, 62,159,175,175, 85,171, 86,133,163, 11, 69, 34,145,222,108, 39,159,116, 0, 0, 32, 0, + 73, 68, 65, 84, 96,168, 42,128,114,209,162,206,197, 70,160,219,150, 3,123,182,140, 57,116,228,240,226,174,175, 13,113, 23,215, +174,141,122, 94, 12,182,204,108, 53,245, 92, 76,225,141, 65,159, 95, 90,151,156,163,143, 69, 13,243, 97,212,106,117, 2,128, 82, +181, 90, 61,152, 16,146,201, 48,140,127,105,105,233,109,179,217,124,183,198,134,128,197,168, 14, 29,218,254,198, 48, 12,143, 88, +216,165,215,248,220,157,250,220,248, 44,188,228,178, 36, 33,245,156,240,233,215, 43, 91, 53, 12,108,212,170,124,173,195,102,117, + 29, 49,113,198,178, 86,117,235, 7,181,250,115,253,195,106,211, 4,136, 89, 91,250,254,129, 77, 75, 47,197,252,113,225, 75, 15, +223,186,117,243,178,146,227, 51, 31,221, 94, 96,213, 43, 15,188,236,121, 78,125, 20,247,227,198, 31,102, 76,207,205, 78,217,168, + 45, 76,188, 7, 0,218,194,196,123,241,209,248,170, 40, 47,107,122,113, 65,242, 15, 47,122, 44, 52, 26, 77,206,142, 29, 59, 92, + 58,117,234,196,241,246,246, 70, 97, 97, 33, 46, 92,184,192,178, 44,155, 93, 99,173,146,148, 11,154, 18,198,109,235,207,107,150, + 10,100,142,253, 44, 22,139, 31, 33, 0,143,199,203, 53,106,149,167, 84, 28,217,231, 40, 77,211, 87,253,204, 96, 25, 0,156,242, +181, 11, 89,150,101,150,174,218,146,198, 23, 59, 86, 56, 25,162, 89,175,146,178, 44,107,247, 90,135,242,140,232,134,175,234,254, +102, 8,153,223,162,117,251, 47,205,102,147,190,236,254,208, 3,208, 19,130, 98, 14,135,185,200,101,205,167,149, 47,209,152, 98, + 24, 56, 17,134, 7, 71, 9, 15, 12, 24,168, 21, 37,164, 38, 57, 89, 21, 26,226,130,132, 56,109, 65,183, 58, 39,141,123, 34,206, +159, 57,241,150,213,106,173, 87, 22, 51, 72, 53,232, 52,123,213,185,174, 91,129, 91, 22,252,251, 57, 94,110,182,152,191,248,139, +236,234, 70,249, 59,105, 6,215,151, 12,174, 93,203, 59, 34, 53,173,224, 70,114,166,118, 43,158, 94, 86,231,101,202,201,245,246, +246,254,138, 97,152,119,132, 66,161,131,209,104,212, 16, 66,182,229,231,231, 47,192,115,139,255,134,241, 37, 94,186, 8,161, 88, + 58,199,164,215,252,174, 45, 72, 24, 85,221,190, 75, 61, 27,245, 22,203,100, 51,244, 58,205, 54,109,126,194,150, 87,124, 60,157, + 69, 34, 81,152,131,131, 3,191,168,168,232, 58, 0,197,223,233,188,183,104,209, 34,128,195,225,212, 99, 89,214, 27,128, 51,108, +163, 66,138,120, 60, 94,118, 89, 68,139,212, 84,179,243,123,123, 61, 94,123,189,217,167,145,151, 30,174, 40,235, 86,124, 76,173, +225,203,197,239,244,235,241,217,214, 3,135, 43, 26,117,248,143,187,230,255,255, 52,187,241, 28,124,139,198,112,132,206, 11, 95, + 11,214,107,139,114,178, 39, 95,190, 91,120, 29,128,234,101,202, 41, 16, 8, 70,155, 76, 38,137, 64, 32,208,153, 76,166, 29,127, +151,125,151,120, 5,143,229,128,216,189, 50, 5, 11,230,214, 51,131, 86,254, 45,215, 18, 55, 36, 36,164,139, 64, 32, 8,176, 90, +173, 82,163,209,168,213,233,116,169,105,105,105,191,163,242,133,207,255,210,114,202,188,130,126, 20, 8, 68, 31, 3,128,201,100, + 88,169, 41, 72,252,180,170,127,172,226,243,255,232,115,228, 81,175,117, 34,143,203,247, 68,217,196,220,172,197, 82,152,159,114, + 51,232,127, 88, 78,202, 11,158, 92,170, 73, 53,169, 38,213,124, 22, 14, 61,158, 84,243,127,169, 41,246,109,226, 47,246,109, 98, +247,164,203,149,124,158, 30, 79, 74, 57, 19, 42,120, 1,176, 99,194, 82, 10,133, 66,249, 11, 96,233, 33,160,252, 47,209,231,198, +103,254,149,159,167,252,231,168, 52, 39,154,169,194,149,214, 36, 36,248, 34,206,246, 44,213,164,154, 84,147,106, 82, 77,170, 73, + 53,255,115,154,213,105,255, 19,187, 36, 39, 60,179,125, 28,192,255, 75,194, 63, 13,171, 82, 77,170, 73, 53,169, 38,213,164,154, + 84,243,191,198, 99,227,197,161,199,130, 66,161, 80, 40, 20, 10,229,175,129,230,104, 81, 40, 20, 10,133, 66,161,188, 28, 21,117, + 29, 82,163, 69,161, 80, 40, 20, 10,133,242, 10,168, 52, 25,158,118, 29, 82, 40, 20, 10,133, 66,161,188, 28,229, 17, 45, 95, 60, + 51,189, 3, 53, 90, 20, 10,133, 66,161, 80, 40,175,134, 92, 84, 20,221, 58,118,236, 24,169,232,119, 10,133, 66,161, 80, 40,148, +255, 15,254,225, 94,228,201, 72,214,132,178,109, 0, 79, 68,180,168,193,162, 80, 40, 20, 10,133,242,119, 49, 91,255, 48,202, 35, + 89,229,175,220,231,140,214,128, 1, 3, 24,106,182, 40, 20, 10,133, 66,161,252,175,248, 55,122, 17,206,179, 59, 72, 79, 51,133, + 66,161, 80, 40,148,255,165,217,250, 55,237, 15,157,222,129, 66,161, 80, 40, 20, 10,229,229,240, 5,208,255,137,237,255,183, 37, +120, 40, 20, 10,133, 66,161, 80,254,237, 76,168,108,155, 70,180, 40, 20, 10,133, 66,161, 80, 94,189,217,162, 80, 40, 20, 10,133, + 66,161,252,147,161, 43,155, 83, 77,170, 73, 53,169, 38,213,164,154, 84,243,223, 78,249, 60, 90, 64,101,243,104, 81, 40, 20, 10, +133, 66,161, 80, 94,136,254,176,205,159, 53,161,236,103,127,106,180, 40, 20, 10,133, 66,161, 80, 94, 45,207, 45,191, 67,141, 22, +133, 66,161, 80, 40, 20,202,171, 53, 88, 27,168,209,162, 80, 40, 20, 10,133, 66,249,139,161, 70,139, 66,161, 80, 40, 20, 10,229, + 47,130, 65,229, 35, 7,206,214, 64,231, 69, 70, 31,156,165,154, 84,147,106, 82, 77,170, 73, 53,169,230,127, 78,179, 58,237,179, +248,231, 81, 62, 51,252,113,252,153, 8,191,225,255,227,139,233,208, 87,170, 73, 53,169, 38,213,164,154, 84,147,106,254,219,153, +240,204,207,199,208,174, 67, 10,133, 66,161, 80, 40,148, 87,107,182,232, 18, 60, 20, 10,133, 66,161, 80, 40,175,136, 74,187, 9, +105, 68,139, 66,161, 80, 40, 20, 10,229,229,168,116, 81,105,106,180, 40, 20, 10,133, 66,161, 80,254, 26,195, 69,141, 22,133, 66, +161, 80, 40, 20,202, 43, 52, 89, 19, 42,252,235,177, 99,199, 8, 61, 70, 20, 10,133, 66,161, 80,254, 87,252,107,189, 72,249,142, + 81,179, 69,161, 80, 40, 20, 10,133,122,145, 26,227,139, 63, 71, 27, 78, 40,219, 6, 64, 71, 29, 82, 40, 20, 10,133, 66,161,188, + 44,253,241,244,200,195, 9,229,219,212,104, 81, 40, 20, 10,133, 66,161,188, 60, 19,170,252, 43,237, 54,164, 80, 40, 20, 10,133, +242,191,228,223,232, 69, 24,122, 90, 41, 20, 10,133, 66,161, 80, 94,138,138,162, 89, 27,232, 97,161, 80, 40, 20, 10,133, 66,249, +107, 13, 23,133, 66,161, 80, 40, 20, 10,229,175, 48, 89,127,245,132,165,116,101,115,170, 73, 53,169, 38,213,164,154, 84,147,106, +254, 87, 76,214,147, 83, 60, 0,160,163, 14, 41, 20, 10,133, 66,161, 80, 94, 22,186,168, 52,133, 66,161, 80, 40, 20,202, 95, 4, + 93, 84,154, 66,161, 80, 40, 20, 10,229,255,217,112, 81,163, 69,161, 80, 40, 20, 10,133,242, 10, 77,214, 83,102,139,230,104, 81, + 40, 20, 10,133, 66,161,188, 28,149,230,104, 49,168,124,228,192,217, 26,124,193,139,140, 62, 56, 75, 53,169, 38,213,164,154, 84, +147,106, 82,205,255,156,102,117,218,103,241,207,103, 2,254,159, 38, 44,165, 67, 95,169, 38,213,164,154, 84,147,106, 82, 77,170, +249, 95,131, 78,239, 64,161, 80, 40, 20, 10,133,242,170,141,213,179, 80,163, 69,161, 80, 40, 20, 10,133,242,114,208,121,180, 40, + 20, 10,133, 66,161, 80,254, 34,124, 97,139,106,149,255, 12,163, 70,139, 66,161, 80, 40, 20, 10,229,213,208, 31,182,168, 86,249, + 79,106,180, 40, 20, 10,133, 66,161, 80, 94, 33, 21,206,163,197, 0,192,177, 99,199, 72,217,118,247, 1, 3, 6, 92,164,199,138, + 66,161, 80, 40, 20,202,255, 39,255, 86, 47,242, 56,162, 53, 96,192, 0, 6, 64, 20, 61,213, 20, 10,133, 66,161, 80,254, 23,252, + 27,189, 8,231, 25, 39,217,157,158,102, 10,133, 66,161, 80, 40,255, 11,254,141, 94,132,247,140,139,164, 80, 40, 20, 10,133, 66, +249,159,240, 15,246, 34,190,176, 37,194, 31, 47,251, 9,148, 77,249, 64,231,209,162, 80, 40, 20, 10,133, 66,121, 57,202, 71, 27, + 62,183,244, 14,141, 98, 81, 40, 20, 10,133, 66,161,188, 28, 21,205, 12,191,129, 30, 22, 10,133, 66,161, 80, 40,148,191, 16, 26, +209,162, 80, 40, 20, 10,133, 66,121,121,158,140,106,253,191, 69,179,232,202,230, 84,147,106, 82, 77,170, 73, 53,169, 38,213,252, + 47,153,172,167,182,233,204,240, 20, 10,133, 66,161, 80, 40,127, 17,116,212, 33,133, 66,161, 80, 40, 20,202,203, 81, 62,226,240, +201,109,106,180, 40, 20, 10,133, 66,161, 80, 94,161,217,122, 14,218,117, 72,161, 80, 40, 20, 10,133,242,114, 76,168,236, 15,212, +104, 81, 40, 20, 10,133, 66,161,252, 69,134,139, 65,229, 35, 7,206,214, 64,248, 69, 70, 31,156,165,154, 84,147,106, 82, 77,170, + 73, 53,169,230,127, 78,179, 58,237,179,248,231,241, 63,155,176,148, 14,125,165,154, 84,147,106, 82, 77,170, 73, 53,169,230,127, + 22,218,117, 72,161, 80, 40, 20, 10,133,242, 55, 48, 90,158, 60, 30,239, 75,137, 68,178, 78, 34,145,252,204,227,241,126, 0,224, + 90,211, 47,148,201,100, 83,125,124,124, 30,248,248,248,100, 5, 4, 4,156,112,116,148,126,210, 64,132,174, 0,248,175,104,127, +130, 1,124, 34,145, 72,226,197, 98,113, 26,128,237, 0, 62, 1,224,241, 50,194, 11,252, 48,236,222,199,131, 15, 45,240,195,176, +103,254,212,223,219,219,251, 50,128,222,175,234,164,140,144,162,215,112, 25, 50,134,203,144, 49, 66,250,226,173, 6, 71, 71,199, +119,124,125,125,175,185,187,187,103,251,250,250, 94, 21,139,197,195,107, 40,225,229,237,237,253,189,191,191,127,130,159,159,223, + 10,216, 86, 39,255,219,210, 69,132, 46,237, 69, 40,236, 32,132,170,147, 16,235, 58, 8,241,250,235,128,244, 5,229, 58, 3,216, +231,228,228,116,155,199,227, 29, 3, 48,180,236,250, 26,202,227,241,142, 57, 57, 57,221, 6,176,175,236,115, 47,114,157,126, 15, + 32, 27,192,183,101,219, 31,249,251,251,171, 66, 67, 67,211, 66, 67, 67,127, 13, 12, 12,124,215, 94, 49,169, 84,250,186,191,191, +255,254,128,128,128,180, 14, 29, 58,148,212,170, 85,235, 97,237,218,181,183,136, 68,162,238,180,138,163, 80, 40,148,191, 63, 3, + 1, 44, 6,176, 58, 54, 54, 54,154, 16, 18, 77, 8,137,142,141,141,141, 6,176, 14,192, 18, 84, 30, 66,124,234,125,119,119,247, +249, 11, 23, 46,212,231,230,230,146,194,194, 66,146,144,144, 64,126,156, 51,131,237,227,198, 35, 13, 60, 93,181,190,190,190, 73, +117,106,215,222,213,204,129, 51, 3, 64, 67,123, 52,159,192, 85, 34,145, 92,159, 51,103,142,250,242,229,203,106,163,209,168,102, + 89, 86,157,147,147,163, 62,123,246,172,186, 83,167, 78,106, 0,159, 2,224,214, 64,243, 49,223,248,225, 34,217,244, 21,249,198, + 15, 23,159,124,191,113,227,198,247, 89,150, 37,195,134, 13, 51, 0,168, 85, 19,205,103,169, 5,136,155, 57,193,101,184, 3,242, + 45, 91, 22, 16,178,118, 58, 25, 46, 67,198,139,104,122,121,121, 29,158, 58,117,170, 50, 59, 59,155, 24, 12, 6,146,145,145, 65, + 38, 78,156,168,240,242,242,218, 97,231,190,187,135,132,132,228, 95,187,118,141,149,203,229, 36, 42, 42,138,109,222,188,121,190, +157,102,171,215, 51,101,217,224,231,231,119,162, 38, 47, 47, 47,175,141, 53, 61, 71,237, 68,200, 48, 69, 95, 32,228,102, 36, 57, + 50,172, 3,249,177,117,109, 50,212, 77, 40,239, 44,196, 71,221, 42,158,202,164, 50,205,183,186,117,235,166,185,123,247,174,181, +184,184,152,220,191,127,159, 29, 63,126,188, 30, 64,220,248,241,227,245,247,239,223,103,139,139,139,201,221,187,119,173,221,186, +117,211, 0, 24, 87,131,114,114, 0,108,158, 55,111, 30, 33,132,144,133, 11, 23,146,208,208, 80,210,179,103, 79,162, 86,171, 9, + 33, 36,141, 16,242,171,197, 98, 25, 99,143,166,179,179,243, 59, 83,167, 78, 85,107,181, 90, 82, 14,203,178, 68, 46,151,147,213, +171, 87,107,124,124,124, 78, 84,210,200,160, 93, 30, 84,147,106, 82,205,191,155,230, 63, 25, 95,216,242,180,202, 95,118, 7, 38, + 70,206,152, 49,163,220, 84,157,236,220,185,243,141, 49, 99,198, 68,143, 25, 51, 38,186,115,231,206, 81, 0, 78,223,186,117, 43, +250,139, 47,190,136, 6, 48,178,154, 19,225,218,177, 99, 71,121, 94, 94, 30, 9, 10, 10, 34,117,235,214, 37,121,121,121,132, 16, + 66,110,190,213,138,156,107, 2,146,121,233, 36,137, 60,184,143,140,247,229,145, 46,190,206,102, 95, 31,159, 98, 15, 15,143, 69, +120,122, 77,198,138, 78,238,155, 77,154, 52, 81,197,197,197,169, 19, 19, 19,213,243,231,207, 87,247,236,217, 83, 29, 18, 18,162, + 30, 58,116,168,122,213,170, 85,106,147,201,164,222,184,113,163,218,201,201, 41,174, 2,179,245,194, 70,139,199,227,173,140,141, +141, 37, 73, 73, 73,164, 44, 74, 81,153,166,179,139,139, 75, 95, 87, 87,215, 79, 93, 92, 92,250, 2,112, 6,128, 32,192,161,133, + 51, 2, 62,106,209,160,241,177,145,189, 26,174,238,213,166,213,112, 71,142,220,188,102, 58, 33,195, 2, 94,200,104, 57, 59, 59, +191,243,201, 39,159,168, 12, 6, 3,209,106,181, 68,173, 86, 19,173, 86, 75, 84, 42, 21, 25, 57,114,164, 82, 44, 22,191, 89,157, +166,135,135,199,130, 75,151, 46, 89,242,242,242,200,165, 75,151,200,137, 19, 39,200,218,181,107, 89, 47, 47,175,229, 53,189, 1, +125,124,124,206, 68, 70, 70, 70,199,196,196, 68, 95,191,126, 61,218,108, 54, 71,155, 76,166,104,147,201, 20,125,236,216,177,232, + 3, 7, 14, 68,239,222,189, 59,218,104, 52, 70, 27,141,198,104,131,193, 16, 93,191,126,253, 83, 53, 61, 71,109, 69,200, 52, 94, + 62, 66,200,242, 15,137,226,187,201, 68, 62,173, 31, 41,152,216,149,172,107, 83,155,116,149,224, 40,158, 95,219,179, 66, 77, 62, +159,127, 49, 45, 45,141,157, 53,107,150,177,105,211,166,138,247,223,127, 95,111, 48, 24, 8, 33,132, 24, 12, 6,242,254,251,239, +235,155, 54,109,170,152, 53,107,150, 49, 53, 53,149,229,241,120,103,107, 80,206, 37,229, 38,235,226,197,139,228, 73,212,106, 53, +233,217,179,103, 90,104,104,232,175,245,234,213, 27, 85,157,166,131,131,195,224,153, 51,103,170, 73, 5,152,205,102,162, 82,169, + 72,106,106, 42, 91,183,110,221, 28, 0,238,180, 50,167,154, 84,147,106, 82,163,245,151, 49,161,154,237,138, 15,226, 23, 95,124, + 17, 77, 8,137,158, 61,123,118,116, 89,100, 75, 0,192,161,236,197, 3, 48, 98,230,204,153,209,132,144,232, 25, 51,102,148,127, +166,178, 19, 49,112,239,222,189,166, 21, 43, 86, 16,111,111,111,226,227,227, 67, 86,174, 92, 73, 88,150, 37,121,199,118,144,115, + 77, 64,226,191,140, 32,132, 16,146,176,104, 10, 57,215, 4, 36,121,253, 55,100,244,232,209, 90,169, 84, 58,178,138,147,235,214, +170, 85, 43,149, 78,167, 83,111,217,178, 69, 45,149, 74,111, 2,104, 10, 91, 87, 36, 83, 86,214,119,155, 54,109,170,188,119,239, +158,122,231,206,157,106, 0,243,237,188, 96, 26, 2,232, 33,147,201,134,206,172,197, 79, 36,155,190, 34, 51,189,113, 23, 64,115, + 0,158,101,159,241,155, 49, 99, 6, 33,132, 16,127,127,255, 75,149,104, 58,135,132,132,204, 72, 76, 76,156,107, 54,155,231,198, +196,196,204,109,212,168,209,172, 65,245,125, 59, 28, 26,249,122,152,226,155,201, 97,100,217,180,144, 31,222,104,219,107, 87,120, +247,145,239,213,243,184,252,190,151, 88,251,182, 51, 87,245, 76,215,161, 93, 23,118,173, 90,181,174,103,100,100, 60, 54, 87, 42, +149,138,100,103,103,147,148,148, 20,114,249,242,101,226,235,235,123,174, 58, 77, 31, 31,159,251, 25, 25, 25,100,253,143, 63,146, + 97,205, 27,147,174, 46,142,164,155,171, 35,105,237, 32,214, 52, 1, 90,215,212,104,221,190,125, 59, 26, 64, 52,128,232,226,226, +226,232,226,226,226,232,210,210,210,199,239, 1,136, 86, 40, 20,209, 10,133, 34,218,104, 52, 70, 55,104,208,160,198, 70,171,147, + 24,157,218,137, 81,210, 65, 4,221,192, 90, 30, 57,147,235,123, 88,255, 24,217,129,148,126,216,147,172, 8,171, 69, 58, 11,241, +145,157,154, 3,133, 66, 97, 20,128,233,101,166, 60,162,111,223,190, 90, 66, 8,233,219,183,175, 22, 64, 68,217,251,159,148,153, +172,190,118,150,147, 19, 24, 24,168, 41,143,100, 1,248, 61, 48, 48, 80, 19, 26, 26, 74, 66, 67, 67,137,191,191,191,170, 76,219, +174, 10,173, 97,195,134, 9, 58,157,238,177, 1,148,203,229, 36, 39, 39,135, 36, 39, 39,147,184,184, 56,114,243,230, 77,146,150, +150, 70,246,236,217, 99,117,113,113, 57, 78, 43,115,170, 73, 53,169, 38, 53, 90,127,169,209,122,246,245, 52,199,142, 29, 35,207, +188,245,221,173, 91,183,162,103,206,156, 25, 93,141, 51,155, 48,123,246,236,242,168,215,226, 42, 30,254, 27, 19, 18, 18, 72, 68, + 68, 4, 9, 14, 14, 38,193,193,193,100,204,152, 49, 68,161, 80, 16,245,163,123,228, 92, 19,144,155,111,183, 38,132, 16,162,138, +143, 33,231,154,128, 68,143,238, 72,238,220,185, 67,106,215,174, 29, 89,197,247, 31,189,122,245,106,225,142, 29, 59,242, 96,203, +199,226, 3,104, 15, 96,165, 68, 34,217, 12, 91,119, 97, 93, 0,174, 65, 65, 65, 37, 90,173, 86, 61,108,216, 48, 53,128,128, 42, + 52,187, 5, 7, 7, 39,109,220,184,145, 20, 20, 20,144,146,146, 18,178,180, 83, 35, 66, 54,125, 69, 22,182,174,203,174, 95,191, +222, 48,125,250,116,141,155,155,219, 49, 0,126,195,134, 13,179, 16, 66, 72,215,174, 93,243, 43, 18,115,113,113,233,155,152,152, + 56, 87,175,215,207,149,203,229,115, 75, 74, 74,230, 30, 57,116,104,110,159,230,141, 34, 20,223, 76, 14, 59, 52,242,245,176, 55, +106,185, 14, 93,222,187,205,164,236, 89,227,134,205,238,216, 52, 94,191,228,227, 11,111,213,247,254,254, 69,206,182,167,167,103, +174,193, 96, 32, 0,158,123, 37, 37, 37, 17,119,119,247,140,234, 52,220,220,220,102,127, 50, 34,220,250,102,221, 90, 36,105,197, + 28, 98, 62,179,147,152, 79,108, 33,143,190,155, 70, 6,249,120, 40,219, 11, 56, 51,237, 45,143,143,143,207,153,235,215,175, 63, +101,180, 74, 75, 75, 43, 52, 90, 74,165, 50,218,104, 52, 70, 7, 6, 6,158,122,217,171,190,189, 16, 13,186, 73,184, 55, 99, 34, +186,144,194,201, 61, 73, 95,103,126,218, 75,200,141, 0, 16, 5, 96,116, 13,255,143, 3, 96, 73,185,161,250,238,187,239, 8, 33, +132, 4, 6, 6,106,240,114,131, 81,156, 27, 55,110,156, 50,110,220, 56, 75,147, 38, 77, 10, 58,117,234, 36,191,113,227, 6,185, +120,241, 34, 57,113,226, 4,217,183,111, 31,185,119,239, 30,201,206,206, 38, 9, 9, 9,164,127,255,254,114, 0,221,104, 93, 72, +161, 80,254,206, 84,224, 69,254,241,112,202,119,108,192,128, 1,204, 19, 59,232, 12, 64,220,186,117,235,194, 37, 75,150, 44,131, +109, 46, 8, 38,132,139,183,122, 74,120,119,122, 74,120,119, 66,184,120,171, 44, 98,180, 97,209,162, 69, 11, 66, 67, 67,115, 1, + 72, 0,248, 84,244, 69,132,144, 46,238,238,238,200,200,200,128,179,179, 51,156,157,157,145,145,145, 1, 66, 8, 44, 4, 48, 19, +192, 96, 50, 65,167,211, 65,207, 18,232, 88, 64,169, 86,195,199,199, 7, 38,147,169, 65, 37,229,111,241,246,219,111, 55, 8, 9, + 9, 41,252,226,139, 47,114, 96,203,149,217, 60,118,236,216, 51,191,255,254,123,136, 90,173, 46,137,139,139,211, 55,111,222,188, + 47, 0,159,196,196,196,119, 86,175, 94,141,136,136, 8, 84,241,208,105,222,191,127,255, 19,247,238,221,107, 48,122,244,104, 68, + 69, 69, 97,233,210,165, 40, 42, 42, 34, 0, 96, 48, 24,136,213,106, 53,117,236,216,209,180, 98,197,138,182, 93,187,118,189, 94, +191,126,125, 46, 0,164,164,164, 60,170, 72,144, 97,152, 70,117,234,212,129,193, 96, 64, 97, 97, 33,238,221,187, 7, 71,103,103, +196,230, 20,121,119, 95,190,190,248,203, 67,103,248, 35,218,134,184,125,250,122, 39,195,183,145, 81, 65, 77,253,188,189,141, 38, +179, 79, 66,110,126,206,139,156, 84,129, 64,144, 81, 84, 84, 4,163,209, 8,157, 78, 7,165, 82,137,226,226, 98, 20, 21, 21, 33, + 39, 39, 7, 2,129, 32,169, 58, 13,167,146,146, 75, 41, 87, 47, 50,123,126,250, 14, 13, 44, 37,224,237, 95, 9,222,225,117,104, +104, 44,196,207,115, 38, 58, 26,221, 61,231, 57, 57, 58,150,186,184,184,108, 0, 16, 88,157, 94, 88, 88, 24,138,139,139, 81, 92, + 92, 12,119,119,119,184,186,186,194,213,213, 21,114,185, 28, 10,133, 2, 74,165, 18, 65, 65, 65,104,209,162, 5,182,109,219,246, + 74, 46,238, 63,140, 72,182,192, 58,249,204,195, 28, 8,100, 50,212,119,117,168,211,198, 1,110, 85,252, 75, 79, 62,159,191,215, +205,205, 45, 18,192,135, 0,100, 0, 62,116,115,115,139,228,243,249, 67, 0, 44, 4,176,163,134,197,248,118,222,188,121, 51, 18, + 19, 19,165,119,238,220,193, 23, 95,124,129,249,243,231,227,209,163, 71,107, 0,176,101,159,249,192,221,221,253, 24,135,195,249, + 5, 64, 63, 0,125,125,125,125, 95,171, 70,119,200,244,233,211,245,173, 90,181, 74,136,143,143, 31,114,245,234,213,214,211,166, + 77, 83,164,167,167, 35, 33, 33, 1,190,190,190,240,247,247,135, 90,173, 70,105,105, 41,134, 12, 25,226,236,228,228, 52,146, 86, +227, 20, 10,229,239,108,178,158,241, 34,255,180,136, 86,133,219, 21,182,168,165, 82,233,188,232,232,232, 14,161,161,161, 60, 0, +123, 0, 32,132,139,225, 67, 58,182,220,124,104,195,119,161, 7, 86,204, 9,237, 19, 26,180, 57,132,139,242, 81,108,199, 90,183, +110,237, 26, 29, 29,221, 81, 36, 18,125, 84, 73, 33, 8, 0,184,186,186,194,217,217, 25, 46, 46, 46,112,117,117, 5,203,178, 80, +107,245,208, 88, 1,149,222, 8,133, 66, 1, 85,217,182,218, 96,130, 70,163,121,252,191, 21,208,125,220,184,113,133,171, 87,175, + 46,200,205,205,253, 14, 64,243,136,136,136,193,171, 86,173,194,249,243,231,245,253,130, 27,186, 47,234,210,114, 65,211,220, 71, +115,131,249, 24, 15,224,210,165, 75,151,208,177, 99, 71, 48, 12, 19, 94,145,160, 68, 34, 89,183,107,215, 46, 73, 92, 92, 28, 26, + 54,108, 24, 23, 30, 30,254,214,119,223,125,215, 64,166, 46,185, 2, 0,150,226,188,184, 41, 83,166,124,181,104,209,162,194,194, +194, 66,147, 86,171,245, 26, 52,104, 16, 50, 50, 50,144,157,157,253,123, 37, 38, 51, 33, 38, 38,134, 40, 20, 10, 36, 39, 39, 35, + 38, 38, 70,242,213, 87, 95,181,181,114, 56,131,179,224,248, 94, 68,167,214,109, 71,183,111,137, 29,215,238, 8, 46, 63, 76,113, +105, 93,183,150,235,237,204,220,122,102, 6, 73, 47,114,182, 85, 42,213,202, 5, 11, 22,168,213,106, 53,178,178,178,112,247,238, + 93,196,199,199, 35, 45, 45, 13, 75,151, 46, 85,151,148,148,172,170, 78,195, 79,204,251,236,251,105, 99, 25,222,253,223,129, 59, + 23, 1,173, 10,208,169, 97,120, 16,141, 95, 31,228, 97,237,254,131,194,244,140, 12,151,221,187,119,143, 11, 8, 8,136, 6, 16, + 84,149, 30, 33,182, 83,200,225,112,158, 53,161,224,112, 56, 42, 0,121, 50,153, 44,211,209,209, 49,147,195,225,228, 17, 66, 52, +175,164, 37, 97,129, 9, 92, 46, 32,148,128,195,175,114,105,207,183,194,195,195,119,101,102,102,246, 73, 78, 78,238,176,106,213, +170, 5, 98,177, 56,118,213,170, 85, 11,146,147,147, 59,100,102,102,246, 9, 15, 15,223, 5,224,221,154,124,127, 96, 96,224,148, +185,115,231, 98,233,210,165,104,209,162, 5,130,130,130,180,243,230,205, 91, 9, 96, 14,128,143, 2, 3, 3,175, 76,153, 50,229, +253,130,130, 2,159,172,172,172, 22,107,214,172,153,184,114,229,202, 54, 57, 57, 57,226,106,164, 59,247,238,221, 27, 39, 79,158, + 4,128, 92, 0,201,197,197,197,150,156,156, 28, 52,110,220, 24,109,219,182,133, 90,173,134, 90,173,134, 92, 46, 71,157, 58,117, +192,178,108, 7, 90,149, 83, 40, 20,202,255,171,225,170,216,104,137,197, 98,215,176,176, 48,212,175, 95,223, 21,101,163,181,220, +133,188, 89,159,142, 27, 33,117,136, 62, 5, 38,230, 28,194,187, 52,147,186, 11,121,179,202,254,133, 87,167, 78, 29, 81, 88, 88, + 24,100, 50, 89,173, 74,190, 60, 42, 47, 47, 15, 97, 97, 97,112,113,113,129,179,179, 51,194,194,194, 96, 50,153,160, 80,169,160, +177, 2, 90, 51, 11,133, 66,129,146,194,124,104,173,128,197,209, 29,105,105,105,224,114,185, 41,149,104,250, 54,108,216,176, 48, + 54, 54,182, 16,192, 37, 0,147,230,207,159,143,153, 51,103,226,235,175,191,222, 37,205, 77,237,189,235,228, 97,247,223,230,125, +224, 25, 36,100, 70, 0, 48,101,102,102,194,197,197, 5, 50,153,172, 66, 99,208,181,107,215, 86, 50,153, 12, 91,182,108, 33, 89, + 89, 89,157, 96, 27,194,159,194, 48, 54,179, 39,225, 64, 1, 96,101,116,116,116,187,175,190,250,234, 97,175, 94,189,248,237,219, +183,199,194,133, 11, 1,224, 88, 69,154,114,185,252,143,119,223,125,215,120,225,194, 5, 60,120,240, 64,118,232,208,161,225, 11, + 23, 46,108,150,158,158, 46, 58,122,226,212, 27,219, 51,149,195,191,139,188, 44, 94,116, 58,234, 15, 15, 39, 89,211,122, 30,110, +136, 73,207, 22, 88,185,184, 81,221, 25,109,199,231,142,235, 46,230,197,116, 17,113,114,187,139,121,209,109,248,220,177, 42,149, +106,247,145, 35, 71, 78, 79,155, 54, 77, 93, 80, 80, 0, 71, 71, 71, 20, 23, 23,227,219,111,191, 85,199,196,196,236, 55, 26,141, + 71,171,211,181,178,164,149,127,221, 0, 32, 41,246,241,123, 38,150,224,134, 81,128, 1,147, 62, 70,112,227,198, 48, 26,141,104, +222,188, 57, 51,127,254,124,153,179,179,243,231,213,154, 30,206,115,151,155,133, 97,152, 60, 66, 72,182, 90,173,206,146, 72, 36, +233, 2,129, 32,189,164,164, 36,139, 16,146,255, 42,124, 22,225,224,179,142,205, 3, 1,145, 4,233,197,234,156,155,106,148, 84, +244, 65, 71, 71,199,177,107,215,174, 21,111,218,180,201, 60,101,202, 20,195,196,137, 19,249, 58,157,206,107,226,196,137,252, 41, + 83,166, 24, 54,109,218,100, 94,187,118,173,216,193,193, 97,232,139, 20,196,108, 54, 35, 54, 54,246,187, 71,143, 30,201, 96,155, +110,228,227,121,243,230, 69, 36, 38, 38,138, 87,175, 94,141,125,251,246, 97,223,190,125, 24, 60,120, 48,166, 78,157,138,185,115, +231, 86, 37, 39, 13, 13, 13, 13,115,119,119,199,197,139, 23,115, 0,164, 3,104,229,224,224,224, 56,120,240, 96,244,233,211, 7, +122,189, 30, 38,147,233,177,209,226,114,185,112,113,113,113,167,117, 32,133, 66,161,252,229, 38,235, 41,179,197, 3,128,242, 80, +221,128, 1, 3,152,170, 30,140,214,210, 2,200, 53, 90,164, 41,180,200, 40,101,159,250, 27,203,178, 85,126,123, 78, 78,206,209, +107,215,174,141, 13, 11, 11,227,229,228,216,122,196,194,194,194,160,213,106,145,115,231, 58, 52, 44, 32,107, 24, 2,141, 70,131, +210,248,219,112, 8,237, 0,247,254,163,177,124,245,106, 67,113,113,241, 79, 21,105, 10,133, 66,126,237,218,181, 11, 83, 82, 82, + 44, 0, 74,156,157,157,123, 7, 4, 4, 32, 42, 42, 10, 0,118, 16,224,123,196, 92, 0, 46, 30, 0,177,133, 84, 28,234,212,169, +131,130,130, 2,168,213,234,168,138, 52,175, 93,187,150,104, 54,155,155, 15, 26, 52,136,217,186,117,235, 30,165, 82,249, 53,128, +187, 6, 22,220, 59,153,249,208, 88, 33, 6,240,186,171,171,235, 39,115,231,206,125,109,202,148, 41, 56,114,228, 8, 34, 35, 35, + 77,176,229,130, 93,171, 64, 86,145,156,156,252,243,244,233,211,219,115, 56,156, 73,103,206,156,177, 4, 5, 5, 41, 77, 38,147, +181, 81,112, 48,231,235,249,223, 8, 62,156, 52,193,165, 88,139,251,125, 26,249,118,100, 24,224,126,118, 65,250, 35, 53,138,171, + 58,166, 93,133,220, 99, 67, 58,133,118, 29, 27, 62,208, 65,214,176, 41, 52,247,174,251,252,188,247,196,114, 73, 76,226,128,139, + 5, 5,131,143, 28, 57, 50, 60, 42, 42,234, 67,163,209, 88, 95, 36, 18, 37,201,229,242, 21,106,181,186, 90,147,197,229,114,251, + 27,124,107,187,202, 75, 74, 32, 46,139, 68, 41,205, 44,138, 12, 22, 60,112, 9,194,200,218,254,143,187, 65,243,242,242,224,227, +227,195, 88,173,214,129, 85,105, 70, 70, 70, 98,192,128, 1,229,198, 19, 12,195,128, 97,152,162,224,224,224,124,145, 72, 84, 44, + 16, 8,148,223,127,255,189, 94,175,215,131,199,227,137,173, 86, 43,247,101,174,246,182, 82,120,137, 8,179,110,226,160, 30,189, + 90, 52,109, 76, 46,221,188,195,148,106,245,191, 86, 17, 5, 92, 19, 24, 24,200, 43, 41, 41, 57, 10,224,129,217,108,254,109,207, +158, 61,226,119,222,121, 71,191,119,239,222, 81, 0, 26, 44, 91,182,108,184, 90,173,174,209,146, 10,143, 30, 61, 90,179,104,209, +162, 25,179,103,207,198,182,109,219,166, 60,122,244,104,102, 89,164,107,240,220,185,115,241,253,247,223, 99,219,182,109,236,131, + 7, 15, 78,176, 44,251,104,218,180,105,161,222,222,222, 69,185,185,185,143,170,144,109,221,183,111, 95,195,149, 43, 87,132, 42, +149,234, 50,128, 79, 38, 79,158, 60,174, 93,187,118,202,240,240,112,135,146,146, 18,185, 84, 42, 21,110,220,184,209,149,199,227, + 65,163,209,128, 97, 24,168, 84, 42, 35,173, 7, 41, 20,202,223,149,202,188,200, 63,132, 74,159, 13,188,138,118, 80,171,213,230, +103,100,100, 52,206,206,206,182, 0,176, 0, 64,177,209,178,120,209,198, 3,155,134,182, 15,148,229,154,205, 56,116, 51, 78, 91, +108,180,148, 39,191, 91,178,179,179, 85,233,233,233,142, 58,157, 78, 93,201,119,253,190,110,221, 58,221,133, 11, 23, 28,147,147, +147, 97,181, 90,209,170, 85, 43, 36, 36, 36,160,244, 65, 44,100,141, 91, 65,214,109, 0,226,162,111, 34, 38,242, 44, 82,213, 70, +203,195, 57,139, 20,106,141,102,174,201,100, 58, 84,145, 32,159,207, 47, 1, 64, 8, 33, 86, 0, 80, 42,149,119,213,106,117, 23, +111,111,111,220,191,127, 95,166,177, 98,234,240, 89,203, 87, 17, 66,172, 2,219,104,174, 79,195,195,195,113,235,214, 45, 0,184, + 85,145,166, 82,169,156, 50,126,252,248, 11, 91,182,108,225, 37, 39, 39,247,217,180,105, 83,159,135, 15, 31, 18,166, 36,195,122, + 69,203, 71,131,136,169,109,214,215, 9,142, 28, 48, 96, 0,124,125,125,177,113,227, 70,172, 88,177,194,252,193, 7, 31, 36,174, + 88,177,162, 77, 65, 65,193,111,149,236,191, 66, 46,151,159,114,119,119,255,176, 89,179,102, 42,141, 70,131,226,226, 98,228,228, +228,192,205,221,157, 99, 1,167,163,167,139,203,111, 71,243, 84, 50,222,169, 63,112, 61, 43,183,202,104, 86,123, 62,247,221,161, + 93, 91,118,253,104,246, 44, 7, 92, 57, 4,102,252, 92,144, 77, 11,240,241,152,225,142,122,195,111,221, 52,119,210,222,137, 86, + 42,183, 43,149,202,125, 53,188, 88,250,118,236,216,113,215,162, 69,139, 36, 95, 46, 93,132,101,141,107,193, 82, 92,140, 66,131, + 21, 69, 6, 11,148,165, 15,112,255,126, 28,220,221, 61,144,154,154, 10,189, 94,143,248,248,120,194,229,114,143, 86, 23,209, 41, +231,137,238, 66,185, 72, 36, 42,230,243,249,249, 60, 30,175, 36, 57, 57, 89,163,215,235,193,225,112,100, 86,171, 85, 98, 71, 89, +107,123,120,120, 76,131,109, 50,209, 35,170,162,162,149, 97,124,184,128,135,238,117, 60,220,223,152, 51,241, 29,143, 0, 63, 47, +121,114, 98,146,249,167,211, 87,139,244,134,202, 7,107, 0, 56, 86, 82, 82,242, 56, 34,185,119,239,222,143,247,238,221, 59, 14, +192,102,216,214,221, 58, 43,151,203,215,191,192,205, 55,103,255,254,253, 51,102,207,158, 13,137, 68,242,120,242, 84,137, 68, 34, + 6,128,157, 59,119,226,254,253,251,237, 80,150,175,197,178,236,174,220,220,220,234, 52, 27,132,132,132, 36, 31, 56,112, 64, 8, +192,111,242,228,201, 29, 86,173, 90,133, 49, 99,198, 20,198,197,197,181, 7,144, 2,160,193,164, 73,147,110,108,219,182,205,149, +101, 89,148,150,150,194,104, 52,166,208,170,156, 66,161, 80,179,245,151, 16, 6, 32, 6,182,249,179,250, 3, 56, 14, 91, 90, 71, +165,248,151,185,179,211, 0, 6,149, 63, 31, 43, 73,134, 7,108, 35,178, 78, 1,248, 5,128,119,101,162,238,238,238,159, 71, 68, + 68,152,179,178,178, 72, 94, 94, 30,217,183,111, 31,249,116,108,132,245,245,134,126,108, 67, 63,111,141,167,167,103,130,175,135, +219,175, 45,165,248, 20, 64,109, 59,118, 44,226,225,195,135, 19, 34, 34, 34,198,150,125,239,216, 93,187,118,169,207,156, 57,163, +230,114,185,199, 96,155,218,161,220, 80,190, 59,112,224, 64,181,193, 96, 80, 7, 7, 7,151,192,150,184, 95, 25,195,187,119,239, + 94,122,242,228, 73, 98,181, 90,159,155,163,168,176,176,144, 68, 70, 70,146, 78,157, 58,201, 1,188,243,218,107,175, 69, 93,189, +122, 53,170,115,231,206,251,171, 43,176,135,135,199,172, 59,119,238,220, 74, 75, 75,139, 62,126,252,120,244,111,191,253, 22, 61, +105,210,164,187,161,161,161,186,196,196, 68,214, 98,177,144, 59,183,111,147,224, 70,141, 52, 0,234, 84,166,211, 83,194,187,161, +220,184,128,232, 23,142, 33,250, 33,254, 4, 0, 81, 45,255,156,228, 79,233, 69, 18, 62,124,131,244, 16,115,175,189,200,149,226, +230,230,118,250,214,173, 91, 68,165, 82,145,123,247,238,145,119, 7,244, 33,215,198,245, 34,167,250, 4,146,109,221,234,145,229, +189, 67, 73,159,110, 93,200,186,117,235,200,129, 3, 7,200,172, 89,179, 88, 15, 15, 15, 21,170,200,209,242,241,241, 57,179,103, +207,158,104, 0,209, 92, 46, 55, 90,169, 84, 70,171, 84,170,163,153,153,153,107,131,131,131,103, 52,107,214,108, 84,227,198,141, +123,246,168, 87,103,198,107,142,162,132, 94, 78,226,164, 70, 14,210,229,120,126,222,171,199, 56, 3,117, 26, 54,104,160,186,120, +241, 34,107, 48, 24,200,229,203,151,217, 38,141,130,244,203,222,238,187, 63,117,227,146,253,250,147, 91, 79,107, 15,111,184,186, +247,189, 1,177,221,165,156,173, 29,100,143,167,227,120, 81, 70, 0, 56,132, 63, 71, 29, 70, 0, 56,140,170, 71, 33,114, 0,108, + 94,184,112,225,147, 35, 13, 1,128, 19, 26, 26, 26, 77, 8,137, 14, 13, 13,141,174,105, 65,164, 82,233,180, 35, 71,142,204, 11, + 8, 8, 88, 26, 30, 30,190, 81, 46,151, 31, 31, 53,106, 84, 44,108,131, 65, 24,216, 86, 71, 24, 88,187,118,237,194,152,152, 24, + 18, 21, 21, 69,134, 13, 27,166, 18, 8, 4,163,105, 53, 78,161, 80, 40,127, 9, 19, 42,249, 89, 37,139, 98, 99, 99,203,231,208, +154, 92,149,248,204,153, 51,163,111,221,186, 21, 13,219, 44,241, 85,194,227,241, 14,126,240,193, 7,196,219,219, 91,237,229,229, +117,144,207,229,142,243,151, 32, 12, 47, 54,212,189,203,246,237,219, 7,175, 89,179,166, 63,128,118, 0,248,181,106,213,202,201, +203,203, 83, 95,189,122, 85,221,169, 83, 39,181,135,135, 71, 65, 72, 72,136,122,217,178,101,106,179,217,172,158, 54,109,154, 26, +207,207,247, 85, 17, 98, 0, 31, 10,133,194,131, 77,154, 52,137,157, 51,168,167,121,233,212,113, 36, 34,208, 83, 13, 96, 13,128, + 15, 0,184, 0,224, 15, 31, 62,252, 92,124,124,252,233,144,144,144,255, 99,239,186,195,162, 58,214,247,123,206,158,237,187,176, +212,101,233, 42, 69, 69, 65,197, 26, 11,246,142,189,196, 30,141,229, 26,189, 26, 19, 53,182, 32, 24, 53,106, 98,140, 73, 76,212, + 24, 81,209,136, 5, 75,176,163, 70, 52, 86, 44, 8,138,130, 32, 77,202,210,150,133,101,217, 62,191, 63, 20, 46, 49,148,197, 36, +191,155,228,238,251, 60,251,176,236,206,121,119,102,206,204, 57,239,249,230,155,239,219, 97, 6,175, 75,235,214,173, 47, 29, 60, +120, 48, 46, 42, 42,234,238,146, 37, 75,226,236,237,237,179,147,147,147, 77,149,149,149,164,164,164,132, 40, 20, 10,114,234,212, + 41,163,157,157,221,215,117, 54,156,199,202, 37,231,247,215, 26,194, 33,107,229,100,210,141, 75,191,120,147,145, 34, 18,137,138, +139,138,138, 72, 94, 94, 30, 73, 77, 77, 37, 71,143, 30, 37,131,186,118, 34,145,255, 26, 77,246,191, 59,130,124, 54,168, 19,233, +108,197, 87,201,172,196,113, 86, 86, 86,114,115,118, 29,202,100,178, 11, 26,141,166, 58,124,131,155,155,219,221, 22, 45, 90, 68, + 5, 4, 4,124,113,242,228,201,133, 91,182,108, 25,209,187,169,231, 71,235, 7,118, 85, 87,196, 28, 38,101,135,190, 33,203,218, +251, 86,190, 18,243,181,194,213,222, 46,226,202,207, 63,155,170,196,175,193, 96, 32,199,143, 29, 35,227, 7,247,143, 47, 61,251, +227,247, 87, 87,207, 63,248, 65,123,223,227,221,248,152, 80,159, 96,171,126, 20, 17,195, 62,200,154,222, 54,196,195, 46,183,135, +132,254,166,139,213,175,210, 75,141,247,245,245, 77, 37,132,228,182,108,217, 50, 21,192,254,150, 45, 91,214,252,127,122, 29,180, +213,193, 73, 67,137,255,220,133, 0, 0, 32, 0, 73, 68, 65, 84, 67, 67,201,171,249, 65, 3, 8, 89,183,110,221, 93, 66,200, 93, + 31, 31,159,107, 0,208, 86, 4,135,158, 18,250,251,225, 94, 78, 69, 61, 37,244,247,109, 69,181,167,140,242,228,160,121, 15, 71, +225,213, 17, 62,206,101,189, 92, 37,177,251,195,127,216, 52,100,200,144, 93, 0,190, 6,240,137,189,189,253,213, 9, 19, 38, 60, +218,183,111,223,163,205,155, 55,235,146,147,147,201,140, 25, 51, 84, 60, 30,239, 19,203,117,208, 2, 11, 44,176,224, 79, 67, 85, +100,120,231,198, 8,173, 97, 31,125,244,209, 93, 66, 72, 85, 44,173, 41,181,148, 25,190,114,229,202,187,132,144,170,232,240,175, + 7, 48,171, 45,160, 89,232,182,109,219, 8,143,199,251,254, 13, 27, 83,147, 83, 54,114,228,200, 46, 74,165,178,163,147,147, 83, +199, 87,150, 43,119, 7, 7,135,212, 3, 7, 14,148,171,213,234,114, 66, 72,185,193, 96, 40,143,139,139, 43,239,213,171, 87,121, +141,167,254,134,234,249, 43,172,144,225,218,157, 85,239,146, 21, 50, 92,123,237,171,201,187,119,239, 62,147,150,150,246,147,181, +181,245, 82, 51, 57,221, 29, 29, 29, 67,236,236,236,206, 57, 56, 56,172,176,179,179,203,213,233,116,164,164,164,132, 60,125,250, +148,252,252,243,207,228,198,141, 27,196,206,206, 46,187,174,122,246, 21, 48, 55, 75, 54,205, 35,166,221,235,136,246,171,229, 4, + 0, 81,108, 89, 70, 10,191, 13, 35,119,102, 13, 36,189,248,172,235,111,208,159,176,177,177,217,121,236,216, 49, 83, 74, 74, 10, +137,142,142, 38,167, 78,157, 34, 11, 22, 44, 32,205, 93,156, 53, 93,184,116,126, 15, 30,115,238, 77, 2,150,106, 52,154,187, 74, +165,242,110,121,121,249, 93, 63, 63,191,187,157, 58,117,138,234,210,165,203, 23,135, 15, 31, 94,184,126,253,250, 17,125,173,120, + 79, 43, 98, 14, 19,178,100, 48, 33,243,186,147,103, 51,123,145, 62, 2,230, 65,157,156, 78, 78,217, 85,209,218, 85, 42, 21,137, +141,141, 37,151, 46, 93, 34, 50, 7, 7,101,144,128, 53,187, 27, 15, 61,187, 89,195,198,220,122,246,150,208,225, 55,191,253,212, +168, 62,179,143,252, 56,109,176,161,151, 13,189,173, 70,185, 72, 66, 72,238,152, 49, 99,158, 19, 66,114,143, 30, 61,154, 69, 8, +201, 29, 61,122,244,115, 66, 72, 46,128,131,181,113,190, 22,156,116,247, 43,145, 53, 47, 52, 52,244, 46, 33,228,110,104,104,232, + 93,224,101, 16,213,158, 18,122,207,173, 29,159,153, 52,167,246,144,195, 51,134, 26,123, 74,232, 61,181,214,211,134,249,233,222, +238, 45, 68,123,110, 63, 57,182, 96,146,177,187,204,250,138,175,175,239,103, 11, 23, 46,140,186,113,227,198, 67,163,209,248, 40, + 53, 53,245,209,215, 95,127,253,232,173,183,222,186,102,111,111, 31,207,229,114,223,107,232, 28,253, 65,176,112, 90, 56, 45,156, + 22, 78, 11, 94, 55, 48,213,243,221, 79, 27, 55,110, 20, 17, 66, 62, 24, 59,118, 44, 54,108,216, 48,190,117,235,214, 19, 92, 93, + 93, 29, 1, 32, 39, 39,167, 34, 33, 33, 65, 57,118,236, 88,132,132,132, 96,211,166, 77, 95,224,165, 47,203,255, 39,242,142, 31, + 63,238, 54,127,254,124,249,250,245,235, 77, 51,102,204,104, 9, 32,161,176,176,176,249,164, 73,147,230, 49, 12, 51,214,211,211, + 51, 32, 55, 55,183, 64,173, 86,239, 7,176, 3, 13,172,153,214, 5, 30, 13, 99,135, 38,206, 56, 71,195, 88,227,227,193, 33, 33, + 33,111,143, 30, 61, 90,183,101,203, 22,131, 82,169, 60,105, 38, 93, 86, 65, 65,193,154,170,127,236,236,236,100, 15, 30, 60,120, + 79, 42,149,210,169,169,169,208,104, 52, 72, 73, 73, 49,225,229,210, 84,173, 40, 55,144,173,223, 29,189,208,226,131,201,193,214, + 21, 73,247,193, 97,177,160,103,115,145,119,243, 28,118,199, 38, 41, 85, 58,124,245, 38,237, 84, 40, 20,159, 47, 88,176, 96,210, +210,165, 75,249,158,158,158,212,245,235,215,113,232,208, 33,141, 92, 46, 31, 4,224,202,127, 66, 63, 53, 14, 38,147, 9, 92, 46, + 23, 0,176,108,217, 50,208, 52,205,150,203,229, 92,138,162,120, 20, 69, 9, 41,138, 98,233,211, 30,193,164, 44, 65,126,137, 2, + 89,249,138,122,249,140, 38,211,161, 91,183,110, 45,106,215,174, 29,125,231,206, 29, 20, 20, 20, 32, 37, 37,133, 24, 9, 57, 24, +171, 54,190,116, 74,212,152, 95, 63,161,157,253,200,182,182, 60,154, 27, 30,130, 32, 45,205,218,110,194, 24,188,140,165, 5, 0, +187, 41,138,226, 0, 40,242,243,243,235,253,248,241, 99,129,159,159,159, 58, 41, 41,233, 12, 69, 81,174, 0,246,212,198, 41, 16, + 8, 10, 1, 20, 30, 61,122, 20, 0,102,225,101,231,181, 95,189,122,117,110,108,108, 44, 66, 67, 67,243, 1,108, 3, 0,177,173, +253,240, 0, 9,135,226,238, 13,197, 91, 26,208, 95,153, 72,173, 86, 87,177,212,169, 79,107, 17, 13,246, 15, 31,163,163,172, 5, +205, 53,232,252,195,194,194, 98,203,203,203, 53,145,145,145,218,233,211,167,179,146,147,147,111, 3,184, 10,224, 40, 94,249, 88, + 90, 96,129, 5, 22, 88,240,167,226,117, 11, 86,131, 62, 90,175,171,214, 13, 0,190,123,242,228, 73,117, 82,233, 39, 79,158,220, + 5,176, 29, 47,163,193, 15,107,132,226, 93,245,202,162,181,227, 13, 27,243, 58, 39, 63, 48, 48, 80,240,248,241, 99, 14,106, 79, +226, 72,189, 1,231,111, 80, 91,174, 67, 95, 95,223, 47,245,122,125,212,246,237,219, 15,179, 88,172, 73,191, 67,237,123,250,248, +248,148, 28, 56,112,192, 20, 29, 29, 77, 86,173, 90,101,116,118,118, 46,193,111,125,180,126,197, 25,196,101, 29, 89,220,210, 85, + 25, 55,165, 59,121,182,112, 56,185, 58,185, 23,153,237, 42, 86, 6,241, 89,135,126,231, 83,137,143, 68, 34,217, 45, 16, 8,148, +214,214,214, 23, 0,116,253, 61,231,200,222,222,126,159, 76, 38,187, 80,243,229,228,228, 20,229,232,232,248,141,131,131,195, 42, + 27, 27,155, 57, 94,124,238,150,133,205, 93, 42,227, 71,250,145,152,110,142,100,178, 3,247,245,165,195,215,235,233,236,229,229, + 85, 20, 17, 17, 97,250,233,167,159,200,242,229,203, 77, 77,154, 52, 81,162, 30,191,182,122, 45, 90, 54,172, 67, 71, 70,119, 49, +229, 15,117, 37, 27, 90, 90,153,122,219,178,234,218,161, 56,249,149, 0,158,214, 16,167,183,183,247,118, 66, 72,248,218,181,107, +195,241,159, 92,160,253,195,194,194, 86, 19, 66, 86,135,133,133,173, 6, 48, 16, 0,130, 36,116,196,254, 17, 29,140, 57, 67, 92, +200,167, 45,197,198, 32, 9, 29, 81,171, 37,211,142, 57,126, 98,230, 80, 83,238,204,110, 36,196, 71,100,236, 98,199,187,200,229, +114, 23,226,165,197,185, 19, 0,174,229,169,217,194,105,225,180,112, 90, 44, 90,127, 57,225,101, 22,100,118,118,118,187,155, 53, +107,118,216,211,211,243,176, 88, 44,254, 2, 47,157,230, 27,123, 34,188,214,173, 91,167,148, 72, 36,109,255,192,147, 43, 5,224, +138,223, 38,206,253,195, 6,204, 26,103,204, 79, 94, 58,254,193, 26,103,204,175,241,113,167,150, 45, 91,126,138,151,209,188,127, +239, 32,244,180,179,179,251,218,206,206, 46,251,149,111,150,167, 57,156, 29, 88,172, 73,189,249,172,235, 93,185,116, 94,111, 62, +243, 75, 71, 22,107,226,223,116, 2,214,183,217,162, 46, 78, 55, 7, 7,135, 45,118,118,118, 57, 14, 14, 14, 95, 55, 82,100,253, +138,179,173, 0,206,125,108, 88,199,187, 90, 81,170, 62, 18,214,209, 14,194,186, 55,117, 52,162,237,129,161,161,161,239, 16, 66, +222,113,113,113, 25, 91, 67,248, 7,132,132,132, 4, 19, 66,130,171, 34,192,119, 18, 66,218,203,134,117,160,155, 53,165,232,101, +195, 58,208, 73, 8,105, 93,245,236,109,195, 58,212,205,154, 82, 4, 89,211, 7, 60,120,104, 98,185,152, 91, 56, 45,156, 22, 78, +139,208,250,103, 8, 45,203,128,177,112, 90, 56, 45,156, 22, 78, 11,167,133,211,194,105, 17, 90,181, 11,171,154,175,234, 21, 54, +198,210, 55, 22, 88, 96,129, 5, 22, 88, 96,129, 5,191, 11,117, 6, 44,165,234, 81,165,141,113,108,127, 19,101, 27, 99,225,180, +112, 90, 56, 45,156, 22, 78, 11,167,133,243,127,142,179, 33,238,255,239,141,117,127,107, 88,204,170, 22, 78, 11,167,133,211,194, +105,225,180,112, 90, 56,255,103, 65, 91,186,192, 2, 11, 44,176,192, 2, 11, 44,176,224,119, 33,240,213,223,215, 3,151,214,238, +163,197,116, 90,155,111, 48, 24,164, 0,192, 48,140, 92,127,123,149,115,125,236,108,160,175,225,101,250, 29, 48,192, 44, 3,112, +161, 22,206, 11, 6,131,193,246, 21,103,137,254,246,170,129,245,114,118, 90,123,174,102,121,195,237, 85,253, 95, 47, 67, 0, 22, +187,211,218,156,215,234,234, 98,110,175, 80,248, 85, 76,172, 63,173,158,127, 23,206,255,101,176, 59,175,205,215,235, 95,142, 35, + 54,155,145,235,110,213, 63,142, 56,157,215,230,212, 44,175,191,181,202,169, 62, 78,161,128, 87,228,237,234,248, 69,125,156,169, + 57,133, 31,168, 42, 42,237,235,227,108,236,220,116,119,118,238,107,124, 53, 55, 89,192,172,236,220,220, 11,127,177,177,212, 1, +192, 42, 0,214, 53, 62,139, 7,240,190,101, 84, 90, 96,129, 5,127, 51,161,117, 15, 47,243, 28,238,124, 37,182,118,214, 41,180, + 12, 6,131,244,238,177,213, 80,105,128,190, 83,215, 74,189, 70,238,248, 77,162,100, 67,101, 9, 87,145, 24, 25,192,210, 43,109, + 29, 25,157,117, 78, 78, 14, 5, 0, 20, 69,125, 15,192,163, 22, 78,219,187,199, 86,163, 66, 11, 4, 77, 8,179,245, 0,172, 11, + 56,156, 15, 5, 34, 81,111,181, 90,221, 26, 0, 4, 2, 65,162, 90,165,186,236,168,211,109,126,189,124, 93, 45,171, 89,215, 62, + 83,214, 74, 91,142,220,177,192,104, 50,113, 95,220,217, 30, 84, 89,152,204,176, 13,154,109, 43,128, 51,171,107, 17, 85,117,240, +253,231,119,199, 45,183,103, 3,125,184,124,126, 91, 27, 91,219, 30, 38, 66,252, 76, 38, 19,101, 52, 24, 30, 41, 75, 75,175,154, + 12,134, 7, 6,173,202,254,238,201, 79, 77,245,213,243,245,182,140, 3,152, 99,192, 88,145, 88,220,155,197,102,119, 5, 0,163, + 94,127, 93, 85, 94,126,121, 20,112,196,156,182,155,219, 63,111, 90,254,127, 13,122,189, 65,154,118,110, 53, 52,122, 32,112,204, +167,210, 54,147,246, 30, 0, 0,173,252,129, 83,121,242,201,206, 0, 32,242, 14,190,197,147, 5,230, 3, 0,147,145, 43,125, 26, +189, 18, 26, 61,224, 23, 28, 38,109,136,115,122,200, 33,251,165,179, 71,243, 0,224,252,209,111,154, 95,138,250,110, 48, 0,244, + 25, 61,247,204,128, 49,243,159, 2,192,166,157, 81,246, 7, 63, 29, 95, 47,167,121,115,179,148, 83,154, 28,237,163, 85,230,218, +184,139, 24, 89,114,114, 50, 13, 0, 46, 46, 46,102,205, 77, 55, 64,146, 11,204,163, 89,172, 30,222, 62, 62,129, 0, 72,234,179, +103,247,140, 6,195, 53,103, 96,219, 31, 60,150, 22, 16,242,235,224,172, 20, 69, 89, 6,164, 5, 22, 88,240,119,195,169, 87,226, +234,212,111, 30,102,235, 58, 66,165, 1,174,164, 0, 61,187,180,193,236, 73, 67,196, 53,191, 59,178, 35,204, 35,249,206,137,150, + 63,236,221, 76,183,105,211, 6,105,105,105,102,213,162, 66, 11,252,156, 12, 64,241,216,170, 68, 36,122,182,229,179,207,172,251, +247,239,207,184,184,184,128,162, 40,228,229,229,117,137,137,137,233,176,104,209,162,127, 65,241,184,164, 66,139,178,159,147, 27, +230,173,170,107,235,230, 77,176,106,254,120, 9, 0,172,152,186,173,195,157, 39,249,118,207,158, 61,235,251,209, 71, 31, 21,177, + 46, 95,254,206, 1, 8,207, 7,178,204,169,231,190,159,110,241, 37,185, 63,122, 77,158, 63,255,168,143,143,143,216,211,211,147, +178,178,178, 2,139,197, 66, 73, 73,137, 71, 66, 66,194,224,219,183,111,171, 98,174,124,207,141,187, 61, 60, 85,206,239, 92,105, + 86,219,213, 57,252,243, 86, 86,137, 83, 70,141,114, 27, 63,126, 60,223,219,219, 27, 0,240,236,217, 51,223, 35, 71,142, 76, 56, +122,244,104, 8,212, 57,134, 10, 45, 42, 27,106,123, 53, 39, 0, 62,208,213, 70, 42,157,204, 98,179, 91, 27, 12, 6,215, 87,214, +134, 23, 70,189, 62, 81, 33,151,239,127,189,188, 5,191,133, 70, 15, 60,206, 5,250,245, 8,196,148,209,253, 68, 0,240,209,219, +235,186,100, 60, 79,225,104,181, 90, 52,111,225,215,237,147, 79,191, 56, 7,154, 70, 68, 84, 76,117,121,115, 56,227, 31,167, 97, +245, 39, 91,144,243,240, 72, 23, 99,105, 74,239, 50,101, 41, 11, 0,172, 37,146,209, 71, 34,127,188,236, 18, 48,246,102, 74,161, +206, 44,206,250,230,230,217,200,175,157,179, 19, 46,183,250,246,252,110,182,135,135, 7, 30, 62,124,216,184,185, 89,250,196,202, +228,236,252,104,243,146, 37,178,160,160, 32,136,197, 98, 48, 12, 3,131,193,208,239,218,181,107,253, 86,175, 94, 61, 23,165, 79, + 84,230,206, 77, 51,176,153,162,168,222,211,103, 47,112, 30, 50, 98, 44, 70, 15,234, 86,111, 97,157, 86,203,226,112,185, 70,203, +104,181,192, 2, 11,254, 66,168,178, 94,213,220,121,184,179, 94,161,197, 48,140,188,255,180,245,210, 30,157,253,113,231,193,211, +210,244,204,220,242,170,239,138, 19,143, 52, 31,209,205,181, 85,108,236, 21,104, 52, 26, 92,191,126, 29, 15, 30, 60,192,243,231, +207, 49,103,206, 28,205,171,165,195,218, 56, 75,130, 38,132,217,162, 52, 89,236,203,125,210, 52, 38, 41,137, 85, 89, 89,137,216, +216, 88,148,148,148,128,203,229,194,205,205, 13, 3, 6, 12, 96,146,146,146,236,250,246, 31, 36, 9, 26, 52, 49, 13, 18,223,114, +134, 97, 74,234,202, 35,194, 48,140,188,239,212,181,210, 86,190, 77,240, 44, 61,167,116,213,167, 63,148,155, 76,132, 73,125,158, +161,187,114,229, 10, 2, 3, 3,113,225,194, 5,251,226,226,226,143,183,109,219,182,138,189,241,219,173,122,109,209, 98,212,205, + 87, 18, 52, 33,204,214, 94,126,216,243,210,217,227,156,196,196, 68,206,246,237,219, 81, 84, 84, 4, 46,151, 11, 27, 27, 27,200, +100, 50, 52,111,222,156, 90,177, 98,133, 56, 56, 56, 17,255,158, 53,214, 83,231, 53,243, 73, 93,245,172,110,123,121,134,208, 65, +121,222, 59,234,212, 41,186,123,247,238,191,122,108,111,214,172, 25, 6, 14, 28,200,159, 60,121,178,247,248, 9,147, 76, 65, 67, +167, 63,131,216,179,162, 65, 78, 85,150,192,190,226,134, 75,191, 9, 19, 78,134,133,133,217,200,100, 50,136, 68, 34, 0, 64,105, +105,169, 91,122,122,122,151,144,144,144, 49,183,226, 35,153,160,224,172, 28,136,220,213,245,245,231,255, 42,216,108, 70, 94,101, + 69,178, 18, 9, 74,178,178,243, 85, 0,160,213,106,161,213,106,161,209,104,240,222,220, 57,172, 89, 99, 58,249,120,246, 88,112, +255,249,139,252, 98,191,152,155,118, 85,199,234, 27,224,100, 42,158, 43, 20,153, 23,103,173, 94,178, 68,230,228,244,159, 21,193, +136,125,251, 88,197,197,197,253, 86,175, 94,221,138, 8,123, 41,252,130,195,108,234,227,172,111,110, 42,158,158,106,250,201,252, +129,109,119,124, 26, 13,163,209,136, 27, 55,110, 32, 54, 54, 22, 95,124,241, 5, 57,115,230, 76,169,181, 72, 52, 11,245,206,205, + 39, 86,221,157,243,188, 54,110, 60, 74,241,120, 60,156, 56,113, 2, 73, 73, 73,160,105, 26,109,218,180,193,148, 41, 83,208,175, + 95, 63,217,236,217,115, 72,208,160,183, 83, 33,105, 81,246, 59,199, 18, 13, 96,193,242,213, 27,157,167,206,156,135, 77,159,172, +104, 80,104, 89, 68,150, 5, 22, 88,240, 23,182,102,213, 25,226, 1,209,209,209,228,213,171, 39, 0, 16,128,110, 54,114,199,193, +195,113,166, 83,205, 70,238, 56, 72, 0,154, 0,180, 53,208,164, 93,187,118,122,133, 66, 65,110,223,190, 77,222,123,239, 61,213, +214,173, 91, 47,159, 58,117,234,136, 65,167,219,229,226,236,252, 57,169,195,193,158, 0,180, 39, 32, 17, 10,133, 5,153,153,153, +228,244,233,211, 36, 52, 52,148,236,223,191,159,156, 57,115,134,196,196,196,144, 51,103,206,144,131, 7, 15,146,248,248,120,242, +244,233, 83, 34, 18,137, 10, 60, 1, 73, 61,156, 44, 2,176,154,143,220,190,248,232, 29,125, 88,139,145, 59, 22, 17,128,101, 11, +180,108,215,174,157,241,200,145, 35, 36, 34, 34,130,236,221,187,151,196,199,199,147,194,194, 66,194,240, 68, 5, 85,199,213, 85, + 79, 2,208,174,174,174, 5, 10,133,130,184,187,187, 19, 46,151, 75,156,156,156, 72,243,230,205, 73,151, 46, 93,200,224,193,131, +201,164, 73,147,200,199, 31,127, 76, 20, 10, 5,225,243,249,249, 85,199,213,197, 25, 8, 8, 68, 34, 81,230,221,187,119, 73, 93, + 80,171,213,164,176,176,144,156, 59,119,142,136, 68,162,204, 64, 64, 80, 31,167, 0,104, 31, 16, 16, 80, 80, 88, 88, 72,116, 58, + 29,201,204,204, 36, 9, 9, 9, 36, 41, 41,137,100,102,102, 18,181, 90, 93,205,253,244,233, 83,226,229,229, 85, 32, 0,218, 19, +203, 38,136, 58,199,210,235, 47, 15, 39,167,193, 50,153, 76,125,244,232, 81,242,226,197, 11,178,103,207, 30, 66, 3,235, 94, 47, + 87, 31, 39, 23, 24,208,189,123,119,227,141, 27, 55,200,253,251,247,201,178,101,203,200,192,129, 3,201,160, 65,131,200,234,213, +171, 73,118,118, 54,201,206,206, 38,131, 7, 15, 54,114,129, 1, 13,141,207,218,230,166, 4,240, 8, 14, 14, 86,235,116, 58,146, +154,154, 74, 90,183,110,157,205, 2, 38,139,128, 86, 61, 1, 94, 67,227,211, 21,176,117,118,118,206,189,113,227, 6,137,138,138, + 34,158,158,158, 5, 44, 96,186, 53,208,204, 26,104,198, 2,166, 55,107,214,172,224,198,141, 27,164,168,168,136,120,120,120,228, +186, 2,182,191, 99, 44,209, 0,118, 47, 95,189,145, 60,201, 86,145,229,171, 55, 18, 0,153,132, 16,130, 90,124, 60, 45,176,192, +130,127, 62, 94,215, 34,255, 20, 84, 95, 36,131,131,131, 41, 0, 63,215, 87, 88,205, 98,173,223,180,105, 19, 83, 89, 89,137, 31, +126,248,161,108,220,152, 49,135,123,246,232,145,218,212,211, 83, 65,209,116,131,217,134, 11,120,188,133,155, 54,109,178,209,106, +181,136,139,139, 67,135, 14, 29, 32,147,201, 32, 22,139, 33, 22,139, 33,149, 74,209,162, 69, 11,200,229,114, 88, 89, 89, 97,233, +210,165,146, 2, 30,111, 97, 67,188, 38, 19, 97, 0,192,104, 50,113, 57,192,108,175,142, 29,227, 66, 66, 66,104,123,123,123,216, +217,217, 65, 44, 22, 35, 41, 41, 9, 90,173, 22, 66,129,208,172, 32,173, 52, 77,211, 98,177, 24,151, 46, 93,194,130, 5, 11,208, +181,107, 87,216,216,216,192,202,202, 10,173, 91,183,198,128, 1, 3, 48,107,214, 44,164,166,166,130, 50,195,169,228, 17,195,204, +155, 53,107,150, 52, 48, 48,176,214,239, 43, 43, 43,161, 80, 40, 80, 80, 80, 0, 55, 55, 55,140, 29, 59, 86,250,136, 97,230,213, +197,103, 15,200,220,124,125, 79,222,190,125,219, 65, 36, 18, 33, 34, 34, 2,199,143, 31,199,217,179,103,113,250,244,105, 68, 71, + 71,227,196,137, 19, 40, 40, 40, 0, 0,248,250,250,226,208,161, 67, 14, 98,169, 52,218, 30,144, 89,166,180,121,200,200,207, 63, +223, 58, 47,207, 97,242,164, 73, 87,203,203,203, 49,121,242,100,172,223,176, 97, 5, 27, 88,100,206,241, 45, 0,137,157,179,115, +248,198,141, 27,233,188,188, 60,140, 26, 53,170,112,243,134, 13,239,222, 59,119,206,251,238,217,179,222,235,195,194,222,237,217, +179,103, 97,118,118, 54,246,237,219, 71, 59,121,120,132,183, 0, 36,141,173,103, 25,176,224,203, 47,191,228, 87, 86, 86,162,127, +255,254,169,166,196,196, 22, 6,224,199,114, 32,233,103, 64,215,208,241,185,192,188,165, 75,151,202,120, 60, 30, 62,252,240,195, +194,138,140, 12,127, 3,176,183, 20, 72, 47, 5,210, 13,192,222,178,180, 52,255,169, 83,167, 22,242,120, 60,108,217,178, 69,150, +251,159,164,219,230,162, 3,128,147, 0,174, 0,200,153, 62,123,193,244,192, 78,111, 97,223,174,109,248, 52,236,163,112, 0,227, + 40,138,218, 15, 96,177,101,228, 89, 96,193,255, 38,204,209, 34,127, 81,212,153,114,135,169,169, 36, 1,244,170,143,197,214,222, +190,131,191,191, 63, 98, 99, 99, 17, 16, 16,112,219,198,198,198,192,225,241,192,102,179, 65, 76, 13,234, 44, 8, 68,162,190,253, +250,245, 99,110,222,188, 9, 47, 47, 47, 8, 4, 2,176,217,236, 95,189, 56, 28, 14,156,157,157,161, 84, 42,209,183,111, 95,246, + 87, 95,125,213, 23, 26,205, 39, 13,222, 16,147, 19,196, 5, 55, 55, 78,250,126, 79,120,179,160,160, 32,148,150, 42, 97, 50,153, + 32, 20, 10,161,213,106,193, 48,204,203, 37, 32, 61, 81,154,211, 99, 70,163,209,200, 98,177,224,229,229,133,245,235,215,163,178, +178, 18, 28, 14, 7, 0,160, 84, 42,161, 80, 40,144,144,144,128,244,244,116,188,122, 10,175, 23, 86, 18,201,144,241,227,199,215, +154,240, 87,163,209,160,180,180, 20,165,165,165, 80, 40, 20,168,172,172,196, 91,111,189,197, 61, 21, 29, 61, 4, 69, 69,155,107, + 61,134,207, 31,179,111,223, 62, 41,151,203,133, 90,173, 70, 89, 89, 25,178,178,178,144,145,145, 81, 41,151,203, 13, 86, 86, 86, +180,167,167, 39,205,227,241,120, 35, 71,142,164,148, 74, 37, 40,138, 66,112,112,176,253,129,136,136,241,208,106,191,176, 76,105, +243,112, 30,208,180,215,106,135,117,238,212,233,210,237, 59,119, 2, 23, 46, 92,136,248,248,248,141,194,200,200, 43, 21,192,131, +250,142, 77, 5,230,125, 94, 67,192,144,140,140, 0, 29, 80, 80,163, 72,186,103, 90,218,217,169, 83,167, 62,140,143,143,119,216, +178,101,139,108,220,168, 81,243, 0,172,107, 76, 29,173, 36,146,142,206,206,206, 56,115,230, 12, 50,159, 63,255,200, 0,168, 27, +245,196,197, 98,117, 15, 10, 10,194,137, 19, 39,144,157,145,241,145,225,215,117,124,249,160, 4, 20, 48,169,169, 31,133,135,135, +239,158, 49, 99, 6, 88, 12,211, 29,134, 70, 45, 28,254,198,241,125,198,156,133, 8,223,249, 85, 56,128,153, 0, 76, 0,110, 91, + 70,156, 5, 22,252,111, 91,181, 26,210, 34,127, 35,177,181,179,209, 22, 45,169, 84,234, 42, 22,139,145,147,147, 3,191,150, 45, +229, 60, 30, 15, 92, 54, 27,124, 46,215,172, 26, 84, 84, 84, 4,184,184,184,160,180,180, 20, 14, 14, 14,224,112, 56,213, 47, 46, +151, 91,253,222,202,202, 10, 52, 77,195,195,195, 3, 21, 21, 21, 1, 13,242,230, 39, 72, 35,191,154,251,222,141, 43,103,154,141, + 26, 53, 26,182,182,118,112,119,119,131, 84, 42,133, 64, 32,128,187,187, 59,188,189,189,201,230,205,155, 33,148,182, 49,235, 66, + 94, 83, 60, 49, 12, 3,163,209,136,252,252,124, 60,121,242, 4,241,241,241,184,113,227, 6,238,223,191,143,178,178, 50,152,161, +179, 80,161, 86,183,101, 24,166, 86,145,165, 80, 40,160, 80, 40,170,133, 86, 65, 65, 1,210,211,211, 81,174, 82,181,171, 71,244, +142,246,247,247,103, 1,128, 64, 32, 64,187,118,237,176, 99,199, 14,195, 79,199,143,191,221,234,198, 13, 59,247,115,231,108,190, +223,190,253,237,177, 99,199, 26,111,222,188, 9,165, 82,137,199,143, 31,195,209,209,145,225,242,249,227, 45,211,185,113,184, 11, +168, 28,202,202, 6,117,237,218, 53,173,180,180, 20,159,125,246, 25,205,182,178,218, 25, 86,199, 18, 95, 53, 88,172,110, 65, 65, + 65, 56,121,242, 36,114, 50, 50,150,101,212, 34, 96, 50,128,130,204,212,212,101,225,225,225, 24, 48, 96, 0, 40,134,233,214,216, +250,117,233,210,197,223,100, 50,225,225,195,135,176, 1,110, 53,246,120,111, 31,159,192, 42,203,175, 8,184, 90, 87, 57, 17,112, +245,222,189,123, 16, 8, 4,240,107,213,170,125, 35,127,102, 51, 69, 81,185, 51,230, 44, 68,212,217, 95, 0, 0,225, 59,191,202, +175, 33,178, 44,176,192, 2,139, 69,235,239,106,209,170, 18, 86, 53, 95,248,149,208, 50, 83,124, 0, 0,216,108, 54,184, 60, 30, +184, 92,238, 75,129,196,227,153,205, 65, 81, 20,248,124,126,181,176,170, 41,176,106,190, 23, 10,133,102, 9, 24, 0, 40, 73, 57, +219, 99,230,187, 51,184, 60, 30, 15, 90,173, 6,132, 16,240,120,124,216,216,216,192,203,203, 11, 74,165, 18, 93,187,245,212,100, + 41, 56,209,246,126, 35,227,223,164,247, 12, 6, 3, 84, 42, 21, 74, 74, 74, 80, 92, 92, 12,165, 82, 9,181, 90,109,246, 86,116, +147,201,196,202,202,202,194,143, 63,254,136,162,162, 34, 0, 47, 29,173,171,196, 85,213,223,180,180, 52, 68, 68, 68,224,249,243, +231,141, 58, 63, 61,122,244, 64,116,116, 52,171, 87,223,190,187, 46,120,122,230, 92,240,244,204,233,213,183,239,174,147, 39, 79, +178, 92, 93, 93,145,158,158,142,184,184, 56,148,148,148,128, 16, 98,217, 63,255, 6,120, 6,148, 84, 20, 23,207, 88,177, 98, 5, + 17,139,197,248,236,243,207,219,174, 3, 38,154, 43, 96, 36,245, 8, 24,201,239, 19, 48, 32,132,192,100, 50,193,104,124, 51, 95, +113,138,162, 40, 54,155,221,216,208, 10,141, 41, 92,237,248,190,244,227,245, 56,125,226, 72,213,231,201, 22,145,101,129, 5, 22, +252, 3, 80,167, 35, 60, 83, 67, 65, 86,255,173, 11,249,249,249, 47, 84, 42, 85, 51, 79, 79, 79,100,103,103, 75, 61, 60, 60, 50, +184,108, 54, 56, 92, 46, 40,186, 97, 77, 32, 20, 10, 31,230,228,228,116,115,117,117,133,193, 96,168, 22, 85,175, 47, 29, 86, 89, +105,238,223,191, 15,161, 80,248, 16,149,245, 70, 78,128, 81, 91,210,164,125,251,246,213,150, 33, 27, 27, 27,216,216, 72,192,227, +241,177,114,229, 74,211,150,205,155,183,121,244, 9, 43,125,103,209, 10,178, 98,221,174, 63,180,103,205,189, 49, 9,133,194,135, +238,238,238,111, 73, 36, 18, 68, 69, 69, 33, 61, 61, 29, 37, 37, 37,168,168,168,128, 70,163, 65, 69, 69, 5,180, 90, 45,248,124, + 62, 90,181,106, 5,107,107,107,196,196,196, 60,132, 70, 83,187,184, 44, 42,138,122,248,240,225, 91,157, 58,117,170,182,168,244, +238,221,155,234,221,187,183, 67,181, 21,173,162, 2,133,133,133,184,125,251, 54, 98, 98, 98, 64, 81, 20,146,147,147,141, 26,181, +250,160,101, 78,188, 25, 42,129,235,172,240,240,221,255,250,215,191,222,237,214,173, 27,140,192, 96, 0, 17,255, 69, 1, 3, 0, +184,113,227, 70,130,209,104,236,214,188,121,115, 40,128,206, 0, 78, 52, 74, 68,166,164,220, 51, 24, 12,125,219,182,109,139,168, +195,135,123, 0, 72,175,173,156, 10,232, 17, 24, 24, 8,181, 90,141,199,143, 30,221,109,132,200,218,181,124,245,198,233, 83,103, +206,195,190, 93,219, 16,190,243,171,172,221, 59,182,186,195, 12,255, 49, 11, 44,176,224,127,202,154,213,160, 22,249,139, 98,118, + 93,226,139,105, 12, 75,105, 73,201,221,123,247,238, 53,107,223,190, 61,118,237,218,213,169,235, 91,111,189,224,112,185, 6, 46, +135, 3,218,140, 27,137, 90,165,186,120,241,226,197,206, 35, 71,142,100,110,222,188, 9,153, 76, 86, 45,180,170,254, 50, 12, 3, + 66, 8,132, 66, 33,142, 29, 59,166, 83,171, 84, 23, 27,180, 22, 25, 77, 70,250,149,208, 35,132, 64,161, 80,128,195,225,224,139, + 47,182,224,235,205,155, 39, 25,129, 35,190, 34,199, 37, 0,248,255,181, 27,116, 69,197,165,211,167, 79,119, 8, 9, 9, 97,187, +185,185, 65,161, 80,160,164,164, 4, 69, 69, 69, 80, 42,149, 80, 42,149, 40, 41, 41,129, 66,161, 0,159,207, 71,124,124,188,190, +178,162,226, 82, 93,124,188,202,202,163,211,166, 77, 91,122,239,222, 61,103,134, 97,160,215,235, 97, 50,153, 96, 50,153,160,211, +233,144,146,146,130,196,196, 68, 36, 37, 37,161,184,184, 24,108, 54, 27, 44, 22, 11,247,239,223, 47, 17,233,245,135,181,150, 57, +253,198, 96, 3, 81,215,174, 93,123,119,202,148, 41,112,113,115,235,137,236,108,179, 4,204,241,122, 4, 76,233,155, 9,152,255, + 8,160,178,178, 59,105,105,105,221,122,245,234, 5,103, 55,183,141,173,178,179, 47, 60,106,132,159,150,209, 96,184,122,237,218, +181,190, 83,167, 78,197,174, 93,187, 54, 58,166,165,157, 45,120,109,153,211, 17,112,108,234,237,189,113,250,244,233, 56,127,254, + 60,140, 6,195,213,122, 40,107, 70,124,111, 50,125,246, 2,247,215, 28,223,119, 80, 20, 53, 31,192,103,150, 17,101,129, 5, 22, +252,147, 45, 90,141, 90, 58, 20, 24,141,203, 23, 47, 94,172,167,105, 26,163, 71,143,182, 58,113,242,228,216,251, 15, 30,120,201, +229,114, 27,163,209,216, 32,151,163, 70,179,117,241,226,197, 10,173, 86,139, 22, 45, 90,160,184,184, 24, 70,163, 17, 12,195,128, + 97, 24, 80, 20, 5,154,166, 33, 22,139,113,239,222, 61,236,222,189, 91,233,168,209,108,109,240, 38, 97, 52, 62,140,136,136, 0, +139,197, 34,124, 62, 31, 20, 69,129, 97, 24,108,217,178, 69,254, 53, 16, 5, 0, 44,154,214, 2, 0, 77, 83,230,122,239, 54,184, +110,201,229,114, 97,122,185, 9,160,193,178,182, 26,205,151,155, 54,109, 42,123,252,248, 49, 84, 42, 85,181,245,173,188,188,188, +218,185, 94,161, 80,128,162, 40,168, 84, 42,156, 60,121,178,204, 86,163,249,178, 46,190, 34, 32, 47, 59, 57,121,120,167, 78,157, +138,210,210,210, 80, 90, 90,138,135, 15, 31, 34, 38, 38, 6,135, 14, 29,194,249,243,231,145,146,146, 2,131,193, 0, 87, 87, 87, + 16, 66,112,252,248,241, 82, 67, 89,217,224, 34, 32,207, 50, 39,234, 70, 19,153,172,175,147, 84,154,233,232,224,144,221, 68, 38, +235,251,250,247, 18,224,233,211,167, 79, 97, 48, 24,224,229,229,101, 87,159,159, 22, 49, 24,174, 93,187,118, 13, 83,167, 78,133, +123,179,102, 27, 60, 1,199,215,203,120, 2,142,158,222,222, 27,170, 4, 12, 49, 24,174, 53,182,206, 86,192, 87, 75,150, 44, 81, +115, 56, 28, 68, 70, 70,122,233,125,124,146, 24, 96,162, 24,104,217, 11,224, 52,116,188, 51,176,237,227,143, 63,206,163, 40, 10, +251,247,239,119,144,120,123, 39, 48,192, 52, 9,208, 68, 2, 52, 97,128,105, 18,111,239,132,200,200, 72, 7,131,193,128, 69,139, + 22,229, 57, 3,219,234,161, 92, 64, 8, 25, 70, 8, 9, 34,132,184,239,222,177, 21,167, 79, 28,169, 18, 89, 51,241,210,233,125, + 10,128, 4,203,136,179,192, 2, 11,254,201,168,213, 12,197,116, 90,155, 15, 16,105,207, 46,109,112,231,193,147, 82, 7, 91,235, +115, 85,223, 21, 39, 30,105,222, 39,192,186,205,183,223,126, 11, 54,155,141,172,172, 44, 60,122,244, 8,214,214,214,152, 52,105, +146, 70, 93, 86, 54,188, 70,174,195,126, 0, 98, 94,113,190,204,167, 86,154, 44,246,102,226,155,157, 61, 29,205,146, 72, 36, 40, + 47, 47, 7, 77,211,224,243,249, 16, 10,133, 16, 8, 4,136,139,139,195,208, 97, 35,140, 5,194,160,255, 4, 44,253, 79, 62,181, +106,206,170, 88, 67,157, 1,225, 61,224, 67,169,139,203,226, 85,171, 86, 9, 6, 14, 28, 8, 14,135, 3,183, 38,190,121, 94,131, + 62,251,138,166, 41, 67,118,145,114,165,119, 19, 23,201,163,228,116, 0,148, 92,127,123,149, 75,141, 92,135,191,169,167,135,246, +138,215,177,189,155,173,219,181,123,233,143,174, 80, 40,144,159,159, 15,185, 92, 14,133, 66, 1,149, 74, 5, 0,136,142,142,198, +233,216, 36,165,218,109,108,106, 93,245,252, 79,219,159, 88,185,232,110, 53, 61, 16,177,151,229,232,232,136,252,252,124, 20, 20, + 20, 64,161, 80, 64,173, 86,195,104, 52,162,184,184, 24, 63,132,239, 53, 22,137,131,158, 87, 7,132,172,143, 83,149, 37,176, 43, +255,197, 53,176,149, 39,121,247,221,119,173,172,173,173, 97, 50,153, 80, 82, 82,130,204,204, 76,164,165,165, 33, 54, 54, 86, 37, + 87,104,161,114,232,159, 93, 29,176,180, 22,206, 63, 16,127, 59,206,154,113,171, 92,156,157,115, 50, 50, 50,164, 70,163, 17,174, +174,174, 6, 69,113,241, 6, 46,112,222, 10,200, 5, 64, 10,129, 85, 95,126,245,213,140, 17, 35, 70,160, 99,199,142, 89,121,249, +249, 77,107, 27, 75, 4, 96,181, 0, 36, 21,110,110,137,183,111,223,150,101,102,102, 98,234,212,169,133, 25,207,158, 45,171,242, +215, 42, 5,122,120,122,123,111,136,140,140,116,104,214,172, 25, 2, 2, 2,242,248,153,153,173,159, 0,165,117,140,207, 58,231, +166,226,233,169,166,115, 71,249,119,124,239,189,247, 96, 48, 24, 16, 27, 27,139, 91,183,110, 33, 35, 35, 3,191,252,242,139,194, + 90, 36,122,187, 70,174,195, 90,199,231, 96, 95,149,215,254,253, 17, 20,135,195, 65,120,120, 56,238,221,187, 7, 0, 8, 12, 12, +196,244,233,211, 97, 48, 24, 48,121,242, 20,114,234,137, 32,181,190,241, 9,192, 31,192,231,120, 41,242, 58, 18, 66,248, 20, 69, +229, 0,112, 71,227,124,178, 44,227,211,194,105,225,252,223,225,252, 71,162,193, 92,135,107,191,131,228,215,105, 62,102,229, 28, +217, 17,198,116,239, 17,212, 50, 44,116, 53,221,169, 83, 39,184,187,187, 35, 48, 48, 16,153,153,153, 60, 27, 27,155,134,242,169, +149, 7, 13,154,152,214,166, 77, 27,155,101,203,150, 73, 6, 12, 24,192,118,119,119, 7, 33, 4,247,238,221, 67, 84, 84,148,110, +215,174, 93,202, 10,167, 97,138,187,151,127, 44, 55, 39,159,218, 45,160, 2,192, 26,183,156,156,157,243,230,206, 93,221,174,125, +251,119, 67, 67, 67,105,177, 80,192, 94,191,114, 38, 31, 0,214,126,115, 72, 50, 98,236, 36,124,233, 3,244,156, 88,123, 30,185, +154,245,204,204,158,149, 49,100, 84, 95,159, 15,231,207, 48,142, 31, 63, 94,100,109,109, 13,119,119,119,216,218,218, 34, 53, 53, + 21,217,217,217,228,167,159,126, 42,191,113,255, 41,251,248,249, 59, 25,124,137,179, 57,121, 9,203,130, 6,142,123, 62,100,200, + 16,219,105,211,166, 89,117,232,208,129,205,227,241,192,227,241,144,159,159,143,148,148, 20,221, 79, 63,253, 84, 94, 33, 29, 92, +114,247,114,100,153,153,185, 14,213, 65, 19,194, 82,174, 94, 8, 93,148,248,240,225, 20, 19,208, 86,167,211,185, 26,141, 70,138, +166,233, 92,147,201,244, 80, 87, 86,182, 91, 19, 24,186,197,146,235,208, 60, 24,141, 70,142,209,104,132, 66,161,192,133, 11, 23, +152,103,207,158,173,122,240,224,193,170,156,156, 28,232,245,122,140, 25, 51, 6,129,129,129,184,124,249, 50, 10,242,243,127,170, +143,235, 9, 80,202,203,206,158, 62,107,214,172, 51, 17, 17, 17,244,131, 7, 15, 28,194,195,195,127,168, 77,192, 76,153, 50,197, +148,159,153, 57, 93, 3,148,214, 51, 62,235,155,155,133,103, 35,191,126, 48,114,244,216, 86,161, 33,171,216, 93,187,118,133,131, +131, 3,122,244,232, 1,157, 78,103,227,231,231,215,208,220, 44, 11, 26,244,118,106,219,182,109, 69, 91,182,108,145,205,152, 49, + 3,243,231,207, 7, 0,168,213,106,156, 63,127, 30,139, 22, 45,202,203,100, 58,171, 26, 26,159,175, 44, 85, 85, 2,236, 10,128, + 32, 0,169,176, 56,190, 91, 96,129, 5,255, 76, 84, 37,149,118,198,203,196,210,167,240,242,225,188,225, 92,135, 87,111, 37,160, +102,154,143,151,112,126,100,240,152,246,108,206,226, 13, 1, 44,189,210,150, 77, 85, 90, 39, 63,125, 74, 53,148,243,176, 58,159, +154,196,183,220, 62,237, 96,167,245,107,215, 46,252,242,203, 47,251, 86,133,112, 16, 10,133, 15,213, 42,213, 69, 71,141,102,107, +133,196,247, 98, 99,115,243,101, 3,249, 0,230,218,222,189,251, 85,240,136, 49,155,248,118, 94,236, 21,235,118, 85,178,104, 90, +155,146, 83,128, 47,125, 0,145, 25, 27, 36, 43,180, 64,162,194,217,144,111, 63,246,201,199, 75,150,124,184,118,205,154, 78, 98, +177,184,167,206, 96,240, 53,153, 76,128,201,148, 92,161, 82, 93, 33, 58,221,109, 77, 96,200,102,190,196,153,152,157,151,208,198, +175,204,238,249,145, 78,123,118,239, 94,112,248,240,225,223,180,221, 94,163,249,170,194,198, 47,198,156,182,215, 44, 83, 9, 92, +135, 92,126,189, 62,211,165, 37,215,161,153, 79, 31, 38,211,108, 91, 91,219,125,125,251,246,229,247,235,215, 15, 67,135, 14, 69, +215,174, 93, 97, 50,153, 64, 8, 65, 89, 89, 25, 14, 29, 58,132, 77,155, 54, 37, 55, 5,214, 52,196,167, 1, 46,242, 78,159, 30, +220,182,109,219,240,250, 4,204, 43,145,213,160, 79, 98,253,115,147,151,108,144, 12, 79,159, 48,111,189,143, 86,153,107, 99, 47, + 52,200, 18, 19, 30,210,230,207,205, 22,101,198,123,135, 58,143, 25, 53,106, 30,139, 97,122,188,218, 1, 73, 30, 63,122,116,183, + 42,169, 52, 2,167, 95,104,228, 88,170,138, 93,103,113,124,183,192, 2, 11,254,233, 66,107, 40, 94,250,107, 85,167,228,169, 51, +215, 97,149,213,135, 97, 24,121,234,241, 57,147,234, 99,103, 3,125, 95, 89,178,208, 96,174,195, 87,239,211,129, 50,104, 52,159, +252, 42, 24,105,141,221,133,236,215,202, 55, 38, 44, 98, 9,240, 4, 6, 77, 48,228,143,128,147,115, 95,242,117, 90,251, 81,205, + 54,213,121,147,253,213,239,114,138, 43,129,171, 40, 47,191,138,242,242, 90,157,118,217, 12,167,184,161,122,190,222,246, 76, 64, +249,123,219,254, 58,103,131,226,225,119,244,231,255, 26, 94, 20, 22, 30, 7, 32,118,139,142,118, 58, 27, 29, 61,254,195, 15, 62, + 24,227,236,226,226,237,224,224, 96,107,101,101, 69,223,188,121, 61,198,135, 44, 0, 0, 32, 0, 73, 68, 65, 84, 51,205, 80, 89, +249, 85, 59, 96,207, 43,107,106,131,208, 0, 23, 91,100,102,182, 30, 55,106,212, 60,138, 97,186,215, 20, 48,196, 96,248,197, 11, +216, 86,159, 37,235, 77,231,166, 59,207,185,239, 43, 75, 22, 88,192, 44,115,198, 70,246,203,122,172,131,193,176, 14,241,241,181, +140,249, 70,143,165,181, 20, 69,149,193,226,248,110,129, 5, 22,252,115, 81,149,239,240,212,255,247, 15,247,179,112, 90, 56,255, + 65,156, 44,188,220, 69,103,233, 79, 11,167,133,211,194,105,225,180,192, 44, 48,150, 46,176,192, 2,179, 97,196,127,150,193, 44, +176,192, 2, 11, 44,176,160, 10, 85,190, 89, 53,177, 19,120,233,186, 83,151, 42,109,204,110,130, 55, 81,182, 49, 22, 78, 11,167, +133,211,194,105,225,252,175,112, 10,241,219,101,111, 75,127, 90, 56,255,191, 56, 27,226,254, 59,238,102,172,242,201,170,246,205, +250,255,130,197,172,106,225,180,112, 90, 56, 45,156, 22, 78, 11,167,133,243,159, 14,231, 87, 34,171,230, 11, 64, 35, 3,150, 90, + 96,129, 5, 22,252, 83, 17, 26, 10,154, 16, 80,132,132,210,132, 28,102, 17, 50,150, 69, 8,126, 87, 42,144,177, 99,107, 15,102, +251,239, 73,182, 86,150, 30,183,192,130,127, 20,114, 81, 71, 82,105,139,143,214,127, 23, 30, 50,153,108, 7, 0, 42, 47, 47,111, + 54,128, 76, 75,151,252,245, 96,103,103,215,215, 96, 48, 64,169, 84, 94,252,163, 56, 89, 44, 22,101, 52, 26,201, 95,161,125,173, +188, 49,138,208,240,171,254,128, 32,243,113, 10,246,213, 86,214,207, 7, 83, 65,253, 39, 22, 23,101,194,227, 71,207,112,172, 17, + 63, 71, 15,238,231,190, 13, 0,206,196,100,205,195,159, 19, 87,171,185,163,163,227, 57,134, 97, 24,163,209, 56, 87, 46,151, 71, +215, 45,132,198,178, 0,128, 77, 46, 47, 87,228, 73,151,189,255, 47,138, 93,161,217,173,208,168, 85,165, 44, 54,235, 57,143, 45, +187, 54,103, 6,125,166,164,252,173, 71,181, 29,127,228,200,145, 58,179,120,183,246,193, 96,218,216,106, 88,160,127, 90,234,231, + 91, 59,125,217,211,203,129,157,150,117, 95,188,113,123,233, 14,174,141,231,176,169,227,169,104, 70, 72, 77,217,189,187,168,252, +159, 58,119,214, 3,180,158,205,110, 65,153, 76, 94,160, 40, 33, 5,128,152, 76, 38,138,166,211,248, 6,195,211,197, 64,249, 27, +112,218,233,128, 0, 54,143,231,110, 52, 24,156, 40,128,176, 24, 38, 95,175,209,100,113,128,248,229,128,226,159,206,201,225,241, +220,140, 6,131, 19, 0,252, 21,235,105,193,175, 81,167,208, 18,139,197,113, 52, 77,187,213, 76,134, 91,149, 79,176,234,179,154, +223, 81, 20, 5,163,209,152, 93, 82, 82,210,161, 17,191,111, 13, 96, 60,128,170, 45,234, 7, 0, 28,194,155, 59, 28, 91,115, 56, +156,197, 34,145,168,143, 90,173,110, 13, 0, 2,129, 32, 81,165, 82, 93,210,233,116,159,191, 33, 47, 3, 96,156, 88, 44,238, 77, +211,116,111, 66, 8, 69, 8,185, 92, 94, 94,126, 9,192, 97, 0,111, 18, 41, 65, 32,149, 74,215,217,217,217, 77, 92,190,124,121, +145,189,189,125,139, 69,139, 22,221, 41, 46, 46,254,177,176,176,112, 37, 26,145,163,238, 79,134,183, 76, 38, 59,192,102,179, 89, + 89, 89, 89,189, 1,192,221,221,253,178, 86,171, 53,202,229,242, 73, 0,158, 53,146, 79, 4,160,139, 88, 44,238, 32, 22,139,131, +140, 70,163,223,171,252,140,143,203,203,203, 99,117, 58, 93, 28,128,155, 0, 84,127,161, 57, 98,197, 48, 76,196,171,177,238, 11, +160,236,143, 32,253,171,136, 44, 0, 32, 52,252, 30, 37, 38,181,168, 22, 94,173, 91,214, 93,152,130, 71, 45,101,205, 22, 90,125, +122, 58, 15, 27, 62,188, 63, 13, 0, 90,253,153, 97,151,174,228,158,248,131,155,211,124,244,232,209,215, 35, 34, 34,108, 53, 26, + 13,102,207,158,125, 32, 38, 38,102,155, 82,169, 92, 94,239,133, 67,108,187,232,179, 45,231,133, 20, 69, 3,128,212,100, 50, 74, + 95,188,120,230,251, 40,225,250,160,196,196, 27,235,213, 73,151,110,154, 40,246, 28, 29,122, 36,153, 83, 9, 63, 47, 4, 15, 27, + 51,106,232,154, 53,161,152,248,246,196, 38,137,137,149, 2, 87,235, 84,110,177, 90,228, 99,239, 40, 29,190,102,237, 17,234,218, +213,227,195, 35,194,195, 46,205,152, 97,223,231, 31, 40,182,168,213, 92,174,135,222,104, 28, 68, 3,185,140,149, 85, 42, 56,156, + 10, 0,160,141, 70,150, 86,169,244,174, 96,152,201,159, 0,183, 63, 54, 24,238,155,203,185,150, 97,186, 72,124,124,130,222, 62, +126, 28, 98,119,119,134,225,241,104, 0, 48,104, 52,238,229, 89, 89,206,145,195,135,119, 14,125,250,244,231, 80,224,150,133,243, +191,194,105, 65, 99,132, 22, 77,211,110, 47, 94,188,144,138, 68,162,151, 23, 99, 66, 96, 52, 26, 97, 52, 26,171,147, 23, 19, 66, +170,255, 26, 12, 6,180,108,217,210,172, 39, 90, 0,125, 0,188,211,171, 87,175,177,159,127,254, 57, 59, 32, 32,160, 42,101, 72, +143, 21, 43, 86,124,115,239,222,189,163, 0,246,224,101,240, 70,115,159,120, 7,138, 68,162,253,159,125,246,153,117,255,254,253, + 25, 23, 23, 23, 80, 20,133,188,188,188, 46, 49, 49, 49, 29, 22, 45, 90, 52, 87,165, 82, 77, 6,112,174, 17,253,227,111,101,101, +117,100,212,168, 81,110, 61,123,246,228,183,106,213, 10, 70,163, 17,247,239,223,159, 17, 23, 23, 55,225,232,209,163,171,203,202, +202,198,194,252,124,109,148, 88, 44,158,102,109,109,189, 46, 36, 36,196,110,242,228,201,220,132,132,132, 18, 47, 47, 47,234,218, +181,107,142,135, 14, 29,154,187, 97,195,134,113, 74,165,114,101,121,121,249, 94,152,145, 67,209,202,202, 42,142,166,105, 55,115, +132,240,171, 27,188,185, 98,184, 93,211,166, 77, 15, 93,189,122,181,105,122,122,186,113,228,200,145,251, 0,224,210,165, 75, 1, +122,189,158, 26, 48, 96,192,153,236,236,236,241, 0,204,189, 72,182,177,179,179, 59, 49,113,226, 68, 59,111,111,111, 97,211,166, + 77, 41,145, 72, 4, 22,139,133,210,210, 82,151,132,132,132,126,183,110,221, 82,199,196,196, 20,107, 52,154,225, 0,226, 27,113, +158,186, 74,165,210, 41,108, 54,219,223, 96, 48,184, 2, 0,195, 48, 47,244,122,125,130, 92, 46,143, 0,112,253, 77, 39,136,147, +147,211,215,235,214,173,115,144,203,229,100,195,134, 13, 95,151,149,149, 77, 51,231,184,240,240,112,122,250,244,233,127, 74, 20, +244, 53,107,194,216, 33, 33,171,245,127, 52,239,129, 31, 15, 35,238,206, 45,224,101,218, 28,170,150,241, 71, 1,224,188,255,254, + 7,232,208,177, 51, 38, 77, 28,215, 32,231,144,190,110,159,177,185, 28,251,202,202,202,235,165, 21,154,195, 34, 33,127,252,196, + 9,193,201, 0,112,230,236,207,227, 59,117,178,189, 44, 17,242,198,241,249,252,174,122,173,174,232,244,197,236, 37,141, 17, 85, +174,174,174,231,108,109,109,133,197,197,197,121, 5, 5, 5,223, 13, 27, 54,108,237,158, 61,123,108,211,210,210,144,149,149,133, +133, 11, 23,138,179,179,179,231,197,199,199,223,208,106,181,117, 90,182,202,202,138,183,174, 88, 54, 34, 68, 34,113, 96,137,132, +214,176,146,216,193,203,187, 45,186,116, 29,134,193, 67,223, 69, 74,242,189, 46,123,194,215,220,123,241, 34,230, 83,177, 93,179, +181, 10, 69,211, 58,207,109,171,230,232, 57,124,212, 75,145, 21, 18, 18,138,167, 73, 73,101,233,207,233,127,159, 58,206, 8, 7, +247,109,201, 51,104,243,210,175, 93, 61,222,180,123,143,145, 0,208, 33, 34, 60,236,210,191, 39,217,246,253,250, 64, 73,217, 63, +228,190, 66,173, 97,179,253, 97, 48, 52,183,119,118,142,172, 52,153,136,190,180,212,221, 84, 81,225, 12, 0, 6, 54, 91, 43, 18, +139, 31,186,248,248,196, 62,189,123, 55,232, 19,134,233,241,113,253, 9,202,171, 56,167, 13,220,178, 69, 26, 56,119, 46,167,252, +249,115, 93,234,246,237, 21,249,177,177, 70,134,199, 35,238,131, 6, 81,142,189,123,243,231, 62,126,204,249,101,195,134, 32,118, + 88,152,215, 74,157,110,191,133,243,255,149,243,127, 29, 85, 78,240, 53,119, 31,238,172, 87,104, 81, 20, 5,145, 72,132,200,200, + 72,176,217,108, 48, 12, 3, 54,155, 93,231,123, 15, 15, 15,115, 42, 50, 90, 38,147,125,179,109,219, 54,167,129, 3, 7,130,207, +231, 87,127,193, 98,177,208,191,127,127,244,235,215,143,157,147,147, 51, 33, 50, 50,114,194,250,245,235,243, 21, 10,197,124,188, + 74, 12, 93, 15,122,183,104,209, 34,234,252,249,243,130,202,202, 74,196,198,198,162,164,164, 4, 92, 46, 23,110,110,110, 24, 48, + 96, 0,147,148,148,100,215,191,127,255,168,167, 79,159, 6, 3,184,108, 70, 93, 59, 72,165,210, 43,135, 15, 31,230,183,109,219, +150, 74, 73, 73, 65, 96, 96, 32, 0,160,180,180, 20, 35, 71,142,228, 79,158, 60,217,123,194,132, 9, 55,229,114,121, 79, 0,113, + 13,240,181,151,201,100,123, 71,141, 26,229,178,126,253,122,107, 43, 43, 43,164,167,167,231,202,100, 50,223,170,254,158, 48, 97, + 2,119,216,176, 97,206,155, 54,109,218,122,228,200,145, 37,114,185,124, 26,128,187,245,170,214, 87,130, 88, 40, 20, 34, 63, 63, + 31, 7, 14, 28,192,188,121,243,192, 98,177, 32,151,203,113,232,208, 33,252,251,223,255,174, 18, 52,102,137, 97,161, 80,216,207, +199,199,231,135, 75,151, 46,185,217,216,216,192,197,197,133,254,248,227,143,253,189,188,188, 4, 77,154, 52, 97,229,230,230, 34, + 42, 42,202,107,202,148, 41, 39, 50, 51, 51,103,104, 52,154, 6,151,212,156,156,156,118,159, 58,117,202, 35, 49, 49, 17,219,183, +111, 71,113,113, 49,184, 92, 46,108,108,108, 32,147,201,224,235,235, 75, 45, 91,182, 76, 56,108,216, 48,225,252,249,243,119,107, +181,218,118,102,156,163,182, 82,169,116, 71,239,222,189,189,194,194,194,108,100, 50, 25,170, 30, 12, 74, 75, 75,221,210,211,211, +187,132,132,132,140,141,139,139, 75,147,203,229,115, 0, 60,104,228,196,105,215,170, 85,171,224,145, 35, 71,178,114,115,115, 17, + 17, 17, 17, 92, 86, 86,214,206, 28,113,201, 48,204,159,102,177, 50, 17,194, 3,240,135, 11,173,184, 59,183, 48,251,189,133,229, + 46,238,238,156,243,231,126, 24,125,228, 88,243, 59, 54,130,151, 9,169, 21,106,232,198,142,122,218,113,192,192,119, 57, 67,134, +142, 44,223,249,237, 86,177, 57, 66,139,205,229,216, 31,216,255, 69,230,213,107,113,254, 23, 98,110, 13, 26, 61,124, 56,225,112, +108,188, 0, 96,201,162,247,217, 81, 39, 79,134,247,239,215, 57,167, 71,247, 14,153,147, 38,127,224,209,136,234, 54,111,222,188, +249,207,247,238,221,115,226,241,120, 40, 46, 46,182,223,185,115,231, 23,221,187,119,167, 83, 83, 83,145,148,148,132,231,207,159, +163,180,180, 20,253,251,247, 23,223,189,123,247, 59, 0,117, 10, 45, 29,221,103,157, 75, 19,253, 87,246, 2, 81, 83,157, 81, 41, + 37,250,220, 86, 23, 78, 93,104,115, 48, 66, 29,232,228,220,210,247,157,233,171,177,102,237, 81,246,143, 7, 54,134, 92,140, 57, + 8,208, 77,235,206, 8, 64,208,117,197,202,229, 80,150,105, 48,121,226, 44, 76,153, 56,203,158, 64,235, 76,140,149, 34,173,186, +196,198,138,243, 56,122,219,174, 47, 70, 1,112,171, 33,182, 46,254, 83,196,214, 26, 14,167, 41, 76, 38, 47,223,145, 35,143,167, +158, 61,219,140,232,116, 14, 44, 46, 55,219,202,206, 46,223,160,209, 16,189, 78,199, 81,171,213,174,169,137,137,206,221,151, 45, +187,120,109,195,134,158,159,176, 88, 29, 63, 54, 26,239,212,201,201, 48,157,131,191,249,198,209,127,230, 76,222,131,176, 48, 85, + 97,108,172,218,103,200,144,146,192,127,253, 75, 3, 0,101,207,159,115,158,174, 94, 45,116, 12, 10, 18,188,181,120,177,173, 81, +171,149,173, 89,179,166, 83,200,203,228,229,141,226,244, 24, 63,222, 24, 18, 30,222, 49,246,131, 15,122, 81,122, 61,107,208, 91, +111,221,223, 16, 17,241,226,247,112,254,145,245,204,185,114, 69, 83,236,229,133,192,145, 35,139, 60,164, 82,205, 31,217,246,223, + 83, 79, 11,170, 81,229,171, 53,187,230, 19, 42,162,163,163,123, 2,248, 25, 64, 88,112,112,112, 40, 0, 72, 36,146,124,133, 66, + 33,141,138,138,106, 80,100,177,217,108, 56, 59, 59,195,215,215, 87, 46,151,203,157,234,169, 64,150,201,100,114, 35,132, 84, 91, + 95,234,130, 70,163, 65,114,114, 50,218,180,105,147,141,151,137,104,235, 52,234, 8,133,194,212,164,164, 36,135, 71,143, 30, 33, + 46, 46, 14, 94, 94, 94,176,181,181, 5,155,205,134, 94,175,135, 82,169, 68,139, 22, 45,192,227,241,208,190,125,251, 66,149, 74, +229,213,192, 18, 16, 79, 36, 18, 37, 95,185,114,197, 61, 48, 48, 16,183,111,223,134,187,187, 59,100, 50, 25, 0,224,249,243,231, +184,118,237, 26,134, 12, 25,130,123,247,238, 97,204,152, 49, 89, 42,149,202, 23,128,166, 46, 66, 59, 59,187,220, 75,151, 46,101, + 7, 4, 4, 84,170, 84, 42, 58, 63, 63,159, 29, 27, 27,107, 40, 43, 43, 19,151,150,150,178, 21, 10, 5, 91,169, 84, 50, 42,149, +138, 77,211, 52, 71,173, 86,179, 47, 94,188,200,210,233,116,245, 6,200,172, 58, 79, 39, 79,158, 68, 64, 64, 0,162,162,162,240, +225,135, 31,226,151, 95,126,129,187,187, 59, 14, 31, 62,140,197,139, 23,227,201,147, 39,112,112,112, 64,171, 86,173, 26, 58, 71, +240,246,246, 78,121,248,240,161, 55,135,195,169,202,235, 88,149, 47, 15, 5, 5, 5,120,246,236, 25, 94,188,120, 1, 31, 31, 31, + 76,156, 56,241,217,139, 23, 47,124, 26, 26,121,174,174,174, 5,137,137,137, 14,109,218,180, 65,126,126, 62,108,108,108, 32,145, + 72, 96, 99, 99, 83,253,222,203,203, 11, 31,124,240, 1,100, 50,153,188,178,178,210,169, 33, 17, 20, 16, 16,112,238,226,197,139, + 14,214,214,214,200,203,203,131, 82,169, 4,195, 48, 16, 10,133,112,112,112,168, 22,242,201,201,201, 24, 58,116,104, 97,106,106, +234,192, 70, 88,224,104, 39, 39,167,164,248,248,120, 95, 66, 8, 50, 51, 51,241,228,201, 19,188,247,222,123,201,149,149,149, 45, +241, 95,204,217,183,119,207, 94,222,180,119,166,105,254, 40,190, 26,126, 87,156,105,211,103,115, 70,141,232,170,125,156, 24, 77, +241, 76, 79,208,206,223,186, 20, 0,238, 39, 40, 37, 26,186, 5,252, 90, 7,147, 99, 39,174,115,247,238,217,201,134, 9, 78,160, +240,228,113, 50, 62,169,139,123, 64,111,231,153,239,191, 63,195,191, 87,247,158,116,153, 74, 37,253,238,187, 45,237, 83, 83, 31, + 75, 1,192,203,203, 79, 62,119,238,162,187, 86, 34,145,252,231,107, 87, 76, 95,126,185, 59,225,252,229,220, 93,102, 84,217,203, +215,215,247,198,201,147, 39, 29,164, 82, 41, 36, 18, 9, 84, 42, 21,116, 58, 29, 30, 61,122, 84, 25, 25, 25,169,183,182,182,182, +202,203,203,131, 66,161, 0, 69, 81, 56,121,242,100, 38, 0,207,215,137,170,124,180, 0,224,189,193,126,236, 86,125,124,109, 57, + 60,131, 64,192,126,234, 12,202,200,163,136,216,233,204,185,251,109,206, 92,184, 61,105,212,232, 15, 29,123,244, 28,133,144, 85, + 99,245, 57, 57,153,129, 58,244, 72,170,205, 71,171,165, 15,250,140, 28, 51,106,220,154, 53,161, 8, 13, 9, 67,244,201,227,165, + 98, 17,173,177,182, 97, 75,130,186,116,171,252, 96,222,136,172,242,242, 28,247, 53,155, 34, 39, 14, 29,241,129, 91,247, 30, 35, +113,237,234,113, 68,132,135,197, 81, 2,242,183, 94, 70, 92, 13,112,104,134,121,215,165,105,211,253,242,156, 28, 87,161, 88,204, + 94, 24, 19, 35, 53, 26,141,119,198, 45, 94, 92,118,236,226,197,234, 7,144,143,105,218,133,197, 98,185,248, 14, 29, 26,159, 18, + 29,253, 46,207, 96,136,250, 8, 40,120,157, 51, 20,176,181,241,242,154,179, 32, 57,153,243, 32, 52,180,220,144,147, 83,210, 97, +209,162,194,218,126, 63,251,194, 5, 17,215,197,197,218,118,248,112,187,173,158,158, 68, 47,151,239,168,205,199,168, 54,206, 24, +177,216,230,224,153, 51,125, 9,155,221,115,233, 71, 31, 9,130,131,131,161, 84, 42,113,244,232, 81,236,216,190, 93,227,236,236, +252,208, 37, 33,225,158,191, 82,185,202, 92,206, 14,139, 22, 21, 26,141, 70,106,220,226,197,253, 19,159, 63,239,147, 39,151, 55, + 1, 0,103, 59,187,172, 14, 94, 94,113,187,163,163,159,124,221,180,169,201,220,122,126,127,246,172,211,145,244,244,153,118,118, +118,130,124,185,156,225,113,185, 69, 93, 90,181, 58,252,237,202,149, 63, 27,226,227, 57,124, 55, 55,107, 73,112,112,163,219,222, + 97,209,162,194,226,178, 50,102,193,218,181,221, 50,242,243,155,148,107, 52, 62,138,178, 50,153, 81,175,167,173,133,194,162,102, + 45, 90,200,213,177,177,185,205, 42, 42, 22,238, 2,228,127,214,248,169, 77,139,252,141,240,122, 28,173,223,228, 58,252, 57, 56, + 56,248, 55,187,107, 8, 33,102, 89,179,216,108,246,175,150,169,234, 1,135,162, 40,220,189,123, 23,246,246,246,144,201,100,224, +241,126,157,124,176,160,160, 0,191,252,242, 11, 30, 63,126,140,182,109,219, 86, 45, 99,212,173,136,120,188,247, 55,109,218,100, +163,213,106, 17, 23, 23,135, 14, 29, 58,128,199,227,129,195,225,252, 74, 4,202,229,114,180,110,221, 26, 75,151, 46,149,172, 95, +191,254,125,141, 70,179,166, 30,107,196,252, 89,179,102, 73,171, 44, 88, 89, 89, 89,104,223,190,125,245,247,142,142,142,184,127, +255, 62, 58,116,232, 0, 55, 55, 55,140, 29, 59, 86, 26, 17, 17, 49,223, 96, 48,124, 94, 23, 39,151,203,165, 3, 2, 2, 58, 2, +128, 72, 36, 2, 77,211, 79,173,173,173, 29,157,156,156, 68,214,214,214,156, 90,150,158, 20, 52, 77, 55,104,181,160,105, 26,121, +121,121,240,247,247, 71,105,233,203, 12, 46, 42,149, 10, 62, 62, 62, 80, 42,149,213,162,213,197,197, 5,106,117,253,174, 95,109, +218,180, 9,109,217,178,229, 0,145, 72,196, 99,179,217,120,240,224, 1, 2, 3, 3, 17, 25, 25, 9, 15, 15, 15, 8,133, 66, 36, + 39, 39, 35, 32, 32, 0, 87,174, 92,129,163,163, 35, 90,183,110,205,147, 74,165, 87,139,139,139, 47,103,100,100,132,214, 83, 79, + 90, 44, 22,227,202,149, 43,216,189,123, 55,158, 63,127,142,156,156, 28, 88, 89, 89,161, 93,187,118,104,213,170, 21,186,118,237, +138,228,228,100, 80, 13, 15, 38,153,175,175,111,244,237,219,183, 29, 8, 33,136,136,136, 64,121,121, 57,180, 90, 45,104,154, 6, +159,207,135,173,173, 45,250,244,233, 3, 71, 71, 71,248,250,250,226,208,161, 67, 14,131, 7, 15, 62, 45,151,203,219, 1,200,107, +168, 95,109,109,109, 23,174, 94,189,218, 93, 42,149, 34, 61, 61, 29,165,165,165,112,114,114, 66,175, 94,189, 92, 99, 98, 98, 22, +234,245,250, 45,255,173,217,252, 71,138, 44, 0,168,225,248, 78,157, 63,247,195,104,223,102, 37, 1,109, 91, 8,221,163,162,157, +220, 35,163,229,173, 1,192,223,207, 41,113,116,176, 48,235, 65, 98,116,214,249,115,199,227, 30, 63, 69,148, 57, 75,219,165, 21, +154,195, 23, 98,110, 13, 10,108,219,222,180,105,227,226,161,243,222,155,201,147, 58,189,139,252,204,227,136,185,116,215, 99,241, +135,179, 28, 63,223,252,253,153, 11, 49,183,232,210, 10,205, 42,243, 76, 89, 30, 95,239,249,182,171, 67, 89,225, 17,164, 36,113, + 33,176,242,135,151, 87,115, 40,149, 74,240,249,124,254,196,137, 19,141,203,151, 47,175,176,182,182, 22, 82, 20,133,203,151, 47, +203, 1, 12,108,136,183, 82,106, 75,140, 58,189,129,112, 89, 38, 66, 89,169, 41, 99, 49, 55,225, 81, 26, 6,244,235,157,223,189, +179,255,250,229,107, 54,175,240,109, 30,232, 56, 99,102, 24,123,109,232,164,237,160,208,163, 54,158,164, 20, 92,162, 14, 31, 19, + 0, 24,186,230,147, 80,164,166, 38,219,206,126, 71, 17,198,240, 4, 46, 45, 61,187, 89,109,223,125,121,144,143, 79,211, 38, 31, +204, 31,123,234,139,111,190, 24, 90,211,178,181, 39,124,245, 9, 0,125,205,233,219,191, 34,104,134,105, 65, 83, 84,150,178,162, +130, 69,116, 58,135,133, 49, 49,234,243, 55,111, 94,140,159, 61,219,170, 13,135,211,188, 13,135, 3,150, 78, 87,180, 18, 40,252, +196,100,202, 89,205, 48,214,105, 39, 78,184, 48, 92,238,189, 74,147, 41, 0, 38, 83,109,241,147,218, 76,137,142, 70,121,102,166, +190,248,234,213,202,190,223,124, 83,232, 62,112,224, 22,173, 78,231, 80,117,169,160, 41, 10, 84,149,235,132,201, 68, 49, 75,151, +210,132, 97,160,183,181,125, 7, 37, 37,205, 27,226,252, 48, 55,119,244,164,153, 51,135,158, 56,123, 22, 77,155, 54,173,190,159, +217,216,216, 96,241,226,197, 88,180,104, 17,239,254,253,251,157,142, 28, 57,210,233,243,207, 62,115, 2, 48,218,156,122,158,191, +121,211,246, 95,107,214,172,108,219,161,131,199,190, 3, 7,120,222,222,222, 0,128,103,207,158,249,110,220,176,193,211, 63, 32, + 32,127,253,251,239,239, 73, 92,190,188, 53,128,171,245,113,230,197,198,106,143,164,167,207,188,116,249,178,141,191,191, 63, 0, +224,201,147, 39,210,173, 91,183,206,106, 61,118,236,228, 53,115,231,174, 10,174,172, 84, 88, 23, 20,240,130,191,254,154, 57, 56, +110, 92,131,156, 85,245, 4,128, 94, 51,102,188,223,163,119,239, 86,163,103,206,180,243,240,240,160,196, 98, 49,116, 58, 29,114, +114,114,108, 19, 19, 19,189,163,203,202,148,199,110,222,140,128,209,216,255, 79, 28, 66,181,106,145,191,153, 37,235,183,243,226, +213,223, 94,209,209,209,228,149,154,172,190,129, 27,141, 70,179, 68, 22,195, 48,160, 40,202, 92,177, 5, 66, 8, 10, 11, 11,145, +144,144,128,103,207,158, 65,165, 82, 33, 45, 45, 13, 59,119,238,196,198,141, 27,113,231,206, 29,232,245,122,232,116, 13,231,160, + 21,137, 68,253,250,245,235,199,220,188,121, 19, 94, 94, 94, 16, 8, 4,224,114,185,224,112, 56,213, 47, 62,159, 15,103,103,103, + 40,149, 74,244,237,219,151, 45, 18,137,250, 53, 96, 37, 26, 50,126,252,120,110,213,255,229,229,229, 96,177, 88,213,162,165,188, +188, 28,197,197,197, 80, 40, 20,200,205,205,197, 91,111,189,197,149, 72, 36, 67,204, 61, 27, 21, 21, 21,229,114,185,220,166, 71, +143, 30,182,143, 31, 63,254, 77,182,223,159,127,254,185,178,178,178,146, 77,211,180, 89,142,246,251,247,239, 71, 84, 84, 20, 46, + 94,188,136,236,236,108,108,223,190, 29,251,246,237,195,201,147, 39,145,156,156,140,175,190,250, 10,223,125,247, 29,246,236,217, + 83,239, 57,106,217,178,229,224,136,136,136,206, 93,186,116, 17,178, 88, 44, 60,121,242, 4, 31,124,240, 1, 20, 10, 5, 28, 29, + 29, 1, 0,249,249,249,216,178,101, 11, 52, 26, 13,196, 98, 49, 92, 93, 93,249,107,214,172,233,238,232,232, 56,160,190, 58, 26, +141, 70, 35,139,197,130,167,167, 39, 66, 66, 66,240,221,119,223,225,220,185,115, 56,124,248, 48,230,206,157,139, 86,173, 90,225, +222,189,123,184,115,231, 14, 8, 33,245,222,100,248,124,254,216,125,251,246, 73,185, 92, 46, 76, 38, 19,202,202,202,144,153,153, +137, 91,183,110, 85, 30, 63,126,188,252,212,169, 83, 21, 87,175, 94,173,188,126,253, 58, 1, 80, 45, 56,131,131,131,237,185, 92, +238,219,102,116,169,163, 76, 38, 91, 49,107,214, 44,126,205, 49,155,151,151,135,209,163, 71, 11, 5, 2,193,114, 0,142,245, 17, + 68, 68, 68,252,105, 23,139,208,176, 80,235, 63,137,154, 28, 57,214,252, 14,207,244, 4, 81,209, 47,220, 51,178,141,221, 22, 47, +217,108,183,120,201,102,187,140,108, 99,183,168,232, 23,238, 60,211, 19, 28, 57,214,252,142, 25, 66,128,238,211,211,121,132,147, +189,205,142,209,195,135,147,239,190,219,210,126,222,123, 51,121,158,205, 23,131, 47,153, 8, 87,175,127,161,111,144, 7,213,166, + 21,205,255,238,187, 45,237, 71, 15, 31, 78,156,236,109,118,244,233,233, 60, 2, 13,132,157,145,218,243, 93,133, 60, 21,188,125, + 91,161, 87,207,182, 96, 83, 41, 56,122,120, 55,114,115,115,145,147,147,131,252,252,124,209,176, 97,195,144,151,151, 87,121,249, +242,101,185, 90,173,238, 9,224,105, 67,141,207,206,126,100,170, 44, 55,234, 76, 70,182,161,172,148, 83, 49,119,225,145,126,119, + 18, 57,211,243, 20,174,195,184, 60, 91,238,224,254,157, 14,236,222, 21,130,102,205,252,209,177,211,128,183,108,197, 55, 90,213, + 41, 94, 83, 17,253,211,209, 99, 39, 38,142,159,104,120,158,150,158,214,220,137,175, 37,132,232, 23, 46,251,190, 63, 91,228,222, +198,219, 47,200,241,113,138,209, 57,100,233,219, 63,158, 58,241, 69,246,181,171,199,209,189,199, 72,184,186,248,246,124,231, 29, +112,255,174, 22, 45,138, 16, 47,182, 88,156,170, 47, 45,245,100,120,188, 76,163,209,232,112,123,206, 28, 27, 29,135,227,108,212, +233,114,140, 58, 93,142,142,203,181,222,230,231,231, 70, 8,177,183,113,115,123, 65,184, 92, 15,131, 78,151, 66,209,116,179, 90, +159,206,121, 60, 55,177,167, 39,147,119,254,188,214,107,216,176, 18, 0,208,234,116, 14,207,211,211, 37,249,114,185, 36, 47, 63, + 95,146,145,149, 37, 73, 77, 75,147, 36,167,164, 72,146, 82, 82,172, 31, 38, 36,136,239, 63,124, 40,166, 88, 44, 39,115, 56,159, +231,228,180, 89,186,116, 41, 4, 2, 1, 12, 6, 67,109,215,108,168, 84, 42,188,243,206, 59,168, 0,186,152,195,105, 52, 26,169, +127,173, 89,179,242,163,149, 43,189,163,162,162,120,157, 59,119,134,157,157, 29,236,236,236,208,185,115,103, 28, 57,122,148, 59, +119,254,124,183, 21,187,118,189, 67,243,120,238, 13,113, 22,250,248,192,206,206, 78, 80, 37,178, 0,160, 69,139, 22,216,190,125, + 59,239,236,185,115,146, 79,126,248, 97,115,216,245,235, 1,154,140, 12,149,125,243,230,132,203,227,185,153,219,159, 0, 80, 86, + 89,233,191,101,235, 86,123, 7, 7, 7, 42, 63, 63, 31, 41, 41, 41,200,200,200,128,193, 96, 64,199,142, 29,169,195, 71,143, 74, +180, 44, 86,167, 63,121, 8,253, 70,139,252,141, 48, 27,117,196,209, 98, 94,221,128,174, 0,160,162,163,163, 73,213,114,226,171, +155, 99,181,152, 50, 71,104,189, 9, 20, 10, 5, 20, 10, 5,118,237,218, 85, 45,140,170,160,213,106,205, 17, 45, 1, 46, 46, 46, + 40, 45, 45, 69,243,230,205,127,101,201,226,112, 56, 96, 24, 6, 28, 14, 7, 60, 30, 15, 26,141, 6, 30, 30, 30,168,168,168, 8, +168,143, 83,173, 86,183,179,179,179,171,190,193,106, 52,154,106,145, 85, 85, 95,173, 86,139,146,146, 18,148,151,151,163,172,172, + 12, 42,149, 42,208,156,246,154, 76, 38, 36, 36, 36, 60,107,209,162, 69, 59, 22,139, 5,177, 88, 44, 82,169, 84,213,190, 69,197, +197,197,216,187,119,175,106,234,212,169, 14, 39, 79,158,108, 48, 97, 49, 69, 81,248,247,191,255, 13, 30,143,135,138,138, 10,124, +247,221,119, 88,176, 96, 1, 56, 28, 14,202,202,202,176,125,251,118,124,240,193, 7, 96, 24, 6, 90,173, 22, 91,183,110,173,147, +235,209,163, 71,207,111,222,188, 25,216,190,125,123,219, 99,199,142, 21,244,239,223,223,113,224,192,129, 16, 8, 4, 80,171,213, +208,235,245,232,210,165, 11, 90,182,108, 9,185, 92,142, 51,103,206, 20,250,250,250, 58,220,186,117,203,148,151,151,151,209,128, +184, 38, 53, 44,134, 48, 26,141,200,207,207,135, 66,161, 64, 65, 65, 1,114,114,114,144,157,157, 13,134, 97,208,128,206,130,189, +189,253, 24,127,127,127, 22, 0, 8, 4, 2,180,107,215, 14, 43, 87,174, 52,168,213,234,241, 0,206,188, 42, 54,248,251,239,191, + 63,118,237,218, 53,198,197,197, 5, 73, 73, 73,112,116,116,100,248,124,254,219, 90,173,182, 94,107,148, 76, 38, 11,255,233,167, +159,236,170,196,117, 85, 63, 87, 84,188, 60, 29,163, 71,143,182,219,183,111, 95,184,193, 96,168, 83, 92,231,230,230,254,121, 86, + 3,138,165,249,179,184,109, 4,224,180,243,183, 46,141,140,150,183, 94,188,100, 51,211,210,255,229,195,235,236, 57, 96, 62,255, +236,195,214,147, 71, 88,159,178, 17, 40, 57, 13,241, 12,238,231,190,109,248,240,254,244,196, 9,193,201, 28,142,141,215,142,157, + 97, 82,169,211,187, 53, 26, 97, 13,123, 7,107,120,121,114,169, 35,167, 30, 75,151, 45,255, 68,179,127,223, 23,169, 63, 30,140, + 30,196,101, 95, 24,112, 38, 38,107,110, 93,220, 79,159, 41, 78, 86,104,248,126,202,162,120,202,206,169, 27,218,181,109, 1,169, + 99, 9,190, 15,143, 68,211,102, 29,161,209,104, 96,109,109, 45, 52, 26,141, 58, 22,139,181,223, 28,145, 5, 0, 23, 47, 42, 76, +173, 91, 43,180,172, 50,147, 97,222,130,207, 71,245, 31, 60,188, 85,159, 62,253, 76,231, 47,156,215,117, 11,212,229, 14, 30,216, + 46,255,236,133,109,201,185, 57,105,190,173, 3,186,227, 81,226,229, 65,132, 32,129,162,106, 23,157,137, 41, 56, 91,105,122,116, + 57, 50,114,182, 73,109,186, 39, 88,187,238,225,224,161, 67,167,249, 7,245, 8, 50, 93,136,185,164,229,162,240,177,117,247,174, + 47,230,205, 28,124,236,135,253, 91, 7,156, 61, 19,238, 83,170,204,136,222,179, 7, 26,252, 77, 65, 40,202,209, 74, 36, 42, 40, + 42, 43,107, 59, 38, 44, 76, 57,110,241,226,115,109, 24,166,149, 81,167, 75, 11, 3,212,132, 16,202,100, 48, 44,127,120,224, 0, + 43,148,162,150,133, 1,166,117, 44, 22, 59,219,100,170,112,165,105,225,106,128, 9,123,109, 39,183,209, 96,112, 98,120, 60,186, +224,242,101, 67,192,187,239,106,170,230,163, 80, 40,196,137, 19, 39,192,229,114,171, 95, 28, 14,167,250,189,147,147, 19,168, 87, +219, 72,127,243,224, 87, 11,103,213,188,205,203,203,131, 68, 34,129,163,163, 35,242,242,242,112,253,250,117, 60,125,250, 20,108, + 54, 27,131, 6, 13, 2, 93,135,111,243,235,156,227, 22, 47,238,239, 23, 16,224, 49,103,206, 28,250,245,251,163, 78,167, 67,113, +113, 49, 70,140, 24, 65,159, 57,115, 70,118, 54, 51,115, 56,128,253,245,113, 6, 14, 29, 90,148,127,228, 72,173,191,221,190,125, +123,234,151, 95,126,225, 13, 26, 56,112,209,135,235,214,109,251,122,223,190, 44,163,193, 32,107, 76,219,105,154,166, 41,138,130, +187,187, 59,138,139,139, 81, 94,254,114, 5, 91, 44, 22,195,214,214, 22,122,189, 30, 38, 66,216,127,230,248,169, 75,139,252, 77, +176,179,134,224,250,149,101,139,121,181, 46, 90,117,161,232, 85,243,198, 98, 50,153,204, 18, 89,108, 54,187, 65,159, 43,115,172, + 92,175,195, 28,161, 85, 85, 87, 62,159,255, 43, 75, 86,149,192,170,170, 39, 77,211, 96,177, 88, 13,222,196, 95,137, 33, 86, 89, + 89, 25,142, 30, 61,138,158, 61,123, 86, 47, 75,149,150,150, 66,161, 80,160,180,180, 20,149,149,149,120,254,252, 57, 46, 94,188, + 8, 31, 31, 31,192,204,224,175,169,169,169,113, 77,155, 54,237, 80,117, 19,239,221,187,183,219,158, 61,123,114,134, 12, 25,226, + 66, 8,193,170, 85,171, 10,187,116,233,226, 80,243, 38,223, 16, 88, 44, 22,174, 95,191, 14, 31, 31, 31, 16, 66,192,225,112,240, +228,201, 19, 72,165, 82,152, 76, 38, 48, 12,131,130,130, 2, 88, 89,213, 31, 35, 49, 33, 33, 97,250,140, 25, 51,114, 36, 18, 73, +155,162,162,162, 92, 30,143,215, 35, 54, 54,214, 93,167,211,193,218,218, 26,214,214,214, 56,125,250, 52,108,108,108,240,254,251, +239,103,170,213,234,235, 34,145,200, 73,173, 86,199,231,229,229,173,106,204,249, 54, 24, 12, 80,169, 84, 40, 41, 41, 65,113,113, + 49,148, 74, 37, 42, 43, 43, 27,172, 99,109,232,209,163, 7,162,163,163, 89,159,126,250,233, 15,169,169,169, 0, 0, 47, 47, 47, +188,255,254,251, 44, 87, 87, 87, 60,127,254, 28,113,113,113,208,233,116, 32,132,212, 59,121, 25,134,233, 61,117,234,212,238, 30, + 30, 30,148, 78,167,131,201,100,130, 70,163, 65,213,251,204,204, 76,248,249,249,209,158,158,158,111,165,166,166,246, 70, 29, 27, + 43,106, 62, 48,252,209, 8, 9,249, 88,139,191, 33,242, 51,143,195,149, 45, 5,104,107, 16,245,113, 20, 21,190, 89, 20, 23,185, + 92,190,110,233,199,191,188,251,245, 38,157, 83,118, 46,208,194,127, 36,124, 91,245,197,244, 41, 6,124,250,217, 81,120,120,182, + 64, 70, 70, 6,122,247,238,205,201,201,201,153, 81, 94, 94,190,216, 92,238, 11, 23,110, 26,207,159, 62, 51,118,220,219,211, 58, +244,235, 55,196,112,238,220,105, 36,196,159, 75,156,241,246, 24, 57, 49,149, 83,118, 54,130,123, 79,146,238,248,182,105,215, 11, + 90,131,177, 7, 16,186, 9, 8, 37,117,207,119,104, 79,157,114,166, 79, 29, 15,159, 50,113,242, 59,109,251,246, 29,160, 63,119, +225, 39,196,221,184,240, 96,243,166, 89, 87, 62,221,122,168,119,255, 65, 99, 90, 59, 58, 93, 63,237,223, 92, 51,211,221, 94,242, +236,251, 61,197,248, 27,131,225,240,249, 6, 0,180,141,167,167,219,177,139, 23,211,219,177,217, 44,107,192, 72, 8,105, 1,192, +129,102,152, 21, 39,103,206, 12,244,123,117, 35, 53, 0, 38, 63,128, 46, 5,180, 34,128,139, 58, 66,230, 48,124,190, 9,175,174, +139, 52, 69,129, 16,242, 43,145,245,186,208,162,105,186, 65, 3, 64, 77,206,154,247,162,170, 7,234, 29, 59,118,128,199,227,129, +203,229,130,205,102, 55,232,126, 81,147, 51,241,249,243, 62,123,247,239,231,213, 38,178,138,138,138, 80, 84, 84,132,242,242,114, + 76,152, 48,129, 19,118,231, 78,123,188,114,253,168,139,211,195,217, 89, 35, 18, 8,242, 31, 61,122,228,210,170, 85,171, 95,213, + 87,169, 84, 66, 32, 16, 96,255,129, 3,156,224,161, 67,223,235,123,250,244,102, 52, 16,255,170,182,182, 83, 20, 5,169, 84, 10, + 91, 91, 91, 80, 20, 5,131,193,128,188,188, 60, 36, 38, 38,226,206,157, 59, 96, 81,148,225,207, 28, 60,181,105,145,191,161, 85, +235, 55,203,135, 85, 22, 45,170, 46,235,139,185, 66,139,197, 98,189,177, 85,171, 46,152,179,116, 40, 20, 10, 31,230,228,228,116, +115,117,117,133,193, 96,168, 22, 90, 53, 45,113, 85, 55, 61,129, 64,128,251,247,239, 67, 40, 20, 62,172,172,172,172,151,147, 16, +242, 86,167, 78,157, 16, 21, 21,133,203,151, 47, 35, 45, 45, 13, 21, 21, 21,208,104, 52, 80,171,213, 72, 76, 76,132,201,100,130, +191,191, 63, 68, 34, 17,132, 66,225,195, 42,203, 87, 93, 80,169, 84,185,108, 54,187,133, 64, 32,168,254,204,217,217, 25, 69, 69, + 69, 38,189, 94,143,189,123,247, 42,101, 50,153, 72, 32, 16,152, 45, 92, 41,138,130, 92, 46,135,155,155, 91,181,143, 86, 89, 89, + 25,164, 82,105,149,176,128, 70,163,129,149,149, 21, 8, 33, 13,157,163,202,148,148,148, 15,107,252,223,113,220,184,113, 63, 70, + 70, 70, 54,139,137,137,193,173, 91,183,224,232,232,136,245,235,215,167,165,167,167, 79, 4,112, 71, 46,255, 99,253, 34,205, 25, + 67, 69, 69, 69, 71, 31, 62,124,248, 86,167, 78,157,170,175, 18,189,123,247,166,122,247,238,237, 80,211,212, 95, 80, 80,128,219, +183,111, 35, 38, 38, 6, 20, 69, 33, 57, 57,217,168, 86,171,127,172,135,154,227,234,234,186,103,229,202,149, 98,131,193, 80, 61, +182, 5, 2, 1,248,124, 62, 56, 28, 14, 88, 44, 22,210,211,211, 49, 98,196, 8,201, 55,223,124, 19,174,209,104,188, 1,252,102, +160, 46, 90,180,232,111,233, 99,163, 80, 67,119, 63, 65, 41,241,247,115, 74,220,185,227,211,110,179,231,188,188, 70,236,220,241, +169,193,223, 79,154,120, 63, 33, 95,210, 65,138, 6, 39,230,153,152,172,121, 90,253,153, 97,103,206,254, 60,126,201,162,247,217, + 94, 94,126,242,152, 75,119, 61,250, 26, 62,161,236, 29,172, 81, 84,168, 68,122,102, 62, 82, 51,180,196,203,203, 79, 30,119,251, + 33,239,179, 45, 95,250,170, 42, 42, 15, 93,186,146,251, 83, 3,244,149, 87,175,167,141,220,252, 21,239,202,180, 25, 29,185, 2, +129, 11,138, 11, 31,194,195,195, 17, 35,130,219, 96,247,190,235,144, 72,236,224,228,228, 4,154,166, 69,230,182,189,176,176,144, + 58,122,240,234,187, 83,223,153,213,101,224,128,161,134,179,231, 78, 49,151,207,159,188, 30,190,115,197, 49,194, 82, 9, 41, 82, + 38,104,210, 84, 22,255, 44,229,254,196, 62,253, 38, 64,192,177,242, 1, 90,214, 58, 96,171, 55, 24, 16,100, 70, 69,134,242,167, +190, 51,187,235,192,129,195, 13,231,206, 29,199,185,211,251,110,174, 94,221,228,116,218,139, 3,156, 27,119,178,249, 35,199,206, + 45,137, 62,243, 88, 59,102, 88,211,167, 46,162,118,106, 32,237,111,171,178,104,138, 82, 22, 22, 20, 88,179,217,108,117,248,164, + 73,201, 0,160,103,152,162, 50, 22,203,145,162,168, 39, 0,158,172, 3, 28,192,229,150,142, 51, 24,140,139, 61, 60, 56, 76,110, + 46,171,196,104, 52,178, 0,238,146,223,230, 95, 4,139, 97,242, 13, 26,141,187,219,192,129,172,138,140, 12,182,216,201,201, 0, + 0,122,189,190, 65,161,133, 58, 54,173,188,206,105,110,251, 42, 42, 42, 96,170, 67, 8,190,206,153, 39,151, 55,121,245, 16, 94, + 13,189, 94, 95, 45,178,138,138,138,160, 80, 40, 32, 18,137, 80,160,209, 56,153,195, 57,160,115,231,189, 97,161, 14, 57, 34,244, + 0, 0, 32, 0, 73, 68, 65, 84,161,139,143, 28, 61,202,169, 41,178,170, 94,108, 54, 27, 27, 55,109,226, 44, 88,178,100,238,123, + 12,179, 16,181, 44,131,214,213,159, 85, 15,237, 44, 22, 11, 12,195, 32, 35, 35, 3,153,153,153,200,200,200, 64, 70, 70, 6, 4, + 2, 1,200,159,188, 9,232,111,236,159,133, 26, 75,133,179, 95,183,114,213, 27,222,161, 49,206,240,230, 10, 3,163,209,248,135, + 10, 45,149, 74, 21,115,241,226,197,206, 35, 71,142,100,110,222,188, 9,153, 76, 86, 45,180,170,254, 86, 45, 71, 9,133, 66, 28, + 59,118, 76,167, 82,169, 98, 26,152, 76, 23, 79,159, 62,221, 33, 36, 36,132, 61,125,250,116, 60,122,244, 8,115,230,204,129, 66, +161,128, 82,169, 68, 81, 81, 17, 42, 42, 42,208,185,115,103,240,249,124,196,199,199,235, 43, 42, 42, 46, 54,180,116, 38,151,203, +203, 29, 29, 29,157, 95,255,110,236,216,177, 78,223,126,251,109, 69, 82, 82,146,190, 91,183,110,214,230, 10,142, 42, 28, 60,120, +176,218, 82,247,244,233, 83,124,251,237,183, 32,132,128, 16,130,187,119,239,226,243,207, 63,175,142,125,214, 72,220, 41, 44, 44, + 52,232,245,122,248,248,248,192,213,213, 21,149,149,149,248,242,203, 47, 13, 0,238,252,183, 70,115,101,101,229,145,105,211,166, +125,116,239,222, 61,103,134, 97, 94,154,180, 95,181, 79,167,211, 33, 37, 37, 5,137,137,137, 72, 74,250, 63,246,174, 59,190,169, +234,125, 63, 55,187, 77,186, 23, 29,180,140, 2,165,139,101, 1,101,239,213, 34,138,130, 3,196,197, 82, 20, 5, 68, 16, 4, 4, +148, 33, 32,160, 32, 75, 5,100,111, 40,200,110, 41,163, 32,155,238,210, 66,103,210, 38, 93, 73,155,125,199,249,253, 65, 91, 11, +118, 36, 5,253,169,223, 60,159, 79, 62,185,185,185,247,201, 57,231,158,156,251,220,247,188,231,125, 83, 80, 82, 82, 82,253, 32, +112,251,246,237, 82,154,166,247,214,197,235,233,233, 57,247,231,159,127,246,150, 74,165,143,245,231, 42,107,104,149,149, 84,165, + 82,193,197,197, 5,253,251,247,247, 58,119,238,220, 92,163,209, 56, 15,255, 13, 80,175,190,156,214,249,227, 15, 95,194,200, 40, +105,238,193,232,252,203, 43,190,157, 94,233, 12,239,149, 56, 50,202, 47,247, 78,170, 11, 94,125,249,112,103, 0,121,168,223, 79, +139, 59,127, 65,113,164, 75, 23,215,152,131, 71,143,254, 50,123,230,167, 55,103, 76, 31,239,169,211,103,216, 5, 54, 19, 83, 0, +144,153,109, 34,119,147, 56,195,138,149,159,222, 92,178,252, 7, 94, 97,113,217,196,223,127,175, 59,188, 65, 77,241,194,227,193, + 46, 48,184,183,188, 77, 80,143, 22, 87,175,236,128,131, 84,143,182,193,157, 49,120,208, 11,136,137,189,141, 2,149, 1, 10,133, + 2, 70,163,177,222,112, 9, 41,119, 15,141, 37, 20, 9,160, 8,149, 67,241,136,221,216,113,239,247,140,140,124,145, 68, 71, 31, +101, 14, 31,218,113,105,239,175,107,247,243, 68, 66,129,222,228,108,162, 40,131, 26,188,132,164, 10,237,163, 7, 26,161, 68, 84, +183,249,181, 50,176,107,104, 88,176,247,216,113, 19,157,135, 13, 29, 65, 78,156, 56,204,237,221,179, 45,102,239,150,118, 59, 56, +158, 70,164,200,213, 73,212, 26, 90, 77, 40,177, 75,133,134,211, 21,102,182, 50,248, 70,190,106, 6,246,255,107, 59, 16,225,184, +108, 98, 50,181,128, 80,152, 75, 24,198, 27, 52, 93,242,149,193,144,191, 72, 44,110, 62, 95, 32,120, 14, 20,197,153, 41, 74, 11, +147, 41, 19, 0,220,114,114,124, 76, 78, 78, 5,124,131,161, 21, 88,182,214, 0,200,102,163, 49,175, 34, 55,215,199,173,119,111, +201,253, 5, 11,164, 77,186,118, 53, 80,149, 62,196,245, 9, 45, 62,159, 15,240,120,156, 37,156,150,214, 79,175,215,131,171, 35, +180, 74, 67,156, 12,195, 60, 38,178,170,132, 86,213,255,197, 18,206, 77,243,231, 95, 13, 24, 60,184, 36, 54, 54,182, 73,159, 62, +125,168,242,242,114,148,151,151, 63, 38,182,124,125,125,169,208,240,112,233,238,152,152, 64, 75,219,211, 34, 17,205,227,253,229, + 66,235, 95,142, 58, 19, 73, 11, 26,152, 66,179, 88,104, 89,104,209,162,105,154,134,151,151, 23,138,138,138,234,188,241,243,120, + 60,216,219,219, 87,205, 17,215,187,242,206,104, 52,174,158, 49, 99,198,148,161, 67,135,122,180,109,219, 22, 42,149, 10, 77,154, + 52,129,157,157, 93,181,239, 88, 21,223,205,155, 55,241,243,207, 63,107,140, 70,227,234, 6, 56,191, 91,190,124,249,135, 35, 71, +142,116,243,246,246,134,171,171, 43,238,222,189, 11, 87, 87, 87,104, 52, 26,164,166,166,194,209,209,177,218,111,231,232,209,163, +229, 70,163,241,187, 6,196, 27,137,139,139, 51, 59, 58, 58,222, 85,169, 84,252,146,146, 18, 65,105,105,169, 64,163,209, 8,213, +106,181,240,228,201,147, 30,206,206,206,186,243,231,207,171, 2, 2, 2,248, 15, 30, 60,224,211, 52,221,160,122,165, 40, 10, 83, +167, 78,133, 72, 36,130,209,104,196,234,213,171, 49, 99,198,140,106,159,172,229,203,151, 99,206,156, 57,213,194,121,243,230,205, +214, 13,156,132,192,108, 54,131,166,105,139, 23, 40, 60,213, 19,177,101,130,189, 32, 61, 61, 61,170, 75,151, 46,167,247,237,219, +231, 94, 25,147, 12,133,133,133, 40, 44, 44,132, 74,165, 66, 69, 69, 5, 24,134,129,159,159, 31, 10, 11, 11,113,248,240, 97,117, +121,121,249, 96,212,179,226,144,207,231,143,235,217,179,167,224,201, 50, 84, 61,229, 85,137,119,137, 68, 2,185, 92,142,190,125, +251,138, 99, 99, 99,199, 1,248, 87, 11,173,154,225, 29, 6, 13,126, 79, 20, 18,214,205,116, 39, 49, 58, 55,184, 69, 97,238,152, + 17, 78,199, 1,224,118, 66,161,243,157, 84, 23,132,132, 69,145, 65,131, 93, 35, 10, 11, 54,181, 3, 96,174, 47, 93, 15, 0, 56, + 75, 37,163, 6, 14,232, 42,119,148,201,120, 43, 86,110,254,237,199, 31,191,123,110,255,241, 63,194, 59,172, 88,249, 40,188,195, +192, 1, 93,185,148,228,148, 81, 0,182, 88, 42, 94,162,162,134,223,250,121,235,207, 72, 73, 60,239,251,249,212,246,226,146, 66, + 26,246, 14,254,136,232,216, 4,155,182,222,195,157, 59,119, 10, 76, 38, 83,223,122,251, 55, 69, 2, 18,147, 18,130,218,133,133, +122,143, 29, 55,193, 41, 42,106, 4,162,163,143,224,215,109, 91,226, 94,121,125,228, 79,249,165, 26,190,151, 80, 42,146, 18, 78, +204, 23, 57, 11, 68, 18,123,165,201,244, 40, 2,129, 80,104,231, 4,140,170,247,198, 51,105,194, 24,231,126, 3, 70,224,248,137, + 35,248,117,219,166, 11, 95,134,189,186,165, 69,167, 16,170,235,115,223, 78,110,209,178, 69, 51,109, 69,161,134, 71,137,205, 6, + 3,231,248,237,182,172, 85,153,115,198,101, 2, 88,137,127,233,170, 67, 49,203,222, 49,154,205, 99,252, 35, 34,174,203,175, 95, +111,247, 13, 77,187,125, 1,148,124,105, 50,101,237, 3,114,203, 0,222,196,202, 49,125, 37, 96,167, 23, 8,124,156,121,188,219, +229, 44, 59, 20,124,126, 34,106,127, 16,191,251,235,176, 97, 93, 62,206,200, 16,121,246,232, 97, 47,143,137,145, 86,102, 34,169, + 87,104, 9, 4, 2,144,186,167,186, 30,227,164,182,111,231, 1,143,166,252,235, 26,227, 68, 34, 17,116, 58, 29,104,212,105,209, +125,140,211,231,212,169,220,140,140,140, 54,110,110,110,143,137,172,146,146,146,234,109,131,193, 0,157, 78, 7,123,123,251, 68, +125,237, 51, 34,143,113, 22,198,197, 25,150, 78,157, 58,239,141,215, 95, 95,123,246,220, 57, 59,119,119,119,168,213,234,199,132, +150,201,100, 66,191,254,253, 69,203,111,221, 26, 11,141,102,190, 37,237,217,164,111,223, 6,253,129,249,124, 62,184,191,120,234, +240, 63,128, 9,181, 9, 47, 94, 67, 83, 56,150,174, 58,172,227, 6,249,228,234,190, 57, 17, 17, 17,134,180,180, 52, 4, 4, 4, + 84,139,149,154,191,233,228,228, 4, 23, 23, 23,220,188,121, 19, 95,127,253,181, 30,192,156, 6, 56,203,117, 58,221,107, 3, 7, + 14,212, 11, 4, 2, 4, 7, 7, 87,199,207,226, 56, 14, 98,177, 24, 50,153, 12,183,110,221,194,240,225,195,117, 58,157,238, 53, +252, 57,134,214,147,156,106,157, 78,247,230,160, 65,131,116, 73, 73, 73,232,217,179, 39,238,220,185,131,138,138, 10, 84, 84, 84, +224,225,195,135, 8, 13, 13,133, 78,167,195,250,245,235,245, 58,157,238, 77, 0,234,250, 56,203,203,203,135,207,152, 49,131,191, +107,215,174, 22,126,126,126, 97,157, 59,119,110,219,191,127,255, 86, 47,191,252,114,179, 97,195,134,249,180,105,211,198, 48,120, +240, 96,207,161, 67,135,122,234,116, 58,225,229,203,151, 21, 52, 77, 15,109,160,156,213,226, 36, 45, 45,173,122,170, 80, 32, 16, +160,168,168,168, 58,114,127,213,160, 84,135, 16, 30,208,144,216,174, 18, 88, 85,130,203, 2, 63,183,218, 56, 27, 60, 73, 44, 22, + 87, 89, 60,137, 5,156,183,147,147,147, 7,246,238,221,251,246,123,239,189, 87, 94, 80, 80, 0, 71, 71, 71, 4, 6, 6, 34, 40, + 40, 8, 30, 30, 30, 48,155,205, 56,116,232,144,246,240,225,195,247,212,106,117, 95,252, 57,134,214,128, 39,218,241, 97,109,131, +108,149, 53,171, 74,104,217,217,217,193,207,207,175,170,109, 31, 90,211,158,141,196, 95,203, 89, 41, 96,250,247, 27,220,114, 88, +228, 75,206,135,142, 92, 17,175, 93,119,248, 94,196, 0,108,118,111,174, 57,234,222, 92,115, 52, 98, 0, 54,175, 93,119,248,222, +161, 35, 87,196,195, 34, 95,114,238,223,111,112,203,164,196,148,182, 53,243, 30,214, 86, 78, 59, 59,187,110, 61,123, 68,148,198, + 94,186,192, 45, 89,254, 3,175, 95,223, 87,110,109,249,233,208,161, 45, 63, 29, 58,212,175,239, 43,183,150, 44,255,129, 23,123, +233, 2,215,179, 71, 68,169,157,157, 93, 55, 75,234, 62,105,194, 24,231,200, 97, 35, 16, 29,125,136,217,191,123,253,242, 61, 7, +210,123,191, 63, 37,174, 48, 45,237, 14, 81,230,157,130,144,151,141,228,228,100,117,165,200, 74,179,132,115,226,248, 49, 53, 69, +214, 69,119,239,158,155,147,147,193,158, 57,115,140, 62,119,238,150,254,226,109,165,250, 70, 82, 81,137, 92, 85,242, 64,163, 41, + 54,113, 28, 11,150,101,249, 95,125, 85,237,176, 91,235, 53,234,222,189, 15,206,159,221,137,109, 91, 55,170, 57, 14,134, 81,251, +247,179,163, 70, 45, 32,205,154, 55,111,182, 99,247, 78, 42,234,197,151,156, 9,192, 13, 31, 57,194,101,215,158, 93, 84,203,214, + 45,155, 7, 6, 86,135,180,249,215,245,165,207,129, 10, 10, 72, 86,252,254,123,103,135,158, 61,239, 50, 66, 97,208, 66,145,168, +213, 26, 64, 60, 10, 96, 39, 2,244,124,128, 55, 31,240,211, 11, 4, 29,236, 25,230, 78,185, 78,215, 20, 0, 22, 17,242,160, 54, +206, 5, 64,169, 38, 59,251,194,205, 31,126, 48, 54,121,237, 53, 55,113,147, 38, 78, 96, 89,170,106,124,175,235, 37, 16, 8,158, +180,192,212,201,233,231,225,145,127,244,232, 81, 4, 5, 5,193,207,207, 15, 53,125,100,171, 2,114,187,187,187,227,192,129, 3, + 32,143, 7,167,174,147,179, 83,139, 22, 55,151, 45, 93,106,226, 56, 14,165,165,165,127,178,102,149,150,150,130,227, 56,156, 56, +126,220,164,121,148, 9,196,162,186,247,229,243, 43,222,232,213,107, 73,100,100,164, 57, 35, 35,163,122,229,117,149,101, 75,169, + 84,194,193,193, 1, 6,163,209, 31,128,212, 18, 78,229,201,147, 50, 52, 48,174,215, 98,209,250, 43,250,210,191, 93,100,213, 76, + 40, 61,193, 34,139, 22,195, 48,240,247,247,127, 44,165, 11,143,199,123,236,101,229,138,195,237, 73, 73, 73,167, 6, 15, 30, 60, +239,249,231,159,159, 52,111,222, 60,126,219,182,109,161, 86,171,225,234,234, 10, 47, 47, 47,164,166,166,226,232,209,163,108, 81, + 81,209, 6, 0, 11, 81, 75, 0,187, 90, 16,147,158,158, 30,213,190,125,251, 61,179,102,205,114, 30, 52,104,144,208,223,223, 31, +132, 16,220,186,117, 11, 7, 15, 30, 52,111,217,178, 69, 83, 41,178, 98, 44, 44,235,105,185, 92,254,202,208,161, 67,119,140, 27, + 55,206,145,101, 89,225,195,135, 15, 97, 52, 26, 65,211, 52,114,114,114,204,209,209,209, 21, 58,157,110, 12,128,211, 22,240,221, + 44, 43, 43, 11, 61,115,230,204,184,203,151, 47,127,253,222,123,239,185,247,239,223, 95,196, 48, 12, 46, 93,186,164,234,212,169, +147,151, 82,169, 52, 31, 56,112,160,216, 96, 48,204, 97, 89,214,162, 20, 60, 20, 69, 65,163,209,192,195,195, 3, 70,163, 17, 28, +199,193,100, 50,193,193,193,161, 58,109, 18, 33, 4,214, 56,215, 63,209, 7,248,102,179, 25,175,191,254, 58, 56,142,195,234,213, +171,193, 48,140,213,100,206,206,206, 55,110,223,190, 29,213,177, 99,199,106,241, 82,213,135, 36, 18, 9, 60, 60, 60,224,238,238, +142,232,232,104, 8,133,194, 27, 13,249,187, 85,226, 78, 81, 81, 81,167, 51,103,206,116,187,119,239,222, 91, 0, 58,154,205,102, + 63,150,101, 41, 30,143,167, 32,132,220,213,104, 52, 63,193,194, 20, 60, 74,165,242,235,183,223,126,187,211,206,157, 59, 29, 4, +130, 63,254, 26, 2,129, 0, 18,137, 4, 85,193, 49, 9, 33, 48,153, 76,152, 59,119,174, 70,171,213,126,253, 95, 25, 37, 34, 58, +119,197,166,245,107, 28,206,157, 63,165, 74, 78,199, 65, 87,215,228, 39,251, 95, 94, 97,193,166,118,242,220, 92,135,136,206, 93, + 45,226,164, 77,230,226, 55,199, 76, 11,168, 76,193, 51,247,225,195,172,141, 59,182,175,202, 4,128,111,191, 91,221,166,176,184, +108, 98,114, 82,202,168, 13, 27,118,119, 99,204,230, 98, 75, 56,255, 16, 47, 59,212, 32, 48, 0,184,118,235, 94, 97,139,225,175, +157,156,211,186,165,211,139,202, 98,125,126, 69,133,238, 35, 0,153,150,214,189, 71,247,222, 56,127,122, 23,126,221,182, 67, 67, + 56,190,193,195,195,131, 0, 64,114,178, 7, 73, 78, 46, 35,127,248, 21,187,104,133,228,206,194,105, 31,245,159,166,214,148,124, +183,122,125,253, 83, 41,237, 59, 60,143,246, 29,158,199,148,143,190,112, 14, 13, 11, 14, 0,128,253,251,193,134,181, 78, 58, 54, +239,203, 5, 47, 46, 92,184, 0,154,114, 35,170,210,245,164, 38, 36, 29,207,204,132,233,223,220,143,230, 49,204,165,133,132,188, +172,139,139,107,215,237,179,207,126,191,184, 98, 69, 11, 53,159,223,253, 43,128,227, 81, 20, 11, 66,236,121, 60,158, 66, 70,211, +183,202,197, 98, 31,138,227,158,115,100,217, 67,116, 61,249, 63,231, 49,204, 53, 76,155,214, 70, 87, 82,226,217,227,243,207, 61, + 4,159,125,198,171,207, 25,190,230,255,215, 18,206,235,119,239, 30,159,248,254,251,249,243,231,205, 27,188, 97,227, 70,251,118, +237,218,161,160,160, 0,193,193,193,240,243,243,195,153, 51,103,112, 96,239, 94,109, 89,121,249, 28, 0, 63, 90,194,185,253,196, +137,212,182, 97, 97, 69, 27, 55,110,244,141,140,140,164,180, 90, 45,212,106, 53,212,106, 53,140, 70, 35, 42, 3, 66,147,180,244, +244,100,154,166, 55, 88, 90,119, 86,165,178, 91,216,181,107,158,136,227,150,189, 50,114,228,140,133,139, 22, 73, 90,182,108, 73, + 25,141,198,106,171,150,217,108,134,131,131,131,217,100, 50,185,163, 22,191,183,218, 56, 37, 91,182, 48, 42,149, 10,158,158,158, +213,225,154,106,198, 37, 44, 47, 47, 7, 33,228, 63,155, 0,253,175, 68,157, 10,201,213,213,245,134, 64, 32,104, 90,211,186, 85, + 91,238,188,154,251,104,154,206, 43, 42, 42,138,120, 66,241,214,229, 15, 21, 8,224,155,126,253,250,189, 50,125,250,116, 42, 54, + 54, 22,135, 15, 31, 38,153,153,153,251, 43,173, 88,153,245, 60, 61,213,197,233, 40,145, 72, 62,145,201,100, 3,170, 66, 56, 72, +165,210,123, 90,173,246,108,229,116, 97,121, 35, 56,157, 36, 18,201, 84,153, 76, 54,176, 50,253, 10, 28, 29, 29,111,107,181,218, + 51, 70,163,113, 13,234, 78, 84, 93, 31,167,189,179,179,243,215, 30, 30, 30,111,126,246,217,103,238,113,113,113,138,243,231,207, +139,202,202,202,118,154, 76,166,250,146, 74,255,137,211,205,205,237, 6,159,207,111,250, 23, 93, 35,180,111,223, 62,122,248,240, +225,145, 99,198,140, 1, 77,211,248,241,199, 31,113,230,204,153,227,247,239,223,143,106,224, 9,247, 73, 78,143,166, 77,155,198, + 78,154, 52,169,217,235,175,191, 46,117,117,117,133, 64, 32,128, 86,171,197,253,251,247,113,235,214, 45,114,228,200,145,138,155, + 55,111,230,233,116,186, 62, 0,138,172,104,207,167,121, 18,127,140, 83, 32, 16,244,246,247,247,223, 61,127,254,124,199,129, 3, + 7,218,187,187,187,131,207,231,131,166,105, 40, 20, 10, 36, 36, 36,224,212,169, 83,218,253,251,247,107,139,139,139, 95, 7,112, +225,255,163,156,207,146, 51,164, 13,190,124, 34, 81,116,157,209,222, 27, 56,182,193,114,246,235,237, 51, 98,212, 43, 67,135, 16, + 66,176,239,192,201,147, 49,113, 13, 38,149,174,179,156, 13,149,213, 18,206,224,214,188,249,137, 73, 9,143, 5,180, 12, 11, 13, + 79, 11,105, 55,114,177, 37, 68, 53, 34,195, 63, 86,247, 26,211,177, 53,109,186,143, 77,179,134, 4, 34,106,196,168,151, 35,191, +152, 51, 27,223,124,189, 4, 71,246, 29, 58,158,156,249, 88,154,160,127, 93, 95,170,121,111,249,138,207,239,199,227,241,252, 41, +177,248,119, 90,171, 77,119, 4,132,229, 0,255, 43, 64,187, 80, 36,106, 5,150, 13, 3, 33,130,114,138,138, 94,193,178,174, 0, +228, 13,113, 46, 22, 8,158,151,250,248,244, 90,205,113,179,239, 36, 36, 56,212,124, 96,171,178, 60,215,124,168,244,245,245, 85, + 42, 20,138, 38,150,112, 70,125,255,189, 89, 39,147, 73,102, 47, 91,214,187,194, 96,232,189,112,225, 66,193,245,235,215,177,254, +135, 31, 24, 67, 94,222, 14, 21, 48,181,142,217,144, 58, 57,155, 77,157,106, 55,115,253,250,119, 2, 91,183,246,122,235,173,183, +132, 66,161, 16, 90,173, 22,185,185,185, 56,125,234,148, 41, 41, 57, 57, 73,163,209,188,104, 77,221,163,190,255,222,236, 18, 24, + 8,169,167, 39, 57, 23, 19,227, 60,241,147, 79, 38, 53,111,209,194,121,240,144, 33, 66, 39, 39, 39,148,150,150,226,225,195,135, + 56,116,232,144,178,162,162,194, 23, 0,107, 9,231,142,203,151,219,159,184,112,225,213,197,139, 23,139,195,195,195,225,236,236, +140,242,242,114, 36, 36, 36,224,194,133, 11,198, 13, 27, 54,168,213,106,245, 36,150,101,143,254,133,125,233, 63, 57,117,248, 87, +123,248, 91,114, 33, 34, 0,124, 89,185,189, 8, 13,231, 12,252, 55, 15, 62, 79, 34,192,205,205,109,147,193, 96, 32,122,189,126, + 34,128,156,127, 96, 57, 5, 17, 17, 17,235,149, 74,101, 55, 66, 8,156,157,157,175, 36, 38, 38,126,128, 58, 86,222, 52,192,201, + 7,208,205,193,193,161,171,163,163, 99,111,163,209, 24, 82, 57,253,150,172,213,106, 47,152,205,230,107,149,214, 39,246,255,185, +238,124, 0, 3,125,125,125,223,231, 56,174, 53, 69, 81, 46, 44,203,130,166,233, 50,142,227,238,171,213,234, 45, 0,206,252, 3, +202,249, 76, 56, 67, 91,225,101,194, 67, 72, 93,130,224, 49,161,245,132,128,160, 56, 36, 39,101,224,144, 21,229,228, 13, 25,224, +191,142, 99,129,211, 49,185, 31,162, 97,231,218, 63,132,150, 5,226,197,106,145,217,138,255, 54,161,200, 99,156, 20,161,114,130, +219,191,252,235,211, 8, 45, 75, 17, 26,132,222, 32,232,198, 17, 92, 75,185,143,243,255,181,177,110, 62,208,132,199,227,117,161, +120,188, 86, 4,208, 82, 20,197,128, 16, 55, 16,146, 1, 62, 63,113,158,217,156,129,218, 19,152,215,201,249, 13,224,246,131,171, +235, 21,158, 64,224, 13,128, 87,105,125,225, 56,138, 98, 9, 69, 49, 53,167,183,158,120,176,172,151,211, 12,180, 19, 74, 36,254, + 44,195, 52, 41, 0, 28, 78,176,236,115, 6, 66, 42,154, 2, 95,222, 6, 82,173,173,123, 21, 39, 95, 34, 9, 56, 65,200, 8,149, + 76,214, 94,169,215,123, 2, 32, 14, 50, 89,178, 70,171,221,102, 48, 24,214, 89, 91,119, 51,208, 78, 36,145, 52,101, 25,166, 9, + 0,240, 4, 2,229, 30,163,209, 63,207,201,233, 45,131,209,216,204,193,193,129, 54,153, 76, 26,131,193, 48,134, 97,152,115,214, +212,253, 62,195,132, 94,230,241,122,154,101, 50,119, 51, 69,201, 76, 12, 99, 54,153,205,185, 6,131,225, 30,128, 85, 0, 50,254, +226,190,100, 67, 35,255,128, 54, 78, 27,167,141,211,198,105,227,252, 31,231, 92, 10, 56,125, 3,184,217,218,243, 47,229,148, 2, + 8,168,124, 88,252, 55,214,253, 63,105,221, 18,216,218,194, 6, 27,108,176,193,134,191, 26,179,234,118,179,176,225,217, 65,135, + 90,124,178,108,248,255, 5, 85,143, 42,181,198, 36,216, 24,101,123,214,198,105,227,180,113,218, 56,109,156, 54, 78, 27,231,255, + 28,103, 67,220,255,198, 41,201, 9,181,236,219,244,119,252,176,205,252,107,227,180,113,218, 56,107,197,240,225,195,121,182,246, +180,113,218, 56,109,156,255,117,240,108, 77, 80, 39,154, 84,190,158,245,177, 54,252,183,251,194,223, 1,191,202,151, 53,199,251, +252,211, 26,245,216,177, 99, 28, 0,220, 75, 78,144,148,151,151,219,198, 34, 27,108,176,193, 38,180,254,230,155,214,211,220,220, +158,246,198,184,132,162, 32,167, 40,200, 1, 44,121,134,199, 54, 4, 95, 15, 15,143,143, 67, 67, 67,119, 52,105,210,100, 10, 0, + 47, 43,207,111, 35,149, 74,215,200,100,178, 88,153, 76, 22, 43,149, 74,215, 0,104,243,140,174, 27, 5, 96,162, 68, 34,137,241, +241,241,201, 23,139,197, 49, 0, 38,161,241, 43, 87,219,226, 81,156,180, 69, 0,218, 91,115,162, 87,216,136,189,158, 97, 35,238, +122,134,141, 72,112, 15, 31,222,198, 51,108, 68,130,103,216,136,187, 94, 97, 35,246,254, 5,253,245, 89, 94,223,103, 85,158, 28, +138, 66,142,133,229, 89, 69, 1,185, 20,133,188,127, 72,249,255,132,118, 33,225,198, 81,163, 71,219,219,134, 99, 27,108,176,225, +127, 30,190,190,190,175,248,248,248,156,245,241,241, 57,227,235,235,251,138, 5,167, 12,168,229, 38,193, 82, 20,216, 6, 6,253, +250,142,107,200, 92, 89,243,220, 21, 22, 86,173, 38,103, 19,138, 2, 75, 42, 65, 81,224,188,188,188,214,250,248,248, 44,121,242, +229,229,229,181,150,162,192,213, 56,150,173, 33,240,172, 53,171, 54, 25, 59,118,236,190,210,210,210,104,147,201, 20,157,158,158, + 30,221,167, 79,159, 61, 79, 88, 34,234,228,180,179,179,123,163, 75,215,110, 55, 47, 92,186,150,158,118, 63, 75,158,148,250, 32, +235,216,201,115,215,195,219,181,255,221,206,206,238, 13, 43,174, 17, 5, 96,162, 64, 32,136,113,112,112,200, 19, 8, 4, 49, 0, + 38,243,249,252,163, 75,151, 46,205, 74, 76, 76, 44,188,124,249,114,217,133, 11, 23,242,223,123,239,189,251, 20, 69, 29,171, 69, +176, 15,176,192, 2, 51, 47, 59, 59,251,164, 66,161, 56,101,111,111,255,181, 5,199, 87,115,122,134,141,184,171, 84,155,137, 82, +109, 38,158, 97, 35, 72,141,237,187, 86,182,121, 67,215,232, 79,125, 65, 34,145, 4, 52, 32,232,255, 74, 19,253,159,202, 3,192, +187,242,187, 8, 0,223, 87,190,170,150,179,123,219, 73, 36,207,170,127, 62,139,246,180,113,218, 56,109,156, 54,206,255, 42, 58, + 85,190,251,224,145,191, 86,245,189,219,218, 85,135, 31,166,167,167, 59, 0, 64, 80, 80,208, 7, 0, 14, 88, 35, 36, 40, 10, 51, + 57,142,240, 0,128,199,163, 62,239,219,183, 95, 39,123,123,251,199,162, 32,235,245,122,113, 76,204,249,254, 28, 71,168,202,227, +102, 18,130, 53, 0, 10, 45,253, 13,147,201,200, 19, 10,197,224,241,168,105,225,225,237,154, 23, 21, 21,197,241,120,188, 29,249, +249,249,165, 86,155,113, 40, 10,155, 55,111, 14,242,241,241,249, 83,180,102,133, 66, 33, 30, 49,226, 69,171,248,222, 6, 36, 70, +137,164,171,136,162,124, 88,134,113, 1, 0,129, 64, 80,122, 93, 44,142,248,102,241, 98, 41, 69, 81, 92,113,113, 49,244,122, 61, + 62,253,244, 83,251,164,164,164,151,138,138,138,214, 53, 64, 27,212,190, 67,167, 79, 79,157, 58, 25,162, 41, 41, 53,108,254,110, +227, 77,189, 64,164,107, 17, 26, 44, 90,191,105,155,235,132,119,198,124,148,146,146,120, 27,181,167, 35,169, 9, 30,128, 67,159, +124,242, 73, 88, 84, 84,148,184,188,188,220, 78,175,215, 55,223,177, 99,199,220,136,136, 8,135,142, 29, 59,138,119,239,222, 77, +169,213,106, 16, 66,164,193,193,193,100,244,232,209,134, 61,123,246, 76, 1,176,182, 30,225, 59,243, 81, 91,242, 86,183,109,219, +118, 62, 0,164,167,167,139,106,180,177, 48, 36, 36, 68, 6, 0,169,169,169, 95, 17,194,125, 2, 0,132, 96, 57,128,217,181,152, +214,210,195,122,140, 2, 40,180, 78,188,180,207, 46,172,231, 40, 3, 8,238, 83, 64,122,229, 3,193, 66,160, 70, 92,168,199,145, + 44,151,203, 27,149,155, 48, 50, 50,138,162, 40,106,255,205,155, 55, 15, 40,149,202, 22, 28,199,142,175,175,156,117, 93, 43, 79, + 79,207, 83, 44,203, 26, 75, 74, 74,170, 3,101,122,182,127,185,155,187,163,172,191,170,180, 60,174, 56,233,200, 5, 11,251, 38, +229,238,238,254,118, 81, 81,209, 18, 0,239, 39, 39, 39,119, 2,128,144,144, 16, 17,128, 27, 78, 78, 78,221,205, 38, 19,101, 27, +255,108,176,193, 6, 27,254, 22,161,117, 11, 64, 36,254, 72,193,179,169, 49, 66, 75, 12, 0,113,113,113, 0, 32,105, 68, 65,168, +154, 2,102,234,212,169,240,241,241,121, 82,188, 32, 54, 54,230,105, 42,251,216,111, 44, 90,180,200,161,172,172,108,192, 79, 63, +253,212,139, 16,178, 66, 46,151, 95,109,224,252, 66, 66,176,156,199,163, 62,167, 40, 10, 18,137, 93,218,164, 73,147,110, 85,126, +215,252,216,177, 99,210,225,195,135,235, 0,100, 1,128, 68, 98,231,199,231,243,130, 8, 33, 85, 55,220, 58, 5,225,171, 64, 32, + 35, 22,247,155,248,253,247,204,115,195,135, 11,100,158,158, 20, 0,100,165,164,184, 47,255,246,219,238,165,153,153, 98,189,187, +123,113,177, 86,171, 79, 75, 75,131, 68, 34,161,248,124,254,115, 13, 85, 88, 38,147,125,188,248,155,101, 50, 77, 73,153,222,160, + 41, 55,241, 25,218,232,104, 47,101, 11, 11,148,197, 14,246, 50,221,231, 95, 46, 16,127, 56,126,220,199, 90,173,246,131, 6,168, +166, 76,155, 54, 45,164, 75,151, 46,126,123,247,238,165,212,106, 53, 4, 2,129, 67,199,142, 29, 17, 17, 17,193,158, 63,127,158, +106,209,162, 5,194,195,195,113,233,210, 37, 92,185,114,133,234,212,169,147,244,224,193,131, 99,105,154, 94,219,144,184,230,243, +121,159, 6, 7, 7,119,148,201,100,166,160,160, 32,140, 31, 63, 30,132, 16, 12, 24, 48, 32,220,193,193,225,128, 86,171, 21,167, +166,166,244,106, 72,100, 43, 19,143,140,174,178,108, 1,104, 7,130,251,170,196, 35, 53,167, 31, 67, 82, 83, 83,159, 47, 45, 45, +197,163,235, 66,170, 19,152,247,234,213,203,154,190, 84, 72, 8,150, 15, 31, 30,245, 57, 64, 81, 3, 6, 12, 40,155, 50,101, 10, + 47, 37, 37,229,205,151, 95,126, 41, 60, 61,253, 62,172,124, 24, 8, 26, 52,104,208,165, 19, 39, 78,184, 7, 5, 5,169, 74, 74, + 74,170,191,240,118,119, 25,124,225,224,234,143,191, 94,179, 35,120, 59,161,202, 84,201,135,239, 53,208, 55,169,183,223,126,167, +208,193,193, 97,228,254,253,251, 83, 21, 10,133, 64, 36,170,214,174,124, 47, 47, 47,207,160,160,160,201,110,110,110, 74, 62,143, +231, 69, 64, 72, 67,253,243,255, 27,233,105, 41,194, 54, 65,193,180,109,188,182,193, 6, 27,254,133, 56, 94, 41,174,142, 63,249, +133, 0, 0,162,163,163,171, 35,211, 70, 69, 69,213,249, 4, 76, 8, 41,188,115,231,142,191, 78,167, 3, 33,196,146, 1,187,230, + 18,205, 66,138,226,173,231,241,168, 15, 40,138, 66,120,120,187, 7,171, 87,175,174, 45,167,151, 41, 60,188,221, 3, 62,159,215, +146, 16, 2,138,226,253, 72, 8, 87, 88, 7,103,173, 55, 34,177, 88, 50, 19, 0,188,189,125, 50,127,251,237, 55,211,171,175,190, +138,111,191,253, 86, 52,107,214,172, 25, 2,129, 96, 74, 78, 78, 78, 65, 61,229, 4,128,217,158,158, 94,210,205,155, 55, 7, 77, +154, 52,233,150, 66,161,152, 13, 0, 62, 62, 62, 75, 0,132, 2,200,170,177, 15, 27, 54,236,201, 31, 63,126,124,154, 82,169,156, + 93, 23,231, 72,160,149,127,112,112,191,133,113,113,132,103, 52, 82, 69, 23, 47,106, 84,133,133,116,134, 74, 37,221,122,227, 70, +212,220, 37, 75,132,254, 1, 1,136, 61,122,212,163, 72,167, 83,169,141, 70, 67, 97, 97, 33, 97, 24,230,138, 5,117, 15,243,242, +244,146,110, 92,245,227,117, 71, 33,159,243,106,234, 71, 9,221,220, 4, 60,169,147,152, 47,224, 25, 91, 54,111, 35, 6, 16,214, +208, 53, 18,137, 68, 99, 7, 13, 26, 36,221,179,103, 15, 21, 30, 30, 14, 23, 23, 23, 92,188,120, 17,183,111,223, 70,105,105, 41, +143,166,105,116,238,220, 25,203,150, 45, 67, 64, 64, 0,202,202,202,144,147,147,227, 33, 22,139, 61,105,154,174,171, 61, 31,235, + 79, 51,103,206,132,143,143, 15, 24,134, 65, 73, 73, 9, 24,134,129,131,131, 3, 0, 32, 47, 47, 15, 71,143, 30,177,164, 47, 53, + 8, 66, 8, 94,120,225,133,114,138,162,146,159,180,104, 89,195,233,231,231,183, 91,165, 42, 26,218,175, 95, 63,148,150,150,210, + 11, 22, 44, 64,251,246,237, 17, 20, 20,212, 96, 57,125,125,125, 39, 50, 12, 51, 15, 0,204,102,243, 86, 59, 59,187,119,127,253, +245, 87,247,154, 41, 66,170, 44, 89,133,202,226,210, 43,215, 19, 83,167, 77,124,181, 79,220,213,132, 92,179,112, 68,142,250,238, + 17,117, 45,229,156, 45, 18,137,127,106,214,172,217,170,169, 83,167,250,184,185,185,193,104, 52,206, 45, 40, 40,192,228,201,147, + 1, 0,195,134, 13,107, 47, 20, 10,127,123,239,189,247,208,162, 69,139,252,146,146,146,156,155, 55,111,142,215,233,116, 9,141, +109, 79, 11,241, 84,156,117,136,172,127, 92, 57,109,156, 54, 78, 27,231, 95,195,105,169, 22,249,135, 66,129,199,195, 57,108,122, + 76,104, 69, 69, 69, 81,209,209,209,196,130,138, 21, 55,109,218,212,223,222,222, 30, 0,138,173, 45, 5,199,113, 83,220,221,221, +149,179,103,207,238, 17, 20, 20,100,154, 50,101, 74, 66, 86, 86,214,156,154,199, 52,111,222,252,235, 31,126,248, 1,105,105,105, + 89, 75,150, 44,185, 84, 92, 92,108,109, 30,179, 89,132, 96,117,165,117,172,232,232,209,163,237,227,226,226, 62,248,238,187,239, + 60, 63,252,240, 67,209,199, 31,127, 60, 6,192,183, 13,145,240,249,124, 93,109,211,133,181,193,199,199,199,196,231,243,235, 12, + 18, 23, 5,216,219,137,197,125, 23,198,197, 17, 83, 86,150,238,231,149, 43, 29, 55,254,254,251,124,154,144, 38, 94, 94, 94,232, +217,189,123,133, 29,159, 95,164, 44, 40,224,188, 90,181,226, 63,252,237, 55, 15,189, 88, 44,223,179,103,143,186,184,184,248,112, +131, 38, 60,138,210,112,132,152, 28,154, 6,208,175,190, 52, 48,252,250,181,219, 41,142, 94, 30,188, 78, 29,195,219,167,164,101, +221, 4,199,153, 41,138,106, 48, 88,160,179,179,115, 80,113,113, 49, 52, 26, 13, 60, 61, 61,177,122,245,106,120,123,123, 67,167, +211, 33, 49, 49,145, 52,109,218,148,138,139,139, 67,211,166, 77,161, 82,169, 96, 50,153, 80, 94, 94,174, 52, 26,141,117,229,102, + 44,228,241,248,191,240,120,212, 59, 20, 69,161,101,203,192,236,117,235,214,153, 56,142, 67, 72, 72, 8, 94,126,249,101, 28, 60, +120, 16,137,137,137, 85,150, 39, 83,179,102,205,179,121, 60,170, 89,165, 86,106,180, 5,166, 42,181,143, 92, 46, 31,217,200, 63, + 13,207,215,215,119, 76,235,214,173, 63,120,227,141, 55,104,177, 88, 12,173, 86, 91,213, 22,244,208,161,195,202,134, 15,143,114, + 62,126,252,120,157,229, 52,155,205,243,242,243,243,125,244,122, 61,134, 12, 25,242,241,138, 21, 43,100, 98,177, 24, 0,192,178, +236, 99,150,172,197,223,109, 63,245,201,188,117, 49,167,118, 47,243, 93, 60,235,221, 62, 99,166,124, 29, 3,224,100,109, 5, 51, +153, 76,153,106,181,250,253,105,211,166,237,216,176, 97,131,235,156, 57,115,192,113, 28, 8, 33, 96, 24,166, 58,145, 56,199,113, + 56,116,232, 16, 50, 50, 50,190,126, 66,100,217, 96,131, 13, 54,252,227, 96,133, 22,249, 39,194, 7,143,166, 13,241,164,216,250, +219, 35,195,243,249,252,141,167, 79,159,238,216,171, 87, 47, 65,255,254,253,195, 79,158, 60, 25,158,159,159,159, 80,105, 61, 8, +239,223,191,127,184,151,151, 23,214,172, 89,163,227,243,249, 27, 27,249, 51,213, 55,189,130,130,130, 91, 0, 86, 28, 60,120,112, +249,196,137, 19,225,237,237, 29,170, 80, 40,254,214, 58, 59, 73, 36,157,222, 91,189,154, 17,210, 52,239,251, 21, 43,156, 86,198, +196, 44,223,187,111,159,224,133, 23, 94,160, 8, 33,184,119,247,174,253,178,181,107,165,175,191,244, 82, 86,106,102, 38,115,228, +212, 41,186, 48, 63,191, 36, 95,165,154, 7,160,164, 33,126,154,166,227,211,211,211,125,123,246,126,193,239,194,239, 9,183, 95, +125,105, 88, 63,161,128, 71,221,207,202,187,225,227,237,225, 28, 27,115, 86, 79,211,116,124, 67, 60, 90,173,246, 33,195, 48,110, +132, 16,207,216,216, 88,120,122,122,162,180,180, 20, 52, 77,195,100, 50,153,116, 58,157, 93,113,113, 49, 12, 6, 3,140, 70, 35, +156,156,156,112,239,222,189, 66,134, 97,206,215,197,201,178,236,123, 18,137,100,145, 80, 40, 20,139, 68, 34,249,141, 27, 55,160, +209,104,154,187,184,184,124,203, 48, 12,228,114, 57,226,226,226, 62,115,114,114,202, 2, 0, 59, 59, 59,136,197, 18,119,163,209, +200, 0,200,111,108,155, 19, 66, 26,125,189,188,189,189, 3,236,237,237, 23,126,254,249,204,144, 14, 29, 58, 66,165, 82,129,227, + 56,200,100, 50,232,116, 58, 56, 57, 57,161, 91,183,110, 15, 23, 46, 92,168, 32, 4, 19,234, 17,131,252,202,235,131,137, 19, 39, +202,156,156,156,144,155,155,139,224,224,224,106,161,165, 80, 21,223,187,124, 61, 33,101,218,164, 81,189,119, 30,141, 73, 62, 21, +123, 35,249,165, 33,221, 59, 80, 20,105, 94, 95, 25,149, 74,165, 74, 32, 16, 76,153, 56,113,226,162,160,160,160,150,132, 16,180, +105,211, 6,131, 6, 13,194,111,191,253,134,180,180, 52,104,181, 90,246,234,213,171,187, 20, 10,197, 49,219, 16,110,131, 13, 54, +216,240,151,226, 79,190, 89,143, 89,180,254, 78, 40,149, 74, 85, 74, 74,202,201,155, 55,111, 70,141, 30, 61, 26,177,177,177,111, + 3,152, 6, 0, 18,137,228,237,209,163, 71,227,230,205,155, 72, 73, 73, 57,169, 84, 42, 85,207,226, 55,197, 98,177,193,100,122, +100,156,178,179,179,179,179,242,244,230,149, 83,134, 0,208,188,158,125,117,155, 70, 4, 2,159,118, 67,134, 8, 74,111,223,214, +108,190,118,109,209,142, 29, 59, 4, 61,122,244,160,104,179, 25, 44,199, 33, 48, 48,144,234, 63, 96,128,236,151, 29, 59,220, 88, +173, 54,110,241,231,159, 95,220,244,222,123, 21,233,149,126, 96, 13,193,104, 52,174,253, 96,242,251, 3, 98, 98, 47,250,133, 6, +183,114, 59,121, 58,230,150,187,187,179, 52,168,117,107, 89,113,105, 9, 59,103,214,103, 2,163,209,248,125, 67, 60,122,189,254, +208,217,179,103, 95,242,247,247,247, 76, 72, 72,128,201,100, 2,203,178,232,223,191, 63, 8, 33, 18, 0,156, 64, 32, 64, 74, 74, + 10,204,102,179, 50, 61, 61, 93,126,255,254,125, 9,128,165, 13,148, 47,219,104, 52, 34, 57,249,209,172, 93,211,166, 77, 7, 70, + 70, 70,130, 97, 24, 12, 25, 50, 4, 71,142, 28, 25,152,156,156,188,178,166,230,123,218,107, 94,105, 33, 11,241,245,245, 61, 88, +185,203, 34, 39,120, 63, 63,191,240,192,192,192, 13, 75,151, 46, 21, 53,109,218, 20,132, 16,184,186,186, 64,167,211,161,168,168, + 24,161,161,161,240,247,247,199,210,165, 75, 1, 96, 87,125, 22, 55,142,227,160, 80, 40,240,240,225, 67,100,102,102,194,223,223, + 31, 20, 69,161,188,188, 28, 12,243, 40, 39,183,180, 92,115,252,135, 95,142,245,221,183, 97, 94, 88,215,118,109, 2,174,221, 74, + 82,142, 29, 57, 80,218,166, 69, 64,144, 42, 97, 1, 15, 88, 80,103,210,101,185, 92,126, 95, 46,151,143, 86, 42,149,162,178,178, +178,136,129, 3, 7,174, 25, 48, 96, 0,110,221,186,133,139, 23, 47,190, 46,145, 72,148,102,179,153,241,246,246,158, 64, 81,148, +147,217,108,222, 89, 92, 92,172,176,141,135, 54,216, 96,131, 13,207, 28, 85, 62, 90,168,241,110,157, 69, 43, 36, 36, 68,150,149, +149,245, 86,243,230,205,197, 0, 96,111,111, 31, 26, 24, 24, 56, 35, 51, 51,179,220,218,210,232,116,186,189, 59,118,236, 24,180, +106,213, 42,209,176, 97,195, 90, 29, 60,120,176, 11, 0, 12, 27, 54,172,149,163,163, 35,118,236,216, 97,214,233,116,207, 44, 38, + 18, 77,211,189, 58,119,238,140,146,146, 18,100,101,101, 89, 53,133,114,236,216, 49, 41, 30,249,101,213,187,175, 62, 48, 38,147, +171,139,159, 31, 47, 63, 38,198, 92,162,209,248,244,234,221,155,162,205,102,240,120, 60, 20, 23, 23, 35, 39, 39, 7,206, 46, 46, + 84, 74,122,186,195,150,153, 51, 79,183,209,185, 0, 0, 32, 0, 73, 68, 65, 84,143, 53,239,208, 65,204,154, 76,238, 86, 20, 83, + 91,164, 44,124,231,163, 41, 31, 30,218,185,115,151,103,153, 70,147, 97,111, 47, 53, 74, 36, 34,239,169, 31,125,196,150,148,148, +140, 3, 80, 97, 1,207,210,157, 59,119, 14, 25, 50,100,200,221,128,128, 0, 47,149, 74,229, 93, 86, 86,198,150,148,148,240,241, +200,215,138, 2,128,152,152, 24,104, 52, 26,134,101,217, 56, 60,138,133,101,178,180,160,205,154, 53,115,142,136,136,232,227,233, +233, 9,181, 90, 13,119,119,119,116,236,216,177, 15,159,207,255, 41, 59, 59, 91,253, 44,123,253,153, 51,103, 28, 9, 33,207, 19, + 66, 48,100,200, 16,139,206, 97, 89,246,221,200,200, 72, 17, 69, 81,208,235,117,176,179,179,135, 76,230, 0, 71, 71, 39, 4, 5, +181,133, 92, 46,199,224,193,131, 77, 25, 25, 25,235, 21, 10,197,222, 6,184, 32,151,203,161, 82,169,144,147,147,131,162,162, 34, + 0, 64, 81, 81, 81,181,115,254,179,128, 90,173, 30,209,173, 91,183,233,147, 39, 79, 6,195, 48, 24, 49, 98, 4,114,115,115, 87, + 62,124,248,112,143,175,175,239,152,119,223,125,215,211,221,221, 29,211,167, 79,183, 7,240,149,109, 60,180,193, 6, 27,108,120, +230,120,210, 71,235,207, 22,173,250,230, 68,189,189,189,123, 82, 20, 53, 87,175,215,139,171,166,100, 40,138, 18,123,122,122, 30, +209,235,245, 75, 20, 10,133, 85, 78,113,101,101,101,154, 7, 15, 30, 28,137,143,143, 31, 53,114,228, 72,156, 57,115,102, 28, 0, +140, 28, 57, 18,241,241,241,120,240,224,193,145,178,178,178,103,146,128,212,207,207,111,104,239,222,189, 71,118,238,220, 25,209, +209,209, 96, 89,246,138, 53,231,215, 92, 97,136, 90, 86, 29, 86,237,179,136,140,207, 7, 69, 81,213,214,140, 34,149, 10,105,169, +169, 40, 41, 45,133,209, 96,128, 86,167, 99,131, 90,180,208,171, 77, 38, 33, 5, 88, 59,247,149,125,243,250,213, 28,157, 86,235, +229,238,234,166,151, 74, 37, 40,211,168, 69, 55,174, 95,173, 0,144, 97, 33,135,137, 16,210,251,183,223,126,155,199,231,243, 71, + 59, 56, 56,224,131, 15, 62,224,247,233,211, 7, 34,145, 8, 70,163, 17,101,101,101,216,177, 99,135,138,101,217,150,149,231, 56, + 72,165,210,109,124, 62, 63,175,188,188,124,110,131, 63, 96, 50, 13,139,138,138, 18,152, 76, 38, 44, 94,188, 24,243,231,207,199, +144, 33, 67, 4,215,175, 95, 31, 6, 96,231,179,234,241, 28,199, 97,224,192,129, 53,157,225,147, 45, 57, 79, 40, 20,134,183,110, +221, 26, 42,149, 10, 42,149, 10,158,158,158,240,245,245,133,183,183, 55, 86,174, 92, 73,214,172, 89,115,210,108, 54,175, 47, 42, + 42, 42,180,164, 12,153,153,153,213,150, 65,131,193, 0,173, 86,139,220,220,220,234,169, 67,189,204,105,200,148,119,134,119,208, +234,245,186,107,247,210,115,230,126, 60,230, 5,173, 94,175, 75,127,152,147, 6,172,229, 44,232,223, 19,198,141, 27, 55, 97,212, +168, 81,168,168,168, 64,124,124, 60,186,119,239,142,229,203,151,251,196,197,197, 77,235,220,185, 51,132, 66, 33, 98, 99, 99,193, + 48, 76,174,109, 44,180,193, 6, 27,254,201,248,151,250,103,213,139,122, 45, 90,254,254,254, 46, 44,203,126, 22, 25, 25, 57,240, +165,151, 94,194,224,193,131, 31,251,126,231,206,157,142, 7, 14, 28, 88,178,118,237,218, 33,102,179,121,169, 53, 83,125, 28,199, + 29,218,185,115,231,176, 23, 94,120, 65,218,183,111,223, 64, 0,144, 72, 36,166,157, 59,119,234, 56,142, 59,212,136,186, 84, 5, + 98, 44, 4, 0, 95, 95,223,246, 2,129, 96,228,208,161, 67,219,191,243,206, 59, 72, 76, 76,196,142, 29, 59,238, 7, 5, 5, 93, + 42, 44,180,202,191, 58,171,129, 85,135, 75, 26,178,110,241,197,226,226,178,130, 2, 23,135,128, 0,161,171,163,163, 34, 58, 58, +218,127,192,128, 1, 84,110,110, 46, 74, 75, 75, 97, 48, 24,112,253,250,117, 78, 0,100, 11, 92, 93,169,236,248,120,138, 47, 22, + 23,131,182,110,165,187,191,143,107,155, 47,103, 77,106,110, 48, 26,194,212,106, 53, 35, 16, 10,133, 77,189, 93,114, 83, 51,172, +154,137, 51, 74,165,210, 8, 0, 2,142,227,116,110,110,110,210,211,167, 79, 67, 44, 22,131,162, 40,180,107,215, 14,118,118,118, + 34, 66, 72, 14, 0, 56, 58, 58,138, 55,110,220,232, 60,102,204,152,139, 13, 17,119,234,212, 73, 40,145, 72, 94, 12, 10, 10, 66, +124,124, 60, 18, 18, 18,178,227,227,227,155,117,234,212, 9, 1, 1, 1, 47,250,248,248,236,187,117,235,214, 51, 89,222,255,104, +197,170,245,206,240, 44,203,114, 20, 69,129,199,227,129,227, 56,168, 84, 42,180,108,217, 18,235,214,173,195,234,213,171, 23, 43, + 20,138,163, 86,112,177, 26,141, 6, 50,153, 12, 9, 9, 9,198,200,200, 72, 9,143,199,195,253,251,247,171,133,150,151,135, 91, +104,247,206,225,193,139,191,219,126, 74, 38,145, 72, 6,247,137, 8, 73, 74,207,206, 35,132,106,112,218, 56, 36, 36, 68,212,178, +101,203,113,163, 70,141, 66,102,102, 38,150, 44, 89, 82,164, 80, 40, 98, 78,157, 58,245,202,228,201,147,249,221,187,119, 71,113, +113, 49,126,249,229, 23,230,198,141, 27, 63, 23, 20, 20,108,183, 13,227, 54,216, 96,131, 13,255, 16,161,229,239,239, 63, 74, 36, + 18, 77,127,237,181,215,248,109,219,182, 69, 97, 97, 33,156,156,156,104,138,162,132, 0,224,226,226, 66,219,219,219, 99,210,164, + 73,232,208,161, 67,207,153, 51,103,118, 23, 8, 4,235,228,114,249, 54, 75,126, 88,169, 84,234,120, 60,222,254, 15, 62,248, 96, +233,237,219,183, 90, 2,192,239,191,255,254, 64, 46,151,207, 82, 42,149, 58, 43,235, 81, 21, 20,147,146, 72,236,174,181,105,211, +230, 97, 68, 68,132,211, 75, 47,189, 4, 79, 79, 79,220,188,121, 19,203,150, 45, 75, 55,153, 76,243, 46, 92,184,192,252,221,141, +204, 24,141, 5, 55, 14, 31,118,236,243,230,155, 78, 83, 35, 35, 87,124,248,193, 7,171,190,252,242, 75, 65,219,182,109, 41,157, + 78,135,107,215,174,145, 3, 7, 14,208,191, 44, 90,180, 26, 50,153, 48,254,192, 1,177,201,100,202,182,210,114,215,187, 71,175, +158,109, 87,172, 90, 11,131,190, 2,215,174, 28, 71,105,169, 10, 27, 55, 29,108,235,231, 71,122,231,231,231, 95,176,148,139,162, +168,160, 51,103,206,120, 17, 66, 32, 22,139,177,112,225, 66,248,250,250,194,201,201, 9,229,229,229,152, 54,109,154,243, 39,159, +124,226, 12, 0,137,137,137,213,225, 25, 26,130, 92, 46,239, 54,105,210, 36, 71,134, 97,112,242,228, 73, 19, 69, 81,115,207,158, + 61,251, 83,187,118,237,196, 61,123,246,116,220,190,125,123,119, 0,177,207, 74,104, 53,242,188,251,167, 79,159,238, 60,122,244, +104, 34, 20, 10,169,178,178, 50,184,184,184, 96,221,186,117, 90,133, 66,113,220, 74,174,133,179,102,205,154, 87,185,189,117,238, +220,185,239, 47, 93,186,212,179,160,160,160,218,170,169, 44, 42, 57,223, 45,242, 35,182,184, 76,109,250,249,187,153,175,218,219, + 73,196,115,151,254, 28, 75,243,113,181,193,126,197, 48, 98,169, 84, 42, 38,132, 96,255,254,253,200,206,206,126,183,184,184,184, +128,101,217,131,159,125,246,217,140,182,109,219,182, 72, 77, 77,205, 46, 47, 47, 95,174, 84, 42, 31,218,134, 59, 27,108,176,193, +134,191, 12, 85, 78,240, 85,171, 15,143,227,209,116, 98,221, 66,139,101,217, 73,167, 78,157,226,115, 28,135, 77,155, 54,225,198, +141, 27, 68, 42,149,206,149, 74,165, 63,216,219,219,179,122,189,126,226,248,241,227,199,204,159, 63,159,215,179,103, 79,196,199, +199,243, 90,182,108, 57, 14, 64, 77,161, 53, 0,245,196,218, 80,171,213,215, 11, 11, 11, 90,214, 8, 80,217, 82, 34,177,187,222, + 64,101,158,228,124, 50, 40,102,215,133, 11, 23,106,125,124,124, 76, 9, 9, 9,216,176, 97, 3,119,227,198,141, 24,177, 88,188, + 81,161, 80, 24, 45,228,124, 22,168,230, 20, 51,204,205, 95,103,204, 8,121,110,196, 8,238,253,233,211, 43, 68,246,246, 31,175, + 88,187,118,102, 89,121,185, 47, 40,138,184, 59, 59,103,111, 90,184,112,201,144, 23, 95,172, 72,188,112,193,238,246,153, 51, 66, + 79,154,190, 99, 77, 57,243,243,243, 47,196,198, 94,196,214,205,171, 96, 54, 27,161,200,127,164,211,138,138,213,104, 64,100,253, +137,147, 97, 24,245, 43,175,188, 34, 2, 96, 63,118,236, 88,177, 82,169, 68,171, 86,173, 0, 0, 26,141, 6,199,143, 31, 71,112, +112, 48, 0,224,222,189,123,213,219, 13,149, 83, 38,147,189,216,189,123,119,100,103,103, 35, 49, 49,241,156, 66,161, 40, 6,112, + 46, 55, 55,119, 88,231,206,157,113,232,208,161,225,245, 8, 45,171,174,145,133, 66,235, 79,156,246,246,246,179, 14, 30, 60,248, +238,149, 43, 87, 70,207,152, 49, 67,216,191,127,127, 0, 64,121,121,185, 14, 0,107, 13,167, 94,175,223, 8,160,122,229,108, 86, + 86,214,175,211,167, 79,143,251,244,211, 79, 61,171,202,167, 74, 58, 26,175, 2,226,195,250,188,251,101,183,206, 97,109,191, 94, +179,227, 84, 78,110,225, 14,117,242, 17,181, 37,117, 39,132,128,166,105,112, 28, 7, 55, 55, 55,109,113,113, 49,148, 74,229, 67, +165, 82,249, 65, 70, 70,134, 85,117,127,150,125,222,198,105,227,180,113,218, 56,255, 71, 97,121,100,120, 66, 8,195,113, 28, 98, + 99, 99,113,240,224, 65,214,108, 54, 79, 80, 40, 20, 53,163, 85,175,189,121,243,230,153, 87, 94,121,101, 91,106,106, 42, 63, 41, + 41, 9,132, 16,214,154,210, 24, 12, 6,154,162,254,188,239,105,107,185,117,235, 86, 20, 20, 20,152,115,115,115,207, 50, 12,115, +232, 41, 87, 47, 62,245,170,195,173,128,241, 13,147,233,236,252, 30, 61, 6,206, 59,115, 70,242,254, 23, 95, 24,223,126,231,157, +207, 88,147,137,230,139, 68,156, 88, 38,227,177, 18,137, 48,241,194, 5,187, 53,147, 39,187,233,141,198,147, 59,172,112, 48,175, +178,104,245,233,211, 19,111,191,255, 41,244, 53, 44, 90,241,215,211, 96, 52,195, 42,139,150,209,104, 12, 83, 40, 20,176,179,179, +203, 1,224,253,214, 91,111,129,227, 56,232,245,122,148,151,151, 67, 46,151,171,223,121,231, 29,182, 82, 60, 9, 70,142, 28,233, +100, 9,111, 96, 96,160,175, 80, 40,196,201,147, 39, 33, 20, 10,143, 3,128, 80, 40, 60,126,230,204,153, 97,175,191,254, 58,252, +252,252, 2, 51, 51, 51, 41, 52,224,159,230, 21, 54, 98, 47, 1,218,128, 66,235, 71, 38, 56,180,246, 12, 27,113,151, 2,210, 43, +163,198, 39,119,234,212, 9,176,208, 47,171, 38, 42, 23,119,172,166,105,122,223,204,153, 51, 63,232,218,181,235,160,249,243,231, + 83,168, 12,213,240,148, 72,203,207,207,239, 53,123,246,236, 83,132,144,199, 68,191,178,168,228,252, 11, 81, 83, 72, 89,153,250, +182, 42,249,232, 61,171, 44,166, 12,243, 84,225, 44,108,176,193, 6, 27,108,120,102, 86,173, 63,161, 78,161, 69, 81,212,166,222, +189,123, 79, 0,192,167, 40,106,131, 92, 46,255,211,224,175, 80, 40,210,124,125,125,191,109,209,162,197, 68, 0,132,162,168, 77, + 86, 22,170,144, 16, 44,227,241,168,153,143,196, 93,163, 2, 84, 86,165, 37,153, 9,128,226,241,248,219,110,221,186,245, 69, 78, + 78,142,202, 66, 11, 68,189,120, 22,171, 14, 1, 96, 23,240,240,181,236,236, 83,211,195,195, 7, 12,153, 60, 25,237,135, 12,113, +242,109,214,140,213,155,205,220,189, 75,151,168, 43,251,247,139,110,159, 57, 35,212, 27,141, 39, 15, 1, 57,214,150, 51, 63, 63, +255,194,249,152, 11,167, 95, 29, 57,108, 80, 96, 11,223, 71,162,225,161, 28, 69, 37,234,211,214,136,172, 39, 68,239,136,117,235, +214, 29, 21,137, 68,130,154,169,108,204,102,115,137,209,104, 12, 3,128,210,210, 82,223, 77,155, 54,237,230,241,120,217, 13,241, + 37, 37, 37, 29,153, 55,111,222,200,172,172,172,211,185,185,185, 89, 0,144,147,147,147, 69,211,244, 54,133, 66, 49, 50, 59, 59, +251, 0, 44, 88, 4, 64,128, 54,137,151,246,181, 3,128,176, 30,163,144,120,105,159, 29,128,118, 97, 61, 70, 1, 0, 26,155,203, +176, 38, 42,195, 32,204,141,143,143,223, 57,104,208,160,241,120,138,152, 94, 79,138, 45,179,217,220,236,201,157, 85,150, 45,107, +136, 76, 38, 19,173,215,235, 25,150,101, 5,102,179,153,152, 76, 38, 91,250, 26, 27, 26,130, 45,247,165, 13,255, 90, 16, 66, 58, + 3,240,172, 26, 54, 43,223, 61,159,216, 54,161, 50, 93, 96,213, 80, 89,249, 89, 69, 81,212,245, 26, 28,213,251, 45, 56, 23, 0, +138, 0,220,165, 40,170, 46, 35,200,166,186, 62,215, 41,180,228,114,249, 1, 88,144, 52,218,210,227,234,193,236,202, 60,113, 64, +227,243,176, 85,115,176, 44, 91,152,147,147,243,212, 23,148,199,227, 61, 28, 62,124,184, 85,199, 55,116,204, 30, 32,251, 35,163, +113,123,244,247,223,119, 60,185, 97,131, 31,203, 48,238, 20, 64,248, 98,113,177,201,100,202,242,164,233, 59,214, 90,178, 30,179, +198, 60,200, 31,156,249, 32, 31,173, 91,183, 38,247,239,223,127, 22,131,234, 29,173, 86,235,223, 80, 23,208,233,116, 61, 45, 20, +131,187,242,243,243,119,213, 34,216,119, 43, 20,138,221, 86,220, 41,210, 43, 69, 21,143,163,184, 87,195,122,140,218, 15,128,171, + 74, 42,253, 44, 81, 80, 80,144,138,202, 56,111,255, 52,100,103,103, 27, 41,138,250,117,217,178,101, 99,111,223,190,189, 71, 46, +151, 27,109, 67,177, 13, 54,216,240, 95, 22, 89, 20, 69, 69, 87,126,142,170, 52, 10, 69, 63,185, 93,117, 76,213,113, 53,143,169, +226,120,114,127,125,231, 2,192,172, 89,179,190, 88,178,100,137, 20,128,165,201,152, 27,157, 84,250,175, 66,225, 63,132,163,166, + 40,216,252, 87, 84,244,123,192, 4,134,185, 10,166,134, 79, 62,253,108, 13, 17,247,239,223,255, 79, 63,181, 86, 37,149,174,129, +240,255,213,193, 39, 43, 43,107, 93, 64, 64,192, 70,185, 92,206,192, 6, 27, 44,184, 95,217,154,192,134,127, 41, 60,107, 19, 70, +117,136,178,168,250,190,127,236,193,189,150,227,106,251, 76, 81, 84,244,146, 37, 75,162,172, 40,111,181, 69,139,103,187,118, 54, +216,240,239,198,255,199, 74, 90, 27,108,176,193,134,255,196,147,199, 19, 86,172, 42,241,245,228,231, 89,179,102,125,129,250,103, +156,124,240,200,138,229, 83,249,185,218, 95,139,194,163,149, 3,181,193,154,213, 4, 3, 26, 81,191,179, 54, 78, 27,167,141,211, +198,105,227,180,113,218, 56,255,231, 56, 27,226, 62, 91,139, 32,138,172,107,170,175,190,105,196, 39,183, 27, 58,183,161, 99, 41, +138,170, 43,204, 79,213, 84,225,147,239,127, 57, 6,216, 56,109,156, 54, 78, 27,167,141,211,198,105,227,180,113, 62, 13, 8, 33, +157, 9, 33,145,120, 52,253, 77, 8, 33,145,132,144, 33,179,102,205,154, 93,181,111,214,172, 89,179, 9, 33,253,171,142,171, 60, +166,250,156,170,125, 79,190, 63,185,175,190, 99,235, 41,226,132, 39,182,171, 63,255, 83,124,180,108,176,193, 6, 27,108,176,193, + 6, 27,106, 69,213,138,193, 26,214, 38, 21,128,123, 75,150, 44, 41,173,225, 59,165, 2,112, 7, 64,135,202,227, 84,149, 34,173, +166,111,149,169,242,179,169,150, 99, 76,150, 28, 91, 7, 54,213,177,109, 19, 90,117,161,131, 55,111, 81, 64, 83,175,136,202, 11, + 0, 82,153, 4,152,171,140, 87, 68,170, 2, 23,113, 28, 8, 33,144, 43,203,110,222, 83,226,203,198,254, 94,144, 47,220,188,236, +236, 86,115,132,244,168,220,117, 65, 93,108,252, 52, 81,131, 50, 75, 57,130,155, 32,196,142,135,207, 56,130,246, 0,192,163,112, +215,192,225,219,148, 66,235,227, 73,213,214,207,195, 60, 49, 65,108, 47,125,205,217,197,181,117,105,105, 81,186,217, 96,220,151, +164,194, 70, 52,194,193, 54,208, 21,207,115, 4, 95, 0,224, 9,121, 88,153, 94, 98,241, 74, 14, 27,108,176,193,134,167,181,142, + 60, 85, 92, 60,138,162,216, 90, 56,169,167,228,180, 45, 84,176, 64,108,213,178,251,247, 90,246, 93,255, 39,149,219, 42,161, 21, +234,137,201,160,176, 0, 0, 1,193, 87, 73, 42,252,104,213,249, 62, 24, 96,199,231,111, 1,192, 55,152,217,233,132, 67, 92,173, +141,201, 67, 47, 59, 17,127, 37, 0,206,192,178,239, 37, 41, 44,247, 23, 11,243,195, 16, 1,199,251,149, 35, 68,200,114,100, 27, + 8,162, 29, 68,184,124, 53, 31, 6,107,202, 26,208,212, 43,226,240,239,138, 65, 49, 63, 78, 69,215,246,173, 64, 88, 6,224,104, + 72,123,126,134,115,223,189,133,174, 33, 1, 32, 28, 13,112, 12, 28,134,174,192,208,112,103,114, 79,217,184, 60,216, 65,190,112, +107,230,225,149,176,121,243, 22,111,223,192, 80,138, 99,204, 72,253,253,244,152, 79,102,206,235, 23, 6,117,184, 37, 98,171,189, + 15,222, 15,104,222,246,179, 79, 23,172,226,251,248,250,203, 56,218,200, 20, 60, 76,238,180,118,249,188, 3, 34, 94,246,202,187, + 10,108,177,180, 47,135,122, 98,162, 64, 34, 30,101,111, 39,107,173,211,149,223,103,205,244, 62,158, 80, 48,228,219, 21,171, 59, +246, 25, 56,204,129, 45, 47,224,209, 28, 66,247,238,217,221,236,251,117,235,135, 37, 40,216, 23, 1,112,214,212,153, 35,152,153, +182,125,194, 48,161,128, 79,133,188,187,153, 15, 48,141, 18, 90, 33, 94,120,131, 34,104, 48,188, 4,161,112, 49, 89,137, 93,141, +249,141, 96, 47,252, 68, 17, 4,129,194,126,138, 96,119,146, 10, 74,219,144,103,131, 13,255, 45,240,120,188, 24,142,227,250, 62, + 99, 97,240, 60, 33,228,170,173,117,255,183, 97,157, 69,139,194,226,196,140, 92, 87,176,102,132, 5, 5, 46, 2,172, 19, 90,118, +124,254,182,235,233,133,222, 96,204,216,252,245, 7,123, 76, 52,192,208,102,176, 12, 13,150,161,193, 48,102,176, 52, 13, 66, 27, + 49,239,231, 24,192, 84,142,136,240, 54,219, 0,214,199,210,223, 16, 18,222,175, 55, 47,157,118,163, 76,106,236,250,113,201, 71, +185,170,138,143,206,222,149, 23,133,122,233,103, 39, 41,241,139, 53,130, 32,102,195, 84,236, 56,116, 60,111,205, 79,218, 20,142, + 16,184, 57,217,183, 29, 19,149,232,191,253, 72, 76,238,234,109,134, 20, 0,112,150,137,219,142,187,155, 30,240, 52, 23,193,203, +206,110,245,198,245,223,123,251,184,219, 83,204,149,165, 96, 88, 22,254,205, 34,249,179,167,140,241, 89,252,221,150,239,160, 49, +190, 93,223,249,109,189, 16,218,188, 69,200,244,109,199,175, 4,104, 53, 74,211,233,157, 95,100,192, 8,218,219, 47, 68,184,104, +201, 42,254,156,207,167, 78, 51,177,121,215, 82,149, 72,106,104,172, 9,241,194,145, 37, 75, 87,180,239, 55, 52,202,129,171, 80, +241, 13,218,138,160,205, 63,111, 89, 16,220,190,139,180,103,120, 83,145,114,223, 36, 74, 95, 94, 2, 51,207, 78,210, 47,108,128, +147,126,236,235,244,230,173, 59,166, 36, 41,177,214,154, 58,179,228,143,190,199,113,141,143,186, 78, 17,244,188,125, 53,102, 34, + 43,191, 14,194,210, 0,107,174,126, 7, 75,131,112,143,222,187, 78,250, 25, 64,227,132, 22,143, 96,208,217, 75,215,125, 10, 11, + 20,157,191, 91,241,205,108,114,253,250,111, 96,241,107,114, 9, 46, 88, 43, 48, 1, 4,181,116,231,159,162, 89, 24,115,203,216, +160,170,157,253,130, 36,221,124, 28,168,254, 57,106, 42,238, 98,134,254,130,109,104,178,193,134,255, 23,139, 9, 67, 8, 17, 60, + 99,206, 97,132,144, 19, 79, 73,243, 25,128,247, 43,183,183, 0,248,246, 25, 20,173, 41, 0,239,202,237, 2, 0,121,182, 30,240, + 84,120,210,249,189,209,113,180,236, 64, 56, 96,255, 75, 0, 96,111,109, 41, 8, 96, 7,138, 15,208, 90,140, 24, 58, 16, 30, 94, +222, 0,173, 3,204, 58,128,214, 3,180, 22,160,245, 40, 82,100, 3,102, 45,144,249, 27, 24, 66, 36, 86, 87,215,168, 6,210,246, +161,127,167, 0,120, 58,219, 97,234,136, 80,143, 77, 39,211,182,108, 57,157, 58, 32, 73,137,215, 44, 42, 43, 33,232,218,174, 53, +214,108,209,166, 28,187,165, 26, 12, 0,195, 58,184,159,236, 26,218,204,127,245, 54, 67,202,137,123,165, 67, 0, 96, 72,152,211, +111, 93,218,250, 4,112, 79, 17,158,134, 35,164,167,111,243,214, 20,123,123, 35, 56, 77, 30, 52, 26, 61,242, 30,110,135,171,223, +115, 60,150, 67,239,134,206,183,231, 99,214,199,115,150, 9,117,154, 66, 19,103, 86,177,158,252, 82,190, 64,204, 81,200,191, 96, +172,224,202,216, 79, 39,188,197, 76,255,242,235, 89, 0,198,212,199, 19,234,133, 41, 43, 87,174,110,215, 61, 34,216,171,224,192, + 84,170,162,180, 16, 12, 95, 42, 25,241, 66,119,184,180, 9,229, 10, 99, 87, 82,226,192, 1,112,113, 15, 68,254,149,157,200,186, +122,144,234,209,105,164,228,151, 93,162,177,128,185, 86,161,213,218, 3, 61, 6,247,234,178, 39, 48,192,215,135, 16, 14, 28, 71, + 64, 56, 22, 21, 6, 26,179,247,102,130,101, 89,188, 50,184, 71,127,153,152, 34, 28,199,129, 16, 14,185, 5,197,186,243,215, 82, +250,103,150,226,154, 37,150,170, 14,207,247,237,113,247,230,213, 96, 58,237, 24, 34,198, 44, 73,161,128, 75, 53,250, 92,143, 91, +167,126, 9, 6,126,110,188,150,163,192,102,157, 92,138,128, 94, 19,248, 27,119,157,244, 84,171,242,199, 29,216,190,254,213, 31, + 55,110,220,145,162,196, 36,107, 68,214, 39,189,196,151,190, 59,175,113,127, 33, 80,166,202,173, 97,167,108,233,202, 27,188,225, + 68,210,199,241, 11,187, 6,207, 57, 78,202,226, 50, 12,247,108,227,150, 13, 54,252,189, 32,132, 60,115,177,149,157,157, 45,127, + 26,177,229,231,231,215, 43, 63, 63,127,121,149,183, 10, 69, 81,203,155, 55,111, 62,239,143, 7,213,199,158,245,212, 44,203,142, +201,207,207,143,171,143, 51, 50, 50,210,247,248,241,227, 45,106,112,182, 0,208,162,182, 99, 93, 92, 92,216,110,221,186,101, 29, + 63,126, 92,110,235, 33,141, 18, 92, 86, 11,173,148,156,125, 83, 59, 25, 21, 21, 0,144, 98,193,241,143, 77,249, 25,104,118,233, +214, 5,111, 45, 13,107,238,134,114,173, 9,167,111,100,129,101,105,176, 12, 83,105,217, 98,192, 50, 52, 6,119,240, 64, 55,195, + 36,172,141, 78, 5,195,114, 75,234,227,124, 18,102,194,189,209,113,192,232,189, 28, 71,196, 18, 33, 79, 29,228,239,238, 53,253, +149, 14,188,169, 35,194,160, 55, 51,163,119,198,102,156, 79, 86, 98,179, 69,156,220,159,195, 19,145,218,246,177, 76,131,117,175, +199, 26,213,117, 64,159,158, 78,196,168, 6, 93,148,137,114, 29,141,204, 98, 26, 5,134, 50, 72, 40,133, 69,156, 28, 65,251,166, +126, 62,210,203,123, 62,127,232,206,215, 8,188,248,140, 72,204, 99,192,114,132, 79,202,146,140,110,193, 3,133, 85,126, 91,245, +149,211, 94,234,248, 86,175, 65,145,206, 57, 59, 39, 80,246, 65,131,225,213,201, 31, 15,227,182, 66,121, 35, 26,197,242, 44,202, +201, 80,134, 38,238,173, 48,116,204,107,248,246,181,206, 40,215,148,131,175,200,112, 22, 11, 37, 46,128,185, 86, 78,194, 98,204, +202,101, 95,251, 8,248,188, 71,237, 89,245, 98,105,232,141, 70,128,101, 96, 39,224, 64,145,170,239,104,176,180, 89,218,126,228, +231, 31, 0,236,181,134,234,158,172,196,174, 80, 79,244, 4, 71, 7, 19, 90, 15, 10,184,148,164,250, 67,252,132,120,225,141,231, + 6,191,211,147, 80,184,216,152,107, 20,238,142,168,136, 22, 14, 50,153, 38, 5,121,251, 63, 66, 6,236, 72,147,238,239,227,141, +119,167, 72, 55,109,218, 52, 28, 32,147,241,184,143, 90, 53,103,112, 19,254, 68,154,197, 60, 0,208,211,100,171,163,152,122,119, +229,238,120,119,240,255,200,240, 80,101,201,202, 40,230, 74,205, 49,115, 83,159,159, 30,221,167,221,237, 62,185, 20, 37,201,185, +112,223,168,182,166, 47, 89, 9, 27,167,141,243, 47,231,116,114,114,106,217,188,121,243,121, 52, 77,247, 18,137, 68, 77,204,102, + 51, 56,142, 43, 16,139,197, 23,179,178,178, 22,106, 52,154, 7,255,180,186,223,189,123,215, 26,177,213, 32,167, 80, 40, 68,106, +106,234,125, 43,196,214,217, 39,206,255,245,210,165, 75,216,187,119, 47, 0, 32, 45, 45, 13,109,218,180,145,213,118,226,195,135, + 15,101,125,250,244,249, 21,128,127,125,156,247,238,221,107,121,236,216, 49,236,223,191, 31, 0,144,154,154,138,160,160,160, 90, + 11,115,233,210, 37,254,155,111,190,217, 18,128,252,111,184, 70,255, 5,145, 85,243,253, 15,161, 21, 29, 29, 77,162,162,162,168, + 39,183,107, 65,102,128,171,184, 19, 12, 44, 0,100, 90, 91,130,228, 66, 44, 91,179,253,212,144,115,251,215,245,178, 19,241, 48, +127,243,244, 92, 85, 73,249,243, 2,234,209,244, 11, 67,192,115,117, 16,199, 47, 25,215, 33,160,180,194,128,163,191,231,199, 37, + 41,173, 51,145, 38, 41,112, 6,224, 92, 30,125, 98, 97,208, 43,131,198,125,123,102,247,238, 89, 67,218,127, 58,162, 61,142, 92, +201,250, 20, 96, 26,140,250, 78, 56, 14,132, 99,170,157,223, 43, 31, 29, 0,238,241, 4,190, 28,200,163,125,156,117, 22,173,222, +128,160,212, 11, 67, 29,165,226, 31, 38, 78, 28,239, 68,171,210, 81, 98, 18, 33,183,212,128, 2,189, 16, 21, 2, 47,228,167,220, + 99,121, 20,206, 52,104,114,161,160, 33,140,193,197, 85,236,192, 11, 31,248,129,159,230,228, 23,165, 98,138,225, 59,189,188,216, +165,232,220,170, 44, 70,171,210, 82, 20, 26, 12, 63,239,236,236,210,198, 80,156,197, 87,151, 22,193,197, 59, 12, 67, 70, 71,225, +171,200, 80,148,107,180, 80,149,196,147,214, 62, 78, 84,246,197, 29,152, 51, 52, 4,197,133, 10, 24,105,128,210, 26, 75, 12, 38, + 67, 69,157,237,200,195,198, 79,102,204,124,163,153,143,167,172,106, 81, 1,225, 88,116, 8, 9,196,192, 94, 93,113,230,210,101, + 92,191,151, 6,174,114, 81, 1,225, 56,228, 41, 75, 11, 13,102,118,171, 85, 13,202, 50, 32,180,161, 86, 33,134, 70, 76, 25,134, +123, 65,202, 2, 95,118,110,233,248,222,172,168,102,142, 50, 9, 5, 3,205,194, 96,162, 81,126,249, 7,184, 55,111, 7,169,157, + 29,213, 9,122,193, 45,212,222,182, 6, 26,243, 30, 40,202,124, 80, 81,128, 55, 7,134,125,188,109,201,135, 50,202,238, 81,215, +164,217,199, 45, 89,151, 23,116, 62,245,230,162,195, 49,123,247,189,238,251,237,103,111,245, 25, 60,109,107, 12,128,147,182,113, +203,134,127, 35, 94,125,245, 85,187,194,194,194, 88,127,127,255,208,129, 3, 7, 74,123,246,236, 9,173, 86,139,211,167, 79, 67, +171,213, 54,243,247,247,111,118,250,244,233,145, 57, 57, 57, 73, 77,155, 54,237,179,127,255,126,139,125,104, 43, 5, 16,191,122, + 8, 6, 24,138,162, 80,185,143,170,220,215,232, 60,183, 98,177, 24,217,217,217,207,220,178,149,159,159,127,191, 49,150,173,138, +138, 10,145,159,159, 31, 60, 61, 61,193,178, 44,180, 90, 45, 14, 31, 62, 12,181, 90, 13,142,227, 96,111,111,143,197, 43, 55, 35, +229, 86, 44,174, 93,187, 6,181, 90, 45,106,136, 51, 47, 47,143,234,208,161, 3,140, 70, 35, 24,134,129,193, 96,192,217,179,103, +171, 63, 11, 4, 2,204, 92,244, 29,210,110,196,226,246,237,219,200,203,203,251, 91,178,141, 88,161, 69,254,137,168, 51,102,214, +223,190,234,144,101,153,217,155,182,237,142,159, 61,233, 53, 76,121,125,128,255,194,117, 7, 7, 36, 23, 97, 27, 0,132,120, 96, +220,216,190,173, 3, 92,164, 66,124,181,243, 6, 64,200,236,167,253,189,196, 18,164,133, 54,225, 62, 61,116, 45, 59,246,139,215, + 58, 33,208,199,169, 77,169,184, 68,156,153,105, 65, 78, 65,142,129,171,131,164,237,176, 14,238, 39,193,113,112,113,148, 4,131, +101,224,226, 32,105, 59, 36,204,233, 55, 0,112,146, 10,131,107,179,124,213,133, 8,127,225, 4,169, 68, 48, 65,230,232, 18,240, +246,240,129,246,195,134,143,180,119, 16, 50, 40,190,118, 26, 26, 97, 83,208,110,205, 96,164, 75,144,247, 32,131, 61,119, 53, 57, +191,168,220, 56,189,193, 98, 18,196,229, 63, 72,245,108,217,126,160,107, 81,244, 28,101,203,119,118,182,224,129,227,149,239,120, +185, 80,230,213,197,254,247,204, 7, 21, 28,169,213,162,243, 24, 52,106,117, 22,205,194, 71,207, 10, 28, 51, 98,126,193,172,161, +237, 80, 90,162,132,193,204, 64,173,103,204,222, 46,118, 18,227,131, 4, 24,205, 12, 76, 52, 7,161,139, 31, 78,199,223, 43,226, +104,250,183,186, 56, 51,139,113, 59,243,240,109,135,154,251, 2, 61,208,225,115, 39,251,219,160,245,200,206,147, 99,219,241,248, + 78,153,197,184,253, 52,215,153,112,204,163,233,231, 26,150, 44,138,160,103, 99,156,224,131,189,208, 69,100, 39,250,126,249,167, +111,134,190, 16,228, 38,225,242,226, 65,113,102,200, 88, 1,244, 98, 22,206,254,129,224, 76,229, 68,103, 48,148, 37, 2,245, 93, +124, 62, 0, 16,179, 22,223,190, 21, 38,163, 92, 3,193,102,158,132,160,227, 4,208,149,214,254,140, 98,238,158, 57,102,110, 74, +183, 25,199,122, 47, 58,211, 55, 89,126,124,126,178,223,171, 63,116, 0,182, 54,183,221,174,109,248, 55,162,109,219,182,222,249, +249,249,137, 51,102,204,112,123,249,229,151,113,232,208, 33,104, 52, 26,108,221,186, 21,171, 87,175,198,130, 5, 11, 64,211, 52, + 54,109,218, 36, 61,112,224, 64,151,245,235,215,231, 5, 4, 4,132,229,228,228, 20, 52, 32,176, 40, 0, 18, 0,194,202,123, 23, + 5,128, 59,113,226, 4,134, 13, 27,134, 19, 39, 78,112,149,251, 88, 60,122,248,105, 84,238, 79,177, 88, 12,177, 88, 12,181, 90, +253, 76,196,150, 80, 40,132,131,131, 3,196, 98, 49,202,203,203,173, 22, 91, 12,195,240,243,242,242,160, 86,171, 49,112,248,112, +124,183,100, 9,250,246,237,139,129, 3, 7,130, 16,130,179,103,207, 98, 64,247,112,188,246, 98, 31, 36, 39, 39,131, 97, 24,139, +202, 91, 80, 80,128,194,194, 66, 12, 25, 62, 28,155,215,175, 71,215,174, 93,209,182,109, 91, 48, 12,131,216,216, 88,188, 58,184, + 59,236, 94, 26,128,180,180, 52, 91,167,182,220,154,245, 76,124,180,158, 26,137, 42, 92,229,142, 92,136,126,125,112,151,168,225, + 61, 66,177,121,207,185,175,225,169,217, 13, 0,238, 70,201,226,183,250, 6, 34, 41,167, 20,231,110,203,163,147,139,240, 76, 86, +107,112, 44, 60,220,157,164, 0, 95, 12,189,153, 99,156, 50, 27,118, 96,230, 8,129,180,215,231, 24, 59, 60,201,191,107,168,191, +127,213,170, 67,135, 97,171, 48,238,222,253,128,206,109,189, 3,192,210, 0, 75,195,233,181,157,192, 34, 89,131,229,232,222, 66, +124,230,147,169, 83,187, 13,125,105,180,189, 88,234, 12, 86,147, 11,186,224, 30,138,211,227,160,149,182, 65, 65,118, 38,246,158, +186,166, 78,207, 43,214,240,120, 56, 93,168, 54,126,150, 89,138,138,134,120, 13, 52,150,204,155, 51, 61,114,239,238, 61,142,146, +192, 30, 84,198, 15,195,212, 98, 1, 35,241,108,241, 28, 79,103,231, 65,190,217,186,199, 73,107,194,210,134,120,116, 90,205,193, +179,167, 79,190,214,186,101, 15,199,135,215,143, 67,111, 48,194, 72, 3, 97, 93,250,128,101,137,152,226, 81,156, 19,159, 79, 41, +139, 75, 65,209,108,225,197, 59, 15, 21,151,238,100,242,141,142, 88, 90,111,116,145, 39,213, 61,197,255,120,120,159,142, 0,173, +199,139,189,218,225,187, 29,231, 62, 2,216,119,158,238, 34, 63,178,104, 17,160, 71,168, 39, 54, 16,130, 30, 55, 14,175, 14,142, +120,233, 19, 88, 99,209, 10,243,192,208,144,150,190,191,124,183,248,115, 55,247,166,109,248, 20, 71,131,120,183, 7, 52,121,132, +202,139,135,179, 95, 87,176,190,221,177,105,237,138, 10,142, 35,187, 81, 79,104, 11,150, 3,184,156, 11, 96, 83, 14, 33, 51, 51, + 19, 30,205,110, 0, 20, 15,164,249, 67,152,153, 71,167, 25,205,228,248,154,173,199,250,126,214,111, 73,216,240, 96, 65, 64,252, +157, 12,229,232,119,125,165,207, 7,240,131,146, 20, 50, 94,145, 86,203,217,198, 47, 27,254, 77, 48, 24, 12, 7,151, 45, 91,230, + 22, 21, 21, 85,101,145, 65,124,124, 60,182,108,217, 2,153,236,241,113,114,216,176, 97, 32,132,184,205,159, 63,255, 32,128, 23, +234,226,236,214,173,219,240,219,183,111,203, 59,118,236,152, 89, 41,182, 68, 0,120, 9, 9, 9,188,220,220, 92,202,213,213,149, +248,250,250,210,114,185,156, 3,192,190,251,238,187,252,125,251,246,181,214,106,181, 23, 26, 43,180,196, 98,241, 51,241,217, 18, + 10,133,160, 40, 10, 98,177, 24, 34,145, 8,132, 16,171,196, 22,203,178,130, 19, 39, 78,224,198,141, 27, 88,208,177, 35, 62,245, +243,131,155,155, 27, 98, 99, 99, 65, 8,129, 76, 38, 67, 73, 73, 9,118,239,222,141,126,253,250,129, 97, 24,145, 37,188,251,247, +239,199,205,155, 55,177, 40, 34, 2,159, 58, 59,195,193,193, 1,103,207, 62,154, 13,148, 72, 36,200,206,206,198,217,179,103,209, +167, 79, 31, 91,167,126, 74, 88,220,121,122, 3,130, 18, 10,222,102,147, 30,132, 33, 0, 5,223,144, 16,136,146,147, 31,119,206, +177, 4, 60, 30,230,172,221, 22, 29,185,234,147,225,212,132, 17,157,124, 23,254, 18, 51, 25, 0,222,123, 37,200, 79, 42, 17, 96, +205,145, 36,194,227, 97,206,179,168, 96, 72, 8, 68, 84, 49, 38, 15,236,218, 22,242, 50, 19, 50,228,101,231,147, 1,139,178, 56, +159, 91, 53, 22,219,143,198,230,174,222,110, 72, 33,132,192,197, 65,210,118,220,221,140,128, 95, 78,220,204, 89,185,215,144, 66, + 56, 2, 23,169, 48,248,157,228,238, 13,174, 58,140,240, 23, 78,152, 54,125,122,247, 17,239,204,176, 99, 82,246,193,148,113, 10, +156, 89, 15,141, 89,132, 50,190, 55,242,114,114,240,205,166,232, 92,141,214,244, 90,162,202, 58,129,153, 94,140, 10, 1,165,121, +249,155,175,190, 56,179,100,241,124, 7,125,102,108, 5,159, 98,244,252,230,189, 5,139, 23,172,162,202,141,166,209,153,165, 40, +111,136,199,232,136,165,203, 86,174,141, 28, 63,102,100, 74, 80,155,222,238,172,252,129,187, 65,163, 81,238, 60,121,211,187,242, + 73,145, 2,128,140,188, 98,168,212, 90,134,101,232, 11,142, 66, 44, 76,178,196, 58, 88,137,150, 94,240,140,234, 17,246,166,167, +163, 8,250,138, 50,120, 57, 10, 49,184,107,171, 55,233,223,211, 62,127,160,180, 70,174, 61, 41,180,104, 16, 90,143,171, 75,251, + 5, 19,150, 14, 6, 75,195,124,247, 87,235, 45, 99, 20, 62,157,210,203,193,201,213,244,144, 7,173, 12,176,247, 0,229,212, 12, +112,110, 65, 9, 67, 70, 67,158,153,200,124,244,230,152,226, 7, 89,121, 63,121,216,215, 63,173, 77,115, 4, 92, 86, 44, 42, 10, + 51,144, 32, 55, 35, 76,249,104,182,221,169,240, 22, 88, 91,196, 28, 27,254,163,200,206,206,126,107,246,236,217,151,186,118,237, +218,196,195,195, 3,237,218,181,195,209,163, 71, 49, 99,198,140,234, 99, 58,118,236, 8, 66, 8, 74, 74, 74,176,108,217,178, 2, +185, 92,254, 86,189, 15,232,137,137, 41,219,183,111,239, 21, 26, 26,106, 22,137, 68,101, 0, 36,101,101,101,118, 37, 37, 37,148, +193, 96, 0,199,113,156,179,179, 51, 43,151,203,233,215, 94,123,205,120,229,202,149, 86, 90,173, 54,251,105, 44, 90,254,254,254, + 9,197,197,197,106,138,162,158, 58,244, 67,149,200,242,240,240,240,172,168,168,224, 0,148, 54, 38,244, 3,195, 48,136,136,136, +192,169,184, 91, 56,113,238, 10, 52,242, 84, 76, 30,255, 22,218,181,107,135, 83,167, 78, 53,250,154,117,232,208, 1, 39,207, 94, +194,165, 27,119,144,157,118, 23, 31, 77, 30,143,176,176, 48,156, 60,105,243, 94,176, 2,199,241,184,111,214,241, 39,133, 86,159, +232,232,232,170,161,255, 79,242, 53,216, 3, 29,132, 46,226, 95,231, 15,109, 21, 34, 28, 56, 31,148,208, 30,251,218,156,236, 62, +231,155, 31, 82,248, 94,217, 99, 18,148, 13,175, 14,123,236, 79,163, 68, 34,185,150,178,235, 78,114,240,155, 47,118,245,199,230, +163,210, 47, 1, 96,116,207,150,248, 61, 93,133,107,105,202, 93, 73, 42, 36, 62,109,173,195,189, 32,101,139,176,107,217,199, 35, +250, 52,107,234,141, 45,135, 46,129,162,112,208,162, 27, 46, 33,164,107,104, 51,172,222,254,228, 10, 67,239,128,149,123, 13, 41, +167, 19,203,135, 2,192,192, 96,233,111,157, 91,185, 6,144,154,142, 91,181,192, 94, 44,152, 56,116,228, 88, 59, 38,237, 40,144, +117, 22, 20, 99,132,222,204, 65, 81, 84, 14,157,179, 63, 98,227,239,232,213, 6,211, 39, 73,170,198, 89,241,146,139,144, 41,186, +126, 39,167, 66,171,247,145,122,182, 50,240,121, 28, 87, 97, 36,248, 61, 41, 75,147, 84,128, 84, 75, 56, 50, 51, 97,122,222,143, +233,185, 97,219,222,121, 66,145,120, 52,159, 2,229,229, 34,243,220,176,106, 17, 28, 29, 29,192,153, 42, 0,173, 10, 47,127,248, +141, 42, 65, 78,183, 4,128, 54,238,112,232,217, 82,184, 77,192,163,242, 98, 50,204,115, 27,250, 13,138,198,164, 49,131, 59, 10, + 57,147, 22, 31, 47,219,131,141,159,143,192,216,254, 33,194,227,151,211, 38, 1, 88,216,216,107, 77, 88, 6,132,214,227,133, 47, +226, 82, 40,224, 18, 1,122,220,216,187, 56, 24,184,101, 49, 71, 39, 64,200, 10, 91,182,255,223, 0, 0, 32, 0, 73, 68, 65, 84, +168,144,246, 1, 50, 17,151,119, 25, 92,222,101,194,247,239, 14, 42,160, 23, 69,121, 71,144,239,151, 47,208,110,222,188,229, 52, +199,195, 87, 22,132,202, 0,203, 1, 69,105,151, 96, 50,153, 64,179,128,193, 96,128, 86,171,133, 44,227,100,181,143,150, 72, 72, + 13,153,250,246,240, 14,164, 66,174, 59,150,194,228,108, 25, 31,252, 2,169,144,235,174,230,176,105, 69, 90,163,205,154,101,195, +191, 17,153,114,185,124,200,176, 97,195,206,157, 58,117,202, 45, 60, 60, 28, 0,112,227,198,141, 71, 15,157, 17, 17, 8, 10, 10, + 66, 97, 97, 33, 94,127,253,245, 34,133, 66, 49, 4, 13,248,252,150,151,151, 63,216,191,127,127, 19,173, 86,219,113,238,220,185, +202,102,205,154,105, 12, 6, 3, 85, 86, 86,198, 49, 12, 3, 87, 87, 87,113,199,142, 29,209,173, 91,183,138,248,248,248,230,185, +185,185,229, 0,178, 26, 83,248, 17, 35, 70, 32, 46,238,209,162,189,103, 17, 87, 75, 36, 18, 33, 60, 60,220, 47, 51, 51, 51,191, +242,222, 98,245, 24, 95,243,246,114,231,206, 29, 92,184,149, 7,129, 73, 15,177, 74,142,171,135,246, 99,248,196, 15,192, 48,141, +207, 45,127,231,206, 29, 28, 62,123, 21, 50,137, 0,169,169,137,216,191,127, 63, 38, 79,158,252, 84,156,141, 68,189, 90,228, 31, + 14, 5,234,240,211, 18, 0, 64, 84, 84,212,133, 42,107, 69, 77, 4, 6, 66, 44,169,192,252,129,157,252,102,142,238,209,138, 79, +107,228,224, 88, 14,124, 33,224,229,225,132, 95,127,221,213,114,215,158, 61,241,235,215,173, 95,203, 49,204,156, 4, 37,116, 86, + 20,106,254,170, 61,151, 70,255, 58,189,143, 96,242,208, 96, 55, 0, 16, 9,120, 88,115, 52,145, 1, 48,255,105,106,251,188, 31, +236, 42,104, 76,240,114,119,254,114,246,251,145,110,125, 34,130,112,225, 90, 2,214,238,143,143, 19, 43,177,221,226,206,205,209, +120, 82, 63,213,182,234, 16, 92,195,126,151, 44, 75,188, 69, 50, 87,152,179, 98, 0,179, 1, 6,163, 25,185,197, 44,114, 75, 12, + 16, 72, 69,184,145,150,167,119, 47, 64,244, 83, 84,155,146, 73,237,124,231,125,189,178,169, 65, 95,193,104, 74,139, 24,145,248, +170, 80,106, 47, 81, 88,227,170,112, 53, 31,134, 94, 45,132,207, 1, 28, 95,108, 71,116, 95, 76,123, 91,150,159,116, 10,173,121, +114, 80,132,192, 62, 36, 18,142,246,124, 81,143,230,194, 28, 0,144,201,164,226,101, 95,205,112,254,228,243,175, 26,244, 1, 11, + 1, 68, 65,129,222,159,132, 55,115, 69,220,205, 20,196,221,203, 78,140,187,145, 26,214,183,157, 47,130,154,186, 76, 21,151,150, + 45, 77,134,245, 22,210, 71, 23,134, 1,104, 67,245,170,195, 16, 47,188,209,121,244,220,186, 86, 27,214,138, 22, 0,151,198, 18, + 80,124, 62, 64,241, 30,173,128,204,189, 12,129, 75, 32,217,181,247,176,110,203,150,237,139,146,139, 44, 95,156, 65,179, 96, 53, + 26, 13,100, 50, 25, 78,166, 49,198,177,131, 69, 18, 30,143,135,220,180, 91,127, 56,195,187,241, 66, 69,125, 23, 7, 95, 94,208, +249,148,163,152,146,248, 70,126, 21,194,220,219,158,215,216,155,132, 13, 54,252, 19,160, 86,171,239, 38, 39, 39, 15,110,223,190, +253,214,143, 63,254,216,113,204,152, 49,190,227,199,143,231, 1, 64, 97, 97, 33,183,122,245,106,249,247,223,127,175, 46, 42, 42, +122,135,166,105, 75, 66,153, 16,133, 66,113,229,167,159,126, 82, 93,188,120, 49,172, 75,151, 46,146,231,158,123,142,115,117,117, + 21, 72, 36, 18,214,100, 50, 25,210,210,210,216,204,204, 76,159,178,178,178,251, 0, 50,208,136,140, 21,149,214,171,133,124, 62, +127, 30, 33, 36,252, 89,248,104, 73,165, 82, 95, 0,247, 41,138,106,109,237,180,225,159,110,216, 2, 1, 74, 75, 75,161, 43, 72, +132, 93, 94, 58,218,203,120, 8,117,117,128,147,147,211, 83,137, 34,181, 90, 13,104,243,113,233,210, 29,128, 97,224,236,236, 12, +103,103,231,191, 93,104,213,165, 69,254, 37,152, 80,203,190,250,125,180, 66, 61, 49,217,222,132,213, 19, 35, 91,137, 90, 4, 52, +133, 49,239, 6,238,228, 86, 96,206,243, 93,146,248, 18, 71,195,196,183, 70, 68,140,124,181, 57,250,116,235, 76,181,240,113,158, +186,116,213,143, 31,134,162,104, 70,146, 18,107, 44, 41, 81,146, 10, 15, 56, 40,183,196,220,205,155,212, 84,170, 7,199, 17,196, +220, 83,224, 94, 86,233,150, 20, 21, 30, 88, 83,187, 80, 31, 12, 16,128,183,135, 16, 98,231, 44,147,149,135, 6, 53,245, 24,240, + 66, 7,222,144,222, 17, 16,241,129, 75,191,223,193,167,171, 14, 94,229, 56, 18,121,203,194,105,195, 71, 43, 12, 31, 23, 80,143, + 86, 24,210,143,173, 48, 36,132,144, 71,171, 14,235, 55, 62,240,249, 84,129, 46,251,186,183,208,189, 13,244, 25, 49,200, 42,229, +144,173, 44,135, 70,224, 13, 99,126, 62, 64,184,156, 11,245, 59, 86,215, 11, 15, 15, 15,175,150,161, 65,173,126,216,182, 31,102, +157, 26, 15, 98,183,162,162, 84,129,197, 27,142,182,242,243,115,239,157,159,159,127,193,138,193, 38,232, 92,244, 46, 47, 16,128, + 47,148,224,248,250,189, 40,114,183,135,135, 84, 4,238,255,216, 59,239,176, 40,174, 54,138,159, 41,219, 88,150,206,210,139, 72, + 4, 68,177,247, 18, 53,182, 24, 49,246, 22,141, 45, 42, 49, 26, 53, 38,118,163, 49,198,110,196,216, 75,242,217,187,209,136, 73, + 84, 18,177,139, 93, 80, 17, 65, 81,122,239,236,178,101,202,247, 7, 44, 1,165,236,162,105,102,126,207, 51,207,108,153, 61, 59, +253,158,121,239,189,239, 85,103, 96,226,180, 17, 86,189,186,143,176, 2,128,231,143,238,192, 83,174, 54, 74, 87,103,135, 1, 67, +186,248, 89, 67,175,198,174, 95,239, 20,147,192,187,187,207,220,143,237, 82,223, 90, 54,164,131,167,205,226,228,220,129,200,170, + 93, 82, 81, 67, 68,171, 44,194, 87,139,222,134, 71, 0,182, 62,135,216,131, 87,210,205, 7,117,111, 46, 23,211, 4,193, 23, 38, +129, 55,179,199,230, 93,135, 11, 37,122,211, 70, 98,231,128,197,173,151, 61,253,178,228, 60,193,206, 94,203,110,126,116,118, 65, + 27,101,106,106, 42,116,165,117,135, 79,179,185,223, 63,236,222,128, 77,204,227,180,103,150,247, 31, 68,152, 41, 37, 95,172,218, + 29,198, 3, 66, 54,105,129,127, 53,106,181,250,150, 90,173,110,244,197, 23, 95, 12,159, 59,119,238,219,230,230,230,117, 1,160, +168,168,232,169, 94,175,191, 80,122,125,154,210, 59,144, 7, 16, 19, 27, 27,251, 52, 54, 54,214,113,239,222,189,214, 0,100,165, +223, 21, 3,200, 5,144,134, 87,232,113,104, 48, 85, 4, 65,124,249,186,246,131,193, 84, 17, 4, 81,175, 54,191, 39, 73,146, 37, + 8, 2, 4, 65, 64, 42,149,226,226,197,139, 24,220,187, 59, 30,158,202, 69,128,181, 2,173,198, 76,196,193,179,103, 65, 81, 20, + 8,130, 0, 69, 81, 38,149, 35, 52, 77,227,210,165, 75, 24, 57,108, 16,164, 52, 96,101,101,133, 47,190,248, 2, 39, 78,156, 0, + 77, 11,163,244,153,192,182,114,134,203,200, 60, 90, 4, 22,159,221,185, 84, 12, 86,143,147, 59, 87, 35, 36,178, 80,251, 40, 3, +243,252, 50, 16,124, 4, 5, 92,198,183,187,131,206, 94,138, 92, 53,118,104,160,252,157, 46,221,241, 78,231, 46,116,195,150,157, + 22, 0, 21,140, 86, 55, 84,147,107,131,229,240,245,182, 95,163, 38, 30, 12,139, 38,160, 43,192,208, 30, 45,121,150,195,215, 53, +108,204, 75,154, 86,102,138,131,151,174, 94,181,129,174, 16,207,238,252, 46,171, 83,247, 45,128,213, 33, 38,230, 49,214,239,250, +145, 11,187,254,104,143,150,193,167, 79,114, 80,100,172,102, 73, 73,201,192,202, 92,226,247,110, 67,203, 95, 56,240,176,150,139, +235,243, 28, 11,107,185,168,126,247,250,242, 95,120,158,231, 45,204, 68,245,121, 86, 95,163,166, 90,203,108,221,245,195,142, 53, +227,198,141, 51,207, 76, 76, 69,114,126, 36, 10, 37,174,208,203,221, 17,123,231,130, 90,165, 97,140, 41,196,171,220,159,153,153, +153,233,183,194,179,113,112,203, 50,232,181, 26,164, 39,150,120,213,228,204,124, 88,218,187, 94, 77, 74, 74, 50, 90, 83,199,112, +121, 3, 70, 76, 16,155, 89,192,108,228,128, 64, 73,108,150, 6,205, 92, 44, 74,110, 26,133, 25,120, 24,122, 9,157, 75,219,152, + 62, 73, 32,225,217,196,197,168,245,180,144,137, 63,237,213,220, 21, 79,227, 83,112,241,126,210,174,167,217, 72,102,163, 82,118, +197, 38,231, 6,245,109,227,129,181, 39, 30, 76, 1,244,251, 77,217,118,127, 7, 12,231,121,116, 40,105, 12,175, 6, 15,116,240, +119,192,112, 35,123, 26,190,164, 73,139,241,193,154, 95,158,207, 63,124, 35,179,239,204, 15, 58, 90,182,107,247,158, 4,140, 22, + 5,106,141,254, 97, 46,242, 77,209,204, 87,115, 91, 1,108, 53,124,113, 43,145,219,211,113,225,213, 11,251,199,187, 43, 13, 94, +253, 66,172,230, 42,128,171, 99, 91,155, 45, 16,119, 89,226,119,117,113,235,211, 17, 41,220,222, 11,177,101, 57,180,106,188,142, +106,137,160, 41,104,254, 21,154, 44,128, 61,122,189,126, 79,110,110,238,235,212, 76,198,203,121,157, 94,105,219,203, 87, 19,242, + 60, 79,151, 70,179,106,106, 12, 95,173,102,249,106, 66,158,231,127, 46,141,102,213, 20,213,170,160,201,113, 92,114,139, 22, 45, +108,251,244,233, 3,150,101,241,248,241, 99, 60, 79, 72, 64,183,160, 41,176,182,182,198,133,123,247,240,232,209, 35,124,249,229, +151,208,235,245, 56,126,252,120, 98, 77,154, 52, 77,235,222,122,235, 45,113,191,126,253,192, 48, 12,158, 60,121,130,164,164, 36, + 76,159, 62, 29, 86, 86, 86,184,117,235, 86,153,102,102,102, 38,104,154,214, 85, 18,221,250, 51,206,165,127, 59, 47,153,172,234, +141, 22,192,130,213, 35,239,236, 66,172,187, 8,157, 78,143,250, 15, 50, 16,247,224,143,136,212,102, 42,252,222,201,123,145, 81, + 79,111, 93,126, 71,130,244, 8,152,250, 36,241, 56, 11, 41, 22,178,130, 2,232, 10, 44,241,228, 23,196,165, 21, 20, 62,206, 66, +138,201, 79, 12, 28, 75, 64,167, 2, 82,110,226,202,133,243, 8,187,118, 23, 55, 34,162,216, 43,183,162, 15,146, 28,190,126,152, +133,199,181,120, 10,129,162,247, 90,140,142,136,241,104,233,235,232, 1,150, 1,207,233, 97, 53,116, 63,198, 60,104,231,209,210, +219,218,163, 36,146,165,135,205, 71,191, 3,107,100,213,234,221, 76,208,111,147,156, 56, 61,176, 32, 55,171, 77,215, 78,109,205, +173,252,123, 33, 51, 38, 26,143,239, 94, 82,223,138,140,189,114, 51, 65,191,237, 85,142,174,171,171,235,219, 93, 59,249, 97,232, +196, 57,208,169,242,240, 36,236, 7, 20,102,167,226,226, 85, 5,162,242,243,219, 2, 48, 58,162,117, 53,158,105,136,248, 28,180, +175, 35,138,183,128,198,233,195,192, 62,144, 18,197,224, 52,249, 32, 84,153,136, 77,210,230, 13,220,146,192, 2,128, 92, 74,208, +230,124,158,165, 81,145, 71, 79, 59, 31, 57,165,199,238,179,247,193,113, 37,195, 55,113, 28, 54,239,254, 61, 54,232,235,145,205, +208,192,195,166,201,157,164,116, 2, 38,132,252, 9, 30, 29,111, 28,252,170,126,241,111, 11, 0, 78,135, 75, 83,109,235,119, 92, +151,221, 17,181, 28,110, 39, 50, 25, 73, 0,130, 64,171,182, 78, 93,247,235,130, 22,103, 31,116,152,241, 81, 95, 75,240,175,165, +135,110,244,131, 84,246,237,214,203,159,159,230,248,138,245,185, 37,145, 45,127, 62, 57,159,191,115, 33, 86, 35,100,133, 23, 16, + 16, 0, 0, 20, 22, 22, 78, 28, 51,102,204, 86,145, 72,164, 4, 64,112, 28, 7,142,227,232, 85,171, 86,137, 88,150, 37, 73,146, +100, 41,138, 98,126,254,249,103, 61,203,178, 25,197,197,197, 19,107,210,100, 24, 38,118,210,164, 73,111,213,212, 67,241,192,129, + 3, 6,147, 21, 43, 28, 9,163, 76, 86,249,121, 89,148,139,174, 38, 72,251, 85,251,145, 11, 23, 2, 32,192, 99,209,131, 12,196, +189,184, 72, 68, 54,146, 27, 80,186,233, 13, 91,118, 90,104,248,141,169,107, 86,204,178,131, 90, 54,242, 61, 0, 0, 26,158, 29, + 89,155,173,203,215,168,135, 52,109,217,246, 32,199,243, 52,195,243, 59, 72, 14, 71,139, 25, 60, 52,166,167, 93, 85, 36,167,231, +222,234, 21, 96,197, 3, 37, 85,134,101,213,133,165,105, 28,120,158,231,203,170, 11, 87,203,144,153,167,169, 49, 15,212,229, 56, +109,119, 45,115, 99,194,153,203,119, 38,178, 44,239, 68, 81, 68,170, 90,203,108,125, 85,147, 5, 0, 73, 73, 73,231, 67,207, 38, +157,185,215,196,177,135,189,188, 52,202,165, 2, 50, 85, 56,147,148, 81,120,190, 54,154, 57, 69,250,190,115,131, 79,252, 36, 17, + 81, 52,120,190, 36,161, 40,207,163, 88,199,102, 95,141,103, 26, 2, 64, 35, 91,184,124,113,156, 57, 64, 81,196,243,154,244,194, + 31,165,172, 29,186, 60,244,243,251,207,114,118, 60,203, 69, 36, 0, 60,203, 69,228,161, 75,113, 11, 98, 83, 11, 62,143,124,158, +179, 26, 38,182,171,224, 9, 92,108, 57,116,225, 75,159,189,234,254,140, 74,193, 93, 0,253,129,196,238, 67,103,172,159, 65, 16, +120, 93,195, 79, 68,171,117,188,231,139, 31, 26, 34, 91,194,189, 74, 64,224,159,129, 33,170, 69,146,228,226,215,168,249, 51, 65, + 16,239, 1,136, 49,225,103,225,133,133,133,141, 94,243,230,101, 49, 12,147,101,204,130,127, 67,131,248,127, 43,219,254,174, 63, +238, 38,104,254,245,154,245,234,213,227, 77, 48, 44,194,254, 20, 52, 5, 77, 65,243, 63,165,201,243, 60,245, 42, 83, 21,154,196, +171, 76,194, 49,250,215, 51,161,170,247, 66, 75,183, 55,144,152,152, 24, 66,216, 11, 2, 2, 2, 2,149, 67, 16, 4,251, 39,104, + 10,217,241, 4, 12, 6,171, 66,116,139, 20,246,137,128,128,128,128,128,128,128,192,107, 49, 89,229,231, 37, 38, 28, 85,135,255, + 76,233, 77, 80,155, 16, 98,168,160, 41,104, 10,154,130,166,160, 41,104, 10,154,255, 57,205,154,180,133,222,140,127,178, 1, 19, + 52, 5, 77, 65, 83,208, 20, 52, 5, 77, 65,243,191,167,249,111,166,202, 54, 90, 66,213,161,128,128,128,128,128,128,128,192,159, +132,208, 24, 94, 64, 64, 64, 64, 64, 64, 64,224,213,168,113, 80,105, 1, 1, 1, 1, 1, 1, 1, 1,129,218, 81,253,160,210, 2, + 2, 2, 2, 2, 2, 2, 2, 2,181,198,244, 65,165, 5, 4, 4, 4, 4, 4, 4, 4, 4,140, 98,155,176, 11, 4, 4, 4, 4, 4, + 4, 4, 4,254, 26, 42,246, 58, 12, 9, 9,225,203,207, 5, 4, 4, 4, 4, 4, 4, 4,254, 74,222, 84, 47, 34, 84, 29, 10, 8, + 8, 8, 8, 8, 8, 8,188, 26, 19, 4,163, 37, 32, 32, 32, 32, 32, 32, 32,240,231, 80,101, 27, 45, 67,194,210,206,165,161,186, +206,194,190, 18, 16, 16, 16, 16, 16, 16,248, 27,120,179,189,136,208, 62, 75, 64, 64, 64, 64, 64, 64, 64,240, 34, 2, 2, 2, 2, + 2, 2, 2, 2, 2,255, 36,132,177, 14, 5, 4, 4, 4, 4, 4, 4, 4,254, 98,195,245,167, 27, 45, 97,100,115, 65, 83,208, 20, + 52, 5, 77, 65, 83,208, 20, 52,255, 75, 38,171,130,217, 18,122, 29, 10, 8, 8, 8, 8, 8, 8, 8,188, 26, 53,246, 58, 20, 16, + 16, 16, 16, 16, 16, 16, 16,168, 29, 19, 0, 4,150,190, 14, 68,185,168,150, 16,209, 18, 16, 16, 16, 16, 16, 16, 16,120, 53,182, + 1,112, 46, 53, 88,167, 0,164, 8, 70, 75, 64, 64, 64, 64, 64, 64, 64,224,245, 80,190, 93, 86,239,114,230, 75, 48, 90, 2, 2, + 2, 2, 2, 2, 2, 2,175, 72,149,109,180, 8, 84,221,115, 32,212,132, 63,168, 77,239,131, 80, 65, 83,208, 20, 52, 5, 77, 65, + 83,208, 20, 52,255,115,154, 53,105,135,226,223,199, 4, 83,204,215,235, 68,232,250, 42,104, 10,154,130,166,160, 41,104, 10,154, +130,230,127,150,215,222,235,176, 25, 96, 38,236,214, 55, 18,199,210, 73, 64, 64, 64, 64, 64, 64,160,122,254,156, 94,135,254,192, + 71, 35, 2,148, 91,244,145, 25,150,145,128,170,186,101,149, 74,229, 86,185, 92, 62, 66,165, 82, 21, 17, 4,193, 25, 62,231,121, + 30, 0,202,143,117,244, 36, 35, 35,163, 99, 77,255, 45,145, 72,130, 29, 29, 29, 63, 42, 44, 44, 84, 17, 4,193, 19, 4, 1,130, + 32, 0,224,165, 57,203,178,137, 89, 89, 89, 45,254,213,135,144,231, 41,123, 71,199,235, 34,138,114, 53,245,167, 44,199,197,165, +167,165,181, 53,225, 39,203, 8, 2, 51, 75,254, 22, 43, 1,204,121,211,174, 8, 30,160,140, 89, 46, 0,176,136, 6,134,178, 36, + 57, 69, 4,108,212,112,220, 22, 0, 32, 0,182,182,255,173, 9,199, 91, 4,143, 38, 4, 1, 43,158, 71, 30, 79,224,174,180, 53, + 98,255,166, 93, 49, 64, 36, 18,245,181,180,180, 84,100,101,101,157, 7,112, 0,192, 48, 59, 59,187, 78,249,249,249,133,122,189, +254, 4,128, 99,181, 17,238,216, 4,179, 36, 98,209,216, 98,157,126,197,229,187,248,161, 83, 51,216, 49, 28,150,203,196,116, 71, +141,150, 89,121,233, 30,118,152, 40, 73,148, 78,134,123,134,201, 99,164, 29, 54,242,184, 3,192,113, 27, 27, 95,169,210,242, 55, +145,132,138,203, 77, 43, 28, 49, 40, 61, 61, 97,240, 43, 28,247,127, 34,246,246,246,163, 73,146,252,134,231,121,176, 44, 59, 47, + 59, 59,123,231,107,146,158, 7,192,186,244,117, 46,128,111, 94, 81,239, 57, 0,143,210,215,241, 0, 60,133,114,189,214,108,254, +241,199, 31,131,186,116,233,130,181,107,215, 98,243,230,205,207, 50, 50, 50,150, 3,216, 5, 64,251, 55,232, 8, 84, 69, 3,224, +189, 85, 61, 91,179,250,255,125,205,149,251,184, 91, 21, 23,243,247, 31,126,248,161,142,231,121,254,209,163, 71,188, 86,171,229, +245,122, 61,207, 48, 12,207, 48, 12,175,215,235,203, 38, 87, 87,215,164, 23,126,254,146, 38, 73,146,235, 6, 14, 28, 88,192,243, + 60,127,243,230, 77, 94,173, 86,243, 26,141,134,215,106,181,124,113,113, 49,175, 86,171, 43, 76,142,142,142,105,213,105, 90, 90, + 90,222,180,177,177, 73,179,177,177, 73,179,181,181, 77,179,181,181, 77,179,179,179, 43,155,236,237,237,203, 38,165, 82,153,166, + 84, 42,211,108,109,109,111,214,180,158,165,244, 4,112,222,136,169,103, 37,191,237, 86,222,104, 57, 59, 59,167,241,181,192,205, +205, 45,193,136,245, 52,224, 72, 16, 96, 13,191, 37, 8,112, 82,169,212,163,252,247,120, 57,210, 85, 99, 72,217,197,197,101,160, +179,179,115,168,179,179,243, 89, 23, 23,151,129, 70,156, 98, 21, 52, 45, 44, 44,110,218,219,219,167, 57, 57, 57,165, 27, 38,103, +103,231, 10,147,139,139, 75,217,228,232,232,152,102, 99, 99, 83,229, 49,226, 1,170,170, 41, 12,160,165,192, 59, 52, 69,133, 56, + 58, 58,230, 71, 68, 68,176, 60,207,243, 36, 73, 38, 25,150, 49,101,219, 95, 52, 89,170, 75,152,151,121, 78, 26, 94, 24,183, 60, + 47,243,156, 52, 92,117, 9,243, 52,225,120,171,182,154, 70, 82,153,230,168, 81,163, 70,221, 77, 75, 75, 75,202,205,205, 77,217, +178,101, 75,180, 76, 38,187,180,101,203,150,232,220,220,220,148,180,180,180,164, 81,163, 70,221, 5, 48,201, 4, 77, 0, 64,219, + 38,104, 51,110,128,179,234,238,241,145,170,119, 90,210,119,218, 7, 32,176,123, 91,113,210,134,217,254,170, 11,219, 59,168,186, + 52, 39, 35, 77,212, 36,104,154,110,231,225,225, 49, 86,169, 84,126, 88, 58,141, 52, 76, 78, 78, 78, 35,157,156,156, 70,218,216, +216, 12,174, 78,243, 48, 64, 25, 51,185,203,100,237, 6,215,245, 80, 61, 95,188,136,143,152, 54,133, 31,235,237,158, 63,200,193, +161,206,223,112,140,254, 84, 77, 7, 7,135,100,189, 94,207,235,116, 58,222,206,206, 46,249, 53,174,231,106,158,231, 87,243, 60, +191, 26,192,234,215,160, 89,118, 63, 51,193, 96, 87,167, 41,163, 73,114,134, 92, 34, 57, 43,165,233,116, 41, 77,167,203, 37,146, +179, 52, 73,126, 14, 64,246, 79, 58, 70,127,130,166, 66,169, 84, 62, 13, 14, 14,230, 85, 42, 21,175, 82,169,248,224,224, 96, 94, +169, 84, 62, 5,160, 48, 65,179,182, 58,111, 82, 4,235,197,233,245, 69,180,252,129, 22,239, 52,169,119,116,234,232,161,224,142, + 4, 19, 53, 60, 49,125,223,182, 69,139,177,187,118,237, 2, 0,140,232,219, 23, 61, 90,181,130,133,194, 28, 18, 73,201,234, 16, + 60, 1,177, 72,140,126,211, 63, 51,230,239, 87,246,235,215,239,131, 35, 71,142, 40, 0, 96,243,230,205, 24, 48, 96, 0,108,109, +109, 33,151,203, 33, 22,139, 33, 18,137, 42,204,107,130,162, 40,183,164,164, 36, 7,153, 76, 86, 22,101,227, 56,174,194,196,243, +188, 33,250, 6,134, 97,224,227,227, 99,236,238,154,157,151,151,247,118, 81, 81, 81,153, 70,101, 83,221,186,117, 1,224,180, 49, +130,223, 44,249, 26, 28, 83, 4,154, 6, 24, 6,208,232, 72,112,124,165,230, 6,147, 38, 77, 42, 91,239,218,208,187,119, 32, 65, + 16,196,145, 91,183,110, 29, 77, 79, 79,247,226, 56,118,124, 45, 35, 93,159, 60,126,252, 88, 1, 0,190,190,190,147, 0, 28, 53, +101, 61,104,154,118,187,119,239,158,131, 84, 42,173, 50,114, 89, 46,130, 9,157, 78,135,102,205,154, 49,166,252,135, 35,224,145, + 77,146,227,155, 54,111, 62, 97, 97,191,126,178,235,215,175,203, 72,146, 4,195, 48, 88,181,106, 21,195,243,188,117, 3,192,242, + 1,144, 95,141,204, 92, 0,163, 75, 11,131, 29, 0, 86, 85,112, 11, 60,154,168,245,210,192, 39,133,253, 90,181,174, 51, 11, 15, +238, 71,180,242, 86, 28,135, 5,173,137, 5,254,218,168,150,165,165,101,223,181,107,215, 42,119,236,216,145,255,232,209, 35,221, +150, 45, 91,148, 19, 39, 78,180,208,233,116, 8, 10, 10,202,240,243,243, 19,175, 93,187, 86,121,236,216,177,119,138,138,138, 54, +153,116,188, 8,124, 61,172,111, 15, 20,235, 73,232,245,140,210, 89,105,177,103,234,168,206, 34,158,215, 98,247,137, 91,208, 51, +220, 15, 38, 70,178,218, 14, 26, 52,200,123,255,254,253,116, 84, 84, 20, 93,191,126,125,112, 28, 7,150,101,161,215,235, 1, 0, + 28,199,161, 94,189,122,175,188, 95,198, 2,190,246,142,182,103,219,190,215,203,204, 89, 38,133,109, 78, 6,198,137,105,139,157, +114,205, 94, 0,237,222,168,200, 46,207,131,166,105, 36, 36, 36,192,193,193,193,140,227,184, 20, 0,139,114,114,114,182,225,205, +165,149,132,166,143,238,254, 97,157, 83,235,118,237, 40, 71,103, 7, 68, 63,142, 7, 77,176,221,238,221,184,213,121,236,199, 51, +166,106, 25,102, 32,128,235,111,218,134, 59,181,155,212,159, 32,169,205, 4,207,225,171, 13, 63, 21, 44, 91, 25, 44, 15, 26, 63, +138,154, 62,125, 58,220,221,221,189,250,247,239,191, 18,192,199, 53,234,180,158,212, 31, 20,185, 25, 60,143,133,235,127, 42, 88, +186, 50, 88,254,113, 45,116,254,229, 84,121,141,188,178,209,242, 7,188, 27,186, 59,156, 89, 54,243, 99, 17,255,203,255, 72, 85, + 86,122,149,203, 42,149,202,173,239,190,251,238,136,157, 59,255,136, 70,183, 13, 8, 64,255,119, 58,192,193,206, 10,114,115, 73, + 73,113,196, 17,184,251, 40,206, 40, 67,224,238,238, 30,116,244,232, 81, 69,121, 51, 33, 22,139,203,166,242, 38,203, 48, 25, 10, +224,234,144,201,100, 8, 13, 13, 5, 77,211,160, 40, 10, 52, 77,151, 77,229,223, 83, 20, 5, 71, 71,147,154, 46, 45,183,178,178, +106, 92, 80, 80, 96,153,155,155, 11, 15, 15,143,124, 0,247,202,125,223, 56, 35, 35,195,210, 20, 65,142, 41,194,244,113,254, 16, +105,175, 65, 43,106, 5, 53,221, 30, 87,110, 60, 68,200,233,243, 72, 74, 78, 69,135, 54, 77,241,225,240, 65, 56,123,246, 44, 88, +214,228,154,142, 52,158,199,202, 62,125, 2,103, 1, 4,209,173, 91,183,220,201,147, 39,147, 81, 81, 81, 31,244,239,223, 47,224, +241,227,152,210,168, 34, 49,147,231,177, 14, 64,154,145,186, 18, 0,184,112,225, 2, 0, 72,107,115,238, 73,165, 82, 92,189,122, + 21,134,106, 98,146, 36, 65,146, 36, 40,138,194,201, 24,123, 20,105, 73,168,210, 34, 49, 37,208, 3,117,235,214, 5, 73,214,220, + 36,177, 51, 32,187, 2,244, 39, 68,162,233,206, 46, 46, 94,157,188,189,229,161,161,161, 20, 0,120,122,122,242, 41, 41, 41,185, + 39, 78,156, 40,160,129,205,158, 60,191,171, 58,147,229,238,238,222, 62, 41, 41,233, 27,195, 62, 39, 8, 98,101,157, 58,117,190, + 44, 59,110, 28,135, 69, 63, 20,137,166, 78,157, 38,110,221,121, 62, 0,160,117,159,253,200,127,178,204,159,200,158,107,245, 87, +223, 37,242,243,243, 15,214,171, 87,143,202,202,202,186, 2,224,185, 94,175,159,189,103,207, 30,135,113,227,198,165,239,221,187, +119, 57, 0,151, 21, 43, 86,116, 46, 42, 42, 58,100,138,110,135,198,120,175,121,227,128, 54, 30,238,238, 56,127,229, 58,196, 18, +145,245,164,209,129, 80, 40,104,172,222,113,138,123,158,152, 61,249,210, 61,236, 50,193,100,181, 26, 52,104,144,215,254,253,251, + 37, 0,112,239,222, 61,164,166,166, 66,169, 84,194,204,204, 12, 34,145, 8, 20, 69, 65, 36, 18,189, 22,147,101,229,110, 23,126, +252,248, 9, 51, 91, 91,107,108,248,108, 42, 62, 76, 79,131,181,133, 2,250,194, 34,175, 55,172,160,240,237,216,177,163,140,101, + 89, 20, 21, 21, 33, 44, 44,204,202,204,204,204,202,205,205,109, 33, 76,232, 61, 37,147,201,210,138,139,139, 29, 74, 95,167, 23, + 23, 23, 59, 2,200,151, 74,165,134,251,116, 97,233,220,216,234,196,231,120,185,154, 48,158, 32,136,242,159,213,150,150,173, 90, + 54, 14, 61,118,100,159, 34,175, 32, 21,214, 54,233, 32,145,135,109,219, 54,194,204,204, 18, 11, 23,206,165,227,186,189,227,218, +243,189,129,161,247, 31, 70,119,123,227,204, 22, 79,108,235,214,103,132,173,153,220,162,180, 44,209, 99,231,246,169, 32, 73, 18, + 95,126,249, 37, 26, 54,108, 56,225,254,253,251,243, 1,100, 87, 47,131,109,141,222, 30, 98, 43,145,149, 28, 98,142,213, 99,203, +129,207, 75,116,230, 76,196,176, 62,117, 39,124, 49,232,233,175, 13,189, 81, 80,250, 96,174, 22,145,136, 39, 90,163,204, 48,132, +132,132,116, 10, 12, 12, 60, 95,213,251,127, 1,206,248, 35,127, 86, 5,243, 69,135,132,132,240,129,129,129, 68,185,141,171,240, +190, 58,154, 0,246, 54, 86,242,208,205,139,166, 42,232,107,167, 40,117,124, 12,146,139, 43, 20,228, 21,186,104,202,229,242, 17, + 59,119,238,172, 16, 82,242,112,116,128, 88, 44,130, 72, 76,192,186, 99, 73,246,250,220,139, 33, 32,136, 42, 77, 86, 5,205,162, +162,162,226, 59,119,238, 40,118,236,216, 1, 7, 7, 7,120,121,121, 65, 46,151, 67, 38,147, 85, 48, 87,229, 13, 87, 37, 70,171, +130,166,225,123,154,166, 65,146, 36,206,158, 61, 11,134, 97, 48,104,208,160,151, 76, 22, 77,211, 85, 25,183,170,186,167,158, 6, +112,143,231,249,183, 75, 11,224,123, 0, 58,149,251,190,167, 82,169,156, 13, 96,185,177,154, 20,197,131, 42,190, 2,206, 45, 24, +116,194, 84,104, 69, 77,112,238,210, 45,236,220,186, 22, 0,224, 85,191, 37, 6,247, 15, 44,139,198, 25,185,158,101,184,186,186, + 30,200,200,200,236,245,206, 59,239, 32, 39, 39, 71,191,104,209, 34, 52,110,220, 24,190,190,190, 70, 29,163, 42,158,156,211,238, +221,187,231,174, 86,171,193,243,188, 49,230,236, 37, 77,130, 32,176,103,207, 30, 20, 23, 23,191,180,176, 77,167,165,248,124,128, + 39,198, 76,217,133,149,143, 14, 97,211,166, 77,213,110,187, 28,104, 92,108, 85,111,157,132, 98, 26, 47,159,251,137,244,195, 15, + 63,164,198,140, 25,131,248,248,120,140, 27, 55,174,248,236,217,179,218,212,148,148, 19, 18,142,219,160,171,104,140,171,212,148, + 74,165,187, 79,159, 62,141, 67,135, 74,124, 73,116,116, 52,124,124,124,204, 43,152,228,236,195, 40,120,190, 1,225, 39,163,208, +186,207,126,132,159, 28, 14, 54,247,148,168,133, 15,242, 76,217,159,181,160, 50,205, 67, 89, 89, 89,101, 38,106,239,222,189,102, +123,247,238,237, 7,224, 39, 0,135, 0, 32, 59, 59,251, 91, 19, 53, 1, 2, 99,134, 12,232, 7, 90,108,129,168,152, 68,116,106, +219, 12,142, 14, 14,184,247, 48, 22,207,147,178,211, 8, 2,163,123,182,147, 44, 87,171,181,243, 47,222,197,247, 53,104, 18,110, +110,110,190,135, 15, 31, 22,151,139, 64,151, 93,227, 20, 69,149,189, 55, 24,239,218,156,159, 6,147,101,225,166, 8,255,122, 99, +123,243,240,136,189,240,241,124, 15, 54,239, 5,226,251, 51,103,240,248,254,131, 98,173,138,233,250, 55, 28,163, 63, 75,211,119, +192,128, 1, 87,246,237,219,103,157,144,144,128, 11, 23, 46,192,203,203, 11, 42,149,202,152, 7,222, 10,154,197,197,197, 14,134, +223, 16, 4,225, 96, 8,188,107,181, 90,195,193, 48, 92,136,214,229,150,179,174, 70,211,163,220,114, 6,115,229,249, 26,182, 93, + 34, 19,139, 15, 31, 63,118, 64,241, 32,234, 2,154, 54,105, 3,133, 85, 3,112,108, 42,178,178, 11,145, 19,147,140, 37, 75, 86, + 98,225,162,121,248,233,199, 35, 10, 63,255, 38, 71,181, 12, 83, 15, 64,241, 27,115,220, 9,126, 66,232,201,189,155, 9,158,131, + 58, 45, 74, 42, 42,122, 42, 31, 49,124, 32, 53,116,232, 80,252,244,211, 79,184,127,255,254,230,106, 76, 86,104,185,200,252,132, +200, 11,135, 54,131,231,161, 78,143,146,138,213, 79,229,163, 62, 24, 76,125, 56,172, 7,174,253,190, 14, 61,154, 62,141,116,113, + 64,255,156, 82,139, 77, 83,200,146,202,112,153, 15,199,181,114,102, 43, 12, 0, 81,206, 96,133,225,143, 54,152,255, 6,122,151, + 26,171, 9, 47, 62,152,208,181, 49, 88, 0,224, 3, 40, 8,137, 56,124,231,194, 79, 92,228,241,247,105, 77,228, 85, 36,107, 56, +126,203, 51,134,107, 6,152,221, 6,212, 47,254, 70,165, 82, 21,197,198,198,154,141,238,223, 31,237, 2, 2,224,108,103,135,122, +110,110, 48,147, 74, 32, 17,139, 42, 60,178, 26, 93,135, 64, 16,188,159,159, 31,250,244,233, 3,145, 72, 4,185, 92, 14,133, 66, + 1,137, 68, 82,105, 52,203,216,167, 92,158,231, 65, 81, 20, 34, 35, 35,241,252,249,115, 88, 91, 91,227,242,229,203,232,218,181, +235, 75, 81,173,242,230,204,148, 16,125, 37, 5,191,193,136,157, 54, 69,139,101, 9, 20,242, 77, 32,123, 54, 25, 42,162, 25, 52, + 26, 6, 26,141, 6,223, 95,210,225,122,108, 17,116, 58, 45, 52, 26, 77,117,255, 89, 21,164,139,139,203,136,122,245,234, 77, 26, + 62,124,184, 94, 34,145,160,168,168, 8, 42,149, 10,247,239,223,215,247,234,245, 94,110,159, 62,129, 86,167, 78,157,226, 75,171, + 14,211, 76,208,206,114,117,117,117, 47,173,158,205,170,205, 89, 77, 16, 68,153,137,121,145,209,223, 62, 0, 77,149, 28,147,205, +155, 55,131,101, 89,240, 60, 95,229, 65, 42, 38,136,223, 22, 45, 93, 99,181, 34,248, 7, 88,217, 58,226,252,249,243,236,175,191, +254, 90, 64, 0,209,143,239,223,255,246,125,224,231,195,128,206,148,245,203,201,201, 49,243,242,242,130,155,155, 27, 56,142,131, + 94,175, 47,139,190,100,101,101, 65,173, 86,195,214, 60, 23,111,217,185,129, 41, 8, 67, 74,228, 87,112, 86, 68, 97,215,105,173, +190,185, 47,238,254, 3,110, 28,255, 43,157, 94,241,169, 25,174, 14, 78,238, 32,121, 61,146,211,179,208,175,119, 15, 80, 98, 5, +226, 18, 50,209,164,129,183,243, 7,239,183,119,166, 8, 6, 51,151,239,159, 4,112,223,215, 36, 87, 88, 88,200, 70, 69, 69,225, +222,189, 18,191,107,105,105, 9,115,115,243, 10,215, 56, 73,146,175, 20,209, 50,152,172,165,155,187,154,147,162, 34,228,179,161, +216,177,231, 22,154,248, 5, 98, 75,248,141, 98, 54, 45,187,219,234,226,226,232, 3,255,226, 96,134,147,147,211, 68,142,227, 22, +242, 60,159,219,161, 67, 7,199,253,251,247,219, 36, 37, 37,225,214,173, 91,248,242,203, 47, 51, 88,150,101,120,158, 39,120,158, +255,234, 53,252, 29, 87,206, 96,189, 78, 68,114, 25,166,216, 91, 18,125,105,210,210,139,201, 47,140,203,212,242, 39, 84, 12,183, + 30,128,190,218,155, 27, 73,126,116,228,224,102, 23,123, 37,135,206,202,119,144,146,166,195,210,207, 70, 33, 43,171, 0,223,111, + 95, 6, 64, 2, 29, 67,225,237,206, 3,225,224,224,138, 9,227, 39, 56,109,222,186,229, 19,134,227, 86,227, 13, 33,245,202,166, + 31, 1,132, 42,149,202,251,159, 76,152,160,244,242, 26, 9,153, 76,134, 3, 7, 14, 96,255,134, 13,108, 48, 48, 88, 10,156, 11, + 2,126,172, 86, 39,252, 15,157,169, 65, 65, 74,127,255, 32, 72,165, 82,252,254,235,255, 80,156,186,167,160,119, 59,232, 84,197, +232, 93,167, 15,111,251,236, 36,145, 45, 18, 33, 6, 0, 68, 50,164, 0,120,177, 26,236,223,102,176, 12,156,194, 31,237,178, 38, + 84,136,104,213,250,222, 41,146, 68,108,159, 54,204,211, 17, 26, 66,123,233, 36,146, 52, 28,187,226,177,142,186,157,199,127,254, +176, 18,147, 85,122, 98,115, 30, 30, 30,120,167, 69, 11,244,239,216, 17, 52, 77, 67, 38, 17,195, 66,102, 6,158, 45,137,100, 25, +170, 14,171, 41, 19, 81, 89,244,201,206,206, 14, 98,177,184,204, 96,153, 16,205,170, 84,147,227, 56,208, 52,141,123,247,238,161, + 67,135, 14,112,119,119,199,161, 67,135,208,179,103,207,151,170, 18, 77, 53, 89, 6,163,245, 66, 53, 94, 79, 0,134, 72,150, 73, + 70,171, 88, 75, 32, 83,219, 4, 4, 17, 0,134, 1, 88, 30,208, 20, 23,131,231, 1,158, 7,244, 58, 45,138,139,139,203,254,211, +152, 42, 89, 39, 39, 39, 15, 51, 51,179,197,179,102,205,244,111,210,164, 41, 50, 50, 50,192,113, 28,204,205,205,161, 82,169, 96, +105,105,137,118,237,218,197, 45, 94,188, 56,133,231, 49,193, 68,147,245,202, 24,246,249,153, 51,103, 42, 84, 27, 26,166,162,148, + 68,140,249,116, 47, 36,116, 73,213,146,161, 13, 79,117,247,221, 46,111,183,199,149,219,209,204, 71, 51,215,105, 68, 89,183,150, + 59,113,220,206,196, 87,216, 46,158,231,145,153,153,137,180,180, 52,244,237,215, 15,251,247,237,195,179,103,207,208,160, 65, 3, +116,233,210, 5, 14, 14, 14,120,246,236, 25,174, 95,212, 64,147,147,141,108,237, 45,200, 45, 90,227,248,249, 88,205,151,155,117, +177,127,227, 13,163, 47,128, 81,150,150,150,117, 85, 42, 85, 10,195, 48,135, 1, 28, 6, 48,152,166,233,193,114,185,220, 57, 63, + 63,255, 41, 74,122, 19,157,168, 73,204, 76, 38,179,147,202, 44,193, 49, 26,208, 52, 13,119,119, 47,240,172, 22, 57,249,106,140, + 30,218, 7,183,239, 61,196,175,231,174, 49,122, 61,247,157, 49,187,149,162, 40,222,215,215, 23,233,233,233, 16,137, 68, 48, 51, + 51,131, 66,161,192,156, 57,115,176, 97,195,134, 50,147, 85, 91,163, 53, 22,240,181,244, 80, 92,251,102, 99,137,201, 74, 77, 78, + 65, 90,162, 8, 74, 59, 71,124,183, 33,184, 40,231, 89,106,235, 31,128,232,127,123, 33,203,113,220, 87, 73, 73, 73, 14, 52, 77, + 59, 49, 12,131,132,132, 4,220,188,121, 19,147, 39, 79, 78,203,202,202,234,140, 90,110,163, 76, 38, 75, 55, 68,178, 74,171, 14, +171,170, 78,204, 45, 23,201,202,173, 70,178,170,106, 66,111, 47, 55,139,179,219,215, 78,247,104,217,186, 29, 41,167, 45,115, 10, + 99, 82, 59, 92,186,112,190,221,228,181,223,127,242, 60,167,176, 7,128, 39, 85,137, 74, 69,162, 94,109,218,183,167,193,167,129, +150,116,192,202, 21, 67,145,145,153,143,156,236, 2,136,197,230,208,234, 41,176, 28,129,118, 29, 58,226,127,187, 14,162,225,248, +113,148, 68, 36,234,206,104,181,111,140,209, 42,101,217,250,245,235, 61,252,252,252,176,115,231, 78,156,219,189, 27, 31,230,229, +225, 60, 73, 82,122,145,200,254,103,189,126, 27,106, 48, 90,229,117, 26, 54,108,136, 31,126,248, 1,123,246,236,137, 31,209, 53, +253,232,244, 17,112,208,233,240,238,173, 71,176,173,211, 7,184,245, 8,182,205,253, 80,143,161, 17, 67, 16, 21,211, 65,133,132, +132,116, 42, 63,255,151,145,130, 42,170,216,105, 0,157, 67, 66, 66,248,242,243, 26,111,156, 74,159,160,101, 61,234,122, 6,188, +229, 65,232, 15,173, 67, 66, 17,163,157,255, 72, 39,121, 92,200, 79,127, 8, 4, 87,243, 4,193, 83, 20, 5, 11, 51, 51, 40,173, +173, 75,194,252, 36, 9,112, 0,167, 7, 8,182,196, 0,240, 28, 1,158, 53,233,134, 1,137, 68, 82,105,195,119, 83,219,102,149, +215, 44, 40, 40, 64, 92, 92, 28, 38, 76,152, 0,185, 92, 94,226,220, 83, 83,225,233,233, 9,154,166,145,148,148,132,223,127,255, + 29,117,235,214,133, 84, 42, 53,201,109,149,139, 46, 53, 70, 73, 47,195,198, 41, 41, 41,150,206,206,206, 48, 57,162,197,241, 80, +105, 8,104,181, 44, 30, 63,126,140,228,228,100,196, 61,141, 65,203,162,124,240,160,192,243,188, 73, 17, 45, 87, 87,215, 0,111, +111,239, 45,203,151, 47, 23,187,185,185,129,231,121,216,216, 88, 67,165, 82, 33, 51, 51, 11, 13, 26, 52,128,187,187, 59,150, 47, + 95, 14, 0,251,255,106,147,245,194, 57, 85,102,180,202, 27,174, 79,223,247, 64,118,182, 2, 20, 69,150, 25,231, 26,218,104,137, + 1,160,115,143, 1,244,217, 95,127, 54,103,128,197,169, 20,181,152,174,249, 56,234, 89,142,147, 87,245,125, 66, 66, 2, 68, 34, +155,237,138,119, 0, 0, 32, 0, 73, 68, 65, 84, 17,142, 28, 62,140,236,180, 52, 52,105,210, 4,173, 90,181, 66, 76, 76, 12,110, +223,190, 13, 59, 59, 59, 40,221,218,226,252, 83, 29, 30, 36,171, 97,101,101,133,216, 68,242,239, 76, 25, 48,190, 91,183,110, 95, +126,251,237,183, 14, 78, 78, 78,162,140,140, 12,191,141, 27, 55, 54,217,184,113,227,212, 79, 62,249,196,241,147, 79, 62,177, 81, + 42,149,116,106,106,170,239,103,159,125,214, 60, 52, 52,180, 46,128, 53,213, 9,154,155, 91,216, 82, 98,115, 16, 4, 13,107, 43, + 27,208, 18,115,112, 12, 13,150, 3, 44,173,148,184,114,251, 8, 46, 71, 20, 76, 76,207,194, 97,163,226, 99,165,199,221,206,206, +238,165, 72,245,228,201,147,177,125,251,246,178,106,196,218,154,172,165, 27,187, 42,136, 82,147,149,154, 64,131,208,212,197,201, + 31,175,230,230, 60, 75,237,240, 38,152, 44,195, 61,142,231,121, 60,125,250, 20, 42,149, 10, 23, 47, 94,196, 87, 95,125,149,241, +162,201,114,112,112, 24,111,105,105,185,168,176,176,112,101,106,106,234,186, 26, 31,252, 74, 76,148,225,181, 97, 94,105,117,162, +145,171,234, 89, 89, 36,203,221, 89,118,250,246,197,189,158, 86,252, 93, 2,207, 39, 0,143,243,239, 91,132, 59,188,253, 94,203, +222,100,179, 77, 95,215,105, 53,113,206,233,132,252, 98,191,170, 34, 91, 28,203, 54, 51, 87, 88, 0, 72,199,173,155, 97,101, 38, + 43, 43, 59, 15, 26, 29, 5,141,150, 64,177,142,196, 59,221,222,197,134, 45,123,144,148,158, 13,150,101, 27,189, 97, 38,203, 54, + 32, 32, 32,104,240,224,193, 88,188,120, 49, 66,191,253, 86,251, 49, 65,228,211, 0,127,138,101,193,241, 60, 65, 26,215,136,189, +130,206,234,213,171,127, 4, 48,108,249,100,180,205, 41,196,104,151, 62,188,109,157, 62, 37, 11, 14,154,197, 3,128,109, 70,104, +197, 34, 51, 48, 48,144, 48,212,172,153, 90,195,246, 79,135, 14, 12, 12, 60, 31, 18, 18,130,242,243,234,126, 96,225,232,247,222, + 23, 51, 38,173,104,217,179, 35,145, 50,163, 59,178,243,139,153,185, 15,116,146, 68,117,245, 38,171, 60, 95,108,220,136,219,209, + 37,215,177,155,131, 3,102,126,240, 1,120, 6,184,124,255, 1, 14,134,134, 98,104,183,110, 48,151,201,140,142,108,112, 28, 87, +105, 20,171,124, 52,203,212,168, 83,110,110, 46, 14, 31, 62,140, 86,173, 90, 65, 46,151,131,166,105, 52,110,220, 24, 15, 31, 62, +132,183,183, 55, 8,130,192,241,227,199,209,191,127,127, 60,121,242, 4,109,219,182, 85, 60,127,254,220,100,163,245,224,193, 3, + 75,158,231,223, 54, 68, 63,106,139, 70,163, 65, 84, 84, 20,250,244,233, 3, 27, 27, 27,184,186,238, 71,232,233,189,144, 7,124, + 8,130,128, 73, 70,139,101,217,177,189,123,247, 22, 19, 4, 1,181, 90, 5,153,204, 12,230,230, 10, 88, 88, 88,194,215,215, 15, +201,201,201,232,217,179,167, 54, 54, 54,118, 83, 74, 74,202, 33, 83,215,213,223,223,223,252,217,179,103, 31,214,169, 83, 71, 2, + 0,102,102,102, 13,188,189,189, 63,127,242,228, 73,129,169, 81, 45,131,193, 34, 8, 2, 20, 69,149, 25, 45,154, 36,225,236,228, + 80,246,190,180,125, 26, 81,141, 86,126, 82,150, 70, 10, 0, 30, 30, 30,216,176,245, 39,178,119,239,222,152, 58,117, 42,244,122, + 61, 54,109, 42,233,100, 55,124,248,112,232,116, 58, 28, 61, 90,210, 73,146,166,233,106,195, 38, 55,111,222,196,173, 91,183,160, +215,235,145,151,151,135, 95,126,249, 5,231, 47, 92,192,129,227,191,225,217,211, 24, 52,246,243,196,184,113, 99, 33, 18,137,176, +107,215, 46,116,232,208,225,111,189, 33,136, 68,162, 17,219,183,111,119,222,185,115,103,238,241,227,199,139,218,180,105, 35, 13, + 14, 14,118,216,176, 97,131, 82,171,213, 98,218,180,105,233,215,174, 93,211,244,235,215,207,124,219,182,109,206,111,189,245, 86, +119,134, 97, 42, 51, 90,230, 0,134, 2, 24,153, 83,160,165,115, 11,212,224, 24, 45,158, 62,139, 67, 94,161, 22, 28,171, 67,124, + 98, 50, 10,139, 89,100,101, 23,160,113,179, 30,235,195,194,194,230,233,116,186,185, 0, 66,106, 90,207,251,247,239,227,218,181, +107,120,246,236, 25,158, 62,125, 90,209, 41,142, 31,143, 61,123,246,152, 28,209,170,220,100, 81, 32, 52,222, 8, 57, 30,158,155, + 30,147,242,198,152,172,210,123,208, 66,103,103,231,133,206,206,206,178, 51,103,206, 88,213,169, 83, 7, 12,195,104, 95,140,100, +117,238,220,121,254,246,237,219,157,189,189,189, 39, 3, 88,247, 79, 88,119,146,196,248,149,155,131,236, 45, 36,241,201,120,188, +166, 52,151, 32, 5,168,242,129,176,125,160,219, 47,136,155,220,111,150,205,236,157,139,199,115,224,170,236, 33, 27,251, 36, 1, +155, 55,111,192,244,105,163,241,191,239, 87,130,227,104,104,244, 20, 60,188,218, 64,163,227, 64,144, 52,154, 52,107,129,115, 97, + 23, 33, 34,129,195, 59, 55,191, 97, 62, 11,217,145,145,145,155,142, 31, 63, 62,101,234,212,169,224, 56, 78,178,104,243,102,117, + 70, 70,198, 50,152,150,255,234, 69,157,254,155, 55,111,142,158,189, 33,227,199,233, 35, 64, 61, 59, 73,100,223,122, 4,219, 65, +179,120, 28, 89, 65,160,185, 31,178,229,149, 23,241, 23, 94,152,191, 25, 70,203,224, 36,203,207, 43,163,153, 79,221,175,173,108, +109,198,146, 22,174,246, 51,167,126, 76, 63, 73, 45,198,209, 58, 31, 20,254,190,251, 59,243, 84, 70,186, 62, 22,197,193,166,252, +241,193,223,127, 47,123,189,106,255,254, 74,191, 75, 25, 52,200,232, 39,179,170,162, 88,166, 70,178, 0, 64, 46,151, 91,119,239, +222, 29, 93,187,118,197,192,129, 3,203,218,100, 53,109,218, 20, 7, 14, 28,192,128, 1, 3,112,231,206, 29, 56, 59, 59,163,126, +253,250,168, 95,191, 62,126,254,249,103, 83,111,114, 96, 89, 22, 1, 1, 1,134, 94,135,141, 19, 19, 19, 45,107,123, 32, 53, 26, + 13,178,178,178, 96,107,107, 11,137, 68,130,214,173, 91, 97,202,167,173, 97,239,252, 3, 2,252,253, 80, 84, 84, 84,214,253,221, +136,194, 54,160, 94,189,122,200,200,200, 64, 70, 70, 6,148, 74, 37, 92, 92, 92,224,228,228,132, 53,107,214,240,235,214,173,251, + 85,167,211,109,202,204,204, 52, 57,146,229,228,228,212,145, 32,136,249,106,181, 90, 82,238, 9, 87,162, 84, 42, 79,168,213,234, +101, 41, 41, 41, 70, 55, 4, 37, 8, 2, 58,157, 14, 4, 65,224,212, 83, 23, 20,105, 9,228, 39,222,194,212,247, 61, 43, 24, 47, +145, 72, 84, 99,117, 41,207,243, 69,195,134, 13,115,112,119,119, 67, 66,236,125, 28, 57,194,227,219,111,191, 53,244,138, 68,116, +233,131,129,225,125,151, 46, 93,224,229,229, 5,222,132, 92, 25, 28,199,225,222,189,123,216,127,226, 60,156, 61,253, 17,255, 56, + 10,183,127, 62,137, 58, 74, 91, 52,108,214, 2,122,189,254,149, 82,111,188, 14,244,122,253, 14, 31, 31, 31, 94,171,213,158, 7, +176, 33, 34, 34, 98,116, 74, 74,202,180,159,126,250,201,101,240,224,193,201, 39, 79,158, 12, 6,176, 51, 34, 34, 34,104,201,146, + 37, 93, 25,134,169,180,183, 32, 69, 81,255,251,236,179,207, 58, 15, 30, 60,152, 16,147,122,237,153,211,187,104,134,209, 19, 95, +204,221,193,134, 93, 58, 79, 50,140,158, 24, 56,236, 51,238,231,223, 35,200,137,159,174, 98,155,182,233,141,200,200, 72,167,192, +192,192, 37,122,189,190, 90,163,101,136, 84, 85, 21,161,164, 40, 10,163, 71,143,198,129, 3,198,183,160, 26, 7,120, 91,122, 42, +174, 45,221,216, 77, 65,208,133,229, 76,214, 91, 8, 57, 30,158,155,246, 56,249,141, 50, 89, 0,144,149,149,181, 21,192, 86,142, +227,210,204,205,205, 81, 80, 80, 80,217,249, 39,139,136,136,144, 73, 36, 18,244,232,209,195, 54, 52, 52, 52,154, 36,201,117,201, +201,201, 85, 58,142,202,170, 9, 43,171, 78,196, 43,244, 58,180, 81, 34,176,117,199,102, 22,143,172, 22, 91,200,232,226, 59,117, +162,101,150, 4,128, 60,141,227,211, 43,207,135,230, 19,233,210,166, 45,186, 52,135, 37,109, 30,152,203, 20, 84,106,180, 72,138, +186,157,151,147,219, 43,191, 64,139, 75,151, 35, 49,108,104, 61,104,116, 4, 56,142, 68, 97,145, 6,160, 68, 32, 1, 12,255, 96, + 20,120,130, 70,118, 90, 50, 40,138,138, 0,195,224, 13, 99, 78, 80, 80, 80,175,185,115,231,214,157, 57,115, 38,102,206,156,233, +185,125,251,246,173, 75,151, 46,157,153,145,145,209, 8, 53, 36, 31,175, 70,167,206,201, 3, 11,102,156,184,184, 37,175,119, 59, +245,227,230,126, 37,145,175,230,126,200, 22,137, 16, 67, 83,200,226,249,138,205,140, 2, 3, 3, 59,149,159,255,203,120,177, 17, +124,217,123,163,218,104,213,171,235,250,110,179,166, 1,159,206,155, 59,207,226,225,149, 48,204,254,122, 3,239,211,162,123,193, +214,139,183,181,133,230, 94,189, 10, 51, 99, 46, 27,235, 47, 0,224,221,119, 6,160,113,131, 86, 47,125,217,161, 75, 73,178,246, + 75,231,110, 34, 45, 35,201,232,194,182,212, 28, 84,218, 38,203,152, 46,253, 47,162, 86,171,115, 35, 35, 35, 29, 18, 19, 19, 43, + 52,124,247,242,242, 2, 65, 16, 8, 15, 15,199,181,107,215, 48,108,216, 48,208, 52, 13,145, 72,132,243,231,207,155, 20,141, 41, + 23, 93, 50,244, 58,236,233,230,230, 86, 85,111,195, 26,181,212,106, 53,242,242,242,112,250,244,105,212,171, 87, 15, 75,151, 46, +133,139,179, 35,230,205,155, 1,142,227,144,159,159, 15,150,101,141,141,104,113,134,104, 17,199,113,200,200,200, 64,221,186,117, +177,113,227, 70, 4, 7, 7, 47, 73, 73, 73,249,201,212,117,116,119,119,183,102, 89,246,139,222,189,123,119,239,215,175, 31,122, +246,172,152,143,117,223,190,125, 22, 71,143, 30, 93,246,221,119,223,189,171,211,233,150,167,167,167,103, 24,163,251,195, 15, 37, +233,151,228,109, 22, 98,246,224, 58, 24, 57,105, 23,214,172, 57, 6,169, 84, 90,161,224, 93,188,120,113,181, 38,134,227,121, 31, +113,230,149,228, 25,179, 86, 59, 44, 91, 22,138,208,208,116,144, 36, 9,103,103,103,144, 36,137,184,184, 56,144, 36, 9, 79, 79, + 79,144, 36,137,164,164, 36, 67,155,192, 28, 84,210,235,177,242,167,112, 18,197,197,197, 72,136,127,134,196,216,104, 40,242, 83, +161,180,148, 35,231,254, 61, 52, 30, 55,190, 44,255,211,223,204, 30,173, 86,187,167,220,251,213, 39, 79,158,212, 18, 4, 49, 16, + 37,237, 52, 12, 17,141, 37, 12,195, 44,169, 74,164, 77,155, 54, 77,231,206,157, 43, 50,164,219,112,241,248,134,209,233,116, 28, + 0,248, 53,126,187,130,219,143,137,137,193,154, 53,107, 80, 84, 84, 4,177, 88, 44, 54,102, 63,112, 28, 87,214,195,176, 50, 19, +102,138,201, 2, 0, 59, 79,183,245,225,183,206,179,119, 99,183,168, 35, 30,253, 98,150, 18, 79,130,212,190,185, 38,235,197,200, +150,155,155,219, 66,142,227,120,158,231, 23,148,251, 74,234,225,225,113,241,204,153, 51,118, 12,195,224,187,239,190,179, 78, 77, + 77,181,126,251,237,183,103, 3,168,210,104, 85, 86, 77, 88, 89,117, 34,202,245, 58,148, 74,165,182, 90,109,149,193,147,151,122, + 29,178, 44,124, 45, 45,172,145,131, 68,104,236,245, 77,115,237,152,236,179, 41,227,239,184, 60,111,214,192,156,213,215, 37,243, +181,112,149, 91,131,227,249, 42,187, 70,107,244,250, 95,238,220,186,221,195,195,189, 30,245, 83,200, 5,244,237, 63, 24, 26, 13, +137, 98, 61, 1,130, 18,129,160,196,104,212,184, 25,234, 55,108, 12, 30,192,205,235, 87, 24,173, 94,127,246, 77, 58,246,206,237, +167, 12, 35, 8,172, 3,207,241,149,228,209,170,219,191,127,255,101, 0, 62,173, 73,199,161,205,148, 97, 36, 89,162, 83, 62,143, +214,103, 83,130,112,255,186,200,234,194,173, 21,226,158,109,112, 42, 35,148,128, 92,246, 71,175, 67, 17,249, 74,169, 57,254, 45, +134,171,102,163,229,238,238,110,109, 41,149,253,240,201,184,177, 22,207,239, 94, 69,234,131,112, 92,190, 16,157,115,240,232,177, +236,162,172,244,113, 38,152,172,178,106, 62, 59,167, 58,240,242,127,217,104,201, 20, 74, 0,128,151,127, 43, 80,230,166,165, 17, +170, 44,154, 85, 27,147, 85,254,134, 93, 89, 14,173,137, 19, 39, 98,251,246,237,104,223,190, 61,124,124,124,202,110,246,166, 70, +205, 42,137, 46,153,220,219,176, 60, 5, 5, 5,240,244,244,196,182,109,219, 16, 17, 17, 1, 11, 11, 11, 12, 27, 54, 12, 5, 5, + 5,101, 6,203,216,198,240, 60,207,199,156, 57,115,166,229,144, 33, 67,120,145, 72, 68,228,230,230,194,218,218, 26, 27, 55,110, + 44, 74, 73, 73, 57, 85, 11,147, 53, 88, 44, 22,207, 24, 58,116, 40,229,231,231,135,180,180, 52, 88, 90, 90,234, 9,130, 16, 1, +128,181,181,181,222,204,204, 12, 65, 65, 65,104,210,164, 73,199,153, 51,103,182,167,105,122, 99,114,114,242,174,234,206, 37,130, + 32,202, 10,212,113,235,162,160,213,150, 20,208,155, 54,109, 66,105, 91,183, 63,170, 8, 98, 99, 1, 35,122,178, 40, 20, 10,248, +248,248, 84,122,236, 59,118,236,136,155, 55,111,150, 84, 77,210, 52, 28, 28, 28,112,249,242,101,163,122, 82, 25, 18, 65, 70, 70, + 70,194,223,203, 30, 17,161,103, 96, 47, 23,161,137,139, 19,220, 58,118, 66,116,116,244,223, 25,205, 34, 80,210, 14,163, 91,233, + 57,184, 3,192,196,114,239, 55, 2, 88,111,138, 32,195, 48, 60, 73,146, 68, 66, 66,130, 78, 46,151, 19,182,182,182,180, 84, 42, +133, 70,163, 41, 51, 92, 49, 49, 49, 8, 9, 9, 65, 98, 98, 34,108,109,109, 73, 43, 43, 43,232,116,186, 28, 99,244,125,125,125, +225,228,228, 84,161,225,251,184,113,227,106,101,178, 70, 3, 1,219,191, 89, 94, 71, 74, 82, 86,254,246,239,226,105, 84, 92, 49, +169,133,236,191, 96,178, 0, 32, 55, 55,119, 43,128,173,134,247,246,246,246, 99, 40,138,154,167,209,104,172,206,159, 63,111,173, + 84, 42,137, 93,187,118,233, 23, 44, 88,144, 75, 81, 84, 14, 65, 16,107,255,126,115,136, 7,153,121,177,158, 34, 27, 23,238,110, + 49,127,101, 90,194,236,250, 57,162,122, 74,162, 97, 0,250,167, 63,188, 52,134,137,109,151,150,146, 74,242,224, 30, 84,115, 15, +222, 49,123,238,226, 47,162,163,110,123,200, 44,101,152, 24, 52, 23,167,126, 61, 7,130, 20,225,226,149,112,104,117, 44, 50,179, +243, 48,116,248, 8,184, 57,219,227,193,181,211, 25, 12,199,109,124,179, 76, 54,183,161, 71,223, 49, 54, 82, 51,121,233, 62, 97, +177,231,251, 25, 32,201,117,248,242,203, 47, 17, 16, 16, 48, 41, 50, 50,242, 43,212,144, 71,139, 32,184, 13,141, 58, 13,183, 17, + 75, 75,116,120,142,197,182,195,179, 75,243,104, 77,199,198,173, 71, 27, 53,244,122,186,168,186, 60, 90,111,144,201, 42, 63,175, +222,104,121,122,122, 74,205, 69,152, 32,162,232,153,159,124,208, 79,153, 30,123, 31,137, 15,111,151, 84, 47,232,212,186,212,199, + 15,141, 73,133,222, 13, 21,243,119,240,213, 85, 93, 21, 23, 27,245, 68, 95, 65,211, 80,224,190, 24,205, 50,209,100,189,164, 89, +222,108,149,207,155,229,238,238,142,101,203,150, 25,147, 71,235,197,109, 55,208, 19, 37, 13,224,203, 55,134,239,105,164,201,170, + 84, 83,169, 84, 34, 43,171, 36, 67, 66,231,206,157,209,185,243, 31,253, 25,116, 58, 93, 89, 20,203,194,194,162,178,136,214, 75, +154,102,102,102,179,143, 29, 59, 54,246,202,149, 43, 67, 62,255,252,115, 81,215,174, 93, 13,102, 78, 5,227,198,118,171,160,201, +178,108,208,233,211,167, 41,142,227,176,109,219, 54,220,188,121,147,151,203,229,243,229,114,249, 6, 51, 51, 51, 86,173, 86, 79, + 28, 63,126,252,136, 69,139, 22,145, 29, 59,118,196,213,171, 87,201,186,117,235,142, 2, 42, 36,177,172,116,219,195,195,195, 65, +146, 36,152,236,120, 76,154,125, 16,230,102, 52,162,162,162,144,157,157,253, 82, 18, 83, 99,246,103,249, 72,137, 97,234,216,177, + 99, 89, 53,100,235,214,173, 65, 81, 20,238,220,185, 83, 85, 53,108,121, 77,222,206,206,174,236,252, 16,139,197, 56,119,238, 28, +190,254,250,107,120,216, 90, 35,231, 97, 4,156, 58,191,131,238, 99,199, 99,216,176, 97,160, 40, 10,182,182,182,101,145, 95, 35, +206,165, 87,161,188,230, 88,127,127,255, 81, 15, 30, 60,112,107,212,168,145,115,100,100,100,151,128,128, 0,207,136,136, 8,195, +123, 41,140,107,155, 83,166,121,227,198,141, 35, 27, 54,108, 8, 26, 61,122,180,152,227, 56,246,249,243,231,122, 0,132,147,147, + 19,117,227,198, 13,238,167,159,126,130, 90,173,134,155,155, 27,233,234,234, 74,156, 61,123,150,123,248,240, 97, 56,207,243,115, +141,217,118,150,101, 43,164,113, 48,188,222,183,111,159,201,215,123,157,250,190, 75,187,190,237,231,158,153,124, 7, 41, 73,177, + 96,243,148,186,144,227, 39, 53, 38,154,172, 63,251, 24,253,149,154,139, 31, 63,126,236,170,209,104, 32,145, 72,176,105,211, 38, +221,178,101,203, 30,100,102,102,118, 64,229, 61,202, 43,104,214,178,215, 97,118, 53,154, 47,245, 58,204,203,194,169,227, 39,110, +180, 84,244,223,129, 73,201, 25,101, 13, 27,121,130,176, 61,230,216,160,131,188, 85,163, 36,242,231,133,100, 1,171, 58, 85,205, +182,107,213, 90,237,224,254, 3,134,255,118,224,192,126,197,130,133, 11,113, 57, 60, 2, 89,185,133,224,120, 10, 28, 65, 96,222, +188, 5,112,178,183, 69,126,242, 99,149, 70,167,235,143,138, 57,180,254,245,199,157, 32,200,201,103,127,218,181,142, 36,192, 21, +165, 61,146, 82, 5,177,242,145,195,250,211,131, 7, 15,198,177, 99,199, 16, 25, 25,185,165, 26,147, 85,166,201,243,228,228,136, +243, 7,215, 17, 0,167,206,120, 36,165, 11,159,202, 71,125,208,159, 30, 54,108, 24,126, 12,185,130, 3, 39,159,110, 62,112, 18, + 39,241,102, 99,122,102,120, 11, 26,145, 29, 26,120,187,118,108,214, 80, 70,179,106, 36, 62,140, 69,118, 81, 49,206,222,127,158, + 75,242,100,173,115,235,148,220, 32,197,136,143,127, 92,201,147,149,172,180, 64, 47, 54, 73,147, 36,201, 10,209,172, 87,137,100, +149, 95, 79, 71, 71,199, 10,195,185,148, 47,184, 13,109,128,106,145,218, 97,118,124,124,188,101,124,124, 60,120,158, 71,120,120, +184,101,235,214,173,103,191, 74, 52,107,198,140, 25,101, 81,171, 23,231,149,125, 86, 19,165,141,210,131,245,122,253,225,153, 51, +103, 78,106,221,186,117,143,133, 11, 23, 18, 48, 97, 0,222, 23,162, 57, 12,199,113, 8, 11, 11,195,177, 99,199, 88,157, 78, 55, + 33, 37, 37, 37,162,220, 34,223,221,186,117,235,236,128, 1, 3,118, 61,122,244,136,122,240,224, 1,120,190,230,126,167,106,181, + 26, 62, 62, 62, 96, 24, 6, 43, 38,185,163,160,160, 17, 24,134, 1,203,178, 48, 55, 55, 47,139,226,149, 55,207, 53,157, 71, 44, +203,190,100,180,194,195,195, 65, 81, 20, 58,116,232,128,219,183,111,151, 69,180,106,138, 64,233,116,186,120, 71, 71, 71,199,197, +139, 23,151,173, 87, 70, 70, 6,206,156, 57,131, 54,109,219,161,193,132,137, 72, 78, 78,198,218,181,107,225,226,226,130,165, 75, +151, 34, 59, 59, 27, 12,195,252,213,225,244, 94, 15, 30, 60,112,251,224,131, 15,210, 35, 34, 34,220, 66, 66, 66,172, 3, 3, 3, +205,135, 15, 31,158, 30, 17, 17,225, 70, 16, 68, 59,152,216, 8,154,227,184, 57,243,230,205,251,117,233,210,165,179, 63,253,244, +211,214,163, 71,143, 22,137, 68, 34, 46, 41, 41,137,217,191,127, 63,225,227,227, 67,138,197, 98,226,244,233,211,220,245,235,215, +175, 49, 12,179, 2,192, 69, 83, 34,206,229, 77, 22, 69, 81,198,154,172, 10, 76,115,144,142,178, 32, 51, 58,108,216,180,140,244, +243,114,211,237,222,127, 38,225,226,213,199, 79, 40, 13, 51,237,135,106, 82, 3,188,201, 80, 20,117,200,223,223,127,204,228,201, +147,205,122,246,236, 41, 93,180,104, 81, 94, 65, 65, 65, 85, 38,171,146, 7,230,191,164,215,225,247,115, 62, 15,153,246, 89,163, + 49,222, 31, 57,213, 65,104, 81, 58,114,104,138,180,180, 38,209,204,147, 66, 65,102,140,242,228,111, 59,227, 0,212,148,151,237, +198,173,123,145,221, 26, 54,106,122,116,197,210, 21, 14,243,103,205, 20, 29, 13,249, 5, 60,163, 67,248,249,243, 80,136, 89,254, +225,173,208, 52,141, 78,219, 15,111,224, 16, 60, 41,151,215, 31, 0,112,194,214,214,246,238,216,209,163,125,252,253,135, 67, 46, +151,227,200,145, 35,216,243,221,119,108, 48, 48, 68, 10,220, 14,170, 33,159, 94,250,181, 50,157, 59,227,199,142,245,109,214,236, + 35,200,229,114, 28, 62,124, 24,187,130,131,141,214,249,151, 99,200, 12,127, 10,127,100,136,175,161,141, 22, 73, 20, 92,123,252, +188, 48,252,241,243, 66,112, 60,207,241,188,134, 36,145, 80,164,211, 45,125,252, 52,169, 86,166,192, 80,117,184,228,155,201,175, +175,206,163,156,249,169,109,151,238, 74, 76, 86, 98,249, 49,210,202, 23,210, 85,189,214,235,245,137, 70,202, 47,247,240,240,120, +233,179,218,135,126,121,147, 76,150,177,121,180, 0, 32, 43, 43, 43, 5,192,252,171, 87,175,238,235,209,163,199,120, 0, 73,181, + 60, 70,219, 58,117,234, 52, 1, 0, 69, 16,196,150,228,228,228,136,151, 46,248,148,148,104, 23, 23,151, 85, 94, 94, 94, 19, 75, + 30, 76,137,109, 53, 20,228, 79, 27, 53,106,164,171,236, 88, 84,245,158,227,184, 26,143, 81,110,110, 46, 90,181,106,245,210,152, +150, 60,207,227,249,243,231,134,136, 83,217,190,175,206,192, 21, 22, 22, 78,156, 50,101,202, 86,145, 72,228, 1,128, 48,152, 92, +150,101,169,245,235,215,203, 88,150,165, 0, 16, 36, 73, 50, 34,145,168,248,216,177, 99, 12,195, 48,241, 26,141,102,226, 95,124, +131, 56, 76,148, 12,197, 80,244,224,193, 3,191,210, 72, 86, 98,100,100,228,157, 3, 7, 14, 40, 1, 28,172,165,238, 69,149, 74, +117,113,217,178,101, 29, 55,109,218, 52,103,226,196,137,173,134, 13, 27, 70,119,238,220, 25,167, 78,157, 98,195,194,194,194,213, +106,245,114, 83, 12, 86,233,177,204,115,119,119, 47, 51, 92, 53, 92,203,213, 54,228,181,243,148,110, 24,241,177,139,108,219,242, + 51,133,153,201,218, 43,250, 66,237,220,157, 64, 36,254,195,164,165,165,125, 14, 96,193,218,181,107,147,155, 52,105, 34, 21,139, +197, 90, 99, 77,214, 95, 8,195,229, 22,190,247,109,247, 65, 39, 58,205,155,226,213,189, 75, 7,185,123, 29, 7,215,135,177,105, +136,185,122,170,232,238,201,111,158,241,154,156,190, 0,140,105,185,126, 93,163,211,213,155, 49,115,198, 36,137, 72,212,131,101, +217,198, 93,207, 30,231, 41,138,138,208,234,245,103, 75,171, 11,139,223,224, 67,190,100,213,170, 85, 62,254,254,254, 56,114,228, + 8,206,238,221,139,161,153,153, 56, 71, 81, 20, 41, 22,219,157,212,233, 86,195, 56,131,180,100,205,154, 53,190, 1, 1, 1, 56, +116,232, 16, 78,239,218,133, 33,181,211,169,170,172,107, 9, 64, 89,250, 54, 19,192, 35, 0,205, 1,152, 1,208,160,100,104, 39, +251,242, 69, 88,233,119,134,239, 47, 16, 4,241,103, 54,132,173, 57, 51,252,139, 68,198, 60,107,254,186,215, 66,173, 86,103,251, +248,248,152,212,231, 90,175,215, 87, 91,135,203, 48, 76,162,183,183,183,209, 81, 11, 99, 76, 81,118,118,118,139, 63,241, 96,188, + 82, 91,172, 10,133, 8,199, 61,115,118,118,230, 12,133,126,101, 38,172,178,207,120, 32,206,148,255, 73, 77, 77,125, 4,224,179, +218,174,103,114,114,242, 81, 24, 49,104,180,177,203, 1, 64, 78, 78,206,107, 31,204,151,224,249,164, 69,139, 22,153,100,176,193, +243,213,153,207,136,194,194,194,214,198,252,183, 78,167,195,223,200,161,210,137,140,140,140, 28, 79, 16, 68, 79,148, 84, 9,108, +193,235,201,230,125, 49, 63, 63,255,226,202,149, 43, 59,110,219,182,109, 26,207,243,200,207,207, 15, 54,213, 96,149, 61, 61,167, +167,159,122, 93, 27,158,157,166,253,125,255,150,196,119,212,185,186,105,219, 11,181,187, 32, 80, 22,140,226,121,254,127, 35, 71, +142,108, 3, 96,231,171,138, 85,209,235,240, 85,137,227,114,242,154,156,155,241,245,216,115,214, 22,189,193,210,126,208,146, 39, +161,205, 58, 5,224, 7, 24,215,204,161,108,123, 25,142, 91,195,104,181,107,202, 21, 46,255,133,227,108, 27, 16, 16, 48,109,204, +152, 49, 88,176, 96, 1, 78,175, 94,173,251,152, 32,242, 68, 0,255,107,201,131, 38, 73, 0,179,140,213, 25, 53,106, 20, 22, 44, + 88,128,159, 87,172,168,173, 78,117, 40, 9,130, 8, 1,128,217,179,103,207, 93,182,108,153,205,156, 57,115, 26, 47, 95,190,124, +105,233,251,251,134,239, 75,203,186,192, 57,115,230, 52, 44,247,125, 1,128, 27,127,242,254,172, 52, 51,252,159, 77, 55, 65, 83, +208, 20, 52, 5, 77, 65, 83,208, 20, 52, 5,205, 87,129,231,249,222, 37,179,170,231, 85,189, 46, 55,255, 91,160, 33, 32, 32, 32, + 32, 32, 32, 32,240, 47,164,124, 20,171, 54,223,191, 70, 12,109,180,202,179, 13, 40,233,214, 93,149, 43, 53,165,215, 67,109,156, +109,168,160, 41,104, 10,154,130,166,160, 41,104, 10,154,255, 57,205,154,180, 95,250, 61,207,243,189, 9,130, 8,225,121, 62,176, +170,185,193, 88,189,248,186,220,252,181, 53, 59,168, 4, 67,219,172,151,218,104,253,217, 8, 97, 85, 65, 83,208, 20, 52, 5, 77, + 65, 83,208, 20, 52, 95, 9, 67, 21, 32, 0,126,246,236,217,115,254,129, 85,135,206,165, 38,171,252, 4,160,154,170, 67,158, 63, + 76, 37, 37,193, 82, 34,145,139, 1, 64,171, 85,233, 92, 93,145, 79, 16,131,255,206, 1,111, 5,254,157, 24,186,123,167,189,230, +101, 5, 4, 4, 4, 4,254, 27,100, 24, 34, 85, 0, 50, 0, 16,165,239,181,165,243,140, 82, 67,246,226,235, 10,223,255,137,164, +160,138, 72, 22, 93,149,201,202,204,148,219,211,116,142, 47,203, 22,215, 7, 0,154, 38,163, 50, 51,109,162,121,254,112,102,109, +204,150,189,131,195, 45, 17, 69,185, 26,179,172,158,101,147, 50,211,210, 42,166,142, 39,136, 55,193,224, 25,107, 34, 94,197,108, +252,233, 70,197,222,222,222,209,209,209,241,125, 75, 75,203,182,185,185,185,215, 51, 50, 50,126,172,102,220,195,101, 4,129,153, + 37,231, 21, 86, 2,152, 83,141,180, 41,203,190,136,143, 92, 46,159, 68, 16, 68, 64,233, 5, 22,169, 82,169, 54, 1,120,252, 31, +188, 33,153, 1,232, 71,211,244, 40,123,123,251, 86,169,169,169,139, 0,212, 54,155, 55, 13, 96,134,181,181,245, 80,107,107,107, +239,236,236,236, 39,249,249,249,135, 0,172, 1, 80, 99, 87,233, 69,159, 58,183,237,220,179,243,252,176,211, 97, 75, 22,125,151, +114,245,165,239,103, 56,219,245,232,222,126, 65,216,201, 43,139,231,110, 76,206, 54,113,221,200,210, 9, 40,233, 29,201,227,229, +100,175,175,138, 8, 64, 31, 0,157, 1,132, 1, 56,105,204,118, 87, 65, 27, 0,115, 75,215,121, 13,128,115,255,240,243,200,220, +209,209,113, 5,128, 62, 52, 77, 63, 72, 74, 74,154, 0, 32,241,111, 94, 39, 26, 64, 75, 0, 1, 40, 73,195,113, 3,198,165,112, +168, 17, 59, 59,187, 64,154,166, 39,149,166,118,217,148,149,149, 21,242, 79, 61, 48, 18,137, 36,216,201,201,233, 35,181, 90,173, + 34, 8,130, 47,159,239,145, 97,152,196,204,204,204, 22,111,218, 77,141, 32,136, 27,255,240, 85,156, 80,201,103, 85,231,209, 74, + 74,130, 37, 77,231,248,166,167, 70, 12, 77, 78,185, 55, 4, 0, 92,156, 27, 31,114,112,106,116, 48, 41, 73,162,115,242,235,175, + 16,201,233, 77, 20, 37,106, 90,172,213,216,139,104, 81,166,142,209,223, 33,181,252,164,212, 71, 63, 86,154,108, 81, 68, 81,174, +207,162,207, 57, 48,186,108,136,100, 46, 16,153,121, 84,185,182, 46, 46, 46,181,218, 74, 27, 27,111, 11,157, 84, 54, 77, 36,162, +186,115, 60, 19,192,115, 0, 73,136, 34, 25, 86,255,155, 88,163,249, 54, 39,231, 73, 65,109,247,160,159, 29,156,120, 96, 24, 8, +116, 7,143,179, 4,112,224, 81, 22, 82, 77,144, 48,214, 68,188,138,217, 40,255,219,181, 0, 62,127,221,103,146,171,171,171, 77, + 96, 96, 96,240,215, 95,127,109,166, 80, 40,136,248,248,248,158,179,102,205,122,251,230,205,155,159, 37, 37, 37, 37,191,104,250, + 8, 2, 51, 57,142, 39, 1,128, 36,137, 89, 74,165,131,156,162,168,151,114, 27,177, 44, 43,207,200, 72,159,204,113, 60, 81,186, +236, 76,158,199, 58, 99, 12,163, 76, 38, 27, 30,208,168,233,103, 43, 86,173, 81, 56, 58, 56,152, 51, 44,167,139,123,254, 76, 62, +127,246,231,173, 99, 99, 30,175, 43, 46, 46,222, 95,155,235,154,162,168,161, 82,169, 52, 16,128,127,233,103, 15, 53, 26, 77, 8, +203,178, 7,141, 45,208, 29, 29, 29, 47, 80, 20, 85,199,148, 63,102, 89, 54, 62, 45, 45,173, 67, 45, 15,209, 96, 15, 15,143, 31, + 58,117,234, 36,111,213,170, 21, 36, 18, 9, 22, 44, 88, 48, 35, 37, 37,165, 38,163, 69, 3,152, 33,151,203,135,154,155,155,123, + 23, 22, 22,198,170,213,234,163, 18,137,164,219,186,117,235,220,219,183,111,111,145,150,150, 70, 80, 20,229,248,243,207, 63,127, + 24, 28, 28,220,147, 97,152,174, 53, 21,114,121,177,252,124,105, 31,255,142,121,177,231,230, 3,232,245,226,247, 76,177,108, 20, + 79,185, 7,170,249,219, 9,165,230,195,104,147, 37, 18,137,214, 57, 57, 57,141, 41, 46,201, 21,192,191, 88,224, 0,128, 86,171, +205,201,205,205,245,171,205, 37, 15, 96,156,181,181,245,152, 47,190,248,194,166, 87,175, 94,216,187,119,239, 39,219,183,111,207, +201,207,207,255, 31, 74, 18, 97, 62, 50, 81,115,102,106,106,234,123, 34,145,136,112,119,119,167,212,106,181, 41, 70,203, 23, 37, +131, 48,223, 0,176, 9, 37,169, 11,186, 0, 37,215, 59,128,149, 6,227, 70,146,228, 38, 63, 63,191,247, 31, 62,124,184, 25,192, +146,218, 94,235, 78, 78, 78, 91, 55,110,220, 56,164,111,223,190, 84, 70, 70,134,107,147, 38, 77,246,165,166,166,118,124, 13,183, +145,177, 82,169,116,122,227,198,141, 27, 60,122,244, 40, 58, 63, 63,127, 77,233,254,172,238,154,114, 3,208,205,218,218,186,235, +188,121,243, 20,129,129,129,216,182,109,219,123,219,183,111, 47, 44, 40, 40,248, 13, 37,109,122, 94,201, 4,210, 52, 61, 41, 49, + 49,209,158,231,121, 56, 59, 59, 79, 2,240,143, 52, 90, 36, 73,174, 27, 48, 96,192,152,125,251,246,201,159, 61,123, 38,119,117, +117, 45, 75,158, 77, 16, 68,173,203, 79,129, 87,102, 91, 57,195, 85,115, 30, 45,137, 68, 46,102,217,226,250,201, 41,247,134,188, +221,105,189, 21, 0, 92, 56, 63,101,136,131, 83,195, 72,137, 68, 30, 45,181,148, 29, 27,208,167, 91,211, 65,129,157, 8, 55,103, + 7, 36,166,164, 59,126,127,224,244,187, 33,167,207, 29, 67, 73, 2,177, 74, 97,116,217, 48,211,133,226,209,165,239, 96,223, 57, + 25, 27,126, 78,196,213,187,113, 80,229,101,162,142,147, 25, 86, 77,235, 1, 39, 27,121,237, 30,189, 28,124,186, 48,180,244,224, + 7,195, 71, 90,189,223,207, 95,228,233,228, 4,158,151, 34, 58,182,176,221, 47,103,206,181, 60,122,120,255, 36,115,145,207,208, +162,244,199, 70,223,220,154, 57,195,172, 72,135,126, 52, 69,124,216,190, 69,131,174,195,223,235, 72, 54,240,175,135, 7,247, 31, +246, 56,241,123,248, 42,242,202,253,223, 24,150,223,109, 46,198,241,219, 41,213, 38,244,123,201,112,116,237,218,173,163, 84, 42, +173,144, 60, 73,163,209,136,127,251, 45,180, 77,109,204,134,225, 63,180, 90, 13, 41, 18, 73, 64,146,196,103, 1, 1,141,252, 51, + 51, 51,207, 17, 4,241, 67,114,178,105,209,130, 41,128, 36,135,166,155,147, 82,169, 51,171,213,218, 1, 0, 33,145,228,196,145, +100,163,121,115,231, 42, 40,138,226,178,178,178,160, 82,169,136,241,227,199,203, 98, 99, 99, 7, 36, 37, 37,125, 87,195, 19, 9, +182,111,223,238,235,236,236,252,210,232,177, 41, 41, 41,146,190,125,223,175,205,161,247,109,220,164,217,244,211,167,127,245,207, +207,206, 41,222,190,118,235, 45,189, 76,174,169,235,239, 39,218,180,109,151,213,132, 49, 35,166, 68, 69,221,191, 3,211,198,171, +243, 48, 51, 51, 59,182,122,245,234,128, 46, 93,186,136, 28, 28, 28,144,150,150,134,135, 15, 31, 6,252,254,251,239,253,118,237, +218, 53, 67,173, 86, 15, 0,140, 26, 16,213,231,183,221, 63, 56,152,219,218,129,213,235,225,210,184, 89, 89,126,179,152,223,207, +128,209,233,192,233,245,240, 15,236, 87, 26, 77,230,225,239,239, 95,219,172,187, 46, 13, 27, 54,220,179,116,233, 82,177, 70,163, + 65,120,120, 56,206,157, 59,199,165,164,164,212,148, 16,151, 38, 8,226,204,194,133, 11,221, 58,116,232, 96,145,153,153, 9,150, +101,237,143, 31, 63, 62,169,105,211,166,150,238,238,238,146,221,187,119,163,176,176, 16, 12,195,216,122,123,123,219, 14, 31, 62, + 92,187,123,247,238, 25, 0, 86, 84, 21,201,202,143,229,231,167, 16,222,239,250, 53, 31,133, 84,226,215,119,167,191,139, 95, 44, +223, 34,202, 34, 91,239,122,123, 91,228, 39,201,103, 41, 44, 27,217,230, 39,133,206,122,215,219,123,251,175, 79,140,122, 24, 34, + 75, 11,155, 15, 14, 28, 56, 32,127,248,240,161,220,223,223, 31, 28,199,149,101,224, 55, 36,156,245,241,241,169,205,126, 92, 30, + 20, 20, 52,107,200,144, 33,104,220,184,113, 89, 82,212, 47,191,252, 18,179,102,205,178,185,112,225,194,140,253,251,247,207,248, +241,199, 31, 87, 0,152,109, 98, 52,198,128,169,199,248,171,167, 79,159, 14, 62,118,236,216,136,153, 51,103,250, 0,152, 12, 96, + 65, 86, 86, 86,167,210,104,140,164,212,104,141,157, 49, 99,198,199,179,103,207,198,123,239,189,183, 32, 60, 60,252,155, 90, 70, +249, 40,134, 97,222,235,219,183, 47,165,215,235, 97,110,110, 14,189, 94,255,214,171, 6, 37, 0,108,156, 56,113,226,199, 65, 65, + 65,176,177,177,129, 94,175,247, 61,112,224,192,246, 5, 11, 22,180, 5, 48,174,138,117, 29,245,241,199, 31, 15, 28, 57,114, 36, + 90,180,104, 1,154, 46,217,141,171, 87,175,198,226,197,139, 21,103,206,156,233,183,123,247,238,126, 39, 78,156, 56,138,138,195, +118,153, 4,199,113,160,105, 26, 9, 9, 9,112,112,112,144,114, 28,119,154, 32,136,109,217,217,217, 63,254,131, 10,243,149,131, + 7, 15,254, 96,223,190,125, 10, 0, 88,181,106, 21,166, 79,159, 14, 71, 71, 71, 40, 20, 10,193,234,252,115, 34, 90, 19,106,140, +104,213,132, 74,165,106, 54,231,211, 15, 65,146, 37, 79,141,245,234,122, 96,217,220, 9,196,137,144,211,205,170,141,193,203, 92, +240,232,210,119,144,186, 79,131, 70,207,224,218,221,167, 56,187,170,103, 73,105,217,107, 30, 52,186,174,134,194,198, 86, 98,102, +182, 82,203,178,151,225,228, 20,142,231,207, 51,106, 50, 89, 74, 39,199,144, 45, 91, 86,152, 5,188,229, 7, 29,163, 71, 82,122, + 18, 8, 66, 10, 55, 87, 11,140, 29,213, 75,212,169,147,139,253, 87, 95,109, 61,149,202,161,191, 42,243,113,141, 9, 67,125,237, +177,179, 89,128,207,144,225,189, 59, 72, 27, 5, 52,132, 88,106, 86,246, 93,243, 22, 45,208,188, 69, 11,114,118, 97, 65,247,235, + 55,110,117, 63,114,230,154, 70,165,127,126, 40, 58, 19,163,107,184,201,148, 25,142,169, 83,167,194,209,209,177,194, 2,105,105, +105,248,253,247,223, 42,253,141, 9, 55,178,178,255,248,230,155,111, 44,114,114,114,122,237,216,177,227, 29,142,227,190, 73, 77, + 77,189,100,140,200, 72,160, 78,158, 84,218,117,204,154, 53, 92,211,247,223,167,172,157,156, 72,142,101,137,228, 39, 79,236,214, +126,247, 93,231,236,152, 24,179, 34, 91,219,236, 28,181, 90, 21, 29, 29, 13,153, 76, 70,208, 52,221,178, 18,169, 52,158,199, 74, +146, 36,102, 17, 4, 1,169, 84, 22, 29, 20, 20,116,187,244,187, 58, 39, 79,158,148,247,233,211, 71, 5,224, 25, 0, 72,165, 50, + 87,138, 34,125, 75, 50,177, 99,165, 49, 6,211,220,220,252,211, 37, 75, 87,152,231,103,231,170,117, 69, 69,122,165,165,130, 32, + 20, 22, 84,126, 94, 65, 65, 82, 74,134,102,222,162,197,212,196,177, 35, 63, 45, 42, 42,154,100,172,201,106,210,164,201,245, 99, +199,142, 57,216,217,217, 33, 55, 55, 23, 89, 89, 89,184,126,253, 58, 56,142,195,128, 1, 3,164,237, 90,183,106, 54,119,222,252, +171, 9, 73, 73,109,141, 49, 91,230,182,246, 88,213,161,105, 73, 97,253, 44,171,236,248,108, 27, 28, 88,182,204,226,196, 60, 67, +116,238, 85,134,144,106,219,181,107, 87, 49, 0,140, 27, 55, 46,191,160,160, 96, 25,128,125,168, 57,163,255,140,249,243,231,187, +214,173, 91,215,115,223,190,125, 40, 44, 44, 4, 0,135,186,117,235,194,215,215,151, 13, 11, 11,131,175,175, 47, 44, 44, 44,112, +225,194, 5, 92,189,122, 21, 45, 90,180,176, 16,139,197, 67,116, 58, 93,165, 70,171,115,207,206,243,165,125,252, 59,250, 53, 31, + 5,133,165, 51,182,239, 63,136, 71,183,118,117,212,232, 30,206, 23,179,231, 71,170,121,233,232,140,120,197,236, 58, 45, 58,217, +213,107,248, 62, 60,155,223,182, 47,102, 47, 62,215, 9,111,111, 0, 0, 32, 0, 73, 68, 65, 84,157,223,189,238,114, 90, 86,188, +107,209,154,148,172,170, 76, 22,128, 85, 3, 6, 12, 24,124,224,192, 1,107, 0,136,136,136, 64, 90, 90, 26,148, 74, 37,100, 50, + 25, 68, 34, 81,217,248,164,181,100,244,166, 77,155,202, 76, 27,195, 48,101,163, 0,200,229,114,188,253,246,219,104,218,180, 41, +126,252,241,199,209, 85, 24,173, 14,173, 91,183,222,235,233,233,233, 94,254,195,162,162, 34, 12, 27, 54, 12, 0,208,169, 83,167, +174,102,102,102,188,193, 16,166,164,164, 20,222,184,113,163, 59,128,240, 42,156,165, 58, 41, 41, 9, 95,124,241, 5,226,226,226, + 62,217,178,101,203,115, 0, 50,137, 68, 82,246,124, 12,192,183, 97,195,134,235,166, 79,159,142,216,216, 88, 60,120,240,224, 58, +106, 95,149,202,154,155,155,199,232,245,250, 22, 12,195, 64,173, 86,163,127,255,254,178,163, 71,143,166, 81, 20, 21,149,153,153, + 57, 2, 37,109, 82,140, 69, 6, 96, 77, 80, 80,208,199, 51,103,206,196,111,191,253,134, 19, 39, 78, 96,228,200,145,152, 54,109, + 26, 20, 10,197,152,105,211,166, 93, 69,201,128,230, 47,210,117,211,166, 77, 96, 89,246,165,107, 67, 38,147,161, 67,135, 14,104, +208,160, 1, 78,156, 56,209,245, 21,140,150,103,135, 14, 29, 36, 28,199,161,168,168, 8, 97, 97, 97, 10, 51, 51, 51,133,155,155, +219,120, 0,255, 24,163,229,233,233, 25,116,224,192, 1, 69,249,218, 31,169, 84,138,114,231,129,192,223, 31,209,170,246, 9,171, + 12,173, 86,165,163,105, 50,202,197,185,241,161, 11,231,167,148, 85, 29, 2,100,148, 86,171,210, 1, 0,203,241,200, 87, 49, 48, +147,146,120,150, 90,128,251, 79, 50, 43,147,170,208, 69, 83,100,230, 1,105,171,103,224,121, 30, 90, 29, 11, 77, 94, 42,150,157, + 82,225, 97, 98, 49,180, 69, 57,208,234, 74,154, 97,217,219,219,211,167, 79,255, 50, 61, 52,244,247,143,255,247,191,255, 81,137, + 86, 86, 15, 10,128,102,149,105,218,216,120, 91,112, 18,201,161,205, 91, 22,152,241,212, 19, 68,199, 23,161,158, 91, 43,216, 91, +187, 35, 53,179, 8,151, 31,252,140,168,199, 33,168,235,236,137,105,159,190, 43, 91,178,116,223, 65, 49,227,229,145,155, 27,151, + 95,213,122, 26,158,162,182,254, 26, 13, 38,251, 9,216,172, 88,176, 5,201, 47, 45,160, 80,122,160,121, 23, 87, 40,221,223,146, +142,158,182,120, 20, 80,193,104,149,215, 76, 35, 8,114, 51, 73, 18, 31, 19, 4,129,198,141,155, 36,174, 89,179,166,178, 84,224, +186,198,141,155, 36, 82, 20,233, 86,114, 99, 39, 55,241, 60,151, 86,195,122, 86, 48, 53, 18,137,116,102, 73,216,223, 57,225,212, +169, 83,186,193,131, 7, 99,245,234,213,146, 89,179,102,205,163, 40,106, 92, 37,213,123, 21, 52,251, 3, 30,214,111,189,213,227, +155,203,151,121,145, 94, 79,100, 95,191,158,159,155,146,194,164, 22, 20, 72, 14, 71, 69,189,247,209,231,159, 75,220,221,221,113, + 41, 36,196, 46,163,168,136,207,213,104,212,185,185,185, 60,195, 48,215,171,208,156,163, 84, 58,200,183,111,223,238, 27, 20, 20, +116, 59, 37, 37,101, 14, 0, 56, 59, 59, 47, 3,208, 0,192,179,114,159, 97,203,150,131, 73,227,199,143,143, 78, 79, 79,159, 83, +221,122,150,163,161,131,210, 65,190,127,235,238,123,182, 22,102,164,210,205,133, 20, 89, 91,211,140,196, 76,204, 1,234,186,238, +111,153, 3,104, 88,197,111, 95,212, 36,204,204,204,142,253,244,211, 79, 14, 34,145, 8, 44,203, 66,169, 84, 34, 46, 46, 14,185, +185,185, 40, 40, 40,192,211,168,135,240,114,119,199, 87,179,103, 57, 79,158, 53,251,152, 74,165,106,241, 66, 97,246,242, 0,200, +122,221, 75,145,189,202, 70, 49,120,177,218,203,200,227, 94,158,184,248,248,120, 40, 20, 10, 4, 4, 4, 40, 46, 95,190,124,177, + 26,147, 85,126, 16,224, 33,237,219,183,183,216,183,111, 31, 90,180,104, 1, 43, 43, 43,132,133,133, 33, 34, 34, 2, 58,157,142, + 44, 44, 44,132, 66,161,192,242,229,203,225,225,225,129,130,130, 2, 60,123,246,204, 78, 36, 18,217,191,144,209,190, 76, 51,236, +116,216,146,188,216,115,243, 83,137, 95,223,221,190,255, 32,198, 15, 31, 10, 39,254,201, 69,171,183,136, 37, 61,250,180,255,146, +167,220, 3,205, 45, 26,219,248, 4,244,129, 88,162,192,228,153,139, 17, 29,121,210, 70, 85,112,239, 19,130, 77,112, 95,180,230, +240,212, 74,182,157, 0, 64,186,187,187,127,116,248,240, 97,139,178,208, 11, 69,149,141,121, 88,126, 16,248,106, 6,124,175,113, +127, 18, 4,129,184,184, 56, 56, 56, 56, 64,161, 80,148, 13, 32,254,240,225, 67, 92,187,118, 13,134,209, 40,170,208, 28, 17, 26, + 26,234,110,110,110, 94, 97, 1,158,231,145,153,153, 9,134, 97, 32,151,203,193,178, 44,116, 58, 29,244,122, 61,138,139,139, 21, + 13, 26, 52,152,164,215,235,195, 43,211,228, 56,238,179, 33, 67,134,180, 15, 15, 15,247,254,238,187,239,160,213,106, 87,165,166, +166, 98,224,192,129,224, 56, 14, 93,187,118,109,195,243,252,163,121,243,230, 1, 0,166, 79,159,174, 47, 42, 42, 10,170,205,182, +151,210,160,121,243,230,222,191,253,246, 27, 58,118,236, 8,141, 70,131,213,171, 87, 91,110,217,178,197,114,247,238,221,202,153, + 51,103,254,144,145,145,209,179, 6, 77, 2,192, 42, 39, 39,167,143, 59,119,238,108, 86, 58,134, 41,118,237,218,133,175,190,250, +234, 0,128,121,191,252,242,203,194, 19, 39, 78,140,250,232,163,143,240,213, 87, 95, 77,203,205,205,221, 81,149,230,211,167, 79, +161, 84, 42, 97,105,105, 89,114,179,212,233,112,231,206, 29,156, 61,123, 22,245,235,215, 55,102,155,170, 90, 79,207, 1, 3, 6, +252,176,127,255,126,139,132,132, 4, 92,184,112, 1, 94, 94, 94, 80,169, 84,198,140, 13, 27,250, 39, 20,216, 85,106,170,213,234, +226,248,248,120,197,138, 21, 43,224,236,236, 12, 79, 79, 79,200,100, 50, 16, 4, 1,189, 94, 95,221,240,106, 53,174,103,167, 78, +160, 51,147,108,250, 90, 89,219,124,194,243, 60,157,151,151,179, 85,135,220, 35, 79,158, 64,251, 23,110,251,191,153,102, 0,110, +163,226,152,135, 41,101, 70, 43, 36, 36,132, 15, 12, 12, 36, 12,115, 87, 87,228,103,102,218, 68, 59, 56, 53, 58,232,224,212,176, +116,220, 47, 50,138,162,108,162, 29, 29, 85,249, 0,160, 99,120, 92,137,202,197,189,152, 84, 68,196,164,194, 92,106, 92,240, 69, +163, 99, 74, 90,172,242, 60,138, 11,255,120,104,213,169,114,160,209,149, 52,247,208,106, 84,200,203,120, 64, 12,238,223, 93,246, +241,199, 19,225,236,236,170,172, 74, 79, 39,149, 77,155, 60,253, 61,107, 91,107, 17, 66, 46,255,138, 54,245,251, 67, 38, 21, 33, + 43,175, 24, 32,128,199, 79,206, 2,156, 5, 34,163,227,209,186,161, 28, 61,123,248, 43,126, 60,242,232,115, 0, 11,140, 89, 95, + 38,241, 58,196, 62,189, 32, 98,245,208,103, 62, 2,151,251, 28, 48,119,130,154, 80, 32, 43,229, 57,162, 46, 30, 53,234,153,145, +227,184, 79,236,237,237,115,231,205,155,215,185, 94,189,122,186, 73,147, 38,221,125,254,252,249,103, 47, 60,173,124,187,105,211, + 38,196,196,196, 36,125,243,205, 55, 97,153,153,153,243, 77, 60,208,179,121, 30,193,165, 85,113,153,199,143, 31,111,126,254,252, +249,105,193,193,193,142, 83,166, 76,145, 76,153, 50,101, 44,128,175,171,171, 46,204,151, 74,187,125,115,225, 2,207, 36, 38,106, +246,172, 95, 47,217,120,229,202, 60, 29,199,185,216, 59, 56, 16,237, 90,183, 46,146,147,100,102, 86, 90, 26,163,244,246,166,226, +206,158,181,227,205,204,146,127,249,229,151,252,194,194,194, 42,135,206,161, 40, 74, 85, 89,117, 97,101, 56, 59, 59,107, 43,107, +195, 85, 77,129,152,207,241,188,206,186,110, 93,190, 71,215,182,245, 98, 30, 61,121, 34,179,182,166,124,234,121,249,221,143,138, +187,206,179,108, 49, 65, 16,249, 70,213,149, 80,212,208,224,224,224, 70,150,150,150,224, 56, 14, 86, 86, 86,200,200,200,128, 86, +171, 69,126,126, 62,180, 5,121,208,230,229, 33,226,121, 28,218,119,238,140,193,239,246,240,223,125,252,167,161, 44,203, 30,168, +182, 62,175,113,179,178, 72,214,226, 58,118,127,212, 5, 37,228,150,153,174, 21,205,124, 32, 86, 40,208,253,179,217,175,114,161, +223, 62,117,234,212,207, 3, 6, 12,120,239,243,207, 63, 39, 83, 82, 82,126,141,139,139,107, 15,224, 65,117, 63, 82, 40, 20,111, +101,102,102,162,176,176, 16, 86, 86, 86, 8, 14, 14,134,163,163, 35, 84, 42, 21,110,220,184,193,187,185,185, 17, 97, 97, 97,112, +115,115, 67, 86, 86, 22,116, 58, 29,212,106,117,170, 86,171,173,178,186,188,180,122,176,215,244,119,241,203,163, 91,187, 58,186, + 18, 79,111, 12,153,209, 41,230, 81, 68, 84,252,153,179,151,191,102,138,101, 9,185,137,161,179,234,182,188,109,255,201, 23, 95, + 97,195,170,133,120, 20,126, 33,219,209, 35,127,163, 25,161,217, 89,221,250, 22, 21, 21, 21, 71, 69, 69, 89,220,189,123, 23, 4, + 65,192,202,202, 10,114,185,188, 82,179, 85, 11,200,242, 17,168,162,162, 34,136,197, 98,216,217,217, 97,199,142, 29,101, 5,175, +151,151, 87,117, 26, 91,187,119,239, 62,212,195,195,195,162,252,135, 45, 91,182,196,196,137, 19,177,121,243,102, 92,185,114,165, +194,120,154,169,169,169, 41,122,189,190,186,237,206, 77, 75, 75,123,183,127,255,254,183, 46, 94,188,104,185, 99,199, 14, 48, 12, + 83,233,180,125,251,118, 92,187,118,109, 1,128,168, 90,158, 71,245, 7, 14, 28,120, 97,239,222,189,214, 25, 25, 25, 48,156, 27, + 69, 69, 69, 96, 89, 22,126,126,126, 4,195, 48, 53,181,123, 35, 41,138, 58,190,126,253,250, 62,227,199,143, 7, 77,211,208,106, +181, 88,191,126, 61,102,205,154,149, 86,250, 80,170, 3, 48,111,231,206,157,163,222,127,255,125, 52,105,210,196,255,220,185,170, + 91,118, 20, 22, 22,162,176,176, 16, 34,145, 8, 78, 78, 78, 88,178,100, 9,180,218,146,219,138,175,239,255,217,187,238,176, 40, +174,246,123,102,182,194,238,210,123, 81,172,160, 96,239, 5, 69,108,104,236, 29, 75,236, 26, 21,123, 67,141, 53, 81, 76, 52,177, + 43,214, 24,236, 61, 17, 27,138,138, 5, 43, 29, 81, 84,122, 19, 16,150,182,125,103,103,126,127, 80,130, 72, 89,208,228,251,126, +249,246, 60,207, 62,187,179, 59,115,246,157,123,239,204, 61,243,222,123,223,215,169,236, 50, 6,112,208,201,201,105, 72,108,108, +236,118, 20,207, 93,251, 12,214,214,214, 35, 24,134,153,165,209,104, 10,123,244,232, 97,118,250,244,105,131,180,180, 52,132,132, +132, 96,237,218,181, 98,154,166, 53, 52, 77, 19, 50,153, 44,222,210,210, 50,132,207,231,235, 75,165,210,220,156,156,156, 45, 0, +110,254,167,122,114,130, 32, 8, 14,135,131,233,211,167,131,205,102, 67, 95, 95, 31,114,185, 28,106,181,186, 76,204,163,150,195, +210, 77,155,138,204,216,224,206, 52, 49,112, 89, 52,102,225, 96, 11, 27, 91, 59, 24, 27,242, 17, 19,243,170,251,221,192,219,123, +120,236, 55,190,180, 82,237,251, 38, 49,255,111, 79,118, 95, 81,139,252, 63, 21, 90,159,229, 60,100, 87, 94,153, 99, 52, 12,115, +254, 99, 90, 26, 79,197,227, 9, 98, 75,189, 92, 86, 86,210, 2,130, 24,163,177,104, 49, 12,148, 74, 93,114,163, 96, 74, 94, 90, + 10, 45,181, 6,239,222, 68,225, 97,192,159, 48,151,166,225, 99,124, 91,128,219, 10, 74, 89, 62,228, 74, 85,137, 40,209, 32, 60, + 36, 16, 5,249,185,104,217, 97, 48, 64,146, 79,171,226, 51, 50, 35, 6,119,107,223,154,245, 46, 57, 10, 29,157, 70,163,177,125, + 15, 36,101, 20, 32,175, 72, 1,113,129, 28,109, 91,122, 35, 91, 44, 67,129, 84,142, 87,239,252, 96,103,219,152, 36,216,113,125, +180, 21, 90,138, 87,151,160,120,253, 7,184, 14,221,193,107, 54, 20, 44, 7, 87, 36, 71,220, 67,248,141, 29, 72,141,126, 4,134, +214,192,198,169,147,182, 23,201,158,155, 55,111,118,234,222,189, 59,187,111,223,190,109,174, 95,191,222, 38, 35, 35, 35,188, 68, + 96,180,233,219,183,111, 27, 11, 11, 11,236,218,181, 75, 70, 16,196,158, 58, 86,118,153, 7, 44, 43, 43,235, 57,128,205,151, 46, + 93,218, 51,123,246,108, 88, 90, 90,182, 74, 79, 79,175,242,192,108, 14,167,205,148, 45, 91, 24, 14,139,197,156,217,187,151,187, +241,230,205, 95,126, 59,126,156,219,219,221,157, 96, 24, 6, 97, 97, 97,130,159,246,238, 21, 76, 24, 54, 44, 49, 41, 43,139, 10, + 10, 14, 86,101,164,166, 22,102, 73, 36, 27, 51, 50, 50, 62,252, 39, 90,182, 90,173,126, 18,159, 16,111,215,161,115, 91,139,208, +152,248,104,143,222,221,186,145, 36, 73,190,137, 75, 10,182,176, 48, 20,220, 14,184,173, 82,171,213, 79,180,225,226,243,249,131, +123,247,238,205, 22,139,197,176,181,181, 69,118,118, 54,210,210,210,138, 61, 14,249, 98,168,242,243,161, 46,200,131, 70, 82,132, +248, 23,207,209,182,113, 35,254,121, 62,127,176, 84, 42,173, 86,104,149, 62,101, 86,150,232,186,244, 59,158,129, 1,120, 34, 17, +136,218, 15, 27, 14, 51, 54, 54, 94,153,151,151,119, 29,192,143, 42,149,202,107,229,202,149, 29,119,239,222,109,190,121,243,102, +195, 89,179,102,157, 47, 42, 42,106,139,226,164,170, 85,117, 96,239, 41,138, 50, 3, 96, 21, 24, 24, 8, 75, 75, 75,228,231,231, +151,122, 90,148, 82,169, 84, 47, 39, 39, 7, 10,133, 2, 74,165, 18,134,134,134,120,249,242,101, 46, 69, 81, 87,107, 50,206,176, + 9,241,163, 66, 21,243,189,153,179, 48, 93, 69,153,184,101,229,210,226, 13,191,100,108, 2,240,203,128,198,141, 15,171,232, 7, +241,111,163,174,154, 36,188,184,159,155,254, 86,210,248,200,245,248,234,230,104, 49, 0,104,130, 32, 24, 39, 39, 39,100,103,103, +131,197, 98, 65, 32, 16, 64, 36, 18, 97,213,170, 85,216,179,103, 79, 93,132,150,158, 80, 40,220, 66,146,228, 56,146, 36, 45, 52, + 26, 13,188,189,189, 49,100,200, 16,240,120, 60,168, 84,170, 50,143,102,169,151,170, 6, 79, 71,216,211,167, 79, 13,159, 62,253, +228,182,229,110,110,110,126, 87,161, 80, 32, 46, 46, 14, 87,174, 92,233, 5, 32,168,150,117, 29, 23, 22, 22, 54,192,213,213,245, +247,246,237,219, 55, 97, 24, 6,173, 90,181,130,167,167, 39,252,252,252, 16, 30, 30,142,252,252,124,250,246,237,219,191, 1,216, + 94,219, 62,188,164,124,155,141, 26, 53,234,209,169, 83,167, 76,114,114,114, 32,147,201, 32,145, 72,112,254,252,121,116,239,222, + 29,230,230,230, 56,121,242, 36,197, 48, 76,117,117, 79,146, 36,121,196,215,215,119,200,140, 25, 51,176,111,223, 62,156, 57,115, + 6, 67,135, 14,197,184,113,227,144,157,157,109,181,109,219,182,201, 37,195,132,235, 61, 61, 61, 81, 84, 84,132, 23, 47, 94,196, +104,121,205, 35, 47, 47, 15,121,121,121,208,215,215, 47,127,141, 17, 0,252,118,236,216, 49,126,209,162, 69,104,220,184,241,250, +248,248,248, 29,168,100,149, 40, 77,211,223,165,165,165,153,176,217,108, 51,138,162,144,146,146,130,151, 47, 95, 98,222,188,121, +185,185,185,185,179, 1, 36, 1, 88, 51,125,250,244, 31,151, 44, 89, 82,214,150,150, 44, 89,226,127,253,250,245, 1,255,180, 55, +199,201,201,184, 5,143,197, 95, 40, 46,100,153,137,197,226,178,123,135, 82,169,132, 66,161,248,196,147,197,229,114,204, 58,182, +173,127, 77, 38, 45, 92,253,234,109, 94,149, 9,210,157,155, 24,181, 22, 8,141, 22,117,239,209,123, 98,255, 1,195, 89,148, 90, +141, 91,183,174,226,232,209,253,112,119,117, 66,227,166,173, 48,127,193, 66, 35,133,146,242,190,125,251,230, 74,227,167, 15,111, + 22, 22,228,173,170,142,243,127, 28,215, 74,196,213,181, 74,135, 14, 43, 83,144, 37, 33, 28,196, 37,155,230, 38, 38, 38,123, 53, + 26,141,187,161,161, 33,232,188, 88,188,122,249, 12,185, 98, 14, 20, 50, 13,104,166, 88,108,105, 37, 92, 20, 74, 60,184,245, 7, +118,238,248, 5, 57, 57, 57,112,237,217, 11, 69,236,122,168, 95,175, 62,228, 50,105,201, 69, 3,168,148,106, 88, 88, 57, 32, 52, + 52, 92, 93, 32,145, 84,121, 67,226,234,169,156,235, 91, 57, 65,161,234, 10, 61, 30, 15,249,133, 74,136, 75, 68,214,201, 11, 99, +161,144,202, 64, 41, 85,160,148,106, 88,212, 31,133,230, 86,189, 65,107,174,182,168, 85,241,209, 26,168, 18, 30, 64,149,240, 0, +250, 93, 23,224, 79,159,241, 21, 58, 82,237,242,238,102,103,103,103, 69, 71, 71, 95, 13, 11, 11, 27, 49,118,236, 88,220,187,119, +111, 22,128, 57, 37,195, 55,179,198,142, 29,139,176,176, 48, 68, 71, 71, 95,205,206,206,206,250, 26, 53,207,227,241,100, 10, 69, +113, 31, 43, 16, 8,244,106,216,215,174,227,200,145,100,126,104,104,193,142,199,143,215, 31, 62,114,132,219,183, 79, 31, 66, 77, + 81,160, 53, 26, 52,117,116, 36,250,247,239, 47,244, 59,119,206,140,165, 86, 63, 93,238,229, 21,120, 96,210,164,194,231, 18,137, +182, 19,205, 27,148, 12, 25, 2, 64,131,106,190,211, 26, 10,133, 98,247,119, 51,167,246, 13,122,240,168, 94,253,122,118,134,183, +110, 7,133,243,245,121,100,227,134, 77, 88,226,252, 92,246,166,245,171,245, 21, 10,133,182,162,213,217,220,220, 28, 31, 62,124, +192,187,119,239,160, 80, 40,160, 86,171, 65, 75, 37, 80,138,243,160,204,207, 5, 33,151,129,175,209, 64,254, 49, 19, 13, 26, 55, + 2,254, 90,145, 88,227, 80, 84,101, 66,171,244, 93,207,208, 16, 92,161, 8, 36,135,163,117,114,116, 0,237, 59,117,234,116,238, +226,197,139,220,105,211,166,117,190,115,231,206, 94, 0, 73,105,105,105,125,214,174, 93,251,124,239,222,189,252,217,179,103, 55, +219,190,125,251,100, 0, 7,171, 34,145,203,229,231,174, 93,187, 54,193,193,193,193, 42, 50, 50, 18,114,185, 28, 52, 77, 99,224, +192,129, 64,241,220, 26, 0,192,155, 55,111,100,114,185, 60, 43, 42, 42,170, 32, 41, 41, 73, 5, 45, 86, 9,110,216,157,241,164, +224,195,131,145, 86,214,118, 79,245,244, 27, 52,100,138, 66, 71, 44, 30,109,183,109,199,133, 52,249,205,184,184,194,239,251, 53, +218, 42, 41,140,152,103,108, 95,180,239,166,127,188, 54, 19,225,203, 86, 23,154,153,153,129,205,102,131,195,225,128,203,229,130, + 32, 8, 44, 88,176, 0,135, 14, 29,170,105,232,240, 19,145,101, 96, 96, 16,189,113,227, 70,251,217,179,103,115,245,244,244, 32, + 22,139,113,242,228, 73, 76,159, 62, 29, 71,143, 30,173,116,254,139, 22, 67, 74, 21,189,165,139, 38, 77,154, 4,165, 82, 9, 79, + 79, 79, 28, 62,124,120,145, 70,163, 9,170,195, 37,253, 52, 60, 60,220, 49, 60, 60,220, 16,192,208,113,227,198, 29, 31, 53,106, + 20,130,130,130,112,245,234,213, 94, 40, 94,244, 33, 3,224, 3,192,178,228,189,186,235, 83,104,101,101,181,159,166,233,161, 22, + 22, 22,225, 78, 78, 78, 45, 79,157, 58,101,156,149,149, 85,186,248, 1, 9, 9, 9, 56,118,236, 88,198,145, 35, 71, 10, 52, 26, +141, 25, 73,146,215,242,242,242, 86, 85, 35,216,142,236,216,177, 99,106,201,112, 32, 46, 94,188,200,252,242,203, 47,196,218,181, +107, 33, 22,139,225,238,238, 14, 95, 95,223,133, 69, 69, 69,109,126,249,229,151,153, 99,198,140,193,166, 77,155, 32,145, 72,118, +212,244,176, 82,141,248, 34, 0,116,219,177, 99,135,195,162, 69,139,112,241,226, 69,180,111,223, 94, 63, 62, 62,254, 0,128, 25, +149,213, 31,195, 48,136,143,143,135, 84, 42,197,163, 71,143,176,126,253,122,113, 57,145,181,112,206,156, 57, 63, 46, 92,184, 16, + 91,182,108, 97, 34, 35, 35,179, 70,141, 26,101,117,232,208, 33, 86,211,166, 77, 23, 74,165,210,127, 76,104, 53,107,106,186,181, + 99,251, 30, 43,109,236,154,226,228,169,211,200,205,205, 45, 43,147,210,114, 97, 24, 6,133,133,133,248,240,225, 3,140, 12, 13, +176,109,251,143,223,204,157, 53,181, 30,138,195, 96,124,238,178,108,108,178,125,212,184,105, 75, 61, 39, 76, 69,100,120, 8,252, +142, 31, 68, 84,100, 88, 25, 31,165, 86, 33, 54,230, 37, 98, 99, 94,194,202,218, 1,253,251,246, 34,198,143, 31, 63,112,210,132, +113, 22, 0,254,182,208, 17,255,143,189, 89,192,231,113,180, 14,125, 34,180,106,112,215,153,155,152,152, 68,159, 61,123,214,204, +213,213,149, 69, 81, 20,110,222,186,133,121,115,190,197,228, 73,222, 80,193, 4,148,146, 11,154,171,167,149, 37, 50,153, 20, 12, + 24, 72, 36, 18, 4, 7, 7,131,161, 41,248, 29,250, 5, 12, 67,151, 9, 45,128,129, 82,165,130, 93,253,102,216,127,120, 51, 5, + 14,231, 57,212,149,135,174, 41,200, 97,105,212, 20,131,180,172,100, 36,103, 68,193,200,160, 62,216,156,250,200,201,147,130, 77, + 90, 67, 45,127, 3, 77,201,177, 82, 73, 42,100,170, 47,171, 63, 77, 37,222, 83,166, 22, 55, 93,153, 76,118,226,196,137, 19,223, +252,250,235,175,188, 65,131, 6, 57, 93,184,112,161, 27, 0, 12, 26, 52,200,201,208,208, 16, 39, 78,156, 80,202,100,178, 19, 95, +209,227,211,187, 83,167, 78, 16,139,197, 72, 72, 72, 8,175,246,220,148, 74, 51,145,165, 37, 43,235,222, 61,117,182, 88, 92,175, +119,239,222,132,154,162, 64, 18, 4,114,243,243,145,148,152, 8, 99, 99, 99, 34,250,205, 27,209,158,249,243, 47, 59,181,108,201, + 46, 93,145,168, 13,174, 94,189, 42, 64,241,188,172,106,191,171, 37, 36, 89,153, 31,166,122,121,121, 93, 62,113,226,164, 81,102, + 86,102, 44,159,199,163, 68, 34, 61,219, 73, 19,231,178,243,242,242, 38, 0, 40,210,150, 76, 44, 22, 35, 62, 62, 30,250,250,250, +224,114, 56,160,101, 82,104, 36, 69,144,231,102,131,165, 82,130,167,209,192, 84,192, 71, 61, 43, 43,212,183, 48,215,138,243,221, +221,128,178,137,239,229,135, 11,183,117,114, 6, 79, 40, 2,207, 64,132,185,254,247, 75,158, 70,185,192,218, 31,180,161, 53,183, +179,179,251,243,212,169, 83,220,236,236,108,132,133,133,133, 3,200, 7, 96, 0,128,142,137,137,185, 19, 21, 21, 53,184,100,213, + 93, 77,171,197,126,185,116,233, 82, 63, 87, 87, 87,170, 97,195,134,194,172,172,172,122, 98,177,152,206,200,200,248,196, 37, 20, + 16, 16,192, 47, 44, 44,148,208, 52,125,185, 68,100,213, 24,191,104,241,104, 59,189,224, 80, 44,112,243,104,208,202,208,188, 53, +114,169,208, 86, 79,195, 51, 22, 44, 30,109,183,123,199,133, 52,185, 62,161, 56, 78,104, 82,234,177,245,228,218, 78, 98,102,128, +226,185, 82,193,193,193, 72, 74, 74, 66,124,124,252, 39,130,106,214,172, 89,240,243,243,211,202,163, 37, 20, 10,183,108,216,176, +193,126,209,162, 69,220,114,162, 8, 94, 94, 94,200,207,207,199,225,195,135,225,229,229, 85,235,142,191, 2, 26,245,238,221,123, +144,141,141, 13,114,114,114, 96,109,109, 13, 87, 87,215, 33, 65, 65, 65, 13, 1, 36,212,177,221,207,245,240,240,248,113,227,198, +141, 80,171,213,152, 62,125, 58,222,190,125,123,238,237,219,183, 59,235,215,175,191, 96,197,138, 21, 86, 86, 86, 86, 24, 59,118, +172,144,162,168,145, 85,145,152,154,154,250, 28, 60,120,112,194,160, 65,131, 72,149, 74,213,243,238,221,187, 72, 76, 76,132, 82, +169, 4, 69, 81,120,255,254, 61,188,188,188, 50, 74, 86, 55,190,215,194,174,105,107,214,172,153,186, 96,193, 2,252,244,211, 79, +216,176, 97,195,111, 70, 70, 70, 45,219,182,109,219,110,195,134, 13, 88,190,124, 57, 28, 28, 28, 96,102,102,214,124,237,218,181, +206, 75,150, 44,193,238,221,187,177,126,253,250,223, 0, 28,171, 75, 65,208, 52, 77,108,221,186,181,205,142, 29, 59,108, 74, 69, + 22, 73,146, 56,123,246, 44, 66, 67, 67,135,196,197,197, 85,118,140,175,181,181,245, 44, 27, 27, 27,222,237,219,183, 69, 14, 14, + 14,160, 40, 74, 93, 34,178,246,212,175, 95,127,222,251,247,239, 49,104,208, 32,196,197,197,157, 0, 48,217,200,200, 72,178,100, +201, 18,129,190,190,190,145, 84, 42,253,167, 58,111,176, 72, 98,202,150, 77,203,241, 34,244, 13, 46, 93,226,226,197,139, 23,176, +178,178, 2,159,207, 7,195, 48, 80, 40, 20,200,206,206,134, 90,165, 64,171, 22,141,240,251,145,173,200,202,202, 6, 72,162,202, + 41, 55, 4, 73, 76,156,250,237, 8, 60,124,116, 11, 7, 14, 28, 68, 81,145,164,138,135,111, 61, 52,117,114,134,157,173, 37, 82, + 82, 83, 64,144, 48,255, 59,207,245,255,249,208, 97,217, 45, 8,218,132,119, 40, 15, 99, 99,227,157,103,206,156, 49,115,119,119, +103, 73, 36, 18,208, 52,141, 30,174,174, 88,176,104, 17,174,158, 58, 5,199,206,158, 32,148, 34, 80, 2,237, 86, 61,200,101, 82, +184,180,235,134, 49, 99,199, 33, 57, 41, 9, 30,131, 71, 65, 46,151,150, 61, 97,148,122,180,148, 74, 21,204, 45,235, 33, 32, 32, +128,133,233,211, 95, 97, 79,229, 78, 9,141,138, 23, 17,251, 94,222, 61, 79, 22,138,224, 23,126, 80, 41, 84,104,213,106, 45, 84, +180, 25, 44,237,103, 65,173,190,130,130,236,187,197,195, 24,102,238, 72, 77, 78, 6,201,226, 70,215,181, 4,105, 73,246, 23,221, +116,243,243,243,243,227,227,227, 47, 4, 7, 7, 79, 28, 57,114, 36, 2, 2, 2,102, 2,192,200,145, 35, 17, 28, 28,140,248,248, +248, 11,249,249,249,249, 95,163,182,109,108,108,134,246,234,213,203,179, 99,199,142,240,247,247, 7,195, 48, 15,181,186,176, 57, + 28,134, 36, 73,208, 52, 13, 2, 64, 78, 94, 30,222,190,125,139,156,143, 31,161, 86,171, 33, 41, 42,162,157,157,156,138, 24,154, + 54,168,141, 61,229, 87, 24,162,146, 85,135,165,223,213,225, 84,147,158, 63,125,156, 92, 88, 84,100, 97, 98,108, 82,200,227,241, + 52,226,188,188,252, 87,209,145, 74, 45, 59,135, 82,196, 68, 69, 69,181, 76, 79, 79, 71,114,114, 50, 40, 73, 33, 88, 10, 37, 72, +133, 20,125,186,117,133, 62, 24,232,129, 6,135, 86,131,195,226,160,176,120,117, 94,141,195, 29,154,114, 15, 9,165, 34,139, 32, +136,226,225, 66,161, 16, 60,145,193, 39, 30, 46,109,218, 19,159,207, 63,117,254,252,121, 27, 59, 59, 59,108,218,180, 9,246,246, +246,205,109,109,109,165, 70, 70, 70,250, 86, 86, 86,112,113,113, 65,183,110,221,112,227,198, 13,104, 81, 6, 20,195, 48,253, 31, + 62,124,184,244,241,227,199, 99,132, 66, 33, 49,127,254,124,246,192,129, 3,193,231,243, 33,149, 74, 33, 22,139,113,250,244,233, +143, 52, 77,151, 46, 74, 49, 19, 8, 4,199, 8,130, 72,144, 72, 36,139, 42, 18,254,254,107, 43,219,172, 92,122, 58, 83, 36, 24, +225,230,209,160, 85,111,143,190,104,228,216, 27,189, 61,146, 1, 96,171, 41, 59,209,243,231, 53,198,151,141, 13,136, 99, 1, 55, +111,175,119,117,235,189,102,101,209,189, 31,127, 58,148, 87,227,124, 58,130, 32, 64,211,244, 39,177,131, 42,254, 62,121,242,100, +156, 61,123,182,198,114, 36, 73,114,220,236,217,179,185, 21, 60,207, 72, 75, 75,195,224,193,131, 49,114,228,200, 79,132,150,185, +185, 57,172,173,173,145,152,152, 8, 0, 57, 90,182,171, 5,211,166, 77, 35,100, 50, 25,102,204,152,129,195,135, 15,195,211,211, +147, 8, 10, 10, 90, 0, 96, 81,109, 27, 59, 73,146,219, 86,172, 88,177,212,203,203, 11,185,185,185,184,126,253, 58, 6, 14, 28, +136,179,103,207, 90, 92,191,126,125,139,187,187, 59, 88, 44, 22,252,253,253, 65, 81, 84,181,177,190,184, 92,238,208, 65,131, 6, +145, 41, 41, 41,224,114,185,232,208,161, 3, 82, 83, 83, 33,149, 74,145,150,150,134,133, 11, 23,126,200,201,201,233,165,237,117, +196,229,114, 23, 45, 88,176, 0,103,206,156,129,183,183,247,113, 0, 51,242,243,243,199, 60,126,252,248,204,176, 97,195,144,150, +150,134,203,151, 47, 99,253,250,245,196,228,201,147,177,111,223, 62, 44, 92,184,240,183, 18,175, 83, 85, 13,191, 48, 43, 43,203, +168, 73,147, 38,200,204,204, 68, 81, 81, 17, 46, 95,190,108,121,227,198,141,134,118,118,118,134,241,241,241,154, 31,126,248,129, +183,104,209, 34,236,220,185, 19, 97, 97, 97,240,243,243, 67,239,222,189,169,184,184,184, 74,189,100, 37, 33, 27, 46, 51, 12,115, + 91, 40, 20,162,176,176,176,244,186, 91,230,237,237,237,229,227, 83,236,100, 79, 79, 79,199,148, 41, 83, 38, 5, 6, 6,210,238, +238,238, 2, 46,151, 11,185, 92, 46,249, 39,123,109, 90, 67, 3,160,209,176,158, 8,183,174, 30, 65, 72,120, 28, 66,194,163,192, +227, 23, 79,130,151,201,164,104,215,170, 41, 58,119,232,132,244,140, 52,156,240, 59, 2, 83,115,187,106,239, 35, 12,195,128,203, +214,192,217,201, 26,167,252, 14,194,255,122, 32,252, 78,156, 46,155,243,198,102,115,208,182, 93,103,116,232,224,138,184,248,247, + 56,114,228, 0, 44, 44,235,233, 6, 7,235,136,178,161,195,242,239, 21,148,127,111, 87, 87, 87, 86, 81, 81, 17,228,114, 57, 62, +124,248,128,196,196, 68, 24,155, 24, 35, 46, 61, 1,189, 4, 42,124,160, 11, 16, 19, 30,173, 33, 88,156,176,154,254,112,144, 91, + 91,192,173, 45,230, 77,243,172,230,145,149,129,208,208,188,120,232,134,162,222, 97,247,110,170, 42,161, 69,105,212,119,110,221, +190,219,105,218,228,161,156,128,187,135,161, 86,210,144,169,141, 32,145, 43, 33, 81,113, 64, 26, 13, 4, 62, 6,129,197,230,163, + 75,155,166,184,124,233,134,138,161,212,129, 90, 23,144, 85, 75, 80,153, 81,229,132, 86, 86,133,113, 7, 83,173,135, 14,203, 58, + 94,141,230,236,201,147, 39,135,119,237,218, 85,224,238,238,222,164,164,227, 84,157, 60,121, 82, 90, 18, 12,179,182,248, 36, 26, +188,181,181,117, 59, 46,151,235, 57,112,224,192,118, 83,167, 78,197,171, 87,175,112,226,196,137,216,166, 77,155,222,203,200,168, +122, 69, 54,139,199,203, 41,202,202, 50, 22, 53,108,200, 54, 49, 48, 72,191,113,253,186, 67,223,126,253,136,228,228,100,228,228, +228, 64, 46,151, 35, 44, 60,156,225,176, 88,169,132,161, 33,249, 38, 52,148,100,241,120, 57, 85,121, 27, 43, 65, 98, 13,171, 14, +125,234,234,221,170,103, 99,210,100,189,247,119,141,228, 10,121,203,130,130, 2,138,205,225,112,236,173,141,147,222,188,215,254, +158,168, 80, 40,252,239,220,185, 51,188,111,223,190,252,216,136, 48, 80,249,249, 80,230,139,193,165, 53, 48,109,215, 6, 44,149, + 2, 80,170, 97,231,204, 64,158, 39, 64,208,179, 55,106,133, 66, 81, 99, 80,195, 82,161, 69, 86, 16, 6, 60,145, 8,124, 3, 67, +240, 69,162,138,130,161,166, 39, 57, 65,255,254,253,251,116,233,210, 5, 12,195,224,208,161, 67, 80,169, 84, 60,149, 74, 5,165, + 82, 9,149, 74,133,130,130, 2,248,249,249, 97,255,254,253,143, 1,252,166,197,233, 83,250,250,250,195, 8,130,176,100,179,217, + 82, 11, 11, 11,225,217,179,103,203,194, 77,180,109,219, 22, 6, 6, 6, 92,148, 4,133,180,180,180,228, 28, 61,122,212,120,200, +144, 33, 15, 42, 29,238,104,213,124,121, 35,202,196, 77, 79,191, 65, 67, 67,243,214,104,228,216, 27, 0,208,111,240, 52, 52,106, + 90, 31, 5, 31, 35, 26,202,101,137, 35,184,108,177, 73,244,238,180, 87,250,131, 90, 78,149,100,221,127,139,202,151,247, 87,218, + 81,144, 36, 89,229,112,172, 54, 34,171, 88,179,144, 22,165,243,124, 0, 32, 39, 39, 7, 25, 25, 25,136,137,137, 65,179,102,205, +144,155,155, 11, 59, 59, 59, 40,149, 74,116,236,216, 17, 50,153, 12, 59,118,236,192,163, 71,143, 30, 3, 88,168,197,127,232, 59, + 58, 58, 78,105,215,174, 29,174, 95,191,142, 23, 47, 94,164,221,186,117,203,206,213,213, 21, 13, 27, 54,156,154,144,144,176,186, +100,168, 79, 91, 8, 93, 93, 93,231,123,121,121, 33, 42, 42, 10,223,125,247, 93, 78, 74, 74,202,229,115,231,206,205, 88,191,126, + 61,233,225,225,129,140,140, 12,108,219,182, 77,243,232,209,163,237, 0, 54,213, 80,142,175, 83, 82, 82,236,229,114, 57,114,115, +115, 65, 81, 20,164, 82, 41,110,220,184, 1, 63, 63,191,204, 18,145,245, 78, 91,227,218,180,105,227, 66,146, 36,206,156, 57, 3, + 0,223,163, 56, 98,255,229, 17, 35, 70,164,253,240,195, 15,118,171, 86,173,194,204,153, 51,161, 82,169,240,211, 79, 63, 97,213, +170, 85,215, 74, 68, 86,117, 55,209, 95,173,173,173,103,125,247,221,119,205,151, 44, 89,130,224,224, 96,203,151, 47, 95,118, 8, + 11, 11, 67,189,122,245,144,147,147,195, 54, 51, 51,195,206,157, 59,177,120,241,226,139, 0, 62, 62,121,242,100, 92,124,124,188, + 15,128,109, 53,136,118, 95, 59, 59,187, 89, 12,195, 48, 82,169, 52,209,219,219,123,219,230,205,155,177,120,241, 98, 68, 71, 71, + 35, 63, 63, 31, 6, 6, 6,196,138, 21, 43,166,124,255,253,247,152, 62,125, 58, 35,145, 72,246,255,211, 29, 53,195,104, 32, 21, + 71, 65,163, 48, 65,219, 86,205,208,182,101, 3,220,186, 27, 2, 0,232, 51,202, 21, 82, 73, 33,142, 31, 63,132,119,239,222,130, +205,225,192,216,212, 90, 27, 79, 32,148, 5,175,145,167,202, 64, 95,247, 14, 24,232,209, 11,191,253,126, 22,148, 90,133, 25,211, + 38, 64,156,151,135,223,127, 63,130,184,248,247, 96,115, 56, 48, 51,255,251, 3,161, 86,167, 69,254,223, 11, 45, 45,134,159, 64, +211, 52,210,210,210,240,242,229, 75, 36, 36, 36, 64, 32, 16, 64, 70,105,232, 3,119, 30,209, 4,193, 77,165, 25,230, 49, 67,149, + 69, 41,254,156, 67,163, 73, 43, 23,177,214,200,196,196,132,167, 80,200, 64, 81,234,114,189, 10, 1, 16, 0,151, 13,216,216, 54, + 66, 74,114, 10, 35,151,203,239, 87,251, 4,165,144,239,252,227,242,121,175,110,221, 93,205, 7,246,217,136,203, 87,214, 66, 92, + 80, 0,185,138, 3,137, 92, 5,169, 28, 48, 54,117, 66,199, 86,173,145,158,158,131,136, 23, 65, 69,108,133, 84,155,137,162,111, +247,172,153,230, 56,109,222,114,232, 59,116,135, 34,230, 50,232,162,204, 50,143,150,158,200, 4,166,245,157,145, 39, 81,224,124, + 96, 8, 80,139, 84, 47, 89, 89, 89, 82, 22,139,117,210,203,203,235,167,144,144,151,246, 0, 16, 18, 18,146,154,145,145,177, 50, + 43, 43,171,182, 62,233,210,104,240,132,158,158,126, 72,211,166, 77,211, 59,116,232, 96, 52, 98,196, 8,152,155,155, 35, 44, 44, + 12, 62, 62, 62,175, 85, 42,213,242,160,160,160,106,135,122,148, 74,101, 90,200,149, 43,134,189,190,253,214,120,249,144, 33,219, +188,188,188,118,110,218,180,137,227,232,232, 72,168, 85, 42, 68, 70, 70, 50,167, 78,158, 84,239, 95,181,106, 7, 79, 40,100, 63, +255,227, 15, 14,165, 80,164,253,167, 27,177,157,157,157,155,107,207, 30,206,219,127,221, 13,185,172, 8,207,130,175, 65, 44,206, +198,193, 67,151,156,237,236, 24,183,180,180,180, 32,109, 5,240,177, 99,199,150,118,110,215,174, 93,227,122,245, 16,153,148, 0, + 30,173, 1,151,162,192, 82, 41, 64, 82,114,212,107,201,128, 32, 13,144,241,161, 0,155,207, 92,136,210, 70, 24, 55,255,102, 40, + 54,165,230,131, 32, 8,252,210,181, 37,120, 6, 34,112,133, 34,204,253,243,110,153, 48,240,223,180, 10, 60,145, 8, 77, 58,107, + 21, 16, 94,122,239,222,189,151,145,145,145, 29, 91,182,108,137,165, 75,151, 34, 49, 49, 17, 52, 77, 35, 51, 51, 83,158,145,145, +145,150,157,157,157,136,226,248, 63,135,107,232,196,202,171, 14,187,160,160,160,178,225,134,192,192, 64,216,218,218,194,200,200, + 8, 5, 5, 5,152, 61,123,182,241,186,117,235, 0, 0, 47, 95,190, 68,121,129, 82, 17,145, 33, 49,219,243, 10, 25, 49, 83, 20, + 58, 34,151, 10,109,213,219, 35, 5,253, 6, 79,197,109,255,223,112,247,214, 29,152,178, 19, 19, 32, 44,188,241, 49,225, 99, 65, +170,196,209,215,185,253, 12, 86,134,228,150,239,252,161,177, 44, 27, 27,250,252,170, 3, 5,121,213,217,234,232,232, 8, 43, 43, +171,178, 57, 90,108, 54, 27,211,167, 79, 7,195, 48,218,138,172,146,190,134,206,150,203,229, 86,122,122,122,248,240,225, 3,222, +191,127,143,184,184,184,178,208, 1, 52, 77,171,151, 45, 91,198,153, 63,127, 62, 14, 28, 56,128,251,247,239, 63, 6,176, 17,128, +182, 15,107, 19,198,142, 29,107,160, 84, 42,113,250,244,105, 10,192,224,243,231,207,191,236,216,177, 35,123,192,128, 1, 6,251, +246,237,155, 80, 82, 71, 90, 11, 45, 67, 67, 67,174, 74,165,194,190,125,251,144,146,146,226, 6, 32,230,249,243,231,190, 99,199, +142,221,223,178,101,203,166, 81, 81, 81,111,139,138,138,230, 2,136,168,137, 44, 51, 51,115, 90,135, 14, 29,206,211, 52,237,208, +183,111, 95,225,175,191,254,106,248,230,205, 27,216,219,219,131,166,233, 72,212, 50,133,213,219,183,111, 99, 50, 50, 50,156,123, +245,234,133, 27, 55,110,108,213,104, 52, 91, 0,252, 52,103,206, 28,187,164,164, 36,180,107,215, 14,166,166,166,120,243,230, 77, + 97, 70, 70,198,126, 20,167, 36,170,201,133, 27, 15, 96,165,175,175,111,107, 95, 95, 95, 79, 83, 83,211, 46, 97, 97, 97,120,248, +240, 33,182,111,223,142,117,235,214,161, 71,143, 30, 88,186,116,233, 71, 0,158, 0,168,248,248, 71, 86,159,181, 0, 0, 32, 0, + 73, 68, 65, 84,120,173,226,230,149,122,182, 0,160,125,251,246,233, 62, 62, 62,152, 49, 99, 6,115,244,232,209, 93, 39, 79,158, + 92, 52, 97,194,132,178, 62,112,202,148, 41,204,137, 19, 39,166,160, 56, 13,211, 63, 9,181, 74,165,132,161,105, 35, 20,229, 37, + 35, 59, 37, 24, 2, 3,107,120,244,110, 3,169, 76,137,171,127, 92, 68, 68,100, 56, 72,146,132,149,117, 61, 24,155,152, 35, 54, +246, 45, 80,253,106, 99,181, 74,165,130,129, 73, 3, 20,229,167, 64,153, 21, 2,125,145, 37,166,126, 59, 2, 82,153, 10,151, 46, + 95, 68, 84, 84, 4, 88, 44, 22,172,109,234,193,200,184,152,147, 96,170, 95,193,172, 3,128, 74,226,105,213, 40,180, 88, 44,214, +189,155, 55,111,142,238,220,185, 51,251,221,187,119,120,247,174,248,225, 70, 44, 22, 83, 4, 52, 23,178, 34,255, 24, 95,205,225, +125, 81,178, 58,163,124,238, 66,145,129, 65,218,155,215, 49, 86,226,220, 76,132,135, 62,194,187,216, 72, 36,196,197, 64,165,146, +131, 69,146, 32, 89, 36, 26, 52,106,129, 71,143,131,149,114,138, 10,174,138,179,216,142,184, 66,161,165,227,184, 31, 55,173,246, + 95,188,124,131,254,152,209, 7, 16,241,230, 21,138, 40,107, 48, 12, 96,109, 38, 68,219,198, 43,144,150,158,141, 51,191,237,147, +210, 42,213,196, 10, 49,180, 62,227, 4, 0,171,143,112,217,127,232,183,233,135,253, 78,109, 88, 62,127,182,213,176,145, 19,193, +203,125, 5,117,122, 8, 26,117, 28, 8,130,111,140,235, 1,119, 17,244,242, 85, 38,173, 97, 54, 88,229,224,104,108, 13,156,229, +145,151,151,247,228,195,135, 12,251,114, 81,224,237,249,124,189,154, 86,199, 85,228,252, 36,226, 60,139, 69,182,255,241,199, 31, +213, 86, 86, 86,170,168,168, 40, 28, 56,112,128, 14, 9, 9, 9, 32, 73,114, 79, 70, 70,134,188, 38, 78, 11,181, 58,252,148,183, +183, 75,167,145, 35,153,241,243,231, 75,193,231, 47,216,246,203, 47,222,217, 98,177, 45, 67,211,176, 48, 53, 77,221,182,106,149, +207,232,177, 99,197,209,143, 30,233, 7, 95,185,162,207,163,168, 16, 45,236,252, 26,168,146, 51, 45, 45, 45,232,254,253,135, 56, +126,248, 87,168, 84, 10,100,164, 37, 1, 0, 62,230,228,163, 6,145, 85,145,147,145, 74,165, 35,191, 95,183,238,233,247,139, 23, + 89,247,236,211, 23,201,225, 97, 80,229,102,131, 80, 83,224, 16,108, 72,178, 4,200,202, 44,194,202, 19,231,178,138,164,210,145, +149,116, 18,149,218, 89,234,177,226, 27, 26,128, 43, 20,129, 39, 50,248,196,139,165,103,104, 8,158, 80, 4, 54,143, 87,217, 4, +238,207, 56,139,138,138, 70,141, 30, 61, 58,226,249,243,231, 38, 51,102,204, 64,183,110,221, 66,101, 50,153, 59,128,194,186,150, + 39, 77,211,105, 61,123,246, 36, 9,130, 16, 77,156, 56,145,159,157,157, 93, 22, 89,189,168,168, 8, 55,110,220, 64,179,102,197, +171,250,163,163,163,209,162, 69,139, 42, 57,103,174,140, 74, 3,176,105,241,104,187,109, 79,195, 51, 22, 0,216,218,168,105, 61, +220,189,117, 7, 15,239, 6,123,119,105, 73,239,254,102, 98,199, 31, 4,238, 99,151, 59,183,159,193, 18, 25,218,224,247, 75, 23, + 89, 49, 33, 71, 54, 75,165,145, 77,112,224,242,178,170,236, 36, 8, 2, 12,195,124, 22,202,129,197, 98,225,228,201,147,181, 61, +247,115,135, 15, 31,158,243,221,119,223,113, 51, 50, 50,240,250,245,107, 72, 36, 18,232,233,233,225,214,173, 91, 20,128,125, 39, + 79,158,188,117,242,228,201, 1, 40, 94, 77, 20, 88,155,246, 41, 20, 10,189, 60, 60, 60,240,250,245,107,188,120,241,226, 34,128, +136,208,208,208,139,239,222,189, 27,215,163, 71, 15,252,246,219,111, 94, 50,153,236,112,109, 56,105,154, 46, 31, 51,169, 52,227, + 67,120, 81, 81, 81,151,224,224,224,218,214,123, 70, 78, 78, 78,247, 18, 97,157, 98,101,101,101, 24, 30, 30,142,250,245,235, 67, +165, 82,117,174,109, 91,202,207,207,255,117,207,158, 61, 71,167, 77,155,134, 31,126,248, 97,226,185,115,231, 38,126,243,205, 55, + 24, 52,104, 16,142, 29, 59,134,136,136,136,173,208, 46,173, 88,101,231, 30, 1, 32,194,202,202,106, 94,189,122,245,176,125,251, +118, 68, 70, 70,250,108,218,180,105, 85, 68, 68, 4,154, 53,107,198,143,137,137,161,234,114, 15, 1, 0, 67, 67, 67, 67,181, 90, +141, 43, 87,174, 60, 3,176,120,226,196,137,150, 59,119,238,244, 20,137, 68,200,205,205,149, 69, 69, 69, 77, 0,240,199, 63,125, +175, 99, 8, 98,205,140,153, 11,124,103,206,152,160,215,161,125, 91, 72, 11, 82, 33, 43,202,132,180,240, 3,246, 28, 14, 0, 65, +144,176,176,176,129,165,181, 61,146,146,146,241,248,218,117,165, 68, 42,219,201, 83,211, 91,171,231,156, 95,204,217,174,152, 83, + 42,201,130,172, 40,171,140,211,210,210,182,132, 51, 9,143,130,175,203,101, 18,201,175, 74,134,248,249,111, 62,247,255,207,168, + 93,174,195,242, 16,139,197, 11,103,207,158,237,190,114,229, 74, 51,138,162, 88,166,166,166, 72, 74, 74,162, 46, 92,184,144, 91, + 84, 84,180,176, 46,214,176, 57,156, 8, 71,167,102,238,195,134, 13,163,134, 14, 29,194,157, 52,109, 0,219,194,210, 18,249,121, + 57,136,125, 29,134, 55,175, 66,224,216,172, 13,214,111,218, 1, 24, 27,215,152, 72,178, 36,173,206,224,141,223, 47, 59,219,221, +173,191, 97,179, 22,109,184,109,155, 24, 65,165,166,144,154,154,138, 63,174,132,171,162, 94, 62, 44,160, 41,229, 56,233, 71,237, + 82,240, 4, 1, 20,114,112,176,165,165,234,228,150,109,123,150,238, 59,120,124,249,202, 5, 51,132, 61, 92,251, 33,242,206,111, +184,232,127, 86, 34, 87, 40,183,113, 89,248, 37, 42, 7,210,216, 90,150,129, 92, 46, 87, 85,236, 79,229,114,185,234, 75,107,250, +216,177, 99,200,204,204, 84, 38, 38, 38,222,164, 40,234, 92, 53,201,158, 63,195, 30, 64, 57, 66,161,184,243,189,171,235,128,239, +111,221,210,155,178, 98,133,114,226,164, 73,203,160, 80,168,192,227, 49,108,161,144, 4,159,207,137,126,244, 72,127,215,156, 57, +166,132, 82,121,251,120, 53, 97, 3, 42,193, 87, 95,117, 88,234,209,234,213,171, 7,166,204, 88, 12, 89, 57,143,214,147, 23,177, + 80,168,160,181, 71,171, 4,201,137, 41, 41, 93, 22,172,249,254,210, 56,143, 62,206, 45, 29, 26,240, 45, 26, 54,128,200,218, 26, + 57,217,217,120,244,226,141,122,211,217, 75, 81, 37, 34, 75,171,184, 50, 52, 77, 23, 79,114, 7,208,103,225, 74, 16, 44, 22, 80, + 18,198,161,116,229, 80,195,142,221, 64,176,217,208, 48, 52, 20, 10,133, 54,147,254, 82,223,191,127, 63,106,226,196,137,129,254, +254,254,164,135,135, 71,219,203,151, 47,211, 95,210,118,100, 50, 89, 23, 0,208,211,211, 75, 48, 54, 54,182,155, 54,109, 26,212, +106, 53,164, 82, 41,242,243,243,145,154,154,154, 55,109,218, 52, 21, 0,232,235,235,243, 70,143, 30,109, 88, 19,231,142, 11,105, +242,197,163,237,118,155,178, 19, 61, 11, 62, 70, 52, 52,101, 39, 38,116,105, 73,239,222,113, 33, 77,110,104, 43,249,241, 99, 98, + 80,108,134,228,150,239,239,151, 46,178, 38,143, 24,165,177, 23,189,245,214,179,100, 46,212,196, 75, 16,196,103,193, 73,181, 20, + 89,159,160,176,176,112,213,218,181,107, 7,137,197, 98,251, 1, 3, 6,112,157,157,157,241,244,233, 83,248,251,251, 83, 79,158, + 60, 73,145, 72, 36,171, 1,200, 1, 4,212,165, 76,157,156,156, 26,178,217,236,210,161,180,189, 37, 95,239,189,124,249,242,184, + 25, 51,102,160, 65,131, 6, 46, 49, 49, 49,124,212,226, 58, 98, 24,166,108,148,225,107,130, 32,136,184, 93,187,118,217, 89, 91, + 91, 19, 55,110,220,160, 88, 44, 86, 93, 60, 55,199,142, 28, 57,210, 89,173, 86,207,156, 53,107, 22,220,220,220, 64, 81, 20, 78, +156, 56,129, 35, 71,142,104, 43,178,170, 69,108,108,108, 72, 74, 74, 74,207,101,203,150, 97,251,246,237,171,150, 45, 91,134,148, +148, 20,196,198,198,134,125, 9,111, 65, 65,129, 44, 57, 57, 89,208,181,107,215, 14, 81, 81, 81, 81,238,238,238, 45,102,204,152, +129,173, 91,183, 50,247,239,223, 31, 13,224,198,127,162,247,126,243, 46,215,143,163, 97,223,218,244,227,175,235,154, 52,110,248, +221,244,169, 99, 89, 78,142, 45, 32,201, 79,133,153,185, 21,236,235, 53, 66,118,214, 71,220,188,121, 67,243,241, 99,222, 49, 13, + 73,108,124,247, 46, 55,253, 75, 56,237,236, 27, 33, 43, 43, 11,215,175, 95,215,228,137, 11, 14, 65, 77,110,138, 73,202,203,132, + 14,218,120,178,102,161,154, 40,241,213,193,220,196,196,228,180,161,161, 97,166,161,161, 97,166,137,137,201,105, 64,171,213, 7, +125,203,221, 29, 88,159,188, 70,143,214,131,158, 94, 23,176,217, 75,140, 77, 76,110, 24, 25, 25,229,244,234,213, 75,233,235,235, + 43,143,137,137,166,211,210, 82, 24, 35, 35,163,252,178,253, 43,227,172, 0, 19,147,198, 6, 66,155, 22,235,140,236,219, 62, 18, +217,184, 20,138,108, 92, 10,141,236,219, 60, 22,218,184,108, 48, 49,105,108,160,149,157, 85,160,145, 37, 44, 28,205,177,175,153, + 5, 33,115, 52,199,190, 70,150,176,208,250,220,171, 31,246,211, 16, 4, 52, 40, 94,134,141, 58,112,150,114,208, 44, 22,235,184, +189,189,189, 13,106, 23,176,238, 51,206, 73, 64,131, 73,124,254,204,243,222,222, 83, 18,238,223,159, 88, 16, 31, 63, 62, 63, 46, +110,108,216,217,179,227,246,142, 27, 55,105, 60,159, 63,107, 52,208, 88, 91, 78, 27, 27, 27,159,144,144, 16,127,109, 95,229,132, +151,214,229,217,184,145,221, 45,143,190,157, 25,175,217, 35, 25,175,217, 35, 25,143,190,157,153,198,141,236,110,125, 65, 29, 17, + 44, 22,203, 83, 32, 16,156, 22, 10, 4,145, 66,129, 32, 82, 32, 16,156,102,177, 88,158,168,126, 14,213, 39,156,102,102,102, 47, +173,172,172, 50,107,243, 50, 55, 55, 15,173,133,157,227, 27, 54,108,152, 66,146,228,142, 90, 94,211,213,113, 58,234,235,235,199, + 9,133,194,212,242, 47,125,125,253,242,129,161,204, 4, 2,193, 85,161, 80,184, 83, 27,206,159,215,180, 88,247, 56, 96, 94,196, +207,107, 90,172,171,248,219,252,225, 38,211,158, 6,110,204,153, 63,220,100,154, 54,118, 90, 90, 90,222,183,180,180,204,176,180, +180,204,176,178,178,170,246,101,110,110,254, 82, 11, 78, 61, 3, 3,131,157, 6, 6, 6,153, 66,161, 80, 35, 18,137, 50,133, 66, +225, 14,148, 11,109, 81,215,242, 36, 73,114,171,139,139,139,156,197, 98, 29,173,240,211,246, 38, 77,154,200,217,108,246,182, 90, +114, 26,246,232,209, 67, 19, 30, 30,206,184,185,185, 49, 0, 76,190, 98,189, 91,155,152,152,220, 48, 52, 52, 76, 54, 48, 48,216, + 3, 64, 88, 71, 78, 2,128,167,157,157, 93, 88,239,222,189,165,118,118,118,193, 0,134,125, 69, 59, 7, 13, 31, 62,156, 78, 78, + 78,102, 24,134, 97,146,147,147,153,225,195,135,211, 40, 14, 20,249, 37,247,228, 53,115,230,204, 97,158, 60,121,194, 60,121,242, +132, 9, 14, 14,102, 6, 13, 26, 68, 3,248,246, 11,239,243,248, 90,231,238,220,200,188,113,243,166, 38,231, 38,140,114,165, 3, +254,216,193,172, 95,253, 29,211,207,173, 5,211,172,137,201, 37, 71, 71, 51,199,175,193,185,110,245,108,166,111, 79, 23,218,185, +177,201, 89,231, 70,230,141,255,225,115,255, 55,122,181,240,119, 79, 56,251,203,181,248,169, 88,170, 28,182,182,182,200,201,233, +172,199,102,187,242,249,124,119,146,197,186,151,155,157,189,168,228,113, 75,243, 79,185,106,171,237,208, 27,131, 87, 77, 74,130, +186,112,126, 50,145,189,142,156,181,225,208,138,179,170,164,210,180, 66,145,110, 70, 81, 47,247,160,218, 50,248,132,211,206,206, +110, 38, 77,211, 13,181, 53,136, 36,201,132,180,180,180,195,117, 41,207,166, 77,155, 50, 37,195,219,196,215,172,247,191,163, 45, +253, 47,113,254,254,107, 43,219,102,173,154, 47,143, 12,137,217, 94, 50,172, 88,134, 13,243, 77, 12, 92,123,247, 90,251,232,238, +253, 31, 54,236, 17, 23,254,135,207,157,132,150,115,218,190, 2,103,105,144,208, 90,113,114, 56, 28,223, 78,157, 58,205,124,250, +244,233, 81,141, 70, 51,235,127,180,125, 14, 98,177, 88,203,156,156,156,218,198,198,198,134,105, 52,154,237,168, 36, 80,100, 29, +236, 92,221,176, 97,195,185, 92, 46,151, 95, 84, 84, 36, 78, 79, 79, 95, 11,224,220,127, 91,121, 58, 55, 53,237,192, 48,101, 65, +183, 55,191,126,159,251,252,171,113, 50,180,134,102, 88, 63,198,198,231,132,254, 7,234,253,223, 38,178, 14,253, 19,127,220, 87, +199,169,227,212,113,234, 56,117,156, 95,157, 83, 95, 87,158, 58,206,127, 33,231,191, 18,108, 93, 17,232,160,131, 14, 58,252,191, +131, 76, 87, 4, 58,232,240, 95,135,242, 94,173, 50,111, 22, 81,141, 42,173,141, 75,176, 46,202,246,142,142, 83,199,169,227,212, +113,234, 56,117,156, 58,206,255, 57,206,127,171,200, 58, 84,205,246,223, 6,157, 91, 85,199,169,227,212,113,234, 56,117,156, 58, + 78, 29,231,255,130,208,170,116, 91, 55,116,168,195,223,142,221, 35, 96, 7, 0, 11, 46, 35,237,239,216, 95, 7, 29,116,208, 65, + 7, 29,254,195, 56,132, 42,134, 14,255, 27,132,150, 45,128, 46, 40, 78,124,251, 6,192, 67, 0,226, 47,224, 51, 7, 48,150, 32, +136, 49, 0,192, 48,204,121, 20,175, 26,249,168,205,193,122,122,122,153,114,185,220,178,228,115,150, 92, 46, 47,159,203,128,192, +231,171,217,152,114,175, 74,209,176, 97,195, 76,133, 66, 97,169,197,223,231, 51, 12, 19, 65,146,100,164, 72, 36,186, 27, 27, 27, +235, 95,155, 19,119,119,119,159,194, 98,177, 54, 3,128, 70,163, 89,115,239,222,189,227,127, 99,189,117,174,103,107,253,155, 74, +173,162, 50,179,115,215,226,243, 64,126, 0,128,125,131,225, 67, 80, 88, 94,242,121,219, 60,255,234,227,232,212,118,255,106,208, +129,195,225,120, 89, 89, 89, 13, 76, 77, 77,125, 9, 96, 5, 80,115, 84,227,122,245,234,125,203,102,179, 39,106, 52,154,198, 44, + 22, 43,142,162,168,147, 41, 41, 41,126,186,123,136, 14, 58,232,160,131, 14, 90,136,173,207, 80, 43,161,213,204, 12,214, 12,224, + 9, 2,253,192,224, 54, 1,156,121,147,131, 15,218, 30,255, 77, 51,168,213, 84,241,127,114, 73,104,110,188, 39, 15, 13, 28, 56, +208,126,254,252,249,232,214,173, 27,158, 62,125,218,245,216,177, 99,211,206,157, 59, 23, 65,211,244, 61, 0, 79, 1,173, 66, 41, + 8, 81, 28,167,101,194,192,129, 3,251,110,222,188,153,213,162, 69, 11,200,100, 50,220,191,127,223,117,219,182,109, 59, 31, 63, +126,124, 7,192,169, 18, 65, 80,101, 2, 60,185, 92,110, 89,154,140,147, 32, 8,203,209,163, 71, 63, 47, 47,174, 74,242,171, 17, + 12,195, 60, 33, 8, 34, 88,163,209, 60,189,112,225, 66, 74, 51,160,243,236,134,220, 11,139, 18, 84,246, 21, 57, 21, 10,133,229, +149,159,183,128,205,231, 67, 81, 88,128,174, 83,255, 18,189,183,215, 45, 7, 65, 83, 96,129, 17,187,255,184, 51, 2, 64,100,122, +122,122,132,155,155, 91, 66,109,107,152,197, 98,109,190,121,243,166, 13,195, 48,240,240,240,216, 12,224,239, 18, 90,252, 46, 29, +218,220,187,122,241,180, 94, 81,110, 38, 6, 12, 27,119,242,109, 74,214, 20, 0, 23, 63, 17, 77, 3, 97, 69, 16, 88, 62,103,203, + 41, 22, 0,236, 95, 61, 97,197,142,254,216,189, 56, 0, 31, 0,184,151,136, 31, 0,248, 25,192,189,125, 3, 97, 5, 96,229,156, + 45,167, 8, 0, 56,176,122,194,242,125, 3,177,107,222,141, 90,135,173,152, 59,101,202,148,221,155, 55,111,102,217,216,216, 32, + 45, 45,109,128,139,139,139, 83, 65, 65,129, 11,170,153, 68,220,160, 65,131,179, 61,122, 15,105, 52,114,140,167,192,194,220, 4, +233, 25, 31, 13,207,158, 62, 58,155,245,228,254,192,196,196,196,113,186,123,136, 14, 58,232,160,131, 14, 85,160,238,145,225,219, +217, 64, 95,162,194,112, 54,139,248,182,123, 7,151, 62,227,191,233, 65,186, 56, 55,197,171,232,152,254,127,220,125,182,141, 12, +142, 14,164, 52,140,159,144,139, 43,161, 25,213,175,132, 81, 83, 96, 7, 92, 57, 85,220, 19, 78,155,192,122,254,252,121,211,246, +237,219,151,165,134,233,211,167, 15,250,244,233, 67,236,223,191,191, 77, 64, 64, 64,155, 35, 71,142,168, 2, 3, 3,127, 67,245, +241, 81,188,154, 52,105,178,109,247,238,221,124, 55, 55, 55,240,249,252,178, 31, 68, 34, 17,134, 12, 25,130, 33, 67,134,176,210, +211,211, 61,174, 94,189,234,241,243,207, 63, 43,147,146,146,150,225,175, 40,205,213, 98,237,218,181, 29, 42,249,250, 38, 65, 16, +239, 41,138, 10,107,211,166, 77,138, 19,208,116,246, 55,221,110,207,237,238, 40, 92,180,234, 88,165, 60,108, 30, 15,191, 79, 41, +238,171,203, 11,173,132,187, 55, 32, 50, 52,200, 17, 24, 24, 68, 0,136, 4, 16,193, 48, 76,100, 92, 92, 92, 76,115,160, 77, 23, + 19,242,183,163, 98,186,117, 45,196, 22, 82, 82, 82, 96,100,100,164,239,230,230,150, 65, 16,196,134,251,247,239,127,237, 9,121, +157, 55, 44,159,203, 21, 39, 70,224,195,235, 39, 88, 50,198, 85,176,104,207,159, 63,200,149,234,139,213, 29, 68, 16, 36,249,115, + 48,237,141,226,100,188,107,115,114,114,220, 0,192,204,204,140, 7,224,222,142,103,248,102,113,119,226, 75, 98,187,113, 89, 44, +214,190, 99,199,142,205,248,246,219,111,139, 83, 71, 60,122, 4,145, 72,132, 77,155, 54, 53, 88,186,116,169, 15, 69, 81, 11,171, +242,100,245,232, 61,164,209,174,237, 63,184, 20,230,230, 43, 14,238, 59,247,194,182,101, 51,114,142,215, 82,131, 93, 42,133,181, + 70,163,249, 86,231,217,210, 65, 7, 29,116,208,161, 54,222,172, 26,133,150,147, 57,142,183,107,233, 56,118,252, 32, 87,126,171, +150, 45,192,229,255, 21,186,165,125,135, 14,104,223,161, 3,233, 93, 84,216,239,249,139,144,126, 23, 2,158, 42,164,234,164,115, +177, 31, 49, 69, 91,171, 74,147,210,110, 30,102,213, 91,146,151,165, 7, 0, 66, 99, 75,249,234, 43, 31,238,118,239,222, 29,246, +246,246,220,192,192,192,233, 53, 8,173,213,111,222,188,225,179, 88,213,199, 67,181,181,181,197,232,209,163,209,172, 89, 51, 94, +175, 94,189, 86, 87, 37,180,244,244,244,178, 8,130,176, 4, 0, 83, 83, 83,205,134, 13, 27,194,152, 98, 0, 0,195, 48,204, 19, +146, 36,159,210, 52,253,236,207, 63,255, 76,117, 1, 44, 7,180,111,246,112,238,164,209, 2,230,194,206, 42, 69,130,188,160,160, +210,239, 5, 34, 97,182,190, 80, 24,193, 23,232, 69,162, 56,151, 87,164,189,189,125,140, 11, 96,223,169, 89,195,128,253,139, 39, + 24, 28,157,245, 67,141,101,217,174, 93, 59,167,214,173, 91,235,105, 52, 26, 72, 36, 18, 28, 56,112,192, 72, 95, 95,223,104,224, +192,129,235,203, 55, 0,103,160,213, 40, 91,214,172,141,233,154,121,117,104, 72,198, 61,186,118, 72, 28, 61,100,160, 97,135, 46, + 61,240,246,222, 9,228,230, 22, 34, 63,175, 8, 52, 77,127, 22,215,103,222, 13,100,238, 27,140,109,251, 87, 77, 88, 73,144, 36, +209,102,196, 10, 12,181,206, 95,224,235,235, 27, 13,128,195,227,241,202,183, 67, 91,125,187,150,219,154,246,239,129, 3,107, 38, +129,161,105, 6,192,182, 90,120,179, 44, 13, 12, 12,254, 8, 8, 8,232,220,177, 99, 71, 60,125,250, 20,241,241,241,152, 59,119, +174,114,222,188,121,220,201,147, 39, 19, 75,150, 44,153,255,243,207, 63, 95, 0,240,248,179, 11,129,205,158, 56,108,228, 56, 94, + 81, 94,129, 92,169, 80, 41, 77,205,141,105,133, 68, 46,253, 40, 46,144,143,155, 48, 83, 25, 29,250,108, 34,128,207,132,214, 23, +150,167, 14, 58,232,160,131, 14, 90,128, 97,152,142, 0, 44, 0,100, 19, 4,241,162,252,118,201, 46,165,217, 90, 42,110,127, 68, +241,168,148, 89, 57,186,143, 40,158,238, 99, 1, 64, 3,224, 57, 65, 16,226, 47, 52,177,250, 85,134,254,254,254, 76,249,247,114, + 66,139, 97, 24,134, 81,231,188,103, 20,177, 55, 24,233,139,195,159,189,100,209, 23,153,140,231,231,152,103,167,214, 49, 78,230, +213,103, 97,255,166, 25,212, 19, 90,131,153,211, 17,204,194, 94,198,242,231,207,159, 7,210, 52,237,239,221, 3, 12,243,234, 20, +195,188, 58,197, 44,238, 10,230,194,133, 11, 55,125,124,124,252,253,252,252,252, 1,212, 52, 79, 41,179,240, 69, 48,243,204, 18, + 76, 85,120,243,230, 13,227,235,235,203,172, 90,181,138, 57,122,244, 40,131, 26, 34,168,123,120,120,220,143,138,138, 98, 38, 79, +158, 28,134,106, 2, 3, 58, 3,194,137, 13,172, 95, 43,206,238, 84, 41,191,109,197,136,123,234, 85,122,254, 54, 54, 54,159,216, +179,213,209,154,217,219,201,145, 57,222,175,253, 7,134, 97,110, 50, 12,179,149, 97,152,113, 12,195, 52, 3,128,118,128,225, 48, + 27,179,119,242,115,187,100,202, 89, 93,106,204,123,215,174, 93, 59,167,101,203,150,229, 42,149, 74, 38, 33, 33,129, 57,120,240, + 32,115,251,246,109,230,202,149, 43,140,171,171,107,122, 57,123,173,166, 53,115,200, 84, 30,217,168,168, 75, 43,226,176, 88,123, + 95,220,190,192,188,123,120,158,121,126,198,135, 57,249,253,120,102,254,176,206, 42, 67,125,190, 28, 64,239,170,142,155,215, 29, + 77,155, 53,176,136, 77, 74, 74, 98, 84, 42, 21, 51,117,234, 84,198,195,195,131,233,223,191, 63,211,183,111, 95,166, 79,159, 62, + 76,239,222,189,153,187,119,239, 50,233,233,233, 76,223, 30,237, 37,131,157,209,161, 22,166,181,116,112,112,248,144,144,144,192, +168, 84, 42, 38, 48, 48,144, 57,113,226, 4, 19, 24, 24,200,120,123,123, 51, 0,142,207,153, 51, 71, 38, 22,139, 25, 15, 15,143, + 84, 84, 18, 53,222,193,193, 33, 38, 42, 54, 37,101,199,150,195,119,127,223,123,250,238,165, 11,183,239,254,113,235,249,181, 43, +183, 94,156,123, 22, 30,119,197,193,193, 33,166,146,250,255,162,242,212, 65, 7, 29,116,208,161,102, 45, 82, 34,180, 6,149, 56, + 59, 6, 49, 12,211,183,194,246,160, 18,225,244,217,182,183,183,247,170,242,219,165,251,120,123,123,175, 2,192,116,237,218,245, + 52,195, 48, 77,191,130,249,179, 42,121,213,236,209, 42, 5,149,250, 28, 92,199,129,224,104,212, 80,127,124, 3, 58, 47, 9, 16, + 90, 67, 70,136,144,147,145,132,215, 15, 47, 86,159, 72,162, 4,215,223,128, 3, 32, 48, 38, 38, 6,175, 95,191, 70, 74, 74, 10, + 4, 2,193,103,251, 61,122,244, 8,250,250,250,176,177,177,209, 78,233, 42, 63,237,231, 34,218, 59, 64,212,213, 13, 31,199,127, +135,192,192, 64,100,101,101,129,203,229,130,199,227,129,162,168, 26,249, 72,178, 56,227,111,169, 23,171,178,125,220, 0, 54,223, + 84,116,117,255,250,133, 13,201, 39,254, 28, 89,242, 59,164,203, 53,218,121,242, 68, 66, 8,132,130, 12,125,125, 65,217,112, 33, +128, 72,130, 32,222,182, 3, 56, 66,145,222,213,223,126, 92, 98,205, 10, 13,212,147,189,139,168,148,163,111,223,190,179, 1,172, +103, 24, 38,175,117,235,214, 86,155, 55,111, 54, 73, 75, 75,195,171, 87,175,112,238,220,185,108,170,248, 68, 9,134, 97, 54, 2, + 64, 23, 64,207,216,194,248,214,222,117, 11, 13,112,239, 44,175, 46,173,200,200,121,200,181, 81,147,231,204,219,189,112, 8, 36, +133, 50,156,186, 29,138,155, 33,239,135, 2,120,132,106,230,189,237,123,140,119, 64,118,159,145, 35, 71,134, 61,120,240,192,252, +200,145, 35,160, 40,170,210,215,145, 35, 71,112,231, 97,200, 2, 0, 47,181, 52,203,182, 97,195,134,119,158, 61,123,102, 33, 16, + 8,112,251,246,109,228,229,229,149,121,178,166, 76,153, 66,228,229,229,121, 30, 56,112, 96, 84, 98, 98,226,246,135, 15, 31,230, +160, 56, 23,228, 39, 13,129,197, 98,189,167, 40, 85,115, 27,231,166,236, 49, 67,122,244, 40,202,137,128,200,172, 53,158,132,191, +191,154, 39,206,145,177, 88,172,247,229,247,255, 26,229,169,131, 14, 58,232,160, 67,237, 64, 16,132, 63,195, 48,131, 9,130,240, +175,248, 93,197,207,165,251,249,248,248,148,109,151, 30,179,117,235,214, 45,229,182,165, 95,201,188,106, 39,195,247, 42, 81,144, +189, 42,219, 73,241,234, 18, 20,175,255, 0,215,161, 59,120,205,134,130,229,224,138,228,136,123, 8,191,177, 3,169,209,143,192, +208, 26,216, 56,117,210,214, 16,121,243,230,205, 33,151, 23, 79,205, 82, 40, 20,224, 10, 77,228, 75,102, 77,208, 3, 0,154,173, +167, 40,167, 96,181, 34, 52,232,238,142, 78,153, 12,158, 91, 21, 59, 42, 58,101, 22, 31,247,227,212,169,224,114,185,224,114,185, + 32, 74,166,254,104, 35,180,136,146,157,233,226,225,171,202,140, 32,164,124,206,169, 51,235,189, 58,241, 19, 35,121,138,168, 39, + 72, 87,208,204,213, 76,205, 53,109,236, 21, 8, 5,105,250, 2, 65,164,190, 72, 88, 38,180, 8,130,120, 15, 0, 12,135,227,119, + 98,163, 87,107, 97,102,156, 80,254, 34, 16, 25,114, 90, 85, 5,205,198, 27, 55,110, 88,178,217,108,107,141, 70,131,228,228,100, + 68, 71, 71, 99,215,174, 93,153,133,133,133,189, 66, 67, 67, 99,203,107, 71,141, 62,239,156,223,166,133,141,216, 17, 65,122,138, +247, 81,181,110, 61,230, 45,135,123, 12,237,213,230,218,236, 73,107, 48,252,155,254,152,220,203,133, 73, 72,207,149, 3,184, 93, +226,122,173, 9,105,161,161,161,253,122,246,236,121,178,109,219,182,206, 12,195,160, 85,171, 86,240,244,244,132,159,159, 31,194, +195,195, 81, 80, 80,160, 10, 8, 8,216, 9,224,152,150,102, 9, 76, 76, 76,110,222,189,123,215, 66, 32, 16, 32, 32, 32, 0, 50, +153, 12, 54, 54, 54,152, 55,111, 30,111,235,214,173,191, 23, 20, 20,140,241,241,241,209, 75, 72, 72,216,123,235,214,173, 6, 40, +206, 59,247, 89, 35, 80, 42,149,135, 78,249, 29,223, 61,207,107,190,221,221,167,175, 2, 21, 69,133, 70, 14, 14, 41, 5, 22, 38, + 34,131,157, 63,109,172,175, 84, 42,103, 87, 94,158,247,235, 84,158, 58,232,160,131, 14, 58,124,134,106,181, 72,121,241, 84, 81, +108,213, 70,164, 1,144,121,123,123,175, 38, 8,194,223,219,219,123,181,143,143,143, 12, 64,250,223, 33,178,202,132,214,224,193, +131,131,252,253,253, 49,120,240,224,160, 42, 41,104, 13, 84, 9, 15,160, 74,120, 0,253,174, 11,240,167,207,248, 10, 39, 79,215, +217,186, 33,155,110,223, 85, 40, 20,236,227,199,143,151,205,219, 2, 0,141, 70,243,213,107,177, 54, 66,171, 68,232,125,102, 68, + 67,190, 40,232,208,226, 49, 93,204, 52, 82,142,242,209, 85,164, 41,104,106,251, 59,149,244, 69, 30,243,115, 85,156, 87, 22,205, + 70,202,195, 59, 16,136, 68, 41, 51, 30, 68,150,121,177, 74, 68, 86, 60, 0, 52,224, 27, 4,250, 46, 28,238,106,205, 5, 87,121, +237, 60,210, 21,180,194, 55, 81,125,172,138,198, 6,134, 97, 16, 31, 31, 15,169, 84,138,224,224, 96, 92,188,120, 49,187, 18,145, +133,134,124,209,253,163, 43, 38,118, 54, 44,252,192, 85,190,184,131,116, 5,173,213, 80,151,121,171,225,221,185, 36, 17, 64,144, + 44,253, 62, 93,156,176,104,230, 8,236, 56,250, 39,165,180,236, 49,120,247, 31,215,199, 22, 41, 84,171,181, 20, 89,101,206,198, +208,208, 80,151,208,208, 80, 62, 0,119, 79, 79,207,235,163, 70,141, 66, 80, 80, 16,174, 94,189,234, 8, 32,163,100,191, 77, 40, + 78,148,253, 51,128,184,170, 28,143, 92, 46,247,204,157, 59,119, 90,216,218,218,226,206,157, 59,144,201,100,152, 51,103,142,210, +203,203,139, 59,101,202, 20, 34, 63, 63,191,204,147, 21, 28, 28,156, 83,149,200, 2,128,180,180,180, 27, 23,207,157,232,214,179, +103,207, 17,141, 28,155, 25,198, 21, 22,100, 9, 4,122,250, 15,131,238,113, 95, 60,123,188, 55, 45, 45,237,121,229,229, 25,168, +117,121,234,160,131, 14, 58,232, 80, 53,180,210, 34, 21, 60, 83,181, 65,185,227, 56, 62, 62, 62,209, 62, 62, 62,159,120,188,190, + 16, 21, 87, 29, 94, 43,237,211,234, 20, 71, 75,147,159,252,249, 9,208,116,109, 78,246,179,239, 76, 76, 76, 40,125,125,253, 79, +132, 22,173, 37,103,238,229,211,136,155, 59,161,204,147, 85,234,217,194,128, 41, 95, 36,180,104,154, 14, 6,240,137, 17, 2, 75, +167,241, 59,135, 56,119,119,105,100, 71,170,207,237, 66,170,148,146,175,127,163,146,191, 46,100,134,198, 84, 50,201,186,140,147, + 82, 67, 79,168,159,164, 47, 18, 86, 20, 89,137, 0, 32,180,114, 28,181,125, 96,179, 94,109,154, 53, 33,169,179,191, 34, 77,170, + 46,242,142, 81,169,226, 36,204,165, 42,202,112,125,255,254,253,215,155,153,153,233,237,222,189,219,200,193,193, 1, 20, 69, 41, + 43,138, 44,129,165,211,248, 93,195, 91,118,119,178, 54, 33,213, 23,246, 32, 69,166,145,238,138, 83,255,174,141,200, 50, 55, 18, +221,242,221, 50, 87, 95,192,231, 64, 46,151, 99,235,254, 11, 8,120, 28, 53,248, 99,212,149, 91, 0,110,125, 65,131,156, 49,120, +240,224, 29,155, 54,109,130, 90,173,198,244,233,211,241,254,253,251,128, 55,111,222,236,170, 95,191,254,178, 21, 43, 86,216, 90, + 91, 91, 99,236,216,177, 92,181, 90, 61,165, 10,142,159, 78,157, 58, 53,184, 77,155, 54, 8, 10, 10, 66, 94, 94, 30,108,108,108, +224,229,229,197,243,241,241,249,189,160,160, 96,204,150, 45, 91,244,226,227,227,171,245,100,125,210,174, 53,154, 31, 15,238,152, +187,172, 99, 23, 87,242,221,187, 88, 42,185,147, 27,121,239,206,213, 7,102,102,102,191, 39, 39, 39,255, 85,158, 35, 90,213,186, + 60,117,208, 65, 7, 29,116,248, 58, 32, 8,226, 90,201,188,171, 79,188, 92, 21, 69, 88,169,199,170,252,118,197,253, 75,126,255, + 26, 15,203,135, 42, 17, 94,159,134,119, 24, 60,120,176,214,203,234,105, 73,182, 86,226,169, 34,190,105, 6,181,157, 8,236,213, +110, 36,184, 66, 19,249,144, 77,183,239, 86,181,175, 80, 40,212,218,163, 69, 43,228, 53, 85, 74,173,132, 86,201, 28,173,155, 12, +195,124, 34,180,140,172,156,220, 86,174, 88,184,211,117,212, 0, 50,115,102, 87,228, 21, 41, 20, 43, 94, 81,116,170,180,122,145, + 85,220,139,171, 19, 4, 66, 81,164,158, 80, 80, 94,100, 37, 3,128,158,101,147, 78,203, 23,205,219,223,123,252, 16, 34,123,142, + 43,196,121, 50,197,178,104,138, 72,147, 49, 99, 98,128,123,149,209,221,189,123,247, 32,128,131,110,110,110,153, 66,161, 16, 69, + 69, 69,159,213, 65,169,189,221, 71, 13, 32, 51,103,116, 70,174, 68,165, 88, 17, 77, 33, 93, 70,159,169, 73,100, 89, 24, 27,220, +242,221, 60, 87,144,158,154, 8, 46,151, 11,145, 72,132,219,143, 34,241, 49,250,143, 47, 17, 88, 32, 73,114,131,183,183,247,250, +121,243,230, 33, 39, 39, 7, 87,175, 94,197, 55,223,124,131,211,167, 79, 59, 92,191,126,125,135,187,187, 59, 88, 44, 22,252,253, +253,161, 86,171,223, 86, 65, 51, 98,214,172, 89,203, 70,141, 26,133,231,207,159, 35, 35, 35,227, 19, 79, 86, 94, 94,158,231,254, +253,251, 71, 37, 36, 36,212,232,201,170,128, 78, 13,155,180,227,174, 90,251, 11, 20,210, 44,118,118,218,211,160,192,219,228,147, +220,220, 92, 1,128,252,186,150,167, 14, 58,232,160,131, 14, 90,123,181,170,210, 34,217, 37, 34, 42,187,178,237,114, 2,171,178, +109,162,130, 23, 76, 89,225,247,240,191,243,156,180,242,104,177,173, 90,130,202,140, 42, 39,180,178, 62,249, 93,207,192, 84,171, +161, 67, 53, 5,182,239,177,178, 56, 90,122, 57, 57, 57,122,230,230,230,242,242, 2, 65, 32, 16,192,214,214, 22, 98,177, 24,135, + 14, 29, 2,106,158, 20, 77, 25,142,154,132, 78,227,167,227,133, 61, 15,140, 90, 85,230,217,242,157, 58,245, 19,177,197,229,114, + 75,231,134,213,212,233, 62, 43,241, 52, 61, 1,192,180,115,108,244,131,158, 80, 56, 85,207,188,158,249,162,185, 51, 56, 9, 89, + 10,220,117, 93,149,119,225,167,149,162, 20, 70, 52, 47, 25,249,143,107,224,139, 27,118,224, 68, 69, 79, 86,106, 91,199, 70,107, +244, 4,122, 51,121,166, 13,172,189,151,204,229, 36,100, 42,136,187,157, 86, 20, 92,252,121,133, 32, 30, 6,203, 82,145,119, 79, +139,234, 89,255,205, 55,223,172,103, 24,134,161,105,122, 45, 0,148,183,119,137,215, 76, 78,220, 7, 57, 2, 93,215,136, 47,254, +180,210, 32, 5,213,219,107,222,106,120,119, 43, 19,195, 91,190, 91,230, 9, 50,210,146,192,231,243, 97, 96, 96,128,148,204,124, +112,216, 44,217, 23,182, 55,126,143, 30, 61, 86,206,157, 59, 23,145,145,145,152, 51,103, 78, 70,114,114,242,165,179,103,207,206, + 89,183,110, 29,219,195,195, 3, 25, 25, 25,216,182,109,155,250,209,163, 71, 91, 0,108,171,180, 61,178,217, 51,126,248,225, 7, + 38, 61, 61,157,136,143,143,135,141,141, 13,230,207,159,207,219,178,101, 75,217,156,172,218,120,178, 74,145,150,150, 22, 20,112, +231, 9,134,222,216, 9, 74,173, 8,202,203, 73,126,240, 58, 78, 28,100,202,227, 45,181,107,215,170, 78,229,169,131, 14, 58,232, +160,195, 87,241, 98,189,168,110,251,191, 0,149, 13, 29,106, 37,180,222,238, 89, 51,205,113,218,188,229,208,119,232, 14, 69,204, +101,208, 69,153,101, 30, 45, 61,145, 9, 76,235, 59, 35, 79,162,192,249,192, 16, 0,120, 91, 27,171, 10, 11, 11,209,190,125,123, +236,155,226,212, 91, 94,152,163,167, 15, 64,193, 55,148, 95,225,245,184,123,253,250,117, 41, 77,211,103, 0, 92,175,129,102, 67, +139, 22, 45,246,254,242,203, 47, 60,231,241,211, 80,244,244, 97, 69, 15, 10,244,245,245,193,231,243, 17, 17, 17,129,187,119,239, + 42, 1,108,168,161, 66,159, 81, 20, 21,126,246,236,217,212,166,141,236, 6,180,111,219,122,193,234, 85,222, 6,175, 30, 6, 96, +237,150,189,116,211, 14, 30,249, 91, 79, 95, 41,204, 23,213,239, 35,203,120, 19,166,197,169,134, 87, 16, 89,233,205, 27,214,235, +221,182,101,139,229,107,215,174, 49,140,126,120, 27,235,126,246,101, 28,219,244,205,255,249,226, 31, 5, 31, 5, 13,250,203,179, + 94, 63,215,166, 12,131,130,130, 14, 2, 56, 88,186, 93,209, 94,239, 77,187,104,167,142, 3,196, 91, 79, 95,148, 20, 24,212,239, + 91,157,189, 22,206, 35,186,217, 91,152,220,218,243,227,119,130, 15,105,201,224,243,249, 16,137, 68, 72,206,200,195,250,157,231, + 36, 42,154, 30,240,165, 66,203,192,192,128,175, 82,169,176,111,223, 62, 36, 39, 39,119, 5,144,252,242,229, 75,223,113,227,198, +237,110,213,170, 85,243,232,232,232,183, 69, 69, 69,243, 0,188,174,138,196,216,216,184,171,133,133, 5,241,228,201, 19,124,247, +221,119,202,249,243,231,115, 39, 79,158, 76,136,197,226,186,122,178, 0, 0,118,118,118,110,253,250,116, 65,247,126,115,130,148, +242,188, 7, 9,175,127, 15, 34,153,199,122,117, 45, 79, 29,116,208, 65, 7, 29,254,103, 80,183,192,224,110, 0,219,201, 12,179, + 91,216,113, 63,248,253, 52,159, 41,140, 11,102,100,207, 15, 50, 5,151,103, 50,215,182, 77,102,174,239, 89,196,204, 25,212,130, +105,110, 73,124,112, 50,195,108,183,207,133,219, 39,217,189,191,105, 6,117,191, 38, 96,250, 53, 1, 51,200, 9,106, 0,171,219, +181,107,119,197,171,211, 95,113,180,188, 58,129, 1,240, 29, 0, 81, 21,102, 85,150, 49,220, 6,192,161,246,237,219, 83,247,238, +221, 99,222,140,233,203,132, 54, 55,103,230,205,155,199,172, 91,183,142,153, 48, 97, 2, 99, 97, 97, 65,149, 20,132, 77, 77,156, + 67,135, 14,181, 7,128,122,245,234, 25,119,112,110,250, 33, 34,240, 42,243,192,111, 55,115,212,107, 36,211,185,149,243, 71,235, +230, 61,195,245,109,154,181,173,161,248,202, 56,173,173,173, 87, 49, 12, 51,128, 97, 24, 27, 0,112,116, 52, 19,181,107,222, 52, + 61,252,206, 85,230,225,137,189,204, 81,175,145, 76,151,214, 46, 57,246,206,238,175,245, 44,155,119,210,134,179, 50, 84,106,111, +203,230, 31,173,154,118, 11,171,198,222, 50,206, 70,157,198,254,145,154,158,201, 60,123,246,140,185,126,253, 58,243,240,225, 67, +198,239,236, 31, 76,253,142, 99,138,204, 91, 13,239, 94,139,166, 83,149,157, 70,131, 6, 13, 98,222,190,125,203, 12, 28, 56,144, + 1, 96, 84, 71,206, 43, 9, 9, 9, 76, 84, 84, 20,179,122,245,106, 6,192,241,185,115,231,202,242,243,243,153,190,125,251, 38, +151, 8, 44,118, 93,236,108,220,208,110,235,136, 33, 61, 54,120,125, 55,202,237, 75,203,243, 43, 66,199,169,227,212,113,234, 56, +255, 23, 56,255, 63,195,166,196,171, 85,250,222, 78, 43,143, 86, 16, 64, 33, 7, 7, 91, 90,170, 78,110,217,182,103,233,190,131, +199,151,175, 92, 48, 67,216,195,181, 31, 34,239,252,134,139,254,103, 37,114,133,114, 27,151,133, 95,162,114, 32,141,173,193,138, +146, 56, 90,159, 32, 52, 52, 84, 96,218,228,175, 24, 76,239,138, 99,179,250,214,242, 4, 51, 0,204, 10, 9, 9,249,197,221,221, +125,243,204,238,157, 70,122,117,235, 13,181, 90, 13, 63, 63, 63, 36, 37, 37, 93, 2,176, 70, 91,143, 91,100,100,228, 71,151, 38, + 14, 11, 57, 44,147, 13,103, 68, 0, 0, 32, 0, 73, 68, 65, 84,246,242,121, 19, 70, 88,100,191,127,133,212,152, 80, 0,128, 66, + 33, 83,127,120,251,160, 77,109,140,211,215,215,127,102, 97, 97,241,198,194,194, 66,236,212,168,222, 44, 62, 56,107,231,120, 14, +179,204, 73,120,141,148,232,226,145, 81,133, 92,170, 74,125,123,175,121, 93,106,215,193,193,129, 47,228, 96,118,165,246, 42,229, +234,204,119,175,219,106,195, 35, 85, 40,183,108,220,225,215,255,199,229, 83,249,134,134,134, 8,137,122,135,181,191,158,150,200, +148,234, 1, 31, 35,175,124,149,225, 49,134, 97,160, 86,171,181, 94,232, 80, 5, 86,182,105,211,166,217,230,205,155, 29,167, 76, +153,130, 47,245,100,149, 71, 92, 66,154,183, 93,189,198, 46,239,222,132,184,155,234,115, 79,126, 73,121,234,160,131, 14, 58,232, +240, 63,131, 65, 37,206,156, 89,229,222, 67,107, 20, 90,165,136,202,130, 20,192,166, 70,172, 34,223, 85,155,119,172, 39,137,157, + 83,105,134,249,141, 34,177, 49, 62, 7,217, 95,104,156,148,195, 6,213,127,248, 4, 54, 0,112,216,117,235, 32, 75,240, 22,192, +168,195,143,159,119, 60,252,248,249,247, 37,223,253, 8,160, 86, 99,185, 6,108, 68,185,186, 52,182,235,209,174,133, 30, 75, 35, + 67,106,204,123,228, 74,228,184, 29,157,148, 71, 50,228,111,181, 53, 42, 62, 62,254, 62, 0, 88, 25, 9, 98,122,184, 52,169,223, +179,125, 11, 1,135, 80, 34,245, 85, 8,242,101, 74, 4, 68, 39,229,131, 32,234, 60,161,250,107,217,155, 25,249,199,139, 63, 65, +244, 37, 8,226,206,106,175,241,252,245,191,158,249,170, 34, 11,128, 52, 45, 45, 45, 71, 42,149,154,165,167,167, 43, 81,247, 32, +113,239, 10, 10, 10, 90, 45, 90,180,104,211,178,101,203,150,255,244,211, 79,220,186,204,201,170, 10,226,180,164,203, 61, 91,124, +189,250,215, 65, 7, 29,116,208,225,127, 2,179, 42,188, 67,107,161, 85, 38, 24,178,144, 13, 96, 94,227,198,204,146,184, 56, 40, +191,150,101,149,121,186,190, 16, 47, 0, 12,169,243,209, 36, 81,248,244,109, 82,209,179,183, 73, 69,160, 25,134,102, 24, 5, 73, + 34, 69,162, 82,109,121, 27,159, 86,247, 85,119, 4,161,121,241, 46, 89,246,242,125,138,156,161,105,134,102, 24, 37, 65,224,131, + 90, 77,111,137,142, 79,250,227,191,193,222,143,145, 87, 30,251, 83, 68,143,199,207,162,150, 72, 36,170,189, 31, 99,174, 4,127, +197,122, 81, 71, 70, 70, 78,236,218,181,235, 52,141, 70,227, 11, 64,253, 5, 92, 74,138,162, 86,110,221,186,245, 82,100,100,228, +185,224,224,224,140,175, 33,178,254,214,250,215, 65, 7, 29,116,208,225,223,138,186, 37,149,174, 10, 95, 83,100,253, 55, 34,234, + 93, 98,251,191,131, 55,250, 93, 98,203,255, 15,246,102,198, 92,126,153, 9,120,254, 77,197, 27,160,209,104, 2,190,166,168,190, +121,243,102, 67, 84,146, 86,231,191,173,254,117,208, 65, 7, 29,116,248,215, 98, 86, 85,226,139,173, 43, 27, 29,254, 5, 96,190, +150,200,210, 65, 7, 29,116,208, 65,135, 58,160, 74,143, 22,129,170, 87, 14,220,169,197, 31,212,101,245,193, 29, 29,167,142, 83, +199,169,227,212,113,234, 56,117,156,255,115,156,255, 70,216,160,120, 66,252,181,146,247,106,197,215,215,132,110,233,171,142, 83, +199,169,227,212,113,234, 56,117,156, 58,206,127, 59, 42,157, 8, 15, 20, 79, 30,214, 65, 7, 29,116,208, 65,135,255, 79,224,151, +188,234,250,187, 14, 58,252,221, 98,171, 76,112,213,101,142, 86,211,146,247,119,127,163,177, 94, 54, 54, 54,179, 90,183,110,237, +204,229,114,201,194,194,194,141,247,238,221,219, 80,113,167, 30, 46,236,151, 44, 18,246,127,125, 67, 0, 4, 11, 32, 73,104, 24, +164, 62,140,144,117,208,213,251,127, 53, 28,244, 13, 45,254, 36, 72, 22, 79, 67,169,160, 81,171, 80, 60,221,170, 24, 52, 77, 37, +105, 84, 10,143,170, 14,182,110, 51,162, 62,165,161,127, 2,152,125, 0, 57, 23,160,247, 19, 96,207, 97, 64, 29, 32,192,250, 14, + 44,230,103,104,136, 21,108, 14,107, 85, 70,232,133,148,127, 67,129,157, 63,127,158,245, 37,199,143, 25, 51,166,210, 4,162,182, +182,182,254, 2,129,160, 73, 85,199, 73, 36,146,140,140,140, 12,247,127,121,123,236, 9, 96, 15,128, 22, 21,190,127, 13, 96, 33, +128,192, 47,253, 3, 55,128,109, 5,204,230, 2, 43, 0, 64, 5,252,156, 9, 28, 12,250, 47,154, 99,104, 97, 97,241,128,205,102, + 59, 74, 36, 18, 73, 97, 97, 97, 99, 3, 3,131, 56,161, 80, 40,164, 40,234,109,118,118,118,207,234,142,101,138, 23,165,212,136, +150,128, 65, 44, 48, 78, 67,146,243, 57,192, 62, 5, 77,251,150,220,193,181, 73,112, 59, 23,127,165,231, 90, 14, 96,127, 45,127, +215, 65,135,191, 3, 95,180,234,208,169,248,254, 0, 55, 0, 61, 59,118,236,104, 37,145, 72,240,250,245,235, 76, 0, 15, 0, 4, +149,188, 98,191,134,165, 36, 73,110,223,177, 99,199,210,249,243,231,151, 37,131,142,136,136, 64,155, 54,159,199, 8,101,145,176, +191,119,245,142,229,139,200, 88,116,236, 59,186, 68,104,145,128, 36, 3,238,253, 58,213,213, 4, 3, 19, 19,147,141, 4, 65,140, + 33, 73,178,198,155, 6, 77,211, 26,134, 97,206,139,197,226,245, 0, 10,107,243, 71, 66, 1, 95, 77,105, 52,149,254, 7,155,197, +210, 72,164,138, 42,195, 94,152,154,154, 6,147, 36,217,168,124,194,108,224,211, 4,218, 85,253, 70, 81, 84,234,199,143, 31,181, + 17,161,122, 36,155,187,144, 32,184,253, 64,210, 78, 0, 1, 2,100, 44,173, 81,222,166, 41,213, 46, 0,242, 47, 17, 89, 54,245, + 26, 63, 92,188,102,171,125, 84,204,107,172,246,154,128,159,246, 28,199,170,133,211,176,235,208,105, 44,156, 53, 30, 46, 46, 45, +170,189,235,210,224,110, 89,179, 96, 76, 95,159,125,231, 92, 87,205, 27,195,247,217,119,190,199,106,175,113,188, 45,123,207,245, + 88,237, 53,150,239,179,247,156,235,170, 5, 99,244,183,236,191, 64, 3,152, 84, 23, 35,199, 59,218, 74, 8,138,170,244,201,152, + 97,179, 21,167,223,166, 11,255, 19, 87,244,148, 41, 83, 90,203,100,178,144, 9,253,218,109,109,235,100,151, 86,217, 62, 57, 31, +210,236,226,222,132,122,115,184,250,237,135,121, 31,143,168,214, 61,192,231, 55,122,253,250,181, 35, 77,211,208,104, 52,160, 40, +170,236, 93,169, 84,162,103,207,158, 95,107,225,204, 16, 0, 27,139, 47, 86,248, 0, 56,247, 5, 92, 34, 54,155,189,152,199,227, +185, 81, 20,229, 12, 0, 28, 14, 39, 70,161, 80, 4, 81, 20,181, 3, 64, 81, 45,249,118,166,165,165,185,136, 68, 34,168, 84,170, +178, 4,244, 44, 22,171,121,253,250,245,247,201,229,114,199, 47, 61,121, 43, 96,118, 55, 87,215, 93,147,151, 46,101,201, 30, 60, +192,174, 99,199,118,162,160, 0, 0,246,213,116, 44,143,199,187, 69,146,164, 67,109,254,143,166,233, 36,165, 82,233, 81,155, 99, +216,108,182, 99,122,122,186,165,173,173, 45, 10, 11, 11, 33, 20, 10,133,165,219, 95,130, 32,128, 24, 0,244,164, 88,172, 69,102, +230,230, 61, 66, 2, 2,132, 45, 91,182, 36, 89, 44,214, 42,104, 31,164,154, 15, 96, 27,195, 48,250, 37,253,197,174, 46, 93,186, +116, 37, 8,130, 2,192,208, 52, 77, 62,123,246,108, 60, 77,211,236,146,123,222, 54, 0,199, 0, 40,116, 58, 64,135,127,192,155, +117,168,182, 66,235, 58, 0,183,142, 29, 59,234,123,122,122,194,205,205, 13,142,142,142,208,211,211, 43,190,137,231,228, 88,133, +133,133,141,125,240,224,193,216,171, 87,175,226,213,171, 87, 50, 0,143, 0, 84,122, 81,247, 25,236, 58, 95, 79,196,223, 13, 0, +217,169, 57, 25,169,241, 89,187, 51, 50, 50,182, 1, 40, 31, 34,188,241,164, 73,147,150, 44, 88,176, 0,254,254,254, 56,125,250, + 52, 20, 10, 5, 10, 11,171,209, 47,210, 44,136,239,110, 5,132, 9, 64,114, 16, 32,176, 4,132, 86,117, 46, 41, 19, 19,147,141, + 11, 23, 46, 92,228,226,226, 82, 22,197, 92,173, 86,131,162, 40,168,213,106,136,197, 98, 44, 89,178,164,184,163,101, 24,208, 52, +141, 27, 55,110,204,159, 53,107, 22,196, 98,241,226,202, 56,187,180,175,247,146, 36, 72,251, 82, 95, 13,163,209,164, 62, 13, 75, +237, 64,105, 52, 44,185, 92, 85,105,166,114, 61, 61,110,181, 34,143,195,225,216,191,250,243, 79, 75,146,199, 3,163,209, 0, 52, + 13,134,166, 75,138,179,228,197, 20,127,199,104,104, 48,106, 13,104,138, 6, 37, 83,160,211,220,185,218, 20, 69, 55, 14, 79,255, +244,196,153, 75,173, 59,119,233,194,105, 80,207, 22,148,134,198,251,132, 84,235,144,151, 79,187,159,255,125,223, 28,165,172,112, + 60,128, 58,197,217,226, 9, 12, 3,246, 30, 56,108,255, 34, 44, 10,129,247, 30,224,206,221, 32, 0,192,173,123,193,165,130,187, +198,170, 2, 85,212,106,225,244,225,252,173,123,207,112, 22, 78, 31,193,250,105,239, 89,206,130,105,195, 88, 91,119,159,230, 46, +152, 54,140,181,117,207,105,238,130,233,195, 89, 62,187,142,182, 6, 96, 2, 64, 92, 21, 89, 85,117, 68, 80, 20,255,100, 92, 38, + 11, 0,178,125,125,161,206,202,130,237,250,245, 0,128,137,141,173,180, 30,154, 48, 55, 55,127,201,225,112,236,107,218, 79,173, + 86,215, 40,130,167, 76,153,210, 70, 38,147,189,164, 40,138, 97,179,217,222, 19, 70,244,191, 50,160, 71,155,156,242,251, 68, 68, +132,155,109,217,242,231,240,115, 33,133,204,216,246, 6, 33,254,219,167,116, 24,188,236,120,120, 53, 29, 50,169, 80, 40,240,246, +237, 91,148, 79,242, 94, 14,154, 58, 94, 82, 36,128, 93,102,102,102,157,115,114,114, 38, 2, 88, 93, 80, 80,208,154,197, 98,193, +212,212,116,181, 82,169,124,111,100,100,116, 36, 63, 63, 63,184,196,107,164,109,202,128,158,134,134,134,126,151, 47, 95, 54,105, +215,174, 29,249,241,227, 71, 52,108,216, 16,185,185,185,157, 30, 60,120,208,126,250,244,233,211, 11, 11, 11,191, 45,121, 24,212, + 22,205, 4, 2, 1, 51,121,242,100, 66,163,249,235,116,143, 30, 61, 10,143,150, 84, 19, 11, 99,129, 84,174,100,242, 3,223, 26, +125,199,229,114, 31, 37, 37, 37,229,215,182, 48,184,192,138,201, 75,151,178, 68,137,137, 16,133,135, 99, 98, 65, 1,251,167, 98, +239, 86,141, 66,139, 36, 73, 7,191,211,191, 57,242,120, 60, 80, 20, 85, 38, 6, 75,239, 81,106,181, 26, 42,149, 10,106,181, 26, + 26,141, 6,106,149, 26, 62, 63,254, 92,231,123,161, 64, 32, 16,216,216,216,100, 10, 4, 2,193, 23,138,203,250,185, 36, 57,179, +109,251,246,179,214, 15, 31,174,247,252,249,115, 61,146, 36, 65, 81, 20,182,109,219, 70, 49, 12, 99,236, 2, 24,190, 2, 10,106, +203,205,231,243,217,191,255,254,251,120, 30,143, 7, 0, 80, 42,149,104,217,178, 37,161,235,243,117,248, 15,138,173,207,188, 92, +213, 9,173,129, 5, 5, 5,208,104, 52, 48, 48, 48, 0,139,245,105,191,111,102,102,134,126,253,250,161,103,207,158,240,244,244, +196,171, 87,175,244, 61, 61, 61,251, 85, 69, 54, 97,233, 96,212,115,180, 42,233, 76,104,155,199,215,194,182, 30,253,225,130,197, +135, 15, 31,150,150,219,109,250,236,217,179,137,156,156, 28,140, 25, 51,230,129, 66,161, 24,138,106, 46, 62, 13,141, 84,119,207, +137,160, 25, 66,127,199,179,195,132, 82, 46, 99, 72,146,148,149, 14, 29,214,165,148, 8,130, 24, 99,107,107,139, 51,103,206, 64, +169,252, 60, 92,152,161,161, 33,162,163,163,255,242,170,177, 88,232,210,165, 11,139, 32,136, 49, 0, 22, 87,206, 73,218, 63,126, +145,104, 89,186, 61,184, 95, 11,110,151,246,100,102,122,166,132, 1, 64,172, 89,179,166, 76,184, 1,192,198,141, 27,181,177, 19, + 36,135,131,236,160,160,191,110,196,108, 18, 36,151, 0,193, 1, 72,118,241, 40, 42, 24,128,209, 0, 52, 5,208,106, 64,207,166, +158, 54,197,208,201,174,190,163,255,150, 95,247, 27, 43,212, 12,206,252, 17,136,132,132,120,176, 72, 18,141,155, 56,162,127,175, + 30,156,246, 29,187,214,251,121,195,210,171,233,201,239, 6, 2,120, 94,235,130,166, 25,189, 38,245,205,113,228,104, 8, 44, 76, + 68, 24, 51,252, 27,232,235,241,241,211,158,223,240,227, 42, 47, 56, 54,118,192,193,157,155,171, 60,220,200,200,104,147,179, 99, + 19,135,253,191, 95,131,115,243,230,172,253,126,215,224,236, 82,242,222,194,153,181,223,239, 26, 92, 90,184,176,246,251, 93, 67, +235, 22,205, 26,188,204,120,182, 41, 55, 55,215,171,234,242,172, 80, 71,253,139,235,136, 83, 68,151,221,180, 19,231,204, 1,128, + 50,161, 85, 27,112, 56, 28,251,244,244,116,203,154,246,171,201,107, 80,226,201,122, 73, 81, 20,178,178,178,136,188,188, 60,198, +216,216,120,248,205,131,171, 47,123,184,182,201, 5,128,240,240,112, 83, 31,159, 45,195,207,190, 44,128,236,233, 94,226,228,159, + 65,244,196,161,110, 47,255,216, 58,165, 61, 74, 82, 66, 84,132, 66,161, 72,104,219,182, 45, 83,242,217,142,207,231,115, 43,180, + 55,219,166, 77,155,126,230,181,214, 98, 72,113,215,147, 39, 79,188, 92, 92, 92,208,188,121,243,224,206,157, 59, 27, 10,133, 66, +220,188,121, 19,206,206,206, 45, 12, 13, 13,159,157, 63,127,158,179,114,229,202, 54,199,142, 29, 3,128,249, 90, 20,103, 95,119, +119,247, 51,254,254,254,122, 92, 46, 23, 50,153, 12,209,209,209, 48, 50, 50, 2,143,199,195,176, 97,195, 88,221,187,119, 55,235, +213,171,215,197,216,216,216,241,168,197, 10, 40,185, 92,206,172, 94,189, 26, 2,129, 0, 2,129, 0, 66,161, 16, 66,161, 16, 34, + 61, 16,190, 11,235,235, 47, 56,148,167,191,120,189,239, 86,191,253, 27,238,213,171, 71,175, 75, 73, 73,201,171,109, 91,144, 61, +120, 0, 81,120, 56, 80,238,218,213, 22, 70, 66, 83,120,123,123,215,228,145, 2,151,203, 69,183,110,221,106,228, 51, 53, 53,189, +196,102,179, 63,121, 50,165, 40, 74,207,219,219, 91, 19, 27, 27, 43, 36, 73, 82, 72,211, 52,188,189,189, 53, 20, 69,233, 89, 90, + 90, 6,211, 52,157,249,241,227,199,255, 99,239,186,195,162,184,214,247, 59,179,125,233,189,169,160,162, 40, 8,130, 13,197,134, + 93, 19, 49,177,198,216,141, 38,222, 36,150, 88, 18,177, 69, 99,131,196, 26, 19,141,154,196,104,188, 54,236, 98,239, 38,118, 5, +145,162,160, 72, 19, 22, 88,250,194,182,217,157,153,223, 31,176, 43, 32, 91,208,220,223, 45,217,247,121,246,217,157,157,217,119, +207,153,114,206,123,190,239, 59,223, 25,105,140,183, 15, 32,186, 5,140, 32,120,188,185,158, 94, 94, 45,194,125,125,173, 46, 93, +186,196, 1, 0, 31, 31, 31, 86, 34,145,148,157, 56,113, 66,198, 5,126,242, 97,217, 61,141, 16, 89, 42, 0, 95,146, 36,249,189, + 80, 40,228, 54,111,222, 60,107,217,178,101,183,107, 44,164, 96, 89,150,108,222,188,121,168, 88, 44,246, 81,169, 84, 90, 84,187, + 14, 45,214,172,255, 1,176, 44,219,169, 90,183,235,161, 6, 32,208, 25,240,171,123, 59,184,212,251, 30, 0,138,106, 6,138,238, + 6,182,139, 1, 36, 3,104, 11,192,173,102,223,125,130, 32, 74,222,160,152,134, 45, 90,177,177,177,250, 33,108, 68, 68,132,190, + 99,177,181,181,197,253,251,247, 65, 16, 4,108,109,109, 97,103,103, 7,123,123,123, 84, 84, 84, 32, 57, 57, 25, 79,158, 60, 65, +102,102, 38, 8,130,128,175,175, 47,116, 55,123, 45,232, 27,184,125, 27, 98, 33,178, 17,130, 32,128,142,253,130, 17,220, 59, 8, + 93,238,165,207,121,112,137,216, 41,145, 72,210, 0,112,131,130,130,166,117,235,214, 13, 27, 55,110,132, 74,165,218,104, 64,100, +233, 57,255, 72,214,118, 6, 0, 79, 79,207, 5,123,207, 61,183,154, 56,164,149, 92, 34,145,172,127,131,147, 83,167, 33, 46, 42, + 42, 50,123, 45, 62,134, 97, 80, 90, 90,106,148,179,190,133, 96,211,247, 63, 58,200,202, 11,176,234,219,189,208,104, 52,152, 63, +127, 62, 24,134,209,191,202,202,202,204, 42, 39, 75,211,175,219, 14,200,106,239, 41,193, 5,188,199, 86,235,138,236, 3, 63,130, + 96, 1,130, 6,240,122,189,234,119, 66, 34, 14, 95,124,112,197,183, 91, 28,226,158,188,196,137,203,113,160, 42,114, 33,121,116, +172,218,228,216,125, 28, 14,169, 56,232, 26,220, 10, 95, 44,249,206,113,233, 23,147, 14,170, 21, 50,127,212,117, 35, 94, 50,253, +208,208, 88,181,114, 37,118,110,217,136,239, 54,110, 65, 69,121, 25,120, 60,151,154,134,158, 6, 77,211,198,235,206,178, 67, 34, +231, 76, 37,190,253,233, 40, 66,219,121,226,200,185,123,232,217,193, 7,199, 46, 60, 64,239, 78, 45,112,226, 82, 28,250,117,109, +133, 51,215, 19,241,197,140,113,196,184,243,187,134, 52,230, 26,109,222,252,163,131,172,162, 0,177,107,246,160,112,235, 86,100, +205,156,137,208,154, 99,238, 17, 4,248, 77,155, 2,124,211,215,168, 62, 82, 82, 82,160, 82,169, 26, 26,153, 35, 32, 32,192,228, +117, 87, 40, 20, 15,181, 90, 45, 91, 80, 80, 64, 20, 20, 20,192,218,218,154, 72, 74, 74,164, 3, 3,131, 70,176, 79, 14,255, 12, + 0, 81, 81,107, 71, 28,122, 88, 1,249,173, 45, 80,220,254, 1,252, 22, 9,228,206,111,102, 80,159, 44,223,241,176,214, 51, 90, +167,156,249,249,249,239,228,231,231, 3, 0, 90,182,108,249, 36, 53, 53,181,173,206,213, 92,227, 66,228,107,181, 90, 63,157, 59, + 81,171,213, 66,165, 82, 97,192,128, 1, 28, 99,117,119,116,116,236, 22, 16, 16,128,184,184, 56,108,217,178,197,169,111,223,190, +120,246,236, 25, 8,130,192,218,181,107,137,118,237,218,241,138,138,138, 48,120,240, 96, 28, 61,122,180,123, 69, 69,133,169,243, +105,107,109,109,189,235,212,169, 83, 34,146, 36, 33,147,201,192, 48, 12,122,244,232, 1,146, 36,145,152,152,136, 37, 75,150,224, +232,209,163, 56,126,252,184,184, 83,167, 78,187,228,114,121, 0,234,186,245, 13, 93, 35, 86,169, 84,178, 66,161, 16, 66,161, 16, + 34,145, 8, 34,145, 8, 2,129, 0,149, 74,224,147, 77, 89, 42,142,200,133, 9,236,208,179,213,212,217,107,201,245,203, 62,186, + 2,224,132,185,247, 60, 80, 29,147,245,253,111,191,109,153, 80, 94, 78, 2,192, 47, 4,193, 80, 44,251,157, 57,207, 59, 0, 84, + 42,203,225,227,219, 20, 71, 14, 30,199,168,177,195, 27, 20, 89, 60, 30, 31,124, 30, 15,118, 78,214, 38, 57,249,124,190,251,147, + 39, 79,156,121, 60, 30, 88,150, 5, 77,211,160, 40,170, 96,233,210,165,174, 67,135, 14,181, 61,123,246, 44, 57,116,232, 80,198, +209,209,177,234,222,189,123,133, 90,173,214,185, 87,175, 94, 6, 57,173,128, 96,165,125,235,239, 5, 28,109,112,244,226,207,133, +147, 38, 77,226, 76,157, 58, 21,217,217,217,152, 54,109,154,242,226,197,139,234,124,137,228,132,128, 97,126,164,128, 4,115,219, +228,122,216, 22, 28, 28,220,241,216,177, 99, 31, 69, 70, 70, 62, 88,176, 96,193,170,218, 59,215,173, 91,183,242,204,153, 51, 62, + 35, 70,140,248,253,209,163, 71,219, 26,211, 46,189,109,223, 97,225,124, 59, 24,210, 34, 58,227, 40, 65, 16,177,181,218,236, 8, +221,118,100,100,228,226,168,168,168, 36,130, 32, 98,107,127,175, 59,174,102,176, 24,219,208,118,205,111,157, 22, 45, 90, 20, 20, + 29, 29,189, 54, 44, 44,236,192,173, 91,183, 94, 0,104,172,208, 50, 30,163,165,171, 80,237, 74,214,235,212, 80, 81, 81,129,138, +138, 10,228,228,228, 96,251,246,237, 53, 15, 52, 15, 92, 46, 23, 92, 46, 87, 31,207, 96, 8,151, 99,255,252, 1,192, 15, 29, 59, +118,228, 61,190, 29,115,246,171,157,179,251,119, 30,208,145,243,240,242,227,209,168, 94,143,240,157,201,147, 39,187, 0,192,158, + 61,123,138, 0,156,253, 55,169,230,152,180,180,180, 47, 60, 61, 61,245, 49, 42,181,221,135, 90,173, 22, 34,145, 8,186, 88, 22, +165, 82,137,237,219,183,107, 89,150,141, 49,194,137,212,164, 43, 72, 75,186, 90,253, 59,134, 1, 67,191,250,253,138, 21, 43,192, +178,172,190,179,255,180,198,114, 98, 82,228, 53,116,206,217,122,239,245,190,103,105,218,132,123,130, 63,123,244,164,153,158, 12, +193,197,201, 43,241,224,241,120, 96,106, 89, 51,121,156,234,209,114,210,179, 60,120,185, 7,226,189,113, 51, 60,142,253,254,227, +108, 45,165,252,182,177,231,218, 63, 56, 12,115,190,248, 2, 63,239,220,137, 37,203, 87,234, 21,128,150,166,161, 53, 89, 78,146, + 28,208, 35, 8,218,202, 60,112, 56, 28,244, 11,109, 5, 14,135,131,129, 97,109,192,225,112, 48,184,135, 63,184, 92, 46,134,244, +108,135,214,173, 91,131,203,229,146, 38,174, 59, 82,147, 46, 35, 45,233, 90, 45,209,203,130, 5, 64, 73, 36,175, 29,175,145, 72, +192,122, 59, 55,246,222,194,180,105,211,202,114,114,114,168,250,251,154, 53,107,198,191,113,227,134,131, 1,183,157, 30, 98,177, +184, 19,151,203,125, 88, 82, 82,194, 88, 89, 89,145, 12, 67, 51,129,129, 65,156,115, 59, 22, 31,211, 29,179,104,209,226, 99, 31, +116,178, 27,177, 55, 38,150,229, 55,239, 73, 16, 60,161,246,227,229, 59,248, 60,190,184, 19,160, 48,103,240, 64,170, 84, 42, 60, +125,250, 20,166,202,195,178,172, 81, 55, 77,105,105,233,228,128,128,128, 27, 63,252,240,131, 19, 65, 16,248,227,143, 63,192,225, +112,244,175,244,244,116,144, 36,137,175,190,250,138,170,168,168,152,110,170,108, 92, 46,247,139, 35, 71,142,216, 11, 4, 2,200, +100, 50,253,115,195,225,112,240,228,201, 19,172, 95,191, 30,147, 39, 79, 70,118,118, 54,188,188,188, 48,127,254,124,155,232,232, +232, 47, 40,138, 90,105,198, 37, 74, 80,171,213,157,173,172,172, 32, 18,137,160, 19, 92, 0,112, 33,137,151,168, 80, 40,218, 59, + 59,203, 61, 92,175,199,158,236,222,247,189, 16,103, 87,207, 48,137, 68,210,168,165,179,158, 3, 59, 51,104,122,233, 59,199,142, +185,221, 60,118,140,185,115,234,212, 75,161, 76,182,195,236,123, 72, 67, 34, 43,253, 37, 58,117,234,132,135, 15, 31,162, 83,167, + 78,181, 69, 19, 4, 2, 1,248,124, 62,248,124, 62, 92, 28,205, 10,161, 96, 73,146,196,205,155, 55, 65,211, 52,212,106, 53,212, +106, 53,218,181,107, 87,114,245,234, 85, 27, 0, 72, 79, 79,103, 39, 78,156, 88,118,247,238, 93,116,232, 96,124, 61,117, 37, 65, + 92, 94,177,118,131,253,183,155,119,193,222,201, 29,215,175, 95,167,207,157, 59, 39, 35,128,212,180,164,164,141,239, 1,103, 98, + 0,170, 49,231,204,221,221,253, 6,135,195,105, 94,251,187,226,226, 98,199,145, 35, 71,162,180,180,244,221,145, 35, 71,246,172, +105, 19,114, 15, 31, 62, 60, 17, 0, 4, 2, 1, 72,146,164, 97,193,127, 21, 76,105,145,218, 66,169,190,224,138,138,138,138,168, +255, 93,109, 81,213,208,231,218,191,141,142,142, 94, 91,139, 91,241, 6,197, 55, 29,163, 21, 27, 27,203, 54,160, 32,205,134, 41, +161,165, 67, 92, 92,156,198,203,203,235,231,180,248,204,254,173,130,125, 33,182, 22, 14, 2,240,131, 80, 40,156, 55,105,210, 36, +220,185,115, 7,137,137,137,191,226, 45,103,225, 4, 5, 5,157, 23, 10,133, 62, 6,220, 36, 89,137,137,137,131, 13,116, 12,203, + 79,157, 58, 5, 99,193,240, 87,174, 92,169,221, 41,213, 14,134,111,248,198, 96, 88,104, 40, 13,170,228,138, 87,157,120,141,208, +170,170,170,194,216,177, 99,235, 88,180, 10, 11, 11, 77,214,143, 32, 8,172, 63,113, 2, 23, 99, 98,240,110, 72, 8,142,222,187, +135,232, 73,227,225,239,211, 4, 44, 77,128, 37,128,236,253, 63,162,184,162, 18,251, 46,223, 68,137, 76,142, 9,189,122,193,207, +206,197, 56, 47,143, 63, 48,180, 91, 24,255,210,173,100,240,120, 92,144, 96,192,106,228,240, 10,232, 3, 14, 73,194,222,189, 5, +248, 60, 30,120, 60, 46,210,115,138, 16, 16,212, 69, 16, 43, 16, 13,124, 19,161,213,204,167, 5,104,154,198,228,201,147,113,224, +192, 1, 56,123,248,192,190, 89, 16, 86,111,220,137,119, 7,244, 50, 89,127,221, 8,158,203,229,130,195,225,188,246,174,251,108, +142,117,146,101, 88, 80,245,175, 17,195, 2, 44,139,166,107,214,160,233,154, 53,184, 87,243,159,237,170,170,160, 80, 40,128,174, +129,141, 18, 89,106,181, 26, 57, 57, 57, 84,126,126,190,123, 3,251, 11,212,106,181, 73, 97,179,123,247,238,132, 41, 83,166,116, +118,114,114,122,144,240,232,145, 38, 56, 36,132,119,118,251,226,227, 58,183, 33, 0,132,132,132,148, 44, 94,188,248,248,196, 49, + 17,195,183, 69,126, 72,127,182,242,119,174, 80, 44,238, 28,177, 96,119,194,254, 49, 99, 76,251,102, 84,170,140,224,224, 96,214, +156,122,201,229,242,124, 35,187,135, 1,248,166, 99,199,142,118,125,251,246,197,141, 27, 55, 48,106,212, 40, 21, 69, 81,105, 0, + 48,116,232,208, 54,251,246,237, 19, 36, 39, 39,195,213,213,149,151,149,149,181, 11, 38, 2,228, 5, 2, 65,159, 46, 93,186,144, + 42,149,234, 53,145, 21, 29, 29,141,113,227,198,161, 77,155, 54, 96, 24, 6,149,149,149,232,219,183, 47,111,203,150, 45,125,204, + 20, 90,115,252,253,253,215,163,122,214, 97,237,182, 48,165,198, 5,133,226,226,226,252,248,187,151,147,122, 13, 24,217,185,121, +235, 32,207,196,132,135, 70, 9,221,220,220, 22,145, 36,249, 1,195, 48,156,138,138,138,156,120,181,186,117, 59, 31, 31,247, 30, +195,135,163,156,199,227,124,127,249, 50, 89, 32,147,217, 0, 48,203, 5,169,212, 84,193,199,183, 58,212,111,212,216,225,120,248, +240, 33, 70,127, 56, 2,124, 62, 31, 92, 46,175,250,217,228, 87, 91,180, 28, 92,236,204,186, 55, 53, 26,141,190, 13,215,197,121, + 81, 20, 5, 93,104,150,149,149,149,126,159, 74,165, 2, 65, 16,198,238, 13,178,111,239, 30,184, 21,151,170,157,254,213,247, 42, + 94,241,195,104, 15,134,217,253, 18, 40,120,139,230,220,239,208,202,101,110, 98, 59,123,208, 26, 13, 2,135,143,214, 63, 39,119, +127,217, 38, 6,195,136,203,178, 50, 48, 43,230,212, 95,189,102,174, 5,255, 6,152,210, 34,181,133,210,219,130, 32,136,216,200, +200,200,197, 0,216,200,200,200,197,186,237,168,168, 40, 5,128,220, 55, 20, 91,175, 89,185,184,127,133,200,210,185, 23,140,161, +111,223,190,179,108,109,109,183,232,182,115,238,228, 34,231, 78, 46, 2,218, 6,246,232, 24,210,185,124,220,184,113,112,118,118, +198,130, 5, 11, 88, 0,191, 54,246,255,211, 83,147,108, 0,176,158,158,158, 11,106, 26,228,144,123,247,238,185,222,191,127, 31, + 93,186,116,121,101,186,167, 40,244,236,217,211, 24,149,172, 38,168,125,238, 95,103, 37, 99, 64, 81, 20,228,114, 5,212,106, 10, + 90, 13, 3,173, 86,139, 78,129,182,248,125,103,100,245,119, 90,157,245,172,218,106,214,212,195, 22,182, 54, 60, 13, 73, 18,138, + 7, 9,249, 13,182,152,106,181, 26, 9, 89, 89,120,148,153, 9, 0,120, 47,202,120,224,235,239,151,111,160, 93,187,118,166, 74, +219,170,169,151, 7,242, 46, 38, 84, 55,222,138, 28,220,255,243, 16,108,109,109, 0, 0,129,225, 19,192,231, 87, 11,173, 42, 5, + 5,151,182,205, 64,176,172,193,180, 0, 86,142, 30,231,185,124,145, 15, 75, 51, 96, 89, 6, 44, 67,131,101, 25,112,120,124,171, + 89,159,126, 4,134,161, 17, 26, 26, 10,130,195, 1,173, 81, 97,204,176,129, 40, 45,151,193,217,193,188, 78,130,207,231, 35, 60, + 60, 92,108,104,255,179,103,207, 20,181,133,153,241,107,164, 65, 85,149, 2, 42,149, 10,148, 90, 11, 74,163, 5,221,146,143, 85, + 75,199, 67, 75,105, 33,255, 48, 12,148, 70, 11,230,139, 17,160,212, 26,100, 91,145,100,112,128,139,134, 4,161,136, 79,145,218, +153, 18, 90, 58,113, 96, 8, 13,197, 4, 26, 16, 91,143,166, 76,153,210, 41, 56, 36,228,225, 7, 3, 66, 54, 60, 78, 76,202,123, +156,152,244,218,113, 62,109, 66, 50, 62,139, 62, 48,159,199, 23,119,138, 88, 96,124,214, 97,109,212,118, 35,190, 37, 22,203,100, +178, 96, 27, 27, 27,164,166,166,130,195,225,128, 32,136,103, 0,130, 1,192,211,211,243, 57,151,203,245,229,112, 56,216,186,117, + 43,193,229,114,219,135,133,133, 45, 86, 42,149,135,140, 12,232, 2,108,109,109,235, 88,179,248,124, 62, 34, 35, 35, 49,113,226, + 68,189,200,226,243,249,216,189,123, 55, 58,119,238, 12,181, 90, 29, 96,102,121,239, 3,232,101,134,197,143,168, 17,231, 38,197, +168, 86,171,157, 82,252,193, 7,173,113,253, 58,122,248,250,182,235,212,169, 19, 40,234,149, 65,199,215,215,183,153, 76, 38,203, + 87, 40, 20,255, 68,117, 26,130,120,163,162, 72,201, 32, 43,189, 58,252,244,225,195,135, 8, 13, 13,213, 91,176,106, 91,179,248, +124, 62,196, 2,155, 70, 9, 45,134,169,110,151,100, 50, 25,121,253,250,117, 23,127,127,127, 2, 0,252,253,253,137,248,248,120, + 39, 43, 43,171,162, 86,173, 90,153, 26, 0,243, 1,160,207,160,145,220,139,231,206, 88,107,129,149,249, 28,206, 74,174,201, 54, +146,213,208, 12, 99, 48,232, 94,108,103,143,221, 83,198, 2, 0,190, 30, 48, 68, 63,216, 58,247,205, 98,240,120, 60,244, 95,176, +248,181,103,137, 97, 24, 14, 44,248,159, 18, 89, 13, 89,180,222,174,111,126,101,209,138,138,138, 74,138,138,138,122,205, 58,214, + 72,152,182,104,213, 54,221, 53, 22,186,135,213, 16, 54,110,220,136,246,237,219, 27,237,136,182,108,217,130,189,123,247,110, 4, +144,222,104,147, 99,255,142,129,216,116, 44,201,183, 77, 32, 1, 0, 43,191, 24, 70, 86, 85, 85,225,230,205,155,176,183,183,199, +179,103,102,167,253,178,181,183,183,255,134, 36,201, 49,156,250, 51, 0, 26, 22,152, 52,195, 48, 49,229,229,229, 6,211, 59,176, + 44, 64,105,180,168,146, 43,161, 86,171,241,197, 87, 63,154, 44, 68, 20, 64, 80,106, 25, 55,188,119,152,216,144, 69, 39,180,125, + 31,124, 62,201,230,181,206,155, 67, 2, 36, 9,116, 8,173,182,184,196,223, 75, 2,195, 0, 52, 3,184,184, 57,226,215,253, 27, +140,138,124, 45,205,212,140,142,105, 84,170,104, 4,116,139,192,203,148,235,122, 11,146,128, 95,237, 50,230,243,120, 96, 88,162, + 58,235,131,161, 86, 87, 32,246, 41,149,164,251,237,140,125,140, 79, 34,218,227,240,165, 4,140, 30, 16,140,171,119,147,209,183, +107, 59, 36,165,101, 34,208,175, 57,182,238,138, 1,203, 66,246,211,166,213,249,175, 58, 52,109,150, 57, 22,173, 59,119,238, 40, +234, 91,177,106,191,179,166,251, 67,176,236, 43,139,150, 66,169,194,130, 69,102,165,222,169,190, 70,189,186,137,205, 57,216,152, +197,202, 28, 33, 86,223,178, 5, 19,233, 89, 90, 2,232, 12, 44,252,119, 54,156, 52, 77,227,244,233,211,250,235,209,208,117,172, +125,237,204, 16, 57,200,202,202, 66, 82, 82, 18,186,117,235,134,242,242,114,240, 72, 18,243, 31, 63, 70,187, 73,147,160,230,243, +193, 48, 12, 4, 2, 1,102,204,152, 97,246,249,108,100,235, 92, 19,120, 77,155, 34,223, 16, 22, 22,214, 58,181,170, 10, 73, 79, +158, 96,192,138, 21, 0,128, 51,103,206,212,185, 39,230,205,155, 39, 72, 78, 78,158,246,224,193,131,105,121,121,121, 27, 1,204, + 55,216,206,178, 42,125,140,214, 7,227, 71,161,181,127, 75,236,253,109,191,126,255,188, 47,231,128,199,227,131,199,231,193,193, +222,193,172,218,104, 52, 26,189,104,149,203,229,228,153, 51,103,154, 14, 28, 56,144, 63,103,206, 28, 2, 0,246,238,221, 75,254, +240,195, 15,214, 23, 47, 94,228, 55,105,210, 68, 98,194, 66, 80,145, 91,172, 18, 2,128,183,183, 55,126,220,113,146, 28, 58,116, + 40,230,204,153, 3,141, 70,131,109,219,170,159,171,113,227,198,129,162, 40, 28, 57,114, 68,247, 28, 27,181, 70,105, 41,234,181, +251,134, 32, 8,240,120, 60,240, 5,124,128, 97, 64, 16,132,245,186,117,235, 86, 38, 37, 37,117,241,247,247,135, 74,165,154,132, +234,201, 31,150, 60, 90,255,101, 98,203,152, 22,105, 40,214,170,198, 42,101, 8,210,218,113, 91,134,132, 90,237,152, 45,188,217, + 4, 10,243, 98,180, 26, 2,135,195, 49,105,173,210, 77,213, 53,134,121,243,230,193,214,214,214, 80, 7,196, 62,126,252, 56, 89, + 34,145,236, 4,240,227, 27, 93,156,203,113, 73,223,204, 29, 33, 67,141,111,213,193,193,161,168, 95,191,126,149, 0,168, 67,135, +234, 14,144, 85, 42,149,193, 14,220,222,222,254,155, 95,126,249,101,246,240,225,195,201,250, 41, 6,106,187,247,116, 47,141, 70, +131, 67,135, 14,205, 94,184,112, 33,202,203,203,231, 26,235,196,229, 85, 10, 40,106, 2,161,159, 39, 30, 54,183, 81, 55,184,203, +198,193, 19, 77, 91, 6, 27,236, 76, 72,126,117, 12,145,187,247,171, 14,204,214, 86, 4,218, 8, 39, 65,144,233,153,217,121, 77, +154,121, 56,225,121,142, 20,238,205,219,163, 52,247,213,121,224,114, 57,224,213,184, 14, 29,236,172, 33, 45, 44, 4, 73,114,140, + 10,227,213,251,226,112, 55, 49, 19, 71, 46,197,131, 82, 86, 97,211,158,115,160, 84,149,160,148, 85,160,148,213,239,107, 23,126, + 12,130, 64,190, 70, 85,213,166, 49,215,157,203,229,162,107,215,174, 6,133, 78,110,110,174,153, 22, 45, 86,111,209, 82, 40, 27, +121,141,204, 27, 57, 25,181, 88,233,246,191,169, 48,208,165,124, 16,139,197,157,119,239, 54,156,198,161, 33,120,120,120,156,181, +177,177,105, 97,238,241,141, 72, 94,186,214,193,193,225, 27,127,127,255,128, 77,155, 54,241, 56, 28, 14,250,247,239,223,198,195, +195, 35, 11, 0, 2, 3, 3,189,116,109,204,103,159,125,198,222,185,115, 39,177,122,140, 97, 24, 2,129,224,137,189,189,125,231, +190,125,251,162,188,188, 28, 57, 57, 57,176,182,182, 70,187, 13, 27,240,248,179,207, 16,178,125, 59,200,126,253, 64, 16, 4, 4, + 2, 1, 30, 63,126, 12,177, 88,252, 68,169, 52,152,242,173, 43,128,239, 0,244,192, 43,119, 33, 11,224, 38,170,211, 46,220,109, +160,189, 35, 1,128,102, 24, 83, 23,107,252,130, 5, 11, 80,198,227, 1, 67,135,130,159,158, 14,138,162,208,173, 91, 55,189,149, +189, 91,183,110,224,114,185, 8, 14, 14,134,151,151, 23,182,110,221, 58,222,152,208, 82, 86, 82,200, 74,127,137,176,176, 48,189, +229,106,232,208,161,122,139, 22,143,199,211, 91,182, 8,218,180,112, 37, 8,130,173, 61, 72,166,105,154,224,114,185,220,185,115, +231, 18,163, 70,141, 98,213,106, 53, 35, 16, 8,200, 35, 71,142, 16, 87,175, 94,229, 86, 85, 85,153,178, 54, 84,125,248,225,135, +110,205,154, 53, 69,206,243, 36, 28, 62,204, 98,227,198,141,184,113,163, 58,203, 70,106,106,245,196, 85,221,118,223,190,125,209, +162, 69, 11,176, 38,110,252,160, 17, 99,240,245,192,119,170,219,147, 22,174,224,241,121, 16,240,249, 88,240,228,165,254, 90,219, +237, 62, 32,136,142,142, 30,237,239,239, 95,237,218, 7,184,150, 60, 90,255, 93, 48, 97,232,145,214, 19, 73,234, 90,219, 82, 0, + 68,205,182,180,150,160,146, 18, 4,113,159,101,217, 46,245,142,213,237, 87,215,123,215,237,127,244, 6,197,215,173,117,248,154, +248, 50, 54, 34, 78,187,125,251,182, 95,167, 78,157,144,157,157,253,218, 76, 56, 93,199,101,109,109, 13,177, 88,140, 91,183,110, + 1, 64,154, 33,178,171, 87,175,254,128,234,172,203,168,113, 27,132,245,253,160,207,173,208, 33, 93,176, 47,106,127,185, 68, 34, + 9,198,171, 28, 58,132,151,151,215, 68,158,128, 59,214, 55,200, 59, 28, 12,243,221,229, 83, 55, 87, 24,171,161,111,155,192, 74, + 0, 10,221,172,195, 55,156,125, 8,146, 36,199, 12, 31, 62,156, 76, 78, 78,198,216,177, 99,177,119,239, 94,131,199, 78,156, 56, + 17, 7, 14, 28,192,240,225,195,201, 69,139, 22, 25, 76,239, 80,215, 90,162,254,203,110,202,212,103,143,240,251,129, 95, 12,198, + 32,185,185, 85,199, 99, 21, 22, 22,233,191,235,210,201,184,103,132,209,170, 47,198, 61,184, 23,214,189,119,127,126, 78, 65, 25, + 24,173, 10, 74,217,171,223,203,203, 10,192,106,149,224, 91, 57,193,195,197, 30, 15,111, 95, 80, 83,106,229, 69, 99,156,179,135, + 7,226,179, 97, 1, 0,203, 96,196,252, 95, 17,251,227, 44,253, 8,186,231,168, 57,184,124,232,123,179, 99,252,234,131,199,227, +225,241,227,199, 10, 67,214, 44, 14,135, 99, 78, 78,174, 26,171,163, 6,114,185, 2,114,133,242,175,108, 59, 92,221,221,221,127, +114,116,116, 20, 25, 16, 82,174,174,174,174, 63, 57, 59, 59,139,204,117, 29, 26, 18, 89, 53,121,181, 30, 76,153, 50,165, 81, 98, + 75, 40, 20,182, 72, 75, 75,211, 39, 43, 53,246,174, 86,171,209,183,111, 95,115,147,151,158, 2,240,194,211,211,243,102,187,118, +237,236,159, 63,127,142,253,251,247,243,121, 60,158,183,174,253,144,201,100,224,112, 56, 40, 44, 44,212, 0,248, 8, 38, 92,103, + 42,149,234,250,245,235,215, 59, 12, 27, 54,140,243,228,201, 19,112, 56,156,234,114,133,133, 33,100,251,118, 36,206,157,139,240, +204, 76, 40, 41, 10, 34,145, 8,231,207,159,167,228,114,249,117, 67,124, 98,177,120,103, 70, 70, 70,160, 72, 36, 2, 69, 81, 96, + 24, 6, 36, 73, 18, 92, 46,183,167,131,131,195, 22, 0, 93,234,139,229, 85,148, 0, 0, 32, 0, 73, 68, 65, 84, 93, 44,183,144, + 46,125,219,210, 90, 45, 45,201,126, 46, 53,117, 2,138,139,139,113,234,212, 41,116,235,214, 13,225,225,225,200,205,205, 69,122, +122, 58,222,125,247, 93,253, 49,143, 30, 61, 66, 92, 92, 28, 90,181,106,101,218,162, 71,106,208,170,109, 11,240,249,252,106,107, + 14,143, 95, 51,240,225,233, 45, 89,124, 30, 31, 60, 46, 15, 34,177,200,108,139, 22, 65, 16, 32, 73, 18, 4, 65, 64, 44, 22,235, + 6,217, 76,211,166, 77, 37, 37, 37, 37,158, 0, 56, 98,177, 24, 52, 77, 27, 29,180, 48, 44,235,199, 47,186,149, 55,127,225,122, +183,168,168, 75,184,116,169, 16, 36, 73,194,211,211, 19, 36, 73, 34, 35, 35, 3, 36, 73,194,199,199, 7, 36, 73, 34, 55, 55, 87, + 39, 18, 75, 97, 88, 12,235,159, 27,130, 32,244, 34,139, 47,224,235, 45, 91, 0, 80, 86, 86,166, 28, 62,124,248, 63, 85, 42,213, + 84,188,217,170, 39, 22,252, 7,131, 32,136,251,255,142,223, 54, 2, 67,107,132,213,107, 65,241,198,110,198,119,187,119,239,190, +125,220,184,113,253, 55,111,222, 12, 27, 27, 27, 72, 36, 18,125,135, 40, 16, 8,208,172, 89, 51,148,148,148, 96,199,142, 29,120, +249,242,229, 21, 0, 51,204, 45,145, 68, 34,185,243, 44, 62,173,184,239,232,238,206,129,221,219, 58,228,164,189,236, 38,145, 72, +110,213,136,172, 95,199,205,123,119,106,223,145,161,224, 11,120,200,121,150,143,203,167,110,254,191, 92, 76, 14,135,195, 33, 8, + 2, 99,199,142, 53,235,248, 15, 63,252, 16,215,175, 95,135, 49, 55, 35,163,179,104,201,149,168, 82,252,117, 3,171,207,103, 77, +196,231,179, 38,234,197,132, 57,174, 23, 0,240,242, 58,104, 68,104, 81,155, 99, 15,238,248,164, 99,104,152, 79,231,192, 22,184, +251, 32, 30,251,182,191, 50, 50,236,250, 97, 37,190,221,117, 5,205,220, 29, 65,169,170,112,246,240,207,249,148, 74,190,249, 13, +141,114,213,226,150, 32,192,178, 76,163,234,174, 19, 79, 60, 30, 15, 65, 65, 65, 6, 45, 90, 37, 37, 37, 10, 83,214, 44,253, 53, + 82,107, 80, 89,165,128, 66,254,151, 9,173,144,158, 61,123, 94,140,137,137,113,118,115,115, 67, 94, 94, 94,125,161, 21,210,163, + 71,143,139, 49, 49, 49,206,238,238,238,200,201,201, 49, 59,173, 72, 3, 34, 11, 82,169,148, 40, 45, 45,101, 28, 29, 29, 27, 37, +182, 72,146,132, 74,165, 66, 74, 74,138,185,127,107,246,108, 46,123,123,251,221, 7, 14, 28,176, 47, 42, 42, 2,135,195, 65, 74, + 74, 74,157, 89,135,186,215,175,191,254,202, 31, 49, 98,196, 47,101,101,101, 70,167,181,105,181,218,141, 19, 39, 78,156,150,155, +155,235,232,230,230, 6,137, 68, 2,129, 64, 0,150,101, 65,244,237,139, 94, 47, 94,128,162,105,136,197, 98,164,166,166, 98,231, +206,157, 85, 53,169, 98, 26, 52,144, 17, 4,225,199,231,243, 49, 97,194,132, 58, 59,246,236,217,131,247, 58,115, 58,187,218,115, + 43,181, 16,169, 10,196,239,156,229,112, 56, 68, 72,215,126,109,186,246, 30, 26,244, 52,241,238,115,105,193, 75, 83,141,146, 70, +173, 86,195,223,223, 31,247,239,223,199,165, 75,151,208,175, 95, 63,132,135,135, 35, 33, 33, 1, 23, 46, 92, 64, 92, 92, 28, 8, +130,128,179,179,179, 46,252,194,104, 12,134, 90,174, 69, 97, 94,241,107,214,171,250,219,124, 62, 31, 42,133,121,147,251,158, 60, +121,130,251,247,239,235, 83,203,112, 56, 28,237,164, 73,147,192,178, 44,155,145,145, 1, 91, 91, 91,118,202,148, 41, 52,151,203, +213,230,230,154, 23, 31,108, 99, 99, 3, 63, 63,191, 58, 3, 31,221,171, 87,175, 94,120,240,224, 1, 72,146, 4,151,203,133,155, +155, 27,110,222,188,105,242,198,215,137, 42,157,200,226,242,121,117, 68, 31,195, 48,178,132,132,132, 79, 0, 36,212, 88,178, 0, + 75, 30, 45, 11,254,255,112, 26,175, 47, 44,109,210,162,245, 2,192,128,253,251,247,143, 63,126,252,248,198, 45, 91,182,184, 70, + 68, 68,160,180,180, 20, 62, 62, 62,240,244,244, 68,108,108, 44,206,156, 57, 83, 68,211,244,124, 0, 13,153,126, 6,192, 72,206, +154,220,231,146, 24, 85,101,229,103,157,194, 3,112,229,208, 31, 81, 30, 30, 30, 51, 56, 28,206, 23, 83, 22,191, 63,181,207,240, + 46, 72,141,203,192,157, 11,143, 81,144, 93,100,146,179,126, 48,188,131,131,195, 52, 43, 43, 43, 1, 26,152, 74,220,192,172, 67, + 61, 39, 77,211,180, 90,173,198,193,131, 7,205, 18, 91,251,247,239,135, 82,169, 4,253,186,127, 85,207,201, 50, 44,193,229, 9, +225,213,204, 31, 20, 85, 5,134,121,227, 9,149,122, 78,221, 8,244,185, 64, 0,183,162, 34,220,189,123,215, 60,201, 61,116,168, +169,107,164, 84, 43,101, 19,190, 95,179, 32,118,102,228,119, 14,253,186,119,192,215, 27,246,128,162,118,129,228,144, 16, 11,249, +232, 20,218, 3, 28,168,240, 83,244,151,101,242,138,210, 9,120,125, 41,158, 58,156,172, 49, 15, 11, 11,208, 12,131, 75, 55,238, +153, 93,247, 90,110, 14,112,185, 92, 60,123,246, 76,209,208,108, 67, 14,167,218,205,169, 27,169, 27,227,100, 25,134,224,241, 69, +104,230,211, 14,106, 85,229, 95,114,141,220,220,220,190, 60,118,236,152,179, 46, 85, 66, 66, 66, 2, 8,130, 72,121,101,113,172, +222,175, 80, 40,144,152,152,136,132,132, 4,160,122,134,155,217,207,145,206,146, 37,149, 74, 9,137, 68, 2, 43, 43, 43, 50, 33, + 33, 65, 21, 28, 28,252,192,196,243,173,231, 84, 42,149,153,134,226, 39,149, 74,101, 19,145, 72,196,171,215,225,121,181,110,221, + 58,181, 1, 23,226,107,229, 44, 47, 47,191,187,112,225,194, 78, 67,134, 12,193,151, 95,126, 89,226,232,232,104,251,211, 79, 63, +113, 57, 28, 14, 49,115,230, 76,186,176,176,176,242,231,159,127,182, 63,126,252, 56,202,202,202,110,153, 81,119,153, 82,169,252, +164,123,247,238,123,206,157, 59,103,229,231,231,135,138,138, 10,176, 44,139,221,187,119, 99,230,204,153, 16,137, 68, 72, 77, 77, +197,123,239,189, 39,151,203,229,159,224,245,216, 73, 29, 39, 65, 16, 4,203, 48, 12,150, 45, 91,166, 79, 78,170, 75, 86,106, 43, + 38,176,115, 94, 75,235, 57, 63,151, 91,143,255,250,231, 73, 0, 64,107,181,244,211,196,187,207,119,255,248,245, 85, 62,159,127, +195,196, 53, 90, 50,103,206,156,159,134, 14, 29, 42,182,177,177, 65, 73, 73, 9,110,222,188,137,219,183,111,227,206,157, 59, 80, +171,213,112,118,118,134,163,163, 35, 36, 18, 9,158, 60,121,162, 0,176,196, 24,167,192,138, 7,223, 54,186,153,191,213, 22, 44, + 94,173,217,134,181,173, 91,124, 30,207,172,231,168,119,239,222,232,218,181,171, 78,172,208, 89, 89, 89, 18,149, 74, 69,212, 18, +253,185, 58, 65,238,237,237,173,221,187,119, 47,107,138,147, 97,152,215,196,116,175, 94,189,244,131,194,174, 93,187,130,195,225, + 32, 62, 62,222, 80,104, 74, 29,206, 59, 59,183,226,220,170, 37, 16,240,249,152,159,146,163, 23, 93,123,250,117, 4, 79,192, 71, +192,176, 81,181,127,187, 13,213,238, 66,212, 19, 89,198,250,163,183,126,222, 45,156,127,123, 72,240, 6, 75,240,232,176, 79,169, + 84,158,253,248,227,143,163, 67, 66, 66, 62,222,180,105, 19,193,231,243,177, 98,197, 10, 54, 47, 47,239,183,154, 17, 67,233,155, +148,138,101,217,223,174, 29,189,245,233,228,200,225,196,188,205, 83,122, 62,184,156,248,164,125,119, 63,180,239,238,135, 7, 87, +146,241,227,226,253,123,105, 13,189, 44, 63, 63, 63,219, 4,149,106, 64,143,182,245,131,225,157,175, 95,189,236,220,216, 89,135, + 12,195,196,236,223,191,127,246,200,145, 35,201,123,247,238,189, 22,147,165, 91,118,135, 97, 24, 92,188,120, 17, 20, 69,225,183, +223,126, 99, 24,134, 49,156, 71, 11,236,137,239, 55, 71, 79,254,237,247, 19, 2, 1,159,192,237, 27, 71, 80, 94,106,124, 86, 23, +159,207,195,175,187,143, 82,124, 62,239,105, 67,251, 41,138,202,185,124,249,178,251, 96,154,230,145, 36,217,144,128,106, 16, 49, + 49, 49, 26,134, 97,178, 76, 28,118,171,224,101,246,176,213, 95,126,180,127,232, 7, 31,187,119,239,222,147,231,226,230, 14,130, + 32, 80, 88, 80,136,212,196,123,154,179, 71,126, 41,168,146,155,183, 4,207, 71,235,175,233, 99,178, 0, 32, 98,230, 22,125,124, + 22, 0, 12,155,178, 16,125,187, 5,130, 48,199,244,244, 74,100, 49, 90,173, 22,214,214,214,208,106,181, 13,166,120,176,183,183, + 23, 43,149, 74, 69, 77, 34, 70,163, 35,102, 22,248,203,175, 17, 77,211, 1,165,165,165,168,170,170,194,237,219,183,217, 53,107, +214, 72,165, 82,169, 62,104, 83,163,209, 4,148,148,148,160,178,178, 18,183,110,221, 98,163,163,163,165,197,197,197,139, 27,243, + 12,137,197,226,206, 92, 46,247, 65,105,105, 41, 99,101,101, 69,106, 52, 26, 77,112,112,176, 80, 44, 22,155,189,160,186, 68, 34, + 25, 98,104,159,175,175,111, 90, 90, 90, 90,107,154,166,107,175,129,200, 87, 42,149,126,221,187,119, 55,167,253,152,179,107,215, + 46, 28, 61,122, 52,180,162,162, 98, 98, 86, 86,214, 30, 0,161, 92, 46, 23,241,241,241, 41, 74,165,114,220,200,145, 35,119,151, +150,150,222, 69,245, 18, 60,230,224, 92,106,106,234,132,128,128,128, 93,223,124,243,141, 77,120,120, 56,215,203,203, 11, 93,186, +116, 65,106,106, 42, 78,159, 62,173,217,182,109, 91,149, 92, 46,255, 8,192, 69,227,151, 29,132, 86,171,133, 64, 32,208,191,132, + 66, 33,248,124, 62,100, 10, 22,211, 55,164, 43,180, 16, 43, 54,174,248,228, 52, 11, 16,249, 57,233, 69,133,249, 57,119, 9,130, +184, 33,145, 72,202, 13,156, 51,129, 82,169,236,192,178, 44,135, 32,136,205, 20, 69, 77,153, 53,107,150,231,218,181,107,209,182, +109, 91, 20, 21, 21,193,218,218, 26,126,126,126,144, 74,165,184,119,239, 30, 45,151,203,183, 3, 88,137,154,248, 17, 67, 40, 43, +170, 64, 83, 15,239, 58,150, 79,150,101,193,210,128, 70, 69,131,166, 88,168, 9, 13,120, 60, 13,248,124,190, 57, 46, 21,150, 97, + 24,148,122,122,130, 73, 76,196,157, 59,119,192,178,172, 65,171,154,191,191,191, 89, 22, 82,154,166, 95, 19, 90,119,239,222, 5, +135,195, 65,207,158, 61, 17, 23, 23,167,183,104,153, 21,151,200, 50, 16, 8, 5,117,220,133, 4, 65,128, 47, 16,128, 39,224, 55, + 52, 27,199, 98,197,178,224, 63, 6,230,250,177,203, 0,204,120,244,232,209,158, 62,125,250,196,178, 44,203, 67,181, 63,242,143, +183,249,243,252,252,252,135,183, 78, 63, 92,228,222,212, 49,250,157,137, 61,209,182,131, 15,104, 45,141,155,103,226,241,219,218, +227, 7,114,115,114,167,192,140,181,207, 24,134,185,218,163,115, 91, 18,181,114,117,123,121,121, 49,111, 50,235,176,188,188,124, +249,252,249,243,241,229,151, 95,190,201,172,195, 6,241,248,137,116, 6, 1,182,233,176,119,122, 13, 6, 65,178,106,181,202, 72, +195, 7,125,230, 82, 62,159,247,244,126,130, 36,184,161,227,164, 82,233,224,169, 83,167, 94,228,114,185, 45, 26,115,206, 25,134, +201, 42, 40, 40,232,111,250, 72,237, 77,149,162,194,239,212,129, 29,115,207, 29,221, 53,152, 97,232, 86, 4, 0, 14,151,255, 92, + 67, 81,231, 85,138,138, 77, 48,115, 81,233,117, 51,194, 48,231,251, 11,216,250,229, 48,204,138, 62,132, 95,150, 77,199,162, 13, +251,241,221,151,115,176,102,203, 63,241,245,156, 9, 24, 61,126, 42,195, 18,228,159,230,214,131,195,225,156,219,177, 99,199,228, +233,211,167,235, 39, 45,176, 44, 91,167, 17,214,104, 52, 10,134, 97,176,125,251,118, 6,192, 57, 99,124,117,175, 17,193, 26,139, +151, 50,247, 26, 85, 84, 84,124, 20, 22, 22,182, 27,128,144,101,217,103,165,165,165,255, 0, 94, 45, 13, 85, 89, 89,249, 81,247, +238,221,119,179, 44, 43, 36, 8,226,181,253,230,160, 38,213, 67,103, 71, 71,199, 7, 53,150, 44,225,155, 4,196, 27, 59,213, 70, +220,138,230,184, 16, 25, 0,179,106,101,124, 95, 27, 26, 26, 90,123, 81,233,148,210,210,210,206,111, 80,174,139, 10,133, 34,112, +217,178,101,115, 69, 34, 81, 95,185, 92,222, 6, 0,172,173,173, 83, 85, 42,213, 85,133, 66,177, 9,166,115, 83,169, 25,134, 73, +213,106,181, 65,174,174,174,213, 51,106,107,196, 22, 0,156,124, 64, 63, 0,232, 46,213, 70,241,125,102, 23,236,204,153, 51,205, + 29, 29, 29, 7, 17, 4, 49,154,101, 89,127,153, 76,166, 90,182,108,217,173,152,152,152,242, 22, 45, 90,188, 51,116,232, 80,194, +201,201, 9,247,239,223,103,139,139,139,143, 0, 88, 12, 51,102, 90, 51, 12,147,181,110,221, 58, 52,246,121, 55,182,159,162,168, +252, 51,103,206,184, 12, 41, 44,228, 50, 12,131, 97,195,134,213, 17,112,245,241,244,233, 83,168, 84, 42,147,201, 28,203,202,202, + 16, 26, 26, 90,103,128,170,123,101,101,101,193,201,201,169,206,255,152, 26, 99,169,202, 75,209,111,238, 66,160,102, 70,169, 14, +213,150, 44, 22,172,218,162,171, 44,248,207,197,191,122,241, 77,179, 76,139,158,158,158, 99, 69,214,194,207,125,218,120, 6,231, +165, 23, 38,203,202,229,123, 37, 18,201, 14, 3, 13,185, 89,156,141, 76, 88,106, 49,255,254,139, 56, 95,229,209,162,193,178, 52, + 88,134, 5,203, 50, 96, 24,186,122,193,107,150, 1, 75,211, 4, 65,224, 79,181,194,104,102,240,250,229,116,116,113,113, 89,201, +178,236, 16, 14,135, 67,214,110,168,107,127,174,177,100,157,147, 74,165, 95, 55, 96,121,253,175, 59,159, 49, 49, 49, 13,138,127, +115,103, 29,142, 25, 51,134,110,228,179,121,213,218,218,218,179,161,125, 85, 85, 85,217, 18,137,100,208,127,200,249,172, 61, 99, +176, 49,156,141,158,117,104,138,211,199,199, 71, 72, 81, 84, 71, 0,126, 4, 65, 56, 0, 40,161, 40,234,124, 81, 81, 81, 1,128, +206, 0,150,213,252,102, 21,128, 7,255,230,231, 93,236,226,226,178,139, 36,201,166,230,252, 88,171,213,170, 75, 74, 74, 38,215, + 27, 16,188,114,193, 3, 28, 17,159,127, 15, 36,217,164,161,231,209,208,103,176,108,110,149, 66, 17, 74,188,106,243,245,156,206, +206,206, 15,184, 92,110, 83, 51,202,246,178,184,184,184,179,165, 77,254,175,230,252,111, 70,253, 32,120,131,153,226,255, 21, 66, +203,194,105,225,180,112, 90, 56, 45,156, 22, 78, 11,167,133,243,127, 93,104, 53,184,109,153, 2,107,129, 5, 22, 88, 96,129, 5, + 22, 88,240,118, 56, 93, 79,108,157,214,125, 32,140,168,210,198,152, 4,223, 68,217, 94,178,112, 90, 56, 45,156, 22, 78, 11,167, +133,211,194,249,183,227,180,224, 47,132,197,172,106,225,180,112, 90, 56, 45,156, 22, 78, 11,167,133,243,127, 29, 6, 93,135,164, +229,220, 88, 96,129, 5, 22, 88, 96,129, 5, 22,252,107, 96,182,208,178,118,247, 15,112,241, 9,222,237,216,180,125,130, 99,211, +246, 9, 46, 62,193,187,173,221,253, 3,254,166,231, 77, 12, 96, 60,151,203,189,232,225,225, 81, 1, 3, 75,239,252, 15,192, 14, +192,104, 84,231,247, 25, 1,192,234,175, 36, 15, 7,184, 99,129,207, 39, 1,217,147,128,236,177,192,231,225,255,131,113,131, 43, +102,123,134,221, 56, 59,254,236,138,217,158, 97, 13,238,159,239,233,124,231,194,152,239,215,126,238,229,244, 23,253,165,173,155, +155,219, 78,119,119,247, 76, 55, 55,183, 44, 55, 55,183, 93, 0,236, 45,205,157, 5, 22, 88, 96,193,191, 12,186, 24, 45,221, 75, + 31,163,197, 5,128,216,216,216,112, 0,215, 0,244,137,136,136,184, 94,255,215,142,222, 65,211, 91,181,108,245,229,234, 21,139, + 9, 15, 55, 23, 43, 45,205, 80, 25,153, 57,237,150,175,142, 62,156, 39,224,110, 44,205, 78,252,229, 13, 10, 69,112, 56,156,177, + 66,161, 48, 2,128, 78,176,165,168, 84,170, 88,154,166, 15,194,188,105,218,112,119,119,191,193,225,112,154, 55,230,143,105,154, +206, 46, 40, 40,232,249,134, 39,115,140,183,183,247,174,240,240,112,171,208,208, 80, 8, 4, 2, 44, 91,182,108,190, 68, 34,217, +100, 46,129,163,163,175, 45, 37, 20,125,193, 21, 8, 6,178, 26,117, 16, 11, 22, 32,133,137,140, 86,117,153,175, 82,109, 44, 45, + 77,151,153, 73,181, 24,192,148,154,115,245, 11,128,117,111,115,151, 76,238, 0,141,134,174,190, 39,248, 92,208, 39, 94,216, 95, + 91,178,100, 9, 55, 34, 34, 2,191,252,242, 75,207,157, 59,119,126, 34,147,201, 46, 3, 56, 9,224,249,219,222,149,238,192,140, +238, 61,123,126, 63,121,254,124,142,226,198, 13,124,191,107,215,102, 84,231, 91,218,218,216,123,137,207,199,104, 23, 23, 94, 4, +203,162, 35, 1, 16, 4, 16, 47, 45,102,206, 80, 20,125, 16,102,228, 98, 51,130,241,168, 59, 29,127, 95, 99, 9,202,159,179, 75, +133,195, 2,122,149, 63,191,186, 20,192, 59,245,247,107,149,162,201, 44,167, 89,132,130,141,203, 1,176,225, 45, 79,171,149,171, +171,107,194,137, 19, 39,154,134,134,134,114, 1,224,193,131, 7,147, 34, 34, 34,250, 73,165,210, 32, 0, 21,255,166, 70, 72,196, + 37,201,207, 5, 60,222, 64,154,166,219, 3, 0,135,195,121,172,214,104, 46,106, 25,102, 43,204,204,201,102,129, 5, 22,252,239, +194,148, 22,249, 15,135,193,204,240,186,202,177,181,223,107,195,218,173,109,187,110,253, 71, 61, 45,151,201,149,153,153,185,165, +243, 62, 95,115,241,147, 57,235,143,111,248, 57,246,204,245,187, 41,119, 2, 66, 7, 37, 91,187,181,109,103,128,218,144, 15,215, + 91, 44, 22, 63,220,182,109, 27,149,154,154,202,150,149,149,177, 79,159, 62,101,143, 28, 57,194,126,250,233,167, 74,177, 88,252, + 16,128,183, 57,156,238,238,238, 5, 79,175, 92, 96, 95, 38,196,177, 89, 15,238,178, 26,141,134,165, 40,138,165, 40,138, 77, 62, + 23,203, 38,156, 60,202,198, 31, 57,200,170,213,106, 86,173, 86,179, 42,149,138,109,217,178,101,158,153,229,172, 15,175,192,192, + 64,117,108,108, 44,123,248,240, 97,118,254,252,249,108, 72, 72, 8, 13, 96,166,185,117,183,118,243,235,107,219, 36, 88, 58, 61, +114, 43,117,250,214,121, 54,233, 69, 60,155,244, 34,141,141,185,148,194, 78, 89,176,133,178,109, 18, 34,181,118,243,235,107,170, +238,142,142,142,221, 8,130, 96,117, 0,192, 54,111,222,188,178,246,203,219,219,187,206,171, 89,179,102,149, 45, 90,180,120,238, +236,236,220,177, 33,206,113,237,193,178,201,251, 88, 54,121, 31,187,164, 55,216,164,164,164, 59, 44,203, 94,211,189, 20, 10,197, +181, 99,199,142, 93,123,255,253,247,175, 1,120,207,200,121, 50,235,124, 78, 2,178,101, 39, 78,176,236,166, 77, 44, 27, 30,206, +166, 0,236, 36, 32,187,145,156, 45, 61, 60,120,241,235,215,125,162, 62,113,226, 55,246,236,217,211,236,153, 51,177,236,241, 99, +187,216,205,155, 62,167,220,221,121,137, 0, 90, 55,130,147, 11, 96, 13,128,141,168,182, 92,166, 74,165, 82, 54, 63, 63,159, 5, +144, 90,243,221, 70, 87, 87,215, 13,104,216,250, 54,160,182, 37,107,238, 16,143,179, 31,188,211,147,149,149,231,177, 31,188,211, +147,157, 59,196,163,142,101,107,136,175,175,237,172, 97,237,165, 73, 15,246,210,179,134,181,151, 14,241,245,181,125,195,243, 73, +160,122,157,208,109, 87,174, 92,209,178,181,160,209,104,216, 61,123,246,208,142,142,142,191, 53,130,179,141,171,171,107,150,147, +147, 83,106,237, 47, 93,131, 71,116,247,239, 53,105,185,115,187,247,195, 27, 81,206, 80, 17,159,255,242,226,161,159,232,226,236, +199,172, 90, 81,192,150, 63,139, 99, 95,166,220, 97,247,236,216,168, 17,112,185, 47, 1,132,190,205,189,212, 72, 88, 56, 45,156, + 22,206,255, 64, 78, 99, 90,228,191, 25,220,250, 21,172, 15,161, 80, 16,185,124,201, 66,162,172,184, 76,161,172,144,169, 53, 74, +165,146,228,179,202,199,201, 47, 10, 73, 46,167,108,238,156,217,182,145,139,150, 68, 86, 1, 19,204,252, 79,239,144,144,144,123, + 71,143, 30,117,115,114,114, 66,121,121, 57,138,139,139,113,239,222, 61,176, 44,139,145, 35, 71, 10,187,118,233,210,113,233,178, +101,183, 95,230,230,134,193,112,199,251, 74,188, 56,185, 96, 93,207,234,181,104,191,206, 44,174,238,117, 8, 2, 59,199, 68,232, +143, 89,249,178,122,181, 12,145, 72,164, 95,144,248, 13, 16,214,191,127,127, 62, 0, 76,155, 54,173, 66, 38,147, 69,213, 88, 56, +204, 90,105,213,218,205,175,175,139,167, 87,236, 79,219,215,137,219,183,242, 3,165,209, 34, 43, 63, 15, 92,158, 3,154, 54,229, + 99,234,132,129,188,222,221,157, 92,214,172,218,121, 58,159,193, 8,121, 81,218,121, 67, 92, 14, 14, 14,123, 14, 30, 60,136, 67, +135, 14, 1, 0, 82, 83, 83,225,231,231,103,109,170, 12,137,137,137,190,239,189,247,222,129,226,226,226,214,166,142,173,159, 24, + 95, 40, 20,162,103,207,158,104,215,174, 29, 78,156, 56,209,167,198,178,245, 86, 80,220,184, 1,155, 71,143,128,235,111, 52,120, +105,217,169,147,207,157, 51,167,247,186,156, 62,147,130, 13, 27,118,225,249,243,106, 67,155,175,175, 47,198,143, 27,195,123,252, +248, 86,224,232,209,227,111,253,241,199,243,158, 53, 66,201, 20,190,249,249,231,159, 23,183,104,209, 2,163, 71,143, 30, 19, 24, + 24,232, 97,103,103,135, 29, 59,118,192,211,211,211, 87,173, 86, 63, 59,113,226,132, 87,126,126, 62,102,207,158,141,130,130,130, +249,134,136,250, 12,238,179, 84, 56, 44,160, 87,219, 78,147, 97, 99,231,137,159,247, 31,196,211,135,123,122,169,168,148,165,124, +250,250, 68, 5, 43,156, 34,205,182,137,108,222, 57,220,185,117,224,123,240,233, 20,231,162,164,255,120,177,116, 96,203,104,174, + 72,185,103,197, 6, 73,241,107,164,163, 99, 56, 65, 21, 79,156, 18, 47,162, 24, 88,193,232, 4,150,222, 90,203,226,189,222,189, +123,235, 47, 92,102,102, 38, 84, 42, 21, 2, 2, 2, 72,181, 90,221,215,204,243,218,102,208,160, 65,127,158, 57,115,198,185, 77, +155, 54,210,146,146, 18,253, 14, 15,103,135,193,215,143,110,158,189,230,251,127,250,255,206, 18,101,210,148,227,143, 77,112,133, +246,232,214,233,210,217,163,123,109,136,202, 28, 8, 28,138, 0,166, 24,233, 7,126, 5, 97,229,132,177,159,206,227,246,237,223, +175,201,192,119, 70, 93,122,154,246,188, 63,128,251,150,113,189, 5, 22,252,173,173, 90,236,255, 90,157,244, 66, 43, 34, 34,130, +104,168,130, 12,203, 4,187,187, 57,139, 55,175,223,125,159, 67,169,213,214, 14,246,106,158,189, 29, 67,216,218,115, 40,181,166, +210,199,215, 71,192,176, 76,176, 1,254,250, 83, 60, 9,177, 88,124,244,228,201,147,110, 60, 30, 15, 12,195,192,213,213, 21, 25, + 25, 25, 40, 43, 43,131, 76, 38,195,243,148, 20,180,240,110,134, 21,145, 11, 61,103, 47,140, 60, 42,151,203, 59,163,174, 27,241, +181,105,163,180,166,238,186,209,186, 37, 88, 94, 27,242,215,124,215,192, 62,115,167,162,102,100,103,103,195,198,198, 6, 65, 65, + 65, 54, 55,111,222,252,195,136,200,170,195,233,232,232,107,203, 8, 5,135,182,253,180, 76, 76,105, 18,145,156, 94,130,182, 45, +122,193,221,217, 27,121, 37,106,220,185,119, 18,137, 9,251,208,170,137, 55,102,126,218, 79, 20,189,238,240, 65,190,182,133,119, + 89, 89, 70, 69, 67,156, 21, 21, 21, 54, 45, 91,182,132,183,119,245,186,103, 52, 77, 35, 57, 57, 25, 52, 77,235,183,107,191,239, + 62,114, 5,218,138, 44, 76,158, 52, 9,197,197,197, 54, 13,113,242, 56,208,206,251,100, 60, 87,204, 3, 4,214, 78,234,202,202, + 74,253, 50, 28, 20, 69, 33, 62, 62, 30, 97, 97, 97,225, 49, 49, 49,166, 84,145, 89,231,147, 2,190,251,254,183,223,182, 76, 40, + 47, 39, 1,224, 23,130, 96, 40,150,253,206,220,123,201,205,141,119,228,220,217,223, 93, 56,228, 19, 56,217,127,139,123,247,178, + 64, 81,213,229, 45, 46, 46,196,172,207, 43,192,231,217,226,196,137,127, 58, 7, 4,244, 60,146,159, 79, 5,161,174, 27,177,161, +114,138,206,158, 61,139, 89,179,102, 33, 57, 57,217, 75,183, 70,155, 88, 44,198,250,245,235, 57, 1, 1, 1, 94,214,214,214, 56, +119,238, 28, 10, 10, 10, 8, 99,229,188,118,254,218,234,242,231, 87,151,230, 19,231,134,252,188,255, 32, 62, 30, 55, 22, 30,108, +250, 31,246,173,136,213,131,134,245,248,154,229, 52,139,176,182, 13,118,244, 11, 26, 6,190,192, 6, 51,191, 90,137,212,196, 83, +142,114, 89,194,231, 4,157,211,108,197,134,152, 57,175,149,243,240, 24,122,218,190,155,157, 46,122,223,247,121, 20,255,201, 93, + 73,220,206,132, 87, 66,203,151, 75,144,180, 61, 80,189,172,201,179,103,207,240,252,249,115,112,185, 92, 40, 20, 10,104,181,218, + 6,203,233,229,229, 53, 67,171,213,126, 93,115,157,119,139, 68,162,143,246,238,221,235, 92, 91,104,187, 6,143,232,238,108,107, +221,191,160,176,184,244,214,253,164,167,243,102,140,238,115,227, 78, 98, 14,197,123, 63,187, 60,225, 68,185,129,243, 41, 18, 11, + 4, 71,206, 29,251,167,141,230,197, 21, 88, 7,244, 1,207,198, 15,180, 38, 23,242,210, 42,200,158, 75,160,250,233, 71,116,248, +124, 46, 78, 29, 63,108, 19,216,190,115,140, 74,163,241, 3,160,126,131,103,179, 49,176,112, 90, 56, 45,156,255,153,156, 6,181, + 8,203,178,157, 0,184,215,108, 22,215,232, 2, 23, 0, 69,168, 94, 81,192,189,166,237, 16,212,250, 89,253,237,218,199,214,223, +174,253,185,184,230,179, 91,205,251,125,130, 32, 74, 76, 20,221, 19,213, 75, 19,158,174,121, 7,106, 92,137, 38, 3,143, 9,130, +172,160,105, 70,200,119,117, 83, 78,251,160,127,251, 11,151, 30,196, 91,185,216,113, 7,247,233, 24,126,239,241,139,219, 4, 73, +104, 8,130, 52, 43,238,131,195,225,140,221,188,121,115,123, 59, 59, 59, 48, 12, 3,123,123,123, 72,165, 82,168,213,106,148,151, +151, 67, 37,171, 0, 37,171,192,163,156, 76,244, 8,239,131, 81, 67, 6, 5,252,243,248,201,177, 52, 77, 31, 48,198,235, 21,220, + 81,111,201, 90,217,220,249,149,105, 34,167, 76, 47,186,190,237,232, 7,190,141, 13, 6,206,139,124,155,123, 32,238,244,233,211, +103, 71,142, 28,249,206,130, 5, 11, 72,137, 68,114, 46, 35, 35,163, 7,128,100,147,162, 66, 40,250,226,179, 47, 34, 28, 29,109, + 88,196, 92, 60,137,222, 29,199,193, 74,192, 65,113, 5, 5,130, 0, 82,146,142,130, 32,156,144,144, 42, 65,175, 14,118, 24, 52, + 56,192,230,248,225,148, 5,120, 21, 31,244,218,165, 41, 45, 45, 69, 97, 97, 33, 52, 26, 13, 52, 26, 13, 70,143, 25,131,223,247, +236, 65, 85, 85, 21, 20, 10, 5,212,106, 53,104,154, 6, 73,146,184, 24, 27,131,156, 23, 41,232, 30, 22, 6, 24, 88,122,105, 79, + 60,120, 0,238, 60,125,250, 20, 41, 41, 41,120,249,242, 37, 68, 34, 17, 60, 60, 60,176,114,229, 74,168, 84,213,235,137,141, 25, + 51, 38, 28,192,227,183,125,160,158, 3, 59, 51,104,122,233, 59,199,142,185,221, 60,118,140,185,115,234,212, 75,161, 76,182,195, +156,223,242,249, 24,189,238,187, 79,219, 90, 91, 91,227,101,246,102,248,251,243, 49,127,174, 51,162,190, 45, 2, 0,204,158,213, + 20, 93, 58,187,160,162,236, 48, 92,220, 22, 99,203,150, 57,173,166, 76,217, 56, 73, 46,167,119,155,160, 94,122,242,228,201, 81, +126,126,126, 77,226,226,226, 8,129, 64, 0,177, 88, 12,177, 88, 12,145, 72,132,194,194, 66,100,100,100,176,235,214,173,203, 5, +176,212, 24,209,138, 45,146,219, 0,222,153, 59, 4,103,159, 62,220,211,171, 9,231,197,163, 81, 51,123,102, 38,220,137,147, 93, +184,120,115,149, 86, 41,202, 41,123,121,105, 97,203, 46,113, 46,159,127,249, 13,126, 92,183, 28, 79,239,222, 40,113,247,174,216, + 42, 38, 84, 13,150, 51, 60,124, 5,215,211,221, 73, 59, 99,202, 40,135, 83,238,183,102,156,225, 18,210,252,162,135,235,145, 17, +167, 16,182,238, 56,177,141, 47,169,190,114,229,138,184,119,239,222, 80, 42,149,122,203,228,222,189,123, 25,173, 86,123,181,193, +123,147,162,190,206,205,205,245, 84, 40, 20, 24, 50,100,200,236,245,235,215, 91,235,214,147,163,105,186,142, 37,107,245,166,223, +207,127,241,245,214,171,231, 15,124,235,181, 58,242,163, 62, 19,102,174,185, 10, 3,235, 72,114, 73,242,243, 83,199,118,121,136, + 28, 53, 16, 59, 13,130,178, 64,129,167, 59, 63,134,188, 66,137, 46,171,191, 1, 32,128, 90, 67, 98,199,176,209,224, 57,123, 97, +249,244,143,188,150,236,248,249, 83,134, 97, 54, 91,198,245, 22, 88, 96, 65, 61,184, 19, 4, 17, 11, 0,145,145,145,139,163,162, +162,146, 8,130,136,101, 89, 54,162,198,128, 18,203,178,108,132,238,152, 26,113,246,218,182,238,216,250,219,245, 63, 47, 90,180, + 40, 48, 58, 58,122,109, 88, 88,216,129, 91,183,110,189, 0, 96, 74,104, 13,173, 17, 86,175, 45,189, 67,234, 20,100,237,247, 58, + 22, 45,134,185,241,236, 69,166,124,208,128,174, 77, 99,175, 63,190, 63,117,234,208,254, 99,135,245, 30,156,145, 93,156,210,202, +199,195, 37, 41,233,177, 29,195, 48, 55,204, 57, 75, 66,161, 48,162, 95,191,126,220,210,210, 82, 88, 89, 89, 65, 42,149, 34, 55, + 55, 23, 20, 69, 65, 89, 94, 6, 85,121, 25,148,101,165,160,202, 75,241,252,193, 61, 4,183,242, 21,214, 4,203, 27,133,206,234, + 82,223, 82, 85,219,178, 37,176,181,133,208,214, 22, 68,227,221,134,239, 59, 56, 56,220,209,117,170, 20, 69,125,190,112,225,194, + 34,134, 97,176,102,205, 26, 59, 27, 27,155, 24, 0, 66, 83, 36,182,174,156,136,176, 14, 65,228,147,140, 4,244, 12,153,140, 54, + 45,223, 69, 70,129, 2, 69, 50, 10,133,101, 20,186,244,254, 1,205, 67,190, 65,179, 14, 81, 72,201, 42,129, 87, 19, 63, 18, 92, +161,209,197,159,115,114,114,234,108, 31,216,191, 31,114,185, 28,173, 90,181,194,184,113,227,176,112,225, 66,140, 27, 55, 14, 94, + 94, 94,152,240,193,123, 88,190,124, 57,242,243,243, 77, 21, 85,213,166, 77, 27,149,143,143,143,202,199,199, 71, 69, 81, 20, 42, + 43, 43, 81, 86, 86, 86,255,124,207,105,236,137,116,115,115, 91,228,225,225,145,224,230,230,150, 36, 20, 10,207,196, 19,196, 19, +165,143,143,123,143,225,195,137,118, 31,124,192,201, 18,139,137,235,128,141, 57, 92, 46, 78,188,161,125,251,189, 35, 40, 43,221, +165, 55, 82,125, 52,213, 21,127, 94, 15,196,205, 63, 58, 99,214,231,173, 64,144, 34, 16,164, 0,242,170, 43,232, 26, 26,198,119, +112, 32, 76,221, 75,227, 1,196,247,232,209,195,107,230,204,153,132, 80, 40,196,236,217,179,169,233,211,167,167,141, 27, 55, 46, +237,242,229,203,180,143,143, 15,154, 53,107, 70, 52,107,214,204, 19, 64,124,205,111,140,194,174, 21,177, 90, 69,165,252,225,224, +103,253,130,134, 75,247, 74,141,112,244,138, 13,146,226,213,219, 94,108,200,120, 42,247,125,122,247, 70,113, 90,226, 41, 38,227, +254,181,162,188, 52,153,239,234,109, 47, 54, 44,222,154,215,224, 67,125,253, 58,152,163,177,215, 41,121,149,156, 59,124, 88, 95, +249,140,105, 99,219, 56,217, 4,238, 69,147, 65, 33,205,189,155, 78, 88,190,118, 11, 53,253,211, 47,168, 95,126,221,197,202,100, + 50, 84, 84, 84, 96,203,150, 45,218, 83,167, 78,229,210, 52,253,133,161, 49, 16, 0,104, 52, 26,204,152, 49,195,218,206,206, 14, + 57, 57, 57,122,139, 40, 0, 72,164,197,143,111,222, 79,124, 50,239, 31, 99,194,171, 84, 42,213,249,107, 15, 82,218,249,249, 52, + 37, 8,214,224, 68, 20, 1,143, 55,176,115,215,174, 28,150, 45, 3,193,245,198,243, 61,235, 80,145, 95,130,138,194, 18,112,120, +214,208, 66, 8, 13, 35,128, 67,112, 40, 82,239,199,161,137,171, 59, 87,200,227, 13,182,244, 39, 22, 88,240,247,132, 49, 45, 82, + 91, 44, 69, 71, 71,175, 53,182,191,214,187,186,222,182, 94, 72,213, 23, 97,181, 63, 3, 64,116,116,244, 90,150,101, 35,110,221, +186,181, 31,128,194,204, 42,124, 82,235,221,252, 60, 90, 28,165, 58,106,193,194,165,112,180, 23,219,135,118,244,243, 56,113,238, +250,131, 27,183, 30,164, 52,111,230,226,202,106,212,142,223,109,252,177, 41, 33, 87, 68,155, 89,136, 0, 23, 23, 23, 80, 20,133, +103,207,158,225,229,203,151,160, 40, 10,218,170, 42,168,202,202,160, 44, 45, 5, 93, 37, 3,159,166,161,144, 22,194,217, 74, 4, +188,154,145,104,194,242, 70, 52, 40,180,116,239, 34, 59, 59, 8,109,237, 64,242,120, 38, 87,138,175,133, 78,161,161,161,135, 18, + 19, 19,187, 14, 24, 48, 96, 21,170,167,200,103,229,230,230,246, 95,182,108,153,202,221,221, 29, 51,102,204,104, 11, 96,178, 73, +145, 41, 80, 7,248,120,180, 69, 27,223,201,104,222,172, 31,202,170, 52,144, 86,104, 80, 88, 70, 97,199, 15, 97, 56,242, 75, 40, +254, 60,210, 11,137,231, 7,162, 76,227, 1, 27,175,247,193,210,234, 64, 99,156, 23, 47, 94,196,202,149, 43,177,106,213, 42,172, + 89,179, 6,171, 86,173, 66,110,110, 46,130,130,130,144,157,157,141,179,103,207, 66, 34,145,192,197,197, 5,247,238,221,195,166, + 77,155,240,231,159,127,154,172,180, 78,184,154,113, 76,163,124,233, 90,173,118,138,100,248,240,246, 5, 78, 78,237, 58,118,236, +248,206,236,217,179,125,123,244,232,161,223,239,235,235,235, 45, 22,139,243, 81, 61,131,178,131, 49, 46, 6,232,232,234, 26, 4, +181,234, 73,205, 53,230,129, 32, 68,232, 55, 48, 5, 61,122, 61, 0,165,225,131, 36,132, 32, 73, 17,180,218, 98, 56, 58,122,129, +101,137, 32, 19, 69, 92, 38,149, 74,253, 46, 93,186, 68,102,100,100, 64, 36, 18, 1, 64,230,138, 21, 43,126,220,176, 97, 67,178, +179,179, 51, 29, 27, 27,139,227,199,143, 35, 34, 34,130, 51,125,250,116,191,102,205,154,109, 55, 85,239, 21, 91, 36,183,247,109, + 60,251, 33, 79,227,216, 65, 36,110,222, 2, 85, 54,239,127, 22,238, 98, 13, 0,231,210,211,101,110,222, 21,209, 85,178,132,108, +135,166,149,223,158, 75, 55, 53,227,116, 5,243, 48,237,201,157,125,199,206,149, 23, 22,148,242, 58,182, 15, 84, 68,173,252,146, +223,188, 69,235,239,150, 47,252,135, 71,110,133,168,108,224,236,179, 79,142,158,187, 87, 57,113,234,199,218,105,159,204, 84,158, + 61,119,241, 24,195, 48,237, 97, 96,198, 33,195, 48,144, 72, 36, 72, 74, 74, 66,122,122, 58,164, 82, 41,138,138,138, 32,147,201, +244,238, 70, 43, 89,197,233, 31,127, 59,245,200, 90, 44,182,234,218,222,207,251,110, 92,114,161,181, 88,108,229,215,194,187, 13, +176,162,193,118,132,166,233,246, 34, 43, 49, 0, 2,101,137, 55, 80, 89, 90,137,202,178, 74,200, 74, 42,161,162, 56, 80,170, 72, + 40,212, 36,124,194, 7,161,178, 74,137,202,226,114, 48, 52, 29, 98,233,110, 44,176,192, 2, 35,125,125,108,100,100,228, 98, 51, +143, 53,219,189, 89, 95,120, 69, 70, 70, 46, 38, 8, 34,118,209,162, 69,129, 48, 60,161,170, 54,118, 54,240, 2, 96, 70,122,135, +226,226,180, 74, 91, 34, 96,228,220,175,190, 62,187,255,215, 31,220, 84, 42,121,182,179,163, 13,109, 99, 37,112,153, 54, 99, 13, +100,149,165, 35,170,204, 79, 71,128,210,210, 82,188,120,241, 2, 98,177, 24,124, 30, 15,180, 66, 1, 90, 81, 5, 69,105, 49, 72, + 74, 5, 62, 77,195,201, 74, 12, 31, 47, 15, 52,119,247, 48,139,243,217,149, 11,250,192,247,218,238,194,117,161, 1, 16, 88,219, + 64, 96,107,131,207, 98,175, 1, 0,248,124, 62,176,108,149, 89, 70,147, 38, 77,154,156,220,183,111, 31, 95, 42,149, 34, 62, 62, +254, 17,128,114, 0,182, 0,152,148,148,148, 75,137,137,137, 17,126,126,126, 0,208,202, 20, 89, 69, 17, 73,107,180, 44,114,242, + 51,145,241, 50, 14, 78,246, 45,193,179,106,131,194, 50, 10, 66,113, 75,104, 84,175,188,143,202,138, 44, 40, 40,142, 89,117, 87, +171,213,208,106,181,208,106,181, 80,171,213,248,228,147, 79,112,243,214, 45, 28, 56,126, 25, 47,158,167,162,109, 11, 15, 76,154, + 52, 17,161,161,161,184,117,235,150, 81,174,201, 29,160,105, 98, 3,238,198,119, 72, 8,108,156, 85,221, 22,158,191,107, 74,108, + 17, 4,193,194,128, 43,178, 30, 54,132,133,133,181, 78,173,170, 66,210,147, 39, 24,176, 98, 5, 0,224,204,153, 51,117,234, 50, +111,222, 60, 65,114,114,242,180, 7, 15, 30, 76,203,203,203,219, 8,160,225, 96,115, 22, 56,125,250, 54,254,241,143,100, 72,165, + 82, 0,192,193,253,175,116,105,198, 11, 10, 67,134, 86,123,180, 28, 28, 28,176,113, 99,144, 89,231,147,166,105,236,220,185, 83, +239, 46, 4, 0, 46,151,219, 99,222,188,121, 35, 27, 58,190,117,235,214,124, 83,156,115, 71, 55, 17,253,249,136,253,220,190,117, +243, 64, 59,151, 96, 20,107,226,130,226,114, 37,179,230,142,110,178,121,211,225, 92,165,152, 80,237, 38,232,156,102, 92,145,114, +143, 57,101, 76, 63,247,131,186,216,103,202,158,124,105,197,146,153, 31,143,119,182,115,112,171,250,229,199, 40, 71,146, 67,178, + 39, 31, 80,101,129,190,206, 14,239,119,251,190,242, 31,115,151,197,169,181, 57, 51,145,115, 50, 21, 70, 82, 92,213,158,247, 9, + 0, 0, 32, 0, 73, 68, 65, 84,208, 52,141,188,188, 60, 72,165, 82,100,103,103,163,168,168,218,253, 90, 84, 84, 4,134, 97,222, +166, 65,132, 34, 59, 27, 89,199,126, 65,243,137, 19,209,101,213, 74,208, 12, 23, 10, 57,141,141,221,251,163,180, 92, 1, 21, 67, +192,171, 83,119,124,124,230, 15,144, 44, 13,236,216,106,233, 73, 44,176,224,111, 10,115,210, 59,232, 4, 81, 84, 84, 84,196, 95, +253,255,181,197, 86, 84, 84, 84, 82, 84, 84, 84, 99,254,171,190,203, 80,191,173,139,209,186, 86, 43, 0,237,181, 78, 83, 86,148, +146,158,156,204,205,171, 82, 84, 89,185,187,185,170,172, 68, 66,166,188, 66,198,137,123,252,136,170,202,127,254,180, 17,245, 72, + 73, 76, 76, 12,202,203,203, 67,118, 86, 22,180,138, 42,144, 42, 53, 88,165, 28, 3,122,118,135, 8,128,136, 36,192,103, 40,112, + 57, 2,200, 42, 43, 0, 32,197,100,231,168,209,188,102,217, 34, 8, 2, 2, 91, 91, 8,172,173, 33,176,177,173, 99,225, 50,199, + 98, 35, 20, 10,247,197,196,196,120, 54,105,210, 4, 43, 87,174, 68,211,166, 77,253,189,188,188,228,246,246,246, 98,119,119,119, +180,107,215, 14,221,187,119,199,217,179,103, 1, 51,114, 74,105,180,162,132,167,153,232, 81, 84,114, 11,127, 92,251, 9,106,133, + 10, 29,195,127, 2,197,109, 14,215,192,111,192, 60,219, 11,121,254,137,106,235,129,199, 48,188,204,206, 4,193, 17, 36,153,107, +121,210,125,126,244,232, 17,246,159,184, 14, 79,159, 0,100,167, 61,193,147,171,151,112,211,213, 25, 62, 1,237,244,110, 32,131, +101,164,193, 93,189,181, 58, 77,212,210,207,199, 11, 75, 74, 74,132, 78, 78, 78, 42,221,185,243,244,244,124, 27,177, 53,126,193, +130, 5, 40,227,241,128,161, 67,193, 79, 79, 7, 69, 81,232,214,173, 27,186,116,233, 2, 0,232,214,173, 27,184, 92, 46,130,131, +131,225,229,229,133,173, 91,183,142, 55, 36,180, 72, 2,241, 90,109,177,191,175,175,175, 94,104,237,249, 93,138,184, 7, 3, 65, + 64,128, 45, 63, 62,211, 31,235,237,237,141,124, 73, 58, 8,130, 77, 52, 81,198, 85, 30, 30, 30,203, 60, 61, 61,125, 55,108,216, +192, 17,137, 68,248,244,211, 79, 91, 86, 86, 86, 54,175, 49, 37, 99,209,162, 69, 0,128,229,203,151, 99,197,138, 21, 80,169, 84, +114, 67,100,123, 54,182,247, 42, 44, 97,166,177,149, 86, 35,250,186, 52,111,223,111,240, 0,180,244,235,135,126,131,179, 1, 96, +173, 19, 55,243,131,239,150, 56, 28,115,176, 37,118, 93, 56,119,113,121,207,240,126, 75, 22, 86, 94, 93,253,237,206, 50,147, 49, +143,229, 89,187,101, 79, 5, 99, 55,253,176,253,247, 77, 95, 47,154, 35,202,150,170, 75,115, 75,217, 74, 27, 33,215,166,149, 59, + 97, 51,235,171, 85, 47,242,242,210,231, 35,231,156,201,153,150, 12,195, 32, 61, 61, 93, 31,211,167, 84, 42, 81, 85, 85,133,156, +156, 28,253, 61,163,176,182, 27, 50,115,234,176,144, 42,133, 66,126,247,113, 90,246,210,217, 19,194,170, 20, 10,121, 90, 70,118, + 42,176,165, 65, 53, 70,146,228, 99,185, 76, 62, 64, 94,166,132, 52,254, 41,154,246,247,129, 70, 75, 64,173,165, 33, 45,150, 65, +165, 5,104,146,135,192, 15, 38,129, 38,184, 40,202,203, 5,201,225, 60, 66,221,160,125, 11, 44,176,224,239, 3,163, 90, 68,103, +209, 10, 11, 11, 59, 80,219,234,164,251, 12, 64, 5,227,161, 60,210,218, 98, 74,231, 78, 52,244, 63,245,120,205,197,107, 49, 90, + 38,211, 59,232,254,179,153,125,133,215,186,229, 19,154, 50, 90,109,219,194,162, 2, 45,151, 43,228, 53,179, 87, 72, 74,178,205, +255,119,149, 74, 21,123,233,210,165,225, 3, 7, 14, 20,166, 61,126, 4,117,121, 57,212,229,101,224, 49, 90, 56,137, 59,131,164, + 84, 32,212,106, 52,241,103,160,148,137,113,253,102,162, 70,165, 82,197,154, 43,180, 72, 14,167,110, 92,150,141, 13,132,182,118, + 16,218,216,212,119, 45,154, 18, 5, 86,131, 6, 13,234,223,173, 91, 55,176, 44,139,157, 59,119,130,162, 40, 1, 69, 81, 80,171, +213,160, 40, 10, 21, 21, 21,248,253,247,223,177,109,219,182,155, 0,126, 51,217,153,105,213,151,206, 95,188, 18,250,209,132, 8, +222,153,216,141,208,170,105, 40,136,166,168,170,210,160, 82,109, 5,218,121, 34, 80,112, 26, 28,174, 8, 97,193, 45,113,226,240, + 81, 10, 90,213,101, 51, 85,120, 29,171, 80, 78,118, 38, 94, 62, 79,133, 77, 69, 62, 92,237,172, 32, 79, 79, 69,199, 73,147,223, +200, 58,209,172, 89, 51, 48, 12,131,190,125,251,234,131,171,223, 84,108, 21, 23, 23,227,212,169, 83,232,214,173, 27,194,195,195, +145,155,155,139,244,244,116,188,251,238,187,250, 99, 30, 61,122,132,184,184, 56,180,106,101,220, 72, 88, 84,162, 57,243, 50, 39, +126,204,251,239,191,207,191,115,231, 14, 88,150,133,159,159, 29,236,108,173, 65,144, 66, 4, 4,184, 1,168, 30, 3,244,233,211, + 7, 21, 21,233,218,210, 82,246,140,137,234,238, 3,112, 92,173, 86, 63,235,221,187,183,215,243,231,207, 49,119,238, 92,238,193, +131, 7,117,166,100, 68, 70,214,157, 76,161, 80, 24,118,221,183,109,239,255,101, 75,173, 99,184, 72,220,188,133,157, 75, 48, 90, +250,245, 3, 0, 12,140,248, 8, 45, 91,123,163,162, 40,161,133, 82,145, 57,130,207, 45,117, 76,216,146,155, 44, 30, 26, 52, 85, + 89,120, 45, 13,213,174, 83,147,151, 93,145,118,176, 32,155, 55,241,208,241,147,103,103,188, 27,241, 30, 79, 67,107,181, 65, 62, + 60,135,152, 99,167, 11,115,179,178,191, 71,246,185,196, 87,246, 63,163, 86, 60,186,162,162, 2,214,214,214, 72, 76, 76, 84, 13, + 29, 58, 84, 72,146, 36,158, 61,123,166, 23, 90,110, 46, 78,237,122,116, 9,242, 95,189,233,247,243,214, 66,161,112,112,159,206, + 1,201,105, 89, 47, 89,150,200, 52,104,109,213,104, 46, 62,142,127,212,215,213,171, 53, 39,253,218, 29, 56,247,122, 23, 42, 21, + 9,133,154,129, 74, 11,104, 57,124,120,118,232, 10,135, 86, 1, 96, 1,220,191,115, 83,163,210,104,206, 91,250, 26, 11, 44,248, + 91, 91,181, 88, 99, 34,169,230,115, 9,128,204,168,168,168,162, 90,214, 38, 41,128, 71, 0, 66,106,142,147,214,251,157,148, 32, +136,251, 44,203,118,169,197, 35,173, 37,184,106,127, 86,215, 59,230, 81, 35, 68, 86,237,247,186, 66,203,208,148, 74, 0,112,113, +113,113,235,216,177,115,171,159,127, 61, 4,150,101,241, 52,110, 61, 74, 11,159, 96,217,218,219,173,154, 52,105, 18,158,155,155, +123,221,156, 18,208, 52,125,112,215,174, 93,243,187,118,234,216,177, 69,211,166,120,148,153, 1, 62, 75,131, 79,211, 32, 41, 21, +184,180, 26, 77,131,104,144,132, 13,242,242,202, 17,189,239, 80, 98, 77,150,120,163,240,127,247, 61,172,124, 89, 14,130, 32,176, + 33, 44, 8, 2, 91, 27,240,173,109,240,217,201, 43,122,113, 21,187,114, 17, 4, 54, 54,104,213,213,172,132,240,242,171, 87,175, + 62,120,252,248,113,151,160,160, 32,204,159, 63, 31,153,153,153, 96, 24, 6, 5, 5, 5, 74,137, 68,146, 43,149, 74, 51, 1, 28, + 3,240, 51,204,200, 60,206, 87, 41, 55,199, 30,217, 51, 51,172,103,184,203,251, 35,182,225,248,225,121, 40, 43,175,128, 92, 43, + 70,149, 82,139, 42, 21, 7, 78,206,237,209, 53, 56, 24,121,185,133, 72,186,115,190,146,171,146,175,111,204, 13, 74, 16, 4,226, +226,226,224,235,101,139,212, 63,174,195,197,138,135, 16, 47, 15,120,245,232,169,207, 47,101, 12, 60, 14,180,227,199,143,215,103, +134, 31, 52,104, 80,198,196,137, 19, 61,231,205,155,135, 95,127,253, 21, 55,111,222,124, 45, 64, 59, 60, 60, 28, 55,110,220,248, + 6,192,114, 83, 70, 61,181, 90, 13,127,127,127,220,191,127, 31,151, 46, 93, 66,191,126,253, 16, 30, 30,142,132,132, 4, 92,184, +112, 1,113,113,113, 32, 8, 2,206,206,206,208, 84,139,103,141, 33, 50,138, 66,204,183,223,237, 90,188,105,211,182,192, 9, 19, + 38,224,200,145, 3,248,104,106, 91, 16,164, 16, 4, 33,196,123,195,218, 98,229,170,251,232,218,181, 15, 92, 92,120,216,180,241, +196, 11,133,130,254,221,140,211,184,250,194,133, 11, 94, 74,165, 18,101,101,101,172,141,141, 13, 81, 92, 92, 61,163,181, 33,139, +150, 92, 46, 23, 25, 34,122,252, 48,101,125,153,140, 45,101, 43,227, 70,148,104,227,218,247, 27,156,131,129, 17, 83,113, 49,246, + 55, 92, 57,127, 9, 78,220,204, 12, 88,203,206, 22,101, 20, 85, 72,170,252,182, 7,116,154,206,121, 89,117,126,251,172,247, 82, + 57,158,158, 76,204,162,159, 42,202,140, 9, 45, 0, 68, 73,242,222,147,199, 88,188,215, 61,172,107,235, 32,111, 79, 65,105, 81, + 33,123,248,196,217, 68, 42,227,200,169, 90, 2,139, 53, 33,212, 87, 70, 70, 70,126, 93,243,121,247,210,165, 75,167, 71, 71, 71, +187,230,231,231,235, 99,180, 10,139, 74,174,116, 31, 58,139, 46, 46, 43, 87,239,218,244,213,104,177, 72, 40, 88, 26,189,235,154, +134,131, 59,134,120,181, 12,179,245,131,185,203,230,164, 61,141,107,210, 92, 44,192,137,175,150,227,209,133,171,208,144,124,252, +227,210, 93,168, 40, 26,101, 69,197,184, 60,237,115,216,184, 59, 98,219,181, 35, 5, 12,195,252,100,233,106, 44,176,224,239, 11, + 67, 90,132, 32,136,134,114,236, 21, 52,240,221,125, 99,191, 51,192,243, 87,192, 96, 86,120,179,166,224, 21, 21, 21, 21,222,184, +113, 23,215, 98, 87,227,122,236,106, 36,197, 61, 66, 94,174, 26,185, 5, 74,216,217,217,221, 54,242,211,250,153, 99, 89,185, 92, + 62,114,233,178,175,243, 69, 98, 43,244,238,223, 31, 30,174,110,176,226,243,192,209, 50,224, 16, 60, 84, 74, 29,144,154, 32,199, +194, 93,123, 11, 43,229,242,145, 13,116, 18, 3, 12,137, 12,130, 32, 32,180,179,133,192,198, 22, 66, 91,187, 58,110, 68,145,157, + 29, 68,182,118,224, 10, 4, 13, 5,195,191,198, 89, 89, 89, 57,106,244,232,209,165,229,229,229,152, 62,125, 58,174, 95,191, 30, +119,254,252,121,187,132,132, 4,177, 84, 42,109, 13, 96, 16,128, 29, 70, 68, 86, 29,206,210,210,116, 25,171, 85,141,141,250,250, + 11,133, 82,235,140, 49,147, 15,194,154,204,129,150,102,192, 2,240,114, 18,160,199,128, 85, 40, 84,119,199,193,237,107,228, 12, +165,156, 80, 47,135, 86, 29, 78,150,101, 89,119,119,247,215,206,193,165, 75,151, 48,102,244, 40, 12, 30, 49, 28,174, 45,124,225, + 54,224, 93, 12,158,254, 15,108,223,190, 29, 36, 73,194,197,197,165,126,199,171,231,220, 19, 15,222,254,199, 32,246, 63, 6,177, + 59, 14, 92, 0,147,246,238,221,251,109, 72, 72,200,213,155, 55,111,174, 7, 48,182,246,127,213,194,138,122,214,172,134,174,209, +146, 57,115,230, 40,210,210,210, 96,109,109, 13,173, 86,139,155, 55,111, 98,219,182,109,216,176, 97, 3,226,226,226,224,236,236, +140, 86,173, 90, 65,165, 82,225,254,253,251, 10, 0, 75,140,112, 50, 82,169,118,212,150, 45,209,197, 17, 17,189,176,107,215,143, +240,240,232, 14, 30,215, 3, 92,158, 43,172,109,252,241,203,207,223,226,157,119, 58,226,228,137, 67, 37, 69,197,218, 81, 0,180, +102,220, 75,202,187,119,239, 98,251,246,237, 24, 61,122,116,238,152, 49, 99,232,242,242,114,189, 69,139,101, 89,176, 44,139, 21, + 53, 49,102, 42,149, 74,104,136,243,227,133,137,185, 95,173, 73, 90, 89,144,159,219,237,250,213,219,227,175,156,191,132, 23,105, + 87,112,229,252, 37,252,113,229, 86,100, 65,126,110,183,142,161,109,248, 35,167,207,252,114,207,209, 35, 28, 27, 59, 79,236, 57, +122,132, 51,110,214, 23,107, 58, 15,238,183,196,212, 61, 95,115, 29,217,202,194,130, 69,107,215,255, 80,169,165,148,228,186,239, +183,230, 41,164,146, 37,181,238, 75,214,212,253,169, 80, 40,118, 40,149, 74, 47,165, 82,233,165, 82,169,150,100,102,102,246,158, + 63,127,190,148,166,105,189,181, 84,154,124,242,246,147, 63,119,175,117,115,113, 20,119,239, 18,216,118,227,142,195,215,178,115, + 10,254, 89, 43,135, 86, 67,229, 84, 86, 42,148,163,134,143,156, 88, 85, 86,170, 66,216, 23,145, 96, 68, 54, 80,209,128,134,229, + 64, 75,112,241,120,245, 70,136,157,108,177, 47,227,161,188, 92, 67,141, 66,221, 28, 90,198,234,254, 54,176,112, 90, 56, 45,156, +255,153,156,255,205,240, 68,221,181, 14, 61,235, 88,180, 76, 77,169,108,210,164, 73,239,247,223, 27,128, 62, 17, 75,193,178, 44, +158, 60,252, 14,165,210,167,104,226, 33, 68,122,118, 69, 24,128,235,141, 40, 76,118,102, 78, 78,183, 57, 75,150, 30, 29, 51,168, +127, 64, 80,139, 22,194,230,205,125, 96,237,230,134,162, 34, 41,254,188,147,172, 89,179, 63, 38,177, 70,100,153,229,152,100, 24, +166, 58,200, 29, 64,255, 57, 11, 65,112, 56, 64, 77, 26, 7, 93,199,216,162, 75,119, 16, 92, 46,104,150,129, 74,165, 50,103,182, +220,203,231,207,159,143,154, 48, 97,194,229,216,216, 88,114,240,224,193, 29,142, 29, 59,246, 54,107,230,161,170, 48,237, 42,128, +136, 53,139,102, 28,236,214,111,184,157, 95, 96,103,126,231,230, 28, 80, 26, 2,121,185, 89,136, 61,122,143, 74,190,123,190,130, +213, 42,199,202,139,210,174, 26,227,162, 40, 42,187,117,235,214,238,219,183,111,215, 7,195,211, 52,141,162,162, 34,220,190,125, + 27,237,187,116, 69,192,212,105,144, 74,165,216,178,101, 11,188,189,189, 49,108,216, 48,148,148,148, 64,171,213,154,235,240,165, + 1,156,175,121,161,158,200, 34,106,150, 0, 50,234, 54,244,245,245, 21, 40,149,202, 14, 44,203,114, 8,130,216,172, 86,171,167, + 44, 90,180,200,115,237,218,181,104,219,182, 45,138,138,138, 96,109,109, 13, 63, 63, 63, 72,165, 82,220,187,119,143,150,203,229, +219, 81,189,144,181,212, 68,249,158,221,187,151,209,109,246,236,207,142,126, 27, 61,195, 79,169,234, 35,112,114,234, 9,150,213, + 66, 42,205,132,172,226, 38,181,106,229,111,207, 11, 10, 53, 35, 1,164,153, 89,231,229, 51,103,206, 4, 0, 17,128,165,233,233, +233,241, 1, 1, 1,126,134, 44, 90,230, 96,211,225, 92, 37,128,253,163, 6,123,205,173, 40, 74,240,115,226,102,102,116, 11, 98, +182,108, 58,156,171,180,243,170, 90, 93,148,121, 61, 85, 82,117,126,251,158,163, 71, 56,147, 71,140,162,155,218,164, 69,138,220, +216,195,102, 80,179, 33, 33, 33,205, 8,162,164,101, 97,241,211, 7, 31, 77,159,241,129, 61, 95,113, 38,164,105,113, 43,210,187, +163, 40, 46, 46, 46, 3,141,156, 25, 90,131,212,220,220,220,222,139, 22, 45, 58,207,178,108,157,216,132,194,162,146, 43, 97, 17, + 51,217,178,178,242,120,105,202, 73,115,114,169,221,187,247, 48,174,127, 80,251,142, 71,190, 93, 27,237,222,103,206,124,110,234, +213,107, 0,173, 65,214,245,107,160,133,106,102,227,173,139, 5,229, 20, 53, 2,150,172,240, 22, 88,240,183,183,102, 25,211, 34, +255,225, 24, 10, 3,193,240,102, 87,198,183,101,147,243,109,253,154, 15,242,110,234, 10, 0, 72,207,200, 67,122, 70,238,133,244, + 23,185,131, 77, 40, 94, 67,211, 43,245,139, 74, 19, 53, 41, 28, 88,243, 22,149,174,195,233,236,236,252,128,203,229, 54,109,204, +217,160,105, 58,175,168,168,168,163,153,229, 28,215,162, 69,139,232,172,172,172,163, 12,195,204,109,164,218,111,144, 83,183,168, + 52,201, 21, 12, 96,181,234,246, 0, 64,112, 5,230, 44, 42, 93,155,179,189,141,141,205, 14, 30,143,231,173,187,142,186, 24, 44, +154,166, 57, 20, 69,137,104,154,230, 0, 32, 72,146,212,242,120, 60, 37, 65, 16, 90,173, 86,155,173, 82,169,102,224, 85,194, 81, + 99,117, 55,217,209,215, 8, 45, 52, 96,209,186, 4, 0,105,105,105,109, 28, 29, 29,199, 18, 4, 49,154,101, 89,127,153, 76,166, + 90,182,108, 89, 92, 76, 76, 76, 69,139, 22, 45,134, 12, 29, 58,148, 72, 72, 72, 64, 98, 98, 34, 91, 92, 92,124,184,198,138,149, +222,200,123,137, 20, 10, 57, 31, 58, 57,145, 67, 89, 22, 33, 96, 65, 16, 36, 30,151,151, 51,103,228,114,250,159, 53,130,177,177, +247,167, 14,227,155, 55,111,254, 91, 70, 70, 6,207,144, 37,213, 80,221,235,227,187, 37,129, 75,195,122,245, 26,117,251,143, 63, +142,125,181, 38,105,101,237,125,179,134, 59,126, 52,238,243, 57,223,237,223,250,253, 87, 63, 28, 47,221,101, 78, 57, 59,116,232, +224, 75, 16,196, 88, 0, 65, 44,203,182,102, 89, 66, 68, 16,108, 41, 65, 16, 73, 0, 18,212,106,117,108,114,114,242,203,183,168, +251,155,140,112, 13,113,234, 23,149, 6, 77, 7,211, 0,107,230,162,210,255,223,229,180,112, 90, 56, 45,156,255, 62,206,255,102, +124,210,192,119,230,101,134,215, 33,253, 69,238,224,244, 23,185,104,221,186, 53,251,236,217,179, 70,137, 52, 67,157, 52, 77,211, + 7,228,114,249,129,183, 33, 41, 46, 46,238,252, 47, 62,121,251, 51, 50, 50,246,255,149,132, 53, 66,106,101,205,235, 77,241,184, +178,178,178,171,185, 7, 83, 20,245,175, 56, 55, 68,141, 53,235, 27, 67, 7, 12, 26, 52, 40,139,162,168, 75, 0,114, 8,130,112, + 0, 80, 66, 81,212,121,173, 86, 91,240,236,217,179,206, 27, 55,110,212,101,190, 95, 5,224,193, 27,150,131, 81,169,232,125,121, +121,244,190,127, 65, 29,247,169,213,234,121,206,206,206,173,148, 74,165, 64,169, 84,242,107, 79, 62, 16,139,197, 82, 99, 1,241, +181,225, 96, 75,236,230,115, 75,157, 29,108,137,250, 66, 10, 78, 77,112, 68, 81,149,216,214,169, 9,142,152, 91,176,248,248,248, +244,144,144,144,189, 36, 73,182, 96, 89,214, 29, 96,237, 89, 22, 82,150,101,139,184, 92,110,110,114,114,114,238,127, 80, 35,164, +212, 50,204,122,173, 90,253, 42,238,208, 50,187,208, 2, 11, 44,248,223,129,193, 24, 45,110, 99,153,158, 61,123, 70, 88,206,167, + 5,181,197,150,177,157, 89, 89, 89, 42, 0,183,106, 94,245,241, 0,192,176,255,244, 10, 74, 36,146,142,134,246,153, 43,178,128, +234,152, 45, 32,177,193,236,236, 43,126, 40,149,225,135,163, 95, 54,182,108,143, 30, 61,202,134,153, 46,118, 11, 44,176,192, 2, + 11,254,101,120,123,139,150, 5, 22, 88, 96,129, 5, 22, 88, 96,129, 5, 13, 98,103, 45,193, 85,199,186, 69,192,240,204,129,198, +248, 94,223,100,246,193, 37, 11,167,133,211,194,105,225,180,112, 90, 56, 45,156,127, 59,206,255, 85,188, 38,178,254, 63, 96,153, +250,106,225,180,112, 90, 56, 45,156, 22, 78, 11,167,133,243,239, 32,178,234,191, 0, 88, 92,135, 22, 88, 96,193,223, 24, 49, 49, + 49,102, 45, 42,250,225, 87,191, 68,216,216, 56, 46,171,172, 40,143,254, 63,246,174, 59, 46,138,171,107, 63, 51,179,179,125, 23, +216,165, 46,197, 2, 10, 34,160,128, 5,123, 68, 77,140,189, 68, 44, 81,177,151, 24, 53, 49,106,212,168,209, 88,227,107, 98,137, + 38,246,222, 91, 20,236,189, 87, 52, 86,172,244, 46,117, 97,123,153,249,254,128, 37,168,148, 5, 77,222,228,253, 56,191,223, 56, +206, 48,243,236,189,119,110,121,238,185,231,158,179,123,233,176, 67,150,251, 97, 97, 97,230,234, 82,172,150,106,169, 22, 84,197, + 24,222,211,211,221,143, 52, 51, 45, 89,150,164, 88,146, 53, 18, 74,205,158, 87, 57, 57,111,184, 29,240,240,240,176,163, 73,116, + 35, 88, 86, 76, 16,140,153,161,200,171, 49, 49, 73,143, 43,145, 48,158, 76, 38,251,146,203,229,118,208,235,245,238, 36, 73, 38, +233,116,186, 51,106,181,122, 21,222,117, 92,248, 95, 19, 31, 31,159, 1, 23, 46, 92,176,107,213,170,149, 78, 40, 20,154, 52, 26, + 13,231,196,137, 19,252, 78,157, 58,229,190,124,249,178, 74, 59, 18, 93, 93, 93,219,109,216,176,193,179, 99,199,142,168, 91,183, +174,170, 95,191,126,220,230,205,155,115, 71,140, 24, 17,147,146,146,114,174,146,112,126, 4, 65,108, 35, 8,130, 98, 24,102, 48, +254,116,221,240,161,133, 36, 73,114, 52, 65, 16,189, 88,150,245, 34, 8,226, 21,203,178,135, 24,134, 41,207,113,107,121,242, 25, +128,206, 36, 73, 6, 3, 0,195, 48,119, 1, 28, 3,172,223,121,247,119, 98,138, 68,162, 32, 0, 80,171,213,247, 62, 20, 38, 65, + 16, 65, 0,192,178,108, 85, 49,135, 10,133,194,145, 0,160,209,104,214,195,138,112, 80,111, 11,187,198,151, 13,158, 27, 13, 0, +184,251,189, 47, 0,160, 50,215,196,152,104,162, 50,191, 85, 26, 94,101, 48, 74,145,206, 3, 7, 14, 92,184, 99,199,142,239, 1, + 28,254, 43, 42,190,139,139,199,170,159, 86,172,115,253,234,203,225,139, 81, 24, 17,162,252, 6, 9,124,204,163,168,238,122,179, +249,242, 99, 96, 31, 0,142, 92, 46, 31,192,227,241,218,232,245,122, 5,135,195, 73,213,235,245,151,242,242,242,118,161,156, 8, + 8, 86,151,235, 19,200, 12,106,184, 16,204,159,113,222, 88, 18, 58,174, 8,105, 68,125,228,252, 3,186, 81, 18,192,196,162,188, +110, 68,217,238, 60,202,235,124,190,114,117,117,237,165, 84, 42,213, 20, 69,177, 40,220,245, 92,248, 79,225,223, 9,134, 97, 50, +178,179,179, 7, 87,132, 37,174,129,122, 60, 49,177,205,108,132,198,164, 99,199,170, 18, 17, 45,241, 64, 11, 22, 24,204, 2,181, + 73,138,116,100, 24, 38, 21,192, 57,210,132,136,130, 20,188,248,135, 14,238, 53,139,202,181, 86,209, 53, 13,192, 25,192,125, 0, + 95, 1, 40,168,230, 63,127,155,188,109, 12,127, 20, 64,106, 49,209, 42,225,238,190,109,215,174, 93, 47,122,122,186,251,245,233, +217,123,225,152,209, 99, 9,138, 34,241,240,209, 35,206,231,131,135,126, 34,147,201,220, 36, 58, 93,125, 16, 4,163, 22, 8, 30, + 42,149,121,201,251,118,237,144,250,214,171,103, 54,155, 25,172, 89,251, 91,167,253,191, 31,156, 97, 37,217,242,113,113,113,217, + 54,109,218, 52,151,238,221,187, 83, 46, 46, 46,136,139,139,179,219,189,123,119,189, 95,126,249,165,111, 78, 78,206, 96, 0,207, +170,144,217,214, 46,114,242, 19,169,144,104,143,124, 51,242,141, 56,155,166,193, 41, 0,151,171, 90,122,106,181,122,188, 90,173, + 14,105,210,164, 9,187,113,227, 70, 98,200,144, 33, 44, 65, 16,132, 70,163,217, 2,160, 74, 68, 75, 44, 22,175,238,216,177,163, +183,183,183,247,171,151, 47, 95,118,222,187,119,239,177,240,240,112, 47,177, 88,252, 28,128, 79, 37,225, 54,103,101,101, 5,106, + 52, 26,184,187,187,111, 4,208,232, 47,168, 68, 4, 69, 81,135,220,220,220,216, 37, 75,150, 28, 14, 12, 12,116,206,206,206, 54, + 77,153, 50,165,195,141, 27, 55, 58,153,205,230,238,149, 32, 91, 50,130, 32,214, 58, 59, 59, 59, 44, 94,188,248, 69,227,198,141, +239,243,249,124,222,243,231,207, 69,147, 38, 77,250,250,217,179,103,125, 89,150, 29, 13, 84,106,128,144, 17, 4,177,214,213,213, +213, 97,225,194,133,113,193,193,193, 15,185, 92, 46,247,249,243,231,226,111,191,253,246,171,232,232,232, 42, 97,146, 36,185, 38, + 36, 36, 68,246,253,247,223, 63,169, 87,175,222, 53,138,162,120, 73, 73, 73,228,156, 57,115,190, 60,125,250,116, 24,195, 48, 99, +170,146, 78, 39, 39, 39,217,156, 57,115,158, 52,111,222,252, 6,151,203,229, 62,125,250,148,156, 54,109,218,151, 47, 94,188,176, + 58,157,114,185, 60,148, 32,136,117,105,105,105, 28, 0, 80, 40, 20, 77,109,108,108,126, 41, 25,211,210,226,138,194,104, 52,230, +107,181,218,129,217,217,217,165, 58,194, 29, 50,125,101, 55, 0,248,197, 96,185, 46, 60, 87,116, 13,172,137,176, 38,211, 65, 46, +133,126,241,126, 82, 13,235, 9, 0, 3,138, 66,133,255,164, 2, 56, 28, 14, 19,228,242, 21,123, 47,173, 82, 46, 99,122,180,107, +215,110,206,185,115,231,126,107,219,182,237,183,219,183,111,119, 74, 76, 76,252,241,242,229,203, 30,253,251,247, 31,114,246,236, +217, 69,153,153,153,251, 63, 84,229,231,113,249,124,130, 36, 32, 20,136,108,172,121,158, 38,201,174,215,122,244, 24,185,254,233, +211,224, 95,162,163, 61, 85, 10, 69,200,132, 9, 19,156,123,247,238, 77,122,120,120,224,197,139, 23,246,219,183,111,175,191,126, +253,250, 94,185,185,185, 19, 1,196,191, 15,201, 82,229,162,129, 78,143, 96,150,133, 93,113,131, 37,144,203, 55,224, 46,251, 4, + 15,254, 1,100,107,246,230,205,155,191,127,241,226, 5, 22, 45, 90, 4, 0,171, 42,249,254,164, 30, 61,122,116, 57,120,240,160, +112,223,190,125,194, 38, 77,154,192,197,197, 5, 69,147,169, 98,199,212,158,158,158,214,149, 25,131,159,150, 31, 27,214,232, 97, +246,113,172,238,157,182, 72,232, 14, 83,139, 30,222,189,186, 14, 9,134,173,163, 8, 2, 9, 7,185, 89,202,128,167,119, 19, 59, +158,223,251,226,199, 23, 81,175, 23,171, 18, 48, 27,101,251,228,251,175,136,189,189,253,198,152,152,152, 80,177, 88,252,198,253, + 87,175, 94, 5,121,123,123,231, 1,248,166,178,196,205,209,209,113, 39,195, 48,186,172,172,172,225, 0, 32,149, 74,119,136,197, + 98, 89,106,106,234,140,191,106, 34, 99,145,183,185,200,191, 92,163, 85,108,175, 85, 90,172, 67,130, 52, 51, 45,199,140, 30, 75, +244, 27,208, 63,237,197,171, 24,134, 67,243, 6,156, 56,121, 82,228,231,231, 71,234, 86,173,130,233,245,107, 24,191,254,186,197, +153, 51,103,140, 97, 3, 6,105,104,138,216,236,229, 89, 91,180,103,215,110,151,131, 7,246,183, 4, 80, 17,209,226,185,184,184, +108,187,112,225,130,155,167,167, 39,114,115,115, 17, 23, 23, 7,149, 74,133,190,125,251,210, 45, 91,182,116,235,211,167,207,182, +188,188,188, 86,149,208,108, 57,215,117,231, 68,142, 30,218,219,167,211, 39, 45,197,110, 30,117,192,166,105,145,248, 50,186, 73, +228,133, 27, 19, 54, 31, 56,246,236, 69, 30,219, 21,165,199, 70, 42, 87, 50, 51, 51,167,246,234,213,235, 64,104,104,168, 35,159, +207,135,171,171, 43,209,189,123,247,140,148,148,148,185, 85,102, 45, 69, 33,108, 72,146, 52,151, 60,151, 18, 30,200, 26,113,151, +201,100,144,201,100, 0,224,246,190, 51, 79, 59, 59,187, 85, 82,169,180,143, 82,169,212,144, 36,201, 18, 4,193,234,245,122,161, + 76, 38,251,227, 73,244, 51, 87,157, 78, 87,119,233,242,245, 43,218,181, 14,180, 57,125,250, 52,122,247,238,205,158, 58,117,106, +180,181,113,234, 8,130, 88,219,171, 87, 47,245,172, 89,179,180, 47, 94,197,185, 61,121,246,138, 16, 11,120,140,131,131, 3,125, +235,214, 45,206,178,101,203, 4,115,230,204, 89,203,178,108,159, 74,148,231,218,254,253,251, 27, 38, 79,158,156,250,244, 69,140, +211,131, 39, 47, 88,137,128, 54, 57, 56,216, 83, 55,110,220, 96,170,130, 73,146,228,154,169, 83,167, 42, 71,143, 30,157,147,149, +157,231,146,163, 44, 96,249, 52,101,116,113,113,225, 28, 62,124, 88,183,115,231, 78,114,228,200,145,107, 24,134, 9,171, 68,249, +174,233,222,189,123,254,180,105,211,114,159,191,138,117,121,240,248, 25, 68,124,218,232,236,236, 68,221,190,125,219,176,116,233, + 82,114,254,252,249, 86,165, 83, 44, 22,111,221,187,119, 47,231,240,225,194,190,239,250,245,235,164,151,151,151,168,228, 51, 26, +173, 14, 36, 1,100,102,102,138,154, 55,111,190, 21,192, 59,206,125,131,231, 70, 99,200,116, 96,252,248,241,169,149,173, 44,193, +138, 9, 21, 62, 99,254,205,151, 93,166, 30,214,147,195,225, 48, 35, 71,142, 76,123,251,239, 90,173,150, 0,208, 29, 63, 90, 79, +182, 58,119,238,252,221,209,163, 71,235,108,223,190,253,231,157, 59,119,234, 1, 64, 32, 16, 56,236,222,189,123, 81,223,190,125, +209,183,111,223, 89,251,247,239,255, 96, 68,203,204,154, 13, 0,192, 23,240,249,209,209,209,132,175,175,111,185, 30,247, 13, 12, +115,103,253,211,167,141,191,240,245,109,146,205, 48,117,185,157, 58, 21, 76,154, 52, 41, 83,169, 84, 34, 46, 46, 14, 6,131, 1, + 67,134, 12,161,218,182,109,235,218,183,111,223,149,249,249,249,159, 1, 48, 88, 81, 39,151,186,185,185,141,202,203,203, 43,176, +104,117, 90, 13, 54,115,218, 4,153,248, 13,235, 26,121, 92,202,196,237,246, 53, 67,156, 90, 69,168,124, 61,113, 5, 0,184,106, +188,174,228,100,160, 84,177,113,135,167,153,198,124, 71,119, 97,187,215,241,154, 31, 84, 9,229,146,165,207,196, 98,113, 79,149, + 74,181,191,104,112,246,233,218,181, 43,110,220,184, 1, 0, 45,139,136, 86, 59,146, 36, 63,103, 24,102, 3,128,242, 66,185, 77, +232,209,163,199,199, 7, 15, 30,148, 2,192,254,253,251, 97, 52, 26,225,229,229, 5, 46,151, 11, 30,143, 7,154,166,139,163,131, + 88, 41, 10, 71, 71, 7, 56,216,210,144,201,197,157,190,253,181, 7,167,134,159, 13, 50,204,143,144,205,230,194,196,234,192,181, + 23,163, 94, 71, 59, 4,127,210,142,140, 88,243,112, 70,196,234, 39,141,213, 36,186, 33, 30,186,127,202,200, 78,146, 36,255,254, +253,251,112,117,117,125,227, 62, 69, 81, 0,208,166, 10,144,179, 94,189,122,213, 60, 42, 42, 10,161,161,161,179, 26, 52,104,240, +233,197,139, 23, 93,178,178,178, 16, 26, 26,186, 50, 41, 41,233,240, 95,157,167,146, 92,228,127, 69,213, 69,190,197, 36,219, 22, +206,130, 73,138,162, 72,196,188,138, 51,134,134,182, 15, 79, 72, 72,144,132,132,132,144, 52, 77, 67,117,238, 28,180,183,111, 67, + 34,145,160, 87,175, 94,244,165, 75,151,108,108, 36, 54, 35, 98, 99, 98,243, 41,138, 4,203,146, 21,218, 60,200,100,178, 47,103, +204,152,225,226,237,237, 13,147,201, 84,236,209,220,100, 50, 33, 49, 49, 17, 18,137, 4,131, 7, 15,118, 18,137, 68, 95, 90,153, +143, 90, 62, 94, 78,119, 47, 28, 91,219,104,210,152,206, 98, 31,209,105,136, 19, 39, 66,178,255, 11,212, 79, 57,129,105, 61, 67, +196,167, 86,207, 10,174,227, 42,191, 91, 66,197,106,181,232,116,186, 43, 15, 31, 62, 28,113,241,226, 69, 6, 0,206,159, 63,207, + 62,121,242,100,244,251,204, 66, 25,134, 65,110,110, 46, 24,134,161,138,174, 45,231,255,106,125,176,177,177, 89,243,233,167,159, +246,143,143,143, 23, 30, 63,126,220, 62, 33, 33,193, 33, 54, 54,214,209,199,199,135,179,104,209,162,163, 90,157,129, 50,154, 89, +189,201,108,204, 79,125,244,232, 85, 78,122,250,221, 77,155, 54,105, 8,130,232,101,229,111,124,166, 80, 40,236,167, 79,159, 14, +130, 22, 53,173, 87,191,129, 55, 69, 11,109, 73,154,103,171,209,104,205, 49, 49, 49,137,211,167, 79,175, 29, 24, 24,232,138,194, +229, 53,171, 48, 93, 93, 93, 29, 38, 79,158, 12, 14, 95, 26,212, 48, 48,184, 14,143, 47,150, 82,180, 80, 26, 18, 18,210,246,213, +171, 87, 41,211,166, 77, 83, 52,105,210,164, 82,152, 77,154, 52,145,141, 28, 57,210, 36, 16, 74,155,123,122,122,213,111,232, 95, +191,139,143,143, 79, 79, 14,135, 99,122,253,250,117,252,224,193,131, 21,221,186,117,115,174, 12,166,147,147,147,108,218,180,105, + 38,143,154, 94, 29, 59,126,252, 73, 51,174, 80,106,203,225,137,237,212,106,173,249,233,211,167,241, 51,103,206, 84, 4, 5, 5, + 57, 89,131,169, 86,171,105, 7, 7, 7, 4, 4, 4,192,207,203, 11,121,121,121, 56,120,240, 32, 54,111,222,140, 13, 27, 54, 96, +215,174, 93,104,220,234, 19, 72,165, 82,164,164,164, 64,169, 84,210,127,119,133, 50,255,230,203,254,162, 31,213,125,236,216,177, + 41, 35, 71,142, 76, 19, 10,133,204,219,135, 92, 46, 55, 15, 28, 56, 48,125,240,183,203,187, 91,150, 22, 43,208,100,221, 63,118, +236,216,203,237,219,183,195,207,207, 15, 29, 59,118,228, 1,192,151, 95,126,201,235,219,183, 47,246,238,221,139,253,251,247, 63, +246,246,246,190, 10,160,135, 53,233, 28, 60,120,112,171,176,176,176,203, 97, 97, 97,247,250,245,235,183,110,244,232,209,111,140, + 92,169, 41, 73,119,244,122, 61, 2,131,155,136,230,109,188, 57,176, 34,188, 39,192,246,117,209,209,155, 23, 63,122, 20, 63,203, +207,207,174,102,108,172,124,203,210,165, 14,150, 32,221, 70,163, 17,137,137,137,144,201,100, 24, 56,112,160, 3,159,207, 31,108, + 69, 50,151,245,232,209, 99,104, 66, 66,130,100,253,250,245,138,123,247,238,185,166,166,166, 42,206,158, 57,233, 56,229,155, 47, +165,182, 18, 30, 47,229, 53, 75, 0, 64,108, 10,196,209, 49,104,197,178,176, 43,185,156, 88, 37, 81, 64, 40,116,199, 47,117, 90, +217, 61,155,188, 55,168,223,180,200, 96, 7,153,130, 63,189,156, 55, 26, 46, 89,178,100, 95, 68, 68,196,128, 86,173, 90, 29, 0, + 32, 44,229, 25, 65,227,198,141, 15,238,221,187,119,104,235,214,173,175, 0, 8, 40,115, 22,233,238,222,235,247,223,127,183,183, + 92, 59, 56, 56, 64, 32, 16,188, 67,178,184, 92, 46, 72,146,172,116,246, 22,236, 30,192,145,215,215,225, 97,206, 49,236, 93,114, + 31, 75, 58, 61,101, 22,182,136,213,173, 26, 28,141, 83,123,239, 35, 3,247,209,249,139, 58, 24, 48, 51,176,131,200,140,249,255, +164, 1,252,245,235,215,159,183,105,211,102, 95,231,206,157,117, 81, 81, 81,120,253,250, 53,220,220,138,231,218,105, 85,128,148, +139, 68, 34,120,120,120,192,219,219,123,192,165, 75,151, 92,140, 70, 35, 98, 99, 99,145,145,145,113,247,239,200, 83, 73, 46,242, + 47,147,183, 13,225,143,190, 67,180,138, 98, 11, 93, 0, 0,150, 32, 84,247, 31, 62,164, 41, 30,111,208,142,157, 59,249, 92, 46, + 23,241,241,241,120,252,248, 49,212,103,207, 66,115,237, 26,210,211,211, 81, 80, 80, 0,103,103,103,172,221,184, 81,172, 55,179, +195,158, 62,123, 70,177, 36, 91,210,222,160,212, 45,158,124, 62,191, 67,239,222,189,203, 36,100, 41, 41, 41,232,220,185, 51, 77, + 81, 84,105,187, 26,222,198, 36, 92, 29,137,136,179, 7,230, 41, 20,188,199,192,139, 73, 64,254, 93,128,213, 1, 38, 61,144,252, + 0, 56, 58, 23, 53, 11,162,137,147,243,194, 93,220, 68,156,136, 82,152,114, 69, 91, 81,189,124,125,125, 55, 12, 26, 52,136, 4, +128,118,237,218, 17,190,190,190,235, 0,120,149,243,206,153, 10, 6,201, 27, 57, 57, 57,232,219,183,175,125,157, 58,117,206,244, +237,219,215,222,114,191,170,152, 22,109,178,159,159, 95,150, 64, 32,216, 5, 88,213,193, 22, 99,218,217,217,173,234,220,185,115, +159,157, 59,119,114, 1,224,194,133, 11,136,136,136,192,163, 71,143,240,252,249,115, 38, 56, 56,216,113,249,134,125,107, 86,253, +182,117, 89,207,150,129,174,109,155, 6,215,151, 20,228, 20, 56, 59, 59,183,100, 89,214,203,202,116,118,158, 59,119,238,227, 39, + 47,227,109, 73, 14,205,225,210, 28,190,141,141,216, 89, 38, 21,187,203, 69, 2, 55, 62, 73, 72,212,106,117,218,174, 93,187, 24, + 0,157,173,197,156, 55,111, 94,204,147, 23,241,118, 4,201,225,208, 28,154, 43,145,136,236, 58,117, 12,109, 2, 0, 92,176, 92, +165, 82,153,190,121,243,102, 67,101, 48,191,255,254,251,135,217,185, 5, 50, 14, 77,211, 28, 14, 85, 92,150, 98,161,208, 81,196, +231,243,116, 58, 93,242,138, 21, 43, 52,149,193,156, 59,119,238,227,167, 47, 19,228, 36, 65, 80, 4, 65,114,108,164, 98,123,123, + 91,145,163,163, 68,232, 32,226, 80, 60,165, 82,153,188,109,219, 54,171, 48, 13, 6, 3, 55, 61, 61, 29, 79,158, 60,129, 71,147, + 38, 56,125,250, 52,106,212,168,129,190,125,251,162,127,255,254, 16, 10,133,104,215,188, 1,166, 79,159,142,151, 47, 95,194, 96, + 48,240, 75,195,180,216, 73,189, 45,174,174,174, 81, 21, 85,158,183,222,125, 35,157, 65, 46, 96,127,209,143,234, 94,146, 96,149, +133, 47,151,203,205,165,105,187,222,198,236,220,185,243,119,103,207,158,173,179,109,219,182,238,131, 7, 15,190,178,109,219, 54, + 52,107,214, 12, 79,158, 60, 65,237,218,181,177,101,203, 22,244,239,223,255,202,202,149, 43,187, 71, 69, 69, 5,122,122,122,206, +168, 8,179, 95,191,126,227,130,130,130,206,165,165,165, 53,207,206,206, 14, 56,120,240,224,176, 94,189,122,197, 12, 24, 48,160, +125, 49, 97, 52, 26,119, 30, 61,114, 0, 93,186,247, 70, 61,255,128, 53, 67,102,108,111, 80, 65,219,100, 31, 1,235, 54,167,166, +190,222,169,213,170,251,210,180, 72,116,243,166,124,255,111,191, 57,148,140, 44,144,156,156,140,110,221,186,209, 92, 46,183,117, + 5,233, 92,210,179,103,207,190, 7, 15, 30,148, 89,180, 58,215,174, 93,195,131, 7, 15, 16, 23, 23,135,220,220, 92,180, 31, 93, +128,177,139, 10,177,199, 46, 98,241,201,151,172,184,138,125, 72,177, 8,107,192,197,222,134,115,117,216,138,122, 95,142, 90,227, +199,145,200,105,236,248,246, 57, 50, 99,117,251,203,192, 36,154, 55,111,190, 61, 44, 44,140,208,235,245,208,235,245,122, 0,165, +122,245,117,115,115, 19, 52,108,216, 16,163, 71,143, 38,109,108,108, 86,150,149, 78,149, 74,165, 59,118,236, 24, 6, 15, 30,140, +137, 19, 39,162,110,221,186,144,201,100,160,105, 26, 91,183,239,113,232, 63,108,140, 79,163, 86,109, 2,253, 26, 53,107,152,175, +163,154,208, 66,217,200, 50,180, 33,165,230,189,192, 41, 10, 15, 99,175,227,151,238, 73,204,173, 45,234,130, 41,159,255, 39,250, +233,197,244, 71, 51,194,214, 61, 90,247, 12,164, 0, 0, 32, 0, 73, 68, 65, 84,100,175,183,200,220,254, 85, 2,210,141, 79,208, +186,111, 77,120, 6,201,190, 22,123,192,183,170,229,105,165, 84, 10,179, 65,131, 6,173,110,221,186,197,111,211,166, 13,226,227, +227, 65,211,197,243, 41,243,251,164,115,238,220,185,124,173, 86,139, 63,254,248, 3,225,225,225,201, 6,131,225,235,247, 73,103, +101, 52, 90, 22, 46,242, 47,147,117,111, 29,169,101,105,180,230, 2,128,145, 65,196,160,240, 97,234,200,200, 72, 17,143,199, 67, +124,124, 60, 82, 83, 83,177,117,243,102,115, 59, 39,167,252,142,110,110,202,173,155, 55,179,122,189, 30, 44,203,194,215,215, 23, +125,250,244, 17,126,214,119, 64, 6,161,212,236,177, 98,153, 71, 97, 89, 95, 31, 54,108,216, 59,127,159, 50,101, 10,108,108,108, + 64, 16,132,139, 21,153, 11,155, 48,183,167,187,204,211, 46,157, 77,219,154, 13, 74, 0,112,164, 0,199, 6, 16,216, 2,124, 41, +192, 19, 65, 23,117, 46,155,100, 59,198,245,110, 61,220, 13, 64,101,150,122,224,234,234, 58,235,220,185,115,142, 81, 81, 81,172, + 82,169, 68,106,106, 42,187,112,225, 66, 71, 87, 87,215, 89, 85,253, 34, 41, 41, 41,243,186,116,233,146, 30, 30, 30,110,123,226, +196, 9,143,240,240,112,219, 46, 93,186,164,167,164,164,204,123,159, 47,205,229,114,169, 71,143, 30,201,231,207,159,223, 31,192, + 29,127,127,255, 44, 55, 55,183, 59, 40, 52,154, 44, 87,164, 82,105, 49,201,178,104,215, 56, 28, 14,104,154,134,171,171,171, 62, + 59, 59,219,220,186,145,151,208,215,150, 52,186,242,185, 66,185, 80,224, 46,181,177, 13,201,202,202,186, 79, 16,196, 43, 43,151, +248,130,154, 54,109, 74,155, 89,154, 25, 59,168,157,235,151, 67, 67,157,126,157, 63,178,198,138,121,163,220,150,204, 25,225, 59, +111,234,192, 80,146, 97,180,181,107,215,118,177, 24,180, 91,161, 62, 15,110,220,184, 49,135, 1,141, 39,207,226,210,227,147,146, +243, 63,110,219,188, 88,115,233, 23, 20,220,209,209,209,177,141,175,175,111, 99,130, 32,172,218,146, 44, 20, 10,131,234,213,171, +199, 33, 41,154,176,151, 73, 61,164, 18,161,115,241, 18,138,157, 93, 11,185,163, 99, 24,201,178,121, 10,133,194, 73, 40, 20, 6, + 85, 34,239, 28, 6, 92, 56, 59,201,109, 29, 29,236, 36, 29, 67, 91,214,109,222,162,185, 79,131,144,102,205,253, 27, 53,254,140, + 48,153,148, 94, 94, 94, 78, 22, 35,249, 10, 52,173,130,157, 59,119, 98,254,252,249,104, 88,179, 38,220,220,220,224,228,228,132, +107,215,174,225,214,173, 91,144,201,100,200,200,200,192,210,165, 75,113,232,208, 33, 24, 12, 6,105,101,235,147, 53,100,171, 60, + 49,153, 76,228,219, 4,171, 44,124,161, 80,200, 88,140,228,203,146, 99,199,142,109,183,104,178,190,250,234,171, 86,203,151, 47, +191, 18, 29, 29, 13,137, 68,130, 91,183,110, 97,216,176, 97, 87, 86,174, 92,217,106,204,152, 49,216,188,121, 51, 98, 98, 98, 54, +150,135,215,175, 95,191, 57, 35, 70,140, 88,113,241,226, 69,210,217,217, 25, 50,153, 12, 61,123,246,196,198,141, 27, 57, 38,147, +105, 83, 88, 88,216,189,176,176,176,123,230,196, 83,223,237,219,176,240,218,195,251,247, 48,110,194,100,158,222,100,156,102, 69, +246, 89,141, 68,146,111,106,211, 38,123,175,209,168,238,199,229,138,108,239,221,147, 71,108,218, 84, 76,182,166, 79,159, 14, 91, + 91, 91,160,208,128, 25,229,104,117, 70, 29, 58,116,168,184, 63,180,183,183, 7,143,199, 3,151,203, 5, 77,211,160, 40, 10,103, +214,136,241,219,244, 66,126,241,219,116, 2,167, 86, 17,170,247,249,118, 34, 55, 4,200,156,121,247,190,216,226, 31, 24,208,222, + 30,215,118,167, 97, 97,151,168,164, 91,123, 95, 79,210,102,224,167, 50, 94,107, 52,101,202, 20,191,140,140, 12,220,190,125, 27, +183,111,223, 46, 75, 3,164, 61,114,228,200,143, 5, 5, 5,240,244,244, 68,143, 30, 61,218, 0,104, 82, 70,187, 65,227,198,141, +209,173, 91, 55,132,134,134,162, 97,195,134,208, 27, 76,116,216,160, 81,245, 30,197,188,118, 91,184,116,161,232,220,249,131,228, +149, 43, 23,169,237, 7, 78,217, 54, 15,253,100, 5, 87,170,184, 1,161,189,194,154,124,170,205, 89, 8, 82,116,194,186,179, 19, +200, 95, 46,132, 75,182, 70,252,226, 37,149, 74,137,187,183,239, 25,183,174,222,155, 16, 32,238,145,113, 99,119, 22,212, 68, 26, +218, 15,245, 36, 25,160,207, 63,101,100, 23, 8, 4,203, 47, 94,188,232, 98, 48, 24,240,240,225, 67, 76,156, 56, 81,251,158,144, +197, 10, 16, 15, 15, 15, 92,184,112, 1, 3, 7, 14,212,166,167,167, 95,255,187,242, 84,146,139,252,175, 8,167, 4,131, 44,150, +196,196,196, 92,153, 76,230, 86,175, 94, 61, 82,175,215, 23, 46, 73,236,223,111,222,176,105,211, 81,173, 86, 59, 1, 0,119,213, +175,191,174,113,115,119, 15, 29, 52,120, 48, 97, 52, 26,209,165, 75, 23, 94,100,100,164,253,171,140,140,124, 43, 6,156, 55,126, +111,200,144, 33, 88,190,124, 57, 0, 96,252,248,241,197,170,117,194, 10,131, 37,137, 45, 58,119,236,218,216, 38, 81,252,139,141, +161,133,177,160,214, 75,233, 13,113,129,176, 49, 72, 30, 7, 2, 10,140,193,104,122,158,209,235,206,203,231,245,253,132,217, 89, +181, 59,248,127,132, 13,167,183,117, 86,155,181,123,173,238,112, 68,162,166, 18,137, 4,119,238,220,201,110,220,184,113, 46,203, +178,182,243,230,205,115, 16,137, 68, 77,223,163,236, 99,159, 61,123,214,166,101,203,150, 95,146, 36,217,129, 97,152, 51,233,233, +233,171, 0,196, 90,249,254, 88, 0,223, 3, 40,158, 89,234,245,122,144, 36, 9,150,101,209,175, 95, 63, 76,159, 62,221,239,193, +131, 7, 56,119,238,156,188, 67,135, 14, 55, 0,228, 2, 24, 14,160, 84,173,153, 82,169,212,220,186,117, 75,120,238,220, 57, 48, + 12, 3,185, 92, 14, 27, 27, 27,240,249,124,244,236,217, 83, 50,109,218,180,246, 39, 79,158,204, 80,214,170, 65, 9, 82,147, 85, +124,137, 68, 10, 23,183,214, 99, 6,124, 30,205,178,236,161, 74,116, 14, 60, 33,199,164, 37,204, 58,114,201,236,149,164,136,203, + 37, 4, 92, 14,248,140, 26,223,253,184,128,224,178,102, 14, 42,185, 62,207,229,114,185, 82, 62,244, 20,143, 50,138, 8,176, 31, +162,113, 80, 20,197, 19,112,203,182,199,160, 73,146, 36, 73,146, 11,192,234,160,125,124, 62,159, 43,229,179,101, 98, 10, 41,130, + 34, 8,130,135, 50,118,162, 5,185,128,181,104,145,120, 19, 94,233, 74,146,226,214,173, 91,227,232,185, 59,216, 31,113, 6,153, +241,247, 49,243,219,175,208,164, 73, 19, 68, 70, 70,150,155, 38,139,141, 86, 89,218,101, 87, 87,215,168,148,148,148, 70,101,189, + 91,222,146, 97, 25, 90,170,119,241,103,219, 34,120,110, 52, 42,176,209,234,209,186,117,235,113, 59,119,238,212,127,250,233,167, +188,126,253,250, 33, 32, 32,160,213,208,161, 67, 1, 0, 29, 58,116,192,242,229,203, 91, 13, 29, 58, 20,123,246,236,193,193,131, + 7,117,109,219,182,253,246,194,133, 11,201, 40,220,209,249,142, 48, 12,211,109,237,218,181,111,107, 10, 97, 50,153, 96, 52, 26, + 21, 38,147, 73, 81,212, 23, 97,197,138,149,153,167, 78, 70,226,219, 25,115,225,228,232, 18,100,101, 29, 34,134, 76,158,156,185, +101,233, 82, 44,221,179, 7,147,107,215, 22,109,123,252, 24,167,180, 90,236, 61,119, 46,179,232,119, 42,180,205, 84,169, 84,154, + 99,199,142,217,236,221,187, 23,118,118,118,168, 91,183, 46,228,114, 57,104,154, 6, 73, 9, 65,113,101,168,231,223, 20,192, 45, + 0, 64,109, 87,168,124, 61,113,133, 32,144,203,146,149,183, 41,226,215, 64, 45, 7,119,193,197,113,155, 3,236,108,156,184, 56, +177, 42, 1, 39,127, 73, 60,164,205,196,207, 48,225, 41,202,182,249,106,236,233,233,137,140,140, 12, 28, 59,118, 76, 5,148, 73, +200,192, 48,204,143,191,254,250,235,148, 25, 51,102,240,125,125,125, 1, 32, 8,192,237,210,158, 21,139,197,112,115,115, 43, 38, +150,253,194,199,120,141,158, 52, 70,216,235,147, 80,112, 56, 14,200, 85, 25,145,149,111,132,204, 65,130,111, 39,133, 9,206, 52, +118,107,178,118,229,142, 35, 26, 13,154, 0,239,246, 7, 4,129,219, 55,239, 95,105, 32,240, 5, 8, 18, 72, 36,207,131, 0,129, + 2,194, 8,130,162, 88,179,217,140,132,132, 4,176, 44,139,129,189,134, 37,142, 90,120,208,169,213, 64, 37, 60,234,185,130, 96, +241,209, 63,133, 8,216,219,219, 7,101,101,101, 33, 54, 54, 22,225,225,225,201,153,153,153,167, 85, 42,213,176,148,148, 20, 0, +200,174, 2,100, 49,153, 15, 10, 10, 66,211,166, 77,209,183,111, 95,129, 90,173, 14,243,242,242,114,123,253,250,117,139,191, 50, + 63,111,115,145,255, 41,162, 85,106, 67, 51, 26,235,233,214,172,129,234,204, 25,240, 78,157,194, 94, 87,215, 2,173, 86,251, 13, +128,196,162,134,255,213,230, 45, 91,174,118,191,126,221, 70, 31, 29, 13,175, 7, 15, 64,219,217, 5, 85, 54, 1,155, 54,109,130, + 82,169, 68, 94, 94, 30, 0,224,151, 95,126,129, 82,169,132,201,202,128,179, 28, 46, 90,185, 56,213, 70, 26,158,131,225,144,146, +184,122,234,102, 18,173, 52,197, 45,193, 89,149, 71,186, 33, 58, 62, 68,172,201,210, 55, 35, 40, 61,180,153,106,184,181,172, 11, + 14, 56,173, 42,147, 70,203,186, 63,135,195,201,126,246,236, 89, 55, 31, 31,159, 8, 0, 14, 85,177, 7,120, 75, 94,164,167,167, + 79,168,202,139, 20, 69,125, 31, 19, 19,227,180,113,227,198, 47,231,205,155,199,150, 36, 90,150,255,115, 56, 28,176, 44, 11, 91, + 91, 91,208, 52,237,124,237,218, 53,231,144,144,144,213, 12,195, 4,149,145, 79, 54, 32, 32, 0, 49, 49, 49,224,112, 56,176,181, +181, 5, 99, 50, 96,238,164, 49, 48, 83,124,206,212,169, 83,131,122,247,238,253,112,227,198,141, 70,155,230, 45, 91,100,101,101, + 61, 26, 55,112,208,195,195,135, 15,235,139, 92, 60, 84, 60,197,103,217,123,207,159, 63,167,220, 93,157, 41,214,164,102,196, 92, + 64,112,127, 5,203,147,184, 64,192,161, 88, 46, 65,130, 47, 16,218,198, 38, 37,101, 49, 12,243,196, 26, 76,134, 97,238,198,196, +196, 8,157,157,236, 57,106,141,190, 64, 72,179,188,184,187,119, 94,213, 10,110,236, 5, 0,218,187,183, 46,240,235,213, 23,198, +165,191, 22,215,174, 93,219, 42, 76,141, 70,115, 47, 57, 57,153,114,118,118,230,196, 39, 38, 29,177,147,136, 29,109,236,236,154, + 1,128, 33, 63,239, 22,169,211,189,166,104,142,243,235,172,172,108,141, 70, 19, 99,109,222, 95,190,124,201, 81, 40,156,168, 19, +167,206, 70, 56,139,248, 78, 82, 30,199,134, 79, 16,132,136, 34,148, 92, 19,147, 41, 16,137,156, 98,147,146,178, 89,150, 45, 83, + 67,184, 56,119, 80,175,194,239, 53,119, 79, 9,108,220,191,127, 31,199,175, 60,129,152,213,131,208,230,225,212,230,245, 24, 56, +117,198,123,219,253, 85, 68,182,170,164,205, 90, 91, 63,234, 45,124,164, 86, 96, 8, 63,112,224,192,185,219,183,111, 47, 54, 64, +121,242,228, 9,218,181,107,103, 89,230, 64,199,142, 29, 17, 18, 18,130, 39, 79,158,192,219,219, 27,231,206,157,227, 83, 20,197, + 31, 52,104,208,194, 29, 59,118, 28,171, 80,239,191,110, 29,134, 13, 27, 86,154, 97,245, 75, 0, 90, 66,230, 91, 48,125,241, 86, +135,236,172, 76,100,188, 78,187,103,109, 57, 16, 4,129, 33,147, 39,103,174,213,235,177,243,230, 77, 12, 22,139, 69, 91, 94,188, + 64,151,144, 16, 52,104,215, 46,211,154,190,206,162,213,209,106,181,160,105, 26, 54, 54, 54,176,183,183, 7,151,203, 5, 69,187, +130,195, 11, 4,201,229, 34,184,117, 32,150,126, 35, 86,135,119,194, 74,130, 64, 46,159,135,187, 92, 81,153,182, 58,132,184, 6, +122,178, 44,148,234, 68,156,183, 16, 18,219,154,176,165,165,244,169, 17,171,125,237,108,156,184, 56,190, 50, 30,167, 86, 39, 29, +208,166, 97,102, 81, 89, 48,229, 76, 36, 26,216,217,217, 33, 49, 49, 17, 9, 9, 9,143, 81,190,129,191,250,201,147, 39,175,248, +124,190,159,163,163, 35, 0,120,150, 53, 49,103, 24,166,216, 14,107,219,206,125, 14, 65,109,188, 4, 31,183,242,195,214,136, 5, +248, 34,108, 37,104,138,128,217,108,192,207,203,187,194,172, 43, 64, 88,247, 81,196, 71, 29,188, 3,207, 68,232, 71, 24, 53, 57, +235,223,153, 8,112, 48,255, 63,253,175,217,241, 37,100, 3, 48,132,157,131,131,147,152,203,229,194,222, 70,161,159, 49,250,235, + 84,150,101,139,219, 13, 77,113,141,100,190, 92,147,149, 86, 32,180,163, 53, 0, 75,214,170,154, 55,155, 15, 47, 73, 73, 73, 19, +218,180,105,179, 48, 63, 63, 63, 71,165, 82, 13, 4, 0, 79, 79,207,154, 36, 73,242, 1,148,183, 58, 82, 19,165,187,133,224, 62, +120,240, 0, 82,169, 20,201,201,201, 37,149, 47, 96, 24,230, 31,179, 9,224, 31, 42,193, 0,238, 2, 80, 0,232,130, 18,238, 29, +200, 34, 85,221, 71,145,145,145,108,100,100,228, 71,197,131, 23,203, 50,166,236,108,176,186,194,178,165,105,154, 5, 80,114, 71, +147,200,206,206,142,160,221,221, 65,240, 11, 77, 63,216, 15,184,245,213,104,180,206,181, 12, 99, 6, 5,194, 0,182,196,164, 69, + 37, 32,176,192,161, 61, 38,240,102, 33,141,103, 87,114,164, 3, 76, 44,204, 96,168, 74, 38,135, 85,169, 84, 48,153, 76,178, 58, +117,234, 28, 53,153, 76,178,162,193,141,253,111,125, 81,179,217,252,138,162, 40,124,249,229,151,176,104,127,244,122, 61,210,210, +210,160,211,233,160,215,235, 17, 19, 19,131,188,188, 60,232,245,122, 60,122,244, 8,158,158,158,160, 40, 74, 81, 78,103,206,178, + 44, 11, 15, 15, 15,212,170, 85, 11, 20,193, 98,195,146, 57,248,110,226, 24,244,247,100,176,105,213,207,104,219,182,109,253,218, +181,107, 55,231,112, 56,102, 23, 23, 23,238,193,131, 7,143,152,205,230,158,176,190,231, 57, 54,125,250,244, 90,254,254,254, 78, +118, 54, 82, 35,159, 71,129,103, 84,177,124, 93, 22,203, 81,103,194,195,163,166, 9, 66,145,247,224,193,131,205,101,105, 33, 74, +195,252,230,155,111, 20,190,190,190,182, 50, 59,169,138, 71, 83, 25, 92,176,153,121,247,111,223, 0, 0,158,163,147, 22, 2,145, + 95,120,120,184,169, 50,152,179,102,205,242,116,116,116,180, 35,193,230,155, 13,134, 63,215,219,117,250, 44,130,166, 53,224,242, + 26,143, 31, 63,158,168, 12,230,148, 41, 83,106,251,249,249,217,217,217,136, 11, 56, 52,149,202,101,152, 84, 1,152, 52, 90,111, +200, 17, 56, 58,168, 33,146, 4, 15, 30, 60,184, 76, 76,139, 54,107,218,180,105,137,111, 17,111,100,103,103, 67,155,246, 16,220, +228,104, 4, 74,104, 52,113,148,129,207,231, 23,111,125, 47,171,186,150,101,163, 85, 26,217,178,246,221,198, 63,148,179, 4,184, +182,126,212,219,126,179, 82, 82, 82,160, 80, 40,202,109, 79, 59,118,236,152, 17, 26, 26,154,209,177, 99, 71,253,209,163, 71, 65, + 16, 4,206,157, 59,135,228,228,100,116,236,216, 17, 44,203, 90,118,181,225,222,189,123,232,208,161,131,190, 77,155, 54,201, 69, +254,181, 42,148, 97,195,134,193,104, 52,162,160,160, 0,217,217,217,136,140,140, 68, 96, 96, 32, 43, 18,137,122, 83, 30,159, 44, + 8, 27, 49,163, 69, 64,195, 32,172, 94,185, 84,207,227,208,139, 43,211, 94, 9,130, 64,248, 55,223,100,230, 5, 7,103,111, 83, +169,212, 67,108,108, 68,117, 18, 19,229,119, 78,158,116, 48, 24, 12, 86, 97, 88,180, 58,238,238,238,197, 36,139,203,229,130,195, +115, 4, 37,110, 0,158,125, 71,136, 92,122,227,252, 93,190,206, 86,140, 67, 82, 9, 78,136,237,202,118,237, 32,242,192,130, 22, +253, 20, 7, 91,246, 87,156, 21,213,192,198,162,241,128,100, 57,196,193,161, 63,251,212,113,172, 37,196,245,125,105, 56,181, 58, +233,119,109, 26,230, 0,120, 81, 81, 59, 55, 24, 12, 90,179,217, 12,146, 36,193,225,112, 74,218, 4, 94,253,253,247,223,113,231, +206, 29,160,132,219,158,252,252,124, 51, 69, 81, 16, 8, 4, 0, 32, 41,167,191, 3, 77,211,160,105, 26, 23,110, 92,178,239,255, + 89, 87,226,218, 31,167,209, 50,112, 0,178, 10, 12, 72,207, 51, 32, 87, 13,248, 55,153,137,128, 14,135,112, 63, 38, 31, 65, 13, + 3, 40,138, 39, 14, 47, 13, 79, 27,139, 68, 85, 2,250,100, 61,102,234,234,147,132,199,175, 31,126,242,248,210,254,251,143,118, +255, 26,241,162, 69,147, 54,170, 34,101, 2, 10, 10, 10, 88,130, 32,216,175, 71,206,120,181,109, 88,142,121,229,192,251, 12, 71, + 39,120,249, 55,118,245, 53, 29, 29, 29,175,217,219,219,159, 43, 34, 71, 53,165, 82,233, 85,133, 66, 17,141,194,141, 30,135, 83, + 83, 83,125, 85, 42, 85, 75, 20,110,206,138,207,202,202,106, 87,164,121,138, 47, 71, 19,182, 81,169, 84,126,101, 54,155,187, 23, + 29,157,204,102,115,208,243,231,207,253,130,130,130, 30,123,121,121,221,243,242,242, 58,238,229,229,117,196,203,203,235, 72,104, +104,232,114,139,187,135,191,120,217,240, 29, 46,242, 47, 35, 90, 40, 34, 89,235,138,206, 40, 38, 90, 0, 46,188,109,128,102,226, +243, 31,153,198,141,131,221,145, 35,160,159, 63,199,208,240,112, 27,145, 72,180, 18,133, 62,154, 90, 74, 36,146,213,115,230,204, +145, 58, 44, 90, 4,215, 75,151, 16, 23, 25, 9, 35, 77,223,174, 74,234, 52, 26, 13, 56, 28, 78,177, 38, 70, 44, 22,195,108, 54, +163, 52,149,239, 59, 13,208,132,235,201,233,209,224,161, 22, 24,176, 5, 39,148,109,110, 14,120, 53,211, 41, 82,233,233,253, 66, +197,245,254,193,177,153,211,202,154,173,110,170, 8, 78, 1,207, 78,128,132,132, 68,152,193, 84,106,189, 89,171,213,230,169, 84, + 42, 4, 5, 5,217,223,185,115,167, 78, 96, 96,160,188,232,254,173,247,252, 48,205, 93, 93, 93,247,185,185,185,197,186,186,186, +238, 3,208,188, 18,239,110,188,124,249, 50, 40,138,194,156, 57,115,144,159,159, 15,131,193,128,172,172, 44, 36, 36, 36, 64,175, +215, 35, 41, 41, 9, 79,159, 62,133, 94,175, 71, 92, 92, 28,116,186,138, 39, 36, 12,195,192,198,198, 6, 90, 77, 1,126, 91,240, + 29,102, 77,155,132,188,151, 81, 72, 74, 73,135,157,173, 24, 19, 38, 76,160,100, 50, 25,195, 48, 76, 45,179,217,220,129, 97,152, + 53,214,124,167, 18,245,237,138,135,135, 71,192,146, 37, 75,252,190, 91,176,134,107,195, 41, 96,249, 82, 1,195,147,242, 89, 94, +253,102, 24, 54,115, 37,119,197,178,159,158, 93,191,126, 61, 25,214, 57,239, 36, 1, 92, 9, 14, 14,246, 73, 78, 78, 14,244,245, +245,173,231, 80,179, 54,159,175,112,203,229, 42,106, 40, 89,157,246, 38,225, 86,163,245,154, 53,107, 30, 94,189,122, 53,165, 50, +152, 98,177,184,254,214,173, 91, 3,156,157,157, 3,104,161, 80,160,206,203,219,107, 82,171,246, 81,118, 50, 1,105, 99,215,233, +208,161, 67, 81, 7, 14, 28, 72,171, 12,166,183,183,183,239,130, 5, 11,252, 27, 52,104,224,239,226, 89,135, 47,116,243,200, 18, +184,215,204, 18, 54, 8,228,195,189,214,167,171, 87,175,190,119,253,250,117,171, 48, 41,138, 50,145, 36, 9,154,166, 33, 18,137, +112,226,196, 9,140, 27, 49, 0, 30,110,246,168,231,235,139,246, 95,124,133, 3, 7, 14, 20,219,240, 80, 20, 85,230,136,190,101, +209,132,136, 96, 5, 17,133,181,245,163,176,182,126, 84,176,130,136, 42,147,108, 21,253,189,180,103,172,234,141,202, 88,110,180, +130,108, 29,187,112,225,194,143, 67,134, 12,225,117,238,220, 25, 55,111,222,196,176, 97,195,174, 28, 60,120, 16, 0,112,243,230, + 77,124,253,245,215, 87,206,158, 61,139, 49, 99,198,160, 93,187,118,188,203,151, 47,175,134, 21,190,127, 76, 38, 19, 54,109,218, + 4,147,201, 4,137, 68, 2,185, 92,142,174, 93,187,226,225,195,135, 99, 54,111,222, 28, 77,209,244,231, 93,186,127,134,163, 71, + 14,226,233,163,135, 99,182, 44, 28, 84,105,167,192, 36, 73,162,115,120,120,102,166,191,127,246, 22,165, 82, 61, 92, 38, 19,249, +166,165,201,207,239,219,231, 96, 5, 81, 35,204,102,115, 49,185,178,144, 14,203,193,225, 57,130, 35, 14, 0, 71,218, 4,247, 95, +112,141,220, 16,220,229, 53,193,147,242,252,103,209, 60,114, 88,239,239, 60,209,251, 59, 79,244,152, 90,123,168,168, 6, 54,136, +107, 96,108,231,137,181, 66,189,154,216, 66,153, 97, 64,228,207,113,241,218, 44, 44, 2,240,212,154,118,206, 48,204,227,228,228, +100,240,120, 60,212,168, 81,195, 7,128,197, 46,112,227,200,145, 35,199,255,240,195, 15,147, 0,252, 80,116, 79, 18, 26, 26,234, + 95, 80, 80,128,231,207,159, 3,192,157,114,180,193,197,187, 12,179,149,113,252,218,174, 13, 16, 88,127, 52,100,178,134, 72,206, +214, 35, 37, 91,143, 13,191,245, 68,212,229,249,184,115,106, 48,226,211,210, 32,116,233, 5,179, 73, 23, 96,197,164,222,245,143, + 63,254, 32, 46, 95,190, 76, 48, 12, 3,163,209,200,230, 43,149,236,221, 43, 87,160,185,120,145,176,177,177, 33, 90, 53,109, 83, +176,101,254,209, 91,135, 86, 93,185, 99, 80, 87,122,162,254, 62, 50,235,213,171, 87,205,247,237,219, 23, 10, 96, 86,131, 6, 13, +174, 39, 36, 36,180,184,116,233, 82, 61,119,119,247,149, 85, 5,181,184,133,136,139,139,123,227, 40,114, 11,161, 47, 34, 13,157, +139,200, 92, 15, 0, 95,227, 61,118,217, 87, 66, 46,252,139,141,225,143,226,173,221,134,111, 19,173,146,142,194,224, 37,147, 73, +141, 70, 67,210,233,211,167, 13, 36, 73, 66, 36, 18, 97,200,176, 97,228,111,191,254,218,122, 64,243,230,231, 70,125,252,241,241, +115,103,207, 6,135,132,132,128,101, 89,144, 36,137, 61,123,246,104,180, 90, 77,150,135,135,135,157, 53,157, 70,201, 6,164, 84, + 42,139,137, 86, 94, 94, 30,156,157,157,173, 94, 58, 84, 41,113,230,236,137,168, 28,214,252, 69, 66,231, 23,203, 12,139,211,122, +134,228, 50,102, 78,158,217,136, 60, 13,139,124, 45, 56, 55, 73,121,200, 16,239, 94,134,152, 14, 33, 79, 47, 70, 95,203,210,154, +181,149,218, 45,145,145,145,241, 93, 88, 88, 88,150, 66,161, 32,108,108,108,224,230,230, 70,246,232,209, 35, 51, 49, 49,241,135, +170,126, 17,123,123,251,254,161,161,161, 17,201,201,201,125, 46, 94,188, 88,235,210,165, 75,125, 66, 67, 67, 35,236,237,237,251, + 91, 9,177,119,198,140, 25, 42, 30,143,135,102,205,154, 33, 63, 63, 31, 69,187,124,202, 61,172, 89, 34,229,114,185, 88,187,228, +123,204,154, 54, 9,217,209, 55,113,255,202,105, 92, 72, 35, 48,115,193, 79,224,114,185, 85,242,245, 85,215, 81,212,160,129,171, +244,201,215,195,250,165, 76,159, 54, 77,122,239,222, 61,122,252,196,175,217,184,212,108,240, 58, 47,165,240,209,119,228, 31, 42, + 71,116,233,212, 30,115,102, 77,110, 80,228,180,179, 92,169,239, 40,106, 16,224, 42,125, 60,121,212,128, 87, 19, 39, 78, 20, 46, + 94,188, 88,219,188,121,115, 77,122,122,186, 80, 44,147,251,114,108,237, 2,226, 82,211, 36,205,155, 55,143,249,226,139, 47,114, + 43,139, 57,115,230, 76,209,201,147, 39, 57, 97, 97, 97,166,156,156, 28, 9, 45, 20, 6, 17,124, 65,211,215, 57, 57,182,125,194, +194, 94,244,233,211, 71, 93,228,176,212,106,204,217,179,103,139,158, 62,125,202,105,222,188,185, 49, 45, 45, 77, 42,182,119, 8, +164,236,228, 77, 98, 83,211,109,154,134,132,188, 28, 63,126,188,170,188,116,150, 36, 41, 82,169, 52,185,101,203,150,248,249,231, +159,177, 98,197, 10,124,250,233,167,120,248,232, 33,186,140,159, 4,191,177, 95,227,200,181, 27, 72, 78, 78,198,188,121,243, 16, + 24, 24, 8, 46,151,251,180,212,246, 56, 38,154,184,151, 6,226, 94, 26, 8, 98, 76, 52, 97,185, 46, 83,179,245, 67, 30, 74, 62, + 95,218,115,119,102,151,174,233, 10, 86, 16, 81,229,217, 97, 85, 68,182,250,244,233, 51,206,226,194, 97,248,240,225, 87, 86,174, + 92,217,106,248,240,194,137,118,179,102,205, 48,127,254,252, 86, 51,103,206,188,178, 96,193, 2,180,111,223, 30, 94, 94, 94, 21, +110,124, 49,155,205, 48,153, 76, 24, 48, 96, 0, 76, 38, 19, 94,191,126,141,103,207,158, 97,221,186,117, 96, 89, 86, 0, 0, 10, + 87,247,198, 60, 30, 15,127,220,189,173,158, 53, 60,100, 71, 37, 52, 89, 68,201, 73, 76, 65, 65, 1,250,140, 29,155,153, 84,183, +110,246,154,204, 76,245, 8,153, 76, 84, 59, 62, 94, 46,213,235,221, 80,142, 93, 34, 65, 16, 96, 24,166,152, 88, 89, 8,215,219, + 71,209, 64,105,149, 24,212,204,177, 75,219, 83, 0, 0,109, 6,185,162,199,212,218, 67, 21,222,162, 95, 90, 15, 44, 84,122, 31, +152,255,138,205, 79, 49, 47,134, 17,143, 43,161,177,190,121,243,230, 77,216,217,217, 33, 44, 44,140, 79,146,228, 34,203,124, 21, +133,190,179,150, 89,176,248,124,254,210,193,131, 7,147,185,185,185,184,127,255, 62, 0,156, 45,171, 95, 98, 89,182, 56,239, 5, +217, 4,204, 12, 15, 87,239,158,192,169, 75,251, 17,155,252, 26,241, 25, 90,128, 99, 11,173, 42, 9, 6, 77, 50,244,185,119,161, +212,137,172, 74, 48,151,203,125,221,160, 65, 3,182, 73,147, 38, 44,203,178,120,249,242,165, 41, 46, 62,222,116,123,249,114,246, +193,232,209,132,244,217, 51,174, 80, 40, 36, 60, 61, 61, 33, 16, 8, 24,129, 64,144,245, 55, 14,222,127,137,187,133,191,192, 45, +196,135,212,106,177,248,119, 74, 42,222,220,109, 88,236,192,180, 52,135,165, 96,109,132,253,246,175,254,205, 54,108,192, 32, 85, + 96, 96,160,204,205,205, 13, 4, 65,160,103,175, 94, 68,232,197,139, 82,218,213, 21,246,141, 26, 21, 47, 71,156, 57,125, 26, 39, + 78,156, 80, 29,253,253,144,219,176, 17, 35,186, 1,216, 90, 78, 98, 56,124, 62,191,248,119, 83, 83, 83,193,231,243,139,109, 34, +148, 74, 37, 28, 29, 29,145,154,154, 10, 43, 87,230,182, 77,159,118, 99, 90, 70,200,119,158, 33, 82,154, 56,174, 74,131,153,101, + 65, 19,102, 64,195,194,104, 6,116, 70, 22,141,107, 83,242, 83, 26,147, 44,242,230,193, 24, 0,219, 42, 83,122, 58,157,238,252, +189,123,247, 70, 51, 12,179, 31, 0,121,241,226, 69,230,241,227,199,227, 96,189,225,250,187,106,123,145,104,234,185,115,231,228, + 83,167, 78,205,137,140,140,204,235,218,181,171,237,186,117,235,228,237,218,181,155,154,149,149,181,219, 26, 69, 96, 66, 66,194, +214,196,196,196,113, 77,154, 52, 65,118,118, 54, 12, 6, 3,162,162,162,224,237,237,141, 59,119,238,192,199,199, 7,183,111,223, + 70,189,122,245, 96, 54,155,161,213,106,193, 48,140,185,162,206, 60, 59,243, 53,144,149,128,148,155,199,241,236, 65, 20,206,165, + 16, 88,181, 59, 2, 53,106,121, 86,201, 79,141,143,147,200, 95,225,104,127,106,241,220,217, 78,113,231,247,224,224,166, 85,204, +133,227,199,253,120, 82,140,254,104,192, 87,159,233,141,168, 9,128,215, 34,164, 9, 58,203,158,154, 69,181,144,118,238,113,249, + 14, 22,125,156, 68,254,206, 14,246, 39,255,179,232, 7,233,203, 19, 91,176,119,237,207,236,129,237,187, 2,181, 64,136,191,191, +127,103,146, 36,237, 0,104,139,236,188,172, 10,109, 83, 26,230,153,136,136, 96, 45, 16,114,248,240,225,206, 34,145,200, 5,128, + 81,173, 86,191,122, 31,204,179,145,145,193,150,116, 18, 4,225, 4,192,192,178,236, 75, 84, 50, 4, 79,223,190,125,231,127,253, +245,215,211,204,102,179, 99,137,217, 57,181,116,233, 82, 14,195, 48, 20,203,178, 6,146, 36, 13, 39, 79,158, 52,155, 76,166, 20, +173, 86, 59,246,125,122,145,207, 62,251, 12, 55,110,220,152,139,194, 77, 24,214,106,171,223,176,211, 42, 10,217, 83,101,252,139, + 23, 47,206,251,252,243,207,167,239,222,189,251,217,202,149, 43,187,143, 25, 51, 6,123,246,236, 65,221,186,117,241,199, 31,127, +224,187,239,190, 3,128, 86, 51,103,206, 60,178,113,227, 70,175,184,184,184,165, 86,104, 52, 96, 50,153,176,107,215, 46,244,236, +217, 19,142,142,142,112,117,117, 5, 65, 16,231, 71,140, 24,241, 43, 0, 80, 4,197, 5, 0,157, 86,167,243,245,109, 98,181, 6, +151,203,229, 22,247,117,105,105,105,197, 59, 5, 63,249,252,243,204, 13,139, 23, 99,135, 70,131, 17, 50,153, 40,201,221, 93,113, +228,229,203, 81,143, 10, 59,103,182, 60,173, 78, 69, 36,203, 90,147, 6, 77, 42,102,252,190, 48,214, 5,192,167,109, 6,185,162, +205, 32, 87, 52,233,225, 68,144, 20,129, 7,167,178,240,240, 76,246, 1,163, 18,231, 81,185,112, 57,143, 23, 45, 90,116,228,163, +143, 62,234, 94,191,126,125,140, 28, 57,242,139, 77,155, 54,113,141, 70,227, 68,252,233,230,193,150, 36,201, 31,214,174, 93, 59, + 74, 46,151,227,242,229,203,184,116,233,210,121, 0, 9,101,245, 75, 0,138,125,102,213,240,240,209, 62,141, 43, 16,101, 36, 95, +197,149,203,191,163,110,224, 87, 16,186,116,131,220,119, 1, 12,209, 43,160,207, 58, 5,185, 71, 87, 36,197,189, 4,197,225, 63, +172,200, 8,133,101,217, 71, 73, 73, 73, 94, 94, 94, 94, 68,108,108,172, 9, 0,107, 54,155, 89, 67,235,214, 70,191,197,139,233, +135, 95,124, 65,180,120,250,148, 98, 9,130,137,138,138, 2,128, 39,255,141, 81,220,226,110,225,225,195,135,101,185, 91,168,148, + 52,104,208,160,213,165, 75,151,248, 90,173, 22, 23, 46, 92, 64,211,166,197,123,187,254,171,222,239, 75,114,145,127,153,140, 42, +229,222,186, 55, 52, 90,111, 84,108,134,160,235,249,248,152,185, 36, 54,247,236,214, 77,125,239,222,189,226, 89,159,246,214, 45, +168, 78,156,128,217,108, 6,203,178,184,116,241, 34, 6, 15, 26, 84, 64, 83,196,134,218,181,107,177, 4,251,134,239,150, 14,165, +204, 30,194,194,194,194,138, 59,159,196,196, 68,136,197, 98,240,120, 60, 48, 12, 3,147,201, 4,138,162, 96,107,107, 11,147,201, + 84,154, 10,230,109, 76,163, 57, 91,213,103, 99,151,129,169,174, 5, 6,118,180, 93,109,212,228, 10,139, 27,167,139, 13,129,238, +129, 52, 28, 56, 25,236,217,165, 31,167, 48,186,172, 62,120,119, 71, 87, 69, 91,254,125, 26, 54,108,248,235,224,193,131, 73, 0, +232,208,161, 3,217,176, 97,195, 95, 80,126,168,156,114, 49, 5, 2, 1, 31, 0, 34, 34, 34,178,159, 61,123,246,105, 68, 68, 68, +118,201,251, 86, 98,174, 91,178,100, 9, 68, 34, 17, 76, 38, 19,244,122,125,177,125, 86,201,179,193, 96,128,131,131, 3,142, 30, + 61, 10,179,217,124,180,162,116,122,212,172, 5,194,177, 14,182, 70,156,195,165, 76,110, 85, 72, 86, 49,102, 29, 23,113, 61, 23, + 7,251,211,255, 89, 56,207, 49,231, 69, 20,146,146,146,216,147, 39,142, 94,215, 2,201,121,249,152,149,171, 66, 61,141, 30,130, +166, 94, 72, 56,189,246, 91,118,102, 27, 24, 81,250,174,193, 98, 76, 63, 23,113, 61, 55, 71,251,147, 63,253,103,161, 52,247, 69, + 20, 82,211,210,112,236,104,196, 61, 45, 96, 89,110, 28,202, 48, 76, 0,195, 48, 1, 0,134,150, 67, 94, 42,133,169, 86,171, 27, +168,213,234, 6, 31, 18,147,101,217, 6, 44,203, 90,141, 89,210, 38,106,217,178,101,209,169,169,169,131, 51, 50, 50, 58, 90,142, +156,156,156, 14, 5, 5, 5,109,213,106,117,107,205,178, 90,182,106,181,218,169,160,160, 64,161,213,106, 27, 3,136,170, 68,157, + 47,150,146, 94,167, 83, 83, 83,231,164,166,166, 18, 21,165,147, 26, 27, 77,236,252,105,242,239,107,215,174, 85,188, 39,254, 27, +233,204,204,204,220,191,123,247,238, 32, 79, 79, 79,175,161, 67,135, 98,205,154, 53, 88,185,114,165, 14, 0, 54,110,220,168, 43, +161,201,242,136,139,139,107, 82,198,178, 97,135, 18,218,146,109,159,124,242, 9,123,233,210, 37,244,236,217,179,216,145,232,250, +245,235, 97, 50,153,148,237,219,183,103, 0, 64,163, 85, 43, 89,134,133,222, 80,230,250,251, 59,229,201,227,241, 58,149,244, 23, +104,113,198,204,227,241,192,178, 44,234,181,106,149,153, 27, 24,152,189, 41, 47, 79, 61,167, 65, 3,155, 81,190,190, 67,235, 3, +131, 74,195, 36, 8,226, 13,173,206,219, 71, 37, 52, 89, 37,211,153,161, 73,193,200,223, 23,198,158,176,104,182, 4, 18, 14,180, +249, 38, 28, 90, 28,251, 90,251, 26,235,203, 34, 63,229,229, 61, 59, 59,123,252,226,197,139,117, 50,153, 12,159,125,246, 25, 22, + 44, 88, 48,162, 85,171, 86,121, 78, 78, 78, 55,234,214,173,251,160, 95,191,126,169, 81, 81, 81,227, 67, 67, 67,241,252,249,115, +252,244,211, 79,185, 57, 57, 57, 3,203,195, 36, 8,162, 88,147,215,163, 75,135,236,223,126,249,153,105,255,209, 56,136,132, 54, + 48,210, 30,200, 46, 48, 34, 71,197, 66,207, 15, 1,143,203, 71,199,230,254,184,113,114,139,218,172, 87,109,173,168,206, 23, 20, + 20, 28, 24, 50,100,136,146,203,229, 66,175,215,179, 52, 77,131, 95,104,119,204,208,159,126,106,104,241,248,177,201,204,178, 12, + 65, 16,248,230,155,111, 84, 57, 57, 57,187,171,210,142, 42, 33, 37, 49, 63,148,187,133, 14,111,141, 63, 31,194, 45,196, 95,145, +247,127,179,172, 43,229,248, 83,163,101,217, 82,105, 57, 19, 4, 99, 54,155, 25,212,246,172, 45,141,139, 77, 88,213,183,111,216, +240,206,157,187,136,186,116,233, 34,240,143, 46,156,141, 70, 68, 68,224,224,193,131,234, 83,167, 78, 41,249, 52,181,209,163,134, +135,179,217,204,128, 32,152,114,217,176, 84, 42,157, 56, 99,198, 12, 97, 94, 94, 30, 86,174, 92,201, 4, 5, 5,145, 98,177, 24, + 6,131, 1, 27, 55,110, 52,250,251,251,211, 36, 73, 34, 47, 47, 15, 36, 73, 62,181, 50,131,247,243, 18,146, 59,254, 26,218,251, + 96,147, 47,135,217,251,133,182,144,181,245,112,131,177, 17,139,148,196, 88, 60, 59,123, 42,231,209,201,229, 89,208,166,247, 70, +197,225,129, 74, 27, 8,190, 63,117,234,148,211,248,241,227, 89,173, 86, 75, 36, 36, 36,176, 11, 23, 46,116, 26, 57,114,228,247, + 41, 41, 41,253,171,248, 81,136,220,220, 92, 16, 4,193, 20,117, 36,150, 89,127,101,214,229, 30,110,221,186,245,112,175, 94,189, +122,180,111,223, 30,209,209,209,197, 75,132, 37,137,150,101,247,225,162, 69,139,114, 1, 76,175, 8,148,166,105,172,220,186, 31, +185, 57,153,112,118,118,133, 64, 40, 68, 85,119, 88,242, 72,114,206,143,243,102, 59,101, 62,185, 65, 60,188,126,142,217,119, 63, + 61,195,100,102, 75,247,248,159,159,194, 22,177,255,242,103, 51, 36, 53,231,199,133, 63,216, 90,150, 53,119,223, 77, 85, 18,102, +118,252,123, 53,145,127, 11,230,223, 44,174,174,174, 72, 77, 77, 37, 92, 93, 93,217, 34, 27, 45,182, 28,162,245,102, 5, 47, 92, + 46, 35,202, 91, 54,172, 42,126, 76, 76,204,194, 70,141, 26, 77,126,254,252,249, 62, 63, 63,191, 49, 0,106,232,116,186,220,153, + 51,103,254,103,227,198,141,195,173,209,100, 1,192,158, 61,123,150, 15, 27, 54,236, 68,183,110,221,190,101, 24,166, 97,137,129, + 61,198,201,201,169,120, 9,247,117,122,218,180,209,195, 7, 76, 43, 40,200,177,218,207,157, 68, 34, 25, 53,115,230, 76,129, 74, +165,194,234,213,171, 25,127,127,127,210, 50, 41,218,190,125,187,201,199,199,135, 19, 54,110, 92,230,178,180, 52,204,191,124, 89, + 53, 45, 32, 32,104,211,179,103,141,193, 48,219,202,210,234,148,166,201,178,152, 93, 84, 81, 82,138,200,214,122, 0,159,182,232, +235,130,195, 75, 98,145, 19,167,255, 15, 76,120, 9, 43,194, 2,149, 34, 73, 7, 14, 28,232,152,158,158,126,120,246,236,217,182, +141, 27, 55, 70, 64, 64, 0, 45,145, 72, 66, 44,238, 98,242,242,242,112,230,204, 25,172, 89,179, 70,255,232,209,163, 94,229, 45, + 87,153,205,230, 12, 31, 31, 31, 75, 57,176, 4, 65,100, 41,117,132,237,222,250, 33,146,161,163,247, 17, 87,110, 95, 67,138,129, +129,206,200,160,182,103, 48,218,126,186, 12, 71,142, 63, 48,167,196, 61,126,108,212,228,108,176, 34,189, 47, 95,188,120,113,104, +222,188,121,125,191,253,246, 91, 97,102,102,166, 89,167,211, 49,251,247,239,167,134, 14, 29,106,102, 57, 28,134,203,225, 96,226, +196,137,154,220,220,220,223,129,191, 53,192,244, 95,226,110,225, 47,112, 11,241,193,180, 89, 37,207,255, 43, 82,106, 11,101, 40, +242,234,154,181,191,117,218,179,107,183, 11, 69,145, 46, 47, 95,189,186,221,189,119,159,228,211,167, 79,203,185,182,182, 77, 1, + 48,250, 49, 99,174, 27,116,154,236,200,195,135,107,214,174, 93, 43,176, 40,168, 52,203, 80,228,213,242,126,176,160,160, 64,117, +249,242,101,245,244,233,211,137,196,196,196,157,206,206,206,253,142, 31, 63, 46,233,221,187,183, 38, 58, 58,250,128,139,139, 75, +143,208,208, 80,233,228,201,147,117, 5, 5, 5,149, 9, 60,250,152,125,157, 83,255,214,236,165,159,223, 90,242,219,199,224, 80, + 45,161,163, 1,198,120, 21,134,252,211, 0,118,162, 18,254,142, 74,138, 88, 44, 14, 20,137, 68,184,119,239, 94, 78, 72, 72,136, + 94,171,213,114, 23, 44, 88, 96, 47, 22,139, 3,171, 90,240, 44,203,178, 57, 57,179, 49,226,226, 0, 0, 32, 0, 73, 68, 65, 84, + 57, 96, 24,134, 3,128, 40, 58,131,169,252, 94,252,254,221,187,119, 63,188,119,239,222, 79,186,116,233, 2, 47, 47, 47, 24,141, + 70,248,248,248, 64,175,215,195,219,219, 27, 58,157, 14,115,231,206, 69, 94, 94,222, 36,148, 19,243,140, 32, 8,152, 76,166, 98, + 99, 91, 55,247,154,133,126,122,222,195,141,133,152, 38,189,158, 70,110, 66, 70, 86, 38,179,247,143,244,116,181,193,220,241,197, +107,245,163,183,159, 83,155,161, 10, 29, 58, 33, 25, 0,116, 76,249, 17,231,197, 60,120, 61, 59,186, 30,233, 25,153,216,115, 55, + 53, 87,101, 96, 62,125, 86, 10,102,165,210,249, 47,193, 12,158, 27,141, 62, 19,172,127,246,125,196, 90, 66, 85,150,220, 75, 3, +113, 71,180,137,197,218, 77,165,250,200,122, 79,252,195,207,159, 63, 63, 12, 0,143, 31, 63, 78, 28, 48, 96,192,180,216,216,216, +121, 0,142,197,197,197,173,173, 12,208,166, 77,155,158, 3, 24, 86,222, 51,187,151, 14, 59, 4,224, 80,101,112,243,243,243,181, + 81, 81, 81,218,201,147, 39, 19,137,137,137,199, 93, 92, 92, 62, 57,113,226,132,168,119,239,222,186,135, 15, 31,158,117,117,117, +109,211,161, 67, 7,201,177,155, 55,147,213, 47, 95, 70, 70,198,198,186, 27, 25, 38,178,188,246,249,129, 73,214, 27,100,235,208, +252,216, 31, 15,255, 24,219,129,209,225,128, 62, 7,215, 1, 36,189, 7,230,165,171, 87,175,250, 13, 26, 52,104,111,215,174, 93, + 91,248,249,249,161, 70,141, 26,120,246,236, 25, 94,191,126,141,251,247,239, 35, 34, 34, 34, 66,171,213, 86, 24, 80, 59, 59, 59, +251,221,240, 68, 2,185,235,150,213,115, 34,110, 95,105,234,211,186,203, 16, 97,128, 43, 3,189,129, 69, 98,252, 75,204,157,181, + 65,157, 26,255,252,177,193,100,232, 5, 43, 55,234,104, 52,154,117, 43, 86,172,160, 35, 35, 35,187,172, 90,181, 74, 90,179,102, + 77,138,203,229,146, 0,216, 59,119,238,176, 19, 38, 76, 80,101,102,102, 30, 85, 42,149,235,254,230, 49,250,210,171, 87,175,130, + 41,138,250,160,238, 22,222,195, 45, 68,181,124, 72,241,244,116,247,171, 83,211,117,140, 87, 13,247,113,158, 53, 61,194, 75, 51, +114,247,146,201,164,158,181,220, 70,121,213,112, 31, 87,167,166,235, 24, 79, 79,119, 63, 43, 84,139, 94, 54, 54, 54,199, 21, 10, + 69, 16, 0,216,218,218,246,176,179,179,123,100,107,107,219,163,104, 22,216, 67, 34,145, 60,241,247,247, 31,249, 55,170, 43,203, +197,244,241,241, 25, 80, 80, 80,240,133,143,143,207, 0,203,245,203,151, 47,139,175,171,130,233,225,225,209,254,206,157, 59,253, +151, 46, 93,250, 89,221,186,117,123, 44, 92,184,240,179,223,127,255,189,191,187,187,123,227, 42, 96,242, 1,236,160,105, 58,157, +199,227,101,208, 52,157,110, 57, 56, 28, 78, 58, 69, 81,233, 0,214,150,161, 45,235, 80, 98,150,115,197,217,217, 57,206,217,217, + 57,206,197,197, 37,206,197,197, 37, 78,161, 80,188,115, 56, 56, 56, 92,177,182, 60,125, 93, 36,173, 66,106, 72,175, 54, 80, 72, +174,212,119, 22,251,126,136,111,228,235, 34,105,213,180,134,237,213, 6, 10,233,229,255,111,152, 65, 46, 96,217, 53,190, 44,187, +198,151, 13,114, 1, 91,209,245,135, 84,251, 43, 20, 10, 86,161, 80,204,249,171,150, 18,202,192,255,219,219,251, 7,196,244,146, + 74,165,187,107,212,168, 97,233,235,186,217,216,216,156,151, 72, 36,221,138,250,186,110, 98,177,248,162,191,191,255,144,138, 48, +229,114,249, 29, 39, 39,167,180,162, 35,213,217,217, 57,213,217,217, 57,213,201,201, 41,197,201,201, 41,197,209,209, 49,217,114, +216,217,217,221,168, 98,222,157, 0, 52, 3,208, 24,128,205, 7, 44, 79, 79, 0,163,139,250,160,197, 0, 70, 2,104,248, 1,190, + 17, 65, 11,229, 99,249,118, 30, 87,105,137, 99, 62, 45,113,204,231,219,186, 95, 45, 39, 4,143, 53,152,245,228,114,249, 2, 27, + 27,155,223,165, 82,233,101,169, 84,122,216,193,193, 97, 33,128,122,255,165,186, 36, 1,176, 17,133,254,153,142,161,112, 41,252, + 48, 10, 55, 21,212,252, 7,214,249,255,207, 50,234,191,245,195, 29,170, 49,171, 49,171, 49,171, 49,171, 49,171, 49,255,133,152, +100,117,121, 86, 19,173, 74, 18,173,183, 15, 0,229,120,134,175,150,106,169,150,106,169,150,106,249,127, 44, 76,117, 17, 84, 75, + 37,165,212,165,101,162, 28, 86, 90, 25, 95, 83, 85, 97,182,103,170, 49,171, 49,171, 49,171, 49,171, 49,171, 49,171, 49,255,223, + 97, 86,203, 7,148,106,181,106, 53,102, 53,102, 53,102, 53,102, 53,102, 53,102, 53,230,255,186, 84, 47, 29, 86, 75,181, 84, 75, +181, 84, 75,181, 84, 75,181,252, 69,178,174, 4,225,122, 99, 9,177,154,104, 85, 94, 72, 0, 95, 0,232, 3,160, 14, 10,163,217, +239, 7,240, 43,170,182,166,111, 3, 96, 26,128,150, 40,220,157, 19, 3,224, 50, 10,119,231, 20, 84, 23,119,233,226,224,224, 48, +131,166,105, 59,160, 48,180,137,229, 92,242,255,102,179, 57, 87,169, 84, 46,252,139,146, 64,193, 74, 15,202,150,180,150, 76, 91, +201,179,209,104,252, 43,211, 89, 45,255, 76,241,145,203,229, 59,178,179,179, 7,162, 68,144,229,106,169,150,255, 5,113,116,116, + 28, 99, 48, 24,102,114,185,220, 5,175, 95,191,254,237,255, 81,214,223, 33, 89,111, 16,173,200,200,200,139, 0,208,181,107,215, +143, 0,192,206,206,238, 26, 73,146,158,149,249, 5,134, 97, 98,114,115,115,203,116,160,102,103,103,119,141,162,168,119, 48,141, + 70,163,148,195,225,228,151,246,142,201,100, 74, 82, 42,149,141,255, 33,133, 72, 0,136,148,201,100,218,121,243,230,253,218,182, +109, 91,143,148,148, 20,211,212,169, 83,219,252,241,199, 31, 93, 0,116,170, 36,217,106, 78, 16,196,150,160,160,160, 67,225,225, +225,123, 67, 66, 66,120, 89, 89, 89,210,253,251,247,187,109,221,186, 53,138, 97,152,129, 40, 39,208,234,255,103,161,105,218, 46, + 41, 41, 73, 10, 20,134, 38, 41, 34, 86, 48, 26,141, 48, 26,141, 80,169, 84, 8, 12, 12,252,224,191,235,226,226, 18, 76, 16,196, + 42,137, 68,210,184,160,160,224, 54,128,113,169,169,169,127, 84, 38,173, 38,147, 9, 44,203, 22,167,211,207,207,175,250,131, 86, + 78, 70,240,120,188, 79,189,189,189,155,234,116,186,156,152,152,152, 91,102,179,121, 54, 62, 92,140, 54, 91, 0,179,249,124,126, + 72,157, 58,117, 60,158, 63,127,158,104, 48, 24,110,162, 48, 24,114,222,135, 32, 89, 31,125,244,209,149,213,171, 87,219,143, 29, + 59,246,202,229,203,151, 91, 85,147,173,106,249,111,137,135,135,135,157, 74,165,218, 0, 32,152,166,105, 23,129, 64, 0,161, 80, +152,198,231,243,239, 9,133,194,225, 87,175, 94,205,173, 44,166,217,108,158, 29, 23, 23,231,210,172, 89,179, 37, 78, 78, 78,115, + 51, 51, 51,181, 6,131,225,108, 78, 78,206, 36, 0,202,242,222,125,155,139,252,203, 72, 86,201, 51, 44,164,139, 83,148, 49, 22, + 64,219, 55, 24, 24,135,227, 30, 31, 31,239, 36, 16, 8,192, 48, 76,241, 96,246,246, 97,185,175,215,235, 17, 16, 16, 96,168, 96, +192,241, 72, 76, 76,116,226,241,120,197,247,244,122, 61,220,220,220,152,164,164, 36,167,162,176, 7,197,162,211,233,224,238,238, +254, 79,138,121,244,133, 92, 46,207, 75, 72, 72, 12,212,234, 12, 63,140, 28, 63,125,198,192, 62, 31,203,174, 93,187,198,116,234, +212, 73,119,241,226,197, 47, 80, 24, 56,213,170,206,156, 32,136,173, 83,167, 78,157, 43, 16,217,216,159,187,246, 88,183,117,255, +209,228, 32,159,218,196,164, 73,147,168, 9, 19, 38, 92, 10, 14, 14,222,193, 48, 76, 35, 84, 66,179, 37,147,201, 78,240,249,252, + 90, 69,229,151,144,147,147,243,201, 63,176, 66,114,240,174,243,216,210,238, 85, 40, 89, 89, 89,208,104, 52,239, 28,126,126,126, +214,198,202,172, 84,186,105,154, 62,188,104,209, 34,183,180,212, 84,252,188,108, 89, 51, 20,106, 50,155, 89,243,114, 70, 70,198, + 59,233,244,245,245, 69,181, 84, 74,166,205,157, 59,119,209,231,159,127, 14,179,217, 12,141, 70,227,250,226,197, 11,255,153, 51, +103,246,122,249,242,101, 83, 0,175,222,119, 50,238,237,237, 29,253,213, 87, 95,201,155, 54,109,138,162, 40, 21,174,151, 47, 95, +110,182,113,227,198,193, 9, 9, 9,190, 0, 94,191,207, 15,200,229,242, 29,235,215,175,183, 23,137, 68, 56,114,228,136,125,251, +246,237, 47,223,189,123,183,245,123,144, 45,210,222,222,126, 2,128,118, 12,195,240, 0,220,204,201,201,153,143,202,123,117, 87, + 72, 36,146, 3, 36, 73,214, 6,254,244, 70, 79,146,164, 3, 65, 16,153,150,123, 4, 65, 56, 49, 12,115, 61, 59, 59,187, 69,117, +117,252,119,139,189,189,253,136,244,244,244,213,124, 62,159, 43,147,201, 32, 18,137,192,225,112,192,225,112,106,240,249,252, 26, +124, 62,191,115,104,104,232,184,243,231,207,151,235, 97,191,121,144,243, 80,144,196, 15, 20, 65, 82, 0, 64,210, 98, 27, 91, 91, + 91,252,240,195, 15,226, 30, 61,122,136, 1,224,202,149, 43,225, 67,134, 12,105,159,148,148, 20, 80, 22,217, 42,141,139,252,139, +100, 93,121, 3, 30,138,216,227,197, 55, 90, 46, 73,130,199,227,225,198,141, 27,176,198, 89,185, 37, 68, 66,185,189, 65,145,135, +241, 63,254,248, 83, 1, 96, 25,104,120, 60, 30,174, 94,125,211,169,124,243,230,205,139, 27,251,223, 37,125,252, 10,157, 60,238, +251,178, 48, 93, 97,171, 10,189,107,239,251,210, 23,109,126,138, 71,159, 9,115,250,169,181,134, 38, 0, 84,185, 57, 57, 57,183, + 15, 30, 76, 9,242,241,225,238,216,177,163,169,155,155, 91,159, 74, 16,173,105,141, 26, 53, 58, 64, 9,109, 29,194,135, 12, 13, + 31,206, 33, 13,131, 71, 79, 94,144,152,154,169, 26, 53,106,212,193, 35, 71,142,132,255,248,227,143, 79,166, 76,153, 50, 13,192, +119,214,166, 95, 32, 16,212,122,250,244,169,183,217,108,134,159,159,223, 63, 49,140, 65, 16, 10,157,239,125, 14, 96, 87,209,189, + 1, 40,244,220, 31, 12,224, 94,101,192, 44, 26,172,210,142, 15, 45,110,110,110,190,131, 6, 13,114,200,206,204,196,207,203,150, + 89,110, 55, 70, 5,203,136,150,246,163,215,235,241,217,103,159, 13, 50,155,205, 28, 11, 9,212,233,116,250,188,188, 60, 45,254, + 52, 44,125, 13,224, 99, 43,146,227, 41, 22,139,255, 3, 32, 88,163,209,184, 1,128, 88, 44, 78,102, 24,230,144, 74,165,250, 14, +127, 6,240,173,244, 4, 23,128, 63,202, 14, 5,197, 46, 90,180,232,249,244,233,211, 95,253, 23, 48,107, 57, 59, 59, 47, 12, 11, + 11,195,209,163, 71,113,236,216, 49,163, 80, 40,228, 12, 25, 50,132, 24, 55,110,156,236,171,175,190,234, 12, 96,197,123,126,230, +206,115,231,206,149,215,175, 95, 31,251,247,239,199,253,251,247, 53,222,222,222,194,182,109,219,130,195,225,200,103,204,152,209, + 9,192,150,247,249,129,236,236,236,249,147, 39, 79,222,186,107,215, 46,105, 76, 76, 12, 86,173, 90,229,208,175, 95,191,139, 9, + 9, 9, 31, 85,130,108,241, 1, 76, 0, 16, 74, 81, 84,235, 33, 67,134,152,198,143, 31, 79,147, 36,105, 92,182,108,153,227,198, +141, 27,251,209, 52, 29,156,149,149,101,205, 36,141, 4,240,195,240,225,195,135,157, 63,127, 94,118,235,214, 45,158,189,189, 61, +204,102,115,177,166,152, 97, 24, 39, 75,157, 53,153, 76,240,245,245,117, 47,241,190,240,223, 74, 52, 72,146, 52, 48, 12, 67, 3, + 16, 0,208, 85,116,253,191, 68,178,228,114,249,216,236,236,236, 95, 93, 92, 92,224,236,236,252,206, 88,171,211,233, 32, 16, 8, +184, 46, 46, 46,235,123,244,232, 65, 31, 62,124,184,204, 37, 64,130, 34,102, 31,217, 61,207, 77, 46,147, 2, 0,150,175, 57,169, + 6,128,223,127,255, 29, 41, 41, 41,144,201,100, 8, 8, 8,160,230,205,155,167,152, 52,105,210,207, 57, 57, 57,195,203,194,122, +155,139,252,203, 52, 90,235, 74,187, 46,215, 70,139,101,217,226, 56,121, 86, 86,218,183,111,157,121, 11,143,208,235,245,120, 91, +163,101,105,188, 52, 77,191,173,126, 4, 65, 16,108,121,152,165,200, 16,177, 88, 28,168, 82,169,126,169,196,236,182, 24,115,223, +151,190,216,202,159, 58,192, 18,137,180,243,228,194,243, 86, 0,215, 98,135,175, 90,253,209, 71,110, 19,102,173,156,163,201, 74, +201,156, 49,168, 91, 45,111, 23,123,161, 56, 55, 35, 79, 94,175, 94,199,183, 52, 50, 21,165,179, 77,120,120,248,182, 83, 55,226, + 8,129,128,203,229, 80, 20,221,170,129,143,189,135, 45,101, 43, 5,108, 19, 95, 61,191, 54,116,232,208, 6, 83,166, 76,105, 93, + 9, 76, 20, 13,184,216,190,125, 59, 8,130, 32, 43,147,247, 15, 40,103,202, 35, 89, 44,203,130, 32,136,157, 37, 6,149,157, 69, +247,238,150, 32, 91,156,242,202,211,162, 77,181,144,170, 33, 67,134, 12, 50,153, 76,156, 18,157,196,219, 4,166, 52, 18, 99, 85, +222, 21, 10,197, 41, 0, 31, 19, 4, 1,189, 86,171,255,207, 79, 63,149,252,243,157,183, 72,214,153,178,218,146,209,104,132,217, +108,230,220,189,123,151, 46, 81,215,105, 0, 98, 0, 14, 44,203,130, 36,201, 7, 86,148,167,175, 72, 36,186, 22, 17, 17, 97,211, +184,113, 99,130,199,227,193,100, 50,225,225,195,135, 30, 63,254,248,227,232, 51,103,206,116, 82,169, 84,126,120, 55,120,186, 53, +223,200,255,242,229,203, 42, 47, 47,175, 82,137,163, 82,169,228,248,248,248,124, 84, 6, 41,250,171, 49,147,210,211,211,123,126, +252,241,199, 99,210,210,210,162, 77, 38,211,183, 0, 2, 28, 28, 28,238,246,238,221, 27, 66,161, 48, 84,163,209,172,120,159, 58, +239,228,228,212,163, 69,139, 22, 88,181,106, 21,126,252,241,199, 14, 0,206, 2,104,175, 84, 42,207,116,239,222, 29,118,118,118, + 61,115,115,115,183,188, 71, 59,242,105,211,166,205,250, 31,126,248, 65,122,244,232, 81,120,123,123, 35, 63, 63, 31,223,124,243, +141,211,247,223,127,127, 33, 55, 55,183,109,137,118, 81, 22,166, 31,159,207,223,178,107,215, 46,137,151,151,151, 23,151,203, 37, +189,188,188,144,157,157, 13,173, 86,203, 95,176, 96, 65, 3,161, 80,248,199,138, 21, 43,182, 0,232, 93, 65, 58, 73, 0,243,215, +174, 93, 59,102,212,168, 81,118,131, 6, 13, 50,235,245,122,236,221,187, 23, 20, 69,129,166,105,136, 68,162,226,224,213, 92, 46, + 23,245,234,189,227, 36,253, 72, 57,249,205, 67,161, 29,170, 29, 42,183,236,122,166, 28,188,226,165, 15,154,166, 33, 16, 8, 32, + 16, 8,192,231,243,241,244,233,211, 89, 2,129, 96, 25, 65, 16, 38,107, 48,137, 63,217, 69, 32,128, 91, 21, 93,227, 93,211,144, +191,179,255,180,136, 59, 65, 16,203, 1,132, 22, 14,187,228, 69, 7, 7,135,137,233,233,233,241,214, 98, 42, 20, 10,251,172,172, +172, 21, 10,133, 2,206,206,206,197,227,183,155,155, 27,140, 70, 35,210,211,211,193,178, 44,114,115,115, 33, 18,137,224,234,234, +186, 98,212,168, 81,251,215,173, 91,151, 85, 42, 38,131, 31,187,247,155, 57,155,162, 40, 18, 0, 40,142, 68,242,213,116,160, 86, +173, 90,104,213,170, 21,180, 90, 45,242,242,242,224,239,239,207, 33, 8, 34,156, 32, 8, 27,150,101,127, 3,112,238,127, 80, 81, + 88,166, 49,252,220,183,215, 69, 45,209,226,185, 92,174, 85, 68,171,232,249,138, 52, 40,164,209,104, 4,151,203,125, 67, 35, 65, + 16, 4,204,102,243, 27,247, 45, 68,171, 42, 68,125,220,184,113,204,250,245,235,199,228,228,228,172, 65, 21,151, 18,194,195,195, +223,177,247,152, 52,105, 82, 82, 70, 70, 6,251, 89,199, 64,113,244,241,148,212, 58, 50,137,208, 81, 42,173, 45,144,201,237,178, +178,178,174, 23,117, 38,214, 74,221, 70,141, 26, 9,183, 30,188,156, 52,242,235, 69,243, 26,123,217,219, 52,116,119,144,185,216, + 10,121, 18,146, 80, 9, 76,198, 36,185, 92,238, 93,217,116, 91,250, 5,145, 72, 4,146, 36,255, 73, 26, 45,142,133,100,101,103, +103,227,232,209,163,232,210,165,203, 93, 11, 9, 81, 42,149, 72, 77, 77,133, 66,161,184, 91,164,249,168,112, 25,145, 97, 24, 24, + 12, 6, 24, 12,134, 98, 2, 83,162, 14, 21, 19, 24,203,179, 20, 69, 61,168, 98,218,231,201,100,178, 54,161,161,161,188,221,123, +247,242, 88,150, 85,161, 48,134, 90, 1,203,150, 17, 32,251, 45, 49,153, 76,197, 90, 54,154,166,145,144,144, 80, 60,112, 89, 98, + 75, 10, 4, 2,235, 84, 25,124,254,228, 61,123,246,216, 52,109,218,148,200,202,202, 2,195, 48,197,157,228,175,191,254, 42,232, +211,167,143, 91, 84, 84,212, 12,157, 78, 55,183, 10,121, 37,202, 34, 68, 0, 96, 99, 99, 99,130,117, 30,179, 43,196, 52,153, 76, + 68,203,150, 45,167,100,102,102, 54,208,104, 52, 11,172, 41, 70, 0, 71,146,146,146, 74, 14,236,127, 68, 71, 71,107,250,246,237, + 43,172, 93,187,118,200,227,199,143,223,171,146,250,248,248, 52,167,105, 26, 55,111,222,212, 1,176,204,172, 47,222,191,127, 95, +215,187,119,111,190,135,135, 71,243,220, 92,171, 77, 86,124,124,125,125, 79, 59, 57, 57, 9, 45,125,168,163,163, 35,189,110,221, + 58,105,114,114, 50, 12, 6, 3,166, 77,155,134,174, 93,187,194,193,193, 1,147, 38, 77,114, 94,178,100,201,142,130,130,130, 70, +229, 41,173,121, 60,222,182, 23, 47, 94,120, 43, 20, 10,225,141, 27, 55,208,176, 97, 67,100,102,102, 34, 45, 45, 13, 5, 5, 5, + 72, 75, 75,195,240,225,195,157,126,254,249,103, 87, 43, 52, 89,197, 36,107,221,186,117,185, 7, 14, 28,160, 54,108,216, 32,165, +105,186,152,104,113, 56,156, 98,162,101,137,173, 88,133,149,134,220, 34,210,102,151,151,151,247, 62,118,110,124, 0,188,146, 36, +139,207,231,131,207,231, 67, 32, 16,188, 87, 92,214,127,137,184, 17, 4,241,152,203,229,242, 69, 34, 17,151, 36, 73,240,249,252, +142,114,185,252, 81, 64, 64, 64,192,233,211,167,227,172, 1,209,106,181,219,248,124, 62,237,228,228, 4, 0,240,246,246, 70,195, +134, 13,161, 82,169,152,188,188, 60,216,217,217,145,241,241,241,208,104, 52, 72, 77, 77, 69,205,154, 53,105,146, 36,183,161,208, + 14,249, 29,185,118, 55,109, 13,128, 53,150,107, 7, 7,135,244,146,154, 78,129, 64, 0, 55, 55, 55, 36, 39, 39, 67, 42,149, 82, +223,127,255,125,239,189,123,247,246,186,118,237, 90, 56,128,237, 37,160,230,254,139,109,180, 44, 36,171,228,249, 79,162,213,181, +107,215, 57,145,145,145, 31,149, 54, 11,167,105,250,131,217,186, 88, 8,149,141,141,205,219, 90, 43, 48, 12, 83,150, 70,171,210, +191, 35, 16, 8,132, 99,199,142,205,255,237,183,223, 42, 77,182,194, 86, 69, 23,107,177,222,153, 70,250,249, 93,155, 49, 99, 70, +143,243,231,207, 39, 55,246,170,205, 17,167,196, 23, 8,108,236,236,224, 94,163,203,144,158,189,239,163,112,247,161,181,242, 34, + 63, 63, 95, 88,199, 93,164, 39, 73, 45, 81,131,207,145, 42,196, 92,190,139, 76,230,198,213,235, 50,108,100, 50,158, 78,167,203, + 69, 57, 65,160, 1,192,217,217,249,164, 80, 40,172,105,185,150,201,100,182, 44,203, 66, 36, 18, 65,161, 80, 72, 40,138,122, 86, +162,113,197,167,167,167,119,172, 40, 97,118,118,118, 39,249,124,126, 77,146, 36, 65, 16, 4, 40,138, 2, 73,146, 32, 73,178,248, +255, 20, 69,129, 32, 8,168,213,234,248,184,184,184,142, 86,228,215, 4, 32,152, 32,136,187, 71,143, 30, 69, 72, 72, 8,142, 31, + 63,142, 79, 63,253, 20,121,121,121,120,248,240, 33,218,180,105, 3, 20, 46, 41, 90, 37, 37,141,223, 45,147,130,167, 79,159, 22, + 19,151,146,135, 84, 42,125, 31, 21,251,149,176,176, 48,172, 95,191,158, 45,154, 76,136, 9,130,104,104,107,107,251,244,201,147, + 39, 86,217,193,176, 44, 11,131,225,207, 71, 45,131, 87,145, 61, 68,165,130, 3, 83, 20,213,177, 81,163, 70, 68, 94, 94,158,133, + 64,130,195,225,128,162, 40, 80, 20,133,213,171, 87, 11,155, 54,109, 58,147,207,231, 79,225,114,185, 74,163,209,184, 91,171,213, + 46, 0,144,251, 79,234,145, 90,183,110,253,117, 98, 98, 98,215,154, 53,107, 70,188, 7, 12,107, 52, 26,245, 0,132, 20, 69,209, + 31,160,143,162,138,234,150,182, 4,217, 55, 21, 93,243, 81,184, 76,108,149, 56, 56, 56,236, 56,118,236,152,123,205,154, 53, 97, + 52, 26, 97, 50,153, 80, 80, 80,128,139, 23, 47, 66,167,211,193,100, 50,193,219,219, 27,179,103,207,214, 78,156, 56, 81,176,118, +237,218,140,130,130,130,129, 21,192, 78,220,191,127,191, 88,161, 80, 8, 53, 26, 13, 94,189,122,133, 70,141, 26, 33, 63, 63, 31, + 42,149, 10,106,181, 26, 6,131, 1, 74,165,210,206,108, 54,235, 43,192,154, 85,146,100,141, 30, 61,250, 1,143,199,107, 52,126, +252,120, 36, 37, 37, 21,183,249,145, 35, 71,194,217,217,185,184, 45, 21,245,201,149,234,152, 57, 28, 14,248,124, 62,184, 92,110, +110,141, 26, 53, 64, 16,132, 32, 62, 62,190, 42, 75,113, 54, 0,148, 52, 77,243, 74, 18, 44, 62,159,143,155, 55,111,206,224,241, +120,101,105,179,202,106,151,108,101,174,255,219, 66, 16,196,114, 46,151,203,151,203,229,220, 18, 19, 78,174, 68, 34,129,147,147, +211, 42, 0,157,173,204,119,144, 92, 46, 47,238,223, 3, 3, 3,145,152,152,120, 40, 47, 47,111,112, 70, 70, 6, 72,146,220, 70, +146,100, 47,203, 36, 53, 39, 39, 7, 30, 30, 30, 65,101,225,181, 8,118, 25, 3,130,125, 67,163,245,214, 4, 13, 54, 54, 54,136, +141,141,133, 74,165, 98,159, 63,127, 78,140, 29, 59,150,208,235,245,155,163,162,162,174,163,112,183,125,153, 92,228, 95, 34,149, +183,209,178,104,180,172, 29, 0, 8,130,168,112, 54, 97, 52, 26, 37,254,254,254,165, 25,124, 17,165, 17,173,162,229,164, 42, 85, +116,154,166,165, 85, 37, 91,111, 75,196,129, 93,206, 63,206,158, 54, 91,238, 90,187,206,148, 41,179, 56,221,186,117,187,177,117, +235, 86,179,188,126,231,246,231, 78,110,119, 94,241,205,212,227,199,142, 29, 3, 10, 13,163,173,149, 43,145,145,145, 46,147, 38, +140,195,236,201, 19, 79,216,120, 59,240, 36,132, 92, 44,208,169, 94, 75,192,106,248,117,125,187, 30,140,136, 72, 5, 16, 85, 30, +136, 72, 36,170,249,248,241, 99,239,146, 27, 9,244,122, 61, 68, 34, 17,206,157, 59,231, 40, 20, 10, 29, 1, 64,163,209, 32, 32, + 32,192, 90,141, 73,205,103,207,158,121, 75,165, 82,168,213,106,232,116, 58, 24,141, 70, 48, 12, 3,130, 32, 64,211, 52,120, 60, + 30,196, 98,113,101,119,246,221, 3,240,121,151, 46, 93,118, 30, 63,126, 28,254,254,254,200,201,201, 65,116,116,180,133,100, 85, +202, 70,203,162, 37, 42,105,143,197,225,112,176,195,203, 11, 35, 83, 82,138, 9,204,114, 91, 91,204,102,170, 22, 77, 35, 32, 32, +128,189,114,229, 10, 78,156, 56,129,238,221,187, 19,135, 15, 31, 54,152,205,102,110, 74, 74,202,131,148,148, 20,171, 48,152,255, +107,239, 58,195,155,184,210,238,153, 25,117, 89,150,123,197, 96, 3, 1, 76, 7,211,123, 13, 16, 32, 75, 18,218, 38,212,133,152, + 16,216, 44, 36, 11, 36, 31,201,134, 56,148, 64, 96, 33,129, 80,188, 16,218, 66, 18, 90,232, 16, 74,108, 76,232, 54, 4, 99, 27, +211,221,155, 44,171, 90, 86,153,209,124, 63, 44, 41,178,113,145,108,153,146,213,121,158,121,172,209,140,142,239,220,185,229,220, +247,190,247,189,102,179, 45,173,214,118,219, 94, 96, 57, 43,180,104,154,246,228,243,249, 40, 43, 43,131,213,242, 96,127, 52,107, +214, 12,114,185,156,163, 82,169, 56,185,185,185,226,165, 75,151,254, 61, 46, 46, 46, 68,173, 86,191,253, 60, 91,161, 77,155, 54, +133,191,251,238,187,153, 28, 14,135, 29, 49, 98,196,228,140,140,140, 55, 66, 66, 66,206,253,250,235,175,107, 0,180,114,150,207, +223,223,255, 6,135,195, 9, 83,169, 84,188,125,251,246,153,212,106, 53, 47, 32, 32,160,192,218,118, 88,243,218,100, 50, 57,180, +114,217,223,223,255,134, 76, 38,227,173, 95,191,222, 84, 92, 92,204, 11, 10, 10, 42,176,242, 40, 20, 10,222,190,125,251, 76, 42, +149,138,231,229,229,117, 67,169, 84,214,202, 39,147,201, 38, 77,157, 58, 53,225,220,185,115,254, 20, 69, 33, 35, 35, 3,197,197, +197,240,246,246,198,174, 93,187, 16, 30, 30,142,253,251,247,203,229,114,249,204,175,191,254,250, 83,139,200,170,205, 71,171,127, +143, 30, 61,194, 21, 10, 5,188,189,189,161,213,106,113,227,198, 13,180,109,219, 22,185,185,185, 32, 73, 18,222,222,222,216,184, +113, 99, 41, 65, 16,242,154,136, 68, 34,209, 27,209,209,209,222, 0, 16, 29, 29,237, 29, 29, 29, 93,101, 7,215,171, 87, 47,108, +216,176,161,178,208,114,102, 96, 96,179, 58,217,137,163,178,158, 61,123, 34, 46, 46,110,161,147,226,200, 96, 21,109,149,173, 89, + 2,129,192,233,197, 52,102,179,153,135,114,151, 6,194,145,243, 23, 0, 3, 68, 34, 17,175,242,151,165,165,165,188,144,144,144, +126, 78, 8, 95, 63,145,168,220,224, 20, 30, 30, 14,165, 82,201, 24, 12,134,137,187,119,239, 54, 1, 64, 84, 84,212, 68,134, 97, +202,104,154,166,248,124, 62,180, 90, 45, 2, 3, 3,253,106,176,141, 46, 58,242,195,210,224,202, 62, 90, 33, 33, 33,136,138,138, +130, 94,175, 71, 94, 94, 30,226,227,227, 77, 12,195,236,217,180,105,147, 57, 32, 32,224,111, 99,199,142,165, 18, 19, 19,231, 2, +152, 95,157, 22,121,201,172, 89,177,213, 10, 45,139,130,140, 3, 48,176,242, 67, 86, 22, 63, 53, 9,173,218,166, 14,249,124,190, + 34, 51, 51,211,195,190, 83,161,105, 26,161,161,161,102,150,101,137,170,132, 86,125, 76,193, 92, 46,215,243,147, 79, 62, 81,108, +218,180,105,210,227,199,143,151, 56,242,155,125,115, 91, 99,103, 37,145,181,121,101,204,134,245, 43,151,250, 62, 56,181, 29, 91, +191, 93,205, 48, 12, 18, 59,116,232,208, 79,163,209,112,188, 60, 76,144, 41,112,210, 34,178, 28, 21,133, 36,128,239,175, 93,187, +150, 56,114,228,200,223,190,255,241,160,111,238,195,135,151, 5, 42, 89,158,180, 69, 75, 14,175, 81,248,155,234,178, 50,222,196, +137, 19, 3, 0,140,173,173, 17, 83, 40, 20,200,207,207,175, 44,192,112,247,238,221,167,238,117, 40,113, 36, 9,134, 97,112,224, +192, 1,136,197, 98,120,120,120, 84, 56,172, 34,171,142, 11, 21,210, 1, 96,196,136, 17,144,203,229,144, 72, 36, 14,167,171,178, +120, 97, 89, 22, 6,131, 1, 6,131, 1, 70,163,145, 1,192,229,112, 56,152,145,157,109,179,242, 56, 35, 96, 42,163, 67,135, 14, +236,165, 75,151,240,219,111,191, 65,171,213, 98,253,250,245, 8, 9, 9, 25, 12,224, 51,103,185,236,156,244, 25,149, 74,197, 85, +169, 84, 54,235, 32,151,203,181, 89, 15, 28,180,228,241, 56, 28,142,109, 52,106, 61,236,173, 90, 20, 69, 33, 40, 40, 8,193,193, +193,216,188,121, 51,175,105,211,166,163,159,103, 11,180,106,213,170, 22,235,214,173,219,182,115,231,206,147,147, 38, 77,250, 41, + 57, 57,121,186,151,151,215,237,243,231,207, 47, 21, 8, 4,230, 58,214,239,176,220,220,220, 64,251,175,204,102,179,152,166,105, +155,176, 45, 45, 45,117,120,128,193,229,114,195, 82, 82, 82,196, 0,176,116,233, 82, 46, 0,177,213, 25,220,202, 89, 90, 90,202, +109,219,182,109,152,163,101, 61, 33, 33,161,223,208,161, 67, 47,157, 57,115,198, 39, 60, 60, 28, 57, 57, 57,200,201,201, 65,139, + 22, 45,176,124,249,114,173, 74,165,234, 3, 32, 93,163,209, 28,118,144, 51,212,199,199,135,155,153,153, 9,154,166,209,185,115, +103,108,220,184, 17, 19, 39, 78, 68,251,246,237,161, 82,169,144,146,146,130, 29, 59,118,248,240,120,188, 26,219, 14,157, 78,119, + 56, 54, 54,182,113,101,139,214,228,201,147, 61, 10, 10, 10,108,101, 50, 38, 38,166,194, 20,162, 51,109,178,101,106,171,218,163, + 46,160,105, 90, 42, 20, 10, 85, 2,129,128,111,245,207,138,143,143,119,218,154, 85,105, 0,232,204,249,115,131, 85,180, 86,209, +183, 34, 56, 56,216, 97, 30,129, 64, 64, 88,219, 70,154,166,161, 84, 42,153,144,144, 16,219,244,126, 82, 82, 18, 19, 17, 17,193, + 80, 20, 69,241,249,124, 16, 4, 1,177, 88, 92,109,131,207, 50,108,204,235, 19, 63,171,176,234,112,222, 39,128,209,104, 68, 82, + 82, 18,140, 70, 35,226,227,227, 77, 95,127,253,117,174, 66,161,152, 7,128,115,250,244,233,169, 11, 23, 46,164, 2, 3, 3,135, + 22, 22, 22,162, 54, 45,242, 18,137,173,167,172, 92,214, 94, 40,110,244,232,209,132,101,105, 37, 97, 21, 78,206, 8, 45, 75,229, +171,181,231, 37, 8, 2,121,121,121,182,243,192,192, 64,167,255,151,163,240,243,243,211,246,234,213,203, 83, 38,147, 29, 94,181, +106, 85,157, 44, 89,155, 87,198,108, 88,241,229,231,190,242,212, 43,200,206,205,131,188,208,148,120,241,246,227, 67, 0, 14, 1, + 0,182,180,137, 35,222, 75,251,206, 81,206,214,254,162, 78, 92, 30,231,208,171, 35, 71, 55,158, 16, 61,159,124,255,253,247,251, + 78,157, 58, 85, 57,105,210,164, 15, 36, 18, 73, 43,163,209, 88,114,240,248,241, 39, 19, 38, 76,104,202, 48,204, 84,212, 18,115, + 68,167,211,101, 12, 28, 56,208, 62, 63,165,103,207,158, 13,122,242,228, 9,230,204,153, 83,148,147,147,163,176,191,215,145, 52, + 26,141,198,140, 78,157, 58, 85, 59, 93,104,157, 82, 4, 0,181, 90,157,225, 68,150,190, 13,139,227,123,113,113, 49,238,222,189, + 11, 14,135,131,158, 61,123,226,226,197,139,232,219,183,111,146, 51, 86,173,178,178, 50,132,135,135,163,172,172, 12, 90,173,182, + 20,128, 96, 87,211,166, 0,128,185,197,197,184,241,245,215,184,178, 98, 5,236,203,179,163,232,216,177, 35,123,229,202, 21,220, +190,125, 27,122,189, 30, 51,103,206, 4, 0,194, 82,118,157, 9,153,209,156,162,168, 17, 35, 71,142, 12, 5, 0,173, 86, 75, 92, +187,118, 13, 66,161,208, 86, 23,142, 30, 61,138,156,156, 28, 16, 4, 1, 31, 31,159,176,146,146,146,166, 0, 30,215, 96,246, 39, + 30, 63,126,140,175,190,250, 10,102,179, 25, 11, 23, 46, 68,203,150, 45,109, 2, 43, 35, 35, 3, 75,151, 46, 5,195, 48,248,252, +243,207,209,162, 69, 11,152, 76, 38, 33,234, 24, 66,195, 21,248,240,195, 15, 31, 28, 58,116,232,100, 86, 86,214,107, 43, 87,174, + 28, 64, 16,132,121,193,130, 5, 95, 73,165, 82,166, 62,188, 37, 74, 53,238,222,207,176, 9,161,202, 71,128,191,175,211,124,247, + 30,102,217,126,207, 48,246,124, 12,252,124,125,156, 77, 98,169,201,100,210,190,249,230,155,222, 7, 14, 28, 32, 90,180,104,129, + 71,143, 30, 89, 45, 67,165,112, 62,164, 67,142, 92, 46,111, 73, 81, 20,239,254,253,251,136,136,136, 64,143, 30, 61,176,108,217, + 50,200,100, 50,208, 52,141,192,192, 64,179,201,100, 74, 50, 26,141, 23,106,225,138,153, 53,107, 22, 15,192,123, 22,203, 86,135, +121,243,230,153, 87,175, 94,141,164,164, 36,155, 5,203,222, 25,222,217,169, 67,123,171,147,253, 17, 31, 31,191,144,207,231,179, + 0,174,194,249, 64,207,134,202, 22,173,186, 88,179, 26, 10, 13,185,146, 49, 36, 36, 36,222,211,211,115,116, 73, 73, 73, 5,171, + 86,159, 62,125,140, 65, 65, 65, 9,142,242, 72, 36,146, 18,138,162,252, 0, 32, 39, 39, 7, 30, 30, 30,188,135, 15, 31,174, 64, +121,240,108, 52,109,218,116,133, 92, 46,231, 53,181,180,167,193,193,193, 48, 24, 12,213,186,177, 92,190, 89,176, 29,192,118,235, +185,175,175,111,158, 82,169, 20,173, 94,189, 90,179, 98,197, 10, 29,195, 48,122, 0,231, 21, 10,133, 45,142, 86,126,126,190,146, +203,229,250,122,123,123, 55,178, 10,173,170,180,200, 75,134,234, 45, 90, 22, 37,201, 86, 22, 68, 4, 65, 60,229,160, 94,139,208, +170, 85,100, 49, 12, 83,193,202, 96,117,120,175,234,127, 89, 58,245, 58, 77, 29, 90, 68,150,240,224,193,131,187, 86,173, 90,117, +213,209,223,217,251,104,109, 89,243,229, 74,171,200,250,253,183, 51, 56,156,166,148, 45, 92,177,118, 93, 93,223, 64, 27,127,113, +199,160, 32,191,184,175,151,199, 72, 31,156,218,129,159,182,252,155,253,253,250,245,238,215,175, 95,159, 50,103,206,156, 38,150, +130, 37, 7,112, 11,192, 4, 56,176, 74, 39, 39, 39,103,120,165, 78, 56,157,199,227, 5,137,197, 98,228,228,228,104,238,221,187, +231,244,148,140, 76, 38, 27,222, 0, 5,144, 99, 21, 89, 50,153, 12, 41, 41, 41, 24, 52,104, 16, 0,224,226,197,139,232,211,167, + 15, 18, 19, 19,209,165, 75,151, 36, 0,221, 80, 75,160, 86,147,201,164,104,211,166,141,205,186,165, 84, 42,205, 0, 16,157,151, +135,216,144, 16,112, 56, 28, 92, 89,177, 2,139, 77, 38, 44,115, 82,192,119,234,212,137,189,118,237, 26,158, 60,121, 2,154,166, + 49,102,204, 24,212,177,210,183,111,221,186,245,217,243,231,207, 7, 72, 36, 18,104,181, 90,104, 52, 26, 76,155, 54, 13, 19, 39, + 78,132, 94,175,199,190,125,251,112,228,200, 17,120,122,122, 66,171,213, 66,171,213,250,140, 26, 53,234, 82,122,122,122,127, 0, +247,171, 17, 90,236,240,225,195,145,144,144, 0,138,162,208,189,123,119, 20, 23,255,177, 24, 40, 40, 40,168,170,107,212,243, 20, + 90, 28, 14,135,141,143,143, 95, 57, 96,192, 0,100,101,101,189,214,165, 75,151,245,211,167, 79,207,169, 47,175,143,151, 39, 58, +181,109, 14,189, 94, 15,189, 94,143,208,208, 80,168,213,106, 60,120,240, 0,122,189, 30, 65,129,222, 78,243, 69,181,111, 97,227, + 11, 12, 12,132, 86,171,197,227,199,143, 97, 48, 24,224,239,239,148,208,106, 60,124,248,240, 95,247,236,217,227,183, 99,199, 14, +195,192,129, 3,249,235,215,175, 39,164, 82, 41,236, 58, 22,103, 17,127,241,226,197,240,161, 67,135, 70,166,166,166, 34, 62, 62, + 30, 6,131, 1, 81, 81, 81,184,119,239, 30,122,245,234, 5,141, 70,115,245,250,245,235, 71, 28, 49, 12, 3,248,116,214,172, 89, +176,138,173,132,132, 4,228,229,229,193,211,211,243, 41,161,101,245,125,180,172, 26, 15,117, 36,177, 86, 65,100,103,121, 90,236, +237,237,109, 4,176,174,142,214, 39, 0, 64, 86, 86,150,160, 67,135, 14,122,161, 80,200,183,136,182,181,245,225,115, 37, 92,176, +146,177, 90, 4, 7, 7,207,243,247,247, 31,218,172, 89, 51, 20, 20, 20,240,248,124, 62,250,244,233, 99,236,214,173,155, 49, 56, + 56,120,174,163, 60, 2,129, 32,149,199,227,245, 47, 31, 76, 48,200,204,204, 4,203,178, 11,219,183,111,255, 15,181, 90,141,226, +226, 98,190, 84, 42,181, 13,170, 35, 35, 35,161,215,235, 83,157,176,188,197, 68, 68, 68,124,202,227,241,150,201,100,178,170,194, + 66,240,189,189,189,165, 60, 30, 15, 70,163,177,130,216,172,172, 69, 94,118,145, 85, 65,104,217,169,200, 10, 66,199, 25,139,150, + 35, 86, 3,171,131,189,253,185, 85,212, 85,254, 95,117,141,161,229,229,229,165,183,138,172,101,203,150, 93,173, 11,199,254, 61, +187, 67,188,204,165,141,115,175,158, 64,250,237, 68, 28, 74, 81,200, 22,174, 88,251,193,235, 99,223, 46,168, 44,204, 28, 65,203, + 0,113,251,160, 64,191,184, 53,171, 86, 72,229,169, 87,144,151,159,143, 19, 87,175, 39, 26,129, 20, 0, 11, 93,105, 90, 6,202, +167, 14, 41,138,122,145, 10,172,205, 25, 62, 47, 47,207, 42,178,162, 0,160,111,223,190, 73, 22,145, 5, 71, 45, 90, 10,133,162, +242,150, 53, 67, 1,248, 91,159,159,195,225,160,207,167,159, 58, 45,178, 0,176,137,137,137,144,203,229,214,145, 98, 93, 69, 22, +130,131,131,255,121,254,252,249,128,239,191,255, 94,181,115,231,206, 98,179,217,204,237,212,169, 83, 88,215,174, 93,137, 93,187, +118, 1, 0, 38, 76,152,128,133, 11, 23,226,206,157, 59,240,240,240, 64,223,190,125,153, 37, 75,150, 4,206,155, 55,111,110, 65, + 65,193, 7, 85,246,142,102, 51, 79, 40, 20,158, 3, 48, 56, 53, 53, 21, 0, 46,161,124, 11, 39,171, 21,161,218,107,142,116,190, +106,181,154,235,233,233, 89,101,104, 8, 94,249,104,200, 89, 11,132,141,243,183,223,126,251,106,205,154, 53,135, 62,250,232,163, +251,245,228,172,210,162, 53,122,244,104,232,244, 70,100, 23, 40,193, 48, 52,116,198, 66,167,249,236, 45, 90,163, 71,143, 70,105, +153, 1,153,121,114,208, 52, 3,181,206,225,190, 92,252,234,171,175,158,254,225,135, 31,130, 47, 95,190, 12,134, 97,204,247,238, +221,123,252,230,155,111, 74, 23, 44, 88,224, 87,143, 69, 70,223,190,253,246,219,227,126,251,237, 55,121,100,100,164,239,213,171, + 87, 81, 88, 88, 8,154,166, 49,120,240, 96,240,249,252,204, 21, 43, 86,240, 0,124,235,232,187,177,136, 45,227,245,235,215,223, +189,114,229,138,175,175,175, 47,223,220,186, 53,242,206,156,193,129, 3, 7,158,250,193,150, 45, 91, 0, 7,163,240, 91, 45, 78, +215,174, 93,115,137,192,170,208, 83,243,249,117,158,126,124, 89,113,237,218,181,156,247,223,127,191,173, 84, 42, 93,215,175, 95, +191, 65,126,126,126,164,143,143, 79,124,163, 70,141,254,209,169, 83, 39,135,103, 23,184, 92,238,116, 15, 15,143, 7, 52, 77, 83, +195,213,223, 10, 0, 0, 32, 0, 73, 68, 65, 84, 26,141, 6, 90,173,182,188,145,166,105, 62, 73,146,104,218,180,169,173, 47,233, +222,189, 59,130,131,131,153,180,180,180,233,142,242, 23, 21, 21, 85, 88,133, 88, 5,102,245,233,211,135,163,215,235,241,228,201, +147,139,246, 23,170,210, 34, 47, 9,162,107, 20, 95,214,135,178,127,184, 70,141, 26,101,153, 76, 38, 54, 5, 96,111,221,186,197, + 70, 71, 71,215,120,148,149,149,177,129,129,129,121, 85,116,126,176,231,212,235,245, 21,126,167,215,235,217,160,160, 32, 70,167, +211, 61,197,169,211,233,216,176,176,176,156,154, 56,171,192,180,155, 55,111,110, 90,188,120,113, 15, 39, 50,200,198,201,110,110, +205,238,216,177,227,175, 44,203, 14,232,215, 54,252,246,248, 78, 65,108,159,150,129,185, 71,246,239,153,200,178,236,128,202,135, + 53,192,105, 77,156,173,131, 60,218, 12,105,215,164,228,247, 83,123,217,243,171,255,206,174, 25,211,146,237, 18,230,169,104,237, + 47,114,118,143,152, 90,119, 75,111,215,174, 93,186,217,108,102, 13, 6, 3,219,174, 93,187,123,174,224,172, 3,106,226,236,140, +114, 95,182,183,171,248,174,115, 61,210,249, 59,203,178,172, 92, 46,103, 53, 26, 13,171,215,235, 89,134, 97, 88,123, 0,248,221, + 1, 78,214,104, 52,178, 37, 37, 37, 44, 28,247,185,171,146, 51, 36, 36,228,241,195,135, 15,217, 87, 94,121, 37,203, 98,142,159, +167,213,106,217,202,208,106,181,236,160, 65,131,216,123,247,238,177, 17, 17, 17,101,247,238,221, 99, 67, 66, 66,238,214,146,206, +102,141, 27, 55, 62,231,239,239, 31, 15,160,165, 19,215,106,204,207,125,251,246, 53,103, 89,118, 38,203,178,209,213, 28, 51, 89, +150,109,253,188, 57, 45,249, 91,192,178, 44, 91, 90, 90,202,202,229,114, 54, 55, 55,151, 45, 45, 45,101, 53, 26, 13,123,243,230, + 77,246,242,229,203,236,237,219,183, 89, 95, 95,223, 2, 71, 56,173,124, 6,131,129, 85,169, 84,108, 97, 97, 33,171,211,233, 88, +173, 86,203, 38, 39, 39,179, 55,110,220, 96, 83, 83, 83,171,226,123,138,211,207,207,111, 75,126,126,190,230,210,165, 75,165,155, + 55,111, 46, 13, 14, 14, 78, 5, 16, 14,160,149,143,143, 79,254,223,255,254,119, 86, 34,145,100,212,177, 30,181,229,114,185, 55, + 87,174, 92,121,237,216,177, 99, 5, 71,142, 28, 49,108,219,182, 45,123,206,156, 57, 23, 56, 28,206, 77, 0,109,235, 88,143, 2, +189,189,189, 47, 93,189,122,149, 46, 41, 41, 97, 21, 10, 5,171, 82,169, 88,173, 86,203,234,116, 58,214, 96, 48,176, 38,147,137, +189,112,225, 2, 27, 20, 20,100, 63, 45,185,168,134,129,245,124,150,101,255,201,178, 44,199,213,109,157, 29,119, 63, 87,113,186, +162,173, 35, 73,210,104,105, 59,122,150,159,214,124,254,188,210, 57,100,200,144,207, 39, 78,156,200,142, 24, 49,130,141,138,138, +122,234,232,210,165, 11, 59,123,246,108,246,216,177, 99,236,215, 95,127,253,185, 11,210,201, 65,249,162,151,229, 67,134, 12, 49, + 37, 36, 36,176, 19, 38, 76, 96, 1, 12,175, 73,139,252, 25, 4,151, 53,188, 3, 97,255, 23, 0,140, 70, 99, 86,122,122,122, 72, + 36, 77, 83, 0,240,221,119,223, 61,101,153,178, 71, 66, 66, 2, 77, 16,196,131,154,254,187,209,104,204, 58,127,254,124,208,134, + 13, 27,184,118, 38, 96,208, 52,109,206,205,205, 37,215,175, 95, 95,225,254,184,184, 56,154,166,233, 76, 39, 31,114, 71,231,206, +157,119,184, 34,183, 46,220,121,242,143,211, 39,126,246,239,217,163,159, 66,234,235, 91,229, 40,108,223,220,214, 32,222,171,217, +170, 69,112,200,101, 43,151,199,120, 91,167, 32,127, 76,202, 87,148,233,153, 65,105, 50,221,239,174,126,195, 26,141,230,137,117, + 37,160, 86,171,205,124, 1, 11,225, 77,148,199,184,162, 43,125,215, 13,245,116, 58, 53,155,205,240,242,242,178, 89, 67,235, 96, + 17,101,173, 22, 86,235,171,171, 79,122, 88,150,253, 45, 57, 57, 57, 98,218,180,105,158, 59,119,238,124,200, 48, 12,119,198,140, + 25,198,224,224, 96,222,197,139, 23, 77, 0,136, 1, 3, 6,112,242,243,243,217,156,156, 28,249, 95,254,242, 23,245,187,239,190, +235,119,235,214, 45,190,217,108,174, 45,104,225,163,172,172,172, 33,117,184, 86, 35,198,143, 31,255, 16,245,223,198,166,193, 57, +173,144, 43, 84,120,248, 36,199, 18,193,220, 12, 38,163,192,230, 87,101, 50,209,144,171,138,157,182,104, 61,120,156, 99,217, 98, +140, 1,195,228, 90,248,202, 29,226,217,146,210,218,123, 19, 14,167,239,146, 37, 75, 70,146, 36, 73, 94,185,114, 69,191,106,213, +170,172,162,162,162, 49, 0, 50, 1,160,164,164,100,224,142, 29, 59,254,235, 64, 40,135,234,144, 98, 50,153,122, 45, 90,180,232, + 3, 0,125, 1, 52,177,112, 95,180, 88,178,234, 26,193,188, 80,161, 80, 12, 27, 57,114,228, 25,138,162,154,218,213, 35,127, 0, + 50,107,189, 96, 89, 54,176,160,160,224, 53, 71, 8, 9,130, 88,219, 80, 13, 73, 67,114,215,179, 29,122, 41, 86, 50,158, 59,119, +238,139, 49, 99,198,112,194,195,195,255, 47, 60, 60,156, 44, 41, 41,129, 70,163, 1, 73,146, 8, 14, 14, 70,187,118,237, 16, 28, + 28,108, 78, 77, 77, 93,254,241,199, 31,215, 26,147,175, 77,155, 54,205, 77, 38,211, 43, 36, 73, 54, 7,208,156,101,217,230, 4, + 65, 52, 7,224, 11, 0, 82,169, 84, 26, 17, 17,193,233,217,179, 39,122,244,232,129,184,184, 56,236,223,191,127, 59,128,211,246, +214,172,202, 90,228, 69, 64, 74,103,176,109,111,130,184,211, 5, 3, 8, 51,226, 88, 18, 3,219, 37,218,226,236, 85, 22, 89,213, +111, 42, 93,133,233,111,248,224,193,131,109, 21,206,129, 78,229, 73,109,149,175,168,168,104,248,244,233,211, 43,112, 50, 12,163, + 47, 46, 46,126,191,119,239,222, 27, 41,138, 18, 84, 42,176, 25,133,133,133,207,116,175,190,202,113,180,134,143,124, 67, 86, 95, + 78, 9,143,124, 37,253,248,127, 80, 80, 40,195,143, 73,249, 37,106, 3, 51,240,158,172, 52,185, 33,210,159,145,145, 49,226, 37, + 80,252, 85,137,214,250,110,158, 93,228, 64, 64,210,218,246,168, 35, 44,225, 68, 92, 82,201,243,243,243, 87,127,250,233,167,195, +150, 47, 95, 30,112,242,228, 73,169,117,128,242,214, 91,111, 21, 38, 39, 39,247, 3, 32, 40, 43, 43, 59,187,124,249,242,128,152, +152, 24, 63, 0,126, 0, 48,106,212,168,130,130,130,130, 13,112,163, 70,152, 76,166,236,118,109, 34,109, 3, 63,251,144, 14,246, +159,105,154,206,118,134,175, 42, 30,251,115,134, 97,106,228,163, 40,234,163, 30, 61,122, 80, 31,125,244, 81,193,201,147, 39,173, + 27,233,218, 43,180,244, 90,130,146, 58, 2, 61,128, 85,150,195,149,208,202,229,242, 94, 78,254,134,113,151,198, 42, 7,148,206, +156, 63, 23, 28, 62,124,248,179, 9, 19, 38,236,240,245,245,221,221,188,121,243,200,160,160, 32,169, 72, 36,130, 94,175, 87, 27, + 12,134,187,233,233,233,147, 62,251,236,179, 71, 14, 89, 56,118,236,160, 0,240,204,102,179,144, 36, 73, 15, 0, 82,130, 32,124, +172, 66,139, 32, 8, 24,141, 70, 60,121,242, 4,139, 23, 47,102,206,157, 59,247, 53,128,207,157, 24,184,118, 3, 16, 96,215,142, + 7, 0, 48,160, 60,128,109, 17, 65, 16,215, 27, 58,191, 8, 51,226,218,222, 4,145,210, 25, 85,245, 19, 53,111, 42, 93, 93,133, + 43, 42, 42,234,229,234, 74, 92, 29,103, 81, 81, 81,248,139, 82, 67,166,234, 87,237,197,150, 85, 21,246, 57,180,138,176,170,206, +107,131, 82, 71,207,249,246,244,157,213,122,154, 53, 27,105,243,223,238, 21,149,166,184,219, 33,151,227, 85, 87,213, 37, 23,166, + 41, 57, 45, 45,173,247,156, 57,115, 62, 19,139,197,221, 1,160,180,180,244, 74,110,110,238,151,176,172, 42,172,237,186, 27,213, + 67, 38,147,117,125, 17,249, 12, 6,195, 63,122,247,238,253, 13,195, 48,107,104,154,190,248, 63,240, 42,202,220,165,241,229,197, + 79, 63,253,244, 8, 64, 47, 0, 24, 55,110, 28, 5, 0,251,247,239,119, 90, 60, 79,155, 54,141, 97, 89,214,104, 41, 15, 90,148, +175, 46, 44,177,182,169, 90,173,182, 36, 55, 55, 55,149, 97,152, 84, 0,255,133,243, 43,110, 3, 8,130, 56,198,178,236,104,139, +112, 59,198,178,236,104,251,239, 26,218,170, 85,203, 45,181, 59,195,187, 81,142,253, 41, 32, 42, 79, 5,214,118, 94, 27,210, 11, +180,241, 0,186,184,115,247,127, 18, 15,115,115,115,167,214,227,186, 27, 47, 31, 50, 13, 6,195,152,255,161,231, 85,186, 95,249, +159,164,255,171,131,192,178, 34, 53, 53,181,193, 92, 4,158, 55,218,222,172, 56, 0,175,124,110,135,232,170,132,151, 91,104,185, +225,134, 27,110,184, 81, 31, 40,220, 89,224,198,159, 25, 86,223, 44,235,121, 53, 62, 90,149,253,179,108,231, 4,170, 95, 57,224, +204,174,228,117, 89, 37,113,214,205,233,230,116,115,186, 57,221,156,207,157,211, 27, 64, 4,128,149,181,220, 87,121,117, 97, 1, + 0, 25, 0,147, 59, 63,221,156,245,208, 15, 14,129,101,217, 81, 53, 77, 29, 18, 4,113,188,161,132,150,205, 25,190, 51,150,180, +187,137, 37,214,115, 71,133, 86, 67, 99,168,155,211,205,233,230,116,115,186, 57,221,156,110, 78, 55,103, 61,133,214,160,143, 63, +254,248, 19,148,135,198, 96, 63,254,248,227, 79, 88,150, 29, 85,126,137, 29,213,144,255,251, 78, 23, 12, 72,233, 12,214,122,220, +233,130, 1,213,220, 26,109,119,216,224,158, 58,116,195, 13, 55,220,112,195, 13, 55, 94,116, 92, 90,177, 98, 69,233,138, 21, 43, +172,142,239, 69, 0, 8,139,133,171,168, 33,255,177,101,154,208,145,133, 82, 53,111,193,243, 28, 16, 74,114,120,147,185, 60,193, + 32,176,230,118, 0, 0,146,186,195, 24,202,126,165,105,227,110, 0,185,117, 37,110, 13,180,105,225, 45, 58,162,103, 24, 94,150, +218, 48, 46,173,124,155, 3,167, 49, 14,232, 35,224,243,127, 17,120,123,139,170,186,174, 87, 40,116,122,131, 97,216,126,224, 55, +119, 29,112,195, 13, 55,220,112,227, 37,129,135,143,143,207, 57,146, 36,195,173, 95,216,199, 29,172, 28,131,144, 97,152, 60,185, + 92, 62, 12,229, 83,197,207,146,211,254,247, 6,212,177, 47,119, 53,156,157, 58,228, 0, 21,162,176, 62,147, 29,179, 41,174,224, + 93, 79, 47,239,101,127,157,254, 15,191,150,173, 34,137,198,141, 27, 1, 44,144,153,149, 29,244,224,254,189, 33, 63,237,252,246, + 67,149, 82,190,216,164,215,255,199, 89,238, 54,128, 71, 19,137,224,226,127, 62,126,199,155, 3, 26,111, 47,221,115,138,208, 24, + 27,167,150, 47, 55,117, 74,100,121,251,249,157, 94,113,246,172,200,167, 99,199, 10,215, 88,150, 45,223, 95,239,247,223, 69,255, + 55,108,216,233,113,114,249,112,183,216,250, 83, 34, 88, 42,149,206,227,114,185, 3,141, 70, 99, 56,159,207,207, 98, 24, 38,190, +164,164,100, 29,128, 28,119,246,252,185, 17, 25,236,209, 47,178,121,248,158,220,252,130, 36, 85,153, 97, 70,122,174, 70,238,206, + 21,167, 81,211,254,154,207,109,239, 77, 0,144, 72, 36, 55, 72,146, 12,179, 23, 1,214, 61,123,173,231,149,255,154,205,230, 71, +114,185,188,119, 13,180,205,125,125,125, 55, 2,232, 86, 91,192,100, 75,108,182,235,114,185,252,125, 84,191, 90,207,211,199,199, +231, 11,130, 32,198,147, 36, 73,213,246, 76,102,179,153, 97, 89,118, 95, 73, 73,201,231, 0,212,213,221,231,227,227,115, 54, 45, + 45,173, 91, 96, 96, 96,173, 86, 26,154,166,145,153,153, 25,208,189,123,247, 11,114,185,188,117, 67,114, 62,107, 45, 82, 87,212, +176,234,176,218,130, 14,160,194,254, 66, 13, 26,145,149, 39,148, 28,233,213,127,248,160,217, 31,124,228,113, 51,249, 46,126,137, +187, 12,149, 86, 15,138, 36,225,237, 41, 70,171, 86,175, 16,107, 99, 15,248,111,223,188,118,205,149,132, 51,163,202,180,202,191, + 56, 37,211,197,156,197, 11,223,236,238,225,231,203, 0,102, 6,255, 28,217,201,227,255,142, 37, 45, 70, 41,253,137,211, 34,235, +220, 57,113, 97, 65, 1, 98, 66, 67,193,161,105, 8, 73, 18, 66,130,128,144, 36,225, 33, 20, 98,196,182,109,248,242,228, 73,241, +103,175,189,230, 22, 91,127, 50, 72, 36,146,233,161,161,161,171,182,110,221,234,215,172, 89, 51,120,120,120, 64, 46,151,251,167, +167,167,119,158, 63,127,254,212,188,188,188, 79, 85, 42,213, 22,119, 78,253,121, 97, 54, 99,242,247,203,222,111,148,151,113,191, +209,172,229,123, 91, 17,126,204,192,187,197,186,124,119,206, 56,140,206, 0,146, 80,245,254,165, 53, 93,171, 22, 66,161,176,160, +172,172, 44,176,166,123,248,124,126,161,193, 96, 8,170,141,139, 36,201,176,156,156,156, 64,177, 88, 12,134, 97, 44,187, 1,152, +109, 3,105,251,221, 79, 44,129,106,209,186,117,107, 99, 77,156,158,158,158,223, 21, 22, 22, 14,181,238, 19,104, 39,168,170, 68, + 78, 78,206,208,182,109,219,126,167, 86,171,135, 85, 35, 94,190,248,224,131, 15,230,181,111,223,222,106, 5,178,236,130, 80,254, + 87, 38,147, 97,206,156, 57,182,255, 97, 54,155,113,230,204,153, 15,166, 79,159,142,146,146,146,249, 53, 60,123,120, 96, 96, 32, + 97,217, 80,188, 90, 44, 89,178, 4, 75,150, 44,193,183,223,126, 75,112,185, 92,239, 90,242,211, 37,156,207, 74,139,212,197,130, + 85, 75,100,248,227,168,232,155,117,252, 41,161,245, 44, 64,113, 5,127,235,214,123,232,192, 57,243, 22,122,236,253,249, 60,210, + 83,127, 71,218,197, 31, 42,220,211,117,216,116,228,203,212,152, 62,251,159, 18,130,226, 12, 76, 56,123,248,111, 38,189,238,123, + 7,173, 89, 65,225, 2,254,223,123,118,111,199,205, 17,165, 35,216, 71,132,190, 93, 90,112, 27,159,190,253,119, 45,232,111, 82, +203, 87,201, 56, 37,178,182,190,243, 14,250,153, 76, 8,164, 40, 80, 4, 1, 10, 0, 73, 16, 40,211,235,113,125,242,100,116,223, +181, 11,159, 31, 61, 42,254,226,245,215,157, 18, 91, 30, 30, 30, 55, 9,130,240,209,104, 52,163, 80,190,177,244,203,128,182, 18, +137,228, 56,203,178, 37, 90,173,182,243, 11,148,174, 16,148,207,209, 87, 30, 29,243, 80,190,162,202,169,157,133, 5, 2,193,187, +227,198,141, 91,187, 97,195, 6,113, 65, 65, 1,114,115,115,193, 48, 12,132, 66, 33, 90,182,108, 73,156, 61,123,214,111,225,194, +133,171,143, 31, 63, 46, 80,171,213,223, 56, 51,176,225,114,185,177,190,190,190,175, 5, 5, 5,121, 20, 22, 22,150, 42, 20,138, + 51,122,189,254, 93,212,125,219, 20,146,203,229, 78,138,136,136,120, 35, 52, 52, 52, 40, 39, 39, 71,150,157,157,125, 68,175,215, +111, 71, 29, 55,106,182,203,211,142,176, 68,171, 7,144, 23, 17, 17,113,231,201,147, 39,133, 46,228,204,141,136,136, 72,169, 3, +167, 7,128,159, 0,132,214,114, 95, 46,128, 9,112,210,154,109,203, 88,214,124, 98,233,186,173, 51, 98,166,245, 37,190,159, 63, +180,229,123,223,158,189, 76,242,216,254,169,121,101, 89,110, 13,229,152,200,178,108,105, 85, 89, 80,213,116,173, 70,232,245,250, + 0,163,209, 8,110, 53,155,197,107,181, 90,120,122,122, 6, 56,154, 72,145, 72,132, 31,126,248, 1, 92, 46, 23, 92, 46, 23, 37, + 37, 37, 8, 11, 11,179,157,243,120, 60,219,231, 38, 77,154,212,202,199, 48, 76,119,138,162,160,209,104,192, 48,140,237, 80, 40, + 20, 96, 89, 22, 2,129, 0, 12, 83,190,157,147,221,245,238,213,241, 17, 4, 49, 62, 52, 52, 20,123,247,238,133,193, 96,120,234, +186, 84, 42, 69,114,242, 31,155,140, 80, 20,133, 30, 61,122,144, 4, 65,140, 7, 48,191, 6, 94, 22, 0,162,163,163, 65, 81, 20, + 40,138, 2, 73,146,182,207,214,131, 97, 24, 44, 89,178, 4,149,182, 38,123,102,156, 47, 26,106,137, 12,159,135,106,124,180,200, + 6, 78,151,253, 18,207, 80,177,135,244,171,247,255,241, 79,201,241, 11,183,145,153,149,249,148,200, 2,128, 27,191,108, 71, 94, +110, 14,146,210,178, 49,233,111,115, 37, 82,169,247, 87,149, 26,212,106,151,141,122,121,242,190,254,120, 66, 95,161,198,148, 11, +181, 15, 64, 53,231,131, 43,214, 98,225,232,142, 2,169, 39,111,149, 35,233, 20,240,249,191,172, 56,123,214, 38,178,250,232,245, + 16, 48, 12,104,134,177,137, 44, 3, 77, 67,103, 48, 32, 68,163,193,131,233,211,193,154, 76,248,244,208, 33,177,128,207,255,197, +145,116, 2, 0,143,199, 11, 57,114,228, 72,147, 14, 29, 58,196,193,241, 96,166,103, 27,248, 29,213,132, 46,157, 58,117,138,223, +181,107, 87, 19, 30,143, 23,226, 10, 78,161, 80, 56,214,195,195,163, 72, 40, 20,142,173, 99, 58, 73, 0, 75,103,204,152,145,248, +202, 43,175,156,183, 8, 43,155,168,121,229,149, 87,206,206,152, 49,227, 38,128, 37,213,148,245,170, 56, 27,133,134,134, 46,219, +176, 97,131,248,222,189,123,200,201,201,129,201,100,194,219,111,191, 13,134, 97,160,211,233, 96, 48, 24,176,114,229, 74, 15, 63, + 63,191,197, 40,223, 40,216,145,103,231,121,121,121,221,219,185,115,231,184,199,143, 31, 75,206,159, 63, 79, 36, 39, 39,123,172, + 94,189,122,140,159,159, 95, 58, 0, 65, 29,242,147, 12, 9, 9,249,254,240,225,195,239, 39, 39, 39,135, 29, 60,120,144,123,229, +202,149,144,205,155, 55,207, 12, 9, 9,217, 5,128,170,227, 59,234, 44, 22,139,135, 44, 88,176,192,124,233,210,165,156, 75,151, + 46,229,172, 93,187, 22,253,250,245,235, 19, 19, 19, 19, 85, 71,206, 46,158,158,158,131, 23, 44, 88, 96, 78, 72, 72,200,189,122, +245,106,246,234,213,171,201,193,131, 7,247, 93,182,108, 89, 71, 39, 57,127,186,116,233,210,128,172,172,172,102,217,217,217, 77, +179,179,179, 35,178,179,179, 35,114,114,114,194,243,242,242,154,228,231,231, 55, 46, 44, 44,108, 28, 31, 31,223, 23,192, 30, 71, + 56, 35,131, 60,222,159,255,246,208,210,197,127, 27,201,126, 50,229, 85,118,225,219, 3,216,215,250,119,248,153,226,112,136,171, + 41,153, 8,243, 2,182,207,233, 22,222,216,223, 35,185,157,175,164,213, 11, 86, 55, 95, 52, 78,142, 85, 72,201,229,114, 28, 63, +126, 28, 22,235, 85,103,123,145,165, 82,169,144,151,151,103,189,198,113, 36,157, 82,169,244,220,214,173, 91,217,178,178, 50, 40, +149, 74, 20, 22, 22, 34, 43, 43, 11, 15, 30, 60, 64,113,113, 49,238,222,189, 11,177, 88,124,206,145,116, 18, 4, 1,134, 97,108, + 66,234,204,153, 51,152, 49, 99, 6,228,114,185,237, 59, 14,135, 99,251,108,253, 77,109,156, 86,203, 19,195, 48,184,122,245, 42, +102,205,154,133,181,107,215, 98,207,158, 61, 56,118,236, 24,228,114,185, 77,108,209, 52, 93, 43,167, 76, 38,131,217,236,216,152, +137,101, 89, 40,149, 74,135,223,187,189, 0,226,112, 56, 79,137, 34,235,225, 76, 89,170, 39,231, 11, 11, 7, 34,195, 87, 63,194, +182,126,176,152,234, 6, 54, 84, 34, 73, 14,111,210,248,105, 31,248,101, 23,170,144, 83,160, 4, 69,254,209,239, 69, 13,157, 6, + 14, 69,226,218,233,114,195, 21, 73, 81, 80,106,245, 80,104,140, 24, 55,109,158,239,127,214,254,107, 18,109, 44,171, 49,198, 75, +123,160,101, 59,137,228,205,182,109,155,144,169,130, 52, 68,189,118, 17,140, 25, 96, 19, 94, 71,231,146, 64,170,245, 47,252, 55, +181,106,227,178,100,224, 94,141,214, 12,111,111,145, 79,199,142,136, 9, 13, 69,127,147, 9, 60,150,197,171, 5, 5,248,125,222, + 60,232, 15, 28, 0, 9,128, 55,118, 44, 6,173, 91,135, 11,161,161, 8,214,233,160,248,240, 67, 4,156, 58, 5,158, 84, 42, 66, +145, 99,139, 31, 8,130,192,192,129, 3,113,246,236, 89,191, 17, 35, 70,156,190,125,251,246, 91, 52, 77, 95,168, 75,222,122,121, +121,221,224,112, 56, 97,181,221, 71,211,116,182, 82,169,116,122,155, 17, 14,135,211,191, 71,143, 30,135, 14, 30, 60,232, 99, 52, + 26, 93, 50, 10,225,243,249, 35,198,140, 25,179,117,211,166, 77,210,153, 51,103,110, 61,118,236, 88,169,193, 96, 56,229, 76,145, + 2,176,116,203,150, 45,239, 69, 71, 71,123,207,156, 57,147,125,240,224,129,189,245, 42,160, 95,191,126,175,108,221,186, 53,184, + 91,183,110, 31,204,154, 53,139, 7,224,211,218,172, 60, 18,137,100,246,214,173, 91,253,101, 50, 25, 52, 26,141,173,145,205,206, +206,134, 72, 36, 2, 73,146, 32, 73, 18, 92, 46, 23, 95,125,245,149,223,236,217,179,231,201,229,242,121, 14, 88,201, 98, 55,110, +220, 24, 48,108,216, 48,242,241,227,199, 32, 73, 18, 66,161, 16,239,188,243, 14,169,211,233,124, 98, 98, 98,118,104,181,218,137, +206,228, 33,151,203,157, 20, 27, 27,219,170, 79,159, 62,156,180,180, 52,244,234,213, 11,215,174, 93,195,216,177, 99,185,106,181, +186,233,194,133, 11,103,232,245,122,103,227,184,132,136,197,226,246,191,254,250,107, 86,227,198,141,109, 13, 75,211,166, 77,153, + 81,163, 70,201,211,210,210, 34, 47, 93,186, 84,220,187,119,111,103, 54, 44,111, 36, 22,139, 91,159, 56,113, 34, 47, 38, 38,102, +200,150, 45, 91,198, 0, 64,247,238,221,143,124,249,229,151,231,229,114,121,187, 11, 23, 46,200,251,247,239,159,237, 32, 95,104, + 72, 72, 8, 51,103,206, 28, 73, 77, 55,109,219,182, 77,129,242, 13,151,155, 1,168,113,191,182,200,136,224,197,171,230,141, 23, +129, 49,130, 53,233, 0, 99, 41, 96,212,192,108, 40, 5,193, 19, 1, 38, 29, 2, 4,114,252, 52, 59, 82,186,104,239,195, 84,230, + 46, 49, 42, 77,166, 62, 5, 55,170,108,106, 0, 68, 17, 4,145,116,252,248,113,244,232,209, 3,199,143, 31,199,168, 81,163,146, +236,197, 64,114,114, 50,250,247,239, 15,139, 69,203, 33, 95, 45,165, 82,249,241,146, 37, 75, 18, 38, 77,154, 36,174,208, 24,144, + 36,188,189,189, 49,114,228,200, 50,173, 86,251,177,163, 9,101, 24, 6, 28, 14, 7,217,217,217,216,182,109, 27,150, 47, 95,142, +150, 45, 91,194,100, 50, 61, 37,182, 44,237,158, 67,141, 31, 77,211,184,126,253, 58,118,239,218,133, 79, 23, 47,134,167,167, 39, + 0,192,104, 52, 66, 94, 82, 2,161, 80,104, 19, 99,181, 8,167,125,247,239,223,159, 23, 22, 22, 86, 97,202,208,250,215,210,102, +193,108, 54,131,166,105,148,149,149, 97,237,218,181, 52,203,178,251,106,235,127,172,162,104,222,188,121,208,235,255, 48,168,119, +180,248, 36, 71, 68, 68,160, 83,167, 78,182,115,146, 36, 89, 71, 57,255,211,187, 61,116,118,119, 71, 46, 89, 13, 0, 8, 11, 11, + 67,100,100, 36, 66, 66, 66,170,229,108,104, 45, 82, 23, 56, 17, 25,190,122,161,245, 44,118,202,230,242,132,131,154,183,104, 69, +100,230,201,193,225,112,224,225,229,143,222,111,204, 7, 69,145,144,120,251,131, 96,116,127, 40, 98,146, 2,135,226, 64,174,214, + 33,162, 89, 11, 82, 32, 20, 13,210,214, 34,180,164, 94,220,141, 11, 38,246, 22, 22,211,217, 16, 53, 17,130,177,118,167,161,124, +144,126,106,124, 52,162,165, 40,250,200,237,141, 80,154, 6, 59,146, 94,138,166, 17, 72, 81, 48,178, 44,126,159, 55, 15, 81,177, +177, 72,178, 10,195,216, 88, 36, 69, 71,195,151,203,133,128, 36,193,154, 76, 79,205,233, 59, 34,180, 0, 32, 43, 43, 11, 7, 14, + 28,240, 29, 63,126,252,161,228,228,228, 73, 78,138, 13, 43,151,255,213,171, 87, 3,155, 53,107, 86,237, 61,143, 30, 61, 66,215, +174, 93,157,158,158,226,243,249, 35, 6, 15, 30,188,247,192,129, 3, 94, 41, 41, 41, 8, 12, 12,172,183,208, 18, 8, 4,253,135, + 14, 29,186,119,231,206,157,210,162,162, 34,196,198,198, 74, 95,127,253,245, 61,137,137,137,111,232,245,122, 71,196,102, 5,145, + 21, 27, 27,171,216,182,109,219,127, 80,113,138, 48,111,219,182,109,223,119,235,214,237,253,232,232,104,111, 0,239, 89,124, 7, +106, 20, 91, 2,129, 96, 96,243,230,205, 43,140,106, 5,130,114, 99,147,135,135, 7,188,188,188,192,227,241,160,215,235, 17, 21, + 21, 69,240,249,252,190,142, 60,179,167,167,231,208, 55,223,124,147,188,120,241, 34,242,243,243,225,237,237, 13,137, 68, 2,134, + 97, 48,115,230, 76,106,237,218,181, 3,181, 90,231,102,184, 26, 55,110, 60,102,200,144, 33,156, 59,119,238,224,241,227,199,208, +235,245, 72, 79, 79,135, 84, 42,197,148, 41, 83,120,171, 86,173,122, 61, 39, 39,199, 89,161,213, 62, 58, 58,186,192, 94,100, 89, +225,225,225, 65,180,106,213, 74,238,231,231,215, 5,128, 51, 66,171,253,220,185,115, 11, 87,172, 88,209,255,236,217,179,182,160, +151,103,207,158, 93, 8, 0,223,124,243, 77, 66, 64, 64, 64, 23, 0,142, 10, 45,176, 44,107,254,235, 95,255,154,193,231,243,193, +229,114,193,231,243, 43, 28, 60, 30, 15, 36, 73,122, 90,171,115,109,124,169,143,243, 87,206, 92,184,122,181,135,144,226,254,227, +141, 14,104,226,205, 3, 68,190,224,245, 95, 4,194,187,220,104,201,202, 31, 1,191, 44,194,154, 55,229,100,244,127,203,126, 54, + 50, 62, 1, 15, 75, 74,212,207,185, 15,232, 6,224,223, 40,223, 92,119, 49,128,171, 47, 72,223,116, 19, 64,212,168, 81,163,108, + 98,235,228,201,147, 24, 49, 98, 4, 20, 10, 5,238,220,185, 99, 47,178,156,217, 96,249,166,201,100,186,245,195, 15, 63,244, 30, + 63,126, 60, 97, 87,191,144,146,146,130,187,119,239, 38, 57,202, 71,146, 36,204,102, 51,184, 92, 46, 86,175, 94, 13,163,209,136, +255,254,247,191,216,191,127, 63, 72,146, 4, 65, 16, 32, 8, 2, 82,169, 20,223,126,251,173, 83,237, 30,195, 48,216,177, 99, 7, + 22, 45, 92,104, 19, 89,150,153, 12, 4, 7, 5,193,207,223, 31, 15, 31, 62,172, 85,104,149,148,148,124,126,244,232, 81,212,228, + 12,127,244,232, 81,219,231, 74,206,240,181,247,115, 20, 5,189, 94,143, 87, 95,253, 99,171,216,185,115,231,218, 62,203,229,114, + 80, 20,101,205, 11,194, 81, 78, 29, 11,188, 33,252,227,187,145, 31,125, 84,193, 66, 87, 29,231,179,208, 34,174,178,110, 85, 33, +182,162, 44,214,217, 16, 0,163, 80,238,163,149, 7, 60, 67, 31, 45,150, 53,183, 14,107, 20,138, 91, 15,146,193,161, 40,240,189, +252,225,229, 27, 4, 51,109,128,178,240, 49,226, 14,126, 7, 0,216,178, 99, 31, 72,146, 4,135, 67, 65,111, 96,208,178, 73, 40, +204,102,115,235,154,184,219, 0,189, 7, 6,249,247,104, 28,238, 77,220,241,121,140, 86,129,126,149, 38, 66, 4,104,153, 43, 33, +122, 73, 68,221, 75,148,170,222,169,192,165, 90,197, 0, 73,130, 36, 8,136,121, 60,232, 15, 28, 40,247,218,140, 45,239,179,146, +162,163, 65,254,252, 51, 60, 5, 2, 80, 4, 1,142,197, 4, 93, 23,168, 84, 42, 16, 4,129,221,187,119,251, 76,153, 50,101,207, +157, 59,119,162,203,202,202, 14, 56,195,161, 80, 40, 70,245,233,211,231,252,142, 29, 59, 2,130,131,131,159,186,158,159,159,143, +105,211,166, 21, 41, 20, 10,167,130,186, 9,133,194,177, 99,198,140,217,186,125,251,118,233,253,251,247,161,209,104, 16, 16, 16, + 80,223,162,208,165,103,207,158,135, 14, 28, 56,224,149,159,159, 15,165, 82, 9,189, 94,143,221,187,119,123,143, 28, 57,242, 64, + 90, 90,218, 8, 0,137,181,112,124,102, 47,178,102,205,154,117, 27, 64, 32,128,141,149, 53,168,229, 90, 7, 59,177,165, 4,176, +170,134,145,104,184,135,135, 7, 10, 11, 11, 49,109,218, 52,220,187,247,135, 1, 52, 52, 52,212, 54,210,123,248,240, 33, 2, 2, + 2, 64, 16, 68,160, 35, 15, 29, 16, 16, 32, 49, 24, 12,152, 49, 99, 6,178,178,178, 42,112,102,103,103,131, 32, 8,177,179, 25, + 25, 20, 20, 20,164,211,233,208,175, 95, 63,148,149,149,239,235, 59, 97,194, 4,112,185, 92, 20, 22, 22,130,203,229,250,215,225, +253,248,143, 26, 53,170,218,208, 42, 82,169,212,232,227,227,211,198, 73, 78,191,215, 95,127, 61, 39, 54, 54,246,169,133, 45,215, +174, 93,251,139,175,175,239, 89, 95, 95,223, 86, 78,114,154,237, 69, 21,143,199,171, 32,180,184, 92, 46, 72,146,116,216, 71,237, + 94,161,118, 3,135,200,235,180, 98,206,176,105, 77, 2,189,192,106, 10,192, 27,252, 57,110, 21,137,176,122,237, 9, 0,192, 63, +223,233,138,142, 67,151,194,176,125, 24,230,245,162,248,147,179,245, 11, 0,124,246,156,219,252,175, 1, 88, 87,193,109, 2,208, +233, 5,234,143,108, 98,235,228,201,147,104,215,174, 29, 74, 74, 74,144,150,150, 86, 87,145,101,109,239, 22,125,241,197, 23,191, +188,245,214, 91, 30,214, 65,171, 72, 36,194,135, 31,126,168,211,104, 52,139,156, 42, 68,102, 51, 56, 28,142,109,144, 44, 20, 10, + 17, 21, 21,101, 19, 89, 4, 65,160,180,180, 20, 28, 14,199,186, 34,145,112, 48,141, 8, 9, 14,134,167,167, 39, 90,180,108,137, +251,150,118,196,250, 89, 32, 16,128, 32, 8,208,116,173,134, 60,181,197,169,125,190,171,187,100,171, 40,170,209,116, 28, 26, 10, +179,217,108, 21,153,172, 43, 56,253,253,253,161,209,104, 28,229,124, 33, 81,141, 69,203, 42,180, 70,161,220, 87,235,169,240, 14, + 3, 0,196,161, 1,151, 84, 18, 96, 9, 51,203,130, 67,145,150,185, 91, 10, 20, 69, 66, 94,148,135,117,159,191,103, 17, 89,251, +113, 60, 33, 13, 97,205,219,253, 49,143, 75, 16, 0, 91,115,225, 14,240,226,197,206,126,171,167,168,128,200,131,119,168, 24, 66, + 97, 37,253,232,195, 3, 17, 65, 98,206,192, 48,241,245,163,101,177,169, 74, 99,173, 29,133,144, 36,203,157,223, 9,162, 74,231, + 30,210,114,141, 34, 8,176, 44, 11,214,236,156,223,177, 85,200,139, 68, 34, 24,141, 70, 80, 20,133,245,235,215,123, 15, 29, 58, +116,163,179, 66, 11, 64, 74, 65, 65,193,200,153, 51,103,158,220,183,111,159,191,191,191,127,133,209,195,204,153, 51,101, 5, 5, + 5, 35,225,164,211, 61,151,203,221,184,105,211, 38,233,147, 39, 79, 80, 90, 90, 10,145, 72,100,107,124,234, 90, 62,187,119,239, +126,250,212,169, 83, 62, 74,165, 18, 70,163, 17, 34,145, 8, 44,203,130,162, 40,252,248,227,143,126,163, 71,143, 62,145,153,153, + 57,184,166,180,138, 68,162, 55, 44,194, 9,209,209,209,222,209,209,209, 3,128,106, 35,245,218, 16, 29, 29,237, 61,127,254,252, +215,117, 58,221,170, 26,158, 57, 75, 46,151, 7,139, 68, 34, 28, 60,120, 16, 18,137, 4, 98,177, 24,161,161,161,144,203,229, 16, +139,197, 96, 89, 22, 38,147,201,218, 88, 20, 59,242,224, 69, 69, 69, 26,154,166,189, 78,158, 60,137,226,226, 63,126,210,164, 73, + 19, 40, 20, 10,152,205,230, 82,103, 51, 51, 55, 55,183,128, 32,136,198,183,110,221,194,147, 39, 79, 48, 98,196, 8,252,252,243, +207,232,218,181,124,118,216, 96, 48,212, 37,136, 31, 67, 81, 20, 91, 67,185, 37, 0,248,184,146,211,210,121, 57,197,105, 54,155, +205, 86,145,101,255,215, 94,124,213,242, 63, 43, 84,231, 54, 65,146,109, 43,102, 15,153, 54,172,157, 63,116, 69,143, 33,244,244, + 7,225, 29,129,213,107, 79,224,206,163,242,247,181,122,207, 13,236,141, 25, 9,136,124, 17,233, 37, 67,176, 39,231,205,187,133, +207, 93,104,121,217,143, 19, 94,212,142,105,196,136, 17,144,203,229,144, 72, 36,174,240,207,185,172,211,233,210, 15, 31, 62,220, +101,212,168, 81,224,243,249, 72, 79, 79, 71, 98, 98, 98, 26,128,203,206, 10, 45, 46,151,139, 47,190,248, 2,239,189,247, 30,130, +130,130,176,104,209, 34,112, 56, 28,219, 65, 16,132,205,194,229, 12, 2,131,106, 94,248,104,117,136,175,205, 24,238,229,229,245, + 5, 73,146,227, 41, 7, 50,142, 97, 24,198,108, 54,239, 83, 42,149, 53,134,119,176, 58,174, 59,242, 46,236,243,160,150, 62,173, +222,156,207, 66,139,212, 5,149, 87, 27, 86, 99,209,178,174, 58,124,106, 43, 32,235, 83,198, 89, 76,118,113, 13,149, 80,130,164, +238,102,231,228,194,207, 71, 98, 17, 89,150,131, 36,209,177, 93,249, 96,246,120, 66, 26,194,154,181, 3,135,162,192,161, 40, 72, + 68, 2, 20,228,231,129,195, 33,239, 86,199,219,158,194, 91,111,181,106, 28,225,227,199,133, 44,192,128,144,160,106, 12, 3, 93, + 60, 17, 22,194,199,112, 63, 97,120,123, 10,111,213,108,125, 99,109, 66,203, 72,211,224,141, 29,107,155, 46, 76,138,142, 70, 84, +108, 44,152, 49, 99,160, 53, 26, 43,152,138,235, 42,180, 68, 34, 17,212,106, 53, 38, 77,154, 36, 55,153, 76,239,215, 49,139, 19, +139,139,139,199, 77,158, 60,185,216, 42, 96,140, 70, 35, 38, 79,158, 92, 92, 92, 92, 60,206, 1, 43,209, 83, 48,153, 76,239,119, +237,218, 85, 46,147,201,108,233,172, 75,131, 99,133,175,175,239,241,109,219,182,249,234,245,122,208, 52,109,227, 20,137, 68,160, + 40, 10, 1, 1, 1,216,187,119,111,128,175,175,111,141,123, 86,233,116,186,195,177,177,177, 10, 0,136,141,141, 85, 16, 4, 17, + 79, 16,196,102,130, 32, 54, 85, 58, 54, 19, 4, 17,111,127,175, 78,167, 59, 84, 19,183,193, 96,136, 79, 75, 75, 99,197, 98, 49, + 40,138,130,209,104,132, 80, 40,180,153,196, 85, 42, 21,116,186,242,105,238,196,196, 68,152, 76,166,139,142, 60,187, 90,173, 62, +183, 99,199, 14,115,147, 38, 77,208,174, 93, 59, 68, 69, 69,161,103,207,158, 8, 15, 15,199,151, 95,126,201,104,181, 90,167,235, + 94,110,110,238,241,159,126,250,201,212,184,113, 99,116,233,210, 5, 2,129, 0, 29, 59,118, 68,104,104, 40,150, 47, 95,110, 80, + 42,149, 39,235,240,154, 50,147,147,147,169, 26, 68,174, 20, 14,172,222,173,132,172,235,215,175, 83, 61,123,246, 60, 82,249, 66, +247,238,221,143, 72, 36, 18, 47,171,137,221,153, 17,185,189,184, 18, 8, 4,182,195,250, 61,135,195,113,100,244, 67,182, 9,146, +108,251,234,189, 65,211,134,181,243,193,145,115, 87,193, 51, 42, 0, 67, 13, 51,130,140, 9, 4,207, 3, 65, 94,220,176, 23,160, + 15,152, 7,224, 54,202,227, 48, 45,194,139, 5,155,227,123,113,113, 49,210,210,210,144,152,152,136,158, 61,123,226,226,197,139, +192, 31, 14,242, 78, 67,169, 84, 46,138,137,137,209, 90, 87,242, 45, 94,188, 88,167, 86,171, 23, 57,219, 6,179, 44, 11, 46,151, +139,200,200, 72,204,159, 63, 31, 39, 78,156, 64,122,122, 58, 76, 38,147, 77, 8, 89,125, 50,157,177,104,241,120, 60, 4, 5, 5, +193,100, 50,217,172, 89, 0,112,255,222, 61,112, 56, 28,152,205,102, 24, 12,134, 90, 45, 90, 94, 94, 94, 95,108,221,186,245, 3, +153, 76, 22, 82, 84, 84, 20,104,127, 20, 20, 20, 4,230,229,229, 5,230,228,228, 4,102,101,101, 5,102,100,100, 4, 62,126,252, + 56,100,229,202,149, 31,120,121,121,125,225, 72, 58, 41,138, 66,199,142, 29, 49,119,238, 92,219,177, 97,195, 6,219, 17, 23, 23, +231,180,243, 58, 69, 81,136, 92,178, 26, 35,139, 88,219,113, 34,128,176, 29,119,254, 57,171, 38,206, 6,215, 34,117,210, 47,150, +213,134,246, 27, 75, 87, 1,235,170, 67,107, 91,102,115,219,168,236, 12,223, 96,160, 13,101,231, 31, 61,184, 55, 40,178,125, 55, + 50, 95,166,169,176,252, 51,106,224, 56, 16, 4,129, 70,205,218,129,226,112, 64, 81, 36, 56, 20, 5,111,169, 16,105,183,110,153, +245, 58,221,249,170, 56, 7, 0, 28,190,136,191,225,157,225, 29,133,185,252, 66, 4,132,120,128,199, 45,215,142,236,163,113,149, +122, 8, 14,208,222, 19,211,115,252, 68,231, 11,202, 54,248,104,141, 71,226,171, 25, 1,154,205,102, 72, 4, 2,148,233,245,208, +209, 52, 6,174, 91,103,155, 46, 36, 9, 2, 55, 1,116, 88,183, 14,151, 14, 28,128,148,207, 7, 4, 2,135, 87,133, 84, 37,180, +100, 50, 25,166, 78,157, 90,156,151,151, 55,165, 46, 62, 90, 86,232,245,250, 11,249,249,249, 83,198,141, 27,183,251,224,193,131, +190,227,198,141,147,231,231,231, 79,113,208,239,233, 41,148,149,149, 29,200,202,202, 42,157, 58,117,234,174, 61,123,246,248,249, +251,251,219, 70, 34,117, 42,172, 4, 33, 27, 50,100,136,192,145,251,106,185, 37,198,226,220,254,158,197,178,213, 97,214,172, 89, +151, 80,238,127,101,143, 37, 91,182,108,153, 96, 55,197,184, 25,192,186,154,136, 85, 42,213,166,249,243,231,255,237,194,133, 11, +254, 66,161, 16, 4, 65,128,199,227,161, 69,139, 22,182, 85, 52, 92, 46, 23, 44,203,226,163,143, 62,146, 21, 22, 22,126,227,224, +187,153, 21, 19, 19,211,191,172,172,204,103,234,212,169,148, 80, 40, 68, 65, 65, 1,214,174, 93,203,108,223,190, 93,161,213,106, +167,213, 65, 8,239,248,215,191,254, 53, 80,163,209, 52,155, 57,115, 38, 79,169, 84, 66,167,211, 97,193,130, 5,134,239,191,255, + 62, 91,167,211, 57, 29,240,183, 87,175, 94, 15, 50, 50, 50,250,150,150,150,150,136,197,226,202,214, 62,194,195,195,163, 27,128, + 93,206,112, 70, 69, 69, 61,204,204,204,236,185,116,233,210,120,147,201,196,189,118,237,154,205, 25,126,253,250,245,113, 66,161, +112, 8,156,220,124,149, 32, 8,179, 64, 32,168, 96,193,170,252,153,195,225,212,218,166,181, 14, 22, 47,253,234,221,254,211, 94, +109,227,133,195,231,110, 32,230,208,163,187, 45,167, 5, 68,190,226, 83, 4,115, 81, 26,254,249, 78, 87,172,222,115, 3, 64,249, +212,161,185,240, 14,216,146,135, 96, 61, 27,227,246, 78,196,155, 0, 0, 10,184, 73, 68, 65, 84,177, 92,150,251, 2,244, 1,113, + 40, 15,153,241,162,161,130,200,186,115,231, 14, 6, 13, 26, 4, 0,184,120,241, 34,250,244,233,131,139, 23, 47,162,111,223,190, + 78,199,210,178,224, 87,149, 74,149, 17, 23, 23,215,182,113,227,198,184,124,249,242, 99, 0,191, 58,155, 72,171,208,226,112, 56, +120,251,237,183, 49,116,232, 80, 52,105,210,164,194,106, 67,235,103,103,196, 6, 77,211,104,223,190, 61,244, 6, 3,120, 60,158, +109,106,146,195,225, 32, 32, 48, 16, 15, 30, 60,112,200,162, 69,146,228,248, 55,222,120,131, 76, 73, 73,193,196,137, 19,177,123, +247,238,106,239,157, 60,121, 50,126,248,225, 7,188,241,198, 27,228, 39,159,124, 82, 99,120, 7,171, 19,186, 35,207,100,237,167, +107,107,247, 93,197,217,208, 90,164, 62,176, 11,237, 80,229,164, 73, 21,223,197, 86, 16, 90,118, 65,194, 26, 70,104,209,198,221, + 63,255,247,187,249, 61, 55,246, 13, 8, 9,244,130, 92,169,179,137,173,164,184,253, 0,128,183,102, 45, 3,135, 42,159, 82,148, + 74,132, 16,241, 40, 28,216,249,141,204,104, 44,171,178,116,169,185,228,123,159,244,110,225,197,247, 48, 65, 21,204,162, 93,192, + 31, 59,229, 16,205,246, 63, 45,184, 58,251,192,255, 78, 9,222,121, 69, 34,253, 38, 69,241, 30, 76,230, 13, 79,117,136, 10,133, + 78,113,235,150,104,196,214,173,184, 54,101, 10, 26, 49, 12,226, 67, 67,225,203,229,194, 75, 32, 0, 73, 16,208, 29, 59,134, 75, + 7, 15, 34, 72, 32, 0, 60, 61, 65,127,249, 37,244,105,105, 48,169,213,186, 58,140,204, 48, 97,194, 4,153, 76, 38, 27,103, 48, + 24, 46,212, 55,159,117, 58,221,169,172,172,172,247,122,245,234,181,209,100, 50,189,175,211,233,234,181, 50,202, 96, 48,156,202, +207,207, 31, 59, 97,194,132,253,135, 14, 29,242,247,246,246,174, 51, 87,113,113,113, 87, 23, 21, 39, 51,128, 79, 45,206,237,239, + 69, 71, 71,123, 95,191,126,253,111,219,182,109,219,104, 55,154, 8,156, 49, 99,198,187,149, 68, 86,173,171, 14, 1,100, 22, 22, + 22,126,249,225,135, 31, 46, 91,179,102,141,196,234,248,254,251,239,191,131,166,105,112,185, 92, 48, 12,131, 25, 51,102,104,138, +139,139, 87,163,250,136,206, 79, 21, 45,149, 74,213, 98,233,210,165,219,214,173, 91, 55,148,162, 40, 15,134, 97,180,165,165,165, +241,101,101,101,211, 80,183, 56, 90,230,162,162,162,169,159,125,246,217,212,181,107,215,190, 65,146,100, 32, 77,211, 50,181, 90, +125, 84,167,211,125,143, 58, 76, 37, 93,190,124,185,232,157,119,222,121, 84, 84, 84,212, 58, 44, 44, 76, 41,145, 72, 12, 6,131, +129, 18,137, 68, 82, 15, 15,143, 40, 0,151, 9,130, 72,117,134, 51, 41, 41, 41,127,230,204,153, 79,244,122,125,228,230,205,155, + 19,164, 82,233, 57,130, 32, 8, 30,143,231, 35, 18,137, 6, 1,136, 39, 8,226,190, 51,156, 36, 73,154,237,173, 87,149,253,179, +248,124,190, 67, 62, 90,205, 2,196,211,135,182,224,224,240,249, 27,136, 57,156,185,131, 97,217,131, 7,147, 74,142, 45,234, 3, + 24,247,189,131,142,227,118,149, 79, 23, 2, 48, 23,222,129,113,223,100, 16, 98,127, 36,228,112,161,212, 25,143,195,141,170, 96, + 11,239, 32,147,201,144,146,146, 98, 21, 89, 81, 0,208,183,111,223, 36,171,216, 74, 76, 76, 68,151, 46, 93,146, 0,112,157, 45, +175, 42,149,234,195, 73,147, 38,157,178, 12,142, 63,172,195,192,207, 38,180,172,130,170, 73,147, 38,182,115,251,195,206, 71,203, + 33, 48, 12, 3, 30,143, 7, 14,135,131,144,208, 80,219,255, 98, 89, 22, 15, 30, 60,128, 92, 46,119, 72,104, 81, 20, 69, 17, 4, +129,137, 19, 29, 91,144,252,215,191,254, 21,241,241,241,160, 28, 84,133, 20, 69, 33, 34, 34,162,214,123,172,186,212, 81,206,176, +176,176, 58,115, 54,180, 22,169,171,192,170,234,115, 85,162,170,186, 10,241,172,144,171,209, 40, 63,221,185,117,253,154, 25,179, + 63,146,220,121, 88, 0,165, 70, 15,138, 34,237, 27, 79,112, 56, 20,164, 30, 66, 52, 14,246,194,158,255,252, 91,173, 86, 41, 62, + 67, 53,251, 30, 54,241,228,205, 26,210,237, 21, 1, 47, 68,139,200, 14, 19, 64, 9,255, 16, 1,108,126, 53,179,131,125,126,193, +107,153, 90,225,207,153,218, 89, 55, 75, 12, 79, 11, 45,131, 97,216,226,225,195, 79,199,156, 56, 33,238,190, 99, 7, 30,206,152, +129, 80,157, 14, 2,203, 84, 34, 73, 16,144,240,120,144,240,120,229, 34,107,237, 90,232,104, 26,235,166, 76, 41,213, 27, 12,195, +157,169,228,197,197,197, 24, 51,102, 76, 81,110,110,238, 72,212, 97,106,175, 58,104,181,218, 3, 0, 14,184,138, 79,175,215, 95, +200,206,206,126,109,204,152, 49, 39, 78,157, 58, 21,240,130, 4,153,179,138, 45,227,245,235,215,223, 77, 72, 72,120,136,138, 27, +139, 42, 18, 18, 18, 30,206,156, 57,147,216,182,109,219,247, 0,254, 5, 7, 3,120,106,181,218,245,103,206,156, 65,255,254,253, +255,181, 98,197, 10,191,174, 93,187, 34, 48, 48, 16,106,181, 26,137,137,137,152, 55,111,158, 92,165, 82,173, 80, 40, 20,107,156, + 76,179, 81,175,215, 79,182, 95, 74,237,138,124,208,235,245,219,243,242,242,182,187,138,112,206,156, 57,191, 63,120,240,160, 56, + 32, 32,160, 7,143,199,235,128,114, 63,160,124, 0,223, 59, 43,136,172,152, 61,123,246,173, 7, 15, 30,200, 26, 53,106,212,211, +194,233,141,242,109,140,182,214,129, 51,247,198,141, 27, 97,221,186,117, 35,185, 92, 46, 75, 81, 20,184, 92, 46,203,225,112, 88, +139, 95, 13, 11, 0, 71,143, 30, 21, 0,168,113,219,156,135,133,186,165,147,255,253,219, 39,169,249,101, 7,211, 10, 74,231, 3, + 96,247,221, 17,255,210, 49,128, 26, 54,172, 85, 54,244,177,125, 65, 72,203, 3, 85,178,154, 60, 16, 30, 65,200, 54, 55,194,146, + 35,119,243,105, 16,171,220,154,170,234,113, 53, 44,225, 29,242,242,242,236, 69,150,213,106, 21,213,183,111,223, 36,139,200,178, + 94,171,139,127,217, 89,179,217, 92,175, 62,140,101, 89,196,196,196, 96,203,150, 45,168, 45,162,185,101,117, 31, 81, 27,159,213, +162,197, 48, 12,140, 70, 35,238,220,185, 99,139,217,101,157, 46,180,134,118,160,105,186,198,213,234, 12,195, 48, 6,131, 1, 63, +254,248,163, 67, 98,107,239,222,189, 40, 43, 43, 3, 83,139,130,179, 15,197,208,169, 83, 39,200,229,114,219, 98,159,168,168, 63, + 66,229, 25,141, 70,167,132,171,149, 51, 50, 50, 18, 50,153, 12, 86,127,225,198, 83,254, 48,246,208, 90,237,159,181,220, 87,107, +209,122,230, 61,166, 64, 44, 61,213,181,247,208, 62, 83,222,157,231,161,209, 51,120,242, 36, 3, 69,133,121, 32, 9, 18, 33,141, +194, 16, 30, 30, 1, 17,159,196,238,216, 53,218,164, 75,231,126,211,168, 75, 70, 84,199, 53,202,139,119,105,237,216, 62, 61,155, + 55,247, 36, 64,155, 0,198, 4,208, 38,192,108,249,107,253,206, 92,177,204,165,164, 40,216, 79,110,202,175, 28, 87, 26,171,220, +179,106, 28,208,199,219,215,247,244,146,163, 71,197,102,163, 17,197, 31,126, 8, 49, 77, 67,104, 25,149,148, 63,136, 0,244,151, + 95,150,139,172,201,147, 75,149, 10,133, 83, 91,240,248,251,251,223, 32, 8,194,191,168,168,232,165,138, 12, 31, 16, 16,112,156, +101, 89,153, 76, 38,235,250, 2,165, 43, 16,128, 2,128,177,138,129, 68, 0,156,247,255,177, 34, 34, 32, 32,224, 19,146, 36,123, +177, 44,235, 71,146,100,137,217,108,190, 92, 88, 88,184, 18,192, 3,119,127,250,220, 96,141, 12,223,180,150,251, 10, 1,252, 3, +229, 78,193, 79, 28, 37,239,232,229,229,165,231,155, 14,253,165,157, 96,224,248, 40, 47, 52, 11,246, 4,151, 39, 68,174,138,198, +217, 84, 21,182,198,229,103,233, 76,204,232,123, 69,165,201,238, 87, 81, 35, 92,190, 5,143, 43,225,235,235,123,245,244,233,211, + 93,155, 53,107, 70,218, 59,188, 91, 99,229, 89,167,183, 56,156,114, 45,119,225,194, 5,122,226,196,137,151, 11, 10, 10,250, 87, +199,233,233,233,249,203,237,219,183, 95, 85, 42,149, 79, 9, 42,251, 72,241,214,115,173, 86,139,217,179,103,159,169,110, 11, 30, + 47, 47,175,181,107,214,172,249,224,173,183,222, 34,173,225, 40,236, 15,235,118, 65,214,195,104, 52, 98,215,174, 93,230,111,190, +249,230, 91,165, 82, 89,237,212, 97, 72, 72, 72, 86,110,110,110,152, 53,212,130, 35, 65, 69, 35, 34, 34,242, 50, 50, 50, 66,159, + 37,231, 75, 44,184, 42, 88,183,158,139,105,130, 43, 18,205,241,148,248,124,254,214,164,185,126, 17,205, 91, 18, 65, 33,141, 64, +128, 68, 65,126, 14, 50, 30,221, 99, 15,253,247,187, 98,173, 74,254,133, 78,167,253,174, 38,158, 54, 64,243,166, 82,222, 62, 62, +131, 86,176, 10,160, 74,251, 83, 61, 53,226, 0, 96,228,146,119,159,168, 77, 19, 82,107,152,246,177,138,173, 79, 15, 29, 18,243, + 91,181,122, 42, 80,156,217,108,134, 62, 45, 13,235,166, 76,113, 90,100,185,225,134, 27, 46, 65, 51,212, 30, 35,203,132,242,248, + 92,206, 90, 76,136,200, 64,143, 9, 44, 48,158,132,185, 61, 73, 16,124,154, 69, 58, 88,252, 34,230,148,110, 76,202,131,206,157, +253, 14,225,133,221, 84, 26,128,135,175,175,239, 57,138,162,194,173, 22, 25,123,107,125, 21, 27, 74, 63, 41, 40, 40, 24, 2,160, +166, 21,194,205, 61, 61, 61,191, 99, 24,166,187, 35,155, 74, 83, 20,117, 77,173, 86,207, 65, 13,155, 74, 55,196,170, 67, 63, 63, +191, 7, 25, 25, 25,205,173,171,168,237,251,202,170, 86,150,223,191,127, 31, 3, 6, 12,200,200,207,207,143,120,150,156, 47, 42, +170, 89,117,248,226, 88,180,236, 16,202, 19, 72,166,242, 69,194,193,102, 19, 29, 9, 2,224,112,185,119, 13,101,186,243,122,157, +102, 39,170,153, 46,124,150, 24, 7,244, 17,240,249,191,240,164, 82, 81, 85,162,205,164, 86,235,244, 6,195, 48,183,200,114,195, + 13, 55,220,112,227, 37, 66, 43, 95, 95,223,211, 92, 46, 87, 96, 47, 38, 43,127,182,130,166,233,178,162,162,162, 17, 0,210,159, + 49,231,255, 38,156,116, 82, 27,234, 40,167,229, 24,240,162,115, 54,224,179,179, 46,228, 28, 96,225, 92,242,146,164,115,192,139, +202,105,125, 94, 39,120,135, 58, 83,142, 92,149,159,118,233,100, 93,157,206,134,226,116, 85, 61,170, 34,157,108, 3,188,247, 37, + 47, 73, 58, 7,188,104,156,149,203,143,131,188, 78,113, 58, 88,166,156, 77, 39,235,234,116, 54, 20,103,125,235, 81, 13,233,100, +235, 91,150,170,121,247, 75,240, 18, 34,165, 51,216,148,206, 96,239,116,169, 50,110, 99,116,117,191,115,202,145,176,161, 86, 2, + 88,195,238, 91,248,137, 23,149,211, 62, 31, 92,185, 85, 64, 3,108, 59, 16,231,106,206, 74,249,233, 42, 44,177,172, 48,137,135, + 3, 1, 71,157,121,118, 87,188,247, 74,207,234, 18,222, 58,136, 44,167, 56, 93, 85,238, 27,154,211, 85,117,169, 50,167, 43,202, +125, 85,239,189, 1,223,145,171,210,233,146,186,212, 16,101,190,138,242, 83,111,222,202,156,174,168, 75,149, 57, 93, 81,238,159, + 5,167, 43,234, 82, 85,156,174, 40,247,213,189,251,151,213,208,100,157, 46,180,132,120, 32, 28, 16, 91,177, 0, 64,214, 37,211, + 26,208, 82, 54,208,213,156,174, 78,115, 67,136, 77, 39, 44, 48,207,157,211,197,239,104,137,133,211,149,163,155,129,174,122, 71, + 13, 81,222,237, 57, 93,197, 95,153,199, 21,239,169, 42,206,250,166,183,154,116,186,252,217,235, 91,238,159, 21,167,139,223,145, + 75,234, 82, 37,206,129, 46, 30, 12, 12,180, 59, 95,226, 74, 78, 87,213,165, 42,210, 89,239,247, 84, 21,103,125,211, 91, 77, 58, + 93,254,236,174,232, 67, 26,138,247,121, 90,180, 88,178,218, 50, 17, 91,233,120, 38, 66,227,185, 77,201, 57,201,253,167,226,116, +114,122,102,104, 3,188,251,231,154, 78, 87,114, 86, 78,163, 43,167,123, 26, 50,157,174,228,116, 34,173,127, 58,206,151,237,189, +191,136,249, 89, 29, 95,125,166,165,170,179,142, 54, 68, 58, 93,201,233, 32,247,159,130,179, 30,239,254, 79, 7,206,139,146, 16, +107,198,187,120,100, 2, 23, 91, 96, 26,236,185, 93,156,206,129, 13, 97, 33,108, 0,184, 60,157,150,145,242,231, 13,240,236, 47, + 75,158,186,235,146,187, 46,189,112,117,169, 82,153, 28,232, 66, 75,145, 75, 45,207,149, 57, 93,241, 63,236, 57, 92, 85, 70, 27, +250,217, 93, 89,151, 26,226,221,191,108,248,127,192,195,143, 90, 43, 71,167,194, 0, 0, 0, 0, 73, 69, 78, 68,174, 66, 96,130, 0}; diff --git a/source/blender/editors/datafiles/startup.blend.c b/source/blender/editors/datafiles/startup.blend.c index cad150abc5e..2a1d3a602d8 100644 --- a/source/blender/editors/datafiles/startup.blend.c +++ b/source/blender/editors/datafiles/startup.blend.c @@ -1,26 +1,14 @@ /* DataToC output of file <startup_blend> */ -int datatoc_startup_blend_size = 374884; +int datatoc_startup_blend_size = 375392; char datatoc_startup_blend[] = { - 66, 76, 69, 78, - 68, 69, 82, 45,118, 50, 54, 51, 82, 69, 78, 68, 72, 0, 0, 0, 16,174, 63,189,255,127, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0,250, 0, 0, 0, 83, 99,101,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 71, 76, 79, 66, 48, 4, 0, 0, 96,170, 63,189,255,127, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, - 32, 32, 32, 53, 5, 0, 0, 0,250, 0, 0, 0, 1, 0, 0, 1, 8,234, 27, 7, 0, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, - 0, 16, 0, 0,128, 32, 4, 0,240,181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 66, 76, 69, 78, 68, 69, 82, 45,118, 50, 54, 51, 82, 69, 78, 68, 72, 0, 0, 0, 0,201,255,255,255,127, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 83, 99,101,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 76, 79, 66, 48, 4, 0, 0, 16,197,255,255,255,127, 0, 0,217, 0, 0, 0, + 1, 0, 0, 0, 32, 32, 32, 54, 6, 0, 0, 0,250, 0, 0, 0, 1, 0, 0, 1,104, 63,166, 5, 0, 0, 0, 0,120,184,168, 5, + 0, 0, 0, 0, 0, 16, 0, 0,128, 32, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -40,1152 +28,1161 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 0, 0, 88, 1, 0, 0,168, 22, 27, 7, 0, 0, 0, 0, -148, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 87,105,110, 77, 97,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 72, 24, 27, 7, 0, 0, 0, 0, 72, 24, 27, 7, 0, 0, 0, 0, 72, 24, 27, 7, 0, 0, 0, 0, 72, 24, 27, 7, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0,136,203, 87, 8, 0, 0, 0, 0,184,212, 84, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 88, 99,154, 8, 0, 0, 0, 0,168, 35,250, 6, 0, 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 40,193, 18, 7, 0, 0, 0, 0,216, 86, 19, 7, 0, 0, 0, 0, 40,193, 18, 7, 0, 0, 0, 0,232, 85, 19, 7, 0, 0, 0, 0, -216, 86, 19, 7, 0, 0, 0, 0,200, 87, 19, 7, 0, 0, 0, 0,200, 87, 19, 7, 0, 0, 0, 0,200, 87, 19, 7, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 1, 0, 0, 72, 24, 27, 7, 0, 0, 0, 0,149, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,208,125, 19, 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 8,234, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,115, 99,114,101,101,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 34, 0, 78, 5,164, 2, 0, 0, 0, 0, 1, 0,238, 3, 0, 0, 0, 0, 1, 0, 0, 0, - 8,244,105, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -104, 91,106, 7, 0, 0, 0, 0,152,172,157, 8, 0, 0, 0, 0,152,172,157, 8, 0, 0, 0, 0,200, 57,106, 7, 0, 0, 0, 0, - 88, 55,106, 7, 0, 0, 0, 0,248, 56,106, 7, 0, 0, 0, 0,248, 56,106, 7, 0, 0, 0, 0,200, 52,106, 7, 0, 0, 0, 0, -232,106,106, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 8, 1, 0, 0, -152, 25, 27, 7, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0,136,125, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 65,110,105,109, 97,116,105,111,110, 0, 46, 48, 48, 49, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,200,224, 26, 7, 0, 0, 0, 0,120, 33, 27, 7, 0, 0, 0, 0,232, 33, 27, 7, 0, 0, 0, 0, - 40, 46, 27, 7, 0, 0, 0, 0,152, 46, 27, 7, 0, 0, 0, 0,184,115, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, -200,224, 26, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56,225, 26, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56,225, 26, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0,232, 26, 27, 7, 0, 0, 0, 0,200,224, 26, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,222, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232, 26, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, - 88, 27, 27, 7, 0, 0, 0, 0, 56,225, 26, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4,222, 2, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0, 88, 27, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,200, 27, 27, 7, 0, 0, 0, 0, -232, 26, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, -200, 27, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56, 28, 27, 7, 0, 0, 0, 0, 88, 27, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56, 28, 27, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0,168, 28, 27, 7, 0, 0, 0, 0,200, 27, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -240, 4,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168, 28, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, - 24, 29, 27, 7, 0, 0, 0, 0, 56, 28, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0, 24, 29, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,136, 29, 27, 7, 0, 0, 0, 0, -168, 28, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, -136, 29, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248, 29, 27, 7, 0, 0, 0, 0, 24, 29, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 60, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248, 29, 27, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0,104, 30, 27, 7, 0, 0, 0, 0,136, 29, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -240, 4, 60, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104, 30, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, -216, 30, 27, 7, 0, 0, 0, 0,248, 29, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0,216, 30, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 72, 31, 27, 7, 0, 0, 0, 0, -104, 30, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 88, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, - 72, 31, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,184, 31, 27, 7, 0, 0, 0, 0,216, 30, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,192, 1, 88, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,184, 31, 27, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0, 40, 32, 27, 7, 0, 0, 0, 0, 72, 31, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -192, 1,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 40, 32, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, -152, 32, 27, 7, 0, 0, 0, 0,184, 31, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0,152, 32, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 8, 33, 27, 7, 0, 0, 0, 0, - 40, 32, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 1, 4, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, - 8, 33, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,120, 33, 27, 7, 0, 0, 0, 0,152, 32, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 60, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120, 33, 27, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 33, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -240, 4, 60, 2, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 33, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, - 88, 34, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,225, 26, 7, 0, 0, 0, 0,232, 26, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88, 34, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, -200, 34, 27, 7, 0, 0, 0, 0,232, 33, 27, 7, 0, 0, 0, 0, 56,225, 26, 7, 0, 0, 0, 0,200, 27, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200, 34, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, - 56, 35, 27, 7, 0, 0, 0, 0, 88, 34, 27, 7, 0, 0, 0, 0,232, 26, 27, 7, 0, 0, 0, 0, 56, 28, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 35, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, -168, 35, 27, 7, 0, 0, 0, 0,200, 34, 27, 7, 0, 0, 0, 0,200, 27, 27, 7, 0, 0, 0, 0, 56, 28, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168, 35, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, - 24, 36, 27, 7, 0, 0, 0, 0, 56, 35, 27, 7, 0, 0, 0, 0,200,224, 26, 7, 0, 0, 0, 0,168, 28, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 36, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, -136, 36, 27, 7, 0, 0, 0, 0,168, 35, 27, 7, 0, 0, 0, 0, 88, 27, 27, 7, 0, 0, 0, 0,168, 28, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136, 36, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, -248, 36, 27, 7, 0, 0, 0, 0, 24, 36, 27, 7, 0, 0, 0, 0, 56, 28, 27, 7, 0, 0, 0, 0, 24, 29, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248, 36, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, -104, 37, 27, 7, 0, 0, 0, 0,136, 36, 27, 7, 0, 0, 0, 0,168, 28, 27, 7, 0, 0, 0, 0,136, 29, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104, 37, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, -216, 37, 27, 7, 0, 0, 0, 0,248, 36, 27, 7, 0, 0, 0, 0, 88, 27, 27, 7, 0, 0, 0, 0,248, 29, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216, 37, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, - 72, 38, 27, 7, 0, 0, 0, 0,104, 37, 27, 7, 0, 0, 0, 0,136, 29, 27, 7, 0, 0, 0, 0,248, 29, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72, 38, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, -184, 38, 27, 7, 0, 0, 0, 0,216, 37, 27, 7, 0, 0, 0, 0,200,224, 26, 7, 0, 0, 0, 0,104, 30, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184, 38, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, - 40, 39, 27, 7, 0, 0, 0, 0, 72, 38, 27, 7, 0, 0, 0, 0, 24, 29, 27, 7, 0, 0, 0, 0,216, 30, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 39, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, -152, 39, 27, 7, 0, 0, 0, 0,184, 38, 27, 7, 0, 0, 0, 0,168, 28, 27, 7, 0, 0, 0, 0,216, 30, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152, 39, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, - 8, 40, 27, 7, 0, 0, 0, 0, 40, 39, 27, 7, 0, 0, 0, 0,104, 30, 27, 7, 0, 0, 0, 0,216, 30, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 40, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, -120, 40, 27, 7, 0, 0, 0, 0,152, 39, 27, 7, 0, 0, 0, 0,104, 30, 27, 7, 0, 0, 0, 0, 72, 31, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 40, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, -232, 40, 27, 7, 0, 0, 0, 0, 8, 40, 27, 7, 0, 0, 0, 0,216, 30, 27, 7, 0, 0, 0, 0, 72, 31, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 40, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, - 88, 41, 27, 7, 0, 0, 0, 0,120, 40, 27, 7, 0, 0, 0, 0,200, 27, 27, 7, 0, 0, 0, 0,184, 31, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88, 41, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, -200, 41, 27, 7, 0, 0, 0, 0,232, 40, 27, 7, 0, 0, 0, 0, 24, 29, 27, 7, 0, 0, 0, 0,184, 31, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200, 41, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, - 56, 42, 27, 7, 0, 0, 0, 0, 88, 41, 27, 7, 0, 0, 0, 0, 72, 31, 27, 7, 0, 0, 0, 0,184, 31, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 42, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, -168, 42, 27, 7, 0, 0, 0, 0,200, 41, 27, 7, 0, 0, 0, 0,104, 30, 27, 7, 0, 0, 0, 0, 40, 32, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168, 42, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, - 24, 43, 27, 7, 0, 0, 0, 0, 56, 42, 27, 7, 0, 0, 0, 0, 72, 31, 27, 7, 0, 0, 0, 0,152, 32, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 43, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, -136, 43, 27, 7, 0, 0, 0, 0,168, 42, 27, 7, 0, 0, 0, 0, 40, 32, 27, 7, 0, 0, 0, 0,152, 32, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136, 43, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, -248, 43, 27, 7, 0, 0, 0, 0, 24, 43, 27, 7, 0, 0, 0, 0,136, 29, 27, 7, 0, 0, 0, 0, 8, 33, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248, 43, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, -104, 44, 27, 7, 0, 0, 0, 0,136, 43, 27, 7, 0, 0, 0, 0, 24, 29, 27, 7, 0, 0, 0, 0, 8, 33, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104, 44, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, -216, 44, 27, 7, 0, 0, 0, 0,248, 43, 27, 7, 0, 0, 0, 0, 56, 28, 27, 7, 0, 0, 0, 0,120, 33, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216, 44, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, - 72, 45, 27, 7, 0, 0, 0, 0,104, 44, 27, 7, 0, 0, 0, 0,248, 29, 27, 7, 0, 0, 0, 0,120, 33, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72, 45, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, -184, 45, 27, 7, 0, 0, 0, 0,216, 44, 27, 7, 0, 0, 0, 0, 8, 33, 27, 7, 0, 0, 0, 0,120, 33, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184, 45, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, - 40, 46, 27, 7, 0, 0, 0, 0, 72, 45, 27, 7, 0, 0, 0, 0,200, 27, 27, 7, 0, 0, 0, 0, 40, 32, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 46, 27, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,184, 45, 27, 7, 0, 0, 0, 0,184, 31, 27, 7, 0, 0, 0, 0,152, 32, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,152, 46, 27, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, -104, 50, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 27, 27, 7, 0, 0, 0, 0, 56,225, 26, 7, 0, 0, 0, 0, -232, 26, 27, 7, 0, 0, 0, 0, 56, 28, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, -196, 2, 0, 0,222, 2, 0, 0, 7, 7,241, 4, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -248,124, 27, 7, 0, 0, 0, 0,248,124, 27, 7, 0, 0, 0, 0,136, 47, 27, 7, 0, 0, 0, 0,248, 48, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,136, 47, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,248, 48, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 32,158, 68, - 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,158, 68, 0, 0,200, 65, - 0, 0,158, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,241, 4, - 26, 0,241, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, -196, 2, 0, 0,221, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 4, 26, 0, 0, 0, 1, 0, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,248, 48, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -136, 47, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, - 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, - 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, - 2, 0,112, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -222, 2, 0, 0,222, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65,160, 0, 0, 0,104, 50, 27, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,248, 74, 27, 7, 0, 0, 0, 0, -152, 46, 27, 7, 0, 0, 0, 0,168, 28, 27, 7, 0, 0, 0, 0,136, 29, 27, 7, 0, 0, 0, 0,248, 29, 27, 7, 0, 0, 0, 0, - 88, 27, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 59, 1, 0, 0, - 4, 4,216, 0, 60, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 73, 27, 7, 0, 0, 0, 0, -184, 73, 27, 7, 0, 0, 0, 0, 88, 51, 27, 7, 0, 0, 0, 0,200, 52, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, - 88, 51, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,200, 52, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65, 98, 39, 38, 54, 0, 0, 88, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 87, 67, 0, 0,200, 65, 0, 0, 87, 67, 0, 0,200, 65, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,216, 0, 26, 0,216, 0, 26, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 34, 1, 0, 0, 59, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, -200, 52, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 51, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 88, 67, 0, 0, 61,196, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 71, 67, 1, 0,145,195, 0, 0, 0, 0, -199, 0, 0, 0,216, 0, 0, 0, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 0, 0, 62, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, - 0, 0, 0, 0,198, 0, 0, 0, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,216, 0, 34, 1,199, 0, 34, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 33, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 56, 54, 27, 7, 0, 0, 0, 0, 24, 72, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, - 56, 54, 27, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216, 55, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101, -120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101, -120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255,199, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 0, 0, 88, 1, 0, 0, 40, 39,147, 5, + 0, 0, 0, 0,154, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 87,105,110, 77, 97,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 40,147, 5, 0, 0, 0, 0,200, 40,147, 5, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, + 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,216,151, 87, 4, 0, 0, 0, 0,184,153, 87, 4, 0, 0, 0, 0,216,151, 87, 4, 0, 0, 0, 0,200,152, 87, 4, + 0, 0, 0, 0,184,153, 87, 4, 0, 0, 0, 0,216,227,132, 5, 0, 0, 0, 0,216,227,132, 5, 0, 0, 0, 0,216,227,132, 5, + 0, 0, 0, 0, 68, 65, 84, 65, 0, 1, 0, 0,200, 40,147, 5, 0, 0, 0, 0,155, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,155, 87, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,104, 63,166, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115, 99,114,101,101,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 32, 4, 0, 0, 0, 0, 0, 0,238, 3, 0, 0, 0, 0, + 0, 0, 0, 0,120,111,103, 4, 0, 0, 0, 0,104,117,132, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0,216, 88,117, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,125,123, 5, + 0, 0, 0, 0,200,123,123, 5, 0, 0, 0, 0,152,124,123, 5, 0, 0, 0, 0,152,124,123, 5, 0, 0, 0, 0,104,117,132, 5, + 0, 0, 0, 0, 40, 68,137, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, + 8, 1, 0, 0, 24, 42,147, 5, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 65,110,105,109, 97,116,105,111,110, 0, + 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,137, 95, 4, 0, 0, 0, 0,216, 43,147, 5, 0, 0, 0, 0, 72, 44,147, 5, + 0, 0, 0, 0,136, 56,147, 5, 0, 0, 0, 0,248, 56,147, 5, 0, 0, 0, 0,184,125,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0,104,137, 95, 4, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,104, 44,140, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104, 44,140, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 24, 48,137, 5, 0, 0, 0, 0,104,137, 95, 4, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,222, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24, 48,137, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0,136,135,137, 5, 0, 0, 0, 0,104, 44,140, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4,222, 2, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136,135,137, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,168,152,137, 5, + 0, 0, 0, 0, 24, 48,137, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0,168,152,137, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 88, 56,135, 5, 0, 0, 0, 0,136,135,137, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88, 56,135, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 8, 61,135, 5, 0, 0, 0, 0,168,152,137, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,240, 4,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8, 61,135, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0, 40, 76,135, 5, 0, 0, 0, 0, 88, 56,135, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 40, 76,135, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,184, 88,135, 5, + 0, 0, 0, 0, 8, 61,135, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0,184, 88,135, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248,104,133, 5, 0, 0, 0, 0, 40, 76,135, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 60, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,104,133, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 72,225,140, 5, 0, 0, 0, 0,184, 88,135, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,240, 4, 60, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72,225,140, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0,152, 68,137, 5, 0, 0, 0, 0,248,104,133, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152, 68,137, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248,164,137, 5, + 0, 0, 0, 0, 72,225,140, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 88, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0,248,164,137, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,216,144,139, 5, 0, 0, 0, 0,152, 68,137, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 1, 88, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216,144,139, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,152,213,132, 5, 0, 0, 0, 0,248,164,137, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,192, 1,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152,213,132, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0,168,134,139, 5, 0, 0, 0, 0,216,144,139, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,134,139, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,104, 43,147, 5, + 0, 0, 0, 0,152,213,132, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 1, 4, 1, 0, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0,104, 43,147, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,216, 43,147, 5, 0, 0, 0, 0,168,134,139, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 60, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216, 43,147, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 43,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,240, 4, 60, 2, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72, 44,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0,184, 44,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 48,137, 5, 0, 0, 0, 0,104, 44,140, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184, 44,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0, 40, 45,147, 5, 0, 0, 0, 0, 72, 44,147, 5, 0, 0, 0, 0,168,152,137, 5, 0, 0, 0, 0,104, 44,140, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 45,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0,152, 45,147, 5, 0, 0, 0, 0,184, 44,147, 5, 0, 0, 0, 0, 88, 56,135, 5, 0, 0, 0, 0, 24, 48,137, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152, 45,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0, 8, 46,147, 5, 0, 0, 0, 0, 40, 45,147, 5, 0, 0, 0, 0, 88, 56,135, 5, 0, 0, 0, 0,168,152,137, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 46,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0,120, 46,147, 5, 0, 0, 0, 0,152, 45,147, 5, 0, 0, 0, 0,104,137, 95, 4, 0, 0, 0, 0, 8, 61,135, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 46,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0,232, 46,147, 5, 0, 0, 0, 0, 8, 46,147, 5, 0, 0, 0, 0, 8, 61,135, 5, 0, 0, 0, 0,136,135,137, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 46,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0, 88, 47,147, 5, 0, 0, 0, 0,120, 46,147, 5, 0, 0, 0, 0, 88, 56,135, 5, 0, 0, 0, 0, 40, 76,135, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88, 47,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0,200, 47,147, 5, 0, 0, 0, 0,232, 46,147, 5, 0, 0, 0, 0, 8, 61,135, 5, 0, 0, 0, 0,184, 88,135, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200, 47,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0, 56, 48,147, 5, 0, 0, 0, 0, 88, 47,147, 5, 0, 0, 0, 0,248,104,133, 5, 0, 0, 0, 0,136,135,137, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 48,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0,168, 48,147, 5, 0, 0, 0, 0,200, 47,147, 5, 0, 0, 0, 0,248,104,133, 5, 0, 0, 0, 0,184, 88,135, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168, 48,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0, 24, 49,147, 5, 0, 0, 0, 0, 56, 48,147, 5, 0, 0, 0, 0,104,137, 95, 4, 0, 0, 0, 0, 72,225,140, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 49,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0,136, 49,147, 5, 0, 0, 0, 0,168, 48,147, 5, 0, 0, 0, 0, 40, 76,135, 5, 0, 0, 0, 0,152, 68,137, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136, 49,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0,248, 49,147, 5, 0, 0, 0, 0, 24, 49,147, 5, 0, 0, 0, 0, 8, 61,135, 5, 0, 0, 0, 0,152, 68,137, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248, 49,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0,104, 50,147, 5, 0, 0, 0, 0,136, 49,147, 5, 0, 0, 0, 0,152, 68,137, 5, 0, 0, 0, 0, 72,225,140, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104, 50,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0,216, 50,147, 5, 0, 0, 0, 0,248, 49,147, 5, 0, 0, 0, 0,248,164,137, 5, 0, 0, 0, 0, 72,225,140, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216, 50,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0, 72, 51,147, 5, 0, 0, 0, 0,104, 50,147, 5, 0, 0, 0, 0,152, 68,137, 5, 0, 0, 0, 0,248,164,137, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72, 51,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0,184, 51,147, 5, 0, 0, 0, 0,216, 50,147, 5, 0, 0, 0, 0,168,152,137, 5, 0, 0, 0, 0,216,144,139, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184, 51,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0, 40, 52,147, 5, 0, 0, 0, 0, 72, 51,147, 5, 0, 0, 0, 0, 40, 76,135, 5, 0, 0, 0, 0,216,144,139, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 52,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0,152, 52,147, 5, 0, 0, 0, 0,184, 51,147, 5, 0, 0, 0, 0,248,164,137, 5, 0, 0, 0, 0,216,144,139, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152, 52,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0, 8, 53,147, 5, 0, 0, 0, 0, 40, 52,147, 5, 0, 0, 0, 0,152,213,132, 5, 0, 0, 0, 0, 72,225,140, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 53,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0,120, 53,147, 5, 0, 0, 0, 0,152, 52,147, 5, 0, 0, 0, 0,248,164,137, 5, 0, 0, 0, 0,168,134,139, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 53,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0,232, 53,147, 5, 0, 0, 0, 0, 8, 53,147, 5, 0, 0, 0, 0,152,213,132, 5, 0, 0, 0, 0,168,134,139, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 53,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0, 88, 54,147, 5, 0, 0, 0, 0,120, 53,147, 5, 0, 0, 0, 0,184, 88,135, 5, 0, 0, 0, 0,104, 43,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88, 54,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0,200, 54,147, 5, 0, 0, 0, 0,232, 53,147, 5, 0, 0, 0, 0, 40, 76,135, 5, 0, 0, 0, 0,104, 43,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200, 54,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0, 56, 55,147, 5, 0, 0, 0, 0, 88, 54,147, 5, 0, 0, 0, 0, 88, 56,135, 5, 0, 0, 0, 0,216, 43,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 55,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0,168, 55,147, 5, 0, 0, 0, 0,200, 54,147, 5, 0, 0, 0, 0,248,104,133, 5, 0, 0, 0, 0,216, 43,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168, 55,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0, 24, 56,147, 5, 0, 0, 0, 0, 56, 55,147, 5, 0, 0, 0, 0,104, 43,147, 5, 0, 0, 0, 0,216, 43,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 56,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0,136, 56,147, 5, 0, 0, 0, 0,168, 55,147, 5, 0, 0, 0, 0,152,213,132, 5, 0, 0, 0, 0,168,152,137, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136, 56,147, 5, 0, 0, 0, 0,213, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 56,147, 5, 0, 0, 0, 0,168,134,139, 5, 0, 0, 0, 0,216,144,139, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248, 56,147, 5, 0, 0, 0, 0,215, 0, 0, 0, + 1, 0, 0, 0,200, 60,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,152,137, 5, 0, 0, 0, 0,104, 44,140, 5, + 0, 0, 0, 0, 24, 48,137, 5, 0, 0, 0, 0, 88, 56,135, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +240, 4, 0, 0,196, 2, 0, 0,222, 2, 0, 0, 7, 7,241, 4, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 88, 33,140, 5, 0, 0, 0, 0, 88, 33,140, 5, 0, 0, 0, 0,232, 57,147, 5, 0, 0, 0, 0, 88, 59,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232, 57,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 88, 59,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, + 0, 32,158, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,158, 68, + 0, 0,200, 65, 0, 0,158, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, + 10, 0,241, 4, 26, 0,241, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +240, 4, 0, 0,196, 2, 0, 0,221, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 4, 26, 0, + 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216, 55, 27, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, -120, 57, 27, 7, 0, 0, 0, 0, 56, 54, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88, 59,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,232, 57,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0, +255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, + 10, 0,129, 7, 2, 0,112, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,222, 2, 0, 0,222, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,135,255,199, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,200, 60,147, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 88, 85,147, 5, + 0, 0, 0, 0,248, 56,147, 5, 0, 0, 0, 0, 8, 61,135, 5, 0, 0, 0, 0,184, 88,135, 5, 0, 0, 0, 0,248,104,133, 5, + 0, 0, 0, 0,136,135,137, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, + 59, 1, 0, 0, 4, 4,216, 0, 60, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 84,147, 5, + 0, 0, 0, 0, 24, 84,147, 5, 0, 0, 0, 0,184, 61,147, 5, 0, 0, 0, 0, 40, 63,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 1, 0, 0,184, 61,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 40, 63,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65, 98, 39, 38, 54, 0, 0, 88, 67, 0, 0, 0, 0, + 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 87, 67, 0, 0,200, 65, 0, 0, 87, 67, + 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,216, 0, 26, 0,216, 0, + 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 34, 1, 0, 0, + 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, -120, 57, 27, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24, 59, 27, 7, 0, 0, 0, 0,216, 55, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 1, 0, 0, 40, 63,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 61,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 67, 0, 0, 61,196, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 71, 67, 1, 0,145,195, + 0, 0, 0, 0,199, 0, 0, 0,216, 0, 0, 0, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 0, 0, 62, 1, 0, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 0, 0, 0, 0,198, 0, 0, 0, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,216, 0, 34, 1,199, 0, + 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, + 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 64,147, 5, 0, 0, 0, 0,120, 82,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 88, 1, 0, 0,152, 64,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56, 66,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99, +111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99, +111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255,199, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255,199, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 66,147, 5, 0, 0, 0, 0,214, 0, 0, 0, + 1, 0, 0, 0,216, 67,147, 5, 0, 0, 0, 0,152, 64,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24, 59, 27, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, -184, 60, 27, 7, 0, 0, 0, 0,120, 57, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,135,255,199, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,140,254,199, 0,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 88, 1, 0, 0,216, 67,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120, 69,147, 5, 0, 0, 0, 0, 56, 66,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97, +121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97, +121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, -184, 60, 27, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 88, 62, 27, 7, 0, 0, 0, 0, 24, 59, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108, -105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108, -105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, 97,115,105,110,103, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254,199, 0, 58, 0, 20, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255,199, 0, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88, 62, 27, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, -248, 63, 27, 7, 0, 0, 0, 0,184, 60, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 69,147, 5, 0, 0, 0, 0,214, 0, 0, 0, + 1, 0, 0, 0, 24, 71,147, 5, 0, 0, 0, 0,216, 67,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 34,254,199, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,140,254,199, 0,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, -248, 63, 27, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152, 65, 27, 7, 0, 0, 0, 0, 88, 62, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110, -103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 88, 1, 0, 0, 24, 71,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184, 72,147, 5, 0, 0, 0, 0,120, 69,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110, +116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110, +116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, 97,115,105,110, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254,199, 0, 58, 0, 20, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,254,199, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184, 72,147, 5, 0, 0, 0, 0,214, 0, 0, 0, + 1, 0, 0, 0, 88, 74,147, 5, 0, 0, 0, 0, 24, 71,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152, 65, 27, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, - 56, 67, 27, 7, 0, 0, 0, 0,248, 63, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 34,254,199, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,242,253,199, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 88, 1, 0, 0, 88, 74,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248, 75,147, 5, 0, 0, 0, 0,184, 72,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, + 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, + 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, - 56, 67, 27, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216, 68, 27, 7, 0, 0, 0, 0,152, 65, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112, -114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112, -114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,103, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,253,199, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216, 68, 27, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, -120, 70, 27, 7, 0, 0, 0, 0, 56, 67, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,194,253,199, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, -120, 70, 27, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24, 72, 27, 7, 0, 0, 0, 0,216, 68, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,254,199, 0, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,253,199, 0,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248, 75,147, 5, 0, 0, 0, 0,214, 0, 0, 0, + 1, 0, 0, 0,152, 77,147, 5, 0, 0, 0, 0, 88, 74,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24, 72, 27, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,120, 70, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,242,253,199, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 16,253,199, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 88, 1, 0, 0,152, 77,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56, 79,147, 5, 0, 0, 0, 0,248, 75,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111, +115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111, +115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, 99,101,115,115, +105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,253,199, 0, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, -184, 73, 27, 7, 0, 0, 0, 0,180, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 79,147, 5, 0, 0, 0, 0,214, 0, 0, 0, + 1, 0, 0, 0,216, 80,147, 5, 0, 0, 0, 0,152, 77,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,194,253,199, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248, 74, 27, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, -232, 79, 27, 7, 0, 0, 0, 0,104, 50, 27, 7, 0, 0, 0, 0,200,224, 26, 7, 0, 0, 0, 0,104, 30, 27, 7, 0, 0, 0, 0, -216, 30, 27, 7, 0, 0, 0, 0,168, 28, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0, - 0, 0, 0, 0, 87, 0, 0, 0, 15, 15, 24, 4, 88, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -200, 78, 27, 7, 0, 0, 0, 0,200, 78, 27, 7, 0, 0, 0, 0,232, 75, 27, 7, 0, 0, 0, 0, 88, 77, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,232, 75, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 88, 77, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,140, 68, 0, 0, 0, 0, 0, 0,208, 65, 39,182,158, 55, 0, 0,131, 68, - 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,130, 68, 0, 0,200, 65, - 0,224,130, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 24, 4, - 26, 0, 24, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0, - 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 26, 0, 0, 0, 1, 0, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 88, 1, 0, 0,216, 80,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120, 82,147, 5, 0, 0, 0, 0, 56, 79,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117, +116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117, +116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,253,199, 0,130, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0, 88, 77, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -232, 75, 27, 7, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66,112,189, 17,192,246, 70,125, 67, - 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0, - 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0, 18, 0, 0, 0, 61, 0, 0, 0, 0, 0,128, 63, 0, 0, 72, 66, - 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 8, 0, 24, 4, - 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0, - 26, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 82,147, 5, 0, 0, 0, 0,214, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 80,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65,208, 0, 0, 0,200, 78, 27, 7, 0, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 16,253,199, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, +248, 0, 0, 0, 24, 84,147, 5, 0, 0, 0, 0,180, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 31, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,232, 79, 27, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, -168, 86, 27, 7, 0, 0, 0, 0,248, 74, 27, 7, 0, 0, 0, 0,136, 29, 27, 7, 0, 0, 0, 0, 8, 33, 27, 7, 0, 0, 0, 0, -120, 33, 27, 7, 0, 0, 0, 0,248, 29, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, - 61, 1, 0, 0, 59, 2, 0, 0, 3, 3,216, 0,255, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -184, 83, 27, 7, 0, 0, 0, 0,184, 83, 27, 7, 0, 0, 0, 0,216, 80, 27, 7, 0, 0, 0, 0, 72, 82, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,216, 80, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 72, 82, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, 98, 39, 38, 54, 0, 0, 88, 67, - 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 87, 67, 0, 0,200, 65, - 0, 0, 87, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,216, 0, - 26, 0,216, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, - 34, 2, 0, 0, 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 26, 0, 0, 0, 1, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0, 72, 82, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -216, 80, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 67, - 0, 0, 83,195, 0, 0, 0, 0,199, 0, 0, 0,216, 0, 0, 0, 18, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 0,198, 0, 0, 0, - 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,198, 0, 0, 0, 18, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 2, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0,216, 0, -229, 0,199, 0,211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, - 61, 1, 0, 0, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0,229, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88, 85,147, 5, 0, 0, 0, 0,215, 0, 0, 0, + 1, 0, 0, 0, 72, 90,147, 5, 0, 0, 0, 0,200, 60,147, 5, 0, 0, 0, 0,104,137, 95, 4, 0, 0, 0, 0, 72,225,140, 5, + 0, 0, 0, 0,152, 68,137, 5, 0, 0, 0, 0, 8, 61,135, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 23, 4, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 15, 15, 24, 4, 88, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 40, 89,147, 5, 0, 0, 0, 0, 40, 89,147, 5, 0, 0, 0, 0, 72, 86,147, 5, 0, 0, 0, 0,184, 87,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72, 86,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,184, 87,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,140, 68, 0, 0, 0, 0, 0, 0,208, 65, 39,182,158, 55, + 0, 0,131, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,130, 68, + 0, 0,200, 65, 0,224,130, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, + 10, 0, 24, 4, 26, 0, 24, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 23, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 26, 0, + 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 24, 1, 0, 0,184, 83, 27, 7, 0, 0, 0, 0,184, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184, 87,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 72, 86,147, 5, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66,112,189, 17,192, +246, 70,125, 67, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 23, 4, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0, 18, 0, 0, 0, 61, 0, 0, 0, 0, 0,128, 63, + 0, 0, 72, 66, 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, + 8, 0, 24, 4, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 23, 4, 0, 0, 26, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65,208, 0, 0, 0, 40, 89,147, 5, 0, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 85, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0, 24, 85, 27, 7, 0, 0, 0, 0, -238, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0,120, 85, 27, 7, 0, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0, -120, 85, 27, 7, 0, 0, 0, 0,237, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,120,101, 30, 7, 0, 0, 0, 0, - 19, 0, 0, 0, 1, 0, 1, 0,120,101, 30, 7, 0, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0,120,101, 30, 7, 0, 0, 0, 0, - 21, 0, 1, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 40,128, 30, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 1, 0,152,137, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56,192, 30, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 1, 0,120,151, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,136,173, 30, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 1, 0,216,144, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,104,123, 30, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 1, 0,248,130, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 88,122, 30, 7, 0, 0, 0, 0, - 21, 0, 0, 0, 1, 0, 1, 0,120,101, 30, 7, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,168, 86, 27, 7, 0, 0, 0, 0, -215, 0, 0, 0, 1, 0, 0, 0, 56,100, 27, 7, 0, 0, 0, 0,232, 79, 27, 7, 0, 0, 0, 0, 72, 31, 27, 7, 0, 0, 0, 0, -184, 31, 27, 7, 0, 0, 0, 0, 24, 29, 27, 7, 0, 0, 0, 0,216, 30, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -193, 1, 0, 0, 23, 4, 0, 0, 89, 0, 0, 0,194, 2, 0, 0, 1, 1, 87, 2,106, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,136, 98, 27, 7, 0, 0, 0, 0,136, 98, 27, 7, 0, 0, 0, 0,152, 87, 27, 7, 0, 0, 0, 0, - 88, 93, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152, 87, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 8, 89, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, - 0, 0, 0, 0, 0,192, 21, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, - 0,128, 21, 68, 0, 0,200, 65, 0,128, 21, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, - 4, 0, 12, 0, 10, 0, 87, 2, 26, 0, 87, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -193, 1, 0, 0, 23, 4, 0, 0, 89, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 87, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8, 89, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, -120, 90, 27, 7, 0, 0, 0, 0,152, 87, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 15, 67,255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, - 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, - 18, 0, 0, 0, 6, 0,160, 0, 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -193, 1, 0, 0,193, 1, 0, 0,115, 0, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 80, 2, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120, 90, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, -232, 91, 27, 7, 0, 0, 0, 0, 8, 89, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194, 0, 0, 0, 0, - 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, - 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, - 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -193, 1, 0, 0,193, 1, 0, 0,115, 0, 0, 0,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232, 91, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 88, 93, 27, 7, 0, 0, 0, 0,120, 90, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0,128, 96,196, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 35, 67, 0,128, 96,196, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0,147, 3, 0, 0, - 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 0,147, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, - 18, 0, 0, 0, 6, 0,180, 0,148, 3,163, 0,130, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 23, 4, 0, 0, 23, 4, 0, 0,115, 0, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88, 93, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,232, 91, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 72, 90,147, 5, 0, 0, 0, 0,215, 0, 0, 0, + 1, 0, 0, 0,168, 96,147, 5, 0, 0, 0, 0, 88, 85,147, 5, 0, 0, 0, 0,184, 88,135, 5, 0, 0, 0, 0,104, 43,147, 5, + 0, 0, 0, 0,216, 43,147, 5, 0, 0, 0, 0,248,104,133, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0, +240, 4, 0, 0, 61, 1, 0, 0, 59, 2, 0, 0, 3, 3,216, 0,255, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 24, 94,147, 5, 0, 0, 0, 0, 24, 94,147, 5, 0, 0, 0, 0, 56, 91,147, 5, 0, 0, 0, 0,168, 92,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56, 91,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,168, 92,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, 98, 39, 38, 54, + 0, 0, 88, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 87, 67, + 0, 0,200, 65, 0, 0, 87, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, + 10, 0,216, 0, 26, 0,216, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0, +240, 4, 0, 0, 34, 2, 0, 0, 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 26, 0, + 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -193, 1, 0, 0, 23, 4, 0, 0,115, 0, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 87, 2, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168, 92,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 56, 91,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 71, 67, 0, 0, 83,195, 0, 0, 0, 0,199, 0, 0, 0,216, 0, 0, 0, 18, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 0, +198, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,198, 0, 0, 0, 18, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 2, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, + 6, 0,216, 0,229, 0,199, 0,211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0, +240, 4, 0, 0, 61, 1, 0, 0, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0,229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -200, 94, 27, 7, 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0,200, 94, 27, 7, 0, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0, - 0, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,167,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 13,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 74,215, 76,190, 0, 0, 0, 0, - 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0, -162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63, - 69,239,209, 62, 70,119,105, 63,176, 84, 89,188, 0, 0, 0, 0, 53,177,205,190,142, 74, 70, 62,166, 33,101, 63, 0, 0, 0, 0, -185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0,164, 96, 68, 65,111,121,173,192,248,209,213, 64, 0, 0,128, 63, -178,157,229, 62,209,162,227,190, 48,180, 81,191,184,158, 81,191,117, 90,127, 63, 13,114, 91, 62, 26, 63,185, 62, 35, 44,185, 62, -145,180,109,188,105,147,125, 63,138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 9,185,108, 65,214,211,111, 65, - 99,240,191, 62,110,116, 85, 63, 64,185, 70,188, 0, 0, 82,180, 48,221,185,190, 44, 45, 51, 62, 28, 11, 79, 63, 0, 0, 56,179, - 67,108,117,194,183,204,216, 65,105,156, 5,194,212,247,159,192,235, 62,114, 66, 59,254,213,193,158,225, 3, 66, 55, 8,160, 64, - 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0, -162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63, -178,157,229, 62,209,162,227,190, 48,180, 81,191,184,158, 81,191,117, 90,127, 63, 13,114, 91, 62, 26, 63,185, 62, 35, 44,185, 62, -145,180,109,188,105,147,125, 63,138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 9,185,108, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 24, 94,147, 5, 0, 0, 0, 0,184, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,114,137, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 12,163, 91, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,163, 91, 64, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 12,163, 91, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190,214,211,111, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0, -236, 15, 72, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,255,255, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 32, 33, 12, 66, 86,152,137, 66,113, 27,126, 66, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0,136, 98, 27, 7, 0, 0, 0, 0, -175, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65,205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 1, 0, 7, 0,248,130, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,168,114,137, 5, + 0, 0, 0, 0,238, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0,120, 95,147, 5, 0, 0, 0, 0, 68, 65, 84, 65, +224, 0, 0, 0,120, 95,147, 5, 0, 0, 0, 0,237, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,120,184,168, 5, + 0, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0,120,184,168, 5, + 0, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 72,210,168, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,184,219,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,184, 17,169, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,248,232,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 8,255,168, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 88,226,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,232,205,168, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 24,213,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,216,204,168, 5, + 0, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,168, 96,147, 5, + 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 56,110,147, 5, 0, 0, 0, 0, 72, 90,147, 5, 0, 0, 0, 0,248,164,137, 5, + 0, 0, 0, 0,216,144,139, 5, 0, 0, 0, 0, 40, 76,135, 5, 0, 0, 0, 0,152, 68,137, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,193, 1, 0, 0, 23, 4, 0, 0, 89, 0, 0, 0,194, 2, 0, 0, 1, 1, 87, 2,106, 2, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,108,147, 5, 0, 0, 0, 0,136,108,147, 5, 0, 0, 0, 0,152, 97,147, 5, + 0, 0, 0, 0, 88,103,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152, 97,147, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 8, 99,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, + 0, 0,208, 65, 0, 0, 0, 0, 0,192, 21, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 2, 0, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 0,128, 21, 68, 0, 0,200, 65, 0,128, 21, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 87, 2, 26, 0, 87, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,193, 1, 0, 0, 23, 4, 0, 0, 89, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 87, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 1, 0, 3, 0, 8, 8,128, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,250, 67, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8, 99,147, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0,120,100,147, 5, 0, 0, 0, 0,152, 97,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, + 43, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, + 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, + 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,193, 1, 0, 0,193, 1, 0, 0,115, 0, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 80, 2, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 56,100, 27, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, -232,108, 27, 7, 0, 0, 0, 0,168, 86, 27, 7, 0, 0, 0, 0,104, 30, 27, 7, 0, 0, 0, 0, 40, 32, 27, 7, 0, 0, 0, 0, -152, 32, 27, 7, 0, 0, 0, 0, 72, 31, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0, - 89, 0, 0, 0, 3, 1, 0, 0, 2, 2,192, 1,171, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -232,106, 27, 7, 0, 0, 0, 0,232,106, 27, 7, 0, 0, 0, 0, 40,101, 27, 7, 0, 0, 0, 0,120,105, 27, 7, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120,100,147, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0,232,101,147, 5, 0, 0, 0, 0, 8, 99,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194, + 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, +119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, +119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, + 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,193, 1, 0, 0,193, 1, 0, 0,115, 0, 0, 0,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0, 40,101, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,152,102, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 89, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,224, 67, - 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,223, 67, 0, 0,200, 65, - 0,128,223, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,192, 1, - 26, 0,192, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0, - 89, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 1, 26, 0, 0, 0, 1, 0, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232,101,147, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 88,103,147, 5, 0, 0, 0, 0,120,100,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0,128, 96,196, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0,128, 96,196, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0, +147, 3, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 0, +147, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, + 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,148, 3,163, 0,130, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 23, 4, 0, 0, 23, 4, 0, 0,115, 0, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,152,102, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 8,104, 27, 7, 0, 0, 0, 0, - 40,101, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,112,193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, - 0, 0,254,194, 0, 0, 0, 0,200, 0, 0, 0,217, 0, 0, 0, 18, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, - 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 10, 6, 0, 0, 2, 0, 3, 3, 0, 0, 0, 4, 6, 0,217, 0, -145, 0,200, 0,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 0, 0, -115, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0,145, 0, 0, 0, 2, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,103,147, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,101,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0, 8,104, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,120,105, 27, 7, 0, 0, 0, 0, -152,102, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0,191, 1, 0, 0, -115, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, - 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,193, 1, 0, 0, 23, 4, 0, 0,115, 0, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 87, 2, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,120,105, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 8,104, 27, 7, 0, 0, 0, 0, 0, 0, 16,193, 0, 0,130, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0, 0, 0,122, 67, - 0, 0, 16,193, 0, 0, 32, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,144, 0, 0, 0, 18, 0, 0, 0,230, 0, 0, 0, - 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,230, 0, 0, 0, 18, 0, 0, 0,144, 0, 0, 0,111, 18,131, 58,111, 18,131, 58, - 0,124,146, 72, 0, 80, 67, 71, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0,231, 0, -145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0, 0, 0,191, 1, 0, 0, -115, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,231, 0,145, 0, 0, 0, 0, 0, + 0, 0, 0, 0,200,104,147, 5, 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0,200,104,147, 5, 0, 0, 0, 0,174, 0, 0, 0, + 1, 0, 0, 0, 0, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,167,141, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 13,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 74,215, 76,190, + 0, 0, 0, 0, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, + 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214,211,111,193, + 0, 0,128, 63, 69,239,209, 62, 70,119,105, 63,176, 84, 89,188, 0, 0, 0, 0, 53,177,205,190,142, 74, 70, 62,166, 33,101, 63, + 0, 0, 0, 0,185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0,164, 96, 68, 65,111,121,173,192,248,209,213, 64, + 0, 0,128, 63,178,157,229, 62,209,162,227,190, 48,180, 81,191,184,158, 81,191,117, 90,127, 63, 13,114, 91, 62, 26, 63,185, 62, + 35, 44,185, 62,145,180,109,188,105,147,125, 63,138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 9,185,108, 65, +214,211,111, 65, 99,240,191, 62,110,116, 85, 63, 64,185, 70,188, 0, 0, 82,180, 48,221,185,190, 44, 45, 51, 62, 28, 11, 79, 63, + 0, 0, 56,179, 67,108,117,194,183,204,216, 65,105,156, 5,194,212,247,159,192,235, 62,114, 66, 59,254,213,193,158,225, 3, 66, + 55, 8,160, 64, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, + 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214,211,111,193, + 0, 0,128, 63,178,157,229, 62,209,162,227,190, 48,180, 81,191,184,158, 81,191,117, 90,127, 63, 13,114, 91, 62, 26, 63,185, 62, + 35, 44,185, 62,145,180,109,188,105,147,125, 63,138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 9,185,108, 65, +214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65,240, 0, 0, 0,232,106, 27, 7, 0, 0, 0, 0,179, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 12,163, 91, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,163, 91, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,163, 91, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190,214,211,111, 65,214,211,111, 65, 0, 0, 0, 0, + 0, 0, 0, 0,236, 15, 72, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,255,255, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 32, 33, 12, 66, 86,152,137, 66, +113, 27,126, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0,136,108,147, 5, + 0, 0, 0, 0,175, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65,205,204, 76, 62, 2, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, 24,213,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 40,108, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,112, 0, 0, 0, 40,108, 27, 7, 0, 0, 0, 0, 38, 1, 0, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8,128, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,250, 67, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, + 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 56,110,147, 5, 0, 0, 0, 0,215, 0, 0, 0, + 1, 0, 0, 0,232,118,147, 5, 0, 0, 0, 0,168, 96,147, 5, 0, 0, 0, 0, 72,225,140, 5, 0, 0, 0, 0,152,213,132, 5, + 0, 0, 0, 0,168,134,139, 5, 0, 0, 0, 0,248,164,137, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +191, 1, 0, 0, 89, 0, 0, 0, 3, 1, 0, 0, 2, 2,192, 1,171, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,232,116,147, 5, 0, 0, 0, 0,232,116,147, 5, 0, 0, 0, 0, 40,111,147, 5, 0, 0, 0, 0,120,115,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,111,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,152,112,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 89, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, + 0, 0,224, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,223, 67, + 0, 0,200, 65, 0,128,223, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, + 10, 0,192, 1, 26, 0,192, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +191, 1, 0, 0, 89, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 1, 26, 0, + 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,232,108, 27, 7, 0, 0, 0, 0, -215, 0, 0, 0, 1, 0, 0, 0,184,115, 27, 7, 0, 0, 0, 0, 56,100, 27, 7, 0, 0, 0, 0, 40, 32, 27, 7, 0, 0, 0, 0, -200, 27, 27, 7, 0, 0, 0, 0,184, 31, 27, 7, 0, 0, 0, 0,152, 32, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,191, 1, 0, 0, 5, 1, 0, 0,194, 2, 0, 0, 12, 12,192, 1,190, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 40,114, 27, 7, 0, 0, 0, 0, 40,114, 27, 7, 0, 0, 0, 0,216,109, 27, 7, 0, 0, 0, 0, -184,112, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216,109, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 72,111, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 94, 68, 0, 0, 0, 0, 0, 0,208, 65, - 0, 0, 0, 0, 0, 0,224, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, - 0,128,223, 67, 0, 0,200, 65, 0,128,223, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, - 4, 0, 12, 0, 10, 0,192, 1, 26, 0,192, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,191, 1, 0, 0, 5, 1, 0, 0, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -192, 1, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,112,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 8,114,147, 5, + 0, 0, 0, 0, 40,111,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,112,193, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 72, 67, 0, 0,254,194, 0, 0, 0, 0,200, 0, 0, 0,217, 0, 0, 0, 18, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, +199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 10, 6, 0, 0, 2, 0, 3, 3, 0, 0, 0, 4, + 6, 0,217, 0,145, 0,200, 0,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +216, 0, 0, 0,115, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0,145, 0, + 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,111, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, -184,112, 27, 7, 0, 0, 0, 0,216,109, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 67, 0, 0, 0,194, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,201,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0,163, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 8, 4, 0, 0, 2, 0, 3, 3, - 0, 0, 2, 4, 6, 0,200, 0,164, 1,200, 0,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,199, 0, 0, 0, 31, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -200, 0,164, 1, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8,114,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,120,115,147, 5, + 0, 0, 0, 0,152,112,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,112, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 72,111, 27, 7, 0, 0, 0, 0, 0, 0, 32,193, 0, 0,104, 68, 0, 0, 72,194, 0, 0, 0, 0, - 0, 0, 32,193, 0, 0,104, 68, 0, 0,201,195, 0, 0, 0, 0,231, 0, 0, 0,248, 0, 0, 0, 18, 0, 0, 0,163, 1, 0, 0, - 0, 0, 0, 0,230, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,230, 0, 0, 0, 18, 0, 0, 0,163, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0,124,146, 72, 0, 64, 28, 70, 10,215, 35, 60, 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2, - 0, 0, 2, 4, 4, 0,248, 0,164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -200, 0, 0, 0,191, 1, 0, 0, 31, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -248, 0,164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0, 40,114, 27, 7, 0, 0, 0, 0, 39, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0, +191, 1, 0, 0,115, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120,115,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 8,114,147, 5, 0, 0, 0, 0, 0, 0, 16,193, 0, 0,130, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0, + 0, 0,122, 67, 0, 0, 16,193, 0, 0, 32, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,144, 0, 0, 0, 18, 0, 0, 0, +230, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,230, 0, 0, 0, 18, 0, 0, 0,144, 0, 0, 0,111, 18,131, 58, +111, 18,131, 58, 0,124,146, 72, 0, 80, 67, 71, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, + 0, 0,231, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0, 0, 0, +191, 1, 0, 0,115, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,231, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,232,116,147, 5, 0, 0, 0, 0,179, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 2, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184,115, 27, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,232,108, 27, 7, 0, 0, 0, 0, 8, 33, 27, 7, 0, 0, 0, 0, 24, 29, 27, 7, 0, 0, 0, 0, - 56, 28, 27, 7, 0, 0, 0, 0,120, 33, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, - 61, 2, 0, 0,194, 2, 0, 0, 1, 1,216, 0,134, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 72,123, 27, 7, 0, 0, 0, 0, 72,123, 27, 7, 0, 0, 0, 0,168,116, 27, 7, 0, 0, 0, 0, 24,118, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,168,116, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 24,118, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,165, 67, - 0, 0, 0, 64, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0,128,164, 67, 0, 0,200, 65, - 0,128,164, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 74, 1, - 24, 0, 74, 1, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, - 61, 2, 0, 0, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, - 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0, 24,118, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -168,116, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 40,118,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, + 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,112, 0, 0, 0, 40,118,147, 5, 0, 0, 0, 0, 38, 1, 0, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,232,118,147, 5, + 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,184,125,147, 5, 0, 0, 0, 0, 56,110,147, 5, 0, 0, 0, 0,152,213,132, 5, + 0, 0, 0, 0,168,152,137, 5, 0, 0, 0, 0,216,144,139, 5, 0, 0, 0, 0,168,134,139, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0, 5, 1, 0, 0,194, 2, 0, 0, 12, 12,192, 1,190, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,124,147, 5, 0, 0, 0, 0, 40,124,147, 5, 0, 0, 0, 0,216,119,147, 5, + 0, 0, 0, 0,184,122,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216,119,147, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 72,121,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 94, 68, 0, 0, 0, 0, + 0, 0,208, 65, 0, 0, 0, 0, 0, 0,224, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 0,128,223, 67, 0, 0,200, 65, 0,128,223, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,192, 1, 26, 0,192, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0, 5, 1, 0, 0, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,192, 1, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, - 61, 2, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0,134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,121,147, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0,184,122,147, 5, 0, 0, 0, 0,216,119,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 67, 0, 0, 0,194, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,201,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0, +163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 8, 4, 0, 0, + 2, 0, 3, 3, 0, 0, 2, 4, 6, 0,200, 0,164, 1,200, 0,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 31, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,200, 0,164, 1, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,119, 27, 7, 0, 0, 0, 0, - 68, 65, 84, 65,112, 3, 0, 0,136,119, 27, 7, 0, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0, 56,255, 13, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,228,100, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -154, 65,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 72, 1, 77,190, 0, 0, 0, 0,221,149, 47, 63, 86,126,162,190, - 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,192, 56, 49,188, 55, 53,101, 63, - 52,247,227, 62, 0, 0, 0, 0, 90, 38,173,190, 0,222,192,190,152, 9, 52,193, 0, 0,128, 63,223,149, 47, 63, 55, 70, 58, 63, -160, 56, 49,188, 0, 0, 0, 0, 88,126,162,190,229,251,159, 62, 55, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63,150, 84, 28,191, - 51,247,227, 62, 0, 0, 0, 0,110,101,239, 64,151, 62,208,192, 78,255,170, 64, 0, 0,128, 63, 47,201,194, 63, 61, 73,145,191, -244,250, 39,191, 8,165, 39,191,190,164,206, 63,209, 10,143, 63,180,164, 28, 63,149, 84, 28, 63,224,153,196,188,136,239, 76, 64, - 10,108,228,190, 52,247,227,190,125, 21, 64,191,126,113,172,191,216, 49, 49, 65,152, 9, 52, 65,149, 70,158, 62, 24,234,167, 62, -192,214,159,187, 0, 0, 6,181,196,188,181,189, 71,238,178, 61,127, 45,128, 62, 0, 0,226, 51,168,120, 21,194,107, 5, 2, 66, -203,135,213,193,147,214,159,192,177, 38, 19, 66,124,173,255,193, 96,101,210, 65,128, 40,160, 64,221,149, 47, 63, 86,126,162,190, - 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,192, 56, 49,188, 55, 53,101, 63, - 52,247,227, 62, 0, 0, 0, 0, 90, 38,173,190, 0,222,192,190,152, 9, 52,193, 0, 0,128, 63, 47,201,194, 63, 61, 73,145,191, -244,250, 39,191, 8,165, 39,191,190,164,206, 63,209, 10,143, 63,180,164, 28, 63,149, 84, 28, 63,224,153,196,188,136,239, 76, 64, - 10,108,228,190, 52,247,227,190,125, 21, 64,191,126,113,172,191,216, 49, 49, 65,152, 9, 52, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,122,147, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,121,147, 5, 0, 0, 0, 0, 0, 0, 32,193, 0, 0,104, 68, 0, 0, 72,194, + 0, 0, 0, 0, 0, 0, 32,193, 0, 0,104, 68, 0, 0,201,195, 0, 0, 0, 0,231, 0, 0, 0,248, 0, 0, 0, 18, 0, 0, 0, +163, 1, 0, 0, 0, 0, 0, 0,230, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,230, 0, 0, 0, 18, 0, 0, 0, +163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,146, 72, 0, 64, 28, 70, 10,215, 35, 60, 0, 0, 72, 66, 74, 0, 0, 0, + 0, 0, 0, 2, 0, 0, 2, 4, 4, 0,248, 0,164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,200, 0, 0, 0,191, 1, 0, 0, 31, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,248, 0,164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0, 40,124,147, 5, 0, 0, 0, 0, 39, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102,103, 97, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102,103, 97, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -102,103, 97, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,241, 22, 72, 63, 78,162,246,190, - 43, 8, 90,190, 2, 35,171,190, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,191,136, 59, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 65, 1, 2, 0, 0,255,255, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 7, 0, 0, 0,128, 63,190,133, 65, 66, 99,212, 90, 66, 27,183,118, 66, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0, 72,123, 27, 7, 0, 0, 0, 0,175, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65,205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, -248,130, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184,125,147, 5, 0, 0, 0, 0,215, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,118,147, 5, 0, 0, 0, 0,104, 43,147, 5, 0, 0, 0, 0, 40, 76,135, 5, + 0, 0, 0, 0, 88, 56,135, 5, 0, 0, 0, 0,216, 43,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0, +240, 4, 0, 0, 61, 2, 0, 0,194, 2, 0, 0, 1, 1,216, 0,134, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 72,133,147, 5, 0, 0, 0, 0, 72,133,147, 5, 0, 0, 0, 0,168,126,147, 5, 0, 0, 0, 0, 24,128,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 3, 0, - 8, 0,128, 0, 0, 0, 12, 66, 0, 0,128, 63, 10,215, 35, 60, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,126,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 24,128,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, + 0, 0,165, 67, 0, 0, 0, 64, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0,128,164, 67, + 0, 0,200, 65, 0,128,164, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, + 10, 0, 74, 1, 24, 0, 74, 1, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0, +240, 4, 0, 0, 61, 2, 0, 0, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 83, 78, 0, 0, 8, 1, 0, 0,136,125, 27, 7, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0, 8,234, 27, 7, 0, 0, 0, 0, -152, 25, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 67,111,109,112,111,115, -105,116,105,110,103, 0,103, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,126, 27, 7, 0, 0, 0, 0,136,132, 27, 7, 0, 0, 0, 0, -248,132, 27, 7, 0, 0, 0, 0, 40,142, 27, 7, 0, 0, 0, 0,152,142, 27, 7, 0, 0, 0, 0,200,194, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,128,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,168,126,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0,216,126, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 72,127, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, - 72,127, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,184,127, 27, 7, 0, 0, 0, 0,216,126, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,184,127, 27, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0, 40,128, 27, 7, 0, 0, 0, 0, 72,127, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 40,128, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, -152,128, 27, 7, 0, 0, 0, 0,184,127, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0,152,128, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 8,129, 27, 7, 0, 0, 0, 0, - 40,128, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, - 8,129, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,120,129, 27, 7, 0, 0, 0, 0,152,128, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,126, 7,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120,129, 27, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0,232,129, 27, 7, 0, 0, 0, 0, 8,129, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 32, 6, 92, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232,129, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, - 88,130, 27, 7, 0, 0, 0, 0,120,129, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 92, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0, 88,130, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,200,130, 27, 7, 0, 0, 0, 0, -232,129, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, -200,130, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56,131, 27, 7, 0, 0, 0, 0, 88,130, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56,131, 27, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0,168,131, 27, 7, 0, 0, 0, 0,200,130, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 32, 6,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,131, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, - 24,132, 27, 7, 0, 0, 0, 0, 56,131, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3,140, 1, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0, 24,132, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,136,132, 27, 7, 0, 0, 0, 0, -168,131, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, -136,132, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,132, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,132, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,104,133, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,127, 27, 7, 0, 0, 0, 0, -184,127, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,133, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,216,133, 27, 7, 0, 0, 0, 0,248,132, 27, 7, 0, 0, 0, 0, 72,127, 27, 7, 0, 0, 0, 0, -152,128, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,133, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 72,134, 27, 7, 0, 0, 0, 0,104,133, 27, 7, 0, 0, 0, 0,184,127, 27, 7, 0, 0, 0, 0, - 8,129, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,134, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,184,134, 27, 7, 0, 0, 0, 0,216,133, 27, 7, 0, 0, 0, 0,152,128, 27, 7, 0, 0, 0, 0, - 8,129, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,134, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 40,135, 27, 7, 0, 0, 0, 0, 72,134, 27, 7, 0, 0, 0, 0, 40,128, 27, 7, 0, 0, 0, 0, -232,129, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,135, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,152,135, 27, 7, 0, 0, 0, 0,184,134, 27, 7, 0, 0, 0, 0,120,129, 27, 7, 0, 0, 0, 0, -232,129, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,135, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 8,136, 27, 7, 0, 0, 0, 0, 40,135, 27, 7, 0, 0, 0, 0, 8,129, 27, 7, 0, 0, 0, 0, - 88,130, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,136, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,120,136, 27, 7, 0, 0, 0, 0,152,135, 27, 7, 0, 0, 0, 0,152,128, 27, 7, 0, 0, 0, 0, - 88,130, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,136, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,232,136, 27, 7, 0, 0, 0, 0, 8,136, 27, 7, 0, 0, 0, 0,120,129, 27, 7, 0, 0, 0, 0, - 88,130, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,136, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 88,137, 27, 7, 0, 0, 0, 0,120,136, 27, 7, 0, 0, 0, 0, 8,129, 27, 7, 0, 0, 0, 0, -232,129, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,137, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,200,137, 27, 7, 0, 0, 0, 0,232,136, 27, 7, 0, 0, 0, 0,152,128, 27, 7, 0, 0, 0, 0, -200,130, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,137, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 56,138, 27, 7, 0, 0, 0, 0, 88,137, 27, 7, 0, 0, 0, 0, 88,130, 27, 7, 0, 0, 0, 0, - 56,131, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,138, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,168,138, 27, 7, 0, 0, 0, 0,200,137, 27, 7, 0, 0, 0, 0,200,130, 27, 7, 0, 0, 0, 0, - 56,131, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,138, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 24,139, 27, 7, 0, 0, 0, 0, 56,138, 27, 7, 0, 0, 0, 0,200,130, 27, 7, 0, 0, 0, 0, -168,131, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,139, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,136,139, 27, 7, 0, 0, 0, 0,168,138, 27, 7, 0, 0, 0, 0, 56,131, 27, 7, 0, 0, 0, 0, -168,131, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,139, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,248,139, 27, 7, 0, 0, 0, 0, 24,139, 27, 7, 0, 0, 0, 0,216,126, 27, 7, 0, 0, 0, 0, - 24,132, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,139, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,104,140, 27, 7, 0, 0, 0, 0,136,139, 27, 7, 0, 0, 0, 0, 24,132, 27, 7, 0, 0, 0, 0, -136,132, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,140, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,216,140, 27, 7, 0, 0, 0, 0,248,139, 27, 7, 0, 0, 0, 0, 40,128, 27, 7, 0, 0, 0, 0, -136,132, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,140, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 72,141, 27, 7, 0, 0, 0, 0,104,140, 27, 7, 0, 0, 0, 0,120,129, 27, 7, 0, 0, 0, 0, -136,132, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,141, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,184,141, 27, 7, 0, 0, 0, 0,216,140, 27, 7, 0, 0, 0, 0,168,131, 27, 7, 0, 0, 0, 0, - 24,132, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,141, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 40,142, 27, 7, 0, 0, 0, 0, 72,141, 27, 7, 0, 0, 0, 0, 56,131, 27, 7, 0, 0, 0, 0, -136,132, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,142, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,141, 27, 7, 0, 0, 0, 0,216,126, 27, 7, 0, 0, 0, 0, -200,130, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,152,142, 27, 7, 0, 0, 0, 0, -215, 0, 0, 0, 1, 0, 0, 0,104,146, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,128, 27, 7, 0, 0, 0, 0, - 72,127, 27, 7, 0, 0, 0, 0,184,127, 27, 7, 0, 0, 0, 0, 8,129, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,120,233, 27, 7, 0, 0, 0, 0,120,233, 27, 7, 0, 0, 0, 0,136,143, 27, 7, 0, 0, 0, 0, -248,144, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,143, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, -248,144, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, - 0, 0, 0, 0, 0,224,239, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, - 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, - 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -127, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248,144, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,136,143, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, - 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, - 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,104,146, 27, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, - 88,151, 27, 7, 0, 0, 0, 0,152,142, 27, 7, 0, 0, 0, 0,136,132, 27, 7, 0, 0, 0, 0,120,129, 27, 7, 0, 0, 0, 0, -232,129, 27, 7, 0, 0, 0, 0, 40,128, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0, - 0, 0, 0, 0, 91, 0, 0, 0, 15, 15, 94, 1, 92, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56,150, 27, 7, 0, 0, 0, 0, 56,150, 27, 7, 0, 0, 0, 0, 88,147, 27, 7, 0, 0, 0, 0,200,148, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0, 88,147, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,200,148, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,115, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,175, 67, - 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,174, 67, 0, 0,200, 65, - 0,128,174, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 94, 1, - 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0, - 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 26, 0, 0, 0, 1, 0, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,200,148, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 88,147, 27, 7, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66, 50, 51, 74,193,154,209,131, 67, - 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, - 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 18, 0, 0, 0, 65, 0, 0, 0, 0, 0,128, 63, 0, 0, 72, 66, - 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 8, 0, 94, 1, - 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0, - 26, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 66, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0, +240, 4, 0, 0, 61, 2, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0,134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,129,147, 5, + 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0,136,129,147, 5, 0, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0, 56,255, 13, 64, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,228,100, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,154, 65,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 72, 1, 77,190, 0, 0, 0, 0,221,149, 47, 63, + 86,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,192, 56, 49,188, + 55, 53,101, 63, 52,247,227, 62, 0, 0, 0, 0, 90, 38,173,190, 0,222,192,190,152, 9, 52,193, 0, 0,128, 63,223,149, 47, 63, + 55, 70, 58, 63,160, 56, 49,188, 0, 0, 0, 0, 88,126,162,190,229,251,159, 62, 55, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63, +150, 84, 28,191, 51,247,227, 62, 0, 0, 0, 0,110,101,239, 64,151, 62,208,192, 78,255,170, 64, 0, 0,128, 63, 47,201,194, 63, + 61, 73,145,191,244,250, 39,191, 8,165, 39,191,190,164,206, 63,209, 10,143, 63,180,164, 28, 63,149, 84, 28, 63,224,153,196,188, +136,239, 76, 64, 10,108,228,190, 52,247,227,190,125, 21, 64,191,126,113,172,191,216, 49, 49, 65,152, 9, 52, 65,149, 70,158, 62, + 24,234,167, 62,192,214,159,187, 0, 0, 6,181,196,188,181,189, 71,238,178, 61,127, 45,128, 62, 0, 0,226, 51,168,120, 21,194, +107, 5, 2, 66,203,135,213,193,147,214,159,192,177, 38, 19, 66,124,173,255,193, 96,101,210, 65,128, 40,160, 64,221,149, 47, 63, + 86,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,192, 56, 49,188, + 55, 53,101, 63, 52,247,227, 62, 0, 0, 0, 0, 90, 38,173,190, 0,222,192,190,152, 9, 52,193, 0, 0,128, 63, 47,201,194, 63, + 61, 73,145,191,244,250, 39,191, 8,165, 39,191,190,164,206, 63,209, 10,143, 63,180,164, 28, 63,149, 84, 28, 63,224,153,196,188, +136,239, 76, 64, 10,108,228,190, 52,247,227,190,125, 21, 64,191,126,113,172,191,216, 49, 49, 65,152, 9, 52, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65,208, 0, 0, 0, 56,150, 27, 7, 0, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 31, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88,151, 27, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, -232,175, 27, 7, 0, 0, 0, 0,104,146, 27, 7, 0, 0, 0, 0,120,129, 27, 7, 0, 0, 0, 0, 88,130, 27, 7, 0, 0, 0, 0, - 8,129, 27, 7, 0, 0, 0, 0,232,129, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0, - 93, 0, 0, 0,233, 3, 0, 0, 4, 4, 94, 1,141, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -168,174, 27, 7, 0, 0, 0, 0,168,174, 27, 7, 0, 0, 0, 0, 72,152, 27, 7, 0, 0, 0, 0,184,153, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0, 72,152, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,184,153, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,175, 67, - 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,174, 67, 0, 0,200, 65, - 0,128,174, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 94, 1, - 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0, -208, 3, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 26, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102,103, 97, 64, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102,103, 97, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,102,103, 97, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,241, 22, 72, 63, + 78,162,246,190, 43, 8, 90,190, 2, 35,171,190, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,191,136, 59, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 65, 1, 2, 0, 0,255,255, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, 0, 0, 0,128, 63,190,133, 65, 66, 99,212, 90, 66, 27,183,118, 66, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0, 72,133,147, 5, 0, 0, 0, 0,175, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65,205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 7, 0, 24,213,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,184,153, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 72,152, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,174, 67, 0,128, 92,196, 0, 0, 0, 0, 0, 0, 0, 0,255,127,166, 67, -255,191, 92,196, 0, 0, 0, 0, 77, 1, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0,114, 3, 0, 0, 0, 0, 0, 0, 82, 1, 0, 0, - 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0,114, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0, 94, 1, -115, 3, 77, 1,115, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0, - 93, 0, 0, 0,207, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1,115, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, + 1, 0, 3, 0, 8, 0,128, 0, 0, 0, 12, 66, 0, 0,128, 63, 10,215, 35, 60, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,155, 27, 7, 0, 0, 0, 0, 8,173, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0, 40,155, 27, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,200,156, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, - 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, - 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255, 76, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 83, 78, 0, 0, 8, 1, 0, 0,248,134,147, 5, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0,104, 63,166, 5, + 0, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 67,111, +109,112,111,115,105,116,105,110,103, 0,103, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,136,147, 5, 0, 0, 0, 0,248,141,147, 5, + 0, 0, 0, 0,104,142,147, 5, 0, 0, 0, 0,152,151,147, 5, 0, 0, 0, 0, 8,152,147, 5, 0, 0, 0, 0, 56,204,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,200,156, 27, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0,104,158, 27, 7, 0, 0, 0, 0, 40,155, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72,136,147, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,184,136,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0,184,136,147, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 40,137,147, 5, 0, 0, 0, 0, 72,136,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 40,137,147, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,152,137,147, 5, 0, 0, 0, 0,184,136,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152,137,147, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0, 8,138,147, 5, 0, 0, 0, 0, 40,137,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8,138,147, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,120,138,147, 5, + 0, 0, 0, 0,152,137,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0,120,138,147, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,232,138,147, 5, 0, 0, 0, 0, 8,138,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232,138,147, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 88,139,147, 5, 0, 0, 0, 0,120,138,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 32, 6, 92, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88,139,147, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0,200,139,147, 5, 0, 0, 0, 0,232,138,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 92, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200,139,147, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56,140,147, 5, + 0, 0, 0, 0, 88,139,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0, 56,140,147, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,168,140,147, 5, 0, 0, 0, 0,200,139,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,140,147, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 24,141,147, 5, 0, 0, 0, 0, 56,140,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 32, 6,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24,141,147, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0,136,141,147, 5, 0, 0, 0, 0,168,140,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3,140, 1, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136,141,147, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248,141,147, 5, + 0, 0, 0, 0, 24,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0,248,141,147, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,141,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,142,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,216,142,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,136,147, 5, + 0, 0, 0, 0, 40,137,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,142,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72,143,147, 5, 0, 0, 0, 0,104,142,147, 5, 0, 0, 0, 0,184,136,147, 5, + 0, 0, 0, 0, 8,138,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,143,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184,143,147, 5, 0, 0, 0, 0,216,142,147, 5, 0, 0, 0, 0, 40,137,147, 5, + 0, 0, 0, 0,120,138,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,143,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40,144,147, 5, 0, 0, 0, 0, 72,143,147, 5, 0, 0, 0, 0, 8,138,147, 5, + 0, 0, 0, 0,120,138,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,144,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152,144,147, 5, 0, 0, 0, 0,184,143,147, 5, 0, 0, 0, 0,152,137,147, 5, + 0, 0, 0, 0, 88,139,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,144,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8,145,147, 5, 0, 0, 0, 0, 40,144,147, 5, 0, 0, 0, 0,232,138,147, 5, + 0, 0, 0, 0, 88,139,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,145,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120,145,147, 5, 0, 0, 0, 0,152,144,147, 5, 0, 0, 0, 0,120,138,147, 5, + 0, 0, 0, 0,200,139,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,145,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232,145,147, 5, 0, 0, 0, 0, 8,145,147, 5, 0, 0, 0, 0, 8,138,147, 5, + 0, 0, 0, 0,200,139,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,145,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88,146,147, 5, 0, 0, 0, 0,120,145,147, 5, 0, 0, 0, 0,232,138,147, 5, + 0, 0, 0, 0,200,139,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,146,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200,146,147, 5, 0, 0, 0, 0,232,145,147, 5, 0, 0, 0, 0,120,138,147, 5, + 0, 0, 0, 0, 88,139,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,146,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56,147,147, 5, 0, 0, 0, 0, 88,146,147, 5, 0, 0, 0, 0, 8,138,147, 5, + 0, 0, 0, 0, 56,140,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,147,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,168,147,147, 5, 0, 0, 0, 0,200,146,147, 5, 0, 0, 0, 0,200,139,147, 5, + 0, 0, 0, 0,168,140,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,147,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24,148,147, 5, 0, 0, 0, 0, 56,147,147, 5, 0, 0, 0, 0, 56,140,147, 5, + 0, 0, 0, 0,168,140,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,148,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136,148,147, 5, 0, 0, 0, 0,168,147,147, 5, 0, 0, 0, 0, 56,140,147, 5, + 0, 0, 0, 0, 24,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,148,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,248,148,147, 5, 0, 0, 0, 0, 24,148,147, 5, 0, 0, 0, 0,168,140,147, 5, + 0, 0, 0, 0, 24,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,148,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,104,149,147, 5, 0, 0, 0, 0,136,148,147, 5, 0, 0, 0, 0, 72,136,147, 5, + 0, 0, 0, 0,136,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,149,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,216,149,147, 5, 0, 0, 0, 0,248,148,147, 5, 0, 0, 0, 0,136,141,147, 5, + 0, 0, 0, 0,248,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,149,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72,150,147, 5, 0, 0, 0, 0,104,149,147, 5, 0, 0, 0, 0,152,137,147, 5, + 0, 0, 0, 0,248,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,150,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184,150,147, 5, 0, 0, 0, 0,216,149,147, 5, 0, 0, 0, 0,232,138,147, 5, + 0, 0, 0, 0,248,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,150,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40,151,147, 5, 0, 0, 0, 0, 72,150,147, 5, 0, 0, 0, 0, 24,141,147, 5, + 0, 0, 0, 0,136,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,151,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152,151,147, 5, 0, 0, 0, 0,184,150,147, 5, 0, 0, 0, 0,168,140,147, 5, + 0, 0, 0, 0,248,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,151,147, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,151,147, 5, 0, 0, 0, 0, 72,136,147, 5, + 0, 0, 0, 0, 56,140,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 8,152,147, 5, + 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,216,155,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,138,147, 5, + 0, 0, 0, 0,184,136,147, 5, 0, 0, 0, 0, 40,137,147, 5, 0, 0, 0, 0,120,138,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7, 27, 0, 1, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,243,146, 5, 0, 0, 0, 0,184,243,146, 5, 0, 0, 0, 0,248,152,147, 5, + 0, 0, 0, 0,104,154,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248,152,147, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0,104,154,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0, + 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,127, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104,154,147, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,152,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, + 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 18, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, + 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,216,155,147, 5, 0, 0, 0, 0,215, 0, 0, 0, + 1, 0, 0, 0,200,160,147, 5, 0, 0, 0, 0, 8,152,147, 5, 0, 0, 0, 0,248,141,147, 5, 0, 0, 0, 0,232,138,147, 5, + 0, 0, 0, 0, 88,139,147, 5, 0, 0, 0, 0,152,137,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0, +126, 7, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 15, 15, 94, 1, 92, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0,168,159,147, 5, 0, 0, 0, 0,168,159,147, 5, 0, 0, 0, 0,200,156,147, 5, 0, 0, 0, 0, 56,158,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 76, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,156,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 56,158,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,115, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, + 0, 0,175, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,174, 67, + 0, 0,200, 65, 0,128,174, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, + 10, 0, 94, 1, 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0, +126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 26, 0, + 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,158,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,200,156,147, 5, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66, 50, 51, 74,193, +154,209,131, 67, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 93, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 18, 0, 0, 0, 65, 0, 0, 0, 0, 0,128, 63, + 0, 0, 72, 66, 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, + 8, 0, 94, 1, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0, +126, 7, 0, 0, 26, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,104,158, 27, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 8,160, 27, 7, 0, 0, 0, 0, -200,156, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255, 76, 1, 0, 0, - 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65,208, 0, 0, 0,168,159,147, 5, 0, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8,160, 27, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0,168,161, 27, 7, 0, 0, 0, 0,104,158, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254, 76, 1,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,200,160,147, 5, 0, 0, 0, 0,215, 0, 0, 0, + 1, 0, 0, 0, 88,185,147, 5, 0, 0, 0, 0,216,155,147, 5, 0, 0, 0, 0,232,138,147, 5, 0, 0, 0, 0,200,139,147, 5, + 0, 0, 0, 0,120,138,147, 5, 0, 0, 0, 0, 88,139,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0, +126, 7, 0, 0, 93, 0, 0, 0,233, 3, 0, 0, 4, 4, 94, 1,141, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 24,184,147, 5, 0, 0, 0, 0, 24,184,147, 5, 0, 0, 0, 0,184,161,147, 5, 0, 0, 0, 0, 40,163,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,161,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 40,163,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, + 0, 0,175, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,174, 67, + 0, 0,200, 65, 0,128,174, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, + 10, 0, 94, 1, 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0, +126, 7, 0, 0,208, 3, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 26, 0, + 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,168,161, 27, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 72,163, 27, 7, 0, 0, 0, 0, - 8,160, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, - 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254, 76, 1, 58, 0, - 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,163,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,184,161,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,174, 67, 0,128, 92,196, 0, 0, 0, 0, 0, 0, 0, 0, +255,127,166, 67,255,191, 92,196, 0, 0, 0, 0, 77, 1, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0,114, 3, 0, 0, 0, 0, 0, 0, + 82, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0,114, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, + 6, 0, 94, 1,115, 3, 77, 1,115, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0, +126, 7, 0, 0, 93, 0, 0, 0,207, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1,115, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72,163, 27, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0,232,164, 27, 7, 0, 0, 0, 0,168,161, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,164,147, 5, 0, 0, 0, 0,120,182,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152,164,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56,166,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, + 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, + 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116, +101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255, + 76, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254, 76, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56,166,147, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216,167,147, 5, 0, 0, 0, 0,152,164,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,232,164, 27, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,136,166, 27, 7, 0, 0, 0, 0, - 72,163, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 76, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,254, 76, 1, 0, 0, - 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,167,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120,169,147, 5, + 0, 0, 0, 0, 56,166,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101, +114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255, + 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136,166, 27, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0, 40,168, 27, 7, 0, 0, 0, 0,232,164, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120,169,147, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24,171,147, 5, 0, 0, 0, 0,216,167,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,253, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254, 76, 1,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0, 40,168, 27, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,200,169, 27, 7, 0, 0, 0, 0, -136,166, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, - 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,253, 76, 1, 0, 0, - 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24,171,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184,172,147, 5, + 0, 0, 0, 0,120,169,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, + 45, 65,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254, + 76, 1, 58, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,200,169, 27, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0,104,171, 27, 7, 0, 0, 0, 0, 40,168, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184,172,147, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 88,174,147, 5, 0, 0, 0, 0, 24,171,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117, +114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117, +114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254, 76, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,253, 76, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88,174,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248,175,147, 5, + 0, 0, 0, 0,184,172,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100, +105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,254, + 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248,175,147, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152,177,147, 5, 0, 0, 0, 0, 88,174,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99, +101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99, +101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,104,171, 27, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 8,173, 27, 7, 0, 0, 0, 0, -200,169, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,253, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,253, 76, 1,130, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152,177,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56,179,147, 5, + 0, 0, 0, 0,248,175,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, + 32, 80,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,253, + 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8,173, 27, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,171, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56,179,147, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216,180,147, 5, 0, 0, 0, 0,152,177,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,253, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,253, 76, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65,248, 0, 0, 0,168,174, 27, 7, 0, 0, 0, 0,180, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,180,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120,182,147, 5, + 0, 0, 0, 0, 56,179,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112, +117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,253, + 76, 1,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120,182,147, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,180,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,232,175, 27, 7, 0, 0, 0, 0, -215, 0, 0, 0, 1, 0, 0, 0,120,189, 27, 7, 0, 0, 0, 0, 88,151, 27, 7, 0, 0, 0, 0, 24,132, 27, 7, 0, 0, 0, 0, -168,131, 27, 7, 0, 0, 0, 0, 56,131, 27, 7, 0, 0, 0, 0,136,132, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 3, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 1, 1, 27, 3,140, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,200,187, 27, 7, 0, 0, 0, 0,200,187, 27, 7, 0, 0, 0, 0,216,176, 27, 7, 0, 0, 0, 0, -152,182, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216,176, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 72,178, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, - 0, 0, 0, 0, 0,192, 70, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, - 0,128, 70, 68, 0, 0,200, 65, 0,128, 70, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, - 4, 0, 12, 0, 10, 0, 27, 3, 26, 0, 27, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 3, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 27, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,253, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,178, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, -184,179, 27, 7, 0, 0, 0, 0,216,176, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 15, 67,255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, - 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, - 18, 0, 0, 0, 6, 0,160, 0, 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 3, 0, 0, 5, 3, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0,114, 1, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 24,184,147, 5, 0, 0, 0, 0,180, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,179, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 40,181, 27, 7, 0, 0, 0, 0, 72,178, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194, 0, 0, 0, 0, - 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, - 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, - 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 3, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,181, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, -152,182, 27, 7, 0, 0, 0, 0,184,179, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0,192,108,196, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 35, 67, 0, 0,184,195, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0,129, 1, 0, 0, - 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 0,129, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, - 18, 0, 0, 0, 6, 0,180, 0,130, 1,163, 0,112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 31, 6, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 21, 0, 0, +160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88,185,147, 5, + 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,232,198,147, 5, 0, 0, 0, 0,200,160,147, 5, 0, 0, 0, 0,136,141,147, 5, + 0, 0, 0, 0, 24,141,147, 5, 0, 0, 0, 0,168,140,147, 5, 0, 0, 0, 0,248,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 3, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 1, 1, 27, 3,140, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,197,147, 5, 0, 0, 0, 0, 56,197,147, 5, 0, 0, 0, 0, 72,186,147, 5, + 0, 0, 0, 0, 8,192,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,186,147, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0,184,187,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, + 0, 0,208, 65, 0, 0, 0, 0, 0,192, 70, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 3, 0, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 0,128, 70, 68, 0, 0,200, 65, 0,128, 70, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 27, 3, 26, 0, 27, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 3, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 27, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,182, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 40,181, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,187,147, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 40,189,147, 5, 0, 0, 0, 0, 72,186,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, + 43, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, + 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, + 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 3, 0, 0, 5, 3, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0,114, 1, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,189,147, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0,152,190,147, 5, 0, 0, 0, 0,184,187,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194, + 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, +119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, +119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, + 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 3, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 3, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 27, 3,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,190,147, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 8,192,147, 5, 0, 0, 0, 0, 40,189,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0,192,108,196, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 0,184,195, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0, +129, 1, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 0, +129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, + 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,130, 1,163, 0,112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 31, 6, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 8,184, 27, 7, 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0, 8,184, 27, 7, 0, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0, - 93,101,230, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,133,119, 64, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,154, 65,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 72, 1, 77,190, 0, 0, 0, 0, -221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0, -191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0, 90, 38,173,190,254,221,192,190,152, 9, 52,193, 0, 0,128, 63, -223,149, 47, 63, 55, 70, 58, 63,192, 56, 49,188, 0, 0, 0, 0, 87,126,162,190,228,251,159, 62, 56, 53,101, 63, 0, 0, 0, 0, - 7,165, 39, 63,150, 84, 28,191, 50,247,227, 62, 0, 0, 0, 0,110,101,239, 64,151, 62,208,192, 77,255,170, 64, 0, 0,128, 63, - 42, 6,158, 63, 99, 28,157,191,244,250, 39,191, 8,165, 39,191,211,164,167, 63, 55,175,154, 63,180,164, 28, 63,149, 84, 28, 63, - 39,127,159,188,135,157, 93, 64, 8,108,228,190, 50,247,227,190, 4,213, 27,191,122,122,186,191,216, 49, 49, 65,152, 9, 52, 65, - 25, 25,195, 62,176,249,206, 62,128,238,196,187, 0, 0,192,179, 55, 15,168,189,201,118,165, 61,152, 15,109, 62, 0, 0,152, 51, -211,120, 21,194,144, 5, 2, 66, 6,136,213,193,193,214,159,192,219, 38, 19, 66,196,173,255,193,154,101,210, 65,173, 40,160, 64, -221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0, -191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0, 90, 38,173,190,254,221,192,190,152, 9, 52,193, 0, 0,128, 63, - 42, 6,158, 63, 99, 28,157,191,244,250, 39,191, 8,165, 39,191,211,164,167, 63, 55,175,154, 63,180,164, 28, 63,149, 84, 28, 63, - 39,127,159,188,135,157, 93, 64, 8,108,228,190, 50,247,227,190, 4,213, 27,191,122,122,186,191,216, 49, 49, 65,152, 9, 52, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8,192,147, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,190,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 3, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 27, 3,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,120,193,147, 5, 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0,120,193,147, 5, 0, 0, 0, 0,174, 0, 0, 0, + 1, 0, 0, 0, 93,101,230, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,133,119, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 65,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 72, 1, 77,190, + 0, 0, 0, 0,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, + 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0, 90, 38,173,190,254,221,192,190,152, 9, 52,193, + 0, 0,128, 63,223,149, 47, 63, 55, 70, 58, 63,192, 56, 49,188, 0, 0, 0, 0, 87,126,162,190,228,251,159, 62, 56, 53,101, 63, + 0, 0, 0, 0, 7,165, 39, 63,150, 84, 28,191, 50,247,227, 62, 0, 0, 0, 0,110,101,239, 64,151, 62,208,192, 77,255,170, 64, + 0, 0,128, 63, 42, 6,158, 63, 99, 28,157,191,244,250, 39,191, 8,165, 39,191,211,164,167, 63, 55,175,154, 63,180,164, 28, 63, +149, 84, 28, 63, 39,127,159,188,135,157, 93, 64, 8,108,228,190, 50,247,227,190, 4,213, 27,191,122,122,186,191,216, 49, 49, 65, +152, 9, 52, 65, 25, 25,195, 62,176,249,206, 62,128,238,196,187, 0, 0,192,179, 55, 15,168,189,201,118,165, 61,152, 15,109, 62, + 0, 0,152, 51,211,120, 21,194,144, 5, 2, 66, 6,136,213,193,193,214,159,192,219, 38, 19, 66,196,173,255,193,154,101,210, 65, +173, 40,160, 64,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, + 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0, 90, 38,173,190,254,221,192,190,152, 9, 52,193, + 0, 0,128, 63, 42, 6,158, 63, 99, 28,157,191,244,250, 39,191, 8,165, 39,191,211,164,167, 63, 55,175,154, 63,180,164, 28, 63, +149, 84, 28, 63, 39,127,159,188,135,157, 93, 64, 8,108,228,190, 50,247,227,190, 4,213, 27,191,122,122,186,191,216, 49, 49, 65, +152, 9, 52, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 62,250,150, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,250,150, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 62,250,150, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, -241, 22, 72, 63, 78,162,246,190, 44, 8, 90,190, 3, 35,171,190,214,211,111, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0, - 80, 49,183, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 65, 1, 2, 0, 0,255,255, 0, 0, 92, 62, 55, 63, - 56,186,224,190,237,203,148,190, 3,236,234,190, 1, 0, 0, 0, 0, 0,128, 63,190,133, 65, 66,100,212, 90, 66, 31,183,118, 66, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0,200,187, 27, 7, 0, 0, 0, 0, -175, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65,205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 1, 0, 7, 0,248,130, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 1, 0, 3, 0, 8, 8,128, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,250, 67, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,120,189, 27, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, -200,194, 27, 7, 0, 0, 0, 0,232,175, 27, 7, 0, 0, 0, 0,200,130, 27, 7, 0, 0, 0, 0,152,128, 27, 7, 0, 0, 0, 0, - 88,130, 27, 7, 0, 0, 0, 0, 56,131, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, -141, 1, 0, 0,233, 3, 0, 0, 16, 16, 32, 6, 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 72,193, 27, 7, 0, 0, 0, 0, 72,193, 27, 7, 0, 0, 0, 0,104,190, 27, 7, 0, 0, 0, 0,216,191, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,104,190, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,216,191, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 66, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,196, 68, - 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,195, 68, 0, 0,200, 65, - 0,224,195, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 32, 6, - 26, 0, 32, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, -141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 26, 0, 0, 0, 1, 0, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 62,250,150, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,250,150, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,250,150, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63,241, 22, 72, 63, 78,162,246,190, 44, 8, 90,190, 3, 35,171,190,214,211,111, 65,214,211,111, 65, 0, 0, 0, 0, + 0, 0, 0, 0, 80, 49,183, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 65, 1, 2, 0, 0,255,255, 0, 0, + 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190, 1, 0, 0, 0, 0, 0,128, 63,190,133, 65, 66,100,212, 90, 66, + 31,183,118, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0, 56,197,147, 5, + 0, 0, 0, 0,175, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65,205,204, 76, 62, 2, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, 24,213,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,216,191, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -104,190, 27, 7, 0, 0, 0, 0, 0, 0, 32,193, 0, 0, 0, 68, 0, 0, 32,193, 0, 0, 0, 68,128,195,217,195,192,225,108, 68, - 96,240,187, 64, 62, 16,253, 67, 15, 6, 0, 0, 32, 6, 0, 0, 18, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 14, 6, 0, 0, - 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 14, 6, 0, 0, 18, 0, 0, 0, 66, 2, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,250, 70, 0, 0,250, 70,236, 81,184, 61, 10,215, 19, 64, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 32, 6, - 67, 2, 15, 6, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, -167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8,128, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,250, 67, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, + 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,232,198,147, 5, 0, 0, 0, 0,215, 0, 0, 0, + 1, 0, 0, 0, 56,204,147, 5, 0, 0, 0, 0, 88,185,147, 5, 0, 0, 0, 0, 56,140,147, 5, 0, 0, 0, 0, 8,138,147, 5, + 0, 0, 0, 0,200,139,147, 5, 0, 0, 0, 0,168,140,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 31, 6, 0, 0,141, 1, 0, 0,233, 3, 0, 0, 16, 16, 32, 6, 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,184,202,147, 5, 0, 0, 0, 0,184,202,147, 5, 0, 0, 0, 0,216,199,147, 5, 0, 0, 0, 0, 72,201,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216,199,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 72,201,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 66, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, + 0, 0,196, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,195, 68, + 0, 0,200, 65, 0,224,195, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, + 10, 0, 32, 6, 26, 0, 32, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 31, 6, 0, 0,141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 26, 0, + 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 48, 1, 0, 0, 72,193, 27, 7, 0, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,201,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,216,199,147, 5, 0, 0, 0, 0, 0, 0, 32,193, 0, 0, 0, 68, 0, 0, 32,193, 0, 0, 0, 68,128,195,217,195, +192,225,108, 68, 96,240,187, 64, 62, 16,253, 67, 15, 6, 0, 0, 32, 6, 0, 0, 18, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, + 14, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 14, 6, 0, 0, 18, 0, 0, 0, 66, 2, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,250, 70, 0, 0,250, 70,236, 81,184, 61, 10,215, 19, 64, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 4, + 0, 0, 32, 6, 67, 2, 15, 6, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 31, 6, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 19, 64, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 48, 1, 0, 0,184,202,147, 5, 0, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,206, 97, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,200,194, 27, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,120,189, 27, 7, 0, 0, 0, 0,216,126, 27, 7, 0, 0, 0, 0,200,130, 27, 7, 0, 0, 0, 0, -168,131, 27, 7, 0, 0, 0, 0, 24,132, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, - 0, 0, 0, 0,139, 1, 0, 0, 6, 6, 4, 3,140, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 8,200, 27, 7, 0, 0, 0, 0, 8,200, 27, 7, 0, 0, 0, 0,184,195, 27, 7, 0, 0, 0, 0,152,198, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,184,195, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 40,197, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 65, 68, - 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 64, 68, 0, 0,200, 65, - 0,192, 64, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 4, 3, - 26, 0, 4, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, - 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 26, 0, 0, 0, 1, 0, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 19, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0, 40,197, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,152,198, 27, 7, 0, 0, 0, 0, -184,195, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,206, 97, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 56,204,147, 5, 0, 0, 0, 0,215, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,198,147, 5, 0, 0, 0, 0, 72,136,147, 5, 0, 0, 0, 0, 56,140,147, 5, + 0, 0, 0, 0, 24,141,147, 5, 0, 0, 0, 0,136,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 3, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 6, 6, 4, 3,140, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,248, 29,166, 5, 0, 0, 0, 0,248, 29,166, 5, 0, 0, 0, 0, 40,205,147, 5, 0, 0, 0, 0,136, 28,166, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,205,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,152,206,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, + 0, 0, 65, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 64, 68, + 0, 0,200, 65, 0,192, 64, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, + 10, 0, 4, 3, 26, 0, 4, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 26, 0, + 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,206,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,136, 28,166, 5, + 0, 0, 0, 0, 40,205,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, - 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,152,198, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 40,197, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 67, 0, 0,129,191, 0,128, 0, 64, - 0, 0,100,190, 0,128,156, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 0,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, - 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3,114, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 4, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136, 28,166, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,152,206,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 67, 0, 0,129,191, + 0,128, 0, 64, 0, 0,100,190, 0,128,156, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 0,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 33, 0, 0, 8,200, 27, 7, 0, 0, 0, 0,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,240, 65, 0, 0, 0, 0,154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 3, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 33, 0, 0,248, 29,166, 5, 0, 0, 0, 0,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 65, 0, 0, 0, 0,154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62, +100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1311,10 +1308,10 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1441,3506 +1438,3746 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 83, 78, 0, 0, 8, 1, 0, 0, 8,234, 27, 7, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0,168, 6, 29, 7, 0, 0, 0, 0, -136,125, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 68,101,102, 97,117,108, -116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,235, 27, 7, 0, 0, 0, 0, 8,241, 27, 7, 0, 0, 0, 0, -120,241, 27, 7, 0, 0, 0, 0,232,248, 27, 7, 0, 0, 0, 0, 88,249, 27, 7, 0, 0, 0, 0,104,227, 28, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 13, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0,153,101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0, 88,235, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,200,235, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, -200,235, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56,236, 27, 7, 0, 0, 0, 0, 88,235, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56,236, 27, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0,168,236, 27, 7, 0, 0, 0, 0,200,235, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 78, 5,164, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,236, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, - 24,237, 27, 7, 0, 0, 0, 0, 56,236, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 5, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0, 24,237, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,136,237, 27, 7, 0, 0, 0, 0, -168,236, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,137, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, -136,237, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248,237, 27, 7, 0, 0, 0, 0, 24,237, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 78, 5,137, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,237, 27, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0,104,238, 27, 7, 0, 0, 0, 0,136,237, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -128, 4, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104,238, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, -216,238, 27, 7, 0, 0, 0, 0,248,237, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 4,137, 2, 1, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0,216,238, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 72,239, 27, 7, 0, 0, 0, 0, -104,238, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 4, 48, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, - 72,239, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,184,239, 27, 7, 0, 0, 0, 0,216,238, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 78, 5, 48, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,184,239, 27, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0, 40,240, 27, 7, 0, 0, 0, 0, 72,239, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 88, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 40,240, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, -152,240, 27, 7, 0, 0, 0, 0,184,239, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 4, 88, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0,152,240, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 8,241, 27, 7, 0, 0, 0, 0, - 40,240, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, - 8,241, 27, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,240, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,128, 4, 72, 2, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,241, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,232,241, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,235, 27, 7, 0, 0, 0, 0, - 56,236, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,241, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 88,242, 27, 7, 0, 0, 0, 0,120,241, 27, 7, 0, 0, 0, 0,200,235, 27, 7, 0, 0, 0, 0, - 24,237, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,242, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,200,242, 27, 7, 0, 0, 0, 0,232,241, 27, 7, 0, 0, 0, 0, 56,236, 27, 7, 0, 0, 0, 0, -136,237, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,242, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 56,243, 27, 7, 0, 0, 0, 0, 88,242, 27, 7, 0, 0, 0, 0, 24,237, 27, 7, 0, 0, 0, 0, -136,237, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,243, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,168,243, 27, 7, 0, 0, 0, 0,200,242, 27, 7, 0, 0, 0, 0, 88,235, 27, 7, 0, 0, 0, 0, -248,237, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,243, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 24,244, 27, 7, 0, 0, 0, 0, 56,243, 27, 7, 0, 0, 0, 0,168,236, 27, 7, 0, 0, 0, 0, -248,237, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,244, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,136,244, 27, 7, 0, 0, 0, 0,168,243, 27, 7, 0, 0, 0, 0, 24,237, 27, 7, 0, 0, 0, 0, -104,238, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,244, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,248,244, 27, 7, 0, 0, 0, 0, 24,244, 27, 7, 0, 0, 0, 0,136,237, 27, 7, 0, 0, 0, 0, -104,238, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,244, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,104,245, 27, 7, 0, 0, 0, 0,136,244, 27, 7, 0, 0, 0, 0,248,237, 27, 7, 0, 0, 0, 0, -216,238, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,245, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,216,245, 27, 7, 0, 0, 0, 0,248,244, 27, 7, 0, 0, 0, 0,104,238, 27, 7, 0, 0, 0, 0, -216,238, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,245, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 72,246, 27, 7, 0, 0, 0, 0,104,245, 27, 7, 0, 0, 0, 0,136,237, 27, 7, 0, 0, 0, 0, - 72,239, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,246, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,184,246, 27, 7, 0, 0, 0, 0,216,245, 27, 7, 0, 0, 0, 0,168,236, 27, 7, 0, 0, 0, 0, - 72,239, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,246, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 40,247, 27, 7, 0, 0, 0, 0, 72,246, 27, 7, 0, 0, 0, 0,216,238, 27, 7, 0, 0, 0, 0, - 72,239, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,247, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,152,247, 27, 7, 0, 0, 0, 0,184,246, 27, 7, 0, 0, 0, 0, 88,235, 27, 7, 0, 0, 0, 0, -184,239, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,247, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 8,248, 27, 7, 0, 0, 0, 0, 40,247, 27, 7, 0, 0, 0, 0,248,237, 27, 7, 0, 0, 0, 0, - 40,240, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,248, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,120,248, 27, 7, 0, 0, 0, 0,152,247, 27, 7, 0, 0, 0, 0,184,239, 27, 7, 0, 0, 0, 0, - 40,240, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,248, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,232,248, 27, 7, 0, 0, 0, 0, 8,248, 27, 7, 0, 0, 0, 0, 24,237, 27, 7, 0, 0, 0, 0, -184,239, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,248, 27, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,248, 27, 7, 0, 0, 0, 0,104,238, 27, 7, 0, 0, 0, 0, - 40,240, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88,249, 27, 7, 0, 0, 0, 0, -215, 0, 0, 0, 1, 0, 0, 0, 40,253, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,237, 27, 7, 0, 0, 0, 0, -200,235, 27, 7, 0, 0, 0, 0, 56,236, 27, 7, 0, 0, 0, 0,136,237, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 78, 5, 0, 0,138, 2, 0, 0,164, 2, 0, 0, 7, 7, 79, 5, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 8, 0, -184,148,251, 6, 0, 0, 0, 0, 24, 6, 29, 7, 0, 0, 0, 0, 24, 6, 29, 7, 0, 0, 0, 0, 72,250, 27, 7, 0, 0, 0, 0, -184,251, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 34,250, 6, 0, 0, 0, 0, -216,101,104, 7, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,250, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, -184,251, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,171, 68, 0, 0, 0, 0, 0, 0,208, 65, - 0, 0, 0, 0, 0,224,169, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 5, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, - 0,192,169, 68, 0, 0,200, 65, 0,192,169, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, - 4, 0, 12, 0, 10, 0, 79, 5, 26, 0, 79, 5, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 78, 5, 0, 0,138, 2, 0, 0,163, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 79, 5, 26, 0, 2, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -200,150,251, 6, 0, 0, 0, 0,232,134, 88, 8, 0, 0, 0, 0,232,134, 88, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,216,189,154, 8, 0, 0, 0, 0, 72,108,104, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,251, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 72,250, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,239, 68, 0, 0, 0, 0, 0, 0,200, 65, - 0, 0, 0, 0, 0,192,168, 68, 0, 0,224, 64, 0, 0, 16, 65, 70, 5, 0, 0, 87, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 69, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, - 2, 0, 0, 4, 10, 0, 87, 5, 2, 0, 70, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,164, 2, 0, 0,164, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -216,149,251, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,136,109,104, 7, 0, 0, 0, 0,248,111,104, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 40,253, 27, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, -248, 37, 28, 7, 0, 0, 0, 0, 88,249, 27, 7, 0, 0, 0, 0,248,237, 27, 7, 0, 0, 0, 0,216,238, 27, 7, 0, 0, 0, 0, - 72,239, 27, 7, 0, 0, 0, 0,168,236, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,129, 4, 0, 0, 78, 5, 0, 0, - 0, 0, 0, 0, 47, 2, 0, 0, 4, 4,206, 0, 48, 2, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0, 88,144,251, 6, 0, 0, 0, 0, -184, 36, 28, 7, 0, 0, 0, 0,184, 36, 28, 7, 0, 0, 0, 0, 24,254, 27, 7, 0, 0, 0, 0,136,255, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,197,105, 7, 0, 0, 0, 0, 72,174,105, 7, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0, 24,254, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,136,255, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 78, 67, - 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 77, 67, 0, 0,200, 65, - 0, 0, 77, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,206, 0, - 26, 0,206, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,129, 4, 0, 0, 78, 5, 0, 0, - 22, 2, 0, 0, 47, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,206, 0, 26, 0, 4, 0, 1, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,147,251, 6, 0, 0, 0, 0, - 88,117, 88, 8, 0, 0, 0, 0, 88,117, 88, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -104,103,104, 7, 0, 0, 0, 0,232, 60,106, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,136,255, 27, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 24,254, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 0, 61,196, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 61, 67, - 1,128, 5,196, 0, 0, 0, 0,189, 0, 0, 0,206, 0, 0, 0, 0, 0, 0, 0, 21, 2, 0, 0, 0, 0, 0, 0, 74, 1, 0, 0, - 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,188, 0, 0, 0, 0, 0, 0, 0, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,206, 0, - 22, 2,189, 0, 22, 2, 0, 0, 88,148,156, 8, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,129, 4, 0, 0, 78, 5, 0, 0, - 0, 0, 0, 0, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,206, 0, 22, 2, 5, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,145,251, 6, 0, 0, 0, 0, -216, 54, 84, 8, 0, 0, 0, 0, 72, 96,155, 8, 0, 0, 0, 0,248, 0, 28, 7, 0, 0, 0, 0, 24, 35, 28, 7, 0, 0, 0, 0, -232,114,104, 7, 0, 0, 0, 0, 56, 66,106, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,248, 0, 28, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152, 2, 28, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,104,146,251, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, - 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, - 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255,189, 0, 36, 0, - 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152, 2, 28, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0, 56, 4, 28, 7, 0, 0, 0, 0,248, 0, 28, 7, 0, 0, 0, 0,248,122,240, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 83, 78, 0, 0, 8, 1, 0, 0,104, 63,166, 5, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0,184, 90,167, 5, + 0, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 68,101, +102, 97,117,108,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 64,166, 5, 0, 0, 0, 0,104, 70,166, 5, + 0, 0, 0, 0,216, 70,166, 5, 0, 0, 0, 0, 72, 78,166, 5, 0, 0, 0, 0,184, 78,166, 5, 0, 0, 0, 0, 8,208,147, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 22,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,184, 64,166, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 40, 65,166, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0, 40, 65,166, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,152, 65,166, 5, 0, 0, 0, 0,184, 64,166, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152, 65,166, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 8, 66,166, 5, 0, 0, 0, 0, 40, 65,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,128, 7, 32, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8, 66,166, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0,120, 66,166, 5, 0, 0, 0, 0,152, 65,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120, 66,166, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,232, 66,166, 5, + 0, 0, 0, 0, 8, 66,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 3, 1, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0,232, 66,166, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 88, 67,166, 5, 0, 0, 0, 0,120, 66,166, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7,248, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88, 67,166, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,200, 67,166, 5, 0, 0, 0, 0,232, 66,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 96, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200, 67,166, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0, 56, 68,166, 5, 0, 0, 0, 0, 88, 67,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 6,248, 3, + 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56, 68,166, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,168, 68,166, 5, + 0, 0, 0, 0,200, 67,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 6,108, 3, 0, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0,168, 68,166, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 24, 69,166, 5, 0, 0, 0, 0, 56, 68,166, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7,108, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24, 69,166, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,136, 69,166, 5, 0, 0, 0, 0,168, 68,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,140, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136, 69,166, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0,248, 69,166, 5, 0, 0, 0, 0, 24, 69,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 6,140, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248, 69,166, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,104, 70,166, 5, + 0, 0, 0, 0,136, 69,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 3, 0, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0,104, 70,166, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 69,166, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 6,144, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216, 70,166, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72, 71,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 65,166, 5, + 0, 0, 0, 0,152, 65,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72, 71,166, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184, 71,166, 5, 0, 0, 0, 0,216, 70,166, 5, 0, 0, 0, 0, 40, 65,166, 5, + 0, 0, 0, 0,120, 66,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184, 71,166, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40, 72,166, 5, 0, 0, 0, 0, 72, 71,166, 5, 0, 0, 0, 0,152, 65,166, 5, + 0, 0, 0, 0,232, 66,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 72,166, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152, 72,166, 5, 0, 0, 0, 0,184, 71,166, 5, 0, 0, 0, 0,120, 66,166, 5, + 0, 0, 0, 0,232, 66,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152, 72,166, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8, 73,166, 5, 0, 0, 0, 0, 40, 72,166, 5, 0, 0, 0, 0,184, 64,166, 5, + 0, 0, 0, 0, 88, 67,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 73,166, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120, 73,166, 5, 0, 0, 0, 0,152, 72,166, 5, 0, 0, 0, 0, 8, 66,166, 5, + 0, 0, 0, 0, 88, 67,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 73,166, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232, 73,166, 5, 0, 0, 0, 0, 8, 73,166, 5, 0, 0, 0, 0,120, 66,166, 5, + 0, 0, 0, 0,200, 67,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 73,166, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88, 74,166, 5, 0, 0, 0, 0,120, 73,166, 5, 0, 0, 0, 0,232, 66,166, 5, + 0, 0, 0, 0,200, 67,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88, 74,166, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200, 74,166, 5, 0, 0, 0, 0,232, 73,166, 5, 0, 0, 0, 0, 88, 67,166, 5, + 0, 0, 0, 0, 56, 68,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200, 74,166, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56, 75,166, 5, 0, 0, 0, 0, 88, 74,166, 5, 0, 0, 0, 0,200, 67,166, 5, + 0, 0, 0, 0, 56, 68,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 75,166, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,168, 75,166, 5, 0, 0, 0, 0,200, 74,166, 5, 0, 0, 0, 0,232, 66,166, 5, + 0, 0, 0, 0,168, 68,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168, 75,166, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24, 76,166, 5, 0, 0, 0, 0, 56, 75,166, 5, 0, 0, 0, 0, 8, 66,166, 5, + 0, 0, 0, 0,168, 68,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 76,166, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136, 76,166, 5, 0, 0, 0, 0,168, 75,166, 5, 0, 0, 0, 0, 56, 68,166, 5, + 0, 0, 0, 0,168, 68,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136, 76,166, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,248, 76,166, 5, 0, 0, 0, 0, 24, 76,166, 5, 0, 0, 0, 0,184, 64,166, 5, + 0, 0, 0, 0, 24, 69,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248, 76,166, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,104, 77,166, 5, 0, 0, 0, 0,136, 76,166, 5, 0, 0, 0, 0, 88, 67,166, 5, + 0, 0, 0, 0,136, 69,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104, 77,166, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,216, 77,166, 5, 0, 0, 0, 0,248, 76,166, 5, 0, 0, 0, 0, 24, 69,166, 5, + 0, 0, 0, 0,136, 69,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216, 77,166, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72, 78,166, 5, 0, 0, 0, 0,104, 77,166, 5, 0, 0, 0, 0,120, 66,166, 5, + 0, 0, 0, 0, 24, 69,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72, 78,166, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 77,166, 5, 0, 0, 0, 0,200, 67,166, 5, + 0, 0, 0, 0,136, 69,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184, 78,166, 5, + 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,136, 82,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 66,166, 5, + 0, 0, 0, 0, 40, 65,166, 5, 0, 0, 0, 0,152, 65,166, 5, 0, 0, 0, 0,232, 66,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0,249, 3, 0, 0, 32, 4, 0, 0, 7, 7,129, 7, 40, 0, 1, 0, 0, 0, 0, 0, + 7, 0, 8, 0,248, 19, 64, 4, 0, 0, 0, 0, 40, 90,167, 5, 0, 0, 0, 0, 40, 90,167, 5, 0, 0, 0, 0,168, 79,166, 5, + 0, 0, 0, 0, 24, 81,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,127, 98, 4, + 0, 0, 0, 0,184,193,117, 5, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168, 79,166, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 24, 81,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,171, 68, 0, 0, 0, 0, + 0, 0,208, 65, 0, 0, 0, 0, 0, 32,240, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 0, 0,240, 68, 0, 0,200, 65, 0, 0,240, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,129, 7, 26, 0,129, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0,249, 3, 0, 0, 18, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,129, 7, 26, 0, 2, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 24, 22, 64, 4, 0, 0, 0, 0,136,237,100, 4, 0, 0, 0, 0,136,237,100, 4, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,242,148, 5, 0, 0, 0, 0, 56,129,123, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24, 81,166, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 79,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,239, 68, 0, 0, 0, 0, + 0, 0,200, 65, 0, 0, 0, 0, 0, 0,238, 68, 0, 0,128, 63, 0, 0,112, 65,112, 7, 0, 0,129, 7, 0, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, + 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 14, 0,112, 7, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0, 19, 4, 0, 0, 32, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,129, 7, 14, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 24, 21, 64, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 60,133, 5, 0, 0, 0, 0, 56,132,123, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,136, 82,166, 5, 0, 0, 0, 0,215, 0, 0, 0, + 1, 0, 0, 0, 88,123,166, 5, 0, 0, 0, 0,184, 78,166, 5, 0, 0, 0, 0, 88, 67,166, 5, 0, 0, 0, 0, 56, 68,166, 5, + 0, 0, 0, 0,168, 68,166, 5, 0, 0, 0, 0, 8, 66,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 6, 0, 0, +128, 7, 0, 0, 0, 0, 0, 0,107, 3, 0, 0, 4, 4, 32, 1,108, 3, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0,120, 15, 64, 4, + 0, 0, 0, 0, 24,122,166, 5, 0, 0, 0, 0, 24,122,166, 5, 0, 0, 0, 0,120, 83,166, 5, 0, 0, 0, 0,232, 84,166, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 75,118, 5, 0, 0, 0, 0,120, 60,135, 5, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120, 83,166, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,232, 84,166, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, + 0, 0,144, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,143, 67, + 0, 0,200, 65, 0,128,143, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, + 10, 0, 32, 1, 26, 0, 32, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 6, 0, 0, +128, 7, 0, 0, 82, 3, 0, 0,107, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 26, 0, + 4, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 18, 64, 4, + 0, 0, 0, 0, 24,214,139, 5, 0, 0, 0, 0, 24,214,139, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,232, 93,137, 5, 0, 0, 0, 0,120,135,123, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232, 84,166, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,120, 83,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0,128, 84,196, 0, 0, 0, 0, 0, 0, 0, 0, + 2,128,135, 67, 3,128, 84,196, 0, 0, 0, 0, 15, 1, 0, 0, 32, 1, 0, 0, 0, 0, 0, 0, 81, 3, 0, 0, 0, 0, 0, 0, + 74, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 14, 1, 0, 0, 0, 0, 0, 0, 81, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, + 6, 0, 32, 1, 82, 3, 15, 1, 82, 3, 0, 0,136, 69,115, 5, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 97, 6, 0, 0, +128, 7, 0, 0, 0, 0, 0, 0, 81, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 82, 3, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 16, 64, 4, + 0, 0, 0, 0, 88,174,149, 5, 0, 0, 0, 0,152,144, 99, 4, 0, 0, 0, 0, 88, 86,166, 5, 0, 0, 0, 0,120,120,166, 5, + 0, 0, 0, 0,200,126,123, 5, 0, 0, 0, 0, 72,139,123, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88, 86,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248, 87,166, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 17, 64, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, + 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, + 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116, +101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255, + 15, 1, 36, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255,189, 0, 61, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 11, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248, 87,166, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152, 89,166, 5, 0, 0, 0, 0, 88, 86,166, 5, 0, 0, 0, 0,136,175,227, 4, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0, 56, 4, 28, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216, 5, 28, 7, 0, 0, 0, 0, -152, 2, 28, 7, 0, 0, 0, 0,104,125,240, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 15, 1, 61, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255,189, 0, 0, 0, - 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152, 89,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56, 91,166, 5, + 0, 0, 0, 0,248, 87,166, 5, 0, 0, 0, 0,136,178,227, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101, +114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255, + 15, 1, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216, 5, 28, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0,120, 7, 28, 7, 0, 0, 0, 0, 56, 4, 28, 7, 0, 0, 0, 0,216,127,240, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 91,166, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216, 92,166, 5, 0, 0, 0, 0,152, 89,166, 5, 0, 0, 0, 0,152,181,227, 4, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254,189, 0,203, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 13, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254, 15, 1,203, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,120, 7, 28, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24, 9, 28, 7, 0, 0, 0, 0, -216, 5, 28, 7, 0, 0, 0, 0, 72,130,240, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, - 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254,189, 0, 58, 0, - 20, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216, 92,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120, 94,166, 5, + 0, 0, 0, 0, 56, 91,166, 5, 0, 0, 0, 0,168,184,227, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, + 45, 65,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254, + 15, 1, 58, 0, 20, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24, 9, 28, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0,184, 10, 28, 7, 0, 0, 0, 0,120, 7, 28, 7, 0, 0, 0, 0,184,132,240, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 94,166, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24, 96,166, 5, 0, 0, 0, 0,216, 92,166, 5, 0, 0, 0, 0,120,187,227, 4, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117, +114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117, +114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254, 15, 1, 0, 0, 20, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254,189, 0, 0, 0, 20, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24, 96,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184, 97,166, 5, + 0, 0, 0, 0,120, 94,166, 5, 0, 0, 0, 0, 8,204,185, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100, +105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,254, + 15, 1, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184, 97,166, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 88, 99,166, 5, 0, 0, 0, 0, 24, 96,166, 5, 0, 0, 0, 0, 72,198,227, 4, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99, +101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99, +101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,184, 10, 28, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 88, 12, 28, 7, 0, 0, 0, 0, - 24, 9, 28, 7, 0, 0, 0, 0,200,118,193, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,253, 15, 1, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,254,189, 0, 0, 0, - 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88, 99,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248,100,166, 5, + 0, 0, 0, 0,184, 97,166, 5, 0, 0, 0, 0, 24,201,227, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, + 32, 80,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,253, + 15, 1, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88, 12, 28, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0,248, 13, 28, 7, 0, 0, 0, 0,184, 10, 28, 7, 0, 0, 0, 0, 72,142,240, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248,100,166, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152,102,166, 5, 0, 0, 0, 0, 88, 99,166, 5, 0, 0, 0, 0, 40,204,227, 4, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,253,189, 0, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 17, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,253, 15, 1, 0, 0, 20, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, + 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,248, 13, 28, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152, 15, 28, 7, 0, 0, 0, 0, - 88, 12, 28, 7, 0, 0, 0, 0,184,144,240, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, - 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,253,189, 0, 0, 0, - 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152,102,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56,104,166, 5, + 0, 0, 0, 0,248,100,166, 5, 0, 0, 0, 0, 40,207,227, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112, +117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,253, + 15, 1,134, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152, 15, 28, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0, 56, 17, 28, 7, 0, 0, 0, 0,248, 13, 28, 7, 0, 0, 0, 0, 40,147,240, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56,104,166, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216,105,166, 5, 0, 0, 0, 0,152,102,166, 5, 0, 0, 0, 0, 56,213,227, 4, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,253,189, 0, 0, 0, 20, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 19, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,253, 15, 1, 0, 0, 0, 0, 0, 0, 4, 0, 7, 0, 0, 0, 0, 0, + 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,105,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120,107,166, 5, + 0, 0, 0, 0, 56,104,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, + 69, 95, 80, 84, 95,115, 99,101,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, + 69, 95, 80, 84, 95,115, 99,101,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 99,101,110, +101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, + 41, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0, 56, 17, 28, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216, 18, 28, 7, 0, 0, 0, 0, -152, 15, 28, 7, 0, 0, 0, 0,152,149,240, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,253,189, 0,134, 0, - 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120,107,166, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24,109,166, 5, 0, 0, 0, 0,216,105,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,117,110,105,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,117,110,105,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216, 18, 28, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0,120, 20, 28, 7, 0, 0, 0, 0, 56, 17, 28, 7, 0, 0, 0, 0,120,154,240, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,110,105,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28,255, 41, 1, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,253,189, 0, 0, 0, 0, 0, 0, 0, 4, 0, 7, 0, 0, 0, 0, 0, 21, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24,109,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184,110,166, 5, + 0, 0, 0, 0,120,107,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, + 69, 95, 80, 84, 95,107,101,121,105,110,103, 95,115,101,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, + 69, 95, 80, 84, 95,107,101,121,105,110,103, 95,115,101,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75,101,121,105, +110,103, 32, 83,101,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191,254, + 41, 1, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184,110,166, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 88,112,166, 5, 0, 0, 0, 0, 24,109,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,112,104,121,115,105, 99,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,112,104,121,115,105, 99,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,120, 20, 28, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24, 22, 28, 7, 0, 0, 0, 0, -216, 18, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, - 95,115, 99,101,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, - 95,115, 99,101,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 99,101,110,101, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71,114, 97,118,105,116,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 41, 1, 61, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,131,254, 41, 1, 36, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24, 22, 28, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0,184, 23, 28, 7, 0, 0, 0, 0,120, 20, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,117,110,105,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88,112,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248,113,166, 5, + 0, 0, 0, 0,184,110,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, + 69, 95, 80, 84, 95,115,105,109,112,108,105,102,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, + 69, 95, 80, 84, 95,115,105,109,112,108,105,102,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,105,109,112, +108,105,102,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,254, + 41, 1, 80, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,117,110,105,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 85,110,105,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248,113,166, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152,115,166, 5, 0, 0, 0, 0, 88,112,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112, +115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112, +115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28,255, 41, 1, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,223,253, 41, 1, 36, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152,115,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56,117,166, 5, + 0, 0, 0, 0,248,113,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, + 85, 82, 69, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, + 85, 82, 69, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,184, 23, 28, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 88, 25, 28, 7, 0, 0, 0, 0, - 24, 22, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, - 95,107,101,121,105,110,103, 95,115,101,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, - 95,107,101,121,105,110,103, 95,115,101,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75,101,121,105,110,103, 32, 83, -101,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191,254, 41, 1, 69, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88, 25, 28, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0,248, 26, 28, 7, 0, 0, 0, 0,184, 23, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,112,104,121,115,105, 99,115, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,255, +187, 0,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,112,104,121,115,105, 99,115, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56,117,166, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216,118,166, 5, 0, 0, 0, 0,152,115,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 71,114, 97,118,105,116,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,131,254, 41, 1, 36, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,254,187, 0,171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,248, 26, 28, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152, 28, 28, 7, 0, 0, 0, 0, - 88, 25, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, - 95,115,105,109,112,108,105,102,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, - 95,115,105,109,112,108,105,102,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,105,109,112,108,105,102,121, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,118,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120,120,166, 5, + 0, 0, 0, 0, 56,117,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, + 85, 82, 69, 95, 80, 84, 95,105,110,102,108,117,101,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, + 85, 82, 69, 95, 80, 84, 95,105,110,102,108,117,101,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,110,102,108, +117,101,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,223,252, +187, 0, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,254, 41, 1, 80, 0, - 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120,120,166, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,118,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, 84, 95, 99,111,110,115,116,114, 97,105,110,116, +115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, 84, 95, 99,111,110,115,116,114, 97,105,110,116, +115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 98,106,101, 99,116, 32, 67,111,110,115,116,114, 97,105,110,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152, 28, 28, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0, 56, 30, 28, 7, 0, 0, 0, 0,248, 26, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,255,187, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 24,122,166, 5, 0, 0, 0, 0,180, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 40,235,139, 5, 0, 0, 0, 0,255, 21, 0, 0, +160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88,123,166, 5, + 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 72,128,166, 5, 0, 0, 0, 0,136, 82,166, 5, 0, 0, 0, 0,184, 64,166, 5, + 0, 0, 0, 0, 24, 69,166, 5, 0, 0, 0, 0,136, 69,166, 5, 0, 0, 0, 0, 88, 67,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 95, 6, 0, 0, 0, 0, 0, 0,139, 0, 0, 0, 15, 15, 96, 6,140, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 40,226, 63, 4, 0, 0, 0, 0, 40,127,166, 5, 0, 0, 0, 0, 40,127,166, 5, 0, 0, 0, 0, 72,124,166, 5, + 0, 0, 0, 0,184,125,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 75,135, 5, + 0, 0, 0, 0,200,159,139, 5, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,124,166, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0,184,125,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,143, 68, 0, 0, 0, 0, + 0, 0,208, 65, 0, 0, 0, 0, 0, 0,204, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 6, 0, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 0,224,203, 68, 0, 0,200, 65, 0,224,203, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 96, 6, 26, 0, 96, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 95, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 96, 6, 26, 0, 6, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 72,228, 63, 4, 0, 0, 0, 0,120, 14,135, 5, 0, 0, 0, 0,120, 14,135, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,130,123, 5, 0, 0, 0, 0,184,144,123, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,125,166, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,124,166, 5, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, + 0, 0, 72, 66, 88,218,103,194, 40,147,141, 67, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 95, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 95, 6, 0, 0, 18, 0, 0, 0, +113, 0, 0, 0, 0, 0,128, 63, 0, 0, 72, 66, 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, + 0, 0, 0, 2, 4, 0, 0, 4, 8, 0, 96, 6,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 95, 6, 0, 0, 26, 0, 0, 0,139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 96, 6,114, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 72,227, 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,145,123, 5, 0, 0, 0, 0,168,217,126, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,208, 0, 0, 0, 40,127,166, 5, 0, 0, 0, 0,191, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 72,128,166, 5, + 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 8,208,147, 5, 0, 0, 0, 0, 88,123,166, 5, 0, 0, 0, 0, 56, 68,166, 5, + 0, 0, 0, 0,200, 67,166, 5, 0, 0, 0, 0,232, 66,166, 5, 0, 0, 0, 0,168, 68,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 97, 6, 0, 0,128, 7, 0, 0,109, 3, 0, 0,247, 3, 0, 0, 3, 3, 32, 1,139, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 8,223, 63, 4, 0, 0, 0, 0, 24,132,166, 5, 0, 0, 0, 0, 24,132,166, 5, 0, 0, 0, 0, 56,129,166, 5, + 0, 0, 0, 0,168,130,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,148,118, 5, + 0, 0, 0, 0,248,243,119, 5, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,129,166, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0,168,130,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, + 0, 0,208, 65, 0, 0, 0, 0, 0, 0,144, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 0,128,143, 67, 0, 0,200, 65, 0,128,143, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 32, 1, 26, 0, 32, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 97, 6, 0, 0,128, 7, 0, 0,222, 3, 0, 0,247, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 32, 1, 26, 0, 8, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 40,225, 63, 4, 0, 0, 0, 0, 40,236,141, 5, 0, 0, 0, 0, 40,236,141, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,133,123, 5, 0, 0, 0, 0, 24,223,126, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,130,166, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,129,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, + 0, 0, 0, 0, 0, 0, 0, 0, 0,128,135, 67, 0, 0,190,194, 0, 0, 0, 0, 15, 1, 0, 0, 32, 1, 0, 0, 18, 0, 0, 0, +112, 0, 0, 0, 0, 0, 0, 0, 14, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 14, 1, 0, 0, 18, 0, 0, 0, +112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 0, 0, + 2, 0, 3, 3, 0, 0, 12, 4, 6, 0, 32, 1,113, 0, 15, 1, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 97, 6, 0, 0,128, 7, 0, 0,109, 3, 0, 0,221, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 32, 1,113, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 40,224, 63, 4, 0, 0, 0, 0, 88, 20,140, 5, 0, 0, 0, 0, 88, 20,140, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,136,123, 5, 0, 0, 0, 0,136,225,126, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 24,132,166, 5, 0, 0, 0, 0,184, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,223,253, 41, 1, 36, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0, 56, 30, 28, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216, 31, 28, 7, 0, 0, 0, 0, -152, 28, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, - 80, 84, 95, 99,111,110,116,101,120,116, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, - 80, 84, 95, 99,111,110,116,101,120,116, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 89,170, 5, 0, 0, 0, 0,168, 89,170, 5, 0, 0, 0, 0,232,209,134, 5, + 0, 0, 0, 0, 0,115,101, 32, 83, 99,117,108,112,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65, + 16, 0, 0, 0,232,209,134, 5, 0, 0, 0, 0,238, 0, 0, 0, 1, 0, 0, 0, 42, 11, 0, 0, 42, 11, 0, 0,120,133,166, 5, + 0, 0, 0, 0, 68, 65, 84, 65,160,178, 0, 0,120,133,166, 5, 0, 0, 0, 0,237, 0, 0, 0, 42, 11, 0, 0, 0, 0, 0, 0, + 2, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 20, 0, 0, 0, + 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 72,210,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,184,219,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0,184, 17,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,248,232,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 8,255,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 88,226,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0,232,205,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 24,213,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0,216,204,168, 5, 0, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 0, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, + 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 30, 0,255,255, + 3, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 30, 0,255,255, + 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 10, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 12, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 14, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 16, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 18, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 20, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 22, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 24, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 26, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 28, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 30, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 32, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 34, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 36, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 38, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 40, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 42, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 44, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 46, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 48, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 50, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 52, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 54, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 56, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 58, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 60, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 62, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 64, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 66, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 68, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 70, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 72, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 74, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 76, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 78, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 80, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 82, 0, + 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, + 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 10, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 12, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 14, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 16, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 18, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 20, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 22, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 24, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 26, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 28, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 30, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 32, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 34, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 36, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 38, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 40, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 42, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 44, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 46, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 48, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 50, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 52, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 54, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 56, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 58, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 60, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 62, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 64, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 66, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 68, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 70, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 72, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 74, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 76, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 78, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 80, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 82, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 84, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 85, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 86, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 87, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 88, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 89, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 90, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 91, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 92, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 93, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 94, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 95, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 96, 0, + 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 21, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 23, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 25, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 27, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 29, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 31, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 33, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 35, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 37, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 39, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 41, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 43, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 45, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 47, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 49, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 51, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 53, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 55, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 57, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 59, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 61, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 63, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 65, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 67, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 69, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 70, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 71, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 72, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 73, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 74, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 75, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 76, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 77, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 78, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 79, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 80, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 81, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 82, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 83, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 84, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 85, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 86, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 87, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 88, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 89, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 90, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 91, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 92, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 93, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 94, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 95, 0, + 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 96, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 10, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 12, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 14, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 16, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 18, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 20, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 22, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 24, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 26, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 28, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 30, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 32, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 34, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 36, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 38, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 40, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 42, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 44, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 46, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 48, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 50, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 52, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 54, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 56, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 58, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 60, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 62, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 64, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 66, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 68, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 70, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 72, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 74, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 76, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 78, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 80, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 82, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 84, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 85, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 86, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 87, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 88, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 89, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 90, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 91, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 92, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 93, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 94, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 95, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 96, 0, + 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, + 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 2, 0, + 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 4, 0, + 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 6, 0, + 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 8, 0, + 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 10, 0, + 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 1, 0, + 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 3, 0, + 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 5, 0, + 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 7, 0, + 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 9, 0, + 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 11, 0, + 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 13, 0, + 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 15, 0, + 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 17, 0, + 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 19, 0, + 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 68, 65, 84, 65, +160, 0, 0, 0, 8,208,147, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,128,166, 5, + 0, 0, 0, 0, 24, 69,166, 5, 0, 0, 0, 0,120, 66,166, 5, 0, 0, 0, 0,200, 67,166, 5, 0, 0, 0, 0,136, 69,166, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 6, 0, 0,141, 0, 0, 0,247, 3, 0, 0, 1, 1, 96, 6, +107, 3, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0, 72,229, 63, 4, 0, 0, 0, 0,120, 88,167, 5, 0, 0, 0, 0,120, 88,167, 5, + 0, 0, 0, 0,104, 56,167, 5, 0, 0, 0, 0, 72, 83,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,232, 31,125, 5, 0, 0, 0, 0,184,167,126, 5, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104, 56,167, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,216, 57,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,192,108, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,204, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 95, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,203, 68, 0, 0,200, 65, 0,224,203, 68, 0, 0,200, 65, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 96, 6, 26, 0, 96, 6, 26, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 6, 0, 0,141, 0, 0, 0,166, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 6, 26, 0, 10, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,239, 63, 4, 0, 0, 0, 0,200, 6,182, 5, 0, 0, 0, 0,200, 6,182, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,223,126, 5, 0, 0, 0, 0, 24, 50,127, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216, 57,167, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,200, 78,167, 5, 0, 0, 0, 0,104, 56,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0,128,178, 67, 0, 64, 30,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 30,196, 0, 0, 0, 0,143, 0, 0, 0, +160, 0, 0, 0, 0, 0, 0, 0,120, 2, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, +142, 0, 0, 0, 0, 0, 0, 0,120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,121, 2,143, 0,121, 2, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,127, 1, 0, 0,247, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,121, 2, 11, 0, 5, 0, 3, 0, 0, 0, 0, 0, 0, 0,160, 0, 50, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,236, 63, 4, 0, 0, 0, 0,232, 30,140, 5, 0, 0, 0, 0,232, 30,140, 5, + 0, 0, 0, 0, 72, 59,167, 5, 0, 0, 0, 0, 40, 77,167, 5, 0, 0, 0, 0,216, 46,127, 5, 0, 0, 0, 0,104,206,129, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72, 59,167, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,232, 60,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,165,231, 4, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101, + 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101, + 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 98,106,101, 99,116, 32, 84,111,111,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233,253,143, 0,255, 1, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,255,187, 0,204, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 5, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216, 31, 28, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0,120, 33, 28, 7, 0, 0, 0, 0, 56, 30, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,232, 60,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,136, 62,167, 5, + 0, 0, 0, 0, 72, 59,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, + 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, + 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,114,117,115, +104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,117,254, +143, 0,115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136, 62,167, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 40, 64,167, 5, 0, 0, 0, 0,232, 60,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115, +104, 95,116,111,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115, +104, 95,116,111,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,111,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74,254,143, 0, 61, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 77, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 40, 64,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,200, 65,167, 5, + 0, 0, 0, 0,136, 62,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, + 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,115,116,114,111,107,101, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, + 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,115,116,114,111,107,101, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116,114,111, +107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,254, +143, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,200, 65,167, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,104, 67,167, 5, 0, 0, 0, 0, 40, 64,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115, +104, 95, 99,117,114,118,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115, +104, 95, 99,117,114,118,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,117,114,118,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45,254,143, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,254,187, 0,171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,104, 67,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 8, 69,167, 5, + 0, 0, 0, 0,200, 65,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, + 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95, 97,112,112,101, 97,114, 97,110, 99,101, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, + 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95, 97,112,112,101, 97,114, 97,110, 99,101, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,112,112,101, + 97,114, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,229,253, +143, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8, 69,167, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,168, 70,167, 5, 0, 0, 0, 0,104, 67,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,118,101,114,116, +101,120,112, 97,105,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,118,101,114,116, +101,120,112, 97,105,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,149,253,143, 0,146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,120, 33, 28, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24, 35, 28, 7, 0, 0, 0, 0, -216, 31, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, - 80, 84, 95,105,110,102,108,117,101,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, - 80, 84, 95,105,110,102,108,117,101,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,110,102,108,117,101,110, 99, -101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,223,252,187, 0, 86, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,168, 70,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 72, 72,167, 5, + 0, 0, 0, 0, 8, 69,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, + 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, + 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,101,120,116, +117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93,254, +143, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24, 35, 28, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 33, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, 84, 95, 99,111,110,115,116,114, 97,105,110,116,115, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72, 72,167, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,232, 73,167, 5, 0, 0, 0, 0,168, 70,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116, 95,111,112,116, +105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116, 95,111,112,116, +105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, 84, 95, 99,111,110,115,116,114, 97,105,110,116,115, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,254,143, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 79, 98,106,101, 99,116, 32, 67,111,110,115,116,114, 97,105,110,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,255,187, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,232, 73,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,136, 75,167, 5, + 0, 0, 0, 0, 72, 72,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, + 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116, 95,115,121,109,109,101,116,114,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, + 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116, 95,115,121,109,109,101,116,114,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,121,109,109, +101,116,114,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,253, +143, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136, 75,167, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 40, 77,167, 5, 0, 0, 0, 0,232, 73,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,109,101,115,104, +101,100,105,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,109,101,115,104, +101,100,105,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,101,115,104, 32, 84,111,111,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65,248, 0, 0, 0,184, 36, 28, 7, 0, 0, 0, 0,180, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,252,143, 0, 68, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 40, 77,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,136, 75,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, + 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,109,101,115,104,101,100,105,116, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, + 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,109,101,115,104,101,100,105,116, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,101,115,104, + 32, 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,235,251, +143, 0,161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 40,235,156, 8, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248, 37, 28, 7, 0, 0, 0, 0, -215, 0, 0, 0, 1, 0, 0, 0,232, 42, 28, 7, 0, 0, 0, 0, 40,253, 27, 7, 0, 0, 0, 0, 88,235, 27, 7, 0, 0, 0, 0, -184,239, 27, 7, 0, 0, 0, 0, 40,240, 27, 7, 0, 0, 0, 0,248,237, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,127, 4, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 15, 15,128, 4, 88, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 40,100,251, 6, 0, 0, 0, 0,200, 41, 28, 7, 0, 0, 0, 0,200, 41, 28, 7, 0, 0, 0, 0,232, 38, 28, 7, 0, 0, 0, 0, - 88, 40, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 62,106, 7, 0, 0, 0, 0, -200,112,104, 7, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232, 38, 28, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 88, 40, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,143, 68, 0, 0, 0, 0, 0, 0,208, 65, - 0, 0, 0, 0, 0, 0,144, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, - 0,224,143, 68, 0, 0,200, 65, 0,224,143, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, - 4, 0, 12, 0, 10, 0,128, 4, 26, 0,128, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,127, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -128, 4, 26, 0, 6, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56,102,251, 6, 0, 0, 0, 0,136,229,156, 8, 0, 0, 0, 0,136,229,156, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 40, 69,106, 7, 0, 0, 0, 0,152, 71,106, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88, 40, 28, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,232, 38, 28, 7, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66, - 88,218,103,194, 40,147,141, 67, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,127, 4, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,127, 4, 0, 0, 18, 0, 0, 0, 61, 0, 0, 0, - 0, 0,128, 63, 0, 0, 72, 66, 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2, - 4, 0, 0, 4, 8, 0,128, 4, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,127, 4, 0, 0, 26, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -128, 4, 62, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 72,101,251, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,216, 72,106, 7, 0, 0, 0, 0, 40, 80,106, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,208, 0, 0, 0,200, 41, 28, 7, 0, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200, 78,167, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,216, 81,167, 5, 0, 0, 0, 0,216, 57,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0,128,178, 67, 0, 0, 90,195, 0, 0, 0, 0, 0, 0, 0, 0,227,102, 16, 67, 24, 30, 90,195, 0, 0, 0, 0,143, 0, 0, 0, +160, 0, 0, 0, 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, +142, 0, 0, 0, 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,216, 0,143, 0,216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,167, 0, 0, 0,126, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,216, 0, 12, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,237, 63, 4, 0, 0, 0, 0,200, 86,170, 5, 0, 0, 0, 0,200, 86,170, 5, + 0, 0, 0, 0, 56, 80,167, 5, 0, 0, 0, 0, 56, 80,167, 5, 0, 0, 0, 0,232, 50,127, 5, 0, 0, 0, 0, 56,210,129, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 80,167, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,238, 63, 4, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97, +116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97, +116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,112,101,114, 97,116,111,114, 0,105,116,109,111,100,101, 0,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,255,144, 0, 16, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216, 81,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 72, 83,167, 5, + 0, 0, 0, 0,200, 78,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 67, 0, 96,158,196, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 35, 67, 0, 96,158,196, 0,128,142,195,163, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0,213, 3, 0, 0, 0, 0, 0, 0, +162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0,213, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, + 6, 0,180, 0,214, 3,163, 0,214, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 6, 0, 0, + 95, 6, 0, 0,167, 0, 0, 0,247, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,231, 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,232, 42, 28, 7, 0, 0, 0, 0, -215, 0, 0, 0, 1, 0, 0, 0,104,227, 28, 7, 0, 0, 0, 0,248, 37, 28, 7, 0, 0, 0, 0,216,238, 27, 7, 0, 0, 0, 0, -104,238, 27, 7, 0, 0, 0, 0,136,237, 27, 7, 0, 0, 0, 0, 72,239, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -129, 4, 0, 0, 78, 5, 0, 0, 49, 2, 0, 0,136, 2, 0, 0, 3, 3,206, 0, 88, 0, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0, - 40, 97,251, 6, 0, 0, 0, 0,184, 46, 28, 7, 0, 0, 0, 0,184, 46, 28, 7, 0, 0, 0, 0,216, 43, 28, 7, 0, 0, 0, 0, - 72, 45, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,113,104, 7, 0, 0, 0, 0, - 8, 67,106, 7, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216, 43, 28, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 72, 45, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, - 0, 0, 0, 0, 0, 0, 78, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, - 0, 0, 77, 67, 0, 0,200, 65, 0, 0, 77, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, - 4, 0, 12, 0, 10, 0,206, 0, 26, 0,206, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -129, 4, 0, 0, 78, 5, 0, 0,111, 2, 0, 0,136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -206, 0, 26, 0, 8, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 99,251, 6, 0, 0, 0, 0, 72,208, 87, 8, 0, 0, 0, 0, 72,208, 87, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 24, 83,106, 7, 0, 0, 0, 0,136, 85,106, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72, 45, 28, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,216, 43, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, - 0, 0,184, 65, 0, 0, 84, 67, 0, 0, 48,194, 0, 0, 0, 0,189, 0, 0, 0,206, 0, 0, 0, 18, 0, 0, 0, 61, 0, 0, 0, - 0, 0, 0, 0,188, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,188, 0, 0, 0, 18, 0, 0, 0, 61, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 0, 0, 2, 0, 3, 3, - 0, 0, 12, 4, 6, 0,206, 0, 62, 0,189, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -129, 4, 0, 0, 78, 5, 0, 0, 49, 2, 0, 0,110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -206, 0, 62, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 72, 98,251, 6, 0, 0, 0, 0,152, 9, 68, 8, 0, 0, 0, 0,152, 9, 68, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,200, 86,106, 7, 0, 0, 0, 0, 56, 89,106, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,184, 46, 28, 7, 0, 0, 0, 0,184, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72, 83,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,216, 81,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0, 0, 0, + 95, 6, 0, 0,167, 0, 0, 0,247, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 5, 81, 3, + 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,230, 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,216,185, 89, 8, 0, 0, 0, 0,216,185, 89, 8, 0, 0, 0, 0, 24, 48, 28, 7, 0, 0, 0, 0, - 0,115,101, 32, 83, 99,117,108,112,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0, - 24, 48, 28, 7, 0, 0, 0, 0,238, 0, 0, 0, 1, 0, 0, 0, 42, 11, 0, 0, 42, 11, 0, 0,120, 48, 28, 7, 0, 0, 0, 0, - 68, 65, 84, 65,160,178, 0, 0,120, 48, 28, 7, 0, 0, 0, 0,237, 0, 0, 0, 42, 11, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, -120,101, 30, 7, 0, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0,120,101, 30, 7, 0, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0, -120,101, 30, 7, 0, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, - 40,128, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,152,137, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, - 56,192, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,120,151, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, -136,173, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,216,144, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, -104,123, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,248,130, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, - 88,122, 30, 7, 0, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0,120,101, 30, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, -184,212, 30, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, - 88,122, 30, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104,123, 30, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 30, 0,255,255, 3, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,152, 25, 27, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -136,125, 27, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 8,234, 27, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -168, 6, 29, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,152,158, 29, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, - 8,238, 29, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 40, 53, 30, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, -136,173, 30, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,168, 22, 27, 7, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, - 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -248,222, 30, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, - 56,249, 30, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, - 56, 28, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -248, 36, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, - 56, 63, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -248, 71, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, - 56, 98, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -248,106, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, - 56,133, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -248,141, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, - 56,168, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -248,176, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, - 56,203, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -248,211, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,184,220, 31, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, - 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, - 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, - 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, - 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, - 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, - 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, - 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, - 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, - 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, - 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, - 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, - 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, - 88,122, 30, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,123, 30, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -104,123, 30, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,123, 30, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -104,123, 30, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,123, 30, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -104,123, 30, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,123, 30, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -104,123, 30, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,123, 30, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -104,123, 30, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104,123, 30, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -104,123, 30, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104,123, 30, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -104,123, 30, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104,123, 30, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -104,123, 30, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104,123, 30, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -104,123, 30, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104,123, 30, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -104,123, 30, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104,123, 30, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -104,123, 30, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104,123, 30, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -104,123, 30, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104,123, 30, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -104,123, 30, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104,123, 30, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -104,123, 30, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104,123, 30, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -104,123, 30, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104,123, 30, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 70, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 72, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 74, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 76, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 78, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 80, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 82, 0, 1, 0, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, - 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 70, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 72, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 74, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 76, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 78, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 80, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 82, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 84, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 85, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 86, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 87, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 88, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 89, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 90, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 91, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 92, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 93, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 94, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 95, 0, 1, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 31, 0, 96, 0, 1, 0, 0, 0, -248,130, 30, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 70, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 72, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 74, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 76, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 78, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 80, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 82, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 84, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 85, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 86, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 87, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 88, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 89, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 90, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 91, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 92, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 93, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 94, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 95, 0, 1, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 31, 0, 96, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 70, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 72, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 74, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 76, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 78, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 80, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 82, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 84, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 85, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 86, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 87, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 88, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 89, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 90, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 91, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 92, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 93, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 94, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 95, 0, 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0, 31, 0, 96, 0, 1, 0, 0, 0, -216,144, 30, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,152, 25, 27, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -152, 25, 27, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,152, 25, 27, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -152, 25, 27, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,152, 25, 27, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -152, 25, 27, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,152, 25, 27, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -152, 25, 27, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,152, 25, 27, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -152, 25, 27, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,136,125, 27, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -136,125, 27, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,136,125, 27, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -136,125, 27, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,136,125, 27, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -136,125, 27, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,136,125, 27, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -136,125, 27, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,136,125, 27, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -136,125, 27, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 8,234, 27, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, - 8,234, 27, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 8,234, 27, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, - 8,234, 27, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 8,234, 27, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, - 8,234, 27, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 8,234, 27, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, - 8,234, 27, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 8,234, 27, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, - 8,234, 27, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168, 6, 29, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -168, 6, 29, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168, 6, 29, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -168, 6, 29, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168, 6, 29, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -168, 6, 29, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168, 6, 29, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -168, 6, 29, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168, 6, 29, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -168, 6, 29, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,152,158, 29, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -152,158, 29, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,152,158, 29, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -152,158, 29, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,152,158, 29, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -152,158, 29, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,152,158, 29, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -152,158, 29, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,152,158, 29, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -152,158, 29, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 8,238, 29, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, - 8,238, 29, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 8,238, 29, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, - 8,238, 29, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 8,238, 29, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, - 8,238, 29, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 8,238, 29, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, - 8,238, 29, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 8,238, 29, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, - 8,238, 29, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40, 53, 30, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, - 40, 53, 30, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40, 53, 30, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, - 40, 53, 30, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40, 53, 30, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, - 40, 53, 30, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40, 53, 30, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, - 40, 53, 30, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40, 53, 30, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, - 40, 53, 30, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,136,173, 30, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, -136,173, 30, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,136,173, 30, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, -136,173, 30, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,136,173, 30, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, -136,173, 30, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,136,173, 30, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, -136,173, 30, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,136,173, 30, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, -136,173, 30, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,136,173, 30, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, -136,173, 30, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,136,173, 30, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, -136,173, 30, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,136,173, 30, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, -136,173, 30, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,136,173, 30, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, -136,173, 30, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,136,173, 30, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, -168, 22, 27, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,168, 22, 27, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, -168, 22, 27, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,168, 22, 27, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, -168, 22, 27, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,168, 22, 27, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, -168, 22, 27, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,168, 22, 27, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, -168, 22, 27, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,168, 22, 27, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, -168, 22, 27, 7, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, - 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, - 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, - 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, - 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, - 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, - 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, - 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, - 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, - 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, - 40,128, 30, 7, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40,128, 30, 7, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, -104,227, 28, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 42, 28, 7, 0, 0, 0, 0, -184,239, 27, 7, 0, 0, 0, 0, 24,237, 27, 7, 0, 0, 0, 0,104,238, 27, 7, 0, 0, 0, 0, 40,240, 27, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127, 4, 0, 0, 89, 0, 0, 0,136, 2, 0, 0, 1, 1,128, 4, 48, 2, 1, 0, - 0, 0, 0, 0, 0, 0, 8, 0, 40,103,251, 6, 0, 0, 0, 0,104, 4, 29, 7, 0, 0, 0, 0,104, 4, 29, 7, 0, 0, 0, 0, - 88,228, 28, 7, 0, 0, 0, 0, 56,255, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -152, 67,106, 7, 0, 0, 0, 0,216, 90,106, 7, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,228, 28, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0,200,229, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,108, 68, - 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,144, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127, 4, 0, 0, - 0, 0, 0, 0, 25, 0, 0, 0, 0,224,143, 68, 0, 0,200, 65, 0,224,143, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,128, 4, 26, 0,128, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127, 4, 0, 0, 89, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,128, 4, 26, 0, 10, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,136,113,251, 6, 0, 0, 0, 0,136, 39, 68, 8, 0, 0, 0, 0,136, 39, 68, 8, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 94,106, 7, 0, 0, 0, 0,184, 98,106, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,229, 28, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0,184,250, 28, 7, 0, 0, 0, 0, 88,228, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, - 0,192, 5,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 1, 0,159,195, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, - 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, - 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, - 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0, 62, 1,143, 0, 62, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0, 75, 1, 0, 0,136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,160, 0, 62, 1, 11, 0, 5, 0, 3, 0, 0, 0, 0, 0, 0, 0,160, 0, 50, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 72,110,251, 6, 0, 0, 0, 0,216,107,154, 8, 0, 0, 0, 0,216,107,154, 8, 0, 0, 0, 0, - 56,231, 28, 7, 0, 0, 0, 0, 24,249, 28, 7, 0, 0, 0, 0,248, 99,106, 7, 0, 0, 0, 0,104,102,106, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56,231, 28, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0,216,232, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,190,243, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101, 99,116,109,111, -100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101, 99,116,109,111, -100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 79, 98,106,101, 99,116, 32, 84,111,111,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233,253,143, 0,255, 1, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 11, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,216,232, 28, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120,234, 28, 7, 0, 0, 0, 0, - 56,231, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,114,117,115,104, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,117,254,143, 0,115, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120,234, 28, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0, 24,236, 28, 7, 0, 0, 0, 0,216,232, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,116,111, -111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,116,111, -111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 84,111,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74,254,143, 0, 61, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0, 24,236, 28, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184,237, 28, 7, 0, 0, 0, 0, -120,234, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,115,116,114,111,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,115,116,114,111,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116,114,111,107,101, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,254,143, 0, 0, 0, - 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184,237, 28, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0, 88,239, 28, 7, 0, 0, 0, 0, 24,236, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95, 99,117, -114,118,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95, 99,117, -114,118,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 67,117,114,118,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45,254,143, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0, 88,239, 28, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248,240, 28, 7, 0, 0, 0, 0, -184,237, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95, 97,112,112,101, 97,114, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95, 97,112,112,101, 97,114, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,112,112,101, 97,114, 97,110, - 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,229,253,143, 0, 0, 0, - 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,200,229,129, 5, 0, 0, 0, 0,248,228,129, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 84,167, 5, + 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0,184, 84,167, 5, 0, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0, 0, 0,140, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142,187,242, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,142, 6,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 11,210, 76,190, 0, 0, 0, 0, 68,239,209, 62, + 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188, +166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33,210,111,193, 0, 0,128, 63, 68,239,209, 62, + 70,119,105, 63,176, 84, 89,188, 0, 0, 0, 0, 52,177,205,190,142, 74, 70, 62,166, 33,101, 63, 0, 0, 0, 0,185,158, 81, 63, + 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0, 62, 95, 68, 65, 51,120,173,192,115,208,213, 64, 0, 0,128, 63,178,157,229, 62, + 53, 8, 67,191,116,169, 81,191,184,158, 81,191,117, 90,127, 63,194, 3,188, 62,158, 53,185, 62, 35, 44,185, 62,145,180,109,188, +174, 65,217, 63,218, 72,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 33,171,108, 65, 33,210,111, 65,100,240,191, 62, +110,116, 85, 63, 64,185, 70,188, 0, 0, 82,180, 51,239, 88,190, 2, 33,209, 61,210,167,241, 62, 0, 0, 88, 51,197,112,117,194, +178,208,216, 65,220,158, 5,194,231,251,159,192,221, 54,114, 66, 29,247,213,193, 58,221, 3, 66, 25, 4,160, 64, 68,239,209, 62, + 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188, +166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33,210,111,193, 0, 0,128, 63,178,157,229, 62, + 53, 8, 67,191,116,169, 81,191,184,158, 81,191,117, 90,127, 63,194, 3,188, 62,158, 53,185, 62, 35, 44,185, 62,145,180,109,188, +174, 65,217, 63,218, 72,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 33,171,108, 65, 33,210,111, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248,240, 28, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0,152,242, 28, 7, 0, 0, 0, 0, 88,239, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,118,101,114,116,101,120,112, 97, -105,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,118,101,114,116,101,120,112, 97, -105,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,149,253,143, 0,146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,152,242, 28, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56,244, 28, 7, 0, 0, 0, 0, -248,240, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93,254,143, 0, 0, 0, - 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154,191,178, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154,191,178, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,154,191,178, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 92, 62, 55, 63, + 56,186,224,190,237,203,148,190, 3,236,234,190, 33,210,111, 65, 33,210,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,134,210,162, 58, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 32, 33, 12, 66, 85,152,137, 66,113, 27,126, 66, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0,120, 88,167, 5, 0, 0, 0, 0,175, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65,205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 7, 0, 24,213,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56,244, 28, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0,216,245, 28, 7, 0, 0, 0, 0,152,242, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116, 95,111,112,116,105,111,110,115, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, + 1, 0, 3, 0, 8, 24,128, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 83, 78, 0, 0, 8, 1, 0, 0,184, 90,167, 5, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0,104,170,167, 5, + 0, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 71, 97, +109,101, 32, 76,111,103,105, 99, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,254,143, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 92,167, 5, 0, 0, 0, 0,184, 97,167, 5, + 0, 0, 0, 0, 40, 98,167, 5, 0, 0, 0, 0,232,106,167, 5, 0, 0, 0, 0, 88,107,167, 5, 0, 0, 0, 0,120,163,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8, 92,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,120, 92,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0,120, 92,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,232, 92,167, 5, 0, 0, 0, 0, 8, 92,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232, 92,167, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 88, 93,167, 5, 0, 0, 0, 0,120, 92,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88, 93,167, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0,200, 93,167, 5, 0, 0, 0, 0,232, 92,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200, 93,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56, 94,167, 5, + 0, 0, 0, 0, 88, 93,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0, 56, 94,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,168, 94,167, 5, 0, 0, 0, 0,200, 93,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168, 94,167, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 24, 95,167, 5, 0, 0, 0, 0, 56, 94,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24, 95,167, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0,136, 95,167, 5, 0, 0, 0, 0,168, 94,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6,140, 1, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136, 95,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248, 95,167, 5, + 0, 0, 0, 0, 24, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0,248, 95,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,104, 96,167, 5, 0, 0, 0, 0,136, 95,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104, 96,167, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,216, 96,167, 5, 0, 0, 0, 0,248, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 64, 5,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216, 96,167, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0, 72, 97,167, 5, 0, 0, 0, 0,104, 96,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 5,234, 3, + 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72, 97,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,184, 97,167, 5, + 0, 0, 0, 0,216, 96,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0,184, 97,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 97,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 98,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152, 98,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 92,167, 5, + 0, 0, 0, 0,232, 92,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152, 98,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8, 99,167, 5, 0, 0, 0, 0, 40, 98,167, 5, 0, 0, 0, 0,120, 92,167, 5, + 0, 0, 0, 0,200, 93,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 99,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120, 99,167, 5, 0, 0, 0, 0,152, 98,167, 5, 0, 0, 0, 0,232, 92,167, 5, + 0, 0, 0, 0, 56, 94,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 99,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232, 99,167, 5, 0, 0, 0, 0, 8, 99,167, 5, 0, 0, 0, 0,200, 93,167, 5, + 0, 0, 0, 0, 56, 94,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 99,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88,100,167, 5, 0, 0, 0, 0,120, 99,167, 5, 0, 0, 0, 0,200, 93,167, 5, + 0, 0, 0, 0,168, 94,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,100,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200,100,167, 5, 0, 0, 0, 0,232, 99,167, 5, 0, 0, 0, 0,168, 94,167, 5, + 0, 0, 0, 0, 24, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,100,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56,101,167, 5, 0, 0, 0, 0, 88,100,167, 5, 0, 0, 0, 0, 88, 93,167, 5, + 0, 0, 0, 0,136, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,101,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,168,101,167, 5, 0, 0, 0, 0,200,100,167, 5, 0, 0, 0, 0, 24, 95,167, 5, + 0, 0, 0, 0,136, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,101,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24,102,167, 5, 0, 0, 0, 0, 56,101,167, 5, 0, 0, 0, 0, 8, 92,167, 5, + 0, 0, 0, 0,168, 94,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,102,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136,102,167, 5, 0, 0, 0, 0,168,101,167, 5, 0, 0, 0, 0, 8, 92,167, 5, + 0, 0, 0, 0,136, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,102,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,248,102,167, 5, 0, 0, 0, 0, 24,102,167, 5, 0, 0, 0, 0, 56, 94,167, 5, + 0, 0, 0, 0,248, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,102,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,104,103,167, 5, 0, 0, 0, 0,136,102,167, 5, 0, 0, 0, 0, 88, 93,167, 5, + 0, 0, 0, 0,248, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,103,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,216,103,167, 5, 0, 0, 0, 0,248,102,167, 5, 0, 0, 0, 0, 24, 95,167, 5, + 0, 0, 0, 0,248, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,103,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72,104,167, 5, 0, 0, 0, 0,104,103,167, 5, 0, 0, 0, 0,104, 96,167, 5, + 0, 0, 0, 0,216, 96,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,104,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184,104,167, 5, 0, 0, 0, 0,216,103,167, 5, 0, 0, 0, 0, 56, 94,167, 5, + 0, 0, 0, 0,216, 96,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,104,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40,105,167, 5, 0, 0, 0, 0, 72,104,167, 5, 0, 0, 0, 0,248, 95,167, 5, + 0, 0, 0, 0,104, 96,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,105,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152,105,167, 5, 0, 0, 0, 0,184,104,167, 5, 0, 0, 0, 0,168, 94,167, 5, + 0, 0, 0, 0, 72, 97,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,105,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8,106,167, 5, 0, 0, 0, 0, 40,105,167, 5, 0, 0, 0, 0,104, 96,167, 5, + 0, 0, 0, 0, 72, 97,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,106,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120,106,167, 5, 0, 0, 0, 0,152,105,167, 5, 0, 0, 0, 0,200, 93,167, 5, + 0, 0, 0, 0,184, 97,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,106,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232,106,167, 5, 0, 0, 0, 0, 8,106,167, 5, 0, 0, 0, 0,216, 96,167, 5, + 0, 0, 0, 0,184, 97,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,106,167, 5, + 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,106,167, 5, 0, 0, 0, 0, 72, 97,167, 5, + 0, 0, 0, 0,184, 97,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88,107,167, 5, + 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 40,111,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 93,167, 5, + 0, 0, 0, 0,120, 92,167, 5, 0, 0, 0, 0,232, 92,167, 5, 0, 0, 0, 0, 56, 94,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7, 27, 0, 1, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,169,167, 5, 0, 0, 0, 0,216,169,167, 5, 0, 0, 0, 0, 72,108,167, 5, + 0, 0, 0, 0,184,109,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,108,167, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0,184,109,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0, + 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,127, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,109,167, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,108,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,238, 68, 0, 0, 0, 0, 0, 0, 0, 64,112, 7, 0, 0,129, 7, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, + 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,216,245, 28, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120,247, 28, 7, 0, 0, 0, 0, - 56,244, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,115, 99,117,108,112,116, 95,115,121,109,109,101,116,114,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,115, 99,117,108,112,116, 95,115,121,109,109,101,116,114,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,121,109,109,101,116,114,121, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 40,111,167, 5, 0, 0, 0, 0,215, 0, 0, 0, + 1, 0, 0, 0,184,135,167, 5, 0, 0, 0, 0, 88,107,167, 5, 0, 0, 0, 0,136, 95,167, 5, 0, 0, 0, 0, 24, 95,167, 5, + 0, 0, 0, 0,248, 95,167, 5, 0, 0, 0, 0, 88, 93,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0, +126, 7, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 4, 4, 94, 1,140, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,120,134,167, 5, 0, 0, 0, 0,120,134,167, 5, 0, 0, 0, 0, 24,112,167, 5, 0, 0, 0, 0,136,113,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,253,143, 0, 0, 0, - 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,112,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,136,113,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, + 0, 0,175, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,174, 67, + 0, 0,200, 65, 0,128,174, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, + 10, 0, 94, 1, 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0, +126, 7, 0, 0,114, 1, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 26, 0, + 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120,247, 28, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0, 24,249, 28, 7, 0, 0, 0, 0,216,245, 28, 7, 0, 0, 0, 0, 8,193,243, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,109,101,115,104,101,100,105,116, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,113,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 24,112,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,174, 67, 0, 0, 61,196, 0, 0, 0, 0, 0, 0, 0, 0, +255,127,166, 67,255,255,184,195, 0, 0, 0, 0, 77, 1, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, + 78, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, + 6, 0, 94, 1,114, 1, 77, 1,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0, +126, 7, 0, 0, 0, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,109,101,115,104,101,100,105,116, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,114,167, 5, 0, 0, 0, 0,216,132,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 77,101,115,104, 32, 84,111,111,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248,114,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152,116,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, + 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, + 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116, +101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255, + 76, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,252,143, 0, 68, 3, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152,116,167, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56,118,167, 5, 0, 0, 0, 0,248,114,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0, 24,249, 28, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -120,247, 28, 7, 0, 0, 0, 0,120,195,243, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,116,111,111,108,115, 95,109,101,115,104,101,100,105,116, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,116,111,111,108,115, 95,109,101,115,104,101,100,105,116, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,101,115,104, 32, 79,112,116, -105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,235,251,143, 0,161, 0, - 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 76, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,250, 28, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0,200,253, 28, 7, 0, 0, 0, 0,200,229, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, - 0, 0, 90,195, 0, 0, 0, 0, 0, 0, 0, 0,227,102, 16, 67, 24, 30, 90,195, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, - 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, - 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, - 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,216, 0,143, 0,216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,115, 0, 0, 0, 74, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,160, 0,216, 0, 12, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 56,111,251, 6, 0, 0, 0, 0, 8, 95, 68, 8, 0, 0, 0, 0, 8, 95, 68, 8, 0, 0, 0, 0, - 40,252, 28, 7, 0, 0, 0, 0, 40,252, 28, 7, 0, 0, 0, 0,168,103,106, 7, 0, 0, 0, 0, 24,106,106, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 40,252, 28, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,112,251, 6, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56,118,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216,119,167, 5, + 0, 0, 0, 0,152,116,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101, +114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255, + 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 84,111,103,103,108,101, 32, 69,100,105,116,109,111,100,101, 0,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,255,144, 0, 16, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,119,167, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120,121,167, 5, 0, 0, 0, 0, 56,118,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,200,253, 28, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 56,255, 28, 7, 0, 0, 0, 0, -184,250, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 67, 0, 96,158,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, - 0, 96,158,196, 0,128,142,195,163, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0,213, 3, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, - 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0,213, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,180, 0, -214, 3,163, 0,214, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127, 4, 0, 0,127, 4, 0, 0, -115, 0, 0, 0,136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, - 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,105,251, 6, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254, 76, 1,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0, 56,255, 28, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -200,253, 28, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120,121,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24,123,167, 5, + 0, 0, 0, 0,216,119,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, + 45, 65,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254, + 76, 1, 58, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24,123,167, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184,124,167, 5, 0, 0, 0, 0,120,121,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117, +114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117, +114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0, 0, 0,127, 4, 0, 0, -115, 0, 0, 0,136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 3, 22, 2, 13, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,104,251, 6, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254, 76, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -216,139,106, 7, 0, 0, 0, 0, 8,139,106, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 0, 29, 7, 0, 0, 0, 0, - 68, 65, 84, 65,112, 3, 0, 0,168, 0, 29, 7, 0, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0, 0, 0,140, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,150, 9, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -142, 6,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 11,210, 76,190, 0, 0, 0, 0, 68,239,209, 62, 51,177,205,190, -184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, - 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33,210,111,193, 0, 0,128, 63, 68,239,209, 62, 70,119,105, 63, -176, 84, 89,188, 0, 0, 0, 0, 52,177,205,190,142, 74, 70, 62,166, 33,101, 63, 0, 0, 0, 0,185,158, 81, 63, 35, 44,185,190, - 43, 61,228, 62, 0, 0, 0, 0, 62, 95, 68, 65, 51,120,173,192,115,208,213, 64, 0, 0,128, 63,178,157,229, 62, 95,247, 80,191, -116,169, 81,191,184,158, 81,191,117, 90,127, 63,147,114,201, 62,158, 53,185, 62, 35, 44,185, 62,145,180,109,188, 85,199,232, 63, -218, 72,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 33,171,108, 65, 33,210,111, 65, 39,240,191, 62,124,116, 85, 63, - 96,189, 70,188, 0, 0,185,180,248,119, 74,190, 7, 47,195, 61,166,138,225, 62, 0, 0,132, 51,197,112,117,194,178,208,216, 65, -221,158, 5,194,231,251,159,192,221, 54,114, 66, 29,247,213,193, 59,221, 3, 66, 25, 4,160, 64, 68,239,209, 62, 51,177,205,190, -184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, - 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33,210,111,193, 0, 0,128, 63,178,157,229, 62, 95,247, 80,191, -116,169, 81,191,184,158, 81,191,117, 90,127, 63,147,114,201, 62,158, 53,185, 62, 35, 44,185, 62,145,180,109,188, 85,199,232, 63, -218, 72,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 33,171,108, 65, 33,210,111, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184,124,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 88,126,167, 5, + 0, 0, 0, 0, 24,123,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100, +105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,254, + 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88,126,167, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248,127,167, 5, 0, 0, 0, 0,184,124,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99, +101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99, +101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,253, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248,127,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152,129,167, 5, + 0, 0, 0, 0, 88,126,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, + 32, 80,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,253, + 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,171,158, 4, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,171,158, 4, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -171,158, 4, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 92, 62, 55, 63, 56,186,224,190, -237,203,148,190, 3,236,234,190, 33,210,111, 65, 33,210,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,125,155,241, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 32, 33, 12, 66, 84,152,137, 66,113, 27,126, 66, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0,104, 4, 29, 7, 0, 0, 0, 0,175, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65,205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, -248,130, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152,129,167, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56,131,167, 5, 0, 0, 0, 0,248,127,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, - 8, 24,128, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,253, 76, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 83, 78, 0, 0, 8, 1, 0, 0,168, 6, 29, 7, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0,184, 86, 29, 7, 0, 0, 0, 0, - 8,234, 27, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 71, 97,109,101, 32, 76, -111,103,105, 99, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 7, 29, 7, 0, 0, 0, 0,168, 13, 29, 7, 0, 0, 0, 0, - 24, 14, 29, 7, 0, 0, 0, 0,216, 22, 29, 7, 0, 0, 0, 0, 72, 23, 29, 7, 0, 0, 0, 0,104, 79, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0,248, 7, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,104, 8, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, -104, 8, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,216, 8, 29, 7, 0, 0, 0, 0,248, 7, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216, 8, 29, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0, 72, 9, 29, 7, 0, 0, 0, 0,104, 8, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72, 9, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, -184, 9, 29, 7, 0, 0, 0, 0,216, 8, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0,184, 9, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 40, 10, 29, 7, 0, 0, 0, 0, - 72, 9, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, - 40, 10, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,152, 10, 29, 7, 0, 0, 0, 0,184, 9, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,126, 7,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152, 10, 29, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0, 8, 11, 29, 7, 0, 0, 0, 0, 40, 10, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8, 11, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, -120, 11, 29, 7, 0, 0, 0, 0,152, 10, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6,140, 1, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0,120, 11, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,232, 11, 29, 7, 0, 0, 0, 0, - 8, 11, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, -232, 11, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 88, 12, 29, 7, 0, 0, 0, 0,120, 11, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,126, 7,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88, 12, 29, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0,200, 12, 29, 7, 0, 0, 0, 0,232, 11, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 64, 5,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200, 12, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, - 56, 13, 29, 7, 0, 0, 0, 0, 88, 12, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 5,234, 3, 1, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0, 56, 13, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,168, 13, 29, 7, 0, 0, 0, 0, -200, 12, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, -168, 13, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 13, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 1,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 14, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,136, 14, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 8, 29, 7, 0, 0, 0, 0, -216, 8, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136, 14, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,248, 14, 29, 7, 0, 0, 0, 0, 24, 14, 29, 7, 0, 0, 0, 0,104, 8, 29, 7, 0, 0, 0, 0, -184, 9, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248, 14, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,104, 15, 29, 7, 0, 0, 0, 0,136, 14, 29, 7, 0, 0, 0, 0,216, 8, 29, 7, 0, 0, 0, 0, - 40, 10, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104, 15, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,216, 15, 29, 7, 0, 0, 0, 0,248, 14, 29, 7, 0, 0, 0, 0,184, 9, 29, 7, 0, 0, 0, 0, - 40, 10, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216, 15, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 72, 16, 29, 7, 0, 0, 0, 0,104, 15, 29, 7, 0, 0, 0, 0,184, 9, 29, 7, 0, 0, 0, 0, -152, 10, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72, 16, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,184, 16, 29, 7, 0, 0, 0, 0,216, 15, 29, 7, 0, 0, 0, 0,152, 10, 29, 7, 0, 0, 0, 0, - 8, 11, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184, 16, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 40, 17, 29, 7, 0, 0, 0, 0, 72, 16, 29, 7, 0, 0, 0, 0, 72, 9, 29, 7, 0, 0, 0, 0, -120, 11, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 17, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,152, 17, 29, 7, 0, 0, 0, 0,184, 16, 29, 7, 0, 0, 0, 0, 8, 11, 29, 7, 0, 0, 0, 0, -120, 11, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152, 17, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 8, 18, 29, 7, 0, 0, 0, 0, 40, 17, 29, 7, 0, 0, 0, 0,248, 7, 29, 7, 0, 0, 0, 0, -152, 10, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 18, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,120, 18, 29, 7, 0, 0, 0, 0,152, 17, 29, 7, 0, 0, 0, 0,248, 7, 29, 7, 0, 0, 0, 0, -120, 11, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 18, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,232, 18, 29, 7, 0, 0, 0, 0, 8, 18, 29, 7, 0, 0, 0, 0, 40, 10, 29, 7, 0, 0, 0, 0, -232, 11, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 18, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 88, 19, 29, 7, 0, 0, 0, 0,120, 18, 29, 7, 0, 0, 0, 0, 72, 9, 29, 7, 0, 0, 0, 0, -232, 11, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88, 19, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,200, 19, 29, 7, 0, 0, 0, 0,232, 18, 29, 7, 0, 0, 0, 0, 8, 11, 29, 7, 0, 0, 0, 0, -232, 11, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200, 19, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 56, 20, 29, 7, 0, 0, 0, 0, 88, 19, 29, 7, 0, 0, 0, 0, 88, 12, 29, 7, 0, 0, 0, 0, -200, 12, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 20, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,168, 20, 29, 7, 0, 0, 0, 0,200, 19, 29, 7, 0, 0, 0, 0, 40, 10, 29, 7, 0, 0, 0, 0, -200, 12, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168, 20, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 24, 21, 29, 7, 0, 0, 0, 0, 56, 20, 29, 7, 0, 0, 0, 0,232, 11, 29, 7, 0, 0, 0, 0, - 88, 12, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 21, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,136, 21, 29, 7, 0, 0, 0, 0,168, 20, 29, 7, 0, 0, 0, 0,152, 10, 29, 7, 0, 0, 0, 0, - 56, 13, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136, 21, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,248, 21, 29, 7, 0, 0, 0, 0, 24, 21, 29, 7, 0, 0, 0, 0, 88, 12, 29, 7, 0, 0, 0, 0, - 56, 13, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248, 21, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,104, 22, 29, 7, 0, 0, 0, 0,136, 21, 29, 7, 0, 0, 0, 0,184, 9, 29, 7, 0, 0, 0, 0, -168, 13, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104, 22, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0,216, 22, 29, 7, 0, 0, 0, 0,248, 21, 29, 7, 0, 0, 0, 0,200, 12, 29, 7, 0, 0, 0, 0, -168, 13, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216, 22, 29, 7, 0, 0, 0, 0, -213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 22, 29, 7, 0, 0, 0, 0, 56, 13, 29, 7, 0, 0, 0, 0, -168, 13, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 72, 23, 29, 7, 0, 0, 0, 0, -215, 0, 0, 0, 1, 0, 0, 0, 24, 27, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 9, 29, 7, 0, 0, 0, 0, -104, 8, 29, 7, 0, 0, 0, 0,216, 8, 29, 7, 0, 0, 0, 0, 40, 10, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 40, 86, 29, 7, 0, 0, 0, 0, 40, 86, 29, 7, 0, 0, 0, 0, 56, 24, 29, 7, 0, 0, 0, 0, -168, 25, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56, 24, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, -168, 25, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, - 0, 0, 0, 0, 0,224,239, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, - 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, - 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -127, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168, 25, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 56, 24, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,238, 68, 0, 0, 0, 0, 0, 0, 0, 64,112, 7, 0, 0,129, 7, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, - 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 24, 27, 29, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, -168, 51, 29, 7, 0, 0, 0, 0, 72, 23, 29, 7, 0, 0, 0, 0,120, 11, 29, 7, 0, 0, 0, 0, 8, 11, 29, 7, 0, 0, 0, 0, -232, 11, 29, 7, 0, 0, 0, 0, 72, 9, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0, - 0, 0, 0, 0,139, 1, 0, 0, 4, 4, 94, 1,140, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -104, 50, 29, 7, 0, 0, 0, 0,104, 50, 29, 7, 0, 0, 0, 0, 8, 28, 29, 7, 0, 0, 0, 0,120, 29, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0, 8, 28, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,120, 29, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,175, 67, - 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,174, 67, 0, 0,200, 65, - 0,128,174, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 94, 1, - 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0, -114, 1, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 26, 0, 0, 0, 1, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56,131,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216,132,167, 5, + 0, 0, 0, 0,152,129,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, + 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112, +117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,253, + 76, 1,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,120, 29, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 8, 28, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,174, 67, 0, 0, 61,196, 0, 0, 0, 0, 0, 0, 0, 0,255,127,166, 67, -255,255,184,195, 0, 0, 0, 0, 77, 1, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 78, 1, 0, 0, - 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0, 94, 1, -114, 1, 77, 1,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0, - 0, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1,114, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,132,167, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,131,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 30, 29, 7, 0, 0, 0, 0,200, 48, 29, 7, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,232, 30, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,136, 32, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, - 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, - 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255, 76, 1, 36, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,253, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,120,134,167, 5, 0, 0, 0, 0,180, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136, 32, 29, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0, 40, 34, 29, 7, 0, 0, 0, 0,232, 30, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 76, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 21, 0, 0, +160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184,135,167, 5, + 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 40,143,167, 5, 0, 0, 0, 0, 40,111,167, 5, 0, 0, 0, 0, 8, 92,167, 5, + 0, 0, 0, 0,168, 94,167, 5, 0, 0, 0, 0, 24, 95,167, 5, 0, 0, 0, 0,136, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 17, 17, 32, 6,140, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,142,167, 5, 0, 0, 0, 0,152,142,167, 5, 0, 0, 0, 0,168,136,167, 5, + 0, 0, 0, 0, 40,141,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,136,167, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 24,138,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 67, 0, 0, 0, 0, + 0, 0,208, 65, 0, 0, 0, 0, 0, 0,196, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 0,224,195, 68, 0, 0,200, 65, 0,224,195, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 32, 6, 26, 0, 32, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 32, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0, 40, 34, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,200, 35, 29, 7, 0, 0, 0, 0, -136, 32, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,138,167, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 40,141,167, 5, 0, 0, 0, 0,168,136,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 67, 0, 0,185,195, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 67, 0, 0,185,195, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0, +113, 1, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, +113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, + 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,220, 0,114, 1,203, 0,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,219, 0, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,220, 0,114, 1, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,139,167, 5, + 0, 0, 0, 0,136,139,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136,139,167, 5, 0, 0, 0, 0,214, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 76, 79, 71, 73, 67, 95, 80, 84, 95,112,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255, 76, 1, 0, 0, - 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 76, 79, 71, 73, 67, 95, 80, 84, 95,112,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,200, 35, 29, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0,104, 37, 29, 7, 0, 0, 0, 0, 40, 34, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,196,255,203, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 1, 0, 0, 40,141,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,138,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 68, 0, 0, 0, 0, 0, 0,112, 67, 0, 80, 31,195, 0,234,179, 68,224,198,182,194, +184,177,165, 67, 51, 5, 0, 0, 68, 5, 0, 0, 18, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 50, 5, 0, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 0, 0, 0, 0, 50, 5, 0, 0, 18, 0, 0, 0,113, 1, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,250, 70, + 0, 0,250, 70, 0, 0, 0, 63, 72,225,154, 63, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 68, 5,114, 1, 51, 5, + 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0, +139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 5,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254, 76, 1,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 72, 0, 0, 0,152,142,167, 5, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, +160, 0, 0, 0, 40,143,167, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,232,149,167, 5, 0, 0, 0, 0,184,135,167, 5, + 0, 0, 0, 0,104, 96,167, 5, 0, 0, 0, 0,216, 96,167, 5, 0, 0, 0, 0, 56, 94,167, 5, 0, 0, 0, 0,248, 95,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,126, 7, 0, 0,141, 1, 0, 0,233, 3, 0, 0, 9, 9, 62, 2, + 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,146,167, 5, 0, 0, 0, 0,248,146,167, 5, + 0, 0, 0, 0, 24,144,167, 5, 0, 0, 0, 0,136,145,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,144,167, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,136,145,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,230, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128, 15, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 61, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 64, 15, 68, 0, 0,200, 65, 0, 64, 15, 68, 0, 0,200, 65, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 62, 2, 26, 0, 62, 2, 26, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,126, 7, 0, 0,141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,104, 37, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 8, 39, 29, 7, 0, 0, 0, 0, -200, 35, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, - 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254, 76, 1, 58, 0, - 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,145,167, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,144,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0,128,181, 67, 0, 0, 0, 0, 0,128,218, 67, 0, 0, 0, 0,131,248, 1, 68, 0, 0, 0, 0, 86, 26, 3, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8, 39, 29, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0,168, 40, 29, 7, 0, 0, 0, 0,104, 37, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, + 61, 2, 0, 0, 0, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, + 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 4, 10, 0, 62, 2, 67, 2, 62, 2, 67, 2, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,126, 7, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 2, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 2, 0, 0,248,146,167, 5, + 0, 0, 0, 0,187, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254, 76, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,168, 40, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 72, 42, 29, 7, 0, 0, 0, 0, - 8, 39, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,254, 76, 1, 0, 0, - 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72, 42, 29, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0,232, 43, 29, 7, 0, 0, 0, 0,168, 40, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,253, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,232, 43, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,136, 45, 29, 7, 0, 0, 0, 0, - 72, 42, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, - 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,253, 76, 1, 0, 0, - 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136, 45, 29, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0, 40, 47, 29, 7, 0, 0, 0, 0,232, 43, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,232,149,167, 5, 0, 0, 0, 0,215, 0, 0, 0, + 1, 0, 0, 0,120,163,167, 5, 0, 0, 0, 0, 40,143,167, 5, 0, 0, 0, 0, 72, 97,167, 5, 0, 0, 0, 0,184, 97,167, 5, + 0, 0, 0, 0,216, 96,167, 5, 0, 0, 0, 0,104, 96,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, + 63, 5, 0, 0,141, 1, 0, 0,233, 3, 0, 0, 1, 1,251, 3, 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,200,161,167, 5, 0, 0, 0, 0,200,161,167, 5, 0, 0, 0, 0,216,150,167, 5, 0, 0, 0, 0,152,156,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,253, 76, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216,150,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 72,152,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, + 0,192,126, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,126, 68, + 0, 0,200, 65, 0,128,126, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, + 10, 0,251, 3, 26, 0,251, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, + 63, 5, 0, 0,141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,251, 3, 26, 0, + 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,152,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,184,153,167, 5, + 0, 0, 0, 0,216,150,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 15, 67,255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, +142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, + 6, 0,160, 0, 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, + 69, 1, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 67, 2, + 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,153,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 40,155,167, 5, + 0, 0, 0, 0, 72,152,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194, 0, 0, 0, 0, 0, 0, 0, 0, +231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, +142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, + 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, + 63, 5, 0, 0,167, 1, 0, 0,167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,155,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,152,156,167, 5, + 0, 0, 0, 0,184,153,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 67, 0, 0,109,196, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 35, 67, 0, 0,109,196, 0,128,145,195,163, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0,144, 2, 0, 0, 0, 0, 0, 0, +162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0,144, 2, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, + 6, 0,180, 0,145, 2,163, 0,145, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 5, 0, 0, + 63, 5, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0, 40, 47, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,200, 48, 29, 7, 0, 0, 0, 0, -136, 45, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,253, 76, 1,130, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,156,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 40,155,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,200, 48, 29, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 47, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, + 63, 5, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,251, 3, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,253, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,158,167, 5, + 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0, 8,158,167, 5, 0, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0,190, 35, 30, 61, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 40,139, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,111, 18, 3,187, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0,128, 0, 0, 0,128, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,190, 35, 30, 61, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 40,139, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,111, 18, 3,187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,149, 53,207, 65, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,121,107, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,255,255,249,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,190, 35, 30, 61, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 40,139, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,111, 18, 3,187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65,248, 0, 0, 0,104, 50, 29, 7, 0, 0, 0, 0,180, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 3,116, 64, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 3,116, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,207, 3,116, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,149, 53,207, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,221, 57, 80, 61, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 65, 0, 0, 5, 0,251,251, 0, 0, 92, 62, 55, 63, 56,186,224,190, +237,203,148,190, 3,236,234,190, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,180, 66, 0, 0,180, 66, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0,200,161,167, 5, 0, 0, 0, 0,175, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65,205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 7, 0, 24,213,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,168, 51, 29, 7, 0, 0, 0, 0, -215, 0, 0, 0, 1, 0, 0, 0, 24, 59, 29, 7, 0, 0, 0, 0, 24, 27, 29, 7, 0, 0, 0, 0,248, 7, 29, 7, 0, 0, 0, 0, -152, 10, 29, 7, 0, 0, 0, 0, 8, 11, 29, 7, 0, 0, 0, 0,120, 11, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 17, 17, 32, 6,140, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,136, 58, 29, 7, 0, 0, 0, 0,136, 58, 29, 7, 0, 0, 0, 0,152, 52, 29, 7, 0, 0, 0, 0, - 24, 57, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152, 52, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 8, 54, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 67, 0, 0, 0, 0, 0, 0,208, 65, - 0, 0, 0, 0, 0, 0,196, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, - 0,224,195, 68, 0, 0,200, 65, 0,224,195, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, - 4, 0, 12, 0, 10, 0, 32, 6, 26, 0, 32, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 32, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, + 1, 0, 3, 0, 8, 8,128, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8, 54, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 24, 57, 29, 7, 0, 0, 0, 0,152, 52, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 67, 0, 0,185,195, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 75, 67, 0, 0,185,195, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0,113, 1, 0, 0, - 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0,113, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, - 18, 0, 0, 4, 6, 0,220, 0,114, 1,203, 0,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,219, 0, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -220, 0,114, 1, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 55, 29, 7, 0, 0, 0, 0, -120, 55, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 55, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 76, 79, 71, 73, 67, 95, 80, 84, 95,112,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,120,163,167, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,232,149,167, 5, 0, 0, 0, 0,168, 94,167, 5, 0, 0, 0, 0,200, 93,167, 5, 0, 0, 0, 0,184, 97,167, 5, + 0, 0, 0, 0, 72, 97,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,141, 1, 0, 0, +233, 3, 0, 0, 3, 3, 68, 1, 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,167,167, 5, + 0, 0, 0, 0, 72,167,167, 5, 0, 0, 0, 0,104,164,167, 5, 0, 0, 0, 0,216,165,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 1, 0, 0,104,164,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,216,165,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,162, 67, 0, 0, 0, 0, + 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,161, 67, 0, 0,200, 65, 0,128,161, 67, + 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 68, 1, 26, 0, 68, 1, + 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,141, 1, 0, 0, +166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 76, 79, 71, 73, 67, 95, 80, 84, 95,112,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 1, 0, 0,216,165,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,164,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,153, 67, 0, 64, 12,196, + 0, 0, 0, 0, 51, 1, 0, 0, 68, 1, 0, 0, 18, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 50, 1, 0, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 0, 0, 0, 0, 50, 1, 0, 0, 18, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0, 68, 1, 67, 2, 51, 1, + 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,167, 1, 0, 0, +233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,196,255,203, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 24, 1, 0, 0, 72,167,167, 5, 0, 0, 0, 0,184, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, - 24, 57, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 54, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,160, 68, 0, 0, 0, 0, 0, 0,112, 67, 0, 80, 31,195, 0,234,179, 68,224,198,182,194,184,177,165, 67, - 51, 5, 0, 0, 68, 5, 0, 0, 18, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 50, 5, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, - 0, 0, 0, 0, 50, 5, 0, 0, 18, 0, 0, 0,113, 1, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,250, 70, 0, 0,250, 70, - 0, 0, 0, 63, 72,225,154, 63, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 68, 5,114, 1, 51, 5, 96, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 5,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 0, 0, 0, -136, 58, 29, 7, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, - 24, 59, 29, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,216, 65, 29, 7, 0, 0, 0, 0,168, 51, 29, 7, 0, 0, 0, 0, - 88, 12, 29, 7, 0, 0, 0, 0,200, 12, 29, 7, 0, 0, 0, 0, 40, 10, 29, 7, 0, 0, 0, 0,232, 11, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,126, 7, 0, 0,141, 1, 0, 0,233, 3, 0, 0, 9, 9, 62, 2, 93, 2, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 62, 29, 7, 0, 0, 0, 0,232, 62, 29, 7, 0, 0, 0, 0, - 8, 60, 29, 7, 0, 0, 0, 0,120, 61, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8, 60, 29, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0,120, 61, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,230, 67, - 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128, 15, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 2, 0, 0, - 0, 0, 0, 0, 25, 0, 0, 0, 0, 64, 15, 68, 0, 0,200, 65, 0, 64, 15, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 62, 2, 26, 0, 62, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,126, 7, 0, 0,141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 62, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120, 61, 29, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 60, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,181, 67, - 0, 0, 0, 0, 0,128,218, 67, 0, 0, 0, 0,131,248, 1, 68, 0, 0, 0, 0, 86, 26, 3, 68, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 2, 0, 0, - 0, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, - 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 4, 10, 0, 62, 2, 67, 2, 62, 2, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,126, 7, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 62, 2, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 82,137, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,120, 82,137, 5, 0, 0, 0, 0,238, 0, 0, 0, + 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0,168,168,167, 5, 0, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0,168,168,167, 5, + 0, 0, 0, 0,237, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 19, 0, 0, 0, + 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 21, 0, 1, 0, + 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 72,210,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0,184,219,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,184, 17,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0,248,232,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 8,255,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 88,226,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,232,205,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 24,213,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,216,204,168, 5, 0, 0, 0, 0, 21, 0, 0, 0, + 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 83, 78, 0, 0, 8, 1, 0, 0,104,170,167, 5, 0, 0, 0, 0,211, 0, 0, 0, + 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 83, 82, 77,111,116,105,111,110, 32, 84,114, 97, 99,107,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,171,167, 5, + 0, 0, 0, 0,104,177,167, 5, 0, 0, 0, 0,216,177,167, 5, 0, 0, 0, 0, 72,185,167, 5, 0, 0, 0, 0,184,185,167, 5, + 0, 0, 0, 0,248,225,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,184,168, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,184,171,167, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0, 40,172,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 40,172,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,152,172,167, 5, + 0, 0, 0, 0,184,171,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 4, 0, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0,152,172,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 8,173,167, 5, 0, 0, 0, 0, 40,172,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 98, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8,173,167, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,120,173,167, 5, 0, 0, 0, 0,152,172,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 62, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120,173,167, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0,232,173,167, 5, 0, 0, 0, 0, 8,173,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 4, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232,173,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 88,174,167, 5, + 0, 0, 0, 0,120,173,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 64, 4, 0, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0, 88,174,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,200,174,167, 5, 0, 0, 0, 0,232,173,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 5, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200,174,167, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56,175,167, 5, 0, 0, 0, 0, 88,174,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 88, 5, 64, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56,175,167, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0,168,175,167, 5, 0, 0, 0, 0,200,174,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,108, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,175,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 24,176,167, 5, + 0, 0, 0, 0, 56,175,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6,108, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0, 24,176,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,136,176,167, 5, 0, 0, 0, 0,168,175,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136,176,167, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248,176,167, 5, 0, 0, 0, 0, 24,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 62, 6,120, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,176,167, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0,104,177,167, 5, 0, 0, 0, 0,136,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 2,120, 3, + 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104,177,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,248,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 2, 64, 4, 1, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,216,177,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72,178,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 40,172,167, 5, 0, 0, 0, 0,152,172,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0, 72,178,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184,178,167, 5, 0, 0, 0, 0,216,177,167, 5, + 0, 0, 0, 0, 40,172,167, 5, 0, 0, 0, 0,120,173,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,184,178,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40,179,167, 5, 0, 0, 0, 0, 72,178,167, 5, + 0, 0, 0, 0,152,172,167, 5, 0, 0, 0, 0,232,173,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0, 40,179,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152,179,167, 5, 0, 0, 0, 0,184,178,167, 5, + 0, 0, 0, 0,120,173,167, 5, 0, 0, 0, 0,232,173,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,152,179,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8,180,167, 5, 0, 0, 0, 0, 40,179,167, 5, + 0, 0, 0, 0,184,171,167, 5, 0, 0, 0, 0, 8,173,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0, 8,180,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120,180,167, 5, 0, 0, 0, 0,152,179,167, 5, + 0, 0, 0, 0,184,171,167, 5, 0, 0, 0, 0, 56,175,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,120,180,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232,180,167, 5, 0, 0, 0, 0, 8,180,167, 5, + 0, 0, 0, 0, 8,173,167, 5, 0, 0, 0, 0,168,175,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,232,180,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88,181,167, 5, 0, 0, 0, 0,120,180,167, 5, + 0, 0, 0, 0, 56,175,167, 5, 0, 0, 0, 0,168,175,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0, 88,181,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200,181,167, 5, 0, 0, 0, 0,232,180,167, 5, + 0, 0, 0, 0, 56,175,167, 5, 0, 0, 0, 0, 24,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,200,181,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56,182,167, 5, 0, 0, 0, 0, 88,181,167, 5, + 0, 0, 0, 0,120,173,167, 5, 0, 0, 0, 0, 24,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0, 56,182,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,168,182,167, 5, 0, 0, 0, 0,200,181,167, 5, + 0, 0, 0, 0,232,173,167, 5, 0, 0, 0, 0,136,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,168,182,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24,183,167, 5, 0, 0, 0, 0, 56,182,167, 5, + 0, 0, 0, 0,168,175,167, 5, 0, 0, 0, 0,136,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0, 24,183,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136,183,167, 5, 0, 0, 0, 0,168,182,167, 5, + 0, 0, 0, 0, 24,176,167, 5, 0, 0, 0, 0,136,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,136,183,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,248,183,167, 5, 0, 0, 0, 0, 24,183,167, 5, + 0, 0, 0, 0, 24,176,167, 5, 0, 0, 0, 0,248,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,248,183,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,104,184,167, 5, 0, 0, 0, 0,136,183,167, 5, + 0, 0, 0, 0,136,176,167, 5, 0, 0, 0, 0,248,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,104,184,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,216,184,167, 5, 0, 0, 0, 0,248,183,167, 5, + 0, 0, 0, 0,120,173,167, 5, 0, 0, 0, 0,104,177,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,216,184,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72,185,167, 5, 0, 0, 0, 0,104,184,167, 5, + 0, 0, 0, 0,232,173,167, 5, 0, 0, 0, 0,104,177,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0, 72,185,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,184,167, 5, + 0, 0, 0, 0,248,176,167, 5, 0, 0, 0, 0,104,177,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, +160, 0, 0, 0,184,185,167, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,136,189,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,120,173,167, 5, 0, 0, 0, 0, 40,172,167, 5, 0, 0, 0, 0,152,172,167, 5, 0, 0, 0, 0,232,173,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 65, 4, 0, 0, 98, 4, 0, 0, 7, 7, 63, 6, + 34, 0, 1, 0, 0, 0, 0, 0, 7, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,241,167, 5, 0, 0, 0, 0,184,241,167, 5, + 0, 0, 0, 0,168,186,167, 5, 0, 0, 0, 0, 24,188,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,186,167, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 24,188,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,163, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,199, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 62, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,199, 68, 0, 0,200, 65, 0,192,199, 68, 0, 0,200, 65, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 63, 6, 26, 0, 63, 6, 26, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 65, 4, 0, 0, 90, 4, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,188,167, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,186,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0,192,239, 68, 0, 0, 0, 0, 0, 0,200, 65, 0, 0, 0, 0, 0,192,197, 68, 0, 0,128, 64, 0, 0, 64, 65, 46, 6, 0, 0, + 63, 6, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, + 45, 6, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0, 63, 6, 8, 0, 46, 6, 8, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 91, 4, 0, 0, 98, 4, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 6, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,136,189,167, 5, + 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,120,194,167, 5, 0, 0, 0, 0,184,185,167, 5, 0, 0, 0, 0,184,171,167, 5, + 0, 0, 0, 0, 56,175,167, 5, 0, 0, 0, 0,168,175,167, 5, 0, 0, 0, 0, 8,173,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 0, 0, 0, 0,107, 0, 0, 0, 15, 15, 63, 6,108, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,193,167, 5, 0, 0, 0, 0, 88,193,167, 5, 0, 0, 0, 0,120,190,167, 5, + 0, 0, 0, 0,232,191,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120,190,167, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0,232,191,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,199, 68, 0, 0, 0, 0, + 0, 0,208, 65, 0, 0, 0, 0, 0,224,199, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 0,192,199, 68, 0, 0,200, 65, 0,192,199, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 63, 6, 26, 0, 63, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 63, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232,191,167, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,190,167, 5, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, + 0, 0, 72, 66, 88,218,103,194, 40,147,141, 67, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 18, 0, 0, 0, + 81, 0, 0, 0, 0, 0,128, 63, 0, 0, 72, 66, 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, + 0, 0, 0, 2, 4, 0, 0, 4, 8, 0, 63, 6, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 26, 0, 0, 0,107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 63, 6, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,208, 0, 0, 0, 88,193,167, 5, 0, 0, 0, 0,191, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,120,194,167, 5, + 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 56,210,167, 5, 0, 0, 0, 0,136,189,167, 5, 0, 0, 0, 0, 56,175,167, 5, + 0, 0, 0, 0, 24,176,167, 5, 0, 0, 0, 0,136,176,167, 5, 0, 0, 0, 0,168,175,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0,109, 0, 0, 0,119, 3, 0, 0, 20, 20, 63, 6, 11, 3, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,208,167, 5, 0, 0, 0, 0,184,208,167, 5, 0, 0, 0, 0,104,195,167, 5, + 0, 0, 0, 0, 72,207,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104,195,167, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0,216,196,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 19, 68, 0, 0, 0, 0, + 0, 0,208, 65, 0, 0, 0, 0, 0,224,199, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 0,192,199, 68, 0, 0,200, 65, 0,192,199, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 2, 0, 3, 3, 4, 0, 0, 0, 10, 0, 63, 6, 26, 0, 63, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0,109, 0, 0, 0,134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 63, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216,196,167, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 72,198,167, 5, 0, 0, 0, 0,104,195,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 64, 30,196, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 30,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, +120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, +120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, + 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,121, 2,143, 0,121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,255, 0, 0, 0,119, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,160, 0,121, 2, 0, 0, 5, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,198,167, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 88,201,167, 5, 0, 0, 0, 0,216,196,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 0,240,194, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0,240,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, +119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, +119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, + 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,135, 0, 0, 0,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,160, 0,120, 0, 0, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,199,167, 5, + 0, 0, 0, 0,184,199,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184,199,167, 5, 0, 0, 0, 0,214, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 2, 0, 0,232, 62, 29, 7, 0, 0, 0, 0, -187, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 78,101,119, 32, 83, 99,114,101,101,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,216,255,143, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 1, 0, 0, 88,201,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,104,204,167, 5, 0, 0, 0, 0, 72,198,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 64, 60,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 60,196, + 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,240, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,240, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,241, 2,143, 0, +241, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 5, 0, 0, 62, 6, 0, 0,135, 0, 0, 0, +119, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,241, 2, 0, 0, 4, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,202,167, 5, 0, 0, 0, 0,200,202,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 88, 1, 0, 0,200,202,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 76, 73, 80, 95, 80, 84, 95,103,112,101,110, + 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 76, 73, 80, 95, 80, 84, 95,103,112,101,110, + 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71,114,101, 97,115,101, 32, 80,101,110, 99,105, +108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,255,143, 0, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104,204,167, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0,216,205,167, 5, 0, 0, 0, 0, 88,201,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64,110,196, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 67, 0,192,105,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0, 18, 0, 0, 0, +184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 8, 0, 0, 0, + 2, 0, 3, 3, 0, 0, 2, 0, 6, 0,160, 0,185, 3,160, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,160, 0, 0, 0,160, 0, 0, 0,135, 0, 0, 0,119, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216,205,167, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 72,207,167, 5, 0, 0, 0, 0,104,204,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 32,193, + 0, 0, 32, 65, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 32,193, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 0, 0, 0,128, 0, 0,124,146, 72,255,255,127,127, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,160, 0, 0, 0,160, 0, 0, 0,135, 0, 0, 0,119, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,207,167, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,205,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128,255, 0, 0,128,127, 0, 0,128,255, 0, 0,128,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 4, 0, 0, 0, 0, 0, 0, +241, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, 0, 0, 0, 0, + 1, 0, 3, 0, 0, 0, 0, 4, 10, 0,255, 4,241, 2,255, 4,241, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,160, 0, 0, 0,158, 5, 0, 0,135, 0, 0, 0,119, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,255, 4,241, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,184,208,167, 5, 0, 0, 0, 0,197, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 17,200, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,216, 65, 29, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, -104, 79, 29, 7, 0, 0, 0, 0, 24, 59, 29, 7, 0, 0, 0, 0, 56, 13, 29, 7, 0, 0, 0, 0,168, 13, 29, 7, 0, 0, 0, 0, -200, 12, 29, 7, 0, 0, 0, 0, 88, 12, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0, -141, 1, 0, 0,233, 3, 0, 0, 1, 1,251, 3, 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -184, 77, 29, 7, 0, 0, 0, 0,184, 77, 29, 7, 0, 0, 0, 0,200, 66, 29, 7, 0, 0, 0, 0,136, 72, 29, 7, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, +160, 0, 0, 0, 56,210,167, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,248,225,167, 5, 0, 0, 0, 0,120,194,167, 5, + 0, 0, 0, 0,248,176,167, 5, 0, 0, 0, 0,104,177,167, 5, 0, 0, 0, 0,232,173,167, 5, 0, 0, 0, 0,136,176,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, 62, 6, 0, 0,121, 3, 0, 0, 63, 4, 0, 0, 20, 20,110, 3, +199, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,224,167, 5, 0, 0, 0, 0,120,224,167, 5, + 0, 0, 0, 0, 40,211,167, 5, 0, 0, 0, 0, 8,223,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,211,167, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,152,212,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,212, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128, 91, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +109, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 64, 91, 68, 0, 0,200, 65, 0, 64, 91, 68, 0, 0,200, 65, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 0, 0, 10, 0,110, 3, 26, 0,110, 3, 26, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, 62, 6, 0, 0,121, 3, 0, 0,146, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,110, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,212,167, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 8,214,167, 5, 0, 0, 0, 0, 40,211,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0,128,178, 67, 0, 0, 84,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 84,194, 0, 0, 0, 0,143, 0, 0, 0, +160, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +142, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 53, 0,143, 0, 53, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0,209, 2, 0, 0,147, 3, 0, 0, 63, 4, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8,214,167, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 24,217,167, 5, 0, 0, 0, 0,152,212,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0,128,178, 67, 0, 0,240,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0,240,194, 0, 0, 0, 0,143, 0, 0, 0, +160, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +142, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0,120, 0,143, 0,120, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0,209, 2, 0, 0,147, 3, 0, 0, 63, 4, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,120,215,167, 5, 0, 0, 0, 0,120,215,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120,215,167, 5, + 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111, +114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111, +114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,101,119, 32, 83, 99,114,101,101,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,255,143, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,217,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 40,220,167, 5, + 0, 0, 0, 0, 8,214,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 0, 45,195, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 15, 67, 0, 0, 45,195, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, + 6, 0,160, 0,173, 0,143, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, +209, 2, 0, 0,147, 3, 0, 0, 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,218,167, 5, 0, 0, 0, 0,136,218,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136,218,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 76, 73, 80, + 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 76, 73, 80, + 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71,114,101, 97, +115,101, 32, 80,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,255, +143, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,220,167, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,152,221,167, 5, 0, 0, 0, 0, 24,217,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 15, 67, 0, 0, 45,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 67, 0, 0, 27,195, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, +159, 0, 0, 0, 18, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 8, 4, 0, 0, 2, 0, 3, 3, 0, 0, 2, 4, 6, 0,160, 0,173, 0,160, 0,155, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0,112, 3, 0, 0,147, 3, 0, 0, 63, 4, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,173, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,221,167, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 8,223,167, 5, 0, 0, 0, 0, 40,220,167, 5, 0, 0, 0, 0, 0, 0, 32,193, + 0,128, 91, 68,171,170,132,194, 0, 0, 0, 0, 0, 0, 32,193, 0,128, 91, 68, 0, 0, 27,195, 0, 0, 0, 0,189, 2, 0, 0, +206, 2, 0, 0, 18, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0,188, 2, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, +188, 2, 0, 0, 18, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,146, 72,255,255,127,127, 10,215, 35, 60, + 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2, 16, 0, 2, 4, 4, 0,206, 2,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,113, 3, 0, 0, 62, 6, 0, 0,147, 3, 0, 0, 63, 4, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,206, 2,173, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8,223,167, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,221,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,255, 0, 0,128,127, 0, 0,128,255, 0, 0,128,127, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 46, 2, 0, 0, 0, 0, 0, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, + 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 10, 0, 46, 2,173, 0, 46, 2,173, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,120,224,167, 5, + 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,200, 0, 0, 0, 0, 2, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,200, 66, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 56, 68, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192,126, 68, - 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,126, 68, 0, 0,200, 65, - 0,128,126, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,251, 3, - 26, 0,251, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0, -141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,251, 3, 26, 0, 0, 0, 1, 0, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0, 56, 68, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,168, 69, 29, 7, 0, 0, 0, 0, -200, 66, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, -255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, - 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, - 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 69, 1, 0, 0, -167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 67, 2, 0, 0, 5, 0, - 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,168, 69, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 24, 71, 29, 7, 0, 0, 0, 0, - 56, 68, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194, 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, - 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, - 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0, -120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0, -167, 1, 0, 0,167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, - 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248,225,167, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 56,210,167, 5, 0, 0, 0, 0, 24,176,167, 5, 0, 0, 0, 0,120,173,167, 5, 0, 0, 0, 0,104,177,167, 5, + 0, 0, 0, 0,248,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 2, 0, 0,121, 3, 0, 0, + 63, 4, 0, 0, 20, 20,208, 2,199, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,240,167, 5, + 0, 0, 0, 0, 56,240,167, 5, 0, 0, 0, 0,232,226,167, 5, 0, 0, 0, 0,200,238,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 1, 0, 0,232,226,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 88,228,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,212, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 52, 68, 0, 0, 0, 0, + 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,207, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 51, 68, 0, 0,200, 65, 0,192, 51, 68, + 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 0, 0, 10, 0,208, 2, 26, 0,208, 2, + 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 2, 0, 0,121, 3, 0, 0, +146, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0, 24, 71, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,136, 72, 29, 7, 0, 0, 0, 0, -168, 69, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 67, 0, 0,109,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, - 0, 0,109,196, 0,128,145,195,163, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0,144, 2, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, - 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0,144, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,180, 0, -145, 2,163, 0,145, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 5, 0, 0, 63, 5, 0, 0, -167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, - 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 1, 0, 0, 88,228,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,200,229,167, 5, 0, 0, 0, 0,232,226,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 0, 84,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 84,194, + 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 53, 0,143, 0, + 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,147, 3, 0, 0, + 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,136, 72, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 24, 71, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 1, 0, 0,200,229,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,216,232,167, 5, 0, 0, 0, 0, 88,228,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 0,240,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0,240,194, + 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0,120, 0,143, 0, +120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,147, 3, 0, 0, + 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,231,167, 5, 0, 0, 0, 0, 56,231,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 88, 1, 0, 0, 56,231,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, + 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, + 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,101,119, 32, 83, 99,114,101,101,110, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,255,143, 0, 16, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216,232,167, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0,232,235,167, 5, 0, 0, 0, 0,200,229,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 0, 45,195, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 45,195, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, +172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, +172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, + 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0,173, 0,143, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,147, 3, 0, 0, 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,234,167, 5, + 0, 0, 0, 0, 72,234,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72,234,167, 5, 0, 0, 0, 0,214, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 67, 76, 73, 80, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 67, 76, 73, 80, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 71,114,101, 97,115,101, 32, 80,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0, -167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,251, 3, 67, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,232,255,143, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 73, 29, 7, 0, 0, 0, 0, - 68, 65, 84, 65,112, 3, 0, 0,248, 73, 29, 7, 0, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0,190, 35, 30, 61, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 40,139, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -111, 18, 3,187, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0,128, 0, 0, 0,128, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,190, 35, 30, 61, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 40,139, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -111, 18, 3,187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,149, 53,207, 65, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,121,107, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -255,255,249,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,190, 35, 30, 61, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 40,139, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -111, 18, 3,187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 1, 0, 0,232,235,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 88,237,167, 5, 0, 0, 0, 0,216,232,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64,110,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 67, 0,192,105,196, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0, 18, 0, 0, 0,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 8, 0, 0, 0, 2, 0, 3, 3, 0, 0, 2, 0, 6, 0,160, 0,185, 3,160, 0, +167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,147, 3, 0, 0, + 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 1, 0, 0, 88,237,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,200,238,167, 5, 0, 0, 0, 0,232,235,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 32,193, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 32,193, + 0, 0, 32, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,172, 0, 0, 0, 18, 0, 0, 0,207, 2, 0, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 18, 0, 0, 0,207, 2, 0, 0, 18, 0, 0, 0,172, 0, 0, 0, 0, 0,128, 0, 0, 0,128, 0, 0,124,146, 72, +255,255,127,127, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0,208, 2,173, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 2, 0, 0,147, 3, 0, 0, + 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 2,173, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 1, 0, 0,200,238,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,237,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,255, 0, 0,128,127, 0, 0,128,255, + 0, 0,128,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,144, 1, 0, 0, 0, 0, 0, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 10, 0,144, 1,173, 0,144, 1, +173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 56, 1, 0, 0, 56,240,167, 5, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,200, 0, 0, 0, 0, 1, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 3,116, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 3,116, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -207, 3,116, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,149, 53,207, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,221, 57, 80, 61, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 65, 0, 0, 5, 0,251,251, 0, 0, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, - 3,236,234,190, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,180, 66, 0, 0,180, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0,184, 77, 29, 7, 0, 0, 0, 0,175, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65,205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, -248,130, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, - 8, 8,128, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 8, 1, 0, 0, 72,242,167, 5, 0, 0, 0, 0,211, 0, 0, 0, + 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0,104,170,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 83, 82, 83, 99,114,105,112,116,105,110,103, 0,103, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65,160, 0, 0, 0,104, 79, 29, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -216, 65, 29, 7, 0, 0, 0, 0,152, 10, 29, 7, 0, 0, 0, 0,184, 9, 29, 7, 0, 0, 0, 0,168, 13, 29, 7, 0, 0, 0, 0, - 56, 13, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,141, 1, 0, 0,233, 3, 0, 0, - 3, 3, 68, 1, 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 83, 29, 7, 0, 0, 0, 0, - 56, 83, 29, 7, 0, 0, 0, 0, 88, 80, 29, 7, 0, 0, 0, 0,200, 81, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, - 88, 80, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,200, 81, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,162, 67, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,243,167, 5, + 0, 0, 0, 0, 72,249,167, 5, 0, 0, 0, 0,184,249,167, 5, 0, 0, 0, 0,232, 2,168, 5, 0, 0, 0, 0, 88, 3,168, 5, + 0, 0, 0, 0,184, 57,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,184,168, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,161, 67, 0, 0,200, 65, 0,128,161, 67, 0, 0,200, 65, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 68, 1, 26, 0, 68, 1, 26, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,141, 1, 0, 0,166, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152,243,167, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0, 8,244,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8,244,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,120,244,167, 5, + 0, 0, 0, 0,152,243,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0,120,244,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,232,244,167, 5, 0, 0, 0, 0, 8,244,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232,244,167, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 88,245,167, 5, 0, 0, 0, 0,120,244,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88,245,167, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0,200,245,167, 5, 0, 0, 0, 0,232,244,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 3, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200,245,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56,246,167, 5, + 0, 0, 0, 0, 88,245,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0, 56,246,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,168,246,167, 5, 0, 0, 0, 0,200,245,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,246,167, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 24,247,167, 5, 0, 0, 0, 0, 56,246,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,240, 5, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24,247,167, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0,136,247,167, 5, 0, 0, 0, 0,168,246,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 1, + 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136,247,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248,247,167, 5, + 0, 0, 0, 0, 24,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5,104, 1, 1, 0, 0, 0, 68, 65, 84, 65, + 32, 0, 0, 0,248,247,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,104,248,167, 5, 0, 0, 0, 0,136,247,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 2,104, 1, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104,248,167, 5, + 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,216,248,167, 5, 0, 0, 0, 0,248,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,240, 5,236, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216,248,167, 5, 0, 0, 0, 0,212, 0, 0, 0, + 1, 0, 0, 0, 72,249,167, 5, 0, 0, 0, 0,104,248,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,236, 2, + 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72,249,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,216,248,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 2,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,184,249,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40,250,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 8,244,167, 5, 0, 0, 0, 0,120,244,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0, 40,250,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152,250,167, 5, 0, 0, 0, 0,184,249,167, 5, + 0, 0, 0, 0, 8,244,167, 5, 0, 0, 0, 0, 88,245,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,152,250,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8,251,167, 5, 0, 0, 0, 0, 40,250,167, 5, + 0, 0, 0, 0,120,244,167, 5, 0, 0, 0, 0,200,245,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0, 8,251,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120,251,167, 5, 0, 0, 0, 0,152,250,167, 5, + 0, 0, 0, 0, 88,245,167, 5, 0, 0, 0, 0,200,245,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,120,251,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232,251,167, 5, 0, 0, 0, 0, 8,251,167, 5, + 0, 0, 0, 0,200,245,167, 5, 0, 0, 0, 0, 56,246,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,232,251,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88,252,167, 5, 0, 0, 0, 0,120,251,167, 5, + 0, 0, 0, 0,232,244,167, 5, 0, 0, 0, 0,168,246,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0, 88,252,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200,252,167, 5, 0, 0, 0, 0,232,251,167, 5, + 0, 0, 0, 0,152,243,167, 5, 0, 0, 0, 0, 24,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,200,252,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56,253,167, 5, 0, 0, 0, 0, 88,252,167, 5, + 0, 0, 0, 0, 88,245,167, 5, 0, 0, 0, 0, 24,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0, 56,253,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,168,253,167, 5, 0, 0, 0, 0,200,252,167, 5, + 0, 0, 0, 0, 56,246,167, 5, 0, 0, 0, 0,136,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,168,253,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24,254,167, 5, 0, 0, 0, 0, 56,253,167, 5, + 0, 0, 0, 0,168,246,167, 5, 0, 0, 0, 0,136,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0, 24,254,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136,254,167, 5, 0, 0, 0, 0,168,253,167, 5, + 0, 0, 0, 0, 24,247,167, 5, 0, 0, 0, 0,248,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,136,254,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,248,254,167, 5, 0, 0, 0, 0, 24,254,167, 5, + 0, 0, 0, 0,136,247,167, 5, 0, 0, 0, 0,248,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,248,254,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,104,255,167, 5, 0, 0, 0, 0,136,254,167, 5, + 0, 0, 0, 0,168,246,167, 5, 0, 0, 0, 0,104,248,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,104,255,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,216,255,167, 5, 0, 0, 0, 0,248,254,167, 5, + 0, 0, 0, 0, 56,246,167, 5, 0, 0, 0, 0,104,248,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,216,255,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72, 0,168, 5, 0, 0, 0, 0,104,255,167, 5, + 0, 0, 0, 0,200,245,167, 5, 0, 0, 0, 0,216,248,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0, 72, 0,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184, 0,168, 5, 0, 0, 0, 0,216,255,167, 5, + 0, 0, 0, 0,232,244,167, 5, 0, 0, 0, 0,216,248,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,184, 0,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40, 1,168, 5, 0, 0, 0, 0, 72, 0,168, 5, + 0, 0, 0, 0,104,248,167, 5, 0, 0, 0, 0,216,248,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0, 40, 1,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152, 1,168, 5, 0, 0, 0, 0,184, 0,168, 5, + 0, 0, 0, 0, 88,245,167, 5, 0, 0, 0, 0, 72,249,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,152, 1,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8, 2,168, 5, 0, 0, 0, 0, 40, 1,168, 5, + 0, 0, 0, 0, 56,246,167, 5, 0, 0, 0, 0, 72,249,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0, 8, 2,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120, 2,168, 5, 0, 0, 0, 0,152, 1,168, 5, + 0, 0, 0, 0,248,247,167, 5, 0, 0, 0, 0, 72,249,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,120, 2,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232, 2,168, 5, 0, 0, 0, 0, 8, 2,168, 5, + 0, 0, 0, 0, 24,247,167, 5, 0, 0, 0, 0,136,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,232, 2,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 2,168, 5, + 0, 0, 0, 0,152,243,167, 5, 0, 0, 0, 0,168,246,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, +160, 0, 0, 0, 88, 3,168, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 40, 7,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 88,245,167, 5, 0, 0, 0, 0, 8,244,167, 5, 0, 0, 0, 0,120,244,167, 5, 0, 0, 0, 0,200,245,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,169, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7, + 93, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 64,168, 5, 0, 0, 0, 0,120, 64,168, 5, + 0, 0, 0, 0, 72, 4,168, 5, 0, 0, 0, 0,184, 5,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72, 4,168, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,184, 5,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,236, 3, 0, 0, 5, 4, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184, 5,168, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 4,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0,192,239, 68, 0, 0, 0, 0, 0, 0, 28, 66, 0, 0, 0, 0, 0,192,237, 68, 0, 0, 0, 0, 0, 0,134, 66,110, 7, 0, 0, +127, 7, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, +109, 7, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 2, 2, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,127, 7, 67, 0,110, 7, 67, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,169, 3, 0, 0,235, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 40, 7,168, 5, + 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,184, 31,168, 5, 0, 0, 0, 0, 88, 3,168, 5, 0, 0, 0, 0,168,246,167, 5, + 0, 0, 0, 0,104,248,167, 5, 0, 0, 0, 0,216,248,167, 5, 0, 0, 0, 0,232,244,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,235, 2, 0, 0, 4, 4,142, 1,236, 2, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 30,168, 5, 0, 0, 0, 0,120, 30,168, 5, 0, 0, 0, 0, 24, 8,168, 5, + 0, 0, 0, 0,136, 9,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24, 8,168, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0,136, 9,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, + 0, 0,208, 65, 0, 0, 0, 0, 0, 0,199, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,141, 1, 0, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 0,128,198, 67, 0, 0,200, 65, 0,128,198, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,142, 1, 26, 0,142, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0,210, 2, 0, 0,235, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,142, 1, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136, 9,168, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 8,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,198, 67, 0, 0, 61,196, + 0, 0, 0, 0, 0, 0, 0, 0,254,127,190, 67,254,127, 52,196, 0, 0, 0, 0,125, 1, 0, 0,142, 1, 0, 0, 0, 0, 0, 0, +209, 2, 0, 0, 0, 0, 0, 0,126, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, +209, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, + 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,142, 1,210, 2,125, 1,210, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,142, 1,210, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 10,168, 5, + 0, 0, 0, 0,216, 28,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248, 10,168, 5, 0, 0, 0, 0,214, 0, 0, 0, + 1, 0, 0, 0,152, 12,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,220,255,124, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, -200, 81, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 80, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,153, 67, 0, 64, 12,196, 0, 0, 0, 0, - 51, 1, 0, 0, 68, 1, 0, 0, 18, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 50, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, - 0, 0, 0, 0, 50, 1, 0, 0, 18, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0, 68, 1, 67, 2, 51, 1, 49, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,167, 1, 0, 0,233, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, - 56, 83, 29, 7, 0, 0, 0, 0,184, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,152, 84, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,152, 84, 29, 7, 0, 0, 0, 0,238, 0, 0, 0, 1, 0, 0, 0, - 14, 0, 0, 0, 14, 0, 0, 0,248, 84, 29, 7, 0, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0,248, 84, 29, 7, 0, 0, 0, 0, -237, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,120,101, 30, 7, 0, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0, -120,101, 30, 7, 0, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0,120,101, 30, 7, 0, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0, -120,101, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 40,128, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, -152,137, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56,192, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, -120,151, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,136,173, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, -216,144, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,104,123, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, -248,130, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 88,122, 30, 7, 0, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0, -120,101, 30, 7, 0, 0, 0, 0, 83, 78, 0, 0, 8, 1, 0, 0,184, 86, 29, 7, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0, -152,158, 29, 7, 0, 0, 0, 0,168, 6, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 83, 82, 77,111,116,105,111,110, 32, 84,114, 97, 99,107,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 88, 29, 7, 0, 0, 0, 0, -184, 93, 29, 7, 0, 0, 0, 0, 40, 94, 29, 7, 0, 0, 0, 0,152,101, 29, 7, 0, 0, 0, 0, 8,102, 29, 7, 0, 0, 0, 0, - 72,142, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8, 88, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, -120, 88, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0,120, 88, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,232, 88, 29, 7, 0, 0, 0, 0, - 8, 88, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, -232, 88, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 88, 89, 29, 7, 0, 0, 0, 0,120, 88, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 98, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88, 89, 29, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0,200, 89, 29, 7, 0, 0, 0, 0,232, 88, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 62, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200, 89, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, - 56, 90, 29, 7, 0, 0, 0, 0, 88, 89, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 4, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0, 56, 90, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,168, 90, 29, 7, 0, 0, 0, 0, -200, 89, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 64, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, -168, 90, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 24, 91, 29, 7, 0, 0, 0, 0, 56, 90, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 88, 5, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24, 91, 29, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0,136, 91, 29, 7, 0, 0, 0, 0,168, 90, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 88, 5, 64, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136, 91, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, -248, 91, 29, 7, 0, 0, 0, 0, 24, 91, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,108, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0,248, 91, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,104, 92, 29, 7, 0, 0, 0, 0, -136, 91, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6,108, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, -104, 92, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,216, 92, 29, 7, 0, 0, 0, 0,248, 91, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216, 92, 29, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0, 72, 93, 29, 7, 0, 0, 0, 0,104, 92, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 62, 6,120, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72, 93, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, -184, 93, 29, 7, 0, 0, 0, 0,216, 92, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 2,120, 3, 1, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0,184, 93, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 72, 93, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 2, 64, 4, 1, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 40, 94, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152, 94, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -120, 88, 29, 7, 0, 0, 0, 0,232, 88, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -152, 94, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8, 95, 29, 7, 0, 0, 0, 0, 40, 94, 29, 7, 0, 0, 0, 0, -120, 88, 29, 7, 0, 0, 0, 0,200, 89, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 8, 95, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120, 95, 29, 7, 0, 0, 0, 0,152, 94, 29, 7, 0, 0, 0, 0, -232, 88, 29, 7, 0, 0, 0, 0, 56, 90, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -120, 95, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232, 95, 29, 7, 0, 0, 0, 0, 8, 95, 29, 7, 0, 0, 0, 0, -200, 89, 29, 7, 0, 0, 0, 0, 56, 90, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -232, 95, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88, 96, 29, 7, 0, 0, 0, 0,120, 95, 29, 7, 0, 0, 0, 0, - 8, 88, 29, 7, 0, 0, 0, 0, 88, 89, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 88, 96, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200, 96, 29, 7, 0, 0, 0, 0,232, 95, 29, 7, 0, 0, 0, 0, - 8, 88, 29, 7, 0, 0, 0, 0,136, 91, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -200, 96, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56, 97, 29, 7, 0, 0, 0, 0, 88, 96, 29, 7, 0, 0, 0, 0, - 88, 89, 29, 7, 0, 0, 0, 0,248, 91, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 56, 97, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,168, 97, 29, 7, 0, 0, 0, 0,200, 96, 29, 7, 0, 0, 0, 0, -136, 91, 29, 7, 0, 0, 0, 0,248, 91, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -168, 97, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24, 98, 29, 7, 0, 0, 0, 0, 56, 97, 29, 7, 0, 0, 0, 0, -136, 91, 29, 7, 0, 0, 0, 0,104, 92, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 24, 98, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136, 98, 29, 7, 0, 0, 0, 0,168, 97, 29, 7, 0, 0, 0, 0, -200, 89, 29, 7, 0, 0, 0, 0,104, 92, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -136, 98, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,248, 98, 29, 7, 0, 0, 0, 0, 24, 98, 29, 7, 0, 0, 0, 0, - 56, 90, 29, 7, 0, 0, 0, 0,216, 92, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -248, 98, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,104, 99, 29, 7, 0, 0, 0, 0,136, 98, 29, 7, 0, 0, 0, 0, -248, 91, 29, 7, 0, 0, 0, 0,216, 92, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -104, 99, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,216, 99, 29, 7, 0, 0, 0, 0,248, 98, 29, 7, 0, 0, 0, 0, -104, 92, 29, 7, 0, 0, 0, 0,216, 92, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -216, 99, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72,100, 29, 7, 0, 0, 0, 0,104, 99, 29, 7, 0, 0, 0, 0, -104, 92, 29, 7, 0, 0, 0, 0, 72, 93, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 72,100, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184,100, 29, 7, 0, 0, 0, 0,216, 99, 29, 7, 0, 0, 0, 0, -216, 92, 29, 7, 0, 0, 0, 0, 72, 93, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -184,100, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40,101, 29, 7, 0, 0, 0, 0, 72,100, 29, 7, 0, 0, 0, 0, -200, 89, 29, 7, 0, 0, 0, 0,184, 93, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 40,101, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152,101, 29, 7, 0, 0, 0, 0,184,100, 29, 7, 0, 0, 0, 0, - 56, 90, 29, 7, 0, 0, 0, 0,184, 93, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -152,101, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,101, 29, 7, 0, 0, 0, 0, - 72, 93, 29, 7, 0, 0, 0, 0,184, 93, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, - 8,102, 29, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,216,105, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -200, 89, 29, 7, 0, 0, 0, 0,120, 88, 29, 7, 0, 0, 0, 0,232, 88, 29, 7, 0, 0, 0, 0, 56, 90, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 65, 4, 0, 0, 98, 4, 0, 0, 7, 7, 63, 6, 34, 0, 1, 0, - 0, 0, 0, 0, 7, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,158, 29, 7, 0, 0, 0, 0, 8,158, 29, 7, 0, 0, 0, 0, -248,102, 29, 7, 0, 0, 0, 0,104,104, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248,102, 29, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0,104,104, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,163, 68, - 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,199, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, - 0, 0, 0, 0, 25, 0, 0, 0, 0,192,199, 68, 0, 0,200, 65, 0,192,199, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 63, 6, 26, 0, 63, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 65, 4, 0, 0, 90, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104,104, 29, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,102, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,239, 68, - 0, 0, 0, 0, 0, 0,200, 65, 0, 0, 0, 0, 0,192,197, 68, 0, 0,128, 64, 0, 0, 64, 65, 46, 6, 0, 0, 63, 6, 0, 0, - 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0, - 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0, 63, 6, 8, 0, 46, 6, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 91, 4, 0, 0, 98, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 6, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,216,105, 29, 7, 0, 0, 0, 0, -215, 0, 0, 0, 1, 0, 0, 0,200,110, 29, 7, 0, 0, 0, 0, 8,102, 29, 7, 0, 0, 0, 0, 8, 88, 29, 7, 0, 0, 0, 0, -136, 91, 29, 7, 0, 0, 0, 0,248, 91, 29, 7, 0, 0, 0, 0, 88, 89, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 62, 6, 0, 0, 0, 0, 0, 0,107, 0, 0, 0, 15, 15, 63, 6,108, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,168,109, 29, 7, 0, 0, 0, 0,168,109, 29, 7, 0, 0, 0, 0,200,106, 29, 7, 0, 0, 0, 0, - 56,108, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,106, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 56,108, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,199, 68, 0, 0, 0, 0, 0, 0,208, 65, - 0, 0, 0, 0, 0,224,199, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, - 0,192,199, 68, 0, 0,200, 65, 0,192,199, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, - 4, 0, 12, 0, 10, 0, 63, 6, 26, 0, 63, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 62, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,108, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,200,106, 29, 7, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66, - 88,218,103,194, 40,147,141, 67, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 62, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 18, 0, 0, 0, 81, 0, 0, 0, - 0, 0,128, 63, 0, 0, 72, 66, 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2, - 4, 0, 0, 4, 8, 0, 63, 6, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 62, 6, 0, 0, 26, 0, 0, 0,107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63, 6, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 88, 1, 0, 0,152, 12,168, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56, 14,168, 5, 0, 0, 0, 0,248, 10,168, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101, +110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101, +110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,208, 0, 0, 0,168,109, 29, 7, 0, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255,124, 1, 61, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 14,168, 5, 0, 0, 0, 0,214, 0, 0, 0, + 1, 0, 0, 0,216, 15,168, 5, 0, 0, 0, 0,152, 12,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,200,110, 29, 7, 0, 0, 0, 0, -215, 0, 0, 0, 1, 0, 0, 0,136,126, 29, 7, 0, 0, 0, 0,216,105, 29, 7, 0, 0, 0, 0,136, 91, 29, 7, 0, 0, 0, 0, -104, 92, 29, 7, 0, 0, 0, 0,216, 92, 29, 7, 0, 0, 0, 0,248, 91, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 62, 6, 0, 0,109, 0, 0, 0,119, 3, 0, 0, 20, 20, 63, 6, 11, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 8,125, 29, 7, 0, 0, 0, 0, 8,125, 29, 7, 0, 0, 0, 0,184,111, 29, 7, 0, 0, 0, 0, -152,123, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,111, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 40,113, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 19, 68, 0, 0, 0, 0, 0, 0,208, 65, - 0, 0, 0, 0, 0,224,199, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, - 0,192,199, 68, 0, 0,200, 65, 0,192,199, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, - 4, 0, 0, 0, 10, 0, 63, 6, 26, 0, 63, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 62, 6, 0, 0,109, 0, 0, 0,134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,111,255,124, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,113, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, -152,114, 29, 7, 0, 0, 0, 0,184,111, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 64, 30,196, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 30,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,120, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,120, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, - 18, 0, 0, 4, 6, 0,160, 0,121, 2,143, 0,121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,159, 0, 0, 0,255, 0, 0, 0,119, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -160, 0,121, 2, 0, 0, 5, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 88, 1, 0, 0,216, 15,168, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120, 17,168, 5, 0, 0, 0, 0, 56, 14,168, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105, +109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105, +109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254,124, 1,203, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,114, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, -168,117, 29, 7, 0, 0, 0, 0, 40,113, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 0,240,194, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 15, 67, 0, 0,240,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, - 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,159, 0, 0, 0,135, 0, 0, 0,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -160, 0,120, 0, 0, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,116, 29, 7, 0, 0, 0, 0, - 8,116, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8,116, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 17,168, 5, 0, 0, 0, 0,214, 0, 0, 0, + 1, 0, 0, 0, 24, 19,168, 5, 0, 0, 0, 0,216, 15,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 78,101,119, 32, 83, 99,114,101,101,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,216,255,143, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 58,254,124, 1, 58, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, -168,117, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,184,120, 29, 7, 0, 0, 0, 0,152,114, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0,128,178, 67, 0, 64, 60,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 60,196, 0, 0, 0, 0, -143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,240, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,240, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,241, 2,143, 0,241, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 5, 0, 0, 62, 6, 0, 0,135, 0, 0, 0,119, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,241, 2, 0, 0, 4, 0, 4, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 24,119, 29, 7, 0, 0, 0, 0, 24,119, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, - 24,119, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 76, 73, 80, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 88, 1, 0, 0, 24, 19,168, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184, 20,168, 5, 0, 0, 0, 0,120, 17,168, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111, +116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111, +116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, 77,111,116,105, +111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254,124, 1, 0, 0, 20, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 76, 73, 80, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71,114,101, 97,115,101, 32, 80,101,110, 99,105,108, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184, 20,168, 5, 0, 0, 0, 0,214, 0, 0, 0, + 1, 0, 0, 0, 88, 22,168, 5, 0, 0, 0, 0, 24, 19,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,255,143, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 10,254,124, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,120, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 40,122, 29, 7, 0, 0, 0, 0,168,117, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64,110,196, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 32, 67, 0,192,105,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0, 18, 0, 0, 0,184, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 8, 0, 0, 0, 2, 0, 3, 3, - 0, 0, 2, 0, 6, 0,160, 0,185, 3,160, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -160, 0, 0, 0,160, 0, 0, 0,135, 0, 0, 0,119, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 88, 1, 0, 0, 88, 22,168, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248, 23,168, 5, 0, 0, 0, 0,184, 20,168, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101, +114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101, +114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,122, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, -152,123, 29, 7, 0, 0, 0, 0,184,120, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 32,193, 0, 0, 32, 65, - 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 32,193, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,253,124, 1, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 0, 0, 0,128, 0, 0,124,146, 72,255,255,127,127, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -160, 0, 0, 0,160, 0, 0, 0,135, 0, 0, 0,119, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248, 23,168, 5, 0, 0, 0, 0,214, 0, 0, 0, + 1, 0, 0, 0,152, 25,168, 5, 0, 0, 0, 0, 88, 22,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,123, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 40,122, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128,255, 0, 0,128,127, 0, 0,128,255, 0, 0,128,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 4, 0, 0, 0, 0, 0, 0,241, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0, - 0, 0, 0, 4, 10, 0,255, 4,241, 2,255, 4,241, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -160, 0, 0, 0,158, 5, 0, 0,135, 0, 0, 0,119, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -255, 4,241, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,218,253,124, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 8,125, 29, 7, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 17,200, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 88, 1, 0, 0,152, 25,168, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56, 27,168, 5, 0, 0, 0, 0,248, 23,168, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, + 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, + 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,253,124, 1, 0, 0, 20, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 27,168, 5, 0, 0, 0, 0,214, 0, 0, 0, + 1, 0, 0, 0,216, 28,168, 5, 0, 0, 0, 0,152, 25,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, -136,126, 29, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 72,142, 29, 7, 0, 0, 0, 0,200,110, 29, 7, 0, 0, 0, 0, - 72, 93, 29, 7, 0, 0, 0, 0,184, 93, 29, 7, 0, 0, 0, 0, 56, 90, 29, 7, 0, 0, 0, 0,216, 92, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, 62, 6, 0, 0,121, 3, 0, 0, 63, 4, 0, 0, 20, 20,110, 3,199, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,140, 29, 7, 0, 0, 0, 0,200,140, 29, 7, 0, 0, 0, 0, -120,127, 29, 7, 0, 0, 0, 0, 88,139, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120,127, 29, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0,232,128, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,212, 67, - 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128, 91, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,109, 3, 0, 0, - 0, 0, 0, 0, 25, 0, 0, 0, 0, 64, 91, 68, 0, 0,200, 65, 0, 64, 91, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 0, 0, 10, 0,110, 3, 26, 0,110, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, 62, 6, 0, 0,121, 3, 0, 0,146, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,110, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232,128, 29, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0, 88,130, 29, 7, 0, 0, 0, 0,120,127, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, - 0, 0, 84,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 84,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, - 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, - 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, - 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 53, 0,143, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0,209, 2, 0, 0,147, 3, 0, 0, 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,130, 29, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0,104,133, 29, 7, 0, 0, 0, 0,232,128, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, - 0, 0,240,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0,240,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, - 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, - 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, - 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0,120, 0,143, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0,209, 2, 0, 0,147, 3, 0, 0, 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -200,131, 29, 7, 0, 0, 0, 0,200,131, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,200,131, 29, 7, 0, 0, 0, 0, -214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, + 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, + 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 78,101,119, 32, 83, 99,114,101,101,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 40,253,124, 1,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,255,143, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 88, 1, 0, 0,216, 28,168, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 27,168, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97, +107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97, +107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,253,124, 1, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0,104,133, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,120,136, 29, 7, 0, 0, 0, 0, - 88,130, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 0, 45,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, - 0, 0, 45,195, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, -173, 0,143, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0,209, 2, 0, 0, -147, 3, 0, 0, 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,134, 29, 7, 0, 0, 0, 0,216,134, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 88, 1, 0, 0,216,134, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 76, 73, 80, 95, 80, 84, 95, -103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 76, 73, 80, 95, 80, 84, 95, -103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71,114,101, 97,115,101, 32, 80, -101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,255,143, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,120, 30,168, 5, 0, 0, 0, 0,180, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120,136, 29, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0,232,137, 29, 7, 0, 0, 0, 0,104,133, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, - 0, 0, 45,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 67, 0, 0, 27,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0, - 18, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 8, 4, 0, 0, 2, 0, 3, 3, 0, 0, 2, 4, 6, 0,160, 0,173, 0,160, 0,155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0,112, 3, 0, 0,147, 3, 0, 0, 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,160, 0,173, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232,137, 29, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0, 88,139, 29, 7, 0, 0, 0, 0,120,136, 29, 7, 0, 0, 0, 0, 0, 0, 32,193, 0,128, 91, 68, -171,170,132,194, 0, 0, 0, 0, 0, 0, 32,193, 0,128, 91, 68, 0, 0, 27,195, 0, 0, 0, 0,189, 2, 0, 0,206, 2, 0, 0, - 18, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0,188, 2, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,188, 2, 0, 0, - 18, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,146, 72,255,255,127,127, 10,215, 35, 60, 0, 0, 72, 66, - 74, 0, 0, 0, 0, 0, 0, 2, 16, 0, 2, 4, 4, 0,206, 2,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,113, 3, 0, 0, 62, 6, 0, 0,147, 3, 0, 0, 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,206, 2,173, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,139, 29, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,137, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,255, 0, 0,128,127, 0, 0,128,255, 0, 0,128,127, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 2, 0, 0, - 0, 0, 0, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, - 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 10, 0, 46, 2,173, 0, 46, 2,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,200,140, 29, 7, 0, 0, 0, 0, -197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 17,200, 0, 0, 0, 0, 2, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, +160, 0, 0, 0,184, 31,168, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 72, 45,168, 5, 0, 0, 0, 0, 40, 7,168, 5, + 0, 0, 0, 0,248,247,167, 5, 0, 0, 0, 0, 72,249,167, 5, 0, 0, 0, 0, 56,246,167, 5, 0, 0, 0, 0,136,247,167, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,105, 1, 0, 0,167, 3, 0, 0, 1, 1,247, 2, + 63, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 43,168, 5, 0, 0, 0, 0,152, 43,168, 5, + 0, 0, 0, 0,168, 32,168, 5, 0, 0, 0, 0,104, 38,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168, 32,168, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 24, 34,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 61, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +246, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 61, 68, 0, 0,200, 65, 0,128, 61, 68, 0, 0,200, 65, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,247, 2, 26, 0,247, 2, 26, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,105, 1, 0, 0,130, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24, 34,168, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,136, 35,168, 5, 0, 0, 0, 0,168, 32,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 15, 67, 0, 64, 70,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0, +160, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, +142, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,249, 2, 0, 0,131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 37, 2, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136, 35,168, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,248, 36,168, 5, 0, 0, 0, 0, 24, 34,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 16, 67, 0, 0,206,194, 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0, +160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, +142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,131, 1, 0, 0,131, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248, 36,168, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,104, 38,168, 5, 0, 0, 0, 0,136, 35,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 35, 67, 0,128,142,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 0, 26,196, 0, 0, 0, 0,163, 0, 0, 0, +180, 0, 0, 0, 18, 0, 0, 0,121, 2, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, +162, 0, 0, 0, 18, 0, 0, 0,121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,122, 2,163, 0,104, 2, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0,239, 5, 0, 0,131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65,160, 0, 0, 0, 72,142, 29, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -136,126, 29, 7, 0, 0, 0, 0,104, 92, 29, 7, 0, 0, 0, 0,200, 89, 29, 7, 0, 0, 0, 0,184, 93, 29, 7, 0, 0, 0, 0, - 72, 93, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 2, 0, 0,121, 3, 0, 0, 63, 4, 0, 0, - 20, 20,208, 2,199, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,156, 29, 7, 0, 0, 0, 0, -136,156, 29, 7, 0, 0, 0, 0, 56,143, 29, 7, 0, 0, 0, 0, 24,155, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, - 56,143, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,168,144, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,212, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 52, 68, 0, 0, 0, 0, 0, 0,208, 65, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,207, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 51, 68, 0, 0,200, 65, 0,192, 51, 68, 0, 0,200, 65, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 0, 0, 10, 0,208, 2, 26, 0,208, 2, 26, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 2, 0, 0,121, 3, 0, 0,146, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, -168,144, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 24,146, 29, 7, 0, 0, 0, 0, 56,143, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0,128,178, 67, 0, 0, 84,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 84,194, 0, 0, 0, 0, -143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 53, 0,143, 0, 53, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,147, 3, 0, 0, 63, 4, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, - 24,146, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 40,149, 29, 7, 0, 0, 0, 0,168,144, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0,128,178, 67, 0, 0,240,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0,240,194, 0, 0, 0, 0, -143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0,120, 0,143, 0,120, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,147, 3, 0, 0, 63, 4, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,136,147, 29, 7, 0, 0, 0, 0,136,147, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, -136,147, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101, -114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101, -114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,101,119, 32, 83, 99,114,101,101,110, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,255,143, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,149, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 56,152, 29, 7, 0, 0, 0, 0, 24,146, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 0, 45,195, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 45,195, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,172, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,172, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, - 18, 0, 0, 0, 6, 0,160, 0,173, 0,143, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,147, 3, 0, 0, 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,150, 29, 7, 0, 0, 0, 0, -152,150, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152,150, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 67, 76, 73, 80, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 67, 76, 73, 80, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 71,114,101, 97,115,101, 32, 80,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104, 38,168, 5, + 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 36,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,232,255,143, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, - 56,152, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,168,153, 29, 7, 0, 0, 0, 0, 40,149, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 15, 67, 0, 64,110,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 67, 0,192,105,196, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, - 0, 0, 0, 0,159, 0, 0, 0, 18, 0, 0, 0,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 8, 0, 0, 0, 2, 0, 3, 3, 0, 0, 2, 0, 6, 0,160, 0,185, 3,160, 0,167, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,147, 3, 0, 0, 63, 4, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, -168,153, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 24,155, 29, 7, 0, 0, 0, 0, 56,152, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 32,193, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 32,193, 0, 0, 32, 65, - 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,172, 0, 0, 0, 18, 0, 0, 0,207, 2, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, - 18, 0, 0, 0,207, 2, 0, 0, 18, 0, 0, 0,172, 0, 0, 0, 0, 0,128, 0, 0, 0,128, 0, 0,124,146, 72,255,255,127,127, - 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0,208, 2,173, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 2, 0, 0,147, 3, 0, 0, 63, 4, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 2,173, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 39,168, 5, 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0,216, 39,168, 5, + 0, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0, 0, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 74,141,193, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 1,128,191, 0, 0,128,191, 0, 0, 0, 0, + 0, 0, 0, 0,225,215,163,188, 0, 0, 0, 0, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63, +143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63, 69,239,209, 62, 70,119,105, 63,176, 84, 89,188, 0, 0, 0, 0, 53,177,205,190, +142, 74, 70, 62,166, 33,101, 63, 0, 0, 0, 0,185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0,164, 96, 68, 65, +111,121,173,192,248,209,213, 64, 0, 0,128, 63,178,157,229, 62, 30,132, 27,191,222,160, 81,191,184,158, 81,191,117, 90,127, 63, +166,235,149, 62, 9, 46,185, 62, 35, 44,185, 62,145,180,109,188,212, 60,173, 63,129, 63,228,190, 42, 61,228,190, 0, 0, 0, 0, + 0, 0, 0, 0, 96,132,111, 65,214,211,111, 65,217,236,191, 62, 54,117, 85, 63,224,246, 70,188, 0,160, 32,182,252, 5,136,190, + 43, 33, 3, 62,235,135, 23, 63, 0, 0, 96, 53,215,104, 25,196,133,132,135, 67, 37, 9,167,195,136,252, 71,194, 3, 54, 25, 68, +158, 87,135,195,205,209,166, 67,151,254, 71, 66, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63, +143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63,178,157,229, 62, 30,132, 27,191,222,160, 81,191,184,158, 81,191,117, 90,127, 63, +166,235,149, 62, 9, 46,185, 62, 35, 44,185, 62,145,180,109,188,212, 60,173, 63,129, 63,228,190, 42, 61,228,190, 0, 0, 0, 0, + 0, 0, 0, 0, 96,132,111, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, - 24,155, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,153, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,255, 0, 0,128,127, 0, 0,128,255, 0, 0,128,127, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,144, 1, 0, 0, 0, 0, 0, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 10,215, 35, 60, 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 10, 0,144, 1,173, 0,144, 1,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, -136,156, 29, 7, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,200, 0, 0, 0, 0, 1, 0, 20, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 8, 1, 0, 0,152,158, 29, 7, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0, - 8,238, 29, 7, 0, 0, 0, 0,184, 86, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 83, 82, 83, 99,114,105,112,116,105,110,103, 0,103, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,159, 29, 7, 0, 0, 0, 0, -152,165, 29, 7, 0, 0, 0, 0, 8,166, 29, 7, 0, 0, 0, 0, 56,175, 29, 7, 0, 0, 0, 0,168,175, 29, 7, 0, 0, 0, 0, -184,230, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232,159, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, - 88,160, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0, 88,160, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,200,160, 29, 7, 0, 0, 0, 0, -232,159, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, -200,160, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56,161, 29, 7, 0, 0, 0, 0, 88,160, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56,161, 29, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0,168,161, 29, 7, 0, 0, 0, 0,200,160, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -126, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,161, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, - 24,162, 29, 7, 0, 0, 0, 0, 56,161, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 3, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0, 24,162, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,136,162, 29, 7, 0, 0, 0, 0, -168,161, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, -136,162, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248,162, 29, 7, 0, 0, 0, 0, 24,162, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,240, 5,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,162, 29, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0,104,163, 29, 7, 0, 0, 0, 0,136,162, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -240, 5, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104,163, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, -216,163, 29, 7, 0, 0, 0, 0,248,162, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 1, 1, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0,216,163, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 72,164, 29, 7, 0, 0, 0, 0, -104,163, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5,104, 1, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, - 72,164, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,184,164, 29, 7, 0, 0, 0, 0,216,163, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,248, 2,104, 1, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,184,164, 29, 7, 0, 0, 0, 0, -212, 0, 0, 0, 1, 0, 0, 0, 40,165, 29, 7, 0, 0, 0, 0, 72,164, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -240, 5,236, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 40,165, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, -152,165, 29, 7, 0, 0, 0, 0,184,164, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,236, 2, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0,152,165, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 40,165, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 2,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 8,166, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120,166, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 88,160, 29, 7, 0, 0, 0, 0,200,160, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -120,166, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232,166, 29, 7, 0, 0, 0, 0, 8,166, 29, 7, 0, 0, 0, 0, - 88,160, 29, 7, 0, 0, 0, 0,168,161, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -232,166, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88,167, 29, 7, 0, 0, 0, 0,120,166, 29, 7, 0, 0, 0, 0, -200,160, 29, 7, 0, 0, 0, 0, 24,162, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 88,167, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200,167, 29, 7, 0, 0, 0, 0,232,166, 29, 7, 0, 0, 0, 0, -168,161, 29, 7, 0, 0, 0, 0, 24,162, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -200,167, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56,168, 29, 7, 0, 0, 0, 0, 88,167, 29, 7, 0, 0, 0, 0, - 24,162, 29, 7, 0, 0, 0, 0,136,162, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 56,168, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,168,168, 29, 7, 0, 0, 0, 0,200,167, 29, 7, 0, 0, 0, 0, - 56,161, 29, 7, 0, 0, 0, 0,248,162, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -168,168, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24,169, 29, 7, 0, 0, 0, 0, 56,168, 29, 7, 0, 0, 0, 0, -232,159, 29, 7, 0, 0, 0, 0,104,163, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 24,169, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136,169, 29, 7, 0, 0, 0, 0,168,168, 29, 7, 0, 0, 0, 0, -168,161, 29, 7, 0, 0, 0, 0,104,163, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -136,169, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,248,169, 29, 7, 0, 0, 0, 0, 24,169, 29, 7, 0, 0, 0, 0, -136,162, 29, 7, 0, 0, 0, 0,216,163, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -248,169, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,104,170, 29, 7, 0, 0, 0, 0,136,169, 29, 7, 0, 0, 0, 0, -248,162, 29, 7, 0, 0, 0, 0,216,163, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -104,170, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,216,170, 29, 7, 0, 0, 0, 0,248,169, 29, 7, 0, 0, 0, 0, -104,163, 29, 7, 0, 0, 0, 0, 72,164, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -216,170, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72,171, 29, 7, 0, 0, 0, 0,104,170, 29, 7, 0, 0, 0, 0, -216,163, 29, 7, 0, 0, 0, 0, 72,164, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 72,171, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184,171, 29, 7, 0, 0, 0, 0,216,170, 29, 7, 0, 0, 0, 0, -248,162, 29, 7, 0, 0, 0, 0,184,164, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -184,171, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40,172, 29, 7, 0, 0, 0, 0, 72,171, 29, 7, 0, 0, 0, 0, -136,162, 29, 7, 0, 0, 0, 0,184,164, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 40,172, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152,172, 29, 7, 0, 0, 0, 0,184,171, 29, 7, 0, 0, 0, 0, - 24,162, 29, 7, 0, 0, 0, 0, 40,165, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -152,172, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8,173, 29, 7, 0, 0, 0, 0, 40,172, 29, 7, 0, 0, 0, 0, - 56,161, 29, 7, 0, 0, 0, 0, 40,165, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 8,173, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120,173, 29, 7, 0, 0, 0, 0,152,172, 29, 7, 0, 0, 0, 0, -184,164, 29, 7, 0, 0, 0, 0, 40,165, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -120,173, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232,173, 29, 7, 0, 0, 0, 0, 8,173, 29, 7, 0, 0, 0, 0, -168,161, 29, 7, 0, 0, 0, 0,152,165, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -232,173, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88,174, 29, 7, 0, 0, 0, 0,120,173, 29, 7, 0, 0, 0, 0, -136,162, 29, 7, 0, 0, 0, 0,152,165, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 88,174, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200,174, 29, 7, 0, 0, 0, 0,232,173, 29, 7, 0, 0, 0, 0, - 72,164, 29, 7, 0, 0, 0, 0,152,165, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -200,174, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56,175, 29, 7, 0, 0, 0, 0, 88,174, 29, 7, 0, 0, 0, 0, -104,163, 29, 7, 0, 0, 0, 0,216,163, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 56,175, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,174, 29, 7, 0, 0, 0, 0, -232,159, 29, 7, 0, 0, 0, 0,248,162, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, -168,175, 29, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,120,179, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -168,161, 29, 7, 0, 0, 0, 0, 88,160, 29, 7, 0, 0, 0, 0,200,160, 29, 7, 0, 0, 0, 0, 24,162, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,169, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7, 93, 0, 1, 0, - 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,237, 29, 7, 0, 0, 0, 0,120,237, 29, 7, 0, 0, 0, 0, -152,176, 29, 7, 0, 0, 0, 0, 8,178, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,176, 29, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0, 8,178, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68, - 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, - 0, 0, 0, 0, 25, 0, 0, 0, 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,236, 3, 0, 0, 5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8,178, 29, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,176, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,239, 68, - 0, 0, 0, 0, 0, 0, 28, 66, 0, 0, 0, 0, 0,192,237, 68, 0, 0, 0, 0, 0, 0,134, 66,110, 7, 0, 0,127, 7, 0, 0, - 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,109, 7, 0, 0, - 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 2, 2, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,127, 7, 67, 0,110, 7, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,169, 3, 0, 0,235, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,120,179, 29, 7, 0, 0, 0, 0, -215, 0, 0, 0, 1, 0, 0, 0, 8,204, 29, 7, 0, 0, 0, 0,168,175, 29, 7, 0, 0, 0, 0,248,162, 29, 7, 0, 0, 0, 0, -184,164, 29, 7, 0, 0, 0, 0, 40,165, 29, 7, 0, 0, 0, 0, 56,161, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -241, 5, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,235, 2, 0, 0, 4, 4,142, 1,236, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,200,202, 29, 7, 0, 0, 0, 0,200,202, 29, 7, 0, 0, 0, 0,104,180, 29, 7, 0, 0, 0, 0, -216,181, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104,180, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, -216,181, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65, - 0, 0, 0, 0, 0, 0,199, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,141, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, - 0,128,198, 67, 0, 0,200, 65, 0,128,198, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, - 4, 0, 12, 0, 10, 0,142, 1, 26, 0,142, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -241, 5, 0, 0,126, 7, 0, 0,210, 2, 0, 0,235, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -142, 1, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216,181, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,104,180, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,198, 67, 0, 0, 61,196, 0, 0, 0, 0, - 0, 0, 0, 0,254,127,190, 67,254,127, 52,196, 0, 0, 0, 0,125, 1, 0, 0,142, 1, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, - 0, 0, 0, 0,126, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, - 18, 0, 0, 4, 6, 0,142, 1,210, 2,125, 1,210, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -241, 5, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -142, 1,210, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,183, 29, 7, 0, 0, 0, 0, - 40,201, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72,183, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, -232,184, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,220,255,124, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, -232,184, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,136,186, 29, 7, 0, 0, 0, 0, 72,183, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 86, 45, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 46, 86, 45, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 86, 45, 64, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190,214,211,111, 65, +214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,107,227, 29, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 30, 33, 12, 66, 86,152,137, 66,116, 27,126, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 96, 1, 0, 0,152, 43,168, 5, 0, 0, 0, 0,175, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, +205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, 24,213,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255,124, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8,128, 0, 0, 0, 12, 66, 0, 0,128, 63, + 10,215, 35, 60, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136,186, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, - 40,188, 29, 7, 0, 0, 0, 0,232,184, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 72, 45,168, 5, + 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 88, 51,168, 5, 0, 0, 0, 0,184, 31,168, 5, 0, 0, 0, 0,152,243,167, 5, + 0, 0, 0, 0, 24,247,167, 5, 0, 0, 0, 0,136,247,167, 5, 0, 0, 0, 0,168,246,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 0, 0, 0, 0,103, 1, 0, 0, 18, 18,240, 5,104, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 49,168, 5, 0, 0, 0, 0,136, 49,168, 5, 0, 0, 0, 0, 56, 46,168, 5, + 0, 0, 0, 0,168, 47,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56, 46,168, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0,168, 47,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,160, 67, 0, 0, 0, 0, + 0, 0,208, 65, 0, 0, 0, 0, 0, 0,190, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 0,224,189, 68, 0, 0,200, 65, 0,224,189, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,240, 5, 26, 0,240, 5, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,240, 5, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168, 47,168, 5, 0, 0, 0, 0,216, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 46,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,189, 68, 0, 0, 0, 0, + 0, 0, 51, 67, 0, 0, 0, 0, 0,224,187, 68, 0, 0, 0, 0, 0, 0,167, 67,223, 5, 0, 0,240, 5, 0, 0, 0, 0, 0, 0, + 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222, 5, 0, 0, 0, 0, 0, 0, + 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 2, 0, 0, + 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,240, 5, 78, 1,223, 5, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 26, 0, 0, 0,103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,240, 5, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,111,255,124, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 49,168, 5, 0, 0, 0, 0,194, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 88,220,132, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 88,220,132, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,136, 1, 0, 0,136, 49,168, 5, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, - 40,188, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,200,189, 29, 7, 0, 0, 0, 0,136,186, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115, -105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115, -105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, + 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 49,168, 5, 0, 0, 0, 0, 24, 49,168, 5, 0, 0, 0, 0, + 62, 62, 62, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254,124, 1,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,200,189, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, -104,191, 29, 7, 0, 0, 0, 0, 40,188, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 65,110,116,105, 45, 65,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 58,254,124, 1, 58, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +112,121,116,104,111,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 8, 4, 0, 0, 8, 4, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88, 51,168, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, +184, 57,168, 5, 0, 0, 0, 0, 72, 45,168, 5, 0, 0, 0, 0,104,248,167, 5, 0, 0, 0, 0, 56,246,167, 5, 0, 0, 0, 0, +200,245,167, 5, 0, 0, 0, 0,216,248,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0, +237, 2, 0, 0,167, 3, 0, 0, 3, 3,142, 1,187, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 40, 55,168, 5, 0, 0, 0, 0, 40, 55,168, 5, 0, 0, 0, 0, 72, 52,168, 5, 0, 0, 0, 0,184, 53,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, -104,191, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 8,193, 29, 7, 0, 0, 0, 0,200,189, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, - 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, - 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66, -108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254,124, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0, 72, 52,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,184, 53,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,199, 67, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,141, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,198, 67, 0, 0,200, 65, + 0,128,198, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,142, 1, + 26, 0,142, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0, +237, 2, 0, 0, 6, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 1, 26, 0, 0, 0, 1, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8,193, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, -168,194, 29, 7, 0, 0, 0, 0,104,191, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0,184, 53,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 72, 52,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,190, 67, + 0, 0, 15,195, 0, 0, 0, 0,125, 1, 0, 0,142, 1, 0, 0, 18, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, + 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 18, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0,142, 1, +161, 0,125, 1,143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0, + 7, 3, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 1,161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 10,254,124, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 24, 1, 0, 0, 40, 55,168, 5, 0, 0, 0, 0,184, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, -168,194, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 72,196, 29, 7, 0, 0, 0, 0, 8,193, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114, -109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114, -109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,253,124, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72,196, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, -232,197, 29, 7, 0, 0, 0, 0,168,194, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 52,137, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,216, 52,137, 5, 0, 0, 0, 0, +238, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0,136, 56,168, 5, 0, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0, +136, 56,168, 5, 0, 0, 0, 0,237, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, + 19, 0, 0, 0, 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, + 21, 0, 1, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 72,210,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 0,184,219,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,184, 17,169, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 0,248,232,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 8,255,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 0, 88,226,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,232,205,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 0, 24,213,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,216,204,168, 5, 0, 0, 0, 0, + 21, 0, 0, 0, 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184, 57,168, 5, 0, 0, 0, 0, +215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 51,168, 5, 0, 0, 0, 0, 24,247,167, 5, 0, 0, 0, 0, + 88,245,167, 5, 0, 0, 0, 0, 72,249,167, 5, 0, 0, 0, 0,248,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,247, 2, 0, 0,105, 1, 0, 0,167, 3, 0, 0, 9, 9,248, 2, 63, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,136, 61,168, 5, 0, 0, 0, 0,136, 61,168, 5, 0, 0, 0, 0,168, 58,168, 5, 0, 0, 0, 0, + 24, 60,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168, 58,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, + 24, 60,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,230, 67, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0, 0, 62, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0,192, 61, 68, 0, 0,200, 65, 0,192, 61, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, + 4, 0, 12, 0, 10, 0,248, 2, 26, 0,248, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,247, 2, 0, 0,105, 1, 0, 0,130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +248, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24, 60,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,168, 58,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,189, 68, 0, 0, 0, 0, 0,192, 22, 68, +248,150, 23, 68, 8, 41,100, 68, 46,224, 62, 67,233, 15,206, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0, 0, 0, 0, 0, 36, 2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0, + 0, 0, 0, 4, 10, 0,248, 2, 37, 2,248, 2, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,247, 2, 0, 0,131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +248, 2, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 2, 0, 0,136, 61,168, 5, 0, 0, 0, 0,187, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,218,253,124, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 12, 0, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0,205,204,204, 61,231, 1, 0, 0,243, 1, 0, 0,122, 1, 0, 0,124, 1, 0, 0,231, 1, 0, 0,243, 1, 0, 0, + 4, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, -232,197, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,136,199, 29, 7, 0, 0, 0, 0, 72,196, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,253,124, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136,199, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, - 40,201, 29, 7, 0, 0, 0, 0,232,197, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 40,253,124, 1,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, - 40,201, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,199, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,253,124, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 83, 78, 0, 0, 8, 1, 0, 0, 8, 65,168, 5, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, + 72,242,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 85, 86, 32, 69,100,105, +116,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 66,168, 5, 0, 0, 0, 0,104, 69,168, 5, 0, 0, 0, 0, +216, 69,168, 5, 0, 0, 0, 0, 56, 74,168, 5, 0, 0, 0, 0,168, 74,168, 5, 0, 0, 0, 0,200,118,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,200,202, 29, 7, 0, 0, 0, 0,180, 0, 0, 0, 1, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0, 88, 66,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,200, 66,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, +200, 66,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56, 67,168, 5, 0, 0, 0, 0, 88, 66,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56, 67,168, 5, 0, 0, 0, 0, +212, 0, 0, 0, 1, 0, 0, 0,168, 67,168, 5, 0, 0, 0, 0,200, 66,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168, 67,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, + 24, 68,168, 5, 0, 0, 0, 0, 56, 67,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0, 24, 68,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,136, 68,168, 5, 0, 0, 0, 0, +168, 67,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, +136, 68,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248, 68,168, 5, 0, 0, 0, 0, 24, 68,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,126, 7,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248, 68,168, 5, 0, 0, 0, 0, +212, 0, 0, 0, 1, 0, 0, 0,104, 69,168, 5, 0, 0, 0, 0,136, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +200, 3,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104, 69,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,248, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 3, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,216, 69,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72, 70,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,200, 66,168, 5, 0, 0, 0, 0, 56, 67,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 72, 70,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184, 70,168, 5, 0, 0, 0, 0, +216, 69,168, 5, 0, 0, 0, 0,200, 66,168, 5, 0, 0, 0, 0, 24, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,184, 70,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40, 71,168, 5, 0, 0, 0, 0, + 72, 70,168, 5, 0, 0, 0, 0, 56, 67,168, 5, 0, 0, 0, 0,136, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 40, 71,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152, 71,168, 5, 0, 0, 0, 0, +184, 70,168, 5, 0, 0, 0, 0, 24, 68,168, 5, 0, 0, 0, 0,136, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,152, 71,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8, 72,168, 5, 0, 0, 0, 0, + 40, 71,168, 5, 0, 0, 0, 0, 24, 68,168, 5, 0, 0, 0, 0,248, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 8, 72,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120, 72,168, 5, 0, 0, 0, 0, +152, 71,168, 5, 0, 0, 0, 0, 88, 66,168, 5, 0, 0, 0, 0,104, 69,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,120, 72,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232, 72,168, 5, 0, 0, 0, 0, + 8, 72,168, 5, 0, 0, 0, 0, 88, 66,168, 5, 0, 0, 0, 0, 24, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,232, 72,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88, 73,168, 5, 0, 0, 0, 0, +120, 72,168, 5, 0, 0, 0, 0,248, 68,168, 5, 0, 0, 0, 0,104, 69,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 88, 73,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200, 73,168, 5, 0, 0, 0, 0, +232, 72,168, 5, 0, 0, 0, 0,136, 68,168, 5, 0, 0, 0, 0,248, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,200, 73,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56, 74,168, 5, 0, 0, 0, 0, + 88, 73,168, 5, 0, 0, 0, 0,168, 67,168, 5, 0, 0, 0, 0,104, 69,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 56, 74,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +200, 73,168, 5, 0, 0, 0, 0,168, 67,168, 5, 0, 0, 0, 0,136, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,160, 0, 0, 0,168, 74,168, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,120, 78,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 24, 68,168, 5, 0, 0, 0, 0,200, 66,168, 5, 0, 0, 0, 0, 56, 67,168, 5, 0, 0, 0, 0, +136, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 5, 4, 0, 0, + 7, 7,127, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,135,168, 5, 0, 0, 0, 0, +152,135,168, 5, 0, 0, 0, 0,152, 75,168, 5, 0, 0, 0, 0, 8, 77,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, +152, 75,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 8, 77,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 4, 4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, + 8, 77,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 75,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0, +112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, + 0, 0, 0, 0,111, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 5, 4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, - 8,204, 29, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,152,217, 29, 7, 0, 0, 0, 0,120,179, 29, 7, 0, 0, 0, 0, - 72,164, 29, 7, 0, 0, 0, 0,152,165, 29, 7, 0, 0, 0, 0,136,162, 29, 7, 0, 0, 0, 0,216,163, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,105, 1, 0, 0,167, 3, 0, 0, 1, 1,247, 2, 63, 2, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,215, 29, 7, 0, 0, 0, 0,232,215, 29, 7, 0, 0, 0, 0, -248,204, 29, 7, 0, 0, 0, 0,184,210, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248,204, 29, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0,104,206, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68, - 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 61, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,246, 2, 0, 0, - 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 61, 68, 0, 0,200, 65, 0,128, 61, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,247, 2, 26, 0,247, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,105, 1, 0, 0,130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104,206, 29, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0,216,207, 29, 7, 0, 0, 0, 0,248,204, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, - 0, 64, 70,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, - 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, - 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, - 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,249, 2, 0, 0,131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 37, 2, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216,207, 29, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0, 72,209, 29, 7, 0, 0, 0, 0,104,206, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 67, - 0, 0,206,194, 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, - 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, - 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, - 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,131, 1, 0, 0,131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,209, 29, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0,184,210, 29, 7, 0, 0, 0, 0,216,207, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, - 0,128,142,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 0, 26,196, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, - 18, 0, 0, 0,121, 2, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, - 18, 0, 0, 0,121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, - 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,122, 2,163, 0,104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0,239, 5, 0, 0,131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, +120, 78,168, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,200,118,168, 5, 0, 0, 0, 0,168, 74,168, 5, 0, 0, 0, 0, + 88, 66,168, 5, 0, 0, 0, 0, 24, 68,168, 5, 0, 0, 0, 0,248, 68,168, 5, 0, 0, 0, 0,104, 69,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 3, 0, 0, 0, 0, 0, 0,233, 3, 0, 0, 6, 6,200, 3,234, 3, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 85,168, 5, 0, 0, 0, 0, 88, 85,168, 5, 0, 0, 0, 0, +104, 79,168, 5, 0, 0, 0, 0,232, 83,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104, 79,168, 5, 0, 0, 0, 0, +216, 0, 0, 0, 1, 0, 0, 0,216, 80,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 67, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,114, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 3, 0, 0, + 0, 0, 0, 0, 25, 0, 0, 0, 0,192,113, 68, 0, 0,200, 65, 0,192,113, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,200, 3, 26, 0,200, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,200, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216, 80,168, 5, 0, 0, 0, 0, +216, 0, 0, 0, 1, 0, 0, 0,232, 83,168, 5, 0, 0, 0, 0,104, 79,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 67, + 0,192,115,196, 0, 0, 0, 0, 0, 0, 0, 0,254,255, 74, 67,254,255,115,196, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, + 0, 0, 0, 0,207, 3, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, + 0, 0, 0, 0,207, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, + 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,220, 0,208, 3,203, 0,208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,219, 0, 0, 0, 26, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,220, 0,208, 3, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 72, 82,168, 5, 0, 0, 0, 0, 72, 82,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72, 82,168, 5, 0, 0, 0, 0, +214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 65, 71, 69, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 65, 71, 69, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,210, 29, 7, 0, 0, 0, 0, -216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,209, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 71,114,101, 97,115,101, 32, 80,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,255,202, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0,232, 83,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +216, 80,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 67, 51, 51, 43,191,154,153,213, 63, + 51, 51,131,191,154,153, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,236, 2, 0, 0, 0, 0, 0, 0,208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 0,199, 3, 0, 0, + 26, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,236, 2,208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 40,212, 29, 7, 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0, 40,212, 29, 7, 0, 0, 0, 0, -174, 0, 0, 0, 1, 0, 0, 0, 0, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74,141,193, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 1,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, -225,215,163,188, 0, 0, 0, 0, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, - 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -214,211,111,193, 0, 0,128, 63, 69,239,209, 62, 70,119,105, 63,176, 84, 89,188, 0, 0, 0, 0, 53,177,205,190,142, 74, 70, 62, -166, 33,101, 63, 0, 0, 0, 0,185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0,164, 96, 68, 65,111,121,173,192, -248,209,213, 64, 0, 0,128, 63,178,157,229, 62, 30,132, 27,191,222,160, 81,191,184,158, 81,191,117, 90,127, 63,166,235,149, 62, - 9, 46,185, 62, 35, 44,185, 62,145,180,109,188,212, 60,173, 63,129, 63,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, - 96,132,111, 65,214,211,111, 65,217,236,191, 62, 54,117, 85, 63,224,246, 70,188, 0,160, 32,182,252, 5,136,190, 43, 33, 3, 62, -235,135, 23, 63, 0, 0, 96, 53,215,104, 25,196,133,132,135, 67, 37, 9,167,195,136,252, 71,194, 3, 54, 25, 68,158, 87,135,195, -205,209,166, 67,151,254, 71, 66, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, - 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -214,211,111,193, 0, 0,128, 63,178,157,229, 62, 30,132, 27,191,222,160, 81,191,184,158, 81,191,117, 90,127, 63,166,235,149, 62, - 9, 46,185, 62, 35, 44,185, 62,145,180,109,188,212, 60,173, 63,129, 63,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, - 96,132,111, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 33, 0, 0, 88, 85,168, 5, 0, 0, 0, 0,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,240, 65, 0, 0, 0, 0,154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 46, 86, 45, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 86, 45, 64, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 86, 45, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190,214,211,111, 65,214,211,111, 65, - 0, 0, 0, 0, 0, 0, 0, 0,107,227, 29, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, -255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 30, 33, 12, 66, - 86,152,137, 66,116, 27,126, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0, -232,215, 29, 7, 0, 0, 0, 0,175, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65,205,204, 76, 62, - 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,248,130, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8,128, 0, 0, 0, 12, 66, 0, 0,128, 63, 10,215, 35, 60, - 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, - 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,152,217, 29, 7, 0, 0, 0, 0, -215, 0, 0, 0, 1, 0, 0, 0,248,223, 29, 7, 0, 0, 0, 0, 8,204, 29, 7, 0, 0, 0, 0,232,159, 29, 7, 0, 0, 0, 0, -104,163, 29, 7, 0, 0, 0, 0,216,163, 29, 7, 0, 0, 0, 0,248,162, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,239, 5, 0, 0, 0, 0, 0, 0,103, 1, 0, 0, 18, 18,240, 5,104, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 40,222, 29, 7, 0, 0, 0, 0, 40,222, 29, 7, 0, 0, 0, 0,136,218, 29, 7, 0, 0, 0, 0, -248,219, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,218, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, -248,219, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,160, 67, 0, 0, 0, 0, 0, 0,208, 65, - 0, 0, 0, 0, 0, 0,190, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, - 0,224,189, 68, 0, 0,200, 65, 0,224,189, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, - 4, 0, 12, 0, 10, 0,240, 5, 26, 0,240, 5, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,239, 5, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -240, 5, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248,219, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,136,218, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,189, 68, 0, 0, 0, 0, 0, 0, 51, 67, - 0, 0, 0, 0, 0,224,187, 68, 0, 0, 0, 0, 0, 0,167, 67,223, 5, 0, 0,240, 5, 0, 0, 0, 0, 0, 0, 77, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222, 5, 0, 0, 0, 0, 0, 0, 77, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 2, 0, 0, 1, 0, 3, 3, - 2, 0, 0, 4, 10, 0,240, 5, 78, 1,223, 5, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,239, 5, 0, 0, 26, 0, 0, 0,103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -240, 5, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,221, 29, 7, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,216,221, 29, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,216,221, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65,136, 1, 0, 0, 40,222, 29, 7, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,221, 29, 7, 0, 0, 0, 0,104,221, 29, 7, 0, 0, 0, 0, 62, 62, 62, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4948,84 +5185,23 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,121,116,104, -111,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 4, 0, 0, - 8, 4, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248,223, 29, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,184,230, 29, 7, - 0, 0, 0, 0,152,217, 29, 7, 0, 0, 0, 0,184,164, 29, 7, 0, 0, 0, 0,136,162, 29, 7, 0, 0, 0, 0, 24,162, 29, 7, - 0, 0, 0, 0, 40,165, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0,237, 2, 0, 0, -167, 3, 0, 0, 3, 3,142, 1,187, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,227, 29, 7, - 0, 0, 0, 0,200,227, 29, 7, 0, 0, 0, 0,232,224, 29, 7, 0, 0, 0, 0, 88,226, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 1, 0, 0,232,224, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 88,226, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,199, 67, 0, 0, 0, 0, - 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,141, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,198, 67, 0, 0,200, 65, 0,128,198, 67, - 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,142, 1, 26, 0,142, 1, - 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0,237, 2, 0, 0, - 6, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 1, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 1, 0, 0, 88,226, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,224, 29, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,190, 67, 0, 0, 15,195, - 0, 0, 0, 0,125, 1, 0, 0,142, 1, 0, 0, 18, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, - 17, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 18, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0,142, 1,161, 0,125, 1, -143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0, 7, 3, 0, 0, -167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 1,161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 24, 1, 0, 0,200,227, 29, 7, 0, 0, 0, 0,184, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,229, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0, 40,229, 29, 7, 0, 0, 0, 0,238, 0, 0, 0, - 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0,136,229, 29, 7, 0, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0,136,229, 29, 7, - 0, 0, 0, 0,237, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,120,101, 30, 7, 0, 0, 0, 0, 19, 0, 0, 0, - 1, 0, 1, 0,120,101, 30, 7, 0, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0,120,101, 30, 7, 0, 0, 0, 0, 21, 0, 1, 0, - 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 40,128, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0,152,137, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56,192, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0,120,151, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,136,173, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0,216,144, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,104,123, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0,248,130, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 88,122, 30, 7, 0, 0, 0, 0, 21, 0, 0, 0, - 1, 0, 1, 0,120,101, 30, 7, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184,230, 29, 7, 0, 0, 0, 0,215, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,223, 29, 7, 0, 0, 0, 0,104,163, 29, 7, 0, 0, 0, 0,168,161, 29, 7, - 0, 0, 0, 0,152,165, 29, 7, 0, 0, 0, 0, 72,164, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -247, 2, 0, 0,105, 1, 0, 0,167, 3, 0, 0, 9, 9,248, 2, 63, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,136,234, 29, 7, 0, 0, 0, 0,136,234, 29, 7, 0, 0, 0, 0,168,231, 29, 7, 0, 0, 0, 0, 24,233, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,231, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 24,233, 29, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,230, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, - 0, 0, 62, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 61, 68, - 0, 0,200, 65, 0,192, 61, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, - 10, 0,248, 2, 26, 0,248, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -247, 2, 0, 0,105, 1, 0, 0,130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 2, 26, 0, - 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,233, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,168,231, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,189, 68, 0, 0, 0, 0, 0,192, 22, 68,248,150, 23, 68, - 8, 41,100, 68, 46,224, 62, 67,233, 15,206, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0, 0, 0, 0, 0, 36, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 4, - 10, 0,248, 2, 37, 2,248, 2, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -247, 2, 0, 0,131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 2, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65,160, 2, 0, 0,136,234, 29, 7, 0, 0, 0, 0,187, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 32, 0, 0, 0, 0, 0, 0, 0, 12, 0, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -205,204,204, 61,231, 1, 0, 0,243, 1, 0, 0,122, 1, 0, 0,124, 1, 0, 0,231, 1, 0, 0,243, 1, 0, 0, 4, 0, 0, 0, -124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5041,130 +5217,18 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, - 8, 1, 0, 0, 8,238, 29, 7, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0, 40, 53, 30, 7, 0, 0, 0, 0,152,158, 29, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 85, 86, 32, 69,100,105,116,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,239, 29, 7, 0, 0, 0, 0,104,242, 29, 7, 0, 0, 0, 0,216,242, 29, 7, - 0, 0, 0, 0, 56,247, 29, 7, 0, 0, 0, 0,168,247, 29, 7, 0, 0, 0, 0,200, 35, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 32, 0, 0, 0, 88,239, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,200,239, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200,239, 29, 7, - 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56,240, 29, 7, 0, 0, 0, 0, 88,239, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56,240, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, - 1, 0, 0, 0,168,240, 29, 7, 0, 0, 0, 0,200,239, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 5, 4, - 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,240, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 24,241, 29, 7, - 0, 0, 0, 0, 56,240, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 32, 0, 0, 0, 24,241, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,136,241, 29, 7, 0, 0, 0, 0,168,240, 29, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136,241, 29, 7, - 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248,241, 29, 7, 0, 0, 0, 0, 24,241, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,126, 7,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,241, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, - 1, 0, 0, 0,104,242, 29, 7, 0, 0, 0, 0,136,241, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 3,234, 3, - 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104,242, 29, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,248,241, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 3, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,216,242, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72,243, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,200,239, 29, 7, 0, 0, 0, 0, 56,240, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0, 72,243, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184,243, 29, 7, 0, 0, 0, 0,216,242, 29, 7, - 0, 0, 0, 0,200,239, 29, 7, 0, 0, 0, 0, 24,241, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,184,243, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40,244, 29, 7, 0, 0, 0, 0, 72,243, 29, 7, - 0, 0, 0, 0, 56,240, 29, 7, 0, 0, 0, 0,136,241, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0, 40,244, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152,244, 29, 7, 0, 0, 0, 0,184,243, 29, 7, - 0, 0, 0, 0, 24,241, 29, 7, 0, 0, 0, 0,136,241, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,152,244, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8,245, 29, 7, 0, 0, 0, 0, 40,244, 29, 7, - 0, 0, 0, 0, 24,241, 29, 7, 0, 0, 0, 0,248,241, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0, 8,245, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120,245, 29, 7, 0, 0, 0, 0,152,244, 29, 7, - 0, 0, 0, 0, 88,239, 29, 7, 0, 0, 0, 0,104,242, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,120,245, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232,245, 29, 7, 0, 0, 0, 0, 8,245, 29, 7, - 0, 0, 0, 0, 88,239, 29, 7, 0, 0, 0, 0, 24,241, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,232,245, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88,246, 29, 7, 0, 0, 0, 0,120,245, 29, 7, - 0, 0, 0, 0,248,241, 29, 7, 0, 0, 0, 0,104,242, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0, 88,246, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200,246, 29, 7, 0, 0, 0, 0,232,245, 29, 7, - 0, 0, 0, 0,136,241, 29, 7, 0, 0, 0, 0,248,241, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,200,246, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56,247, 29, 7, 0, 0, 0, 0, 88,246, 29, 7, - 0, 0, 0, 0,168,240, 29, 7, 0, 0, 0, 0,104,242, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0, 56,247, 29, 7, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,246, 29, 7, - 0, 0, 0, 0,168,240, 29, 7, 0, 0, 0, 0,136,241, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, -160, 0, 0, 0,168,247, 29, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,120,251, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 24,241, 29, 7, 0, 0, 0, 0,200,239, 29, 7, 0, 0, 0, 0, 56,240, 29, 7, 0, 0, 0, 0,136,241, 29, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7, - 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 52, 30, 7, 0, 0, 0, 0,152, 52, 30, 7, - 0, 0, 0, 0,152,248, 29, 7, 0, 0, 0, 0, 8,250, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,248, 29, 7, - 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 8,250, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8,250, 29, 7, - 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,248, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0, -129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, -111, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 5, 4, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,120,251, 29, 7, - 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,200, 35, 30, 7, 0, 0, 0, 0,168,247, 29, 7, 0, 0, 0, 0, 88,239, 29, 7, - 0, 0, 0, 0, 24,241, 29, 7, 0, 0, 0, 0,248,241, 29, 7, 0, 0, 0, 0,104,242, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,199, 3, 0, 0, 0, 0, 0, 0,233, 3, 0, 0, 6, 6,200, 3,234, 3, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 2, 30, 7, 0, 0, 0, 0, 88, 2, 30, 7, 0, 0, 0, 0,104,252, 29, 7, - 0, 0, 0, 0,232, 0, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104,252, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, - 1, 0, 0, 0,216,253, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 67, 0, 0, 0, 0, - 0, 0,208, 65, 0, 0, 0, 0, 0, 0,114, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 3, 0, 0, 0, 0, 0, 0, - 25, 0, 0, 0, 0,192,113, 68, 0, 0,200, 65, 0,192,113, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,200, 3, 26, 0,200, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,199, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,200, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216,253, 29, 7, 0, 0, 0, 0,216, 0, 0, 0, - 1, 0, 0, 0,232, 0, 30, 7, 0, 0, 0, 0,104,252, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 67, 0,192,115,196, - 0, 0, 0, 0, 0, 0, 0, 0,254,255, 74, 67,254,255,115,196, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0, -207, 3, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, -207, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, - 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,220, 0,208, 3,203, 0,208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,219, 0, 0, 0, 26, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,220, 0,208, 3, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,255, 29, 7, - 0, 0, 0, 0, 72,255, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72,255, 29, 7, 0, 0, 0, 0,214, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 73, 77, 65, 71, 69, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 73, 77, 65, 71, 69, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 71,114,101, 97,115,101, 32, 80,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,152,255,202, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 1, 0, 0,232, 0, 30, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,253, 29, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 67, 51, 51, 43,191,154,153,213, 63, 51, 51,131,191, -154,153, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,236, 2, 0, 0, 0, 0, 0, 0,208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 0,199, 3, 0, 0, 26, 0, 0, 0, -233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,236, 2,208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 33, 0, 0, 88, 2, 30, 7, 0, 0, 0, 0,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,240, 65, 0, 0, 0, 0,154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5230,6 +5294,7 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5294,7 +5359,6 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5360,27 +5424,102 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,160, 0, 0, 0,200,118,168, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +120, 78,168, 5, 0, 0, 0, 0,104, 69,168, 5, 0, 0, 0, 0,248, 68,168, 5, 0, 0, 0, 0,136, 68,168, 5, 0, 0, 0, 0, +168, 67,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201, 3, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,233, 3, 0, 0, + 1, 1,182, 3,234, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,133,168, 5, 0, 0, 0, 0, +232,133,168, 5, 0, 0, 0, 0,184,119,168, 5, 0, 0, 0, 0,184,128,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, +184,119,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 40,121,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128,109, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,181, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 64,109, 68, 0, 0,200, 65, 0, 64,109, 68, 0, 0,200, 65, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,182, 3, 26, 0,182, 3, 26, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201, 3, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, + 40,121,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 56,124,168, 5, 0, 0, 0, 0,184,119,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 32, 67, 0, 0, 86,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 86,196, 0, 0, 0, 0, +143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 87, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, + 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 87, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0, 88, 3,143, 0, 88, 3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201, 3, 0, 0,104, 4, 0, 0,146, 0, 0, 0,233, 3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0, 88, 3, 0, 0, 5, 0, 3, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,152,122,168, 5, 0, 0, 0, 0,152,122,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, +152,122,168, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, +111, 98,106,101, 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, +111, 98,106,101, 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 98,106,101, 99,116, 32, 84,111,111,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233,253,143, 0,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,124,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, + 72,127,168, 5, 0, 0, 0, 0, 40,121,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 67, 0, 0,242,194, 0, 0, 0, 0, + 0, 0, 0, 0,231,102, 16, 67, 91, 90,242,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, + 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, + 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +201, 3, 0, 0,104, 4, 0, 0, 26, 0, 0, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +160, 0,120, 0, 0, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,125,168, 5, 0, 0, 0, 0, +168,125,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,168,125,168, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 79,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,216,255,144, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, + 72,127,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,184,128,168, 5, 0, 0, 0, 0, 56,124,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 35, 67, 0,128,126,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67,255,191,126,196, 0, 0, 0, 0, +163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0, 12, 4, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, + 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 0, 12, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0, 13, 4,163, 0,251, 3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,126, 7, 0, 0, 26, 0, 0, 0,233, 3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, +184,128,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,127,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,105, 4, 0, 0,126, 7, 0, 0, 26, 0, 0, 0,233, 3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 3,208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,130,168, 5, 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0, + 40,130,168, 5, 0, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0, 72,246,172, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 13,128,191, 0, 0,128,191, + 0, 0, 0, 0, 0, 0, 0, 0, 74,215, 76,190, 0, 0, 0, 0, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, + 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 95,192, 0, 0,128, 63, 69,239,209, 62, 70,119,105, 63,160, 84, 89,188, 0, 0, 0, 0, + 52,177,205,190,142, 74, 70, 62,166, 33,101, 63, 0, 0, 0, 0,185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0, +188,173, 54, 64,136, 95,161,191,147,231,198, 63, 0, 0,128, 63,185,214, 13, 63,208,249,224,190, 48,180, 81,191,184,158, 81,191, +189,188,157, 63,140,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62,241,213,146,188,206,156,122, 63,138, 84,228,190, 42, 61,228,190, + 0, 0, 0, 0, 0, 0, 0, 0,100, 98, 82, 64, 0, 25, 95, 64,121, 92,155, 62,151,198, 44, 63,192,214, 32,188, 0, 0, 40,180, +195, 15,188,190,132, 75, 53, 62,216,125, 81, 63, 0, 0,192,179,115, 77,100,193, 17,173,201, 64,181,148,248,192,203,247,159,192, +233, 74, 87, 65,247, 46,190,192, 88,106,234, 64, 45, 8,160, 64, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, + 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 95,192, 0, 0,128, 63,185,214, 13, 63,208,249,224,190, 48,180, 81,191,184,158, 81,191, +189,188,157, 63,140,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62,241,213,146,188,206,156,122, 63,138, 84,228,190, 42, 61,228,190, + 0, 0, 0, 0, 0, 0, 0, 0,100, 98, 82, 64, 0, 25, 95, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5388,986 +5527,848 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,201,250, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,248,201,250, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,201,250, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190, + 0, 25, 95, 64, 0, 25, 95, 64, 0, 0, 0, 0, 0, 0, 0, 0,114,145,245, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 30, 33, 12, 66, 85,152,137, 66,116, 27,126, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 96, 1, 0, 0,232,133,168, 5, 0, 0, 0, 0,175, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 32, 65,205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, 24,213,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8,128, 0, 0, 0, 12, 66, + 0, 0,128, 63,205,204,204, 61, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 8, 1, 0, 0, + 40,136,168, 5, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 86,105,100,101,111, 32, 69,100,105,116,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,120,137,168, 5, 0, 0, 0, 0, 72,142,168, 5, 0, 0, 0, 0,184,142,168, 5, 0, 0, 0, 0, + 40,150,168, 5, 0, 0, 0, 0,152,150,168, 5, 0, 0, 0, 0,248,175,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, +120,137,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,232,137,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232,137,168, 5, 0, 0, 0, 0, +212, 0, 0, 0, 1, 0, 0, 0, 88,138,168, 5, 0, 0, 0, 0,120,137,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,222, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88,138,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, +200,138,168, 5, 0, 0, 0, 0,232,137,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4,222, 2, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0,200,138,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56,139,168, 5, 0, 0, 0, 0, + 88,138,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, + 56,139,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,168,139,168, 5, 0, 0, 0, 0,200,138,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,139,168, 5, 0, 0, 0, 0, +212, 0, 0, 0, 1, 0, 0, 0, 24,140,168, 5, 0, 0, 0, 0, 56,139,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +240, 4,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24,140,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, +136,140,168, 5, 0, 0, 0, 0,168,139,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 92, 1, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0,136,140,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248,140,168, 5, 0, 0, 0, 0, + 24,140,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, +248,140,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,104,141,168, 5, 0, 0, 0, 0,136,140,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 48, 2,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104,141,168, 5, 0, 0, 0, 0, +212, 0, 0, 0, 1, 0, 0, 0,216,141,168, 5, 0, 0, 0, 0,248,140,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 92, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216,141,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, + 72,142,168, 5, 0, 0, 0, 0,104,141,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 2, 92, 1, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0, 72,142,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +216,141,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 68, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, +184,142,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40,143,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +232,137,168, 5, 0, 0, 0, 0, 88,138,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, + 40,143,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152,143,168, 5, 0, 0, 0, 0,184,142,168, 5, 0, 0, 0, 0, +232,137,168, 5, 0, 0, 0, 0, 56,139,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, +152,143,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8,144,168, 5, 0, 0, 0, 0, 40,143,168, 5, 0, 0, 0, 0, + 88,138,168, 5, 0, 0, 0, 0,168,139,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, + 8,144,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120,144,168, 5, 0, 0, 0, 0,152,143,168, 5, 0, 0, 0, 0, + 56,139,168, 5, 0, 0, 0, 0,168,139,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, +120,144,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232,144,168, 5, 0, 0, 0, 0, 8,144,168, 5, 0, 0, 0, 0, +168,139,168, 5, 0, 0, 0, 0, 24,140,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, +232,144,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88,145,168, 5, 0, 0, 0, 0,120,144,168, 5, 0, 0, 0, 0, +120,137,168, 5, 0, 0, 0, 0,136,140,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, + 88,145,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200,145,168, 5, 0, 0, 0, 0,232,144,168, 5, 0, 0, 0, 0, + 56,139,168, 5, 0, 0, 0, 0,248,140,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, +200,145,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56,146,168, 5, 0, 0, 0, 0, 88,145,168, 5, 0, 0, 0, 0, +136,140,168, 5, 0, 0, 0, 0,104,141,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, + 56,146,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,168,146,168, 5, 0, 0, 0, 0,200,145,168, 5, 0, 0, 0, 0, +104,141,168, 5, 0, 0, 0, 0,216,141,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, +168,146,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24,147,168, 5, 0, 0, 0, 0, 56,146,168, 5, 0, 0, 0, 0, +248,140,168, 5, 0, 0, 0, 0,216,141,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, + 24,147,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136,147,168, 5, 0, 0, 0, 0,168,146,168, 5, 0, 0, 0, 0, + 24,140,168, 5, 0, 0, 0, 0, 72,142,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, +136,147,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,248,147,168, 5, 0, 0, 0, 0, 24,147,168, 5, 0, 0, 0, 0, +200,138,168, 5, 0, 0, 0, 0, 72,142,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, +248,147,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,104,148,168, 5, 0, 0, 0, 0,136,147,168, 5, 0, 0, 0, 0, +136,140,168, 5, 0, 0, 0, 0, 72,142,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, +104,148,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,216,148,168, 5, 0, 0, 0, 0,248,147,168, 5, 0, 0, 0, 0, +120,137,168, 5, 0, 0, 0, 0,200,138,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, +216,148,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72,149,168, 5, 0, 0, 0, 0,104,148,168, 5, 0, 0, 0, 0, +168,139,168, 5, 0, 0, 0, 0,248,140,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, + 72,149,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184,149,168, 5, 0, 0, 0, 0,216,148,168, 5, 0, 0, 0, 0, + 24,140,168, 5, 0, 0, 0, 0,216,141,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, +184,149,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40,150,168, 5, 0, 0, 0, 0, 72,149,168, 5, 0, 0, 0, 0, + 56,139,168, 5, 0, 0, 0, 0,104,141,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, + 40,150,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,149,168, 5, 0, 0, 0, 0, + 24,140,168, 5, 0, 0, 0, 0,104,141,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, +152,150,168, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,104,154,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56,139,168, 5, 0, 0, 0, 0,232,137,168, 5, 0, 0, 0, 0, 88,138,168, 5, 0, 0, 0, 0,168,139,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,196, 2, 0, 0,222, 2, 0, 0, 7, 7,241, 4, 27, 0, 1, 0, + 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,183,168, 5, 0, 0, 0, 0,232,183,168, 5, 0, 0, 0, 0, +136,151,168, 5, 0, 0, 0, 0,248,152,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,151,168, 5, 0, 0, 0, 0, +216, 0, 0, 0, 1, 0, 0, 0,248,152,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,148, 68, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 32,158, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, + 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,158, 68, 0, 0,200, 65, 0, 0,158, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,241, 4, 26, 0,241, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,196, 2, 0, 0,221, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,241, 4, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248,152,168, 5, 0, 0, 0, 0, +216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,151,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, + 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0, + 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, + 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222, 2, 0, 0,222, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,104,154,168, 5, 0, 0, 0, 0, +215, 0, 0, 0, 1, 0, 0, 0, 88,159,168, 5, 0, 0, 0, 0,152,150,168, 5, 0, 0, 0, 0,120,137,168, 5, 0, 0, 0, 0, +136,140,168, 5, 0, 0, 0, 0, 72,142,168, 5, 0, 0, 0, 0,200,138,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 15, 15,241, 4, 68, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56,158,168, 5, 0, 0, 0, 0, 56,158,168, 5, 0, 0, 0, 0, 88,155,168, 5, 0, 0, 0, 0, +200,156,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,155,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, +200,156,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,140, 68, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0, 32,158, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0, 0,158, 68, 0, 0,200, 65, 0, 0,158, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, + 4, 0, 12, 0, 10, 0,241, 4, 26, 0,241, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +241, 4, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,156,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 88,155,168, 5, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66, +112,189, 17,192,246, 70,125, 67, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 18, 0, 0, 0, 41, 0, 0, 0, + 0, 0,128, 63, 0, 0, 72, 66, 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2, + 4, 0, 0, 4, 8, 0,241, 4, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,240, 4, 0, 0, 26, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +241, 4, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,208, 0, 0, 0, 56,158,168, 5, 0, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88,159,168, 5, 0, 0, 0, 0, +215, 0, 0, 0, 1, 0, 0, 0, 72,167,168, 5, 0, 0, 0, 0,104,154,168, 5, 0, 0, 0, 0,136,140,168, 5, 0, 0, 0, 0, +104,141,168, 5, 0, 0, 0, 0, 24,140,168, 5, 0, 0, 0, 0, 72,142,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,240, 4, 0, 0, 69, 0, 0, 0, 91, 1, 0, 0, 8, 8,241, 4, 23, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 8,166,168, 5, 0, 0, 0, 0, 8,166,168, 5, 0, 0, 0, 0, 72,160,168, 5, 0, 0, 0, 0, +152,164,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,160,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, +184,161,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 26, 68, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0, 32,158, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0, 0,158, 68, 0, 0,200, 65, 0, 0,158, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, + 4, 0, 12, 0, 10, 0,241, 4, 26, 0,241, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,240, 4, 0, 0, 69, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +241, 4, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,161,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, + 40,163,168, 5, 0, 0, 0, 0, 72,160,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 67, 0, 0,125,195, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 75, 67, 1, 0,125,195, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0,252, 0, 0, 0, + 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0,252, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, + 18, 0, 0, 4, 6, 0,220, 0,253, 0,203, 0,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 21, 4, 0, 0,240, 4, 0, 0, 95, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +220, 0,253, 0, 0, 0, 4, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,163,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, +152,164,168, 5, 0, 0, 0, 0,184,161,168, 5, 0, 0, 0, 0, 0, 0,112,196, 0, 0,112, 68, 0, 0, 7,196, 0, 0, 7, 68, + 0, 0,112,196, 0, 0,112, 68, 0, 0, 7,196, 0, 0, 7, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 59, 70, 0,128, 59, 70,172,197, 39, 55, 0, 80,195, 71, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 20, 4, 0, 0, 91, 1, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 7, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,164,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 40,163,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, + 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,252, 0, 0, 0, + 18, 0, 0, 0, 20, 4, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 20, 4, 0, 0, 18, 0, 0, 0,252, 0, 0, 0, + 0, 0, 32, 65, 0, 0, 0, 63, 0,124,146, 72, 0, 0, 0, 66, 10,215, 35, 60, 0, 0,200, 66,105, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 8, 0, 21, 4,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 20, 4, 0, 0, 95, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 21, 4,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0, 8,166,168, 5, 0, 0, 0, 0,181, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 72,167,168, 5, 0, 0, 0, 0, +215, 0, 0, 0, 1, 0, 0, 0,248,175,168, 5, 0, 0, 0, 0, 88,159,168, 5, 0, 0, 0, 0,104,141,168, 5, 0, 0, 0, 0, + 56,139,168, 5, 0, 0, 0, 0,248,140,168, 5, 0, 0, 0, 0,216,141,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 47, 2, 0, 0, 93, 1, 0, 0,194, 2, 0, 0, 2, 2, 48, 2,102, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,248,173,168, 5, 0, 0, 0, 0,248,173,168, 5, 0, 0, 0, 0, 56,168,168, 5, 0, 0, 0, 0, +136,172,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,168,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, +168,169,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 89, 68, 0, 0, 0, 0, 0, 0,208, 65, +154,216, 65, 55, 0, 0, 12, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0,192, 11, 68, 0, 0,200, 65, 0,192, 11, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, + 4, 0, 12, 0, 10, 0, 48, 2, 26, 0, 48, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 47, 2, 0, 0, 93, 1, 0, 0,118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 48, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,169,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, + 24,171,168, 5, 0, 0, 0, 0, 56,168,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,112,193, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,157,195, 0, 0, 0, 0,200, 0, 0, 0,217, 0, 0, 0, 18, 0, 0, 0, 75, 1, 0, 0, + 0, 0, 0, 0,199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0, 75, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 10, 6, 0, 0, 2, 0, 3, 3, + 0, 0, 0, 4, 6, 0,217, 0, 76, 1,200, 0, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,216, 0, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +217, 0, 76, 1, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,171,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, +136,172,168, 5, 0, 0, 0, 0,168,169,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 47, 2, 0, 0, 47, 2, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, -160, 0, 0, 0,200, 35, 30, 7, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,251, 29, 7, - 0, 0, 0, 0,104,242, 29, 7, 0, 0, 0, 0,248,241, 29, 7, 0, 0, 0, 0,136,241, 29, 7, 0, 0, 0, 0,168,240, 29, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201, 3, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,233, 3, 0, 0, 1, 1,182, 3, -234, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 50, 30, 7, 0, 0, 0, 0,232, 50, 30, 7, - 0, 0, 0, 0,184, 36, 30, 7, 0, 0, 0, 0,184, 45, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184, 36, 30, 7, - 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 40, 38, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128,109, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -181, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 64,109, 68, 0, 0,200, 65, 0, 64,109, 68, 0, 0,200, 65, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,182, 3, 26, 0,182, 3, 26, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201, 3, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,172,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 24,171,168, 5, 0, 0, 0, 0, 0, 0, 16,193, 0, 0,130, 67, 0, 0,160,192, 0, 0,160, 64, + 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 16,193, 0, 0, 32, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 75, 1, 0, 0, + 18, 0, 0, 0, 86, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 86, 1, 0, 0, 18, 0, 0, 0, 75, 1, 0, 0, +111, 18,131, 58,111, 18,131, 58, 0,124,146, 72, 0, 80, 67, 71, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 0, 0, 87, 1, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +217, 0, 0, 0, 47, 2, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 87, 1, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40, 38, 30, 7, - 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 56, 41, 30, 7, 0, 0, 0, 0,184, 36, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 32, 67, 0, 0, 86,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 86,196, 0, 0, 0, 0,143, 0, 0, 0, -160, 0, 0, 0, 0, 0, 0, 0, 87, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, -142, 0, 0, 0, 0, 0, 0, 0, 87, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, - 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0, 88, 3,143, 0, 88, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201, 3, 0, 0,104, 4, 0, 0,146, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0, 88, 3, 0, 0, 5, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,248,173,168, 5, 0, 0, 0, 0,179, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,152, 39, 30, 7, 0, 0, 0, 0,152, 39, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152, 39, 30, 7, - 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101, - 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101, - 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 98,106,101, 99,116, 32, 84,111,111,108,115, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233,253,143, 0,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56, 41, 30, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 72, 44, 30, 7, - 0, 0, 0, 0, 40, 38, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 67, 0, 0,242,194, 0, 0, 0, 0, 0, 0, 0, 0, -231,102, 16, 67, 91, 90,242,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, -142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, - 6, 0,160, 0,120, 0,143, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201, 3, 0, 0, -104, 4, 0, 0, 26, 0, 0, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,120, 0, - 0, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 42, 30, 7, 0, 0, 0, 0,168, 42, 30, 7, + 0, 0, 0, 0, 0, 0, 0, 0, 56,175,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,112, 0, 0, 0, 56,175,168, 5, 0, 0, 0, 0, + 38, 1, 0, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,168, 42, 30, 7, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, - 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, - 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,112,101,114, - 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,255, -144, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72, 44, 30, 7, - 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,184, 45, 30, 7, 0, 0, 0, 0, 56, 41, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 35, 67, 0,128,126,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67,255,191,126,196, 0, 0, 0, 0,163, 0, 0, 0, -180, 0, 0, 0, 18, 0, 0, 0, 12, 4, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, -162, 0, 0, 0, 18, 0, 0, 0, 12, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, - 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0, 13, 4,163, 0,251, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,126, 7, 0, 0, 26, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, +248,175,168, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,167,168, 5, 0, 0, 0, 0, +216,141,168, 5, 0, 0, 0, 0,248,140,168, 5, 0, 0, 0, 0,168,139,168, 5, 0, 0, 0, 0, 24,140,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 49, 2, 0, 0,240, 4, 0, 0, 93, 1, 0, 0,194, 2, 0, 0, 8, 8,192, 2,102, 1, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,182,168, 5, 0, 0, 0, 0,168,182,168, 5, 0, 0, 0, 0, +232,176,168, 5, 0, 0, 0, 0, 56,181,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232,176,168, 5, 0, 0, 0, 0, +216, 0, 0, 0, 1, 0, 0, 0, 88,178,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 67, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 48, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 2, 0, 0, + 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 47, 68, 0, 0,200, 65, 0,192, 47, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,192, 2, 26, 0,192, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 49, 2, 0, 0,240, 4, 0, 0, 93, 1, 0, 0,118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,192, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184, 45, 30, 7, - 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 44, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,178,168, 5, 0, 0, 0, 0, +216, 0, 0, 0, 1, 0, 0, 0,200,179,168, 5, 0, 0, 0, 0,232,176,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,105, 4, 0, 0,126, 7, 0, 0, 26, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 3,208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,240, 4, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 47, 30, 7, 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0, 40, 47, 30, 7, - 0, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0, 72,246,172, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 13,128,191, 0, 0,128,191, 0, 0, 0, 0, - 0, 0, 0, 0, 74,215, 76,190, 0, 0, 0, 0, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63, -143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 25, 95,192, 0, 0,128, 63, 69,239,209, 62, 70,119,105, 63,160, 84, 89,188, 0, 0, 0, 0, 52,177,205,190, -142, 74, 70, 62,166, 33,101, 63, 0, 0, 0, 0,185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0,188,173, 54, 64, -136, 95,161,191,147,231,198, 63, 0, 0,128, 63,185,214, 13, 63,208,249,224,190, 48,180, 81,191,184,158, 81,191,189,188,157, 63, -140,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62,241,213,146,188,206,156,122, 63,138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, - 0, 0, 0, 0,100, 98, 82, 64, 0, 25, 95, 64,121, 92,155, 62,151,198, 44, 63,192,214, 32,188, 0, 0, 40,180,195, 15,188,190, -132, 75, 53, 62,216,125, 81, 63, 0, 0,192,179,115, 77,100,193, 17,173,201, 64,181,148,248,192,203,247,159,192,233, 74, 87, 65, -247, 46,190,192, 88,106,234, 64, 45, 8,160, 64, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63, -143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 25, 95,192, 0, 0,128, 63,185,214, 13, 63,208,249,224,190, 48,180, 81,191,184,158, 81,191,189,188,157, 63, -140,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62,241,213,146,188,206,156,122, 63,138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, - 0, 0, 0, 0,100, 98, 82, 64, 0, 25, 95, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,179,168, 5, 0, 0, 0, 0, +216, 0, 0, 0, 1, 0, 0, 0, 56,181,168, 5, 0, 0, 0, 0, 88,178,168, 5, 0, 0, 0, 0, 0, 0,240,195, 0, 0,240, 67, + 0, 0,135,195, 0, 0,135, 67,238, 33,143,196,238, 33,143, 68, 0, 0, 7,196, 0, 0, 7, 68, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 2, 0, 0, + 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 59, 70, 0,128, 59, 70,172,197, 39, 55, 0, 80,195, 71, + 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 4, 0, 0,192, 2, 76, 1,192, 2, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 49, 2, 0, 0,240, 4, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,192, 2, 76, 1, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,181,168, 5, 0, 0, 0, 0, +216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,179,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67, + 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 17, 0, 0, 0, + 18, 0, 0, 0, 75, 1, 0, 0, 18, 0, 0, 0,201, 2, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,201, 2, 0, 0, + 18, 0, 0, 0, 75, 1, 0, 0, 0, 0, 32, 65, 0, 0, 0, 63, 0,124,146, 72, 0, 0, 0, 66, 10,215, 35, 60, 0, 0,200, 66, +105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0,202, 2, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,168,182,168, 5, 0, 0, 0, 0, +181, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,201,250, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -248,201,250, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,201,250, 62, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190, 0, 25, 95, 64, - 0, 25, 95, 64, 0, 0, 0, 0, 0, 0, 0, 0,114,145,245, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 30, 33, 12, 66, 85,152,137, 66,116, 27,126, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 96, 1, 0, 0,232, 50, 30, 7, 0, 0, 0, 0,175, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, -205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,248,130, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8,128, 0, 0, 0, 12, 66, 0, 0,128, 63, -205,204,204, 61, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 0, 0,216, 11, 0, 0, +120,184,168, 5, 0, 0, 0, 0,172, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 83, 99,101,110,101, 0,116, 97,103,101, 0, 97,105,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 8, 1, 0, 0, 40, 53, 30, 7, - 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,238, 29, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 86,105,100,101,111, 32, 69,100,105,116,105,110,103, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +152,196,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,104,197,168, 5, 0, 0, 0, 0, 72,198,168, 5, 0, 0, 0, 0,104,197,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,120, 54, 30, 7, 0, 0, 0, 0, 72, 59, 30, 7, 0, 0, 0, 0,184, 59, 30, 7, 0, 0, 0, 0, 40, 67, 30, 7, - 0, 0, 0, 0,152, 67, 30, 7, 0, 0, 0, 0,248, 92, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120, 54, 30, 7, - 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,232, 54, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232, 54, 30, 7, 0, 0, 0, 0,212, 0, 0, 0, - 1, 0, 0, 0, 88, 55, 30, 7, 0, 0, 0, 0,120, 54, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222, 2, - 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88, 55, 30, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,200, 55, 30, 7, - 0, 0, 0, 0,232, 54, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4,222, 2, 0, 0, 0, 0, 68, 65, 84, 65, - 32, 0, 0, 0,200, 55, 30, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56, 56, 30, 7, 0, 0, 0, 0, 88, 55, 30, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56, 56, 30, 7, - 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,168, 56, 30, 7, 0, 0, 0, 0,200, 55, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168, 56, 30, 7, 0, 0, 0, 0,212, 0, 0, 0, - 1, 0, 0, 0, 24, 57, 30, 7, 0, 0, 0, 0, 56, 56, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4,195, 2, - 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24, 57, 30, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,136, 57, 30, 7, - 0, 0, 0, 0,168, 56, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 92, 1, 0, 0, 0, 0, 68, 65, 84, 65, - 32, 0, 0, 0,136, 57, 30, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248, 57, 30, 7, 0, 0, 0, 0, 24, 57, 30, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248, 57, 30, 7, - 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,104, 58, 30, 7, 0, 0, 0, 0,136, 57, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 48, 2,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104, 58, 30, 7, 0, 0, 0, 0,212, 0, 0, 0, - 1, 0, 0, 0,216, 58, 30, 7, 0, 0, 0, 0,248, 57, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 1, - 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216, 58, 30, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 72, 59, 30, 7, - 0, 0, 0, 0,104, 58, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 2, 92, 1, 0, 0, 0, 0, 68, 65, 84, 65, - 32, 0, 0, 0, 72, 59, 30, 7, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 58, 30, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 68, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184, 59, 30, 7, - 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40, 60, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 54, 30, 7, - 0, 0, 0, 0, 88, 55, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 60, 30, 7, - 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152, 60, 30, 7, 0, 0, 0, 0,184, 59, 30, 7, 0, 0, 0, 0,232, 54, 30, 7, - 0, 0, 0, 0, 56, 56, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152, 60, 30, 7, - 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8, 61, 30, 7, 0, 0, 0, 0, 40, 60, 30, 7, 0, 0, 0, 0, 88, 55, 30, 7, - 0, 0, 0, 0,168, 56, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 61, 30, 7, - 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120, 61, 30, 7, 0, 0, 0, 0,152, 60, 30, 7, 0, 0, 0, 0, 56, 56, 30, 7, - 0, 0, 0, 0,168, 56, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 61, 30, 7, - 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232, 61, 30, 7, 0, 0, 0, 0, 8, 61, 30, 7, 0, 0, 0, 0,168, 56, 30, 7, - 0, 0, 0, 0, 24, 57, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 61, 30, 7, - 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88, 62, 30, 7, 0, 0, 0, 0,120, 61, 30, 7, 0, 0, 0, 0,120, 54, 30, 7, - 0, 0, 0, 0,136, 57, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88, 62, 30, 7, - 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200, 62, 30, 7, 0, 0, 0, 0,232, 61, 30, 7, 0, 0, 0, 0, 56, 56, 30, 7, - 0, 0, 0, 0,248, 57, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200, 62, 30, 7, - 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56, 63, 30, 7, 0, 0, 0, 0, 88, 62, 30, 7, 0, 0, 0, 0,136, 57, 30, 7, - 0, 0, 0, 0,104, 58, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 63, 30, 7, - 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,168, 63, 30, 7, 0, 0, 0, 0,200, 62, 30, 7, 0, 0, 0, 0,104, 58, 30, 7, - 0, 0, 0, 0,216, 58, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168, 63, 30, 7, - 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24, 64, 30, 7, 0, 0, 0, 0, 56, 63, 30, 7, 0, 0, 0, 0,248, 57, 30, 7, - 0, 0, 0, 0,216, 58, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 64, 30, 7, - 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136, 64, 30, 7, 0, 0, 0, 0,168, 63, 30, 7, 0, 0, 0, 0, 24, 57, 30, 7, - 0, 0, 0, 0, 72, 59, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136, 64, 30, 7, - 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,248, 64, 30, 7, 0, 0, 0, 0, 24, 64, 30, 7, 0, 0, 0, 0,200, 55, 30, 7, - 0, 0, 0, 0, 72, 59, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248, 64, 30, 7, - 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,104, 65, 30, 7, 0, 0, 0, 0,136, 64, 30, 7, 0, 0, 0, 0,136, 57, 30, 7, - 0, 0, 0, 0, 72, 59, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104, 65, 30, 7, - 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,216, 65, 30, 7, 0, 0, 0, 0,248, 64, 30, 7, 0, 0, 0, 0,120, 54, 30, 7, - 0, 0, 0, 0,200, 55, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216, 65, 30, 7, - 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72, 66, 30, 7, 0, 0, 0, 0,104, 65, 30, 7, 0, 0, 0, 0,168, 56, 30, 7, - 0, 0, 0, 0,248, 57, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72, 66, 30, 7, - 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184, 66, 30, 7, 0, 0, 0, 0,216, 65, 30, 7, 0, 0, 0, 0, 24, 57, 30, 7, - 0, 0, 0, 0,216, 58, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184, 66, 30, 7, - 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40, 67, 30, 7, 0, 0, 0, 0, 72, 66, 30, 7, 0, 0, 0, 0, 56, 56, 30, 7, - 0, 0, 0, 0,104, 58, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 67, 30, 7, - 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 66, 30, 7, 0, 0, 0, 0, 24, 57, 30, 7, - 0, 0, 0, 0,104, 58, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,152, 67, 30, 7, - 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,104, 71, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 56, 30, 7, - 0, 0, 0, 0,232, 54, 30, 7, 0, 0, 0, 0, 88, 55, 30, 7, 0, 0, 0, 0,168, 56, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,196, 2, 0, 0,222, 2, 0, 0, 7, 7,241, 4, 27, 0, 1, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,100, 30, 7, 0, 0, 0, 0,232,100, 30, 7, 0, 0, 0, 0,136, 68, 30, 7, - 0, 0, 0, 0,248, 69, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136, 68, 30, 7, 0, 0, 0, 0,216, 0, 0, 0, - 1, 0, 0, 0,248, 69, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,148, 68, 0, 0, 0, 0, - 0, 0,208, 65, 0, 0, 0, 0, 0, 32,158, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, - 25, 0, 0, 0, 0, 0,158, 68, 0, 0,200, 65, 0, 0,158, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,241, 4, 26, 0,241, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,196, 2, 0, 0,221, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,241, 4, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248, 69, 30, 7, 0, 0, 0, 0,216, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 68, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, - 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 18, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, - 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222, 2, 0, 0,222, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,198,168, 5, 0, 0, 0, 0, + 56,143,132, 5, 0, 0, 0, 0, 17, 2, 24, 0, 90, 90, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,104, 71, 30, 7, 0, 0, 0, 0,215, 0, 0, 0, - 1, 0, 0, 0, 88, 76, 30, 7, 0, 0, 0, 0,152, 67, 30, 7, 0, 0, 0, 0,120, 54, 30, 7, 0, 0, 0, 0,136, 57, 30, 7, - 0, 0, 0, 0, 72, 59, 30, 7, 0, 0, 0, 0,200, 55, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -240, 4, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 15, 15,241, 4, 68, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 56, 75, 30, 7, 0, 0, 0, 0, 56, 75, 30, 7, 0, 0, 0, 0, 88, 72, 30, 7, 0, 0, 0, 0,200, 73, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88, 72, 30, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,200, 73, 30, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,140, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, - 0, 32,158, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,158, 68, - 0, 0,200, 65, 0, 0,158, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, - 10, 0,241, 4, 26, 0,241, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 4, 26, 0, - 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +192, 0, 0, 0, 68,172, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, +250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0,100, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, + 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 2,224, 1, 60, 0, 32, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 6, 0, 50, 0,141, 0,128, 7, 56, 4, 8, 0, 8, 0, 24, 0, 17, 0, 0, 0, 90, 0, 1, 0, 81, 0, 0, 0, + 23, 0, 33, 0, 2, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 8, 0, 24, 0, 10, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,200,202,168, 5, 0, 0, 0, 0,200,202,168, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 5, 0, 2, 0, 1, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,116,109,112, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200, 73, 30, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 88, 72, 30, 7, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66,112,189, 17,192, -246, 70,125, 67, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -240, 4, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 18, 0, 0, 0, 41, 0, 0, 0, 0, 0,128, 63, - 0, 0, 72, 66, 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, - 8, 0,241, 4, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -240, 4, 0, 0, 26, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 4, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65,208, 0, 0, 0, 56, 75, 30, 7, 0, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88, 76, 30, 7, 0, 0, 0, 0,215, 0, 0, 0, - 1, 0, 0, 0, 72, 84, 30, 7, 0, 0, 0, 0,104, 71, 30, 7, 0, 0, 0, 0,136, 57, 30, 7, 0, 0, 0, 0,104, 58, 30, 7, - 0, 0, 0, 0, 24, 57, 30, 7, 0, 0, 0, 0, 72, 59, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -240, 4, 0, 0, 69, 0, 0, 0, 91, 1, 0, 0, 8, 8,241, 4, 23, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 8, 83, 30, 7, 0, 0, 0, 0, 8, 83, 30, 7, 0, 0, 0, 0, 72, 77, 30, 7, 0, 0, 0, 0,152, 81, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72, 77, 30, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,184, 78, 30, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 26, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, - 0, 32,158, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,158, 68, - 0, 0,200, 65, 0, 0,158, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, - 10, 0,241, 4, 26, 0,241, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -240, 4, 0, 0, 69, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 4, 26, 0, - 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184, 78, 30, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 40, 80, 30, 7, - 0, 0, 0, 0, 72, 77, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 67, 0, 0,125,195, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 75, 67, 1, 0,125,195, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0,252, 0, 0, 0, 0, 0, 0, 0, -202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0,252, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, - 6, 0,220, 0,253, 0,203, 0,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 4, 0, 0, -240, 4, 0, 0, 95, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0,253, 0, - 0, 0, 4, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40, 80, 30, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,152, 81, 30, 7, - 0, 0, 0, 0,184, 78, 30, 7, 0, 0, 0, 0, 0, 0,112,196, 0, 0,112, 68, 0, 0, 7,196, 0, 0, 7, 68, 0, 0,112,196, - 0, 0,112, 68, 0, 0, 7,196, 0, 0, 7, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0,128, 59, 70, 0,128, 59, 70,172,197, 39, 55, 0, 80,195, 71, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 20, 4, 0, 0, 91, 1, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, - 0, 0, 7, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152, 81, 30, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 40, 80, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, - 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,252, 0, 0, 0, 18, 0, 0, 0, - 20, 4, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 20, 4, 0, 0, 18, 0, 0, 0,252, 0, 0, 0, 0, 0, 32, 65, - 0, 0, 0, 63, 0,124,146, 72, 0, 0, 0, 66, 10,215, 35, 60, 0, 0,200, 66,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, - 8, 0, 21, 4,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 20, 4, 0, 0, 95, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 4,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0, 8, 83, 30, 7, 0, 0, 0, 0,181, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 72, 84, 30, 7, 0, 0, 0, 0,215, 0, 0, 0, - 1, 0, 0, 0,248, 92, 30, 7, 0, 0, 0, 0, 88, 76, 30, 7, 0, 0, 0, 0,104, 58, 30, 7, 0, 0, 0, 0, 56, 56, 30, 7, - 0, 0, 0, 0,248, 57, 30, 7, 0, 0, 0, 0,216, 58, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 47, 2, 0, 0, 93, 1, 0, 0,194, 2, 0, 0, 2, 2, 48, 2,102, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,248, 90, 30, 7, 0, 0, 0, 0,248, 90, 30, 7, 0, 0, 0, 0, 56, 85, 30, 7, 0, 0, 0, 0,136, 89, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56, 85, 30, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,168, 86, 30, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 89, 68, 0, 0, 0, 0, 0, 0,208, 65,154,216, 65, 55, - 0, 0, 12, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 11, 68, - 0, 0,200, 65, 0,192, 11, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, - 10, 0, 48, 2, 26, 0, 48, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 47, 2, 0, 0, 93, 1, 0, 0,118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 2, 26, 0, - 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168, 86, 30, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 24, 88, 30, 7, - 0, 0, 0, 0, 56, 85, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,112,193, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 72, 67, 0, 0,157,195, 0, 0, 0, 0,200, 0, 0, 0,217, 0, 0, 0, 18, 0, 0, 0, 75, 1, 0, 0, 0, 0, 0, 0, -199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0, 75, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 10, 6, 0, 0, 2, 0, 3, 3, 0, 0, 0, 4, - 6, 0,217, 0, 76, 1,200, 0, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -216, 0, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0, 76, 1, - 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 5, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24, 88, 30, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,136, 89, 30, 7, - 0, 0, 0, 0,168, 86, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 2, 0, 0, - 47, 2, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, - 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136, 89, 30, 7, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 24, 88, 30, 7, 0, 0, 0, 0, 0, 0, 16,193, 0, 0,130, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0, - 0, 0,122, 67, 0, 0, 16,193, 0, 0, 32, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 75, 1, 0, 0, 18, 0, 0, 0, - 86, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 86, 1, 0, 0, 18, 0, 0, 0, 75, 1, 0, 0,111, 18,131, 58, -111, 18,131, 58, 0,124,146, 72, 0, 80, 67, 71, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, - 0, 0, 87, 1, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0, 0, 0, - 47, 2, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 1, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,248, 90, 30, 7, 0, 0, 0, 0,179, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 56, 92, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, - 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,112, 0, 0, 0, 56, 92, 30, 7, 0, 0, 0, 0, 38, 1, 0, 0, - 1, 0, 0, 0,120,101, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248, 92, 30, 7, - 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 84, 30, 7, 0, 0, 0, 0,216, 58, 30, 7, - 0, 0, 0, 0,248, 57, 30, 7, 0, 0, 0, 0,168, 56, 30, 7, 0, 0, 0, 0, 24, 57, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 49, 2, 0, 0,240, 4, 0, 0, 93, 1, 0, 0,194, 2, 0, 0, 8, 8,192, 2,102, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 99, 30, 7, 0, 0, 0, 0,168, 99, 30, 7, 0, 0, 0, 0,232, 93, 30, 7, - 0, 0, 0, 0, 56, 98, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232, 93, 30, 7, 0, 0, 0, 0,216, 0, 0, 0, - 1, 0, 0, 0, 88, 95, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 67, 0, 0, 0, 0, - 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 48, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 2, 0, 0, 0, 0, 0, 0, - 25, 0, 0, 0, 0,192, 47, 68, 0, 0,200, 65, 0,192, 47, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,192, 2, 26, 0,192, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 49, 2, 0, 0,240, 4, 0, 0, 93, 1, 0, 0,118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,192, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88, 95, 30, 7, 0, 0, 0, 0,216, 0, 0, 0, - 1, 0, 0, 0,200, 96, 30, 7, 0, 0, 0, 0,232, 93, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,240, 4, 0, 0,240, 4, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200, 96, 30, 7, 0, 0, 0, 0,216, 0, 0, 0, - 1, 0, 0, 0, 56, 98, 30, 7, 0, 0, 0, 0, 88, 95, 30, 7, 0, 0, 0, 0, 0, 0,240,195, 0, 0,240, 67, 0, 0,135,195, - 0, 0,135, 67,238, 33,143,196,238, 33,143, 68, 0, 0, 7,196, 0, 0, 7, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 2, 0, 0, 0, 0, 0, 0, - 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 59, 70, 0,128, 59, 70,172,197, 39, 55, 0, 80,195, 71, 0, 0, 0, 0, - 0, 0, 6, 0, 0, 0, 0, 4, 0, 0,192, 2, 76, 1,192, 2, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 49, 2, 0, 0,240, 4, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,192, 2, 76, 1, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +205,204, 76, 63,205,204, 76, 63,205,204, 76, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 16, 0, 0, 0,128, 63, 0, 0,128, 63,173, 2, 95, 0,154,153,217, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 66, 76, 69, 78, 68, 69, 82, 95, 82, 69, 78, 68, 69, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68,172, 0, 0, 0, 0,128, 63,102,166,171, 67, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 48,194,132, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 38,140, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,200,104, 99, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56, 98, 30, 7, 0, 0, 0, 0,216, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 96, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, - 0, 0, 0, 65, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, - 75, 1, 0, 0, 18, 0, 0, 0,201, 2, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,201, 2, 0, 0, 18, 0, 0, 0, - 75, 1, 0, 0, 0, 0, 32, 65, 0, 0, 0, 63, 0,124,146, 72, 0, 0, 0, 66, 10,215, 35, 60, 0, 0,200, 66,105, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 8, 0,202, 2, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 2,224, 1, 60, 0, 32, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 5, 0,205,204,204, 61,154,153,153, 62,205,204, 76, 62,219, 15, 73, 63,102,102,102, 63, 0, 0, 0, 64,154,153, 25, 63, + 0, 0, 64, 65,102,102,166, 63, 0, 0, 0, 65, 0, 0,160, 65, 6, 0, 0, 0, 0, 0,192, 64, 0, 0,128, 63, 0, 0, 0, 0, +205,204, 28, 65, 0, 0, 0, 0, 32, 0, 0, 0, 32, 0, 1, 0,128, 0, 5, 0,218, 0, 0, 0, 60, 0, 5, 0, 1, 0, 5, 0, + 0, 0, 0, 0, 0, 0, 0, 64, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +195,245, 28,193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 38, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0,152,196,168, 5, 0, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,168, 99, 30, 7, 0, 0, 0, 0,181, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,104,197,168, 5, 0, 0, 0, 0,144, 0, 0, 0, 1, 0, 0, 0,216,197,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,224, 2,168, 1,184,219,168, 5, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,216,197,168, 5, 0, 0, 0, 0,144, 0, 0, 0, 1, 0, 0, 0, 72,198,168, 5, 0, 0, 0, 0, +104,197,168, 5, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0,183, 3,241, 2, 88,226,168, 5, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 72,198,168, 5, 0, 0, 0, 0,144, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +216,197,168, 5, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0,162, 0, 12, 2, 24,213,168, 5, 0, 0, 0, 0, + 68, 65, 84, 65,248, 1, 0, 0,184,198,168, 5, 0, 0, 0, 0,168, 0, 0, 0, 1, 0, 0, 0,248,200,168, 5, 0, 0, 0, 0, +136,201,168, 5, 0, 0, 0, 0, 24,202,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 0, 0, +205,204, 76, 63, 0, 0,180, 66, 9, 0, 1, 0, 0, 0,128, 63,111, 18,131, 58,205,204,204, 61, 0, 0, 1, 0, 32, 0, 32, 0, + 32, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, +232, 25,170, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 80, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 0, 5, 0,255,255, + 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, + 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, + 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, + 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 10,215, 35, 60,205,204,204, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 0,205,204,204, 61,205,204,204, 61, +102,102,166, 63, 0, 0,192, 63, 0, 0,240, 65, 72,225,122, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 67, 2, 0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 35, 0, 0, 0,204,197,121, 63, 0, 0, 0, 63, 35, 0, 0, 0,204,197,121, 63, + 0, 0, 0, 63, 0, 0,128, 63, 49, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 0, 0, 0,248,200,168, 5, 0, 0, 0, 0, +165, 0, 0, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 0, 0, 0,136,201,168, 5, 0, 0, 0, 0,165, 0, 0, 0, 1, 0, 0, 0, +168,115,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,200,255,128, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,104, 0, 0, 0, 24,202,168, 5, 0, 0, 0, 0,163, 0, 0, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,255,100,100,128, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0,155, 9, 25, 67,190, 23,237, 64, 75, 1,147, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,128, 0, 0, 0,200,202,168, 5, 0, 0, 0, 0,150, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 76, 97,121,101,114, 0,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0,255,127, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 0, 0,200, 0, 0, 0, +216,204,168, 5, 0, 0, 0, 0, 22, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 67, 97,109,101,114, 97, 0, 97,109,101,114, 97, 46, 48, + 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 0, 0,216, 11, 0, 0,120,101, 30, 7, - 0, 0, 0, 0,172, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 83, 99,101,110,101, 0,116, 97,103,101, 0, 97,105,110, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,113, 30, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 40,128, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,104,114, 30, 7, 0, 0, 0, 0, 72,115, 30, 7, 0, 0, 0, 0,104,114, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,115, 30, 7, 0, 0, 0, 0,136, 5, 84, 8, - 0, 0, 0, 0, 17, 2, 24, 0, 90, 90, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 0, 0, 0, - 68,172, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0,100, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0, 0, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 2,224, 1, 60, 0, 32, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, - 6, 0, 50, 0,141, 0,128, 7, 56, 4, 8, 0, 8, 0, 24, 0, 17, 0, 0, 0, 90, 0, 1, 0, 81, 0, 0, 0, 23, 0, 33, 0, - 2, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 8, 0, 24, 0, 10, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,168,119, 30, 7, 0, 0, 0, 0,168,119, 30, 7, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 5, 0, 2, 0, - 1, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,116,109,112, 47, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 63,205,204,204, 61, 0, 0,200, 66, + 0, 0, 12, 66,161, 14,234, 64, 0, 0, 0, 63, 0, 0, 0, 66, 0, 0,144, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0, 16, 2, 0, 0, +232,205,168, 5, 0, 0, 0, 0, 36, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 76, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, +247,255,239, 65, 0, 0,150, 66,154,153, 25, 62, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 72,208,168, 5, 0, 0, 0, 0, + 2, 0, 0, 0, 46, 26,128, 63, 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64,205,204, 76, 61, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 64, 11, 3, 0, 1, 0, 0, 0, 0, 2, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,209,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 64, 1, 0, 0, 72,208,168, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63, +242, 4, 53,191,243, 4, 53, 63, 24, 73,137, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 5, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, + 24, 73,137, 5, 0, 0, 0, 0,125, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,209,168, 5, 0, 0, 0, 0, 12, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 0, 0, 24, 2, 0, 0, 72,210,168, 5, 0, 0, 0, 0,143, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 87, 79, 87,111,114,108,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,114, 99, 80, 61,114, 99, 80, 61,114, 99, 80, 61,199, 54, 36, 60,199, 54, 36, 60,199, 54, 36, 60, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0,205,204, 28, 65, 0, 0, 0, 0, 0, 0, 32, 0,128, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,160, 64, 0, 0,200, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 64, 0, 0, 0, 0, 0, 0,112, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, + 0, 0,128, 63,205,204, 76, 61, 0, 0, 5, 0, 0, 0, 0, 0, 10,215,163, 59, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,168,212,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, +168,212,168, 5, 0, 0, 0, 0, 12, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0,112, 5, 0, 0, + 24,213,168, 5, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 67, 97,109,101,114, 97, 0, 97,109,101,114, 97, 46, 48, + 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,110,101,239, 64,150, 62,208,192, 78,255,170, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 42,254,141, 63,192, 57, 49, 60, + 34,159, 80, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222,149, 47, 63, 53, 70, 58, 63,222, 56, 49,188, 0, 0, 0, 0, + 86,126,162,190,227,251,159, 62, 55, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63,149, 84, 28,191, 51,247,227, 62, 0, 0, 0, 0, +110,101,239, 64,150, 62,208,192, 78,255,170, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0,128, 63, 1, 0,128, 51, 1, 0, 0,179, 0, 0, 0, 0, + 0, 0, 0, 51, 0, 0,128, 63, 1, 0,128, 51, 0, 0, 0, 0, 2, 0, 0,179, 2, 0, 0,167, 1, 0,128, 63, 0, 0, 0, 0, + 1, 0, 0, 53, 1, 0, 0, 41, 1, 0,128,168, 0, 0,128, 63,221,149, 47, 63, 86,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, + 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,192, 56, 49,188, 55, 53,101, 63, 52,247,227, 62, 0, 0, 0, 0, + 90, 38,173,190, 0,222,192,190,152, 9, 52,193, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, + 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, + 56,180,150,201, 0, 0,128, 63,187,225, 16, 63, 0, 0,128, 63,205,204,204, 62,237, 54, 32, 63, 0, 0, 0, 0,143,194,117, 61, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 1, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +216,218,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63, -205,204, 76, 63,205,204, 76, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 16, 0, 0, 0,128, 63, 0, 0,128, 63,173, 2, 95, 0,154,153,217, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 76, 69, 78, - 68, 69, 82, 95, 82, 69, 78, 68, 69, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,172, 0, 0, - 0, 0,128, 63,102,166,171, 67, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,225, 26, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 22,157, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,232,248,247, 6, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,152, 0, 0, 0,216,218,168, 5, 0, 0, 0, 0,133, 0, 0, 0, 1, 0, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 2,224, 1, 60, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, -205,204,204, 61,154,153,153, 62,205,204, 76, 62,219, 15, 73, 63,102,102,102, 63, 0, 0, 0, 64,154,153, 25, 63, 0, 0, 64, 65, -102,102,166, 63, 0, 0, 0, 65, 0, 0,160, 65, 6, 0, 0, 0, 0, 0,192, 64, 0, 0,128, 63, 0, 0, 0, 0,205,204, 28, 65, - 0, 0, 0, 0, 32, 0, 0, 0, 32, 0, 1, 0,128, 0, 5, 0,218, 0, 0, 0, 60, 0, 5, 0, 1, 0, 5, 0, 0, 0, 0, 0, - 0, 0, 0, 64, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195,245, 28,193, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0,152,113, 30, 7, 0, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 79, 66, 0, 0,112, 5, 0, 0,184,219,168, 5, 0, 0, 0, 0, +130, 0, 0, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 67,117, 98,101, 0,112,104,101,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,104,114, 30, 7, 0, 0, 0, 0,144, 0, 0, 0, 1, 0, 0, 0,216,114, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,240, 1, 11, 1,152,137, 30, 7, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,216,114, 30, 7, 0, 0, 0, 0,144, 0, 0, 0, 1, 0, 0, 0, 72,115, 30, 7, 0, 0, 0, 0,104,114, 30, 7, - 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0,129, 2,233, 1,216,144, 30, 7, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0, 72,115, 30, 7, 0, 0, 0, 0,144, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,114, 30, 7, - 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0,109, 0, 78, 1,248,130, 30, 7, 0, 0, 0, 0, 68, 65, 84, 65, -240, 1, 0, 0,184,115, 30, 7, 0, 0, 0, 0,168, 0, 0, 0, 1, 0, 0, 0,248,117, 30, 7, 0, 0, 0, 0,120,118, 30, 7, - 0, 0, 0, 0,248,118, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 0, 0,205,204, 76, 63, - 0, 0,180, 66, 9, 0, 1, 0, 0, 0,128, 63,111, 18,131, 58,205,204,204, 61, 0, 0, 1, 0, 32, 0, 32, 0, 32, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 56,203, 31, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 80, 0, 0, 2, 0, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 0, 5, 0,255,255, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 10,215, 35, 60,205,204,204, 61, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 0,205,204,204, 61,205,204,204, 61,102,102,166, 63, 0, 0,192, 63, 0, 0,240, 65, - 72,225,122, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 67, 2, 0, 3, 2, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, - 35, 0, 0, 0,204,197,121, 63, 0, 0, 0, 63, 35, 0, 0, 0,204,197,121, 63, 0, 0, 0, 63, 0, 0,128, 63, 49, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 56, 0, 0, 0,248,117, 30, 7, 0, 0, 0, 0,165, 0, 0, 0, 1, 0, 0, 0,248, 36, 31, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 1, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 0, 0, 0,120,118, 30, 7, - 0, 0, 0, 0,165, 0, 0, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,200,255,128, - 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,248,118, 30, 7, 0, 0, 0, 0,163, 0, 0, 0, 1, 0, 0, 0,184,150, 31, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,100,100,128, 1, 0, 0, 0,128, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0,155, 9, 25, 67,190, 23,237, 64, 75, 1,147, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, -128, 0, 0, 0,168,119, 30, 7, 0, 0, 0, 0,150, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82,101,110,100,101,114, 76, 97,121,101,114, 0,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, -255,127, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 0, 0,200, 0, 0, 0, 88,122, 30, 7, - 0, 0, 0, 0, 22, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 67, 97,109,101,114, 97, 0, 97,109,101,114, 97, 46, 48, 48, 49, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 63,205,204,204, 61, 0, 0,200, 66, 0, 0, 12, 66, -161, 14,234, 64, 0, 0, 0, 63, 0, 0, 0, 66, 0, 0,144, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0, 16, 2, 0, 0,104,123, 30, 7, - 0, 0, 0, 0, 36, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 76, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,247,255,239, 65, - 0, 0,150, 66,154,153, 25, 62, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,200,125, 30, 7, 0, 0, 0, 0, 2, 0, 0, 0, - 46, 26,128, 63, 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64,205,204, 76, 61, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 64, 11, 3, 0, 1, 0, 0, 0, 0, 2, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,127, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 64, 1, 0, 0,200,125, 30, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191, -243, 4, 53, 63, 88,127, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 88,127, 30, 7, - 0, 0, 0, 0,119, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,127, 30, 7, 0, 0, 0, 0, 12, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 87, 79, 0, 0, 24, 2, 0, 0, 40,128, 30, 7, 0, 0, 0, 0,143, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 87,111, -114,108,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,114, 99, 80, 61,114, 99, 80, 61,114, 99, 80, 61,199, 54, 36, 60,199, 54, 36, 60,199, 54, 36, 60, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0,205,204, 28, 65, 0, 0, 0, 0, 0, 0, 32, 0,128, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,160, 64, 0, 0,200, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, - 0, 0, 0, 0, 0, 0,112, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0,128, 63, -205,204, 76, 61, 0, 0, 5, 0, 0, 0, 0, 0, 10,215,163, 59, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,136,130, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,130, 30, 7, - 0, 0, 0, 0, 12, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0,112, 5, 0, 0,248,130, 30, 7, - 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,152,137, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 67, 97,109,101,114, 97, 0, 97,109,101,114, 97, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,171,100, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, + 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,122, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,110,101,239, 64,150, 62,208,192, 78,255,170, 64, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 42,254,141, 63,192, 57, 49, 60, 34,159, 80, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222,149, 47, 63, 53, 70, 58, 63,222, 56, 49,188, 0, 0, 0, 0, 86,126,162,190, -227,251,159, 62, 55, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63,149, 84, 28,191, 51,247,227, 62, 0, 0, 0, 0,110,101,239, 64, -150, 62,208,192, 78,255,170, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0,128, 63, 1, 0,128, 51, 1, 0, 0,179, 0, 0, 0, 0, 0, 0, 0, 51, - 0, 0,128, 63, 1, 0,128, 51, 0, 0, 0, 0, 2, 0, 0,179, 2, 0, 0,167, 1, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 53, - 1, 0, 0, 41, 1, 0,128,168, 0, 0,128, 63,221,149, 47, 63, 86,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63, -225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,192, 56, 49,188, 55, 53,101, 63, 52,247,227, 62, 0, 0, 0, 0, 90, 38,173,190, - 0,222,192,190,152, 9, 52,193, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, - 0, 0,128, 63,187,225, 16, 63, 0, 0,128, 63,205,204,204, 62,237, 54, 32, 63, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 1, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,136, 30, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, -152, 0, 0, 0,184,136, 30, 7, 0, 0, 0, 0,133, 0, 0, 0, 1, 0, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 79, 66, 0, 0,112, 5, 0, 0,152,137, 30, 7, 0, 0, 0, 0,130, 0, 0, 0, - 1, 0, 0, 0,216,144, 30, 7, 0, 0, 0, 0,248,130, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 79, 66, 67,117, 98,101, 0,112,104,101,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,213,134, 5, 0, 0, 0, 0,136, 83,135, 5, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, + 0, 0, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63, +169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,229,208, 34, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,133, 88, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, -250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0, -250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,143, 30, 7, 0, 0, 0, 0,168,143, 30, 7, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,225,168, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +120,247,139, 5, 0, 0, 0, 0, 24,149,132, 5, 0, 0, 0, 0, 25, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 0, 0, 7, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, - 0, 0,128, 63,205,204,204, 62,229,208, 34, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0, + 40,213,134, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, +136, 83,135, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,120,225,168, 5, + 0, 0, 0, 0,133, 0, 0, 0, 1, 0, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 72, 0, 0, 0, 79, 66, 0, 0,112, 5, 0, 0, 88,226,168, 5, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97, +109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,143, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 77, 68, 8, - 0, 0, 0, 0, 56,150, 68, 8, 0, 0, 0, 0, 25, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0, 88,143, 30, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,168,143, 30, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,248,143, 30, 7, 0, 0, 0, 0, -133, 0, 0, 0, 1, 0, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -205,204,204, 61,205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, - 79, 66, 0, 0,112, 5, 0, 0,216,144, 30, 7, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -152,137, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, + 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -104,123, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154,112,130, 64,183,178,128, 63, -112,236,188, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, -229,123, 38, 63, 87, 43, 98, 61,229,229,238, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54,236,148,190, 25,134,116, 63, -236, 13, 98,189, 0, 0, 0, 0,221,102, 69,191, 57,174, 76,190, 34,194, 26, 63, 0, 0, 0, 0, 37,255, 16, 63,241,161, 95, 62, -164,111, 75, 63, 0, 0, 0, 0,154,112,130, 64,183,178,128, 63,112,236,188, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154,112,130, 64, +183,178,128, 63,112,236,188, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63,229,123, 38, 63, 87, 43, 98, 61,229,229,238, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 1, 0,128, 50, - 0, 0, 0,179, 0, 0, 0, 0, 1, 0,128, 50, 1, 0,128, 63, 1, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 39, 1, 0, 0, 52, 1, 0,128, 39, 0, 0,128, 63, 54,236,148,190,221,102, 69,191, - 38,255, 16, 63, 0, 0, 0, 0, 24,134,116, 63, 57,174, 76,190,239,161, 95, 62, 0, 0, 0, 0,237, 13, 98,189, 35,194, 26, 63, -166,111, 75, 63, 0, 0, 0, 0,209, 19, 13, 63,241, 65,102,190, 10, 10,231,192, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54,236,148,190, + 25,134,116, 63,236, 13, 98,189, 0, 0, 0, 0,221,102, 69,191, 57,174, 76,190, 34,194, 26, 63, 0, 0, 0, 0, 37,255, 16, 63, +241,161, 95, 62,164,111, 75, 63, 0, 0, 0, 0,154,112,130, 64,183,178,128, 63,112,236,188, 64, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 1, 0,128, 50, 0, 0, 0,179, 0, 0, 0, 0, 1, 0,128, 50, 1, 0,128, 63, 1, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 39, 1, 0, 0, 52, 1, 0,128, 39, 0, 0,128, 63, 54,236,148,190, +221,102, 69,191, 38,255, 16, 63, 0, 0, 0, 0, 24,134,116, 63, 57,174, 76,190,239,161, 95, 62, 0, 0, 0, 0,237, 13, 98,189, + 35,194, 26, 63,166,111, 75, 63, 0, 0, 0, 0,209, 19, 13, 63,241, 65,102,190, 10, 10,231,192, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 4, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, -100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,229,208, 34, 62, - 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62, +229,208, 34, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 5, 0, 1, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,152,150, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,232,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,152,150, 30, 7, 0, 0, 0, 0,133, 0, 0, 0, 1, 0, 0, 0, - 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, 24,232,168, 5, 0, 0, 0, 0,133, 0, 0, 0, + 1, 0, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62, - 10,215,163, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 77, 65, 0, 0,128, 3, 0, 0, -120,151, 30, 7, 0, 0, 0, 0, 39, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 8, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 77, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61, +205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 77, 65, 0, 0, +128, 3, 0, 0,248,232,168, 5, 0, 0, 0, 0, 39, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 8, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 77, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 63, - 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,205,204, 76, 63,205,204, 76, 63, +205,204, 76, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, +205,204, 76, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 10,215, 35, 60, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 50, 0,205,204, 76, 62, 0, 0,128, 63, - 0, 0,128, 63,205,204, 76, 62, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 63, - 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 2, 0, 50, 0, 0, 6, 0, 0,128, 63, - 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 4, 0, 67, 0, 64, 3, - 67, 0, 64, 3, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 10,215, 35, 60, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 50, 0,205,204, 76, 62, + 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 2, 0, 50, 0, 0, 6, + 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 4, 0, + 67, 0, 64, 3, 67, 0, 64, 3, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0,128, 64, 0, 0, 0, 63, -205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 72,155, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0,128, 64, + 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,200,236,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -200,156, 30, 7, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111,148, 26, 63,111,148, 26, 63,111,148, 26, 63,205,204, 76, 61,205,204,204, 61, -102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 72,155, 30, 7, 0, 0, 0, 0, - 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,173, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 72,238,168, 5, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111,148, 26, 63,111,148, 26, 63,111,148, 26, 63,205,204, 76, 61, +205,204,204, 61,102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,200,236,168, 5, + 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 68, 65, 84, 65, 40, 0, 0, 0,200,156, 30, 7, 0, 0, 0, 0, 12, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 32, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 53, 0, 53, 0, 56,157, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 16, 0, 0, 56,157, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 51, 2, 2, 2, 51, 6, 6, 6,153, 6, 6, 6,153, 6, 6, 6,153, 4, 4, 4,102, - 3, 3, 3,102, 2, 2, 2, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 51, - 8, 8, 8,153, 11, 11, 11,204, 13, 13, 13,255, 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, - 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 4, 4, 4,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 51, 10, 10, 10,153, 18, 18, 18,255, - 20, 20, 20,255, 22, 22, 22,255, 23, 23, 23,255, 22, 22, 22,255, 20, 20, 20,255, 19, 19, 19,255, 16, 16, 16,255, 14, 14, 14,255, - 11, 11, 11,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,204, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7,102, 19, 19, 19,204, 27, 27, 27,255, 31, 31, 31,255, - 32, 32, 32,255, 33, 33, 33,255, 33, 33, 33,255, 31, 31, 31,255, 30, 30, 30,255, 27, 27, 27,255, 25, 25, 25,255, 22, 22, 22,255, - 19, 19, 19,255, 16, 16, 16,255, 12, 12, 12,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 4, 4, 4,102, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,153, 29, 29, 29,255, 37, 37, 37,255, 40, 40, 40,255, 42, 42, 42,255, - 42, 42, 42,255, 43, 43, 43,255, 41, 41, 41,255, 40, 40, 40,255, 38, 38, 38,255, 36, 36, 36,255, 33, 33, 33,255, 30, 30, 30,255, - 27, 27, 27,255, 24, 24, 24,255, 20, 20, 20,255, 16, 16, 16,255, 12, 12, 12,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, - 7, 7, 7,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,102, 37, 37, 37,255, 44, 44, 44,255, 48, 48, 48,255, 50, 50, 50,255, 51, 51, 51,255, - 51, 51, 51,255, 50, 50, 50,255, 49, 49, 49,255, 48, 48, 48,255, 45, 45, 45,255, 43, 43, 43,255, 41, 41, 41,255, 37, 37, 37,255, - 34, 34, 34,255, 31, 31, 31,255, 28, 28, 28,255, 24, 24, 24,255, 20, 20, 20,255, 15, 15, 15,255, 11, 11, 11,255, 10, 10, 10,255, - 11, 11, 11,255, 7, 7, 7,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 13, 13, 13,102, 41, 41, 41,255, 50, 50, 50,255, 54, 54, 54,255, 57, 57, 57,255, 58, 58, 58,255, 59, 59, 59,255, - 59, 59, 59,255, 58, 58, 58,255, 57, 57, 57,255, 55, 55, 55,255, 53, 53, 53,255, 51, 51, 51,255, 48, 48, 48,255, 45, 45, 45,255, - 41, 41, 41,255, 38, 38, 38,255, 35, 35, 35,255, 31, 31, 31,255, 27, 27, 27,255, 23, 23, 23,255, 17, 17, 17,255, 12, 12, 12,255, - 11, 11, 11,255, 11, 11, 11,255, 5, 5, 5,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 36, 36, 36,204, 53, 53, 53,255, 59, 59, 59,255, 63, 63, 63,255, 65, 65, 65,255, 66, 66, 66,255, 66, 66, 66,255, - 66, 66, 66,255, 65, 65, 65,255, 64, 64, 64,255, 62, 62, 62,255, 60, 60, 60,255, 57, 57, 57,255, 54, 54, 54,255, 51, 51, 51,255, - 48, 48, 48,255, 44, 44, 44,255, 41, 41, 41,255, 37, 37, 37,255, 33, 33, 33,255, 29, 29, 29,255, 24, 24, 24,255, 19, 19, 19,255, - 13, 13, 13,255, 11, 11, 11,255, 12, 12, 12,255, 3, 3, 3, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 19, 19, 19,102, 56, 56, 56,255, 64, 64, 64,255, 68, 68, 68,255, 71, 71, 71,255, 73, 73, 73,255, 74, 74, 74,255, 74, 74, 74,255, - 73, 73, 73,255, 72, 72, 72,255, 71, 71, 71,255, 69, 69, 69,255, 67, 67, 67,255, 64, 64, 64,255, 61, 61, 61,255, 58, 58, 58,255, - 54, 54, 54,255, 50, 50, 50,255, 47, 47, 47,255, 43, 43, 43,255, 39, 39, 39,255, 34, 34, 34,255, 30, 30, 30,255, 25, 25, 25,255, - 19, 19, 19,255, 13, 13, 13,255, 12, 12, 12,255, 10, 10, 10,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 54, 54, 54,255, 66, 66, 66,255, 72, 72, 72,255, 77, 77, 77,255, 79, 79, 79,255, 81, 81, 81,255, 81, 81, 81,255, 81, 81, 81,255, - 80, 80, 80,255, 79, 79, 79,255, 77, 77, 77,255, 75, 75, 75,255, 73, 73, 73,255, 70, 70, 70,255, 67, 67, 67,255, 63, 63, 63,255, - 60, 60, 60,255, 56, 56, 56,255, 52, 52, 52,255, 49, 49, 49,255, 44, 44, 44,255, 40, 40, 40,255, 35, 35, 35,255, 30, 30, 30,255, - 24, 24, 24,255, 18, 18, 18,255, 12, 12, 12,255, 12, 12, 12,255, 6, 6, 6,102, 0, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22,102, - 67, 67, 67,255, 76, 76, 76,255, 81, 81, 81,255, 84, 84, 84,255, 87, 87, 87,255, 88, 88, 88,255, 88, 88, 88,255, 88, 88, 88,255, - 87, 87, 87,255, 86, 86, 86,255, 84, 84, 84,255, 82, 82, 82,255, 79, 79, 79,255, 76, 76, 76,255, 73, 73, 73,255, 69, 69, 69,255, - 65, 65, 65,255, 62, 62, 62,255, 58, 58, 58,255, 54, 54, 54,255, 49, 49, 49,255, 45, 45, 45,255, 40, 40, 40,255, 35, 35, 35,255, - 29, 29, 29,255, 23, 23, 23,255, 16, 16, 16,255, 12, 12, 12,255, 12, 12, 12,204, 0, 0, 0, 0, 0, 0, 0, 0, 49, 49, 49,204, - 76, 76, 76,255, 84, 84, 84,255, 89, 89, 89,255, 92, 92, 92,255, 94, 94, 94,255, 95, 95, 95,255, 95, 95, 95,255, 95, 95, 95,255, - 94, 94, 94,255, 93, 93, 93,255, 91, 91, 91,255, 88, 88, 88,255, 85, 85, 85,255, 82, 82, 82,255, 79, 79, 79,255, 75, 75, 75,255, - 71, 71, 71,255, 67, 67, 67,255, 63, 63, 63,255, 59, 59, 59,255, 55, 55, 55,255, 50, 50, 50,255, 45, 45, 45,255, 40, 40, 40,255, - 34, 34, 34,255, 28, 28, 28,255, 21, 21, 21,255, 13, 13, 13,255, 14, 14, 14,255, 0, 0, 0, 0, 14, 14, 14,102, 70, 70, 70,255, - 85, 85, 85,255, 92, 92, 92,255, 97, 97, 97,255,100,100,100,255,102,102,102,255,102,102,102,255,103,103,103,255,102,102,102,255, -101,101,101,255, 99, 99, 99,255, 97, 97, 97,255, 94, 94, 94,255, 91, 91, 91,255, 88, 88, 88,255, 84, 84, 84,255, 81, 81, 81,255, - 77, 77, 77,255, 72, 72, 72,255, 68, 68, 68,255, 64, 64, 64,255, 59, 59, 59,255, 55, 55, 55,255, 50, 50, 50,255, 44, 44, 44,255, - 39, 39, 39,255, 32, 32, 32,255, 25, 25, 25,255, 17, 17, 17,255, 13, 13, 13,255, 7, 7, 7,102, 24, 24, 24,102, 80, 80, 80,255, - 93, 93, 93,255,100,100,100,255,104,104,104,255,107,107,107,255,109,109,109,255,109,109,109,255,109,109,109,255,109,109,109,255, -107,107,107,255,106,106,106,255,103,103,103,255,100,100,100,255, 97, 97, 97,255, 94, 94, 94,255, 90, 90, 90,255, 86, 86, 86,255, - 82, 82, 82,255, 77, 77, 77,255, 73, 73, 73,255, 69, 69, 69,255, 64, 64, 64,255, 59, 59, 59,255, 54, 54, 54,255, 49, 49, 49,255, - 43, 43, 43,255, 36, 36, 36,255, 29, 29, 29,255, 21, 21, 21,255, 14, 14, 14,255, 10, 10, 10,153, 29, 29, 29,102, 89, 89, 89,255, -100,100,100,255,107,107,107,255,112,112,112,255,114,114,114,255,116,116,116,255,116,116,116,255,116,116,116,255,115,115,115,255, -114,114,114,255,112,112,112,255,110,110,110,255,107,107,107,255,104,104,104,255,100,100,100,255, 96, 96, 96,255, 92, 92, 92,255, - 87, 87, 87,255, 83, 83, 83,255, 78, 78, 78,255, 73, 73, 73,255, 68, 68, 68,255, 63, 63, 63,255, 58, 58, 58,255, 52, 52, 52,255, - 46, 46, 46,255, 40, 40, 40,255, 33, 33, 33,255, 24, 24, 24,255, 17, 17, 17,255, 13, 13, 13,204, 46, 46, 46,153, 95, 95, 95,255, -107,107,107,255,114,114,114,255,118,118,118,255,121,121,121,255,122,122,122,255,123,123,123,255,123,123,123,255,122,122,122,255, -122,122,122,255,120,120,120,255,118,118,118,255,114,114,114,255,110,110,110,255,106,106,106,255,101,101,101,255, 97, 97, 97,255, - 92, 92, 92,255, 87, 87, 87,255, 83, 83, 83,255, 78, 78, 78,255, 73, 73, 73,255, 68, 68, 68,255, 62, 62, 62,255, 56, 56, 56,255, - 50, 50, 50,255, 44, 44, 44,255, 36, 36, 36,255, 28, 28, 28,255, 19, 19, 19,255, 12, 12, 12,204, 47, 47, 47,153,101,101,101,255, -113,113,113,255,120,120,120,255,125,125,125,255,127,127,127,255,129,129,129,255,130,130,130,255,130,130,130,255,131,131,131,255, -131,131,131,255,131,131,131,255,129,129,129,255,125,125,125,255,120,120,120,255,113,113,113,255,108,108,108,255,103,103,103,255, - 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255, 82, 82, 82,255, 77, 77, 77,255, 72, 72, 72,255, 66, 66, 66,255, 60, 60, 60,255, - 54, 54, 54,255, 47, 47, 47,255, 39, 39, 39,255, 31, 31, 31,255, 22, 22, 22,255, 12, 12, 12,204, 48, 48, 48,153,106,106,106,255, -118,118,118,255,126,126,126,255,131,131,131,255,134,134,134,255,135,135,135,255,137,137,137,255,138,138,138,255,142,142,142,255, -147,147,147,255,149,149,149,255,148,148,148,255,142,142,142,255,133,133,133,255,124,124,124,255,115,115,115,255,108,108,108,255, -102,102,102,255, 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255, 81, 81, 81,255, 75, 75, 75,255, 69, 69, 69,255, 63, 63, 63,255, - 57, 57, 57,255, 49, 49, 49,255, 42, 42, 42,255, 33, 33, 33,255, 24, 24, 24,255, 9, 9, 9,153, 32, 32, 32,102,109,109,109,255, -123,123,123,255,131,131,131,255,136,136,136,255,140,140,140,255,142,142,142,255,144,144,144,255,148,148,148,255,156,156,156,255, -168,168,168,255,176,176,176,255,177,177,177,255,168,168,168,255,153,153,153,255,137,137,137,255,124,124,124,255,114,114,114,255, -107,107,107,255,101,101,101,255, 96, 96, 96,255, 90, 90, 90,255, 85, 85, 85,255, 79, 79, 79,255, 72, 72, 72,255, 66, 66, 66,255, - 59, 59, 59,255, 52, 52, 52,255, 44, 44, 44,255, 35, 35, 35,255, 26, 26, 26,255, 10, 10, 10,153, 17, 17, 17, 51,110,110,110,255, -127,127,127,255,136,136,136,255,142,142,142,255,145,145,145,255,148,148,148,255,151,151,151,255,159,159,159,255,174,174,174,255, -195,195,195,255,212,212,212,255,216,216,216,255,204,204,204,255,179,179,179,255,154,154,154,255,135,135,135,255,121,121,121,255, -112,112,112,255,106,106,106,255, 99, 99, 99,255, 94, 94, 94,255, 88, 88, 88,255, 82, 82, 82,255, 76, 76, 76,255, 69, 69, 69,255, - 62, 62, 62,255, 54, 54, 54,255, 46, 46, 46,255, 37, 37, 37,255, 26, 26, 26,255, 6, 6, 6,102, 0, 0, 0, 0,107,107,107,255, -130,130,130,255,140,140,140,255,146,146,146,255,150,150,150,255,153,153,153,255,158,158,158,255,169,169,169,255,191,191,191,255, -219,219,219,255,246,246,246,255,254,254,254,255,237,237,237,255,204,204,204,255,170,170,170,255,145,145,145,255,127,127,127,255, -117,117,117,255,110,110,110,255,103,103,103,255, 97, 97, 97,255, 91, 91, 91,255, 85, 85, 85,255, 78, 78, 78,255, 71, 71, 71,255, - 64, 64, 64,255, 55, 55, 55,255, 47, 47, 47,255, 37, 37, 37,255, 25, 25, 25,255, 3, 3, 3, 51, 0, 0, 0, 0, 65, 65, 65,153, -129,129,129,255,142,142,142,255,149,149,149,255,154,154,154,255,158,158,158,255,163,163,163,255,176,176,176,255,199,199,199,255, -232,232,232,255,255,255,255,255,255,255,255,255,255,255,255,255,220,220,220,255,181,181,181,255,151,151,151,255,132,132,132,255, -121,121,121,255,113,113,113,255,106,106,106,255,100,100,100,255, 94, 94, 94,255, 87, 87, 87,255, 80, 80, 80,255, 73, 73, 73,255, - 65, 65, 65,255, 57, 57, 57,255, 48, 48, 48,255, 38, 38, 38,255, 16, 16, 16,153, 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 21, 51, -127,127,127,255,143,143,143,255,152,152,152,255,157,157,157,255,161,161,161,255,165,165,165,255,177,177,177,255,198,198,198,255, -227,227,227,255,253,253,253,255,255,255,255,255,250,250,250,255,217,217,217,255,181,181,181,255,153,153,153,255,135,135,135,255, -124,124,124,255,117,117,117,255,110,110,110,255,103,103,103,255, 96, 96, 96,255, 89, 89, 89,255, 82, 82, 82,255, 74, 74, 74,255, - 66, 66, 66,255, 57, 57, 57,255, 48, 48, 48,255, 35, 35, 35,255, 10, 10, 10,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 93, 93, 93,204,141,141,141,255,153,153,153,255,159,159,159,255,163,163,163,255,167,167,167,255,174,174,174,255,188,188,188,255, -209,209,209,255,228,228,228,255,234,234,234,255,224,224,224,255,200,200,200,255,173,173,173,255,151,151,151,255,136,136,136,255, -127,127,127,255,119,119,119,255,112,112,112,255,105,105,105,255, 98, 98, 98,255, 90, 90, 90,255, 83, 83, 83,255, 75, 75, 75,255, - 66, 66, 66,255, 57, 57, 57,255, 46, 46, 46,255, 24, 24, 24,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 20, 20, 20, 51,134,134,134,255,151,151,151,255,160,160,160,255,164,164,164,255,167,167,167,255,171,171,171,255,178,178,178,255, -189,189,189,255,200,200,200,255,202,202,202,255,195,195,195,255,180,180,180,255,163,163,163,255,148,148,148,255,137,137,137,255, -129,129,129,255,121,121,121,255,114,114,114,255,107,107,107,255, 99, 99, 99,255, 91, 91, 91,255, 83, 83, 83,255, 74, 74, 74,255, - 65, 65, 65,255, 55, 55, 55,255, 41, 41, 41,255, 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 49, 49, 49,102,145,145,145,255,157,157,157,255,164,164,164,255,167,167,167,255,170,170,170,255,172,172,172,255, -176,176,176,255,180,180,180,255,179,179,179,255,174,174,174,255,165,165,165,255,155,155,155,255,145,145,145,255,137,137,137,255, -130,130,130,255,122,122,122,255,115,115,115,255,107,107,107,255, 99, 99, 99,255, 91, 91, 91,255, 82, 82, 82,255, 73, 73, 73,255, - 63, 63, 63,255, 50, 50, 50,255, 22, 22, 22,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 78, 78, 78,153,149,149,149,255,160,160,160,255,166,166,166,255,168,168,168,255,169,169,169,255, -170,170,170,255,169,169,169,255,167,167,167,255,164,164,164,255,158,158,158,255,151,151,151,255,144,144,144,255,137,137,137,255, -130,130,130,255,123,123,123,255,115,115,115,255,106,106,106,255, 98, 98, 98,255, 89, 89, 89,255, 80, 80, 80,255, 70, 70, 70,255, - 58, 58, 58,255, 27, 27, 27,153, 3, 3, 3, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 80, 80,153,150,150,150,255,160,160,160,255,165,165,165,255,167,167,167,255, -167,167,167,255,166,166,166,255,163,163,163,255,160,160,160,255,155,155,155,255,149,149,149,255,143,143,143,255,137,137,137,255, -129,129,129,255,121,121,121,255,113,113,113,255,105,105,105,255, 96, 96, 96,255, 86, 86, 86,255, 76, 76, 76,255, 63, 63, 63,255, - 38, 38, 38,204, 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 78, 78,153,147,147,147,255,157,157,157,255,161,161,161,255, -163,163,163,255,162,162,162,255,160,160,160,255,157,157,157,255,152,152,152,255,147,147,147,255,141,141,141,255,135,135,135,255, -127,127,127,255,119,119,119,255,110,110,110,255,101,101,101,255, 91, 91, 91,255, 80, 80, 80,255, 66, 66, 66,255, 32, 32, 32,153, - 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,134,134,134,255,148,148,148,255, -154,154,154,255,155,155,155,255,154,154,154,255,152,152,152,255,147,147,147,255,142,142,142,255,136,136,136,255,130,130,130,255, -122,122,122,255,114,114,114,255,104,104,104,255, 93, 93, 93,255, 81, 81, 81,255, 54, 54, 54,204, 22, 22, 22,102, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 73, 73,153, -103,103,103,204,137,137,137,255,140,140,140,255,140,140,140,255,137,137,137,255,133,133,133,255,127,127,127,255,120,120,120,255, -113,113,113,255,102,102,102,255, 91, 91, 91,255, 64, 64, 64,204, 28, 28, 28,102, 6, 6, 6, 51, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 46, 46, 46,102, 72, 72, 72,153, 72, 72, 72,153, 92, 92, 92,204, 88, 88, 88,204, 81, 81, 81,204, - 54, 54, 54,153, 35, 35, 35,102, 16, 16, 16, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 0, 0,168, 1, 0, 0, -136,173, 30, 7, 0, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0,160, 64, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 64, - 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 8, 0, 0, 0, 1, 0, 1, 0, 3, 0, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204,204, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 40, 0, 0, 0, 72,238,168, 5, 0, 0, 0, 0, 12, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 53, 0, 53, 0,184,238,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0,184,238,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 51, 2, 2, 2, 51, 6, 6, 6,153, 6, 6, 6,153, 6, 6, 6,153, + 4, 4, 4,102, 3, 3, 3,102, 2, 2, 2, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 3, 3, 51, 8, 8, 8,153, 11, 11, 11,204, 13, 13, 13,255, 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 10, 10, 10,255, + 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 4, 4, 4,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 51, 10, 10, 10,153, + 18, 18, 18,255, 20, 20, 20,255, 22, 22, 22,255, 23, 23, 23,255, 22, 22, 22,255, 20, 20, 20,255, 19, 19, 19,255, 16, 16, 16,255, + 14, 14, 14,255, 11, 11, 11,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,204, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7,102, 19, 19, 19,204, 27, 27, 27,255, + 31, 31, 31,255, 32, 32, 32,255, 33, 33, 33,255, 33, 33, 33,255, 31, 31, 31,255, 30, 30, 30,255, 27, 27, 27,255, 25, 25, 25,255, + 22, 22, 22,255, 19, 19, 19,255, 16, 16, 16,255, 12, 12, 12,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, + 4, 4, 4,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,153, 29, 29, 29,255, 37, 37, 37,255, 40, 40, 40,255, + 42, 42, 42,255, 42, 42, 42,255, 43, 43, 43,255, 41, 41, 41,255, 40, 40, 40,255, 38, 38, 38,255, 36, 36, 36,255, 33, 33, 33,255, + 30, 30, 30,255, 27, 27, 27,255, 24, 24, 24,255, 20, 20, 20,255, 16, 16, 16,255, 12, 12, 12,255, 10, 10, 10,255, 10, 10, 10,255, + 10, 10, 10,255, 7, 7, 7,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,102, 37, 37, 37,255, 44, 44, 44,255, 48, 48, 48,255, 50, 50, 50,255, + 51, 51, 51,255, 51, 51, 51,255, 50, 50, 50,255, 49, 49, 49,255, 48, 48, 48,255, 45, 45, 45,255, 43, 43, 43,255, 41, 41, 41,255, + 37, 37, 37,255, 34, 34, 34,255, 31, 31, 31,255, 28, 28, 28,255, 24, 24, 24,255, 20, 20, 20,255, 15, 15, 15,255, 11, 11, 11,255, + 10, 10, 10,255, 11, 11, 11,255, 7, 7, 7,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,102, 41, 41, 41,255, 50, 50, 50,255, 54, 54, 54,255, 57, 57, 57,255, 58, 58, 58,255, + 59, 59, 59,255, 59, 59, 59,255, 58, 58, 58,255, 57, 57, 57,255, 55, 55, 55,255, 53, 53, 53,255, 51, 51, 51,255, 48, 48, 48,255, + 45, 45, 45,255, 41, 41, 41,255, 38, 38, 38,255, 35, 35, 35,255, 31, 31, 31,255, 27, 27, 27,255, 23, 23, 23,255, 17, 17, 17,255, + 12, 12, 12,255, 11, 11, 11,255, 11, 11, 11,255, 5, 5, 5,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 36, 36, 36,204, 53, 53, 53,255, 59, 59, 59,255, 63, 63, 63,255, 65, 65, 65,255, 66, 66, 66,255, + 66, 66, 66,255, 66, 66, 66,255, 65, 65, 65,255, 64, 64, 64,255, 62, 62, 62,255, 60, 60, 60,255, 57, 57, 57,255, 54, 54, 54,255, + 51, 51, 51,255, 48, 48, 48,255, 44, 44, 44,255, 41, 41, 41,255, 37, 37, 37,255, 33, 33, 33,255, 29, 29, 29,255, 24, 24, 24,255, + 19, 19, 19,255, 13, 13, 13,255, 11, 11, 11,255, 12, 12, 12,255, 3, 3, 3, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 19, 19, 19,102, 56, 56, 56,255, 64, 64, 64,255, 68, 68, 68,255, 71, 71, 71,255, 73, 73, 73,255, 74, 74, 74,255, + 74, 74, 74,255, 73, 73, 73,255, 72, 72, 72,255, 71, 71, 71,255, 69, 69, 69,255, 67, 67, 67,255, 64, 64, 64,255, 61, 61, 61,255, + 58, 58, 58,255, 54, 54, 54,255, 50, 50, 50,255, 47, 47, 47,255, 43, 43, 43,255, 39, 39, 39,255, 34, 34, 34,255, 30, 30, 30,255, + 25, 25, 25,255, 19, 19, 19,255, 13, 13, 13,255, 12, 12, 12,255, 10, 10, 10,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 54, 54,255, 66, 66, 66,255, 72, 72, 72,255, 77, 77, 77,255, 79, 79, 79,255, 81, 81, 81,255, 81, 81, 81,255, + 81, 81, 81,255, 80, 80, 80,255, 79, 79, 79,255, 77, 77, 77,255, 75, 75, 75,255, 73, 73, 73,255, 70, 70, 70,255, 67, 67, 67,255, + 63, 63, 63,255, 60, 60, 60,255, 56, 56, 56,255, 52, 52, 52,255, 49, 49, 49,255, 44, 44, 44,255, 40, 40, 40,255, 35, 35, 35,255, + 30, 30, 30,255, 24, 24, 24,255, 18, 18, 18,255, 12, 12, 12,255, 12, 12, 12,255, 6, 6, 6,102, 0, 0, 0, 0, 0, 0, 0, 0, + 22, 22, 22,102, 67, 67, 67,255, 76, 76, 76,255, 81, 81, 81,255, 84, 84, 84,255, 87, 87, 87,255, 88, 88, 88,255, 88, 88, 88,255, + 88, 88, 88,255, 87, 87, 87,255, 86, 86, 86,255, 84, 84, 84,255, 82, 82, 82,255, 79, 79, 79,255, 76, 76, 76,255, 73, 73, 73,255, + 69, 69, 69,255, 65, 65, 65,255, 62, 62, 62,255, 58, 58, 58,255, 54, 54, 54,255, 49, 49, 49,255, 45, 45, 45,255, 40, 40, 40,255, + 35, 35, 35,255, 29, 29, 29,255, 23, 23, 23,255, 16, 16, 16,255, 12, 12, 12,255, 12, 12, 12,204, 0, 0, 0, 0, 0, 0, 0, 0, + 49, 49, 49,204, 76, 76, 76,255, 84, 84, 84,255, 89, 89, 89,255, 92, 92, 92,255, 94, 94, 94,255, 95, 95, 95,255, 95, 95, 95,255, + 95, 95, 95,255, 94, 94, 94,255, 93, 93, 93,255, 91, 91, 91,255, 88, 88, 88,255, 85, 85, 85,255, 82, 82, 82,255, 79, 79, 79,255, + 75, 75, 75,255, 71, 71, 71,255, 67, 67, 67,255, 63, 63, 63,255, 59, 59, 59,255, 55, 55, 55,255, 50, 50, 50,255, 45, 45, 45,255, + 40, 40, 40,255, 34, 34, 34,255, 28, 28, 28,255, 21, 21, 21,255, 13, 13, 13,255, 14, 14, 14,255, 0, 0, 0, 0, 14, 14, 14,102, + 70, 70, 70,255, 85, 85, 85,255, 92, 92, 92,255, 97, 97, 97,255,100,100,100,255,102,102,102,255,102,102,102,255,103,103,103,255, +102,102,102,255,101,101,101,255, 99, 99, 99,255, 97, 97, 97,255, 94, 94, 94,255, 91, 91, 91,255, 88, 88, 88,255, 84, 84, 84,255, + 81, 81, 81,255, 77, 77, 77,255, 72, 72, 72,255, 68, 68, 68,255, 64, 64, 64,255, 59, 59, 59,255, 55, 55, 55,255, 50, 50, 50,255, + 44, 44, 44,255, 39, 39, 39,255, 32, 32, 32,255, 25, 25, 25,255, 17, 17, 17,255, 13, 13, 13,255, 7, 7, 7,102, 24, 24, 24,102, + 80, 80, 80,255, 93, 93, 93,255,100,100,100,255,104,104,104,255,107,107,107,255,109,109,109,255,109,109,109,255,109,109,109,255, +109,109,109,255,107,107,107,255,106,106,106,255,103,103,103,255,100,100,100,255, 97, 97, 97,255, 94, 94, 94,255, 90, 90, 90,255, + 86, 86, 86,255, 82, 82, 82,255, 77, 77, 77,255, 73, 73, 73,255, 69, 69, 69,255, 64, 64, 64,255, 59, 59, 59,255, 54, 54, 54,255, + 49, 49, 49,255, 43, 43, 43,255, 36, 36, 36,255, 29, 29, 29,255, 21, 21, 21,255, 14, 14, 14,255, 10, 10, 10,153, 29, 29, 29,102, + 89, 89, 89,255,100,100,100,255,107,107,107,255,112,112,112,255,114,114,114,255,116,116,116,255,116,116,116,255,116,116,116,255, +115,115,115,255,114,114,114,255,112,112,112,255,110,110,110,255,107,107,107,255,104,104,104,255,100,100,100,255, 96, 96, 96,255, + 92, 92, 92,255, 87, 87, 87,255, 83, 83, 83,255, 78, 78, 78,255, 73, 73, 73,255, 68, 68, 68,255, 63, 63, 63,255, 58, 58, 58,255, + 52, 52, 52,255, 46, 46, 46,255, 40, 40, 40,255, 33, 33, 33,255, 24, 24, 24,255, 17, 17, 17,255, 13, 13, 13,204, 46, 46, 46,153, + 95, 95, 95,255,107,107,107,255,114,114,114,255,118,118,118,255,121,121,121,255,122,122,122,255,123,123,123,255,123,123,123,255, +122,122,122,255,122,122,122,255,120,120,120,255,118,118,118,255,114,114,114,255,110,110,110,255,106,106,106,255,101,101,101,255, + 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255, 83, 83, 83,255, 78, 78, 78,255, 73, 73, 73,255, 68, 68, 68,255, 62, 62, 62,255, + 56, 56, 56,255, 50, 50, 50,255, 44, 44, 44,255, 36, 36, 36,255, 28, 28, 28,255, 19, 19, 19,255, 12, 12, 12,204, 47, 47, 47,153, +101,101,101,255,113,113,113,255,120,120,120,255,125,125,125,255,127,127,127,255,129,129,129,255,130,130,130,255,130,130,130,255, +131,131,131,255,131,131,131,255,131,131,131,255,129,129,129,255,125,125,125,255,120,120,120,255,113,113,113,255,108,108,108,255, +103,103,103,255, 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255, 82, 82, 82,255, 77, 77, 77,255, 72, 72, 72,255, 66, 66, 66,255, + 60, 60, 60,255, 54, 54, 54,255, 47, 47, 47,255, 39, 39, 39,255, 31, 31, 31,255, 22, 22, 22,255, 12, 12, 12,204, 48, 48, 48,153, +106,106,106,255,118,118,118,255,126,126,126,255,131,131,131,255,134,134,134,255,135,135,135,255,137,137,137,255,138,138,138,255, +142,142,142,255,147,147,147,255,149,149,149,255,148,148,148,255,142,142,142,255,133,133,133,255,124,124,124,255,115,115,115,255, +108,108,108,255,102,102,102,255, 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255, 81, 81, 81,255, 75, 75, 75,255, 69, 69, 69,255, + 63, 63, 63,255, 57, 57, 57,255, 49, 49, 49,255, 42, 42, 42,255, 33, 33, 33,255, 24, 24, 24,255, 9, 9, 9,153, 32, 32, 32,102, +109,109,109,255,123,123,123,255,131,131,131,255,136,136,136,255,140,140,140,255,142,142,142,255,144,144,144,255,148,148,148,255, +156,156,156,255,168,168,168,255,176,176,176,255,177,177,177,255,168,168,168,255,153,153,153,255,137,137,137,255,124,124,124,255, +114,114,114,255,107,107,107,255,101,101,101,255, 96, 96, 96,255, 90, 90, 90,255, 85, 85, 85,255, 79, 79, 79,255, 72, 72, 72,255, + 66, 66, 66,255, 59, 59, 59,255, 52, 52, 52,255, 44, 44, 44,255, 35, 35, 35,255, 26, 26, 26,255, 10, 10, 10,153, 17, 17, 17, 51, +110,110,110,255,127,127,127,255,136,136,136,255,142,142,142,255,145,145,145,255,148,148,148,255,151,151,151,255,159,159,159,255, +174,174,174,255,195,195,195,255,212,212,212,255,216,216,216,255,204,204,204,255,179,179,179,255,154,154,154,255,135,135,135,255, +121,121,121,255,112,112,112,255,106,106,106,255, 99, 99, 99,255, 94, 94, 94,255, 88, 88, 88,255, 82, 82, 82,255, 76, 76, 76,255, + 69, 69, 69,255, 62, 62, 62,255, 54, 54, 54,255, 46, 46, 46,255, 37, 37, 37,255, 26, 26, 26,255, 6, 6, 6,102, 0, 0, 0, 0, +107,107,107,255,130,130,130,255,140,140,140,255,146,146,146,255,150,150,150,255,153,153,153,255,158,158,158,255,169,169,169,255, +191,191,191,255,219,219,219,255,246,246,246,255,254,254,254,255,237,237,237,255,204,204,204,255,170,170,170,255,145,145,145,255, +127,127,127,255,117,117,117,255,110,110,110,255,103,103,103,255, 97, 97, 97,255, 91, 91, 91,255, 85, 85, 85,255, 78, 78, 78,255, + 71, 71, 71,255, 64, 64, 64,255, 55, 55, 55,255, 47, 47, 47,255, 37, 37, 37,255, 25, 25, 25,255, 3, 3, 3, 51, 0, 0, 0, 0, + 65, 65, 65,153,129,129,129,255,142,142,142,255,149,149,149,255,154,154,154,255,158,158,158,255,163,163,163,255,176,176,176,255, +199,199,199,255,232,232,232,255,255,255,255,255,255,255,255,255,255,255,255,255,220,220,220,255,181,181,181,255,151,151,151,255, +132,132,132,255,121,121,121,255,113,113,113,255,106,106,106,255,100,100,100,255, 94, 94, 94,255, 87, 87, 87,255, 80, 80, 80,255, + 73, 73, 73,255, 65, 65, 65,255, 57, 57, 57,255, 48, 48, 48,255, 38, 38, 38,255, 16, 16, 16,153, 0, 0, 0, 0, 0, 0, 0, 0, + 21, 21, 21, 51,127,127,127,255,143,143,143,255,152,152,152,255,157,157,157,255,161,161,161,255,165,165,165,255,177,177,177,255, +198,198,198,255,227,227,227,255,253,253,253,255,255,255,255,255,250,250,250,255,217,217,217,255,181,181,181,255,153,153,153,255, +135,135,135,255,124,124,124,255,117,117,117,255,110,110,110,255,103,103,103,255, 96, 96, 96,255, 89, 89, 89,255, 82, 82, 82,255, + 74, 74, 74,255, 66, 66, 66,255, 57, 57, 57,255, 48, 48, 48,255, 35, 35, 35,255, 10, 10, 10,153, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 93, 93, 93,204,141,141,141,255,153,153,153,255,159,159,159,255,163,163,163,255,167,167,167,255,174,174,174,255, +188,188,188,255,209,209,209,255,228,228,228,255,234,234,234,255,224,224,224,255,200,200,200,255,173,173,173,255,151,151,151,255, +136,136,136,255,127,127,127,255,119,119,119,255,112,112,112,255,105,105,105,255, 98, 98, 98,255, 90, 90, 90,255, 83, 83, 83,255, + 75, 75, 75,255, 66, 66, 66,255, 57, 57, 57,255, 46, 46, 46,255, 24, 24, 24,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 20, 20, 20, 51,134,134,134,255,151,151,151,255,160,160,160,255,164,164,164,255,167,167,167,255,171,171,171,255, +178,178,178,255,189,189,189,255,200,200,200,255,202,202,202,255,195,195,195,255,180,180,180,255,163,163,163,255,148,148,148,255, +137,137,137,255,129,129,129,255,121,121,121,255,114,114,114,255,107,107,107,255, 99, 99, 99,255, 91, 91, 91,255, 83, 83, 83,255, + 74, 74, 74,255, 65, 65, 65,255, 55, 55, 55,255, 41, 41, 41,255, 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 49, 49, 49,102,145,145,145,255,157,157,157,255,164,164,164,255,167,167,167,255,170,170,170,255, +172,172,172,255,176,176,176,255,180,180,180,255,179,179,179,255,174,174,174,255,165,165,165,255,155,155,155,255,145,145,145,255, +137,137,137,255,130,130,130,255,122,122,122,255,115,115,115,255,107,107,107,255, 99, 99, 99,255, 91, 91, 91,255, 82, 82, 82,255, + 73, 73, 73,255, 63, 63, 63,255, 50, 50, 50,255, 22, 22, 22,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 78, 78,153,149,149,149,255,160,160,160,255,166,166,166,255,168,168,168,255, +169,169,169,255,170,170,170,255,169,169,169,255,167,167,167,255,164,164,164,255,158,158,158,255,151,151,151,255,144,144,144,255, +137,137,137,255,130,130,130,255,123,123,123,255,115,115,115,255,106,106,106,255, 98, 98, 98,255, 89, 89, 89,255, 80, 80, 80,255, + 70, 70, 70,255, 58, 58, 58,255, 27, 27, 27,153, 3, 3, 3, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 80, 80,153,150,150,150,255,160,160,160,255,165,165,165,255, +167,167,167,255,167,167,167,255,166,166,166,255,163,163,163,255,160,160,160,255,155,155,155,255,149,149,149,255,143,143,143,255, +137,137,137,255,129,129,129,255,121,121,121,255,113,113,113,255,105,105,105,255, 96, 96, 96,255, 86, 86, 86,255, 76, 76, 76,255, + 63, 63, 63,255, 38, 38, 38,204, 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 78, 78,153,147,147,147,255,157,157,157,255, +161,161,161,255,163,163,163,255,162,162,162,255,160,160,160,255,157,157,157,255,152,152,152,255,147,147,147,255,141,141,141,255, +135,135,135,255,127,127,127,255,119,119,119,255,110,110,110,255,101,101,101,255, 91, 91, 91,255, 80, 80, 80,255, 66, 66, 66,255, + 32, 32, 32,153, 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,134,134,134,255, +148,148,148,255,154,154,154,255,155,155,155,255,154,154,154,255,152,152,152,255,147,147,147,255,142,142,142,255,136,136,136,255, +130,130,130,255,122,122,122,255,114,114,114,255,104,104,104,255, 93, 93, 93,255, 81, 81, 81,255, 54, 54, 54,204, 22, 22, 22,102, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 73, 73, 73,153,103,103,103,204,137,137,137,255,140,140,140,255,140,140,140,255,137,137,137,255,133,133,133,255,127,127,127,255, +120,120,120,255,113,113,113,255,102,102,102,255, 91, 91, 91,255, 64, 64, 64,204, 28, 28, 28,102, 6, 6, 6, 51, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 46, 46,102, 72, 72, 72,153, 72, 72, 72,153, 92, 92, 92,204, 88, 88, 88,204, + 81, 81, 81,204, 54, 54, 54,153, 35, 35, 35,102, 16, 16, 16, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 0, 0, +168, 1, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,175, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -120,175, 30, 7, 0, 0, 0, 0, 12, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 16, 0, 15, 0,232,175, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0, -232,175, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0,160, 64, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 64, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 8, 0, 0, 0, 1, 0, 1, 0, 3, 0, 2, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204,204, 60, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 0,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 0, 0, 0,248, 0,169, 5, 0, 0, 0, 0, 12, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 16, 0, 15, 0,104, 1,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 0, 16, 0, 0,104, 1,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6495,54 +6496,53 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 0, 0, 16, 5, 0, 0, 56,192, 30, 7, 0, 0, 0, 0, - 50, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 67,117, 98,101, 0,112,104,101,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 0, 0, 16, 5, 0, 0,184, 17,169, 5, + 0, 0, 0, 0, 50, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 67,117, 98,101, 0,112,104,101,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -152,197, 30, 7, 0, 0, 0, 0,232, 12, 88, 8, 0, 0, 0, 0,184,127,248, 6, 0, 0, 0, 0,200, 47, 68, 8, 0, 0, 0, 0, -120, 28,155, 8, 0, 0, 0, 0,184,129,154, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,177, 84, 8, 0, 0, 0, 0,104, 66,154, 8, 0, 0, 0, 0, + 0, 0, 0, 0,168,106,135, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 37,169, 5, 0, 0, 0, 0,168, 36,169, 5, + 0, 0, 0, 0, 72, 33,169, 5, 0, 0, 0, 0,216, 31,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 25,169, 5, 0, 0, 0, 0,168, 28,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 56, 65, 68, 8, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 23,169, 5, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -152, 10,155, 8, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,255,255,255,255,255,255,255,255, +255,255,255,255, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 88, 26,169, 5, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 1, 0, 0, 0, 5, 0, 0, 0, - 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 1, 0, 0, 0, + 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,197, 30, 7, 0, 0, 0, 0,255,255,255,255,255,255,255,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 34,169, 5, 0, 0, 0, 0,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,255,255,255,255,255,255,255,255, -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 1, 0, 0, 0, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, -255,255,255,255,255,255,255,255, 2, 0, 0, 0, 5, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,216,111,154, 8, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 1, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255, 2, 0, 0, 0, 5, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 29,169, 5, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255, -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 1, 0, 0, 0,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 1, 0, 0, 0, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 2, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 51, - 0, 0, 0,180, 0, 0, 0, 0, 4, 0,128, 63, 4, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 67, 0, 30, 0, 6, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0, -152,197, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,120,151, 30, 7, 0, 0, 0, 0, 68, 65, 84, 65, 8, 2, 0, 0, - 56, 65, 68, 8, 0, 0, 0, 0,126, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +255,255,255,255, 2, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 51, 0, 0, 0,180, 0, 0, 0, 0, 4, 0,128, 63, 4, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 67, 0, 30, 0, 6, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 8, 0, 0, 0,168,106,135, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 68, 65, 84, 65, + 8, 2, 0, 0, 24, 23,169, 5, 0, 0, 0, 0,132, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,177, 84, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 25,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6554,18 +6554,18 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, -216,177, 84, 8, 0, 0, 0, 0, 56, 0, 0, 0, 8, 0, 0, 0, 0, 0,128, 63,255,255,127, 63, 0, 0,128,191,230, 73,230, 73, - 26,182, 1, 0, 0, 0,128, 63, 0, 0,128,191, 0, 0,128,191,230, 73, 26,182, 26,182, 1, 0, 1, 0,128,191,253,255,127,191, - 0, 0,128,191, 26,182, 26,182, 26,182, 1, 0,250,255,127,191, 3, 0,128, 63, 0, 0,128,191, 26,182,230, 73, 26,182, 1, 0, - 4, 0,128, 63,247,255,127, 63, 0, 0,128, 63,230, 73,230, 73,230, 73, 1, 0,245,255,127, 63, 5, 0,128,191, 0, 0,128, 63, -230, 73, 26,182,230, 73, 1, 0, 3, 0,128,191,250,255,127,191, 0, 0,128, 63, 26,182, 26,182,230, 73, 1, 0,255,255,127,191, - 0, 0,128, 63, 0, 0,128, 63, 26,182,230, 73,230, 73, 1, 0, 68, 65, 84, 65, 8, 2, 0, 0,152, 10,155, 8, 0, 0, 0, 0, -126, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, +160, 0, 0, 0,104, 25,169, 5, 0, 0, 0, 0, 56, 0, 0, 0, 8, 0, 0, 0, 0, 0,128, 63,255,255,127, 63, 0, 0,128,191, +230, 73,230, 73, 26,182, 1, 0, 0, 0,128, 63, 0, 0,128,191, 0, 0,128,191,230, 73, 26,182, 26,182, 1, 0, 1, 0,128,191, +253,255,127,191, 0, 0,128,191, 26,182, 26,182, 26,182, 1, 0,250,255,127,191, 3, 0,128, 63, 0, 0,128,191, 26,182,230, 73, + 26,182, 1, 0, 4, 0,128, 63,247,255,127, 63, 0, 0,128, 63,230, 73,230, 73,230, 73, 1, 0,245,255,127, 63, 5, 0,128,191, + 0, 0,128, 63,230, 73, 26,182,230, 73, 1, 0, 3, 0,128,191,250,255,127,191, 0, 0,128, 63, 26,182, 26,182,230, 73, 1, 0, +255,255,127,191, 0, 0,128, 63, 0, 0,128, 63, 26,182,230, 73,230, 73, 1, 0, 68, 65, 84, 65, 8, 2, 0, 0, 88, 26,169, 5, + 0, 0, 0, 0,132, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,104, 66,154, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 28,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6577,20 +6577,20 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,144, 0, 0, 0,104, 66,154, 8, 0, 0, 0, 0, - 53, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, - 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 5, 0, 0, 0, - 0, 0, 35, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0, - 7, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, - 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, 8, 2, 0, 0, -216,111,154, 8, 0, 0, 0, 0,126, 1, 0, 0, 5, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 77, 97,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,129,154, 8, 0, 0, 0, 0, 26, 0, 0, 0, 12, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 71,111,110, 32, 70, 97, 99, -101, 45, 86,101,114,116,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 28,155, 8, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,144, 0, 0, 0,168, 28,169, 5, + 0, 0, 0, 0, 53, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 35, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, + 5, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, + 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, + 0, 0, 35, 0, 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, + 8, 2, 0, 0,136, 29,169, 5, 0, 0, 0, 0,132, 1, 0, 0, 5, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 77, 97,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 31,169, 5, 0, 0, 0, 0, 26, 0, 0, 0, + 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 71,111,110, + 32, 70, 97, 99,101, 45, 86,101,114,116,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 33,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6599,32 +6599,32 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 1, 0, 0, -184,129,154, 8, 0, 0, 0, 0, 61, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 0, 0, 68, 65, 84, 65,192, 0, 0, 0,120, 28,155, 8, 0, 0, 0, 0, - 59, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 5, 0, 0, 0, - 3, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 11, 0, 0, 0, 6, 0, 0, 0, 10, 0, 0, 0, - 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 10, 0, 0, 0, 6, 0, 0, 0, 6, 0, 0, 0, - 2, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0, 6, 0, 0, 0, 11, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, - 3, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, - 7, 0, 0, 0, 9, 0, 0, 0, 68, 65, 84, 65, 8, 2, 0, 0,232,197, 30, 7, 0, 0, 0, 0,126, 1, 0, 0, 5, 0, 0, 0, - 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 85, 86, 77, 97,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -200, 47, 68, 8, 0, 0, 0, 0, 25, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 78, 71,111,110, 32, 70, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 32, 1, 0, 0,216, 31,169, 5, 0, 0, 0, 0, 61, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 0, 0, 68, 65, 84, 65,192, 0, 0, 0, 72, 33,169, 5, + 0, 0, 0, 0, 59, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, + 5, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 11, 0, 0, 0, 6, 0, 0, 0, + 10, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 10, 0, 0, 0, 6, 0, 0, 0, + 6, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0, 6, 0, 0, 0, 11, 0, 0, 0, 7, 0, 0, 0, + 7, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, + 7, 0, 0, 0, 7, 0, 0, 0, 9, 0, 0, 0, 68, 65, 84, 65, 8, 2, 0, 0, 88, 34,169, 5, 0, 0, 0, 0,132, 1, 0, 0, + 5, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 85, 86, 77, 97,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,184,127,248, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,168, 36,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 71,111,110, 32, 70, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 37,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6633,29 +6633,30 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,200, 47, 68, 8, 0, 0, 0, 0, 60, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,168, 36,169, 5, 0, 0, 0, 0, 60, 0, 0, 0, + 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 72, 0, 0, 0,184,127,248, 6, 0, 0, 0, 0, 58, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, - 0, 0, 2, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 8, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 12, 0, 0, 0, - 4, 0, 0, 0, 0, 0, 2, 0, 16, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, - 66, 82, 0, 0, 96, 6, 0, 0,184,212, 30, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 65,100,100, 0,104, 46, - 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, + 0, 0, 0, 0, 68, 65, 84, 65, 72, 0, 0, 0, 88, 37,169, 5, 0, 0, 0, 0, 58, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 2, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 8, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, + 12, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 16, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 20, 0, 0, 0, 4, 0, 0, 0, + 0, 0, 2, 0, 66, 82, 0, 0, 96, 6, 0, 0,232, 37,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168, 47,169, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 65,100, +100, 0,104, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 0,232,220, 30, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 24, 46,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, -205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6688,49 +6689,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0, -102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, - 80,213, 30, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, + 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, + 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 56, 1, 0, 0,128, 38,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, -205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,232,220, 30, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, - 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61,120,222, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 24, 46,169, 5, 0, 0, 0, 0,127, 1, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, + 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61,184,181,132, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 48, 0, 0, 0,120,222, 30, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,248,222, 30, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0, -184,231, 30, 7, 0, 0, 0, 0,184,212, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 66,108,111, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,184,181,132, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168, 47,169, 5, 0, 0, 0, 0,131, 1, 0, 0, + 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 66,108,111, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,168,229, 30, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 88, 54,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6763,49 +6764,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, - 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, - 68, 65, 84, 65, 56, 1, 0, 0,144,223, 30, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, + 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, + 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, + 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 64, 48,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,168,229, 30, 7, 0, 0, 0, 0, -121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, - 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 56,231, 30, 7, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88, 54,169, 5, + 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, + 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,200, 66,140, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 56,231, 30, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,184,231, 30, 7, 0, 0, 0, 0, -125, 1, 0, 0, 1, 0, 0, 0,120,240, 30, 7, 0, 0, 0, 0,248,222, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,108,117,114, 0, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,200, 66,140, 5, 0, 0, 0, 0,125, 1, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63, +143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,232, 55,169, 5, + 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,108,117,114, 0, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,104,238, 30, 7, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,152, 62,169, 5, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6838,49 +6839,50 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, - 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, -205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 80,232, 30, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 63, + 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,128, 56,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, -104,238, 30, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61, -248,239, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, + 64, 1, 0, 0,152, 62,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, + 46,189,194, 61,216,145,132, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,248,239, 30, 7, 0, 0, 0, 0, -119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, - 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0, -120,240, 30, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0,184,231, 30, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,216,145,132, 5, + 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, + 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, + 96, 6, 0, 0, 40, 64,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0,232, 55,169, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, - 40,247, 30, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 0,216, 70,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6913,50 +6915,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, - 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 20,174,199, 62, - 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 16,241, 30, 7, 0, 0, 0, 0, - 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63, +205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0,192, 64,169, 5, + 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 68, 65, 84, 65, 64, 1, 0, 0, 40,247, 30, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186, -224,255,127,191,114, 97,255,186,184,248, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,216, 70,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186, 8, 3,135, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, -184,248, 30, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, -215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 0, 0, 96, 6, 0, 0, 56,249, 30, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0,248, 1, 31, 7, 0, 0, 0, 0, -120,240, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,108, 97,121, 0, 48, - 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0, 8, 3,135, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104, 72,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168, 80,169, 5, + 0, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,108, + 97,121, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 0,232,255, 30, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 24, 79,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, -205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6989,49 +6990,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 8, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0, -102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, - 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, -208,249, 30, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 8, 0, 0, 0, 0, 10, 0, 0, 0, + 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, + 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, + 56, 1, 0, 0, 0, 73,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, -205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,232,255, 30, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, -224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,120, 1, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 24, 79,169, 5, 0, 0, 0, 0,127, 1, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, + 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 56, 35,135, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 48, 0, 0, 0,120, 1, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,248, 1, 31, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0, -184, 10, 31, 7, 0, 0, 0, 0, 56,249, 30, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 67,108, 97,121, 32, 83,116,114,105,112,115, 0, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 56, 35,135, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168, 80,169, 5, 0, 0, 0, 0,131, 1, 0, 0, + 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 67,108, 97,121, 32, 83,116,114,105,112,115, 0, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,168, 8, 31, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 88, 87,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7064,49 +7065,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, - 33, 0, 0, 0,160,119, 78, 63, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, - 68, 65, 84, 65, 56, 1, 0, 0,144, 2, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, + 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, + 0, 0, 0, 0, 33, 0, 0, 0,160,119, 78, 63, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, + 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 64, 81,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,168, 8, 31, 7, 0, 0, 0, 0, -121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, - 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 56, 10, 31, 7, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88, 87,169, 5, + 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, + 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,232, 88,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 56, 10, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, -125, 1, 0, 0, 1, 0, 0, 0,120, 19, 31, 7, 0, 0, 0, 0,248, 1, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,108,111,110,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232, 88,169, 5, 0, 0, 0, 0,125, 1, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63, +143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104, 89,169, 5, + 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0,168, 80,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,108,111,110,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,104, 17, 31, 7, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 24, 96,169, 5, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7139,49 +7140,50 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 63, 35, 0, 0, 0, - 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, -205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 80, 11, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 63, + 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 0, 90,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, -104, 17, 31, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61, -248, 18, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, + 64, 1, 0, 0, 24, 96,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, + 46,189,194, 61,168, 97,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,248, 18, 31, 7, 0, 0, 0, 0, -119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, - 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0,184, 10, 31, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,114,101, 97,115,101, 0, 48, 48, 49, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168, 97,169, 5, + 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, + 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, + 96, 6, 0, 0, 40, 98,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0,104, 89,169, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,114,101, 97,115,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, - 40, 26, 31, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 0,216,104,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7214,50 +7216,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, - 0, 0, 0, 63, 35, 0, 0, 0, 4, 6, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, - 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 16, 20, 31, 7, 0, 0, 0, 0, - 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 6, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63, +205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0,192, 98,169, 5, + 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 68, 65, 84, 65, 64, 1, 0, 0, 40, 26, 31, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,228, 97,175,190, 50,131,112, 63, -218,243,127,191, 10,183,157,188,184, 27, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,216,104,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,228, 97,175,190, + 50,131,112, 63,218,243,127,191, 10,183,157,188,104,106,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, -184, 27, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, - 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215, 35, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 0, 0, 96, 6, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, -120, 19, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 68, 97,114,107,101,110, - 0, 48, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,104,106,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215, 35, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,232,106,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168,115,169, 5, + 0, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 68, 97, +114,107,101,110, 0, 48, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 0,232, 34, 31, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,152,113,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, -205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7290,49 +7291,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0, -102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, -208, 28, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, + 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, + 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 56, 1, 0, 0,128,107,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, -205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,232, 34, 31, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, - 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61,120, 36, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152,113,169, 5, 0, 0, 0, 0,127, 1, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, + 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 40,115,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 48, 0, 0, 0,120, 36, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,248, 36, 31, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0, -184, 45, 31, 7, 0, 0, 0, 0, 56, 28, 31, 7, 0, 0, 0, 0, 0, 20, 1,160,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 68,114, 97,119, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,168, 43, 31, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 40,115,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168,115,169, 5, 0, 0, 0, 0,131, 1, 0, 0, + 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 0, 20, 1,160,255,255,255,255, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 68,114, 97,119, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 88,122,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7365,49 +7366,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 63, 35, 0, 0, 0, 0, 4, 0, 8, 0, 0, 0, 0, - 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, - 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, - 68, 65, 84, 65, 56, 1, 0, 0,144, 37, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 63, 35, 0, 0, 0, 0, 4, 0, 8, + 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, + 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, + 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 64,116,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,168, 43, 31, 7, 0, 0, 0, 0, -121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, - 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 56, 45, 31, 7, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88,122,169, 5, + 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, + 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,232,123,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 56, 45, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, -125, 1, 0, 0, 1, 0, 0, 0,120, 54, 31, 7, 0, 0, 0, 0,248, 36, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,105,108,108, 47, 68,101,101,112,101,110, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232,123,169, 5, 0, 0, 0, 0,125, 1, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63, +143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104,124,169, 5, + 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,105,108,108, 47, 68,101,101,112,101,110, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,104, 52, 31, 7, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 24,131,169, 5, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7440,49 +7441,50 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, - 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, -205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, - 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 80, 46, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, + 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62, + 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 0,125,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, -104, 52, 31, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, -248, 53, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, + 64, 1, 0, 0, 24,131,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191, +114, 97,255,186,168,132,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,248, 53, 31, 7, 0, 0, 0, 0, -119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, - 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0,184, 45, 31, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,108, 97,116,116,101,110, 47, 67,111,110,116,114, 97, -115,116, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, - 40, 61, 31, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168,132,169, 5, + 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, + 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, + 96, 6, 0, 0, 40,133,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0,104,124,169, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,108, 97,116,116,101,110, 47, 67,111, +110,116,114, 97,115,116, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 0,216,139,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7515,50 +7517,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, - 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, - 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 16, 55, 31, 7, 0, 0, 0, 0, - 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63, +205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0,192,133,169, 5, + 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 68, 65, 84, 65, 64, 1, 0, 0, 40, 61, 31, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186, -224,255,127,191,114, 97,255,186,184, 62, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,216,139,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186,104,141,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, -184, 62, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, -215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 0, 0, 96, 6, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, -120, 54, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 71,114, 97, 98, 0, 48, - 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,104,141,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,232,141,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168,150,169, 5, + 0, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 71,114, + 97, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 0,232, 69, 31, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,152,148,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, -205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7591,49 +7592,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0, -102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, - 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, -208, 63, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, + 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, + 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 56, 1, 0, 0,128,142,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, -205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,232, 69, 31, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, -224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,120, 71, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152,148,169, 5, 0, 0, 0, 0,127, 1, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, + 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 40,150,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 48, 0, 0, 0,120, 71, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,248, 71, 31, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0, -184, 80, 31, 7, 0, 0, 0, 0, 56, 63, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 73,110,102,108, 97,116,101, 47, 68,101,102,108, 97,116,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,168, 78, 31, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 40,150,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168,150,169, 5, 0, 0, 0, 0,131, 1, 0, 0, + 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 73,110,102,108, 97,116,101, 47, 68,101,102,108, 97,116,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 88,157,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7666,49 +7667,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, - 33, 0, 0, 0, 0, 0, 0, 62, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0,128, 62, 0, 0,128, 62, 0, 0,128, 62, - 68, 65, 84, 65, 56, 1, 0, 0,144, 72, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, + 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, + 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0,128, 62, 0, 0,128, 62, + 0, 0,128, 62, 68, 65, 84, 65, 56, 1, 0, 0, 64,151,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,168, 78, 31, 7, 0, 0, 0, 0, -121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, - 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 56, 80, 31, 7, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88,157,169, 5, + 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, + 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,232,158,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 56, 80, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, -125, 1, 0, 0, 1, 0, 0, 0,120, 89, 31, 7, 0, 0, 0, 0,248, 71, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 76, 97,121,101,114, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232,158,169, 5, 0, 0, 0, 0,125, 1, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63, +143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104,159,169, 5, + 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 76, 97,121,101,114, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,104, 87, 31, 7, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 24,166,169, 5, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7741,49 +7742,50 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, - 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, -205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 80, 81, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, + 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 0,160,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, -104, 87, 31, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, -248, 88, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, + 64, 1, 0, 0, 24,166,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191, +114, 97,255,186,168,167,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,248, 88, 31, 7, 0, 0, 0, 0, -119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, - 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0,184, 80, 31, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 76,105,103,104,116,101,110, 0, 53, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168,167,169, 5, + 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, + 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, + 96, 6, 0, 0, 40,168,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0,104,159,169, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 76,105,103,104,116,101,110, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, - 40, 96, 31, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 0,216,174,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7816,50 +7818,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, - 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 16, 90, 31, 7, 0, 0, 0, 0, - 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63, +205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,192,168,169, 5, + 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 68, 65, 84, 65, 64, 1, 0, 0, 40, 96, 31, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, - 14,215,126,191, 46,189,194, 61,184, 97, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,216,174,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, + 54,189,194, 61, 14,215,126,191, 46,189,194, 61,104,176,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, -184, 97, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, - 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 0, 0, 96, 6, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, -120, 89, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 77,105,120, 0,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,104,176,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,232,176,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168,185,169, 5, + 0, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 77,105, +120, 0,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 0,232,104, 31, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,152,183,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, -205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7892,49 +7893,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0, -102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, -208, 98, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, + 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, + 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 56, 1, 0, 0,128,177,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, -205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,232,104, 31, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, - 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61,120,106, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152,183,169, 5, 0, 0, 0, 0,127, 1, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, + 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 40,185,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 48, 0, 0, 0,120,106, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,248,106, 31, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0, -184,115, 31, 7, 0, 0, 0, 0, 56, 98, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 77,117,108,116,105,112,108,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,168,113, 31, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 40,185,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168,185,169, 5, 0, 0, 0, 0,131, 1, 0, 0, + 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 77,117,108,116,105,112,108,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 88,192,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7967,49 +7968,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, - 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 56, 1, 0, 0,144,107, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, + 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, +205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, + 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 64,186,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,168,113, 31, 7, 0, 0, 0, 0, -121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, - 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 56,115, 31, 7, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88,192,169, 5, + 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, + 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61,232,193,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 56,115, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,184,115, 31, 7, 0, 0, 0, 0, -125, 1, 0, 0, 1, 0, 0, 0,120,124, 31, 7, 0, 0, 0, 0,248,106, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 78,117,100,103,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232,193,169, 5, 0, 0, 0, 0,125, 1, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, + 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104,194,169, 5, + 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 78,117,100,103,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,104,122, 31, 7, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 24,201,169, 5, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -8042,49 +8043,50 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, - 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, -205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 80,116, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, + 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 0,195,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, -104,122, 31, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, -248,123, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, + 64, 1, 0, 0, 24,201,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191, +114, 97,255,186,168,202,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,248,123, 31, 7, 0, 0, 0, 0, -119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, - 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0, -120,124, 31, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0,184,115, 31, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 80,105,110, 99,104, 47, 77, 97,103,110,105,102,121, 0, - 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, - 40,131, 31, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168,202,169, 5, + 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, + 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, + 96, 6, 0, 0, 40,203,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0,104,194,169, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 80,105,110, 99,104, 47, 77, 97,103,110, +105,102,121, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 0,216,209,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -8117,50 +8119,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, - 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0, 64, 63, 0, 0, 64, 63, - 0, 0, 64, 63, 0, 0,128, 62, 0, 0,128, 62, 0, 0,128, 62, 68, 65, 84, 65, 56, 1, 0, 0, 16,125, 31, 7, 0, 0, 0, 0, - 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63, +205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0, 64, 63, + 0, 0, 64, 63, 0, 0, 64, 63, 0, 0,128, 62, 0, 0,128, 62, 0, 0,128, 62, 68, 65, 84, 65, 56, 1, 0, 0,192,203,169, 5, + 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 68, 65, 84, 65, 64, 1, 0, 0, 40,131, 31, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186, -224,255,127,191,114, 97,255,186,184,132, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,216,209,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186,104,211,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, -184,132, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, -215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 0, 0, 96, 6, 0, 0, 56,133, 31, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0, -120,124, 31, 7, 0, 0, 0, 0,253, 21,192, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 80,111,108,105,115,104, - 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,104,211,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,232,211,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168,220,169, 5, + 0, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0,253, 21,192, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 80,111, +108,105,115,104, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 0,232,139, 31, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,152,218,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, -205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -8193,49 +8194,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 1, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0, -102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, - 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, -208,133, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 1, 0, 0, 0, 0, 10, 0, 0, 0, + 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 7, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, + 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, + 56, 1, 0, 0,128,212,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, -205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,232,139, 31, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, -224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,120,141, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152,218,169, 5, 0, 0, 0, 0,127, 1, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, + 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 40,220,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 48, 0, 0, 0,120,141, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,248,141, 31, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0, -184,150, 31, 7, 0, 0, 0, 0, 56,133, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 83, 99,114, 97,112,101, 47, 80,101, 97,107,115, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,168,148, 31, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 40,220,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168,220,169, 5, 0, 0, 0, 0,131, 1, 0, 0, + 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 83, 99,114, 97,112,101, 47, 80,101, 97,107,115, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 88,227,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -8268,49 +8269,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, - 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, - 68, 65, 84, 65, 56, 1, 0, 0,144,142, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, + 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, + 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 64,221,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,168,148, 31, 7, 0, 0, 0, 0, -121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, - 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 56,150, 31, 7, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88,227,169, 5, + 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, + 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,232,228,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 56,150, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,184,150, 31, 7, 0, 0, 0, 0, -125, 1, 0, 0, 1, 0, 0, 0,120,159, 31, 7, 0, 0, 0, 0,248,141, 31, 7, 0, 0, 0, 0,168,205,210, 3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83, 99,117,108,112,116, 68,114, 97,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232,228,169, 5, 0, 0, 0, 0,125, 1, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63, +143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104,229,169, 5, + 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0,168,205,210, 3, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83, 99,117,108,112,116, 68,114, 97,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,104,157, 31, 7, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 24,236,169, 5, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -8343,49 +8344,50 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, - 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, -205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,160,119, 78, 63, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, - 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 80,151, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, + 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,160,119, 78, 63, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, + 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 0,230,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, -104,157, 31, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, -248,158, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, + 64, 1, 0, 0, 24,236,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191, +114, 97,255,186,168,237,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,248,158, 31, 7, 0, 0, 0, 0, -119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, - 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0, -120,159, 31, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0,184,150, 31, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109,101, 97,114, 0, 48, 48, 49, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168,237,169, 5, + 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, + 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, + 96, 6, 0, 0, 40,238,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0,104,229,169, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109,101, 97,114, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, - 40,166, 31, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 0,216,244,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -8418,50 +8420,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, - 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 16,160, 31, 7, 0, 0, 0, 0, - 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63, +205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,192,238,169, 5, + 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 68, 65, 84, 65, 64, 1, 0, 0, 40,166, 31, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, - 14,215,126,191, 46,189,194, 61,184,167, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,216,244,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, + 54,189,194, 61, 14,215,126,191, 46,189,194, 61,104,246,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, -184,167, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, - 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 0, 0, 96, 6, 0, 0, 56,168, 31, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, -120,159, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109,111,111,116,104, - 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,104,246,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,232,246,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168,255,169, 5, + 0, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109, +111,111,116,104, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 0,232,174, 31, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,152,253,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, -205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -8494,49 +8495,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 75, 0, 0, 0, -102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, - 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, -208,168, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, + 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, + 0, 0, 0, 62, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 56, 1, 0, 0,128,247,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, -205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,232,174, 31, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, -224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,120,176, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152,253,169, 5, 0, 0, 0, 0,127, 1, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, + 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 40,255,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 48, 0, 0, 0,120,176, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,248,176, 31, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0, -184,185, 31, 7, 0, 0, 0, 0, 56,168, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 83,110, 97,107,101, 32, 72,111,111,107, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,168,183, 31, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 40,255,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168,255,169, 5, 0, 0, 0, 0,131, 1, 0, 0, + 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 83,110, 97,107,101, 32, 72,111,111,107, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 88, 6,170, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -8569,49 +8570,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, - 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 56, 1, 0, 0,144,177, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 75, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, + 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 64, 0,170, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,168,183, 31, 7, 0, 0, 0, 0, -121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, - 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 56,185, 31, 7, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88, 6,170, 5, + 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, + 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,232, 7,170, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 56,185, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,184,185, 31, 7, 0, 0, 0, 0, -125, 1, 0, 0, 1, 0, 0, 0,120,194, 31, 7, 0, 0, 0, 0,248,176, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,111,102,116,101,110, 0, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232, 7,170, 5, 0, 0, 0, 0,125, 1, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63, +143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104, 8,170, 5, + 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,111,102,116,101,110, 0, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,104,192, 31, 7, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 24, 15,170, 5, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -8644,49 +8645,50 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 63, 35, 0, 0, 0, - 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, -205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 80,186, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 63, + 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 0, 9,170, 5, 0, 0, 0, 0, 25, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, -104,192, 31, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61, -248,193, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, + 64, 1, 0, 0, 24, 15,170, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, + 46,189,194, 61,168, 16,170, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,248,193, 31, 7, 0, 0, 0, 0, -119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, - 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0, -120,194, 31, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0,184,185, 31, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,117, 98,116,114, 97, 99,116, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168, 16,170, 5, + 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, + 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, + 96, 6, 0, 0, 40, 17,170, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0,104, 8,170, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,117, 98,116,114, 97, 99,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, - 40,201, 31, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 0,216, 23,170, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -8719,50 +8721,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, - 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 16,195, 31, 7, 0, 0, 0, 0, - 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63, +205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,192, 17,170, 5, + 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 68, 65, 84, 65, 64, 1, 0, 0, 40,201, 31, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, - 14,215,126,191, 46,189,194, 61,184,202, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,216, 23,170, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, + 54,189,194, 61, 14,215,126,191, 46,189,194, 61,104, 25,170, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, -184,202, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, - 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 0, 0, 96, 6, 0, 0, 56,203, 31, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, -120,194, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,101,120, 68,114, 97, -119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 3, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,104, 25,170, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,232, 25,170, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168, 34,170, 5, + 0, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,101, +120, 68,114, 97,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 0,232,209, 31, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,152, 32,170, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, -205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -8795,49 +8796,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 8, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0, -102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, -208,203, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 8, 0, 0, 0, 0, 10, 0, 0, 0, + 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, + 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, + 56, 1, 0, 0,128, 26,170, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, -205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,232,209, 31, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, -224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,120,211, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152, 32,170, 5, 0, 0, 0, 0,127, 1, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, + 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 40, 34,170, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 48, 0, 0, 0,120,211, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,248,211, 31, 7, 0, 0, 0, 0,125, 1, 0, 0, 1, 0, 0, 0, -184,220, 31, 7, 0, 0, 0, 0, 56,203, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 84,104,117,109, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,168,218, 31, 7, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 40, 34,170, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168, 34,170, 5, 0, 0, 0, 0,131, 1, 0, 0, + 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 84,104,117,109, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 88, 41,170, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -8870,49 +8871,49 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 75, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, - 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 56, 1, 0, 0,144,212, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 75, 0, 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, + 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 64, 35,170, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,168,218, 31, 7, 0, 0, 0, 0, -121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, - 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 56,220, 31, 7, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88, 41,170, 5, + 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, + 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,232, 42,170, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 56,220, 31, 7, 0, 0, 0, 0,119, 1, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,184,220, 31, 7, 0, 0, 0, 0, -125, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,211, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,119,105,115,116, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232, 42,170, 5, 0, 0, 0, 0,125, 1, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63, +143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104, 43,170, 5, + 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,119,105,115,116, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,104,227, 31, 7, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 24, 50,170, 5, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -8945,36 +8946,37 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 75, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, -205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 80,221, 31, 7, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, + 75, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 0, 44,170, 5, 0, 0, 0, 0, 25, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, -104,227, 31, 7, 0, 0, 0, 0,121, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, - 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, -248,228, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, + 64, 1, 0, 0, 24, 50,170, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191, +114, 97,255,186,168, 51,170, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,248,228, 31, 7, 0, 0, 0, 0, -119, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, - 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 85, 83, 69, 82,112, 38, 0, 0, -160,219,222, 4, 0, 0, 0, 0,210, 0, 0, 0, 1, 0, 0, 0, 1, 8, 17, 1, 63, 6, 0, 0, 5, 0, 0, 0, 47,116,109,112, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168, 51,170, 5, + 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, + 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 85, 83, 69, 82, +112, 38, 0, 0,192,113, 10, 4, 0, 0, 0, 0,210, 0, 0, 0, 1, 0, 0, 0, 1, 8, 17, 1, 63, 6, 0, 0, 5, 0, 0, 0, + 47,116,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -8997,9 +8999,8 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 85, -115,101,114,115, 47,116,111,110, 47, 68,101,115,107,116,111,112, 47, 0, 45,112,111,119,101,114,112, 99, 47, 98,105,110, 47, 98, -108,101,110,100,101,114, 46, 97,112,112, 47, 67,111,110,116,101,110,116,115, 47, 82,101,115,111,117,114, 99,101, 0, 0, 0, 0, + 47, 47, 0, 85,115,101,114,115, 47,116,111,110, 47, 68,101,115,107,116,111,112, 47, 0, 45,112,111,119,101,114,112, 99, 47, 98, +105,110, 47, 98,108,101,110,100,101,114, 46, 97,112,112, 47, 67,111,110,116,101,110,116,115, 47, 82,101,115,111,117,114, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -9021,8 +9022,8 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -9053,8 +9054,8 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -9149,8 +9150,8 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -9237,1696 +9238,1705 @@ char datatoc_startup_blend[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 35, 0, 0, 0, 2, 0, 94, 1, 8, 0, 0, 0, 3, 0, 0, 0, 56, 52, 39, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 8, 0, 0, - 2, 0, 0, 0, 68,172, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 72, 0, 0, 0, 0, 0, 64, 0, 5, 0, 2, 0, - 56, 12, 32, 7, 0, 0, 0, 0, 56, 12, 32, 7, 0, 0, 0, 0,184,243, 31, 7, 0, 0, 0, 0,184,243, 31, 7, 0, 0, 0, 0, - 40, 54, 32, 7, 0, 0, 0, 0, 40, 54, 32, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,219, 30, 7, 0, 0, 0, 0,136, 53, 32, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 32, 0, 0, 0, 1, 0, 2, 0, 25, 0, 0, 0, 20, 0, 20, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,205,204, 76, 63, -205,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 30, 90,100,191,154,153,153, 62, -102,102,102, 63, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 31,250,254, 62, 9, 0, 0, 63,156,153, 25, 63, 0, 0, 0, 0, -205,204, 76, 62,205,204, 76, 62,205,204, 76, 62, 0, 0,128, 63, 44,135, 22, 63, 32,133,235, 62,184,243,125, 62, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0,195, 73, 76, 63, 42,135, 86, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 43,135, 61, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 16, 47, 93, 62, 58,180,200,190, 24, 47, 93,190, 0, 0, 0, 0, 14, 0, 1, 0, 25, 0, 15, 0, -120, 0, 60, 0, 3, 0, 5, 0,128, 0, 0, 0, 0, 0, 0, 0,144, 31, 15, 0, 6, 0, 25, 0, 8, 0, 10, 0,200, 0, 0, 0, - 0, 0, 0, 0, 2, 0, 4, 0, 10, 0, 50, 0, 20, 0, 2, 0, 1, 0, 0, 0, 0, 0,128, 63, 60, 0, 0, 0, 0, 0, 2, 0, - 2, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, - 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, - 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, - 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, - 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, - 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, - 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, - 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, - 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, - 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, - 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, - 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, - 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, - 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, - 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, - 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, - 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, - 68, 65, 84, 65,168, 36, 0, 0, 56, 12, 32, 7, 0, 0, 0, 0,207, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68,101,102, 97,117,108,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, - 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, - 1, 0, 15, 0,241,255, 0, 0, 25, 25, 25,255,153,153,153,255,153,153,153,255, 90, 90, 90,255, 0, 0, 0,255,255,255,255,255, - 1, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 86,128,194,255,255,255,255,255,255,255,255,255, 0, 0, 0,255, - 1, 0, 15, 0,241,255, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 70, 70, 70,255,255,255,255,255, 0, 0, 0,255,255,255,255,255, - 1, 0, 15, 0,241,255, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, - 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,180,180,180,255,153,153,153,255, 90, 90, 90,255, 0, 0, 0,255,255,255,255,255, - 1, 0,236,255, 0, 0, 0, 0, 25, 25, 25,255,180,180,180,255,153,153,153,255,128,128,128,255, 0, 0, 0,255,255,255,255,255, - 1, 0,236,255, 0, 0, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 70, 70, 70,255,255,255,255,255,255,255,255,255,204,204,204,255, - 1, 0, 15, 0,241,255, 0, 0, 0, 0, 0,255, 63, 63, 63,255, 86,128,194,255,255,255,255,255, 0, 0, 0,255, 0, 0, 0,255, - 0, 0, 25, 0,236,255, 0, 0, 0, 0, 0,255, 25, 25, 25,230, 45, 45, 45,230,100,100,100,255,160,160,160,255,255,255,255,255, - 0, 0, 25, 0,236,255, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 86,128,194,255,172,172,172,128,255,255,255,255, 0, 0, 0,255, - 1, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0,255, 25, 25, 25,230, 45, 45, 45,230,100,100,100,255,255,255,255,255,255,255,255,255, - 0, 0, 25, 0,236,255, 0, 0, 25, 25, 25,255,128,128,128,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 50,180, 80, 80, 80,180,100,100,100,180,128,128,128,255, 0, 0, 0,255,255,255,255,255, - 1, 0, 5, 0,251,255, 0, 0, 0, 0, 0,255,190,190,190,255,100,100,100,180, 68, 68, 68,255, 0, 0, 0,255,255,255,255,255, - 0, 0, 5, 0,251,255, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 86,128,194,255, 0, 0, 0,255, 0, 0, 0,255, 0, 0, 0,255, - 0, 0, 0, 0, 0, 0, 0, 0,115,190, 76,255, 90,166, 51,255,240,235,100,255,215,211, 75,255,180, 0,255,255,153, 0,230,255, - 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, - 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,130,130,130,255, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, - 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, 0, 0, 0, 0, - 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, - 0, 0, 0, 40, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,170, 64,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, 32,255,255,255, - 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 32, 0, 0,255, 0, 32, 0,255, 0, 0,128,255, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,200,200, -255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 76, 76,255, 0, 0, 0, 0, -250,250,250,255, 15, 15, 15,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,145,145,145,255, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100,255,140, 25,255,250,250,250,255, 0, 0, 0,255,241, 88, 0,255, - 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,130,130,130,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250,250,250,255, 0, 0, 0, 0,250,250,250,255, -250,250,250,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, - 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, - 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 79,101, 73,255, -135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255,153, 64, 48,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,240,175,144,255, - 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255, -255,133, 0,255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, - 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, - 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, - 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, - 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 79,101, 73,255, -135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, - 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255, -255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, - 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, - 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 79,101, 73,255, -135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, - 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255, -255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116,116,116,255, 0, 0, 0, 0, - 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, - 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,105,135,255, 32, 32,143,255,109, 88,129,255, - 78,152, 62,255, 46,143,143,255,169, 84,124,255,126,126, 80,255,162, 95,111,255,109,145,131,255,255,255,255,128, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 53,255, 0, 0, 0, 0, - 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, - 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0,255,255,255, 10,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 18, 66,176, 38,255,133, 0,178, -255,133, 0,127, 0,255, 0,255,255, 0, 0,255,225,210,195, 35, 0, 0, 0, 0, 0, 0, 0, 0,153,153,153,255, 0, 0, 0, 0, - 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,143,143,143,255,198,119,119,255,255, 0, 0,255, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, - 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, -100, 0, 0,255, 0, 0,200,255,128, 0, 80,255, 95, 95, 0,255, 0,100, 50,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, - 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, - 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,127, 51, 76,130,135,140, 76,114,114,114,255, 0, 0, 0, 0, - 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,173,173,173,255,127,112,112,100, 0, 0, 0, 0, 91, 91, 91,255, 0, 0, 0,255,241, 88, 0,255, - 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, 0, 0, 0, 0, - 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, - 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,255,255,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 5, -155,155,155,160,100,104,111,255,111,106,100,255,104,106,117,255,105,117,110,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100,100,100,255, 0, 0, 0, 0, - 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, - 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, - 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, - 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, - 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, - 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 96,128,255,255,255,255,255,255, 0,170, 0,255,220, 96, 96,255,220, 96, 96,255, 3, 0, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, 0, 0, 0, 0, - 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, - 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, - 0, 0, 0, 40, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,170, 64,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, 32,255,255,255, - 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 32, 0, 0,255, 0, 32, 0,255, 0, 0,128,255, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255, -255,255, 0,255, 4, 0, 0, 0,255,127,127, 0,255,255,255,255,255,255,255, 0,255,127, 0, 0,255,127,127,127,255,200,200,200, -255,255, 0, 0,255, 0, 0,255,255, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 0, 0,255,189, 17, 17,255, -247, 10, 10,255, 0, 0, 0, 0,247, 64, 24,255,246,105, 19,255,250,153, 0,255, 0, 0, 0, 0, 30,145, 9,255, 89,183, 11,255, -131,239, 29,255, 0, 0, 0, 0, 10, 54,148,255, 54,103,223,255, 94,193,239,255, 0, 0, 0, 0,169, 41, 78,255,193, 65,106,255, -240, 93,145,255, 0, 0, 0, 0, 67, 12,120,255, 84, 58,163,255,135,100,213,255, 0, 0, 0, 0, 36,120, 90,255, 60,149,121,255, -111,182,171,255, 0, 0, 0, 0, 75,112,124,255,106,134,145,255,155,194,205,255, 0, 0, 0, 0,244,201, 12,255,238,194, 54,255, -243,255, 0,255, 0, 0, 0, 0, 30, 32, 36,255, 72, 76, 86,255,255,255,255,255, 0, 0, 0, 0,111, 47,106,255,152, 69,190,255, -211, 48,214,255, 0, 0, 0, 0,108,142, 34,255,127,176, 34,255,187,239, 91,255, 0, 0, 0, 0,141,141,141,255,176,176,176,255, -222,222,222,255, 0, 0, 0, 0,131, 67, 38,255,139, 88, 17,255,189,106, 17,255, 0, 0, 0, 0, 8, 49, 14,255, 28, 67, 11,255, - 52, 98, 43,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 80, 0, 0, 0,104,219, 30, 7, 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0, 8,220, 30, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95, 51,100,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 8,220, 30, 7, 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0, - 40, 49, 32, 7, 0, 0, 0, 0,104,219, 30, 7, 0, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95,102, 98,120, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 40, 49, 32, 7, 0, 0, 0, 0, -208, 0, 0, 0, 1, 0, 0, 0,200, 49, 32, 7, 0, 0, 0, 0, 8,220, 30, 7, 0, 0, 0, 0,105,111, 95, 97,110,105,109, 95, - 98,118,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, -200, 49, 32, 7, 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0,104, 50, 32, 7, 0, 0, 0, 0, 40, 49, 32, 7, 0, 0, 0, 0, -105,111, 95,109,101,115,104, 95,112,108,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 80, 0, 0, 0,104, 50, 32, 7, 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0, 8, 51, 32, 7, 0, 0, 0, 0, -200, 49, 32, 7, 0, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95,111, 98,106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 8, 51, 32, 7, 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0, -168, 51, 32, 7, 0, 0, 0, 0,104, 50, 32, 7, 0, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95,120, 51,100, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0,168, 51, 32, 7, 0, 0, 0, 0, -208, 0, 0, 0, 1, 0, 0, 0, 72, 52, 32, 7, 0, 0, 0, 0, 8, 51, 32, 7, 0, 0, 0, 0,105,111, 95,109,101,115,104, 95, -115,116,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, - 72, 52, 32, 7, 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0,232, 52, 32, 7, 0, 0, 0, 0,168, 51, 32, 7, 0, 0, 0, 0, -105,111, 95,109,101,115,104, 95,117,118, 95,108, 97,121,111,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 80, 0, 0, 0,232, 52, 32, 7, 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0,136, 53, 32, 7, 0, 0, 0, 0, - 72, 52, 32, 7, 0, 0, 0, 0,105,111, 95, 99,117,114,118,101, 95,115,118,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0,136, 53, 32, 7, 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,232, 52, 32, 7, 0, 0, 0, 0, 99,121, 99,108,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,232, 0, 0, 0, 40, 54, 32, 7, 0, 0, 0, 0, -200, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,101,102, 97,117,108,116, 32, - 83,116,121,108,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,255,255, 0, 0,154,153, 25, 62, 0, 0,128, 63, 0, 0, 12, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,255,255, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 11, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,255,255, 0, 0,154,153, 25, 62, 0, 0,128, 63, 0, 0, 11, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, - 8, 0, 5, 0, 5, 0, 8, 0, 2, 0, 8, 0, 4, 0, 0, 0, 68, 78, 65, 49,160, 6, 1, 0,216,191, 73, 8, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 83, 68, 78, 65, 78, 65, 77, 69, 80, 13, 0, 0, 42,110,101,120,116, 0, 42,112,114,101,118, 0, - 42,100, 97,116, 97, 0, 42,102,105,114,115,116, 0, 42,108, 97,115,116, 0,120, 0,121, 0,122, 0,120,109,105,110, 0,120,109, - 97,120, 0,121,109,105,110, 0,121,109, 97,120, 0, 42,112,111,105,110,116,101,114, 0,103,114,111,117,112, 0,118, 97,108, 0, -118, 97,108, 50, 0,116,121,112,101, 0,115,117, 98,116,121,112,101, 0,102,108, 97,103, 0,110, 97,109,101, 91, 54, 52, 93, 0, -115, 97,118,101,100, 0,100, 97,116, 97, 0,108,101,110, 0,116,111,116, 97,108,108,101,110, 0, 42,110,101,119,105,100, 0, 42, -108,105, 98, 0,110, 97,109,101, 91, 54, 54, 93, 0,112, 97,100, 0,117,115, 0,105, 99,111,110, 95,105,100, 0,112, 97,100, 50, - 0, 42,112,114,111,112,101,114,116,105,101,115, 0,105,100, 0, 42,105,100, 98,108,111, 99,107, 0, 42,102,105,108,101,100, 97, -116, 97, 0,110, 97,109,101, 91, 49, 48, 50, 52, 93, 0,102,105,108,101,112, 97,116,104, 91, 49, 48, 50, 52, 93, 0, 42,112, 97, -114,101,110,116, 0,119, 91, 50, 93, 0,104, 91, 50, 93, 0, 99,104, 97,110,103,101,100, 91, 50, 93, 0, 99,104, 97,110,103,101, -100, 95,116,105,109,101,115,116, 97,109,112, 91, 50, 93, 0, 42,114,101, 99,116, 91, 50, 93, 0, 42,111, 98, 0, 98,108,111, 99, -107,116,121,112,101, 0, 97,100,114, 99,111,100,101, 0,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42, 98,112, 0, 42, 98,101,122, -116, 0,109, 97,120,114, 99,116, 0,116,111,116,114, 99,116, 0,118, 97,114,116,121,112,101, 0,116,111,116,118,101,114,116, 0, -105,112,111, 0,101,120,116,114, 97,112, 0,114,116, 0, 98,105,116,109, 97,115,107, 0,115,108,105,100,101, 95,109,105,110, 0, -115,108,105,100,101, 95,109, 97,120, 0, 99,117,114,118, 97,108, 0, 42,100,114,105,118,101,114, 0, 99,117,114,118,101, 0, 99, -117,114, 0,115,104,111,119,107,101,121, 0,109,117,116,101,105,112,111, 0,112,111,115, 0,112, 97,100, 49, 0,114,101,108, 97, -116,105,118,101, 0,116,111,116,101,108,101,109, 0,117,105,100, 0, 42,119,101,105,103,104,116,115, 0,118,103,114,111,117,112, - 91, 54, 52, 93, 0,115,108,105,100,101,114,109,105,110, 0,115,108,105,100,101,114,109, 97,120, 0, 42, 97,100,116, 0, 42,114, -101,102,107,101,121, 0,101,108,101,109,115,116,114, 91, 51, 50, 93, 0,101,108,101,109,115,105,122,101, 0, 98,108,111, 99,107, - 0, 42,105,112,111, 0, 42,102,114,111,109, 0,116,111,116,107,101,121, 0,115,108,117,114,112,104, 0, 99,116,105,109,101, 0, -117,105,100,103,101,110, 0, 42,108,105,110,101, 0, 42,102,111,114,109, 97,116, 0, 98,108,101,110, 0,108,105,110,101,110,111, - 0,115,116, 97,114,116, 0,101,110,100, 0,102,108, 97,103,115, 0, 99,111,108,111,114, 91, 52, 93, 0,112, 97,100, 91, 52, 93, - 0, 42,110, 97,109,101, 0,110,108,105,110,101,115, 0,108,105,110,101,115, 0, 42, 99,117,114,108, 0, 42,115,101,108,108, 0, - 99,117,114, 99, 0,115,101,108, 99, 0,109, 97,114,107,101,114,115, 0, 42,117,110,100,111, 95, 98,117,102, 0,117,110,100,111, - 95,112,111,115, 0,117,110,100,111, 95,108,101,110, 0, 42, 99,111,109,112,105,108,101,100, 0,109,116,105,109,101, 0,115,105, -122,101, 0,115,101,101,107, 0,100,116,120, 0,112, 97,115,115,101,112, 97,114,116, 97,108,112,104, 97, 0, 99,108,105,112,115, -116, 97, 0, 99,108,105,112,101,110,100, 0,108,101,110,115, 0,111,114,116,104,111, 95,115, 99, 97,108,101, 0,100,114, 97,119, -115,105,122,101, 0,115,101,110,115,111,114, 95,120, 0,115,101,110,115,111,114, 95,121, 0,115,104,105,102,116,120, 0,115,104, -105,102,116,121, 0, 89, 70, 95,100,111,102,100,105,115,116, 0, 42,100,111,102, 95,111, 98, 0,115,101,110,115,111,114, 95,102, -105,116, 0,112, 97,100, 91, 55, 93, 0, 42,115, 99,101,110,101, 0,102,114, 97,109,101,110,114, 0,102,114, 97,109,101,115, 0, -111,102,102,115,101,116, 0,115,102,114, 97, 0,102,105,101, 95,105,109, 97, 0, 99,121, 99,108, 0,111,107, 0,109,117,108,116, -105, 95,105,110,100,101,120, 0,108, 97,121,101,114, 0,112, 97,115,115, 0,105, 98,117,102,115, 0, 42,103,112,117,116,101,120, -116,117,114,101, 0, 42, 97,110,105,109, 0, 42,114,114, 0, 42,114,101,110,100,101,114,115, 91, 56, 93, 0,114,101,110,100,101, -114, 95,115,108,111,116, 0,108, 97,115,116, 95,114,101,110,100,101,114, 95,115,108,111,116, 0,115,111,117,114, 99,101, 0,108, - 97,115,116,102,114, 97,109,101, 0,116,112, 97,103,101,102,108, 97,103, 0,116,111,116, 98,105,110,100, 0,120,114,101,112, 0, -121,114,101,112, 0,116,119,115,116, 97, 0,116,119,101,110,100, 0, 98,105,110,100, 99,111,100,101, 0, 42,114,101,112, 98,105, -110,100, 0, 42,112, 97, 99,107,101,100,102,105,108,101, 0, 42,112,114,101,118,105,101,119, 0,108, 97,115,116,117,112,100, 97, -116,101, 0,108, 97,115,116,117,115,101,100, 0, 97,110,105,109,115,112,101,101,100, 0,103,101,110, 95,120, 0,103,101,110, 95, -121, 0,103,101,110, 95,116,121,112,101, 0,103,101,110, 95,102,108, 97,103, 0, 97,115,112,120, 0, 97,115,112,121, 0,116,101, -120, 99,111, 0,109, 97,112,116,111, 0,109, 97,112,116,111,110,101,103, 0, 98,108,101,110,100,116,121,112,101, 0, 42,111, 98, -106,101, 99,116, 0, 42,116,101,120, 0,117,118,110, 97,109,101, 91, 54, 52, 93, 0,112,114,111,106,120, 0,112,114,111,106,121, - 0,112,114,111,106,122, 0,109, 97,112,112,105,110,103, 0,111,102,115, 91, 51, 93, 0,115,105,122,101, 91, 51, 93, 0,114,111, -116, 0,116,101,120,102,108, 97,103, 0, 99,111,108,111,114,109,111,100,101,108, 0,112,109, 97,112,116,111, 0,112,109, 97,112, -116,111,110,101,103, 0,110,111,114,109, 97,112,115,112, 97, 99,101, 0,119,104,105, 99,104, 95,111,117,116,112,117,116, 0, 98, -114,117,115,104, 95,109, 97,112, 95,109,111,100,101, 0,114, 0,103, 0, 98, 0,107, 0,100,101,102, 95,118, 97,114, 0, 99,111, -108,102, 97, 99, 0,118, 97,114,102, 97, 99, 0,110,111,114,102, 97, 99, 0,100,105,115,112,102, 97, 99, 0,119, 97,114,112,102, - 97, 99, 0, 99,111,108,115,112,101, 99,102, 97, 99, 0,109,105,114,114,102, 97, 99, 0, 97,108,112,104, 97,102, 97, 99, 0,100, -105,102,102,102, 97, 99, 0,115,112,101, 99,102, 97, 99, 0,101,109,105,116,102, 97, 99, 0,104, 97,114,100,102, 97, 99, 0,114, - 97,121,109,105,114,114,102, 97, 99, 0,116,114, 97,110,115,108,102, 97, 99, 0, 97,109, 98,102, 97, 99, 0, 99,111,108,101,109, -105,116,102, 97, 99, 0, 99,111,108,114,101,102,108,102, 97, 99, 0, 99,111,108,116,114, 97,110,115,102, 97, 99, 0,100,101,110, -115,102, 97, 99, 0,115, 99, 97,116,116,101,114,102, 97, 99, 0,114,101,102,108,102, 97, 99, 0,116,105,109,101,102, 97, 99, 0, -108,101,110,103,116,104,102, 97, 99, 0, 99,108,117,109,112,102, 97, 99, 0,100, 97,109,112,102, 97, 99, 0,107,105,110,107,102, - 97, 99, 0,114,111,117,103,104,102, 97, 99, 0,112, 97,100,101,110,115,102, 97, 99, 0,103,114, 97,118,105,116,121,102, 97, 99, - 0,108,105,102,101,102, 97, 99, 0,115,105,122,101,102, 97, 99, 0,105,118,101,108,102, 97, 99, 0,102,105,101,108,100,102, 97, - 99, 0,115,104, 97,100,111,119,102, 97, 99, 0,122,101,110,117,112,102, 97, 99, 0,122,101,110,100,111,119,110,102, 97, 99, 0, - 98,108,101,110,100,102, 97, 99, 0, 42,104, 97,110,100,108,101, 0, 42,112,110, 97,109,101, 0, 42,115,116,110, 97,109,101,115, - 0,115,116,121,112,101,115, 0,118, 97,114,115, 0, 42,118, 97,114,115,116,114, 0, 42,114,101,115,117,108,116, 0, 42, 99,102, -114, 97, 0,100, 97,116, 97, 91, 51, 50, 93, 0, 40, 42,100,111,105,116, 41, 40, 41, 0, 40, 42,105,110,115,116, 97,110, 99,101, - 95,105,110,105,116, 41, 40, 41, 0, 40, 42, 99, 97,108,108, 98, 97, 99,107, 41, 40, 41, 0,118,101,114,115,105,111,110, 0, 97, - 0,116,111,116, 0,105,112,111,116,121,112,101, 0, 42,105,109, 97, 0, 42, 99,117, 98,101, 91, 54, 93, 0,105,109, 97,116, 91, - 52, 93, 91, 52, 93, 0,111, 98,105,109, 97,116, 91, 51, 93, 91, 51, 93, 0,115,116,121,112,101, 0,118,105,101,119,115, 99, 97, -108,101, 0,110,111,116,108, 97,121, 0, 99,117, 98,101,114,101,115, 0,100,101,112,116,104, 0,114,101, 99, 97,108, 99, 0,108, - 97,115,116,115,105,122,101, 0,102, 97,108,108,111,102,102, 95,116,121,112,101, 0,102, 97,108,108,111,102,102, 95,115,111,102, -116,110,101,115,115, 0,114, 97,100,105,117,115, 0, 99,111,108,111,114, 95,115,111,117,114, 99,101, 0,116,111,116,112,111,105, -110,116,115, 0,112,100,112, 97,100, 0,112,115,121,115, 0,112,115,121,115, 95, 99, 97, 99,104,101, 95,115,112, 97, 99,101, 0, -111, 98, 95, 99, 97, 99,104,101, 95,115,112, 97, 99,101, 0, 42,112,111,105,110,116, 95,116,114,101,101, 0, 42,112,111,105,110, -116, 95,100, 97,116, 97, 0,110,111,105,115,101, 95,115,105,122,101, 0,110,111,105,115,101, 95,100,101,112,116,104, 0,110,111, -105,115,101, 95,105,110,102,108,117,101,110, 99,101, 0,110,111,105,115,101, 95, 98, 97,115,105,115, 0,112,100,112, 97,100, 51, - 91, 51, 93, 0,110,111,105,115,101, 95,102, 97, 99, 0,115,112,101,101,100, 95,115, 99, 97,108,101, 0,102, 97,108,108,111,102, -102, 95,115,112,101,101,100, 95,115, 99, 97,108,101, 0,112,100,112, 97,100, 50, 0, 42, 99,111, 98, 97, 0, 42,102, 97,108,108, -111,102,102, 95, 99,117,114,118,101, 0,114,101,115,111,108, 91, 51, 93, 0,105,110,116,101,114,112, 95,116,121,112,101, 0,102, -105,108,101, 95,102,111,114,109, 97,116, 0,101,120,116,101,110,100, 0,115,109,111,107,101,100, 95,116,121,112,101, 0,105,110, -116, 95,109,117,108,116,105,112,108,105,101,114, 0,115,116,105,108,108, 95,102,114, 97,109,101, 0,115,111,117,114, 99,101, 95, -112, 97,116,104, 91, 49, 48, 50, 52, 93, 0, 42,100, 97,116, 97,115,101,116, 0, 99, 97, 99,104,101,100,102,114, 97,109,101, 0, -111, 99,101, 97,110,109,111,100, 91, 54, 52, 93, 0,111,117,116,112,117,116, 0,110,111,105,115,101,115,105,122,101, 0,116,117, -114, 98,117,108, 0, 98,114,105,103,104,116, 0, 99,111,110,116,114, 97,115,116, 0,115, 97,116,117,114, 97,116,105,111,110, 0, -114,102, 97, 99, 0,103,102, 97, 99, 0, 98,102, 97, 99, 0,102,105,108,116,101,114,115,105,122,101, 0,109,103, 95, 72, 0,109, -103, 95,108, 97, 99,117,110, 97,114,105,116,121, 0,109,103, 95,111, 99,116, 97,118,101,115, 0,109,103, 95,111,102,102,115,101, -116, 0,109,103, 95,103, 97,105,110, 0,100,105,115,116, 95, 97,109,111,117,110,116, 0,110,115, 95,111,117,116,115, 99, 97,108, -101, 0,118,110, 95,119, 49, 0,118,110, 95,119, 50, 0,118,110, 95,119, 51, 0,118,110, 95,119, 52, 0,118,110, 95,109,101,120, -112, 0,118,110, 95,100,105,115,116,109, 0,118,110, 95, 99,111,108,116,121,112,101, 0,110,111,105,115,101,100,101,112,116,104, - 0,110,111,105,115,101,116,121,112,101, 0,110,111,105,115,101, 98, 97,115,105,115, 0,110,111,105,115,101, 98, 97,115,105,115, - 50, 0,105,109, 97,102,108, 97,103, 0, 99,114,111,112,120,109,105,110, 0, 99,114,111,112,121,109,105,110, 0, 99,114,111,112, -120,109, 97,120, 0, 99,114,111,112,121,109, 97,120, 0,116,101,120,102,105,108,116,101,114, 0, 97,102,109, 97,120, 0,120,114, -101,112,101, 97,116, 0,121,114,101,112,101, 97,116, 0, 99,104,101, 99,107,101,114,100,105,115,116, 0,110, 97, 98,108, 97, 0, -105,117,115,101,114, 0, 42,110,111,100,101,116,114,101,101, 0, 42,112,108,117,103,105,110, 0, 42,101,110,118, 0, 42,112,100, - 0, 42,118,100, 0, 42,111,116, 0,117,115,101, 95,110,111,100,101,115, 0,108,111, 99, 91, 51, 93, 0,114,111,116, 91, 51, 93, - 0,109, 97,116, 91, 52, 93, 91, 52, 93, 0,109,105,110, 91, 51, 93, 0,109, 97,120, 91, 51, 93, 0, 99,111, 98, 97, 0, 98,108, -101,110,100, 95, 99,111,108,111,114, 91, 51, 93, 0, 98,108,101,110,100, 95,102, 97, 99,116,111,114, 0, 98,108,101,110,100, 95, -116,121,112,101, 0,112, 97,100, 91, 51, 93, 0,109,111,100,101, 0,116,111,116,101,120, 0,115,104,100,119,114, 0,115,104,100, -119,103, 0,115,104,100,119, 98, 0,115,104,100,119,112, 97,100, 0,101,110,101,114,103,121, 0,100,105,115,116, 0,115,112,111, -116,115,105,122,101, 0,115,112,111,116, 98,108,101,110,100, 0,104, 97,105,110,116, 0, 97,116,116, 49, 0, 97,116,116, 50, 0, - 42, 99,117,114,102, 97,108,108,111,102,102, 0,115,104, 97,100,115,112,111,116,115,105,122,101, 0, 98,105, 97,115, 0,115,111, -102,116, 0, 99,111,109,112,114,101,115,115,116,104,114,101,115,104, 0, 98,108,101,101,100, 98,105, 97,115, 0,112, 97,100, 53, - 91, 50, 93, 0, 98,117,102,115,105,122,101, 0,115, 97,109,112, 0, 98,117,102,102,101,114,115, 0,102,105,108,116,101,114,116, -121,112,101, 0, 98,117,102,102,108, 97,103, 0, 98,117,102,116,121,112,101, 0,114, 97,121, 95,115, 97,109,112, 0,114, 97,121, - 95,115, 97,109,112,121, 0,114, 97,121, 95,115, 97,109,112,122, 0,114, 97,121, 95,115, 97,109,112, 95,116,121,112,101, 0, 97, -114,101, 97, 95,115,104, 97,112,101, 0, 97,114,101, 97, 95,115,105,122,101, 0, 97,114,101, 97, 95,115,105,122,101,121, 0, 97, -114,101, 97, 95,115,105,122,101,122, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0,114, 97,121, 95,115, 97,109,112, 95, -109,101,116,104,111,100, 0,115,104, 97,100,111,119,109, 97,112, 95,116,121,112,101, 0,116,101,120, 97, 99,116, 0,115,104, 97, -100,104, 97,108,111,115,116,101,112, 0,115,117,110, 95,101,102,102,101, 99,116, 95,116,121,112,101, 0,115,107,121, 98,108,101, -110,100,116,121,112,101, 0,104,111,114,105,122,111,110, 95, 98,114,105,103,104,116,110,101,115,115, 0,115,112,114,101, 97,100, - 0,115,117,110, 95, 98,114,105,103,104,116,110,101,115,115, 0,115,117,110, 95,115,105,122,101, 0, 98, 97, 99,107,115, 99, 97, -116,116,101,114,101,100, 95,108,105,103,104,116, 0,115,117,110, 95,105,110,116,101,110,115,105,116,121, 0, 97,116,109, 95,116, -117,114, 98,105,100,105,116,121, 0, 97,116,109, 95,105,110,115, 99, 97,116,116,101,114,105,110,103, 95,102, 97, 99,116,111,114, - 0, 97,116,109, 95,101,120,116,105,110, 99,116,105,111,110, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,100,105,115,116, 97, -110, 99,101, 95,102, 97, 99,116,111,114, 0,115,107,121, 98,108,101,110,100,102, 97, 99, 0,115,107,121, 95,101,120,112,111,115, -117,114,101, 0,115,104, 97,100,111,119, 95,102,114,117,115,116,117,109, 95,115,105,122,101, 0,115,107,121, 95, 99,111,108,111, -114,115,112, 97, 99,101, 0,112, 97,100, 52, 91, 50, 93, 0, 42,109,116,101,120, 91, 49, 56, 93, 0,112,114, 95,116,101,120,116, -117,114,101, 0,112, 97,100, 54, 91, 52, 93, 0,100,101,110,115,105,116,121, 0,101,109,105,115,115,105,111,110, 0,115, 99, 97, -116,116,101,114,105,110,103, 0,114,101,102,108,101, 99,116,105,111,110, 0,101,109,105,115,115,105,111,110, 95, 99,111,108, 91, - 51, 93, 0,116,114, 97,110,115,109,105,115,115,105,111,110, 95, 99,111,108, 91, 51, 93, 0,114,101,102,108,101, 99,116,105,111, -110, 95, 99,111,108, 91, 51, 93, 0,100,101,110,115,105,116,121, 95,115, 99, 97,108,101, 0,100,101,112,116,104, 95, 99,117,116, -111,102,102, 0, 97,115,121,109,109,101,116,114,121, 0,115,116,101,112,115,105,122,101, 95,116,121,112,101, 0,115,104, 97,100, -101,102,108, 97,103, 0,115,104, 97,100,101, 95,116,121,112,101, 0,112,114,101, 99, 97, 99,104,101, 95,114,101,115,111,108,117, -116,105,111,110, 0,115,116,101,112,115,105,122,101, 0,109,115, 95,100,105,102,102, 0,109,115, 95,105,110,116,101,110,115,105, -116,121, 0,109,115, 95,115,112,114,101, 97,100, 0, 97,108,112,104, 97, 95, 98,108,101,110,100, 0,102, 97, 99,101, 95,111,114, -105,101,110,116, 97,116,105,111,110, 0,109, 97,116,101,114,105, 97,108, 95,116,121,112,101, 0,115,112,101, 99,114, 0,115,112, -101, 99,103, 0,115,112,101, 99, 98, 0,109,105,114,114, 0,109,105,114,103, 0,109,105,114, 98, 0, 97,109, 98,114, 0, 97,109, - 98, 98, 0, 97,109, 98,103, 0, 97,109, 98, 0,101,109,105,116, 0, 97,110,103, 0,115,112,101, 99,116,114, 97, 0,114, 97,121, - 95,109,105,114,114,111,114, 0, 97,108,112,104, 97, 0,114,101,102, 0,115,112,101, 99, 0,122,111,102,102,115, 0, 97,100,100, - 0,116,114, 97,110,115,108,117, 99,101,110, 99,121, 0,118,111,108, 0,103, 97,109,101, 0,102,114,101,115,110,101,108, 95,109, -105,114, 0,102,114,101,115,110,101,108, 95,109,105,114, 95,105, 0,102,114,101,115,110,101,108, 95,116,114, 97, 0,102,114,101, -115,110,101,108, 95,116,114, 97, 95,105, 0,102,105,108,116,101,114, 0,116,120, 95,108,105,109,105,116, 0,116,120, 95,102, 97, -108,108,111,102,102, 0,114, 97,121, 95,100,101,112,116,104, 0,114, 97,121, 95,100,101,112,116,104, 95,116,114, 97, 0,104, 97, -114, 0,115,101,101,100, 49, 0,115,101,101,100, 50, 0,103,108,111,115,115, 95,109,105,114, 0,103,108,111,115,115, 95,116,114, - 97, 0,115, 97,109,112, 95,103,108,111,115,115, 95,109,105,114, 0,115, 97,109,112, 95,103,108,111,115,115, 95,116,114, 97, 0, - 97,100, 97,112,116, 95,116,104,114,101,115,104, 95,109,105,114, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 95,116,114, - 97, 0, 97,110,105,115,111, 95,103,108,111,115,115, 95,109,105,114, 0,100,105,115,116, 95,109,105,114, 0,102, 97,100,101,116, -111, 95,109,105,114, 0,115,104, 97,100,101, 95,102,108, 97,103, 0,109,111,100,101, 95,108, 0,102,108, 97,114,101, 99, 0,115, -116, 97,114, 99, 0,108,105,110,101, 99, 0,114,105,110,103, 99, 0,104, 97,115,105,122,101, 0,102,108, 97,114,101,115,105,122, -101, 0,115,117, 98,115,105,122,101, 0,102,108, 97,114,101, 98,111,111,115,116, 0,115,116,114, 97,110,100, 95,115,116, 97, 0, -115,116,114, 97,110,100, 95,101,110,100, 0,115,116,114, 97,110,100, 95,101, 97,115,101, 0,115,116,114, 97,110,100, 95,115,117, -114,102,110,111,114, 0,115,116,114, 97,110,100, 95,109,105,110, 0,115,116,114, 97,110,100, 95,119,105,100,116,104,102, 97,100, -101, 0,115,116,114, 97,110,100, 95,117,118,110, 97,109,101, 91, 54, 52, 93, 0,115, 98,105, 97,115, 0,108, 98,105, 97,115, 0, -115,104, 97,100, 95, 97,108,112,104, 97, 0,115,101,112,116,101,120, 0,114,103, 98,115,101,108, 0,112,114, 95,116,121,112,101, - 0,112,114, 95, 98, 97, 99,107, 0,112,114, 95,108, 97,109,112, 0,109,108, 95,102,108, 97,103, 0,100,105,102,102, 95,115,104, - 97,100,101,114, 0,115,112,101, 99, 95,115,104, 97,100,101,114, 0,114,111,117,103,104,110,101,115,115, 0,114,101,102,114, 97, - 99, 0,112, 97,114, 97,109, 91, 52, 93, 0,114,109,115, 0,100, 97,114,107,110,101,115,115, 0, 42,114, 97,109,112, 95, 99,111, -108, 0, 42,114, 97,109,112, 95,115,112,101, 99, 0,114, 97,109,112,105,110, 95, 99,111,108, 0,114, 97,109,112,105,110, 95,115, -112,101, 99, 0,114, 97,109,112, 98,108,101,110,100, 95, 99,111,108, 0,114, 97,109,112, 98,108,101,110,100, 95,115,112,101, 99, - 0,114, 97,109,112, 95,115,104,111,119, 0,112, 97,100, 51, 0,114, 97,109,112,102, 97, 99, 95, 99,111,108, 0,114, 97,109,112, -102, 97, 99, 95,115,112,101, 99, 0, 42,103,114,111,117,112, 0,102,114,105, 99,116,105,111,110, 0,102,104, 0,114,101,102,108, -101, 99,116, 0,102,104,100,105,115,116, 0,120,121,102,114,105, 99,116, 0,100,121,110, 97,109,111,100,101, 0,115,115,115, 95, -114, 97,100,105,117,115, 91, 51, 93, 0,115,115,115, 95, 99,111,108, 91, 51, 93, 0,115,115,115, 95,101,114,114,111,114, 0,115, -115,115, 95,115, 99, 97,108,101, 0,115,115,115, 95,105,111,114, 0,115,115,115, 95, 99,111,108,102, 97, 99, 0,115,115,115, 95, -116,101,120,102, 97, 99, 0,115,115,115, 95,102,114,111,110,116, 0,115,115,115, 95, 98, 97, 99,107, 0,115,115,115, 95,102,108, - 97,103, 0,115,115,115, 95,112,114,101,115,101,116, 0,109, 97,112,116,111, 95,116,101,120,116,117,114,101,100, 0,115,104, 97, -100,111,119,111,110,108,121, 95,102,108, 97,103, 0,105,110,100,101,120, 0,103,112,117,109, 97,116,101,114,105, 97,108, 0, 42, - 98, 98, 0,115,101,108, 99,111,108, 49, 0,115,101,108, 99,111,108, 50, 0,113,117, 97,116, 91, 52, 93, 0,101,120,112,120, 0, -101,120,112,121, 0,101,120,112,122, 0,114, 97,100, 0,114, 97,100, 50, 0,115, 0, 42,109, 97,116, 0, 42,105,109, 97,116, 0, -101,108,101,109,115, 0,100,105,115,112, 0, 42,101,100,105,116,101,108,101,109,115, 0, 42, 42,109, 97,116, 0,102,108, 97,103, - 50, 0,116,111,116, 99,111,108, 0,119,105,114,101,115,105,122,101, 0,114,101,110,100,101,114,115,105,122,101, 0,116,104,114, -101,115,104, 0, 42,108, 97,115,116,101,108,101,109, 0,118,101, 99, 91, 51, 93, 91, 51, 93, 0, 97,108,102, 97, 0,119,101,105, -103,104,116, 0,104, 49, 0,104, 50, 0,102, 49, 0,102, 50, 0,102, 51, 0,104,105,100,101, 0,118,101, 99, 91, 52, 93, 0,109, - 97,116, 95,110,114, 0,112,110,116,115,117, 0,112,110,116,115,118, 0,114,101,115,111,108,117, 0,114,101,115,111,108,118, 0, -111,114,100,101,114,117, 0,111,114,100,101,114,118, 0,102,108, 97,103,117, 0,102,108, 97,103,118, 0, 42,107,110,111,116,115, -117, 0, 42,107,110,111,116,115,118, 0,116,105,108,116, 95,105,110,116,101,114,112, 0,114, 97,100,105,117,115, 95,105,110,116, -101,114,112, 0, 99,104, 97,114,105,100,120, 0,107,101,114,110, 0,119, 0,104, 0,110,117,114, 98,115, 0, 42,107,101,121,105, -110,100,101,120, 0,115,104, 97,112,101,110,114, 0,110,117,114, 98, 0, 42,101,100,105,116,110,117,114, 98, 0, 42, 98,101,118, -111, 98,106, 0, 42,116, 97,112,101,114,111, 98,106, 0, 42,116,101,120,116,111,110, 99,117,114,118,101, 0, 42,112, 97,116,104, - 0, 42,107,101,121, 0, 98,101,118, 0,100,114, 97,119,102,108, 97,103, 0,116,119,105,115,116, 95,109,111,100,101, 0,116,119, -105,115,116, 95,115,109,111,111,116,104, 0,115,109, 97,108,108, 99, 97,112,115, 95,115, 99, 97,108,101, 0,112, 97,116,104,108, -101,110, 0, 98,101,118,114,101,115,111,108, 0,119,105,100,116,104, 0,101,120,116, 49, 0,101,120,116, 50, 0,114,101,115,111, -108,117, 95,114,101,110, 0,114,101,115,111,108,118, 95,114,101,110, 0, 97, 99,116,110,117, 0, 42,108, 97,115,116,115,101,108, - 0,115,112, 97, 99,101,109,111,100,101, 0,115,112, 97, 99,105,110,103, 0,108,105,110,101,100,105,115,116, 0,115,104,101, 97, -114, 0,102,115,105,122,101, 0,119,111,114,100,115,112, 97, 99,101, 0,117,108,112,111,115, 0,117,108,104,101,105,103,104,116, - 0,120,111,102, 0,121,111,102, 0,108,105,110,101,119,105,100,116,104, 0, 42,115,116,114, 0, 42,115,101,108, 98,111,120,101, -115, 0, 42,101,100,105,116,102,111,110,116, 0,102, 97,109,105,108,121, 91, 50, 52, 93, 0, 42,118,102,111,110,116, 0, 42,118, -102,111,110,116, 98, 0, 42,118,102,111,110,116,105, 0, 42,118,102,111,110,116, 98,105, 0,115,101,112, 99,104, 97,114, 0,116, -111,116, 98,111,120, 0, 97, 99,116, 98,111,120, 0, 42,116, 98, 0,115,101,108,115,116, 97,114,116, 0,115,101,108,101,110,100, - 0, 42,115,116,114,105,110,102,111, 0, 99,117,114,105,110,102,111, 0, 98,101,118,102, 97, 99, 49, 0, 98,101,118,102, 97, 99, - 50, 0, 42,109,115,101,108,101, 99,116, 0, 42,109,112,111,108,121, 0, 42,109,116,112,111,108,121, 0, 42,109,108,111,111,112, - 0, 42,109,108,111,111,112,117,118, 0, 42,109,108,111,111,112, 99,111,108, 0, 42,109,102, 97, 99,101, 0, 42,109,116,102, 97, - 99,101, 0, 42,116,102, 97, 99,101, 0, 42,109,118,101,114,116, 0, 42,109,101,100,103,101, 0, 42,100,118,101,114,116, 0, 42, -109, 99,111,108, 0, 42,109,115,116,105, 99,107,121, 0, 42,116,101,120, 99,111,109,101,115,104, 0, 42,101,100,105,116, 95, 98, -116,109,101,115,104, 0,118,100, 97,116, 97, 0,101,100, 97,116, 97, 0,102,100, 97,116, 97, 0,112,100, 97,116, 97, 0,108,100, - 97,116, 97, 0,116,111,116,101,100,103,101, 0,116,111,116,102, 97, 99,101, 0,116,111,116,115,101,108,101, 99,116, 0,116,111, -116,112,111,108,121, 0,116,111,116,108,111,111,112, 0, 97, 99,116, 95,102, 97, 99,101, 0,115,109,111,111,116,104,114,101,115, -104, 0,115,117, 98,100,105,118, 0,115,117, 98,100,105,118,114, 0,115,117, 98,115,117,114,102,116,121,112,101, 0,101,100,105, -116,102,108, 97,103, 0, 42,109,114, 0, 42,116,112, 97,103,101, 0,117,118, 91, 52, 93, 91, 50, 93, 0, 99,111,108, 91, 52, 93, - 0,116,114, 97,110,115,112, 0,116,105,108,101, 0,117,110,119,114, 97,112, 0,118, 49, 0,118, 50, 0,118, 51, 0,118, 52, 0, -101,100, 99,111,100,101, 0, 99,114,101, 97,115,101, 0, 98,119,101,105,103,104,116, 0,100,101,102, 95,110,114, 0, 42,100,119, - 0,116,111,116,119,101,105,103,104,116, 0, 99,111, 91, 51, 93, 0,110,111, 91, 51, 93, 0,108,111,111,112,115,116, 97,114,116, - 0,118, 0,101, 0,117,118, 91, 50, 93, 0, 99,111, 91, 50, 93, 0,102, 0,105, 0,115, 91, 50, 53, 54, 93, 0,116,111,116,100, -105,115,112, 0,108,101,118,101,108, 0, 40, 42,100,105,115,112,115, 41, 40, 41, 0, 42,104,105,100,100,101,110, 0,118, 91, 52, - 93, 0,109,105,100, 0,112, 97,100, 91, 50, 93, 0,118, 91, 50, 93, 0, 42,102, 97, 99,101,115, 0, 42, 99,111,108,102, 97, 99, -101,115, 0, 42,101,100,103,101,115, 0, 42,118,101,114,116,115, 0,108,101,118,101,108,115, 0,108,101,118,101,108, 95, 99,111, -117,110,116, 0, 99,117,114,114,101,110,116, 0,110,101,119,108,118,108, 0,101,100,103,101,108,118,108, 0,112,105,110,108,118, -108, 0,114,101,110,100,101,114,108,118,108, 0,117,115,101, 95, 99,111,108, 0, 42,101,100,103,101, 95,102,108, 97,103,115, 0, - 42,101,100,103,101, 95, 99,114,101, 97,115,101,115, 0,115,116, 97, 99,107,105,110,100,101,120, 0, 42,101,114,114,111,114, 0, -109,111,100,105,102,105,101,114, 0, 42,116,101,120,116,117,114,101, 0, 42,109, 97,112, 95,111, 98,106,101, 99,116, 0,117,118, -108, 97,121,101,114, 95,110, 97,109,101, 91, 54, 52, 93, 0,117,118,108, 97,121,101,114, 95,116,109,112, 0,116,101,120,109, 97, -112,112,105,110,103, 0,115,117, 98,100,105,118, 84,121,112,101, 0,114,101,110,100,101,114, 76,101,118,101,108,115, 0, 42,101, -109, 67, 97, 99,104,101, 0, 42,109, 67, 97, 99,104,101, 0,115,116,114,101,110,103,116,104, 0,100,101,102, 97,120,105,115, 0, -112, 97,100, 91, 54, 93, 0,108,101,110,103,116,104, 0,114, 97,110,100,111,109,105,122,101, 0,115,101,101,100, 0, 42,111, 98, - 95, 97,114,109, 0, 42,115,116, 97,114,116, 95, 99, 97,112, 0, 42,101,110,100, 95, 99, 97,112, 0, 42, 99,117,114,118,101, 95, -111, 98, 0, 42,111,102,102,115,101,116, 95,111, 98, 0,111,102,102,115,101,116, 91, 51, 93, 0,115, 99, 97,108,101, 91, 51, 93, - 0,109,101,114,103,101, 95,100,105,115,116, 0,102,105,116, 95,116,121,112,101, 0,111,102,102,115,101,116, 95,116,121,112,101, - 0, 99,111,117,110,116, 0, 97,120,105,115, 0,116,111,108,101,114, 97,110, 99,101, 0, 42,109,105,114,114,111,114, 95,111, 98, - 0,115,112,108,105,116, 95, 97,110,103,108,101, 0,118, 97,108,117,101, 0,114,101,115, 0,118, 97,108, 95,102,108, 97,103,115, - 0,108,105,109, 95,102,108, 97,103,115, 0,101, 95,102,108, 97,103,115, 0, 98,101,118,101,108, 95, 97,110,103,108,101, 0,100, -101,102,103,114,112, 95,110, 97,109,101, 91, 54, 52, 93, 0, 42,100,111,109, 97,105,110, 0, 42,102,108,111,119, 0, 42, 99,111, -108,108, 0,116,105,109,101, 0,100,105,114,101, 99,116,105,111,110, 0,109,105,100,108,101,118,101,108, 0, 42,112,114,111,106, -101, 99,116,111,114,115, 91, 49, 48, 93, 0, 42,105,109, 97,103,101, 0,110,117,109, 95,112,114,111,106,101, 99,116,111,114,115, - 0, 97,115,112,101, 99,116,120, 0, 97,115,112,101, 99,116,121, 0,115, 99, 97,108,101,120, 0,115, 99, 97,108,101,121, 0,112, -101,114, 99,101,110,116, 0,102, 97, 99,101, 67,111,117,110,116, 0,102, 97, 99, 0,114,101,112,101, 97,116, 0, 42,111, 98,106, -101, 99,116, 99,101,110,116,101,114, 0,115,116, 97,114,116,120, 0,115,116, 97,114,116,121, 0,104,101,105,103,104,116, 0,110, - 97,114,114,111,119, 0,115,112,101,101,100, 0,100, 97,109,112, 0,102, 97,108,108,111,102,102, 0,116,105,109,101,111,102,102, -115, 0,108,105,102,101,116,105,109,101, 0,100,101,102,111,114,109,102,108, 97,103, 0,109,117,108,116,105, 0, 42,112,114,101, -118, 67,111,115, 0,115,117, 98,116, 97,114,103,101,116, 91, 54, 52, 93, 0,112, 97,114,101,110,116,105,110,118, 91, 52, 93, 91, - 52, 93, 0, 99,101,110,116, 91, 51, 93, 0, 42,105,110,100,101,120, 97,114, 0,116,111,116,105,110,100,101,120, 0,102,111,114, - 99,101, 0, 42, 99,108,111,116,104, 79, 98,106,101, 99,116, 0, 42,115,105,109, 95,112, 97,114,109,115, 0, 42, 99,111,108,108, - 95,112, 97,114,109,115, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101, 0,112,116, 99, 97, 99,104,101,115, 0, 42,120, 0, - 42,120,110,101,119, 0, 42,120,111,108,100, 0, 42, 99,117,114,114,101,110,116, 95,120,110,101,119, 0, 42, 99,117,114,114,101, -110,116, 95,120, 0, 42, 99,117,114,114,101,110,116, 95,118, 0, 42,109,102, 97, 99,101,115, 0,110,117,109,118,101,114,116,115, - 0,110,117,109,102, 97, 99,101,115, 0,116,105,109,101, 95,120, 0,116,105,109,101, 95,120,110,101,119, 0, 42, 98,118,104,116, -114,101,101, 0, 42,118, 0, 42,100,109, 0, 99,102,114, 97, 0,111,112,101,114, 97,116,105,111,110, 0,118,101,114,116,101,120, - 0,116,111,116,105,110,102,108,117,101,110, 99,101, 0,103,114,105,100,115,105,122,101, 0, 42, 98,105,110,100,105,110,102,108, -117,101,110, 99,101,115, 0, 42, 98,105,110,100,111,102,102,115,101,116,115, 0, 42, 98,105,110,100, 99, 97,103,101, 99,111,115, - 0,116,111,116, 99, 97,103,101,118,101,114,116, 0, 42,100,121,110,103,114,105,100, 0, 42,100,121,110,105,110,102,108,117,101, -110, 99,101,115, 0, 42,100,121,110,118,101,114,116,115, 0, 42,112, 97,100, 50, 0,100,121,110,103,114,105,100,115,105,122,101, - 0,100,121,110, 99,101,108,108,109,105,110, 91, 51, 93, 0,100,121,110, 99,101,108,108,119,105,100,116,104, 0, 98,105,110,100, -109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42, 98,105,110,100,119,101,105,103,104,116,115, 0, 42, 98,105,110,100, 99,111,115, 0, - 40, 42, 98,105,110,100,102,117,110, 99, 41, 40, 41, 0, 42,112,115,121,115, 0,116,111,116,100,109,118,101,114,116, 0,116,111, -116,100,109,101,100,103,101, 0,116,111,116,100,109,102, 97, 99,101, 0,112,111,115,105,116,105,111,110, 0,114, 97,110,100,111, -109, 95,112,111,115,105,116,105,111,110, 0, 42,102, 97, 99,101,112, 97, 0,118,103,114,111,117,112, 0,112,114,111,116,101, 99, -116, 0,108,118,108, 0,115, 99,117,108,112,116,108,118,108, 0,116,111,116,108,118,108, 0,115,105,109,112,108,101, 0, 42,102, -115,115, 0, 42,116, 97,114,103,101,116, 0, 42, 97,117,120, 84, 97,114,103,101,116, 0,118,103,114,111,117,112, 95,110, 97,109, -101, 91, 54, 52, 93, 0,107,101,101,112, 68,105,115,116, 0,115,104,114,105,110,107, 84,121,112,101, 0,115,104,114,105,110,107, - 79,112,116,115, 0,112,114,111,106, 65,120,105,115, 0,115,117, 98,115,117,114,102, 76,101,118,101,108,115, 0, 42,111,114,105, -103,105,110, 0,102, 97, 99,116,111,114, 0,108,105,109,105,116, 91, 50, 93, 0,111,114,105,103,105,110, 79,112,116,115, 0,111, -102,102,115,101,116, 95,102, 97, 99, 0,111,102,102,115,101,116, 95,102, 97, 99, 95,118,103, 0, 99,114,101, 97,115,101, 95,105, -110,110,101,114, 0, 99,114,101, 97,115,101, 95,111,117,116,101,114, 0, 99,114,101, 97,115,101, 95,114,105,109, 0,109, 97,116, - 95,111,102,115, 0,109, 97,116, 95,111,102,115, 95,114,105,109, 0, 42,111, 98, 95, 97,120,105,115, 0,115,116,101,112,115, 0, -114,101,110,100,101,114, 95,115,116,101,112,115, 0,105,116,101,114, 0,115, 99,114,101,119, 95,111,102,115, 0, 97,110,103,108, -101, 0, 42,111, 99,101, 97,110, 0, 42,111, 99,101, 97,110, 99, 97, 99,104,101, 0,114,101,115,111,108,117,116,105,111,110, 0, -115,112, 97,116,105, 97,108, 95,115,105,122,101, 0,119,105,110,100, 95,118,101,108,111, 99,105,116,121, 0,115,109, 97,108,108, -101,115,116, 95,119, 97,118,101, 0,119, 97,118,101, 95, 97,108,105,103,110,109,101,110,116, 0,119, 97,118,101, 95,100,105,114, -101, 99,116,105,111,110, 0,119, 97,118,101, 95,115, 99, 97,108,101, 0, 99,104,111,112, 95, 97,109,111,117,110,116, 0,102,111, - 97,109, 95, 99,111,118,101,114, 97,103,101, 0, 98, 97,107,101,115,116, 97,114,116, 0, 98, 97,107,101,101,110,100, 0, 99, 97, - 99,104,101,112, 97,116,104, 91, 49, 48, 50, 52, 93, 0,102,111, 97,109,108, 97,121,101,114,110, 97,109,101, 91, 54, 52, 93, 0, - 99, 97, 99,104,101,100, 0,103,101,111,109,101,116,114,121, 95,109,111,100,101, 0,114,101,102,114,101,115,104, 0,114,101,112, -101, 97,116, 95,120, 0,114,101,112,101, 97,116, 95,121, 0,102,111, 97,109, 95,102, 97,100,101, 0, 42,111, 98,106,101, 99,116, - 95,102,114,111,109, 0, 42,111, 98,106,101, 99,116, 95,116,111, 0,102, 97,108,108,111,102,102, 95,114, 97,100,105,117,115, 0, -101,100,105,116, 95,102,108, 97,103,115, 0,100,101,102, 97,117,108,116, 95,119,101,105,103,104,116, 0, 42, 99,109, 97,112, 95, - 99,117,114,118,101, 0, 97,100,100, 95,116,104,114,101,115,104,111,108,100, 0,114,101,109, 95,116,104,114,101,115,104,111,108, -100, 0,109, 97,115,107, 95, 99,111,110,115,116, 97,110,116, 0,109, 97,115,107, 95,100,101,102,103,114,112, 95,110, 97,109,101, - 91, 54, 52, 93, 0,109, 97,115,107, 95,116,101,120, 95,117,115,101, 95, 99,104, 97,110,110,101,108, 0, 42,109, 97,115,107, 95, -116,101,120,116,117,114,101, 0, 42,109, 97,115,107, 95,116,101,120, 95,109, 97,112, 95,111, 98,106, 0,109, 97,115,107, 95,116, -101,120, 95,109, 97,112,112,105,110,103, 0,109, 97,115,107, 95,116,101,120, 95,117,118,108, 97,121,101,114, 95,110, 97,109,101, - 91, 54, 52, 93, 0,112, 97,100, 95,105, 49, 0,100,101,102,103,114,112, 95,110, 97,109,101, 95, 97, 91, 54, 52, 93, 0,100,101, -102,103,114,112, 95,110, 97,109,101, 95, 98, 91, 54, 52, 93, 0,100,101,102, 97,117,108,116, 95,119,101,105,103,104,116, 95, 97, - 0,100,101,102, 97,117,108,116, 95,119,101,105,103,104,116, 95, 98, 0,109,105,120, 95,109,111,100,101, 0,109,105,120, 95,115, -101,116, 0,112, 97,100, 95, 99, 49, 91, 54, 93, 0,112,114,111,120,105,109,105,116,121, 95,109,111,100,101, 0,112,114,111,120, -105,109,105,116,121, 95,102,108, 97,103,115, 0, 42,112,114,111,120,105,109,105,116,121, 95,111, 98, 95,116, 97,114,103,101,116, - 0,109,105,110, 95,100,105,115,116, 0,109, 97,120, 95,100,105,115,116, 0,112, 97,100, 95,115, 49, 0, 42, 99, 97,110,118, 97, -115, 0, 42, 98,114,117,115,104, 0,116,104,114,101,115,104,111,108,100, 0,115, 99, 97,108,101, 0,104,101,114,109,105,116,101, - 95,110,117,109, 0, 42,108, 97,116,116, 0,112,110,116,115,119, 0,111,112,110,116,115,117, 0,111,112,110,116,115,118, 0,111, -112,110,116,115,119, 0,116,121,112,101,117, 0,116,121,112,101,118, 0,116,121,112,101,119, 0,102,117, 0,102,118, 0,102,119, - 0,100,117, 0,100,118, 0,100,119, 0, 42,100,101,102, 0, 42,108, 97,116,116,105, 99,101,100, 97,116, 97, 0,108, 97,116,109, - 97,116, 91, 52, 93, 91, 52, 93, 0, 42,101,100,105,116,108, 97,116,116, 0,118,101, 99, 91, 56, 93, 91, 51, 93, 0, 42,115, 99, -117,108,112,116, 0,112, 97,114,116,121,112,101, 0,112, 97,114, 49, 0,112, 97,114, 50, 0,112, 97,114, 51, 0,112, 97,114,115, -117, 98,115,116,114, 91, 54, 52, 93, 0, 42,116,114, 97, 99,107, 0, 42,112,114,111,120,121, 0, 42,112,114,111,120,121, 95,103, -114,111,117,112, 0, 42,112,114,111,120,121, 95,102,114,111,109, 0, 42, 97, 99,116,105,111,110, 0, 42,112,111,115,101,108,105, - 98, 0, 42,112,111,115,101, 0, 42,103,112,100, 0, 97,118,115, 0, 42,109,112, 97,116,104, 0, 99,111,110,115,116,114, 97,105, -110,116, 67,104, 97,110,110,101,108,115, 0,101,102,102,101, 99,116, 0,100,101,102, 98, 97,115,101, 0,109,111,100,105,102,105, -101,114,115, 0,114,101,115,116,111,114,101, 95,109,111,100,101, 0, 42,109, 97,116, 98,105,116,115, 0, 97, 99,116, 99,111,108, - 0,100,108,111, 99, 91, 51, 93, 0,111,114,105,103, 91, 51, 93, 0,100,115,105,122,101, 91, 51, 93, 0,100,115, 99, 97,108,101, - 91, 51, 93, 0,100,114,111,116, 91, 51, 93, 0,100,113,117, 97,116, 91, 52, 93, 0,114,111,116, 65,120,105,115, 91, 51, 93, 0, -100,114,111,116, 65,120,105,115, 91, 51, 93, 0,114,111,116, 65,110,103,108,101, 0,100,114,111,116, 65,110,103,108,101, 0,111, - 98,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 99,111,110,115,116,105,110,118, 91, 52, 93, 91, 52, 93, 0,105,109, 97,116, 95,114, -101,110, 91, 52, 93, 91, 52, 93, 0,108, 97,121, 0,112, 97,100, 54, 0, 99,111,108, 98,105,116,115, 0,116,114, 97,110,115,102, -108, 97,103, 0,112,114,111,116,101, 99,116,102,108, 97,103, 0,116,114, 97, 99,107,102,108, 97,103, 0,117,112,102,108, 97,103, - 0,110,108, 97,102,108, 97,103, 0,105,112,111,102,108, 97,103, 0,115, 99, 97,102,108, 97,103, 0,115, 99, 97,118,105,115,102, -108, 97,103, 0,112, 97,100, 53, 0,100,117,112,111,110, 0,100,117,112,111,102,102, 0,100,117,112,115,116, 97, 0,100,117,112, -101,110,100, 0,115,102, 0,109, 97,115,115, 0,100, 97,109,112,105,110,103, 0,105,110,101,114,116,105, 97, 0,102,111,114,109, -102, 97, 99,116,111,114, 0,114,100, 97,109,112,105,110,103, 0,109, 97,114,103,105,110, 0,109, 97,120, 95,118,101,108, 0,109, -105,110, 95,118,101,108, 0,109, 95, 99,111,110,116, 97, 99,116, 80,114,111, 99,101,115,115,105,110,103, 84,104,114,101,115,104, -111,108,100, 0,111, 98,115,116, 97, 99,108,101, 82, 97,100, 0,114,111,116,109,111,100,101, 0, 98,111,117,110,100,116,121,112, -101, 0, 99,111,108,108,105,115,105,111,110, 95, 98,111,117,110,100,116,121,112,101, 0,114,101,115,116,114,105, 99,116,102,108, - 97,103, 0,100,116, 0,101,109,112,116,121, 95,100,114, 97,119,116,121,112,101, 0,101,109,112,116,121, 95,100,114, 97,119,115, -105,122,101, 0,100,117,112,102, 97, 99,101,115, 99, 97, 0,112,114,111,112, 0,115,101,110,115,111,114,115, 0, 99,111,110,116, -114,111,108,108,101,114,115, 0, 97, 99,116,117, 97,116,111,114,115, 0, 98, 98,115,105,122,101, 91, 51, 93, 0, 97, 99,116,100, -101,102, 0,103, 97,109,101,102,108, 97,103, 0,103, 97,109,101,102,108, 97,103, 50, 0, 42, 98,115,111,102,116, 0,115,111,102, -116,102,108, 97,103, 0, 97,110,105,115,111,116,114,111,112,105, 99, 70,114,105, 99,116,105,111,110, 91, 51, 93, 0, 99,111,110, -115,116,114, 97,105,110,116,115, 0,110,108, 97,115,116,114,105,112,115, 0,104,111,111,107,115, 0,112, 97,114,116,105, 99,108, -101,115,121,115,116,101,109, 0, 42,115,111,102,116, 0, 42,100,117,112, 95,103,114,111,117,112, 0, 98,111,100,121, 95,116,121, -112,101, 0,115,104, 97,112,101,102,108, 97,103, 0, 42,102,108,117,105,100,115,105,109, 83,101,116,116,105,110,103,115, 0, 42, -100,101,114,105,118,101,100, 68,101,102,111,114,109, 0, 42,100,101,114,105,118,101,100, 70,105,110, 97,108, 0,108, 97,115,116, - 68, 97,116, 97, 77, 97,115,107, 0, 99,117,115,116,111,109,100, 97,116, 97, 95,109, 97,115,107, 0,115,116, 97,116,101, 0,105, -110,105,116, 95,115,116, 97,116,101, 0,103,112,117,108, 97,109,112, 0,112, 99, 95,105,100,115, 0, 42,100,117,112,108,105,108, -105,115,116, 0,105,109, 97, 95,111,102,115, 91, 50, 93, 0, 99,117,114,105,110,100,101,120, 0, 97, 99,116,105,118,101, 0,111, -114,105,103,108, 97,121, 0,111,109, 97,116, 91, 52, 93, 91, 52, 93, 0,111,114, 99,111, 91, 51, 93, 0,110,111, 95,100,114, 97, -119, 0, 97,110,105,109, 97,116,101,100, 0,100,101,102,108,101, 99,116, 0,102,111,114, 99,101,102,105,101,108,100, 0,115,104, - 97,112,101, 0,116,101,120, 95,109,111,100,101, 0,107,105,110,107, 0,107,105,110,107, 95, 97,120,105,115, 0,122,100,105,114, - 0,102, 95,115,116,114,101,110,103,116,104, 0,102, 95,100, 97,109,112, 0,102, 95,102,108,111,119, 0,102, 95,115,105,122,101, - 0,102, 95,112,111,119,101,114, 0,109, 97,120,100,105,115,116, 0,109,105,110,100,105,115,116, 0,102, 95,112,111,119,101,114, - 95,114, 0,109, 97,120,114, 97,100, 0,109,105,110,114, 97,100, 0,112,100,101,102, 95,100, 97,109,112, 0,112,100,101,102, 95, -114,100, 97,109,112, 0,112,100,101,102, 95,112,101,114,109, 0,112,100,101,102, 95,102,114,105, 99,116, 0,112,100,101,102, 95, -114,102,114,105, 99,116, 0,112,100,101,102, 95,115,116,105, 99,107,110,101,115,115, 0, 97, 98,115,111,114,112,116,105,111,110, - 0,112,100,101,102, 95,115, 98,100, 97,109,112, 0,112,100,101,102, 95,115, 98,105,102,116, 0,112,100,101,102, 95,115, 98,111, -102,116, 0, 99,108,117,109,112, 95,102, 97, 99, 0, 99,108,117,109,112, 95,112,111,119, 0,107,105,110,107, 95,102,114,101,113, - 0,107,105,110,107, 95,115,104, 97,112,101, 0,107,105,110,107, 95, 97,109,112, 0,102,114,101,101, 95,101,110,100, 0,116,101, -120, 95,110, 97, 98,108, 97, 0, 42,114,110,103, 0,102, 95,110,111,105,115,101, 0,119,101,105,103,104,116, 91, 49, 51, 93, 0, -103,108,111, 98, 97,108, 95,103,114, 97,118,105,116,121, 0,114,116, 91, 51, 93, 0,116,111,116,100, 97,116, 97, 0,102,114, 97, -109,101, 0,116,111,116,112,111,105,110,116, 0,100, 97,116, 97, 95,116,121,112,101,115, 0, 42,100, 97,116, 97, 91, 56, 93, 0, - 42, 99,117,114, 91, 56, 93, 0,101,120,116,114, 97,100, 97,116, 97, 0,115,116,101,112, 0,115,105,109,102,114, 97,109,101, 0, -115,116, 97,114,116,102,114, 97,109,101, 0,101,110,100,102,114, 97,109,101, 0,101,100,105,116,102,114, 97,109,101, 0,108, 97, -115,116, 95,101,120, 97, 99,116, 0,108, 97,115,116, 95,118, 97,108,105,100, 0, 99,111,109,112,114,101,115,115,105,111,110, 0, -112,114,101,118, 95,110, 97,109,101, 91, 54, 52, 93, 0,105,110,102,111, 91, 54, 52, 93, 0,112, 97,116,104, 91, 49, 48, 50, 52, - 93, 0, 42, 99, 97, 99,104,101,100, 95,102,114, 97,109,101,115, 0,109,101,109, 95, 99, 97, 99,104,101, 0, 42,101,100,105,116, - 0, 40, 42,102,114,101,101, 95,101,100,105,116, 41, 40, 41, 0,108,105,110, 83,116,105,102,102, 0, 97,110,103, 83,116,105,102, -102, 0,118,111,108,117,109,101, 0,118,105,116,101,114, 97,116,105,111,110,115, 0,112,105,116,101,114, 97,116,105,111,110,115, - 0,100,105,116,101,114, 97,116,105,111,110,115, 0, 99,105,116,101,114, 97,116,105,111,110,115, 0,107, 83, 82, 72, 82, 95, 67, - 76, 0,107, 83, 75, 72, 82, 95, 67, 76, 0,107, 83, 83, 72, 82, 95, 67, 76, 0,107, 83, 82, 95, 83, 80, 76, 84, 95, 67, 76, 0, -107, 83, 75, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 83, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 86, 67, 70, 0,107, 68, 80, - 0,107, 68, 71, 0,107, 76, 70, 0,107, 80, 82, 0,107, 86, 67, 0,107, 68, 70, 0,107, 77, 84, 0,107, 67, 72, 82, 0,107, 75, - 72, 82, 0,107, 83, 72, 82, 0,107, 65, 72, 82, 0, 99,111,108,108,105,115,105,111,110,102,108, 97,103,115, 0,110,117,109, 99, -108,117,115,116,101,114,105,116,101,114, 97,116,105,111,110,115, 0,119,101,108,100,105,110,103, 0,116,111,116,115,112,114,105, -110,103, 0, 42, 98,112,111,105,110,116, 0, 42, 98,115,112,114,105,110,103, 0,109,115,103, 95,108,111, 99,107, 0,109,115,103, - 95,118, 97,108,117,101, 0,110,111,100,101,109, 97,115,115, 0,110, 97,109,101,100, 86, 71, 95, 77, 97,115,115, 91, 54, 52, 93, - 0,103,114, 97,118, 0,109,101,100,105, 97,102,114,105, 99,116, 0,114,107,108,105,109,105,116, 0,112,104,121,115,105, 99,115, - 95,115,112,101,101,100, 0,103,111, 97,108,115,112,114,105,110,103, 0,103,111, 97,108,102,114,105, 99,116, 0,109,105,110,103, -111, 97,108, 0,109, 97,120,103,111, 97,108, 0,100,101,102,103,111, 97,108, 0,118,101,114,116,103,114,111,117,112, 0,110, 97, -109,101,100, 86, 71, 95, 83,111,102,116,103,111, 97,108, 91, 54, 52, 93, 0,102,117,122,122,121,110,101,115,115, 0,105,110,115, -112,114,105,110,103, 0,105,110,102,114,105, 99,116, 0,110, 97,109,101,100, 86, 71, 95, 83,112,114,105,110,103, 95, 75, 91, 54, - 52, 93, 0,101,102,114, 97, 0,105,110,116,101,114,118, 97,108, 0,108,111, 99, 97,108, 0,115,111,108,118,101,114,102,108, 97, -103,115, 0, 42, 42,107,101,121,115, 0,116,111,116,112,111,105,110,116,107,101,121, 0,115,101, 99,111,110,100,115,112,114,105, -110,103, 0, 99,111,108, 98, 97,108,108, 0, 98, 97,108,108,100, 97,109,112, 0, 98, 97,108,108,115,116,105,102,102, 0,115, 98, - 99, 95,109,111,100,101, 0, 97,101,114,111,101,100,103,101, 0,109,105,110,108,111,111,112,115, 0,109, 97,120,108,111,111,112, -115, 0, 99,104,111,107,101, 0,115,111,108,118,101,114, 95, 73, 68, 0,112,108, 97,115,116,105, 99, 0,115,112,114,105,110,103, -112,114,101,108,111, 97,100, 0, 42,115, 99,114, 97,116, 99,104, 0,115,104,101, 97,114,115,116,105,102,102, 0,105,110,112,117, -115,104, 0, 42,112,111,105,110,116, 99, 97, 99,104,101, 0, 42,101,102,102,101, 99,116,111,114, 95,119,101,105,103,104,116,115, - 0,108, 99,111,109, 91, 51, 93, 0,108,114,111,116, 91, 51, 93, 91, 51, 93, 0,108,115, 99, 97,108,101, 91, 51, 93, 91, 51, 93, - 0,108, 97,115,116, 95,102,114, 97,109,101, 0,118,101,108, 91, 51, 93, 0, 42,102,109,100, 0,115,104,111,119, 95, 97,100,118, - 97,110, 99,101,100,111,112,116,105,111,110,115, 0,114,101,115,111,108,117,116,105,111,110,120,121,122, 0,112,114,101,118,105, -101,119,114,101,115,120,121,122, 0,114,101, 97,108,115,105,122,101, 0,103,117,105, 68,105,115,112,108, 97,121, 77,111,100,101, - 0,114,101,110,100,101,114, 68,105,115,112,108, 97,121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,121, 86, 97,108,117, -101, 0,118,105,115, 99,111,115,105,116,121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,121, 69,120,112,111,110,101,110, -116, 0,103,114, 97,118, 91, 51, 93, 0, 97,110,105,109, 83,116, 97,114,116, 0, 97,110,105,109, 69,110,100, 0, 98, 97,107,101, - 83,116, 97,114,116, 0, 98, 97,107,101, 69,110,100, 0,102,114, 97,109,101, 79,102,102,115,101,116, 0,103,115,116, 97,114, 0, -109, 97,120, 82,101,102,105,110,101, 0,105,110,105, 86,101,108,120, 0,105,110,105, 86,101,108,121, 0,105,110,105, 86,101,108, -122, 0, 42,111,114,103, 77,101,115,104, 0, 42,109,101,115,104, 66, 66, 0,115,117,114,102,100, 97,116, 97, 80, 97,116,104, 91, - 49, 48, 50, 52, 93, 0, 98, 98, 83,116, 97,114,116, 91, 51, 93, 0, 98, 98, 83,105,122,101, 91, 51, 93, 0,116,121,112,101, 70, -108, 97,103,115, 0,100,111,109, 97,105,110, 78,111,118,101, 99,103,101,110, 0,118,111,108,117,109,101, 73,110,105,116, 84,121, -112,101, 0,112, 97,114,116, 83,108,105,112, 86, 97,108,117,101, 0,103,101,110,101,114, 97,116,101, 84,114, 97, 99,101,114,115, - 0,103,101,110,101,114, 97,116,101, 80, 97,114,116,105, 99,108,101,115, 0,115,117,114,102, 97, 99,101, 83,109,111,111,116,104, -105,110,103, 0,115,117,114,102, 97, 99,101, 83,117, 98,100,105,118,115, 0,112, 97,114,116,105, 99,108,101, 73,110,102, 83,105, -122,101, 0,112, 97,114,116,105, 99,108,101, 73,110,102, 65,108,112,104, 97, 0,102, 97,114, 70,105,101,108,100, 83,105,122,101, - 0, 42,109,101,115,104, 86,101,108,111, 99,105,116,105,101,115, 0, 99,112,115, 84,105,109,101, 83,116, 97,114,116, 0, 99,112, -115, 84,105,109,101, 69,110,100, 0, 99,112,115, 81,117, 97,108,105,116,121, 0, 97,116,116,114, 97, 99,116,102,111,114, 99,101, - 83,116,114,101,110,103,116,104, 0, 97,116,116,114, 97, 99,116,102,111,114, 99,101, 82, 97,100,105,117,115, 0,118,101,108,111, - 99,105,116,121,102,111,114, 99,101, 83,116,114,101,110,103,116,104, 0,118,101,108,111, 99,105,116,121,102,111,114, 99,101, 82, - 97,100,105,117,115, 0,108, 97,115,116,103,111,111,100,102,114, 97,109,101, 0, 97,110,105,109, 82, 97,116,101, 0,109,105,115, -116,121,112,101, 0,104,111,114,114, 0,104,111,114,103, 0,104,111,114, 98, 0,122,101,110,114, 0,122,101,110,103, 0,122,101, -110, 98, 0,102, 97,115,116, 99,111,108, 0,101,120,112,111,115,117,114,101, 0,101,120,112, 0,114, 97,110,103,101, 0,108,105, -110,102, 97, 99, 0,108,111,103,102, 97, 99, 0,103,114, 97,118,105,116,121, 0, 97, 99,116,105,118,105,116,121, 66,111,120, 82, - 97,100,105,117,115, 0,115,107,121,116,121,112,101, 0,111, 99, 99,108,117,115,105,111,110, 82,101,115, 0,112,104,121,115,105, - 99,115, 69,110,103,105,110,101, 0,116,105, 99,114, 97,116,101, 0,109, 97,120,108,111,103,105, 99,115,116,101,112, 0,112,104, -121,115,117, 98,115,116,101,112, 0,109, 97,120,112,104,121,115,116,101,112, 0,109,105,115,105, 0,109,105,115,116,115,116, 97, - 0,109,105,115,116,100,105,115,116, 0,109,105,115,116,104,105, 0,115,116, 97,114,114, 0,115,116, 97,114,103, 0,115,116, 97, -114, 98, 0,115,116, 97,114,107, 0,115,116, 97,114,115,105,122,101, 0,115,116, 97,114,109,105,110,100,105,115,116, 0,115,116, - 97,114,100,105,115,116, 0,115,116, 97,114, 99,111,108,110,111,105,115,101, 0,100,111,102,115,116, 97, 0,100,111,102,101,110, -100, 0,100,111,102,109,105,110, 0,100,111,102,109, 97,120, 0, 97,111,100,105,115,116, 0, 97,111,100,105,115,116,102, 97, 99, - 0, 97,111,101,110,101,114,103,121, 0, 97,111, 98,105, 97,115, 0, 97,111,109,111,100,101, 0, 97,111,115, 97,109,112, 0, 97, -111,109,105,120, 0, 97,111, 99,111,108,111,114, 0, 97,111, 95, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0, 97,111, 95, - 97,100, 97,112,116, 95,115,112,101,101,100, 95,102, 97, 99, 0, 97,111, 95, 97,112,112,114,111,120, 95,101,114,114,111,114, 0, - 97,111, 95, 97,112,112,114,111,120, 95, 99,111,114,114,101, 99,116,105,111,110, 0, 97,111, 95,105,110,100,105,114,101, 99,116, - 95,101,110,101,114,103,121, 0, 97,111, 95,101,110,118, 95,101,110,101,114,103,121, 0, 97,111, 95,112, 97,100, 50, 0, 97,111, - 95,105,110,100,105,114,101, 99,116, 95, 98,111,117,110, 99,101,115, 0, 97,111, 95,112, 97,100, 0, 97,111, 95,115, 97,109,112, - 95,109,101,116,104,111,100, 0, 97,111, 95,103, 97,116,104,101,114, 95,109,101,116,104,111,100, 0, 97,111, 95, 97,112,112,114, -111,120, 95,112, 97,115,115,101,115, 0, 42, 97,111,115,112,104,101,114,101, 0, 42, 97,111,116, 97, 98,108,101,115, 0,115,101, -108, 99,111,108, 0,115,120, 0,115,121, 0, 42,108,112, 70,111,114,109, 97,116, 0, 42,108,112, 80, 97,114,109,115, 0, 99, 98, - 70,111,114,109, 97,116, 0, 99, 98, 80, 97,114,109,115, 0,102, 99, 99, 84,121,112,101, 0,102, 99, 99, 72, 97,110,100,108,101, -114, 0,100,119, 75,101,121, 70,114, 97,109,101, 69,118,101,114,121, 0,100,119, 81,117, 97,108,105,116,121, 0,100,119, 66,121, -116,101,115, 80,101,114, 83,101, 99,111,110,100, 0,100,119, 70,108, 97,103,115, 0,100,119, 73,110,116,101,114,108,101, 97,118, -101, 69,118,101,114,121, 0, 97,118,105, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42, 99,100, 80, 97,114,109, -115, 0, 42,112, 97,100, 0, 99,100, 83,105,122,101, 0,113,116, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 99, -111,100,101, 99, 84,121,112,101, 0, 99,111,100,101, 99, 83,112, 97,116,105, 97,108, 81,117, 97,108,105,116,121, 0, 99,111,100, -101, 99, 0, 99,111,100,101, 99, 70,108, 97,103,115, 0, 99,111,108,111,114, 68,101,112,116,104, 0, 99,111,100,101, 99, 84,101, -109,112,111,114, 97,108, 81,117, 97,108,105,116,121, 0,109,105,110, 83,112, 97,116,105, 97,108, 81,117, 97,108,105,116,121, 0, -109,105,110, 84,101,109,112,111,114, 97,108, 81,117, 97,108,105,116,121, 0,107,101,121, 70,114, 97,109,101, 82, 97,116,101, 0, - 98,105,116, 82, 97,116,101, 0, 97,117,100,105,111, 99,111,100,101, 99, 84,121,112,101, 0, 97,117,100,105,111, 83, 97,109,112, -108,101, 82, 97,116,101, 0, 97,117,100,105,111, 66,105,116, 68,101,112,116,104, 0, 97,117,100,105,111, 67,104, 97,110,110,101, -108,115, 0, 97,117,100,105,111, 67,111,100,101, 99, 70,108, 97,103,115, 0, 97,117,100,105,111, 66,105,116, 82, 97,116,101, 0, - 97,117,100,105,111, 95, 99,111,100,101, 99, 0,118,105,100,101,111, 95, 98,105,116,114, 97,116,101, 0, 97,117,100,105,111, 95, - 98,105,116,114, 97,116,101, 0, 97,117,100,105,111, 95,109,105,120,114, 97,116,101, 0, 97,117,100,105,111, 95, 99,104, 97,110, -110,101,108,115, 0, 97,117,100,105,111, 95,112, 97,100, 0, 97,117,100,105,111, 95,118,111,108,117,109,101, 0,103,111,112, 95, -115,105,122,101, 0,114, 99, 95,109,105,110, 95,114, 97,116,101, 0,114, 99, 95,109, 97,120, 95,114, 97,116,101, 0,114, 99, 95, - 98,117,102,102,101,114, 95,115,105,122,101, 0,109,117,120, 95,112, 97, 99,107,101,116, 95,115,105,122,101, 0,109,117,120, 95, -114, 97,116,101, 0,109,105,120,114, 97,116,101, 0,109, 97,105,110, 0,115,112,101,101,100, 95,111,102, 95,115,111,117,110,100, - 0,100,111,112,112,108,101,114, 95,102, 97, 99,116,111,114, 0,100,105,115,116, 97,110, 99,101, 95,109,111,100,101,108, 0, 42, -109, 97,116, 95,111,118,101,114,114,105,100,101, 0, 42,108,105,103,104,116, 95,111,118,101,114,114,105,100,101, 0,108, 97,121, - 95,122,109, 97,115,107, 0,108, 97,121, 95,101,120, 99,108,117,100,101, 0,108, 97,121,102,108, 97,103, 0,112, 97,115,115,102, -108, 97,103, 0,112, 97,115,115, 95,120,111,114, 0,115, 97,109,112,108,101,115, 0,105,109,116,121,112,101, 0,112,108, 97,110, -101,115, 0,113,117, 97,108,105,116,121, 0, 99,111,109,112,114,101,115,115, 0,101,120,114, 95, 99,111,100,101, 99, 0, 99,105, -110,101,111,110, 95,102,108, 97,103, 0, 99,105,110,101,111,110, 95,119,104,105,116,101, 0, 99,105,110,101,111,110, 95, 98,108, - 97, 99,107, 0, 99,105,110,101,111,110, 95,103, 97,109,109, 97, 0,106,112, 50, 95,102,108, 97,103, 0,105,109, 95,102,111,114, -109, 97,116, 0, 42, 97,118,105, 99,111,100,101, 99,100, 97,116, 97, 0, 42,113,116, 99,111,100,101, 99,100, 97,116, 97, 0,113, -116, 99,111,100,101, 99,115,101,116,116,105,110,103,115, 0,102,102, 99,111,100,101, 99,100, 97,116, 97, 0,115,117, 98,102,114, - 97,109,101, 0,112,115,102,114, 97, 0,112,101,102,114, 97, 0,105,109, 97,103,101,115, 0,102,114, 97,109, 97,112,116,111, 0, -116,104,114,101, 97,100,115, 0,102,114, 97,109,101,108,101,110, 0, 98,108,117,114,102, 97, 99, 0,101,100,103,101, 82, 0,101, -100,103,101, 71, 0,101,100,103,101, 66, 0,102,117,108,108,115, 99,114,101,101,110, 0,120,112,108, 97,121, 0,121,112,108, 97, -121, 0,102,114,101,113,112,108, 97,121, 0, 97,116,116,114,105, 98, 0,102,114, 97,109,101, 95,115,116,101,112, 0,115,116,101, -114,101,111,109,111,100,101, 0,100,105,109,101,110,115,105,111,110,115,112,114,101,115,101,116, 0,109, 97,120,105,109,115,105, -122,101, 0,120,115, 99,104, 0,121,115, 99,104, 0,120,112, 97,114,116,115, 0,121,112, 97,114,116,115, 0,115,117, 98,105,109, -116,121,112,101, 0,100,105,115,112,108, 97,121,109,111,100,101, 0,115, 99,101,109,111,100,101, 0,114, 97,121,116,114, 97, 99, -101, 95,111,112,116,105,111,110,115, 0,114, 97,121,116,114, 97, 99,101, 95,115,116,114,117, 99,116,117,114,101, 0,111, 99,114, -101,115, 0,112, 97,100, 52, 0, 97,108,112,104, 97,109,111,100,101, 0,111,115, 97, 0,102,114,115, 95,115,101, 99, 0,101,100, -103,101,105,110,116, 0,115, 97,102,101,116,121, 0, 98,111,114,100,101,114, 0,100,105,115,112,114,101, 99,116, 0,108, 97,121, -101,114,115, 0, 97, 99,116,108, 97,121, 0,109, 98,108,117,114, 95,115, 97,109,112,108,101,115, 0,120, 97,115,112, 0,121, 97, -115,112, 0,102,114,115, 95,115,101, 99, 95, 98, 97,115,101, 0,103, 97,117,115,115, 0, 99,111,108,111,114, 95,109,103,116, 95, -102,108, 97,103, 0,112,111,115,116,103, 97,109,109, 97, 0,112,111,115,116,104,117,101, 0,112,111,115,116,115, 97,116, 0,100, -105,116,104,101,114, 95,105,110,116,101,110,115,105,116,121, 0, 98, 97,107,101, 95,111,115, 97, 0, 98, 97,107,101, 95,102,105, -108,116,101,114, 0, 98, 97,107,101, 95,109,111,100,101, 0, 98, 97,107,101, 95,102,108, 97,103, 0, 98, 97,107,101, 95,110,111, -114,109, 97,108, 95,115,112, 97, 99,101, 0, 98, 97,107,101, 95,113,117, 97,100, 95,115,112,108,105,116, 0, 98, 97,107,101, 95, -109, 97,120,100,105,115,116, 0, 98, 97,107,101, 95, 98,105, 97,115,100,105,115,116, 0, 98, 97,107,101, 95,112, 97,100, 0,112, -105, 99, 91, 49, 48, 50, 52, 93, 0,115,116, 97,109,112, 0,115,116, 97,109,112, 95,102,111,110,116, 95,105,100, 0,115,116, 97, -109,112, 95,117,100, 97,116, 97, 91, 55, 54, 56, 93, 0,102,103, 95,115,116, 97,109,112, 91, 52, 93, 0, 98,103, 95,115,116, 97, -109,112, 91, 52, 93, 0,115,101,113, 95,112,114,101,118, 95,116,121,112,101, 0,115,101,113, 95,114,101,110,100, 95,116,121,112, -101, 0,115,101,113, 95,102,108, 97,103, 0,112, 97,100, 53, 91, 53, 93, 0,115,105,109,112,108,105,102,121, 95,102,108, 97,103, - 0,115,105,109,112,108,105,102,121, 95,115,117, 98,115,117,114,102, 0,115,105,109,112,108,105,102,121, 95,115,104, 97,100,111, -119,115, 97,109,112,108,101,115, 0,115,105,109,112,108,105,102,121, 95,112, 97,114,116,105, 99,108,101,115, 0,115,105,109,112, -108,105,102,121, 95, 97,111,115,115,115, 0, 99,105,110,101,111,110,119,104,105,116,101, 0, 99,105,110,101,111,110, 98,108, 97, - 99,107, 0, 99,105,110,101,111,110,103, 97,109,109, 97, 0,106,112, 50, 95,112,114,101,115,101,116, 0,106,112, 50, 95,100,101, -112,116,104, 0,114,112, 97,100, 51, 0,100,111,109,101,114,101,115, 0,100,111,109,101,109,111,100,101, 0,100,111,109,101, 97, -110,103,108,101, 0,100,111,109,101,116,105,108,116, 0,100,111,109,101,114,101,115, 98,117,102, 0, 42,100,111,109,101,116,101, -120,116, 0,101,110,103,105,110,101, 91, 51, 50, 93, 0,110, 97,109,101, 91, 51, 50, 93, 0,112, 97,114,116,105, 99,108,101, 95, -112,101,114, 99, 0,115,117, 98,115,117,114,102, 95,109, 97,120, 0,115,104, 97,100, 98,117,102,115, 97,109,112,108,101, 95,109, - 97,120, 0, 97,111, 95,101,114,114,111,114, 0,116,105,108,116, 0,114,101,115, 98,117,102, 0, 42,119, 97,114,112,116,101,120, -116, 0, 99,111,108, 91, 51, 93, 0, 99,101,108,108,115,105,122,101, 0, 99,101,108,108,104,101,105,103,104,116, 0, 97,103,101, -110,116,109, 97,120,115,108,111,112,101, 0, 97,103,101,110,116,109, 97,120, 99,108,105,109, 98, 0, 97,103,101,110,116,104,101, -105,103,104,116, 0, 97,103,101,110,116,114, 97,100,105,117,115, 0,101,100,103,101,109, 97,120,108,101,110, 0,101,100,103,101, -109, 97,120,101,114,114,111,114, 0,114,101,103,105,111,110,109,105,110,115,105,122,101, 0,114,101,103,105,111,110,109,101,114, -103,101,115,105,122,101, 0,118,101,114,116,115,112,101,114,112,111,108,121, 0,100,101,116, 97,105,108,115, 97,109,112,108,101, -100,105,115,116, 0,100,101,116, 97,105,108,115, 97,109,112,108,101,109, 97,120,101,114,114,111,114, 0,102,114, 97,109,105,110, -103, 0,112,108, 97,121,101,114,102,108, 97,103, 0,114,116, 49, 0,114,116, 50, 0, 97, 97,115, 97,109,112,108,101,115, 0,112, - 97,100, 52, 91, 51, 93, 0,100,111,109,101, 0,115,116,101,114,101,111,102,108, 97,103, 0,101,121,101,115,101,112, 97,114, 97, -116,105,111,110, 0,114,101, 99, 97,115,116, 68, 97,116, 97, 0,109, 97,116,109,111,100,101, 0,101,120,105,116,107,101,121, 0, -111, 98,115,116, 97, 99,108,101, 83,105,109,117,108, 97,116,105,111,110, 0,108,101,118,101,108, 72,101,105,103,104,116, 0, 42, - 99, 97,109,101,114, 97, 0, 42,112, 97,105,110,116, 95, 99,117,114,115,111,114, 0,112, 97,105,110,116, 95, 99,117,114,115,111, -114, 95, 99,111,108, 91, 52, 93, 0,112, 97,105,110,116, 0,115,101, 97,109, 95, 98,108,101,101,100, 0,110,111,114,109, 97,108, - 95, 97,110,103,108,101, 0,115, 99,114,101,101,110, 95,103,114, 97, 98, 95,115,105,122,101, 91, 50, 93, 0, 42,112, 97,105,110, -116, 99,117,114,115,111,114, 0,105,110,118,101,114,116, 0,116,111,116,114,101,107,101,121, 0,116,111,116, 97,100,100,107,101, -121, 0, 98,114,117,115,104,116,121,112,101, 0, 98,114,117,115,104, 91, 55, 93, 0,101,109,105,116,116,101,114,100,105,115,116, - 0,115,101,108,101, 99,116,109,111,100,101, 0,101,100,105,116,116,121,112,101, 0,100,114, 97,119, 95,115,116,101,112, 0,102, - 97,100,101, 95,102,114, 97,109,101,115, 0,114, 97,100,105, 97,108, 95,115,121,109,109, 91, 51, 93, 0,108, 97,115,116, 95,120, - 0,108, 97,115,116, 95,121, 0,108, 97,115,116, 95, 97,110,103,108,101, 0,100,114, 97,119, 95, 97,110, 99,104,111,114,101,100, - 0, 97,110, 99,104,111,114,101,100, 95,115,105,122,101, 0, 97,110, 99,104,111,114,101,100, 95,108,111, 99, 97,116,105,111,110, - 91, 51, 93, 0, 97,110, 99,104,111,114,101,100, 95,105,110,105,116,105, 97,108, 95,109,111,117,115,101, 91, 50, 93, 0,100,114, - 97,119, 95,112,114,101,115,115,117,114,101, 0,112,114,101,115,115,117,114,101, 95,118, 97,108,117,101, 0,115,112,101, 99,105, - 97,108, 95,114,111,116, 97,116,105,111,110, 0, 42,118,112, 97,105,110,116, 95,112,114,101,118, 0, 42,119,112, 97,105,110,116, - 95,112,114,101,118, 0,109, 97,116, 91, 51, 93, 91, 51, 93, 0,117,110,112,114,111,106,101, 99,116,101,100, 95,114, 97,100,105, -117,115, 0, 42,118,112, 97,105,110,116, 0, 42,119,112, 97,105,110,116, 0, 42,117,118,115, 99,117,108,112,116, 0,118,103,114, -111,117,112, 95,119,101,105,103,104,116, 0, 99,111,114,110,101,114,116,121,112,101, 0,106,111,105,110,116,114,105,108,105,109, -105,116, 0,100,101,103,114, 0,116,117,114,110, 0,101,120,116,114, 95,111,102,102,115, 0,100,111,117, 98,108,105,109,105,116, - 0,110,111,114,109, 97,108,115,105,122,101, 0, 97,117,116,111,109,101,114,103,101, 0,115,101,103,109,101,110,116,115, 0,114, -105,110,103,115, 0,118,101,114,116,105, 99,101,115, 0,117,110,119,114, 97,112,112,101,114, 0,117,118, 99, 97,108, 99, 95,114, - 97,100,105,117,115, 0,117,118, 99, 97,108, 99, 95, 99,117, 98,101,115,105,122,101, 0,117,118, 99, 97,108, 99, 95,109, 97,114, -103,105,110, 0,117,118, 99, 97,108, 99, 95,109, 97,112,100,105,114, 0,117,118, 99, 97,108, 99, 95,109, 97,112, 97,108,105,103, -110, 0,117,118, 99, 97,108, 99, 95,102,108, 97,103, 0,117,118, 95,102,108, 97,103, 0,117,118, 95,115,101,108,101, 99,116,109, -111,100,101, 0,117,118, 95,115,117, 98,115,117,114,102, 95,108,101,118,101,108, 0,103,112,101,110, 99,105,108, 95,102,108, 97, -103,115, 0, 97,117,116,111,105,107, 95, 99,104, 97,105,110,108,101,110, 0,105,109, 97,112, 97,105,110,116, 0,112, 97,114,116, -105, 99,108,101, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 95,115,105,122,101, 0,115,101,108,101, 99,116, 95,116,104, -114,101,115,104, 0, 99,108,101, 97,110, 95,116,104,114,101,115,104, 0, 97,117,116,111,107,101,121, 95,109,111,100,101, 0, 97, -117,116,111,107,101,121, 95,102,108, 97,103, 0,109,117,108,116,105,114,101,115, 95,115,117, 98,100,105,118, 95,116,121,112,101, - 0,112, 97,100, 50, 91, 53, 93, 0,115,107,103,101,110, 95,114,101,115,111,108,117,116,105,111,110, 0,115,107,103,101,110, 95, -116,104,114,101,115,104,111,108,100, 95,105,110,116,101,114,110, 97,108, 0,115,107,103,101,110, 95,116,104,114,101,115,104,111, -108,100, 95,101,120,116,101,114,110, 97,108, 0,115,107,103,101,110, 95,108,101,110,103,116,104, 95,114, 97,116,105,111, 0,115, -107,103,101,110, 95,108,101,110,103,116,104, 95,108,105,109,105,116, 0,115,107,103,101,110, 95, 97,110,103,108,101, 95,108,105, -109,105,116, 0,115,107,103,101,110, 95, 99,111,114,114,101,108, 97,116,105,111,110, 95,108,105,109,105,116, 0,115,107,103,101, -110, 95,115,121,109,109,101,116,114,121, 95,108,105,109,105,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95, - 97,110,103,108,101, 95,119,101,105,103,104,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,108,101,110,103, -116,104, 95,119,101,105,103,104,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,100,105,115,116, 97,110, 99, -101, 95,119,101,105,103,104,116, 0,115,107,103,101,110, 95,111,112,116,105,111,110,115, 0,115,107,103,101,110, 95,112,111,115, -116,112,114,111, 0,115,107,103,101,110, 95,112,111,115,116,112,114,111, 95,112, 97,115,115,101,115, 0,115,107,103,101,110, 95, -115,117, 98,100,105,118,105,115,105,111,110,115, 91, 51, 93, 0,115,107,103,101,110, 95,109,117,108,116,105, 95,108,101,118,101, -108, 0, 42,115,107,103,101,110, 95,116,101,109,112,108, 97,116,101, 0, 98,111,110,101, 95,115,107,101,116, 99,104,105,110,103, - 0, 98,111,110,101, 95,115,107,101,116, 99,104,105,110,103, 95, 99,111,110,118,101,114,116, 0,115,107,103,101,110, 95,115,117, - 98,100,105,118,105,115,105,111,110, 95,110,117,109, 98,101,114, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95, -111,112,116,105,111,110,115, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,114,111,108,108, 0,115,107,103,101, -110, 95,115,105,100,101, 95,115,116,114,105,110,103, 91, 56, 93, 0,115,107,103,101,110, 95,110,117,109, 95,115,116,114,105,110, -103, 91, 56, 93, 0,101,100,103,101, 95,109,111,100,101, 0,101,100,103,101, 95,109,111,100,101, 95,108,105,118,101, 95,117,110, -119,114, 97,112, 0,115,110, 97,112, 95,109,111,100,101, 0,115,110, 97,112, 95,102,108, 97,103, 0,115,110, 97,112, 95,116, 97, -114,103,101,116, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 0,112,114,111,112, 95,109,111,100,101, 0,112,114,111,112, -111,114,116,105,111,110, 97,108, 95,111, 98,106,101, 99,116,115, 0,112, 97,100, 91, 53, 93, 0, 97,117,116,111, 95,110,111,114, -109, 97,108,105,122,101, 0,109,117,108,116,105,112, 97,105,110,116, 0,117,115,101, 95,117,118, 95,115, 99,117,108,112,116, 0, -117,118, 95,115, 99,117,108,112,116, 95,115,101,116,116,105,110,103,115, 0,117,118, 95,115, 99,117,108,112,116, 95,116,111,111, -108, 0,117,118, 95,114,101,108, 97,120, 95,109,101,116,104,111,100, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,115, -101,116,116,105,110,103,115, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95,115,105,122, -101, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95,117,110,112,114,111,106,101, 99,116, -101,100, 95,114, 97,100,105,117,115, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95, 97, -108,112,104, 97, 0,117,110,105,102,105,101,100, 95,112, 97,105,110,116, 95,115,101,116,116,105,110,103,115, 0,116,111,116,111, - 98,106, 0,116,111,116,108, 97,109,112, 0,116,111,116,111, 98,106,115,101,108, 0,116,111,116, 99,117,114,118,101, 0,116,111, -116,109,101,115,104, 0,116,111,116, 97,114,109, 97,116,117,114,101, 0,115, 99, 97,108,101, 95,108,101,110,103,116,104, 0,115, -121,115,116,101,109, 0,115,121,115,116,101,109, 95,114,111,116, 97,116,105,111,110, 0,103,114, 97,118,105,116,121, 91, 51, 93, - 0,113,117,105, 99,107, 95, 99, 97, 99,104,101, 95,115,116,101,112, 0, 42,119,111,114,108,100, 0, 42,115,101,116, 0, 98, 97, -115,101, 0, 42, 98, 97,115, 97, 99,116, 0, 42,111, 98,101,100,105,116, 0, 99,117,114,115,111,114, 91, 51, 93, 0,116,119, 99, -101,110,116, 91, 51, 93, 0,116,119,109,105,110, 91, 51, 93, 0,116,119,109, 97,120, 91, 51, 93, 0,108, 97,121, 97, 99,116, 0, -108, 97,121, 95,117,112,100, 97,116,101,100, 0, 42,101,100, 0, 42,116,111,111,108,115,101,116,116,105,110,103,115, 0, 42,115, -116, 97,116,115, 0, 97,117,100,105,111, 0,116,114, 97,110,115,102,111,114,109, 95,115,112, 97, 99,101,115, 0, 42,115,111,117, -110,100, 95,115, 99,101,110,101, 0, 42,115,111,117,110,100, 95,115, 99,101,110,101, 95,104, 97,110,100,108,101, 0, 42,115,111, -117,110,100, 95,115, 99,114,117, 98, 95,104, 97,110,100,108,101, 0, 42,115,112,101, 97,107,101,114, 95,104, 97,110,100,108,101, -115, 0, 42,102,112,115, 95,105,110,102,111, 0, 42,116,104,101, 68, 97,103, 0,100, 97,103,105,115,118, 97,108,105,100, 0,100, - 97,103,102,108, 97,103,115, 0, 97, 99,116,105,118,101, 95,107,101,121,105,110,103,115,101,116, 0,107,101,121,105,110,103,115, -101,116,115, 0,103,109, 0,117,110,105,116, 0,112,104,121,115,105, 99,115, 95,115,101,116,116,105,110,103,115, 0, 42, 99,108, -105,112, 0, 99,117,115,116,111,109,100, 97,116, 97, 95,109, 97,115,107, 95,109,111,100, 97,108, 0, 99,117,115,101,114, 0, 98, -108,101,110,100, 0,118,105,101,119, 0,119,105,110,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,109, 97,116, 91, 52, - 93, 91, 52, 93, 0,118,105,101,119,105,110,118, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109, 97,116, 91, 52, 93, 91, 52, 93, - 0,112,101,114,115,105,110,118, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,109, 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0,112, -101,114,115,109, 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0, 99,108,105,112, 91, 54, 93, 91, 52, 93, 0, 99,108,105,112, 95,108, -111, 99, 97,108, 91, 54, 93, 91, 52, 93, 0, 42, 99,108,105,112, 98, 98, 0, 42,108,111, 99, 97,108,118,100, 0, 42,114,105, 0, - 42,114,101,110,100,101,114, 95,101,110,103,105,110,101, 0, 42,100,101,112,116,104,115, 0, 42,115,109,115, 0, 42,115,109,111, -111,116,104, 95,116,105,109,101,114, 0,116,119,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,113,117, 97,116, 91, 52, - 93, 0,122,102, 97, 99, 0, 99, 97,109,100,120, 0, 99, 97,109,100,121, 0,112,105,120,115,105,122,101, 0, 99, 97,109,122,111, -111,109, 0,105,115, 95,112,101,114,115,112, 0,112,101,114,115,112, 0,118,105,101,119,108,111, 99,107, 0,116,119,100,114, 97, -119,102,108, 97,103, 0,114,102,108, 97,103, 0,108,118,105,101,119,113,117, 97,116, 91, 52, 93, 0,108,112,101,114,115,112, 0, -108,118,105,101,119, 0,103,114,105,100,118,105,101,119, 0,116,119, 97,110,103,108,101, 91, 51, 93, 0,114,111,116, 95, 97,110, -103,108,101, 0,114,111,116, 95, 97,120,105,115, 91, 51, 93, 0,114,101,103,105,111,110, 98, 97,115,101, 0,115,112, 97, 99,101, -116,121,112,101, 0, 98,108,111, 99,107,115, 99, 97,108,101, 0, 98,108,111, 99,107,104, 97,110,100,108,101,114, 91, 56, 93, 0, - 98,117,110,100,108,101, 95,115,105,122,101, 0, 98,117,110,100,108,101, 95,100,114, 97,119,116,121,112,101, 0,108, 97,121, 95, -117,115,101,100, 0, 42,111, 98, 95, 99,101,110,116,114,101, 0, 98,103,112,105, 99, 98, 97,115,101, 0, 42, 98,103,112,105, 99, - 0,111, 98, 95, 99,101,110,116,114,101, 95, 98,111,110,101, 91, 54, 52, 93, 0,100,114, 97,119,116,121,112,101, 0,111, 98, 95, - 99,101,110,116,114,101, 95, 99,117,114,115,111,114, 0,115, 99,101,110,101,108,111, 99,107, 0, 97,114,111,117,110,100, 0,103, -114,105,100, 0,110,101, 97,114, 0,102, 97,114, 0,109,111,100,101,115,101,108,101, 99,116, 0,103,114,105,100,108,105,110,101, -115, 0,103,114,105,100,115,117, 98,100,105,118, 0,103,114,105,100,102,108, 97,103, 0,116,119,116,121,112,101, 0,116,119,109, -111,100,101, 0,116,119,102,108, 97,103, 0,112, 97,100, 50, 91, 50, 93, 0, 97,102,116,101,114,100,114, 97,119, 95,116,114, 97, -110,115,112, 0, 97,102,116,101,114,100,114, 97,119, 95,120,114, 97,121, 0, 97,102,116,101,114,100,114, 97,119, 95,120,114, 97, -121,116,114, 97,110,115,112, 0,122, 98,117,102, 0,120,114, 97,121, 0,112, 97,100, 51, 91, 50, 93, 0, 42,112,114,111,112,101, -114,116,105,101,115, 95,115,116,111,114, 97,103,101, 0,118,101,114,116, 0,104,111,114, 0,109, 97,115,107, 0,109,105,110, 91, - 50, 93, 0,109, 97,120, 91, 50, 93, 0,109,105,110,122,111,111,109, 0,109, 97,120,122,111,111,109, 0,115, 99,114,111,108,108, - 0,115, 99,114,111,108,108, 95,117,105, 0,107,101,101,112,116,111,116, 0,107,101,101,112,122,111,111,109, 0,107,101,101,112, -111,102,115, 0, 97,108,105,103,110, 0,119,105,110,120, 0,119,105,110,121, 0,111,108,100,119,105,110,120, 0,111,108,100,119, -105,110,121, 0, 42,116, 97, 98, 95,111,102,102,115,101,116, 0,116, 97, 98, 95,110,117,109, 0,116, 97, 98, 95, 99,117,114, 0, -114,112,116, 95,109, 97,115,107, 0,118, 50,100, 0, 42, 97,100,115, 0,103,104,111,115,116, 67,117,114,118,101,115, 0, 97,117, -116,111,115,110, 97,112, 0, 99,117,114,115,111,114, 86, 97,108, 0,109, 97,105,110, 98, 0,109, 97,105,110, 98,111, 0,109, 97, -105,110, 98,117,115,101,114, 0,114,101, 95, 97,108,105,103,110, 0,112,114,101,118,105,101,119, 0,116,101,120,116,117,114,101, - 95, 99,111,110,116,101,120,116, 0,112, 97,116,104,102,108, 97,103, 0,100, 97,116, 97,105, 99,111,110, 0, 42,112,105,110,105, -100, 0, 42,116,101,120,117,115,101,114, 0,114,101,110,100,101,114, 95,115,105,122,101, 0, 99,104, 97,110,115,104,111,119,110, - 0,122,101, 98,114, 97, 0,122,111,111,109, 0,116,105,116,108,101, 91, 51, 50, 93, 0,100,105,114, 91, 49, 48, 53, 54, 93, 0, -102,105,108,101, 91, 50, 53, 54, 93, 0,114,101,110, 97,109,101,102,105,108,101, 91, 50, 53, 54, 93, 0,114,101,110, 97,109,101, -101,100,105,116, 91, 50, 53, 54, 93, 0,102,105,108,116,101,114, 95,103,108,111, 98, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, - 95,102,105,108,101, 0,115,101,108, 95,102,105,114,115,116, 0,115,101,108, 95,108, 97,115,116, 0,115,111,114,116, 0,100,105, -115,112,108, 97,121, 0,102, 95,102,112, 0,102,112, 95,115,116,114, 91, 56, 93, 0,115, 99,114,111,108,108, 95,111,102,102,115, -101,116, 0, 42,112, 97,114, 97,109,115, 0, 42,102,105,108,101,115, 0, 42,102,111,108,100,101,114,115, 95,112,114,101,118, 0, - 42,102,111,108,100,101,114,115, 95,110,101,120,116, 0, 42,111,112, 0, 42,115,109,111,111,116,104,115, 99,114,111,108,108, 95, -116,105,109,101,114, 0, 42,108, 97,121,111,117,116, 0,114,101, 99,101,110,116,110,114, 0, 98,111,111,107,109, 97,114,107,110, -114, 0,115,121,115,116,101,109,110,114, 0,116,114,101,101, 0, 42,116,114,101,101,115,116,111,114,101, 0,115,101, 97,114, 99, -104, 95,115,116,114,105,110,103, 91, 51, 50, 93, 0,115,101, 97,114, 99,104, 95,116,115,101, 0,111,117,116,108,105,110,101,118, -105,115, 0,115,116,111,114,101,102,108, 97,103, 0,115,101, 97,114, 99,104, 95,102,108, 97,103,115, 0, 42, 99,117,109, 97,112, - 0,115, 99,111,112,101,115, 0,115, 97,109,112,108,101, 95,108,105,110,101, 95,104,105,115,116, 0, 99,117,114,115,111,114, 91, - 50, 93, 0, 99,101,110,116,120, 0, 99,101,110,116,121, 0, 99,117,114,116,105,108,101, 0,108,111, 99,107, 0,112,105,110, 0, -100,116, 95,117,118, 0,115,116,105, 99,107,121, 0,100,116, 95,117,118,115,116,114,101,116, 99,104, 0, 42,116,101,120,116, 0, -116,111,112, 0,118,105,101,119,108,105,110,101,115, 0,109,101,110,117,110,114, 0,108,104,101,105,103,104,116, 0, 99,119,105, -100,116,104, 0,108,105,110,101,110,114,115, 95,116,111,116, 0,108,101,102,116, 0,115,104,111,119,108,105,110,101,110,114,115, - 0,116, 97, 98,110,117,109, 98,101,114, 0,115,104,111,119,115,121,110,116, 97,120, 0,108,105,110,101, 95,104,108,105,103,104, -116, 0,111,118,101,114,119,114,105,116,101, 0,108,105,118,101, 95,101,100,105,116, 0,112,105,120, 95,112,101,114, 95,108,105, -110,101, 0,116,120,116,115, 99,114,111,108,108, 0,116,120,116, 98, 97,114, 0,119,111,114,100,119,114, 97,112, 0,100,111,112, -108,117,103,105,110,115, 0,102,105,110,100,115,116,114, 91, 50, 53, 54, 93, 0,114,101,112,108, 97, 99,101,115,116,114, 91, 50, - 53, 54, 93, 0,109, 97,114,103,105,110, 95, 99,111,108,117,109,110, 0, 42,100,114, 97,119, 99, 97, 99,104,101, 0, 42,112,121, - 95,100,114, 97,119, 0, 42,112,121, 95,101,118,101,110,116, 0, 42,112,121, 95, 98,117,116,116,111,110, 0, 42,112,121, 95, 98, -114,111,119,115,101,114, 99, 97,108,108, 98, 97, 99,107, 0, 42,112,121, 95,103,108,111, 98, 97,108,100,105, 99,116, 0,108, 97, -115,116,115,112, 97, 99,101, 0,115, 99,114,105,112,116,110, 97,109,101, 91, 49, 48, 50, 52, 93, 0,115, 99,114,105,112,116, 97, -114,103, 91, 50, 53, 54, 93, 0, 42,115, 99,114,105,112,116, 0, 42, 98,117,116, 95,114,101,102,115, 0, 42, 97,114,114, 97,121, - 0, 99, 97, 99,104,101,115, 0, 99, 97, 99,104,101, 95,100,105,115,112,108, 97,121, 0, 42,105,100, 0, 97,115,112,101, 99,116, - 0,112, 97,100,102, 0,109,120, 0,109,121, 0, 42,101,100,105,116,116,114,101,101, 0,116,114,101,101,116,121,112,101, 0,116, -101,120,102,114,111,109, 0,115,104, 97,100,101,114,102,114,111,109, 0,108,105,110,107,100,114, 97,103, 0,108,101,110, 95, 97, -108,108,111, 99, 0, 99,117,114,115,111,114, 0,115, 99,114,111,108,108, 98, 97, 99,107, 0,104,105,115,116,111,114,121, 0,112, -114,111,109,112,116, 91, 50, 53, 54, 93, 0,108, 97,110,103,117, 97,103,101, 91, 51, 50, 93, 0,115,101,108, 95,115,116, 97,114, -116, 0,115,101,108, 95,101,110,100, 0,102,105,108,116,101,114, 91, 54, 52, 93, 0,120,108,111, 99,107,111,102, 0,121,108,111, - 99,107,111,102, 0,117,115,101,114, 0,112, 97,116,104, 95,108,101,110,103,116,104, 0,108,111, 99, 91, 50, 93, 0,115,116, 97, - 98,109, 97,116, 91, 52, 93, 91, 52, 93, 0,117,110,105,115,116, 97, 98,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,116, -112,114,111, 99, 95,102,108, 97,103, 0, 42,100,114, 97,119, 95, 99,111,110,116,101,120,116, 0,100,111,112,101, 95,115,111,114, -116, 0,100,111,112,101, 95,102,108, 97,103, 0,102,105,108,101,110, 97,109,101, 91, 49, 48, 50, 52, 93, 0, 98,108,102, 95,105, -100, 0,117,105,102,111,110,116, 95,105,100, 0,114, 95,116,111, 95,108, 0,112,111,105,110,116,115, 0,107,101,114,110,105,110, -103, 0,105,116, 97,108,105, 99, 0, 98,111,108,100, 0,115,104, 97,100,111,119, 0,115,104, 97,100,120, 0,115,104, 97,100,121, - 0,115,104, 97,100,111,119, 97,108,112,104, 97, 0,115,104, 97,100,111,119, 99,111,108,111,114, 0,112, 97,110,101,108,116,105, -116,108,101, 0,103,114,111,117,112,108, 97, 98,101,108, 0,119,105,100,103,101,116,108, 97, 98,101,108, 0,119,105,100,103,101, -116, 0,112, 97,110,101,108,122,111,111,109, 0,109,105,110,108, 97, 98,101,108, 99,104, 97,114,115, 0,109,105,110,119,105,100, -103,101,116, 99,104, 97,114,115, 0, 99,111,108,117,109,110,115,112, 97, 99,101, 0,116,101,109,112,108, 97,116,101,115,112, 97, - 99,101, 0, 98,111,120,115,112, 97, 99,101, 0, 98,117,116,116,111,110,115,112, 97, 99,101,120, 0, 98,117,116,116,111,110,115, -112, 97, 99,101,121, 0,112, 97,110,101,108,115,112, 97, 99,101, 0,112, 97,110,101,108,111,117,116,101,114, 0,111,117,116,108, -105,110,101, 91, 52, 93, 0,105,110,110,101,114, 91, 52, 93, 0,105,110,110,101,114, 95,115,101,108, 91, 52, 93, 0,105,116,101, -109, 91, 52, 93, 0,116,101,120,116, 91, 52, 93, 0,116,101,120,116, 95,115,101,108, 91, 52, 93, 0,115,104, 97,100,101,100, 0, -115,104, 97,100,101,116,111,112, 0,115,104, 97,100,101,100,111,119,110, 0, 97,108,112,104, 97, 95, 99,104,101, 99,107, 0,105, -110,110,101,114, 95, 97,110,105,109, 91, 52, 93, 0,105,110,110,101,114, 95, 97,110,105,109, 95,115,101,108, 91, 52, 93, 0,105, -110,110,101,114, 95,107,101,121, 91, 52, 93, 0,105,110,110,101,114, 95,107,101,121, 95,115,101,108, 91, 52, 93, 0,105,110,110, -101,114, 95,100,114,105,118,101,110, 91, 52, 93, 0,105,110,110,101,114, 95,100,114,105,118,101,110, 95,115,101,108, 91, 52, 93, - 0,104,101, 97,100,101,114, 91, 52, 93, 0,115,104,111,119, 95,104,101, 97,100,101,114, 0,119, 99,111,108, 95,114,101,103,117, -108, 97,114, 0,119, 99,111,108, 95,116,111,111,108, 0,119, 99,111,108, 95,116,101,120,116, 0,119, 99,111,108, 95,114, 97,100, -105,111, 0,119, 99,111,108, 95,111,112,116,105,111,110, 0,119, 99,111,108, 95,116,111,103,103,108,101, 0,119, 99,111,108, 95, -110,117,109, 0,119, 99,111,108, 95,110,117,109,115,108,105,100,101,114, 0,119, 99,111,108, 95,109,101,110,117, 0,119, 99,111, -108, 95,112,117,108,108,100,111,119,110, 0,119, 99,111,108, 95,109,101,110,117, 95, 98, 97, 99,107, 0,119, 99,111,108, 95,109, -101,110,117, 95,105,116,101,109, 0,119, 99,111,108, 95,116,111,111,108,116,105,112, 0,119, 99,111,108, 95, 98,111,120, 0,119, - 99,111,108, 95,115, 99,114,111,108,108, 0,119, 99,111,108, 95,112,114,111,103,114,101,115,115, 0,119, 99,111,108, 95,108,105, -115,116, 95,105,116,101,109, 0,119, 99,111,108, 95,115,116, 97,116,101, 0,112, 97,110,101,108, 0,105, 99,111,110,102,105,108, -101, 91, 50, 53, 54, 93, 0,105, 99,111,110, 95, 97,108,112,104, 97, 0, 98, 97, 99,107, 91, 52, 93, 0,116,105,116,108,101, 91, - 52, 93, 0,116,101,120,116, 95,104,105, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,105,116,108,101, 91, 52, 93, 0,104,101, - 97,100,101,114, 95,116,101,120,116, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0, 98, -117,116,116,111,110, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,105,116,108,101, 91, 52, 93, 0, 98,117,116,116,111,110, 95, -116,101,120,116, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,108,105,115,116, 91, 52, - 93, 0,108,105,115,116, 95,116,105,116,108,101, 91, 52, 93, 0,108,105,115,116, 95,116,101,120,116, 91, 52, 93, 0,108,105,115, -116, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,112, 97,110,101,108, 91, 52, 93, 0,112, 97,110,101,108, 95,116,105,116,108, -101, 91, 52, 93, 0,112, 97,110,101,108, 95,116,101,120,116, 91, 52, 93, 0,112, 97,110,101,108, 95,116,101,120,116, 95,104,105, - 91, 52, 93, 0,115,104, 97,100,101, 49, 91, 52, 93, 0,115,104, 97,100,101, 50, 91, 52, 93, 0,104,105,108,105,116,101, 91, 52, - 93, 0,103,114,105,100, 91, 52, 93, 0,119,105,114,101, 91, 52, 93, 0,115,101,108,101, 99,116, 91, 52, 93, 0,108, 97,109,112, - 91, 52, 93, 0,115,112,101, 97,107,101,114, 91, 52, 93, 0,101,109,112,116,121, 91, 52, 93, 0, 99, 97,109,101,114, 97, 91, 52, - 93, 0,112, 97,100, 91, 56, 93, 0, 97, 99,116,105,118,101, 91, 52, 93, 0,103,114,111,117,112, 91, 52, 93, 0,103,114,111,117, -112, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,116,114, 97,110,115,102,111,114,109, 91, 52, 93, 0,118,101,114,116,101,120, 91, - 52, 93, 0,118,101,114,116,101,120, 95,115,101,108,101, 99,116, 91, 52, 93, 0,101,100,103,101, 91, 52, 93, 0,101,100,103,101, - 95,115,101,108,101, 99,116, 91, 52, 93, 0,101,100,103,101, 95,115,101, 97,109, 91, 52, 93, 0,101,100,103,101, 95,115,104, 97, -114,112, 91, 52, 93, 0,101,100,103,101, 95,102, 97, 99,101,115,101,108, 91, 52, 93, 0,101,100,103,101, 95, 99,114,101, 97,115, -101, 91, 52, 93, 0,102, 97, 99,101, 91, 52, 93, 0,102, 97, 99,101, 95,115,101,108,101, 99,116, 91, 52, 93, 0,102, 97, 99,101, - 95,100,111,116, 91, 52, 93, 0,101,120,116,114, 97, 95,101,100,103,101, 95,108,101,110, 91, 52, 93, 0,101,120,116,114, 97, 95, -102, 97, 99,101, 95, 97,110,103,108,101, 91, 52, 93, 0,101,120,116,114, 97, 95,102, 97, 99,101, 95, 97,114,101, 97, 91, 52, 93, - 0,112, 97,100, 51, 91, 52, 93, 0,110,111,114,109, 97,108, 91, 52, 93, 0,118,101,114,116,101,120, 95,110,111,114,109, 97,108, - 91, 52, 93, 0, 98,111,110,101, 95,115,111,108,105,100, 91, 52, 93, 0, 98,111,110,101, 95,112,111,115,101, 91, 52, 93, 0,115, -116,114,105,112, 91, 52, 93, 0,115,116,114,105,112, 95,115,101,108,101, 99,116, 91, 52, 93, 0, 99,102,114, 97,109,101, 91, 52, - 93, 0,110,117,114, 98, 95,117,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,118,108,105,110,101, 91, 52, 93, 0, 97, 99, -116, 95,115,112,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,115,101,108, 95,117,108,105,110,101, 91, 52, 93, 0,110,117, -114, 98, 95,115,101,108, 95,118,108,105,110,101, 91, 52, 93, 0,108, 97,115,116,115,101,108, 95,112,111,105,110,116, 91, 52, 93, - 0,104, 97,110,100,108,101, 95,102,114,101,101, 91, 52, 93, 0,104, 97,110,100,108,101, 95, 97,117,116,111, 91, 52, 93, 0,104, - 97,110,100,108,101, 95,118,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95, 97,108,105,103,110, 91, 52, 93, 0,104, 97, -110,100,108,101, 95, 97,117,116,111, 95, 99,108, 97,109,112,101,100, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, -102,114,101,101, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,108, -101, 95,115,101,108, 95,118,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, 97,108,105,103,110, 91, 52, - 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, 97,117,116,111, 95, 99,108, 97,109,112,101,100, 91, 52, 93, 0,100,115, 95, - 99,104, 97,110,110,101,108, 91, 52, 93, 0,100,115, 95,115,117, 98, 99,104, 97,110,110,101,108, 91, 52, 93, 0, 99,111,110,115, -111,108,101, 95,111,117,116,112,117,116, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,105,110,112,117,116, 91, 52, 93, 0, 99, -111,110,115,111,108,101, 95,105,110,102,111, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,101,114,114,111,114, 91, 52, 93, 0, - 99,111,110,115,111,108,101, 95, 99,117,114,115,111,114, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,105,122,101, 0,111,117, -116,108,105,110,101, 95,119,105,100,116,104, 0,102, 97, 99,101,100,111,116, 95,115,105,122,101, 0,110,111,111,100,108,101, 95, - 99,117,114,118,105,110,103, 0,115,121,110,116, 97,120,108, 91, 52, 93, 0,115,121,110,116, 97,120,110, 91, 52, 93, 0,115,121, -110,116, 97,120, 98, 91, 52, 93, 0,115,121,110,116, 97,120,118, 91, 52, 93, 0,115,121,110,116, 97,120, 99, 91, 52, 93, 0,109, -111,118,105,101, 91, 52, 93, 0,109,111,118,105,101, 99,108,105,112, 91, 52, 93, 0,105,109, 97,103,101, 91, 52, 93, 0,115, 99, -101,110,101, 91, 52, 93, 0, 97,117,100,105,111, 91, 52, 93, 0,101,102,102,101, 99,116, 91, 52, 93, 0,112,108,117,103,105,110, - 91, 52, 93, 0,116,114, 97,110,115,105,116,105,111,110, 91, 52, 93, 0,109,101,116, 97, 91, 52, 93, 0,101,100,105,116,109,101, -115,104, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 91, 52, 93, 0,104, 97, -110,100,108,101, 95,118,101,114,116,101,120, 95,115,101,108,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114, -116,101,120, 95,115,105,122,101, 0,109, 97,114,107,101,114, 95,111,117,116,108,105,110,101, 91, 52, 93, 0,109, 97,114,107,101, -114, 91, 52, 93, 0, 97, 99,116, 95,109, 97,114,107,101,114, 91, 52, 93, 0,115,101,108, 95,109, 97,114,107,101,114, 91, 52, 93, - 0,100,105,115, 95,109, 97,114,107,101,114, 91, 52, 93, 0,108,111, 99,107, 95,109, 97,114,107,101,114, 91, 52, 93, 0, 98,117, -110,100,108,101, 95,115,111,108,105,100, 91, 52, 93, 0,112, 97,116,104, 95, 98,101,102,111,114,101, 91, 52, 93, 0,112, 97,116, -104, 95, 97,102,116,101,114, 91, 52, 93, 0, 99, 97,109,101,114, 97, 95,112, 97,116,104, 91, 52, 93, 0,104,112, 97,100, 91, 55, - 93, 0,112,114,101,118,105,101,119, 95, 98, 97, 99,107, 91, 52, 93, 0,112,114,101,118,105,101,119, 95,115,116,105,116, 99,104, - 95,102, 97, 99,101, 91, 52, 93, 0,112,114,101,118,105,101,119, 95,115,116,105,116, 99,104, 95,101,100,103,101, 91, 52, 93, 0, -112,114,101,118,105,101,119, 95,115,116,105,116, 99,104, 95,118,101,114,116, 91, 52, 93, 0,112,114,101,118,105,101,119, 95,115, -116,105,116, 99,104, 95,115,116,105,116, 99,104, 97, 98,108,101, 91, 52, 93, 0,112,114,101,118,105,101,119, 95,115,116,105,116, - 99,104, 95,117,110,115,116,105,116, 99,104, 97, 98,108,101, 91, 52, 93, 0,112,114,101,118,105,101,119, 95,115,116,105,116, 99, -104, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,109, 97,116, 99,104, 91, 52, 93, 0,115,101,108,101, 99,116,101,100, 95,104,105, -103,104,108,105,103,104,116, 91, 52, 93, 0,115,111,108,105,100, 91, 52, 93, 0,116,117,105, 0,116, 98,117,116,115, 0,116,118, - 51,100, 0,116,102,105,108,101, 0,116,105,112,111, 0,116,105,110,102,111, 0,116, 97, 99,116, 0,116,110,108, 97, 0,116,115, -101,113, 0,116,105,109, 97, 0,116,101,120,116, 0,116,111,111,112,115, 0,116,116,105,109,101, 0,116,110,111,100,101, 0,116, -108,111,103,105, 99, 0,116,117,115,101,114,112,114,101,102, 0,116, 99,111,110,115,111,108,101, 0,116, 99,108,105,112, 0,116, - 97,114,109, 91, 50, 48, 93, 0, 97, 99,116,105,118,101, 95,116,104,101,109,101, 95, 97,114,101, 97, 0,109,111,100,117,108,101, - 91, 54, 52, 93, 0,115,112,101, 99, 91, 52, 93, 0,100,117,112,102,108, 97,103, 0,115, 97,118,101,116,105,109,101, 0,116,101, -109,112,100,105,114, 91, 55, 54, 56, 93, 0,102,111,110,116,100,105,114, 91, 55, 54, 56, 93, 0,114,101,110,100,101,114,100,105, -114, 91, 49, 48, 50, 52, 93, 0,116,101,120,116,117,100,105,114, 91, 55, 54, 56, 93, 0,112,108,117,103,116,101,120,100,105,114, - 91, 55, 54, 56, 93, 0,112,108,117,103,115,101,113,100,105,114, 91, 55, 54, 56, 93, 0,112,121,116,104,111,110,100,105,114, 91, - 55, 54, 56, 93, 0,115,111,117,110,100,100,105,114, 91, 55, 54, 56, 93, 0,105,109, 97,103,101, 95,101,100,105,116,111,114, 91, - 49, 48, 50, 52, 93, 0, 97,110,105,109, 95,112,108, 97,121,101,114, 91, 49, 48, 50, 52, 93, 0, 97,110,105,109, 95,112,108, 97, -121,101,114, 95,112,114,101,115,101,116, 0,118, 50,100, 95,109,105,110, 95,103,114,105,100,115,105,122,101, 0,116,105,109,101, - 99,111,100,101, 95,115,116,121,108,101, 0,118,101,114,115,105,111,110,115, 0,100, 98,108, 95, 99,108,105, 99,107, 95,116,105, -109,101, 0,103, 97,109,101,102,108, 97,103,115, 0,119,104,101,101,108,108,105,110,101,115, 99,114,111,108,108, 0,117,105,102, -108, 97,103, 0,108, 97,110,103,117, 97,103,101, 0,117,115,101,114,112,114,101,102, 0,118,105,101,119,122,111,111,109, 0,109, -105,120, 98,117,102,115,105,122,101, 0, 97,117,100,105,111,100,101,118,105, 99,101, 0, 97,117,100,105,111,114, 97,116,101, 0, - 97,117,100,105,111,102,111,114,109, 97,116, 0, 97,117,100,105,111, 99,104, 97,110,110,101,108,115, 0,100,112,105, 0,101,110, - 99,111,100,105,110,103, 0,116,114, 97,110,115,111,112,116,115, 0,109,101,110,117,116,104,114,101,115,104,111,108,100, 49, 0, -109,101,110,117,116,104,114,101,115,104,111,108,100, 50, 0,116,104,101,109,101,115, 0,117,105,102,111,110,116,115, 0,117,105, -115,116,121,108,101,115, 0,107,101,121,109, 97,112,115, 0,117,115,101,114, 95,107,101,121,109, 97,112,115, 0, 97,100,100,111, -110,115, 0,107,101,121, 99,111,110,102,105,103,115,116,114, 91, 54, 52, 93, 0,117,110,100,111,115,116,101,112,115, 0,117,110, -100,111,109,101,109,111,114,121, 0,103,112, 95,109, 97,110,104, 97,116,116,101,110,100,105,115,116, 0,103,112, 95,101,117, 99, -108,105,100,101, 97,110,100,105,115,116, 0,103,112, 95,101,114, 97,115,101,114, 0,103,112, 95,115,101,116,116,105,110,103,115, - 0,116, 98, 95,108,101,102,116,109,111,117,115,101, 0,116, 98, 95,114,105,103,104,116,109,111,117,115,101, 0,108,105,103,104, -116, 91, 51, 93, 0,116,119, 95,104,111,116,115,112,111,116, 0,116,119, 95,102,108, 97,103, 0,116,119, 95,104, 97,110,100,108, -101,115,105,122,101, 0,116,119, 95,115,105,122,101, 0,116,101,120,116,105,109,101,111,117,116, 0,116,101,120, 99,111,108,108, -101, 99,116,114, 97,116,101, 0,119,109,100,114, 97,119,109,101,116,104,111,100, 0,100,114, 97,103,116,104,114,101,115,104,111, -108,100, 0,109,101,109, 99, 97, 99,104,101,108,105,109,105,116, 0,112,114,101,102,101,116, 99,104,102,114, 97,109,101,115, 0, -102,114, 97,109,101,115,101,114,118,101,114,112,111,114,116, 0,112, 97,100, 95,114,111,116, 95, 97,110,103,108,101, 0,111, 98, - 99,101,110,116,101,114, 95,100,105, 97, 0,114,118,105,115,105,122,101, 0,114,118,105, 98,114,105,103,104,116, 0,114,101, 99, -101,110,116, 95,102,105,108,101,115, 0,115,109,111,111,116,104, 95,118,105,101,119,116,120, 0,103,108,114,101,115,108,105,109, -105,116, 0, 99,117,114,115,115,105,122,101, 0, 99,111,108,111,114, 95,112,105, 99,107,101,114, 95,116,121,112,101, 0,105,112, -111, 95,110,101,119, 0,107,101,121,104, 97,110,100,108,101,115, 95,110,101,119, 0,115, 99,114, 99, 97,115,116,102,112,115, 0, -115, 99,114, 99, 97,115,116,119, 97,105,116, 0,119,105,100,103,101,116, 95,117,110,105,116, 0, 97,110,105,115,111,116,114,111, -112,105, 99, 95,102,105,108,116,101,114, 0,117,115,101, 95, 49, 54, 98,105,116, 95,116,101,120,116,117,114,101,115, 0,112, 97, -100, 56, 0,110,100,111,102, 95,115,101,110,115,105,116,105,118,105,116,121, 0,110,100,111,102, 95,102,108, 97,103, 0,103,108, - 97,108,112,104, 97, 99,108,105,112, 0,116,101,120,116, 95,114,101,110,100,101,114, 0,112, 97,100, 57, 0, 99,111, 98, 97, 95, -119,101,105,103,104,116, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,111,118,101,114,108, 97,121, 95, 99,111,108, 91, - 51, 93, 0,116,119,101, 97,107, 95,116,104,114,101,115,104,111,108,100, 0, 97,117,116,104,111,114, 91, 56, 48, 93, 0, 99,111, -109,112,117,116,101, 95,100,101,118,105, 99,101, 95,116,121,112,101, 0, 99,111,109,112,117,116,101, 95,100,101,118,105, 99,101, - 95,105,100, 0,102, 99,117, 95,105,110, 97, 99,116,105,118,101, 95, 97,108,112,104, 97, 0,118,101,114,116, 98, 97,115,101, 0, -101,100,103,101, 98, 97,115,101, 0, 97,114,101, 97, 98, 97,115,101, 0, 42,110,101,119,115, 99,101,110,101, 0,114,101,100,114, - 97,119,115, 95,102,108, 97,103, 0,102,117,108,108, 0,116,101,109,112, 0,119,105,110,105,100, 0,100,111, 95,100,114, 97,119, - 0,100,111, 95,114,101,102,114,101,115,104, 0,100,111, 95,100,114, 97,119, 95,103,101,115,116,117,114,101, 0,100,111, 95,100, -114, 97,119, 95,112, 97,105,110,116, 99,117,114,115,111,114, 0,100,111, 95,100,114, 97,119, 95,100,114, 97,103, 0,115,119, 97, -112, 0,109, 97,105,110,119,105,110, 0,115,117, 98,119,105,110, 97, 99,116,105,118,101, 0, 42, 97,110,105,109,116,105,109,101, -114, 0, 42, 99,111,110,116,101,120,116, 0,104, 97,110,100,108,101,114, 91, 56, 93, 0, 42,110,101,119,118, 0,118,101, 99, 0, - 42,118, 49, 0, 42,118, 50, 0, 42,116,121,112,101, 0,112, 97,110,101,108,110, 97,109,101, 91, 54, 52, 93, 0,116, 97, 98,110, - 97,109,101, 91, 54, 52, 93, 0,100,114, 97,119,110, 97,109,101, 91, 54, 52, 93, 0,111,102,115,120, 0,111,102,115,121, 0,115, -105,122,101,120, 0,115,105,122,101,121, 0,108, 97, 98,101,108,111,102,115, 0,114,117,110,116,105,109,101, 95,102,108, 97,103, - 0, 99,111,110,116,114,111,108, 0,115,110, 97,112, 0,115,111,114,116,111,114,100,101,114, 0, 42,112, 97,110,101,108,116, 97, - 98, 0, 42, 97, 99,116,105,118,101,100, 97,116, 97, 0,108,105,115,116, 95,115, 99,114,111,108,108, 0,108,105,115,116, 95,115, -105,122,101, 0,108,105,115,116, 95,108, 97,115,116, 95,108,101,110, 0,108,105,115,116, 95,103,114,105,112, 95,115,105,122,101, - 0,108,105,115,116, 95,115,101, 97,114, 99,104, 91, 54, 52, 93, 0, 42,118, 51, 0, 42,118, 52, 0, 42,102,117,108,108, 0, 98, -117,116,115,112, 97, 99,101,116,121,112,101, 0,104,101, 97,100,101,114,116,121,112,101, 0,115,112, 97, 99,101,100, 97,116, 97, - 0,104, 97,110,100,108,101,114,115, 0, 97, 99,116,105,111,110,122,111,110,101,115, 0,119,105,110,114, 99,116, 0,100,114, 97, -119,114, 99,116, 0,115,119,105,110,105,100, 0,114,101,103,105,111,110,116,121,112,101, 0, 97,108,105,103,110,109,101,110,116, - 0,100,111, 95,100,114, 97,119, 95,111,118,101,114,108, 97,121, 0,117,105, 98,108,111, 99,107,115, 0,112, 97,110,101,108,115, - 0, 42,104,101, 97,100,101,114,115,116,114, 0, 42,114,101,103,105,111,110,100, 97,116, 97, 0,115,117, 98,118,115,116,114, 91, - 52, 93, 0,115,117, 98,118,101,114,115,105,111,110, 0,112, 97,100,115, 0,109,105,110,118,101,114,115,105,111,110, 0,109,105, -110,115,117, 98,118,101,114,115,105,111,110, 0,119,105,110,112,111,115, 0, 42, 99,117,114,115, 99,114,101,101,110, 0, 42, 99, -117,114,115, 99,101,110,101, 0,102,105,108,101,102,108, 97,103,115, 0,103,108,111, 98, 97,108,102, 0,114,101,118,105,115,105, -111,110, 0,110, 97,109,101, 91, 50, 53, 54, 93, 0,111,114,105,103, 95,119,105,100,116,104, 0,111,114,105,103, 95,104,101,105, -103,104,116, 0, 98,111,116,116,111,109, 0,114,105,103,104,116, 0,120,111,102,115, 0,121,111,102,115, 0,108,105,102,116, 91, - 51, 93, 0,103, 97,109,109, 97, 91, 51, 93, 0,103, 97,105,110, 91, 51, 93, 0,100,105,114, 91, 55, 54, 56, 93, 0,116, 99, 0, - 98,117,105,108,100, 95,115,105,122,101, 95,102,108, 97,103,115, 0, 98,117,105,108,100, 95,116, 99, 95,102,108, 97,103,115, 0, -100,111,110,101, 0,115,116, 97,114,116,115,116,105,108,108, 0,101,110,100,115,116,105,108,108, 0, 42,115,116,114,105,112,100, - 97,116, 97, 0, 42, 99,114,111,112, 0, 42,116,114, 97,110,115,102,111,114,109, 0, 42, 99,111,108,111,114, 95, 98, 97,108, 97, -110, 99,101, 0, 42,105,110,115,116, 97,110, 99,101, 95,112,114,105,118, 97,116,101, 95,100, 97,116, 97, 0, 42, 42, 99,117,114, -114,101,110,116, 95,112,114,105,118, 97,116,101, 95,100, 97,116, 97, 0, 42,116,109,112, 0,115,116, 97,114,116,111,102,115, 0, -101,110,100,111,102,115, 0,109, 97, 99,104,105,110,101, 0,115,116, 97,114,116,100,105,115,112, 0,101,110,100,100,105,115,112, - 0,115, 97,116, 0,109,117,108, 0,104, 97,110,100,115,105,122,101, 0, 97,110,105,109, 95,112,114,101,115,101,101,107, 0,115, -116,114,101, 97,109,105,110,100,101,120, 0,109,117,108,116,105, 99, 97,109, 95,115,111,117,114, 99,101, 0, 99,108,105,112, 95, -102,108, 97,103, 0, 42,115,116,114,105,112, 0, 42,115, 99,101,110,101, 95, 99, 97,109,101,114, 97, 0,101,102,102,101, 99,116, - 95,102, 97,100,101,114, 0,115,112,101,101,100, 95,102, 97,100,101,114, 0, 42,115,101,113, 49, 0, 42,115,101,113, 50, 0, 42, -115,101,113, 51, 0,115,101,113, 98, 97,115,101, 0, 42,115,111,117,110,100, 0, 42,115, 99,101,110,101, 95,115,111,117,110,100, - 0,112,105,116, 99,104, 0,112, 97,110, 0,115,116,114,111, 98,101, 0, 42,101,102,102,101, 99,116,100, 97,116, 97, 0, 97,110, -105,109, 95,115,116, 97,114,116,111,102,115, 0, 97,110,105,109, 95,101,110,100,111,102,115, 0, 98,108,101,110,100, 95,109,111, -100,101, 0, 98,108,101,110,100, 95,111,112, 97, 99,105,116,121, 0, 42,111,108,100, 98, 97,115,101,112, 0, 42,112, 97,114,115, -101,113, 0, 42,115,101,113, 98, 97,115,101,112, 0,109,101,116, 97,115,116, 97, 99,107, 0, 42, 97, 99,116, 95,115,101,113, 0, - 97, 99,116, 95,105,109, 97,103,101,100,105,114, 91, 49, 48, 50, 52, 93, 0, 97, 99,116, 95,115,111,117,110,100,100,105,114, 91, - 49, 48, 50, 52, 93, 0,111,118,101,114, 95,111,102,115, 0,111,118,101,114, 95, 99,102,114, 97, 0,111,118,101,114, 95,102,108, - 97,103, 0,111,118,101,114, 95, 98,111,114,100,101,114, 0,101,100,103,101, 87,105,100,116,104, 0,102,111,114,119, 97,114,100, - 0,119,105,112,101,116,121,112,101, 0,102, 77,105,110,105, 0,102, 67,108, 97,109,112, 0,102, 66,111,111,115,116, 0,100, 68, -105,115,116, 0,100, 81,117, 97,108,105,116,121, 0, 98, 78,111, 67,111,109,112, 0, 83, 99, 97,108,101,120, 73,110,105, 0, 83, - 99, 97,108,101,121, 73,110,105, 0,120, 73,110,105, 0,121, 73,110,105, 0,114,111,116, 73,110,105, 0,105,110,116,101,114,112, -111,108, 97,116,105,111,110, 0,117,110,105,102,111,114,109, 95,115, 99, 97,108,101, 0, 42,102,114, 97,109,101, 77, 97,112, 0, -103,108,111, 98, 97,108, 83,112,101,101,100, 0,108, 97,115,116, 86, 97,108,105,100, 70,114, 97,109,101, 0, 98,117,116,116,121, -112,101, 0,117,115,101,114,106,105,116, 0,115,116, 97, 0,116,111,116,112, 97,114,116, 0,110,111,114,109,102, 97, 99, 0,111, - 98,102, 97, 99, 0,114, 97,110,100,102, 97, 99, 0,116,101,120,102, 97, 99, 0,114, 97,110,100,108,105,102,101, 0,102,111,114, - 99,101, 91, 51, 93, 0,118,101, 99,116,115,105,122,101, 0,109, 97,120,108,101,110, 0,100,101,102,118,101, 99, 91, 51, 93, 0, -109,117,108,116, 91, 52, 93, 0,108,105,102,101, 91, 52, 93, 0, 99,104,105,108,100, 91, 52, 93, 0,109, 97,116, 91, 52, 93, 0, -116,101,120,109, 97,112, 0, 99,117,114,109,117,108,116, 0,115,116, 97,116,105, 99,115,116,101,112, 0,111,109, 97,116, 0,116, -105,109,101,116,101,120, 0,115,112,101,101,100,116,101,120, 0,102,108, 97,103, 50,110,101,103, 0,118,101,114,116,103,114,111, -117,112, 95,118, 0,118,103,114,111,117,112,110, 97,109,101, 91, 54, 52, 93, 0,118,103,114,111,117,112,110, 97,109,101, 95,118, - 91, 54, 52, 93, 0, 42,107,101,121,115, 0,109,105,110,102, 97, 99, 0,110,114, 0,117,115,101,100, 0,117,115,101,100,101,108, -101,109, 0, 42,112,111,105,110, 0,114,101,115,101,116,100,105,115,116, 0,108, 97,115,116,118, 97,108, 0, 42,109, 97, 0,107, -101,121, 0,113,117, 97,108, 0,113,117, 97,108, 50, 0,116, 97,114,103,101,116, 78, 97,109,101, 91, 54, 52, 93, 0,116,111,103, -103,108,101, 78, 97,109,101, 91, 54, 52, 93, 0,118, 97,108,117,101, 91, 54, 52, 93, 0,109, 97,120,118, 97,108,117,101, 91, 54, - 52, 93, 0,100,101,108, 97,121, 0,100,117,114, 97,116,105,111,110, 0,109, 97,116,101,114,105, 97,108, 78, 97,109,101, 91, 54, - 52, 93, 0,100, 97,109,112,116,105,109,101,114, 0,112,114,111,112,110, 97,109,101, 91, 54, 52, 93, 0,109, 97,116,110, 97,109, -101, 91, 54, 52, 93, 0, 97,120,105,115,102,108, 97,103, 0,112,111,115,101, 99,104, 97,110,110,101,108, 91, 54, 52, 93, 0, 99, -111,110,115,116,114, 97,105,110,116, 91, 54, 52, 93, 0, 42,102,114,111,109, 79, 98,106,101, 99,116, 0,115,117, 98,106,101, 99, -116, 91, 54, 52, 93, 0, 98,111,100,121, 91, 54, 52, 93, 0,111,116,121,112,101, 0,112,117,108,115,101, 0,102,114,101,113, 0, -116,111,116,108,105,110,107,115, 0, 42, 42,108,105,110,107,115, 0,116, 97,112, 0,106,111,121,105,110,100,101,120, 0, 97,120, -105,115, 95,115,105,110,103,108,101, 0, 97,120,105,115,102, 0, 98,117,116,116,111,110, 0,104, 97,116, 0,104, 97,116,102, 0, -112,114,101, 99,105,115,105,111,110, 0,115,116,114, 91, 49, 50, 56, 93, 0, 42,109,121,110,101,119, 0,105,110,112,117,116,115, - 0,116,111,116,115,108,105,110,107,115, 0, 42, 42,115,108,105,110,107,115, 0,118, 97,108,111, 0,115,116, 97,116,101, 95,109, - 97,115,107, 0, 42, 97, 99,116, 0,102,114, 97,109,101, 80,114,111,112, 91, 54, 52, 93, 0, 98,108,101,110,100,105,110, 0,112, -114,105,111,114,105,116,121, 0,101,110,100, 95,114,101,115,101,116, 0,115,116,114,105,100,101, 97,120,105,115, 0,115,116,114, -105,100,101,108,101,110,103,116,104, 0,108, 97,121,101,114, 95,119,101,105,103,104,116, 0,109,105,110, 95,103, 97,105,110, 0, -109, 97,120, 95,103, 97,105,110, 0,114,101,102,101,114,101,110, 99,101, 95,100,105,115,116, 97,110, 99,101, 0,109, 97,120, 95, -100,105,115,116, 97,110, 99,101, 0,114,111,108,108,111,102,102, 95,102, 97, 99,116,111,114, 0, 99,111,110,101, 95,105,110,110, -101,114, 95, 97,110,103,108,101, 0, 99,111,110,101, 95,111,117,116,101,114, 95, 97,110,103,108,101, 0, 99,111,110,101, 95,111, -117,116,101,114, 95,103, 97,105,110, 0,115,110,100,110,114, 0,115,111,117,110,100, 51, 68, 0,112, 97,100, 54, 91, 49, 93, 0, - 42,109,101, 0,108,105,110, 86,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97,110,103, 86,101,108,111, 99,105,116,121, 91, 51, - 93, 0,108,111, 99, 97,108,102,108, 97,103, 0,100,121,110, 95,111,112,101,114, 97,116,105,111,110, 0,102,111,114, 99,101,108, -111, 99, 91, 51, 93, 0,102,111,114, 99,101,114,111,116, 91, 51, 93, 0,112, 97,100, 49, 91, 51, 93, 0,108,105,110,101, 97,114, -118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97,110,103,117,108, 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 42, -114,101,102,101,114,101,110, 99,101, 0,109,105,110, 0,109, 97,120, 0,114,111,116,100, 97,109,112, 0,109,105,110,108,111, 99, - 91, 51, 93, 0,109, 97,120,108,111, 99, 91, 51, 93, 0,109,105,110,114,111,116, 91, 51, 93, 0,109, 97,120,114,111,116, 91, 51, - 93, 0,109, 97,116,112,114,111,112, 91, 54, 52, 93, 0, 98,117,116,115,116, 97, 0, 98,117,116,101,110,100, 0,100,105,115,116, -114,105, 98,117,116,105,111,110, 0,105,110,116, 95, 97,114,103, 95, 49, 0,105,110,116, 95, 97,114,103, 95, 50, 0,102,108,111, - 97,116, 95, 97,114,103, 95, 49, 0,102,108,111, 97,116, 95, 97,114,103, 95, 50, 0,116,111, 80,114,111,112, 78, 97,109,101, 91, - 54, 52, 93, 0, 42,116,111, 79, 98,106,101, 99,116, 0, 98,111,100,121, 84,121,112,101, 0,102,105,108,101,110, 97,109,101, 91, - 54, 52, 93, 0,108,111, 97,100, 97,110,105,110, 97,109,101, 91, 54, 52, 93, 0,105,110,116, 95, 97,114,103, 0,102,108,111, 97, -116, 95, 97,114,103, 0,105,110,102,108,117,101,110, 99,101, 0, 42,115,117, 98,116, 97,114,103,101,116, 0,102, 97, 99,105,110, -103, 97,120,105,115, 0,118,101,108,111, 99,105,116,121, 0, 97, 99, 99,101,108,101,114, 97,116,105,111,110, 0,116,117,114,110, -115,112,101,101,100, 0,117,112,100, 97,116,101, 84,105,109,101, 0, 42,110, 97,118,109,101,115,104, 0,103,111, 0, 42,110,101, -119,112, 97, 99,107,101,100,102,105,108,101, 0, 97,116,116,101,110,117, 97,116,105,111,110, 0,100,105,115,116, 97,110, 99,101, - 0, 42, 99, 97, 99,104,101, 0, 42,119, 97,118,101,102,111,114,109, 0, 42,112,108, 97,121, 98, 97, 99,107, 95,104, 97,110,100, -108,101, 0, 42,108, 97,109,112,114,101,110, 0,103,111, 98,106,101, 99,116, 0,100,117,112,108,105, 95,111,102,115, 91, 51, 93, - 0, 42,112,114,111,112, 0, 99,104,105,108,100, 98, 97,115,101, 0,114,111,108,108, 0,104,101, 97,100, 91, 51, 93, 0,116, 97, -105,108, 91, 51, 93, 0, 98,111,110,101, 95,109, 97,116, 91, 51, 93, 91, 51, 93, 0, 97,114,109, 95,104,101, 97,100, 91, 51, 93, - 0, 97,114,109, 95,116, 97,105,108, 91, 51, 93, 0, 97,114,109, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 97,114,109, 95,114, -111,108,108, 0,120,119,105,100,116,104, 0,122,119,105,100,116,104, 0,101, 97,115,101, 49, 0,101, 97,115,101, 50, 0,114, 97, -100, 95,104,101, 97,100, 0,114, 97,100, 95,116, 97,105,108, 0,112, 97,100, 91, 49, 93, 0, 98,111,110,101, 98, 97,115,101, 0, - 99,104, 97,105,110, 98, 97,115,101, 0, 42,101,100, 98,111, 0, 42, 97, 99,116, 95, 98,111,110,101, 0, 42, 97, 99,116, 95,101, -100, 98,111,110,101, 0, 42,115,107,101,116, 99,104, 0,103,101,118,101,114,116,100,101,102,111,114,109,101,114, 0,108, 97,121, -101,114, 95,117,115,101,100, 0,108, 97,121,101,114, 95,112,114,111,116,101, 99,116,101,100, 0,103,104,111,115,116,101,112, 0, -103,104,111,115,116,115,105,122,101, 0,103,104,111,115,116,116,121,112,101, 0,112, 97,116,104,115,105,122,101, 0,103,104,111, -115,116,115,102, 0,103,104,111,115,116,101,102, 0,112, 97,116,104,115,102, 0,112, 97,116,104,101,102, 0,112, 97,116,104, 98, - 99, 0,112, 97,116,104, 97, 99, 0, 42,112,111,105,110,116,115, 0,115,116, 97,114,116, 95,102,114, 97,109,101, 0,101,110,100, - 95,102,114, 97,109,101, 0,103,104,111,115,116, 95,115,102, 0,103,104,111,115,116, 95,101,102, 0,103,104,111,115,116, 95, 98, - 99, 0,103,104,111,115,116, 95, 97, 99, 0,103,104,111,115,116, 95,116,121,112,101, 0,103,104,111,115,116, 95,115,116,101,112, - 0,103,104,111,115,116, 95,102,108, 97,103, 0,112, 97,116,104, 95,116,121,112,101, 0,112, 97,116,104, 95,115,116,101,112, 0, -112, 97,116,104, 95,118,105,101,119,102,108, 97,103, 0,112, 97,116,104, 95, 98, 97,107,101,102,108, 97,103, 0,112, 97,116,104, - 95,115,102, 0,112, 97,116,104, 95,101,102, 0,112, 97,116,104, 95, 98, 99, 0,112, 97,116,104, 95, 97, 99, 0,105,107,102,108, - 97,103, 0, 97,103,114,112, 95,105,110,100,101,120, 0, 99,111,110,115,116,102,108, 97,103, 0,115,101,108,101, 99,116,102,108, - 97,103, 0,112, 97,100, 48, 91, 54, 93, 0, 42, 98,111,110,101, 0, 42, 99,104,105,108,100, 0,105,107,116,114,101,101, 0,115, -105,107,116,114,101,101, 0, 42, 99,117,115,116,111,109, 0, 42, 99,117,115,116,111,109, 95,116,120, 0,101,117,108, 91, 51, 93, - 0, 99,104, 97,110, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112, -111,115,101, 95,104,101, 97,100, 91, 51, 93, 0,112,111,115,101, 95,116, 97,105,108, 91, 51, 93, 0,108,105,109,105,116,109,105, -110, 91, 51, 93, 0,108,105,109,105,116,109, 97,120, 91, 51, 93, 0,115,116,105,102,102,110,101,115,115, 91, 51, 93, 0,105,107, -115,116,114,101,116, 99,104, 0,105,107,114,111,116,119,101,105,103,104,116, 0,105,107,108,105,110,119,101,105,103,104,116, 0, - 42,116,101,109,112, 0, 99,104, 97,110, 98, 97,115,101, 0, 42, 99,104, 97,110,104, 97,115,104, 0,112,114,111,120,121, 95,108, - 97,121,101,114, 0,115,116,114,105,100,101, 95,111,102,102,115,101,116, 91, 51, 93, 0, 99,121, 99,108,105, 99, 95,111,102,102, -115,101,116, 91, 51, 93, 0, 97,103,114,111,117,112,115, 0, 97, 99,116,105,118,101, 95,103,114,111,117,112, 0,105,107,115,111, -108,118,101,114, 0, 42,105,107,100, 97,116, 97, 0, 42,105,107,112, 97,114, 97,109, 0,112,114,111,120,121, 95, 97, 99,116, 95, - 98,111,110,101, 91, 54, 52, 93, 0,110,117,109,105,116,101,114, 0,110,117,109,115,116,101,112, 0,109,105,110,115,116,101,112, - 0,109, 97,120,115,116,101,112, 0,115,111,108,118,101,114, 0,102,101,101,100, 98, 97, 99,107, 0,109, 97,120,118,101,108, 0, -100, 97,109,112,109, 97,120, 0,100, 97,109,112,101,112,115, 0, 99,104, 97,110,110,101,108,115, 0, 99,117,115,116,111,109, 67, -111,108, 0, 99,115, 0, 99,117,114,118,101,115, 0,103,114,111,117,112,115, 0, 97, 99,116,105,118,101, 95,109, 97,114,107,101, -114, 0,105,100,114,111,111,116, 0, 42,115,111,117,114, 99,101, 0, 42,102,105,108,116,101,114, 95,103,114,112, 0,115,101, 97, -114, 99,104,115,116,114, 91, 54, 52, 93, 0,102,105,108,116,101,114,102,108, 97,103, 0,114,101,110, 97,109,101, 73,110,100,101, -120, 0, 97,100,115, 0,116,105,109,101,115,108,105,100,101, 0, 42,103,114,112, 0,110, 97,109,101, 91, 51, 48, 93, 0,111,119, -110,115,112, 97, 99,101, 0,116, 97,114,115,112, 97, 99,101, 0,101,110,102,111,114, 99,101, 0,104,101, 97,100,116, 97,105,108, - 0,108,105,110, 95,101,114,114,111,114, 0,114,111,116, 95,101,114,114,111,114, 0, 42,116, 97,114, 0,109, 97,116,114,105,120, - 91, 52, 93, 91, 52, 93, 0,115,112, 97, 99,101, 0,114,111,116, 79,114,100,101,114, 0,116, 97,114,110,117,109, 0,116, 97,114, -103,101,116,115, 0,105,116,101,114, 97,116,105,111,110,115, 0,114,111,111,116, 98,111,110,101, 0,109, 97,120, 95,114,111,111, -116, 98,111,110,101, 0, 42,112,111,108,101,116, 97,114, 0,112,111,108,101,115,117, 98,116, 97,114,103,101,116, 91, 54, 52, 93, - 0,112,111,108,101, 97,110,103,108,101, 0,111,114,105,101,110,116,119,101,105,103,104,116, 0,103,114, 97, 98,116, 97,114,103, -101,116, 91, 51, 93, 0,110,117,109,112,111,105,110,116,115, 0, 99,104, 97,105,110,108,101,110, 0,120,122, 83, 99, 97,108,101, - 77,111,100,101, 0,114,101,115,101,114,118,101,100, 49, 0,114,101,115,101,114,118,101,100, 50, 0,109,105,110,109, 97,120,102, -108, 97,103, 0,115,116,117, 99,107, 0, 99, 97, 99,104,101, 91, 51, 93, 0,108,111, 99,107,102,108, 97,103, 0,102,111,108,108, -111,119,102,108, 97,103, 0,118,111,108,109,111,100,101, 0,112,108, 97,110,101, 0,111,114,103,108,101,110,103,116,104, 0, 98, -117,108,103,101, 0,112,105,118, 88, 0,112,105,118, 89, 0,112,105,118, 90, 0, 97,120, 88, 0, 97,120, 89, 0, 97,120, 90, 0, -109,105,110, 76,105,109,105,116, 91, 54, 93, 0,109, 97,120, 76,105,109,105,116, 91, 54, 93, 0,101,120,116,114, 97, 70,122, 0, -105,110,118,109, 97,116, 91, 52, 93, 91, 52, 93, 0,102,114,111,109, 0,116,111, 0,109, 97,112, 91, 51, 93, 0,101,120,112,111, - 0,102,114,111,109, 95,109,105,110, 91, 51, 93, 0,102,114,111,109, 95,109, 97,120, 91, 51, 93, 0,116,111, 95,109,105,110, 91, - 51, 93, 0,116,111, 95,109, 97,120, 91, 51, 93, 0,114,111,116, 65,120,105,115, 0,122,109,105,110, 0,122,109, 97,120, 0,112, - 97,100, 91, 57, 93, 0,116,114, 97, 99,107, 91, 54, 52, 93, 0,111, 98,106,101, 99,116, 91, 54, 52, 93, 0, 42,100,101,112,116, -104, 95,111, 98, 0, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0,110,111, 95,114,111,116, 95, 97,120,105,115, 0,115,116,114, -105,100,101, 95, 97,120,105,115, 0, 99,117,114,109,111,100, 0, 97, 99,116,115,116, 97,114,116, 0, 97, 99,116,101,110,100, 0, - 97, 99,116,111,102,102,115, 0,115,116,114,105,100,101,108,101,110, 0, 98,108,101,110,100,111,117,116, 0,115,116,114,105,100, -101, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0,111,102,102,115, 95, 98,111,110,101, 91, 51, 50, 93, 0,104, 97,115,105,110, -112,117,116, 0,104, 97,115,111,117,116,112,117,116, 0,100, 97,116, 97,116,121,112,101, 0,115,111, 99,107,101,116,116,121,112, -101, 0,105,115, 95, 99,111,112,121, 0,101,120,116,101,114,110, 97,108, 0, 42,110,101,119, 95,115,111, 99,107, 0, 42,115,116, -111,114, 97,103,101, 0,108,105,109,105,116, 0,108,111, 99,120, 0,108,111, 99,121, 0, 42,100,101,102, 97,117,108,116, 95,118, - 97,108,117,101, 0,115,116, 97, 99,107, 95,105,110,100,101,120, 0,115,116, 97, 99,107, 95,116,121,112,101, 0,111,119,110, 95, -105,110,100,101,120, 0,116,111, 95,105,110,100,101,120, 0, 42,103,114,111,117,112,115,111, 99,107, 0, 42,108,105,110,107, 0, -110,115, 0, 42,114,101, 99,116, 0,120,115,105,122,101, 0,121,115,105,122,101, 0, 42,110,101,119, 95,110,111,100,101, 0,108, - 97,115,116,121, 0,111,117,116,112,117,116,115, 0,109,105,110,105,119,105,100,116,104, 0,117,112,100, 97,116,101, 0,108, 97, - 98,101,108, 91, 54, 52, 93, 0, 99,117,115,116,111,109, 49, 0, 99,117,115,116,111,109, 50, 0, 99,117,115,116,111,109, 51, 0, - 99,117,115,116,111,109, 52, 0,110,101,101,100, 95,101,120,101, 99, 0,101,120,101, 99, 0, 42,116,104,114,101, 97,100,100, 97, -116, 97, 0,116,111,116,114, 0, 98,117,116,114, 0,112,114,118,114, 0, 42, 98,108,111, 99,107, 0, 42,116,121,112,101,105,110, -102,111, 0, 42,102,114,111,109,110,111,100,101, 0, 42,116,111,110,111,100,101, 0, 42,102,114,111,109,115,111, 99,107, 0, 42, -116,111,115,111, 99,107, 0,110,111,100,101,115, 0,108,105,110,107,115, 0,105,110,105,116, 0, 99,117,114, 95,105,110,100,101, -120, 0,110,111,100,101,116,121,112,101, 0, 42,101,120,101, 99,100, 97,116, 97, 0, 40, 42,112,114,111,103,114,101,115,115, 41, + 1, 0, 0, 0, 35, 0, 0, 0, 2, 0, 94, 1, 8, 0, 0, 0, 3, 0, 0, 0, 56, 52, 39, 0, 0, 0, 0, 0, 1, 0, 2, 0, + 0, 8, 0, 0, 2, 0, 0, 0, 68,172, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 72, 0, 0, 0, 0, 0, 64, 0, + 5, 0, 2, 0,232, 90,170, 5, 0, 0, 0, 0,232, 90,170, 5, 0, 0, 0, 0, 8, 79,133, 5, 0, 0, 0, 0, 8, 79,133, 5, + 0, 0, 0, 0,216,132,170, 5, 0, 0, 0, 0,216,132,170, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 44,169, 5, 0, 0, 0, 0, 56,132,170, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 32, 0, 0, 0, 1, 0, 2, 0, 25, 0, 0, 0, 20, 0, 20, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63, +205,204, 76, 63,205,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 30, 90,100,191, +154,153,153, 62,102,102,102, 63, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 31,250,254, 62, 9, 0, 0, 63,156,153, 25, 63, + 0, 0, 0, 0,205,204, 76, 62,205,204, 76, 62,205,204, 76, 62, 0, 0,128, 63, 44,135, 22, 63, 32,133,235, 62,184,243,125, 62, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,195, 73, 76, 63, 42,135, 86, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 43,135, 61, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 16, 47, 93, 62, 58,180,200,190, 24, 47, 93,190, 0, 0, 0, 0, 14, 0, 1, 0, + 25, 0, 15, 0,120, 0, 60, 0, 3, 0, 5, 0,128, 0, 0, 0, 0, 0, 0, 0,144, 31, 15, 0, 6, 0, 25, 0, 8, 0, 10, 0, +200, 0, 0, 0, 0, 0, 0, 0, 2, 0, 4, 0, 10, 0, 50, 0, 20, 0, 2, 0, 1, 0, 0, 0, 0, 0,128, 63, 60, 0, 0, 0, + 0, 0, 2, 0, 2, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, + 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, + 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, + 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, + 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, + 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, + 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, + 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, + 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, + 0, 0, 0, 0, 68, 65, 84, 65,168, 36, 0, 0,232, 90,170, 5, 0, 0, 0, 0,207, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,101,102, 97,117,108,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255, +255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255, +255,255,255,255, 1, 0, 15, 0,241,255, 0, 0, 25, 25, 25,255,153,153,153,255,153,153,153,255, 90, 90, 90,255, 0, 0, 0,255, +255,255,255,255, 1, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 86,128,194,255,255,255,255,255,255,255,255,255, + 0, 0, 0,255, 1, 0, 15, 0,241,255, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 70, 70, 70,255,255,255,255,255, 0, 0, 0,255, +255,255,255,255, 1, 0, 15, 0,241,255, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255, +255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,180,180,180,255,153,153,153,255, 90, 90, 90,255, 0, 0, 0,255, +255,255,255,255, 1, 0,236,255, 0, 0, 0, 0, 25, 25, 25,255,180,180,180,255,153,153,153,255,128,128,128,255, 0, 0, 0,255, +255,255,255,255, 1, 0,236,255, 0, 0, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 70, 70, 70,255,255,255,255,255,255,255,255,255, +204,204,204,255, 1, 0, 15, 0,241,255, 0, 0, 0, 0, 0,255, 63, 63, 63,255, 86,128,194,255,255,255,255,255, 0, 0, 0,255, + 0, 0, 0,255, 0, 0, 25, 0,236,255, 0, 0, 0, 0, 0,255, 25, 25, 25,230, 45, 45, 45,230,100,100,100,255,160,160,160,255, +255,255,255,255, 0, 0, 25, 0,236,255, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 86,128,194,255,172,172,172,128,255,255,255,255, + 0, 0, 0,255, 1, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0,255, 25, 25, 25,230, 45, 45, 45,230,100,100,100,255,255,255,255,255, +255,255,255,255, 0, 0, 25, 0,236,255, 0, 0, 25, 25, 25,255,128,128,128,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255, +255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 50,180, 80, 80, 80,180,100,100,100,180,128,128,128,255, 0, 0, 0,255, +255,255,255,255, 1, 0, 5, 0,251,255, 0, 0, 0, 0, 0,255,190,190,190,255,100,100,100,180, 68, 68, 68,255, 0, 0, 0,255, +255,255,255,255, 0, 0, 5, 0,251,255, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 86,128,194,255, 0, 0, 0,255, 0, 0, 0,255, + 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,115,190, 76,255, 90,166, 51,255,240,235,100,255,215,211, 75,255,180, 0,255,255, +153, 0,230,255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,114,114,114,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,130,130,130,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, + 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, +255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255, +144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,170, 64,255, + 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, + 32,255,255,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 32, 0, 0,255, 0, 32, 0,255, + 0, 0,128,255, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255, +144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,200,200,200,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 76, 76,255, + 0, 0, 0, 0,250,250,250,255, 15, 15, 15,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,145,145,145,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100,255,140, 25,255,250,250,250,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,130,130,130,255, + 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, +255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255, +144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250,250,250,255, 0, 0, 0, 0, +250,250,250,255,250,250,250,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, + 79,101, 73,255,135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, +255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255, +144,144, 0,255, 64,144, 48,255,128, 48, 96,255,153, 64, 48,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, +240,175,144,255, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0,255,255,133, 0,255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, + 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, +255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255, +144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, + 79,101, 73,255,135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, +255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, + 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255, +144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, + 0, 0, 0, 0, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, + 79,101, 73,255,135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, +255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, + 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255, +144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, + 0, 0, 0, 0, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116,116,116,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, + 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, +255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255, +144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,105,135,255, 32, 32,143,255, +109, 88,129,255, 78,152, 62,255, 46,143,143,255,169, 84,124,255,126,126, 80,255,162, 95,111,255,109,145,131,255,255,255,255,128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 53,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, + 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, +255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,255,255,255, 10,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255, +144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 18, 66,176, 38, +255,133, 0,178,255,133, 0,127, 0,255, 0,255,255, 0, 0,255,225,210,195, 35, 0, 0, 0, 0, 0, 0, 0, 0,153,153,153,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,143,143,143,255,198,119,119,255,255, 0, 0,255, 64, 64, 64,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, + 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, +255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255, +144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 4, 0,100, 0, 0,255, 0, 0,200,255,128, 0, 80,255, 95, 95, 0,255, 0,100, 50,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, + 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, +255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255, +144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,127, 51, 76,130,135,140, 76,114,114,114,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,173,173,173,255,127,112,112,100, 0, 0, 0, 0, 91, 91, 91,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, + 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, +255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255, +144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255, +255,255,255,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255, + 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,255,255,255,219, 37, 18,255, +255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255, +144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 4, 5,155,155,155,160,100,104,111,255,111,106,100,255,104,106,117,255,105,117,110,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100,100,100,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, + 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, +255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255, +144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, + 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, +255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255, +144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, + 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, +255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255, +144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,128,255,255,255,255,255,255, 0,170, 0,255,220, 96, 96,255,220, 96, 96,255, + 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 94, 94, 94,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,170, 64,255, + 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, + 32,255,255,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 32, 0, 0,255, 0, 32, 0,255, + 0, 0,128,255, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, + 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255, +144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0,255,255,255, 0,255, 4, 0, 0, 0,255,127,127, 0,255,255,255,255,255,255,255, 0,255,127, 0, 0,255,127,127,127, +255,200,200,200,255,255, 0, 0,255, 0, 0,255,255, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 0, 0,255, +189, 17, 17,255,247, 10, 10,255, 0, 0, 0, 0,247, 64, 24,255,246,105, 19,255,250,153, 0,255, 0, 0, 0, 0, 30,145, 9,255, + 89,183, 11,255,131,239, 29,255, 0, 0, 0, 0, 10, 54,148,255, 54,103,223,255, 94,193,239,255, 0, 0, 0, 0,169, 41, 78,255, +193, 65,106,255,240, 93,145,255, 0, 0, 0, 0, 67, 12,120,255, 84, 58,163,255,135,100,213,255, 0, 0, 0, 0, 36,120, 90,255, + 60,149,121,255,111,182,171,255, 0, 0, 0, 0, 75,112,124,255,106,134,145,255,155,194,205,255, 0, 0, 0, 0,244,201, 12,255, +238,194, 54,255,243,255, 0,255, 0, 0, 0, 0, 30, 32, 36,255, 72, 76, 86,255,255,255,255,255, 0, 0, 0, 0,111, 47,106,255, +152, 69,190,255,211, 48,214,255, 0, 0, 0, 0,108,142, 34,255,127,176, 34,255,187,239, 91,255, 0, 0, 0, 0,141,141,141,255, +176,176,176,255,222,222,222,255, 0, 0, 0, 0,131, 67, 38,255,139, 88, 17,255,189,106, 17,255, 0, 0, 0, 0, 8, 49, 14,255, + 28, 67, 11,255, 52, 98, 43,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0,152, 44,169, 5, 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0, 56, 45,169, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95, 51,100,115, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 56, 45,169, 5, 0, 0, 0, 0,208, 0, 0, 0, + 1, 0, 0, 0,216,127,170, 5, 0, 0, 0, 0,152, 44,169, 5, 0, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95,102, 98,120, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0,216,127,170, 5, + 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0,120,128,170, 5, 0, 0, 0, 0, 56, 45,169, 5, 0, 0, 0, 0,105,111, 95, 97, +110,105,109, 95, 98,118,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 80, 0, 0, 0,120,128,170, 5, 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0, 24,129,170, 5, 0, 0, 0, 0,216,127,170, 5, + 0, 0, 0, 0,105,111, 95,109,101,115,104, 95,112,108,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 24,129,170, 5, 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0,184,129,170, 5, + 0, 0, 0, 0,120,128,170, 5, 0, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95,111, 98,106, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0,184,129,170, 5, 0, 0, 0, 0,208, 0, 0, 0, + 1, 0, 0, 0, 88,130,170, 5, 0, 0, 0, 0, 24,129,170, 5, 0, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95,120, 51,100, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 88,130,170, 5, + 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0,248,130,170, 5, 0, 0, 0, 0,184,129,170, 5, 0, 0, 0, 0,105,111, 95,109, +101,115,104, 95,115,116,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 80, 0, 0, 0,248,130,170, 5, 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0,152,131,170, 5, 0, 0, 0, 0, 88,130,170, 5, + 0, 0, 0, 0,105,111, 95,109,101,115,104, 95,117,118, 95,108, 97,121,111,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0,152,131,170, 5, 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0, 56,132,170, 5, + 0, 0, 0, 0,248,130,170, 5, 0, 0, 0, 0,105,111, 95, 99,117,114,118,101, 95,115,118,103, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 56,132,170, 5, 0, 0, 0, 0,208, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,131,170, 5, 0, 0, 0, 0, 99,121, 99,108,101,115, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,232, 0, 0, 0,216,132,170, 5, + 0, 0, 0, 0,200, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,101,102, 97, +117,108,116, 32, 83,116,121,108,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,255,255, 0, 0,154,153, 25, 62, 0, 0,128, 63, 0, 0, 12, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,255,255, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 11, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,255,255, 0, 0,154,153, 25, 62, 0, 0,128, 63, 0, 0, 11, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 8, 0, 5, 0, 5, 0, 8, 0, 2, 0, 8, 0, 4, 0, 0, 0, 68, 78, 65, 49,124, 8, 1, 0,120,177,144, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 83, 68, 78, 65, 78, 65, 77, 69, 99, 13, 0, 0, 42,110,101,120,116, 0, 42,112, +114,101,118, 0, 42,100, 97,116, 97, 0, 42,102,105,114,115,116, 0, 42,108, 97,115,116, 0,120, 0,121, 0,122, 0,120,109,105, +110, 0,120,109, 97,120, 0,121,109,105,110, 0,121,109, 97,120, 0, 42,112,111,105,110,116,101,114, 0,103,114,111,117,112, 0, +118, 97,108, 0,118, 97,108, 50, 0,116,121,112,101, 0,115,117, 98,116,121,112,101, 0,102,108, 97,103, 0,110, 97,109,101, 91, + 54, 52, 93, 0,115, 97,118,101,100, 0,100, 97,116, 97, 0,108,101,110, 0,116,111,116, 97,108,108,101,110, 0, 42,110,101,119, +105,100, 0, 42,108,105, 98, 0,110, 97,109,101, 91, 54, 54, 93, 0,112, 97,100, 0,117,115, 0,105, 99,111,110, 95,105,100, 0, +112, 97,100, 50, 0, 42,112,114,111,112,101,114,116,105,101,115, 0,105,100, 0, 42,105,100, 98,108,111, 99,107, 0, 42,102,105, +108,101,100, 97,116, 97, 0,110, 97,109,101, 91, 49, 48, 50, 52, 93, 0,102,105,108,101,112, 97,116,104, 91, 49, 48, 50, 52, 93, + 0, 42,112, 97,114,101,110,116, 0,119, 91, 50, 93, 0,104, 91, 50, 93, 0, 99,104, 97,110,103,101,100, 91, 50, 93, 0, 99,104, + 97,110,103,101,100, 95,116,105,109,101,115,116, 97,109,112, 91, 50, 93, 0, 42,114,101, 99,116, 91, 50, 93, 0, 42,111, 98, 0, + 98,108,111, 99,107,116,121,112,101, 0, 97,100,114, 99,111,100,101, 0,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42, 98,112, 0, + 42, 98,101,122,116, 0,109, 97,120,114, 99,116, 0,116,111,116,114, 99,116, 0,118, 97,114,116,121,112,101, 0,116,111,116,118, +101,114,116, 0,105,112,111, 0,101,120,116,114, 97,112, 0,114,116, 0, 98,105,116,109, 97,115,107, 0,115,108,105,100,101, 95, +109,105,110, 0,115,108,105,100,101, 95,109, 97,120, 0, 99,117,114,118, 97,108, 0, 42,100,114,105,118,101,114, 0, 99,117,114, +118,101, 0, 99,117,114, 0,115,104,111,119,107,101,121, 0,109,117,116,101,105,112,111, 0,112,111,115, 0,112, 97,100, 49, 0, +114,101,108, 97,116,105,118,101, 0,116,111,116,101,108,101,109, 0,117,105,100, 0, 42,119,101,105,103,104,116,115, 0,118,103, +114,111,117,112, 91, 54, 52, 93, 0,115,108,105,100,101,114,109,105,110, 0,115,108,105,100,101,114,109, 97,120, 0, 42, 97,100, +116, 0, 42,114,101,102,107,101,121, 0,101,108,101,109,115,116,114, 91, 51, 50, 93, 0,101,108,101,109,115,105,122,101, 0, 98, +108,111, 99,107, 0, 42,105,112,111, 0, 42,102,114,111,109, 0,116,111,116,107,101,121, 0,115,108,117,114,112,104, 0, 99,116, +105,109,101, 0,117,105,100,103,101,110, 0, 42,108,105,110,101, 0, 42,102,111,114,109, 97,116, 0, 98,108,101,110, 0,108,105, +110,101,110,111, 0,115,116, 97,114,116, 0,101,110,100, 0,102,108, 97,103,115, 0, 99,111,108,111,114, 91, 52, 93, 0,112, 97, +100, 91, 52, 93, 0, 42,110, 97,109,101, 0,110,108,105,110,101,115, 0,108,105,110,101,115, 0, 42, 99,117,114,108, 0, 42,115, +101,108,108, 0, 99,117,114, 99, 0,115,101,108, 99, 0,109, 97,114,107,101,114,115, 0, 42,117,110,100,111, 95, 98,117,102, 0, +117,110,100,111, 95,112,111,115, 0,117,110,100,111, 95,108,101,110, 0, 42, 99,111,109,112,105,108,101,100, 0,109,116,105,109, +101, 0,115,105,122,101, 0,115,101,101,107, 0,100,116,120, 0,112, 97,115,115,101,112, 97,114,116, 97,108,112,104, 97, 0, 99, +108,105,112,115,116, 97, 0, 99,108,105,112,101,110,100, 0,108,101,110,115, 0,111,114,116,104,111, 95,115, 99, 97,108,101, 0, +100,114, 97,119,115,105,122,101, 0,115,101,110,115,111,114, 95,120, 0,115,101,110,115,111,114, 95,121, 0,115,104,105,102,116, +120, 0,115,104,105,102,116,121, 0, 89, 70, 95,100,111,102,100,105,115,116, 0, 42,100,111,102, 95,111, 98, 0,115,101,110,115, +111,114, 95,102,105,116, 0,112, 97,100, 91, 55, 93, 0, 42,115, 99,101,110,101, 0,102,114, 97,109,101,110,114, 0,102,114, 97, +109,101,115, 0,111,102,102,115,101,116, 0,115,102,114, 97, 0,102,105,101, 95,105,109, 97, 0, 99,121, 99,108, 0,111,107, 0, +109,117,108,116,105, 95,105,110,100,101,120, 0,108, 97,121,101,114, 0,112, 97,115,115, 0,105, 98,117,102,115, 0, 42,103,112, +117,116,101,120,116,117,114,101, 0, 42, 97,110,105,109, 0, 42,114,114, 0, 42,114,101,110,100,101,114,115, 91, 56, 93, 0,114, +101,110,100,101,114, 95,115,108,111,116, 0,108, 97,115,116, 95,114,101,110,100,101,114, 95,115,108,111,116, 0,115,111,117,114, + 99,101, 0,108, 97,115,116,102,114, 97,109,101, 0,116,112, 97,103,101,102,108, 97,103, 0,116,111,116, 98,105,110,100, 0,120, +114,101,112, 0,121,114,101,112, 0,116,119,115,116, 97, 0,116,119,101,110,100, 0, 98,105,110,100, 99,111,100,101, 0, 42,114, +101,112, 98,105,110,100, 0, 42,112, 97, 99,107,101,100,102,105,108,101, 0, 42,112,114,101,118,105,101,119, 0,108, 97,115,116, +117,112,100, 97,116,101, 0,108, 97,115,116,117,115,101,100, 0, 97,110,105,109,115,112,101,101,100, 0,103,101,110, 95,120, 0, +103,101,110, 95,121, 0,103,101,110, 95,116,121,112,101, 0,103,101,110, 95,102,108, 97,103, 0, 97,115,112,120, 0, 97,115,112, +121, 0,116,101,120, 99,111, 0,109, 97,112,116,111, 0,109, 97,112,116,111,110,101,103, 0, 98,108,101,110,100,116,121,112,101, + 0, 42,111, 98,106,101, 99,116, 0, 42,116,101,120, 0,117,118,110, 97,109,101, 91, 54, 52, 93, 0,112,114,111,106,120, 0,112, +114,111,106,121, 0,112,114,111,106,122, 0,109, 97,112,112,105,110,103, 0,111,102,115, 91, 51, 93, 0,115,105,122,101, 91, 51, + 93, 0,114,111,116, 0,116,101,120,102,108, 97,103, 0, 99,111,108,111,114,109,111,100,101,108, 0,112,109, 97,112,116,111, 0, +112,109, 97,112,116,111,110,101,103, 0,110,111,114,109, 97,112,115,112, 97, 99,101, 0,119,104,105, 99,104, 95,111,117,116,112, +117,116, 0, 98,114,117,115,104, 95,109, 97,112, 95,109,111,100,101, 0,114, 0,103, 0, 98, 0,107, 0,100,101,102, 95,118, 97, +114, 0, 99,111,108,102, 97, 99, 0,118, 97,114,102, 97, 99, 0,110,111,114,102, 97, 99, 0,100,105,115,112,102, 97, 99, 0,119, + 97,114,112,102, 97, 99, 0, 99,111,108,115,112,101, 99,102, 97, 99, 0,109,105,114,114,102, 97, 99, 0, 97,108,112,104, 97,102, + 97, 99, 0,100,105,102,102,102, 97, 99, 0,115,112,101, 99,102, 97, 99, 0,101,109,105,116,102, 97, 99, 0,104, 97,114,100,102, + 97, 99, 0,114, 97,121,109,105,114,114,102, 97, 99, 0,116,114, 97,110,115,108,102, 97, 99, 0, 97,109, 98,102, 97, 99, 0, 99, +111,108,101,109,105,116,102, 97, 99, 0, 99,111,108,114,101,102,108,102, 97, 99, 0, 99,111,108,116,114, 97,110,115,102, 97, 99, + 0,100,101,110,115,102, 97, 99, 0,115, 99, 97,116,116,101,114,102, 97, 99, 0,114,101,102,108,102, 97, 99, 0,116,105,109,101, +102, 97, 99, 0,108,101,110,103,116,104,102, 97, 99, 0, 99,108,117,109,112,102, 97, 99, 0,100, 97,109,112,102, 97, 99, 0,107, +105,110,107,102, 97, 99, 0,114,111,117,103,104,102, 97, 99, 0,112, 97,100,101,110,115,102, 97, 99, 0,103,114, 97,118,105,116, +121,102, 97, 99, 0,108,105,102,101,102, 97, 99, 0,115,105,122,101,102, 97, 99, 0,105,118,101,108,102, 97, 99, 0,102,105,101, +108,100,102, 97, 99, 0,115,104, 97,100,111,119,102, 97, 99, 0,122,101,110,117,112,102, 97, 99, 0,122,101,110,100,111,119,110, +102, 97, 99, 0, 98,108,101,110,100,102, 97, 99, 0, 42,104, 97,110,100,108,101, 0, 42,112,110, 97,109,101, 0, 42,115,116,110, + 97,109,101,115, 0,115,116,121,112,101,115, 0,118, 97,114,115, 0, 42,118, 97,114,115,116,114, 0, 42,114,101,115,117,108,116, + 0, 42, 99,102,114, 97, 0,100, 97,116, 97, 91, 51, 50, 93, 0, 40, 42,100,111,105,116, 41, 40, 41, 0, 40, 42,105,110,115,116, + 97,110, 99,101, 95,105,110,105,116, 41, 40, 41, 0, 40, 42, 99, 97,108,108, 98, 97, 99,107, 41, 40, 41, 0,118,101,114,115,105, +111,110, 0, 97, 0,116,111,116, 0,105,112,111,116,121,112,101, 0, 42,105,109, 97, 0, 42, 99,117, 98,101, 91, 54, 93, 0,105, +109, 97,116, 91, 52, 93, 91, 52, 93, 0,111, 98,105,109, 97,116, 91, 51, 93, 91, 51, 93, 0,115,116,121,112,101, 0,118,105,101, +119,115, 99, 97,108,101, 0,110,111,116,108, 97,121, 0, 99,117, 98,101,114,101,115, 0,100,101,112,116,104, 0,114,101, 99, 97, +108, 99, 0,108, 97,115,116,115,105,122,101, 0,102, 97,108,108,111,102,102, 95,116,121,112,101, 0,102, 97,108,108,111,102,102, + 95,115,111,102,116,110,101,115,115, 0,114, 97,100,105,117,115, 0, 99,111,108,111,114, 95,115,111,117,114, 99,101, 0,116,111, +116,112,111,105,110,116,115, 0,112,100,112, 97,100, 0,112,115,121,115, 0,112,115,121,115, 95, 99, 97, 99,104,101, 95,115,112, + 97, 99,101, 0,111, 98, 95, 99, 97, 99,104,101, 95,115,112, 97, 99,101, 0, 42,112,111,105,110,116, 95,116,114,101,101, 0, 42, +112,111,105,110,116, 95,100, 97,116, 97, 0,110,111,105,115,101, 95,115,105,122,101, 0,110,111,105,115,101, 95,100,101,112,116, +104, 0,110,111,105,115,101, 95,105,110,102,108,117,101,110, 99,101, 0,110,111,105,115,101, 95, 98, 97,115,105,115, 0,112,100, +112, 97,100, 51, 91, 51, 93, 0,110,111,105,115,101, 95,102, 97, 99, 0,115,112,101,101,100, 95,115, 99, 97,108,101, 0,102, 97, +108,108,111,102,102, 95,115,112,101,101,100, 95,115, 99, 97,108,101, 0,112,100,112, 97,100, 50, 0, 42, 99,111, 98, 97, 0, 42, +102, 97,108,108,111,102,102, 95, 99,117,114,118,101, 0,114,101,115,111,108, 91, 51, 93, 0,105,110,116,101,114,112, 95,116,121, +112,101, 0,102,105,108,101, 95,102,111,114,109, 97,116, 0,101,120,116,101,110,100, 0,115,109,111,107,101,100, 95,116,121,112, +101, 0,105,110,116, 95,109,117,108,116,105,112,108,105,101,114, 0,115,116,105,108,108, 95,102,114, 97,109,101, 0,115,111,117, +114, 99,101, 95,112, 97,116,104, 91, 49, 48, 50, 52, 93, 0, 42,100, 97,116, 97,115,101,116, 0, 99, 97, 99,104,101,100,102,114, + 97,109,101, 0,111, 99,101, 97,110,109,111,100, 91, 54, 52, 93, 0,111,117,116,112,117,116, 0,110,111,105,115,101,115,105,122, +101, 0,116,117,114, 98,117,108, 0, 98,114,105,103,104,116, 0, 99,111,110,116,114, 97,115,116, 0,115, 97,116,117,114, 97,116, +105,111,110, 0,114,102, 97, 99, 0,103,102, 97, 99, 0, 98,102, 97, 99, 0,102,105,108,116,101,114,115,105,122,101, 0,109,103, + 95, 72, 0,109,103, 95,108, 97, 99,117,110, 97,114,105,116,121, 0,109,103, 95,111, 99,116, 97,118,101,115, 0,109,103, 95,111, +102,102,115,101,116, 0,109,103, 95,103, 97,105,110, 0,100,105,115,116, 95, 97,109,111,117,110,116, 0,110,115, 95,111,117,116, +115, 99, 97,108,101, 0,118,110, 95,119, 49, 0,118,110, 95,119, 50, 0,118,110, 95,119, 51, 0,118,110, 95,119, 52, 0,118,110, + 95,109,101,120,112, 0,118,110, 95,100,105,115,116,109, 0,118,110, 95, 99,111,108,116,121,112,101, 0,110,111,105,115,101,100, +101,112,116,104, 0,110,111,105,115,101,116,121,112,101, 0,110,111,105,115,101, 98, 97,115,105,115, 0,110,111,105,115,101, 98, + 97,115,105,115, 50, 0,105,109, 97,102,108, 97,103, 0, 99,114,111,112,120,109,105,110, 0, 99,114,111,112,121,109,105,110, 0, + 99,114,111,112,120,109, 97,120, 0, 99,114,111,112,121,109, 97,120, 0,116,101,120,102,105,108,116,101,114, 0, 97,102,109, 97, +120, 0,120,114,101,112,101, 97,116, 0,121,114,101,112,101, 97,116, 0, 99,104,101, 99,107,101,114,100,105,115,116, 0,110, 97, + 98,108, 97, 0,105,117,115,101,114, 0, 42,110,111,100,101,116,114,101,101, 0, 42,112,108,117,103,105,110, 0, 42,101,110,118, + 0, 42,112,100, 0, 42,118,100, 0, 42,111,116, 0,117,115,101, 95,110,111,100,101,115, 0,108,111, 99, 91, 51, 93, 0,114,111, +116, 91, 51, 93, 0,109, 97,116, 91, 52, 93, 91, 52, 93, 0,109,105,110, 91, 51, 93, 0,109, 97,120, 91, 51, 93, 0, 99,111, 98, + 97, 0, 98,108,101,110,100, 95, 99,111,108,111,114, 91, 51, 93, 0, 98,108,101,110,100, 95,102, 97, 99,116,111,114, 0, 98,108, +101,110,100, 95,116,121,112,101, 0,112, 97,100, 91, 51, 93, 0,109,111,100,101, 0,116,111,116,101,120, 0,115,104,100,119,114, + 0,115,104,100,119,103, 0,115,104,100,119, 98, 0,115,104,100,119,112, 97,100, 0,101,110,101,114,103,121, 0,100,105,115,116, + 0,115,112,111,116,115,105,122,101, 0,115,112,111,116, 98,108,101,110,100, 0,104, 97,105,110,116, 0, 97,116,116, 49, 0, 97, +116,116, 50, 0, 42, 99,117,114,102, 97,108,108,111,102,102, 0,115,104, 97,100,115,112,111,116,115,105,122,101, 0, 98,105, 97, +115, 0,115,111,102,116, 0, 99,111,109,112,114,101,115,115,116,104,114,101,115,104, 0, 98,108,101,101,100, 98,105, 97,115, 0, +112, 97,100, 53, 91, 50, 93, 0, 98,117,102,115,105,122,101, 0,115, 97,109,112, 0, 98,117,102,102,101,114,115, 0,102,105,108, +116,101,114,116,121,112,101, 0, 98,117,102,102,108, 97,103, 0, 98,117,102,116,121,112,101, 0,114, 97,121, 95,115, 97,109,112, + 0,114, 97,121, 95,115, 97,109,112,121, 0,114, 97,121, 95,115, 97,109,112,122, 0,114, 97,121, 95,115, 97,109,112, 95,116,121, +112,101, 0, 97,114,101, 97, 95,115,104, 97,112,101, 0, 97,114,101, 97, 95,115,105,122,101, 0, 97,114,101, 97, 95,115,105,122, +101,121, 0, 97,114,101, 97, 95,115,105,122,101,122, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0,114, 97,121, 95,115, + 97,109,112, 95,109,101,116,104,111,100, 0,115,104, 97,100,111,119,109, 97,112, 95,116,121,112,101, 0,116,101,120, 97, 99,116, + 0,115,104, 97,100,104, 97,108,111,115,116,101,112, 0,115,117,110, 95,101,102,102,101, 99,116, 95,116,121,112,101, 0,115,107, +121, 98,108,101,110,100,116,121,112,101, 0,104,111,114,105,122,111,110, 95, 98,114,105,103,104,116,110,101,115,115, 0,115,112, +114,101, 97,100, 0,115,117,110, 95, 98,114,105,103,104,116,110,101,115,115, 0,115,117,110, 95,115,105,122,101, 0, 98, 97, 99, +107,115, 99, 97,116,116,101,114,101,100, 95,108,105,103,104,116, 0,115,117,110, 95,105,110,116,101,110,115,105,116,121, 0, 97, +116,109, 95,116,117,114, 98,105,100,105,116,121, 0, 97,116,109, 95,105,110,115, 99, 97,116,116,101,114,105,110,103, 95,102, 97, + 99,116,111,114, 0, 97,116,109, 95,101,120,116,105,110, 99,116,105,111,110, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,100, +105,115,116, 97,110, 99,101, 95,102, 97, 99,116,111,114, 0,115,107,121, 98,108,101,110,100,102, 97, 99, 0,115,107,121, 95,101, +120,112,111,115,117,114,101, 0,115,104, 97,100,111,119, 95,102,114,117,115,116,117,109, 95,115,105,122,101, 0,115,107,121, 95, + 99,111,108,111,114,115,112, 97, 99,101, 0,112, 97,100, 52, 91, 50, 93, 0, 42,109,116,101,120, 91, 49, 56, 93, 0,112,114, 95, +116,101,120,116,117,114,101, 0,112, 97,100, 54, 91, 52, 93, 0,100,101,110,115,105,116,121, 0,101,109,105,115,115,105,111,110, + 0,115, 99, 97,116,116,101,114,105,110,103, 0,114,101,102,108,101, 99,116,105,111,110, 0,101,109,105,115,115,105,111,110, 95, + 99,111,108, 91, 51, 93, 0,116,114, 97,110,115,109,105,115,115,105,111,110, 95, 99,111,108, 91, 51, 93, 0,114,101,102,108,101, + 99,116,105,111,110, 95, 99,111,108, 91, 51, 93, 0,100,101,110,115,105,116,121, 95,115, 99, 97,108,101, 0,100,101,112,116,104, + 95, 99,117,116,111,102,102, 0, 97,115,121,109,109,101,116,114,121, 0,115,116,101,112,115,105,122,101, 95,116,121,112,101, 0, +115,104, 97,100,101,102,108, 97,103, 0,115,104, 97,100,101, 95,116,121,112,101, 0,112,114,101, 99, 97, 99,104,101, 95,114,101, +115,111,108,117,116,105,111,110, 0,115,116,101,112,115,105,122,101, 0,109,115, 95,100,105,102,102, 0,109,115, 95,105,110,116, +101,110,115,105,116,121, 0,109,115, 95,115,112,114,101, 97,100, 0, 97,108,112,104, 97, 95, 98,108,101,110,100, 0,102, 97, 99, +101, 95,111,114,105,101,110,116, 97,116,105,111,110, 0,109, 97,116,101,114,105, 97,108, 95,116,121,112,101, 0,115,112,101, 99, +114, 0,115,112,101, 99,103, 0,115,112,101, 99, 98, 0,109,105,114,114, 0,109,105,114,103, 0,109,105,114, 98, 0, 97,109, 98, +114, 0, 97,109, 98, 98, 0, 97,109, 98,103, 0, 97,109, 98, 0,101,109,105,116, 0, 97,110,103, 0,115,112,101, 99,116,114, 97, + 0,114, 97,121, 95,109,105,114,114,111,114, 0, 97,108,112,104, 97, 0,114,101,102, 0,115,112,101, 99, 0,122,111,102,102,115, + 0, 97,100,100, 0,116,114, 97,110,115,108,117, 99,101,110, 99,121, 0,118,111,108, 0,103, 97,109,101, 0,102,114,101,115,110, +101,108, 95,109,105,114, 0,102,114,101,115,110,101,108, 95,109,105,114, 95,105, 0,102,114,101,115,110,101,108, 95,116,114, 97, + 0,102,114,101,115,110,101,108, 95,116,114, 97, 95,105, 0,102,105,108,116,101,114, 0,116,120, 95,108,105,109,105,116, 0,116, +120, 95,102, 97,108,108,111,102,102, 0,114, 97,121, 95,100,101,112,116,104, 0,114, 97,121, 95,100,101,112,116,104, 95,116,114, + 97, 0,104, 97,114, 0,115,101,101,100, 49, 0,115,101,101,100, 50, 0,103,108,111,115,115, 95,109,105,114, 0,103,108,111,115, +115, 95,116,114, 97, 0,115, 97,109,112, 95,103,108,111,115,115, 95,109,105,114, 0,115, 97,109,112, 95,103,108,111,115,115, 95, +116,114, 97, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 95,109,105,114, 0, 97,100, 97,112,116, 95,116,104,114,101,115, +104, 95,116,114, 97, 0, 97,110,105,115,111, 95,103,108,111,115,115, 95,109,105,114, 0,100,105,115,116, 95,109,105,114, 0,102, + 97,100,101,116,111, 95,109,105,114, 0,115,104, 97,100,101, 95,102,108, 97,103, 0,109,111,100,101, 95,108, 0,102,108, 97,114, +101, 99, 0,115,116, 97,114, 99, 0,108,105,110,101, 99, 0,114,105,110,103, 99, 0,104, 97,115,105,122,101, 0,102,108, 97,114, +101,115,105,122,101, 0,115,117, 98,115,105,122,101, 0,102,108, 97,114,101, 98,111,111,115,116, 0,115,116,114, 97,110,100, 95, +115,116, 97, 0,115,116,114, 97,110,100, 95,101,110,100, 0,115,116,114, 97,110,100, 95,101, 97,115,101, 0,115,116,114, 97,110, +100, 95,115,117,114,102,110,111,114, 0,115,116,114, 97,110,100, 95,109,105,110, 0,115,116,114, 97,110,100, 95,119,105,100,116, +104,102, 97,100,101, 0,115,116,114, 97,110,100, 95,117,118,110, 97,109,101, 91, 54, 52, 93, 0,115, 98,105, 97,115, 0,108, 98, +105, 97,115, 0,115,104, 97,100, 95, 97,108,112,104, 97, 0,115,101,112,116,101,120, 0,114,103, 98,115,101,108, 0,112,114, 95, +116,121,112,101, 0,112,114, 95, 98, 97, 99,107, 0,112,114, 95,108, 97,109,112, 0,109,108, 95,102,108, 97,103, 0,100,105,102, +102, 95,115,104, 97,100,101,114, 0,115,112,101, 99, 95,115,104, 97,100,101,114, 0,114,111,117,103,104,110,101,115,115, 0,114, +101,102,114, 97, 99, 0,112, 97,114, 97,109, 91, 52, 93, 0,114,109,115, 0,100, 97,114,107,110,101,115,115, 0, 42,114, 97,109, +112, 95, 99,111,108, 0, 42,114, 97,109,112, 95,115,112,101, 99, 0,114, 97,109,112,105,110, 95, 99,111,108, 0,114, 97,109,112, +105,110, 95,115,112,101, 99, 0,114, 97,109,112, 98,108,101,110,100, 95, 99,111,108, 0,114, 97,109,112, 98,108,101,110,100, 95, +115,112,101, 99, 0,114, 97,109,112, 95,115,104,111,119, 0,112, 97,100, 51, 0,114, 97,109,112,102, 97, 99, 95, 99,111,108, 0, +114, 97,109,112,102, 97, 99, 95,115,112,101, 99, 0, 42,103,114,111,117,112, 0,102,114,105, 99,116,105,111,110, 0,102,104, 0, +114,101,102,108,101, 99,116, 0,102,104,100,105,115,116, 0,120,121,102,114,105, 99,116, 0,100,121,110, 97,109,111,100,101, 0, +115,115,115, 95,114, 97,100,105,117,115, 91, 51, 93, 0,115,115,115, 95, 99,111,108, 91, 51, 93, 0,115,115,115, 95,101,114,114, +111,114, 0,115,115,115, 95,115, 99, 97,108,101, 0,115,115,115, 95,105,111,114, 0,115,115,115, 95, 99,111,108,102, 97, 99, 0, +115,115,115, 95,116,101,120,102, 97, 99, 0,115,115,115, 95,102,114,111,110,116, 0,115,115,115, 95, 98, 97, 99,107, 0,115,115, +115, 95,102,108, 97,103, 0,115,115,115, 95,112,114,101,115,101,116, 0,109, 97,112,116,111, 95,116,101,120,116,117,114,101,100, + 0,115,104, 97,100,111,119,111,110,108,121, 95,102,108, 97,103, 0,105,110,100,101,120, 0,103,112,117,109, 97,116,101,114,105, + 97,108, 0, 42, 98, 98, 0,115,101,108, 99,111,108, 49, 0,115,101,108, 99,111,108, 50, 0,113,117, 97,116, 91, 52, 93, 0,101, +120,112,120, 0,101,120,112,121, 0,101,120,112,122, 0,114, 97,100, 0,114, 97,100, 50, 0,115, 0, 42,109, 97,116, 0, 42,105, +109, 97,116, 0,101,108,101,109,115, 0,100,105,115,112, 0, 42,101,100,105,116,101,108,101,109,115, 0, 42, 42,109, 97,116, 0, +102,108, 97,103, 50, 0,116,111,116, 99,111,108, 0,119,105,114,101,115,105,122,101, 0,114,101,110,100,101,114,115,105,122,101, + 0,116,104,114,101,115,104, 0, 42,108, 97,115,116,101,108,101,109, 0,118,101, 99, 91, 51, 93, 91, 51, 93, 0, 97,108,102, 97, + 0,119,101,105,103,104,116, 0,104, 49, 0,104, 50, 0,102, 49, 0,102, 50, 0,102, 51, 0,104,105,100,101, 0,118,101, 99, 91, + 52, 93, 0,109, 97,116, 95,110,114, 0,112,110,116,115,117, 0,112,110,116,115,118, 0,114,101,115,111,108,117, 0,114,101,115, +111,108,118, 0,111,114,100,101,114,117, 0,111,114,100,101,114,118, 0,102,108, 97,103,117, 0,102,108, 97,103,118, 0, 42,107, +110,111,116,115,117, 0, 42,107,110,111,116,115,118, 0,116,105,108,116, 95,105,110,116,101,114,112, 0,114, 97,100,105,117,115, + 95,105,110,116,101,114,112, 0, 99,104, 97,114,105,100,120, 0,107,101,114,110, 0,119, 0,104, 0,110,117,114, 98,115, 0, 42, +107,101,121,105,110,100,101,120, 0,115,104, 97,112,101,110,114, 0,110,117,114, 98, 0, 42,101,100,105,116,110,117,114, 98, 0, + 42, 98,101,118,111, 98,106, 0, 42,116, 97,112,101,114,111, 98,106, 0, 42,116,101,120,116,111,110, 99,117,114,118,101, 0, 42, +112, 97,116,104, 0, 42,107,101,121, 0, 98,101,118, 0,100,114, 97,119,102,108, 97,103, 0,116,119,105,115,116, 95,109,111,100, +101, 0,116,119,105,115,116, 95,115,109,111,111,116,104, 0,115,109, 97,108,108, 99, 97,112,115, 95,115, 99, 97,108,101, 0,112, + 97,116,104,108,101,110, 0, 98,101,118,114,101,115,111,108, 0,119,105,100,116,104, 0,101,120,116, 49, 0,101,120,116, 50, 0, +114,101,115,111,108,117, 95,114,101,110, 0,114,101,115,111,108,118, 95,114,101,110, 0, 97, 99,116,110,117, 0, 42,108, 97,115, +116,115,101,108, 0,115,112, 97, 99,101,109,111,100,101, 0,115,112, 97, 99,105,110,103, 0,108,105,110,101,100,105,115,116, 0, +115,104,101, 97,114, 0,102,115,105,122,101, 0,119,111,114,100,115,112, 97, 99,101, 0,117,108,112,111,115, 0,117,108,104,101, +105,103,104,116, 0,120,111,102, 0,121,111,102, 0,108,105,110,101,119,105,100,116,104, 0, 42,115,116,114, 0, 42,115,101,108, + 98,111,120,101,115, 0, 42,101,100,105,116,102,111,110,116, 0,102, 97,109,105,108,121, 91, 50, 52, 93, 0, 42,118,102,111,110, +116, 0, 42,118,102,111,110,116, 98, 0, 42,118,102,111,110,116,105, 0, 42,118,102,111,110,116, 98,105, 0,115,101,112, 99,104, + 97,114, 0,116,111,116, 98,111,120, 0, 97, 99,116, 98,111,120, 0, 42,116, 98, 0,115,101,108,115,116, 97,114,116, 0,115,101, +108,101,110,100, 0, 42,115,116,114,105,110,102,111, 0, 99,117,114,105,110,102,111, 0, 98,101,118,102, 97, 99, 49, 0, 98,101, +118,102, 97, 99, 50, 0, 42,109,115,101,108,101, 99,116, 0, 42,109,112,111,108,121, 0, 42,109,116,112,111,108,121, 0, 42,109, +108,111,111,112, 0, 42,109,108,111,111,112,117,118, 0, 42,109,108,111,111,112, 99,111,108, 0, 42,109,102, 97, 99,101, 0, 42, +109,116,102, 97, 99,101, 0, 42,116,102, 97, 99,101, 0, 42,109,118,101,114,116, 0, 42,109,101,100,103,101, 0, 42,100,118,101, +114,116, 0, 42,109, 99,111,108, 0, 42,109,115,116,105, 99,107,121, 0, 42,116,101,120, 99,111,109,101,115,104, 0, 42,101,100, +105,116, 95, 98,116,109,101,115,104, 0,118,100, 97,116, 97, 0,101,100, 97,116, 97, 0,102,100, 97,116, 97, 0,112,100, 97,116, + 97, 0,108,100, 97,116, 97, 0,116,111,116,101,100,103,101, 0,116,111,116,102, 97, 99,101, 0,116,111,116,115,101,108,101, 99, +116, 0,116,111,116,112,111,108,121, 0,116,111,116,108,111,111,112, 0, 97, 99,116, 95,102, 97, 99,101, 0,115,109,111,111,116, +104,114,101,115,104, 0,115,117, 98,100,105,118, 0,115,117, 98,100,105,118,114, 0,115,117, 98,115,117,114,102,116,121,112,101, + 0,101,100,105,116,102,108, 97,103, 0, 42,109,114, 0, 42,116,112, 97,103,101, 0,117,118, 91, 52, 93, 91, 50, 93, 0, 99,111, +108, 91, 52, 93, 0,116,114, 97,110,115,112, 0,116,105,108,101, 0,117,110,119,114, 97,112, 0,118, 49, 0,118, 50, 0,118, 51, + 0,118, 52, 0,101,100, 99,111,100,101, 0, 99,114,101, 97,115,101, 0, 98,119,101,105,103,104,116, 0,100,101,102, 95,110,114, + 0, 42,100,119, 0,116,111,116,119,101,105,103,104,116, 0, 99,111, 91, 51, 93, 0,110,111, 91, 51, 93, 0,108,111,111,112,115, +116, 97,114,116, 0,118, 0,101, 0,117,118, 91, 50, 93, 0, 99,111, 91, 50, 93, 0,102, 0,105, 0,115, 91, 50, 53, 54, 93, 0, +116,111,116,100,105,115,112, 0,108,101,118,101,108, 0, 40, 42,100,105,115,112,115, 41, 40, 41, 0, 42,104,105,100,100,101,110, + 0,118, 91, 52, 93, 0,109,105,100, 0,112, 97,100, 91, 50, 93, 0,118, 91, 50, 93, 0, 42,102, 97, 99,101,115, 0, 42, 99,111, +108,102, 97, 99,101,115, 0, 42,101,100,103,101,115, 0, 42,118,101,114,116,115, 0,108,101,118,101,108,115, 0,108,101,118,101, +108, 95, 99,111,117,110,116, 0, 99,117,114,114,101,110,116, 0,110,101,119,108,118,108, 0,101,100,103,101,108,118,108, 0,112, +105,110,108,118,108, 0,114,101,110,100,101,114,108,118,108, 0,117,115,101, 95, 99,111,108, 0, 42,101,100,103,101, 95,102,108, + 97,103,115, 0, 42,101,100,103,101, 95, 99,114,101, 97,115,101,115, 0,115,116, 97, 99,107,105,110,100,101,120, 0, 42,101,114, +114,111,114, 0,109,111,100,105,102,105,101,114, 0, 42,116,101,120,116,117,114,101, 0, 42,109, 97,112, 95,111, 98,106,101, 99, +116, 0,117,118,108, 97,121,101,114, 95,110, 97,109,101, 91, 54, 52, 93, 0,117,118,108, 97,121,101,114, 95,116,109,112, 0,116, +101,120,109, 97,112,112,105,110,103, 0,115,117, 98,100,105,118, 84,121,112,101, 0,114,101,110,100,101,114, 76,101,118,101,108, +115, 0, 42,101,109, 67, 97, 99,104,101, 0, 42,109, 67, 97, 99,104,101, 0,115,116,114,101,110,103,116,104, 0,100,101,102, 97, +120,105,115, 0,112, 97,100, 91, 54, 93, 0,108,101,110,103,116,104, 0,114, 97,110,100,111,109,105,122,101, 0,115,101,101,100, + 0, 42,111, 98, 95, 97,114,109, 0, 42,115,116, 97,114,116, 95, 99, 97,112, 0, 42,101,110,100, 95, 99, 97,112, 0, 42, 99,117, +114,118,101, 95,111, 98, 0, 42,111,102,102,115,101,116, 95,111, 98, 0,111,102,102,115,101,116, 91, 51, 93, 0,115, 99, 97,108, +101, 91, 51, 93, 0,109,101,114,103,101, 95,100,105,115,116, 0,102,105,116, 95,116,121,112,101, 0,111,102,102,115,101,116, 95, +116,121,112,101, 0, 99,111,117,110,116, 0, 97,120,105,115, 0,116,111,108,101,114, 97,110, 99,101, 0, 42,109,105,114,114,111, +114, 95,111, 98, 0,115,112,108,105,116, 95, 97,110,103,108,101, 0,118, 97,108,117,101, 0,114,101,115, 0,118, 97,108, 95,102, +108, 97,103,115, 0,108,105,109, 95,102,108, 97,103,115, 0,101, 95,102,108, 97,103,115, 0, 98,101,118,101,108, 95, 97,110,103, +108,101, 0,100,101,102,103,114,112, 95,110, 97,109,101, 91, 54, 52, 93, 0, 42,100,111,109, 97,105,110, 0, 42,102,108,111,119, + 0, 42, 99,111,108,108, 0,116,105,109,101, 0,100,105,114,101, 99,116,105,111,110, 0,109,105,100,108,101,118,101,108, 0, 42, +112,114,111,106,101, 99,116,111,114,115, 91, 49, 48, 93, 0, 42,105,109, 97,103,101, 0,110,117,109, 95,112,114,111,106,101, 99, +116,111,114,115, 0, 97,115,112,101, 99,116,120, 0, 97,115,112,101, 99,116,121, 0,115, 99, 97,108,101,120, 0,115, 99, 97,108, +101,121, 0,112,101,114, 99,101,110,116, 0,102, 97, 99,101, 67,111,117,110,116, 0,102, 97, 99, 0,114,101,112,101, 97,116, 0, + 42,111, 98,106,101, 99,116, 99,101,110,116,101,114, 0,115,116, 97,114,116,120, 0,115,116, 97,114,116,121, 0,104,101,105,103, +104,116, 0,110, 97,114,114,111,119, 0,115,112,101,101,100, 0,100, 97,109,112, 0,102, 97,108,108,111,102,102, 0,116,105,109, +101,111,102,102,115, 0,108,105,102,101,116,105,109,101, 0,100,101,102,111,114,109,102,108, 97,103, 0,109,117,108,116,105, 0, + 42,112,114,101,118, 67,111,115, 0,115,117, 98,116, 97,114,103,101,116, 91, 54, 52, 93, 0,112, 97,114,101,110,116,105,110,118, + 91, 52, 93, 91, 52, 93, 0, 99,101,110,116, 91, 51, 93, 0, 42,105,110,100,101,120, 97,114, 0,116,111,116,105,110,100,101,120, + 0,102,111,114, 99,101, 0, 42, 99,108,111,116,104, 79, 98,106,101, 99,116, 0, 42,115,105,109, 95,112, 97,114,109,115, 0, 42, + 99,111,108,108, 95,112, 97,114,109,115, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101, 0,112,116, 99, 97, 99,104,101,115, + 0, 42,120, 0, 42,120,110,101,119, 0, 42,120,111,108,100, 0, 42, 99,117,114,114,101,110,116, 95,120,110,101,119, 0, 42, 99, +117,114,114,101,110,116, 95,120, 0, 42, 99,117,114,114,101,110,116, 95,118, 0, 42,109,102, 97, 99,101,115, 0,110,117,109,118, +101,114,116,115, 0,110,117,109,102, 97, 99,101,115, 0,116,105,109,101, 95,120, 0,116,105,109,101, 95,120,110,101,119, 0, 42, + 98,118,104,116,114,101,101, 0, 42,118, 0, 42,100,109, 0, 99,102,114, 97, 0,111,112,101,114, 97,116,105,111,110, 0,118,101, +114,116,101,120, 0,116,111,116,105,110,102,108,117,101,110, 99,101, 0,103,114,105,100,115,105,122,101, 0, 42, 98,105,110,100, +105,110,102,108,117,101,110, 99,101,115, 0, 42, 98,105,110,100,111,102,102,115,101,116,115, 0, 42, 98,105,110,100, 99, 97,103, +101, 99,111,115, 0,116,111,116, 99, 97,103,101,118,101,114,116, 0, 42,100,121,110,103,114,105,100, 0, 42,100,121,110,105,110, +102,108,117,101,110, 99,101,115, 0, 42,100,121,110,118,101,114,116,115, 0, 42,112, 97,100, 50, 0,100,121,110,103,114,105,100, +115,105,122,101, 0,100,121,110, 99,101,108,108,109,105,110, 91, 51, 93, 0,100,121,110, 99,101,108,108,119,105,100,116,104, 0, + 98,105,110,100,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42, 98,105,110,100,119,101,105,103,104,116,115, 0, 42, 98,105,110,100, + 99,111,115, 0, 40, 42, 98,105,110,100,102,117,110, 99, 41, 40, 41, 0, 42,112,115,121,115, 0,116,111,116,100,109,118,101,114, +116, 0,116,111,116,100,109,101,100,103,101, 0,116,111,116,100,109,102, 97, 99,101, 0,112,111,115,105,116,105,111,110, 0,114, + 97,110,100,111,109, 95,112,111,115,105,116,105,111,110, 0, 42,102, 97, 99,101,112, 97, 0,118,103,114,111,117,112, 0,112,114, +111,116,101, 99,116, 0,108,118,108, 0,115, 99,117,108,112,116,108,118,108, 0,116,111,116,108,118,108, 0,115,105,109,112,108, +101, 0, 42,102,115,115, 0, 42,116, 97,114,103,101,116, 0, 42, 97,117,120, 84, 97,114,103,101,116, 0,118,103,114,111,117,112, + 95,110, 97,109,101, 91, 54, 52, 93, 0,107,101,101,112, 68,105,115,116, 0,115,104,114,105,110,107, 84,121,112,101, 0,115,104, +114,105,110,107, 79,112,116,115, 0,112,114,111,106, 65,120,105,115, 0,115,117, 98,115,117,114,102, 76,101,118,101,108,115, 0, + 42,111,114,105,103,105,110, 0,102, 97, 99,116,111,114, 0,108,105,109,105,116, 91, 50, 93, 0,111,114,105,103,105,110, 79,112, +116,115, 0,111,102,102,115,101,116, 95,102, 97, 99, 0,111,102,102,115,101,116, 95,102, 97, 99, 95,118,103, 0, 99,114,101, 97, +115,101, 95,105,110,110,101,114, 0, 99,114,101, 97,115,101, 95,111,117,116,101,114, 0, 99,114,101, 97,115,101, 95,114,105,109, + 0,109, 97,116, 95,111,102,115, 0,109, 97,116, 95,111,102,115, 95,114,105,109, 0, 42,111, 98, 95, 97,120,105,115, 0,115,116, +101,112,115, 0,114,101,110,100,101,114, 95,115,116,101,112,115, 0,105,116,101,114, 0,115, 99,114,101,119, 95,111,102,115, 0, + 97,110,103,108,101, 0, 42,111, 99,101, 97,110, 0, 42,111, 99,101, 97,110, 99, 97, 99,104,101, 0,114,101,115,111,108,117,116, +105,111,110, 0,115,112, 97,116,105, 97,108, 95,115,105,122,101, 0,119,105,110,100, 95,118,101,108,111, 99,105,116,121, 0,115, +109, 97,108,108,101,115,116, 95,119, 97,118,101, 0,119, 97,118,101, 95, 97,108,105,103,110,109,101,110,116, 0,119, 97,118,101, + 95,100,105,114,101, 99,116,105,111,110, 0,119, 97,118,101, 95,115, 99, 97,108,101, 0, 99,104,111,112, 95, 97,109,111,117,110, +116, 0,102,111, 97,109, 95, 99,111,118,101,114, 97,103,101, 0, 98, 97,107,101,115,116, 97,114,116, 0, 98, 97,107,101,101,110, +100, 0, 99, 97, 99,104,101,112, 97,116,104, 91, 49, 48, 50, 52, 93, 0,102,111, 97,109,108, 97,121,101,114,110, 97,109,101, 91, + 54, 52, 93, 0, 99, 97, 99,104,101,100, 0,103,101,111,109,101,116,114,121, 95,109,111,100,101, 0,114,101,102,114,101,115,104, + 0,114,101,112,101, 97,116, 95,120, 0,114,101,112,101, 97,116, 95,121, 0,102,111, 97,109, 95,102, 97,100,101, 0, 42,111, 98, +106,101, 99,116, 95,102,114,111,109, 0, 42,111, 98,106,101, 99,116, 95,116,111, 0,102, 97,108,108,111,102,102, 95,114, 97,100, +105,117,115, 0,101,100,105,116, 95,102,108, 97,103,115, 0,100,101,102, 97,117,108,116, 95,119,101,105,103,104,116, 0, 42, 99, +109, 97,112, 95, 99,117,114,118,101, 0, 97,100,100, 95,116,104,114,101,115,104,111,108,100, 0,114,101,109, 95,116,104,114,101, +115,104,111,108,100, 0,109, 97,115,107, 95, 99,111,110,115,116, 97,110,116, 0,109, 97,115,107, 95,100,101,102,103,114,112, 95, +110, 97,109,101, 91, 54, 52, 93, 0,109, 97,115,107, 95,116,101,120, 95,117,115,101, 95, 99,104, 97,110,110,101,108, 0, 42,109, + 97,115,107, 95,116,101,120,116,117,114,101, 0, 42,109, 97,115,107, 95,116,101,120, 95,109, 97,112, 95,111, 98,106, 0,109, 97, +115,107, 95,116,101,120, 95,109, 97,112,112,105,110,103, 0,109, 97,115,107, 95,116,101,120, 95,117,118,108, 97,121,101,114, 95, +110, 97,109,101, 91, 54, 52, 93, 0,112, 97,100, 95,105, 49, 0,100,101,102,103,114,112, 95,110, 97,109,101, 95, 97, 91, 54, 52, + 93, 0,100,101,102,103,114,112, 95,110, 97,109,101, 95, 98, 91, 54, 52, 93, 0,100,101,102, 97,117,108,116, 95,119,101,105,103, +104,116, 95, 97, 0,100,101,102, 97,117,108,116, 95,119,101,105,103,104,116, 95, 98, 0,109,105,120, 95,109,111,100,101, 0,109, +105,120, 95,115,101,116, 0,112, 97,100, 95, 99, 49, 91, 54, 93, 0,112,114,111,120,105,109,105,116,121, 95,109,111,100,101, 0, +112,114,111,120,105,109,105,116,121, 95,102,108, 97,103,115, 0, 42,112,114,111,120,105,109,105,116,121, 95,111, 98, 95,116, 97, +114,103,101,116, 0,109,105,110, 95,100,105,115,116, 0,109, 97,120, 95,100,105,115,116, 0,112, 97,100, 95,115, 49, 0, 42, 99, + 97,110,118, 97,115, 0, 42, 98,114,117,115,104, 0,116,104,114,101,115,104,111,108,100, 0,115, 99, 97,108,101, 0,104,101,114, +109,105,116,101, 95,110,117,109, 0, 42,108, 97,116,116, 0,112,110,116,115,119, 0,111,112,110,116,115,117, 0,111,112,110,116, +115,118, 0,111,112,110,116,115,119, 0,116,121,112,101,117, 0,116,121,112,101,118, 0,116,121,112,101,119, 0,102,117, 0,102, +118, 0,102,119, 0,100,117, 0,100,118, 0,100,119, 0, 42,100,101,102, 0, 42,108, 97,116,116,105, 99,101,100, 97,116, 97, 0, +108, 97,116,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42,101,100,105,116,108, 97,116,116, 0,118,101, 99, 91, 56, 93, 91, 51, 93, + 0, 42,115, 99,117,108,112,116, 0,112, 97,114,116,121,112,101, 0,112, 97,114, 49, 0,112, 97,114, 50, 0,112, 97,114, 51, 0, +112, 97,114,115,117, 98,115,116,114, 91, 54, 52, 93, 0, 42,116,114, 97, 99,107, 0, 42,112,114,111,120,121, 0, 42,112,114,111, +120,121, 95,103,114,111,117,112, 0, 42,112,114,111,120,121, 95,102,114,111,109, 0, 42, 97, 99,116,105,111,110, 0, 42,112,111, +115,101,108,105, 98, 0, 42,112,111,115,101, 0, 42,103,112,100, 0, 97,118,115, 0, 42,109,112, 97,116,104, 0, 99,111,110,115, +116,114, 97,105,110,116, 67,104, 97,110,110,101,108,115, 0,101,102,102,101, 99,116, 0,100,101,102, 98, 97,115,101, 0,109,111, +100,105,102,105,101,114,115, 0,114,101,115,116,111,114,101, 95,109,111,100,101, 0, 42,109, 97,116, 98,105,116,115, 0, 97, 99, +116, 99,111,108, 0,100,108,111, 99, 91, 51, 93, 0,111,114,105,103, 91, 51, 93, 0,100,115,105,122,101, 91, 51, 93, 0,100,115, + 99, 97,108,101, 91, 51, 93, 0,100,114,111,116, 91, 51, 93, 0,100,113,117, 97,116, 91, 52, 93, 0,114,111,116, 65,120,105,115, + 91, 51, 93, 0,100,114,111,116, 65,120,105,115, 91, 51, 93, 0,114,111,116, 65,110,103,108,101, 0,100,114,111,116, 65,110,103, +108,101, 0,111, 98,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 99,111,110,115,116,105,110,118, 91, 52, 93, 91, 52, 93, 0,105,109, + 97,116, 95,114,101,110, 91, 52, 93, 91, 52, 93, 0,108, 97,121, 0,112, 97,100, 54, 0, 99,111,108, 98,105,116,115, 0,116,114, + 97,110,115,102,108, 97,103, 0,112,114,111,116,101, 99,116,102,108, 97,103, 0,116,114, 97, 99,107,102,108, 97,103, 0,117,112, +102,108, 97,103, 0,110,108, 97,102,108, 97,103, 0,105,112,111,102,108, 97,103, 0,115, 99, 97,102,108, 97,103, 0,115, 99, 97, +118,105,115,102,108, 97,103, 0,112, 97,100, 53, 0,100,117,112,111,110, 0,100,117,112,111,102,102, 0,100,117,112,115,116, 97, + 0,100,117,112,101,110,100, 0,115,102, 0,109, 97,115,115, 0,100, 97,109,112,105,110,103, 0,105,110,101,114,116,105, 97, 0, +102,111,114,109,102, 97, 99,116,111,114, 0,114,100, 97,109,112,105,110,103, 0,109, 97,114,103,105,110, 0,109, 97,120, 95,118, +101,108, 0,109,105,110, 95,118,101,108, 0,109, 95, 99,111,110,116, 97, 99,116, 80,114,111, 99,101,115,115,105,110,103, 84,104, +114,101,115,104,111,108,100, 0,111, 98,115,116, 97, 99,108,101, 82, 97,100, 0,114,111,116,109,111,100,101, 0, 98,111,117,110, +100,116,121,112,101, 0, 99,111,108,108,105,115,105,111,110, 95, 98,111,117,110,100,116,121,112,101, 0,114,101,115,116,114,105, + 99,116,102,108, 97,103, 0,100,116, 0,101,109,112,116,121, 95,100,114, 97,119,116,121,112,101, 0,101,109,112,116,121, 95,100, +114, 97,119,115,105,122,101, 0,100,117,112,102, 97, 99,101,115, 99, 97, 0,112,114,111,112, 0,115,101,110,115,111,114,115, 0, + 99,111,110,116,114,111,108,108,101,114,115, 0, 97, 99,116,117, 97,116,111,114,115, 0, 98, 98,115,105,122,101, 91, 51, 93, 0, + 97, 99,116,100,101,102, 0,103, 97,109,101,102,108, 97,103, 0,103, 97,109,101,102,108, 97,103, 50, 0, 42, 98,115,111,102,116, + 0,115,111,102,116,102,108, 97,103, 0, 97,110,105,115,111,116,114,111,112,105, 99, 70,114,105, 99,116,105,111,110, 91, 51, 93, + 0, 99,111,110,115,116,114, 97,105,110,116,115, 0,110,108, 97,115,116,114,105,112,115, 0,104,111,111,107,115, 0,112, 97,114, +116,105, 99,108,101,115,121,115,116,101,109, 0, 42,115,111,102,116, 0, 42,100,117,112, 95,103,114,111,117,112, 0, 98,111,100, +121, 95,116,121,112,101, 0,115,104, 97,112,101,102,108, 97,103, 0, 42,102,108,117,105,100,115,105,109, 83,101,116,116,105,110, +103,115, 0, 42,100,101,114,105,118,101,100, 68,101,102,111,114,109, 0, 42,100,101,114,105,118,101,100, 70,105,110, 97,108, 0, +108, 97,115,116, 68, 97,116, 97, 77, 97,115,107, 0, 99,117,115,116,111,109,100, 97,116, 97, 95,109, 97,115,107, 0,115,116, 97, +116,101, 0,105,110,105,116, 95,115,116, 97,116,101, 0,103,112,117,108, 97,109,112, 0,112, 99, 95,105,100,115, 0, 42,100,117, +112,108,105,108,105,115,116, 0,105,109, 97, 95,111,102,115, 91, 50, 93, 0, 99,117,114,105,110,100,101,120, 0, 97, 99,116,105, +118,101, 0,111,114,105,103,108, 97,121, 0,111,109, 97,116, 91, 52, 93, 91, 52, 93, 0,111,114, 99,111, 91, 51, 93, 0,110,111, + 95,100,114, 97,119, 0, 97,110,105,109, 97,116,101,100, 0,100,101,102,108,101, 99,116, 0,102,111,114, 99,101,102,105,101,108, +100, 0,115,104, 97,112,101, 0,116,101,120, 95,109,111,100,101, 0,107,105,110,107, 0,107,105,110,107, 95, 97,120,105,115, 0, +122,100,105,114, 0,102, 95,115,116,114,101,110,103,116,104, 0,102, 95,100, 97,109,112, 0,102, 95,102,108,111,119, 0,102, 95, +115,105,122,101, 0,102, 95,112,111,119,101,114, 0,109, 97,120,100,105,115,116, 0,109,105,110,100,105,115,116, 0,102, 95,112, +111,119,101,114, 95,114, 0,109, 97,120,114, 97,100, 0,109,105,110,114, 97,100, 0,112,100,101,102, 95,100, 97,109,112, 0,112, +100,101,102, 95,114,100, 97,109,112, 0,112,100,101,102, 95,112,101,114,109, 0,112,100,101,102, 95,102,114,105, 99,116, 0,112, +100,101,102, 95,114,102,114,105, 99,116, 0,112,100,101,102, 95,115,116,105, 99,107,110,101,115,115, 0, 97, 98,115,111,114,112, +116,105,111,110, 0,112,100,101,102, 95,115, 98,100, 97,109,112, 0,112,100,101,102, 95,115, 98,105,102,116, 0,112,100,101,102, + 95,115, 98,111,102,116, 0, 99,108,117,109,112, 95,102, 97, 99, 0, 99,108,117,109,112, 95,112,111,119, 0,107,105,110,107, 95, +102,114,101,113, 0,107,105,110,107, 95,115,104, 97,112,101, 0,107,105,110,107, 95, 97,109,112, 0,102,114,101,101, 95,101,110, +100, 0,116,101,120, 95,110, 97, 98,108, 97, 0, 42,114,110,103, 0,102, 95,110,111,105,115,101, 0,119,101,105,103,104,116, 91, + 49, 51, 93, 0,103,108,111, 98, 97,108, 95,103,114, 97,118,105,116,121, 0,114,116, 91, 51, 93, 0,116,111,116,100, 97,116, 97, + 0,102,114, 97,109,101, 0,116,111,116,112,111,105,110,116, 0,100, 97,116, 97, 95,116,121,112,101,115, 0, 42,100, 97,116, 97, + 91, 56, 93, 0, 42, 99,117,114, 91, 56, 93, 0,101,120,116,114, 97,100, 97,116, 97, 0,115,116,101,112, 0,115,105,109,102,114, + 97,109,101, 0,115,116, 97,114,116,102,114, 97,109,101, 0,101,110,100,102,114, 97,109,101, 0,101,100,105,116,102,114, 97,109, +101, 0,108, 97,115,116, 95,101,120, 97, 99,116, 0,108, 97,115,116, 95,118, 97,108,105,100, 0, 99,111,109,112,114,101,115,115, +105,111,110, 0,112,114,101,118, 95,110, 97,109,101, 91, 54, 52, 93, 0,105,110,102,111, 91, 54, 52, 93, 0,112, 97,116,104, 91, + 49, 48, 50, 52, 93, 0, 42, 99, 97, 99,104,101,100, 95,102,114, 97,109,101,115, 0,109,101,109, 95, 99, 97, 99,104,101, 0, 42, +101,100,105,116, 0, 40, 42,102,114,101,101, 95,101,100,105,116, 41, 40, 41, 0,108,105,110, 83,116,105,102,102, 0, 97,110,103, + 83,116,105,102,102, 0,118,111,108,117,109,101, 0,118,105,116,101,114, 97,116,105,111,110,115, 0,112,105,116,101,114, 97,116, +105,111,110,115, 0,100,105,116,101,114, 97,116,105,111,110,115, 0, 99,105,116,101,114, 97,116,105,111,110,115, 0,107, 83, 82, + 72, 82, 95, 67, 76, 0,107, 83, 75, 72, 82, 95, 67, 76, 0,107, 83, 83, 72, 82, 95, 67, 76, 0,107, 83, 82, 95, 83, 80, 76, 84, + 95, 67, 76, 0,107, 83, 75, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 83, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 86, 67, 70, + 0,107, 68, 80, 0,107, 68, 71, 0,107, 76, 70, 0,107, 80, 82, 0,107, 86, 67, 0,107, 68, 70, 0,107, 77, 84, 0,107, 67, 72, + 82, 0,107, 75, 72, 82, 0,107, 83, 72, 82, 0,107, 65, 72, 82, 0, 99,111,108,108,105,115,105,111,110,102,108, 97,103,115, 0, +110,117,109, 99,108,117,115,116,101,114,105,116,101,114, 97,116,105,111,110,115, 0,119,101,108,100,105,110,103, 0,116,111,116, +115,112,114,105,110,103, 0, 42, 98,112,111,105,110,116, 0, 42, 98,115,112,114,105,110,103, 0,109,115,103, 95,108,111, 99,107, + 0,109,115,103, 95,118, 97,108,117,101, 0,110,111,100,101,109, 97,115,115, 0,110, 97,109,101,100, 86, 71, 95, 77, 97,115,115, + 91, 54, 52, 93, 0,103,114, 97,118, 0,109,101,100,105, 97,102,114,105, 99,116, 0,114,107,108,105,109,105,116, 0,112,104,121, +115,105, 99,115, 95,115,112,101,101,100, 0,103,111, 97,108,115,112,114,105,110,103, 0,103,111, 97,108,102,114,105, 99,116, 0, +109,105,110,103,111, 97,108, 0,109, 97,120,103,111, 97,108, 0,100,101,102,103,111, 97,108, 0,118,101,114,116,103,114,111,117, +112, 0,110, 97,109,101,100, 86, 71, 95, 83,111,102,116,103,111, 97,108, 91, 54, 52, 93, 0,102,117,122,122,121,110,101,115,115, + 0,105,110,115,112,114,105,110,103, 0,105,110,102,114,105, 99,116, 0,110, 97,109,101,100, 86, 71, 95, 83,112,114,105,110,103, + 95, 75, 91, 54, 52, 93, 0,101,102,114, 97, 0,105,110,116,101,114,118, 97,108, 0,108,111, 99, 97,108, 0,115,111,108,118,101, +114,102,108, 97,103,115, 0, 42, 42,107,101,121,115, 0,116,111,116,112,111,105,110,116,107,101,121, 0,115,101, 99,111,110,100, +115,112,114,105,110,103, 0, 99,111,108, 98, 97,108,108, 0, 98, 97,108,108,100, 97,109,112, 0, 98, 97,108,108,115,116,105,102, +102, 0,115, 98, 99, 95,109,111,100,101, 0, 97,101,114,111,101,100,103,101, 0,109,105,110,108,111,111,112,115, 0,109, 97,120, +108,111,111,112,115, 0, 99,104,111,107,101, 0,115,111,108,118,101,114, 95, 73, 68, 0,112,108, 97,115,116,105, 99, 0,115,112, +114,105,110,103,112,114,101,108,111, 97,100, 0, 42,115, 99,114, 97,116, 99,104, 0,115,104,101, 97,114,115,116,105,102,102, 0, +105,110,112,117,115,104, 0, 42,112,111,105,110,116, 99, 97, 99,104,101, 0, 42,101,102,102,101, 99,116,111,114, 95,119,101,105, +103,104,116,115, 0,108, 99,111,109, 91, 51, 93, 0,108,114,111,116, 91, 51, 93, 91, 51, 93, 0,108,115, 99, 97,108,101, 91, 51, + 93, 91, 51, 93, 0,108, 97,115,116, 95,102,114, 97,109,101, 0,118,101,108, 91, 51, 93, 0, 42,102,109,100, 0,115,104,111,119, + 95, 97,100,118, 97,110, 99,101,100,111,112,116,105,111,110,115, 0,114,101,115,111,108,117,116,105,111,110,120,121,122, 0,112, +114,101,118,105,101,119,114,101,115,120,121,122, 0,114,101, 97,108,115,105,122,101, 0,103,117,105, 68,105,115,112,108, 97,121, + 77,111,100,101, 0,114,101,110,100,101,114, 68,105,115,112,108, 97,121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,121, + 86, 97,108,117,101, 0,118,105,115, 99,111,115,105,116,121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,121, 69,120,112, +111,110,101,110,116, 0,103,114, 97,118, 91, 51, 93, 0, 97,110,105,109, 83,116, 97,114,116, 0, 97,110,105,109, 69,110,100, 0, + 98, 97,107,101, 83,116, 97,114,116, 0, 98, 97,107,101, 69,110,100, 0,102,114, 97,109,101, 79,102,102,115,101,116, 0,103,115, +116, 97,114, 0,109, 97,120, 82,101,102,105,110,101, 0,105,110,105, 86,101,108,120, 0,105,110,105, 86,101,108,121, 0,105,110, +105, 86,101,108,122, 0, 42,111,114,103, 77,101,115,104, 0, 42,109,101,115,104, 66, 66, 0,115,117,114,102,100, 97,116, 97, 80, + 97,116,104, 91, 49, 48, 50, 52, 93, 0, 98, 98, 83,116, 97,114,116, 91, 51, 93, 0, 98, 98, 83,105,122,101, 91, 51, 93, 0,116, +121,112,101, 70,108, 97,103,115, 0,100,111,109, 97,105,110, 78,111,118,101, 99,103,101,110, 0,118,111,108,117,109,101, 73,110, +105,116, 84,121,112,101, 0,112, 97,114,116, 83,108,105,112, 86, 97,108,117,101, 0,103,101,110,101,114, 97,116,101, 84,114, 97, + 99,101,114,115, 0,103,101,110,101,114, 97,116,101, 80, 97,114,116,105, 99,108,101,115, 0,115,117,114,102, 97, 99,101, 83,109, +111,111,116,104,105,110,103, 0,115,117,114,102, 97, 99,101, 83,117, 98,100,105,118,115, 0,112, 97,114,116,105, 99,108,101, 73, +110,102, 83,105,122,101, 0,112, 97,114,116,105, 99,108,101, 73,110,102, 65,108,112,104, 97, 0,102, 97,114, 70,105,101,108,100, + 83,105,122,101, 0, 42,109,101,115,104, 86,101,108,111, 99,105,116,105,101,115, 0, 99,112,115, 84,105,109,101, 83,116, 97,114, +116, 0, 99,112,115, 84,105,109,101, 69,110,100, 0, 99,112,115, 81,117, 97,108,105,116,121, 0, 97,116,116,114, 97, 99,116,102, +111,114, 99,101, 83,116,114,101,110,103,116,104, 0, 97,116,116,114, 97, 99,116,102,111,114, 99,101, 82, 97,100,105,117,115, 0, +118,101,108,111, 99,105,116,121,102,111,114, 99,101, 83,116,114,101,110,103,116,104, 0,118,101,108,111, 99,105,116,121,102,111, +114, 99,101, 82, 97,100,105,117,115, 0,108, 97,115,116,103,111,111,100,102,114, 97,109,101, 0, 97,110,105,109, 82, 97,116,101, + 0,109,105,115,116,121,112,101, 0,104,111,114,114, 0,104,111,114,103, 0,104,111,114, 98, 0,122,101,110,114, 0,122,101,110, +103, 0,122,101,110, 98, 0,102, 97,115,116, 99,111,108, 0,101,120,112,111,115,117,114,101, 0,101,120,112, 0,114, 97,110,103, +101, 0,108,105,110,102, 97, 99, 0,108,111,103,102, 97, 99, 0,103,114, 97,118,105,116,121, 0, 97, 99,116,105,118,105,116,121, + 66,111,120, 82, 97,100,105,117,115, 0,115,107,121,116,121,112,101, 0,111, 99, 99,108,117,115,105,111,110, 82,101,115, 0,112, +104,121,115,105, 99,115, 69,110,103,105,110,101, 0,116,105, 99,114, 97,116,101, 0,109, 97,120,108,111,103,105, 99,115,116,101, +112, 0,112,104,121,115,117, 98,115,116,101,112, 0,109, 97,120,112,104,121,115,116,101,112, 0,109,105,115,105, 0,109,105,115, +116,115,116, 97, 0,109,105,115,116,100,105,115,116, 0,109,105,115,116,104,105, 0,115,116, 97,114,114, 0,115,116, 97,114,103, + 0,115,116, 97,114, 98, 0,115,116, 97,114,107, 0,115,116, 97,114,115,105,122,101, 0,115,116, 97,114,109,105,110,100,105,115, +116, 0,115,116, 97,114,100,105,115,116, 0,115,116, 97,114, 99,111,108,110,111,105,115,101, 0,100,111,102,115,116, 97, 0,100, +111,102,101,110,100, 0,100,111,102,109,105,110, 0,100,111,102,109, 97,120, 0, 97,111,100,105,115,116, 0, 97,111,100,105,115, +116,102, 97, 99, 0, 97,111,101,110,101,114,103,121, 0, 97,111, 98,105, 97,115, 0, 97,111,109,111,100,101, 0, 97,111,115, 97, +109,112, 0, 97,111,109,105,120, 0, 97,111, 99,111,108,111,114, 0, 97,111, 95, 97,100, 97,112,116, 95,116,104,114,101,115,104, + 0, 97,111, 95, 97,100, 97,112,116, 95,115,112,101,101,100, 95,102, 97, 99, 0, 97,111, 95, 97,112,112,114,111,120, 95,101,114, +114,111,114, 0, 97,111, 95, 97,112,112,114,111,120, 95, 99,111,114,114,101, 99,116,105,111,110, 0, 97,111, 95,105,110,100,105, +114,101, 99,116, 95,101,110,101,114,103,121, 0, 97,111, 95,101,110,118, 95,101,110,101,114,103,121, 0, 97,111, 95,112, 97,100, + 50, 0, 97,111, 95,105,110,100,105,114,101, 99,116, 95, 98,111,117,110, 99,101,115, 0, 97,111, 95,112, 97,100, 0, 97,111, 95, +115, 97,109,112, 95,109,101,116,104,111,100, 0, 97,111, 95,103, 97,116,104,101,114, 95,109,101,116,104,111,100, 0, 97,111, 95, + 97,112,112,114,111,120, 95,112, 97,115,115,101,115, 0, 42, 97,111,115,112,104,101,114,101, 0, 42, 97,111,116, 97, 98,108,101, +115, 0,115,101,108, 99,111,108, 0,115,120, 0,115,121, 0, 42,108,112, 70,111,114,109, 97,116, 0, 42,108,112, 80, 97,114,109, +115, 0, 99, 98, 70,111,114,109, 97,116, 0, 99, 98, 80, 97,114,109,115, 0,102, 99, 99, 84,121,112,101, 0,102, 99, 99, 72, 97, +110,100,108,101,114, 0,100,119, 75,101,121, 70,114, 97,109,101, 69,118,101,114,121, 0,100,119, 81,117, 97,108,105,116,121, 0, +100,119, 66,121,116,101,115, 80,101,114, 83,101, 99,111,110,100, 0,100,119, 70,108, 97,103,115, 0,100,119, 73,110,116,101,114, +108,101, 97,118,101, 69,118,101,114,121, 0, 97,118,105, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42, 99,100, + 80, 97,114,109,115, 0, 42,112, 97,100, 0, 99,100, 83,105,122,101, 0,113,116, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, + 56, 93, 0, 99,111,100,101, 99, 84,121,112,101, 0, 99,111,100,101, 99, 83,112, 97,116,105, 97,108, 81,117, 97,108,105,116,121, + 0, 99,111,100,101, 99, 0, 99,111,100,101, 99, 70,108, 97,103,115, 0, 99,111,108,111,114, 68,101,112,116,104, 0, 99,111,100, +101, 99, 84,101,109,112,111,114, 97,108, 81,117, 97,108,105,116,121, 0,109,105,110, 83,112, 97,116,105, 97,108, 81,117, 97,108, +105,116,121, 0,109,105,110, 84,101,109,112,111,114, 97,108, 81,117, 97,108,105,116,121, 0,107,101,121, 70,114, 97,109,101, 82, + 97,116,101, 0, 98,105,116, 82, 97,116,101, 0, 97,117,100,105,111, 99,111,100,101, 99, 84,121,112,101, 0, 97,117,100,105,111, + 83, 97,109,112,108,101, 82, 97,116,101, 0, 97,117,100,105,111, 66,105,116, 68,101,112,116,104, 0, 97,117,100,105,111, 67,104, + 97,110,110,101,108,115, 0, 97,117,100,105,111, 67,111,100,101, 99, 70,108, 97,103,115, 0, 97,117,100,105,111, 66,105,116, 82, + 97,116,101, 0, 97,117,100,105,111, 95, 99,111,100,101, 99, 0,118,105,100,101,111, 95, 98,105,116,114, 97,116,101, 0, 97,117, +100,105,111, 95, 98,105,116,114, 97,116,101, 0, 97,117,100,105,111, 95,109,105,120,114, 97,116,101, 0, 97,117,100,105,111, 95, + 99,104, 97,110,110,101,108,115, 0, 97,117,100,105,111, 95,112, 97,100, 0, 97,117,100,105,111, 95,118,111,108,117,109,101, 0, +103,111,112, 95,115,105,122,101, 0,114, 99, 95,109,105,110, 95,114, 97,116,101, 0,114, 99, 95,109, 97,120, 95,114, 97,116,101, + 0,114, 99, 95, 98,117,102,102,101,114, 95,115,105,122,101, 0,109,117,120, 95,112, 97, 99,107,101,116, 95,115,105,122,101, 0, +109,117,120, 95,114, 97,116,101, 0,109,105,120,114, 97,116,101, 0,109, 97,105,110, 0,115,112,101,101,100, 95,111,102, 95,115, +111,117,110,100, 0,100,111,112,112,108,101,114, 95,102, 97, 99,116,111,114, 0,100,105,115,116, 97,110, 99,101, 95,109,111,100, +101,108, 0, 42,109, 97,116, 95,111,118,101,114,114,105,100,101, 0, 42,108,105,103,104,116, 95,111,118,101,114,114,105,100,101, + 0,108, 97,121, 95,122,109, 97,115,107, 0,108, 97,121, 95,101,120, 99,108,117,100,101, 0,108, 97,121,102,108, 97,103, 0,112, + 97,115,115,102,108, 97,103, 0,112, 97,115,115, 95,120,111,114, 0,115, 97,109,112,108,101,115, 0,105,109,116,121,112,101, 0, +112,108, 97,110,101,115, 0,113,117, 97,108,105,116,121, 0, 99,111,109,112,114,101,115,115, 0,101,120,114, 95, 99,111,100,101, + 99, 0, 99,105,110,101,111,110, 95,102,108, 97,103, 0, 99,105,110,101,111,110, 95,119,104,105,116,101, 0, 99,105,110,101,111, +110, 95, 98,108, 97, 99,107, 0, 99,105,110,101,111,110, 95,103, 97,109,109, 97, 0,106,112, 50, 95,102,108, 97,103, 0,105,109, + 95,102,111,114,109, 97,116, 0, 42, 97,118,105, 99,111,100,101, 99,100, 97,116, 97, 0, 42,113,116, 99,111,100,101, 99,100, 97, +116, 97, 0,113,116, 99,111,100,101, 99,115,101,116,116,105,110,103,115, 0,102,102, 99,111,100,101, 99,100, 97,116, 97, 0,115, +117, 98,102,114, 97,109,101, 0,112,115,102,114, 97, 0,112,101,102,114, 97, 0,105,109, 97,103,101,115, 0,102,114, 97,109, 97, +112,116,111, 0,116,104,114,101, 97,100,115, 0,102,114, 97,109,101,108,101,110, 0, 98,108,117,114,102, 97, 99, 0,101,100,103, +101, 82, 0,101,100,103,101, 71, 0,101,100,103,101, 66, 0,102,117,108,108,115, 99,114,101,101,110, 0,120,112,108, 97,121, 0, +121,112,108, 97,121, 0,102,114,101,113,112,108, 97,121, 0, 97,116,116,114,105, 98, 0,102,114, 97,109,101, 95,115,116,101,112, + 0,115,116,101,114,101,111,109,111,100,101, 0,100,105,109,101,110,115,105,111,110,115,112,114,101,115,101,116, 0,109, 97,120, +105,109,115,105,122,101, 0,120,115, 99,104, 0,121,115, 99,104, 0,120,112, 97,114,116,115, 0,121,112, 97,114,116,115, 0,115, +117, 98,105,109,116,121,112,101, 0,100,105,115,112,108, 97,121,109,111,100,101, 0,115, 99,101,109,111,100,101, 0,114, 97,121, +116,114, 97, 99,101, 95,111,112,116,105,111,110,115, 0,114, 97,121,116,114, 97, 99,101, 95,115,116,114,117, 99,116,117,114,101, + 0,111, 99,114,101,115, 0,112, 97,100, 52, 0, 97,108,112,104, 97,109,111,100,101, 0,111,115, 97, 0,102,114,115, 95,115,101, + 99, 0,101,100,103,101,105,110,116, 0,115, 97,102,101,116,121, 0, 98,111,114,100,101,114, 0,100,105,115,112,114,101, 99,116, + 0,108, 97,121,101,114,115, 0, 97, 99,116,108, 97,121, 0,109, 98,108,117,114, 95,115, 97,109,112,108,101,115, 0,120, 97,115, +112, 0,121, 97,115,112, 0,102,114,115, 95,115,101, 99, 95, 98, 97,115,101, 0,103, 97,117,115,115, 0, 99,111,108,111,114, 95, +109,103,116, 95,102,108, 97,103, 0,112,111,115,116,103, 97,109,109, 97, 0,112,111,115,116,104,117,101, 0,112,111,115,116,115, + 97,116, 0,100,105,116,104,101,114, 95,105,110,116,101,110,115,105,116,121, 0, 98, 97,107,101, 95,111,115, 97, 0, 98, 97,107, +101, 95,102,105,108,116,101,114, 0, 98, 97,107,101, 95,109,111,100,101, 0, 98, 97,107,101, 95,102,108, 97,103, 0, 98, 97,107, +101, 95,110,111,114,109, 97,108, 95,115,112, 97, 99,101, 0, 98, 97,107,101, 95,113,117, 97,100, 95,115,112,108,105,116, 0, 98, + 97,107,101, 95,109, 97,120,100,105,115,116, 0, 98, 97,107,101, 95, 98,105, 97,115,100,105,115,116, 0, 98, 97,107,101, 95,112, + 97,100, 0,112,105, 99, 91, 49, 48, 50, 52, 93, 0,115,116, 97,109,112, 0,115,116, 97,109,112, 95,102,111,110,116, 95,105,100, + 0,115,116, 97,109,112, 95,117,100, 97,116, 97, 91, 55, 54, 56, 93, 0,102,103, 95,115,116, 97,109,112, 91, 52, 93, 0, 98,103, + 95,115,116, 97,109,112, 91, 52, 93, 0,115,101,113, 95,112,114,101,118, 95,116,121,112,101, 0,115,101,113, 95,114,101,110,100, + 95,116,121,112,101, 0,115,101,113, 95,102,108, 97,103, 0,112, 97,100, 53, 91, 53, 93, 0,115,105,109,112,108,105,102,121, 95, +102,108, 97,103, 0,115,105,109,112,108,105,102,121, 95,115,117, 98,115,117,114,102, 0,115,105,109,112,108,105,102,121, 95,115, +104, 97,100,111,119,115, 97,109,112,108,101,115, 0,115,105,109,112,108,105,102,121, 95,112, 97,114,116,105, 99,108,101,115, 0, +115,105,109,112,108,105,102,121, 95, 97,111,115,115,115, 0, 99,105,110,101,111,110,119,104,105,116,101, 0, 99,105,110,101,111, +110, 98,108, 97, 99,107, 0, 99,105,110,101,111,110,103, 97,109,109, 97, 0,106,112, 50, 95,112,114,101,115,101,116, 0,106,112, + 50, 95,100,101,112,116,104, 0,114,112, 97,100, 51, 0,100,111,109,101,114,101,115, 0,100,111,109,101,109,111,100,101, 0,100, +111,109,101, 97,110,103,108,101, 0,100,111,109,101,116,105,108,116, 0,100,111,109,101,114,101,115, 98,117,102, 0, 42,100,111, +109,101,116,101,120,116, 0,101,110,103,105,110,101, 91, 51, 50, 93, 0,110, 97,109,101, 91, 51, 50, 93, 0,112, 97,114,116,105, + 99,108,101, 95,112,101,114, 99, 0,115,117, 98,115,117,114,102, 95,109, 97,120, 0,115,104, 97,100, 98,117,102,115, 97,109,112, +108,101, 95,109, 97,120, 0, 97,111, 95,101,114,114,111,114, 0,116,105,108,116, 0,114,101,115, 98,117,102, 0, 42,119, 97,114, +112,116,101,120,116, 0, 99,111,108, 91, 51, 93, 0, 99,101,108,108,115,105,122,101, 0, 99,101,108,108,104,101,105,103,104,116, + 0, 97,103,101,110,116,109, 97,120,115,108,111,112,101, 0, 97,103,101,110,116,109, 97,120, 99,108,105,109, 98, 0, 97,103,101, +110,116,104,101,105,103,104,116, 0, 97,103,101,110,116,114, 97,100,105,117,115, 0,101,100,103,101,109, 97,120,108,101,110, 0, +101,100,103,101,109, 97,120,101,114,114,111,114, 0,114,101,103,105,111,110,109,105,110,115,105,122,101, 0,114,101,103,105,111, +110,109,101,114,103,101,115,105,122,101, 0,118,101,114,116,115,112,101,114,112,111,108,121, 0,100,101,116, 97,105,108,115, 97, +109,112,108,101,100,105,115,116, 0,100,101,116, 97,105,108,115, 97,109,112,108,101,109, 97,120,101,114,114,111,114, 0,102,114, + 97,109,105,110,103, 0,112,108, 97,121,101,114,102,108, 97,103, 0,114,116, 49, 0,114,116, 50, 0, 97, 97,115, 97,109,112,108, +101,115, 0,112, 97,100, 52, 91, 51, 93, 0,100,111,109,101, 0,115,116,101,114,101,111,102,108, 97,103, 0,101,121,101,115,101, +112, 97,114, 97,116,105,111,110, 0,114,101, 99, 97,115,116, 68, 97,116, 97, 0,109, 97,116,109,111,100,101, 0,101,120,105,116, +107,101,121, 0,111, 98,115,116, 97, 99,108,101, 83,105,109,117,108, 97,116,105,111,110, 0,108,101,118,101,108, 72,101,105,103, +104,116, 0, 42, 99, 97,109,101,114, 97, 0, 42,112, 97,105,110,116, 95, 99,117,114,115,111,114, 0,112, 97,105,110,116, 95, 99, +117,114,115,111,114, 95, 99,111,108, 91, 52, 93, 0,110,117,109, 95,105,110,112,117,116, 95,115, 97,109,112,108,101,115, 0,112, + 97,105,110,116, 0,115,101, 97,109, 95, 98,108,101,101,100, 0,110,111,114,109, 97,108, 95, 97,110,103,108,101, 0,115, 99,114, +101,101,110, 95,103,114, 97, 98, 95,115,105,122,101, 91, 50, 93, 0, 42,112, 97,105,110,116, 99,117,114,115,111,114, 0,105,110, +118,101,114,116, 0,116,111,116,114,101,107,101,121, 0,116,111,116, 97,100,100,107,101,121, 0, 98,114,117,115,104,116,121,112, +101, 0, 98,114,117,115,104, 91, 55, 93, 0,101,109,105,116,116,101,114,100,105,115,116, 0,115,101,108,101, 99,116,109,111,100, +101, 0,101,100,105,116,116,121,112,101, 0,100,114, 97,119, 95,115,116,101,112, 0,102, 97,100,101, 95,102,114, 97,109,101,115, + 0,114, 97,100,105, 97,108, 95,115,121,109,109, 91, 51, 93, 0,108, 97,115,116, 95,120, 0,108, 97,115,116, 95,121, 0,108, 97, +115,116, 95, 97,110,103,108,101, 0,100,114, 97,119, 95, 97,110, 99,104,111,114,101,100, 0, 97,110, 99,104,111,114,101,100, 95, +115,105,122,101, 0, 97,110, 99,104,111,114,101,100, 95,108,111, 99, 97,116,105,111,110, 91, 51, 93, 0, 97,110, 99,104,111,114, +101,100, 95,105,110,105,116,105, 97,108, 95,109,111,117,115,101, 91, 50, 93, 0,100,114, 97,119, 95,112,114,101,115,115,117,114, +101, 0,112,114,101,115,115,117,114,101, 95,118, 97,108,117,101, 0,115,112,101, 99,105, 97,108, 95,114,111,116, 97,116,105,111, +110, 0, 42,118,112, 97,105,110,116, 95,112,114,101,118, 0, 42,119,112, 97,105,110,116, 95,112,114,101,118, 0,109, 97,116, 91, + 51, 93, 91, 51, 93, 0,117,110,112,114,111,106,101, 99,116,101,100, 95,114, 97,100,105,117,115, 0, 42,118,112, 97,105,110,116, + 0, 42,119,112, 97,105,110,116, 0, 42,117,118,115, 99,117,108,112,116, 0,118,103,114,111,117,112, 95,119,101,105,103,104,116, + 0, 99,111,114,110,101,114,116,121,112,101, 0,106,111,105,110,116,114,105,108,105,109,105,116, 0,100,101,103,114, 0,116,117, +114,110, 0,101,120,116,114, 95,111,102,102,115, 0,100,111,117, 98,108,105,109,105,116, 0,110,111,114,109, 97,108,115,105,122, +101, 0, 97,117,116,111,109,101,114,103,101, 0,115,101,103,109,101,110,116,115, 0,114,105,110,103,115, 0,118,101,114,116,105, + 99,101,115, 0,117,110,119,114, 97,112,112,101,114, 0,117,118, 99, 97,108, 99, 95,114, 97,100,105,117,115, 0,117,118, 99, 97, +108, 99, 95, 99,117, 98,101,115,105,122,101, 0,117,118, 99, 97,108, 99, 95,109, 97,114,103,105,110, 0,117,118, 99, 97,108, 99, + 95,109, 97,112,100,105,114, 0,117,118, 99, 97,108, 99, 95,109, 97,112, 97,108,105,103,110, 0,117,118, 99, 97,108, 99, 95,102, +108, 97,103, 0,117,118, 95,102,108, 97,103, 0,117,118, 95,115,101,108,101, 99,116,109,111,100,101, 0,117,118, 95,115,117, 98, +115,117,114,102, 95,108,101,118,101,108, 0,103,112,101,110, 99,105,108, 95,102,108, 97,103,115, 0, 97,117,116,111,105,107, 95, + 99,104, 97,105,110,108,101,110, 0,105,109, 97,112, 97,105,110,116, 0,112, 97,114,116,105, 99,108,101, 0,112,114,111,112,111, +114,116,105,111,110, 97,108, 95,115,105,122,101, 0,115,101,108,101, 99,116, 95,116,104,114,101,115,104, 0, 99,108,101, 97,110, + 95,116,104,114,101,115,104, 0, 97,117,116,111,107,101,121, 95,109,111,100,101, 0, 97,117,116,111,107,101,121, 95,102,108, 97, +103, 0,109,117,108,116,105,114,101,115, 95,115,117, 98,100,105,118, 95,116,121,112,101, 0,112, 97,100, 50, 91, 53, 93, 0,115, +107,103,101,110, 95,114,101,115,111,108,117,116,105,111,110, 0,115,107,103,101,110, 95,116,104,114,101,115,104,111,108,100, 95, +105,110,116,101,114,110, 97,108, 0,115,107,103,101,110, 95,116,104,114,101,115,104,111,108,100, 95,101,120,116,101,114,110, 97, +108, 0,115,107,103,101,110, 95,108,101,110,103,116,104, 95,114, 97,116,105,111, 0,115,107,103,101,110, 95,108,101,110,103,116, +104, 95,108,105,109,105,116, 0,115,107,103,101,110, 95, 97,110,103,108,101, 95,108,105,109,105,116, 0,115,107,103,101,110, 95, + 99,111,114,114,101,108, 97,116,105,111,110, 95,108,105,109,105,116, 0,115,107,103,101,110, 95,115,121,109,109,101,116,114,121, + 95,108,105,109,105,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95, 97,110,103,108,101, 95,119,101,105,103, +104,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,108,101,110,103,116,104, 95,119,101,105,103,104,116, 0, +115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,100,105,115,116, 97,110, 99,101, 95,119,101,105,103,104,116, 0,115, +107,103,101,110, 95,111,112,116,105,111,110,115, 0,115,107,103,101,110, 95,112,111,115,116,112,114,111, 0,115,107,103,101,110, + 95,112,111,115,116,112,114,111, 95,112, 97,115,115,101,115, 0,115,107,103,101,110, 95,115,117, 98,100,105,118,105,115,105,111, +110,115, 91, 51, 93, 0,115,107,103,101,110, 95,109,117,108,116,105, 95,108,101,118,101,108, 0, 42,115,107,103,101,110, 95,116, +101,109,112,108, 97,116,101, 0, 98,111,110,101, 95,115,107,101,116, 99,104,105,110,103, 0, 98,111,110,101, 95,115,107,101,116, + 99,104,105,110,103, 95, 99,111,110,118,101,114,116, 0,115,107,103,101,110, 95,115,117, 98,100,105,118,105,115,105,111,110, 95, +110,117,109, 98,101,114, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,111,112,116,105,111,110,115, 0,115,107, +103,101,110, 95,114,101,116, 97,114,103,101,116, 95,114,111,108,108, 0,115,107,103,101,110, 95,115,105,100,101, 95,115,116,114, +105,110,103, 91, 56, 93, 0,115,107,103,101,110, 95,110,117,109, 95,115,116,114,105,110,103, 91, 56, 93, 0,101,100,103,101, 95, +109,111,100,101, 0,101,100,103,101, 95,109,111,100,101, 95,108,105,118,101, 95,117,110,119,114, 97,112, 0,115,110, 97,112, 95, +109,111,100,101, 0,115,110, 97,112, 95,102,108, 97,103, 0,115,110, 97,112, 95,116, 97,114,103,101,116, 0,112,114,111,112,111, +114,116,105,111,110, 97,108, 0,112,114,111,112, 95,109,111,100,101, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 95,111, + 98,106,101, 99,116,115, 0,112, 97,100, 91, 53, 93, 0, 97,117,116,111, 95,110,111,114,109, 97,108,105,122,101, 0,109,117,108, +116,105,112, 97,105,110,116, 0,117,115,101, 95,117,118, 95,115, 99,117,108,112,116, 0,117,118, 95,115, 99,117,108,112,116, 95, +115,101,116,116,105,110,103,115, 0,117,118, 95,115, 99,117,108,112,116, 95,116,111,111,108, 0,117,118, 95,114,101,108, 97,120, + 95,109,101,116,104,111,100, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,115,101,116,116,105,110,103,115, 0,115, 99, +117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95,115,105,122,101, 0,115, 99,117,108,112,116, 95,112, + 97,105,110,116, 95,117,110,105,102,105,101,100, 95,117,110,112,114,111,106,101, 99,116,101,100, 95,114, 97,100,105,117,115, 0, +115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95, 97,108,112,104, 97, 0,117,110,105,102,105, +101,100, 95,112, 97,105,110,116, 95,115,101,116,116,105,110,103,115, 0,116,111,116,111, 98,106, 0,116,111,116,108, 97,109,112, + 0,116,111,116,111, 98,106,115,101,108, 0,116,111,116, 99,117,114,118,101, 0,116,111,116,109,101,115,104, 0,116,111,116, 97, +114,109, 97,116,117,114,101, 0,115, 99, 97,108,101, 95,108,101,110,103,116,104, 0,115,121,115,116,101,109, 0,115,121,115,116, +101,109, 95,114,111,116, 97,116,105,111,110, 0,103,114, 97,118,105,116,121, 91, 51, 93, 0,113,117,105, 99,107, 95, 99, 97, 99, +104,101, 95,115,116,101,112, 0, 42,119,111,114,108,100, 0, 42,115,101,116, 0, 98, 97,115,101, 0, 42, 98, 97,115, 97, 99,116, + 0, 42,111, 98,101,100,105,116, 0, 99,117,114,115,111,114, 91, 51, 93, 0,116,119, 99,101,110,116, 91, 51, 93, 0,116,119,109, +105,110, 91, 51, 93, 0,116,119,109, 97,120, 91, 51, 93, 0,108, 97,121, 97, 99,116, 0,108, 97,121, 95,117,112,100, 97,116,101, +100, 0, 42,101,100, 0, 42,116,111,111,108,115,101,116,116,105,110,103,115, 0, 42,115,116, 97,116,115, 0, 97,117,100,105,111, + 0,116,114, 97,110,115,102,111,114,109, 95,115,112, 97, 99,101,115, 0, 42,115,111,117,110,100, 95,115, 99,101,110,101, 0, 42, +115,111,117,110,100, 95,115, 99,101,110,101, 95,104, 97,110,100,108,101, 0, 42,115,111,117,110,100, 95,115, 99,114,117, 98, 95, +104, 97,110,100,108,101, 0, 42,115,112,101, 97,107,101,114, 95,104, 97,110,100,108,101,115, 0, 42,102,112,115, 95,105,110,102, +111, 0, 42,116,104,101, 68, 97,103, 0,100, 97,103,105,115,118, 97,108,105,100, 0,100, 97,103,102,108, 97,103,115, 0, 97, 99, +116,105,118,101, 95,107,101,121,105,110,103,115,101,116, 0,107,101,121,105,110,103,115,101,116,115, 0,103,109, 0,117,110,105, +116, 0,112,104,121,115,105, 99,115, 95,115,101,116,116,105,110,103,115, 0, 42, 99,108,105,112, 0, 99,117,115,116,111,109,100, + 97,116, 97, 95,109, 97,115,107, 95,109,111,100, 97,108, 0, 99,117,115,101,114, 0, 98,108,101,110,100, 0,118,105,101,119, 0, +119,105,110,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,105, +110,118, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,105,110,118, 91, 52, + 93, 91, 52, 93, 0,118,105,101,119,109, 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109, 97,116,111, 98, 91, 52, + 93, 91, 52, 93, 0, 99,108,105,112, 91, 54, 93, 91, 52, 93, 0, 99,108,105,112, 95,108,111, 99, 97,108, 91, 54, 93, 91, 52, 93, + 0, 42, 99,108,105,112, 98, 98, 0, 42,108,111, 99, 97,108,118,100, 0, 42,114,105, 0, 42,114,101,110,100,101,114, 95,101,110, +103,105,110,101, 0, 42,100,101,112,116,104,115, 0, 42,115,109,115, 0, 42,115,109,111,111,116,104, 95,116,105,109,101,114, 0, +116,119,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,113,117, 97,116, 91, 52, 93, 0,122,102, 97, 99, 0, 99, 97,109, +100,120, 0, 99, 97,109,100,121, 0,112,105,120,115,105,122,101, 0, 99, 97,109,122,111,111,109, 0,105,115, 95,112,101,114,115, +112, 0,112,101,114,115,112, 0,118,105,101,119,108,111, 99,107, 0,116,119,100,114, 97,119,102,108, 97,103, 0,114,102,108, 97, +103, 0,108,118,105,101,119,113,117, 97,116, 91, 52, 93, 0,108,112,101,114,115,112, 0,108,118,105,101,119, 0,103,114,105,100, +118,105,101,119, 0,116,119, 97,110,103,108,101, 91, 51, 93, 0,114,111,116, 95, 97,110,103,108,101, 0,114,111,116, 95, 97,120, +105,115, 91, 51, 93, 0,114,101,103,105,111,110, 98, 97,115,101, 0,115,112, 97, 99,101,116,121,112,101, 0, 98,108,111, 99,107, +115, 99, 97,108,101, 0, 98,108,111, 99,107,104, 97,110,100,108,101,114, 91, 56, 93, 0, 98,117,110,100,108,101, 95,115,105,122, +101, 0, 98,117,110,100,108,101, 95,100,114, 97,119,116,121,112,101, 0,108, 97,121, 95,117,115,101,100, 0, 42,111, 98, 95, 99, +101,110,116,114,101, 0, 98,103,112,105, 99, 98, 97,115,101, 0, 42, 98,103,112,105, 99, 0,111, 98, 95, 99,101,110,116,114,101, + 95, 98,111,110,101, 91, 54, 52, 93, 0,100,114, 97,119,116,121,112,101, 0,111, 98, 95, 99,101,110,116,114,101, 95, 99,117,114, +115,111,114, 0,115, 99,101,110,101,108,111, 99,107, 0, 97,114,111,117,110,100, 0,103,114,105,100, 0,110,101, 97,114, 0,102, + 97,114, 0,109,111,100,101,115,101,108,101, 99,116, 0,103,114,105,100,108,105,110,101,115, 0,103,114,105,100,115,117, 98,100, +105,118, 0,103,114,105,100,102,108, 97,103, 0,116,119,116,121,112,101, 0,116,119,109,111,100,101, 0,116,119,102,108, 97,103, + 0,112, 97,100, 50, 91, 50, 93, 0, 97,102,116,101,114,100,114, 97,119, 95,116,114, 97,110,115,112, 0, 97,102,116,101,114,100, +114, 97,119, 95,120,114, 97,121, 0, 97,102,116,101,114,100,114, 97,119, 95,120,114, 97,121,116,114, 97,110,115,112, 0,122, 98, +117,102, 0,120,114, 97,121, 0,112, 97,100, 51, 91, 50, 93, 0, 42,112,114,111,112,101,114,116,105,101,115, 95,115,116,111,114, + 97,103,101, 0,118,101,114,116, 0,104,111,114, 0,109, 97,115,107, 0,109,105,110, 91, 50, 93, 0,109, 97,120, 91, 50, 93, 0, +109,105,110,122,111,111,109, 0,109, 97,120,122,111,111,109, 0,115, 99,114,111,108,108, 0,115, 99,114,111,108,108, 95,117,105, + 0,107,101,101,112,116,111,116, 0,107,101,101,112,122,111,111,109, 0,107,101,101,112,111,102,115, 0, 97,108,105,103,110, 0, +119,105,110,120, 0,119,105,110,121, 0,111,108,100,119,105,110,120, 0,111,108,100,119,105,110,121, 0, 42,116, 97, 98, 95,111, +102,102,115,101,116, 0,116, 97, 98, 95,110,117,109, 0,116, 97, 98, 95, 99,117,114, 0,114,112,116, 95,109, 97,115,107, 0,118, + 50,100, 0, 42, 97,100,115, 0,103,104,111,115,116, 67,117,114,118,101,115, 0, 97,117,116,111,115,110, 97,112, 0, 99,117,114, +115,111,114, 86, 97,108, 0,109, 97,105,110, 98, 0,109, 97,105,110, 98,111, 0,109, 97,105,110, 98,117,115,101,114, 0,114,101, + 95, 97,108,105,103,110, 0,112,114,101,118,105,101,119, 0,116,101,120,116,117,114,101, 95, 99,111,110,116,101,120,116, 0,112, + 97,116,104,102,108, 97,103, 0,100, 97,116, 97,105, 99,111,110, 0, 42,112,105,110,105,100, 0, 42,116,101,120,117,115,101,114, + 0,114,101,110,100,101,114, 95,115,105,122,101, 0, 99,104, 97,110,115,104,111,119,110, 0,122,101, 98,114, 97, 0,122,111,111, +109, 0,116,105,116,108,101, 91, 51, 50, 93, 0,100,105,114, 91, 49, 48, 53, 54, 93, 0,102,105,108,101, 91, 50, 53, 54, 93, 0, +114,101,110, 97,109,101,102,105,108,101, 91, 50, 53, 54, 93, 0,114,101,110, 97,109,101,101,100,105,116, 91, 50, 53, 54, 93, 0, +102,105,108,116,101,114, 95,103,108,111, 98, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,102,105,108,101, 0,115,101,108, 95, +102,105,114,115,116, 0,115,101,108, 95,108, 97,115,116, 0,115,111,114,116, 0,100,105,115,112,108, 97,121, 0,102, 95,102,112, + 0,102,112, 95,115,116,114, 91, 56, 93, 0,115, 99,114,111,108,108, 95,111,102,102,115,101,116, 0, 42,112, 97,114, 97,109,115, + 0, 42,102,105,108,101,115, 0, 42,102,111,108,100,101,114,115, 95,112,114,101,118, 0, 42,102,111,108,100,101,114,115, 95,110, +101,120,116, 0, 42,111,112, 0, 42,115,109,111,111,116,104,115, 99,114,111,108,108, 95,116,105,109,101,114, 0, 42,108, 97,121, +111,117,116, 0,114,101, 99,101,110,116,110,114, 0, 98,111,111,107,109, 97,114,107,110,114, 0,115,121,115,116,101,109,110,114, + 0,116,114,101,101, 0, 42,116,114,101,101,115,116,111,114,101, 0,115,101, 97,114, 99,104, 95,115,116,114,105,110,103, 91, 51, + 50, 93, 0,115,101, 97,114, 99,104, 95,116,115,101, 0,111,117,116,108,105,110,101,118,105,115, 0,115,116,111,114,101,102,108, + 97,103, 0,115,101, 97,114, 99,104, 95,102,108, 97,103,115, 0, 42, 99,117,109, 97,112, 0,115, 99,111,112,101,115, 0,115, 97, +109,112,108,101, 95,108,105,110,101, 95,104,105,115,116, 0, 99,117,114,115,111,114, 91, 50, 93, 0, 99,101,110,116,120, 0, 99, +101,110,116,121, 0, 99,117,114,116,105,108,101, 0,108,111, 99,107, 0,112,105,110, 0,100,116, 95,117,118, 0,115,116,105, 99, +107,121, 0,100,116, 95,117,118,115,116,114,101,116, 99,104, 0, 42,116,101,120,116, 0,116,111,112, 0,118,105,101,119,108,105, +110,101,115, 0,109,101,110,117,110,114, 0,108,104,101,105,103,104,116, 0, 99,119,105,100,116,104, 0,108,105,110,101,110,114, +115, 95,116,111,116, 0,108,101,102,116, 0,115,104,111,119,108,105,110,101,110,114,115, 0,116, 97, 98,110,117,109, 98,101,114, + 0,115,104,111,119,115,121,110,116, 97,120, 0,108,105,110,101, 95,104,108,105,103,104,116, 0,111,118,101,114,119,114,105,116, +101, 0,108,105,118,101, 95,101,100,105,116, 0,112,105,120, 95,112,101,114, 95,108,105,110,101, 0,116,120,116,115, 99,114,111, +108,108, 0,116,120,116, 98, 97,114, 0,119,111,114,100,119,114, 97,112, 0,100,111,112,108,117,103,105,110,115, 0,102,105,110, +100,115,116,114, 91, 50, 53, 54, 93, 0,114,101,112,108, 97, 99,101,115,116,114, 91, 50, 53, 54, 93, 0,109, 97,114,103,105,110, + 95, 99,111,108,117,109,110, 0, 42,100,114, 97,119, 99, 97, 99,104,101, 0, 42,112,121, 95,100,114, 97,119, 0, 42,112,121, 95, +101,118,101,110,116, 0, 42,112,121, 95, 98,117,116,116,111,110, 0, 42,112,121, 95, 98,114,111,119,115,101,114, 99, 97,108,108, + 98, 97, 99,107, 0, 42,112,121, 95,103,108,111, 98, 97,108,100,105, 99,116, 0,108, 97,115,116,115,112, 97, 99,101, 0,115, 99, +114,105,112,116,110, 97,109,101, 91, 49, 48, 50, 52, 93, 0,115, 99,114,105,112,116, 97,114,103, 91, 50, 53, 54, 93, 0, 42,115, + 99,114,105,112,116, 0, 42, 98,117,116, 95,114,101,102,115, 0, 42, 97,114,114, 97,121, 0, 99, 97, 99,104,101,115, 0, 99, 97, + 99,104,101, 95,100,105,115,112,108, 97,121, 0, 42,105,100, 0, 97,115,112,101, 99,116, 0,112, 97,100,102, 0,109,120, 0,109, +121, 0, 42,101,100,105,116,116,114,101,101, 0,116,114,101,101,116,121,112,101, 0,116,101,120,102,114,111,109, 0,115,104, 97, +100,101,114,102,114,111,109, 0,108,105,110,107,100,114, 97,103, 0,108,101,110, 95, 97,108,108,111, 99, 0, 99,117,114,115,111, +114, 0,115, 99,114,111,108,108, 98, 97, 99,107, 0,104,105,115,116,111,114,121, 0,112,114,111,109,112,116, 91, 50, 53, 54, 93, + 0,108, 97,110,103,117, 97,103,101, 91, 51, 50, 93, 0,115,101,108, 95,115,116, 97,114,116, 0,115,101,108, 95,101,110,100, 0, +102,105,108,116,101,114, 91, 54, 52, 93, 0,120,108,111, 99,107,111,102, 0,121,108,111, 99,107,111,102, 0,117,115,101,114, 0, +112, 97,116,104, 95,108,101,110,103,116,104, 0,108,111, 99, 91, 50, 93, 0,115,116, 97, 98,109, 97,116, 91, 52, 93, 91, 52, 93, + 0,117,110,105,115,116, 97, 98,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,116,112,114,111, 99, 95,102,108, 97,103, 0, + 42,100,114, 97,119, 95, 99,111,110,116,101,120,116, 0,100,111,112,101, 95,115,111,114,116, 0,100,111,112,101, 95,102,108, 97, +103, 0,102,105,108,101,110, 97,109,101, 91, 49, 48, 50, 52, 93, 0, 98,108,102, 95,105,100, 0,117,105,102,111,110,116, 95,105, +100, 0,114, 95,116,111, 95,108, 0,112,111,105,110,116,115, 0,107,101,114,110,105,110,103, 0,105,116, 97,108,105, 99, 0, 98, +111,108,100, 0,115,104, 97,100,111,119, 0,115,104, 97,100,120, 0,115,104, 97,100,121, 0,115,104, 97,100,111,119, 97,108,112, +104, 97, 0,115,104, 97,100,111,119, 99,111,108,111,114, 0,112, 97,110,101,108,116,105,116,108,101, 0,103,114,111,117,112,108, + 97, 98,101,108, 0,119,105,100,103,101,116,108, 97, 98,101,108, 0,119,105,100,103,101,116, 0,112, 97,110,101,108,122,111,111, +109, 0,109,105,110,108, 97, 98,101,108, 99,104, 97,114,115, 0,109,105,110,119,105,100,103,101,116, 99,104, 97,114,115, 0, 99, +111,108,117,109,110,115,112, 97, 99,101, 0,116,101,109,112,108, 97,116,101,115,112, 97, 99,101, 0, 98,111,120,115,112, 97, 99, +101, 0, 98,117,116,116,111,110,115,112, 97, 99,101,120, 0, 98,117,116,116,111,110,115,112, 97, 99,101,121, 0,112, 97,110,101, +108,115,112, 97, 99,101, 0,112, 97,110,101,108,111,117,116,101,114, 0,111,117,116,108,105,110,101, 91, 52, 93, 0,105,110,110, +101,114, 91, 52, 93, 0,105,110,110,101,114, 95,115,101,108, 91, 52, 93, 0,105,116,101,109, 91, 52, 93, 0,116,101,120,116, 91, + 52, 93, 0,116,101,120,116, 95,115,101,108, 91, 52, 93, 0,115,104, 97,100,101,100, 0,115,104, 97,100,101,116,111,112, 0,115, +104, 97,100,101,100,111,119,110, 0, 97,108,112,104, 97, 95, 99,104,101, 99,107, 0,105,110,110,101,114, 95, 97,110,105,109, 91, + 52, 93, 0,105,110,110,101,114, 95, 97,110,105,109, 95,115,101,108, 91, 52, 93, 0,105,110,110,101,114, 95,107,101,121, 91, 52, + 93, 0,105,110,110,101,114, 95,107,101,121, 95,115,101,108, 91, 52, 93, 0,105,110,110,101,114, 95,100,114,105,118,101,110, 91, + 52, 93, 0,105,110,110,101,114, 95,100,114,105,118,101,110, 95,115,101,108, 91, 52, 93, 0,104,101, 97,100,101,114, 91, 52, 93, + 0,115,104,111,119, 95,104,101, 97,100,101,114, 0,119, 99,111,108, 95,114,101,103,117,108, 97,114, 0,119, 99,111,108, 95,116, +111,111,108, 0,119, 99,111,108, 95,116,101,120,116, 0,119, 99,111,108, 95,114, 97,100,105,111, 0,119, 99,111,108, 95,111,112, +116,105,111,110, 0,119, 99,111,108, 95,116,111,103,103,108,101, 0,119, 99,111,108, 95,110,117,109, 0,119, 99,111,108, 95,110, +117,109,115,108,105,100,101,114, 0,119, 99,111,108, 95,109,101,110,117, 0,119, 99,111,108, 95,112,117,108,108,100,111,119,110, + 0,119, 99,111,108, 95,109,101,110,117, 95, 98, 97, 99,107, 0,119, 99,111,108, 95,109,101,110,117, 95,105,116,101,109, 0,119, + 99,111,108, 95,116,111,111,108,116,105,112, 0,119, 99,111,108, 95, 98,111,120, 0,119, 99,111,108, 95,115, 99,114,111,108,108, + 0,119, 99,111,108, 95,112,114,111,103,114,101,115,115, 0,119, 99,111,108, 95,108,105,115,116, 95,105,116,101,109, 0,119, 99, +111,108, 95,115,116, 97,116,101, 0,112, 97,110,101,108, 0,105, 99,111,110,102,105,108,101, 91, 50, 53, 54, 93, 0,105, 99,111, +110, 95, 97,108,112,104, 97, 0, 98, 97, 99,107, 91, 52, 93, 0,116,105,116,108,101, 91, 52, 93, 0,116,101,120,116, 95,104,105, + 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,105,116,108,101, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,101,120,116, 91, + 52, 93, 0,104,101, 97,100,101,114, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0, 98,117,116,116,111,110, 91, 52, 93, 0, 98, +117,116,116,111,110, 95,116,105,116,108,101, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,101,120,116, 91, 52, 93, 0, 98,117, +116,116,111,110, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,108,105,115,116, 91, 52, 93, 0,108,105,115,116, 95,116,105,116, +108,101, 91, 52, 93, 0,108,105,115,116, 95,116,101,120,116, 91, 52, 93, 0,108,105,115,116, 95,116,101,120,116, 95,104,105, 91, + 52, 93, 0,112, 97,110,101,108, 91, 52, 93, 0,112, 97,110,101,108, 95,116,105,116,108,101, 91, 52, 93, 0,112, 97,110,101,108, + 95,116,101,120,116, 91, 52, 93, 0,112, 97,110,101,108, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,115,104, 97,100,101, 49, + 91, 52, 93, 0,115,104, 97,100,101, 50, 91, 52, 93, 0,104,105,108,105,116,101, 91, 52, 93, 0,103,114,105,100, 91, 52, 93, 0, +119,105,114,101, 91, 52, 93, 0,115,101,108,101, 99,116, 91, 52, 93, 0,108, 97,109,112, 91, 52, 93, 0,115,112,101, 97,107,101, +114, 91, 52, 93, 0,101,109,112,116,121, 91, 52, 93, 0, 99, 97,109,101,114, 97, 91, 52, 93, 0,112, 97,100, 91, 56, 93, 0, 97, + 99,116,105,118,101, 91, 52, 93, 0,103,114,111,117,112, 91, 52, 93, 0,103,114,111,117,112, 95, 97, 99,116,105,118,101, 91, 52, + 93, 0,116,114, 97,110,115,102,111,114,109, 91, 52, 93, 0,118,101,114,116,101,120, 91, 52, 93, 0,118,101,114,116,101,120, 95, +115,101,108,101, 99,116, 91, 52, 93, 0,101,100,103,101, 91, 52, 93, 0,101,100,103,101, 95,115,101,108,101, 99,116, 91, 52, 93, + 0,101,100,103,101, 95,115,101, 97,109, 91, 52, 93, 0,101,100,103,101, 95,115,104, 97,114,112, 91, 52, 93, 0,101,100,103,101, + 95,102, 97, 99,101,115,101,108, 91, 52, 93, 0,101,100,103,101, 95, 99,114,101, 97,115,101, 91, 52, 93, 0,102, 97, 99,101, 91, + 52, 93, 0,102, 97, 99,101, 95,115,101,108,101, 99,116, 91, 52, 93, 0,102, 97, 99,101, 95,100,111,116, 91, 52, 93, 0,101,120, +116,114, 97, 95,101,100,103,101, 95,108,101,110, 91, 52, 93, 0,101,120,116,114, 97, 95,102, 97, 99,101, 95, 97,110,103,108,101, + 91, 52, 93, 0,101,120,116,114, 97, 95,102, 97, 99,101, 95, 97,114,101, 97, 91, 52, 93, 0,112, 97,100, 51, 91, 52, 93, 0,110, +111,114,109, 97,108, 91, 52, 93, 0,118,101,114,116,101,120, 95,110,111,114,109, 97,108, 91, 52, 93, 0, 98,111,110,101, 95,115, +111,108,105,100, 91, 52, 93, 0, 98,111,110,101, 95,112,111,115,101, 91, 52, 93, 0,115,116,114,105,112, 91, 52, 93, 0,115,116, +114,105,112, 95,115,101,108,101, 99,116, 91, 52, 93, 0, 99,102,114, 97,109,101, 91, 52, 93, 0,110,117,114, 98, 95,117,108,105, +110,101, 91, 52, 93, 0,110,117,114, 98, 95,118,108,105,110,101, 91, 52, 93, 0, 97, 99,116, 95,115,112,108,105,110,101, 91, 52, + 93, 0,110,117,114, 98, 95,115,101,108, 95,117,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,115,101,108, 95,118,108,105, +110,101, 91, 52, 93, 0,108, 97,115,116,115,101,108, 95,112,111,105,110,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,102,114, +101,101, 91, 52, 93, 0,104, 97,110,100,108,101, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101, 99,116, + 91, 52, 93, 0,104, 97,110,100,108,101, 95, 97,108,105,103,110, 91, 52, 93, 0,104, 97,110,100,108,101, 95, 97,117,116,111, 95, + 99,108, 97,109,112,101,100, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95,102,114,101,101, 91, 52, 93, 0,104, 97, +110,100,108,101, 95,115,101,108, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95,118,101, 99,116, + 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, 97,108,105,103,110, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115, +101,108, 95, 97,117,116,111, 95, 99,108, 97,109,112,101,100, 91, 52, 93, 0,100,115, 95, 99,104, 97,110,110,101,108, 91, 52, 93, + 0,100,115, 95,115,117, 98, 99,104, 97,110,110,101,108, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,111,117,116,112,117,116, + 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,105,110,112,117,116, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,105,110,102, +111, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,101,114,114,111,114, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95, 99,117, +114,115,111,114, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,105,122,101, 0,111,117,116,108,105,110,101, 95,119,105,100,116, +104, 0,102, 97, 99,101,100,111,116, 95,115,105,122,101, 0,110,111,111,100,108,101, 95, 99,117,114,118,105,110,103, 0,115,121, +110,116, 97,120,108, 91, 52, 93, 0,115,121,110,116, 97,120,110, 91, 52, 93, 0,115,121,110,116, 97,120, 98, 91, 52, 93, 0,115, +121,110,116, 97,120,118, 91, 52, 93, 0,115,121,110,116, 97,120, 99, 91, 52, 93, 0,109,111,118,105,101, 91, 52, 93, 0,109,111, +118,105,101, 99,108,105,112, 91, 52, 93, 0,105,109, 97,103,101, 91, 52, 93, 0,115, 99,101,110,101, 91, 52, 93, 0, 97,117,100, +105,111, 91, 52, 93, 0,101,102,102,101, 99,116, 91, 52, 93, 0,112,108,117,103,105,110, 91, 52, 93, 0,116,114, 97,110,115,105, +116,105,111,110, 91, 52, 93, 0,109,101,116, 97, 91, 52, 93, 0,101,100,105,116,109,101,115,104, 95, 97, 99,116,105,118,101, 91, + 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101, +120, 95,115,101,108,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 95,115,105,122,101, 0,109, + 97,114,107,101,114, 95,111,117,116,108,105,110,101, 91, 52, 93, 0,109, 97,114,107,101,114, 91, 52, 93, 0, 97, 99,116, 95,109, + 97,114,107,101,114, 91, 52, 93, 0,115,101,108, 95,109, 97,114,107,101,114, 91, 52, 93, 0,100,105,115, 95,109, 97,114,107,101, +114, 91, 52, 93, 0,108,111, 99,107, 95,109, 97,114,107,101,114, 91, 52, 93, 0, 98,117,110,100,108,101, 95,115,111,108,105,100, + 91, 52, 93, 0,112, 97,116,104, 95, 98,101,102,111,114,101, 91, 52, 93, 0,112, 97,116,104, 95, 97,102,116,101,114, 91, 52, 93, + 0, 99, 97,109,101,114, 97, 95,112, 97,116,104, 91, 52, 93, 0,104,112, 97,100, 91, 55, 93, 0,112,114,101,118,105,101,119, 95, + 98, 97, 99,107, 91, 52, 93, 0,112,114,101,118,105,101,119, 95,115,116,105,116, 99,104, 95,102, 97, 99,101, 91, 52, 93, 0,112, +114,101,118,105,101,119, 95,115,116,105,116, 99,104, 95,101,100,103,101, 91, 52, 93, 0,112,114,101,118,105,101,119, 95,115,116, +105,116, 99,104, 95,118,101,114,116, 91, 52, 93, 0,112,114,101,118,105,101,119, 95,115,116,105,116, 99,104, 95,115,116,105,116, + 99,104, 97, 98,108,101, 91, 52, 93, 0,112,114,101,118,105,101,119, 95,115,116,105,116, 99,104, 95,117,110,115,116,105,116, 99, +104, 97, 98,108,101, 91, 52, 93, 0,112,114,101,118,105,101,119, 95,115,116,105,116, 99,104, 95, 97, 99,116,105,118,101, 91, 52, + 93, 0,109, 97,116, 99,104, 91, 52, 93, 0,115,101,108,101, 99,116,101,100, 95,104,105,103,104,108,105,103,104,116, 91, 52, 93, + 0,115,111,108,105,100, 91, 52, 93, 0,116,117,105, 0,116, 98,117,116,115, 0,116,118, 51,100, 0,116,102,105,108,101, 0,116, +105,112,111, 0,116,105,110,102,111, 0,116, 97, 99,116, 0,116,110,108, 97, 0,116,115,101,113, 0,116,105,109, 97, 0,116,101, +120,116, 0,116,111,111,112,115, 0,116,116,105,109,101, 0,116,110,111,100,101, 0,116,108,111,103,105, 99, 0,116,117,115,101, +114,112,114,101,102, 0,116, 99,111,110,115,111,108,101, 0,116, 99,108,105,112, 0,116, 97,114,109, 91, 50, 48, 93, 0, 97, 99, +116,105,118,101, 95,116,104,101,109,101, 95, 97,114,101, 97, 0,109,111,100,117,108,101, 91, 54, 52, 93, 0,115,112,101, 99, 91, + 52, 93, 0,100,117,112,102,108, 97,103, 0,115, 97,118,101,116,105,109,101, 0,116,101,109,112,100,105,114, 91, 55, 54, 56, 93, + 0,102,111,110,116,100,105,114, 91, 55, 54, 56, 93, 0,114,101,110,100,101,114,100,105,114, 91, 49, 48, 50, 52, 93, 0,116,101, +120,116,117,100,105,114, 91, 55, 54, 56, 93, 0,112,108,117,103,116,101,120,100,105,114, 91, 55, 54, 56, 93, 0,112,108,117,103, +115,101,113,100,105,114, 91, 55, 54, 56, 93, 0,112,121,116,104,111,110,100,105,114, 91, 55, 54, 56, 93, 0,115,111,117,110,100, +100,105,114, 91, 55, 54, 56, 93, 0,105,109, 97,103,101, 95,101,100,105,116,111,114, 91, 49, 48, 50, 52, 93, 0, 97,110,105,109, + 95,112,108, 97,121,101,114, 91, 49, 48, 50, 52, 93, 0, 97,110,105,109, 95,112,108, 97,121,101,114, 95,112,114,101,115,101,116, + 0,118, 50,100, 95,109,105,110, 95,103,114,105,100,115,105,122,101, 0,116,105,109,101, 99,111,100,101, 95,115,116,121,108,101, + 0,118,101,114,115,105,111,110,115, 0,100, 98,108, 95, 99,108,105, 99,107, 95,116,105,109,101, 0,103, 97,109,101,102,108, 97, +103,115, 0,119,104,101,101,108,108,105,110,101,115, 99,114,111,108,108, 0,117,105,102,108, 97,103, 0,108, 97,110,103,117, 97, +103,101, 0,117,115,101,114,112,114,101,102, 0,118,105,101,119,122,111,111,109, 0,109,105,120, 98,117,102,115,105,122,101, 0, + 97,117,100,105,111,100,101,118,105, 99,101, 0, 97,117,100,105,111,114, 97,116,101, 0, 97,117,100,105,111,102,111,114,109, 97, +116, 0, 97,117,100,105,111, 99,104, 97,110,110,101,108,115, 0,100,112,105, 0,101,110, 99,111,100,105,110,103, 0,116,114, 97, +110,115,111,112,116,115, 0,109,101,110,117,116,104,114,101,115,104,111,108,100, 49, 0,109,101,110,117,116,104,114,101,115,104, +111,108,100, 50, 0,116,104,101,109,101,115, 0,117,105,102,111,110,116,115, 0,117,105,115,116,121,108,101,115, 0,107,101,121, +109, 97,112,115, 0,117,115,101,114, 95,107,101,121,109, 97,112,115, 0, 97,100,100,111,110,115, 0,107,101,121, 99,111,110,102, +105,103,115,116,114, 91, 54, 52, 93, 0,117,110,100,111,115,116,101,112,115, 0,117,110,100,111,109,101,109,111,114,121, 0,103, +112, 95,109, 97,110,104, 97,116,116,101,110,100,105,115,116, 0,103,112, 95,101,117, 99,108,105,100,101, 97,110,100,105,115,116, + 0,103,112, 95,101,114, 97,115,101,114, 0,103,112, 95,115,101,116,116,105,110,103,115, 0,116, 98, 95,108,101,102,116,109,111, +117,115,101, 0,116, 98, 95,114,105,103,104,116,109,111,117,115,101, 0,108,105,103,104,116, 91, 51, 93, 0,116,119, 95,104,111, +116,115,112,111,116, 0,116,119, 95,102,108, 97,103, 0,116,119, 95,104, 97,110,100,108,101,115,105,122,101, 0,116,119, 95,115, +105,122,101, 0,116,101,120,116,105,109,101,111,117,116, 0,116,101,120, 99,111,108,108,101, 99,116,114, 97,116,101, 0,119,109, +100,114, 97,119,109,101,116,104,111,100, 0,100,114, 97,103,116,104,114,101,115,104,111,108,100, 0,109,101,109, 99, 97, 99,104, +101,108,105,109,105,116, 0,112,114,101,102,101,116, 99,104,102,114, 97,109,101,115, 0,102,114, 97,109,101,115,101,114,118,101, +114,112,111,114,116, 0,112, 97,100, 95,114,111,116, 95, 97,110,103,108,101, 0,111, 98, 99,101,110,116,101,114, 95,100,105, 97, + 0,114,118,105,115,105,122,101, 0,114,118,105, 98,114,105,103,104,116, 0,114,101, 99,101,110,116, 95,102,105,108,101,115, 0, +115,109,111,111,116,104, 95,118,105,101,119,116,120, 0,103,108,114,101,115,108,105,109,105,116, 0, 99,117,114,115,115,105,122, +101, 0, 99,111,108,111,114, 95,112,105, 99,107,101,114, 95,116,121,112,101, 0,105,112,111, 95,110,101,119, 0,107,101,121,104, + 97,110,100,108,101,115, 95,110,101,119, 0,115, 99,114, 99, 97,115,116,102,112,115, 0,115, 99,114, 99, 97,115,116,119, 97,105, +116, 0,119,105,100,103,101,116, 95,117,110,105,116, 0, 97,110,105,115,111,116,114,111,112,105, 99, 95,102,105,108,116,101,114, + 0,117,115,101, 95, 49, 54, 98,105,116, 95,116,101,120,116,117,114,101,115, 0,112, 97,100, 56, 0,110,100,111,102, 95,115,101, +110,115,105,116,105,118,105,116,121, 0,110,100,111,102, 95,102,108, 97,103, 0,103,108, 97,108,112,104, 97, 99,108,105,112, 0, +116,101,120,116, 95,114,101,110,100,101,114, 0,112, 97,100, 57, 0, 99,111, 98, 97, 95,119,101,105,103,104,116, 0,115, 99,117, +108,112,116, 95,112, 97,105,110,116, 95,111,118,101,114,108, 97,121, 95, 99,111,108, 91, 51, 93, 0,116,119,101, 97,107, 95,116, +104,114,101,115,104,111,108,100, 0, 97,117,116,104,111,114, 91, 56, 48, 93, 0, 99,111,109,112,117,116,101, 95,100,101,118,105, + 99,101, 95,116,121,112,101, 0, 99,111,109,112,117,116,101, 95,100,101,118,105, 99,101, 95,105,100, 0,102, 99,117, 95,105,110, + 97, 99,116,105,118,101, 95, 97,108,112,104, 97, 0,118,101,114,116, 98, 97,115,101, 0,101,100,103,101, 98, 97,115,101, 0, 97, +114,101, 97, 98, 97,115,101, 0, 42,110,101,119,115, 99,101,110,101, 0,114,101,100,114, 97,119,115, 95,102,108, 97,103, 0,102, +117,108,108, 0,116,101,109,112, 0,119,105,110,105,100, 0,100,111, 95,100,114, 97,119, 0,100,111, 95,114,101,102,114,101,115, +104, 0,100,111, 95,100,114, 97,119, 95,103,101,115,116,117,114,101, 0,100,111, 95,100,114, 97,119, 95,112, 97,105,110,116, 99, +117,114,115,111,114, 0,100,111, 95,100,114, 97,119, 95,100,114, 97,103, 0,115,119, 97,112, 0,109, 97,105,110,119,105,110, 0, +115,117, 98,119,105,110, 97, 99,116,105,118,101, 0, 42, 97,110,105,109,116,105,109,101,114, 0, 42, 99,111,110,116,101,120,116, + 0,104, 97,110,100,108,101,114, 91, 56, 93, 0, 42,110,101,119,118, 0,118,101, 99, 0, 42,118, 49, 0, 42,118, 50, 0, 42,116, +121,112,101, 0,112, 97,110,101,108,110, 97,109,101, 91, 54, 52, 93, 0,116, 97, 98,110, 97,109,101, 91, 54, 52, 93, 0,100,114, + 97,119,110, 97,109,101, 91, 54, 52, 93, 0,111,102,115,120, 0,111,102,115,121, 0,115,105,122,101,120, 0,115,105,122,101,121, + 0,108, 97, 98,101,108,111,102,115, 0,114,117,110,116,105,109,101, 95,102,108, 97,103, 0, 99,111,110,116,114,111,108, 0,115, +110, 97,112, 0,115,111,114,116,111,114,100,101,114, 0, 42,112, 97,110,101,108,116, 97, 98, 0, 42, 97, 99,116,105,118,101,100, + 97,116, 97, 0,108,105,115,116, 95,115, 99,114,111,108,108, 0,108,105,115,116, 95,115,105,122,101, 0,108,105,115,116, 95,108, + 97,115,116, 95,108,101,110, 0,108,105,115,116, 95,103,114,105,112, 95,115,105,122,101, 0,108,105,115,116, 95,115,101, 97,114, + 99,104, 91, 54, 52, 93, 0, 42,118, 51, 0, 42,118, 52, 0, 42,102,117,108,108, 0, 98,117,116,115,112, 97, 99,101,116,121,112, +101, 0,104,101, 97,100,101,114,116,121,112,101, 0,115,112, 97, 99,101,100, 97,116, 97, 0,104, 97,110,100,108,101,114,115, 0, + 97, 99,116,105,111,110,122,111,110,101,115, 0,119,105,110,114, 99,116, 0,100,114, 97,119,114, 99,116, 0,115,119,105,110,105, +100, 0,114,101,103,105,111,110,116,121,112,101, 0, 97,108,105,103,110,109,101,110,116, 0,100,111, 95,100,114, 97,119, 95,111, +118,101,114,108, 97,121, 0,117,105, 98,108,111, 99,107,115, 0,112, 97,110,101,108,115, 0, 42,104,101, 97,100,101,114,115,116, +114, 0, 42,114,101,103,105,111,110,100, 97,116, 97, 0,115,117, 98,118,115,116,114, 91, 52, 93, 0,115,117, 98,118,101,114,115, +105,111,110, 0,112, 97,100,115, 0,109,105,110,118,101,114,115,105,111,110, 0,109,105,110,115,117, 98,118,101,114,115,105,111, +110, 0,119,105,110,112,111,115, 0, 42, 99,117,114,115, 99,114,101,101,110, 0, 42, 99,117,114,115, 99,101,110,101, 0,102,105, +108,101,102,108, 97,103,115, 0,103,108,111, 98, 97,108,102, 0,114,101,118,105,115,105,111,110, 0,110, 97,109,101, 91, 50, 53, + 54, 93, 0,111,114,105,103, 95,119,105,100,116,104, 0,111,114,105,103, 95,104,101,105,103,104,116, 0, 98,111,116,116,111,109, + 0,114,105,103,104,116, 0,120,111,102,115, 0,121,111,102,115, 0,108,105,102,116, 91, 51, 93, 0,103, 97,109,109, 97, 91, 51, + 93, 0,103, 97,105,110, 91, 51, 93, 0,100,105,114, 91, 55, 54, 56, 93, 0,116, 99, 0, 98,117,105,108,100, 95,115,105,122,101, + 95,102,108, 97,103,115, 0, 98,117,105,108,100, 95,116, 99, 95,102,108, 97,103,115, 0,100,111,110,101, 0,115,116, 97,114,116, +115,116,105,108,108, 0,101,110,100,115,116,105,108,108, 0, 42,115,116,114,105,112,100, 97,116, 97, 0, 42, 99,114,111,112, 0, + 42,116,114, 97,110,115,102,111,114,109, 0, 42, 99,111,108,111,114, 95, 98, 97,108, 97,110, 99,101, 0, 42,105,110,115,116, 97, +110, 99,101, 95,112,114,105,118, 97,116,101, 95,100, 97,116, 97, 0, 42, 42, 99,117,114,114,101,110,116, 95,112,114,105,118, 97, +116,101, 95,100, 97,116, 97, 0, 42,116,109,112, 0,115,116, 97,114,116,111,102,115, 0,101,110,100,111,102,115, 0,109, 97, 99, +104,105,110,101, 0,115,116, 97,114,116,100,105,115,112, 0,101,110,100,100,105,115,112, 0,115, 97,116, 0,109,117,108, 0,104, + 97,110,100,115,105,122,101, 0, 97,110,105,109, 95,112,114,101,115,101,101,107, 0,115,116,114,101, 97,109,105,110,100,101,120, + 0,109,117,108,116,105, 99, 97,109, 95,115,111,117,114, 99,101, 0, 99,108,105,112, 95,102,108, 97,103, 0, 42,115,116,114,105, +112, 0, 42,115, 99,101,110,101, 95, 99, 97,109,101,114, 97, 0,101,102,102,101, 99,116, 95,102, 97,100,101,114, 0,115,112,101, +101,100, 95,102, 97,100,101,114, 0, 42,115,101,113, 49, 0, 42,115,101,113, 50, 0, 42,115,101,113, 51, 0,115,101,113, 98, 97, +115,101, 0, 42,115,111,117,110,100, 0, 42,115, 99,101,110,101, 95,115,111,117,110,100, 0,112,105,116, 99,104, 0,112, 97,110, + 0,115,116,114,111, 98,101, 0, 42,101,102,102,101, 99,116,100, 97,116, 97, 0, 97,110,105,109, 95,115,116, 97,114,116,111,102, +115, 0, 97,110,105,109, 95,101,110,100,111,102,115, 0, 98,108,101,110,100, 95,109,111,100,101, 0, 98,108,101,110,100, 95,111, +112, 97, 99,105,116,121, 0, 42,111,108,100, 98, 97,115,101,112, 0, 42,112, 97,114,115,101,113, 0, 42,115,101,113, 98, 97,115, +101,112, 0,109,101,116, 97,115,116, 97, 99,107, 0, 42, 97, 99,116, 95,115,101,113, 0, 97, 99,116, 95,105,109, 97,103,101,100, +105,114, 91, 49, 48, 50, 52, 93, 0, 97, 99,116, 95,115,111,117,110,100,100,105,114, 91, 49, 48, 50, 52, 93, 0,111,118,101,114, + 95,111,102,115, 0,111,118,101,114, 95, 99,102,114, 97, 0,111,118,101,114, 95,102,108, 97,103, 0,111,118,101,114, 95, 98,111, +114,100,101,114, 0,101,100,103,101, 87,105,100,116,104, 0,102,111,114,119, 97,114,100, 0,119,105,112,101,116,121,112,101, 0, +102, 77,105,110,105, 0,102, 67,108, 97,109,112, 0,102, 66,111,111,115,116, 0,100, 68,105,115,116, 0,100, 81,117, 97,108,105, +116,121, 0, 98, 78,111, 67,111,109,112, 0, 83, 99, 97,108,101,120, 73,110,105, 0, 83, 99, 97,108,101,121, 73,110,105, 0,120, + 73,110,105, 0,121, 73,110,105, 0,114,111,116, 73,110,105, 0,105,110,116,101,114,112,111,108, 97,116,105,111,110, 0,117,110, +105,102,111,114,109, 95,115, 99, 97,108,101, 0, 42,102,114, 97,109,101, 77, 97,112, 0,103,108,111, 98, 97,108, 83,112,101,101, +100, 0,108, 97,115,116, 86, 97,108,105,100, 70,114, 97,109,101, 0, 98,117,116,116,121,112,101, 0,117,115,101,114,106,105,116, + 0,115,116, 97, 0,116,111,116,112, 97,114,116, 0,110,111,114,109,102, 97, 99, 0,111, 98,102, 97, 99, 0,114, 97,110,100,102, + 97, 99, 0,116,101,120,102, 97, 99, 0,114, 97,110,100,108,105,102,101, 0,102,111,114, 99,101, 91, 51, 93, 0,118,101, 99,116, +115,105,122,101, 0,109, 97,120,108,101,110, 0,100,101,102,118,101, 99, 91, 51, 93, 0,109,117,108,116, 91, 52, 93, 0,108,105, +102,101, 91, 52, 93, 0, 99,104,105,108,100, 91, 52, 93, 0,109, 97,116, 91, 52, 93, 0,116,101,120,109, 97,112, 0, 99,117,114, +109,117,108,116, 0,115,116, 97,116,105, 99,115,116,101,112, 0,111,109, 97,116, 0,116,105,109,101,116,101,120, 0,115,112,101, +101,100,116,101,120, 0,102,108, 97,103, 50,110,101,103, 0,118,101,114,116,103,114,111,117,112, 95,118, 0,118,103,114,111,117, +112,110, 97,109,101, 91, 54, 52, 93, 0,118,103,114,111,117,112,110, 97,109,101, 95,118, 91, 54, 52, 93, 0, 42,107,101,121,115, + 0,109,105,110,102, 97, 99, 0,110,114, 0,117,115,101,100, 0,117,115,101,100,101,108,101,109, 0, 42,112,111,105,110, 0,114, +101,115,101,116,100,105,115,116, 0,108, 97,115,116,118, 97,108, 0, 42,109, 97, 0,107,101,121, 0,113,117, 97,108, 0,113,117, + 97,108, 50, 0,116, 97,114,103,101,116, 78, 97,109,101, 91, 54, 52, 93, 0,116,111,103,103,108,101, 78, 97,109,101, 91, 54, 52, + 93, 0,118, 97,108,117,101, 91, 54, 52, 93, 0,109, 97,120,118, 97,108,117,101, 91, 54, 52, 93, 0,100,101,108, 97,121, 0,100, +117,114, 97,116,105,111,110, 0,109, 97,116,101,114,105, 97,108, 78, 97,109,101, 91, 54, 52, 93, 0,100, 97,109,112,116,105,109, +101,114, 0,112,114,111,112,110, 97,109,101, 91, 54, 52, 93, 0,109, 97,116,110, 97,109,101, 91, 54, 52, 93, 0, 97,120,105,115, +102,108, 97,103, 0,112,111,115,101, 99,104, 97,110,110,101,108, 91, 54, 52, 93, 0, 99,111,110,115,116,114, 97,105,110,116, 91, + 54, 52, 93, 0, 42,102,114,111,109, 79, 98,106,101, 99,116, 0,115,117, 98,106,101, 99,116, 91, 54, 52, 93, 0, 98,111,100,121, + 91, 54, 52, 93, 0,111,116,121,112,101, 0,112,117,108,115,101, 0,102,114,101,113, 0,116,111,116,108,105,110,107,115, 0, 42, + 42,108,105,110,107,115, 0,116, 97,112, 0,106,111,121,105,110,100,101,120, 0, 97,120,105,115, 95,115,105,110,103,108,101, 0, + 97,120,105,115,102, 0, 98,117,116,116,111,110, 0,104, 97,116, 0,104, 97,116,102, 0,112,114,101, 99,105,115,105,111,110, 0, +115,116,114, 91, 49, 50, 56, 93, 0, 42,109,121,110,101,119, 0,105,110,112,117,116,115, 0,116,111,116,115,108,105,110,107,115, + 0, 42, 42,115,108,105,110,107,115, 0,118, 97,108,111, 0,115,116, 97,116,101, 95,109, 97,115,107, 0, 42, 97, 99,116, 0,102, +114, 97,109,101, 80,114,111,112, 91, 54, 52, 93, 0, 98,108,101,110,100,105,110, 0,112,114,105,111,114,105,116,121, 0,101,110, +100, 95,114,101,115,101,116, 0,115,116,114,105,100,101, 97,120,105,115, 0,115,116,114,105,100,101,108,101,110,103,116,104, 0, +108, 97,121,101,114, 95,119,101,105,103,104,116, 0,109,105,110, 95,103, 97,105,110, 0,109, 97,120, 95,103, 97,105,110, 0,114, +101,102,101,114,101,110, 99,101, 95,100,105,115,116, 97,110, 99,101, 0,109, 97,120, 95,100,105,115,116, 97,110, 99,101, 0,114, +111,108,108,111,102,102, 95,102, 97, 99,116,111,114, 0, 99,111,110,101, 95,105,110,110,101,114, 95, 97,110,103,108,101, 0, 99, +111,110,101, 95,111,117,116,101,114, 95, 97,110,103,108,101, 0, 99,111,110,101, 95,111,117,116,101,114, 95,103, 97,105,110, 0, +115,110,100,110,114, 0,115,111,117,110,100, 51, 68, 0,112, 97,100, 54, 91, 49, 93, 0, 42,109,101, 0,108,105,110, 86,101,108, +111, 99,105,116,121, 91, 51, 93, 0, 97,110,103, 86,101,108,111, 99,105,116,121, 91, 51, 93, 0,108,111, 99, 97,108,102,108, 97, +103, 0,100,121,110, 95,111,112,101,114, 97,116,105,111,110, 0,102,111,114, 99,101,108,111, 99, 91, 51, 93, 0,102,111,114, 99, +101,114,111,116, 91, 51, 93, 0,112, 97,100, 49, 91, 51, 93, 0,108,105,110,101, 97,114,118,101,108,111, 99,105,116,121, 91, 51, + 93, 0, 97,110,103,117,108, 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 42,114,101,102,101,114,101,110, 99,101, 0, +109,105,110, 0,109, 97,120, 0,114,111,116,100, 97,109,112, 0,109,105,110,108,111, 99, 91, 51, 93, 0,109, 97,120,108,111, 99, + 91, 51, 93, 0,109,105,110,114,111,116, 91, 51, 93, 0,109, 97,120,114,111,116, 91, 51, 93, 0,109, 97,116,112,114,111,112, 91, + 54, 52, 93, 0, 98,117,116,115,116, 97, 0, 98,117,116,101,110,100, 0,100,105,115,116,114,105, 98,117,116,105,111,110, 0,105, +110,116, 95, 97,114,103, 95, 49, 0,105,110,116, 95, 97,114,103, 95, 50, 0,102,108,111, 97,116, 95, 97,114,103, 95, 49, 0,102, +108,111, 97,116, 95, 97,114,103, 95, 50, 0,116,111, 80,114,111,112, 78, 97,109,101, 91, 54, 52, 93, 0, 42,116,111, 79, 98,106, +101, 99,116, 0, 98,111,100,121, 84,121,112,101, 0,102,105,108,101,110, 97,109,101, 91, 54, 52, 93, 0,108,111, 97,100, 97,110, +105,110, 97,109,101, 91, 54, 52, 93, 0,105,110,116, 95, 97,114,103, 0,102,108,111, 97,116, 95, 97,114,103, 0,105,110,102,108, +117,101,110, 99,101, 0, 42,115,117, 98,116, 97,114,103,101,116, 0,102, 97, 99,105,110,103, 97,120,105,115, 0,118,101,108,111, + 99,105,116,121, 0, 97, 99, 99,101,108,101,114, 97,116,105,111,110, 0,116,117,114,110,115,112,101,101,100, 0,117,112,100, 97, +116,101, 84,105,109,101, 0, 42,110, 97,118,109,101,115,104, 0,103,111, 0, 42,110,101,119,112, 97, 99,107,101,100,102,105,108, +101, 0, 97,116,116,101,110,117, 97,116,105,111,110, 0,100,105,115,116, 97,110, 99,101, 0, 42, 99, 97, 99,104,101, 0, 42,119, + 97,118,101,102,111,114,109, 0, 42,112,108, 97,121, 98, 97, 99,107, 95,104, 97,110,100,108,101, 0, 42,108, 97,109,112,114,101, +110, 0,103,111, 98,106,101, 99,116, 0,100,117,112,108,105, 95,111,102,115, 91, 51, 93, 0, 42,112,114,111,112, 0, 99,104,105, +108,100, 98, 97,115,101, 0,114,111,108,108, 0,104,101, 97,100, 91, 51, 93, 0,116, 97,105,108, 91, 51, 93, 0, 98,111,110,101, + 95,109, 97,116, 91, 51, 93, 91, 51, 93, 0, 97,114,109, 95,104,101, 97,100, 91, 51, 93, 0, 97,114,109, 95,116, 97,105,108, 91, + 51, 93, 0, 97,114,109, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 97,114,109, 95,114,111,108,108, 0,120,119,105,100,116,104, + 0,122,119,105,100,116,104, 0,101, 97,115,101, 49, 0,101, 97,115,101, 50, 0,114, 97,100, 95,104,101, 97,100, 0,114, 97,100, + 95,116, 97,105,108, 0,112, 97,100, 91, 49, 93, 0, 98,111,110,101, 98, 97,115,101, 0, 99,104, 97,105,110, 98, 97,115,101, 0, + 42,101,100, 98,111, 0, 42, 97, 99,116, 95, 98,111,110,101, 0, 42, 97, 99,116, 95,101,100, 98,111,110,101, 0, 42,115,107,101, +116, 99,104, 0,103,101,118,101,114,116,100,101,102,111,114,109,101,114, 0,108, 97,121,101,114, 95,117,115,101,100, 0,108, 97, +121,101,114, 95,112,114,111,116,101, 99,116,101,100, 0,103,104,111,115,116,101,112, 0,103,104,111,115,116,115,105,122,101, 0, +103,104,111,115,116,116,121,112,101, 0,112, 97,116,104,115,105,122,101, 0,103,104,111,115,116,115,102, 0,103,104,111,115,116, +101,102, 0,112, 97,116,104,115,102, 0,112, 97,116,104,101,102, 0,112, 97,116,104, 98, 99, 0,112, 97,116,104, 97, 99, 0, 42, +112,111,105,110,116,115, 0,115,116, 97,114,116, 95,102,114, 97,109,101, 0,101,110,100, 95,102,114, 97,109,101, 0,103,104,111, +115,116, 95,115,102, 0,103,104,111,115,116, 95,101,102, 0,103,104,111,115,116, 95, 98, 99, 0,103,104,111,115,116, 95, 97, 99, + 0,103,104,111,115,116, 95,116,121,112,101, 0,103,104,111,115,116, 95,115,116,101,112, 0,103,104,111,115,116, 95,102,108, 97, +103, 0,112, 97,116,104, 95,116,121,112,101, 0,112, 97,116,104, 95,115,116,101,112, 0,112, 97,116,104, 95,118,105,101,119,102, +108, 97,103, 0,112, 97,116,104, 95, 98, 97,107,101,102,108, 97,103, 0,112, 97,116,104, 95,115,102, 0,112, 97,116,104, 95,101, +102, 0,112, 97,116,104, 95, 98, 99, 0,112, 97,116,104, 95, 97, 99, 0,105,107,102,108, 97,103, 0, 97,103,114,112, 95,105,110, +100,101,120, 0, 99,111,110,115,116,102,108, 97,103, 0,115,101,108,101, 99,116,102,108, 97,103, 0,112, 97,100, 48, 91, 54, 93, + 0, 42, 98,111,110,101, 0, 42, 99,104,105,108,100, 0,105,107,116,114,101,101, 0,115,105,107,116,114,101,101, 0, 42, 99,117, +115,116,111,109, 0, 42, 99,117,115,116,111,109, 95,116,120, 0,101,117,108, 91, 51, 93, 0, 99,104, 97,110, 95,109, 97,116, 91, + 52, 93, 91, 52, 93, 0,112,111,115,101, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,104,101, 97,100, 91, 51, + 93, 0,112,111,115,101, 95,116, 97,105,108, 91, 51, 93, 0,108,105,109,105,116,109,105,110, 91, 51, 93, 0,108,105,109,105,116, +109, 97,120, 91, 51, 93, 0,115,116,105,102,102,110,101,115,115, 91, 51, 93, 0,105,107,115,116,114,101,116, 99,104, 0,105,107, +114,111,116,119,101,105,103,104,116, 0,105,107,108,105,110,119,101,105,103,104,116, 0, 42,116,101,109,112, 0, 99,104, 97,110, + 98, 97,115,101, 0, 42, 99,104, 97,110,104, 97,115,104, 0,112,114,111,120,121, 95,108, 97,121,101,114, 0,115,116,114,105,100, +101, 95,111,102,102,115,101,116, 91, 51, 93, 0, 99,121, 99,108,105, 99, 95,111,102,102,115,101,116, 91, 51, 93, 0, 97,103,114, +111,117,112,115, 0, 97, 99,116,105,118,101, 95,103,114,111,117,112, 0,105,107,115,111,108,118,101,114, 0, 42,105,107,100, 97, +116, 97, 0, 42,105,107,112, 97,114, 97,109, 0,112,114,111,120,121, 95, 97, 99,116, 95, 98,111,110,101, 91, 54, 52, 93, 0,110, +117,109,105,116,101,114, 0,110,117,109,115,116,101,112, 0,109,105,110,115,116,101,112, 0,109, 97,120,115,116,101,112, 0,115, +111,108,118,101,114, 0,102,101,101,100, 98, 97, 99,107, 0,109, 97,120,118,101,108, 0,100, 97,109,112,109, 97,120, 0,100, 97, +109,112,101,112,115, 0, 99,104, 97,110,110,101,108,115, 0, 99,117,115,116,111,109, 67,111,108, 0, 99,115, 0, 99,117,114,118, +101,115, 0,103,114,111,117,112,115, 0, 97, 99,116,105,118,101, 95,109, 97,114,107,101,114, 0,105,100,114,111,111,116, 0, 42, +115,111,117,114, 99,101, 0, 42,102,105,108,116,101,114, 95,103,114,112, 0,115,101, 97,114, 99,104,115,116,114, 91, 54, 52, 93, + 0,102,105,108,116,101,114,102,108, 97,103, 0,114,101,110, 97,109,101, 73,110,100,101,120, 0, 97,100,115, 0,116,105,109,101, +115,108,105,100,101, 0, 42,103,114,112, 0,110, 97,109,101, 91, 51, 48, 93, 0,111,119,110,115,112, 97, 99,101, 0,116, 97,114, +115,112, 97, 99,101, 0,101,110,102,111,114, 99,101, 0,104,101, 97,100,116, 97,105,108, 0,108,105,110, 95,101,114,114,111,114, + 0,114,111,116, 95,101,114,114,111,114, 0, 42,116, 97,114, 0,109, 97,116,114,105,120, 91, 52, 93, 91, 52, 93, 0,115,112, 97, + 99,101, 0,114,111,116, 79,114,100,101,114, 0,116, 97,114,110,117,109, 0,116, 97,114,103,101,116,115, 0,105,116,101,114, 97, +116,105,111,110,115, 0,114,111,111,116, 98,111,110,101, 0,109, 97,120, 95,114,111,111,116, 98,111,110,101, 0, 42,112,111,108, +101,116, 97,114, 0,112,111,108,101,115,117, 98,116, 97,114,103,101,116, 91, 54, 52, 93, 0,112,111,108,101, 97,110,103,108,101, + 0,111,114,105,101,110,116,119,101,105,103,104,116, 0,103,114, 97, 98,116, 97,114,103,101,116, 91, 51, 93, 0,110,117,109,112, +111,105,110,116,115, 0, 99,104, 97,105,110,108,101,110, 0,120,122, 83, 99, 97,108,101, 77,111,100,101, 0,114,101,115,101,114, +118,101,100, 49, 0,114,101,115,101,114,118,101,100, 50, 0,109,105,110,109, 97,120,102,108, 97,103, 0,115,116,117, 99,107, 0, + 99, 97, 99,104,101, 91, 51, 93, 0,108,111, 99,107,102,108, 97,103, 0,102,111,108,108,111,119,102,108, 97,103, 0,118,111,108, +109,111,100,101, 0,112,108, 97,110,101, 0,111,114,103,108,101,110,103,116,104, 0, 98,117,108,103,101, 0,112,105,118, 88, 0, +112,105,118, 89, 0,112,105,118, 90, 0, 97,120, 88, 0, 97,120, 89, 0, 97,120, 90, 0,109,105,110, 76,105,109,105,116, 91, 54, + 93, 0,109, 97,120, 76,105,109,105,116, 91, 54, 93, 0,101,120,116,114, 97, 70,122, 0,105,110,118,109, 97,116, 91, 52, 93, 91, + 52, 93, 0,102,114,111,109, 0,116,111, 0,109, 97,112, 91, 51, 93, 0,101,120,112,111, 0,102,114,111,109, 95,109,105,110, 91, + 51, 93, 0,102,114,111,109, 95,109, 97,120, 91, 51, 93, 0,116,111, 95,109,105,110, 91, 51, 93, 0,116,111, 95,109, 97,120, 91, + 51, 93, 0,114,111,116, 65,120,105,115, 0,122,109,105,110, 0,122,109, 97,120, 0,112, 97,100, 91, 57, 93, 0,116,114, 97, 99, +107, 91, 54, 52, 93, 0,111, 98,106,101, 99,116, 91, 54, 52, 93, 0, 42,100,101,112,116,104, 95,111, 98, 0, 99,104, 97,110,110, +101,108, 91, 51, 50, 93, 0,110,111, 95,114,111,116, 95, 97,120,105,115, 0,115,116,114,105,100,101, 95, 97,120,105,115, 0, 99, +117,114,109,111,100, 0, 97, 99,116,115,116, 97,114,116, 0, 97, 99,116,101,110,100, 0, 97, 99,116,111,102,102,115, 0,115,116, +114,105,100,101,108,101,110, 0, 98,108,101,110,100,111,117,116, 0,115,116,114,105,100,101, 99,104, 97,110,110,101,108, 91, 51, + 50, 93, 0,111,102,102,115, 95, 98,111,110,101, 91, 51, 50, 93, 0,104, 97,115,105,110,112,117,116, 0,104, 97,115,111,117,116, +112,117,116, 0,100, 97,116, 97,116,121,112,101, 0,115,111, 99,107,101,116,116,121,112,101, 0,105,115, 95, 99,111,112,121, 0, +101,120,116,101,114,110, 97,108, 0, 42,110,101,119, 95,115,111, 99,107, 0, 42,115,116,111,114, 97,103,101, 0,108,105,109,105, +116, 0,108,111, 99,120, 0,108,111, 99,121, 0, 42,100,101,102, 97,117,108,116, 95,118, 97,108,117,101, 0,115,116, 97, 99,107, + 95,105,110,100,101,120, 0,115,116, 97, 99,107, 95,116,121,112,101, 0,114,101,115,105,122,101,109,111,100,101, 0,111,119,110, + 95,105,110,100,101,120, 0,116,111, 95,105,110,100,101,120, 0, 42,103,114,111,117,112,115,111, 99,107, 0, 42,108,105,110,107, + 0,110,115, 0, 42,114,101, 99,116, 0,120,115,105,122,101, 0,121,115,105,122,101, 0, 42,110,101,119, 95,110,111,100,101, 0, +108, 97,115,116,121, 0, 99,111,108,111,114, 91, 51, 93, 0,111,117,116,112,117,116,115, 0,109,105,110,105,119,105,100,116,104, + 0,111,102,102,115,101,116,120, 0,111,102,102,115,101,116,121, 0,117,112,100, 97,116,101, 0,108, 97, 98,101,108, 91, 54, 52, + 93, 0, 99,117,115,116,111,109, 49, 0, 99,117,115,116,111,109, 50, 0, 99,117,115,116,111,109, 51, 0, 99,117,115,116,111,109, + 52, 0,110,101,101,100, 95,101,120,101, 99, 0,101,120,101, 99, 0, 42,116,104,114,101, 97,100,100, 97,116, 97, 0,116,111,116, +114, 0, 98,117,116,114, 0,112,114,118,114, 0, 42, 98,108,111, 99,107, 0, 42,116,121,112,101,105,110,102,111, 0, 42,102,114, +111,109,110,111,100,101, 0, 42,116,111,110,111,100,101, 0, 42,102,114,111,109,115,111, 99,107, 0, 42,116,111,115,111, 99,107, + 0,110,111,100,101,115, 0,108,105,110,107,115, 0,105,110,105,116, 0, 99,117,114, 95,105,110,100,101,120, 0,110,111,100,101, +116,121,112,101, 0,101,100,105,116, 95,113,117, 97,108,105,116,121, 0,114,101,110,100,101,114, 95,113,117, 97,108,105,116,121, + 0, 99,104,117,110,107,115,105,122,101, 0, 42,101,120,101, 99,100, 97,116, 97, 0, 40, 42,112,114,111,103,114,101,115,115, 41, 40, 41, 0, 40, 42,115,116, 97,116,115, 95,100,114, 97,119, 41, 40, 41, 0, 40, 42,116,101,115,116, 95, 98,114,101, 97,107, 41, 40, 41, 0, 42,116, 98,104, 0, 42,112,114,104, 0, 42,115,100,104, 0,118, 97,108,117,101, 91, 51, 93, 0,118, 97,108,117,101, - 91, 52, 93, 0, 99,121, 99,108,105, 99, 0,109,111,118,105,101, 0,108, 97,121,101,114, 95,105,110,100,101,120, 0,112, 97,115, -115, 95,105,110,100,101,120, 0,112, 97,115,115, 95,102,108, 97,103, 0,109, 97,120,115,112,101,101,100, 0,109,105,110,115,112, -101,101,100, 0, 99,117,114,118,101,100, 0,112,101,114, 99,101,110,116,120, 0,112,101,114, 99,101,110,116,121, 0, 98,111,107, -101,104, 0,103, 97,109,109, 97, 0,105,109, 97,103,101, 95,105,110, 95,119,105,100,116,104, 0,105,109, 97,103,101, 95,105,110, - 95,104,101,105,103,104,116, 0, 99,101,110,116,101,114, 95,120, 0, 99,101,110,116,101,114, 95,121, 0,115,112,105,110, 0,119, -114, 97,112, 0,115,105,103,109, 97, 95, 99,111,108,111,114, 0,115,105,103,109, 97, 95,115,112, 97, 99,101, 0,104,117,101, 0, - 98, 97,115,101, 95,112, 97,116,104, 91, 49, 48, 50, 52, 93, 0,102,111,114,109, 97,116, 0, 97, 99,116,105,118,101, 95,105,110, -112,117,116, 0,117,115,101, 95,114,101,110,100,101,114, 95,102,111,114,109, 97,116, 0,117,115,101, 95,110,111,100,101, 95,102, -111,114,109, 97,116, 0,108, 97,121,101,114, 91, 51, 48, 93, 0,116, 49, 0,116, 50, 0,116, 51, 0,102,115,116,114,101,110,103, -116,104, 0,102, 97,108,112,104, 97, 0,107,101,121, 91, 52, 93, 0, 97,108,103,111,114,105,116,104,109, 0, 99,104, 97,110,110, -101,108, 0,120, 49, 0,120, 50, 0,121, 49, 0,121, 50, 0,102, 97, 99, 95,120, 49, 0,102, 97, 99, 95,120, 50, 0,102, 97, 99, - 95,121, 49, 0,102, 97, 99, 95,121, 50, 0, 99,111,108,110, 97,109,101, 91, 54, 52, 93, 0, 98,107,116,121,112,101, 0,112, 97, -100, 95, 99, 49, 0,103, 97,109, 99,111, 0,110,111, 95,122, 98,117,102, 0,102,115,116,111,112, 0,109, 97,120, 98,108,117,114, - 0, 98,116,104,114,101,115,104, 0,114,111,116, 97,116,105,111,110, 0,112, 97,100, 95,102, 49, 0, 42,100,105, 99,116, 0, 42, -110,111,100,101, 0, 99,111,108,109,111,100, 0,109,105,120, 0,102, 97,100,101, 0, 97,110,103,108,101, 95,111,102,115, 0,109, - 0, 99, 0,106,105,116, 0,112,114,111,106, 0,102,105,116, 0,115,108,111,112,101, 91, 51, 93, 0,112,111,119,101,114, 91, 51, - 93, 0,108,105,102,116, 95,108,103,103, 91, 51, 93, 0,103, 97,109,109, 97, 95,105,110,118, 91, 51, 93, 0,108,105,109, 99,104, - 97,110, 0,117,110,115,112,105,108,108, 0,108,105,109,115, 99, 97,108,101, 0,117,115,112,105,108,108,114, 0,117,115,112,105, -108,108,103, 0,117,115,112,105,108,108, 98, 0,116,101,120, 95,109, 97,112,112,105,110,103, 0, 99,111,108,111,114, 95,109, 97, -112,112,105,110,103, 0,115,117,110, 95,100,105,114,101, 99,116,105,111,110, 91, 51, 93, 0,116,117,114, 98,105,100,105,116,121, - 0, 99,111,108,111,114, 95,115,112, 97, 99,101, 0,112,114,111,106,101, 99,116,105,111,110, 0,103,114, 97,100,105,101,110,116, - 95,116,121,112,101, 0, 99,111,108,111,114,105,110,103, 0,109,117,115,103,114, 97,118,101, 95,116,121,112,101, 0,119, 97,118, -101, 95,116,121,112,101, 0,115,104,111,114,116,121, 0,109,105,110,116, 97, 98,108,101, 0,109, 97,120,116, 97, 98,108,101, 0, -101,120,116, 95,105,110, 91, 50, 93, 0,101,120,116, 95,111,117,116, 91, 50, 93, 0, 42, 99,117,114,118,101, 0, 42,116, 97, 98, -108,101, 0, 42,112,114,101,109,117,108,116, 97, 98,108,101, 0,112,114,101,115,101,116, 0, 99,104, 97,110,103,101,100, 95,116, -105,109,101,115,116, 97,109,112, 0, 99,117,114,114, 0, 99,108,105,112,114, 0, 99,109, 91, 52, 93, 0, 98,108, 97, 99,107, 91, - 51, 93, 0,119,104,105,116,101, 91, 51, 93, 0, 98,119,109,117,108, 91, 51, 93, 0,115, 97,109,112,108,101, 91, 51, 93, 0,120, - 95,114,101,115,111,108,117,116,105,111,110, 0,100, 97,116, 97, 95,114, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95,103, 91, 50, - 53, 54, 93, 0,100, 97,116, 97, 95, 98, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95,108,117,109, 97, 91, 50, 53, 54, 93, 0,115, - 97,109,112,108,101, 95,102,117,108,108, 0,115, 97,109,112,108,101, 95,108,105,110,101,115, 0, 97, 99, 99,117,114, 97, 99,121, - 0,119, 97,118,101,102,114,109, 95,109,111,100,101, 0,119, 97,118,101,102,114,109, 95, 97,108,112,104, 97, 0,119, 97,118,101, -102,114,109, 95,121,102, 97, 99, 0,119, 97,118,101,102,114,109, 95,104,101,105,103,104,116, 0,118,101, 99,115, 99,111,112,101, - 95, 97,108,112,104, 97, 0,118,101, 99,115, 99,111,112,101, 95,104,101,105,103,104,116, 0,109,105,110,109, 97,120, 91, 51, 93, - 91, 50, 93, 0,104,105,115,116, 0, 42,119, 97,118,101,102,111,114,109, 95, 49, 0, 42,119, 97,118,101,102,111,114,109, 95, 50, - 0, 42,119, 97,118,101,102,111,114,109, 95, 51, 0, 42,118,101, 99,115, 99,111,112,101, 0,119, 97,118,101,102,111,114,109, 95, -116,111,116, 0,111,102,102,115,101,116, 91, 50, 93, 0, 99,108,111,110,101, 0,109,116,101,120, 0, 42,116,111,103,103,108,101, - 95, 98,114,117,115,104, 0, 42,105, 99,111,110, 95,105,109, 98,117,102, 0,105, 99,111,110, 95,102,105,108,101,112, 97,116,104, - 91, 49, 48, 50, 52, 93, 0,110,111,114,109, 97,108, 95,119,101,105,103,104,116, 0,111, 98, 95,109,111,100,101, 0,106,105,116, -116,101,114, 0,115,109,111,111,116,104, 95,115,116,114,111,107,101, 95,114, 97,100,105,117,115, 0,115,109,111,111,116,104, 95, -115,116,114,111,107,101, 95,102, 97, 99,116,111,114, 0,114, 97,116,101, 0,114,103, 98, 91, 51, 93, 0,115, 99,117,108,112,116, - 95,112,108, 97,110,101, 0,112,108, 97,110,101, 95,111,102,102,115,101,116, 0,115, 99,117,108,112,116, 95,116,111,111,108, 0, -118,101,114,116,101,120,112, 97,105,110,116, 95,116,111,111,108, 0,105,109, 97,103,101,112, 97,105,110,116, 95,116,111,111,108, - 0,109, 97,115,107, 95,116,111,111,108, 0, 97,117,116,111,115,109,111,111,116,104, 95,102, 97, 99,116,111,114, 0, 99,114,101, - 97,115,101, 95,112,105,110, 99,104, 95,102, 97, 99,116,111,114, 0,112,108, 97,110,101, 95,116,114,105,109, 0,116,101,120,116, -117,114,101, 95,115, 97,109,112,108,101, 95, 98,105, 97,115, 0,116,101,120,116,117,114,101, 95,111,118,101,114,108, 97,121, 95, - 97,108,112,104, 97, 0, 97,100,100, 95, 99,111,108, 91, 51, 93, 0,115,117, 98, 95, 99,111,108, 91, 51, 93, 0, 97, 99,116,105, -118,101, 95,114,110,100, 0, 97, 99,116,105,118,101, 95, 99,108,111,110,101, 0, 97, 99,116,105,118,101, 95,109, 97,115,107, 0, - 42,108, 97,121,101,114,115, 0,116,121,112,101,109, 97,112, 91, 51, 54, 93, 0,116,111,116,108, 97,121,101,114, 0,109, 97,120, -108, 97,121,101,114, 0,116,111,116,115,105,122,101, 0, 42,112,111,111,108, 0, 42,101,120,116,101,114,110, 97,108, 0,114,111, -116, 91, 52, 93, 0, 97,118,101, 91, 51, 93, 0, 42,103,114,111,117,110,100, 0,119, 97,110,100,101,114, 91, 51, 93, 0,114,101, -115,116, 95,108,101,110,103,116,104, 0,112, 97,114,116,105, 99,108,101, 95,105,110,100,101,120, 91, 50, 93, 0,100,101,108,101, -116,101, 95,102,108, 97,103, 0,110,117,109, 0,112, 97,114,101,110,116, 0,112, 97, 91, 52, 93, 0,119, 91, 52, 93, 0,102,117, -118, 91, 52, 93, 0,102,111,102,102,115,101,116, 0,112,114,101,118, 95,115,116, 97,116,101, 0, 42,104, 97,105,114, 0, 42, 98, -111,105,100, 0,100,105,101,116,105,109,101, 0,110,117,109, 95,100,109, 99, 97, 99,104,101, 0,104, 97,105,114, 95,105,110,100, -101,120, 0, 97,108,105,118,101, 0,115,112,114,105,110,103, 95,107, 0,112,108, 97,115,116,105, 99,105,116,121, 95, 99,111,110, -115,116, 97,110,116, 0,121,105,101,108,100, 95,114, 97,116,105,111, 0,112,108, 97,115,116,105, 99,105,116,121, 95, 98, 97,108, - 97,110, 99,101, 0,121,105,101,108,100, 95, 98, 97,108, 97,110, 99,101, 0,118,105,115, 99,111,115,105,116,121, 95,111,109,101, -103, 97, 0,118,105,115, 99,111,115,105,116,121, 95, 98,101,116, 97, 0,115,116,105,102,102,110,101,115,115, 95,107, 0,115,116, -105,102,102,110,101,115,115, 95,107,110,101, 97,114, 0,114,101,115,116, 95,100,101,110,115,105,116,121, 0, 98,117,111,121, 97, -110, 99,121, 0,115,112,114,105,110,103, 95,102,114, 97,109,101,115, 0, 42, 98,111,105,100,115, 0, 42,102,108,117,105,100, 0, -100,105,115,116,114, 0,112,104,121,115,116,121,112,101, 0, 97,118,101,109,111,100,101, 0,114,101, 97, 99,116,101,118,101,110, -116, 0,100,114, 97,119, 0,100,114, 97,119, 95, 97,115, 0,100,114, 97,119, 95,115,105,122,101, 0, 99,104,105,108,100,116,121, -112,101, 0,114,101,110, 95, 97,115, 0,115,117, 98,102,114, 97,109,101,115, 0,100,114, 97,119, 95, 99,111,108, 0,114,101,110, - 95,115,116,101,112, 0,104, 97,105,114, 95,115,116,101,112, 0,107,101,121,115, 95,115,116,101,112, 0, 97,100, 97,112,116, 95, - 97,110,103,108,101, 0, 97,100, 97,112,116, 95,112,105,120, 0,114,111,116,102,114,111,109, 0,105,110,116,101,103,114, 97,116, -111,114, 0, 98, 98, 95, 97,108,105,103,110, 0, 98, 98, 95,117,118, 95,115,112,108,105,116, 0, 98, 98, 95, 97,110,105,109, 0, - 98, 98, 95,115,112,108,105,116, 95,111,102,102,115,101,116, 0, 98, 98, 95,116,105,108,116, 0, 98, 98, 95,114, 97,110,100, 95, -116,105,108,116, 0, 98, 98, 95,111,102,102,115,101,116, 91, 50, 93, 0, 98, 98, 95,115,105,122,101, 91, 50, 93, 0, 98, 98, 95, -118,101,108, 95,104,101, 97,100, 0, 98, 98, 95,118,101,108, 95,116, 97,105,108, 0, 99,111,108,111,114, 95,118,101, 99, 95,109, - 97,120, 0,115,105,109,112,108,105,102,121, 95,114,101,102,115,105,122,101, 0,115,105,109,112,108,105,102,121, 95,114, 97,116, -101, 0,115,105,109,112,108,105,102,121, 95,116,114, 97,110,115,105,116,105,111,110, 0,115,105,109,112,108,105,102,121, 95,118, -105,101,119,112,111,114,116, 0,116,105,109,101,116,119,101, 97,107, 0, 99,111,117,114, 97,110,116, 95,116, 97,114,103,101,116, - 0,106,105,116,102, 97, 99, 0,101,102,102, 95,104, 97,105,114, 0,103,114,105,100, 95,114, 97,110,100, 0,112,115, 95,111,102, -102,115,101,116, 91, 49, 93, 0,103,114,105,100, 95,114,101,115, 0,101,102,102,101, 99,116,111,114, 95, 97,109,111,117,110,116, - 0,116,105,109,101, 95,102,108, 97,103, 0,116,105,109,101, 95,112, 97,100, 91, 51, 93, 0,112, 97,114,116,102, 97, 99, 0,116, - 97,110,102, 97, 99, 0,116, 97,110,112,104, 97,115,101, 0,114,101, 97, 99,116,102, 97, 99, 0,111, 98, 95,118,101,108, 91, 51, - 93, 0, 97,118,101,102, 97, 99, 0,112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,114,111,116,102, 97, 99, 0,114, 97,110, -100,112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,115,105,122,101, 0, 97, 99, 99, 91, 51, 93, 0,100,114, 97,103,102, 97, - 99, 0, 98,114,111,119,110,102, 97, 99, 0,114, 97,110,100,108,101,110,103,116,104, 0, 99,104,105,108,100, 95,110, 98,114, 0, -114,101,110, 95, 99,104,105,108,100, 95,110, 98,114, 0,112, 97,114,101,110,116,115, 0, 99,104,105,108,100,115,105,122,101, 0, - 99,104,105,108,100,114, 97,110,100,115,105,122,101, 0, 99,104,105,108,100,114, 97,100, 0, 99,104,105,108,100,102,108, 97,116, - 0, 99,108,117,109,112,112,111,119, 0,107,105,110,107, 95,102,108, 97,116, 0,107,105,110,107, 95, 97,109,112, 95, 99,108,117, -109,112, 0,114,111,117,103,104, 49, 0,114,111,117,103,104, 49, 95,115,105,122,101, 0,114,111,117,103,104, 50, 0,114,111,117, -103,104, 50, 95,115,105,122,101, 0,114,111,117,103,104, 50, 95,116,104,114,101,115, 0,114,111,117,103,104, 95,101,110,100, 0, -114,111,117,103,104, 95,101,110,100, 95,115,104, 97,112,101, 0, 99,108,101,110,103,116,104, 0, 99,108,101,110,103,116,104, 95, -116,104,114,101,115, 0,112, 97,114,116,105,110,103, 95,102, 97, 99, 0,112, 97,114,116,105,110,103, 95,109,105,110, 0,112, 97, -114,116,105,110,103, 95,109, 97,120, 0, 98,114, 97,110, 99,104, 95,116,104,114,101,115, 0,100,114, 97,119, 95,108,105,110,101, - 91, 50, 93, 0,112, 97,116,104, 95,115,116, 97,114,116, 0,112, 97,116,104, 95,101,110,100, 0,116,114, 97,105,108, 95, 99,111, -117,110,116, 0,107,101,121,101,100, 95,108,111,111,112,115, 0,100,117,112,108,105,119,101,105,103,104,116,115, 0, 42,101,102, -102, 95,103,114,111,117,112, 0, 42,100,117,112, 95,111, 98, 0, 42, 98, 98, 95,111, 98, 0, 42,112,100, 50, 0, 42,112, 97,114, -116, 0, 42,112, 97,114,116,105, 99,108,101,115, 0, 42, 42,112, 97,116,104, 99, 97, 99,104,101, 0, 42, 42, 99,104,105,108,100, - 99, 97, 99,104,101, 0,112, 97,116,104, 99, 97, 99,104,101, 98,117,102,115, 0, 99,104,105,108,100, 99, 97, 99,104,101, 98,117, -102,115, 0, 42, 99,108,109,100, 0, 42,104, 97,105,114, 95,105,110, 95,100,109, 0, 42,104, 97,105,114, 95,111,117,116, 95,100, -109, 0, 42,116, 97,114,103,101,116, 95,111, 98, 0, 42,108, 97,116,116,105, 99,101, 0,116,114,101,101, 95,102,114, 97,109,101, - 0, 98,118,104,116,114,101,101, 95,102,114, 97,109,101, 0, 99,104,105,108,100, 95,115,101,101,100, 0,116,111,116,117,110,101, -120,105,115,116, 0,116,111,116, 99,104,105,108,100, 0,116,111,116, 99, 97, 99,104,101,100, 0,116,111,116, 99,104,105,108,100, - 99, 97, 99,104,101, 0,116, 97,114,103,101,116, 95,112,115,121,115, 0,116,111,116,107,101,121,101,100, 0, 98, 97,107,101,115, -112, 97, 99,101, 0, 98, 98, 95,117,118,110, 97,109,101, 91, 51, 93, 91, 54, 52, 93, 0,118,103,114,111,117,112, 91, 49, 50, 93, - 0,118,103, 95,110,101,103, 0,114,116, 51, 0, 42,114,101,110,100,101,114,100, 97,116, 97, 0, 42,101,102,102,101, 99,116,111, -114,115, 0, 42,102,108,117,105,100, 95,115,112,114,105,110,103,115, 0,116,111,116, 95,102,108,117,105,100,115,112,114,105,110, -103,115, 0, 97,108,108,111, 99, 95,102,108,117,105,100,115,112,114,105,110,103,115, 0, 42,116,114,101,101, 0, 42,112,100,100, - 0, 42,102,114, 97,110,100, 0,100,116, 95,102,114, 97, 99, 0, 95,112, 97,100, 0, 67,100,105,115, 0, 67,118,105, 0,115,116, -114,117, 99,116,117,114, 97,108, 0, 98,101,110,100,105,110,103, 0,109, 97,120, 95, 98,101,110,100, 0,109, 97,120, 95,115,116, -114,117, 99,116, 0,109, 97,120, 95,115,104,101, 97,114, 0, 97,118,103, 95,115,112,114,105,110,103, 95,108,101,110, 0,116,105, -109,101,115, 99, 97,108,101, 0,101,102,102, 95,102,111,114, 99,101, 95,115, 99, 97,108,101, 0,101,102,102, 95,119,105,110,100, - 95,115, 99, 97,108,101, 0,115,105,109, 95,116,105,109,101, 95,111,108,100, 0,118,101,108,111, 99,105,116,121, 95,115,109,111, -111,116,104, 0, 99,111,108,108,105,100,101,114, 95,102,114,105, 99,116,105,111,110, 0,118,101,108, 95,100, 97,109,112,105,110, -103, 0,115,116,101,112,115, 80,101,114, 70,114, 97,109,101, 0,112,114,101,114,111,108,108, 0,109, 97,120,115,112,114,105,110, -103,108,101,110, 0,115,111,108,118,101,114, 95,116,121,112,101, 0,118,103,114,111,117,112, 95, 98,101,110,100, 0,118,103,114, -111,117,112, 95,109, 97,115,115, 0,118,103,114,111,117,112, 95,115,116,114,117, 99,116, 0,115,104, 97,112,101,107,101,121, 95, -114,101,115,116, 0,112,114,101,115,101,116,115, 0,114,101,115,101,116, 0, 42, 99,111,108,108,105,115,105,111,110, 95,108,105, -115,116, 0,101,112,115,105,108,111,110, 0,115,101,108,102, 95,102,114,105, 99,116,105,111,110, 0,115,101,108,102,101,112,115, -105,108,111,110, 0,114,101,112,101,108, 95,102,111,114, 99,101, 0,100,105,115,116, 97,110, 99,101, 95,114,101,112,101,108, 0, -115,101,108,102, 95,108,111,111,112, 95, 99,111,117,110,116, 0,108,111,111,112, 95, 99,111,117,110,116, 0,112,114,101,115,115, -117,114,101, 0,116,104,105, 99,107,110,101,115,115, 0,115,116,114,111,107,101,115, 0,102,114, 97,109,101,110,117,109, 0, 42, - 97, 99,116,102,114, 97,109,101, 0,103,115,116,101,112, 0,105,110,102,111, 91, 49, 50, 56, 93, 0,115, 98,117,102,102,101,114, - 95,115,105,122,101, 0,115, 98,117,102,102,101,114, 95,115,102,108, 97,103, 0, 42,115, 98,117,102,102,101,114, 0,108,105,115, -116, 0,112,114,105,110,116,108,101,118,101,108, 0,115,116,111,114,101,108,101,118,101,108, 0, 42,114,101,112,111,114,116,116, -105,109,101,114, 0, 42,119,105,110,100,114, 97,119, 97, 98,108,101, 0, 42,119,105,110, 97, 99,116,105,118,101, 0,119,105,110, -100,111,119,115, 0,105,110,105,116,105, 97,108,105,122,101,100, 0,102,105,108,101, 95,115, 97,118,101,100, 0,111,112, 95,117, -110,100,111, 95,100,101,112,116,104, 0,111,112,101,114, 97,116,111,114,115, 0,113,117,101,117,101, 0,114,101,112,111,114,116, -115, 0,106,111, 98,115, 0,112, 97,105,110,116, 99,117,114,115,111,114,115, 0,100,114, 97,103,115, 0,107,101,121, 99,111,110, -102,105,103,115, 0, 42,100,101,102, 97,117,108,116, 99,111,110,102, 0, 42, 97,100,100,111,110, 99,111,110,102, 0, 42,117,115, -101,114, 99,111,110,102, 0,116,105,109,101,114,115, 0, 42, 97,117,116,111,115, 97,118,101,116,105,109,101,114, 0, 42,103,104, -111,115,116,119,105,110, 0,103,114, 97, 98, 99,117,114,115,111,114, 0, 42,115, 99,114,101,101,110, 0, 42,110,101,119,115, 99, -114,101,101,110, 0,115, 99,114,101,101,110,110, 97,109,101, 91, 54, 52, 93, 0,112,111,115,120, 0,112,111,115,121, 0,119,105, -110,100,111,119,115,116, 97,116,101, 0,109,111,110,105,116,111,114, 0,108, 97,115,116, 99,117,114,115,111,114, 0,109,111,100, - 97,108, 99,117,114,115,111,114, 0, 97,100,100,109,111,117,115,101,109,111,118,101, 0, 42,101,118,101,110,116,115,116, 97,116, -101, 0, 42, 99,117,114,115,119,105,110, 0, 42,116,119,101, 97,107, 0,100,114, 97,119,109,101,116,104,111,100, 0,100,114, 97, -119,102, 97,105,108, 0, 42,100,114, 97,119,100, 97,116, 97, 0,109,111,100, 97,108,104, 97,110,100,108,101,114,115, 0,115,117, - 98,119,105,110,100,111,119,115, 0,103,101,115,116,117,114,101, 0,105,100,110, 97,109,101, 91, 54, 52, 93, 0,112,114,111,112, -118, 97,108,117,101, 95,115,116,114, 91, 54, 52, 93, 0,112,114,111,112,118, 97,108,117,101, 0,115,104,105,102,116, 0, 99,116, -114,108, 0, 97,108,116, 0,111,115,107,101,121, 0,107,101,121,109,111,100,105,102,105,101,114, 0,109, 97,112,116,121,112,101, - 0, 42,112,116,114, 0, 42,114,101,109,111,118,101, 95,105,116,101,109, 0, 42, 97,100,100, 95,105,116,101,109, 0,105,116,101, -109,115, 0,100,105,102,102, 95,105,116,101,109,115, 0,115,112, 97, 99,101,105,100, 0,114,101,103,105,111,110,105,100, 0,107, -109,105, 95,105,100, 0, 40, 42,112,111,108,108, 41, 40, 41, 0, 42,109,111,100, 97,108, 95,105,116,101,109,115, 0, 98, 97,115, -101,110, 97,109,101, 91, 54, 52, 93, 0, 97, 99,116,107,101,121,109, 97,112, 0, 42, 99,117,115,116,111,109,100, 97,116, 97, 0, - 42,112,121, 95,105,110,115,116, 97,110, 99,101, 0, 42,114,101,112,111,114,116,115, 0,109, 97, 99,114,111, 0, 42,111,112,109, - 0, 42,101,100, 97,116, 97, 0, 42, 99,111,101,102,102,105, 99,105,101,110,116,115, 0, 97,114,114, 97,121,115,105,122,101, 0, -112,111,108,121, 95,111,114,100,101,114, 0, 97,109,112,108,105,116,117,100,101, 0,112,104, 97,115,101, 95,109,117,108,116,105, -112,108,105,101,114, 0,112,104, 97,115,101, 95,111,102,102,115,101,116, 0,118, 97,108,117,101, 95,111,102,102,115,101,116, 0, -109,105,100,118, 97,108, 0, 98,101,102,111,114,101, 95,109,111,100,101, 0, 97,102,116,101,114, 95,109,111,100,101, 0, 98,101, -102,111,114,101, 95, 99,121, 99,108,101,115, 0, 97,102,116,101,114, 95, 99,121, 99,108,101,115, 0,114,101, 99,116, 0,112,104, - 97,115,101, 0,109,111,100,105,102,105, 99, 97,116,105,111,110, 0,115,116,101,112, 95,115,105,122,101, 0, 42,114,110, 97, 95, -112, 97,116,104, 0,112, 99,104, 97,110, 95,110, 97,109,101, 91, 51, 50, 93, 0,116,114, 97,110,115, 67,104, 97,110, 0,105,100, -116,121,112,101, 0,116, 97,114,103,101,116,115, 91, 56, 93, 0,110,117,109, 95,116, 97,114,103,101,116,115, 0,118, 97,114,105, - 97, 98,108,101,115, 0,101,120,112,114,101,115,115,105,111,110, 91, 50, 53, 54, 93, 0, 42,101,120,112,114, 95, 99,111,109,112, - 0,118,101, 99, 91, 50, 93, 0, 42,102,112,116, 0, 97,114,114, 97,121, 95,105,110,100,101,120, 0, 99,111,108,111,114, 95,109, -111,100,101, 0, 99,111,108,111,114, 91, 51, 93, 0,102,114,111,109, 91, 49, 50, 56, 93, 0,116,111, 91, 49, 50, 56, 93, 0,109, - 97,112,112,105,110,103,115, 0,115,116,114,105,112,115, 0, 42,114,101,109, 97,112, 0,102, 99,117,114,118,101,115, 0,115,116, -114,105,112, 95,116,105,109,101, 0, 98,108,101,110,100,109,111,100,101, 0,101,120,116,101,110,100,109,111,100,101, 0, 42,115, -112,101, 97,107,101,114, 95,104, 97,110,100,108,101, 0,103,114,111,117,112, 91, 54, 52, 93, 0,103,114,111,117,112,109,111,100, -101, 0,107,101,121,105,110,103,102,108, 97,103, 0,112, 97,116,104,115, 0,100,101,115, 99,114,105,112,116,105,111,110, 91, 50, - 52, 48, 93, 0,116,121,112,101,105,110,102,111, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,112, 97,116,104, 0, 42,116,109, -112, 97, 99,116, 0,110,108, 97, 95,116,114, 97, 99,107,115, 0, 42, 97, 99,116,115,116,114,105,112, 0,100,114,105,118,101,114, -115, 0,111,118,101,114,114,105,100,101,115, 0, 97, 99,116, 95, 98,108,101,110,100,109,111,100,101, 0, 97, 99,116, 95,101,120, -116,101,110,100,109,111,100,101, 0, 97, 99,116, 95,105,110,102,108,117,101,110, 99,101, 0,114,117,108,101, 0,111,112,116,105, -111,110,115, 0,102,101, 97,114, 95,102, 97, 99,116,111,114, 0,115,105,103,110, 97,108, 95,105,100, 0,108,111,111,107, 95, 97, -104,101, 97,100, 0,111,108,111, 99, 91, 51, 93, 0,113,117,101,117,101, 95,115,105,122,101, 0,119, 97,110,100,101,114, 0,102, -108,101,101, 95,100,105,115,116, 97,110, 99,101, 0,104,101, 97,108,116,104, 0,115,116, 97,116,101, 95,105,100, 0,114,117,108, -101,115, 0, 99,111,110,100,105,116,105,111,110,115, 0, 97, 99,116,105,111,110,115, 0,114,117,108,101,115,101,116, 95,116,121, -112,101, 0,114,117,108,101, 95,102,117,122,122,105,110,101,115,115, 0,108, 97,115,116, 95,115,116, 97,116,101, 95,105,100, 0, -108, 97,110,100,105,110,103, 95,115,109,111,111,116,104,110,101,115,115, 0, 98, 97,110,107,105,110,103, 0, 97,103,103,114,101, -115,115,105,111,110, 0, 97,105,114, 95,109,105,110, 95,115,112,101,101,100, 0, 97,105,114, 95,109, 97,120, 95,115,112,101,101, -100, 0, 97,105,114, 95,109, 97,120, 95, 97, 99, 99, 0, 97,105,114, 95,109, 97,120, 95, 97,118,101, 0, 97,105,114, 95,112,101, -114,115,111,110, 97,108, 95,115,112, 97, 99,101, 0,108, 97,110,100, 95,106,117,109,112, 95,115,112,101,101,100, 0,108, 97,110, -100, 95,109, 97,120, 95,115,112,101,101,100, 0,108, 97,110,100, 95,109, 97,120, 95, 97, 99, 99, 0,108, 97,110,100, 95,109, 97, -120, 95, 97,118,101, 0,108, 97,110,100, 95,112,101,114,115,111,110, 97,108, 95,115,112, 97, 99,101, 0,108, 97,110,100, 95,115, -116,105, 99,107, 95,102,111,114, 99,101, 0,115,116, 97,116,101,115, 0, 42,115,109,100, 0, 42,102,108,117,105,100, 95,103,114, -111,117,112, 0, 42, 99,111,108,108, 95,103,114,111,117,112, 0, 42,119,116, 0, 42,116,101,120, 95,119,116, 0, 42,116,101,120, - 95,115,104, 97,100,111,119, 0, 42,115,104, 97,100,111,119, 0,112, 48, 91, 51, 93, 0,112, 49, 91, 51, 93, 0,100,120, 0,111, -109,101,103, 97, 0,116,101,109,112, 65,109, 98, 0, 98,101,116, 97, 0,114,101,115, 91, 51, 93, 0, 97,109,112,108,105,102,121, - 0,109, 97,120,114,101,115, 0,118,105,101,119,115,101,116,116,105,110,103,115, 0,110,111,105,115,101, 0,100,105,115,115, 95, -112,101,114, 99,101,110,116, 0,100,105,115,115, 95,115,112,101,101,100, 0,114,101,115, 95,119,116, 91, 51, 93, 0,100,120, 95, -119,116, 0,118, 51,100,110,117,109, 0, 99, 97, 99,104,101, 95, 99,111,109,112, 0, 99, 97, 99,104,101, 95,104,105,103,104, 95, - 99,111,109,112, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101, 91, 50, 93, 0,112,116, 99, 97, 99,104,101,115, 91, 50, 93, - 0, 98,111,114,100,101,114, 95, 99,111,108,108,105,115,105,111,110,115, 0,116,105,109,101, 95,115, 99, 97,108,101, 0,118,111, -114,116,105, 99,105,116,121, 0,118,101,108,111, 99,105,116,121, 91, 50, 93, 0,118,101,108, 95,109,117,108,116,105, 0,118,103, -114,112, 95,104,101, 97,116, 95,115, 99, 97,108,101, 91, 50, 93, 0,118,103,114,111,117,112, 95,102,108,111,119, 0,118,103,114, -111,117,112, 95,100,101,110,115,105,116,121, 0,118,103,114,111,117,112, 95,104,101, 97,116, 0, 42,112,111,105,110,116,115, 95, -111,108,100, 0, 42,118,101,108, 0, 42,116,114,105,100,105,118,115, 0,109, 97,116, 95,111,108,100, 91, 52, 93, 91, 52, 93, 0, -110,117,109,116,114,105,115, 0,118,111,108,117,109,101, 95,109, 97,120, 0,118,111,108,117,109,101, 95,109,105,110, 0,100,105, -115,116, 97,110, 99,101, 95,109, 97,120, 0,100,105,115,116, 97,110, 99,101, 95,114,101,102,101,114,101,110, 99,101, 0, 99,111, -110,101, 95, 97,110,103,108,101, 95,111,117,116,101,114, 0, 99,111,110,101, 95, 97,110,103,108,101, 95,105,110,110,101,114, 0, - 99,111,110,101, 95,118,111,108,117,109,101, 95,111,117,116,101,114, 0,114,101,110,100,101,114, 95,102,108, 97,103, 0, 98,117, -105,108,100, 95,115,105,122,101, 95,102,108, 97,103, 0, 98,117,105,108,100, 95,116, 99, 95,102,108, 97,103, 0,108, 97,115,116, -115,105,122,101, 91, 50, 93, 0,116,114, 97, 99,107,105,110,103, 0, 42,116,114, 97, 99,107,105,110,103, 95, 99,111,110,116,101, -120,116, 0,112,114,111,120,121, 0,116,114, 97, 99,107, 95,112,114,101,118,105,101,119, 95,104,101,105,103,104,116, 0, 42,116, -114, 97, 99,107, 95,112,114,101,118,105,101,119, 0,116,114, 97, 99,107, 95,112,111,115, 91, 50, 93, 0,116,114, 97, 99,107, 95, -100,105,115, 97, 98,108,101,100, 0, 42,109, 97,114,107,101,114, 0,115,108,105,100,101, 95,115, 99, 97,108,101, 91, 50, 93, 0, -101,114,114,111,114, 0, 42,105,110,116,114,105,110,115,105, 99,115, 0,115,101,110,115,111,114, 95,119,105,100,116,104, 0,112, -105,120,101,108, 95, 97,115,112,101, 99,116, 0,102,111, 99, 97,108, 0,117,110,105,116,115, 0,112,114,105,110, 99,105,112, 97, -108, 91, 50, 93, 0,107, 49, 0,107, 50, 0,107, 51, 0,112,111,115, 91, 50, 93, 0,112, 97,116, 95,109,105,110, 91, 50, 93, 0, -112, 97,116, 95,109, 97,120, 91, 50, 93, 0,115,101, 97,114, 99,104, 95,109,105,110, 91, 50, 93, 0,115,101, 97,114, 99,104, 95, -109, 97,120, 91, 50, 93, 0,109, 97,114,107,101,114,115,110,114, 0,108, 97,115,116, 95,109, 97,114,107,101,114, 0, 42,109, 97, -114,107,101,114,115, 0, 98,117,110,100,108,101, 95,112,111,115, 91, 51, 93, 0,112, 97,116, 95,102,108, 97,103, 0,115,101, 97, -114, 99,104, 95,102,108, 97,103, 0,102,114, 97,109,101,115, 95,108,105,109,105,116, 0,112, 97,116,116,101,114,110, 95,109, 97, -116, 99,104, 0,116,114, 97, 99,107,101,114, 0,112,121,114, 97,109,105,100, 95,108,101,118,101,108,115, 0,109,105,110,105,109, -117,109, 95, 99,111,114,114,101,108, 97,116,105,111,110, 0,100,101,102, 97,117,108,116, 95,116,114, 97, 99,107,101,114, 0,100, -101,102, 97,117,108,116, 95,112,121,114, 97,109,105,100, 95,108,101,118,101,108,115, 0,100,101,102, 97,117,108,116, 95,109,105, -110,105,109,117,109, 95, 99,111,114,114,101,108, 97,116,105,111,110, 0,100,101,102, 97,117,108,116, 95,112, 97,116,116,101,114, -110, 95,115,105,122,101, 0,100,101,102, 97,117,108,116, 95,115,101, 97,114, 99,104, 95,115,105,122,101, 0,100,101,102, 97,117, -108,116, 95,102,114, 97,109,101,115, 95,108,105,109,105,116, 0,100,101,102, 97,117,108,116, 95,109, 97,114,103,105,110, 0,100, -101,102, 97,117,108,116, 95,112, 97,116,116,101,114,110, 95,109, 97,116, 99,104, 0,100,101,102, 97,117,108,116, 95,102,108, 97, -103, 0,109,111,116,105,111,110, 95,102,108, 97,103, 0,107,101,121,102,114, 97,109,101, 49, 0,107,101,121,102,114, 97,109,101, - 50, 0,114,101,102,105,110,101, 95, 99, 97,109,101,114, 97, 95,105,110,116,114,105,110,115,105, 99,115, 0, 99,108,101, 97,110, - 95,102,114, 97,109,101,115, 0, 99,108,101, 97,110, 95, 97, 99,116,105,111,110, 0, 99,108,101, 97,110, 95,101,114,114,111,114, - 0,111, 98,106,101, 99,116, 95,100,105,115,116, 97,110, 99,101, 0,116,111,116, 95,116,114, 97, 99,107, 0, 97, 99,116, 95,116, -114, 97, 99,107, 0,109, 97,120,115, 99, 97,108,101, 0, 42,114,111,116, 95,116,114, 97, 99,107, 0,108,111, 99,105,110,102, 0, -115, 99, 97,108,101,105,110,102, 0,114,111,116,105,110,102, 0, 42,115, 99, 97,108,101,105, 98,117,102, 0,108, 97,115,116, 95, - 99, 97,109,101,114, 97, 0, 99, 97,109,110,114, 0, 42, 99, 97,109,101,114, 97,115, 0,116,114, 97, 99,107,115, 0,114,101, 99, -111,110,115,116,114,117, 99,116,105,111,110, 0,109,101,115,115, 97,103,101, 91, 50, 53, 54, 93, 0,116,111,116, 95,115,101,103, -109,101,110,116, 0, 42,115,101,103,109,101,110,116,115, 0,109, 97,120, 95,115,101,103,109,101,110,116, 0,116,111,116, 97,108, - 95,102,114, 97,109,101,115, 0,116,111,116, 95, 99,104, 97,110,110,101,108, 0,115,111,114,116, 95,109,101,116,104,111,100, 0, -115,111,114,116, 95,105,110,118,101,114,115,101, 0,115,101,116,116,105,110,103,115, 0, 99, 97,109,101,114, 97, 0,115,116, 97, - 98,105,108,105,122, 97,116,105,111,110, 0, 42, 97, 99,116, 95,116,114, 97, 99,107, 0,111, 98,106,101, 99,116,115, 0,111, 98, -106,101, 99,116,110,114, 0,116,111,116, 95,111, 98,106,101, 99,116, 0,100,111,112,101,115,104,101,101,116, 0, 42, 98,114,117, -115,104, 95,103,114,111,117,112, 0, 99,117,114,114,101,110,116, 95,102,114, 97,109,101, 0,100,105,115,112, 95,116,121,112,101, - 0,105,109, 97,103,101, 95,102,105,108,101,102,111,114,109, 97,116, 0,101,102,102,101, 99,116, 95,117,105, 0,112,114,101,118, -105,101,119, 95,105,100, 0,105,110,105,116, 95, 99,111,108,111,114, 95,116,121,112,101, 0,112, 97,100, 95,115, 0,105,109, 97, -103,101, 95,114,101,115,111,108,117,116,105,111,110, 0,115,117, 98,115,116,101,112,115, 0,105,110,105,116, 95, 99,111,108,111, -114, 91, 52, 93, 0, 42,105,110,105,116, 95,116,101,120,116,117,114,101, 0,105,110,105,116, 95,108, 97,121,101,114,110, 97,109, -101, 91, 54, 52, 93, 0,100,114,121, 95,115,112,101,101,100, 0, 99,111,108,111,114, 95,100,114,121, 95,116,104,114,101,115,104, -111,108,100, 0,100,101,112,116,104, 95, 99,108, 97,109,112, 0,100,105,115,112, 95,102, 97, 99,116,111,114, 0,115,112,114,101, - 97,100, 95,115,112,101,101,100, 0, 99,111,108,111,114, 95,115,112,114,101, 97,100, 95,115,112,101,101,100, 0,115,104,114,105, -110,107, 95,115,112,101,101,100, 0,100,114,105,112, 95,118,101,108, 0,100,114,105,112, 95, 97, 99, 99, 0,105,110,102,108,117, -101,110, 99,101, 95,115, 99, 97,108,101, 0,114, 97,100,105,117,115, 95,115, 99, 97,108,101, 0,119, 97,118,101, 95,100, 97,109, -112,105,110,103, 0,119, 97,118,101, 95,115,112,101,101,100, 0,119, 97,118,101, 95,116,105,109,101,115, 99, 97,108,101, 0,119, - 97,118,101, 95,115,112,114,105,110,103, 0,105,109, 97,103,101, 95,111,117,116,112,117,116, 95,112, 97,116,104, 91, 49, 48, 50, - 52, 93, 0,111,117,116,112,117,116, 95,110, 97,109,101, 91, 54, 52, 93, 0,111,117,116,112,117,116, 95,110, 97,109,101, 50, 91, - 54, 52, 93, 0, 42,112,109,100, 0,115,117,114,102, 97, 99,101,115, 0, 97, 99,116,105,118,101, 95,115,117,114, 0,101,114,114, -111,114, 91, 54, 52, 93, 0, 99,111,108,108,105,115,105,111,110, 0,119,101,116,110,101,115,115, 0,112, 97,114,116,105, 99,108, -101, 95,114, 97,100,105,117,115, 0,112, 97,114,116,105, 99,108,101, 95,115,109,111,111,116,104, 0,112, 97,105,110,116, 95,100, -105,115,116, 97,110, 99,101, 0, 42,112, 97,105,110,116, 95,114, 97,109,112, 0, 42,118,101,108, 95,114, 97,109,112, 0,112,114, -111,120,105,109,105,116,121, 95,102, 97,108,108,111,102,102, 0,114, 97,121, 95,100,105,114, 0,119, 97,118,101, 95,102, 97, 99, -116,111,114, 0,119, 97,118,101, 95, 99,108, 97,109,112, 0,109, 97,120, 95,118,101,108,111, 99,105,116,121, 0,115,109,117,100, -103,101, 95,115,116,114,101,110,103,116,104, 0, 84, 89, 80, 69, 20, 2, 0, 0, 99,104, 97,114, 0,117, 99,104, 97,114, 0,115, -104,111,114,116, 0,117,115,104,111,114,116, 0,105,110,116, 0,108,111,110,103, 0,117,108,111,110,103, 0,102,108,111, 97,116, - 0,100,111,117, 98,108,101, 0,105,110,116, 54, 52, 95,116, 0,117,105,110,116, 54, 52, 95,116, 0,118,111,105,100, 0, 76,105, -110,107, 0, 76,105,110,107, 68, 97,116, 97, 0, 76,105,115,116, 66, 97,115,101, 0,118,101, 99, 50,115, 0,118,101, 99, 50,102, - 0,118,101, 99, 51,102, 0,114, 99,116,105, 0,114, 99,116,102, 0, 73, 68, 80,114,111,112,101,114,116,121, 68, 97,116, 97, 0, - 73, 68, 80,114,111,112,101,114,116,121, 0, 73, 68, 0, 76,105, 98,114, 97,114,121, 0, 70,105,108,101, 68, 97,116, 97, 0, 80, -114,101,118,105,101,119, 73,109, 97,103,101, 0, 73,112,111, 68,114,105,118,101,114, 0, 79, 98,106,101, 99,116, 0, 73,112,111, - 67,117,114,118,101, 0, 66, 80,111,105,110,116, 0, 66,101,122, 84,114,105,112,108,101, 0, 73,112,111, 0, 75,101,121, 66,108, -111, 99,107, 0, 75,101,121, 0, 65,110,105,109, 68, 97,116, 97, 0, 84,101,120,116, 76,105,110,101, 0, 84,101,120,116, 77, 97, -114,107,101,114, 0, 84,101,120,116, 0, 80, 97, 99,107,101,100, 70,105,108,101, 0, 67, 97,109,101,114, 97, 0, 73,109, 97,103, -101, 85,115,101,114, 0, 83, 99,101,110,101, 0, 73,109, 97,103,101, 0, 71, 80, 85, 84,101,120,116,117,114,101, 0, 97,110,105, -109, 0, 82,101,110,100,101,114, 82,101,115,117,108,116, 0, 77, 84,101,120, 0, 84,101,120, 0, 80,108,117,103,105,110, 84,101, -120, 0, 67, 66, 68, 97,116, 97, 0, 67,111,108,111,114, 66, 97,110,100, 0, 69,110,118, 77, 97,112, 0, 73,109, 66,117,102, 0, - 80,111,105,110,116, 68,101,110,115,105,116,121, 0, 67,117,114,118,101, 77, 97,112,112,105,110,103, 0, 86,111,120,101,108, 68, - 97,116, 97, 0, 79, 99,101, 97,110, 84,101,120, 0, 98, 78,111,100,101, 84,114,101,101, 0, 84,101,120, 77, 97,112,112,105,110, -103, 0, 67,111,108,111,114, 77, 97,112,112,105,110,103, 0, 76, 97,109,112, 0, 86,111,108,117,109,101, 83,101,116,116,105,110, -103,115, 0, 71, 97,109,101, 83,101,116,116,105,110,103,115, 0, 77, 97,116,101,114,105, 97,108, 0, 71,114,111,117,112, 0, 86, - 70,111,110,116, 0, 86, 70,111,110,116, 68, 97,116, 97, 0, 77,101,116, 97, 69,108,101,109, 0, 66,111,117,110,100, 66,111,120, - 0, 77,101,116, 97, 66, 97,108,108, 0, 78,117,114, 98, 0, 67,104, 97,114, 73,110,102,111, 0, 84,101,120,116, 66,111,120, 0, - 69,100,105,116, 78,117,114, 98, 0, 71, 72, 97,115,104, 0, 67,117,114,118,101, 0, 80, 97,116,104, 0, 83,101,108, 66,111,120, - 0, 69,100,105,116, 70,111,110,116, 0, 77,101,115,104, 0, 77, 83,101,108,101, 99,116, 0, 77, 80,111,108,121, 0, 77, 84,101, -120, 80,111,108,121, 0, 77, 76,111,111,112, 0, 77, 76,111,111,112, 85, 86, 0, 77, 76,111,111,112, 67,111,108, 0, 77, 70, 97, - 99,101, 0, 77, 84, 70, 97, 99,101, 0, 84, 70, 97, 99,101, 0, 77, 86,101,114,116, 0, 77, 69,100,103,101, 0, 77, 68,101,102, -111,114,109, 86,101,114,116, 0, 77, 67,111,108, 0, 77, 83,116,105, 99,107,121, 0, 66, 77, 69,100,105,116, 77,101,115,104, 0, - 67,117,115,116,111,109, 68, 97,116, 97, 0, 77,117,108,116,105,114,101,115, 0, 77, 68,101,102,111,114,109, 87,101,105,103,104, -116, 0, 77, 70,108,111, 97,116, 80,114,111,112,101,114,116,121, 0, 77, 73,110,116, 80,114,111,112,101,114,116,121, 0, 77, 83, -116,114,105,110,103, 80,114,111,112,101,114,116,121, 0, 79,114,105,103, 83,112, 97, 99,101, 70, 97, 99,101, 0, 79,114,105,103, - 83,112, 97, 99,101, 76,111,111,112, 0, 77, 68,105,115,112,115, 0, 77,117,108,116,105,114,101,115, 67,111,108, 0, 77,117,108, -116,105,114,101,115, 67,111,108, 70, 97, 99,101, 0, 77,117,108,116,105,114,101,115, 70, 97, 99,101, 0, 77,117,108,116,105,114, -101,115, 69,100,103,101, 0, 77,117,108,116,105,114,101,115, 76,101,118,101,108, 0, 77, 82,101, 99, 97,115,116, 0, 71,114,105, -100, 80, 97,105,110,116, 77, 97,115,107, 0, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,112,112,105,110,103, 73, -110,102,111, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,117, 98,115,117,114,102, 77,111,100,105,102,105,101,114, 68, - 97,116, 97, 0, 76, 97,116,116,105, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,117,114,118,101, 77,111,100, -105,102,105,101,114, 68, 97,116, 97, 0, 66,117,105,108,100, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,115,107, - 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 65,114,114, 97,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, -105,114,114,111,114, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,100,103,101, 83,112,108,105,116, 77,111,100,105,102, -105,101,114, 68, 97,116, 97, 0, 66,101,118,101,108, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66, 77,101,115,104, 77, -111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,107,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109, -111,107,101, 68,111,109, 97,105,110, 83,101,116,116,105,110,103,115, 0, 83,109,111,107,101, 70,108,111,119, 83,101,116,116,105, -110,103,115, 0, 83,109,111,107,101, 67,111,108,108, 83,101,116,116,105,110,103,115, 0, 68,105,115,112,108, 97, 99,101, 77,111, -100,105,102,105,101,114, 68, 97,116, 97, 0, 85, 86, 80,114,111,106,101, 99,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, - 0, 68,101, 99,105,109, 97,116,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,111,116,104, 77,111,100,105, -102,105,101,114, 68, 97,116, 97, 0, 67, 97,115,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87, 97,118,101, 77,111, -100,105,102,105,101,114, 68, 97,116, 97, 0, 65,114,109, 97,116,117,114,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, - 72,111,111,107, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,111,102,116, 98,111,100,121, 77,111,100,105,102,105,101, -114, 68, 97,116, 97, 0, 67,108,111,116,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116,104, 0, 67,108, -111,116,104, 83,105,109, 83,101,116,116,105,110,103,115, 0, 67,108,111,116,104, 67,111,108,108, 83,101,116,116,105,110,103,115, - 0, 80,111,105,110,116, 67, 97, 99,104,101, 0, 67,111,108,108,105,115,105,111,110, 77,111,100,105,102,105,101,114, 68, 97,116, - 97, 0, 66, 86, 72, 84,114,101,101, 0, 83,117,114,102, 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,101, -114,105,118,101,100, 77,101,115,104, 0, 66, 86, 72, 84,114,101,101, 70,114,111,109, 77,101,115,104, 0, 66,111,111,108,101, 97, -110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 68,101,102, 73,110,102,108,117,101,110, 99,101, 0, 77, 68,101,102, - 67,101,108,108, 0, 77,101,115,104, 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116, -105, 99,108,101, 83,121,115,116,101,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83, -121,115,116,101,109, 0, 80, 97,114,116,105, 99,108,101, 73,110,115,116, 97,110, 99,101, 77,111,100,105,102,105,101,114, 68, 97, -116, 97, 0, 69,120,112,108,111,100,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77,117,108,116,105,114,101,115, 77, -111,100,105,102,105,101,114, 68, 97,116, 97, 0, 70,108,117,105,100,115,105,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, - 0, 70,108,117,105,100,115,105,109, 83,101,116,116,105,110,103,115, 0, 83,104,114,105,110,107,119,114, 97,112, 77,111,100,105, -102,105,101,114, 68, 97,116, 97, 0, 83,105,109,112,108,101, 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, - 97, 0, 83,104, 97,112,101, 75,101,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,111,108,105,100,105,102,121, 77, -111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83, 99,114,101,119, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 79, 99, -101, 97,110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 79, 99,101, 97,110, 0, 79, 99,101, 97,110, 67, 97, 99,104,101, - 0, 87, 97,114,112, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87,101,105,103,104,116, 86, 71, 69,100,105,116, 77,111, -100,105,102,105,101,114, 68, 97,116, 97, 0, 87,101,105,103,104,116, 86, 71, 77,105,120, 77,111,100,105,102,105,101,114, 68, 97, -116, 97, 0, 87,101,105,103,104,116, 86, 71, 80,114,111,120,105,109,105,116,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, - 0, 68,121,110, 97,109,105, 99, 80, 97,105,110,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,121,110, 97,109,105, - 99, 80, 97,105,110,116, 67, 97,110,118, 97,115, 83,101,116,116,105,110,103,115, 0, 68,121,110, 97,109,105, 99, 80, 97,105,110, -116, 66,114,117,115,104, 83,101,116,116,105,110,103,115, 0, 82,101,109,101,115,104, 77,111,100,105,102,105,101,114, 68, 97,116, - 97, 0, 69,100,105,116, 76, 97,116,116, 0, 76, 97,116,116,105, 99,101, 0, 98, 68,101,102,111,114,109, 71,114,111,117,112, 0, - 83, 99,117,108,112,116, 83,101,115,115,105,111,110, 0, 98, 65, 99,116,105,111,110, 0, 98, 80,111,115,101, 0, 98, 71, 80,100, - 97,116, 97, 0, 98, 65,110,105,109, 86,105,122, 83,101,116,116,105,110,103,115, 0, 98, 77,111,116,105,111,110, 80, 97,116,104, - 0, 66,117,108,108,101,116, 83,111,102,116, 66,111,100,121, 0, 80, 97,114,116, 68,101,102,108,101, 99,116, 0, 83,111,102,116, - 66,111,100,121, 0, 79, 98, 72,111,111,107, 0, 68,117,112,108,105, 79, 98,106,101, 99,116, 0, 82, 78, 71, 0, 69,102,102,101, - 99,116,111,114, 87,101,105,103,104,116,115, 0, 80, 84, 67, 97, 99,104,101, 69,120,116,114, 97, 0, 80, 84, 67, 97, 99,104,101, - 77,101,109, 0, 80, 84, 67, 97, 99,104,101, 69,100,105,116, 0, 83, 66, 86,101,114,116,101,120, 0, 66,111,100,121, 80,111,105, -110,116, 0, 66,111,100,121, 83,112,114,105,110,103, 0, 83, 66, 83, 99,114, 97,116, 99,104, 0, 70,108,117,105,100, 86,101,114, -116,101,120, 86,101,108,111, 99,105,116,121, 0, 87,111,114,108,100, 0, 66, 97,115,101, 0, 65,118,105, 67,111,100,101, 99, 68, - 97,116, 97, 0, 81,117,105, 99,107,116,105,109,101, 67,111,100,101, 99, 68, 97,116, 97, 0, 81,117,105, 99,107,116,105,109,101, - 67,111,100,101, 99, 83,101,116,116,105,110,103,115, 0, 70, 70, 77,112,101,103, 67,111,100,101, 99, 68, 97,116, 97, 0, 65,117, -100,105,111, 68, 97,116, 97, 0, 83, 99,101,110,101, 82,101,110,100,101,114, 76, 97,121,101,114, 0, 73,109, 97,103,101, 70,111, -114,109, 97,116, 68, 97,116, 97, 0, 82,101,110,100,101,114, 68, 97,116, 97, 0, 82,101,110,100,101,114, 80,114,111,102,105,108, -101, 0, 71, 97,109,101, 68,111,109,101, 0, 71, 97,109,101, 70,114, 97,109,105,110,103, 0, 82,101, 99, 97,115,116, 68, 97,116, - 97, 0, 71, 97,109,101, 68, 97,116, 97, 0, 84,105,109,101, 77, 97,114,107,101,114, 0, 80, 97,105,110,116, 0, 66,114,117,115, -104, 0, 73,109, 97,103,101, 80, 97,105,110,116, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 66,114,117, -115,104, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 69,100,105,116, 83,101,116,116,105,110,103,115, 0, 83, 99,117,108, -112,116, 0, 85,118, 83, 99,117,108,112,116, 0, 86, 80, 97,105,110,116, 0, 84,114, 97,110,115,102,111,114,109, 79,114,105,101, -110,116, 97,116,105,111,110, 0, 85,110,105,102,105,101,100, 80, 97,105,110,116, 83,101,116,116,105,110,103,115, 0, 84,111,111, -108, 83,101,116,116,105,110,103,115, 0, 98, 83,116, 97,116,115, 0, 85,110,105,116, 83,101,116,116,105,110,103,115, 0, 80,104, -121,115,105, 99,115, 83,101,116,116,105,110,103,115, 0, 69,100,105,116,105,110,103, 0, 83, 99,101,110,101, 83,116, 97,116,115, - 0, 68, 97,103, 70,111,114,101,115,116, 0, 77,111,118,105,101, 67,108,105,112, 0, 66, 71,112,105, 99, 0, 77,111,118,105,101, - 67,108,105,112, 85,115,101,114, 0, 82,101,103,105,111,110, 86,105,101,119, 51, 68, 0, 82,101,110,100,101,114, 73,110,102,111, - 0, 82,101,110,100,101,114, 69,110,103,105,110,101, 0, 86,105,101,119, 68,101,112,116,104,115, 0, 83,109,111,111,116,104, 86, -105,101,119, 83,116,111,114,101, 0,119,109, 84,105,109,101,114, 0, 86,105,101,119, 51, 68, 0, 83,112, 97, 99,101, 76,105,110, -107, 0, 86,105,101,119, 50, 68, 0, 83,112, 97, 99,101, 73,110,102,111, 0, 83,112, 97, 99,101, 73,112,111, 0, 98, 68,111,112, -101, 83,104,101,101,116, 0, 83,112, 97, 99,101, 66,117,116,115, 0, 83,112, 97, 99,101, 83,101,113, 0, 70,105,108,101, 83,101, -108,101, 99,116, 80, 97,114, 97,109,115, 0, 83,112, 97, 99,101, 70,105,108,101, 0, 70,105,108,101, 76,105,115,116, 0,119,109, - 79,112,101,114, 97,116,111,114, 0, 70,105,108,101, 76, 97,121,111,117,116, 0, 83,112, 97, 99,101, 79,111,112,115, 0, 84,114, -101,101, 83,116,111,114,101, 0, 84,114,101,101, 83,116,111,114,101, 69,108,101,109, 0, 83,112, 97, 99,101, 73,109, 97,103,101, - 0, 83, 99,111,112,101,115, 0, 72,105,115,116,111,103,114, 97,109, 0, 83,112, 97, 99,101, 78,108, 97, 0, 83,112, 97, 99,101, - 84,101,120,116, 0, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 84,105,109, -101, 67, 97, 99,104,101, 0, 83,112, 97, 99,101, 84,105,109,101, 0, 83,112, 97, 99,101, 78,111,100,101, 0, 83,112, 97, 99,101, - 76,111,103,105, 99, 0, 67,111,110,115,111,108,101, 76,105,110,101, 0, 83,112, 97, 99,101, 67,111,110,115,111,108,101, 0, 83, -112, 97, 99,101, 85,115,101,114, 80,114,101,102, 0, 83,112, 97, 99,101, 67,108,105,112, 0, 77,111,118,105,101, 67,108,105,112, - 83, 99,111,112,101,115, 0,117,105, 70,111,110,116, 0,117,105, 70,111,110,116, 83,116,121,108,101, 0,117,105, 83,116,121,108, -101, 0,117,105, 87,105,100,103,101,116, 67,111,108,111,114,115, 0,117,105, 87,105,100,103,101,116, 83,116, 97,116,101, 67,111, -108,111,114,115, 0,117,105, 80, 97,110,101,108, 67,111,108,111,114,115, 0, 84,104,101,109,101, 85, 73, 0, 84,104,101,109,101, - 83,112, 97, 99,101, 0, 84,104,101,109,101, 87,105,114,101, 67,111,108,111,114, 0, 98, 84,104,101,109,101, 0, 98, 65,100,100, -111,110, 0, 83,111,108,105,100, 76,105,103,104,116, 0, 85,115,101,114, 68,101,102, 0, 98, 83, 99,114,101,101,110, 0, 83, 99, -114, 86,101,114,116, 0, 83, 99,114, 69,100,103,101, 0, 80, 97,110,101,108, 0, 80, 97,110,101,108, 84,121,112,101, 0,117,105, - 76, 97,121,111,117,116, 0, 83, 99,114, 65,114,101, 97, 0, 83,112, 97, 99,101, 84,121,112,101, 0, 65, 82,101,103,105,111,110, - 0, 65, 82,101,103,105,111,110, 84,121,112,101, 0, 70,105,108,101, 71,108,111, 98, 97,108, 0, 83,116,114,105,112, 69,108,101, -109, 0, 83,116,114,105,112, 67,114,111,112, 0, 83,116,114,105,112, 84,114, 97,110,115,102,111,114,109, 0, 83,116,114,105,112, - 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 83,116,114,105,112, 80,114,111,120,121, 0, 83,116,114,105,112, 0, 80,108, -117,103,105,110, 83,101,113, 0, 83,101,113,117,101,110, 99,101, 0, 98, 83,111,117,110,100, 0, 77,101,116, 97, 83,116, 97, 99, -107, 0, 87,105,112,101, 86, 97,114,115, 0, 71,108,111,119, 86, 97,114,115, 0, 84,114, 97,110,115,102,111,114,109, 86, 97,114, -115, 0, 83,111,108,105,100, 67,111,108,111,114, 86, 97,114,115, 0, 83,112,101,101,100, 67,111,110,116,114,111,108, 86, 97,114, -115, 0, 69,102,102,101, 99,116, 0, 66,117,105,108,100, 69,102,102, 0, 80, 97,114,116, 69,102,102, 0, 80, 97,114,116,105, 99, -108,101, 0, 87, 97,118,101, 69,102,102, 0, 98, 80,114,111,112,101,114,116,121, 0, 98, 78,101, 97,114, 83,101,110,115,111,114, - 0, 98, 77,111,117,115,101, 83,101,110,115,111,114, 0, 98, 84,111,117, 99,104, 83,101,110,115,111,114, 0, 98, 75,101,121, 98, -111, 97,114,100, 83,101,110,115,111,114, 0, 98, 80,114,111,112,101,114,116,121, 83,101,110,115,111,114, 0, 98, 65, 99,116,117, - 97,116,111,114, 83,101,110,115,111,114, 0, 98, 68,101,108, 97,121, 83,101,110,115,111,114, 0, 98, 67,111,108,108,105,115,105, -111,110, 83,101,110,115,111,114, 0, 98, 82, 97,100, 97,114, 83,101,110,115,111,114, 0, 98, 82, 97,110,100,111,109, 83,101,110, -115,111,114, 0, 98, 82, 97,121, 83,101,110,115,111,114, 0, 98, 65,114,109, 97,116,117,114,101, 83,101,110,115,111,114, 0, 98, - 77,101,115,115, 97,103,101, 83,101,110,115,111,114, 0, 98, 83,101,110,115,111,114, 0, 98, 67,111,110,116,114,111,108,108,101, -114, 0, 98, 74,111,121,115,116,105, 99,107, 83,101,110,115,111,114, 0, 98, 69,120,112,114,101,115,115,105,111,110, 67,111,110, -116, 0, 98, 80,121,116,104,111,110, 67,111,110,116, 0, 98, 65, 99,116,117, 97,116,111,114, 0, 98, 65,100,100, 79, 98,106,101, - 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 65, 99,116,105,111,110, 65, 99,116,117, 97,116,111,114, 0, 83,111,117,110,100, - 51, 68, 0, 98, 83,111,117,110,100, 65, 99,116,117, 97,116,111,114, 0, 98, 69,100,105,116, 79, 98,106,101, 99,116, 65, 99,116, -117, 97,116,111,114, 0, 98, 83, 99,101,110,101, 65, 99,116,117, 97,116,111,114, 0, 98, 80,114,111,112,101,114,116,121, 65, 99, -116,117, 97,116,111,114, 0, 98, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 73,112,111, 65, 99,116,117, 97, -116,111,114, 0, 98, 67, 97,109,101,114, 97, 65, 99,116,117, 97,116,111,114, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 65, - 99,116,117, 97,116,111,114, 0, 98, 71,114,111,117,112, 65, 99,116,117, 97,116,111,114, 0, 98, 82, 97,110,100,111,109, 65, 99, -116,117, 97,116,111,114, 0, 98, 77,101,115,115, 97,103,101, 65, 99,116,117, 97,116,111,114, 0, 98, 71, 97,109,101, 65, 99,116, -117, 97,116,111,114, 0, 98, 86,105,115,105, 98,105,108,105,116,121, 65, 99,116,117, 97,116,111,114, 0, 98, 84,119,111, 68, 70, -105,108,116,101,114, 65, 99,116,117, 97,116,111,114, 0, 98, 80, 97,114,101,110,116, 65, 99,116,117, 97,116,111,114, 0, 98, 83, -116, 97,116,101, 65, 99,116,117, 97,116,111,114, 0, 98, 65,114,109, 97,116,117,114,101, 65, 99,116,117, 97,116,111,114, 0, 98, - 83,116,101,101,114,105,110,103, 65, 99,116,117, 97,116,111,114, 0, 71,114,111,117,112, 79, 98,106,101, 99,116, 0, 66,111,110, -101, 0, 98, 65,114,109, 97,116,117,114,101, 0, 98, 77,111,116,105,111,110, 80, 97,116,104, 86,101,114,116, 0, 98, 80,111,115, -101, 67,104, 97,110,110,101,108, 0, 98, 73, 75, 80, 97,114, 97,109, 0, 98, 73,116, 97,115, 99, 0, 98, 65, 99,116,105,111,110, - 71,114,111,117,112, 0, 83,112, 97, 99,101, 65, 99,116,105,111,110, 0, 98, 65, 99,116,105,111,110, 67,104, 97,110,110,101,108, - 0, 98, 67,111,110,115,116,114, 97,105,110,116, 67,104, 97,110,110,101,108, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 0, - 98, 67,111,110,115,116,114, 97,105,110,116, 84, 97,114,103,101,116, 0, 98, 80,121,116,104,111,110, 67,111,110,115,116,114, 97, -105,110,116, 0, 98, 75,105,110,101,109, 97,116,105, 99, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,112,108,105,110,101, - 73, 75, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97, 99,107, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, - 98, 82,111,116, 97,116,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 97,116,101, 76,105,107, -101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, - 98, 83, 97,109,101, 86,111,108,117,109,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97,110,115, 76,105,107,101, - 67,111,110,115,116,114, 97,105,110,116, 0, 98, 77,105,110, 77, 97,120, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99, -116,105,111,110, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99,107, 84,114, 97, 99,107, 67,111,110,115,116,114, 97, -105,110,116, 0, 98, 68, 97,109,112, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 70,111,108,108,111,119, - 80, 97,116,104, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,116,114,101,116, 99,104, 84,111, 67,111,110,115,116,114, 97, -105,110,116, 0, 98, 82,105,103,105,100, 66,111,100,121, 74,111,105,110,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67, -108, 97,109,112, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,104,105,108,100, 79,102, 67,111,110,115,116,114, 97, -105,110,116, 0, 98, 84,114, 97,110,115,102,111,114,109, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 80,105,118,111,116, 67, -111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82, -111,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,109,105,116, 67,111,110,115, -116,114, 97,105,110,116, 0, 98, 68,105,115,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,104,114, -105,110,107,119,114, 97,112, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 70,111,108,108,111,119, 84,114, 97, 99,107, 67,111, -110,115,116,114, 97,105,110,116, 0, 98, 67, 97,109,101,114, 97, 83,111,108,118,101,114, 67,111,110,115,116,114, 97,105,110,116, - 0, 98, 79, 98,106,101, 99,116, 83,111,108,118,101,114, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,116,105,111,110, - 77,111,100,105,102,105,101,114, 0, 98, 65, 99,116,105,111,110, 83,116,114,105,112, 0, 98, 78,111,100,101, 83,116, 97, 99,107, - 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 0, 98, 78,111,100,101, 76,105,110,107, 0, 98, 78,111,100,101, 80,114,101,118, -105,101,119, 0, 98, 78,111,100,101, 0,117,105, 66,108,111, 99,107, 0, 98, 78,111,100,101, 84,121,112,101, 0, 98, 78,111,100, -101, 84,114,101,101, 69,120,101, 99, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 86, 97,108,117,101, 73,110,116, 0, 98, 78, -111,100,101, 83,111, 99,107,101,116, 86, 97,108,117,101, 70,108,111, 97,116, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 86, - 97,108,117,101, 66,111,111,108,101, 97,110, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 86, 97,108,117,101, 86,101, 99,116, -111,114, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 86, 97,108,117,101, 82, 71, 66, 65, 0, 78,111,100,101, 73,109, 97,103, -101, 65,110,105,109, 0, 78,111,100,101, 73,109, 97,103,101, 76, 97,121,101,114, 0, 78,111,100,101, 66,108,117,114, 68, 97,116, - 97, 0, 78,111,100,101, 68, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 66,105,108, 97,116,101,114, 97,108, 66,108,117, -114, 68, 97,116, 97, 0, 78,111,100,101, 72,117,101, 83, 97,116, 0, 78,111,100,101, 73,109, 97,103,101, 70,105,108,101, 0, 78, -111,100,101, 73,109, 97,103,101, 77,117,108,116,105, 70,105,108,101, 0, 78,111,100,101, 73,109, 97,103,101, 77,117,108,116,105, - 70,105,108,101, 83,111, 99,107,101,116, 0, 78,111,100,101, 67,104,114,111,109, 97, 0, 78,111,100,101, 84,119,111, 88, 89,115, - 0, 78,111,100,101, 84,119,111, 70,108,111, 97,116,115, 0, 78,111,100,101, 71,101,111,109,101,116,114,121, 0, 78,111,100,101, - 86,101,114,116,101,120, 67,111,108, 0, 78,111,100,101, 68,101,102,111, 99,117,115, 0, 78,111,100,101, 83, 99,114,105,112,116, - 68,105, 99,116, 0, 78,111,100,101, 71,108, 97,114,101, 0, 78,111,100,101, 84,111,110,101,109, 97,112, 0, 78,111,100,101, 76, -101,110,115, 68,105,115,116, 0, 78,111,100,101, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 78,111,100,101, 67,111,108, -111,114,115,112,105,108,108, 0, 78,111,100,101, 84,101,120, 66, 97,115,101, 0, 78,111,100,101, 84,101,120, 83,107,121, 0, 78, -111,100,101, 84,101,120, 73,109, 97,103,101, 0, 78,111,100,101, 84,101,120, 67,104,101, 99,107,101,114, 0, 78,111,100,101, 84, -101,120, 69,110,118,105,114,111,110,109,101,110,116, 0, 78,111,100,101, 84,101,120, 71,114, 97,100,105,101,110,116, 0, 78,111, -100,101, 84,101,120, 78,111,105,115,101, 0, 78,111,100,101, 84,101,120, 86,111,114,111,110,111,105, 0, 78,111,100,101, 84,101, -120, 77,117,115,103,114, 97,118,101, 0, 78,111,100,101, 84,101,120, 87, 97,118,101, 0, 78,111,100,101, 84,101,120, 77, 97,103, -105, 99, 0, 78,111,100,101, 83,104, 97,100,101,114, 65,116,116,114,105, 98,117,116,101, 0, 84,101,120, 78,111,100,101, 79,117, -116,112,117,116, 0, 67,117,114,118,101, 77, 97,112, 80,111,105,110,116, 0, 67,117,114,118,101, 77, 97,112, 0, 66,114,117,115, -104, 67,108,111,110,101, 0, 67,117,115,116,111,109, 68, 97,116, 97, 76, 97,121,101,114, 0, 67,117,115,116,111,109, 68, 97,116, - 97, 69,120,116,101,114,110, 97,108, 0, 72, 97,105,114, 75,101,121, 0, 80, 97,114,116,105, 99,108,101, 75,101,121, 0, 66,111, -105,100, 80, 97,114,116,105, 99,108,101, 0, 66,111,105,100, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,112,114,105, -110,103, 0, 67,104,105,108,100, 80, 97,114,116,105, 99,108,101, 0, 80, 97,114,116,105, 99,108,101, 84, 97,114,103,101,116, 0, - 80, 97,114,116,105, 99,108,101, 68,117,112,108,105, 87,101,105,103,104,116, 0, 80, 97,114,116,105, 99,108,101, 68, 97,116, 97, - 0, 83, 80, 72, 70,108,117,105,100, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 83,101,116,116,105,110, -103,115, 0, 66,111,105,100, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 67, 97, 99,104,101, 75,101,121, - 0, 75, 68, 84,114,101,101, 0, 80, 97,114,116,105, 99,108,101, 68,114, 97,119, 68, 97,116, 97, 0, 76,105,110,107, 78,111,100, -101, 0, 98, 71, 80, 68,115,112,111,105,110,116, 0, 98, 71, 80, 68,115,116,114,111,107,101, 0, 98, 71, 80, 68,102,114, 97,109, -101, 0, 98, 71, 80, 68,108, 97,121,101,114, 0, 82,101,112,111,114,116, 76,105,115,116, 0,119,109, 87,105,110,100,111,119, 77, - 97,110, 97,103,101,114, 0,119,109, 87,105,110,100,111,119, 0,119,109, 75,101,121, 67,111,110,102,105,103, 0,119,109, 69,118, -101,110,116, 0,119,109, 83,117, 98, 87,105,110,100,111,119, 0,119,109, 71,101,115,116,117,114,101, 0,119,109, 75,101,121, 77, - 97,112, 73,116,101,109, 0, 80,111,105,110,116,101,114, 82, 78, 65, 0,119,109, 75,101,121, 77, 97,112, 68,105,102,102, 73,116, -101,109, 0,119,109, 75,101,121, 77, 97,112, 0,119,109, 79,112,101,114, 97,116,111,114, 84,121,112,101, 0, 70, 77,111,100,105, -102,105,101,114, 0, 70, 77,111,100, 95, 71,101,110,101,114, 97,116,111,114, 0, 70, 77,111,100, 95, 70,117,110, 99,116,105,111, -110, 71,101,110,101,114, 97,116,111,114, 0, 70, 67, 77, 95, 69,110,118,101,108,111,112,101, 68, 97,116, 97, 0, 70, 77,111,100, - 95, 69,110,118,101,108,111,112,101, 0, 70, 77,111,100, 95, 67,121, 99,108,101,115, 0, 70, 77,111,100, 95, 80,121,116,104,111, -110, 0, 70, 77,111,100, 95, 76,105,109,105,116,115, 0, 70, 77,111,100, 95, 78,111,105,115,101, 0, 70, 77,111,100, 95, 83,116, -101,112,112,101,100, 0, 68,114,105,118,101,114, 84, 97,114,103,101,116, 0, 68,114,105,118,101,114, 86, 97,114, 0, 67,104, 97, -110,110,101,108, 68,114,105,118,101,114, 0, 70, 80,111,105,110,116, 0, 70, 67,117,114,118,101, 0, 65,110,105,109, 77, 97,112, - 80, 97,105,114, 0, 65,110,105,109, 77, 97,112,112,101,114, 0, 78,108, 97, 83,116,114,105,112, 0, 78,108, 97, 84,114, 97, 99, -107, 0, 75, 83, 95, 80, 97,116,104, 0, 75,101,121,105,110,103, 83,101,116, 0, 65,110,105,109, 79,118,101,114,114,105,100,101, - 0, 73,100, 65,100,116, 84,101,109,112,108, 97,116,101, 0, 66,111,105,100, 82,117,108,101, 0, 66,111,105,100, 82,117,108,101, - 71,111, 97,108, 65,118,111,105,100, 0, 66,111,105,100, 82,117,108,101, 65,118,111,105,100, 67,111,108,108,105,115,105,111,110, - 0, 66,111,105,100, 82,117,108,101, 70,111,108,108,111,119, 76,101, 97,100,101,114, 0, 66,111,105,100, 82,117,108,101, 65,118, -101,114, 97,103,101, 83,112,101,101,100, 0, 66,111,105,100, 82,117,108,101, 70,105,103,104,116, 0, 66,111,105,100, 83,116, 97, -116,101, 0, 70, 76, 85, 73, 68, 95, 51, 68, 0, 87, 84, 85, 82, 66, 85, 76, 69, 78, 67, 69, 0, 83,112,101, 97,107,101,114, 0, - 77,111,118,105,101, 67,108,105,112, 80,114,111,120,121, 0, 77,111,118,105,101, 67,108,105,112, 67, 97, 99,104,101, 0, 77,111, -118,105,101, 84,114, 97, 99,107,105,110,103, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 84,114, 97, 99,107, 0, 77, -111,118,105,101, 84,114, 97, 99,107,105,110,103, 77, 97,114,107,101,114, 0, 77,111,118,105,101, 82,101, 99,111,110,115,116,114, -117, 99,116,101,100, 67, 97,109,101,114, 97, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 67, 97,109,101,114, 97, 0, - 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 83,101,116,116,105,110,103,115, 0, 77,111,118,105,101, 84,114, 97, 99,107, -105,110,103, 83,116, 97, 98,105,108,105,122, 97,116,105,111,110, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 82,101, - 99,111,110,115,116,114,117, 99,116,105,111,110, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 79, 98,106,101, 99,116, - 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 83,116, 97,116,115, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110, -103, 68,111,112,101,115,104,101,101,116, 67,104, 97,110,110,101,108, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 68, -111,112,101,115,104,101,101,116, 0, 68,121,110, 97,109,105, 99, 80, 97,105,110,116, 83,117,114,102, 97, 99,101, 0, 80, 97,105, -110,116, 83,117,114,102, 97, 99,101, 68, 97,116, 97, 0, 0, 0, 84, 76, 69, 78, 1, 0, 1, 0, 2, 0, 2, 0, 4, 0, 4, 0, + 91, 52, 93, 0,108, 97, 98,101,108, 95,115,105,122,101, 0, 99,121, 99,108,105, 99, 0,109,111,118,105,101, 0,103, 97,109,109, + 97, 0,103, 97,105,110, 0,108,105,102,116, 0,109, 97,115,116,101,114, 0,115,104, 97,100,111,119,115, 0,109,105,100,116,111, +110,101,115, 0,104,105,103,104,108,105,103,104,116,115, 0,115,116, 97,114,116,109,105,100,116,111,110,101,115, 0,101,110,100, +109,105,100,116,111,110,101,115, 0,102,108, 97,112,115, 0,114,111,117,110,100,105,110,103, 0, 99, 97,116, 97,100,105,111,112, +116,114,105, 99, 0,108,101,110,115,115,104,105,102,116, 0,114,111,116, 97,116,105,111,110, 0,112, 97,115,115, 95,105,110,100, +101,120, 0,112, 97,115,115, 95,102,108, 97,103, 0,109, 97,120,115,112,101,101,100, 0,109,105,110,115,112,101,101,100, 0, 99, +117,114,118,101,100, 0,112,101,114, 99,101,110,116,120, 0,112,101,114, 99,101,110,116,121, 0, 98,111,107,101,104, 0,105,109, + 97,103,101, 95,105,110, 95,119,105,100,116,104, 0,105,109, 97,103,101, 95,105,110, 95,104,101,105,103,104,116, 0, 99,101,110, +116,101,114, 95,120, 0, 99,101,110,116,101,114, 95,121, 0,115,112,105,110, 0,119,114, 97,112, 0,115,105,103,109, 97, 95, 99, +111,108,111,114, 0,115,105,103,109, 97, 95,115,112, 97, 99,101, 0,104,117,101, 0, 98, 97,115,101, 95,112, 97,116,104, 91, 49, + 48, 50, 52, 93, 0,102,111,114,109, 97,116, 0, 97, 99,116,105,118,101, 95,105,110,112,117,116, 0,117,115,101, 95,114,101,110, +100,101,114, 95,102,111,114,109, 97,116, 0,117,115,101, 95,110,111,100,101, 95,102,111,114,109, 97,116, 0,108, 97,121,101,114, + 91, 51, 48, 93, 0,116, 49, 0,116, 50, 0,116, 51, 0,102,115,116,114,101,110,103,116,104, 0,102, 97,108,112,104, 97, 0,107, +101,121, 91, 52, 93, 0, 97,108,103,111,114,105,116,104,109, 0, 99,104, 97,110,110,101,108, 0,120, 49, 0,120, 50, 0,121, 49, + 0,121, 50, 0,102, 97, 99, 95,120, 49, 0,102, 97, 99, 95,120, 50, 0,102, 97, 99, 95,121, 49, 0,102, 97, 99, 95,121, 50, 0, + 99,111,108,110, 97,109,101, 91, 54, 52, 93, 0, 98,107,116,121,112,101, 0,112, 97,100, 95, 99, 49, 0,103, 97,109, 99,111, 0, +110,111, 95,122, 98,117,102, 0,102,115,116,111,112, 0,109, 97,120, 98,108,117,114, 0, 98,116,104,114,101,115,104, 0,112, 97, +100, 95,102, 49, 0, 42,100,105, 99,116, 0, 42,110,111,100,101, 0, 99,111,108,109,111,100, 0,109,105,120, 0,102, 97,100,101, + 0, 97,110,103,108,101, 95,111,102,115, 0,109, 0, 99, 0,106,105,116, 0,112,114,111,106, 0,102,105,116, 0,115,108,111,112, +101, 91, 51, 93, 0,112,111,119,101,114, 91, 51, 93, 0,108,105,102,116, 95,108,103,103, 91, 51, 93, 0,103, 97,109,109, 97, 95, +105,110,118, 91, 51, 93, 0,108,105,109, 99,104, 97,110, 0,117,110,115,112,105,108,108, 0,108,105,109,115, 99, 97,108,101, 0, +117,115,112,105,108,108,114, 0,117,115,112,105,108,108,103, 0,117,115,112,105,108,108, 98, 0,116,101,120, 95,109, 97,112,112, +105,110,103, 0, 99,111,108,111,114, 95,109, 97,112,112,105,110,103, 0,115,117,110, 95,100,105,114,101, 99,116,105,111,110, 91, + 51, 93, 0,116,117,114, 98,105,100,105,116,121, 0, 99,111,108,111,114, 95,115,112, 97, 99,101, 0,112,114,111,106,101, 99,116, +105,111,110, 0,103,114, 97,100,105,101,110,116, 95,116,121,112,101, 0, 99,111,108,111,114,105,110,103, 0,109,117,115,103,114, + 97,118,101, 95,116,121,112,101, 0,119, 97,118,101, 95,116,121,112,101, 0,115,104,111,114,116,121, 0,109,105,110,116, 97, 98, +108,101, 0,109, 97,120,116, 97, 98,108,101, 0,101,120,116, 95,105,110, 91, 50, 93, 0,101,120,116, 95,111,117,116, 91, 50, 93, + 0, 42, 99,117,114,118,101, 0, 42,116, 97, 98,108,101, 0, 42,112,114,101,109,117,108,116, 97, 98,108,101, 0,112,114,101,115, +101,116, 0, 99,104, 97,110,103,101,100, 95,116,105,109,101,115,116, 97,109,112, 0, 99,117,114,114, 0, 99,108,105,112,114, 0, + 99,109, 91, 52, 93, 0, 98,108, 97, 99,107, 91, 51, 93, 0,119,104,105,116,101, 91, 51, 93, 0, 98,119,109,117,108, 91, 51, 93, + 0,115, 97,109,112,108,101, 91, 51, 93, 0,120, 95,114,101,115,111,108,117,116,105,111,110, 0,100, 97,116, 97, 95,114, 91, 50, + 53, 54, 93, 0,100, 97,116, 97, 95,103, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95, 98, 91, 50, 53, 54, 93, 0,100, 97,116, 97, + 95,108,117,109, 97, 91, 50, 53, 54, 93, 0,115, 97,109,112,108,101, 95,102,117,108,108, 0,115, 97,109,112,108,101, 95,108,105, +110,101,115, 0, 97, 99, 99,117,114, 97, 99,121, 0,119, 97,118,101,102,114,109, 95,109,111,100,101, 0,119, 97,118,101,102,114, +109, 95, 97,108,112,104, 97, 0,119, 97,118,101,102,114,109, 95,121,102, 97, 99, 0,119, 97,118,101,102,114,109, 95,104,101,105, +103,104,116, 0,118,101, 99,115, 99,111,112,101, 95, 97,108,112,104, 97, 0,118,101, 99,115, 99,111,112,101, 95,104,101,105,103, +104,116, 0,109,105,110,109, 97,120, 91, 51, 93, 91, 50, 93, 0,104,105,115,116, 0, 42,119, 97,118,101,102,111,114,109, 95, 49, + 0, 42,119, 97,118,101,102,111,114,109, 95, 50, 0, 42,119, 97,118,101,102,111,114,109, 95, 51, 0, 42,118,101, 99,115, 99,111, +112,101, 0,119, 97,118,101,102,111,114,109, 95,116,111,116, 0,111,102,102,115,101,116, 91, 50, 93, 0, 99,108,111,110,101, 0, +109,116,101,120, 0, 42,116,111,103,103,108,101, 95, 98,114,117,115,104, 0, 42,105, 99,111,110, 95,105,109, 98,117,102, 0,105, + 99,111,110, 95,102,105,108,101,112, 97,116,104, 91, 49, 48, 50, 52, 93, 0,110,111,114,109, 97,108, 95,119,101,105,103,104,116, + 0,111, 98, 95,109,111,100,101, 0,106,105,116,116,101,114, 0,115,109,111,111,116,104, 95,115,116,114,111,107,101, 95,114, 97, +100,105,117,115, 0,115,109,111,111,116,104, 95,115,116,114,111,107,101, 95,102, 97, 99,116,111,114, 0,114, 97,116,101, 0,114, +103, 98, 91, 51, 93, 0,115, 99,117,108,112,116, 95,112,108, 97,110,101, 0,112,108, 97,110,101, 95,111,102,102,115,101,116, 0, +115, 99,117,108,112,116, 95,116,111,111,108, 0,118,101,114,116,101,120,112, 97,105,110,116, 95,116,111,111,108, 0,105,109, 97, +103,101,112, 97,105,110,116, 95,116,111,111,108, 0,109, 97,115,107, 95,116,111,111,108, 0, 97,117,116,111,115,109,111,111,116, +104, 95,102, 97, 99,116,111,114, 0, 99,114,101, 97,115,101, 95,112,105,110, 99,104, 95,102, 97, 99,116,111,114, 0,112,108, 97, +110,101, 95,116,114,105,109, 0,116,101,120,116,117,114,101, 95,115, 97,109,112,108,101, 95, 98,105, 97,115, 0,116,101,120,116, +117,114,101, 95,111,118,101,114,108, 97,121, 95, 97,108,112,104, 97, 0, 97,100,100, 95, 99,111,108, 91, 51, 93, 0,115,117, 98, + 95, 99,111,108, 91, 51, 93, 0, 97, 99,116,105,118,101, 95,114,110,100, 0, 97, 99,116,105,118,101, 95, 99,108,111,110,101, 0, + 97, 99,116,105,118,101, 95,109, 97,115,107, 0, 42,108, 97,121,101,114,115, 0,116,121,112,101,109, 97,112, 91, 51, 54, 93, 0, +116,111,116,108, 97,121,101,114, 0,109, 97,120,108, 97,121,101,114, 0,116,111,116,115,105,122,101, 0, 42,112,111,111,108, 0, + 42,101,120,116,101,114,110, 97,108, 0,114,111,116, 91, 52, 93, 0, 97,118,101, 91, 51, 93, 0, 42,103,114,111,117,110,100, 0, +119, 97,110,100,101,114, 91, 51, 93, 0,114,101,115,116, 95,108,101,110,103,116,104, 0,112, 97,114,116,105, 99,108,101, 95,105, +110,100,101,120, 91, 50, 93, 0,100,101,108,101,116,101, 95,102,108, 97,103, 0,110,117,109, 0,112, 97,114,101,110,116, 0,112, + 97, 91, 52, 93, 0,119, 91, 52, 93, 0,102,117,118, 91, 52, 93, 0,102,111,102,102,115,101,116, 0,112,114,101,118, 95,115,116, + 97,116,101, 0, 42,104, 97,105,114, 0, 42, 98,111,105,100, 0,100,105,101,116,105,109,101, 0,110,117,109, 95,100,109, 99, 97, + 99,104,101, 0,104, 97,105,114, 95,105,110,100,101,120, 0, 97,108,105,118,101, 0,115,112,114,105,110,103, 95,107, 0,112,108, + 97,115,116,105, 99,105,116,121, 95, 99,111,110,115,116, 97,110,116, 0,121,105,101,108,100, 95,114, 97,116,105,111, 0,112,108, + 97,115,116,105, 99,105,116,121, 95, 98, 97,108, 97,110, 99,101, 0,121,105,101,108,100, 95, 98, 97,108, 97,110, 99,101, 0,118, +105,115, 99,111,115,105,116,121, 95,111,109,101,103, 97, 0,118,105,115, 99,111,115,105,116,121, 95, 98,101,116, 97, 0,115,116, +105,102,102,110,101,115,115, 95,107, 0,115,116,105,102,102,110,101,115,115, 95,107,110,101, 97,114, 0,114,101,115,116, 95,100, +101,110,115,105,116,121, 0, 98,117,111,121, 97,110, 99,121, 0,115,112,114,105,110,103, 95,102,114, 97,109,101,115, 0, 42, 98, +111,105,100,115, 0, 42,102,108,117,105,100, 0,100,105,115,116,114, 0,112,104,121,115,116,121,112,101, 0, 97,118,101,109,111, +100,101, 0,114,101, 97, 99,116,101,118,101,110,116, 0,100,114, 97,119, 0,100,114, 97,119, 95, 97,115, 0,100,114, 97,119, 95, +115,105,122,101, 0, 99,104,105,108,100,116,121,112,101, 0,114,101,110, 95, 97,115, 0,115,117, 98,102,114, 97,109,101,115, 0, +100,114, 97,119, 95, 99,111,108, 0,114,101,110, 95,115,116,101,112, 0,104, 97,105,114, 95,115,116,101,112, 0,107,101,121,115, + 95,115,116,101,112, 0, 97,100, 97,112,116, 95, 97,110,103,108,101, 0, 97,100, 97,112,116, 95,112,105,120, 0,114,111,116,102, +114,111,109, 0,105,110,116,101,103,114, 97,116,111,114, 0, 98, 98, 95, 97,108,105,103,110, 0, 98, 98, 95,117,118, 95,115,112, +108,105,116, 0, 98, 98, 95, 97,110,105,109, 0, 98, 98, 95,115,112,108,105,116, 95,111,102,102,115,101,116, 0, 98, 98, 95,116, +105,108,116, 0, 98, 98, 95,114, 97,110,100, 95,116,105,108,116, 0, 98, 98, 95,111,102,102,115,101,116, 91, 50, 93, 0, 98, 98, + 95,115,105,122,101, 91, 50, 93, 0, 98, 98, 95,118,101,108, 95,104,101, 97,100, 0, 98, 98, 95,118,101,108, 95,116, 97,105,108, + 0, 99,111,108,111,114, 95,118,101, 99, 95,109, 97,120, 0,115,105,109,112,108,105,102,121, 95,114,101,102,115,105,122,101, 0, +115,105,109,112,108,105,102,121, 95,114, 97,116,101, 0,115,105,109,112,108,105,102,121, 95,116,114, 97,110,115,105,116,105,111, +110, 0,115,105,109,112,108,105,102,121, 95,118,105,101,119,112,111,114,116, 0,116,105,109,101,116,119,101, 97,107, 0, 99,111, +117,114, 97,110,116, 95,116, 97,114,103,101,116, 0,106,105,116,102, 97, 99, 0,101,102,102, 95,104, 97,105,114, 0,103,114,105, +100, 95,114, 97,110,100, 0,112,115, 95,111,102,102,115,101,116, 91, 49, 93, 0,103,114,105,100, 95,114,101,115, 0,101,102,102, +101, 99,116,111,114, 95, 97,109,111,117,110,116, 0,116,105,109,101, 95,102,108, 97,103, 0,116,105,109,101, 95,112, 97,100, 91, + 51, 93, 0,112, 97,114,116,102, 97, 99, 0,116, 97,110,102, 97, 99, 0,116, 97,110,112,104, 97,115,101, 0,114,101, 97, 99,116, +102, 97, 99, 0,111, 98, 95,118,101,108, 91, 51, 93, 0, 97,118,101,102, 97, 99, 0,112,104, 97,115,101,102, 97, 99, 0,114, 97, +110,100,114,111,116,102, 97, 99, 0,114, 97,110,100,112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,115,105,122,101, 0, 97, + 99, 99, 91, 51, 93, 0,100,114, 97,103,102, 97, 99, 0, 98,114,111,119,110,102, 97, 99, 0,114, 97,110,100,108,101,110,103,116, +104, 0, 99,104,105,108,100, 95,110, 98,114, 0,114,101,110, 95, 99,104,105,108,100, 95,110, 98,114, 0,112, 97,114,101,110,116, +115, 0, 99,104,105,108,100,115,105,122,101, 0, 99,104,105,108,100,114, 97,110,100,115,105,122,101, 0, 99,104,105,108,100,114, + 97,100, 0, 99,104,105,108,100,102,108, 97,116, 0, 99,108,117,109,112,112,111,119, 0,107,105,110,107, 95,102,108, 97,116, 0, +107,105,110,107, 95, 97,109,112, 95, 99,108,117,109,112, 0,114,111,117,103,104, 49, 0,114,111,117,103,104, 49, 95,115,105,122, +101, 0,114,111,117,103,104, 50, 0,114,111,117,103,104, 50, 95,115,105,122,101, 0,114,111,117,103,104, 50, 95,116,104,114,101, +115, 0,114,111,117,103,104, 95,101,110,100, 0,114,111,117,103,104, 95,101,110,100, 95,115,104, 97,112,101, 0, 99,108,101,110, +103,116,104, 0, 99,108,101,110,103,116,104, 95,116,104,114,101,115, 0,112, 97,114,116,105,110,103, 95,102, 97, 99, 0,112, 97, +114,116,105,110,103, 95,109,105,110, 0,112, 97,114,116,105,110,103, 95,109, 97,120, 0, 98,114, 97,110, 99,104, 95,116,104,114, +101,115, 0,100,114, 97,119, 95,108,105,110,101, 91, 50, 93, 0,112, 97,116,104, 95,115,116, 97,114,116, 0,112, 97,116,104, 95, +101,110,100, 0,116,114, 97,105,108, 95, 99,111,117,110,116, 0,107,101,121,101,100, 95,108,111,111,112,115, 0,100,117,112,108, +105,119,101,105,103,104,116,115, 0, 42,101,102,102, 95,103,114,111,117,112, 0, 42,100,117,112, 95,111, 98, 0, 42, 98, 98, 95, +111, 98, 0, 42,112,100, 50, 0, 42,112, 97,114,116, 0, 42,112, 97,114,116,105, 99,108,101,115, 0, 42, 42,112, 97,116,104, 99, + 97, 99,104,101, 0, 42, 42, 99,104,105,108,100, 99, 97, 99,104,101, 0,112, 97,116,104, 99, 97, 99,104,101, 98,117,102,115, 0, + 99,104,105,108,100, 99, 97, 99,104,101, 98,117,102,115, 0, 42, 99,108,109,100, 0, 42,104, 97,105,114, 95,105,110, 95,100,109, + 0, 42,104, 97,105,114, 95,111,117,116, 95,100,109, 0, 42,116, 97,114,103,101,116, 95,111, 98, 0, 42,108, 97,116,116,105, 99, +101, 0,116,114,101,101, 95,102,114, 97,109,101, 0, 98,118,104,116,114,101,101, 95,102,114, 97,109,101, 0, 99,104,105,108,100, + 95,115,101,101,100, 0,116,111,116,117,110,101,120,105,115,116, 0,116,111,116, 99,104,105,108,100, 0,116,111,116, 99, 97, 99, +104,101,100, 0,116,111,116, 99,104,105,108,100, 99, 97, 99,104,101, 0,116, 97,114,103,101,116, 95,112,115,121,115, 0,116,111, +116,107,101,121,101,100, 0, 98, 97,107,101,115,112, 97, 99,101, 0, 98, 98, 95,117,118,110, 97,109,101, 91, 51, 93, 91, 54, 52, + 93, 0,118,103,114,111,117,112, 91, 49, 50, 93, 0,118,103, 95,110,101,103, 0,114,116, 51, 0, 42,114,101,110,100,101,114,100, + 97,116, 97, 0, 42,101,102,102,101, 99,116,111,114,115, 0, 42,102,108,117,105,100, 95,115,112,114,105,110,103,115, 0,116,111, +116, 95,102,108,117,105,100,115,112,114,105,110,103,115, 0, 97,108,108,111, 99, 95,102,108,117,105,100,115,112,114,105,110,103, +115, 0, 42,116,114,101,101, 0, 42,112,100,100, 0, 42,102,114, 97,110,100, 0,100,116, 95,102,114, 97, 99, 0, 95,112, 97,100, + 0, 67,100,105,115, 0, 67,118,105, 0,115,116,114,117, 99,116,117,114, 97,108, 0, 98,101,110,100,105,110,103, 0,109, 97,120, + 95, 98,101,110,100, 0,109, 97,120, 95,115,116,114,117, 99,116, 0,109, 97,120, 95,115,104,101, 97,114, 0, 97,118,103, 95,115, +112,114,105,110,103, 95,108,101,110, 0,116,105,109,101,115, 99, 97,108,101, 0,101,102,102, 95,102,111,114, 99,101, 95,115, 99, + 97,108,101, 0,101,102,102, 95,119,105,110,100, 95,115, 99, 97,108,101, 0,115,105,109, 95,116,105,109,101, 95,111,108,100, 0, +118,101,108,111, 99,105,116,121, 95,115,109,111,111,116,104, 0, 99,111,108,108,105,100,101,114, 95,102,114,105, 99,116,105,111, +110, 0,118,101,108, 95,100, 97,109,112,105,110,103, 0,115,116,101,112,115, 80,101,114, 70,114, 97,109,101, 0,112,114,101,114, +111,108,108, 0,109, 97,120,115,112,114,105,110,103,108,101,110, 0,115,111,108,118,101,114, 95,116,121,112,101, 0,118,103,114, +111,117,112, 95, 98,101,110,100, 0,118,103,114,111,117,112, 95,109, 97,115,115, 0,118,103,114,111,117,112, 95,115,116,114,117, + 99,116, 0,115,104, 97,112,101,107,101,121, 95,114,101,115,116, 0,112,114,101,115,101,116,115, 0,114,101,115,101,116, 0, 42, + 99,111,108,108,105,115,105,111,110, 95,108,105,115,116, 0,101,112,115,105,108,111,110, 0,115,101,108,102, 95,102,114,105, 99, +116,105,111,110, 0,115,101,108,102,101,112,115,105,108,111,110, 0,114,101,112,101,108, 95,102,111,114, 99,101, 0,100,105,115, +116, 97,110, 99,101, 95,114,101,112,101,108, 0,115,101,108,102, 95,108,111,111,112, 95, 99,111,117,110,116, 0,108,111,111,112, + 95, 99,111,117,110,116, 0,112,114,101,115,115,117,114,101, 0,116,104,105, 99,107,110,101,115,115, 0,115,116,114,111,107,101, +115, 0,102,114, 97,109,101,110,117,109, 0, 42, 97, 99,116,102,114, 97,109,101, 0,103,115,116,101,112, 0,105,110,102,111, 91, + 49, 50, 56, 93, 0,115, 98,117,102,102,101,114, 95,115,105,122,101, 0,115, 98,117,102,102,101,114, 95,115,102,108, 97,103, 0, + 42,115, 98,117,102,102,101,114, 0,108,105,115,116, 0,112,114,105,110,116,108,101,118,101,108, 0,115,116,111,114,101,108,101, +118,101,108, 0, 42,114,101,112,111,114,116,116,105,109,101,114, 0, 42,119,105,110,100,114, 97,119, 97, 98,108,101, 0, 42,119, +105,110, 97, 99,116,105,118,101, 0,119,105,110,100,111,119,115, 0,105,110,105,116,105, 97,108,105,122,101,100, 0,102,105,108, +101, 95,115, 97,118,101,100, 0,111,112, 95,117,110,100,111, 95,100,101,112,116,104, 0,111,112,101,114, 97,116,111,114,115, 0, +113,117,101,117,101, 0,114,101,112,111,114,116,115, 0,106,111, 98,115, 0,112, 97,105,110,116, 99,117,114,115,111,114,115, 0, +100,114, 97,103,115, 0,107,101,121, 99,111,110,102,105,103,115, 0, 42,100,101,102, 97,117,108,116, 99,111,110,102, 0, 42, 97, +100,100,111,110, 99,111,110,102, 0, 42,117,115,101,114, 99,111,110,102, 0,116,105,109,101,114,115, 0, 42, 97,117,116,111,115, + 97,118,101,116,105,109,101,114, 0, 42,103,104,111,115,116,119,105,110, 0,103,114, 97, 98, 99,117,114,115,111,114, 0, 42,115, + 99,114,101,101,110, 0, 42,110,101,119,115, 99,114,101,101,110, 0,115, 99,114,101,101,110,110, 97,109,101, 91, 54, 52, 93, 0, +112,111,115,120, 0,112,111,115,121, 0,119,105,110,100,111,119,115,116, 97,116,101, 0,109,111,110,105,116,111,114, 0,108, 97, +115,116, 99,117,114,115,111,114, 0,109,111,100, 97,108, 99,117,114,115,111,114, 0, 97,100,100,109,111,117,115,101,109,111,118, +101, 0, 42,101,118,101,110,116,115,116, 97,116,101, 0, 42, 99,117,114,115,119,105,110, 0, 42,116,119,101, 97,107, 0,100,114, + 97,119,109,101,116,104,111,100, 0,100,114, 97,119,102, 97,105,108, 0, 42,100,114, 97,119,100, 97,116, 97, 0,109,111,100, 97, +108,104, 97,110,100,108,101,114,115, 0,115,117, 98,119,105,110,100,111,119,115, 0,103,101,115,116,117,114,101, 0,105,100,110, + 97,109,101, 91, 54, 52, 93, 0,112,114,111,112,118, 97,108,117,101, 95,115,116,114, 91, 54, 52, 93, 0,112,114,111,112,118, 97, +108,117,101, 0,115,104,105,102,116, 0, 99,116,114,108, 0, 97,108,116, 0,111,115,107,101,121, 0,107,101,121,109,111,100,105, +102,105,101,114, 0,109, 97,112,116,121,112,101, 0, 42,112,116,114, 0, 42,114,101,109,111,118,101, 95,105,116,101,109, 0, 42, + 97,100,100, 95,105,116,101,109, 0,105,116,101,109,115, 0,100,105,102,102, 95,105,116,101,109,115, 0,115,112, 97, 99,101,105, +100, 0,114,101,103,105,111,110,105,100, 0,107,109,105, 95,105,100, 0, 40, 42,112,111,108,108, 41, 40, 41, 0, 42,109,111,100, + 97,108, 95,105,116,101,109,115, 0, 98, 97,115,101,110, 97,109,101, 91, 54, 52, 93, 0, 97, 99,116,107,101,121,109, 97,112, 0, + 42, 99,117,115,116,111,109,100, 97,116, 97, 0, 42,112,121, 95,105,110,115,116, 97,110, 99,101, 0, 42,114,101,112,111,114,116, +115, 0,109, 97, 99,114,111, 0, 42,111,112,109, 0, 42,101,100, 97,116, 97, 0, 42, 99,111,101,102,102,105, 99,105,101,110,116, +115, 0, 97,114,114, 97,121,115,105,122,101, 0,112,111,108,121, 95,111,114,100,101,114, 0, 97,109,112,108,105,116,117,100,101, + 0,112,104, 97,115,101, 95,109,117,108,116,105,112,108,105,101,114, 0,112,104, 97,115,101, 95,111,102,102,115,101,116, 0,118, + 97,108,117,101, 95,111,102,102,115,101,116, 0,109,105,100,118, 97,108, 0, 98,101,102,111,114,101, 95,109,111,100,101, 0, 97, +102,116,101,114, 95,109,111,100,101, 0, 98,101,102,111,114,101, 95, 99,121, 99,108,101,115, 0, 97,102,116,101,114, 95, 99,121, + 99,108,101,115, 0,114,101, 99,116, 0,112,104, 97,115,101, 0,109,111,100,105,102,105, 99, 97,116,105,111,110, 0,115,116,101, +112, 95,115,105,122,101, 0, 42,114,110, 97, 95,112, 97,116,104, 0,112, 99,104, 97,110, 95,110, 97,109,101, 91, 51, 50, 93, 0, +116,114, 97,110,115, 67,104, 97,110, 0,105,100,116,121,112,101, 0,116, 97,114,103,101,116,115, 91, 56, 93, 0,110,117,109, 95, +116, 97,114,103,101,116,115, 0,118, 97,114,105, 97, 98,108,101,115, 0,101,120,112,114,101,115,115,105,111,110, 91, 50, 53, 54, + 93, 0, 42,101,120,112,114, 95, 99,111,109,112, 0,118,101, 99, 91, 50, 93, 0, 42,102,112,116, 0, 97,114,114, 97,121, 95,105, +110,100,101,120, 0, 99,111,108,111,114, 95,109,111,100,101, 0,102,114,111,109, 91, 49, 50, 56, 93, 0,116,111, 91, 49, 50, 56, + 93, 0,109, 97,112,112,105,110,103,115, 0,115,116,114,105,112,115, 0, 42,114,101,109, 97,112, 0,102, 99,117,114,118,101,115, + 0,115,116,114,105,112, 95,116,105,109,101, 0, 98,108,101,110,100,109,111,100,101, 0,101,120,116,101,110,100,109,111,100,101, + 0, 42,115,112,101, 97,107,101,114, 95,104, 97,110,100,108,101, 0,103,114,111,117,112, 91, 54, 52, 93, 0,103,114,111,117,112, +109,111,100,101, 0,107,101,121,105,110,103,102,108, 97,103, 0,112, 97,116,104,115, 0,100,101,115, 99,114,105,112,116,105,111, +110, 91, 50, 52, 48, 93, 0,116,121,112,101,105,110,102,111, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,112, 97,116,104, 0, + 42,116,109,112, 97, 99,116, 0,110,108, 97, 95,116,114, 97, 99,107,115, 0, 42, 97, 99,116,115,116,114,105,112, 0,100,114,105, +118,101,114,115, 0,111,118,101,114,114,105,100,101,115, 0, 97, 99,116, 95, 98,108,101,110,100,109,111,100,101, 0, 97, 99,116, + 95,101,120,116,101,110,100,109,111,100,101, 0, 97, 99,116, 95,105,110,102,108,117,101,110, 99,101, 0,114,117,108,101, 0,111, +112,116,105,111,110,115, 0,102,101, 97,114, 95,102, 97, 99,116,111,114, 0,115,105,103,110, 97,108, 95,105,100, 0,108,111,111, +107, 95, 97,104,101, 97,100, 0,111,108,111, 99, 91, 51, 93, 0,113,117,101,117,101, 95,115,105,122,101, 0,119, 97,110,100,101, +114, 0,102,108,101,101, 95,100,105,115,116, 97,110, 99,101, 0,104,101, 97,108,116,104, 0,115,116, 97,116,101, 95,105,100, 0, +114,117,108,101,115, 0, 99,111,110,100,105,116,105,111,110,115, 0, 97, 99,116,105,111,110,115, 0,114,117,108,101,115,101,116, + 95,116,121,112,101, 0,114,117,108,101, 95,102,117,122,122,105,110,101,115,115, 0,108, 97,115,116, 95,115,116, 97,116,101, 95, +105,100, 0,108, 97,110,100,105,110,103, 95,115,109,111,111,116,104,110,101,115,115, 0, 98, 97,110,107,105,110,103, 0, 97,103, +103,114,101,115,115,105,111,110, 0, 97,105,114, 95,109,105,110, 95,115,112,101,101,100, 0, 97,105,114, 95,109, 97,120, 95,115, +112,101,101,100, 0, 97,105,114, 95,109, 97,120, 95, 97, 99, 99, 0, 97,105,114, 95,109, 97,120, 95, 97,118,101, 0, 97,105,114, + 95,112,101,114,115,111,110, 97,108, 95,115,112, 97, 99,101, 0,108, 97,110,100, 95,106,117,109,112, 95,115,112,101,101,100, 0, +108, 97,110,100, 95,109, 97,120, 95,115,112,101,101,100, 0,108, 97,110,100, 95,109, 97,120, 95, 97, 99, 99, 0,108, 97,110,100, + 95,109, 97,120, 95, 97,118,101, 0,108, 97,110,100, 95,112,101,114,115,111,110, 97,108, 95,115,112, 97, 99,101, 0,108, 97,110, +100, 95,115,116,105, 99,107, 95,102,111,114, 99,101, 0,115,116, 97,116,101,115, 0, 42,115,109,100, 0, 42,102,108,117,105,100, + 95,103,114,111,117,112, 0, 42, 99,111,108,108, 95,103,114,111,117,112, 0, 42,119,116, 0, 42,116,101,120, 95,119,116, 0, 42, +116,101,120, 95,115,104, 97,100,111,119, 0, 42,115,104, 97,100,111,119, 0,112, 48, 91, 51, 93, 0,112, 49, 91, 51, 93, 0,100, +120, 0,111,109,101,103, 97, 0,116,101,109,112, 65,109, 98, 0, 98,101,116, 97, 0,114,101,115, 91, 51, 93, 0, 97,109,112,108, +105,102,121, 0,109, 97,120,114,101,115, 0,118,105,101,119,115,101,116,116,105,110,103,115, 0,110,111,105,115,101, 0,100,105, +115,115, 95,112,101,114, 99,101,110,116, 0,100,105,115,115, 95,115,112,101,101,100, 0,114,101,115, 95,119,116, 91, 51, 93, 0, +100,120, 95,119,116, 0,118, 51,100,110,117,109, 0, 99, 97, 99,104,101, 95, 99,111,109,112, 0, 99, 97, 99,104,101, 95,104,105, +103,104, 95, 99,111,109,112, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101, 91, 50, 93, 0,112,116, 99, 97, 99,104,101,115, + 91, 50, 93, 0, 98,111,114,100,101,114, 95, 99,111,108,108,105,115,105,111,110,115, 0,116,105,109,101, 95,115, 99, 97,108,101, + 0,118,111,114,116,105, 99,105,116,121, 0,118,101,108,111, 99,105,116,121, 91, 50, 93, 0,118,101,108, 95,109,117,108,116,105, + 0,118,103,114,112, 95,104,101, 97,116, 95,115, 99, 97,108,101, 91, 50, 93, 0,118,103,114,111,117,112, 95,102,108,111,119, 0, +118,103,114,111,117,112, 95,100,101,110,115,105,116,121, 0,118,103,114,111,117,112, 95,104,101, 97,116, 0, 42,112,111,105,110, +116,115, 95,111,108,100, 0, 42,118,101,108, 0, 42,116,114,105,100,105,118,115, 0,109, 97,116, 95,111,108,100, 91, 52, 93, 91, + 52, 93, 0,110,117,109,116,114,105,115, 0,118,111,108,117,109,101, 95,109, 97,120, 0,118,111,108,117,109,101, 95,109,105,110, + 0,100,105,115,116, 97,110, 99,101, 95,109, 97,120, 0,100,105,115,116, 97,110, 99,101, 95,114,101,102,101,114,101,110, 99,101, + 0, 99,111,110,101, 95, 97,110,103,108,101, 95,111,117,116,101,114, 0, 99,111,110,101, 95, 97,110,103,108,101, 95,105,110,110, +101,114, 0, 99,111,110,101, 95,118,111,108,117,109,101, 95,111,117,116,101,114, 0,114,101,110,100,101,114, 95,102,108, 97,103, + 0, 98,117,105,108,100, 95,115,105,122,101, 95,102,108, 97,103, 0, 98,117,105,108,100, 95,116, 99, 95,102,108, 97,103, 0,108, + 97,115,116,115,105,122,101, 91, 50, 93, 0,116,114, 97, 99,107,105,110,103, 0, 42,116,114, 97, 99,107,105,110,103, 95, 99,111, +110,116,101,120,116, 0,112,114,111,120,121, 0,116,114, 97, 99,107, 95,112,114,101,118,105,101,119, 95,104,101,105,103,104,116, + 0, 42,116,114, 97, 99,107, 95,112,114,101,118,105,101,119, 0,116,114, 97, 99,107, 95,112,111,115, 91, 50, 93, 0,116,114, 97, + 99,107, 95,100,105,115, 97, 98,108,101,100, 0, 42,109, 97,114,107,101,114, 0,115,108,105,100,101, 95,115, 99, 97,108,101, 91, + 50, 93, 0,101,114,114,111,114, 0, 42,105,110,116,114,105,110,115,105, 99,115, 0,115,101,110,115,111,114, 95,119,105,100,116, +104, 0,112,105,120,101,108, 95, 97,115,112,101, 99,116, 0,102,111, 99, 97,108, 0,117,110,105,116,115, 0,112,114,105,110, 99, +105,112, 97,108, 91, 50, 93, 0,107, 49, 0,107, 50, 0,107, 51, 0,112,111,115, 91, 50, 93, 0,112, 97,116, 95,109,105,110, 91, + 50, 93, 0,112, 97,116, 95,109, 97,120, 91, 50, 93, 0,115,101, 97,114, 99,104, 95,109,105,110, 91, 50, 93, 0,115,101, 97,114, + 99,104, 95,109, 97,120, 91, 50, 93, 0,109, 97,114,107,101,114,115,110,114, 0,108, 97,115,116, 95,109, 97,114,107,101,114, 0, + 42,109, 97,114,107,101,114,115, 0, 98,117,110,100,108,101, 95,112,111,115, 91, 51, 93, 0,112, 97,116, 95,102,108, 97,103, 0, +115,101, 97,114, 99,104, 95,102,108, 97,103, 0,102,114, 97,109,101,115, 95,108,105,109,105,116, 0,112, 97,116,116,101,114,110, + 95,109, 97,116, 99,104, 0,116,114, 97, 99,107,101,114, 0,112,121,114, 97,109,105,100, 95,108,101,118,101,108,115, 0,109,105, +110,105,109,117,109, 95, 99,111,114,114,101,108, 97,116,105,111,110, 0,100,101,102, 97,117,108,116, 95,116,114, 97, 99,107,101, +114, 0,100,101,102, 97,117,108,116, 95,112,121,114, 97,109,105,100, 95,108,101,118,101,108,115, 0,100,101,102, 97,117,108,116, + 95,109,105,110,105,109,117,109, 95, 99,111,114,114,101,108, 97,116,105,111,110, 0,100,101,102, 97,117,108,116, 95,112, 97,116, +116,101,114,110, 95,115,105,122,101, 0,100,101,102, 97,117,108,116, 95,115,101, 97,114, 99,104, 95,115,105,122,101, 0,100,101, +102, 97,117,108,116, 95,102,114, 97,109,101,115, 95,108,105,109,105,116, 0,100,101,102, 97,117,108,116, 95,109, 97,114,103,105, +110, 0,100,101,102, 97,117,108,116, 95,112, 97,116,116,101,114,110, 95,109, 97,116, 99,104, 0,100,101,102, 97,117,108,116, 95, +102,108, 97,103, 0,109,111,116,105,111,110, 95,102,108, 97,103, 0,107,101,121,102,114, 97,109,101, 49, 0,107,101,121,102,114, + 97,109,101, 50, 0,114,101,102,105,110,101, 95, 99, 97,109,101,114, 97, 95,105,110,116,114,105,110,115,105, 99,115, 0, 99,108, +101, 97,110, 95,102,114, 97,109,101,115, 0, 99,108,101, 97,110, 95, 97, 99,116,105,111,110, 0, 99,108,101, 97,110, 95,101,114, +114,111,114, 0,111, 98,106,101, 99,116, 95,100,105,115,116, 97,110, 99,101, 0,116,111,116, 95,116,114, 97, 99,107, 0, 97, 99, +116, 95,116,114, 97, 99,107, 0,109, 97,120,115, 99, 97,108,101, 0, 42,114,111,116, 95,116,114, 97, 99,107, 0,108,111, 99,105, +110,102, 0,115, 99, 97,108,101,105,110,102, 0,114,111,116,105,110,102, 0, 42,115, 99, 97,108,101,105, 98,117,102, 0,108, 97, +115,116, 95, 99, 97,109,101,114, 97, 0, 99, 97,109,110,114, 0, 42, 99, 97,109,101,114, 97,115, 0,116,114, 97, 99,107,115, 0, +114,101, 99,111,110,115,116,114,117, 99,116,105,111,110, 0,109,101,115,115, 97,103,101, 91, 50, 53, 54, 93, 0,116,111,116, 95, +115,101,103,109,101,110,116, 0, 42,115,101,103,109,101,110,116,115, 0,109, 97,120, 95,115,101,103,109,101,110,116, 0,116,111, +116, 97,108, 95,102,114, 97,109,101,115, 0,116,111,116, 95, 99,104, 97,110,110,101,108, 0,115,111,114,116, 95,109,101,116,104, +111,100, 0,115,111,114,116, 95,105,110,118,101,114,115,101, 0,115,101,116,116,105,110,103,115, 0, 99, 97,109,101,114, 97, 0, +115,116, 97, 98,105,108,105,122, 97,116,105,111,110, 0, 42, 97, 99,116, 95,116,114, 97, 99,107, 0,111, 98,106,101, 99,116,115, + 0,111, 98,106,101, 99,116,110,114, 0,116,111,116, 95,111, 98,106,101, 99,116, 0,100,111,112,101,115,104,101,101,116, 0, 42, + 98,114,117,115,104, 95,103,114,111,117,112, 0, 99,117,114,114,101,110,116, 95,102,114, 97,109,101, 0,100,105,115,112, 95,116, +121,112,101, 0,105,109, 97,103,101, 95,102,105,108,101,102,111,114,109, 97,116, 0,101,102,102,101, 99,116, 95,117,105, 0,112, +114,101,118,105,101,119, 95,105,100, 0,105,110,105,116, 95, 99,111,108,111,114, 95,116,121,112,101, 0,112, 97,100, 95,115, 0, +105,109, 97,103,101, 95,114,101,115,111,108,117,116,105,111,110, 0,115,117, 98,115,116,101,112,115, 0,105,110,105,116, 95, 99, +111,108,111,114, 91, 52, 93, 0, 42,105,110,105,116, 95,116,101,120,116,117,114,101, 0,105,110,105,116, 95,108, 97,121,101,114, +110, 97,109,101, 91, 54, 52, 93, 0,100,114,121, 95,115,112,101,101,100, 0, 99,111,108,111,114, 95,100,114,121, 95,116,104,114, +101,115,104,111,108,100, 0,100,101,112,116,104, 95, 99,108, 97,109,112, 0,100,105,115,112, 95,102, 97, 99,116,111,114, 0,115, +112,114,101, 97,100, 95,115,112,101,101,100, 0, 99,111,108,111,114, 95,115,112,114,101, 97,100, 95,115,112,101,101,100, 0,115, +104,114,105,110,107, 95,115,112,101,101,100, 0,100,114,105,112, 95,118,101,108, 0,100,114,105,112, 95, 97, 99, 99, 0,105,110, +102,108,117,101,110, 99,101, 95,115, 99, 97,108,101, 0,114, 97,100,105,117,115, 95,115, 99, 97,108,101, 0,119, 97,118,101, 95, +100, 97,109,112,105,110,103, 0,119, 97,118,101, 95,115,112,101,101,100, 0,119, 97,118,101, 95,116,105,109,101,115, 99, 97,108, +101, 0,119, 97,118,101, 95,115,112,114,105,110,103, 0,105,109, 97,103,101, 95,111,117,116,112,117,116, 95,112, 97,116,104, 91, + 49, 48, 50, 52, 93, 0,111,117,116,112,117,116, 95,110, 97,109,101, 91, 54, 52, 93, 0,111,117,116,112,117,116, 95,110, 97,109, +101, 50, 91, 54, 52, 93, 0, 42,112,109,100, 0,115,117,114,102, 97, 99,101,115, 0, 97, 99,116,105,118,101, 95,115,117,114, 0, +101,114,114,111,114, 91, 54, 52, 93, 0, 99,111,108,108,105,115,105,111,110, 0,119,101,116,110,101,115,115, 0,112, 97,114,116, +105, 99,108,101, 95,114, 97,100,105,117,115, 0,112, 97,114,116,105, 99,108,101, 95,115,109,111,111,116,104, 0,112, 97,105,110, +116, 95,100,105,115,116, 97,110, 99,101, 0, 42,112, 97,105,110,116, 95,114, 97,109,112, 0, 42,118,101,108, 95,114, 97,109,112, + 0,112,114,111,120,105,109,105,116,121, 95,102, 97,108,108,111,102,102, 0,114, 97,121, 95,100,105,114, 0,119, 97,118,101, 95, +102, 97, 99,116,111,114, 0,119, 97,118,101, 95, 99,108, 97,109,112, 0,109, 97,120, 95,118,101,108,111, 99,105,116,121, 0,115, +109,117,100,103,101, 95,115,116,114,101,110,103,116,104, 0, 0, 84, 89, 80, 69, 26, 2, 0, 0, 99,104, 97,114, 0,117, 99,104, + 97,114, 0,115,104,111,114,116, 0,117,115,104,111,114,116, 0,105,110,116, 0,108,111,110,103, 0,117,108,111,110,103, 0,102, +108,111, 97,116, 0,100,111,117, 98,108,101, 0,105,110,116, 54, 52, 95,116, 0,117,105,110,116, 54, 52, 95,116, 0,118,111,105, +100, 0, 76,105,110,107, 0, 76,105,110,107, 68, 97,116, 97, 0, 76,105,115,116, 66, 97,115,101, 0,118,101, 99, 50,115, 0,118, +101, 99, 50,102, 0,118,101, 99, 51,102, 0,114, 99,116,105, 0,114, 99,116,102, 0, 73, 68, 80,114,111,112,101,114,116,121, 68, + 97,116, 97, 0, 73, 68, 80,114,111,112,101,114,116,121, 0, 73, 68, 0, 76,105, 98,114, 97,114,121, 0, 70,105,108,101, 68, 97, +116, 97, 0, 80,114,101,118,105,101,119, 73,109, 97,103,101, 0, 73,112,111, 68,114,105,118,101,114, 0, 79, 98,106,101, 99,116, + 0, 73,112,111, 67,117,114,118,101, 0, 66, 80,111,105,110,116, 0, 66,101,122, 84,114,105,112,108,101, 0, 73,112,111, 0, 75, +101,121, 66,108,111, 99,107, 0, 75,101,121, 0, 65,110,105,109, 68, 97,116, 97, 0, 84,101,120,116, 76,105,110,101, 0, 84,101, +120,116, 77, 97,114,107,101,114, 0, 84,101,120,116, 0, 80, 97, 99,107,101,100, 70,105,108,101, 0, 67, 97,109,101,114, 97, 0, + 73,109, 97,103,101, 85,115,101,114, 0, 83, 99,101,110,101, 0, 73,109, 97,103,101, 0, 71, 80, 85, 84,101,120,116,117,114,101, + 0, 97,110,105,109, 0, 82,101,110,100,101,114, 82,101,115,117,108,116, 0, 77, 84,101,120, 0, 84,101,120, 0, 80,108,117,103, +105,110, 84,101,120, 0, 67, 66, 68, 97,116, 97, 0, 67,111,108,111,114, 66, 97,110,100, 0, 69,110,118, 77, 97,112, 0, 73,109, + 66,117,102, 0, 80,111,105,110,116, 68,101,110,115,105,116,121, 0, 67,117,114,118,101, 77, 97,112,112,105,110,103, 0, 86,111, +120,101,108, 68, 97,116, 97, 0, 79, 99,101, 97,110, 84,101,120, 0, 98, 78,111,100,101, 84,114,101,101, 0, 84,101,120, 77, 97, +112,112,105,110,103, 0, 67,111,108,111,114, 77, 97,112,112,105,110,103, 0, 76, 97,109,112, 0, 86,111,108,117,109,101, 83,101, +116,116,105,110,103,115, 0, 71, 97,109,101, 83,101,116,116,105,110,103,115, 0, 77, 97,116,101,114,105, 97,108, 0, 71,114,111, +117,112, 0, 86, 70,111,110,116, 0, 86, 70,111,110,116, 68, 97,116, 97, 0, 77,101,116, 97, 69,108,101,109, 0, 66,111,117,110, +100, 66,111,120, 0, 77,101,116, 97, 66, 97,108,108, 0, 78,117,114, 98, 0, 67,104, 97,114, 73,110,102,111, 0, 84,101,120,116, + 66,111,120, 0, 69,100,105,116, 78,117,114, 98, 0, 71, 72, 97,115,104, 0, 67,117,114,118,101, 0, 80, 97,116,104, 0, 83,101, +108, 66,111,120, 0, 69,100,105,116, 70,111,110,116, 0, 77,101,115,104, 0, 77, 83,101,108,101, 99,116, 0, 77, 80,111,108,121, + 0, 77, 84,101,120, 80,111,108,121, 0, 77, 76,111,111,112, 0, 77, 76,111,111,112, 85, 86, 0, 77, 76,111,111,112, 67,111,108, + 0, 77, 70, 97, 99,101, 0, 77, 84, 70, 97, 99,101, 0, 84, 70, 97, 99,101, 0, 77, 86,101,114,116, 0, 77, 69,100,103,101, 0, + 77, 68,101,102,111,114,109, 86,101,114,116, 0, 77, 67,111,108, 0, 77, 83,116,105, 99,107,121, 0, 66, 77, 69,100,105,116, 77, +101,115,104, 0, 67,117,115,116,111,109, 68, 97,116, 97, 0, 77,117,108,116,105,114,101,115, 0, 77, 68,101,102,111,114,109, 87, +101,105,103,104,116, 0, 77, 70,108,111, 97,116, 80,114,111,112,101,114,116,121, 0, 77, 73,110,116, 80,114,111,112,101,114,116, +121, 0, 77, 83,116,114,105,110,103, 80,114,111,112,101,114,116,121, 0, 79,114,105,103, 83,112, 97, 99,101, 70, 97, 99,101, 0, + 79,114,105,103, 83,112, 97, 99,101, 76,111,111,112, 0, 77, 68,105,115,112,115, 0, 77,117,108,116,105,114,101,115, 67,111,108, + 0, 77,117,108,116,105,114,101,115, 67,111,108, 70, 97, 99,101, 0, 77,117,108,116,105,114,101,115, 70, 97, 99,101, 0, 77,117, +108,116,105,114,101,115, 69,100,103,101, 0, 77,117,108,116,105,114,101,115, 76,101,118,101,108, 0, 77, 82,101, 99, 97,115,116, + 0, 71,114,105,100, 80, 97,105,110,116, 77, 97,115,107, 0, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,112,112, +105,110,103, 73,110,102,111, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,117, 98,115,117,114,102, 77,111,100,105,102, +105,101,114, 68, 97,116, 97, 0, 76, 97,116,116,105, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,117,114,118, +101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66,117,105,108,100, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, + 77, 97,115,107, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 65,114,114, 97,121, 77,111,100,105,102,105,101,114, 68, 97, +116, 97, 0, 77,105,114,114,111,114, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,100,103,101, 83,112,108,105,116, 77, +111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66,101,118,101,108, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66, 77, +101,115,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,107,101, 77,111,100,105,102,105,101,114, 68, 97,116, + 97, 0, 83,109,111,107,101, 68,111,109, 97,105,110, 83,101,116,116,105,110,103,115, 0, 83,109,111,107,101, 70,108,111,119, 83, +101,116,116,105,110,103,115, 0, 83,109,111,107,101, 67,111,108,108, 83,101,116,116,105,110,103,115, 0, 68,105,115,112,108, 97, + 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 85, 86, 80,114,111,106,101, 99,116, 77,111,100,105,102,105,101,114, + 68, 97,116, 97, 0, 68,101, 99,105,109, 97,116,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,111,116,104, + 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67, 97,115,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87, 97, +118,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 65,114,109, 97,116,117,114,101, 77,111,100,105,102,105,101,114, 68, + 97,116, 97, 0, 72,111,111,107, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,111,102,116, 98,111,100,121, 77,111,100, +105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116, +104, 0, 67,108,111,116,104, 83,105,109, 83,101,116,116,105,110,103,115, 0, 67,108,111,116,104, 67,111,108,108, 83,101,116,116, +105,110,103,115, 0, 80,111,105,110,116, 67, 97, 99,104,101, 0, 67,111,108,108,105,115,105,111,110, 77,111,100,105,102,105,101, +114, 68, 97,116, 97, 0, 66, 86, 72, 84,114,101,101, 0, 83,117,114,102, 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, + 97, 0, 68,101,114,105,118,101,100, 77,101,115,104, 0, 66, 86, 72, 84,114,101,101, 70,114,111,109, 77,101,115,104, 0, 66,111, +111,108,101, 97,110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 68,101,102, 73,110,102,108,117,101,110, 99,101, 0, + 77, 68,101,102, 67,101,108,108, 0, 77,101,115,104, 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, + 80, 97,114,116,105, 99,108,101, 83,121,115,116,101,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, + 99,108,101, 83,121,115,116,101,109, 0, 80, 97,114,116,105, 99,108,101, 73,110,115,116, 97,110, 99,101, 77,111,100,105,102,105, +101,114, 68, 97,116, 97, 0, 69,120,112,108,111,100,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77,117,108,116,105, +114,101,115, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 70,108,117,105,100,115,105,109, 77,111,100,105,102,105,101,114, + 68, 97,116, 97, 0, 70,108,117,105,100,115,105,109, 83,101,116,116,105,110,103,115, 0, 83,104,114,105,110,107,119,114, 97,112, + 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,105,109,112,108,101, 68,101,102,111,114,109, 77,111,100,105,102,105,101, +114, 68, 97,116, 97, 0, 83,104, 97,112,101, 75,101,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,111,108,105,100, +105,102,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83, 99,114,101,119, 77,111,100,105,102,105,101,114, 68, 97,116, + 97, 0, 79, 99,101, 97,110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 79, 99,101, 97,110, 0, 79, 99,101, 97,110, 67, + 97, 99,104,101, 0, 87, 97,114,112, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87,101,105,103,104,116, 86, 71, 69,100, +105,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87,101,105,103,104,116, 86, 71, 77,105,120, 77,111,100,105,102,105, +101,114, 68, 97,116, 97, 0, 87,101,105,103,104,116, 86, 71, 80,114,111,120,105,109,105,116,121, 77,111,100,105,102,105,101,114, + 68, 97,116, 97, 0, 68,121,110, 97,109,105, 99, 80, 97,105,110,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,121, +110, 97,109,105, 99, 80, 97,105,110,116, 67, 97,110,118, 97,115, 83,101,116,116,105,110,103,115, 0, 68,121,110, 97,109,105, 99, + 80, 97,105,110,116, 66,114,117,115,104, 83,101,116,116,105,110,103,115, 0, 82,101,109,101,115,104, 77,111,100,105,102,105,101, +114, 68, 97,116, 97, 0, 69,100,105,116, 76, 97,116,116, 0, 76, 97,116,116,105, 99,101, 0, 98, 68,101,102,111,114,109, 71,114, +111,117,112, 0, 83, 99,117,108,112,116, 83,101,115,115,105,111,110, 0, 98, 65, 99,116,105,111,110, 0, 98, 80,111,115,101, 0, + 98, 71, 80,100, 97,116, 97, 0, 98, 65,110,105,109, 86,105,122, 83,101,116,116,105,110,103,115, 0, 98, 77,111,116,105,111,110, + 80, 97,116,104, 0, 66,117,108,108,101,116, 83,111,102,116, 66,111,100,121, 0, 80, 97,114,116, 68,101,102,108,101, 99,116, 0, + 83,111,102,116, 66,111,100,121, 0, 79, 98, 72,111,111,107, 0, 68,117,112,108,105, 79, 98,106,101, 99,116, 0, 82, 78, 71, 0, + 69,102,102,101, 99,116,111,114, 87,101,105,103,104,116,115, 0, 80, 84, 67, 97, 99,104,101, 69,120,116,114, 97, 0, 80, 84, 67, + 97, 99,104,101, 77,101,109, 0, 80, 84, 67, 97, 99,104,101, 69,100,105,116, 0, 83, 66, 86,101,114,116,101,120, 0, 66,111,100, +121, 80,111,105,110,116, 0, 66,111,100,121, 83,112,114,105,110,103, 0, 83, 66, 83, 99,114, 97,116, 99,104, 0, 70,108,117,105, +100, 86,101,114,116,101,120, 86,101,108,111, 99,105,116,121, 0, 87,111,114,108,100, 0, 66, 97,115,101, 0, 65,118,105, 67,111, +100,101, 99, 68, 97,116, 97, 0, 81,117,105, 99,107,116,105,109,101, 67,111,100,101, 99, 68, 97,116, 97, 0, 81,117,105, 99,107, +116,105,109,101, 67,111,100,101, 99, 83,101,116,116,105,110,103,115, 0, 70, 70, 77,112,101,103, 67,111,100,101, 99, 68, 97,116, + 97, 0, 65,117,100,105,111, 68, 97,116, 97, 0, 83, 99,101,110,101, 82,101,110,100,101,114, 76, 97,121,101,114, 0, 73,109, 97, +103,101, 70,111,114,109, 97,116, 68, 97,116, 97, 0, 82,101,110,100,101,114, 68, 97,116, 97, 0, 82,101,110,100,101,114, 80,114, +111,102,105,108,101, 0, 71, 97,109,101, 68,111,109,101, 0, 71, 97,109,101, 70,114, 97,109,105,110,103, 0, 82,101, 99, 97,115, +116, 68, 97,116, 97, 0, 71, 97,109,101, 68, 97,116, 97, 0, 84,105,109,101, 77, 97,114,107,101,114, 0, 80, 97,105,110,116, 0, + 66,114,117,115,104, 0, 73,109, 97,103,101, 80, 97,105,110,116, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108, +101, 66,114,117,115,104, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 69,100,105,116, 83,101,116,116,105,110,103,115, 0, + 83, 99,117,108,112,116, 0, 85,118, 83, 99,117,108,112,116, 0, 86, 80, 97,105,110,116, 0, 84,114, 97,110,115,102,111,114,109, + 79,114,105,101,110,116, 97,116,105,111,110, 0, 85,110,105,102,105,101,100, 80, 97,105,110,116, 83,101,116,116,105,110,103,115, + 0, 84,111,111,108, 83,101,116,116,105,110,103,115, 0, 98, 83,116, 97,116,115, 0, 85,110,105,116, 83,101,116,116,105,110,103, +115, 0, 80,104,121,115,105, 99,115, 83,101,116,116,105,110,103,115, 0, 69,100,105,116,105,110,103, 0, 83, 99,101,110,101, 83, +116, 97,116,115, 0, 68, 97,103, 70,111,114,101,115,116, 0, 77,111,118,105,101, 67,108,105,112, 0, 66, 71,112,105, 99, 0, 77, +111,118,105,101, 67,108,105,112, 85,115,101,114, 0, 82,101,103,105,111,110, 86,105,101,119, 51, 68, 0, 82,101,110,100,101,114, + 73,110,102,111, 0, 82,101,110,100,101,114, 69,110,103,105,110,101, 0, 86,105,101,119, 68,101,112,116,104,115, 0, 83,109,111, +111,116,104, 86,105,101,119, 83,116,111,114,101, 0,119,109, 84,105,109,101,114, 0, 86,105,101,119, 51, 68, 0, 83,112, 97, 99, +101, 76,105,110,107, 0, 86,105,101,119, 50, 68, 0, 83,112, 97, 99,101, 73,110,102,111, 0, 83,112, 97, 99,101, 73,112,111, 0, + 98, 68,111,112,101, 83,104,101,101,116, 0, 83,112, 97, 99,101, 66,117,116,115, 0, 83,112, 97, 99,101, 83,101,113, 0, 70,105, +108,101, 83,101,108,101, 99,116, 80, 97,114, 97,109,115, 0, 83,112, 97, 99,101, 70,105,108,101, 0, 70,105,108,101, 76,105,115, +116, 0,119,109, 79,112,101,114, 97,116,111,114, 0, 70,105,108,101, 76, 97,121,111,117,116, 0, 83,112, 97, 99,101, 79,111,112, +115, 0, 84,114,101,101, 83,116,111,114,101, 0, 84,114,101,101, 83,116,111,114,101, 69,108,101,109, 0, 83,112, 97, 99,101, 73, +109, 97,103,101, 0, 83, 99,111,112,101,115, 0, 72,105,115,116,111,103,114, 97,109, 0, 83,112, 97, 99,101, 78,108, 97, 0, 83, +112, 97, 99,101, 84,101,120,116, 0, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 83, 99,114,105,112,116, 0, 83,112, 97, 99, +101, 84,105,109,101, 67, 97, 99,104,101, 0, 83,112, 97, 99,101, 84,105,109,101, 0, 83,112, 97, 99,101, 78,111,100,101, 0, 83, +112, 97, 99,101, 76,111,103,105, 99, 0, 67,111,110,115,111,108,101, 76,105,110,101, 0, 83,112, 97, 99,101, 67,111,110,115,111, +108,101, 0, 83,112, 97, 99,101, 85,115,101,114, 80,114,101,102, 0, 83,112, 97, 99,101, 67,108,105,112, 0, 77,111,118,105,101, + 67,108,105,112, 83, 99,111,112,101,115, 0,117,105, 70,111,110,116, 0,117,105, 70,111,110,116, 83,116,121,108,101, 0,117,105, + 83,116,121,108,101, 0,117,105, 87,105,100,103,101,116, 67,111,108,111,114,115, 0,117,105, 87,105,100,103,101,116, 83,116, 97, +116,101, 67,111,108,111,114,115, 0,117,105, 80, 97,110,101,108, 67,111,108,111,114,115, 0, 84,104,101,109,101, 85, 73, 0, 84, +104,101,109,101, 83,112, 97, 99,101, 0, 84,104,101,109,101, 87,105,114,101, 67,111,108,111,114, 0, 98, 84,104,101,109,101, 0, + 98, 65,100,100,111,110, 0, 83,111,108,105,100, 76,105,103,104,116, 0, 85,115,101,114, 68,101,102, 0, 98, 83, 99,114,101,101, +110, 0, 83, 99,114, 86,101,114,116, 0, 83, 99,114, 69,100,103,101, 0, 80, 97,110,101,108, 0, 80, 97,110,101,108, 84,121,112, +101, 0,117,105, 76, 97,121,111,117,116, 0, 83, 99,114, 65,114,101, 97, 0, 83,112, 97, 99,101, 84,121,112,101, 0, 65, 82,101, +103,105,111,110, 0, 65, 82,101,103,105,111,110, 84,121,112,101, 0, 70,105,108,101, 71,108,111, 98, 97,108, 0, 83,116,114,105, +112, 69,108,101,109, 0, 83,116,114,105,112, 67,114,111,112, 0, 83,116,114,105,112, 84,114, 97,110,115,102,111,114,109, 0, 83, +116,114,105,112, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 83,116,114,105,112, 80,114,111,120,121, 0, 83,116,114,105, +112, 0, 80,108,117,103,105,110, 83,101,113, 0, 83,101,113,117,101,110, 99,101, 0, 98, 83,111,117,110,100, 0, 77,101,116, 97, + 83,116, 97, 99,107, 0, 87,105,112,101, 86, 97,114,115, 0, 71,108,111,119, 86, 97,114,115, 0, 84,114, 97,110,115,102,111,114, +109, 86, 97,114,115, 0, 83,111,108,105,100, 67,111,108,111,114, 86, 97,114,115, 0, 83,112,101,101,100, 67,111,110,116,114,111, +108, 86, 97,114,115, 0, 69,102,102,101, 99,116, 0, 66,117,105,108,100, 69,102,102, 0, 80, 97,114,116, 69,102,102, 0, 80, 97, +114,116,105, 99,108,101, 0, 87, 97,118,101, 69,102,102, 0, 98, 80,114,111,112,101,114,116,121, 0, 98, 78,101, 97,114, 83,101, +110,115,111,114, 0, 98, 77,111,117,115,101, 83,101,110,115,111,114, 0, 98, 84,111,117, 99,104, 83,101,110,115,111,114, 0, 98, + 75,101,121, 98,111, 97,114,100, 83,101,110,115,111,114, 0, 98, 80,114,111,112,101,114,116,121, 83,101,110,115,111,114, 0, 98, + 65, 99,116,117, 97,116,111,114, 83,101,110,115,111,114, 0, 98, 68,101,108, 97,121, 83,101,110,115,111,114, 0, 98, 67,111,108, +108,105,115,105,111,110, 83,101,110,115,111,114, 0, 98, 82, 97,100, 97,114, 83,101,110,115,111,114, 0, 98, 82, 97,110,100,111, +109, 83,101,110,115,111,114, 0, 98, 82, 97,121, 83,101,110,115,111,114, 0, 98, 65,114,109, 97,116,117,114,101, 83,101,110,115, +111,114, 0, 98, 77,101,115,115, 97,103,101, 83,101,110,115,111,114, 0, 98, 83,101,110,115,111,114, 0, 98, 67,111,110,116,114, +111,108,108,101,114, 0, 98, 74,111,121,115,116,105, 99,107, 83,101,110,115,111,114, 0, 98, 69,120,112,114,101,115,115,105,111, +110, 67,111,110,116, 0, 98, 80,121,116,104,111,110, 67,111,110,116, 0, 98, 65, 99,116,117, 97,116,111,114, 0, 98, 65,100,100, + 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 65, 99,116,105,111,110, 65, 99,116,117, 97,116,111,114, 0, 83, +111,117,110,100, 51, 68, 0, 98, 83,111,117,110,100, 65, 99,116,117, 97,116,111,114, 0, 98, 69,100,105,116, 79, 98,106,101, 99, +116, 65, 99,116,117, 97,116,111,114, 0, 98, 83, 99,101,110,101, 65, 99,116,117, 97,116,111,114, 0, 98, 80,114,111,112,101,114, +116,121, 65, 99,116,117, 97,116,111,114, 0, 98, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 73,112,111, 65, + 99,116,117, 97,116,111,114, 0, 98, 67, 97,109,101,114, 97, 65, 99,116,117, 97,116,111,114, 0, 98, 67,111,110,115,116,114, 97, +105,110,116, 65, 99,116,117, 97,116,111,114, 0, 98, 71,114,111,117,112, 65, 99,116,117, 97,116,111,114, 0, 98, 82, 97,110,100, +111,109, 65, 99,116,117, 97,116,111,114, 0, 98, 77,101,115,115, 97,103,101, 65, 99,116,117, 97,116,111,114, 0, 98, 71, 97,109, +101, 65, 99,116,117, 97,116,111,114, 0, 98, 86,105,115,105, 98,105,108,105,116,121, 65, 99,116,117, 97,116,111,114, 0, 98, 84, +119,111, 68, 70,105,108,116,101,114, 65, 99,116,117, 97,116,111,114, 0, 98, 80, 97,114,101,110,116, 65, 99,116,117, 97,116,111, +114, 0, 98, 83,116, 97,116,101, 65, 99,116,117, 97,116,111,114, 0, 98, 65,114,109, 97,116,117,114,101, 65, 99,116,117, 97,116, +111,114, 0, 98, 83,116,101,101,114,105,110,103, 65, 99,116,117, 97,116,111,114, 0, 71,114,111,117,112, 79, 98,106,101, 99,116, + 0, 66,111,110,101, 0, 98, 65,114,109, 97,116,117,114,101, 0, 98, 77,111,116,105,111,110, 80, 97,116,104, 86,101,114,116, 0, + 98, 80,111,115,101, 67,104, 97,110,110,101,108, 0, 98, 73, 75, 80, 97,114, 97,109, 0, 98, 73,116, 97,115, 99, 0, 98, 65, 99, +116,105,111,110, 71,114,111,117,112, 0, 83,112, 97, 99,101, 65, 99,116,105,111,110, 0, 98, 65, 99,116,105,111,110, 67,104, 97, +110,110,101,108, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 67,104, 97,110,110,101,108, 0, 98, 67,111,110,115,116,114, 97, +105,110,116, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 84, 97,114,103,101,116, 0, 98, 80,121,116,104,111,110, 67,111,110, +115,116,114, 97,105,110,116, 0, 98, 75,105,110,101,109, 97,116,105, 99, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,112, +108,105,110,101, 73, 75, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97, 99,107, 84,111, 67,111,110,115,116,114, 97, +105,110,116, 0, 98, 82,111,116, 97,116,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 97,116, +101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,107,101, 67,111,110,115,116,114, 97, +105,110,116, 0, 98, 83, 97,109,101, 86,111,108,117,109,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97,110,115, + 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 77,105,110, 77, 97,120, 67,111,110,115,116,114, 97,105,110,116, + 0, 98, 65, 99,116,105,111,110, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99,107, 84,114, 97, 99,107, 67,111,110, +115,116,114, 97,105,110,116, 0, 98, 68, 97,109,112, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 70,111, +108,108,111,119, 80, 97,116,104, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,116,114,101,116, 99,104, 84,111, 67,111,110, +115,116,114, 97,105,110,116, 0, 98, 82,105,103,105,100, 66,111,100,121, 74,111,105,110,116, 67,111,110,115,116,114, 97,105,110, +116, 0, 98, 67,108, 97,109,112, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,104,105,108,100, 79,102, 67,111,110, +115,116,114, 97,105,110,116, 0, 98, 84,114, 97,110,115,102,111,114,109, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 80,105, +118,111,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110, +116, 0, 98, 82,111,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,109,105,116, + 67,111,110,115,116,114, 97,105,110,116, 0, 98, 68,105,115,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, + 98, 83,104,114,105,110,107,119,114, 97,112, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 70,111,108,108,111,119, 84,114, 97, + 99,107, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67, 97,109,101,114, 97, 83,111,108,118,101,114, 67,111,110,115,116,114, + 97,105,110,116, 0, 98, 79, 98,106,101, 99,116, 83,111,108,118,101,114, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99, +116,105,111,110, 77,111,100,105,102,105,101,114, 0, 98, 65, 99,116,105,111,110, 83,116,114,105,112, 0, 98, 78,111,100,101, 83, +116, 97, 99,107, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 0, 98, 78,111,100,101, 76,105,110,107, 0, 98, 78,111,100,101, + 80,114,101,118,105,101,119, 0, 98, 78,111,100,101, 0,117,105, 66,108,111, 99,107, 0, 98, 78,111,100,101, 84,121,112,101, 0, + 98, 78,111,100,101, 84,114,101,101, 69,120,101, 99, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 86, 97,108,117,101, 73,110, +116, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 86, 97,108,117,101, 70,108,111, 97,116, 0, 98, 78,111,100,101, 83,111, 99, +107,101,116, 86, 97,108,117,101, 66,111,111,108,101, 97,110, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 86, 97,108,117,101, + 86,101, 99,116,111,114, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 86, 97,108,117,101, 82, 71, 66, 65, 0, 78,111,100,101, + 70,114, 97,109,101, 0, 78,111,100,101, 73,109, 97,103,101, 65,110,105,109, 0, 67,111,108,111,114, 67,111,114,114,101, 99,116, +105,111,110, 68, 97,116, 97, 0, 78,111,100,101, 67,111,108,111,114, 67,111,114,114,101, 99,116,105,111,110, 0, 78,111,100,101, + 66,111,107,101,104, 73,109, 97,103,101, 0, 78,111,100,101, 66,111,120, 77, 97,115,107, 0, 78,111,100,101, 69,108,108,105,112, +115,101, 77, 97,115,107, 0, 78,111,100,101, 73,109, 97,103,101, 76, 97,121,101,114, 0, 78,111,100,101, 66,108,117,114, 68, 97, +116, 97, 0, 78,111,100,101, 68, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 66,105,108, 97,116,101,114, 97,108, 66,108, +117,114, 68, 97,116, 97, 0, 78,111,100,101, 72,117,101, 83, 97,116, 0, 78,111,100,101, 73,109, 97,103,101, 70,105,108,101, 0, + 78,111,100,101, 73,109, 97,103,101, 77,117,108,116,105, 70,105,108,101, 0, 78,111,100,101, 73,109, 97,103,101, 77,117,108,116, +105, 70,105,108,101, 83,111, 99,107,101,116, 0, 78,111,100,101, 67,104,114,111,109, 97, 0, 78,111,100,101, 84,119,111, 88, 89, +115, 0, 78,111,100,101, 84,119,111, 70,108,111, 97,116,115, 0, 78,111,100,101, 71,101,111,109,101,116,114,121, 0, 78,111,100, +101, 86,101,114,116,101,120, 67,111,108, 0, 78,111,100,101, 68,101,102,111, 99,117,115, 0, 78,111,100,101, 83, 99,114,105,112, +116, 68,105, 99,116, 0, 78,111,100,101, 71,108, 97,114,101, 0, 78,111,100,101, 84,111,110,101,109, 97,112, 0, 78,111,100,101, + 76,101,110,115, 68,105,115,116, 0, 78,111,100,101, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 78,111,100,101, 67,111, +108,111,114,115,112,105,108,108, 0, 78,111,100,101, 84,101,120, 66, 97,115,101, 0, 78,111,100,101, 84,101,120, 83,107,121, 0, + 78,111,100,101, 84,101,120, 73,109, 97,103,101, 0, 78,111,100,101, 84,101,120, 67,104,101, 99,107,101,114, 0, 78,111,100,101, + 84,101,120, 69,110,118,105,114,111,110,109,101,110,116, 0, 78,111,100,101, 84,101,120, 71,114, 97,100,105,101,110,116, 0, 78, +111,100,101, 84,101,120, 78,111,105,115,101, 0, 78,111,100,101, 84,101,120, 86,111,114,111,110,111,105, 0, 78,111,100,101, 84, +101,120, 77,117,115,103,114, 97,118,101, 0, 78,111,100,101, 84,101,120, 87, 97,118,101, 0, 78,111,100,101, 84,101,120, 77, 97, +103,105, 99, 0, 78,111,100,101, 83,104, 97,100,101,114, 65,116,116,114,105, 98,117,116,101, 0, 84,101,120, 78,111,100,101, 79, +117,116,112,117,116, 0, 67,117,114,118,101, 77, 97,112, 80,111,105,110,116, 0, 67,117,114,118,101, 77, 97,112, 0, 66,114,117, +115,104, 67,108,111,110,101, 0, 67,117,115,116,111,109, 68, 97,116, 97, 76, 97,121,101,114, 0, 67,117,115,116,111,109, 68, 97, +116, 97, 69,120,116,101,114,110, 97,108, 0, 72, 97,105,114, 75,101,121, 0, 80, 97,114,116,105, 99,108,101, 75,101,121, 0, 66, +111,105,100, 80, 97,114,116,105, 99,108,101, 0, 66,111,105,100, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,112,114, +105,110,103, 0, 67,104,105,108,100, 80, 97,114,116,105, 99,108,101, 0, 80, 97,114,116,105, 99,108,101, 84, 97,114,103,101,116, + 0, 80, 97,114,116,105, 99,108,101, 68,117,112,108,105, 87,101,105,103,104,116, 0, 80, 97,114,116,105, 99,108,101, 68, 97,116, + 97, 0, 83, 80, 72, 70,108,117,105,100, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 83,101,116,116,105, +110,103,115, 0, 66,111,105,100, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 67, 97, 99,104,101, 75,101, +121, 0, 75, 68, 84,114,101,101, 0, 80, 97,114,116,105, 99,108,101, 68,114, 97,119, 68, 97,116, 97, 0, 76,105,110,107, 78,111, +100,101, 0, 98, 71, 80, 68,115,112,111,105,110,116, 0, 98, 71, 80, 68,115,116,114,111,107,101, 0, 98, 71, 80, 68,102,114, 97, +109,101, 0, 98, 71, 80, 68,108, 97,121,101,114, 0, 82,101,112,111,114,116, 76,105,115,116, 0,119,109, 87,105,110,100,111,119, + 77, 97,110, 97,103,101,114, 0,119,109, 87,105,110,100,111,119, 0,119,109, 75,101,121, 67,111,110,102,105,103, 0,119,109, 69, +118,101,110,116, 0,119,109, 83,117, 98, 87,105,110,100,111,119, 0,119,109, 71,101,115,116,117,114,101, 0,119,109, 75,101,121, + 77, 97,112, 73,116,101,109, 0, 80,111,105,110,116,101,114, 82, 78, 65, 0,119,109, 75,101,121, 77, 97,112, 68,105,102,102, 73, +116,101,109, 0,119,109, 75,101,121, 77, 97,112, 0,119,109, 79,112,101,114, 97,116,111,114, 84,121,112,101, 0, 70, 77,111,100, +105,102,105,101,114, 0, 70, 77,111,100, 95, 71,101,110,101,114, 97,116,111,114, 0, 70, 77,111,100, 95, 70,117,110, 99,116,105, +111,110, 71,101,110,101,114, 97,116,111,114, 0, 70, 67, 77, 95, 69,110,118,101,108,111,112,101, 68, 97,116, 97, 0, 70, 77,111, +100, 95, 69,110,118,101,108,111,112,101, 0, 70, 77,111,100, 95, 67,121, 99,108,101,115, 0, 70, 77,111,100, 95, 80,121,116,104, +111,110, 0, 70, 77,111,100, 95, 76,105,109,105,116,115, 0, 70, 77,111,100, 95, 78,111,105,115,101, 0, 70, 77,111,100, 95, 83, +116,101,112,112,101,100, 0, 68,114,105,118,101,114, 84, 97,114,103,101,116, 0, 68,114,105,118,101,114, 86, 97,114, 0, 67,104, + 97,110,110,101,108, 68,114,105,118,101,114, 0, 70, 80,111,105,110,116, 0, 70, 67,117,114,118,101, 0, 65,110,105,109, 77, 97, +112, 80, 97,105,114, 0, 65,110,105,109, 77, 97,112,112,101,114, 0, 78,108, 97, 83,116,114,105,112, 0, 78,108, 97, 84,114, 97, + 99,107, 0, 75, 83, 95, 80, 97,116,104, 0, 75,101,121,105,110,103, 83,101,116, 0, 65,110,105,109, 79,118,101,114,114,105,100, +101, 0, 73,100, 65,100,116, 84,101,109,112,108, 97,116,101, 0, 66,111,105,100, 82,117,108,101, 0, 66,111,105,100, 82,117,108, +101, 71,111, 97,108, 65,118,111,105,100, 0, 66,111,105,100, 82,117,108,101, 65,118,111,105,100, 67,111,108,108,105,115,105,111, +110, 0, 66,111,105,100, 82,117,108,101, 70,111,108,108,111,119, 76,101, 97,100,101,114, 0, 66,111,105,100, 82,117,108,101, 65, +118,101,114, 97,103,101, 83,112,101,101,100, 0, 66,111,105,100, 82,117,108,101, 70,105,103,104,116, 0, 66,111,105,100, 83,116, + 97,116,101, 0, 70, 76, 85, 73, 68, 95, 51, 68, 0, 87, 84, 85, 82, 66, 85, 76, 69, 78, 67, 69, 0, 83,112,101, 97,107,101,114, + 0, 77,111,118,105,101, 67,108,105,112, 80,114,111,120,121, 0, 77,111,118,105,101, 67,108,105,112, 67, 97, 99,104,101, 0, 77, +111,118,105,101, 84,114, 97, 99,107,105,110,103, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 84,114, 97, 99,107, 0, + 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 77, 97,114,107,101,114, 0, 77,111,118,105,101, 82,101, 99,111,110,115,116, +114,117, 99,116,101,100, 67, 97,109,101,114, 97, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 67, 97,109,101,114, 97, + 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 83,101,116,116,105,110,103,115, 0, 77,111,118,105,101, 84,114, 97, 99, +107,105,110,103, 83,116, 97, 98,105,108,105,122, 97,116,105,111,110, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 82, +101, 99,111,110,115,116,114,117, 99,116,105,111,110, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 79, 98,106,101, 99, +116, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 83,116, 97,116,115, 0, 77,111,118,105,101, 84,114, 97, 99,107,105, +110,103, 68,111,112,101,115,104,101,101,116, 67,104, 97,110,110,101,108, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, + 68,111,112,101,115,104,101,101,116, 0, 68,121,110, 97,109,105, 99, 80, 97,105,110,116, 83,117,114,102, 97, 99,101, 0, 80, 97, +105,110,116, 83,117,114,102, 97, 99,101, 68, 97,116, 97, 0, 0, 84, 76, 69, 78, 1, 0, 1, 0, 2, 0, 2, 0, 4, 0, 4, 0, 4, 0, 4, 0, 8, 0, 8, 0, 8, 0, 0, 0, 16, 0, 24, 0, 16, 0, 4, 0, 8, 0, 12, 0, 16, 0, 16, 0, 32, 0,128, 0, 120, 0,144, 8, 0, 0, 40, 0,144, 0,112, 5,112, 0, 36, 0, 56, 0,160, 0,192, 0,224, 0, 96, 0, 40, 0, 48, 0,224, 0, 16, 0,200, 0, 40, 0,216, 11, 48, 5, 0, 0, 0, 0, 0, 0, 56, 1,168, 1,216, 4, 24, 0, 8, 3,200, 0, 0, 0,104, 0, - 64, 1, 56, 4, 80, 0, 24, 1,144, 0, 56, 3, 16, 2, 88, 0, 16, 0,128, 3,152, 0,136, 4, 0, 0,104, 0,104, 0, 0, 1, + 64, 1, 56, 4, 80, 0, 32, 1,144, 0, 56, 3, 16, 2, 88, 0, 16, 0,128, 3,152, 0,136, 4, 0, 0,104, 0,104, 0, 0, 1, 80, 0, 8, 0, 16, 0, 32, 0, 0, 0, 16, 2, 0, 0, 0, 0, 0, 0, 16, 5, 8, 0, 12, 0, 16, 0, 8, 0, 12, 0, 4, 0, 20, 0, 48, 0, 64, 0, 20, 0, 12, 0, 16, 0, 4, 0, 8, 0, 0, 0,184, 0,160, 1, 8, 0, 4, 0, 4, 0, 0, 1, 32, 0, 8, 0, 24, 0, 16, 0, 64, 0, 24, 0, 12, 0, 64, 0, 4, 0, 16, 0,112, 0,200, 0,136, 0,192, 0,192, 0,128, 0,192, 0, @@ -10935,8 +10945,8 @@ char datatoc_startup_blend[] = { 144, 0,152, 2,136, 0,192, 0,120, 0,128, 0,224, 4,208, 0,200, 0,112, 0,208, 0,144, 0, 16, 5, 0, 0, 0, 0, 48, 1, 104, 1,160, 1,104, 1,136, 0,104, 0,112, 0,128, 0, 16, 0, 96, 1, 88, 0, 0, 0,200, 0,216, 0,152, 0, 48, 0, 24, 0, 120, 0,152, 0,216, 1, 0, 1,184, 0, 0, 0, 72, 0, 32, 0,176, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 12, 0, 24, 2, - 40, 0,184, 0,152, 0, 64, 0, 72, 0, 32, 0,128, 0, 24, 0, 56, 9, 64, 0, 24, 0, 16, 0, 56, 0,168, 0, 96, 0, 24, 0, - 96, 6, 48, 0, 16, 0,168, 0, 96, 0, 24, 0, 56, 0,120, 0, 24, 0,240, 1, 32, 0, 8, 0, 24, 0, 80, 8, 0, 0, 0, 0, + 40, 0,184, 0,152, 0, 64, 0, 72, 0, 32, 0,128, 0, 24, 0, 56, 9, 64, 0, 24, 0, 16, 0, 56, 0,168, 0, 96, 0, 32, 0, + 96, 6, 56, 0, 16, 0,168, 0,104, 0, 32, 0, 64, 0,120, 0, 24, 0,248, 1, 32, 0, 8, 0, 24, 0, 80, 8, 0, 0, 0, 0, 224, 8,104, 0, 8, 0,112, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 1, 56, 0,144, 0, 64, 0,240, 0,112, 0,248, 0, 240, 0,160, 7,104, 0, 0, 0,168, 0, 0, 0, 24, 1, 16, 0, 16, 0, 40, 33,128, 16, 24, 16,216, 0,160, 2,168, 5, 64, 0, 24, 0,208, 0, 48, 1, 72, 0, 40, 0,136, 1,104, 0, 56, 1, 56, 0, 24, 4, 32, 0,232, 0, 32, 0, 32, 0, 8, 0, 80, 3, @@ -10947,776 +10957,782 @@ char datatoc_startup_blend[] = { 112, 0,148, 0, 32, 0,128, 0, 88, 0, 88, 0,208, 0,140, 0, 4, 0, 24, 0, 16, 0, 8, 0,160, 0, 48, 0, 40, 0, 72, 1, 0, 1, 16, 0, 32, 2, 4, 0, 40, 0,120, 0, 72, 1,120, 0, 56, 0,120, 0,160, 0,112, 0,184, 0, 24, 0, 88, 0, 80, 0, 80, 0, 80, 0, 8, 0, 72, 0,104, 0,104, 0, 80, 0, 80, 0, 24, 0, 88, 0,104, 0, 16, 0,144, 0,128, 0, 88, 0, 28, 0, - 28, 0, 28, 0, 88, 0, 24, 0,160, 0, 16, 0,152, 0, 72, 0,168, 0, 48, 0,208, 0, 56, 0, 16, 0, 88, 1, 0, 0, 0, 0, - 0, 0, 16, 0, 16, 0, 4, 0, 24, 0, 16, 0, 16, 0, 12, 0, 40, 0, 28, 0, 12, 0, 12, 0, 32, 4, 40, 4, 64, 4, 44, 0, - 24, 0, 8, 0,128, 0, 64, 0, 32, 0, 16, 0, 32, 0, 32, 0, 8, 0, 96, 0, 20, 0,200, 3,216, 3,208, 3,200, 3,208, 3, -208, 3,200, 3,208, 3,208, 3,208, 3,208, 3, 64, 0, 64, 0, 12, 0, 56, 0, 24, 0,104, 0, 0, 4, 24, 0, 56, 0, 56, 0, - 20, 0, 16, 0, 64, 0, 40, 0, 32, 0,192, 0, 60, 0, 16, 3,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 32, 0, 40, 0, -192, 0, 40, 0, 88, 1, 0, 1,168, 0, 0, 0, 0, 0, 0, 0,184, 0, 0, 0, 32, 0,136, 0, 0, 0,120, 0, 24, 0, 24, 0, - 16, 0, 24, 0, 8, 0, 16, 0, 24, 0, 20, 0, 20, 0, 56, 0, 24, 2, 40, 1, 16, 0,104, 0, 0, 1, 40, 0,208, 0,104, 0, -112, 0,216, 1, 32, 0,128, 0, 56, 0, 80, 0, 64, 0,104, 0, 72, 0, 64, 0,128, 0, 0, 0, 0, 0,184, 0, 8, 3, 0, 0, - 24, 1,192, 0, 16, 0, 72, 0, 48, 0, 64, 0, 56, 0, 24, 0,128, 0, 0, 1, 48, 0, 32, 0, 16, 6, 0, 0, 83, 84, 82, 67, -211, 1, 0, 0, 12, 0, 2, 0, 12, 0, 0, 0, 12, 0, 1, 0, 13, 0, 3, 0, 13, 0, 0, 0, 13, 0, 1, 0, 11, 0, 2, 0, - 14, 0, 2, 0, 11, 0, 3, 0, 11, 0, 4, 0, 15, 0, 2, 0, 2, 0, 5, 0, 2, 0, 6, 0, 16, 0, 2, 0, 7, 0, 5, 0, - 7, 0, 6, 0, 17, 0, 3, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 7, 0, 18, 0, 4, 0, 4, 0, 8, 0, 4, 0, 9, 0, - 4, 0, 10, 0, 4, 0, 11, 0, 19, 0, 4, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0, 11, 0, 20, 0, 4, 0, - 11, 0, 12, 0, 14, 0, 13, 0, 4, 0, 14, 0, 4, 0, 15, 0, 21, 0, 10, 0, 21, 0, 0, 0, 21, 0, 1, 0, 0, 0, 16, 0, - 0, 0, 17, 0, 2, 0, 18, 0, 0, 0, 19, 0, 4, 0, 20, 0, 20, 0, 21, 0, 4, 0, 22, 0, 4, 0, 23, 0, 22, 0, 11, 0, - 11, 0, 0, 0, 11, 0, 1, 0, 22, 0, 24, 0, 23, 0, 25, 0, 0, 0, 26, 0, 2, 0, 27, 0, 2, 0, 28, 0, 2, 0, 18, 0, - 4, 0, 29, 0, 4, 0, 30, 0, 21, 0, 31, 0, 23, 0, 6, 0, 22, 0, 32, 0, 22, 0, 33, 0, 24, 0, 34, 0, 0, 0, 35, 0, - 0, 0, 36, 0, 23, 0, 37, 0, 25, 0, 5, 0, 4, 0, 38, 0, 4, 0, 39, 0, 2, 0, 40, 0, 2, 0, 41, 0, 4, 0, 42, 0, - 26, 0, 6, 0, 27, 0, 43, 0, 2, 0, 44, 0, 2, 0, 45, 0, 2, 0, 16, 0, 2, 0, 18, 0, 0, 0, 46, 0, 28, 0, 21, 0, - 28, 0, 0, 0, 28, 0, 1, 0, 29, 0, 47, 0, 30, 0, 48, 0, 19, 0, 49, 0, 19, 0, 50, 0, 2, 0, 44, 0, 2, 0, 45, 0, - 2, 0, 51, 0, 2, 0, 52, 0, 2, 0, 53, 0, 2, 0, 54, 0, 2, 0, 18, 0, 2, 0, 55, 0, 7, 0, 10, 0, 7, 0, 11, 0, - 4, 0, 56, 0, 7, 0, 57, 0, 7, 0, 58, 0, 7, 0, 59, 0, 26, 0, 60, 0, 31, 0, 7, 0, 22, 0, 32, 0, 14, 0, 61, 0, - 19, 0, 62, 0, 2, 0, 44, 0, 2, 0, 63, 0, 2, 0, 64, 0, 2, 0, 27, 0, 32, 0, 16, 0, 32, 0, 0, 0, 32, 0, 1, 0, - 7, 0, 65, 0, 7, 0, 59, 0, 2, 0, 16, 0, 2, 0, 66, 0, 2, 0, 67, 0, 2, 0, 18, 0, 4, 0, 68, 0, 4, 0, 69, 0, - 11, 0, 2, 0, 7, 0, 70, 0, 0, 0, 19, 0, 0, 0, 71, 0, 7, 0, 72, 0, 7, 0, 73, 0, 33, 0, 15, 0, 22, 0, 32, 0, - 34, 0, 74, 0, 32, 0, 75, 0, 0, 0, 76, 0, 4, 0, 77, 0, 4, 0, 27, 0, 14, 0, 78, 0, 31, 0, 79, 0, 22, 0, 80, 0, - 2, 0, 16, 0, 2, 0, 81, 0, 2, 0, 82, 0, 2, 0, 18, 0, 7, 0, 83, 0, 4, 0, 84, 0, 35, 0, 6, 0, 35, 0, 0, 0, - 35, 0, 1, 0, 0, 0, 85, 0, 0, 0, 86, 0, 4, 0, 22, 0, 4, 0, 87, 0, 36, 0, 10, 0, 36, 0, 0, 0, 36, 0, 1, 0, - 4, 0, 88, 0, 4, 0, 89, 0, 4, 0, 90, 0, 4, 0, 66, 0, 4, 0, 13, 0, 4, 0, 91, 0, 0, 0, 92, 0, 0, 0, 93, 0, - 37, 0, 15, 0, 22, 0, 32, 0, 0, 0, 94, 0, 4, 0, 91, 0, 4, 0, 95, 0, 14, 0, 96, 0, 35, 0, 97, 0, 35, 0, 98, 0, - 4, 0, 99, 0, 4, 0,100, 0, 14, 0,101, 0, 0, 0,102, 0, 4, 0,103, 0, 4, 0,104, 0, 11, 0,105, 0, 8, 0,106, 0, - 38, 0, 3, 0, 4, 0,107, 0, 4, 0,108, 0, 11, 0, 2, 0, 39, 0, 20, 0, 22, 0, 32, 0, 34, 0, 74, 0, 0, 0, 16, 0, - 0, 0,109, 0, 2, 0, 18, 0, 7, 0,110, 0, 7, 0,111, 0, 7, 0,112, 0, 7, 0,113, 0, 7, 0,114, 0, 7, 0,115, 0, - 7, 0,116, 0, 7, 0,117, 0, 7, 0,118, 0, 7, 0,119, 0, 7, 0,120, 0, 31, 0, 79, 0, 27, 0,121, 0, 0, 0,122, 0, - 0, 0,123, 0, 40, 0, 14, 0, 41, 0,124, 0, 4, 0,125, 0, 4, 0,126, 0, 4, 0,127, 0, 4, 0,128, 0, 0, 0,129, 0, - 0, 0,130, 0, 0, 0,131, 0, 0, 0, 27, 0, 2, 0,132, 0, 2, 0,133, 0, 2, 0,134, 0, 2, 0, 18, 0, 4, 0, 30, 0, - 42, 0, 33, 0, 22, 0, 32, 0, 0, 0, 35, 0, 14, 0,135, 0, 43, 0,136, 0, 44, 0,137, 0, 45, 0,138, 0, 45, 0,139, 0, - 2, 0,140, 0, 2, 0,141, 0, 2, 0,131, 0, 2, 0, 18, 0, 2, 0,142, 0, 2, 0, 16, 0, 4, 0,143, 0, 2, 0,144, 0, - 2, 0,145, 0, 2, 0,146, 0, 2, 0,147, 0, 2, 0,148, 0, 2, 0,149, 0, 4, 0,150, 0, 4, 0,151, 0, 38, 0,152, 0, - 25, 0,153, 0, 7, 0,154, 0, 4, 0,155, 0, 2, 0,156, 0, 2, 0,157, 0, 2, 0,158, 0, 0, 0,159, 0, 0, 0,160, 0, - 7, 0,161, 0, 7, 0,162, 0, 46, 0, 65, 0, 2, 0,163, 0, 2, 0,164, 0, 2, 0,165, 0, 2, 0,166, 0, 27, 0,167, 0, - 47, 0,168, 0, 0, 0,169, 0, 0, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0, 0, 0,173, 0, 7, 0,174, 0, 7, 0,175, 0, - 7, 0,176, 0, 2, 0,177, 0, 2, 0,178, 0, 2, 0,179, 0, 2, 0,180, 0, 2, 0,181, 0, 2, 0,182, 0, 0, 0,183, 0, - 0, 0,123, 0, 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0, 7, 0,188, 0, 7, 0, 55, 0, 7, 0,189, 0, - 7, 0,190, 0, 7, 0,191, 0, 7, 0,192, 0, 7, 0,193, 0, 7, 0,194, 0, 7, 0,195, 0, 7, 0,196, 0, 7, 0,197, 0, - 7, 0,198, 0, 7, 0,199, 0, 7, 0,200, 0, 7, 0,201, 0, 7, 0,202, 0, 7, 0,203, 0, 7, 0,204, 0, 7, 0,205, 0, - 7, 0,206, 0, 7, 0,207, 0, 7, 0,208, 0, 7, 0,209, 0, 7, 0,210, 0, 7, 0,211, 0, 7, 0,212, 0, 7, 0,213, 0, - 7, 0,214, 0, 7, 0,215, 0, 7, 0,216, 0, 7, 0,217, 0, 7, 0,218, 0, 7, 0,219, 0, 7, 0,220, 0, 7, 0,221, 0, - 7, 0,222, 0, 7, 0,223, 0, 7, 0,224, 0, 7, 0,225, 0, 48, 0, 15, 0, 0, 0, 35, 0, 11, 0,226, 0, 0, 0,227, 0, - 0, 0,228, 0, 4, 0,229, 0, 4, 0,230, 0, 11, 0,231, 0, 7, 0,232, 0, 7, 0,233, 0, 7, 0,234, 0, 4, 0,235, 0, - 11, 0,236, 0, 11, 0,237, 0, 4, 0,238, 0, 4, 0, 27, 0, 49, 0, 6, 0, 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, - 7, 0,239, 0, 7, 0, 65, 0, 4, 0, 62, 0, 50, 0, 5, 0, 2, 0, 18, 0, 2, 0,240, 0, 2, 0, 62, 0, 2, 0,241, 0, - 49, 0,234, 0, 51, 0, 17, 0, 27, 0,167, 0, 42, 0,242, 0, 52, 0,243, 0, 7, 0,244, 0, 7, 0,245, 0, 2, 0, 16, 0, - 2, 0,246, 0, 7, 0,111, 0, 7, 0,112, 0, 7, 0,247, 0, 4, 0,248, 0, 2, 0,249, 0, 2, 0,250, 0, 4, 0,131, 0, - 4, 0,143, 0, 2, 0,251, 0, 2, 0,252, 0, 53, 0, 25, 0, 2, 0, 18, 0, 2, 0,253, 0, 7, 0,254, 0, 7, 0,255, 0, - 2, 0,142, 0, 2, 0, 0, 1, 4, 0, 1, 1, 4, 0, 2, 1, 27, 0,167, 0, 4, 0, 3, 1, 2, 0, 4, 1, 2, 0, 5, 1, - 11, 0, 6, 1, 7, 0, 7, 1, 7, 0, 8, 1, 2, 0, 9, 1, 2, 0, 10, 1, 2, 0, 11, 1, 2, 0, 12, 1, 7, 0, 13, 1, - 7, 0, 14, 1, 7, 0, 15, 1, 7, 0, 16, 1, 50, 0, 17, 1, 54, 0, 18, 1, 55, 0, 13, 0, 4, 0, 19, 1, 4, 0, 20, 1, - 2, 0, 21, 1, 2, 0, 18, 0, 2, 0, 22, 1, 2, 0, 23, 1, 27, 0,167, 0, 7, 0, 24, 1, 4, 0, 25, 1, 0, 0, 26, 1, - 7, 0, 27, 1, 4, 0, 28, 1, 4, 0,131, 0, 56, 0, 4, 0, 27, 0,167, 0, 0, 0, 29, 1, 4, 0, 30, 1, 4, 0, 27, 0, - 47, 0, 64, 0, 22, 0, 32, 0, 34, 0, 74, 0, 7, 0, 31, 1, 7, 0, 32, 1, 7, 0, 33, 1, 7, 0, 34, 1, 7, 0, 35, 1, - 7, 0, 36, 1, 7, 0, 37, 1, 7, 0, 38, 1, 7, 0, 39, 1, 7, 0, 30, 0, 7, 0, 40, 1, 7, 0, 41, 1, 7, 0, 42, 1, - 7, 0, 43, 1, 7, 0, 44, 1, 7, 0, 45, 1, 7, 0, 46, 1, 7, 0, 47, 1, 7, 0, 48, 1, 7, 0, 49, 1, 7, 0, 50, 1, - 7, 0, 51, 1, 2, 0, 52, 1, 2, 0, 53, 1, 2, 0, 54, 1, 2, 0, 55, 1, 2, 0, 56, 1, 2, 0, 57, 1, 2, 0, 58, 1, - 2, 0, 18, 0, 2, 0, 16, 0, 2, 0,246, 0, 7, 0, 59, 1, 7, 0, 60, 1, 7, 0, 61, 1, 7, 0, 62, 1, 4, 0, 63, 1, - 4, 0, 64, 1, 2, 0, 65, 1, 2, 0, 66, 1, 2, 0, 22, 1, 2, 0,129, 0, 4, 0, 22, 0, 4, 0,126, 0, 4, 0,127, 0, - 4, 0,128, 0, 7, 0, 67, 1, 7, 0, 68, 1, 7, 0, 66, 0, 40, 0, 69, 1, 57, 0, 70, 1, 31, 0, 79, 0, 42, 0,242, 0, - 48, 0, 71, 1, 50, 0, 17, 1, 51, 0, 72, 1, 25, 0,153, 0, 53, 0, 73, 1, 55, 0, 74, 1, 56, 0, 75, 1, 0, 0, 76, 1, - 0, 0,123, 0, 58, 0, 13, 0, 7, 0, 77, 1, 7, 0, 78, 1, 7, 0,175, 0, 4, 0, 18, 0, 0, 0,170, 0, 0, 0,171, 0, - 0, 0,172, 0, 0, 0,173, 0, 4, 0, 27, 0, 7, 0, 79, 1, 7, 0, 80, 1, 7, 0, 81, 1, 27, 0, 43, 0, 59, 0, 9, 0, - 50, 0, 82, 1, 7, 0, 33, 1, 7, 0, 34, 1, 7, 0, 35, 1, 4, 0, 18, 0, 7, 0, 83, 1, 7, 0, 84, 1, 4, 0, 85, 1, - 4, 0, 86, 1, 60, 0, 76, 0, 22, 0, 32, 0, 34, 0, 74, 0, 2, 0, 16, 0, 2, 0, 18, 0, 4, 0, 87, 1, 2, 0,178, 0, - 2, 0, 88, 1, 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0, 7, 0, 89, 1, 7, 0, 90, 1, 7, 0, 91, 1, - 7, 0, 92, 1, 7, 0, 93, 1, 7, 0, 94, 1, 7, 0, 95, 1, 7, 0, 96, 1, 7, 0, 97, 1, 7, 0, 98, 1, 7, 0, 99, 1, - 54, 0,100, 1, 2, 0,253, 0, 2, 0, 30, 0, 7, 0,111, 0, 7, 0,112, 0, 7, 0,101, 1, 7, 0,102, 1, 7, 0,103, 1, - 7, 0,104, 1, 7, 0,105, 1, 7, 0,106, 1, 2, 0,107, 1, 2, 0,108, 1, 2, 0,109, 1, 2, 0,110, 1, 0, 0,111, 1, - 0, 0,112, 1, 2, 0,113, 1, 2, 0,114, 1, 2, 0,115, 1, 2, 0,116, 1, 2, 0,117, 1, 7, 0,118, 1, 7, 0,119, 1, - 7, 0,120, 1, 7, 0,121, 1, 2, 0,122, 1, 2, 0,123, 1, 2, 0,124, 1, 2, 0,125, 1, 2, 0,126, 1, 2, 0,127, 1, - 7, 0,128, 1, 7, 0,129, 1, 7, 0,130, 1, 7, 0,131, 1, 7, 0,132, 1, 7, 0,133, 1, 7, 0,134, 1, 7, 0,135, 1, - 7, 0,136, 1, 7, 0,137, 1, 7, 0,138, 1, 7, 0,139, 1, 7, 0,140, 1, 2, 0,141, 1, 0, 0,142, 1, 31, 0, 79, 0, - 46, 0,143, 1, 2, 0,144, 1, 2, 0, 76, 1, 0, 0,145, 1, 25, 0,153, 0, 57, 0, 70, 1, 61, 0, 18, 0, 7, 0,146, 1, - 7, 0,147, 1, 7, 0,148, 1, 7, 0,149, 1, 7, 0,150, 1, 7, 0,151, 1, 7, 0,152, 1, 7, 0,153, 1, 7, 0,154, 1, - 7, 0,155, 1, 2, 0,156, 1, 2, 0,157, 1, 2, 0,158, 1, 2, 0,159, 1, 7, 0,160, 1, 7, 0,161, 1, 7, 0,162, 1, - 7, 0,163, 1, 62, 0, 4, 0, 4, 0, 18, 0, 4, 0,164, 1, 4, 0,165, 1, 4, 0, 66, 0, 63, 0,126, 0, 22, 0, 32, 0, - 34, 0, 74, 0, 2, 0,166, 1, 2, 0, 18, 0, 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,167, 1, 7, 0,168, 1, - 7, 0,169, 1, 7, 0,170, 1, 7, 0,171, 1, 7, 0,172, 1, 7, 0,173, 1, 7, 0,174, 1, 7, 0,175, 1, 7, 0,176, 1, - 7, 0,177, 1, 7, 0,178, 1, 7, 0,179, 1, 7, 0,180, 1, 7, 0,181, 1, 7, 0,182, 1, 7, 0,183, 1, 7, 0,184, 1, - 7, 0,185, 1, 7, 0,186, 1, 61, 0,187, 1, 62, 0,188, 1, 7, 0,189, 1, 7, 0,190, 1, 7, 0,191, 1, 7, 0,192, 1, - 7, 0,193, 1, 7, 0,194, 1, 7, 0,195, 1, 2, 0,196, 1, 2, 0,197, 1, 2, 0,198, 1, 0, 0,199, 1, 0, 0,200, 1, - 7, 0,201, 1, 7, 0,202, 1, 2, 0,203, 1, 2, 0,204, 1, 7, 0,205, 1, 7, 0,206, 1, 7, 0,207, 1, 7, 0,208, 1, - 2, 0,209, 1, 2, 0,210, 1, 4, 0, 87, 1, 4, 0,211, 1, 2, 0,212, 1, 2, 0,213, 1, 2, 0,214, 1, 2, 0,215, 1, - 7, 0,216, 1, 7, 0,217, 1, 7, 0,218, 1, 7, 0,219, 1, 7, 0,220, 1, 7, 0,221, 1, 7, 0,222, 1, 7, 0,223, 1, - 7, 0,224, 1, 7, 0,225, 1, 0, 0,226, 1, 7, 0,227, 1, 7, 0,228, 1, 7, 0,229, 1, 4, 0,230, 1, 0, 0,231, 1, - 0, 0,124, 1, 0, 0,232, 1, 0, 0, 76, 1, 2, 0,233, 1, 2, 0,234, 1, 2, 0,144, 1, 2, 0,235, 1, 2, 0,236, 1, - 2, 0,237, 1, 7, 0,238, 1, 7, 0,239, 1, 7, 0,240, 1, 7, 0,241, 1, 7, 0,242, 1, 2, 0,163, 0, 2, 0,164, 0, - 50, 0,243, 1, 50, 0,244, 1, 0, 0,245, 1, 0, 0,246, 1, 0, 0,247, 1, 0, 0,248, 1, 2, 0,249, 1, 2, 0,250, 1, - 7, 0,251, 1, 7, 0,252, 1, 46, 0,143, 1, 57, 0, 70, 1, 31, 0, 79, 0, 64, 0,253, 1, 25, 0,153, 0, 7, 0,254, 1, - 7, 0,255, 1, 7, 0, 0, 2, 7, 0, 1, 2, 7, 0, 2, 2, 2, 0, 3, 2, 2, 0, 30, 0, 7, 0, 4, 2, 7, 0, 5, 2, - 7, 0, 6, 2, 7, 0, 7, 2, 7, 0, 8, 2, 7, 0, 9, 2, 7, 0, 10, 2, 7, 0, 11, 2, 7, 0, 12, 2, 2, 0, 13, 2, - 2, 0, 14, 2, 4, 0, 15, 2, 2, 0, 16, 2, 2, 0, 17, 2, 14, 0, 18, 2, 65, 0, 4, 0, 22, 0, 32, 0, 0, 0, 35, 0, - 66, 0, 2, 0, 38, 0,152, 0, 67, 0, 20, 0, 67, 0, 0, 0, 67, 0, 1, 0, 68, 0, 19, 2, 2, 0, 16, 0, 2, 0, 18, 0, - 2, 0, 20, 2, 2, 0, 21, 2, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 7, 0, 7, 0, 22, 2, 7, 0, 23, 2, 7, 0, 24, 2, - 7, 0, 25, 2, 7, 0, 26, 2, 7, 0, 27, 2, 7, 0, 28, 2, 7, 0, 22, 0, 7, 0, 29, 2, 7, 0, 30, 2, 69, 0, 20, 0, - 22, 0, 32, 0, 34, 0, 74, 0, 68, 0, 19, 2, 14, 0, 31, 2, 14, 0, 32, 2, 14, 0, 33, 2, 31, 0, 79, 0, 63, 0, 34, 2, - 0, 0, 18, 0, 0, 0, 35, 2, 2, 0, 36, 2, 2, 0,177, 0, 2, 0, 27, 0, 7, 0, 77, 1, 7, 0,175, 0, 7, 0, 78, 1, - 7, 0, 37, 2, 7, 0, 38, 2, 7, 0, 39, 2, 67, 0, 40, 2, 30, 0, 11, 0, 7, 0, 41, 2, 7, 0, 42, 2, 7, 0, 43, 2, - 7, 0,255, 0, 2, 0, 53, 0, 0, 0, 44, 2, 0, 0, 45, 2, 0, 0, 46, 2, 0, 0, 47, 2, 0, 0, 48, 2, 0, 0, 49, 2, - 29, 0, 7, 0, 7, 0, 50, 2, 7, 0, 42, 2, 7, 0, 43, 2, 2, 0, 46, 2, 2, 0, 49, 2, 7, 0,255, 0, 7, 0, 27, 0, - 70, 0, 21, 0, 70, 0, 0, 0, 70, 0, 1, 0, 2, 0, 16, 0, 2, 0, 51, 2, 2, 0, 49, 2, 2, 0, 18, 0, 2, 0, 52, 2, - 2, 0, 53, 2, 2, 0, 54, 2, 2, 0, 55, 2, 2, 0, 56, 2, 2, 0, 57, 2, 2, 0, 58, 2, 2, 0, 59, 2, 7, 0, 60, 2, - 7, 0, 61, 2, 29, 0, 47, 0, 30, 0, 48, 0, 2, 0, 62, 2, 2, 0, 63, 2, 4, 0, 64, 2, 71, 0, 5, 0, 2, 0, 65, 2, - 2, 0, 51, 2, 0, 0, 18, 0, 0, 0, 27, 0, 2, 0, 30, 0, 72, 0, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 66, 2, - 7, 0, 67, 2, 73, 0, 4, 0, 14, 0, 68, 2, 74, 0, 69, 2, 4, 0, 70, 2, 0, 0, 93, 0, 75, 0, 70, 0, 22, 0, 32, 0, - 34, 0, 74, 0, 68, 0, 19, 2, 14, 0, 71, 2, 14, 0, 32, 2, 73, 0, 72, 2, 27, 0, 73, 2, 27, 0, 74, 2, 27, 0, 75, 2, - 31, 0, 79, 0, 76, 0, 76, 2, 33, 0, 77, 2, 63, 0, 34, 2, 14, 0, 78, 2, 7, 0, 77, 1, 7, 0,175, 0, 7, 0, 78, 1, - 2, 0, 16, 0, 2, 0,177, 0, 2, 0, 79, 2, 2, 0, 80, 2, 7, 0, 81, 2, 7, 0, 82, 2, 4, 0, 83, 2, 2, 0, 27, 0, - 2, 0, 36, 2, 2, 0, 18, 0, 2, 0, 84, 2, 7, 0, 85, 2, 7, 0, 86, 2, 7, 0, 87, 2, 2, 0, 54, 2, 2, 0, 55, 2, - 2, 0, 88, 2, 2, 0, 89, 2, 4, 0, 90, 2, 11, 0, 91, 2, 2, 0, 22, 0, 2, 0, 96, 0, 2, 0, 65, 0, 2, 0, 92, 2, - 7, 0, 93, 2, 7, 0, 94, 2, 7, 0, 95, 2, 7, 0, 96, 2, 7, 0, 97, 2, 7, 0, 98, 2, 7, 0, 99, 2, 7, 0,100, 2, - 7, 0,101, 2, 7, 0,102, 2, 0, 0,103, 2, 77, 0,104, 2, 78, 0,105, 2, 0, 0,106, 2, 65, 0,107, 2, 65, 0,108, 2, - 65, 0,109, 2, 65, 0,110, 2, 4, 0,111, 2, 7, 0, 83, 0, 4, 0,112, 2, 4, 0,113, 2, 72, 0,114, 2, 4, 0,115, 2, - 4, 0,116, 2, 71, 0,117, 2, 71, 0,118, 2, 7, 0,119, 2, 7, 0,120, 2, 79, 0, 47, 0, 22, 0, 32, 0, 34, 0, 74, 0, - 68, 0, 19, 2, 31, 0, 79, 0, 33, 0, 77, 2, 63, 0, 34, 2, 80, 0,121, 2, 81, 0,122, 2, 82, 0,123, 2, 83, 0,124, 2, - 84, 0,125, 2, 85, 0,126, 2, 86, 0,127, 2, 87, 0,128, 2, 88, 0,129, 2, 89, 0,130, 2, 90, 0,131, 2, 91, 0,132, 2, - 92, 0,133, 2, 93, 0,134, 2, 79, 0,135, 2, 94, 0,136, 2, 95, 0,137, 2, 95, 0,138, 2, 95, 0,139, 2, 95, 0,140, 2, - 95, 0,141, 2, 4, 0, 52, 0, 4, 0,142, 2, 4, 0,143, 2, 4, 0,144, 2, 4, 0,145, 2, 4, 0,146, 2, 4, 0,147, 2, - 7, 0, 77, 1, 7, 0,175, 0, 7, 0, 78, 1, 2, 0,177, 0, 2, 0, 79, 2, 2, 0,148, 2, 2, 0, 18, 0, 2, 0,149, 2, - 2, 0,150, 2, 0, 0,151, 2, 0, 0,152, 2, 2, 0, 36, 2, 96, 0,153, 2, 88, 0, 8, 0, 11, 0,154, 2, 7, 0,155, 2, - 4, 0,156, 2, 0, 0, 18, 0, 0, 0,157, 2, 2, 0, 87, 1, 2, 0,158, 2, 2, 0,159, 2, 86, 0, 7, 0, 4, 0,160, 2, - 4, 0,161, 2, 4, 0,162, 2, 4, 0,163, 2, 2, 0, 51, 2, 0, 0,164, 2, 0, 0, 18, 0, 90, 0, 5, 0, 4, 0,160, 2, - 4, 0,161, 2, 0, 0,165, 2, 0, 0,166, 2, 2, 0, 18, 0, 97, 0, 2, 0, 4, 0,167, 2, 7, 0, 43, 2, 91, 0, 3, 0, - 97, 0,168, 2, 4, 0,169, 2, 4, 0, 18, 0, 89, 0, 4, 0, 7, 0,170, 2, 2, 0,171, 2, 0, 0, 18, 0, 0, 0,166, 2, - 92, 0, 4, 0, 0, 0,239, 0, 0, 0,184, 0, 0, 0,185, 0, 0, 0,186, 0, 81, 0, 5, 0, 4, 0,172, 2, 4, 0,146, 2, - 2, 0, 51, 2, 0, 0, 18, 0, 0, 0, 27, 0, 83, 0, 2, 0, 4, 0,173, 2, 4, 0,174, 2, 82, 0, 6, 0, 42, 0,154, 2, - 0, 0, 18, 0, 0, 0,157, 2, 2, 0, 87, 1, 2, 0,158, 2, 2, 0,159, 2, 84, 0, 2, 0, 7, 0,175, 2, 4, 0, 18, 0, - 85, 0, 4, 0, 0, 0,184, 0, 0, 0,185, 0, 0, 0,186, 0, 0, 0,239, 0, 93, 0, 1, 0, 7, 0,176, 2, 80, 0, 2, 0, - 4, 0, 17, 2, 4, 0, 16, 0, 87, 0, 7, 0, 7, 0,155, 2, 42, 0,154, 2, 0, 0, 18, 0, 0, 0,157, 2, 2, 0, 87, 1, - 2, 0,158, 2, 2, 0,159, 2, 98, 0, 1, 0, 7, 0,177, 2, 99, 0, 1, 0, 4, 0,178, 2,100, 0, 1, 0, 0, 0,179, 2, -101, 0, 1, 0, 7, 0,155, 2,102, 0, 1, 0, 7, 0,175, 2,103, 0, 4, 0, 4, 0,180, 2, 4, 0,181, 2, 7, 0,182, 2, - 4, 0,183, 2,104, 0, 4, 0, 7, 0,239, 0, 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0,105, 0, 1, 0,104, 0,156, 2, -106, 0, 5, 0, 4, 0,184, 2, 4, 0,185, 2, 0, 0, 18, 0, 0, 0, 51, 2, 0, 0,186, 2,107, 0, 2, 0, 4, 0,187, 2, - 4, 0,185, 2,108, 0, 10, 0,108, 0, 0, 0,108, 0, 1, 0,106, 0,188, 2,105, 0,189, 2,107, 0,190, 2, 4, 0, 52, 0, - 4, 0,143, 2, 4, 0,142, 2, 4, 0, 27, 0, 89, 0,191, 2, 96, 0, 14, 0, 14, 0,192, 2, 89, 0,191, 2, 0, 0,193, 2, - 0, 0,194, 2, 0, 0,195, 2, 0, 0,196, 2, 0, 0,197, 2, 0, 0,198, 2, 0, 0,199, 2, 0, 0, 18, 0, 95, 0,137, 2, - 95, 0,139, 2, 2, 0,200, 2, 0, 0,201, 2,109, 0, 1, 0, 4, 0,178, 2,110, 0, 3, 0, 7, 0, 2, 0, 4, 0,181, 2, - 4, 0, 27, 0,111, 0, 9, 0,111, 0, 0, 0,111, 0, 1, 0, 4, 0, 16, 0, 4, 0, 87, 1, 4, 0,202, 2, 4, 0, 27, 0, - 0, 0, 19, 0, 41, 0,124, 0, 0, 0,203, 2,112, 0, 6, 0,111, 0,204, 2, 47, 0,205, 2, 27, 0,206, 2, 0, 0,207, 2, - 4, 0,208, 2, 4, 0,209, 2,113, 0, 7, 0,111, 0,204, 2, 2, 0,210, 2, 2, 0,192, 2, 2, 0,211, 2, 2, 0, 91, 0, - 11, 0,212, 2, 11, 0,213, 2,114, 0, 5, 0,111, 0,204, 2, 27, 0,167, 0, 0, 0, 19, 0, 7, 0,214, 2, 0, 0, 93, 0, -115, 0, 5, 0,111, 0,204, 2, 27, 0,167, 0, 0, 0, 19, 0, 2, 0,215, 2, 0, 0,216, 2,116, 0, 5, 0,111, 0,204, 2, - 7, 0, 89, 0, 7, 0,217, 2, 4, 0,218, 2, 4, 0,219, 2,117, 0, 5, 0,111, 0,204, 2, 27, 0,220, 2, 0, 0, 71, 0, - 4, 0, 87, 1, 4, 0, 18, 0,118, 0, 13, 0,111, 0,204, 2, 27, 0,221, 2, 27, 0,222, 2, 27, 0,223, 2, 27, 0,224, 2, - 7, 0,225, 2, 7, 0,226, 2, 7, 0,217, 2, 7, 0,227, 2, 4, 0,228, 2, 4, 0,229, 2, 4, 0, 91, 0, 4, 0,230, 2, -119, 0, 5, 0,111, 0,204, 2, 2, 0,231, 2, 2, 0, 18, 0, 7, 0,232, 2, 27, 0,233, 2,120, 0, 3, 0,111, 0,204, 2, - 7, 0,234, 2, 4, 0, 91, 0,121, 0, 10, 0,111, 0,204, 2, 7, 0,235, 2, 4, 0,236, 2, 4, 0, 27, 0, 2, 0, 91, 0, - 2, 0,237, 2, 2, 0,238, 2, 2, 0,239, 2, 7, 0,240, 2, 0, 0,241, 2,122, 0, 3, 0,111, 0,204, 2, 7, 0, 27, 0, - 4, 0, 16, 0,123, 0, 6, 0,111, 0,204, 2,124, 0,242, 2,125, 0,243, 2,126, 0,244, 2, 7, 0,245, 2, 4, 0, 16, 0, -127, 0, 11, 0,111, 0,204, 2, 47, 0,205, 2, 27, 0,206, 2, 0, 0,207, 2, 4, 0,208, 2, 4, 0,209, 2, 7, 0,214, 2, - 4, 0,246, 2, 0, 0,241, 2, 7, 0,247, 2, 4, 0, 27, 0,128, 0, 12, 0,111, 0,204, 2, 27, 0,248, 2, 42, 0,249, 2, - 4, 0, 91, 0, 4, 0,250, 2, 7, 0,251, 2, 7, 0,252, 2, 7, 0,253, 2, 7, 0,254, 2, 0, 0,207, 2, 4, 0,208, 2, - 4, 0, 27, 0,129, 0, 3, 0,111, 0,204, 2, 7, 0,255, 2, 4, 0, 0, 3,130, 0, 5, 0,111, 0,204, 2, 7, 0, 1, 3, - 0, 0,241, 2, 2, 0, 18, 0, 2, 0, 2, 3,131, 0, 8, 0,111, 0,204, 2, 27, 0,167, 0, 7, 0, 1, 3, 7, 0,255, 0, - 7, 0,107, 0, 0, 0,241, 2, 2, 0, 18, 0, 2, 0, 16, 0,132, 0, 21, 0,111, 0,204, 2, 47, 0,205, 2, 27, 0,206, 2, - 0, 0,207, 2, 4, 0,208, 2, 4, 0,209, 2, 27, 0, 3, 3, 0, 0,241, 2, 2, 0, 18, 0, 2, 0, 27, 0, 7, 0, 4, 3, - 7, 0, 5, 3, 7, 0, 6, 3, 7, 0, 85, 2, 7, 0, 7, 3, 7, 0, 8, 3, 7, 0, 9, 3, 7, 0, 10, 3, 7, 0, 11, 3, - 7, 0, 12, 3, 7, 0, 66, 0,133, 0, 7, 0,111, 0,204, 2, 2, 0, 13, 3, 2, 0, 14, 3, 4, 0, 30, 0, 27, 0,167, 0, - 7, 0, 15, 3, 0, 0,241, 2,134, 0, 10, 0,111, 0,204, 2, 27, 0,167, 0, 0, 0, 16, 3, 7, 0, 17, 3, 7, 0, 18, 3, - 7, 0, 10, 3, 4, 0, 19, 3, 4, 0, 20, 3, 7, 0, 21, 3, 0, 0, 19, 0,135, 0, 1, 0,111, 0,204, 2,136, 0, 7, 0, -111, 0,204, 2, 41, 0,124, 0,137, 0, 22, 3,138, 0, 23, 3,139, 0, 24, 3,140, 0, 25, 3, 14, 0, 26, 3,141, 0, 13, 0, -111, 0,204, 2, 89, 0, 27, 3, 89, 0, 28, 3, 89, 0, 29, 3, 89, 0, 30, 3, 89, 0, 31, 3, 89, 0, 32, 3, 86, 0, 33, 3, - 4, 0, 34, 3, 4, 0, 35, 3, 7, 0, 36, 3, 7, 0, 37, 3,142, 0, 38, 3,143, 0, 7, 0,111, 0,204, 2, 89, 0, 27, 3, - 89, 0, 39, 3,144, 0, 40, 3,145, 0, 38, 3, 4, 0, 41, 3, 4, 0, 34, 3,146, 0, 4, 0,111, 0,204, 2, 27, 0,167, 0, - 4, 0, 42, 3, 4, 0, 27, 0,147, 0, 2, 0, 4, 0, 43, 3, 7, 0, 43, 2,148, 0, 2, 0, 4, 0,127, 0, 4, 0, 44, 3, -149, 0, 24, 0,111, 0,204, 2, 27, 0,167, 0, 0, 0,241, 2, 2, 0, 45, 3, 2, 0, 18, 0, 2, 0, 87, 1, 2, 0, 27, 0, -147, 0, 46, 3, 4, 0, 47, 3, 7, 0, 48, 3, 4, 0, 52, 0, 4, 0, 49, 3,148, 0, 50, 3,147, 0, 51, 3, 4, 0, 52, 3, - 4, 0, 53, 3, 4, 0, 54, 3, 4, 0, 44, 3, 7, 0, 55, 3, 7, 0, 56, 3, 7, 0, 57, 3, 7, 0, 58, 3, 7, 0, 59, 3, - 11, 0, 60, 3,150, 0, 8, 0,111, 0,204, 2,151, 0, 61, 3,144, 0, 40, 3, 4, 0, 62, 3, 4, 0, 63, 3, 4, 0, 64, 3, - 2, 0, 18, 0, 2, 0, 55, 0,152, 0, 8, 0,111, 0,204, 2, 27, 0, 43, 0, 2, 0, 3, 1, 2, 0, 18, 0, 2, 0,231, 2, - 2, 0, 55, 0, 7, 0, 65, 3, 7, 0, 66, 3,153, 0, 6, 0,111, 0,204, 2, 4, 0, 67, 3, 2, 0, 18, 0, 2, 0, 68, 3, - 7, 0, 69, 3, 0, 0,169, 0,154, 0, 8, 0,111, 0,204, 2, 0, 0, 70, 3, 0, 0, 71, 3, 0, 0,198, 2, 0, 0, 72, 3, - 0, 0, 73, 3, 0, 0, 91, 0, 0, 0,186, 2,155, 0, 3, 0,111, 0,204, 2,156, 0, 74, 3,140, 0, 25, 3,157, 0, 10, 0, -111, 0,204, 2, 27, 0, 75, 3, 27, 0, 76, 3, 0, 0, 77, 3, 7, 0, 78, 3, 2, 0, 79, 3, 2, 0, 80, 3, 0, 0, 81, 3, - 0, 0, 82, 3, 0, 0,216, 2,158, 0, 9, 0,111, 0,204, 2, 27, 0, 83, 3, 0, 0, 77, 3, 7, 0, 84, 3, 7, 0, 85, 3, - 0, 0, 87, 1, 0, 0,231, 2, 0, 0, 86, 3, 0, 0, 27, 0,159, 0, 1, 0,111, 0,204, 2,160, 0, 11, 0,111, 0,204, 2, - 0, 0,241, 2, 7, 0,127, 0, 7, 0, 87, 3, 7, 0, 88, 3, 7, 0, 89, 3, 7, 0, 90, 3, 7, 0, 91, 3, 4, 0, 18, 0, - 2, 0, 92, 3, 2, 0, 93, 3,161, 0, 9, 0,111, 0,204, 2, 27, 0, 94, 3, 4, 0, 95, 3, 4, 0, 96, 3, 4, 0, 97, 3, - 7, 0, 98, 3, 7, 0, 99, 3, 2, 0,231, 2, 2, 0, 18, 0,162, 0, 29, 0,111, 0,204, 2,163, 0,100, 3,164, 0,101, 3, - 4, 0,102, 3, 4, 0,103, 3, 7, 0,104, 3, 7, 0, 9, 3, 7, 0,105, 3, 7, 0,250, 0, 7, 0,106, 3, 7, 0,107, 3, - 7, 0,108, 3, 7, 0,109, 3, 7, 0,110, 3, 7, 0,245, 2, 4, 0,111, 3, 4, 0,112, 3, 0, 0,113, 3, 0, 0,114, 3, - 0, 0,115, 3, 0, 0,116, 3, 0, 0, 18, 0, 0, 0,117, 3, 2, 0,118, 3, 2, 0,119, 3, 4, 0,219, 2, 7, 0,107, 0, - 7, 0,120, 3, 4, 0, 27, 0,165, 0, 15, 0,111, 0,204, 2, 47, 0,205, 2, 27, 0,206, 2, 0, 0,207, 2, 4, 0,208, 2, - 4, 0,209, 2, 27, 0,121, 3, 27, 0,122, 3, 54, 0,100, 1, 0, 0,241, 2, 7, 0,214, 2, 7, 0,123, 3, 0, 0, 18, 0, - 0, 0,253, 0, 0, 0,216, 2,166, 0, 16, 0,111, 0,204, 2, 0, 0,241, 2, 2, 0,124, 3, 2, 0,253, 0, 7, 0,125, 3, - 54, 0,126, 3, 7, 0,127, 3, 7, 0,128, 3, 7, 0,129, 3, 0, 0,130, 3, 4, 0,131, 3, 47, 0,132, 3, 27, 0,133, 3, - 4, 0,134, 3, 0, 0,135, 3, 4, 0,136, 3,167, 0, 16, 0,111, 0,204, 2, 0, 0,137, 3, 0, 0,138, 3, 7, 0,139, 3, - 7, 0,140, 3, 0, 0,141, 3, 0, 0,142, 3, 0, 0,143, 3, 7, 0,129, 3, 0, 0,130, 3, 4, 0,131, 3, 47, 0,132, 3, - 27, 0,133, 3, 4, 0,134, 3, 0, 0,135, 3, 4, 0,136, 3,168, 0, 16, 0,111, 0,204, 2, 0, 0,241, 2, 4, 0,144, 3, - 4, 0,145, 3, 27, 0,146, 3, 7, 0,129, 3, 0, 0,130, 3, 4, 0,131, 3, 47, 0,132, 3, 27, 0,133, 3, 4, 0,134, 3, - 0, 0,135, 3, 7, 0,147, 3, 7, 0,148, 3, 2, 0,253, 0, 2, 0,149, 3,169, 0, 5, 0,111, 0,204, 2,170, 0,150, 3, -171, 0,151, 3, 4, 0, 16, 0, 4, 0, 27, 0,172, 0, 8, 0,111, 0,204, 2, 7, 0,152, 3, 7, 0,153, 3, 7, 0,154, 3, - 0, 0,250, 0, 0, 0, 18, 0, 0, 0, 87, 1, 0, 0, 27, 0,173, 0, 3, 0,174, 0,155, 3, 4, 0, 70, 2, 0, 0, 93, 0, -174, 0, 29, 0, 22, 0, 32, 0, 34, 0, 74, 0, 2, 0, 52, 2, 2, 0, 53, 2, 2, 0,156, 3, 2, 0, 18, 0, 2, 0,157, 3, - 2, 0,158, 3, 2, 0,159, 3, 2, 0, 30, 0, 0, 0,160, 3, 0, 0,161, 3, 0, 0,162, 3, 0, 0,250, 1, 4, 0, 27, 0, - 7, 0,163, 3, 7, 0,164, 3, 7, 0,165, 3, 7, 0,166, 3, 7, 0,167, 3, 7, 0,168, 3, 29, 0,169, 3, 31, 0, 79, 0, - 33, 0, 77, 2, 91, 0,132, 2, 0, 0, 71, 0, 7, 0,170, 3, 7, 0,171, 3,173, 0,172, 3,175, 0, 5, 0,175, 0, 0, 0, -175, 0, 1, 0, 0, 0, 19, 0, 0, 0, 18, 0, 0, 0,123, 0, 68, 0, 3, 0, 7, 0,173, 3, 4, 0, 18, 0, 4, 0, 27, 0, - 27, 0,128, 0, 22, 0, 32, 0, 34, 0, 74, 0,176, 0,174, 3, 2, 0, 16, 0, 2, 0,175, 3, 4, 0,176, 3, 4, 0,177, 3, - 4, 0,178, 3, 0, 0,179, 3, 27, 0, 37, 0, 27, 0,180, 3, 27, 0,181, 3, 27, 0,182, 3, 27, 0,183, 3, 31, 0, 79, 0, - 68, 0, 19, 2,177, 0,184, 3,177, 0,185, 3,178, 0,186, 3, 11, 0, 2, 0,179, 0,187, 3,180, 0,188, 3,181, 0,189, 3, - 14, 0,190, 3, 14, 0,191, 3, 14, 0, 32, 2, 14, 0,192, 3, 14, 0,193, 3, 4, 0, 87, 1, 4, 0,194, 3, 63, 0, 34, 2, - 0, 0,195, 3, 4, 0, 36, 2, 4, 0,196, 3, 7, 0, 77, 1, 7, 0,197, 3, 7, 0,198, 3, 7, 0,175, 0, 7, 0,199, 3, - 7, 0,200, 3, 7, 0, 78, 1, 7, 0,201, 3, 7, 0, 22, 2, 7, 0,202, 3, 7, 0,203, 3, 7, 0,204, 3, 7, 0,205, 3, - 7, 0,206, 3, 7, 0,207, 3, 7, 0, 17, 3, 7, 0,208, 3, 7, 0,244, 0, 7, 0,209, 3, 4, 0,210, 3, 4, 0,211, 3, - 2, 0, 18, 0, 2, 0,212, 3, 2, 0,213, 3, 2, 0,214, 3, 2, 0,215, 3, 2, 0,216, 3, 2, 0,217, 3, 2, 0,218, 3, - 2, 0,219, 3, 0, 0,220, 3, 0, 0,221, 3, 4, 0,222, 3, 4, 0,223, 3, 4, 0,224, 3, 4, 0,225, 3, 7, 0,226, 3, - 7, 0, 83, 0, 7, 0,227, 3, 7, 0,228, 3, 7, 0,229, 3, 7, 0,230, 3, 7, 0,231, 3, 7, 0,219, 0, 7, 0,232, 3, - 7, 0,233, 3, 7, 0,234, 3, 7, 0,235, 3, 7, 0,236, 3, 2, 0,237, 3, 0, 0,238, 3, 0, 0,239, 3, 0, 0,240, 3, - 0, 0,241, 3, 0, 0,109, 0, 0, 0,242, 3, 7, 0,243, 3, 7, 0,244, 3, 14, 0,245, 3, 14, 0,246, 3, 14, 0,247, 3, - 14, 0,248, 3, 7, 0,249, 3, 2, 0, 17, 2, 2, 0,250, 3, 7, 0,156, 2, 4, 0,251, 3, 4, 0,252, 3,182, 0,253, 3, - 2, 0,254, 3, 2, 0,251, 0, 7, 0,255, 3, 14, 0, 0, 4, 14, 0, 1, 4, 14, 0, 2, 4, 14, 0, 3, 4,183, 0, 73, 1, -184, 0, 4, 4, 64, 0, 5, 4, 0, 0, 6, 4, 0, 0, 7, 4, 2, 0, 70, 2, 7, 0,148, 2,156, 0, 8, 4,144, 0, 9, 4, -144, 0, 10, 4, 10, 0, 11, 4, 10, 0, 12, 4, 4, 0, 13, 4, 4, 0, 14, 4, 14, 0, 15, 4, 14, 0, 16, 4, 14, 0, 17, 4, - 7, 0, 18, 4,185, 0, 14, 0,185, 0, 0, 0,185, 0, 1, 0, 27, 0, 37, 0, 7, 0, 17, 3, 7, 0, 79, 1, 7, 0, 18, 3, - 7, 0, 10, 3, 0, 0, 19, 0, 4, 0, 19, 3, 4, 0, 20, 3, 4, 0, 19, 4, 2, 0, 16, 0, 2, 0, 20, 4, 7, 0, 21, 3, -186, 0, 12, 0,186, 0, 0, 0,186, 0, 1, 0, 27, 0, 43, 0, 4, 0, 21, 4, 4, 0, 17, 2, 7, 0, 79, 1, 7, 0, 22, 4, - 7, 0, 23, 4, 7, 0,175, 2, 2, 0, 16, 0, 0, 0, 24, 4, 0, 0, 25, 4,183, 0, 40, 0, 4, 0, 18, 0, 2, 0, 26, 4, - 2, 0, 27, 4, 2, 0, 10, 3, 2, 0, 28, 4, 2, 0, 29, 4, 2, 0, 30, 4, 2, 0, 31, 4, 2, 0, 32, 4, 7, 0, 33, 4, - 7, 0, 34, 4, 7, 0, 35, 4, 7, 0, 36, 4, 7, 0, 37, 4, 7, 0, 38, 4, 7, 0, 39, 4, 7, 0, 40, 4, 7, 0, 41, 4, - 7, 0, 42, 4, 7, 0, 43, 4, 7, 0, 44, 4, 7, 0, 45, 4, 7, 0, 46, 4, 7, 0, 47, 4, 7, 0, 48, 4, 7, 0, 49, 4, - 7, 0, 50, 4, 7, 0, 51, 4, 7, 0, 52, 4, 7, 0, 53, 4, 7, 0, 54, 4, 7, 0, 55, 4, 7, 0, 56, 4, 7, 0, 57, 4, - 7, 0, 58, 4, 7, 0, 59, 4, 47, 0,168, 0,187, 0, 60, 4, 7, 0, 61, 4, 4, 0,219, 2,188, 0, 5, 0, 64, 0,253, 1, - 7, 0, 62, 4, 7, 0, 63, 4, 2, 0, 18, 0, 2, 0, 64, 4,189, 0, 5, 0,189, 0, 0, 0,189, 0, 1, 0, 4, 0, 16, 0, - 4, 0, 65, 4, 11, 0, 2, 0,190, 0, 9, 0,190, 0, 0, 0,190, 0, 1, 0, 4, 0, 66, 4, 4, 0, 67, 4, 4, 0, 68, 4, - 4, 0, 18, 0, 11, 0, 69, 4, 11, 0, 70, 4, 14, 0, 71, 4,140, 0, 23, 0,140, 0, 0, 0,140, 0, 1, 0, 4, 0, 18, 0, - 4, 0, 72, 4, 4, 0, 73, 4, 4, 0, 74, 4, 4, 0, 75, 4, 4, 0, 76, 4, 4, 0, 77, 4, 4, 0, 78, 4, 4, 0, 27, 0, - 4, 0, 67, 4, 4, 0, 17, 2, 2, 0, 79, 4, 2, 0, 55, 0, 0, 0, 19, 0, 0, 0, 80, 4, 0, 0, 81, 4, 0, 0, 82, 4, - 0, 0, 83, 4, 14, 0, 84, 4,191, 0, 85, 4, 11, 0, 86, 4,192, 0, 1, 0, 7, 0, 50, 2,182, 0, 30, 0, 4, 0, 18, 0, - 7, 0, 87, 4, 7, 0, 88, 4, 7, 0, 89, 4, 4, 0, 90, 4, 4, 0, 91, 4, 4, 0, 92, 4, 4, 0, 93, 4, 7, 0, 94, 4, - 7, 0, 95, 4, 7, 0, 96, 4, 7, 0, 97, 4, 7, 0, 98, 4, 7, 0, 99, 4, 7, 0,100, 4, 7, 0,101, 4, 7, 0,102, 4, - 7, 0,103, 4, 7, 0,104, 4, 7, 0,105, 4, 7, 0,106, 4, 7, 0,107, 4, 7, 0,108, 4, 7, 0,109, 4, 7, 0,110, 4, - 7, 0,111, 4, 4, 0,112, 4, 4, 0,113, 4, 7, 0,114, 4, 7, 0,232, 3,184, 0, 54, 0, 4, 0, 67, 4, 4, 0,115, 4, -193, 0,116, 4,194, 0,117, 4, 0, 0, 27, 0, 0, 0,118, 4, 2, 0,119, 4, 7, 0,120, 4, 0, 0,121, 4, 7, 0,122, 4, - 7, 0,123, 4, 7, 0,124, 4, 7, 0,125, 4, 7, 0,126, 4, 7, 0,127, 4, 7, 0,128, 4, 7, 0,129, 4, 7, 0,130, 4, - 2, 0,131, 4, 0, 0,132, 4, 2, 0,133, 4, 7, 0,134, 4, 7, 0,135, 4, 0, 0,136, 4, 4, 0,128, 0, 4, 0,137, 4, - 4, 0,138, 4, 2, 0,139, 4, 2, 0,140, 4,192, 0,141, 4, 4, 0,142, 4, 4, 0, 81, 0, 7, 0,143, 4, 7, 0,144, 4, - 7, 0,145, 4, 7, 0,146, 4, 2, 0,147, 4, 2, 0,148, 4, 2, 0,149, 4, 2, 0,150, 4, 2, 0,151, 4, 2, 0,152, 4, - 2, 0,153, 4, 2, 0,154, 4,195, 0,155, 4, 7, 0,156, 4, 7, 0,157, 4,140, 0,158, 4, 14, 0, 26, 3,188, 0,159, 4, - 7, 0,160, 4, 7, 0,161, 4, 7, 0,162, 4, 4, 0,163, 4,196, 0, 1, 0, 7, 0,164, 4,156, 0, 52, 0,155, 0,165, 4, - 2, 0, 16, 0, 2, 0,166, 4, 2, 0,167, 4, 2, 0,168, 4, 7, 0,169, 4, 2, 0,170, 4, 2, 0,171, 4, 7, 0,172, 4, - 2, 0,173, 4, 2, 0,174, 4, 7, 0,175, 4, 7, 0,176, 4, 7, 0,177, 4, 4, 0,178, 4, 4, 0,179, 4, 4, 0,180, 4, - 4, 0, 27, 0, 7, 0,181, 4, 4, 0,182, 4, 7, 0,183, 4, 7, 0,184, 4, 7, 0,185, 4, 79, 0,186, 4, 79, 0,187, 4, - 0, 0,188, 4, 7, 0,189, 4, 7, 0,190, 4, 31, 0, 79, 0, 2, 0,191, 4, 0, 0,192, 4, 0, 0,193, 4, 7, 0,194, 4, - 4, 0,195, 4, 7, 0,196, 4, 7, 0,197, 4, 4, 0,198, 4, 4, 0, 18, 0, 7, 0,199, 4, 7, 0,200, 4, 7, 0,201, 4, -196, 0,202, 4, 4, 0, 52, 0, 7, 0,203, 4, 7, 0,204, 4, 7, 0,205, 4, 7, 0,206, 4, 7, 0,207, 4, 7, 0,208, 4, - 7, 0,209, 4, 4, 0,210, 4, 7, 0,211, 4,197, 0, 78, 0, 22, 0, 32, 0, 34, 0, 74, 0, 2, 0,178, 0, 2, 0, 88, 1, - 2, 0,124, 1, 2, 0,212, 4, 7, 0,213, 4, 7, 0,214, 4, 7, 0,215, 4, 7, 0,216, 4, 7, 0,217, 4, 7, 0,218, 4, - 7, 0,173, 1, 7, 0,175, 1, 7, 0,174, 1, 7, 0, 30, 0, 4, 0,219, 4, 7, 0,220, 4, 7, 0,221, 4, 7, 0,222, 4, - 7, 0,223, 4, 7, 0,224, 4, 7, 0,225, 4, 7, 0,226, 4, 2, 0,227, 4, 2, 0, 87, 1, 2, 0,228, 4, 2, 0,229, 4, - 2, 0,230, 4, 2, 0,231, 4, 2, 0,232, 4, 2, 0,233, 4, 7, 0,234, 4, 7, 0,235, 4, 7, 0,236, 4, 7, 0,237, 4, - 7, 0,238, 4, 7, 0,239, 4, 7, 0,240, 4, 7, 0,241, 4, 7, 0,242, 4, 7, 0,243, 4, 7, 0,244, 4, 7, 0,245, 4, - 2, 0,246, 4, 2, 0,247, 4, 2, 0,248, 4, 2, 0,249, 4, 7, 0,250, 4, 7, 0,251, 4, 7, 0,252, 4, 7, 0,253, 4, - 2, 0,254, 4, 2, 0,255, 4, 2, 0, 0, 5, 2, 0, 1, 5, 7, 0, 2, 5, 7, 0, 3, 5, 7, 0, 4, 5, 7, 0, 5, 5, - 7, 0, 6, 5, 7, 0, 7, 5, 7, 0, 8, 5, 2, 0, 9, 5, 2, 0, 10, 5, 2, 0, 11, 5, 2, 0, 12, 5, 2, 0, 13, 5, - 2, 0, 18, 0, 7, 0, 14, 5, 7, 0, 15, 5, 31, 0, 79, 0, 46, 0,143, 1, 2, 0,144, 1, 2, 0, 76, 1, 2, 0,186, 2, - 25, 0,153, 0, 57, 0, 70, 1,198, 0, 8, 0,198, 0, 0, 0,198, 0, 1, 0, 4, 0,210, 3, 4, 0, 16, 5, 4, 0, 18, 0, - 2, 0, 17, 5, 2, 0, 18, 5, 27, 0,167, 0,199, 0, 13, 0, 11, 0, 19, 5, 11, 0, 20, 5, 4, 0, 21, 5, 4, 0, 22, 5, - 4, 0, 23, 5, 4, 0, 24, 5, 4, 0, 25, 5, 4, 0, 26, 5, 4, 0, 27, 5, 4, 0, 28, 5, 4, 0, 29, 5, 4, 0, 27, 0, - 0, 0, 30, 5,200, 0, 5, 0, 11, 0, 31, 5, 11, 0, 32, 5, 4, 0, 33, 5, 4, 0, 30, 0, 0, 0, 34, 5,201, 0, 17, 0, - 4, 0, 35, 5, 4, 0, 36, 5, 4, 0, 37, 5, 4, 0, 38, 5, 4, 0, 39, 5, 4, 0, 40, 5, 4, 0, 41, 5, 4, 0, 42, 5, - 4, 0, 43, 5, 4, 0, 44, 5, 4, 0, 45, 5, 4, 0, 46, 5, 2, 0, 47, 5, 2, 0, 48, 5, 4, 0, 49, 5, 4, 0, 50, 5, - 4, 0, 66, 0,202, 0, 17, 0, 4, 0, 16, 0, 4, 0, 37, 5, 4, 0, 51, 5, 4, 0, 52, 5, 4, 0, 53, 5, 4, 0, 54, 5, - 4, 0, 55, 5, 4, 0, 56, 5, 7, 0, 57, 5, 4, 0, 58, 5, 4, 0, 91, 0, 4, 0, 59, 5, 4, 0, 60, 5, 4, 0, 61, 5, - 4, 0, 62, 5, 4, 0, 63, 5, 21, 0, 31, 0,203, 0, 9, 0, 4, 0, 64, 5, 7, 0, 65, 5, 7, 0, 66, 5, 7, 0, 67, 5, - 4, 0, 68, 5, 2, 0, 18, 0, 2, 0, 27, 0, 7, 0, 89, 4, 7, 0, 30, 0,204, 0, 13, 0,204, 0, 0, 0,204, 0, 1, 0, - 0, 0, 19, 0, 63, 0, 69, 5, 64, 0, 70, 5, 4, 0,210, 3, 4, 0, 71, 5, 4, 0, 72, 5, 4, 0, 73, 5, 4, 0, 74, 5, - 4, 0, 75, 5, 4, 0, 76, 5, 4, 0, 27, 0,205, 0, 13, 0, 0, 0, 77, 5, 0, 0,250, 0, 0, 0, 78, 5, 0, 0, 18, 0, - 0, 0, 79, 5, 0, 0, 80, 5, 0, 0, 81, 5, 0, 0, 82, 5, 2, 0, 83, 5, 2, 0, 84, 5, 7, 0, 85, 5, 0, 0, 86, 5, - 0, 0,123, 0,206, 0,106, 0,205, 0, 87, 5,199, 0, 88, 5,200, 0, 89, 5,201, 0, 90, 5,202, 0, 91, 5, 4, 0, 41, 3, - 4, 0,128, 0, 4, 0,137, 4, 7, 0, 92, 5, 4, 0, 93, 5, 4, 0, 94, 5, 4, 0, 95, 5, 4, 0, 96, 5, 2, 0, 18, 0, - 2, 0, 97, 5, 7, 0, 98, 5, 7, 0, 99, 5, 7, 0,100, 5, 7, 0,101, 5, 7, 0,102, 5, 2, 0,103, 5, 2, 0,104, 5, - 2, 0,105, 5, 2, 0,106, 5, 2, 0,250, 0, 2, 0,107, 5, 4, 0,108, 5, 2, 0,109, 5, 2, 0,110, 5, 2, 0,110, 1, - 2, 0,107, 0, 2, 0,111, 5, 2, 0,112, 5, 2, 0,113, 5, 2, 0,114, 5, 2, 0,115, 5, 2, 0, 78, 5, 2, 0, 77, 5, - 2, 0,116, 5, 2, 0, 79, 5, 2, 0,117, 5, 4, 0,118, 5, 4, 0, 87, 1, 4, 0,119, 5, 2, 0,120, 5, 2, 0, 66, 0, - 2, 0,121, 5, 2, 0,122, 5, 2, 0,123, 5, 2, 0,124, 5, 2, 0,125, 5, 2, 0,126, 5, 19, 0,127, 5, 19, 0,128, 5, - 18, 0,129, 5, 14, 0,130, 5, 2, 0,131, 5, 2, 0,132, 5, 7, 0,133, 5, 7, 0,134, 5, 7, 0,135, 5, 7, 0,136, 5, - 4, 0,137, 5, 7, 0,138, 5, 7, 0,139, 5, 7, 0,140, 5, 7, 0,141, 5, 2, 0,142, 5, 2, 0,143, 5, 2, 0,144, 5, - 2, 0,145, 5, 2, 0,146, 5, 2, 0,147, 5, 7, 0,148, 5, 7, 0,149, 5, 7, 0,150, 5, 0, 0,151, 5, 4, 0,152, 5, - 2, 0,153, 5, 2, 0,250, 1, 0, 0,154, 5, 7, 0,155, 5, 7, 0,156, 5, 0, 0,157, 5, 0, 0,158, 5, 0, 0,159, 5, - 0, 0,160, 5, 4, 0,161, 5, 2, 0,162, 5, 2, 0,163, 5, 7, 0,164, 5, 7, 0,165, 5, 2, 0,166, 5, 2, 0,167, 5, - 7, 0,168, 5, 2, 0,169, 5, 2, 0,170, 5, 4, 0,171, 5, 2, 0,172, 5, 2, 0,173, 5, 2, 0,174, 5, 2, 0,175, 5, - 7, 0,176, 5, 7, 0, 30, 0, 37, 0,177, 5, 0, 0,178, 5,207, 0, 9, 0,207, 0, 0, 0,207, 0, 1, 0, 0, 0,179, 5, - 2, 0,180, 5, 2, 0,181, 5, 2, 0,182, 5, 2, 0, 66, 0, 7, 0,183, 5, 7, 0, 30, 0,208, 0, 7, 0, 2, 0,236, 2, - 2, 0, 87, 1, 2, 0, 99, 3, 2, 0,184, 5, 7, 0,185, 5, 7, 0, 30, 0, 37, 0,186, 5,209, 0, 5, 0, 7, 0,187, 5, - 0, 0, 16, 0, 0, 0, 66, 0, 0, 0, 30, 0, 0, 0,250, 1,210, 0, 15, 0, 7, 0,188, 5, 7, 0,189, 5, 7, 0,190, 5, - 7, 0,191, 5, 7, 0,192, 5, 7, 0,193, 5, 7, 0,194, 5, 7, 0,195, 5, 7, 0,196, 5, 7, 0,197, 5, 4, 0,198, 5, - 7, 0,199, 5, 7, 0,200, 5, 2, 0, 66, 0, 2, 0, 30, 0,211, 0, 32, 0,209, 0,201, 5, 2, 0,202, 5, 2, 0,104, 5, - 2, 0,105, 5, 2, 0,106, 5, 2, 0,250, 0, 2, 0,107, 5, 2, 0,203, 5, 2, 0,204, 5, 2, 0,205, 5, 2, 0,206, 5, -208, 0,207, 5, 2, 0,208, 5, 2, 0,109, 5, 7, 0,209, 5,210, 0,210, 5, 7, 0,225, 4, 7, 0,226, 4, 4, 0, 18, 0, - 2, 0, 87, 1, 2, 0,211, 5, 2, 0,228, 4, 2, 0,229, 4, 2, 0,212, 5, 2, 0, 27, 0, 2, 0,230, 4, 2, 0,231, 4, - 2, 0,232, 4, 2, 0,233, 4, 2, 0,213, 5, 2, 0, 66, 0, 7, 0,214, 5,212, 0, 6, 0,212, 0, 0, 0,212, 0, 1, 0, - 4, 0, 66, 4, 0, 0, 19, 0, 4, 0, 18, 0, 27, 0,215, 5,213, 0, 4, 0,214, 0,151, 3, 11, 0,216, 5, 0, 0,217, 5, - 4, 0, 91, 0,215, 0, 8, 0,213, 0,218, 5, 2, 0, 18, 0, 2, 0, 27, 0, 2, 0,219, 5, 2, 0,220, 5, 2, 0,221, 5, - 4, 0, 66, 0, 11, 0,222, 5,216, 0, 6, 0, 2, 0,107, 0, 2, 0, 72, 4, 2, 0,223, 5, 2, 0,230, 2, 4, 0, 18, 0, - 7, 0,214, 2,217, 0, 14, 0, 2, 0, 18, 0, 2, 0,224, 5, 2, 0,225, 5, 2, 0,226, 5,216, 0,227, 5, 11, 0,222, 5, - 7, 0,228, 5, 7, 0, 55, 0, 4, 0,229, 5, 4, 0,230, 5, 4, 0,231, 5, 4, 0,232, 5, 41, 0,124, 0, 27, 0,167, 0, -218, 0, 14, 0,213, 0,218, 5, 4, 0, 91, 0, 4, 0,233, 5, 7, 0,234, 5, 7, 0,235, 5, 7, 0,236, 5, 4, 0,237, 5, - 4, 0,238, 5, 7, 0,239, 5, 7, 0,240, 5, 4, 0,241, 5, 7, 0,242, 5, 7, 0,243, 5, 4, 0, 27, 0,219, 0, 1, 0, -213, 0,218, 5,220, 0, 7, 0,213, 0,218, 5, 2, 0, 18, 0, 2, 0, 27, 0, 4, 0,240, 0, 4, 0,244, 5, 91, 0,245, 5, - 11, 0,222, 5,221, 0, 5, 0,221, 0, 0, 0,221, 0, 1, 0, 0, 0, 19, 0, 7, 0,246, 5, 4, 0, 27, 0,222, 0, 6, 0, - 4, 0,107, 0, 7, 0,247, 5, 7, 0,181, 1, 7, 0, 43, 2, 4, 0, 18, 0, 4, 0, 27, 0,223, 0, 85, 0,220, 0,248, 5, -220, 0,249, 5,218, 0,174, 3,219, 0,250, 5, 7, 0,251, 5, 2, 0,252, 5, 2, 0,250, 1, 7, 0,253, 5, 7, 0,254, 5, - 2, 0, 72, 4, 2, 0,255, 5, 7, 0, 0, 6, 7, 0, 1, 6, 7, 0, 2, 6, 2, 0, 3, 6, 2, 0,229, 5, 2, 0, 4, 6, - 2, 0, 5, 6, 2, 0, 6, 6, 2, 0, 7, 6, 7, 0, 8, 6, 7, 0, 9, 6, 7, 0, 10, 6, 2, 0, 11, 6, 2, 0, 12, 6, - 2, 0, 13, 6, 2, 0, 14, 6, 2, 0, 15, 6, 2, 0, 16, 6, 2, 0, 17, 6, 2, 0, 18, 6,215, 0, 19, 6,217, 0, 20, 6, - 7, 0, 21, 6, 7, 0, 22, 6, 7, 0, 23, 6, 2, 0, 24, 6, 2, 0, 25, 6, 0, 0, 26, 6, 0, 0, 27, 6, 2, 0, 28, 6, - 7, 0, 29, 6, 7, 0, 30, 6, 7, 0, 31, 6, 7, 0, 32, 6, 7, 0, 33, 6, 7, 0, 34, 6, 7, 0, 35, 6, 7, 0, 36, 6, - 7, 0, 37, 6, 7, 0, 38, 6, 2, 0, 39, 6, 0, 0, 40, 6, 0, 0, 41, 6, 0, 0, 42, 6, 0, 0, 43, 6, 27, 0, 44, 6, - 0, 0, 45, 6, 0, 0, 46, 6, 0, 0, 47, 6, 0, 0, 48, 6, 0, 0, 49, 6, 0, 0, 50, 6, 0, 0, 51, 6, 0, 0, 52, 6, - 0, 0, 53, 6, 0, 0, 54, 6, 2, 0, 55, 6, 2, 0, 56, 6, 2, 0, 57, 6, 2, 0, 58, 6, 0, 0, 59, 6, 0, 0, 60, 6, - 0, 0, 61, 6, 0, 0, 62, 6, 4, 0, 63, 6, 4, 0, 64, 6, 4, 0, 65, 6, 4, 0, 66, 6, 2, 0, 67, 6, 2, 0, 66, 0, - 4, 0, 68, 6, 7, 0, 69, 6, 7, 0, 70, 6,222, 0, 71, 6,224, 0, 8, 0, 4, 0, 72, 6, 4, 0, 73, 6, 4, 0, 74, 6, - 4, 0, 75, 6, 4, 0, 76, 6, 4, 0, 77, 6, 4, 0, 52, 0, 4, 0,143, 2,225, 0, 4, 0, 7, 0, 78, 6, 0, 0, 79, 6, - 0, 0, 80, 6, 2, 0, 18, 0,226, 0, 4, 0, 7, 0, 81, 6, 4, 0, 18, 0, 4, 0, 82, 6, 4, 0, 55, 0, 41, 0, 46, 0, - 22, 0, 32, 0, 34, 0, 74, 0, 27, 0,215, 5,197, 0, 83, 6, 41, 0, 84, 6, 14, 0, 85, 6,198, 0, 86, 6, 27, 0, 87, 6, - 7, 0, 88, 6, 7, 0, 89, 6, 7, 0, 90, 6, 7, 0, 91, 6, 4, 0,210, 3, 4, 0, 92, 6, 4, 0, 93, 6, 2, 0, 18, 0, - 2, 0, 76, 1, 57, 0, 70, 1,227, 0, 94, 6,223, 0, 95, 6,228, 0, 96, 6,206, 0,184, 0,203, 0, 97, 6, 14, 0,101, 0, - 14, 0, 98, 6, 11, 0, 99, 6, 11, 0,100, 6, 11, 0,101, 6, 11, 0,102, 6, 11, 0,103, 6,229, 0,104, 6, 2, 0,105, 6, - 2, 0,106, 6, 2, 0,251, 0, 2, 0,211, 3, 4, 0,221, 3, 4, 0,107, 6, 14, 0,108, 6,209, 0,201, 5,211, 0,109, 6, -225, 0,110, 6,179, 0,187, 3,226, 0,111, 6,230, 0,112, 6, 10, 0, 12, 4, 10, 0,113, 6,231, 0, 14, 0,231, 0, 0, 0, -231, 0, 1, 0, 42, 0,242, 0, 40, 0, 69, 1,230, 0,112, 6,232, 0,114, 6, 7, 0,100, 2, 7, 0,101, 2, 7, 0,107, 0, - 7, 0,115, 6, 2, 0,116, 6, 2, 0, 18, 0, 2, 0,142, 0, 2, 0, 27, 0,233, 0, 39, 0, 7, 0,117, 6, 7, 0,118, 6, - 7, 0,119, 6, 7, 0,120, 6, 7, 0,121, 6, 7, 0,122, 6, 7, 0,123, 6, 7, 0,124, 6, 7, 0,125, 6, 68, 0,126, 6, -179, 0,187, 3,233, 0,127, 6,234, 0,128, 6,235, 0,129, 6,236, 0,130, 6,237, 0,131, 6,238, 0,132, 6, 7, 0,133, 6, - 7, 0,134, 6, 7, 0, 94, 1, 7, 0,135, 6, 7, 0,136, 6, 7, 0,137, 6, 7, 0,138, 6, 7, 0,174, 0, 7, 0,139, 6, - 0, 0,140, 6, 0, 0,141, 6, 0, 0,116, 6, 0, 0,142, 6, 2, 0,143, 6, 2, 0,144, 6, 7, 0,145, 6, 2, 0,146, 6, - 2, 0,147, 6, 7, 0,148, 6, 7, 0,149, 6, 7, 0,150, 6, 7, 0,151, 6,239, 0, 51, 0,240, 0, 0, 0,240, 0, 1, 0, - 14, 0,152, 6, 4, 0,153, 6, 7, 0,154, 6, 2, 0,155, 6, 7, 0,134, 6, 7, 0, 94, 1, 7, 0,156, 6, 2, 0,157, 6, - 0, 0,216, 2, 4, 0,158, 6, 2, 0,141, 6, 2, 0,116, 6, 27, 0,215, 5, 27, 0,159, 6, 14, 0,160, 6,231, 0,161, 6, -239, 0,127, 6, 0, 0,162, 6, 4, 0,210, 3, 4, 0, 92, 6, 2, 0,163, 6, 2, 0,164, 6, 2, 0,165, 6, 2, 0,166, 6, - 2, 0, 18, 0, 2, 0, 35, 2, 7, 0,113, 0, 7, 0,167, 6, 7, 0,168, 6, 7, 0,169, 6, 7, 0,174, 0, 7, 0, 88, 6, - 2, 0,170, 6, 2, 0,171, 6, 2, 0,172, 6, 0, 0,173, 6, 0, 0,174, 6, 0, 0,175, 6, 0, 0,176, 6, 0, 0,177, 6, - 14, 0,178, 6, 14, 0,179, 6, 14, 0,180, 6, 2, 0,181, 6, 2, 0,157, 2, 2, 0,182, 6, 0, 0,183, 6, 11, 0,184, 6, -179, 0,187, 3,241, 0, 24, 0, 19, 0,240, 0, 19, 0, 62, 0, 18, 0,185, 6, 18, 0,186, 6, 18, 0,187, 6, 7, 0,188, 6, - 7, 0,189, 6, 7, 0,190, 6, 7, 0,191, 6, 2, 0,192, 6, 2, 0,193, 6, 2, 0,194, 6, 2, 0,195, 6, 2, 0,196, 6, - 2, 0, 18, 0, 2, 0,197, 6, 2, 0,198, 6, 2, 0,199, 6, 2, 0,200, 6, 2, 0,201, 6, 2, 0,166, 6, 7, 0,202, 6, - 4, 0,203, 6, 4, 0,204, 6,240, 0, 6, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,152, 6, 4, 0,153, 6, 7, 0,154, 6, - 2, 0,155, 6,242, 0, 8, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,152, 6, 4, 0,153, 6, 7, 0,154, 6, 2, 0,155, 6, - 0, 0,205, 6, 0, 0,123, 0,243, 0, 14, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,152, 6, 4, 0,153, 6, 7, 0,154, 6, - 2, 0,155, 6,241, 0,206, 6,244, 0,207, 6, 14, 0,208, 6, 2, 0, 87, 1, 2, 0,209, 6, 4, 0, 18, 0, 7, 0,210, 6, - 4, 0,166, 6,245, 0, 21, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,152, 6, 4, 0,153, 6, 7, 0,154, 6, 2, 0,155, 6, -241, 0,206, 6, 2, 0,211, 6, 2, 0,212, 6, 2, 0,213, 6, 2, 0,214, 6, 2, 0,197, 6, 2, 0,215, 6, 2, 0,216, 6, - 0, 0, 18, 0, 0, 0, 27, 0, 11, 0, 76, 2, 4, 0,217, 6, 4, 0,218, 6, 22, 0,219, 6, 11, 0,220, 6,246, 0, 18, 0, -240, 0, 0, 0,240, 0, 1, 0, 14, 0,152, 6, 4, 0,153, 6, 7, 0,154, 6, 2, 0,155, 6,241, 0,206, 6, 7, 0,100, 2, - 7, 0,101, 2, 2, 0,211, 6, 2, 0,221, 6, 2, 0,222, 6, 2, 0,223, 6, 4, 0, 18, 0, 7, 0,224, 6, 4, 0,116, 6, - 4, 0, 27, 0,179, 0,187, 3,247, 0, 16, 0, 0, 0,225, 6, 0, 0,226, 6, 0, 0,227, 6, 0, 0,228, 6, 0, 0,229, 6, - 0, 0,230, 6, 4, 0,231, 6, 4, 0,232, 6, 4, 0,233, 6, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0,234, 6, 2, 0,235, 6, - 2, 0,193, 1, 2, 0,236, 6, 0, 0,237, 6,248, 0, 16, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,152, 6, 4, 0,153, 6, - 4, 0,238, 6,247, 0,239, 6,249, 0,240, 6, 14, 0,241, 6, 14, 0,242, 6,250, 0,243, 6,238, 0,244, 6,251, 0,245, 6, - 2, 0,246, 6, 2, 0,247, 6, 2, 0,248, 6, 2, 0, 30, 0,252, 0, 15, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,152, 6, - 4, 0,153, 6, 7, 0,154, 6, 2, 0,155, 6,241, 0,206, 6, 14, 0,249, 6,253, 0,250, 6, 0, 0,251, 6,254, 0,252, 6, - 2, 0, 18, 0, 2, 0,253, 6, 2, 0,254, 6, 2, 0,255, 6,255, 0, 25, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,152, 6, - 4, 0,153, 6, 4, 0, 18, 0, 42, 0,249, 2, 40, 0, 69, 1, 54, 0, 0, 7, 0, 1, 1, 7, 1, 1, 2, 7,179, 0,187, 3, - 7, 0, 3, 7, 7, 0,100, 2, 7, 0,101, 2, 7, 0,224, 6, 7, 0, 4, 7, 7, 0, 5, 7, 2, 0, 6, 7, 2, 0, 27, 0, - 2, 0, 7, 7, 2, 0, 8, 7, 0, 0, 9, 7, 0, 0, 10, 7, 0, 0, 11, 7, 0, 0,166, 6, 2, 1, 11, 0,240, 0, 0, 0, -240, 0, 1, 0, 14, 0,152, 6, 4, 0,153, 6, 7, 0,154, 6, 2, 0,155, 6, 2, 0,209, 6, 2, 0, 18, 0, 4, 0, 27, 0, -244, 0,207, 6,241, 0,206, 6, 3, 1, 31, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,152, 6, 4, 0,153, 6, 7, 0,154, 6, - 2, 0,155, 6, 37, 0, 12, 7, 4, 0, 13, 7, 4, 0, 14, 7, 2, 0, 91, 0, 2, 0, 15, 7, 2, 0, 16, 7, 0, 0, 17, 7, - 0, 0, 18, 7, 4, 0, 19, 7, 4, 0, 20, 7, 4, 0, 21, 7, 2, 0, 22, 7, 2, 0, 23, 7, 2, 0, 24, 7, 2, 0, 25, 7, - 7, 0, 26, 7, 18, 0, 27, 7, 18, 0, 28, 7, 4, 0, 29, 7, 4, 0, 30, 7, 0, 0, 31, 7, 0, 0, 32, 7, 2, 0, 33, 7, - 0, 0,216, 2, 11, 0, 34, 7, 4, 1, 10, 0, 22, 0, 32, 0, 11, 0, 35, 7, 11, 0, 36, 7, 11, 0, 37, 7, 11, 0, 38, 7, - 11, 0, 39, 7, 4, 0, 91, 0, 4, 0, 40, 7, 0, 0, 41, 7, 0, 0, 42, 7, 5, 1, 10, 0,240, 0, 0, 0,240, 0, 1, 0, - 14, 0,152, 6, 4, 0,153, 6, 7, 0,154, 6, 4, 1, 43, 7, 2, 0, 91, 0, 2, 0, 15, 7, 4, 0, 66, 0, 11, 0, 44, 7, - 6, 1, 3, 0, 6, 1, 0, 0, 6, 1, 1, 0, 7, 0, 45, 7, 7, 1, 9, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,152, 6, - 4, 0,153, 6, 7, 0,154, 6,241, 0,206, 6, 14, 0, 46, 7, 4, 0, 47, 7, 4, 0, 18, 0, 8, 1, 27, 0,240, 0, 0, 0, -240, 0, 1, 0, 14, 0,152, 6, 4, 0,153, 6, 7, 0,154, 6, 2, 0,155, 6,241, 0,206, 6, 22, 0, 48, 7, 22, 0, 80, 0, - 2, 0, 18, 0, 2, 0, 66, 0, 7, 0, 49, 7, 7, 0,100, 2, 7, 0,101, 2, 7, 0,224, 6, 7, 0, 50, 7, 7, 0, 51, 7, - 7, 0, 52, 7, 57, 0, 70, 1, 57, 0, 53, 7, 4, 0, 54, 7, 2, 0, 55, 7, 2, 0, 56, 7, 2, 0,251, 0, 2, 0, 86, 1, - 14, 0, 57, 7,179, 0,187, 3, 9, 1, 10, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,152, 6, 4, 0,153, 6, 7, 0,154, 6, - 2, 0,155, 6, 2, 0, 18, 0, 2, 0,219, 3, 4, 0, 27, 0,179, 0,187, 3, 10, 1, 7, 0, 10, 1, 0, 0, 10, 1, 1, 0, - 4, 0, 58, 7, 4, 0, 22, 0, 0, 0, 85, 0, 4, 0, 59, 7, 4, 0, 16, 0, 11, 1, 14, 0,240, 0, 0, 0,240, 0, 1, 0, - 14, 0,152, 6, 4, 0,153, 6, 7, 0,154, 6, 2, 0,155, 6, 4, 0, 16, 7, 4, 0, 27, 0, 14, 0, 60, 7, 14, 0, 61, 7, - 0, 0, 62, 7, 0, 0, 63, 7, 4, 0, 64, 7, 4, 0, 65, 7, 12, 1, 6, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,152, 6, - 4, 0,153, 6, 4, 0, 27, 0, 0, 0, 66, 7, 13, 1, 28, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,152, 6, 4, 0,153, 6, - 7, 0,100, 2, 7, 0,101, 2, 7, 0, 67, 7, 7, 0, 68, 7, 7, 0,224, 6,232, 0, 69, 7,230, 0,112, 6, 14, 1, 1, 7, - 4, 0, 18, 0, 2, 0, 87, 1, 2, 0,116, 6, 4, 0, 70, 7, 7, 0, 71, 7, 7, 0,153, 3, 7, 0, 99, 3, 4, 0, 27, 0, - 7, 0, 72, 7, 7, 0, 73, 7, 4, 0, 74, 7, 4, 0, 30, 0, 11, 0, 75, 7, 2, 0, 76, 7, 2, 0, 77, 7, 4, 0,250, 1, - 15, 1, 7, 0, 15, 1, 0, 0, 15, 1, 1, 0, 0, 0, 78, 7, 2, 0, 79, 7, 2, 0, 80, 7, 2, 0, 81, 7, 2, 0, 27, 0, - 16, 1, 12, 0, 2, 0, 80, 7, 2, 0, 82, 7, 2, 0, 83, 7, 0, 0,216, 2, 2, 0, 84, 7, 2, 0, 85, 7, 2, 0, 86, 7, - 2, 0, 87, 7, 2, 0, 88, 7, 2, 0,197, 6, 7, 0, 89, 7, 7, 0, 90, 7, 17, 1, 18, 0, 17, 1, 0, 0, 17, 1, 1, 0, - 0, 0, 19, 0, 16, 1, 91, 7, 16, 1, 92, 7, 16, 1, 93, 7, 16, 1, 94, 7, 7, 0, 95, 7, 2, 0, 96, 7, 2, 0, 97, 7, - 2, 0, 98, 7, 2, 0, 99, 7, 2, 0,100, 7, 2, 0,101, 7, 2, 0,102, 7, 2, 0,103, 7, 2, 0,104, 7, 2, 0, 27, 0, - 18, 1, 10, 0, 0, 0,105, 7, 0, 0,106, 7, 0, 0,107, 7, 0, 0,108, 7, 0, 0,109, 7, 0, 0,110, 7, 2, 0,111, 7, - 2, 0,112, 7, 2, 0,113, 7, 2, 0,114, 7, 19, 1, 8, 0, 0, 0,115, 7, 0, 0,116, 7, 0, 0,117, 7, 0, 0,118, 7, - 0, 0,119, 7, 0, 0,120, 7, 7, 0,115, 6, 7, 0, 27, 0, 20, 1, 3, 0, 0, 0,121, 7, 2, 0,122, 7, 2, 0, 27, 0, - 21, 1, 22, 0, 18, 1,123, 7, 18, 1,124, 7, 18, 1,125, 7, 18, 1,126, 7, 18, 1,127, 7, 18, 1,128, 7, 18, 1,129, 7, - 18, 1,130, 7, 18, 1,131, 7, 18, 1,132, 7, 18, 1,133, 7, 18, 1,134, 7, 18, 1,135, 7, 18, 1,136, 7, 18, 1,137, 7, - 18, 1,138, 7, 18, 1,139, 7, 19, 1,140, 7, 20, 1,141, 7, 0, 0,142, 7, 7, 0,143, 7, 7, 0, 27, 0, 22, 1,122, 0, - 0, 0,144, 7, 0, 0,145, 7, 0, 0,109, 7, 0, 0,146, 7, 0, 0,121, 7, 0, 0,147, 7, 0, 0,148, 7, 0, 0,149, 7, - 0, 0,150, 7, 0, 0,151, 7, 0, 0,152, 7, 0, 0,153, 7, 0, 0,154, 7, 0, 0,155, 7, 0, 0,156, 7, 0, 0,157, 7, - 0, 0,158, 7, 0, 0,159, 7, 0, 0,160, 7, 0, 0,161, 7, 0, 0,162, 7, 0, 0,163, 7, 0, 0,164, 7, 0, 0,165, 7, - 0, 0,166, 7, 0, 0,167, 7, 0, 0,168, 7, 0, 0,169, 7, 0, 0,170, 7, 0, 0,171, 7, 0, 0,172, 7, 0, 0,173, 7, - 0, 0,174, 7, 0, 0,175, 7, 0, 0,176, 7, 0, 0,177, 7, 0, 0,178, 7, 0, 0,179, 7, 0, 0,180, 7, 0, 0,181, 7, - 0, 0,182, 7, 0, 0,183, 7, 0, 0,184, 7, 0, 0,185, 7, 0, 0,186, 7, 0, 0,187, 7, 0, 0,188, 7, 0, 0,189, 7, - 0, 0,190, 7, 0, 0,191, 7, 0, 0,192, 7, 0, 0,193, 7, 0, 0,194, 7, 0, 0,195, 7, 0, 0,196, 7, 0, 0,197, 7, - 0, 0,198, 7, 0, 0,199, 7, 0, 0,200, 7, 0, 0,201, 7, 0, 0,202, 7, 0, 0,203, 7, 0, 0,204, 7, 0, 0,205, 7, - 0, 0,206, 7, 0, 0,207, 7, 0, 0,208, 7, 0, 0,209, 7, 0, 0,210, 7, 0, 0,211, 7, 0, 0,212, 7, 0, 0,213, 7, - 0, 0,214, 7, 0, 0,215, 7, 0, 0,216, 7, 0, 0,217, 7, 0, 0,218, 7, 0, 0,219, 7, 0, 0,220, 7, 0, 0,221, 7, - 0, 0,222, 7, 0, 0,223, 7, 0, 0,224, 7, 0, 0,225, 7, 0, 0,226, 7, 0, 0,227, 7, 0, 0,228, 7, 0, 0,229, 7, - 0, 0,230, 7, 0, 0,231, 7, 0, 0,232, 7, 0, 0,233, 7, 0, 0,234, 7, 0, 0,235, 7, 0, 0,236, 7, 0, 0,237, 7, - 0, 0,238, 7, 0, 0,239, 7, 0, 0,240, 7, 0, 0,241, 7, 0, 0,242, 7, 0, 0,243, 7, 0, 0,244, 7, 0, 0,245, 7, - 0, 0,246, 7, 0, 0,247, 7, 0, 0,248, 7, 0, 0,249, 7, 0, 0,250, 7, 0, 0,251, 7, 0, 0,252, 7, 0, 0,253, 7, - 0, 0,254, 7, 0, 0,255, 7, 0, 0, 0, 8, 0, 0, 1, 8, 0, 0, 2, 8, 0, 0, 3, 8, 0, 0, 4, 8, 0, 0, 5, 8, - 0, 0, 6, 8, 0, 0, 7, 8, 23, 1, 5, 0, 0, 0, 8, 8, 0, 0,167, 7, 0, 0,173, 7, 2, 0, 18, 0, 2, 0, 27, 0, - 24, 1, 24, 0, 24, 1, 0, 0, 24, 1, 1, 0, 0, 0,179, 5, 21, 1, 9, 8, 22, 1, 10, 8, 22, 1, 11, 8, 22, 1, 12, 8, - 22, 1, 13, 8, 22, 1, 14, 8, 22, 1, 15, 8, 22, 1, 16, 8, 22, 1, 17, 8, 22, 1, 18, 8, 22, 1, 19, 8, 22, 1, 20, 8, - 22, 1, 21, 8, 22, 1, 22, 8, 22, 1, 23, 8, 22, 1, 24, 8, 22, 1, 25, 8, 22, 1, 26, 8, 23, 1, 27, 8, 4, 0, 28, 8, - 4, 0, 27, 0, 25, 1, 3, 0, 25, 1, 0, 0, 25, 1, 1, 0, 0, 0, 29, 8, 26, 1, 5, 0, 4, 0, 18, 0, 4, 0, 27, 0, - 7, 0,156, 2, 7, 0, 30, 8, 7, 0, 50, 2, 27, 1, 95, 0, 4, 0, 18, 0, 4, 0, 31, 8, 4, 0, 32, 8, 0, 0, 33, 8, - 0, 0, 34, 8, 0, 0, 35, 8, 0, 0, 36, 8, 0, 0, 37, 8, 0, 0, 38, 8, 0, 0, 39, 8, 0, 0, 40, 8, 0, 0, 41, 8, - 0, 0, 42, 8, 4, 0, 43, 8, 2, 0, 44, 8, 2, 0, 45, 8, 2, 0, 46, 8, 2, 0, 47, 8, 4, 0, 48, 8, 4, 0, 49, 8, - 4, 0, 50, 8, 4, 0, 51, 8, 2, 0, 52, 8, 2, 0, 53, 8, 4, 0, 54, 8, 4, 0, 55, 8, 4, 0, 56, 8, 4, 0, 57, 8, - 4, 0, 58, 8, 4, 0, 60, 7, 4, 0, 59, 8, 2, 0, 60, 8, 2, 0, 61, 8, 2, 0, 62, 8, 2, 0, 63, 8, 14, 0, 64, 8, - 14, 0, 65, 8, 14, 0, 66, 8, 14, 0, 67, 8, 14, 0, 68, 8, 14, 0, 69, 8, 0, 0, 70, 8, 2, 0, 71, 8, 2, 0, 72, 8, - 2, 0, 73, 8, 2, 0, 74, 8, 2, 0, 75, 8, 2, 0, 76, 8, 2, 0, 77, 8, 2, 0, 78, 8, 26, 1, 79, 8, 2, 0, 80, 8, - 2, 0, 81, 8, 2, 0, 82, 8, 2, 0, 83, 8, 2, 0, 84, 8, 2, 0, 85, 8, 2, 0, 86, 8, 2, 0, 87, 8, 4, 0, 88, 8, - 4, 0, 89, 8, 2, 0, 90, 8, 2, 0, 91, 8, 2, 0, 92, 8, 2, 0, 93, 8, 2, 0, 94, 8, 2, 0, 95, 8, 2, 0, 96, 8, - 2, 0, 97, 8, 2, 0, 98, 8, 2, 0, 99, 8, 2, 0,100, 8, 2, 0,101, 8, 2, 0,102, 8, 2, 0,103, 8, 2, 0,104, 8, - 2, 0,105, 8, 2, 0,106, 8, 2, 0,107, 8, 7, 0,108, 8, 4, 0,109, 8, 7, 0,110, 8, 2, 0, 24, 6, 2, 0, 25, 6, - 2, 0,111, 8, 2, 0,112, 8, 50, 0,113, 8, 7, 0,114, 8, 2, 0,115, 8, 2, 0,250, 1, 0, 0,116, 8, 4, 0,117, 8, - 4, 0,118, 8, 7, 0,119, 8, 7, 0, 27, 0, 28, 1, 24, 0, 22, 0, 32, 0, 14, 0,120, 8, 14, 0,121, 8, 14, 0,122, 8, - 14, 0,152, 6, 41, 0,124, 0, 41, 0,123, 8, 4, 0,124, 8, 4, 0, 66, 0, 2, 0,125, 8, 2, 0,126, 8, 2, 0,127, 8, - 2, 0,128, 8, 2, 0,129, 8, 2, 0,130, 8, 2, 0,131, 8, 2, 0,132, 8, 2, 0,133, 8, 2, 0,134, 8, 2, 0,135, 8, - 2, 0, 27, 0,238, 0,136, 8, 11, 0,137, 8, 2, 0,138, 8, 29, 1, 5, 0, 29, 1, 0, 0, 29, 1, 1, 0, 29, 1,139, 8, - 15, 0,140, 8, 4, 0, 18, 0, 30, 1, 7, 0, 30, 1, 0, 0, 30, 1, 1, 0, 29, 1,141, 8, 29, 1,142, 8, 2, 0,128, 5, - 2, 0, 18, 0, 4, 0, 27, 0, 31, 1, 25, 0, 31, 1, 0, 0, 31, 1, 1, 0, 32, 1,143, 8, 33, 1,245, 6, 0, 0,144, 8, - 0, 0,145, 8, 0, 0,146, 8, 2, 0,147, 8, 2, 0,148, 8, 2, 0,149, 8, 2, 0,150, 8, 2, 0,151, 8, 2, 0, 27, 0, - 2, 0, 18, 0, 2, 0,152, 8, 2, 0,153, 8, 2, 0,154, 8, 4, 0,155, 8, 31, 1,156, 8, 11, 0,157, 8, 4, 0,158, 8, - 4, 0,159, 8, 4, 0,160, 8, 4, 0,161, 8, 0, 0,162, 8, 34, 1, 22, 0, 34, 1, 0, 0, 34, 1, 1, 0, 29, 1,141, 8, - 29, 1,142, 8, 29, 1,163, 8, 29, 1,164, 8, 28, 1,165, 8, 18, 0, 50, 0, 0, 0,153, 6, 0, 0,166, 8, 2, 0,198, 6, - 2, 0,199, 6, 2, 0,167, 8, 2, 0, 27, 0, 2, 0,129, 8, 2, 0, 59, 7, 2, 0, 18, 0, 35, 1,143, 8, 14, 0,168, 8, - 14, 0,152, 6, 14, 0,169, 8, 14, 0,170, 8, 36, 1, 24, 0, 36, 1, 0, 0, 36, 1, 1, 0,241, 0,206, 6, 18, 0,171, 8, - 18, 0,172, 8, 2, 0,198, 6, 2, 0,199, 6, 2, 0,173, 8, 2, 0,174, 8, 2, 0,175, 8, 2, 0, 18, 0, 7, 0, 96, 2, - 2, 0,149, 8, 2, 0,150, 8, 2, 0,128, 8, 2, 0,176, 8, 2, 0,133, 8, 2, 0, 86, 1, 37, 1,143, 8, 14, 0,177, 8, - 14, 0,178, 8, 14, 0,169, 8, 0, 0,179, 8, 11, 0,180, 8, 38, 1, 14, 0, 0, 0,181, 8, 2, 0,182, 8, 2, 0,183, 8, - 2, 0,184, 8, 2, 0,185, 8, 2, 0,117, 5, 2, 0,186, 8, 28, 1,187, 8, 41, 0,188, 8, 4, 0,189, 8, 4, 0,190, 8, - 4, 0,191, 8, 4, 0, 27, 0, 0, 0, 78, 7, 39, 1, 3, 0, 0, 0,192, 8, 4, 0,193, 8, 4, 0,194, 8, 40, 1, 4, 0, - 4, 0, 13, 7, 4, 0,195, 8, 4, 0, 19, 7, 4, 0,196, 8, 41, 1, 2, 0, 4, 0,197, 8, 4, 0,198, 8, 42, 1, 5, 0, - 7, 0,199, 8, 7, 0,200, 8, 7, 0,201, 8, 4, 0, 18, 0, 4, 0, 27, 0, 43, 1, 7, 0, 0, 0,202, 8, 0, 0,227, 6, - 44, 0,137, 0, 2, 0,203, 8, 2, 0, 79, 5, 2, 0,204, 8, 2, 0,205, 8, 44, 1, 12, 0, 44, 1, 0, 0, 44, 1, 1, 0, - 4, 0, 28, 0, 4, 0,206, 8, 4, 0,207, 8, 4, 0,208, 8, 39, 1,209, 8, 0, 0,202, 8, 43, 1,181, 3, 40, 1,210, 8, - 41, 1,211, 8, 42, 1,212, 8, 45, 1, 12, 0, 0, 0, 35, 0, 11, 0,226, 0, 0, 0,227, 0, 4, 0,230, 0, 4, 0,238, 0, - 11, 0,231, 0, 7, 0,233, 0, 7, 0,234, 0, 11, 0,213, 8, 11, 0,214, 8, 11, 0,235, 0, 11, 0,237, 0, 46, 1, 50, 0, - 46, 1, 0, 0, 46, 1, 1, 0, 11, 0,215, 8, 11, 0, 25, 0, 0, 0, 19, 0, 4, 0, 18, 0, 4, 0, 16, 0, 4, 0, 22, 0, - 4, 0, 89, 0, 4, 0,216, 8, 4, 0,217, 8, 4, 0,207, 8, 4, 0,208, 8, 4, 0,218, 8, 4, 0,250, 0, 4, 0,219, 8, - 4, 0,220, 8, 7, 0,221, 8, 7, 0,222, 8, 7, 0,223, 8, 2, 0,224, 8, 2, 0,225, 8, 4, 0,226, 8, 4, 0,227, 8, - 44, 1,228, 8, 31, 0, 79, 0, 41, 0,124, 0, 27, 0,229, 8, 44, 0,137, 0,230, 0,112, 6, 7, 0,230, 8, 7, 0,231, 8, - 45, 1, 71, 1, 46, 1,232, 8, 46, 1,233, 8, 46, 1,234, 8, 14, 0,235, 8, 47, 1,236, 8, 11, 0,237, 8, 7, 0, 89, 4, - 7, 0,238, 8, 7, 0,239, 8, 7, 0,240, 8, 11, 0,241, 8, 4, 0,242, 8, 4, 0,243, 8, 4, 0,244, 8, 7, 0,245, 8, - 4, 0,128, 0, 4, 0, 27, 0, 48, 1, 4, 0, 48, 1, 0, 0, 48, 1, 1, 0, 14, 0,246, 8, 46, 1,247, 8,227, 0, 11, 0, - 14, 0,248, 8, 14, 0,235, 8, 14, 0,249, 8, 46, 1,250, 8, 0, 0,251, 8, 0, 0,252, 8, 4, 0,253, 8, 4, 0,254, 8, - 4, 0,255, 8, 4, 0, 27, 0, 19, 0, 0, 9, 49, 1, 4, 0, 7, 0, 1, 9, 7, 0, 99, 3, 2, 0, 2, 9, 2, 0, 3, 9, - 50, 1, 6, 0, 7, 0, 4, 9, 7, 0, 5, 9, 7, 0, 6, 9, 7, 0, 7, 9, 4, 0, 8, 9, 4, 0, 9, 9, 51, 1, 8, 0, - 7, 0, 10, 9, 7, 0, 11, 9, 7, 0, 12, 9, 7, 0, 13, 9, 7, 0, 14, 9, 4, 0,255, 2, 4, 0, 15, 9, 4, 0, 16, 9, - 52, 1, 2, 0, 7, 0,187, 5, 7, 0, 27, 0, 53, 1, 5, 0, 7, 0, 17, 9, 7, 0, 18, 9, 4, 0, 91, 0, 4, 0,217, 2, - 4, 0, 19, 9, 54, 1, 6, 0, 54, 1, 0, 0, 54, 1, 1, 0, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 20, 9, 2, 0, 55, 0, - 55, 1, 8, 0, 55, 1, 0, 0, 55, 1, 1, 0, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 20, 9, 2, 0, 55, 0, 7, 0, 22, 0, - 7, 0,128, 0, 56, 1, 45, 0, 56, 1, 0, 0, 56, 1, 1, 0, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 20, 9, 2, 0,246, 0, - 2, 0,131, 4, 2, 0, 21, 9, 7, 0, 22, 9, 7, 0, 90, 0, 7, 0, 12, 3, 4, 0, 23, 9, 4, 0, 81, 0, 4, 0,219, 2, - 7, 0, 24, 9, 7, 0, 25, 9, 7, 0, 26, 9, 7, 0, 27, 9, 7, 0, 28, 9, 7, 0, 29, 9, 7, 0, 9, 3, 7, 0, 68, 1, - 7, 0, 30, 9, 7, 0, 31, 9, 7, 0, 27, 0, 7, 0, 32, 9, 7, 0, 33, 9, 7, 0, 34, 9, 2, 0, 35, 9, 2, 0, 36, 9, - 2, 0, 37, 9, 2, 0, 38, 9, 2, 0, 39, 9, 2, 0, 40, 9, 2, 0, 41, 9, 2, 0, 42, 9, 2, 0, 35, 2, 2, 0, 43, 9, - 2, 0, 32, 2, 2, 0, 44, 9, 0, 0, 45, 9, 0, 0, 46, 9, 7, 0,244, 0, 57, 1, 47, 9, 64, 0,253, 1, 58, 1, 16, 0, - 58, 1, 0, 0, 58, 1, 1, 0, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 20, 9, 2, 0,246, 0, 7, 0, 4, 3, 7, 0, 5, 3, - 7, 0, 6, 3, 7, 0, 85, 2, 7, 0, 7, 3, 7, 0, 8, 3, 7, 0, 48, 9, 7, 0, 9, 3, 7, 0, 11, 3, 7, 0, 12, 3, -254, 0, 5, 0, 2, 0, 16, 0, 2, 0, 49, 9, 2, 0, 18, 0, 2, 0, 50, 9, 22, 0, 48, 7,253, 0, 3, 0, 4, 0, 68, 0, - 4, 0, 51, 9,254, 0, 2, 0, 59, 1, 7, 0, 59, 1, 0, 0, 59, 1, 1, 0, 0, 0, 19, 0, 2, 0, 16, 0, 2, 0, 18, 0, - 4, 0, 21, 0, 11, 0, 52, 9, 60, 1, 5, 0, 0, 0, 19, 0, 7, 0, 94, 1, 7, 0, 53, 9, 4, 0, 54, 9, 4, 0, 27, 0, - 61, 1, 4, 0, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 66, 0, 2, 0, 30, 0, 62, 1, 4, 0, 0, 0, 19, 0, 63, 0, 55, 9, - 7, 0, 94, 1, 7, 0, 27, 0, 63, 1, 6, 0, 2, 0, 56, 9, 2, 0, 57, 9, 2, 0, 16, 0, 2, 0, 58, 9, 0, 0, 59, 9, - 0, 0, 60, 9, 64, 1, 5, 0, 4, 0, 16, 0, 4, 0, 27, 0, 0, 0, 19, 0, 0, 0, 61, 9, 0, 0, 62, 9, 65, 1, 3, 0, - 4, 0, 16, 0, 4, 0, 27, 0, 0, 0, 19, 0, 66, 1, 4, 0, 2, 0, 63, 9, 2, 0, 64, 9, 2, 0, 18, 0, 2, 0, 27, 0, - 67, 1, 6, 0, 0, 0, 19, 0, 0, 0, 65, 9, 2, 0, 66, 9, 2, 0, 9, 3, 2, 0, 87, 1, 2, 0, 30, 0, 68, 1, 5, 0, - 0, 0, 19, 0, 7, 0, 99, 3, 7, 0,222, 4, 2, 0, 18, 0, 2, 0,231, 2, 69, 1, 3, 0, 0, 0, 19, 0, 4, 0,219, 2, - 4, 0, 63, 9, 70, 1, 7, 0, 0, 0, 19, 0, 7, 0,222, 4, 0, 0, 67, 9, 0, 0, 68, 9, 2, 0, 87, 1, 2, 0, 66, 0, - 4, 0, 69, 9, 71, 1, 4, 0, 0, 0, 70, 9, 0, 0, 71, 9, 4, 0, 16, 0, 7, 0,235, 2, 72, 1, 3, 0, 27, 0, 72, 9, - 0, 0, 73, 9, 0, 0, 74, 9, 73, 1, 18, 0, 73, 1, 0, 0, 73, 1, 1, 0, 2, 0, 16, 0, 2, 0, 75, 9, 2, 0, 18, 0, - 2, 0, 76, 9, 2, 0, 77, 9, 2, 0, 78, 9, 2, 0, 66, 0, 2, 0, 30, 0, 0, 0, 19, 0, 11, 0, 2, 0, 74, 1, 79, 9, - 27, 0, 43, 0, 2, 0,223, 5, 2, 0,181, 2, 2, 0, 80, 9, 2, 0, 27, 0, 75, 1, 11, 0, 0, 0, 19, 0, 0, 0, 16, 0, - 0, 0, 81, 9, 2, 0, 18, 0, 2, 0,231, 2, 2, 0, 82, 9, 4, 0, 83, 9, 4, 0, 84, 9, 4, 0, 85, 9, 4, 0, 86, 9, - 4, 0, 87, 9, 76, 1, 1, 0, 0, 0, 88, 9, 77, 1, 4, 0, 37, 0, 12, 7, 0, 0, 29, 8, 4, 0, 87, 1, 4, 0, 18, 0, - 74, 1, 18, 0, 74, 1, 0, 0, 74, 1, 1, 0, 74, 1, 89, 9, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 90, 9, 2, 0, 78, 9, - 2, 0, 75, 9, 2, 0, 91, 9, 2, 0, 30, 0, 2, 0,250, 1, 0, 0, 19, 0, 11, 0, 2, 0, 78, 1, 79, 9, 73, 1, 92, 9, - 2, 0, 14, 0, 2, 0, 93, 9, 4, 0, 94, 9, 79, 1, 3, 0, 4, 0,245, 2, 4, 0, 27, 0, 27, 0, 43, 0, 80, 1, 15, 0, -177, 0, 95, 9, 2, 0, 16, 0, 2, 0, 18, 0, 7, 0, 22, 9, 7, 0, 90, 0, 0, 0, 19, 0, 0, 0, 96, 9, 2, 0, 97, 9, - 2, 0, 98, 9, 2, 0,133, 0, 2, 0, 99, 9, 2, 0,100, 9, 2, 0, 27, 0, 7, 0,101, 9, 7, 0,102, 9, 81, 1, 8, 0, - 7, 0,103, 9, 7, 0,104, 9, 7, 0,105, 9, 7, 0,106, 9, 7, 0,107, 9, 7, 0,108, 9, 7, 0,109, 9, 7, 0,110, 9, - 82, 1, 13, 0, 2, 0, 18, 0, 2, 0,111, 9, 4, 0, 66, 0, 4, 0, 30, 0, 2, 0,183, 6, 7, 0, 89, 4, 7, 0,238, 8, - 47, 1,236, 8, 81, 1,112, 9, 2, 0, 16, 0, 2, 0,122, 5, 2, 0,221, 3, 2, 0,113, 9, 83, 1, 11, 0, 4, 0,245, 2, - 2, 0, 16, 0, 2, 0, 18, 0, 27, 0, 43, 0, 79, 0,114, 9, 0, 0, 19, 0, 7, 0,115, 9, 7, 0,116, 9, 7, 0,227, 3, - 2, 0,117, 9, 2, 0,118, 9, 84, 1, 5, 0, 2, 0, 16, 0, 2, 0, 66, 0, 4, 0, 27, 0, 41, 0,124, 0, 27, 0,215, 5, - 85, 1, 5, 0, 4, 0, 27, 0, 4, 0, 16, 0, 0, 0, 19, 0, 0, 0, 61, 9, 27, 0, 43, 0, 86, 1, 13, 0, 2, 0, 18, 0, - 2, 0, 16, 0, 2, 0, 75, 9, 2, 0,228, 3, 7, 0,119, 9, 7, 0,120, 9, 7, 0, 86, 1, 7, 0,121, 9, 7, 0,197, 3, - 7, 0,201, 3, 7, 0,122, 9, 7, 0,123, 9, 27, 0,124, 9, 87, 1, 10, 0, 2, 0, 18, 0, 2, 0, 16, 0, 7, 0, 22, 9, - 7, 0, 90, 0, 0, 0, 19, 0, 0, 0, 96, 9, 2, 0, 66, 0, 2, 0, 30, 0, 2, 0,250, 1, 2, 0,122, 5, 88, 1, 8, 0, - 27, 0, 43, 0, 7, 0, 6, 3, 7, 0,125, 9, 7, 0,126, 9, 7, 0,228, 3, 2, 0, 66, 0, 2, 0,231, 2, 7, 0, 30, 0, - 89, 1, 12, 0, 2, 0, 16, 0, 2, 0, 87, 1, 2, 0, 18, 0, 2, 0, 9, 3, 2, 0,245, 2, 2, 0,127, 9, 4, 0, 27, 0, - 7, 0,128, 9, 7, 0,129, 9, 7, 0,130, 9, 7, 0,131, 9, 0, 0,132, 9, 90, 1, 9, 0, 2, 0, 18, 0, 2, 0, 16, 0, - 4, 0, 22, 9, 4, 0, 90, 0, 0, 0, 19, 0, 2, 0, 86, 1, 2, 0, 62, 0, 2, 0,133, 9, 2, 0,134, 9, 91, 1, 7, 0, - 4, 0,219, 2, 4, 0,135, 9, 4, 0,136, 9, 4, 0,137, 9, 7, 0,138, 9, 7, 0,139, 9, 0, 0, 67, 9, 92, 1, 7, 0, - 0, 0,140, 9, 27, 0,141, 9, 0, 0, 73, 9, 2, 0,142, 9, 2, 0, 66, 0, 4, 0, 30, 0, 0, 0, 74, 9, 93, 1, 6, 0, - 2, 0, 18, 0, 2, 0, 16, 0, 4, 0, 22, 9, 4, 0, 90, 0, 0, 0,143, 9, 0, 0,144, 9, 94, 1, 1, 0, 4, 0, 18, 0, - 95, 1, 6, 0, 0, 0, 93, 0, 2, 0, 16, 0, 2, 0, 18, 0, 4, 0,145, 9, 7, 0,146, 9, 37, 0, 12, 7, 96, 1, 4, 0, - 0, 0,186, 2, 2, 0, 18, 0, 4, 0, 16, 0, 27, 0, 43, 0, 97, 1, 2, 0, 4, 0, 16, 0, 4, 0,187, 6, 98, 1, 8, 0, - 0, 0, 70, 9, 0, 0, 71, 9, 4, 0, 16, 0, 7, 0, 43, 2, 7, 0,147, 9, 7, 0, 27, 0, 27, 0, 75, 3, 27, 0,148, 9, - 99, 1, 11, 0, 0, 0, 60, 6, 0, 0, 18, 0, 2, 0,149, 9, 4, 0, 16, 0, 7, 0, 94, 1, 7, 0,150, 9, 7, 0,151, 9, - 7, 0,152, 9, 4, 0,153, 9, 27, 0, 75, 3, 27, 0,154, 9, 78, 1, 10, 0, 78, 1, 0, 0, 78, 1, 1, 0, 78, 1, 89, 9, - 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 75, 9, 2, 0,155, 9, 0, 0, 19, 0, 11, 0, 2, 0, 27, 0, 43, 0, 47, 1, 17, 0, - 22, 0, 32, 0, 0, 0, 35, 0, 38, 0,152, 0, 11, 0,226, 0, 38, 0,156, 9, 31, 0, 79, 0, 7, 0, 89, 4, 7, 0,157, 9, - 7, 0,238, 8, 7, 0,103, 9, 7, 0,104, 9, 7, 0,158, 9, 4, 0, 91, 0, 4, 0, 27, 0, 11, 0,159, 9, 11, 0,160, 9, - 11, 0,161, 9,100, 1, 6, 0,100, 1, 0, 0,100, 1, 1, 0, 27, 0, 43, 0, 11, 0,162, 9, 2, 0,251, 0, 0, 0,216, 2, - 64, 0, 4, 0, 22, 0, 32, 0, 14, 0,163, 9, 4, 0,133, 0, 7, 0,164, 9,101, 1, 28, 0,101, 1, 0, 0,101, 1, 1, 0, - 21, 0,165, 9,101, 1, 37, 0, 14, 0,166, 9, 0, 0, 19, 0, 7, 0,167, 9, 7, 0,168, 9, 7, 0,169, 9, 7, 0,170, 9, - 4, 0, 18, 0, 7, 0,171, 9, 7, 0,172, 9, 7, 0,173, 9, 7, 0,174, 9, 7, 0, 94, 1, 7, 0, 43, 2, 7, 0,175, 9, - 7, 0,217, 2, 7, 0,176, 9, 7, 0,177, 9, 7, 0,178, 9, 7, 0,179, 9, 7, 0,180, 9, 7, 0,175, 0, 4, 0,133, 0, - 2, 0, 4, 6, 2, 0,181, 9,102, 1, 27, 0, 22, 0, 32, 0, 34, 0, 74, 0, 14, 0,182, 9, 14, 0,183, 9, 14, 0,184, 9, -101, 1,185, 9, 11, 0,186, 9, 11, 0,187, 9, 4, 0, 18, 0, 4, 0,163, 6, 4, 0,188, 9, 4, 0, 27, 0, 2, 0, 13, 3, - 2, 0,217, 6, 4, 0,189, 9, 4, 0,133, 0, 4, 0,190, 9, 2, 0,191, 9, 2, 0,192, 9, 2, 0,193, 9, 2, 0,194, 9, - 4, 0,195, 9, 4, 0,196, 9, 4, 0,197, 9, 4, 0,198, 9, 4, 0,199, 9, 4, 0,200, 9,103, 1, 2, 0, 7, 0,170, 2, - 4, 0, 18, 0,181, 0, 5, 0,103, 1,201, 9, 4, 0,217, 2, 4, 0,202, 9, 4, 0,203, 9, 4, 0, 18, 0,180, 0, 16, 0, - 4, 0,204, 9, 4, 0,205, 9, 4, 0,206, 9, 4, 0,207, 9, 2, 0,208, 9, 2, 0,209, 9, 2, 0,210, 9, 2, 0,251, 0, - 2, 0,211, 9, 2, 0,212, 9, 2, 0,213, 9, 2, 0,214, 9, 4, 0,215, 9, 4, 0,216, 9, 4, 0,217, 9, 4, 0,218, 9, -104, 1, 40, 0,104, 1, 0, 0,104, 1, 1, 0, 21, 0,165, 9, 14, 0, 0, 4, 0, 0, 19, 0, 2, 0, 18, 0, 2, 0,219, 9, - 2, 0,214, 3, 2, 0,220, 9, 0, 0,221, 9, 0, 0,222, 9, 0, 0,223, 9,101, 1,224, 9,104, 1, 37, 0,104, 1,225, 9, - 14, 0,226, 9, 14, 0,227, 9,181, 0,189, 3, 27, 0,228, 9,104, 1,229, 9, 7, 0, 77, 1, 7, 0,175, 0, 7, 0,230, 9, - 7, 0, 22, 2, 7, 0,203, 3, 7, 0,205, 3, 2, 0,237, 3, 2, 0, 27, 0, 7, 0,231, 9, 7, 0,232, 9, 7, 0,208, 3, - 7, 0,233, 9, 7, 0,234, 9, 7, 0,235, 9, 7, 0,236, 9, 7, 0,237, 9, 7, 0,238, 9, 7, 0,239, 9, 7, 0,240, 9, - 11, 0,241, 9,178, 0, 16, 0, 14, 0,242, 9, 74, 0,243, 9, 2, 0, 18, 0, 2, 0, 27, 0, 4, 0,244, 9, 4, 0, 66, 0, - 7, 0, 83, 0, 7, 0,245, 9, 7, 0,246, 9, 14, 0,247, 9, 4, 0,248, 9, 4, 0,249, 9, 11, 0,250, 9, 11, 0,251, 9, -180, 0,188, 3, 0, 0,252, 9,105, 1, 1, 0, 4, 0,249, 9,106, 1, 12, 0, 4, 0,249, 9, 7, 0, 87, 9, 2, 0,253, 9, - 2, 0,254, 9, 7, 0,255, 9, 7, 0, 0, 10, 2, 0, 1, 10, 2, 0, 18, 0, 7, 0, 2, 10, 7, 0, 3, 10, 7, 0, 4, 10, - 7, 0, 5, 10,107, 1, 7, 0,107, 1, 0, 0,107, 1, 1, 0, 14, 0, 6, 10, 4, 0, 18, 0, 4, 0, 7, 10, 0, 0, 19, 0, - 23, 1, 8, 10,177, 0, 9, 0, 22, 0, 32, 0, 14, 0, 9, 10, 14, 0,242, 9, 14, 0, 10, 10, 14, 0,101, 0, 4, 0, 18, 0, - 4, 0, 11, 10, 4, 0, 12, 10, 4, 0, 27, 0,244, 0, 8, 0, 22, 0, 13, 10, 14, 0,242, 9, 64, 0, 14, 10, 0, 0, 15, 10, - 4, 0, 16, 10, 4, 0, 18, 0, 4, 0, 17, 10, 4, 0, 27, 0,108, 1, 13, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,152, 6, - 4, 0,153, 6, 7, 0,154, 6, 2, 0,155, 6,241, 0,206, 6,177, 0,184, 3,244, 0, 18, 10, 0, 0, 87, 1, 0, 0,209, 6, - 2, 0, 18, 0, 7, 0, 19, 10,109, 1, 8, 0,109, 1, 0, 0,109, 1, 1, 0,107, 1, 20, 10, 31, 0, 79, 0, 14, 0,190, 3, - 4, 0, 18, 0, 0, 0, 19, 0, 4, 0,126, 8,110, 1, 5, 0,110, 1, 0, 0,110, 1, 1, 0, 31, 0, 79, 0, 2, 0, 18, 0, - 0, 0, 21, 10,111, 1, 14, 0,111, 1, 0, 0,111, 1, 1, 0, 11, 0, 2, 0, 2, 0, 16, 0, 2, 0, 18, 0, 0, 0, 22, 10, - 0, 0, 23, 10, 0, 0, 19, 0, 2, 0, 27, 0, 7, 0, 24, 10, 7, 0, 25, 10, 31, 0, 79, 0, 7, 0, 26, 10, 7, 0, 27, 10, -112, 1, 9, 0,112, 1, 0, 0,112, 1, 1, 0, 27, 0, 28, 10, 0, 0, 16, 3, 7, 0, 29, 10, 2, 0, 30, 10, 2, 0, 18, 0, - 2, 0, 16, 0, 2, 0, 31, 10,113, 1, 7, 0, 37, 0, 12, 7, 21, 0,165, 9, 4, 0, 18, 0, 4, 0, 32, 10, 14, 0, 33, 10, - 27, 0, 28, 10, 0, 0, 16, 3,114, 1, 15, 0, 27, 0, 28, 10, 2, 0, 34, 10, 2, 0, 18, 0, 2, 0, 35, 10, 2, 0, 36, 10, - 0, 0, 16, 3, 27, 0, 37, 10, 0, 0, 38, 10, 7, 0, 39, 10, 7, 0, 43, 2, 7, 0, 40, 10, 7, 0, 41, 10, 2, 0, 16, 0, - 2, 0, 87, 1, 7, 0, 94, 1,115, 1, 6, 0, 27, 0, 28, 10, 7, 0,201, 9, 2, 0, 42, 10, 2, 0, 43, 10, 2, 0, 18, 0, - 2, 0, 44, 10,116, 1, 6, 0, 27, 0, 28, 10, 4, 0, 45, 10, 4, 0, 46, 10, 4, 0, 91, 0, 4, 0, 27, 0, 0, 0, 16, 3, -117, 1, 4, 0, 27, 0, 28, 10, 4, 0, 18, 0, 4, 0, 45, 10, 0, 0, 16, 3,118, 1, 4, 0, 27, 0, 28, 10, 4, 0, 18, 0, - 4, 0, 45, 10, 0, 0, 16, 3,119, 1, 4, 0, 27, 0, 28, 10, 4, 0, 18, 0, 4, 0, 45, 10, 0, 0, 16, 3,120, 1, 2, 0, - 4, 0, 18, 0, 7, 0, 89, 4,121, 1, 2, 0, 27, 0, 28, 10, 0, 0, 16, 3,122, 1, 10, 0, 27, 0, 28, 10, 4, 0, 47, 10, - 7, 0,127, 0, 4, 0, 18, 0, 2, 0, 10, 7, 2, 0, 48, 10, 2, 0, 66, 0, 2, 0, 30, 0, 7, 0, 49, 10, 0, 0, 16, 3, -123, 1, 10, 0, 27, 0, 28, 10, 2, 0, 16, 0, 2, 0,139, 4, 4, 0, 89, 0, 4, 0, 90, 0, 7, 0,125, 9, 7, 0,126, 9, - 4, 0, 27, 0,177, 0, 95, 9, 0, 0, 16, 3,124, 1, 4, 0, 27, 0, 28, 10, 4, 0,215, 3, 4, 0, 50, 10, 0, 0, 16, 3, -125, 1, 4, 0, 27, 0, 28, 10, 4, 0,215, 3, 4, 0, 27, 0, 0, 0, 16, 3,126, 1, 6, 0, 27, 0, 28, 10, 7, 0,127, 0, - 7, 0, 87, 3, 4, 0, 51, 10, 2, 0,215, 3, 2, 0,216, 3,127, 1, 6, 0, 27, 0, 28, 10, 4, 0, 52, 10, 4, 0, 53, 10, - 7, 0, 54, 10, 7, 0, 55, 10, 0, 0, 16, 3,128, 1, 16, 0, 27, 0, 28, 10, 27, 0,225, 9, 4, 0, 16, 0, 7, 0, 56, 10, - 7, 0, 57, 10, 7, 0, 58, 10, 7, 0, 59, 10, 7, 0, 60, 10, 7, 0, 61, 10, 7, 0, 62, 10, 7, 0, 63, 10, 7, 0, 64, 10, - 2, 0, 18, 0, 2, 0, 27, 0, 2, 0, 66, 0, 2, 0, 30, 0,129, 1, 3, 0, 27, 0, 28, 10, 4, 0, 18, 0, 4, 0, 35, 2, -130, 1, 5, 0, 27, 0, 28, 10, 4, 0, 18, 0, 4, 0, 27, 0, 7, 0, 65, 10, 0, 0, 16, 3,131, 1, 10, 0, 27, 0, 28, 10, - 0, 0, 16, 3, 2, 0, 66, 10, 2, 0, 67, 10, 0, 0, 68, 10, 0, 0, 69, 10, 7, 0, 70, 10, 7, 0, 71, 10, 7, 0, 72, 10, - 7, 0, 73, 10,132, 1, 5, 0, 27, 0, 28, 10, 0, 0, 16, 3, 7, 0,225, 2, 2, 0, 74, 10, 2, 0, 18, 0,133, 1, 8, 0, - 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0, 11, 0, 7, 0, 75, 10, 7, 0, 76, 10, 2, 0, 18, 0, 2, 0, 35, 2, -134, 1, 8, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0, 11, 0, 7, 0, 75, 10, 7, 0, 76, 10, 2, 0, 18, 0, - 2, 0, 35, 2,135, 1, 8, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0, 11, 0, 7, 0, 75, 10, 7, 0, 76, 10, - 2, 0, 18, 0, 2, 0, 35, 2,136, 1, 7, 0, 27, 0, 28, 10, 0, 0, 16, 3, 7, 0, 94, 1, 7, 0,103, 1, 2, 0, 18, 0, - 2, 0, 87, 1, 4, 0, 27, 0,137, 1, 5, 0, 27, 0, 75, 3, 7, 0, 94, 1, 2, 0, 79, 3, 0, 0, 81, 3, 0, 0, 77, 10, -138, 1, 7, 0,230, 0,112, 6, 0, 0, 78, 10, 4, 0, 18, 0, 4, 0, 27, 0, 0, 0, 79, 10, 27, 0,215, 5, 27, 0, 80, 10, -139, 1, 3, 0,230, 0,112, 6, 4, 0, 18, 0, 4, 0, 27, 0,140, 1, 6, 0,230, 0,112, 6, 4, 0, 18, 0, 4, 0, 27, 0, - 0, 0, 79, 10, 7, 0, 65, 10, 27, 0,215, 5,141, 1, 10, 0,141, 1, 0, 0,141, 1, 1, 0, 2, 0, 16, 0, 2, 0, 18, 0, - 0, 0, 81, 10, 7, 0, 31, 1, 7, 0, 32, 1, 2, 0, 6, 10, 2, 0, 82, 10, 27, 0, 43, 0,142, 1, 22, 0,142, 1, 0, 0, -142, 1, 1, 0, 2, 0, 18, 0, 2, 0, 87, 1, 2, 0, 83, 10, 2, 0, 84, 10, 31, 0, 79, 0,177, 0, 95, 9, 27, 0,167, 0, - 7, 0, 89, 0, 7, 0, 90, 0, 7, 0, 85, 10, 7, 0, 86, 10, 7, 0, 87, 10, 7, 0, 88, 10, 7, 0, 2, 3, 7, 0,153, 3, - 7, 0, 97, 9, 7, 0, 89, 10, 0, 0, 90, 10, 0, 0, 91, 10, 14, 0,193, 3,143, 1, 11, 0, 7, 0, 50, 2, 7, 0,125, 9, - 7, 0,126, 9, 11, 0, 2, 0, 2, 0, 92, 10, 2, 0, 93, 10, 2, 0, 94, 10, 2, 0, 95, 10, 2, 0, 96, 10, 2, 0, 97, 10, - 2, 0,186, 2,144, 1, 21, 0,144, 1, 0, 0,144, 1, 1, 0,144, 1, 98, 10, 0, 0, 19, 0, 11, 0, 99, 10, 2, 0, 16, 0, - 2, 0, 18, 0, 2, 0,100, 10, 2, 0, 66, 0, 7, 0,101, 10, 7, 0,102, 10, 11, 0,103, 10, 2, 0,104, 10, 2, 0,105, 10, - 4, 0, 30, 0, 11, 0,159, 9, 4, 0,106, 10, 4, 0,107, 10,144, 1,108, 10,145, 1,109, 10,143, 1,110, 10,146, 1, 4, 0, - 0, 0,111, 10, 2, 0,112, 10, 2, 0,113, 10, 4, 0, 27, 0,147, 1, 37, 0,147, 1, 0, 0,147, 1, 1, 0,147, 1,114, 10, - 0, 0, 19, 0, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0,206, 8, 2, 0,181, 2, 2, 0,115, 10, 2, 0, 15, 7, 2, 0,104, 10, - 2, 0, 49, 9, 14, 0, 90, 9, 14, 0,116, 10,147, 1, 37, 0, 22, 0, 48, 7, 11, 0, 99, 10, 7, 0,101, 10, 7, 0,102, 10, - 7, 0, 85, 2, 7, 0, 6, 3, 7, 0,117, 10, 4, 0,118, 10, 0, 0,119, 10, 2, 0,120, 10, 2, 0,121, 10, 7, 0,122, 10, - 7, 0,123, 10, 2, 0,124, 10, 2, 0,125, 10, 11, 0,126, 10, 19, 0,127, 10, 19, 0,128, 10, 19, 0,129, 10,146, 1,153, 0, -148, 1,130, 10,149, 1,131, 10,145, 1, 8, 0,145, 1, 0, 0,145, 1, 1, 0,147, 1,132, 10,147, 1,133, 10,144, 1,134, 10, -144, 1,135, 10, 4, 0, 18, 0, 4, 0, 27, 0, 57, 0, 20, 0, 22, 0, 32, 0, 34, 0, 74, 0,179, 0,187, 3, 14, 0,136, 10, - 14, 0,137, 10, 4, 0, 16, 0, 4, 0,138, 10, 4, 0,139, 10, 4, 0, 18, 0, 4, 0,118, 10, 4, 0,140, 10, 14, 0, 90, 9, - 14, 0,116, 10,150, 1,141, 10, 11, 0,142, 10, 11, 0,143, 10, 4, 0,144, 10, 11, 0,145, 10, 11, 0,146, 10, 11, 0,147, 10, -151, 1, 4, 0, 4, 0, 17, 0, 4, 0,235, 2, 4, 0,125, 9, 4, 0,126, 9,152, 1, 4, 0, 4, 0, 17, 0, 7, 0,235, 2, - 7, 0,125, 9, 7, 0,126, 9,153, 1, 2, 0, 0, 0,235, 2, 0, 0, 86, 1,154, 1, 4, 0, 4, 0, 17, 0, 7, 0,148, 10, - 7, 0,125, 9, 7, 0,126, 9,155, 1, 1, 0, 7, 0,149, 10,156, 1, 6, 0, 4, 0,126, 0, 4, 0,128, 0, 4, 0, 49, 9, - 0, 0,150, 10, 0, 0,151, 10, 2, 0, 27, 0,157, 1, 3, 0, 4, 0,152, 10, 4, 0,153, 10, 4, 0,154, 10,158, 1, 16, 0, - 2, 0,149, 8, 2, 0,150, 8, 2, 0, 76, 5, 2, 0,155, 10, 2, 0,156, 10, 2, 0, 67, 0, 2, 0, 49, 7, 2, 0,157, 10, - 7, 0, 1, 3, 7, 0,158, 10, 7, 0,159, 10, 2, 0,110, 1, 0, 0,160, 10, 0, 0,161, 10, 4, 0,162, 10, 4, 0,163, 10, -159, 1, 9, 0, 7, 0,164, 10, 7, 0,165, 10, 7, 0,158, 9, 7, 0, 99, 3, 7, 0,166, 10, 7, 0,224, 6, 2, 0, 97, 3, - 0, 0,167, 10, 0, 0, 27, 0,160, 1, 4, 0, 7, 0,168, 10, 7, 0,169, 10, 2, 0, 97, 3, 2, 0, 27, 0,161, 1, 3, 0, - 7, 0,170, 10, 7, 0,221, 8, 7, 0, 14, 0,162, 1, 4, 0, 0, 0, 35, 0,205, 0, 87, 5, 4, 0,128, 0, 4, 0,137, 4, -163, 1, 6, 0, 0, 0,171, 10,205, 0,172, 10, 4, 0,128, 0, 4, 0,137, 4, 4, 0,173, 10, 4, 0, 27, 0,164, 1, 7, 0, - 2, 0,174, 10, 2, 0,175, 10, 4, 0, 66, 0, 0, 0, 82, 4,205, 0,172, 10, 0, 0,176, 10, 0, 0,177, 6,165, 1, 9, 0, - 7, 0,177, 10, 7, 0,178, 10, 7, 0,179, 10, 7, 0, 96, 2, 7, 0,180, 10, 7, 0,181, 10, 7, 0,182, 10, 2, 0,183, 10, - 2, 0,184, 10,166, 1, 8, 0, 2, 0,185, 10, 2, 0,186, 10, 2, 0,187, 10, 2, 0,188, 10, 7, 0,189, 10, 7, 0,190, 10, - 7, 0,191, 10, 7, 0,192, 10,167, 1, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0,168, 1, 2, 0, 0, 0,169, 0, 0, 0,193, 10, -169, 1, 1, 0, 0, 0, 19, 0,170, 1, 12, 0, 0, 0,194, 10, 0, 0,195, 10, 0, 0,215, 6, 0, 0,196, 10, 2, 0, 76, 5, - 2, 0,197, 10, 7, 0,198, 10, 7, 0,199, 10, 7, 0,200, 10, 7, 0,153, 3, 7, 0,201, 10, 7, 0,202, 10,171, 1, 2, 0, - 11, 0,203, 10, 11, 0,204, 10,172, 1, 13, 0, 0, 0, 79, 5, 0, 0, 16, 0, 0, 0, 97, 3, 0, 0, 99, 3, 0, 0,195, 10, - 0, 0,107, 0, 0, 0,186, 2, 7, 0,205, 10, 7, 0,206, 10, 7, 0,152, 3, 7, 0,207, 10, 7, 0,208, 10, 7, 0,202, 10, -173, 1, 8, 0, 7, 0, 56, 9, 7, 0,127, 0, 7, 0,161, 10, 7, 0,177, 2, 7, 0,209, 10, 7, 0,239, 0, 7, 0,210, 10, - 4, 0, 16, 0,174, 1, 4, 0, 2, 0,211, 10, 2, 0,212, 10, 2, 0,213, 10, 2, 0, 27, 0,175, 1, 8, 0, 7, 0,214, 10, - 7, 0,225, 2, 7, 0,215, 10, 7, 0,199, 8, 7, 0,200, 8, 7, 0,201, 8, 7, 0,216, 10, 7, 0,217, 10,176, 1, 6, 0, - 2, 0,218, 10, 2, 0,219, 10, 7, 0,220, 10, 7, 0,221, 10, 7, 0,222, 10, 7, 0,223, 10,177, 1, 2, 0, 58, 0,224, 10, - 59, 0,225, 10,178, 1, 3, 0,177, 1, 85, 6, 7, 0,226, 10, 7, 0,227, 10,179, 1, 3, 0,177, 1, 85, 6, 4, 0,228, 10, - 4, 0, 27, 0,180, 1, 1, 0,177, 1, 85, 6,181, 1, 3, 0,177, 1, 85, 6, 4, 0,228, 10, 4, 0,229, 10,182, 1, 3, 0, -177, 1, 85, 6, 4, 0,230, 10, 4, 0, 27, 0,183, 1, 1, 0,177, 1, 85, 6,184, 1, 3, 0,177, 1, 85, 6, 4, 0,231, 10, - 4, 0, 27, 0,185, 1, 3, 0,177, 1, 85, 6, 4, 0,232, 10, 4, 0, 27, 0,186, 1, 3, 0,177, 1, 85, 6, 4, 0,233, 10, - 4, 0, 27, 0,187, 1, 3, 0,177, 1, 85, 6, 4, 0,250, 0, 4, 0, 27, 0,188, 1, 1, 0, 0, 0, 19, 0,189, 1, 1, 0, - 0, 0, 19, 0,190, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 2, 0, 18, 0, 2, 0,234, 10,191, 1, 10, 0, 2, 0, 67, 4, - 2, 0, 18, 0, 7, 0,222, 4, 7, 0,235, 10, 7, 0,236, 10, 7, 0,237, 10, 7, 0,238, 10,190, 1,239, 10,190, 1,240, 10, -190, 1,241, 10, 54, 0, 11, 0, 4, 0, 18, 0, 4, 0, 62, 0, 4, 0,242, 10, 4, 0,243, 10, 19, 0,244, 10, 19, 0,245, 10, -191, 1,246, 10, 7, 0,247, 10, 7, 0,248, 10, 7, 0,249, 10, 7, 0,250, 10, 1, 1, 10, 0, 4, 0, 6, 10, 4, 0,251, 10, - 7, 0,252, 10, 7, 0,253, 10, 7, 0,254, 10, 7, 0,255, 10, 7, 0, 9, 0, 7, 0, 11, 0, 4, 0, 87, 1, 4, 0, 6, 3, - 0, 1, 18, 0, 4, 0,131, 0, 4, 0, 0, 11, 4, 0, 1, 11, 7, 0, 2, 11, 4, 0, 3, 11, 7, 0, 4, 11, 7, 0, 5, 11, - 4, 0, 6, 11, 7, 0, 7, 11, 4, 0, 8, 11, 7, 0, 9, 11, 1, 1, 10, 11, 7, 0, 11, 11, 7, 0, 12, 11, 7, 0, 13, 11, - 7, 0, 14, 11, 4, 0, 15, 11, 4, 0, 27, 0,192, 1, 4, 0, 42, 0,249, 2, 7, 0, 16, 11, 7, 0,181, 1, 7, 0, 27, 0, -214, 0, 36, 0, 22, 0, 32, 0,192, 1, 17, 11, 54, 0,239, 10, 46, 0, 18, 11,214, 0, 19, 11, 52, 0, 20, 11, 25, 0,153, 0, - 0, 0, 21, 11, 7, 0, 22, 11, 2, 0,115, 6, 2, 0, 23, 11, 7, 0, 43, 2, 4, 0,107, 0, 4, 0, 18, 0, 7, 0, 24, 11, - 4, 0, 93, 2, 4, 0, 25, 11, 7, 0, 26, 11, 7, 0, 27, 11, 7, 0, 28, 11, 7, 0,181, 1, 4, 0, 29, 11, 7, 0, 30, 11, - 0, 0, 31, 11, 0, 0, 32, 11, 0, 0, 33, 11, 0, 0, 34, 11, 7, 0, 35, 11, 7, 0, 36, 11, 7, 0, 37, 11, 7, 0, 6, 3, - 7, 0, 38, 11, 4, 0, 39, 11, 7, 0,247, 5, 7, 0, 40, 11, 7, 0, 41, 11,193, 1, 10, 0, 4, 0, 16, 0, 4, 0,127, 0, - 4, 0, 18, 0, 4, 0, 20, 4, 4, 0, 42, 11, 4, 0, 43, 11, 4, 0, 44, 11, 4, 0, 69, 0, 0, 0, 19, 0, 11, 0, 2, 0, -194, 1, 1, 0, 0, 0, 78, 7, 95, 0, 8, 0,193, 1, 45, 11, 4, 0, 46, 11, 4, 0, 47, 11, 4, 0, 48, 11, 4, 0, 49, 11, - 4, 0, 30, 0, 11, 0, 50, 11,194, 1, 51, 11,195, 1, 5, 0, 7, 0,170, 2, 7, 0,245, 2, 7, 0, 43, 2, 2, 0,152, 2, - 2, 0, 27, 0,196, 1, 5, 0, 7, 0,170, 2, 7, 0,164, 4, 7, 0, 52, 11, 7, 0, 53, 11, 7, 0,245, 2,197, 1, 5, 0, - 27, 0, 54, 11,198, 1, 21, 0, 7, 0, 81, 6, 7, 0, 55, 11, 7, 0, 55, 0,199, 1, 3, 0, 7, 0, 56, 11, 4, 0, 57, 11, - 4, 0, 58, 11,200, 1, 7, 0, 4, 0, 59, 11, 4, 0, 60, 11, 4, 0, 61, 11, 7, 0, 62, 11, 7, 0, 63, 11, 7, 0, 64, 11, - 7, 0, 55, 0,201, 1, 8, 0,201, 1, 0, 0,201, 1, 1, 0, 27, 0, 43, 0, 4, 0, 3, 1, 2, 0, 18, 0, 2, 0, 87, 1, - 7, 0,245, 2, 7, 0, 64, 9,202, 1, 7, 0,202, 1, 0, 0,202, 1, 1, 0, 27, 0, 43, 0, 2, 0,230, 2, 2, 0, 18, 0, - 2, 0, 17, 2, 2, 0, 55, 0,203, 1, 17, 0,196, 1, 13, 4,196, 1, 65, 11,195, 1, 66, 11,196, 1, 47, 9,197, 1, 67, 11, - 4, 0, 81, 0, 7, 0,245, 2, 7, 0, 12, 3, 7, 0, 68, 11, 4, 0, 59, 11, 4, 0, 69, 11, 7, 0, 63, 11, 7, 0, 64, 11, - 7, 0,107, 0, 4, 0, 70, 11, 2, 0, 18, 0, 2, 0, 71, 11,204, 1, 15, 0, 7, 0,255, 0, 7, 0, 72, 11, 7, 0, 56, 11, - 7, 0, 73, 11, 7, 0, 74, 11, 7, 0, 75, 11, 7, 0, 76, 11, 7, 0, 77, 11, 7, 0, 78, 11, 7, 0, 79, 11, 7, 0, 80, 11, - 7, 0, 81, 11, 7, 0, 82, 11, 4, 0, 18, 0, 4, 0, 83, 11,205, 1,128, 0, 22, 0, 32, 0, 34, 0, 74, 0,206, 1, 84, 11, -204, 1, 85, 11,188, 0,159, 4, 4, 0, 18, 0, 4, 0, 55, 0, 2, 0, 16, 0, 2, 0, 66, 10, 2, 0, 86, 11, 2, 0,124, 1, - 2, 0, 87, 11, 2, 0,237, 3, 2, 0, 88, 11, 2, 0, 89, 11, 2, 0, 90, 11, 2, 0, 91, 11, 2, 0, 92, 11, 2, 0, 93, 11, - 2, 0, 94, 11, 2, 0, 95, 11, 2, 0, 96, 11, 2, 0,231, 5, 2, 0, 97, 11, 2, 0, 98, 11, 2, 0, 99, 11, 2, 0,100, 11, - 2, 0,101, 11, 2, 0, 32, 2, 2, 0, 40, 9, 2, 0, 15, 9, 2, 0,102, 11, 2, 0,103, 11, 2, 0, 30, 4, 2, 0, 31, 4, - 2, 0,104, 11, 2, 0,105, 11, 2, 0,106, 11, 2, 0,107, 11, 7, 0,108, 11, 7, 0,109, 11, 7, 0,110, 11, 7, 0,111, 11, - 7, 0,112, 11, 7, 0,113, 11, 7, 0,114, 11, 2, 0,161, 5, 2, 0,115, 11, 7, 0,116, 11, 7, 0,117, 11, 7, 0,118, 11, - 7, 0, 22, 9, 7, 0, 90, 0, 7, 0, 12, 3, 7, 0, 28, 9, 7, 0,119, 11, 7, 0,120, 11, 7, 0,121, 11, 7, 0,122, 11, - 7, 0,123, 11, 7, 0,124, 11, 4, 0, 23, 9, 4, 0, 21, 9, 4, 0,125, 11, 4, 0,126, 11, 2, 0,127, 11, 2, 0,128, 11, - 7, 0, 24, 9, 7, 0, 25, 9, 7, 0, 26, 9, 7, 0,129, 11, 7, 0,130, 11, 7, 0,131, 11, 7, 0,132, 11, 7, 0,133, 11, - 7, 0,134, 11, 7, 0,135, 11, 7, 0,136, 11, 7, 0,137, 11, 7, 0,227, 3, 7, 0,107, 0, 7, 0,138, 11, 7, 0,139, 11, - 7, 0,140, 11, 7, 0,141, 11, 7, 0,213, 0, 7, 0,142, 11, 4, 0,143, 11, 4, 0,144, 11, 7, 0,145, 11, 7, 0,146, 11, - 7, 0,147, 11, 7, 0,148, 11, 7, 0,149, 11, 7, 0,212, 0, 7, 0,150, 11, 7, 0, 57, 4, 7, 0, 55, 4, 7, 0, 56, 4, - 7, 0,151, 11, 7, 0,152, 11, 7, 0,153, 11, 7, 0,154, 11, 7, 0,155, 11, 7, 0,156, 11, 7, 0,157, 11, 7, 0,158, 11, - 7, 0,159, 11, 7, 0,160, 11, 7, 0,161, 11, 7, 0,162, 11, 7, 0,163, 11, 7, 0,164, 11, 7, 0,165, 11, 7, 0,166, 11, - 7, 0,167, 11, 7, 0,168, 11, 4, 0,169, 11, 4, 0,170, 11, 46, 0,143, 1, 64, 0, 5, 4, 14, 0,171, 11, 64, 0,172, 11, - 27, 0,173, 11, 27, 0,174, 11, 31, 0, 79, 0,183, 0, 73, 1,183, 0,175, 11,151, 0, 52, 0,151, 0, 0, 0,151, 0, 1, 0, -205, 1,176, 11,203, 1,177, 11,200, 1,225, 9,191, 0, 85, 4, 11, 0, 86, 4,207, 1,178, 11,207, 1,179, 11, 14, 0,180, 11, - 14, 0,181, 11,136, 0,182, 11,144, 0,183, 11,144, 0,184, 11, 27, 0,185, 11, 27, 0,186, 11, 27, 0, 37, 0, 14, 0, 33, 10, - 0, 0, 19, 0, 7, 0,244, 0, 7, 0, 41, 3, 7, 0,187, 11, 7, 0,188, 11, 4, 0,219, 2, 4, 0,189, 11, 4, 0, 18, 0, - 4, 0, 23, 9, 4, 0,190, 11, 4, 0,191, 11, 4, 0,192, 11, 4, 0,193, 11, 2, 0,251, 0, 2, 0,194, 11, 2, 0,195, 11, - 2, 0,196, 11, 0, 0,197, 11, 2, 0,198, 11, 2, 0,199, 11, 2, 0,200, 11, 11, 0,201, 11,140, 0,158, 4, 14, 0, 26, 3, - 14, 0,202, 11,199, 1,203, 11, 4, 0,204, 11, 4, 0,205, 11,208, 1,206, 11,142, 0, 38, 3,209, 1,207, 11, 7, 0,208, 11, - 7, 0,209, 11, 7, 0,210, 11,138, 0, 38, 0,210, 1,159, 9, 7, 0,128, 4, 7, 0,211, 11, 7, 0,212, 11, 7, 0, 81, 6, - 7, 0,241, 3, 7, 0,227, 3, 7, 0,213, 11, 7, 0, 95, 2, 7, 0,214, 11, 7, 0,215, 11, 7, 0,216, 11, 7, 0,217, 11, - 7, 0,218, 11, 7, 0,219, 11, 7, 0,129, 4, 7, 0,220, 11, 7, 0,221, 11, 7, 0,222, 11, 7, 0,130, 4, 7, 0,126, 4, - 7, 0,127, 4, 7, 0,223, 11, 7, 0,224, 11, 7, 0,225, 11, 4, 0,226, 11, 4, 0, 91, 0, 4, 0,227, 11, 4, 0,228, 11, - 2, 0,229, 11, 2, 0,230, 11, 2, 0,231, 11, 2, 0,232, 11, 2, 0,233, 11, 2, 0,234, 11, 2, 0,235, 11, 2, 0, 27, 0, -188, 0,159, 4,139, 0, 11, 0,210, 1,236, 11, 7, 0,237, 11, 7, 0,238, 11, 7, 0,254, 1, 7, 0,239, 11, 7, 0,240, 11, - 7, 0,241, 11, 4, 0, 91, 0, 2, 0,242, 11, 2, 0,243, 11, 64, 0,253, 1,211, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, - 7, 0, 7, 0, 7, 0,244, 11,212, 1, 6, 0,212, 1, 0, 0,212, 1, 1, 0,211, 1,201, 9, 4, 0, 1, 1, 2, 0,245, 11, - 2, 0, 18, 0,213, 1, 5, 0,213, 1, 0, 0,213, 1, 1, 0, 14, 0,246, 11, 4, 0,247, 11, 4, 0, 18, 0,214, 1, 9, 0, -214, 1, 0, 0,214, 1, 1, 0, 14, 0,126, 0,213, 1,248, 11, 4, 0, 18, 0, 2, 0,245, 11, 2, 0,249, 11, 7, 0, 92, 0, - 0, 0,250, 11,179, 0, 6, 0, 22, 0, 32, 0, 14, 0,130, 5, 4, 0, 18, 0, 2, 0,251, 11, 2, 0,252, 11, 11, 0,253, 11, -215, 1, 6, 0, 14, 0,254, 11, 4, 0,255, 11, 4, 0, 0, 12, 4, 0, 18, 0, 4, 0, 27, 0,238, 0, 1, 12,216, 1, 19, 0, - 22, 0, 32, 0,217, 1, 2, 12,217, 1, 3, 12, 14, 0, 4, 12, 4, 0, 5, 12, 2, 0, 6, 12, 2, 0, 7, 12, 14, 0, 8, 12, - 14, 0, 9, 12,215, 1, 10, 12, 14, 0, 11, 12, 14, 0, 12, 12, 14, 0, 13, 12, 14, 0, 14, 12,218, 1, 15, 12,218, 1, 16, 12, -218, 1, 17, 12, 14, 0, 18, 12,238, 0, 19, 12,217, 1, 32, 0,217, 1, 0, 0,217, 1, 1, 0, 11, 0, 20, 12, 4, 0,127, 8, - 2, 0, 21, 12, 2, 0, 27, 0, 28, 1, 22, 12, 28, 1, 23, 12, 0, 0, 24, 12, 2, 0, 25, 12, 2, 0, 26, 12, 2, 0,149, 8, - 2, 0,150, 8, 2, 0, 27, 12, 2, 0, 28, 12, 2, 0, 20, 4, 2, 0, 59, 7, 2, 0, 29, 12, 2, 0, 30, 12, 2, 0, 31, 12, - 2, 0, 30, 0,219, 1, 32, 12,220, 1, 33, 12,221, 1, 34, 12, 4, 0, 35, 12, 4, 0, 36, 12, 11, 0, 37, 12, 14, 0, 9, 12, - 14, 0,169, 8, 14, 0, 38, 12, 14, 0, 39, 12, 14, 0, 40, 12,222, 1, 18, 0,222, 1, 0, 0,222, 1, 1, 0, 0, 0, 41, 12, - 21, 0, 31, 0, 0, 0, 42, 12, 2, 0, 43, 12, 2, 0, 16, 0, 2, 0, 14, 0, 2, 0, 44, 12, 2, 0, 45, 12, 2, 0, 46, 12, - 2, 0, 47, 12, 2, 0, 48, 12, 2, 0, 18, 0, 2, 0, 49, 12, 2, 0, 32, 0, 2, 0, 27, 0,223, 1, 50, 12,224, 1, 4, 0, -224, 1, 0, 0,224, 1, 1, 0,222, 1, 51, 12,222, 1, 52, 12,225, 1, 11, 0,225, 1, 0, 0,225, 1, 1, 0, 14, 0, 53, 12, - 14, 0, 54, 12, 0, 0, 41, 12, 2, 0, 55, 12, 2, 0, 56, 12, 2, 0, 18, 0, 2, 0, 57, 12, 4, 0, 58, 12, 11, 0, 59, 12, -218, 1, 7, 0,218, 1, 0, 0,218, 1, 1, 0, 0, 0, 41, 12, 0, 0, 60, 12, 14, 0, 67, 8, 4, 0, 61, 12, 4, 0, 18, 0, -250, 0, 14, 0,250, 0, 0, 0,250, 0, 1, 0, 0, 0, 41, 12, 21, 0, 31, 0,226, 1,143, 8, 11, 0, 62, 12, 11, 0, 63, 12, -223, 1, 50, 12,215, 1, 64, 12, 14, 0, 65, 12,250, 0, 66, 12, 33, 1,245, 6, 2, 0, 18, 0, 2, 0, 86, 1,227, 1, 12, 0, -227, 1, 0, 0,227, 1, 1, 0, 11, 0, 2, 0, 11, 0, 67, 12, 0, 0, 19, 0, 2, 0, 16, 0, 2, 0, 18, 0, 7, 0,147, 9, - 7, 0,128, 0, 7, 0,137, 4, 7, 0, 97, 9, 7, 0, 89, 10,228, 1, 5, 0, 7, 0, 68, 12, 4, 0, 69, 12, 4, 0, 70, 12, - 4, 0, 87, 1, 4, 0, 18, 0,229, 1, 6, 0, 7, 0, 71, 12, 7, 0, 72, 12, 7, 0, 73, 12, 7, 0, 74, 12, 4, 0, 16, 0, - 4, 0, 18, 0,230, 1, 5, 0, 7, 0,125, 9, 7, 0,126, 9, 7, 0,245, 2, 2, 0, 46, 2, 2, 0, 47, 2,231, 1, 5, 0, -230, 1, 2, 0, 4, 0, 52, 0, 7, 0, 75, 12, 7, 0,125, 9, 7, 0,126, 9,232, 1, 4, 0, 2, 0, 76, 12, 2, 0, 77, 12, - 2, 0, 78, 12, 2, 0, 79, 12,233, 1, 2, 0, 37, 0, 43, 7, 21, 0,165, 9,234, 1, 3, 0, 19, 0, 80, 12, 4, 0, 18, 0, - 4, 0, 27, 0,235, 1, 6, 0, 7, 0,107, 0, 7, 0,214, 2, 7, 0, 81, 12, 7, 0, 27, 0, 2, 0,250, 0, 2, 0, 82, 12, -236, 1, 5, 0, 7, 0, 83, 12, 7, 0,127, 0, 7, 0,202, 9, 7, 0,203, 9, 4, 0, 18, 0,237, 1, 6, 0, 22, 0, 48, 7, - 0, 0, 84, 12, 0, 0, 85, 12, 2, 0, 86, 12, 2, 0, 18, 0, 4, 0, 87, 12,238, 1, 7, 0,238, 1, 0, 0,238, 1, 1, 0, - 0, 0, 19, 0,237, 1, 88, 12, 2, 0, 89, 12, 2, 0, 16, 0, 7, 0, 59, 0,239, 1, 7, 0, 14, 0, 90, 12, 0, 0, 91, 12, - 11, 0, 92, 12, 7, 0, 59, 0, 7, 0,147, 9, 4, 0, 16, 0, 4, 0, 18, 0,240, 1, 3, 0, 7, 0, 93, 12, 4, 0, 18, 0, - 4, 0, 27, 0,241, 1, 15, 0,241, 1, 0, 0,241, 1, 1, 0,107, 1, 20, 10,239, 1, 60, 0, 14, 0,193, 3, 30, 0, 48, 0, -240, 1, 94, 12, 4, 0, 52, 0, 7, 0, 59, 0, 2, 0, 18, 0, 2, 0, 22, 1, 4, 0, 95, 12, 0, 0, 84, 12, 4, 0, 96, 12, - 7, 0, 97, 12,242, 1, 2, 0, 0, 0, 98, 12, 0, 0, 99, 12,243, 1, 4, 0,243, 1, 0, 0,243, 1, 1, 0,177, 0, 75, 3, - 14, 0,100, 12,244, 1, 25, 0,244, 1, 0, 0,244, 1, 1, 0, 14, 0,101, 12,177, 0, 95, 9,243, 1,102, 12, 14, 0,103, 12, - 14, 0,193, 3, 0, 0, 19, 0, 7, 0,147, 9, 7, 0,104, 12, 7, 0, 89, 0, 7, 0, 90, 0, 7, 0, 85, 10, 7, 0, 86, 10, - 7, 0, 2, 3, 7, 0,153, 3, 7, 0, 97, 9, 7, 0, 89, 10, 2, 0,105, 12, 2, 0,106, 12, 2, 0, 66, 0, 2, 0, 16, 0, - 11, 0,107, 12, 4, 0, 18, 0, 4, 0, 30, 0,245, 1, 6, 0,245, 1, 0, 0,245, 1, 1, 0, 14, 0,101, 12, 4, 0, 18, 0, - 4, 0, 17, 2, 0, 0, 19, 0,246, 1, 11, 0,246, 1, 0, 0,246, 1, 1, 0, 22, 0, 48, 7, 0, 0,108, 12, 4, 0, 87, 12, - 2, 0,109, 12, 2, 0, 27, 0, 0, 0, 84, 12, 4, 0, 95, 12, 2, 0, 18, 0, 2, 0,110, 12,247, 1, 10, 0,247, 1, 0, 0, -247, 1, 1, 0, 14, 0,111, 12, 0, 0, 41, 12, 0, 0, 19, 0, 0, 0,112, 12, 0, 0,113, 12, 2, 0, 18, 0, 2, 0,110, 12, - 4, 0,114, 12,248, 1, 5, 0,248, 1, 0, 0,248, 1, 1, 0, 0, 0, 84, 12, 4, 0, 95, 12, 7, 0,235, 2, 34, 0, 12, 0, -177, 0,184, 3,177, 0,115, 12,243, 1,102, 12, 14, 0,116, 12,244, 1,117, 12, 14, 0,118, 12, 14, 0,119, 12, 4, 0, 18, 0, - 4, 0,251, 0, 2, 0,120, 12, 2, 0,121, 12, 7, 0,122, 12,249, 1, 2, 0, 22, 0, 32, 0, 34, 0, 74, 0,250, 1, 5, 0, -250, 1, 0, 0,250, 1, 1, 0, 4, 0, 16, 0, 4, 0, 18, 0, 0, 0,179, 5,251, 1, 6, 0,250, 1,123, 12, 27, 0, 43, 0, - 4, 0,124, 12, 7, 0,125, 12, 4, 0,126, 12, 4, 0, 6, 10,252, 1, 3, 0,250, 1,123, 12, 4, 0,124, 12, 7, 0,127, 12, -253, 1, 8, 0,250, 1,123, 12, 27, 0, 43, 0, 7, 0, 77, 1, 7, 0,128, 12, 7, 0, 41, 3, 7, 0,158, 9, 4, 0,124, 12, - 4, 0,129, 12,254, 1, 5, 0,250, 1,123, 12, 7, 0,130, 12, 7, 0,181, 2, 7, 0, 8, 3, 7, 0, 55, 0,255, 1, 3, 0, -250, 1,123, 12, 7, 0,158, 9, 7, 0,131, 12,198, 1, 4, 0, 7, 0,132, 12, 7, 0,139, 11, 2, 0,133, 12, 2, 0, 87, 1, - 0, 2, 14, 0, 0, 2, 0, 0, 0, 2, 1, 0, 14, 0,134, 12, 14, 0,135, 12, 14, 0,136, 12, 0, 0,179, 5, 4, 0, 32, 0, - 4, 0, 18, 0, 4, 0,137, 12, 7, 0,138, 12, 4, 0,126, 12, 4, 0, 6, 10, 7, 0, 89, 4, 7, 0, 10, 3,206, 1, 23, 0, - 4, 0,124, 12, 4, 0,139, 12, 7, 0,140, 12, 7, 0, 6, 3, 7, 0,141, 12, 7, 0,238, 8, 7, 0,132, 12, 7, 0,142, 12, - 7, 0,214, 2, 7, 0, 2, 11, 7, 0,222, 4, 7, 0,143, 12, 7, 0,144, 12, 7, 0,145, 12, 7, 0,146, 12, 7, 0,147, 12, - 7, 0,148, 12, 7, 0,149, 12, 7, 0,150, 12, 7, 0,151, 12, 7, 0,152, 12, 7, 0,153, 12, 14, 0,154, 12,124, 0, 40, 0, -123, 0,155, 12, 1, 2, 85, 11, 64, 0,156, 12, 64, 0,172, 11, 64, 0,157, 12, 2, 2,158, 12, 43, 0,168, 0, 43, 0,159, 12, - 43, 0,160, 12, 7, 0,161, 12, 7, 0,162, 12, 7, 0,163, 12, 7, 0,164, 12, 7, 0,165, 12, 7, 0,126, 8, 7, 0,166, 12, - 7, 0,181, 1, 7, 0,167, 12, 4, 0,168, 12, 4, 0,169, 12, 4, 0,170, 12, 4, 0, 91, 0, 4, 0, 27, 0, 4, 0,171, 12, - 2, 0,172, 12, 2, 0,173, 12, 4, 0,174, 12, 7, 0,214, 2, 4, 0,175, 12, 7, 0,176, 12, 4, 0,177, 12, 4, 0,178, 12, - 4, 0,179, 12,140, 0,180, 12, 14, 0,181, 12,188, 0,159, 4, 4, 0,182, 12, 7, 0,183, 12, 7, 0,184, 12, 4, 0, 30, 0, -125, 0, 12, 0,123, 0,155, 12,151, 0, 61, 3, 7, 0,146, 1, 7, 0,126, 8, 7, 0,185, 12, 7, 0,186, 12, 7, 0,187, 12, - 2, 0,188, 12, 2, 0,189, 12, 2, 0,190, 12, 2, 0, 16, 0, 4, 0, 91, 0,126, 0, 15, 0,123, 0,155, 12,142, 0, 38, 3, - 7, 0,201, 9, 7, 0,191, 12, 7, 0,192, 12, 4, 0,193, 12, 7, 0, 79, 1, 7, 0,194, 12, 4, 0, 42, 10, 4, 0, 34, 3, - 4, 0,195, 12, 7, 0,164, 12, 2, 0, 16, 0, 2, 0, 27, 0, 4, 0, 30, 0, 3, 2, 15, 0, 22, 0, 32, 0, 34, 0, 74, 0, - 47, 1,236, 8, 7, 0,196, 12, 7, 0,197, 12, 7, 0,198, 12, 7, 0,199, 12, 7, 0,157, 9, 7, 0,200, 12, 7, 0,201, 12, - 7, 0,202, 12, 7, 0, 89, 4, 7, 0,238, 8, 2, 0, 18, 0, 2, 0,121, 9,232, 0, 3, 0, 4, 0,125, 0, 2, 0,221, 6, - 2, 0,203, 12, 4, 2, 5, 0, 0, 0,202, 8, 2, 0,203, 8, 2, 0, 79, 5, 2, 0,204, 12, 2, 0,205, 12,230, 0, 16, 0, - 22, 0, 32, 0, 34, 0, 74, 0, 0, 0, 35, 0, 4, 0,142, 0, 4, 0,143, 0, 4, 0,206, 12, 7, 0,161, 0, 7, 0,162, 0, - 44, 0,137, 0, 5, 2,159, 9,179, 0,187, 3, 6, 2,207, 12, 11, 0,208, 12, 4, 2,209, 12, 4, 0, 18, 0, 4, 0, 22, 0, - 14, 1, 10, 0, 4, 0,131, 0, 4, 0,210, 12, 52, 0,211, 12, 7, 0,212, 12, 2, 0,213, 12, 0, 0,186, 2, 4, 0,125, 0, - 7, 2,180, 3, 8, 2,214, 12, 7, 0,215, 12, 9, 2, 3, 0, 4, 0,125, 0, 7, 0,216, 12, 7, 0, 79, 1, 10, 2, 11, 0, - 11, 0,217, 12, 7, 0,218, 12, 7, 0,219, 12, 7, 0, 27, 0, 7, 0,220, 12, 2, 0,221, 12, 2, 0, 66, 0, 7, 0,222, 12, - 7, 0,223, 12, 7, 0,224, 12, 7, 0,225, 12, 8, 2, 3, 0, 7, 0,226, 12, 4, 0,125, 0, 4, 0, 18, 0, 7, 2, 24, 0, - 7, 2, 0, 0, 7, 2, 1, 0, 0, 0, 19, 0, 7, 0,227, 12, 7, 0,228, 12, 7, 0,229, 12, 7, 0,230, 12, 7, 0, 16, 11, - 4, 0,231, 12, 4, 0,232, 12, 8, 2,233, 12, 7, 0,234, 12, 7, 0,216, 12, 4, 0, 18, 0, 4, 0,235, 12, 4, 0,236, 12, - 7, 0, 97, 12, 2, 0,237, 12, 2, 0,232, 3, 2, 0,238, 12, 2, 0,239, 12, 2, 0,240, 12, 2, 0, 30, 0, 7, 0,241, 12, - 11, 2, 22, 0, 4, 0, 18, 0, 2, 0,242, 12, 2, 0,243, 12, 7, 0,244, 12, 2, 0,245, 12, 2, 0,246, 12, 2, 0,247, 12, - 2, 0,248, 12, 2, 0,249, 12, 2, 0,250, 12, 2, 0,251, 12, 2, 0, 8, 3, 4, 0,252, 12, 4, 0,253, 12, 2, 0,254, 12, - 2, 0, 30, 0, 7, 0, 94, 1, 4, 0,255, 12, 4, 0, 0, 13, 7, 0, 1, 13, 7, 0, 2, 13, 4, 0,250, 1, 12, 2, 12, 0, - 4, 0, 18, 0, 4, 0, 3, 13, 4, 0, 4, 13, 7, 0, 5, 13, 7, 2, 6, 13, 7, 0, 7, 13, 7, 0, 8, 13, 7, 0, 9, 13, - 4, 0,193, 1, 4, 0,131, 0, 7, 0,153, 3, 52, 0, 10, 13, 13, 2, 5, 0, 4, 0, 18, 0, 7, 0,216, 12, 4, 0, 11, 13, - 4, 0, 12, 13, 9, 2, 13, 13, 14, 2, 7, 0, 14, 2, 0, 0, 14, 2, 1, 0, 0, 0, 19, 0, 4, 0, 18, 0, 7, 0,153, 3, - 14, 0, 14, 13, 13, 2, 15, 13, 15, 2, 1, 0, 0, 0, 16, 13, 16, 2, 8, 0, 16, 2, 0, 0, 16, 2, 1, 0, 7, 2,180, 3, - 4, 0, 27, 0, 4, 0, 17, 13, 4, 0, 18, 13, 4, 0, 19, 13, 4, 0, 20, 13, 17, 2, 6, 0, 4, 0,131, 0, 4, 0, 27, 0, - 14, 0, 6, 10, 4, 0, 21, 13, 2, 0, 22, 13, 2, 0, 23, 13, 6, 2, 11, 0, 11, 2, 24, 13, 10, 2, 25, 13, 14, 0, 14, 13, - 13, 2, 15, 13, 12, 2, 26, 13, 7, 2, 27, 13, 14, 0, 28, 13, 4, 0, 29, 13, 4, 0, 30, 13, 15, 2, 96, 6, 17, 2, 31, 13, - 18, 2, 48, 0, 18, 2, 0, 0, 18, 2, 1, 0,170, 0,150, 3, 19, 2, 2, 0, 64, 0, 32, 13,188, 0,159, 4,140, 0,158, 4, - 14, 0, 26, 3, 4, 0, 33, 13, 0, 0, 19, 0, 2, 0,172, 10, 2, 0, 16, 0, 2, 0, 34, 13, 2, 0, 35, 13, 2, 0, 36, 13, - 2, 0, 37, 13, 2, 0, 38, 13, 2, 0, 39, 13, 4, 0, 91, 0, 4, 0,191, 3, 4, 0, 40, 13, 4, 0, 41, 13, 4, 0,202, 9, - 4, 0,203, 9, 4, 0, 27, 0, 7, 0, 42, 13, 47, 0, 43, 13, 0, 0, 44, 13, 4, 0, 45, 13, 4, 0,174, 12, 7, 0, 46, 13, - 7, 0, 47, 13, 7, 0, 48, 13, 7, 0, 49, 13, 7, 0, 50, 13, 7, 0, 51, 13, 7, 0, 52, 13, 7, 0, 53, 13, 7, 0, 54, 13, - 7, 0, 55, 13, 7, 0, 56, 13, 7, 0, 57, 13, 7, 0, 58, 13, 7, 0, 59, 13, 0, 0,207, 2, 0, 0, 60, 13, 0, 0, 61, 13, - 0, 0, 62, 13,170, 0, 7, 0,169, 0, 63, 13,144, 0, 40, 3, 14, 0, 64, 13, 2, 0, 65, 13, 2, 0, 91, 0, 4, 0, 27, 0, - 0, 0, 66, 13,171, 0, 24, 0,169, 0, 63, 13,144, 0, 40, 3,151, 0, 61, 3, 63, 0, 29, 2, 4, 0, 91, 0, 4, 0, 67, 13, - 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,181, 1, 7, 0, 68, 13, 7, 0, 69, 13, 7, 0, 70, 13, 7, 0, 71, 13, - 50, 0, 72, 13, 50, 0, 73, 13, 2, 0, 74, 13, 2, 0,233, 10, 2, 0, 75, 13, 2, 0, 27, 0, 7, 0, 76, 13, 7, 0, 77, 13, - 7, 0, 78, 13, 7, 0, 79, 13, 69, 78, 68, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 28, 0, 28, 0, 88, 0, 24, 0,160, 0, 16, 0,152, 0, 72, 0,168, 0, 48, 0,208, 0, 56, 0, 16, 0,112, 1, 0, 0, 0, 0, + 0, 0, 16, 0, 16, 0, 4, 0, 24, 0, 16, 0, 4, 0, 16, 0, 24, 0,104, 0, 20, 0, 24, 0, 24, 0, 8, 0, 40, 0, 28, 0, + 12, 0, 12, 0, 32, 4, 40, 4, 64, 4, 44, 0, 24, 0, 8, 0,128, 0, 64, 0, 32, 0, 16, 0, 32, 0, 32, 0, 8, 0, 96, 0, + 20, 0,200, 3,216, 3,208, 3,200, 3,208, 3,208, 3,200, 3,208, 3,208, 3,208, 3,208, 3, 64, 0, 64, 0, 12, 0, 56, 0, + 24, 0,104, 0, 0, 4, 24, 0, 56, 0, 56, 0, 20, 0, 16, 0, 64, 0, 40, 0, 32, 0,192, 0, 60, 0, 16, 3,104, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 16, 0, 32, 0, 40, 0,192, 0, 40, 0, 88, 1, 0, 1,168, 0, 0, 0, 0, 0, 0, 0,184, 0, 0, 0, + 32, 0,136, 0, 0, 0,120, 0, 24, 0, 24, 0, 16, 0, 24, 0, 8, 0, 16, 0, 24, 0, 20, 0, 20, 0, 56, 0, 24, 2, 40, 1, + 16, 0,104, 0, 0, 1, 40, 0,208, 0,104, 0,112, 0,216, 1, 32, 0,128, 0, 56, 0, 80, 0, 64, 0,104, 0, 72, 0, 64, 0, +128, 0, 0, 0, 0, 0,184, 0, 8, 3, 0, 0, 24, 1,192, 0, 16, 0, 72, 0, 48, 0, 64, 0, 56, 0, 24, 0,128, 0, 0, 1, + 48, 0, 32, 0, 16, 6, 0, 0, 83, 84, 82, 67,217, 1, 0, 0, 12, 0, 2, 0, 12, 0, 0, 0, 12, 0, 1, 0, 13, 0, 3, 0, + 13, 0, 0, 0, 13, 0, 1, 0, 11, 0, 2, 0, 14, 0, 2, 0, 11, 0, 3, 0, 11, 0, 4, 0, 15, 0, 2, 0, 2, 0, 5, 0, + 2, 0, 6, 0, 16, 0, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0, 17, 0, 3, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 7, 0, + 18, 0, 4, 0, 4, 0, 8, 0, 4, 0, 9, 0, 4, 0, 10, 0, 4, 0, 11, 0, 19, 0, 4, 0, 7, 0, 8, 0, 7, 0, 9, 0, + 7, 0, 10, 0, 7, 0, 11, 0, 20, 0, 4, 0, 11, 0, 12, 0, 14, 0, 13, 0, 4, 0, 14, 0, 4, 0, 15, 0, 21, 0, 10, 0, + 21, 0, 0, 0, 21, 0, 1, 0, 0, 0, 16, 0, 0, 0, 17, 0, 2, 0, 18, 0, 0, 0, 19, 0, 4, 0, 20, 0, 20, 0, 21, 0, + 4, 0, 22, 0, 4, 0, 23, 0, 22, 0, 11, 0, 11, 0, 0, 0, 11, 0, 1, 0, 22, 0, 24, 0, 23, 0, 25, 0, 0, 0, 26, 0, + 2, 0, 27, 0, 2, 0, 28, 0, 2, 0, 18, 0, 4, 0, 29, 0, 4, 0, 30, 0, 21, 0, 31, 0, 23, 0, 6, 0, 22, 0, 32, 0, + 22, 0, 33, 0, 24, 0, 34, 0, 0, 0, 35, 0, 0, 0, 36, 0, 23, 0, 37, 0, 25, 0, 5, 0, 4, 0, 38, 0, 4, 0, 39, 0, + 2, 0, 40, 0, 2, 0, 41, 0, 4, 0, 42, 0, 26, 0, 6, 0, 27, 0, 43, 0, 2, 0, 44, 0, 2, 0, 45, 0, 2, 0, 16, 0, + 2, 0, 18, 0, 0, 0, 46, 0, 28, 0, 21, 0, 28, 0, 0, 0, 28, 0, 1, 0, 29, 0, 47, 0, 30, 0, 48, 0, 19, 0, 49, 0, + 19, 0, 50, 0, 2, 0, 44, 0, 2, 0, 45, 0, 2, 0, 51, 0, 2, 0, 52, 0, 2, 0, 53, 0, 2, 0, 54, 0, 2, 0, 18, 0, + 2, 0, 55, 0, 7, 0, 10, 0, 7, 0, 11, 0, 4, 0, 56, 0, 7, 0, 57, 0, 7, 0, 58, 0, 7, 0, 59, 0, 26, 0, 60, 0, + 31, 0, 7, 0, 22, 0, 32, 0, 14, 0, 61, 0, 19, 0, 62, 0, 2, 0, 44, 0, 2, 0, 63, 0, 2, 0, 64, 0, 2, 0, 27, 0, + 32, 0, 16, 0, 32, 0, 0, 0, 32, 0, 1, 0, 7, 0, 65, 0, 7, 0, 59, 0, 2, 0, 16, 0, 2, 0, 66, 0, 2, 0, 67, 0, + 2, 0, 18, 0, 4, 0, 68, 0, 4, 0, 69, 0, 11, 0, 2, 0, 7, 0, 70, 0, 0, 0, 19, 0, 0, 0, 71, 0, 7, 0, 72, 0, + 7, 0, 73, 0, 33, 0, 15, 0, 22, 0, 32, 0, 34, 0, 74, 0, 32, 0, 75, 0, 0, 0, 76, 0, 4, 0, 77, 0, 4, 0, 27, 0, + 14, 0, 78, 0, 31, 0, 79, 0, 22, 0, 80, 0, 2, 0, 16, 0, 2, 0, 81, 0, 2, 0, 82, 0, 2, 0, 18, 0, 7, 0, 83, 0, + 4, 0, 84, 0, 35, 0, 6, 0, 35, 0, 0, 0, 35, 0, 1, 0, 0, 0, 85, 0, 0, 0, 86, 0, 4, 0, 22, 0, 4, 0, 87, 0, + 36, 0, 10, 0, 36, 0, 0, 0, 36, 0, 1, 0, 4, 0, 88, 0, 4, 0, 89, 0, 4, 0, 90, 0, 4, 0, 66, 0, 4, 0, 13, 0, + 4, 0, 91, 0, 0, 0, 92, 0, 0, 0, 93, 0, 37, 0, 15, 0, 22, 0, 32, 0, 0, 0, 94, 0, 4, 0, 91, 0, 4, 0, 95, 0, + 14, 0, 96, 0, 35, 0, 97, 0, 35, 0, 98, 0, 4, 0, 99, 0, 4, 0,100, 0, 14, 0,101, 0, 0, 0,102, 0, 4, 0,103, 0, + 4, 0,104, 0, 11, 0,105, 0, 8, 0,106, 0, 38, 0, 3, 0, 4, 0,107, 0, 4, 0,108, 0, 11, 0, 2, 0, 39, 0, 20, 0, + 22, 0, 32, 0, 34, 0, 74, 0, 0, 0, 16, 0, 0, 0,109, 0, 2, 0, 18, 0, 7, 0,110, 0, 7, 0,111, 0, 7, 0,112, 0, + 7, 0,113, 0, 7, 0,114, 0, 7, 0,115, 0, 7, 0,116, 0, 7, 0,117, 0, 7, 0,118, 0, 7, 0,119, 0, 7, 0,120, 0, + 31, 0, 79, 0, 27, 0,121, 0, 0, 0,122, 0, 0, 0,123, 0, 40, 0, 14, 0, 41, 0,124, 0, 4, 0,125, 0, 4, 0,126, 0, + 4, 0,127, 0, 4, 0,128, 0, 0, 0,129, 0, 0, 0,130, 0, 0, 0,131, 0, 0, 0, 27, 0, 2, 0,132, 0, 2, 0,133, 0, + 2, 0,134, 0, 2, 0, 18, 0, 4, 0, 30, 0, 42, 0, 33, 0, 22, 0, 32, 0, 0, 0, 35, 0, 14, 0,135, 0, 43, 0,136, 0, + 44, 0,137, 0, 45, 0,138, 0, 45, 0,139, 0, 2, 0,140, 0, 2, 0,141, 0, 2, 0,131, 0, 2, 0, 18, 0, 2, 0,142, 0, + 2, 0, 16, 0, 4, 0,143, 0, 2, 0,144, 0, 2, 0,145, 0, 2, 0,146, 0, 2, 0,147, 0, 2, 0,148, 0, 2, 0,149, 0, + 4, 0,150, 0, 4, 0,151, 0, 38, 0,152, 0, 25, 0,153, 0, 7, 0,154, 0, 4, 0,155, 0, 2, 0,156, 0, 2, 0,157, 0, + 2, 0,158, 0, 0, 0,159, 0, 0, 0,160, 0, 7, 0,161, 0, 7, 0,162, 0, 46, 0, 65, 0, 2, 0,163, 0, 2, 0,164, 0, + 2, 0,165, 0, 2, 0,166, 0, 27, 0,167, 0, 47, 0,168, 0, 0, 0,169, 0, 0, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0, + 0, 0,173, 0, 7, 0,174, 0, 7, 0,175, 0, 7, 0,176, 0, 2, 0,177, 0, 2, 0,178, 0, 2, 0,179, 0, 2, 0,180, 0, + 2, 0,181, 0, 2, 0,182, 0, 0, 0,183, 0, 0, 0,123, 0, 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0, + 7, 0,188, 0, 7, 0, 55, 0, 7, 0,189, 0, 7, 0,190, 0, 7, 0,191, 0, 7, 0,192, 0, 7, 0,193, 0, 7, 0,194, 0, + 7, 0,195, 0, 7, 0,196, 0, 7, 0,197, 0, 7, 0,198, 0, 7, 0,199, 0, 7, 0,200, 0, 7, 0,201, 0, 7, 0,202, 0, + 7, 0,203, 0, 7, 0,204, 0, 7, 0,205, 0, 7, 0,206, 0, 7, 0,207, 0, 7, 0,208, 0, 7, 0,209, 0, 7, 0,210, 0, + 7, 0,211, 0, 7, 0,212, 0, 7, 0,213, 0, 7, 0,214, 0, 7, 0,215, 0, 7, 0,216, 0, 7, 0,217, 0, 7, 0,218, 0, + 7, 0,219, 0, 7, 0,220, 0, 7, 0,221, 0, 7, 0,222, 0, 7, 0,223, 0, 7, 0,224, 0, 7, 0,225, 0, 48, 0, 15, 0, + 0, 0, 35, 0, 11, 0,226, 0, 0, 0,227, 0, 0, 0,228, 0, 4, 0,229, 0, 4, 0,230, 0, 11, 0,231, 0, 7, 0,232, 0, + 7, 0,233, 0, 7, 0,234, 0, 4, 0,235, 0, 11, 0,236, 0, 11, 0,237, 0, 4, 0,238, 0, 4, 0, 27, 0, 49, 0, 6, 0, + 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,239, 0, 7, 0, 65, 0, 4, 0, 62, 0, 50, 0, 5, 0, 2, 0, 18, 0, + 2, 0,240, 0, 2, 0, 62, 0, 2, 0,241, 0, 49, 0,234, 0, 51, 0, 17, 0, 27, 0,167, 0, 42, 0,242, 0, 52, 0,243, 0, + 7, 0,244, 0, 7, 0,245, 0, 2, 0, 16, 0, 2, 0,246, 0, 7, 0,111, 0, 7, 0,112, 0, 7, 0,247, 0, 4, 0,248, 0, + 2, 0,249, 0, 2, 0,250, 0, 4, 0,131, 0, 4, 0,143, 0, 2, 0,251, 0, 2, 0,252, 0, 53, 0, 25, 0, 2, 0, 18, 0, + 2, 0,253, 0, 7, 0,254, 0, 7, 0,255, 0, 2, 0,142, 0, 2, 0, 0, 1, 4, 0, 1, 1, 4, 0, 2, 1, 27, 0,167, 0, + 4, 0, 3, 1, 2, 0, 4, 1, 2, 0, 5, 1, 11, 0, 6, 1, 7, 0, 7, 1, 7, 0, 8, 1, 2, 0, 9, 1, 2, 0, 10, 1, + 2, 0, 11, 1, 2, 0, 12, 1, 7, 0, 13, 1, 7, 0, 14, 1, 7, 0, 15, 1, 7, 0, 16, 1, 50, 0, 17, 1, 54, 0, 18, 1, + 55, 0, 13, 0, 4, 0, 19, 1, 4, 0, 20, 1, 2, 0, 21, 1, 2, 0, 18, 0, 2, 0, 22, 1, 2, 0, 23, 1, 27, 0,167, 0, + 7, 0, 24, 1, 4, 0, 25, 1, 0, 0, 26, 1, 7, 0, 27, 1, 4, 0, 28, 1, 4, 0,131, 0, 56, 0, 4, 0, 27, 0,167, 0, + 0, 0, 29, 1, 4, 0, 30, 1, 4, 0, 27, 0, 47, 0, 64, 0, 22, 0, 32, 0, 34, 0, 74, 0, 7, 0, 31, 1, 7, 0, 32, 1, + 7, 0, 33, 1, 7, 0, 34, 1, 7, 0, 35, 1, 7, 0, 36, 1, 7, 0, 37, 1, 7, 0, 38, 1, 7, 0, 39, 1, 7, 0, 30, 0, + 7, 0, 40, 1, 7, 0, 41, 1, 7, 0, 42, 1, 7, 0, 43, 1, 7, 0, 44, 1, 7, 0, 45, 1, 7, 0, 46, 1, 7, 0, 47, 1, + 7, 0, 48, 1, 7, 0, 49, 1, 7, 0, 50, 1, 7, 0, 51, 1, 2, 0, 52, 1, 2, 0, 53, 1, 2, 0, 54, 1, 2, 0, 55, 1, + 2, 0, 56, 1, 2, 0, 57, 1, 2, 0, 58, 1, 2, 0, 18, 0, 2, 0, 16, 0, 2, 0,246, 0, 7, 0, 59, 1, 7, 0, 60, 1, + 7, 0, 61, 1, 7, 0, 62, 1, 4, 0, 63, 1, 4, 0, 64, 1, 2, 0, 65, 1, 2, 0, 66, 1, 2, 0, 22, 1, 2, 0,129, 0, + 4, 0, 22, 0, 4, 0,126, 0, 4, 0,127, 0, 4, 0,128, 0, 7, 0, 67, 1, 7, 0, 68, 1, 7, 0, 66, 0, 40, 0, 69, 1, + 57, 0, 70, 1, 31, 0, 79, 0, 42, 0,242, 0, 48, 0, 71, 1, 50, 0, 17, 1, 51, 0, 72, 1, 25, 0,153, 0, 53, 0, 73, 1, + 55, 0, 74, 1, 56, 0, 75, 1, 0, 0, 76, 1, 0, 0,123, 0, 58, 0, 13, 0, 7, 0, 77, 1, 7, 0, 78, 1, 7, 0,175, 0, + 4, 0, 18, 0, 0, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0, 0, 0,173, 0, 4, 0, 27, 0, 7, 0, 79, 1, 7, 0, 80, 1, + 7, 0, 81, 1, 27, 0, 43, 0, 59, 0, 9, 0, 50, 0, 82, 1, 7, 0, 33, 1, 7, 0, 34, 1, 7, 0, 35, 1, 4, 0, 18, 0, + 7, 0, 83, 1, 7, 0, 84, 1, 4, 0, 85, 1, 4, 0, 86, 1, 60, 0, 76, 0, 22, 0, 32, 0, 34, 0, 74, 0, 2, 0, 16, 0, + 2, 0, 18, 0, 4, 0, 87, 1, 2, 0,178, 0, 2, 0, 88, 1, 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0, + 7, 0, 89, 1, 7, 0, 90, 1, 7, 0, 91, 1, 7, 0, 92, 1, 7, 0, 93, 1, 7, 0, 94, 1, 7, 0, 95, 1, 7, 0, 96, 1, + 7, 0, 97, 1, 7, 0, 98, 1, 7, 0, 99, 1, 54, 0,100, 1, 2, 0,253, 0, 2, 0, 30, 0, 7, 0,111, 0, 7, 0,112, 0, + 7, 0,101, 1, 7, 0,102, 1, 7, 0,103, 1, 7, 0,104, 1, 7, 0,105, 1, 7, 0,106, 1, 2, 0,107, 1, 2, 0,108, 1, + 2, 0,109, 1, 2, 0,110, 1, 0, 0,111, 1, 0, 0,112, 1, 2, 0,113, 1, 2, 0,114, 1, 2, 0,115, 1, 2, 0,116, 1, + 2, 0,117, 1, 7, 0,118, 1, 7, 0,119, 1, 7, 0,120, 1, 7, 0,121, 1, 2, 0,122, 1, 2, 0,123, 1, 2, 0,124, 1, + 2, 0,125, 1, 2, 0,126, 1, 2, 0,127, 1, 7, 0,128, 1, 7, 0,129, 1, 7, 0,130, 1, 7, 0,131, 1, 7, 0,132, 1, + 7, 0,133, 1, 7, 0,134, 1, 7, 0,135, 1, 7, 0,136, 1, 7, 0,137, 1, 7, 0,138, 1, 7, 0,139, 1, 7, 0,140, 1, + 2, 0,141, 1, 0, 0,142, 1, 31, 0, 79, 0, 46, 0,143, 1, 2, 0,144, 1, 2, 0, 76, 1, 0, 0,145, 1, 25, 0,153, 0, + 57, 0, 70, 1, 61, 0, 18, 0, 7, 0,146, 1, 7, 0,147, 1, 7, 0,148, 1, 7, 0,149, 1, 7, 0,150, 1, 7, 0,151, 1, + 7, 0,152, 1, 7, 0,153, 1, 7, 0,154, 1, 7, 0,155, 1, 2, 0,156, 1, 2, 0,157, 1, 2, 0,158, 1, 2, 0,159, 1, + 7, 0,160, 1, 7, 0,161, 1, 7, 0,162, 1, 7, 0,163, 1, 62, 0, 4, 0, 4, 0, 18, 0, 4, 0,164, 1, 4, 0,165, 1, + 4, 0, 66, 0, 63, 0,126, 0, 22, 0, 32, 0, 34, 0, 74, 0, 2, 0,166, 1, 2, 0, 18, 0, 7, 0,184, 0, 7, 0,185, 0, + 7, 0,186, 0, 7, 0,167, 1, 7, 0,168, 1, 7, 0,169, 1, 7, 0,170, 1, 7, 0,171, 1, 7, 0,172, 1, 7, 0,173, 1, + 7, 0,174, 1, 7, 0,175, 1, 7, 0,176, 1, 7, 0,177, 1, 7, 0,178, 1, 7, 0,179, 1, 7, 0,180, 1, 7, 0,181, 1, + 7, 0,182, 1, 7, 0,183, 1, 7, 0,184, 1, 7, 0,185, 1, 7, 0,186, 1, 61, 0,187, 1, 62, 0,188, 1, 7, 0,189, 1, + 7, 0,190, 1, 7, 0,191, 1, 7, 0,192, 1, 7, 0,193, 1, 7, 0,194, 1, 7, 0,195, 1, 2, 0,196, 1, 2, 0,197, 1, + 2, 0,198, 1, 0, 0,199, 1, 0, 0,200, 1, 7, 0,201, 1, 7, 0,202, 1, 2, 0,203, 1, 2, 0,204, 1, 7, 0,205, 1, + 7, 0,206, 1, 7, 0,207, 1, 7, 0,208, 1, 2, 0,209, 1, 2, 0,210, 1, 4, 0, 87, 1, 4, 0,211, 1, 2, 0,212, 1, + 2, 0,213, 1, 2, 0,214, 1, 2, 0,215, 1, 7, 0,216, 1, 7, 0,217, 1, 7, 0,218, 1, 7, 0,219, 1, 7, 0,220, 1, + 7, 0,221, 1, 7, 0,222, 1, 7, 0,223, 1, 7, 0,224, 1, 7, 0,225, 1, 0, 0,226, 1, 7, 0,227, 1, 7, 0,228, 1, + 7, 0,229, 1, 4, 0,230, 1, 0, 0,231, 1, 0, 0,124, 1, 0, 0,232, 1, 0, 0, 76, 1, 2, 0,233, 1, 2, 0,234, 1, + 2, 0,144, 1, 2, 0,235, 1, 2, 0,236, 1, 2, 0,237, 1, 7, 0,238, 1, 7, 0,239, 1, 7, 0,240, 1, 7, 0,241, 1, + 7, 0,242, 1, 2, 0,163, 0, 2, 0,164, 0, 50, 0,243, 1, 50, 0,244, 1, 0, 0,245, 1, 0, 0,246, 1, 0, 0,247, 1, + 0, 0,248, 1, 2, 0,249, 1, 2, 0,250, 1, 7, 0,251, 1, 7, 0,252, 1, 46, 0,143, 1, 57, 0, 70, 1, 31, 0, 79, 0, + 64, 0,253, 1, 25, 0,153, 0, 7, 0,254, 1, 7, 0,255, 1, 7, 0, 0, 2, 7, 0, 1, 2, 7, 0, 2, 2, 2, 0, 3, 2, + 2, 0, 30, 0, 7, 0, 4, 2, 7, 0, 5, 2, 7, 0, 6, 2, 7, 0, 7, 2, 7, 0, 8, 2, 7, 0, 9, 2, 7, 0, 10, 2, + 7, 0, 11, 2, 7, 0, 12, 2, 2, 0, 13, 2, 2, 0, 14, 2, 4, 0, 15, 2, 2, 0, 16, 2, 2, 0, 17, 2, 14, 0, 18, 2, + 65, 0, 4, 0, 22, 0, 32, 0, 0, 0, 35, 0, 66, 0, 2, 0, 38, 0,152, 0, 67, 0, 20, 0, 67, 0, 0, 0, 67, 0, 1, 0, + 68, 0, 19, 2, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 20, 2, 2, 0, 21, 2, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 7, 0, + 7, 0, 22, 2, 7, 0, 23, 2, 7, 0, 24, 2, 7, 0, 25, 2, 7, 0, 26, 2, 7, 0, 27, 2, 7, 0, 28, 2, 7, 0, 22, 0, + 7, 0, 29, 2, 7, 0, 30, 2, 69, 0, 20, 0, 22, 0, 32, 0, 34, 0, 74, 0, 68, 0, 19, 2, 14, 0, 31, 2, 14, 0, 32, 2, + 14, 0, 33, 2, 31, 0, 79, 0, 63, 0, 34, 2, 0, 0, 18, 0, 0, 0, 35, 2, 2, 0, 36, 2, 2, 0,177, 0, 2, 0, 27, 0, + 7, 0, 77, 1, 7, 0,175, 0, 7, 0, 78, 1, 7, 0, 37, 2, 7, 0, 38, 2, 7, 0, 39, 2, 67, 0, 40, 2, 30, 0, 11, 0, + 7, 0, 41, 2, 7, 0, 42, 2, 7, 0, 43, 2, 7, 0,255, 0, 2, 0, 53, 0, 0, 0, 44, 2, 0, 0, 45, 2, 0, 0, 46, 2, + 0, 0, 47, 2, 0, 0, 48, 2, 0, 0, 49, 2, 29, 0, 7, 0, 7, 0, 50, 2, 7, 0, 42, 2, 7, 0, 43, 2, 2, 0, 46, 2, + 2, 0, 49, 2, 7, 0,255, 0, 7, 0, 27, 0, 70, 0, 21, 0, 70, 0, 0, 0, 70, 0, 1, 0, 2, 0, 16, 0, 2, 0, 51, 2, + 2, 0, 49, 2, 2, 0, 18, 0, 2, 0, 52, 2, 2, 0, 53, 2, 2, 0, 54, 2, 2, 0, 55, 2, 2, 0, 56, 2, 2, 0, 57, 2, + 2, 0, 58, 2, 2, 0, 59, 2, 7, 0, 60, 2, 7, 0, 61, 2, 29, 0, 47, 0, 30, 0, 48, 0, 2, 0, 62, 2, 2, 0, 63, 2, + 4, 0, 64, 2, 71, 0, 5, 0, 2, 0, 65, 2, 2, 0, 51, 2, 0, 0, 18, 0, 0, 0, 27, 0, 2, 0, 30, 0, 72, 0, 4, 0, + 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 66, 2, 7, 0, 67, 2, 73, 0, 4, 0, 14, 0, 68, 2, 74, 0, 69, 2, 4, 0, 70, 2, + 0, 0, 93, 0, 75, 0, 70, 0, 22, 0, 32, 0, 34, 0, 74, 0, 68, 0, 19, 2, 14, 0, 71, 2, 14, 0, 32, 2, 73, 0, 72, 2, + 27, 0, 73, 2, 27, 0, 74, 2, 27, 0, 75, 2, 31, 0, 79, 0, 76, 0, 76, 2, 33, 0, 77, 2, 63, 0, 34, 2, 14, 0, 78, 2, + 7, 0, 77, 1, 7, 0,175, 0, 7, 0, 78, 1, 2, 0, 16, 0, 2, 0,177, 0, 2, 0, 79, 2, 2, 0, 80, 2, 7, 0, 81, 2, + 7, 0, 82, 2, 4, 0, 83, 2, 2, 0, 27, 0, 2, 0, 36, 2, 2, 0, 18, 0, 2, 0, 84, 2, 7, 0, 85, 2, 7, 0, 86, 2, + 7, 0, 87, 2, 2, 0, 54, 2, 2, 0, 55, 2, 2, 0, 88, 2, 2, 0, 89, 2, 4, 0, 90, 2, 11, 0, 91, 2, 2, 0, 22, 0, + 2, 0, 96, 0, 2, 0, 65, 0, 2, 0, 92, 2, 7, 0, 93, 2, 7, 0, 94, 2, 7, 0, 95, 2, 7, 0, 96, 2, 7, 0, 97, 2, + 7, 0, 98, 2, 7, 0, 99, 2, 7, 0,100, 2, 7, 0,101, 2, 7, 0,102, 2, 0, 0,103, 2, 77, 0,104, 2, 78, 0,105, 2, + 0, 0,106, 2, 65, 0,107, 2, 65, 0,108, 2, 65, 0,109, 2, 65, 0,110, 2, 4, 0,111, 2, 7, 0, 83, 0, 4, 0,112, 2, + 4, 0,113, 2, 72, 0,114, 2, 4, 0,115, 2, 4, 0,116, 2, 71, 0,117, 2, 71, 0,118, 2, 7, 0,119, 2, 7, 0,120, 2, + 79, 0, 47, 0, 22, 0, 32, 0, 34, 0, 74, 0, 68, 0, 19, 2, 31, 0, 79, 0, 33, 0, 77, 2, 63, 0, 34, 2, 80, 0,121, 2, + 81, 0,122, 2, 82, 0,123, 2, 83, 0,124, 2, 84, 0,125, 2, 85, 0,126, 2, 86, 0,127, 2, 87, 0,128, 2, 88, 0,129, 2, + 89, 0,130, 2, 90, 0,131, 2, 91, 0,132, 2, 92, 0,133, 2, 93, 0,134, 2, 79, 0,135, 2, 94, 0,136, 2, 95, 0,137, 2, + 95, 0,138, 2, 95, 0,139, 2, 95, 0,140, 2, 95, 0,141, 2, 4, 0, 52, 0, 4, 0,142, 2, 4, 0,143, 2, 4, 0,144, 2, + 4, 0,145, 2, 4, 0,146, 2, 4, 0,147, 2, 7, 0, 77, 1, 7, 0,175, 0, 7, 0, 78, 1, 2, 0,177, 0, 2, 0, 79, 2, + 2, 0,148, 2, 2, 0, 18, 0, 2, 0,149, 2, 2, 0,150, 2, 0, 0,151, 2, 0, 0,152, 2, 2, 0, 36, 2, 96, 0,153, 2, + 88, 0, 8, 0, 11, 0,154, 2, 7, 0,155, 2, 4, 0,156, 2, 0, 0, 18, 0, 0, 0,157, 2, 2, 0, 87, 1, 2, 0,158, 2, + 2, 0,159, 2, 86, 0, 7, 0, 4, 0,160, 2, 4, 0,161, 2, 4, 0,162, 2, 4, 0,163, 2, 2, 0, 51, 2, 0, 0,164, 2, + 0, 0, 18, 0, 90, 0, 5, 0, 4, 0,160, 2, 4, 0,161, 2, 0, 0,165, 2, 0, 0,166, 2, 2, 0, 18, 0, 97, 0, 2, 0, + 4, 0,167, 2, 7, 0, 43, 2, 91, 0, 3, 0, 97, 0,168, 2, 4, 0,169, 2, 4, 0, 18, 0, 89, 0, 4, 0, 7, 0,170, 2, + 2, 0,171, 2, 0, 0, 18, 0, 0, 0,166, 2, 92, 0, 4, 0, 0, 0,239, 0, 0, 0,184, 0, 0, 0,185, 0, 0, 0,186, 0, + 81, 0, 5, 0, 4, 0,172, 2, 4, 0,146, 2, 2, 0, 51, 2, 0, 0, 18, 0, 0, 0, 27, 0, 83, 0, 2, 0, 4, 0,173, 2, + 4, 0,174, 2, 82, 0, 6, 0, 42, 0,154, 2, 0, 0, 18, 0, 0, 0,157, 2, 2, 0, 87, 1, 2, 0,158, 2, 2, 0,159, 2, + 84, 0, 2, 0, 7, 0,175, 2, 4, 0, 18, 0, 85, 0, 4, 0, 0, 0,184, 0, 0, 0,185, 0, 0, 0,186, 0, 0, 0,239, 0, + 93, 0, 1, 0, 7, 0,176, 2, 80, 0, 2, 0, 4, 0, 17, 2, 4, 0, 16, 0, 87, 0, 7, 0, 7, 0,155, 2, 42, 0,154, 2, + 0, 0, 18, 0, 0, 0,157, 2, 2, 0, 87, 1, 2, 0,158, 2, 2, 0,159, 2, 98, 0, 1, 0, 7, 0,177, 2, 99, 0, 1, 0, + 4, 0,178, 2,100, 0, 1, 0, 0, 0,179, 2,101, 0, 1, 0, 7, 0,155, 2,102, 0, 1, 0, 7, 0,175, 2,103, 0, 4, 0, + 4, 0,180, 2, 4, 0,181, 2, 7, 0,182, 2, 4, 0,183, 2,104, 0, 4, 0, 7, 0,239, 0, 7, 0,184, 0, 7, 0,185, 0, + 7, 0,186, 0,105, 0, 1, 0,104, 0,156, 2,106, 0, 5, 0, 4, 0,184, 2, 4, 0,185, 2, 0, 0, 18, 0, 0, 0, 51, 2, + 0, 0,186, 2,107, 0, 2, 0, 4, 0,187, 2, 4, 0,185, 2,108, 0, 10, 0,108, 0, 0, 0,108, 0, 1, 0,106, 0,188, 2, +105, 0,189, 2,107, 0,190, 2, 4, 0, 52, 0, 4, 0,143, 2, 4, 0,142, 2, 4, 0, 27, 0, 89, 0,191, 2, 96, 0, 14, 0, + 14, 0,192, 2, 89, 0,191, 2, 0, 0,193, 2, 0, 0,194, 2, 0, 0,195, 2, 0, 0,196, 2, 0, 0,197, 2, 0, 0,198, 2, + 0, 0,199, 2, 0, 0, 18, 0, 95, 0,137, 2, 95, 0,139, 2, 2, 0,200, 2, 0, 0,201, 2,109, 0, 1, 0, 4, 0,178, 2, +110, 0, 3, 0, 7, 0, 2, 0, 4, 0,181, 2, 4, 0, 27, 0,111, 0, 9, 0,111, 0, 0, 0,111, 0, 1, 0, 4, 0, 16, 0, + 4, 0, 87, 1, 4, 0,202, 2, 4, 0, 27, 0, 0, 0, 19, 0, 41, 0,124, 0, 0, 0,203, 2,112, 0, 6, 0,111, 0,204, 2, + 47, 0,205, 2, 27, 0,206, 2, 0, 0,207, 2, 4, 0,208, 2, 4, 0,209, 2,113, 0, 7, 0,111, 0,204, 2, 2, 0,210, 2, + 2, 0,192, 2, 2, 0,211, 2, 2, 0, 91, 0, 11, 0,212, 2, 11, 0,213, 2,114, 0, 5, 0,111, 0,204, 2, 27, 0,167, 0, + 0, 0, 19, 0, 7, 0,214, 2, 0, 0, 93, 0,115, 0, 5, 0,111, 0,204, 2, 27, 0,167, 0, 0, 0, 19, 0, 2, 0,215, 2, + 0, 0,216, 2,116, 0, 5, 0,111, 0,204, 2, 7, 0, 89, 0, 7, 0,217, 2, 4, 0,218, 2, 4, 0,219, 2,117, 0, 5, 0, +111, 0,204, 2, 27, 0,220, 2, 0, 0, 71, 0, 4, 0, 87, 1, 4, 0, 18, 0,118, 0, 13, 0,111, 0,204, 2, 27, 0,221, 2, + 27, 0,222, 2, 27, 0,223, 2, 27, 0,224, 2, 7, 0,225, 2, 7, 0,226, 2, 7, 0,217, 2, 7, 0,227, 2, 4, 0,228, 2, + 4, 0,229, 2, 4, 0, 91, 0, 4, 0,230, 2,119, 0, 5, 0,111, 0,204, 2, 2, 0,231, 2, 2, 0, 18, 0, 7, 0,232, 2, + 27, 0,233, 2,120, 0, 3, 0,111, 0,204, 2, 7, 0,234, 2, 4, 0, 91, 0,121, 0, 10, 0,111, 0,204, 2, 7, 0,235, 2, + 4, 0,236, 2, 4, 0, 27, 0, 2, 0, 91, 0, 2, 0,237, 2, 2, 0,238, 2, 2, 0,239, 2, 7, 0,240, 2, 0, 0,241, 2, +122, 0, 3, 0,111, 0,204, 2, 7, 0, 27, 0, 4, 0, 16, 0,123, 0, 6, 0,111, 0,204, 2,124, 0,242, 2,125, 0,243, 2, +126, 0,244, 2, 7, 0,245, 2, 4, 0, 16, 0,127, 0, 11, 0,111, 0,204, 2, 47, 0,205, 2, 27, 0,206, 2, 0, 0,207, 2, + 4, 0,208, 2, 4, 0,209, 2, 7, 0,214, 2, 4, 0,246, 2, 0, 0,241, 2, 7, 0,247, 2, 4, 0, 27, 0,128, 0, 12, 0, +111, 0,204, 2, 27, 0,248, 2, 42, 0,249, 2, 4, 0, 91, 0, 4, 0,250, 2, 7, 0,251, 2, 7, 0,252, 2, 7, 0,253, 2, + 7, 0,254, 2, 0, 0,207, 2, 4, 0,208, 2, 4, 0, 27, 0,129, 0, 3, 0,111, 0,204, 2, 7, 0,255, 2, 4, 0, 0, 3, +130, 0, 5, 0,111, 0,204, 2, 7, 0, 1, 3, 0, 0,241, 2, 2, 0, 18, 0, 2, 0, 2, 3,131, 0, 8, 0,111, 0,204, 2, + 27, 0,167, 0, 7, 0, 1, 3, 7, 0,255, 0, 7, 0,107, 0, 0, 0,241, 2, 2, 0, 18, 0, 2, 0, 16, 0,132, 0, 21, 0, +111, 0,204, 2, 47, 0,205, 2, 27, 0,206, 2, 0, 0,207, 2, 4, 0,208, 2, 4, 0,209, 2, 27, 0, 3, 3, 0, 0,241, 2, + 2, 0, 18, 0, 2, 0, 27, 0, 7, 0, 4, 3, 7, 0, 5, 3, 7, 0, 6, 3, 7, 0, 85, 2, 7, 0, 7, 3, 7, 0, 8, 3, + 7, 0, 9, 3, 7, 0, 10, 3, 7, 0, 11, 3, 7, 0, 12, 3, 7, 0, 66, 0,133, 0, 7, 0,111, 0,204, 2, 2, 0, 13, 3, + 2, 0, 14, 3, 4, 0, 30, 0, 27, 0,167, 0, 7, 0, 15, 3, 0, 0,241, 2,134, 0, 10, 0,111, 0,204, 2, 27, 0,167, 0, + 0, 0, 16, 3, 7, 0, 17, 3, 7, 0, 18, 3, 7, 0, 10, 3, 4, 0, 19, 3, 4, 0, 20, 3, 7, 0, 21, 3, 0, 0, 19, 0, +135, 0, 1, 0,111, 0,204, 2,136, 0, 7, 0,111, 0,204, 2, 41, 0,124, 0,137, 0, 22, 3,138, 0, 23, 3,139, 0, 24, 3, +140, 0, 25, 3, 14, 0, 26, 3,141, 0, 13, 0,111, 0,204, 2, 89, 0, 27, 3, 89, 0, 28, 3, 89, 0, 29, 3, 89, 0, 30, 3, + 89, 0, 31, 3, 89, 0, 32, 3, 86, 0, 33, 3, 4, 0, 34, 3, 4, 0, 35, 3, 7, 0, 36, 3, 7, 0, 37, 3,142, 0, 38, 3, +143, 0, 7, 0,111, 0,204, 2, 89, 0, 27, 3, 89, 0, 39, 3,144, 0, 40, 3,145, 0, 38, 3, 4, 0, 41, 3, 4, 0, 34, 3, +146, 0, 4, 0,111, 0,204, 2, 27, 0,167, 0, 4, 0, 42, 3, 4, 0, 27, 0,147, 0, 2, 0, 4, 0, 43, 3, 7, 0, 43, 2, +148, 0, 2, 0, 4, 0,127, 0, 4, 0, 44, 3,149, 0, 24, 0,111, 0,204, 2, 27, 0,167, 0, 0, 0,241, 2, 2, 0, 45, 3, + 2, 0, 18, 0, 2, 0, 87, 1, 2, 0, 27, 0,147, 0, 46, 3, 4, 0, 47, 3, 7, 0, 48, 3, 4, 0, 52, 0, 4, 0, 49, 3, +148, 0, 50, 3,147, 0, 51, 3, 4, 0, 52, 3, 4, 0, 53, 3, 4, 0, 54, 3, 4, 0, 44, 3, 7, 0, 55, 3, 7, 0, 56, 3, + 7, 0, 57, 3, 7, 0, 58, 3, 7, 0, 59, 3, 11, 0, 60, 3,150, 0, 8, 0,111, 0,204, 2,151, 0, 61, 3,144, 0, 40, 3, + 4, 0, 62, 3, 4, 0, 63, 3, 4, 0, 64, 3, 2, 0, 18, 0, 2, 0, 55, 0,152, 0, 8, 0,111, 0,204, 2, 27, 0, 43, 0, + 2, 0, 3, 1, 2, 0, 18, 0, 2, 0,231, 2, 2, 0, 55, 0, 7, 0, 65, 3, 7, 0, 66, 3,153, 0, 6, 0,111, 0,204, 2, + 4, 0, 67, 3, 2, 0, 18, 0, 2, 0, 68, 3, 7, 0, 69, 3, 0, 0,169, 0,154, 0, 8, 0,111, 0,204, 2, 0, 0, 70, 3, + 0, 0, 71, 3, 0, 0,198, 2, 0, 0, 72, 3, 0, 0, 73, 3, 0, 0, 91, 0, 0, 0,186, 2,155, 0, 3, 0,111, 0,204, 2, +156, 0, 74, 3,140, 0, 25, 3,157, 0, 10, 0,111, 0,204, 2, 27, 0, 75, 3, 27, 0, 76, 3, 0, 0, 77, 3, 7, 0, 78, 3, + 2, 0, 79, 3, 2, 0, 80, 3, 0, 0, 81, 3, 0, 0, 82, 3, 0, 0,216, 2,158, 0, 9, 0,111, 0,204, 2, 27, 0, 83, 3, + 0, 0, 77, 3, 7, 0, 84, 3, 7, 0, 85, 3, 0, 0, 87, 1, 0, 0,231, 2, 0, 0, 86, 3, 0, 0, 27, 0,159, 0, 1, 0, +111, 0,204, 2,160, 0, 11, 0,111, 0,204, 2, 0, 0,241, 2, 7, 0,127, 0, 7, 0, 87, 3, 7, 0, 88, 3, 7, 0, 89, 3, + 7, 0, 90, 3, 7, 0, 91, 3, 4, 0, 18, 0, 2, 0, 92, 3, 2, 0, 93, 3,161, 0, 9, 0,111, 0,204, 2, 27, 0, 94, 3, + 4, 0, 95, 3, 4, 0, 96, 3, 4, 0, 97, 3, 7, 0, 98, 3, 7, 0, 99, 3, 2, 0,231, 2, 2, 0, 18, 0,162, 0, 29, 0, +111, 0,204, 2,163, 0,100, 3,164, 0,101, 3, 4, 0,102, 3, 4, 0,103, 3, 7, 0,104, 3, 7, 0, 9, 3, 7, 0,105, 3, + 7, 0,250, 0, 7, 0,106, 3, 7, 0,107, 3, 7, 0,108, 3, 7, 0,109, 3, 7, 0,110, 3, 7, 0,245, 2, 4, 0,111, 3, + 4, 0,112, 3, 0, 0,113, 3, 0, 0,114, 3, 0, 0,115, 3, 0, 0,116, 3, 0, 0, 18, 0, 0, 0,117, 3, 2, 0,118, 3, + 2, 0,119, 3, 4, 0,219, 2, 7, 0,107, 0, 7, 0,120, 3, 4, 0, 27, 0,165, 0, 15, 0,111, 0,204, 2, 47, 0,205, 2, + 27, 0,206, 2, 0, 0,207, 2, 4, 0,208, 2, 4, 0,209, 2, 27, 0,121, 3, 27, 0,122, 3, 54, 0,100, 1, 0, 0,241, 2, + 7, 0,214, 2, 7, 0,123, 3, 0, 0, 18, 0, 0, 0,253, 0, 0, 0,216, 2,166, 0, 16, 0,111, 0,204, 2, 0, 0,241, 2, + 2, 0,124, 3, 2, 0,253, 0, 7, 0,125, 3, 54, 0,126, 3, 7, 0,127, 3, 7, 0,128, 3, 7, 0,129, 3, 0, 0,130, 3, + 4, 0,131, 3, 47, 0,132, 3, 27, 0,133, 3, 4, 0,134, 3, 0, 0,135, 3, 4, 0,136, 3,167, 0, 16, 0,111, 0,204, 2, + 0, 0,137, 3, 0, 0,138, 3, 7, 0,139, 3, 7, 0,140, 3, 0, 0,141, 3, 0, 0,142, 3, 0, 0,143, 3, 7, 0,129, 3, + 0, 0,130, 3, 4, 0,131, 3, 47, 0,132, 3, 27, 0,133, 3, 4, 0,134, 3, 0, 0,135, 3, 4, 0,136, 3,168, 0, 16, 0, +111, 0,204, 2, 0, 0,241, 2, 4, 0,144, 3, 4, 0,145, 3, 27, 0,146, 3, 7, 0,129, 3, 0, 0,130, 3, 4, 0,131, 3, + 47, 0,132, 3, 27, 0,133, 3, 4, 0,134, 3, 0, 0,135, 3, 7, 0,147, 3, 7, 0,148, 3, 2, 0,253, 0, 2, 0,149, 3, +169, 0, 5, 0,111, 0,204, 2,170, 0,150, 3,171, 0,151, 3, 4, 0, 16, 0, 4, 0, 27, 0,172, 0, 8, 0,111, 0,204, 2, + 7, 0,152, 3, 7, 0,153, 3, 7, 0,154, 3, 0, 0,250, 0, 0, 0, 18, 0, 0, 0, 87, 1, 0, 0, 27, 0,173, 0, 3, 0, +174, 0,155, 3, 4, 0, 70, 2, 0, 0, 93, 0,174, 0, 29, 0, 22, 0, 32, 0, 34, 0, 74, 0, 2, 0, 52, 2, 2, 0, 53, 2, + 2, 0,156, 3, 2, 0, 18, 0, 2, 0,157, 3, 2, 0,158, 3, 2, 0,159, 3, 2, 0, 30, 0, 0, 0,160, 3, 0, 0,161, 3, + 0, 0,162, 3, 0, 0,250, 1, 4, 0, 27, 0, 7, 0,163, 3, 7, 0,164, 3, 7, 0,165, 3, 7, 0,166, 3, 7, 0,167, 3, + 7, 0,168, 3, 29, 0,169, 3, 31, 0, 79, 0, 33, 0, 77, 2, 91, 0,132, 2, 0, 0, 71, 0, 7, 0,170, 3, 7, 0,171, 3, +173, 0,172, 3,175, 0, 5, 0,175, 0, 0, 0,175, 0, 1, 0, 0, 0, 19, 0, 0, 0, 18, 0, 0, 0,123, 0, 68, 0, 3, 0, + 7, 0,173, 3, 4, 0, 18, 0, 4, 0, 27, 0, 27, 0,128, 0, 22, 0, 32, 0, 34, 0, 74, 0,176, 0,174, 3, 2, 0, 16, 0, + 2, 0,175, 3, 4, 0,176, 3, 4, 0,177, 3, 4, 0,178, 3, 0, 0,179, 3, 27, 0, 37, 0, 27, 0,180, 3, 27, 0,181, 3, + 27, 0,182, 3, 27, 0,183, 3, 31, 0, 79, 0, 68, 0, 19, 2,177, 0,184, 3,177, 0,185, 3,178, 0,186, 3, 11, 0, 2, 0, +179, 0,187, 3,180, 0,188, 3,181, 0,189, 3, 14, 0,190, 3, 14, 0,191, 3, 14, 0, 32, 2, 14, 0,192, 3, 14, 0,193, 3, + 4, 0, 87, 1, 4, 0,194, 3, 63, 0, 34, 2, 0, 0,195, 3, 4, 0, 36, 2, 4, 0,196, 3, 7, 0, 77, 1, 7, 0,197, 3, + 7, 0,198, 3, 7, 0,175, 0, 7, 0,199, 3, 7, 0,200, 3, 7, 0, 78, 1, 7, 0,201, 3, 7, 0, 22, 2, 7, 0,202, 3, + 7, 0,203, 3, 7, 0,204, 3, 7, 0,205, 3, 7, 0,206, 3, 7, 0,207, 3, 7, 0, 17, 3, 7, 0,208, 3, 7, 0,244, 0, + 7, 0,209, 3, 4, 0,210, 3, 4, 0,211, 3, 2, 0, 18, 0, 2, 0,212, 3, 2, 0,213, 3, 2, 0,214, 3, 2, 0,215, 3, + 2, 0,216, 3, 2, 0,217, 3, 2, 0,218, 3, 2, 0,219, 3, 0, 0,220, 3, 0, 0,221, 3, 4, 0,222, 3, 4, 0,223, 3, + 4, 0,224, 3, 4, 0,225, 3, 7, 0,226, 3, 7, 0, 83, 0, 7, 0,227, 3, 7, 0,228, 3, 7, 0,229, 3, 7, 0,230, 3, + 7, 0,231, 3, 7, 0,219, 0, 7, 0,232, 3, 7, 0,233, 3, 7, 0,234, 3, 7, 0,235, 3, 7, 0,236, 3, 2, 0,237, 3, + 0, 0,238, 3, 0, 0,239, 3, 0, 0,240, 3, 0, 0,241, 3, 0, 0,109, 0, 0, 0,242, 3, 7, 0,243, 3, 7, 0,244, 3, + 14, 0,245, 3, 14, 0,246, 3, 14, 0,247, 3, 14, 0,248, 3, 7, 0,249, 3, 2, 0, 17, 2, 2, 0,250, 3, 7, 0,156, 2, + 4, 0,251, 3, 4, 0,252, 3,182, 0,253, 3, 2, 0,254, 3, 2, 0,251, 0, 7, 0,255, 3, 14, 0, 0, 4, 14, 0, 1, 4, + 14, 0, 2, 4, 14, 0, 3, 4,183, 0, 73, 1,184, 0, 4, 4, 64, 0, 5, 4, 0, 0, 6, 4, 0, 0, 7, 4, 2, 0, 70, 2, + 7, 0,148, 2,156, 0, 8, 4,144, 0, 9, 4,144, 0, 10, 4, 10, 0, 11, 4, 10, 0, 12, 4, 4, 0, 13, 4, 4, 0, 14, 4, + 14, 0, 15, 4, 14, 0, 16, 4, 14, 0, 17, 4, 7, 0, 18, 4,185, 0, 14, 0,185, 0, 0, 0,185, 0, 1, 0, 27, 0, 37, 0, + 7, 0, 17, 3, 7, 0, 79, 1, 7, 0, 18, 3, 7, 0, 10, 3, 0, 0, 19, 0, 4, 0, 19, 3, 4, 0, 20, 3, 4, 0, 19, 4, + 2, 0, 16, 0, 2, 0, 20, 4, 7, 0, 21, 3,186, 0, 12, 0,186, 0, 0, 0,186, 0, 1, 0, 27, 0, 43, 0, 4, 0, 21, 4, + 4, 0, 17, 2, 7, 0, 79, 1, 7, 0, 22, 4, 7, 0, 23, 4, 7, 0,175, 2, 2, 0, 16, 0, 0, 0, 24, 4, 0, 0, 25, 4, +183, 0, 40, 0, 4, 0, 18, 0, 2, 0, 26, 4, 2, 0, 27, 4, 2, 0, 10, 3, 2, 0, 28, 4, 2, 0, 29, 4, 2, 0, 30, 4, + 2, 0, 31, 4, 2, 0, 32, 4, 7, 0, 33, 4, 7, 0, 34, 4, 7, 0, 35, 4, 7, 0, 36, 4, 7, 0, 37, 4, 7, 0, 38, 4, + 7, 0, 39, 4, 7, 0, 40, 4, 7, 0, 41, 4, 7, 0, 42, 4, 7, 0, 43, 4, 7, 0, 44, 4, 7, 0, 45, 4, 7, 0, 46, 4, + 7, 0, 47, 4, 7, 0, 48, 4, 7, 0, 49, 4, 7, 0, 50, 4, 7, 0, 51, 4, 7, 0, 52, 4, 7, 0, 53, 4, 7, 0, 54, 4, + 7, 0, 55, 4, 7, 0, 56, 4, 7, 0, 57, 4, 7, 0, 58, 4, 7, 0, 59, 4, 47, 0,168, 0,187, 0, 60, 4, 7, 0, 61, 4, + 4, 0,219, 2,188, 0, 5, 0, 64, 0,253, 1, 7, 0, 62, 4, 7, 0, 63, 4, 2, 0, 18, 0, 2, 0, 64, 4,189, 0, 5, 0, +189, 0, 0, 0,189, 0, 1, 0, 4, 0, 16, 0, 4, 0, 65, 4, 11, 0, 2, 0,190, 0, 9, 0,190, 0, 0, 0,190, 0, 1, 0, + 4, 0, 66, 4, 4, 0, 67, 4, 4, 0, 68, 4, 4, 0, 18, 0, 11, 0, 69, 4, 11, 0, 70, 4, 14, 0, 71, 4,140, 0, 23, 0, +140, 0, 0, 0,140, 0, 1, 0, 4, 0, 18, 0, 4, 0, 72, 4, 4, 0, 73, 4, 4, 0, 74, 4, 4, 0, 75, 4, 4, 0, 76, 4, + 4, 0, 77, 4, 4, 0, 78, 4, 4, 0, 27, 0, 4, 0, 67, 4, 4, 0, 17, 2, 2, 0, 79, 4, 2, 0, 55, 0, 0, 0, 19, 0, + 0, 0, 80, 4, 0, 0, 81, 4, 0, 0, 82, 4, 0, 0, 83, 4, 14, 0, 84, 4,191, 0, 85, 4, 11, 0, 86, 4,192, 0, 1, 0, + 7, 0, 50, 2,182, 0, 30, 0, 4, 0, 18, 0, 7, 0, 87, 4, 7, 0, 88, 4, 7, 0, 89, 4, 4, 0, 90, 4, 4, 0, 91, 4, + 4, 0, 92, 4, 4, 0, 93, 4, 7, 0, 94, 4, 7, 0, 95, 4, 7, 0, 96, 4, 7, 0, 97, 4, 7, 0, 98, 4, 7, 0, 99, 4, + 7, 0,100, 4, 7, 0,101, 4, 7, 0,102, 4, 7, 0,103, 4, 7, 0,104, 4, 7, 0,105, 4, 7, 0,106, 4, 7, 0,107, 4, + 7, 0,108, 4, 7, 0,109, 4, 7, 0,110, 4, 7, 0,111, 4, 4, 0,112, 4, 4, 0,113, 4, 7, 0,114, 4, 7, 0,232, 3, +184, 0, 54, 0, 4, 0, 67, 4, 4, 0,115, 4,193, 0,116, 4,194, 0,117, 4, 0, 0, 27, 0, 0, 0,118, 4, 2, 0,119, 4, + 7, 0,120, 4, 0, 0,121, 4, 7, 0,122, 4, 7, 0,123, 4, 7, 0,124, 4, 7, 0,125, 4, 7, 0,126, 4, 7, 0,127, 4, + 7, 0,128, 4, 7, 0,129, 4, 7, 0,130, 4, 2, 0,131, 4, 0, 0,132, 4, 2, 0,133, 4, 7, 0,134, 4, 7, 0,135, 4, + 0, 0,136, 4, 4, 0,128, 0, 4, 0,137, 4, 4, 0,138, 4, 2, 0,139, 4, 2, 0,140, 4,192, 0,141, 4, 4, 0,142, 4, + 4, 0, 81, 0, 7, 0,143, 4, 7, 0,144, 4, 7, 0,145, 4, 7, 0,146, 4, 2, 0,147, 4, 2, 0,148, 4, 2, 0,149, 4, + 2, 0,150, 4, 2, 0,151, 4, 2, 0,152, 4, 2, 0,153, 4, 2, 0,154, 4,195, 0,155, 4, 7, 0,156, 4, 7, 0,157, 4, +140, 0,158, 4, 14, 0, 26, 3,188, 0,159, 4, 7, 0,160, 4, 7, 0,161, 4, 7, 0,162, 4, 4, 0,163, 4,196, 0, 1, 0, + 7, 0,164, 4,156, 0, 52, 0,155, 0,165, 4, 2, 0, 16, 0, 2, 0,166, 4, 2, 0,167, 4, 2, 0,168, 4, 7, 0,169, 4, + 2, 0,170, 4, 2, 0,171, 4, 7, 0,172, 4, 2, 0,173, 4, 2, 0,174, 4, 7, 0,175, 4, 7, 0,176, 4, 7, 0,177, 4, + 4, 0,178, 4, 4, 0,179, 4, 4, 0,180, 4, 4, 0, 27, 0, 7, 0,181, 4, 4, 0,182, 4, 7, 0,183, 4, 7, 0,184, 4, + 7, 0,185, 4, 79, 0,186, 4, 79, 0,187, 4, 0, 0,188, 4, 7, 0,189, 4, 7, 0,190, 4, 31, 0, 79, 0, 2, 0,191, 4, + 0, 0,192, 4, 0, 0,193, 4, 7, 0,194, 4, 4, 0,195, 4, 7, 0,196, 4, 7, 0,197, 4, 4, 0,198, 4, 4, 0, 18, 0, + 7, 0,199, 4, 7, 0,200, 4, 7, 0,201, 4,196, 0,202, 4, 4, 0, 52, 0, 7, 0,203, 4, 7, 0,204, 4, 7, 0,205, 4, + 7, 0,206, 4, 7, 0,207, 4, 7, 0,208, 4, 7, 0,209, 4, 4, 0,210, 4, 7, 0,211, 4,197, 0, 78, 0, 22, 0, 32, 0, + 34, 0, 74, 0, 2, 0,178, 0, 2, 0, 88, 1, 2, 0,124, 1, 2, 0,212, 4, 7, 0,213, 4, 7, 0,214, 4, 7, 0,215, 4, + 7, 0,216, 4, 7, 0,217, 4, 7, 0,218, 4, 7, 0,173, 1, 7, 0,175, 1, 7, 0,174, 1, 7, 0, 30, 0, 4, 0,219, 4, + 7, 0,220, 4, 7, 0,221, 4, 7, 0,222, 4, 7, 0,223, 4, 7, 0,224, 4, 7, 0,225, 4, 7, 0,226, 4, 2, 0,227, 4, + 2, 0, 87, 1, 2, 0,228, 4, 2, 0,229, 4, 2, 0,230, 4, 2, 0,231, 4, 2, 0,232, 4, 2, 0,233, 4, 7, 0,234, 4, + 7, 0,235, 4, 7, 0,236, 4, 7, 0,237, 4, 7, 0,238, 4, 7, 0,239, 4, 7, 0,240, 4, 7, 0,241, 4, 7, 0,242, 4, + 7, 0,243, 4, 7, 0,244, 4, 7, 0,245, 4, 2, 0,246, 4, 2, 0,247, 4, 2, 0,248, 4, 2, 0,249, 4, 7, 0,250, 4, + 7, 0,251, 4, 7, 0,252, 4, 7, 0,253, 4, 2, 0,254, 4, 2, 0,255, 4, 2, 0, 0, 5, 2, 0, 1, 5, 7, 0, 2, 5, + 7, 0, 3, 5, 7, 0, 4, 5, 7, 0, 5, 5, 7, 0, 6, 5, 7, 0, 7, 5, 7, 0, 8, 5, 2, 0, 9, 5, 2, 0, 10, 5, + 2, 0, 11, 5, 2, 0, 12, 5, 2, 0, 13, 5, 2, 0, 18, 0, 7, 0, 14, 5, 7, 0, 15, 5, 31, 0, 79, 0, 46, 0,143, 1, + 2, 0,144, 1, 2, 0, 76, 1, 2, 0,186, 2, 25, 0,153, 0, 57, 0, 70, 1,198, 0, 8, 0,198, 0, 0, 0,198, 0, 1, 0, + 4, 0,210, 3, 4, 0, 16, 5, 4, 0, 18, 0, 2, 0, 17, 5, 2, 0, 18, 5, 27, 0,167, 0,199, 0, 13, 0, 11, 0, 19, 5, + 11, 0, 20, 5, 4, 0, 21, 5, 4, 0, 22, 5, 4, 0, 23, 5, 4, 0, 24, 5, 4, 0, 25, 5, 4, 0, 26, 5, 4, 0, 27, 5, + 4, 0, 28, 5, 4, 0, 29, 5, 4, 0, 27, 0, 0, 0, 30, 5,200, 0, 5, 0, 11, 0, 31, 5, 11, 0, 32, 5, 4, 0, 33, 5, + 4, 0, 30, 0, 0, 0, 34, 5,201, 0, 17, 0, 4, 0, 35, 5, 4, 0, 36, 5, 4, 0, 37, 5, 4, 0, 38, 5, 4, 0, 39, 5, + 4, 0, 40, 5, 4, 0, 41, 5, 4, 0, 42, 5, 4, 0, 43, 5, 4, 0, 44, 5, 4, 0, 45, 5, 4, 0, 46, 5, 2, 0, 47, 5, + 2, 0, 48, 5, 4, 0, 49, 5, 4, 0, 50, 5, 4, 0, 66, 0,202, 0, 17, 0, 4, 0, 16, 0, 4, 0, 37, 5, 4, 0, 51, 5, + 4, 0, 52, 5, 4, 0, 53, 5, 4, 0, 54, 5, 4, 0, 55, 5, 4, 0, 56, 5, 7, 0, 57, 5, 4, 0, 58, 5, 4, 0, 91, 0, + 4, 0, 59, 5, 4, 0, 60, 5, 4, 0, 61, 5, 4, 0, 62, 5, 4, 0, 63, 5, 21, 0, 31, 0,203, 0, 9, 0, 4, 0, 64, 5, + 7, 0, 65, 5, 7, 0, 66, 5, 7, 0, 67, 5, 4, 0, 68, 5, 2, 0, 18, 0, 2, 0, 27, 0, 7, 0, 89, 4, 7, 0, 30, 0, +204, 0, 13, 0,204, 0, 0, 0,204, 0, 1, 0, 0, 0, 19, 0, 63, 0, 69, 5, 64, 0, 70, 5, 4, 0,210, 3, 4, 0, 71, 5, + 4, 0, 72, 5, 4, 0, 73, 5, 4, 0, 74, 5, 4, 0, 75, 5, 4, 0, 76, 5, 4, 0, 27, 0,205, 0, 13, 0, 0, 0, 77, 5, + 0, 0,250, 0, 0, 0, 78, 5, 0, 0, 18, 0, 0, 0, 79, 5, 0, 0, 80, 5, 0, 0, 81, 5, 0, 0, 82, 5, 2, 0, 83, 5, + 2, 0, 84, 5, 7, 0, 85, 5, 0, 0, 86, 5, 0, 0,123, 0,206, 0,106, 0,205, 0, 87, 5,199, 0, 88, 5,200, 0, 89, 5, +201, 0, 90, 5,202, 0, 91, 5, 4, 0, 41, 3, 4, 0,128, 0, 4, 0,137, 4, 7, 0, 92, 5, 4, 0, 93, 5, 4, 0, 94, 5, + 4, 0, 95, 5, 4, 0, 96, 5, 2, 0, 18, 0, 2, 0, 97, 5, 7, 0, 98, 5, 7, 0, 99, 5, 7, 0,100, 5, 7, 0,101, 5, + 7, 0,102, 5, 2, 0,103, 5, 2, 0,104, 5, 2, 0,105, 5, 2, 0,106, 5, 2, 0,250, 0, 2, 0,107, 5, 4, 0,108, 5, + 2, 0,109, 5, 2, 0,110, 5, 2, 0,110, 1, 2, 0,107, 0, 2, 0,111, 5, 2, 0,112, 5, 2, 0,113, 5, 2, 0,114, 5, + 2, 0,115, 5, 2, 0, 78, 5, 2, 0, 77, 5, 2, 0,116, 5, 2, 0, 79, 5, 2, 0,117, 5, 4, 0,118, 5, 4, 0, 87, 1, + 4, 0,119, 5, 2, 0,120, 5, 2, 0, 66, 0, 2, 0,121, 5, 2, 0,122, 5, 2, 0,123, 5, 2, 0,124, 5, 2, 0,125, 5, + 2, 0,126, 5, 19, 0,127, 5, 19, 0,128, 5, 18, 0,129, 5, 14, 0,130, 5, 2, 0,131, 5, 2, 0,132, 5, 7, 0,133, 5, + 7, 0,134, 5, 7, 0,135, 5, 7, 0,136, 5, 4, 0,137, 5, 7, 0,138, 5, 7, 0,139, 5, 7, 0,140, 5, 7, 0,141, 5, + 2, 0,142, 5, 2, 0,143, 5, 2, 0,144, 5, 2, 0,145, 5, 2, 0,146, 5, 2, 0,147, 5, 7, 0,148, 5, 7, 0,149, 5, + 7, 0,150, 5, 0, 0,151, 5, 4, 0,152, 5, 2, 0,153, 5, 2, 0,250, 1, 0, 0,154, 5, 7, 0,155, 5, 7, 0,156, 5, + 0, 0,157, 5, 0, 0,158, 5, 0, 0,159, 5, 0, 0,160, 5, 4, 0,161, 5, 2, 0,162, 5, 2, 0,163, 5, 7, 0,164, 5, + 7, 0,165, 5, 2, 0,166, 5, 2, 0,167, 5, 7, 0,168, 5, 2, 0,169, 5, 2, 0,170, 5, 4, 0,171, 5, 2, 0,172, 5, + 2, 0,173, 5, 2, 0,174, 5, 2, 0,175, 5, 7, 0,176, 5, 7, 0, 30, 0, 37, 0,177, 5, 0, 0,178, 5,207, 0, 9, 0, +207, 0, 0, 0,207, 0, 1, 0, 0, 0,179, 5, 2, 0,180, 5, 2, 0,181, 5, 2, 0,182, 5, 2, 0, 66, 0, 7, 0,183, 5, + 7, 0, 30, 0,208, 0, 7, 0, 2, 0,236, 2, 2, 0, 87, 1, 2, 0, 99, 3, 2, 0,184, 5, 7, 0,185, 5, 7, 0, 30, 0, + 37, 0,186, 5,209, 0, 5, 0, 7, 0,187, 5, 0, 0, 16, 0, 0, 0, 66, 0, 0, 0, 30, 0, 0, 0,250, 1,210, 0, 15, 0, + 7, 0,188, 5, 7, 0,189, 5, 7, 0,190, 5, 7, 0,191, 5, 7, 0,192, 5, 7, 0,193, 5, 7, 0,194, 5, 7, 0,195, 5, + 7, 0,196, 5, 7, 0,197, 5, 4, 0,198, 5, 7, 0,199, 5, 7, 0,200, 5, 2, 0, 66, 0, 2, 0, 30, 0,211, 0, 32, 0, +209, 0,201, 5, 2, 0,202, 5, 2, 0,104, 5, 2, 0,105, 5, 2, 0,106, 5, 2, 0,250, 0, 2, 0,107, 5, 2, 0,203, 5, + 2, 0,204, 5, 2, 0,205, 5, 2, 0,206, 5,208, 0,207, 5, 2, 0,208, 5, 2, 0,109, 5, 7, 0,209, 5,210, 0,210, 5, + 7, 0,225, 4, 7, 0,226, 4, 4, 0, 18, 0, 2, 0, 87, 1, 2, 0,211, 5, 2, 0,228, 4, 2, 0,229, 4, 2, 0,212, 5, + 2, 0, 27, 0, 2, 0,230, 4, 2, 0,231, 4, 2, 0,232, 4, 2, 0,233, 4, 2, 0,213, 5, 2, 0, 66, 0, 7, 0,214, 5, +212, 0, 6, 0,212, 0, 0, 0,212, 0, 1, 0, 4, 0, 66, 4, 0, 0, 19, 0, 4, 0, 18, 0, 27, 0,215, 5,213, 0, 6, 0, +214, 0,151, 3, 11, 0,216, 5, 0, 0,217, 5, 4, 0, 91, 0, 4, 0,218, 5, 4, 0, 27, 0,215, 0, 8, 0,213, 0,219, 5, + 2, 0, 18, 0, 2, 0, 27, 0, 2, 0,220, 5, 2, 0,221, 5, 2, 0,222, 5, 4, 0, 66, 0, 11, 0,223, 5,216, 0, 6, 0, + 2, 0,107, 0, 2, 0, 72, 4, 2, 0,224, 5, 2, 0,230, 2, 4, 0, 18, 0, 7, 0,214, 2,217, 0, 14, 0, 2, 0, 18, 0, + 2, 0,225, 5, 2, 0,226, 5, 2, 0,227, 5,216, 0,228, 5, 11, 0,223, 5, 7, 0,229, 5, 7, 0, 55, 0, 4, 0,230, 5, + 4, 0,231, 5, 4, 0,232, 5, 4, 0,233, 5, 41, 0,124, 0, 27, 0,167, 0,218, 0, 14, 0,213, 0,219, 5, 4, 0, 91, 0, + 4, 0,234, 5, 7, 0,235, 5, 7, 0,236, 5, 7, 0,237, 5, 4, 0,238, 5, 4, 0,239, 5, 7, 0,240, 5, 7, 0,241, 5, + 4, 0,242, 5, 7, 0,243, 5, 7, 0,244, 5, 4, 0, 27, 0,219, 0, 1, 0,213, 0,219, 5,220, 0, 7, 0,213, 0,219, 5, + 2, 0, 18, 0, 2, 0, 27, 0, 4, 0,240, 0, 4, 0,245, 5, 91, 0,246, 5, 11, 0,223, 5,221, 0, 5, 0,221, 0, 0, 0, +221, 0, 1, 0, 0, 0, 19, 0, 7, 0,247, 5, 4, 0, 27, 0,222, 0, 6, 0, 4, 0,107, 0, 7, 0,248, 5, 7, 0,181, 1, + 7, 0, 43, 2, 4, 0, 18, 0, 4, 0, 27, 0,223, 0, 85, 0,220, 0,249, 5,220, 0,250, 5,218, 0,174, 3,219, 0,251, 5, + 7, 0,252, 5, 2, 0,253, 5, 2, 0,250, 1, 7, 0,254, 5, 7, 0,255, 5, 2, 0, 72, 4, 2, 0, 0, 6, 7, 0, 1, 6, + 7, 0, 2, 6, 7, 0, 3, 6, 2, 0, 4, 6, 2, 0,230, 5, 2, 0, 5, 6, 2, 0, 6, 6, 2, 0, 7, 6, 2, 0, 8, 6, + 7, 0, 9, 6, 7, 0, 10, 6, 7, 0, 11, 6, 2, 0, 12, 6, 2, 0, 13, 6, 2, 0, 14, 6, 2, 0, 15, 6, 2, 0, 16, 6, + 2, 0, 17, 6, 2, 0, 18, 6, 2, 0, 19, 6,215, 0, 20, 6,217, 0, 21, 6, 7, 0, 22, 6, 7, 0, 23, 6, 7, 0, 24, 6, + 2, 0, 25, 6, 2, 0, 26, 6, 0, 0, 27, 6, 0, 0, 28, 6, 2, 0, 29, 6, 7, 0, 30, 6, 7, 0, 31, 6, 7, 0, 32, 6, + 7, 0, 33, 6, 7, 0, 34, 6, 7, 0, 35, 6, 7, 0, 36, 6, 7, 0, 37, 6, 7, 0, 38, 6, 7, 0, 39, 6, 2, 0, 40, 6, + 0, 0, 41, 6, 0, 0, 42, 6, 0, 0, 43, 6, 0, 0, 44, 6, 27, 0, 45, 6, 0, 0, 46, 6, 0, 0, 47, 6, 0, 0, 48, 6, + 0, 0, 49, 6, 0, 0, 50, 6, 0, 0, 51, 6, 0, 0, 52, 6, 0, 0, 53, 6, 0, 0, 54, 6, 0, 0, 55, 6, 2, 0, 56, 6, + 2, 0, 57, 6, 2, 0, 58, 6, 2, 0, 59, 6, 0, 0, 60, 6, 0, 0, 61, 6, 0, 0, 62, 6, 0, 0, 63, 6, 4, 0, 64, 6, + 4, 0, 65, 6, 4, 0, 66, 6, 4, 0, 67, 6, 2, 0, 68, 6, 2, 0, 66, 0, 4, 0, 69, 6, 7, 0, 70, 6, 7, 0, 71, 6, +222, 0, 72, 6,224, 0, 8, 0, 4, 0, 73, 6, 4, 0, 74, 6, 4, 0, 75, 6, 4, 0, 76, 6, 4, 0, 77, 6, 4, 0, 78, 6, + 4, 0, 52, 0, 4, 0,143, 2,225, 0, 4, 0, 7, 0, 79, 6, 0, 0, 80, 6, 0, 0, 81, 6, 2, 0, 18, 0,226, 0, 4, 0, + 7, 0, 82, 6, 4, 0, 18, 0, 4, 0, 83, 6, 4, 0, 55, 0, 41, 0, 46, 0, 22, 0, 32, 0, 34, 0, 74, 0, 27, 0,215, 5, +197, 0, 84, 6, 41, 0, 85, 6, 14, 0, 86, 6,198, 0, 87, 6, 27, 0, 88, 6, 7, 0, 89, 6, 7, 0, 90, 6, 7, 0, 91, 6, + 7, 0, 92, 6, 4, 0,210, 3, 4, 0, 93, 6, 4, 0, 94, 6, 2, 0, 18, 0, 2, 0, 76, 1, 57, 0, 70, 1,227, 0, 95, 6, +223, 0, 96, 6,228, 0, 97, 6,206, 0,184, 0,203, 0, 98, 6, 14, 0,101, 0, 14, 0, 99, 6, 11, 0,100, 6, 11, 0,101, 6, + 11, 0,102, 6, 11, 0,103, 6, 11, 0,104, 6,229, 0,105, 6, 2, 0,106, 6, 2, 0,107, 6, 2, 0,251, 0, 2, 0,211, 3, + 4, 0,221, 3, 4, 0,108, 6, 14, 0,109, 6,209, 0,201, 5,211, 0,110, 6,225, 0,111, 6,179, 0,187, 3,226, 0,112, 6, +230, 0,113, 6, 10, 0, 12, 4, 10, 0,114, 6,231, 0, 14, 0,231, 0, 0, 0,231, 0, 1, 0, 42, 0,242, 0, 40, 0, 69, 1, +230, 0,113, 6,232, 0,115, 6, 7, 0,100, 2, 7, 0,101, 2, 7, 0,107, 0, 7, 0,116, 6, 2, 0,117, 6, 2, 0, 18, 0, + 2, 0,142, 0, 2, 0, 27, 0,233, 0, 39, 0, 7, 0,118, 6, 7, 0,119, 6, 7, 0,120, 6, 7, 0,121, 6, 7, 0,122, 6, + 7, 0,123, 6, 7, 0,124, 6, 7, 0,125, 6, 7, 0,126, 6, 68, 0,127, 6,179, 0,187, 3,233, 0,128, 6,234, 0,129, 6, +235, 0,130, 6,236, 0,131, 6,237, 0,132, 6,238, 0,133, 6, 7, 0,134, 6, 7, 0,135, 6, 7, 0, 94, 1, 7, 0,136, 6, + 7, 0,137, 6, 7, 0,138, 6, 7, 0,139, 6, 7, 0,174, 0, 7, 0,140, 6, 0, 0,141, 6, 0, 0,142, 6, 0, 0,117, 6, + 0, 0,143, 6, 2, 0,144, 6, 2, 0,145, 6, 7, 0,146, 6, 2, 0,147, 6, 2, 0,148, 6, 7, 0,149, 6, 7, 0,150, 6, + 7, 0,151, 6, 7, 0,152, 6,239, 0, 51, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6, + 2, 0,156, 6, 7, 0,135, 6, 7, 0, 94, 1, 7, 0,157, 6, 2, 0,158, 6, 0, 0,216, 2, 4, 0,159, 6, 2, 0,142, 6, + 2, 0,117, 6, 27, 0,215, 5, 27, 0,160, 6, 14, 0,161, 6,231, 0,162, 6,239, 0,128, 6, 0, 0,163, 6, 4, 0,210, 3, + 4, 0, 93, 6, 2, 0,164, 6, 2, 0,165, 6, 2, 0,166, 6, 2, 0,167, 6, 2, 0, 18, 0, 2, 0, 35, 2, 7, 0,113, 0, + 7, 0,168, 6, 7, 0,169, 6, 7, 0,170, 6, 7, 0,174, 0, 7, 0, 89, 6, 2, 0,171, 6, 2, 0,172, 6, 2, 0,173, 6, + 0, 0,174, 6, 0, 0,175, 6, 0, 0,176, 6, 0, 0,177, 6, 0, 0,178, 6, 14, 0,179, 6, 14, 0,180, 6, 14, 0,181, 6, + 2, 0,182, 6, 2, 0,157, 2, 2, 0,183, 6, 0, 0,184, 6, 11, 0,185, 6,179, 0,187, 3,241, 0, 24, 0, 19, 0,240, 0, + 19, 0, 62, 0, 18, 0,186, 6, 18, 0,187, 6, 18, 0,188, 6, 7, 0,189, 6, 7, 0,190, 6, 7, 0,191, 6, 7, 0,192, 6, + 2, 0,193, 6, 2, 0,194, 6, 2, 0,195, 6, 2, 0,196, 6, 2, 0,197, 6, 2, 0, 18, 0, 2, 0,198, 6, 2, 0,199, 6, + 2, 0,200, 6, 2, 0,201, 6, 2, 0,202, 6, 2, 0,167, 6, 7, 0,203, 6, 4, 0,204, 6, 4, 0,205, 6,240, 0, 6, 0, +240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6, 2, 0,156, 6,242, 0, 8, 0,240, 0, 0, 0, +240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6, 2, 0,156, 6, 0, 0,206, 6, 0, 0,123, 0,243, 0, 14, 0, +240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6, 2, 0,156, 6,241, 0,207, 6,244, 0,208, 6, + 14, 0,209, 6, 2, 0, 87, 1, 2, 0,210, 6, 4, 0, 18, 0, 7, 0,211, 6, 4, 0,167, 6,245, 0, 21, 0,240, 0, 0, 0, +240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6, 2, 0,156, 6,241, 0,207, 6, 2, 0,212, 6, 2, 0,213, 6, + 2, 0,214, 6, 2, 0,215, 6, 2, 0,198, 6, 2, 0,216, 6, 2, 0,217, 6, 0, 0, 18, 0, 0, 0, 27, 0, 11, 0, 76, 2, + 4, 0,218, 6, 4, 0,219, 6, 22, 0,220, 6, 11, 0,221, 6,246, 0, 18, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, + 4, 0,154, 6, 7, 0,155, 6, 2, 0,156, 6,241, 0,207, 6, 7, 0,100, 2, 7, 0,101, 2, 2, 0,212, 6, 2, 0,222, 6, + 2, 0,223, 6, 2, 0,224, 6, 4, 0, 18, 0, 7, 0,225, 6, 4, 0,117, 6, 4, 0, 27, 0,179, 0,187, 3,247, 0, 16, 0, + 0, 0,226, 6, 0, 0,227, 6, 0, 0,228, 6, 0, 0,229, 6, 0, 0,230, 6, 0, 0,231, 6, 4, 0,232, 6, 4, 0,233, 6, + 4, 0,234, 6, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0,235, 6, 2, 0,236, 6, 2, 0,193, 1, 2, 0,237, 6, 0, 0,238, 6, +248, 0, 16, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 4, 0,239, 6,247, 0,240, 6,249, 0,241, 6, + 14, 0,242, 6, 14, 0,243, 6,250, 0,244, 6,238, 0,245, 6,251, 0,246, 6, 2, 0,247, 6, 2, 0,248, 6, 2, 0,249, 6, + 2, 0, 30, 0,252, 0, 15, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6, 2, 0,156, 6, +241, 0,207, 6, 14, 0,250, 6,253, 0,251, 6, 0, 0,252, 6,254, 0,253, 6, 2, 0, 18, 0, 2, 0,254, 6, 2, 0,255, 6, + 2, 0, 0, 7,255, 0, 25, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 4, 0, 18, 0, 42, 0,249, 2, + 40, 0, 69, 1, 54, 0, 1, 7, 0, 1, 2, 7, 1, 1, 3, 7,179, 0,187, 3, 7, 0, 4, 7, 7, 0,100, 2, 7, 0,101, 2, + 7, 0,225, 6, 7, 0, 5, 7, 7, 0, 6, 7, 2, 0, 7, 7, 2, 0, 27, 0, 2, 0, 8, 7, 2, 0, 9, 7, 0, 0, 10, 7, + 0, 0, 11, 7, 0, 0, 12, 7, 0, 0,167, 6, 2, 1, 11, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, + 7, 0,155, 6, 2, 0,156, 6, 2, 0,210, 6, 2, 0, 18, 0, 4, 0, 27, 0,244, 0,208, 6,241, 0,207, 6, 3, 1, 31, 0, +240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6, 2, 0,156, 6, 37, 0, 13, 7, 4, 0, 14, 7, + 4, 0, 15, 7, 2, 0, 91, 0, 2, 0, 16, 7, 2, 0, 17, 7, 0, 0, 18, 7, 0, 0, 19, 7, 4, 0, 20, 7, 4, 0, 21, 7, + 4, 0, 22, 7, 2, 0, 23, 7, 2, 0, 24, 7, 2, 0, 25, 7, 2, 0, 26, 7, 7, 0, 27, 7, 18, 0, 28, 7, 18, 0, 29, 7, + 4, 0, 30, 7, 4, 0, 31, 7, 0, 0, 32, 7, 0, 0, 33, 7, 2, 0, 34, 7, 0, 0,216, 2, 11, 0, 35, 7, 4, 1, 10, 0, + 22, 0, 32, 0, 11, 0, 36, 7, 11, 0, 37, 7, 11, 0, 38, 7, 11, 0, 39, 7, 11, 0, 40, 7, 4, 0, 91, 0, 4, 0, 41, 7, + 0, 0, 42, 7, 0, 0, 43, 7, 5, 1, 10, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6, + 4, 1, 44, 7, 2, 0, 91, 0, 2, 0, 16, 7, 4, 0, 66, 0, 11, 0, 45, 7, 6, 1, 3, 0, 6, 1, 0, 0, 6, 1, 1, 0, + 7, 0, 46, 7, 7, 1, 9, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6,241, 0,207, 6, + 14, 0, 47, 7, 4, 0, 48, 7, 4, 0, 18, 0, 8, 1, 27, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, + 7, 0,155, 6, 2, 0,156, 6,241, 0,207, 6, 22, 0, 49, 7, 22, 0, 80, 0, 2, 0, 18, 0, 2, 0, 66, 0, 7, 0, 50, 7, + 7, 0,100, 2, 7, 0,101, 2, 7, 0,225, 6, 7, 0, 51, 7, 7, 0, 52, 7, 7, 0, 53, 7, 57, 0, 70, 1, 57, 0, 54, 7, + 4, 0, 55, 7, 2, 0, 56, 7, 2, 0, 57, 7, 2, 0,251, 0, 2, 0, 86, 1, 14, 0, 58, 7,179, 0,187, 3, 9, 1, 10, 0, +240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6, 2, 0,156, 6, 2, 0, 18, 0, 2, 0,219, 3, + 4, 0, 27, 0,179, 0,187, 3, 10, 1, 7, 0, 10, 1, 0, 0, 10, 1, 1, 0, 4, 0, 59, 7, 4, 0, 22, 0, 0, 0, 85, 0, + 4, 0, 60, 7, 4, 0, 16, 0, 11, 1, 14, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6, + 2, 0,156, 6, 4, 0, 17, 7, 4, 0, 27, 0, 14, 0, 61, 7, 14, 0, 62, 7, 0, 0, 63, 7, 0, 0, 64, 7, 4, 0, 65, 7, + 4, 0, 66, 7, 12, 1, 6, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 4, 0, 27, 0, 0, 0, 67, 7, + 13, 1, 28, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,100, 2, 7, 0,101, 2, 7, 0, 68, 7, + 7, 0, 69, 7, 7, 0,225, 6,232, 0, 70, 7,230, 0,113, 6, 14, 1, 2, 7, 4, 0, 18, 0, 2, 0, 87, 1, 2, 0,117, 6, + 4, 0, 71, 7, 7, 0, 72, 7, 7, 0,153, 3, 7, 0, 99, 3, 4, 0, 27, 0, 7, 0, 73, 7, 7, 0, 74, 7, 4, 0, 75, 7, + 4, 0, 30, 0, 11, 0, 76, 7, 2, 0, 77, 7, 2, 0, 78, 7, 4, 0,250, 1, 15, 1, 7, 0, 15, 1, 0, 0, 15, 1, 1, 0, + 0, 0, 79, 7, 2, 0, 80, 7, 2, 0, 81, 7, 2, 0, 82, 7, 2, 0, 27, 0, 16, 1, 12, 0, 2, 0, 81, 7, 2, 0, 83, 7, + 2, 0, 84, 7, 0, 0,216, 2, 2, 0, 85, 7, 2, 0, 86, 7, 2, 0, 87, 7, 2, 0, 88, 7, 2, 0, 89, 7, 2, 0,198, 6, + 7, 0, 90, 7, 7, 0, 91, 7, 17, 1, 18, 0, 17, 1, 0, 0, 17, 1, 1, 0, 0, 0, 19, 0, 16, 1, 92, 7, 16, 1, 93, 7, + 16, 1, 94, 7, 16, 1, 95, 7, 7, 0, 96, 7, 2, 0, 97, 7, 2, 0, 98, 7, 2, 0, 99, 7, 2, 0,100, 7, 2, 0,101, 7, + 2, 0,102, 7, 2, 0,103, 7, 2, 0,104, 7, 2, 0,105, 7, 2, 0, 27, 0, 18, 1, 10, 0, 0, 0,106, 7, 0, 0,107, 7, + 0, 0,108, 7, 0, 0,109, 7, 0, 0,110, 7, 0, 0,111, 7, 2, 0,112, 7, 2, 0,113, 7, 2, 0,114, 7, 2, 0,115, 7, + 19, 1, 8, 0, 0, 0,116, 7, 0, 0,117, 7, 0, 0,118, 7, 0, 0,119, 7, 0, 0,120, 7, 0, 0,121, 7, 7, 0,116, 6, + 7, 0, 27, 0, 20, 1, 3, 0, 0, 0,122, 7, 2, 0,123, 7, 2, 0, 27, 0, 21, 1, 22, 0, 18, 1,124, 7, 18, 1,125, 7, + 18, 1,126, 7, 18, 1,127, 7, 18, 1,128, 7, 18, 1,129, 7, 18, 1,130, 7, 18, 1,131, 7, 18, 1,132, 7, 18, 1,133, 7, + 18, 1,134, 7, 18, 1,135, 7, 18, 1,136, 7, 18, 1,137, 7, 18, 1,138, 7, 18, 1,139, 7, 18, 1,140, 7, 19, 1,141, 7, + 20, 1,142, 7, 0, 0,143, 7, 7, 0,144, 7, 7, 0, 27, 0, 22, 1,122, 0, 0, 0,145, 7, 0, 0,146, 7, 0, 0,110, 7, + 0, 0,147, 7, 0, 0,122, 7, 0, 0,148, 7, 0, 0,149, 7, 0, 0,150, 7, 0, 0,151, 7, 0, 0,152, 7, 0, 0,153, 7, + 0, 0,154, 7, 0, 0,155, 7, 0, 0,156, 7, 0, 0,157, 7, 0, 0,158, 7, 0, 0,159, 7, 0, 0,160, 7, 0, 0,161, 7, + 0, 0,162, 7, 0, 0,163, 7, 0, 0,164, 7, 0, 0,165, 7, 0, 0,166, 7, 0, 0,167, 7, 0, 0,168, 7, 0, 0,169, 7, + 0, 0,170, 7, 0, 0,171, 7, 0, 0,172, 7, 0, 0,173, 7, 0, 0,174, 7, 0, 0,175, 7, 0, 0,176, 7, 0, 0,177, 7, + 0, 0,178, 7, 0, 0,179, 7, 0, 0,180, 7, 0, 0,181, 7, 0, 0,182, 7, 0, 0,183, 7, 0, 0,184, 7, 0, 0,185, 7, + 0, 0,186, 7, 0, 0,187, 7, 0, 0,188, 7, 0, 0,189, 7, 0, 0,190, 7, 0, 0,191, 7, 0, 0,192, 7, 0, 0,193, 7, + 0, 0,194, 7, 0, 0,195, 7, 0, 0,196, 7, 0, 0,197, 7, 0, 0,198, 7, 0, 0,199, 7, 0, 0,200, 7, 0, 0,201, 7, + 0, 0,202, 7, 0, 0,203, 7, 0, 0,204, 7, 0, 0,205, 7, 0, 0,206, 7, 0, 0,207, 7, 0, 0,208, 7, 0, 0,209, 7, + 0, 0,210, 7, 0, 0,211, 7, 0, 0,212, 7, 0, 0,213, 7, 0, 0,214, 7, 0, 0,215, 7, 0, 0,216, 7, 0, 0,217, 7, + 0, 0,218, 7, 0, 0,219, 7, 0, 0,220, 7, 0, 0,221, 7, 0, 0,222, 7, 0, 0,223, 7, 0, 0,224, 7, 0, 0,225, 7, + 0, 0,226, 7, 0, 0,227, 7, 0, 0,228, 7, 0, 0,229, 7, 0, 0,230, 7, 0, 0,231, 7, 0, 0,232, 7, 0, 0,233, 7, + 0, 0,234, 7, 0, 0,235, 7, 0, 0,236, 7, 0, 0,237, 7, 0, 0,238, 7, 0, 0,239, 7, 0, 0,240, 7, 0, 0,241, 7, + 0, 0,242, 7, 0, 0,243, 7, 0, 0,244, 7, 0, 0,245, 7, 0, 0,246, 7, 0, 0,247, 7, 0, 0,248, 7, 0, 0,249, 7, + 0, 0,250, 7, 0, 0,251, 7, 0, 0,252, 7, 0, 0,253, 7, 0, 0,254, 7, 0, 0,255, 7, 0, 0, 0, 8, 0, 0, 1, 8, + 0, 0, 2, 8, 0, 0, 3, 8, 0, 0, 4, 8, 0, 0, 5, 8, 0, 0, 6, 8, 0, 0, 7, 8, 0, 0, 8, 8, 23, 1, 5, 0, + 0, 0, 9, 8, 0, 0,168, 7, 0, 0,174, 7, 2, 0, 18, 0, 2, 0, 27, 0, 24, 1, 24, 0, 24, 1, 0, 0, 24, 1, 1, 0, + 0, 0,179, 5, 21, 1, 10, 8, 22, 1, 11, 8, 22, 1, 12, 8, 22, 1, 13, 8, 22, 1, 14, 8, 22, 1, 15, 8, 22, 1, 16, 8, + 22, 1, 17, 8, 22, 1, 18, 8, 22, 1, 19, 8, 22, 1, 20, 8, 22, 1, 21, 8, 22, 1, 22, 8, 22, 1, 23, 8, 22, 1, 24, 8, + 22, 1, 25, 8, 22, 1, 26, 8, 22, 1, 27, 8, 23, 1, 28, 8, 4, 0, 29, 8, 4, 0, 27, 0, 25, 1, 3, 0, 25, 1, 0, 0, + 25, 1, 1, 0, 0, 0, 30, 8, 26, 1, 5, 0, 4, 0, 18, 0, 4, 0, 27, 0, 7, 0,156, 2, 7, 0, 31, 8, 7, 0, 50, 2, + 27, 1, 95, 0, 4, 0, 18, 0, 4, 0, 32, 8, 4, 0, 33, 8, 0, 0, 34, 8, 0, 0, 35, 8, 0, 0, 36, 8, 0, 0, 37, 8, + 0, 0, 38, 8, 0, 0, 39, 8, 0, 0, 40, 8, 0, 0, 41, 8, 0, 0, 42, 8, 0, 0, 43, 8, 4, 0, 44, 8, 2, 0, 45, 8, + 2, 0, 46, 8, 2, 0, 47, 8, 2, 0, 48, 8, 4, 0, 49, 8, 4, 0, 50, 8, 4, 0, 51, 8, 4, 0, 52, 8, 2, 0, 53, 8, + 2, 0, 54, 8, 4, 0, 55, 8, 4, 0, 56, 8, 4, 0, 57, 8, 4, 0, 58, 8, 4, 0, 59, 8, 4, 0, 61, 7, 4, 0, 60, 8, + 2, 0, 61, 8, 2, 0, 62, 8, 2, 0, 63, 8, 2, 0, 64, 8, 14, 0, 65, 8, 14, 0, 66, 8, 14, 0, 67, 8, 14, 0, 68, 8, + 14, 0, 69, 8, 14, 0, 70, 8, 0, 0, 71, 8, 2, 0, 72, 8, 2, 0, 73, 8, 2, 0, 74, 8, 2, 0, 75, 8, 2, 0, 76, 8, + 2, 0, 77, 8, 2, 0, 78, 8, 2, 0, 79, 8, 26, 1, 80, 8, 2, 0, 81, 8, 2, 0, 82, 8, 2, 0, 83, 8, 2, 0, 84, 8, + 2, 0, 85, 8, 2, 0, 86, 8, 2, 0, 87, 8, 2, 0, 88, 8, 4, 0, 89, 8, 4, 0, 90, 8, 2, 0, 91, 8, 2, 0, 92, 8, + 2, 0, 93, 8, 2, 0, 94, 8, 2, 0, 95, 8, 2, 0, 96, 8, 2, 0, 97, 8, 2, 0, 98, 8, 2, 0, 99, 8, 2, 0,100, 8, + 2, 0,101, 8, 2, 0,102, 8, 2, 0,103, 8, 2, 0,104, 8, 2, 0,105, 8, 2, 0,106, 8, 2, 0,107, 8, 2, 0,108, 8, + 7, 0,109, 8, 4, 0,110, 8, 7, 0,111, 8, 2, 0, 25, 6, 2, 0, 26, 6, 2, 0,112, 8, 2, 0,113, 8, 50, 0,114, 8, + 7, 0,115, 8, 2, 0,116, 8, 2, 0,250, 1, 0, 0,117, 8, 4, 0,118, 8, 4, 0,119, 8, 7, 0,120, 8, 7, 0, 27, 0, + 28, 1, 24, 0, 22, 0, 32, 0, 14, 0,121, 8, 14, 0,122, 8, 14, 0,123, 8, 14, 0,153, 6, 41, 0,124, 0, 41, 0,124, 8, + 4, 0,125, 8, 4, 0, 66, 0, 2, 0,126, 8, 2, 0,127, 8, 2, 0,128, 8, 2, 0,129, 8, 2, 0,130, 8, 2, 0,131, 8, + 2, 0,132, 8, 2, 0,133, 8, 2, 0,134, 8, 2, 0,135, 8, 2, 0,136, 8, 2, 0, 27, 0,238, 0,137, 8, 11, 0,138, 8, + 2, 0,139, 8, 29, 1, 5, 0, 29, 1, 0, 0, 29, 1, 1, 0, 29, 1,140, 8, 15, 0,141, 8, 4, 0, 18, 0, 30, 1, 7, 0, + 30, 1, 0, 0, 30, 1, 1, 0, 29, 1,142, 8, 29, 1,143, 8, 2, 0,128, 5, 2, 0, 18, 0, 4, 0, 27, 0, 31, 1, 25, 0, + 31, 1, 0, 0, 31, 1, 1, 0, 32, 1,144, 8, 33, 1,246, 6, 0, 0,145, 8, 0, 0,146, 8, 0, 0,147, 8, 2, 0,148, 8, + 2, 0,149, 8, 2, 0,150, 8, 2, 0,151, 8, 2, 0,152, 8, 2, 0, 27, 0, 2, 0, 18, 0, 2, 0,153, 8, 2, 0,154, 8, + 2, 0,155, 8, 4, 0,156, 8, 31, 1,157, 8, 11, 0,158, 8, 4, 0,159, 8, 4, 0,160, 8, 4, 0,161, 8, 4, 0,162, 8, + 0, 0,163, 8, 34, 1, 22, 0, 34, 1, 0, 0, 34, 1, 1, 0, 29, 1,142, 8, 29, 1,143, 8, 29, 1,164, 8, 29, 1,165, 8, + 28, 1,166, 8, 18, 0, 50, 0, 0, 0,154, 6, 0, 0,167, 8, 2, 0,199, 6, 2, 0,200, 6, 2, 0,168, 8, 2, 0, 27, 0, + 2, 0,130, 8, 2, 0, 60, 7, 2, 0, 18, 0, 35, 1,144, 8, 14, 0,169, 8, 14, 0,153, 6, 14, 0,170, 8, 14, 0,171, 8, + 36, 1, 24, 0, 36, 1, 0, 0, 36, 1, 1, 0,241, 0,207, 6, 18, 0,172, 8, 18, 0,173, 8, 2, 0,199, 6, 2, 0,200, 6, + 2, 0,174, 8, 2, 0,175, 8, 2, 0,176, 8, 2, 0, 18, 0, 7, 0, 96, 2, 2, 0,150, 8, 2, 0,151, 8, 2, 0,129, 8, + 2, 0,177, 8, 2, 0,134, 8, 2, 0, 86, 1, 37, 1,144, 8, 14, 0,178, 8, 14, 0,179, 8, 14, 0,170, 8, 0, 0,180, 8, + 11, 0,181, 8, 38, 1, 14, 0, 0, 0,182, 8, 2, 0,183, 8, 2, 0,184, 8, 2, 0,185, 8, 2, 0,186, 8, 2, 0,117, 5, + 2, 0,187, 8, 28, 1,188, 8, 41, 0,189, 8, 4, 0,190, 8, 4, 0,191, 8, 4, 0,192, 8, 4, 0, 27, 0, 0, 0, 79, 7, + 39, 1, 3, 0, 0, 0,193, 8, 4, 0,194, 8, 4, 0,195, 8, 40, 1, 4, 0, 4, 0, 14, 7, 4, 0,196, 8, 4, 0, 20, 7, + 4, 0,197, 8, 41, 1, 2, 0, 4, 0,198, 8, 4, 0,199, 8, 42, 1, 5, 0, 7, 0,200, 8, 7, 0,201, 8, 7, 0,202, 8, + 4, 0, 18, 0, 4, 0, 27, 0, 43, 1, 7, 0, 0, 0,203, 8, 0, 0,228, 6, 44, 0,137, 0, 2, 0,204, 8, 2, 0, 79, 5, + 2, 0,205, 8, 2, 0,206, 8, 44, 1, 12, 0, 44, 1, 0, 0, 44, 1, 1, 0, 4, 0, 28, 0, 4, 0,207, 8, 4, 0,208, 8, + 4, 0,209, 8, 39, 1,210, 8, 0, 0,203, 8, 43, 1,181, 3, 40, 1,211, 8, 41, 1,212, 8, 42, 1,213, 8, 45, 1, 12, 0, + 0, 0, 35, 0, 11, 0,226, 0, 0, 0,227, 0, 4, 0,230, 0, 4, 0,238, 0, 11, 0,231, 0, 7, 0,233, 0, 7, 0,234, 0, + 11, 0,214, 8, 11, 0,215, 8, 11, 0,235, 0, 11, 0,237, 0, 46, 1, 50, 0, 46, 1, 0, 0, 46, 1, 1, 0, 11, 0,216, 8, + 11, 0, 25, 0, 0, 0, 19, 0, 4, 0, 18, 0, 4, 0, 16, 0, 4, 0, 22, 0, 4, 0, 89, 0, 4, 0,217, 8, 4, 0,218, 8, + 4, 0,208, 8, 4, 0,209, 8, 4, 0,219, 8, 4, 0,250, 0, 4, 0,220, 8, 4, 0,221, 8, 7, 0,222, 8, 7, 0,223, 8, + 7, 0,224, 8, 2, 0,225, 8, 2, 0,226, 8, 4, 0,227, 8, 4, 0,228, 8, 44, 1,229, 8, 31, 0, 79, 0, 41, 0,124, 0, + 27, 0,230, 8, 44, 0,137, 0,230, 0,113, 6, 7, 0,231, 8, 7, 0,232, 8, 45, 1, 71, 1, 46, 1,233, 8, 46, 1,234, 8, + 46, 1,235, 8, 14, 0,236, 8, 47, 1,237, 8, 11, 0,238, 8, 7, 0, 89, 4, 7, 0,239, 8, 7, 0,240, 8, 7, 0,241, 8, + 11, 0,242, 8, 4, 0,243, 8, 4, 0,244, 8, 4, 0,245, 8, 7, 0,246, 8, 4, 0,128, 0, 4, 0, 27, 0, 48, 1, 4, 0, + 48, 1, 0, 0, 48, 1, 1, 0, 14, 0,247, 8, 46, 1,248, 8,227, 0, 11, 0, 14, 0,249, 8, 14, 0,236, 8, 14, 0,250, 8, + 46, 1,251, 8, 0, 0,252, 8, 0, 0,253, 8, 4, 0,254, 8, 4, 0,255, 8, 4, 0, 0, 9, 4, 0, 27, 0, 19, 0, 1, 9, + 49, 1, 4, 0, 7, 0, 2, 9, 7, 0, 99, 3, 2, 0, 3, 9, 2, 0, 4, 9, 50, 1, 6, 0, 7, 0, 5, 9, 7, 0, 6, 9, + 7, 0, 7, 9, 7, 0, 8, 9, 4, 0, 9, 9, 4, 0, 10, 9, 51, 1, 8, 0, 7, 0, 11, 9, 7, 0, 12, 9, 7, 0, 13, 9, + 7, 0, 14, 9, 7, 0, 15, 9, 4, 0,255, 2, 4, 0, 16, 9, 4, 0, 17, 9, 52, 1, 2, 0, 7, 0,187, 5, 7, 0, 27, 0, + 53, 1, 5, 0, 7, 0, 18, 9, 7, 0, 19, 9, 4, 0, 91, 0, 4, 0,217, 2, 4, 0, 20, 9, 54, 1, 6, 0, 54, 1, 0, 0, + 54, 1, 1, 0, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 21, 9, 2, 0, 55, 0, 55, 1, 8, 0, 55, 1, 0, 0, 55, 1, 1, 0, + 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 21, 9, 2, 0, 55, 0, 7, 0, 22, 0, 7, 0,128, 0, 56, 1, 45, 0, 56, 1, 0, 0, + 56, 1, 1, 0, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 21, 9, 2, 0,246, 0, 2, 0,131, 4, 2, 0, 22, 9, 7, 0, 23, 9, + 7, 0, 90, 0, 7, 0, 12, 3, 4, 0, 24, 9, 4, 0, 81, 0, 4, 0,219, 2, 7, 0, 25, 9, 7, 0, 26, 9, 7, 0, 27, 9, + 7, 0, 28, 9, 7, 0, 29, 9, 7, 0, 30, 9, 7, 0, 9, 3, 7, 0, 68, 1, 7, 0, 31, 9, 7, 0, 32, 9, 7, 0, 27, 0, + 7, 0, 33, 9, 7, 0, 34, 9, 7, 0, 35, 9, 2, 0, 36, 9, 2, 0, 37, 9, 2, 0, 38, 9, 2, 0, 39, 9, 2, 0, 40, 9, + 2, 0, 41, 9, 2, 0, 42, 9, 2, 0, 43, 9, 2, 0, 35, 2, 2, 0, 44, 9, 2, 0, 32, 2, 2, 0, 45, 9, 0, 0, 46, 9, + 0, 0, 47, 9, 7, 0,244, 0, 57, 1, 48, 9, 64, 0,253, 1, 58, 1, 16, 0, 58, 1, 0, 0, 58, 1, 1, 0, 2, 0, 16, 0, + 2, 0, 18, 0, 2, 0, 21, 9, 2, 0,246, 0, 7, 0, 4, 3, 7, 0, 5, 3, 7, 0, 6, 3, 7, 0, 85, 2, 7, 0, 7, 3, + 7, 0, 8, 3, 7, 0, 49, 9, 7, 0, 9, 3, 7, 0, 11, 3, 7, 0, 12, 3,254, 0, 5, 0, 2, 0, 16, 0, 2, 0, 50, 9, + 2, 0, 18, 0, 2, 0, 51, 9, 22, 0, 49, 7,253, 0, 3, 0, 4, 0, 68, 0, 4, 0, 52, 9,254, 0, 2, 0, 59, 1, 7, 0, + 59, 1, 0, 0, 59, 1, 1, 0, 0, 0, 19, 0, 2, 0, 16, 0, 2, 0, 18, 0, 4, 0, 21, 0, 11, 0, 53, 9, 60, 1, 5, 0, + 0, 0, 19, 0, 7, 0, 94, 1, 7, 0, 54, 9, 4, 0, 55, 9, 4, 0, 27, 0, 61, 1, 4, 0, 2, 0, 16, 0, 2, 0, 18, 0, + 2, 0, 66, 0, 2, 0, 30, 0, 62, 1, 4, 0, 0, 0, 19, 0, 63, 0, 56, 9, 7, 0, 94, 1, 7, 0, 27, 0, 63, 1, 6, 0, + 2, 0, 57, 9, 2, 0, 58, 9, 2, 0, 16, 0, 2, 0, 59, 9, 0, 0, 60, 9, 0, 0, 61, 9, 64, 1, 5, 0, 4, 0, 16, 0, + 4, 0, 27, 0, 0, 0, 19, 0, 0, 0, 62, 9, 0, 0, 63, 9, 65, 1, 3, 0, 4, 0, 16, 0, 4, 0, 27, 0, 0, 0, 19, 0, + 66, 1, 4, 0, 2, 0, 64, 9, 2, 0, 65, 9, 2, 0, 18, 0, 2, 0, 27, 0, 67, 1, 6, 0, 0, 0, 19, 0, 0, 0, 66, 9, + 2, 0, 67, 9, 2, 0, 9, 3, 2, 0, 87, 1, 2, 0, 30, 0, 68, 1, 5, 0, 0, 0, 19, 0, 7, 0, 99, 3, 7, 0,222, 4, + 2, 0, 18, 0, 2, 0,231, 2, 69, 1, 3, 0, 0, 0, 19, 0, 4, 0,219, 2, 4, 0, 64, 9, 70, 1, 7, 0, 0, 0, 19, 0, + 7, 0,222, 4, 0, 0, 68, 9, 0, 0, 69, 9, 2, 0, 87, 1, 2, 0, 66, 0, 4, 0, 70, 9, 71, 1, 4, 0, 0, 0, 71, 9, + 0, 0, 72, 9, 4, 0, 16, 0, 7, 0,235, 2, 72, 1, 3, 0, 27, 0, 73, 9, 0, 0, 74, 9, 0, 0, 75, 9, 73, 1, 18, 0, + 73, 1, 0, 0, 73, 1, 1, 0, 2, 0, 16, 0, 2, 0, 76, 9, 2, 0, 18, 0, 2, 0, 77, 9, 2, 0, 78, 9, 2, 0, 79, 9, + 2, 0, 66, 0, 2, 0, 30, 0, 0, 0, 19, 0, 11, 0, 2, 0, 74, 1, 80, 9, 27, 0, 43, 0, 2, 0,224, 5, 2, 0,181, 2, + 2, 0, 81, 9, 2, 0, 27, 0, 75, 1, 11, 0, 0, 0, 19, 0, 0, 0, 16, 0, 0, 0, 82, 9, 2, 0, 18, 0, 2, 0,231, 2, + 2, 0, 83, 9, 4, 0, 84, 9, 4, 0, 85, 9, 4, 0, 86, 9, 4, 0, 87, 9, 4, 0, 88, 9, 76, 1, 1, 0, 0, 0, 89, 9, + 77, 1, 4, 0, 37, 0, 13, 7, 0, 0, 30, 8, 4, 0, 87, 1, 4, 0, 18, 0, 74, 1, 18, 0, 74, 1, 0, 0, 74, 1, 1, 0, + 74, 1, 90, 9, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 91, 9, 2, 0, 79, 9, 2, 0, 76, 9, 2, 0, 92, 9, 2, 0, 30, 0, + 2, 0,250, 1, 0, 0, 19, 0, 11, 0, 2, 0, 78, 1, 80, 9, 73, 1, 93, 9, 2, 0, 14, 0, 2, 0, 94, 9, 4, 0, 95, 9, + 79, 1, 3, 0, 4, 0,245, 2, 4, 0, 27, 0, 27, 0, 43, 0, 80, 1, 15, 0,177, 0, 96, 9, 2, 0, 16, 0, 2, 0, 18, 0, + 7, 0, 23, 9, 7, 0, 90, 0, 0, 0, 19, 0, 0, 0, 97, 9, 2, 0, 98, 9, 2, 0, 99, 9, 2, 0,133, 0, 2, 0,100, 9, + 2, 0,101, 9, 2, 0, 27, 0, 7, 0,102, 9, 7, 0,103, 9, 81, 1, 8, 0, 7, 0,104, 9, 7, 0,105, 9, 7, 0,106, 9, + 7, 0,107, 9, 7, 0,108, 9, 7, 0,109, 9, 7, 0,110, 9, 7, 0,111, 9, 82, 1, 13, 0, 2, 0, 18, 0, 2, 0,112, 9, + 4, 0, 66, 0, 4, 0, 30, 0, 2, 0,184, 6, 7, 0, 89, 4, 7, 0,239, 8, 47, 1,237, 8, 81, 1,113, 9, 2, 0, 16, 0, + 2, 0,122, 5, 2, 0,221, 3, 2, 0,114, 9, 83, 1, 11, 0, 4, 0,245, 2, 2, 0, 16, 0, 2, 0, 18, 0, 27, 0, 43, 0, + 79, 0,115, 9, 0, 0, 19, 0, 7, 0,116, 9, 7, 0,117, 9, 7, 0,227, 3, 2, 0,118, 9, 2, 0,119, 9, 84, 1, 5, 0, + 2, 0, 16, 0, 2, 0, 66, 0, 4, 0, 27, 0, 41, 0,124, 0, 27, 0,215, 5, 85, 1, 5, 0, 4, 0, 27, 0, 4, 0, 16, 0, + 0, 0, 19, 0, 0, 0, 62, 9, 27, 0, 43, 0, 86, 1, 13, 0, 2, 0, 18, 0, 2, 0, 16, 0, 2, 0, 76, 9, 2, 0,228, 3, + 7, 0,120, 9, 7, 0,121, 9, 7, 0, 86, 1, 7, 0,122, 9, 7, 0,197, 3, 7, 0,201, 3, 7, 0,123, 9, 7, 0,124, 9, + 27, 0,125, 9, 87, 1, 10, 0, 2, 0, 18, 0, 2, 0, 16, 0, 7, 0, 23, 9, 7, 0, 90, 0, 0, 0, 19, 0, 0, 0, 97, 9, + 2, 0, 66, 0, 2, 0, 30, 0, 2, 0,250, 1, 2, 0,122, 5, 88, 1, 8, 0, 27, 0, 43, 0, 7, 0, 6, 3, 7, 0,126, 9, + 7, 0,127, 9, 7, 0,228, 3, 2, 0, 66, 0, 2, 0,231, 2, 7, 0, 30, 0, 89, 1, 12, 0, 2, 0, 16, 0, 2, 0, 87, 1, + 2, 0, 18, 0, 2, 0, 9, 3, 2, 0,245, 2, 2, 0,128, 9, 4, 0, 27, 0, 7, 0,129, 9, 7, 0,130, 9, 7, 0,131, 9, + 7, 0,132, 9, 0, 0,133, 9, 90, 1, 9, 0, 2, 0, 18, 0, 2, 0, 16, 0, 4, 0, 23, 9, 4, 0, 90, 0, 0, 0, 19, 0, + 2, 0, 86, 1, 2, 0, 62, 0, 2, 0,134, 9, 2, 0,135, 9, 91, 1, 7, 0, 4, 0,219, 2, 4, 0,136, 9, 4, 0,137, 9, + 4, 0,138, 9, 7, 0,139, 9, 7, 0,140, 9, 0, 0, 68, 9, 92, 1, 7, 0, 0, 0,141, 9, 27, 0,142, 9, 0, 0, 74, 9, + 2, 0,143, 9, 2, 0, 66, 0, 4, 0, 30, 0, 0, 0, 75, 9, 93, 1, 6, 0, 2, 0, 18, 0, 2, 0, 16, 0, 4, 0, 23, 9, + 4, 0, 90, 0, 0, 0,144, 9, 0, 0,145, 9, 94, 1, 1, 0, 4, 0, 18, 0, 95, 1, 6, 0, 0, 0, 93, 0, 2, 0, 16, 0, + 2, 0, 18, 0, 4, 0,146, 9, 7, 0,147, 9, 37, 0, 13, 7, 96, 1, 4, 0, 0, 0,186, 2, 2, 0, 18, 0, 4, 0, 16, 0, + 27, 0, 43, 0, 97, 1, 2, 0, 4, 0, 16, 0, 4, 0,188, 6, 98, 1, 8, 0, 0, 0, 71, 9, 0, 0, 72, 9, 4, 0, 16, 0, + 7, 0, 43, 2, 7, 0,148, 9, 7, 0, 27, 0, 27, 0, 75, 3, 27, 0,149, 9, 99, 1, 11, 0, 0, 0, 61, 6, 0, 0, 18, 0, + 2, 0,150, 9, 4, 0, 16, 0, 7, 0, 94, 1, 7, 0,151, 9, 7, 0,152, 9, 7, 0,153, 9, 4, 0,154, 9, 27, 0, 75, 3, + 27, 0,155, 9, 78, 1, 10, 0, 78, 1, 0, 0, 78, 1, 1, 0, 78, 1, 90, 9, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 76, 9, + 2, 0,156, 9, 0, 0, 19, 0, 11, 0, 2, 0, 27, 0, 43, 0, 47, 1, 17, 0, 22, 0, 32, 0, 0, 0, 35, 0, 38, 0,152, 0, + 11, 0,226, 0, 38, 0,157, 9, 31, 0, 79, 0, 7, 0, 89, 4, 7, 0,158, 9, 7, 0,239, 8, 7, 0,104, 9, 7, 0,105, 9, + 7, 0,159, 9, 4, 0, 91, 0, 4, 0, 27, 0, 11, 0,160, 9, 11, 0,161, 9, 11, 0,162, 9,100, 1, 6, 0,100, 1, 0, 0, +100, 1, 1, 0, 27, 0, 43, 0, 11, 0,163, 9, 2, 0,251, 0, 0, 0,216, 2, 64, 0, 4, 0, 22, 0, 32, 0, 14, 0,164, 9, + 4, 0,133, 0, 7, 0,165, 9,101, 1, 28, 0,101, 1, 0, 0,101, 1, 1, 0, 21, 0,166, 9,101, 1, 37, 0, 14, 0,167, 9, + 0, 0, 19, 0, 7, 0,168, 9, 7, 0,169, 9, 7, 0,170, 9, 7, 0,171, 9, 4, 0, 18, 0, 7, 0,172, 9, 7, 0,173, 9, + 7, 0,174, 9, 7, 0,175, 9, 7, 0, 94, 1, 7, 0, 43, 2, 7, 0,176, 9, 7, 0,217, 2, 7, 0,177, 9, 7, 0,178, 9, + 7, 0,179, 9, 7, 0,180, 9, 7, 0,181, 9, 7, 0,175, 0, 4, 0,133, 0, 2, 0, 5, 6, 2, 0,182, 9,102, 1, 27, 0, + 22, 0, 32, 0, 34, 0, 74, 0, 14, 0,183, 9, 14, 0,184, 9, 14, 0,185, 9,101, 1,186, 9, 11, 0,187, 9, 11, 0,188, 9, + 4, 0, 18, 0, 4, 0,164, 6, 4, 0,189, 9, 4, 0, 27, 0, 2, 0, 13, 3, 2, 0,218, 6, 4, 0,190, 9, 4, 0,133, 0, + 4, 0,191, 9, 2, 0,192, 9, 2, 0,193, 9, 2, 0,194, 9, 2, 0,195, 9, 4, 0,196, 9, 4, 0,197, 9, 4, 0,198, 9, + 4, 0,199, 9, 4, 0,200, 9, 4, 0,201, 9,103, 1, 2, 0, 7, 0,170, 2, 4, 0, 18, 0,181, 0, 5, 0,103, 1,202, 9, + 4, 0,217, 2, 4, 0,203, 9, 4, 0,204, 9, 4, 0, 18, 0,180, 0, 16, 0, 4, 0,205, 9, 4, 0,206, 9, 4, 0,207, 9, + 4, 0,208, 9, 2, 0,209, 9, 2, 0,210, 9, 2, 0,211, 9, 2, 0,251, 0, 2, 0,212, 9, 2, 0,213, 9, 2, 0,214, 9, + 2, 0,215, 9, 4, 0,216, 9, 4, 0,217, 9, 4, 0,218, 9, 4, 0,219, 9,104, 1, 40, 0,104, 1, 0, 0,104, 1, 1, 0, + 21, 0,166, 9, 14, 0, 0, 4, 0, 0, 19, 0, 2, 0, 18, 0, 2, 0,220, 9, 2, 0,214, 3, 2, 0,221, 9, 0, 0,222, 9, + 0, 0,223, 9, 0, 0,224, 9,101, 1,225, 9,104, 1, 37, 0,104, 1,226, 9, 14, 0,227, 9, 14, 0,228, 9,181, 0,189, 3, + 27, 0,229, 9,104, 1,230, 9, 7, 0, 77, 1, 7, 0,175, 0, 7, 0,231, 9, 7, 0, 22, 2, 7, 0,203, 3, 7, 0,205, 3, + 2, 0,237, 3, 2, 0, 27, 0, 7, 0,232, 9, 7, 0,233, 9, 7, 0,208, 3, 7, 0,234, 9, 7, 0,235, 9, 7, 0,236, 9, + 7, 0,237, 9, 7, 0,238, 9, 7, 0,239, 9, 7, 0,240, 9, 7, 0,241, 9, 11, 0,242, 9,178, 0, 16, 0, 14, 0,243, 9, + 74, 0,244, 9, 2, 0, 18, 0, 2, 0, 27, 0, 4, 0,245, 9, 4, 0, 66, 0, 7, 0, 83, 0, 7, 0,246, 9, 7, 0,247, 9, + 14, 0,248, 9, 4, 0,249, 9, 4, 0,250, 9, 11, 0,251, 9, 11, 0,252, 9,180, 0,188, 3, 0, 0,253, 9,105, 1, 1, 0, + 4, 0,250, 9,106, 1, 12, 0, 4, 0,250, 9, 7, 0, 88, 9, 2, 0,254, 9, 2, 0,255, 9, 7, 0, 0, 10, 7, 0, 1, 10, + 2, 0, 2, 10, 2, 0, 18, 0, 7, 0, 3, 10, 7, 0, 4, 10, 7, 0, 5, 10, 7, 0, 6, 10,107, 1, 7, 0,107, 1, 0, 0, +107, 1, 1, 0, 14, 0, 7, 10, 4, 0, 18, 0, 4, 0, 8, 10, 0, 0, 19, 0, 23, 1, 9, 10,177, 0, 9, 0, 22, 0, 32, 0, + 14, 0, 10, 10, 14, 0,243, 9, 14, 0, 11, 10, 14, 0,101, 0, 4, 0, 18, 0, 4, 0, 12, 10, 4, 0, 13, 10, 4, 0, 27, 0, +244, 0, 8, 0, 22, 0, 14, 10, 14, 0,243, 9, 64, 0, 15, 10, 0, 0, 16, 10, 4, 0, 17, 10, 4, 0, 18, 0, 4, 0, 18, 10, + 4, 0, 27, 0,108, 1, 13, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6, 2, 0,156, 6, +241, 0,207, 6,177, 0,184, 3,244, 0, 19, 10, 0, 0, 87, 1, 0, 0,210, 6, 2, 0, 18, 0, 7, 0, 20, 10,109, 1, 8, 0, +109, 1, 0, 0,109, 1, 1, 0,107, 1, 21, 10, 31, 0, 79, 0, 14, 0,190, 3, 4, 0, 18, 0, 0, 0, 19, 0, 4, 0,127, 8, +110, 1, 5, 0,110, 1, 0, 0,110, 1, 1, 0, 31, 0, 79, 0, 2, 0, 18, 0, 0, 0, 22, 10,111, 1, 14, 0,111, 1, 0, 0, +111, 1, 1, 0, 11, 0, 2, 0, 2, 0, 16, 0, 2, 0, 18, 0, 0, 0, 23, 10, 0, 0, 24, 10, 0, 0, 19, 0, 2, 0, 27, 0, + 7, 0, 25, 10, 7, 0, 26, 10, 31, 0, 79, 0, 7, 0, 27, 10, 7, 0, 28, 10,112, 1, 9, 0,112, 1, 0, 0,112, 1, 1, 0, + 27, 0, 29, 10, 0, 0, 16, 3, 7, 0, 30, 10, 2, 0, 31, 10, 2, 0, 18, 0, 2, 0, 16, 0, 2, 0, 32, 10,113, 1, 7, 0, + 37, 0, 13, 7, 21, 0,166, 9, 4, 0, 18, 0, 4, 0, 33, 10, 14, 0, 34, 10, 27, 0, 29, 10, 0, 0, 16, 3,114, 1, 15, 0, + 27, 0, 29, 10, 2, 0, 35, 10, 2, 0, 18, 0, 2, 0, 36, 10, 2, 0, 37, 10, 0, 0, 16, 3, 27, 0, 38, 10, 0, 0, 39, 10, + 7, 0, 40, 10, 7, 0, 43, 2, 7, 0, 41, 10, 7, 0, 42, 10, 2, 0, 16, 0, 2, 0, 87, 1, 7, 0, 94, 1,115, 1, 6, 0, + 27, 0, 29, 10, 7, 0,202, 9, 2, 0, 43, 10, 2, 0, 44, 10, 2, 0, 18, 0, 2, 0, 45, 10,116, 1, 6, 0, 27, 0, 29, 10, + 4, 0, 46, 10, 4, 0, 47, 10, 4, 0, 91, 0, 4, 0, 27, 0, 0, 0, 16, 3,117, 1, 4, 0, 27, 0, 29, 10, 4, 0, 18, 0, + 4, 0, 46, 10, 0, 0, 16, 3,118, 1, 4, 0, 27, 0, 29, 10, 4, 0, 18, 0, 4, 0, 46, 10, 0, 0, 16, 3,119, 1, 4, 0, + 27, 0, 29, 10, 4, 0, 18, 0, 4, 0, 46, 10, 0, 0, 16, 3,120, 1, 2, 0, 4, 0, 18, 0, 7, 0, 89, 4,121, 1, 2, 0, + 27, 0, 29, 10, 0, 0, 16, 3,122, 1, 10, 0, 27, 0, 29, 10, 4, 0, 48, 10, 7, 0,127, 0, 4, 0, 18, 0, 2, 0, 11, 7, + 2, 0, 49, 10, 2, 0, 66, 0, 2, 0, 30, 0, 7, 0, 50, 10, 0, 0, 16, 3,123, 1, 10, 0, 27, 0, 29, 10, 2, 0, 16, 0, + 2, 0,139, 4, 4, 0, 89, 0, 4, 0, 90, 0, 7, 0,126, 9, 7, 0,127, 9, 4, 0, 27, 0,177, 0, 96, 9, 0, 0, 16, 3, +124, 1, 4, 0, 27, 0, 29, 10, 4, 0,215, 3, 4, 0, 51, 10, 0, 0, 16, 3,125, 1, 4, 0, 27, 0, 29, 10, 4, 0,215, 3, + 4, 0, 27, 0, 0, 0, 16, 3,126, 1, 6, 0, 27, 0, 29, 10, 7, 0,127, 0, 7, 0, 87, 3, 4, 0, 52, 10, 2, 0,215, 3, + 2, 0,216, 3,127, 1, 6, 0, 27, 0, 29, 10, 4, 0, 53, 10, 4, 0, 54, 10, 7, 0, 55, 10, 7, 0, 56, 10, 0, 0, 16, 3, +128, 1, 16, 0, 27, 0, 29, 10, 27, 0,226, 9, 4, 0, 16, 0, 7, 0, 57, 10, 7, 0, 58, 10, 7, 0, 59, 10, 7, 0, 60, 10, + 7, 0, 61, 10, 7, 0, 62, 10, 7, 0, 63, 10, 7, 0, 64, 10, 7, 0, 65, 10, 2, 0, 18, 0, 2, 0, 27, 0, 2, 0, 66, 0, + 2, 0, 30, 0,129, 1, 3, 0, 27, 0, 29, 10, 4, 0, 18, 0, 4, 0, 35, 2,130, 1, 5, 0, 27, 0, 29, 10, 4, 0, 18, 0, + 4, 0, 27, 0, 7, 0, 66, 10, 0, 0, 16, 3,131, 1, 10, 0, 27, 0, 29, 10, 0, 0, 16, 3, 2, 0, 67, 10, 2, 0, 68, 10, + 0, 0, 69, 10, 0, 0, 70, 10, 7, 0, 71, 10, 7, 0, 72, 10, 7, 0, 73, 10, 7, 0, 74, 10,132, 1, 5, 0, 27, 0, 29, 10, + 0, 0, 16, 3, 7, 0,225, 2, 2, 0, 75, 10, 2, 0, 18, 0,133, 1, 8, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, + 7, 0, 11, 0, 7, 0, 76, 10, 7, 0, 77, 10, 2, 0, 18, 0, 2, 0, 35, 2,134, 1, 8, 0, 7, 0, 8, 0, 7, 0, 9, 0, + 7, 0, 10, 0, 7, 0, 11, 0, 7, 0, 76, 10, 7, 0, 77, 10, 2, 0, 18, 0, 2, 0, 35, 2,135, 1, 8, 0, 7, 0, 8, 0, + 7, 0, 9, 0, 7, 0, 10, 0, 7, 0, 11, 0, 7, 0, 76, 10, 7, 0, 77, 10, 2, 0, 18, 0, 2, 0, 35, 2,136, 1, 7, 0, + 27, 0, 29, 10, 0, 0, 16, 3, 7, 0, 94, 1, 7, 0,103, 1, 2, 0, 18, 0, 2, 0, 87, 1, 4, 0, 27, 0,137, 1, 5, 0, + 27, 0, 75, 3, 7, 0, 94, 1, 2, 0, 79, 3, 0, 0, 81, 3, 0, 0, 78, 10,138, 1, 7, 0,230, 0,113, 6, 0, 0, 79, 10, + 4, 0, 18, 0, 4, 0, 27, 0, 0, 0, 80, 10, 27, 0,215, 5, 27, 0, 81, 10,139, 1, 3, 0,230, 0,113, 6, 4, 0, 18, 0, + 4, 0, 27, 0,140, 1, 6, 0,230, 0,113, 6, 4, 0, 18, 0, 4, 0, 27, 0, 0, 0, 80, 10, 7, 0, 66, 10, 27, 0,215, 5, +141, 1, 10, 0,141, 1, 0, 0,141, 1, 1, 0, 2, 0, 16, 0, 2, 0, 18, 0, 0, 0, 82, 10, 7, 0, 31, 1, 7, 0, 32, 1, + 2, 0, 7, 10, 2, 0, 83, 10, 27, 0, 43, 0,142, 1, 22, 0,142, 1, 0, 0,142, 1, 1, 0, 2, 0, 18, 0, 2, 0, 87, 1, + 2, 0, 84, 10, 2, 0, 85, 10, 31, 0, 79, 0,177, 0, 96, 9, 27, 0,167, 0, 7, 0, 89, 0, 7, 0, 90, 0, 7, 0, 86, 10, + 7, 0, 87, 10, 7, 0, 88, 10, 7, 0, 89, 10, 7, 0, 2, 3, 7, 0,153, 3, 7, 0, 98, 9, 7, 0, 90, 10, 0, 0, 91, 10, + 0, 0, 92, 10, 14, 0,193, 3,143, 1, 11, 0, 7, 0, 50, 2, 7, 0,126, 9, 7, 0,127, 9, 11, 0, 2, 0, 2, 0, 93, 10, + 2, 0, 94, 10, 2, 0, 95, 10, 2, 0, 96, 10, 2, 0, 97, 10, 2, 0, 98, 10, 2, 0,186, 2,144, 1, 21, 0,144, 1, 0, 0, +144, 1, 1, 0,144, 1, 99, 10, 0, 0, 19, 0, 11, 0,100, 10, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0,101, 10, 2, 0, 66, 0, + 7, 0,102, 10, 7, 0,103, 10, 11, 0,104, 10, 2, 0,105, 10, 2, 0,106, 10, 4, 0,107, 10, 11, 0,160, 9, 4, 0,108, 10, + 4, 0,109, 10,144, 1,110, 10,145, 1,111, 10,143, 1,112, 10,146, 1, 4, 0, 0, 0,113, 10, 2, 0,114, 10, 2, 0,115, 10, + 4, 0, 27, 0,147, 1, 41, 0,147, 1, 0, 0,147, 1, 1, 0,147, 1,116, 10, 0, 0, 19, 0, 4, 0, 18, 0, 2, 0, 16, 0, + 2, 0, 30, 0, 2, 0,207, 8, 2, 0,181, 2, 2, 0,117, 10, 2, 0, 16, 7, 2, 0,105, 10, 2, 0, 50, 9, 7, 0,118, 10, + 14, 0, 91, 9, 14, 0,119, 10,147, 1, 37, 0, 22, 0, 49, 7, 11, 0,100, 10, 7, 0,102, 10, 7, 0,103, 10, 7, 0, 85, 2, + 7, 0, 6, 3, 7, 0,120, 10, 7, 0,121, 10, 7, 0,122, 10, 4, 0,123, 10, 0, 0,124, 10, 2, 0,125, 10, 2, 0,126, 10, + 7, 0,127, 10, 7, 0,128, 10, 2, 0,129, 10, 2, 0,130, 10, 11, 0,131, 10, 19, 0,132, 10, 19, 0,133, 10, 19, 0,134, 10, +146, 1,153, 0,148, 1,135, 10,149, 1,136, 10,145, 1, 8, 0,145, 1, 0, 0,145, 1, 1, 0,147, 1,137, 10,147, 1,138, 10, +144, 1,139, 10,144, 1,140, 10, 4, 0, 18, 0, 4, 0, 27, 0, 57, 0, 23, 0, 22, 0, 32, 0, 34, 0, 74, 0,179, 0,187, 3, + 14, 0,141, 10, 14, 0,142, 10, 4, 0, 16, 0, 4, 0,143, 10, 4, 0,144, 10, 4, 0, 18, 0, 4, 0,123, 10, 4, 0,145, 10, + 2, 0,146, 10, 2, 0,147, 10, 4, 0,148, 10, 14, 0, 91, 9, 14, 0,119, 10,150, 1,149, 10, 11, 0,150, 10, 11, 0,151, 10, + 4, 0,152, 10, 11, 0,153, 10, 11, 0,154, 10, 11, 0,155, 10,151, 1, 4, 0, 4, 0, 17, 0, 4, 0,235, 2, 4, 0,126, 9, + 4, 0,127, 9,152, 1, 4, 0, 4, 0, 17, 0, 7, 0,235, 2, 7, 0,126, 9, 7, 0,127, 9,153, 1, 2, 0, 0, 0,235, 2, + 0, 0, 86, 1,154, 1, 4, 0, 4, 0, 17, 0, 7, 0,156, 10, 7, 0,126, 9, 7, 0,127, 9,155, 1, 1, 0, 7, 0,157, 10, +156, 1, 2, 0, 2, 0, 18, 0, 2, 0,158, 10,157, 1, 6, 0, 4, 0,126, 0, 4, 0,128, 0, 4, 0, 50, 9, 0, 0,159, 10, + 0, 0,160, 10, 2, 0, 27, 0,158, 1, 6, 0, 7, 0, 35, 1, 7, 0, 34, 1, 7, 0,161, 10, 7, 0,162, 10, 7, 0,163, 10, + 4, 0, 27, 0,159, 1, 6, 0,158, 1,164, 10,158, 1,165, 10,158, 1,166, 10,158, 1,167, 10, 7, 0,168, 10, 7, 0,169, 10, +160, 1, 5, 0, 7, 0, 99, 3, 4, 0,170, 10, 7, 0,171, 10, 7, 0,172, 10, 7, 0,173, 10,161, 1, 6, 0, 7, 0, 5, 0, + 7, 0, 6, 0, 7, 0,174, 10, 7, 0, 6, 3, 7, 0, 85, 2, 4, 0, 27, 0,162, 1, 6, 0, 7, 0, 5, 0, 7, 0, 6, 0, + 7, 0,174, 10, 7, 0, 6, 3, 7, 0, 85, 2, 4, 0, 27, 0,163, 1, 2, 0, 4, 0,175, 10, 4, 0,176, 10,164, 1, 16, 0, + 2, 0,150, 8, 2, 0,151, 8, 2, 0, 76, 5, 2, 0,177, 10, 2, 0,178, 10, 2, 0, 67, 0, 2, 0, 50, 7, 2, 0,179, 10, + 7, 0, 1, 3, 7, 0,180, 10, 7, 0,181, 10, 2, 0,110, 1, 0, 0,182, 10, 0, 0,161, 10, 4, 0,183, 10, 4, 0,184, 10, +165, 1, 9, 0, 7, 0,185, 10, 7, 0,186, 10, 7, 0,159, 9, 7, 0, 99, 3, 7, 0,187, 10, 7, 0,225, 6, 2, 0, 97, 3, + 0, 0,188, 10, 0, 0, 27, 0,166, 1, 4, 0, 7, 0,189, 10, 7, 0,190, 10, 2, 0, 97, 3, 2, 0, 27, 0,167, 1, 3, 0, + 7, 0,191, 10, 7, 0,222, 8, 7, 0, 14, 0,168, 1, 4, 0, 0, 0, 35, 0,205, 0, 87, 5, 4, 0,128, 0, 4, 0,137, 4, +169, 1, 6, 0, 0, 0,192, 10,205, 0,193, 10, 4, 0,128, 0, 4, 0,137, 4, 4, 0,194, 10, 4, 0, 27, 0,170, 1, 7, 0, + 2, 0,195, 10, 2, 0,196, 10, 4, 0, 66, 0, 0, 0, 82, 4,205, 0,193, 10, 0, 0,197, 10, 0, 0,178, 6,171, 1, 9, 0, + 7, 0,198, 10, 7, 0,199, 10, 7, 0,200, 10, 7, 0, 96, 2, 7, 0,201, 10, 7, 0,202, 10, 7, 0,203, 10, 2, 0,204, 10, + 2, 0,205, 10,172, 1, 8, 0, 2, 0,206, 10, 2, 0,207, 10, 2, 0,208, 10, 2, 0,209, 10, 7, 0,210, 10, 7, 0,211, 10, + 7, 0,212, 10, 7, 0,213, 10,173, 1, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0,174, 1, 2, 0, 0, 0,169, 0, 0, 0,214, 10, +175, 1, 1, 0, 0, 0, 19, 0,176, 1, 12, 0, 0, 0,215, 10, 0, 0,216, 10, 0, 0,216, 6, 0, 0,217, 10, 2, 0, 76, 5, + 2, 0,218, 10, 7, 0,219, 10, 7, 0,220, 10, 7, 0,221, 10, 7, 0,153, 3, 7, 0,174, 10, 7, 0,222, 10,177, 1, 2, 0, + 11, 0,223, 10, 11, 0,224, 10,178, 1, 13, 0, 0, 0, 79, 5, 0, 0, 16, 0, 0, 0, 97, 3, 0, 0, 99, 3, 0, 0,216, 10, + 0, 0,107, 0, 0, 0,186, 2, 7, 0,225, 10, 7, 0,226, 10, 7, 0,152, 3, 7, 0,227, 10, 7, 0,228, 10, 7, 0,222, 10, +179, 1, 8, 0, 7, 0, 57, 9, 7, 0,127, 0, 7, 0,161, 10, 7, 0,177, 2, 7, 0,229, 10, 7, 0,239, 0, 7, 0,230, 10, + 4, 0, 16, 0,180, 1, 4, 0, 2, 0,231, 10, 2, 0,232, 10, 2, 0,233, 10, 2, 0, 27, 0,181, 1, 8, 0, 7, 0,234, 10, + 7, 0,225, 2, 7, 0,235, 10, 7, 0,200, 8, 7, 0,201, 8, 7, 0,202, 8, 7, 0,236, 10, 7, 0,237, 10,182, 1, 6, 0, + 2, 0,238, 10, 2, 0,239, 10, 7, 0,240, 10, 7, 0,241, 10, 7, 0,242, 10, 7, 0,243, 10,183, 1, 2, 0, 58, 0,244, 10, + 59, 0,245, 10,184, 1, 3, 0,183, 1, 86, 6, 7, 0,246, 10, 7, 0,247, 10,185, 1, 3, 0,183, 1, 86, 6, 4, 0,248, 10, + 4, 0, 27, 0,186, 1, 1, 0,183, 1, 86, 6,187, 1, 3, 0,183, 1, 86, 6, 4, 0,248, 10, 4, 0,249, 10,188, 1, 3, 0, +183, 1, 86, 6, 4, 0,250, 10, 4, 0, 27, 0,189, 1, 1, 0,183, 1, 86, 6,190, 1, 3, 0,183, 1, 86, 6, 4, 0,251, 10, + 4, 0, 27, 0,191, 1, 3, 0,183, 1, 86, 6, 4, 0,252, 10, 4, 0, 27, 0,192, 1, 3, 0,183, 1, 86, 6, 4, 0,253, 10, + 4, 0, 27, 0,193, 1, 3, 0,183, 1, 86, 6, 4, 0,250, 0, 4, 0, 27, 0,194, 1, 1, 0, 0, 0, 19, 0,195, 1, 1, 0, + 0, 0, 19, 0,196, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 2, 0, 18, 0, 2, 0,254, 10,197, 1, 10, 0, 2, 0, 67, 4, + 2, 0, 18, 0, 7, 0,222, 4, 7, 0,255, 10, 7, 0, 0, 11, 7, 0, 1, 11, 7, 0, 2, 11,196, 1, 3, 11,196, 1, 4, 11, +196, 1, 5, 11, 54, 0, 11, 0, 4, 0, 18, 0, 4, 0, 62, 0, 4, 0, 6, 11, 4, 0, 7, 11, 19, 0, 8, 11, 19, 0, 9, 11, +197, 1, 10, 11, 7, 0, 11, 11, 7, 0, 12, 11, 7, 0, 13, 11, 7, 0, 14, 11, 1, 1, 10, 0, 4, 0, 7, 10, 4, 0, 15, 11, + 7, 0, 16, 11, 7, 0, 17, 11, 7, 0, 18, 11, 7, 0, 19, 11, 7, 0, 9, 0, 7, 0, 11, 0, 4, 0, 87, 1, 4, 0, 6, 3, + 0, 1, 18, 0, 4, 0,131, 0, 4, 0, 20, 11, 4, 0, 21, 11, 7, 0, 22, 11, 4, 0, 23, 11, 7, 0, 24, 11, 7, 0, 25, 11, + 4, 0, 26, 11, 7, 0, 27, 11, 4, 0, 28, 11, 7, 0, 29, 11, 1, 1, 30, 11, 7, 0, 31, 11, 7, 0, 32, 11, 7, 0, 33, 11, + 7, 0, 34, 11, 4, 0, 35, 11, 4, 0, 27, 0,198, 1, 4, 0, 42, 0,249, 2, 7, 0, 36, 11, 7, 0,181, 1, 7, 0, 27, 0, +214, 0, 36, 0, 22, 0, 32, 0,198, 1, 37, 11, 54, 0, 3, 11, 46, 0, 38, 11,214, 0, 39, 11, 52, 0, 40, 11, 25, 0,153, 0, + 0, 0, 41, 11, 7, 0, 42, 11, 2, 0,116, 6, 2, 0, 43, 11, 7, 0, 43, 2, 4, 0,107, 0, 4, 0, 18, 0, 7, 0, 44, 11, + 4, 0, 93, 2, 4, 0, 45, 11, 7, 0, 46, 11, 7, 0, 47, 11, 7, 0, 48, 11, 7, 0,181, 1, 4, 0, 49, 11, 7, 0, 50, 11, + 0, 0, 51, 11, 0, 0, 52, 11, 0, 0, 53, 11, 0, 0, 54, 11, 7, 0, 55, 11, 7, 0, 56, 11, 7, 0, 57, 11, 7, 0, 6, 3, + 7, 0, 58, 11, 4, 0, 59, 11, 7, 0,248, 5, 7, 0, 60, 11, 7, 0, 61, 11,199, 1, 10, 0, 4, 0, 16, 0, 4, 0,127, 0, + 4, 0, 18, 0, 4, 0, 20, 4, 4, 0, 62, 11, 4, 0, 63, 11, 4, 0, 64, 11, 4, 0, 69, 0, 0, 0, 19, 0, 11, 0, 2, 0, +200, 1, 1, 0, 0, 0, 79, 7, 95, 0, 8, 0,199, 1, 65, 11, 4, 0, 66, 11, 4, 0, 67, 11, 4, 0, 68, 11, 4, 0, 69, 11, + 4, 0, 30, 0, 11, 0, 70, 11,200, 1, 71, 11,201, 1, 5, 0, 7, 0,170, 2, 7, 0,245, 2, 7, 0, 43, 2, 2, 0,152, 2, + 2, 0, 27, 0,202, 1, 5, 0, 7, 0,170, 2, 7, 0,164, 4, 7, 0, 72, 11, 7, 0, 73, 11, 7, 0,245, 2,203, 1, 5, 0, + 27, 0, 74, 11,204, 1, 21, 0, 7, 0, 82, 6, 7, 0, 75, 11, 7, 0, 55, 0,205, 1, 3, 0, 7, 0, 76, 11, 4, 0, 77, 11, + 4, 0, 78, 11,206, 1, 7, 0, 4, 0, 79, 11, 4, 0, 80, 11, 4, 0, 81, 11, 7, 0, 82, 11, 7, 0, 83, 11, 7, 0, 84, 11, + 7, 0, 55, 0,207, 1, 8, 0,207, 1, 0, 0,207, 1, 1, 0, 27, 0, 43, 0, 4, 0, 3, 1, 2, 0, 18, 0, 2, 0, 87, 1, + 7, 0,245, 2, 7, 0, 65, 9,208, 1, 7, 0,208, 1, 0, 0,208, 1, 1, 0, 27, 0, 43, 0, 2, 0,230, 2, 2, 0, 18, 0, + 2, 0, 17, 2, 2, 0, 55, 0,209, 1, 17, 0,202, 1, 13, 4,202, 1, 85, 11,201, 1, 86, 11,202, 1, 48, 9,203, 1, 87, 11, + 4, 0, 81, 0, 7, 0,245, 2, 7, 0, 12, 3, 7, 0, 88, 11, 4, 0, 79, 11, 4, 0, 89, 11, 7, 0, 83, 11, 7, 0, 84, 11, + 7, 0,107, 0, 4, 0, 90, 11, 2, 0, 18, 0, 2, 0, 91, 11,210, 1, 15, 0, 7, 0,255, 0, 7, 0, 92, 11, 7, 0, 76, 11, + 7, 0, 93, 11, 7, 0, 94, 11, 7, 0, 95, 11, 7, 0, 96, 11, 7, 0, 97, 11, 7, 0, 98, 11, 7, 0, 99, 11, 7, 0,100, 11, + 7, 0,101, 11, 7, 0,102, 11, 4, 0, 18, 0, 4, 0,103, 11,211, 1,128, 0, 22, 0, 32, 0, 34, 0, 74, 0,212, 1,104, 11, +210, 1,105, 11,188, 0,159, 4, 4, 0, 18, 0, 4, 0, 55, 0, 2, 0, 16, 0, 2, 0, 67, 10, 2, 0,106, 11, 2, 0,124, 1, + 2, 0,107, 11, 2, 0,237, 3, 2, 0,108, 11, 2, 0,109, 11, 2, 0,110, 11, 2, 0,111, 11, 2, 0,112, 11, 2, 0,113, 11, + 2, 0,114, 11, 2, 0,115, 11, 2, 0,116, 11, 2, 0,232, 5, 2, 0,117, 11, 2, 0,118, 11, 2, 0,119, 11, 2, 0,120, 11, + 2, 0,121, 11, 2, 0, 32, 2, 2, 0, 41, 9, 2, 0, 16, 9, 2, 0,122, 11, 2, 0,123, 11, 2, 0, 30, 4, 2, 0, 31, 4, + 2, 0,124, 11, 2, 0,125, 11, 2, 0,126, 11, 2, 0,127, 11, 7, 0,128, 11, 7, 0,129, 11, 7, 0,130, 11, 7, 0,131, 11, + 7, 0,132, 11, 7, 0,133, 11, 7, 0,134, 11, 2, 0,161, 5, 2, 0,135, 11, 7, 0,136, 11, 7, 0,137, 11, 7, 0,138, 11, + 7, 0, 23, 9, 7, 0, 90, 0, 7, 0, 12, 3, 7, 0, 29, 9, 7, 0,139, 11, 7, 0,140, 11, 7, 0,141, 11, 7, 0,142, 11, + 7, 0,143, 11, 7, 0,144, 11, 4, 0, 24, 9, 4, 0, 22, 9, 4, 0,145, 11, 4, 0,146, 11, 2, 0,147, 11, 2, 0,148, 11, + 7, 0, 25, 9, 7, 0, 26, 9, 7, 0, 27, 9, 7, 0,149, 11, 7, 0,150, 11, 7, 0,151, 11, 7, 0,152, 11, 7, 0,153, 11, + 7, 0,154, 11, 7, 0,155, 11, 7, 0,156, 11, 7, 0,157, 11, 7, 0,227, 3, 7, 0,107, 0, 7, 0,158, 11, 7, 0,159, 11, + 7, 0,160, 11, 7, 0,161, 11, 7, 0,213, 0, 7, 0,162, 11, 4, 0,163, 11, 4, 0,164, 11, 7, 0,165, 11, 7, 0,166, 11, + 7, 0,167, 11, 7, 0,168, 11, 7, 0,169, 11, 7, 0,212, 0, 7, 0,170, 11, 7, 0, 57, 4, 7, 0, 55, 4, 7, 0, 56, 4, + 7, 0,171, 11, 7, 0,172, 11, 7, 0,173, 11, 7, 0,174, 11, 7, 0,175, 11, 7, 0,176, 11, 7, 0,177, 11, 7, 0,178, 11, + 7, 0,179, 11, 7, 0,180, 11, 7, 0,181, 11, 7, 0,182, 11, 7, 0,183, 11, 7, 0,184, 11, 7, 0,185, 11, 7, 0,186, 11, + 7, 0,187, 11, 7, 0,188, 11, 4, 0,189, 11, 4, 0,190, 11, 46, 0,143, 1, 64, 0, 5, 4, 14, 0,191, 11, 64, 0,192, 11, + 27, 0,193, 11, 27, 0,194, 11, 31, 0, 79, 0,183, 0, 73, 1,183, 0,195, 11,151, 0, 52, 0,151, 0, 0, 0,151, 0, 1, 0, +211, 1,196, 11,209, 1,197, 11,206, 1,226, 9,191, 0, 85, 4, 11, 0, 86, 4,213, 1,198, 11,213, 1,199, 11, 14, 0,200, 11, + 14, 0,201, 11,136, 0,202, 11,144, 0,203, 11,144, 0,204, 11, 27, 0,205, 11, 27, 0,206, 11, 27, 0, 37, 0, 14, 0, 34, 10, + 0, 0, 19, 0, 7, 0,244, 0, 7, 0, 41, 3, 7, 0,207, 11, 7, 0,208, 11, 4, 0,219, 2, 4, 0,209, 11, 4, 0, 18, 0, + 4, 0, 24, 9, 4, 0,210, 11, 4, 0,211, 11, 4, 0,212, 11, 4, 0,213, 11, 2, 0,251, 0, 2, 0,214, 11, 2, 0,215, 11, + 2, 0,216, 11, 0, 0,217, 11, 2, 0,218, 11, 2, 0,219, 11, 2, 0,220, 11, 11, 0,221, 11,140, 0,158, 4, 14, 0, 26, 3, + 14, 0,222, 11,205, 1,223, 11, 4, 0,224, 11, 4, 0,225, 11,214, 1,226, 11,142, 0, 38, 3,215, 1,227, 11, 7, 0,228, 11, + 7, 0,229, 11, 7, 0,230, 11,138, 0, 38, 0,216, 1,160, 9, 7, 0,128, 4, 7, 0,231, 11, 7, 0,232, 11, 7, 0, 82, 6, + 7, 0,241, 3, 7, 0,227, 3, 7, 0,233, 11, 7, 0, 95, 2, 7, 0,234, 11, 7, 0,235, 11, 7, 0,236, 11, 7, 0,237, 11, + 7, 0,238, 11, 7, 0,239, 11, 7, 0,129, 4, 7, 0,240, 11, 7, 0,241, 11, 7, 0,242, 11, 7, 0,130, 4, 7, 0,126, 4, + 7, 0,127, 4, 7, 0,243, 11, 7, 0,244, 11, 7, 0,245, 11, 4, 0,246, 11, 4, 0, 91, 0, 4, 0,247, 11, 4, 0,248, 11, + 2, 0,249, 11, 2, 0,250, 11, 2, 0,251, 11, 2, 0,252, 11, 2, 0,253, 11, 2, 0,254, 11, 2, 0,255, 11, 2, 0, 27, 0, +188, 0,159, 4,139, 0, 11, 0,216, 1, 0, 12, 7, 0, 1, 12, 7, 0, 2, 12, 7, 0,254, 1, 7, 0, 3, 12, 7, 0, 4, 12, + 7, 0, 5, 12, 4, 0, 91, 0, 2, 0, 6, 12, 2, 0, 7, 12, 64, 0,253, 1,217, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, + 7, 0, 7, 0, 7, 0, 8, 12,218, 1, 6, 0,218, 1, 0, 0,218, 1, 1, 0,217, 1,202, 9, 4, 0, 1, 1, 2, 0, 9, 12, + 2, 0, 18, 0,219, 1, 5, 0,219, 1, 0, 0,219, 1, 1, 0, 14, 0, 10, 12, 4, 0, 11, 12, 4, 0, 18, 0,220, 1, 9, 0, +220, 1, 0, 0,220, 1, 1, 0, 14, 0,126, 0,219, 1, 12, 12, 4, 0, 18, 0, 2, 0, 9, 12, 2, 0, 13, 12, 7, 0, 92, 0, + 0, 0, 14, 12,179, 0, 6, 0, 22, 0, 32, 0, 14, 0,130, 5, 4, 0, 18, 0, 2, 0, 15, 12, 2, 0, 16, 12, 11, 0, 17, 12, +221, 1, 6, 0, 14, 0, 18, 12, 4, 0, 19, 12, 4, 0, 20, 12, 4, 0, 18, 0, 4, 0, 27, 0,238, 0, 21, 12,222, 1, 19, 0, + 22, 0, 32, 0,223, 1, 22, 12,223, 1, 23, 12, 14, 0, 24, 12, 4, 0, 25, 12, 2, 0, 26, 12, 2, 0, 27, 12, 14, 0, 28, 12, + 14, 0, 29, 12,221, 1, 30, 12, 14, 0, 31, 12, 14, 0, 32, 12, 14, 0, 33, 12, 14, 0, 34, 12,224, 1, 35, 12,224, 1, 36, 12, +224, 1, 37, 12, 14, 0, 38, 12,238, 0, 39, 12,223, 1, 32, 0,223, 1, 0, 0,223, 1, 1, 0, 11, 0, 40, 12, 4, 0,128, 8, + 2, 0, 41, 12, 2, 0, 27, 0, 28, 1, 42, 12, 28, 1, 43, 12, 0, 0, 44, 12, 2, 0, 45, 12, 2, 0, 46, 12, 2, 0,150, 8, + 2, 0,151, 8, 2, 0, 47, 12, 2, 0, 48, 12, 2, 0, 20, 4, 2, 0, 60, 7, 2, 0, 49, 12, 2, 0, 50, 12, 2, 0, 51, 12, + 2, 0, 30, 0,225, 1, 52, 12,226, 1, 53, 12,227, 1, 54, 12, 4, 0, 55, 12, 4, 0, 56, 12, 11, 0, 57, 12, 14, 0, 29, 12, + 14, 0,170, 8, 14, 0, 58, 12, 14, 0, 59, 12, 14, 0, 60, 12,228, 1, 18, 0,228, 1, 0, 0,228, 1, 1, 0, 0, 0, 61, 12, + 21, 0, 31, 0, 0, 0, 62, 12, 2, 0, 63, 12, 2, 0, 16, 0, 2, 0, 14, 0, 2, 0, 64, 12, 2, 0, 65, 12, 2, 0, 66, 12, + 2, 0, 67, 12, 2, 0, 68, 12, 2, 0, 18, 0, 2, 0, 69, 12, 2, 0, 32, 0, 2, 0, 27, 0,229, 1, 70, 12,230, 1, 4, 0, +230, 1, 0, 0,230, 1, 1, 0,228, 1, 71, 12,228, 1, 72, 12,231, 1, 11, 0,231, 1, 0, 0,231, 1, 1, 0, 14, 0, 73, 12, + 14, 0, 74, 12, 0, 0, 61, 12, 2, 0, 75, 12, 2, 0, 76, 12, 2, 0, 18, 0, 2, 0, 77, 12, 4, 0, 78, 12, 11, 0, 79, 12, +224, 1, 7, 0,224, 1, 0, 0,224, 1, 1, 0, 0, 0, 61, 12, 0, 0, 80, 12, 14, 0, 68, 8, 4, 0, 81, 12, 4, 0, 18, 0, +250, 0, 14, 0,250, 0, 0, 0,250, 0, 1, 0, 0, 0, 61, 12, 21, 0, 31, 0,232, 1,144, 8, 11, 0, 82, 12, 11, 0, 83, 12, +229, 1, 70, 12,221, 1, 84, 12, 14, 0, 85, 12,250, 0, 86, 12, 33, 1,246, 6, 2, 0, 18, 0, 2, 0, 86, 1,233, 1, 12, 0, +233, 1, 0, 0,233, 1, 1, 0, 11, 0, 2, 0, 11, 0, 87, 12, 0, 0, 19, 0, 2, 0, 16, 0, 2, 0, 18, 0, 7, 0,148, 9, + 7, 0,128, 0, 7, 0,137, 4, 7, 0, 98, 9, 7, 0, 90, 10,234, 1, 5, 0, 7, 0, 88, 12, 4, 0, 89, 12, 4, 0, 90, 12, + 4, 0, 87, 1, 4, 0, 18, 0,235, 1, 6, 0, 7, 0, 91, 12, 7, 0, 92, 12, 7, 0, 93, 12, 7, 0, 94, 12, 4, 0, 16, 0, + 4, 0, 18, 0,236, 1, 5, 0, 7, 0,126, 9, 7, 0,127, 9, 7, 0,245, 2, 2, 0, 46, 2, 2, 0, 47, 2,237, 1, 5, 0, +236, 1, 2, 0, 4, 0, 52, 0, 7, 0, 95, 12, 7, 0,126, 9, 7, 0,127, 9,238, 1, 4, 0, 2, 0, 96, 12, 2, 0, 97, 12, + 2, 0, 98, 12, 2, 0, 99, 12,239, 1, 2, 0, 37, 0, 44, 7, 21, 0,166, 9,240, 1, 3, 0, 19, 0,100, 12, 4, 0, 18, 0, + 4, 0, 27, 0,241, 1, 6, 0, 7, 0,107, 0, 7, 0,214, 2, 7, 0,101, 12, 7, 0, 27, 0, 2, 0,250, 0, 2, 0,102, 12, +242, 1, 5, 0, 7, 0,103, 12, 7, 0,127, 0, 7, 0,203, 9, 7, 0,204, 9, 4, 0, 18, 0,243, 1, 6, 0, 22, 0, 49, 7, + 0, 0,104, 12, 0, 0,105, 12, 2, 0,106, 12, 2, 0, 18, 0, 4, 0,107, 12,244, 1, 7, 0,244, 1, 0, 0,244, 1, 1, 0, + 0, 0, 19, 0,243, 1,108, 12, 2, 0,109, 12, 2, 0, 16, 0, 7, 0, 59, 0,245, 1, 7, 0, 14, 0,110, 12, 0, 0,111, 12, + 11, 0,112, 12, 7, 0, 59, 0, 7, 0,148, 9, 4, 0, 16, 0, 4, 0, 18, 0,246, 1, 3, 0, 7, 0,113, 12, 4, 0, 18, 0, + 4, 0, 27, 0,247, 1, 15, 0,247, 1, 0, 0,247, 1, 1, 0,107, 1, 21, 10,245, 1, 60, 0, 14, 0,193, 3, 30, 0, 48, 0, +246, 1,114, 12, 4, 0, 52, 0, 7, 0, 59, 0, 2, 0, 18, 0, 2, 0, 22, 1, 4, 0,115, 12, 0, 0,104, 12, 4, 0,116, 12, + 7, 0,118, 10,248, 1, 2, 0, 0, 0,117, 12, 0, 0,118, 12,249, 1, 4, 0,249, 1, 0, 0,249, 1, 1, 0,177, 0, 75, 3, + 14, 0,119, 12,250, 1, 25, 0,250, 1, 0, 0,250, 1, 1, 0, 14, 0,120, 12,177, 0, 96, 9,249, 1,121, 12, 14, 0,122, 12, + 14, 0,193, 3, 0, 0, 19, 0, 7, 0,148, 9, 7, 0,123, 12, 7, 0, 89, 0, 7, 0, 90, 0, 7, 0, 86, 10, 7, 0, 87, 10, + 7, 0, 2, 3, 7, 0,153, 3, 7, 0, 98, 9, 7, 0, 90, 10, 2, 0,124, 12, 2, 0,125, 12, 2, 0, 66, 0, 2, 0, 16, 0, + 11, 0,126, 12, 4, 0, 18, 0, 4, 0, 30, 0,251, 1, 6, 0,251, 1, 0, 0,251, 1, 1, 0, 14, 0,120, 12, 4, 0, 18, 0, + 4, 0, 17, 2, 0, 0, 19, 0,252, 1, 11, 0,252, 1, 0, 0,252, 1, 1, 0, 22, 0, 49, 7, 0, 0,127, 12, 4, 0,107, 12, + 2, 0,128, 12, 2, 0, 27, 0, 0, 0,104, 12, 4, 0,115, 12, 2, 0, 18, 0, 2, 0,129, 12,253, 1, 10, 0,253, 1, 0, 0, +253, 1, 1, 0, 14, 0,130, 12, 0, 0, 61, 12, 0, 0, 19, 0, 0, 0,131, 12, 0, 0,132, 12, 2, 0, 18, 0, 2, 0,129, 12, + 4, 0,133, 12,254, 1, 5, 0,254, 1, 0, 0,254, 1, 1, 0, 0, 0,104, 12, 4, 0,115, 12, 7, 0,235, 2, 34, 0, 12, 0, +177, 0,184, 3,177, 0,134, 12,249, 1,121, 12, 14, 0,135, 12,250, 1,136, 12, 14, 0,137, 12, 14, 0,138, 12, 4, 0, 18, 0, + 4, 0,251, 0, 2, 0,139, 12, 2, 0,140, 12, 7, 0,141, 12,255, 1, 2, 0, 22, 0, 32, 0, 34, 0, 74, 0, 0, 2, 5, 0, + 0, 2, 0, 0, 0, 2, 1, 0, 4, 0, 16, 0, 4, 0, 18, 0, 0, 0,179, 5, 1, 2, 6, 0, 0, 2,142, 12, 27, 0, 43, 0, + 4, 0,143, 12, 7, 0,144, 12, 4, 0,145, 12, 4, 0, 7, 10, 2, 2, 3, 0, 0, 2,142, 12, 4, 0,143, 12, 7, 0,146, 12, + 3, 2, 8, 0, 0, 2,142, 12, 27, 0, 43, 0, 7, 0, 77, 1, 7, 0,147, 12, 7, 0, 41, 3, 7, 0,159, 9, 4, 0,143, 12, + 4, 0,148, 12, 4, 2, 5, 0, 0, 2,142, 12, 7, 0,149, 12, 7, 0,181, 2, 7, 0, 8, 3, 7, 0, 55, 0, 5, 2, 3, 0, + 0, 2,142, 12, 7, 0,159, 9, 7, 0,150, 12,204, 1, 4, 0, 7, 0,151, 12, 7, 0,159, 11, 2, 0,152, 12, 2, 0, 87, 1, + 6, 2, 14, 0, 6, 2, 0, 0, 6, 2, 1, 0, 14, 0,153, 12, 14, 0,154, 12, 14, 0,155, 12, 0, 0,179, 5, 4, 0, 32, 0, + 4, 0, 18, 0, 4, 0,156, 12, 7, 0,157, 12, 4, 0,145, 12, 4, 0, 7, 10, 7, 0, 89, 4, 7, 0, 10, 3,212, 1, 23, 0, + 4, 0,143, 12, 4, 0,158, 12, 7, 0,159, 12, 7, 0, 6, 3, 7, 0,160, 12, 7, 0,239, 8, 7, 0,151, 12, 7, 0,161, 12, + 7, 0,214, 2, 7, 0, 22, 11, 7, 0,222, 4, 7, 0,162, 12, 7, 0,163, 12, 7, 0,164, 12, 7, 0,165, 12, 7, 0,166, 12, + 7, 0,167, 12, 7, 0,168, 12, 7, 0,169, 12, 7, 0,170, 12, 7, 0,171, 12, 7, 0,172, 12, 14, 0,173, 12,124, 0, 40, 0, +123, 0,174, 12, 7, 2,105, 11, 64, 0,175, 12, 64, 0,192, 11, 64, 0,176, 12, 8, 2,177, 12, 43, 0,168, 0, 43, 0,178, 12, + 43, 0,179, 12, 7, 0,180, 12, 7, 0,181, 12, 7, 0,182, 12, 7, 0,183, 12, 7, 0,184, 12, 7, 0,127, 8, 7, 0,185, 12, + 7, 0,181, 1, 7, 0,186, 12, 4, 0,187, 12, 4, 0,188, 12, 4, 0,189, 12, 4, 0, 91, 0, 4, 0, 27, 0, 4, 0,190, 12, + 2, 0,191, 12, 2, 0,192, 12, 4, 0,193, 12, 7, 0,214, 2, 4, 0,194, 12, 7, 0,195, 12, 4, 0,196, 12, 4, 0,197, 12, + 4, 0,198, 12,140, 0,199, 12, 14, 0,200, 12,188, 0,159, 4, 4, 0,201, 12, 7, 0,202, 12, 7, 0,203, 12, 4, 0, 30, 0, +125, 0, 12, 0,123, 0,174, 12,151, 0, 61, 3, 7, 0,146, 1, 7, 0,127, 8, 7, 0,204, 12, 7, 0,205, 12, 7, 0,206, 12, + 2, 0,207, 12, 2, 0,208, 12, 2, 0,209, 12, 2, 0, 16, 0, 4, 0, 91, 0,126, 0, 15, 0,123, 0,174, 12,142, 0, 38, 3, + 7, 0,202, 9, 7, 0,210, 12, 7, 0,211, 12, 4, 0,212, 12, 7, 0, 79, 1, 7, 0,213, 12, 4, 0, 43, 10, 4, 0, 34, 3, + 4, 0,214, 12, 7, 0,183, 12, 2, 0, 16, 0, 2, 0, 27, 0, 4, 0, 30, 0, 9, 2, 15, 0, 22, 0, 32, 0, 34, 0, 74, 0, + 47, 1,237, 8, 7, 0,215, 12, 7, 0,216, 12, 7, 0,217, 12, 7, 0,218, 12, 7, 0,158, 9, 7, 0,219, 12, 7, 0,220, 12, + 7, 0,221, 12, 7, 0, 89, 4, 7, 0,239, 8, 2, 0, 18, 0, 2, 0,122, 9,232, 0, 3, 0, 4, 0,125, 0, 2, 0,222, 6, + 2, 0,222, 12, 10, 2, 5, 0, 0, 0,203, 8, 2, 0,204, 8, 2, 0, 79, 5, 2, 0,223, 12, 2, 0,224, 12,230, 0, 16, 0, + 22, 0, 32, 0, 34, 0, 74, 0, 0, 0, 35, 0, 4, 0,142, 0, 4, 0,143, 0, 4, 0,225, 12, 7, 0,161, 0, 7, 0,162, 0, + 44, 0,137, 0, 11, 2,160, 9,179, 0,187, 3, 12, 2,226, 12, 11, 0,227, 12, 10, 2,228, 12, 4, 0, 18, 0, 4, 0, 22, 0, + 14, 1, 10, 0, 4, 0,131, 0, 4, 0,229, 12, 52, 0,230, 12, 7, 0,231, 12, 2, 0,232, 12, 0, 0,186, 2, 4, 0,125, 0, + 13, 2,180, 3, 14, 2,233, 12, 7, 0,234, 12, 15, 2, 3, 0, 4, 0,125, 0, 7, 0,235, 12, 7, 0, 79, 1, 16, 2, 11, 0, + 11, 0,236, 12, 7, 0,237, 12, 7, 0,238, 12, 7, 0, 27, 0, 7, 0,239, 12, 2, 0,240, 12, 2, 0, 66, 0, 7, 0,241, 12, + 7, 0,242, 12, 7, 0,243, 12, 7, 0,244, 12, 14, 2, 3, 0, 7, 0,245, 12, 4, 0,125, 0, 4, 0, 18, 0, 13, 2, 24, 0, + 13, 2, 0, 0, 13, 2, 1, 0, 0, 0, 19, 0, 7, 0,246, 12, 7, 0,247, 12, 7, 0,248, 12, 7, 0,249, 12, 7, 0, 36, 11, + 4, 0,250, 12, 4, 0,251, 12, 14, 2,252, 12, 7, 0,253, 12, 7, 0,235, 12, 4, 0, 18, 0, 4, 0,254, 12, 4, 0,255, 12, + 7, 0,118, 10, 2, 0, 0, 13, 2, 0,232, 3, 2, 0, 1, 13, 2, 0, 2, 13, 2, 0, 3, 13, 2, 0, 30, 0, 7, 0, 4, 13, + 17, 2, 22, 0, 4, 0, 18, 0, 2, 0, 5, 13, 2, 0, 6, 13, 7, 0, 7, 13, 2, 0, 8, 13, 2, 0, 9, 13, 2, 0, 10, 13, + 2, 0, 11, 13, 2, 0, 12, 13, 2, 0, 13, 13, 2, 0, 14, 13, 2, 0, 8, 3, 4, 0, 15, 13, 4, 0, 16, 13, 2, 0, 17, 13, + 2, 0, 30, 0, 7, 0, 94, 1, 4, 0, 18, 13, 4, 0, 19, 13, 7, 0, 20, 13, 7, 0, 21, 13, 4, 0,250, 1, 18, 2, 12, 0, + 4, 0, 18, 0, 4, 0, 22, 13, 4, 0, 23, 13, 7, 0, 24, 13, 13, 2, 25, 13, 7, 0, 26, 13, 7, 0, 27, 13, 7, 0, 28, 13, + 4, 0,193, 1, 4, 0,131, 0, 7, 0,153, 3, 52, 0, 29, 13, 19, 2, 5, 0, 4, 0, 18, 0, 7, 0,235, 12, 4, 0, 30, 13, + 4, 0, 31, 13, 15, 2, 32, 13, 20, 2, 7, 0, 20, 2, 0, 0, 20, 2, 1, 0, 0, 0, 19, 0, 4, 0, 18, 0, 7, 0,153, 3, + 14, 0, 33, 13, 19, 2, 34, 13, 21, 2, 1, 0, 0, 0, 35, 13, 22, 2, 8, 0, 22, 2, 0, 0, 22, 2, 1, 0, 13, 2,180, 3, + 4, 0, 27, 0, 4, 0, 36, 13, 4, 0, 37, 13, 4, 0, 38, 13, 4, 0, 39, 13, 23, 2, 6, 0, 4, 0,131, 0, 4, 0, 27, 0, + 14, 0, 7, 10, 4, 0, 40, 13, 2, 0, 41, 13, 2, 0, 42, 13, 12, 2, 11, 0, 17, 2, 43, 13, 16, 2, 44, 13, 14, 0, 33, 13, + 19, 2, 34, 13, 18, 2, 45, 13, 13, 2, 46, 13, 14, 0, 47, 13, 4, 0, 48, 13, 4, 0, 49, 13, 21, 2, 97, 6, 23, 2, 50, 13, + 24, 2, 48, 0, 24, 2, 0, 0, 24, 2, 1, 0,170, 0,150, 3, 25, 2, 2, 0, 64, 0, 51, 13,188, 0,159, 4,140, 0,158, 4, + 14, 0, 26, 3, 4, 0, 52, 13, 0, 0, 19, 0, 2, 0,193, 10, 2, 0, 16, 0, 2, 0, 53, 13, 2, 0, 54, 13, 2, 0, 55, 13, + 2, 0, 56, 13, 2, 0, 57, 13, 2, 0, 58, 13, 4, 0, 91, 0, 4, 0,191, 3, 4, 0, 59, 13, 4, 0, 60, 13, 4, 0,203, 9, + 4, 0,204, 9, 4, 0, 27, 0, 7, 0, 61, 13, 47, 0, 62, 13, 0, 0, 63, 13, 4, 0, 64, 13, 4, 0,193, 12, 7, 0, 65, 13, + 7, 0, 66, 13, 7, 0, 67, 13, 7, 0, 68, 13, 7, 0, 69, 13, 7, 0, 70, 13, 7, 0, 71, 13, 7, 0, 72, 13, 7, 0, 73, 13, + 7, 0, 74, 13, 7, 0, 75, 13, 7, 0, 76, 13, 7, 0, 77, 13, 7, 0, 78, 13, 0, 0,207, 2, 0, 0, 79, 13, 0, 0, 80, 13, + 0, 0, 81, 13,170, 0, 7, 0,169, 0, 82, 13,144, 0, 40, 3, 14, 0, 83, 13, 2, 0, 84, 13, 2, 0, 91, 0, 4, 0, 27, 0, + 0, 0, 85, 13,171, 0, 24, 0,169, 0, 82, 13,144, 0, 40, 3,151, 0, 61, 3, 63, 0, 29, 2, 4, 0, 91, 0, 4, 0, 86, 13, + 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,181, 1, 7, 0, 87, 13, 7, 0, 88, 13, 7, 0, 89, 13, 7, 0, 90, 13, + 50, 0, 91, 13, 50, 0, 92, 13, 2, 0, 93, 13, 2, 0,253, 10, 2, 0, 94, 13, 2, 0, 27, 0, 7, 0, 95, 13, 7, 0, 96, 13, + 7, 0, 97, 13, 7, 0, 98, 13, 69, 78, 68, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c index 5c23aba9024..6ffe3f1feeb 100644 --- a/source/blender/editors/gpencil/gpencil_paint.c +++ b/source/blender/editors/gpencil/gpencil_paint.c @@ -214,7 +214,7 @@ static void gp_get_3d_reference(tGPsdata *p, float vec[3]) sub_v3_v3v3(vec, fp, ob->loc); } else -#endif +#endif { /* use 3D-cursor */ copy_v3_v3(vec, fp); diff --git a/source/blender/editors/include/ED_anim_api.h b/source/blender/editors/include/ED_anim_api.h index e79c7ba040f..6ababe2becb 100644 --- a/source/blender/editors/include/ED_anim_api.h +++ b/source/blender/editors/include/ED_anim_api.h @@ -511,7 +511,7 @@ short ANIM_fmodifiers_paste_from_buf(ListBase *modifiers, short replace); int getname_anim_fcurve(char *name, struct ID *id, struct FCurve *fcu); /* Automatically determine a color for the nth F-Curve */ -void getcolor_fcurve_rainbow(int cur, int tot, float *out); +void getcolor_fcurve_rainbow(int cur, int tot, float out[3]); /* ----------------- NLA-Mapping ----------------------- */ /* anim_draw.c */ diff --git a/source/blender/editors/include/ED_armature.h b/source/blender/editors/include/ED_armature.h index daf959b1f10..eb02fc97596 100644 --- a/source/blender/editors/include/ED_armature.h +++ b/source/blender/editors/include/ED_armature.h @@ -113,8 +113,8 @@ void ED_armature_deselect_all(struct Object *obedit, int toggle); void ED_armature_deselect_all_visible(struct Object *obedit); int ED_do_pose_selectbuffer(struct Scene *scene, struct Base *base, unsigned int *buffer, - short hits, short extend); -int mouse_armature(struct bContext *C, const int mval[2], int extend); + short hits, short extend, short deselect, short toggle); +int mouse_armature(struct bContext *C, const int mval[2], int extend, int deselect, int toggle); int join_armature_exec(struct bContext *C, struct wmOperator *op); struct Bone *get_indexed_bone(struct Object *ob, int index); float ED_rollBoneToVector(EditBone *bone, const float new_up_axis[3], const short axis_only); diff --git a/source/blender/editors/include/ED_curve.h b/source/blender/editors/include/ED_curve.h index b42a6e391ce..ac8d82e9060 100644 --- a/source/blender/editors/include/ED_curve.h +++ b/source/blender/editors/include/ED_curve.h @@ -65,7 +65,7 @@ void free_editNurb(struct Object *obedit); void BKE_curve_editNurb_free(struct Curve *cu); -int mouse_nurb(struct bContext *C, const int mval[2], int extend); +int mouse_nurb(struct bContext *C, const int mval[2], int extend, int deselect, int toggle); struct Nurb *add_nurbs_primitive(struct bContext *C, float mat[4][4], int type, int newob); diff --git a/source/blender/editors/include/ED_mball.h b/source/blender/editors/include/ED_mball.h index 89917f09284..b4b739e4d06 100644 --- a/source/blender/editors/include/ED_mball.h +++ b/source/blender/editors/include/ED_mball.h @@ -40,7 +40,7 @@ void ED_keymap_metaball(struct wmKeyConfig *keyconf); struct MetaElem *add_metaball_primitive(struct bContext *C, float mat[4][4], int type, int newname); -int mouse_mball(struct bContext *C, const int mval[2], int extend); +int mouse_mball(struct bContext *C, const int mval[2], int extend, int deselect, int toggle); void free_editMball(struct Object *obedit); void make_editMball(struct Object *obedit); diff --git a/source/blender/editors/include/ED_mesh.h b/source/blender/editors/include/ED_mesh.h index 7e84962b154..b2e8ecd09c9 100644 --- a/source/blender/editors/include/ED_mesh.h +++ b/source/blender/editors/include/ED_mesh.h @@ -156,7 +156,7 @@ void EDBM_automerge(struct Scene *scene, struct Object *ob, int update); /* editmesh_mods.c */ extern unsigned int bm_vertoffs, bm_solidoffs, bm_wireoffs; -int mouse_mesh(struct bContext *C, const int mval[2], short extend); +int mouse_mesh(struct bContext *C, const int mval[2], short extend, short deselect, short toggle); struct BMVert *editbmesh_get_x_mirror_vert(struct Object *ob, struct BMEditMesh *em, struct BMVert *eve, const float co[3], int index); int mesh_get_x_mirror_vert(struct Object *ob, int index); @@ -184,7 +184,7 @@ void EMBM_project_snap_verts(struct bContext *C, struct ARegion *ar, struct Obje /* editface.c */ void paintface_flush_flags(struct Object *ob); -int paintface_mouse_select(struct bContext *C, struct Object *ob, const int mval[2], int extend); +int paintface_mouse_select(struct bContext *C, struct Object *ob, const int mval[2], int extend, int deselect, int toggle); int do_paintface_box_select(struct ViewContext *vc, struct rcti *rect, int select, int extend); void paintface_deselect_all_visible(struct Object *ob, int action, short flush_flags); void paintface_select_linked(struct bContext *C, struct Object *ob, int mval[2], int mode); diff --git a/source/blender/editors/include/ED_node.h b/source/blender/editors/include/ED_node.h index 192236b7cb8..66e65d114cb 100644 --- a/source/blender/editors/include/ED_node.h +++ b/source/blender/editors/include/ED_node.h @@ -49,6 +49,7 @@ void ED_init_node_butfuncs(void); void ED_node_tree_update(struct SpaceNode *snode, struct Scene *scene); void ED_node_changed_update(struct ID *id, struct bNode *node); void ED_node_generic_update(struct Main *bmain, struct bNodeTree *ntree, struct bNode *node); +void ED_node_sort(struct bNodeTree *ntree); /* node_edit.c */ void ED_node_shader_default(struct Scene *scene, struct ID *id); @@ -57,7 +58,7 @@ void ED_node_texture_default(struct Tex *tex); void ED_node_link_intersect_test(struct ScrArea *sa, int test); void ED_node_link_insert(struct ScrArea *sa); -void ED_node_update_hierarchy(struct bContext *C, struct bNodeTree *ntree); +void ED_node_post_apply_transform(struct bContext *C, struct bNodeTree *ntree); void ED_node_set_active(struct Main *bmain, struct bNodeTree *ntree, struct bNode *node); /* node ops.c */ diff --git a/source/blender/editors/include/ED_object.h b/source/blender/editors/include/ED_object.h index 429dcb88c78..37ed8a6c7c8 100644 --- a/source/blender/editors/include/ED_object.h +++ b/source/blender/editors/include/ED_object.h @@ -152,7 +152,7 @@ void ED_object_constraint_update(struct Object *ob); void ED_object_constraint_dependency_update(struct Main *bmain, struct Scene *scene, struct Object *ob); /* object_lattice.c */ -int mouse_lattice(struct bContext *C, const int mval[2], int extend); +int mouse_lattice(struct bContext *C, const int mval[2], int extend, int deselect, int toggle); void undo_push_lattice(struct bContext *C, const char *name); /* object_lattice.c */ diff --git a/source/blender/editors/include/ED_particle.h b/source/blender/editors/include/ED_particle.h index 36e5ca5485f..0076b08da99 100644 --- a/source/blender/editors/include/ED_particle.h +++ b/source/blender/editors/include/ED_particle.h @@ -58,7 +58,7 @@ void PE_hide_keys_time(struct Scene *scene, struct PTCacheEdit *edit, float cfra void PE_update_object(struct Scene *scene, struct Object *ob, int useflag); /* selection tools */ -int PE_mouse_particles(struct bContext *C, const int mval[2], int extend); +int PE_mouse_particles(struct bContext *C, const int mval[2], int extend, int deselect, int toggle); int PE_border_select(struct bContext *C, struct rcti *rect, int select, int extend); int PE_circle_select(struct bContext *C, int selecting, const int mval[2], float rad); int PE_lasso_select(struct bContext *C, int mcords[][2], short moves, short extend, short select); diff --git a/source/blender/editors/include/ED_screen.h b/source/blender/editors/include/ED_screen.h index 2fc72f7e8da..464f2db30a2 100644 --- a/source/blender/editors/include/ED_screen.h +++ b/source/blender/editors/include/ED_screen.h @@ -113,10 +113,11 @@ void ED_screen_full_restore(struct bContext *C, ScrArea *sa); struct ScrArea *ED_screen_full_toggle(struct bContext *C, struct wmWindow *win, struct ScrArea *sa); /* anim */ -void ED_update_for_newframe(struct Main *bmain, struct Scene *scene, struct bScreen *screen, int mute); +void ED_update_for_newframe(struct Main *bmain, struct Scene *scene, int mute); void ED_refresh_viewport_fps(struct bContext *C); -int ED_screen_animation_play(struct bContext *C, int sync, int mode); +int ED_screen_animation_play(struct bContext *C, int sync, int mode); +bScreen *ED_screen_animation_playing(const struct wmWindowManager *wm); /* screen keymaps */ void ED_operatortypes_screen(void); diff --git a/source/blender/editors/include/ED_transform.h b/source/blender/editors/include/ED_transform.h index 1cc82f19515..3bef1f56655 100644 --- a/source/blender/editors/include/ED_transform.h +++ b/source/blender/editors/include/ED_transform.h @@ -58,6 +58,7 @@ enum { TFM_TRANSLATION, TFM_ROTATION, TFM_RESIZE, + TFM_SKIN_RESIZE, TFM_TOSPHERE, TFM_SHEAR, TFM_WARP, diff --git a/source/blender/editors/include/UI_icons.h b/source/blender/editors/include/UI_icons.h index cdc4c492d56..ef7b8ed3a41 100644 --- a/source/blender/editors/include/UI_icons.h +++ b/source/blender/editors/include/UI_icons.h @@ -592,8 +592,8 @@ DEF_ICON(MOD_DYNAMICPAINT) DEF_ICON(MOD_REMESH) DEF_ICON(MOD_OCEAN) DEF_ICON(MOD_WARP) +DEF_ICON(MOD_SKIN) #ifndef DEF_ICON_BLANK_SKIP - DEF_ICON(BLANK165) DEF_ICON(BLANK166) DEF_ICON(BLANK167) DEF_ICON(BLANK168) diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h index c0f9d6dd5cd..b82a0c5e480 100644 --- a/source/blender/editors/include/UI_interface.h +++ b/source/blender/editors/include/UI_interface.h @@ -171,6 +171,9 @@ typedef struct uiLayout uiLayout; #define UI_PANEL_WIDTH 340 #define UI_COMPACT_PANEL_WIDTH 160 +/* uiBut->drawflag */ +#define UI_BUT_DRAW_ENUM_ARROWS (1 << 0) /* draw enum-like up/down arrows for button */ + /* scale fixed button widths by this to account for DPI * 8.4852 == sqrtf(72.0f)) */ #define UI_DPI_FAC (sqrtf((float)U.dpi) / 8.48528137423857f) @@ -427,6 +430,9 @@ int UI_but_active_drop_name(struct bContext *C); void uiButSetFlag(uiBut *but, int flag); void uiButClearFlag(uiBut *but, int flag); +void uiButSetDrawFlag(uiBut *but, int flag); +void uiButClearDrawFlag(uiBut *but, int flag); + /* special button case, only draw it when used actively, for outliner etc */ int uiButActiveOnly(const struct bContext *C, uiBlock *block, uiBut *but); diff --git a/source/blender/editors/include/UI_resources.h b/source/blender/editors/include/UI_resources.h index a83797db432..04a9c1c2d61 100644 --- a/source/blender/editors/include/UI_resources.h +++ b/source/blender/editors/include/UI_resources.h @@ -201,7 +201,9 @@ enum { TH_FREESTYLE_FACE_MARK, TH_MATCH, /* highlight color for search matches */ - TH_SELECT_HIGHLIGHT /* highlight color for selected outliner item */ + TH_SELECT_HIGHLIGHT, /* highlight color for selected outliner item */ + + TH_SKIN_ROOT }; /* XXX WARNING: previous is saved in file, so do not change order! */ @@ -235,9 +237,10 @@ float UI_GetThemeValuef(int colorid); int UI_GetThemeValue(int colorid); // get three color values, scaled to 0.0-1.0 range -void UI_GetThemeColor3fv(int colorid, float *col); +void UI_GetThemeColor3fv(int colorid, float col[3]); // get the color, range 0.0-1.0, complete with shading offset -void UI_GetThemeColorShade3fv(int colorid, int offset, float *col); +void UI_GetThemeColorShade3fv(int colorid, int offset, float col[3]); +void UI_GetThemeColorShade3ubv(int colorid, int offset, unsigned char col[3]); // get the 3 or 4 byte values void UI_GetThemeColor3ubv(int colorid, unsigned char col[3]); diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c index 0c13b5de02e..5394cb46049 100644 --- a/source/blender/editors/interface/interface.c +++ b/source/blender/editors/interface/interface.c @@ -1437,15 +1437,15 @@ double ui_get_but_val(uiBut *but) } } else if (but->type == HSVSLI) { - float h, s, v, *fp; + float *fp, hsv[3]; fp = (but->editvec) ? but->editvec : (float *)but->poin; - rgb_to_hsv(fp[0], fp[1], fp[2], &h, &s, &v); + rgb_to_hsv_v(fp, hsv); switch (but->str[0]) { - case 'H': value = h; break; - case 'S': value = s; break; - case 'V': value = v; break; + case 'H': value = hsv[0]; break; + case 'S': value = hsv[1]; break; + case 'V': value = hsv[2]; break; } } else if (but->pointype == CHA) { @@ -1513,18 +1513,18 @@ void ui_set_but_val(uiBut *but, double value) } else if (but->pointype == 0) ; else if (but->type == HSVSLI) { - float h, s, v, *fp; + float *fp, hsv[3]; fp = (but->editvec) ? but->editvec : (float *)but->poin; - rgb_to_hsv(fp[0], fp[1], fp[2], &h, &s, &v); + rgb_to_hsv_v(fp, hsv); switch (but->str[0]) { - case 'H': h = value; break; - case 'S': s = value; break; - case 'V': v = value; break; + case 'H': hsv[0] = value; break; + case 'S': hsv[1] = value; break; + case 'V': hsv[2] = value; break; } - hsv_to_rgb(h, s, v, fp, fp + 1, fp + 2); + hsv_to_rgb_v(hsv, fp); } else { @@ -3356,6 +3356,16 @@ void uiButClearFlag(uiBut *but, int flag) but->flag &= ~flag; } +void uiButSetDrawFlag(uiBut *but, int flag) +{ + but->drawflag |= flag; +} + +void uiButClearDrawFlag(uiBut *but, int flag) +{ + but->drawflag &= ~flag; +} + int uiButGetRetVal(uiBut *but) { return but->retval; diff --git a/source/blender/editors/interface/interface_draw.c b/source/blender/editors/interface/interface_draw.c index 2f9e763a7d0..e535990e7e9 100644 --- a/source/blender/editors/interface/interface_draw.c +++ b/source/blender/editors/interface/interface_draw.c @@ -79,7 +79,7 @@ int uiGetRoundBox(void) void uiDrawBox(int mode, float minx, float miny, float maxx, float maxy, float rad) { float vec[7][2] = {{0.195, 0.02}, {0.383, 0.067}, {0.55, 0.169}, {0.707, 0.293}, - {0.831, 0.45}, {0.924, 0.617}, {0.98, 0.805}}; + {0.831, 0.45}, {0.924, 0.617}, {0.98, 0.805}}; int a; /* mult */ @@ -147,7 +147,7 @@ static void round_box_shade_col(const float col1[3], float const col2[3], const void uiDrawBoxShade(int mode, float minx, float miny, float maxx, float maxy, float rad, float shadetop, float shadedown) { float vec[7][2] = {{0.195, 0.02}, {0.383, 0.067}, {0.55, 0.169}, {0.707, 0.293}, - {0.831, 0.45}, {0.924, 0.617}, {0.98, 0.805}}; + {0.831, 0.45}, {0.924, 0.617}, {0.98, 0.805}}; const float div = maxy - miny; const float idiv = 1.0f / div; float coltop[3], coldown[3], color[4]; @@ -256,7 +256,7 @@ void uiDrawBoxVerticalShade(int mode, float minx, float miny, float maxx, float float rad, float shadeLeft, float shadeRight) { float vec[7][2] = {{0.195, 0.02}, {0.383, 0.067}, {0.55, 0.169}, {0.707, 0.293}, - {0.831, 0.45}, {0.924, 0.617}, {0.98, 0.805}}; + {0.831, 0.45}, {0.924, 0.617}, {0.98, 0.805}}; const float div = maxx - minx; const float idiv = 1.0f / div; float colLeft[3], colRight[3], color[4]; diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index 8b0c3ecfcf3..edb0bdc05f5 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -50,6 +50,8 @@ #include "BLI_utildefines.h" #include "BLI_string_cursor_utf8.h" +#include "BLF_translation.h" + #include "PIL_time.h" #include "BKE_colortools.h" @@ -1307,7 +1309,7 @@ static void ui_textedit_set_cursor_pos(uiBut *but, uiHandleButtonData *data, sho /* check if position is found */ if (cdist < x) { - /* check is previous location was infact closer */ + /* check is previous location was in fact closer */ if (((float)x - cdist) > (cdist_prev - (float)x)) { but->pos = pos_prev; } @@ -2951,14 +2953,14 @@ static int ui_do_but_BLOCK(bContext *C, uiBut *but, uiHandleButtonData *data, wm float col[3]; ui_get_but_vectorf(but, col); - rgb_to_hsv_compat(col[0], col[1], col[2], hsv, hsv + 1, hsv + 2); + rgb_to_hsv_compat_v(col, hsv); if (event->type == WHEELDOWNMOUSE) hsv[2] = CLAMPIS(hsv[2] - 0.05f, 0.0f, 1.0f); else hsv[2] = CLAMPIS(hsv[2] + 0.05f, 0.0f, 1.0f); - hsv_to_rgb(hsv[0], hsv[1], hsv[2], data->vec, data->vec + 1, data->vec + 2); + hsv_to_rgb_v(hsv, data->vec); ui_set_but_vectorf(but, data->vec); button_activate_state(C, but, BUTTON_STATE_EXIT); @@ -3104,7 +3106,7 @@ static int ui_numedit_but_HSVCUBE(uiBut *but, uiHandleButtonData *data, int mx, ui_get_but_vectorf(but, rgb); - rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], hsv, hsv + 1, hsv + 2); + rgb_to_hsv_compat_v(rgb, hsv); /* relative position within box */ x = ((float)mx - but->x1) / (but->x2 - but->x1); @@ -3150,7 +3152,7 @@ static int ui_numedit_but_HSVCUBE(uiBut *but, uiHandleButtonData *data, int mx, assert(!"invalid hsv type"); } - hsv_to_rgb(hsv[0], hsv[1], hsv[2], rgb, rgb + 1, rgb + 2); + hsv_to_rgb_v(hsv, rgb); copy_v3_v3(data->vec, rgb); data->draglastx = mx; @@ -3173,7 +3175,7 @@ static void ui_ndofedit_but_HSVCUBE(uiBut *but, uiHandleButtonData *data, wmNDOF } ui_get_but_vectorf(but, rgb); - rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], hsv, hsv + 1, hsv + 2); + rgb_to_hsv_compat_v(rgb, hsv); switch ((int)but->a1) { case UI_GRAD_SV: @@ -3211,7 +3213,7 @@ static void ui_ndofedit_but_HSVCUBE(uiBut *but, uiHandleButtonData *data, wmNDOF assert(!"invalid hsv type"); } - hsv_to_rgb(hsv[0], hsv[1], hsv[2], rgb, rgb + 1, rgb + 2); + hsv_to_rgb_v(hsv, rgb); copy_v3_v3(data->vec, rgb); ui_set_but_vectorf(but, data->vec); } @@ -3263,12 +3265,15 @@ static int ui_do_but_HSVCUBE(bContext *C, uiBlock *block, uiBut *but, uiHandleBu def = MEM_callocN(sizeof(float) * len, "reset_defaults - float"); RNA_property_float_get_default_array(&but->rnapoin, but->rnaprop, def); - rgb_to_hsv(def[0], def[1], def[2], def_hsv, def_hsv + 1, def_hsv + 2); + rgb_to_hsv_v(def, def_hsv); ui_get_but_vectorf(but, rgb); - rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], hsv, hsv + 1, hsv + 2); + rgb_to_hsv_compat_v(rgb, hsv); + + def_hsv[0] = hsv[0]; + def_hsv[1] = hsv[1]; - hsv_to_rgb(hsv[0], hsv[1], def_hsv[2], rgb, rgb + 1, rgb + 2); + hsv_to_rgb_v(def_hsv, rgb); ui_set_but_vectorf(but, rgb); RNA_property_update(C, &but->rnapoin, but->rnaprop); @@ -3312,7 +3317,7 @@ static int ui_numedit_but_HSVCIRCLE(uiBut *but, uiHandleButtonData *data, int mx ui_get_but_vectorf(but, rgb); copy_v3_v3(hsv, ui_block_hsv_get(but->block)); - rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], hsv, hsv + 1, hsv + 2); + rgb_to_hsv_compat_v(rgb, hsv); /* exception, when using color wheel in 'locked' value state: * allow choosing a hue for black values, by giving a tiny increment */ @@ -3332,7 +3337,7 @@ static int ui_numedit_but_HSVCIRCLE(uiBut *but, uiHandleButtonData *data, int mx if (but->flag & UI_BUT_COLOR_CUBIC) hsv[1] = 1.0f - sqrt3f(1.0f - hsv[1]); - hsv_to_rgb(hsv[0], hsv[1], hsv[2], rgb, rgb + 1, rgb + 2); + hsv_to_rgb_v(hsv, rgb); if ((but->flag & UI_BUT_VEC_SIZE_LOCK) && (rgb[0] || rgb[1] || rgb[2])) { normalize_v3(rgb); @@ -3355,7 +3360,7 @@ static void ui_ndofedit_but_HSVCIRCLE(uiBut *but, uiHandleButtonData *data, wmND float sensitivity = (shift ? 0.15f : 0.3f) * ndof->dt; ui_get_but_vectorf(but, rgb); - rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], hsv, hsv + 1, hsv + 2); + rgb_to_hsv_compat_v(rgb, hsv); /* Convert current colour on hue/sat disc to circular coordinates phi, r */ phi = fmodf(hsv[0] + 0.25f, 1.0f) * -2.0f * (float)M_PI; @@ -3389,7 +3394,7 @@ static void ui_ndofedit_but_HSVCIRCLE(uiBut *but, uiHandleButtonData *data, wmND if (hsv[2] == 0.0f) hsv[2] = 0.0001f; } - hsv_to_rgb(hsv[0], hsv[1], hsv[2], data->vec, data->vec + 1, data->vec + 2); + hsv_to_rgb_v(hsv, data->vec); if ((but->flag & UI_BUT_VEC_SIZE_LOCK) && (data->vec[0] || data->vec[1] || data->vec[2])) { normalize_v3(data->vec); @@ -3445,12 +3450,15 @@ static int ui_do_but_HSVCIRCLE(bContext *C, uiBlock *block, uiBut *but, uiHandle def = MEM_callocN(sizeof(float) * len, "reset_defaults - float"); RNA_property_float_get_default_array(&but->rnapoin, but->rnaprop, def); - rgb_to_hsv(def[0], def[1], def[2], def_hsv, def_hsv + 1, def_hsv + 2); + rgb_to_hsv_v(def, def_hsv); ui_get_but_vectorf(but, rgb); - rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], hsv, hsv + 1, hsv + 2); + rgb_to_hsv_compat_v(rgb, hsv); - hsv_to_rgb(hsv[0], def_hsv[1], hsv[2], rgb, rgb + 1, rgb + 2); + def_hsv[0] = hsv[0]; + def_hsv[2] = hsv[2]; + + hsv_to_rgb_v(def_hsv, rgb); ui_set_but_vectorf(but, rgb); RNA_property_update(C, &but->rnapoin, but->rnaprop); @@ -4401,10 +4409,10 @@ static int ui_but_menu(bContext *C, uiBut *but) if (but->rnaprop) name = RNA_property_ui_name(but->rnaprop); - else if (but->optype) - name = but->optype->name; + else if (but->optype && but->optype->srna) + name = RNA_struct_ui_name(but->optype->srna); else - name = "<needs_name>"; // XXX - should never happen. + name = IFACE_("<needs_name>"); // XXX - should never happen. pup = uiPupMenuBegin(C, name, ICON_NONE); layout = uiPupMenuLayout(pup); @@ -4424,14 +4432,20 @@ static int ui_but_menu(bContext *C, uiBut *but) if (but->flag & UI_BUT_ANIMATED_KEY) { /* replace/delete keyfraemes */ if (length) { - uiItemBooleanO(layout, "Replace Keyframes", ICON_NONE, "ANIM_OT_keyframe_insert_button", "all", 1); - uiItemBooleanO(layout, "Replace Single Keyframe", ICON_NONE, "ANIM_OT_keyframe_insert_button", "all", 0); - uiItemBooleanO(layout, "Delete Keyframes", ICON_NONE, "ANIM_OT_keyframe_delete_button", "all", 1); - uiItemBooleanO(layout, "Delete Single Keyframe", ICON_NONE, "ANIM_OT_keyframe_delete_button", "all", 0); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Replace Keyframes"), + ICON_NONE, "ANIM_OT_keyframe_insert_button", "all", 1); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Replace Single Keyframe"), + ICON_NONE, "ANIM_OT_keyframe_insert_button", "all", 0); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Delete Keyframes"), + ICON_NONE, "ANIM_OT_keyframe_delete_button", "all", 1); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Delete Single Keyframe"), + ICON_NONE, "ANIM_OT_keyframe_delete_button", "all", 0); } else { - uiItemBooleanO(layout, "Replace Keyframe", ICON_NONE, "ANIM_OT_keyframe_insert_button", "all", 0); - uiItemBooleanO(layout, "Delete Keyframe", ICON_NONE, "ANIM_OT_keyframe_delete_button", "all", 0); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Replace Keyframe"), + ICON_NONE, "ANIM_OT_keyframe_insert_button", "all", 0); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Delete Keyframe"), + ICON_NONE, "ANIM_OT_keyframe_delete_button", "all", 0); } /* keyframe settings */ @@ -4442,11 +4456,14 @@ static int ui_but_menu(bContext *C, uiBut *but) else if (but->flag & UI_BUT_DRIVEN) ; else if (is_anim) { if (length) { - uiItemBooleanO(layout, "Insert Keyframes", ICON_NONE, "ANIM_OT_keyframe_insert_button", "all", 1); - uiItemBooleanO(layout, "Insert Single Keyframe", ICON_NONE, "ANIM_OT_keyframe_insert_button", "all", 0); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Insert Keyframes"), + ICON_NONE, "ANIM_OT_keyframe_insert_button", "all", 1); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Insert Single Keyframe"), + ICON_NONE, "ANIM_OT_keyframe_insert_button", "all", 0); } else - uiItemBooleanO(layout, "Insert Keyframe", ICON_NONE, "ANIM_OT_keyframe_insert_button", "all", 0); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Insert Keyframe"), + ICON_NONE, "ANIM_OT_keyframe_insert_button", "all", 0); } /* Drivers */ @@ -4454,29 +4471,38 @@ static int ui_but_menu(bContext *C, uiBut *but) uiItemS(layout); if (length) { - uiItemBooleanO(layout, "Delete Drivers", ICON_NONE, "ANIM_OT_driver_button_remove", "all", 1); - uiItemBooleanO(layout, "Delete Single Driver", ICON_NONE, "ANIM_OT_driver_button_remove", "all", 0); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Delete Drivers"), + ICON_NONE, "ANIM_OT_driver_button_remove", "all", 1); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Delete Single Driver"), + ICON_NONE, "ANIM_OT_driver_button_remove", "all", 0); } else - uiItemBooleanO(layout, "Delete Driver", ICON_NONE, "ANIM_OT_driver_button_remove", "all", 0); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Delete Driver"), + ICON_NONE, "ANIM_OT_driver_button_remove", "all", 0); - uiItemO(layout, "Copy Driver", ICON_NONE, "ANIM_OT_copy_driver_button"); + uiItemO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Copy Driver"), + ICON_NONE, "ANIM_OT_copy_driver_button"); if (ANIM_driver_can_paste()) - uiItemO(layout, "Paste Driver", ICON_NONE, "ANIM_OT_paste_driver_button"); + uiItemO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Paste Driver"), + ICON_NONE, "ANIM_OT_paste_driver_button"); } else if (but->flag & (UI_BUT_ANIMATED_KEY | UI_BUT_ANIMATED)) ; else if (is_anim) { uiItemS(layout); if (length) { - uiItemBooleanO(layout, "Add Drivers", ICON_NONE, "ANIM_OT_driver_button_add", "all", 1); - uiItemBooleanO(layout, "Add Single Driver", ICON_NONE, "ANIM_OT_driver_button_add", "all", 0); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Add Drivers"), + ICON_NONE, "ANIM_OT_driver_button_add", "all", 1); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Add Single Driver"), + ICON_NONE, "ANIM_OT_driver_button_add", "all", 0); } else - uiItemBooleanO(layout, "Add Driver", ICON_NONE, "ANIM_OT_driver_button_add", "all", 0); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Add Driver"), + ICON_NONE, "ANIM_OT_driver_button_add", "all", 0); if (ANIM_driver_can_paste()) - uiItemO(layout, "Paste Driver", ICON_NONE, "ANIM_OT_paste_driver_button"); + uiItemO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Paste Driver"), + ICON_NONE, "ANIM_OT_paste_driver_button"); } /* Keying Sets */ @@ -4485,13 +4511,18 @@ static int ui_but_menu(bContext *C, uiBut *but) uiItemS(layout); if (length) { - uiItemBooleanO(layout, "Add All to Keying Set", ICON_NONE, "ANIM_OT_keyingset_button_add", "all", 1); - uiItemBooleanO(layout, "Add Single to Keying Set", ICON_NONE, "ANIM_OT_keyingset_button_add", "all", 0); - uiItemO(layout, "Remove from Keying Set", ICON_NONE, "ANIM_OT_keyingset_button_remove"); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Add All to Keying Set"), + ICON_NONE, "ANIM_OT_keyingset_button_add", "all", 1); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Add Single to Keying Set"), + ICON_NONE, "ANIM_OT_keyingset_button_add", "all", 0); + uiItemO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Remove from Keying Set"), + ICON_NONE, "ANIM_OT_keyingset_button_remove"); } else { - uiItemBooleanO(layout, "Add to Keying Set", ICON_NONE, "ANIM_OT_keyingset_button_add", "all", 0); - uiItemO(layout, "Remove from Keying Set", ICON_NONE, "ANIM_OT_keyingset_button_remove"); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Add to Keying Set"), + ICON_NONE, "ANIM_OT_keyingset_button_add", "all", 0); + uiItemO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Remove from Keying Set"), + ICON_NONE, "ANIM_OT_keyingset_button_remove"); } } @@ -4503,14 +4534,19 @@ static int ui_but_menu(bContext *C, uiBut *but) //Paste Property Value if (length) { - uiItemBooleanO(layout, "Reset All to Default Values", ICON_NONE, "UI_OT_reset_default_button", "all", 1); - uiItemBooleanO(layout, "Reset Single to Default Value", ICON_NONE, "UI_OT_reset_default_button", "all", 0); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Reset All to Default Values"), + ICON_NONE, "UI_OT_reset_default_button", "all", 1); + uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Reset Single to Default Value"), + ICON_NONE, "UI_OT_reset_default_button", "all", 0); } else - uiItemO(layout, "Reset to Default Value", ICON_NONE, "UI_OT_reset_default_button"); + uiItemO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Reset to Default Value"), + ICON_NONE, "UI_OT_reset_default_button"); - uiItemO(layout, "Copy Data Path", ICON_NONE, "UI_OT_copy_data_path_button"); - uiItemO(layout, "Copy To Selected", ICON_NONE, "UI_OT_copy_to_selected_button"); + uiItemO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Copy Data Path"), + ICON_NONE, "UI_OT_copy_data_path_button"); + uiItemO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Copy To Selected"), + ICON_NONE, "UI_OT_copy_to_selected_button"); uiItemS(layout); } @@ -4534,15 +4570,18 @@ static int ui_but_menu(bContext *C, uiBut *but) // would rather use a block but, but gets weirdly positioned... //uiDefBlockBut(block, menu_change_shortcut, but, "Change Shortcut", 0, 0, uiLayoutGetWidth(layout), UI_UNIT_Y, ""); - but2 = uiDefIconTextBut(block, BUT, 0, 0, "Change Shortcut", 0, 0, w, UI_UNIT_Y, NULL, 0, 0, 0, 0, ""); + but2 = uiDefIconTextBut(block, BUT, 0, 0, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Change Shortcut"), + 0, 0, w, UI_UNIT_Y, NULL, 0, 0, 0, 0, ""); uiButSetFunc(but2, popup_change_shortcut_func, but, NULL); - but2 = uiDefIconTextBut(block, BUT, 0, 0, "Remove Shortcut", 0, 0, w, UI_UNIT_Y, NULL, 0, 0, 0, 0, ""); + but2 = uiDefIconTextBut(block, BUT, 0, 0, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Remove Shortcut"), + 0, 0, w, UI_UNIT_Y, NULL, 0, 0, 0, 0, ""); uiButSetFunc(but2, remove_shortcut_func, but, NULL); } /* only show 'add' if there's a suitable key map for it to go in */ else if (WM_keymap_guess_opname(C, but->optype->idname)) { - but2 = uiDefIconTextBut(block, BUT, 0, 0, "Add Shortcut", 0, 0, w, UI_UNIT_Y, NULL, 0, 0, 0, 0, ""); + but2 = uiDefIconTextBut(block, BUT, 0, 0, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Add Shortcut"), + 0, 0, w, UI_UNIT_Y, NULL, 0, 0, 0, 0, ""); uiButSetFunc(but2, popup_add_shortcut_func, but, NULL); } @@ -4560,7 +4599,8 @@ static int ui_but_menu(bContext *C, uiBut *but) WM_operator_properties_create(&ptr_props, "WM_OT_doc_view"); RNA_string_set(&ptr_props, "doc_id", buf); - uiItemFullO(layout, "WM_OT_doc_view", "Python Documentation", ICON_NONE, ptr_props.data, WM_OP_EXEC_DEFAULT, 0); + uiItemFullO(layout, "WM_OT_doc_view", CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Python Documentation"), + ICON_NONE, ptr_props.data, WM_OP_EXEC_DEFAULT, 0); /* XXX inactive option, not for public! */ #if 0 @@ -4576,19 +4616,22 @@ static int ui_but_menu(bContext *C, uiBut *but) WM_operator_properties_create(&ptr_props, "WM_OT_doc_view"); RNA_string_set(&ptr_props, "doc_id", buf); - uiItemFullO(layout, "WM_OT_doc_view", "Python Documentation", ICON_NONE, ptr_props.data, WM_OP_EXEC_DEFAULT, 0); + uiItemFullO(layout, "WM_OT_doc_view", CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Python Documentation"), + ICON_NONE, ptr_props.data, WM_OP_EXEC_DEFAULT, 0); WM_operator_properties_create(&ptr_props, "WM_OT_doc_edit"); RNA_string_set(&ptr_props, "doc_id", buf); RNA_string_set(&ptr_props, "doc_new", but->optype->description); - uiItemFullO(layout, "WM_OT_doc_edit", "Submit Description", ICON_NONE, ptr_props.data, WM_OP_INVOKE_DEFAULT, 0); + uiItemFullO(layout, "WM_OT_doc_edit", CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Submit Description"), + ICON_NONE, ptr_props.data, WM_OP_INVOKE_DEFAULT, 0); } } /* perhaps we should move this into (G.debug & G_DEBUG) - campbell */ - uiItemFullO(layout, "UI_OT_editsource", "Edit Source", ICON_NONE, NULL, WM_OP_INVOKE_DEFAULT, 0); + uiItemFullO(layout, "UI_OT_editsource", CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Edit Source"), + ICON_NONE, NULL, WM_OP_INVOKE_DEFAULT, 0); uiPupMenuEnd(C, pup); @@ -5185,7 +5228,7 @@ static void button_activate_init(bContext *C, ARegion *ar, uiBut *but, uiButtonA but->block->auto_open = FALSE; if (type == BUTTON_ACTIVATE_OVER) { - data->used_mouse = 1; + data->used_mouse = TRUE; } button_activate_state(C, but, BUTTON_STATE_HIGHLIGHT); @@ -5714,7 +5757,8 @@ static int ui_handle_list_event(bContext *C, wmEvent *event, ARegion *ar) Panel *pa = but->block->panel; if (ELEM(event->type, UPARROWKEY, DOWNARROWKEY) || - ((ELEM(event->type, WHEELUPMOUSE, WHEELDOWNMOUSE) && event->alt))) { + ((ELEM(event->type, WHEELUPMOUSE, WHEELDOWNMOUSE) && event->alt))) + { /* activate up/down the list */ value = RNA_property_int_get(&but->rnapoin, but->rnaprop); @@ -5808,7 +5852,7 @@ static void ui_handle_button_return_submenu(bContext *C, wmEvent *event, uiBut * else { if (ISKEYBOARD(event->type)) { /* keyboard menu hierarchy navigation, going back to previous level */ - but->active->used_mouse = 0; + but->active->used_mouse = FALSE; button_activate_state(C, but, BUTTON_STATE_HIGHLIGHT); } else { @@ -6508,6 +6552,18 @@ static int ui_handler_popup(bContext *C, wmEvent *event, void *userdata) { uiPopupBlockHandle *menu = userdata; + /* we block all events, this is modal interaction, except for drop events which is described below */ + int retval = WM_UI_HANDLER_BREAK; + + if (event->type == EVT_DROP) { + /* if we're handling drop event we'll want it to be handled by popup callee as well, + * so it'll be possible to perform such operations as opening .blend files by dropping + * them into blender even if there's opened popup like splash screen (sergey) + */ + + retval = WM_UI_HANDLER_CONTINUE; + } + ui_handle_menus_recursive(C, event, menu); /* free if done, does not free handle itself */ @@ -6536,8 +6592,7 @@ static int ui_handler_popup(bContext *C, wmEvent *event, void *userdata) /* delayed apply callbacks */ ui_apply_but_funcs_after(C); - /* we block all events, this is modal interaction */ - return WM_UI_HANDLER_BREAK; + return retval; } static void ui_handler_remove_popup(bContext *C, void *userdata) diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h index 2c4ec9ac482..5d12bdf71da 100644 --- a/source/blender/editors/interface/interface_intern.h +++ b/source/blender/editors/interface/interface_intern.h @@ -150,7 +150,7 @@ typedef struct { struct uiBut { struct uiBut *next, *prev; - int flag; + int flag, drawflag; short type, pointype, bit, bitnr, retval, strwidth, ofs, pos, selsta, selend, alignnr; short pad1; diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c index 958ee9f5420..4c2d86de502 100644 --- a/source/blender/editors/interface/interface_layout.c +++ b/source/blender/editors/interface/interface_layout.c @@ -2679,7 +2679,7 @@ void ui_layout_add_but(uiLayout *layout, uiBut *but) if (layout->context) { but->context = layout->context; - but->context->used = 1; + but->context->used = TRUE; } } diff --git a/source/blender/editors/interface/interface_ops.c b/source/blender/editors/interface/interface_ops.c index f2a43580fd8..dfd2d0cc4d0 100644 --- a/source/blender/editors/interface/interface_ops.c +++ b/source/blender/editors/interface/interface_ops.c @@ -368,7 +368,7 @@ static void UI_OT_reset_default_button(wmOperatorType *ot) static int copy_to_selected_list(bContext *C, PointerRNA *ptr, ListBase *lb, int *use_path) { - *use_path = 0; + *use_path = FALSE; if (RNA_struct_is_a(ptr->type, &RNA_EditBone)) *lb = CTX_data_collection_get(C, "selected_editable_bones"); @@ -381,7 +381,7 @@ static int copy_to_selected_list(bContext *C, PointerRNA *ptr, ListBase *lb, int if (id && GS(id->name) == ID_OB) { *lb = CTX_data_collection_get(C, "selected_editable_objects"); - *use_path = 1; + *use_path = TRUE; } else return 0; diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c index dc2c3b4eea9..cbe44505263 100644 --- a/source/blender/editors/interface/interface_panel.c +++ b/source/blender/editors/interface/interface_panel.c @@ -754,14 +754,14 @@ static int uiAlignPanelStep(ScrArea *sa, ARegion *ar, float fac, int drag) } /* we interpolate */ - done = 0; + done = FALSE; ps = panelsort; for (a = 0; a < tot; a++, ps++) { if ((ps->pa->flag & PNL_SELECT) == 0) { if ((ps->orig->ofsx != ps->pa->ofsx) || (ps->orig->ofsy != ps->pa->ofsy)) { ps->orig->ofsx = floorf(0.5f + fac * (float)ps->pa->ofsx + (1.0f - fac) * (float)ps->orig->ofsx); ps->orig->ofsy = floorf(0.5f + fac * (float)ps->pa->ofsy + (1.0f - fac) * (float)ps->orig->ofsy); - done = 1; + done = TRUE; } } } diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c index a36b2dd2c45..b690d1f9dc9 100644 --- a/source/blender/editors/interface/interface_regions.c +++ b/source/blender/editors/interface/interface_regions.c @@ -339,13 +339,13 @@ static void rgb_tint(float col[3], float col_hsv_from[3]; float col_hsv_to[3]; - rgb_to_hsv(col[0], col[1], col[2], col_hsv_from + 0, col_hsv_from + 1, col_hsv_from + 2); + rgb_to_hsv_v(col, col_hsv_from); col_hsv_to[0] = h; col_hsv_to[1] = h_strength; col_hsv_to[2] = (col_hsv_from[2] * (1.0f - v_strength)) + (v * v_strength); - hsv_to_rgb(col_hsv_to[0], col_hsv_to[1], col_hsv_to[2], col + 0, col + 1, col + 2); + hsv_to_rgb_v(col_hsv_to, col); } static void ui_tooltip_region_draw_cb(const bContext *UNUSED(C), ARegion *ar) @@ -442,7 +442,7 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but) if (ELEM(but->type, ROW, MENU)) { EnumPropertyItem *item; int i, totitem, free; - int value = (but->type == ROW) ? but->hardmax : ui_get_but_val(but); + int value = (but->type == ROW) ? (int)but->hardmax : (int)ui_get_but_val(but); RNA_property_enum_items_gettexted(C, &but->rnapoin, but->rnaprop, &item, &totitem, &free); @@ -1847,7 +1847,7 @@ void ui_set_but_hsv(uiBut *but) float col[3]; float *hsv = ui_block_hsv_get(but->block); - hsv_to_rgb(hsv[0], hsv[1], hsv[2], col, col + 1, col + 2); + hsv_to_rgb_v(hsv, col); ui_set_but_vectorf(but, col); } @@ -1860,7 +1860,7 @@ static void ui_update_block_buts_rgb(uiBlock *block, const float rgb[3]) /* this is to keep the H and S value when V is equal to zero * and we are working in HSV mode, of course! */ - rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], hsv, hsv + 1, hsv + 2); + rgb_to_hsv_compat_v(rgb, hsv); // this updates button strings, is hackish... but button pointers are on stack of caller function for (bt = block->buttons.first; bt; bt = bt->next) { @@ -1942,7 +1942,7 @@ static void do_hsv_rna_cb(bContext *UNUSED(C), void *bt1, void *UNUSED(arg)) float rgb[3]; float *hsv = ui_block_hsv_get(but->block); - hsv_to_rgb(hsv[0], hsv[1], hsv[2], rgb, rgb + 1, rgb + 2); + hsv_to_rgb_v(hsv, rgb); ui_update_block_buts_rgb(but->block, rgb); @@ -2157,7 +2157,7 @@ static void uiBlockPicker(uiBlock *block, float rgba[4], PointerRNA *ptr, Proper uiButSetFunc(bt, do_hex_rna_cb, bt, hexcol); uiDefBut(block, LABEL, 0, IFACE_("(Gamma Corrected)"), 0, -80, butwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, ""); - rgb_to_hsv(rgba[0], rgba[1], rgba[2], hsv, hsv + 1, hsv + 2); + rgb_to_hsv_v(rgba, hsv); picker_new_hide_reveal(block, colormode); } @@ -2178,18 +2178,18 @@ static int ui_picker_small_wheel_cb(const bContext *UNUSED(C), uiBlock *block, w for (but = block->buttons.first; but; but = but->next) { if (but->type == HSVCUBE && but->active == NULL) { uiPopupBlockHandle *popup = block->handle; - float col[3]; + float rgb[3]; float *hsv = ui_block_hsv_get(block); - ui_get_but_vectorf(but, col); + ui_get_but_vectorf(but, rgb); - rgb_to_hsv_compat(col[0], col[1], col[2], hsv, hsv + 1, hsv + 2); + rgb_to_hsv_compat_v(rgb, hsv); hsv[2] = CLAMPIS(hsv[2] + add, 0.0f, 1.0f); - hsv_to_rgb(hsv[0], hsv[1], hsv[2], col, col + 1, col + 2); + hsv_to_rgb_v(hsv, rgb); - ui_set_but_vectorf(but, col); + ui_set_but_vectorf(but, rgb); - ui_update_block_buts_rgb(block, col); + ui_update_block_buts_rgb(block, rgb); if (popup) popup->menuretval = UI_RETURN_UPDATE; diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c index e4ea8bf08c5..e6e2762a60a 100644 --- a/source/blender/editors/interface/interface_templates.c +++ b/source/blender/editors/interface/interface_templates.c @@ -377,6 +377,9 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str else if (flag & UI_ID_BROWSE) { but = uiDefBlockButN(block, id_search_menu, MEM_dupallocN(template), "", 0, 0, UI_UNIT_X * 1.6, UI_UNIT_Y, TIP_(template_id_browse_tip(type))); + + uiButSetDrawFlag(but, UI_BUT_DRAW_ENUM_ARROWS); + if (type) { but->icon = RNA_struct_ui_icon(type); /* default dragging of icon for id browse buttons */ @@ -2155,11 +2158,11 @@ static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, Pointe manode = give_node_material(ma); if (manode) { char str[MAX_ID_NAME + 12]; - BLI_snprintf(str, sizeof(str), "Node %s", manode->id.name + 2); + BLI_snprintf(str, sizeof(str), IFACE_("Node %s"), manode->id.name + 2); uiItemL(sub, str, ui_id_icon_get(C, &manode->id, 1)); } else if (ma->use_nodes) { - uiItemL(sub, "Node <none>", ICON_NONE); + uiItemL(sub, IFACE_("Node <none>"), ICON_NONE); } } } @@ -2193,7 +2196,9 @@ static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, Pointe uiDefButR(block, OPTION, 0, "", 0, 0, UI_UNIT_X, UI_UNIT_Y, itemptr, "lock_weight", 0, 0, 0, 0, 0, NULL); #else uiBlockSetEmboss(block, UI_EMBOSSN); - uiDefIconButBitC(block, TOG, DG_LOCK_WEIGHT, 0, (dg->flag & DG_LOCK_WEIGHT) ? ICON_LOCKED : ICON_UNLOCKED, 0, 0, UI_UNIT_X, UI_UNIT_Y, &dg->flag, 0, 0, 0, 0, "Maintain relative weights while painting"); + uiDefIconButBitC(block, TOG, DG_LOCK_WEIGHT, 0, (dg->flag & DG_LOCK_WEIGHT) ? ICON_LOCKED : ICON_UNLOCKED, + 0, 0, UI_UNIT_X, UI_UNIT_Y, &dg->flag, 0, 0, 0, 0, + TIP_("Maintain relative weights while painting")); uiBlockSetEmboss(block, UI_EMBOSS); #endif } diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c index fe7a4e85418..87c2f2dc20b 100644 --- a/source/blender/editors/interface/interface_widgets.c +++ b/source/blender/editors/interface/interface_widgets.c @@ -127,8 +127,11 @@ typedef struct uiWidgetType { /* *********************** draw data ************************** */ -static float cornervec[WIDGET_CURVE_RESOLU][2] = {{0.0, 0.0}, {0.195, 0.02}, {0.383, 0.067}, {0.55, 0.169}, - {0.707, 0.293}, {0.831, 0.45}, {0.924, 0.617}, {0.98, 0.805}, {1.0, 1.0}}; +static float cornervec[WIDGET_CURVE_RESOLU][2] = { + {0.0, 0.0}, {0.195, 0.02}, {0.383, 0.067}, + {0.55, 0.169}, {0.707, 0.293}, {0.831, 0.45}, + {0.924, 0.617}, {0.98, 0.805}, {1.0, 1.0} +}; #define WIDGET_AA_JITTER 8 static float jit[WIDGET_AA_JITTER][2] = { @@ -158,10 +161,12 @@ static unsigned int scroll_circle_face[14][3] = { {6, 13, 12}, {6, 12, 7}, {7, 12, 11}, {7, 11, 8}, {8, 11, 10}, {8, 10, 9} }; -static float menu_tria_vert[6][2] = { - {-0.41, 0.16}, {0.41, 0.16}, {0, 0.82}, - {0, -0.82}, {-0.41, -0.16}, {0.41, -0.16} -}; + +static float menu_tria_vert[6][2]= { +{-0.33, 0.16}, {0.33, 0.16}, {0, 0.82}, +{0, -0.82}, {-0.33, -0.16}, {0.33, -0.16}}; + + static unsigned int menu_tria_face[2][3] = {{2, 0, 1}, {3, 5, 4}}; @@ -1160,11 +1165,13 @@ static void widget_draw_text(uiFontStyle *fstyle, uiWidgetColors *wcol, uiBut *b if (fstyle->kerning == 1) BLF_disable(fstyle->uifont_id, BLF_KERNING_DEFAULT); - - // ui_rasterpos_safe(x, y, but->aspect); -// if (but->type==IDPOIN) transopts= 0; // no translation, of course! -// else transopts= ui_translate_buttons(); - + +#if 0 + ui_rasterpos_safe(x, y, but->aspect); + if (but->type == IDPOIN) transopts = 0; // no translation, of course! + else transopts = ui_translate_buttons(); +#endif + /* cut string in 2 parts - only for menu entries */ if ((but->block->flag & UI_BLOCK_LOOP)) { if (ELEM5(but->type, SLI, NUM, TEX, NUMSLI, NUMABS) == 0) { @@ -1878,7 +1885,7 @@ static void ui_draw_but_HSVCIRCLE(uiBut *but, uiWidgetColors *wcol, rcti *rect) /* color */ ui_get_but_vectorf(but, rgb); copy_v3_v3(hsv, ui_block_hsv_get(but->block)); - rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], hsv, hsv + 1, hsv + 2); + rgb_to_hsv_compat_v(rgb, hsv); copy_v3_v3(hsvo, hsv); /* exception: if 'lock' is set @@ -1904,7 +1911,7 @@ static void ui_draw_but_HSVCIRCLE(uiBut *but, uiWidgetColors *wcol, rcti *rect) ui_hsvcircle_vals_from_pos(hsv, hsv + 1, rect, centx + co * radius, centy + si * radius); CLAMP(hsv[2], 0.0f, 1.0f); /* for display only */ - hsv_to_rgb(hsv[0], hsv[1], hsv[2], col, col + 1, col + 2); + hsv_to_rgb_v(hsv, col); glColor3fv(col); glVertex2f(centx + co * radius, centy + si * radius); } @@ -2074,37 +2081,31 @@ void ui_draw_gradient(rcti *rect, const float hsv[3], int type, float alpha) static void ui_draw_but_HSVCUBE(uiBut *but, rcti *rect) { - float rgb[3], h, s, v; + float rgb[3]; float x = 0.0f, y = 0.0f; float *hsv = ui_block_hsv_get(but->block); - float hsvn[3]; + float hsv_n[3]; - h = hsv[0]; - s = hsv[1]; - v = hsv[2]; + copy_v3_v3(hsv_n, hsv); ui_get_but_vectorf(but, rgb); - rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], &h, &s, &v); - - hsvn[0] = h; - hsvn[1] = s; - hsvn[2] = v; + rgb_to_hsv_compat_v(rgb, hsv_n); - ui_draw_gradient(rect, hsvn, but->a1, 1.f); + ui_draw_gradient(rect, hsv_n, but->a1, 1.0f); switch ((int)but->a1) { case UI_GRAD_SV: - x = v; y = s; break; + x = hsv_n[2]; y = hsv_n[1]; break; case UI_GRAD_HV: - x = h; y = v; break; + x = hsv_n[0]; y = hsv_n[2]; break; case UI_GRAD_HS: - x = h; y = s; break; + x = hsv_n[0]; y = hsv_n[1]; break; case UI_GRAD_H: - x = h; y = 0.5; break; + x = hsv_n[0]; y = 0.5; break; case UI_GRAD_S: - x = s; y = 0.5; break; + x = hsv_n[1]; y = 0.5; break; case UI_GRAD_V: - x = v; y = 0.5; break; + x = hsv_n[2]; y = 0.5; break; } /* cursor */ @@ -2133,7 +2134,7 @@ static void ui_draw_but_HSV_v(uiBut *but, rcti *rect) color_profile = BLI_PR_NONE; ui_get_but_vectorf(but, rgb); - rgb_to_hsv(rgb[0], rgb[1], rgb[2], hsv, hsv + 1, hsv + 2); + rgb_to_hsv_v(rgb, hsv); v = hsv[2]; if (color_profile) @@ -3123,10 +3124,18 @@ void ui_draw_but(const bContext *C, ARegion *ar, uiStyle *style, uiBut *but, rct case MENU: case BLOCK: case ICONTEXTROW: + /* new node-link button, not active yet XXX */ if (but->flag & UI_BUT_NODE_LINK) wt = widget_type(UI_WTYPE_MENU_NODE_LINK); - else if (!but->str[0] && but->icon) - wt = widget_type(UI_WTYPE_MENU_ICON_RADIO); + + /* no text, with icon */ + else if (!but->str[0] && but->icon) { + if (but->drawflag & UI_BUT_DRAW_ENUM_ARROWS) + wt = widget_type(UI_WTYPE_MENU_RADIO); /* with arrows */ + else + wt = widget_type(UI_WTYPE_MENU_ICON_RADIO); /* no arrows */ + } + /* with menu arrows */ else wt = widget_type(UI_WTYPE_MENU_RADIO); break; diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c index 4694a743d59..2162f248c29 100644 --- a/source/blender/editors/interface/resources.c +++ b/source/blender/editors/interface/resources.c @@ -473,6 +473,10 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo case TH_SELECT_HIGHLIGHT: cp = ts->selected_highlight; break; + + case TH_SKIN_ROOT: + cp = ts->skin_root; + break; } } } @@ -708,6 +712,8 @@ void ui_theme_init_default(void) rgba_char_args_set(btheme->tv3d.bundle_solid, 200, 200, 200, 255); rgba_char_args_set(btheme->tv3d.camera_path, 0x00, 0x00, 0x00, 255); + + rgba_char_args_set(btheme->tv3d.skin_root, 180, 77, 77, 255); /* space buttons */ /* to have something initialized */ @@ -843,7 +849,7 @@ void ui_theme_init_default(void) /* space node, re-uses syntax color storage */ btheme->tnode = btheme->tv3d; - rgba_char_args_set(btheme->tnode.edge_select, 255, 255, 255, 255); + rgba_char_args_set(btheme->tnode.edge_select, 255, 255, 255, 255); /* wire selected */ rgba_char_args_set(btheme->tnode.syntaxl, 155, 155, 155, 160); /* TH_NODE, backdrop */ rgba_char_args_set(btheme->tnode.syntaxn, 100, 100, 100, 255); /* in/output */ rgba_char_args_set(btheme->tnode.syntaxb, 108, 105, 111, 255); /* operator */ @@ -1034,7 +1040,7 @@ int UI_GetThemeValue(int colorid) // get the color, range 0.0-1.0 -void UI_GetThemeColor3fv(int colorid, float *col) +void UI_GetThemeColor3fv(int colorid, float col[3]) { const unsigned char *cp; @@ -1045,7 +1051,7 @@ void UI_GetThemeColor3fv(int colorid, float *col) } // get the color, range 0.0-1.0, complete with shading offset -void UI_GetThemeColorShade3fv(int colorid, int offset, float *col) +void UI_GetThemeColorShade3fv(int colorid, int offset, float col[3]) { int r, g, b; const unsigned char *cp; @@ -1064,6 +1070,25 @@ void UI_GetThemeColorShade3fv(int colorid, int offset, float *col) col[2] = ((float)b) / 255.0f; } +void UI_GetThemeColorShade3ubv(int colorid, int offset, unsigned char col[3]) +{ + int r, g, b; + const unsigned char *cp; + + cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid); + + r = offset + (int) cp[0]; + CLAMP(r, 0, 255); + g = offset + (int) cp[1]; + CLAMP(g, 0, 255); + b = offset + (int) cp[2]; + CLAMP(b, 0, 255); + + col[0] = r; + col[1] = g; + col[2] = b; +} + // get the color, in char pointer void UI_GetThemeColor3ubv(int colorid, unsigned char col[3]) { @@ -1752,7 +1777,7 @@ void init_userdef_do_versions(void) rgba_char_args_set_fl(btheme->toops.selected_highlight, 0.51, 0.53, 0.55, 0.3); } - U.use_16bit_textures = 1; + U.use_16bit_textures = TRUE; } if (bmain->versionfile < 262 || (bmain->versionfile == 262 && bmain->subversionfile < 2)) { @@ -1795,6 +1820,12 @@ void init_userdef_do_versions(void) } } + if (bmain->versionfile < 263 || (bmain->versionfile == 263 && bmain->subversionfile < 6)) { + bTheme *btheme; + for (btheme = U.themes.first; btheme; btheme = btheme->next) + rgba_char_args_set(btheme->tv3d.skin_root, 180, 77, 77, 255); + } + /* Freestyle color settings */ { bTheme *btheme; diff --git a/source/blender/editors/interface/view2d.c b/source/blender/editors/interface/view2d.c index ed010dc973a..1d315e9a5b8 100644 --- a/source/blender/editors/interface/view2d.c +++ b/source/blender/editors/interface/view2d.c @@ -419,14 +419,14 @@ void UI_view2d_curRect_validate_resize(View2D *v2d, int resize) /* check if we should restore aspect ratio (if view size changed) */ if (v2d->keepzoom & V2D_KEEPASPECT) { - short do_x = 0, do_y = 0, do_cur /* , do_win */ /* UNUSED */; + short do_x = FALSE, do_y = FALSE, do_cur /* , do_win */ /* UNUSED */; float /* curRatio, */ /* UNUSED */ winRatio; /* when a window edge changes, the aspect ratio can't be used to * find which is the best new 'cur' rect. thats why it stores 'old' */ - if (winx != v2d->oldwinx) do_x = 1; - if (winy != v2d->oldwiny) do_y = 1; + if (winx != v2d->oldwinx) do_x = TRUE; + if (winy != v2d->oldwiny) do_y = TRUE; /* curRatio= height / width; */ /* UNUSED */ winRatio = winy / winx; @@ -435,11 +435,11 @@ void UI_view2d_curRect_validate_resize(View2D *v2d, int resize) if (do_x == do_y) { if (do_x && do_y) { /* here is 1,1 case, so all others must be 0,0 */ - if (ABS(winx - v2d->oldwinx) > ABS(winy - v2d->oldwiny)) do_y = 0; - else do_x = 0; + if (ABS(winx - v2d->oldwinx) > ABS(winy - v2d->oldwiny)) do_y = FALSE; + else do_x = FALSE; } - else if (winRatio > 1.0f) do_x = 0; - else do_x = 1; + else if (winRatio > 1.0f) do_x = FALSE; + else do_x = TRUE; } do_cur = do_x; /* do_win= do_y; */ /* UNUSED */ @@ -1442,7 +1442,7 @@ View2DScrollers *UI_view2d_scrollers_calc(const bContext *C, View2D *v2d, short v2d->scroll |= V2D_SCROLL_HORIZONTAL_FULLR; scrollers->horfull = 1; } - else + else v2d->scroll &= ~V2D_SCROLL_HORIZONTAL_FULLR; } } @@ -1484,7 +1484,7 @@ View2DScrollers *UI_view2d_scrollers_calc(const bContext *C, View2D *v2d, short v2d->scroll |= V2D_SCROLL_VERTICAL_FULLR; scrollers->vertfull = 1; } - else + else v2d->scroll &= ~V2D_SCROLL_VERTICAL_FULLR; } } diff --git a/source/blender/editors/mesh/editface.c b/source/blender/editors/mesh/editface.c index 63704f5b8e6..b592449fff5 100644 --- a/source/blender/editors/mesh/editface.c +++ b/source/blender/editors/mesh/editface.c @@ -231,7 +231,7 @@ static void select_linked_tfaces_with_seams(int mode, Mesh *me, unsigned int ind MLoop *ml; MEdge *med; char *linkflag; - int a, b, doit = 1, mark = 0; + int a, b, do_it = TRUE, mark = 0; ehash = BLI_edgehash_new(); seamhash = BLI_edgehash_new(); @@ -259,8 +259,8 @@ static void select_linked_tfaces_with_seams(int mode, Mesh *me, unsigned int ind } } - while (doit) { - doit = 0; + while (do_it) { + do_it = FALSE; /* expand selection */ mp = me->mpoly; @@ -283,7 +283,7 @@ static void select_linked_tfaces_with_seams(int mode, Mesh *me, unsigned int ind if (mark) { linkflag[a] = 1; hash_add_face(ehash, mp, me->mloop + mp->loopstart); - doit = 1; + do_it = TRUE; } } } @@ -509,7 +509,7 @@ void seam_mark_clear_tface(Scene *scene, short mode) } #endif -int paintface_mouse_select(struct bContext *C, Object *ob, const int mval[2], int extend) +int paintface_mouse_select(struct bContext *C, Object *ob, const int mval[2], int extend, int deselect, int toggle) { Mesh *me; MPoly *mpoly, *mpoly_sel; @@ -530,7 +530,7 @@ int paintface_mouse_select(struct bContext *C, Object *ob, const int mval[2], in /* clear flags */ mpoly = me->mpoly; a = me->totpoly; - if (!extend) { + if (!extend && !deselect && !toggle) { while (a--) { mpoly->flag &= ~ME_FACE_SEL; mpoly++; @@ -540,6 +540,12 @@ int paintface_mouse_select(struct bContext *C, Object *ob, const int mval[2], in me->act_face = (int)index; if (extend) { + mpoly_sel->flag |= ME_FACE_SEL; + } + else if (deselect) { + mpoly_sel->flag &= ~ME_FACE_SEL; + } + else if (toggle) { if (mpoly_sel->flag & ME_FACE_SEL) mpoly_sel->flag &= ~ME_FACE_SEL; else @@ -860,7 +866,7 @@ void ED_mesh_mirrtopo_init(Mesh *me, const int ob_mode, MirrTopoStore_t *mesh_to } if (tot_unique <= tot_unique_prev) { - /* Finish searching for unique valus when 1 loop dosnt give a + /* Finish searching for unique values when 1 loop dosnt give a * higher number of unique values compared to the previous loop */ break; } diff --git a/source/blender/editors/mesh/editmesh_bvh.c b/source/blender/editors/mesh/editmesh_bvh.c index 16948a2372d..c5f8494836b 100644 --- a/source/blender/editors/mesh/editmesh_bvh.c +++ b/source/blender/editors/mesh/editmesh_bvh.c @@ -380,7 +380,7 @@ static BMFace *edge_ray_cast(BMBVHTree *tree, float *co, float *dir, float *hito return f; } -static void scale_point(float *c1, float *p, float s) +static void scale_point(float c1[3], const float p[3], const float s) { sub_v3_v3(c1, p); mul_v3_fl(c1, s); diff --git a/source/blender/editors/mesh/editmesh_knife.c b/source/blender/editors/mesh/editmesh_knife.c index a9ec893adb7..6bbcd1d253e 100644 --- a/source/blender/editors/mesh/editmesh_knife.c +++ b/source/blender/editors/mesh/editmesh_knife.c @@ -308,7 +308,7 @@ static KnifeVert *get_bm_knife_vert(KnifeTool_OpData *kcd, BMVert *v) /** * get a KnifeEdge wrapper for an existing BMEdge - * \note #knife_get_face_kedges / #get_bm_knife_edge are called recusively - KEEP STACK MEM USAGE LOW */ + * \note #knife_get_face_kedges / #get_bm_knife_edge are called recursively - KEEP STACK MEM USAGE LOW */ static KnifeEdge *get_bm_knife_edge(KnifeTool_OpData *kcd, BMEdge *e) { KnifeEdge *kfe = BLI_ghash_lookup(kcd->origedgemap, e); @@ -365,7 +365,7 @@ static void knife_start_cut(KnifeTool_OpData *kcd) } /** - * \note #knife_get_face_kedges / #get_bm_knife_edge are called recusively - KEEP STACK MEM USAGE LOW */ + * \note #knife_get_face_kedges / #get_bm_knife_edge are called recursively - KEEP STACK MEM USAGE LOW */ static ListBase *knife_get_face_kedges(KnifeTool_OpData *kcd, BMFace *f) { ListBase *lst = BLI_ghash_lookup(kcd->kedgefacemap, f); @@ -889,7 +889,7 @@ static void knifetool_draw_angle_snapping(KnifeTool_OpData *kcd) static void knife_init_colors(KnifeColors *colors) { /* possible BMESH_TODO: add explicit themes or calculate these by - * figuring out constrasting colors with grid / edges / verts + * figuring out contrasting colors with grid / edges / verts * a la UI_make_axis_color */ UI_GetThemeColor3ubv(TH_NURB_VLINE, colors->line); UI_GetThemeColor3ubv(TH_NURB_ULINE, colors->edge); diff --git a/source/blender/editors/mesh/editmesh_rip.c b/source/blender/editors/mesh/editmesh_rip.c index b74e8797d72..1bcd5cee111 100644 --- a/source/blender/editors/mesh/editmesh_rip.c +++ b/source/blender/editors/mesh/editmesh_rip.c @@ -139,7 +139,7 @@ static float edbm_rip_edge_side_measure(BMEdge *e, BMLoop *e_l, * connected edge loops. * The reason for using loops like this is because when the edges are split we don't which face user gets the newly * created edge (its as good as random so we cant assume new edges will be on once side). - * After splittingm, its very simple to walk along boundary loops since each only has one edge from a single side. + * After splitting, its very simple to walk along boundary loops since each only has one edge from a single side. * - The end loop pairs are stored in an array however to support multiple edge-selection-islands, so you can rip * multiple selections at once. * - * Execute the split * @@ -348,7 +348,8 @@ static int edbm_rip_call_edgesplit(BMEditMesh *em, wmOperator *op) BMOperator bmop; if (!EDBM_op_init(em, &bmop, op, "edgesplit edges=%he verts=%hv use_verts=%b", - BM_ELEM_TAG, BM_ELEM_SELECT, TRUE)) { + BM_ELEM_TAG, BM_ELEM_SELECT, TRUE)) + { return FALSE; } BMO_op_exec(em->bm, &bmop); @@ -710,7 +711,7 @@ static int edbm_rip_invoke(bContext *C, wmOperator *op, wmEvent *event) /* running in face mode hardly makes sense, so convert to region loop and rip */ if (em->bm->totfacesel) { - /* highly nifty but hard to sypport since the operator can fail and we're left + /* highly nifty but hard to support since the operator can fail and we're left * with modified selection */ // WM_operator_name_call(C, "MESH_OT_region_to_loop", WM_OP_INVOKE_DEFAULT, NULL); diff --git a/source/blender/editors/mesh/editmesh_select.c b/source/blender/editors/mesh/editmesh_select.c index c002a49d410..5988c9d8d5e 100644 --- a/source/blender/editors/mesh/editmesh_select.c +++ b/source/blender/editors/mesh/editmesh_select.c @@ -933,23 +933,16 @@ static int edbm_loop_multiselect_exec(bContext *C, wmOperator *op) BMIter iter; int totedgesel = 0; - for (eed = BM_iter_new(&iter, em->bm, BM_EDGES_OF_MESH, NULL); - eed; eed = BM_iter_step(&iter)) { - + BM_ITER_MESH (eed, &iter, em->bm, BM_EDGES_OF_MESH) { if (BM_elem_flag_test(eed, BM_ELEM_SELECT)) { totedgesel++; } } - edarray = MEM_mallocN(sizeof(BMEdge *) * totedgesel, "edge array"); edindex = 0; - for (eed = BM_iter_new(&iter, em->bm, BM_EDGES_OF_MESH, NULL); - eed; - eed = BM_iter_step(&iter)) - { - + BM_ITER_MESH (eed, &iter, em->bm, BM_EDGES_OF_MESH) { if (BM_elem_flag_test(eed, BM_ELEM_SELECT)) { edarray[edindex] = eed; edindex++; @@ -1284,7 +1277,7 @@ static int edgetag_shortest_path(Scene *scene, BMEditMesh *em, BMEdge *source, B * path found so far to edge n. The visitedhash will of course contain entries * for edges that have been visited, cost[n] will contain the length of the shortest * path to edge n found so far, Finally, heap is a priority heap which is built on the - * the same data as the cost arry, but inverted: it is a worklist of edges prioritized + * the same data as the cost array, but inverted: it is a worklist of edges prioritized * by the shortest path found so far to the edge. */ @@ -1471,7 +1464,7 @@ void MESH_OT_select_shortest_path(wmOperatorType *ot) /* ************************************************** */ /* here actual select happens */ /* gets called via generic mouse select operator */ -int mouse_mesh(bContext *C, const int mval[2], short extend) +int mouse_mesh(bContext *C, const int mval[2], short extend, short deselect, short toggle) { ViewContext vc; BMVert *eve = NULL; @@ -1485,40 +1478,87 @@ int mouse_mesh(bContext *C, const int mval[2], short extend) if (unified_findnearest(&vc, &eve, &eed, &efa)) { - if (extend == 0) EDBM_flag_disable_all(vc.em, BM_ELEM_SELECT); + // Deselect everything + if (extend == 0 && deselect == 0 && toggle == 0) + EDBM_flag_disable_all(vc.em, BM_ELEM_SELECT); if (efa) { - /* set the last selected face */ - BM_active_face_set(vc.em->bm, efa); - - if (!BM_elem_flag_test(efa, BM_ELEM_SELECT)) { + if (extend) { + // set the last selected face + BM_active_face_set(vc.em->bm, efa); + + // Work-around: deselect first, so we can guarantee it will + // be active even if it was already selected + BM_select_history_remove(vc.em->bm, efa); + BM_face_select_set(vc.em->bm, efa, FALSE); BM_select_history_store(vc.em->bm, efa); BM_face_select_set(vc.em->bm, efa, TRUE); } - else if (extend) { + else if (deselect) { BM_select_history_remove(vc.em->bm, efa); BM_face_select_set(vc.em->bm, efa, FALSE); } + else { + // set the last selected face + BM_active_face_set(vc.em->bm, efa); + + if (!BM_elem_flag_test(efa, BM_ELEM_SELECT)) { + BM_select_history_store(vc.em->bm, efa); + BM_face_select_set(vc.em->bm, efa, TRUE); + } + else if (toggle) { + BM_select_history_remove(vc.em->bm, efa); + BM_face_select_set(vc.em->bm, efa, FALSE); + } + } } else if (eed) { - if (!BM_elem_flag_test(eed, BM_ELEM_SELECT)) { + if (extend) { + // Work-around: deselect first, so we can guarantee it will + // be active even if it was already selected + BM_select_history_remove(vc.em->bm, eed); + BM_edge_select_set(vc.em->bm, eed, FALSE); BM_select_history_store(vc.em->bm, eed); BM_edge_select_set(vc.em->bm, eed, TRUE); } - else if (extend) { + else if (deselect) { BM_select_history_remove(vc.em->bm, eed); BM_edge_select_set(vc.em->bm, eed, FALSE); } + else { + if (!BM_elem_flag_test(eed, BM_ELEM_SELECT)) { + BM_select_history_store(vc.em->bm, eed); + BM_edge_select_set(vc.em->bm, eed, TRUE); + } + else if (toggle) { + BM_select_history_remove(vc.em->bm, eed); + BM_edge_select_set(vc.em->bm, eed, FALSE); + } + } } else if (eve) { - if (!BM_elem_flag_test(eve, BM_ELEM_SELECT)) { + if (extend) { + // Work-around: deselect first, so we can guarantee it will + // be active even if it was already selected + BM_select_history_remove(vc.em->bm, eve); + BM_vert_select_set(vc.em->bm, eve, FALSE); BM_select_history_store(vc.em->bm, eve); BM_vert_select_set(vc.em->bm, eve, TRUE); } - else if (extend) { + else if (deselect) { BM_select_history_remove(vc.em->bm, eve); BM_vert_select_set(vc.em->bm, eve, FALSE); } + else { + if (!BM_elem_flag_test(eve, BM_ELEM_SELECT)) { + BM_select_history_store(vc.em->bm, eve); + BM_vert_select_set(vc.em->bm, eve, TRUE); + } + else if (toggle) { + BM_select_history_remove(vc.em->bm, eve); + BM_vert_select_set(vc.em->bm, eve, FALSE); + } + } } EDBM_selectmode_flush(vc.em); @@ -2255,8 +2295,6 @@ static int edbm_select_sharp_edges_exec(bContext *C, wmOperator *op) BMLoop *l1, *l2; float sharp = RNA_float_get(op->ptr, "sharpness"), angle; - sharp = DEG2RADF(sharp); - BM_ITER_MESH (e, &iter, em->bm, BM_EDGES_OF_MESH) { if (BM_elem_flag_test(e, BM_ELEM_HIDDEN) || !e->l) continue; @@ -2283,9 +2321,11 @@ static int edbm_select_sharp_edges_exec(bContext *C, wmOperator *op) void MESH_OT_edges_select_sharp(wmOperatorType *ot) { + PropertyRNA *prop; + /* identifiers */ ot->name = "Select Sharp Edges"; - ot->description = "Marked selected edges as sharp"; + ot->description = "Select all sharp-enough edges"; ot->idname = "MESH_OT_edges_select_sharp"; /* api callbacks */ @@ -2296,7 +2336,9 @@ void MESH_OT_edges_select_sharp(wmOperatorType *ot) ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; /* props */ - RNA_def_float(ot->srna, "sharpness", 1.0f, 0.01f, FLT_MAX, "sharpness", "", 1.0f, 180.0f); + prop = RNA_def_float_rotation(ot->srna, "sharpness", 0, NULL, DEG2RADF(0.01f), DEG2RADF(180.0f), + "Sharpness", "", DEG2RADF(1.0f), DEG2RADF(180.0f)); + RNA_def_property_float_default(prop, DEG2RADF(1.0f)); } static int edbm_select_linked_flat_faces_exec(bContext *C, wmOperator *op) @@ -2310,8 +2352,6 @@ static int edbm_select_linked_flat_faces_exec(bContext *C, wmOperator *op) float sharp = RNA_float_get(op->ptr, "sharpness"); int i; - sharp = (sharp * (float)M_PI) / 180.0f; - BM_ITER_MESH (f, &iter, em->bm, BM_FACES_OF_MESH) { BM_elem_flag_disable(f, BM_ELEM_TAG); } @@ -2364,6 +2404,8 @@ static int edbm_select_linked_flat_faces_exec(bContext *C, wmOperator *op) void MESH_OT_faces_select_linked_flat(wmOperatorType *ot) { + PropertyRNA *prop; + /* identifiers */ ot->name = "Select Linked Flat Faces"; ot->description = "Select linked faces by angle"; @@ -2377,7 +2419,9 @@ void MESH_OT_faces_select_linked_flat(wmOperatorType *ot) ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; /* props */ - RNA_def_float(ot->srna, "sharpness", 1.0f, 0.01f, FLT_MAX, "sharpness", "", 1.0f, 180.0f); + prop = RNA_def_float_rotation(ot->srna, "sharpness", 0, NULL, DEG2RADF(0.01f), DEG2RADF(180.0f), + "Sharpness", "", DEG2RADF(1.0f), DEG2RADF(180.0f)); + RNA_def_property_float_default(prop, DEG2RADF(1.0f)); } static int edbm_select_non_manifold_exec(bContext *C, wmOperator *op) diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c index 24f5678584a..a63b01bb2e1 100644 --- a/source/blender/editors/mesh/editmesh_tools.c +++ b/source/blender/editors/mesh/editmesh_tools.c @@ -722,7 +722,7 @@ static int edbm_dupli_extrude_cursor_invoke(bContext *C, wmOperator *op, wmEvent BMVert *v1; BMIter iter; float min[3], max[3]; - int done = 0; + int done = FALSE; short use_proj; em_setup_viewcontext(C, &vc); @@ -735,7 +735,7 @@ static int edbm_dupli_extrude_cursor_invoke(bContext *C, wmOperator *op, wmEvent BM_ITER_MESH (v1, &iter, vc.em->bm, BM_VERTS_OF_MESH) { if (BM_elem_flag_test(v1, BM_ELEM_SELECT)) { minmax_v3v3_v3(min, max, v1->co); - done = 1; + done = TRUE; } } @@ -753,7 +753,7 @@ static int edbm_dupli_extrude_cursor_invoke(bContext *C, wmOperator *op, wmEvent mval_f[1] = (float)event->mval[1]; /* check for edges that are half selected, use for rotation */ - done = 0; + done = FALSE; BM_ITER_MESH (eed, &iter, vc.em->bm, BM_EDGES_OF_MESH) { if (BM_elem_flag_test(eed, BM_ELEM_SELECT)) { float co1[3], co2[3]; @@ -776,7 +776,7 @@ static int edbm_dupli_extrude_cursor_invoke(bContext *C, wmOperator *op, wmEvent nor[1] += -(co2[0] - co1[0]); } } - done = 1; + done = TRUE; } if (done) { @@ -3534,8 +3534,7 @@ static int edbm_select_by_number_vertices_exec(bContext *C, wmOperator *op) int numverts = RNA_int_get(op->ptr, "number"); int type = RNA_enum_get(op->ptr, "type"); - for (efa = BM_iter_new(&iter, em->bm, BM_FACES_OF_MESH, NULL); - efa; efa = BM_iter_step(&iter)) { + BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) { int select = 0; @@ -3598,17 +3597,13 @@ static int edbm_select_loose_verts_exec(bContext *C, wmOperator *UNUSED(op)) BMEdge *eed; BMIter iter; - for (eve = BM_iter_new(&iter, em->bm, BM_VERTS_OF_MESH, NULL); - eve; eve = BM_iter_step(&iter)) { - + BM_ITER_MESH (eve, &iter, em->bm, BM_VERTS_OF_MESH) { if (!eve->e) { BM_vert_select_set(em->bm, eve, TRUE); } } - for (eed = BM_iter_new(&iter, em->bm, BM_EDGES_OF_MESH, NULL); - eed; eed = BM_iter_step(&iter)) { - + BM_ITER_MESH (eed, &iter, em->bm, BM_EDGES_OF_MESH) { if (!eed->l) { BM_edge_select_set(em->bm, eed, TRUE); } @@ -3967,7 +3962,7 @@ static void sort_bmelem_flag(bContext *C, const int types, const int flag, const else if (action == SRT_RANDOMIZE) { if (totelem[0]) { - /* Re-init random generator for each element type, to get consistant random when + /* Re-init random generator for each element type, to get consistent random when * enabling/disabling an element type. */ BLI_srandom(seed); pb = pblock[0] = MEM_callocN(sizeof(char) * totelem[0], "sort_bmelem vert pblock"); @@ -4322,7 +4317,7 @@ typedef struct { static void edbm_bevel_update_header(wmOperator *op, bContext *C) { - static char str[] = "Confirm: Enter/LClick, Cancel: (Esc/RClick), factor: %f, , Use Dist (D): %s: Use Even (E): %s"; + static char str[] = "Confirm: Enter/LClick, Cancel: (Esc/RMB), factor: %f, Use Dist (D): %s: Use Even (E): %s"; char msg[HEADER_LENGTH]; ScrArea *sa = CTX_wm_area(C); @@ -4546,7 +4541,7 @@ static int edbm_bevel_modal(bContext *C, wmOperator *op, wmEvent *event) mdiff[1] = opdata->mcenter[1] - event->mval[1]; factor = len_v2(mdiff) / opdata->initial_length; - factor = MAX2(1.0 - factor, 0.0); + factor = MAX2(1.0f - factor, 0.0f); RNA_float_set(op->ptr, "percent", factor); @@ -4842,7 +4837,7 @@ static int edbm_inset_modal(bContext *C, wmOperator *op, wmEvent *event) else { amount = opdata->old_thickness - (len_v2(mdiff) - opdata->initial_length) / opdata->initial_length; - amount = MAX2(amount, 0.0); + amount = MAX2(amount, 0.0f); RNA_float_set(op->ptr, "thickness", amount); } diff --git a/source/blender/editors/mesh/mesh_data.c b/source/blender/editors/mesh/mesh_data.c index bc11a627be6..19ca30b9c45 100644 --- a/source/blender/editors/mesh/mesh_data.c +++ b/source/blender/editors/mesh/mesh_data.c @@ -309,44 +309,44 @@ int ED_mesh_uv_loop_reset(struct bContext *C, struct Mesh *me) int ED_mesh_uv_texture_add(bContext *C, Mesh *me, const char *name, int active_set) { BMEditMesh *em; - int layernum; + int layernum_dst; short is_init = FALSE; if (me->edit_btmesh) { em = me->edit_btmesh; - layernum = CustomData_number_of_layers(&em->bm->pdata, CD_MTEXPOLY); - if (layernum >= MAX_MTFACE) + layernum_dst = CustomData_number_of_layers(&em->bm->pdata, CD_MTEXPOLY); + if (layernum_dst >= MAX_MTFACE) return -1; /* CD_MTEXPOLY */ BM_data_layer_add_named(em->bm, &em->bm->pdata, CD_MTEXPOLY, name); /* copy data from active UV */ - if (layernum) { - const int layernum_dst = CustomData_get_active_layer(&em->bm->pdata, CD_MTEXPOLY); - BM_data_layer_copy(em->bm, &em->bm->pdata, CD_MTEXPOLY, layernum, layernum_dst); + if (layernum_dst) { + const int layernum_src = CustomData_get_active_layer(&em->bm->pdata, CD_MTEXPOLY); + BM_data_layer_copy(em->bm, &em->bm->pdata, CD_MTEXPOLY, layernum_src, layernum_dst); } - if (active_set || layernum == 0) { - CustomData_set_layer_active(&em->bm->pdata, CD_MTEXPOLY, layernum); + if (active_set || layernum_dst == 0) { + CustomData_set_layer_active(&em->bm->pdata, CD_MTEXPOLY, layernum_dst); } /* CD_MLOOPUV */ BM_data_layer_add_named(em->bm, &em->bm->ldata, CD_MLOOPUV, name); /* copy data from active UV */ - if (layernum) { - const int layernum_dst = CustomData_get_active_layer(&em->bm->ldata, CD_MLOOPUV); - BM_data_layer_copy(em->bm, &em->bm->ldata, CD_MLOOPUV, layernum, layernum_dst); + if (layernum_dst) { + const int layernum_src = CustomData_get_active_layer(&em->bm->ldata, CD_MLOOPUV); + BM_data_layer_copy(em->bm, &em->bm->ldata, CD_MLOOPUV, layernum_src, layernum_dst); is_init = TRUE; } - if (active_set || layernum == 0) { - CustomData_set_layer_active(&em->bm->ldata, CD_MLOOPUV, layernum); + if (active_set || layernum_dst == 0) { + CustomData_set_layer_active(&em->bm->ldata, CD_MLOOPUV, layernum_dst); } } else { - layernum = CustomData_number_of_layers(&me->pdata, CD_MTEXPOLY); - if (layernum >= MAX_MTFACE) + layernum_dst = CustomData_number_of_layers(&me->pdata, CD_MTEXPOLY); + if (layernum_dst >= MAX_MTFACE) return -1; if (me->mtpoly) { @@ -361,11 +361,11 @@ int ED_mesh_uv_texture_add(bContext *C, Mesh *me, const char *name, int active_s CustomData_add_layer_named(&me->fdata, CD_MTFACE, CD_DEFAULT, NULL, me->totface, name); } - if (active_set || layernum == 0) { - CustomData_set_layer_active(&me->pdata, CD_MTEXPOLY, layernum); - CustomData_set_layer_active(&me->ldata, CD_MLOOPUV, layernum); + if (active_set || layernum_dst == 0) { + CustomData_set_layer_active(&me->pdata, CD_MTEXPOLY, layernum_dst); + CustomData_set_layer_active(&me->ldata, CD_MLOOPUV, layernum_dst); - CustomData_set_layer_active(&me->fdata, CD_MTFACE, layernum); + CustomData_set_layer_active(&me->fdata, CD_MTFACE, layernum_dst); } mesh_update_customdata_pointers(me, TRUE); @@ -373,13 +373,13 @@ int ED_mesh_uv_texture_add(bContext *C, Mesh *me, const char *name, int active_s /* don't overwrite our copied coords */ if (is_init == FALSE) { - ED_mesh_uv_loop_reset_ex(C, me, layernum); + ED_mesh_uv_loop_reset_ex(C, me, layernum_dst); } DAG_id_tag_update(&me->id, 0); WM_event_add_notifier(C, NC_GEOM | ND_DATA, me); - return layernum; + return layernum_dst; } int ED_mesh_uv_texture_remove(bContext *C, Object *ob, Mesh *me) diff --git a/source/blender/editors/metaball/mball_edit.c b/source/blender/editors/metaball/mball_edit.c index 701a3517535..7b7aaf5a3db 100644 --- a/source/blender/editors/metaball/mball_edit.c +++ b/source/blender/editors/metaball/mball_edit.c @@ -415,7 +415,7 @@ void MBALL_OT_reveal_metaelems(wmOperatorType *ot) /* Select MetaElement with mouse click (user can select radius circle or * stiffness circle) */ -int mouse_mball(bContext *C, const int mval[2], int extend) +int mouse_mball(bContext *C, const int mval[2], int extend, int deselect, int toggle) { static MetaElem *startelem = NULL; Object *obedit = CTX_data_edit_object(C); @@ -467,7 +467,19 @@ int mouse_mball(bContext *C, const int mval[2], int extend) /* When some metaelem was found, then it is necessary to select or * deselect it. */ if (act) { - if (extend == 0) { + if (extend) { + act->flag |= SELECT; + } + else if (deselect) { + act->flag &= ~SELECT; + } + else if (toggle) { + if (act->flag & SELECT) + act->flag &= ~SELECT; + else + act->flag |= SELECT; + } + else { /* Deselect all existing metaelems */ ml = mb->editelems->first; while (ml) { @@ -477,12 +489,7 @@ int mouse_mball(bContext *C, const int mval[2], int extend) /* Select only metaelem clicked on */ act->flag |= SELECT; } - else { - if (act->flag & SELECT) - act->flag &= ~SELECT; - else - act->flag |= SELECT; - } + mb->lastelem = act; WM_event_add_notifier(C, NC_GEOM | ND_SELECT, mb); diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c index 69aae5c4f06..76967d61b9e 100644 --- a/source/blender/editors/object/object_add.c +++ b/source/blender/editors/object/object_add.c @@ -107,6 +107,17 @@ #include "object_intern.h" +/* this is an exact copy of the define in rna_lamp.c + * kept here because of linking order */ +EnumPropertyItem lamp_type_items[] = { + {LA_LOCAL, "POINT", 0, "Point", "Omnidirectional point light source"}, + {LA_SUN, "SUN", 0, "Sun", "Constant direction parallel ray light source"}, + {LA_SPOT, "SPOT", 0, "Spot", "Directional cone light source"}, + {LA_HEMI, "HEMI", 0, "Hemi", "180 degree constant light source"}, + {LA_AREA, "AREA", 0, "Area", "Directional area light source"}, + {0, NULL, 0, NULL, NULL} +}; + /************************** Exported *****************************/ void ED_object_location_from_view(bContext *C, float *loc) @@ -735,22 +746,14 @@ static int object_lamp_add_exec(bContext *C, wmOperator *op) if (BKE_scene_use_new_shading_nodes(scene)) { ED_node_shader_default(scene, &la->id); - la->use_nodes = 1; + la->use_nodes = TRUE; } return OPERATOR_FINISHED; } void OBJECT_OT_lamp_add(wmOperatorType *ot) -{ - static EnumPropertyItem lamp_type_items[] = { - {LA_LOCAL, "POINT", ICON_LAMP_POINT, "Point", "Omnidirectional point light source"}, - {LA_SUN, "SUN", ICON_LAMP_SUN, "Sun", "Constant direction parallel ray light source"}, - {LA_SPOT, "SPOT", ICON_LAMP_SPOT, "Spot", "Directional cone light source"}, - {LA_HEMI, "HEMI", ICON_LAMP_HEMI, "Hemi", "180 degree constant light source"}, - {LA_AREA, "AREA", ICON_LAMP_AREA, "Area", "Directional area light source"}, - {0, NULL, 0, NULL, NULL}}; - +{ /* identifiers */ ot->name = "Add Lamp"; ot->description = "Add a lamp object to the scene"; @@ -901,7 +904,7 @@ static int object_delete_exec(bContext *C, wmOperator *op) Main *bmain = CTX_data_main(C); Scene *scene = CTX_data_scene(C); const short use_global = RNA_boolean_get(op->ptr, "use_global"); - /* int islamp= 0; */ /* UNUSED */ + /* int is_lamp = FALSE; */ /* UNUSED */ if (CTX_data_edit_object(C)) return OPERATOR_CANCELLED; @@ -909,7 +912,7 @@ static int object_delete_exec(bContext *C, wmOperator *op) CTX_DATA_BEGIN (C, Base *, base, selected_bases) { - /* if (base->object->type==OB_LAMP) islamp= 1; */ + /* if (base->object->type==OB_LAMP) is_lamp = TRUE; */ /* deselect object -- it could be used in other scenes */ base->object->flag &= ~SELECT; diff --git a/source/blender/editors/object/object_bake.c b/source/blender/editors/object/object_bake.c index cea9a0aae6b..810fe244984 100644 --- a/source/blender/editors/object/object_bake.c +++ b/source/blender/editors/object/object_bake.c @@ -434,7 +434,7 @@ static void do_multires_bake(MultiresBakeRender *bkr, Image *ima, MPassKnownData bkr->baked_faces++; if (bkr->do_update) - *bkr->do_update = 1; + *bkr->do_update = TRUE; if (bkr->progress) *bkr->progress = ((float)bkr->baked_objects + (float)bkr->baked_faces / tot_face) / bkr->tot_obj; @@ -534,7 +534,7 @@ static void get_ccgdm_data(DerivedMesh *lodm, DerivedMesh *hidm, const int *orig int grid_index = origindex[face_index]; int loc_offs = face_index % (1 << (2 * lvl)); int cell_index = loc_offs % ((side - 1) * (side - 1)); - int cell_side = grid_size / (side - 1); + int cell_side = (grid_size - 1) / (side - 1); int row = cell_index / (side - 1); int col = cell_index % (side - 1); diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c index c97ad9c62f9..107b19b0ed7 100644 --- a/source/blender/editors/object/object_edit.c +++ b/source/blender/editors/object/object_edit.c @@ -764,7 +764,7 @@ static void copy_attr(Main *bmain, Scene *scene, View3D *v3d, short event) Base *base; Curve *cu, *cu1; Nurb *nu; - int do_scene_sort = 0; + int do_scene_sort = FALSE; if (scene->id.lib) return; @@ -949,7 +949,7 @@ static void copy_attr(Main *bmain, Scene *scene, View3D *v3d, short event) /* Copy the constraint channels over */ copy_constraints(&base->object->constraints, &ob->constraints, TRUE); - do_scene_sort = 1; + do_scene_sort = TRUE; } else if (event == 23) { base->object->softflag = ob->softflag; @@ -1284,7 +1284,7 @@ static int shade_smooth_exec(bContext *C, wmOperator *op) Curve *cu; Nurb *nu; int clear = (strcmp(op->idname, "OBJECT_OT_shade_flat") == 0); - int done = 0; + int done = FALSE; CTX_DATA_BEGIN (C, Object *, ob, selected_editable_objects) { @@ -1295,7 +1295,7 @@ static int shade_smooth_exec(bContext *C, wmOperator *op) DAG_id_tag_update(&ob->id, OB_RECALC_DATA); WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob); - done = 1; + done = TRUE; } else if (ELEM(ob->type, OB_SURF, OB_CURVE)) { cu = ob->data; @@ -1308,7 +1308,7 @@ static int shade_smooth_exec(bContext *C, wmOperator *op) DAG_id_tag_update(&ob->id, OB_RECALC_DATA); WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob); - done = 1; + done = TRUE; } } CTX_DATA_END; @@ -1369,7 +1369,7 @@ static void UNUSED_FUNCTION(image_aspect) (Scene * scene, View3D * v3d) for (base = FIRSTBASE; base; base = base->next) { if (TESTBASELIB(v3d, base)) { ob = base->object; - done = 0; + done = FALSE; for (a = 1; a <= ob->totcol; a++) { ma = give_current_material(ob, a); @@ -1398,7 +1398,7 @@ static void UNUSED_FUNCTION(image_aspect) (Scene * scene, View3D * v3d) if (x > y) ob->size[0] = ob->size[1] * x / y; else ob->size[1] = ob->size[0] * y / x; - done = 1; + done = TRUE; DAG_id_tag_update(&ob->id, OB_RECALC_OB); } } diff --git a/source/blender/editors/object/object_intern.h b/source/blender/editors/object/object_intern.h index e834c93b0d8..4b33c5663ba 100644 --- a/source/blender/editors/object/object_intern.h +++ b/source/blender/editors/object/object_intern.h @@ -160,6 +160,10 @@ void OBJECT_OT_multires_external_pack(struct wmOperatorType *ot); void OBJECT_OT_meshdeform_bind(struct wmOperatorType *ot); void OBJECT_OT_explode_refresh(struct wmOperatorType *ot); void OBJECT_OT_ocean_bake(struct wmOperatorType *ot); +void OBJECT_OT_skin_root_mark(struct wmOperatorType *ot); +void OBJECT_OT_skin_loose_mark_clear(struct wmOperatorType *ot); +void OBJECT_OT_skin_radii_equalize(struct wmOperatorType *ot); +void OBJECT_OT_skin_armature_create(struct wmOperatorType *ot); /* object_constraint.c */ void OBJECT_OT_constraint_add(struct wmOperatorType *ot); diff --git a/source/blender/editors/object/object_lattice.c b/source/blender/editors/object/object_lattice.c index 7b37ca8ab95..f6e8ccf4ec9 100644 --- a/source/blender/editors/object/object_lattice.c +++ b/source/blender/editors/object/object_lattice.c @@ -335,7 +335,7 @@ static BPoint *findnearestLattvert(ViewContext *vc, const int mval[2], int sel) return data.bp; } -int mouse_lattice(bContext *C, const int mval[2], int extend) +int mouse_lattice(bContext *C, const int mval[2], int extend, int deselect, int toggle) { ViewContext vc; BPoint *bp = NULL; @@ -344,12 +344,20 @@ int mouse_lattice(bContext *C, const int mval[2], int extend) bp = findnearestLattvert(&vc, mval, 1); if (bp) { - if (extend == 0) { - ED_setflagsLatt(vc.obedit, 0); - bp->f1 |= SELECT; + if (extend) { + bp->f1 |= SELECT; + } + else if (deselect) { + bp->f1 &= ~SELECT; + } + else if (toggle) { + bp->f1 ^= SELECT; /* swap */ } else - bp->f1 ^= SELECT; /* swap */ + { + ED_setflagsLatt(vc.obedit, 0); + bp->f1 |= SELECT; + } WM_event_add_notifier(C, NC_GEOM | ND_SELECT, vc.obedit->data); diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c index 191677989b9..7dd17e59f6f 100644 --- a/source/blender/editors/object/object_modifier.c +++ b/source/blender/editors/object/object_modifier.c @@ -35,6 +35,7 @@ #include "MEM_guardedalloc.h" #include "DNA_anim_types.h" +#include "DNA_armature_types.h" #include "DNA_curve_types.h" #include "DNA_key_types.h" #include "DNA_mesh_types.h" @@ -42,9 +43,11 @@ #include "DNA_object_force.h" #include "DNA_scene_types.h" +#include "BLI_bitmap.h" #include "BLI_math.h" #include "BLI_listbase.h" #include "BLI_string.h" +#include "BLI_string_utf8.h" #include "BLI_path_util.h" #include "BLI_utildefines.h" @@ -84,6 +87,9 @@ #include "object_intern.h" +static void modifier_skin_customdata_ensure(struct Object *ob); +static void modifier_skin_customdata_delete(struct Object *ob); + /******************************** API ****************************/ ModifierData *ED_object_modifier_add(ReportList *reports, Main *bmain, Scene *scene, Object *ob, const char *name, int type) @@ -125,8 +131,9 @@ ModifierData *ED_object_modifier_add(ReportList *reports, Main *bmain, Scene *sc else BLI_addtail(&ob->modifiers, new_md); - if (name) - BLI_strncpy(new_md->name, name, sizeof(new_md->name)); + if (name) { + BLI_strncpy_utf8(new_md->name, name, sizeof(new_md->name)); + } /* make sure modifier data has unique name */ @@ -155,6 +162,10 @@ ModifierData *ED_object_modifier_add(ReportList *reports, Main *bmain, Scene *sc /* ensure that grid paint mask layer is created */ ED_sculpt_mask_layers_ensure(ob, (MultiresModifierData *)new_md); } + else if (type == eModifierType_Skin) { + /* ensure skin-node customdata exists */ + modifier_skin_customdata_ensure(ob); + } } DAG_id_tag_update(&ob->id, OB_RECALC_DATA); @@ -221,9 +232,25 @@ static int object_modifier_remove(Object *ob, ModifierData *md, int *sort_depsgr multires_customdata_delete(ob->data); } } + else if (md->type == eModifierType_Skin) { + int ok = 1; + ModifierData *tmpmd; + + /* ensure skin CustomData layer isn't used by another skin modifier */ + for (tmpmd = ob->modifiers.first; tmpmd; tmpmd = tmpmd->next) { + if (tmpmd != md && tmpmd->type == eModifierType_Skin) { + ok = 0; + break; + } + } + + if (ok) + modifier_skin_customdata_delete(ob); + } if (ELEM(md->type, eModifierType_Softbody, eModifierType_Cloth) && - ob->particlesystem.first == NULL) { + ob->particlesystem.first == NULL) + { ob->mode &= ~OB_MODE_PARTICLE_EDIT; } @@ -1128,7 +1155,7 @@ static int multires_reshape_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; } - CTX_DATA_BEGIN (C, Object *, selob, selected_editable_objects) + CTX_DATA_BEGIN(C, Object *, selob, selected_editable_objects) { if (selob->type == OB_MESH && selob != ob) { secondob = selob; @@ -1324,6 +1351,420 @@ void OBJECT_OT_multires_base_apply(wmOperatorType *ot) } +/************************** skin modifier ***********************/ + +static void modifier_skin_customdata_ensure(Object *ob) +{ + Mesh *me = ob->data; + BMesh *bm = me->edit_btmesh ? me->edit_btmesh->bm : NULL; + MVertSkin *vs; + + if (bm && !CustomData_has_layer(&bm->vdata, CD_MVERT_SKIN)) { + BMVert *v; + BMIter iter; + + BM_data_layer_add(bm, &bm->vdata, CD_MVERT_SKIN); + + /* Mark an arbitrary vertex as root */ + BM_ITER_MESH (v, &iter, bm, BM_VERTS_OF_MESH) { + vs = CustomData_bmesh_get(&bm->vdata, v->head.data, + CD_MVERT_SKIN); + vs->flag |= MVERT_SKIN_ROOT; + break; + } + } + else if (!CustomData_has_layer(&me->vdata, CD_MVERT_SKIN)) { + vs = CustomData_add_layer(&me->vdata, + CD_MVERT_SKIN, + CD_DEFAULT, + NULL, + me->totvert); + + /* Mark an arbitrary vertex as root */ + vs->flag |= MVERT_SKIN_ROOT; + } +} + +static void modifier_skin_customdata_delete(Object *ob) +{ + Mesh *me = ob->data; + BMEditMesh *em = me->edit_btmesh; + + if (em) + BM_data_layer_free(em->bm, &em->bm->vdata, CD_MVERT_SKIN); + else + CustomData_free_layer_active(&me->vdata, CD_MVERT_SKIN, me->totvert); +} + +static int skin_poll(bContext *C) +{ + return (!CTX_data_edit_object(C) && + edit_modifier_poll_generic(C, &RNA_SkinModifier, (1 << OB_MESH))); +} + +static int skin_edit_poll(bContext *C) +{ + return (CTX_data_edit_object(C) && + edit_modifier_poll_generic(C, &RNA_SkinModifier, (1 << OB_MESH))); +} + +static void skin_root_clear(BMesh *bm, BMVert *bm_vert, GHash *visited) +{ + BMEdge *bm_edge; + BMIter bm_iter; + + BM_ITER_ELEM (bm_edge, &bm_iter, bm_vert, BM_EDGES_OF_VERT) { + BMVert *v2 = BM_edge_other_vert(bm_edge, bm_vert); + + if (!BLI_ghash_lookup(visited, v2)) { + MVertSkin *vs = CustomData_bmesh_get(&bm->vdata, + v2->head.data, + CD_MVERT_SKIN); + + /* clear vertex root flag and add to visited set */ + vs->flag &= ~MVERT_SKIN_ROOT; + BLI_ghash_insert(visited, v2, v2); + + skin_root_clear(bm, v2, visited); + } + } +} + +static int skin_root_mark_exec(bContext *C, wmOperator *UNUSED(op)) +{ + Object *ob = CTX_data_edit_object(C); + Mesh *me = ob->data; + BMesh *bm = me->edit_btmesh->bm; + BMVert *bm_vert; + BMIter bm_iter; + GHash *visited; + + visited = BLI_ghash_ptr_new("skin_root_mark_exec visited"); + + modifier_skin_customdata_ensure(ob); + + BM_ITER_MESH (bm_vert, &bm_iter, bm, BM_VERTS_OF_MESH) { + if (!BLI_ghash_lookup(visited, bm_vert) && + bm_vert->head.hflag & BM_ELEM_SELECT) + { + MVertSkin *vs = CustomData_bmesh_get(&bm->vdata, + bm_vert->head.data, + CD_MVERT_SKIN); + + /* mark vertex as root and add to visited set */ + vs->flag |= MVERT_SKIN_ROOT; + BLI_ghash_insert(visited, bm_vert, bm_vert); + + /* clear root flag from all connected vertices (recursively) */ + skin_root_clear(bm, bm_vert, visited); + } + } + + BLI_ghash_free(visited, NULL, NULL); + + DAG_id_tag_update(&ob->id, OB_RECALC_DATA); + WM_event_add_notifier(C, NC_OBJECT | ND_MODIFIER, ob); + + return OPERATOR_FINISHED; +} + +void OBJECT_OT_skin_root_mark(wmOperatorType *ot) +{ + ot->name = "Skin Root Mark"; + ot->description = "Mark selected vertices as roots"; + ot->idname = "OBJECT_OT_skin_root_mark"; + + ot->poll = skin_edit_poll; + ot->exec = skin_root_mark_exec; + + /* flags */ + ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; +} + +typedef enum { + SKIN_LOOSE_MARK, + SKIN_LOOSE_CLEAR +} SkinLooseAction; + +static int skin_loose_mark_clear_exec(bContext *C, wmOperator *op) +{ + Object *ob = CTX_data_edit_object(C); + Mesh *me = ob->data; + BMesh *bm = me->edit_btmesh->bm; + BMVert *bm_vert; + BMIter bm_iter; + SkinLooseAction action = RNA_enum_get(op->ptr, "action"); + + BM_ITER_MESH (bm_vert, &bm_iter, bm, BM_VERTS_OF_MESH) { + if (bm_vert->head.hflag & BM_ELEM_SELECT) { + MVertSkin *vs = CustomData_bmesh_get(&bm->vdata, + bm_vert->head.data, + CD_MVERT_SKIN); + + + switch (action) { + case SKIN_LOOSE_MARK: + vs->flag |= MVERT_SKIN_LOOSE; + break; + case SKIN_LOOSE_CLEAR: + vs->flag &= ~MVERT_SKIN_LOOSE; + break; + } + } + } + + DAG_id_tag_update(&ob->id, OB_RECALC_DATA); + WM_event_add_notifier(C, NC_OBJECT | ND_MODIFIER, ob); + + return OPERATOR_FINISHED; +} + +void OBJECT_OT_skin_loose_mark_clear(wmOperatorType *ot) +{ + static EnumPropertyItem action_items[] = { + {SKIN_LOOSE_MARK, "MARK", 0, "Mark", "Mark selected vertices as loose"}, + {SKIN_LOOSE_CLEAR, "CLEAR", 0, "Clear", "Set selected vertices as not loose"}, + {0, NULL, 0, NULL, NULL} + }; + + ot->name = "Skin Mark/Clear Loose"; + ot->description = "Mark/clear selected vertices as loose"; + ot->idname = "OBJECT_OT_skin_loose_mark_clear"; + + ot->poll = skin_edit_poll; + ot->exec = skin_loose_mark_clear_exec; + + /* flags */ + ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; + + RNA_def_enum(ot->srna, "action", action_items, SKIN_LOOSE_MARK, "Action", NULL); +} + +static int skin_radii_equalize_exec(bContext *C, wmOperator *UNUSED(op)) +{ + Object *ob = CTX_data_edit_object(C); + Mesh *me = ob->data; + BMesh *bm = me->edit_btmesh->bm; + BMVert *bm_vert; + BMIter bm_iter; + + BM_ITER_MESH (bm_vert, &bm_iter, bm, BM_VERTS_OF_MESH) { + if (bm_vert->head.hflag & BM_ELEM_SELECT) { + MVertSkin *vs = CustomData_bmesh_get(&bm->vdata, + bm_vert->head.data, + CD_MVERT_SKIN); + float avg = (vs->radius[0] + vs->radius[1]) * 0.5f; + + vs->radius[0] = vs->radius[1] = avg; + } + } + + DAG_id_tag_update(&ob->id, OB_RECALC_DATA); + WM_event_add_notifier(C, NC_OBJECT | ND_MODIFIER, ob); + + return OPERATOR_FINISHED; +} + +void OBJECT_OT_skin_radii_equalize(wmOperatorType *ot) +{ + ot->name = "Skin Radii Equalize"; + ot->description = "Make skin radii of selected vertices equal"; + ot->idname = "OBJECT_OT_skin_radii_equalize"; + + ot->poll = skin_edit_poll; + ot->exec = skin_radii_equalize_exec; + + /* flags */ + ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; +} + +static void skin_armature_bone_create(Object *skin_ob, + MVert *mvert, MEdge *medge, + bArmature *arm, + BLI_bitmap edges_visited, + const MeshElemMap *emap, + EditBone *parent_bone, + int parent_v) +{ + int i; + + for (i = 0; i < emap[parent_v].count; i++) { + int endx = emap[parent_v].indices[i]; + const MEdge *e = &medge[endx]; + EditBone *bone; + bDeformGroup *dg; + int v; + + /* ignore edge if already visited */ + if (BLI_BITMAP_GET(edges_visited, endx)) + continue; + BLI_BITMAP_SET(edges_visited, endx); + + v = (e->v1 == parent_v ? e->v2 : e->v1); + + bone = MEM_callocN(sizeof(EditBone), + "skin_armature_bone_create EditBone"); + + bone->parent = parent_bone; + bone->layer = 1; + bone->flag |= BONE_CONNECTED; + + copy_v3_v3(bone->head, mvert[parent_v].co); + copy_v3_v3(bone->tail, mvert[v].co); + bone->rad_head = bone->rad_tail = 0.25; + BLI_snprintf(bone->name, sizeof(bone->name), "Bone.%.2d", endx); + + BLI_addtail(arm->edbo, bone); + + /* add bDeformGroup */ + if ((dg = ED_vgroup_add_name(skin_ob, bone->name))) { + ED_vgroup_vert_add(skin_ob, dg, parent_v, 1, WEIGHT_REPLACE); + ED_vgroup_vert_add(skin_ob, dg, v, 1, WEIGHT_REPLACE); + } + + skin_armature_bone_create(skin_ob, + mvert, medge, + arm, + edges_visited, + emap, + bone, + v); + } +} + +static Object *modifier_skin_armature_create(struct Scene *scene, + Object *skin_ob) +{ + BLI_bitmap edges_visited; + DerivedMesh *deform_dm; + MVert *mvert; + Mesh *me = skin_ob->data; + Object *arm_ob; + bArmature *arm; + MVertSkin *mvert_skin; + MeshElemMap *emap; + int *emap_mem; + int v; + + deform_dm = mesh_get_derived_deform(scene, skin_ob, CD_MASK_BAREMESH); + mvert = deform_dm->getVertArray(deform_dm); + + /* add vertex weights to original mesh */ + CustomData_add_layer(&me->vdata, + CD_MDEFORMVERT, + CD_CALLOC, + NULL, + me->totvert); + + arm_ob = BKE_object_add(scene, OB_ARMATURE); + BKE_object_transform_copy(arm_ob, skin_ob); + arm = arm_ob->data; + arm->layer = 1; + arm_ob->dtx |= OB_DRAWXRAY; + arm->drawtype = ARM_LINE; + arm->edbo = MEM_callocN(sizeof(ListBase), "edbo armature"); + + mvert_skin = CustomData_get_layer(&me->vdata, CD_MVERT_SKIN); + create_vert_edge_map(&emap, &emap_mem, + me->medge, me->totvert, me->totedge); + + edges_visited = BLI_BITMAP_NEW(me->totedge, "edge_visited"); + + /* note: we use EditBones here, easier to set them up and use + * edit-armature functions to convert back to regular bones */ + for (v = 0; v < me->totvert; v++) { + if (mvert_skin[v].flag & MVERT_SKIN_ROOT) { + EditBone *bone = NULL; + + /* Unless the skin root has just one adjacent edge, create + * a fake root bone (have it going off in the Y direction + * (arbitrary) */ + if (emap[v].count > 1) { + bone = MEM_callocN(sizeof(EditBone), "EditBone"); + + copy_v3_v3(bone->head, me->mvert[v].co); + copy_v3_v3(bone->tail, me->mvert[v].co); + bone->layer = 1; + + bone->head[1] = 1.0f; + bone->rad_head = bone->rad_tail = 0.25; + + BLI_addtail(arm->edbo, bone); + } + + if (emap[v].count >= 1) { + skin_armature_bone_create(skin_ob, + mvert, me->medge, + arm, + edges_visited, + emap, + bone, + v); + } + } + } + + MEM_freeN(edges_visited); + MEM_freeN(emap); + MEM_freeN(emap_mem); + + ED_armature_from_edit(arm_ob); + ED_armature_edit_free(arm_ob); + + return arm_ob; +} + +static int skin_armature_create_exec(bContext *C, wmOperator *op) +{ + Main *bmain = CTX_data_main(C); + Scene *scene = CTX_data_scene(C); + Object *ob = CTX_data_active_object(C), *arm_ob; + ModifierData *skin_md; + ArmatureModifierData *arm_md; + + /* create new armature */ + arm_ob = modifier_skin_armature_create(scene, ob); + + /* add a modifier to connect the new armature to the mesh */ + arm_md = (ArmatureModifierData *)modifier_new(eModifierType_Armature); + if (arm_md) { + skin_md = edit_modifier_property_get(op, ob, eModifierType_Skin); + BLI_insertlinkafter(&ob->modifiers, skin_md, arm_md); + + arm_md->object = arm_ob; + arm_md->deformflag = ARM_DEF_VGROUP | ARM_DEF_QUATERNION; + DAG_scene_sort(bmain, scene); + DAG_id_tag_update(&ob->id, OB_RECALC_DATA); + } + + WM_event_add_notifier(C, NC_OBJECT | ND_MODIFIER, ob); + + return OPERATOR_FINISHED; +} + +static int skin_armature_create_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event)) +{ + if (edit_modifier_invoke_properties(C, op)) + return skin_armature_create_exec(C, op); + else + return OPERATOR_CANCELLED; +} + +void OBJECT_OT_skin_armature_create(wmOperatorType *ot) +{ + ot->name = "Skin Armature Create"; + ot->description = "Create an armature that parallels the skin layout"; + ot->idname = "OBJECT_OT_skin_armature_create"; + + ot->poll = skin_poll; + ot->invoke = skin_armature_create_invoke; + ot->exec = skin_armature_create_exec; + + /* flags */ + ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; + edit_modifier_properties(ot); +} + /************************ mdef bind operator *********************/ static int meshdeform_poll(bContext *C) @@ -1513,7 +1954,7 @@ static void oceanbake_free(void *customdata) /* called by oceanbake, only to check job 'stop' value */ static int oceanbake_breakjob(void *UNUSED(customdata)) { - //OceanBakeJob *ob= (OceanBakeJob *)customdata; + //OceanBakeJob *ob = (OceanBakeJob *)customdata; //return *(ob->stop); /* this is not nice yet, need to make the jobs list template better @@ -1530,7 +1971,7 @@ static void oceanbake_update(void *customdata, float progress, int *cancel) if (oceanbake_breakjob(oj)) *cancel = 1; - *(oj->do_update) = 1; + *(oj->do_update) = TRUE; *(oj->progress) = progress; } @@ -1546,7 +1987,7 @@ static void oceanbake_startjob(void *customdata, short *stop, short *do_update, BKE_bake_ocean(oj->ocean, oj->och, oceanbake_update, (void *)oj); - *do_update = 1; + *do_update = TRUE; *stop = 0; } @@ -1609,7 +2050,7 @@ static int ocean_bake_exec(bContext *C, wmOperator *op) * this part of the process before a threaded job is created */ //scene->r.cfra = f; - //ED_update_for_newframe(CTX_data_main(C), scene, CTX_wm_screen(C), 1); + //ED_update_for_newframe(CTX_data_main(C), scene, 1); /* ok, this doesn't work with drivers, but is way faster. * let's use this for now and hope nobody wants to drive the time value... */ diff --git a/source/blender/editors/object/object_ops.c b/source/blender/editors/object/object_ops.c index b7dc3fd7bea..01f6b641709 100644 --- a/source/blender/editors/object/object_ops.c +++ b/source/blender/editors/object/object_ops.c @@ -139,6 +139,11 @@ void ED_operatortypes_object(void) WM_operatortype_append(OBJECT_OT_multires_base_apply); WM_operatortype_append(OBJECT_OT_multires_external_save); WM_operatortype_append(OBJECT_OT_multires_external_pack); + WM_operatortype_append(OBJECT_OT_skin_root_mark); + WM_operatortype_append(OBJECT_OT_skin_loose_mark_clear); + WM_operatortype_append(OBJECT_OT_skin_radii_equalize); + WM_operatortype_append(OBJECT_OT_skin_armature_create); + WM_operatortype_append(OBJECT_OT_meshdeform_bind); WM_operatortype_append(OBJECT_OT_explode_refresh); WM_operatortype_append(OBJECT_OT_ocean_bake); @@ -429,7 +434,7 @@ void ED_object_generic_keymap(struct wmKeyConfig *UNUSED(keyconf), struct wmKeyM RNA_string_set(kmi->ptr, "data_path", "tool_settings.proportional_edit_falloff"); // Object mode - if (do_pet == 1) { + if (do_pet == TRUE) { kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle", OKEY, KM_PRESS, 0, 0); RNA_string_set(kmi->ptr, "data_path", "tool_settings.use_proportional_edit_objects"); diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c index b3e16c8d4eb..2b622b21d2c 100644 --- a/source/blender/editors/object/object_relations.c +++ b/source/blender/editors/object/object_relations.c @@ -1108,7 +1108,7 @@ static int move_to_layer_exec(bContext *C, wmOperator *op) Scene *scene = CTX_data_scene(C); View3D *v3d = CTX_wm_view3d(C); unsigned int lay, local; - /* int islamp= 0; */ /* UNUSED */ + /* int is_lamp = FALSE; */ /* UNUSED */ lay = move_to_layer_init(C, op); lay &= 0xFFFFFF; @@ -1125,7 +1125,7 @@ static int move_to_layer_exec(bContext *C, wmOperator *op) base->object->lay = lay; base->object->flag &= ~SELECT; base->flag &= ~SELECT; - /* if (base->object->type==OB_LAMP) islamp= 1; */ + /* if (base->object->type==OB_LAMP) is_lamp = TRUE; */ } CTX_DATA_END; } @@ -1138,7 +1138,7 @@ static int move_to_layer_exec(bContext *C, wmOperator *op) local = base->lay & 0xFF000000; base->lay = lay + local; base->object->lay = lay; - /* if (base->object->type==OB_LAMP) islamp= 1; */ + /* if (base->object->type==OB_LAMP) is_lamp = TRUE; */ } CTX_DATA_END; } diff --git a/source/blender/editors/object/object_select.c b/source/blender/editors/object/object_select.c index 3a932b58fd9..fa86f089387 100644 --- a/source/blender/editors/object/object_select.c +++ b/source/blender/editors/object/object_select.c @@ -506,7 +506,7 @@ static short select_grouped_siblings(bContext *C, Object *ob) CTX_DATA_BEGIN (C, Base *, base, selectable_bases) { - if ((base->object->parent == ob->parent) && !(base->flag & SELECT)) { + if ((base->object->parent == ob->parent) && !(base->flag & SELECT)) { ED_base_object_select(base, BA_SELECT); changed = 1; } diff --git a/source/blender/editors/object/object_transform.c b/source/blender/editors/object/object_transform.c index 2e21fe9cdfe..07557d8ea4c 100644 --- a/source/blender/editors/object/object_transform.c +++ b/source/blender/editors/object/object_transform.c @@ -382,7 +382,7 @@ static int apply_objects_internal(bContext *C, ReportList *reports, int apply_lo Main *bmain = CTX_data_main(C); Scene *scene = CTX_data_scene(C); float rsmat[3][3], tmat[3][3], obmat[3][3], iobmat[3][3], mat[4][4], scale; - int a, change = 0; + int a, change = 1; /* first check if we can execute */ CTX_DATA_BEGIN (C, Object *, ob, selected_editable_objects) @@ -391,19 +391,19 @@ static int apply_objects_internal(bContext *C, ReportList *reports, int apply_lo if (ob->type == OB_MESH) { if (ID_REAL_USERS(ob->data) > 1) { BKE_report(reports, RPT_ERROR, "Can't apply to a multi user mesh, doing nothing"); - return OPERATOR_CANCELLED; + change = 0; } } else if (ob->type == OB_ARMATURE) { if (ID_REAL_USERS(ob->data) > 1) { BKE_report(reports, RPT_ERROR, "Can't apply to a multi user armature, doing nothing"); - return OPERATOR_CANCELLED; + change = 0; } } else if (ob->type == OB_LATTICE) { if (ID_REAL_USERS(ob->data) > 1) { BKE_report(reports, RPT_ERROR, "Can't apply to a multi user lattice, doing nothing"); - return OPERATOR_CANCELLED; + change = 0; } } else if (ELEM(ob->type, OB_CURVE, OB_SURF)) { @@ -411,23 +411,28 @@ static int apply_objects_internal(bContext *C, ReportList *reports, int apply_lo if (ID_REAL_USERS(ob->data) > 1) { BKE_report(reports, RPT_ERROR, "Can't apply to a multi user curve, doing nothing"); - return OPERATOR_CANCELLED; + change = 0; } cu = ob->data; if (!(cu->flag & CU_3D) && (apply_rot || apply_loc)) { BKE_report(reports, RPT_ERROR, "Neither rotation nor location could be applied to a 2d curve, doing nothing"); - return OPERATOR_CANCELLED; + change = 0; } if (cu->key) { BKE_report(reports, RPT_ERROR, "Can't apply to a curve with vertex keys, doing nothing"); - return OPERATOR_CANCELLED; + change = 0; } } } CTX_DATA_END; + if (!change) + return OPERATOR_CANCELLED; + + change = 0; + /* now execute */ CTX_DATA_BEGIN (C, Object *, ob, selected_editable_objects) { diff --git a/source/blender/editors/object/object_vgroup.c b/source/blender/editors/object/object_vgroup.c index 0c0611d3d33..b5a0451b507 100644 --- a/source/blender/editors/object/object_vgroup.c +++ b/source/blender/editors/object/object_vgroup.c @@ -1809,7 +1809,6 @@ static void vgroup_active_remove_verts(Object *ob, const int allverts, bDeformGr } else { MVert *mv; - MDeformVert *dv; int i; if (!me->dvert) { diff --git a/source/blender/editors/physics/dynamicpaint_ops.c b/source/blender/editors/physics/dynamicpaint_ops.c index c82e0459218..ea8718f0e66 100644 --- a/source/blender/editors/physics/dynamicpaint_ops.c +++ b/source/blender/editors/physics/dynamicpaint_ops.c @@ -285,7 +285,7 @@ static int dynamicPaint_bakeImageSequence(bContext *C, DynamicPaintSurface *surf /* Set frame to start point (also inits modifier data) */ frame = surface->start_frame; scene->r.cfra = (int)frame; - ED_update_for_newframe(CTX_data_main(C), scene, win->screen, 1); + ED_update_for_newframe(CTX_data_main(C), scene, 1); /* Init surface */ if (!dynamicPaint_createUVSurface(surface)) return 0; @@ -303,7 +303,7 @@ static int dynamicPaint_bakeImageSequence(bContext *C, DynamicPaintSurface *surf /* calculate a frame */ scene->r.cfra = (int)frame; - ED_update_for_newframe(CTX_data_main(C), scene, win->screen, 1); + ED_update_for_newframe(CTX_data_main(C), scene, 1); if (!dynamicPaint_calculateFrame(surface, scene, cObject, frame)) return 0; /* diff --git a/source/blender/editors/physics/particle_edit.c b/source/blender/editors/physics/particle_edit.c index 9f5e700616e..d6cf46363d3 100644 --- a/source/blender/editors/physics/particle_edit.c +++ b/source/blender/editors/physics/particle_edit.c @@ -1294,6 +1294,26 @@ static void select_keys(PEData *data, int point_index, int UNUSED(key_index)) point->flag |= PEP_EDIT_RECALC; } +static void extend_key_select(PEData *data, int point_index, int key_index) +{ + PTCacheEdit *edit = data->edit; + PTCacheEditPoint *point = edit->points + point_index; + PTCacheEditKey *key = point->keys + key_index; + + key->flag |= PEK_SELECT; + point->flag |= PEP_EDIT_RECALC; +} + +static void deselect_key_select(PEData *data, int point_index, int key_index) +{ + PTCacheEdit *edit = data->edit; + PTCacheEditPoint *point = edit->points + point_index; + PTCacheEditKey *key = point->keys + key_index; + + key->flag &= ~PEK_SELECT; + point->flag |= PEP_EDIT_RECALC; +} + static void toggle_key_select(PEData *data, int point_index, int key_index) { PTCacheEdit *edit = data->edit; @@ -1381,7 +1401,7 @@ void PARTICLE_OT_select_all(wmOperatorType *ot) /************************ pick select operator ************************/ -int PE_mouse_particles(bContext *C, const int mval[2], int extend) +int PE_mouse_particles(bContext *C, const int mval[2], int extend, int deselect, int toggle) { PEData data; Scene *scene= CTX_data_scene(C); @@ -1392,7 +1412,7 @@ int PE_mouse_particles(bContext *C, const int mval[2], int extend) if (!PE_start_edit(edit)) return OPERATOR_CANCELLED; - if (!extend) { + if (!extend && !deselect && !toggle) { LOOP_VISIBLE_POINTS { LOOP_SELECTED_KEYS { key->flag &= ~PEK_SELECT; @@ -1405,7 +1425,13 @@ int PE_mouse_particles(bContext *C, const int mval[2], int extend) data.mval= mval; data.rad= 75.0f; - for_mouse_hit_keys(&data, toggle_key_select, 1); /* nearest only */ + /* 1 = nearest only */ + if (extend) + for_mouse_hit_keys(&data, extend_key_select, 1); + else if (deselect) + for_mouse_hit_keys(&data, deselect_key_select, 1); + else + for_mouse_hit_keys(&data, toggle_key_select, 1); PE_update_selection(scene, ob, 1); WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_SELECTED, data.ob); @@ -3494,7 +3520,8 @@ static void brush_edit_apply(bContext *C, wmOperator *op, PointerRNA *itemptr) pset->flag &= ~PE_LOCK_FIRST; if (((pset->brushtype == PE_BRUSH_ADD) ? - (sqrt(dx * dx + dy * dy) > pset->brush[PE_BRUSH_ADD].step) : (dx != 0 || dy != 0)) || bedit->first) { + (sqrt(dx * dx + dy * dy) > pset->brush[PE_BRUSH_ADD].step) : (dx != 0 || dy != 0)) || bedit->first) + { PEData data= bedit->data; view3d_operator_needs_opengl(C); diff --git a/source/blender/editors/physics/physics_fluid.c b/source/blender/editors/physics/physics_fluid.c index 5a56672f766..b31e5c0aea3 100644 --- a/source/blender/editors/physics/physics_fluid.c +++ b/source/blender/editors/physics/physics_fluid.c @@ -419,7 +419,7 @@ static void fluid_init_all_channels(bContext *C, Object *UNUSED(fsDomain), Fluid /* Modifying the global scene isn't nice, but we can do it in * this part of the process before a threaded job is created */ scene->r.cfra = (int)eval_time; - ED_update_for_newframe(CTX_data_main(C), scene, CTX_wm_screen(C), 1); + ED_update_for_newframe(CTX_data_main(C), scene, 1); /* now scene data should be current according to animation system, so we fill the channels */ @@ -540,7 +540,7 @@ static void export_fluid_objects(ListBase *fobjects, Scene *scene, int length) fsmesh.volumeInitType = fluidmd->fss->volumeInitType; fsmesh.obstacleImpactFactor = fluidmd->fss->surfaceSmoothing; // misused value - if (fsmesh.type == OB_FLUIDSIM_CONTROL) { + if (fsmesh.type == OB_FLUIDSIM_CONTROL) { fsmesh.cpsTimeStart = fluidmd->fss->cpsTimeStart; fsmesh.cpsTimeEnd = fluidmd->fss->cpsTimeEnd; fsmesh.cpsQuality = fluidmd->fss->cpsQuality; @@ -708,7 +708,7 @@ static int fluid_init_filepaths(Object *fsDomain, char *targetDir, char *targetF strncpy(domainSettings->surfdataPath, newSurfdataPath, FILE_MAXDIR); BLI_path_abs(targetDir, G.main->name); // fixed #frame-no } -#endif +#endif return outStringsChanged; } @@ -750,8 +750,8 @@ static void fluidbake_updatejob(void *customdata, float progress) { FluidBakeJob *fb= (FluidBakeJob *)customdata; - *(fb->do_update)= 1; - *(fb->progress)= progress; + *(fb->do_update) = TRUE; + *(fb->progress) = progress; } static void fluidbake_startjob(void *customdata, short *stop, short *do_update, float *progress) @@ -765,7 +765,7 @@ static void fluidbake_startjob(void *customdata, short *stop, short *do_update, G.afbreek= 0; /* XXX shared with render - replace with job 'stop' switch */ elbeemSimulate(); - *do_update= 1; + *do_update = TRUE; *stop = 0; } @@ -967,7 +967,7 @@ static int fluidsimBake(bContext *C, ReportList *reports, Object *fsDomain, shor /* reset to original current frame */ scene->r.cfra = origFrame; - ED_update_for_newframe(CTX_data_main(C), scene, CTX_wm_screen(C), 1); + ED_update_for_newframe(CTX_data_main(C), scene, 1); /* ******** init domain object's matrix ******** */ copy_m4_m4(domainMat, fsDomain->obmat); diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c index 595b51d22c4..b7bd027ba7f 100644 --- a/source/blender/editors/render/render_internal.c +++ b/source/blender/editors/render/render_internal.c @@ -236,7 +236,7 @@ static int screen_render_exec(bContext *C, wmOperator *op) RE_SetReports(re, NULL); // no redraw needed, we leave state as we entered it - ED_update_for_newframe(mainp, scene, CTX_wm_screen(C), 1); + ED_update_for_newframe(mainp, scene, 1); WM_event_add_notifier(C, NC_SCENE | ND_RENDER_RESULT, scene); @@ -340,7 +340,7 @@ static void image_renderinfo_cb(void *rjv, RenderStats *rs) RE_ReleaseResult(rj->re); /* make jobs timer to send notifier */ - *(rj->do_update) = 1; + *(rj->do_update) = TRUE; } @@ -352,7 +352,7 @@ static void render_progress_update(void *rjv, float progress) *rj->progress = progress; /* make jobs timer to send notifier */ - *(rj->do_update) = 1; + *(rj->do_update) = TRUE; } } @@ -372,7 +372,7 @@ static void image_rect_update(void *rjv, RenderResult *rr, volatile rcti *renrec image_buffer_rect_update(rj->scene, rr, ibuf, renrect); /* make jobs timer to send notifier */ - *(rj->do_update) = 1; + *(rj->do_update) = TRUE; } BKE_image_release_ibuf(ima, lock); } @@ -408,7 +408,7 @@ static void render_endjob(void *rjv) /* else the frame will not update for the original value */ if (!(rj->scene->r.scemode & R_NO_FRAME_UPDATE)) - ED_update_for_newframe(G.main, rj->scene, rj->win->screen, 1); + ED_update_for_newframe(G.main, rj->scene, 1); /* XXX above function sets all tags in nodes */ ntreeCompositClearTags(rj->scene->nodetree); @@ -470,7 +470,6 @@ static int screen_render_invoke(bContext *C, wmOperator *op, wmEvent *event) Main *mainp; Scene *scene = CTX_data_scene(C); SceneRenderLayer *srl = NULL; - bScreen *screen = CTX_wm_screen(C); View3D *v3d = CTX_wm_view3d(C); Render *re; wmJob *steve; @@ -507,7 +506,7 @@ static int screen_render_invoke(bContext *C, wmOperator *op, wmEvent *event) mainp = CTX_data_main(C); /* cancel animation playback */ - if (screen->animtimer) + if (ED_screen_animation_playing(CTX_wm_manager(C))) ED_screen_animation_play(C, 0, 0); /* handle UI stuff */ diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c index f7024444e86..6357cb48a3d 100644 --- a/source/blender/editors/render/render_preview.c +++ b/source/blender/editors/render/render_preview.c @@ -473,7 +473,7 @@ static int ed_preview_draw_rect(ScrArea *sa, Scene *sce, ID *id, int split, int Render *re; RenderResult rres; char name[32]; - int do_gamma_correct = 0, do_predivide = 0; + int do_gamma_correct = FALSE, do_predivide = FALSE; int offx = 0, newx = rect->xmax - rect->xmin, newy = rect->ymax - rect->ymin; if (id && GS(id->name) != ID_TE) { @@ -583,7 +583,7 @@ static void shader_preview_draw(void *spv, RenderResult *UNUSED(rr), volatile st { ShaderPreview *sp = spv; - *(sp->do_update) = 1; + *(sp->do_update) = TRUE; } /* called by renderer, checks job value */ @@ -737,7 +737,7 @@ static void shader_preview_startjob(void *customdata, short *stop, short *do_upd else shader_preview_render(sp, sp->id, 0, 0); - *do_update = 1; + *do_update = TRUE; } static void shader_preview_free(void *customdata) @@ -910,7 +910,7 @@ static void icon_preview_startjob(void *customdata, short *stop, short *do_updat icon_copy_rect(ibuf, sp->sizex, sp->sizey, sp->pr_rect); - *do_update = 1; + *do_update = TRUE; } else if (idtype == ID_BR) { Brush *br = (Brush *)id; @@ -924,7 +924,7 @@ static void icon_preview_startjob(void *customdata, short *stop, short *do_updat icon_copy_rect(br->icon_imbuf, sp->sizex, sp->sizey, sp->pr_rect); - *do_update = 1; + *do_update = TRUE; } else { /* re-use shader job */ diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c index fed336e8e45..05d62d0b32d 100644 --- a/source/blender/editors/render/render_shading.c +++ b/source/blender/editors/render/render_shading.c @@ -383,7 +383,7 @@ static int new_material_exec(bContext *C, wmOperator *UNUSED(op)) if (BKE_scene_use_new_shading_nodes(scene)) { ED_node_shader_default(scene, &ma->id); - ma->use_nodes = 1; + ma->use_nodes = TRUE; } } @@ -483,7 +483,7 @@ static int new_world_exec(bContext *C, wmOperator *UNUSED(op)) if (BKE_scene_use_new_shading_nodes(scene)) { ED_node_shader_default(scene, &wo->id); - wo->use_nodes = 1; + wo->use_nodes = TRUE; } } diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index 0f286d91613..9771fef2d58 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -145,7 +145,7 @@ void ED_area_do_refresh(bContext *C, ScrArea *sa) if (sa->type && sa->type->refresh) { sa->type->refresh(C, sa); } - sa->do_refresh = 0; + sa->do_refresh = FALSE; } /* based on screen region draw tags, set draw tags in azones, and future region tabs etc */ @@ -162,7 +162,7 @@ void ED_area_overdraw_flush(ScrArea *sa, ARegion *ar) /* test if inside */ if (BLI_in_rcti(&ar->winrct, xs, ys)) { - az->do_draw = 1; + az->do_draw = TRUE; } } } @@ -384,7 +384,7 @@ void ED_area_overdraw(bContext *C) } } - az->do_draw = 0; + az->do_draw = FALSE; } } } @@ -487,7 +487,7 @@ void ED_region_do_draw(bContext *C, ARegion *ar) ED_region_draw_cb_draw(C, ar, REGION_DRAW_POST_PIXEL); - ar->do_draw = 0; + ar->do_draw = FALSE; memset(&ar->drawrct, 0, sizeof(ar->drawrct)); uiFreeInactiveBlocks(C, &ar->uiblocks); @@ -559,7 +559,7 @@ void ED_area_tag_redraw_regiontype(ScrArea *sa, int regiontype) void ED_area_tag_refresh(ScrArea *sa) { if (sa) - sa->do_refresh = 1; + sa->do_refresh = TRUE; } /* *************************************************************** */ diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index d714f82b58b..37ab87780b5 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -421,7 +421,7 @@ bScreen *ED_screen_add(wmWindow *win, Scene *scene, const char *name) sc = BKE_libblock_alloc(&G.main->screen, ID_SCR, name); sc->scene = scene; - sc->do_refresh = 1; + sc->do_refresh = TRUE; sc->redraws_flag = TIME_ALL_3D_WIN | TIME_ALL_ANIM_WIN; sc->winid = win->winid; @@ -944,7 +944,7 @@ bScreen *ED_screen_duplicate(wmWindow *win, bScreen *sc) } /* screen sets cursor based on swinid */ -static void region_cursor_set(wmWindow *win, int swinid) +static void region_cursor_set(wmWindow *win, int swinid, int swin_changed) { ScrArea *sa = win->screen->areabase.first; @@ -952,10 +952,12 @@ static void region_cursor_set(wmWindow *win, int swinid) ARegion *ar = sa->regionbase.first; for (; ar; ar = ar->next) { if (ar->swinid == swinid) { - if (ar->type && ar->type->cursor) - ar->type->cursor(win, sa, ar); - else - WM_cursor_set(win, CURSOR_STD); + if (swin_changed || (ar->type && ar->type->event_cursor)) { + if (ar->type && ar->type->cursor) + ar->type->cursor(win, sa, ar); + else + WM_cursor_set(win, CURSOR_STD); + } return; } } @@ -970,20 +972,20 @@ void ED_screen_do_listen(bContext *C, wmNotifier *note) switch (note->category) { case NC_WM: if (note->data == ND_FILEREAD) - win->screen->do_draw = 1; + win->screen->do_draw = TRUE; break; case NC_WINDOW: - win->screen->do_draw = 1; + win->screen->do_draw = TRUE; break; case NC_SCREEN: if (note->data == ND_SUBWINACTIVE) uiFreeActiveButtons(C, win->screen); if (note->action == NA_EDITED) - win->screen->do_draw = win->screen->do_refresh = 1; + win->screen->do_draw = win->screen->do_refresh = TRUE; break; case NC_SCENE: if (note->data == ND_MODE) - region_cursor_set(win, note->swinid); + region_cursor_set(win, note->swinid, TRUE); break; } } @@ -1055,7 +1057,7 @@ void ED_screen_draw(wmWindow *win) glDisable(GL_BLEND); } - win->screen->do_draw = 0; + win->screen->do_draw = FALSE; } /* helper call for below, dpi changes headers */ @@ -1108,7 +1110,7 @@ void ED_screen_refresh(wmWindowManager *wm, wmWindow *win) if (G.debug & G_DEBUG_EVENTS) { printf("%s: set screen\n", __func__); } - win->screen->do_refresh = 0; + win->screen->do_refresh = FALSE; win->screen->context = ed_screen_context; } @@ -1239,9 +1241,7 @@ static void screen_cursor_set(wmWindow *win, wmEvent *event) else WM_cursor_set(win, CURSOR_X_MOVE); } - else - WM_cursor_set(win, CURSOR_STD); - } + } } @@ -1276,11 +1276,11 @@ void ED_screen_set_subwinactive(bContext *C, wmEvent *event) if (oldswin != scr->subwinactive) { for (sa = scr->areabase.first; sa; sa = sa->next) { - int do_draw = 0; + int do_draw = FALSE; for (ar = sa->regionbase.first; ar; ar = ar->next) if (ar->swinid == oldswin || ar->swinid == scr->subwinactive) - do_draw = 1; + do_draw = TRUE; if (do_draw) { for (ar = sa->regionbase.first; ar; ar = ar->next) @@ -1294,9 +1294,13 @@ void ED_screen_set_subwinactive(bContext *C, wmEvent *event) if (scr->subwinactive == scr->mainwin) { screen_cursor_set(win, event); } - else if (oldswin != scr->subwinactive) { - region_cursor_set(win, scr->subwinactive); - WM_event_add_notifier(C, NC_SCREEN | ND_SUBWINACTIVE, scr); + else { + if (oldswin != scr->subwinactive) { + region_cursor_set(win, scr->subwinactive, TRUE); + WM_event_add_notifier(C, NC_SCREEN | ND_SUBWINACTIVE, scr); + } + else + region_cursor_set(win, scr->subwinactive, FALSE); } } } @@ -1502,7 +1506,7 @@ void ED_screen_set_scene(bContext *C, bScreen *screen, Scene *scene) BKE_scene_set_background(bmain, scene); ED_render_engine_changed(bmain); - ED_update_for_newframe(bmain, scene, screen, 1); + ED_update_for_newframe(bmain, scene, 1); /* complete redraw */ WM_event_add_notifier(C, NC_WINDOW, NULL); @@ -1746,10 +1750,12 @@ void ED_screen_animation_timer(bContext *C, int redraws, int refresh, int sync, wmWindowManager *wm = CTX_wm_manager(C); wmWindow *win = CTX_wm_window(C); Scene *scene = CTX_data_scene(C); + bScreen *stopscreen = ED_screen_animation_playing(wm); - if (screen->animtimer) - WM_event_remove_timer(wm, win, screen->animtimer); - screen->animtimer = NULL; + if (stopscreen) { + WM_event_remove_timer(wm, win, stopscreen->animtimer); + stopscreen->animtimer = NULL; + } if (enable) { ScreenAnimData *sad = MEM_callocN(sizeof(ScreenAnimData), "ScreenAnimData"); @@ -1773,8 +1779,9 @@ void ED_screen_animation_timer(bContext *C, int redraws, int refresh, int sync, screen->animtimer->customdata = sad; } + /* notifier catched by top header, for button */ - WM_event_add_notifier(C, NC_SCREEN | ND_ANIMPLAY, screen); + WM_event_add_notifier(C, NC_SCREEN | ND_ANIMPLAY, NULL); } /* helper for screen_animation_play() - only to be used for TimeLine */ @@ -1817,8 +1824,12 @@ void ED_screen_animation_timer_update(bScreen *screen, int redraws, int refresh) /* results in fully updated anim system * screen can be NULL */ -void ED_update_for_newframe(Main *bmain, Scene *scene, bScreen *screen, int UNUSED(mute)) -{ +void ED_update_for_newframe(Main *bmain, Scene *scene, int UNUSED(mute)) +{ + wmWindowManager *wm = bmain->wm.first; + wmWindow *window; + int layers = 0; + #ifdef DURIAN_CAMERA_SWITCH void *camera = BKE_scene_camera_switch_find(scene); if (camera && scene->camera != camera) { @@ -1839,9 +1850,12 @@ void ED_update_for_newframe(Main *bmain, Scene *scene, bScreen *screen, int UNUS ED_clip_update_frame(bmain, scene->r.cfra); + /* get layers from all windows */ + for (window = wm->windows.first; window; window = window->next) + layers |= BKE_screen_visible_layers(window->screen, scene); + /* this function applies the changes too */ - /* XXX future: do all windows */ - BKE_scene_update_for_newframe(bmain, scene, BKE_screen_visible_layers(screen, scene)); /* BKE_scene.h */ + BKE_scene_update_for_newframe(bmain, scene, layers); /* BKE_scene.h */ //if ( (CFRA>1) && (!mute) && (scene->r.audio.flag & AUDIO_SCRUB)) // audiostream_scrub( CFRA ); diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c index 0d5aceb9870..5faa2deb266 100644 --- a/source/blender/editors/screen/screen_ops.c +++ b/source/blender/editors/screen/screen_ops.c @@ -37,6 +37,8 @@ #include "BLI_dlrbTree.h" #include "BLI_utildefines.h" +#include "BLF_translation.h" + #include "DNA_armature_types.h" #include "DNA_lattice_types.h" #include "DNA_object_types.h" @@ -1466,7 +1468,7 @@ static int area_split_modal(bContext *C, wmOperator *op, wmEvent *event) } } - CTX_wm_window(C)->screen->do_draw = 1; + CTX_wm_window(C)->screen->do_draw = TRUE; } @@ -1535,7 +1537,7 @@ static EnumPropertyItem prop_direction_items[] = { static void SCREEN_OT_area_split(wmOperatorType *ot) { - ot->name = "Split area"; + ot->name = "Split Area"; ot->description = "Split selected area into new windows"; ot->idname = "SCREEN_OT_area_split"; @@ -1911,7 +1913,7 @@ static int keyframe_jump_exec(bContext *C, wmOperator *op) ActKeyColumn *ak; float cfra; short next = RNA_boolean_get(op->ptr, "next"); - short done = 0; + short done = FALSE; /* sanity checks */ if (scene == NULL) @@ -1942,7 +1944,7 @@ static int keyframe_jump_exec(bContext *C, wmOperator *op) if (CFRA != (int)ak->cfra) { /* this changes the frame, so set the frame and we're done */ CFRA = (int)ak->cfra; - done = 1; + done = TRUE; } else { /* make this the new starting point for the search */ @@ -2351,7 +2353,7 @@ static int area_join_modal(bContext *C, wmOperator *op, wmEvent *event) static void SCREEN_OT_area_join(wmOperatorType *ot) { /* identifiers */ - ot->name = "Join area"; + ot->name = "Join Area"; ot->description = "Join selected areas into new window"; ot->idname = "SCREEN_OT_area_join"; @@ -2382,7 +2384,7 @@ static int screen_area_options_invoke(bContext *C, wmOperator *op, wmEvent *even if (actedge == NULL) return OPERATOR_CANCELLED; - pup = uiPupMenuBegin(C, op->type->name, ICON_NONE); + pup = uiPupMenuBegin(C, RNA_struct_ui_name(op->type->srna), ICON_NONE); layout = uiPupMenuLayout(pup); WM_operator_properties_create(&ptr1, "SCREEN_OT_area_join"); @@ -2399,8 +2401,8 @@ static int screen_area_options_invoke(bContext *C, wmOperator *op, wmEvent *even RNA_int_set(&ptr2, "mouse_x", event->x); RNA_int_set(&ptr2, "mouse_y", event->y); - uiItemFullO(layout, "SCREEN_OT_area_split", "Split Area", ICON_NONE, ptr2.data, WM_OP_INVOKE_DEFAULT, 0); - uiItemFullO(layout, "SCREEN_OT_area_join", "Join Area", ICON_NONE, ptr1.data, WM_OP_INVOKE_DEFAULT, 0); + uiItemFullO(layout, "SCREEN_OT_area_split", NULL, ICON_NONE, ptr2.data, WM_OP_INVOKE_DEFAULT, 0); + uiItemFullO(layout, "SCREEN_OT_area_join", NULL, ICON_NONE, ptr1.data, WM_OP_INVOKE_DEFAULT, 0); uiPupMenuEnd(C, pup); @@ -2499,11 +2501,11 @@ static int repeat_history_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(ev if (items == 0) return OPERATOR_CANCELLED; - pup = uiPupMenuBegin(C, op->type->name, ICON_NONE); + pup = uiPupMenuBegin(C, RNA_struct_ui_name(op->type->srna), ICON_NONE); layout = uiPupMenuLayout(pup); for (i = items - 1, lastop = wm->operators.last; lastop; lastop = lastop->prev, i--) - uiItemIntO(layout, lastop->type->name, ICON_NONE, op->type->idname, "index", i); + uiItemIntO(layout, RNA_struct_ui_name(lastop->type->srna), ICON_NONE, op->type->idname, "index", i); uiPupMenuEnd(C, pup); @@ -2903,6 +2905,8 @@ static int screen_animation_step(bContext *C, wmOperator *UNUSED(op), wmEvent *e Scene *scene = CTX_data_scene(C); wmTimer *wt = screen->animtimer; ScreenAnimData *sad = wt->customdata; + wmWindowManager *wm = CTX_wm_manager(C); + wmWindow *window; ScrArea *sa; int sync; float time; @@ -2983,22 +2987,24 @@ static int screen_animation_step(bContext *C, wmOperator *UNUSED(op), wmEvent *e sound_seek_scene(bmain, scene); /* since we follow drawflags, we can't send notifier but tag regions ourselves */ - ED_update_for_newframe(CTX_data_main(C), scene, screen, 1); - - for (sa = screen->areabase.first; sa; sa = sa->next) { - ARegion *ar; - for (ar = sa->regionbase.first; ar; ar = ar->next) { - if (ar == sad->ar) - ED_region_tag_redraw(ar); - else - if (match_region_with_redraws(sa->spacetype, ar->regiontype, sad->redraws)) - ED_region_tag_redraw(ar); + ED_update_for_newframe(CTX_data_main(C), scene, 1); + + for (window = wm->windows.first; window; window = window->next) { + for (sa = window->screen->areabase.first; sa; sa = sa->next) { + ARegion *ar; + for (ar = sa->regionbase.first; ar; ar = ar->next) { + if (ar == sad->ar) + ED_region_tag_redraw(ar); + else + if (match_region_with_redraws(sa->spacetype, ar->regiontype, sad->redraws)) + ED_region_tag_redraw(ar); + } + + if (match_area_with_refresh(sa->spacetype, sad->refresh)) + ED_area_tag_refresh(sa); } - - if (match_area_with_refresh(sa->spacetype, sad->refresh)) - ED_area_tag_refresh(sa); } - + /* update frame rate info too * NOTE: this may not be accurate enough, since we might need this after modifiers/etc. * have been calculated instead of just before updates have been done? @@ -3032,13 +3038,25 @@ static void SCREEN_OT_animation_step(wmOperatorType *ot) /* ****************** anim player, starts or ends timer ***************** */ +/* find window that owns the animation timer */ +bScreen *ED_screen_animation_playing(const wmWindowManager *wm) +{ + wmWindow *window; + + for (window = wm->windows.first; window; window = window->next) + if (window->screen->animtimer) + return window->screen; + + return NULL; +} + /* toggle operator */ int ED_screen_animation_play(bContext *C, int sync, int mode) { bScreen *screen = CTX_wm_screen(C); Scene *scene = CTX_data_scene(C); - if (screen->animtimer) { + if (ED_screen_animation_playing(CTX_wm_manager(C))) { /* stop playback now */ ED_screen_animation_timer(C, 0, 0, 0, 0); sound_stop_scene(scene); @@ -3095,9 +3113,9 @@ static void SCREEN_OT_animation_play(wmOperatorType *ot) static int screen_animation_cancel_exec(bContext *C, wmOperator *op) { - bScreen *screen = CTX_wm_screen(C); + bScreen *screen = ED_screen_animation_playing(CTX_wm_manager(C)); - if (screen->animtimer) { + if (screen) { if (RNA_boolean_get(op->ptr, "restore_frame")) { ScreenAnimData *sad = screen->animtimer->customdata; Scene *scene = CTX_data_scene(C); diff --git a/source/blender/editors/screen/screendump.c b/source/blender/editors/screen/screendump.c index 256df21b79a..77289360f98 100644 --- a/source/blender/editors/screen/screendump.c +++ b/source/blender/editors/screen/screendump.c @@ -333,7 +333,7 @@ static void screenshot_startjob(void *sjv, short *stop, short *do_update, float sj->stop = stop; sj->do_update = do_update; - *do_update = 1; // wait for opengl rect + *do_update = TRUE; /* wait for opengl rect */ while (*stop == 0) { @@ -377,7 +377,7 @@ static void screenshot_startjob(void *sjv, short *stop, short *do_update, float MEM_freeN(sj->dumprect); sj->dumprect = NULL; - *do_update = 1; + *do_update = TRUE; rd.cfra++; diff --git a/source/blender/editors/sculpt_paint/paint_cursor.c b/source/blender/editors/sculpt_paint/paint_cursor.c index ebc255f4e43..b5d44676cf6 100644 --- a/source/blender/editors/sculpt_paint/paint_cursor.c +++ b/source/blender/editors/sculpt_paint/paint_cursor.c @@ -342,7 +342,8 @@ static int sculpt_get_brush_geometry(bContext *C, ViewContext *vc, window[1] = y + vc->ar->winrct.ymin; if (vc->obact->sculpt && vc->obact->sculpt->pbvh && - sculpt_stroke_get_location(C, location, window)) { + sculpt_stroke_get_location(C, location, window)) + { *pixel_radius = project_brush_radius(vc, BKE_brush_unprojected_radius_get(scene, brush), diff --git a/source/blender/editors/sculpt_paint/paint_image.c b/source/blender/editors/sculpt_paint/paint_image.c index 9effba5b433..88fb728f334 100644 --- a/source/blender/editors/sculpt_paint/paint_image.c +++ b/source/blender/editors/sculpt_paint/paint_image.c @@ -2131,7 +2131,9 @@ static void project_bucket_clip_face( /* remove doubles */ /* first/last check */ - if (fabsf(isectVCosSS[0][0] - isectVCosSS[(*tot) - 1][0]) < PROJ_GEOM_TOLERANCE && fabsf(isectVCosSS[0][1] - isectVCosSS[(*tot) - 1][1]) < PROJ_GEOM_TOLERANCE) { + if (fabsf(isectVCosSS[0][0] - isectVCosSS[(*tot) - 1][0]) < PROJ_GEOM_TOLERANCE && + fabsf(isectVCosSS[0][1] - isectVCosSS[(*tot) - 1][1]) < PROJ_GEOM_TOLERANCE) + { (*tot)--; } @@ -2340,7 +2342,7 @@ static void project_paint_face_init(const ProjPaintState *ps, const int thread_i /* Use tf_uv_pxoffset instead of tf->uv so we can offset the UV half a pixel - * this is done so we can avoid offseting all the pixels by 0.5 which causes + * this is done so we can avoid offsetting all the pixels by 0.5 which causes * problems when wrapping negative coords */ xhalfpx = (0.5f + (PROJ_GEOM_TOLERANCE / 3.0f) ) / ibuf_xf; yhalfpx = (0.5f + (PROJ_GEOM_TOLERANCE / 4.0f) ) / ibuf_yf; @@ -2433,8 +2435,8 @@ static void project_paint_face_init(const ProjPaintState *ps, const int thread_i /* Note about IsectPoly2Df_twoside, checking the face or uv flipping doesnt work, * could check the poly direction but better to do this */ - if ((do_backfacecull && IsectPoly2Df(uv, uv_clip, uv_clip_tot)) || - (do_backfacecull == 0 && IsectPoly2Df_twoside(uv, uv_clip, uv_clip_tot))) + if ((do_backfacecull == TRUE && IsectPoly2Df(uv, uv_clip, uv_clip_tot)) || + (do_backfacecull == FALSE && IsectPoly2Df_twoside(uv, uv_clip, uv_clip_tot))) { has_x_isect = has_isect = 1; @@ -2453,7 +2455,9 @@ static void project_paint_face_init(const ProjPaintState *ps, const int thread_i /* Is this UV visible from the view? - raytrace */ /* project_paint_PickFace is less complex, use for testing */ //if (project_paint_PickFace(ps, pixelScreenCo, w, &side) == face_index) { - if (ps->do_occlude == 0 || !project_bucket_point_occluded(ps, bucketFaceNodes, face_index, pixelScreenCo)) { + if ((ps->do_occlude == FALSE) || + !project_bucket_point_occluded(ps, bucketFaceNodes, face_index, pixelScreenCo)) + { mask = project_paint_uvpixel_mask(ps, face_index, side, w); @@ -2629,8 +2633,9 @@ static void project_paint_face_init(const ProjPaintState *ps, const int thread_i pixelScreenCo[2] = pixelScreenCo[2] / pixelScreenCo[3]; /* Use the depth for bucket point occlusion */ } - if (ps->do_occlude == 0 || !project_bucket_point_occluded(ps, bucketFaceNodes, face_index, pixelScreenCo)) { - + if ((ps->do_occlude == FALSE) || + !project_bucket_point_occluded(ps, bucketFaceNodes, face_index, pixelScreenCo)) + { /* Only bother calculating the weights if we intersect */ if (ps->do_mask_normal || ps->dm_mtface_clone) { #if 1 @@ -3005,7 +3010,7 @@ static void project_paint_begin(ProjPaintState *ps) ps->dm_mtface_clone = CustomData_get_layer_n(&ps->dm->faceData, CD_MTFACE, layer_num); if (ps->dm_mtface_clone == NULL || ps->dm_mtface_clone == ps->dm_mtface) { - ps->do_layer_clone = 0; + ps->do_layer_clone = FALSE; ps->dm_mtface_clone = NULL; printf("ACK!\n"); } @@ -3018,7 +3023,7 @@ static void project_paint_begin(ProjPaintState *ps) ps->dm_mtface_stencil = CustomData_get_layer_n(&ps->dm->faceData, CD_MTFACE, layer_num); if (ps->dm_mtface_stencil == NULL || ps->dm_mtface_stencil == ps->dm_mtface) { - ps->do_layer_stencil = 0; + ps->do_layer_stencil = FALSE; ps->dm_mtface_stencil = NULL; } } @@ -3850,7 +3855,7 @@ static void *do_projectpaint_thread(void *ph_v) float falloff; int bucket_index; int is_floatbuf = 0; - int use_color_correction = 0; + int use_color_correction = FALSE; const short tool = ps->tool; rctf bucket_bounds; @@ -4808,7 +4813,7 @@ static void project_state_init(bContext *C, Object *ob, ProjPaintState *ps) ps->normal_angle_range = ps->normal_angle - ps->normal_angle_inner; if (ps->normal_angle_range <= 0.0f) - ps->do_mask_normal = 0; /* no need to do blending */ + ps->do_mask_normal = FALSE; /* no need to do blending */ } static void paint_brush_init_tex(Brush *brush) diff --git a/source/blender/editors/sculpt_paint/paint_intern.h b/source/blender/editors/sculpt_paint/paint_intern.h index a97563b258f..de149bf2806 100644 --- a/source/blender/editors/sculpt_paint/paint_intern.h +++ b/source/blender/editors/sculpt_paint/paint_intern.h @@ -52,7 +52,7 @@ struct wmOperatorType; /* paint_stroke.c */ typedef int (*StrokeGetLocation)(struct bContext *C, float location[3], float mouse[2]); -typedef int (*StrokeTestStart)(struct bContext *C, struct wmOperator *op, struct wmEvent *event); +typedef int (*StrokeTestStart)(struct bContext *C, struct wmOperator *op, const float mouse[2]); typedef void (*StrokeUpdateStep)(struct bContext *C, struct PaintStroke *stroke, struct PointerRNA *itemptr); typedef void (*StrokeDone)(const struct bContext *C, struct PaintStroke *stroke); diff --git a/source/blender/editors/sculpt_paint/paint_mask.c b/source/blender/editors/sculpt_paint/paint_mask.c index 000f43b0dec..298ecf764d6 100644 --- a/source/blender/editors/sculpt_paint/paint_mask.c +++ b/source/blender/editors/sculpt_paint/paint_mask.c @@ -64,7 +64,7 @@ static void mask_flood_fill_set_elem(float *elem, PaintMaskFloodMode mode, float value) { - switch(mode) { + switch (mode) { case PAINT_MASK_FLOOD_VALUE: (*elem) = value; break; @@ -96,7 +96,7 @@ static int mask_flood_fill_exec(bContext *C, wmOperator *op) sculpt_undo_push_begin("Mask flood fill"); - for(i = 0; i < totnode; i++) { + for (i = 0; i < totnode; i++) { PBVHVertexIter vi; sculpt_undo_push_node(ob, nodes[i], SCULPT_UNDO_MASK); @@ -106,13 +106,13 @@ static int mask_flood_fill_exec(bContext *C, wmOperator *op) } BLI_pbvh_vertex_iter_end; BLI_pbvh_node_mark_update(nodes[i]); - if(BLI_pbvh_type(pbvh) == PBVH_GRIDS) + if (BLI_pbvh_type(pbvh) == PBVH_GRIDS) multires_mark_as_modified(ob, MULTIRES_COORDS_MODIFIED); } sculpt_undo_push_end(); - if(nodes) + if (nodes) MEM_freeN(nodes); ED_region_tag_redraw(ar); diff --git a/source/blender/editors/sculpt_paint/paint_ops.c b/source/blender/editors/sculpt_paint/paint_ops.c index 368729723eb..23d1c0090a0 100644 --- a/source/blender/editors/sculpt_paint/paint_ops.c +++ b/source/blender/editors/sculpt_paint/paint_ops.c @@ -225,7 +225,8 @@ static Brush *brush_tool_cycle(Main *bmain, Brush *brush_orig, const int tool, c brush = brush->id.next ? brush->id.next : bmain->brush.first) { if ((brush->ob_mode & ob_mode) && - (brush_tool(brush, tool_offset) == tool)) { + (brush_tool(brush, tool_offset) == tool)) + { return brush; } } diff --git a/source/blender/editors/sculpt_paint/paint_stroke.c b/source/blender/editors/sculpt_paint/paint_stroke.c index 9832bcf1528..987ab932fd6 100644 --- a/source/blender/editors/sculpt_paint/paint_stroke.c +++ b/source/blender/editors/sculpt_paint/paint_stroke.c @@ -60,6 +60,12 @@ #include <float.h> #include <math.h> +typedef struct PaintSample { + float mouse[2]; + + /* TODO: other input properties, e.g. tablet pressure */ +} PaintSample; + typedef struct PaintStroke { void *mode_data; void *smooth_stroke_cursor; @@ -70,6 +76,12 @@ typedef struct PaintStroke { bglMats mats; Brush *brush; + /* Paint stroke can use up to PAINT_MAX_INPUT_SAMPLES prior inputs + * to smooth the stroke */ + PaintSample samples[PAINT_MAX_INPUT_SAMPLES]; + int num_samples; + int cur_sample; + float last_mouse_position[2]; /* Set whether any stroke step has yet occurred @@ -182,10 +194,11 @@ static void paint_brush_stroke_add_step(bContext *C, wmOperator *op, wmEvent *ev } /* Returns zero if no sculpt changes should be made, non-zero otherwise */ -static int paint_smooth_stroke(PaintStroke *stroke, float output[2], wmEvent *event) +static int paint_smooth_stroke(PaintStroke *stroke, float output[2], + const PaintSample *sample) { - output[0] = event->x; - output[1] = event->y; + output[0] = sample->mouse[0]; + output[1] = sample->mouse[1]; if ((stroke->brush->flag & BRUSH_SMOOTH_STROKE) && !ELEM4(stroke->brush->sculpt_tool, @@ -197,15 +210,16 @@ static int paint_smooth_stroke(PaintStroke *stroke, float output[2], wmEvent *ev !(stroke->brush->flag & BRUSH_RESTORE_MESH)) { float u = stroke->brush->smooth_stroke_factor, v = 1.0f - u; - float dx = stroke->last_mouse_position[0] - event->x, dy = stroke->last_mouse_position[1] - event->y; + float dx = stroke->last_mouse_position[0] - sample->mouse[0]; + float dy = stroke->last_mouse_position[1] - sample->mouse[1]; /* If the mouse is moving within the radius of the last move, * don't update the mouse position. This allows sharp turns. */ if (dx * dx + dy * dy < stroke->brush->smooth_stroke_radius * stroke->brush->smooth_stroke_radius) return 0; - output[0] = event->x * v + stroke->last_mouse_position[0] * u; - output[1] = event->y * v + stroke->last_mouse_position[1] * u; + output[0] = sample->mouse[0] * v + stroke->last_mouse_position[0] * u; + output[1] = sample->mouse[1] * v + stroke->last_mouse_position[1] * u; } return 1; @@ -343,12 +357,52 @@ struct wmKeyMap *paint_stroke_modal_keymap(struct wmKeyConfig *keyconf) return keymap; } +static void paint_stroke_add_sample(const Paint *paint, + PaintStroke *stroke, + float x, float y) +{ + PaintSample *sample = &stroke->samples[stroke->cur_sample]; + int max_samples = MIN2(PAINT_MAX_INPUT_SAMPLES, + MAX2(paint->num_input_samples, 1)); + + sample->mouse[0] = x; + sample->mouse[1] = y; + + stroke->cur_sample++; + if (stroke->cur_sample >= max_samples) + stroke->cur_sample = 0; + if (stroke->num_samples < max_samples) + stroke->num_samples++; +} + +static void paint_stroke_sample_average(const PaintStroke *stroke, + PaintSample *average) +{ + int i; + + memset(average, 0, sizeof(*average)); + + BLI_assert(stroke->num_samples > 0); + + for (i = 0; i < stroke->num_samples; i++) + add_v2_v2(average->mouse, stroke->samples[i].mouse); + + mul_v2_fl(average->mouse, 1.0f / stroke->num_samples); + + /*printf("avg=(%f, %f), num=%d\n", average->mouse[0], average->mouse[1], stroke->num_samples);*/ +} + int paint_stroke_modal(bContext *C, wmOperator *op, wmEvent *event) { + Paint *p = paint_get_active(CTX_data_scene(C)); PaintStroke *stroke = op->customdata; + PaintSample sample_average; float mouse[2]; int first = 0; + paint_stroke_add_sample(p, stroke, event->x, event->y); + paint_stroke_sample_average(stroke, &sample_average); + // let NDOF motion pass through to the 3D view so we can paint and rotate simultaneously! // this isn't perfect... even when an extra MOUSEMOVE is spoofed, the stroke discards it // since the 2D deltas are zero -- code in this file needs to be updated to use the @@ -357,9 +411,8 @@ int paint_stroke_modal(bContext *C, wmOperator *op, wmEvent *event) return OPERATOR_PASS_THROUGH; if (!stroke->stroke_started) { - stroke->last_mouse_position[0] = event->x; - stroke->last_mouse_position[1] = event->y; - stroke->stroke_started = stroke->test_start(C, op, event); + copy_v2_v2(stroke->last_mouse_position, sample_average.mouse); + stroke->stroke_started = stroke->test_start(C, op, sample_average.mouse); if (stroke->stroke_started) { stroke->smooth_stroke_cursor = @@ -390,7 +443,7 @@ int paint_stroke_modal(bContext *C, wmOperator *op, wmEvent *event) (event->type == TIMER && (event->customdata == stroke->timer)) ) { if (stroke->stroke_started) { - if (paint_smooth_stroke(stroke, mouse, event)) { + if (paint_smooth_stroke(stroke, mouse, &sample_average)) { if (paint_space_stroke_enabled(stroke->brush)) { if (!paint_space_stroke(C, op, event, mouse)) { //ED_region_tag_redraw(ar); diff --git a/source/blender/editors/sculpt_paint/paint_vertex.c b/source/blender/editors/sculpt_paint/paint_vertex.c index d544183ced8..c5c08a94ae5 100644 --- a/source/blender/editors/sculpt_paint/paint_vertex.c +++ b/source/blender/editors/sculpt_paint/paint_vertex.c @@ -259,8 +259,6 @@ static void do_shared_vertex_tesscol(Mesh *me) void do_shared_vertexcol(Mesh *me, int do_tessface) { const int use_face_sel = (me->editflag & ME_EDIT_PAINT_MASK); - MLoop *ml = me->mloop; - MLoopCol *lcol = me->mloopcol; MPoly *mp; float (*scol)[4]; int i, j, has_shared = 0; @@ -274,8 +272,8 @@ void do_shared_vertexcol(Mesh *me, int do_tessface) for (i = 0, mp = me->mpoly; i < me->totpoly; i++, mp++) { if ((use_face_sel == FALSE) || (mp->flag & ME_FACE_SEL)) { - ml = me->mloop + mp->loopstart; - lcol = me->mloopcol + mp->loopstart; + MLoop *ml = me->mloop + mp->loopstart; + MLoopCol *lcol = me->mloopcol + mp->loopstart; for (j = 0; j < mp->totloop; j++, ml++, lcol++) { scol[ml->v][0] += lcol->r; scol[ml->v][1] += lcol->g; @@ -295,8 +293,8 @@ void do_shared_vertexcol(Mesh *me, int do_tessface) for (i = 0, mp = me->mpoly; i < me->totpoly; i++, mp++) { if ((use_face_sel == FALSE) || (mp->flag & ME_FACE_SEL)) { - ml = me->mloop + mp->loopstart; - lcol = me->mloopcol + mp->loopstart; + MLoop *ml = me->mloop + mp->loopstart; + MLoopCol *lcol = me->mloopcol + mp->loopstart; for (j = 0; j < mp->totloop; j++, ml++, lcol++) { lcol->r = scol[ml->v][0]; lcol->g = scol[ml->v][1]; @@ -1867,7 +1865,7 @@ static void do_weight_paint_vertex( * * So! just balance out the 2 weights, it keeps them equal and everything normalized. * - * While it wont hit the desired weight immediatelty as the user waggles their mouse, + * While it wont hit the desired weight immediately as the user waggles their mouse, * constant painting and re-normalizing will get there. this is also just simpler logic. * - campbell */ dw_mirr->weight = dw->weight = (dw_mirr->weight + dw->weight) * 0.5f; @@ -1952,7 +1950,7 @@ static void do_weight_paint_vertex( /* dv may have been altered greatly */ dw = defvert_find_index(dv, vgroup); #else - dw = NULL; /* UNUSED after assignment, set to NULL to ensuyre we don't + dw = NULL; /* UNUSED after assignment, set to NULL to ensure we don't * use again, we thats needed un-ifdef the line above */ (void)dw; /* quiet warnigns */ #endif @@ -2125,7 +2123,7 @@ static char *wpaint_make_validmap(Object *ob) return vgroup_validmap; } -static int wpaint_stroke_test_start(bContext *C, wmOperator *op, wmEvent *UNUSED(event)) +static int wpaint_stroke_test_start(bContext *C, wmOperator *op, const float UNUSED(mouse[2])) { Scene *scene = CTX_data_scene(C); struct PaintStroke *stroke = op->customdata; @@ -2673,7 +2671,7 @@ static void vpaint_build_poly_facemap(struct VPaintData *vd, Mesh *me) } } -static int vpaint_stroke_test_start(bContext *C, struct wmOperator *op, wmEvent *UNUSED(event)) +static int vpaint_stroke_test_start(bContext *C, struct wmOperator *op, const float UNUSED(mouse[2])) { ToolSettings *ts = CTX_data_tool_settings(C); struct PaintStroke *stroke = op->customdata; diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c index 7e766ea3388..7b8337ff957 100644 --- a/source/blender/editors/sculpt_paint/sculpt.c +++ b/source/blender/editors/sculpt_paint/sculpt.c @@ -350,7 +350,8 @@ static int sculpt_get_redraw_rect(ARegion *ar, RegionView3D *rv3d, bb_max, ar, rv3d, - ob)) { + ob)) + { return 0; } @@ -1884,14 +1885,14 @@ static void do_layer_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode SculptSession *ss = ob->sculpt; Brush *brush = paint_brush(&sd->paint); float bstrength = ss->cache->bstrength; - float area_normal[3], offset[3]; + float offset[3]; float lim = brush->height; int n; if (bstrength < 0) lim = -lim; - mul_v3_v3v3(offset, ss->cache->scale, area_normal); + mul_v3_v3v3(offset, ss->cache->scale, ss->cache->sculpt_normal_symm); #pragma omp parallel for schedule(guided) if (sd->flags & SCULPT_USE_OPENMP) for (n = 0; n < totnode; n++) { @@ -1917,7 +1918,8 @@ static void do_layer_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode { if (sculpt_brush_test(&test, origco[vd.i])) { const float fade = bstrength * tex_strength(ss, brush, vd.co, test.dist, - area_normal, vd.no, vd.fno, *vd.mask); + ss->cache->sculpt_normal_symm, + vd.no, vd.fno, *vd.mask); float *disp = &layer_disp[vd.i]; float val[3]; @@ -2775,7 +2777,8 @@ static void do_brush_action(Sculpt *sd, Object *ob, Brush *brush) } if (!ELEM(brush->sculpt_tool, SCULPT_TOOL_SMOOTH, SCULPT_TOOL_MASK) && - brush->autosmooth_factor > 0) { + brush->autosmooth_factor > 0) + { if (brush->flag & BRUSH_INVERSE_SMOOTH_PRESSURE) { smooth(sd, ob, nodes, totnode, brush->autosmooth_factor * (1 - ss->cache->pressure), FALSE); } @@ -2867,7 +2870,7 @@ static void sculpt_update_keyblock(Object *ob) SculptSession *ss = ob->sculpt; float (*vertCos)[3]; - /* Keyblock update happens after hadning deformation caused by modifiers, + /* Keyblock update happens after handling deformation caused by modifiers, * so ss->orig_cos would be updated with new stroke */ if (ss->orig_cos) vertCos = ss->orig_cos; else vertCos = BLI_pbvh_get_vertCos(ss->pbvh); @@ -3195,7 +3198,8 @@ static void sculpt_init_mirror_clipping(Object *ob, SculptSession *ss) for (md = ob->modifiers.first; md; md = md->next) { if (md->type == eModifierType_Mirror && - (md->mode & eModifierMode_Realtime)) { + (md->mode & eModifierMode_Realtime)) + { MirrorModifierData *mmd = (MirrorModifierData *)md; if (mmd->flag & MOD_MIR_CLIPPING) { @@ -3220,7 +3224,7 @@ static void sculpt_init_mirror_clipping(Object *ob, SculptSession *ss) } /* Initialize the stroke cache invariants from operator properties */ -static void sculpt_update_cache_invariants(bContext *C, Sculpt *sd, SculptSession *ss, wmOperator *op, wmEvent *event) +static void sculpt_update_cache_invariants(bContext *C, Sculpt *sd, SculptSession *ss, wmOperator *op, const float mouse[2]) { StrokeCache *cache = MEM_callocN(sizeof(StrokeCache), "stroke cache"); Brush *brush = paint_brush(&sd->paint); @@ -3243,14 +3247,7 @@ static void sculpt_update_cache_invariants(bContext *C, Sculpt *sd, SculptSessio sculpt_init_mirror_clipping(ob, ss); /* Initial mouse location */ - if (event) { - ss->cache->initial_mouse[0] = event->x; - ss->cache->initial_mouse[1] = event->y; - } - else { - ss->cache->initial_mouse[0] = 0; - ss->cache->initial_mouse[1] = 0; - } + copy_v2_v2(ss->cache->initial_mouse, mouse); mode = RNA_enum_get(op->ptr, "mode"); cache->invert = mode == BRUSH_STROKE_INVERT; @@ -3354,7 +3351,8 @@ static void sculpt_update_brush_delta(Sculpt *sd, Object *ob, Brush *brush) if (ELEM5(tool, SCULPT_TOOL_GRAB, SCULPT_TOOL_NUDGE, SCULPT_TOOL_CLAY_STRIPS, SCULPT_TOOL_SNAKE_HOOK, - SCULPT_TOOL_THUMB)) { + SCULPT_TOOL_THUMB)) + { float grab_location[3], imat[4][4], delta[3], loc[3]; if (cache->first_time) { @@ -3763,18 +3761,18 @@ static int over_mesh(bContext *C, struct wmOperator *UNUSED(op), float x, float } static int sculpt_stroke_test_start(bContext *C, struct wmOperator *op, - wmEvent *event) + const float mouse[2]) { /* Don't start the stroke until mouse goes over the mesh. * note: event will only be null when re-executing the saved stroke. */ - if (event == NULL || over_mesh(C, op, event->x, event->y)) { + if (over_mesh(C, op, mouse[0], mouse[1])) { Object *ob = CTX_data_active_object(C); SculptSession *ss = ob->sculpt; Sculpt *sd = CTX_data_tool_settings(C)->sculpt; ED_view3d_init_mats_rv3d(ob, CTX_wm_region_view3d(C)); - sculpt_update_cache_invariants(C, sd, ss, op, event); + sculpt_update_cache_invariants(C, sd, ss, op, mouse); sculpt_undo_push_begin(sculpt_tool_name(sd)); diff --git a/source/blender/editors/sound/sound_ops.c b/source/blender/editors/sound/sound_ops.c index e91b29ff0c1..af7f3bd4aed 100644 --- a/source/blender/editors/sound/sound_ops.c +++ b/source/blender/editors/sound/sound_ops.c @@ -80,7 +80,7 @@ static int sound_open_cancel(bContext *UNUSED(C), wmOperator *op) { MEM_freeN(op->customdata); - op->customdata= NULL; + op->customdata = NULL; return OPERATOR_CANCELLED; } @@ -88,7 +88,7 @@ static void sound_open_init(bContext *C, wmOperator *op) { PropertyPointerRNA *pprop; - op->customdata= pprop= MEM_callocN(sizeof(PropertyPointerRNA), "OpenPropertyPointerRNA"); + op->customdata = pprop = MEM_callocN(sizeof(PropertyPointerRNA), "OpenPropertyPointerRNA"); uiIDContextProperty(C, &pprop->ptr, &pprop->prop); } @@ -108,7 +108,7 @@ static int sound_open_exec(bContext *C, wmOperator *op) if (!op->customdata) sound_open_init(C, op); - if (sound==NULL || sound->playback_handle == NULL) { + if (sound == NULL || sound->playback_handle == NULL) { if (op->customdata) MEM_freeN(op->customdata); BKE_report(op->reports, RPT_ERROR, "Unsupported audio format"); return OPERATOR_CANCELLED; @@ -133,7 +133,7 @@ static int sound_open_exec(bContext *C, wmOperator *op) } /* hook into UI */ - pprop= op->customdata; + pprop = op->customdata; if (pprop->prop) { /* when creating new ID blocks, use is already 1, but RNA @@ -183,10 +183,10 @@ static void SOUND_OT_open(wmOperatorType *ot) ot->cancel = sound_open_cancel; /* flags */ - ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; + ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; /* properties */ - WM_operator_properties_filesel(ot, FOLDERFILE|SOUNDFILE|MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH | WM_FILESEL_RELPATH, FILE_DEFAULTDISPLAY); + WM_operator_properties_filesel(ot, FOLDERFILE | SOUNDFILE | MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH | WM_FILESEL_RELPATH, FILE_DEFAULTDISPLAY); RNA_def_boolean(ot->srna, "cache", FALSE, "Cache", "Cache the sound in memory"); RNA_def_boolean(ot->srna, "mono", FALSE, "Mono", "Mixdown the sound to mono"); } @@ -204,10 +204,10 @@ static void SOUND_OT_open_mono(wmOperatorType *ot) ot->cancel = sound_open_cancel; /* flags */ - ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; + ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; /* properties */ - WM_operator_properties_filesel(ot, FOLDERFILE|SOUNDFILE|MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH | WM_FILESEL_RELPATH, FILE_DEFAULTDISPLAY); + WM_operator_properties_filesel(ot, FOLDERFILE | SOUNDFILE | MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH | WM_FILESEL_RELPATH, FILE_DEFAULTDISPLAY); RNA_def_boolean(ot->srna, "cache", FALSE, "Cache", "Cache the sound in memory"); RNA_def_boolean(ot->srna, "mono", TRUE, "Mono", "Mixdown the sound to mono"); } @@ -216,12 +216,12 @@ static void SOUND_OT_open_mono(wmOperatorType *ot) static int sound_update_animation_flags_exec(bContext *C, wmOperator *UNUSED(op)) { - Sequence* seq; - Scene* scene = CTX_data_scene(C); - struct FCurve* fcu; + Sequence *seq; + Scene *scene = CTX_data_scene(C); + struct FCurve *fcu; char driven; - SEQ_BEGIN (scene->ed, seq) + SEQ_BEGIN(scene->ed, seq) { fcu = id_data_find_fcurve(&scene->id, seq, &RNA_Sequence, "volume", 0, &driven); if (fcu || driven) @@ -243,7 +243,7 @@ static int sound_update_animation_flags_exec(bContext *C, wmOperator *UNUSED(op) } SEQ_END - fcu = id_data_find_fcurve(&scene->id, scene, &RNA_Scene, "audio_volume", 0, &driven); + fcu = id_data_find_fcurve(&scene->id, scene, &RNA_Scene, "audio_volume", 0, &driven); if (fcu || driven) scene->audio.flag |= AUDIO_VOLUME_ANIMATED; else @@ -277,8 +277,8 @@ static void SOUND_OT_update_animation_flags(wmOperatorType *ot) static int sound_bake_animation_exec(bContext *C, wmOperator *UNUSED(op)) { - Main* bmain = CTX_data_main(C); - Scene* scene = CTX_data_scene(C); + Main *bmain = CTX_data_main(C); + Scene *scene = CTX_data_scene(C); int oldfra = scene->r.cfra; int cfra; @@ -325,7 +325,7 @@ static int sound_mixdown_exec(bContext *C, wmOperator *op) AUD_DeviceSpecs specs; AUD_Container container; AUD_Codec codec; - const char* result; + const char *result; sound_bake_animation_exec(C, op); @@ -362,6 +362,81 @@ static int sound_mixdown_exec(bContext *C, wmOperator *op) return OPERATOR_FINISHED; } +#ifdef WITH_AUDASPACE +static EnumPropertyItem container_items[] = { +#ifdef WITH_FFMPEG + {AUD_CONTAINER_AC3, "AC3", 0, "ac3", "Dolby Digital ATRAC 3"}, +#endif + {AUD_CONTAINER_FLAC, "FLAC", 0, "flac", "Free Lossless Audio Codec"}, +#ifdef WITH_FFMPEG + {AUD_CONTAINER_MATROSKA, "MATROSKA", 0, "mkv", "Matroska"}, + {AUD_CONTAINER_MP2, "MP2", 0, "mp2", "MPEG-1 Audio Layer II"}, + {AUD_CONTAINER_MP3, "MP3", 0, "mp3", "MPEG-2 Audio Layer III"}, +#endif + {AUD_CONTAINER_OGG, "OGG", 0, "ogg", "Xiph.Org Ogg Container"}, + {AUD_CONTAINER_WAV, "WAV", 0, "wav", "Waveform Audio File Format"}, + {0, NULL, 0, NULL, NULL} +}; + +static const char *snd_ext_sound[] = { + ".ac3", + ".flac", + ".mkv", + ".mp2", + ".mp3", + ".ogg", + ".wav", + NULL +}; + +static int sound_mixdown_check(bContext *UNUSED(C), wmOperator *op) +{ + AUD_Container container = RNA_enum_get(op->ptr, "container"); + + const char *extension = NULL; + + EnumPropertyItem *item = container_items; + while (item->identifier != NULL) { + if (item->value == container) { + const char **ext = snd_ext_sound; + while (*ext != NULL) { + if (!strcmp(*ext + 1, item->name)) { + extension = *ext; + break; + } + + ext++; + } + } + item++; + } + + if (extension) { + PropertyRNA *prop; + char filepath[FILE_MAX]; + + int check; + + prop = RNA_struct_find_property(op->ptr, "filepath"); + RNA_property_string_get(op->ptr, prop, filepath); + + if (BLI_testextensie_array(filepath, snd_ext_sound)) + check = BLI_replace_extension(filepath, FILE_MAX, extension); + else + check = BLI_ensure_extension(filepath, FILE_MAX, extension); + + if (!check) + return check; + + RNA_property_string_set(op->ptr, prop, filepath); + return TRUE; + } + + return FALSE; +} + +#endif // WITH_AUDASPACE + static int sound_mixdown_invoke(bContext *C, wmOperator *op, wmEvent *event) { if (RNA_struct_property_is_set(op->ptr, "filepath")) @@ -374,11 +449,10 @@ static int sound_mixdown_invoke(bContext *C, wmOperator *op, wmEvent *event) static int sound_mixdown_draw_check_prop(PointerRNA *UNUSED(ptr), PropertyRNA *prop) { - const char *prop_id= RNA_property_identifier(prop); - return !( strcmp(prop_id, "filepath") == 0 || - strcmp(prop_id, "directory") == 0 || - strcmp(prop_id, "filename") == 0 - ); + const char *prop_id = RNA_property_identifier(prop); + return !(strcmp(prop_id, "filepath") == 0 || + strcmp(prop_id, "directory") == 0 || + strcmp(prop_id, "filename") == 0); } static void sound_mixdown_draw(bContext *C, wmOperator *op) @@ -392,23 +466,27 @@ static void sound_mixdown_draw(bContext *C, wmOperator *op) {AUD_FORMAT_S32, "S32", 0, "S32", "32 bit signed"}, {AUD_FORMAT_FLOAT32, "F32", 0, "F32", "32 bit floating point"}, {AUD_FORMAT_FLOAT64, "F64", 0, "F64", "64 bit floating point"}, - {0, NULL, 0, NULL, NULL}}; + {0, NULL, 0, NULL, NULL} + }; static EnumPropertyItem mp3_format_items[] = { {AUD_FORMAT_S16, "S16", 0, "S16", "16 bit signed"}, {AUD_FORMAT_S32, "S32", 0, "S32", "32 bit signed"}, - {0, NULL, 0, NULL, NULL}}; + {0, NULL, 0, NULL, NULL} + }; static EnumPropertyItem ac3_format_items[] = { {AUD_FORMAT_S16, "S16", 0, "S16", "16 bit signed"}, {AUD_FORMAT_FLOAT32, "F32", 0, "F32", "32 bit floating point"}, - {0, NULL, 0, NULL, NULL}}; + {0, NULL, 0, NULL, NULL} + }; #ifdef WITH_SNDFILE static EnumPropertyItem flac_format_items[] = { {AUD_FORMAT_S16, "S16", 0, "S16", "16 bit signed"}, {AUD_FORMAT_S24, "S24", 0, "S24", "24 bit signed"}, - {0, NULL, 0, NULL, NULL}}; + {0, NULL, 0, NULL, NULL} + }; #endif static EnumPropertyItem all_codec_items[] = { @@ -419,15 +497,17 @@ static void sound_mixdown_draw(bContext *C, wmOperator *op) {AUD_CODEC_MP3, "MP3", 0, "MP3", "MPEG-2 Audio Layer III"}, {AUD_CODEC_PCM, "PCM", 0, "PCM", "Pulse Code Modulation (RAW)"}, {AUD_CODEC_VORBIS, "VORBIS", 0, "Vorbis", "Xiph.Org Vorbis Codec"}, - {0, NULL, 0, NULL, NULL}}; + {0, NULL, 0, NULL, NULL} + }; static EnumPropertyItem ogg_codec_items[] = { {AUD_CODEC_FLAC, "FLAC", 0, "FLAC", "Free Lossless Audio Codec"}, {AUD_CODEC_VORBIS, "VORBIS", 0, "Vorbis", "Xiph.Org Vorbis Codec"}, - {0, NULL, 0, NULL, NULL}}; + {0, NULL, 0, NULL, NULL} + }; uiLayout *layout = op->layout; - wmWindowManager *wm= CTX_wm_manager(C); + wmWindowManager *wm = CTX_wm_manager(C); PointerRNA ptr; PropertyRNA *prop_format; PropertyRNA *prop_codec; @@ -445,84 +525,84 @@ static void sound_mixdown_draw(bContext *C, wmOperator *op) RNA_def_property_flag(prop_format, PROP_HIDDEN); switch (container) { - case AUD_CONTAINER_AC3: - RNA_def_property_clear_flag(prop_format, PROP_HIDDEN); - RNA_def_property_enum_items(prop_format, ac3_format_items); - RNA_def_property_enum_items(prop_codec, all_codec_items); - RNA_enum_set(op->ptr, "codec", AUD_CODEC_AC3); - break; - case AUD_CONTAINER_FLAC: - RNA_def_property_flag(prop_bitrate, PROP_HIDDEN); - RNA_def_property_enum_items(prop_codec, all_codec_items); - RNA_enum_set(op->ptr, "codec", AUD_CODEC_FLAC); + case AUD_CONTAINER_AC3: + RNA_def_property_clear_flag(prop_format, PROP_HIDDEN); + RNA_def_property_enum_items(prop_format, ac3_format_items); + RNA_def_property_enum_items(prop_codec, all_codec_items); + RNA_enum_set(op->ptr, "codec", AUD_CODEC_AC3); + break; + case AUD_CONTAINER_FLAC: + RNA_def_property_flag(prop_bitrate, PROP_HIDDEN); + RNA_def_property_enum_items(prop_codec, all_codec_items); + RNA_enum_set(op->ptr, "codec", AUD_CODEC_FLAC); #ifdef WITH_SNDFILE - RNA_def_property_clear_flag(prop_format, PROP_HIDDEN); - RNA_def_property_enum_items(prop_format, flac_format_items); + RNA_def_property_clear_flag(prop_format, PROP_HIDDEN); + RNA_def_property_enum_items(prop_format, flac_format_items); #else - RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16); + RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16); #endif - break; - case AUD_CONTAINER_MATROSKA: - RNA_def_property_clear_flag(prop_codec, PROP_HIDDEN); - RNA_def_property_enum_items(prop_codec, all_codec_items); + break; + case AUD_CONTAINER_MATROSKA: + RNA_def_property_clear_flag(prop_codec, PROP_HIDDEN); + RNA_def_property_enum_items(prop_codec, all_codec_items); + + switch (codec) { + case AUD_CODEC_AAC: + RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16); + break; + case AUD_CODEC_AC3: + RNA_def_property_enum_items(prop_format, ac3_format_items); + RNA_def_property_clear_flag(prop_format, PROP_HIDDEN); + break; + case AUD_CODEC_FLAC: + RNA_def_property_flag(prop_bitrate, PROP_HIDDEN); + RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16); + break; + case AUD_CODEC_MP2: + RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16); + break; + case AUD_CODEC_MP3: + RNA_def_property_enum_items(prop_format, mp3_format_items); + RNA_def_property_clear_flag(prop_format, PROP_HIDDEN); + break; + case AUD_CODEC_PCM: + RNA_def_property_flag(prop_bitrate, PROP_HIDDEN); + RNA_def_property_enum_items(prop_format, pcm_format_items); + RNA_def_property_clear_flag(prop_format, PROP_HIDDEN); + break; + case AUD_CODEC_VORBIS: + RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16); + break; + default: + break; + } - switch (codec) { - case AUD_CODEC_AAC: + break; + case AUD_CONTAINER_MP2: RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16); + RNA_enum_set(op->ptr, "codec", AUD_CODEC_MP2); + RNA_def_property_enum_items(prop_codec, all_codec_items); break; - case AUD_CODEC_AC3: - RNA_def_property_enum_items(prop_format, ac3_format_items); + case AUD_CONTAINER_MP3: RNA_def_property_clear_flag(prop_format, PROP_HIDDEN); + RNA_def_property_enum_items(prop_format, mp3_format_items); + RNA_def_property_enum_items(prop_codec, all_codec_items); + RNA_enum_set(op->ptr, "codec", AUD_CODEC_MP3); break; - case AUD_CODEC_FLAC: - RNA_def_property_flag(prop_bitrate, PROP_HIDDEN); - RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16); - break; - case AUD_CODEC_MP2: + case AUD_CONTAINER_OGG: + RNA_def_property_clear_flag(prop_codec, PROP_HIDDEN); + RNA_def_property_enum_items(prop_codec, ogg_codec_items); RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16); break; - case AUD_CODEC_MP3: - RNA_def_property_enum_items(prop_format, mp3_format_items); - RNA_def_property_clear_flag(prop_format, PROP_HIDDEN); - break; - case AUD_CODEC_PCM: + case AUD_CONTAINER_WAV: RNA_def_property_flag(prop_bitrate, PROP_HIDDEN); - RNA_def_property_enum_items(prop_format, pcm_format_items); RNA_def_property_clear_flag(prop_format, PROP_HIDDEN); - break; - case AUD_CODEC_VORBIS: - RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16); + RNA_def_property_enum_items(prop_format, pcm_format_items); + RNA_def_property_enum_items(prop_codec, all_codec_items); + RNA_enum_set(op->ptr, "codec", AUD_CODEC_PCM); break; default: break; - } - - break; - case AUD_CONTAINER_MP2: - RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16); - RNA_enum_set(op->ptr, "codec", AUD_CODEC_MP2); - RNA_def_property_enum_items(prop_codec, all_codec_items); - break; - case AUD_CONTAINER_MP3: - RNA_def_property_clear_flag(prop_format, PROP_HIDDEN); - RNA_def_property_enum_items(prop_format, mp3_format_items); - RNA_def_property_enum_items(prop_codec, all_codec_items); - RNA_enum_set(op->ptr, "codec", AUD_CODEC_MP3); - break; - case AUD_CONTAINER_OGG: - RNA_def_property_clear_flag(prop_codec, PROP_HIDDEN); - RNA_def_property_enum_items(prop_codec, ogg_codec_items); - RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16); - break; - case AUD_CONTAINER_WAV: - RNA_def_property_flag(prop_bitrate, PROP_HIDDEN); - RNA_def_property_clear_flag(prop_format, PROP_HIDDEN); - RNA_def_property_enum_items(prop_format, pcm_format_items); - RNA_def_property_enum_items(prop_codec, all_codec_items); - RNA_enum_set(op->ptr, "codec", AUD_CODEC_PCM); - break; - default: - break; } RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr); @@ -542,21 +622,8 @@ static void SOUND_OT_mixdown(wmOperatorType *ot) {AUD_FORMAT_S32, "S32", 0, "S32", "32 bit signed"}, {AUD_FORMAT_FLOAT32, "F32", 0, "F32", "32 bit floating point"}, {AUD_FORMAT_FLOAT64, "F64", 0, "F64", "64 bit floating point"}, - {0, NULL, 0, NULL, NULL}}; - - static EnumPropertyItem container_items[] = { -#ifdef WITH_FFMPEG - {AUD_CONTAINER_AC3, "AC3", 0, "ac3", "Dolby Digital ATRAC 3"}, -#endif - {AUD_CONTAINER_FLAC, "FLAC", 0, "flac", "Free Lossless Audio Codec"}, -#ifdef WITH_FFMPEG - {AUD_CONTAINER_MATROSKA, "MATROSKA", 0, "mkv", "Matroska"}, - {AUD_CONTAINER_MP2, "MP2", 0, "mp2", "MPEG-1 Audio Layer II"}, - {AUD_CONTAINER_MP3, "MP3", 0, "mp3", "MPEG-2 Audio Layer III"}, -#endif - {AUD_CONTAINER_OGG, "OGG", 0, "ogg", "Xiph.Org Ogg Container"}, - {AUD_CONTAINER_WAV, "WAV", 0, "wav", "Waveform Audio File Format"}, - {0, NULL, 0, NULL, NULL}}; + {0, NULL, 0, NULL, NULL} + }; static EnumPropertyItem codec_items[] = { #ifdef WITH_FFMPEG @@ -570,7 +637,8 @@ static void SOUND_OT_mixdown(wmOperatorType *ot) #endif {AUD_CODEC_PCM, "PCM", 0, "PCM", "Pulse Code Modulation (RAW)"}, {AUD_CODEC_VORBIS, "VORBIS", 0, "Vorbis", "Xiph.Org Vorbis Codec"}, - {0, NULL, 0, NULL, NULL}}; + {0, NULL, 0, NULL, NULL} + }; #endif // WITH_AUDASPACE @@ -584,13 +652,14 @@ static void SOUND_OT_mixdown(wmOperatorType *ot) ot->invoke = sound_mixdown_invoke; #ifdef WITH_AUDASPACE + ot->check = sound_mixdown_check; ot->ui = sound_mixdown_draw; #endif /* flags */ ot->flag = OPTYPE_REGISTER; /* properties */ - WM_operator_properties_filesel(ot, FOLDERFILE|SOUNDFILE, FILE_SPECIAL, FILE_SAVE, WM_FILESEL_FILEPATH, FILE_DEFAULTDISPLAY); + WM_operator_properties_filesel(ot, FOLDERFILE | SOUNDFILE, FILE_SPECIAL, FILE_SAVE, WM_FILESEL_FILEPATH | WM_FILESEL_RELPATH, FILE_DEFAULTDISPLAY); #ifdef WITH_AUDASPACE RNA_def_int(ot->srna, "accuracy", 1024, 1, 16777216, "Accuracy", "Sample accuracy, important for animation data (the lower the value, the more accurate)", 1, 16777216); RNA_def_enum(ot->srna, "container", container_items, AUD_CONTAINER_FLAC, "Container", "File format"); @@ -605,7 +674,7 @@ static void SOUND_OT_mixdown(wmOperatorType *ot) static int sound_poll(bContext *C) { - Editing* ed = CTX_data_scene(C)->ed; + Editing *ed = CTX_data_scene(C)->ed; if (!ed || !ed->act_seq || ed->act_seq->type != SEQ_SOUND) return 0; @@ -616,9 +685,9 @@ static int sound_poll(bContext *C) static int sound_pack_exec(bContext *C, wmOperator *op) { - Main *bmain= CTX_data_main(C); - Editing* ed = CTX_data_scene(C)->ed; - bSound* sound; + Main *bmain = CTX_data_main(C); + Editing *ed = CTX_data_scene(C)->ed; + bSound *sound; if (!ed || !ed->act_seq || ed->act_seq->type != SEQ_SOUND) return OPERATOR_CANCELLED; @@ -628,7 +697,7 @@ static int sound_pack_exec(bContext *C, wmOperator *op) if (!sound || sound->packedfile) return OPERATOR_CANCELLED; - sound->packedfile= newPackedFile(op->reports, sound->name, ID_BLEND_PATH(bmain, &sound->id)); + sound->packedfile = newPackedFile(op->reports, sound->name, ID_BLEND_PATH(bmain, &sound->id)); sound_load(CTX_data_main(C), sound); return OPERATOR_FINISHED; @@ -646,19 +715,19 @@ static void SOUND_OT_pack(wmOperatorType *ot) ot->poll = sound_poll; /* flags */ - ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; + ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; } /********************* unpack operator *********************/ static int sound_unpack_exec(bContext *C, wmOperator *op) { - int method= RNA_enum_get(op->ptr, "method"); - bSound* sound= NULL; + int method = RNA_enum_get(op->ptr, "method"); + bSound *sound = NULL; /* find the suppplied image by name */ if (RNA_struct_property_is_set(op->ptr, "id")) { - char sndname[MAX_ID_NAME-2]; + char sndname[MAX_ID_NAME - 2]; RNA_string_get(op->ptr, "id", sndname); sound = BLI_findstring(&CTX_data_main(C)->sound, sndname, offsetof(ID, name) + 2); } @@ -676,8 +745,8 @@ static int sound_unpack_exec(bContext *C, wmOperator *op) static int sound_unpack_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event)) { - Editing* ed = CTX_data_scene(C)->ed; - bSound* sound; + Editing *ed = CTX_data_scene(C)->ed; + bSound *sound; if (RNA_struct_property_is_set(op->ptr, "id")) return sound_unpack_exec(C, op); @@ -693,7 +762,7 @@ static int sound_unpack_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(even if (G.fileflags & G_AUTOPACK) BKE_report(op->reports, RPT_WARNING, "AutoPack is enabled, so image will be packed again on file save"); - unpack_menu(C, "SOUND_OT_unpack", sound->id.name+2, sound->name, "sounds", sound->packedfile); + unpack_menu(C, "SOUND_OT_unpack", sound->id.name + 2, sound->name, "sounds", sound->packedfile); return OPERATOR_FINISHED; } @@ -711,11 +780,11 @@ static void SOUND_OT_unpack(wmOperatorType *ot) ot->poll = sound_poll; /* flags */ - ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; + ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; /* properties */ RNA_def_enum(ot->srna, "method", unpack_method_items, PF_USE_LOCAL, "Method", "How to unpack"); - RNA_def_string(ot->srna, "id", "", MAX_ID_NAME-2, "Sound Name", "Sound datablock name to unpack"); /* XXX, weark!, will fail with library, name collisions */ + RNA_def_string(ot->srna, "id", "", MAX_ID_NAME - 2, "Sound Name", "Sound datablock name to unpack"); /* XXX, weark!, will fail with library, name collisions */ } /* ******************************************************* */ diff --git a/source/blender/editors/space_clip/clip_draw.c b/source/blender/editors/space_clip/clip_draw.c index f92f639586d..c00359f0f32 100644 --- a/source/blender/editors/space_clip/clip_draw.c +++ b/source/blender/editors/space_clip/clip_draw.c @@ -263,7 +263,7 @@ static void draw_movieclip_buffer(SpaceClip *sc, ARegion *ar, ImBuf *ibuf, } } - /* if texture buffers aren't efifciently supported or texture is too large to + /* if texture buffers aren't efficiently supported or texture is too large to * be binder fallback to simple draw pixels solution */ if (need_fallback) { /* set zoom */ diff --git a/source/blender/editors/space_clip/clip_ops.c b/source/blender/editors/space_clip/clip_ops.c index 117e599cbbb..73eb8ee77ff 100644 --- a/source/blender/editors/space_clip/clip_ops.c +++ b/source/blender/editors/space_clip/clip_ops.c @@ -36,6 +36,7 @@ #include "DNA_userdef_types.h" #include "DNA_scene_types.h" /* min/max frames */ +#include "BLI_path_util.h" #include "BLI_utildefines.h" #include "BLI_math.h" @@ -123,7 +124,7 @@ static void sclip_zoom_set_factor_exec(bContext *C, wmEvent *event, float factor static void clip_filesel(bContext *C, wmOperator *op, const char *path) { - RNA_string_set(op->ptr, "filepath", path); + RNA_string_set(op->ptr, "directory", path); WM_event_add_fileselect(C, op); } @@ -153,7 +154,28 @@ static int open_exec(bContext *C, wmOperator *op) MovieClip *clip = NULL; char str[FILE_MAX]; - RNA_string_get(op->ptr, "filepath", str); + if (RNA_collection_length(op->ptr, "files")) { + PointerRNA fileptr; + PropertyRNA *prop; + char dir_only[FILE_MAX], file_only[FILE_MAX]; + int relative = RNA_boolean_get(op->ptr, "relative_path"); + + RNA_string_get(op->ptr, "directory", dir_only); + if (relative) + BLI_path_rel(dir_only, G.main->name); + + prop = RNA_struct_find_property(op->ptr, "files"); + RNA_property_collection_lookup_int(op->ptr, prop, 0, &fileptr); + RNA_string_get(&fileptr, "name", file_only); + + BLI_join_dirfile(str, sizeof(str), dir_only, file_only); + } + else { + BKE_reportf(op->reports, RPT_ERROR, "No files selected to be opened"); + + return OPERATOR_CANCELLED; + } + /* default to frame 1 if there's no scene in context */ errno = 0; @@ -199,14 +221,21 @@ static int open_exec(bContext *C, wmOperator *op) static int open_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event)) { SpaceClip *sc = CTX_wm_space_clip(C); - char *path = U.textudir; + char path[FILE_MAX]; MovieClip *clip = NULL; if (sc) clip = ED_space_clip(sc); - if (clip) - path = clip->name; + if (clip) { + strncpy(path, clip->name, sizeof(path)); + + BLI_path_abs(path, G.main->name); + BLI_parent_dir(path); + } + else { + strncpy(path, U.textudir, sizeof(path)); + } if (!RNA_struct_property_is_set(op->ptr, "relative_path")) RNA_boolean_set(op->ptr, "relative_path", U.flag & USER_RELPATHS); @@ -238,7 +267,8 @@ void CLIP_OT_open(wmOperatorType *ot) /* properties */ WM_operator_properties_filesel(ot, FOLDERFILE | IMAGEFILE | MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, - WM_FILESEL_FILEPATH | WM_FILESEL_RELPATH, FILE_DEFAULTDISPLAY); + WM_FILESEL_RELPATH | WM_FILESEL_FILES | WM_FILESEL_DIRECTORY, + FILE_DEFAULTDISPLAY); } /******************* reload clip operator *********************/ @@ -381,7 +411,7 @@ static int view_pan_modal(bContext *C, wmOperator *op, wmEvent *event) return OPERATOR_FINISHED; default: - if (event->type == vpd->event_type && event->val == KM_RELEASE) { + if (event->type == vpd->event_type && event->val == KM_RELEASE) { view_pan_exit(C, op, 0); return OPERATOR_FINISHED; diff --git a/source/blender/editors/space_clip/tracking_ops.c b/source/blender/editors/space_clip/tracking_ops.c index 3d1ff26d586..f6dbae596b8 100644 --- a/source/blender/editors/space_clip/tracking_ops.c +++ b/source/blender/editors/space_clip/tracking_ops.c @@ -712,8 +712,8 @@ static float dist_to_rect(float co[2], float pos[2], float min[2], float max[2]) { float d1, d2, d3, d4; float p[2] = {co[0] - pos[0], co[1] - pos[1]}; - float v1[2] = {min[0], min[1]}, v2[2] = {max[0], min[1]}, - v3[2] = {max[0], max[1]}, v4[2] = {min[0], max[1]}; + float v1[2] = {min[0], min[1]}, v2[2] = {max[0], min[1]}; + float v3[2] = {max[0], max[1]}, v4[2] = {min[0], max[1]}; d1 = dist_to_line_segment_v2(p, v1, v2); d2 = dist_to_line_segment_v2(p, v2, v3); @@ -1528,7 +1528,7 @@ static void track_markers_freejob(void *tmv) tmj->clip->tracking_context = NULL; tmj->scene->r.cfra = tmj->lastfra; - ED_update_for_newframe(tmj->main, tmj->scene, tmj->screen, 0); + ED_update_for_newframe(tmj->main, tmj->scene, 0); BKE_tracking_sync(tmj->context); BKE_tracking_context_free(tmj->context); diff --git a/source/blender/editors/space_console/console_ops.c b/source/blender/editors/space_console/console_ops.c index 5d63a223c08..5ed384d22af 100644 --- a/source/blender/editors/space_console/console_ops.c +++ b/source/blender/editors/space_console/console_ops.c @@ -277,7 +277,7 @@ static int console_move_exec(bContext *C, wmOperator *op) ConsoleLine *ci = console_history_verify(C); int type = RNA_enum_get(op->ptr, "type"); - int done = 0; + int done = FALSE; int pos; switch (type) { @@ -448,7 +448,7 @@ static int console_delete_exec(bContext *C, wmOperator *op) int stride; const short type = RNA_enum_get(op->ptr, "type"); - int done = 0; + int done = FALSE; if (ci->len == 0) { return OPERATOR_CANCELLED; @@ -466,7 +466,7 @@ static int console_delete_exec(bContext *C, wmOperator *op) if (stride) { memmove(ci->line + ci->cursor, ci->line + ci->cursor + stride, (ci->len - ci->cursor) + 1); ci->len -= stride; - done = 1; + done = TRUE; } } break; @@ -482,7 +482,7 @@ static int console_delete_exec(bContext *C, wmOperator *op) ci->cursor -= stride; /* same as above */ memmove(ci->line + ci->cursor, ci->line + ci->cursor + stride, (ci->len - ci->cursor) + 1); ci->len -= stride; - done = 1; + done = TRUE; } } break; diff --git a/source/blender/editors/space_file/file_ops.c b/source/blender/editors/space_file/file_ops.c index 9629fd7da0c..4bb5a21cb3d 100644 --- a/source/blender/editors/space_file/file_ops.c +++ b/source/blender/editors/space_file/file_ops.c @@ -241,7 +241,7 @@ static int file_border_select_modal(bContext *C, wmOperator *op, wmEvent *event) result= WM_border_select_modal(C, op, event); - if (result==OPERATOR_RUNNING_MODAL) { + if (result == OPERATOR_RUNNING_MODAL) { rect.xmin = RNA_int_get(op->ptr, "xmin"); rect.ymin = RNA_int_get(op->ptr, "ymin"); diff --git a/source/blender/editors/space_file/file_panels.c b/source/blender/editors/space_file/file_panels.c index 9fe1940e87b..a17a7edbd80 100644 --- a/source/blender/editors/space_file/file_panels.c +++ b/source/blender/editors/space_file/file_panels.c @@ -174,7 +174,7 @@ static void file_panel_operator_header(const bContext *C, Panel *pa) SpaceFile *sfile= CTX_wm_space_file(C); wmOperator *op= sfile->op; - BLI_strncpy(pa->drawname, op->type->name, sizeof(pa->drawname)); + BLI_strncpy(pa->drawname, RNA_struct_ui_name(op->type->srna), sizeof(pa->drawname)); } static int file_panel_check_prop(PointerRNA *UNUSED(ptr), PropertyRNA *prop) diff --git a/source/blender/editors/space_file/filelist.c b/source/blender/editors/space_file/filelist.c index 22f159a8275..27f8ae59919 100644 --- a/source/blender/editors/space_file/filelist.c +++ b/source/blender/editors/space_file/filelist.c @@ -1300,7 +1300,7 @@ static void thumbnails_startjob(void *tjv, short *stop, short *do_update, float limg->flags |= MOVIEFILE_ICON; } } - *do_update = 1; + *do_update = TRUE; PIL_sleep_ms(10); limg = limg->next; } @@ -1320,7 +1320,7 @@ static void thumbnails_update(void *tjv) tj->filelist->filelist[limg->index].flags &= ~MOVIEFILE; tj->filelist->filelist[limg->index].flags |= MOVIEFILE_ICON; } - limg->done=1; + limg->done = TRUE; } limg = limg->next; } diff --git a/source/blender/editors/space_file/filesel.c b/source/blender/editors/space_file/filesel.c index b17ca5ee319..b0818d40e53 100644 --- a/source/blender/editors/space_file/filesel.c +++ b/source/blender/editors/space_file/filesel.c @@ -300,8 +300,9 @@ FileSelection ED_fileselect_layout_offset_rect(FileLayout* layout, const rcti* r colmax = (rect->xmax)/(layout->tile_w + 2*layout->tile_border_x); rowmax = (rect->ymax)/(layout->tile_h + 2*layout->tile_border_y); - if ( is_inside(colmin, rowmin, layout->columns, layout->rows) || - is_inside(colmax, rowmax, layout->columns, layout->rows) ) { + if (is_inside(colmin, rowmin, layout->columns, layout->rows) || + is_inside(colmax, rowmax, layout->columns, layout->rows) ) + { CLAMP(colmin, 0, layout->columns-1); CLAMP(rowmin, 0, layout->rows-1); CLAMP(colmax, 0, layout->columns-1); diff --git a/source/blender/editors/space_file/fsmenu.c b/source/blender/editors/space_file/fsmenu.c index ac3cc15fe88..6d2381e64d5 100644 --- a/source/blender/editors/space_file/fsmenu.c +++ b/source/blender/editors/space_file/fsmenu.c @@ -440,7 +440,7 @@ void fsmenu_read_system(struct FSMenu *fsmenu, int read_bookmarks) } /* Finally get user favorite places */ - if(read_bookmarks) { + if (read_bookmarks) { list = LSSharedFileListCreate(NULL, kLSSharedFileListFavoriteItems, NULL); pathesArray = LSSharedFileListCopySnapshot(list, &seed); pathesCount = CFArrayGetCount(pathesArray); diff --git a/source/blender/editors/space_graph/graph_edit.c b/source/blender/editors/space_graph/graph_edit.c index 7371202b4fb..4b5f4f5cc2e 100644 --- a/source/blender/editors/space_graph/graph_edit.c +++ b/source/blender/editors/space_graph/graph_edit.c @@ -83,7 +83,8 @@ /* Get the min/max keyframes*/ /* note: it should return total boundbox, filter for selection only can be argument... */ -void get_graph_keyframe_extents(bAnimContext *ac, float *xmin, float *xmax, float *ymin, float *ymax, const short selOnly) +void get_graph_keyframe_extents(bAnimContext *ac, float *xmin, float *xmax, float *ymin, float *ymax, + const short do_sel_only, const short include_handles) { ListBase anim_data = {NULL, NULL}; bAnimListElem *ale; @@ -109,7 +110,7 @@ void get_graph_keyframe_extents(bAnimContext *ac, float *xmin, float *xmax, floa float unitFac; /* get range */ - calc_fcurve_bounds(fcu, &txmin, &txmax, &tymin, &tymax, selOnly); + calc_fcurve_bounds(fcu, &txmin, &txmax, &tymin, &tymax, do_sel_only, include_handles); /* apply NLA scaling */ if (adt) { @@ -169,7 +170,7 @@ static int graphkeys_previewrange_exec(bContext *C, wmOperator *UNUSED(op)) scene = ac.scene; /* set the range directly */ - get_graph_keyframe_extents(&ac, &min, &max, NULL, NULL, FALSE); + get_graph_keyframe_extents(&ac, &min, &max, NULL, NULL, FALSE, FALSE); scene->r.flag |= SCER_PRV_RANGE; scene->r.psfra = (int)floor(min + 0.5f); scene->r.pefra = (int)floor(max + 0.5f); @@ -198,7 +199,7 @@ void GRAPH_OT_previewrange_set(wmOperatorType *ot) /* ****************** View-All Operator ****************** */ -static int graphkeys_viewall(bContext *C, const short selOnly) +static int graphkeys_viewall(bContext *C, const short do_sel_only, const short include_handles) { bAnimContext ac; View2D *v2d; @@ -210,7 +211,10 @@ static int graphkeys_viewall(bContext *C, const short selOnly) v2d = &ac.ar->v2d; /* set the horizontal range, with an extra offset so that the extreme keys will be in view */ - get_graph_keyframe_extents(&ac, &v2d->cur.xmin, &v2d->cur.xmax, &v2d->cur.ymin, &v2d->cur.ymax, selOnly); + get_graph_keyframe_extents(&ac, + &v2d->cur.xmin, &v2d->cur.xmax, + &v2d->cur.ymin, &v2d->cur.ymax, + do_sel_only, include_handles); extra = 0.1f * (v2d->cur.xmax - v2d->cur.xmin); v2d->cur.xmin -= extra; @@ -231,16 +235,20 @@ static int graphkeys_viewall(bContext *C, const short selOnly) /* ......... */ -static int graphkeys_viewall_exec(bContext *C, wmOperator *UNUSED(op)) +static int graphkeys_viewall_exec(bContext *C, wmOperator *op) { + short include_handles = RNA_boolean_get(op->ptr, "include_handles"); + /* whole range */ - return graphkeys_viewall(C, FALSE); + return graphkeys_viewall(C, FALSE, include_handles); } -static int graphkeys_view_selected_exec(bContext *C, wmOperator *UNUSED(op)) +static int graphkeys_view_selected_exec(bContext *C, wmOperator *op) { + short include_handles = RNA_boolean_get(op->ptr, "include_handles"); + /* only selected */ - return graphkeys_viewall(C, TRUE); + return graphkeys_viewall(C, TRUE, include_handles); } void GRAPH_OT_view_all(wmOperatorType *ot) @@ -256,6 +264,10 @@ void GRAPH_OT_view_all(wmOperatorType *ot) /* flags */ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; + + /* props */ + ot->prop = RNA_def_boolean(ot->srna, "include_handles", TRUE, "Include Handles", + "Include handles of keyframes when calculating extents"); } void GRAPH_OT_view_selected(wmOperatorType *ot) @@ -271,6 +283,10 @@ void GRAPH_OT_view_selected(wmOperatorType *ot) /* flags */ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; + + /* props */ + ot->prop = RNA_def_boolean(ot->srna, "include_handles", TRUE, "Include Handles", + "Include handles of keyframes when calculating extents"); } /* ******************** Create Ghost-Curves Operator *********************** */ @@ -2032,7 +2048,7 @@ static int graphkeys_smooth_exec(bContext *C, wmOperator *UNUSED(op)) /* smooth keyframes */ for (ale = anim_data.first; ale; ale = ale->next) { /* For now, we can only smooth by flattening handles AND smoothing curve values. - * Perhaps the mode argument could be removed, as that functionality is offerred through + * Perhaps the mode argument could be removed, as that functionality is offered through * Snap->Flatten Handles anyway. */ smooth_fcurve(ale->key_data); diff --git a/source/blender/editors/space_graph/graph_intern.h b/source/blender/editors/space_graph/graph_intern.h index 47b55ae90ab..eb657169970 100644 --- a/source/blender/editors/space_graph/graph_intern.h +++ b/source/blender/editors/space_graph/graph_intern.h @@ -86,7 +86,8 @@ enum { /* ***************************************** */ /* graph_edit.c */ -void get_graph_keyframe_extents(struct bAnimContext *ac, float *xmin, float *xmax, float *ymin, float *ymax, const short do_selected); +void get_graph_keyframe_extents(struct bAnimContext *ac, float *xmin, float *xmax, float *ymin, float *ymax, + const short do_selected, const short include_handles); void GRAPH_OT_previewrange_set(struct wmOperatorType *ot); void GRAPH_OT_view_all(struct wmOperatorType *ot); diff --git a/source/blender/editors/space_graph/space_graph.c b/source/blender/editors/space_graph/space_graph.c index ffff86df4eb..756e6997fc8 100644 --- a/source/blender/editors/space_graph/space_graph.c +++ b/source/blender/editors/space_graph/space_graph.c @@ -250,7 +250,7 @@ static void graph_main_area_draw(const bContext *C, ARegion *ar) graph_draw_curves(&ac, sipo, ar, grid, 1); /* XXX the slow way to set tot rect... but for nice sliders needed (ton) */ - get_graph_keyframe_extents(&ac, &v2d->tot.xmin, &v2d->tot.xmax, &v2d->tot.ymin, &v2d->tot.ymax, FALSE); + get_graph_keyframe_extents(&ac, &v2d->tot.xmin, &v2d->tot.xmax, &v2d->tot.ymin, &v2d->tot.ymax, FALSE, TRUE); /* extra offset so that these items are visible */ v2d->tot.xmin -= 10.0f; v2d->tot.xmax += 10.0f; diff --git a/source/blender/editors/space_image/CMakeLists.txt b/source/blender/editors/space_image/CMakeLists.txt index 3975a5f56f3..f397f2387d7 100644 --- a/source/blender/editors/space_image/CMakeLists.txt +++ b/source/blender/editors/space_image/CMakeLists.txt @@ -46,6 +46,10 @@ set(SRC image_intern.h ) +if(WITH_INTERNATIONAL) + add_definitions(-DWITH_INTERNATIONAL) +endif() + if(WITH_IMAGE_OPENJPEG) add_definitions(-DWITH_OPENJPEG) endif() diff --git a/source/blender/editors/space_image/SConscript b/source/blender/editors/space_image/SConscript index 759d4592992..737da4aac74 100644 --- a/source/blender/editors/space_image/SConscript +++ b/source/blender/editors/space_image/SConscript @@ -9,6 +9,8 @@ incs += ' ../../bmesh ../../render/extern/include ../../makesrna ../../blenloade defs = [] +if env['WITH_BF_INTERNATIONAL']: + defs.append('WITH_INTERNATIONAL') if env['WITH_BF_OPENEXR']: defs.append('WITH_OPENEXR') if env['WITH_BF_OPENJPEG']: diff --git a/source/blender/editors/space_image/image_buttons.c b/source/blender/editors/space_image/image_buttons.c index de171bc45f8..f8815c3865e 100644 --- a/source/blender/editors/space_image/image_buttons.c +++ b/source/blender/editors/space_image/image_buttons.c @@ -44,6 +44,8 @@ #include "BLI_rand.h" #include "BLI_utildefines.h" +#include "BLF_translation.h" + #include "BKE_colortools.h" #include "BKE_context.h" #include "BKE_customdata.h" @@ -104,36 +106,36 @@ static void image_info(Scene *scene, ImageUser *iuser, Image *ima, ImBuf *ibuf, if (ima == NULL) return; if (ibuf == NULL) { - ofs += sprintf(str, "Can't Load Image"); + ofs += sprintf(str, IFACE_("Can't Load Image")); } else { if (ima->source == IMA_SRC_MOVIE) { - ofs += sprintf(str, "Movie"); + ofs += sprintf(str, IFACE_("Movie")); if (ima->anim) - ofs += sprintf(str + ofs, "%d frs", IMB_anim_get_duration(ima->anim, IMB_TC_RECORD_RUN)); + ofs += sprintf(str + ofs, IFACE_("%d frs"), IMB_anim_get_duration(ima->anim, IMB_TC_RECORD_RUN)); } else - ofs += sprintf(str, "Image"); + ofs += sprintf(str, IFACE_("Image")); - ofs += sprintf(str + ofs, ": size %d x %d,", ibuf->x, ibuf->y); + ofs += sprintf(str + ofs, IFACE_(": size %d x %d,"), ibuf->x, ibuf->y); if (ibuf->rect_float) { if (ibuf->channels != 4) { - ofs += sprintf(str + ofs, "%d float channel(s)", ibuf->channels); + ofs += sprintf(str + ofs, IFACE_("%d float channel(s)"), ibuf->channels); } else if (ibuf->planes == R_IMF_PLANES_RGBA) - ofs += sprintf(str + ofs, " RGBA float"); + ofs += sprintf(str + ofs, IFACE_(" RGBA float")); else - ofs += sprintf(str + ofs, " RGB float"); + ofs += sprintf(str + ofs, IFACE_(" RGB float")); } else { if (ibuf->planes == R_IMF_PLANES_RGBA) - ofs += sprintf(str + ofs, " RGBA byte"); + ofs += sprintf(str + ofs, IFACE_(" RGBA byte")); else - ofs += sprintf(str + ofs, " RGB byte"); + ofs += sprintf(str + ofs, IFACE_(" RGB byte")); } if (ibuf->zbuf || ibuf->zbuf_float) - ofs += sprintf(str + ofs, " + Z"); + ofs += sprintf(str + ofs, IFACE_(" + Z")); if (ima->source == IMA_SRC_SEQUENCE) { char *file = BLI_last_slash(ibuf->name); @@ -147,7 +149,7 @@ static void image_info(Scene *scene, ImageUser *iuser, Image *ima, ImBuf *ibuf, if (ima->source == IMA_SRC_SEQUENCE) { /* don't use iuser->framenr directly because it may not be updated if auto-refresh is off */ const int framenr = BKE_image_user_frame_get(iuser, CFRA, 0); - ofs += sprintf(str + ofs, ", Frame: %d", framenr); + ofs += sprintf(str + ofs, IFACE_(", Frame: %d"), framenr); } (void)ofs; @@ -357,11 +359,11 @@ static char *slot_menu(void) str = MEM_callocN(IMA_MAX_RENDER_SLOT * 32, "menu slots"); - strcpy(str, "Slot %t"); + strcpy(str, IFACE_("Slot %t")); a = strlen(str); for (slot = 0; slot < IMA_MAX_RENDER_SLOT; slot++) - a += sprintf(str + a, "|Slot %d %%x%d", slot + 1, slot); + a += sprintf(str + a, IFACE_("|Slot %d %%x%d"), slot + 1, slot); return str; } @@ -374,16 +376,16 @@ static char *layer_menu(RenderResult *rr, short *UNUSED(curlay)) short a, nr = 0; char *str = MEM_callocN(len, "menu layers"); - strcpy(str, "Layer %t"); + strcpy(str, IFACE_("Layer %t")); a = strlen(str); /* compo result */ if (rr->rectf) { - a += sprintf(str + a, "|Composite %%x0"); + a += sprintf(str + a, IFACE_("|Composite %%x0")); nr = 1; } else if (rr->rect32) { - a += sprintf(str + a, "|Sequence %%x0"); + a += sprintf(str + a, IFACE_("|Sequence %%x0")); nr = 1; } for (rl = rr->layers.first; rl; rl = rl->next, nr++) { @@ -403,18 +405,18 @@ static char *pass_menu(RenderLayer *rl, short *curpass) short a, nr = 0; char *str = MEM_callocN(len, "menu layers"); - strcpy(str, "Pass %t"); + strcpy(str, IFACE_("Pass %t")); a = strlen(str); /* rendered results don't have a Combined pass */ if (rl == NULL || rl->rectf) { - a += sprintf(str + a, "|Combined %%x0"); + a += sprintf(str + a, IFACE_("|Combined %%x0")); nr = 1; } if (rl) for (rpass = rl->passes.first; rpass; rpass = rpass->next, nr++) - a += sprintf(str + a, "|%s %%x%d", rpass->name, nr); + a += sprintf(str + a, "|%s %%x%d", IFACE_(rpass->name), nr); if (*curpass >= nr) *curpass = 0; @@ -532,14 +534,14 @@ static void uiblock_layer_pass_buttons(uiLayout *layout, RenderResult *rr, Image /* menu buts */ if (render_slot) { strp = slot_menu(); - but = uiDefButS(block, MENU, 0, strp, 0, 0, wmenu1, UI_UNIT_Y, render_slot, 0, 0, 0, 0, "Select Slot"); + but = uiDefButS(block, MENU, 0, strp, 0, 0, wmenu1, UI_UNIT_Y, render_slot, 0, 0, 0, 0, TIP_("Select Slot")); uiButSetFunc(but, image_multi_cb, rr, iuser); MEM_freeN(strp); } if (rr) { strp = layer_menu(rr, &iuser->layer); - but = uiDefButS(block, MENU, 0, strp, 0, 0, wmenu2, UI_UNIT_Y, &iuser->layer, 0, 0, 0, 0, "Select Layer"); + but = uiDefButS(block, MENU, 0, strp, 0, 0, wmenu2, UI_UNIT_Y, &iuser->layer, 0, 0, 0, 0, TIP_("Select Layer")); uiButSetFunc(but, image_multi_cb, rr, iuser); MEM_freeN(strp); @@ -549,9 +551,9 @@ static void uiblock_layer_pass_buttons(uiLayout *layout, RenderResult *rr, Image rl = BLI_findlink(&rr->layers, layer); /* return NULL is meant to be */ strp = pass_menu(rl, &iuser->pass); - but = uiDefButS(block, MENU, 0, strp, 0, 0, wmenu3, UI_UNIT_Y, &iuser->pass, 0, 0, 0, 0, "Select Pass"); + but = uiDefButS(block, MENU, 0, strp, 0, 0, wmenu3, UI_UNIT_Y, &iuser->pass, 0, 0, 0, 0, TIP_("Select Pass")); uiButSetFunc(but, image_multi_cb, rr, iuser); - MEM_freeN(strp); + MEM_freeN(strp); } } @@ -567,22 +569,22 @@ static void uiblock_layer_pass_arrow_buttons(uiLayout *layout, RenderResult *rr, if (rr == NULL || iuser == NULL) return; if (rr->layers.first == NULL) { - uiItemL(row, "No Layers in Render Result", ICON_NONE); + uiItemL(row, IFACE_("No Layers in Render Result"), ICON_NONE); return; } /* decrease, increase arrows */ - but = uiDefIconBut(block, BUT, 0, ICON_TRIA_LEFT, 0, 0, 17, 20, NULL, 0, 0, 0, 0, "Previous Layer"); + but = uiDefIconBut(block, BUT, 0, ICON_TRIA_LEFT, 0, 0, 17, 20, NULL, 0, 0, 0, 0, TIP_("Previous Layer")); uiButSetFunc(but, image_multi_declay_cb, rr, iuser); - but = uiDefIconBut(block, BUT, 0, ICON_TRIA_RIGHT, 0, 0, 18, 20, NULL, 0, 0, 0, 0, "Next Layer"); + but = uiDefIconBut(block, BUT, 0, ICON_TRIA_RIGHT, 0, 0, 18, 20, NULL, 0, 0, 0, 0, TIP_("Next Layer")); uiButSetFunc(but, image_multi_inclay_cb, rr, iuser); uiblock_layer_pass_buttons(row, rr, iuser, 230 * dpi_fac, render_slot); /* decrease, increase arrows */ - but = uiDefIconBut(block, BUT, 0, ICON_TRIA_LEFT, 0, 0, 17, 20, NULL, 0, 0, 0, 0, "Previous Pass"); + but = uiDefIconBut(block, BUT, 0, ICON_TRIA_LEFT, 0, 0, 17, 20, NULL, 0, 0, 0, 0, TIP_("Previous Pass")); uiButSetFunc(but, image_multi_decpass_cb, rr, iuser); - but = uiDefIconBut(block, BUT, 0, ICON_TRIA_RIGHT, 0, 0, 18, 20, NULL, 0, 0, 0, 0, "Next Pass"); + but = uiDefIconBut(block, BUT, 0, ICON_TRIA_RIGHT, 0, 0, 18, 20, NULL, 0, 0, 0, 0, TIP_("Next Pass")); uiButSetFunc(but, image_multi_incpass_cb, rr, iuser); uiBlockEndAlign(block); @@ -762,21 +764,22 @@ void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char col = uiLayoutColumn(split, 0); - BLI_snprintf(str, sizeof(str), "(%d) Frames", iuser->framenr); + BLI_snprintf(str, sizeof(str), IFACE_("(%d) Frames"), iuser->framenr); uiItemR(col, userptr, "frame_duration", 0, str, ICON_NONE); if (ima->anim) { block = uiLayoutGetBlock(col); - but = uiDefBut(block, BUT, 0, "Match Movie Length", 0, 0, UI_UNIT_X * 2, UI_UNIT_Y, NULL, 0, 0, 0, 0, "Set the number of frames to match the movie or sequence"); + but = uiDefBut(block, BUT, 0, IFACE_("Match Movie Length"), 0, 0, UI_UNIT_X * 2, UI_UNIT_Y, + NULL, 0, 0, 0, 0, TIP_("Set the number of frames to match the movie or sequence")); uiButSetFunc(but, set_frames_cb, ima, iuser); } - uiItemR(col, userptr, "frame_start", 0, "Start", ICON_NONE); + uiItemR(col, userptr, "frame_start", 0, IFACE_("Start"), ICON_NONE); uiItemR(col, userptr, "frame_offset", 0, NULL, ICON_NONE); col = uiLayoutColumn(split, 0); row = uiLayoutRow(col, 0); uiLayoutSetActive(row, RNA_boolean_get(&imaptr, "use_fields")); - uiItemR(row, userptr, "fields_per_frame", 0, "Fields", ICON_NONE); + uiItemR(row, userptr, "fields_per_frame", 0, IFACE_("Fields"), ICON_NONE); uiItemR(col, userptr, "use_auto_refresh", 0, NULL, ICON_NONE); uiItemR(col, userptr, "use_cyclic", 0, NULL, ICON_NONE); } @@ -815,7 +818,7 @@ void uiTemplateImageSettings(uiLayout *layout, PointerRNA *imfptr) uiItemR(split, imfptr, "file_format", 0, "", ICON_NONE); sub = uiLayoutRow(split, 0); - uiItemR(sub, imfptr, "color_mode", UI_ITEM_R_EXPAND, "Color", ICON_NONE); + uiItemR(sub, imfptr, "color_mode", UI_ITEM_R_EXPAND, IFACE_("Color"), ICON_NONE); /* only display depth setting if multiple depths can be used */ if ((ELEM6(depth_ok, @@ -861,7 +864,7 @@ void uiTemplateImageSettings(uiLayout *layout, PointerRNA *imfptr) if (imf->imtype == R_IMF_IMTYPE_CINEON) { #if 1 - uiItemL(col, "Hard coded Non-Linear, Gamma:1.0", ICON_NONE); + uiItemL(col, IFACE_("Hard coded Non-Linear, Gamma: 1.0"), ICON_NONE); #else uiItemR(col, imfptr, "use_cineon_log", 0, NULL, ICON_NONE); uiItemR(col, imfptr, "cineon_black", 0, NULL, ICON_NONE); diff --git a/source/blender/editors/space_image/image_ops.c b/source/blender/editors/space_image/image_ops.c index e2ab5ea64e4..31389bcb20c 100644 --- a/source/blender/editors/space_image/image_ops.c +++ b/source/blender/editors/space_image/image_ops.c @@ -313,7 +313,7 @@ static int image_view_pan_modal(bContext *C, wmOperator *op, wmEvent *event) image_view_pan_exec(C, op); break; default: - if (event->type == vpd->event_type && event->val == KM_RELEASE) { + if (event->type == vpd->event_type && event->val == KM_RELEASE) { image_view_pan_exit(C, op, 0); return OPERATOR_FINISHED; } diff --git a/source/blender/editors/space_logic/logic_window.c b/source/blender/editors/space_logic/logic_window.c index 97b6c32d81d..dd21fca93ce 100644 --- a/source/blender/editors/space_logic/logic_window.c +++ b/source/blender/editors/space_logic/logic_window.c @@ -775,7 +775,7 @@ static ID **get_selected_and_linked_obs(bContext *C, short *count, short scavisf bSensor *sens; bController *cont; unsigned int lay; - int a, nr, doit; + int a, nr, do_it; /* we need a sorted object list */ /* set scavisflags flags in Objects to indicate these should be evaluated */ @@ -815,9 +815,9 @@ static ID **get_selected_and_linked_obs(bContext *C, short *count, short scavisf /* BUTS_XXX_STATE are similar to BUTS_XXX_LINK for selecting the object */ if (scavisflag & (BUTS_SENS_LINK|BUTS_CONT_LINK|BUTS_ACT_LINK|BUTS_SENS_STATE|BUTS_ACT_STATE)) { - doit= 1; - while (doit) { - doit= 0; + do_it = TRUE; + while (do_it) { + do_it = FALSE; ob= bmain->object.first; while (ob) { @@ -830,32 +830,32 @@ static ID **get_selected_and_linked_obs(bContext *C, short *count, short scavisf if (sens->links[a]) { obt= (Object *)sens->links[a]->mynew; if (obt && (obt->scavisflag & OB_VIS_CONT)) { - doit= 1; + do_it = TRUE; ob->scavisflag |= OB_VIS_SENS; break; } } } - if (doit) break; + if (do_it) break; sens= sens->next; } } /* 2nd case: select cont when act selected */ - if ((scavisflag & BUTS_CONT_LINK) && (ob->scavisflag & OB_VIS_CONT)==0) { + if ((scavisflag & BUTS_CONT_LINK) && (ob->scavisflag & OB_VIS_CONT)==0) { cont= ob->controllers.first; while (cont) { for (a=0; a<cont->totlinks; a++) { if (cont->links[a]) { obt= (Object *)cont->links[a]->mynew; if (obt && (obt->scavisflag & OB_VIS_ACT)) { - doit= 1; + do_it = TRUE; ob->scavisflag |= OB_VIS_CONT; break; } } } - if (doit) break; + if (do_it) break; cont= cont->next; } } @@ -868,7 +868,7 @@ static ID **get_selected_and_linked_obs(bContext *C, short *count, short scavisf if (sens->links[a]) { obt= (Object *)sens->links[a]->mynew; if (obt && (obt->scavisflag & OB_VIS_CONT)==0) { - doit= 1; + do_it = TRUE; obt->scavisflag |= OB_VIS_CONT; } } @@ -878,14 +878,14 @@ static ID **get_selected_and_linked_obs(bContext *C, short *count, short scavisf } /* 4th case: select actuator when controller selected */ - if ( (scavisflag & (BUTS_ACT_LINK|BUTS_ACT_STATE)) && (ob->scavisflag & OB_VIS_CONT)) { + if ( (scavisflag & (BUTS_ACT_LINK|BUTS_ACT_STATE)) && (ob->scavisflag & OB_VIS_CONT)) { cont= ob->controllers.first; while (cont) { for (a=0; a<cont->totlinks; a++) { if (cont->links[a]) { obt= (Object *)cont->links[a]->mynew; if (obt && (obt->scavisflag & OB_VIS_ACT)==0) { - doit= 1; + do_it = TRUE; obt->scavisflag |= OB_VIS_ACT; } } @@ -3333,7 +3333,7 @@ static void draw_sensor_joystick(uiLayout *layout, PointerRNA *ptr) uiItemR(layout, ptr, "use_all_events", 0, NULL, ICON_NONE); col = uiLayoutColumn(layout, 0); - uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_all_events")==0); + uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_all_events") == FALSE); uiItemR(col, ptr, "button_number", 0, NULL, ICON_NONE); break; case SENS_JOY_AXIS: @@ -3343,7 +3343,7 @@ static void draw_sensor_joystick(uiLayout *layout, PointerRNA *ptr) uiItemR(layout, ptr, "use_all_events", 0, NULL, ICON_NONE); col = uiLayoutColumn(layout, 0); - uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_all_events")==0); + uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_all_events") == FALSE); uiItemR(col, ptr, "axis_direction", 0, NULL, ICON_NONE); break; case SENS_JOY_HAT: @@ -3351,7 +3351,7 @@ static void draw_sensor_joystick(uiLayout *layout, PointerRNA *ptr) uiItemR(layout, ptr, "use_all_events", 0, NULL, ICON_NONE); col = uiLayoutColumn(layout, 0); - uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_all_events")==0); + uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_all_events") == FALSE); uiItemR(col, ptr, "hat_direction", 0, NULL, ICON_NONE); break; case SENS_JOY_AXIS_SINGLE: @@ -3371,13 +3371,13 @@ static void draw_sensor_keyboard(uiLayout *layout, PointerRNA *ptr) row = uiLayoutRow(layout, 0); uiItemL(row, "Key:", ICON_NONE); col = uiLayoutColumn(row, 0); - uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_all_keys")==0); + uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_all_keys") == FALSE); uiItemR(col, ptr, "key", UI_ITEM_R_EVENT, "", ICON_NONE); col = uiLayoutColumn(row, 0); uiItemR(col, ptr, "use_all_keys", UI_ITEM_R_TOGGLE, NULL, ICON_NONE); col = uiLayoutColumn(layout, 0); - uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_all_keys")==0); + uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_all_keys") == FALSE); row = uiLayoutRow(col, 0); uiItemL(row, "First Modifier:", ICON_NONE); uiItemR(row, ptr, "modifier_key_1", UI_ITEM_R_EVENT, "", ICON_NONE); @@ -3843,7 +3843,7 @@ static void draw_actuator_constraint(uiLayout *layout, PointerRNA *ptr, bContext col = uiLayoutColumn(row, 1); uiItemR(col, ptr, "use_force_distance", UI_ITEM_R_TOGGLE, NULL, ICON_NONE); sub = uiLayoutColumn(col, 0); - uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_force_distance")==1); + uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_force_distance") == TRUE); uiItemR(sub, ptr, "distance", 0, "", ICON_NONE); uiItemR(layout, ptr, "damping", UI_ITEM_R_SLIDER, NULL, ICON_NONE); @@ -3976,7 +3976,7 @@ static void draw_actuator_filter_2d(uiLayout *layout, PointerRNA *ptr) case ACT_2DFILTER_MOTIONBLUR: split=uiLayoutSplit(layout, 0.75, 1); row= uiLayoutRow(split, 0); - uiLayoutSetActive(row, RNA_boolean_get(ptr, "use_motion_blur")==1); + uiLayoutSetActive(row, RNA_boolean_get(ptr, "use_motion_blur") == TRUE); uiItemR(row, ptr, "motion_blur_factor", 0, NULL, ICON_NONE); uiItemR(split, ptr, "use_motion_blur", UI_ITEM_R_TOGGLE, NULL, ICON_NONE); break; @@ -4080,21 +4080,21 @@ static void draw_actuator_motion(uiLayout *layout, PointerRNA *ptr) col = uiLayoutColumn(row, 0); uiItemR(col, ptr, "use_servo_limit_x", UI_ITEM_R_TOGGLE, NULL, ICON_NONE); sub = uiLayoutColumn(col, 1); - uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_servo_limit_x")==1); + uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_servo_limit_x") == TRUE); uiItemR(sub, ptr, "force_max_x", 0, NULL, ICON_NONE); uiItemR(sub, ptr, "force_min_x", 0, NULL, ICON_NONE); col = uiLayoutColumn(row, 0); uiItemR(col, ptr, "use_servo_limit_y", UI_ITEM_R_TOGGLE, NULL, ICON_NONE); sub = uiLayoutColumn(col, 1); - uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_servo_limit_y")==1); + uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_servo_limit_y") == TRUE); uiItemR(sub, ptr, "force_max_y", 0, NULL, ICON_NONE); uiItemR(sub, ptr, "force_min_y", 0, NULL, ICON_NONE); col = uiLayoutColumn(row, 0); uiItemR(col, ptr, "use_servo_limit_z", UI_ITEM_R_TOGGLE, NULL, ICON_NONE); sub = uiLayoutColumn(col, 1); - uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_servo_limit_z")==1); + uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_servo_limit_z") == TRUE); uiItemR(sub, ptr, "force_max_z", 0, NULL, ICON_NONE); uiItemR(sub, ptr, "force_min_z", 0, NULL, ICON_NONE); @@ -4122,7 +4122,7 @@ static void draw_actuator_parent(uiLayout *layout, PointerRNA *ptr) row = uiLayoutRow(layout, 0); uiItemR(row, ptr, "use_compound", 0, NULL, ICON_NONE); sub= uiLayoutRow(row, 0); - uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_compound")==1); + uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_compound") == TRUE); uiItemR(sub, ptr, "use_ghost", 0, NULL, ICON_NONE); } } @@ -4305,7 +4305,7 @@ static void draw_actuator_sound(uiLayout *layout, PointerRNA *ptr, bContext *C) uiItemR(layout, ptr, "use_sound_3d", 0, NULL, ICON_NONE); col = uiLayoutColumn(layout, 0); - uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_sound_3d")==1); + uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_sound_3d") == TRUE); row = uiLayoutRow(col, 0); uiItemR(row, ptr, "gain_3d_min", 0, NULL, ICON_NONE); @@ -4565,7 +4565,7 @@ static void logic_buttons_new(bContext *C, ARegion *ar) subsplit= uiLayoutSplit(split, 0.85, 0); col= uiLayoutColumn(subsplit, 0); row= uiLayoutRow(col, 0); - uiLayoutSetActive(row, RNA_boolean_get(&settings_ptr, "use_all_states")==0); + uiLayoutSetActive(row, RNA_boolean_get(&settings_ptr, "use_all_states") == FALSE); uiTemplateLayers(row, &settings_ptr, "states_visible", &settings_ptr, "used_states", 0); row= uiLayoutRow(col, 0); uiTemplateLayers(row, &settings_ptr, "states_initial", &settings_ptr, "used_states", 0); @@ -5070,8 +5070,8 @@ void logic_buttons(bContext *C, ARegion *ar) if (!(slogic->scaflag & BUTS_ACT_STATE) || !(act->flag & ACT_LINKED) || /* always display actuators without links so that is can be edited */ (act->flag & ACT_VISIBLE) || /* this actuator has visible connection, display it */ - (act->flag & ACT_PIN && slogic->scaflag & BUTS_ACT_STATE)) { - + (act->flag & ACT_PIN && slogic->scaflag & BUTS_ACT_STATE)) + { pin = (slogic->scaflag & BUTS_ACT_STATE && (act->flag & SENS_SHOW || act->flag & SENS_PIN)) ? 1 : 0; act->flag |= ACT_VISIBLE; /* mark the actuator as visible to help implementing the up/down action */ diff --git a/source/blender/editors/space_nla/nla_buttons.c b/source/blender/editors/space_nla/nla_buttons.c index bbb6e7992f7..be60e47ac8f 100644 --- a/source/blender/editors/space_nla/nla_buttons.c +++ b/source/blender/editors/space_nla/nla_buttons.c @@ -336,11 +336,11 @@ static void nla_panel_properties(const bContext *C, Panel *pa) * - blend in/out can only be set when autoblending is off */ column = uiLayoutColumn(layout, 1); - uiLayoutSetActive(column, RNA_boolean_get(&strip_ptr, "use_animated_influence") == 0); + uiLayoutSetActive(column, RNA_boolean_get(&strip_ptr, "use_animated_influence") == FALSE); uiItemR(column, &strip_ptr, "use_auto_blend", 0, NULL, ICON_NONE); // XXX as toggle? sub = uiLayoutColumn(column, 1); - uiLayoutSetActive(sub, RNA_boolean_get(&strip_ptr, "use_auto_blend") == 0); + uiLayoutSetActive(sub, RNA_boolean_get(&strip_ptr, "use_auto_blend") == FALSE); uiItemR(sub, &strip_ptr, "blend_in", 0, NULL, ICON_NONE); uiItemR(sub, &strip_ptr, "blend_out", 0, NULL, ICON_NONE); @@ -384,7 +384,7 @@ static void nla_panel_actclip(const bContext *C, Panel *pa) /* action usage */ column = uiLayoutColumn(layout, 1); - uiLayoutSetActive(column, RNA_boolean_get(&strip_ptr, "use_animated_time") == 0); + uiLayoutSetActive(column, RNA_boolean_get(&strip_ptr, "use_animated_time") == FALSE); uiItemL(column, "Playback Settings:", ICON_NONE); uiItemR(column, &strip_ptr, "scale", 0, NULL, ICON_NONE); uiItemR(column, &strip_ptr, "repeat", 0, NULL, ICON_NONE); diff --git a/source/blender/editors/space_nla/nla_draw.c b/source/blender/editors/space_nla/nla_draw.c index c12cd6f2d39..a6578ffb3f7 100644 --- a/source/blender/editors/space_nla/nla_draw.c +++ b/source/blender/editors/space_nla/nla_draw.c @@ -676,7 +676,7 @@ static void draw_nla_channel_list_gl(bAnimContext *ac, ListBase *anim_data, View short indent = 0, offset = 0, sel = 0, group = 0, nonSolo = 0; int expand = -1, protect = -1, special = -1, mute = -1; char name[128]; - short doDraw = 0; + short do_draw = FALSE; /* determine what needs to be drawn */ switch (ale->type) { @@ -695,7 +695,7 @@ static void draw_nla_channel_list_gl(bAnimContext *ac, ListBase *anim_data, View if (((nlt->flag & NLATRACK_ACTIVE) && (nlt->flag & NLATRACK_DISABLED)) == 0) { if (nlt->flag & NLATRACK_MUTED) mute = ICON_MUTE_IPO_ON; - else + else mute = ICON_MUTE_IPO_OFF; if (EDITABLE_NLT(nlt)) @@ -716,8 +716,8 @@ static void draw_nla_channel_list_gl(bAnimContext *ac, ListBase *anim_data, View sel = SEL_NLT(nlt); BLI_strncpy(name, nlt->name, sizeof(name)); - // draw manually still - doDraw = 1; + /* draw manually still */ + do_draw = TRUE; } break; case ANIMTYPE_NLAACTION: /* NLA Action-Line */ @@ -733,8 +733,8 @@ static void draw_nla_channel_list_gl(bAnimContext *ac, ListBase *anim_data, View else BLI_strncpy(name, "<No Action>", sizeof(name)); - // draw manually still - doDraw = 1; + /* draw manually still */ + do_draw = TRUE; } break; @@ -745,7 +745,7 @@ static void draw_nla_channel_list_gl(bAnimContext *ac, ListBase *anim_data, View } /* if special types, draw manually for now... */ - if (doDraw) { + if (do_draw) { if (ale->id) { /* special exception for textures */ if (GS(ale->id->name) == ID_TE) { diff --git a/source/blender/editors/space_nla/nla_edit.c b/source/blender/editors/space_nla/nla_edit.c index 8a7e2a8a904..5c9994e46d3 100644 --- a/source/blender/editors/space_nla/nla_edit.c +++ b/source/blender/editors/space_nla/nla_edit.c @@ -503,7 +503,7 @@ static int nlaedit_add_transition_exec(bContext *C, wmOperator *op) bAnimListElem *ale; int filter; - int done = 0; + int done = FALSE; /* get editor data */ if (ANIM_animdata_get_context(C, &ac) == 0) @@ -822,7 +822,7 @@ static int nlaedit_duplicate_exec(bContext *C, wmOperator *UNUSED(op)) bAnimListElem *ale; int filter; - short done = 0; + short done = FALSE; /* get editor data */ if (ANIM_animdata_get_context(C, &ac) == 0) diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c index ac12f2ffd31..db75198bcd4 100644 --- a/source/blender/editors/space_node/drawnode.c +++ b/source/blender/editors/space_node/drawnode.c @@ -53,6 +53,8 @@ #include "BKE_main.h" #include "BKE_node.h" +#include "BLF_api.h" + #include "NOD_composite.h" #include "NOD_shader.h" @@ -79,6 +81,9 @@ #include "node_intern.h" +// XXX interface.h +extern void ui_dropshadow(rctf *rct, float radius, float aspect, int select); + /* ****************** SOCKET BUTTON DRAW FUNCTIONS ***************** */ static void node_sync_cb(bContext *UNUSED(C), void *snode_v, void *node_v) @@ -474,15 +479,21 @@ static int node_resize_area_default(bNode *node, int x, int y) rctf totr= node->totr; /* right part of node */ totr.xmin = node->totr.xmax-20.0f; - return BLI_in_rctf(&totr, x, y); + if (BLI_in_rctf(&totr, x, y)) + return NODE_RESIZE_RIGHT; + else + return 0; } else { - /* rect we're interested in is just the bottom right corner */ + const float size = 10.0f; rctf totr= node->totr; - /* bottom right corner */ - totr.xmin = totr.xmax-10.0f; - totr.ymax = totr.ymin+10.0f; - return BLI_in_rctf(&totr, x, y); + int dir = 0; + + if (x >= totr.xmax-size && x < totr.xmax && y >= totr.ymin && y < totr.ymax) + dir |= NODE_RESIZE_RIGHT; + if (x >= totr.xmin && x < totr.xmin+size && y >= totr.ymin && y < totr.ymax) + dir |= NODE_RESIZE_LEFT; + return dir; } } @@ -511,7 +522,7 @@ static void node_update_group(const bContext *C, bNodeTree *ntree, bNode *gnode) int dy; /* get "global" coords */ - nodeSpaceCoords(gnode, &locx, &locy); + nodeToView(gnode, 0.0f, 0.0f, &locx, &locy); /* center them, is a bit of abuse of locx and locy though */ node_update_nodetree(C, ngroup, locx, locy); @@ -906,20 +917,166 @@ static void node_common_buts_whileloop(uiLayout *layout, bContext *UNUSED(C), Po uiItemR(layout, ptr, "max_iterations", 0, NULL, 0); } -static void node_update_frame(const bContext *UNUSED(C), bNodeTree *UNUSED(ntree), bNode *node) +/* XXX Does a bounding box update by iterating over all children. + * Not ideal to do this in every draw call, but doing as transform callback doesn't work, + * since the child node totr rects are not updated properly at that point. + */ +static void node_update_frame(const bContext *UNUSED(C), bNodeTree *ntree, bNode *node) +{ + const float margin = 30.0f; + NodeFrame *data = (NodeFrame *)node->storage; + int bbinit; + bNode *tnode; + rctf rect, noderect; + float xmax, ymax; + + /* init rect from current frame size */ + nodeToView(node, node->offsetx, node->offsety, &rect.xmin, &rect.ymax); + nodeToView(node, node->offsetx+node->width, node->offsety-node->height, &rect.xmax, &rect.ymin); + + /* frame can be resized manually only if shrinking is disabled or no children are attached */ + data->flag |= NODE_FRAME_RESIZEABLE; + /* for shrinking bbox, initialize the rect from first child node */ + bbinit = (data->flag & NODE_FRAME_SHRINK); + /* fit bounding box to all children */ + for (tnode=ntree->nodes.first; tnode; tnode=tnode->next) { + if (tnode->parent!=node) + continue; + + /* add margin to node rect */ + noderect = tnode->totr; + noderect.xmin -= margin; + noderect.xmax += margin; + noderect.ymin -= margin; + noderect.ymax += margin; + + /* first child initializes frame */ + if (bbinit) { + bbinit = 0; + rect = noderect; + data->flag &= ~NODE_FRAME_RESIZEABLE; + } + else + BLI_union_rctf(&rect, &noderect); + } + + /* now adjust the frame size from view-space bounding box */ + nodeFromView(node, rect.xmin, rect.ymax, &node->offsetx, &node->offsety); + nodeFromView(node, rect.xmax, rect.ymin, &xmax, &ymax); + node->width = xmax - node->offsetx; + node->height = -ymax + node->offsety; + + node->totr = rect; +} + +static void node_draw_frame_label(bNode *node) { - float locx, locy; + /* XXX font id is crap design */ + const int fontid = blf_mono_font; + NodeFrame *data = (NodeFrame *)node->storage; + rctf *rct= &node->totr; + int color_id= node_get_colorid(node); + char label[128]; + /* XXX a bit hacky, should use separate align values for x and y */ + float width, ascender; + float x, y; + + BLI_strncpy(label, nodeLabel(node), sizeof(label)); + BLF_size(fontid, data->label_size, U.dpi); + + /* title color */ + UI_ThemeColorBlendShade(TH_TEXT, color_id, 0.8f, 10); - /* get "global" coords */ - nodeSpaceCoords(node, &locx, &locy); + width = BLF_width(fontid, label); + ascender = BLF_ascender(fontid); + + x = 0.5f*(rct->xmin + rct->xmax) - 0.5f*width; + y = rct->ymax - NODE_DYS - ascender; + + BLF_position(fontid, x, y, 0); + BLF_draw(fontid, label, BLF_DRAW_STR_DUMMY_MAX); +} - node->prvr.xmin = locx + NODE_DYS; - node->prvr.xmax = locx + node->width- NODE_DYS; +static void node_draw_frame(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeTree *UNUSED(ntree), bNode *node) +{ + rctf *rct= &node->totr; + int color_id= node_get_colorid(node); + + /* skip if out of view */ + if (node->totr.xmax < ar->v2d.cur.xmin || node->totr.xmin > ar->v2d.cur.xmax || + node->totr.ymax < ar->v2d.cur.ymin || node->totr.ymin > ar->v2d.cur.ymax) { + + uiEndBlock(C, node->block); + node->block= NULL; + return; + } + + /* shadow */ + node_draw_shadow(snode, node, BASIS_RAD); + + /* body */ + if (node->flag & NODE_CUSTOM_COLOR) + glColor3fv(node->color); + else + UI_ThemeColor4(TH_NODE); + glEnable(GL_BLEND); + uiSetRoundBox(UI_CNR_ALL); + uiRoundBox(rct->xmin, rct->ymin, rct->xmax, rct->ymax, BASIS_RAD); + glDisable(GL_BLEND); - node->totr.xmin = locx; - node->totr.xmax = locx + node->width; - node->totr.ymax = locy; - node->totr.ymin = locy - node->height; + /* outline active and selected emphasis */ + if ( node->flag & (NODE_ACTIVE|SELECT) ) { + glEnable(GL_BLEND); + glEnable( GL_LINE_SMOOTH ); + + if (node->flag & NODE_ACTIVE) + UI_ThemeColorShadeAlpha(TH_ACTIVE, 0, -40); + else + UI_ThemeColorShadeAlpha(TH_SELECT, 0, -40); + uiSetRoundBox(UI_CNR_ALL); + uiDrawBox(GL_LINE_LOOP, rct->xmin, rct->ymin, rct->xmax, rct->ymax, BASIS_RAD); + + glDisable( GL_LINE_SMOOTH ); + glDisable(GL_BLEND); + } + + /* label */ + node_draw_frame_label(node); + + UI_ThemeClearColor(color_id); + + uiEndBlock(C, node->block); + uiDrawBlock(C, node->block); + node->block= NULL; +} + +static int node_resize_area_frame(bNode *node, int x, int y) +{ + const float size = 10.0f; + NodeFrame *data = (NodeFrame *)node->storage; + rctf totr= node->totr; + int dir = 0; + + /* shrinking frame size is determined by child nodes */ + if (!(data->flag & NODE_FRAME_RESIZEABLE)) + return 0; + + if (x >= totr.xmax-size && x < totr.xmax && y >= totr.ymin && y < totr.ymax) + dir |= NODE_RESIZE_RIGHT; + if (x >= totr.xmin && x < totr.xmin+size && y >= totr.ymin && y < totr.ymax) + dir |= NODE_RESIZE_LEFT; + if (x >= totr.xmin && x < totr.xmax && y >= totr.ymax-size && y < totr.ymax) + dir |= NODE_RESIZE_TOP; + if (x >= totr.xmin && x < totr.xmax && y >= totr.ymin && y < totr.ymin+size) + dir |= NODE_RESIZE_BOTTOM; + + return dir; +} + +static void node_buts_frame_details(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) +{ + uiItemR(layout, ptr, "label_size", 0, "Label Size", ICON_NONE); + uiItemR(layout, ptr, "shrink", 0, "Shrink", ICON_NONE); } static void node_common_set_butfunc(bNodeType *ntype) @@ -941,7 +1098,10 @@ static void node_common_set_butfunc(bNodeType *ntype) ntype->drawupdatefunc= node_update_group; break; case NODE_FRAME: + ntype->drawfunc= node_draw_frame; ntype->drawupdatefunc= node_update_frame; + ntype->uifuncbut= node_buts_frame_details; + ntype->resize_area_func= node_resize_area_frame; break; } } @@ -1136,7 +1296,6 @@ static void node_shader_buts_dynamic(uiLayout *layout, bContext *C, PointerRNA * /* only once called */ static void node_shader_set_butfunc(bNodeType *ntype) { - ntype->uifuncbut = NULL; switch (ntype->type) { /* case NODE_GROUP: note, typeinfo for group is generated... see "XXX ugly hack" */ @@ -1215,7 +1374,6 @@ static void node_shader_set_butfunc(bNodeType *ntype) ntype->uifunc= node_shader_buts_dynamic; break; } - if (ntype->uifuncbut == NULL) ntype->uifuncbut = ntype->uifunc; } /* ****************** BUTTON CALLBACKS FOR COMPOSITE NODES ***************** */ @@ -1379,7 +1537,7 @@ static void node_composit_buts_defocus(uiLayout *layout, bContext *UNUSED(C), Po uiItemR(layout, ptr, "use_gamma_correction", 0, NULL, ICON_NONE); col = uiLayoutColumn(layout, 0); - uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_zbuffer")==1); + uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_zbuffer") == TRUE); uiItemR(col, ptr, "f_stop", 0, NULL, ICON_NONE); uiItemR(layout, ptr, "blur_max", 0, NULL, ICON_NONE); @@ -1394,7 +1552,7 @@ static void node_composit_buts_defocus(uiLayout *layout, bContext *UNUSED(C), Po col = uiLayoutColumn(layout, 0); uiItemR(col, ptr, "use_zbuffer", 0, NULL, ICON_NONE); sub = uiLayoutColumn(col, 0); - uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_zbuffer")==0); + uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_zbuffer") == FALSE); uiItemR(sub, ptr, "z_scale", 0, NULL, ICON_NONE); } @@ -1456,7 +1614,7 @@ static void node_composit_buts_lensdist(uiLayout *layout, bContext *UNUSED(C), P uiItemR(col, ptr, "use_projector", 0, NULL, ICON_NONE); col = uiLayoutColumn(col, 0); - uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_projector")==0); + uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_projector") == FALSE); uiItemR(col, ptr, "use_jitter", 0, NULL, ICON_NONE); uiItemR(col, ptr, "use_fit", 0, NULL, ICON_NONE); } @@ -1582,7 +1740,11 @@ static void node_composit_buts_hue_sat(uiLayout *layout, bContext *UNUSED(C), Po static void node_composit_buts_dilateerode(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) { + uiItemR(layout, ptr, "type", 0, NULL, ICON_NONE); uiItemR(layout, ptr, "distance", 0, NULL, ICON_NONE); + if (RNA_enum_get(ptr, "type") == CMP_NODE_DILATEERODE_DISTANCE) { + uiItemR(layout, ptr, "edge", 0, NULL, ICON_NONE); + } } static void node_composit_buts_diff_matte(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) @@ -1627,7 +1789,7 @@ static void node_composit_buts_color_spill(uiLayout *layout, bContext *UNUSED(C) uiItemR(col, ptr, "ratio", UI_ITEM_R_SLIDER, NULL, ICON_NONE); uiItemR(col, ptr, "use_unspill", 0, NULL, ICON_NONE); - if (RNA_boolean_get(ptr, "use_unspill")== 1) { + if (RNA_boolean_get(ptr, "use_unspill") == TRUE) { uiItemR(col, ptr, "unspill_red", UI_ITEM_R_SLIDER, NULL, ICON_NONE); uiItemR(col, ptr, "unspill_green", UI_ITEM_R_SLIDER, NULL, ICON_NONE); uiItemR(col, ptr, "unspill_blue", UI_ITEM_R_SLIDER, NULL, ICON_NONE); @@ -1818,7 +1980,7 @@ static void node_composit_buts_file_output_details(uiLayout *layout, bContext *C uiItemR(col, &active_input_ptr, "use_node_format", 0, NULL, 0); col= uiLayoutColumn(layout, 0); - uiLayoutSetActive(col, RNA_boolean_get(&active_input_ptr, "use_node_format")==0); + uiLayoutSetActive(col, RNA_boolean_get(&active_input_ptr, "use_node_format") == FALSE); uiTemplateImageSettings(col, &imfptr); } } @@ -1980,17 +2142,7 @@ static void node_composit_buts_colorcorrection(uiLayout *layout, bContext *UNUSE uiItemR(row, ptr, "blue", 0, NULL, ICON_NONE); row = uiLayoutRow(layout, 0); - uiItemR(row, ptr, "midtones_start", UI_ITEM_R_SLIDER, NULL, ICON_NONE); - uiItemR(row, ptr, "midtones_end", UI_ITEM_R_SLIDER, NULL, ICON_NONE); - - row = uiLayoutRow(layout, 0); - uiItemR(row, ptr, "master_saturation", UI_ITEM_R_SLIDER, NULL, ICON_NONE); - uiItemR(row, ptr, "master_contrast", UI_ITEM_R_SLIDER, NULL, ICON_NONE); - uiItemR(row, ptr, "master_gamma", UI_ITEM_R_SLIDER, NULL, ICON_NONE); - uiItemR(row, ptr, "master_gain", UI_ITEM_R_SLIDER, NULL, ICON_NONE); - uiItemR(row, ptr, "master_lift", UI_ITEM_R_SLIDER, NULL, ICON_NONE); - - row = uiLayoutRow(layout, 0); + uiItemL(row, "", 0); uiItemL(row, "Saturation", 0); uiItemL(row, "Contrast", 0); uiItemL(row, "Gamma", 0); @@ -1998,26 +2150,42 @@ static void node_composit_buts_colorcorrection(uiLayout *layout, bContext *UNUSE uiItemL(row, "Lift", 0); row = uiLayoutRow(layout, 0); - uiItemR(row, ptr, "highlights_saturation", UI_ITEM_R_SLIDER, NULL, ICON_NONE); - uiItemR(row, ptr, "highlights_contrast", UI_ITEM_R_SLIDER, NULL, ICON_NONE); - uiItemR(row, ptr, "highlights_gamma", UI_ITEM_R_SLIDER, NULL, ICON_NONE); - uiItemR(row, ptr, "highlights_gain", UI_ITEM_R_SLIDER, NULL, ICON_NONE); - uiItemR(row, ptr, "highlights_lift", UI_ITEM_R_SLIDER, NULL, ICON_NONE); + uiItemL(row, "Master", 0); + uiItemR(row, ptr, "master_saturation", UI_ITEM_R_SLIDER, "", ICON_NONE); + uiItemR(row, ptr, "master_contrast", UI_ITEM_R_SLIDER, "", ICON_NONE); + uiItemR(row, ptr, "master_gamma", UI_ITEM_R_SLIDER, "", ICON_NONE); + uiItemR(row, ptr, "master_gain", UI_ITEM_R_SLIDER, "", ICON_NONE); + uiItemR(row, ptr, "master_lift", UI_ITEM_R_SLIDER, "", ICON_NONE); row = uiLayoutRow(layout, 0); - uiItemR(row, ptr, "midtones_saturation", UI_ITEM_R_SLIDER, NULL, ICON_NONE); - uiItemR(row, ptr, "midtones_contrast", UI_ITEM_R_SLIDER, NULL, ICON_NONE); - uiItemR(row, ptr, "midtones_gamma", UI_ITEM_R_SLIDER, NULL, ICON_NONE); - uiItemR(row, ptr, "midtones_gain", UI_ITEM_R_SLIDER, NULL, ICON_NONE); - uiItemR(row, ptr, "midtones_lift", UI_ITEM_R_SLIDER, NULL, ICON_NONE); + uiItemL(row, "Highlights", 0); + uiItemR(row, ptr, "highlights_saturation", UI_ITEM_R_SLIDER, "", ICON_NONE); + uiItemR(row, ptr, "highlights_contrast", UI_ITEM_R_SLIDER, "", ICON_NONE); + uiItemR(row, ptr, "highlights_gamma", UI_ITEM_R_SLIDER, "", ICON_NONE); + uiItemR(row, ptr, "highlights_gain", UI_ITEM_R_SLIDER, "", ICON_NONE); + uiItemR(row, ptr, "highlights_lift", UI_ITEM_R_SLIDER, "", ICON_NONE); row = uiLayoutRow(layout, 0); - uiItemR(row, ptr, "shadows_saturation", UI_ITEM_R_SLIDER, NULL, ICON_NONE); - uiItemR(row, ptr, "shadows_contrast", UI_ITEM_R_SLIDER, NULL, ICON_NONE); - uiItemR(row, ptr, "shadows_gamma", UI_ITEM_R_SLIDER, NULL, ICON_NONE); - uiItemR(row, ptr, "shadows_gain", UI_ITEM_R_SLIDER, NULL, ICON_NONE); - uiItemR(row, ptr, "shadows_lift", UI_ITEM_R_SLIDER, NULL, ICON_NONE); + uiItemL(row, "Midtones", 0); + uiItemR(row, ptr, "midtones_saturation", UI_ITEM_R_SLIDER, "", ICON_NONE); + uiItemR(row, ptr, "midtones_contrast", UI_ITEM_R_SLIDER, "", ICON_NONE); + uiItemR(row, ptr, "midtones_gamma", UI_ITEM_R_SLIDER, "", ICON_NONE); + uiItemR(row, ptr, "midtones_gain", UI_ITEM_R_SLIDER, "", ICON_NONE); + uiItemR(row, ptr, "midtones_lift", UI_ITEM_R_SLIDER, "", ICON_NONE); + + row = uiLayoutRow(layout, 0); + uiItemL(row, "Shadows", 0); + uiItemR(row, ptr, "shadows_saturation", UI_ITEM_R_SLIDER, "", ICON_NONE); + uiItemR(row, ptr, "shadows_contrast", UI_ITEM_R_SLIDER, "", ICON_NONE); + uiItemR(row, ptr, "shadows_gamma", UI_ITEM_R_SLIDER, "", ICON_NONE); + uiItemR(row, ptr, "shadows_gain", UI_ITEM_R_SLIDER, "", ICON_NONE); + uiItemR(row, ptr, "shadows_lift", UI_ITEM_R_SLIDER, "", ICON_NONE); + + row = uiLayoutRow(layout, 0); + uiItemR(row, ptr, "midtones_start", UI_ITEM_R_SLIDER, NULL, ICON_NONE); + uiItemR(row, ptr, "midtones_end", UI_ITEM_R_SLIDER, NULL, ICON_NONE); } + static void node_composit_buts_colorcorrection_but(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) { uiLayout *row; @@ -2071,8 +2239,8 @@ static void node_composit_buts_boxmask(uiLayout *layout, bContext *UNUSED(C), Po uiLayout *row; row= uiLayoutRow(layout, 1); - uiItemR(row, ptr, "x", 0, "X", ICON_NONE); - uiItemR(row, ptr, "y", 0, "Y", ICON_NONE); + uiItemR(row, ptr, "x", 0, NULL, ICON_NONE); + uiItemR(row, ptr, "y", 0, NULL, ICON_NONE); row= uiLayoutRow(layout, 1); uiItemR(row, ptr, "width", UI_ITEM_R_SLIDER, NULL, ICON_NONE); @@ -2113,22 +2281,22 @@ void node_composit_backdrop_viewer(SpaceNode* snode, ImBuf* backdrop, bNode* nod void node_composit_backdrop_boxmask(SpaceNode* snode, ImBuf* backdrop, bNode* node, int x, int y) { - NodeBoxMask * boxmask = node->storage; + NodeBoxMask *boxmask = node->storage; const float backdropWidth = backdrop->x; const float backdropHeight = backdrop->y; const float aspect = backdropWidth/backdropHeight; - const float rad = DEG2RAD(-boxmask->rotation); - const float cosine = cos(rad); - const float sine = sin(rad); - const float halveBoxWidth = backdropWidth*(boxmask->width/2.0f); - const float halveBoxHeight = backdropHeight*(boxmask->height/2.0f)*aspect; + const float rad = DEG2RADF(-boxmask->rotation); + const float cosine = cosf(rad); + const float sine = sinf(rad); + const float halveBoxWidth = backdropWidth * (boxmask->width / 2.0f); + const float halveBoxHeight = backdropHeight * (boxmask->height / 2.0f) * aspect; float cx, cy, x1, x2, x3, x4; float y1, y2, y3, y4; /* keep this, saves us from a version patch */ - if(snode->zoom==0.0f) snode->zoom= 1.0f; + if (snode->zoom == 0.0f) snode->zoom = 1.0f; glColor3f(1.0, 1.0, 1.0); @@ -2157,19 +2325,19 @@ void node_composit_backdrop_ellipsemask(SpaceNode* snode, ImBuf* backdrop, bNode NodeEllipseMask * ellipsemask = node->storage; const float backdropWidth = backdrop->x; const float backdropHeight = backdrop->y; - const float aspect = backdropWidth/backdropHeight; - const float rad = DEG2RAD(-ellipsemask->rotation); - const float cosine = cos(rad); - const float sine = sin(rad); - const float halveBoxWidth = backdropWidth*(ellipsemask->width/2.0f); - const float halveBoxHeight = backdropHeight*(ellipsemask->height/2.0f)*aspect; + const float aspect = backdropWidth / backdropHeight; + const float rad = DEG2RADF(-ellipsemask->rotation); + const float cosine = cosf(rad); + const float sine = sinf(rad); + const float halveBoxWidth = backdropWidth * (ellipsemask->width / 2.0f); + const float halveBoxHeight = backdropHeight * (ellipsemask->height / 2.0f) * aspect; float cx, cy, x1, x2, x3, x4; float y1, y2, y3, y4; /* keep this, saves us from a version patch */ - if(snode->zoom==0.0f) snode->zoom= 1.0f; + if (snode->zoom == 0.0f) snode->zoom = 1.0f; glColor3f(1.0, 1.0, 1.0); @@ -2198,8 +2366,8 @@ static void node_composit_buts_ellipsemask(uiLayout *layout, bContext *UNUSED(C) { uiLayout *row; row= uiLayoutRow(layout, 1); - uiItemR(row, ptr, "x", 0, "X", ICON_NONE); - uiItemR(row, ptr, "y", 0, "Y", ICON_NONE); + uiItemR(row, ptr, "x", 0, NULL, ICON_NONE); + uiItemR(row, ptr, "y", 0, NULL, ICON_NONE); row= uiLayoutRow(layout, 1); uiItemR(row, ptr, "width", UI_ITEM_R_SLIDER, NULL, ICON_NONE); uiItemR(row, ptr, "height", UI_ITEM_R_SLIDER, NULL, ICON_NONE); @@ -2223,7 +2391,6 @@ static void node_composit_buts_viewer_but(uiLayout *layout, bContext *UNUSED(C), /* only once called */ static void node_composit_set_butfunc(bNodeType *ntype) { - ntype->uifuncbut = NULL; switch (ntype->type) { /* case NODE_GROUP: note, typeinfo for group is generated... see "XXX ugly hack" */ @@ -2414,8 +2581,6 @@ static void node_composit_set_butfunc(bNodeType *ntype) default: ntype->uifunc= NULL; } - if (ntype->uifuncbut == NULL) ntype->uifuncbut = ntype->uifunc; - } /* ****************** BUTTON CALLBACKS FOR TEXTURE NODES ***************** */ @@ -2526,7 +2691,6 @@ static void node_texture_buts_output(uiLayout *layout, bContext *UNUSED(C), Poin /* only once called */ static void node_texture_set_butfunc(bNodeType *ntype) { - ntype->uifuncbut = NULL; if ( ntype->type >= TEX_NODE_PROC && ntype->type < TEX_NODE_PROC_MAX ) { ntype->uifunc = node_texture_buts_proc; } @@ -2570,10 +2734,6 @@ static void node_texture_set_butfunc(bNodeType *ntype) break; } } - - if (ntype->uifuncbut == NULL) { - ntype->uifuncbut = ntype->uifunc; - } } /* ******* init draw callbacks for all tree types, only called in usiblender.c, once ************* */ @@ -2976,8 +3136,8 @@ void node_draw_link_straight(View2D *v2d, SpaceNode *snode, bNodeLink *link, int /* note; this is used for fake links in groups too */ void node_draw_link(View2D *v2d, SpaceNode *snode, bNodeLink *link) { - int do_shaded= 0, th_col1= TH_HEADER, th_col2= TH_HEADER; - int do_triple= 0, th_col3= TH_WIRE; + int do_shaded= FALSE, th_col1= TH_HEADER, th_col2= TH_HEADER; + int do_triple= FALSE, th_col3= TH_WIRE; if (link->fromsock==NULL && link->tosock==NULL) return; @@ -2985,7 +3145,7 @@ void node_draw_link(View2D *v2d, SpaceNode *snode, bNodeLink *link) /* new connection */ if (!link->fromsock || !link->tosock) { th_col1 = TH_ACTIVE; - do_triple = 1; + do_triple = TRUE; } else { /* going to give issues once... */ @@ -2997,7 +3157,7 @@ void node_draw_link(View2D *v2d, SpaceNode *snode, bNodeLink *link) /* a bit ugly... but thats how we detect the internal group links */ if (!link->fromnode || !link->tonode) { UI_ThemeColorBlend(TH_BACK, TH_WIRE, 0.5f); - do_shaded= 0; + do_shaded = FALSE; } else { /* check cyclic */ @@ -3013,8 +3173,8 @@ void node_draw_link(View2D *v2d, SpaceNode *snode, bNodeLink *link) if (link->tonode->flag & SELECT) th_col2= TH_EDGE_SELECT; } - do_shaded= 1; - do_triple= 1; + do_shaded = TRUE; + do_triple = TRUE; } else { th_col1 = TH_REDALERT; diff --git a/source/blender/editors/space_node/node_buttons.c b/source/blender/editors/space_node/node_buttons.c index c92abf116c4..f2ec2289ad1 100644 --- a/source/blender/editors/space_node/node_buttons.c +++ b/source/blender/editors/space_node/node_buttons.c @@ -89,8 +89,8 @@ static void active_node_panel(const bContext *C, Panel *pa) SpaceNode *snode= CTX_wm_space_node(C); bNodeTree *ntree= (snode) ? snode->edittree : NULL; bNode *node = (ntree) ? nodeGetActive(ntree) : NULL; // xxx... for editing group nodes - uiLayout *layout; - PointerRNA ptr; + uiLayout *layout, *row, *col, *sub; + PointerRNA ptr, opptr; /* verify pointers, and create RNA pointer for the node */ if (ELEM(NULL, ntree, node)) @@ -100,7 +100,6 @@ static void active_node_panel(const bContext *C, Panel *pa) //else RNA_pointer_create(&ntree->id, &RNA_Node, node, &ptr); - /* XXX nicer way to make sub-layout? */ layout = uiLayoutColumn(pa->layout, 0); uiLayoutSetContextPointer(layout, "node", &ptr); @@ -112,12 +111,35 @@ static void active_node_panel(const bContext *C, Panel *pa) uiItemO(layout, NULL, 0, "NODE_OT_hide_socket_toggle"); uiItemS(layout); + uiItemS(layout); + row = uiLayoutRow(layout, 0); + + col = uiLayoutColumn(row, 1); + uiItemM(col, (bContext *)C, "NODE_MT_node_color_presets", NULL, 0); + uiItemR(col, &ptr, "use_custom_color", UI_ITEM_R_ICON_ONLY, NULL, ICON_NONE); + sub = uiLayoutRow(col, 0); + if (!(node->flag & NODE_CUSTOM_COLOR)) + uiLayoutSetEnabled(sub, 0); + uiItemR(sub, &ptr, "color", 0, "", 0); + + col = uiLayoutColumn(row, 1); + uiItemO(col, "", ICON_ZOOMIN, "node.node_color_preset_add"); + opptr = uiItemFullO(col, "node.node_color_preset_add", "", ICON_ZOOMOUT, NULL, WM_OP_INVOKE_DEFAULT, UI_ITEM_O_RETURN_PROPS); + RNA_boolean_set(&opptr, "remove_active", 1); + uiItemM(col, (bContext *)C, "NODE_MT_node_color_specials", "", ICON_DOWNARROW_HLT); + /* draw this node's settings */ - if (node->typeinfo && node->typeinfo->uifuncbut) + if (node->typeinfo && node->typeinfo->uifuncbut) { + uiItemS(layout); + uiItemS(layout); node->typeinfo->uifuncbut(layout, (bContext *)C, &ptr); - else if (node->typeinfo && node->typeinfo->uifunc) + } + else if (node->typeinfo && node->typeinfo->uifunc) { + uiItemS(layout); + uiItemS(layout); node->typeinfo->uifunc(layout, (bContext *)C, &ptr); + } } static int node_sockets_poll(const bContext *C, PanelType *UNUSED(pt)) diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c index d93b1b1fcc8..7011d605a7e 100644 --- a/source/blender/editors/space_node/node_draw.c +++ b/source/blender/editors/space_node/node_draw.c @@ -167,6 +167,110 @@ void ED_node_generic_update(Main *bmain, bNodeTree *ntree, bNode *node) ntreeTexCheckCyclics(ntree); } +static int compare_nodes(bNode *a, bNode *b) +{ + bNode *parent; + /* These tell if either the node or any of the parent nodes is selected. + * A selected parent means an unselected node is also in foreground! + */ + int a_select=(a->flag & NODE_SELECT), b_select=(b->flag & NODE_SELECT); + int a_active=(a->flag & NODE_ACTIVE), b_active=(b->flag & NODE_ACTIVE); + + /* if one is an ancestor of the other */ + /* XXX there might be a better sorting algorithm for stable topological sort, this is O(n^2) worst case */ + for (parent = a->parent; parent; parent=parent->parent) { + /* if b is an ancestor, it is always behind a */ + if (parent==b) + return 1; + /* any selected ancestor moves the node forward */ + if (parent->flag & NODE_ACTIVE) + a_active = 1; + if (parent->flag & NODE_SELECT) + a_select = 1; + } + for (parent = b->parent; parent; parent=parent->parent) { + /* if a is an ancestor, it is always behind b */ + if (parent==a) + return 0; + /* any selected ancestor moves the node forward */ + if (parent->flag & NODE_ACTIVE) + b_active = 1; + if (parent->flag & NODE_SELECT) + b_select = 1; + } + + /* if one of the nodes is in the background and the other not */ + if ((a->flag & NODE_BACKGROUND) && !(b->flag & NODE_BACKGROUND)) + return 0; + else if (!(a->flag & NODE_BACKGROUND) && (b->flag & NODE_BACKGROUND)) + return 1; + + /* if one has a higher selection state (active > selected > nothing) */ + if (!b_active && a_active) + return 1; + else if (!b_select && (a_active || a_select)) + return 1; + + return 0; +} + +/* Sorts nodes by selection: unselected nodes first, then selected, + * then the active node at the very end. Relative order is kept intact! + */ +void ED_node_sort(bNodeTree *ntree) +{ + /* merge sort is the algorithm of choice here */ + bNode *first_a, *first_b, *node_a, *node_b, *tmp; + int totnodes= BLI_countlist(&ntree->nodes); + int k, a, b; + + k = 1; + while (k < totnodes) { + first_a = first_b = ntree->nodes.first; + + do { + /* setup first_b pointer */ + for (b=0; b < k && first_b; ++b) { + first_b = first_b->next; + } + /* all batches merged? */ + if (first_b==NULL) + break; + + /* merge batches */ + node_a = first_a; + node_b = first_b; + a = b = 0; + while (a < k && b < k && node_b) { + if (compare_nodes(node_a, node_b)==0) { + node_a = node_a->next; + ++a; + } + else { + tmp = node_b; + node_b = node_b->next; + ++b; + BLI_remlink(&ntree->nodes, tmp); + BLI_insertlinkbefore(&ntree->nodes, node_a, tmp); + } + } + + /* setup first pointers for next batch */ + first_b = node_b; + for (; b < k; ++b) { + /* all nodes sorted? */ + if (first_b==NULL) + break; + first_b = first_b->next; + } + first_a = first_b; + } while (first_b); + + k = k << 1; + } +} + + static void do_node_internal_buttons(bContext *C, void *node_v, int event) { if (event==B_NODE_EXEC) { @@ -176,24 +280,6 @@ static void do_node_internal_buttons(bContext *C, void *node_v, int event) } } - -static void node_scaling_widget(int color_id, float aspect, float xmin, float ymin, float xmax, float ymax) -{ - float dx; - float dy; - - dx= 0.5f*(xmax-xmin); - dy= 0.5f*(ymax-ymin); - - UI_ThemeColorShade(color_id, +30); - fdrawline(xmin, ymin, xmax, ymax); - fdrawline(xmin+dx, ymin, xmax, ymax-dy); - - UI_ThemeColorShade(color_id, -10); - fdrawline(xmin, ymin+aspect, xmax, ymax+aspect); - fdrawline(xmin+dx, ymin+aspect, xmax, ymax-dy+aspect); -} - static void node_uiblocks_init(const bContext *C, bNodeTree *ntree) { bNode *node; @@ -223,7 +309,7 @@ static void node_update_basis(const bContext *C, bNodeTree *ntree, bNode *node) int buty; /* get "global" coords */ - nodeSpaceCoords(node, &locx, &locy); + nodeToView(node, 0.0f, 0.0f, &locx, &locy); dy= locy; /* header */ @@ -350,7 +436,7 @@ static void node_update_hidden(bNode *node) int totin=0, totout=0, tot; /* get "global" coords */ - nodeSpaceCoords(node, &locx, &locy); + nodeToView(node, 0.0f, 0.0f, &locx, &locy); /* calculate minimal radius */ for (nsock= node->inputs.first; nsock; nsock= nsock->next) @@ -410,7 +496,7 @@ void node_update_default(const bContext *C, bNodeTree *ntree, bNode *node) node_update_basis(C, ntree, node); } -static int node_get_colorid(bNode *node) +int node_get_colorid(bNode *node) { if (node->typeinfo->nclass==NODE_CLASS_INPUT) return TH_NODE_IN_OUT; @@ -573,6 +659,24 @@ static void node_toggle_button_cb(struct bContext *C, void *node_argv, void *op_ WM_operator_name_call(C, opname, WM_OP_INVOKE_DEFAULT, NULL); } +void node_draw_shadow(SpaceNode *snode, bNode *node, float radius) +{ + rctf *rct = &node->totr; + + uiSetRoundBox(UI_CNR_ALL); + if (node->parent==NULL) + ui_dropshadow(rct, radius, snode->aspect, node->flag & SELECT); + else { + const float margin = 3.0f; + + glColor4f(0.0f, 0.0f, 0.0f, 0.33f); + glEnable(GL_BLEND); + uiRoundBox(rct->xmin-margin, rct->ymin-margin, + rct->xmax+margin, rct->ymax+margin, radius+margin); + glDisable(GL_BLEND); + } +} + static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeTree *ntree, bNode *node) { bNodeSocket *sock; @@ -597,8 +701,8 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN return; } - uiSetRoundBox(UI_CNR_TOP_LEFT | UI_CNR_TOP_RIGHT | UI_CNR_BOTTOM_LEFT); - ui_dropshadow(rct, BASIS_RAD, snode->aspect, node->flag & SELECT); + /* shadow */ + node_draw_shadow(snode, node, BASIS_RAD); /* header */ if (color_id==TH_NODE) @@ -644,7 +748,7 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN /* title */ if (node->flag & SELECT) - UI_ThemeColor(TH_TEXT_HI); + UI_ThemeColor(TH_SELECT); else UI_ThemeColorBlendShade(TH_TEXT, color_id, 0.4f, 10); @@ -680,27 +784,27 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN (int)(iconofs - rct->xmin-18.0f), NODE_DY, NULL, 0, 0, 0, 0, ""); /* body */ - UI_ThemeColor4(TH_NODE); + if (node->flag & NODE_CUSTOM_COLOR) + glColor3fv(node->color); + else + UI_ThemeColor4(TH_NODE); glEnable(GL_BLEND); - uiSetRoundBox(UI_CNR_BOTTOM_LEFT); + uiSetRoundBox(UI_CNR_BOTTOM_LEFT | UI_CNR_BOTTOM_RIGHT); uiRoundBox(rct->xmin, rct->ymin, rct->xmax, rct->ymax-NODE_DY, BASIS_RAD); glDisable(GL_BLEND); - /* scaling indicator */ - node_scaling_widget(TH_NODE, snode->aspect, rct->xmax-BASIS_RAD*snode->aspect, rct->ymin, rct->xmax, rct->ymin+BASIS_RAD*snode->aspect); - /* outline active and selected emphasis */ if ( node->flag & (NODE_ACTIVE|SELECT) ) { glEnable(GL_BLEND); glEnable(GL_LINE_SMOOTH); - /* using different shades of TH_TEXT_HI for the empasis, like triangle */ - if ( node->flag & NODE_ACTIVE ) - UI_ThemeColorShadeAlpha(TH_TEXT_HI, 0, -40); - else - UI_ThemeColorShadeAlpha(TH_TEXT_HI, -20, -120); - uiSetRoundBox(UI_CNR_TOP_LEFT | UI_CNR_TOP_RIGHT | UI_CNR_BOTTOM_LEFT); // round all corners except lower right - uiDrawBox(GL_LINE_LOOP, rct->xmin, rct->ymin, rct->xmax, rct->ymax, BASIS_RAD); - + + if (node->flag & NODE_ACTIVE) + UI_ThemeColorShadeAlpha(TH_ACTIVE, 0, -40); + else + UI_ThemeColorShadeAlpha(TH_SELECT, 0, -40); + uiSetRoundBox(UI_CNR_ALL); + uiDrawBox(GL_LINE_LOOP, rct->xmin, rct->ymin, rct->xmax, rct->ymax, BASIS_RAD); + glDisable(GL_LINE_SMOOTH); glDisable(GL_BLEND); } @@ -758,8 +862,7 @@ static void node_draw_hidden(const bContext *C, ARegion *ar, SpaceNode *snode, b char showname[128]; /* 128 is used below */ /* shadow */ - uiSetRoundBox(UI_CNR_ALL); - ui_dropshadow(rct, hiddenrad, snode->aspect, node->flag & SELECT); + node_draw_shadow(snode, node, hiddenrad); /* body */ UI_ThemeColor(color_id); @@ -771,19 +874,20 @@ static void node_draw_hidden(const bContext *C, ARegion *ar, SpaceNode *snode, b if ( node->flag & (NODE_ACTIVE|SELECT) ) { glEnable(GL_BLEND); glEnable(GL_LINE_SMOOTH); - /* using different shades of TH_TEXT_HI for the empasis, like triangle */ - if ( node->flag & NODE_ACTIVE ) - UI_ThemeColorShadeAlpha(TH_TEXT_HI, 0, -40); - else - UI_ThemeColorShadeAlpha(TH_TEXT_HI, -20, -120); - uiDrawBox(GL_LINE_LOOP, rct->xmin, rct->ymin, rct->xmax, rct->ymax, hiddenrad); + + if (node->flag & NODE_ACTIVE) + UI_ThemeColorShadeAlpha(TH_ACTIVE, 0, -40); + else + UI_ThemeColorShadeAlpha(TH_SELECT, 0, -40); + uiDrawBox(GL_LINE_LOOP, rct->xmin, rct->ymin, rct->xmax, rct->ymax, hiddenrad); + glDisable(GL_LINE_SMOOTH); glDisable(GL_BLEND); } /* title */ if (node->flag & SELECT) - UI_ThemeColor(TH_TEXT_HI); + UI_ThemeColor(TH_SELECT); else UI_ThemeColorBlendShade(TH_TEXT, color_id, 0.4f, 10); @@ -807,7 +911,7 @@ static void node_draw_hidden(const bContext *C, ARegion *ar, SpaceNode *snode, b node_draw_mute_line(&ar->v2d, snode, node); if (node->flag & SELECT) - UI_ThemeColor(TH_TEXT_HI); + UI_ThemeColor(TH_SELECT); else UI_ThemeColor(TH_TEXT); @@ -848,6 +952,45 @@ static void node_draw_hidden(const bContext *C, ARegion *ar, SpaceNode *snode, b node->block= NULL; } +int node_get_resize_cursor(int directions) +{ + if (directions==0) + return CURSOR_STD; + else if ((directions & ~(NODE_RESIZE_TOP|NODE_RESIZE_BOTTOM))==0) + return CURSOR_Y_MOVE; + else if ((directions & ~(NODE_RESIZE_RIGHT|NODE_RESIZE_LEFT))==0) + return CURSOR_X_MOVE; + else + return CURSOR_EDIT; +} + +void node_set_cursor(wmWindow *win, SpaceNode *snode) +{ + bNodeTree *ntree = snode->edittree; + bNode *node; + bNodeSocket *sock; + int cursor = CURSOR_STD; + + if (ntree) { + if (node_find_indicated_socket(snode, &node, &sock, SOCK_IN|SOCK_OUT)) { + /* pass */ + } + else { + /* check nodes front to back */ + for (node=ntree->nodes.last; node; node=node->prev) { + if (BLI_in_rctf(&node->totr, snode->mx, snode->my)) + break; /* first hit on node stops */ + } + if (node) { + int dir = node->typeinfo->resize_area_func(node, snode->mx, snode->my); + cursor = node_get_resize_cursor(dir); + } + } + } + + WM_cursor_set(win, cursor); +} + void node_draw_default(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeTree *ntree, bNode *node) { if (node->flag & NODE_HIDDEN) @@ -866,7 +1009,8 @@ void node_update_nodetree(const bContext *C, bNodeTree *ntree, float offsetx, fl { bNode *node; - for (node= ntree->nodes.first; node; node= node->next) { + /* update nodes front to back, so children sizes get updated before parents */ + for (node= ntree->nodes.last; node; node= node->prev) { /* XXX little hack */ node->locx += offsetx; node->locy += offsety; @@ -892,6 +1036,14 @@ void node_draw_nodetree(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeT if (ntree==NULL) return; /* groups... */ + /* draw background nodes, last nodes in front */ + for (a=0, node= ntree->nodes.first; node; node=node->next, a++) { + if (!(node->flag & NODE_BACKGROUND)) + continue; + node->nr= a; /* index of node in list, used for exec event code */ + node_draw(C, ar, snode, ntree, node); + } + /* node lines */ glEnable(GL_BLEND); glEnable(GL_LINE_SMOOTH); @@ -900,8 +1052,10 @@ void node_draw_nodetree(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeT glDisable(GL_LINE_SMOOTH); glDisable(GL_BLEND); - /* draw nodes, last nodes in front */ + /* draw foreground nodes, last nodes in front */ for (a=0, node= ntree->nodes.first; node; node=node->next, a++) { + if (node->flag & NODE_BACKGROUND) + continue; node->nr= a; /* index of node in list, used for exec event code */ node_draw(C, ar, snode, ntree, node); } diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index f71ce3f960c..c4ea8c4025f 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -125,7 +125,7 @@ static void compo_redrawjob(void *cjv, char *UNUSED(str)) { CompoJob *cj= cjv; - *(cj->do_update)= 1; + *(cj->do_update) = TRUE; } static void compo_freejob(void *cjv) @@ -169,7 +169,7 @@ static void compo_startjob(void *cjv, short *stop, short *do_update, float *prog CompoJob *cj= cjv; bNodeTree *ntree= cj->localtree; - if (cj->scene->use_nodes==0) + if (cj->scene->use_nodes == FALSE) return; cj->stop= stop; @@ -711,55 +711,13 @@ void ED_node_set_active(Main *bmain, bNodeTree *ntree, bNode *node) } } -static int inside_rctf(rctf *bounds, rctf *rect) +void ED_node_post_apply_transform(bContext *UNUSED(C), bNodeTree *UNUSED(ntree)) { - return (bounds->xmin <= rect->xmin && - bounds->xmax >= rect->xmax && - bounds->ymin <= rect->ymin && - bounds->ymax >= rect->ymax); -} - -static void node_frame_attach_nodes(bNodeTree *UNUSED(ntree), bNode *frame) -{ - bNode *node; - - /* only check nodes on top of the frame for attaching */ - for (node=frame->next; node; node=node->next) { - if (node->parent==frame) { - /* detach nodes that went outside the frame */ - if (!inside_rctf(&frame->totr, &node->totr)) - nodeDetachNode(node); - } - else if (node->flag & NODE_SELECT && node->parent==NULL) { - /* attach selected, still unparented nodes */ - if (inside_rctf(&frame->totr, &node->totr)) - nodeAttachNode(node, frame); - } - } -} - -void ED_node_update_hierarchy(bContext *UNUSED(C), bNodeTree *ntree) -{ - bNode *node; - /* XXX This does not work due to layout functions relying on node->block, * which only exists during actual drawing. Can we rely on valid totr rects? */ /* make sure nodes have correct bounding boxes after transform */ -// node_update_nodetree(C, ntree, 0.0f, 0.0f); - - /* all selected nodes are re-parented */ - for (node=ntree->nodes.last; node; node=node->prev) { - if (node->flag & NODE_SELECT && node->parent) - nodeDetachNode(node); - } - - /* update higher Z-level nodes first */ - for (node=ntree->nodes.last; node; node=node->prev) { - /* XXX callback? */ - if (node->type==NODE_FRAME) - node_frame_attach_nodes(ntree, node); - } + /* node_update_nodetree(C, ntree, 0.0f, 0.0f); */ } /* ***************** generic operator functions for nodes ***************** */ @@ -1517,36 +1475,130 @@ void NODE_OT_backimage_sample(wmOperatorType *ot) typedef struct NodeSizeWidget { float mxstart, mystart; + float oldlocx, oldlocy; + float oldoffsetx, oldoffsety; float oldwidth, oldheight; float oldminiwidth; + int directions; } NodeSizeWidget; +static void node_resize_init(bContext *C, wmOperator *op, wmEvent *UNUSED(event), bNode *node, int dir) +{ + SpaceNode *snode = CTX_wm_space_node(C); + + NodeSizeWidget *nsw= MEM_callocN(sizeof(NodeSizeWidget), "size widget op data"); + + op->customdata= nsw; + nsw->mxstart= snode->mx; + nsw->mystart= snode->my; + + /* store old */ + nsw->oldlocx= node->locx; + nsw->oldlocy= node->locy; + nsw->oldoffsetx= node->offsetx; + nsw->oldoffsety= node->offsety; + nsw->oldwidth= node->width; + nsw->oldheight= node->height; + nsw->oldminiwidth= node->miniwidth; + nsw->directions = dir; + + WM_cursor_modal(CTX_wm_window(C), node_get_resize_cursor(dir)); + /* add modal handler */ + WM_event_add_modal_handler(C, op); +} + +static void node_resize_exit(bContext *C, wmOperator *op, int UNUSED(cancel)) +{ + WM_cursor_restore(CTX_wm_window(C)); + + MEM_freeN(op->customdata); + op->customdata= NULL; +} + static int node_resize_modal(bContext *C, wmOperator *op, wmEvent *event) { SpaceNode *snode= CTX_wm_space_node(C); ARegion *ar= CTX_wm_region(C); bNode *node= editnode_get_active(snode->edittree); NodeSizeWidget *nsw= op->customdata; - float mx, my; + float mx, my, dx, dy; switch (event->type) { case MOUSEMOVE: - UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], - &mx, &my); + UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &mx, &my); + dx = mx - nsw->mxstart; + dy = my - nsw->mystart; if (node) { if (node->flag & NODE_HIDDEN) { - node->miniwidth= nsw->oldminiwidth + mx - nsw->mxstart; - CLAMP(node->miniwidth, 0.0f, 100.0f); + float widthmin = 0.0f; + float widthmax = 100.0f; + if (nsw->directions & NODE_RESIZE_RIGHT) { + node->miniwidth= nsw->oldminiwidth + dx; + CLAMP(node->miniwidth, widthmin, widthmax); + } + if (nsw->directions & NODE_RESIZE_LEFT) { + float locmax = nsw->oldlocx + nsw->oldminiwidth; + + node->locx= nsw->oldlocx + dx; + CLAMP(node->locx, locmax - widthmax, locmax - widthmin); + node->miniwidth= locmax - node->locx; + } } else { - node->width= nsw->oldwidth + mx - nsw->mxstart; - CLAMP(node->width, UI_DPI_FAC*node->typeinfo->minwidth, UI_DPI_FAC*node->typeinfo->maxwidth); + float widthmin = UI_DPI_FAC*node->typeinfo->minwidth; + float widthmax = UI_DPI_FAC*node->typeinfo->maxwidth; + if (nsw->directions & NODE_RESIZE_RIGHT) { + node->width= nsw->oldwidth + dx; + CLAMP(node->width, widthmin, widthmax); + } + if (nsw->directions & NODE_RESIZE_LEFT) { + float locmax = nsw->oldlocx + nsw->oldwidth; + + node->locx= nsw->oldlocx + dx; + CLAMP(node->locx, locmax - widthmax, locmax - widthmin); + node->width= locmax - node->locx; + } } + /* height works the other way round ... */ - node->height= nsw->oldheight - my + nsw->mystart; - CLAMP(node->height, node->typeinfo->minheight, node->typeinfo->maxheight); + { + float heightmin = UI_DPI_FAC*node->typeinfo->minheight; + float heightmax = UI_DPI_FAC*node->typeinfo->maxheight; + if (nsw->directions & NODE_RESIZE_TOP) { + float locmin = nsw->oldlocy - nsw->oldheight; + + node->locy= nsw->oldlocy + dy; + CLAMP(node->locy, locmin + heightmin, locmin + heightmax); + node->height= node->locy - locmin; + } + if (nsw->directions & NODE_RESIZE_BOTTOM) { + node->height= nsw->oldheight - dy; + CLAMP(node->height, heightmin, heightmax); + } + } + + /* XXX make callback? */ + if (node->type == NODE_FRAME) { + /* keep the offset symmetric around center point */ + if (nsw->directions & NODE_RESIZE_LEFT) { + node->locx = nsw->oldlocx + 0.5f*dx; + node->offsetx = nsw->oldoffsetx + 0.5f*dx; + } + if (nsw->directions & NODE_RESIZE_RIGHT) { + node->locx = nsw->oldlocx + 0.5f*dx; + node->offsetx = nsw->oldoffsetx - 0.5f*dx; + } + if (nsw->directions & NODE_RESIZE_TOP) { + node->locy = nsw->oldlocy + 0.5f*dy; + node->offsety = nsw->oldoffsety + 0.5f*dy; + } + if (nsw->directions & NODE_RESIZE_BOTTOM) { + node->locy = nsw->oldlocy + 0.5f*dy; + node->offsety = nsw->oldoffsety - 0.5f*dy; + } + } } ED_region_tag_redraw(ar); @@ -1557,10 +1609,8 @@ static int node_resize_modal(bContext *C, wmOperator *op, wmEvent *event) case MIDDLEMOUSE: case RIGHTMOUSE: - MEM_freeN(nsw); - op->customdata= NULL; - - ED_node_update_hierarchy(C, snode->edittree); + node_resize_exit(C, op, 0); + ED_node_post_apply_transform(C, snode->edittree); return OPERATOR_FINISHED; } @@ -1573,37 +1623,24 @@ static int node_resize_invoke(bContext *C, wmOperator *op, wmEvent *event) SpaceNode *snode= CTX_wm_space_node(C); ARegion *ar= CTX_wm_region(C); bNode *node= editnode_get_active(snode->edittree); + int dir; if (node) { /* convert mouse coordinates to v2d space */ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], - &snode->mx, &snode->my); - - if (node->typeinfo->resize_area_func(node, snode->mx, snode->my)) { - NodeSizeWidget *nsw= MEM_callocN(sizeof(NodeSizeWidget), "size widget op data"); - - op->customdata= nsw; - nsw->mxstart= snode->mx; - nsw->mystart= snode->my; - - /* store old */ - nsw->oldwidth= node->width; - nsw->oldheight= node->height; - nsw->oldminiwidth= node->miniwidth; - - /* add modal handler */ - WM_event_add_modal_handler(C, op); - + &snode->mx, &snode->my); + dir = node->typeinfo->resize_area_func(node, snode->mx, snode->my); + if (dir != 0) { + node_resize_init(C, op, event, node, dir); return OPERATOR_RUNNING_MODAL; } } return OPERATOR_CANCELLED|OPERATOR_PASS_THROUGH; } -static int node_resize_cancel(bContext *UNUSED(C), wmOperator *op) +static int node_resize_cancel(bContext *C, wmOperator *op) { - MEM_freeN(op->customdata); - op->customdata= NULL; + node_resize_exit(C, op, 1); return OPERATOR_CANCELLED; } @@ -2180,6 +2217,27 @@ bNode *node_add_node(SpaceNode *snode, Main *bmain, Scene *scene, bNodeTemplate /* ****************** Duplicate *********************** */ +static void node_duplicate_reparent_recursive(bNode *node) +{ + bNode *parent; + + node->flag |= NODE_TEST; + + /* find first selected parent */ + for (parent=node->parent; parent; parent=parent->parent) { + if (parent->flag & SELECT) { + if (!(parent->flag & NODE_TEST)) + node_duplicate_reparent_recursive(parent); + break; + } + } + /* reparent node copy to parent copy */ + if (parent) { + nodeDetachNode(node->new_node); + nodeAttachNode(node->new_node, parent->new_node); + } +} + static int node_duplicate_exec(bContext *C, wmOperator *op) { SpaceNode *snode= CTX_wm_space_node(C); @@ -2242,6 +2300,19 @@ static int node_duplicate_exec(bContext *C, wmOperator *op) break; } + /* clear flags for recursive depth-first iteration */ + for (node= ntree->nodes.first; node; node= node->next) + node->flag &= ~NODE_TEST; + /* reparent copied nodes */ + for (node= ntree->nodes.first; node; node= node->next) { + if ((node->flag & SELECT) && !(node->flag & NODE_TEST)) + node_duplicate_reparent_recursive(node); + + /* only has to check old nodes */ + if (node==lastnode) + break; + } + /* deselect old nodes, select the copies instead */ for (node= ntree->nodes.first; node; node= node->next) { if (node->flag & SELECT) { @@ -2366,7 +2437,7 @@ static int node_link_modal(bContext *C, wmOperator *op, wmEvent *event) ntreeUpdateTree(snode->edittree); } else { - int do_update = 0; + int do_update = FALSE; for (linkdata=nldrag->links.first; linkdata; linkdata=linkdata->next) { link = linkdata->data; @@ -2377,11 +2448,12 @@ static int node_link_modal(bContext *C, wmOperator *op, wmEvent *event) link->tosock= NULL; snode->edittree->update |= NTREE_UPDATE_LINKS; - do_update = 1; + do_update = TRUE; } } - if (do_update) + if (do_update) { ntreeUpdateTree(snode->edittree); + } } } else { @@ -2408,7 +2480,7 @@ static int node_link_modal(bContext *C, wmOperator *op, wmEvent *event) ntreeUpdateTree(snode->edittree); } else { - int do_update = 0; + int do_update = FALSE; for (linkdata=nldrag->links.first; linkdata; linkdata=linkdata->next) { link = linkdata->data; @@ -2419,11 +2491,12 @@ static int node_link_modal(bContext *C, wmOperator *op, wmEvent *event) link->fromsock= NULL; snode->edittree->update |= NTREE_UPDATE_LINKS; - do_update = 1; + do_update = TRUE; } } - if (do_update) + if (do_update) { ntreeUpdateTree(snode->edittree); + } } } @@ -2448,7 +2521,7 @@ static int node_link_modal(bContext *C, wmOperator *op, wmEvent *event) /* when linking to group outputs, update the socket type */ /* XXX this should all be part of a generic update system */ if (!link->tonode) { - if(link->tosock->type != link->fromsock->type) + if (link->tosock->type != link->fromsock->type) nodeSocketSetType(link->tosock, link->fromsock->type); } } @@ -3780,3 +3853,354 @@ void NODE_OT_output_file_move_active_socket(wmOperatorType *ot) RNA_def_enum(ot->srna, "direction", direction_items, 2, "Direction", ""); } + +/* ****************** Copy Node Color ******************* */ + +static int node_copy_color_exec(bContext *C, wmOperator *UNUSED(op)) +{ + SpaceNode *snode = CTX_wm_space_node(C); + bNodeTree *ntree = snode->edittree; + bNode *node, *tnode; + + if (!ntree) + return OPERATOR_CANCELLED; + node = nodeGetActive(ntree); + if (!node) + return OPERATOR_CANCELLED; + + for (tnode=ntree->nodes.first; tnode; tnode=tnode->next) { + if (tnode->flag & NODE_SELECT && tnode != node) { + if (node->flag & NODE_CUSTOM_COLOR) { + tnode->flag |= NODE_CUSTOM_COLOR; + copy_v3_v3(tnode->color, node->color); + } + else + tnode->flag &= ~NODE_CUSTOM_COLOR; + } + } + + ED_node_sort(ntree); + WM_event_add_notifier(C, NC_NODE|ND_DISPLAY, NULL); + + return OPERATOR_FINISHED; +} + +void NODE_OT_node_copy_color(wmOperatorType *ot) +{ + /* identifiers */ + ot->name = "Copy Color"; + ot->description = "Copy color to all selected nodes"; + ot->idname = "NODE_OT_node_copy_color"; + + /* api callbacks */ + ot->exec = node_copy_color_exec; + ot->poll = ED_operator_node_active; + + /* flags */ + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; +} + +/* ****************** Set Parent ******************* */ + +static int node_parent_set_exec(bContext *C, wmOperator *UNUSED(op)) +{ + SpaceNode *snode = CTX_wm_space_node(C); + bNodeTree *ntree = snode->edittree; + bNode *frame = nodeGetActive(ntree), *node; + if (!frame || frame->type != NODE_FRAME) + return OPERATOR_CANCELLED; + + for (node=ntree->nodes.first; node; node=node->next) { + if (node == frame) + continue; + if (node->flag & NODE_SELECT) { + nodeDetachNode(node); + nodeAttachNode(node, frame); + } + } + + ED_node_sort(ntree); + WM_event_add_notifier(C, NC_NODE|ND_DISPLAY, NULL); + + return OPERATOR_FINISHED; +} + +void NODE_OT_parent_set(wmOperatorType *ot) +{ + /* identifiers */ + ot->name = "Make Parent"; + ot->description = "Attach selected nodes"; + ot->idname = "NODE_OT_parent_set"; + + /* api callbacks */ + ot->exec = node_parent_set_exec; + ot->poll = ED_operator_node_active; + + /* flags */ + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; +} + +/* ****************** Clear Parent ******************* */ + +static int node_parent_clear_exec(bContext *C, wmOperator *UNUSED(op)) +{ + SpaceNode *snode = CTX_wm_space_node(C); + bNodeTree *ntree = snode->edittree; + bNode *node; + + for (node=ntree->nodes.first; node; node=node->next) { + if (node->flag & NODE_SELECT) { + nodeDetachNode(node); + } + } + + WM_event_add_notifier(C, NC_NODE|ND_DISPLAY, NULL); + + return OPERATOR_FINISHED; +} + +void NODE_OT_parent_clear(wmOperatorType *ot) +{ + /* identifiers */ + ot->name = "Clear Parent"; + ot->description = "Detach selected nodes"; + ot->idname = "NODE_OT_parent_clear"; + + /* api callbacks */ + ot->exec = node_parent_clear_exec; + ot->poll = ED_operator_node_active; + + /* flags */ + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; +} + +/* ****************** Join Nodes ******************* */ + +/* tags for depth-first search */ +#define NODE_JOIN_DONE 1 +#define NODE_JOIN_IS_DESCENDANT 2 + +static void node_join_attach_recursive(bNode *node, bNode *frame) +{ + node->done |= NODE_JOIN_DONE; + + if (node == frame) { + node->done |= NODE_JOIN_IS_DESCENDANT; + } + else if (node->parent) { + /* call recursively */ + if (!(node->parent->done & NODE_JOIN_DONE)) + node_join_attach_recursive(node->parent, frame); + + /* in any case: if the parent is a descendant, so is the child */ + if (node->parent->done & NODE_JOIN_IS_DESCENDANT) + node->done |= NODE_JOIN_IS_DESCENDANT; + else if (node->flag & NODE_TEST) { + /* if parent is not an decendant of the frame, reattach the node */ + nodeDetachNode(node); + nodeAttachNode(node, frame); + node->done |= NODE_JOIN_IS_DESCENDANT; + } + } + else if (node->flag & NODE_TEST) { + nodeAttachNode(node, frame); + node->done |= NODE_JOIN_IS_DESCENDANT; + } +} + +static int node_join_exec(bContext *C, wmOperator *UNUSED(op)) +{ + SpaceNode *snode = CTX_wm_space_node(C); + Main *bmain = CTX_data_main(C); + Scene *scene = CTX_data_scene(C); + bNodeTree *ntree = snode->edittree; + bNode *node, *frame; + bNodeTemplate ntemp; + + /* XXX save selection: node_add_node call below sets the new frame as single active+selected node */ + for (node=ntree->nodes.first; node; node=node->next) { + if (node->flag & NODE_SELECT) + node->flag |= NODE_TEST; + else + node->flag &= ~NODE_TEST; + } + + ntemp.main = bmain; + ntemp.scene = scene; + ntemp.type = NODE_FRAME; + frame = node_add_node(snode, bmain, scene, &ntemp, 0.0f, 0.0f); + + /* reset tags */ + for (node=ntree->nodes.first; node; node=node->next) + node->done = 0; + + for (node=ntree->nodes.first; node; node=node->next) { + if (!(node->done & NODE_JOIN_DONE)) + node_join_attach_recursive(node, frame); + } + + /* restore selection */ + for (node=ntree->nodes.first; node; node=node->next) { + if (node->flag & NODE_TEST) + node->flag |= NODE_SELECT; + } + + ED_node_sort(ntree); + WM_event_add_notifier(C, NC_NODE|ND_DISPLAY, NULL); + + return OPERATOR_FINISHED; +} + +void NODE_OT_join(wmOperatorType *ot) +{ + /* identifiers */ + ot->name = "Join Nodes"; + ot->description = "Attaches selected nodes to a new common frame"; + ot->idname = "NODE_OT_join"; + + /* api callbacks */ + ot->exec = node_join_exec; + ot->poll = ED_operator_node_active; + + /* flags */ + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; +} + +/* ****************** Attach ******************* */ + +static int node_attach_exec(bContext *C, wmOperator *UNUSED(op)) +{ + SpaceNode *snode = CTX_wm_space_node(C); + bNodeTree *ntree = snode->edittree; + bNode *frame; + + /* check nodes front to back */ + for (frame=ntree->nodes.last; frame; frame=frame->prev) { + /* skip selected, those are the nodes we want to attach */ + if ((frame->type != NODE_FRAME) || (frame->flag & NODE_SELECT)) + continue; + if (BLI_in_rctf(&frame->totr, snode->mx, snode->my)) + break; + } + if (frame) { + bNode *node, *parent; + for (node=ntree->nodes.last; node; node=node->prev) { + if (node->flag & NODE_SELECT) { + if (node->parent == NULL) { + /* attach all unparented nodes */ + nodeAttachNode(node, frame); + } + else { + /* attach nodes which share parent with the frame */ + for (parent=frame->parent; parent; parent=parent->parent) + if (parent == node->parent) + break; + if (parent) { + nodeDetachNode(node); + nodeAttachNode(node, frame); + } + } + } + } + } + + ED_node_sort(ntree); + WM_event_add_notifier(C, NC_NODE|ND_DISPLAY, NULL); + + return OPERATOR_FINISHED; +} + +static int node_attach_invoke(bContext *C, wmOperator *op, wmEvent *event) +{ + ARegion *ar= CTX_wm_region(C); + SpaceNode *snode= CTX_wm_space_node(C); + + /* convert mouse coordinates to v2d space */ + UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &snode->mx, &snode->my); + + return node_attach_exec(C, op); +} + +void NODE_OT_attach(wmOperatorType *ot) +{ + /* identifiers */ + ot->name = "Attach Nodes"; + ot->description = "Attaches active node to a frame"; + ot->idname = "NODE_OT_attach"; + + /* api callbacks */ + ot->exec = node_attach_exec; + ot->invoke = node_attach_invoke; + ot->poll = ED_operator_node_active; + + /* flags */ + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; +} + +/* ****************** Detach ******************* */ + +/* tags for depth-first search */ +#define NODE_DETACH_DONE 1 +#define NODE_DETACH_IS_DESCENDANT 2 + +static void node_detach_recursive(bNode *node) +{ + node->done |= NODE_DETACH_DONE; + + if (node->parent) { + /* call recursively */ + if (!(node->parent->done & NODE_DETACH_DONE)) + node_detach_recursive(node->parent); + + /* in any case: if the parent is a descendant, so is the child */ + if (node->parent->done & NODE_DETACH_IS_DESCENDANT) + node->done |= NODE_DETACH_IS_DESCENDANT; + else if (node->flag & NODE_SELECT) { + /* if parent is not a decendant of a selected node, detach */ + nodeDetachNode(node); + node->done |= NODE_DETACH_IS_DESCENDANT; + } + } + else if (node->flag & NODE_SELECT) { + node->done |= NODE_DETACH_IS_DESCENDANT; + } +} + +/* detach the root nodes in the current selection */ +static int node_detach_exec(bContext *C, wmOperator *UNUSED(op)) +{ + SpaceNode *snode = CTX_wm_space_node(C); + bNodeTree *ntree = snode->edittree; + bNode *node; + + /* reset tags */ + for (node=ntree->nodes.first; node; node=node->next) + node->done = 0; + /* detach nodes recursively + * relative order is preserved here! + */ + for (node=ntree->nodes.first; node; node=node->next) { + if (!(node->done & NODE_DETACH_DONE)) + node_detach_recursive(node); + } + + ED_node_sort(ntree); + WM_event_add_notifier(C, NC_NODE|ND_DISPLAY, NULL); + + return OPERATOR_FINISHED; +} + +void NODE_OT_detach(wmOperatorType *ot) +{ + /* identifiers */ + ot->name = "Detach Nodes"; + ot->description = "Detaches selected nodes from parents"; + ot->idname = "NODE_OT_detach"; + + /* api callbacks */ + ot->exec = node_detach_exec; + ot->poll = ED_operator_node_active; + + /* flags */ + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; +} diff --git a/source/blender/editors/space_node/node_intern.h b/source/blender/editors/space_node/node_intern.h index 802c471c7aa..60177192e2a 100644 --- a/source/blender/editors/space_node/node_intern.h +++ b/source/blender/editors/space_node/node_intern.h @@ -40,7 +40,9 @@ struct ARegion; struct ARegionType; struct View2D; struct bContext; +struct wmWindow; struct wmWindowManager; +struct wmEvent; struct bNodeTemplate; struct bNode; struct bNodeSocket; @@ -67,13 +69,18 @@ ARegion *node_has_buttons_region(ScrArea *sa); void node_menus_register(void); /* node_draw.c */ +int node_get_colorid(struct bNode *node); void node_socket_circle_draw(struct bNodeTree *ntree, struct bNodeSocket *sock, float size); +int node_get_resize_cursor(int directions); +void node_draw_shadow(struct SpaceNode *snode, struct bNode *node, float radius); void node_draw_default(const struct bContext *C, struct ARegion *ar, struct SpaceNode *snode, struct bNodeTree *ntree, struct bNode *node); void node_update_default(const struct bContext *C, struct bNodeTree *ntree, struct bNode *node); void node_update_nodetree(const struct bContext *C, struct bNodeTree *ntree, float offsetx, float offsety); void node_draw_nodetree(const struct bContext *C, struct ARegion *ar, struct SpaceNode *snode, struct bNodeTree *ntree); void drawnodespace(const bContext *C, ARegion *ar, View2D *v2d); +void node_set_cursor(struct wmWindow *win, struct SpaceNode *snode); + /* node_buttons.c */ void node_buttons_register(struct ARegionType *art); void NODE_OT_properties(struct wmOperatorType *ot); @@ -151,6 +158,7 @@ void NODE_OT_hide_toggle(struct wmOperatorType *ot); void NODE_OT_hide_socket_toggle(struct wmOperatorType *ot); void NODE_OT_preview_toggle(struct wmOperatorType *ot); void NODE_OT_options_toggle(struct wmOperatorType *ot); +void NODE_OT_node_copy_color(struct wmOperatorType *ot); void NODE_OT_show_cyclic_dependencies(struct wmOperatorType *ot); void NODE_OT_link_viewer(struct wmOperatorType *ot); @@ -170,6 +178,12 @@ void NODE_OT_output_file_add_socket(struct wmOperatorType *ot); void NODE_OT_output_file_remove_active_socket(struct wmOperatorType *ot); void NODE_OT_output_file_move_active_socket(struct wmOperatorType *ot); +void NODE_OT_parent_set(struct wmOperatorType *ot); +void NODE_OT_parent_clear(struct wmOperatorType *ot); +void NODE_OT_join(struct wmOperatorType *ot); +void NODE_OT_attach(struct wmOperatorType *ot); +void NODE_OT_detach(struct wmOperatorType *ot); + extern const char *node_context_dir[]; // XXXXXX diff --git a/source/blender/editors/space_node/node_ops.c b/source/blender/editors/space_node/node_ops.c index 5d586f08eb0..781a14fca59 100644 --- a/source/blender/editors/space_node/node_ops.c +++ b/source/blender/editors/space_node/node_ops.c @@ -68,6 +68,7 @@ void node_operatortypes(void) WM_operatortype_append(NODE_OT_options_toggle); WM_operatortype_append(NODE_OT_hide_socket_toggle); WM_operatortype_append(NODE_OT_show_cyclic_dependencies); + WM_operatortype_append(NODE_OT_node_copy_color); WM_operatortype_append(NODE_OT_duplicate); WM_operatortype_append(NODE_OT_delete); @@ -104,6 +105,12 @@ void node_operatortypes(void) WM_operatortype_append(NODE_OT_output_file_add_socket); WM_operatortype_append(NODE_OT_output_file_remove_active_socket); WM_operatortype_append(NODE_OT_output_file_move_active_socket); + + WM_operatortype_append(NODE_OT_parent_set); + WM_operatortype_append(NODE_OT_parent_clear); + WM_operatortype_append(NODE_OT_join); + WM_operatortype_append(NODE_OT_attach); + WM_operatortype_append(NODE_OT_detach); } void ED_operatormacros_node(void) @@ -111,10 +118,32 @@ void ED_operatormacros_node(void) wmOperatorType *ot; wmOperatorTypeMacro *mot; - ot = WM_operatortype_append_macro("NODE_OT_duplicate_move", "Duplicate", "Duplicate selected nodes and move them", + ot = WM_operatortype_append_macro("NODE_OT_select_link_viewer", "Link Viewer", + "Select node and link it to a viewer node", + OPTYPE_UNDO); + WM_operatortype_macro_define(ot, "NODE_OT_select"); + WM_operatortype_macro_define(ot, "NODE_OT_link_viewer"); + + ot = WM_operatortype_append_macro("NODE_OT_translate_attach", "Move and Attach", + "Move nodes and attach to frame", + OPTYPE_UNDO|OPTYPE_REGISTER); + mot = WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate"); + RNA_boolean_set(mot->ptr, "release_confirm", TRUE); + WM_operatortype_macro_define(ot, "NODE_OT_attach"); + + ot = WM_operatortype_append_macro("NODE_OT_detach_translate_attach", "Detach and Move", + "Detach nodes, move and attach to frame", + OPTYPE_UNDO|OPTYPE_REGISTER); + WM_operatortype_macro_define(ot, "NODE_OT_detach"); + mot = WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate"); + RNA_boolean_set(mot->ptr, "release_confirm", TRUE); + WM_operatortype_macro_define(ot, "NODE_OT_attach"); + + ot = WM_operatortype_append_macro("NODE_OT_duplicate_move", "Duplicate", + "Duplicate selected nodes and move them", OPTYPE_UNDO|OPTYPE_REGISTER); WM_operatortype_macro_define(ot, "NODE_OT_duplicate"); - WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate"); + WM_operatortype_macro_define(ot, "NODE_OT_translate_attach"); /* modified operator call for duplicating with input links */ ot = WM_operatortype_append_macro("NODE_OT_duplicate_move_keep_inputs", "Duplicate", @@ -122,12 +151,7 @@ void ED_operatormacros_node(void) OPTYPE_UNDO|OPTYPE_REGISTER); mot = WM_operatortype_macro_define(ot, "NODE_OT_duplicate"); RNA_boolean_set(mot->ptr, "keep_inputs", TRUE); - WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate"); - - ot = WM_operatortype_append_macro("NODE_OT_select_link_viewer", "Link Viewer", - "Select node and link it to a viewer node", OPTYPE_UNDO); - WM_operatortype_macro_define(ot, "NODE_OT_select"); - WM_operatortype_macro_define(ot, "NODE_OT_link_viewer"); + WM_operatortype_macro_define(ot, "NODE_OT_translate_attach"); ot = WM_operatortype_append_macro("NODE_OT_move_detach_links", "Detach", "Move a node to detach links", OPTYPE_UNDO|OPTYPE_REGISTER); @@ -137,8 +161,30 @@ void ED_operatormacros_node(void) ot = WM_operatortype_append_macro("NODE_OT_move_detach_links_release", "Detach", "Move a node to detach links", OPTYPE_UNDO|OPTYPE_REGISTER); WM_operatortype_macro_define(ot, "NODE_OT_links_detach"); - mot = WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate"); - RNA_boolean_set(mot->ptr, "release_confirm", TRUE); + mot = WM_operatortype_macro_define(ot, "NODE_OT_translate_attach"); +} + +/* helper function for repetitive select operator keymap */ +static void node_select_keymap(wmKeyMap *keymap, int extend) +{ + /* modifier combinations */ + const int mod_single[] = { 0, KM_CTRL, KM_ALT, KM_CTRL|KM_ALT, + -1 /* terminator */ + }; + const int mod_extend[] = { KM_SHIFT, KM_SHIFT|KM_CTRL, + KM_SHIFT|KM_ALT, KM_SHIFT|KM_CTRL|KM_ALT, + -1 /* terminator */ + }; + const int *mod = (extend ? mod_extend : mod_single); + wmKeyMapItem *kmi; + int i; + + for (i=0; mod[i] >= 0; ++i) { + kmi = WM_keymap_add_item(keymap, "NODE_OT_select", ACTIONMOUSE, KM_PRESS, mod[i], 0); + RNA_boolean_set(kmi->ptr, "extend", extend); + kmi = WM_keymap_add_item(keymap, "NODE_OT_select", SELECTMOUSE, KM_PRESS, mod[i], 0); + RNA_boolean_set(kmi->ptr, "extend", extend); + } } void node_keymap(struct wmKeyConfig *keyconf) @@ -157,15 +203,12 @@ void node_keymap(struct wmKeyConfig *keyconf) /* mouse select in nodes used to be both keys, but perhaps this should be reduced? * NOTE: mouse-clicks on left-mouse will fall through to allow transform-tweak, but also link/resize * NOTE 2: socket select is part of the node select operator, to handle overlapping cases + * NOTE 3: select op is registered for various combinations of modifier key, so the specialized + * grab operators (unlink, attach, etc.) can work easily on single nodes. */ - kmi = WM_keymap_add_item(keymap, "NODE_OT_select", ACTIONMOUSE, KM_PRESS, 0, 0); - RNA_boolean_set(kmi->ptr, "extend", FALSE); - kmi = WM_keymap_add_item(keymap, "NODE_OT_select", SELECTMOUSE, KM_PRESS, 0, 0); - RNA_boolean_set(kmi->ptr, "extend", FALSE); - kmi = WM_keymap_add_item(keymap, "NODE_OT_select", ACTIONMOUSE, KM_PRESS, KM_SHIFT, 0); - RNA_boolean_set(kmi->ptr, "extend", TRUE); - kmi = WM_keymap_add_item(keymap, "NODE_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0); - RNA_boolean_set(kmi->ptr, "extend", TRUE); + node_select_keymap(keymap, FALSE); + node_select_keymap(keymap, TRUE); + kmi = WM_keymap_add_item(keymap, "NODE_OT_select_border", EVT_TWEAK_S, KM_ANY, 0, 0); RNA_boolean_set(kmi->ptr, "tweak", TRUE); @@ -195,6 +238,10 @@ void node_keymap(struct wmKeyConfig *keyconf) /* modified operator call for duplicating with input links */ WM_keymap_add_item(keymap, "NODE_OT_duplicate_move_keep_inputs", DKEY, KM_PRESS, KM_SHIFT|KM_CTRL, 0); + WM_keymap_add_item(keymap, "NODE_OT_parent_set", PKEY, KM_PRESS, KM_CTRL, 0); + WM_keymap_add_item(keymap, "NODE_OT_parent_clear", PKEY, KM_PRESS, KM_ALT, 0); + WM_keymap_add_item(keymap, "NODE_OT_join", JKEY, KM_PRESS, KM_CTRL, 0); + WM_keymap_add_item(keymap, "NODE_OT_hide_toggle", HKEY, KM_PRESS, 0, 0); WM_keymap_add_item(keymap, "NODE_OT_mute_toggle", MKEY, KM_PRESS, 0, 0); WM_keymap_add_item(keymap, "NODE_OT_preview_toggle", HKEY, KM_PRESS, KM_SHIFT, 0); diff --git a/source/blender/editors/space_node/node_select.c b/source/blender/editors/space_node/node_select.c index a540f18b3a5..9098c8a4255 100644 --- a/source/blender/editors/space_node/node_select.c +++ b/source/blender/editors/space_node/node_select.c @@ -70,109 +70,6 @@ static bNode *node_under_mouse(bNodeTree *ntree, int mx, int my) return NULL; } -static int compare_nodes(bNode *a, bNode *b) -{ - bNode *parent; - /* These tell if either the node or any of the parent nodes is selected. - * A selected parent means an unselected node is also in foreground! - */ - int a_select=(a->flag & NODE_SELECT), b_select=(b->flag & NODE_SELECT); - int a_active=(a->flag & NODE_ACTIVE), b_active=(b->flag & NODE_ACTIVE); - - /* if one is an ancestor of the other */ - /* XXX there might be a better sorting algorithm for stable topological sort, this is O(n^2) worst case */ - for (parent = a->parent; parent; parent=parent->parent) { - /* if b is an ancestor, it is always behind a */ - if (parent==b) - return 1; - /* any selected ancestor moves the node forward */ - if (parent->flag & NODE_ACTIVE) - a_active = 1; - if (parent->flag & NODE_SELECT) - a_select = 1; - } - for (parent = b->parent; parent; parent=parent->parent) { - /* if a is an ancestor, it is always behind b */ - if (parent==a) - return 0; - /* any selected ancestor moves the node forward */ - if (parent->flag & NODE_ACTIVE) - b_active = 1; - if (parent->flag & NODE_SELECT) - b_select = 1; - } - - /* if one of the nodes is in the background and the other not */ - if ((a->flag & NODE_BACKGROUND) && !(b->flag & NODE_BACKGROUND)) - return 0; - else if (!(a->flag & NODE_BACKGROUND) && (b->flag & NODE_BACKGROUND)) - return 1; - - /* if one has a higher selection state (active > selected > nothing) */ - if (!b_active && a_active) - return 1; - else if (!b_select && (a_active || a_select)) - return 1; - - return 0; -} - -/* Sorts nodes by selection: unselected nodes first, then selected, - * then the active node at the very end. Relative order is kept intact! - */ -static void node_sort(bNodeTree *ntree) -{ - /* merge sort is the algorithm of choice here */ - bNode *first_a, *first_b, *node_a, *node_b, *tmp; - int totnodes= BLI_countlist(&ntree->nodes); - int k, a, b; - - k = 1; - while (k < totnodes) { - first_a = first_b = ntree->nodes.first; - - do { - /* setup first_b pointer */ - for (b=0; b < k && first_b; ++b) { - first_b = first_b->next; - } - /* all batches merged? */ - if (first_b==NULL) - break; - - /* merge batches */ - node_a = first_a; - node_b = first_b; - a = b = 0; - while (a < k && b < k && node_b) { - if (compare_nodes(node_a, node_b)==0) { - node_a = node_a->next; - ++a; - } - else { - tmp = node_b; - node_b = node_b->next; - ++b; - BLI_remlink(&ntree->nodes, tmp); - BLI_insertlinkbefore(&ntree->nodes, node_a, tmp); - } - } - - /* setup first pointers for next batch */ - first_b = node_b; - for (; b < k; ++b) { - /* all nodes sorted? */ - if (first_b==NULL) - break; - first_b = first_b->next; - } - first_a = first_b; - } while (first_b); - - k = k << 1; - } -} - void node_select(bNode *node) { node->flag |= SELECT; @@ -407,7 +304,7 @@ void node_select_single(bContext *C, bNode *node) ED_node_set_active(bmain, snode->edittree, node); - node_sort(snode->edittree); + ED_node_sort(snode->edittree); WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL); } @@ -479,7 +376,7 @@ static int node_mouse_select(Main *bmain, SpaceNode *snode, ARegion *ar, const i /* update node order */ if (selected) - node_sort(snode->edittree); + ED_node_sort(snode->edittree); return selected; } @@ -573,7 +470,7 @@ static int node_borderselect_exec(bContext *C, wmOperator *op) } } - node_sort(snode->edittree); + ED_node_sort(snode->edittree); WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL); @@ -645,7 +542,7 @@ static int node_select_all_exec(bContext *C, wmOperator *UNUSED(op)) node_select(node); } - node_sort(snode->edittree); + ED_node_sort(snode->edittree); WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL); return OPERATOR_FINISHED; @@ -687,7 +584,7 @@ static int node_select_linked_to_exec(bContext *C, wmOperator *UNUSED(op)) node_select(node); } - node_sort(snode->edittree); + ED_node_sort(snode->edittree); WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL); return OPERATOR_FINISHED; @@ -729,7 +626,7 @@ static int node_select_linked_from_exec(bContext *C, wmOperator *UNUSED(op)) node_select(node); } - node_sort(snode->edittree); + ED_node_sort(snode->edittree); WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL); return OPERATOR_FINISHED; @@ -758,7 +655,7 @@ static int node_select_same_type_exec(bContext *C, wmOperator *UNUSED(op)) node_select_same_type(snode); - node_sort(snode->edittree); + ED_node_sort(snode->edittree); WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL); return OPERATOR_FINISHED; @@ -787,7 +684,7 @@ static int node_select_same_type_next_exec(bContext *C, wmOperator *UNUSED(op)) node_select_same_type_np(snode, 0); - node_sort(snode->edittree); + ED_node_sort(snode->edittree); WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL); @@ -815,7 +712,7 @@ static int node_select_same_type_prev_exec(bContext *C, wmOperator *UNUSED(op)) node_select_same_type_np(snode, 1); - node_sort(snode->edittree); + ED_node_sort(snode->edittree); WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL); return OPERATOR_FINISHED; diff --git a/source/blender/editors/space_node/node_templates.c b/source/blender/editors/space_node/node_templates.c index 785eafeb7c9..ee3827428bc 100644 --- a/source/blender/editors/space_node/node_templates.c +++ b/source/blender/editors/space_node/node_templates.c @@ -175,7 +175,8 @@ static void node_socket_add_replace(Main *bmain, bNodeTree *ntree, bNode *node_t node_from = NULL; if (node_prev && node_prev->type == ntemp->type && - (ntemp->type != NODE_GROUP || node_prev->id == &ntemp->ngroup->id)) { + (ntemp->type != NODE_GROUP || node_prev->id == &ntemp->ngroup->id)) + { /* keep the previous node if it's the same type */ node_from = node_prev; } @@ -291,7 +292,7 @@ static void ui_node_sock_name(bNodeSocket *sock, char name[UI_MAX_NAME_STR]) if (node->id) BLI_strncpy(node_name, node->id->name+2, UI_MAX_NAME_STR); else - BLI_strncpy(node_name, "Group", UI_MAX_NAME_STR); + BLI_strncpy(node_name, N_("Group"), UI_MAX_NAME_STR); } else BLI_strncpy(node_name, node->typeinfo->name, UI_MAX_NAME_STR); @@ -300,16 +301,16 @@ static void ui_node_sock_name(bNodeSocket *sock, char name[UI_MAX_NAME_STR]) node->outputs.first != node->outputs.last && !(node->typeinfo->flag & NODE_OPTIONS)) { - BLI_snprintf(name, UI_MAX_NAME_STR, "%s | %s", node_name, sock->link->fromsock->name); + BLI_snprintf(name, UI_MAX_NAME_STR, "%s | %s", IFACE_(node_name), IFACE_(sock->link->fromsock->name)); } else { - BLI_strncpy(name, node_name, UI_MAX_NAME_STR); + BLI_strncpy(name, IFACE_(node_name), UI_MAX_NAME_STR); } } else if (sock->type == SOCK_SHADER) - BLI_strncpy(name, "None", UI_MAX_NAME_STR); + BLI_strncpy(name, IFACE_("None"), UI_MAX_NAME_STR); else - BLI_strncpy(name, "Default", UI_MAX_NAME_STR); + BLI_strncpy(name, IFACE_("Default"), UI_MAX_NAME_STR); } static int ui_compatible_sockets(int typeA, int typeB) @@ -360,7 +361,7 @@ static void ui_node_menu_column(NodeLinkArg *arg, int nclass, const char *cname) column= uiLayoutColumn(layout, 0); uiBlockSetCurLayout(block, column); - uiItemL(column, cname, ICON_NODE); + uiItemL(column, IFACE_(cname), ICON_NODE); but= block->buttons.last; but->flag= UI_TEXT_LEFT; @@ -381,7 +382,7 @@ static void ui_node_menu_column(NodeLinkArg *arg, int nclass, const char *cname) BLI_strncpy(name, ngroup->id.name+2, UI_MAX_NAME_STR); but = uiDefBut(block, BUT, 0, ngroup->id.name+2, 0, 0, UI_UNIT_X*4, UI_UNIT_Y, - NULL, 0.0, 0.0, 0.0, 0.0, "Add node to input"); + NULL, 0.0, 0.0, 0.0, 0.0, TIP_("Add node to input")); argN = MEM_dupallocN(arg); argN->type = NODE_GROUP; @@ -417,7 +418,7 @@ static void ui_node_menu_column(NodeLinkArg *arg, int nclass, const char *cname) column= uiLayoutColumn(layout, 0); uiBlockSetCurLayout(block, column); - uiItemL(column, cname, ICON_NODE); + uiItemL(column, IFACE_(cname), ICON_NODE); but= block->buttons.last; but->flag= UI_TEXT_LEFT; @@ -426,19 +427,19 @@ static void ui_node_menu_column(NodeLinkArg *arg, int nclass, const char *cname) if (num > 1) { if (j == 0) { - uiItemL(column, ntype->name, ICON_NODE); + uiItemL(column, IFACE_(ntype->name), ICON_NODE); but= block->buttons.last; but->flag= UI_TEXT_LEFT; } - BLI_snprintf(name, UI_MAX_NAME_STR, " %s", stemp->name); + BLI_snprintf(name, UI_MAX_NAME_STR, " %s", IFACE_(stemp->name)); j++; } else - BLI_strncpy(name, ntype->name, UI_MAX_NAME_STR); + BLI_strncpy(name, IFACE_(ntype->name), UI_MAX_NAME_STR); but = uiDefBut(block, BUT, 0, name, 0, 0, UI_UNIT_X*4, UI_UNIT_Y, - NULL, 0.0, 0.0, 0.0, 0.0, "Add node to input"); + NULL, 0.0, 0.0, 0.0, 0.0, TIP_("Add node to input")); argN = MEM_dupallocN(arg); argN->type = ntype->type; @@ -486,16 +487,16 @@ static void ui_template_node_link_menu(bContext *C, uiLayout *layout, void *but_ but= block->buttons.last; but->flag= UI_TEXT_LEFT; - but = uiDefBut(block, BUT, 0, "Remove", 0, 0, UI_UNIT_X*4, UI_UNIT_Y, - NULL, 0.0, 0.0, 0.0, 0.0, "Remove nodes connected to the input"); + but = uiDefBut(block, BUT, 0, IFACE_("Remove"), 0, 0, UI_UNIT_X*4, UI_UNIT_Y, + NULL, 0.0, 0.0, 0.0, 0.0, TIP_("Remove nodes connected to the input")); uiButSetNFunc(but, ui_node_link, MEM_dupallocN(arg), SET_INT_IN_POINTER(UI_NODE_LINK_REMOVE)); - but = uiDefBut(block, BUT, 0, "Disconnect", 0, 0, UI_UNIT_X*4, UI_UNIT_Y, - NULL, 0.0, 0.0, 0.0, 0.0, "Disconnect nodes connected to the input"); + but = uiDefBut(block, BUT, 0, IFACE_("Disconnect"), 0, 0, UI_UNIT_X*4, UI_UNIT_Y, + NULL, 0.0, 0.0, 0.0, 0.0, TIP_("Disconnect nodes connected to the input")); uiButSetNFunc(but, ui_node_link, MEM_dupallocN(arg), SET_INT_IN_POINTER(UI_NODE_LINK_DISCONNECT)); } - ui_node_menu_column(arg, NODE_CLASS_GROUP, IFACE_("Group")); + ui_node_menu_column(arg, NODE_CLASS_GROUP, N_("Group")); } void uiTemplateNodeLink(uiLayout *layout, bNodeTree *ntree, bNode *node, bNodeSocket *sock) @@ -586,7 +587,7 @@ static void ui_node_draw_input(uiLayout *layout, bContext *C, bNodeTree *ntree, /* indented label */ memset(label, ' ', indent); label[indent] = '\0'; - BLI_snprintf(label, UI_MAX_NAME_STR, "%s%s:", label, input->name); + BLI_snprintf(label, UI_MAX_NAME_STR, "%s%s:", label, IFACE_(input->name)); /* split in label and value */ split = uiLayoutSplit(layout, 0.35f, 0); @@ -615,7 +616,7 @@ static void ui_node_draw_input(uiLayout *layout, bContext *C, bNodeTree *ntree, if (dependency_loop) { row = uiLayoutRow(split, 0); - uiItemL(row, "Dependency Loop", ICON_ERROR); + uiItemL(row, IFACE_("Dependency Loop"), ICON_ERROR); } else if (lnode) { /* input linked to a node */ diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c index 3540c20e515..4d5964c72e5 100644 --- a/source/blender/editors/space_node/space_node.c +++ b/source/blender/editors/space_node/space_node.c @@ -339,6 +339,17 @@ static void node_buttons_area_draw(const bContext *C, ARegion *ar) ED_region_panels(C, ar, 1, NULL, -1); } +static void node_cursor(wmWindow *win, ScrArea *sa, ARegion *ar) +{ + SpaceNode *snode= sa->spacedata.first; + + /* convert mouse coordinates to v2d space */ + UI_view2d_region_to_view(&ar->v2d, win->eventstate->x - ar->winrct.xmin, win->eventstate->y - ar->winrct.ymin, + &snode->mx, &snode->my); + + node_set_cursor(win, snode); +} + /* Initialize main area, setting handlers. */ static void node_main_area_init(wmWindowManager *wm, ARegion *ar) { @@ -522,6 +533,8 @@ void ED_spacetype_node(void) art->init= node_main_area_init; art->draw= node_main_area_draw; art->listener= node_region_listener; + art->cursor = node_cursor; + art->event_cursor = TRUE; art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D|ED_KEYMAP_FRAMES|ED_KEYMAP_GPENCIL; BLI_addhead(&st->regiontypes, art); diff --git a/source/blender/editors/space_outliner/outliner_draw.c b/source/blender/editors/space_outliner/outliner_draw.c index 7813bbcd9a6..fddd7af93f1 100644 --- a/source/blender/editors/space_outliner/outliner_draw.c +++ b/source/blender/editors/space_outliner/outliner_draw.c @@ -932,7 +932,7 @@ static void tselem_draw_icon(uiBlock *block, int xmax, float x, float y, TreeSto { Object *ob = (Object *)tselem->id; ModifierData *md = BLI_findlink(&ob->modifiers, tselem->nr); - switch (md->type) { + switch ((ModifierType)md->type) { case eModifierType_Subsurf: UI_icon_draw(x, y, ICON_MOD_SUBSURF); break; case eModifierType_Armature: @@ -986,6 +986,7 @@ static void tselem_draw_icon(uiBlock *block, int xmax, float x, float y, TreeSto case eModifierType_Explode: UI_icon_draw(x, y, ICON_MOD_EXPLODE); break; case eModifierType_Collision: + case eModifierType_Surface: UI_icon_draw(x, y, ICON_MOD_PHYSICS); break; case eModifierType_Fluidsim: UI_icon_draw(x, y, ICON_MOD_FLUIDSIM); break; @@ -1009,7 +1010,13 @@ static void tselem_draw_icon(uiBlock *block, int xmax, float x, float y, TreeSto UI_icon_draw(x, y, ICON_MOD_OCEAN); break; case eModifierType_Warp: UI_icon_draw(x, y, ICON_MOD_WARP); break; - default: + case eModifierType_Skin: + UI_icon_draw(x, y, ICON_MOD_SKIN); break; + + /* Default */ + case eModifierType_None: + case eModifierType_ShapeKey: + case NUM_MODIFIER_TYPES: UI_icon_draw(x, y, ICON_DOT); break; } break; diff --git a/source/blender/editors/space_sequencer/sequencer_add.c b/source/blender/editors/space_sequencer/sequencer_add.c index 2c3924e5407..97bfe1bafc2 100644 --- a/source/blender/editors/space_sequencer/sequencer_add.c +++ b/source/blender/editors/space_sequencer/sequencer_add.c @@ -89,6 +89,8 @@ static void sequencer_generic_props__internal(wmOperatorType *ot, int flag) { + PropertyRNA *prop; + if (flag & SEQPROP_STARTFRAME) RNA_def_int(ot->srna, "frame_start", 0, INT_MIN, INT_MAX, "Start Frame", "Start frame of the sequence strip", INT_MIN, INT_MAX); @@ -99,7 +101,9 @@ static void sequencer_generic_props__internal(wmOperatorType *ot, int flag) RNA_def_boolean(ot->srna, "replace_sel", 1, "Replace Selection", "Replace the current selection"); - RNA_def_boolean(ot->srna, "overlap", 0, "Allow Overlap", "Don't correct overlap on new sequence strips"); + /* only for python scripts which import strips and place them after */ + prop = RNA_def_boolean(ot->srna, "overlap", 0, "Allow Overlap", "Don't correct overlap on new sequence strips"); + RNA_def_property_flag(prop, PROP_HIDDEN); } static void sequencer_generic_invoke_path__internal(bContext *C, wmOperator *op, const char *identifier) diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c index 49fadf300e2..392e7793a0f 100644 --- a/source/blender/editors/space_sequencer/sequencer_draw.c +++ b/source/blender/editors/space_sequencer/sequencer_draw.c @@ -367,7 +367,8 @@ static void draw_seq_handle(View2D *v2d, Sequence *seq, float pixelx, short dire /* draw! */ if (seq->type < SEQ_EFFECT || - get_sequence_effect_num_inputs(seq->type) == 0) { + get_sequence_effect_num_inputs(seq->type) == 0) + { glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index 1590d08b4a1..b3b4e47ba81 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -840,7 +840,7 @@ static int insert_gap(Scene *scene, int gap, int cfra) { Sequence *seq; Editing *ed = BKE_sequencer_editing_get(scene, FALSE); - int done = 0; + int done = FALSE; /* all strips >= cfra are shifted */ @@ -851,7 +851,7 @@ static int insert_gap(Scene *scene, int gap, int cfra) if (seq->startdisp >= cfra) { seq->start += gap; calc_sequence(scene, seq); - done = 1; + done = TRUE; } } SEQ_END @@ -927,11 +927,11 @@ static void UNUSED_FUNCTION(seq_remap_paths) (Scene * scene) return; BLI_strncpy(from, last_seq->strip->dir, sizeof(from)); -// XXX if (0==sbutton(from, 0, sizeof(from)-1, "From: ")) +// XXX if (0 == sbutton(from, 0, sizeof(from)-1, "From: ")) // return; BLI_strncpy(to, from, sizeof(to)); -// XXX if (0==sbutton(to, 0, sizeof(to)-1, "To: ")) +// XXX if (0 == sbutton(to, 0, sizeof(to)-1, "To: ")) // return; if (strcmp(to, from) == 0) @@ -971,7 +971,7 @@ static void UNUSED_FUNCTION(no_gaps) (Scene * scene) if (evaluate_seq_frame(scene, cfra) ) first = 1; } else { - done = 1; + done = TRUE; while (evaluate_seq_frame(scene, cfra) == 0) { done = insert_gap(scene, -1, cfra); if (done == 0) break; @@ -1365,8 +1365,8 @@ static int sequencer_reassign_inputs_exec(bContext *C, wmOperator *op) /* see reassigning would create a cycle */ if (seq_is_predecessor(seq1, last_seq) || seq_is_predecessor(seq2, last_seq) || - seq_is_predecessor(seq3, last_seq) - ) { + seq_is_predecessor(seq3, last_seq)) + { BKE_report(op->reports, RPT_ERROR, "Can't reassign inputs: no cycles allowed"); return OPERATOR_CANCELLED; } @@ -1989,7 +1989,7 @@ static int sequencer_meta_separate_exec(bContext *C, wmOperator *UNUSED(op)) Scene *scene = CTX_data_scene(C); Editing *ed = BKE_sequencer_editing_get(scene, FALSE); - Sequence *seq, *last_seq = BKE_sequencer_active_get(scene); /* last_seq checks ed==NULL */ + Sequence *seq, *last_seq = BKE_sequencer_active_get(scene); /* last_seq checks (ed == NULL) */ if (last_seq == NULL || last_seq->type != SEQ_META) return OPERATOR_CANCELLED; @@ -2109,8 +2109,8 @@ static int sequencer_view_all_preview_exec(bContext *C, wmOperator *UNUSED(op)) imgwidth = (int)(imgwidth * (scene->r.xasp / scene->r.yasp)); if (((imgwidth >= width) || (imgheight >= height)) && - ((width > 0) && (height > 0))) { - + ((width > 0) && (height > 0))) + { /* Find the zoom value that will fit the image in the image space */ zoomX = ((float)width) / ((float)imgwidth); zoomY = ((float)height) / ((float)imgheight); diff --git a/source/blender/editors/space_sequencer/sequencer_select.c b/source/blender/editors/space_sequencer/sequencer_select.c index a59570a09e1..811a89b07a8 100644 --- a/source/blender/editors/space_sequencer/sequencer_select.c +++ b/source/blender/editors/space_sequencer/sequencer_select.c @@ -1100,7 +1100,7 @@ static short select_grouped_effect_link(Editing *ed, Sequence *actseq) actseq->tmp = SET_INT_IN_POINTER(TRUE); - for (seq_begin(ed, &iter, 1); iter.valid; seq_next(&iter)) { + for (seq_begin(ed, &iter, TRUE); iter.valid; seq_next(&iter)) { seq = iter.seq; /* Ignore all seqs already selected! */ @@ -1129,7 +1129,7 @@ static short select_grouped_effect_link(Editing *ed, Sequence *actseq) /* Unfortunately, we must restart checks from the beginning. */ seq_end(&iter); - seq_begin(ed, &iter, 1); + seq_begin(ed, &iter, TRUE); } /* Video strips bellow active one, or any strip for audio (order do no matters here!). */ diff --git a/source/blender/editors/space_text/space_text.c b/source/blender/editors/space_text/space_text.c index 85eda858d24..501e1cad67e 100644 --- a/source/blender/editors/space_text/space_text.c +++ b/source/blender/editors/space_text/space_text.c @@ -128,7 +128,7 @@ static void text_listener(ScrArea *sa, wmNotifier *wmn) switch (wmn->category) { case NC_TEXT: /* check if active text was changed, no need to redraw if text isn't active - * reference==NULL means text was unlinked, should update anyway for this + * (reference == NULL) means text was unlinked, should update anyway for this * case -- no way to know was text active before unlinking or not */ if (wmn->reference && wmn->reference != st->text) break; diff --git a/source/blender/editors/space_text/text_draw.c b/source/blender/editors/space_text/text_draw.c index ffb686b6810..463a262c09c 100644 --- a/source/blender/editors/space_text/text_draw.c +++ b/source/blender/editors/space_text/text_draw.c @@ -1174,7 +1174,7 @@ static void calc_text_rcts(SpaceText *st, ARegion *ar, rcti *scroll, rcti *back) /* push hl start down */ hlstart = barstart + barheight; } - else if (lhlend > st->top && lhlstart < st->top && hlstart > barstart) { + else if (lhlend > st->top && lhlstart < st->top && hlstart > barstart) { /*fill out start */ hlstart = barstart; } diff --git a/source/blender/editors/space_text/text_ops.c b/source/blender/editors/space_text/text_ops.c index 04408173928..3ebc4eb974c 100644 --- a/source/blender/editors/space_text/text_ops.c +++ b/source/blender/editors/space_text/text_ops.c @@ -2888,7 +2888,7 @@ static int text_insert_exec(bContext *C, wmOperator *op) SpaceText *st = CTX_wm_space_text(C); Text *text = CTX_data_edit_text(C); char *str; - int done = 0; + int done = FALSE; size_t i = 0; unsigned int code; diff --git a/source/blender/editors/space_time/space_time.c b/source/blender/editors/space_time/space_time.c index 9e44d5207c0..01d27aaa0b3 100644 --- a/source/blender/editors/space_time/space_time.c +++ b/source/blender/editors/space_time/space_time.c @@ -354,7 +354,7 @@ static void time_draw_keyframes(const bContext *C, SpaceTime *stime, ARegion *ar time_draw_idblock_keyframes(v2d, (ID *)ob, onlysel); } else { - short active_done = 0; + short active_done = FALSE; /* draw keyframes from all selected objects */ CTX_DATA_BEGIN (C, Object *, obsel, selected_objects) @@ -364,7 +364,7 @@ static void time_draw_keyframes(const bContext *C, SpaceTime *stime, ARegion *ar /* if this object is the active one, set flag so that we don't draw again */ if (obsel == ob) - active_done = 1; + active_done = TRUE; } CTX_DATA_END; diff --git a/source/blender/editors/space_userpref/space_userpref.c b/source/blender/editors/space_userpref/space_userpref.c index 6c683eba085..248f73b9ab6 100644 --- a/source/blender/editors/space_userpref/space_userpref.c +++ b/source/blender/editors/space_userpref/space_userpref.c @@ -149,7 +149,7 @@ static void userpref_header_listener(ARegion *UNUSED(ar), wmNotifier *UNUSED(wmn default: break; } -#endif +#endif } /* only called once, from space/spacetypes.c */ diff --git a/source/blender/editors/space_view3d/drawarmature.c b/source/blender/editors/space_view3d/drawarmature.c index 2211b1ddb62..0de7e2569c0 100644 --- a/source/blender/editors/space_view3d/drawarmature.c +++ b/source/blender/editors/space_view3d/drawarmature.c @@ -1667,7 +1667,7 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base, GLfloat tmp; float smat[4][4], imat[4][4], bmat[4][4]; int index = -1; - short do_dashed = 3, draw_wire = 0; + short do_dashed = 3, draw_wire = FALSE; int flag; /* being set below */ @@ -1696,7 +1696,7 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base, bone = pchan->bone; if (bone) { /* 1) bone must be visible, 2) for OpenGL select-drawing cannot have unselectable [#27194] - * NOTE: this is the only case with NO_DEFORM==0 flag, as this is for envelope influence drawing + * NOTE: this is the only case with (NO_DEFORM == 0) flag, as this is for envelope influence drawing */ if ( (bone->flag & (BONE_HIDDEN_P | BONE_NO_DEFORM | BONE_HIDDEN_PG)) == 0 && ((G.f & G_PICKSEL) == 0 || (bone->flag & BONE_UNSELECTABLE) == 0) ) diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c index b5c44fd1a8c..de1d9f22667 100644 --- a/source/blender/editors/space_view3d/drawmesh.c +++ b/source/blender/editors/space_view3d/drawmesh.c @@ -233,7 +233,7 @@ static Material *give_current_material_or_def(Object *ob, int matnr) static struct TextureDrawState { Object *ob; - int islit, istex; + int is_lit, is_tex; int color_profile; unsigned char obcol[4]; } Gtexdraw = {NULL, 0, 0, 0, {0, 0, 0, 0}}; @@ -263,12 +263,12 @@ static int set_draw_settings_cached(int clearcache, MTFace *texface, Material *m c_has_texface = -1; } else { - textured = gtexdraw.istex; + textured = gtexdraw.is_tex; litob = gtexdraw.ob; } /* convert number of lights into boolean */ - if (gtexdraw.islit) lit = 1; + if (gtexdraw.is_lit) lit = 1; if (ma) { alphablend = ma->game.alpha_blend; @@ -343,7 +343,7 @@ static int set_draw_settings_cached(int clearcache, MTFace *texface, Material *m static void draw_textured_begin(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *ob) { unsigned char obcol[4]; - int istex, solidtex; + int is_tex, solidtex; // XXX scene->obedit warning @@ -351,27 +351,27 @@ static void draw_textured_begin(Scene *scene, View3D *v3d, RegionView3D *rv3d, O * with face selection in weight paint is not lit. */ if ((v3d->drawtype <= OB_WIRE) && (ob->mode & (OB_MODE_VERTEX_PAINT | OB_MODE_WEIGHT_PAINT))) { solidtex = FALSE; - Gtexdraw.islit = 0; + Gtexdraw.is_lit = 0; } else if (v3d->drawtype == OB_SOLID || ((ob->mode & OB_MODE_EDIT) && v3d->drawtype != OB_TEXTURE)) { /* draw with default lights in solid draw mode and edit mode */ solidtex = TRUE; - Gtexdraw.islit = -1; + Gtexdraw.is_lit = -1; } else { /* draw with lights in the scene otherwise */ solidtex = FALSE; - Gtexdraw.islit = GPU_scene_object_lights(scene, ob, v3d->lay, rv3d->viewmat, !rv3d->is_persp); + Gtexdraw.is_lit = GPU_scene_object_lights(scene, ob, v3d->lay, rv3d->viewmat, !rv3d->is_persp); } rgba_float_to_uchar(obcol, ob->col); glCullFace(GL_BACK); glEnable(GL_CULL_FACE); - if (solidtex || v3d->drawtype == OB_TEXTURE) istex = 1; - else istex = 0; + if (solidtex || v3d->drawtype == OB_TEXTURE) is_tex = 1; + else is_tex = 0; Gtexdraw.ob = ob; - Gtexdraw.istex = istex; + Gtexdraw.is_tex = is_tex; Gtexdraw.color_profile = scene->r.color_mgt_flag & R_COLOR_MANAGEMENT; memcpy(Gtexdraw.obcol, obcol, sizeof(obcol)); set_draw_settings_cached(1, NULL, NULL, Gtexdraw); diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index ef1521ab8ca..23b259ee1ad 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -143,6 +143,17 @@ typedef struct drawDMVerts_userData { int sel; BMVert *eve_act; + + /* cached theme values */ + unsigned char th_editmesh_active[4]; + unsigned char th_vertex_select[4]; + unsigned char th_vertex[4]; + unsigned char th_skin_root[4]; + float th_vertex_size; + + /* for skin node drawing */ + int has_vskin; + float imat[4][4]; } drawDMVerts_userData; typedef struct drawDMEdgesSel_userData { @@ -1967,7 +1978,7 @@ static void drawlattice(Scene *scene, View3D *v3d, Object *ob) Lattice *lt = ob->data; DispList *dl; int u, v, w; - int use_wcol = 0, is_edit = (lt->editlatt != NULL); + int use_wcol = FALSE, is_edit = (lt->editlatt != NULL); /* now we default make displist, this will modifiers work for non animated case */ if (ob->disp.first == NULL) @@ -2400,20 +2411,37 @@ static void draw_dm_verts__mapFunc(void *userData, int index, const float co[3], BMVert *eve = EDBM_vert_at_index(data->em, index); if (!BM_elem_flag_test(eve, BM_ELEM_HIDDEN) && BM_elem_flag_test(eve, BM_ELEM_SELECT) == data->sel) { + /* skin nodes: draw a red circle around the root + * node(s) */ + if (data->has_vskin) { + const MVertSkin *vs = CustomData_bmesh_get(&data->em->bm->vdata, + eve->head.data, + CD_MVERT_SKIN); + if (vs->flag & MVERT_SKIN_ROOT) { + float radius = (vs->radius[0] + vs->radius[1]) * 0.5f; + bglEnd(); + + glColor4ubv(data->th_skin_root); + drawcircball(GL_LINES, co, radius, data->imat); + + glColor4ubv(data->sel ? data->th_vertex_select : data->th_vertex); + bglBegin(GL_POINTS); + } + } + /* draw active larger - need to stop/start point drawing for this :/ */ if (eve == data->eve_act) { - float size = UI_GetThemeValuef(TH_VERTEX_SIZE); - UI_ThemeColor4(TH_EDITMESH_ACTIVE); + glColor4ubv(data->th_editmesh_active); bglEnd(); - glPointSize(size); + glPointSize(data->th_vertex_size); bglBegin(GL_POINTS); bglVertex3fv(co); bglEnd(); - - UI_ThemeColor4(data->sel ? TH_VERTEX_SELECT : TH_VERTEX); - glPointSize(size); + + glColor4ubv(data->sel ? data->th_vertex_select : data->th_vertex); + glPointSize(data->th_vertex_size); bglBegin(GL_POINTS); } else { @@ -2422,13 +2450,27 @@ static void draw_dm_verts__mapFunc(void *userData, int index, const float co[3], } } -static void draw_dm_verts(BMEditMesh *em, DerivedMesh *dm, int sel, BMVert *eve_act) +static void draw_dm_verts(BMEditMesh *em, DerivedMesh *dm, int sel, BMVert *eve_act, + RegionView3D *rv3d) { drawDMVerts_userData data; data.sel = sel; data.eve_act = eve_act; data.em = em; + /* Cache theme values */ + UI_GetThemeColor4ubv(TH_EDITMESH_ACTIVE, data.th_editmesh_active); + UI_GetThemeColor4ubv(TH_VERTEX_SELECT, data.th_vertex_select); + UI_GetThemeColor4ubv(TH_VERTEX, data.th_vertex); + UI_GetThemeColor4ubv(TH_SKIN_ROOT, data.th_skin_root); + data.th_vertex_size = UI_GetThemeValuef(TH_VERTEX_SIZE); + + /* For skin root drawing */ + data.has_vskin = CustomData_has_layer(&em->bm->vdata, CD_MVERT_SKIN); + /* view-aligned matrix */ + mult_m4_m4m4(data.imat, rv3d->viewmat, em->ob->obmat); + invert_m4(data.imat); + bglBegin(GL_POINTS); dm->foreachMappedVert(dm, draw_dm_verts__mapFunc, &data); bglEnd(); @@ -2727,7 +2769,8 @@ static void draw_dm_bweights(BMEditMesh *em, Scene *scene, DerivedMesh *dm) /* EditMesh drawing routines*/ static void draw_em_fancy_verts(Scene *scene, View3D *v3d, Object *obedit, - BMEditMesh *em, DerivedMesh *cageDM, BMVert *eve_act) + BMEditMesh *em, DerivedMesh *cageDM, BMVert *eve_act, + RegionView3D *rv3d) { ToolSettings *ts = scene->toolsettings; int sel; @@ -2766,7 +2809,7 @@ static void draw_em_fancy_verts(Scene *scene, View3D *v3d, Object *obedit, if (ts->selectmode & SCE_SELECT_VERTEX) { glPointSize(size); glColor4ubv(col); - draw_dm_verts(em, cageDM, sel, eve_act); + draw_dm_verts(em, cageDM, sel, eve_act, rv3d); } if (check_ob_drawface_dot(scene, v3d, obedit->dt)) { @@ -2967,6 +3010,7 @@ static void draw_em_measure_stats(View3D *v3d, Object *ob, BMEditMesh *em, UnitS if (me->drawflag & ME_DRAWEXTRA_FACEANG) { BMFace *efa; + int is_rad = unit->system_rotation == USER_UNIT_ROT_RADIANS; UI_GetThemeColor3ubv(TH_DRAWEXTRA_FACEANG, col); @@ -2977,37 +3021,41 @@ static void draw_em_measure_stats(View3D *v3d, Object *ob, BMEditMesh *em, UnitS if (is_face_sel || do_moving) { BMIter liter; BMLoop *loop; - int cent_ok = FALSE; + int is_first = TRUE; - BM_ITER_ELEM(loop, &liter, efa, BM_LOOPS_OF_FACE) { + BM_ITER_ELEM (loop, &liter, efa, BM_LOOPS_OF_FACE) { if (is_face_sel || (do_moving && BM_elem_flag_test(loop->v, BM_ELEM_SELECT))) { - /* yes, we should avoid triple matrix multiply every vertex for 'global' */ float angle; /* lazy init center calc */ - if (cent_ok == FALSE) { + if (is_first) { BM_face_calc_center_bounds(efa, vmid); - cent_ok = TRUE; + /* Avoid triple matrix multiply every vertex for 'global' */ + if (do_global) { + copy_v3_v3(v1, loop->prev->v->co); + copy_v3_v3(v2, loop->v->co); + mul_mat3_m4_v3(ob->obmat, v1); + mul_mat3_m4_v3(ob->obmat, v2); + } + is_first = FALSE; } if (do_global) { - copy_v3_v3(v1, loop->prev->v->co); - copy_v3_v3(v2, loop->v->co); copy_v3_v3(v3, loop->next->v->co); - mul_mat3_m4_v3(ob->obmat, v1); - mul_mat3_m4_v3(ob->obmat, v2); mul_mat3_m4_v3(ob->obmat, v3); angle = angle_v3v3v3(v1, v2, v3); interp_v3_v3v3(fvec, vmid, v2, 0.8f); + copy_v3_v3(v1, v2); + copy_v3_v3(v2, v3); } else { angle = angle_v3v3v3(loop->prev->v->co, loop->v->co, loop->next->v->co); interp_v3_v3v3(fvec, vmid, loop->v->co, 0.8f); } - BLI_snprintf(numstr, sizeof(numstr), "%.3f", RAD2DEGF(angle)); + BLI_snprintf(numstr, sizeof(numstr), "%.3f", is_rad ? angle : RAD2DEGF(angle)); view3d_cached_text_draw_add(fvec, numstr, 0, txt_flag, col); } } @@ -3253,7 +3301,7 @@ static void draw_em_fancy(Scene *scene, View3D *v3d, RegionView3D *rv3d, draw_em_fancy_edges(em, scene, v3d, me, cageDM, 0, eed_act); } if (em) { - draw_em_fancy_verts(scene, v3d, ob, em, cageDM, eve_act); + draw_em_fancy_verts(scene, v3d, ob, em, cageDM, eve_act, rv3d); if (me->drawflag & ME_DRAWNORMALS) { UI_ThemeColor(TH_NORMAL); @@ -3271,7 +3319,8 @@ static void draw_em_fancy(Scene *scene, View3D *v3d, RegionView3D *rv3d, } if ((G.debug & G_DEBUG) && (me->drawflag & ME_DRAWEXTRA_INDICES) && - !(v3d->flag2 & V3D_RENDER_OVERRIDE)) { + !(v3d->flag2 & V3D_RENDER_OVERRIDE)) + { draw_em_indices(em); } } @@ -3573,7 +3622,7 @@ static int draw_mesh_object(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D Object *obedit = scene->obedit; Mesh *me = ob->data; BMEditMesh *em = me->edit_btmesh; - int do_alpha_after = 0, drawlinked = 0, retval = 0, glsl, check_alpha, i; + int do_alpha_after = FALSE, drawlinked = 0, retval = 0, glsl, check_alpha, i; /* If we are drawing shadows and any of the materials don't cast a shadow, * then don't draw the object */ @@ -3591,7 +3640,13 @@ static int draw_mesh_object(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D else if (ob->modifiers.first || obedit->modifiers.first) {} else drawlinked = 1; } - + + /* backface culling */ + if (v3d->flag2 & V3D_BACKFACE_CULLING) { + glEnable(GL_CULL_FACE); + glCullFace(GL_BACK); + } + if (ob == obedit || drawlinked) { DerivedMesh *finalDM, *cageDM; @@ -3650,6 +3705,9 @@ static int draw_mesh_object(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D } } } + + if (v3d->flag2 & V3D_BACKFACE_CULLING) + glDisable(GL_CULL_FACE); return retval; } @@ -3836,7 +3894,7 @@ static void drawDispListsolid(ListBase *lb, Object *ob, int glsl) glVertexPointer(3, GL_FLOAT, 0, dl->verts); - /* voor polys only one normal needed */ + /* for polys only one normal needed */ if (index3_nors_incr) { glEnableClientState(GL_NORMAL_ARRAY); glNormalPointer(GL_FLOAT, 0, dl->nors); @@ -3920,7 +3978,17 @@ static int drawDispList(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *bas const short solid = (dt > OB_WIRE); int retval = 0; + /* backface culling */ + if (v3d->flag2 & V3D_BACKFACE_CULLING) { + /* not all displists use same in/out normal direction convention */ + glEnable(GL_CULL_FACE); + glCullFace((ob->type == OB_MBALL) ? GL_BACK : GL_FRONT); + } + if (drawCurveDerivedMesh(scene, v3d, rv3d, base, dt) == 0) { + if (v3d->flag2 & V3D_BACKFACE_CULLING) + glDisable(GL_CULL_FACE); + return 0; } @@ -4026,6 +4094,9 @@ static int drawDispList(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *bas break; } + if (v3d->flag2 & V3D_BACKFACE_CULLING) + glDisable(GL_CULL_FACE); + return retval; } @@ -6551,7 +6622,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag) if (v3d->zbuf == 0 && dt > OB_WIRE) dt = OB_WIRE; dtx = 0; - /* faceselect exception: also draw solid when dt==wire, except in editmode */ + /* faceselect exception: also draw solid when (dt == wire), except in editmode */ if (is_obact && (ob->mode & (OB_MODE_VERTEX_PAINT | OB_MODE_WEIGHT_PAINT | OB_MODE_TEXTURE_PAINT))) { if (ob->type == OB_MESH) { diff --git a/source/blender/editors/space_view3d/drawvolume.c b/source/blender/editors/space_view3d/drawvolume.c index 10ae96d87bf..43252111303 100644 --- a/source/blender/editors/space_view3d/drawvolume.c +++ b/source/blender/editors/space_view3d/drawvolume.c @@ -146,7 +146,7 @@ static int intersect_edges(float *points, float a, float b, float c, float d, fl return numpoints; } -static int convex(float *p0, float *up, float *a, float *b) +static int convex(const float p0[3], const float up[3], const float a[3], const float b[3]) { // Vec3 va = a-p0, vb = b-p0; float va[3], vb[3], tmp[3]; @@ -319,9 +319,9 @@ void draw_volume(ARegion *ar, GPUTexture *tex, float min[3], float max[3], int r for (i = 0; i < 8; i++) { float x, y, z; - x = cv[i][0] - viewnormal[0]; - y = cv[i][1] - viewnormal[1]; - z = cv[i][2] - viewnormal[2]; + x = cv[i][0] - viewnormal[0]*size[0]*0.5f; + y = cv[i][1] - viewnormal[1]*size[1]*0.5f; + z = cv[i][2] - viewnormal[2]*size[2]*0.5f; if ((x >= min[0]) && (x <= max[0]) && (y >= min[1]) && (y <= max[1]) && @@ -373,7 +373,7 @@ void draw_volume(ARegion *ar, GPUTexture *tex, float min[3], float max[3], int r /* d0 = (viewnormal[0]*cv[i][0] + viewnormal[1]*cv[i][1] + viewnormal[2]*cv[i][2]); */ /* UNUSED */ ds = (ABS(viewnormal[0]) * size[0] + ABS(viewnormal[1]) * size[1] + ABS(viewnormal[2]) * size[2]); - dd = 0.05; // ds/512.0f; + dd = ds/96.f; n = 0; good_index = i; diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index d9126b3809a..ee02f99d5b7 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -160,7 +160,11 @@ static void view3d_draw_clipping(RegionView3D *rv3d) {1, 5, 6, 2}, {7, 4, 0, 3}}; - UI_ThemeColorShade(TH_BACK, -8); + /* fill in zero alpha for rendering & re-projection [#31530] */ + unsigned char col[4]; + UI_GetThemeColorShade3ubv(TH_BACK, -8, col); + col[3] = 0; + glColor4ubv(col); glEnableClientState(GL_VERTEX_ARRAY); glVertexPointer(3, GL_FLOAT, 0, bb->vec); @@ -260,7 +264,8 @@ static void drawgrid_draw(ARegion *ar, double wx, double wy, double x, double y, glDisableClientState(GL_VERTEX_ARRAY); } -#define GRID_MIN_PX 6.0f +#define GRID_MIN_PX_D 6.0 +#define GRID_MIN_PX_F 6.0f static void drawgrid(UnitSettings *unit, ARegion *ar, View3D *v3d, const char **grid_unit) { @@ -312,16 +317,16 @@ static void drawgrid(UnitSettings *unit, ARegion *ar, View3D *v3d, const char ** while (i--) { double scalar = bUnit_GetScaler(usys, i); - dx_scalar = dx * scalar / unit->scale_length; - if (dx_scalar < (GRID_MIN_PX * 2.0)) + dx_scalar = dx * scalar / (double)unit->scale_length; + if (dx_scalar < (GRID_MIN_PX_D * 2.0)) continue; /* Store the smallest drawn grid size units name so users know how big each grid cell is */ if (*grid_unit == NULL) { *grid_unit = bUnit_GetNameDisplay(usys, i); - rv3d->gridview = (float)((scalar * v3d->grid) / (double)unit->scale_length); + rv3d->gridview = (float)((scalar * (double)v3d->grid) / (double)unit->scale_length); } - blend_fac = 1.0f - ((GRID_MIN_PX * 2.0f) / (float)dx_scalar); + blend_fac = 1.0f - ((GRID_MIN_PX_F * 2.0f) / (float)dx_scalar); /* tweak to have the fade a bit nicer */ blend_fac = (blend_fac * blend_fac) * 2.0f; @@ -337,25 +342,25 @@ static void drawgrid(UnitSettings *unit, ARegion *ar, View3D *v3d, const char ** else { short sublines = v3d->gridsubdiv; - if (dx < GRID_MIN_PX) { + if (dx < GRID_MIN_PX_D) { rv3d->gridview *= sublines; dx *= sublines; - if (dx < GRID_MIN_PX) { + if (dx < GRID_MIN_PX_D) { rv3d->gridview *= sublines; dx *= sublines; - if (dx < GRID_MIN_PX) { + if (dx < GRID_MIN_PX_D) { rv3d->gridview *= sublines; dx *= sublines; - if (dx < GRID_MIN_PX) ; + if (dx < GRID_MIN_PX_D) ; else { UI_ThemeColor(TH_GRID); drawgrid_draw(ar, wx, wy, x, y, dx); } } else { // start blending out - UI_ThemeColorBlend(TH_BACK, TH_GRID, dx / (GRID_MIN_PX * 6.0f)); + UI_ThemeColorBlend(TH_BACK, TH_GRID, dx / (GRID_MIN_PX_D * 6.0)); drawgrid_draw(ar, wx, wy, x, y, dx); UI_ThemeColor(TH_GRID); @@ -363,7 +368,7 @@ static void drawgrid(UnitSettings *unit, ARegion *ar, View3D *v3d, const char ** } } else { // start blending out (GRID_MIN_PX < dx < (GRID_MIN_PX*10)) - UI_ThemeColorBlend(TH_BACK, TH_GRID, dx / (GRID_MIN_PX * 6.0f)); + UI_ThemeColorBlend(TH_BACK, TH_GRID, dx / (GRID_MIN_PX_D * 6.0)); drawgrid_draw(ar, wx, wy, x, y, dx); UI_ThemeColor(TH_GRID); @@ -371,32 +376,32 @@ static void drawgrid(UnitSettings *unit, ARegion *ar, View3D *v3d, const char ** } } else { - if (dx > (GRID_MIN_PX * 10)) { // start blending in + if (dx > (GRID_MIN_PX_D * 10.0)) { // start blending in rv3d->gridview /= sublines; dx /= sublines; - if (dx > (GRID_MIN_PX * 10)) { // start blending in + if (dx > (GRID_MIN_PX_D * 10.0)) { // start blending in rv3d->gridview /= sublines; dx /= sublines; - if (dx > (GRID_MIN_PX * 10)) { + if (dx > (GRID_MIN_PX_D * 10.0)) { UI_ThemeColor(TH_GRID); drawgrid_draw(ar, wx, wy, x, y, dx); } else { - UI_ThemeColorBlend(TH_BACK, TH_GRID, dx / (GRID_MIN_PX * 6)); + UI_ThemeColorBlend(TH_BACK, TH_GRID, dx / (GRID_MIN_PX_D * 6.0)); drawgrid_draw(ar, wx, wy, x, y, dx); UI_ThemeColor(TH_GRID); drawgrid_draw(ar, wx, wy, x, y, dx * sublines); } } else { - UI_ThemeColorBlend(TH_BACK, TH_GRID, dx / (GRID_MIN_PX * 6)); + UI_ThemeColorBlend(TH_BACK, TH_GRID, dx / (GRID_MIN_PX_D * 6.0)); drawgrid_draw(ar, wx, wy, x, y, dx); UI_ThemeColor(TH_GRID); drawgrid_draw(ar, wx, wy, x, y, dx * sublines); } } else { - UI_ThemeColorBlend(TH_BACK, TH_GRID, dx / (GRID_MIN_PX * 6)); + UI_ThemeColorBlend(TH_BACK, TH_GRID, dx / (GRID_MIN_PX_D * 6.0)); drawgrid_draw(ar, wx, wy, x, y, dx); UI_ThemeColor(TH_GRID); drawgrid_draw(ar, wx, wy, x, y, dx * sublines); @@ -1296,7 +1301,8 @@ static void backdrawview3d(Scene *scene, ARegion *ar, View3D *v3d) /* do nothing */ } else if (scene->obedit && v3d->drawtype > OB_WIRE && - (v3d->flag & V3D_ZBUF_SELECT)) { + (v3d->flag & V3D_ZBUF_SELECT)) + { /* do nothing */ } else { @@ -1848,7 +1854,7 @@ static void draw_dupli_objects_color(Scene *scene, ARegion *ar, View3D *v3d, Bas /* generate displist, test for new object */ if (dob_prev && dob_prev->ob != dob->ob) { - if (use_displist == 1) + if (use_displist == TRUE) glDeleteLists(displist, 1); use_displist = -1; @@ -1857,7 +1863,7 @@ static void draw_dupli_objects_color(Scene *scene, ARegion *ar, View3D *v3d, Bas /* generate displist */ if (use_displist == -1) { - /* note, since this was added, its checked dob->type==OB_DUPLIGROUP + /* note, since this was added, its checked (dob->type == OB_DUPLIGROUP) * however this is very slow, it was probably needed for the NLA * offset feature (used in group-duplicate.blend but no longer works in 2.5) * so for now it should be ok to - campbell */ @@ -1870,7 +1876,7 @@ static void draw_dupli_objects_color(Scene *scene, ARegion *ar, View3D *v3d, Bas !(bb_tmp = BKE_object_boundbox_get(dob->ob))) { // printf("draw_dupli_objects_color: skipping displist for %s\n", dob->ob->id.name+2); - use_displist = 0; + use_displist = FALSE; } else { // printf("draw_dupli_objects_color: using displist for %s\n", dob->ob->id.name+2); @@ -1886,7 +1892,7 @@ static void draw_dupli_objects_color(Scene *scene, ARegion *ar, View3D *v3d, Bas draw_object(scene, ar, v3d, &tbase, DRAW_CONSTCOLOR); glEndList(); - use_displist = 1; + use_displist = TRUE; BKE_object_boundbox_flag(dob->ob, OB_BB_DISABLED, 0); } } @@ -2330,6 +2336,9 @@ CustomDataMask ED_view3d_object_datamask(Scene *scene) if (ob->mode & OB_MODE_WEIGHT_PAINT) { mask |= CD_MASK_PREVIEW_MCOL; } + + if (ob->mode & OB_MODE_EDIT) + mask |= CD_MASK_MVERT_SKIN; } return mask; @@ -2734,8 +2743,8 @@ static void draw_viewport_fps(Scene *scene, ARegion *ar) } #endif - /* is this more then half a frame behind? */ - if (fps + 0.5f < (float)(FPS)) { + /* is this more then half a frame behind? */ + if (fps + 0.5f < (float)(FPS)) { UI_ThemeColor(TH_REDALERT); BLI_snprintf(printable, sizeof(printable), "fps: %.2f", fps); } @@ -2985,10 +2994,10 @@ static void view3d_main_area_draw_objects(const bContext *C, ARegion *ar, const static void view3d_main_area_draw_info(const bContext *C, ARegion *ar, const char *grid_unit) { + wmWindowManager *wm = CTX_wm_manager(C); Scene *scene = CTX_data_scene(C); View3D *v3d = CTX_wm_view3d(C); RegionView3D *rv3d = CTX_wm_region_view3d(C); - bScreen *screen = CTX_wm_screen(C); Object *ob; @@ -3005,7 +3014,7 @@ static void view3d_main_area_draw_info(const bContext *C, ARegion *ar, const cha if (U.uiflag & USER_SHOW_ROTVIEWICON) draw_view_axis(rv3d); - else + else draw_view_icon(rv3d); ob = OBACT; @@ -3017,7 +3026,7 @@ static void view3d_main_area_draw_info(const bContext *C, ARegion *ar, const cha return; } - if ((U.uiflag & USER_SHOW_FPS) && screen->animtimer) { + if ((U.uiflag & USER_SHOW_FPS) && ED_screen_animation_playing(wm)) { draw_viewport_fps(scene, ar); } else if (U.uiflag & USER_SHOW_VIEWPORTNAME) { diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c index 4bfb6dd9fd6..8ba0d75c786 100644 --- a/source/blender/editors/space_view3d/view3d_edit.c +++ b/source/blender/editors/space_view3d/view3d_edit.c @@ -2051,7 +2051,7 @@ static int view3d_all_exec(bContext *C, wmOperator *op) /* was view3d_home() in int center = RNA_boolean_get(op->ptr, "center"); float size, min[3], max[3], afm[3]; - int ok = 1, onedone = 0; + int ok = 1, onedone = FALSE; if (center) { /* in 2.4x this also move the cursor to (0, 0, 0) (with shift+c). */ @@ -2066,7 +2066,7 @@ static int view3d_all_exec(bContext *C, wmOperator *op) /* was view3d_home() in for (base = scene->base.first; base; base = base->next) { if (BASE_VISIBLE(v3d, base)) { - onedone = 1; + onedone = TRUE; if (skip_camera && base->object == v3d->camera) { continue; diff --git a/source/blender/editors/space_view3d/view3d_fly.c b/source/blender/editors/space_view3d/view3d_fly.c index 2dab26e7781..95cc37d9f87 100644 --- a/source/blender/editors/space_view3d/view3d_fly.c +++ b/source/blender/editors/space_view3d/view3d_fly.c @@ -547,7 +547,7 @@ static void flyEvent(FlyInfo *fly, wmEvent *event) time_currwheel = PIL_check_seconds_timer(); time_wheel = (float)(time_currwheel - fly->time_lastwheel); fly->time_lastwheel = time_currwheel; - /* Mouse wheel delays range from 0.5==slow to 0.01==fast */ + /* Mouse wheel delays range from (0.5 == slow) to (0.01 == fast) */ time_wheel = 1.0f + (10.0f - (20.0f * MIN2(time_wheel, 0.5f))); /* 0-0.5 -> 0-5.0 */ if (fly->speed < 0.0f) { @@ -580,7 +580,7 @@ static void flyEvent(FlyInfo *fly, wmEvent *event) fly->pan_view = TRUE; break; case FLY_MODAL_PAN_DISABLE: -//XXX2.5 warp_pointer(cent_orig[0], cent_orig[1]); +//XXX2.5 WM_cursor_warp(CTX_wm_window(C), cent_orig[0], cent_orig[1]); fly->pan_view = FALSE; break; diff --git a/source/blender/editors/space_view3d/view3d_ops.c b/source/blender/editors/space_view3d/view3d_ops.c index f760254e8d2..7b3e7358978 100644 --- a/source/blender/editors/space_view3d/view3d_ops.c +++ b/source/blender/editors/space_view3d/view3d_ops.c @@ -272,21 +272,29 @@ void view3d_keymap(wmKeyConfig *keyconf) /* selection*/ kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, 0, 0); RNA_boolean_set(kmi->ptr, "extend", FALSE); + RNA_boolean_set(kmi->ptr, "deselect", FALSE); + RNA_boolean_set(kmi->ptr, "toggle", FALSE); RNA_boolean_set(kmi->ptr, "center", FALSE); RNA_boolean_set(kmi->ptr, "object", FALSE); RNA_boolean_set(kmi->ptr, "enumerate", FALSE); kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0); - RNA_boolean_set(kmi->ptr, "extend", TRUE); + RNA_boolean_set(kmi->ptr, "extend", FALSE); + RNA_boolean_set(kmi->ptr, "deselect", FALSE); + RNA_boolean_set(kmi->ptr, "toggle", TRUE); RNA_boolean_set(kmi->ptr, "center", FALSE); RNA_boolean_set(kmi->ptr, "object", FALSE); RNA_boolean_set(kmi->ptr, "enumerate", FALSE); kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_CTRL, 0); RNA_boolean_set(kmi->ptr, "extend", FALSE); + RNA_boolean_set(kmi->ptr, "deselect", FALSE); + RNA_boolean_set(kmi->ptr, "toggle", FALSE); RNA_boolean_set(kmi->ptr, "center", TRUE); RNA_boolean_set(kmi->ptr, "object", TRUE); /* use Ctrl+Select for 2 purposes */ RNA_boolean_set(kmi->ptr, "enumerate", FALSE); kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_ALT, 0); RNA_boolean_set(kmi->ptr, "extend", FALSE); + RNA_boolean_set(kmi->ptr, "deselect", FALSE); + RNA_boolean_set(kmi->ptr, "toggle", FALSE); RNA_boolean_set(kmi->ptr, "center", FALSE); RNA_boolean_set(kmi->ptr, "object", FALSE); RNA_boolean_set(kmi->ptr, "enumerate", TRUE); @@ -294,21 +302,29 @@ void view3d_keymap(wmKeyConfig *keyconf) /* selection key-combinations */ kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT | KM_CTRL, 0); RNA_boolean_set(kmi->ptr, "extend", TRUE); + RNA_boolean_set(kmi->ptr, "deselect", FALSE); + RNA_boolean_set(kmi->ptr, "toggle", TRUE); RNA_boolean_set(kmi->ptr, "center", TRUE); RNA_boolean_set(kmi->ptr, "object", FALSE); RNA_boolean_set(kmi->ptr, "enumerate", FALSE); kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_CTRL | KM_ALT, 0); RNA_boolean_set(kmi->ptr, "extend", FALSE); + RNA_boolean_set(kmi->ptr, "deselect", FALSE); + RNA_boolean_set(kmi->ptr, "toggle", FALSE); RNA_boolean_set(kmi->ptr, "center", TRUE); RNA_boolean_set(kmi->ptr, "object", FALSE); RNA_boolean_set(kmi->ptr, "enumerate", TRUE); kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT | KM_ALT, 0); - RNA_boolean_set(kmi->ptr, "extend", TRUE); + RNA_boolean_set(kmi->ptr, "extend", FALSE); + RNA_boolean_set(kmi->ptr, "deselect", FALSE); + RNA_boolean_set(kmi->ptr, "toggle", TRUE); RNA_boolean_set(kmi->ptr, "center", FALSE); RNA_boolean_set(kmi->ptr, "object", FALSE); RNA_boolean_set(kmi->ptr, "enumerate", TRUE); kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT | KM_CTRL | KM_ALT, 0); - RNA_boolean_set(kmi->ptr, "extend", TRUE); + RNA_boolean_set(kmi->ptr, "extend", FALSE); + RNA_boolean_set(kmi->ptr, "deselect", FALSE); + RNA_boolean_set(kmi->ptr, "toggle", TRUE); RNA_boolean_set(kmi->ptr, "center", TRUE); RNA_boolean_set(kmi->ptr, "object", FALSE); RNA_boolean_set(kmi->ptr, "enumerate", TRUE); diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c index 583736716c6..18c7e975356 100644 --- a/source/blender/editors/space_view3d/view3d_select.c +++ b/source/blender/editors/space_view3d/view3d_select.c @@ -405,7 +405,7 @@ static void do_lasso_select_mesh__doSelectEdge(void *userData, BMEdge *eed, int BLI_lasso_is_point_inside(data->mcords, data->moves, x1, y1, IS_CLIPPED)) { BM_edge_select_set(data->vc->em->bm, eed, data->select); - data->done = 1; + data->done = TRUE; } } else { @@ -443,7 +443,7 @@ static void do_lasso_select_mesh(ViewContext *vc, int mcords[][2], short moves, data.mcords = mcords; data.moves = moves; data.select = select; - data.done = 0; + data.done = FALSE; data.pass = 0; if (extend == 0 && select) @@ -500,7 +500,7 @@ static void do_lasso_select_curve__doSelect(void *userData, Nurb *UNUSED(nu), BP } else { if (cu->drawflag & CU_HIDE_HANDLES) { - /* can only be beztindex==0 here since handles are hidden */ + /* can only be (beztindex == 0) here since handles are hidden */ bezt->f1 = bezt->f2 = bezt->f3 = data->select ? (bezt->f2 | SELECT) : (bezt->f2 & ~SELECT); } else { @@ -1180,19 +1180,19 @@ static Base *mouse_select_eval_buffer(ViewContext *vc, unsigned int *buffer, int View3D *v3d = vc->v3d; Base *base, *basact = NULL; static int lastmval[2] = {-100, -100}; - int a, donearest = 0; + int a, do_nearest = FALSE; /* define if we use solid nearest select or not */ if (v3d->drawtype > OB_WIRE) { - donearest = 1; + do_nearest = TRUE; if (ABS(mval[0] - lastmval[0]) < 3 && ABS(mval[1] - lastmval[1]) < 3) { if (!has_bones) /* hrms, if theres bones we always do nearest */ - donearest = 0; + do_nearest = FALSE; } } lastmval[0] = mval[0]; lastmval[1] = mval[1]; - if (donearest) { + if (do_nearest) { unsigned int min = 0xFFFFFFFF; int selcol = 0, notcol = 0; @@ -1311,7 +1311,7 @@ static void deselect_all_tracks(MovieTracking *tracking) } /* mval is region coords */ -static int mouse_select(bContext *C, const int mval[2], short extend, short obcenter, short enumerate) +static int mouse_select(bContext *C, const int mval[2], short extend, short deselect, short toggle, short obcenter, short enumerate) { ViewContext vc; ARegion *ar = CTX_wm_region(C); @@ -1438,7 +1438,7 @@ static int mouse_select(bContext *C, const int mval[2], short extend, short obce } } } - else if (ED_do_pose_selectbuffer(scene, basact, buffer, hits, extend) ) { /* then bone is found */ + else if (ED_do_pose_selectbuffer(scene, basact, buffer, hits, extend, deselect, toggle) ) { /* then bone is found */ /* we make the armature selected: * not-selected active object in posemode won't work well for tools */ @@ -1477,19 +1477,25 @@ static int mouse_select(bContext *C, const int mval[2], short extend, short obce oldbasact = BASACT; - if (!extend) { - deselectall_except(scene, basact); + if (extend) { ED_base_object_select(basact, BA_SELECT); } - else if (0) { - // XXX select_all_from_groups(basact); + else if (deselect) { + ED_base_object_select(basact, BA_DESELECT); } - else { + else if (toggle) { if (basact->flag & SELECT) { - if (basact == oldbasact) + if (basact == oldbasact) { ED_base_object_select(basact, BA_DESELECT); + } } - else ED_base_object_select(basact, BA_SELECT); + else { + ED_base_object_select(basact, BA_SELECT); + } + } + else { + deselectall_except(scene, basact); + ED_base_object_select(basact, BA_SELECT); } if (oldbasact != basact) { @@ -1546,7 +1552,7 @@ static void do_nurbs_box_select__doSelect(void *userData, Nurb *UNUSED(nu), BPoi } else { if (cu->drawflag & CU_HIDE_HANDLES) { - /* can only be beztindex==0 here since handles are hidden */ + /* can only be (beztindex == 0) here since handles are hidden */ bezt->f1 = bezt->f2 = bezt->f3 = data->select ? (bezt->f2 | SELECT) : (bezt->f2 & ~SELECT); } else { @@ -1623,7 +1629,7 @@ static void do_mesh_box_select__doSelectEdge(void *userData, BMEdge *eed, int x0 if (data->pass == 0) { if (edge_fully_inside_rect(data->rect, x0, y0, x1, y1)) { BM_edge_select_set(data->vc->em->bm, eed, data->select); - data->done = 1; + data->done = TRUE; } } else { @@ -1651,7 +1657,7 @@ static int do_mesh_box_select(ViewContext *vc, rcti *rect, int select, int exten data.rect = rect; data.select = select; data.pass = 0; - data.done = 0; + data.done = FALSE; if (extend == 0 && select) EDBM_flag_disable_all(vc->em, BM_ELEM_SELECT); @@ -2043,7 +2049,7 @@ static int vertsel_vert_pick(struct bContext *C, Mesh *me, const int mval[2], un /* mouse selection in weight paint */ /* gets called via generic mouse select operator */ -static int mouse_weight_paint_vertex_select(bContext *C, const int mval[2], short extend, Object *obact) +static int mouse_weight_paint_vertex_select(bContext *C, const int mval[2], short extend, short deselect, short toggle, Object *obact) { Mesh *me = obact->data; /* already checked for NULL */ unsigned int index = 0; @@ -2052,6 +2058,12 @@ static int mouse_weight_paint_vertex_select(bContext *C, const int mval[2], shor if (vertsel_vert_pick(C, me, mval, &index, 50)) { mv = me->mvert + index; if (extend) { + mv->flag |= SELECT; + } + else if (deselect) { + mv->flag &= ~SELECT; + } + else if (toggle) { mv->flag ^= SELECT; } else { @@ -2073,6 +2085,8 @@ static int view3d_select_invoke(bContext *C, wmOperator *op, wmEvent *event) Object *obedit = CTX_data_edit_object(C); Object *obact = CTX_data_active_object(C); short extend = RNA_boolean_get(op->ptr, "extend"); + short deselect = RNA_boolean_get(op->ptr, "deselect"); + short toggle = RNA_boolean_get(op->ptr, "toggle"); short center = RNA_boolean_get(op->ptr, "center"); short enumerate = RNA_boolean_get(op->ptr, "enumerate"); short object = RNA_boolean_get(op->ptr, "object"); @@ -2092,27 +2106,27 @@ static int view3d_select_invoke(bContext *C, wmOperator *op, wmEvent *event) if (obedit && object == FALSE) { if (obedit->type == OB_MESH) - retval = mouse_mesh(C, event->mval, extend); + retval = mouse_mesh(C, event->mval, extend, deselect, toggle); else if (obedit->type == OB_ARMATURE) - retval = mouse_armature(C, event->mval, extend); + retval = mouse_armature(C, event->mval, extend, deselect, toggle); else if (obedit->type == OB_LATTICE) - retval = mouse_lattice(C, event->mval, extend); + retval = mouse_lattice(C, event->mval, extend, deselect, toggle); else if (ELEM(obedit->type, OB_CURVE, OB_SURF)) - retval = mouse_nurb(C, event->mval, extend); + retval = mouse_nurb(C, event->mval, extend, deselect, toggle); else if (obedit->type == OB_MBALL) - retval = mouse_mball(C, event->mval, extend); + retval = mouse_mball(C, event->mval, extend, deselect, toggle); } else if (obact && obact->mode & OB_MODE_SCULPT) return OPERATOR_CANCELLED; else if (obact && obact->mode & OB_MODE_PARTICLE_EDIT) - return PE_mouse_particles(C, event->mval, extend); + return PE_mouse_particles(C, event->mval, extend, deselect, toggle); else if (obact && paint_facesel_test(obact)) - retval = paintface_mouse_select(C, obact, event->mval, extend); + retval = paintface_mouse_select(C, obact, event->mval, extend, deselect, toggle); else if (paint_vertsel_test(obact)) - retval = mouse_weight_paint_vertex_select(C, event->mval, extend, obact); + retval = mouse_weight_paint_vertex_select(C, event->mval, extend, deselect, toggle, obact); else - retval = mouse_select(C, event->mval, extend, center, enumerate); + retval = mouse_select(C, event->mval, extend, deselect, toggle, center, enumerate); /* passthrough allows tweaks * FINISHED to signal one operator worked @@ -2139,6 +2153,8 @@ void VIEW3D_OT_select(wmOperatorType *ot) /* properties */ RNA_def_boolean(ot->srna, "extend", 0, "Extend", "Extend selection instead of deselecting everything first"); + RNA_def_boolean(ot->srna, "deselect", 0, "Deselect", "Remove from selection"); + RNA_def_boolean(ot->srna, "toggle", 0, "Toggle Selection", "Toggles selection"); RNA_def_boolean(ot->srna, "center", 0, "Center", "Use the object center when selecting, in editmode used to extend object selection"); RNA_def_boolean(ot->srna, "enumerate", 0, "Enumerate", "List objects under the mouse (object mode only)"); RNA_def_boolean(ot->srna, "object", 0, "Object", "Use object selection (editmode only)"); @@ -2281,7 +2297,7 @@ static void nurbscurve_circle_doSelect(void *userData, Nurb *UNUSED(nu), BPoint } else { if (cu->drawflag & CU_HIDE_HANDLES) { - /* can only be beztindex==0 here since handles are hidden */ + /* can only be (beztindex == 0) here since handles are hidden */ bezt->f1 = bezt->f2 = bezt->f3 = data->select ? (bezt->f2 | SELECT) : (bezt->f2 & ~SELECT); } else { diff --git a/source/blender/editors/space_view3d/view3d_toolbar.c b/source/blender/editors/space_view3d/view3d_toolbar.c index 82ab6cd7193..ff896a95941 100644 --- a/source/blender/editors/space_view3d/view3d_toolbar.c +++ b/source/blender/editors/space_view3d/view3d_toolbar.c @@ -64,7 +64,7 @@ #include "UI_interface.h" #include "UI_resources.h" -#include "view3d_intern.h" // own include +#include "view3d_intern.h" /* own include */ /* ******************* view3d space & buttons ************** */ @@ -78,15 +78,17 @@ static void view3d_panel_operator_redo_header(const bContext *C, Panel *pa) { wmOperator *op = WM_operator_last_redo(C); - if (op) BLI_strncpy(pa->drawname, op->type->name, sizeof(pa->drawname)); - else BLI_strncpy(pa->drawname, IFACE_("Operator"), sizeof(pa->drawname)); + if (op) + BLI_strncpy(pa->drawname, RNA_struct_ui_name(op->type->srna), sizeof(pa->drawname)); + else + BLI_strncpy(pa->drawname, IFACE_("Operator"), sizeof(pa->drawname)); } static void view3d_panel_operator_redo_operator(const bContext *C, Panel *pa, wmOperator *op) { if (op->type->flag & OPTYPE_MACRO) { for (op = op->macro.first; op; op = op->next) { - uiItemL(pa->layout, op->type->name, ICON_NONE); + uiItemL(pa->layout, RNA_struct_ui_name(op->type->srna), ICON_NONE); view3d_panel_operator_redo_operator(C, pa, op); } } diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c index 95ae0ac971f..8fb012a18d6 100644 --- a/source/blender/editors/space_view3d/view3d_view.c +++ b/source/blender/editors/space_view3d/view3d_view.c @@ -142,7 +142,7 @@ void smooth_view(bContext *C, View3D *v3d, ARegion *ar, Object *oldcamera, Objec sms.to_camera = 0; /* note on camera locking, this is a little confusing but works ok. - * we may be changing the view 'as if' there is no active camera, but infact + * we may be changing the view 'as if' there is no active camera, but in fact * there is an active camera which is locked to the view. * * In the case where smooth view is moving _to_ a camera we don't want that diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index ae383fcd6b2..1f219a699d2 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -536,6 +536,12 @@ static void view_editmove(unsigned short UNUSED(event)) #define TFM_MODAL_AUTOIK_LEN_INC 22 #define TFM_MODAL_AUTOIK_LEN_DEC 23 +#define TFM_MODAL_EDGESLIDE_UP 24 +#define TFM_MODAL_EDGESLIDE_DOWN 25 + +#define TFM_WHEEL_DOWN_EVT TFM_MODAL_PROPSIZE_DOWN|TFM_MODAL_EDGESLIDE_DOWN +#define TFM_WHEEL_UP_EVT TFM_MODAL_PROPSIZE_UP|TFM_MODAL_EDGESLIDE_UP + /* called in transform_ops.c, on each regeneration of keymaps */ wmKeyMap* transform_modal_keymap(wmKeyConfig *keyconf) { @@ -563,6 +569,8 @@ wmKeyMap* transform_modal_keymap(wmKeyConfig *keyconf) {TFM_MODAL_PROPSIZE_DOWN, "PROPORTIONAL_SIZE_DOWN", 0, "Decrease Proportional Influence", ""}, {TFM_MODAL_AUTOIK_LEN_INC, "AUTOIK_CHAIN_LEN_UP", 0, "Increase Max AutoIK Chain Length", ""}, {TFM_MODAL_AUTOIK_LEN_DEC, "AUTOIK_CHAIN_LEN_DOWN", 0, "Decrease Max AutoIK Chain Length", ""}, + {TFM_MODAL_EDGESLIDE_UP, "EDGESLIDE_EDGE_NEXT", 0, "Select next Edge Slide Edge", ""}, + {TFM_MODAL_EDGESLIDE_DOWN, "EDGESLIDE_PREV_NEXT", 0, "Select previous Edge Slide Edge", ""}, {0, NULL, 0, NULL, NULL}}; wmKeyMap *keymap= WM_modalkeymap_get(keyconf, "Transform Modal Map"); @@ -595,8 +603,8 @@ wmKeyMap* transform_modal_keymap(wmKeyConfig *keyconf) WM_modalkeymap_add_item(keymap, PAGEUPKEY, KM_PRESS, 0, 0, TFM_MODAL_PROPSIZE_UP); WM_modalkeymap_add_item(keymap, PAGEDOWNKEY, KM_PRESS, 0, 0, TFM_MODAL_PROPSIZE_DOWN); - WM_modalkeymap_add_item(keymap, WHEELDOWNMOUSE, KM_PRESS, 0, 0, TFM_MODAL_PROPSIZE_UP); - WM_modalkeymap_add_item(keymap, WHEELUPMOUSE, KM_PRESS, 0, 0, TFM_MODAL_PROPSIZE_DOWN); + WM_modalkeymap_add_item(keymap, WHEELDOWNMOUSE, KM_PRESS, 0, 0, TFM_WHEEL_UP_EVT); + WM_modalkeymap_add_item(keymap, WHEELUPMOUSE, KM_PRESS, 0, 0, TFM_WHEEL_DOWN_EVT); WM_modalkeymap_add_item(keymap, PAGEUPKEY, KM_PRESS, KM_SHIFT, 0, TFM_MODAL_AUTOIK_LEN_INC); WM_modalkeymap_add_item(keymap, PAGEDOWNKEY, KM_PRESS, KM_SHIFT, 0, TFM_MODAL_AUTOIK_LEN_DEC); @@ -617,7 +625,7 @@ static void transform_event_xyz_constraint(TransInfo *t, short key_type, char cm char axis; /* Initialize */ - switch(key_type) { + switch (key_type) { case XKEY: axis = 'X'; constraint_axis = CON_AXIS0; @@ -858,7 +866,7 @@ int transformEvent(TransInfo *t, wmEvent *event) removeSnapPoint(t); t->redraw |= TREDRAW_HARD; break; - case TFM_MODAL_PROPSIZE_UP: + case TFM_WHEEL_UP_EVT: if (t->flag & T_PROP_EDIT) { t->prop_size*= 1.1f; if (t->spacetype==SPACE_VIEW3D && t->persp != RV3D_ORTHO) @@ -867,7 +875,7 @@ int transformEvent(TransInfo *t, wmEvent *event) } t->redraw |= TREDRAW_HARD; break; - case TFM_MODAL_PROPSIZE_DOWN: + case TFM_WHEEL_DOWN_EVT: if (t->flag & T_PROP_EDIT) { t->prop_size*= 0.90909090f; calculatePropRatio(t); @@ -1138,9 +1146,11 @@ int calculateTransformCenter(bContext *C, int centerMode, float *cent3d, int *ce calculateCenter(t); - if(cent2d) + if (cent2d) { copy_v2_v2_int(cent2d, t->center2d); - if(cent3d) { + } + + if (cent3d) { // Copy center from constraint center. Transform center can be local copy_v3_v3(cent3d, t->con.center); } @@ -1387,6 +1397,7 @@ static void drawTransformView(const struct bContext *C, struct ARegion *UNUSED(a drawConstraint(t); drawPropCircle(C, t); drawSnapping(C, t); + drawNonPropEdge(C, t); } #if 0 @@ -1630,6 +1641,9 @@ int initTransform(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event, int case TFM_RESIZE: initResize(t); break; + case TFM_SKIN_RESIZE: + initSkinResize(t); + break; case TFM_TOSPHERE: initToSphere(t); break; @@ -2111,7 +2125,7 @@ static void constraintRotLim(TransInfo *UNUSED(t), TransData *td) bConstraintTypeInfo *cti= get_constraint_typeinfo(CONSTRAINT_TYPE_ROTLIMIT); bConstraintOb cob; bConstraint *con; - int dolimit = 0; + int do_limit = FALSE; /* Evaluate valid constraints */ for (con= td->con; con; con= con->next) { @@ -2133,9 +2147,9 @@ static void constraintRotLim(TransInfo *UNUSED(t), TransData *td) continue; /* only do conversion if necessary, to preserve quats and eulers */ - if (!dolimit) { + if (do_limit == FALSE) { constraintob_from_transdata(&cob, td); - dolimit= 1; + do_limit = TRUE; } /* do space conversions */ @@ -2157,7 +2171,7 @@ static void constraintRotLim(TransInfo *UNUSED(t), TransData *td) } } - if (dolimit) { + if (do_limit) { /* copy results from cob->matrix */ if (td->ext->rotOrder == ROT_MODE_QUAT) { /* quats */ @@ -2311,8 +2325,8 @@ int handleEventWarp(TransInfo *t, wmEvent *event) if (event->type == MIDDLEMOUSE && event->val == KM_PRESS) { // Use customData pointer to signal warp direction - if (t->customData == NULL) - t->customData = (void*)1; + if (t->customData == NULL) + t->customData = (void *)1; else t->customData = NULL; @@ -2451,7 +2465,7 @@ int handleEventShear(TransInfo *t, wmEvent *event) if (event->type == MIDDLEMOUSE && event->val == KM_PRESS) { // Use customData pointer to signal Shear direction - if (t->customData == NULL) { + if (t->customData == NULL) { initMouseInputMode(t, &t->mouse, INPUT_VERTICAL_ABSOLUTE); t->customData = (void*)1; } @@ -2701,7 +2715,7 @@ static void ElementResize(TransInfo *t, TransData *td, float mat[3][3]) constraintSizeLim(t, td); } - + /* For individual element center, Editmode need to use iloc */ if (t->flag & T_POINTS) sub_v3_v3v3(vec, td->iloc, center); @@ -2799,6 +2813,96 @@ int Resize(TransInfo *t, const int mval[2]) return 1; } +/* ************************** SKIN *************************** */ + +void initSkinResize(TransInfo *t) +{ + t->mode = TFM_SKIN_RESIZE; + t->transform = SkinResize; + + initMouseInputMode(t, &t->mouse, INPUT_SPRING_FLIP); + + t->flag |= T_NULL_ONE; + t->num.flag |= NUM_NULL_ONE; + t->num.flag |= NUM_AFFECT_ALL; + if (!t->obedit) { + t->flag |= T_NO_ZERO; + t->num.flag |= NUM_NO_ZERO; + } + + t->idx_max = 2; + t->num.idx_max = 2; + t->snap[0] = 0.0f; + t->snap[1] = 0.1f; + t->snap[2] = t->snap[1] * 0.1f; + + t->num.increment = t->snap[1]; +} + +int SkinResize(TransInfo *t, const int UNUSED(mval[2])) +{ + TransData *td; + float size[3], mat[3][3]; + float ratio; + int i; + char str[200]; + + ratio = t->values[0]; + size[0] = size[1] = size[2] = ratio; + + snapGrid(t, size); + + if (hasNumInput(&t->num)) { + applyNumInput(&t->num, size); + constraintNumInput(t, size); + } + + applySnapping(t, size); + + if (t->flag & T_AUTOVALUES) { + copy_v3_v3(size, t->auto_values); + } + + copy_v3_v3(t->values, size); + + size_to_mat3(mat, size); + + headerResize(t, size, str); + + for (i = 0, td = t->data; i < t->total; i++, td++) { + float tmat[3][3], smat[3][3]; + float fsize[3]; + + if (td->flag & TD_NOACTION) + break; + + if (td->flag & TD_SKIP) + continue; + + if (t->flag & T_EDIT) { + mul_m3_m3m3(smat, mat, td->mtx); + mul_m3_m3m3(tmat, td->smtx, smat); + } + else { + copy_m3_m3(tmat, mat); + } + + if (t->con.applySize) { + t->con.applySize(t, NULL, tmat); + } + + mat3_to_size(fsize, tmat); + td->val[0] = td->ext->isize[0] * (1 + (fsize[0] - 1) * td->factor); + td->val[1] = td->ext->isize[1] * (1 + (fsize[1] - 1) * td->factor); + } + + recalcData(t); + + ED_area_headerprint(t->sa, str); + + return 1; +} + /* ************************** TOSPHERE *************************** */ void initToSphere(TransInfo *t) @@ -3096,7 +3200,7 @@ static void ElementRotation(TransInfo *t, TransData *td, float mat[3][3], short /* rotation */ if ((t->flag & T_V3D_ALIGN)==0) { // align mode doesn't rotate objects itself /* euler or quaternion? */ - if ((td->ext->rotOrder == ROT_MODE_QUAT) || (td->flag & TD_USEQUAT)) { + if ((td->ext->rotOrder == ROT_MODE_QUAT) || (td->flag & TD_USEQUAT)) { mul_serie_m3(fmat, td->mtx, mat, td->smtx, NULL, NULL, NULL, NULL, NULL); mat3_to_quat(quat, fmat); // Actual transform @@ -4373,6 +4477,41 @@ static BMLoop *get_next_loop(BMVert *v, BMLoop *l, return NULL; } +static void calcNonProportionalEdgeSlide(TransInfo *t, SlideData *sld, const float mval[2]) +{ + TransDataSlideVert *sv = sld->sv; + + if (sld->totsv > 0) { + int i = 0; + + float v_proj[3]; + float dist = 0; + float min_dist = FLT_MAX; + + float up_p[3]; + float dw_p[3]; + + for (i = 0; i < sld->totsv; i++, sv++) { + /* Set length */ + add_v3_v3v3(up_p, sv->origvert.co, sv->upvec); + add_v3_v3v3(dw_p, sv->origvert.co, sv->downvec); + sv->edge_len = len_v3v3(dw_p, up_p); + + mul_v3_m4v3(v_proj, t->obedit->obmat, sv->v->co); + project_float_noclip(t->ar, v_proj, v_proj); + + dist = len_squared_v2v2(mval, v_proj); + if (dist < min_dist) { + min_dist = dist; + sld->curr_sv_index = i; + } + } + } + else { + sld->curr_sv_index = 0; + } +} + static int createSlideVerts(TransInfo *t) { Mesh *me = t->obedit->data; @@ -4390,10 +4529,15 @@ static int createSlideVerts(TransInfo *t) RegionView3D *rv3d = t->ar ? t->ar->regiondata : NULL; /* background mode support */ ARegion *ar = t->ar; float projectMat[4][4]; + float mval[2] = {(float)t->mval[0], (float)t->mval[1]}; float start[3] = {0.0f, 0.0f, 0.0f}, dir[3], end[3] = {0.0f, 0.0f, 0.0f}; float vec[3], vec2[3], lastvec[3] /*, size, dis=0.0, z */ /* UNUSED */; int numsel, i, j; + sld->is_proportional = TRUE; + sld->curr_sv_index = 0; + sld->flipped_vtx = FALSE; + if (!v3d) { /* ok, let's try to survive this */ unit_m4(projectMat); @@ -4656,7 +4800,10 @@ static int createSlideVerts(TransInfo *t) BLI_smallhash_insert(&sld->vhash, (uintptr_t)sv_array->v, sv_array); } - + + calcNonProportionalEdgeSlide(t, sld, mval); + + sld->origfaces_init = TRUE; sld->em = em; @@ -4665,7 +4812,7 @@ static int createSlideVerts(TransInfo *t) /*dir holds a vector along edge loop*/ copy_v3_v3(end, dir); - mul_v3_fl(end, 0.5); + mul_v3_fl(end, 0.5f); sld->start[0] = t->mval[0] + start[0]; sld->start[1] = t->mval[1] + start[1]; @@ -4711,7 +4858,7 @@ void projectSVData(TransInfo *t, int final) /* BMESH_TODO, this interpolates between vertex/loops which are not moved * (are only apart of a face attached to a slide vert), couldn't we iterate BM_LOOPS_OF_VERT - * here and only iterpolate those? */ + * here and only interpolate those? */ BM_ITER_ELEM (f, &fiter, sv->v, BM_FACES_OF_VERT) { BMIter liter; BMLoop *l; @@ -4890,7 +5037,8 @@ void initEdgeSlide(TransInfo *t) t->mode = TFM_EDGE_SLIDE; t->transform = EdgeSlide; - + t->handleEvent = handleEventEdgeSlide; + if (!createSlideVerts(t)) { t->state= TRANS_CANCEL; return; @@ -4918,6 +5066,122 @@ void initEdgeSlide(TransInfo *t) t->flag |= T_NO_CONSTRAINT|T_NO_PROJECT; } +int handleEventEdgeSlide(struct TransInfo *t, struct wmEvent *event) +{ + if (t->flag & TFM_EDGE_SLIDE) { + SlideData *sld = t->customData; + + if (sld) { + switch (event->type) { + case EKEY: + if (event->val == KM_PRESS) { + sld->is_proportional = !sld->is_proportional; + return 1; + } + break; + case FKEY: { + if (event->val == KM_PRESS) { + if (sld->is_proportional == FALSE) { + sld->flipped_vtx = !sld->flipped_vtx; + } + return 1; + } + break; + } + case EVT_MODAL_MAP: { + switch (event->val) { + case TFM_WHEEL_DOWN_EVT: { + sld->curr_sv_index = ((sld->curr_sv_index - 1) + sld->totsv) % sld->totsv; + break; + } + case TFM_WHEEL_UP_EVT: { + sld->curr_sv_index = (sld->curr_sv_index + 1) % sld->totsv; + break; + } + } + } + default: + break; + } + } + } + return 0; +} + +void drawNonPropEdge(const struct bContext *C, TransInfo *t) +{ + if (t->flag & TFM_EDGE_SLIDE) { + SlideData *sld = (SlideData *)t->customData; + /* Non-Prop mode */ + if (sld && sld->is_proportional == FALSE) { + View3D *v3d = CTX_wm_view3d(C); + float marker[3]; + float v1[3], v2[3]; + float interp_v; + TransDataSlideVert *curr_sv = &sld->sv[sld->curr_sv_index]; + const float ctrl_size = UI_GetThemeValuef(TH_FACEDOT_SIZE) + 1.5; + const float guide_size = ctrl_size - 0.5f; + const float line_size = UI_GetThemeValuef(TH_OUTLINE_WIDTH) + 0.5f; + const int alpha_shade = -30; + + add_v3_v3v3(v1, curr_sv->origvert.co, curr_sv->upvec); + add_v3_v3v3(v2, curr_sv->origvert.co, curr_sv->downvec); + + interp_v = (sld->perc + 1.0f) / 2.0f; + interp_v3_v3v3(marker, v2, v1, interp_v); + + if (v3d && v3d->zbuf) + glDisable(GL_DEPTH_TEST); + + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glPushAttrib(GL_CURRENT_BIT | GL_LINE_BIT | GL_POINT_BIT); + glPushMatrix(); + + glMultMatrixf(t->obedit->obmat); + + glLineWidth(line_size); + UI_ThemeColorShadeAlpha(TH_EDGE_SELECT, 80, alpha_shade); + glBegin(GL_LINES); + glVertex3fv(curr_sv->up->co); + glVertex3fv(curr_sv->origvert.co); + glVertex3fv(curr_sv->down->co); + glVertex3fv(curr_sv->origvert.co); + bglEnd(); + + + UI_ThemeColorShadeAlpha(TH_SELECT, -30, alpha_shade); + glPointSize(ctrl_size); + if (sld->flipped_vtx) { + bglBegin(GL_POINTS); + bglVertex3fv(curr_sv->down->co); + bglEnd(); + } + else { + bglBegin(GL_POINTS); + bglVertex3fv(curr_sv->up->co); + bglEnd(); + } + + UI_ThemeColorShadeAlpha(TH_SELECT, 255, alpha_shade); + glPointSize(guide_size); + bglBegin(GL_POINTS); + bglVertex3fv(marker); + bglEnd(); + + + glPopMatrix(); + glPopAttrib(); + + glDisable(GL_BLEND); + + if (v3d && v3d->zbuf) + glEnable(GL_DEPTH_TEST); + } + } +} + static int doEdgeSlide(TransInfo *t, float perc) { SlideData *sld = t->customData; @@ -4929,6 +5193,30 @@ static int doEdgeSlide(TransInfo *t, float perc) sv = svlist; for (i=0; i<sld->totsv; i++, sv++) { + if (sld->is_proportional == FALSE) { + TransDataSlideVert *curr_sv = &sld->sv[sld->curr_sv_index]; + float cur_sel = curr_sv->edge_len; + float cur_sv = sv->edge_len; + float extd = 0.0f; + float recip_cur_sv = 0.0f; + + if (cur_sel == 0.0f) cur_sel = 1.0f; + if (cur_sv == 0.0f) cur_sv = 1.0f; + + recip_cur_sv = 1.0f / cur_sv; + + if (!sld->flipped_vtx) { + extd = (cur_sv - cur_sel) * recip_cur_sv; + } + else { + extd = (cur_sel - cur_sv) * recip_cur_sv; + } + + extd += (sld->perc * cur_sel) * recip_cur_sv; + CLAMP(extd, -1.0f, 1.0f); + perc = extd; + } + if (perc > 0.0f) { copy_v3_v3(vec, sv->upvec); mul_v3_fl(vec, perc); @@ -4948,8 +5236,11 @@ static int doEdgeSlide(TransInfo *t, float perc) int EdgeSlide(TransInfo *t, const int UNUSED(mval[2])) { - char str[50]; + char str[128]; float final; + SlideData *sld = t->customData; + int flipped = sld->flipped_vtx; + int is_proportional = sld->is_proportional; final = t->values[0]; @@ -4965,10 +5256,12 @@ int EdgeSlide(TransInfo *t, const int UNUSED(mval[2])) outputNumInput(&(t->num), c); - sprintf(str, "Edge Slide: %s", &c[0]); + BLI_snprintf(str, sizeof(str), "Edge Slide: %s (E)ven: %s, (F)lipped: %s", + &c[0], !is_proportional ? "ON" : "OFF", flipped ? "ON" : "OFF" ); } else { - sprintf(str, "Edge Slide: %.2f", final); + BLI_snprintf(str, sizeof(str), "Edge Slide: %.2f (E)ven: %s, (F)lipped: %s", + final, !is_proportional ? "ON" : "OFF", flipped ? "ON" : "OFF" ); } CLAMP(final, -1.0f, 1.0f); @@ -5438,10 +5731,10 @@ static void doAnimEdit_SnapFrame(TransInfo *t, TransData *td, TransData2D *td2d, /* snap key to nearest frame? */ if (autosnap == SACTSNAP_FRAME) { -#if 0 /* 'doTime' disabled for now */ +#if 0 /* 'do_time' disabled for now */ const Scene *scene= t->scene; - const short doTime= 0; //getAnimEdit_DrawTime(t); // NOTE: this works, but may be confusing behavior given the option's label, hence disabled + const short do_time= 0; //getAnimEdit_DrawTime(t); // NOTE: this works, but may be confusing behavior given the option's label, hence disabled const double secf= FPS; #endif double val; @@ -5452,16 +5745,16 @@ static void doAnimEdit_SnapFrame(TransInfo *t, TransData *td, TransData2D *td2d, else val= *(td->val); -#if 0 /* 'doTime' disabled for now */ +#if 0 /* 'do_time' disabled for now */ /* do the snapping to nearest frame/second */ - if (doTime) { + if (do_time) { val= (float)(floor((val/secf) + 0.5f) * secf); } else #endif { - val= floorf(val+0.5f); + val = floor(val + 0.5); } /* convert frame out of nla-action time */ @@ -5540,19 +5833,19 @@ static void headerTimeTranslate(TransInfo *t, char *str) else { const Scene *scene = t->scene; const short autosnap= getAnimEdit_SnapMode(t); - const short doTime = getAnimEdit_DrawTime(t); + const short do_time = getAnimEdit_DrawTime(t); const double secf= FPS; float val = t->values[0]; /* apply snapping + frame->seconds conversions */ if (autosnap == SACTSNAP_STEP) { - if (doTime) - val= floorf((double)val/secf + 0.5f); + if (do_time) + val= floorf((double)val / secf + 0.5); else val= floorf(val + 0.5f); } else { - if (doTime) + if (do_time) val= (float)((double)val / secf); } @@ -5572,7 +5865,7 @@ static void applyTimeTranslate(TransInfo *t, float UNUSED(sval)) Scene *scene = t->scene; int i; - const short doTime= getAnimEdit_DrawTime(t); + const short do_time= getAnimEdit_DrawTime(t); const double secf= FPS; const short autosnap= getAnimEdit_SnapMode(t); @@ -5594,10 +5887,10 @@ static void applyTimeTranslate(TransInfo *t, float UNUSED(sval)) deltax = t->values[0]; if (autosnap == SACTSNAP_STEP) { - if (doTime) - deltax= (float)(floor((deltax/secf) + 0.5f) * secf); + if (do_time) + deltax = (float)(floor(((double)deltax / secf) + 0.5) * secf); else - deltax= (float)(floor(deltax + 0.5f)); + deltax = (float)(floor(deltax + 0.5f)); } val = BKE_nla_tweakedit_remap(adt, td->ival, NLATIME_CONVERT_MAP); @@ -5608,10 +5901,10 @@ static void applyTimeTranslate(TransInfo *t, float UNUSED(sval)) deltax = val = t->values[0]; if (autosnap == SACTSNAP_STEP) { - if (doTime) - val= (float)(floor((deltax/secf) + 0.5f) * secf); + if (do_time) + val = (float)(floor(((double)deltax / secf) + 0.5) * secf); else - val= (float)(floor(val + 0.5f)); + val = (float)(floor(val + 0.5f)); } *(td->val) = td->ival + val; @@ -5846,7 +6139,7 @@ static void applyTimeScale(TransInfo *t) int i; const short autosnap= getAnimEdit_SnapMode(t); - const short doTime= getAnimEdit_DrawTime(t); + const short do_time= getAnimEdit_DrawTime(t); const double secf= FPS; @@ -5860,10 +6153,10 @@ static void applyTimeScale(TransInfo *t) float fac= t->values[0]; if (autosnap == SACTSNAP_STEP) { - if (doTime) - fac= (float)(floor(fac/secf + 0.5f) * secf); + if (do_time) + fac = (float)(floor((double)fac / secf + 0.5) * secf); else - fac= (float)(floor(fac + 0.5f)); + fac = (float)(floor(fac + 0.5f)); } /* check if any need to apply nla-mapping */ @@ -5871,9 +6164,7 @@ static void applyTimeScale(TransInfo *t) startx= BKE_nla_tweakedit_remap(adt, startx, NLATIME_CONVERT_UNMAP); /* now, calculate the new value */ - *(td->val) = td->ival - startx; - *(td->val) *= fac; - *(td->val) += startx; + *(td->val) = ((td->ival - startx) * fac) + startx; /* apply nearest snapping */ doAnimEdit_SnapFrame(t, td, td2d, adt, autosnap); diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h index f902659a5c5..6051fd2577b 100644 --- a/source/blender/editors/transform/transform.h +++ b/source/blender/editors/transform/transform.h @@ -194,6 +194,8 @@ typedef struct TransDataSlideVert { struct BMVert *up, *down; struct BMVert *v; + float edge_len; + float upvec[3], downvec[3]; } TransDataSlideVert; @@ -206,9 +208,16 @@ typedef struct SlideData { int start[2], end[2]; struct BMEditMesh *em; - float perc; + /* flag that is set when origfaces is initialized */ int origfaces_init; + + float perc; + + int is_proportional; + int flipped_vtx; + + int curr_sv_index; } SlideData; typedef struct TransData { @@ -464,6 +473,9 @@ int Shear(TransInfo *t, const int mval[2]); void initResize(TransInfo *t); int Resize(TransInfo *t, const int mval[2]); +void initSkinResize(TransInfo *t); +int SkinResize(TransInfo *t, const int mval[2]); + void initTranslation(TransInfo *t); int Translation(TransInfo *t, const int mval[2]); @@ -508,6 +520,7 @@ void initBoneRoll(TransInfo *t); int BoneRoll(TransInfo *t, const int mval[2]); void initEdgeSlide(TransInfo *t); +int handleEventEdgeSlide(TransInfo *t, struct wmEvent *event); int EdgeSlide(TransInfo *t, const int mval[2]); void initTimeTranslate(TransInfo *t); @@ -650,6 +663,8 @@ void resetTransRestrictions(TransInfo *t); void drawLine(TransInfo *t, float *center, float *dir, char axis, short options); +void drawNonPropEdge(const struct bContext *C, TransInfo *t); + /* DRAWLINE options flags */ #define DRAWLIGHT 1 diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index c9eb975cb77..1b06f42fd2c 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -1393,10 +1393,10 @@ static void createTransCurveVerts(bContext *C, TransInfo *t) if (bezt->hide==0) { TransDataCurveHandleFlags *hdata = NULL; - if ( propmode || - ((bezt->f2 & SELECT) && hide_handles) || - ((bezt->f1 & SELECT) && hide_handles == 0) - ) { + if (propmode || + ((bezt->f2 & SELECT) && hide_handles) || + ((bezt->f1 & SELECT) && hide_handles == 0)) + { copy_v3_v3(td->iloc, bezt->vec[0]); td->loc= bezt->vec[0]; copy_v3_v3(td->center, bezt->vec[(hide_handles || bezt->f2 & SELECT) ? 1:0]); @@ -1455,10 +1455,10 @@ static void createTransCurveVerts(bContext *C, TransInfo *t) count++; tail++; } - if ( propmode || - ((bezt->f2 & SELECT) && hide_handles) || - ((bezt->f3 & SELECT) && hide_handles == 0) - ) { + if (propmode || + ((bezt->f2 & SELECT) && hide_handles) || + ((bezt->f3 & SELECT) && hide_handles == 0)) + { copy_v3_v3(td->iloc, bezt->vec[2]); td->loc= bezt->vec[2]; copy_v3_v3(td->center, bezt->vec[(hide_handles || bezt->f2 & SELECT) ? 1:2]); @@ -1885,7 +1885,8 @@ static void get_edge_center(float cent_r[3], BMVert *eve) } /* way to overwrite what data is edited with transform */ -static void VertsToTransData(TransInfo *t, TransData *td, BMEditMesh *em, BMVert *eve, float *bweight) +static void VertsToTransData(TransInfo *t, TransData *td, TransDataExtension *tx, + BMEditMesh *em, BMVert *eve, float *bweight) { td->flag = 0; //if (key) @@ -1919,12 +1920,23 @@ static void VertsToTransData(TransInfo *t, TransData *td, BMEditMesh *em, BMVert td->val = bweight; td->ival = bweight ? *(bweight) : 1.0f; } + else if (t->mode == TFM_SKIN_RESIZE) { + MVertSkin *vs = CustomData_bmesh_get(&em->bm->vdata, + eve->head.data, + CD_MVERT_SKIN); + /* skin node size */ + td->ext = tx; + copy_v3_v3(tx->isize, vs->radius); + tx->size = vs->radius; + td->val = vs->radius; + } } static void createTransEditVerts(bContext *C, TransInfo *t) { ToolSettings *ts = CTX_data_tool_settings(C); TransData *tob = NULL; + TransDataExtension *tx = NULL; BMEditMesh *em = BMEdit_FromObject(t->obedit); BMesh *bm = em->bm; BMVert *eve; @@ -2030,6 +2042,10 @@ static void createTransEditVerts(bContext *C, TransInfo *t) else t->total = countsel; tob= t->data= MEM_callocN(t->total*sizeof(TransData), "TransObData(Mesh EditMode)"); + if (t->mode == TFM_SKIN_RESIZE) { + tx = t->ext = MEM_callocN(t->total * sizeof(TransDataExtension), + "TransObData ext"); + } copy_m3_m4(mtx, t->obedit->obmat); invert_m3_m3(smtx, mtx); @@ -2081,7 +2097,9 @@ static void createTransEditVerts(bContext *C, TransInfo *t) if (propmode || selstate[a]) { float *bweight = CustomData_bmesh_get(&bm->vdata, eve->head.data, CD_BWEIGHT); - VertsToTransData(t, tob, em, eve, bweight); + VertsToTransData(t, tob, tx, em, eve, bweight); + if (tx) + tx++; /* selected */ if (selstate[a]) tob->flag |= TD_SELECTED; @@ -2180,7 +2198,6 @@ void flushTransNodes(TransInfo *t) if (t->total==1) { ED_node_link_intersect_test(t->sa, 1); } - } /* *** SEQUENCE EDITOR *** */ @@ -3705,9 +3722,9 @@ void flushTransGraphData(TransInfo *t) switch (sipo->autosnap) { case SACTSNAP_FRAME: /* snap to nearest frame (or second if drawing seconds) */ if (sipo->flag & SIPO_DRAWTIME) - td2d->loc[0] = (float)(floorf((td2d->loc[0]/secf) + 0.5f) * secf); + td2d->loc[0] = floor(((double)td2d->loc[0] / secf) + 0.5) * secf; else - td2d->loc[0] = (float)(floorf(td2d->loc[0]+0.5f)); + td2d->loc[0] = floor((double)td2d->loc[0] + 0.5); break; case SACTSNAP_MARKER: /* snap to nearest marker */ @@ -3715,7 +3732,7 @@ void flushTransGraphData(TransInfo *t) break; } } - + /* we need to unapply the nla-mapping from the time in some situations */ if (adt) td2d->loc2d[0]= BKE_nla_tweakedit_remap(adt, td2d->loc[0], NLATIME_CONVERT_UNMAP); @@ -3757,42 +3774,42 @@ static void SeqTransInfo(TransInfo *t, Sequence *seq, int *recursive, int *count /* *** Extend Transform *** */ - Scene * scene= t->scene; + Scene *scene = t->scene; int cfra= CFRA; int left= seq_tx_get_final_left(seq, 1); int right= seq_tx_get_final_right(seq, 1); if (seq->depth == 0 && ((seq->flag & SELECT) == 0 || (seq->flag & SEQ_LOCK))) { - *recursive= 0; - *count= 0; - *flag= 0; + *recursive = FALSE; + *count = 0; + *flag = 0; } - else if (seq->type ==SEQ_META) { + else if (seq->type == SEQ_META) { /* for meta's we only ever need to extend their children, no matter what depth * just check the meta's are in the bounds */ - if (t->frame_side=='R' && right <= cfra) *recursive= 0; - else if (t->frame_side=='L' && left >= cfra) *recursive= 0; - else *recursive= 1; + if (t->frame_side=='R' && right <= cfra) *recursive = FALSE; + else if (t->frame_side=='L' && left >= cfra) *recursive = FALSE; + else *recursive = TRUE; *count= 1; *flag= (seq->flag | SELECT) & ~(SEQ_LEFTSEL|SEQ_RIGHTSEL); } else { - *recursive= 0; /* not a meta, so no thinking here */ - *count= 1; /* unless its set to 0, extend will never set 2 handles at once */ - *flag= (seq->flag | SELECT) & ~(SEQ_LEFTSEL|SEQ_RIGHTSEL); + *recursive = FALSE; /* not a meta, so no thinking here */ + *count = 1; /* unless its set to 0, extend will never set 2 handles at once */ + *flag = (seq->flag | SELECT) & ~(SEQ_LEFTSEL|SEQ_RIGHTSEL); if (t->frame_side=='R') { - if (right <= cfra) *count= *flag= 0; /* ignore */ - else if (left > cfra) ; /* keep the selection */ - else *flag |= SEQ_RIGHTSEL; + if (right <= cfra) *count = *flag= 0; /* ignore */ + else if (left > cfra) ; /* keep the selection */ + else *flag |= SEQ_RIGHTSEL; } else { - if (left >= cfra) *count= *flag= 0; /* ignore */ - else if (right < cfra) ; /* keep the selection */ - else *flag |= SEQ_LEFTSEL; + if (left >= cfra) *count = *flag= 0; /* ignore */ + else if (right < cfra) ; /* keep the selection */ + else *flag |= SEQ_LEFTSEL; } } } @@ -3808,9 +3825,9 @@ static void SeqTransInfo(TransInfo *t, Sequence *seq, int *recursive, int *count /* Non nested strips (resect selection and handles) */ if ((seq->flag & SELECT) == 0 || (seq->flag & SEQ_LOCK)) { - *recursive= 0; - *count= 0; - *flag= 0; + *recursive = FALSE; + *count = 0; + *flag = 0; } else { if ((seq->flag & (SEQ_LEFTSEL|SEQ_RIGHTSEL)) == (SEQ_LEFTSEL|SEQ_RIGHTSEL)) { @@ -3826,10 +3843,10 @@ static void SeqTransInfo(TransInfo *t, Sequence *seq, int *recursive, int *count if ((seq->type == SEQ_META) && ((seq->flag & (SEQ_LEFTSEL|SEQ_RIGHTSEL)) == 0)) { /* if any handles are selected, don't recurse */ - *recursive = 1; + *recursive = TRUE; } else { - *recursive = 0; + *recursive = FALSE; } } } @@ -3837,23 +3854,23 @@ static void SeqTransInfo(TransInfo *t, Sequence *seq, int *recursive, int *count /* Nested, different rules apply */ #ifdef SEQ_TX_NESTED_METAS - *flag= (seq->flag | SELECT) & ~(SEQ_LEFTSEL|SEQ_RIGHTSEL); - *count= 1; /* ignore the selection for nested */ - *recursive = (seq->type == SEQ_META ); + *flag = (seq->flag | SELECT) & ~(SEQ_LEFTSEL|SEQ_RIGHTSEL); + *count = 1; /* ignore the selection for nested */ + *recursive = (seq->type == SEQ_META); #else if (seq->type == SEQ_META) { /* Meta's can only directly be moved between channels since they * don't have their start and length set directly (children affect that) - * since this Meta is nested we don't need any of its data infact. + * since this Meta is nested we don't need any of its data in fact. * calc_sequence() will update its settings when run on the toplevel meta */ *flag= 0; *count= 0; - *recursive = 1; + *recursive = TRUE; } else { *flag= (seq->flag | SELECT) & ~(SEQ_LEFTSEL|SEQ_RIGHTSEL); *count= 1; /* ignore the selection for nested */ - *recursive = 0; + *recursive = FALSE; } #endif } @@ -4131,9 +4148,9 @@ static void freeSeqData(TransInfo *t) for (seq= seqbasep->first; seq; seq= seq->next) { /* We might want to build a list of effects that need to be updated during transform */ if (seq->type & SEQ_EFFECT) { - if (seq->seq1 && seq->seq1->flag & SELECT) calc_sequence(t->scene, seq); - else if (seq->seq2 && seq->seq2->flag & SELECT) calc_sequence(t->scene, seq); - else if (seq->seq3 && seq->seq3->flag & SELECT) calc_sequence(t->scene, seq); + if (seq->seq1 && seq->seq1->flag & SELECT) calc_sequence(t->scene, seq); + else if (seq->seq2 && seq->seq2->flag & SELECT) calc_sequence(t->scene, seq); + else if (seq->seq3 && seq->seq3->flag & SELECT) calc_sequence(t->scene, seq); } } @@ -4438,7 +4455,7 @@ static void set_trans_object_base_flags(TransInfo *t) if (parsel) { /* rotation around local centers are allowed to propagate */ - if ((t->mode == TFM_ROTATION || t->mode == TFM_TRACKBALL) && t->around == V3D_LOCAL) { + if ((t->mode == TFM_ROTATION || t->mode == TFM_TRACKBALL) && t->around == V3D_LOCAL) { base->flag |= BA_TRANSFORM_CHILD; } else { @@ -4487,7 +4504,7 @@ static int count_proportional_objects(TransInfo *t) Base *base; /* rotations around local centers are allowed to propagate, so we take all objects */ - if (!((t->mode == TFM_ROTATION || t->mode == TFM_TRACKBALL) && t->around == V3D_LOCAL)) { + if (!((t->mode == TFM_ROTATION || t->mode == TFM_TRACKBALL) && t->around == V3D_LOCAL)) { /* mark all parents */ for (base= scene->base.first; base; base= base->next) { if (TESTBASELIB_BGMODE(v3d, scene, base)) { @@ -4599,45 +4616,45 @@ void autokeyframe_ob_cb_func(bContext *C, Scene *scene, View3D *v3d, Object *ob, } } else if (IS_AUTOKEY_FLAG(scene, INSERTNEEDED)) { - short doLoc=0, doRot=0, doScale=0; + short do_loc = FALSE, do_rot = FALSE, do_scale = FALSE; /* filter the conditions when this happens (assume that curarea->spacetype==SPACE_VIE3D) */ if (tmode == TFM_TRANSLATION) { - doLoc = 1; + do_loc = TRUE; } else if (tmode == TFM_ROTATION) { if (v3d->around == V3D_ACTIVE) { if (ob != OBACT) - doLoc = 1; + do_loc = TRUE; } else if (v3d->around == V3D_CURSOR) - doLoc = 1; + do_loc = TRUE; if ((v3d->flag & V3D_ALIGN)==0) - doRot = 1; + do_rot = TRUE; } else if (tmode == TFM_RESIZE) { if (v3d->around == V3D_ACTIVE) { if (ob != OBACT) - doLoc = 1; + do_loc = TRUE; } else if (v3d->around == V3D_CURSOR) - doLoc = 1; + do_loc = TRUE; if ((v3d->flag & V3D_ALIGN)==0) - doScale = 1; + do_scale = TRUE; } /* insert keyframes for the affected sets of channels using the builtin KeyingSets found */ - if (doLoc) { + if (do_loc) { KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_LOCATION_ID); ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, cfra); } - if (doRot) { + if (do_rot) { KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_ROTATION_ID); ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, cfra); } - if (doScale) { + if (do_scale) { KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_SCALING_ID); ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, cfra); } @@ -4720,39 +4737,39 @@ void autokeyframe_pose_cb_func(bContext *C, Scene *scene, View3D *v3d, Object *o } /* only insert keyframe if needed? */ else if (IS_AUTOKEY_FLAG(scene, INSERTNEEDED)) { - short doLoc=0, doRot=0, doScale=0; + short do_loc = FALSE, do_rot = FALSE, do_scale = FALSE; /* filter the conditions when this happens (assume that curarea->spacetype==SPACE_VIE3D) */ if (tmode == TFM_TRANSLATION) { if (targetless_ik) - doRot= 1; + do_rot = TRUE; else - doLoc = 1; + do_loc = TRUE; } else if (tmode == TFM_ROTATION) { if (ELEM(v3d->around, V3D_CURSOR, V3D_ACTIVE)) - doLoc = 1; + do_loc = TRUE; if ((v3d->flag & V3D_ALIGN)==0) - doRot = 1; + do_rot = TRUE; } else if (tmode == TFM_RESIZE) { if (ELEM(v3d->around, V3D_CURSOR, V3D_ACTIVE)) - doLoc = 1; + do_loc = TRUE; if ((v3d->flag & V3D_ALIGN)==0) - doScale = 1; + do_scale = TRUE; } - if (doLoc) { + if (do_loc) { KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_LOCATION_ID); ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, cfra); } - if (doRot) { + if (do_rot) { KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_ROTATION_ID); ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, cfra); } - if (doScale) { + if (do_scale) { KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_SCALING_ID); ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, cfra); } @@ -4844,7 +4861,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t) /* marker transform, not especially nice but we may want to move markers * at the same time as keyframes in the dope sheet. */ if ((sseq->flag & SEQ_MARKER_TRANS) && (canceled == 0)) { - /* cant use , TFM_TIME_EXTEND + /* cant use TFM_TIME_EXTEND * for some reason EXTEND is changed into TRANSLATE, so use frame_side instead */ if (t->mode == TFM_SEQ_SLIDE) { @@ -4859,10 +4876,11 @@ void special_aftertrans_update(bContext *C, TransInfo *t) } else if (t->spacetype == SPACE_NODE) { SpaceNode *snode= (SpaceNode *)t->sa->spacedata.first; - ED_node_update_hierarchy(C, snode->edittree); - - if (canceled == 0) + if (canceled == 0) { + ED_node_post_apply_transform(C, snode->edittree); + ED_node_link_insert(t->sa); + } /* clear link line */ ED_node_link_intersect_test(t->sa, 0); diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index a9179f95d4e..4c8b447cdfd 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -93,6 +93,7 @@ #include "ED_view3d.h" #include "ED_curve.h" /* for curve_editnurbs */ #include "ED_clip.h" +#include "ED_screen.h" //#include "BDR_unwrapper.h" @@ -1038,9 +1039,10 @@ int initTransInfo(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event) if (t->spacetype == SPACE_VIEW3D) { View3D *v3d = sa->spacedata.first; + bScreen *animscreen = ED_screen_animation_playing(CTX_wm_manager(C)); t->view = v3d; - t->animtimer= CTX_wm_screen(C)->animtimer; + t->animtimer= (animscreen)? animscreen->animtimer: NULL; /* turn manipulator off during transform */ // FIXME: but don't do this when USING the manipulator... @@ -1606,7 +1608,7 @@ void calculatePropRatio(TransInfo *t) td->factor = 0.0f; restoreElement(td); } - else if ((connected && (td->flag & TD_NOTCONNECTED || td->dist > t->prop_size)) || + else if ((connected && (td->flag & TD_NOTCONNECTED || td->dist > t->prop_size)) || (connected == 0 && td->rdist > t->prop_size)) { /* diff --git a/source/blender/editors/transform/transform_input.c b/source/blender/editors/transform/transform_input.c index b25c76fe193..9c485e17dc7 100644 --- a/source/blender/editors/transform/transform_input.c +++ b/source/blender/editors/transform/transform_input.c @@ -87,11 +87,11 @@ static void InputSpringFlip(TransInfo *t, MouseInput *mi, const int mval[2], flo /* flip scale */ /* values can become really big when zoomed in so use longs [#26598] */ - if ((long long int)(mi->center[0] - mval[0]) * (long long int)(mi->center[0] - mi->imval[0]) + - (long long int)(mi->center[1] - mval[1]) * (long long int)(mi->center[1] - mi->imval[1]) < 0) - { + if ((long long int)(mi->center[0] - mval[0]) * (long long int)(mi->center[0] - mi->imval[0]) + + (long long int)(mi->center[1] - mval[1]) * (long long int)(mi->center[1] - mi->imval[1]) < 0) + { output[0] *= -1.0f; - } + } } static void InputTrackBall(TransInfo *UNUSED(t), MouseInput *mi, const int mval[2], float output[3]) @@ -206,10 +206,10 @@ static void InputCustomRatio(TransInfo *UNUSED(t), MouseInput *mi, const int mva mdx = mval[0] - data[2]; mdy = mval[1] - data[3]; - distance = (length != 0.0) ? (mdx * dx + mdy * dy) / length: 0.0; + distance = (length != 0.0) ? (mdx * dx + mdy * dy) / length : 0.0; } - output[0] = (length != 0.0) ? (double)(distance / length) : 0.0f; + output[0] = (length != 0.0) ? (double)(distance / length) : 0.0; } } diff --git a/source/blender/editors/transform/transform_manipulator.c b/source/blender/editors/transform/transform_manipulator.c index a869af56537..7d0e9dd6005 100644 --- a/source/blender/editors/transform/transform_manipulator.c +++ b/source/blender/editors/transform/transform_manipulator.c @@ -662,9 +662,9 @@ static void partial_doughnut(float radring, float radhole, int start, int end, i float cos_theta, sin_theta; float cos_theta1, sin_theta1; float ring_delta, side_delta; - int i, j, docaps= 1; + int i, j, do_caps = TRUE; - if (start==0 && end==nrings) docaps= 0; + if (start == 0 && end == nrings) do_caps = FALSE; ring_delta= 2.0f*(float)M_PI/(float)nrings; side_delta= 2.0f*(float)M_PI/(float)nsides; @@ -678,7 +678,7 @@ static void partial_doughnut(float radring, float radhole, int start, int end, i cos_theta1= (float)cos(theta1); sin_theta1= (float)sin(theta1); - if (docaps && i==start) { // cap + if (do_caps && i==start) { // cap glBegin(GL_POLYGON); phi= 0.0; for (j= nsides; j >= 0; j--) { @@ -710,7 +710,7 @@ static void partial_doughnut(float radring, float radhole, int start, int end, i glEnd(); } - if (docaps && i==end) { // cap + if (do_caps && i==end) { // cap glBegin(GL_POLYGON); phi= 0.0; for (j= nsides; j >= 0; j--) { diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c index 164112f206b..6fd8e07d34a 100644 --- a/source/blender/editors/transform/transform_ops.c +++ b/source/blender/editors/transform/transform_ops.c @@ -27,6 +27,7 @@ #include "MEM_guardedalloc.h" +#include "DNA_object_types.h" #include "DNA_scene_types.h" #include "RNA_access.h" @@ -63,6 +64,7 @@ static char OP_TRANSLATION[] = "TRANSFORM_OT_translate"; static char OP_ROTATION[] = "TRANSFORM_OT_rotate"; static char OP_TOSPHERE[] = "TRANSFORM_OT_tosphere"; static char OP_RESIZE[] = "TRANSFORM_OT_resize"; +static char OP_SKIN_RESIZE[] = "TRANSFORM_OT_skin_resize"; static char OP_SHEAR[] = "TRANSFORM_OT_shear"; static char OP_WARP[] = "TRANSFORM_OT_warp"; static char OP_SHRINK_FATTEN[] = "TRANSFORM_OT_shrink_fatten"; @@ -79,6 +81,7 @@ static void TRANSFORM_OT_translate(struct wmOperatorType *ot); static void TRANSFORM_OT_rotate(struct wmOperatorType *ot); static void TRANSFORM_OT_tosphere(struct wmOperatorType *ot); static void TRANSFORM_OT_resize(struct wmOperatorType *ot); +static void TRANSFORM_OT_skin_resize(struct wmOperatorType *ot); static void TRANSFORM_OT_shear(struct wmOperatorType *ot); static void TRANSFORM_OT_warp(struct wmOperatorType *ot); static void TRANSFORM_OT_shrink_fatten(struct wmOperatorType *ot); @@ -97,6 +100,7 @@ static TransformModeItem transform_modes[] = {OP_ROTATION, TFM_ROTATION, TRANSFORM_OT_rotate}, {OP_TOSPHERE, TFM_TOSPHERE, TRANSFORM_OT_tosphere}, {OP_RESIZE, TFM_RESIZE, TRANSFORM_OT_resize}, + {OP_SKIN_RESIZE, TFM_SKIN_RESIZE, TRANSFORM_OT_skin_resize}, {OP_SHEAR, TFM_SHEAR, TRANSFORM_OT_shear}, {OP_WARP, TFM_WARP, TRANSFORM_OT_warp}, {OP_SHRINK_FATTEN, TFM_SHRINKFATTEN, TRANSFORM_OT_shrink_fatten}, @@ -118,6 +122,7 @@ EnumPropertyItem transform_mode_types[] = {TFM_TRANSLATION, "TRANSLATION", 0, "Translation", ""}, {TFM_ROTATION, "ROTATION", 0, "Rotation", ""}, {TFM_RESIZE, "RESIZE", 0, "Resize", ""}, + {TFM_SKIN_RESIZE, "SKIN_RESIZE", 0, "Skin Resize", ""}, {TFM_TOSPHERE, "TOSPHERE", 0, "Tosphere", ""}, {TFM_SHEAR, "SHEAR", 0, "Shear", ""}, {TFM_WARP, "WARP", 0, "Warp", ""}, @@ -542,6 +547,35 @@ static void TRANSFORM_OT_resize(struct wmOperatorType *ot) Transform_Properties(ot, P_CONSTRAINT|P_PROPORTIONAL|P_MIRROR|P_GEO_SNAP|P_OPTIONS); } +static int skin_resize_poll(bContext *C) +{ + struct Object *obedit = CTX_data_edit_object(C); + if (obedit && obedit->type == OB_MESH) { + BMEditMesh *em = BMEdit_FromObject(obedit); + return (em && CustomData_has_layer(&em->bm->vdata, CD_MVERT_SKIN)); + } + return 0; +} + +static void TRANSFORM_OT_skin_resize(struct wmOperatorType *ot) +{ + /* identifiers */ + ot->name = "Skin Resize"; + ot->description = "Scale selected vertices' skin radii"; + ot->idname = OP_SKIN_RESIZE; + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING; + + /* api callbacks */ + ot->invoke = transform_invoke; + ot->exec = transform_exec; + ot->modal = transform_modal; + ot->cancel = transform_cancel; + ot->poll = skin_resize_poll; + + RNA_def_float_vector(ot->srna, "value", 3, VecOne, -FLT_MAX, FLT_MAX, "Vector", "", -FLT_MAX, FLT_MAX); + + Transform_Properties(ot, P_CONSTRAINT|P_PROPORTIONAL|P_MIRROR|P_GEO_SNAP|P_OPTIONS); +} static void TRANSFORM_OT_trackball(struct wmOperatorType *ot) { @@ -901,6 +935,8 @@ void transform_keymap_for_space(wmKeyConfig *keyconf, wmKeyMap *keymap, int spac kmi = WM_keymap_add_item(keymap, OP_RESIZE, TKEY, KM_PRESS, KM_SHIFT|KM_ALT, 0); RNA_boolean_set(kmi->ptr, "texture_space", TRUE); + WM_keymap_add_item(keymap, OP_SKIN_RESIZE, AKEY, KM_PRESS, KM_CTRL, 0); + break; case SPACE_ACTION: kmi = WM_keymap_add_item(keymap, "TRANSFORM_OT_transform", GKEY, KM_PRESS, 0, 0); @@ -944,11 +980,9 @@ void transform_keymap_for_space(wmKeyConfig *keyconf, wmKeyMap *keymap, int spac RNA_enum_set(kmi->ptr, "mode", TFM_TIME_SCALE); break; case SPACE_NODE: - WM_keymap_add_item(keymap, OP_TRANSLATION, GKEY, KM_PRESS, 0, 0); - - kmi = WM_keymap_add_item(keymap, OP_TRANSLATION, EVT_TWEAK_A, KM_ANY, 0, 0); - RNA_boolean_set(kmi->ptr, "release_confirm", TRUE); - kmi = WM_keymap_add_item(keymap, OP_TRANSLATION, EVT_TWEAK_S, KM_ANY, 0, 0); + WM_keymap_add_item(keymap, "NODE_OT_translate_attach", GKEY, KM_PRESS, 0, 0); + WM_keymap_add_item(keymap, "NODE_OT_translate_attach", EVT_TWEAK_A, KM_ANY, 0, 0); + WM_keymap_add_item(keymap, "NODE_OT_translate_attach", EVT_TWEAK_S, KM_ANY, 0, 0); WM_keymap_add_item(keymap, OP_ROTATION, RKEY, KM_PRESS, 0, 0); @@ -956,10 +990,12 @@ void transform_keymap_for_space(wmKeyConfig *keyconf, wmKeyMap *keymap, int spac /* detach and translate */ WM_keymap_add_item(keymap, "NODE_OT_move_detach_links", DKEY, KM_PRESS, KM_ALT, 0); - /* XXX release_confirm is set in the macro operator definition */ WM_keymap_add_item(keymap, "NODE_OT_move_detach_links_release", EVT_TWEAK_A, KM_ANY, KM_ALT, 0); WM_keymap_add_item(keymap, "NODE_OT_move_detach_links", EVT_TWEAK_S, KM_ANY, KM_ALT, 0); + + /* dettach and translate */ + WM_keymap_add_item(keymap, "NODE_OT_detach_translate_attach", FKEY, KM_PRESS, KM_ALT, 0); break; case SPACE_SEQ: WM_keymap_add_item(keymap, OP_SEQ_SLIDE, GKEY, KM_PRESS, 0, 0); diff --git a/source/blender/editors/transform/transform_orientations.c b/source/blender/editors/transform/transform_orientations.c index a8979fa1ab9..e4ba9b94ff7 100644 --- a/source/blender/editors/transform/transform_orientations.c +++ b/source/blender/editors/transform/transform_orientations.c @@ -476,7 +476,7 @@ static int count_bone_select(bArmature *arm, ListBase *lb, int do_it) if (bone->flag & BONE_SELECTED) { bone->flag |= BONE_TRANSFORM; total++; - do_next= 0; // no transform on children if one parent bone is selected + do_next = FALSE; // no transform on children if one parent bone is selected } } } diff --git a/source/blender/editors/transform/transform_snap.c b/source/blender/editors/transform/transform_snap.c index b875886e80a..a04ce1ca213 100644 --- a/source/blender/editors/transform/transform_snap.c +++ b/source/blender/editors/transform/transform_snap.c @@ -323,7 +323,7 @@ void applySnapping(TransInfo *t, float *vec) // Time base quirky code to go around findnearest slowness /* !TODO! add exception for object mode, no need to slow it down then */ - if (current - t->tsnap.last >= 0.01) { + if (current - t->tsnap.last >= 0.01) { t->tsnap.calcSnap(t, vec); t->tsnap.targetSnap(t); @@ -380,8 +380,9 @@ static void initSnappingMode(TransInfo *t) t->tsnap.mode = ts->snap_mode; - if ((t->spacetype == SPACE_VIEW3D || t->spacetype == SPACE_IMAGE) && // Only 3D view or UV - (t->flag & T_CAMERA) == 0) { // Not with camera selected in camera view + if ((t->spacetype == SPACE_VIEW3D || t->spacetype == SPACE_IMAGE) && /* Only 3D view or UV */ + (t->flag & T_CAMERA) == 0) /* Not with camera selected in camera view */ + { setSnappingCallback(t); /* Edit mode */ @@ -689,7 +690,7 @@ static float RotationBetween(TransInfo *t, float p1[3], float p2[3]) if (dot_v3v3(tmp, axis) < 0.0f) angle = -acos(dot_v3v3(start, end)); - else + else angle = acos(dot_v3v3(start, end)); } else { @@ -1066,7 +1067,7 @@ static int snapFace(ARegion *ar, float v1co[3], float v2co[3], float v3co[3], fl project_int(ar, location, screen_loc); new_dist = abs(screen_loc[0] - (int)mval[0]) + abs(screen_loc[1] - (int)mval[1]); - if (new_dist <= *dist && new_depth < *depth) { + if (new_dist <= *dist && new_depth < *depth) { *depth = new_depth; retval = 1; diff --git a/source/blender/editors/util/editmode_undo.c b/source/blender/editors/util/editmode_undo.c index ac0f8306259..18610d57bbd 100644 --- a/source/blender/editors/util/editmode_undo.c +++ b/source/blender/editors/util/editmode_undo.c @@ -129,7 +129,7 @@ void undo_editmode_push(bContext *C, const char *name, /* at first here was code to prevent an "original" key to be inserted twice * this was giving conflicts for example when mesh changed due to keys or apply */ - /* remove all undos after (also when curundo==NULL) */ + /* remove all undos after (also when curundo == NULL) */ while (undobase.last != curundo) { uel = undobase.last; uel->freedata(uel->undodata); @@ -209,19 +209,19 @@ static void undo_clean_stack(bContext *C) uel = undobase.first; while (uel) { void *editdata = uel->getdata(C); - int isvalid = 0; + int is_valid = FALSE; next = uel->next; /* for when objects are converted, renamed, or global undo changes pointers... */ if (uel->type == obedit->type) { if (strcmp(uel->id.name, obedit->id.name) == 0) { if (uel->validate_undo == NULL) - isvalid = 1; + is_valid = TRUE; else if (uel->validate_undo(uel->undodata, editdata)) - isvalid = 1; + is_valid = TRUE; } } - if (isvalid) + if (is_valid) uel->ob = obedit; else { if (uel == curundo) diff --git a/source/blender/editors/util/undo.c b/source/blender/editors/util/undo.c index cd88614f8fe..e7a9ab9ca73 100644 --- a/source/blender/editors/util/undo.c +++ b/source/blender/editors/util/undo.c @@ -165,15 +165,15 @@ static int ed_undo_step(bContext *C, int step, const char *undoname) } } else { - int do_glob_undo = 0; + int do_glob_undo = FALSE; if (obact && obact->mode & OB_MODE_TEXTURE_PAINT) { if (!ED_undo_paint_step(C, UNDO_PAINT_IMAGE, step, undoname)) - do_glob_undo = 1; + do_glob_undo = TRUE; } else if (obact && obact->mode & OB_MODE_SCULPT) { if (!ED_undo_paint_step(C, UNDO_PAINT_MESH, step, undoname)) - do_glob_undo = 1; + do_glob_undo = TRUE; } else if (obact && obact->mode & OB_MODE_PARTICLE_EDIT) { if (step == 1) @@ -182,7 +182,7 @@ static int ed_undo_step(bContext *C, int step, const char *undoname) PE_redo(CTX_data_scene(C)); } else { - do_glob_undo = 1; + do_glob_undo = TRUE; } if (do_glob_undo) { diff --git a/source/blender/editors/uvedit/uvedit_ops.c b/source/blender/editors/uvedit/uvedit_ops.c index a4227d92e27..53331dbe079 100644 --- a/source/blender/editors/uvedit/uvedit_ops.c +++ b/source/blender/editors/uvedit/uvedit_ops.c @@ -2490,7 +2490,8 @@ static int border_select_exec(bContext *C, wmOperator *op) } else if (pinned) { if ((luv->flag & MLOOPUV_PINNED) && - BLI_in_rctf(&rectf, luv->uv[0], luv->uv[1])) { + BLI_in_rctf(&rectf, luv->uv[0], luv->uv[1])) + { if (select) uvedit_uv_select_enable(em, scene, l, FALSE); else uvedit_uv_select_disable(em, scene, l); } diff --git a/source/blender/editors/uvedit/uvedit_parametrizer.c b/source/blender/editors/uvedit/uvedit_parametrizer.c index 4a6de737e7a..4c0e96426e7 100644 --- a/source/blender/editors/uvedit/uvedit_parametrizer.c +++ b/source/blender/editors/uvedit/uvedit_parametrizer.c @@ -3596,7 +3596,7 @@ typedef struct SmoothNode { int axis, ntri; } SmoothNode; -static void p_barycentric_2d(float *v1, float *v2, float *v3, float *p, float *b) +static void p_barycentric_2d(const float v1[2], const float v2[2], const float v3[2], float p[2], float b[2]) { float a[2], c[2], h[2], div; diff --git a/source/blender/editors/uvedit/uvedit_smart_stitch.c b/source/blender/editors/uvedit/uvedit_smart_stitch.c index b30821dc56a..43f3e81ae92 100644 --- a/source/blender/editors/uvedit/uvedit_smart_stitch.c +++ b/source/blender/editors/uvedit/uvedit_smart_stitch.c @@ -319,7 +319,7 @@ static void stitch_calculate_island_snapping(StitchState *state, PreviewPosition int i; UvElement *element; - for (i = 0; i < state->element_map->totalIslands; i++) { + for (i = 0; i < state->element_map->totalIslands; i++) { if (island_stitch_data[i].addedForPreview) { int numOfIslandUVs = 0, j; @@ -649,7 +649,7 @@ static int stitch_process_data(StitchState *state, Scene *scene, int final) * Setup preview for stitchable islands * *****************************************/ if (state->snap_islands) { - for (i = 0; i < state->element_map->totalIslands; i++) { + for (i = 0; i < state->element_map->totalIslands; i++) { if (island_stitch_data[i].addedForPreview) { int numOfIslandUVs = 0, j; UvElement *element; @@ -827,7 +827,7 @@ static int stitch_process_data(StitchState *state, Scene *scene, int final) UvEdge *edge = state->edges + i; if ((state->uvs[edge->uv1]->flag & STITCH_STITCHABLE) && (state->uvs[edge->uv2]->flag & STITCH_STITCHABLE)) { stitch_island_calculate_edge_rotation(edge, state, final_position, uvfinal_map, island_stitch_data); - island_stitch_data[state->uvs[edge->uv1]->island].use_edge_rotation = 1; + island_stitch_data[state->uvs[edge->uv1]->island].use_edge_rotation = TRUE; } } diff --git a/source/blender/gpu/intern/gpu_buffers.c b/source/blender/gpu/intern/gpu_buffers.c index 833aefc20aa..f09310e53c7 100644 --- a/source/blender/gpu/intern/gpu_buffers.c +++ b/source/blender/gpu/intern/gpu_buffers.c @@ -102,7 +102,7 @@ static GPUBufferPool *gpu_buffer_pool_new(void) if (useVBOs == -1) useVBOs = (GLEW_ARB_vertex_buffer_object ? 1 : 0); - pool = MEM_callocN(sizeof(GPUBufferPool), "GPUBuffer"); + pool = MEM_callocN(sizeof(GPUBufferPool), "GPUBuffer_Pool"); pool->maxsize = MAX_FREE_GPU_BUFFERS; pool->buffers = MEM_callocN(sizeof(GPUBuffer *) * pool->maxsize, @@ -192,6 +192,12 @@ GPUBuffer *GPU_buffer_alloc(int size) GPUBuffer *buf; int i, bufsize, bestfit = -1; + /* bad case, leads to leak of buf since buf->pointer will allocate + * NULL, leading to return without cleanup. In any case better detect early + * psy-fi */ + if (size == 0) + return NULL; + pool = gpu_get_global_buffer_pool(); /* not sure if this buffer pool code has been profiled much, diff --git a/source/blender/gpu/intern/gpu_codegen.c b/source/blender/gpu/intern/gpu_codegen.c index 6a2c3eee7a5..a88a075383d 100644 --- a/source/blender/gpu/intern/gpu_codegen.c +++ b/source/blender/gpu/intern/gpu_codegen.c @@ -387,7 +387,8 @@ static void codegen_set_unique_ids(ListBase *nodes) /* set texid used for settings texture slot with multitexture */ if (codegen_input_has_texture(input) && - ((input->source == GPU_SOURCE_TEX) || (input->source == GPU_SOURCE_TEX_PIXEL))) { + ((input->source == GPU_SOURCE_TEX) || (input->source == GPU_SOURCE_TEX_PIXEL))) + { if (input->link) { /* input is texture from buffer, assign only one texid per * buffer to avoid sampling the same texture twice */ diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c index ebfedea3968..7ae4aa550f9 100644 --- a/source/blender/gpu/intern/gpu_draw.c +++ b/source/blender/gpu/intern/gpu_draw.c @@ -449,8 +449,8 @@ int GPU_verify_image(Image *ima, ImageUser *iuser, int tftile, int compare, int /* if tiling mode or repeat changed, change texture matrix to fit */ if (GTS.tilemode!=GTS.curtilemode || GTS.curtileXRep!=GTS.tileXRep || - GTS.curtileYRep != GTS.tileYRep) { - + GTS.curtileYRep != GTS.tileYRep) + { glMatrixMode(GL_TEXTURE); glLoadIdentity(); @@ -766,8 +766,9 @@ void GPU_paint_update_image(Image *ima, int x, int y, int w, int h, int mipmap) ibuf = BKE_image_get_ibuf(ima, NULL); if (ima->repbind || (gpu_get_mipmap() && mipmap) || !ima->bindcode || !ibuf || - (!is_power_of_2_i(ibuf->x) || !is_power_of_2_i(ibuf->y)) || - (w == 0) || (h == 0)) { + (!is_power_of_2_i(ibuf->x) || !is_power_of_2_i(ibuf->y)) || + (w == 0) || (h == 0)) + { /* these cases require full reload still */ GPU_free_image(ima); } @@ -1016,6 +1017,8 @@ static struct GPUMaterialState { float (*gviewmat)[4]; float (*gviewinv)[4]; + int backface_culling; + GPUBlendMode *alphablend; GPUBlendMode alphablend_fixed[FIXEDMAT]; int use_alpha_pass, is_alpha_pass; @@ -1084,6 +1087,8 @@ void GPU_begin_object_materials(View3D *v3d, RegionView3D *rv3d, Scene *scene, O GMS.lastretval = -1; GMS.lastalphablend = GPU_BLEND_SOLID; + GMS.backface_culling = (v3d->flag2 & V3D_BACKFACE_CULLING); + GMS.gob = ob; GMS.gscene = scene; GMS.totmat= ob->totcol+1; /* materials start from 1, default material is 0 */ @@ -1099,7 +1104,7 @@ void GPU_begin_object_materials(View3D *v3d, RegionView3D *rv3d, Scene *scene, O GMS.use_alpha_pass = (do_alpha_after != NULL); GMS.is_alpha_pass = (v3d && v3d->transp); if (GMS.use_alpha_pass) - *do_alpha_after = 0; + *do_alpha_after = FALSE; if (GMS.totmat > FIXEDMAT) { GMS.matbuf= MEM_callocN(sizeof(GPUMaterialFixed)*GMS.totmat, "GMS.matbuf"); @@ -1156,11 +1161,11 @@ void GPU_begin_object_materials(View3D *v3d, RegionView3D *rv3d, Scene *scene, O } } - /* setting do_alpha_after = 1 indicates this object needs to be + /* setting 'do_alpha_after = TRUE' indicates this object needs to be * drawn in a second alpha pass for improved blending */ if (do_alpha_after && !GMS.is_alpha_pass) if (ELEM3(alphablend, GPU_BLEND_ALPHA, GPU_BLEND_ADD, GPU_BLEND_ALPHA_SORT)) - *do_alpha_after= 1; + *do_alpha_after = TRUE; GMS.alphablend[a]= alphablend; } @@ -1247,6 +1252,13 @@ int GPU_enable_material(int nr, void *attribs) alphablend= mat->game.alpha_blend; if (GMS.is_alpha_pass) glDepthMask(1); + + if (GMS.backface_culling) { + if (mat->game.flag) + glEnable(GL_CULL_FACE); + else + glDisable(GL_CULL_FACE); + } } else { /* or do fixed function opengl material */ @@ -1282,6 +1294,9 @@ void GPU_disable_material(void) GMS.lastretval= 1; if (GMS.gboundmat) { + if (GMS.backface_culling) + glDisable(GL_CULL_FACE); + if (GMS.is_alpha_pass) glDepthMask(0); GPU_material_unbind(GPU_material_from_blender(GMS.gscene, GMS.gboundmat)); GMS.gboundmat= NULL; diff --git a/source/blender/gpu/intern/gpu_extensions.c b/source/blender/gpu/intern/gpu_extensions.c index f4d5812ffb7..4974d57d64c 100644 --- a/source/blender/gpu/intern/gpu_extensions.c +++ b/source/blender/gpu/intern/gpu_extensions.c @@ -1074,8 +1074,9 @@ GPUShader *GPU_shader_create(const char *vertexcode, const char *fragcode, /*GPU shader->object = glCreateProgramObjectARB(); if (!shader->object || - (vertexcode && !shader->vertex) || - (fragcode && !shader->fragment)) { + (vertexcode && !shader->vertex) || + (fragcode && !shader->fragment)) + { fprintf(stderr, "GPUShader, object creation failed.\n"); GPU_shader_free(shader); return NULL; diff --git a/source/blender/gpu/intern/gpu_material.c b/source/blender/gpu/intern/gpu_material.c index f75c1576fb9..31008ff8685 100644 --- a/source/blender/gpu/intern/gpu_material.c +++ b/source/blender/gpu/intern/gpu_material.c @@ -539,7 +539,8 @@ static void add_to_diffuse(GPUMaterial *mat, Material *ma, GPUShadeInput *shi, G GPUNodeLink *fac, *tmp, *addcol; if (!(mat->scene->gm.flag & GAME_GLSL_NO_RAMPS) && - ma->ramp_col && (ma->mode & MA_RAMP_COL)) { + ma->ramp_col && (ma->mode & MA_RAMP_COL)) + { /* MA_RAMP_IN_RESULT is exceptional */ if (ma->rampin_col==MA_RAMP_IN_RESULT) { addcol = shi->rgb; @@ -579,7 +580,8 @@ static void ramp_spec_result(GPUShadeInput *shi, GPUNodeLink **spec) GPUNodeLink *fac; if (!(mat->scene->gm.flag & GAME_GLSL_NO_RAMPS) && - ma->ramp_spec && ma->rampin_spec==MA_RAMP_IN_RESULT) { + ma->ramp_spec && ma->rampin_spec==MA_RAMP_IN_RESULT) + { GPU_link(mat, "ramp_rgbtobw", *spec, &fac); /* colorband + blend */ @@ -706,7 +708,7 @@ static void shade_one_light(GPUShadeInput *shi, GPUShadeResult *shr, GPULamp *la i = is; GPU_link(mat, "shade_visifac", i, visifac, shi->refl, &i); - GPU_link(mat, "shade_mul_value", i, GPU_dynamic_uniform(lamp->dyncol, GPU_DYNAMIC_LAMP_DYNCOL, lamp->ob), &lcol); + GPU_link(mat, "set_value", GPU_dynamic_uniform(lamp->dyncol, GPU_DYNAMIC_LAMP_DYNCOL, lamp->ob), &lcol); shade_light_textures(mat, lamp, &lcol); #if 0 @@ -727,7 +729,8 @@ static void shade_one_light(GPUShadeInput *shi, GPUShadeResult *shr, GPULamp *la GPU_dynamic_texture(lamp->tex, GPU_DYNAMIC_SAMPLER_2DSHADOW, lamp->ob), GPU_dynamic_uniform((float*)lamp->dynpersmat, GPU_DYNAMIC_LAMP_DYNPERSMAT, lamp->ob), GPU_uniform(&lamp->bias), GPU_uniform(&lamp->la->bleedbias), inp, &shadfac); - } else { + } + else { GPU_link(mat, "test_shadowbuf", GPU_builtin(GPU_VIEW_POSITION), GPU_dynamic_texture(lamp->tex, GPU_DYNAMIC_SAMPLER_2DSHADOW, lamp->ob), @@ -775,7 +778,8 @@ static void shade_one_light(GPUShadeInput *shi, GPUShadeResult *shr, GPULamp *la if (mat->scene->gm.flag & GAME_GLSL_NO_SHADERS); else if (!(lamp->mode & LA_NO_SPEC) && !(lamp->mode & LA_ONLYSHADOW) && - (GPU_link_changed(shi->spec) || ma->spec != 0.0f)) { + (GPU_link_changed(shi->spec) || ma->spec != 0.0f)) + { if (lamp->type == LA_HEMI) { GPU_link(mat, "shade_hemi_spec", vn, lv, view, GPU_uniform(&ma->spec), shi->har, visifac, &t); GPU_link(mat, "shade_add_spec", t, lcol, shi->specrgb, &outcol); @@ -952,7 +956,7 @@ static void do_material_tex(GPUShadeInput *shi) /*char *lastuvname = NULL;*/ /*UNUSED*/ float one = 1.0f, norfac, ofs[3]; int tex_nr, rgbnor, talpha; - int init_done = 0, iBumpSpacePrev = 0; /* Not necessary, quiting gcc warning. */ + int init_done = FALSE, iBumpSpacePrev = 0; /* Not necessary, quiting gcc warning. */ GPUNodeLink *vNorg, *vNacc, *fPrevMagnitude; int iFirstTimeNMap=1; int found_deriv_map = 0; @@ -1184,7 +1188,7 @@ static void do_material_tex(GPUShadeInput *shi) // copy shi->vn to vNorg and vNacc, set magnitude to 1 GPU_link(mat, "mtex_bump_normals_init", shi->vn, &vNorg, &vNacc, &fPrevMagnitude); iBumpSpacePrev = 0; - init_done = 1; + init_done = TRUE; } // find current bump space diff --git a/source/blender/gpu/shaders/gpu_shader_material.glsl b/source/blender/gpu/shaders/gpu_shader_material.glsl index 7e4312e21e0..65c0bcb3c63 100644 --- a/source/blender/gpu/shaders/gpu_shader_material.glsl +++ b/source/blender/gpu/shaders/gpu_shader_material.glsl @@ -2206,6 +2206,15 @@ void node_light_falloff(float strength, float tsmooth, out float quadratic, out constant = strength; } +void node_object_info(out vec3 location, out float object_index, out float material_index, out float random) +{ + location = vec3(0.0); + object_index = 0.0; + material_index = 0.0; + random = 0.0; +} + + /* output */ void node_output_material(vec4 surface, vec4 volume, float displacement, out vec4 result) diff --git a/source/blender/gpu/shaders/gpu_shader_material.glsl.c b/source/blender/gpu/shaders/gpu_shader_material.glsl.c index 91b2b13ea1a..99fb18a98ec 100644 --- a/source/blender/gpu/shaders/gpu_shader_material.glsl.c +++ b/source/blender/gpu/shaders/gpu_shader_material.glsl.c @@ -1,1598 +1,1604 @@ /* DataToC output of file <gpu_shader_material_glsl> */ -int datatoc_gpu_shader_material_glsl_size = 51015; +int datatoc_gpu_shader_material_glsl_size = 51212; char datatoc_gpu_shader_material_glsl[] = { - 10,102,108,111, 97,116, 32, -101,120,112, 95, 98,108,101,110,100,101,114, 40,102,108,111, 97,116, 32,102, 41, 10,123, 10, 9,114,101,116,117,114,110, 32,112, -111,119, 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 50, 56, 52, 54, 44, 32,102, 41, 59, 10,125, 10, 10,118,111,105,100, 32,114,103, - 98, 95,116,111, 95,104,115,118, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99, -111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, 99,109, 97,120, 44, 32, 99,109,105,110, 44, 32,104, 44, 32,115, 44, 32,118, - 44, 32, 99,100,101,108,116, 97, 59, 10, 9,118,101, 99, 51, 32, 99, 59, 10, 10, 9, 99,109, 97,120, 32, 61, 32,109, 97,120, 40, -114,103, 98, 91, 48, 93, 44, 32,109, 97,120, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41, 59, 10, 9, 99, -109,105,110, 32, 61, 32,109,105,110, 40,114,103, 98, 91, 48, 93, 44, 32,109,105,110, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, - 98, 91, 50, 93, 41, 41, 59, 10, 9, 99,100,101,108,116, 97, 32, 61, 32, 99,109, 97,120, 45, 99,109,105,110, 59, 10, 10, 9,118, - 32, 61, 32, 99,109, 97,120, 59, 10, 9,105,102, 32, 40, 99,109, 97,120, 33, 61, 48, 46, 48, 41, 10, 9, 9,115, 32, 61, 32, 99, -100,101,108,116, 97, 47, 99,109, 97,120, 59, 10, 9,101,108,115,101, 32,123, 10, 9, 9,115, 32, 61, 32, 48, 46, 48, 59, 10, 9, - 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 10, 9,105,102, 32, 40,115, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, - 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9, 99, 32, 61, 32, 40,118,101, 99, 51, - 40, 99,109, 97,120, 44, 32, 99,109, 97,120, 44, 32, 99,109, 97,120, 41, 32, 45, 32,114,103, 98, 46,120,121,122, 41, 47, 99,100, -101,108,116, 97, 59, 10, 10, 9, 9,105,102, 32, 40,114,103, 98, 46,120, 61, 61, 99,109, 97,120, 41, 32,104, 32, 61, 32, 99, 91, - 50, 93, 32, 45, 32, 99, 91, 49, 93, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,114,103, 98, 46,121, 61, 61, 99,109, 97, -120, 41, 32,104, 32, 61, 32, 50, 46, 48, 32, 43, 32, 99, 91, 48, 93, 32, 45, 32, 32, 99, 91, 50, 93, 59, 10, 9, 9,101,108,115, -101, 32,104, 32, 61, 32, 52, 46, 48, 32, 43, 32, 99, 91, 49, 93, 32, 45, 32, 99, 91, 48, 93, 59, 10, 10, 9, 9,104, 32, 47, 61, - 32, 54, 46, 48, 59, 10, 10, 9, 9,105,102, 32, 40,104, 60, 48, 46, 48, 41, 10, 9, 9, 9,104, 32, 43, 61, 32, 49, 46, 48, 59, - 10, 9,125, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,104, 44, 32,115, 44, 32,118, 44, 32,114,103, 98, - 46,119, 41, 59, 10,125, 10, 10,118,111,105,100, 32,104,115,118, 95,116,111, 95,114,103, 98, 40,118,101, 99, 52, 32,104,115,118, - 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,105, 44, 32,102, - 44, 32,112, 44, 32,113, 44, 32,116, 44, 32,104, 44, 32,115, 44, 32,118, 59, 10, 9,118,101, 99, 51, 32,114,103, 98, 59, 10, 10, - 9,104, 32, 61, 32,104,115,118, 91, 48, 93, 59, 10, 9,115, 32, 61, 32,104,115,118, 91, 49, 93, 59, 10, 9,118, 32, 61, 32,104, -115,118, 91, 50, 93, 59, 10, 10, 9,105,102, 40,115, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 32, 61, 32,118,101, - 99, 51, 40,118, 44, 32,118, 44, 32,118, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,104, 61, 61, - 49, 46, 48, 41, 10, 9, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9, 10, 9, 9,104, 32, 42, 61, 32, 54, 46, 48, 59, 10, - 9, 9,105, 32, 61, 32,102,108,111,111,114, 40,104, 41, 59, 10, 9, 9,102, 32, 61, 32,104, 32, 45, 32,105, 59, 10, 9, 9,114, -103, 98, 32, 61, 32,118,101, 99, 51, 40,102, 44, 32,102, 44, 32,102, 41, 59, 10, 9, 9,112, 32, 61, 32,118, 42, 40, 49, 46, 48, - 45,115, 41, 59, 10, 9, 9,113, 32, 61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42,102, 41, 41, 59, 10, 9, 9,116, 32, 61, 32, -118, 42, 40, 49, 46, 48, 45, 40,115, 42, 40, 49, 46, 48, 45,102, 41, 41, 41, 59, 10, 9, 9, 10, 9, 9,105,102, 32, 40,105, 32, - 61, 61, 32, 48, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,116, 44, 32,112, 41, 59, 10, 9, 9,101, -108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 49, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,113, 44, 32, -118, 44, 32,112, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 50, 46, 48, 41, 32,114,103, 98, 32, - 61, 32,118,101, 99, 51, 40,112, 44, 32,118, 44, 32,116, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, - 32, 51, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,112, 44, 32,113, 44, 32,118, 41, 59, 10, 9, 9,101,108,115, -101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 52, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,116, 44, 32,112, 44, - 32,118, 41, 59, 10, 9, 9,101,108,115,101, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,112, 44, 32,113, 41, 59, - 10, 9,125, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 44, 32,104,115,118, 46,119, 41, 59, - 10,125, 10, 10,102,108,111, 97,116, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,102,108,111, 97, -116, 32, 99, 41, 10,123, 10, 9,105,102, 40, 99, 32, 60, 32, 48, 46, 48, 52, 48, 52, 53, 41, 10, 9, 9,114,101,116,117,114,110, - 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 40, 49, 46, 48, 47, 49, 50, 46, 57, 50, 41, - 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116,117,114,110, 32,112,111,119, 40, 40, 99, 32, 43, 32, 48, 46, 48, 53, 53, 41, - 42, 40, 49, 46, 48, 47, 49, 46, 48, 53, 53, 41, 44, 32, 50, 46, 52, 41, 59, 10,125, 10, 10,102,108,111, 97,116, 32,108,105,110, -101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40,102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9,105,102, 40, 99, 32, - 60, 32, 48, 46, 48, 48, 51, 49, 51, 48, 56, 41, 10, 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63, - 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 49, 50, 46, 57, 50, 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116,117,114,110, 32, - 49, 46, 48, 53, 53, 32, 42, 32,112,111,119, 40, 99, 44, 32, 49, 46, 48, 47, 50, 46, 52, 41, 32, 45, 32, 48, 46, 48, 53, 53, 59, - 10,125, 10, 10,118,111,105,100, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,118,101, 99, 52, 32, - 99,111,108, 95,102,114,111,109, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111, -108, 95,116,111, 46,114, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102, -114,111,109, 46,114, 41, 59, 10, 9, 99,111,108, 95,116,111, 46,103, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, - 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,115, -114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99, -111,108, 95,116,111, 46, 97, 32, 61, 32, 99,111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,108,105, -110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102,114,111,109, 44, 32,111, -117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46,114, 32, 61, 32,108,105, -110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, 41, 59, 10, 9, 99,111, -108, 95,116,111, 46,103, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102, -114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, - 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 97, 32, 61, 32, 99, -111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10, 35,100,101,102,105,110,101, 32, 77, 95, 80, 73, 32, 51, 46, 49, 52, 49, - 53, 57, 50, 54, 53, 51, 53, 56, 57, 55, 57, 51, 50, 51, 56, 52, 54, 10, 35,100,101,102,105,110,101, 32, 77, 95, 49, 95, 80, 73, - 32, 48, 46, 51, 49, 56, 51, 48, 57, 56, 56, 54, 49, 56, 51, 55, 57, 48, 54, 57, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 32, 83, 72, 65, 68, 69, 82, 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, - 10, 10,118,111,105,100, 32,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 52, 32, 97,116,116,118, 99, -111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 41, 10,123, 10, 9,118, 99,111,108, 32, 61, 32,118,101, 99, - 52, 40, 97,116,116,118, 99,111,108, 46,120, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46,121, 47, 50, 53, 53, - 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46,122, 47, 50, 53, 53, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111, -105,100, 32,117,118, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,111,117,116, 32, -118,101, 99, 51, 32,117,118, 41, 10,123, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, - 45, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -103,101,111,109, 40,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,109, 97,116, 52, 32,118,105,101, -119,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,118,101, 99, 50, 32, 97,116,116,117, -118, 44, 32,118,101, 99, 52, 32, 97,116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, - 44, 32,111,117,116, 32,118,101, 99, 51, 32,108,111, 99, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,105,101,119, 44, - 32,111,117,116, 32,118,101, 99, 51, 32,111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 44, 32,111,117,116, - 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,118, 99,111,108, 95, 97,108,112,104, 97, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102,114,111, -110,116, 98, 97, 99,107, 41, 10,123, 10, 9,108,111, 99, 97,108, 32, 61, 32, 99,111, 59, 10, 9,118,105,101,119, 32, 61, 32,110, -111,114,109, 97,108,105,122,101, 40,108,111, 99, 97,108, 41, 59, 10, 9,103,108,111, 98, 97,108, 32, 61, 32, 40,118,105,101,119, -105,110,118,109, 97,116, 42,118,101, 99, 52, 40,108,111, 99, 97,108, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,111, -114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10, 9,117,118, 95, 97,116,116,114,105, 98,117,116,101, 40, 97,116,116, -117,118, 44, 32,117,118, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,111, -114, 41, 59, 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32, -110,101,103, 97,116,101,100, 32, 42, 47, 10, 9,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,101, 40, 97,116,116,118, 99, -111,108, 44, 32,118, 99,111,108, 41, 59, 10, 9,118, 99,111,108, 95, 97,108,112,104, 97, 32, 61, 32, 97,116,116,118, 99,111,108, - 46, 97, 59, 10, 9,102,114,111,110,116, 98, 97, 99,107, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97, -112,112,105,110,103, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,109, 97,116, 52, 32,109, 97,116, 44, 32,118,101, 99, 51, 32,109, -105,110,118,101, 99, 44, 32,118,101, 99, 51, 32,109, 97,120,118,101, 99, 44, 32,102,108,111, 97,116, 32,100,111,109,105,110, 44, - 32,102,108,111, 97,116, 32,100,111,109, 97,120, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, - 10, 9,111,117,116,118,101, 99, 32, 61, 32, 40,109, 97,116, 32, 42, 32,118,101, 99, 52, 40,118,101, 99, 44, 32, 49, 46, 48, 41, - 41, 46,120,121,122, 59, 10, 9,105,102, 40,100,111,109,105,110, 32, 61, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, - 99, 32, 61, 32,109, 97,120, 40,111,117,116,118,101, 99, 44, 32,109,105,110,118,101, 99, 41, 59, 10, 9,105,102, 40,100,111,109, - 97,120, 32, 61, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32,109,105,110, 40,111,117,116,118,101, 99, - 44, 32,109, 97,120,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32, 99, 97,109,101,114, 97, 40,118,101, 99, 51, 32, 99, -111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,105,101,119, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111, -117,116,100,101,112,116,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,105,115,116, 41, 10,123, 10, 9,111, -117,116,100,101,112,116,104, 32, 61, 32, 97, 98,115, 40, 99,111, 46,122, 41, 59, 10, 9,111,117,116,100,105,115,116, 32, 61, 32, -108,101,110,103,116,104, 40, 99,111, 41, 59, 10, 9,111,117,116,118,105,101,119, 32, 61, 32,110,111,114,109, 97,108,105,122,101, - 40, 99,111, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,100,100, 40,102,108,111, 97,116, 32,118, 97,108, - 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, - 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 43, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105, -100, 32,109, 97,116,104, 95,115,117, 98,116,114, 97, 99,116, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97, -116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116, -118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 45, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, -109,117,108,116,105,112,108,121, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, - 97,108, 49, 32, 42, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,100,105,118,105,100,101, 40, -102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97, -116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 50, 32, 61, 61, 32, 48, 46, 48, 41, 10, 9, 9, -111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32,118, - 97,108, 49, 32, 47, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,115,105,110,101, 40,102,108, -111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117, -116,118, 97,108, 32, 61, 32,115,105,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 99,111, -115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, - 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,115, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -109, 97,116,104, 95,116, 97,110,103,101,110,116, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97, -116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,116, 97,110, 40,118, 97,108, 41, 59, 10, -125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,115,105,110, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 32, 60, 61, 32, 49, 46, 48, - 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 97,115,105,110, - 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10, -118,111,105,100, 32,109, 97,116,104, 95, 97, 99,111,115, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, - 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 97, 99,111,115, 40,118, 97, -108, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105, -100, 32,109, 97,116,104, 95, 97,116, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, - 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 97,116, 97,110, 40,118, 97,108, 41, 59, 10, -125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,112,111,119, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, - 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, - 32, 40,118, 97,108, 49, 32, 62, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32,112,111,119, 40,118, 97, -108, 49, 44, 32,118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, - 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,108,111,103, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108, -111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105, -102, 40,118, 97,108, 49, 32, 62, 32, 48, 46, 48, 32, 32, 38, 38, 32,118, 97,108, 50, 32, 62, 32, 48, 46, 48, 41, 10, 9, 9,111, -117,116,118, 97,108, 61, 32,108,111,103, 50, 40,118, 97,108, 49, 41, 32, 47, 32,108,111,103, 50, 40,118, 97,108, 50, 41, 59, 10, - 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116, -104, 95,109, 97,120, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117, -116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,109, 97,120, 40, -118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109,105,110, 40,102,108, -111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, -111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,109,105,110, 40,118, 97,108, 49, 44, 32,118, 97, -108, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,114,111,117,110,100, 40,102,108,111, 97,116, 32,118, 97, -108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 61, 32, -102,108,111,111,114, 40,118, 97,108, 32, 43, 32, 48, 46, 53, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,108, -101,115,115, 95,116,104, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 60, 32, -118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117, -116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,103,114,101, 97,116,101,114, - 95,116,104, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117, -116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 62, 32,118, 97,108, - 50, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97, -108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,113,117,101,101,122,101, 40,102,108,111, 97,116, 32,118, - 97,108, 44, 32,102,108,111, 97,116, 32,119,105,100,116,104, 44, 32,102,108,111, 97,116, 32, 99,101,110,116,101,114, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, - 47, 40, 49, 46, 48, 32, 43, 32,112,111,119, 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 51, 44, 32, 45, 40, 40,118, 97,108, 45, 99, -101,110,116,101,114, 41, 42,119,105,100,116,104, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116, -104, 95, 97,100,100, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, - 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117, -116,118,101, 99, 32, 61, 32,118, 49, 32, 43, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 97, 98,115, 40,111, -117,116,118,101, 99, 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49, 93, 41, 32, 43, 32, 97, 98,115, - 40,111,117,116,118,101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97, -116,104, 95,115,117, 98, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, - 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111, -117,116,118,101, 99, 32, 61, 32,118, 49, 32, 45, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 97, 98,115, 40, -111,117,116,118,101, 99, 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49, 93, 41, 32, 43, 32, 97, 98, -115, 40,111,117,116,118,101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, - 97,116,104, 95, 97,118,101,114, 97,103,101, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117, -116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, - 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 43, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32, -108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10, 9,111,117,116,118,101, 99, 32, 61, 32,110,111,114,109, 97,108, -105,122,101, 40,111,117,116,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,100,111, -116, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, + 10,102,108,111, 97,116, 32,101,120,112, 95, 98, +108,101,110,100,101,114, 40,102,108,111, 97,116, 32,102, 41, 10,123, 10, 9,114,101,116,117,114,110, 32,112,111,119, 40, 50, 46, + 55, 49, 56, 50, 56, 49, 56, 50, 56, 52, 54, 44, 32,102, 41, 59, 10,125, 10, 10,118,111,105,100, 32,114,103, 98, 95,116,111, 95, +104,115,118, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, + 10, 9,102,108,111, 97,116, 32, 99,109, 97,120, 44, 32, 99,109,105,110, 44, 32,104, 44, 32,115, 44, 32,118, 44, 32, 99,100,101, +108,116, 97, 59, 10, 9,118,101, 99, 51, 32, 99, 59, 10, 10, 9, 99,109, 97,120, 32, 61, 32,109, 97,120, 40,114,103, 98, 91, 48, + 93, 44, 32,109, 97,120, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41, 59, 10, 9, 99,109,105,110, 32, 61, + 32,109,105,110, 40,114,103, 98, 91, 48, 93, 44, 32,109,105,110, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, + 41, 59, 10, 9, 99,100,101,108,116, 97, 32, 61, 32, 99,109, 97,120, 45, 99,109,105,110, 59, 10, 10, 9,118, 32, 61, 32, 99,109, + 97,120, 59, 10, 9,105,102, 32, 40, 99,109, 97,120, 33, 61, 48, 46, 48, 41, 10, 9, 9,115, 32, 61, 32, 99,100,101,108,116, 97, + 47, 99,109, 97,120, 59, 10, 9,101,108,115,101, 32,123, 10, 9, 9,115, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,104, 32, 61, 32, + 48, 46, 48, 59, 10, 9,125, 10, 10, 9,105,102, 32, 40,115, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,104, 32, 61, 32, + 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9, 99, 32, 61, 32, 40,118,101, 99, 51, 40, 99,109, 97,120, + 44, 32, 99,109, 97,120, 44, 32, 99,109, 97,120, 41, 32, 45, 32,114,103, 98, 46,120,121,122, 41, 47, 99,100,101,108,116, 97, 59, + 10, 10, 9, 9,105,102, 32, 40,114,103, 98, 46,120, 61, 61, 99,109, 97,120, 41, 32,104, 32, 61, 32, 99, 91, 50, 93, 32, 45, 32, + 99, 91, 49, 93, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,114,103, 98, 46,121, 61, 61, 99,109, 97,120, 41, 32,104, 32, + 61, 32, 50, 46, 48, 32, 43, 32, 99, 91, 48, 93, 32, 45, 32, 32, 99, 91, 50, 93, 59, 10, 9, 9,101,108,115,101, 32,104, 32, 61, + 32, 52, 46, 48, 32, 43, 32, 99, 91, 49, 93, 32, 45, 32, 99, 91, 48, 93, 59, 10, 10, 9, 9,104, 32, 47, 61, 32, 54, 46, 48, 59, + 10, 10, 9, 9,105,102, 32, 40,104, 60, 48, 46, 48, 41, 10, 9, 9, 9,104, 32, 43, 61, 32, 49, 46, 48, 59, 10, 9,125, 10, 10, + 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,104, 44, 32,115, 44, 32,118, 44, 32,114,103, 98, 46,119, 41, 59, 10, +125, 10, 10,118,111,105,100, 32,104,115,118, 95,116,111, 95,114,103, 98, 40,118,101, 99, 52, 32,104,115,118, 44, 32,111,117,116, + 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,105, 44, 32,102, 44, 32,112, 44, 32, +113, 44, 32,116, 44, 32,104, 44, 32,115, 44, 32,118, 59, 10, 9,118,101, 99, 51, 32,114,103, 98, 59, 10, 10, 9,104, 32, 61, 32, +104,115,118, 91, 48, 93, 59, 10, 9,115, 32, 61, 32,104,115,118, 91, 49, 93, 59, 10, 9,118, 32, 61, 32,104,115,118, 91, 50, 93, + 59, 10, 10, 9,105,102, 40,115, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, + 32,118, 44, 32,118, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,104, 61, 61, 49, 46, 48, 41, 10, + 9, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9, 10, 9, 9,104, 32, 42, 61, 32, 54, 46, 48, 59, 10, 9, 9,105, 32, 61, + 32,102,108,111,111,114, 40,104, 41, 59, 10, 9, 9,102, 32, 61, 32,104, 32, 45, 32,105, 59, 10, 9, 9,114,103, 98, 32, 61, 32, +118,101, 99, 51, 40,102, 44, 32,102, 44, 32,102, 41, 59, 10, 9, 9,112, 32, 61, 32,118, 42, 40, 49, 46, 48, 45,115, 41, 59, 10, + 9, 9,113, 32, 61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42,102, 41, 41, 59, 10, 9, 9,116, 32, 61, 32,118, 42, 40, 49, 46, + 48, 45, 40,115, 42, 40, 49, 46, 48, 45,102, 41, 41, 41, 59, 10, 9, 9, 10, 9, 9,105,102, 32, 40,105, 32, 61, 61, 32, 48, 46, + 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,116, 44, 32,112, 41, 59, 10, 9, 9,101,108,115,101, 32,105, +102, 32, 40,105, 32, 61, 61, 32, 49, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,113, 44, 32,118, 44, 32,112, 41, + 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 50, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, + 51, 40,112, 44, 32,118, 44, 32,116, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 51, 46, 48, 41, + 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,112, 44, 32,113, 44, 32,118, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, + 40,105, 32, 61, 61, 32, 52, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,116, 44, 32,112, 44, 32,118, 41, 59, 10, + 9, 9,101,108,115,101, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,112, 44, 32,113, 41, 59, 10, 9,125, 10, 10, + 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 44, 32,104,115,118, 46,119, 41, 59, 10,125, 10, 10,102, +108,111, 97,116, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,102,108,111, 97,116, 32, 99, 41, 10, +123, 10, 9,105,102, 40, 99, 32, 60, 32, 48, 46, 48, 52, 48, 52, 53, 41, 10, 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, + 32, 48, 46, 48, 41, 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 40, 49, 46, 48, 47, 49, 50, 46, 57, 50, 41, 59, 10, 9,101,108, +115,101, 10, 9, 9,114,101,116,117,114,110, 32,112,111,119, 40, 40, 99, 32, 43, 32, 48, 46, 48, 53, 53, 41, 42, 40, 49, 46, 48, + 47, 49, 46, 48, 53, 53, 41, 44, 32, 50, 46, 52, 41, 59, 10,125, 10, 10,102,108,111, 97,116, 32,108,105,110,101, 97,114,114,103, + 98, 95,116,111, 95,115,114,103, 98, 40,102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9,105,102, 40, 99, 32, 60, 32, 48, 46, 48, + 48, 51, 49, 51, 48, 56, 41, 10, 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63, 32, 48, 46, 48, 58, + 32, 99, 32, 42, 32, 49, 50, 46, 57, 50, 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116,117,114,110, 32, 49, 46, 48, 53, 53, + 32, 42, 32,112,111,119, 40, 99, 44, 32, 49, 46, 48, 47, 50, 46, 52, 41, 32, 45, 32, 48, 46, 48, 53, 53, 59, 10,125, 10, 10,118, +111,105,100, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102, +114,111,109, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46, +114, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, + 41, 59, 10, 9, 99,111,108, 95,116,111, 46,103, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, + 40, 99,111,108, 95,102,114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,115,114,103, 98, 95,116, +111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, + 46, 97, 32, 61, 32, 99,111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,108,105,110,101, 97,114,114, +103, 98, 95,116,111, 95,115,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102,114,111,109, 44, 32,111,117,116, 32,118,101, + 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46,114, 32, 61, 32,108,105,110,101, 97,114,114, +103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, +103, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,103, + 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, + 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 97, 32, 61, 32, 99,111,108, 95,102,114, +111,109, 46, 97, 59, 10,125, 10, 10, 35,100,101,102,105,110,101, 32, 77, 95, 80, 73, 32, 51, 46, 49, 52, 49, 53, 57, 50, 54, 53, + 51, 53, 56, 57, 55, 57, 51, 50, 51, 56, 52, 54, 10, 35,100,101,102,105,110,101, 32, 77, 95, 49, 95, 80, 73, 32, 48, 46, 51, 49, + 56, 51, 48, 57, 56, 56, 54, 49, 56, 51, 55, 57, 48, 54, 57, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 83, 72, + 65, 68, 69, 82, 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105, +100, 32,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 52, 32, 97,116,116,118, 99,111,108, 44, 32,111, +117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 41, 10,123, 10, 9,118, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 97,116,116, +118, 99,111,108, 46,120, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46,121, 47, 50, 53, 53, 46, 48, 44, 32, 97, +116,116,118, 99,111,108, 46,122, 47, 50, 53, 53, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,117,118, + 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32, +117,118, 41, 10,123, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, + 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,103,101,111,109, 40, +118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, + 97,116, 44, 32,118,101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,118,101, + 99, 52, 32, 97,116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 44, 32,111,117,116, + 32,118,101, 99, 51, 32,108,111, 99, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,116, 32, +118,101, 99, 51, 32,111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, + 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,118, 99,111,108, 95, 97,108,112,104, 97, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102,114,111,110,116, 98, 97, 99, +107, 41, 10,123, 10, 9,108,111, 99, 97,108, 32, 61, 32, 99,111, 59, 10, 9,118,105,101,119, 32, 61, 32,110,111,114,109, 97,108, +105,122,101, 40,108,111, 99, 97,108, 41, 59, 10, 9,103,108,111, 98, 97,108, 32, 61, 32, 40,118,105,101,119,105,110,118,109, 97, +116, 42,118,101, 99, 52, 40,108,111, 99, 97,108, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,111,114, 99,111, 32, 61, + 32, 97,116,116,111,114, 99,111, 59, 10, 9,117,118, 95, 97,116,116,114,105, 98,117,116,101, 40, 97,116,116,117,118, 44, 32,117, +118, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,111,114, 41, 59, 9, 47, + 42, 32, 98,108,101,110,100,101,114, 32,114,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110,101,103, 97,116, +101,100, 32, 42, 47, 10, 9,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,101, 40, 97,116,116,118, 99,111,108, 44, 32,118, + 99,111,108, 41, 59, 10, 9,118, 99,111,108, 95, 97,108,112,104, 97, 32, 61, 32, 97,116,116,118, 99,111,108, 46, 97, 59, 10, 9, +102,114,111,110,116, 98, 97, 99,107, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,112,112,105,110,103, + 40,118,101, 99, 51, 32,118,101, 99, 44, 32,109, 97,116, 52, 32,109, 97,116, 44, 32,118,101, 99, 51, 32,109,105,110,118,101, 99, + 44, 32,118,101, 99, 51, 32,109, 97,120,118,101, 99, 44, 32,102,108,111, 97,116, 32,100,111,109,105,110, 44, 32,102,108,111, 97, +116, 32,100,111,109, 97,120, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116, +118,101, 99, 32, 61, 32, 40,109, 97,116, 32, 42, 32,118,101, 99, 52, 40,118,101, 99, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, + 59, 10, 9,105,102, 40,100,111,109,105,110, 32, 61, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32,109, + 97,120, 40,111,117,116,118,101, 99, 44, 32,109,105,110,118,101, 99, 41, 59, 10, 9,105,102, 40,100,111,109, 97,120, 32, 61, 61, + 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32,109,105,110, 40,111,117,116,118,101, 99, 44, 32,109, 97,120, +118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32, 99, 97,109,101,114, 97, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117, +116, 32,118,101, 99, 51, 32,111,117,116,118,105,101,119, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,101,112, +116,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,105,115,116, 41, 10,123, 10, 9,111,117,116,100,101,112, +116,104, 32, 61, 32, 97, 98,115, 40, 99,111, 46,122, 41, 59, 10, 9,111,117,116,100,105,115,116, 32, 61, 32,108,101,110,103,116, +104, 40, 99,111, 41, 59, 10, 9,111,117,116,118,105,101,119, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 41, 59, + 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,100,100, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108, +111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111, +117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 43, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116, +104, 95,115,117, 98,116,114, 97, 99,116, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, + 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, + 32,118, 97,108, 49, 32, 45, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109,117,108,116,105, +112,108,121, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32, +102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 42, + 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,100,105,118,105,100,101, 40,102,108,111, 97,116, + 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, +118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 50, 32, 61, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97, +108, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 47, + 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,115,105,110,101, 40,102,108,111, 97,116, 32,118, + 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, + 61, 32,115,105,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 99,111,115,105,110,101, 40, +102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9, +111,117,116,118, 97,108, 32, 61, 32, 99,111,115, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, +116, 97,110,103,101,110,116, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, +118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,116, 97,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111, +105,100, 32,109, 97,116,104, 95, 97,115,105,110, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, + 97,108, 32, 62, 61, 32, 45, 49, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 97,115,105,110, 40,118, 97,108, 41, + 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32, +109, 97,116,104, 95, 97, 99,111,115, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111, +117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, + 62, 61, 32, 45, 49, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 97, 99,111,115, 40,118, 97,108, 41, 59, 10, 9, +101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116, +104, 95, 97,116, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, + 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 97,116, 97,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111, +105,100, 32,109, 97,116,104, 95,112,111,119, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97, +108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, + 49, 32, 62, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32,112,111,119, 40,118, 97,108, 49, 44, 32,118, + 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118, +111,105,100, 32,109, 97,116,104, 95,108,111,103, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, + 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, + 49, 32, 62, 32, 48, 46, 48, 32, 32, 38, 38, 32,118, 97,108, 50, 32, 62, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, + 61, 32,108,111,103, 50, 40,118, 97,108, 49, 41, 32, 47, 32,108,111,103, 50, 40,118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, + 10, 9, 9,111,117,116,118, 97,108, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109, 97,120, + 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, + 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,109, 97,120, 40,118, 97,108, 49, 44, + 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109,105,110, 40,102,108,111, 97,116, 32,118, + 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97, +108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,109,105,110, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10, +125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,114,111,117,110,100, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117, +116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 61, 32,102,108,111,111,114, + 40,118, 97,108, 32, 43, 32, 48, 46, 53, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,108,101,115,115, 95,116, +104, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32, +102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 60, 32,118, 97,108, 50, 41, + 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, + 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,103,114,101, 97,116,101,114, 95,116,104, 97,110, + 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, + 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 62, 32,118, 97,108, 50, 41, 10, 9, 9, +111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, + 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,113,117,101,101,122,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,102, +108,111, 97,116, 32,119,105,100,116,104, 44, 32,102,108,111, 97,116, 32, 99,101,110,116,101,114, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 47, 40, 49, 46, 48, + 32, 43, 32,112,111,119, 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 51, 44, 32, 45, 40, 40,118, 97,108, 45, 99,101,110,116,101,114, + 41, 42,119,105,100,116,104, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 97,100,100, + 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, +101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, + 61, 32,118, 49, 32, 43, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, + 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118, +101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,115,117, + 98, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, - 32, 61, 32,118,101, 99, 51, 40, 48, 44, 32, 48, 44, 32, 48, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,100,111,116, 40, -118, 49, 44, 32,118, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 99,114,111,115,115, 40, -118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, - 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, - 32, 99,114,111,115,115, 40,118, 49, 44, 32,118, 50, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, - 40,111,117,116,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,110,111,114,109, 97, -108,105,122,101, 40,118,101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117, -116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103, -116,104, 40,118, 41, 59, 10, 9,111,117,116,118,101, 99, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 41, 59, 10,125, - 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,110,101,103, 97,116,101, 40,118,101, 99, 51, 32,118, 44, 32,111, -117,116, 32,118,101, 99, 51, 32,111,117,116,118, 41, 10,123, 10, 9,111,117,116,118, 32, 61, 32, 45,118, 59, 10,125, 10, 10,118, -111,105,100, 32,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,100,105,114, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,111, -117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,111,116, - 41, 10,123, 10, 9,111,117,116,110,111,114, 32, 61, 32,110,111,114, 59, 10, 9,111,117,116,100,111,116, 32, 61, 32, 45,100,111, -116, 40,100,105,114, 44, 32,110,111,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118,101,115, 95,118,101, 99, 40, -102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32, 99, -117,114,118,101,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116, -118,101, 99, 46,120, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, - 40, 40,118,101, 99, 46,120, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 44, 32, 48, 46, 48, 41, 41, 46,120, 59, 10, 9,111,117, -116,118,101, 99, 46,121, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, - 50, 40, 40,118,101, 99, 46,121, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 44, 32, 48, 46, 48, 41, 41, 46,121, 59, 10, 9,111, -117,116,118,101, 99, 46,122, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, - 99, 50, 40, 40,118,101, 99, 46,122, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 44, 32, 48, 46, 48, 41, 41, 46,122, 59, 10, 10, - 9,105,102, 32, 40,102, 97, 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32, 40,111,117,116, -118,101, 99, 42,102, 97, 99, 41, 32, 43, 32, 40,118,101, 99, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, 41, 59, 10, 10,125, 10, 10, -118,111,105,100, 32, 99,117,114,118,101,115, 95,114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, - 99,111,108, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, - 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,101,120,116,117,114,101, 50, - 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101, -109, 97,112, 44, 32,118,101, 99, 50, 40, 99,111,108, 46,114, 44, 32, 48, 46, 48, 41, 41, 46, 97, 44, 32, 48, 46, 48, 41, 41, 46, -114, 59, 10, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97, -112, 44, 32,118,101, 99, 50, 40,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, - 40, 99,111,108, 46,103, 44, 32, 48, 46, 48, 41, 41, 46, 97, 44, 32, 48, 46, 48, 41, 41, 46,103, 59, 10, 9,111,117,116, 99,111, -108, 46, 98, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40,116, -101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 99,111,108, 46, 98, 44, 32, 48, - 46, 48, 41, 41, 46, 97, 44, 32, 48, 46, 48, 41, 41, 46, 98, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32, 33, 61, 32, 49, 46, - 48, 41, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32, 40,111,117,116, 99,111,108, 42,102, 97, 99, 41, 32, 43, 32, 40, 99,111, -108, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 46, 97, - 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, - 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 40,118,101, 99, 51, 32, 99,111,108, 44, 32,111,117,116, 32, -118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 59, 10,125, 10, - 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 97, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, - 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 59, 10,125, 10, 10,118,111, -105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,122,101,114,111, 40,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, - 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, - 95,118, 97,108,117,101, 95,111,110,101, 40,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9, -111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 95,122,101, -114,111, 40,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, -118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 97, 95,122,101,114,111, - 40,111,117,116, 32,118,101, 99, 52, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118,101, - 99, 52, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 98,108,101,110,100, 40,102,108,111, 97,116, - 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32, -118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, - 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, - 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, -125, 10, 10,118,111,105,100, 32,109,105,120, 95, 97,100,100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, - 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, - 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, - 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 43, 32, 99,111,108, 50, - 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118, -111,105,100, 32,109,105,120, 95,109,117,108,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, - 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, - 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111, -117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 42, 32, 99,111,108, 50, 44, 32,102, - 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, - 32,109,105,120, 95,115, 99,114,101,101,110, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, - 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, - 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108, -111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, - 32,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 40,118,101, 99, 52, 40,102, 97, 99,109, 41, 32, 43, 32,102, 97, 99, 42, 40, -118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 50, 41, 41, 42, 40,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, - 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111, -105,100, 32,109,105,120, 95,111,118,101,114,108, 97,121, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99, -111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, - 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, - 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111, -108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 60, 32, 48, 46, 53, 41, 10, 9, - 9,111,117,116, 99,111,108, 46,114, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, - 46,114, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, - 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46,114, 41, 41, 42, 40, 49, 46, - 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 60, 32, 48, - 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, - 42, 99,111,108, 50, 46,103, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 32, - 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46,103, 41, - 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, - 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, - 48, 42,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, - 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111, -108, 50, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 59, 10,125, 10, 10,118,111,105,100, - 32,109,105,120, 95,115,117, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118, -101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, - 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111, -108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 45, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, - 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, - 95,100,105,118, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, - 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, - 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99, -109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, - 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46,114, 32, 61, 32,102, - 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46,114, 47, 99,111,108, 50, - 46,114, 59, 10, 9,105,102, 40, 99,111,108, 50, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46,103, 32, - 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,103, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46,103, 47, 99, -111,108, 50, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, - 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46, - 98, 47, 99,111,108, 50, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,105,102,102, 40,102,108,111, 97,116, - 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32, -118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, - 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, - 97, 98,115, 40, 99,111,108, 49, 32, 45, 32, 99,111,108, 50, 41, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, - 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100, 97,114,107, 40,102,108,111, - 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117, -116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, - 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 46,114,103, 98, 32, 61, 32,109,105,110, 40, - 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, - 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,108,105,103,104,116, 40,102, -108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32, -111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, -102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 46,114,103, 98, 32, 61, 32,109, 97, -120, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42,102, 97, 99, 41, 59, 10, 9,111,117,116, 99, -111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,111,100,103,101, - 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, - 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109, -112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, - 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97, -116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9, 9,105,102, 40,116, -109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9, -101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46,114, 47,116,109,112, 41, 32, 62, 32, 49, - 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, - 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, - 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, - 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111, -117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, -111,117,116, 99,111,108, 46,103, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, - 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,109,112, - 59, 10, 9,125, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108, -111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9, 9,105,102, - 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, - 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 47,116,109,112, 41, 32, 62, - 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, - 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105, -120, 95, 98,117,114,110, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, + 32, 61, 32,118, 49, 32, 45, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, + 99, 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116, +118,101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 97, +118,101,114, 97,103,101, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, + 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111, +117,116,118,101, 99, 32, 61, 32,118, 49, 32, 43, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116, +104, 40,111,117,116,118,101, 99, 41, 59, 10, 9,111,117,116,118,101, 99, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111, +117,116,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,100,111,116, 40,118,101, 99, + 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32, +111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, + 99, 51, 40, 48, 44, 32, 48, 44, 32, 48, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,100,111,116, 40,118, 49, 44, 32,118, + 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 99,114,111,115,115, 40,118,101, 99, 51, 32, +118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117, +116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32, 99,114,111,115, +115, 40,118, 49, 44, 32,118, 50, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116,118, +101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,110,111,114,109, 97,108,105,122,101, 40, +118,101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, + 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,118, 41, + 59, 10, 9,111,117,116,118,101, 99, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 41, 59, 10,125, 10, 10,118,111,105, +100, 32,118,101, 99, 95,109, 97,116,104, 95,110,101,103, 97,116,101, 40,118,101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, + 99, 51, 32,111,117,116,118, 41, 10,123, 10, 9,111,117,116,118, 32, 61, 32, 45,118, 59, 10,125, 10, 10,118,111,105,100, 32,110, +111,114,109, 97,108, 40,118,101, 99, 51, 32,100,105,114, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,111,117,116, 32,118,101, + 99, 51, 32,111,117,116,110,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,111,116, 41, 10,123, 10, 9, +111,117,116,110,111,114, 32, 61, 32,110,111,114, 59, 10, 9,111,117,116,100,111,116, 32, 61, 32, 45,100,111,116, 40,100,105,114, + 44, 32,110,111,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118,101,115, 95,118,101, 99, 40,102,108,111, 97,116, + 32,102, 97, 99, 44, 32,118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32, 99,117,114,118,101,109, + 97,112, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 46,120, + 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 40,118,101, 99, + 46,120, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 44, 32, 48, 46, 48, 41, 41, 46,120, 59, 10, 9,111,117,116,118,101, 99, 46, +121, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 40,118,101, + 99, 46,121, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 44, 32, 48, 46, 48, 41, 41, 46,121, 59, 10, 9,111,117,116,118,101, 99, + 46,122, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 40,118, +101, 99, 46,122, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 44, 32, 48, 46, 48, 41, 41, 46,122, 59, 10, 10, 9,105,102, 32, 40, +102, 97, 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32, 40,111,117,116,118,101, 99, 42,102, + 97, 99, 41, 32, 43, 32, 40,118,101, 99, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, 41, 59, 10, 10,125, 10, 10,118,111,105,100, 32, + 99,117,114,118,101,115, 95,114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32, +115, 97,109,112,108,101,114, 50, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, + 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114, +118,101,109, 97,112, 44, 32,118,101, 99, 50, 40,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, +118,101, 99, 50, 40, 99,111,108, 46,114, 44, 32, 48, 46, 48, 41, 41, 46, 97, 44, 32, 48, 46, 48, 41, 41, 46,114, 59, 10, 9,111, +117,116, 99,111,108, 46,103, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, + 99, 50, 40,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 99,111,108, 46, +103, 44, 32, 48, 46, 48, 41, 41, 46, 97, 44, 32, 48, 46, 48, 41, 41, 46,103, 59, 10, 9,111,117,116, 99,111,108, 46, 98, 32, 61, + 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40,116,101,120,116,117,114, +101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 99,111,108, 46, 98, 44, 32, 48, 46, 48, 41, 41, 46, + 97, 44, 32, 48, 46, 48, 41, 41, 46, 98, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9, +111,117,116, 99,111,108, 32, 61, 32, 40,111,117,116, 99,111,108, 42,102, 97, 99, 41, 32, 43, 32, 40, 99,111,108, 42, 40, 49, 46, + 48, 45,102, 97, 99, 41, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10, +118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 59, 10,125, 10, 10, +118,111,105,100, 32,115,101,116, 95,114,103, 98, 40,118,101, 99, 51, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32, +111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, + 32,115,101,116, 95,114,103, 98, 97, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, + 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101, +116, 95,118, 97,108,117,101, 95,122,101,114,111, 40,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, + 10, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117, +101, 95,111,110,101, 40,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97, +108, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 95,122,101,114,111, 40,111,117, +116, 32,118,101, 99, 51, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118,101, 99, 51, 40, + 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 97, 95,122,101,114,111, 40,111,117,116, 32, +118,101, 99, 52, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118,101, 99, 52, 40, 48, 46, + 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 98,108,101,110,100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, + 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32, +111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, + 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 50, 44, + 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111, +105,100, 32,109,105,120, 95, 97,100,100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, + 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9, +102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, + 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 43, 32, 99,111,108, 50, 44, 32,102, 97, 99, + 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109, +105,120, 95,109,117,108,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, + 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, + 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, + 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 42, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, + 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, +115, 99,114,101,101,110, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, - 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,116, -109,112, 44, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, - 32, 99,111,108, 49, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46,114, - 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 48, - 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, - 45, 32,111,117,116, 99,111,108, 46,114, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111, -108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, - 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, -114, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, - 46,103, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, - 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, - 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, - 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, - 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111, -108, 46,103, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111, -108, 50, 46, 98, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, - 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, - 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111, -117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, - 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, - 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,104,117,101, 40,102,108,111, - 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117, -116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, - 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, - 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104, -115,118, 44, 32,104,115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, - 32,104,115,118, 50, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9, -114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 9, 9,104,115,118, 46,120, - 32, 61, 32,104,115,118, 50, 46,120, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,116,109,112, - 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40,111,117,116, 99,111,108, 44, 32,116,109,112, 44, - 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, 9,125, 10,125, - 10, 10,118,111,105,100, 32,109,105,120, 95,115, 97,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99, -111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, - 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, - 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111, -108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 59, 10, 9,114,103, 98, - 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 46,121, - 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115, -118, 50, 41, 59, 10, 10, 9, 9,104,115,118, 46,121, 32, 61, 32,102, 97, 99,109, 42,104,115,118, 46,121, 32, 43, 32,102, 97, 99, - 42,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111, -108, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,118, 97,108, 40,102,108,111, 97,116, 32,102, 97, 99, - 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, - 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, - 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, - 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99, -111,108, 49, 44, 32,104,115,118, 41, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, - 50, 41, 59, 10, 10, 9,104,115,118, 46,122, 32, 61, 32,102, 97, 99,109, 42,104,115,118, 46,122, 32, 43, 32,102, 97, 99, 42,104, -115,118, 50, 46,122, 59, 10, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, - 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 99,111,108,111,114, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, - 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, - 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, - 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111, -117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 44, 32, -116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9, -105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, - 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 9, 9,104,115,118, 46,120, 32, 61, 32,104,115,118, 50, 46,120, 59, - 10, 9, 9,104,115,118, 46,121, 32, 61, 32,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40, -104,115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40,111,117,116, 99, -111,108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, - 46, 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115,111,102,116, 40,102,108,111, 97,116, 32,102, 97, + 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, + 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, + 40, 49, 46, 48, 41, 32, 45, 32, 40,118,101, 99, 52, 40,102, 97, 99,109, 41, 32, 43, 32,102, 97, 99, 42, 40,118,101, 99, 52, 40, + 49, 46, 48, 41, 32, 45, 32, 99,111,108, 50, 41, 41, 42, 40,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 49, 41, + 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105, +120, 95,111,118,101,114,108, 97,121, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32, +118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, + 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97, +116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99, +111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99, +111,108, 46,114, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9, +101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, + 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111, +117,116, 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, + 9,111,117,116, 99,111,108, 46,103, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, + 46,103, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, + 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46,103, 41, 41, 42, 40, 49, 46, + 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, + 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, + 42, 99,111,108, 50, 46, 98, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 32, + 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46, 98, 41, + 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, +115,117, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99, +111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99, +108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109, +105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 45, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, + 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,105,118, 40, +102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, + 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, + 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, + 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40, + 99,111,108, 50, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46,114, 32, 61, 32,102, 97, 99,109, 42,111, +117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46,114, 47, 99,111,108, 50, 46,114, 59, 10, 9, +105,102, 40, 99,111,108, 50, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46,103, 32, 61, 32,102, 97, 99, +109, 42,111,117,116, 99,111,108, 46,103, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46,103, 47, 99,111,108, 50, 46,103, + 59, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46, 98, 32, 61, 32, +102, 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46, 98, 47, 99,111,108, + 50, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,105,102,102, 40,102,108,111, 97,116, 32,102, 97, 99, 44, + 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32, +111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, + 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 97, 98,115, 40, 99, +111,108, 49, 32, 45, 32, 99,111,108, 50, 41, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99, +111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100, 97,114,107, 40,102,108,111, 97,116, 32,102, 97, + 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, + 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, + 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 46,114,103, 98, 32, 61, 32,109,105,110, 40, 99,111,108, 49, 46, +114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, + 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,108,105,103,104,116, 40,102,108,111, 97,116, 32, +102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118, +101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, + 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 46,114,103, 98, 32, 61, 32,109, 97,120, 40, 99,111,108, + 49, 46,114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, + 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,111,100,103,101, 40,102,108,111, 97, +116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, + 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, + 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105, +102, 40,111,117,116, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, + 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, + 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32, +105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46,114, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, + 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99, +111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 33, 61, 32, 48, + 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111, +108, 50, 46,103, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, + 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111, +108, 46,103, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, + 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, + 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116, +109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9, 9,105,102, 40,116,109,112, 32, + 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115, +101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, + 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117, +116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 98,117,114, +110, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, + 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97, +109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,116,109,112, 44, 32,102, + 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, + 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9,105,102, + 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9, +101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, + 99,111,108, 46,114, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, + 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99, +111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116, +109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9, +105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, + 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111, +117,116, 99,111,108, 46,103, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, + 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117, +116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, + 32,116,109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, + 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, + 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, + 32,111,117,116, 99,111,108, 46, 98, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, + 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, +111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, + 32, 61, 32,116,109,112, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,104,117,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, - 59, 10, 10, 9,118,101, 99, 52, 32,111,110,101, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,118,101, 99, 52, 32,115, - 99,114, 61, 32,111,110,101, 32, 45, 32, 40,111,110,101, 32, 45, 32, 99,111,108, 50, 41, 42, 40,111,110,101, 32, 45, 32, 99,111, -108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,102, 97, 99,109, 42, 99,111,108, 49, 32, 43, 32,102, 97, 99, 42, 40, - 40,111,110,101, 32, 45, 32, 99,111,108, 49, 41, 42, 99,111,108, 50, 42, 99,111,108, 49, 32, 43, 32, 99,111,108, 49, 42,115, 99, -114, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,108,105,110,101, 97,114, 40,102,108,111, 97,116, 32,102, 97, 99, - 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, - 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, - 44, 32, 49, 46, 48, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40, 99,111, -108, 50, 46,114, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99,111,108, 49, 46,114, 32, 43, - 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, - 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99,111,108, 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, - 99,111,108, 50, 46,114, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,103, 32, 62, 32, 48, 46, - 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, - 42, 40, 99,111,108, 50, 46,103, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, - 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,103, 41, 32, 45, - 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99, -111,108, 46, 98, 61, 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46, 98, 32, - 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 61, 32, 99,111,108, 49, 46, - 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46, 98, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10,125, 10, - 10,118,111,105,100, 32,118, 97,108,116,111,114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,115, 97,109,112,108,101, -114, 50, 68, 32, 99,111,108,111,114,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,111,117,116, 97,108,112,104, 97, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,116, -101,120,116,117,114,101, 50, 68, 40, 99,111,108,111,114,109, 97,112, 44, 32,118,101, 99, 50, 40,102, 97, 99, 44, 32, 48, 46, 48, - 41, 41, 59, 10, 9,111,117,116, 97,108,112,104, 97, 32, 61, 32,111,117,116, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105, -100, 32,114,103, 98,116,111, 98,119, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, -111,117,116,118, 97,108, 41, 32, 32, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,108,111,114, 46,114, 42, 48, 46, - 51, 53, 32, 43, 32, 99,111,108,111,114, 46,103, 42, 48, 46, 52, 53, 32, 43, 32, 99,111,108,111,114, 46, 98, 42, 48, 46, 50, 59, - 32, 47, 42, 32,107,101,101,112, 32,116,104,101,115,101, 32,102, 97, 99,116,111,114,115, 32,105,110, 32,115,121,110, 99, 32,119, -105,116,104, 32,116,101,120,116,117,114,101, 46,104, 58, 82, 71, 66, 84, 79, 66, 87, 32, 42, 47, 10,125, 10, 10,118,111,105,100, - 32,105,110,118,101,114,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, - 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,120,121,122, 32, 61, 32,109,105, -120, 40, 99,111,108, 46,120,121,122, 44, 32,118,101, 99, 51, 40, 49, 46, 48, 44, 32, 49, 46, 48, 44, 32, 49, 46, 48, 41, 32, 45, - 32, 99,111,108, 46,120,121,122, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46,119, 32, 61, 32, 99,111,108, 46, -119, 59, 10,125, 10, 10,118,111,105,100, 32,104,117,101, 95,115, 97,116, 40,102,108,111, 97,116, 32,104,117,101, 44, 32,102,108, -111, 97,116, 32,115, 97,116, 44, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 44, - 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,118, -101, 99, 52, 32,104,115,118, 59, 10, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 44, 32,104,115,118, 41, 59, - 10, 10, 9,104,115,118, 91, 48, 93, 32, 43, 61, 32, 40,104,117,101, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,105,102, 40,104,115, -118, 91, 48, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 48, 93, 45, 61, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104, -115,118, 91, 48, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 48, 93, 43, 61, 32, 49, 46, 48, 59, 10, 9,104,115,118, 91, 49, 93, - 32, 42, 61, 32,115, 97,116, 59, 10, 9,105,102, 40,104,115,118, 91, 49, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 49, 93, 61, - 32, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 49, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 49, 93, - 61, 32, 48, 46, 48, 59, 10, 9,104,115,118, 91, 50, 93, 32, 42, 61, 32,118, 97,108,117,101, 59, 10, 9,105,102, 40,104,115,118, - 91, 50, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115, -118, 91, 50, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 48, 46, 48, 59, 10, 10, 9,104,115,118, 95,116,111, 95, -114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, - 40, 99,111,108, 44, 32,111,117,116, 99,111,108, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,112, 97, -114, 97,116,101, 95,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114, 44, 32, -111,117,116, 32,102,108,111, 97,116, 32,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 98, 41, 10,123, 10, 9,114, 32, 61, - 32, 99,111,108, 46,114, 59, 10, 9,103, 32, 61, 32, 99,111,108, 46,103, 59, 10, 9, 98, 32, 61, 32, 99,111,108, 46, 98, 59, 10, -125, 10, 10,118,111,105,100, 32, 99,111,109, 98,105,110,101, 95,114,103, 98, 40,102,108,111, 97,116, 32,114, 44, 32,102,108,111, - 97,116, 32,103, 44, 32,102,108,111, 97,116, 32, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 41, 10,123, 10, 9, - 99,111,108, 32, 61, 32,118,101, 99, 52, 40,114, 44, 32,103, 44, 32, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105, -100, 32,111,117,116,112,117,116, 95,110,111,100,101, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,102,108,111, 97,116, 32, 97,108, -112,104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114,103, 98, 32, - 61, 32,118,101, 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 32, 84, 69, 88, 84, 85, 82, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 47, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,102,108,105,112, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32, -118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, - 61, 32,118,101, 99, 46,121,120,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, 98,108,101,110,100, - 95,108,105,110, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, - 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 59, 10,125, 10, - 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, 98,108,101,110,100, 95,113,117, 97,100, 40,118,101, 99, 51, 32,118,101, - 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, - 32,109, 97,120, 40, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10, 9,111,117,116, -118, 97,108, 32, 42, 61, 32,111,117,116,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,119, -111,111,100, 95,115,105,110, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117, -101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, - 97,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, 97, 32, 61, 32,115,113,114,116, 40,118,101, 99, 46,120, 42,118,101, 99, 46, -120, 32, 43, 32,118,101, 99, 46,121, 42,118,101, 99, 46,121, 32, 43, 32,118,101, 99, 46,122, 42,118,101, 99, 46,122, 41, 42, 50, - 48, 46, 48, 59, 10, 9,102,108,111, 97,116, 32,119,105, 32, 61, 32, 48, 46, 53, 32, 43, 32, 48, 46, 53, 42,115,105,110, 40, 97, - 41, 59, 10, 10, 9,118, 97,108,117,101, 32, 61, 32,119,105, 59, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40,119, -105, 44, 32,119,105, 44, 32,119,105, 44, 32, 49, 46, 48, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32,118,101, 99, 51, 40, - 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, -105,109, 97,103,101, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32, -111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116, -117,114,101, 50, 68, 40,105,109, 97, 44, 32, 40,118,101, 99, 46,120,121, 32, 43, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, - 46, 48, 41, 41, 42, 48, 46, 53, 41, 59, 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10, 10, 9,110,111,114,109, 97, -108, 46,120, 32, 61, 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46,114, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,110,111,114,109, - 97,108, 46,121, 32, 61, 32, 50, 46, 48, 42, 40, 48, 46, 53, 32, 45, 32, 99,111,108,111,114, 46,103, 41, 59, 10, 9,110,111,114, -109, 97,108, 46,122, 32, 61, 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46, 98, 32, 45, 32, 48, 46, 53, 41, 59, 10,125, 10, 10, - 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 77, 84, 69, 88, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111,114, 99,111, 40,118,101, 99, 51, 32, 97,116,116, -111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,114, 99,111, 41, 10,123, 10, 9,111,114, 99,111, 32, 61, 32, 97, -116,116,111,114, 99,111, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,117,118, 40,118,101, 99, 50, 32, 97,116, -116,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,123, 10, 9, 47, 42, 32,100,105,115, 97, 98,108,101,100, - 32,102,111,114, 32,110,111,119, 44, 32,119,111,114,107,115, 32,116,111,103,101,116,104,101,114, 32,119,105,116,104, 32,108,101, - 97,118,105,110,103, 32,111,117,116, 32,109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 10, 9, 32, 32, 32,117,118, - 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, - 48, 41, 44, 32, 48, 46, 48, 41, 59, 32, 42, 47, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 44, 32, 48, - 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114, -109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 99, -111,114,114,101,115,112,111,110,100,115, 32,116,111, 32,115,104,105, 45, 62,111,114,110, 44, 32,119,104,105, 99,104, 32,105,115, - 32,110,101,103, 97,116,101,100, 32,115,111, 32, 99, 97,110, 99,101,108,115, 10, 9, 32, 32, 32,111,117,116, 32, 98,108,101,110, -100,101,114, 32,110,111,114,109, 97,108, 32,110,101,103, 97,116,105,111,110, 32, 42, 47, 10, 9,111,117,116,110,111,114,109, 97, -108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116, -101,120, 99,111, 95,116, 97,110,103,101,110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, 44, 32,111,117,116, 32,118, -101, 99, 51, 32,111,117,116,116, 97,110,103,101,110,116, 41, 10,123, 10, 9,111,117,116,116, 97,110,103,101,110,116, 32, 61, 32, -110,111,114,109, 97,108,105,122,101, 40,116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -116,101,120, 99,111, 95,103,108,111, 98, 97,108, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,118,101, - 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 41, 10,123, 10, 9,103,108,111, 98, 97, -108, 32, 61, 32, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 46,120, -121,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111, 98,106,101, 99,116, 40,109, 97,116, 52, 32,118,105, -101,119,105,110,118,109, 97,116, 44, 32,109, 97,116, 52, 32,111, 98,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111, - 44, 32,111,117,116, 32,118,101, 99, 51, 32,111, 98,106,101, 99,116, 41, 10,123, 10, 9,111, 98,106,101, 99,116, 32, 61, 32, 40, -111, 98,105,110,118,109, 97,116, 42, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46, - 48, 41, 41, 41, 46,120,121,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,114,101,102,108, 40,118,101, 99, - 51, 32,118,110, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32,114,101,102, 41, 10,123, - 10, 9,114,101,102, 32, 61, 32,118,105,101,119, 32, 45, 32, 50, 46, 48, 42,100,111,116, 40,118,110, 44, 32,118,105,101,119, 41, - 42,118,110, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114, -109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 98, -108,101,110,100,101,114, 32,114,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110,101,103, 97,116,101,100, 32, - 42, 47, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,111,114,109, 97, -108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32, -111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, - 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9, -102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99, -109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, - 99,111,108, 32, 43, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, -114,103, 98, 95,109,117,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, - 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, - 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, - 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99, -111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, 42,111,117,116, 99,111,108, - 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 99,114,101,101,110, 40,118,101, 99, 51, 32,111, -117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32, -102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102, -108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, - 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,118,101, 99, 51, 40, 49, 46, 48, 41, - 32, 45, 32, 40,118,101, 99, 51, 40,102, 97, 99,109, 41, 32, 43, 32,102, 97, 99,116, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, - 32, 45, 32,116,101,120, 99,111,108, 41, 41, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,111,117,116, 99,111,108, 41, - 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,111,118,101,114,108, 97,121, 40,118,101, 99, 51, 32, -111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, - 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9, -102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99, -109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 60, 32, 48, 46, - 53, 41, 10, 9, 9,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 42, 40,102, 97, 99,109, 32, 43, 32, - 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111, -108, 46,114, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, - 48, 32, 45, 32,116,101,120, 99,111,108, 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59, - 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46,103, 32, - 61, 32,111,117,116, 99,111,108, 46,103, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99, -111,108, 46,103, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, -102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46,103, 41, - 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, - 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 42, 40,102, - 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 41, 59, 10, 9,101,108,115,101, 10, - 9, 9,105,110, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, - 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99, -111,108, 46, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115,117, 98, 40,118,101, 99, 51, - 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, - 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, - 9,105,110, 99,111,108, 32, 61, 32, 45,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, - 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 97,100,100, 40,118,101, 99, 51, 32,111, -117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32, -102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,105, -110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, - 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,118, 40,118,101, 99, 51, 32,111,117,116, 99, -111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, - 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97, -116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, - 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32, -105,110, 99,111,108, 46,114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99,116, 42,111, -117,116, 99,111,108, 46,114, 47,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,103, 32, 33, - 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,103, 32, 43, - 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46,103, 47,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40,116,101,120, - 99,111,108, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116, - 99,111,108, 46, 98, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46, 98, 47,116,101,120, 99,111,108, 46, 98, 59, 10, -125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,102,102, 40,118,101, 99, 51, 32,111,117,116, 99,111, + 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104, +115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, + 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116, +111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 9, 9,104,115,118, 46,120, 32, 61, 32,104,115, +118, 50, 46,120, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, + 9, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40,111,117,116, 99,111,108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, + 59, 10, 9, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105, +100, 32,109,105,120, 95,115, 97,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32, +118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, + 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97, +116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99, +111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 59, 10, 9,114,103, 98, 95,116,111, 95,104, +115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 46,121, 32, 33, 61, 32, 48, + 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, + 10, 9, 9,104,115,118, 46,121, 32, 61, 32,102, 97, 99,109, 42,104,115,118, 46,121, 32, 43, 32,102, 97, 99, 42,104,115,118, 50, + 46,121, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10, 9, +125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,118, 97,108, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, + 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99, +111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, + 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, + 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 49, 44, 32, +104,115,118, 41, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, + 9,104,115,118, 46,122, 32, 61, 32,102, 97, 99,109, 42,104,115,118, 46,122, 32, 43, 32,102, 97, 99, 42,104,115,118, 50, 46,122, + 59, 10, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118, +111,105,100, 32,109,105,120, 95, 99,111,108,111,114, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111, +108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10, +123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9, +102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, + 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 44, 32,116,109,112, 59, 10, + 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,105,102, 40,104,115, +118, 50, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99, +111,108, 44, 32,104,115,118, 41, 59, 10, 9, 9,104,115,118, 46,120, 32, 61, 32,104,115,118, 50, 46,120, 59, 10, 9, 9,104,115, +118, 46,121, 32, 61, 32,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32, +116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40,111,117,116, 99,111,108, 44, 32,116, +109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, 9, +125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115,111,102,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, + 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, + 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, + 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118, +101, 99, 52, 32,111,110,101, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,118,101, 99, 52, 32,115, 99,114, 61, 32,111, +110,101, 32, 45, 32, 40,111,110,101, 32, 45, 32, 99,111,108, 50, 41, 42, 40,111,110,101, 32, 45, 32, 99,111,108, 49, 41, 59, 10, + 9,111,117,116, 99,111,108, 32, 61, 32,102, 97, 99,109, 42, 99,111,108, 49, 32, 43, 32,102, 97, 99, 42, 40, 40,111,110,101, 32, + 45, 32, 99,111,108, 49, 41, 42, 99,111,108, 50, 42, 99,111,108, 49, 32, 43, 32, 99,111,108, 49, 42,115, 99,114, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,109,105,120, 95,108,105,110,101, 97,114, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, + 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99, +111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, + 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, + 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99,111,108, 49, 46,114, 32, 43, 32,102, 97, 99, 42, + 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117, +116, 99,111,108, 46,114, 61, 32, 99,111,108, 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46, +114, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,103, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9, +111,117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, + 50, 46,103, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 61, 32, 99, +111,108, 49, 46,103, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,103, 41, 32, 45, 32, 49, 46, 48, 41, + 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 61, + 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46, 98, 32, 45, 32, 48, 46, 53, + 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 61, 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, + 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46, 98, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, + 32,118, 97,108,116,111,114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32, 99, +111,108,111,114,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,111,117,116, 97,108,112,104, 97, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,116,101,120,116,117,114, +101, 50, 68, 40, 99,111,108,111,114,109, 97,112, 44, 32,118,101, 99, 50, 40,102, 97, 99, 44, 32, 48, 46, 48, 41, 41, 59, 10, 9, +111,117,116, 97,108,112,104, 97, 32, 61, 32,111,117,116, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,114,103, 98, +116,111, 98,119, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97, +108, 41, 32, 32, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,108,111,114, 46,114, 42, 48, 46, 51, 53, 32, 43, 32, + 99,111,108,111,114, 46,103, 42, 48, 46, 52, 53, 32, 43, 32, 99,111,108,111,114, 46, 98, 42, 48, 46, 50, 59, 32, 47, 42, 32,107, +101,101,112, 32,116,104,101,115,101, 32,102, 97, 99,116,111,114,115, 32,105,110, 32,115,121,110, 99, 32,119,105,116,104, 32,116, +101,120,116,117,114,101, 46,104, 58, 82, 71, 66, 84, 79, 66, 87, 32, 42, 47, 10,125, 10, 10,118,111,105,100, 32,105,110,118,101, +114,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, + 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,120,121,122, 32, 61, 32,109,105,120, 40, 99,111,108, + 46,120,121,122, 44, 32,118,101, 99, 51, 40, 49, 46, 48, 44, 32, 49, 46, 48, 44, 32, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 46, +120,121,122, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46,119, 32, 61, 32, 99,111,108, 46,119, 59, 10,125, 10, + 10,118,111,105,100, 32,104,117,101, 95,115, 97,116, 40,102,108,111, 97,116, 32,104,117,101, 44, 32,102,108,111, 97,116, 32,115, + 97,116, 44, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, + 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32,104, +115,118, 59, 10, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 10, 9,104,115, +118, 91, 48, 93, 32, 43, 61, 32, 40,104,117,101, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,105,102, 40,104,115,118, 91, 48, 93, 62, + 49, 46, 48, 41, 32,104,115,118, 91, 48, 93, 45, 61, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 48, 93, + 60, 48, 46, 48, 41, 32,104,115,118, 91, 48, 93, 43, 61, 32, 49, 46, 48, 59, 10, 9,104,115,118, 91, 49, 93, 32, 42, 61, 32,115, + 97,116, 59, 10, 9,105,102, 40,104,115,118, 91, 49, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 49, 93, 61, 32, 49, 46, 48, 59, + 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 49, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 49, 93, 61, 32, 48, 46, 48, + 59, 10, 9,104,115,118, 91, 50, 93, 32, 42, 61, 32,118, 97,108,117,101, 59, 10, 9,105,102, 40,104,115,118, 91, 50, 93, 62, 49, + 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 50, 93, 60, + 48, 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 48, 46, 48, 59, 10, 10, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104, +115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 44, + 32,111,117,116, 99,111,108, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,112, 97,114, 97,116,101, 95, +114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114, 44, 32,111,117,116, 32,102, +108,111, 97,116, 32,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 98, 41, 10,123, 10, 9,114, 32, 61, 32, 99,111,108, 46, +114, 59, 10, 9,103, 32, 61, 32, 99,111,108, 46,103, 59, 10, 9, 98, 32, 61, 32, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111, +105,100, 32, 99,111,109, 98,105,110,101, 95,114,103, 98, 40,102,108,111, 97,116, 32,114, 44, 32,102,108,111, 97,116, 32,103, 44, + 32,102,108,111, 97,116, 32, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 41, 10,123, 10, 9, 99,111,108, 32, 61, + 32,118,101, 99, 52, 40,114, 44, 32,103, 44, 32, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,111,117,116, +112,117,116, 95,110,111,100,101, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 44, 32, +111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, 99, + 52, 40,114,103, 98, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 32, 84, 69, 88, 84, 85, 82, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111, +105,100, 32,116,101,120,116,117,114,101, 95,102,108,105,112, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32,118,101, 99, 44, 32, +111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, + 46,121,120,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, 98,108,101,110,100, 95,108,105,110, 40, +118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111, +117,116,118, 97,108, 32, 61, 32, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 59, 10,125, 10, 10,118,111,105,100, + 32,116,101,120,116,117,114,101, 95, 98,108,101,110,100, 95,113,117, 97,100, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117, +116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,109, 97,120, 40, + 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 42, + 61, 32,111,117,116,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,119,111,111,100, 95,115, +105,110, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117, +116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, + 10, 9,102,108,111, 97,116, 32, 97, 32, 61, 32,115,113,114,116, 40,118,101, 99, 46,120, 42,118,101, 99, 46,120, 32, 43, 32,118, +101, 99, 46,121, 42,118,101, 99, 46,121, 32, 43, 32,118,101, 99, 46,122, 42,118,101, 99, 46,122, 41, 42, 50, 48, 46, 48, 59, 10, + 9,102,108,111, 97,116, 32,119,105, 32, 61, 32, 48, 46, 53, 32, 43, 32, 48, 46, 53, 42,115,105,110, 40, 97, 41, 59, 10, 10, 9, +118, 97,108,117,101, 32, 61, 32,119,105, 59, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40,119,105, 44, 32,119,105, + 44, 32,119,105, 44, 32, 49, 46, 48, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, + 48, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,105,109, 97,103,101, + 40,118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118, +101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, + 40,105,109, 97, 44, 32, 40,118,101, 99, 46,120,121, 32, 43, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 41, 42, + 48, 46, 53, 41, 59, 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10, 10, 9,110,111,114,109, 97,108, 46,120, 32, 61, + 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46,114, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,110,111,114,109, 97,108, 46,121, 32, + 61, 32, 50, 46, 48, 42, 40, 48, 46, 53, 32, 45, 32, 99,111,108,111,114, 46,103, 41, 59, 10, 9,110,111,114,109, 97,108, 46,122, + 32, 61, 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46, 98, 32, 45, 32, 48, 46, 53, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 77, 84, 69, 88, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 47, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111,114, 99,111, 40,118,101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, + 32,111,117,116, 32,118,101, 99, 51, 32,111,114, 99,111, 41, 10,123, 10, 9,111,114, 99,111, 32, 61, 32, 97,116,116,111,114, 99, +111, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,117,118, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32, +111,117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,123, 10, 9, 47, 42, 32,100,105,115, 97, 98,108,101,100, 32,102,111,114, 32, +110,111,119, 44, 32,119,111,114,107,115, 32,116,111,103,101,116,104,101,114, 32,119,105,116,104, 32,108,101, 97,118,105,110,103, + 32,111,117,116, 32,109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 10, 9, 32, 32, 32,117,118, 32, 61, 32,118,101, + 99, 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, + 46, 48, 41, 59, 32, 42, 47, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 44, 32, 48, 46, 48, 41, 59, 10, +125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32, +111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 99,111,114,114,101,115, +112,111,110,100,115, 32,116,111, 32,115,104,105, 45, 62,111,114,110, 44, 32,119,104,105, 99,104, 32,105,115, 32,110,101,103, 97, +116,101,100, 32,115,111, 32, 99, 97,110, 99,101,108,115, 10, 9, 32, 32, 32,111,117,116, 32, 98,108,101,110,100,101,114, 32,110, +111,114,109, 97,108, 32,110,101,103, 97,116,105,111,110, 32, 42, 47, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,110, +111,114,109, 97,108,105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95, +116, 97,110,103,101,110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111, +117,116,116, 97,110,103,101,110,116, 41, 10,123, 10, 9,111,117,116,116, 97,110,103,101,110,116, 32, 61, 32,110,111,114,109, 97, +108,105,122,101, 40,116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, + 95,103,108,111, 98, 97,108, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111, + 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 41, 10,123, 10, 9,103,108,111, 98, 97,108, 32, 61, 32, 40, +118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10,125, + 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111, 98,106,101, 99,116, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118, +109, 97,116, 44, 32,109, 97,116, 52, 32,111, 98,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, + 32,118,101, 99, 51, 32,111, 98,106,101, 99,116, 41, 10,123, 10, 9,111, 98,106,101, 99,116, 32, 61, 32, 40,111, 98,105,110,118, +109, 97,116, 42, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 41, 46, +120,121,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,114,101,102,108, 40,118,101, 99, 51, 32,118,110, 44, + 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32,114,101,102, 41, 10,123, 10, 9,114,101,102, + 32, 61, 32,118,105,101,119, 32, 45, 32, 50, 46, 48, 42,100,111,116, 40,118,110, 44, 32,118,105,101,119, 41, 42,118,110, 59, 10, +125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32, +111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 98,108,101,110,100,101, +114, 32,114,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110,101,103, 97,116,101,100, 32, 42, 47, 10, 9,111, +117,116,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32,111,117,116, 99,111, 108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97, 116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, - 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, - 32,102, 97, 99,116, 42, 97, 98,115, 40,116,101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118, -111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100, 97,114,107, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118, + 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, + 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,109, +117,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, + 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, + 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, + 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32, + 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10, +118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 99,114,101,101,110, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, + 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, + 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, +102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, + 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32, 40,118, +101, 99, 51, 40,102, 97, 99,109, 41, 32, 43, 32,102, 97, 99,116, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,116,101, +120, 99,111,108, 41, 41, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10, +118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,111,118,101,114,108, 97,121, 40,118,101, 99, 51, 32,111,117,116, 99,111, +108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97, +116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, + 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, + 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9, +105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, + 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46,114, 32, 61, + 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116, +101,120, 99,111,108, 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, + 40,111,117,116, 99,111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, + 99,111,108, 46,103, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 41, + 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, + 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46,103, 41, 41, 42, 40, 49, 46, + 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, + 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 42, 40,102, 97, 99,109, 32, 43, + 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99, +111,108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, + 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, + 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115,117, 98, 40,118,101, 99, 51, 32,111,117,116, 99, +111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, + 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,105,110, 99,111, +108, 32, 61, 32, 45,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10, +125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 97,100,100, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, + 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, + 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,105,110, 99,111,108, 32, + 61, 32,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10, +118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,118, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118, 101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99, -109, 44, 32, 99,111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, - 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 59, - 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, 99, -111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 59, 10, 9, 99,111, -108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, - 99,111,108, 46,103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, - 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111, -108, 46, 98, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, 98, - 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 59, - 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,108,105,103,104,116, 40,118,101, 99, 51, 32,111,117,116, - 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108, -111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, - 97,116, 32,102, 97, 99,109, 44, 32, 99,111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, - 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, - 99,111,108, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108, - 46,114, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46, -114, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108, - 32, 62, 32,111,117,116, 99,111,108, 46,103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, - 32,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, - 42,116,101,120, 99,111,108, 46, 98, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105, -110, 99,111,108, 46, 98, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, - 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,104,117,101, 40,118,101, 99, 51, - 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, - 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, - 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,104,117,101, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32, -118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, - 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, - 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 97,116, 40,118,101, 99, 51, 32,111,117,116, 99, +109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, + 97, 99,116, 59, 10, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, + 46,114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, + 46,114, 47,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, + 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,103, 32, 43, 32,102, 97, 99,116, + 42,111,117,116, 99,111,108, 46,103, 47,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40,116,101,120, 99,111,108, 46, 98, + 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, + 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46, 98, 47,116,101,120, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111, +105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,102,102, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, + 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99, +103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, + 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, + 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, + 42, 97, 98,115, 40,116,101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, +116,101,120, 95,114,103, 98, 95,100, 97,114,107, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116, +101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111, +117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 44, 32, 99,111, +108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, + 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40, + 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, 99,111,108, 59, 32,101, +108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 59, 10, 9, 99,111,108, 32, 61, 32,102, + 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46,103, + 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,103, 32, 61, 32, +111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 59, 10, + 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32, 99,111, +108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 59, 10,125, 10, 10,118, +111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,108,105,103,104,116, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32, +118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, + 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, + 99,109, 44, 32, 99,111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, + 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, + 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, + 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 59, 10, 9, 99, +111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117, +116, 99,111,108, 46,103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111, +108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99, +111,108, 46, 98, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, + 98, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, + 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,104,117,101, 40,118,101, 99, 51, 32,111,117,116, 99, 111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, - 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,115, 97,116, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40, + 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,104,117,101, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40, 111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10, -118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,118, 97,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118, +118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 97,116, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118, 101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, - 10, 10, 9,109,105,120, 95,118, 97,108, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111, + 10, 10, 9,109,105,120, 95,115, 97,116, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111, 108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32, -109,116,101,120, 95,114,103, 98, 95, 99,111,108,111,114, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, - 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, - 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9, -109,105,120, 95, 99,111,108,111,114, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, - 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, - 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109, -116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,105,110,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, - 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,109, 41, 10,123, 10, 9, -102, 97, 99,116, 32, 42, 61, 32, 97, 98,115, 40,102, 97, 99,103, 41, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, - 97, 99,116, 59, 10, 10, 9,105,102, 40,102, 97, 99,103, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32, -116,109,112, 32, 61, 32,102, 97, 99,116, 59, 10, 9, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,109, 59, 10, 9, 9,102, 97, 99, -109, 32, 61, 32,116,109,112, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 98, -108,101,110,100, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, - 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, - 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, - 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105, -110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, - 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,109,117,108, 40,102,108,111, 97,116, 32,111, -117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, - 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, - 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, - 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32, -102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99, -111,108, 41, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115, - 99,114,101,101,110, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, - 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95, -118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9, -102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, 32, 61, 32, 49, 46, 48, 32, - 45, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 41, 41, 42, 40, - 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117, -101, 95,115,117, 98, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, - 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95, -118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9, -102, 97, 99,116, 32, 61, 32, 45,102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99, -111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, - 97,100,100, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32, -102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97, -116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97, -108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, - 99,116, 32, 61, 32,102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, - 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100,105,118, +109,116,101,120, 95,114,103, 98, 95,118, 97,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116, +101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111, +117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105, +120, 95,118, 97,108, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, + 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, + 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, +114,103, 98, 95, 99,111,108,111,114, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99, +111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32, +118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95, 99, +111,108,111,114, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, + 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99, +111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, + 97,108,117,101, 95,118, 97,114,115, 40,105,110,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97, +116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,109, 41, 10,123, 10, 9,102, 97, 99,116, 32, + 42, 61, 32, 97, 98,115, 40,102, 97, 99,103, 41, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, + 10, 9,105,102, 40,102, 97, 99,103, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, + 32,102, 97, 99,116, 59, 10, 9, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,109, 59, 10, 9, 9,102, 97, 99,109, 32, 61, 32,116, +109,112, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 98,108,101,110,100, 40, +102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97, +116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, + 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95, +118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,110, 99,111,108, 32, + 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10, +118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,109,117,108, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, + 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97, +116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97, +116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, + 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, + 10, 9,105,110, 99,111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, 42,111, +117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115, 99,114,101,101,110, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105, 110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, - 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,102, 40,116,101, -120, 99,111,108, 32, 33, 61, 32, 48, 46, 48, 41, 10, 9, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99, -111,108, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 47,116,101,120, 99,111,108, 59, 10, 9,101,108,115,101, 10, 9, - 9,105,110, 99,111,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, - 95,100,105,102,102, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, - 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95, -118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9, -105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, 97, 98,115, 40,116, -101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97, -108,117,101, 95,100, 97,114,107, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, - 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116, -101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, - 10, 10, 9,102,108,111, 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40, - 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32, -105,110, 99,111,108, 32, 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108, -117,101, 95,108,105,103,104,116, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, - 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116, -101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, - 10, 10, 9,102,108,111, 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40, - 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32, -105,110, 99,111,108, 32, 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108, -117,101, 95, 99,108, 97,109,112, 95,112,111,115,105,116,105,118,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,111,117,116,102, 97, 99, 32, 61, 32,109, 97,120, 40,102, - 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 99,108, 97, -109,112, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10, -123, 10, 9,111,117,116,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, - 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,100,105,118,105,100,101, 40,102,108,111, 97,116, 32, -104, 97,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, 9,111,117,116,104, 97,114, - 32, 61, 32,104, 97,114, 47, 49, 50, 56, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,109, -117,108,116,105,112,108,121, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32,111,117,116, 32,102,108,111, - 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, 9,104, 97,114, 32, 42, 61, 32, 49, 50, 56, 46, 48, 59, 10, 10, 9,105,102, - 40,104, 97,114, 32, 60, 32, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32, -105,102, 40,104, 97,114, 32, 62, 32, 53, 49, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 53, 49, 49, 46, 48, 59, 10, - 9,101,108,115,101, 32,111,117,116,104, 97,114, 32, 61, 32,104, 97,114, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, - 95, 97,108,112,104, 97, 95,102,114,111,109, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32, 97,108,112,104, 97, 41, 10,123, 10, 9, 97,108,112,104, 97, 32, 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10, -118,111,105,100, 32,109,116,101,120, 95, 97,108,112,104, 97, 95,116,111, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, - 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, - 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, - 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98,116,111,105,110,116, 40,118,101, 99, 52, 32,114,103, 98, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,105,110,116,101,110,115,105, -116,121, 32, 61, 32,100,111,116, 40,118,101, 99, 51, 40, 48, 46, 51, 53, 44, 32, 48, 46, 52, 53, 44, 32, 48, 46, 50, 41, 44, 32, -114,103, 98, 46,114,103, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,105,110,118, -101,114,116, 40,102,108,111, 97,116, 32,105,110,118, 97,108,117,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, -118, 97,108,117,101, 41, 10,123, 10, 9,111,117,116,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 32, 45, 32,105,110,118, 97,108, -117,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,105,110,118,101,114,116, 40,118,101, 99, 52, - 32,105,110,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114, -103, 98, 32, 61, 32,118,101, 99, 52, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,105,110,114,103, 98, 46,114,103, 98, 44, - 32,105,110,114,103, 98, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115,116, -101,110, 99,105,108, 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,102,108,111, 97,116, 32,105,110,116,101,110, -115,105,116,121, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32, -102,108,111, 97,116, 32,111,117,116,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99, -116, 32, 61, 32,105,110,116,101,110,115,105,116,121, 59, 10, 9,111,117,116,105,110,116,101,110,115,105,116,121, 32, 61, 32,105, -110,116,101,110,115,105,116,121, 42,115,116,101,110, 99,105,108, 59, 10, 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32, -115,116,101,110, 99,105,108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, -116,101,110, 99,105,108, 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,118,101, 99, 52, 32,114,103, 98, 44, 32, -111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111, -117,116,114,103, 98, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,114,103, 98, 46, 97, 59, 10, 9,111, -117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32,114,103, 98, 46, 97, 42,115,116,101,110, - 99,105,108, 41, 59, 10, 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99,105,108, 42,102, 97, 99,116, - 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,111,102,115, 40,118,101, 99, 51, 32, -116,101,120, 99,111, 44, 32,118,101, 99, 51, 32,111,102,115, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120, - 99,111, 41, 10,123, 10, 9,111,117,116,116,101,120, 99,111, 32, 61, 32,116,101,120, 99,111, 32, 43, 32,111,102,115, 59, 10,125, - 10, 10,118,111,105,100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,115,105,122,101, 40,118,101, 99, 51, 32,116,101, -120, 99,111, 44, 32,118,101, 99, 51, 32,115,105,122,101, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120, 99, -111, 41, 10,123, 10, 9,111,117,116,116,101,120, 99,111, 32, 61, 32,115,105,122,101, 42,116,101,120, 99,111, 59, 10,125, 10, 10, -118,111,105,100, 32,109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111, -117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51, - 40,118,101, 99, 46,120,121, 42, 48, 46, 53, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 32, 48, 46, 53, 41, 44, 32,118,101, - 99, 46,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32,116,101, -120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97, -108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32, -116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118, 97,108,117,101, - 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,111,114,109, 97,108, 40,118,101, 99, 51, - 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 51, 32, -110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 47, 32, 84,104,101, 32,105,110,118,101,114,116, 32,111,102, 32,116,104,101, 32, -114,101,100, 32, 99,104, 97,110,110,101,108, 32,105,115, 32,116,111, 32,109, 97,107,101, 10, 9, 47, 47, 32,116,104,101, 32,110, -111,114,109, 97,108, 32,109, 97,112, 32, 99,111,109,112,108,105, 97,110,116, 32,119,105,116,104, 32,116,104,101, 32,111,117,116, -115,105,100,101, 32,119,111,114,108,100, 46, 10, 9, 47, 47, 32, 73,116, 32,110,101,101,100,115, 32,116,111, 32, 98,101, 32,100, -111,110,101, 32, 98,101, 99, 97,117,115,101, 32,105,110, 32, 66,108,101,110,100,101,114, 10, 9, 47, 47, 32,116,104,101, 32,110, -111,114,109, 97,108, 32,117,115,101,100, 32,112,111,105,110,116,115, 32,105,110,119, 97,114,100, 46, 10, 9, 47, 47, 32, 83,104, -111,117,108,100, 32,116,104,105,115, 32,101,118,101,114, 32, 99,104, 97,110,103,101, 32,116,104,105,115, 32,110,101,103, 97,116, -101, 32,109,117,115,116, 32, 98,101, 32,114,101,109,111,118,101,100, 46, 10, 32, 32, 32, 32,118,101, 99, 52, 32, 99,111,108,111, -114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,110, -111,114,109, 97,108, 32, 61, 32, 50, 46, 48, 42, 40,118,101, 99, 51, 40, 45, 99,111,108,111,114, 46,114, 44, 32, 99,111,108,111, -114, 46,103, 44, 32, 99,111,108,111,114, 46, 98, 41, 32, 45, 32,118,101, 99, 51, 40, 45, 48, 46, 53, 44, 32, 48, 46, 53, 44, 32, - 48, 46, 53, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,110,111,114,109, 97,108,115, - 95,105,110,105,116, 40, 32,118,101, 99, 51, 32,118, 78, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78,111,114,103, 44, 32, -111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, - 97,103,110,105,116,117,100,101, 32, 41, 10,123, 10, 9,118, 78,111,114,103, 32, 61, 32,118, 78, 59, 10, 9,118, 78, 97, 99, 99, - 32, 61, 32,118, 78, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, - 10, 47, 42, 42, 32,104,101,108,112,101,114, 32,109,101,116,104,111,100, 32,116,111, 32,101,120,116,114, 97, 99,116, 32,116,104, -101, 32,117,112,112,101,114, 32,108,101,102,116, 32, 51,120, 51, 32,109, 97,116,114,105,120, 32,102,114,111,109, 32, 97, 32, 52, -120, 52, 32,109, 97,116,114,105,120, 32, 42, 47, 10,109, 97,116, 51, 32,116,111, 95,109, 97,116, 51, 40,109, 97,116, 52, 32,109, - 52, 41, 10,123, 10, 9,109, 97,116, 51, 32,109, 51, 59, 10, 9,109, 51, 91, 48, 93, 32, 61, 32,109, 52, 91, 48, 93, 46,120,121, -122, 59, 10, 9,109, 51, 91, 49, 93, 32, 61, 32,109, 52, 91, 49, 93, 46,120,121,122, 59, 10, 9,109, 51, 91, 50, 93, 32, 61, 32, -109, 52, 91, 50, 93, 46,120,121,122, 59, 10, 9,114,101,116,117,114,110, 32,109, 51, 59, 10,125, 10, 10,118,111,105,100, 32,109, -116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,111, 98,106,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114, -102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, -109, 97,116, 52, 32,109, 86,105,101,119, 44, 32,109, 97,116, 52, 32,109, 86,105,101,119, 73,110,118, 44, 32,109, 97,116, 52, 32, -109, 79, 98,106, 44, 32,109, 97,116, 52, 32,109, 79, 98,106, 73,110,118, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,102,108, -111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, - 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97, -103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, - 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, - 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,109, 97,116, 51, - 32,111, 98,106, 50,118,105,101,119, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,103,108, 95, 77,111,100,101,108, 86,105,101,119, - 77, 97,116,114,105,120, 41, 59, 10, 9,109, 97,116, 51, 32,118,105,101,119, 50,111, 98,106, 32, 61, 32,116,111, 95,109, 97,116, - 51, 40,103,108, 95, 77,111,100,101,108, 86,105,101,119, 77, 97,116,114,105,120, 73,110,118,101,114,115,101, 41, 59, 10, 9, 10, - 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, 42, 32,100, 70,100,120, 40, - 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,118,105,101, -119, 50,111, 98,106, 32, 42, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32, -118, 78, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,115,117,114,102, 95,110,111,114,109, 32, 42, 32,111, 98,106, 50, -118,105,101,119, 32, 41, 59, 10, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32, -118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, - 41, 32, 59, 10, 9,102, 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, - 59, 10, 9, 10, 9, 47, 42, 32,112,114,101,116,114, 97,110,115,102,111,114,109, 32,118, 78, 97, 99, 99, 32, 40,105,110, 32,109, -116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 41, 32,117,115,105,110,103, 32,116,104,101, 32,105,110,118,101,114,115, -101, 32,116,114, 97,110,115,112,111,115,101,100, 32, 42, 47, 10, 9,118, 82, 49, 32, 61, 32,118, 82, 49, 32, 42, 32,118,105,101, -119, 50,111, 98,106, 59, 10, 9,118, 82, 50, 32, 61, 32,118, 82, 50, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9,118, - 78, 32, 61, 32,118, 78, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103, -110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 32, 42, 32,108,101,110,103,116,104, 40,118, 78, 41, 59, - 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105, -116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101, -118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10, -118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,116,101,120,116,117,114,101,115,112, 97, 99,101, - 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, - 32, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, - 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117, -116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32, -118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118, -101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, - 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, 40, - 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70,100, -121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95,110, -111,114,109, 59, 32, 47, 42, 32,110,111,114,109, 97,108,105,122,101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, 32, -118,101,114,116,101,120, 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, 32,110,111,114,109, 97,108, -105,122,101, 40, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 32, 41, 59, 10, 9,118, 82, - 50, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, - 83, 32, 41, 32, 41, 59, 10, 9,102, 68,101,116, 32, 61, 32,115,105,103,110, 40, 32,100,111,116, 40,118, 83,105,103,109, 97, 83, - 44, 32,118, 82, 49, 41, 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, - 97, 98,115, 40,102, 68,101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, - 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95, -105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110, -105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,118,105, -101,119,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114, -102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97, -103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, - 9, 9, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117, -116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, - 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117, -116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, - 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, - 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, - 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109, 97,108,105,122,101,100, 32,105,110,116,101,114,112, -111,108, 97,116,101,100, 32,118,101,114,116,101,120, 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, - 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114, -111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 59, 10, 9,102, 68,101,116, 32, 61, 32,100,111,116, - 32, 40, 32,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103, -110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, - 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, - 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117, -116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109, -112, 95,116, 97,112, 51, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, - 97, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, -100, 66,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 83, 84,108,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, - 9,118,101, 99, 50, 32, 83, 84,108,114, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,120, 40,116,101,120, - 99,111, 46,120,121, 41, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, - 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72,108,108, 44, 72, -108,114, 44, 72,117,108, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, - 32, 83, 84,108,108, 41, 44, 32, 72,108,108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, - 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,114, 41, 44, 32, 72,108,114, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32, -116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117,108, 41, 44, 32, 72,117,108, 32, 41, 59, 10, 9, 10, 9, -100, 66,115, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,108,114, 32, 45, 32, 72,108,108, 41, 59, 10, 9,100, 66,116, - 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,117,108, 32, 45, 32, 72,108,108, 41, 59, 10,125, 10, 10, 35,105,102,100, -101,102, 32, 66, 85, 77, 80, 95, 66, 73, 67, 85, 66, 73, 67, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, - 98,105, 99,117, 98,105, 99, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105, -109, 97, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, - 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,102,108,111, 97,116, 32, 72,108, 59, 10, 9,102,108,111, 97,116, 32, 72,114, 59, 10, - 9,102,108,111, 97,116, 32, 72,100, 59, 10, 9,102,108,111, 97,116, 32, 72,117, 59, 10, 9, 10, 9,118,101, 99, 50, 32, 84,101, -120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68, -121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 32, 10, 9,118,101, 99, 50, 32, 83, 84,108, 32, - 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99, 50, - 32, 83, 84,114, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32, 59, 10, - 9,118,101, 99, 50, 32, 83, 84,100, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, - 68,121, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, - 42, 32, 84,101,120, 68,121, 32, 59, 10, 9, 10, 9,114,103, 98,116,111, 98,119, 40,116,101,120,116,117,114,101, 50, 68, 40,105, -109, 97, 44, 32, 83, 84,108, 41, 44, 32, 72,108, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40,116,101,120,116,117,114,101, 50, - 68, 40,105,109, 97, 44, 32, 83, 84,114, 41, 44, 32, 72,114, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40,116,101,120,116,117, -114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,100, 41, 44, 32, 72,100, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40,116,101, -120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117, 41, 44, 32, 72,117, 41, 59, 10, 9, 10, 9,118,101, 99, 50, 32, -100, 72,100,120,121, 32, 61, 32,118,101, 99, 50, 40, 72,114, 32, 45, 32, 72,108, 44, 32, 72,117, 32, 45, 32, 72,100, 41, 59, 10, - 9,102,108,111, 97,116, 32,102, 66,108,101,110,100, 32, 61, 32, 99,108, 97,109,112, 40, 49, 46, 48, 45,116,101,120,116,117,114, -101, 81,117,101,114,121, 76, 79, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 46,120, 44, 32, 48, 46, 48, 44, - 32, 49, 46, 48, 41, 59, 10, 9,105,102, 40,102, 66,108,101,110,100, 33, 61, 48, 46, 48, 41, 10, 9,123, 10, 9, 9, 47, 47, 32, -116,104,101, 32,100,101,114,105,118, 97,116,105,118,101, 32,111,102, 32,116,104,101, 32, 98,105, 99,117, 98,105, 99, 32,115, 97, -109,112,108,105,110,103, 32,111,102, 32,108,101,118,101,108, 32, 48, 10, 9, 9,105,118,101, 99, 50, 32,118, 68,105,109, 59, 10, - 9, 9,118, 68,105,109, 32, 61, 32,116,101,120,116,117,114,101, 83,105,122,101, 40,105,109, 97, 44, 32, 48, 41, 59, 10, 10, 9, - 9, 47, 47, 32,116, 97,107,105,110,103, 32,116,104,101, 32,102,114, 97, 99,116, 32,112, 97,114,116, 32,111,102, 32,116,104,101, - 32,116,101,120,116,117,114,101, 32, 99,111,111,114,100,105,110, 97,116,101, 32,105,115, 32, 97, 32,104, 97,114,100, 99,111,100, -101,100, 32,119,114, 97,112, 32,109,111,100,101, 46, 10, 9, 9, 47, 47, 32,116,104,105,115, 32,105,115, 32, 97, 99, 99,101,112, -116, 97, 98,108,101, 32, 97,115, 32,116,101,120,116,117,114,101,115, 32,117,115,101, 32,119,114, 97,112, 32,109,111,100,101, 32, -101,120, 99,108,117,115,105,118,101,108,121, 32,105,110, 32, 51, 68, 32,118,105,101,119, 32,101,108,115,101,119,104,101,114,101, - 32,105,110, 32, 98,108,101,110,100,101,114, 46, 32, 10, 9, 9, 47, 47, 32,116,104,105,115, 32,105,115, 32,100,111,110,101, 32, -115,111, 32,116,104, 97,116, 32,119,101, 32, 99, 97,110, 32,115,116,105,108,108, 32,103,101,116, 32, 97, 32,118, 97,108,105,100, - 32,116,101,120,101,108, 32,119,105,116,104, 32,117,118,115, 32,111,117,116,115,105,100,101, 32,116,104,101, 32, 48, 44, 49, 32, -114, 97,110,103,101, 10, 9, 9, 47, 47, 32, 98,121, 32,116,101,120,101,108, 70,101,116, 99,104, 32, 98,101,108,111,119, 44, 32, - 97,115, 32, 99,111,111,114,100,105,110, 97,116,101,115, 32, 97,114,101, 32, 99,108, 97,109,112,101,100, 32,119,104,101,110, 32, -117,115,105,110,103, 32,116,104,105,115, 32,102,117,110, 99,116,105,111,110, 46, 10, 9, 9,118,101, 99, 50, 32,102, 84,101,120, - 76,111, 99, 32, 61, 32,118, 68,105,109, 42,102,114, 97, 99,116, 40,116,101,120, 99,111, 46,120,121, 41, 32, 45, 32,118,101, 99, - 50, 40, 48, 46, 53, 44, 32, 48, 46, 53, 41, 59, 10, 9, 9,105,118,101, 99, 50, 32,105, 84,101,120, 76,111, 99, 32, 61, 32,105, -118,101, 99, 50, 40,102,108,111,111,114, 40,102, 84,101,120, 76,111, 99, 41, 41, 59, 10, 9, 9,118,101, 99, 50, 32,116, 32, 61, - 32, 99,108, 97,109,112, 40,102, 84,101,120, 76,111, 99, 32, 45, 32,105, 84,101,120, 76,111, 99, 44, 32, 48, 46, 48, 44, 32, 49, - 46, 48, 41, 59, 9, 9, 47, 47, 32,115, 97,116, 32,106,117,115,116, 32,116,111, 32, 98,101, 32,112,101,100, 97,110,116,105, 99, - 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, + 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, + 99,109, 32, 43, 32,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 41, 41, 42, 40, 49, 46, 48, 32, 45, + 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115,117, 98, + 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, + 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105, +110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, + 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,116, 32, + 61, 32, 45,102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32, +111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 97,100,100, 40,102, +108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, + 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99, +111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, + 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,116, 32, 61, 32, +102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, + 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100,105,118, 40,102,108,111, 97, +116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, + 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, + 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, + 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,102, 40,116,101,120, 99,111,108, 32, + 33, 61, 32, 48, 46, 48, 41, 10, 9, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32, +102, 97, 99,116, 42,111,117,116, 99,111,108, 47,116,101,120, 99,111,108, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111, +108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100,105,102,102, + 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, + 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105, +110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, + 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,110, 99,111,108, + 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, 97, 98,115, 40,116,101,120, 99,111,108, + 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100, + 97,114,107, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32, +102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97, +108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108, +111, 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, + 32,111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, + 32, 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,108,105, +103,104,116, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32, +102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97, +108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108, +111, 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, + 32,111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, + 32, 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 99,108, + 97,109,112, 95,112,111,115,105,116,105,118,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,111,117,116,102, 97, 99, 32, 61, 32,109, 97,120, 40,102, 97, 99, 44, 32, 48, + 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 99,108, 97,109,112, 40,102,108, +111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,111,117, +116,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10, +118,111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,100,105,118,105,100,101, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32, +111,117,116, 32,102,108,111, 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, 9,111,117,116,104, 97,114, 32, 61, 32,104, 97, +114, 47, 49, 50, 56, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,109,117,108,116,105,112, +108,121, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117, +116,104, 97,114, 41, 10,123, 10, 9,104, 97,114, 32, 42, 61, 32, 49, 50, 56, 46, 48, 59, 10, 10, 9,105,102, 40,104, 97,114, 32, + 60, 32, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,104, 97, +114, 32, 62, 32, 53, 49, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 53, 49, 49, 46, 48, 59, 10, 9,101,108,115,101, + 32,111,117,116,104, 97,114, 32, 61, 32,104, 97,114, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 97,108,112,104, + 97, 95,102,114,111,109, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 97, +108,112,104, 97, 41, 10,123, 10, 9, 97,108,112,104, 97, 32, 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95, 97,108,112,104, 97, 95,116,111, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,102,108,111, 97, +116, 32, 97,108,112,104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, + 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, 10, 10,118, +111,105,100, 32,109,116,101,120, 95,114,103, 98,116,111,105,110,116, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32, +102,108,111, 97,116, 32,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,105,110,116,101,110,115,105,116,121, 32, 61, 32, +100,111,116, 40,118,101, 99, 51, 40, 48, 46, 51, 53, 44, 32, 48, 46, 52, 53, 44, 32, 48, 46, 50, 41, 44, 32,114,103, 98, 46,114, +103, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,105,110,118,101,114,116, 40,102, +108,111, 97,116, 32,105,110,118, 97,108,117,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108,117,101, + 41, 10,123, 10, 9,111,117,116,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 32, 45, 32,105,110,118, 97,108,117,101, 59, 10,125, + 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,105,110,118,101,114,116, 40,118,101, 99, 52, 32,105,110,114,103, + 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114,103, 98, 32, 61, 32, +118,101, 99, 52, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,105,110,114,103, 98, 46,114,103, 98, 44, 32,105,110,114,103, + 98, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115,116,101,110, 99,105,108, + 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,102,108,111, 97,116, 32,105,110,116,101,110,115,105,116,121, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32,102,108,111, 97,116, + 32,111,117,116,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,105, +110,116,101,110,115,105,116,121, 59, 10, 9,111,117,116,105,110,116,101,110,115,105,116,121, 32, 61, 32,105,110,116,101,110,115, +105,116,121, 42,115,116,101,110, 99,105,108, 59, 10, 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99, +105,108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115,116,101,110, 99,105, +108, 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,102, +108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, + 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,114,103, 98, 46, 97, 59, 10, 9,111,117,116,114,103, 98, + 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32,114,103, 98, 46, 97, 42,115,116,101,110, 99,105,108, 41, 59, + 10, 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99,105,108, 42,102, 97, 99,116, 59, 10,125, 10, 10, +118,111,105,100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,111,102,115, 40,118,101, 99, 51, 32,116,101,120, 99,111, + 44, 32,118,101, 99, 51, 32,111,102,115, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120, 99,111, 41, 10,123, + 10, 9,111,117,116,116,101,120, 99,111, 32, 61, 32,116,101,120, 99,111, 32, 43, 32,111,102,115, 59, 10,125, 10, 10,118,111,105, +100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,115,105,122,101, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32, +118,101, 99, 51, 32,115,105,122,101, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120, 99,111, 41, 10,123, 10, + 9,111,117,116,116,101,120, 99,111, 32, 61, 32,115,105,122,101, 42,116,101,120, 99,111, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,118,101, + 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51, 40,118,101, 99, 46, +120,121, 42, 48, 46, 53, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 32, 48, 46, 53, 41, 44, 32,118,101, 99, 46,122, 41, 59, + 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32, +115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32, +111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117, +114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, + 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,116,101,120, 99, +111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97, +108, 41, 10,123, 10, 9, 47, 47, 32, 84,104,101, 32,105,110,118,101,114,116, 32,111,102, 32,116,104,101, 32,114,101,100, 32, 99, +104, 97,110,110,101,108, 32,105,115, 32,116,111, 32,109, 97,107,101, 10, 9, 47, 47, 32,116,104,101, 32,110,111,114,109, 97,108, + 32,109, 97,112, 32, 99,111,109,112,108,105, 97,110,116, 32,119,105,116,104, 32,116,104,101, 32,111,117,116,115,105,100,101, 32, +119,111,114,108,100, 46, 10, 9, 47, 47, 32, 73,116, 32,110,101,101,100,115, 32,116,111, 32, 98,101, 32,100,111,110,101, 32, 98, +101, 99, 97,117,115,101, 32,105,110, 32, 66,108,101,110,100,101,114, 10, 9, 47, 47, 32,116,104,101, 32,110,111,114,109, 97,108, + 32,117,115,101,100, 32,112,111,105,110,116,115, 32,105,110,119, 97,114,100, 46, 10, 9, 47, 47, 32, 83,104,111,117,108,100, 32, +116,104,105,115, 32,101,118,101,114, 32, 99,104, 97,110,103,101, 32,116,104,105,115, 32,110,101,103, 97,116,101, 32,109,117,115, +116, 32, 98,101, 32,114,101,109,111,118,101,100, 46, 10, 32, 32, 32, 32,118,101, 99, 52, 32, 99,111,108,111,114, 32, 61, 32,116, +101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,110,111,114,109, 97,108, + 32, 61, 32, 50, 46, 48, 42, 40,118,101, 99, 51, 40, 45, 99,111,108,111,114, 46,114, 44, 32, 99,111,108,111,114, 46,103, 44, 32, + 99,111,108,111,114, 46, 98, 41, 32, 45, 32,118,101, 99, 51, 40, 45, 48, 46, 53, 44, 32, 48, 46, 53, 44, 32, 48, 46, 53, 41, 41, + 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,110,111,114,109, 97,108,115, 95,105,110,105,116, + 40, 32,118,101, 99, 51, 32,118, 78, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78,111,114,103, 44, 32,111,117,116, 32,118, +101, 99, 51, 32,118, 78, 97, 99, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116, +117,100,101, 32, 41, 10,123, 10, 9,118, 78,111,114,103, 32, 61, 32,118, 78, 59, 10, 9,118, 78, 97, 99, 99, 32, 61, 32,118, 78, + 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10, 47, 42, 42, 32, +104,101,108,112,101,114, 32,109,101,116,104,111,100, 32,116,111, 32,101,120,116,114, 97, 99,116, 32,116,104,101, 32,117,112,112, +101,114, 32,108,101,102,116, 32, 51,120, 51, 32,109, 97,116,114,105,120, 32,102,114,111,109, 32, 97, 32, 52,120, 52, 32,109, 97, +116,114,105,120, 32, 42, 47, 10,109, 97,116, 51, 32,116,111, 95,109, 97,116, 51, 40,109, 97,116, 52, 32,109, 52, 41, 10,123, 10, + 9,109, 97,116, 51, 32,109, 51, 59, 10, 9,109, 51, 91, 48, 93, 32, 61, 32,109, 52, 91, 48, 93, 46,120,121,122, 59, 10, 9,109, + 51, 91, 49, 93, 32, 61, 32,109, 52, 91, 49, 93, 46,120,121,122, 59, 10, 9,109, 51, 91, 50, 93, 32, 61, 32,109, 52, 91, 50, 93, + 46,120,121,122, 59, 10, 9,114,101,116,117,114,110, 32,109, 51, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98, +117,109,112, 95,105,110,105,116, 95,111, 98,106,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, + 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,109, 97,116, 52, 32, +109, 86,105,101,119, 44, 32,109, 97,116, 52, 32,109, 86,105,101,119, 73,110,118, 44, 32,109, 97,116, 52, 32,109, 79, 98,106, 44, + 32,109, 97,116, 52, 32,109, 79, 98,106, 73,110,118, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102, + 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, + 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117, +100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, + 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, + 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,109, 97,116, 51, 32,111, 98,106, 50, +118,105,101,119, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,103,108, 95, 77,111,100,101,108, 86,105,101,119, 77, 97,116,114,105, +120, 41, 59, 10, 9,109, 97,116, 51, 32,118,105,101,119, 50,111, 98,106, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,103,108, 95, + 77,111,100,101,108, 86,105,101,119, 77, 97,116,114,105,120, 73,110,118,101,114,115,101, 41, 59, 10, 9, 10, 9,118,101, 99, 51, + 32,118, 83,105,103,109, 97, 83, 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, 42, 32,100, 70,100,120, 40, 32,115,117,114,102, + 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,118,105,101,119, 50,111, 98,106, + 32, 42, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32, +110,111,114,109, 97,108,105,122,101, 40, 32,115,117,114,102, 95,110,111,114,109, 32, 42, 32,111, 98,106, 50,118,105,101,119, 32, + 41, 59, 10, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, + 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 59, 10, 9, +102, 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9, + 47, 42, 32,112,114,101,116,114, 97,110,115,102,111,114,109, 32,118, 78, 97, 99, 99, 32, 40,105,110, 32,109,116,101,120, 95, 98, +117,109,112, 95, 97,112,112,108,121, 41, 32,117,115,105,110,103, 32,116,104,101, 32,105,110,118,101,114,115,101, 32,116,114, 97, +110,115,112,111,115,101,100, 32, 42, 47, 10, 9,118, 82, 49, 32, 61, 32,118, 82, 49, 32, 42, 32,118,105,101,119, 50,111, 98,106, + 59, 10, 9,118, 82, 50, 32, 61, 32,118, 82, 50, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9,118, 78, 32, 61, 32,118, + 78, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100, +101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 32, 42, 32,108,101,110,103,116,104, 40,118, 78, 41, 59, 10, 9,118, 78, 97, + 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, + 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110, +105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,116,101,120,116,117,114,101,115,112, 97, 99,101, 40, 32,118,101, 99, + 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, + 9, 9, 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32, +118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, + 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32, +118, 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, + 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, + 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, + 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117, +114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, + 47, 42, 32,110,111,114,109, 97,108,105,122,101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, 32,118,101,114,116,101, +120, 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32, + 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32,110, +111,114,109, 97,108,105,122,101, 40, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 41, + 59, 10, 9,102, 68,101,116, 32, 61, 32,115,105,103,110, 40, 32,100,111,116, 40,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, + 41, 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, + 68,101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, + 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, + 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, + 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,118,105,101,119,115,112, 97, + 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114, +109, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117, +100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32, +111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117, +116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, + 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, + 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100, +120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, + 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, + 95,110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109, 97,108,105,122,101,100, 32,105,110,116,101,114,112,111,108, 97,116,101, +100, 32,118,101,114,116,101,120, 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115, +115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40, 32, +118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 59, 10, 9,102, 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83, +105,103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100, +101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, + 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116, +117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, + 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,112, + 51, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108, +111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, + 32, 10,123, 10, 9,118,101, 99, 50, 32, 83, 84,108,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, + 32, 83, 84,108,114, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, + 41, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,121, + 40,116,101,120, 99,111, 46,120,121, 41, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72,108,108, 44, 72,108,114, 44, 72,117, +108, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,108, + 41, 44, 32, 72,108,108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, + 97, 44, 32, 83, 84,108,114, 41, 44, 32, 72,108,114, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117, +114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117,108, 41, 44, 32, 72,117,108, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, + 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,108,114, 32, 45, 32, 72,108,108, 41, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, + 99, 97,108,101, 32, 42, 32, 40, 72,117,108, 32, 45, 32, 72,108,108, 41, 59, 10,125, 10, 10, 35,105,102,100,101,102, 32, 66, 85, + 77, 80, 95, 66, 73, 67, 85, 66, 73, 67, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, 98,105, 99,117, 98, +105, 99, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102, +108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, + 41, 32, 10,123, 10, 9,102,108,111, 97,116, 32, 72,108, 59, 10, 9,102,108,111, 97,116, 32, 72,114, 59, 10, 9,102,108,111, 97, +116, 32, 72,100, 59, 10, 9,102,108,111, 97,116, 32, 72,117, 59, 10, 9, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, + 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, + 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 32, 10, 9,118,101, 99, 50, 32, 83, 84,108, 32, 61, 32,116,101,120, + 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,114, 32, + 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99, 50, + 32, 83, 84,100, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, 59, 10, + 9,118,101, 99, 50, 32, 83, 84,117, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, + 68,121, 32, 59, 10, 9, 10, 9,114,103, 98,116,111, 98,119, 40,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, + 84,108, 41, 44, 32, 72,108, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, + 44, 32, 83, 84,114, 41, 44, 32, 72,114, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40,116,101,120,116,117,114,101, 50, 68, 40, +105,109, 97, 44, 32, 83, 84,100, 41, 44, 32, 72,100, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40,116,101,120,116,117,114,101, + 50, 68, 40,105,109, 97, 44, 32, 83, 84,117, 41, 44, 32, 72,117, 41, 59, 10, 9, 10, 9,118,101, 99, 50, 32,100, 72,100,120,121, + 32, 61, 32,118,101, 99, 50, 40, 72,114, 32, 45, 32, 72,108, 44, 32, 72,117, 32, 45, 32, 72,100, 41, 59, 10, 9,102,108,111, 97, +116, 32,102, 66,108,101,110,100, 32, 61, 32, 99,108, 97,109,112, 40, 49, 46, 48, 45,116,101,120,116,117,114,101, 81,117,101,114, +121, 76, 79, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 46,120, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, + 59, 10, 9,105,102, 40,102, 66,108,101,110,100, 33, 61, 48, 46, 48, 41, 10, 9,123, 10, 9, 9, 47, 47, 32,116,104,101, 32,100, +101,114,105,118, 97,116,105,118,101, 32,111,102, 32,116,104,101, 32, 98,105, 99,117, 98,105, 99, 32,115, 97,109,112,108,105,110, +103, 32,111,102, 32,108,101,118,101,108, 32, 48, 10, 9, 9,105,118,101, 99, 50, 32,118, 68,105,109, 59, 10, 9, 9,118, 68,105, +109, 32, 61, 32,116,101,120,116,117,114,101, 83,105,122,101, 40,105,109, 97, 44, 32, 48, 41, 59, 10, 10, 9, 9, 47, 47, 32,116, + 97,107,105,110,103, 32,116,104,101, 32,102,114, 97, 99,116, 32,112, 97,114,116, 32,111,102, 32,116,104,101, 32,116,101,120,116, +117,114,101, 32, 99,111,111,114,100,105,110, 97,116,101, 32,105,115, 32, 97, 32,104, 97,114,100, 99,111,100,101,100, 32,119,114, + 97,112, 32,109,111,100,101, 46, 10, 9, 9, 47, 47, 32,116,104,105,115, 32,105,115, 32, 97, 99, 99,101,112,116, 97, 98,108,101, + 32, 97,115, 32,116,101,120,116,117,114,101,115, 32,117,115,101, 32,119,114, 97,112, 32,109,111,100,101, 32,101,120, 99,108,117, +115,105,118,101,108,121, 32,105,110, 32, 51, 68, 32,118,105,101,119, 32,101,108,115,101,119,104,101,114,101, 32,105,110, 32, 98, +108,101,110,100,101,114, 46, 32, 10, 9, 9, 47, 47, 32,116,104,105,115, 32,105,115, 32,100,111,110,101, 32,115,111, 32,116,104, + 97,116, 32,119,101, 32, 99, 97,110, 32,115,116,105,108,108, 32,103,101,116, 32, 97, 32,118, 97,108,105,100, 32,116,101,120,101, +108, 32,119,105,116,104, 32,117,118,115, 32,111,117,116,115,105,100,101, 32,116,104,101, 32, 48, 44, 49, 32,114, 97,110,103,101, + 10, 9, 9, 47, 47, 32, 98,121, 32,116,101,120,101,108, 70,101,116, 99,104, 32, 98,101,108,111,119, 44, 32, 97,115, 32, 99,111, +111,114,100,105,110, 97,116,101,115, 32, 97,114,101, 32, 99,108, 97,109,112,101,100, 32,119,104,101,110, 32,117,115,105,110,103, + 32,116,104,105,115, 32,102,117,110, 99,116,105,111,110, 46, 10, 9, 9,118,101, 99, 50, 32,102, 84,101,120, 76,111, 99, 32, 61, + 32,118, 68,105,109, 42,102,114, 97, 99,116, 40,116,101,120, 99,111, 46,120,121, 41, 32, 45, 32,118,101, 99, 50, 40, 48, 46, 53, + 44, 32, 48, 46, 53, 41, 59, 10, 9, 9,105,118,101, 99, 50, 32,105, 84,101,120, 76,111, 99, 32, 61, 32,105,118,101, 99, 50, 40, +102,108,111,111,114, 40,102, 84,101,120, 76,111, 99, 41, 41, 59, 10, 9, 9,118,101, 99, 50, 32,116, 32, 61, 32, 99,108, 97,109, +112, 40,102, 84,101,120, 76,111, 99, 32, 45, 32,105, 84,101,120, 76,111, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 9, + 9, 47, 47, 32,115, 97,116, 32,106,117,115,116, 32,116,111, 32, 98,101, 32,112,101,100, 97,110,116,105, 99, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 10, 32, - 42, 32, 84,104,105,115, 32, 98,108,111, 99,107, 32,119,105,108,108, 32,114,101,112,108, 97, 99,101, 32,116,104,101, 32,111,110, -101, 32, 98,101,108,111,119, 32,119,104,101,110, 32,111,110,101, 32, 99,104, 97,110,110,101,108, 32,116,101,120,116,117,114,101, -115, 32, 97,114,101, 32,112,114,111,112,101,114,108,121, 32,115,117,112,112,111,114,116,101,100, 46, 32, 42, 10, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 10, 32, 42, 32, 84,104,105, +115, 32, 98,108,111, 99,107, 32,119,105,108,108, 32,114,101,112,108, 97, 99,101, 32,116,104,101, 32,111,110,101, 32, 98,101,108, +111,119, 32,119,104,101,110, 32,111,110,101, 32, 99,104, 97,110,110,101,108, 32,116,101,120,116,117,114,101,115, 32, 97,114,101, + 32,112,114,111,112,101,114,108,121, 32,115,117,112,112,111,114,116,101,100, 46, 32, 42, 10, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 10, 9, 9,118,101, 99, 52, 32, -118, 83, 97,109,112,108,101,115, 85, 76, 32, 61, 32,116,101,120,116,117,114,101, 71, 97,116,104,101,114, 40,105,109, 97, 44, 32, - 40,105, 84,101,120, 76,111, 99, 43,105,118,101, 99, 50, 40, 45, 49, 44, 45, 49, 41, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, - 44, 48, 46, 53, 41, 41, 47,118, 68,105,109, 32, 41, 59, 10, 9, 9,118,101, 99, 52, 32,118, 83, 97,109,112,108,101,115, 85, 82, - 32, 61, 32,116,101,120,116,117,114,101, 71, 97,116,104,101,114, 40,105,109, 97, 44, 32, 40,105, 84,101,120, 76,111, 99, 43,105, -118,101, 99, 50, 40, 49, 44, 45, 49, 41, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 48, 46, 53, 41, 41, 47,118, 68,105,109, - 32, 41, 59, 10, 9, 9,118,101, 99, 52, 32,118, 83, 97,109,112,108,101,115, 76, 76, 32, 61, 32,116,101,120,116,117,114,101, 71, - 97,116,104,101,114, 40,105,109, 97, 44, 32, 40,105, 84,101,120, 76,111, 99, 43,105,118,101, 99, 50, 40, 45, 49, 44, 49, 41, 32, - 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 48, 46, 53, 41, 41, 47,118, 68,105,109, 32, 41, 59, 10, 9, 9,118,101, 99, 52, 32, -118, 83, 97,109,112,108,101,115, 76, 82, 32, 61, 32,116,101,120,116,117,114,101, 71, 97,116,104,101,114, 40,105,109, 97, 44, 32, - 40,105, 84,101,120, 76,111, 99, 43,105,118,101, 99, 50, 40, 49, 44, 49, 41, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 48, - 46, 53, 41, 41, 47,118, 68,105,109, 32, 41, 59, 10, 10, 9, 9,109, 97,116, 52, 32, 72, 32, 61, 32,109, 97,116, 52, 40,118, 83, - 97,109,112,108,101,115, 85, 76, 46,119, 44, 32,118, 83, 97,109,112,108,101,115, 85, 76, 46,120, 44, 32,118, 83, 97,109,112,108, -101,115, 76, 76, 46,119, 44, 32,118, 83, 97,109,112,108,101,115, 76, 76, 46,120, 44, 10, 9, 9, 9, 9, 9,118, 83, 97,109,112, -108,101,115, 85, 76, 46,122, 44, 32,118, 83, 97,109,112,108,101,115, 85, 76, 46,121, 44, 32,118, 83, 97,109,112,108,101,115, 76, - 76, 46,122, 44, 32,118, 83, 97,109,112,108,101,115, 76, 76, 46,121, 44, 10, 9, 9, 9, 9, 9,118, 83, 97,109,112,108,101,115, - 85, 82, 46,119, 44, 32,118, 83, 97,109,112,108,101,115, 85, 82, 46,120, 44, 32,118, 83, 97,109,112,108,101,115, 76, 82, 46,119, - 44, 32,118, 83, 97,109,112,108,101,115, 76, 82, 46,120, 44, 10, 9, 9, 9, 9, 9,118, 83, 97,109,112,108,101,115, 85, 82, 46, -122, 44, 32,118, 83, 97,109,112,108,101,115, 85, 82, 46,121, 44, 32,118, 83, 97,109,112,108,101,115, 76, 82, 46,122, 44, 32,118, - 83, 97,109,112,108,101,115, 76, 82, 46,121, 41, 59, 10, 42, 47, 9, 10, 9, 9,105,118,101, 99, 50, 32,105, 84,101,120, 76,111, - 99, 77,111,100, 32, 61, 32,105, 84,101,120, 76,111, 99, 32, 43, 32,105,118,101, 99, 50, 40, 45, 49, 44, 32, 45, 49, 41, 59, 10, - 10, 9, 9,109, 97,116, 52, 32, 72, 59, 10, 9, 9, 10, 9, 9,102,111,114, 40,105,110,116, 32,105, 32, 61, 32, 48, 59, 32,105, - 32, 60, 32, 52, 59, 32,105, 43, 43, 41,123, 10, 9, 9, 9,102,111,114, 40,105,110,116, 32,106, 32, 61, 32, 48, 59, 32,106, 32, - 60, 32, 52, 59, 32,106, 43, 43, 41,123, 10, 9, 9, 9, 9,105,118,101, 99, 50, 32,105, 84,101,120, 84,109,112, 32, 61, 32,105, - 84,101,120, 76,111, 99, 77,111,100, 32, 43, 32,105,118,101, 99, 50, 40,105, 44,106, 41, 59, 10, 9, 9, 9, 9, 10, 9, 9, 9, - 9, 47, 47, 32,119,114, 97,112, 32,116,101,120,116,117,114,101, 32, 99,111,111,114,100,105,110, 97,116,101,115, 32,109, 97,110, -117, 97,108,108,121, 32,102,111,114, 32,116,101,120,101,108, 70,101,116, 99,104, 32,116,111, 32,119,111,114,107, 32,111,110, 32, -117,118,115, 32,111,105,116,115,105,100,101, 32,116,104,101, 32, 48, 44, 49, 32,114, 97,110,103,101, 46, 10, 9, 9, 9, 9, 47, - 47, 32,116,104,105,115, 32,105,115, 32,103,117, 97,114, 97,110,116,101,101,100, 32,116,111, 32,119,111,114,107, 32,115,105,110, - 99,101, 32,119,101, 32,116, 97,107,101, 32,116,104,101, 32,102,114, 97, 99,116,105,111,110, 97,108, 32,112, 97,114,116, 32,111, -102, 32,116,104,101, 32,117,118, 32, 97, 98,111,118,101, 46, 10, 9, 9, 9, 9,105, 84,101,120, 84,109,112, 46,120, 32, 61, 32, - 40,105, 84,101,120, 84,109,112, 46,120, 32, 60, 32, 48, 41, 63, 32,105, 84,101,120, 84,109,112, 46,120, 32, 43, 32,118, 68,105, -109, 46,120, 32, 58, 32, 40, 40,105, 84,101,120, 84,109,112, 46,120, 32, 62, 61, 32,118, 68,105,109, 46,120, 41, 63, 32,105, 84, -101,120, 84,109,112, 46,120, 32, 45, 32,118, 68,105,109, 46,120, 32, 58, 32,105, 84,101,120, 84,109,112, 46,120, 41, 59, 10, 9, - 9, 9, 9,105, 84,101,120, 84,109,112, 46,121, 32, 61, 32, 40,105, 84,101,120, 84,109,112, 46,121, 32, 60, 32, 48, 41, 63, 32, -105, 84,101,120, 84,109,112, 46,121, 32, 43, 32,118, 68,105,109, 46,121, 32, 58, 32, 40, 40,105, 84,101,120, 84,109,112, 46,121, - 32, 62, 61, 32,118, 68,105,109, 46,121, 41, 63, 32,105, 84,101,120, 84,109,112, 46,121, 32, 45, 32,118, 68,105,109, 46,121, 32, - 58, 32,105, 84,101,120, 84,109,112, 46,121, 41, 59, 10, 10, 9, 9, 9, 9,114,103, 98,116,111, 98,119, 40,116,101,120,101,108, - 70,101,116, 99,104, 40,105,109, 97, 44, 32,105, 84,101,120, 84,109,112, 44, 32, 48, 41, 44, 32, 72, 91,105, 93, 91,106, 93, 41, - 59, 10, 9, 9, 9,125, 10, 9, 9,125, 10, 9, 9, 10, 9, 9,102,108,111, 97,116, 32,120, 32, 61, 32,116, 46,120, 44, 32,121, - 32, 61, 32,116, 46,121, 59, 10, 9, 9,102,108,111, 97,116, 32,120, 50, 32, 61, 32,120, 32, 42, 32,120, 44, 32,120, 51, 32, 61, - 32,120, 50, 32, 42, 32,120, 44, 32,121, 50, 32, 61, 32,121, 32, 42, 32,121, 44, 32,121, 51, 32, 61, 32,121, 50, 32, 42, 32,121, - 59, 10, 10, 9, 9,118,101, 99, 52, 32, 88, 32, 61, 32,118,101, 99, 52, 40, 45, 48, 46, 53, 42, 40,120, 51, 43,120, 41, 43,120, - 50, 44, 9, 9, 49, 46, 53, 42,120, 51, 45, 50, 46, 53, 42,120, 50, 43, 49, 44, 9, 45, 49, 46, 53, 42,120, 51, 43, 50, 42,120, - 50, 43, 48, 46, 53, 42,120, 44, 9, 9, 48, 46, 53, 42, 40,120, 51, 45,120, 50, 41, 41, 59, 10, 9, 9,118,101, 99, 52, 32, 89, - 32, 61, 32,118,101, 99, 52, 40, 45, 48, 46, 53, 42, 40,121, 51, 43,121, 41, 43,121, 50, 44, 9, 9, 49, 46, 53, 42,121, 51, 45, - 50, 46, 53, 42,121, 50, 43, 49, 44, 9, 45, 49, 46, 53, 42,121, 51, 43, 50, 42,121, 50, 43, 48, 46, 53, 42,121, 44, 9, 9, 48, - 46, 53, 42, 40,121, 51, 45,121, 50, 41, 41, 59, 10, 9, 9,118,101, 99, 52, 32,100, 88, 32, 61, 32,118,101, 99, 52, 40, 45, 49, - 46, 53, 42,120, 50, 43, 50, 42,120, 45, 48, 46, 53, 44, 9, 9, 52, 46, 53, 42,120, 50, 45, 53, 42,120, 44, 9, 9, 9, 45, 52, - 46, 53, 42,120, 50, 43, 52, 42,120, 43, 48, 46, 53, 44, 9, 9, 49, 46, 53, 42,120, 50, 45,120, 41, 59, 10, 9, 9,118,101, 99, - 52, 32,100, 89, 32, 61, 32,118,101, 99, 52, 40, 45, 49, 46, 53, 42,121, 50, 43, 50, 42,121, 45, 48, 46, 53, 44, 9, 9, 52, 46, - 53, 42,121, 50, 45, 53, 42,121, 44, 9, 9, 9, 45, 52, 46, 53, 42,121, 50, 43, 52, 42,121, 43, 48, 46, 53, 44, 9, 9, 49, 46, - 53, 42,121, 50, 45,121, 41, 59, 10, 9, 10, 9, 9, 47, 47, 32, 99,111,109,112,108,101,116,101, 32,100,101,114,105,118, 97,116, -105,118,101, 32,105,110, 32,110,111,114,109, 97,108,105,122,101,100, 32, 99,111,111,114,100,105,110, 97,116,101,115, 32, 40,109, -117,108, 32, 98,121, 32,118, 68,105,109, 41, 10, 9, 9,118,101, 99, 50, 32,100, 72,100, 83, 84, 32, 61, 32,118, 68,105,109, 32, - 42, 32,118,101, 99, 50, 40,100,111,116, 40, 89, 44, 32, 72, 32, 42, 32,100, 88, 41, 44, 32,100,111,116, 40,100, 89, 44, 32, 72, - 32, 42, 32, 88, 41, 41, 59, 10, 10, 9, 9, 47, 47, 32,116,114, 97,110,115,102,111,114,109, 32,100,101,114,105,118, 97,116,105, -118,101, 32,116,111, 32,115, 99,114,101,101,110, 45,115,112, 97, 99,101, 10, 9, 9,118,101, 99, 50, 32,100, 72,100,120,121, 95, - 98,105, 99,117, 98,105, 99, 32, 61, 32,118,101, 99, 50, 40, 32,100, 72,100, 83, 84, 46,120, 32, 42, 32, 84,101,120, 68,120, 46, -120, 32, 43, 32,100, 72,100, 83, 84, 46,121, 32, 42, 32, 84,101,120, 68,120, 46,121, 44, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, - 32, 32,100, 72,100, 83, 84, 46,120, 32, 42, 32, 84,101,120, 68,121, 46,120, 32, 43, 32,100, 72,100, 83, 84, 46,121, 32, 42, 32, - 84,101,120, 68,121, 46,121, 32, 41, 59, 10, 10, 9, 9, 47, 47, 32, 98,108,101,110,100, 32, 98,101,116,119,101,101,110, 32,116, -104,101, 32,116,119,111, 10, 9, 9,100, 72,100,120,121, 32, 61, 32,100, 72,100,120,121, 42, 40, 49, 45,102, 66,108,101,110,100, - 41, 32, 43, 32,100, 72,100,120,121, 95, 98,105, 99,117, 98,105, 99, 42,102, 66,108,101,110,100, 59, 10, 9,125, 10, 10, 9,100, - 66,115, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32,100, 72,100,120,121, 46,120, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, - 99, 97,108,101, 32, 42, 32,100, 72,100,120,121, 46,121, 59, 10,125, 10, 10, 35,101,110,100,105,102, 10, 10,118,111,105,100, 32, -109,116,101,120, 95, 98,117,109,112, 95,116, 97,112, 53, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112, -108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 10, 9, 9,118,101, 99, 52, 32,118, 83, 97,109,112, +108,101,115, 85, 76, 32, 61, 32,116,101,120,116,117,114,101, 71, 97,116,104,101,114, 40,105,109, 97, 44, 32, 40,105, 84,101,120, + 76,111, 99, 43,105,118,101, 99, 50, 40, 45, 49, 44, 45, 49, 41, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 48, 46, 53, 41, + 41, 47,118, 68,105,109, 32, 41, 59, 10, 9, 9,118,101, 99, 52, 32,118, 83, 97,109,112,108,101,115, 85, 82, 32, 61, 32,116,101, +120,116,117,114,101, 71, 97,116,104,101,114, 40,105,109, 97, 44, 32, 40,105, 84,101,120, 76,111, 99, 43,105,118,101, 99, 50, 40, + 49, 44, 45, 49, 41, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 48, 46, 53, 41, 41, 47,118, 68,105,109, 32, 41, 59, 10, 9, + 9,118,101, 99, 52, 32,118, 83, 97,109,112,108,101,115, 76, 76, 32, 61, 32,116,101,120,116,117,114,101, 71, 97,116,104,101,114, + 40,105,109, 97, 44, 32, 40,105, 84,101,120, 76,111, 99, 43,105,118,101, 99, 50, 40, 45, 49, 44, 49, 41, 32, 43, 32,118,101, 99, + 50, 40, 48, 46, 53, 44, 48, 46, 53, 41, 41, 47,118, 68,105,109, 32, 41, 59, 10, 9, 9,118,101, 99, 52, 32,118, 83, 97,109,112, +108,101,115, 76, 82, 32, 61, 32,116,101,120,116,117,114,101, 71, 97,116,104,101,114, 40,105,109, 97, 44, 32, 40,105, 84,101,120, + 76,111, 99, 43,105,118,101, 99, 50, 40, 49, 44, 49, 41, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 48, 46, 53, 41, 41, 47, +118, 68,105,109, 32, 41, 59, 10, 10, 9, 9,109, 97,116, 52, 32, 72, 32, 61, 32,109, 97,116, 52, 40,118, 83, 97,109,112,108,101, +115, 85, 76, 46,119, 44, 32,118, 83, 97,109,112,108,101,115, 85, 76, 46,120, 44, 32,118, 83, 97,109,112,108,101,115, 76, 76, 46, +119, 44, 32,118, 83, 97,109,112,108,101,115, 76, 76, 46,120, 44, 10, 9, 9, 9, 9, 9,118, 83, 97,109,112,108,101,115, 85, 76, + 46,122, 44, 32,118, 83, 97,109,112,108,101,115, 85, 76, 46,121, 44, 32,118, 83, 97,109,112,108,101,115, 76, 76, 46,122, 44, 32, +118, 83, 97,109,112,108,101,115, 76, 76, 46,121, 44, 10, 9, 9, 9, 9, 9,118, 83, 97,109,112,108,101,115, 85, 82, 46,119, 44, + 32,118, 83, 97,109,112,108,101,115, 85, 82, 46,120, 44, 32,118, 83, 97,109,112,108,101,115, 76, 82, 46,119, 44, 32,118, 83, 97, +109,112,108,101,115, 76, 82, 46,120, 44, 10, 9, 9, 9, 9, 9,118, 83, 97,109,112,108,101,115, 85, 82, 46,122, 44, 32,118, 83, + 97,109,112,108,101,115, 85, 82, 46,121, 44, 32,118, 83, 97,109,112,108,101,115, 76, 82, 46,122, 44, 32,118, 83, 97,109,112,108, +101,115, 76, 82, 46,121, 41, 59, 10, 42, 47, 9, 10, 9, 9,105,118,101, 99, 50, 32,105, 84,101,120, 76,111, 99, 77,111,100, 32, + 61, 32,105, 84,101,120, 76,111, 99, 32, 43, 32,105,118,101, 99, 50, 40, 45, 49, 44, 32, 45, 49, 41, 59, 10, 10, 9, 9,109, 97, +116, 52, 32, 72, 59, 10, 9, 9, 10, 9, 9,102,111,114, 40,105,110,116, 32,105, 32, 61, 32, 48, 59, 32,105, 32, 60, 32, 52, 59, + 32,105, 43, 43, 41,123, 10, 9, 9, 9,102,111,114, 40,105,110,116, 32,106, 32, 61, 32, 48, 59, 32,106, 32, 60, 32, 52, 59, 32, +106, 43, 43, 41,123, 10, 9, 9, 9, 9,105,118,101, 99, 50, 32,105, 84,101,120, 84,109,112, 32, 61, 32,105, 84,101,120, 76,111, + 99, 77,111,100, 32, 43, 32,105,118,101, 99, 50, 40,105, 44,106, 41, 59, 10, 9, 9, 9, 9, 10, 9, 9, 9, 9, 47, 47, 32,119, +114, 97,112, 32,116,101,120,116,117,114,101, 32, 99,111,111,114,100,105,110, 97,116,101,115, 32,109, 97,110,117, 97,108,108,121, + 32,102,111,114, 32,116,101,120,101,108, 70,101,116, 99,104, 32,116,111, 32,119,111,114,107, 32,111,110, 32,117,118,115, 32,111, +105,116,115,105,100,101, 32,116,104,101, 32, 48, 44, 49, 32,114, 97,110,103,101, 46, 10, 9, 9, 9, 9, 47, 47, 32,116,104,105, +115, 32,105,115, 32,103,117, 97,114, 97,110,116,101,101,100, 32,116,111, 32,119,111,114,107, 32,115,105,110, 99,101, 32,119,101, + 32,116, 97,107,101, 32,116,104,101, 32,102,114, 97, 99,116,105,111,110, 97,108, 32,112, 97,114,116, 32,111,102, 32,116,104,101, + 32,117,118, 32, 97, 98,111,118,101, 46, 10, 9, 9, 9, 9,105, 84,101,120, 84,109,112, 46,120, 32, 61, 32, 40,105, 84,101,120, + 84,109,112, 46,120, 32, 60, 32, 48, 41, 63, 32,105, 84,101,120, 84,109,112, 46,120, 32, 43, 32,118, 68,105,109, 46,120, 32, 58, + 32, 40, 40,105, 84,101,120, 84,109,112, 46,120, 32, 62, 61, 32,118, 68,105,109, 46,120, 41, 63, 32,105, 84,101,120, 84,109,112, + 46,120, 32, 45, 32,118, 68,105,109, 46,120, 32, 58, 32,105, 84,101,120, 84,109,112, 46,120, 41, 59, 10, 9, 9, 9, 9,105, 84, +101,120, 84,109,112, 46,121, 32, 61, 32, 40,105, 84,101,120, 84,109,112, 46,121, 32, 60, 32, 48, 41, 63, 32,105, 84,101,120, 84, +109,112, 46,121, 32, 43, 32,118, 68,105,109, 46,121, 32, 58, 32, 40, 40,105, 84,101,120, 84,109,112, 46,121, 32, 62, 61, 32,118, + 68,105,109, 46,121, 41, 63, 32,105, 84,101,120, 84,109,112, 46,121, 32, 45, 32,118, 68,105,109, 46,121, 32, 58, 32,105, 84,101, +120, 84,109,112, 46,121, 41, 59, 10, 10, 9, 9, 9, 9,114,103, 98,116,111, 98,119, 40,116,101,120,101,108, 70,101,116, 99,104, + 40,105,109, 97, 44, 32,105, 84,101,120, 84,109,112, 44, 32, 48, 41, 44, 32, 72, 91,105, 93, 91,106, 93, 41, 59, 10, 9, 9, 9, +125, 10, 9, 9,125, 10, 9, 9, 10, 9, 9,102,108,111, 97,116, 32,120, 32, 61, 32,116, 46,120, 44, 32,121, 32, 61, 32,116, 46, +121, 59, 10, 9, 9,102,108,111, 97,116, 32,120, 50, 32, 61, 32,120, 32, 42, 32,120, 44, 32,120, 51, 32, 61, 32,120, 50, 32, 42, + 32,120, 44, 32,121, 50, 32, 61, 32,121, 32, 42, 32,121, 44, 32,121, 51, 32, 61, 32,121, 50, 32, 42, 32,121, 59, 10, 10, 9, 9, +118,101, 99, 52, 32, 88, 32, 61, 32,118,101, 99, 52, 40, 45, 48, 46, 53, 42, 40,120, 51, 43,120, 41, 43,120, 50, 44, 9, 9, 49, + 46, 53, 42,120, 51, 45, 50, 46, 53, 42,120, 50, 43, 49, 44, 9, 45, 49, 46, 53, 42,120, 51, 43, 50, 42,120, 50, 43, 48, 46, 53, + 42,120, 44, 9, 9, 48, 46, 53, 42, 40,120, 51, 45,120, 50, 41, 41, 59, 10, 9, 9,118,101, 99, 52, 32, 89, 32, 61, 32,118,101, + 99, 52, 40, 45, 48, 46, 53, 42, 40,121, 51, 43,121, 41, 43,121, 50, 44, 9, 9, 49, 46, 53, 42,121, 51, 45, 50, 46, 53, 42,121, + 50, 43, 49, 44, 9, 45, 49, 46, 53, 42,121, 51, 43, 50, 42,121, 50, 43, 48, 46, 53, 42,121, 44, 9, 9, 48, 46, 53, 42, 40,121, + 51, 45,121, 50, 41, 41, 59, 10, 9, 9,118,101, 99, 52, 32,100, 88, 32, 61, 32,118,101, 99, 52, 40, 45, 49, 46, 53, 42,120, 50, + 43, 50, 42,120, 45, 48, 46, 53, 44, 9, 9, 52, 46, 53, 42,120, 50, 45, 53, 42,120, 44, 9, 9, 9, 45, 52, 46, 53, 42,120, 50, + 43, 52, 42,120, 43, 48, 46, 53, 44, 9, 9, 49, 46, 53, 42,120, 50, 45,120, 41, 59, 10, 9, 9,118,101, 99, 52, 32,100, 89, 32, + 61, 32,118,101, 99, 52, 40, 45, 49, 46, 53, 42,121, 50, 43, 50, 42,121, 45, 48, 46, 53, 44, 9, 9, 52, 46, 53, 42,121, 50, 45, + 53, 42,121, 44, 9, 9, 9, 45, 52, 46, 53, 42,121, 50, 43, 52, 42,121, 43, 48, 46, 53, 44, 9, 9, 49, 46, 53, 42,121, 50, 45, +121, 41, 59, 10, 9, 10, 9, 9, 47, 47, 32, 99,111,109,112,108,101,116,101, 32,100,101,114,105,118, 97,116,105,118,101, 32,105, +110, 32,110,111,114,109, 97,108,105,122,101,100, 32, 99,111,111,114,100,105,110, 97,116,101,115, 32, 40,109,117,108, 32, 98,121, + 32,118, 68,105,109, 41, 10, 9, 9,118,101, 99, 50, 32,100, 72,100, 83, 84, 32, 61, 32,118, 68,105,109, 32, 42, 32,118,101, 99, + 50, 40,100,111,116, 40, 89, 44, 32, 72, 32, 42, 32,100, 88, 41, 44, 32,100,111,116, 40,100, 89, 44, 32, 72, 32, 42, 32, 88, 41, + 41, 59, 10, 10, 9, 9, 47, 47, 32,116,114, 97,110,115,102,111,114,109, 32,100,101,114,105,118, 97,116,105,118,101, 32,116,111, + 32,115, 99,114,101,101,110, 45,115,112, 97, 99,101, 10, 9, 9,118,101, 99, 50, 32,100, 72,100,120,121, 95, 98,105, 99,117, 98, +105, 99, 32, 61, 32,118,101, 99, 50, 40, 32,100, 72,100, 83, 84, 46,120, 32, 42, 32, 84,101,120, 68,120, 46,120, 32, 43, 32,100, + 72,100, 83, 84, 46,121, 32, 42, 32, 84,101,120, 68,120, 46,121, 44, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,100, 72,100, + 83, 84, 46,120, 32, 42, 32, 84,101,120, 68,121, 46,120, 32, 43, 32,100, 72,100, 83, 84, 46,121, 32, 42, 32, 84,101,120, 68,121, + 46,121, 32, 41, 59, 10, 10, 9, 9, 47, 47, 32, 98,108,101,110,100, 32, 98,101,116,119,101,101,110, 32,116,104,101, 32,116,119, +111, 10, 9, 9,100, 72,100,120,121, 32, 61, 32,100, 72,100,120,121, 42, 40, 49, 45,102, 66,108,101,110,100, 41, 32, 43, 32,100, + 72,100,120,121, 95, 98,105, 99,117, 98,105, 99, 42,102, 66,108,101,110,100, 59, 10, 9,125, 10, 10, 9,100, 66,115, 32, 61, 32, +104, 83, 99, 97,108,101, 32, 42, 32,100, 72,100,120,121, 46,120, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,108,101, 32, + 42, 32,100, 72,100,120,121, 46,121, 59, 10,125, 10, 10, 35,101,110,100,105,102, 10, 10,118,111,105,100, 32,109,116,101,120, 95, + 98,117,109,112, 95,116, 97,112, 53, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, + 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, + 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116, +101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, + 99,111, 46,120,121, 41, 59, 10, 10, 9,118,101, 99, 50, 32, 83, 84, 99, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9, +118,101, 99, 50, 32, 83, 84,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68, +120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,114, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, + 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,100, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, + 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117, 32, 61, 32,116,101,120, 99,111, 46, +120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72, 99, 44, 72, +108, 44, 72,114, 44, 72,100, 44, 72,117, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40, +105,109, 97, 44, 32, 83, 84, 99, 41, 44, 32, 72, 99, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117, +114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108, 41, 44, 32, 72,108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32, +116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,114, 41, 44, 32, 72,114, 32, 41, 59, 10, 9,114,103, 98,116, +111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,100, 41, 44, 32, 72,100, 32, 41, 59, 10, + 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117, 41, 44, 32, 72, +117, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,114, 32, 45, 32, 72,108, 41, + 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,117, 32, 45, 32, 72,100, 41, 59, 10,125, 10, 10, +118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,100,101,114,105,118, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, + 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,120, 44, 32,102,108, +111, 97,116, 32,105,109, 97, 95,121, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117, -116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, - 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100, -121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 10, 9,118,101, 99, 50, 32, 83, 84, 99, 32, 61, 32,116,101,120, 99,111, 46, -120,121, 59, 10, 9,118,101, 99, 50, 32, 83, 84,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, - 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,114, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, - 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,100, 32, 61, 32,116,101,120, 99,111, 46, -120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117, 32, 61, 32,116, -101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, - 32, 72, 99, 44, 72,108, 44, 72,114, 44, 72,100, 44, 72,117, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117, -114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84, 99, 41, 44, 32, 72, 99, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32, -116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108, 41, 44, 32, 72,108, 32, 41, 59, 10, 9,114,103, 98,116, -111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,114, 41, 44, 32, 72,114, 32, 41, 59, 10, - 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,100, 41, 44, 32, 72, -100, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84, -117, 41, 44, 32, 72,117, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,114, 32, - 45, 32, 72,108, 41, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,117, 32, 45, 32, 72,100, 41, - 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,100,101,114,105,118, 40, 32,118,101, 99, 51, 32, -116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95, -120, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,121, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66, -115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,102,108,111, 97,116, 32,115, 32, 61, - 32, 49, 46, 48, 59, 9, 9, 47, 47, 32,110,101,103, 97,116,101, 32,116,104,105,115, 32,105,102, 32,102,108,105,112,112,101,100, - 32,116,101,120,116,117,114,101, 32, 99,111,111,114,100,105,110, 97,116,101, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, - 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32, -100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9, 10, 9, 47, 47, 32,116,104,105,115, 32,118, 97,114,105, 97, -110,116, 32,117,115,105,110,103, 32, 97, 32,100,101,114,105,118, 97,116,105,118,101, 32,109, 97,112, 32,105,115, 32,100,101,115, - 99,114,105, 98,101,100, 32,104,101,114,101, 10, 9, 47, 47, 32,104,116,116,112, 58, 47, 47,109,109,105,107,107,101,108,115,101, -110, 51,100, 46, 98,108,111,103,115,112,111,116, 46, 99,111,109, 47, 50, 48, 49, 49, 47, 48, 55, 47,100,101,114,105,118, 97,116, -105,118,101, 45,109, 97,112,115, 46,104,116,109,108, 10, 9,118,101, 99, 50, 32,100,105,109, 32, 61, 32,118,101, 99, 50, 40,105, -109, 97, 95,120, 44, 32,105,109, 97, 95,121, 41, 59, 10, 9,118,101, 99, 50, 32,100, 66,100,117,118, 32, 61, 32,104, 83, 99, 97, -108,101, 42,100,105,109, 42, 40, 50, 46, 48, 42,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, - 46,120,121, 41, 46,120,121, 45, 49, 46, 48, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,100, 66,100,117,118, 46,120, 42, 84, -101,120, 68,120, 46,120, 32, 43, 32,115, 42,100, 66,100,117,118, 46,121, 42, 84,101,120, 68,120, 46,121, 59, 10, 9,100, 66,116, - 32, 61, 32,100, 66,100,117,118, 46,120, 42, 84,101,120, 68,121, 46,120, 32, 43, 32,115, 42,100, 66,100,117,118, 46,121, 42, 84, -101,120, 68,121, 46,121, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 40, - 32,102,108,111, 97,116, 32,102, 68,101,116, 44, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,102,108,111, 97,116, 32,100, 66, -116, 44, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, - 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, - 32,111,117,116, 32,118,101, 99, 51, 32,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 41, 32, 10,123, 10, 9,118, -101, 99, 51, 32,118, 83,117,114,102, 71,114, 97,100, 32, 61, 32,115,105,103,110, 40,102, 68,101,116, 41, 32, 42, 32, 40, 32,100, - 66,115, 32, 42, 32,118, 82, 49, 32, 43, 32,100, 66,116, 32, 42, 32,118, 82, 50, 32, 41, 59, 10, 9, 10, 9,118, 78, 97, 99, 99, - 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 45, 32,118, 83,117,114,102, 71,114, 97,100, 59, 10, 9,112,101, -114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,118, 78, 97, 99, 99, 95, -111,117,116, 32, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 95,116, -101,120,115,112, 97, 99,101, 40, 32,102,108,111, 97,116, 32,102, 68,101,116, 44, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32, -102,108,111, 97,116, 32,100, 66,116, 44, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,118,101, 99, 51, 32,118, 82, 50, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,115, 97, -109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,102,108,111, 97,116, 32,105, -109, 97, 95,120, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,121, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, - 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, -111,117,116, 32,118,101, 99, 51, 32,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 41, 32, 10,123, 10, 9,118,101, - 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, - 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 10, 9,118,101, 99, 51, 32, -118, 83,117,114,102, 71,114, 97,100, 32, 61, 32,115,105,103,110, 40,102, 68,101,116, 41, 32, 42, 32, 40, 32, 10, 9, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32,100, 66,115, 32, 47, 32,108,101,110,103,116,104, 40, 32,118,101, 99, 50, 40,105,109, 97, 95, -120, 42, 84,101,120, 68,120, 46,120, 44, 32,105,109, 97, 95,121, 42, 84,101,120, 68,120, 46,121, 41, 32, 41, 32, 42, 32,118, 82, - 49, 32, 43, 32, 10, 9, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100, 66,116, 32, 47, 32,108,101,110,103,116,104, 40, 32, -118,101, 99, 50, 40,105,109, 97, 95,120, 42, 84,101,120, 68,121, 46,120, 44, 32,105,109, 97, 95,121, 42, 84,101,120, 68,121, 46, -121, 41, 32, 41, 32, 42, 32,118, 82, 50, 32, 41, 59, 10, 9, 9, 9, 9, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32, -118, 78, 97, 99, 99, 95,105,110, 32, 45, 32,118, 83,117,114,102, 71,114, 97,100, 59, 10, 9,112,101,114,116,117,114, 98,101,100, - 95,110,111,114,109, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,118, 78, 97, 99, 99, 95,111,117,116, 32, 41, 59, 10, -125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,101,103, 97,116,101, 95,116,101,120,110,111,114,109, 97,108, 40,118,101, - 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, - 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,118,101, 99, 51, 40, 45,110,111,114,109, 97,108, 46,120, 44, 32, 45,110, -111,114,109, 97,108, 46,121, 44, 32,110,111,114,109, 97,108, 46,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, - 95,110,115,112, 97, 99,101, 95,116, 97,110,103,101,110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, 44, 32,118,101, - 99, 51, 32,110,111,114,109, 97,108, 44, 32,118,101, 99, 51, 32,116,101,120,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118, -101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9,118,101, 99, 51, 32, 66, 32, 61, 32,116, 97,110,103,101, -110,116, 46,119, 32, 42, 32, 99,114,111,115,115, 40,110,111,114,109, 97,108, 44, 32,116, 97,110,103,101,110,116, 46,120,121,122, - 41, 59, 10, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,116,101,120,110,111,114,109, 97,108, 46,120, 42,116, 97,110, -103,101,110,116, 46,120,121,122, 32, 43, 32,116,101,120,110,111,114,109, 97,108, 46,121, 42, 66, 32, 43, 32,116,101,120,110,111, -114,109, 97,108, 46,122, 42,110,111,114,109, 97,108, 59, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, - 97,108,105,122,101, 40,111,117,116,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98, -108,101,110,100, 95,110,111,114,109, 97,108, 40,102,108,111, 97,116, 32,110,111,114,102, 97, 99, 44, 32,118,101, 99, 51, 32,110, -111,114,109, 97,108, 44, 32,118,101, 99, 51, 32,110,101,119,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32, -111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32, 40, 49, 46, 48, 32, 45, - 32,110,111,114,102, 97, 99, 41, 42,110,111,114,109, 97,108, 32, 43, 32,110,111,114,102, 97, 99, 42,110,101,119,110,111,114,109, - 97,108, 59, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,110,111, -114,109, 97,108, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 32, 77, 65, 84, 69, 82, 73, 65, 76, 32, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,117,110, - 95,104,101,109,105, 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,108,118, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, - 97, 99, 41, 10,123, 10, 9,108,118, 32, 61, 32,108, 97,109,112,118,101, 99, 59, 10, 9,100,105,115,116, 32, 61, 32, 49, 46, 48, - 59, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118, -105,115,105, 98,105,108,105,116,121, 95,111,116,104,101,114, 40,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,108, 97, -109,112, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100,105,115, -116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,108,118, 32, 61, 32, 99,111, - 32, 45, 32,108, 97,109,112, 99,111, 59, 10, 9,100,105,115,116, 32, 61, 32,108,101,110,103,116,104, 40,108,118, 41, 59, 10, 9, -108,118, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108,118, 41, 59, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32, 49, - 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95,105,110,118,108,105,110,101, - 97,114, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,108, - 97,109,112,100,105,115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32,100,105,115,116, 41, 59, 10,125, 10, 10,118,111, -105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95,105,110,118,115,113,117, 97,114,101, 40,102,108,111, 97,116, 32, -108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, -118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40, -108, 97,109,112,100,105,115,116, 32, 43, 32,100,105,115,116, 42,100,105,115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, - 97,109,112, 95,102, 97,108,108,111,102,102, 95,115,108,105,100,101,114,115, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105, -115,116, 44, 32,102,108,111, 97,116, 32,108,100, 49, 44, 32,102,108,111, 97,116, 32,108,100, 50, 44, 32,102,108,111, 97,116, 32, -100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97, -116, 32,108, 97,109,112,100,105,115,116,107,119, 32, 61, 32,108, 97,109,112,100,105,115,116, 42,108, 97,109,112,100,105,115,116, - 59, 10, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40,108, 97,109,112,100,105,115,116, - 32, 43, 32,108,100, 49, 42,100,105,115,116, 41, 59, 10, 9,118,105,115,105,102, 97, 99, 32, 42, 61, 32,108, 97,109,112,100,105, -115,116,107,119, 47, 40,108, 97,109,112,100,105,115,116,107,119, 32, 43, 32,108,100, 50, 42,100,105,115,116, 42,100,105,115,116, - 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95, 99,117,114,118,101, 40,102,108, -111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32, 99,117,114,118,101,109, 97,112, - 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, - 10,123, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, - 44, 32,118,101, 99, 50, 40,100,105,115,116, 47,108, 97,109,112,100,105,115,116, 44, 32, 48, 46, 48, 41, 41, 46,120, 59, 10,125, - 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,104,101,114,101, 40,102,108, -111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,102,108,111, 97,116, 32, -118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, - 10, 9,102,108,111, 97,116, 32,116, 61, 32,108, 97,109,112,100,105,115,116, 32, 45, 32,100,105,115,116, 59, 10, 10, 9,111,117, -116,118,105,115,105,102, 97, 99, 61, 32,118,105,115,105,102, 97, 99, 42,109, 97,120, 40,116, 44, 32, 48, 46, 48, 41, 47,108, 97, -109,112,100,105,115,116, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95, -115,112,111,116, 95,115,113,117, 97,114,101, 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,109, 97,116, 52, 32,108, - 97,109,112,105,109, 97,116, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112,114, - 41, 10,123, 10, 9,105,102, 40,100,111,116, 40,108,118, 44, 32,108, 97,109,112,118,101, 99, 41, 32, 62, 32, 48, 46, 48, 41, 32, -123, 10, 9, 9,118,101, 99, 51, 32,108,118,114,111,116, 32, 61, 32, 40,108, 97,109,112,105,109, 97,116, 42,118,101, 99, 52, 40, -108,118, 44, 32, 48, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9, 9,102,108,111, 97,116, 32,120, 32, 61, 32,109, 97,120, 40, 97, - 98,115, 40,108,118,114,111,116, 46,120, 47,108,118,114,111,116, 46,122, 41, 44, 32, 97, 98,115, 40,108,118,114,111,116, 46,121, - 47,108,118,114,111,116, 46,122, 41, 41, 59, 10, 10, 9, 9,105,110,112,114, 32, 61, 32, 49, 46, 48, 47,115,113,114,116, 40, 49, - 46, 48, 32, 43, 32,120, 42,120, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 10, 9, 9,105,110,112,114, 32, 61, 32, 48, 46, 48, - 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, 95, 99, -105,114, 99,108,101, 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,105,110,112,114, 41, 10,123, 10, 9,105,110,112,114, 32, 61, 32,100,111,116, 40,108,118, 44, 32,108, - 97,109,112,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, - 95,115,112,111,116, 40,102,108,111, 97,116, 32,115,112,111,116,115,105, 44, 32,102,108,111, 97,116, 32,115,112,111,116, 98,108, - 44, 32,102,108,111, 97,116, 32,105,110,112,114, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,116, 32, 61, 32, -115,112,111,116,115,105, 59, 10, 10, 9,105,102, 40,105,110,112,114, 32, 60, 61, 32,116, 41, 32,123, 10, 9, 9,111,117,116,118, -105,115,105,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,116, 32, 61, 32,105, -110,112,114, 32, 45, 32,116, 59, 10, 10, 9, 9, 47, 42, 32,115,111,102,116, 32, 97,114,101, 97, 32, 42, 47, 10, 9, 9,105,102, - 40,115,112,111,116, 98,108, 32, 33, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,105,110,112,114, 32, 42, 61, 32,115,109,111,111,116, -104,115,116,101,112, 40, 48, 46, 48, 44, 32, 49, 46, 48, 44, 32,116, 47,115,112,111,116, 98,108, 41, 59, 10, 10, 9, 9,111,117, -116,118,105,115,105,102, 97, 99, 32, 61, 32,118,105,115,105,102, 97, 99, 42,105,110,112,114, 59, 10, 9,125, 10,125, 10, 10,118, -111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32, -118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, - 10, 9,111,117,116,118,105,115,105,102, 97, 99, 32, 61, 32, 40,118,105,115,105,102, 97, 99, 32, 60, 32, 48, 46, 48, 48, 49, 41, - 63, 32, 48, 46, 48, 58, 32,118,105,115,105,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,118,105, -101,119, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,105,101,119, 41, 10,123, 10, 9, 47, 42, - 32,104, 97,110,100,108,101, 32,112,101,114,115,112,101, 99,116,105,118,101, 47,111,114,116,104,111,103,114, 97,112,104,105, 99, - 32, 42, 47, 10, 9,118,105,101,119, 32, 61, 32, 40,103,108, 95, 80,114,111,106,101, 99,116,105,111,110, 77, 97,116,114,105,120, - 91, 51, 93, 91, 51, 93, 32, 61, 61, 32, 48, 46, 48, 41, 63, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 41, 58, 32,118, -101, 99, 51, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 45, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97, -100,101, 95,116, 97,110,103,101,110,116, 95,118, 40,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, 32,116, 97,110,103, 44, - 32,111,117,116, 32,118,101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,101, 99, 51, 32, 99, 32, 61, 32, 99,114,111,115,115, 40, -108,118, 44, 32,116, 97,110,103, 41, 59, 10, 9,118,101, 99, 51, 32,118,110,111,114, 32, 61, 32, 99,114,111,115,115, 40, 99, 44, - 32,116, 97,110,103, 41, 59, 10, 10, 9,118,110, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,118,110,111,114, 41, 59, - 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,110,112, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, - 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112, 41, 10,123, 10, 9,105,110,112, 32, 61, 32,100,111,116, - 40,118,110, 44, 32,108,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,115, 95,110,111, 95,100,105, -102,102,117,115,101, 40,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, 61, 32, 48, 46, 48, 59, - 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,115, 95,104,101,109,105, 40,102,108,111, 97,116, 32,105,110,112, - 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, 61, 32, 48, 46, 53, 42,105,110,112, 32, - 43, 32, 48, 46, 53, 59, 10,125, 10, 10,102,108,111, 97,116, 32, 97,114,101, 97, 95,108, 97,109,112, 95,101,110,101,114,103,121, - 40,109, 97,116, 52, 32, 97,114,101, 97, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,118,110, 41, 10,123, 10, - 9,118,101, 99, 51, 32,118,101, 99, 91, 52, 93, 44, 32, 99, 91, 52, 93, 59, 10, 9,102,108,111, 97,116, 32,114, 97,100, 91, 52, - 93, 44, 32,102, 97, 99, 59, 10, 9, 10, 9,118,101, 99, 91, 48, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, - 32, 45, 32, 97,114,101, 97, 91, 48, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, 49, 93, 32, 61, 32,110,111,114,109, 97, -108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 49, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, 50, 93, 32, - 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 50, 93, 46,120,121,122, 41, 59, 10, 9, -118,101, 99, 91, 51, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 51, 93, 46, -120,121,122, 41, 59, 10, 10, 9, 99, 91, 48, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118, -101, 99, 91, 48, 93, 44, 32,118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9, 99, 91, 49, 93, 32, 61, 32,110,111,114,109, 97,108,105, -122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, 93, 41, 41, 59, 10, 9, 99, 91, 50, 93, - 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 50, 93, 44, 32,118,101, 99, 91, 51, - 93, 41, 41, 59, 10, 9, 99, 91, 51, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, - 91, 51, 93, 44, 32,118,101, 99, 91, 48, 93, 41, 41, 59, 10, 10, 9,114, 97,100, 91, 48, 93, 32, 61, 32, 97, 99,111,115, 40,100, -111,116, 40,118,101, 99, 91, 48, 93, 44, 32,118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9,114, 97,100, 91, 49, 93, 32, 61, 32, 97, - 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, 93, 41, 41, 59, 10, 9,114, 97,100, 91, 50, - 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 50, 93, 44, 32,118,101, 99, 91, 51, 93, 41, 41, 59, 10, 9, -114, 97,100, 91, 51, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 51, 93, 44, 32,118,101, 99, 91, 48, 93, - 41, 41, 59, 10, 10, 9,102, 97, 99, 61, 32, 32,114, 97,100, 91, 48, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 48, 93, 41, - 59, 10, 9,102, 97, 99, 43, 61, 32,114, 97,100, 91, 49, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 49, 93, 41, 59, 10, 9, -102, 97, 99, 43, 61, 32,114, 97,100, 91, 50, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 50, 93, 41, 59, 10, 9,102, 97, 99, - 43, 61, 32,114, 97,100, 91, 51, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 51, 93, 41, 59, 10, 10, 9,114,101,116,117,114, -110, 32,109, 97,120, 40,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105, -110,112, 95, 97,114,101, 97, 40,118,101, 99, 51, 32,112,111,115,105,116,105,111,110, 44, 32,118,101, 99, 51, 32,108, 97,109,112, - 99,111, 44, 32,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, 99, 51, 32,118,110, 44, 32,109, 97,116, 52, 32, - 97,114,101, 97, 44, 32,102,108,111, 97,116, 32, 97,114,101, 97,115,105,122,101, 44, 32,102,108,111, 97,116, 32,107, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,105,110,112, 41, 10,123, 10, 9,118,101, 99, 51, 32, 99,111, 32, 61, 32,112,111,115,105,116, -105,111,110, 59, 10, 9,118,101, 99, 51, 32,118,101, 99, 32, 61, 32, 99,111, 32, 45, 32,108, 97,109,112, 99,111, 59, 10, 10, 9, -105,102, 40,100,111,116, 40,118,101, 99, 44, 32,108, 97,109,112,118,101, 99, 41, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9, -105,110,112, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,105,110, -116,101,110,115, 32, 61, 32, 97,114,101, 97, 95,108, 97,109,112, 95,101,110,101,114,103,121, 40, 97,114,101, 97, 44, 32, 99,111, - 44, 32,118,110, 41, 59, 10, 10, 9, 9,105,110,112, 32, 61, 32,112,111,119, 40,105,110,116,101,110,115, 42, 97,114,101, 97,115, -105,122,101, 44, 32,107, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115, -101, 95,111,114,101,110, 95,110, 97,121,101,114, 40,102,108,111, 97,116, 32,110,108, 44, 32,118,101, 99, 51, 32,110, 44, 32,118, -101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104, 44, 32,111,117,116, 32, -102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, -118, 32, 43, 32,108, 41, 59, 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,104, - 41, 44, 32, 48, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32, -118, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,114,101, 97,108,110,108, 32, 61, 32,100,111,116, 40,110, 44, - 32,108, 41, 59, 10, 10, 9,105,102, 40,114,101, 97,108,110,108, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, - 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,105,102, 40,110,108, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9, -105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,118,104, 32, - 61, 32,109, 97,120, 40,100,111,116, 40,118, 44, 32,104, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9,102,108,111, 97,116, 32, 76, -105,116, 95, 65, 32, 61, 32, 97, 99,111,115, 40,114,101, 97,108,110,108, 41, 59, 10, 9, 9,102,108,111, 97,116, 32, 86,105,101, -119, 95, 65, 32, 61, 32, 97, 99,111,115, 40,110,118, 41, 59, 10, 10, 9, 9,118,101, 99, 51, 32, 76,105,116, 95, 66, 32, 61, 32, -110,111,114,109, 97,108,105,122,101, 40,108, 32, 45, 32,114,101, 97,108,110,108, 42,110, 41, 59, 10, 9, 9,118,101, 99, 51, 32, - 86,105,101,119, 95, 66, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 45, 32,110,118, 42,110, 41, 59, 10, 10, 9, - 9,102,108,111, 97,116, 32,116, 32, 61, 32,109, 97,120, 40,100,111,116, 40, 76,105,116, 95, 66, 44, 32, 86,105,101,119, 95, 66, - 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 97, 44, 32, 98, 59, 10, 10, 9, 9,105,102, 40, 76,105, -116, 95, 65, 32, 62, 32, 86,105,101,119, 95, 65, 41, 32,123, 10, 9, 9, 9, 97, 32, 61, 32, 76,105,116, 95, 65, 59, 10, 9, 9, - 9, 98, 32, 61, 32, 86,105,101,119, 95, 65, 59, 10, 9, 9,125, 10, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9, 97, 32, 61, - 32, 86,105,101,119, 95, 65, 59, 10, 9, 9, 9, 98, 32, 61, 32, 76,105,116, 95, 65, 59, 10, 9, 9,125, 10, 10, 9, 9,102,108, -111, 97,116, 32, 65, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 48, 46, 53, 42, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, - 41, 47, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 32, 43, 32, 48, 46, 51, 51, 41, 41, 41, 59, 10, 9, 9,102,108, -111, 97,116, 32, 66, 32, 61, 32, 48, 46, 52, 53, 42, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 47, 40, 40,114,111, -117,103,104, 42,114,111,117,103,104, 41, 32, 43, 32, 48, 46, 48, 57, 41, 41, 59, 10, 10, 9, 9, 98, 32, 42, 61, 32, 48, 46, 57, - 53, 59, 10, 9, 9,105,115, 32, 61, 32,110,108, 42, 40, 65, 32, 43, 32, 40, 66, 32, 42, 32,116, 32, 42, 32,115,105,110, 40, 97, - 41, 32, 42, 32,116, 97,110, 40, 98, 41, 41, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100, -105,102,102,117,115,101, 95,116,111,111,110, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, - 32,118, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,115,109,111,111,116,104, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32,100,111,116, - 40,110, 44, 32,108, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,114,115,108,116, 41, 59, - 10, 10, 9,105,102, 40, 97,110,103, 32, 60, 32,115,105,122,101, 41, 32,105,115, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115, -101, 32,105,102, 40, 97,110,103, 32, 62, 32, 40,115,105,122,101, 32, 43, 32,116,115,109,111,111,116,104, 41, 32,124,124, 32,116, -115,109,111,111,116,104, 32, 61, 61, 32, 48, 46, 48, 41, 32,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105, -115, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, 41, 47,116,115,109,111,111,116,104, 41, - 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95,109,105,110,110, 97,101,114,116, - 40,102,108,111, 97,116, 32,110,108, 44, 32,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, - 32,100, 97,114,107,110,101,115,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,102, 40,110, -108, 32, 60, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, - 32,123, 10, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, - 46, 48, 41, 59, 10, 10, 9, 9,105,102, 40,100, 97,114,107,110,101,115,115, 32, 60, 61, 32, 49, 46, 48, 41, 10, 9, 9, 9,105, -115, 32, 61, 32,110,108, 42,112,111,119, 40,109, 97,120, 40,110,118, 42,110,108, 44, 32, 48, 46, 49, 41, 44, 32,100, 97,114,107, -110,101,115,115, 32, 45, 32, 49, 46, 48, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,105,115, 32, 61, 32,110,108, 42,112, -111,119, 40, 49, 46, 48, 48, 48, 49, 32, 45, 32,110,118, 44, 32,100, 97,114,107,110,101,115,115, 32, 45, 32, 49, 46, 48, 41, 59, - 10, 9,125, 10,125, 10, 10,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 95,102, 97, 99, 40,118,101, 99, 51, 32,118,105, -101,119, 44, 32,118,101, 99, 51, 32,118,110, 44, 32,102,108,111, 97,116, 32,103,114, 97,100, 44, 32,102,108,111, 97,116, 32,102, - 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,116, 49, 44, 32,116, 50, 59, 10, 9,102,108,111, 97,116, 32,102,102, 97, 99, - 59, 10, 10, 9,105,102, 40,102, 97, 99, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,102,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, - 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,116, 49, 61, 32,100,111,116, 40,118,105,101,119, 44, 32,118,110, 41, 59, - 10, 9, 9,105,102, 40,116, 49, 62, 48, 46, 48, 41, 32, 32,116, 50, 61, 32, 49, 46, 48, 43,116, 49, 59, 10, 9, 9,101,108,115, -101, 32,116, 50, 61, 32, 49, 46, 48, 45,116, 49, 59, 10, 10, 9, 9,116, 50, 61, 32,103,114, 97,100, 32, 43, 32, 40, 49, 46, 48, - 45,103,114, 97,100, 41, 42,112,111,119, 40,116, 50, 44, 32,102, 97, 99, 41, 59, 10, 10, 9, 9,105,102, 40,116, 50, 60, 48, 46, - 48, 41, 32,102,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40,116, 50, 62, 49, 46, 48, 41, - 32,102,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,102,102, 97, 99, 32, 61, 32,116, 50, 59, 10, 9, -125, 10, 10, 9,114,101,116,117,114,110, 32,102,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100, -105,102,102,117,115,101, 95,102,114,101,115,110,101,108, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108,118, 44, - 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 95,105, 44, 32,102,108,111, 97,116, 32,102, - 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, 61, 32,102,114,101,115,110,101, -108, 95,102, 97, 99, 40,108,118, 44, 32,118,110, 44, 32,102, 97, 99, 95,105, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111, -105,100, 32,115,104, 97,100,101, 95, 99,117, 98,105, 99, 40,102,108,111, 97,116, 32,105,115, 44, 32,111,117,116, 32,102,108,111, - 97,116, 32,111,117,116,105,115, 41, 10,123, 10, 9,105,102, 40,105,115, 62, 48, 46, 48, 32, 38, 38, 32,105,115, 60, 49, 46, 48, - 41, 10, 9, 9,111,117,116,105,115, 61, 32,115,109,111,111,116,104,115,116,101,112, 40, 48, 46, 48, 44, 32, 49, 46, 48, 44, 32, -105,115, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,105,115, 61, 32,105,115, 59, 10,125, 10, 10,118,111,105,100, 32, -115,104, 97,100,101, 95,118,105,115,105,102, 97, 99, 40,102,108,111, 97,116, 32,105, 44, 32,102,108,111, 97,116, 32,118,105,115, -105,102, 97, 99, 44, 32,102,108,111, 97,116, 32,114,101,102,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,105, - 41, 10,123, 10, 9, 47, 42,105,102, 40,105, 32, 62, 32, 48, 46, 48, 41, 42, 47, 10, 9, 9,111,117,116,105, 32, 61, 32,109, 97, -120, 40,105, 42,118,105,115,105,102, 97, 99, 42,114,101,102,108, 44, 32, 48, 46, 48, 41, 59, 10, 9, 47, 42,101,108,115,101, 10, - 9, 9,111,117,116,105, 32, 61, 32,105, 59, 42, 47, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116, 97,110,103, -101,110,116, 95,118, 95,115,112,101, 99, 40,118,101, 99, 51, 32,116, 97,110,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, -110, 41, 10,123, 10, 9,118,110, 32, 61, 32,116, 97,110,103, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97, -100,100, 95,116,111, 95,100,105,102,102,117,115,101, 40,102,108,111, 97,116, 32,105, 44, 32,118,101, 99, 51, 32,108, 97,109,112, - 99,111,108, 44, 32,118,101, 99, 51, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10, -123, 10, 9,105,102, 40,105, 32, 62, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,105, 42,108, 97,109,112, - 99,111,108, 42, 99,111,108, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 51, 40, 48, - 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,104,101,109, -105, 95,115,112,101, 99, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, 32,118,105, -101,119, 44, 32,102,108,111, 97,116, 32,115,112,101, 99, 44, 32,102,108,111, 97,116, 32,104, 97,114,100, 44, 32,102,108,111, 97, -116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, 41, 10,123, 10, 9,108,118, 32, 43, 61, - 32,118,105,101,119, 59, 10, 9,108,118, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108,118, 41, 59, 10, 10, 9,116, 32, - 61, 32,100,111,116, 40,118,110, 44, 32,108,118, 41, 59, 10, 9,116, 32, 61, 32, 48, 46, 53, 42,116, 32, 43, 32, 48, 46, 53, 59, - 10, 10, 9,116, 32, 61, 32,118,105,115,105,102, 97, 99, 42,115,112,101, 99, 42,112,111,119, 40,116, 44, 32,104, 97,114,100, 41, - 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,112,104,111,110,103, 95,115,112,101, 99, 40,118,101, 99, 51, 32, -110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,104, 97,114,100, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111, -114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32,109, 97, -120, 40,100,111,116, 40,104, 44, 32,110, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,112, -111,119, 40,114,115,108,116, 44, 32,104, 97,114,100, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 99,111, -111,107,116,111,114,114, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, - 32,118, 44, 32,102,108,111, 97,116, 32,104, 97,114,100, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, - 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 43, 32,108, 41, 59, - 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,100,111,116, 40,110, 44, 32,104, 41, 59, 10, 10, 9,105,102, 40,110,104, 32, - 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108, -115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, - 32, 48, 46, 48, 41, 59, 10, 9, 9,102,108,111, 97,116, 32,105, 32, 61, 32,112,111,119, 40,110,104, 44, 32,104, 97,114,100, 41, - 59, 10, 10, 9, 9,105, 32, 61, 32,105, 47, 40, 48, 46, 49, 43,110,118, 41, 59, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, - 32,105, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 98,108,105,110,110, 95,115,112,101, 99, 40, -118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,114,101, -102,114, 97, 99, 44, 32,102,108,111, 97,116, 32,115,112,101, 99, 95,112,111,119,101,114, 44, 32,111,117,116, 32,102,108,111, 97, -116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,105,102, 40,114,101,102,114, 97, 99, 32, 60, 32, 49, 46, 48, 41, 32,123, - 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,105,102, 40,115,112, -101, 99, 95,112,111,119,101,114, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, - 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,115,112,101, 99, 95,112,111,119,101,114, 60, 49, - 48, 48, 46, 48, 41, 10, 9, 9, 9,115,112,101, 99, 95,112,111,119,101,114, 61, 32,115,113,114,116, 40, 49, 46, 48, 47,115,112, -101, 99, 95,112,111,119,101,114, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,115,112,101, 99, 95,112,111,119,101,114, 61, - 32, 49, 48, 46, 48, 47,115,112,101, 99, 95,112,111,119,101,114, 59, 10, 10, 9, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111, -114,109, 97,108,105,122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,100,111,116, - 40,110, 44, 32,104, 41, 59, 10, 9, 9,105,102, 40,110,104, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9, 9,115,112,101, 99, -102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,125, 10, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9,102,108,111, 97,116, - 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 49, 41, 59, 10, 9, 9, 9,102, -108,111, 97,116, 32,110,108, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, 9, 9, 9,105,102, 40,110,108, 32, 60, 61, - 32, 48, 46, 48, 49, 41, 32,123, 10, 9, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9, 9,125, - 10, 9, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,118,104, 32, 61, 32,109, 97,120, 40,100,111, -116, 40,118, 44, 32,104, 41, 44, 32, 48, 46, 48, 49, 41, 59, 10, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 97, 32, 61, 32, 49, - 46, 48, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 98, 32, 61, 32, 40, 50, 46, 48, 42,110,104, 42,110,118, 41, 47,118,104, - 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 99, 32, 61, 32, 40, 50, 46, 48, 42,110,104, 42,110,108, 41, 47,118,104, 59, 10, - 10, 9, 9, 9, 9,102,108,111, 97,116, 32,103, 32, 61, 32, 48, 46, 48, 59, 10, 10, 9, 9, 9, 9,105,102, 40, 97, 32, 60, 32, - 98, 32, 38, 38, 32, 97, 32, 60, 32, 99, 41, 32,103, 32, 61, 32, 97, 59, 10, 9, 9, 9, 9,101,108,115,101, 32,105,102, 40, 98, - 32, 60, 32, 97, 32, 38, 38, 32, 98, 32, 60, 32, 99, 41, 32,103, 32, 61, 32, 98, 59, 10, 9, 9, 9, 9,101,108,115,101, 32,105, -102, 40, 99, 32, 60, 32, 97, 32, 38, 38, 32, 99, 32, 60, 32, 98, 41, 32,103, 32, 61, 32, 99, 59, 10, 10, 9, 9, 9, 9,102,108, -111, 97,116, 32,112, 32, 61, 32,115,113,114,116, 40, 40, 40,114,101,102,114, 97, 99, 32, 42, 32,114,101,102,114, 97, 99, 41, 43, - 40,118,104, 42,118,104, 41, 45, 49, 46, 48, 41, 41, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,102, 32, 61, 32, 40, 40, 40, -112, 45,118,104, 41, 42, 40,112, 45,118,104, 41, 41, 47, 40, 40,112, 43,118,104, 41, 42, 40,112, 43,118,104, 41, 41, 41, 42, 40, - 49, 46, 48, 43, 40, 40, 40, 40,118,104, 42, 40,112, 43,118,104, 41, 41, 45, 49, 46, 48, 41, 42, 40, 40,118,104, 42, 40,112, 43, -118,104, 41, 41, 45, 49, 46, 48, 41, 41, 47, 40, 40, 40,118,104, 42, 40,112, 45,118,104, 41, 41, 43, 49, 46, 48, 41, 42, 40, 40, -118,104, 42, 40,112, 45,118,104, 41, 41, 43, 49, 46, 48, 41, 41, 41, 41, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 97,110, -103, 32, 61, 32, 97, 99,111,115, 40,110,104, 41, 59, 10, 10, 9, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,109, 97,120, - 40,102, 42,103, 42,101,120,112, 95, 98,108,101,110,100,101,114, 40, 40, 45, 40, 97,110,103, 42, 97,110,103, 41, 47, 40, 50, 46, - 48, 42,115,112,101, 99, 95,112,111,119,101,114, 42,115,112,101, 99, 95,112,111,119,101,114, 41, 41, 41, 44, 32, 48, 46, 48, 41, - 59, 10, 9, 9, 9,125, 10, 9, 9,125, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,119, 97,114,100, -105,115,111, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, - 32,102,108,111, 97,116, 32,114,109,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, - 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108, -111, 97,116, 32,110,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,104, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, - 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 48, 49, - 41, 59, 10, 9,102,108,111, 97,116, 32,110,108, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,108, 41, 44, 32, 48, 46, - 48, 48, 49, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103,108,101, 32, 61, 32,116, 97,110, 40, 97, 99,111,115, 40,110,104, - 41, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,108,112,104, 97, 32, 61, 32,109, 97,120, 40,114,109,115, 44, 32, 48, 46, 48, 48, - 49, 41, 59, 10, 10, 9,115,112,101, 99,102, 97, 99, 61, 32,110,108, 32, 42, 32, 40, 49, 46, 48, 47, 40, 52, 46, 48, 42, 77, 95, - 80, 73, 42, 97,108,112,104, 97, 42, 97,108,112,104, 97, 41, 41, 42, 40,101,120,112, 95, 98,108,101,110,100,101,114, 40, 45, 40, - 97,110,103,108,101, 42, 97,110,103,108,101, 41, 47, 40, 97,108,112,104, 97, 42, 97,108,112,104, 97, 41, 41, 47, 40,115,113,114, -116, 40,110,118, 42,110,108, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116,111,111,110, 95,115, +116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,102,108,111, 97,116, 32,115, 32, 61, 32, 49, 46, 48, 59, + 9, 9, 47, 47, 32,110,101,103, 97,116,101, 32,116,104,105,115, 32,105,102, 32,102,108,105,112,112,101,100, 32,116,101,120,116, +117,114,101, 32, 99,111,111,114,100,105,110, 97,116,101, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100, +120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40, +116,101,120, 99,111, 46,120,121, 41, 59, 10, 9, 10, 9, 47, 47, 32,116,104,105,115, 32,118, 97,114,105, 97,110,116, 32,117,115, +105,110,103, 32, 97, 32,100,101,114,105,118, 97,116,105,118,101, 32,109, 97,112, 32,105,115, 32,100,101,115, 99,114,105, 98,101, +100, 32,104,101,114,101, 10, 9, 47, 47, 32,104,116,116,112, 58, 47, 47,109,109,105,107,107,101,108,115,101,110, 51,100, 46, 98, +108,111,103,115,112,111,116, 46, 99,111,109, 47, 50, 48, 49, 49, 47, 48, 55, 47,100,101,114,105,118, 97,116,105,118,101, 45,109, + 97,112,115, 46,104,116,109,108, 10, 9,118,101, 99, 50, 32,100,105,109, 32, 61, 32,118,101, 99, 50, 40,105,109, 97, 95,120, 44, + 32,105,109, 97, 95,121, 41, 59, 10, 9,118,101, 99, 50, 32,100, 66,100,117,118, 32, 61, 32,104, 83, 99, 97,108,101, 42,100,105, +109, 42, 40, 50, 46, 48, 42,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 46, +120,121, 45, 49, 46, 48, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,100, 66,100,117,118, 46,120, 42, 84,101,120, 68,120, 46, +120, 32, 43, 32,115, 42,100, 66,100,117,118, 46,121, 42, 84,101,120, 68,120, 46,121, 59, 10, 9,100, 66,116, 32, 61, 32,100, 66, +100,117,118, 46,120, 42, 84,101,120, 68,121, 46,120, 32, 43, 32,115, 42,100, 66,100,117,118, 46,121, 42, 84,101,120, 68,121, 46, +121, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 40, 32,102,108,111, 97, +116, 32,102, 68,101,116, 44, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,102,108,111, 97,116, 32,100, 66,116, 44, 32,118,101, + 99, 51, 32,118, 82, 49, 44, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, + 10, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32,111,117,116, 32, +118,101, 99, 51, 32,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, + 83,117,114,102, 71,114, 97,100, 32, 61, 32,115,105,103,110, 40,102, 68,101,116, 41, 32, 42, 32, 40, 32,100, 66,115, 32, 42, 32, +118, 82, 49, 32, 43, 32,100, 66,116, 32, 42, 32,118, 82, 50, 32, 41, 59, 10, 9, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, + 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 45, 32,118, 83,117,114,102, 71,114, 97,100, 59, 10, 9,112,101,114,116,117,114, 98, +101,100, 95,110,111,114,109, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,118, 78, 97, 99, 99, 95,111,117,116, 32, 41, + 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 95,116,101,120,115,112, 97, + 99,101, 40, 32,102,108,111, 97,116, 32,102, 68,101,116, 44, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,102,108,111, 97,116, + 32,100, 66,116, 44, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,118,101, 99, 51, 32,118, 82, 50, 44, 10, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,115, 97,109,112,108,101,114, + 50, 68, 32,105,109, 97, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,120, 44, + 32,102,108,111, 97,116, 32,105,109, 97, 95,121, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, + 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32,111,117,116, 32,118, +101, 99, 51, 32,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 84,101, +120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68, +121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 10, 9,118,101, 99, 51, 32,118, 83,117,114,102, + 71,114, 97,100, 32, 61, 32,115,105,103,110, 40,102, 68,101,116, 41, 32, 42, 32, 40, 32, 10, 9, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32,100, 66,115, 32, 47, 32,108,101,110,103,116,104, 40, 32,118,101, 99, 50, 40,105,109, 97, 95,120, 42, 84,101,120, + 68,120, 46,120, 44, 32,105,109, 97, 95,121, 42, 84,101,120, 68,120, 46,121, 41, 32, 41, 32, 42, 32,118, 82, 49, 32, 43, 32, 10, + 9, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100, 66,116, 32, 47, 32,108,101,110,103,116,104, 40, 32,118,101, 99, 50, 40, +105,109, 97, 95,120, 42, 84,101,120, 68,121, 46,120, 44, 32,105,109, 97, 95,121, 42, 84,101,120, 68,121, 46,121, 41, 32, 41, 32, + 42, 32,118, 82, 50, 32, 41, 59, 10, 9, 9, 9, 9, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, + 95,105,110, 32, 45, 32,118, 83,117,114,102, 71,114, 97,100, 59, 10, 9,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, + 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,118, 78, 97, 99, 99, 95,111,117,116, 32, 41, 59, 10,125, 10, 10,118,111, +105,100, 32,109,116,101,120, 95,110,101,103, 97,116,101, 95,116,101,120,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,110,111, +114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9,111,117,116, +110,111,114,109, 97,108, 32, 61, 32,118,101, 99, 51, 40, 45,110,111,114,109, 97,108, 46,120, 44, 32, 45,110,111,114,109, 97,108, + 46,121, 44, 32,110,111,114,109, 97,108, 46,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,115,112, 97, + 99,101, 95,116, 97,110,103,101,110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, 44, 32,118,101, 99, 51, 32,110,111, +114,109, 97,108, 44, 32,118,101, 99, 51, 32,116,101,120,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111, +117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9,118,101, 99, 51, 32, 66, 32, 61, 32,116, 97,110,103,101,110,116, 46,119, 32, + 42, 32, 99,114,111,115,115, 40,110,111,114,109, 97,108, 44, 32,116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10, 10, 9, +111,117,116,110,111,114,109, 97,108, 32, 61, 32,116,101,120,110,111,114,109, 97,108, 46,120, 42,116, 97,110,103,101,110,116, 46, +120,121,122, 32, 43, 32,116,101,120,110,111,114,109, 97,108, 46,121, 42, 66, 32, 43, 32,116,101,120,110,111,114,109, 97,108, 46, +122, 42,110,111,114,109, 97,108, 59, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, + 40,111,117,116,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,108,101,110,100, 95, +110,111,114,109, 97,108, 40,102,108,111, 97,116, 32,110,111,114,102, 97, 99, 44, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, + 44, 32,118,101, 99, 51, 32,110,101,119,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111, +114,109, 97,108, 41, 10,123, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32,110,111,114,102, + 97, 99, 41, 42,110,111,114,109, 97,108, 32, 43, 32,110,111,114,102, 97, 99, 42,110,101,119,110,111,114,109, 97,108, 59, 10, 9, +111,117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,110,111,114,109, 97,108, 41, + 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 32, 77, 65, 84, 69, 82, 73, 65, 76, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 47, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,117,110, 95,104,101,109,105, + 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32, +102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, + 10, 9,108,118, 32, 61, 32,108, 97,109,112,118,101, 99, 59, 10, 9,100,105,115,116, 32, 61, 32, 49, 46, 48, 59, 10, 9,118,105, +115,105,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105, +108,105,116,121, 95,111,116,104,101,114, 40,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111, 44, + 32,111,117,116, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117, +116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,108,118, 32, 61, 32, 99,111, 32, 45, 32,108, 97, +109,112, 99,111, 59, 10, 9,100,105,115,116, 32, 61, 32,108,101,110,103,116,104, 40,108,118, 41, 59, 10, 9,108,118, 32, 61, 32, +110,111,114,109, 97,108,105,122,101, 40,108,118, 41, 59, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, + 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95,105,110,118,108,105,110,101, 97,114, 40,102,108, +111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105, +115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32,100,105,115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97, +109,112, 95,102, 97,108,108,111,102,102, 95,105,110,118,115,113,117, 97,114,101, 40,102,108,111, 97,116, 32,108, 97,109,112,100, +105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, + 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40,108, 97,109,112,100, +105,115,116, 32, 43, 32,100,105,115,116, 42,100,105,115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, + 97,108,108,111,102,102, 95,115,108,105,100,101,114,115, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102, +108,111, 97,116, 32,108,100, 49, 44, 32,102,108,111, 97,116, 32,108,100, 50, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,108, 97,109, +112,100,105,115,116,107,119, 32, 61, 32,108, 97,109,112,100,105,115,116, 42,108, 97,109,112,100,105,115,116, 59, 10, 10, 9,118, +105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32,108,100, + 49, 42,100,105,115,116, 41, 59, 10, 9,118,105,115,105,102, 97, 99, 32, 42, 61, 32,108, 97,109,112,100,105,115,116,107,119, 47, + 40,108, 97,109,112,100,105,115,116,107,119, 32, 43, 32,108,100, 50, 42,100,105,115,116, 42,100,105,115,116, 41, 59, 10,125, 10, + 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95, 99,117,114,118,101, 40,102,108,111, 97,116, 32,108, + 97,109,112,100,105,115,116, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,102,108,111, + 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,118, +105,115,105,102, 97, 99, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, + 50, 40,100,105,115,116, 47,108, 97,109,112,100,105,115,116, 44, 32, 48, 46, 48, 41, 41, 46,120, 59, 10,125, 10, 10,118,111,105, +100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,104,101,114,101, 40,102,108,111, 97,116, 32,108, + 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, + 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, + 97,116, 32,116, 61, 32,108, 97,109,112,100,105,115,116, 32, 45, 32,100,105,115,116, 59, 10, 10, 9,111,117,116,118,105,115,105, +102, 97, 99, 61, 32,118,105,115,105,102, 97, 99, 42,109, 97,120, 40,116, 44, 32, 48, 46, 48, 41, 47,108, 97,109,112,100,105,115, +116, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, 95, +115,113,117, 97,114,101, 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,109, 97,116, 52, 32,108, 97,109,112,105,109, + 97,116, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112,114, 41, 10,123, 10, 9, +105,102, 40,100,111,116, 40,108,118, 44, 32,108, 97,109,112,118,101, 99, 41, 32, 62, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,118, +101, 99, 51, 32,108,118,114,111,116, 32, 61, 32, 40,108, 97,109,112,105,109, 97,116, 42,118,101, 99, 52, 40,108,118, 44, 32, 48, + 46, 48, 41, 41, 46,120,121,122, 59, 10, 9, 9,102,108,111, 97,116, 32,120, 32, 61, 32,109, 97,120, 40, 97, 98,115, 40,108,118, +114,111,116, 46,120, 47,108,118,114,111,116, 46,122, 41, 44, 32, 97, 98,115, 40,108,118,114,111,116, 46,121, 47,108,118,114,111, +116, 46,122, 41, 41, 59, 10, 10, 9, 9,105,110,112,114, 32, 61, 32, 49, 46, 48, 47,115,113,114,116, 40, 49, 46, 48, 32, 43, 32, +120, 42,120, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 10, 9, 9,105,110,112,114, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10, +118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, 95, 99,105,114, 99,108,101, + 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,105,110,112,114, 41, 10,123, 10, 9,105,110,112,114, 32, 61, 32,100,111,116, 40,108,118, 44, 32,108, 97,109,112,118,101, + 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, + 40,102,108,111, 97,116, 32,115,112,111,116,115,105, 44, 32,102,108,111, 97,116, 32,115,112,111,116, 98,108, 44, 32,102,108,111, + 97,116, 32,105,110,112,114, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,116, 32, 61, 32,115,112,111,116,115, +105, 59, 10, 10, 9,105,102, 40,105,110,112,114, 32, 60, 61, 32,116, 41, 32,123, 10, 9, 9,111,117,116,118,105,115,105,102, 97, + 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,116, 32, 61, 32,105,110,112,114, 32, 45, + 32,116, 59, 10, 10, 9, 9, 47, 42, 32,115,111,102,116, 32, 97,114,101, 97, 32, 42, 47, 10, 9, 9,105,102, 40,115,112,111,116, + 98,108, 32, 33, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,105,110,112,114, 32, 42, 61, 32,115,109,111,111,116,104,115,116,101,112, + 40, 48, 46, 48, 44, 32, 49, 46, 48, 44, 32,116, 47,115,112,111,116, 98,108, 41, 59, 10, 10, 9, 9,111,117,116,118,105,115,105, +102, 97, 99, 32, 61, 32,118,105,115,105,102, 97, 99, 42,105,110,112,114, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,108, + 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,118,105,115,105,102, + 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,111,117,116, +118,105,115,105,102, 97, 99, 32, 61, 32, 40,118,105,115,105,102, 97, 99, 32, 60, 32, 48, 46, 48, 48, 49, 41, 63, 32, 48, 46, 48, + 58, 32,118,105,115,105,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,118,105,101,119, 40,118,101, + 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,105,101,119, 41, 10,123, 10, 9, 47, 42, 32,104, 97,110,100, +108,101, 32,112,101,114,115,112,101, 99,116,105,118,101, 47,111,114,116,104,111,103,114, 97,112,104,105, 99, 32, 42, 47, 10, 9, +118,105,101,119, 32, 61, 32, 40,103,108, 95, 80,114,111,106,101, 99,116,105,111,110, 77, 97,116,114,105,120, 91, 51, 93, 91, 51, + 93, 32, 61, 61, 32, 48, 46, 48, 41, 63, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 41, 58, 32,118,101, 99, 51, 40, 48, + 46, 48, 44, 32, 48, 46, 48, 44, 32, 45, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116, 97, +110,103,101,110,116, 95,118, 40,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, 32,116, 97,110,103, 44, 32,111,117,116, 32, +118,101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,101, 99, 51, 32, 99, 32, 61, 32, 99,114,111,115,115, 40,108,118, 44, 32,116, + 97,110,103, 41, 59, 10, 9,118,101, 99, 51, 32,118,110,111,114, 32, 61, 32, 99,114,111,115,115, 40, 99, 44, 32,116, 97,110,103, + 41, 59, 10, 10, 9,118,110, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,118,110,111,114, 41, 59, 10,125, 10, 10,118, +111,105,100, 32,115,104, 97,100,101, 95,105,110,112, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108,118, 44, 32, +111,117,116, 32,102,108,111, 97,116, 32,105,110,112, 41, 10,123, 10, 9,105,110,112, 32, 61, 32,100,111,116, 40,118,110, 44, 32, +108,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,115, 95,110,111, 95,100,105,102,102,117,115,101, + 40,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118, +111,105,100, 32,115,104, 97,100,101, 95,105,115, 95,104,101,109,105, 40,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, + 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, 61, 32, 48, 46, 53, 42,105,110,112, 32, 43, 32, 48, 46, 53, + 59, 10,125, 10, 10,102,108,111, 97,116, 32, 97,114,101, 97, 95,108, 97,109,112, 95,101,110,101,114,103,121, 40,109, 97,116, 52, + 32, 97,114,101, 97, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,101, 99, 51, + 32,118,101, 99, 91, 52, 93, 44, 32, 99, 91, 52, 93, 59, 10, 9,102,108,111, 97,116, 32,114, 97,100, 91, 52, 93, 44, 32,102, 97, + 99, 59, 10, 9, 10, 9,118,101, 99, 91, 48, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114, +101, 97, 91, 48, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, 49, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, + 99,111, 32, 45, 32, 97,114,101, 97, 91, 49, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, 50, 93, 32, 61, 32,110,111,114, +109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 50, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, 51, + 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 51, 93, 46,120,121,122, 41, 59, + 10, 10, 9, 99, 91, 48, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 48, 93, + 44, 32,118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9, 99, 91, 49, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114, +111,115,115, 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, 93, 41, 41, 59, 10, 9, 99, 91, 50, 93, 32, 61, 32,110,111, +114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 50, 93, 44, 32,118,101, 99, 91, 51, 93, 41, 41, 59, 10, + 9, 99, 91, 51, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 51, 93, 44, 32, +118,101, 99, 91, 48, 93, 41, 41, 59, 10, 10, 9,114, 97,100, 91, 48, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, + 99, 91, 48, 93, 44, 32,118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9,114, 97,100, 91, 49, 93, 32, 61, 32, 97, 99,111,115, 40,100, +111,116, 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, 93, 41, 41, 59, 10, 9,114, 97,100, 91, 50, 93, 32, 61, 32, 97, + 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 50, 93, 44, 32,118,101, 99, 91, 51, 93, 41, 41, 59, 10, 9,114, 97,100, 91, 51, + 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 51, 93, 44, 32,118,101, 99, 91, 48, 93, 41, 41, 59, 10, 10, + 9,102, 97, 99, 61, 32, 32,114, 97,100, 91, 48, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 48, 93, 41, 59, 10, 9,102, 97, + 99, 43, 61, 32,114, 97,100, 91, 49, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 49, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, + 32,114, 97,100, 91, 50, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 50, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, 32,114, 97, +100, 91, 51, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 51, 93, 41, 59, 10, 10, 9,114,101,116,117,114,110, 32,109, 97,120, + 40,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,110,112, 95, 97,114, +101, 97, 40,118,101, 99, 51, 32,112,111,115,105,116,105,111,110, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111, 44, 32,118, +101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, 99, 51, 32,118,110, 44, 32,109, 97,116, 52, 32, 97,114,101, 97, 44, + 32,102,108,111, 97,116, 32, 97,114,101, 97,115,105,122,101, 44, 32,102,108,111, 97,116, 32,107, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,105,110,112, 41, 10,123, 10, 9,118,101, 99, 51, 32, 99,111, 32, 61, 32,112,111,115,105,116,105,111,110, 59, 10, + 9,118,101, 99, 51, 32,118,101, 99, 32, 61, 32, 99,111, 32, 45, 32,108, 97,109,112, 99,111, 59, 10, 10, 9,105,102, 40,100,111, +116, 40,118,101, 99, 44, 32,108, 97,109,112,118,101, 99, 41, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,110,112, 32, 61, + 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,105,110,116,101,110,115, 32, + 61, 32, 97,114,101, 97, 95,108, 97,109,112, 95,101,110,101,114,103,121, 40, 97,114,101, 97, 44, 32, 99,111, 44, 32,118,110, 41, + 59, 10, 10, 9, 9,105,110,112, 32, 61, 32,112,111,119, 40,105,110,116,101,110,115, 42, 97,114,101, 97,115,105,122,101, 44, 32, +107, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95,111,114,101, +110, 95,110, 97,121,101,114, 40,102,108,111, 97,116, 32,110,108, 44, 32,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, + 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104, 44, 32,111,117,116, 32,102,108,111, 97,116, + 32,105,115, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 43, 32,108, + 41, 59, 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,104, 41, 44, 32, 48, 46, + 48, 41, 59, 10, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, + 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,114,101, 97,108,110,108, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, + 10, 9,105,102, 40,114,101, 97,108,110,108, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, 59, + 10, 9,125, 10, 9,101,108,115,101, 32,105,102, 40,110,108, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, + 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,118,104, 32, 61, 32,109, 97,120, + 40,100,111,116, 40,118, 44, 32,104, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9,102,108,111, 97,116, 32, 76,105,116, 95, 65, 32, + 61, 32, 97, 99,111,115, 40,114,101, 97,108,110,108, 41, 59, 10, 9, 9,102,108,111, 97,116, 32, 86,105,101,119, 95, 65, 32, 61, + 32, 97, 99,111,115, 40,110,118, 41, 59, 10, 10, 9, 9,118,101, 99, 51, 32, 76,105,116, 95, 66, 32, 61, 32,110,111,114,109, 97, +108,105,122,101, 40,108, 32, 45, 32,114,101, 97,108,110,108, 42,110, 41, 59, 10, 9, 9,118,101, 99, 51, 32, 86,105,101,119, 95, + 66, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 45, 32,110,118, 42,110, 41, 59, 10, 10, 9, 9,102,108,111, 97, +116, 32,116, 32, 61, 32,109, 97,120, 40,100,111,116, 40, 76,105,116, 95, 66, 44, 32, 86,105,101,119, 95, 66, 41, 44, 32, 48, 46, + 48, 41, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 97, 44, 32, 98, 59, 10, 10, 9, 9,105,102, 40, 76,105,116, 95, 65, 32, 62, + 32, 86,105,101,119, 95, 65, 41, 32,123, 10, 9, 9, 9, 97, 32, 61, 32, 76,105,116, 95, 65, 59, 10, 9, 9, 9, 98, 32, 61, 32, + 86,105,101,119, 95, 65, 59, 10, 9, 9,125, 10, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9, 97, 32, 61, 32, 86,105,101,119, + 95, 65, 59, 10, 9, 9, 9, 98, 32, 61, 32, 76,105,116, 95, 65, 59, 10, 9, 9,125, 10, 10, 9, 9,102,108,111, 97,116, 32, 65, + 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 48, 46, 53, 42, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 47, 40, 40,114, +111,117,103,104, 42,114,111,117,103,104, 41, 32, 43, 32, 48, 46, 51, 51, 41, 41, 41, 59, 10, 9, 9,102,108,111, 97,116, 32, 66, + 32, 61, 32, 48, 46, 52, 53, 42, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 47, 40, 40,114,111,117,103,104, 42,114, +111,117,103,104, 41, 32, 43, 32, 48, 46, 48, 57, 41, 41, 59, 10, 10, 9, 9, 98, 32, 42, 61, 32, 48, 46, 57, 53, 59, 10, 9, 9, +105,115, 32, 61, 32,110,108, 42, 40, 65, 32, 43, 32, 40, 66, 32, 42, 32,116, 32, 42, 32,115,105,110, 40, 97, 41, 32, 42, 32,116, + 97,110, 40, 98, 41, 41, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115, +101, 95,116,111,111,110, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102, +108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,115,109,111,111,116,104, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,105,115, 41, 10,123, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32,100,111,116, 40,110, 44, 32,108, + 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,114,115,108,116, 41, 59, 10, 10, 9,105,102, + 40, 97,110,103, 32, 60, 32,115,105,122,101, 41, 32,105,115, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, + 97,110,103, 32, 62, 32, 40,115,105,122,101, 32, 43, 32,116,115,109,111,111,116,104, 41, 32,124,124, 32,116,115,109,111,111,116, +104, 32, 61, 61, 32, 48, 46, 48, 41, 32,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,115, 32, 61, 32, 49, + 46, 48, 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, 41, 47,116,115,109,111,111,116,104, 41, 59, 10,125, 10, 10, +118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95,109,105,110,110, 97,101,114,116, 40,102,108,111, 97, +116, 32,110,108, 44, 32,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,100, 97,114,107, +110,101,115,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,102, 40,110,108, 32, 60, 61, 32, + 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9, +102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, 59, 10, + 10, 9, 9,105,102, 40,100, 97,114,107,110,101,115,115, 32, 60, 61, 32, 49, 46, 48, 41, 10, 9, 9, 9,105,115, 32, 61, 32,110, +108, 42,112,111,119, 40,109, 97,120, 40,110,118, 42,110,108, 44, 32, 48, 46, 49, 41, 44, 32,100, 97,114,107,110,101,115,115, 32, + 45, 32, 49, 46, 48, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,105,115, 32, 61, 32,110,108, 42,112,111,119, 40, 49, 46, + 48, 48, 48, 49, 32, 45, 32,110,118, 44, 32,100, 97,114,107,110,101,115,115, 32, 45, 32, 49, 46, 48, 41, 59, 10, 9,125, 10,125, + 10, 10,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 95,102, 97, 99, 40,118,101, 99, 51, 32,118,105,101,119, 44, 32,118, +101, 99, 51, 32,118,110, 44, 32,102,108,111, 97,116, 32,103,114, 97,100, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, + 10, 9,102,108,111, 97,116, 32,116, 49, 44, 32,116, 50, 59, 10, 9,102,108,111, 97,116, 32,102,102, 97, 99, 59, 10, 10, 9,105, +102, 40,102, 97, 99, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,102,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10, 9,125, 10, 9, +101,108,115,101, 32,123, 10, 9, 9,116, 49, 61, 32,100,111,116, 40,118,105,101,119, 44, 32,118,110, 41, 59, 10, 9, 9,105,102, + 40,116, 49, 62, 48, 46, 48, 41, 32, 32,116, 50, 61, 32, 49, 46, 48, 43,116, 49, 59, 10, 9, 9,101,108,115,101, 32,116, 50, 61, + 32, 49, 46, 48, 45,116, 49, 59, 10, 10, 9, 9,116, 50, 61, 32,103,114, 97,100, 32, 43, 32, 40, 49, 46, 48, 45,103,114, 97,100, + 41, 42,112,111,119, 40,116, 50, 44, 32,102, 97, 99, 41, 59, 10, 10, 9, 9,105,102, 40,116, 50, 60, 48, 46, 48, 41, 32,102,102, + 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40,116, 50, 62, 49, 46, 48, 41, 32,102,102, 97, 99, + 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,102,102, 97, 99, 32, 61, 32,116, 50, 59, 10, 9,125, 10, 10, 9,114, +101,116,117,114,110, 32,102,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115, +101, 95,102,114,101,115,110,101,108, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, + 32,118,105,101,119, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 95,105, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111, +117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, 61, 32,102,114,101,115,110,101,108, 95,102, 97, 99, + 40,108,118, 44, 32,118,110, 44, 32,102, 97, 99, 95,105, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, + 97,100,101, 95, 99,117, 98,105, 99, 40,102,108,111, 97,116, 32,105,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117, +116,105,115, 41, 10,123, 10, 9,105,102, 40,105,115, 62, 48, 46, 48, 32, 38, 38, 32,105,115, 60, 49, 46, 48, 41, 10, 9, 9,111, +117,116,105,115, 61, 32,115,109,111,111,116,104,115,116,101,112, 40, 48, 46, 48, 44, 32, 49, 46, 48, 44, 32,105,115, 41, 59, 10, + 9,101,108,115,101, 10, 9, 9,111,117,116,105,115, 61, 32,105,115, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, + 95,118,105,115,105,102, 97, 99, 40,102,108,111, 97,116, 32,105, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, + 32,102,108,111, 97,116, 32,114,101,102,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,105, 41, 10,123, 10, 9, + 47, 42,105,102, 40,105, 32, 62, 32, 48, 46, 48, 41, 42, 47, 10, 9, 9,111,117,116,105, 32, 61, 32,109, 97,120, 40,105, 42,118, +105,115,105,102, 97, 99, 42,114,101,102,108, 44, 32, 48, 46, 48, 41, 59, 10, 9, 47, 42,101,108,115,101, 10, 9, 9,111,117,116, +105, 32, 61, 32,105, 59, 42, 47, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116, 97,110,103,101,110,116, 95,118, + 95,115,112,101, 99, 40,118,101, 99, 51, 32,116, 97,110,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,110, 41, 10,123, 10, + 9,118,110, 32, 61, 32,116, 97,110,103, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95,116,111, + 95,100,105,102,102,117,115,101, 40,102,108,111, 97,116, 32,105, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111,108, 44, 32, +118,101, 99, 51, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,105,102, + 40,105, 32, 62, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,105, 42,108, 97,109,112, 99,111,108, 42, 99, +111,108, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, + 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,104,101,109,105, 95,115,112,101, + 99, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,102, +108,111, 97,116, 32,115,112,101, 99, 44, 32,102,108,111, 97,116, 32,104, 97,114,100, 44, 32,102,108,111, 97,116, 32,118,105,115, +105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, 41, 10,123, 10, 9,108,118, 32, 43, 61, 32,118,105,101,119, + 59, 10, 9,108,118, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108,118, 41, 59, 10, 10, 9,116, 32, 61, 32,100,111,116, + 40,118,110, 44, 32,108,118, 41, 59, 10, 9,116, 32, 61, 32, 48, 46, 53, 42,116, 32, 43, 32, 48, 46, 53, 59, 10, 10, 9,116, 32, + 61, 32,118,105,115,105,102, 97, 99, 42,115,112,101, 99, 42,112,111,119, 40,116, 44, 32,104, 97,114,100, 41, 59, 10,125, 10, 10, +118,111,105,100, 32,115,104, 97,100,101, 95,112,104,111,110,103, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, + 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,104, 97,114,100, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105, +122,101, 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32,109, 97,120, 40,100,111,116, + 40,104, 44, 32,110, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,112,111,119, 40,114,115, +108,116, 44, 32,104, 97,114,100, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 99,111,111,107,116,111,114, +114, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102, +108,111, 97,116, 32,104, 97,114,100, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, + 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9,102,108,111, + 97,116, 32,110,104, 32, 61, 32,100,111,116, 40,110, 44, 32,104, 41, 59, 10, 10, 9,105,102, 40,110,104, 32, 60, 32, 48, 46, 48, + 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, + 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, + 59, 10, 9, 9,102,108,111, 97,116, 32,105, 32, 61, 32,112,111,119, 40,110,104, 44, 32,104, 97,114,100, 41, 59, 10, 10, 9, 9, +105, 32, 61, 32,105, 47, 40, 48, 46, 49, 43,110,118, 41, 59, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,105, 59, 10, 9, +125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 98,108,105,110,110, 95,115,112,101, 99, 40,118,101, 99, 51, 32, +110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,114,101,102,114, 97, 99, 44, + 32,102,108,111, 97,116, 32,115,112,101, 99, 95,112,111,119,101,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, + 99,102, 97, 99, 41, 10,123, 10, 9,105,102, 40,114,101,102,114, 97, 99, 32, 60, 32, 49, 46, 48, 41, 32,123, 10, 9, 9,115,112, +101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,105,102, 40,115,112,101, 99, 95,112,111, +119,101,114, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, +125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,115,112,101, 99, 95,112,111,119,101,114, 60, 49, 48, 48, 46, 48, 41, + 10, 9, 9, 9,115,112,101, 99, 95,112,111,119,101,114, 61, 32,115,113,114,116, 40, 49, 46, 48, 47,115,112,101, 99, 95,112,111, +119,101,114, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,115,112,101, 99, 95,112,111,119,101,114, 61, 32, 49, 48, 46, 48, + 47,115,112,101, 99, 95,112,111,119,101,114, 59, 10, 10, 9, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105, +122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,100,111,116, 40,110, 44, 32,104, + 41, 59, 10, 9, 9,105,102, 40,110,104, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, + 32, 48, 46, 48, 59, 10, 9, 9,125, 10, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, + 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 49, 41, 59, 10, 9, 9, 9,102,108,111, 97,116, 32, +110,108, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, 9, 9, 9,105,102, 40,110,108, 32, 60, 61, 32, 48, 46, 48, 49, + 41, 32,123, 10, 9, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9, 9,125, 10, 9, 9, 9,101, +108,115,101, 32,123, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,118,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,118, 44, 32, +104, 41, 44, 32, 48, 46, 48, 49, 41, 59, 10, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 97, 32, 61, 32, 49, 46, 48, 59, 10, 9, + 9, 9, 9,102,108,111, 97,116, 32, 98, 32, 61, 32, 40, 50, 46, 48, 42,110,104, 42,110,118, 41, 47,118,104, 59, 10, 9, 9, 9, + 9,102,108,111, 97,116, 32, 99, 32, 61, 32, 40, 50, 46, 48, 42,110,104, 42,110,108, 41, 47,118,104, 59, 10, 10, 9, 9, 9, 9, +102,108,111, 97,116, 32,103, 32, 61, 32, 48, 46, 48, 59, 10, 10, 9, 9, 9, 9,105,102, 40, 97, 32, 60, 32, 98, 32, 38, 38, 32, + 97, 32, 60, 32, 99, 41, 32,103, 32, 61, 32, 97, 59, 10, 9, 9, 9, 9,101,108,115,101, 32,105,102, 40, 98, 32, 60, 32, 97, 32, + 38, 38, 32, 98, 32, 60, 32, 99, 41, 32,103, 32, 61, 32, 98, 59, 10, 9, 9, 9, 9,101,108,115,101, 32,105,102, 40, 99, 32, 60, + 32, 97, 32, 38, 38, 32, 99, 32, 60, 32, 98, 41, 32,103, 32, 61, 32, 99, 59, 10, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,112, + 32, 61, 32,115,113,114,116, 40, 40, 40,114,101,102,114, 97, 99, 32, 42, 32,114,101,102,114, 97, 99, 41, 43, 40,118,104, 42,118, +104, 41, 45, 49, 46, 48, 41, 41, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,102, 32, 61, 32, 40, 40, 40,112, 45,118,104, 41, + 42, 40,112, 45,118,104, 41, 41, 47, 40, 40,112, 43,118,104, 41, 42, 40,112, 43,118,104, 41, 41, 41, 42, 40, 49, 46, 48, 43, 40, + 40, 40, 40,118,104, 42, 40,112, 43,118,104, 41, 41, 45, 49, 46, 48, 41, 42, 40, 40,118,104, 42, 40,112, 43,118,104, 41, 41, 45, + 49, 46, 48, 41, 41, 47, 40, 40, 40,118,104, 42, 40,112, 45,118,104, 41, 41, 43, 49, 46, 48, 41, 42, 40, 40,118,104, 42, 40,112, + 45,118,104, 41, 41, 43, 49, 46, 48, 41, 41, 41, 41, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, + 99,111,115, 40,110,104, 41, 59, 10, 10, 9, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,109, 97,120, 40,102, 42,103, 42, +101,120,112, 95, 98,108,101,110,100,101,114, 40, 40, 45, 40, 97,110,103, 42, 97,110,103, 41, 47, 40, 50, 46, 48, 42,115,112,101, + 99, 95,112,111,119,101,114, 42,115,112,101, 99, 95,112,111,119,101,114, 41, 41, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9, 9, +125, 10, 9, 9,125, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,119, 97,114,100,105,115,111, 95,115, 112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97, -116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,115,109,111,111,116,104, 44, 32,111,117,116, 32,102,108,111, 97,116, - 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, -108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32,100,111,116, 40,104, 44, 32,110, 41, 59, - 10, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,114,115,108,116, 41, 59, 10, 10, 9,105,102, 40, 97, -110,103, 32, 60, 32,115,105,122,101, 41, 32,114,115,108,116, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, - 97,110,103, 32, 62, 61, 32, 40,115,105,122,101, 32, 43, 32,116,115,109,111,111,116,104, 41, 32,124,124, 32,116,115,109,111,111, -116,104, 32, 61, 61, 32, 48, 46, 48, 41, 32,114,115,108,116, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,114,115,108, -116, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, 41, 47,116,115,109,111,111,116,104, 41, - 59, 10, 10, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,114,115,108,116, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100, -101, 95,115,112,101, 99, 95, 97,114,101, 97, 95,105,110,112, 40,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 44, 32,102, -108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,112,101, 99,102, 97, 99, 41, 10, -123, 10, 9,111,117,116,115,112,101, 99,102, 97, 99, 32, 61, 32,115,112,101, 99,102, 97, 99, 42,105,110,112, 59, 10,125, 10, 10, -118,111,105,100, 32,115,104, 97,100,101, 95,115,112,101, 99, 95,116, 40,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, - 32,102,108,111, 97,116, 32,115,112,101, 99, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,102,108,111, 97, -116, 32,115,112,101, 99,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, 41, 10,123, 10, 9,116, 32, 61, 32,115, -104, 97,100,102, 97, 99, 42,115,112,101, 99, 42,118,105,115,105,102, 97, 99, 42,115,112,101, 99,102, 97, 99, 59, 10,125, 10, 10, -118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95,115,112,101, 99, 40,102,108,111, 97,116, 32,116, 44, 32,118,101, 99, - 51, 32,108, 97,109,112, 99,111,108, 44, 32,118,101, 99, 51, 32,115,112,101, 99, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, - 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,116, 42,108, 97,109,112, 99,111,108, 42, -115,112,101, 99, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 40,118,101, 99, 52, 32, - 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, - 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 32, 43, 32, 99,111,108, 50, 59, 10,125, 10, 10,118,111, -105,100, 32,115,104, 97,100,101, 95,109, 97,100,100, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32, 99,111,108, - 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, - 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32, 99,111,108, 49, 42, 99,111,108, 50, 59, 10,125, 10, 10,118, -111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95, 99,108, 97,109,112,101,100, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, +116, 32,114,109,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, + 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,110, +104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,104, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102,108,111, 97, +116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102, +108,111, 97,116, 32,110,108, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,108, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, + 10, 9,102,108,111, 97,116, 32, 97,110,103,108,101, 32, 61, 32,116, 97,110, 40, 97, 99,111,115, 40,110,104, 41, 41, 59, 10, 9, +102,108,111, 97,116, 32, 97,108,112,104, 97, 32, 61, 32,109, 97,120, 40,114,109,115, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 10, + 9,115,112,101, 99,102, 97, 99, 61, 32,110,108, 32, 42, 32, 40, 49, 46, 48, 47, 40, 52, 46, 48, 42, 77, 95, 80, 73, 42, 97,108, +112,104, 97, 42, 97,108,112,104, 97, 41, 41, 42, 40,101,120,112, 95, 98,108,101,110,100,101,114, 40, 45, 40, 97,110,103,108,101, + 42, 97,110,103,108,101, 41, 47, 40, 97,108,112,104, 97, 42, 97,108,112,104, 97, 41, 41, 47, 40,115,113,114,116, 40,110,118, 42, +110,108, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116,111,111,110, 95,115,112,101, 99, 40,118, +101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,115,105,122, +101, 44, 32,102,108,111, 97,116, 32,116,115,109,111,111,116,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99, +102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, + 41, 59, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32,100,111,116, 40,104, 44, 32,110, 41, 59, 10, 9,102,108,111, + 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,114,115,108,116, 41, 59, 10, 10, 9,105,102, 40, 97,110,103, 32, 60, 32, +115,105,122,101, 41, 32,114,115,108,116, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 97,110,103, 32, 62, + 61, 32, 40,115,105,122,101, 32, 43, 32,116,115,109,111,111,116,104, 41, 32,124,124, 32,116,115,109,111,111,116,104, 32, 61, 61, + 32, 48, 46, 48, 41, 32,114,115,108,116, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,114,115,108,116, 32, 61, 32, 49, + 46, 48, 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, 41, 47,116,115,109,111,111,116,104, 41, 59, 10, 10, 9,115, +112,101, 99,102, 97, 99, 32, 61, 32,114,115,108,116, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,115,112,101, + 99, 95, 97,114,101, 97, 95,105,110,112, 40,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 44, 32,102,108,111, 97,116, 32, +105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,111,117, +116,115,112,101, 99,102, 97, 99, 32, 61, 32,115,112,101, 99,102, 97, 99, 42,105,110,112, 59, 10,125, 10, 10,118,111,105,100, 32, +115,104, 97,100,101, 95,115,112,101, 99, 95,116, 40,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,102,108,111, 97, +116, 32,115,112,101, 99, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,102,108,111, 97,116, 32,115,112,101, + 99,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, 41, 10,123, 10, 9,116, 32, 61, 32,115,104, 97,100,102, 97, + 99, 42,115,112,101, 99, 42,118,105,115,105,102, 97, 99, 42,115,112,101, 99,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32, +115,104, 97,100,101, 95, 97,100,100, 95,115,112,101, 99, 40,102,108,111, 97,116, 32,116, 44, 32,118,101, 99, 51, 32,108, 97,109, +112, 99,111,108, 44, 32,118,101, 99, 51, 32,115,112,101, 99, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, + 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,116, 42,108, 97,109,112, 99,111,108, 42,115,112,101, 99, 99, +111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9, -111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 32, 43, 32,109, 97,120, 40, 99,111,108, 50, 44, 32,118,101, 99, 52, 40, 48, - 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97, -100,101, 95,109, 97,100,100, 95, 99,108, 97,109,112,101,100, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32, 99, -111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, - 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32,109, 97,120, 40, 99,111,108, 49, 42, 99,111,108, 50, - 44, 32,118,101, 99, 52, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 41, 59, 10,125, 10, 10, -118,111,105,100, 32,115,104, 97,100,101, 95,109, 97,100,100,102, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,102,108,111, 97,116, - 32,102, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10, -123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32,102, 42, 99,111,108, 49, 59, 10,125, 10, 10,118,111,105, -100, 32,115,104, 97,100,101, 95,109,117,108, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, - 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99, -111,108, 49, 42, 99,111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109,117,108, 95,118, 97,108,117, -101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32, -111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 42,102, 97, 99, 59, 10,125, 10, 10, -118,111,105,100, 32,115,104, 97,100,101, 95,111, 98, 99,111,108,111,114, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, - 52, 32,111, 98, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, - 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 42,111, 98, 99,111,108, 46,114,103, 98, 44, 32, 99,111, -108, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,114, 97,109,112, 95,114,103, 98,116,111, 98,119, 40,118,101, 99, 51, 32, - 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, - 97,108, 32, 61, 32, 99,111,108,111,114, 46,114, 42, 48, 46, 51, 32, 43, 32, 99,111,108,111,114, 46,103, 42, 48, 46, 53, 56, 32, - 43, 32, 99,111,108,111,114, 46, 98, 42, 48, 46, 49, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,111,110, -108,121, 95,115,104, 97,100,111,119, 40,102,108,111, 97,116, 32,105, 44, 32,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, - 44, 32,102,108,111, 97,116, 32,101,110,101,114,103,121, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,104, 97, -100,102, 97, 99, 41, 10,123, 10, 9,111,117,116,115,104, 97,100,102, 97, 99, 32, 61, 32,105, 42,101,110,101,114,103,121, 42, 40, - 49, 46, 48, 32, 45, 32,115,104, 97,100,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,111,110, -108,121, 95,115,104, 97,100,111,119, 95,100,105,102,102,117,115,101, 40,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, - 32,118,101, 99, 51, 32,114,103, 98, 44, 32,118,101, 99, 52, 32,100,105,102,102, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111, -117,116,100,105,102,102, 41, 10,123, 10, 9,111,117,116,100,105,102,102, 32, 61, 32,100,105,102,102, 32, 45, 32,118,101, 99, 52, - 40,114,103, 98, 42,115,104, 97,100,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100, -101, 95,111,110,108,121, 95,115,104, 97,100,111,119, 95,115,112,101, 99,117,108, 97,114, 40,102,108,111, 97,116, 32,115,104, 97, -100,102, 97, 99, 44, 32,118,101, 99, 51, 32,115,112,101, 99,114,103, 98, 44, 32,118,101, 99, 52, 32,115,112,101, 99, 44, 32,111, -117,116, 32,118,101, 99, 52, 32,111,117,116,115,112,101, 99, 41, 10,123, 10, 9,111,117,116,115,112,101, 99, 32, 61, 32,115,112, -101, 99, 32, 45, 32,118,101, 99, 52, 40,115,112,101, 99,114,103, 98, 42,115,104, 97,100,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, - 10,125, 10, 10,118,111,105,100, 32,116,101,115,116, 95,115,104, 97,100,111,119, 98,117,102, 40,118,101, 99, 51, 32,114, 99,111, - 44, 32,115, 97,109,112,108,101,114, 50, 68, 83,104, 97,100,111,119, 32,115,104, 97,100,111,119,109, 97,112, 44, 32,109, 97,116, - 52, 32,115,104, 97,100,111,119,112,101,114,115,109, 97,116, 44, 32,102,108,111, 97,116, 32,115,104, 97,100,111,119, 98,105, 97, -115, 44, 32,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 41, 10, -123, 10, 9,105,102, 40,105,110,112, 32, 60, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,101,115,117,108,116, 32, 61, 32, 48, - 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,118,101, 99, 52, 32, 99,111, 32, 61, 32,115,104, 97,100,111, -119,112,101,114,115,109, 97,116, 42,118,101, 99, 52, 40,114, 99,111, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9, 9, 47, 47,102,108, -111, 97,116, 32, 98,105, 97,115, 32, 61, 32, 40, 49, 46, 53, 32, 45, 32,105,110,112, 42,105,110,112, 41, 42,115,104, 97,100,111, -119, 98,105, 97,115, 59, 10, 9, 9, 99,111, 46,122, 32, 45, 61, 32,115,104, 97,100,111,119, 98,105, 97,115, 42, 99,111, 46,119, - 59, 10, 9, 9, 10, 9, 9,105,102, 32, 40, 99,111, 46,119, 32, 62, 32, 48, 46, 48, 32, 38, 38, 32, 99,111, 46,120, 32, 62, 32, - 48, 46, 48, 32, 38, 38, 32, 99,111, 46,120, 47, 99,111, 46,119, 32, 60, 32, 49, 46, 48, 32, 38, 38, 32, 99,111, 46,121, 32, 62, - 32, 48, 46, 48, 32, 38, 38, 32, 99,111, 46,121, 47, 99,111, 46,119, 32, 60, 32, 49, 46, 48, 41, 10, 9, 9, 9,114,101,115,117, -108,116, 32, 61, 32,115,104, 97,100,111,119, 50, 68, 80,114,111,106, 40,115,104, 97,100,111,119,109, 97,112, 44, 32, 99,111, 41, - 46,120, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,114,101,115,117,108,116, 32, 61, 32, 49, 46, 48, 59, 10, 9,125, 10,125, - 10, 10,118,111,105,100, 32,116,101,115,116, 95,115,104, 97,100,111,119, 98,117,102, 95,118,115,109, 40,118,101, 99, 51, 32,114, - 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,115,104, 97,100,111,119,109, 97,112, 44, 32,109, 97,116, 52, 32,115,104, - 97,100,111,119,112,101,114,115,109, 97,116, 44, 32,102,108,111, 97,116, 32,115,104, 97,100,111,119, 98,105, 97,115, 44, 32,102, -108,111, 97,116, 32, 98,108,101,101,100, 98,105, 97,115, 44, 32,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102, -108,111, 97,116, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,105,102, 40,105,110,112, 32, 60, 61, 32, 48, 46, 48, 41, 32,123, - 10, 9, 9,114,101,115,117,108,116, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,118,101, - 99, 52, 32, 99,111, 32, 61, 32,115,104, 97,100,111,119,112,101,114,115,109, 97,116, 42,118,101, 99, 52, 40,114, 99,111, 44, 32, - 49, 46, 48, 41, 59, 10, 9, 9,105,102, 32, 40, 99,111, 46,119, 32, 62, 32, 48, 46, 48, 32, 38, 38, 32, 99,111, 46,120, 32, 62, - 32, 48, 46, 48, 32, 38, 38, 32, 99,111, 46,120, 47, 99,111, 46,119, 32, 60, 32, 49, 46, 48, 32, 38, 38, 32, 99,111, 46,121, 32, - 62, 32, 48, 46, 48, 32, 38, 38, 32, 99,111, 46,121, 47, 99,111, 46,119, 32, 60, 32, 49, 46, 48, 41, 32,123, 10, 9, 9, 9,118, -101, 99, 50, 32,109,111,109,101,110,116,115, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 80,114,111,106, 40,115,104, 97,100, -111,119,109, 97,112, 44, 32, 99,111, 41, 46,114,103, 59, 10, 9, 9, 9,102,108,111, 97,116, 32,100,105,115,116, 32, 61, 32, 99, -111, 46,122, 47, 99,111, 46,119, 59, 10, 9, 9, 9,102,108,111, 97,116, 32,112, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9, 9, 10, - 9, 9, 9,105,102, 40,100,105,115,116, 32, 60, 61, 32,109,111,109,101,110,116,115, 46,120, 41, 10, 9, 9, 9, 9,112, 32, 61, - 32, 49, 46, 48, 59, 10, 10, 9, 9, 9,102,108,111, 97,116, 32,118, 97,114,105, 97,110, 99,101, 32, 61, 32,109,111,109,101,110, -116,115, 46,121, 32, 45, 32, 40,109,111,109,101,110,116,115, 46,120, 42,109,111,109,101,110,116,115, 46,120, 41, 59, 10, 9, 9, - 9,118, 97,114,105, 97,110, 99,101, 32, 61, 32,109, 97,120, 40,118, 97,114,105, 97,110, 99,101, 44, 32,115,104, 97,100,111,119, - 98,105, 97,115, 47, 49, 48, 46, 48, 41, 59, 10, 10, 9, 9, 9,102,108,111, 97,116, 32,100, 32, 61, 32,109,111,109,101,110,116, -115, 46,120, 32, 45, 32,100,105,115,116, 59, 10, 9, 9, 9,102,108,111, 97,116, 32,112, 95,109, 97,120, 32, 61, 32,118, 97,114, -105, 97,110, 99,101, 32, 47, 32, 40,118, 97,114,105, 97,110, 99,101, 32, 43, 32,100, 42,100, 41, 59, 10, 10, 9, 9, 9, 47, 47, - 32, 78,111,119, 32,114,101,100,117, 99,101, 32,108,105,103,104,116, 45, 98,108,101,101,100,105,110,103, 32, 98,121, 32,114,101, -109,111,118,105,110,103, 32,116,104,101, 32, 91, 48, 44, 32,120, 93, 32,116, 97,105,108, 32, 97,110,100, 32,108,105,110,101, 97, -114,108,121, 32,114,101,115, 99, 97,108,105,110,103, 32, 40,120, 44, 32, 49, 93, 10, 9, 9, 9,112, 95,109, 97,120, 32, 61, 32, - 99,108, 97,109,112, 40, 40,112, 95,109, 97,120, 45, 98,108,101,101,100, 98,105, 97,115, 41, 47, 40, 49, 46, 48, 45, 98,108,101, -101,100, 98,105, 97,115, 41, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9, 9, 9,114,101,115,117,108,116, 32, 61, - 32,109, 97,120, 40,112, 44, 32,112, 95,109, 97,120, 41, 59, 10, 9, 9,125, 10, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9, -114,101,115,117,108,116, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,125, 9, 9, 9, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32, -115,104, 97,100,101, 95,108,105,103,104,116, 95,116,101,120,116,117,114,101, 40,118,101, 99, 51, 32,114, 99,111, 44, 32,115, 97, -109,112,108,101,114, 50, 68, 32, 99,111,111,107,105,101, 44, 32,109, 97,116, 52, 32,115,104, 97,100,111,119,112,101,114,115,109, - 97,116, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 10, 9,118,101, 99, 52, 32, 99,111, +111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 32, 43, 32, 99,111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, + 97,100,101, 95,109, 97,100,100, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, + 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, + 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32, 99,111,108, 49, 42, 99,111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115, +104, 97,100,101, 95, 97,100,100, 95, 99,108, 97,109,112,101,100, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, + 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111, +108, 32, 61, 32, 99,111,108, 49, 32, 43, 32,109, 97,120, 40, 99,111,108, 50, 44, 32,118,101, 99, 52, 40, 48, 46, 48, 44, 32, 48, + 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109, 97, +100,100, 95, 99,108, 97,109,112,101,100, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32, +118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111, +117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32,109, 97,120, 40, 99,111,108, 49, 42, 99,111,108, 50, 44, 32,118,101, 99, + 52, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32, +115,104, 97,100,101, 95,109, 97,100,100,102, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 44, 32,118, +101, 99, 52, 32, 99,111,108, 49, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117, +116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32,102, 42, 99,111,108, 49, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97, +100,101, 95,109,117,108, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, + 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 42, 99, +111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109,117,108, 95,118, 97,108,117,101, 40,102,108,111, + 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111, +108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 42,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32, +115,104, 97,100,101, 95,111, 98, 99,111,108,111,114, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32,111, 98, 99, +111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, + 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 42,111, 98, 99,111,108, 46,114,103, 98, 44, 32, 99,111,108, 46, 97, 41, 59, + 10,125, 10, 10,118,111,105,100, 32,114, 97,109,112, 95,114,103, 98,116,111, 98,119, 40,118,101, 99, 51, 32, 99,111,108,111,114, + 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, + 99,111,108,111,114, 46,114, 42, 48, 46, 51, 32, 43, 32, 99,111,108,111,114, 46,103, 42, 48, 46, 53, 56, 32, 43, 32, 99,111,108, +111,114, 46, 98, 42, 48, 46, 49, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, + 97,100,111,119, 40,102,108,111, 97,116, 32,105, 44, 32,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,102,108,111, + 97,116, 32,101,110,101,114,103,121, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,104, 97,100,102, 97, 99, 41, + 10,123, 10, 9,111,117,116,115,104, 97,100,102, 97, 99, 32, 61, 32,105, 42,101,110,101,114,103,121, 42, 40, 49, 46, 48, 32, 45, + 32,115,104, 97,100,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, + 97,100,111,119, 95,100,105,102,102,117,115,101, 40,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,118,101, 99, 51, + 32,114,103, 98, 44, 32,118,101, 99, 52, 32,100,105,102,102, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,100,105,102, +102, 41, 10,123, 10, 9,111,117,116,100,105,102,102, 32, 61, 32,100,105,102,102, 32, 45, 32,118,101, 99, 52, 40,114,103, 98, 42, +115,104, 97,100,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,111,110,108, +121, 95,115,104, 97,100,111,119, 95,115,112,101, 99,117,108, 97,114, 40,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, + 32,118,101, 99, 51, 32,115,112,101, 99,114,103, 98, 44, 32,118,101, 99, 52, 32,115,112,101, 99, 44, 32,111,117,116, 32,118,101, + 99, 52, 32,111,117,116,115,112,101, 99, 41, 10,123, 10, 9,111,117,116,115,112,101, 99, 32, 61, 32,115,112,101, 99, 32, 45, 32, +118,101, 99, 52, 40,115,112,101, 99,114,103, 98, 42,115,104, 97,100,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118, +111,105,100, 32,116,101,115,116, 95,115,104, 97,100,111,119, 98,117,102, 40,118,101, 99, 51, 32,114, 99,111, 44, 32,115, 97,109, +112,108,101,114, 50, 68, 83,104, 97,100,111,119, 32,115,104, 97,100,111,119,109, 97,112, 44, 32,109, 97,116, 52, 32,115,104, 97, +100,111,119,112,101,114,115,109, 97,116, 44, 32,102,108,111, 97,116, 32,115,104, 97,100,111,119, 98,105, 97,115, 44, 32,102,108, +111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,105,102, + 40,105,110,112, 32, 60, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,101,115,117,108,116, 32, 61, 32, 48, 46, 48, 59, 10, 9, +125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,118,101, 99, 52, 32, 99,111, 32, 61, 32,115,104, 97,100,111,119,112,101,114,115, +109, 97,116, 42,118,101, 99, 52, 40,114, 99,111, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9, 9, 47, 47,102,108,111, 97,116, 32, 98, +105, 97,115, 32, 61, 32, 40, 49, 46, 53, 32, 45, 32,105,110,112, 42,105,110,112, 41, 42,115,104, 97,100,111,119, 98,105, 97,115, + 59, 10, 9, 9, 99,111, 46,122, 32, 45, 61, 32,115,104, 97,100,111,119, 98,105, 97,115, 42, 99,111, 46,119, 59, 10, 9, 9, 10, + 9, 9,105,102, 32, 40, 99,111, 46,119, 32, 62, 32, 48, 46, 48, 32, 38, 38, 32, 99,111, 46,120, 32, 62, 32, 48, 46, 48, 32, 38, + 38, 32, 99,111, 46,120, 47, 99,111, 46,119, 32, 60, 32, 49, 46, 48, 32, 38, 38, 32, 99,111, 46,121, 32, 62, 32, 48, 46, 48, 32, + 38, 38, 32, 99,111, 46,121, 47, 99,111, 46,119, 32, 60, 32, 49, 46, 48, 41, 10, 9, 9, 9,114,101,115,117,108,116, 32, 61, 32, +115,104, 97,100,111,119, 50, 68, 80,114,111,106, 40,115,104, 97,100,111,119,109, 97,112, 44, 32, 99,111, 41, 46,120, 59, 10, 9, + 9,101,108,115,101, 10, 9, 9, 9,114,101,115,117,108,116, 32, 61, 32, 49, 46, 48, 59, 10, 9,125, 10,125, 10, 10,118,111,105, +100, 32,116,101,115,116, 95,115,104, 97,100,111,119, 98,117,102, 95,118,115,109, 40,118,101, 99, 51, 32,114, 99,111, 44, 32,115, + 97,109,112,108,101,114, 50, 68, 32,115,104, 97,100,111,119,109, 97,112, 44, 32,109, 97,116, 52, 32,115,104, 97,100,111,119,112, +101,114,115,109, 97,116, 44, 32,102,108,111, 97,116, 32,115,104, 97,100,111,119, 98,105, 97,115, 44, 32,102,108,111, 97,116, 32, + 98,108,101,101,100, 98,105, 97,115, 44, 32,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, +114,101,115,117,108,116, 41, 10,123, 10, 9,105,102, 40,105,110,112, 32, 60, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,101, +115,117,108,116, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,118,101, 99, 52, 32, 99,111, 32, 61, 32,115,104, 97,100,111,119,112,101,114,115,109, 97,116, 42,118,101, 99, 52, 40,114, 99,111, 44, 32, 49, 46, 48, 41, 59, - 10, 10, 9,114,101,115,117,108,116, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 80,114,111,106, 40, 99,111,111,107,105,101, - 44, 32, 99,111, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,101,120,112,111,115,117,114,101, 95, 99,111, -114,114,101, 99,116, 40,118,101, 99, 51, 32, 99,111,108, 44, 32,102,108,111, 97,116, 32,108,105,110,102, 97, 99, 44, 32,102,108, -111, 97,116, 32,108,111,103,102, 97, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9, -111,117,116, 99,111,108, 32, 61, 32,108,105,110,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32,101,120,112, 40, 99,111,108, 42,108, -111,103,102, 97, 99, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109,105,115,116, 95,102, 97, 99,116, -111,114, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,109,105,115,116,115,116, 97, 44, 32,102,108,111, 97,116, - 32,109,105,115,116,100,105,115,116, 44, 32,102,108,111, 97,116, 32,109,105,115,116,116,121,112,101, 44, 32,102,108,111, 97,116, - 32,109,105,115,105, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97, -116, 32,102, 97, 99, 44, 32,122, 99,111,114, 59, 10, 10, 9,122, 99,111,114, 32, 61, 32, 40,103,108, 95, 80,114,111,106,101, 99, -116,105,111,110, 77, 97,116,114,105,120, 91, 51, 93, 91, 51, 93, 32, 61, 61, 32, 48, 46, 48, 41, 63, 32,108,101,110,103,116,104, - 40, 99,111, 41, 58, 32, 45, 99,111, 91, 50, 93, 59, 10, 9, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, 40,122, 99, -111,114, 45,109,105,115,116,115,116, 97, 41, 47,109,105,115,116,100,105,115,116, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, - 10, 9,105,102, 40,109,105,115,116,116,121,112,101, 32, 61, 61, 32, 48, 46, 48, 41, 32,102, 97, 99, 32, 42, 61, 32,102, 97, 99, - 59, 10, 9,101,108,115,101, 32,105,102, 40,109,105,115,116,116,121,112,101, 32, 61, 61, 32, 49, 46, 48, 41, 59, 10, 9,101,108, -115,101, 32,102, 97, 99, 32, 61, 32,115,113,114,116, 40,102, 97, 99, 41, 59, 10, 10, 9,111,117,116,102, 97, 99, 32, 61, 32, 49, - 46, 48, 32, 45, 32, 40, 49, 46, 48, 45,102, 97, 99, 41, 42, 40, 49, 46, 48, 45,109,105,115,105, 41, 59, 10,125, 10, 10,118,111, -105,100, 32,115,104, 97,100,101, 95,119,111,114,108,100, 95,109,105,120, 40,118,101, 99, 51, 32,104,111,114, 44, 32,118,101, 99, - 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, - 32,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, 99,111,108, 46, 97, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9, -111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,109,105,120, 40,104,111,114, 44, 32, 99,111,108, 46,114,103, 98, 44, 32, -102, 97, 99, 41, 44, 32, 99,111,108, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,108,112,104, - 97, 95,111,112, 97,113,117,101, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99, -111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 49, 46, - 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,108,112,104, 97, 95,111, 98, 99,111,108,111,114, 40, -118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32,111, 98, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111, -117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, - 32, 99,111,108, 46, 97, 42,111, 98, 99,111,108, 46, 97, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 32, 78, 69, 87, 32, 83, 72, 65, 68, 69, 82, 32, 85, 84, 73, 76, 73, 84, 73, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 47, 10, 10,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 95,100,105,101,108,101, 99,116,114,105, 99, 40, -118,101, 99, 51, 32, 73,110, 99,111,109,105,110,103, 44, 32,118,101, 99, 51, 32, 78,111,114,109, 97,108, 44, 32,102,108,111, 97, -116, 32,101,116, 97, 41, 10,123, 10, 32, 32, 32, 32, 47, 42, 32, 99,111,109,112,117,116,101, 32,102,114,101,115,110,101,108, 32, -114,101,102,108,101, 99,116, 97,110, 99,101, 32,119,105,116,104,111,117,116, 32,101,120,112,108,105, 99,105,116,108,121, 32, 99, -111,109,112,117,116,105,110,103, 10, 32, 32, 32, 32, 32, 32, 32,116,104,101, 32,114,101,102,114, 97, 99,116,101,100, 32,100,105, -114,101, 99,116,105,111,110, 32, 42, 47, 10, 32, 32, 32, 32,102,108,111, 97,116, 32, 99, 32, 61, 32, 97, 98,115, 40,100,111,116, - 40, 73,110, 99,111,109,105,110,103, 44, 32, 78,111,114,109, 97,108, 41, 41, 59, 10, 32, 32, 32, 32,102,108,111, 97,116, 32,103, - 32, 61, 32,101,116, 97, 32, 42, 32,101,116, 97, 32, 45, 32, 49, 46, 48, 32, 43, 32, 99, 32, 42, 32, 99, 59, 10, 32, 32, 32, 32, -102,108,111, 97,116, 32,114,101,115,117,108,116, 59, 10, 10, 32, 32, 32, 32,105,102, 40,103, 32, 62, 32, 48, 46, 48, 41, 32,123, - 10, 32, 32, 32, 32, 32, 32, 32, 32,103, 32, 61, 32,115,113,114,116, 40,103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,108, -111, 97,116, 32, 65, 32, 61, 40,103, 32, 45, 32, 99, 41, 47, 40,103, 32, 43, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, -102,108,111, 97,116, 32, 66, 32, 61, 40, 99, 32, 42, 40,103, 32, 43, 32, 99, 41, 45, 32, 49, 46, 48, 41, 47, 40, 99, 32, 42, 40, -103, 32, 45, 32, 99, 41, 43, 32, 49, 46, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32,114,101,115,117,108,116, 32, 61, 32, 48, - 46, 53, 32, 42, 32, 65, 32, 42, 32, 65, 32, 42, 40, 49, 46, 48, 32, 43, 32, 66, 32, 42, 32, 66, 41, 59, 10, 32, 32, 32, 32,125, - 10, 32, 32, 32, 32,101,108,115,101, 10, 32, 32, 32, 32, 32, 32, 32, 32,114,101,115,117,108,116, 32, 61, 32, 49, 46, 48, 59, 32, - 32, 47, 42, 32, 84, 73, 82, 32, 40,110,111, 32,114,101,102,114, 97, 99,116,101,100, 32, 99,111,109,112,111,110,101,110,116, 41, - 32, 42, 47, 10, 10, 32, 32, 32, 32,114,101,116,117,114,110, 32,114,101,115,117,108,116, 59, 10,125, 10, 10,102,108,111, 97,116, - 32,104,121,112,111,116, 40,102,108,111, 97,116, 32,120, 44, 32,102,108,111, 97,116, 32,121, 41, 10,123, 10, 9,114,101,116,117, -114,110, 32,115,113,114,116, 40,120, 42,120, 32, 43, 32,121, 42,121, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 32, 78, 69, 87, 32, 83, 72, 65, 68, 69, 82, 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 47, 10, 10, 35,100,101,102,105,110,101, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 32, 51, 10, 10, 47, 42, 32, - 98,115,100,102,115, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, - 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 44, 32,118,101, - 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9, 47, 42, 32, 97,109, 98, -105,101,110,116, 32,108,105,103,104,116, 32, 42, 47, 10, 9,118,101, 99, 51, 32, 76, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 50, - 41, 59, 10, 10, 9, 47, 42, 32,100,105,114,101, 99,116,105,111,110, 97,108, 32,108,105,103,104,116,115, 32, 42, 47, 10, 9,102, -111,114, 40,105,110,116, 32,105, 32, 61, 32, 48, 59, 32,105, 32, 60, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 59, 32,105, 43, - 43, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32,108,105,103,104,116, 95,112,111,115,105,116,105,111,110, 32, 61, 32,103,108, 95, - 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,112,111,115,105,116,105,111,110, 46,120,121,122, 59, 10, 9, 9,118, -101, 99, 51, 32,108,105,103,104,116, 95,100,105,102,102,117,115,101, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, - 99,101, 91,105, 93, 46,100,105,102,102,117,115,101, 46,114,103, 98, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 98,115,100,102, - 32, 61, 32,109, 97,120, 40,100,111,116, 40, 78, 44, 32,108,105,103,104,116, 95,112,111,115,105,116,105,111,110, 41, 44, 32, 48, - 46, 48, 41, 59, 10, 9, 9, 76, 32, 43, 61, 32,108,105,103,104,116, 95,100,105,102,102,117,115,101, 42, 98,115,100,102, 59, 10, - 9,125, 10, 10, 9,114,101,115,117,108,116, 32, 61, 32,118,101, 99, 52, 40, 76, 42, 99,111,108,111,114, 46,114,103, 98, 44, 32, - 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,103,108,111,115,115,121, 40,118, -101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 44, 32,118,101, 99, 51, - 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9, - 47, 42, 32, 97,109, 98,105,101,110,116, 32,108,105,103,104,116, 32, 42, 47, 10, 9,118,101, 99, 51, 32, 76, 32, 61, 32,118,101, - 99, 51, 40, 48, 46, 50, 41, 59, 10, 10, 9, 47, 42, 32,100,105,114,101, 99,116,105,111,110, 97,108, 32,108,105,103,104,116,115, - 32, 42, 47, 10, 9,102,111,114, 40,105,110,116, 32,105, 32, 61, 32, 48, 59, 32,105, 32, 60, 32, 78, 85, 77, 95, 76, 73, 71, 72, - 84, 83, 59, 32,105, 43, 43, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32,108,105,103,104,116, 95,112,111,115,105,116,105,111,110, - 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,112,111,115,105,116,105,111,110, 46,120,121, -122, 59, 10, 9, 9,118,101, 99, 51, 32, 72, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46, -104, 97,108,102, 86,101, 99,116,111,114, 46,120,121,122, 59, 10, 9, 9,118,101, 99, 51, 32,108,105,103,104,116, 95,100,105,102, -102,117,115,101, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,100,105,102,102,117,115,101, - 46,114,103, 98, 59, 10, 9, 9,118,101, 99, 51, 32,108,105,103,104,116, 95,115,112,101, 99,117,108, 97,114, 32, 61, 32,103,108, - 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,115,112,101, 99,117,108, 97,114, 46,114,103, 98, 59, 10, 10, 9, - 9, 47, 42, 32,119,101, 32,109,105,120, 32,105,110, 32,115,111,109,101, 32,100,105,102,102,117,115,101, 32,115,111, 32,108,111, -119, 32,114,111,117,103,104,110,101,115,115, 32,115,116,105,108,108, 32,115,104,111,119,115, 32,117,112, 32, 42, 47, 10, 9, 9, -102,108,111, 97,116, 32, 98,115,100,102, 32, 61, 32, 48, 46, 53, 42,112,111,119, 40,109, 97,120, 40,100,111,116, 40, 78, 44, 32, - 72, 41, 44, 32, 48, 46, 48, 41, 44, 32, 49, 46, 48, 47,114,111,117,103,104,110,101,115,115, 41, 59, 10, 9, 9, 98,115,100,102, - 32, 43, 61, 32, 48, 46, 53, 42,109, 97,120, 40,100,111,116, 40, 78, 44, 32,108,105,103,104,116, 95,112,111,115,105,116,105,111, -110, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9, 76, 32, 43, 61, 32,108,105,103,104,116, 95,115,112,101, 99,117,108, 97,114, 42, - 98,115,100,102, 59, 10, 9,125, 10, 10, 9,114,101,115,117,108,116, 32, 61, 32,118,101, 99, 52, 40, 76, 42, 99,111,108,111,114, - 46,114,103, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95, 97,110, -105,115,111,116,114,111,112,105, 99, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,114,111,117,103, -104,110,101,115,115, 85, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 86, 44, 32,118,101, 99, 51, 32, 78, - 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111, -100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, 48, 46, 48, 44, 32, 78, 44, 32,114, -101,115,117,108,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,103,108, 97,115,115, 40, -118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 44, 32,102,108,111, - 97,116, 32,105,111,114, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, - 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111, -108,111,114, 44, 32, 48, 46, 48, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111, -100,101, 95, 98,115,100,102, 95,116,114, 97,110,115,108,117, 99,101,110,116, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32, -118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, - 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, 48, 46, 48, 44, 32, 78, 44, 32,114,101,115, -117,108,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,116,114, 97,110,115,112, 97,114, -101,110,116, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, - 10,123, 10, 9, 47, 42, 32,116,104,105,115, 32,105,115,110, 39,116, 32,114,105,103,104,116, 32, 42, 47, 10, 9,114,101,115,117, -108,116, 46,114, 32, 61, 32, 99,111,108,111,114, 46,114, 59, 10, 9,114,101,115,117,108,116, 46,103, 32, 61, 32, 99,111,108,111, -114, 46,103, 59, 10, 9,114,101,115,117,108,116, 46, 98, 32, 61, 32, 99,111,108,111,114, 46, 98, 59, 10, 9,114,101,115,117,108, -116, 46, 97, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,118,101,108, -118,101,116, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,115,105,103,109, 97, 44, 32,118,101, 99, - 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115, + 10, 9, 9,105,102, 32, 40, 99,111, 46,119, 32, 62, 32, 48, 46, 48, 32, 38, 38, 32, 99,111, 46,120, 32, 62, 32, 48, 46, 48, 32, + 38, 38, 32, 99,111, 46,120, 47, 99,111, 46,119, 32, 60, 32, 49, 46, 48, 32, 38, 38, 32, 99,111, 46,121, 32, 62, 32, 48, 46, 48, + 32, 38, 38, 32, 99,111, 46,121, 47, 99,111, 46,119, 32, 60, 32, 49, 46, 48, 41, 32,123, 10, 9, 9, 9,118,101, 99, 50, 32,109, +111,109,101,110,116,115, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 80,114,111,106, 40,115,104, 97,100,111,119,109, 97,112, + 44, 32, 99,111, 41, 46,114,103, 59, 10, 9, 9, 9,102,108,111, 97,116, 32,100,105,115,116, 32, 61, 32, 99,111, 46,122, 47, 99, +111, 46,119, 59, 10, 9, 9, 9,102,108,111, 97,116, 32,112, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9, 9, 10, 9, 9, 9,105,102, + 40,100,105,115,116, 32, 60, 61, 32,109,111,109,101,110,116,115, 46,120, 41, 10, 9, 9, 9, 9,112, 32, 61, 32, 49, 46, 48, 59, + 10, 10, 9, 9, 9,102,108,111, 97,116, 32,118, 97,114,105, 97,110, 99,101, 32, 61, 32,109,111,109,101,110,116,115, 46,121, 32, + 45, 32, 40,109,111,109,101,110,116,115, 46,120, 42,109,111,109,101,110,116,115, 46,120, 41, 59, 10, 9, 9, 9,118, 97,114,105, + 97,110, 99,101, 32, 61, 32,109, 97,120, 40,118, 97,114,105, 97,110, 99,101, 44, 32,115,104, 97,100,111,119, 98,105, 97,115, 47, + 49, 48, 46, 48, 41, 59, 10, 10, 9, 9, 9,102,108,111, 97,116, 32,100, 32, 61, 32,109,111,109,101,110,116,115, 46,120, 32, 45, + 32,100,105,115,116, 59, 10, 9, 9, 9,102,108,111, 97,116, 32,112, 95,109, 97,120, 32, 61, 32,118, 97,114,105, 97,110, 99,101, + 32, 47, 32, 40,118, 97,114,105, 97,110, 99,101, 32, 43, 32,100, 42,100, 41, 59, 10, 10, 9, 9, 9, 47, 47, 32, 78,111,119, 32, +114,101,100,117, 99,101, 32,108,105,103,104,116, 45, 98,108,101,101,100,105,110,103, 32, 98,121, 32,114,101,109,111,118,105,110, +103, 32,116,104,101, 32, 91, 48, 44, 32,120, 93, 32,116, 97,105,108, 32, 97,110,100, 32,108,105,110,101, 97,114,108,121, 32,114, +101,115, 99, 97,108,105,110,103, 32, 40,120, 44, 32, 49, 93, 10, 9, 9, 9,112, 95,109, 97,120, 32, 61, 32, 99,108, 97,109,112, + 40, 40,112, 95,109, 97,120, 45, 98,108,101,101,100, 98,105, 97,115, 41, 47, 40, 49, 46, 48, 45, 98,108,101,101,100, 98,105, 97, +115, 41, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9, 9, 9,114,101,115,117,108,116, 32, 61, 32,109, 97,120, 40, +112, 44, 32,112, 95,109, 97,120, 41, 59, 10, 9, 9,125, 10, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9,114,101,115,117,108, +116, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,125, 9, 9, 9, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, + 95,108,105,103,104,116, 95,116,101,120,116,117,114,101, 40,118,101, 99, 51, 32,114, 99,111, 44, 32,115, 97,109,112,108,101,114, + 50, 68, 32, 99,111,111,107,105,101, 44, 32,109, 97,116, 52, 32,115,104, 97,100,111,119,112,101,114,115,109, 97,116, 44, 32,111, +117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 10, 9,118,101, 99, 52, 32, 99,111, 32, 61, 32,115,104, + 97,100,111,119,112,101,114,115,109, 97,116, 42,118,101, 99, 52, 40,114, 99,111, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9,114,101, +115,117,108,116, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 80,114,111,106, 40, 99,111,111,107,105,101, 44, 32, 99,111, 41, + 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,101,120,112,111,115,117,114,101, 95, 99,111,114,114,101, 99,116, + 40,118,101, 99, 51, 32, 99,111,108, 44, 32,102,108,111, 97,116, 32,108,105,110,102, 97, 99, 44, 32,102,108,111, 97,116, 32,108, +111,103,102, 97, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111, +108, 32, 61, 32,108,105,110,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32,101,120,112, 40, 99,111,108, 42,108,111,103,102, 97, 99, + 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109,105,115,116, 95,102, 97, 99,116,111,114, 40,118,101, + 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,109,105,115,116,115,116, 97, 44, 32,102,108,111, 97,116, 32,109,105,115,116, +100,105,115,116, 44, 32,102,108,111, 97,116, 32,109,105,115,116,116,121,112,101, 44, 32,102,108,111, 97,116, 32,109,105,115,105, + 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99, + 44, 32,122, 99,111,114, 59, 10, 10, 9,122, 99,111,114, 32, 61, 32, 40,103,108, 95, 80,114,111,106,101, 99,116,105,111,110, 77, + 97,116,114,105,120, 91, 51, 93, 91, 51, 93, 32, 61, 61, 32, 48, 46, 48, 41, 63, 32,108,101,110,103,116,104, 40, 99,111, 41, 58, + 32, 45, 99,111, 91, 50, 93, 59, 10, 9, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, 40,122, 99,111,114, 45,109,105, +115,116,115,116, 97, 41, 47,109,105,115,116,100,105,115,116, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,105,102, 40, +109,105,115,116,116,121,112,101, 32, 61, 61, 32, 48, 46, 48, 41, 32,102, 97, 99, 32, 42, 61, 32,102, 97, 99, 59, 10, 9,101,108, +115,101, 32,105,102, 40,109,105,115,116,116,121,112,101, 32, 61, 61, 32, 49, 46, 48, 41, 59, 10, 9,101,108,115,101, 32,102, 97, + 99, 32, 61, 32,115,113,114,116, 40,102, 97, 99, 41, 59, 10, 10, 9,111,117,116,102, 97, 99, 32, 61, 32, 49, 46, 48, 32, 45, 32, + 40, 49, 46, 48, 45,102, 97, 99, 41, 42, 40, 49, 46, 48, 45,109,105,115,105, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, + 97,100,101, 95,119,111,114,108,100, 95,109,105,120, 40,118,101, 99, 51, 32,104,111,114, 44, 32,118,101, 99, 52, 32, 99,111,108, + 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99, 32, + 61, 32, 99,108, 97,109,112, 40, 99,111,108, 46, 97, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111, +108, 32, 61, 32,118,101, 99, 52, 40,109,105,120, 40,104,111,114, 44, 32, 99,111,108, 46,114,103, 98, 44, 32,102, 97, 99, 41, 44, + 32, 99,111,108, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,108,112,104, 97, 95,111,112, 97, +113,117,101, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, + 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,108,112,104, 97, 95,111, 98, 99,111,108,111,114, 40,118,101, 99, 52, 32, + 99,111,108, 44, 32,118,101, 99, 52, 32,111, 98, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, + 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 99,111,108, 46, + 97, 42,111, 98, 99,111,108, 46, 97, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 78, 69, 87, 32, + 83, 72, 65, 68, 69, 82, 32, 85, 84, 73, 76, 73, 84, 73, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, + 10, 10,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 95,100,105,101,108,101, 99,116,114,105, 99, 40,118,101, 99, 51, 32, + 73,110, 99,111,109,105,110,103, 44, 32,118,101, 99, 51, 32, 78,111,114,109, 97,108, 44, 32,102,108,111, 97,116, 32,101,116, 97, + 41, 10,123, 10, 32, 32, 32, 32, 47, 42, 32, 99,111,109,112,117,116,101, 32,102,114,101,115,110,101,108, 32,114,101,102,108,101, + 99,116, 97,110, 99,101, 32,119,105,116,104,111,117,116, 32,101,120,112,108,105, 99,105,116,108,121, 32, 99,111,109,112,117,116, +105,110,103, 10, 32, 32, 32, 32, 32, 32, 32,116,104,101, 32,114,101,102,114, 97, 99,116,101,100, 32,100,105,114,101, 99,116,105, +111,110, 32, 42, 47, 10, 32, 32, 32, 32,102,108,111, 97,116, 32, 99, 32, 61, 32, 97, 98,115, 40,100,111,116, 40, 73,110, 99,111, +109,105,110,103, 44, 32, 78,111,114,109, 97,108, 41, 41, 59, 10, 32, 32, 32, 32,102,108,111, 97,116, 32,103, 32, 61, 32,101,116, + 97, 32, 42, 32,101,116, 97, 32, 45, 32, 49, 46, 48, 32, 43, 32, 99, 32, 42, 32, 99, 59, 10, 32, 32, 32, 32,102,108,111, 97,116, + 32,114,101,115,117,108,116, 59, 10, 10, 32, 32, 32, 32,105,102, 40,103, 32, 62, 32, 48, 46, 48, 41, 32,123, 10, 32, 32, 32, 32, + 32, 32, 32, 32,103, 32, 61, 32,115,113,114,116, 40,103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,108,111, 97,116, 32, 65, + 32, 61, 40,103, 32, 45, 32, 99, 41, 47, 40,103, 32, 43, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,108,111, 97,116, + 32, 66, 32, 61, 40, 99, 32, 42, 40,103, 32, 43, 32, 99, 41, 45, 32, 49, 46, 48, 41, 47, 40, 99, 32, 42, 40,103, 32, 45, 32, 99, + 41, 43, 32, 49, 46, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32,114,101,115,117,108,116, 32, 61, 32, 48, 46, 53, 32, 42, 32, + 65, 32, 42, 32, 65, 32, 42, 40, 49, 46, 48, 32, 43, 32, 66, 32, 42, 32, 66, 41, 59, 10, 32, 32, 32, 32,125, 10, 32, 32, 32, 32, +101,108,115,101, 10, 32, 32, 32, 32, 32, 32, 32, 32,114,101,115,117,108,116, 32, 61, 32, 49, 46, 48, 59, 32, 32, 47, 42, 32, 84, + 73, 82, 32, 40,110,111, 32,114,101,102,114, 97, 99,116,101,100, 32, 99,111,109,112,111,110,101,110,116, 41, 32, 42, 47, 10, 10, + 32, 32, 32, 32,114,101,116,117,114,110, 32,114,101,115,117,108,116, 59, 10,125, 10, 10,102,108,111, 97,116, 32,104,121,112,111, +116, 40,102,108,111, 97,116, 32,120, 44, 32,102,108,111, 97,116, 32,121, 41, 10,123, 10, 9,114,101,116,117,114,110, 32,115,113, +114,116, 40,120, 42,120, 32, 43, 32,121, 42,121, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 78, + 69, 87, 32, 83, 72, 65, 68, 69, 82, 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, + 10, 10, 35,100,101,102,105,110,101, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 32, 51, 10, 10, 47, 42, 32, 98,115,100,102,115, + 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40,118,101, 99, 52, + 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 44, 32,118,101, 99, 51, 32, 78, 44, + 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9, 47, 42, 32, 97,109, 98,105,101,110,116, 32, +108,105,103,104,116, 32, 42, 47, 10, 9,118,101, 99, 51, 32, 76, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 50, 41, 59, 10, 10, 9, + 47, 42, 32,100,105,114,101, 99,116,105,111,110, 97,108, 32,108,105,103,104,116,115, 32, 42, 47, 10, 9,102,111,114, 40,105,110, +116, 32,105, 32, 61, 32, 48, 59, 32,105, 32, 60, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 59, 32,105, 43, 43, 41, 32,123, 10, + 9, 9,118,101, 99, 51, 32,108,105,103,104,116, 95,112,111,115,105,116,105,111,110, 32, 61, 32,103,108, 95, 76,105,103,104,116, + 83,111,117,114, 99,101, 91,105, 93, 46,112,111,115,105,116,105,111,110, 46,120,121,122, 59, 10, 9, 9,118,101, 99, 51, 32,108, +105,103,104,116, 95,100,105,102,102,117,115,101, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, + 46,100,105,102,102,117,115,101, 46,114,103, 98, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 98,115,100,102, 32, 61, 32,109, 97, +120, 40,100,111,116, 40, 78, 44, 32,108,105,103,104,116, 95,112,111,115,105,116,105,111,110, 41, 44, 32, 48, 46, 48, 41, 59, 10, + 9, 9, 76, 32, 43, 61, 32,108,105,103,104,116, 95,100,105,102,102,117,115,101, 42, 98,115,100,102, 59, 10, 9,125, 10, 10, 9, +114,101,115,117,108,116, 32, 61, 32,118,101, 99, 52, 40, 76, 42, 99,111,108,111,114, 46,114,103, 98, 44, 32, 49, 46, 48, 41, 59, + 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,103,108,111,115,115,121, 40,118,101, 99, 52, 32, 99, +111,108,111,114, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118, +101, 99, 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9, 47, 42, 32, 97,109, + 98,105,101,110,116, 32,108,105,103,104,116, 32, 42, 47, 10, 9,118,101, 99, 51, 32, 76, 32, 61, 32,118,101, 99, 51, 40, 48, 46, + 50, 41, 59, 10, 10, 9, 47, 42, 32,100,105,114,101, 99,116,105,111,110, 97,108, 32,108,105,103,104,116,115, 32, 42, 47, 10, 9, +102,111,114, 40,105,110,116, 32,105, 32, 61, 32, 48, 59, 32,105, 32, 60, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 59, 32,105, + 43, 43, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32,108,105,103,104,116, 95,112,111,115,105,116,105,111,110, 32, 61, 32,103,108, + 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,112,111,115,105,116,105,111,110, 46,120,121,122, 59, 10, 9, 9, +118,101, 99, 51, 32, 72, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,104, 97,108,102, 86, +101, 99,116,111,114, 46,120,121,122, 59, 10, 9, 9,118,101, 99, 51, 32,108,105,103,104,116, 95,100,105,102,102,117,115,101, 32, + 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,100,105,102,102,117,115,101, 46,114,103, 98, 59, + 10, 9, 9,118,101, 99, 51, 32,108,105,103,104,116, 95,115,112,101, 99,117,108, 97,114, 32, 61, 32,103,108, 95, 76,105,103,104, +116, 83,111,117,114, 99,101, 91,105, 93, 46,115,112,101, 99,117,108, 97,114, 46,114,103, 98, 59, 10, 10, 9, 9, 47, 42, 32,119, +101, 32,109,105,120, 32,105,110, 32,115,111,109,101, 32,100,105,102,102,117,115,101, 32,115,111, 32,108,111,119, 32,114,111,117, +103,104,110,101,115,115, 32,115,116,105,108,108, 32,115,104,111,119,115, 32,117,112, 32, 42, 47, 10, 9, 9,102,108,111, 97,116, + 32, 98,115,100,102, 32, 61, 32, 48, 46, 53, 42,112,111,119, 40,109, 97,120, 40,100,111,116, 40, 78, 44, 32, 72, 41, 44, 32, 48, + 46, 48, 41, 44, 32, 49, 46, 48, 47,114,111,117,103,104,110,101,115,115, 41, 59, 10, 9, 9, 98,115,100,102, 32, 43, 61, 32, 48, + 46, 53, 42,109, 97,120, 40,100,111,116, 40, 78, 44, 32,108,105,103,104,116, 95,112,111,115,105,116,105,111,110, 41, 44, 32, 48, + 46, 48, 41, 59, 10, 9, 9, 76, 32, 43, 61, 32,108,105,103,104,116, 95,115,112,101, 99,117,108, 97,114, 42, 98,115,100,102, 59, + 10, 9,125, 10, 10, 9,114,101,115,117,108,116, 32, 61, 32,118,101, 99, 52, 40, 76, 42, 99,111,108,111,114, 46,114,103, 98, 44, + 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95, 97,110,105,115,111,116,114, +111,112,105, 99, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, + 85, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 86, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, + 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115, 100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, 48, 46, 48, 44, 32, 78, 44, 32,114,101,115,117,108,116, - 41, 59, 10,125, 10, 10, 47, 42, 32,101,109,105,115,115,105,111,110, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95, -101,109,105,115,115,105,111,110, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,115,116,114,101,110, -103,116,104, 44, 32,118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, - 9,114,101,115,117,108,116, 32, 61, 32, 99,111,108,111,114, 42,115,116,114,101,110,103,116,104, 59, 10,125, 10, 10, 47, 42, 32, - 99,108,111,115,117,114,101,115, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,109,105,120, 95,115,104, 97,100,101, -114, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 49, 44, 32,118,101, 99, 52, 32, -115,104, 97,100,101,114, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 41, 10,123, 10, 9,115,104, 97, -100,101,114, 32, 61, 32,109,105,120, 40,115,104, 97,100,101,114, 49, 44, 32,115,104, 97,100,101,114, 50, 44, 32,102, 97, 99, 41, - 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 97,100,100, 95,115,104, 97,100,101,114, 40,118,101, 99, 52, 32,115, -104, 97,100,101,114, 49, 44, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,115, -104, 97,100,101,114, 41, 10,123, 10, 9,115,104, 97,100,101,114, 32, 61, 32,115,104, 97,100,101,114, 49, 32, 43, 32,115,104, 97, -100,101,114, 50, 59, 10,125, 10, 10, 47, 42, 32,102,114,101,115,110,101,108, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100, -101, 95,102,114,101,115,110,101,108, 40,102,108,111, 97,116, 32,105,111,114, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, - 51, 32, 73, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,102,108,111, 97,116, 32, -101,116, 97, 32, 61, 32,109, 97,120, 40,105,111,114, 44, 32, 48, 46, 48, 48, 48, 48, 49, 41, 59, 10, 9,114,101,115,117,108,116, - 32, 61, 32,102,114,101,115,110,101,108, 95,100,105,101,108,101, 99,116,114,105, 99, 40, 73, 44, 32, 78, 44, 32,101,116, 97, 41, - 59, 32, 47, 47, 98, 97, 99,107,102, 97, 99,105,110,103, 40, 41, 63, 32, 49, 46, 48, 47,101,116, 97, 58, 32,101,116, 97, 41, 59, - 10,125, 10, 10, 47, 42, 32,103,101,111,109,101,116,114,121, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,103,101, -111,109,101,116,114,121, 40,118,101, 99, 51, 32, 73, 44, 32,118,101, 99, 51, 32, 78, 44, 32,109, 97,116, 52, 32,116,111,119,111, -114,108,100, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32,112,111,115,105,116,105,111,110, 44, 32,111,117,116, 32,118,101, 99, - 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,116, 97,110,103,101,110,116, 44, 10, 9,111,117,116, - 32,118,101, 99, 51, 32,116,114,117,101, 95,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111, -109,105,110,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,112, 97,114, 97,109,101,116,114,105, 99, 44, 10, 9,111,117,116, 32, -102,108,111, 97,116, 32, 98, 97, 99,107,102, 97, 99,105,110,103, 41, 10,123, 10, 9,112,111,115,105,116,105,111,110, 32, 61, 32, - 40,116,111,119,111,114,108,100, 42,118,101, 99, 52, 40, 73, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,110,111,114, -109, 97,108, 32, 61, 32, 78, 59, 10, 9,116, 97,110,103,101,110,116, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10, 9, -116,114,117,101, 95,110,111,114,109, 97,108, 32, 61, 32, 78, 59, 10, 9,105,110, 99,111,109,105,110,103, 32, 61, 32, 73, 59, 10, - 9,112, 97,114, 97,109,101,116,114,105, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10, 9, 98, 97, 99,107,102, 97, - 99,105,110,103, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, 99,111,111, -114,100, 40,118,101, 99, 51, 32, 73, 44, 32,118,101, 99, 51, 32, 78, 44, 32,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, - 97,116, 44, 32,109, 97,116, 52, 32,111, 98,105,110,118,109, 97,116, 44, 10, 9,118,101, 99, 51, 32, 97,116,116,114, 95,111,114, - 99,111, 44, 32,118,101, 99, 51, 32, 97,116,116,114, 95,117,118, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32,103,101,110,101, -114, 97,116,101,100, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, - 32,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111, 98,106,101, 99,116, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32, - 99, 97,109,101,114, 97, 44, 32,111,117,116, 32,118,101, 99, 51, 32,119,105,110,100,111,119, 44, 32,111,117,116, 32,118,101, 99, - 51, 32,114,101,102,108,101, 99,116,105,111,110, 41, 10,123, 10, 9,103,101,110,101,114, 97,116,101,100, 32, 61, 32, 97,116,116, -114, 95,111,114, 99,111, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 40,111, 98,105, -110,118,109, 97,116, 42, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 78, 44, 32, 48, 46, 48, 41, 41, 41, - 46,120,121,122, 41, 59, 10, 9,117,118, 32, 61, 32, 97,116,116,114, 95,117,118, 59, 10, 9,111, 98,106,101, 99,116, 32, 61, 32, - 73, 59, 10, 9, 99, 97,109,101,114, 97, 32, 61, 32, 73, 59, 10, 9,119,105,110,100,111,119, 32, 61, 32,103,108, 95, 70,114, 97, -103, 67,111,111,114,100, 46,120,121,122, 59, 10, 9,114,101,102,108,101, 99,116,105,111,110, 32, 61, 32,114,101,102,108,101, 99, -116, 40, 78, 44, 32, 73, 41, 59, 10, 10,125, 10, 10, 47, 42, 32,116,101,120,116,117,114,101,115, 32, 42, 47, 10, 10,118,111,105, -100, 32,110,111,100,101, 95,116,101,120, 95,103,114, 97,100,105,101,110,116, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, - 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99, -111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, - 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, 99,104,101, 99,107,101,114, 40,118,101, 99, 51, 32, 99,111, 44, 32, -118,101, 99, 52, 32, 99,111,108,111,114, 49, 44, 32,118,101, 99, 52, 32, 99,111,108,111,114, 50, 44, 32,102,108,111, 97,116, 32, -115, 99, 97,108,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, - 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, - 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, 99,108,111,117,100,115, 40, -118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111, -108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118, -101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111, -100,101, 95,116,101,120, 95,101,110,118,105,114,111,110,109,101,110,116, 40,118,101, 99, 51, 32, 99,111, 44, 32,115, 97,109,112, -108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9,102,108, -111, 97,116, 32,117, 32, 61, 32, 40, 97,116, 97,110, 40, 99,111, 46,121, 44, 32, 99,111, 46,120, 41, 32, 43, 32, 77, 95, 80, 73, - 41, 47, 40, 50, 46, 48, 42, 77, 95, 80, 73, 41, 59, 10, 9,102,108,111, 97,116, 32,118, 32, 61, 32, 97,116, 97,110, 40, 99,111, - 46,122, 44, 32,104,121,112,111,116, 40, 99,111, 46,120, 44, 32, 99,111, 46,121, 41, 41, 47, 77, 95, 80, 73, 32, 43, 32, 48, 46, - 53, 59, 10, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,118,101, 99, 50, - 40,117, 44, 32,118, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,101,110,118,105,114,111, -110,109,101,110,116, 95,101,109,112,116,121, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111, -108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111, -105,100, 32,110,111,100,101, 95,116,101,120, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,115, 97,109,112,108, -101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32, 97,108,112,104, 97, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, -105,109, 97, 44, 32, 99,111, 46,120,121, 41, 59, 10, 32, 32, 32, 32, 97,108,112,104, 97, 32, 61, 32, 99,111,108,111,114, 46, 97, - 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,105,109, 97,103,101, 95,101,109,112,116,121, 40,118, -101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97, -116, 32, 97,108,112,104, 97, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10, 32, - 32, 32, 32, 97,108,112,104, 97, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, - 95,109, 97,103,105, 99, 40,118,101, 99, 51, 32,112, 44, 32,102,108,111, 97,116, 32,115, 99, 97,108,101, 44, 32,102,108,111, 97, -116, 32,100,105,115,116,111,114,116,105,111,110, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117, -116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, - 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, -109,117,115,103,114, 97,118,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115, 99, 97,108,101, 44, 32,102, -108,111, 97,116, 32,100,101,116, 97,105,108, 44, 32,102,108,111, 97,116, 32,100,105,109,101,110,115,105,111,110, 44, 32,102,108, -111, 97,116, 32,108, 97, 99,117,110, 97,114,105,116,121, 44, 32,102,108,111, 97,116, 32,111,102,102,115,101,116, 44, 32,102,108, -111, 97,116, 32,103, 97,105,110, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9, -102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,110,111,105,115, -101, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115, 99, 97,108,101, 44, 32,102,108,111, 97,116, 32,100,101, -116, 97,105,108, 44, 32,102,108,111, 97,116, 32,100,105,115,116,111,114,116,105,111,110, 44, 32,111,117,116, 32,118,101, 99, 52, + 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,103,108, 97,115,115, 40,118,101, 99, 52, 32, + 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 44, 32,102,108,111, 97,116, 32,105,111, +114, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117, +108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, + 48, 46, 48, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115, +100,102, 95,116,114, 97,110,115,108,117, 99,101,110,116, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,118,101, 99, 51, 32, + 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, + 95,100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, 48, 46, 48, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, + 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,116,114, 97,110,115,112, 97,114,101,110,116, 40,118, +101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9, 47, + 42, 32,116,104,105,115, 32,105,115,110, 39,116, 32,114,105,103,104,116, 32, 42, 47, 10, 9,114,101,115,117,108,116, 46,114, 32, + 61, 32, 99,111,108,111,114, 46,114, 59, 10, 9,114,101,115,117,108,116, 46,103, 32, 61, 32, 99,111,108,111,114, 46,103, 59, 10, + 9,114,101,115,117,108,116, 46, 98, 32, 61, 32, 99,111,108,111,114, 46, 98, 59, 10, 9,114,101,115,117,108,116, 46, 97, 32, 61, + 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,118,101,108,118,101,116, 40,118, +101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,115,105,103,109, 97, 44, 32,118,101, 99, 51, 32, 78, 44, 32, +111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105, +102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, 48, 46, 48, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, + 10, 47, 42, 32,101,109,105,115,115,105,111,110, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,101,109,105,115,115, +105,111,110, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,115,116,114,101,110,103,116,104, 44, 32, +118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,114,101,115,117, +108,116, 32, 61, 32, 99,111,108,111,114, 42,115,116,114,101,110,103,116,104, 59, 10,125, 10, 10, 47, 42, 32, 99,108,111,115,117, +114,101,115, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,109,105,120, 95,115,104, 97,100,101,114, 40,102,108,111, + 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 49, 44, 32,118,101, 99, 52, 32,115,104, 97,100,101, +114, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 41, 10,123, 10, 9,115,104, 97,100,101,114, 32, 61, + 32,109,105,120, 40,115,104, 97,100,101,114, 49, 44, 32,115,104, 97,100,101,114, 50, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10, +118,111,105,100, 32,110,111,100,101, 95, 97,100,100, 95,115,104, 97,100,101,114, 40,118,101, 99, 52, 32,115,104, 97,100,101,114, + 49, 44, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, + 41, 10,123, 10, 9,115,104, 97,100,101,114, 32, 61, 32,115,104, 97,100,101,114, 49, 32, 43, 32,115,104, 97,100,101,114, 50, 59, + 10,125, 10, 10, 47, 42, 32,102,114,101,115,110,101,108, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,102,114,101, +115,110,101,108, 40,102,108,111, 97,116, 32,105,111,114, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32, +111,117,116, 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,102,108,111, 97,116, 32,101,116, 97, 32, 61, + 32,109, 97,120, 40,105,111,114, 44, 32, 48, 46, 48, 48, 48, 48, 49, 41, 59, 10, 9,114,101,115,117,108,116, 32, 61, 32,102,114, +101,115,110,101,108, 95,100,105,101,108,101, 99,116,114,105, 99, 40, 73, 44, 32, 78, 44, 32,101,116, 97, 41, 59, 32, 47, 47, 98, + 97, 99,107,102, 97, 99,105,110,103, 40, 41, 63, 32, 49, 46, 48, 47,101,116, 97, 58, 32,101,116, 97, 41, 59, 10,125, 10, 10, 47, + 42, 32,103,101,111,109,101,116,114,121, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,103,101,111,109,101,116,114, +121, 40,118,101, 99, 51, 32, 73, 44, 32,118,101, 99, 51, 32, 78, 44, 32,109, 97,116, 52, 32,116,111,119,111,114,108,100, 44, 10, + 9,111,117,116, 32,118,101, 99, 51, 32,112,111,115,105,116,105,111,110, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114, +109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,116, 97,110,103,101,110,116, 44, 10, 9,111,117,116, 32,118,101, 99, 51, + 32,116,114,117,101, 95,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,109,105,110,103, 44, + 32,111,117,116, 32,118,101, 99, 51, 32,112, 97,114, 97,109,101,116,114,105, 99, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, + 32, 98, 97, 99,107,102, 97, 99,105,110,103, 41, 10,123, 10, 9,112,111,115,105,116,105,111,110, 32, 61, 32, 40,116,111,119,111, +114,108,100, 42,118,101, 99, 52, 40, 73, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,110,111,114,109, 97,108, 32, 61, + 32, 78, 59, 10, 9,116, 97,110,103,101,110,116, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10, 9,116,114,117,101, 95, +110,111,114,109, 97,108, 32, 61, 32, 78, 59, 10, 9,105,110, 99,111,109,105,110,103, 32, 61, 32, 73, 59, 10, 9,112, 97,114, 97, +109,101,116,114,105, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10, 9, 98, 97, 99,107,102, 97, 99,105,110,103, 32, + 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, 99,111,111,114,100, 40,118,101, + 99, 51, 32, 73, 44, 32,118,101, 99, 51, 32, 78, 44, 32,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,109, + 97,116, 52, 32,111, 98,105,110,118,109, 97,116, 44, 10, 9,118,101, 99, 51, 32, 97,116,116,114, 95,111,114, 99,111, 44, 32,118, +101, 99, 51, 32, 97,116,116,114, 95,117,118, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32,103,101,110,101,114, 97,116,101,100, + 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 44, 32, +111,117,116, 32,118,101, 99, 51, 32,111, 98,106,101, 99,116, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32, 99, 97,109,101,114, + 97, 44, 32,111,117,116, 32,118,101, 99, 51, 32,119,105,110,100,111,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32,114,101,102, +108,101, 99,116,105,111,110, 41, 10,123, 10, 9,103,101,110,101,114, 97,116,101,100, 32, 61, 32, 97,116,116,114, 95,111,114, 99, +111, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 40,111, 98,105,110,118,109, 97,116, + 42, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 78, 44, 32, 48, 46, 48, 41, 41, 41, 46,120,121,122, 41, + 59, 10, 9,117,118, 32, 61, 32, 97,116,116,114, 95,117,118, 59, 10, 9,111, 98,106,101, 99,116, 32, 61, 32, 73, 59, 10, 9, 99, + 97,109,101,114, 97, 32, 61, 32, 73, 59, 10, 9,119,105,110,100,111,119, 32, 61, 32,103,108, 95, 70,114, 97,103, 67,111,111,114, +100, 46,120,121,122, 59, 10, 9,114,101,102,108,101, 99,116,105,111,110, 32, 61, 32,114,101,102,108,101, 99,116, 40, 78, 44, 32, + 73, 41, 59, 10, 10,125, 10, 10, 47, 42, 32,116,101,120,116,117,114,101,115, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100, +101, 95,116,101,120, 95,103,114, 97,100,105,101,110,116, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, - 32,110,111,100,101, 95,116,101,120, 95,115,107,121, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 52, 32, - 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10,125, 10, 10, -118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,118,111,114,111,110,111,105, 40,118,101, 99, 51, 32, 99,111, 44, 32,102, -108,111, 97,116, 32,115, 99, 97,108,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32, -102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, - 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,119, 97, -118,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115, 99, 97,108,101, 44, 32,102,108,111, 97,116, 32,100, -105,115,116,111,114,116,105,111,110, 44, 32,102,108,111, 97,116, 32,100,101,116, 97,105,108, 44, 32,102,108,111, 97,116, 32,100, -101,116, 97,105,108, 95,115, 99, 97,108,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, - 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10, 47, 42, 32,108,105,103,104,116, 32,112, 97,116,104, 32, 42, - 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,108,105,103,104,116, 95,112, 97,116,104, 40, 10, 9,111,117,116, 32,102,108, -111, 97,116, 32,105,115, 95, 99, 97,109,101,114, 97, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, - 95,115,104, 97,100,111,119, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,100,105,102,102,117, -115,101, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,103,108,111,115,115,121, 95,114, 97,121, - 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,115,105,110,103,117,108, 97,114, 95,114, 97,121, 44, 10, 9,111, -117,116, 32,102,108,111, 97,116, 32,105,115, 95,114,101,102,108,101, 99,116,105,111,110, 95,114, 97,121, 44, 10, 9,111,117,116, - 32,102,108,111, 97,116, 32,105,115, 95,116,114, 97,110,115,109,105,115,115,105,111,110, 95,114, 97,121, 41, 10,123, 10, 9,105, -115, 95, 99, 97,109,101,114, 97, 95,114, 97,121, 32, 61, 32, 49, 46, 48, 59, 10, 9,105,115, 95,115,104, 97,100,111,119, 95,114, - 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,100,105,102,102,117,115,101, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, - 10, 9,105,115, 95,103,108,111,115,115,121, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,115,105,110,103,117, -108, 97,114, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,114,101,102,108,101, 99,116,105,111,110, 95,114, 97, -121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,116,114, 97,110,115,109,105,115,115,105,111,110, 95,114, 97,121, 32, 61, 32, - 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,108,105,103,104,116, 95,102, 97,108,108,111,102,102, 40, -102,108,111, 97,116, 32,115,116,114,101,110,103,116,104, 44, 32,102,108,111, 97,116, 32,116,115,109,111,111,116,104, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,113,117, 97,100,114, 97,116,105, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,108,105, -110,101, 97,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 99,111,110,115,116, 97,110,116, 41, 10,123, 10, 9,113,117, 97, -100,114, 97,116,105, 99, 32, 61, 32,115,116,114,101,110,103,116,104, 59, 10, 9,108,105,110,101, 97,114, 32, 61, 32,115,116,114, -101,110,103,116,104, 59, 10, 9, 99,111,110,115,116, 97,110,116, 32, 61, 32,115,116,114,101,110,103,116,104, 59, 10,125, 10, 10, + 32,110,111,100,101, 95,116,101,120, 95, 99,104,101, 99,107,101,114, 40,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 52, 32, + 99,111,108,111,114, 49, 44, 32,118,101, 99, 52, 32, 99,111,108,111,114, 50, 44, 32,102,108,111, 97,116, 32,115, 99, 97,108,101, + 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, + 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, + 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, 99,108,111,117,100,115, 40,118,101, 99, 51, 32, + 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32, +111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, + 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101, +120, 95,101,110,118,105,114,111,110,109,101,110,116, 40,118,101, 99, 51, 32, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, + 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9,102,108,111, 97,116, 32,117, + 32, 61, 32, 40, 97,116, 97,110, 40, 99,111, 46,121, 44, 32, 99,111, 46,120, 41, 32, 43, 32, 77, 95, 80, 73, 41, 47, 40, 50, 46, + 48, 42, 77, 95, 80, 73, 41, 59, 10, 9,102,108,111, 97,116, 32,118, 32, 61, 32, 97,116, 97,110, 40, 99,111, 46,122, 44, 32,104, +121,112,111,116, 40, 99,111, 46,120, 44, 32, 99,111, 46,121, 41, 41, 47, 77, 95, 80, 73, 32, 43, 32, 48, 46, 53, 59, 10, 10, 9, + 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,118,101, 99, 50, 40,117, 44, 32,118, + 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,101,110,118,105,114,111,110,109,101,110,116, + 95,101,109,112,116,121, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10, +123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111, +100,101, 95,116,101,120, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32, +105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 97, +108,112,104, 97, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, + 99,111, 46,120,121, 41, 59, 10, 32, 32, 32, 32, 97,108,112,104, 97, 32, 61, 32, 99,111,108,111,114, 46, 97, 59, 10,125, 10, 10, +118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,105,109, 97,103,101, 95,101,109,112,116,121, 40,118,101, 99, 51, 32, 99, +111, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 97,108,112, +104, 97, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10, 32, 32, 32, 32, 97,108, +112,104, 97, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,109, 97,103,105, + 99, 40,118,101, 99, 51, 32,112, 44, 32,102,108,111, 97,116, 32,115, 99, 97,108,101, 44, 32,102,108,111, 97,116, 32,100,105,115, +116,111,114,116,105,111,110, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, + 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, + 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,109,117,115,103,114, + 97,118,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115, 99, 97,108,101, 44, 32,102,108,111, 97,116, 32, +100,101,116, 97,105,108, 44, 32,102,108,111, 97,116, 32,100,105,109,101,110,115,105,111,110, 44, 32,102,108,111, 97,116, 32,108, + 97, 99,117,110, 97,114,105,116,121, 44, 32,102,108,111, 97,116, 32,111,102,102,115,101,116, 44, 32,102,108,111, 97,116, 32,103, + 97,105,110, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, + 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, + 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,110,111,105,115,101, 40,118,101, 99, + 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115, 99, 97,108,101, 44, 32,102,108,111, 97,116, 32,100,101,116, 97,105,108, 44, + 32,102,108,111, 97,116, 32,100,105,115,116,111,114,116,105,111,110, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111, +114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, + 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, + 95,116,101,120, 95,115,107,121, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, + 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32, +110,111,100,101, 95,116,101,120, 95,118,111,114,111,110,111,105, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32, +115, 99, 97,108,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, + 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, + 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,119, 97,118,101, 40,118,101, + 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115, 99, 97,108,101, 44, 32,102,108,111, 97,116, 32,100,105,115,116,111,114, +116,105,111,110, 44, 32,102,108,111, 97,116, 32,100,101,116, 97,105,108, 44, 32,102,108,111, 97,116, 32,100,101,116, 97,105,108, + 95,115, 99, 97,108,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, + 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10, 47, 42, 32,108,105,103,104,116, 32,112, 97,116,104, 32, 42, 47, 10, 10,118,111, +105,100, 32,110,111,100,101, 95,108,105,103,104,116, 95,112, 97,116,104, 40, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105, +115, 95, 99, 97,109,101,114, 97, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,115,104, 97,100, +111,119, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,100,105,102,102,117,115,101, 95,114, 97, +121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,103,108,111,115,115,121, 95,114, 97,121, 44, 10, 9,111,117, +116, 32,102,108,111, 97,116, 32,105,115, 95,115,105,110,103,117,108, 97,114, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108, +111, 97,116, 32,105,115, 95,114,101,102,108,101, 99,116,105,111,110, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97, +116, 32,105,115, 95,116,114, 97,110,115,109,105,115,115,105,111,110, 95,114, 97,121, 41, 10,123, 10, 9,105,115, 95, 99, 97,109, +101,114, 97, 95,114, 97,121, 32, 61, 32, 49, 46, 48, 59, 10, 9,105,115, 95,115,104, 97,100,111,119, 95,114, 97,121, 32, 61, 32, + 48, 46, 48, 59, 10, 9,105,115, 95,100,105,102,102,117,115,101, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95, +103,108,111,115,115,121, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,115,105,110,103,117,108, 97,114, 95,114, + 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,114,101,102,108,101, 99,116,105,111,110, 95,114, 97,121, 32, 61, 32, 48, + 46, 48, 59, 10, 9,105,115, 95,116,114, 97,110,115,109,105,115,115,105,111,110, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, +125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,108,105,103,104,116, 95,102, 97,108,108,111,102,102, 40,102,108,111, 97,116, + 32,115,116,114,101,110,103,116,104, 44, 32,102,108,111, 97,116, 32,116,115,109,111,111,116,104, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,113,117, 97,100,114, 97,116,105, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,108,105,110,101, 97,114, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32, 99,111,110,115,116, 97,110,116, 41, 10,123, 10, 9,113,117, 97,100,114, 97,116,105, + 99, 32, 61, 32,115,116,114,101,110,103,116,104, 59, 10, 9,108,105,110,101, 97,114, 32, 61, 32,115,116,114,101,110,103,116,104, + 59, 10, 9, 99,111,110,115,116, 97,110,116, 32, 61, 32,115,116,114,101,110,103,116,104, 59, 10,125, 10, 10,118,111,105,100, 32, +110,111,100,101, 95,111, 98,106,101, 99,116, 95,105,110,102,111, 40,111,117,116, 32,118,101, 99, 51, 32,108,111, 99, 97,116,105, +111,110, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111, 98,106,101, 99,116, 95,105,110,100,101,120, 44, 32,111,117,116, 32, +102,108,111, 97,116, 32,109, 97,116,101,114,105, 97,108, 95,105,110,100,101,120, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, +114, 97,110,100,111,109, 41, 10,123, 10, 9,108,111, 99, 97,116,105,111,110, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, + 10, 9,111, 98,106,101, 99,116, 95,105,110,100,101,120, 32, 61, 32, 48, 46, 48, 59, 10, 9,109, 97,116,101,114,105, 97,108, 95, +105,110,100,101,120, 32, 61, 32, 48, 46, 48, 59, 10, 9,114, 97,110,100,111,109, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10, 10, 47, 42, 32,111,117,116,112,117,116, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,111,117,116,112,117,116, 95,109, 97,116,101,114,105, 97,108, 40,118,101, 99, 52, 32,115,117,114,102, 97, 99,101, 44, 32,118,101, 99, 52, 32,118,111,108,117,109, 101, 44, 32,102,108,111, 97,116, 32,100,105,115,112,108, 97, 99,101,109,101,110,116, 44, 32,111,117,116, 32,118,101, 99, 52, 32, diff --git a/source/blender/ikplugin/intern/iksolver_plugin.c b/source/blender/ikplugin/intern/iksolver_plugin.c index c726102247a..b9980b1401d 100644 --- a/source/blender/ikplugin/intern/iksolver_plugin.c +++ b/source/blender/ikplugin/intern/iksolver_plugin.c @@ -57,47 +57,47 @@ /* Note: detecting the IK chain is duplicate code... in drawarmature.c and in transform_conversions.c */ static void initialize_posetree(struct Object *UNUSED(ob), bPoseChannel *pchan_tip) { - bPoseChannel *curchan, *pchan_root=NULL, *chanlist[256], **oldchan; + bPoseChannel *curchan, *pchan_root = NULL, *chanlist[256], **oldchan; PoseTree *tree; PoseTarget *target; bConstraint *con; bKinematicConstraint *data; - int a, t, segcount= 0, size, newsize, *oldparent, parent; + int a, t, segcount = 0, size, newsize, *oldparent, parent; /* find IK constraint, and validate it */ - for (con= pchan_tip->constraints.first; con; con= con->next) { - if (con->type==CONSTRAINT_TYPE_KINEMATIC) { - data=(bKinematicConstraint*)con->data; + for (con = pchan_tip->constraints.first; con; con = con->next) { + if (con->type == CONSTRAINT_TYPE_KINEMATIC) { + data = (bKinematicConstraint *)con->data; if (data->flag & CONSTRAINT_IK_AUTO) break; - if (data->tar==NULL) continue; - if (data->tar->type==OB_ARMATURE && data->subtarget[0]==0) continue; - if ((con->flag & (CONSTRAINT_DISABLE|CONSTRAINT_OFF))==0 && (con->enforce != 0.0f)) break; + if (data->tar == NULL) continue; + if (data->tar->type == OB_ARMATURE && data->subtarget[0] == 0) continue; + if ((con->flag & (CONSTRAINT_DISABLE | CONSTRAINT_OFF)) == 0 && (con->enforce != 0.0f)) break; } } - if (con==NULL) return; + if (con == NULL) return; /* exclude tip from chain? */ if (!(data->flag & CONSTRAINT_IK_TIP)) - pchan_tip= pchan_tip->parent; + pchan_tip = pchan_tip->parent; /* Find the chain's root & count the segments needed */ - for (curchan = pchan_tip; curchan; curchan=curchan->parent) { + for (curchan = pchan_tip; curchan; curchan = curchan->parent) { pchan_root = curchan; - curchan->flag |= POSE_CHAIN; // don't forget to clear this - chanlist[segcount]=curchan; + curchan->flag |= POSE_CHAIN; // don't forget to clear this + chanlist[segcount] = curchan; segcount++; - if (segcount==data->rootbone || segcount>255) break; // 255 is weak + if (segcount == data->rootbone || segcount > 255) break; // 255 is weak } if (!segcount) return; /* setup the chain data */ /* we make tree-IK, unless all existing targets are in this chain */ - for (tree= pchan_root->iktree.first; tree; tree= tree->next) { - for (target= tree->targets.first; target; target= target->next) { - curchan= tree->pchan[target->tip]; + for (tree = pchan_root->iktree.first; tree; tree = tree->next) { + for (target = tree->targets.first; target; target = target->next) { + curchan = tree->pchan[target->tip]; if (curchan->flag & POSE_CHAIN) curchan->flag &= ~POSE_CHAIN; else @@ -107,52 +107,52 @@ static void initialize_posetree(struct Object *UNUSED(ob), bPoseChannel *pchan_t } /* create a target */ - target= MEM_callocN(sizeof(PoseTarget), "posetarget"); - target->con= con; + target = MEM_callocN(sizeof(PoseTarget), "posetarget"); + target->con = con; pchan_tip->flag &= ~POSE_CHAIN; - if (tree==NULL) { + if (tree == NULL) { /* make new tree */ - tree= MEM_callocN(sizeof(PoseTree), "posetree"); + tree = MEM_callocN(sizeof(PoseTree), "posetree"); - tree->type= CONSTRAINT_TYPE_KINEMATIC; + tree->type = CONSTRAINT_TYPE_KINEMATIC; - tree->iterations= data->iterations; - tree->totchannel= segcount; + tree->iterations = data->iterations; + tree->totchannel = segcount; tree->stretch = (data->flag & CONSTRAINT_IK_STRETCH); - tree->pchan= MEM_callocN(segcount*sizeof(void*), "ik tree pchan"); - tree->parent= MEM_callocN(segcount*sizeof(int), "ik tree parent"); - for (a=0; a<segcount; a++) { - tree->pchan[a]= chanlist[segcount-a-1]; - tree->parent[a]= a-1; + tree->pchan = MEM_callocN(segcount * sizeof(void *), "ik tree pchan"); + tree->parent = MEM_callocN(segcount * sizeof(int), "ik tree parent"); + for (a = 0; a < segcount; a++) { + tree->pchan[a] = chanlist[segcount - a - 1]; + tree->parent[a] = a - 1; } - target->tip= segcount-1; + target->tip = segcount - 1; /* AND! link the tree to the root */ BLI_addtail(&pchan_root->iktree, tree); } else { - tree->iterations= MAX2(data->iterations, tree->iterations); - tree->stretch= tree->stretch && !(data->flag & CONSTRAINT_IK_STRETCH); + tree->iterations = MAX2(data->iterations, tree->iterations); + tree->stretch = tree->stretch && !(data->flag & CONSTRAINT_IK_STRETCH); /* skip common pose channels and add remaining*/ - size= MIN2(segcount, tree->totchannel); + size = MIN2(segcount, tree->totchannel); a = t = 0; - while (a<size && t<tree->totchannel) { + while (a < size && t < tree->totchannel) { // locate first matching channel - for (;t<tree->totchannel && tree->pchan[t]!=chanlist[segcount-a-1];t++); - if (t>=tree->totchannel) + for (; t < tree->totchannel && tree->pchan[t] != chanlist[segcount - a - 1]; t++) ; + if (t >= tree->totchannel) break; - for (; a<size && t<tree->totchannel && tree->pchan[t]==chanlist[segcount-a-1]; a++, t++); + for (; a < size && t < tree->totchannel && tree->pchan[t] == chanlist[segcount - a - 1]; a++, t++) ; } - segcount= segcount-a; - target->tip= tree->totchannel + segcount - 1; + segcount = segcount - a; + target->tip = tree->totchannel + segcount - 1; if (segcount > 0) { for (parent = a - 1; parent < tree->totchannel; parent++) - if (tree->pchan[parent] == chanlist[segcount-1]->parent) + if (tree->pchan[parent] == chanlist[segcount - 1]->parent) break; /* shouldn't happen, but could with dependency cycles */ @@ -160,25 +160,25 @@ static void initialize_posetree(struct Object *UNUSED(ob), bPoseChannel *pchan_t parent = a - 1; /* resize array */ - newsize= tree->totchannel + segcount; - oldchan= tree->pchan; - oldparent= tree->parent; - - tree->pchan= MEM_callocN(newsize*sizeof(void*), "ik tree pchan"); - tree->parent= MEM_callocN(newsize*sizeof(int), "ik tree parent"); - memcpy(tree->pchan, oldchan, sizeof(void*)*tree->totchannel); - memcpy(tree->parent, oldparent, sizeof(int)*tree->totchannel); + newsize = tree->totchannel + segcount; + oldchan = tree->pchan; + oldparent = tree->parent; + + tree->pchan = MEM_callocN(newsize * sizeof(void *), "ik tree pchan"); + tree->parent = MEM_callocN(newsize * sizeof(int), "ik tree parent"); + memcpy(tree->pchan, oldchan, sizeof(void *) * tree->totchannel); + memcpy(tree->parent, oldparent, sizeof(int) * tree->totchannel); MEM_freeN(oldchan); MEM_freeN(oldparent); /* add new pose channels at the end, in reverse order */ - for (a=0; a<segcount; a++) { - tree->pchan[tree->totchannel+a]= chanlist[segcount-a-1]; - tree->parent[tree->totchannel+a]= tree->totchannel+a-1; + for (a = 0; a < segcount; a++) { + tree->pchan[tree->totchannel + a] = chanlist[segcount - a - 1]; + tree->parent[tree->totchannel + a] = tree->totchannel + a - 1; } - tree->parent[tree->totchannel]= parent; + tree->parent[tree->totchannel] = parent; - tree->totchannel= newsize; + tree->totchannel = newsize; } /* move tree to end of list, for correct evaluation order */ @@ -199,7 +199,7 @@ static void make_dmats(bPoseChannel *pchan) if (pchan->parent) { float iR_parmat[4][4]; invert_m4_m4(iR_parmat, pchan->parent->pose_mat); - mult_m4_m4m4(pchan->chan_mat, iR_parmat, pchan->pose_mat); // delta mat + mult_m4_m4m4(pchan->chan_mat, iR_parmat, pchan->pose_mat); // delta mat } else copy_m4_m4(pchan->chan_mat, pchan->pose_mat); } @@ -241,27 +241,27 @@ static void execute_posetree(struct Scene *scene, Object *ob, PoseTree *tree) float goal[4][4], goalinv[4][4]; float irest_basis[3][3], full_basis[3][3]; float end_pose[4][4], world_pose[4][4]; - float length, basis[3][3], rest_basis[3][3], start[3], *ikstretch=NULL; - float resultinf=0.0f; - int a, flag, hasstretch=0, resultblend=0; + float length, basis[3][3], rest_basis[3][3], start[3], *ikstretch = NULL; + float resultinf = 0.0f; + int a, flag, hasstretch = 0, resultblend = 0; bPoseChannel *pchan; IK_Segment *seg, *parent, **iktree, *iktarget; IK_Solver *solver; PoseTarget *target; - bKinematicConstraint *data, *poleangledata=NULL; + bKinematicConstraint *data, *poleangledata = NULL; Bone *bone; if (tree->totchannel == 0) return; - iktree= MEM_mallocN(sizeof(void*)*tree->totchannel, "ik tree"); + iktree = MEM_mallocN(sizeof(void *) * tree->totchannel, "ik tree"); - for (a=0; a<tree->totchannel; a++) { - pchan= tree->pchan[a]; - bone= pchan->bone; + for (a = 0; a < tree->totchannel; a++) { + pchan = tree->pchan[a]; + bone = pchan->bone; /* set DoF flag */ - flag= 0; + flag = 0; if (!(pchan->ikflag & BONE_IK_NO_XDOF) && !(pchan->ikflag & BONE_IK_NO_XDOF_TEMP)) flag |= IK_XDOF; if (!(pchan->ikflag & BONE_IK_NO_YDOF) && !(pchan->ikflag & BONE_IK_NO_YDOF_TEMP)) @@ -274,13 +274,13 @@ static void execute_posetree(struct Scene *scene, Object *ob, PoseTree *tree) hasstretch = 1; } - seg= iktree[a]= IK_CreateSegment(flag); + seg = iktree[a] = IK_CreateSegment(flag); /* find parent */ if (a == 0) - parent= NULL; + parent = NULL; else - parent= iktree[tree->parent[a]]; + parent = iktree[tree->parent[a]]; IK_SetParent(seg, parent); @@ -299,10 +299,10 @@ static void execute_posetree(struct Scene *scene, Object *ob, PoseTree *tree) sub_v3_v3v3(start, pchan->pose_head, pchan->parent->pose_tail); else /* only root bone (a = 0) has no parent */ - start[0]= start[1]= start[2]= 0.0f; + start[0] = start[1] = start[2] = 0.0f; /* change length based on bone size */ - length= bone->length*len_v3(R_bonemat[1]); + length = bone->length * len_v3(R_bonemat[1]); /* compute rest basis and its inverse */ copy_m3_m3(rest_basis, bone->bone_mat); @@ -335,18 +335,18 @@ static void execute_posetree(struct Scene *scene, Object *ob, PoseTree *tree) IK_SetStiffness(seg, IK_Z, pchan->stiffness[2]); if (tree->stretch && (pchan->ikstretch > 0.0f)) { - float ikstretch = pchan->ikstretch*pchan->ikstretch; - IK_SetStiffness(seg, IK_TRANS_Y, MIN2(1.0f-ikstretch, 0.99f)); + float ikstretch = pchan->ikstretch * pchan->ikstretch; + IK_SetStiffness(seg, IK_TRANS_Y, MIN2(1.0f - ikstretch, 0.99f)); IK_SetLimit(seg, IK_TRANS_Y, 0.001, 1e10); } } - solver= IK_CreateSolver(iktree[0]); + solver = IK_CreateSolver(iktree[0]); /* set solver goals */ /* first set the goal inverse transform, assuming the root of tree was done ok! */ - pchan= tree->pchan[0]; + pchan = tree->pchan[0]; if (pchan->parent) { /* transform goal by parent mat, so this rotation is not part of the * segment's basis. otherwise rotation limits do not work on the @@ -363,11 +363,11 @@ static void execute_posetree(struct Scene *scene, Object *ob, PoseTree *tree) mult_m4_m4m4(imat, ob->obmat, rootmat); invert_m4_m4(goalinv, imat); - for (target=tree->targets.first; target; target=target->next) { + for (target = tree->targets.first; target; target = target->next) { float polepos[3]; - int poleconstrain= 0; + int poleconstrain = 0; - data= (bKinematicConstraint*)target->con->data; + data = (bKinematicConstraint *)target->con->data; /* 1.0=ctime, we pass on object for auto-ik (owner-type here is object, even though * strictly speaking, it is a posechannel) @@ -391,16 +391,16 @@ static void execute_posetree(struct Scene *scene, Object *ob, PoseTree *tree) else { mult_m4_m4m4(goal, goalinv, rootmat); copy_v3_v3(polepos, goal[3]); - poleconstrain= 1; + poleconstrain = 1; /* for pole targets, we blend the result of the ik solver * instead of the target position, otherwise we can't get * a smooth transition */ - resultblend= 1; - resultinf= target->con->enforce; + resultblend = 1; + resultinf = target->con->enforce; if (data->flag & CONSTRAINT_IK_GETANGLE) { - poleangledata= data; + poleangledata = data; data->flag &= ~CONSTRAINT_IK_GETANGLE; } } @@ -409,10 +409,10 @@ static void execute_posetree(struct Scene *scene, Object *ob, PoseTree *tree) /* do we need blending? */ if (!resultblend && target->con->enforce != 1.0f) { float q1[4], q2[4], q[4]; - float fac= target->con->enforce; - float mfac= 1.0f-fac; + float fac = target->con->enforce; + float mfac = 1.0f - fac; - pchan= tree->pchan[target->tip]; + pchan = tree->pchan[target->tip]; /* end effector in world space */ copy_m4_m4(end_pose, pchan->pose_mat); @@ -420,9 +420,9 @@ static void execute_posetree(struct Scene *scene, Object *ob, PoseTree *tree) mul_serie_m4(world_pose, goalinv, ob->obmat, end_pose, NULL, NULL, NULL, NULL, NULL); /* blend position */ - goalpos[0]= fac*goalpos[0] + mfac*world_pose[3][0]; - goalpos[1]= fac*goalpos[1] + mfac*world_pose[3][1]; - goalpos[2]= fac*goalpos[2] + mfac*world_pose[3][2]; + goalpos[0] = fac * goalpos[0] + mfac * world_pose[3][0]; + goalpos[1] = fac * goalpos[1] + mfac * world_pose[3][1]; + goalpos[2] = fac * goalpos[2] + mfac * world_pose[3][2]; /* blend rotation */ mat3_to_quat(q1, goalrot); @@ -431,65 +431,65 @@ static void execute_posetree(struct Scene *scene, Object *ob, PoseTree *tree) quat_to_mat3(goalrot, q); } - iktarget= iktree[target->tip]; + iktarget = iktree[target->tip]; if (data->weight != 0.0f) { if (poleconstrain) IK_SolverSetPoleVectorConstraint(solver, iktarget, goalpos, - polepos, data->poleangle, (poleangledata == data)); + polepos, data->poleangle, (poleangledata == data)); IK_SolverAddGoal(solver, iktarget, goalpos, data->weight); } if ((data->flag & CONSTRAINT_IK_ROT) && (data->orientweight != 0.0f)) - if ((data->flag & CONSTRAINT_IK_AUTO)==0) + if ((data->flag & CONSTRAINT_IK_AUTO) == 0) IK_SolverAddGoalOrientation(solver, iktarget, goalrot, - data->orientweight); + data->orientweight); } /* solve */ IK_Solve(solver, 0.0f, tree->iterations); if (poleangledata) - poleangledata->poleangle= IK_SolverGetPoleAngle(solver); + poleangledata->poleangle = IK_SolverGetPoleAngle(solver); IK_FreeSolver(solver); /* gather basis changes */ - tree->basis_change= MEM_mallocN(sizeof(float[3][3])*tree->totchannel, "ik basis change"); + tree->basis_change = MEM_mallocN(sizeof(float[3][3]) * tree->totchannel, "ik basis change"); if (hasstretch) - ikstretch= MEM_mallocN(sizeof(float)*tree->totchannel, "ik stretch"); + ikstretch = MEM_mallocN(sizeof(float) * tree->totchannel, "ik stretch"); - for (a=0; a<tree->totchannel; a++) { + for (a = 0; a < tree->totchannel; a++) { IK_GetBasisChange(iktree[a], tree->basis_change[a]); if (hasstretch) { /* have to compensate for scaling received from parent */ float parentstretch, stretch; - pchan= tree->pchan[a]; - parentstretch= (tree->parent[a] >= 0)? ikstretch[tree->parent[a]]: 1.0f; + pchan = tree->pchan[a]; + parentstretch = (tree->parent[a] >= 0) ? ikstretch[tree->parent[a]] : 1.0f; if (tree->stretch && (pchan->ikstretch > 0.0f)) { float trans[3], length; IK_GetTranslationChange(iktree[a], trans); - length= pchan->bone->length*len_v3(pchan->pose_mat[1]); + length = pchan->bone->length * len_v3(pchan->pose_mat[1]); - ikstretch[a]= (length == 0.0f)? 1.0f: (trans[1]+length)/length; + ikstretch[a] = (length == 0.0f) ? 1.0f : (trans[1] + length) / length; } else ikstretch[a] = 1.0; - stretch= (parentstretch == 0.0f)? 1.0f: ikstretch[a]/parentstretch; + stretch = (parentstretch == 0.0f) ? 1.0f : ikstretch[a] / parentstretch; mul_v3_fl(tree->basis_change[a][0], stretch); mul_v3_fl(tree->basis_change[a][1], stretch); mul_v3_fl(tree->basis_change[a][2], stretch); } - if (resultblend && resultinf!=1.0f) { + if (resultblend && resultinf != 1.0f) { unit_m3(identity); blend_m3_m3m3(tree->basis_change[a], identity, - tree->basis_change[a], resultinf); + tree->basis_change[a], resultinf); } IK_FreeSegment(iktree[a]); @@ -515,9 +515,9 @@ void iksolver_initialize_tree(struct Scene *UNUSED(scene), struct Object *ob, fl { bPoseChannel *pchan; - for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) { + for (pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) { if (pchan->constflag & PCHAN_HAS_IK) // flag is set on editing constraints - initialize_posetree(ob, pchan); // will attach it to root! + initialize_posetree(ob, pchan); // will attach it to root! } ob->pose->flag &= ~POSE_WAS_REBUILT; } @@ -525,7 +525,7 @@ void iksolver_initialize_tree(struct Scene *UNUSED(scene), struct Object *ob, fl void iksolver_execute_tree(struct Scene *scene, struct Object *ob, struct bPoseChannel *pchan, float ctime) { while (pchan->iktree.first) { - PoseTree *tree= pchan->iktree.first; + PoseTree *tree = pchan->iktree.first; int a; /* stop on the first tree that isn't a standard IK chain */ @@ -533,8 +533,8 @@ void iksolver_execute_tree(struct Scene *scene, struct Object *ob, struct bPose return; /* 4. walk over the tree for regular solving */ - for (a=0; a<tree->totchannel; a++) { - if (!(tree->pchan[a]->flag & POSE_DONE)) // successive trees can set the flag + for (a = 0; a < tree->totchannel; a++) { + if (!(tree->pchan[a]->flag & POSE_DONE)) // successive trees can set the flag BKE_pose_where_is_bone(scene, ob, tree->pchan[a], ctime, 1); // tell blender that this channel was controlled by IK, it's cleared on each BKE_pose_where_is() tree->pchan[a]->flag |= POSE_CHAIN; @@ -544,11 +544,11 @@ void iksolver_execute_tree(struct Scene *scene, struct Object *ob, struct bPose /* 6. apply the differences to the channels, * we need to calculate the original differences first */ - for (a=0; a<tree->totchannel; a++) { + for (a = 0; a < tree->totchannel; a++) { make_dmats(tree->pchan[a]); } - for (a=0; a<tree->totchannel; a++) { + for (a = 0; a < tree->totchannel; a++) { /* sets POSE_DONE */ where_is_ik_bone(tree->pchan[a], tree->basis_change[a]); } diff --git a/source/blender/imbuf/IMB_imbuf.h b/source/blender/imbuf/IMB_imbuf.h index a0c737b44fc..d79f0a3bf2c 100644 --- a/source/blender/imbuf/IMB_imbuf.h +++ b/source/blender/imbuf/IMB_imbuf.h @@ -480,7 +480,7 @@ void IMB_freezbuffloatImBuf(struct ImBuf *ibuf); * \attention Defined in rectop.c */ void IMB_rectfill(struct ImBuf *drect, const float col[4]); -void IMB_rectfill_area(struct ImBuf *ibuf, float *col, int x1, int y1, int x2, int y2); +void IMB_rectfill_area(struct ImBuf *ibuf, const float col[4], int x1, int y1, int x2, int y2); void IMB_rectfill_alpha(struct ImBuf *ibuf, const float value); /* this should not be here, really, we needed it for operating on render data, IMB_rectfill_area calls it */ diff --git a/source/blender/imbuf/intern/anim_movie.c b/source/blender/imbuf/intern/anim_movie.c index a0856533335..c5b637eea5b 100644 --- a/source/blender/imbuf/intern/anim_movie.c +++ b/source/blender/imbuf/intern/anim_movie.c @@ -603,14 +603,14 @@ static int startffmpeg(struct anim *anim) #ifdef FFMPEG_SWSCALE_COLOR_SPACE_SUPPORT /* Try do detect if input has 0-255 YCbCR range (JFIF Jpeg MotionJpeg) */ if (!sws_getColorspaceDetails(anim->img_convert_ctx, (int **)&inv_table, &srcRange, - &table, &dstRange, &brightness, &contrast, &saturation)) { - + &table, &dstRange, &brightness, &contrast, &saturation)) + { srcRange = srcRange || anim->pCodecCtx->color_range == AVCOL_RANGE_JPEG; inv_table = sws_getCoefficients(anim->pCodecCtx->colorspace); if (sws_setColorspaceDetails(anim->img_convert_ctx, (int *)inv_table, srcRange, - table, dstRange, brightness, contrast, saturation)) { - + table, dstRange, brightness, contrast, saturation)) + { printf("Warning: Could not set libswscale colorspace details.\n"); } } @@ -940,7 +940,8 @@ static ImBuf *ffmpeg_fetchibuf(struct anim *anim, int position, (long long int)pts_to_search, pts_time_base, frame_rate, st_time); if (anim->last_frame && - anim->last_pts <= pts_to_search && anim->next_pts > pts_to_search) { + anim->last_pts <= pts_to_search && anim->next_pts > pts_to_search) + { av_log(anim->pFormatCtx, AV_LOG_DEBUG, "FETCH: frame repeat: last: %lld next: %lld\n", (long long int)anim->last_pts, @@ -1156,9 +1157,9 @@ static void free_anim_redcode(struct anim *anim) #endif -/* probeer volgende plaatje te lezen */ -/* Geen plaatje, probeer dan volgende animatie te openen */ -/* gelukt, haal dan eerste plaatje van animatie */ +/* Try next picture to read */ +/* No picture, try to open next animation */ +/* Succeed, remove first image from animation */ static ImBuf *anim_getnew(struct anim *anim) { diff --git a/source/blender/imbuf/intern/cineon/logImageLib.c b/source/blender/imbuf/intern/cineon/logImageLib.c index f479220d82c..ccc6045e6e5 100644 --- a/source/blender/imbuf/intern/cineon/logImageLib.c +++ b/source/blender/imbuf/intern/cineon/logImageLib.c @@ -121,10 +121,11 @@ int logImageSetByteConversion(LogImageFile* logImage, const LogImageByteConversionParameters* params) { if ((params->gamma >= MIN_GAMMA) && - (params->gamma <= MAX_GAMMA) && - (params->blackPoint >= 0) && - (params->blackPoint < params->whitePoint) && - (params->whitePoint <= 1023)) { + (params->gamma <= MAX_GAMMA) && + (params->blackPoint >= 0) && + (params->blackPoint < params->whitePoint) && + (params->whitePoint <= 1023)) + { logImage->params.gamma = params->gamma; logImage->params.blackPoint = params->blackPoint; logImage->params.whitePoint = params->whitePoint; diff --git a/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp b/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp index 3966135ea32..438988fbe48 100644 --- a/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp +++ b/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp @@ -1507,7 +1507,7 @@ void DirectDrawSurface::printInfo() const printf("\tMisc flag: %u\n", header.header10.miscFlag); printf("\tArray size: %u\n", header.header10.arraySize); } - + if (header.reserved[9] == FOURCC_NVTT) { int major = (header.reserved[10] >> 16) & 0xFF; diff --git a/source/blender/imbuf/intern/divers.c b/source/blender/imbuf/intern/divers.c index 062c7a9368d..279fd5d59be 100644 --- a/source/blender/imbuf/intern/divers.c +++ b/source/blender/imbuf/intern/divers.c @@ -764,7 +764,7 @@ void IMB_saturation(ImBuf *ibuf, float sat) float rgb[3]; for (i = ibuf->x * ibuf->y; i > 0; i--, rct += 4) { rgb_uchar_to_float(rgb, rct); - rgb_to_hsv(rgb[0], rgb[1], rgb[2], hsv, hsv + 1, hsv + 2); + rgb_to_hsv_v(rgb, hsv); hsv_to_rgb(hsv[0], hsv[1] * sat, hsv[2], rgb, rgb + 1, rgb + 2); rgb_float_to_uchar(rct, rgb); } @@ -772,7 +772,7 @@ void IMB_saturation(ImBuf *ibuf, float sat) if (rctf) { for (i = ibuf->x * ibuf->y; i > 0; i--, rctf += 4) { - rgb_to_hsv(rctf[0], rctf[1], rctf[2], hsv, hsv + 1, hsv + 2); + rgb_to_hsv_v(rctf, hsv); hsv_to_rgb(hsv[0], hsv[1] * sat, hsv[2], rctf, rctf + 1, rctf + 2); } } diff --git a/source/blender/imbuf/intern/filetype.c b/source/blender/imbuf/intern/filetype.c index da207c19695..900bc7756f0 100644 --- a/source/blender/imbuf/intern/filetype.c +++ b/source/blender/imbuf/intern/filetype.c @@ -100,7 +100,7 @@ ImFileType IMB_FILE_TYPES[] = { #endif #ifdef WITH_QUICKTIME {quicktime_init, quicktime_exit, imb_is_a_quicktime, imb_ftype_quicktime, imb_quicktime_decode, NULL, NULL, 0, QUICKTIME}, -#endif +#endif {NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0} }; diff --git a/source/blender/imbuf/intern/filter.c b/source/blender/imbuf/intern/filter.c index e744851a9b6..a0434691807 100644 --- a/source/blender/imbuf/intern/filter.c +++ b/source/blender/imbuf/intern/filter.c @@ -339,8 +339,9 @@ static int check_pixel_assigned(const void *buffer, const char *mask, const int if (mask != NULL) { res = mask[index] != 0 ? 1 : 0; } - else if ( (is_float && ((const float *) buffer)[alpha_index] != 0.0f) || - (!is_float && ((const unsigned char *) buffer)[alpha_index] != 0) ) { + else if ((is_float && ((const float *) buffer)[alpha_index] != 0.0f) || + (!is_float && ((const unsigned char *) buffer)[alpha_index] != 0) ) + { res = 1; } } @@ -407,7 +408,7 @@ void IMB_filter_extend(struct ImBuf *ibuf, char *mask, int filter) if (i != 0 || j != 0) { const int tmpindex = filter_make_index(x + i, y + j, width, height); - if (check_pixel_assigned(srcbuf, srcmask, tmpindex, depth, is_float)) { + if (check_pixel_assigned(srcbuf, srcmask, tmpindex, depth, is_float)) { if (is_float) { for (c = 0; c < depth; c++) tmp[c] = ((const float *) srcbuf)[depth * tmpindex + c]; diff --git a/source/blender/imbuf/intern/indexer.c b/source/blender/imbuf/intern/indexer.c index 74fa7c5987e..11da2f4af91 100644 --- a/source/blender/imbuf/intern/indexer.c +++ b/source/blender/imbuf/intern/indexer.c @@ -867,7 +867,7 @@ static int index_rebuild_ffmpeg(FFmpegIndexBuilderContext *context, if (*progress != next_progress) { *progress = next_progress; - *do_update = 1; + *do_update = TRUE; } if (*stop) { @@ -1075,7 +1075,7 @@ static void index_rebuild_fallback(FallbackIndexBuilderContext *context, if (*progress != next_progress) { *progress = next_progress; - *do_update = 1; + *do_update = TRUE; } if (*stop) { diff --git a/source/blender/imbuf/intern/indexer_dv.c b/source/blender/imbuf/intern/indexer_dv.c index 460ca93435e..0090577062f 100644 --- a/source/blender/imbuf/intern/indexer_dv.c +++ b/source/blender/imbuf/intern/indexer_dv.c @@ -269,7 +269,8 @@ static void fill_gap(indexer_dv_context *This, int isPAL) } while (This->gap_start != This->ref_time_read || - This->gap_frame != This->curr_frame) { + This->gap_frame != This->curr_frame) + { inc_frame(&This->gap_frame, &This->gap_start, isPAL); This->frameno_offset++; } @@ -320,7 +321,7 @@ static void proc_frame(indexer_dv_context *This, This->gap_frame = -1; } } - else if (This->ref_time_read_new == This->ref_time_read) { + else if (This->ref_time_read_new == This->ref_time_read) { // do nothing } else { diff --git a/source/blender/imbuf/intern/jp2.c b/source/blender/imbuf/intern/jp2.c index 4f71f296caa..3af853ba150 100644 --- a/source/blender/imbuf/intern/jp2.c +++ b/source/blender/imbuf/intern/jp2.c @@ -97,7 +97,7 @@ static void info_callback(const char *msg, void *client_data) struct ImBuf *imb_jp2_decode(unsigned char *mem, size_t size, int flags) { struct ImBuf *ibuf = NULL; - int use_float = 0; /* for precision higher then 8 use float */ + int use_float = FALSE; /* for precision higher then 8 use float */ long signed_offsets[4] = {0, 0, 0, 0}; int float_divs[4] = {1, 1, 1, 1}; @@ -183,7 +183,7 @@ struct ImBuf *imb_jp2_decode(unsigned char *mem, size_t size, int flags) i--; if (image->comps[i].prec > 8) - use_float = 1; + use_float = TRUE; if (image->comps[i].sgnd) signed_offsets[i] = 1 << (image->comps[i].prec - 1); diff --git a/source/blender/imbuf/intern/radiance_hdr.c b/source/blender/imbuf/intern/radiance_hdr.c index 4f4ab9e72d0..29c2e63637d 100644 --- a/source/blender/imbuf/intern/radiance_hdr.c +++ b/source/blender/imbuf/intern/radiance_hdr.c @@ -65,9 +65,9 @@ #define STR_MAX 540 typedef unsigned char RGBE[4]; typedef float fCOLOR[3]; + /* copy source -> dest */ -#define copy_rgbe(c1, c2) (c2[RED] = c1[RED], c2[GRN] = c1[GRN], c2[BLU] = c1[BLU], c2[EXP] = c1[EXP]) -#define copy_fcol(f1, f2) (f2[RED] = f1[RED], f2[GRN] = f1[GRN], f2[BLU] = f1[BLU]) +#define COPY_RGBE(c1, c2) (c2[RED] = c1[RED], c2[GRN] = c1[GRN], c2[BLU] = c1[BLU], c2[EXP] = c1[EXP]) /* read routines */ static unsigned char *oldreadcolrs(RGBE *scan, unsigned char *mem, int xmax) @@ -80,7 +80,7 @@ static unsigned char *oldreadcolrs(RGBE *scan, unsigned char *mem, int xmax) scan[0][EXP] = *mem++; if (scan[0][RED] == 1 && scan[0][GRN] == 1 && scan[0][BLU] == 1) { for (i = scan[0][EXP] << rshift; i > 0; i--) { - copy_rgbe(scan[-1], scan[0]); + COPY_RGBE(scan[-1], scan[0]); scan++; len--; } @@ -272,7 +272,7 @@ static int fwritecolrs(FILE *file, int width, int channels, unsigned char *ibufs fcol[BLU] = (float)((channels >= 3) ? ibufscan[j + 2] : ibufscan[j]) / 255.f; } FLOAT2RGBE(fcol, rgbe); - copy_rgbe(rgbe, rgbe_scan[i]); + COPY_RGBE(rgbe, rgbe_scan[i]); j += channels; } diff --git a/source/blender/imbuf/intern/rectop.c b/source/blender/imbuf/intern/rectop.c index 2d765c7d6a1..da7618ef806 100644 --- a/source/blender/imbuf/intern/rectop.c +++ b/source/blender/imbuf/intern/rectop.c @@ -566,7 +566,7 @@ void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height, } } -void IMB_rectfill_area(struct ImBuf *ibuf, float *col, int x1, int y1, int x2, int y2) +void IMB_rectfill_area(struct ImBuf *ibuf, const float col[4], int x1, int y1, int x2, int y2) { if (!ibuf) return; buf_rectfill_area((unsigned char *) ibuf->rect, ibuf->rect_float, ibuf->x, ibuf->y, col, x1, y1, x2, y2); diff --git a/source/blender/imbuf/intern/scaling.c b/source/blender/imbuf/intern/scaling.c index ef057784a28..27034317396 100644 --- a/source/blender/imbuf/intern/scaling.c +++ b/source/blender/imbuf/intern/scaling.c @@ -1085,7 +1085,7 @@ static ImBuf *scaleupx(struct ImBuf *ibuf, int newx) float val_bf, nval_bf, diff_bf; float val_gf, nval_gf, diff_gf; float val_rf, nval_rf, diff_rf; - int x, y, do_rect = 0, do_float = 0; + int x, y, do_rect = FALSE, do_float = FALSE; val_a = nval_a = diff_a = val_b = nval_b = diff_b = 0; val_g = nval_g = diff_g = val_r = nval_r = diff_r = 0; @@ -1095,12 +1095,12 @@ static ImBuf *scaleupx(struct ImBuf *ibuf, int newx) if (ibuf->rect == NULL && ibuf->rect_float == NULL) return (ibuf); if (ibuf->rect) { - do_rect = 1; + do_rect = TRUE; _newrect = MEM_mallocN(newx * ibuf->y * sizeof(int), "scaleupx"); if (_newrect == NULL) return(ibuf); } if (ibuf->rect_float) { - do_float = 1; + do_float = TRUE; _newrectf = MEM_mallocN(newx * ibuf->y * sizeof(float) * 4, "scaleupxf"); if (_newrectf == NULL) { if (_newrect) MEM_freeN(_newrect); @@ -1252,7 +1252,7 @@ static ImBuf *scaleupy(struct ImBuf *ibuf, int newy) float val_bf, nval_bf, diff_bf; float val_gf, nval_gf, diff_gf; float val_rf, nval_rf, diff_rf; - int x, y, do_rect = 0, do_float = 0, skipx; + int x, y, do_rect = FALSE, do_float = FALSE, skipx; val_a = nval_a = diff_a = val_b = nval_b = diff_b = 0; val_g = nval_g = diff_g = val_r = nval_r = diff_r = 0; @@ -1262,12 +1262,12 @@ static ImBuf *scaleupy(struct ImBuf *ibuf, int newy) if (ibuf->rect == NULL && ibuf->rect_float == NULL) return (ibuf); if (ibuf->rect) { - do_rect = 1; + do_rect = TRUE; _newrect = MEM_mallocN(ibuf->x * newy * sizeof(int), "scaleupy"); if (_newrect == NULL) return(ibuf); } if (ibuf->rect_float) { - do_float = 1; + do_float = TRUE; _newrectf = MEM_mallocN(ibuf->x * newy * sizeof(float) * 4, "scaleupyf"); if (_newrectf == NULL) { if (_newrect) MEM_freeN(_newrect); @@ -1481,16 +1481,16 @@ struct ImBuf *IMB_scalefastImBuf(struct ImBuf *ibuf, unsigned int newx, unsigned { unsigned int *rect, *_newrect, *newrect; struct imbufRGBA *rectf, *_newrectf, *newrectf; - int x, y, do_float = 0, do_rect = 0; + int x, y, do_float = FALSE, do_rect = FALSE; int ofsx, ofsy, stepx, stepy; rect = NULL; _newrect = NULL; newrect = NULL; rectf = NULL; _newrectf = NULL; newrectf = NULL; if (ibuf == NULL) return(NULL); - if (ibuf->rect) do_rect = 1; - if (ibuf->rect_float) do_float = 1; - if (do_rect == 0 && do_float == 0) return(ibuf); + if (ibuf->rect) do_rect = TRUE; + if (ibuf->rect_float) do_float = TRUE; + if (do_rect == FALSE && do_float == FALSE) return(ibuf); if (newx == ibuf->x && newy == ibuf->y) return(ibuf); diff --git a/source/blender/imbuf/intern/tiff.c b/source/blender/imbuf/intern/tiff.c index 0c6a5b56a3e..556ec64e59a 100644 --- a/source/blender/imbuf/intern/tiff.c +++ b/source/blender/imbuf/intern/tiff.c @@ -478,7 +478,7 @@ static int imb_read_tiff_pixels(ImBuf *ibuf, TIFF *image, int premul) /* assign rect last */ if (tmpibuf->rect_float) ibuf->rect_float = tmpibuf->rect_float; - else + else ibuf->rect = tmpibuf->rect; ibuf->mall |= ib_flag; ibuf->flags |= ib_flag; @@ -819,7 +819,8 @@ int imb_savetiff(ImBuf *ibuf, const char *name, int flags) TIFFSetField(image, TIFFTAG_RESOLUTIONUNIT, RESUNIT_INCH); if (TIFFWriteEncodedStrip(image, 0, (bitspersample == 16) ? (unsigned char *)pixels16 : pixels, - ibuf->x * ibuf->y * samplesperpixel * bitspersample / 8) == -1) { + ibuf->x * ibuf->y * samplesperpixel * bitspersample / 8) == -1) + { fprintf(stderr, "imb_savetiff: Could not write encoded TIFF.\n"); TIFFClose(image); diff --git a/source/blender/imbuf/intern/util.c b/source/blender/imbuf/intern/util.c index 4820347f048..a86e2bed0e5 100644 --- a/source/blender/imbuf/intern/util.c +++ b/source/blender/imbuf/intern/util.c @@ -188,9 +188,9 @@ static int IMB_ispic_name(const char *name) int IMB_ispic(const char *filename) { if (U.uiflag & USER_FILTERFILEEXTS) { - if ( (BLI_testextensie_array(filename, imb_ext_image)) || - (G.have_quicktime && BLI_testextensie_array(filename, imb_ext_image_qt)) - ) { + if ((BLI_testextensie_array(filename, imb_ext_image)) || + (G.have_quicktime && BLI_testextensie_array(filename, imb_ext_image_qt))) + { return IMB_ispic_name(filename); } else { diff --git a/source/blender/makesdna/DNA_action_types.h b/source/blender/makesdna/DNA_action_types.h index 889f9cf47eb..a997a655899 100644 --- a/source/blender/makesdna/DNA_action_types.h +++ b/source/blender/makesdna/DNA_action_types.h @@ -613,7 +613,7 @@ typedef enum eSAction_Flag { /* show pose-markers (local to action) in Action Editor mode */ SACTION_POSEMARKERS_SHOW = (1<<6), /* don't draw action channels using group colors (where applicable) */ - SACTION_NODRAWGCOLORS = (1<<7), // XXX depreceated... irrelevant for current groups implementation + SACTION_NODRAWGCOLORS = (1<<7), /* don't draw current frame number beside frame indicator */ SACTION_NODRAWCFRANUM = (1<<8), /* temporary flag to force channel selections to be synced with main */ diff --git a/source/blender/makesdna/DNA_customdata_types.h b/source/blender/makesdna/DNA_customdata_types.h index 5792953fe49..377af042922 100644 --- a/source/blender/makesdna/DNA_customdata_types.h +++ b/source/blender/makesdna/DNA_customdata_types.h @@ -63,12 +63,11 @@ typedef struct CustomDataExternal { * layers, each with a data type (e.g. MTFace, MDeformVert, etc.). */ typedef struct CustomData { CustomDataLayer *layers; /* CustomDataLayers, ordered by type */ - int typemap[36]; /* runtime only! - maps types to indices of first layer of that type, + int typemap[37]; /* runtime only! - maps types to indices of first layer of that type, * MUST be >= CD_NUMTYPES, but we cant use a define here. * Correct size is ensured in CustomData_update_typemap assert() */ - int totlayer, maxlayer; /* number of layers, size of layers array */ - int totsize, pad2; /* in editmode, total size of all data layers */ + int totsize; /* in editmode, total size of all data layers */ void *pool; /* Bmesh: Memory pool for allocation of blocks */ CustomDataExternal *external; /* external file storing customdata layers */ } CustomData; @@ -114,8 +113,8 @@ typedef struct CustomData { #define CD_PAINT_MASK 34 #define CD_GRID_PAINT_MASK 35 - -#define CD_NUMTYPES 36 +#define CD_MVERT_SKIN 36 +#define CD_NUMTYPES 37 /* Bits for CustomDataMask */ #define CD_MASK_MVERT (1 << CD_MVERT) @@ -156,6 +155,7 @@ typedef struct CustomData { #define CD_MASK_PAINT_MASK (1LL << CD_PAINT_MASK) #define CD_MASK_GRID_PAINT_MASK (1LL << CD_GRID_PAINT_MASK) +#define CD_MASK_MVERT_SKIN (1LL << CD_MVERT_SKIN) /* CustomData.flag */ diff --git a/source/blender/makesdna/DNA_meshdata_types.h b/source/blender/makesdna/DNA_meshdata_types.h index 70e9cf04b18..dc8115b556c 100644 --- a/source/blender/makesdna/DNA_meshdata_types.h +++ b/source/blender/makesdna/DNA_meshdata_types.h @@ -257,6 +257,27 @@ typedef struct GridPaintMask { int pad; } GridPaintMask; +typedef enum MVertSkinFlag { + /* Marks a vertex as the edge-graph root, used for calculating + rotations for all connected edges (recursively.) Also used to + choose a root when generating an armature. */ + MVERT_SKIN_ROOT = 1, + + /* Marks a branch vertex (vertex with more than two connected + edges) so that it's neighbors are directly hulled together, + rather than the default of generating intermediate frames. */ + MVERT_SKIN_LOOSE = 2 +} MVertSkinFlag; + +typedef struct MVertSkin { + /* Radii of the skin, define how big the generated frames + are. Currently only the first two elements are used. */ + float radius[3]; + + /* MVertSkinFlag */ + int flag; +} MVertSkin; + /* mvert->flag (1=SELECT) */ #define ME_SPHERETEST 2 #define ME_VERT_TMP_TAG 4 diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h index 971ce613edc..cf8b08549f6 100644 --- a/source/blender/makesdna/DNA_modifier_types.h +++ b/source/blender/makesdna/DNA_modifier_types.h @@ -77,6 +77,7 @@ typedef enum ModifierType { eModifierType_Ocean, eModifierType_DynamicPaint, eModifierType_Remesh, + eModifierType_Skin, NUM_MODIFIER_TYPES } ModifierType; @@ -727,11 +728,12 @@ typedef struct SolidifyModifierData { short mat_ofs_rim; } SolidifyModifierData; -#define MOD_SOLIDIFY_RIM (1<<0) -#define MOD_SOLIDIFY_EVEN (1<<1) -#define MOD_SOLIDIFY_NORMAL_CALC (1<<2) -#define MOD_SOLIDIFY_VGROUP_INV (1<<3) -#define MOD_SOLIDIFY_RIM_MATERIAL (1<<4) /* deprecated, used in do_versions */ +#define MOD_SOLIDIFY_RIM (1 << 0) +#define MOD_SOLIDIFY_EVEN (1 << 1) +#define MOD_SOLIDIFY_NORMAL_CALC (1 << 2) +#define MOD_SOLIDIFY_VGROUP_INV (1 << 3) +#define MOD_SOLIDIFY_RIM_MATERIAL (1 << 4) /* deprecated, used in do_versions */ +#define MOD_SOLIDIFY_FLIP (1 << 5) typedef struct ScrewModifierData { ModifierData modifier; @@ -1065,4 +1067,30 @@ typedef struct RemeshModifierData { char pad; } RemeshModifierData; +/* Skin modifier */ + +typedef struct SkinModifierData { + ModifierData modifier; + + float branch_smoothing; + + char flag; + + char symmetry_axes; + + char pad[2]; +} SkinModifierData; + +/* SkinModifierData.symmetry_axes */ +enum { + MOD_SKIN_SYMM_X = 1, + MOD_SKIN_SYMM_Y = 2, + MOD_SKIN_SYMM_Z = 4, +}; + +/* SkinModifierData.flag */ +enum { + MOD_SKIN_SMOOTH_SHADING = 1 +}; + #endif diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index 4bbd1e20973..b2781675cbe 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -154,11 +154,13 @@ typedef struct bNode { struct bNode *next, *prev, *new_node; char name[64]; /* MAX_NAME */ - short type, flag; + int flag; + short type, pad2; short done, level; /* both for dependency and sorting */ short lasty, menunr; /* lasty: check preview render status, menunr: browse ID blocks */ short stack_index; /* for groupnode, offset in global caller stack */ short nr; /* number of this node in list, used for UI exec events */ + float color[3]; /* custom user-defined color */ ListBase inputs, outputs; struct bNode *parent; /* parent node */ @@ -168,6 +170,7 @@ typedef struct bNode { float locx, locy; /* root offset for drawing */ float width, height; /* node custom width and height */ float miniwidth; /* node width if hidden */ + float offsetx, offsety; /* additional offset from loc */ int update; /* update flags */ @@ -209,6 +212,8 @@ typedef struct bNode { #define NODE_TRANSFORM (1<<13) /* node is active texture */ #define NODE_ACTIVE_TEXTURE (1<<14) + /* use a custom color for the node */ +#define NODE_CUSTOM_COLOR (1<<15) /* node->update */ /* XXX NODE_UPDATE is a generic update flag. More fine-grained updates @@ -345,6 +350,14 @@ typedef struct bNodeSocketValueRGBA { #define CMP_NODE_LENSFLARE_CIRCLE 4 #define CMP_NODE_LENSFLARE_STREAKS 8 +#define CMP_NODE_DILATEERODE_STEP 0 +#define CMP_NODE_DILATEERODE_DISTANCE 1 + +typedef struct NodeFrame { + short flag; + short label_size; +} NodeFrame; + /* this one has been replaced with ImageUser, keep it for do_versions() */ typedef struct NodeImageAnim { int frames, sfra, nr; @@ -604,6 +617,10 @@ typedef struct TexNodeOutput { char name[64]; } TexNodeOutput; +/* frame node flags */ +#define NODE_FRAME_SHRINK 1 /* keep the bounding box minimal */ +#define NODE_FRAME_RESIZEABLE 2 /* test flag, if frame can be resized by user */ + /* comp channel matte */ #define CMP_NODE_CHANNEL_MATTE_CS_RGB 1 #define CMP_NODE_CHANNEL_MATTE_CS_HSV 2 diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h index 1e428bb96e0..1ea50ec9c1a 100644 --- a/source/blender/makesdna/DNA_object_types.h +++ b/source/blender/makesdna/DNA_object_types.h @@ -142,7 +142,7 @@ typedef struct Object { /* rot en drot have to be together! (transform('r' en 's')) */ float loc[3], dloc[3], orig[3]; - float size[3]; /* scale infact */ + float size[3]; /* scale in fact */ float dsize[3] DNA_DEPRECATED ; /* DEPRECATED, 2.60 and older only */ float dscale[3]; /* ack!, changing */ float rot[3], drot[3]; /* euler rotation */ diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index 2a2e312c43b..f57e0a0f0da 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -711,6 +711,8 @@ typedef struct TimeMarker { /* *************************************************************** */ /* Paint Mode/Tool Data */ +#define PAINT_MAX_INPUT_SAMPLES 64 + /* Paint Tool Base */ typedef struct Paint { struct Brush *brush; @@ -719,7 +721,14 @@ typedef struct Paint { void *paint_cursor; unsigned char paint_cursor_col[4]; + /* enum PaintFlags */ int flags; + + /* Paint stroke can use up to PAINT_MAX_INPUT_SAMPLES inputs to + * smooth the stroke */ + int num_input_samples; + + int pad; } Paint; /* ------------------------------------------- */ diff --git a/source/blender/makesdna/DNA_smoke_types.h b/source/blender/makesdna/DNA_smoke_types.h index 50e48a13835..cceb7333478 100644 --- a/source/blender/makesdna/DNA_smoke_types.h +++ b/source/blender/makesdna/DNA_smoke_types.h @@ -80,11 +80,11 @@ typedef struct SmokeDomainSettings { float tempAmb; /* ambient temperature */ float alpha; float beta; + float scale; /* largest domain size */ int res[3]; /* domain resolution */ int amplify; /* wavelet amplification */ int maxres; /* longest axis on the BB gets this resolution assigned */ int flags; /* show up-res or low res, etc */ - int pad; int viewsettings; short noise; /* noise type: wave, curl, anisotropic */ short diss_percent; diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h index 0bc91907d6e..8f3062655b7 100644 --- a/source/blender/makesdna/DNA_space_types.h +++ b/source/blender/makesdna/DNA_space_types.h @@ -68,12 +68,14 @@ struct wmTimer; struct MovieClip; struct MovieClipScopes; - /** - * The base structure all the other spaces - * are derived (implicitly) from. Would be - * good to make this explicit. - */ +/* SpaceLink (Base) ==================================== */ + +/** + * The base structure all the other spaces + * are derived (implicitly) from. Would be + * good to make this explicit. + */ typedef struct SpaceLink { struct SpaceLink *next, *prev; ListBase regionbase; /* storage of regions for inactive spaces */ @@ -82,27 +84,209 @@ typedef struct SpaceLink { short blockhandler[8] DNA_DEPRECATED; /* XXX make deprecated */ } SpaceLink; + +/* Space Info ========================================== */ + +/* Info Header */ typedef struct SpaceInfo { SpaceLink *next, *prev; ListBase regionbase; /* storage of regions for inactive spaces */ int spacetype; float blockscale DNA_DEPRECATED; - short blockhandler[8] DNA_DEPRECATED; /* XXX make deprecated */ char rpt_mask; char pad[7]; - } SpaceInfo; /* SpaceInfo.rpt_mask */ -enum { - INFO_RPT_DEBUG = 1<<0, - INFO_RPT_INFO = 1<<1, - INFO_RPT_OP = 1<<2, - INFO_RPT_WARN = 1<<3, - INFO_RPT_ERR = 1<<4, -}; +typedef enum eSpaceInfo_RptMask { + INFO_RPT_DEBUG = (1 << 0), + INFO_RPT_INFO = (1 << 1), + INFO_RPT_OP = (1 << 2), + INFO_RPT_WARN = (1 << 3), + INFO_RPT_ERR = (1 << 4), +} eSpaceInfo_RptMask; + + +/* Properties Editor ==================================== */ + +/* Properties Editor */ +typedef struct SpaceButs { + SpaceLink *next, *prev; + ListBase regionbase; /* storage of regions for inactive spaces */ + int spacetype; + float blockscale DNA_DEPRECATED; + + short blockhandler[8] DNA_DEPRECATED; + + View2D v2d DNA_DEPRECATED; /* deprecated, copied to region */ + + short mainb, mainbo, mainbuser; /* context tabs */ + short re_align, align; /* align for panels */ + short preview; /* preview is signal to refresh */ + short texture_context; /* texture context selector (material, world, brush)*/ + char flag, pad; + + void *path; /* runtime */ + int pathflag, dataicon; /* runtime */ + ID *pinid; + + void *texuser; +} SpaceButs; + +/* button defines (deprecated) */ +/* warning: the values of these defines are used in sbuts->tabs[8] */ +/* sbuts->mainb new */ +#define CONTEXT_SCENE 0 +#define CONTEXT_OBJECT 1 +#define CONTEXT_TYPES 2 +#define CONTEXT_SHADING 3 +#define CONTEXT_EDITING 4 +#define CONTEXT_SCRIPT 5 +#define CONTEXT_LOGIC 6 + +/* sbuts->mainb old (deprecated) */ +#define BUTS_VIEW 0 +#define BUTS_LAMP 1 +#define BUTS_MAT 2 +#define BUTS_TEX 3 +#define BUTS_ANIM 4 +#define BUTS_WORLD 5 +#define BUTS_RENDER 6 +#define BUTS_EDIT 7 +#define BUTS_GAME 8 +#define BUTS_FPAINT 9 +#define BUTS_RADIO 10 +#define BUTS_SCRIPT 11 +#define BUTS_SOUND 12 +#define BUTS_CONSTRAINT 13 +#define BUTS_EFFECTS 14 + +/* buts->mainb new */ +typedef enum eSpaceButtons_Context { + BCONTEXT_RENDER = 0, + BCONTEXT_SCENE, + BCONTEXT_WORLD, + BCONTEXT_OBJECT, + BCONTEXT_DATA, + BCONTEXT_MATERIAL, + BCONTEXT_TEXTURE, + BCONTEXT_PARTICLE, + BCONTEXT_PHYSICS, + BCONTEXT_BONE, + BCONTEXT_MODIFIER, + BCONTEXT_CONSTRAINT, + BCONTEXT_BONE_CONSTRAINT, + + /* always as last... */ + BCONTEXT_TOT +} eSpaceButtons_Context; + +/* sbuts->flag */ +#define SB_PRV_OSA 1 +#define SB_PIN_CONTEXT 2 +//#define SB_WORLD_TEX 4 //not used anymore +//#define SB_BRUSH_TEX 8 //not used anymore +#define SB_SHADING_CONTEXT 16 + +/* sbuts->texture_context */ +typedef enum eSpaceButtons_Texture_Context { + SB_TEXC_MAT_OR_LAMP = 0, + SB_TEXC_WORLD, + SB_TEXC_BRUSH, + SB_TEXC_PARTICLES, +} eSpaceButtons_Texture_Context; + +/* sbuts->align */ +typedef enum eSpaceButtons_Align { + BUT_FREE = 0, + BUT_HORIZONTAL, + BUT_VERTICAL, + BUT_AUTO, +} eSpaceButtons_Align; + +/* sbuts->scaflag */ +#define BUTS_SENS_SEL 1 +#define BUTS_SENS_ACT 2 +#define BUTS_SENS_LINK 4 +#define BUTS_CONT_SEL 8 +#define BUTS_CONT_ACT 16 +#define BUTS_CONT_LINK 32 +#define BUTS_ACT_SEL 64 +#define BUTS_ACT_ACT 128 +#define BUTS_ACT_LINK 256 +#define BUTS_SENS_STATE 512 +#define BUTS_ACT_STATE 1024 +#define BUTS_CONT_INIT_STATE 2048 + + +/* Outliner =============================================== */ + +/* Outliner */ +typedef struct SpaceOops { + SpaceLink *next, *prev; + ListBase regionbase; /* storage of regions for inactive spaces */ + int spacetype; + float blockscale DNA_DEPRECATED; + short blockhandler[8] DNA_DEPRECATED; + + View2D v2d DNA_DEPRECATED; /* deprecated, copied to region */ + + ListBase tree; + struct TreeStore *treestore; + + /* search stuff */ + char search_string[32]; + struct TreeStoreElem search_tse; + + short flag, outlinevis, storeflag, search_flags; +} SpaceOops; + + +/* SpaceOops->flag */ +typedef enum eSpaceOutliner_Flag { + SO_TESTBLOCKS = (1 << 0), + SO_NEWSELECTED = (1 << 1), + SO_HIDE_RESTRICTCOLS = (1 << 2), + SO_HIDE_KEYINGSETINFO = (1 << 3), +} eSpaceOutliner_Flag; + +/* SpaceOops->outlinevis */ +typedef enum eSpaceOutliner_Mode { + SO_ALL_SCENES = 0, + SO_CUR_SCENE, + SO_VISIBLE, + SO_SELECTED, + SO_ACTIVE, + SO_SAME_TYPE, + SO_GROUPS, + SO_LIBRARIES, + SO_VERSE_SESSION, + SO_VERSE_MS, + SO_SEQUENCE, + SO_DATABLOCKS, + SO_USERDEF, + SO_KEYMAP, +} eSpaceOutliner_Mode; + +/* SpaceOops->storeflag */ +typedef enum eSpaceOutliner_StoreFlag { + /* rebuild tree */ + SO_TREESTORE_CLEANUP = (1 << 0), + /* if set, it allows redraws. gets set for some allqueue events */ + SO_TREESTORE_REDRAW = (1 << 1), +} eSpaceOutliner_StoreFlag; + +/* outliner search flags (SpaceOops->search_flags) */ +typedef enum eSpaceOutliner_Search_Flags { + SO_FIND_CASE_SENSITIVE = (1 << 0), + SO_FIND_COMPLETE = (1 << 1), + SO_SEARCH_RECURSIVE = (1 << 2), +} eSpaceOutliner_Search_Flags; + + +/* Graph Editor ========================================= */ /* 'Graph' Editor (formerly known as the IPO Editor) */ typedef struct SpaceIpo { @@ -110,8 +294,8 @@ typedef struct SpaceIpo { ListBase regionbase; /* storage of regions for inactive spaces */ int spacetype; float blockscale DNA_DEPRECATED; - short blockhandler[8] DNA_DEPRECATED; + View2D v2d DNA_DEPRECATED; /* deprecated, copied to region */ struct bDopeSheet *ads; /* settings for filtering animation data (NOTE: we use a pointer due to code-linking issues) */ @@ -120,35 +304,153 @@ typedef struct SpaceIpo { short mode; /* mode for the Graph editor (eGraphEdit_Mode) */ short autosnap; /* time-transform autosnapping settings for Graph editor (eAnimEdit_AutoSnap in DNA_action_types.h) */ - int flag; /* settings for Graph editor */ + int flag; /* settings for Graph editor (eGraphEdit_Flag) */ float cursorVal; /* cursor value (y-value, x-value is current frame) */ int around; /* pivot point for transforms */ } SpaceIpo; -typedef struct SpaceButs { - SpaceLink *next, *prev; + +/* SpaceIpo->flag (Graph Editor Settings) */ +typedef enum eGraphEdit_Flag { + /* OLD DEPRECEATED SETTING */ + /* SIPO_LOCK_VIEW = (1 << 0), */ + + /* don't merge keyframes on the same frame after a transform */ + SIPO_NOTRANSKEYCULL = (1 << 1), + /* don't show any keyframe handles at all */ + SIPO_NOHANDLES = (1 << 2), + /* don't show current frame number beside indicator line */ + SIPO_NODRAWCFRANUM = (1 << 3), + /* show timing in seconds instead of frames */ + SIPO_DRAWTIME = (1 << 4), + /* only show keyframes for selected F-Curves */ + SIPO_SELCUVERTSONLY = (1 << 5), + /* draw names of F-Curves beside the respective curves */ + /* NOTE: currently not used */ + SIPO_DRAWNAMES = (1 << 6), + /* show sliders in channels list */ + SIPO_SLIDERS = (1 << 7), + /* don't show the horizontal component of the cursor */ + SIPO_NODRAWCURSOR = (1 << 8), + /* only show handles of selected keyframes */ + SIPO_SELVHANDLESONLY = (1 << 9), + /* temporary flag to force channel selections to be synced with main */ + SIPO_TEMP_NEEDCHANSYNC = (1 << 10), + /* don't perform realtime updates */ + SIPO_NOREALTIMEUPDATES = (1 << 11), + /* don't draw curves with AA ("beauty-draw") for performance */ + SIPO_BEAUTYDRAW_OFF = (1 << 12), + /* draw grouped channels with colors set in group */ + SIPO_NODRAWGCOLORS = (1 << 13), +} eGraphEdit_Flag; + +/* SpaceIpo->mode (Graph Editor Mode) */ +typedef enum eGraphEdit_Mode { + /* all animation curves (from all over Blender) */ + SIPO_MODE_ANIMATION = 0, + /* drivers only */ + SIPO_MODE_DRIVERS, +} eGraphEdit_Mode; + + +/* NLA Editor ============================================= */ + +/* NLA Editor */ +typedef struct SpaceNla { + struct SpaceLink *next, *prev; ListBase regionbase; /* storage of regions for inactive spaces */ int spacetype; float blockscale DNA_DEPRECATED; - short blockhandler[8] DNA_DEPRECATED; - View2D v2d DNA_DEPRECATED; /* deprecated, copied to region */ + short autosnap; /* this uses the same settings as autosnap for Action Editor */ + short flag; + int pad; - short mainb, mainbo, mainbuser; /* context tabs */ - short re_align, align; /* align for panels */ - short preview; /* preview is signal to refresh */ - short texture_context; /* texture context selector (material, world, brush)*/ - char flag, pad; + struct bDopeSheet *ads; + View2D v2d DNA_DEPRECATED; /* deprecated, copied to region */ +} SpaceNla; + +/* nla->flag */ +typedef enum eSpaceNla_Flag { + /* flags (1<<0), (1<<1), and (1<<3) are depreceated flags from old verisons */ + + /* draw timing in seconds instead of frames */ + SNLA_DRAWTIME = (1 << 2), + /* don't draw frame number beside frame indicator */ + SNLA_NODRAWCFRANUM = (1 << 4), + /* don't draw influence curves on strips */ + SNLA_NOSTRIPCURVES = (1 << 5), + /* don't perform realtime updates */ + SNLA_NOREALTIMEUPDATES = (1 << 6), +} eSpaceNla_Flag; + + +/* Timeline =============================================== */ + +/* Pointcache drawing data */ +# /* Only store the data array in the cache to avoid constant reallocation. */ +# /* No need to store when saved. */ +typedef struct SpaceTimeCache { + struct SpaceTimeCache *next, *prev; + float *array; +} SpaceTimeCache; + +/* Timeline View */ +typedef struct SpaceTime { + SpaceLink *next, *prev; + ListBase regionbase; /* storage of regions for inactive spaces */ + int spacetype; + float blockscale DNA_DEPRECATED; - void *path; /* runtime */ - int pathflag, dataicon; /* runtime */ - ID *pinid; + View2D v2d DNA_DEPRECATED; /* deprecated, copied to region */ + + ListBase caches; + + int cache_display; + int flag; +} SpaceTime; - void *texuser; -} SpaceButs; +/* time->flag */ +typedef enum eTimeline_Flag { + /* show timing in frames instead of in seconds */ + TIME_DRAWFRAMES = (1 << 0), + /* show time indicator box beside the frame number */ + TIME_CFRA_NUM = (1 << 1), + /* only keyframes from active/selected channels get shown */ + TIME_ONLYACTSEL = (1 << 2), +} eTimeline_Flag; + +/* time->redraws (now screen->redraws_flag) */ +typedef enum eScreen_Redraws_Flag { + TIME_REGION = (1 << 0), + TIME_ALL_3D_WIN = (1 << 1), + TIME_ALL_ANIM_WIN = (1 << 2), + TIME_ALL_BUTS_WIN = (1 << 3), + TIME_WITH_SEQ_AUDIO = (1 << 4), /* DEPRECATED */ + TIME_SEQ = (1 << 5), + TIME_ALL_IMAGE_WIN = (1 << 6), + TIME_CONTINUE_PHYSICS = (1 << 7), + TIME_NODES = (1 << 8), + TIME_CLIPS = (1 << 9), +} eScreen_Redraws_Flag; + +/* time->cache */ +typedef enum eTimeline_Cache_Flag { + TIME_CACHE_DISPLAY = (1 << 0), + TIME_CACHE_SOFTBODY = (1 << 1), + TIME_CACHE_PARTICLES = (1 << 2), + TIME_CACHE_CLOTH = (1 << 3), + TIME_CACHE_SMOKE = (1 << 4), + TIME_CACHE_DYNAMICPAINT = (1 << 5), +} eTimeline_Cache_Flag; + + +/* Sequence Editor ======================================= */ + +/* Sequencer */ typedef struct SpaceSeq { SpaceLink *next, *prev; ListBase regionbase; /* storage of regions for inactive spaces */ @@ -172,6 +474,48 @@ typedef struct SpaceSeq { struct bGPdata *gpd; /* grease-pencil data */ } SpaceSeq; + +/* sseq->mainb */ +typedef enum eSpaceSeq_RegionType { + SEQ_DRAW_SEQUENCE = 0, + SEQ_DRAW_IMG_IMBUF, + SEQ_DRAW_IMG_WAVEFORM, + SEQ_DRAW_IMG_VECTORSCOPE, + SEQ_DRAW_IMG_HISTOGRAM, +} eSpaceSeq_RegionType; + +/* sseq->flag */ +typedef enum eSpaceSeq_Flag { + SEQ_DRAWFRAMES = (1 << 0), + SEQ_MARKER_TRANS = (1 << 1), + SEQ_DRAW_COLOR_SEPARATED = (1 << 2), + SEQ_DRAW_SAFE_MARGINS = (1 << 3), + SEQ_DRAW_GPENCIL = (1 << 4), /* DEPRECATED */ + SEQ_NO_DRAW_CFRANUM = (1 << 5), +} eSpaceSeq_Flag; + +/* sseq->view */ +typedef enum eSpaceSeq_Displays { + SEQ_VIEW_SEQUENCE = 1, + SEQ_VIEW_PREVIEW, + SEQ_VIEW_SEQUENCE_PREVIEW, +} eSpaceSeq_Dispays; + +/* sseq->render_size */ +typedef enum eSpaceSeq_Proxy_RenderSize { + SEQ_PROXY_RENDER_SIZE_NONE = -1, + SEQ_PROXY_RENDER_SIZE_SCENE = 0, + SEQ_PROXY_RENDER_SIZE_25 = 25, + SEQ_PROXY_RENDER_SIZE_50 = 50, + SEQ_PROXY_RENDER_SIZE_75 = 75, + SEQ_PROXY_RENDER_SIZE_100 = 99, + SEQ_PROXY_RENDER_SIZE_FULL = 100 +} eSpaceSeq_Proxy_RenderSize; + + +/* File Selector ========================================== */ + +/* Config and Input for File Selector */ typedef struct FileSelectParams { char title[32]; /* title, also used for the text of the execute button */ char dir[1056]; /* directory, FILE_MAX_LIBEXTRA, 1024 + 32, this is for extreme case when 1023 length path @@ -200,11 +544,12 @@ typedef struct FileSelectParams { /* XXX --- end unused -- */ } FileSelectParams; - +/* File Browser */ typedef struct SpaceFile { SpaceLink *next, *prev; ListBase regionbase; /* storage of regions for inactive spaces */ int spacetype; + int scroll_offset; struct FileSelectParams *params; /* config and input for file select */ @@ -229,26 +574,91 @@ typedef struct SpaceFile { short systemnr, pad2; } SpaceFile; -typedef struct SpaceOops { - SpaceLink *next, *prev; - ListBase regionbase; /* storage of regions for inactive spaces */ - int spacetype; - float blockscale DNA_DEPRECATED; - short blockhandler[8] DNA_DEPRECATED; +/* FileSelectParams.display */ +enum FileDisplayTypeE { + FILE_DEFAULTDISPLAY = 0, + FILE_SHORTDISPLAY, + FILE_LONGDISPLAY, + FILE_IMGDISPLAY +}; - View2D v2d DNA_DEPRECATED; /* deprecated, copied to region */ - - ListBase tree; - struct TreeStore *treestore; - - /* search stuff */ - char search_string[32]; - struct TreeStoreElem search_tse; +/* FileSelectParams.sort */ +enum FileSortTypeE { + FILE_SORT_NONE = 0, + FILE_SORT_ALPHA = 1, + FILE_SORT_EXTENSION, + FILE_SORT_TIME, + FILE_SORT_SIZE +}; - short flag, outlinevis, storeflag, search_flags; -} SpaceOops; +/* these values need to be hardcoded in structs, dna does not recognize defines */ +/* also defined in BKE */ +#define FILE_MAXDIR 768 +#define FILE_MAXFILE 256 +#define FILE_MAX 1024 + +#define FILE_MAX_LIBEXTRA (FILE_MAX + 32) + +/* filesel types */ +#define FILE_UNIX 8 +#define FILE_BLENDER 8 /* don't display relative paths */ +#define FILE_SPECIAL 9 +#define FILE_LOADLIB 1 +#define FILE_MAIN 2 +#define FILE_LOADFONT 3 + +/* filesel op property -> action */ +typedef enum eFileSel_Action { + FILE_OPENFILE = 0, + FILE_SAVE, +} eFileSel_Action; + +/* sfile->params->flag and simasel->flag */ +typedef enum eFileSel_Params_Flag { + FILE_SHOWSHORT = (1 << 0), + FILE_RELPATH = (1 << 1), /* was FILE_STRINGCODE */ + FILE_LINK = (1 << 2), + FILE_HIDE_DOT = (1 << 3), + FILE_AUTOSELECT = (1 << 4), + FILE_ACTIVELAY = (1 << 5), +/* FILE_ATCURSOR = (1 << 6), */ /* deprecated */ + FILE_DIRSEL_ONLY = (1 << 7), + FILE_FILTER = (1 << 8), + FILE_BOOKMARKS = (1 << 9), + FILE_GROUP_INSTANCE = (1 << 10), +} eFileSel_Params_Flag; + + +/* files in filesel list: file types */ +typedef enum eFileSel_File_Types { + BLENDERFILE = (1 << 2), + BLENDERFILE_BACKUP = (1 << 3), + IMAGEFILE = (1 << 4), + MOVIEFILE = (1 << 5), + PYSCRIPTFILE = (1 << 6), + FTFONTFILE = (1 << 7), + SOUNDFILE = (1 << 8), + TEXTFILE = (1 << 9), + MOVIEFILE_ICON = (1 << 10), /* movie file that preview can't load */ + FOLDERFILE = (1 << 11), /* represents folders for filtering */ + BTXFILE = (1 << 12), + COLLADAFILE = (1 << 13), + OPERATORFILE = (1 << 14), /* from filter_glob operator property */ +} eFileSel_File_Types; + +/* Selection Flags in filesel: struct direntry, unsigned char selflag */ +typedef enum eDirEntry_SelectFlag { +/* ACTIVE_FILE = (1 << 1), */ /* UNUSED */ + HILITED_FILE = (1 << 2), + SELECTED_FILE = (1 << 3), + EDITING_FILE = (1 << 4), +} eDirEntry_SelectFlag; + +/* Image/UV Editor ======================================== */ + +/* Image/UV Editor */ typedef struct SpaceImage { SpaceLink *next, *prev; ListBase regionbase; /* storage of regions for inactive spaces */ @@ -280,28 +690,75 @@ typedef struct SpaceImage { char around; } SpaceImage; -typedef struct SpaceNla { - struct SpaceLink *next, *prev; - ListBase regionbase; /* storage of regions for inactive spaces */ - int spacetype; - float blockscale DNA_DEPRECATED; - short blockhandler[8] DNA_DEPRECATED; +/* SpaceImage->dt_uv */ +typedef enum eSpaceImage_UVDT { + SI_UVDT_OUTLINE = 0, + SI_UVDT_DASH, + SI_UVDT_BLACK, + SI_UVDT_WHITE, +} eSpaceImage_UVDT; - short autosnap; /* this uses the same settings as autosnap for Action Editor */ - short flag; - int pad; +/* SpaceImage->dt_uvstretch */ +typedef enum eSpaceImage_UVDT_Stretch { + SI_UVDT_STRETCH_ANGLE = 0, + SI_UVDT_STRETCH_AREA, +} eSpaceImage_UVDT_Stretch; + +/* SpaceImage->sticky + * Note DISABLE should be 0, however would also need to re-arrange icon order, + * also, sticky loc is the default mode so this means we don't need to 'do_versons' */ +typedef enum eSpaceImage_Sticky { + SI_STICKY_LOC = 0, + SI_STICKY_DISABLE = 1, + SI_STICKY_VERTEX = 2, +} eSpaceImage_Sticky; + +/* SpaceImage->flag */ +typedef enum eSpaceImage_Flag { + SI_BE_SQUARE = (1 << 0), + SI_EDITTILE = (1 << 1), + SI_CLIP_UV = (1 << 2), + SI_DRAWTOOL = (1 << 3), + SI_NO_DRAWFACES = (1 << 4), + SI_DRAWSHADOW = (1 << 5), +/* SI_SELACTFACE = (1 << 6), */ /* deprecated */ + SI_DEPRECATED2 = (1 << 7), + SI_DEPRECATED3 = (1 << 8), /* stick UV selection to mesh vertex (UVs wont always be touching) */ + SI_COORDFLOATS = (1 << 9), + SI_PIXELSNAP = (1 << 10), + SI_LIVE_UNWRAP = (1 << 11), + SI_USE_ALPHA = (1 << 12), + SI_SHOW_ALPHA = (1 << 13), + SI_SHOW_ZBUF = (1 << 14), - struct bDopeSheet *ads; - View2D v2d DNA_DEPRECATED; /* deprecated, copied to region */ -} SpaceNla; + /* next two for render window display */ + SI_PREVSPACE = (1 << 15), + SI_FULLWINDOW = (1 << 16), + + SI_DEPRECATED4 = (1 << 17), + SI_DEPRECATED5 = (1 << 18), + + /* this means that the image is drawn until it reaches the view edge, + * in the image view, its unrelated to the 'tile' mode for texface + */ + SI_DRAW_TILE = (1 << 19), + SI_SMOOTH_UV = (1 << 20), + SI_DRAW_STRETCH = (1 << 21), + SI_DISPGP = (1 << 22), /* DEPRECATED */ + SI_DRAW_OTHER = (1 << 23), + + SI_COLOR_CORRECTION = (1 << 24), +} eSpaceImage_Flag; + +/* Text Editor ============================================ */ +/* Text Editor */ typedef struct SpaceText { SpaceLink *next, *prev; ListBase regionbase; /* storage of regions for inactive spaces */ int spacetype; float blockscale DNA_DEPRECATED; - short blockhandler[8] DNA_DEPRECATED; struct Text *text; @@ -334,6 +791,26 @@ typedef struct SpaceText { void *drawcache; /* cache for faster drawing */ } SpaceText; + +/* SpaceText flags (moved from DNA_text_types.h) */ +typedef enum eSpaceText_Flags { + /* scrollable */ + ST_SCROLL_SELECT = (1 << 0), + /* clear namespace after script execution (BPY_main.c) */ + ST_CLEAR_NAMESPACE = (1 << 4), + + ST_FIND_WRAP = (1 << 5), + ST_FIND_ALL = (1 << 6), + ST_SHOW_MARGIN = (1 << 7), + ST_MATCH_CASE = (1 << 8), +} eSpaceText_Flags; + +/* stext->findstr/replacestr */ +#define ST_MAX_FIND_STR 256 + +/* Script View (Obsolete) ================================== */ + +/* Script Runtime Data - Obsolete (pre 2.5) */ typedef struct Script { ID id; @@ -350,6 +827,7 @@ typedef struct Script { } Script; #define SCRIPT_SET_NULL(_script) _script->py_draw = _script->py_event = _script->py_button = _script->py_browsercallback = _script->py_globaldict = NULL; _script->flags = 0 +/* Script View - Obsolete (pre 2.5) */ typedef struct SpaceScript { SpaceLink *next, *prev; ListBase regionbase; /* storage of regions for inactive spaces */ @@ -363,33 +841,14 @@ typedef struct SpaceScript { void *but_refs; } SpaceScript; -# /* Only store the data array in the cache to avoid constant reallocation. */ -# /* No need to store when saved. */ -typedef struct SpaceTimeCache { - struct SpaceTimeCache *next, *prev; - float *array; -} SpaceTimeCache; - -typedef struct SpaceTime { - SpaceLink *next, *prev; - ListBase regionbase; /* storage of regions for inactive spaces */ - int spacetype; - float blockscale DNA_DEPRECATED; - - View2D v2d DNA_DEPRECATED; /* deprecated, copied to region */ - - ListBase caches; - - int cache_display; - int flag; -} SpaceTime; +/* Nodes Editor =========================================== */ +/* Node Editor */ typedef struct SpaceNode { SpaceLink *next, *prev; ListBase regionbase; /* storage of regions for inactive spaces */ int spacetype; float blockscale DNA_DEPRECATED; - short blockhandler[8] DNA_DEPRECATED; View2D v2d DNA_DEPRECATED; /* deprecated, copied to region */ @@ -414,21 +873,30 @@ typedef struct SpaceNode { } SpaceNode; /* snode->flag */ -#define SNODE_BACKDRAW 2 -#define SNODE_DISPGP 4 -#define SNODE_USE_ALPHA 8 -#define SNODE_SHOW_ALPHA 16 -#define SNODE_AUTO_RENDER 32 +typedef enum eSpaceNode_Flag { + SNODE_BACKDRAW = (1 << 1), + SNODE_DISPGP = (1 << 2), /* XXX: Grease Pencil - deprecated? */ + SNODE_USE_ALPHA = (1 << 3), + SNODE_SHOW_ALPHA = (1 << 4), + SNODE_AUTO_RENDER = (1 << 5), +} eSpaceNode_Flag; /* snode->texfrom */ -#define SNODE_TEX_OBJECT 0 -#define SNODE_TEX_WORLD 1 -#define SNODE_TEX_BRUSH 2 +typedef enum eSpaceNode_TexFrom { + SNODE_TEX_OBJECT = 0, + SNODE_TEX_WORLD, + SNODE_TEX_BRUSH, +} eSpaceNode_TexFrom; /* snode->shaderfrom */ -#define SNODE_SHADER_OBJECT 0 -#define SNODE_SHADER_WORLD 1 +typedef enum eSpaceNode_ShaderFrom { + SNODE_SHADER_OBJECT = 0, + SNODE_SHADER_WORLD, +} eSpaceNode_ShaderFrom; + +/* Game Logic Editor ===================================== */ +/* Logic Editor */ typedef struct SpaceLogic { SpaceLink *next, *prev; ListBase regionbase; /* storage of regions for inactive spaces */ @@ -443,6 +911,9 @@ typedef struct SpaceLogic { struct bGPdata *gpd; /* grease-pencil data */ } SpaceLogic; +/* Console ================================================ */ + +/* Console content */ typedef struct ConsoleLine { struct ConsoleLine *next, *prev; @@ -456,19 +927,20 @@ typedef struct ConsoleLine { } ConsoleLine; /* ConsoleLine.type */ -enum { - CONSOLE_LINE_OUTPUT=0, +typedef enum eConsoleLine_Type { + CONSOLE_LINE_OUTPUT = 0, CONSOLE_LINE_INPUT, CONSOLE_LINE_INFO, /* autocomp feedback */ CONSOLE_LINE_ERROR -}; +} eConsoleLine_Type; + +/* Console View */ typedef struct SpaceConsole { SpaceLink *next, *prev; ListBase regionbase; /* storage of regions for inactive spaces */ int spacetype; float blockscale DNA_DEPRECATED; // XXX are these needed? - short blockhandler[8] DNA_DEPRECATED; // XXX are these needed? /* space vars */ @@ -483,17 +955,23 @@ typedef struct SpaceConsole { int sel_end; } SpaceConsole; + +/* User Preferences ======================================= */ + +/* User Preferences View */ typedef struct SpaceUserPref { SpaceLink *next, *prev; ListBase regionbase; /* storage of regions for inactive spaces */ int spacetype; - + int pad; char filter[64]; /* search term for filtering in the UI */ - } SpaceUserPref; +/* Motion Tracking ======================================== */ + +/* Clip Editor */ typedef struct SpaceClip { SpaceLink *next, *prev; ListBase regionbase; /* storage of regions for inactive spaces */ @@ -531,408 +1009,65 @@ typedef struct SpaceClip { int pad3; } SpaceClip; -/* view3d Now in DNA_view3d_types.h */ - - - -/* **************** SPACE DEFINES ********************* */ - -/* button defines (deprecated) */ -/* warning: the values of these defines are used in sbuts->tabs[8] */ -/* sbuts->mainb new */ -#define CONTEXT_SCENE 0 -#define CONTEXT_OBJECT 1 -#define CONTEXT_TYPES 2 -#define CONTEXT_SHADING 3 -#define CONTEXT_EDITING 4 -#define CONTEXT_SCRIPT 5 -#define CONTEXT_LOGIC 6 - -/* sbuts->mainb old (deprecated) */ -#define BUTS_VIEW 0 -#define BUTS_LAMP 1 -#define BUTS_MAT 2 -#define BUTS_TEX 3 -#define BUTS_ANIM 4 -#define BUTS_WORLD 5 -#define BUTS_RENDER 6 -#define BUTS_EDIT 7 -#define BUTS_GAME 8 -#define BUTS_FPAINT 9 -#define BUTS_RADIO 10 -#define BUTS_SCRIPT 11 -#define BUTS_SOUND 12 -#define BUTS_CONSTRAINT 13 -#define BUTS_EFFECTS 14 - -/* buts->mainb new */ -#define BCONTEXT_RENDER 0 -#define BCONTEXT_SCENE 1 -#define BCONTEXT_WORLD 2 -#define BCONTEXT_OBJECT 3 -#define BCONTEXT_DATA 4 -#define BCONTEXT_MATERIAL 5 -#define BCONTEXT_TEXTURE 6 -#define BCONTEXT_PARTICLE 7 -#define BCONTEXT_PHYSICS 8 -#define BCONTEXT_BONE 9 -#define BCONTEXT_MODIFIER 10 -#define BCONTEXT_CONSTRAINT 12 -#define BCONTEXT_BONE_CONSTRAINT 13 -#define BCONTEXT_TOT 14 - -/* sbuts->flag */ -#define SB_PRV_OSA 1 -#define SB_PIN_CONTEXT 2 -//#define SB_WORLD_TEX 4 //not used anymore -//#define SB_BRUSH_TEX 8 //not used anymore -#define SB_SHADING_CONTEXT 16 - -/* sbuts->texture_context */ -#define SB_TEXC_MAT_OR_LAMP 0 -#define SB_TEXC_WORLD 1 -#define SB_TEXC_BRUSH 2 -#define SB_TEXC_PARTICLES 3 - -/* sbuts->align */ -#define BUT_FREE 0 -#define BUT_HORIZONTAL 1 -#define BUT_VERTICAL 2 -#define BUT_AUTO 3 - -/* sbuts->scaflag */ -#define BUTS_SENS_SEL 1 -#define BUTS_SENS_ACT 2 -#define BUTS_SENS_LINK 4 -#define BUTS_CONT_SEL 8 -#define BUTS_CONT_ACT 16 -#define BUTS_CONT_LINK 32 -#define BUTS_ACT_SEL 64 -#define BUTS_ACT_ACT 128 -#define BUTS_ACT_LINK 256 -#define BUTS_SENS_STATE 512 -#define BUTS_ACT_STATE 1024 -#define BUTS_CONT_INIT_STATE 2048 - -/* FileSelectParams.display */ -enum FileDisplayTypeE { - FILE_DEFAULTDISPLAY = 0, - FILE_SHORTDISPLAY, - FILE_LONGDISPLAY, - FILE_IMGDISPLAY -}; - -/* FileSelectParams.sort */ -enum FileSortTypeE { - FILE_SORT_NONE = 0, - FILE_SORT_ALPHA = 1, - FILE_SORT_EXTENSION, - FILE_SORT_TIME, - FILE_SORT_SIZE -}; - -/* these values need to be hardcoded in structs, dna does not recognize defines */ -/* also defined in BKE */ -#define FILE_MAXDIR 768 -#define FILE_MAXFILE 256 -#define FILE_MAX 1024 - -#define FILE_MAX_LIBEXTRA (FILE_MAX + 32) - -/* filesel types */ -#define FILE_UNIX 8 -#define FILE_BLENDER 8 /* don't display relative paths */ -#define FILE_SPECIAL 9 - -#define FILE_LOADLIB 1 -#define FILE_MAIN 2 -#define FILE_LOADFONT 3 -/* filesel op property -> action */ -#define FILE_OPENFILE 0 -#define FILE_SAVE 1 - -/* sfile->params->flag and simasel->flag */ -#define FILE_SHOWSHORT (1<<0) -#define FILE_RELPATH (1<<1) /* was FILE_STRINGCODE */ -#define FILE_LINK (1<<2) -#define FILE_HIDE_DOT (1<<3) -#define FILE_AUTOSELECT (1<<4) -#define FILE_ACTIVELAY (1<<5) -/* #define FILE_ATCURSOR (1<<6) */ /* deprecated */ -#define FILE_DIRSEL_ONLY (1<<7) -#define FILE_FILTER (1<<8) -#define FILE_BOOKMARKS (1<<9) -#define FILE_GROUP_INSTANCE (1<<10) - - -/* files in filesel list: file types */ -#define BLENDERFILE (1<<2) -#define BLENDERFILE_BACKUP (1<<3) -#define IMAGEFILE (1<<4) -#define MOVIEFILE (1<<5) -#define PYSCRIPTFILE (1<<6) -#define FTFONTFILE (1<<7) -#define SOUNDFILE (1<<8) -#define TEXTFILE (1<<9) -#define MOVIEFILE_ICON (1<<10) /* movie file that preview can't load */ -#define FOLDERFILE (1<<11) /* represents folders for filtering */ -#define BTXFILE (1<<12) -#define COLLADAFILE (1<<13) -#define OPERATORFILE (1<<14) /* from filter_glob operator property */ - - -/* Selection Flags in filesel: struct direntry, unsigned char selflag */ -/* #define ACTIVE_FILE (1<<1) */ /* UNUSED */ -#define HILITED_FILE (1<<2) -#define SELECTED_FILE (1<<3) -#define EDITING_FILE (1<<4) - -/* SpaceImage->dt_uv */ -#define SI_UVDT_OUTLINE 0 -#define SI_UVDT_DASH 1 -#define SI_UVDT_BLACK 2 -#define SI_UVDT_WHITE 3 - -/* SpaceImage->dt_uvstretch */ -#define SI_UVDT_STRETCH_ANGLE 0 -#define SI_UVDT_STRETCH_AREA 1 - -/* SpaceImage->sticky - * Note DISABLE should be 0, however would also need to re-arrange icon order, - * also, sticky loc is the default mode so this means we don't need to 'do_versons' */ -#define SI_STICKY_LOC 0 -#define SI_STICKY_DISABLE 1 -#define SI_STICKY_VERTEX 2 - -/* SpaceImage->flag */ -#define SI_BE_SQUARE (1<<0) -#define SI_EDITTILE (1<<1) -#define SI_CLIP_UV (1<<2) -#define SI_DRAWTOOL (1<<3) -#define SI_NO_DRAWFACES (1<<4) -#define SI_DRAWSHADOW (1<<5) -/* #define SI_SELACTFACE (1<<6) */ /* deprecated */ -#define SI_DEPRECATED2 (1<<7) -#define SI_DEPRECATED3 (1<<8) /* stick UV selection to mesh vertex (UVs wont always be touching) */ -#define SI_COORDFLOATS (1<<9) -#define SI_PIXELSNAP (1<<10) -#define SI_LIVE_UNWRAP (1<<11) -#define SI_USE_ALPHA (1<<12) -#define SI_SHOW_ALPHA (1<<13) -#define SI_SHOW_ZBUF (1<<14) - /* next two for render window dislay */ -#define SI_PREVSPACE (1<<15) -#define SI_FULLWINDOW (1<<16) -#define SI_DEPRECATED4 (1<<17) -#define SI_DEPRECATED5 (1<<18) - /* this means that the image is drawn until it reaches the view edge, - * in the image view, its unrelated to the 'tile' mode for texface */ -#define SI_DRAW_TILE (1<<19) -#define SI_SMOOTH_UV (1<<20) -#define SI_DRAW_STRETCH (1<<21) -#define SI_DISPGP (1<<22) -#define SI_DRAW_OTHER (1<<23) - -#define SI_COLOR_CORRECTION (1<<24) - -/* SpaceIpo->flag (Graph Editor Settings) */ - /* OLD DEPRECEATED SETTING */ -#define SIPO_LOCK_VIEW (1<<0) - /* don't merge keyframes on the same frame after a transform */ -#define SIPO_NOTRANSKEYCULL (1<<1) - /* don't show any keyframe handles at all */ -#define SIPO_NOHANDLES (1<<2) - /* don't show current frame number beside indicator line */ -#define SIPO_NODRAWCFRANUM (1<<3) - /* show timing in seconds instead of frames */ -#define SIPO_DRAWTIME (1<<4) - /* only show keyframes for selected F-Curves */ -#define SIPO_SELCUVERTSONLY (1<<5) - /* draw names of F-Curves beside the respective curves */ - /* NOTE: currently not used */ -#define SIPO_DRAWNAMES (1<<6) - /* show sliders in channels list */ -#define SIPO_SLIDERS (1<<7) - /* don't show the horizontal component of the cursor */ -#define SIPO_NODRAWCURSOR (1<<8) - /* only show handles of selected keyframes */ -#define SIPO_SELVHANDLESONLY (1<<9) - /* temporary flag to force channel selections to be synced with main */ -#define SIPO_TEMP_NEEDCHANSYNC (1<<10) - /* don't perform realtime updates */ -#define SIPO_NOREALTIMEUPDATES (1<<11) - /* don't draw curves with AA ("beauty-draw") for performance */ -#define SIPO_BEAUTYDRAW_OFF (1<<12) - -/* SpaceIpo->mode (Graph Editor Mode) */ -enum { - /* all animation curves (from all over Blender) */ - SIPO_MODE_ANIMATION = 0, - /* drivers only */ - SIPO_MODE_DRIVERS, -} eGraphEdit_Mode; - -/* SpaceText flags (moved from DNA_text_types.h) */ - -#define ST_SCROLL_SELECT 0x0001 // scrollable -#define ST_CLEAR_NAMESPACE 0x0010 // clear namespace after script - // execution (see BPY_main.c) -#define ST_FIND_WRAP 0x0020 -#define ST_FIND_ALL 0x0040 -#define ST_SHOW_MARGIN 0x0080 -#define ST_MATCH_CASE 0x0100 - +/* SpaceClip->flag */ +typedef enum eSpaceClip_Flag { + SC_SHOW_MARKER_PATTERN = (1 << 0), + SC_SHOW_MARKER_SEARCH = (1 << 1), + SC_LOCK_SELECTION = (1 << 2), + SC_SHOW_TINY_MARKER = (1 << 3), + SC_SHOW_TRACK_PATH = (1 << 4), + SC_SHOW_BUNDLES = (1 << 5), + SC_MUTE_FOOTAGE = (1 << 6), + SC_HIDE_DISABLED = (1 << 7), + SC_SHOW_NAMES = (1 << 8), + SC_SHOW_GRID = (1 << 9), + SC_SHOW_STABLE = (1 << 10), + SC_MANUAL_CALIBRATION = (1 << 11), +/* SC_SHOW_GPENCIL = (1 << 12),*/ /* UNUSED */ + SC_SHOW_FILTERS = (1 << 13), + SC_SHOW_GRAPH_FRAMES = (1 << 14), + SC_SHOW_GRAPH_TRACKS = (1 << 15), +/* SC_SHOW_PYRAMID_LEVELS = (1 << 16), */ /* UNUSED */ + SC_LOCK_TIMECURSOR = (1 << 17), + SC_SHOW_SECONDS = (1 << 18), +} eSpaceClip_Flag; -/* stext->findstr/replacestr */ -#define ST_MAX_FIND_STR 256 +/* SpaceClip->mode */ +typedef enum eSpaceClip_Mode { + SC_MODE_TRACKING = 0, + SC_MODE_RECONSTRUCTION, + SC_MODE_DISTORTION, +} eSpaceClip_Mode; -/* SpaceOops->flag */ -#define SO_TESTBLOCKS 1 -#define SO_NEWSELECTED 2 -#define SO_HIDE_RESTRICTCOLS 4 -#define SO_HIDE_KEYINGSETINFO 8 +/* SpaceClip->view */ +typedef enum eSpaceClip_View { + SC_VIEW_CLIP = 0, + SC_VIEW_GRAPH, + SC_VIEW_DOPESHEET, +} eSpaceClip_View; -/* SpaceOops->outlinevis */ -#define SO_ALL_SCENES 0 -#define SO_CUR_SCENE 1 -#define SO_VISIBLE 2 -#define SO_SELECTED 3 -#define SO_ACTIVE 4 -#define SO_SAME_TYPE 5 -#define SO_GROUPS 6 -#define SO_LIBRARIES 7 -#define SO_VERSE_SESSION 8 -#define SO_VERSE_MS 9 -#define SO_SEQUENCE 10 -#define SO_DATABLOCKS 11 -#define SO_USERDEF 12 -#define SO_KEYMAP 13 +/* SpaceClip->dope_sort */ +typedef enum eSpaceClip_Dopesheet_Sort { + SC_DOPE_SORT_NAME = 0, + SC_DOPE_SORT_LONGEST, + SC_DOPE_SORT_TOTAL, +} eSpaceClip_Dopesheet_Sort; -/* SpaceOops->storeflag */ -#define SO_TREESTORE_CLEANUP 1 - /* if set, it allows redraws. gets set for some allqueue events */ -#define SO_TREESTORE_REDRAW 2 +/* SpaceClip->dope_flag */ +typedef enum eSpaceClip_Dopesheet_Flag { + SC_DOPE_SORT_INVERSE = (1 << 0), +} eSpaceClip_Dopesheet_Flag; -/* outliner search flags (SpaceOops->search_flags) */ -#define SO_FIND_CASE_SENSITIVE (1<<0) -#define SO_FIND_COMPLETE (1<<1) -#define SO_SEARCH_RECURSIVE (1<<2) +/* **************** SPACE DEFINES ********************* */ /* headerbuttons: 450-499 */ - #define B_IMASELHOME 451 #define B_IMASELREMOVEBIP 452 -/* nla->flag */ -/* flags (1<<0), (1<<1), and (1<<3) are depreceated flags from old blenders */ - /* draw timing in seconds instead of frames */ -#define SNLA_DRAWTIME (1<<2) - /* don't draw frame number beside frame indicator */ -#define SNLA_NODRAWCFRANUM (1<<4) - /* don't draw influence curves on strips */ -#define SNLA_NOSTRIPCURVES (1<<5) - /* don't perform realtime updates */ -#define SNLA_NOREALTIMEUPDATES (1<<6) - -/* time->flag */ - /* show timing in frames instead of in seconds */ -#define TIME_DRAWFRAMES 1 - /* show time indicator box beside the frame number */ -#define TIME_CFRA_NUM 2 - /* only keyframes from active/selected channels get shown */ -#define TIME_ONLYACTSEL 4 - -/* time->redraws (now screen->redraws_flag) */ -#define TIME_REGION 1 -#define TIME_ALL_3D_WIN 2 -#define TIME_ALL_ANIM_WIN 4 -#define TIME_ALL_BUTS_WIN 8 -#define TIME_WITH_SEQ_AUDIO 16 // deprecated -#define TIME_SEQ 32 -#define TIME_ALL_IMAGE_WIN 64 -#define TIME_CONTINUE_PHYSICS 128 -#define TIME_NODES 256 -#define TIME_CLIPS 512 - -/* time->cache */ -#define TIME_CACHE_DISPLAY 1 -#define TIME_CACHE_SOFTBODY 2 -#define TIME_CACHE_PARTICLES 4 -#define TIME_CACHE_CLOTH 8 -#define TIME_CACHE_SMOKE 16 -#define TIME_CACHE_DYNAMICPAINT 32 - -/* sseq->mainb */ -#define SEQ_DRAW_SEQUENCE 0 -#define SEQ_DRAW_IMG_IMBUF 1 -#define SEQ_DRAW_IMG_WAVEFORM 2 -#define SEQ_DRAW_IMG_VECTORSCOPE 3 -#define SEQ_DRAW_IMG_HISTOGRAM 4 - -/* sseq->flag */ -#define SEQ_DRAWFRAMES 1 -#define SEQ_MARKER_TRANS 2 -#define SEQ_DRAW_COLOR_SEPARATED 4 -#define SEQ_DRAW_SAFE_MARGINS 8 -#define SEQ_DRAW_GPENCIL 16 -#define SEQ_NO_DRAW_CFRANUM 32 - -/* sseq->view */ -#define SEQ_VIEW_SEQUENCE 1 -#define SEQ_VIEW_PREVIEW 2 -#define SEQ_VIEW_SEQUENCE_PREVIEW 3 - -/* sseq->render_size */ -#define SEQ_PROXY_RENDER_SIZE_NONE -1 -#define SEQ_PROXY_RENDER_SIZE_SCENE 0 -#define SEQ_PROXY_RENDER_SIZE_25 25 -#define SEQ_PROXY_RENDER_SIZE_50 50 -#define SEQ_PROXY_RENDER_SIZE_75 75 -#define SEQ_PROXY_RENDER_SIZE_100 99 -#define SEQ_PROXY_RENDER_SIZE_FULL 100 - -/* SpaceClip->flag */ -#define SC_SHOW_MARKER_PATTERN (1<<0) -#define SC_SHOW_MARKER_SEARCH (1<<1) -#define SC_LOCK_SELECTION (1<<2) -#define SC_SHOW_TINY_MARKER (1<<3) -#define SC_SHOW_TRACK_PATH (1<<4) -#define SC_SHOW_BUNDLES (1<<5) -#define SC_MUTE_FOOTAGE (1<<6) -#define SC_HIDE_DISABLED (1<<7) -#define SC_SHOW_NAMES (1<<8) -#define SC_SHOW_GRID (1<<9) -#define SC_SHOW_STABLE (1<<10) -#define SC_MANUAL_CALIBRATION (1<<11) -/*#define SC_SHOW_GPENCIL (1<<12)*/ /* UNUSED */ -#define SC_SHOW_FILTERS (1<<13) -#define SC_SHOW_GRAPH_FRAMES (1<<14) -#define SC_SHOW_GRAPH_TRACKS (1<<15) -/*#define SC_SHOW_PYRAMID_LEVELS (1<<16) */ /* UNUSED */ -#define SC_LOCK_TIMECURSOR (1<<17) -#define SC_SHOW_SECONDS (1<<18) - -/* SpaceClip->mode */ -#define SC_MODE_TRACKING 0 -#define SC_MODE_RECONSTRUCTION 1 -#define SC_MODE_DISTORTION 2 - -/* SpaceClip->view */ -#define SC_VIEW_CLIP 0 -#define SC_VIEW_GRAPH 1 -#define SC_VIEW_DOPESHEET 2 - -/* SpaceClip->dope_sort */ -#define SC_DOPE_SORT_NAME 0 -#define SC_DOPE_SORT_LONGEST 1 -#define SC_DOPE_SORT_TOTAL 2 - -/* SpaceClip->dope_flag */ -#define SC_DOPE_SORT_INVERSE 1 /* space types, moved from DNA_screen_types.h */ /* Do NOT change order, append on end. types are hardcoded needed */ -enum { +typedef enum eSpace_Type { SPACE_EMPTY, SPACE_VIEW3D, SPACE_IPO, @@ -954,7 +1089,8 @@ enum { SPACE_CONSOLE, SPACE_USERPREF, SPACE_CLIP, + SPACEICONMAX = SPACE_CLIP -}; +} eSpace_Type; #endif diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h index 9f8409e4e79..fb490a72370 100644 --- a/source/blender/makesdna/DNA_userdef_types.h +++ b/source/blender/makesdna/DNA_userdef_types.h @@ -262,6 +262,10 @@ typedef struct ThemeSpace { char match[4]; /* outliner - filter match */ char selected_highlight[4]; /* outliner - selected item */ + + char skin_root[4]; /* Skin modifier root color */ + + int pad4; } ThemeSpace; diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h index fb4d4202b31..e89cc751a69 100644 --- a/source/blender/makesdna/DNA_view3d_types.h +++ b/source/blender/makesdna/DNA_view3d_types.h @@ -266,6 +266,7 @@ typedef struct View3D { #define V3D_SHOW_RECONSTRUCTION 128 #define V3D_SHOW_CAMERAPATH 256 #define V3D_SHOW_BUNDLENAME 512 +#define V3D_BACKFACE_CULLING 1024 /* View3D->around */ #define V3D_CENTER 0 diff --git a/source/blender/makesdna/intern/dna_genfile.c b/source/blender/makesdna/intern/dna_genfile.c index 80c80d02e06..231dd521f07 100644 --- a/source/blender/makesdna/intern/dna_genfile.c +++ b/source/blender/makesdna/intern/dna_genfile.c @@ -952,7 +952,7 @@ static void reconstruct_struct(SDNA *newsdna, SDNA *oldsdna, elen = elementsize(newsdna, spc[0], spc[1]); /* test: is type a struct? */ - if (spc[0] >= firststructtypenr && !ispointer(name)) { + if (spc[0] >= firststructtypenr && !ispointer(name)) { /* where does the old struct data start (and is there an old one?) */ cpo = find_elem(oldsdna, type, name, spo, data, &sppo); @@ -1020,7 +1020,7 @@ void DNA_struct_switch_endian(SDNA *oldsdna, int oldSDNAnr, char *data) elen = elementsize(oldsdna, spc[0], spc[1]); /* test: is type a struct? */ - if (spc[0] >= firststructtypenr && !ispointer(name)) { + if (spc[0] >= firststructtypenr && !ispointer(name)) { /* where does the old data start (is there one?) */ cpo = find_elem(oldsdna, type, name, spo, data, NULL); if (cpo) { diff --git a/source/blender/makesdna/intern/makesdna.c b/source/blender/makesdna/intern/makesdna.c index 58880be6f5f..bea9916c704 100644 --- a/source/blender/makesdna/intern/makesdna.c +++ b/source/blender/makesdna/intern/makesdna.c @@ -146,7 +146,7 @@ static int nr_structs = 0; static char **names, *namedata; /* at address names[a] is string a */ static char **types, *typedata; /* at address types[a] is string a */ static short *typelens; /* at typelens[a] is de length of type a */ -static short *alphalens; /* contains sizes as they are calculated on the DEC Alpha (64 bits), infact any 64bit system */ +static short *alphalens; /* contains sizes as they are calculated on the DEC Alpha (64 bits), in fact any 64bit system */ static short **structs, *structdata; /* at sp= structs[a] is the first address of a struct definition * sp[0] is type number * sp[1] is amount of elements @@ -287,7 +287,7 @@ static int add_name(const char *str) additional_slen_offset = 0; - if (str[0] == 0 /* || (str[1]==0) */) return -1; + if (str[0] == 0 /* || (str[1] == 0) */) return -1; if (str[0] == '(' && str[1] == '*') { /* we handle function pointer and special array cases here, e.g. diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h index cf4c8a4c394..68c0829d2cf 100644 --- a/source/blender/makesrna/RNA_access.h +++ b/source/blender/makesrna/RNA_access.h @@ -353,6 +353,8 @@ extern StructRNA RNA_MeshFloatProperty; extern StructRNA RNA_MeshFloatPropertyLayer; extern StructRNA RNA_MeshIntProperty; extern StructRNA RNA_MeshIntPropertyLayer; +extern StructRNA RNA_MeshSkinVertexLayer; +extern StructRNA RNA_MeshSkinVertex; extern StructRNA RNA_MeshSticky; extern StructRNA RNA_MeshStringProperty; extern StructRNA RNA_MeshStringPropertyLayer; @@ -499,6 +501,7 @@ extern StructRNA RNA_ShapeKeyPoint; extern StructRNA RNA_ShrinkwrapConstraint; extern StructRNA RNA_ShrinkwrapModifier; extern StructRNA RNA_SimpleDeformModifier; +extern StructRNA RNA_SkinModifier; extern StructRNA RNA_SmokeCollSettings; extern StructRNA RNA_SmokeDomainSettings; extern StructRNA RNA_SmokeFlowSettings; diff --git a/source/blender/makesrna/RNA_enum_types.h b/source/blender/makesrna/RNA_enum_types.h index ff9929aea9a..9e109487d65 100644 --- a/source/blender/makesrna/RNA_enum_types.h +++ b/source/blender/makesrna/RNA_enum_types.h @@ -55,11 +55,15 @@ extern EnumPropertyItem image_type_items[]; extern EnumPropertyItem image_color_mode_items[]; extern EnumPropertyItem image_depth_mode_items[]; +extern EnumPropertyItem color_sets_items[]; + extern EnumPropertyItem beztriple_keyframe_type_items[]; extern EnumPropertyItem beztriple_handle_type_items[]; extern EnumPropertyItem beztriple_interpolation_mode_items[]; extern EnumPropertyItem keyframe_handle_type_items[]; +extern EnumPropertyItem keyblock_type_items[]; + extern EnumPropertyItem keyingset_path_grouping_items[]; extern EnumPropertyItem keyframe_paste_offset_items[]; diff --git a/source/blender/makesrna/intern/makesrna.c b/source/blender/makesrna/intern/makesrna.c index e83173eb8bc..1452616bcf9 100644 --- a/source/blender/makesrna/intern/makesrna.c +++ b/source/blender/makesrna/intern/makesrna.c @@ -420,7 +420,8 @@ static const char *rna_parameter_type_name(PropertyRNA *parm) return type; switch (parm->type) { - case PROP_POINTER: { + case PROP_POINTER: + { PointerPropertyRNA *pparm = (PointerPropertyRNA *)parm; if (parm->flag & PROP_RNAPTR) @@ -428,7 +429,8 @@ static const char *rna_parameter_type_name(PropertyRNA *parm) else return rna_find_dna_type((const char *)pparm->type); } - case PROP_COLLECTION: { + case PROP_COLLECTION: + { return "ListBase"; } default: @@ -819,7 +821,7 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr if (prop->flag & PROP_ID_SELF_CHECK) { rna_print_id_get(f, dp); - fprintf(f, " if (id==value.data) return;\n\n"); + fprintf(f, " if (id == value.data) return;\n\n"); } if (prop->flag & PROP_ID_REFCOUNT) { diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c index 70f6afd664d..7676f4a5866 100644 --- a/source/blender/makesrna/intern/rna_access.c +++ b/source/blender/makesrna/intern/rna_access.c @@ -4793,7 +4793,8 @@ char *RNA_property_as_string(bContext *C, PointerRNA *ptr, PropertyRNA *prop) BLI_dynstr_append(dynstr, "["); for (RNA_property_collection_begin(ptr, prop, &collect_iter); collect_iter.valid; - RNA_property_collection_next(&collect_iter)) { + RNA_property_collection_next(&collect_iter)) + { PointerRNA itemptr = collect_iter.ptr; if (first_time == 0) diff --git a/source/blender/makesrna/intern/rna_action.c b/source/blender/makesrna/intern/rna_action.c index 5c9457bb8e2..49c459adc76 100644 --- a/source/blender/makesrna/intern/rna_action.c +++ b/source/blender/makesrna/intern/rna_action.c @@ -486,10 +486,8 @@ static void rna_def_action_group(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Expanded", "Action Group is expanded"); RNA_def_property_update(prop, NC_ANIMATION | ND_ANIMCHAN | NA_EDITED, NULL); - prop = RNA_def_property(srna, "custom_color", PROP_INT, PROP_NONE); - RNA_def_property_int_sdna(prop, NULL, "customCol"); - RNA_def_property_ui_text(prop, "Custom Color", "Index of custom color set"); - RNA_def_property_update(prop, NC_ANIMATION | ND_ANIMCHAN | NA_EDITED, NULL); + /* color set */ + rna_def_actionbone_group_common(srna, NC_ANIMATION | ND_ANIMCHAN | NA_EDITED, NULL); } /* fcurve.keyframe_points */ diff --git a/source/blender/makesrna/intern/rna_dynamicpaint.c b/source/blender/makesrna/intern/rna_dynamicpaint.c index a38c769c26a..4bfcabc935b 100644 --- a/source/blender/makesrna/intern/rna_dynamicpaint.c +++ b/source/blender/makesrna/intern/rna_dynamicpaint.c @@ -243,7 +243,8 @@ static EnumPropertyItem *rna_DynamicPaint_surface_type_itemf(bContext *C, Pointe /* Displace */ if (surface->format == MOD_DPAINT_SURFACE_F_VERTEX || - surface->format == MOD_DPAINT_SURFACE_F_IMAGESEQ) { + surface->format == MOD_DPAINT_SURFACE_F_IMAGESEQ) + { tmp.value = MOD_DPAINT_SURFACE_T_DISPLACE; tmp.identifier = "DISPLACE"; tmp.name = "Displace"; diff --git a/source/blender/makesrna/intern/rna_image.c b/source/blender/makesrna/intern/rna_image.c index b022da97630..03e446c9d91 100644 --- a/source/blender/makesrna/intern/rna_image.c +++ b/source/blender/makesrna/intern/rna_image.c @@ -53,6 +53,7 @@ static EnumPropertyItem image_source_items[] = { #ifdef RNA_RUNTIME +#include "IMB_imbuf.h" #include "IMB_imbuf_types.h" static void rna_Image_animated_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr) @@ -287,6 +288,15 @@ static int rna_Image_depth_get(PointerRNA *ptr) return planes; } +static int rna_Image_frame_duration_get(PointerRNA *ptr) +{ + Image *im = (Image *)ptr->data; + + if (im->anim) + return IMB_anim_get_duration(im->anim, IMB_TC_RECORD_RUN); + return 1; +} + static int rna_Image_pixels_get_length(PointerRNA *ptr, int length[RNA_MAX_ARRAY_DIMENSION]) { Image *ima = ptr->id.data; @@ -629,6 +639,11 @@ static void rna_def_image(BlenderRNA *brna) prop = RNA_def_float_vector(srna, "resolution", 2, NULL, 0, 0, "Resolution", "X/Y pixels per meter", 0, 0); RNA_def_property_float_funcs(prop, "rna_Image_resolution_get", "rna_Image_resolution_set", NULL); + prop = RNA_def_property(srna, "frame_duration", PROP_INT, PROP_UNSIGNED); + RNA_def_property_int_funcs(prop, "rna_Image_frame_duration_get", NULL, NULL); + RNA_def_property_ui_text(prop, "Duration", "Duration (in frames) of the image (1 when not a video/sequence)"); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + prop = RNA_def_property(srna, "pixels", PROP_FLOAT, PROP_NONE); RNA_def_property_flag(prop, PROP_DYNAMIC); RNA_def_property_multi_array(prop, 1, NULL); diff --git a/source/blender/makesrna/intern/rna_image_api.c b/source/blender/makesrna/intern/rna_image_api.c index 3d937fc561d..cf19002f44e 100644 --- a/source/blender/makesrna/intern/rna_image_api.c +++ b/source/blender/makesrna/intern/rna_image_api.c @@ -224,6 +224,19 @@ static int rna_Image_gl_load(Image *image, ReportList *reports, int filter, int return error; } +static int rna_Image_gl_touch(Image *image, ReportList *reports, int filter, int mag) +{ + unsigned int *bind = &image->bindcode; + int error = GL_NO_ERROR; + + BKE_image_tag_time(image); + + if (*bind == 0) + error = rna_Image_gl_load(image, reports, GL_LINEAR_MIPMAP_NEAREST, GL_LINEAR); + + return error; +} + static void rna_Image_gl_free(Image *image) { GPU_free_image(image); @@ -274,6 +287,17 @@ void RNA_api_image(StructRNA *srna) parm = RNA_def_int(func, "height", 0, 1, 10000, "", "Height", 1, 10000); RNA_def_property_flag(parm, PROP_REQUIRED); + func = RNA_def_function(srna, "gl_touch", "rna_Image_gl_touch"); + RNA_def_function_ui_description(func, "Delay the image from being cleaned from the cache due inactivity"); + RNA_def_function_flag(func, FUNC_USE_REPORTS); + RNA_def_int(func, "filter", GL_LINEAR_MIPMAP_NEAREST, -INT_MAX, INT_MAX, "Filter", + "The texture minifying function to use if the image wan't loaded", -INT_MAX, INT_MAX); + RNA_def_int(func, "mag", GL_LINEAR, -INT_MAX, INT_MAX, "Magnification", + "The texture magnification function to use if the image wan't loaded", -INT_MAX, INT_MAX); + /* return value */ + parm = RNA_def_int(func, "error", 0, -INT_MAX, INT_MAX, "Error", "OpenGL error value", -INT_MAX, INT_MAX); + RNA_def_function_return(func, parm); + func = RNA_def_function(srna, "gl_load", "rna_Image_gl_load"); RNA_def_function_ui_description(func, "Load the image into OpenGL graphics memory"); RNA_def_function_flag(func, FUNC_USE_REPORTS); diff --git a/source/blender/makesrna/intern/rna_internal.h b/source/blender/makesrna/intern/rna_internal.h index 62feda4053b..daa307e77c2 100644 --- a/source/blender/makesrna/intern/rna_internal.h +++ b/source/blender/makesrna/intern/rna_internal.h @@ -194,6 +194,9 @@ void rna_def_mtex_common(struct BlenderRNA *brna, struct StructRNA *srna, const const char *structname_slots, const char *update); void rna_def_render_layer_common(struct StructRNA *srna, int scene); +void rna_def_actionbone_group_common(struct StructRNA *srna, int update_flag, const char *update_cb); +void rna_ActionGroup_colorset_set(struct PointerRNA *ptr, int value); + void rna_ID_name_get(struct PointerRNA *ptr, char *value); int rna_ID_name_length(struct PointerRNA *ptr); void rna_ID_name_set(struct PointerRNA *ptr, const char *value); diff --git a/source/blender/makesrna/intern/rna_key.c b/source/blender/makesrna/intern/rna_key.c index 5a56518e498..c2d730f5ed9 100644 --- a/source/blender/makesrna/intern/rna_key.c +++ b/source/blender/makesrna/intern/rna_key.c @@ -445,6 +445,13 @@ static char *rna_ShapeKeyPoint_path(PointerRNA *ptr) #else +EnumPropertyItem keyblock_type_items[] = { + {KEY_LINEAR, "KEY_LINEAR", 0, "Linear", ""}, + {KEY_CARDINAL, "KEY_CARDINAL", 0, "Cardinal", ""}, + {KEY_BSPLINE, "KEY_BSPLINE", 0, "BSpline", ""}, + {0, NULL, 0, NULL, NULL} +}; + static void rna_def_keydata(BlenderRNA *brna) { StructRNA *srna; @@ -515,13 +522,6 @@ static void rna_def_keyblock(BlenderRNA *brna) StructRNA *srna; PropertyRNA *prop; - static EnumPropertyItem prop_keyblock_type_items[] = { - {KEY_LINEAR, "KEY_LINEAR", 0, "Linear", ""}, - {KEY_CARDINAL, "KEY_CARDINAL", 0, "Cardinal", ""}, - {KEY_BSPLINE, "KEY_BSPLINE", 0, "BSpline", ""}, - {0, NULL, 0, NULL, NULL} - }; - srna = RNA_def_struct(brna, "ShapeKey", NULL); RNA_def_struct_ui_text(srna, "Shape Key", "Shape key in a shape keys datablock"); RNA_def_struct_sdna(srna, "KeyBlock"); @@ -551,8 +551,8 @@ static void rna_def_keyblock(BlenderRNA *brna) prop = RNA_def_property(srna, "interpolation", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "type"); - RNA_def_property_enum_items(prop, prop_keyblock_type_items); - RNA_def_property_ui_text(prop, "Interpolation", "Interpolation type"); + RNA_def_property_enum_items(prop, keyblock_type_items); + RNA_def_property_ui_text(prop, "Interpolation", "Interpolation type for absolute shape keys"); RNA_def_property_update(prop, 0, "rna_Key_update_data"); prop = RNA_def_property(srna, "vertex_group", PROP_STRING, PROP_NONE); diff --git a/source/blender/makesrna/intern/rna_lamp.c b/source/blender/makesrna/intern/rna_lamp.c index 7adee6fd95f..fdad91165c4 100644 --- a/source/blender/makesrna/intern/rna_lamp.c +++ b/source/blender/makesrna/intern/rna_lamp.c @@ -758,20 +758,6 @@ static void rna_def_spot_lamp(BlenderRNA *brna) StructRNA *srna; PropertyRNA *prop; - static EnumPropertyItem prop_shadbuffiltertype_items[] = { - {LA_SHADBUF_BOX, "BOX", 0, "Box", "Apply the Box filter to shadow buffer samples"}, - {LA_SHADBUF_TENT, "TENT", 0, "Tent", "Apply the Tent Filter to shadow buffer samples"}, - {LA_SHADBUF_GAUSS, "GAUSS", 0, "Gauss", "Apply the Gauss filter to shadow buffer samples"}, - {0, NULL, 0, NULL, NULL} - }; - - static EnumPropertyItem prop_numbuffer_items[] = { - {1, "BUFFERS_1", 0, "1", "Only one buffer rendered"}, - {4, "BUFFERS_4", 0, "4", "Render 4 buffers for better AA, this quadruples memory usage"}, - {9, "BUFFERS_9", 0, "9", "Render 9 buffers for better AA, this uses nine times more memory"}, - {0, NULL, 0, NULL, NULL} - }; - srna = RNA_def_struct(brna, "SpotLamp", "Lamp"); RNA_def_struct_sdna(srna, "Lamp"); RNA_def_struct_ui_text(srna, "Spot Lamp", "Directional cone lamp"); diff --git a/source/blender/makesrna/intern/rna_lattice.c b/source/blender/makesrna/intern/rna_lattice.c index a50389f01c1..6e42b47afce 100644 --- a/source/blender/makesrna/intern/rna_lattice.c +++ b/source/blender/makesrna/intern/rna_lattice.c @@ -28,6 +28,7 @@ #include <stdlib.h> #include "RNA_define.h" +#include "RNA_enum_types.h" #include "rna_internal.h" @@ -248,13 +249,6 @@ static void rna_def_lattice(BlenderRNA *brna) StructRNA *srna; PropertyRNA *prop; - static EnumPropertyItem prop_keyblock_type_items[] = { - {KEY_LINEAR, "KEY_LINEAR", 0, "Linear", ""}, - {KEY_CARDINAL, "KEY_CARDINAL", 0, "Cardinal", ""}, - {KEY_BSPLINE, "KEY_BSPLINE", 0, "BSpline", ""}, - {0, NULL, 0, NULL, NULL} - }; - srna = RNA_def_struct(brna, "Lattice", "ID"); RNA_def_struct_ui_text(srna, "Lattice", "Lattice datablock defining a grid for deforming other objects"); RNA_def_struct_ui_icon(srna, ICON_LATTICE_DATA); @@ -285,19 +279,19 @@ static void rna_def_lattice(BlenderRNA *brna) prop = RNA_def_property(srna, "interpolation_type_u", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "typeu"); - RNA_def_property_enum_items(prop, prop_keyblock_type_items); + RNA_def_property_enum_items(prop, keyblock_type_items); RNA_def_property_ui_text(prop, "Interpolation Type U", ""); RNA_def_property_update(prop, 0, "rna_Lattice_update_data"); prop = RNA_def_property(srna, "interpolation_type_v", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "typev"); - RNA_def_property_enum_items(prop, prop_keyblock_type_items); + RNA_def_property_enum_items(prop, keyblock_type_items); RNA_def_property_ui_text(prop, "Interpolation Type V", ""); RNA_def_property_update(prop, 0, "rna_Lattice_update_data"); prop = RNA_def_property(srna, "interpolation_type_w", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "typew"); - RNA_def_property_enum_items(prop, prop_keyblock_type_items); + RNA_def_property_enum_items(prop, keyblock_type_items); RNA_def_property_ui_text(prop, "Interpolation Type W", ""); RNA_def_property_update(prop, 0, "rna_Lattice_update_data"); diff --git a/source/blender/makesrna/intern/rna_mesh.c b/source/blender/makesrna/intern/rna_mesh.c index c122b8f262b..936ccf97724 100644 --- a/source/blender/makesrna/intern/rna_mesh.c +++ b/source/blender/makesrna/intern/rna_mesh.c @@ -76,6 +76,11 @@ static Mesh *rna_mesh(PointerRNA *ptr) return me; } +static CustomData *rna_mesh_vdata_helper(Mesh *me) +{ + return (me->edit_btmesh) ? &me->edit_btmesh->bm->vdata : &me->vdata; +} + static CustomData *rna_mesh_pdata_helper(Mesh *me) { return (me->edit_btmesh) ? &me->edit_btmesh->bm->pdata : &me->pdata; @@ -91,6 +96,11 @@ static CustomData *rna_mesh_fdata_helper(Mesh *me) return (me->edit_btmesh) ? NULL : &me->fdata; } +static CustomData *rna_mesh_vdata(PointerRNA *ptr) +{ + Mesh *me = rna_mesh(ptr); + return rna_mesh_vdata_helper(me); +} static CustomData *rna_mesh_pdata(PointerRNA *ptr) { Mesh *me = rna_mesh(ptr); @@ -856,6 +866,42 @@ static int rna_Mesh_polygon_string_layers_length(PointerRNA *ptr) return CustomData_number_of_layers(rna_mesh_pdata(ptr), CD_PROP_STR); } +/* Skin vertices */ +DEFINE_CUSTOMDATA_LAYER_COLLECTION(skin_vertice, vdata, CD_MVERT_SKIN); + +static char *rna_MeshSkinVertexLayer_path(PointerRNA *ptr) +{ + return BLI_sprintfN("skin_vertices[\"%s\"]", ((CustomDataLayer *)ptr->data)->name); +} + +static char *rna_VertCustomData_data_path(PointerRNA *ptr, char *collection, int type); +static char *rna_MeshSkinVertex_path(PointerRNA *ptr) +{ + return rna_VertCustomData_data_path(ptr, "skin_vertices", CD_MVERT_SKIN); +} + +static void rna_MeshSkinVertexLayer_data_begin(CollectionPropertyIterator *iter, PointerRNA *ptr) +{ + Mesh *me = rna_mesh(ptr); + CustomDataLayer *layer = (CustomDataLayer *)ptr->data; + rna_iterator_array_begin(iter, layer->data, sizeof(MVertSkin), me->totvert, 0, NULL); +} + +static int rna_MeshSkinVertexLayer_data_length(PointerRNA *ptr) +{ + Mesh *me = rna_mesh(ptr); + return me->totvert; +} + +static void rna_MeshSkinVertexLayer_name_set(PointerRNA *ptr, const char *value) +{ + CustomDataLayer *cdl = (CustomDataLayer *)ptr->data; + BLI_strncpy_utf8(cdl->name, value, sizeof(cdl->name)); + CustomData_set_layer_unique_name(rna_mesh_vdata(ptr), cdl - rna_mesh_vdata(ptr)->layers); +} + +/* End skin vertices */ + static void rna_TexturePoly_image_set(PointerRNA *ptr, PointerRNA value) { MTexPoly *tf = (MTexPoly *)ptr->data; @@ -1056,6 +1102,24 @@ static char *rna_MeshTexturePolyLayer_path(PointerRNA *ptr) return BLI_sprintfN("uv_textures[\"%s\"]", ((CustomDataLayer *)ptr->data)->name); } +static char *rna_VertCustomData_data_path(PointerRNA *ptr, char *collection, int type) +{ + CustomDataLayer *cdl; + Mesh *me = rna_mesh(ptr); + CustomData *vdata = rna_mesh_vdata(ptr); + int a, b, totvert = (me->edit_btmesh) ? 0 : me->totvert; + + for (cdl = vdata->layers, a = 0; a < vdata->totlayer; cdl++, a++) { + if (cdl->type == type) { + b = ((char *)ptr->data - ((char *)cdl->data)) / CustomData_sizeof(type); + if (b >= 0 && b < totvert) + return BLI_sprintfN("%s[\"%s\"].data[%d]", collection, cdl->name, b); + } + } + + return NULL; +} + static char *rna_PolyCustomData_data_path(PointerRNA *ptr, char *collection, int type) { CustomDataLayer *cdl; @@ -2514,6 +2578,54 @@ static void rna_def_uv_textures(BlenderRNA *brna, PropertyRNA *cprop) RNA_def_property_update(prop, 0, "rna_Mesh_update_data"); } +static void rna_def_skin_vertices(BlenderRNA *brna, PropertyRNA *cprop) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna = RNA_def_struct(brna, "MeshSkinVertexLayer", NULL); + RNA_def_struct_ui_text(srna, "Mesh Skin Vertex Layer", "Per-vertex skin data for use with the Skin modifier"); + RNA_def_struct_sdna(srna, "CustomDataLayer"); + RNA_def_struct_path_func(srna, "rna_MeshSkinVertexLayer_path"); + + prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE); + RNA_def_struct_name_property(srna, prop); + RNA_def_property_string_funcs(prop, NULL, NULL, "rna_MeshSkinVertexLayer_name_set"); + RNA_def_property_ui_text(prop, "Name", "Name of skin layer"); + RNA_def_property_update(prop, 0, "rna_Mesh_update_data"); + + prop = RNA_def_property(srna, "data", PROP_COLLECTION, PROP_NONE); + RNA_def_property_struct_type(prop, "MeshSkinVertex"); + RNA_def_property_ui_text(prop, "Data", ""); + RNA_def_property_collection_funcs(prop, "rna_MeshSkinVertexLayer_data_begin", "rna_iterator_array_next", + "rna_iterator_array_end", "rna_iterator_array_get", + "rna_MeshSkinVertexLayer_data_length", NULL, NULL, NULL); + + /* SkinVertex struct */ + srna = RNA_def_struct(brna, "MeshSkinVertex", NULL); + RNA_def_struct_sdna(srna, "MVertSkin"); + RNA_def_struct_ui_text(srna, "Skin Vertex", "Per-vertex skin data for use with the Skin modifier"); + RNA_def_struct_path_func(srna, "rna_MeshSkinVertex_path"); + + prop = RNA_def_property(srna, "radius", PROP_FLOAT, PROP_NONE); + RNA_def_property_array(prop, 2); + RNA_def_property_ui_range(prop, 0.001, 100, 1, 3); + RNA_def_property_ui_text(prop, "Radius", "Radius of the skin"); + RNA_def_property_update(prop, 0, "rna_Mesh_update_data"); + + /* Flags */ + + prop = RNA_def_property(srna, "use_root", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", MVERT_SKIN_ROOT); + RNA_def_property_ui_text(prop, "Root", "Vertex is a root for rotation calculations and armature generation"); + RNA_def_property_update(prop, 0, "rna_Mesh_update_data"); + + prop = RNA_def_property(srna, "use_loose", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", MVERT_SKIN_LOOSE); + RNA_def_property_ui_text(prop, "Loose", "If vertex has multiple adjacent edges, it is hulled to them directly"); + RNA_def_property_update(prop, 0, "rna_Mesh_update_data"); +} + static void rna_def_mesh(BlenderRNA *brna) { StructRNA *srna; @@ -2686,6 +2798,16 @@ static void rna_def_mesh(BlenderRNA *brna) RNA_def_property_ui_text(prop, "String Property Layers", ""); rna_def_polygon_string_layers(brna, prop); + /* Skin vertices */ + prop = RNA_def_property(srna, "skin_vertices", PROP_COLLECTION, PROP_NONE); + RNA_def_property_collection_sdna(prop, NULL, "vdata.layers", "vdata.totlayer"); + RNA_def_property_collection_funcs(prop, "rna_Mesh_skin_vertices_begin", NULL, NULL, NULL, + "rna_Mesh_skin_vertices_length", NULL, NULL, NULL); + RNA_def_property_struct_type(prop, "MeshSkinVertexLayer"); + RNA_def_property_ui_text(prop, "Skin Vertices", "All skin vertices"); + rna_def_skin_vertices(brna, prop); + /* End skin vertices */ + prop = RNA_def_property(srna, "use_auto_smooth", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "flag", ME_AUTOSMOOTH); RNA_def_property_ui_text(prop, "Auto Smooth", diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c index 4a7050b47e9..21a01cf43a8 100644 --- a/source/blender/makesrna/intern/rna_modifier.c +++ b/source/blender/makesrna/intern/rna_modifier.c @@ -75,6 +75,7 @@ EnumPropertyItem modifier_type_items[] = { {eModifierType_Multires, "MULTIRES", ICON_MOD_MULTIRES, "Multiresolution", ""}, {eModifierType_Remesh, "REMESH", ICON_MOD_REMESH, "Remesh", ""}, {eModifierType_Screw, "SCREW", ICON_MOD_SCREW, "Screw", ""}, + {eModifierType_Skin, "SKIN", ICON_MOD_SKIN, "Skin", ""}, {eModifierType_Solidify, "SOLIDIFY", ICON_MOD_SOLIDIFY, "Solidify", ""}, {eModifierType_Subsurf, "SUBSURF", ICON_MOD_SUBSURF, "Subdivision Surface", ""}, {0, "", 0, N_("Deform"), ""}, @@ -207,6 +208,8 @@ static StructRNA *rna_Modifier_refine(struct PointerRNA *ptr) return &RNA_DynamicPaintModifier; case eModifierType_Remesh: return &RNA_RemeshModifier; + case eModifierType_Skin: + return &RNA_SkinModifier; default: return &RNA_Modifier; } @@ -2550,8 +2553,11 @@ static void rna_def_modifier_solidify(BlenderRNA *brna) RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_SOLIDIFY_VGROUP_INV); RNA_def_property_ui_text(prop, "Vertex Group Invert", "Invert the vertex group influence"); RNA_def_property_update(prop, 0, "rna_Modifier_update"); - - + + prop = RNA_def_property(srna, "use_flip_normals", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_SOLIDIFY_FLIP); + RNA_def_property_ui_text(prop, "Flip Normals", "Invert the face direction"); + RNA_def_property_update(prop, 0, "rna_Modifier_update"); } static void rna_def_modifier_screw(BlenderRNA *brna) @@ -3196,6 +3202,42 @@ static void rna_def_modifier_ocean(BlenderRNA *brna) /* XXX how to update? */ } +static void rna_def_modifier_skin(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna= RNA_def_struct(brna, "SkinModifier", "Modifier"); + RNA_def_struct_ui_text(srna, "Skin Modifier", "Generate Skin"); + RNA_def_struct_sdna(srna, "SkinModifierData"); + RNA_def_struct_ui_icon(srna, ICON_MOD_SKIN); + + prop = RNA_def_property(srna, "branch_smoothing", PROP_FLOAT, PROP_NONE); + RNA_def_property_ui_text(prop, "Branch Smoothing", "Smooth complex geometry around branches"); + RNA_def_property_ui_range(prop, 0, 1, 1, 0); + RNA_def_property_update(prop, 0, "rna_Modifier_update"); + + prop = RNA_def_property(srna, "use_smooth_shade", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_SKIN_SMOOTH_SHADING); + RNA_def_property_ui_text(prop, "Smooth Shading", "Output faces with smooth shading rather than flat shaded"); + RNA_def_property_update(prop, 0, "rna_Modifier_update"); + + prop = RNA_def_property(srna, "use_x_symmetry", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "symmetry_axes", MOD_SKIN_SYMM_X); + RNA_def_property_ui_text(prop, "X", "Avoid making unsymmetric quads across the X axis"); + RNA_def_property_update(prop, 0, "rna_Modifier_update"); + + prop = RNA_def_property(srna, "use_y_symmetry", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "symmetry_axes", MOD_SKIN_SYMM_Y); + RNA_def_property_ui_text(prop, "Y", "Avoid making unsymmetric quads across the Y axis"); + RNA_def_property_update(prop, 0, "rna_Modifier_update"); + + prop = RNA_def_property(srna, "use_z_symmetry", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "symmetry_axes", MOD_SKIN_SYMM_Z); + RNA_def_property_ui_text(prop, "Z", "Avoid making unsymmetric quads across the Z axis"); + RNA_def_property_update(prop, 0, "rna_Modifier_update"); +} + void RNA_def_modifier(BlenderRNA *brna) { StructRNA *srna; @@ -3301,6 +3343,7 @@ void RNA_def_modifier(BlenderRNA *brna) rna_def_modifier_dynamic_paint(brna); rna_def_modifier_ocean(brna); rna_def_modifier_remesh(brna); + rna_def_modifier_skin(brna); } #endif diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index 9dcdce61cea..8b7e7f7a5d9 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -205,6 +205,8 @@ static StructRNA *rna_Node_refine(struct PointerRNA *ptr) return &RNA_NodeForLoop; case NODE_WHILELOOP: return &RNA_NodeWhileLoop; + case NODE_FRAME: + return &RNA_NodeFrame; default: return &RNA_Node; @@ -1123,8 +1125,20 @@ static void def_whileloop(StructRNA *srna) static void def_frame(StructRNA *srna) { -/* PropertyRNA *prop; */ + PropertyRNA *prop; + RNA_def_struct_sdna_from(srna, "NodeFrame", "storage"); + + prop = RNA_def_property(srna, "shrink", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", NODE_FRAME_SHRINK); + RNA_def_property_ui_text(prop, "Shrink", "Shrink the frame to minimal bounding box"); + RNA_def_property_update(prop, NC_NODE|ND_DISPLAY, NULL); + + prop = RNA_def_property(srna, "label_size", PROP_INT, PROP_NONE); + RNA_def_property_int_sdna(prop, NULL, "label_size"); + RNA_def_property_range(prop, 8, 64); + RNA_def_property_ui_text(prop, "Label Font Size", "Font size to use for displaying the label"); + RNA_def_property_update(prop, NC_NODE|ND_DISPLAY, NULL); } static void def_math(StructRNA *srna) @@ -1962,12 +1976,29 @@ static void def_cmp_output_file(StructRNA *srna) static void def_cmp_dilate_erode(StructRNA *srna) { PropertyRNA *prop; + + static EnumPropertyItem type_items[] = { + {CMP_NODE_DILATEERODE_STEP, "STEP", 0, "Step", ""}, + {CMP_NODE_DILATEERODE_DISTANCE, "DISTANCE", 0, "Distance", ""}, + {0, NULL, 0, NULL, NULL}}; + + prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "custom1"); + RNA_def_property_enum_items(prop, type_items); + RNA_def_property_ui_text(prop, "Distance", "Distance to grow/shrink (number of iterations)"); + RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "distance", PROP_INT, PROP_NONE); RNA_def_property_int_sdna(prop, NULL, "custom2"); RNA_def_property_range(prop, -100, 100); RNA_def_property_ui_text(prop, "Distance", "Distance to grow/shrink (number of iterations)"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); + + prop = RNA_def_property(srna, "edge", PROP_FLOAT, PROP_NONE); + RNA_def_property_float_sdna(prop, NULL, "custom3"); + RNA_def_property_range(prop, -100, 100); + RNA_def_property_ui_text(prop, "Edge", "Edge to inset"); + RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); } static void def_cmp_scale(StructRNA *srna) @@ -2410,7 +2441,7 @@ static void def_cmp_defocus(StructRNA *srna) prop = RNA_def_property(srna, "blur_max", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "maxblur"); RNA_def_property_range(prop, 0.0f, 10000.0f); - RNA_def_property_ui_text(prop, "Max Blur", "Blur limit, maximum CoC radius, 0=no limit"); + RNA_def_property_ui_text(prop, "Max Blur", "Blur limit, maximum CoC radius"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "threshold", PROP_FLOAT, PROP_NONE); @@ -3006,35 +3037,35 @@ static void def_cmp_boxmask(StructRNA *srna) RNA_def_property_float_sdna(prop, NULL, "x"); RNA_def_property_float_default(prop, 0.5f); RNA_def_property_range(prop, -1.0f, 2.0f); - RNA_def_property_ui_text(prop, "X position", "X position of the middle of the box"); + RNA_def_property_ui_text(prop, "X", "X position of the middle of the box"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "y", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "y"); RNA_def_property_float_default(prop, 0.5f); RNA_def_property_range(prop, -1.0f, 2.0f); - RNA_def_property_ui_text(prop, "Y position", "Y position of the middle of the box"); + RNA_def_property_ui_text(prop, "Y", "Y position of the middle of the box"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "width", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "width"); RNA_def_property_float_default(prop, 0.3f); RNA_def_property_range(prop, 0.0f, 2.0f); - RNA_def_property_ui_text(prop, "Width of the box", "Width of the box"); + RNA_def_property_ui_text(prop, "Width", "Width of the box"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "height", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "height"); RNA_def_property_float_default(prop, 0.2f); RNA_def_property_range(prop, 0.0f, 2.0f); - RNA_def_property_ui_text(prop, "Height of the box", "Height of the box"); + RNA_def_property_ui_text(prop, "Height", "Height of the box"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "rotation"); RNA_def_property_float_default(prop, 0.0f); RNA_def_property_range(prop, -1000.0f, 1000.0f); - RNA_def_property_ui_text(prop, "Rotation", "Rotationangle of the box"); + RNA_def_property_ui_text(prop, "Rotation", "Rotation angle of the box"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); } @@ -3053,28 +3084,28 @@ static void def_cmp_ellipsemask(StructRNA *srna) RNA_def_property_float_sdna(prop, NULL, "x"); RNA_def_property_float_default(prop, 0.5f); RNA_def_property_range(prop, -1.0f, 2.0f); - RNA_def_property_ui_text(prop, "X position", "X position of the middle of the box"); + RNA_def_property_ui_text(prop, "X", "X position of the middle of the box"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "y", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "y"); RNA_def_property_float_default(prop, 0.5f); RNA_def_property_range(prop, -1.0f, 2.0f); - RNA_def_property_ui_text(prop, "Y position", "Y position of the middle of the box"); + RNA_def_property_ui_text(prop, "Y", "Y position of the middle of the box"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "width", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "width"); RNA_def_property_float_default(prop, 0.3f); RNA_def_property_range(prop, 0.0f, 2.0f); - RNA_def_property_ui_text(prop, "Width of the box", "Width of the box"); + RNA_def_property_ui_text(prop, "Width", "Width of the box"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "height", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "height"); RNA_def_property_float_default(prop, 0.2f); RNA_def_property_range(prop, 0.0f, 2.0f); - RNA_def_property_ui_text(prop, "Height of the box", "Height of the box"); + RNA_def_property_ui_text(prop, "Height", "Height of the box"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_NONE); @@ -3094,7 +3125,7 @@ static void def_cmp_bokehimage(StructRNA *srna) prop = RNA_def_property(srna, "angle", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "angle"); RNA_def_property_float_default(prop, 0.0f); - RNA_def_property_range(prop, -0.0f, 360.0f); + RNA_def_property_range(prop, -720.0f, 720.0f); RNA_def_property_ui_text(prop, "Angle", "Angle of the bokeh"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); @@ -3123,7 +3154,7 @@ static void def_cmp_bokehimage(StructRNA *srna) RNA_def_property_float_sdna(prop, NULL, "lensshift"); RNA_def_property_float_default(prop, 0.0f); RNA_def_property_range(prop, -1.0f, 1.0f); - RNA_def_property_ui_text(prop, "Lens shift", "Shift of the lens."); + RNA_def_property_ui_text(prop, "Lens shift", "Shift of the lens components"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); } @@ -3165,49 +3196,49 @@ static void def_cmp_colorcorrection(StructRNA *srna) RNA_def_property_float_sdna(prop, NULL, "startmidtones"); RNA_def_property_float_default(prop, 0.2f); RNA_def_property_range(prop, 0, 1); - RNA_def_property_ui_text(prop, "Start of midtones", "Start of midtones"); + RNA_def_property_ui_text(prop, "Midtones Start", "Start of midtones"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "midtones_end", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "endmidtones"); RNA_def_property_float_default(prop, 0.7f); RNA_def_property_range(prop, 0, 1); - RNA_def_property_ui_text(prop, "End of midtones", "end of midtones"); + RNA_def_property_ui_text(prop, "Midtones End", "End of midtones"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "master_saturation", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "master.saturation"); RNA_def_property_float_default(prop, 1.0f); RNA_def_property_range(prop, 0, 4); - RNA_def_property_ui_text(prop, "Master saturation", "Master saturation"); + RNA_def_property_ui_text(prop, "Master Saturation", "Master saturation"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "master_contrast", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "master.contrast"); RNA_def_property_float_default(prop, 1.0f); RNA_def_property_range(prop, 0, 4); - RNA_def_property_ui_text(prop, "Master contrast", "Master contrast"); + RNA_def_property_ui_text(prop, "Master Contrast", "Master contrast"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "master_gamma", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "master.gamma"); RNA_def_property_float_default(prop, 1.0f); RNA_def_property_range(prop, 0, 4); - RNA_def_property_ui_text(prop, "Master gamma", "Master gamma"); + RNA_def_property_ui_text(prop, "Master Gamma", "Master gamma"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "master_gain", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "master.gain"); RNA_def_property_float_default(prop, 1.0f); RNA_def_property_range(prop, 0, 4); - RNA_def_property_ui_text(prop, "Master gain", "Master gain"); + RNA_def_property_ui_text(prop, "Master Gain", "Master gain"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "master_lift", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "master.lift"); RNA_def_property_float_default(prop, 0.0f); RNA_def_property_range(prop, -1, 1); - RNA_def_property_ui_text(prop, "Master lift", "Master lift"); + RNA_def_property_ui_text(prop, "Master Lift", "Master lift"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); // @@ -3215,105 +3246,105 @@ static void def_cmp_colorcorrection(StructRNA *srna) RNA_def_property_float_sdna(prop, NULL, "shadows.saturation"); RNA_def_property_float_default(prop, 1.0f); RNA_def_property_range(prop, 0, 4); - RNA_def_property_ui_text(prop, "Shadows saturation", "Shadows saturation"); + RNA_def_property_ui_text(prop, "Shadows Saturation", "Shadows saturation"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "shadows_contrast", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "shadows.contrast"); RNA_def_property_float_default(prop, 1.0f); RNA_def_property_range(prop, 0, 4); - RNA_def_property_ui_text(prop, "Shadows contrast", "Shadows contrast"); + RNA_def_property_ui_text(prop, "Shadows Contrast", "Shadows contrast"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "shadows_gamma", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "shadows.gamma"); RNA_def_property_float_default(prop, 1.0f); RNA_def_property_range(prop, 0, 4); - RNA_def_property_ui_text(prop, "Shadows gamma", "Shadows gamma"); + RNA_def_property_ui_text(prop, "Shadows Gamma", "Shadows gamma"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "shadows_gain", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "shadows.gain"); RNA_def_property_float_default(prop, 1.0f); RNA_def_property_range(prop, 0, 4); - RNA_def_property_ui_text(prop, "Shadows gain", "Shadows gain"); + RNA_def_property_ui_text(prop, "Shadows Gain", "Shadows gain"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "shadows_lift", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "shadows.lift"); RNA_def_property_float_default(prop, 0.0f); RNA_def_property_range(prop, -1, 1); - RNA_def_property_ui_text(prop, "Shadows lift", "Shadows lift"); + RNA_def_property_ui_text(prop, "Shadows Lift", "Shadows lift"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); // prop = RNA_def_property(srna, "midtones_saturation", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "midtones.saturation"); RNA_def_property_float_default(prop, 1.0f); RNA_def_property_range(prop, 0, 4); - RNA_def_property_ui_text(prop, "Midtones saturation", "Midtones saturation"); + RNA_def_property_ui_text(prop, "Midtones Saturation", "Midtones saturation"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "midtones_contrast", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "midtones.contrast"); RNA_def_property_float_default(prop, 1.0f); RNA_def_property_range(prop, 0, 4); - RNA_def_property_ui_text(prop, "Midtones contrast", "Midtones contrast"); + RNA_def_property_ui_text(prop, "Midtones Contrast", "Midtones contrast"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "midtones_gamma", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "midtones.gamma"); RNA_def_property_float_default(prop, 1.0f); RNA_def_property_range(prop, 0, 4); - RNA_def_property_ui_text(prop, "Midtones gamma", "Midtones gamma"); + RNA_def_property_ui_text(prop, "Midtones Gamma", "Midtones gamma"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "midtones_gain", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "midtones.gain"); RNA_def_property_float_default(prop, 1.0f); RNA_def_property_range(prop, 0, 4); - RNA_def_property_ui_text(prop, "Midtones gain", "Midtones gain"); + RNA_def_property_ui_text(prop, "Midtones Gain", "Midtones gain"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "midtones_lift", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "midtones.lift"); RNA_def_property_float_default(prop, 0.0f); RNA_def_property_range(prop, -1, 1); - RNA_def_property_ui_text(prop, "Midtones lift", "Midtones lift"); + RNA_def_property_ui_text(prop, "Midtones Lift", "Midtones lift"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); // prop = RNA_def_property(srna, "highlights_saturation", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "highlights.saturation"); RNA_def_property_float_default(prop, 1.0f); RNA_def_property_range(prop, 0, 4); - RNA_def_property_ui_text(prop, "Highlights saturation", "Highlights saturation"); + RNA_def_property_ui_text(prop, "Highlights Saturation", "Highlights saturation"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "highlights_contrast", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "highlights.contrast"); RNA_def_property_float_default(prop, 1.0f); RNA_def_property_range(prop, 0, 4); - RNA_def_property_ui_text(prop, "Highlights contrast", "Highlights contrast"); + RNA_def_property_ui_text(prop, "Highlights Contrast", "Highlights contrast"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "highlights_gamma", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "highlights.gamma"); RNA_def_property_float_default(prop, 1.0f); RNA_def_property_range(prop, 0, 4); - RNA_def_property_ui_text(prop, "Highlights gamma", "Highlights gamma"); + RNA_def_property_ui_text(prop, "Highlights Gamma", "Highlights gamma"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "highlights_gain", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "highlights.gain"); RNA_def_property_float_default(prop, 1.0f); RNA_def_property_range(prop, 0, 4); - RNA_def_property_ui_text(prop, "Highlights gain", "Highlights gain"); + RNA_def_property_ui_text(prop, "Highlights Gain", "Highlights gain"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "highlights_lift", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "highlights.lift"); RNA_def_property_float_default(prop, 0.0f); RNA_def_property_range(prop, -1, 1); - RNA_def_property_ui_text(prop, "Highlights lift", "Highlights lift"); + RNA_def_property_ui_text(prop, "Highlights Lift", "Highlights lift"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); } @@ -3330,7 +3361,7 @@ static void def_cmp_viewer(StructRNA *srna) prop = RNA_def_property(srna, "tile_order", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "custom1"); RNA_def_property_enum_items(prop, tileorder_items); - RNA_def_property_ui_text(prop, "Tile order", "tile order"); + RNA_def_property_ui_text(prop, "Tile order", "Tile order"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); prop = RNA_def_property(srna, "center_x", PROP_FLOAT, PROP_NONE); @@ -3640,7 +3671,7 @@ static void rna_def_node_socket_subtype(BlenderRNA *brna, int type, int subtype, PropertyRNA *prop = NULL; PropertySubType propsubtype = PROP_NONE; - #define SUBTYPE(socktype, stypename, id, idname) { PROP_##id, #socktype "_" #id, 0, #idname, ""}, + #define SUBTYPE(socktype, stypename, id, idname) { PROP_##id, #socktype "_" #id, 0, #idname, ""}, static EnumPropertyItem subtype_items[] = { NODE_DEFINE_SUBTYPES {0, NULL, 0, NULL, NULL} @@ -3770,6 +3801,18 @@ static void rna_def_node(BlenderRNA *brna) RNA_def_property_struct_type(prop, "Node"); RNA_def_property_clear_flag(prop, PROP_EDITABLE); RNA_def_property_ui_text(prop, "Parent", "Parent this node is attached to"); + + prop = RNA_def_property(srna, "use_custom_color", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", NODE_CUSTOM_COLOR); + RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); + RNA_def_property_ui_text(prop, "Custom Color", "Use custom color for the node"); + RNA_def_property_update(prop, NC_NODE|ND_DISPLAY, NULL); + + prop = RNA_def_property(srna, "color", PROP_FLOAT, PROP_COLOR); + RNA_def_property_array(prop, 3); + RNA_def_property_range(prop, 0.0f, 1.0f); + RNA_def_property_ui_text(prop, "Color", "Custom color of the node body"); + RNA_def_property_update(prop, NC_NODE|ND_DISPLAY, NULL); prop = RNA_def_property(srna, "show_texture", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "flag", NODE_ACTIVE_TEXTURE); @@ -3908,16 +3951,16 @@ static void rna_def_composite_nodetree(BlenderRNA *brna) prop= RNA_def_property(srna, "render_quality", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "render_quality"); RNA_def_property_enum_items(prop, node_quality_items); - RNA_def_property_ui_text(prop, "Render quality", "Quality when rendering"); + RNA_def_property_ui_text(prop, "Render Quality", "Quality when rendering"); prop= RNA_def_property(srna, "edit_quality", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "edit_quality"); RNA_def_property_enum_items(prop, node_quality_items); - RNA_def_property_ui_text(prop, "Edit quality", "Quality when editing"); + RNA_def_property_ui_text(prop, "Edit Quality", "Quality when editing"); prop= RNA_def_property(srna, "chunksize", PROP_INT, PROP_NONE); RNA_def_property_int_sdna(prop, NULL, "chunksize"); - RNA_def_property_ui_text(prop, "Chunksize", "Max size of a chunk during calculation"); + RNA_def_property_ui_text(prop, "Chunksize", "Max size of a tile. Smaller values gives better distribution of multiple threads, but more overhead."); RNA_def_property_range(prop, 32, 1024); prop= RNA_def_property(srna, "use_opencl", PROP_BOOLEAN, PROP_NONE); diff --git a/source/blender/makesrna/intern/rna_nodetree_types.h b/source/blender/makesrna/intern/rna_nodetree_types.h index 2da06d5dea7..351c6d93514 100644 --- a/source/blender/makesrna/intern/rna_nodetree_types.h +++ b/source/blender/makesrna/intern/rna_nodetree_types.h @@ -77,8 +77,9 @@ DefNode( ShaderNode, SH_NODE_VOLUME_TRANSPARENT, 0, "VO DefNode( ShaderNode, SH_NODE_VOLUME_ISOTROPIC, 0, "VOLUME_ISOTROPIC", VolumeIsotropic, "Isotropic Volume", "" ) DefNode( ShaderNode, SH_NODE_EMISSION, 0, "EMISSION", Emission, "Emission", "" ) DefNode( ShaderNode, SH_NODE_NEW_GEOMETRY, 0, "NEW_GEOMETRY", NewGeometry, "Geometry", "" ) -DefNode( ShaderNode, SH_NODE_LIGHT_PATH, 0, "LIGHT_PATH", LightPath, "Light Path", "" ) -DefNode( ShaderNode, SH_NODE_LIGHT_FALLOFF, 0, "LIGHT_FALLOFF", LightFalloff, "Light Falloff", "" ) +DefNode( ShaderNode, SH_NODE_LIGHT_PATH, 0, "LIGHT_PATH", LightPath, "Light Path", "" ) +DefNode( ShaderNode, SH_NODE_LIGHT_FALLOFF, 0, "LIGHT_FALLOFF", LightFalloff, "Light Falloff", "" ) +DefNode( ShaderNode, SH_NODE_OBJECT_INFO, 0, "OBJECT_INFO", ObjectInfo, "Object Info", "" ) DefNode( ShaderNode, SH_NODE_TEX_IMAGE, def_sh_tex_image, "TEX_IMAGE", TexImage, "Image Texture", "" ) DefNode( ShaderNode, SH_NODE_TEX_ENVIRONMENT, def_sh_tex_environment, "TEX_ENVIRONMENT", TexEnvironment, "Environment Texture","" ) DefNode( ShaderNode, SH_NODE_TEX_SKY, def_sh_tex_sky, "TEX_SKY", TexSky, "Sky Texture", "" ) diff --git a/source/blender/makesrna/intern/rna_object_api.c b/source/blender/makesrna/intern/rna_object_api.c index 4d7ecc9350f..a3e538da9b1 100644 --- a/source/blender/makesrna/intern/rna_object_api.c +++ b/source/blender/makesrna/intern/rna_object_api.c @@ -411,7 +411,8 @@ void rna_Object_ray_cast(Object *ob, ReportList *reports, float ray_start[3], fl hit.index = -1; if (BLI_bvhtree_ray_cast(treeData.tree, ray_start, ray_nor, 0.0f, &hit, - treeData.raycast_callback, &treeData) != -1) { + treeData.raycast_callback, &treeData) != -1) + { if (hit.dist <= dist) { copy_v3_v3(r_location, hit.co); copy_v3_v3(r_normal, hit.no); diff --git a/source/blender/makesrna/intern/rna_particle.c b/source/blender/makesrna/intern/rna_particle.c index d179612ae04..8cf3b718c30 100644 --- a/source/blender/makesrna/intern/rna_particle.c +++ b/source/blender/makesrna/intern/rna_particle.c @@ -1754,7 +1754,6 @@ static void rna_def_particle_settings(BlenderRNA *brna) RNA_def_property_enum_sdna(prop, NULL, "distr"); RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); RNA_def_property_enum_items(prop, part_dist_items); - RNA_def_property_enum_items(prop, part_draw_as_items); RNA_def_property_enum_funcs(prop, NULL, NULL, "rna_Particle_dist_itemf"); RNA_def_property_ui_text(prop, "Distribution", "How to distribute particles on selected element"); RNA_def_property_update(prop, 0, "rna_Particle_reset"); diff --git a/source/blender/makesrna/intern/rna_pose.c b/source/blender/makesrna/intern/rna_pose.c index 6ec0932dba8..83d40b26cd0 100644 --- a/source/blender/makesrna/intern/rna_pose.c +++ b/source/blender/makesrna/intern/rna_pose.c @@ -60,6 +60,33 @@ EnumPropertyItem posebone_rotmode_items[] = { {0, NULL, 0, NULL, NULL} }; +/* Bone and Group Color Sets */ +EnumPropertyItem color_sets_items[] = { + {0, "DEFAULT", 0, "Default Colors", ""}, + {1, "THEME01", 0, "01 - Theme Color Set", ""}, + {2, "THEME02", 0, "02 - Theme Color Set", ""}, + {3, "THEME03", 0, "03 - Theme Color Set", ""}, + {4, "THEME04", 0, "04 - Theme Color Set", ""}, + {5, "THEME05", 0, "05 - Theme Color Set", ""}, + {6, "THEME06", 0, "06 - Theme Color Set", ""}, + {7, "THEME07", 0, "07 - Theme Color Set", ""}, + {8, "THEME08", 0, "08 - Theme Color Set", ""}, + {9, "THEME09", 0, "09 - Theme Color Set", ""}, + {10, "THEME10", 0, "10 - Theme Color Set", ""}, + {11, "THEME11", 0, "11 - Theme Color Set", ""}, + {12, "THEME12", 0, "12 - Theme Color Set", ""}, + {13, "THEME13", 0, "13 - Theme Color Set", ""}, + {14, "THEME14", 0, "14 - Theme Color Set", ""}, + {15, "THEME15", 0, "15 - Theme Color Set", ""}, + {16, "THEME16", 0, "16 - Theme Color Set", ""}, + {17, "THEME17", 0, "17 - Theme Color Set", ""}, + {18, "THEME18", 0, "18 - Theme Color Set", ""}, + {19, "THEME19", 0, "19 - Theme Color Set", ""}, + {20, "THEME20", 0, "20 - Theme Color Set", ""}, + {-1, "CUSTOM", 0, "Custom Color Set", ""}, + {0, NULL, 0, NULL, NULL} +}; + #ifdef RNA_RUNTIME #include "BIK_api.h" @@ -107,7 +134,8 @@ static char *rna_PoseBone_path(PointerRNA *ptr) return BLI_sprintfN("pose.bones[\"%s\"]", ((bPoseChannel *)ptr->data)->name); } -static void rna_BoneGroup_color_set_set(PointerRNA *ptr, int value) +/* shared for actions groups and bone groups */ +void rna_ActionGroup_colorset_set(PointerRNA *ptr, int value) { bActionGroup *grp = ptr->data; @@ -622,34 +650,31 @@ static void rna_PoseChannel_matrix_set(PointerRNA *ptr, const float *values) #else -static void rna_def_bone_group(BlenderRNA *brna) +/* common properties for Action/Bone Groups - related to color */ +void rna_def_actionbone_group_common(StructRNA *srna, int update_flag, const char *update_cb) { - static EnumPropertyItem prop_colorSets_items[] = { - {0, "DEFAULT", 0, "Default Colors", ""}, - {1, "THEME01", 0, "01 - Theme Color Set", ""}, - {2, "THEME02", 0, "02 - Theme Color Set", ""}, - {3, "THEME03", 0, "03 - Theme Color Set", ""}, - {4, "THEME04", 0, "04 - Theme Color Set", ""}, - {5, "THEME05", 0, "05 - Theme Color Set", ""}, - {6, "THEME06", 0, "06 - Theme Color Set", ""}, - {7, "THEME07", 0, "07 - Theme Color Set", ""}, - {8, "THEME08", 0, "08 - Theme Color Set", ""}, - {9, "THEME09", 0, "09 - Theme Color Set", ""}, - {10, "THEME10", 0, "10 - Theme Color Set", ""}, - {11, "THEME11", 0, "11 - Theme Color Set", ""}, - {12, "THEME12", 0, "12 - Theme Color Set", ""}, - {13, "THEME13", 0, "13 - Theme Color Set", ""}, - {14, "THEME14", 0, "14 - Theme Color Set", ""}, - {15, "THEME15", 0, "15 - Theme Color Set", ""}, - {16, "THEME16", 0, "16 - Theme Color Set", ""}, - {17, "THEME17", 0, "17 - Theme Color Set", ""}, - {18, "THEME18", 0, "18 - Theme Color Set", ""}, - {19, "THEME19", 0, "19 - Theme Color Set", ""}, - {20, "THEME20", 0, "20 - Theme Color Set", ""}, - {-1, "CUSTOM", 0, "Custom Color Set", ""}, - {0, NULL, 0, NULL, NULL} - }; + PropertyRNA *prop; + /* color set + colors */ + prop = RNA_def_property(srna, "color_set", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "customCol"); + RNA_def_property_enum_items(prop, color_sets_items); + RNA_def_property_enum_funcs(prop, NULL, "rna_ActionGroup_colorset_set", NULL); + RNA_def_property_ui_text(prop, "Color Set", "Custom color set to use"); + RNA_def_property_update(prop, update_flag, update_cb); + + /* TODO: editing the colors for this should result in changes to the color type... */ + prop = RNA_def_property(srna, "colors", PROP_POINTER, PROP_NONE); + RNA_def_property_flag(prop, PROP_NEVER_NULL); + RNA_def_property_struct_type(prop, "ThemeBoneColorSet"); + /* NOTE: the DNA data is not really a pointer, but this code works :) */ + RNA_def_property_pointer_sdna(prop, NULL, "cs"); + RNA_def_property_ui_text(prop, "Colors", "Copy of the colors associated with the group's color set"); + RNA_def_property_update(prop, update_flag, update_cb); +} + +static void rna_def_bone_group(BlenderRNA *brna) +{ StructRNA *srna; PropertyRNA *prop; @@ -667,22 +692,8 @@ static void rna_def_bone_group(BlenderRNA *brna) /* TODO: add some runtime-collections stuff to access grouped bones */ - /* color set + colors */ - prop = RNA_def_property(srna, "color_set", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "customCol"); - RNA_def_property_enum_items(prop, prop_colorSets_items); - RNA_def_property_enum_funcs(prop, NULL, "rna_BoneGroup_color_set_set", NULL); - RNA_def_property_ui_text(prop, "Color Set", "Custom color set to use"); - RNA_def_property_update(prop, NC_OBJECT | ND_POSE, "rna_Pose_update"); - - /* TODO: editing the colors for this should result in changes to the color type... */ - prop = RNA_def_property(srna, "colors", PROP_POINTER, PROP_NONE); - RNA_def_property_flag(prop, PROP_NEVER_NULL); - RNA_def_property_struct_type(prop, "ThemeBoneColorSet"); - /* NOTE: the DNA data is not really a pointer, but this code works :) */ - RNA_def_property_pointer_sdna(prop, NULL, "cs"); - RNA_def_property_ui_text(prop, "Colors", "Copy of the colors associated with the group's color set"); - RNA_def_property_update(prop, NC_OBJECT | ND_POSE, "rna_Pose_update"); + /* color set */ + rna_def_actionbone_group_common(srna, NC_OBJECT | ND_POSE, "rna_Pose_update"); } static EnumPropertyItem prop_iksolver_items[] = { diff --git a/source/blender/makesrna/intern/rna_rna.c b/source/blender/makesrna/intern/rna_rna.c index 38fbe708038..aab3483e29b 100644 --- a/source/blender/makesrna/intern/rna_rna.c +++ b/source/blender/makesrna/intern/rna_rna.c @@ -577,6 +577,12 @@ static int rna_Property_is_enum_flag_get(PointerRNA *ptr) return prop->flag & PROP_ENUM_FLAG ? 1 : 0; } +static int rna_Property_is_library_editable_flag_get(PointerRNA *ptr) +{ + PropertyRNA *prop = (PropertyRNA *)ptr->data; + return prop->flag & PROP_LIB_EXCEPTION ? 1 : 0; +} + static int rna_Property_array_length_get(PointerRNA *ptr) { PropertyRNA *prop = (PropertyRNA *)ptr->data; @@ -1174,6 +1180,11 @@ static void rna_def_property(BlenderRNA *brna) RNA_def_property_clear_flag(prop, PROP_EDITABLE); RNA_def_property_boolean_funcs(prop, "rna_Property_is_enum_flag_get", NULL); RNA_def_property_ui_text(prop, "Enum Flag", "True when multiple enums "); + + prop = RNA_def_property(srna, "is_library_editable", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Property_is_library_editable_flag_get", NULL); + RNA_def_property_ui_text(prop, "Library Editable", "Property is editable from linked instances (changes not saved)"); } static void rna_def_function(BlenderRNA *brna) diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index c26620168ff..511354c78a6 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -2747,7 +2747,7 @@ static void rna_def_scene_game_data(BlenderRNA *brna) StructRNA *srna; PropertyRNA *prop; - static EnumPropertyItem aasamples_items[] = { + static EnumPropertyItem aasamples_items[] = { {0, "SAMPLES_0", 0, "Off", ""}, {2, "SAMPLES_2", 0, "2x", ""}, {4, "SAMPLES_4", 0, "4x", ""}, @@ -4167,65 +4167,78 @@ static void rna_def_scene_render_data(BlenderRNA *brna) RNA_def_property_enum_bitflag_sdna(prop, NULL, "bake_mode"); RNA_def_property_enum_items(prop, bake_mode_items); RNA_def_property_ui_text(prop, "Bake Mode", "Choose shading information to bake into the image"); - + RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, NULL); + prop = RNA_def_property(srna, "bake_normal_space", PROP_ENUM, PROP_NONE); RNA_def_property_enum_bitflag_sdna(prop, NULL, "bake_normal_space"); RNA_def_property_enum_items(prop, bake_normal_space_items); RNA_def_property_ui_text(prop, "Normal Space", "Choose normal space for baking"); - + RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, NULL); + prop = RNA_def_property(srna, "bake_quad_split", PROP_ENUM, PROP_NONE); RNA_def_property_enum_items(prop, bake_qyad_split_items); RNA_def_property_ui_text(prop, "Quad Split", "Choose the method used to split a quad into 2 triangles for baking"); - + RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, NULL); + prop = RNA_def_property(srna, "bake_aa_mode", PROP_ENUM, PROP_NONE); RNA_def_property_enum_bitflag_sdna(prop, NULL, "bake_osa"); RNA_def_property_enum_items(prop, fixed_oversample_items); RNA_def_property_ui_text(prop, "Anti-Aliasing Level", ""); - + RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, NULL); + prop = RNA_def_property(srna, "use_bake_selected_to_active", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "bake_flag", R_BAKE_TO_ACTIVE); RNA_def_property_ui_text(prop, "Selected to Active", "Bake shading on the surface of selected objects to the active object"); - + RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, NULL); + prop = RNA_def_property(srna, "use_bake_normalize", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "bake_flag", R_BAKE_NORMALIZE); RNA_def_property_ui_text(prop, "Normalized", "With displacement normalize to the distance, with ambient occlusion " "normalize without using material settings"); - + RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, NULL); + prop = RNA_def_property(srna, "use_bake_clear", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "bake_flag", R_BAKE_CLEAR); RNA_def_property_ui_text(prop, "Clear", "Clear Images before baking"); - + RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, NULL); + prop = RNA_def_property(srna, "use_bake_antialiasing", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "bake_flag", R_BAKE_OSA); RNA_def_property_ui_text(prop, "Anti-Aliasing", "Enables Anti-aliasing"); - + RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, NULL); + prop = RNA_def_property(srna, "bake_margin", PROP_INT, PROP_NONE); RNA_def_property_int_sdna(prop, NULL, "bake_filter"); RNA_def_property_range(prop, 0, 64); RNA_def_property_ui_text(prop, "Margin", "Amount of pixels to extend the baked result with, as post process filter"); + RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, NULL); prop = RNA_def_property(srna, "bake_distance", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "bake_maxdist"); RNA_def_property_range(prop, 0.0, 1000.0); RNA_def_property_ui_text(prop, "Distance", "Maximum distance from active object to other object (in blender units)"); - + RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, NULL); + prop = RNA_def_property(srna, "bake_bias", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "bake_biasdist"); RNA_def_property_range(prop, 0.0, 1000.0); RNA_def_property_ui_text(prop, "Bias", "Bias towards faces further away from the object (in blender units)"); - + RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, NULL); + prop = RNA_def_property(srna, "use_bake_multires", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "bake_flag", R_BAKE_MULTIRES); RNA_def_property_ui_text(prop, "Bake from Multires", "Bake directly from multires object"); + RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, NULL); prop = RNA_def_property(srna, "use_bake_lores_mesh", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "bake_flag", R_BAKE_LORES_MESH); RNA_def_property_ui_text(prop, "Low Resolution Mesh", "Calculate heights against unsubdivided low resolution mesh"); + RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, NULL); /* stamp */ @@ -4654,7 +4667,7 @@ void RNA_def_scene(BlenderRNA *brna) RNA_def_property_flag(prop, PROP_EDITABLE | PROP_ID_SELF_CHECK); RNA_def_property_pointer_funcs(prop, NULL, "rna_Scene_set_set", NULL, NULL); RNA_def_property_ui_text(prop, "Background Scene", "Background set scene"); - RNA_def_property_update(prop, NC_SCENE | NA_EDITED, NULL); + RNA_def_property_update(prop, NC_SCENE | NA_EDITED, "rna_Scene_glsl_update"); prop = RNA_def_property(srna, "world", PROP_POINTER, PROP_NONE); RNA_def_property_flag(prop, PROP_EDITABLE); diff --git a/source/blender/makesrna/intern/rna_scene_api.c b/source/blender/makesrna/intern/rna_scene_api.c index 429f1d48df3..439335e69b4 100644 --- a/source/blender/makesrna/intern/rna_scene_api.c +++ b/source/blender/makesrna/intern/rna_scene_api.c @@ -85,9 +85,15 @@ static void rna_SceneRender_get_frame_path(RenderData *rd, int frame, char *name /* don't remove this, as COLLADA exporting cannot be done through operators in render() callback. */ #include "../../collada/collada.h" -static void rna_Scene_collada_export(Scene *scene, const char *filepath, int selected, int apply_modifiers, int second_life) +static void rna_Scene_collada_export( + Scene *scene, + const char *filepath, + int selected, + int apply_modifiers, + int include_bone_children, + int second_life) { - collada_export(scene, filepath, selected, apply_modifiers, second_life); + collada_export(scene, filepath, selected, apply_modifiers, include_bone_children, second_life); } #endif @@ -117,6 +123,7 @@ void RNA_api_scene(StructRNA *srna) RNA_def_property_subtype(parm, PROP_FILEPATH); /* allow non utf8 */ parm = RNA_def_boolean(func, "selected", 0, "Selection Only", "Export only selected elements"); parm = RNA_def_boolean(func, "apply_modifiers", 0, "Apply Modifiers", "Apply modifiers (in Preview resolution)"); + parm = RNA_def_boolean(func, "include_bone_children", 0, "Include Bone Children", "Include all objects attached to bones of selected Armature(s)"); parm = RNA_def_boolean(func, "second_life", 0, "Export for Second Life", "Compatibility mode for Second Life"); RNA_def_function_ui_description(func, "Export to collada file"); #endif diff --git a/source/blender/makesrna/intern/rna_screen.c b/source/blender/makesrna/intern/rna_screen.c index e442de6fc7c..71133634a96 100644 --- a/source/blender/makesrna/intern/rna_screen.c +++ b/source/blender/makesrna/intern/rna_screen.c @@ -94,8 +94,7 @@ static void rna_Screen_redraw_update(Main *UNUSED(bmain), Scene *UNUSED(scene), static int rna_Screen_is_animation_playing_get(PointerRNA *ptr) { - bScreen *sc = (bScreen *)ptr->data; - return (sc->animtimer != NULL); + return (ED_screen_animation_playing(G.main->wm.first) != NULL); } static int rna_Screen_fullscreen_get(PointerRNA *ptr) diff --git a/source/blender/makesrna/intern/rna_sculpt_paint.c b/source/blender/makesrna/intern/rna_sculpt_paint.c index ad40e71eb71..58d676555c1 100644 --- a/source/blender/makesrna/intern/rna_sculpt_paint.c +++ b/source/blender/makesrna/intern/rna_sculpt_paint.c @@ -234,6 +234,11 @@ static void rna_def_paint(BlenderRNA *brna) prop = RNA_def_property(srna, "show_low_resolution", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "flags", PAINT_FAST_NAVIGATE); RNA_def_property_ui_text(prop, "Fast Navigate", "For multires, show low resolution while navigating the view"); + + prop = RNA_def_property(srna, "input_samples", PROP_INT, PROP_UNSIGNED); + RNA_def_property_int_sdna(prop, NULL, "num_input_samples"); + RNA_def_property_ui_range(prop, 1, PAINT_MAX_INPUT_SAMPLES, 0, 0); + RNA_def_property_ui_text(prop, "Input Samples", "Average multiple input samples together to smooth the brush stroke"); } static void rna_def_sculpt(BlenderRNA *brna) diff --git a/source/blender/makesrna/intern/rna_sequencer.c b/source/blender/makesrna/intern/rna_sequencer.c index e7b648377e9..a3c309625f3 100644 --- a/source/blender/makesrna/intern/rna_sequencer.c +++ b/source/blender/makesrna/intern/rna_sequencer.c @@ -1374,12 +1374,14 @@ static void rna_def_effect_inputs(StructRNA *srna, int count) RNA_def_property_ui_text(prop, "Input 2", "Second input for the effect strip"); } - if (count == 3) { /* not used by any effects ...except maybe plugins? */ + /* + if (count == 3) { // not used by any effects ...except maybe plugins? prop = RNA_def_property(srna, "input_3", PROP_POINTER, PROP_NONE); RNA_def_property_pointer_sdna(prop, NULL, "seq3"); RNA_def_property_flag(prop, PROP_EDITABLE | PROP_NEVER_NULL); RNA_def_property_ui_text(prop, "Input 3", "Third input for the effect strip"); } + */ } static void rna_def_image(BlenderRNA *brna) @@ -1472,7 +1474,7 @@ static void rna_def_movie(BlenderRNA *brna) prop = RNA_def_property(srna, "stream_index", PROP_INT, PROP_NONE); RNA_def_property_int_sdna(prop, NULL, "streamindex"); RNA_def_property_range(prop, 0, 20); - RNA_def_property_ui_text(prop, "Streamindex", + RNA_def_property_ui_text(prop, "Stream Index", "For files with several movie streams, use the stream with the given index"); RNA_def_property_update(prop, NC_SCENE | ND_SEQUENCER, "rna_Sequence_update_reopen_files"); diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index 0e2fc6e8f11..9b4dcd03c79 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -1567,6 +1567,11 @@ static void rna_def_space_view3d(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Textured Solid", "Display face-assigned textures in solid view"); RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL); + prop = RNA_def_property(srna, "show_backface_culling", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag2", V3D_BACKFACE_CULLING); + RNA_def_property_ui_text(prop, "Backface Culling", "Use back face culling to hide the back side of faces"); + RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL); + prop = RNA_def_property(srna, "lock_camera", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "flag2", V3D_LOCK_CAMERA); RNA_def_property_ui_text(prop, "Lock Camera to View", "Enable view navigation within the camera view"); @@ -2262,6 +2267,12 @@ static void rna_def_space_dopesheet(BlenderRNA *brna) "(Action and Shape Key Editors only)"); RNA_def_property_update(prop, NC_SPACE | ND_SPACE_DOPESHEET, NULL); + prop = RNA_def_property(srna, "show_group_colors", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", SACTION_NODRAWGCOLORS); + RNA_def_property_ui_text(prop, "Show Group Colors", + "Draw groups and channels with colours matching their corresponding groups"); + RNA_def_property_update(prop, NC_SPACE | ND_SPACE_DOPESHEET, NULL); + /* editing */ prop = RNA_def_property(srna, "use_auto_merge_keyframes", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", SACTION_NOTRANSKEYCULL); @@ -2367,6 +2378,12 @@ static void rna_def_space_graph(BlenderRNA *brna) "(disable for better performance)"); RNA_def_property_update(prop, NC_SPACE | ND_SPACE_GRAPH, NULL); + prop = RNA_def_property(srna, "show_group_colors", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", SIPO_NODRAWGCOLORS); + RNA_def_property_ui_text(prop, "Show Group Colors", + "Draw groups and channels with colours matching their corresponding groups"); + RNA_def_property_update(prop, NC_SPACE | ND_SPACE_GRAPH, NULL); + /* editing */ prop = RNA_def_property(srna, "use_auto_merge_keyframes", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", SIPO_NOTRANSKEYCULL); diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c index fa3473ca7e7..4835ec20163 100644 --- a/source/blender/makesrna/intern/rna_userdef.c +++ b/source/blender/makesrna/intern/rna_userdef.c @@ -1209,6 +1209,11 @@ static void rna_def_userdef_theme_space_view3d(BlenderRNA *brna) RNA_def_property_array(prop, 3); RNA_def_property_ui_text(prop, "Camera Path", ""); RNA_def_property_update(prop, 0, "rna_userdef_update"); + + prop = RNA_def_property(srna, "skin_root", PROP_FLOAT, PROP_COLOR_GAMMA); + RNA_def_property_array(prop, 3); + RNA_def_property_ui_text(prop, "Skin Root", ""); + RNA_def_property_update(prop, 0, "rna_userdef_update"); } @@ -1536,6 +1541,18 @@ static void rna_def_userdef_theme_space_node(BlenderRNA *brna) rna_def_userdef_theme_spaces_main(srna); rna_def_userdef_theme_spaces_list_main(srna); + prop = RNA_def_property(srna, "node_selected", PROP_FLOAT, PROP_COLOR_GAMMA); + RNA_def_property_float_sdna(prop, NULL, "select"); + RNA_def_property_array(prop, 3); + RNA_def_property_ui_text(prop, "Node Selected", ""); + RNA_def_property_update(prop, 0, "rna_userdef_update"); + + prop = RNA_def_property(srna, "node_active", PROP_FLOAT, PROP_COLOR_GAMMA); + RNA_def_property_float_sdna(prop, NULL, "active"); + RNA_def_property_array(prop, 3); + RNA_def_property_ui_text(prop, "Active Node", ""); + RNA_def_property_update(prop, 0, "rna_userdef_update"); + prop = RNA_def_property(srna, "wire", PROP_FLOAT, PROP_COLOR_GAMMA); RNA_def_property_float_sdna(prop, NULL, "wire"); RNA_def_property_array(prop, 3); @@ -2802,7 +2819,7 @@ static void rna_def_userdef_system(BlenderRNA *brna) {0, NULL, 0, NULL, NULL} }; - static EnumPropertyItem anisotropic_items[] = { + static EnumPropertyItem anisotropic_items[] = { {1, "FILTER_0", 0, "Off", ""}, {2, "FILTER_2", 0, "2x", ""}, {4, "FILTER_4", 0, "4x", ""}, @@ -3046,7 +3063,7 @@ static void rna_def_userdef_system(BlenderRNA *brna) prop = RNA_def_property(srna, "memory_cache_limit", PROP_INT, PROP_NONE); RNA_def_property_int_sdna(prop, NULL, "memcachelimit"); - RNA_def_property_range(prop, 0, (sizeof(void *) == 8) ? 1024 * 16 : 1024); /* 32 bit 2 GB, 64 bit 16 GB */ + RNA_def_property_range(prop, 0, (sizeof(void *) == 8) ? 1024 * 32 : 1024); /* 32 bit 2 GB, 64 bit 32 GB */ RNA_def_property_ui_text(prop, "Memory Cache Limit", "Memory cache limit (in megabytes)"); RNA_def_property_update(prop, 0, "rna_Userdef_memcache_update"); diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c index 993d1e20bc5..194f48bd32a 100644 --- a/source/blender/makesrna/intern/rna_wm.c +++ b/source/blender/makesrna/intern/rna_wm.c @@ -1783,7 +1783,7 @@ static void rna_def_keyconfig(BlenderRNA *brna) RNA_def_struct_name_property(srna, prop); RNA_def_property_update(prop, 0, "rna_KeyMapItem_update"); - /* this is infact the operator name, but if the operator can't be found we + /* this is in fact the operator name, but if the operator can't be found we * fallback on the operator ID */ prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE); RNA_def_property_clear_flag(prop, PROP_EDITABLE); diff --git a/source/blender/modifiers/CMakeLists.txt b/source/blender/modifiers/CMakeLists.txt index 90ae423f8a3..83e7ea81ca5 100644 --- a/source/blender/modifiers/CMakeLists.txt +++ b/source/blender/modifiers/CMakeLists.txt @@ -77,6 +77,7 @@ set(SRC intern/MOD_shapekey.c intern/MOD_shrinkwrap.c intern/MOD_simpledeform.c + intern/MOD_skin.c intern/MOD_smoke.c intern/MOD_smooth.c intern/MOD_softbody.c diff --git a/source/blender/modifiers/MOD_modifiertypes.h b/source/blender/modifiers/MOD_modifiertypes.h index ea5574a378e..bf411c3b2fc 100644 --- a/source/blender/modifiers/MOD_modifiertypes.h +++ b/source/blender/modifiers/MOD_modifiertypes.h @@ -74,6 +74,7 @@ extern ModifierTypeInfo modifierType_WeightVGMix; extern ModifierTypeInfo modifierType_WeightVGProximity; extern ModifierTypeInfo modifierType_DynamicPaint; extern ModifierTypeInfo modifierType_Remesh; +extern ModifierTypeInfo modifierType_Skin; /* MOD_util.c */ void modifier_type_init(ModifierTypeInfo *types[]); diff --git a/source/blender/modifiers/intern/MOD_collision.c b/source/blender/modifiers/intern/MOD_collision.c index a3169bdba46..609d70b6e98 100644 --- a/source/blender/modifiers/intern/MOD_collision.c +++ b/source/blender/modifiers/intern/MOD_collision.c @@ -71,7 +71,7 @@ static void freeData(ModifierData *md) { CollisionModifierData *collmd = (CollisionModifierData *) md; - if (collmd) { + if (collmd) { if (collmd->bvhtree) BLI_bvhtree_free(collmd->bvhtree); if (collmd->x) diff --git a/source/blender/modifiers/intern/MOD_dynamicpaint.c b/source/blender/modifiers/intern/MOD_dynamicpaint.c index 159da9adfcf..7d7bfade9b7 100644 --- a/source/blender/modifiers/intern/MOD_dynamicpaint.c +++ b/source/blender/modifiers/intern/MOD_dynamicpaint.c @@ -78,12 +78,14 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) for (; surface; surface = surface->next) { /* tface */ if (surface->format == MOD_DPAINT_SURFACE_F_IMAGESEQ || - surface->init_color_type == MOD_DPAINT_INITIAL_TEXTURE) { + surface->init_color_type == MOD_DPAINT_INITIAL_TEXTURE) + { dataMask |= (1 << CD_MTFACE); } /* mcol */ if (surface->type == MOD_DPAINT_SURFACE_T_PAINT || - surface->init_color_type == MOD_DPAINT_INITIAL_VERTEXCOLOR) { + surface->init_color_type == MOD_DPAINT_INITIAL_VERTEXCOLOR) + { dataMask |= (1 << CD_MCOL); } /* CD_MDEFORMVERT */ diff --git a/source/blender/modifiers/intern/MOD_mask.c b/source/blender/modifiers/intern/MOD_mask.c index 5206aa281f7..0a14b4d5a08 100644 --- a/source/blender/modifiers/intern/MOD_mask.c +++ b/source/blender/modifiers/intern/MOD_mask.c @@ -273,7 +273,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, /* loop over edges and faces, and do the same thing to * ensure that they only reference existing verts */ - for (i = 0; i < maxEdges; i++) { + for (i = 0; i < maxEdges; i++) { MEdge me; dm->getEdge(dm, i, &me); diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index f45cc9c2ade..ce95f9bec6e 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -94,7 +94,7 @@ static void screwvert_iter_step(ScrewVertIter *iter) iter->v_other = iter->v; iter->v = iter->v_poin->v[0]; } - if (iter->v >= 0) { + if (iter->v >= 0) { iter->v_poin = &iter->v_array[iter->v]; iter->e = iter->v_poin->e[(iter->v_poin->e[0] == iter->e)]; } diff --git a/source/blender/modifiers/intern/MOD_skin.c b/source/blender/modifiers/intern/MOD_skin.c new file mode 100644 index 00000000000..e3a4ff17d7c --- /dev/null +++ b/source/blender/modifiers/intern/MOD_skin.c @@ -0,0 +1,1857 @@ +/* + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Contributor(s): Nicholas Bishop + * + * ***** END GPL LICENSE BLOCK ***** + * + */ + +/** \file blender/modifiers/intern/MOD_skin.c + * \ingroup modifiers + */ + +/* Implementation based in part off the paper "B-Mesh: A Fast Modeling + * System for Base Meshes of 3D Articulated Shapes" (Zhongping Ji, + * Ligang Liu, Yigang Wang) + * + * Note that to avoid confusion with Blender's BMesh data structure, + * this tool is renamed as the Skin modifier. + * + * The B-Mesh paper is current available here: + * http://www.math.zju.edu.cn/ligangliu/CAGD/Projects/BMesh/ + * + * The main missing features in this code compared to the paper are: + * + * + No mesh evolution. The paper suggests iteratively subsurfing the + * skin output and adapting the output to better conform with the + * spheres of influence surrounding each vertex. + * + * + No mesh fairing. The paper suggests re-aligning output edges to + * follow principal mesh curvatures. + * + * + No auxiliary balls. These would serve to influence mesh + * evolution, which as noted above is not implemented. + * + * The code also adds some features not present in the paper: + * + * + Loops in the input edge graph. + * + * + Concave surfaces around branch nodes. The paper does not discuss + * how to handle non-convex regions; this code adds a number of + * cleanup operations to handle many (though not all) of these + * cases. + */ + +#include "MEM_guardedalloc.h" + +#include "DNA_mesh_types.h" +#include "DNA_meshdata_types.h" +#include "DNA_object_types.h" +#include "DNA_modifier_types.h" + +#include "BLI_utildefines.h" +#include "BLI_array.h" +#include "BLI_heap.h" +#include "BLI_listbase.h" +#include "BLI_math.h" +#include "BLI_string.h" + +#include "BKE_cdderivedmesh.h" +#include "BKE_deform.h" +#include "BKE_DerivedMesh.h" +#include "BKE_mesh.h" +#include "BKE_modifier.h" +#include "BKE_tessmesh.h" + +#include "MOD_util.h" + +typedef struct { + float mat[3][3]; + /* Vert that edge is pointing away from, no relation to + * MEdge.v1 */ + int origin; +} EMat; + +typedef enum { + CAP_START = 1, + CAP_END = 2, + SEAM_FRAME = 4, +} SkinNodeFlag; + +typedef struct Frame { + /* Index in the MVert array */ + BMVert *verts[4]; + /* Location of each corner */ + float co[4][3]; + /* Indicates which corners have been merged with another + * frame's corner (so they share an MVert index) */ + struct { + /* Merge to target frame/corner (no merge if frame is null) */ + struct Frame *frame; + int corner; + } merge[4]; + + /* For hull frames, whether each vertex is detached or not */ + int inside_hull[4]; + /* Whether any part of the frame (corner or edge) is detached */ + int detached; +} Frame; + +#define MAX_SKIN_NODE_FRAMES 2 +typedef struct { + Frame frames[MAX_SKIN_NODE_FRAMES]; + int totframe; + + SkinNodeFlag flag; + + /* Used for hulling a loop seam */ + int seam_edges[2]; +} SkinNode; + +typedef struct { + BMesh *bm; + SkinModifierData *smd; + int mat_nr; +} SkinOutput; + +static void add_poly(SkinOutput *so, + BMVert *v1, + BMVert *v2, + BMVert *v3, + BMVert *v4); + +/***************************** Convex Hull ****************************/ + +static int is_quad_symmetric(BMVert *quad[4], + const SkinModifierData *smd) +{ + const float threshold = 0.0001f; + int axis; + + for (axis = 0; axis < 3; axis++) { + if (smd->symmetry_axes & (1 << axis)) { + float a[3]; + + copy_v3_v3(a, quad[0]->co); + a[axis] = -a[axis]; + + if (len_v3v3(a, quad[1]->co) < threshold) { + copy_v3_v3(a, quad[2]->co); + a[axis] = -a[axis]; + if (len_v3v3(a, quad[3]->co) < threshold) + return 1; + } + else if (len_v3v3(a, quad[3]->co) < threshold) { + copy_v3_v3(a, quad[2]->co); + a[axis] = -a[axis]; + if (len_v3v3(a, quad[1]->co) < threshold) + return 1; + } + } + } + + return 0; +} + +/* Returns true if the quad crosses the plane of symmetry, false otherwise */ +static int quad_crosses_symmetry_plane(BMVert *quad[4], + const SkinModifierData *smd) +{ + int axis; + + for (axis = 0; axis < 3; axis++) { + if (smd->symmetry_axes & (1 << axis)) { + int i, left = 0, right = 0; + + for (i = 0; i < 4; i++) { + if (quad[i]->co[axis] < 0) + left = 1; + else if (quad[i]->co[axis] > 0) + right = 1; + + if (left && right) + return TRUE; + } + } + } + + return FALSE; +} + +/* Returns true if the frame is filled by precisely two faces (and + * outputs those faces to fill_faces), otherwise returns false. */ +static int skin_frame_find_contained_faces(const Frame *frame, + BMFace *fill_faces[2]) +{ + BMEdge *diag; + + /* See if the frame is bisected by a diagonal edge */ + diag = BM_edge_exists(frame->verts[0], frame->verts[2]); + if (!diag) + diag = BM_edge_exists(frame->verts[1], frame->verts[3]); + + if (diag) + return BM_edge_face_pair(diag, &fill_faces[0], &fill_faces[1]); + else + return FALSE; +} + +/* Returns TRUE if hull is successfully built, FALSE otherwise */ +static int build_hull(SkinOutput *so, Frame **frames, int totframe) +{ + BMesh *bm = so->bm; + BMOperator op; + BMIter iter; + BMOIter oiter; + BMVert *v; + BMFace *f; + BMEdge *e; + int i, j; + + BM_mesh_elem_hflag_disable_all(bm, BM_VERT, BM_ELEM_TAG, FALSE); + + for (i = 0; i < totframe; i++) { + for (j = 0; j < 4; j++) { + BM_elem_flag_enable(frames[i]->verts[j], BM_ELEM_TAG); + } + } + + /* Deselect all faces so that only new hull output faces are + * selected after the operator is run */ + BM_mesh_elem_hflag_disable_all(bm, BM_ALL, BM_ELEM_SELECT, 0); + + BMO_op_initf(bm, &op, "convex_hull input=%hv", BM_ELEM_TAG); + BMO_op_exec(bm, &op); + + if (BMO_error_occurred(bm)) { + BMO_op_finish(bm, &op); + return FALSE; + } + + /* Apply face attributes to hull output */ + BMO_ITER (f, &oiter, bm, &op, "geomout", BM_FACE) { + if (so->smd->flag & MOD_SKIN_SMOOTH_SHADING) + BM_elem_flag_enable(f, BM_ELEM_SMOOTH); + f->mat_nr = so->mat_nr; + } + + /* Mark interior frames */ + BMO_ITER (v, &oiter, bm, &op, "interior_geom", BM_VERT) { + for (i = 0; i < totframe; i++) { + Frame *frame = frames[i]; + + if (!frame->detached) { + for (j = 0; j < 4; j++) { + if (frame->verts[j] == v) { + frame->inside_hull[j] = TRUE; + frame->detached = TRUE; + break; + } + } + } + } + } + + /* Also mark frames as interior if an edge is not in the hull */ + for (i = 0; i < totframe; i++) { + Frame *frame = frames[i]; + + if (!frame->detached && + (!BM_edge_exists(frame->verts[0], frame->verts[1]) || + !BM_edge_exists(frame->verts[1], frame->verts[2]) || + !BM_edge_exists(frame->verts[2], frame->verts[3]) || + !BM_edge_exists(frame->verts[3], frame->verts[0]))) + { + frame->detached = TRUE; + } + } + + /* Remove triangles that would fill the original frames -- skip if + * frame is partially detached */ + BM_mesh_elem_hflag_disable_all(bm, BM_ALL, BM_ELEM_TAG, FALSE); + for (i = 0; i < totframe; i++) { + Frame *frame = frames[i]; + if (!frame->detached) { + BMFace *fill_faces[2]; + + /* Check if the frame is filled by precisely two + * triangles. If so, delete the triangles and their shared + * edge. Otherwise, give up and mark the frame as + * detached. */ + if (skin_frame_find_contained_faces(frame, fill_faces)) { + BM_elem_flag_enable(fill_faces[0], BM_ELEM_TAG); + BM_elem_flag_enable(fill_faces[1], BM_ELEM_TAG); + } + else + frame->detached = TRUE; + } + } + + /* Check if removing triangles above will create wire triangles, + * mark them too */ + BMO_ITER (e, &oiter, bm, &op, "geomout", BM_EDGE) { + int is_wire = TRUE; + BM_ITER_ELEM (f, &iter, e, BM_FACES_OF_EDGE) { + if (!BM_elem_flag_test(f, BM_ELEM_TAG)) { + is_wire = FALSE; + break; + } + } + if (is_wire) + BM_elem_flag_enable(e, BM_ELEM_TAG); + } + + BMO_op_finish(bm, &op); + + BMO_op_callf(bm, "del geom=%hef context=%i", BM_ELEM_TAG, DEL_ONLYTAGGED); + + return TRUE; +} + +/* Returns the average frame side length (frames are rectangular, so + * just the average of two adjacent edge lengths) */ +static float frame_len(const Frame *frame) +{ + return (len_v3v3(frame->co[0], frame->co[1]) + + len_v3v3(frame->co[1], frame->co[2])) * 0.5f; +} + +static void merge_frame_corners(Frame **frames, int totframe) +{ + float dist, side_a, side_b, thresh, mid[3]; + int i, j, k, l; + + for (i = 0; i < totframe; i++) { + side_a = frame_len(frames[i]); + + /* For each corner of each frame... */ + for (j = 0; j < 4; j++) { + + /* Ensure the merge target is not itself a merge target */ + if (frames[i]->merge[j].frame) + continue; + + for (k = i + 1; k < totframe; k++) { + BLI_assert(frames[i] != frames[k]); + + side_b = frame_len(frames[k]); + thresh = MIN2(side_a, side_b) / 2.0f; + + /* Compare with each corner of all other frames... */ + for (l = 0; l < 4; l++) { + if (frames[k]->merge[l].frame) + continue; + + /* Some additional concerns that could be checked + * further: + * + * + Vertex coords are being used for the + * edge-length test, but are also being + * modified, might cause symmetry problems. + * + * + A frame could be merged diagonally across + * another, would generate a weird (bad) T + * junction + */ + + /* Check if corners are near each other, where + * 'near' is based in the frames' minimum side + * length */ + dist = len_v3v3(frames[i]->co[j], + frames[k]->co[l]); + if (dist < thresh) { + mid_v3_v3v3(mid, + frames[i]->co[j], + frames[k]->co[l]); + + copy_v3_v3(frames[i]->co[j], mid); + copy_v3_v3(frames[k]->co[l], mid); + + frames[k]->merge[l].frame = frames[i]; + frames[k]->merge[l].corner = j; + + /* Can't merge another corner into the same + * frame corner, so move on to frame k+1 */ + break; + } + } + } + } + } +} + +static Frame **collect_hull_frames(int v, SkinNode *frames, + const MeshElemMap *emap, const MEdge *medge, + int *tothullframe) +{ + SkinNode *f; + Frame **hull_frames; + int nbr, i; + + (*tothullframe) = emap[v].count; + hull_frames = MEM_callocN(sizeof(Frame * *) * (*tothullframe), + "hull_from_frames.hull_frames"); + i = 0; + for (nbr = 0; nbr < emap[v].count; nbr++) { + const MEdge *e = &medge[emap[v].indices[nbr]]; + f = &frames[BKE_mesh_edge_other_vert(e, v)]; + /* Can't have adjacent branch nodes yet */ + if (f->totframe) + hull_frames[i++] = &f->frames[0]; + else + (*tothullframe)--; + } + + return hull_frames; +} + + +/**************************** Create Frames ***************************/ + +static void node_frames_init(SkinNode *nf, int totframe) +{ + int i; + + nf->totframe = totframe; + memset(nf->frames, 0, sizeof(nf->frames)); + + nf->flag = 0; + for (i = 0; i < 2; i++) + nf->seam_edges[i] = -1; +} + +static void create_frame(Frame *frame, const float co[3], + const float radius[2], + float mat[3][3], float offset) +{ + float rx[3], ry[3], rz[3]; + int i; + + mul_v3_v3fl(ry, mat[1], radius[0]); + mul_v3_v3fl(rz, mat[2], radius[1]); + + add_v3_v3v3(frame->co[3], co, ry); + add_v3_v3v3(frame->co[3], frame->co[3], rz); + + sub_v3_v3v3(frame->co[2], co, ry); + add_v3_v3v3(frame->co[2], frame->co[2], rz); + + sub_v3_v3v3(frame->co[1], co, ry); + sub_v3_v3v3(frame->co[1], frame->co[1], rz); + + add_v3_v3v3(frame->co[0], co, ry); + sub_v3_v3v3(frame->co[0], frame->co[0], rz); + + mul_v3_v3fl(rx, mat[0], offset); + for (i = 0; i < 4; i++) + add_v3_v3v3(frame->co[i], frame->co[i], rx); +} + +static float half_v2(const float v[2]) +{ + return (v[0] + v[1]) * 0.5f; +} + +static void end_node_frames(int v, SkinNode *skin_nodes, const MVert *mvert, + const MVertSkin *nodes, const MeshElemMap *emap, + EMat *emat) +{ + const float *rad = nodes[v].radius; + float mat[3][3]; + + if (emap[v].count == 0) { + float avg = half_v2(rad); + + /* For solitary nodes, just build a box (two frames) */ + node_frames_init(&skin_nodes[v], 2); + skin_nodes[v].flag |= (CAP_START | CAP_END); + + /* Hardcoded basis */ + zero_m3(mat); + mat[0][2] = mat[1][0] = mat[2][1] = 1; + + /* Caps */ + create_frame(&skin_nodes[v].frames[0], mvert[v].co, rad, mat, avg); + create_frame(&skin_nodes[v].frames[1], mvert[v].co, rad, mat, -avg); + } + else { + /* For nodes with an incoming edge, create a single (capped) frame */ + node_frames_init(&skin_nodes[v], 1); + skin_nodes[v].flag |= CAP_START; + + /* Use incoming edge for orientation */ + copy_m3_m3(mat, emat[emap[v].indices[0]].mat); + if (emat[emap[v].indices[0]].origin != v) + negate_v3(mat[0]); + + /* End frame */ + create_frame(&skin_nodes[v].frames[0], mvert[v].co, rad, mat, 0); + } +} + +/* Returns 1 for seam, 0 otherwise */ +static int connection_node_mat(float mat[3][3], int v, const MeshElemMap *emap, EMat *emat) +{ + float axis[3], angle, ine[3][3], oute[3][3]; + EMat *e1, *e2; + + e1 = &emat[emap[v].indices[0]]; + e2 = &emat[emap[v].indices[1]]; + + if (e1->origin != v && e2->origin == v) { + copy_m3_m3(ine, e1->mat); + copy_m3_m3(oute, e2->mat); + } + else if (e1->origin == v && e2->origin != v) { + copy_m3_m3(ine, e2->mat); + copy_m3_m3(oute, e1->mat); + } + else + return 1; + + /* Get axis and angle to rotate frame by */ + angle = angle_normalized_v3v3(ine[0], oute[0]) / 2.0f; + cross_v3_v3v3(axis, ine[0], oute[0]); + + /* Build frame matrix (don't care about X axis here) */ + copy_v3_v3(mat[0], ine[0]); + rotate_normalized_v3_v3v3fl(mat[1], ine[1], axis, angle); + rotate_normalized_v3_v3v3fl(mat[2], ine[2], axis, angle); + + return 0; +} + +static void connection_node_frames(int v, SkinNode *skin_nodes, const MVert *mvert, + const MVertSkin *nodes, const MeshElemMap *emap, + EMat *emat) +{ + const float *rad = nodes[v].radius; + float mat[3][3]; + EMat *e1, *e2; + + if (connection_node_mat(mat, v, emap, emat)) { + float avg = half_v2(rad); + + /* Get edges */ + e1 = &emat[emap[v].indices[0]]; + e2 = &emat[emap[v].indices[1]]; + + /* Handle seam separately to avoid twisting */ + /* Create two frames, will be hulled to neighbors later */ + node_frames_init(&skin_nodes[v], 2); + skin_nodes[v].flag |= SEAM_FRAME; + + copy_m3_m3(mat, e1->mat); + if (e1->origin != v) negate_v3(mat[0]); + create_frame(&skin_nodes[v].frames[0], mvert[v].co, rad, mat, avg); + skin_nodes[v].seam_edges[0] = emap[v].indices[0]; + + copy_m3_m3(mat, e2->mat); + if (e2->origin != v) negate_v3(mat[0]); + create_frame(&skin_nodes[v].frames[1], mvert[v].co, rad, mat, avg); + skin_nodes[v].seam_edges[1] = emap[v].indices[1]; + + return; + } + + /* Build regular frame */ + node_frames_init(&skin_nodes[v], 1); + create_frame(&skin_nodes[v].frames[0], mvert[v].co, rad, mat, 0); +} + +static SkinNode *build_frames(const MVert *mvert, int totvert, + const MVertSkin *nodes, const MeshElemMap *emap, + EMat *emat) +{ + SkinNode *skin_nodes; + int v; + + skin_nodes = MEM_callocN(sizeof(SkinNode) * totvert, "build_frames.skin_nodes"); + + for (v = 0; v < totvert; v++) { + if (emap[v].count <= 1) + end_node_frames(v, skin_nodes, mvert, nodes, emap, emat); + else if (emap[v].count == 2) + connection_node_frames(v, skin_nodes, mvert, nodes, emap, emat); + else { + /* Branch node generates no frames */ + } + } + + return skin_nodes; +} + +/**************************** Edge Matrices ***************************/ + +static void calc_edge_mat(float mat[3][3], const float a[3], const float b[3]) +{ + const float z_up[3] = {0, 0, 1}; + float dot; + + /* X = edge direction */ + sub_v3_v3v3(mat[0], b, a); + normalize_v3(mat[0]); + + dot = dot_v3v3(mat[0], z_up); + if (dot > -1 + FLT_EPSILON && dot < 1 - FLT_EPSILON) { + /* Y = Z cross x */ + cross_v3_v3v3(mat[1], z_up, mat[0]); + normalize_v3(mat[1]); + + /* Z = x cross y */ + cross_v3_v3v3(mat[2], mat[0], mat[1]); + normalize_v3(mat[2]); + } + else { + mat[1][0] = 1; + mat[1][1] = 0; + mat[1][2] = 0; + mat[2][0] = 0; + mat[2][1] = 1; + mat[2][2] = 0; + } +} + +static void build_emats_rec(int *visited_e, EMat *emat, + const MeshElemMap *emap, const MEdge *medge, + const MVertSkin *vs, const MVert *mvert, + int parent_v, float parent_mat[3][3]) +{ + float axis[3], angle; + int i, e, v, parent_is_branch; + + parent_is_branch = ((emap[parent_v].count > 2) || + (vs[parent_v].flag & MVERT_SKIN_ROOT)); + + for (i = 0; i < emap[parent_v].count; i++) { + e = emap[parent_v].indices[i]; + + /* Ignore edge if already visited */ + if (visited_e[e]) continue; + visited_e[e] = 1; + + v = BKE_mesh_edge_other_vert(&medge[e], parent_v); + emat[e].origin = parent_v; + + /* If parent is a branch node, start a new edge chain */ + if (parent_is_branch) { + calc_edge_mat(emat[e].mat, mvert[parent_v].co, + mvert[v].co); + } + else { + /* Build edge matrix guided by parent matrix */ + sub_v3_v3v3(emat[e].mat[0], mvert[v].co, mvert[parent_v].co); + normalize_v3(emat[e].mat[0]); + angle = angle_normalized_v3v3(parent_mat[0], emat[e].mat[0]); + cross_v3_v3v3(axis, parent_mat[0], emat[e].mat[0]); + normalize_v3(axis); + rotate_normalized_v3_v3v3fl(emat[e].mat[1], parent_mat[1], axis, angle); + rotate_normalized_v3_v3v3fl(emat[e].mat[2], parent_mat[2], axis, angle); + } + + build_emats_rec(visited_e, emat, emap, medge, + vs, mvert, v, emat[e].mat); + } +} + +static EMat *build_edge_mats(MVertSkin *vs, MVert *mvert, int totvert, + MEdge *medge, MeshElemMap *emap, int totedge) +{ + EMat *emat; + float mat[3][3]; + int *visited_e, v; + + visited_e = MEM_callocN(sizeof(int) * totedge, "build_edge_mats.visited_e"); + emat = MEM_callocN(sizeof(EMat) * totedge, "build_edge_mats.emat"); + + /* Build edge matrices recursively from the root nodes */ + for (v = 0; v < totvert; v++) { + if (vs[v].flag & MVERT_SKIN_ROOT) { + if (emap[v].count >= 1) { + const MEdge *e = &medge[emap[v].indices[0]]; + calc_edge_mat(mat, mvert[v].co, + mvert[BKE_mesh_edge_other_vert(e, v)].co); + build_emats_rec(visited_e, emat, emap, medge, vs, mvert, v, mat); + } + } + } + + MEM_freeN(visited_e); + + return emat; +} + + +/************************** Input Subdivision *************************/ + +/* Returns number of edge subdivisions, taking into account the radius + * of the endpoints and the edge length. If both endpoints are branch + * nodes, at least two intermediate frames are required. (This avoids + * having any special cases for dealing with sharing a frame between + * two hulls.) */ +static int calc_edge_subdivisions(const MVert *mvert, const MVertSkin *nodes, + const MEdge *e, int *degree) +{ + const MVertSkin *evs[2] = {&nodes[e->v1], &nodes[e->v2]}; + float edge_len, avg[2]; + int v1_branch = degree[e->v1] > 2; + int v2_branch = degree[e->v2] > 2; + int num_subdivisions; + + /* If either end is a branch node marked 'loose', don't subdivide + * the edge (or subdivide just twice if both are branches) */ + if ((v1_branch && (evs[0]->flag & MVERT_SKIN_LOOSE)) || + (v2_branch && (evs[1]->flag & MVERT_SKIN_LOOSE))) + { + if (v1_branch && v2_branch) + return 2; + else + return 0; + } + + edge_len = len_v3v3(mvert[e->v1].co, mvert[e->v2].co); + + avg[0] = half_v2(evs[0]->radius); + avg[1] = half_v2(evs[1]->radius); + num_subdivisions = (int)((float)edge_len / (avg[0] + avg[1])); + + /* If both ends are branch nodes, two intermediate nodes are + * required */ + if (num_subdivisions < 2 && v1_branch && v2_branch) + num_subdivisions = 2; + + return num_subdivisions; +} + +/* Take a DerivedMesh and subdivide its edges to keep skin nodes + * reasonably close. */ +static DerivedMesh *subdivide_base(DerivedMesh *orig) +{ + DerivedMesh *dm; + MVertSkin *orignode, *outnode; + MVert *origvert, *outvert; + MEdge *origedge, *outedge, *e; + MDeformVert *origdvert, *outdvert; + int totorigvert, totorigedge; + int totsubd, *degree, *edge_subd; + int i, j, k, u, v; + float radrat; + + orignode = CustomData_get_layer(&orig->vertData, CD_MVERT_SKIN); + origvert = orig->getVertArray(orig); + origedge = orig->getEdgeArray(orig); + origdvert = orig->getVertDataArray(orig, CD_MDEFORMVERT); + totorigvert = orig->getNumVerts(orig); + totorigedge = orig->getNumEdges(orig); + + /* Get degree of all vertices */ + degree = MEM_callocN(sizeof(int) * totorigvert, "degree"); + for (i = 0; i < totorigedge; i++) { + degree[origedge[i].v1]++; + degree[origedge[i].v2]++; + } + + /* Per edge, store how many subdivisions are needed */ + edge_subd = MEM_callocN(sizeof(int) * totorigedge, "edge_subd"); + for (i = 0, totsubd = 0; i < totorigedge; i++) { + edge_subd[i] += calc_edge_subdivisions(origvert, orignode, + &origedge[i], degree); + totsubd += edge_subd[i]; + } + + MEM_freeN(degree); + + /* Allocate output derivedmesh */ + dm = CDDM_from_template(orig, + totorigvert + totsubd, + totorigedge + totsubd, + 0, 0, 0); + + outvert = dm->getVertArray(dm); + outedge = dm->getEdgeArray(dm); + outnode = CustomData_get_layer(&dm->vertData, CD_MVERT_SKIN); + outdvert = CustomData_get_layer(&dm->vertData, CD_MDEFORMVERT); + + /* Copy original vertex data */ + CustomData_copy_data(&orig->vertData, + &dm->vertData, + 0, 0, totorigvert); + + /* Subdivide edges */ + for (i = 0, v = totorigvert; i < totorigedge; i++) { + struct { + /* Vertex group number */ + int def_nr; + float w1, w2; + } *vgroups = NULL, *vg; + int totvgroup = 0; + + e = &origedge[i]; + + if (origdvert) { + const MDeformVert *dv1 = &origdvert[e->v1]; + const MDeformVert *dv2 = &origdvert[e->v2]; + vgroups = MEM_callocN(sizeof(*vgroups) * dv1->totweight, "vgroup"); + + /* Only want vertex groups used by both vertices */ + for (j = 0; j < dv1->totweight; j++) { + vg = NULL; + for (k = 0; k < dv2->totweight; k++) { + if (dv1->dw[j].def_nr == dv2->dw[k].def_nr) { + vg = &vgroups[totvgroup]; + totvgroup++; + break; + } + } + + if (vg) { + vg->def_nr = dv1->dw[j].def_nr; + vg->w1 = dv1->dw[j].weight; + vg->w1 = dv2->dw[k].weight; + } + } + } + + u = e->v1; + radrat = (half_v2(outnode[e->v2].radius) / + half_v2(outnode[e->v1].radius)); + radrat = (radrat + 1) / 2; + + /* Add vertices and edge segments */ + for (j = 0; j < edge_subd[i]; j++, v++, outedge++) { + float r = (j + 1) / (float)(edge_subd[i] + 1); + float t = powf(r, radrat); + + /* Interpolate vertex coord */ + interp_v3_v3v3(outvert[v].co, outvert[e->v1].co, + outvert[e->v2].co, t); + + /* Interpolate skin radii */ + interp_v3_v3v3(outnode[v].radius, + orignode[e->v1].radius, + orignode[e->v2].radius, t); + + /* Interpolate vertex group weights */ + for (k = 0; k < totvgroup; k++) { + float weight; + + vg = &vgroups[k]; + weight = interpf(vg->w2, vg->w1, t); + + if (weight > 0) + defvert_add_index_notest(&outdvert[v], vg->def_nr, weight); + } + + outedge->v1 = u; + outedge->v2 = v; + u = v; + } + + if (vgroups) + MEM_freeN(vgroups); + + /* Link up to final vertex */ + outedge->v1 = u; + outedge->v2 = e->v2; + outedge++; + } + + MEM_freeN(edge_subd); + + return dm; +} + +/******************************* Output *******************************/ + +/* Can be either quad or triangle */ +static void add_poly(SkinOutput *so, + BMVert *v1, + BMVert *v2, + BMVert *v3, + BMVert *v4) +{ + BMVert *verts[4] = {v1, v2, v3, v4}; + BMEdge *edges[4]; + BMFace *f; + + BLI_assert(v1 != v2 && v1 != v3 && v1 != v4); + BLI_assert(v2 != v3 && v2 != v4); + BLI_assert(v3 != v4); + BLI_assert(v1 && v2 && v3); + + edges[0] = BM_edge_create(so->bm, v1, v2, NULL, TRUE); + edges[1] = BM_edge_create(so->bm, v2, v3, NULL, TRUE); + if (v4) { + edges[2] = BM_edge_create(so->bm, v3, v4, NULL, TRUE); + edges[3] = BM_edge_create(so->bm, v4, v1, NULL, TRUE); + } + else { + edges[2] = BM_edge_create(so->bm, v3, v1, NULL, TRUE); + edges[3] = NULL; + } + + f = BM_face_create(so->bm, verts, edges, v4 ? 4 : 3, TRUE); + if (so->smd->flag & MOD_SKIN_SMOOTH_SHADING) + BM_elem_flag_enable(f, BM_ELEM_SMOOTH); + f->mat_nr = so->mat_nr; +} + +static void connect_frames(SkinOutput *so, + BMVert *frame1[4], + BMVert *frame2[4]) +{ + BMVert *q[4][4] = {{frame2[0], frame2[1], frame1[1], frame1[0]}, + {frame2[1], frame2[2], frame1[2], frame1[1]}, + {frame2[2], frame2[3], frame1[3], frame1[2]}, + {frame2[3], frame2[0], frame1[0], frame1[3]}}; + float p[3], no[3]; + int i, swap; + + /* Check if frame normals need swap */ + sub_v3_v3v3(p, q[3][0]->co, q[0][0]->co); + normal_quad_v3(no, + q[0][0]->co, q[0][1]->co, + q[0][2]->co, q[0][3]->co); + swap = dot_v3v3(no, p) > 0; + + for (i = 0; i < 4; i++) { + if (swap) + add_poly(so, q[i][3], q[i][2], q[i][1], q[i][0]); + else + add_poly(so, q[i][0], q[i][1], q[i][2], q[i][3]); + } +} + +static void output_frames(BMesh *bm, + SkinNode *sn, + const MDeformVert *input_dvert) +{ + Frame *f; + int i, j; + + /* Output all frame verts */ + for (i = 0; i < sn->totframe; i++) { + f = &sn->frames[i]; + for (j = 0; j < 4; j++) { + if (!f->merge[j].frame) { + BMVert *v = f->verts[j] = BM_vert_create(bm, f->co[j], NULL); + + if (input_dvert) { + MDeformVert *dv; + dv = CustomData_bmesh_get(&bm->vdata, + v->head.data, + CD_MDEFORMVERT); + + BLI_assert(dv->totweight == 0); + defvert_copy(dv, input_dvert); + } + } + } + } +} + +#define PRINT_HOLE_INFO 0 + +static void calc_frame_center(float center[3], const Frame *frame) +{ + add_v3_v3v3(center, frame->verts[0]->co, frame->verts[1]->co); + add_v3_v3(center, frame->verts[2]->co); + add_v3_v3(center, frame->verts[3]->co); + mul_v3_fl(center, 0.25f); +} + +/* Does crappy fan triangulation of poly, may not be so accurate for + * concave faces */ +static int isect_ray_poly(const float ray_start[3], + const float ray_dir[3], + BMFace *f, + float *r_lambda) +{ + BMVert *v, *v_first = NULL, *v_prev = NULL; + BMIter iter; + float best_dist = FLT_MAX; + int hit = 0; + + BM_ITER_ELEM (v, &iter, f, BM_VERTS_OF_FACE) { + if (!v_first) + v_first = v; + else if (v_prev != v_first) { + float dist; + int curhit; + + curhit = isect_ray_tri_v3(ray_start, ray_dir, + v_first->co, v_prev->co, v->co, + &dist, NULL); + if (curhit && dist < best_dist) { + hit = TRUE; + best_dist = dist; + } + } + + v_prev = v; + } + + *r_lambda = best_dist; + return hit; +} + +/* Reduce the face down to 'n' corners by collapsing the edges; + * returns the new face. + * + * The orig_verts should contain the vertices of 'f' + */ +static BMFace *collapse_face_corners(BMesh *bm, BMFace *f, int n, + BMVert **orig_verts) +{ + int orig_len = f->len; + + BLI_assert(n >= 3); + BLI_assert(f->len > n); + if (f->len <= n) + return f; + + /* Collapse shortest edge for now */ + while (f->len > n) { + BMFace *vf; + BMEdge *shortest_edge; + BMVert *v_safe, *v_merge; + BMOperator op; + BMIter iter; + int i; + + shortest_edge = BM_face_find_shortest_edge(f); + BMO_op_initf(bm, &op, "weldverts"); + + /* Note: could probably calculate merges in one go to be + * faster */ + + v_safe = shortest_edge->v1; + v_merge = shortest_edge->v2; + mid_v3_v3v3(v_safe->co, v_safe->co, v_merge->co); + BMO_slot_map_ptr_insert(bm, &op, "targetmap", v_merge, v_safe); + BMO_op_exec(bm, &op); + BMO_op_finish(bm, &op); + + /* Find the new face */ + f = NULL; + BM_ITER_ELEM (vf, &iter, v_safe, BM_FACES_OF_VERT) { + int wrong_face = FALSE; + + for (i = 0; i < orig_len; i++) { + if (orig_verts[i] == v_merge) + orig_verts[i] = NULL; + else if (orig_verts[i] && + !BM_vert_in_face(vf, orig_verts[i])) + { + wrong_face = TRUE; + break; + } + } + + if (!wrong_face) { + f = vf; + break; + } + } + + BLI_assert(f); + } + + return f; +} + +/* Choose a good face to merge the frame with, used in case the frame + * is completely inside the hull. */ +static BMFace *skin_hole_target_face(BMesh *bm, Frame *frame) +{ + BMFace *f, *isect_target_face, *center_target_face; + BMIter iter; + float frame_center[3]; + float frame_normal[3]; + float best_isect_dist = FLT_MAX; + float best_center_dist = FLT_MAX; + + calc_frame_center(frame_center, frame); + normal_quad_v3(frame_normal, frame->verts[3]->co, + frame->verts[2]->co, frame->verts[1]->co, + frame->verts[0]->co); + + /* Use a line intersection test and nearest center test against + * all faces */ + isect_target_face = center_target_face = NULL; + BM_ITER_MESH (f, &iter, bm, BM_FACES_OF_MESH) { + float dist, poly_center[3]; + int hit; + + /* Intersection test */ + hit = isect_ray_poly(frame_center, frame_normal, f, &dist); + if (hit && dist < best_isect_dist) { + isect_target_face = f; + best_isect_dist = dist; + } + + /* Nearest test */ + BM_face_calc_center_mean(f, poly_center); + dist = len_v3v3(frame_center, poly_center); + if (dist < best_center_dist) { + center_target_face = f; + best_center_dist = dist; + } + } + + f = isect_target_face; + if (!f || best_center_dist < best_isect_dist / 2) + f = center_target_face; + + /* This case is unlikely now, but could still happen. Should look + * into splitting edges to make new faces. */ +#if PRINT_HOLE_INFO + if (!f) { + printf("no good face found\n"); + } +#endif + + return f; +} + +/* Use edge-length heuristic to choose from eight possible polygon bridges */ +static void skin_choose_quad_bridge_order(BMVert *a[4], BMVert *b[4], + int best_order[4]) +{ + int orders[8][4]; + float shortest_len; + int i, j; + + /* Enumerate all valid orderings */ + for (i = 0; i < 4; i++) { + for (j = 0; j < 4; j++) { + orders[i][j] = (j + i) % 4; + orders[i + 4][j] = 3 - ((j + i) % 4); + } + } + + shortest_len = FLT_MAX; + for (i = 0; i < 8; i++) { + float len = 0; + + /* Get total edge length for this configuration */ + for (j = 0; j < 4; j++) + len += len_squared_v3v3(a[j]->co, b[orders[i][j]]->co); + + if (len < shortest_len) { + shortest_len = len; + memcpy(best_order, orders[i], sizeof(int) * 4); + } + } +} + +static void skin_fix_hole_no_good_verts(BMesh *bm, Frame *frame, BMFace *split_face) +{ + BMFace *f; + BMVert *verts[4]; + BMVert **vert_buf = NULL; + BLI_array_declare(vert_buf); + BMOIter oiter; + BMOperator op; + int i, best_order[4]; + + BLI_assert(split_face->len >= 3); + + /* Extrude the split face */ + BM_mesh_elem_hflag_disable_all(bm, BM_FACE, BM_ELEM_TAG, FALSE); + BM_elem_flag_enable(split_face, BM_ELEM_TAG); + BMO_op_initf(bm, &op, "extrude_face_indiv faces=%hf", BM_ELEM_TAG); + BMO_op_exec(bm, &op); + + /* Update split face (should only be one new face created + * during extrusion) */ + split_face = NULL; + BMO_ITER (f, &oiter, bm, &op, "faceout", BM_FACE) { + BLI_assert(!split_face); + split_face = f; + } + + BMO_op_finish(bm, &op); + + if (split_face->len == 3) { + BMEdge *longest_edge; + + /* Need at least four ring edges, so subdivide longest edge if + * face is a triangle */ + longest_edge = BM_face_find_longest_edge(split_face); + + BM_mesh_elem_hflag_disable_all(bm, BM_EDGE, BM_ELEM_TAG, FALSE); + BM_elem_flag_enable(longest_edge, BM_ELEM_TAG); + + BMO_op_callf(bm, "esubd edges=%he numcuts=%i quadcornertype=%i", + BM_ELEM_TAG, 1, SUBD_STRAIGHT_CUT); + } + else if (split_face->len > 4) { + /* Maintain a dynamic vert array containing the split_face's + * vertices, avoids frequent allocs in collapse_face_corners() */ + if (BLI_array_count(vert_buf) < split_face->len) { + BLI_array_grow_items(vert_buf, (split_face->len - + BLI_array_count(vert_buf))); + } + + /* Get split face's verts */ + BM_iter_as_array(bm, BM_VERTS_OF_FACE, split_face, + (void **)vert_buf, split_face->len); + + /* Earlier edge split operations may have turned some quads + * into higher-degree faces */ + split_face = collapse_face_corners(bm, split_face, 4, vert_buf); + } + + /* Done with dynamic array, split_face must now be a quad */ + BLI_array_free(vert_buf); + BLI_assert(split_face->len == 4); + if (split_face->len != 4) + return; + + /* Get split face's verts */ + BM_iter_as_array(bm, BM_VERTS_OF_FACE, split_face, (void **)verts, 4); + skin_choose_quad_bridge_order(verts, frame->verts, best_order); + + /* Delete split face and merge */ + BM_face_kill(bm, split_face); + BMO_op_init(bm, &op, "weldverts"); + for (i = 0; i < 4; i++) { + BMO_slot_map_ptr_insert(bm, &op, "targetmap", + verts[i], frame->verts[best_order[i]]); + } + BMO_op_exec(bm, &op); + BMO_op_finish(bm, &op); +} + +/* If the frame has some vertices that are inside the hull (detached) + * and some attached, duplicate the attached vertices and take the + * whole frame off the hull. */ +static void skin_hole_detach_partially_attached_frame(BMesh *bm, Frame *frame) +{ + int i, attached[4], totattached = 0; + + /* Get/count attached frame corners */ + for (i = 0; i < 4; i++) { + if (!frame->inside_hull[i]) + attached[totattached++] = i; + } + + /* Detach everything */ + for (i = 0; i < totattached; i++) { + BMVert **av = &frame->verts[attached[i]]; + (*av) = BM_vert_create(bm, (*av)->co, *av); + } +} + + +static void quad_from_tris(BMesh *bm, BMEdge *e, BMFace *adj[2], BMVert *ndx[4]) +{ + BMVert *tri[2][3]; + BMVert *opp = NULL; + int i, j; + + BLI_assert(adj[0]->len == 3 && adj[1]->len == 3); + + BM_iter_as_array(bm, BM_VERTS_OF_FACE, adj[0], (void **)tri[0], 3); + BM_iter_as_array(bm, BM_VERTS_OF_FACE, adj[1], (void **)tri[1], 3); + + /* Find what the second tri has that the first doesn't */ + for (i = 0; i < 3; i++) { + if (tri[1][i] != tri[0][0] && + tri[1][i] != tri[0][1] && + tri[1][i] != tri[0][2]) + { + opp = tri[1][i]; + break; + } + } + BLI_assert(opp); + + for (i = 0, j = 0; i < 3; i++, j++) { + ndx[j] = tri[0][i]; + /* When the triangle edge cuts across our quad-to-be, + * throw in the second triangle's vertex */ + if ((tri[0][i] == e->v1 || tri[0][i] == e->v2) && + (tri[0][(i + 1) % 3] == e->v1 || tri[0][(i + 1) % 3] == e->v2)) + { + j++; + ndx[j] = opp; + } + } +} + +static void add_quad_from_tris(SkinOutput *so, BMEdge *e, BMFace *adj[2]) +{ + BMVert *quad[4]; + + quad_from_tris(so->bm, e, adj, quad); + + add_poly(so, quad[0], quad[1], quad[2], quad[3]); +} + +/* Returns the number of faces that are adjacent to both f1 and f2 */ +static int BM_face_share_face_count(BMFace *f1, BMFace *f2) +{ + BMIter iter1, iter2; + BMEdge *e; + BMFace *f; + int count = 0; + + BM_ITER_ELEM (e, &iter1, f1, BM_EDGES_OF_FACE) { + BM_ITER_ELEM (f, &iter2, e, BM_FACES_OF_EDGE) { + if (f != f1 && f != f2 && BM_face_share_edge_count(f, f2)) + count++; + } + } + + return count; +} + +static void hull_merge_triangles(SkinOutput *so, const SkinModifierData *smd) +{ + BMIter iter; + BMEdge *e; + Heap *heap; + float score; + + heap = BLI_heap_new(); + + BM_mesh_elem_hflag_disable_all(so->bm, BM_FACE, BM_ELEM_TAG, FALSE); + + /* Build heap */ + BM_ITER_MESH (e, &iter, so->bm, BM_EDGES_OF_MESH) { + BMFace *adj[2]; + + /* Only care if the edge is used by exactly two triangles */ + if (BM_edge_face_pair(e, &adj[0], &adj[1])) { + if (adj[0]->len == 3 && adj[1]->len == 3) { + BMVert *quad[4]; + + /* Construct quad using the two triangles adjacent to + * the edge */ + quad_from_tris(so->bm, e, adj, quad); + + /* Calculate a score for the quad, higher score for + * triangles being closer to coplanar */ + score = ((BM_face_calc_area(adj[0]) + + BM_face_calc_area(adj[1])) * + dot_v3v3(adj[0]->no, adj[1]->no)); + + /* Check if quad crosses the axis of symmetry */ + if (quad_crosses_symmetry_plane(quad, smd)) { + /* Increase score if the triangles form a + * symmetric quad, otherwise don't use it */ + if (is_quad_symmetric(quad, smd)) + score *= 10; + else + continue; + } + + /* Don't use the quad if it's concave */ + if (!is_quad_convex_v3(quad[0]->co, quad[1]->co, + quad[2]->co, quad[3]->co)) + { + continue; + } + + BLI_heap_insert(heap, -score, e); + } + } + } + + while (!BLI_heap_empty(heap)) { + BMFace *adj[2]; + + e = BLI_heap_popmin(heap); + + if (BM_edge_face_pair(e, &adj[0], &adj[1])) { + /* If both triangles still free, and if they don't already + * share a border with another face, output as a quad */ + if (!BM_elem_flag_test(adj[0], BM_ELEM_TAG) && + !BM_elem_flag_test(adj[1], BM_ELEM_TAG) && + !BM_face_share_face_count(adj[0], adj[1])) + { + add_quad_from_tris(so, e, adj); + BM_elem_flag_enable(adj[0], BM_ELEM_TAG); + BM_elem_flag_enable(adj[1], BM_ELEM_TAG); + BM_elem_flag_enable(e, BM_ELEM_TAG); + } + } + } + + BMO_op_callf(so->bm, "del geom=%hef context=%i", BM_ELEM_TAG, DEL_ONLYTAGGED); + + BLI_heap_free(heap, NULL); +} + +static void skin_merge_close_frame_verts(SkinNode *skin_nodes, int totvert, + const MeshElemMap *emap, + const MEdge *medge) +{ + Frame **hull_frames; + int v, tothullframe; + + for (v = 0; v < totvert; v++) { + /* Only check branch nodes */ + if (!skin_nodes[v].totframe) { + hull_frames = collect_hull_frames(v, skin_nodes, + emap, medge, + &tothullframe); + merge_frame_corners(hull_frames, tothullframe); + MEM_freeN(hull_frames); + } + } +} + +static void skin_update_merged_vertices(SkinNode *skin_nodes, int totvert) +{ + int v; + + for (v = 0; v < totvert; ++v) { + SkinNode *sn = &skin_nodes[v]; + int i, j; + + for (i = 0; i < sn->totframe; i++) { + Frame *f = &sn->frames[i]; + + for (j = 0; j < 4; j++) { + if (f->merge[j].frame) { + /* Merge chaining not allowed */ + BLI_assert(!f->merge[j].frame->merge[f->merge[j].corner].frame); + + f->verts[j] = f->merge[j].frame->verts[f->merge[j].corner]; + } + } + } + } +} + +static void skin_fix_hull_topology(BMesh *bm, SkinNode *skin_nodes, + int totvert) +{ + int v; + + for (v = 0; v < totvert; v++) { + SkinNode *sn = &skin_nodes[v]; + int j; + + for (j = 0; j < sn->totframe; j++) { + Frame *f = &sn->frames[j]; + + if (f->detached) { + BMFace *target_face; + + skin_hole_detach_partially_attached_frame(bm, f); + + target_face = skin_hole_target_face(bm, f); + if (target_face) + skin_fix_hole_no_good_verts(bm, f, target_face); + } + } + } +} + +static void skin_output_end_nodes(SkinOutput *so, SkinNode *skin_nodes, + int totvert) +{ + int v; + + for (v = 0; v < totvert; ++v) { + SkinNode *sn = &skin_nodes[v]; + /* Assuming here just two frames */ + if (sn->flag & SEAM_FRAME) { + BMVert *v_order[4]; + int i, order[4]; + + skin_choose_quad_bridge_order(sn->frames[0].verts, + sn->frames[1].verts, + order); + for (i = 0; i < 4; i++) + v_order[i] = sn->frames[1].verts[order[i]]; + connect_frames(so, sn->frames[0].verts, v_order); + } + else if (sn->totframe == 2) { + connect_frames(so, + sn->frames[0].verts, + sn->frames[1].verts); + } + + if (sn->flag & CAP_START) { + add_poly(so, + sn->frames[0].verts[3], + sn->frames[0].verts[2], + sn->frames[0].verts[1], + sn->frames[0].verts[0]); + } + if (sn->flag & CAP_END) { + add_poly(so, + sn->frames[1].verts[3], + sn->frames[1].verts[2], + sn->frames[1].verts[1], + sn->frames[1].verts[0]); + } + } +} + +static void skin_output_connections(SkinOutput *so, SkinNode *skin_nodes, + const MEdge *medge, + int totedge) +{ + int e; + + for (e = 0; e < totedge; e++) { + SkinNode *a, *b; + a = &skin_nodes[medge[e].v1]; + b = &skin_nodes[medge[e].v2]; + + if (a->totframe && b->totframe) { + if ((a->flag & SEAM_FRAME) || (b->flag & SEAM_FRAME)) { + Frame *fr[2] = {&a->frames[0], &b->frames[0]}; + BMVert *v_order[4]; + int i, order[4]; + + if ((a->flag & SEAM_FRAME) && (e != a->seam_edges[0])) + fr[0]++; + if ((b->flag & SEAM_FRAME) && (e != b->seam_edges[0])) + fr[1]++; + + skin_choose_quad_bridge_order(fr[0]->verts, fr[1]->verts, order); + for (i = 0; i < 4; i++) + v_order[i] = fr[1]->verts[order[i]]; + connect_frames(so, fr[0]->verts, v_order); + } + else { + connect_frames(so, + a->frames[0].verts, + b->frames[0].verts); + } + } + } +} + +static void skin_smooth_hulls(BMesh *bm, SkinNode *skin_nodes, + int totvert, const SkinModifierData *smd) +{ + BMIter iter, eiter; + BMVert *v; + int i, j, k, skey; + + if (smd->branch_smoothing == 0) + return; + + /* Mark all frame vertices */ + BM_mesh_elem_hflag_disable_all(bm, BM_VERT, BM_ELEM_TAG, FALSE); + for (i = 0; i < totvert; i++) { + for (j = 0; j < skin_nodes[i].totframe; j++) { + Frame *frame = &skin_nodes[i].frames[j]; + + for (k = 0; k < 4; k++) + BM_elem_flag_enable(frame->verts[k], BM_ELEM_TAG); + } + } + + /* Add temporary shapekey layer to store original coordinates */ + BM_data_layer_add(bm, &bm->vdata, CD_SHAPEKEY); + skey = CustomData_number_of_layers(&bm->vdata, CD_SHAPEKEY) - 1; + BM_ITER_MESH (v, &iter, bm, BM_VERTS_OF_MESH) { + copy_v3_v3(CustomData_bmesh_get_n(&bm->vdata, v->head.data, + CD_SHAPEKEY, skey), v->co); + } + + /* Smooth vertices, weight unmarked vertices more strongly (helps + * to smooth frame vertices, but don't want to alter them too + * much) */ + BM_ITER_MESH (v, &iter, bm, BM_VERTS_OF_MESH) { + BMEdge *e; + float avg[3]; + float weight = smd->branch_smoothing; + int totv = 1; + + if (BM_elem_flag_test(v, BM_ELEM_TAG)) + weight *= 0.5f; + + copy_v3_v3(avg, v->co); + BM_ITER_ELEM (e, &eiter, v, BM_EDGES_OF_VERT) { + BMVert *other = BM_edge_other_vert(e, v); + + add_v3_v3(avg, CustomData_bmesh_get_n(&bm->vdata, + other->head.data, + CD_SHAPEKEY, skey)); + totv++; + } + + if (totv > 1) { + mul_v3_fl(avg, 1.0f / (float)totv); + interp_v3_v3v3(v->co, v->co, avg, weight); + } + } + + /* Done with original coordinates */ + BM_data_layer_free_n(bm, &bm->vdata, CD_SHAPEKEY, skey); +} + +/* Returns TRUE if all hulls are successfully built, FALSE otherwise */ +static int skin_output_branch_hulls(SkinOutput *so, SkinNode *skin_nodes, + int totvert, const MeshElemMap *emap, + const MEdge *medge) +{ + int result = TRUE, v; + + for (v = 0; v < totvert; v++) { + SkinNode *sn = &skin_nodes[v]; + + /* Branch node hulls */ + if (!sn->totframe) { + Frame **hull_frames; + int tothullframe; + + hull_frames = collect_hull_frames(v, skin_nodes, + emap, medge, + &tothullframe); + if (!build_hull(so, hull_frames, tothullframe)) + result = FALSE; + + MEM_freeN(hull_frames); + } + } + + return result; +} + +static BMesh *build_skin(SkinNode *skin_nodes, + int totvert, const MeshElemMap *emap, + const MEdge *medge, int totedge, + const MDeformVert *input_dvert, + SkinModifierData *smd) +{ + SkinOutput so; + int v; + + so.smd = smd; + so.bm = BM_mesh_create(&bm_mesh_allocsize_default); + so.mat_nr = 0; + + if (input_dvert) + BM_data_layer_add(so.bm, &so.bm->vdata, CD_MDEFORMVERT); + + /* Check for mergeable frame corners around hulls before + * outputting vertices */ + skin_merge_close_frame_verts(skin_nodes, totvert, emap, medge); + + /* Write out all frame vertices to the mesh */ + for (v = 0; v < totvert; ++v) { + if (skin_nodes[v].totframe) + output_frames(so.bm, &skin_nodes[v], + input_dvert ? &input_dvert[v] : NULL); + } + + /* Update vertex pointers for merged frame corners */ + skin_update_merged_vertices(skin_nodes, totvert); + + if (!skin_output_branch_hulls(&so, skin_nodes, totvert, emap, medge)) + modifier_setError(&smd->modifier, "Hull error"); + + /* Merge triangles here in the hope of providing better target + * faces for skin_fix_hull_topology() to connect to */ + hull_merge_triangles(&so, smd); + + /* Using convex hulls may not generate a nice manifold mesh. Two + * problems can occur: an input frame's edges may be inside the + * hull, and/or an input frame's vertices may be inside the hull. + * + * General fix to produce manifold mesh: for any frame that is + * partially detached, first detach it fully, then find a suitable + * existing face to merge with. (Note that we do this after + * creating all hull faces, but before creating any other + * faces. + */ + skin_fix_hull_topology(so.bm, skin_nodes, totvert); + + skin_smooth_hulls(so.bm, skin_nodes, totvert, smd); + + skin_output_end_nodes(&so, skin_nodes, totvert); + skin_output_connections(&so, skin_nodes, medge, totedge); + hull_merge_triangles(&so, smd); + + return so.bm; +} + +static void skin_set_orig_indices(DerivedMesh *dm) +{ + int *orig, totpoly, i; + + totpoly = dm->getNumPolys(dm); + orig = CustomData_add_layer(&dm->polyData, CD_ORIGINDEX, + CD_CALLOC, 0, totpoly); + for (i = 0; i < totpoly; i++) + orig[i] = ORIGINDEX_NONE; +} + +/* + * 0) Subdivide edges (in caller) + * 1) Generate good edge matrices (uses root nodes) + * 2) Generate node frames + * 3) Output vertices and polygons from frames, connections, and hulls + */ +static DerivedMesh *base_skin(DerivedMesh *origdm, + SkinModifierData *smd) +{ + BMEditMesh fake_em; + DerivedMesh *result; + MVertSkin *nodes; + BMesh *bm; + EMat *emat; + SkinNode *skin_nodes; + MeshElemMap *emap; + int *emapmem; + MVert *mvert; + MEdge *medge; + MDeformVert *dvert; + int totvert, totedge; + + nodes = CustomData_get_layer(&origdm->vertData, CD_MVERT_SKIN); + + mvert = origdm->getVertArray(origdm); + dvert = origdm->getVertDataArray(origdm, CD_MDEFORMVERT); + medge = origdm->getEdgeArray(origdm); + totvert = origdm->getNumVerts(origdm); + totedge = origdm->getNumEdges(origdm); + + create_vert_edge_map(&emap, &emapmem, medge, totvert, totedge); + + emat = build_edge_mats(nodes, mvert, totvert, medge, emap, totedge); + skin_nodes = build_frames(mvert, totvert, nodes, emap, emat); + MEM_freeN(emat); + emat = NULL; + + bm = build_skin(skin_nodes, totvert, emap, medge, totedge, dvert, smd); + + MEM_freeN(skin_nodes); + MEM_freeN(emap); + MEM_freeN(emapmem); + + if (!bm) + return NULL; + + fake_em.bm = bm; + result = CDDM_from_BMEditMesh(&fake_em, NULL, FALSE, FALSE); + BM_mesh_free(bm); + + CDDM_calc_edges(result); + CDDM_calc_normals(result); + + skin_set_orig_indices(result); + + return result; +} + +static DerivedMesh *final_skin(SkinModifierData *smd, + DerivedMesh *origdm) +{ + DerivedMesh *dm; + + /* Skin node layer is required */ + if (!CustomData_get_layer(&origdm->vertData, CD_MVERT_SKIN)) + return origdm; + + origdm = subdivide_base(origdm); + dm = base_skin(origdm, smd); + + origdm->release(origdm); + + return dm; +} + + +/**************************** Skin Modifier ***************************/ + +static void initData(ModifierData *md) +{ + SkinModifierData *smd = (SkinModifierData *) md; + + /* Enable in editmode by default */ + md->mode |= eModifierMode_Editmode; + + smd->branch_smoothing = 0; + smd->flag = 0; + smd->symmetry_axes = MOD_SKIN_SYMM_X; +} + +static void copyData(ModifierData *md, ModifierData *target) +{ + SkinModifierData *smd = (SkinModifierData *) md; + SkinModifierData *tsmd = (SkinModifierData *) target; + + *tsmd = *smd; +} + +static DerivedMesh *applyModifierEM(ModifierData *md, + Object *UNUSED(ob), + BMEditMesh *UNUSED(em), + DerivedMesh *dm) +{ + DerivedMesh *result; + + if (!(result = final_skin((SkinModifierData *)md, dm))) + return dm; + return result; +} + +static DerivedMesh *applyModifier(ModifierData *md, + Object *UNUSED(ob), + DerivedMesh *dm, + ModifierApplyFlag UNUSED(flag)) +{ + DerivedMesh *result; + + if (!(result = final_skin((SkinModifierData *)md, dm))) + return dm; + return result; +} + +static CustomDataMask requiredDataMask(Object *UNUSED(ob), + ModifierData *UNUSED(md)) +{ + return CD_MASK_MVERT_SKIN | CD_MASK_MDEFORMVERT; +} + +ModifierTypeInfo modifierType_Skin = { + /* name */ "Skin", + /* structName */ "SkinModifierData", + /* structSize */ sizeof(SkinModifierData), + /* type */ eModifierTypeType_Constructive, + /* flags */ eModifierTypeFlag_AcceptsMesh | eModifierTypeFlag_SupportsEditmode, + + /* copyData */ copyData, + /* deformVerts */ NULL, + /* deformMatrices */ NULL, + /* deformVertsEM */ NULL, + /* deformMatricesEM */ NULL, + /* applyModifier */ applyModifier, + /* applyModifierEM */ applyModifierEM, + /* initData */ initData, + /* requiredDataMask */ requiredDataMask, + /* freeData */ NULL, + /* isDisabled */ NULL, + /* updateDepgraph */ NULL, + /* dependsOnTime */ NULL, + /* dependsOnNormals */ NULL, + /* foreachObjectLink */ NULL, + /* foreachIDLink */ NULL, +}; diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index 0ca4d8dcd4f..745cf1304bd 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -18,11 +18,8 @@ * The Original Code is Copyright (C) 2005 by the Blender Foundation. * All rights reserved. * - * Contributor(s): Daniel Dunbar - * Ton Roosendaal, - * Ben Batt, - * Brecht Van Lommel, - * Campbell Barton + * Contributor(s): Campbell Barton + * Shinsuke Irie * * ***** END GPL LICENSE BLOCK ***** * @@ -32,7 +29,6 @@ * \ingroup modifiers */ - #include "DNA_meshdata_types.h" #include "MEM_guardedalloc.h" @@ -51,6 +47,8 @@ #include "MOD_modifiertypes.h" #include "MOD_util.h" +/* *** derived mesh high quality normal calculation function *** */ +/* could be exposed for other functions to use */ typedef struct EdgeFaceRef { int f1; /* init as -1 */ @@ -74,7 +72,7 @@ static void dm_calc_normal(DerivedMesh *dm, float (*temp_nors)[3]) mpoly = dm->getPolyArray(dm); mvert = dm->getVertArray(dm); mloop = dm->getLoopArray(dm); - + /* we don't want to overwrite any referenced layers */ /* Doesn't work here! */ @@ -101,34 +99,34 @@ static void dm_calc_normal(DerivedMesh *dm, float (*temp_nors)[3]) EdgeFaceRef *edge_ref; float edge_normal[3]; - /* This function adds an edge hash if its not there, and adds the face index */ -#define NOCALC_EDGEWEIGHT_ADD_EDGEREF_FACE(EDV1, EDV2); \ - { \ - const unsigned int ml_v1 = EDV1; \ - const unsigned int ml_v2 = EDV2; \ - edge_ref = (EdgeFaceRef *)BLI_edgehash_lookup(edge_hash, ml_v1, ml_v2); \ - if (!edge_ref) { \ - edge_ref = &edge_ref_array[edge_ref_count]; edge_ref_count++; \ - edge_ref->f1 = i; \ - edge_ref->f2 =- 1; \ - BLI_edgehash_insert(edge_hash, ml_v1, ml_v2, edge_ref); \ - } \ - else { \ - edge_ref->f2 = i; \ - } \ - } - /* --- end define --- */ - + /* This loop adds an edge hash if its not there, and adds the face index */ for (i = 0; i < numFaces; i++, mp++) { + unsigned int ml_v1; + unsigned int ml_v2; int j; - + f_no = face_nors[i]; if (calc_face_nors) mesh_calc_poly_normal(mp, mloop + mp->loopstart, mvert, f_no); ml = mloop + mp->loopstart; - for (j = 0; j < mp->totloop; j++, ml++) { - NOCALC_EDGEWEIGHT_ADD_EDGEREF_FACE(ml->v, ME_POLY_LOOP_NEXT(mloop, mp, j)->v); + + for (j = 0, ml_v1 = ml->v, ml_v2 = ml[mp->totloop - 1].v; + j < mp->totloop; + j++, ml++, ml_v2 = ml_v1, ml_v1 = ml->v) + { + /* --- add edge ref to face --- */ + edge_ref = (EdgeFaceRef *)BLI_edgehash_lookup(edge_hash, ml_v1, ml_v2); + if (!edge_ref) { + edge_ref = &edge_ref_array[edge_ref_count++]; + edge_ref->f1 = i; + edge_ref->f2 = -1; + BLI_edgehash_insert(edge_hash, ml_v1, ml_v2, edge_ref); + } + else { + edge_ref->f2 = i; + } + /* --- done --- */ } } @@ -168,7 +166,7 @@ static void dm_calc_normal(DerivedMesh *dm, float (*temp_nors)[3]) } } } - + static void initData(ModifierData *md) { SolidifyModifierData *smd = (SolidifyModifierData *) md; @@ -176,7 +174,7 @@ static void initData(ModifierData *md) smd->offset_fac = -1.0f; smd->flag = MOD_SOLIDIFY_RIM; } - + static void copyData(ModifierData *md, ModifierData *target) { SolidifyModifierData *smd = (SolidifyModifierData *) md; @@ -201,10 +199,17 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) return dataMask; } +/* spesific function for solidify - define locally */ +BLI_INLINE void madd_v3v3short_fl(float r[3], const short a[3], const float f) +{ + r[0] += (float)a[0] * f; + r[1] += (float)a[1] * f; + r[2] += (float)a[2] * f; +} -static DerivedMesh *applyModifier(ModifierData *md, Object *ob, - DerivedMesh *dm, - ModifierApplyFlag UNUSED(flag)) +static DerivedMesh *applyModifier(ModifierData *md, Object *ob, + DerivedMesh *dm, + ModifierApplyFlag UNUSED(flag)) { int i; DerivedMesh *result; @@ -219,7 +224,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, const int numFaces = dm->getNumPolys(dm); int numLoops = 0, newLoops = 0, newFaces = 0, newEdges = 0; int j; - + /* only use material offsets if we have 2 or more materials */ const short mat_nr_max = ob->totcol > 1 ? ob->totcol - 1 : 0; const short mat_ofs = mat_nr_max ? smd->mat_ofs : 0; @@ -234,16 +239,16 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, int *edge_users = NULL; char *edge_order = NULL; - int *edge_origIndex; - + float (*vert_nors)[3] = NULL; float (*face_nors_result)[3] = NULL; - const float ofs_orig = -(((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset); - const float ofs_new = smd->offset - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset); + const float ofs_orig = -(((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset); + const float ofs_new = smd->offset + ofs_orig; const float offset_fac_vg = smd->offset_fac_vg; const float offset_fac_vg_inv = 1.0f - smd->offset_fac_vg; + const int do_flip = (smd->flag & MOD_SOLIDIFY_FLIP) != 0; /* weights */ MDeformVert *dvert, *dv = NULL; @@ -254,7 +259,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, numLoops = dm->numLoopData; newLoops = 0; - + orig_mvert = dm->getVertArray(dm); orig_medge = dm->getEdgeArray(dm); orig_mloop = dm->getLoopArray(dm); @@ -266,46 +271,48 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, unsigned int v1, v2; int eidx; +#define INVALID_UNUSED -1 +#define INVALID_PAIR -2 + + edge_users = MEM_mallocN(sizeof(int) * numEdges, "solid_mod edges"); + edge_order = MEM_mallocN(sizeof(char) * numEdges, "solid_mod eorder"); + for (i = 0, mv = orig_mvert; i < numVerts; i++, mv++) { mv->flag &= ~ME_VERT_TMP_TAG; } + /* save doing 2 loops here... */ +#if 0 + fill_vn_i(edge_users, numEdges, INVALID_UNUSED); +#endif + for (i = 0, ed = orig_medge; i < numEdges; i++, ed++) { BLI_edgehash_insert(edgehash, ed->v1, ed->v2, SET_INT_IN_POINTER(i)); + edge_users[i] = INVALID_UNUSED; } -#define INVALID_UNUSED -1 -#define INVALID_PAIR -2 - -#define ADD_EDGE_USER(_v1, _v2, edge_ord) \ - { \ - const unsigned int ml_v1 = _v1; \ - const unsigned int ml_v2 = _v2; \ - eidx= GET_INT_FROM_POINTER(BLI_edgehash_lookup(edgehash, ml_v1, ml_v2)); \ - if (edge_users[eidx] == INVALID_UNUSED) { \ - ed= orig_medge + eidx; \ - edge_users[eidx] = (ml_v1 < ml_v2) == (ed->v1 < ed->v2) ? i : (i + numFaces); \ - edge_order[eidx] = edge_ord; \ - } \ - else { \ - edge_users[eidx] = INVALID_PAIR; \ - } \ - } - - - edge_users = MEM_mallocN(sizeof(int) * numEdges, "solid_mod edges"); - edge_order = MEM_mallocN(sizeof(char) * numEdges, "solid_mod eorder"); - fill_vn_i(edge_users, numEdges, INVALID_UNUSED); - for (i = 0, mp = orig_mpoly; i < numFaces; i++, mp++) { - MLoop *ml; - - for (ml = orig_mloop + mp->loopstart, j = 0; j < mp->totloop; ml++, j++) { - ADD_EDGE_USER(ml->v, ME_POLY_LOOP_NEXT(orig_mloop, mp, j)->v, j); - } + MLoop *ml = orig_mloop + mp->loopstart; + unsigned int ml_v1; + unsigned int ml_v2; + + for (j = 0, ml_v1 = ml->v, ml_v2 = ml[mp->totloop - 1].v; + j < mp->totloop; + j++, ml++, ml_v2 = ml_v1, ml_v1 = ml->v) + { + /* add edge user */ + eidx = GET_INT_FROM_POINTER(BLI_edgehash_lookup(edgehash, ml_v1, ml_v2)); + if (edge_users[eidx] == INVALID_UNUSED) { + ed = orig_medge + eidx; + edge_users[eidx] = (ml_v1 < ml_v2) == (ed->v1 < ed->v2) ? i : (i + numFaces); + edge_order[eidx] = j; + } + else { + edge_users[eidx] = INVALID_PAIR; + } + } } -#undef ADD_EDGE_USER #undef INVALID_UNUSED #undef INVALID_PAIR @@ -364,7 +371,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, /* if the original has it, get the result so we can update it */ face_nors_result = CustomData_get_layer(&result->polyData, CD_NORMAL); - /*flip normals*/ + /* flip normals */ mp = mpoly + numFaces; for (i = 0; i < dm->numPolyData; i++, mp++) { MLoop *ml2; @@ -386,9 +393,9 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, ml2[j].e = ml2[j + 1].e; } ml2[mp->totloop - 1].e = e; - + mp->loopstart += dm->numLoopData; - + for (j = 0; j < mp->totloop; j++) { ml2[j].e += numEdges; ml2[j].v += numVerts; @@ -413,7 +420,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, if (ofs_new != 0.0f) { scalar_short = scalar_short_vgroup = ofs_new / 32767.0f; - mv = mvert + ((ofs_new >= ofs_orig) ? 0 : numVerts); + mv = mvert + (((ofs_new >= ofs_orig) == do_flip) ? numVerts : 0); dv = dvert; for (i = 0; i < numVerts; i++, mv++) { if (dv) { @@ -422,13 +429,13 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, scalar_short_vgroup = (offset_fac_vg + (scalar_short_vgroup * offset_fac_vg_inv)) * scalar_short; dv++; } - VECADDFAC(mv->co, mv->co, mv->no, scalar_short_vgroup); + madd_v3v3short_fl(mv->co, mv->no, scalar_short_vgroup); } } if (ofs_orig != 0.0f) { scalar_short = scalar_short_vgroup = ofs_orig / 32767.0f; - mv = mvert + ((ofs_new >= ofs_orig) ? numVerts : 0); /* as above but swapped, intentional use 'ofs_new' */ + mv = mvert + (((ofs_new >= ofs_orig) == do_flip) ? 0 : numVerts); /* as above but swapped, intentional use 'ofs_new' */ dv = dvert; for (i = 0; i < numVerts; i++, mv++) { if (dv) { @@ -437,10 +444,9 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, scalar_short_vgroup = (offset_fac_vg + (scalar_short_vgroup * offset_fac_vg_inv)) * scalar_short; dv++; } - VECADDFAC(mv->co, mv->co, mv->no, scalar_short_vgroup); + madd_v3v3short_fl(mv->co, mv->no, scalar_short_vgroup); } } - } else { /* make a face normal layer if not present */ @@ -529,7 +535,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, } if (ofs_new) { - mv = mvert + ((ofs_new >= ofs_orig) ? 0 : numVerts); + mv = mvert + (((ofs_new >= ofs_orig) == do_flip) ? numVerts : 0); for (i = 0; i < numVerts; i++, mv++) { if (vert_accum[i]) { /* zero if unselected */ @@ -540,7 +546,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, if (ofs_orig) { /* same as above but swapped, intentional use of 'ofs_new' */ - mv = mvert + ((ofs_new >= ofs_orig) ? numVerts : 0); + mv = mvert + (((ofs_new >= ofs_orig) == do_flip) ? 0 : numVerts); for (i = 0; i < numVerts; i++, mv++) { if (vert_accum[i]) { /* zero if unselected */ @@ -562,17 +568,16 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, } if (smd->flag & MOD_SOLIDIFY_RIM) { - int *origindex; - + /* bugger, need to re-calculate the normals for the new edge faces. * This could be done in many ways, but probably the quickest way * is to calculate the average normals for side faces only. * Then blend them with the normals of the edge verts. - * + * * at the moment its easiest to allocate an entire array for every vertex, * even though we only need edge verts - campbell */ - + #define SOLIDIFY_SIDE_NORMALS #ifdef SOLIDIFY_SIDE_NORMALS @@ -584,24 +589,26 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, const unsigned char crease_outer = smd->crease_outer * 255.0f; const unsigned char crease_inner = smd->crease_inner * 255.0f; + int *origindex_edge; + int *orig_ed; + /* add faces & edges */ - origindex = result->getEdgeDataArray(result, CD_ORIGINDEX); - ed = medge + (numEdges * 2); - for (i = 0; i < newEdges; i++, ed++) { + origindex_edge = result->getEdgeDataArray(result, CD_ORIGINDEX); + ed = &medge[numEdges * 2]; + orig_ed = &origindex_edge[numEdges * 2]; + for (i = 0; i < newEdges; i++, ed++, orig_ed++) { ed->v1 = new_vert_arr[i]; ed->v2 = new_vert_arr[i] + numVerts; ed->flag |= ME_EDGEDRAW; - origindex[numEdges * 2 + i] = ORIGINDEX_NONE; + *orig_ed = ORIGINDEX_NONE; - if (crease_rim) + if (crease_rim) { ed->crease = crease_rim; + } } /* faces */ - edge_origIndex = origindex; - origindex = DM_get_poly_data_layer(result, CD_ORIGINDEX); - mp = mpoly + (numFaces * 2); ml = mloop + (numLoops * 2); j = 0; @@ -612,10 +619,10 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, if (fidx >= numFaces) { fidx -= numFaces; - flip = 1; + flip = TRUE; } else { - flip = 0; + flip = FALSE; } ed = medge + eidx; @@ -638,16 +645,16 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, CustomData_copy_data(&dm->loopData, &result->loopData, k2, numLoops * 2 + j + 2, 1); CustomData_copy_data(&dm->loopData, &result->loopData, k1, numLoops * 2 + j + 3, 1); - if (flip) { + if (flip == FALSE) { ml[j].v = ed->v1; ml[j++].e = eidx; - + ml[j].v = ed->v2; ml[j++].e = numEdges * 2 + old_vert_arr[ed->v2]; - + ml[j].v = ed->v2 + numVerts; ml[j++].e = eidx + numEdges; - + ml[j].v = ed->v1 + numVerts; ml[j++].e = numEdges * 2 + old_vert_arr[ed->v1]; } @@ -664,11 +671,9 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, ml[j].v = ed->v2 + numVerts; ml[j++].e = numEdges * 2 + old_vert_arr[ed->v2]; } - - if (edge_origIndex) { - edge_origIndex[ml[j - 3].e] = ORIGINDEX_NONE; - edge_origIndex[ml[j - 1].e] = ORIGINDEX_NONE; - } + + origindex_edge[ml[j - 3].e] = ORIGINDEX_NONE; + origindex_edge[ml[j - 1].e] = ORIGINDEX_NONE; /* use the next material index if option enabled */ if (mat_ofs_rim) { @@ -688,7 +693,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, int tcr = *cr + crease_inner; *cr = tcr > 255 ? 255 : tcr; } - + #ifdef SOLIDIFY_SIDE_NORMALS normal_quad_v3(nor, mvert[ml[j - 4].v].co, @@ -704,17 +709,17 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, } #endif } - + #ifdef SOLIDIFY_SIDE_NORMALS ed = medge + (numEdges * 2); for (i = 0; i < newEdges; i++, ed++) { float nor_cpy[3]; short *nor_short; int j; - + /* note, only the first vertex (lower half of the index) is calculated */ normalize_v3_v3(nor_cpy, edge_vert_nos[ed->v1]); - + for (j = 0; j < 2; j++) { /* loop over both verts of the edge */ nor_short = mvert[*(&ed->v1 + j)].no; normal_short_to_float_v3(nor, nor_short); @@ -735,7 +740,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, if (old_vert_arr) MEM_freeN(old_vert_arr); - + /* must recalculate normals with vgroups since they can displace unevenly [#26888] */ if (dvert) { CDDM_calc_normals(result); @@ -780,7 +785,7 @@ ModifierTypeInfo modifierType_Solidify = { /* isDisabled */ NULL, /* updateDepgraph */ NULL, /* dependsOnTime */ NULL, - /* dependsOnNormals */ NULL, + /* dependsOnNormals */ NULL, /* foreachObjectLink */ NULL, /* foreachIDLink */ NULL, /* foreachTexLink */ NULL, diff --git a/source/blender/modifiers/intern/MOD_util.c b/source/blender/modifiers/intern/MOD_util.c index 98fa6e8e26d..1dbbe14e643 100644 --- a/source/blender/modifiers/intern/MOD_util.c +++ b/source/blender/modifiers/intern/MOD_util.c @@ -276,5 +276,6 @@ void modifier_type_init(ModifierTypeInfo *types[]) INIT_TYPE(WeightVGProximity); INIT_TYPE(DynamicPaint); INIT_TYPE(Remesh); + INIT_TYPE(Skin); #undef INIT_TYPE } diff --git a/source/blender/modifiers/intern/MOD_weightvg_util.c b/source/blender/modifiers/intern/MOD_weightvg_util.c index 5097ae8c742..81cdad0d5e5 100644 --- a/source/blender/modifiers/intern/MOD_weightvg_util.c +++ b/source/blender/modifiers/intern/MOD_weightvg_util.c @@ -154,7 +154,7 @@ void weightvg_do_mask(int num, const int *indices, float *org_w, const float *ne for (i = 0; i < num; ++i) { int idx = indices ? indices[i] : i; TexResult texres; - float h, s, v; /* For HSV color space. */ + float hsv[3]; /* For HSV color space. */ texres.nor = NULL; get_texture_value(texture, tex_co[idx], &texres); @@ -173,16 +173,16 @@ void weightvg_do_mask(int num, const int *indices, float *org_w, const float *ne org_w[i] = (new_w[i] * texres.tb * fact) + (org_w[i] * (1.0f - (texres.tb * fact))); break; case MOD_WVG_MASK_TEX_USE_HUE: - rgb_to_hsv(texres.tr, texres.tg, texres.tb, &h, &s, &v); - org_w[i] = (new_w[i] * h * fact) + (org_w[i] * (1.0f - (h * fact))); + rgb_to_hsv_v(&texres.tr, hsv); + org_w[i] = (new_w[i] * hsv[0] * fact) + (org_w[i] * (1.0f - (hsv[0] * fact))); break; case MOD_WVG_MASK_TEX_USE_SAT: - rgb_to_hsv(texres.tr, texres.tg, texres.tb, &h, &s, &v); - org_w[i] = (new_w[i] * s * fact) + (org_w[i] * (1.0f - (s * fact))); + rgb_to_hsv_v(&texres.tr, hsv); + org_w[i] = (new_w[i] * hsv[1] * fact) + (org_w[i] * (1.0f - (hsv[1] * fact))); break; case MOD_WVG_MASK_TEX_USE_VAL: - rgb_to_hsv(texres.tr, texres.tg, texres.tb, &h, &s, &v); - org_w[i] = (new_w[i] * v * fact) + (org_w[i] * (1.0f - (v * fact))); + rgb_to_hsv_v(&texres.tr, hsv); + org_w[i] = (new_w[i] * hsv[2] * fact) + (org_w[i] * (1.0f - (hsv[2] * fact))); break; case MOD_WVG_MASK_TEX_USE_ALPHA: org_w[i] = (new_w[i] * texres.ta * fact) + (org_w[i] * (1.0f - (texres.ta * fact))); diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt index 772ce376cb8..f7e0fd57ff6 100644 --- a/source/blender/nodes/CMakeLists.txt +++ b/source/blender/nodes/CMakeLists.txt @@ -158,6 +158,7 @@ set(SRC shader/nodes/node_shader_volume_isotropic.c shader/nodes/node_shader_light_path.c shader/nodes/node_shader_light_falloff.c + shader/nodes/node_shader_object_info.c shader/nodes/node_shader_mix_shader.c shader/nodes/node_shader_add_shader.c shader/nodes/node_shader_output_lamp.c diff --git a/source/blender/nodes/NOD_shader.h b/source/blender/nodes/NOD_shader.h index 3d93f41cfe5..dd6d25380b4 100644 --- a/source/blender/nodes/NOD_shader.h +++ b/source/blender/nodes/NOD_shader.h @@ -74,6 +74,7 @@ void register_node_type_sh_attribute(struct bNodeTreeType *ttype); void register_node_type_sh_geometry(struct bNodeTreeType *ttype); void register_node_type_sh_light_path(struct bNodeTreeType *ttype); void register_node_type_sh_light_falloff(struct bNodeTreeType *ttype); +void register_node_type_sh_object_info(struct bNodeTreeType *ttype); void register_node_type_sh_fresnel(struct bNodeTreeType *ttype); void register_node_type_sh_layer_weight(struct bNodeTreeType *ttype); void register_node_type_sh_tex_coord(struct bNodeTreeType *ttype); diff --git a/source/blender/nodes/composite/node_composite_tree.c b/source/blender/nodes/composite/node_composite_tree.c index b266af15060..5bc2e1fc004 100644 --- a/source/blender/nodes/composite/node_composite_tree.c +++ b/source/blender/nodes/composite/node_composite_tree.c @@ -143,6 +143,16 @@ static void localize(bNodeTree *localtree, bNodeTree *ntree) } } + /* copy over the preview buffers to update graduatly */ + if (node->preview) { + bNodePreview *preview = MEM_callocN(sizeof(bNodePreview), "Preview"); + preview->pad = node->preview->pad; + preview->xsize = node->preview->xsize; + preview->ysize = node->preview->ysize; + preview->rect = MEM_dupallocN(node->preview->rect); + node->new_node->preview = preview; + } + for (sock= node->outputs.first; sock; sock= sock->next) { sock->new_sock->cache= sock->cache; compbuf_set_node(sock->new_sock->cache, node->new_node); @@ -586,9 +596,9 @@ static void ntreeCompositExecTreeOld(bNodeTree *ntree, RenderData *rd, int do_pr int totnode, curnode, rendering= 1, n; bNodeTreeExec *exec= ntree->execdata; - if(ntree==NULL) return; + if (ntree == NULL) return; - if(do_preview) + if (do_preview) ntreeInitPreview(ntree, 0, 0); if (!ntree->execdata) { @@ -598,7 +608,7 @@ static void ntreeCompositExecTreeOld(bNodeTree *ntree, RenderData *rd, int do_pr ntree_composite_texnode(ntree, 1); /* prevent unlucky accidents */ - if(G.background) + if (G.background) rd->scemode &= ~R_COMP_CROP; /* setup callerdata for thread callback */ @@ -613,15 +623,15 @@ static void ntreeCompositExecTreeOld(bNodeTree *ntree, RenderData *rd, int do_pr BLI_init_threads(&threads, exec_composite_node, rd->threads); - while(rendering) { + while (rendering) { - if(BLI_available_threads(&threads)) { + if (BLI_available_threads(&threads)) { nodeexec= getExecutableNode(exec); - if(nodeexec) { + if (nodeexec) { node = nodeexec->node; - if(ntree->progress && totnode) + if (ntree->progress && totnode) ntree->progress(ntree->prh, (1.0f - curnode/(float)totnode)); - if(ntree->stats_draw) { + if (ntree->stats_draw) { char str[128]; BLI_snprintf(str, sizeof(str), "Compositing %d %s", curnode, node->name); ntree->stats_draw(ntree->sdh, str); @@ -640,21 +650,21 @@ static void ntreeCompositExecTreeOld(bNodeTree *ntree, RenderData *rd, int do_pr rendering= 0; /* test for ESC */ - if(ntree->test_break && ntree->test_break(ntree->tbh)) { - for(node= ntree->nodes.first; node; node= node->next) + if (ntree->test_break && ntree->test_break(ntree->tbh)) { + for (node= ntree->nodes.first; node; node= node->next) node->exec |= NODE_READY; } /* check for ready ones, and if we need to continue */ - for(n=0, nodeexec=exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) { + for (n=0, nodeexec=exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) { node = nodeexec->node; - if(node->exec & NODE_READY) { - if((node->exec & NODE_FINISHED)==0) { + if (node->exec & NODE_READY) { + if ((node->exec & NODE_FINISHED)==0) { BLI_remove_thread(&threads, nodeexec); /* this waits for running thread to finish btw */ node->exec |= NODE_FINISHED; /* freeing unused buffers */ - if(rd->scemode & R_COMP_FREE) + if (rd->scemode & R_COMP_FREE) freeExecutableNode(exec); } } @@ -670,7 +680,7 @@ static void ntreeCompositExecTreeOld(bNodeTree *ntree, RenderData *rd, int do_pr void ntreeCompositExecTree(bNodeTree *ntree, RenderData *rd, int rendering, int do_preview) { - if(G.rt == 200) + if (G.rt == 200) ntreeCompositExecTreeOld(ntree, rd, do_preview); else COM_execute(ntree, rendering); diff --git a/source/blender/nodes/composite/node_composite_util.c b/source/blender/nodes/composite/node_composite_util.c index f26b5f44f99..0d1840a7a7d 100644 --- a/source/blender/nodes/composite/node_composite_util.c +++ b/source/blender/nodes/composite/node_composite_util.c @@ -986,7 +986,7 @@ void convolve(CompBuf* dst, CompBuf* in1, CompBuf* in2) fRGB wt, *colp; int x, y, ch; int xbl, ybl, nxb, nyb, xbsz, ybsz; - int in2done = 0; + int in2done = FALSE; CompBuf* rdst = alloc_compbuf(in1->x, in1->y, in1->type, 1); @@ -1086,7 +1086,7 @@ void convolve(CompBuf* dst, CompBuf* in1, CompBuf* in2) } } - in2done = 1; + in2done = TRUE; } } diff --git a/source/blender/nodes/composite/nodes/node_composite_blur.c b/source/blender/nodes/composite/nodes/node_composite_blur.c index 77b62938d94..d19ea3f202f 100644 --- a/source/blender/nodes/composite/nodes/node_composite_blur.c +++ b/source/blender/nodes/composite/nodes/node_composite_blur.c @@ -699,7 +699,7 @@ static void node_composit_exec_blur(void *data, bNode *node, bNodeStack **in, bN bokeh_single_image(node, new, gammabuf, in[1]->vec[0]); else if (1) blur_single_image(node, new, gammabuf, in[1]->vec[0]); - else /* bloom experimental... */ + else /* bloom experimental... */ bloom_with_reference(new, gammabuf, NULL, in[1]->vec[0], nbd); if (nbd->gamma) { diff --git a/source/blender/nodes/composite/nodes/node_composite_boxmask.c b/source/blender/nodes/composite/nodes/node_composite_boxmask.c index be5d25f60c3..8c3744e2930 100644 --- a/source/blender/nodes/composite/nodes/node_composite_boxmask.c +++ b/source/blender/nodes/composite/nodes/node_composite_boxmask.c @@ -63,7 +63,7 @@ void register_node_type_cmp_boxmask(bNodeTreeType *ttype) node_type_base(ttype, &ntype, CMP_NODE_MASK_BOX, "Box Mask", NODE_CLASS_MATTE, NODE_OPTIONS); node_type_socket_templates(&ntype, cmp_node_boxmask_in, cmp_node_boxmask_out); - node_type_size(&ntype, 120, 110, 160); + node_type_size(&ntype, 260, 110, 300); node_type_init(&ntype, node_composit_init_boxmask); node_type_storage(&ntype, "NodeBoxMask", node_free_standard_storage, node_copy_standard_storage); diff --git a/source/blender/nodes/composite/nodes/node_composite_colorcorrection.c b/source/blender/nodes/composite/nodes/node_composite_colorcorrection.c index af085418c0e..929efaef2c8 100644 --- a/source/blender/nodes/composite/nodes/node_composite_colorcorrection.c +++ b/source/blender/nodes/composite/nodes/node_composite_colorcorrection.c @@ -81,7 +81,7 @@ void register_node_type_cmp_colorcorrection(bNodeTreeType *ttype) node_type_base(ttype, &ntype, CMP_NODE_COLORCORRECTION, "Color Correction", NODE_CLASS_OP_COLOR, NODE_OPTIONS); node_type_socket_templates(&ntype, cmp_node_colorcorrection_in, cmp_node_colorcorrection_out); - node_type_size(&ntype, 400, 200, 400); + node_type_size(&ntype, 400, 200, 500); node_type_init(&ntype, node_composit_init_colorcorrection); node_type_storage(&ntype, "NodeColorCorrection", node_free_standard_storage, node_copy_standard_storage); diff --git a/source/blender/nodes/composite/nodes/node_composite_defocus.c b/source/blender/nodes/composite/nodes/node_composite_defocus.c index 72dec01066e..1a6e3fb1675 100644 --- a/source/blender/nodes/composite/nodes/node_composite_defocus.c +++ b/source/blender/nodes/composite/nodes/node_composite_defocus.c @@ -249,7 +249,7 @@ static void defocus_blur(bNode *node, CompBuf *new, CompBuf *img, CompBuf *zbuf, float bkh_b[4] = {0}; // shape 2D bound float cam_fdist=1, cam_invfdist=1, cam_lens=35; float dof_sp, maxfgc, bk_hn_theta=0, inradsq=0; - int y, len_bkh=0, ydone=0; + int y, len_bkh=0, ydone = FALSE; float aspect, aperture; int minsz; //float bcrad, nmaxc, scf; @@ -748,7 +748,7 @@ static void defocus_blur(bNode *node, CompBuf *new, CompBuf *img, CompBuf *zbuf, p4 = p * new->type; if (nqd->bktype==0) // Disk lwt = ((u*u + v*v)<=cR2) ? wcor : 0.f; - else // AA not needed here + else /* AA not needed here */ lwt = wcor * getWeight(BKH, len_bkh, u, v, ct_crad, inradsq); // prevent background bleeding onto in-focus pixels, user-option if (ct_crad > nqd->bthresh) { // if center blur > threshold @@ -868,7 +868,7 @@ static void node_composit_init_defocus(bNodeTree *UNUSED(ntree), bNode* node, bN nbd->gamco = 0; nbd->samples = 16; nbd->fstop = 128.f; - nbd->maxblur = 0; + nbd->maxblur = 16; nbd->bthresh = 1.f; nbd->scale = 1.f; nbd->no_zbuf = 1; diff --git a/source/blender/nodes/composite/nodes/node_composite_ellipsemask.c b/source/blender/nodes/composite/nodes/node_composite_ellipsemask.c index 556ad1ab6c6..a6ba3034d87 100644 --- a/source/blender/nodes/composite/nodes/node_composite_ellipsemask.c +++ b/source/blender/nodes/composite/nodes/node_composite_ellipsemask.c @@ -63,7 +63,7 @@ void register_node_type_cmp_ellipsemask(bNodeTreeType *ttype) node_type_base(ttype, &ntype, CMP_NODE_MASK_ELLIPSE, "Ellipse Mask", NODE_CLASS_MATTE, NODE_OPTIONS); node_type_socket_templates(&ntype, cmp_node_ellipsemask_in, cmp_node_ellipsemask_out); - node_type_size(&ntype, 120, 110, 160); + node_type_size(&ntype, 260, 110, 300); node_type_init(&ntype, node_composit_init_ellipsemask); node_type_storage(&ntype, "NodeEllipseMask", node_free_standard_storage, node_copy_standard_storage); diff --git a/source/blender/nodes/composite/nodes/node_composite_outputFile.c b/source/blender/nodes/composite/nodes/node_composite_outputFile.c index a571b140a1f..fcc8ed4a128 100644 --- a/source/blender/nodes/composite/nodes/node_composite_outputFile.c +++ b/source/blender/nodes/composite/nodes/node_composite_outputFile.c @@ -124,7 +124,7 @@ bNodeSocket *ntreeCompositOutputFileAddSocket(bNodeTree *ntree, bNode *node, con } } /* use node data format by default */ - sockdata->use_node_format = 1; + sockdata->use_node_format = TRUE; nimf->active_input = BLI_findindex(&node->inputs, sock); diff --git a/source/blender/nodes/intern/node_common.c b/source/blender/nodes/intern/node_common.c index 49a3d6c07b4..fa1af821a2d 100644 --- a/source/blender/nodes/intern/node_common.c +++ b/source/blender/nodes/intern/node_common.c @@ -57,6 +57,7 @@ #include "MEM_guardedalloc.h" #include "node_common.h" +#include "node_util.h" #include "node_exec.h" #include "NOD_socket.h" @@ -133,7 +134,7 @@ bNode *node_group_make_from_selected(bNodeTree *ntree) DO_MINMAX2((&node->locx), min, max); totnode++; } - node->done= 0; + node->done = FALSE; } if (totnode==0) return NULL; @@ -551,7 +552,7 @@ static bNodeSocket *group_verify_socket(bNodeTree *ntree, ListBase *lb, int in_o sock->groupsock = gsock; BLI_strncpy(sock->name, gsock->name, sizeof(sock->name)); - if(gsock->type != sock->type) + if (gsock->type != sock->type) nodeSocketSetType(sock, gsock->type); /* XXX hack: group socket input/output roles are inverted internally, @@ -810,12 +811,24 @@ bNodeTemplate node_whileloop_template(bNode *node) /**** FRAME ****/ +static void node_frame_init(bNodeTree *UNUSED(ntree), bNode *node, bNodeTemplate *UNUSED(ntemp)) +{ + NodeFrame *data = (NodeFrame *)MEM_callocN(sizeof(NodeFrame), "frame node storage"); + node->storage = data; + + data->flag |= NODE_FRAME_SHRINK; + + data->label_size = 20; +} + void register_node_type_frame(bNodeTreeType *ttype) { /* frame type is used for all tree types, needs dynamic allocation */ bNodeType *ntype= MEM_callocN(sizeof(bNodeType), "frame node type"); - node_type_base(ttype, ntype, NODE_FRAME, "Frame", NODE_CLASS_LAYOUT, NODE_BACKGROUND); + node_type_base(ttype, ntype, NODE_FRAME, "Frame", NODE_CLASS_LAYOUT, NODE_BACKGROUND|NODE_OPTIONS); + node_type_init(ntype, node_frame_init); + node_type_storage(ntype, "NodeFrame", node_free_standard_storage, node_copy_standard_storage); node_type_size(ntype, 150, 100, 0); node_type_compatibility(ntype, NODE_OLD_SHADING|NODE_NEW_SHADING); diff --git a/source/blender/nodes/intern/node_exec.c b/source/blender/nodes/intern/node_exec.c index 3b757e753a4..3f77638e25a 100644 --- a/source/blender/nodes/intern/node_exec.c +++ b/source/blender/nodes/intern/node_exec.c @@ -242,7 +242,7 @@ bNodeThreadStack *ntreeGetThreadStack(bNodeTreeExec *exec, int thread) for (nts=lb->first; nts; nts=nts->next) { if (!nts->used) { - nts->used= 1; + nts->used = TRUE; break; } } @@ -250,7 +250,7 @@ bNodeThreadStack *ntreeGetThreadStack(bNodeTreeExec *exec, int thread) if (!nts) { nts= MEM_callocN(sizeof(bNodeThreadStack), "bNodeThreadStack"); nts->stack= MEM_dupallocN(exec->stack); - nts->used= 1; + nts->used = TRUE; BLI_addtail(lb, nts); } diff --git a/source/blender/nodes/intern/node_util.c b/source/blender/nodes/intern/node_util.c index 1c38bdf39d7..548a21ee35b 100644 --- a/source/blender/nodes/intern/node_util.c +++ b/source/blender/nodes/intern/node_util.c @@ -57,7 +57,9 @@ void node_free_curves(bNode *node) void node_free_standard_storage(bNode *node) { - MEM_freeN(node->storage); + if (node->storage) { + MEM_freeN(node->storage); + } } void node_copy_curves(bNode *orig_node, bNode *new_node) diff --git a/source/blender/nodes/shader/node_shader_util.c b/source/blender/nodes/shader/node_shader_util.c index 9a9a27603dc..5961c2b330b 100644 --- a/source/blender/nodes/shader/node_shader_util.c +++ b/source/blender/nodes/shader/node_shader_util.c @@ -277,23 +277,23 @@ void ntreeExecGPUNodes(bNodeTreeExec *exec, GPUMaterial *mat, int do_outputs) bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */ bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */ GPUNodeStack gpuin[MAX_SOCKET+1], gpuout[MAX_SOCKET+1]; - int doit; + int do_it; stack= exec->stack; for (n=0, nodeexec= exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) { node = nodeexec->node; - doit = 0; + do_it = FALSE; /* for groups, only execute outputs for edited group */ if (node->typeinfo->nclass==NODE_CLASS_OUTPUT) { if (do_outputs && (node->flag & NODE_DO_OUTPUT)) - doit = 1; + do_it = TRUE; } else - doit = 1; + do_it = TRUE; - if (doit) { + if (do_it) { if (node->typeinfo->gpufunc) { node_get_stack(node, stack, nsin, nsout); gpu_stack_from_data_list(gpuin, &node->inputs, nsin); diff --git a/source/blender/nodes/shader/nodes/node_shader_object_info.c b/source/blender/nodes/shader/nodes/node_shader_object_info.c new file mode 100644 index 00000000000..ee356dbb3b3 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_object_info.c @@ -0,0 +1,61 @@ +/* + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_object_info_out[]= { + { SOCK_VECTOR, 0, "Location", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 0, "Object Index", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 0, "Material Index", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 0, "Random", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static int node_shader_gpu_object_info(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_object_info", in, out); +} + +/* node type definition */ +void register_node_type_sh_object_info(bNodeTreeType *ttype) +{ + static bNodeType ntype; + + node_type_base(ttype, &ntype, SH_NODE_OBJECT_INFO, "Object Info", NODE_CLASS_INPUT, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); + node_type_socket_templates(&ntype, NULL, sh_node_object_info_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_object_info); + + nodeRegisterType(ttype, &ntype); +} + diff --git a/source/blender/python/bmesh/bmesh_py_types.c b/source/blender/python/bmesh/bmesh_py_types.c index b75243c5feb..6ca4ad15859 100644 --- a/source/blender/python/bmesh/bmesh_py_types.c +++ b/source/blender/python/bmesh/bmesh_py_types.c @@ -574,7 +574,7 @@ static PyGetSetDef bpy_bmesh_getseters[] = { static PyGetSetDef bpy_bmvert_getseters[] = { /* generic */ {(char *)"select", (getter)bpy_bm_elem_hflag_get, (setter)bpy_bm_elem_hflag_set, (char *)bpy_bm_elem_select_doc, (void *)BM_ELEM_SELECT}, - {(char *)"hide", (getter)bpy_bm_elem_hflag_get, (setter)bpy_bm_elem_hflag_set, (char *)bpy_bm_elem_hide_doc, (void *)BM_ELEM_SELECT}, + {(char *)"hide", (getter)bpy_bm_elem_hflag_get, (setter)bpy_bm_elem_hflag_set, (char *)bpy_bm_elem_hide_doc, (void *)BM_ELEM_HIDDEN}, {(char *)"tag", (getter)bpy_bm_elem_hflag_get, (setter)bpy_bm_elem_hflag_set, (char *)bpy_bm_elem_tag_doc, (void *)BM_ELEM_TAG}, {(char *)"index", (getter)bpy_bm_elem_index_get, (setter)bpy_bm_elem_index_set, (char *)bpy_bm_elem_index_doc, NULL}, @@ -597,7 +597,7 @@ static PyGetSetDef bpy_bmvert_getseters[] = { static PyGetSetDef bpy_bmedge_getseters[] = { /* generic */ {(char *)"select", (getter)bpy_bm_elem_hflag_get, (setter)bpy_bm_elem_hflag_set, (char *)bpy_bm_elem_select_doc, (void *)BM_ELEM_SELECT}, - {(char *)"hide", (getter)bpy_bm_elem_hflag_get, (setter)bpy_bm_elem_hflag_set, (char *)bpy_bm_elem_hide_doc, (void *)BM_ELEM_SELECT}, + {(char *)"hide", (getter)bpy_bm_elem_hflag_get, (setter)bpy_bm_elem_hflag_set, (char *)bpy_bm_elem_hide_doc, (void *)BM_ELEM_HIDDEN}, {(char *)"tag", (getter)bpy_bm_elem_hflag_get, (setter)bpy_bm_elem_hflag_set, (char *)bpy_bm_elem_tag_doc, (void *)BM_ELEM_TAG}, {(char *)"index", (getter)bpy_bm_elem_index_get, (setter)bpy_bm_elem_index_set, (char *)bpy_bm_elem_index_doc, NULL}, @@ -622,7 +622,7 @@ static PyGetSetDef bpy_bmedge_getseters[] = { static PyGetSetDef bpy_bmface_getseters[] = { /* generic */ {(char *)"select", (getter)bpy_bm_elem_hflag_get, (setter)bpy_bm_elem_hflag_set, (char *)bpy_bm_elem_select_doc, (void *)BM_ELEM_SELECT}, - {(char *)"hide", (getter)bpy_bm_elem_hflag_get, (setter)bpy_bm_elem_hflag_set, (char *)bpy_bm_elem_hide_doc, (void *)BM_ELEM_SELECT}, + {(char *)"hide", (getter)bpy_bm_elem_hflag_get, (setter)bpy_bm_elem_hflag_set, (char *)bpy_bm_elem_hide_doc, (void *)BM_ELEM_HIDDEN}, {(char *)"tag", (getter)bpy_bm_elem_hflag_get, (setter)bpy_bm_elem_hflag_set, (char *)bpy_bm_elem_tag_doc, (void *)BM_ELEM_TAG}, {(char *)"index", (getter)bpy_bm_elem_index_get, (setter)bpy_bm_elem_index_set, (char *)bpy_bm_elem_index_doc, NULL}, @@ -647,7 +647,7 @@ static PyGetSetDef bpy_bmloop_getseters[] = { /* generic */ // flags are available but not used for loops. // {(char *)"select", (getter)bpy_bm_elem_hflag_get, (setter)bpy_bm_elem_hflag_set, (char *)bpy_bm_elem_select_doc, (void *)BM_ELEM_SELECT}, - // {(char *)"hide", (getter)bpy_bm_elem_hflag_get, (setter)bpy_bm_elem_hflag_set, (char *)bpy_bm_elem_hide_doc, (void *)BM_ELEM_SELECT}, + // {(char *)"hide", (getter)bpy_bm_elem_hflag_get, (setter)bpy_bm_elem_hflag_set, (char *)bpy_bm_elem_hide_doc, (void *)BM_ELEM_HIDDEN}, {(char *)"tag", (getter)bpy_bm_elem_hflag_get, (setter)bpy_bm_elem_hflag_set, (char *)bpy_bm_elem_tag_doc, (void *)BM_ELEM_TAG}, {(char *)"index", (getter)bpy_bm_elem_index_get, (setter)bpy_bm_elem_index_set, (char *)bpy_bm_elem_index_doc, NULL}, @@ -2065,7 +2065,7 @@ static PyObject *bpy_bmelemseq_index_update(BPy_BMElemSeq *self) int index = 0; const char htype = bm_iter_itype_htype_map[self->itype]; - BM_ITER_BPY_BM_SEQ(ele, &iter, self) { + BM_ITER_BPY_BM_SEQ (ele, &iter, self) { BM_elem_index_set(ele, index); /* set_dirty! */ index++; } @@ -2278,7 +2278,7 @@ static Py_ssize_t bpy_bmelemseq_length(BPy_BMElemSeq *self) BMHeader *ele; Py_ssize_t tot = 0; - BM_ITER_BPY_BM_SEQ(ele, &iter, self) { + BM_ITER_BPY_BM_SEQ (ele, &iter, self) { tot++; } return tot; @@ -2409,7 +2409,7 @@ static int bpy_bmelemseq_contains(BPy_BMElemSeq *self, PyObject *value) if (value_bm_ele->bm == self->bm) { BMElem *ele, *ele_test = value_bm_ele->ele; BMIter iter; - BM_ITER_BPY_BM_SEQ(ele, &iter, self) { + BM_ITER_BPY_BM_SEQ (ele, &iter, self) { if (ele == ele_test) { return 1; } @@ -3115,6 +3115,21 @@ PyObject *BPy_BMElem_CreatePyObject(BMesh *bm, BMHeader *ele) int bpy_bm_generic_valid_check(BPy_BMGeneric *self) { if (LIKELY(self->bm)) { + + /* far too slow to enable by default but handy + * to uncomment for debugging tricky errors, + * note that this will throw error on entering a + * function where the actual error will be caused by + * the previous action. */ +#if 0 + if (BM_mesh_validate(self->bm) == FALSE) { + PyErr_Format(PyExc_ReferenceError, + "BMesh used by %.200s has become invalid", + Py_TYPE(self)->tp_name); + return -1; + } +#endif + return 0; } else { @@ -3184,7 +3199,7 @@ void *BPy_BMElem_PySeq_As_Array(BMesh **r_bm, PyObject *seq, Py_ssize_t min, Py_ } /* trick so we can ensure all items have the same mesh, * and allows us to pass the 'bm' as NULL. */ - else if (do_bm_check && (bm && bm != item->bm)) { + else if (do_bm_check && (bm && bm != item->bm)) { PyErr_Format(PyExc_ValueError, "%s: %d %s is from another mesh", error_prefix, i, BPy_BMElem_StringFromHType(htype)); diff --git a/source/blender/python/bmesh/bmesh_py_types_customdata.c b/source/blender/python/bmesh/bmesh_py_types_customdata.c index f25222c89da..d484ad5c87e 100644 --- a/source/blender/python/bmesh/bmesh_py_types_customdata.c +++ b/source/blender/python/bmesh/bmesh_py_types_customdata.c @@ -271,13 +271,16 @@ static PyObject *bpy_bmlayeritem_copy_from(BPy_BMLayerItem *self, BPy_BMLayerIte } else if ((self->htype != value->htype) || - (self->type != value->type) || - (self->index != value->index)) + (self->type != value->type)) { PyErr_SetString(PyExc_ValueError, "layer.copy_from(other): layer type mismatch"); } + else if (self->index == value->index) { + Py_RETURN_NONE; + } + data = bpy_bm_customdata_get(self->bm, self->htype); if ((bpy_bmlayeritem_get(self) == NULL) || diff --git a/source/blender/python/generic/bpy_internal_import.c b/source/blender/python/generic/bpy_internal_import.c index ad97d741f9b..5999040a2ab 100644 --- a/source/blender/python/generic/bpy_internal_import.c +++ b/source/blender/python/generic/bpy_internal_import.c @@ -226,7 +226,7 @@ static PyObject *blender_import(PyObject *UNUSED(self), PyObject *args, PyObject char *name; int found = 0; PyObject *globals = NULL, *locals = NULL, *fromlist = NULL; - int level = -1; /* relative imports */ + int level = 0; /* relative imports */ PyObject *newmodule; //PyObject_Print(args, stderr, 0); diff --git a/source/blender/python/generic/idprop_py_api.c b/source/blender/python/generic/idprop_py_api.c index 9fd120b11aa..15eeb5934d8 100644 --- a/source/blender/python/generic/idprop_py_api.c +++ b/source/blender/python/generic/idprop_py_api.c @@ -277,7 +277,7 @@ static PyObject *BPy_IDGroup_Map_GetItem(BPy_IDProperty *self, PyObject *item) IDProperty *idprop; const char *name; - if (self->prop->type != IDP_GROUP) { + if (self->prop->type != IDP_GROUP) { PyErr_SetString(PyExc_TypeError, "unsubscriptable object"); return NULL; } @@ -483,7 +483,7 @@ const char *BPy_IDProperty_Map_ValidateAndCreate(PyObject *name_obj, IDProperty int BPy_Wrap_SetMapItem(IDProperty *prop, PyObject *key, PyObject *val) { - if (prop->type != IDP_GROUP) { + if (prop->type != IDP_GROUP) { PyErr_SetString(PyExc_TypeError, "unsubscriptable object"); return -1; } diff --git a/source/blender/python/generic/py_capi_utils.c b/source/blender/python/generic/py_capi_utils.c index 0e5122787b8..3a405575926 100644 --- a/source/blender/python/generic/py_capi_utils.c +++ b/source/blender/python/generic/py_capi_utils.c @@ -483,6 +483,8 @@ void PyC_SetHomePath(const char *py_path_bundle) \nThis may make python import function fail\n"); #endif + +#if 0 /* disable for now [#31506] - campbell */ #ifdef _WIN32 /* cmake/MSVC debug build crashes without this, why only * in this case is unknown.. */ @@ -490,6 +492,7 @@ void PyC_SetHomePath(const char *py_path_bundle) BLI_setenv("PYTHONPATH", py_path_bundle); } #endif +#endif { static wchar_t py_path_bundle_wchar[1024]; diff --git a/source/blender/python/intern/bpy_driver.c b/source/blender/python/intern/bpy_driver.c index e2acef7bb73..de23b3bf109 100644 --- a/source/blender/python/intern/bpy_driver.c +++ b/source/blender/python/intern/bpy_driver.c @@ -122,7 +122,7 @@ static void bpy_pydriver_update_dict(const float evaltime) void BPY_driver_reset(void) { PyGILState_STATE gilstate; - int use_gil = 1; /* !PYC_INTERPRETER_ACTIVE; */ + int use_gil = TRUE; /* !PYC_INTERPRETER_ACTIVE; */ if (use_gil) gilstate = PyGILState_Ensure(); @@ -193,7 +193,7 @@ float BPY_driver_exec(ChannelDriver *driver, const float evaltime) return 0.0f; } - use_gil = 1; /* !PYC_INTERPRETER_ACTIVE; */ + use_gil = TRUE; /* !PYC_INTERPRETER_ACTIVE; */ if (use_gil) gilstate = PyGILState_Ensure(); diff --git a/source/blender/python/intern/bpy_interface.c b/source/blender/python/intern/bpy_interface.c index b9d4c1ae94f..0c88c7d9c81 100644 --- a/source/blender/python/intern/bpy_interface.c +++ b/source/blender/python/intern/bpy_interface.c @@ -178,7 +178,7 @@ void BPY_modules_update(bContext *C) /* refreshes the main struct */ BPY_update_rna_module(); - if(bpy_context_module) + if (bpy_context_module) bpy_context_module->ptr.data = (void *)C; } @@ -421,9 +421,9 @@ static int python_script_exec(bContext *C, const char *fn, struct Text *text, fclose(fp); - pystring = MEM_mallocN(strlen(fn) + 32, "pystring"); + pystring = MEM_mallocN(strlen(fn) + 36, "pystring"); pystring[0] = '\0'; - sprintf(pystring, "exec(open(r'%s').read())", fn); + sprintf(pystring, "f=open(r'%s');exec(f.read());f.close()", fn); py_result = PyRun_String(pystring, Py_file_input, py_dict, py_dict); MEM_freeN(pystring); } @@ -660,7 +660,7 @@ int BPY_context_member_get(bContext *C, const char *member, bContextDataResult * PyObject *pyctx = (PyObject *)CTX_py_dict_get(C); PyObject *item = PyDict_GetItemString(pyctx, member); PointerRNA *ptr = NULL; - int done = 0; + int done = FALSE; if (item == NULL) { /* pass */ @@ -673,7 +673,7 @@ int BPY_context_member_get(bContext *C, const char *member, bContextDataResult * //result->ptr = ((BPy_StructRNA *)item)->ptr; CTX_data_pointer_set(result, ptr->id.data, ptr->type, ptr->data); - done = 1; + done = TRUE; } else if (PySequence_Check(item)) { PyObject *seq_fast = PySequence_Fast(item, "bpy_context_get sequence conversion"); @@ -703,7 +703,7 @@ int BPY_context_member_get(bContext *C, const char *member, bContextDataResult * } Py_DECREF(seq_fast); - done = 1; + done = TRUE; } } diff --git a/source/blender/python/intern/bpy_library.c b/source/blender/python/intern/bpy_library.c index a5350b984c1..1d02acbe983 100644 --- a/source/blender/python/intern/bpy_library.c +++ b/source/blender/python/intern/bpy_library.c @@ -291,7 +291,8 @@ static void bpy_lib_exit_warn_idname(BPy_Library *self, const char *name_plural, PyErr_Fetch(&exc, &val, &tb); if (PyErr_WarnFormat(PyExc_UserWarning, 1, "load: '%s' does not contain %s[\"%s\"]", - self->abspath, name_plural, idname)) { + self->abspath, name_plural, idname)) + { /* Spurious errors can appear at shutdown */ if (PyErr_ExceptionMatches(PyExc_Warning)) { PyErr_WriteUnraisable((PyObject *)self); @@ -306,7 +307,8 @@ static void bpy_lib_exit_warn_type(BPy_Library *self, PyObject *item) PyErr_Fetch(&exc, &val, &tb); if (PyErr_WarnFormat(PyExc_UserWarning, 1, "load: '%s' expected a string type, not a %.200s", - self->abspath, Py_TYPE(item)->tp_name)) { + self->abspath, Py_TYPE(item)->tp_name)) + { /* Spurious errors can appear at shutdown */ if (PyErr_ExceptionMatches(PyExc_Warning)) { PyErr_WriteUnraisable((PyObject *)self); diff --git a/source/blender/python/intern/bpy_operator.c b/source/blender/python/intern/bpy_operator.c index 8f5a9fec86b..10562271941 100644 --- a/source/blender/python/intern/bpy_operator.c +++ b/source/blender/python/intern/bpy_operator.c @@ -389,7 +389,7 @@ static PyObject *pyop_getrna(PyObject *UNUSED(self), PyObject *value) return NULL; } ot = WM_operatortype_find(opname, TRUE); - if (ot == NULL) { + if (ot == NULL) { PyErr_Format(PyExc_KeyError, "_bpy.ops.get_rna(\"%s\") not found", opname); return NULL; } diff --git a/source/blender/python/intern/bpy_props.c b/source/blender/python/intern/bpy_props.c index dbb25eb854b..77ccf802663 100644 --- a/source/blender/python/intern/bpy_props.c +++ b/source/blender/python/intern/bpy_props.c @@ -60,6 +60,7 @@ static EnumPropertyItem property_flag_items[] = { {PROP_HIDDEN, "HIDDEN", 0, "Hidden", ""}, {PROP_SKIP_SAVE, "SKIP_SAVE", 0, "Skip Save", ""}, {PROP_ANIMATABLE, "ANIMATABLE", 0, "Animatable", ""}, + {PROP_LIB_EXCEPTION, "LIBRARY_EDITABLE", 0, "Library Editable", ""}, {0, NULL, 0, NULL, NULL}}; static EnumPropertyItem property_flag_enum_items[] = { @@ -67,6 +68,7 @@ static EnumPropertyItem property_flag_enum_items[] = { {PROP_SKIP_SAVE, "SKIP_SAVE", 0, "Skip Save", ""}, {PROP_ANIMATABLE, "ANIMATABLE", 0, "Animatable", ""}, {PROP_ENUM_FLAG, "ENUM_FLAG", 0, "Enum Flag", ""}, + {PROP_LIB_EXCEPTION, "LIBRARY_EDITABLE", 0, "Library Editable", ""}, {0, NULL, 0, NULL, NULL}}; /* subtypes */ @@ -385,7 +387,7 @@ PyDoc_STRVAR(BPy_BoolProperty_doc, "\n" BPY_PROPDEF_NAME_DOC BPY_PROPDEF_DESC_DOC -" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE'].\n" +" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE', 'LIBRARY_EDITABLE'].\n" " :type options: set\n" " :arg subtype: Enumerator in ['UNSIGNED', 'PERCENTAGE', 'FACTOR', 'ANGLE', 'TIME', 'DISTANCE', 'NONE'].\n" " :type subtype: string\n" @@ -434,6 +436,7 @@ static PyObject *BPy_BoolProperty(PyObject *self, PyObject *args, PyObject *kw) if (opts & PROP_HIDDEN) RNA_def_property_flag(prop, PROP_HIDDEN); if ((opts & PROP_ANIMATABLE) == 0) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); if (opts & PROP_SKIP_SAVE) RNA_def_property_flag(prop, PROP_SKIP_SAVE); + if (opts & PROP_LIB_EXCEPTION) RNA_def_property_flag(prop, PROP_LIB_EXCEPTION); } bpy_prop_callback_assign(prop, update_cb); RNA_def_property_duplicate_pointers(srna, prop); @@ -457,7 +460,7 @@ BPY_PROPDEF_NAME_DOC BPY_PROPDEF_DESC_DOC " :arg default: sequence of booleans the length of *size*.\n" " :type default: sequence\n" -" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE'].\n" +" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE', 'LIBRARY_EDITABLE'].\n" " :type options: set\n" " :arg subtype: Enumerator in ['COLOR', 'TRANSLATION', 'DIRECTION', " "'VELOCITY', 'ACCELERATION', 'MATRIX', 'EULER', 'QUATERNION', 'AXISANGLE', " @@ -524,6 +527,7 @@ static PyObject *BPy_BoolVectorProperty(PyObject *self, PyObject *args, PyObject if (opts & PROP_HIDDEN) RNA_def_property_flag(prop, PROP_HIDDEN); if ((opts & PROP_ANIMATABLE) == 0) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); if (opts & PROP_SKIP_SAVE) RNA_def_property_flag(prop, PROP_SKIP_SAVE); + if (opts & PROP_LIB_EXCEPTION) RNA_def_property_flag(prop, PROP_LIB_EXCEPTION); } bpy_prop_callback_assign(prop, update_cb); RNA_def_property_duplicate_pointers(srna, prop); @@ -547,7 +551,7 @@ PyDoc_STRVAR(BPy_IntProperty_doc, "\n" BPY_PROPDEF_NAME_DOC BPY_PROPDEF_DESC_DOC -" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE'].\n" +" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE', 'LIBRARY_EDITABLE'].\n" " :type options: set\n" " :arg subtype: Enumerator in ['UNSIGNED', 'PERCENTAGE', 'FACTOR', 'ANGLE', 'TIME', 'DISTANCE', 'NONE'].\n" " :type subtype: string\n" @@ -600,6 +604,7 @@ static PyObject *BPy_IntProperty(PyObject *self, PyObject *args, PyObject *kw) if (opts & PROP_HIDDEN) RNA_def_property_flag(prop, PROP_HIDDEN); if ((opts & PROP_ANIMATABLE) == 0) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); if (opts & PROP_SKIP_SAVE) RNA_def_property_flag(prop, PROP_SKIP_SAVE); + if (opts & PROP_LIB_EXCEPTION) RNA_def_property_flag(prop, PROP_LIB_EXCEPTION); } bpy_prop_callback_assign(prop, update_cb); RNA_def_property_duplicate_pointers(srna, prop); @@ -624,7 +629,7 @@ BPY_PROPDEF_NAME_DOC BPY_PROPDEF_DESC_DOC " :arg default: sequence of ints the length of *size*.\n" " :type default: sequence\n" -" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE'].\n" +" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE', 'LIBRARY_EDITABLE'].\n" " :type options: set\n" " :arg subtype: Enumerator in ['COLOR', 'TRANSLATION', 'DIRECTION', " "'VELOCITY', 'ACCELERATION', 'MATRIX', 'EULER', 'QUATERNION', 'AXISANGLE', " @@ -696,6 +701,7 @@ static PyObject *BPy_IntVectorProperty(PyObject *self, PyObject *args, PyObject if (opts & PROP_HIDDEN) RNA_def_property_flag(prop, PROP_HIDDEN); if ((opts & PROP_ANIMATABLE) == 0) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); if (opts & PROP_SKIP_SAVE) RNA_def_property_flag(prop, PROP_SKIP_SAVE); + if (opts & PROP_LIB_EXCEPTION) RNA_def_property_flag(prop, PROP_LIB_EXCEPTION); } bpy_prop_callback_assign(prop, update_cb); RNA_def_property_duplicate_pointers(srna, prop); @@ -721,7 +727,7 @@ PyDoc_STRVAR(BPy_FloatProperty_doc, "\n" BPY_PROPDEF_NAME_DOC BPY_PROPDEF_DESC_DOC -" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE'].\n" +" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE', 'LIBRARY_EDITABLE'].\n" " :type options: set\n" " :arg subtype: Enumerator in ['UNSIGNED', 'PERCENTAGE', 'FACTOR', 'ANGLE', 'TIME', 'DISTANCE', 'NONE'].\n" " :type subtype: string\n" @@ -784,6 +790,7 @@ static PyObject *BPy_FloatProperty(PyObject *self, PyObject *args, PyObject *kw) if (opts & PROP_HIDDEN) RNA_def_property_flag(prop, PROP_HIDDEN); if ((opts & PROP_ANIMATABLE) == 0) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); if (opts & PROP_SKIP_SAVE) RNA_def_property_flag(prop, PROP_SKIP_SAVE); + if (opts & PROP_LIB_EXCEPTION) RNA_def_property_flag(prop, PROP_LIB_EXCEPTION); } bpy_prop_callback_assign(prop, update_cb); RNA_def_property_duplicate_pointers(srna, prop); @@ -810,7 +817,7 @@ BPY_PROPDEF_NAME_DOC BPY_PROPDEF_DESC_DOC " :arg default: sequence of floats the length of *size*.\n" " :type default: sequence\n" -" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE'].\n" +" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE', 'LIBRARY_EDITABLE'].\n" " :type options: set\n" " :arg subtype: Enumerator in ['COLOR', 'TRANSLATION', 'DIRECTION', " "'VELOCITY', 'ACCELERATION', 'MATRIX', 'EULER', 'QUATERNION', 'AXISANGLE', 'XYZ', " @@ -890,6 +897,7 @@ static PyObject *BPy_FloatVectorProperty(PyObject *self, PyObject *args, PyObjec if (opts & PROP_HIDDEN) RNA_def_property_flag(prop, PROP_HIDDEN); if ((opts & PROP_ANIMATABLE) == 0) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); if (opts & PROP_SKIP_SAVE) RNA_def_property_flag(prop, PROP_SKIP_SAVE); + if (opts & PROP_LIB_EXCEPTION) RNA_def_property_flag(prop, PROP_LIB_EXCEPTION); } bpy_prop_callback_assign(prop, update_cb); RNA_def_property_duplicate_pointers(srna, prop); @@ -910,7 +918,7 @@ PyDoc_STRVAR(BPy_StringProperty_doc, "\n" BPY_PROPDEF_NAME_DOC BPY_PROPDEF_DESC_DOC -" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE'].\n" +" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE', 'LIBRARY_EDITABLE'].\n" " :type options: set\n" " :arg subtype: Enumerator in ['FILE_PATH', 'DIR_PATH', 'FILENAME', 'NONE'].\n" " :type subtype: string\n" @@ -960,6 +968,7 @@ static PyObject *BPy_StringProperty(PyObject *self, PyObject *args, PyObject *kw if (opts & PROP_HIDDEN) RNA_def_property_flag(prop, PROP_HIDDEN); if ((opts & PROP_ANIMATABLE) == 0) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); if (opts & PROP_SKIP_SAVE) RNA_def_property_flag(prop, PROP_SKIP_SAVE); + if (opts & PROP_LIB_EXCEPTION) RNA_def_property_flag(prop, PROP_LIB_EXCEPTION); } bpy_prop_callback_assign(prop, update_cb); RNA_def_property_duplicate_pointers(srna, prop); @@ -1210,7 +1219,7 @@ BPY_PROPDEF_DESC_DOC " is disabled otherwise a set which may only contain string identifiers\n" " used in *items*.\n" " :type default: string or set\n" -" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE', 'ENUM_FLAG'].\n" +" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE', 'ENUM_FLAG', 'LIBRARY_EDITABLE'].\n" " :type options: set\n" " :arg items: sequence of enum items formatted:\n" " [(identifier, name, description, number), ...] where the identifier is used\n" @@ -1312,6 +1321,7 @@ static PyObject *BPy_EnumProperty(PyObject *self, PyObject *args, PyObject *kw) if (opts & PROP_HIDDEN) RNA_def_property_flag(prop, PROP_HIDDEN); if ((opts & PROP_ANIMATABLE) == 0) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); if (opts & PROP_SKIP_SAVE) RNA_def_property_flag(prop, PROP_SKIP_SAVE); + if (opts & PROP_LIB_EXCEPTION) RNA_def_property_flag(prop, PROP_LIB_EXCEPTION); } bpy_prop_callback_assign(prop, update_cb); RNA_def_property_duplicate_pointers(srna, prop); @@ -1367,7 +1377,7 @@ PyDoc_STRVAR(BPy_PointerProperty_doc, " :type type: class\n" BPY_PROPDEF_NAME_DOC BPY_PROPDEF_DESC_DOC -" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE'].\n" +" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE', 'LIBRARY_EDITABLE'].\n" " :type options: set\n" BPY_PROPDEF_UPDATE_DOC ); @@ -1413,6 +1423,7 @@ static PyObject *BPy_PointerProperty(PyObject *self, PyObject *args, PyObject *k if (opts & PROP_HIDDEN) RNA_def_property_flag(prop, PROP_HIDDEN); if ((opts & PROP_ANIMATABLE) == 0) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); if (opts & PROP_SKIP_SAVE) RNA_def_property_flag(prop, PROP_SKIP_SAVE); + if (opts & PROP_LIB_EXCEPTION) RNA_def_property_flag(prop, PROP_LIB_EXCEPTION); } bpy_prop_callback_assign(prop, update_cb); RNA_def_property_duplicate_pointers(srna, prop); @@ -1432,7 +1443,7 @@ PyDoc_STRVAR(BPy_CollectionProperty_doc, " :type type: class\n" BPY_PROPDEF_NAME_DOC BPY_PROPDEF_DESC_DOC -" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE'].\n" +" :arg options: Enumerator in ['HIDDEN', 'SKIP_SAVE', 'ANIMATABLE', 'LIBRARY_EDITABLE'].\n" " :type options: set\n" ); static PyObject *BPy_CollectionProperty(PyObject *self, PyObject *args, PyObject *kw) @@ -1471,6 +1482,7 @@ static PyObject *BPy_CollectionProperty(PyObject *self, PyObject *args, PyObject if (opts & PROP_HIDDEN) RNA_def_property_flag(prop, PROP_HIDDEN); if ((opts & PROP_ANIMATABLE) == 0) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); if (opts & PROP_SKIP_SAVE) RNA_def_property_flag(prop, PROP_SKIP_SAVE); + if (opts & PROP_LIB_EXCEPTION) RNA_def_property_flag(prop, PROP_LIB_EXCEPTION); } RNA_def_property_duplicate_pointers(srna, prop); } diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c index e9b6f15033c..fe18fd040eb 100644 --- a/source/blender/python/intern/bpy_rna.c +++ b/source/blender/python/intern/bpy_rna.c @@ -1702,7 +1702,7 @@ static int pyrna_py_to_prop(PointerRNA *ptr, PropertyRNA *prop, void *data, PyOb /* this is really nasty!, so we can fake the operator having direct properties eg: * layout.prop(self, "filepath") - * ... which infact should be + * ... which in fact should be * layout.prop(self.properties, "filepath") * * we need to do this trick. @@ -6347,7 +6347,7 @@ PyObject *BPY_rna_module(void) void BPY_update_rna_module(void) { - if(rna_module_ptr) { + if (rna_module_ptr) { #if 0 RNA_main_pointer_create(G.main, rna_module_ptr); #else diff --git a/source/blender/python/mathutils/mathutils_Color.c b/source/blender/python/mathutils/mathutils_Color.c index 0f421f1ddea..59c57e916d4 100644 --- a/source/blender/python/mathutils/mathutils_Color.c +++ b/source/blender/python/mathutils/mathutils_Color.c @@ -723,10 +723,10 @@ static int Color_channel_hsv_set(ColorObject *self, PyObject *value, void *type) if (BaseMath_ReadCallback(self) == -1) return -1; - rgb_to_hsv(self->col[0], self->col[1], self->col[2], &(hsv[0]), &(hsv[1]), &(hsv[2])); + rgb_to_hsv_v(self->col, hsv); CLAMP(f, 0.0f, 1.0f); hsv[i] = f; - hsv_to_rgb(hsv[0], hsv[1], hsv[2], &(self->col[0]), &(self->col[1]), &(self->col[2])); + hsv_to_rgb_v(hsv, self->col); if (BaseMath_WriteCallback(self) == -1) return -1; @@ -764,7 +764,7 @@ static int Color_hsv_set(ColorObject *self, PyObject *value, void *UNUSED(closur CLAMP(hsv[1], 0.0f, 1.0f); CLAMP(hsv[2], 0.0f, 1.0f); - hsv_to_rgb(hsv[0], hsv[1], hsv[2], &(self->col[0]), &(self->col[1]), &(self->col[2])); + hsv_to_rgb_v(hsv, self->col); if (BaseMath_WriteCallback(self) == -1) return -1; diff --git a/source/blender/python/mathutils/mathutils_Quaternion.c b/source/blender/python/mathutils/mathutils_Quaternion.c index d1da4660f3b..5ac1214409f 100644 --- a/source/blender/python/mathutils/mathutils_Quaternion.c +++ b/source/blender/python/mathutils/mathutils_Quaternion.c @@ -196,7 +196,8 @@ static PyObject *Quaternion_cross(QuaternionObject *self, PyObject *value) return NULL; if (mathutils_array_parse(tquat, QUAT_SIZE, QUAT_SIZE, value, - "Quaternion.cross(other), invalid 'other' arg") == -1) { + "Quaternion.cross(other), invalid 'other' arg") == -1) + { return NULL; } diff --git a/source/blender/quicktime/apple/quicktime_export.c b/source/blender/quicktime/apple/quicktime_export.c index a071c0be611..ab1192bfdfc 100644 --- a/source/blender/quicktime/apple/quicktime_export.c +++ b/source/blender/quicktime/apple/quicktime_export.c @@ -707,8 +707,8 @@ void quicktime_verify_image_type(RenderData *rd, ImageFormatData *imf) if (imf->imtype == R_IMF_IMTYPE_QUICKTIME) { if ((rd->qtcodecsettings.codecType == 0) || (rd->qtcodecsettings.codecSpatialQuality < 0) || - (rd->qtcodecsettings.codecSpatialQuality > 100)) { - + (rd->qtcodecsettings.codecSpatialQuality > 100)) + { rd->qtcodecsettings.codecType = kJPEGCodecType; rd->qtcodecsettings.codec = (int)anyCodec; rd->qtcodecsettings.codecSpatialQuality = (codecHighQuality * 100) / codecLosslessQuality; diff --git a/source/blender/quicktime/apple/quicktime_import.c b/source/blender/quicktime/apple/quicktime_import.c index f3e71feec58..c765e15ef51 100644 --- a/source/blender/quicktime/apple/quicktime_import.c +++ b/source/blender/quicktime/apple/quicktime_import.c @@ -136,7 +136,7 @@ void quicktime_exit(void) #ifdef _WIN32 -char *get_valid_qtname(char *name) +const char *get_valid_qtname(char *name) { TCHAR Buffer[MAX_PATH]; DWORD dwRet; diff --git a/source/blender/quicktime/quicktime_import.h b/source/blender/quicktime/quicktime_import.h index e6f3c821b85..19bdbb4814c 100644 --- a/source/blender/quicktime/quicktime_import.h +++ b/source/blender/quicktime/quicktime_import.h @@ -61,7 +61,7 @@ #endif /* _WIN32 _ */ -char *get_valid_qtname(char *name); +char *get_valid_qtname(const char *name); // quicktime movie import functions diff --git a/source/blender/render/intern/include/pixelblending.h b/source/blender/render/intern/include/pixelblending.h index 97d41107856..bb2e7e7f9f9 100644 --- a/source/blender/render/intern/include/pixelblending.h +++ b/source/blender/render/intern/include/pixelblending.h @@ -36,30 +36,30 @@ * add 1 pixel to into filtered three lines * (float vecs to float vec) */ -void add_filt_fmask(unsigned int mask, float *col, float *rowbuf, int row_w); +void add_filt_fmask(unsigned int mask, const float col[4], float *rowbuf, int row_w); void add_filt_fmask_pixsize(unsigned int mask, float *in, float *rowbuf, int row_w, int pixsize); -void add_filt_fmask_coord(float filt[][3], float *col, float *rowbuf, int row_w, int col_h, int x, int y); +void add_filt_fmask_coord(float filt[][3], const float col[4], float *rowbuf, int row_w, int col_h, int x, int y); void mask_array(unsigned int mask, float filt[][3]); /** * Alpha-over blending for floats. */ -void addAlphaOverFloat(float *dest, float *source); +void addAlphaOverFloat(float dest[4], const float source[4]); /** * Alpha-under blending for floats. */ -void addAlphaUnderFloat(float *dest, float *source); +void addAlphaUnderFloat(float dest[4], const float source[4]); /** * Same for floats */ -void addalphaAddfacFloat(float *dest, float *source, char addfac); +void addalphaAddfacFloat(float dest[4], const float source[4], char addfac); /** * dest = dest + source */ -void addalphaAddFloat(float *dest, float *source); +void addalphaAddFloat(float dest[4], const float source[4]); #endif /* __PIXELBLENDING_H__ */ diff --git a/source/blender/render/intern/include/shading.h b/source/blender/render/intern/include/shading.h index 558342a46ab..a8519d8a7fb 100644 --- a/source/blender/render/intern/include/shading.h +++ b/source/blender/render/intern/include/shading.h @@ -96,7 +96,7 @@ ListBase *get_lights(struct ShadeInput *shi); float lamp_get_visibility(struct LampRen *lar, const float co[3], float lv[3], float *dist); void lamp_get_shadow(struct LampRen *lar, ShadeInput *shi, float inp, float shadfac[4], int do_real); -float fresnel_fac(float *view, float *vn, float fresnel, float fac); +float fresnel_fac(const float view[3], const float vn[3], float fresnel, float fac); /* rayshade.c */ extern void shade_ray(struct Isect *is, struct ShadeInput *shi, struct ShadeResult *shr); diff --git a/source/blender/render/intern/include/sss.h b/source/blender/render/intern/include/sss.h index 6a179d2f428..91a8b91e638 100644 --- a/source/blender/render/intern/include/sss.h +++ b/source/blender/render/intern/include/sss.h @@ -42,13 +42,13 @@ struct ScatterTree; typedef struct ScatterTree ScatterTree; ScatterSettings *scatter_settings_new(float refl, float radius, float ior, - float reflfac, float frontweight, float backweight); + float reflfac, float frontweight, float backweight); void scatter_settings_free(ScatterSettings *ss); ScatterTree *scatter_tree_new(ScatterSettings *ss[3], float scale, float error, - float (*co)[3], float (*color)[3], float *area, int totpoint); + float (*co)[3], float (*color)[3], float *area, int totpoint); void scatter_tree_build(ScatterTree *tree); -void scatter_tree_sample(ScatterTree *tree, float *co, float *color); +void scatter_tree_sample(ScatterTree *tree, const float co[3], float color[3]); void scatter_tree_free(ScatterTree *tree); /* Internal renderer API */ @@ -61,7 +61,7 @@ void make_sss_tree(struct Render *re); void sss_add_points(Render *re, float (*co)[3], float (*color)[3], float *area, int totpoint); void free_sss(struct Render *re); -int sample_sss(struct Render *re, struct Material *mat, float *co, float *col); +int sample_sss(struct Render *re, struct Material *mat, const float co[3], float color[3]); int sss_pass_done(struct Render *re, struct Material *mat); #endif /*__SSS_H__*/ diff --git a/source/blender/render/intern/include/texture.h b/source/blender/render/intern/include/texture.h index 33717d47c82..1c8a2552482 100644 --- a/source/blender/render/intern/include/texture.h +++ b/source/blender/render/intern/include/texture.h @@ -67,7 +67,7 @@ void do_halo_tex(struct HaloRen *har, float xn, float yn, float col_r[4]); void do_sky_tex(const float rco[3], float lo[3], const float dxyview[2], float hor[3], float zen[3], float *blend, int skyflag, short thread); void do_material_tex(struct ShadeInput *shi, struct Render *re); void do_lamp_tex(LampRen *la, const float lavec[3], struct ShadeInput *shi, float col_r[3], int effect); -void do_volume_tex(struct ShadeInput *shi, const float xyz[3], int mapto_flag, float col[3], float *val, struct Render *re); +void do_volume_tex(struct ShadeInput *shi, const float xyz[3], int mapto_flag, float col_r[3], float *val, struct Render *re); void init_render_textures(Render *re); void end_render_textures(Render *re); diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index fe8662c51a7..ae9236ebece 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -169,7 +169,7 @@ void RE_make_stars(Render *re, Scene *scenev3d, void (*initfunc)(void), float vec[4], fx, fy, fz; float fac, starmindist, clipend; float mat[4][4], stargrid, maxrand, maxjit, force, alpha; - int x, y, z, sx, sy, sz, ex, ey, ez, done = 0; + int x, y, z, sx, sy, sz, ex, ey, ez, done = FALSE; unsigned int totstar= 0; if (initfunc) { @@ -560,7 +560,7 @@ static void GetTextureCoordinate(const SMikkTSpaceContext * pContext, float fUV[ MTFace *tface= RE_vlakren_get_tface(pMesh->obr, vlr, pMesh->obr->actmtface, NULL, 0); const float *coord; - if (tface != NULL) { + if (tface != NULL) { coord= tface->uv[vert_index]; fUV[0]= coord[0]; fUV[1]= coord[1]; } @@ -586,7 +586,7 @@ static void SetTSpace(const SMikkTSpaceContext * pContext, const float fvTangent SRenderMeshToTangent * pMesh = (SRenderMeshToTangent *) pContext->m_pUserData; VlakRen *vlr= RE_findOrAddVlak(pMesh->obr, face_num); float * ftang= RE_vlakren_get_nmap_tangent(pMesh->obr, vlr, 1); - if (ftang!=NULL) { + if (ftang!=NULL) { copy_v3_v3(&ftang[iVert*4+0], fvTangent); ftang[iVert*4+3]=fSign; } @@ -684,7 +684,7 @@ static void calc_vertexnormals(Render *UNUSED(re), ObjectRen *obr, int do_tangen } } - if (do_nmap_tangent != 0) { + if (do_nmap_tangent != FALSE) { SRenderMeshToTangent mesh2tangent; SMikkTSpaceContext sContext; SMikkTSpaceInterface sInterface; @@ -1576,7 +1576,7 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem float pa_time, pa_birthtime, pa_dietime; float random, simplify[2], pa_co[3]; const float cfra= BKE_scene_frame_get(re->scene); - int i, a, k, max_k=0, totpart, dosimplify = 0, dosurfacecache = 0, use_duplimat = 0; + int i, a, k, max_k=0, totpart, do_simplify = FALSE, do_surfacecache = FALSE, use_duplimat = FALSE; int totchild=0; int seed, path_nbr=0, orco1=0, num; int totface, *origindex = 0; @@ -1698,7 +1698,7 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem if (psys->flag & PSYS_USE_IMAT) { /* psys->imat is the original emitter's inverse matrix, ob->obmat is the duplicated object's matrix */ mult_m4_m4m4(duplimat, ob->obmat, psys->imat); - use_duplimat = 1; + use_duplimat = TRUE; } /* 2.6 setup strand rendering */ @@ -1745,10 +1745,10 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem svert= strandbuf->vert; if (re->r.mode & R_SPEED) - dosurfacecache= 1; + do_surfacecache = TRUE; else if ((re->wrld.mode & (WO_AMB_OCC|WO_ENV_LIGHT|WO_INDIRECT_LIGHT)) && (re->wrld.ao_gather_method == WO_AOGATHER_APPROX)) if (ma->amb != 0.0f) - dosurfacecache= 1; + do_surfacecache = TRUE; totface= psmd->dm->getNumTessFaces(psmd->dm); origindex= psmd->dm->getTessFaceDataArray(psmd->dm, CD_ORIGINDEX); @@ -1861,7 +1861,7 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem get_particle_uvco_mcol(part->from, psmd->dm, parent->fuv, num, &sd); } - dosimplify = psys_render_simplify_params(psys, cpa, simplify); + do_simplify = psys_render_simplify_params(psys, cpa, simplify); if (strandbuf) { int orignum= (origindex)? origindex[cpa->num]: cpa->num; @@ -1893,7 +1893,7 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem strand->vert= svert; copy_v3_v3(strand->orco, sd.orco); - if (dosimplify) { + if (do_simplify) { float *ssimplify= RE_strandren_get_simplify(obr, strand, 1); ssimplify[0]= simplify[0]; ssimplify[1]= simplify[1]; @@ -1904,7 +1904,7 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem copy_v3_v3(snor, sd.surfnor); } - if (dosurfacecache && num >= 0) { + if (do_surfacecache && num >= 0) { int *facenum= RE_strandren_get_face(obr, strand, 1); *facenum= num; } @@ -2085,7 +2085,7 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem break; } - if (dosurfacecache) + if (do_surfacecache) strandbuf->surface= cache_strand_surface(re, obr, psmd->dm, mat, timeoffset); /* 4. clean up */ @@ -3282,8 +3282,8 @@ static void init_render_mesh(Render *re, ObjectRen *obr, int timeoffset) float *orco=0; int need_orco=0, need_stress=0, need_nmap_tangent=0, need_tangent=0; int a, a1, ok, vertofs; - int end, do_autosmooth=0, totvert = 0; - int use_original_normals= 0; + int end, do_autosmooth = FALSE, totvert = 0; + int use_original_normals = FALSE; int recalc_normals = 0; // false by default int negative_scale; @@ -3358,7 +3358,7 @@ static void init_render_mesh(Render *re, ObjectRen *obr, int timeoffset) /* attempt to autsmooth on original mesh, only without subsurf */ if (do_autosmooth && me->totvert==totvert && me->totface==dm->getNumTessFaces(dm)) - use_original_normals= 1; + use_original_normals= TRUE; ms = (totvert==me->totvert)?me->msticky:NULL; @@ -3373,7 +3373,7 @@ static void init_render_mesh(Render *re, ObjectRen *obr, int timeoffset) for (a=0; a<totvert; a++, mvert++) { ver= RE_findOrAddVert(obr, obr->totvert++); copy_v3_v3(ver->co, mvert->co); - if (do_autosmooth==0) { /* autosmooth on original unrotated data to prevent differences between frames */ + if (do_autosmooth == FALSE) { /* autosmooth on original unrotated data to prevent differences between frames */ normal_short_to_float_v3(ver->n, mvert->no); mul_m4_v3(mat, ver->co); mul_transposed_m3_v3(imat, ver->n); @@ -3445,8 +3445,7 @@ static void init_render_mesh(Render *re, ObjectRen *obr, int timeoffset) if ( mface->mat_nr==a1 ) { float len; int edge_mark= 0; - - int reverse_verts = negative_scale!=0 && do_autosmooth==0; + int reverse_verts = (negative_scale != 0 && do_autosmooth == FALSE); int rev_tab[] = {reverse_verts==0 ? 0 : 2, 1, reverse_verts==0 ? 2 : 0, 3}; v1= reverse_verts==0 ? mface->v1 : mface->v3; v2= mface->v2; @@ -3834,7 +3833,8 @@ static GroupObject *add_render_lamp(Render *re, Object *ob) lar->area_sizey= lar->area_size; if ((la->sun_effect_type & LA_SUN_EFFECT_SKY) || - (la->sun_effect_type & LA_SUN_EFFECT_AP)) { + (la->sun_effect_type & LA_SUN_EFFECT_AP)) + { lar->sunsky = (struct SunSky*)MEM_callocN(sizeof(struct SunSky), "sunskyren"); lar->sunsky->effect_type = la->sun_effect_type; @@ -4379,7 +4379,7 @@ static void finalize_render_object(Render *re, ObjectRen *obr, int timeoffset) /* Baking lets us define a quad split order */ split_quads(obr, re->r.bake_quad_split); } - else if(BKE_object_is_animated(re->scene, ob)) + else if (BKE_object_is_animated(re->scene, ob)) split_quads(obr, 1); else { if ((re->r.mode & R_SIMPLIFY && re->r.simplify_flag & R_SIMPLE_NO_TRIANGULATE) == 0) @@ -4764,7 +4764,7 @@ void RE_Database_Free(Render *re) free_strand_surface(re); re->totvlak=re->totvert=re->totstrand=re->totlamp=re->tothalo= 0; - re->i.convertdone= 0; + re->i.convertdone = FALSE; re->bakebuf= NULL; @@ -5106,7 +5106,7 @@ void RE_Database_FromScene(Render *re, Main *bmain, Scene *scene, unsigned int l re->lampren.first= re->lampren.last= NULL; slurph_opt= 0; - re->i.partsdone= 0; /* signal now in use for previewrender */ + re->i.partsdone = FALSE; /* signal now in use for previewrender */ /* in localview, lamps are using normal layers, objects only local bits */ if (re->lay & 0xFF000000) @@ -5225,7 +5225,7 @@ void RE_Database_FromScene(Render *re, Main *bmain, Scene *scene, unsigned int l if (re->test_break(re->tbh)) RE_Database_Free(re); else - re->i.convertdone= 1; + re->i.convertdone = TRUE; re->i.infostr= NULL; re->stats_draw(re->sdh, &re->i); @@ -5712,8 +5712,8 @@ void RE_Database_FromScene_Vectors(Render *re, Main *bmain, Scene *sce, unsigned // NT check for fluidsim special treatment fluidmd = (FluidsimModifierData *)modifiers_findByType(obi->ob, eModifierType_Fluidsim); if (fluidmd && fluidmd->fss && (fluidmd->fss->type & OB_FLUIDSIM_DOMAIN)) { - // use preloaded per vertex simulation data, only does calculation for step=1 - // NOTE/FIXME - velocities and meshes loaded unnecessarily often during the database_fromscene_vectors calls... + /* use preloaded per vertex simulation data, only does calculation for step=1 */ + /* NOTE/FIXME - velocities and meshes loaded unnecessarily often during the database_fromscene_vectors calls... */ load_fluidsimspeedvectors(re, obi, oldobi->vectors, step); } else { diff --git a/source/blender/render/intern/source/envmap.c b/source/blender/render/intern/source/envmap.c index eebcf23a7a6..6714fe1a29d 100644 --- a/source/blender/render/intern/source/envmap.c +++ b/source/blender/render/intern/source/envmap.c @@ -505,7 +505,7 @@ static void render_envmap(Render *re, EnvMap *env) void make_envmaps(Render *re) { Tex *tex; - int do_init= 0, depth= 0, trace; + int do_init = FALSE, depth= 0, trace; if (!(re->r.mode & R_ENVMAP)) return; @@ -559,7 +559,7 @@ void make_envmaps(Render *re) if (env->ok==0 && depth==0) env->recalc= 1; if (env->ok==0) { - do_init= 1; + do_init = TRUE; render_envmap(re, env); if (depth==env->depth) env->recalc= 0; diff --git a/source/blender/render/intern/source/imagetexture.c b/source/blender/render/intern/source/imagetexture.c index d454ea60705..dcc09c92bb0 100644 --- a/source/blender/render/intern/source/imagetexture.c +++ b/source/blender/render/intern/source/imagetexture.c @@ -76,7 +76,7 @@ static void boxsample(ImBuf *ibuf, float minx, float miny, float maxx, float max /* x and y have to be checked for image size */ -static void ibuf_get_color(float *col, struct ImBuf *ibuf, int x, int y) +static void ibuf_get_color(float col[4], struct ImBuf *ibuf, int x, int y) { int ofs = y * ibuf->x + x; @@ -637,7 +637,7 @@ enum {TXC_XMIR=1, TXC_YMIR, TXC_REPT, TXC_EXTD}; // similar to ibuf_get_color() but clips/wraps coords according to repeat/extend flags // returns true if out of range in clipmode -static int ibuf_get_color_clip(float *col, ImBuf *ibuf, int x, int y, int extflag) +static int ibuf_get_color_clip(float col[4], ImBuf *ibuf, int x, int y, int extflag) { int clip = 0; switch (extflag) { @@ -695,7 +695,7 @@ static int ibuf_get_color_clip(float *col, ImBuf *ibuf, int x, int y, int extfla } // as above + bilerp -static int ibuf_get_color_clip_bilerp(float *col, ImBuf *ibuf, float u, float v, int intpol, int extflag) +static int ibuf_get_color_clip_bilerp(float col[4], ImBuf *ibuf, float u, float v, int intpol, int extflag) { if (intpol) { float c00[4], c01[4], c10[4], c11[4]; diff --git a/source/blender/render/intern/source/initrender.c b/source/blender/render/intern/source/initrender.c index e712950f4f8..c0382834987 100644 --- a/source/blender/render/intern/source/initrender.c +++ b/source/blender/render/intern/source/initrender.c @@ -549,7 +549,7 @@ void initparts(Render *re) /* this is render info for caller, is not reset when parts are freed! */ re->i.totpart= 0; re->i.curpart= 0; - re->i.partsdone= 0; + re->i.partsdone = FALSE; /* just for readable code.. */ xminb= re->disprect.xmin; diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 45de54322f3..02ef89a0edd 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -453,7 +453,8 @@ void RE_InitState(Render *re, Render *source, RenderData *rd, SceneRenderLayer * } if (re->rectx < 2 || re->recty < 2 || (BKE_imtype_is_movie(rd->im_format.imtype) && - (re->rectx < 16 || re->recty < 16) )) { + (re->rectx < 16 || re->recty < 16) )) + { BKE_report(re->reports, RPT_ERROR, "Image too small"); re->ok= 0; return; @@ -1312,7 +1313,7 @@ static int composite_needs_render(Scene *sce, int this_scene) bNode *node; if (ntree==NULL) return 1; - if (sce->use_nodes==0) return 1; + if (sce->use_nodes == FALSE) return 1; if ((sce->r.scemode & R_DOCOMP)==0) return 1; for (node= ntree->nodes.first; node; node= node->next) { @@ -1914,7 +1915,8 @@ int RE_is_rendering_allowed(Scene *scene, Object *camera_override, ReportList *r if (scene->r.mode & R_BORDER) { if (scene->r.border.xmax <= scene->r.border.xmin || - scene->r.border.ymax <= scene->r.border.ymin) { + scene->r.border.ymax <= scene->r.border.ymin) + { BKE_report(reports, RPT_ERROR, "No border area selected."); return 0; } @@ -2164,18 +2166,18 @@ static int do_write_image_or_movie(Render *re, Main *bmain, Scene *scene, bMovie /* write movie or image */ if (BKE_imtype_is_movie(scene->r.im_format.imtype)) { - int dofree = 0; + int do_free = FALSE; unsigned int *rect32 = (unsigned int *)rres.rect32; /* note; the way it gets 32 bits rects is weak... */ if (rres.rect32 == NULL) { rect32 = MEM_mapallocN(sizeof(int)*rres.rectx*rres.recty, "temp 32 bits rect"); RE_ResultGet32(re, rect32); - dofree = 1; + do_free = TRUE; } ok= mh->append_movie(&re->r, scene->r.sfra, scene->r.cfra, (int *)rect32, rres.rectx, rres.recty, re->reports); - if (dofree) { + if (do_free) { MEM_freeN(rect32); } printf("Append frame %d", scene->r.cfra); @@ -2466,7 +2468,7 @@ void RE_layer_load_from_file(RenderLayer *layer, ReportList *reports, const char { ImBuf *ibuf = IMB_loadiffname(filename, IB_rect); - if (ibuf && (ibuf->rect || ibuf->rect_float)) { + if (ibuf && (ibuf->rect || ibuf->rect_float)) { if (ibuf->x == layer->rectx && ibuf->y == layer->recty) { if (ibuf->rect_float==NULL) IMB_float_from_rect(ibuf); diff --git a/source/blender/render/intern/source/pixelblending.c b/source/blender/render/intern/source/pixelblending.c index 522a41d9af7..151464064cb 100644 --- a/source/blender/render/intern/source/pixelblending.c +++ b/source/blender/render/intern/source/pixelblending.c @@ -73,7 +73,7 @@ extern struct Render R; /* ------------------------------------------------------------------------- */ -void addAlphaOverFloat(float *dest, float *source) +void addAlphaOverFloat(float dest[4], const float source[4]) { /* d = s + (1-alpha_s)d*/ float mul; @@ -90,7 +90,7 @@ void addAlphaOverFloat(float *dest, float *source) /* ------------------------------------------------------------------------- */ -void addAlphaUnderFloat(float *dest, float *source) +void addAlphaUnderFloat(float dest[4], const float source[4]) { float mul; @@ -104,7 +104,7 @@ void addAlphaUnderFloat(float *dest, float *source) /* ------------------------------------------------------------------------- */ -void addalphaAddfacFloat(float *dest, float *source, char addfac) +void addalphaAddfacFloat(float dest[4], const float source[4], char addfac) { float m; /* weiging factor of destination */ float c; /* intermediate color */ @@ -148,7 +148,7 @@ void addalphaAddfacFloat(float *dest, float *source, char addfac) /* ------------------------------------------------------------------------- */ /* filtered adding to scanlines */ -void add_filt_fmask(unsigned int mask, float *col, float *rowbuf, int row_w) +void add_filt_fmask(unsigned int mask, const float col[4], float *rowbuf, int row_w) { /* calc the value of mask */ float **fmask1= R.samples->fmask1, **fmask2=R.samples->fmask2; @@ -242,7 +242,7 @@ void mask_array(unsigned int mask, float filt[][3]) * --- --- --- */ -void add_filt_fmask_coord(float filt[][3], float *col, float *rowbuf, int row_w, int col_h, int x, int y) +void add_filt_fmask_coord(float filt[][3], const float col[4], float *rowbuf, int row_w, int col_h, int x, int y) { float *fpoin[3][3]; float val, r, g, b, al, lfilt[3][3]; @@ -366,7 +366,7 @@ void add_filt_fmask_pixsize(unsigned int mask, float *in, float *rowbuf, int row } /* ------------------------------------------------------------------------- */ -void addalphaAddFloat(float *dest, float *source) +void addalphaAddFloat(float dest[4], const float source[4]) { /* Makes me wonder whether this is required... */ diff --git a/source/blender/render/intern/source/pixelshading.c b/source/blender/render/intern/source/pixelshading.c index ac48a5f41f2..8e6078b18e0 100644 --- a/source/blender/render/intern/source/pixelshading.c +++ b/source/blender/render/intern/source/pixelshading.c @@ -280,8 +280,8 @@ static float haloZtoDist(int z) * \param xn The x coordinate of the pixel relaticve to the center of the halo. given in pixels * \param yn The y coordinate of the pixel relaticve to the center of the halo. given in pixels */ -int shadeHaloFloat(HaloRen *har, float *col, int zz, - float dist, float xn, float yn, short flarec) +int shadeHaloFloat(HaloRen *har, float col[4], int zz, + float dist, float xn, float yn, short flarec) { /* fill in col */ float t, zn, radist, ringf=0.0f, linef=0.0f, alpha, si, co; @@ -566,7 +566,7 @@ void shadeSunView(float col_r[3], const float view[3]) GroupObject *go; LampRen *lar; float sview[3]; - int do_init= 1; + int do_init = TRUE; for (go=R.lights.first; go; go= go->next) { lar= go->lampren; @@ -581,7 +581,7 @@ void shadeSunView(float col_r[3], const float view[3]) if (sview[2] < 0.0f) sview[2] = 0.0f; normalize_v3(sview); - do_init= 0; + do_init = FALSE; } GetSkyXYZRadiancef(lar->sunsky, sview, colorxyz); diff --git a/source/blender/render/intern/source/rayshade.c b/source/blender/render/intern/source/rayshade.c index f550cd82061..f11e5d22574 100644 --- a/source/blender/render/intern/source/rayshade.c +++ b/source/blender/render/intern/source/rayshade.c @@ -604,7 +604,7 @@ static void reflection(float ref[3], float n[3], const float view[3], const floa } #if 0 -static void color_combine(float *result, float fac1, float fac2, float *col1, float *col2) +static void color_combine(float *result, float fac1, float fac2, float col1[3], float col2[3]) { float col1t[3], col2t[3]; @@ -721,7 +721,7 @@ static void traceray(ShadeInput *origshi, ShadeResult *origshr, short depth, con shi.lay= origshi->lay; shi.passflag= SCE_PASS_COMBINED; /* result of tracing needs no pass info */ shi.combinedflag= 0xFFFFFF; /* ray trace does all options */ - //shi.do_preview= 0; // memset above, so don't need this + //shi.do_preview = FALSE; // memset above, so don't need this shi.light_override= origshi->light_override; shi.mat_override= origshi->mat_override; @@ -1176,13 +1176,13 @@ static QMCSampler *get_thread_qmcsampler(Render *re, int thread, int type, int t for (qsa=re->qmcsamplers[thread].first; qsa; qsa=qsa->next) { if (qsa->type == type && qsa->tot == tot && !qsa->used) { - qsa->used= 1; + qsa->used = TRUE; return qsa; } } qsa= QMC_initSampler(type, tot); - qsa->used= 1; + qsa->used = TRUE; BLI_addtail(&re->qmcsamplers[thread], qsa); return qsa; @@ -1483,8 +1483,8 @@ void ray_trace(ShadeInput *shi, ShadeResult *shr) float diff[3]; int do_tra, do_mir; - do_tra= ((shi->mode & MA_TRANSP) && (shi->mode & MA_RAYTRANSP) && shr->alpha!=1.0f && (shi->depth <= shi->mat->ray_depth_tra)); - do_mir= ((shi->mat->mode & MA_RAYMIRROR) && shi->ray_mirror!=0.0f && (shi->depth <= shi->mat->ray_depth)); + do_tra = ((shi->mode & MA_TRANSP) && (shi->mode & MA_RAYTRANSP) && shr->alpha != 1.0f && (shi->depth <= shi->mat->ray_depth_tra)); + do_mir = ((shi->mat->mode & MA_RAYMIRROR) && shi->ray_mirror != 0.0f && (shi->depth <= shi->mat->ray_depth)); /* raytrace mirror and refract like to separate the spec color */ if (shi->combinedflag & SCE_PASS_SPEC) @@ -2195,7 +2195,7 @@ static void ray_shadow_qmc(ShadeInput *shi, LampRen *lar, const float lampco[3], float adapt_thresh = lar->adapt_thresh; int min_adapt_samples=4, max_samples = lar->ray_totsamp; float *co; - int do_soft=1, full_osa=0, i; + int do_soft = TRUE, full_osa = FALSE, i; float min[3], max[3]; RayHint bb_hint; @@ -2210,8 +2210,8 @@ static void ray_shadow_qmc(ShadeInput *shi, LampRen *lar, const float lampco[3], else shadfac[3]= 1.0f; - if (lar->ray_totsamp < 2) do_soft = 0; - if ((R.r.mode & R_OSA) && (R.osa > 0) && (shi->vlr->flag & R_FULL_OSA)) full_osa = 1; + if (lar->ray_totsamp < 2) do_soft = FALSE; + if ((R.r.mode & R_OSA) && (R.osa > 0) && (shi->vlr->flag & R_FULL_OSA)) full_osa = TRUE; if (full_osa) { if (do_soft) max_samples = max_samples/R.osa + 1; diff --git a/source/blender/render/intern/source/render_texture.c b/source/blender/render/intern/source/render_texture.c index 58a4e7c9828..16b6eddaa29 100644 --- a/source/blender/render/intern/source/render_texture.c +++ b/source/blender/render/intern/source/render_texture.c @@ -814,7 +814,7 @@ static int plugintex(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex } -static int cubemap_glob(float *n, float x, float y, float z, float *adr1, float *adr2) +static int cubemap_glob(const float n[3], float x, float y, float z, float *adr1, float *adr2) { float x1, y1, z1, nor[3]; int ret; @@ -852,7 +852,7 @@ static int cubemap_glob(float *n, float x, float y, float z, float *adr1, float /* ------------------------------------------------------------------------- */ /* mtex argument only for projection switches */ -static int cubemap(MTex *mtex, VlakRen *vlr, float *n, float x, float y, float z, float *adr1, float *adr2) +static int cubemap(MTex *mtex, VlakRen *vlr, const float n[3], float x, float y, float z, float *adr1, float *adr2) { int proj[4]={0, ME_PROJXY, ME_PROJXZ, ME_PROJYZ}, ret= 0; @@ -910,7 +910,7 @@ static int cubemap(MTex *mtex, VlakRen *vlr, float *n, float x, float y, float z /* ------------------------------------------------------------------------- */ -static int cubemap_ob(Object *ob, float *n, float x, float y, float z, float *adr1, float *adr2) +static int cubemap_ob(Object *ob, const float n[3], float x, float y, float z, float *adr1, float *adr2) { float x1, y1, z1, nor[3]; int ret; @@ -944,7 +944,7 @@ static int cubemap_ob(Object *ob, float *n, float x, float y, float z, float *ad /* ------------------------------------------------------------------------- */ -static void do_2d_mapping(MTex *mtex, float *t, VlakRen *vlr, float *n, float *dxt, float *dyt) +static void do_2d_mapping(MTex *mtex, float *t, VlakRen *vlr, const float n[3], float *dxt, float *dyt) { Tex *tex; Object *ob= NULL; @@ -1367,7 +1367,7 @@ int multitex_ext_safe(Tex *tex, float *texvec, TexResult *texres) { int use_nodes= tex->use_nodes, retval; - tex->use_nodes= 0; + tex->use_nodes = FALSE; retval= multitex_nodes(tex, texvec, NULL, NULL, 0, texres, 0, 0, NULL, NULL); tex->use_nodes= use_nodes; @@ -1714,7 +1714,7 @@ static void compatible_bump_uv_derivs(CompatibleBump *compat_bump, ShadeInput *s compat_bump->nn[1] = -shi->vn[1]; compat_bump->nn[2] = -shi->vn[2]; ortho_basis_v3v3_v3(compat_bump->nu, compat_bump->nv, compat_bump->nn); - compat_bump->nunvdone= 1; + compat_bump->nunvdone = TRUE; } if (tf) { @@ -1766,7 +1766,7 @@ static int compatible_bump_compute(CompatibleBump *compat_bump, ShadeInput *shi, // render normal is negated negate_v3_v3(compat_bump->nn, shi->vn); ortho_basis_v3v3_v3(compat_bump->nu, compat_bump->nv, compat_bump->nn); - compat_bump->nunvdone= 1; + compat_bump->nunvdone = TRUE; } // two methods, either constant based on main image resolution, @@ -1946,7 +1946,7 @@ static int ntap_bump_compute(NTapBump *ntap_bump, ShadeInput *shi, MTex *mtex, T ntap_bump->fPrevMagnitude = 1.0f; ntap_bump->iPrevBumpSpace = 0; - ntap_bump->init_done = 1; + ntap_bump->init_done = TRUE; } // resolve image dimensions @@ -2064,7 +2064,7 @@ static int ntap_bump_compute(NTapBump *ntap_bump, ShadeInput *shi, MTex *mtex, T texres->nor = nvec; /* replaced newbump with code based on listing 1 and 2 of - * [Mik10] Mikkelsen M. S.: Bump Mapping Unparametrized Surfaces on the GPU. + * [Mik10] Mikkelsen M. S.: Bump Mapping Unparameterized Surfaces on the GPU. * -> http://jbit.net/~sparky/sfgrad_bump/mm_sfgrad_bump.pdf */ if ( mtex->texflag & MTEX_BUMP_OBJECTSPACE ) @@ -2171,8 +2171,8 @@ void do_material_tex(ShadeInput *shi, Render *re) float *co = NULL, *dx = NULL, *dy = NULL; float fact, facm, factt, facmm, stencilTin=1.0; float texvec[3], dxt[3], dyt[3], tempvec[3], norvec[3], warpvec[3]={0.0f, 0.0f, 0.0f}, Tnor=1.0; - int tex_nr, rgbnor= 0, warpdone=0; - int use_compat_bump = 0, use_ntap_bump = 0; + int tex_nr, rgbnor= 0, warp_done = FALSE; + int use_compat_bump = FALSE, use_ntap_bump = FALSE; int found_nmapping = 0, found_deriv_map = 0; int iFirstTimeNMap=1; @@ -2195,24 +2195,24 @@ void do_material_tex(ShadeInput *shi, Render *re) found_deriv_map = (tex->type==TEX_IMAGE) && (tex->imaflag & TEX_DERIVATIVEMAP); use_compat_bump= (mtex->texflag & MTEX_COMPAT_BUMP); - use_ntap_bump= ((mtex->texflag & (MTEX_3TAP_BUMP|MTEX_5TAP_BUMP|MTEX_BICUBIC_BUMP))!=0 || found_deriv_map!=0) ? 1 : 0; + use_ntap_bump = ((mtex->texflag & (MTEX_3TAP_BUMP|MTEX_5TAP_BUMP|MTEX_BICUBIC_BUMP))!=0 || found_deriv_map!=0) ? TRUE : FALSE; /* XXX texture node trees don't work for this yet */ if (tex->nodetree && tex->use_nodes) { - use_compat_bump = 0; - use_ntap_bump = 0; + use_compat_bump = FALSE; + use_ntap_bump = FALSE; } /* case displacement mapping */ - if (shi->osatex==0 && use_ntap_bump) { - use_ntap_bump = 0; - use_compat_bump = 1; + if (shi->osatex == 0 && use_ntap_bump) { + use_ntap_bump = FALSE; + use_compat_bump = TRUE; } /* case ocean */ if (tex->type == TEX_OCEAN) { - use_ntap_bump = 0; - use_compat_bump = 0; + use_ntap_bump = FALSE; + use_compat_bump = FALSE; } /* which coords */ @@ -2322,7 +2322,7 @@ void do_material_tex(ShadeInput *shi, Render *re) } else texres.nor= NULL; - if (warpdone) { + if (warp_done) { add_v3_v3v3(tempvec, co, warpvec); co= tempvec; } @@ -2409,7 +2409,7 @@ void do_material_tex(ShadeInput *shi, Render *re) warpvec[0]= mtex->warpfac*warpnor[0]; warpvec[1]= mtex->warpfac*warpnor[1]; warpvec[2]= mtex->warpfac*warpnor[2]; - warpdone= 1; + warp_done = TRUE; } #if 0 if (mtex->texflag & MTEX_VIEWSPACE) { @@ -2425,7 +2425,7 @@ void do_material_tex(ShadeInput *shi, Render *re) } } } -#endif +#endif } /* mapping */ @@ -2681,7 +2681,7 @@ void do_material_tex(ShadeInput *shi, Render *re) } } } - if ((use_compat_bump || use_ntap_bump || found_nmapping) && (shi->mat->mode & MA_TANGENT_V)!=0) { + if ((use_compat_bump || use_ntap_bump || found_nmapping) && (shi->mat->mode & MA_TANGENT_V) != 0) { const float fnegdot = -dot_v3v3(shi->vn, shi->tang); // apply Gram-Schmidt projection madd_v3_v3fl(shi->tang, shi->vn, fnegdot); @@ -2690,7 +2690,7 @@ void do_material_tex(ShadeInput *shi, Render *re) } -void do_volume_tex(ShadeInput *shi, const float *xyz, int mapto_flag, float *col, float *val, Render *re) +void do_volume_tex(ShadeInput *shi, const float *xyz, int mapto_flag, float col_r[3], float *val, Render *re) { MTex *mtex; Tex *tex; @@ -2811,17 +2811,17 @@ void do_volume_tex(ShadeInput *shi, const float *xyz, int mapto_flag, float *col /* used for emit */ if ((mapto_flag & MAP_EMISSION_COL) && (mtex->mapto & MAP_EMISSION_COL)) { float colemitfac= mtex->colemitfac*stencilTin; - texture_rgb_blend(col, tcol, col, texres.tin, colemitfac, mtex->blendtype); + texture_rgb_blend(col_r, tcol, col_r, texres.tin, colemitfac, mtex->blendtype); } if ((mapto_flag & MAP_REFLECTION_COL) && (mtex->mapto & MAP_REFLECTION_COL)) { float colreflfac= mtex->colreflfac*stencilTin; - texture_rgb_blend(col, tcol, col, texres.tin, colreflfac, mtex->blendtype); + texture_rgb_blend(col_r, tcol, col_r, texres.tin, colreflfac, mtex->blendtype); } if ((mapto_flag & MAP_TRANSMISSION_COL) && (mtex->mapto & MAP_TRANSMISSION_COL)) { float coltransfac= mtex->coltransfac*stencilTin; - texture_rgb_blend(col, tcol, col, texres.tin, coltransfac, mtex->blendtype); + texture_rgb_blend(col_r, tcol, col_r, texres.tin, coltransfac, mtex->blendtype); } } @@ -3508,7 +3508,7 @@ void render_realtime_texture(ShadeInput *shi, Image *ima) /* A modified part of shadeinput.c -> shade_input_set_uv() * Used for sampling UV mapped texture color */ -static void textured_face_generate_uv(float *uv, float *normal, float *hit, float *v1, float *v2, float *v3) +static void textured_face_generate_uv(float *uv, const float normal[3], float *hit, float *v1, float *v2, float *v3) { float detsh, t00, t10, t01, t11; diff --git a/source/blender/render/intern/source/rendercore.c b/source/blender/render/intern/source/rendercore.c index 0dc7f35dc56..931a81f2543 100644 --- a/source/blender/render/intern/source/rendercore.c +++ b/source/blender/render/intern/source/rendercore.c @@ -683,7 +683,7 @@ static void sky_tile(RenderPart *pa, RenderLayer *rl) for (y=pa->disprect.ymin; y<pa->disprect.ymax; y++) { for (x=pa->disprect.xmin; x<pa->disprect.xmax; x++, od+=4) { float col[4]; - int sample, done= 0; + int sample, done = FALSE; for (sample= 0; sample<totsample; sample++) { float *pass= rlpp[sample]->rectf + od; @@ -692,7 +692,7 @@ static void sky_tile(RenderPart *pa, RenderLayer *rl) if (done==0) { shadeSkyPixel(col, x, y, pa->thread); - done= 1; + done = TRUE; } if (pass[3]==0.0f) { @@ -748,7 +748,7 @@ static void atm_tile(RenderPart *pa, RenderLayer *rl) float *zrect= RE_RenderLayerGetPass(rlpp[sample], SCE_PASS_Z) + od; float *rgbrect = rlpp[sample]->rectf + 4*od; float rgb[3] = {0}; - int done= 0; + int done = FALSE; for (go=R.lights.first; go; go= go->next) { @@ -780,7 +780,7 @@ static void atm_tile(RenderPart *pa, RenderLayer *rl) if (done==0) { copy_v3_v3(rgb, tmp_rgb); - done = 1; + done = TRUE; } else { rgb[0] = 0.5f*rgb[0] + 0.5f*tmp_rgb[0]; @@ -1509,7 +1509,7 @@ static void addps_sss(void *cb_handle, int obi, int facenr, int x, int y, int z) } } -static void shade_sample_sss(ShadeSample *ssamp, Material *mat, ObjectInstanceRen *obi, VlakRen *vlr, int quad, float x, float y, float z, float *co, float *color, float *area) +static void shade_sample_sss(ShadeSample *ssamp, Material *mat, ObjectInstanceRen *obi, VlakRen *vlr, int quad, float x, float y, float z, float *co, float color[3], float *area) { ShadeInput *shi= ssamp->shi; ShadeResult shr; @@ -1935,7 +1935,7 @@ void add_halo_flare(Render *re) RenderResult *rr= re->result; RenderLayer *rl; HaloRen *har; - int a, mode, do_draw=0; + int a, mode, do_draw = FALSE; /* for now, we get the first renderlayer in list with halos set */ for (rl= rr->layers.first; rl; rl= rl->next) @@ -1954,7 +1954,7 @@ void add_halo_flare(Render *re) har= R.sortedhalos[a]; if (har->flarec) { - do_draw= 1; + do_draw = TRUE; renderflare(rr, rl->rectf, har); } } @@ -1988,7 +1988,7 @@ typedef struct BakeShade { unsigned int *rect; float *rect_float; - int usemask; + int use_mask; char *rect_mask; /* bake pixel mask */ float dxco[3], dyco[3]; @@ -2169,7 +2169,7 @@ static void bake_shade(void *handle, Object *ob, ShadeInput *shi, int UNUSED(qua else { unsigned char *col= (unsigned char *)(bs->rect + bs->rectx*y + x); - if (ELEM(bs->type, RE_BAKE_ALL, RE_BAKE_TEXTURE) && (R.r.color_mgt_flag & R_COLOR_MANAGEMENT)) { + if (ELEM(bs->type, RE_BAKE_ALL, RE_BAKE_TEXTURE) && (R.r.color_mgt_flag & R_COLOR_MANAGEMENT)) { linearrgb_to_srgb_uchar3(col, shr.combined); } else { @@ -2408,12 +2408,12 @@ static int get_next_bake_face(BakeShade *bs) ObjectRen *obr; VlakRen *vlr; MTFace *tface; - static int v= 0, vdone= 0; + static int v= 0, vdone = FALSE; static ObjectInstanceRen *obi= NULL; if (bs==NULL) { vlr= NULL; - v= vdone= 0; + v= vdone = FALSE; obi= R.instancetable.first; return 0; } @@ -2507,7 +2507,7 @@ static void shade_tface(BakeShade *bs) bs->rect_float= bs->ibuf->rect_float; bs->quad= 0; - if (bs->usemask) { + if (bs->use_mask) { if (bs->ibuf->userdata==NULL) { BLI_lock_thread(LOCK_CUSTOM1); if (bs->ibuf->userdata==NULL) /* since the thread was locked, its possible another thread alloced the value */ @@ -2594,7 +2594,7 @@ int RE_bake_shade_all_selected(Render *re, int type, Object *actob, short *do_up BakeShade *handles; ListBase threads; Image *ima; - int a, vdone=0, usemask=0, result=BAKE_RESULT_OK; + int a, vdone = FALSE, use_mask = FALSE, result = BAKE_RESULT_OK; /* initialize render global */ R= *re; @@ -2605,7 +2605,7 @@ int RE_bake_shade_all_selected(Render *re, int type, Object *actob, short *do_up /* do we need a mask? */ if (re->r.bake_filter) - usemask = 1; + use_mask = TRUE; /* baker uses this flag to detect if image was initialized */ for (ima= G.main->image.first; ima; ima= ima->id.next) { @@ -2642,7 +2642,7 @@ int RE_bake_shade_all_selected(Render *re, int type, Object *actob, short *do_up handles[a].actob= actob; handles[a].zspan= MEM_callocN(sizeof(ZSpan), "zspan for bake"); - handles[a].usemask = usemask; + handles[a].use_mask = use_mask; handles[a].do_update = do_update; /* use to tell the view to update */ @@ -2655,7 +2655,7 @@ int RE_bake_shade_all_selected(Render *re, int type, Object *actob, short *do_up PIL_sleep_ms(50); /* calculate progress */ - for (vdone=0, a=0; a<re->r.threads; a++) + for (vdone = FALSE, a=0; a<re->r.threads; a++) vdone+= handles[a].vdone; if (progress) *progress = (float)(vdone / (float)re->totvlak); diff --git a/source/blender/render/intern/source/renderdatabase.c b/source/blender/render/intern/source/renderdatabase.c index 4a9e4be7f86..bc61a26564d 100644 --- a/source/blender/render/intern/source/renderdatabase.c +++ b/source/blender/render/intern/source/renderdatabase.c @@ -1205,7 +1205,9 @@ static int panotestclip(Render *re, int do_pano, float *v) float abs4; short c=0; - if (do_pano==0) return testclip(v); + if (do_pano == FALSE) { + return testclip(v); + } abs4= fabs(v[3]); diff --git a/source/blender/render/intern/source/shadeoutput.c b/source/blender/render/intern/source/shadeoutput.c index 1f3dd7578e9..c34edd9b3c0 100644 --- a/source/blender/render/intern/source/shadeoutput.c +++ b/source/blender/render/intern/source/shadeoutput.c @@ -77,7 +77,7 @@ ListBase *get_lights(ShadeInput *shi) } #if 0 -static void fogcolor(float *colf, float *rco, float *view) +static void fogcolor(const float colf[3], float *rco, float *view) { float alpha, stepsize, startdist, dist, hor[4], zen[3], vec[3], dview[3]; float div=0.0f, distfac; @@ -161,7 +161,7 @@ static void spothalo(struct LampRen *lar, ShadeInput *shi, float *intens) double a, b, c, disc, nray[3], npos[3]; double t0, t1 = 0.0f, t2= 0.0f, t3; float p1[3], p2[3], ladist, maxz = 0.0f, maxy = 0.0f, haint; - int snijp, doclip=1, use_yco=0; + int snijp, do_clip = TRUE, use_yco = FALSE; *intens= 0.0f; haint= lar->haint; @@ -196,7 +196,9 @@ static void spothalo(struct LampRen *lar, ShadeInput *shi, float *intens) /* rotate maxz */ - if (shi->co[2]==0.0f) doclip= 0; /* for when halo at sky */ + if (shi->co[2]==0.0f) { + do_clip = FALSE; /* for when halo at sky */ + } else { p1[0]= shi->co[0]-lar->co[0]; p1[1]= shi->co[1]-lar->co[1]; @@ -206,7 +208,9 @@ static void spothalo(struct LampRen *lar, ShadeInput *shi, float *intens) maxz*= lar->sh_zfac; maxy= lar->imat[0][1]*p1[0]+lar->imat[1][1]*p1[1]+lar->imat[2][1]*p1[2]; - if ( fabs(nray[2]) < FLT_EPSILON ) use_yco= 1; + if (fabsf(nray[2]) < FLT_EPSILON) { + use_yco = TRUE; + } } /* scale z to make sure volume is normalized */ @@ -261,7 +265,7 @@ static void spothalo(struct LampRen *lar, ShadeInput *shi, float *intens) if (ok1==0 && ok2==0) return; /* intersction point with -ladist, the bottom of the cone */ - if (use_yco==0) { + if (use_yco == FALSE) { t3= ((double)(-ladist)-npos[2])/nray[2]; /* de we have to replace one of the intersection points? */ @@ -294,12 +298,12 @@ static void spothalo(struct LampRen *lar, ShadeInput *shi, float *intens) } /* calculate t0: is the maximum visible z (when halo is intersected by face) */ - if (doclip) { - if (use_yco==0) t0= (maxz-npos[2])/nray[2]; - else t0= (maxy-npos[1])/nray[1]; + if (do_clip) { + if (use_yco == FALSE) t0 = (maxz - npos[2]) / nray[2]; + else t0 = (maxy - npos[1]) / nray[1]; - if (t0<t1) return; - if (t0<t2) t2= t0; + if (t0 < t1) return; + if (t0 < t2) t2= t0; } /* calc points */ @@ -404,13 +408,13 @@ static double Normalize_d(double *n) } /* mix of 'real' fresnel and allowing control. grad defines blending gradient */ -float fresnel_fac(float *view, float *vn, float grad, float fac) +float fresnel_fac(const float view[3], const float vn[3], float grad, float fac) { float t1, t2; if (fac==0.0f) return 1.0f; - t1= (view[0]*vn[0] + view[1]*vn[1] + view[2]*vn[2]); + t1 = dot_v3v3(view, vn); if (t1>0.0f) t2= 1.0f+t1; else t2= 1.0f-t1; @@ -429,7 +433,7 @@ static double saacos_d(double fac) } /* Stoke's form factor. Need doubles here for extreme small area sizes */ -static float area_lamp_energy(float (*area)[3], float *co, float *vn) +static float area_lamp_energy(float (*area)[3], const float co[3], const float vn[3]) { double fac; double vec[4][3]; /* vectors of rendered co to vertices lamp */ @@ -478,7 +482,7 @@ static float area_lamp_energy(float (*area)[3], float *co, float *vn) return fac; } -static float area_lamp_energy_multisample(LampRen *lar, float *co, float *vn) +static float area_lamp_energy_multisample(LampRen *lar, const float co[3], float *vn) { /* corner vectors are moved around according lamp jitter */ float *jitlamp= lar->jitter, vec[3]; @@ -550,7 +554,7 @@ static float spec(float inp, int hard) return inp; } -static float Phong_Spec(float *n, float *l, float *v, int hard, int tangent ) +static float Phong_Spec(const float n[3], const float l[3], const float v[3], int hard, int tangent ) { float h[3]; float rslt; @@ -571,7 +575,7 @@ static float Phong_Spec(float *n, float *l, float *v, int hard, int tangent ) /* reduced cook torrance spec (for off-specular peak) */ -static float CookTorr_Spec(float *n, float *l, float *v, int hard, int tangent) +static float CookTorr_Spec(const float n[3], const float l[3], const float v[3], int hard, int tangent) { float i, nh, nv, h[3]; @@ -595,7 +599,7 @@ static float CookTorr_Spec(float *n, float *l, float *v, int hard, int tangent) } /* Blinn spec */ -static float Blinn_Spec(float *n, float *l, float *v, float refrac, float spec_power, int tangent) +static float Blinn_Spec(const float n[3], const float l[3], const float v[3], float refrac, float spec_power, int tangent) { float i, nh, nv, nl, vh, h[3]; float a, b, c, g=0.0f, p, f, ang; @@ -649,7 +653,7 @@ static float Blinn_Spec(float *n, float *l, float *v, float refrac, float spec_p } /* cartoon render spec */ -static float Toon_Spec(float *n, float *l, float *v, float size, float smooth, int tangent) +static float Toon_Spec(const float n[3], const float l[3], const float v[3], float size, float smooth, int tangent) { float h[3]; float ang; @@ -673,7 +677,7 @@ static float Toon_Spec(float *n, float *l, float *v, float size, float smooth, i } /* Ward isotropic gaussian spec */ -static float WardIso_Spec(float *n, float *l, float *v, float rms, int tangent) +static float WardIso_Spec(const float n[3], const float l[3], const float v[3], float rms, int tangent) { float i, nh, nv, nl, h[3], angle, alpha; @@ -705,7 +709,7 @@ static float WardIso_Spec(float *n, float *l, float *v, float rms, int tangent) } /* cartoon render diffuse */ -static float Toon_Diff(float *n, float *l, float *UNUSED(v), float size, float smooth) +static float Toon_Diff(const float n[3], const float l[3], const float UNUSED(v[3]), float size, float smooth) { float rslt, ang; @@ -724,7 +728,7 @@ static float Toon_Diff(float *n, float *l, float *UNUSED(v), float size, float s /* 'nl' is either dot product, or return value of area light */ /* in latter case, only last multiplication uses 'nl' */ -static float OrenNayar_Diff(float nl, float *n, float *l, float *v, float rough ) +static float OrenNayar_Diff(float nl, const float n[3], const float l[3], const float v[3], float rough ) { float i/*, nh*/, nv /*, vh */, realnl, h[3]; float a, b, t, A, B; @@ -784,7 +788,7 @@ static float OrenNayar_Diff(float nl, float *n, float *l, float *v, float rough } /* Minnaert diffuse */ -static float Minnaert_Diff(float nl, float *n, float *v, float darkness) +static float Minnaert_Diff(float nl, const float n[3], const float v[3], float darkness) { float i, nv; @@ -1809,7 +1813,7 @@ void shade_lamp_loop(ShadeInput *shi, ShadeResult *shr) shr->diff[1]= sss[1]*col[1]; shr->diff[2]= sss[2]*col[2]; - if (shi->combinedflag & SCE_PASS_SHADOW) { + if (shi->combinedflag & SCE_PASS_SHADOW) { shr->shad[0]= shr->diff[0]; shr->shad[1]= shr->diff[1]; shr->shad[2]= shr->diff[2]; diff --git a/source/blender/render/intern/source/sss.c b/source/blender/render/intern/source/sss.c index 690598d8c05..46d52e83eda 100644 --- a/source/blender/render/intern/source/sss.c +++ b/source/blender/render/intern/source/sss.c @@ -652,7 +652,7 @@ static void create_octree_node(ScatterTree *tree, ScatterNode *node, float *mid, { ScatterNode *subnode; ScatterPoint **subrefpoints, **tmppoints= tree->tmppoints; - int index, nsize[8], noffset[8], i, subco, usednodes, usedi; + int index, nsize[8], noffset[8], i, subco, used_nodes, usedi; float submid[3], subsize[3]; /* stopping condition */ @@ -684,16 +684,16 @@ static void create_octree_node(ScatterTree *tree, ScatterNode *node, float *mid, /* here we check if only one subnode is used. if this is the case, we don't * create a new node, but rather call this function again, with different * size and middle position for the same node. */ - for (usedi=0, usednodes=0, i=0; i<8; i++) { + for (usedi=0, used_nodes=0, i=0; i<8; i++) { if (nsize[i]) { - usednodes++; + used_nodes++; usedi = i; } if (i != 0) noffset[i]= noffset[i-1]+nsize[i-1]; } - if (usednodes<=1) { + if (used_nodes <= 1) { subnode_middle(usedi, mid, subsize, submid); create_octree_node(tree, node, submid, subsize, refpoints, depth+1); return; @@ -810,12 +810,12 @@ void scatter_tree_build(ScatterTree *tree) sum_radiance(tree, tree->root); } -void scatter_tree_sample(ScatterTree *tree, float *co, float *color) +void scatter_tree_sample(ScatterTree *tree, const float co[3], float color[3]) { float sco[3]; copy_v3_v3(sco, co); - mul_v3_fl(sco, 1.0f/tree->scale); + mul_v3_fl(sco, 1.0f / tree->scale); compute_radiance(tree, sco, color); } @@ -874,7 +874,7 @@ static void sss_create_tree_mat(Render *re, Material *mat) re->r.mode &= ~R_OSA; re->sss_points= &points; re->sss_mat= mat; - re->i.partsdone= 0; + re->i.partsdone = FALSE; if (!(re->r.scemode & R_PREVIEWBUTS)) re->result= NULL; @@ -1025,7 +1025,7 @@ void free_sss(Render *re) } } -int sample_sss(Render *re, Material *mat, float *co, float *color) +int sample_sss(Render *re, Material *mat, const float co[3], float color[3]) { if (re->sss_hash) { SSSData *sss= BLI_ghash_lookup(re->sss_hash, mat); diff --git a/source/blender/windowmanager/intern/wm_draw.c b/source/blender/windowmanager/intern/wm_draw.c index 2b83a55d7bb..a8c94865aa5 100644 --- a/source/blender/windowmanager/intern/wm_draw.c +++ b/source/blender/windowmanager/intern/wm_draw.c @@ -130,7 +130,7 @@ static void wm_region_test_render_do_draw(ScrArea *sa, ARegion *ar) RenderEngine *engine = (rv3d) ? rv3d->render_engine : NULL; if (engine && (engine->flag & RE_ENGINE_DO_DRAW)) { - ar->do_draw = 1; + ar->do_draw = TRUE; engine->flag &= ~RE_ENGINE_DO_DRAW; } } @@ -661,15 +661,15 @@ static int wm_draw_update_test_window(wmWindow *win) { ScrArea *sa; ARegion *ar; - int do_draw = 0; + int do_draw = FALSE; for (ar = win->screen->regionbase.first; ar; ar = ar->next) { if (ar->do_draw_overlay) { wm_tag_redraw_overlay(win, ar); - ar->do_draw_overlay = 0; + ar->do_draw_overlay = FALSE; } if (ar->swinid && ar->do_draw) - do_draw = 1; + do_draw = TRUE; } for (sa = win->screen->areabase.first; sa; sa = sa->next) { @@ -677,7 +677,7 @@ static int wm_draw_update_test_window(wmWindow *win) wm_region_test_render_do_draw(sa, ar); if (ar->swinid && ar->do_draw) - do_draw = 1; + do_draw = TRUE; } } @@ -737,7 +737,7 @@ void wm_tag_redraw_overlay(wmWindow *win, ARegion *ar) if (ar && win) { if (wm_automatic_draw_method(win) != USER_DRAW_TRIPLE) ED_region_tag_redraw(ar); - win->screen->do_draw_paintcursor = 1; + win->screen->do_draw_paintcursor = TRUE; } } @@ -778,9 +778,9 @@ void wm_draw_update(bContext *C) else // if (drawmethod == USER_DRAW_TRIPLE) wm_method_draw_triple(C, win); - win->screen->do_draw_gesture = 0; - win->screen->do_draw_paintcursor = 0; - win->screen->do_draw_drag = 0; + win->screen->do_draw_gesture = FALSE; + win->screen->do_draw_paintcursor = FALSE; + win->screen->do_draw_drag = FALSE; wm_window_swap_buffers(win); @@ -816,7 +816,7 @@ void wm_draw_region_clear(wmWindow *win, ARegion *ar) if (ELEM(drawmethod, USER_DRAW_OVERLAP, USER_DRAW_OVERLAP_FLIP)) wm_flush_regions_down(win->screen, &ar->winrct); - win->screen->do_draw = 1; + win->screen->do_draw = TRUE; } void WM_redraw_windows(bContext *C) diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index fd3e287a6a5..fccd3b387f9 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -194,7 +194,7 @@ void wm_event_do_notifiers(bContext *C) /* cache & catch WM level notifiers, such as frame change, scene/screen set */ for (win = wm->windows.first; win; win = win->next) { - int do_anim = 0; + int do_anim = FALSE; CTX_wm_window_set(C, win); @@ -229,7 +229,7 @@ void wm_event_do_notifiers(bContext *C) { if (note->category == NC_SCENE) { if (note->data == ND_FRAME) - do_anim = 1; + do_anim = TRUE; } } if (ELEM5(note->category, NC_SCENE, NC_OBJECT, NC_GEOM, NC_SCENE, NC_WM)) { @@ -245,7 +245,7 @@ void wm_event_do_notifiers(bContext *C) if (!G.rendering) { /* depsgraph gets called, might send more notifiers */ - ED_update_for_newframe(CTX_data_main(C), win->screen->scene, win->screen, 1); + ED_update_for_newframe(CTX_data_main(C), win->screen->scene, 1); } } } @@ -331,17 +331,17 @@ static int wm_handler_ui_call(bContext *C, wmEventHandler *handler, wmEvent *eve ScrArea *area = CTX_wm_area(C); ARegion *region = CTX_wm_region(C); ARegion *menu = CTX_wm_menu(C); - static int do_wheel_ui = 1; + static int do_wheel_ui = TRUE; int is_wheel = ELEM(event->type, WHEELUPMOUSE, WHEELDOWNMOUSE); int retval; /* UI is quite aggressive with swallowing events, like scrollwheel */ /* I realize this is not extremely nice code... when UI gets keymaps it can be maybe smarter */ - if (do_wheel_ui == 0) { + if (do_wheel_ui == FALSE) { if (is_wheel) return WM_HANDLER_CONTINUE; else if (wm_event_always_pass(event) == 0) - do_wheel_ui = 1; + do_wheel_ui = TRUE; } /* we set context to where ui handler came from */ @@ -369,7 +369,7 @@ static int wm_handler_ui_call(bContext *C, wmEventHandler *handler, wmEvent *eve /* event not handled in UI, if wheel then we temporarily disable it */ if (is_wheel) - do_wheel_ui = 0; + do_wheel_ui = FALSE; return WM_HANDLER_CONTINUE; } @@ -1539,7 +1539,8 @@ static int wm_handler_fileselect_call(bContext *C, ListBase *handlers, wmEventHa /* a bit weak, might become arg for WM_event_fileselect? */ /* XXX also extension code in image-save doesnt work for this yet */ if (RNA_struct_find_property(handler->op->ptr, "check_existing") && - RNA_boolean_get(handler->op->ptr, "check_existing")) { + RNA_boolean_get(handler->op->ptr, "check_existing")) + { char *path = RNA_string_get_alloc(handler->op->ptr, "filepath", NULL, 0); /* this gives ownership to pupmenu */ uiPupMenuSaveOver(C, handler->op, (path) ? path : ""); @@ -1863,7 +1864,7 @@ static void wm_paintcursor_tag(bContext *C, wmPaintCursor *pc, ARegion *ar) for (; pc; pc = pc->next) { if (pc->poll == NULL || pc->poll(C)) { wmWindow *win = CTX_wm_window(C); - win->screen->do_draw_paintcursor = 1; + win->screen->do_draw_paintcursor = TRUE; wm_tag_redraw_overlay(win, ar); } } @@ -1902,10 +1903,10 @@ static void wm_event_drag_test(wmWindowManager *wm, wmWindow *win, wmEvent *even if (wm->drags.first == NULL) return; if (event->type == MOUSEMOVE) - win->screen->do_draw_drag = 1; + win->screen->do_draw_drag = TRUE; else if (event->type == ESCKEY) { BLI_freelistN(&wm->drags); - win->screen->do_draw_drag = 1; + win->screen->do_draw_drag = TRUE; } else if (event->type == LEFTMOUSE && event->val == KM_RELEASE) { event->type = EVT_DROP; @@ -1921,7 +1922,7 @@ static void wm_event_drag_test(wmWindowManager *wm, wmWindow *win, wmEvent *even event->customdatafree = 1; /* clear drop icon */ - win->screen->do_draw_drag = 1; + win->screen->do_draw_drag = TRUE; /* restore cursor (disabled, see wm_dragdrop.c) */ // WM_cursor_restore(win); @@ -1930,7 +1931,7 @@ static void wm_event_drag_test(wmWindowManager *wm, wmWindow *win, wmEvent *even /* overlap fails otherwise */ if (win->screen->do_draw_drag) if (win->drawmethod == USER_DRAW_OVERLAP) - win->screen->do_draw = 1; + win->screen->do_draw = TRUE; } @@ -1960,7 +1961,7 @@ void wm_event_do_handlers(bContext *C) CTX_wm_screen_set(C, win->screen); CTX_data_scene_set(C, scene); - if (((playing == 1) && (!win->screen->animtimer)) || ((playing == 0) && (win->screen->animtimer))) { + if (((playing == 1) && (!ED_screen_animation_playing(wm))) || ((playing == 0) && (ED_screen_animation_playing(wm)))) { ED_screen_animation_play(C, -1, 1); } @@ -1970,7 +1971,7 @@ void wm_event_do_handlers(bContext *C) int ncfra = sound_sync_scene(scene) * (float)FPS + 0.5f; if (ncfra != scene->r.cfra) { scene->r.cfra = ncfra; - ED_update_for_newframe(CTX_data_main(C), scene, win->screen, 1); + ED_update_for_newframe(CTX_data_main(C), scene, 1); WM_event_add_notifier(C, NC_WINDOW, NULL); } } @@ -2024,7 +2025,7 @@ void wm_event_do_handlers(bContext *C) /* Note: setting subwin active should be done here, after modal handlers have been done */ if (event->type == MOUSEMOVE) { /* state variables in screen, cursors. Also used in wm_draw.c, fails for modal handlers though */ - ED_screen_set_subwinactive(C, event); + ED_screen_set_subwinactive(C, event); /* for regions having custom cursors */ wm_paintcursor_test(C, event); } @@ -2612,7 +2613,8 @@ static wmWindow *wm_event_cursor_other_windows(wmWindowManager *wm, wmWindow *wi if (owin != win) { if (mx - owin->posx >= 0 && my - owin->posy >= 0 && - mx - owin->posx <= owin->sizex && my - owin->posy <= owin->sizey) { + mx - owin->posx <= owin->sizex && my - owin->posy <= owin->sizey) + { evt->x = mx - (int)owin->posx; evt->y = my - (int)owin->posy; diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index bbc1a8faab8..ef6b4bb575e 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -335,8 +335,9 @@ static int wm_read_exotic(Scene *UNUSED(scene), const char *name) retval = BKE_READ_EXOTIC_OK_BLEND; } else { - //XXX waitcursor(1); #if 0 /* historic stuff - no longer used */ + WM_cursor_wait(TRUE); + if (is_foo_format(name)) { read_foo(name); retval = BKE_READ_EXOTIC_OK_OTHER; @@ -346,7 +347,9 @@ static int wm_read_exotic(Scene *UNUSED(scene), const char *name) { retval = BKE_READ_EXOTIC_FAIL_FORMAT; } - //XXX waitcursor(0); +#if 0 + WM_cursor_wait(FALSE); +#endif } } } @@ -375,6 +378,9 @@ void WM_read_file(bContext *C, const char *filepath, ReportList *reports) int G_f = G.f; ListBase wmbase; + /* assume automated tasks with background, don't write recent file list */ + const int do_history = (G.background == FALSE) && (CTX_wm_manager(C)->op_undo_depth == 0); + /* put aside screens to match with persistent windows later */ /* also exit screens and editors */ wm_window_match_init(C, &wmbase); @@ -392,8 +398,6 @@ void WM_read_file(bContext *C, const char *filepath, ReportList *reports) /* match the read WM with current WM */ wm_window_match_do(C, &wmbase); WM_check(C); /* opens window(s), checks keymaps */ - -// XXX mainwindow_set_filename_to_title(G.main->name); if (retval == BKE_READ_FILE_OK_USERPREFS) { /* in case a userdef is read from regular .blend */ @@ -402,8 +406,9 @@ void WM_read_file(bContext *C, const char *filepath, ReportList *reports) if (retval != BKE_READ_FILE_FAIL) { G.relbase_valid = 1; - if (!G.background) /* assume automated tasks with background, don't write recent file list */ + if (do_history) { write_history(); + } } @@ -452,7 +457,6 @@ void WM_read_file(bContext *C, const char *filepath, ReportList *reports) } #endif - // XXX undo_editmode_clear(); BKE_reset_undo(); BKE_write_undo(C, "original"); /* save current state */ } @@ -545,8 +549,7 @@ int WM_read_homefile(bContext *C, ReportList *UNUSED(reports), short from_memory /* XXX */ G.save_over = 0; // start with save preference untitled.blend G.fileflags &= ~G_FILE_AUTOPLAY; /* disable autoplay in startup.blend... */ -// mainwindow_set_filename_to_title(""); // empty string re-initializes title to "Blender" - + // refresh_interface_font(); // undo_editmode_clear(); diff --git a/source/blender/windowmanager/intern/wm_gesture.c b/source/blender/windowmanager/intern/wm_gesture.c index 97a431d296b..14a25cc13e0 100644 --- a/source/blender/windowmanager/intern/wm_gesture.c +++ b/source/blender/windowmanager/intern/wm_gesture.c @@ -154,7 +154,7 @@ int wm_gesture_evaluate(wmGesture *gesture) if (val == 6) printf("tweak south-west\n"); if (val == 7) printf("tweak west\n"); if (val == 8) printf("tweak north-west\n"); -#endif +#endif return val; } } @@ -357,7 +357,7 @@ void wm_gesture_tag_redraw(bContext *C) ARegion *ar = CTX_wm_region(C); if (screen) - screen->do_draw_gesture = 1; + screen->do_draw_gesture = TRUE; wm_tag_redraw_overlay(win, ar); } diff --git a/source/blender/windowmanager/intern/wm_jobs.c b/source/blender/windowmanager/intern/wm_jobs.c index 877b8a92296..73f59a5fbae 100644 --- a/source/blender/windowmanager/intern/wm_jobs.c +++ b/source/blender/windowmanager/intern/wm_jobs.c @@ -37,6 +37,7 @@ #include "BLI_blenlib.h" #include "BLI_threads.h" +#include "BLI_utildefines.h" #include "BKE_blender.h" #include "BKE_context.h" @@ -449,7 +450,7 @@ void wm_jobs_timer(const bContext *C, wmWindowManager *wm, wmTimer *wt) if (steve->flag & WM_JOB_PROGRESS) WM_event_add_notifier(C, NC_WM | ND_JOB, NULL); - steve->do_update = 0; + steve->do_update = FALSE; } if (steve->ready) { diff --git a/source/blender/windowmanager/intern/wm_keymap.c b/source/blender/windowmanager/intern/wm_keymap.c index 22d1cbe5e11..18caa8c2afe 100644 --- a/source/blender/windowmanager/intern/wm_keymap.c +++ b/source/blender/windowmanager/intern/wm_keymap.c @@ -785,8 +785,8 @@ char *WM_keymap_item_to_string(wmKeyMapItem *kmi, char *str, int len) if (kmi->shift == KM_ANY && kmi->ctrl == KM_ANY && kmi->alt == KM_ANY && - kmi->oskey == KM_ANY) { - + kmi->oskey == KM_ANY) + { strcat(buf, "Any "); } else { diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index d96198413e0..05af3c04573 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -2155,7 +2155,7 @@ static int wm_collada_export_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED static int wm_collada_export_exec(bContext *C, wmOperator *op) { char filename[FILE_MAX]; - int selected, second_life, apply_modifiers; + int selected, second_life, apply_modifiers, include_bone_children; if (!RNA_struct_property_is_set(op->ptr, "filepath")) { BKE_report(op->reports, RPT_ERROR, "No filename given"); @@ -2165,14 +2165,22 @@ static int wm_collada_export_exec(bContext *C, wmOperator *op) RNA_string_get(op->ptr, "filepath", filename); /* Options panel */ - selected = RNA_boolean_get(op->ptr, "selected"); - second_life = RNA_boolean_get(op->ptr, "second_life"); - apply_modifiers = RNA_boolean_get(op->ptr, "apply_modifiers"); + selected = RNA_boolean_get(op->ptr, "selected"); + apply_modifiers = RNA_boolean_get(op->ptr, "apply_modifiers"); + include_bone_children = RNA_boolean_get(op->ptr, "include_bone_children"); + + second_life = RNA_boolean_get(op->ptr, "second_life"); /* get editmode results */ ED_object_exit_editmode(C, 0); /* 0 = does not exit editmode */ - if (collada_export(CTX_data_scene(C), filename, selected, apply_modifiers, second_life)) { + if (collada_export( + CTX_data_scene(C), + filename, + selected, + apply_modifiers, + include_bone_children, + second_life)) { return OPERATOR_FINISHED; } else { @@ -2189,12 +2197,20 @@ static void WM_OT_collada_export(wmOperatorType *ot) ot->invoke = wm_collada_export_invoke; ot->exec = wm_collada_export_exec; ot->poll = WM_operator_winactive; + + ot->flag |= OPTYPE_PRESET; WM_operator_properties_filesel(ot, FOLDERFILE | COLLADAFILE, FILE_BLENDER, FILE_SAVE, WM_FILESEL_FILEPATH, FILE_DEFAULTDISPLAY); + RNA_def_boolean(ot->srna, "selected", 0, "Selection Only", "Export only selected elements"); + RNA_def_boolean(ot->srna, "apply_modifiers", 0, "Apply Modifiers", "Apply modifiers (Preview Resolution)"); + + RNA_def_boolean(ot->srna, "include_bone_children", 0, "Include Bone Children", + "Include all objects attached to bones of selected Armature(s)"); + RNA_def_boolean(ot->srna, "second_life", 0, "Export for Second Life", "Compatibility mode for Second Life"); } @@ -3216,7 +3232,8 @@ static int radial_control_get_path(PointerRNA *ctx_ptr, wmOperator *op, PropertyType prop_type = RNA_property_type(*r_prop); if (((flags & RC_PROP_REQUIRE_BOOL) && (prop_type != PROP_BOOLEAN)) || - ((flags & RC_PROP_REQUIRE_FLOAT) && prop_type != PROP_FLOAT)) { + ((flags & RC_PROP_REQUIRE_FLOAT) && prop_type != PROP_FLOAT)) + { MEM_freeN(str); BKE_reportf(op->reports, RPT_ERROR, "Property from path %s is not a float", name); @@ -4075,7 +4092,7 @@ static EnumPropertyItem *rna_id_itemf(bContext *UNUSED(C), PointerRNA *UNUSED(pt } RNA_enum_item_end(&item, &totitem); - *do_free = 1; + *do_free = TRUE; return item; } diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c index af3ba02ed4d..e6eff908e33 100644 --- a/source/blender/windowmanager/intern/wm_window.c +++ b/source/blender/windowmanager/intern/wm_window.c @@ -238,8 +238,8 @@ wmWindow *wm_window_copy(bContext *C, wmWindow *winorig) BLI_strncpy(win->screenname, win->screen->id.name + 2, sizeof(win->screenname)); win->screen->winid = win->winid; - win->screen->do_refresh = 1; - win->screen->do_draw = 1; + win->screen->do_refresh = TRUE; + win->screen->do_draw = TRUE; win->drawmethod = -1; win->drawdata = NULL; @@ -477,7 +477,7 @@ wmWindow *WM_window_open(bContext *C, rcti *rect) /* uses screen->temp tag to define what to do, currently it limits * to only one "temp" window for render out, preferences, filewindow, etc */ -/* type is #define in WM_api.h */ +/* type is defined in WM_api.h */ void WM_window_open_temp(bContext *C, rcti *position, int type) { diff --git a/source/blenderplayer/bad_level_call_stubs/stubs.c b/source/blenderplayer/bad_level_call_stubs/stubs.c index d75748e43ec..9f0e2749e34 100644 --- a/source/blenderplayer/bad_level_call_stubs/stubs.c +++ b/source/blenderplayer/bad_level_call_stubs/stubs.c @@ -125,15 +125,6 @@ void EDBM_mesh_make(struct ToolSettings *ts, struct Scene *scene, struct Object void EDBM_mesh_normals_update(struct BMEditMesh *em) {} void *g_system; -struct Heap* BLI_heap_new (void){return NULL;} -void BLI_heap_free(struct Heap *heap, void *ptrfreefp) {} -struct HeapNode* BLI_heap_insert (struct Heap *heap, float value, void *ptr){return NULL;} -void BLI_heap_remove(struct Heap *heap, struct HeapNode *node) {} -int BLI_heap_empty(struct Heap *heap) {return 0;} -int BLI_heap_size(struct Heap *heap){return 0;} -struct HeapNode* BLI_heap_top (struct Heap *heap){return NULL;} -void* BLI_heap_popmin (struct Heap *heap){return NULL;} - void BLI_smallhash_init(struct SmallHash *hash) {} void BLI_smallhash_release(struct SmallHash *hash) {} void BLI_smallhash_insert(struct SmallHash *hash, uintptr_t key, void *item) {} @@ -157,296 +148,297 @@ void ibuf_sample(struct ImBuf *ibuf, float fx, float fy, float dx, float dy, flo /* texture.c */ int multitex_thread(struct Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, struct TexResult *texres, short thread, short which_output) {return 0;} -int multitex_ext(struct Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, struct TexResult *texres){return 0;} -int multitex_ext_safe(struct Tex *tex, float *texvec, struct TexResult *texres){return 0;} +int multitex_ext(struct Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, struct TexResult *texres) {return 0;} +int multitex_ext_safe(struct Tex *tex, float *texvec, struct TexResult *texres) {return 0;} int multitex_nodes(struct Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, struct TexResult *texres, short thread, short which_output, struct ShadeInput *shi, struct MTex *mtex) {return 0;} struct Material *RE_init_sample_material(struct Material *orig_mat, struct Scene *scene) {return (struct Material *)NULL;} void RE_free_sample_material(struct Material *mat) {} void RE_sample_material_color(struct Material *mat, float color[3], float *alpha, const float volume_co[3], const float surface_co[3], - int face_index, short hit_quad, struct DerivedMesh *orcoDm, struct Object *ob) {} + int face_index, short hit_quad, struct DerivedMesh *orcoDm, struct Object *ob) {} /* nodes */ -struct RenderResult *RE_GetResult(struct Render *re){return (struct RenderResult *) NULL;} -struct Render *RE_GetRender(const char *name){return (struct Render *) NULL;} +struct RenderResult *RE_GetResult(struct Render *re) {return (struct RenderResult *) NULL;} +struct Render *RE_GetRender(const char *name) {return (struct Render *) NULL;} /* blenkernel */ -void RE_FreeRenderResult(struct RenderResult *res){} -void RE_FreeAllRenderResults(void){} -struct RenderResult *RE_MultilayerConvert(void *exrhandle, int rectx, int recty){return (struct RenderResult *) NULL;} -void RE_GetResultImage(struct Render *re, struct RenderResult *rr){} -int RE_RenderInProgress(struct Render *re){return 0;} -struct Scene *RE_GetScene(struct Render *re){return (struct Scene *) NULL;} -void RE_Database_Free(struct Render *re){} -void RE_FreeRender(struct Render *re){} -void RE_DataBase_GetView(struct Render *re, float mat[][4]){} -int externtex(struct MTex *mtex, float *vec, float *tin, float *tr, float *tg, float *tb, float *ta){return 0;} -float texture_value_blend(float tex, float out, float fact, float facg, int blendtype, int flip){return 0.0f;} -void texture_rgb_blend(float *in, float *tex, float *out, float fact, float facg, int blendtype){} +void RE_FreeRenderResult(struct RenderResult *res) {} +void RE_FreeAllRenderResults(void) {} +struct RenderResult *RE_MultilayerConvert(void *exrhandle, int rectx, int recty) {return (struct RenderResult *) NULL;} +void RE_GetResultImage(struct Render *re, struct RenderResult *rr) {} +int RE_RenderInProgress(struct Render *re) {return 0;} +struct Scene *RE_GetScene(struct Render *re) {return (struct Scene *) NULL;} +void RE_Database_Free(struct Render *re) {} +void RE_FreeRender(struct Render *re) {} +void RE_DataBase_GetView(struct Render *re, float mat[][4]) {} +int externtex(struct MTex *mtex, float *vec, float *tin, float *tr, float *tg, float *tb, float *ta) {return 0;} +float texture_value_blend(float tex, float out, float fact, float facg, int blendtype, int flip) {return 0.0f;} +void texture_rgb_blend(float *in, float *tex, float *out, float fact, float facg, int blendtype) {} char stipple_quarttone[1]; //GLubyte stipple_quarttone[128] double elbeemEstimateMemreq(int res, float sx, float sy, float sz, int refine, char *retstr) {return 0.0f;} -struct Render *RE_NewRender(const char *name){return (struct Render*) NULL;} -void RE_SwapResult(struct Render *re, struct RenderResult **rr){} -void RE_BlenderFrame(struct Render *re, struct Scene *scene, int frame){} +struct Render *RE_NewRender(const char *name) {return (struct Render*) NULL;} +void RE_SwapResult(struct Render *re, struct RenderResult **rr) {} +void RE_BlenderFrame(struct Render *re, struct Scene *scene, int frame) {} int RE_WriteEnvmapResult(struct ReportList *reports, struct Scene *scene, struct EnvMap *env, const char *relpath, const char imtype, float layout[12]) { return 0; } /* rna */ -float *give_cursor(struct Scene *scene, struct View3D *v3d){return (float *) NULL;} -void WM_menutype_free(void){} -void WM_menutype_freelink(struct MenuType* mt){} +float *give_cursor(struct Scene *scene, struct View3D *v3d) {return (float *) NULL;} +void WM_menutype_free(void) {} +void WM_menutype_freelink(struct MenuType* mt) {} int WM_menutype_add(struct MenuType *mt) {return 0;} -int WM_operator_props_dialog_popup(struct bContext *C, struct wmOperator *op, int width, int height){return 0;} -int WM_operator_confirm(struct bContext *C, struct wmOperator *op, struct wmEvent *event){return 0;} -struct MenuType *WM_menutype_find(const char *idname, int quiet){return (struct MenuType *) NULL;} +int WM_operator_props_dialog_popup(struct bContext *C, struct wmOperator *op, int width, int height) {return 0;} +int WM_operator_confirm(struct bContext *C, struct wmOperator *op, struct wmEvent *event) {return 0;} +struct MenuType *WM_menutype_find(const char *idname, int quiet) {return (struct MenuType *) NULL;} void WM_operator_stack_clear(struct bContext *C) {} -void WM_autosave_init(struct bContext *C){} -void WM_jobs_stop_all(struct wmWindowManager *wm){} - -char *WM_clipboard_text_get(int selection){return (char*)0;} -void WM_clipboard_text_set(char *buf, int selection){} - -struct wmKeyMapItem *WM_keymap_item_find_id(struct wmKeyMap *keymap, int id){return (struct wmKeyMapItem *) NULL;} -int WM_enum_search_invoke(struct bContext *C, struct wmOperator *op, struct wmEvent *event){return 0;} -void WM_event_add_notifier(const struct bContext *C, unsigned int type, void *reference){} -void WM_main_add_notifier(unsigned int type, void *reference){} -void ED_armature_bone_rename(struct bArmature *arm, char *oldnamep, char *newnamep){} -struct wmEventHandler *WM_event_add_modal_handler(struct bContext *C, struct wmOperator *op){return (struct wmEventHandler *)NULL;} -struct wmTimer *WM_event_add_timer(struct wmWindowManager *wm, struct wmWindow *win, int event_type, double timestep){return (struct wmTimer *)NULL;} -void WM_event_remove_timer(struct wmWindowManager *wm, struct wmWindow *win, struct wmTimer *timer){} -void ED_armature_edit_bone_remove(struct bArmature *arm, struct EditBone *exBone){} -void object_test_constraints(struct Object *owner){} -void ED_object_parent(struct Object *ob, struct Object *par, int type, const char *substr){} -void ED_object_constraint_set_active(struct Object *ob, struct bConstraint *con){} -void ED_node_composit_default(struct Scene *sce){} -void *ED_region_draw_cb_activate(struct ARegionType *art, void(*draw)(const struct bContext *, struct ARegion *, void *), void *custumdata, int type){return 0;} /* XXX this one looks weird */ -void *ED_region_draw_cb_customdata(void *handle){return 0;} /* XXX This one looks wrong also */ -void ED_region_draw_cb_exit(struct ARegionType *art, void *handle){} -void ED_area_headerprint(struct ScrArea *sa, char *str){} - -struct EditBone *ED_armature_bone_get_mirrored(struct ListBase *edbo, struct EditBone *ebo){return (struct EditBone *) NULL;} -struct EditBone *ED_armature_edit_bone_add(struct bArmature *arm, char *name){return (struct EditBone*) NULL;} -struct ListBase *get_active_constraints (struct Object *ob){return (struct ListBase *) NULL;} -struct ListBase *get_constraint_lb(struct Object *ob, struct bConstraint *con, struct bPoseChannel **pchan_r){return (struct ListBase *) NULL;} -int ED_pose_channel_in_IK_chain(struct Object *ob, struct bPoseChannel *pchan){return 0;} - -int ED_space_image_show_uvedit(struct SpaceImage *sima, struct Object *obedit){return 0;} -int ED_space_image_show_render(struct SpaceImage *sima){return 0;} -int ED_space_image_show_paint(struct SpaceImage *sima){return 0;} -void ED_space_image_paint_update(struct wmWindowManager *wm, struct ToolSettings *settings){} -void ED_space_image_set(struct SpaceImage *sima, struct Scene *scene, struct Object *obedit, struct Image *ima){} -struct ImBuf *ED_space_image_buffer(struct SpaceImage *sima){return (struct ImBuf *) NULL;} -void ED_space_image_uv_sculpt_update(struct wmWindowManager *wm, struct ToolSettings *settings){} - -void ED_screen_set_scene(struct bContext *C, struct Scene *scene){} -void ED_space_clip_set(struct bContext *C, struct SpaceClip *sc, struct MovieClip *clip){} - -void ED_area_tag_redraw_regiontype(struct ScrArea *sa, int regiontype){} +void WM_autosave_init(struct bContext *C) {} +void WM_jobs_stop_all(struct wmWindowManager *wm) {} + +char *WM_clipboard_text_get(int selection) {return (char*)0;} +void WM_clipboard_text_set(char *buf, int selection) {} + +struct wmKeyMapItem *WM_keymap_item_find_id(struct wmKeyMap *keymap, int id) {return (struct wmKeyMapItem *) NULL;} +int WM_enum_search_invoke(struct bContext *C, struct wmOperator *op, struct wmEvent *event) {return 0;} +void WM_event_add_notifier(const struct bContext *C, unsigned int type, void *reference) {} +void WM_main_add_notifier(unsigned int type, void *reference) {} +void ED_armature_bone_rename(struct bArmature *arm, char *oldnamep, char *newnamep) {} +struct wmEventHandler *WM_event_add_modal_handler(struct bContext *C, struct wmOperator *op) {return (struct wmEventHandler *)NULL;} +struct wmTimer *WM_event_add_timer(struct wmWindowManager *wm, struct wmWindow *win, int event_type, double timestep) {return (struct wmTimer *)NULL;} +void WM_event_remove_timer(struct wmWindowManager *wm, struct wmWindow *win, struct wmTimer *timer) {} +void ED_armature_edit_bone_remove(struct bArmature *arm, struct EditBone *exBone) {} +void object_test_constraints(struct Object *owner) {} +void ED_object_parent(struct Object *ob, struct Object *par, int type, const char *substr) {} +void ED_object_constraint_set_active(struct Object *ob, struct bConstraint *con) {} +void ED_node_composit_default(struct Scene *sce) {} +void *ED_region_draw_cb_activate(struct ARegionType *art, void(*draw)(const struct bContext *, struct ARegion *, void *), void *custumdata, int type) {return 0;} /* XXX this one looks weird */ +void *ED_region_draw_cb_customdata(void *handle) {return 0;} /* XXX This one looks wrong also */ +void ED_region_draw_cb_exit(struct ARegionType *art, void *handle) {} +void ED_area_headerprint(struct ScrArea *sa, char *str) {} + +struct EditBone *ED_armature_bone_get_mirrored(struct ListBase *edbo, struct EditBone *ebo) {return (struct EditBone *) NULL;} +struct EditBone *ED_armature_edit_bone_add(struct bArmature *arm, char *name) {return (struct EditBone*) NULL;} +struct ListBase *get_active_constraints (struct Object *ob) {return (struct ListBase *) NULL;} +struct ListBase *get_constraint_lb(struct Object *ob, struct bConstraint *con, struct bPoseChannel **pchan_r) {return (struct ListBase *) NULL;} +int ED_pose_channel_in_IK_chain(struct Object *ob, struct bPoseChannel *pchan) {return 0;} + +int ED_space_image_show_uvedit(struct SpaceImage *sima, struct Object *obedit) {return 0;} +int ED_space_image_show_render(struct SpaceImage *sima) {return 0;} +int ED_space_image_show_paint(struct SpaceImage *sima) {return 0;} +void ED_space_image_paint_update(struct wmWindowManager *wm, struct ToolSettings *settings) {} +void ED_space_image_set(struct SpaceImage *sima, struct Scene *scene, struct Object *obedit, struct Image *ima) {} +struct ImBuf *ED_space_image_buffer(struct SpaceImage *sima) {return (struct ImBuf *) NULL;} +void ED_space_image_uv_sculpt_update(struct wmWindowManager *wm, struct ToolSettings *settings) {} + +void ED_screen_set_scene(struct bContext *C, struct Scene *scene) {} +void ED_space_clip_set(struct bContext *C, struct SpaceClip *sc, struct MovieClip *clip) {} + +void ED_area_tag_redraw_regiontype(struct ScrArea *sa, int regiontype) {} void ED_render_engine_changed(struct Main *bmain) {} -struct PTCacheEdit *PE_get_current(struct Scene *scene, struct Object *ob){return (struct PTCacheEdit *) NULL;} -void PE_current_changed(struct Scene *scene, struct Object *ob){} +struct PTCacheEdit *PE_get_current(struct Scene *scene, struct Object *ob) {return (struct PTCacheEdit *) NULL;} +void PE_current_changed(struct Scene *scene, struct Object *ob) {} /* rna keymap */ -struct wmKeyMap *WM_keymap_active(struct wmWindowManager *wm, struct wmKeyMap *keymap){return (struct wmKeyMap *) NULL;} -struct wmKeyMap *WM_keymap_find(struct wmKeyConfig *keyconf, char *idname, int spaceid, int regionid){return (struct wmKeyMap *) NULL;} -struct wmKeyMap *WM_keymap_add_item(struct wmKeyMap *keymap, char *idname, int type, int val, int modifier, int keymodifier){return (struct wmKeyMap *) NULL;} -struct wmKeyMap *WM_keymap_copy_to_user(struct wmKeyMap *kemap){return (struct wmKeyMap *) NULL;} -struct wmKeyMap *WM_keymap_list_find(struct ListBase *lb, char *idname, int spaceid, int regionid){return (struct wmKeyMap *) NULL;} -struct wmKeyConfig *WM_keyconfig_new(struct wmWindowManager *wm, char *idname){return (struct wmKeyConfig *) NULL;} -struct wmKeyConfig *WM_keyconfig_new_user(struct wmWindowManager *wm, char *idname){return (struct wmKeyConfig *) NULL;} -void WM_keyconfig_remove(struct wmWindowManager *wm, char *idname){} +struct wmKeyMap *WM_keymap_active(struct wmWindowManager *wm, struct wmKeyMap *keymap) {return (struct wmKeyMap *) NULL;} +struct wmKeyMap *WM_keymap_find(struct wmKeyConfig *keyconf, char *idname, int spaceid, int regionid) {return (struct wmKeyMap *) NULL;} +struct wmKeyMap *WM_keymap_add_item(struct wmKeyMap *keymap, char *idname, int type, int val, int modifier, int keymodifier) {return (struct wmKeyMap *) NULL;} +struct wmKeyMap *WM_keymap_copy_to_user(struct wmKeyMap *kemap) {return (struct wmKeyMap *) NULL;} +struct wmKeyMap *WM_keymap_list_find(struct ListBase *lb, char *idname, int spaceid, int regionid) {return (struct wmKeyMap *) NULL;} +struct wmKeyConfig *WM_keyconfig_new(struct wmWindowManager *wm, char *idname) {return (struct wmKeyConfig *) NULL;} +struct wmKeyConfig *WM_keyconfig_new_user(struct wmWindowManager *wm, char *idname) {return (struct wmKeyConfig *) NULL;} +void WM_keyconfig_remove(struct wmWindowManager *wm, char *idname) {} void WM_keyconfig_set_active(struct wmWindowManager *wm, const char *idname) {} -void WM_keymap_remove_item(struct wmKeyMap *keymap, struct wmKeyMapItem *kmi){} -void WM_keymap_restore_to_default(struct wmKeyMap *keymap){} -void WM_keymap_restore_item_to_default(struct bContext *C, struct wmKeyMap *keymap, struct wmKeyMapItem *kmi){} -void WM_keymap_properties_reset(struct wmKeyMapItem *kmi){} +void WM_keymap_remove_item(struct wmKeyMap *keymap, struct wmKeyMapItem *kmi) {} +void WM_keymap_restore_to_default(struct wmKeyMap *keymap) {} +void WM_keymap_restore_item_to_default(struct bContext *C, struct wmKeyMap *keymap, struct wmKeyMapItem *kmi) {} +void WM_keymap_properties_reset(struct wmKeyMapItem *kmi) {} void WM_keyconfig_update_tag(struct wmKeyMap *keymap, struct wmKeyMapItem *kmi) {} -int WM_keymap_item_compare(struct wmKeyMapItem *k1, struct wmKeyMapItem *k2){return 0;} +int WM_keymap_item_compare(struct wmKeyMapItem *k1, struct wmKeyMapItem *k2) {return 0;} /* rna editors */ struct EditMesh; -struct FCurve *verify_fcurve (struct bAction *act, const char group[], const char rna_path[], const int array_index, short add){return (struct FCurve *) NULL;} -int insert_vert_fcurve(struct FCurve *fcu, float x, float y, short flag){return 0;} -void delete_fcurve_key(struct FCurve *fcu, int index, short do_recalc){} -struct KeyingSetInfo *ANIM_keyingset_info_find_name (const char name[]){return (struct KeyingSetInfo *) NULL;} -struct KeyingSet *ANIM_scene_get_active_keyingset (struct Scene *scene){return (struct KeyingSet *) NULL;} -int ANIM_scene_get_keyingset_index(struct Scene *scene, struct KeyingSet *ks){return 0;} +struct FCurve *verify_fcurve (struct bAction *act, const char group[], const char rna_path[], const int array_index, short add) {return (struct FCurve *) NULL;} +int insert_vert_fcurve(struct FCurve *fcu, float x, float y, short flag) {return 0;} +void delete_fcurve_key(struct FCurve *fcu, int index, short do_recalc) {} +struct KeyingSetInfo *ANIM_keyingset_info_find_name (const char name[]) {return (struct KeyingSetInfo *) NULL;} +struct KeyingSet *ANIM_scene_get_active_keyingset (struct Scene *scene) {return (struct KeyingSet *) NULL;} +int ANIM_scene_get_keyingset_index(struct Scene *scene, struct KeyingSet *ks) {return 0;} struct ListBase builtin_keyingsets; -void ANIM_keyingset_info_register(struct KeyingSetInfo *ksi){} -void ANIM_keyingset_info_unregister(const struct bContext *C, struct KeyingSetInfo *ksi){} -short ANIM_validate_keyingset(struct bContext *C, struct ListBase *dsources, struct KeyingSet *ks){return 0;} -short ANIM_add_driver(struct ID *id, const char rna_path[], int array_index, short flag, int type){return 0;} -short ANIM_remove_driver(struct ID *id, const char rna_path[], int array_index, short flag){return 0;} -void ED_space_image_release_buffer(struct SpaceImage *sima, void *lock){} -struct ImBuf *ED_space_image_acquire_buffer(struct SpaceImage *sima, void **lock_r){return (struct ImBuf *) NULL;} +void ANIM_keyingset_info_register(struct KeyingSetInfo *ksi) {} +void ANIM_keyingset_info_unregister(const struct bContext *C, struct KeyingSetInfo *ksi) {} +short ANIM_validate_keyingset(struct bContext *C, struct ListBase *dsources, struct KeyingSet *ks) {return 0;} +short ANIM_add_driver(struct ID *id, const char rna_path[], int array_index, short flag, int type) {return 0;} +short ANIM_remove_driver(struct ID *id, const char rna_path[], int array_index, short flag) {return 0;} +void ED_space_image_release_buffer(struct SpaceImage *sima, void *lock) {} +struct ImBuf *ED_space_image_acquire_buffer(struct SpaceImage *sima, void **lock_r) {return (struct ImBuf *) NULL;} void ED_space_image_zoom(struct SpaceImage *sima, struct ARegion *ar, float *zoomx, float *zoomy) {} -char *ED_info_stats_string(struct Scene *scene){return (char *) NULL;} -void ED_area_tag_redraw(struct ScrArea *sa){} -void ED_area_tag_refresh(struct ScrArea *sa){} -void ED_area_newspace(struct bContext *C, struct ScrArea *sa, int type){} -void ED_region_tag_redraw(struct ARegion *ar){} -void WM_event_add_fileselect(struct bContext *C, struct wmOperator *op){} +char *ED_info_stats_string(struct Scene *scene) {return (char *) NULL;} +void ED_area_tag_redraw(struct ScrArea *sa) {} +void ED_area_tag_refresh(struct ScrArea *sa) {} +void ED_area_newspace(struct bContext *C, struct ScrArea *sa, int type) {} +void ED_region_tag_redraw(struct ARegion *ar) {} +void WM_event_add_fileselect(struct bContext *C, struct wmOperator *op) {} void WM_cursor_wait(int val) {} -void ED_node_texture_default(struct Tex *tx){} -void ED_node_changed_update(struct bContext *C, struct bNode *node){} -void ED_node_generic_update(struct Main *bmain, struct bNodeTree *ntree, struct bNode *node){} -void ED_node_tree_update(struct SpaceNode *snode, struct Scene *scene){} -void ED_view3d_scene_layers_update(struct Main *bmain, struct Scene *scene){} -int ED_view3d_scene_layer_set(int lay, const int *values){return 0;} -void ED_view3d_quadview_update(struct ScrArea *sa, struct ARegion *ar){} -void ED_view3d_from_m4(float mat[][4], float ofs[3], float quat[4], float *dist){} -struct BGpic *ED_view3D_background_image_new(struct View3D *v3d){return (struct BGpic *) NULL;} -void ED_view3D_background_image_remove(struct View3D *v3d, struct BGpic *bgpic){} -void ED_view3D_background_image_clear(struct View3D *v3d){} -void ED_view3d_update_viewmat(struct Scene *scene, struct View3D *v3d, struct ARegion *ar, float viewmat[][4], float winmat[][4]){} -void view3d_apply_mat4(float mat[][4], float *ofs, float *quat, float *dist){} -int text_file_modified(struct Text *text){return 0;} -void ED_node_shader_default(struct Material *ma){} -void ED_screen_animation_timer_update(struct bContext *C, int redraws){} -void ED_base_object_select(struct Base *base, short mode){} -int ED_object_modifier_remove(struct ReportList *reports, struct Scene *scene, struct Object *ob, struct ModifierData *md){return 0;} -int ED_object_modifier_add(struct ReportList *reports, struct Scene *scene, struct Object *ob, char *name, int type){return 0;} -void ED_object_modifier_clear(struct Scene *scene, struct Object *ob){} -void ED_object_enter_editmode(struct bContext *C, int flag){} -void ED_object_exit_editmode(struct bContext *C, int flag){} -int uiLayoutGetActive(struct uiLayout *layout){return 0;} -int uiLayoutGetOperatorContext(struct uiLayout *layout){return 0;} -int uiLayoutGetAlignment(struct uiLayout *layout){return 0;} -int uiLayoutGetEnabled(struct uiLayout *layout){return 0;} -float uiLayoutGetScaleX(struct uiLayout *layout){return 0.0f;} -float uiLayoutGetScaleY(struct uiLayout *layout){return 0.0f;} -void uiLayoutSetActive(struct uiLayout *layout, int active){} -void uiLayoutSetOperatorContext(struct uiLayout *layout, int opcontext){} -void uiLayoutSetEnabled(struct uiLayout *layout, int enabled){} -void uiLayoutSetAlignment(struct uiLayout *layout, int alignment){} -void uiLayoutSetScaleX(struct uiLayout *layout, float scale){} -void uiLayoutSetScaleY(struct uiLayout *layout, float scale){} -void ED_base_object_free_and_unlink(struct Scene *scene, struct Base *base){} -void ED_mesh_calc_normals(struct Mesh *me){} -void ED_mesh_geometry_add(struct Mesh *mesh, struct ReportList *reports, int verts, int edges, int faces){} -void ED_mesh_material_add(struct Mesh *me, struct Material *ma){} -void ED_mesh_transform(struct Mesh *me, float *mat){} -void ED_mesh_update(struct Mesh *mesh, struct bContext *C){} -void ED_mesh_vertices_add(struct Mesh *mesh, struct ReportList *reports, int count){} -void ED_mesh_edges_add(struct Mesh *mesh, struct ReportList *reports, int count){} -void ED_mesh_tessfaces_add(struct Mesh *mesh, struct ReportList *reports, int count){} -void ED_mesh_loops_add(struct Mesh *mesh, struct ReportList *reports, int count){} -void ED_mesh_polys_add(struct Mesh *mesh, struct ReportList *reports, int count){} -void ED_mesh_vertices_remove(struct Mesh *mesh, struct ReportList *reports, int count){} -void ED_mesh_edges_remove(struct Mesh *mesh, struct ReportList *reports, int count){} -void ED_mesh_faces_remove(struct Mesh *mesh, struct ReportList *reports, int count){} -void ED_mesh_material_link(struct Mesh *mesh, struct Material *ma){} -int ED_mesh_color_add(struct bContext *C, struct Scene *scene, struct Object *ob, struct Mesh *me){return 0;} -int ED_mesh_uv_texture_add(struct bContext *C, struct Mesh *me){return 0;} -void ED_object_constraint_dependency_update(struct Scene *scene, struct Object *ob){} -void ED_object_constraint_update(struct Object *ob){} -struct bDeformGroup *ED_vgroup_add_name(struct Object *ob, char *name){return (struct bDeformGroup *) NULL;} -void ED_vgroup_vert_add(struct Object *ob, struct bDeformGroup *dg, int vertnum, float weight, int assignmode){} -void ED_vgroup_vert_remove(struct Object *ob, struct bDeformGroup *dg, int vertnum){} -void ED_vgroup_vert_weight(struct Object *ob, struct bDeformGroup *dg, int vertnum){} -void ED_vgroup_delete(struct Object *ob, struct bDeformGroup *defgroup){} -void ED_vgroup_clear(struct Object *ob){} -void ED_vgroup_object_is_edit_mode(struct Object *ob){} +void ED_node_texture_default(struct Tex *tx) {} +void ED_node_changed_update(struct bContext *C, struct bNode *node) {} +void ED_node_generic_update(struct Main *bmain, struct bNodeTree *ntree, struct bNode *node) {} +void ED_node_tree_update(struct SpaceNode *snode, struct Scene *scene) {} +void ED_view3d_scene_layers_update(struct Main *bmain, struct Scene *scene) {} +int ED_view3d_scene_layer_set(int lay, const int *values) {return 0;} +void ED_view3d_quadview_update(struct ScrArea *sa, struct ARegion *ar) {} +void ED_view3d_from_m4(float mat[][4], float ofs[3], float quat[4], float *dist) {} +struct BGpic *ED_view3D_background_image_new(struct View3D *v3d) {return (struct BGpic *) NULL;} +void ED_view3D_background_image_remove(struct View3D *v3d, struct BGpic *bgpic) {} +void ED_view3D_background_image_clear(struct View3D *v3d) {} +void ED_view3d_update_viewmat(struct Scene *scene, struct View3D *v3d, struct ARegion *ar, float viewmat[][4], float winmat[][4]) {} +void view3d_apply_mat4(float mat[][4], float *ofs, float *quat, float *dist) {} +int text_file_modified(struct Text *text) {return 0;} +void ED_node_shader_default(struct Material *ma) {} +void ED_screen_animation_timer_update(struct bContext *C, int redraws) {} +void ED_screen_animation_playing(struct wmWindowManager *wm) {} +void ED_base_object_select(struct Base *base, short mode) {} +int ED_object_modifier_remove(struct ReportList *reports, struct Scene *scene, struct Object *ob, struct ModifierData *md) {return 0;} +int ED_object_modifier_add(struct ReportList *reports, struct Scene *scene, struct Object *ob, char *name, int type) {return 0;} +void ED_object_modifier_clear(struct Scene *scene, struct Object *ob) {} +void ED_object_enter_editmode(struct bContext *C, int flag) {} +void ED_object_exit_editmode(struct bContext *C, int flag) {} +int uiLayoutGetActive(struct uiLayout *layout) {return 0;} +int uiLayoutGetOperatorContext(struct uiLayout *layout) {return 0;} +int uiLayoutGetAlignment(struct uiLayout *layout) {return 0;} +int uiLayoutGetEnabled(struct uiLayout *layout) {return 0;} +float uiLayoutGetScaleX(struct uiLayout *layout) {return 0.0f;} +float uiLayoutGetScaleY(struct uiLayout *layout) {return 0.0f;} +void uiLayoutSetActive(struct uiLayout *layout, int active) {} +void uiLayoutSetOperatorContext(struct uiLayout *layout, int opcontext) {} +void uiLayoutSetEnabled(struct uiLayout *layout, int enabled) {} +void uiLayoutSetAlignment(struct uiLayout *layout, int alignment) {} +void uiLayoutSetScaleX(struct uiLayout *layout, float scale) {} +void uiLayoutSetScaleY(struct uiLayout *layout, float scale) {} +void ED_base_object_free_and_unlink(struct Scene *scene, struct Base *base) {} +void ED_mesh_calc_normals(struct Mesh *me) {} +void ED_mesh_geometry_add(struct Mesh *mesh, struct ReportList *reports, int verts, int edges, int faces) {} +void ED_mesh_material_add(struct Mesh *me, struct Material *ma) {} +void ED_mesh_transform(struct Mesh *me, float *mat) {} +void ED_mesh_update(struct Mesh *mesh, struct bContext *C) {} +void ED_mesh_vertices_add(struct Mesh *mesh, struct ReportList *reports, int count) {} +void ED_mesh_edges_add(struct Mesh *mesh, struct ReportList *reports, int count) {} +void ED_mesh_tessfaces_add(struct Mesh *mesh, struct ReportList *reports, int count) {} +void ED_mesh_loops_add(struct Mesh *mesh, struct ReportList *reports, int count) {} +void ED_mesh_polys_add(struct Mesh *mesh, struct ReportList *reports, int count) {} +void ED_mesh_vertices_remove(struct Mesh *mesh, struct ReportList *reports, int count) {} +void ED_mesh_edges_remove(struct Mesh *mesh, struct ReportList *reports, int count) {} +void ED_mesh_faces_remove(struct Mesh *mesh, struct ReportList *reports, int count) {} +void ED_mesh_material_link(struct Mesh *mesh, struct Material *ma) {} +int ED_mesh_color_add(struct bContext *C, struct Scene *scene, struct Object *ob, struct Mesh *me) {return 0;} +int ED_mesh_uv_texture_add(struct bContext *C, struct Mesh *me) {return 0;} +void ED_object_constraint_dependency_update(struct Scene *scene, struct Object *ob) {} +void ED_object_constraint_update(struct Object *ob) {} +struct bDeformGroup *ED_vgroup_add_name(struct Object *ob, char *name) {return (struct bDeformGroup *) NULL;} +void ED_vgroup_vert_add(struct Object *ob, struct bDeformGroup *dg, int vertnum, float weight, int assignmode) {} +void ED_vgroup_vert_remove(struct Object *ob, struct bDeformGroup *dg, int vertnum) {} +void ED_vgroup_vert_weight(struct Object *ob, struct bDeformGroup *dg, int vertnum) {} +void ED_vgroup_delete(struct Object *ob, struct bDeformGroup *defgroup) {} +void ED_vgroup_clear(struct Object *ob) {} +void ED_vgroup_object_is_edit_mode(struct Object *ob) {} long mesh_mirrtopo_table(struct Object *ob, char mode) { return 0; } intptr_t mesh_octree_table(struct Object *ob, struct BMEditMesh *em, float *co, char mode) { return 0; } -void ED_sequencer_update_view(struct bContext *C, int view){} -float ED_rollBoneToVector(struct EditBone *bone, float new_up_axis[3]){return 0.0f;} -void ED_space_image_size(struct SpaceImage *sima, int *width, int *height){} - -void ED_nurb_set_spline_type(struct Nurb *nu, int type){} - -void make_editLatt(struct Object *obedit){} -void load_editLatt(struct Object *obedit){} - -void load_editNurb(struct Object *obedit){} -void make_editNurb(struct Object *obedit){} - - -void uiItemR(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, int flag, char *name, int icon){} - -struct PointerRNA uiItemFullO(struct uiLayout *layout, char *idname, char *name, int icon, struct IDProperty *properties, int context, int flag){struct PointerRNA a = {{0}}; return a;} -struct uiLayout *uiLayoutRow(struct uiLayout *layout, int align){return (struct uiLayout *) NULL;} -struct uiLayout *uiLayoutColumn(struct uiLayout *layout, int align){return (struct uiLayout *) NULL;} -struct uiLayout *uiLayoutColumnFlow(struct uiLayout *layout, int number, int align){return (struct uiLayout *) NULL;} -struct uiLayout *uiLayoutBox(struct uiLayout *layout){return (struct uiLayout *) NULL;} -struct uiLayout *uiLayoutSplit(struct uiLayout *layout, float percentage, int align){return (struct uiLayout *) NULL;} -int uiLayoutGetRedAlert(struct uiLayout *layout){return 0;} -void uiLayoutSetRedAlert(struct uiLayout *layout, int redalert){} -void uiItemsEnumR(struct uiLayout *layout, struct PointerRNA *ptr, char *propname){} -void uiItemMenuEnumR(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, char *name, int icon){} -void uiItemEnumR_string(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, char *value, char *name, int icon){} -void uiItemPointerR(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, struct PointerRNA *searchptr, char *searchpropname, char *name, int icon){} -void uiItemPointerSubR(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, char *searchpropname, char *name, int icon){} -void uiItemsEnumO(struct uiLayout *layout, char *opname, char *propname){} -void uiItemEnumO_string(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, char *value_str){} -void uiItemMenuEnumO(struct uiLayout *layout, char *opname, char *propname, char *name, int icon){} -void uiItemBooleanO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, int value){} -void uiItemIntO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, int value){} -void uiItemFloatO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, float value){} -void uiItemStringO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, char *value){} -void uiItemL(struct uiLayout *layout, const char *name, int icon){} -void uiItemM(struct uiLayout *layout, struct bContext *C, char *menuname, char *name, int icon){} -void uiItemS(struct uiLayout *layout){} -void uiItemFullR(struct uiLayout *layout, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, int value, int flag, char *name, int icon){} -void uiLayoutSetContextPointer(struct uiLayout *layout, char *name, struct PointerRNA *ptr){} -char *uiLayoutIntrospect(struct uiLayout *layout){return (char *)NULL;} +void ED_sequencer_update_view(struct bContext *C, int view) {} +float ED_rollBoneToVector(struct EditBone *bone, float new_up_axis[3]) {return 0.0f;} +void ED_space_image_size(struct SpaceImage *sima, int *width, int *height) {} + +void ED_nurb_set_spline_type(struct Nurb *nu, int type) {} + +void make_editLatt(struct Object *obedit) {} +void load_editLatt(struct Object *obedit) {} + +void load_editNurb(struct Object *obedit) {} +void make_editNurb(struct Object *obedit) {} + + +void uiItemR(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, int flag, char *name, int icon) {} + +struct PointerRNA uiItemFullO(struct uiLayout *layout, char *idname, char *name, int icon, struct IDProperty *properties, int context, int flag) {struct PointerRNA a = {{0}}; return a;} +struct uiLayout *uiLayoutRow(struct uiLayout *layout, int align) {return (struct uiLayout *) NULL;} +struct uiLayout *uiLayoutColumn(struct uiLayout *layout, int align) {return (struct uiLayout *) NULL;} +struct uiLayout *uiLayoutColumnFlow(struct uiLayout *layout, int number, int align) {return (struct uiLayout *) NULL;} +struct uiLayout *uiLayoutBox(struct uiLayout *layout) {return (struct uiLayout *) NULL;} +struct uiLayout *uiLayoutSplit(struct uiLayout *layout, float percentage, int align) {return (struct uiLayout *) NULL;} +int uiLayoutGetRedAlert(struct uiLayout *layout) {return 0;} +void uiLayoutSetRedAlert(struct uiLayout *layout, int redalert) {} +void uiItemsEnumR(struct uiLayout *layout, struct PointerRNA *ptr, char *propname) {} +void uiItemMenuEnumR(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, char *name, int icon) {} +void uiItemEnumR_string(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, char *value, char *name, int icon) {} +void uiItemPointerR(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, struct PointerRNA *searchptr, char *searchpropname, char *name, int icon) {} +void uiItemPointerSubR(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, char *searchpropname, char *name, int icon) {} +void uiItemsEnumO(struct uiLayout *layout, char *opname, char *propname) {} +void uiItemEnumO_string(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, char *value_str) {} +void uiItemMenuEnumO(struct uiLayout *layout, char *opname, char *propname, char *name, int icon) {} +void uiItemBooleanO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, int value) {} +void uiItemIntO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, int value) {} +void uiItemFloatO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, float value) {} +void uiItemStringO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, char *value) {} +void uiItemL(struct uiLayout *layout, const char *name, int icon) {} +void uiItemM(struct uiLayout *layout, struct bContext *C, char *menuname, char *name, int icon) {} +void uiItemS(struct uiLayout *layout) {} +void uiItemFullR(struct uiLayout *layout, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, int value, int flag, char *name, int icon) {} +void uiLayoutSetContextPointer(struct uiLayout *layout, char *name, struct PointerRNA *ptr) {} +char *uiLayoutIntrospect(struct uiLayout *layout) {return (char *)NULL;} void UI_reinit_font(void) {} /* rna template */ -void uiTemplateAnyID(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, char *text){} -void uiTemplatePathBuilder(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, struct PointerRNA *root_ptr, char *text){} -void uiTemplateHeader(struct uiLayout *layout, struct bContext *C, int menus){} -void uiTemplateID(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, char *newop, char *unlinkop){} -struct uiLayout *uiTemplateModifier(struct uiLayout *layout, struct PointerRNA *ptr){return (struct uiLayout *) NULL;} -struct uiLayout *uiTemplateConstraint(struct uiLayout *layout, struct PointerRNA *ptr){return (struct uiLayout *) NULL;} -void uiTemplatePreview(struct uiLayout *layout, struct ID *id, int show_buttons, struct ID *parent, struct MTex *slot){} -void uiTemplateIDPreview(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, char *newop, char *openop, char *unlinkop, int rows, int cols){} -void uiTemplateCurveMapping(struct uiLayout *layout, struct CurveMapping *cumap, int type, int compact){} -void uiTemplateColorRamp(struct uiLayout *layout, struct ColorBand *coba, int expand){} -void uiTemplateLayers(struct uiLayout *layout, struct PointerRNA *ptr, char *propname){} -void uiTemplateImageLayers(struct uiLayout *layout, struct bContext *C, struct Image *ima, struct ImageUser *iuser){} -ListBase uiTemplateList(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, struct PointerRNA *activeptr, char *activepropname, int rows, int listtype){struct ListBase b = {0,0}; return b;} -void uiTemplateRunningJobs(struct uiLayout *layout, struct bContext *C){} -void uiTemplateOperatorSearch(struct uiLayout *layout){} -void uiTemplateHeader3D(struct uiLayout *layout, struct bContext *C){} -void uiTemplateEditModeSelection(struct uiLayout *layout, struct bContext *C){} -void uiTemplateTextureImage(struct uiLayout *layout, struct bContext *C, struct Tex *tex){} -void uiTemplateImage(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, struct PointerRNA *userptr, int compact){} -void uiTemplateDopeSheetFilter(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr){} -void uiTemplateColorWheel(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, int value_slider){} -void uiTemplateHistogram(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, int expand){} -void uiTemplateReportsBanner(struct uiLayout *layout, struct bContext *C, struct wmOperator *op){} -void uiTemplateWaveform(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, int expand){} -void uiTemplateVectorscope(struct uiLayout *_self, struct PointerRNA *data, char* property, int expand){} +void uiTemplateAnyID(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, char *text) {} +void uiTemplatePathBuilder(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, struct PointerRNA *root_ptr, char *text) {} +void uiTemplateHeader(struct uiLayout *layout, struct bContext *C, int menus) {} +void uiTemplateID(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, char *newop, char *unlinkop) {} +struct uiLayout *uiTemplateModifier(struct uiLayout *layout, struct PointerRNA *ptr) {return (struct uiLayout *) NULL;} +struct uiLayout *uiTemplateConstraint(struct uiLayout *layout, struct PointerRNA *ptr) {return (struct uiLayout *) NULL;} +void uiTemplatePreview(struct uiLayout *layout, struct ID *id, int show_buttons, struct ID *parent, struct MTex *slot) {} +void uiTemplateIDPreview(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, char *newop, char *openop, char *unlinkop, int rows, int cols) {} +void uiTemplateCurveMapping(struct uiLayout *layout, struct CurveMapping *cumap, int type, int compact) {} +void uiTemplateColorRamp(struct uiLayout *layout, struct ColorBand *coba, int expand) {} +void uiTemplateLayers(struct uiLayout *layout, struct PointerRNA *ptr, char *propname) {} +void uiTemplateImageLayers(struct uiLayout *layout, struct bContext *C, struct Image *ima, struct ImageUser *iuser) {} +ListBase uiTemplateList(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, struct PointerRNA *activeptr, char *activepropname, int rows, int listtype) {struct ListBase b = {0,0}; return b;} +void uiTemplateRunningJobs(struct uiLayout *layout, struct bContext *C) {} +void uiTemplateOperatorSearch(struct uiLayout *layout) {} +void uiTemplateHeader3D(struct uiLayout *layout, struct bContext *C) {} +void uiTemplateEditModeSelection(struct uiLayout *layout, struct bContext *C) {} +void uiTemplateTextureImage(struct uiLayout *layout, struct bContext *C, struct Tex *tex) {} +void uiTemplateImage(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, struct PointerRNA *userptr, int compact) {} +void uiTemplateDopeSheetFilter(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr) {} +void uiTemplateColorWheel(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, int value_slider) {} +void uiTemplateHistogram(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, int expand) {} +void uiTemplateReportsBanner(struct uiLayout *layout, struct bContext *C, struct wmOperator *op) {} +void uiTemplateWaveform(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, int expand) {} +void uiTemplateVectorscope(struct uiLayout *_self, struct PointerRNA *data, char* property, int expand) {} void uiTemplateNodeLink(struct uiLayout *layout, struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *input) {} void uiTemplateNodeView(struct uiLayout *layout, struct bContext *C, struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *input) {} void uiTemplateTextureUser(struct uiLayout *layout, struct bContext *C) {} void uiTemplateTextureShow(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop) {} -void uiTemplateKeymapItemProperties(struct uiLayout *layout, struct PointerRNA *ptr){} -void uiTemplateMovieClip(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, const char *propname, int compact){} -void uiTemplateTrack(struct uiLayout *layout, struct PointerRNA *ptr, const char *propname){} -void uiTemplateMarker(struct uiLayout *layout, struct PointerRNA *ptr, const char *propname, PointerRNA *userptr, PointerRNA *trackptr, int compact){} -void uiTemplateImageSettings(struct uiLayout *layout, struct PointerRNA *imfptr){} +void uiTemplateKeymapItemProperties(struct uiLayout *layout, struct PointerRNA *ptr) {} +void uiTemplateMovieClip(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, const char *propname, int compact) {} +void uiTemplateTrack(struct uiLayout *layout, struct PointerRNA *ptr, const char *propname) {} +void uiTemplateMarker(struct uiLayout *layout, struct PointerRNA *ptr, const char *propname, PointerRNA *userptr, PointerRNA *trackptr, int compact) {} +void uiTemplateImageSettings(struct uiLayout *layout, struct PointerRNA *imfptr) {} /* rna render */ -struct RenderResult *RE_engine_begin_result(struct RenderEngine *engine, int x, int y, int w, int h){return (struct RenderResult *) NULL;} -struct RenderResult *RE_AcquireResultRead(struct Render *re){return (struct RenderResult *) NULL;} -struct RenderResult *RE_AcquireResultWrite(struct Render *re){return (struct RenderResult *) NULL;} -struct RenderStats *RE_GetStats(struct Render *re){return (struct RenderStats *) NULL;} -void RE_engine_update_result(struct RenderEngine *engine, struct RenderResult *result){} +struct RenderResult *RE_engine_begin_result(struct RenderEngine *engine, int x, int y, int w, int h) {return (struct RenderResult *) NULL;} +struct RenderResult *RE_AcquireResultRead(struct Render *re) {return (struct RenderResult *) NULL;} +struct RenderResult *RE_AcquireResultWrite(struct Render *re) {return (struct RenderResult *) NULL;} +struct RenderStats *RE_GetStats(struct Render *re) {return (struct RenderStats *) NULL;} +void RE_engine_update_result(struct RenderEngine *engine, struct RenderResult *result) {} void RE_engine_update_progress(struct RenderEngine *engine, float progress) {} -void RE_engine_end_result(struct RenderEngine *engine, struct RenderResult *result){} -void RE_engine_update_stats(struct RenderEngine *engine, char *stats, char *info){} -void RE_layer_load_from_file(struct RenderLayer *layer, struct ReportList *reports, char *filename){} -void RE_result_load_from_file(struct RenderResult *result, struct ReportList *reports, char *filename){} -void RE_AcquireResultImage(struct Render *re, struct RenderResult *rr){} -void RE_ReleaseResult(struct Render *re){} -void RE_ReleaseResultImage(struct Render *re){} -int RE_engine_test_break(struct RenderEngine *engine){return 0;} +void RE_engine_end_result(struct RenderEngine *engine, struct RenderResult *result) {} +void RE_engine_update_stats(struct RenderEngine *engine, char *stats, char *info) {} +void RE_layer_load_from_file(struct RenderLayer *layer, struct ReportList *reports, char *filename) {} +void RE_result_load_from_file(struct RenderResult *result, struct ReportList *reports, char *filename) {} +void RE_AcquireResultImage(struct Render *re, struct RenderResult *rr) {} +void RE_ReleaseResult(struct Render *re) {} +void RE_ReleaseResultImage(struct Render *re) {} +int RE_engine_test_break(struct RenderEngine *engine) {return 0;} void RE_engines_init() {} void RE_engines_exit() {} void RE_engine_report(struct RenderEngine *engine, int type, const char *msg) {} @@ -455,43 +447,43 @@ void RE_engine_free(struct RenderEngine *engine) {} struct RenderEngineType *RE_engines_find(const char *idname) { return NULL; } /* python */ -struct wmOperatorType *WM_operatortype_find(const char *idname, int quiet){return (struct wmOperatorType *) NULL;} -struct GHashIterator *WM_operatortype_iter(){return (struct GHashIterator *) NULL;} -struct wmOperatorType *WM_operatortype_exists(const char *idname){return (struct wmOperatorType *) NULL;} -struct wmOperatorTypeMacro *WM_operatortype_macro_define(struct wmOperatorType *ot, const char *idname){return (struct wmOperatorTypeMacro *) NULL;} -int WM_operator_call_py(struct bContext *C, struct wmOperatorType *ot, int context, struct PointerRNA *properties, struct ReportList *reports){return 0;} -int WM_operatortype_remove(const char *idname){return 0;} -int WM_operator_poll(struct bContext *C, struct wmOperatorType *ot){return 0;} -int WM_operator_poll_context(struct bContext *C, struct wmOperatorType *ot, int context){return 0;} -int WM_operator_props_popup(struct bContext *C, struct wmOperator *op, struct wmEvent *event){return 0;} -void WM_operator_properties_free(struct PointerRNA *ptr){} -void WM_operator_properties_create(struct PointerRNA *ptr, const char *opstring){} -void WM_operator_properties_create_ptr(struct PointerRNA *ptr, struct wmOperatorType *ot){} -void WM_operator_properties_sanitize(struct PointerRNA *ptr, const short no_context){}; -void WM_operatortype_append_ptr(void (*opfunc)(struct wmOperatorType*, void*), void *userdata){} -void WM_operatortype_append_macro_ptr(void (*opfunc)(struct wmOperatorType*, void*), void *userdata){} -void WM_operator_bl_idname(char *to, const char *from){} -void WM_operator_py_idname(char *to, const char *from){} -void WM_operator_ui_popup(struct bContext *C, struct wmOperator *op, int width, int height){} -short insert_keyframe(struct ID *id, struct bAction *act, const char group[], const char rna_path[], int array_index, float cfra, short flag){return 0;} -short delete_keyframe(struct ID *id, struct bAction *act, const char group[], const char rna_path[], int array_index, float cfra, short flag){return 0;}; -char *WM_operator_pystring(struct bContext *C, struct wmOperatorType *ot, struct PointerRNA *opptr, int all_args){return (char *)NULL;} -struct wmKeyMapItem *WM_modalkeymap_add_item(struct wmKeyMap *km, int type, int val, int modifier, int keymodifier, int value){return (struct wmKeyMapItem *)NULL;} -struct wmKeyMapItem *WM_modalkeymap_add_item_str(struct wmKeyMap *km, int type, int val, int modifier, int keymodifier, const char *value){return (struct wmKeyMapItem *)NULL;} -struct wmKeyMap *WM_modalkeymap_add(struct wmKeyConfig *keyconf, char *idname, EnumPropertyItem *items){return (struct wmKeyMap *) NULL;} +struct wmOperatorType *WM_operatortype_find(const char *idname, int quiet) {return (struct wmOperatorType *) NULL;} +struct GHashIterator *WM_operatortype_iter() {return (struct GHashIterator *) NULL;} +struct wmOperatorType *WM_operatortype_exists(const char *idname) {return (struct wmOperatorType *) NULL;} +struct wmOperatorTypeMacro *WM_operatortype_macro_define(struct wmOperatorType *ot, const char *idname) {return (struct wmOperatorTypeMacro *) NULL;} +int WM_operator_call_py(struct bContext *C, struct wmOperatorType *ot, int context, struct PointerRNA *properties, struct ReportList *reports) {return 0;} +int WM_operatortype_remove(const char *idname) {return 0;} +int WM_operator_poll(struct bContext *C, struct wmOperatorType *ot) {return 0;} +int WM_operator_poll_context(struct bContext *C, struct wmOperatorType *ot, int context) {return 0;} +int WM_operator_props_popup(struct bContext *C, struct wmOperator *op, struct wmEvent *event) {return 0;} +void WM_operator_properties_free(struct PointerRNA *ptr) {} +void WM_operator_properties_create(struct PointerRNA *ptr, const char *opstring) {} +void WM_operator_properties_create_ptr(struct PointerRNA *ptr, struct wmOperatorType *ot) {} +void WM_operator_properties_sanitize(struct PointerRNA *ptr, const short no_context) {}; +void WM_operatortype_append_ptr(void (*opfunc)(struct wmOperatorType*, void*), void *userdata) {} +void WM_operatortype_append_macro_ptr(void (*opfunc)(struct wmOperatorType*, void*), void *userdata) {} +void WM_operator_bl_idname(char *to, const char *from) {} +void WM_operator_py_idname(char *to, const char *from) {} +void WM_operator_ui_popup(struct bContext *C, struct wmOperator *op, int width, int height) {} +short insert_keyframe(struct ID *id, struct bAction *act, const char group[], const char rna_path[], int array_index, float cfra, short flag) {return 0;} +short delete_keyframe(struct ID *id, struct bAction *act, const char group[], const char rna_path[], int array_index, float cfra, short flag) {return 0;}; +char *WM_operator_pystring(struct bContext *C, struct wmOperatorType *ot, struct PointerRNA *opptr, int all_args) {return (char *)NULL;} +struct wmKeyMapItem *WM_modalkeymap_add_item(struct wmKeyMap *km, int type, int val, int modifier, int keymodifier, int value) {return (struct wmKeyMapItem *)NULL;} +struct wmKeyMapItem *WM_modalkeymap_add_item_str(struct wmKeyMap *km, int type, int val, int modifier, int keymodifier, const char *value) {return (struct wmKeyMapItem *)NULL;} +struct wmKeyMap *WM_modalkeymap_add(struct wmKeyConfig *keyconf, char *idname, EnumPropertyItem *items) {return (struct wmKeyMap *) NULL;} /* RNA COLLADA dependency */ -int collada_export(struct Scene *sce, const char *filepath){ return 0; } +int collada_export(struct Scene *sce, const char *filepath) { return 0; } int sculpt_get_brush_size(struct Brush *brush) {return 0;} void sculpt_set_brush_size(struct Brush *brush, int size) {} -int sculpt_get_lock_brush_size(struct Brush *brush){ return 0;} -float sculpt_get_brush_unprojected_radius(struct Brush *brush){return 0.0f;} -void sculpt_set_brush_unprojected_radius(struct Brush *brush, float unprojected_radius){} -float sculpt_get_brush_alpha(struct Brush *brush){return 0.0f;} -void sculpt_set_brush_alpha(struct Brush *brush, float alpha){} -void ED_sculpt_modifiers_changed(struct Object *ob){} -void ED_mesh_calc_tessface(struct Mesh *mesh){} +int sculpt_get_lock_brush_size(struct Brush *brush) { return 0;} +float sculpt_get_brush_unprojected_radius(struct Brush *brush) {return 0.0f;} +void sculpt_set_brush_unprojected_radius(struct Brush *brush, float unprojected_radius) {} +float sculpt_get_brush_alpha(struct Brush *brush) {return 0.0f;} +void sculpt_set_brush_alpha(struct Brush *brush, float alpha) {} +void ED_sculpt_modifiers_changed(struct Object *ob) {} +void ED_mesh_calc_tessface(struct Mesh *mesh) {} /* bpy/python internal api */ void operator_wrapper(struct wmOperatorType *ot, void *userdata) {} @@ -503,9 +495,9 @@ float BPY_driver_exec(struct ChannelDriver *driver, const float evaltime) {retur void BPY_DECREF(void *pyob_ptr) {} void BPY_pyconstraint_exec(struct bPythonConstraint *con, struct bConstraintOb *cob, struct ListBase *targets) {} void macro_wrapper(struct wmOperatorType *ot, void *userdata) {} -int pyrna_id_FromPyObject(struct PyObject *obj, struct ID **id){ return 0; } +int pyrna_id_FromPyObject(struct PyObject *obj, struct ID **id) { return 0; } struct PyObject *pyrna_id_CreatePyObject(struct ID *id) {return NULL; } -void BPY_context_update(struct bContext *C){}; +void BPY_context_update(struct bContext *C) {}; /* Freestyle */ void FRS_add_freestyle_config(struct SceneRenderLayer* srl) {} @@ -517,13 +509,13 @@ void FRS_unlink_target_object(struct FreestyleConfig *config, struct Object *ob) /* intern/dualcon */ struct DualConMesh; struct DualConMesh *dualcon(const struct DualConMesh *input_mesh, - void *create_mesh, - int flags, - int mode, - float threshold, - float hermite_num, - float scale, - int depth) {return 0;} + void *create_mesh, + int flags, + int mode, + float threshold, + float hermite_num, + float scale, + int depth) {return 0;} /* intern/cycles */ struct CCLDeviceInfo; diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index ddb70db88d0..ed069e54785 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -39,7 +39,6 @@ blender_include_dirs( ../blender/gpu ../blender/freestyle ../blender/windowmanager - ../blender/opencl ) if(WIN32) diff --git a/source/creator/creator.c b/source/creator/creator.c index 12f72c07c08..b626b94f984 100644 --- a/source/creator/creator.c +++ b/source/creator/creator.c @@ -31,18 +31,18 @@ #if defined(__linux__) && defined(__GNUC__) -#define _GNU_SOURCE -#include <fenv.h> +# define _GNU_SOURCE +# include <fenv.h> #endif #if (defined(__APPLE__) && (defined(__i386__) || defined(__x86_64__))) -#define OSX_SSE_FPE -#include <xmmintrin.h> +# define OSX_SSE_FPE +# include <xmmintrin.h> #endif #ifdef WIN32 -#include <Windows.h> -#include "utfconv.h" +# include <Windows.h> +# include "utfconv.h" #endif #include <stdlib.h> @@ -107,30 +107,30 @@ #include "FRS_freestyle.h" #ifdef WITH_BUILDINFO_HEADER -#define BUILD_DATE +# define BUILD_DATE #endif /* for passing information between creator and gameengine */ #ifdef WITH_GAMEENGINE -#include "BL_System.h" +# include "BL_System.h" #else /* dummy */ -#define SYS_SystemHandle int +# define SYS_SystemHandle int #endif #include <signal.h> #ifdef __FreeBSD__ -# include <sys/types.h> -# include <floatingpoint.h> -# include <sys/rtprio.h> +# include <sys/types.h> +# include <floatingpoint.h> +# include <sys/rtprio.h> #endif #ifdef WITH_BINRELOC -#include "binreloc.h" +# include "binreloc.h" #endif #ifdef WITH_LIBMV -#include "libmv-capi.h" +# include "libmv-capi.h" #endif /* from buildinfo.c */ @@ -1180,15 +1180,14 @@ static void setupArguments(bContext *C, bArgs *ba, SYS_SystemHandle *syshandle) #ifdef WITH_PYTHON_MODULE /* allow python module to call main */ -#define main main_python_enter +# define main main_python_enter static void *evil_C = NULL; -#ifdef __APPLE__ -/* environ is not available in mac shared libraries */ -#include <crt_externs.h> +# ifdef __APPLE__ + /* environ is not available in mac shared libraries */ +# include <crt_externs.h> char **environ = NULL; -#endif - +# endif #endif @@ -1210,7 +1209,7 @@ int main(int argc, const char **argv) argv[argci] = alloc_utf_8_from_16(argv_16[argci], 0); } LocalFree(argv_16); -#endif +#endif #ifdef WITH_PYTHON_MODULE #ifdef __APPLE__ diff --git a/source/gameengine/Converter/BL_MeshDeformer.cpp b/source/gameengine/Converter/BL_MeshDeformer.cpp index 682ff57be6b..c9371b9df50 100644 --- a/source/gameengine/Converter/BL_MeshDeformer.cpp +++ b/source/gameengine/Converter/BL_MeshDeformer.cpp @@ -54,7 +54,8 @@ bool BL_MeshDeformer::Apply(RAS_IPolyMaterial*) // only apply once per frame if the mesh is actually modified if (m_pMeshObject->MeshModified() && - m_lastDeformUpdate != m_gameobj->GetLastFrame()) { + m_lastDeformUpdate != m_gameobj->GetLastFrame()) + { // For each material for (list<RAS_MeshMaterial>::iterator mit= m_pMeshObject->GetFirstMaterial(); mit != m_pMeshObject->GetLastMaterial(); ++ mit) { diff --git a/source/gameengine/GameLogic/SCA_IController.h b/source/gameengine/GameLogic/SCA_IController.h index 1b15547d898..656c4299dff 100644 --- a/source/gameengine/GameLogic/SCA_IController.h +++ b/source/gameengine/GameLogic/SCA_IController.h @@ -65,8 +65,8 @@ public: void UnlinkAllActuators(); void UnlinkActuator(class SCA_IActuator* actua); void UnlinkSensor(class SCA_ISensor* sensor); - void SetState(unsigned int state) { m_statemask = state; } - void ApplyState(unsigned int state); + void SetState(unsigned int state) { m_statemask = state; } + void ApplyState(unsigned int state); void Deactivate() { // the controller can only be part of a sensor m_newControllers list diff --git a/source/gameengine/GameLogic/SCA_ISensor.cpp b/source/gameengine/GameLogic/SCA_ISensor.cpp index 4728729acb0..76b9a8df00f 100644 --- a/source/gameengine/GameLogic/SCA_ISensor.cpp +++ b/source/gameengine/GameLogic/SCA_ISensor.cpp @@ -101,8 +101,9 @@ bool SCA_ISensor::IsPositiveTrigger() } void SCA_ISensor::SetPulseMode(bool posmode, - bool negmode, - int freq) { + bool negmode, + int freq) +{ m_pos_pulsemode = posmode; m_neg_pulsemode = negmode; m_pulse_frequency = freq; diff --git a/source/gameengine/Ketsji/BL_Action.cpp b/source/gameengine/Ketsji/BL_Action.cpp index c187199c8d0..15be4c46894 100644 --- a/source/gameengine/Ketsji/BL_Action.cpp +++ b/source/gameengine/Ketsji/BL_Action.cpp @@ -127,7 +127,7 @@ bool BL_Action::Play(const char* name, // Only start playing a new action if we're done, or if // the new action has a higher priority - if (priority != 0 && !IsDone() && priority >= m_priority) + if (!IsDone() && priority > m_priority) return false; m_priority = priority; bAction* prev_action = m_action; diff --git a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp index 83b02acf1c3..836005cf25e 100644 --- a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp +++ b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp @@ -1342,13 +1342,13 @@ void KX_KetsjiEngine::PostRenderScene(KX_Scene* scene) { // We need to first make sure our viewport is correct (enabling multiple viewports can mess this up) m_canvas->SetViewPort(0, 0, m_canvas->GetWidth(), m_canvas->GetHeight()); - + + m_rasterizer->FlushDebugShapes(); m_rendertools->MotionBlur(m_rasterizer); scene->Render2DFilters(m_canvas); #ifdef WITH_PYTHON scene->RunDrawingCallbacks(scene->GetPostDrawCB()); #endif - m_rasterizer->FlushDebugShapes(); } void KX_KetsjiEngine::StopEngine() diff --git a/source/gameengine/Network/LoopBackNetwork/NG_LoopBackNetworkDeviceInterface.h b/source/gameengine/Network/LoopBackNetwork/NG_LoopBackNetworkDeviceInterface.h index a356b20ed1a..92ba6100359 100644 --- a/source/gameengine/Network/LoopBackNetwork/NG_LoopBackNetworkDeviceInterface.h +++ b/source/gameengine/Network/LoopBackNetwork/NG_LoopBackNetworkDeviceInterface.h @@ -50,8 +50,10 @@ public: virtual void NextFrame(); bool Connect(char *address, unsigned int port, char *password, - unsigned int localport, unsigned int timeout) { - return true;} + unsigned int localport, unsigned int timeout) + { + return true; + } bool Disconnect(void) {return true;} virtual void SendNetworkMessage(class NG_NetworkMessage* msg); diff --git a/source/gameengine/Rasterizer/RAS_IRasterizer.h b/source/gameengine/Rasterizer/RAS_IRasterizer.h index d6c9ddd9603..828ee01d150 100644 --- a/source/gameengine/Rasterizer/RAS_IRasterizer.h +++ b/source/gameengine/Rasterizer/RAS_IRasterizer.h @@ -99,11 +99,11 @@ public: /** */ - enum { - RAS_RENDER_3DPOLYGON_TEXT = 64, /* GEMAT_TEXT */ - KX_BACKCULL = 16, /* GEMAT_BACKCULL */ - KX_TEX = 4096, /* GEMAT_TEX */ - KX_LINES = 32768 + enum { + RAS_RENDER_3DPOLYGON_TEXT = 64, /* GEMAT_TEXT */ + KX_BACKCULL = 16, /* GEMAT_BACKCULL */ + KX_TEX = 4096, /* GEMAT_TEX */ + KX_LINES = 32768 }; /** diff --git a/source/gameengine/SceneGraph/SG_Spatial.cpp b/source/gameengine/SceneGraph/SG_Spatial.cpp index b5b38fd3ba6..e026419ca67 100644 --- a/source/gameengine/SceneGraph/SG_Spatial.cpp +++ b/source/gameengine/SceneGraph/SG_Spatial.cpp @@ -112,8 +112,8 @@ SG_Spatial:: UpdateSpatialData( const SG_Spatial *parent, double time, - bool& parentUpdated - ) { + bool& parentUpdated) +{ bool bComputesWorldTransform = false; // update spatial controllers diff --git a/source/gameengine/VideoTexture/VideoFFmpeg.cpp b/source/gameengine/VideoTexture/VideoFFmpeg.cpp index 99f2431ac1e..f4d3fb75223 100644 --- a/source/gameengine/VideoTexture/VideoFFmpeg.cpp +++ b/source/gameengine/VideoTexture/VideoFFmpeg.cpp @@ -588,7 +588,8 @@ void VideoFFmpeg::openCam (char * file, short camIdx) AVInputFormat *inputFormat; AVFormatParameters formatParams; AVRational frameRate; - char *p, filename[28], rateStr[20]; + char filename[28], rateStr[20]; + char *p; do_init_ffmpeg(); |