diff --git a/data/convert_mcnp_70.py b/data/convert_mcnp_70.py new file mode 100755 index 000000000..e68bd848e --- /dev/null +++ b/data/convert_mcnp_70.py @@ -0,0 +1,88 @@ +#!/usr/bin/env python + +from __future__ import print_function +from argparse import ArgumentParser +from collections import defaultdict +import glob +import os + +import openmc.data + + +# Get path to MCNP data +parser = ArgumentParser() +parser.add_argument('-d', '--destination', default='mcnp_endfb70', + help='Directory to create new library in') +parser.add_argument('mcnpdata', help='Directory containing endf70[a-k] and endf70sab') +args = parser.parse_args() +assert os.path.isdir(args.mcnpdata) + +# Get a list of all neutron ACE files +endf70 = glob.glob(os.path.join(args.mcnpdata, 'endf70[a-k]')) + +# Create output directory if it doesn't exist +if not os.path.isdir(args.destination): + os.mkdir(args.destination) + +library = openmc.data.DataLibrary() + +for path in sorted(endf70): + print('Loading data from {}...'.format(path)) + lib = openmc.data.ace.Library(path) + + # Group together tables for the same nuclide + tables = defaultdict(list) + for table in lib.tables: + zaid, xs = table.name.split('.') + tables[zaid].append(table) + + for zaid, tables in sorted(tables.items()): + # Convert first temperature for the table + print('Converting: ' + tables[0].name) + data = openmc.data.IncidentNeutron.from_ace(tables[0], 'mcnp') + + # For each higher temperature, add cross sections to the existing table + for table in tables[1:]: + print('Adding: ' + table.name) + data.add_temperature_from_ace(table, 'mcnp') + + # Export HDF5 file + h5_file = os.path.join(args.destination, data.name + '.h5') + print('Writing {}...'.format(h5_file)) + data.export_to_hdf5(h5_file, 'w') + + # Register with library + library.register_file(h5_file) + +# Handle S(a,b) tables +endf70sab = os.path.join(args.mcnpdata, 'endf70sab') +if os.path.exists(endf70sab): + lib = openmc.data.ace.Library(endf70sab) + + # Group together tables for the same nuclide + tables = defaultdict(list) + for table in lib.tables: + name, xs = table.name.split('.') + tables[name].append(table) + + for zaid, tables in sorted(tables.items()): + # Convert first temperature for the table + print('Converting: ' + tables[0].name) + data = openmc.data.ThermalScattering.from_ace(tables[0]) + + # For each higher temperature, add cross sections to the existing table + for table in tables[1:]: + print('Adding: ' + table.name) + data.add_temperature_from_ace(table) + + # Export HDF5 file + h5_file = os.path.join(args.destination, data.name + '.h5') + print('Writing {}...'.format(h5_file)) + data.export_to_hdf5(h5_file, 'w') + + # Register with library + library.register_file(h5_file) + +# Write cross_sections.xml +libpath = os.path.join(args.destination, 'cross_sections.xml') +library.export_to_xml(libpath) diff --git a/data/convert_mcnp_71.py b/data/convert_mcnp_71.py new file mode 100755 index 000000000..7e7fd923f --- /dev/null +++ b/data/convert_mcnp_71.py @@ -0,0 +1,77 @@ +#!/usr/bin/env python + +from __future__ import print_function +from argparse import ArgumentParser +from collections import defaultdict +import glob +import os + +import openmc.data + + +# Get path to MCNP data +parser = ArgumentParser() +parser.add_argument('-d', '--destination', default='mcnp_endfb71', + help='Directory to create new library in') +parser.add_argument('-f', '--fission_energy_release', + help='HDF5 file containing fission energy release data') +parser.add_argument('mcnpdata', help='Directory containing endf71x and ENDF71SaB') +args = parser.parse_args() +assert os.path.isdir(args.mcnpdata) + +# Get a list of all ACE files +endf71x = glob.glob(os.path.join(args.mcnpdata, 'endf71x', '*', '*.71?nc')) +endf71sab = glob.glob(os.path.join(args.mcnpdata, 'ENDF71SaB' , '*.2?t')) + +# There's a bug in H-Zr at 1200 K +endf71sab.remove(os.path.join(args.mcnpdata, 'ENDF71SaB' , 'h-zr.27t')) + +# Group together tables for the same nuclide +suffixes = defaultdict(list) +for filename in sorted(endf71x + endf71sab): + dirname, basename = os.path.split(filename) + zaid, xs = basename.split('.') + suffixes[os.path.join(dirname, zaid)].append(xs) + +# Create output directory if it doesn't exist +if not os.path.isdir(args.destination): + os.mkdir(args.destination) + +library = openmc.data.DataLibrary() + +for basename, xs_list in sorted(suffixes.items()): + # Convert first temperature for the table + filename = '.'.join((basename, xs_list[0])) + print('Converting: ' + filename) + if filename.endswith('t'): + data = openmc.data.ThermalScattering.from_ace(filename) + else: + data = openmc.data.IncidentNeutron.from_ace(filename, 'mcnp') + + # Add fission energy release data, if available + if args.fission_energy_release is not None: + fer = openmc.data.FissionEnergyRelease.from_compact_hdf5( + args.fission_energy_release, data) + if fer is not None: + data.fission_energy = fer + + # For each higher temperature, add cross sections to the existing table + for xs in xs_list[1:]: + filename = '.'.join((basename, xs)) + print('Adding: ' + filename) + if filename.endswith('t'): + data.add_temperature_from_ace(filename) + else: + data.add_temperature_from_ace(filename, 'mcnp') + + # Export HDF5 file + h5_file = os.path.join(args.destination, data.name + '.h5') + print('Writing {}...'.format(h5_file)) + data.export_to_hdf5(h5_file, 'w') + + # Register with library + library.register_file(h5_file) + +# Write cross_sections.xml +libpath = os.path.join(args.destination, 'cross_sections.xml') +library.export_to_xml(libpath) diff --git a/data/get_jeff_data.py b/data/get_jeff_data.py index fa9394850..d0e5839b9 100755 --- a/data/get_jeff_data.py +++ b/data/get_jeff_data.py @@ -2,14 +2,13 @@ from __future__ import print_function import os -import shutil -import subprocess +from collections import defaultdict import sys import tarfile import zipfile import glob -import hashlib import argparse +from string import digits import openmc.data @@ -26,23 +25,18 @@ else: download_warning = """ WARNING: This script will download approximately 9 GB of data. Extracting and -processing the data may require as much as 30 GB of additional free disk +processing the data may require as much as 40 GB of additional free disk space. Note that if you don't need all 11 temperatures, you can modify the 'files' list in the script to download only the data you want. Are you sure you want to continue? ([y]/n) """ -thermal_suffix = {20: '01t', 100: '02t', 293: '03t', 296: '03t', 323: '04t', - 350: '05t', 373: '06t', 400: '07t', 423: '08t', 473: '09t', - 500: '10t', 523: '11t', 573: '12t', 600: '13t', 623: '14t', - 643: '15t', 647: '15t', 700: '16t', 773: '17t', 800: '18t', - 1000: '19t', 1200: '20t', 1600: '21t', 2000: '22t', - 3000: '23t'} - parser = argparse.ArgumentParser() parser.add_argument('-b', '--batch', action='store_true', help='supresses standard in') +parser.add_argument('-d', '--destination', default='jeff-3.2-hdf5', + help='Directory to create new library in') args = parser.parse_args() response = askuser(download_warning) if not args.batch else 'y' @@ -130,21 +124,6 @@ for f in files: for path in glob.glob(os.path.join('jeff-3.2', 'ACEs_293K', '*-293.ACE')): os.remove(path) -# ============================================================================== -# FIX ERRORS - -# A few nuclides at 400K has 03c instead of 04c -print('Assigning new cross section identifiers...') -wrong_nuclides = ['Mn55', 'Mo95', 'Nb93', 'Pd105', 'Pu239', 'Pu240', 'U235', - 'U238', 'Y89'] -for nuc in wrong_nuclides: - path = os.path.join('jeff-3.2', 'ACEs_400K', nuc + '.ACE') - print(' Fixing {} (03c --> 04c)...'.format(path)) - if os.path.isfile(path): - text = open(path, 'r').read() - text = text[:7] + '04c' + text[10:] - open(path, 'w').write(text) - # ============================================================================== # CHANGE ZAID FOR METASTABLES @@ -158,50 +137,90 @@ for path in metastables: open(path, 'w').write(text) # ============================================================================== -# CHANGE IDENTIFIER FOR S(A,B) TABLES +# GENERATE HDF5 LIBRARY -- NEUTRON FILES -thermals = glob.glob(os.path.join('jeff-3.2', 'ANNEX_6_3_STLs', '**', '*.ace')) -for path in thermals: - print(' Fixing {} (unique suffix)...'.format(path)) - basename = os.path.basename(path) - temperature = int(basename.split('-')[1][:-4]) - text = open(path, 'r').read() - text = text[:7] + thermal_suffix[temperature] + text[10:] - open(path, 'w').write(text) +# Get a list of all ACE files +neutron_files = glob.glob(os.path.join('jeff-3.2', '*', '*.ACE')) + +# Group together tables for same nuclide +tables = defaultdict(list) +for filename in sorted(neutron_files): + dirname, basename = os.path.split(filename) + name = basename.split('.')[0] + tables[name].append(filename) + +# Sort temperatures from lowest to highest +for name, filenames in sorted(tables.items()): + filenames.sort(key=lambda x: int( + x.split(os.path.sep)[1].split('_')[1][:-1])) + +# Create output directory if it doesn't exist +if not os.path.isdir(args.destination): + os.mkdir(args.destination) + +library = openmc.data.DataLibrary() + +for name, filenames in sorted(tables.items()): + # Convert first temperature for the table + print('Converting: ' + filenames[0]) + data = openmc.data.IncidentNeutron.from_ace(filenames[0]) + + # For each higher temperature, add cross sections to the existing table + for filename in filenames[1:]: + print('Adding: ' + filename) + data.add_temperature_from_ace(filename) + + # Export HDF5 file + h5_file = os.path.join(args.destination, data.name + '.h5') + print('Writing {}...'.format(h5_file)) + data.export_to_hdf5(h5_file, 'w') + + # Register with library + library.register_file(h5_file) # ============================================================================== -# CONVERT TO BINARY TO SAVE DISK SPACE +# GENERATE HDF5 LIBRARY -- S(A,B) FILES -# get a list of all ACE files -ace_files = (glob.glob(os.path.join('jeff-3.2', '**', '*.ACE')) + - glob.glob(os.path.join('jeff-3.2', 'ANNEX_6_3_STLs', '**', '*.ace'))) +sab_files = glob.glob(os.path.join('jeff-3.2', 'ANNEX_6_3_STLs', '*', '*.ace')) -# Ask user to convert -if not args.batch: - response = askuser('Convert ACE files to binary? ([y]/n) ') -else: - response = 'y' +# Group together tables for same nuclide +tables = defaultdict(list) +for filename in sorted(sab_files): + dirname, basename = os.path.split(filename) + name = basename.split('-')[0] + tables[name].append(filename) -# Convert files if requested -if not response or response.lower().startswith('y'): - for f in ace_files: - print(' Converting {}...'.format(f)) - openmc.data.ace.ascii_to_binary(f, f) +# Sort temperatures from lowest to highest +for name, filenames in sorted(tables.items()): + filenames.sort(key=lambda x: int( + os.path.split(x)[1].split('-')[1].split('.')[0])) -# ============================================================================== -# PROMPT USER TO GENERATE HDF5 LIBRARY +for name, filenames in sorted(tables.items()): + # Convert first temperature for the table + print('Converting: ' + filenames[0]) -# Ask user to convert -if not args.batch: - response = askuser('Generate HDF5 library? ([y]/n) ') -else: - response = 'y' + # Take numbers out of table name, e.g. lw10.32t -> lw.32t + table = openmc.data.ace.get_table(filenames[0]) + name, xs = table.name.split('.') + table.name = '.'.join((name.strip(digits), xs)) + data = openmc.data.ThermalScattering.from_ace(table) -# Convert files if requested -if not response or response.lower().startswith('y'): - # Ensure 'import openmc.data' works in the openmc-ace-to-xml script - env = os.environ.copy() - env['PYTHONPATH'] = os.path.join(os.getcwd(), os.pardir) + # For each higher temperature, add cross sections to the existing table + for filename in filenames[1:]: + print('Adding: ' + filename) + table = openmc.data.ace.get_table(filename) + name, xs = table.name.split('.') + table.name = '.'.join((name.strip(digits), xs)) + data.add_temperature_from_ace(table) - subprocess.call(['../scripts/openmc-ace-to-hdf5', '-d', 'jeff-3.2-hdf5'] - + sorted(ace_files), env=env) + # Export HDF5 file + h5_file = os.path.join(args.destination, data.name + '.h5') + print('Writing {}...'.format(h5_file)) + data.export_to_hdf5(h5_file, 'w') + + # Register with library + library.register_file(h5_file) + +# Write cross_sections.xml +libpath = os.path.join(args.destination, 'cross_sections.xml') +library.export_to_xml(libpath) diff --git a/docs/source/io_formats/summary.rst b/docs/source/io_formats/summary.rst index 8af4f2398..435cb45c8 100644 --- a/docs/source/io_formats/summary.rst +++ b/docs/source/io_formats/summary.rst @@ -4,7 +4,7 @@ Summary File Format =================== -The current revision of the summary file format is 1. +The current revision of the summary file format is 4. **/filetype** (*char[]*) @@ -129,7 +129,16 @@ The current revision of the summary file format is 1. **/geometry/cells/cell /distribcell_index** (*int*) - Index of this cell in distribcell filter arrays. + Index of this cell in distribcell arrays. Only present if this cell is + listed in a distribcell filter or if it uses distributed materials. + +**/geometry/cells/cell /paths** (*char[][]*) + + The paths traversed through the CSG tree to reach each distribcell + instance. This consists of the integer IDs for each universe, cell and + lattice delimited by '->'. Each lattice cell is specified by its (x,y) or + (x,y,z) indices. Only present if this cell is listed in a distribcell filter + or if it uses distributed materials. **/geometry/surfaces/surface /index** (*int*) @@ -244,90 +253,6 @@ The current revision of the summary file format is 1. Names of S(:math:`\alpha`,:math:`\beta`) tables assigned to the material. -**/tallies/n_tallies** (*int*) - - Number of tallies in the problem. - -**/tallies/n_meshes** (*int*) - - Number of meshes in the problem. - -**/tallies/mesh /index** (*int*) - - Index in the meshes array used internally in OpenMC. - -**/tallies/mesh /type** (*char[]*) - - Type of the mesh. The only valid option is currently 'regular'. - -**/tallies/mesh /dimension** (*int[]*) - - Number of mesh cells in each direction. - -**/tallies/mesh /lower_left** (*double[]*) - - Coordinates of the lower-left corner of the mesh. - -**/tallies/mesh /upper_right** (*double[]*) - - Coordinates of the upper-right corner of the mesh. - -**/tallies/mesh /width** (*double[]*) - - Width of a single mesh cell in each direction. - -**/tallies/tally /index** (*int*) - - Index in tallies array used internally in OpenMC. - **/tallies/tally /name** (*char[]*) Name of the tally. - -**/tallies/tally /n_filters** (*int*) - - Number of filters applied to the tally. - -**/tallies/tally /filter /type** (*char[]*) - - Type of the j-th filter. Can be 'universe', 'material', 'cell', 'cellborn', - 'surface', 'mesh', 'energy', 'energyout', or 'distribcell'. - -**/tallies/tally /filter /offset** (*int*) - - Filter offset (used for distribcell filter). - -**/tallies/tally /filter /paths** (*char[][]*) - - The paths traversed through the CSG tree to reach each distribcell - instance (for 'distribcell' filters only). This consists of the integer - IDs for each universe, cell and lattice delimited by '->'. Each lattice - cell is specified by its (x,y) or (x,y,z) indices. - -**/tallies/tally /filter /n_bins** (*int*) - - Number of bins for the j-th filter. - -**/tallies/tally /filter /bins** (*int[]* or *double[]*) - - Value for each filter bin of this type. - -**/tallies/tally /nuclides** (*char[][]*) - - Array of nuclides to tally. Note that if no nuclide is specified in the user - input, a single 'total' nuclide appears here. - -**/tallies/tally /n_score_bins** (*int*) - - Number of scoring bins for a single nuclide. In general, this can be greater - than the number of user-specified scores since each score might have - multiple scoring bins, e.g., scatter-PN. - -**/tallies/tally /moment_orders** (*char[][]*) - - Tallying moment orders for Legendre and spherical harmonic tally expansions - (*e.g.*, 'P2', 'Y1,2', etc.). - -**/tallies/tally /score_bins** (*char[][]*) - - Scoring bins for the tally. diff --git a/docs/source/pythonapi/examples/nuclear-data.ipynb b/docs/source/pythonapi/examples/nuclear-data.ipynb index 82be4a113..e3691d11c 100644 --- a/docs/source/pythonapi/examples/nuclear-data.ipynb +++ b/docs/source/pythonapi/examples/nuclear-data.ipynb @@ -52,7 +52,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -62,7 +62,7 @@ ], "source": [ "# Get filename for Gd-157\n", - "filename ='/home/smharper/nuclear-data/nndc-hdf5/Gd157_71c.h5'\n", + "filename ='/home/romano/openmc/data/nndc_hdf5/Gd157.h5'\n", "\n", "# Load HDF5 data into object\n", "gd157 = openmc.data.IncidentNeutron.from_hdf5(filename)\n", @@ -110,7 +110,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "To find the cross section at a particular energy, 1 eV for example, simply call the reaction's `xs` attribute at that energy. Note that our nuclear data uses MeV as the unit of energy." + "Cross sections for each reaction can be stored at multiple temperatures. To see what temperatures are available, we can look at the reaction's `xs` attribute." ] }, { @@ -123,7 +123,7 @@ { "data": { "text/plain": [ - "142.6474702147809" + "{'294K': }" ] }, "execution_count": 4, @@ -132,14 +132,14 @@ } ], "source": [ - "total.xs(1e-6)" + "total.xs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "The `xs` attribute can also be called on an array of energies." + "To find the cross section at a particular energy, 1 eV for example, simply get the cross section at the appropriate temperature and then call it as a function. Note that our nuclear data uses MeV as the unit of energy." ] }, { @@ -152,7 +152,7 @@ { "data": { "text/plain": [ - "array([ 142.64747021, 38.65417611, 175.40019668])" + "142.6474702147809" ] }, "execution_count": 5, @@ -161,14 +161,14 @@ } ], "source": [ - "total.xs([1e-6, 2e-6, 3e-6])" + "total.xs['294K'](1e-6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "A quick way to plot cross sections is to use the `energy` attribute of `IncidentNeutron`. This gives an array of all the energy values used in cross section interpolation." + "The `xs` attribute can also be called on an array of energies." ] }, { @@ -181,8 +181,7 @@ { "data": { "text/plain": [ - "array([ 1.00000000e-11, 1.03250000e-11, 1.06500000e-11, ...,\n", - " 1.95000000e+01, 1.99000000e+01, 2.00000000e+01])" + "array([ 142.64747021, 38.65417611, 175.40019668])" ] }, "execution_count": 6, @@ -191,7 +190,14 @@ } ], "source": [ - "gd157.energy" + "total.xs['294K']([1e-6, 2e-6, 3e-6])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A quick way to plot cross sections is to use the `energy` attribute of `IncidentNeutron`. This gives an array of all the energy values used in cross section interpolation for each temperature present." ] }, { @@ -204,18 +210,41 @@ { "data": { "text/plain": [ - "" + "{'294K': array([ 1.00000000e-11, 1.03250000e-11, 1.06500000e-11, ...,\n", + " 1.95000000e+01, 1.99000000e+01, 2.00000000e+01])}" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" + } + ], + "source": [ + "gd157.energy" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEWCAYAAAB1xKBvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmYFNXV+PHvGXaIirixI8o2qKCoCAFlNBhEwiJgBAwa\n3NBETN68KuQnGlzeqNEYoyhoopAYRhSBoCKIRoGAAREXlGFzY1EDLqCyyHp+f9xup6eZpbq7qquX\n83mefqa7qqvOrVn6zK27iapijDHGVKUg7AIYY4zJDpYwjDHGeGIJwxhjjCeWMIwxxnhiCcMYY4wn\nljCMMcZ4YgnDGGOMJ5YwjDHGeFI97ALEE5HuwMW4shWqaveQi2SMMQaQTB3pLSL9gaNV9S9hl8UY\nY0wabkmJyGMisllEVsRtP09EVovIWhEZXc6hw4DioMtnjDHGm3S0YUwCesVuEJECYHxk+wnAUBFp\nF7O/GbBNVXekoXzGGGM8CDxhqOoiYGvc5s7AOlVdr6p7galA/5j9l+MSjTHGmAwRVqN3E2BjzOtN\nuCQCgKqOq+xgEcnMhhdjjMlwqirJHpu13WrbtFH691fWr1dUg3m0a9cusHNbnMyPYXEyN4bFSe6R\nqrASxidA85jXTSPbPFuxAk49FTp1gnvugb17fS0fAEcddZT/J7U4WRPD4mRuDIsTjnQlDIk8opYB\nrUSkhYjUBIYAzyZywjvvHMeZZ85nyRJ4+WWXOBYv9rHE5N4vSi7FyaVrybU4uXQtuRJn/vz5jBs3\nLuXzpKNbbTHwGtBGRDaIyAhV3Q+MAuYBK4GpqroqkfOOGzeOoqIiWrWCuXNh7Fj46U/hyivhyy/9\nKXthYaE/J7I4WRnD4mRuDIuTmKKiouxIGKo6TFUbq2otVW2uqpMi2+eoaltVba2qd6USQwQuughK\nSqBOHTjhBJg8GVK9Zde+ffvUTmBxsjqGxcncGBYnHFnb6F2eww6DBx6A2bPhoYegqMglEWOMManL\n2oQxbtw45s+fX+6+U0+FJUvcLaoePeC3v4WdO9NbPmOMyRRZ04YRlGgbRkWqVYNf/tL1pvr4Y3eb\navbstBXPGGMyRta0YYStUSN48kl49FH49a9h4EDYuLHq44wxxpSV8wkj6txz4d13oUMHOOUUuO8+\n2Lcv7FIZY0z2yJuEAVC7NowbB6+9BnPmwGmnwX/+E3apjDEmO+RVwohq0wbmzYPRo2HQIBg5Er76\nKuxSGWNMZsvahFFZLykvRGDoUNfttkYN1yj+97+nPnbDGGMyjfWSqqKXlFf168P48fDss/DnP8M5\n58CqhMacG2NMZrNeUj47/XR4/XXXi+qss9xUI3v2VAu7WMYYkzEsYcSoVg1GjYJ33oF16+DGG/vw\nwgthl8oYYzKDJYxyNG4MTz0Fl122jOuugwsvhE8SmnzdGGNyjyWMSnTo8BnvvguFhdCxI9x/v43d\nMMbkL0sYVahTB267za218dxzrq1j6dKwS2WMMelnCcOjtm3dQk3XXw8DBsA118DWrWGXyhhj0scS\nRgJE4OKLS6dMb98epkyxsRvGmPxgCSMJhx8OEybAP/8J994LPXvCmjVhl8oYY4KVtQkj1ZHefjjj\nDFi2DPr2hW7d4JZbYNeuUItkjDEHsZHePo30TlX16m7a9HfecSPETzoJXnwx7FIZY0wpG+mdYZo0\ngWnT3BKx11zj1hj/9NOwS2WMMf7JuIQhzh0i8oCIDA+7PIk6/3x47z1o3dqN3XjgAdi/P+xSGWNM\n6jIuYQD9gabAHmBTyGVJSt26cMcdsHAhzJgBnTu7tg5jjMlmgScMEXlMRDaLyIq47eeJyGoRWSsi\no2N2tQUWq+r1wC+CLl+QCgvh1VddG0ffvm6N8W3bwi6VMcYkJx01jElAr9gNIlIAjI9sPwEYKiLt\nIrs3AdEhcVl/M0cEhg93Yzf27XNJZPJkOHAg7JIZY0xiAk8YqrqI0gQQ1RlYp6rrVXUvMBV3Kwpg\nBnCeiPwZWBB0+dKlQQN45BG37saECdC9O7z5ZtilMsYY76qHFLcJsDHm9SZcEkFVdwFXhFGodDj9\ndLeO+OOPQ+/ebonYk0+uGXaxjDGmSmEljJQNGjTo++eFhYW0b9/e9xiLFy/2/ZxRdevC7bfXZNq0\nDkye/GNef30pRUUfUBBgnS/I60l3nFy6llyLk0vXku1xSkpKWOXjEqJhJYxPgOYxr5tGtnk2ffp0\nXwtUkWHDhgV6/quugt//fg7PP9+bFSvO4KGHXC0kKEFfTzrj5NK15FqcXLqWXIojIikdn65utRJ5\nRC0DWolICxGpCQwBnk1TWTLOscduZdEi14uqXz+XRL74IuxSGWNMWenoVlsMvAa0EZENIjJCVfcD\no4B5wEpgqqomVG/KhLmk/FRQAJde6qYXqVvXzYQ7YYIN+jPGpC5r5pJS1WGq2lhVa6lqc1WdFNk+\nR1XbqmprVb0r0fNmylxSfqtf363s9/LL8OST7vbUwoVhl8oYk81sLqkc16EDLFgAN94Il1zielN9\n8EHYpTLG5DNLGBlMBIYMcbepTjvNTad+ww3w9ddhl8wYk4+yNmHkWhtGZerUgd/+1k1quG2bWy52\nwgQ3ctwYY6qSNW0YQcnVNozKNGwIf/mLW2/jmWfcbLhz59oSscaYylkbRh7r2NE1it91l5vY8Jxz\n3OhxY4wJkiWMLCXiZsB97z3XKD5kiBvDsWJF1ccaY0wyLGFkuerVYcQIWLsWevaEXr1g2DBYty7s\nkhljco0ljBxRqxZcd51LFCecAF27lg4ENMYYP2RtwsinXlKJ+MEP4Kab4P33oU0bKCpyYziWLw+7\nZMaYsFgvqTzsJZWI+vVd4vjwQzjrLBgwAO6+u4j5861XlTH5xnpJGU/q1YNf/crVODp33sjIkdCl\nC0yfbvNUGWMSYwkjT9SqBWef/QElJTBmDNxzj1su9tFH4bvvwi6dMSYbWMLIM9WqwQUXuHEbf/2r\nWzK2ZUv4/e9ha/xCusYYE8MSRp4ScW0bzz8PL73kuuUefzz87//Cxo1VH2+MyT+WMAwnngiTJ8M7\n77jXHTu6Lrk2lsMYE8sShvles2bwxz+6adTbtHFjOf70J2scN8Y4ljDMQQ4/3HXJXboUZs6EPn1s\nSnVjTBYnDBu4F7zjj4dXXoHWraFbN9iyJewSGWOSYQP3bOBeWlSvDg8+6EaL9+xpPamMyUY2cM+k\n1bhx0KOHm9jQ2jSMyU+WMIwnInDffbBrF9x+e9ilMcaEIeMShoj0EJGFIjJBRM4KuzymVI0aUFwM\nDz8Mb78ddmmMMemWcQkDUOBboBawKeSymDiNG7uV/i6/3G5NGZNvAk8YIvKYiGwWkRVx288TkdUi\nslZERke3q+pCVe0DjAFuC7p8JnEjRkCdOvDEE2GXxBiTTumoYUwCesVuEJECYHxk+wnAUBFpF3fc\nNqBmGspnEiTiJi+8+WbXpmGMyQ+BJwxVXQTEd8bsDKxT1fWquheYCvQHEJELRGQi8DdcUjEZqGtX\n6NwZJkwIuyTGmHSpHlLcJkDsFHebcEkEVZ0JzAyjUCYxN90E/fvDtddCTasLGpPzwkoYKRs0aND3\nzwsLC2nfvr3vMRYvXuz7OXMtTv36ZzNq1Mf06PFRoHHiZfP3LNfj5NK1ZHuckpISVq1a5dv5wkoY\nnwDNY143jWzzbPr06b4WqCLDhg2zOJU45hi47rpGTJzYFZHg4pQnW79n+RAnl64ll+JI7B9pEtLV\nrVYij6hlQCsRaSEiNYEhwLNpKovx0TnnuEbwBQvCLokxJmjp6FZbDLwGtBGRDSIyQlX3A6OAecBK\nYKqqJlRvsskHM4MIXH01TJwYdkmMMRXxa/LBwG9JqWq5dSxVnQPMSfa8fly88cfPfua62G7ZAkcf\nHXZpjDHxioqKKCoq4tZbb03pPJk40ttkmfr1YeBAmDQp7JIYY4JkCcP44vLL3TKvqmGXxBgTlKxN\nGNaGkVm6doU9e+Ctt8IuiTEmXtoWUBKRriLykIisEJHPIw3XL4jIL0XksJRLkCRbQCmziLi2jH/8\nI+ySGGPipWUBJRGZA1wBvAicBzQC2gNjgdrALBHpl3IpTE64+GJ48knYvz+1vt7GmMxUVS+p4ar6\nRdy27cCbkccfReTIQEpmsk6bNtC8OaxceUzYRTHGBKDShBGbLESkIW6+JwWWqep/499jzMUXw7Rp\nLcMuhjEmAJ4avUXkCuB1YCAwGFgiIpcFWTCTnQYPhjffbMLu3WGXxBjjN6+9pG4ATlHVn6vqpcCp\nwOgqjgmU9ZLKTI0bQ7Nm23j55bBLYoyJSlsvqYgvccumRn0b2RYa6yWVuTp33sAzz4RdCmNMlF+9\npCptwxCR30Sevg8sFZFZuDaM/sCKCg80ee300zcybtxp7Nlj62QYk0uqqmEcEnl8APwTlywAZgEf\nVXSQyW9HHLGLtm3hlVfCLokxxk9V9ZJKbaYqk7cGD4ZnnoHzzgu7JMYYv1Q1cO8vInJiBfvqichl\nInJxMEUz2WzQIPjnP2Hv3rBLYozxS1UD9x4CbhGRk4D3gM9xI7xbA4cCjwNTAi2hyUotWsBxx8H8\n+XDuuWGXxhjjh6puSb0N/FREfgCchpsaZBewSlXXpKF8JosNHOhqGZYwjMkNnhZQUtXtwPxgi2Jy\nzYAB0LMnjB8PKS4lbIzJADa9uQlMu3ZQrx4sXx52SYzJb+keuJdxbOBedujfH2bNCrsUxuS3tExv\nbkyqLGEYkzs8tWGISBvcfFItYo9R1XMCKpfJEV26wObN8OGHrteUMSZ7ea1hTMOtfzEWlziij0CI\nSF0RWSYi5wcVw6RHtWrQt6/VMozJBV4Txj5VnaCqr6vq8ugjwHKNBp4K8Pwmjey2lDG5wWvCeE5E\nfiEijUSkQfTh5UAReUxENovIirjt54nIahFZKyKjY7b3BEpwgwStM2YO6NkT3noLvrCltozJal4T\nxqW4W1CvAcsjjzc8HjsJ6BW7QUQKgPGR7ScAQ0WkXWR3EXAGMAy3nrjJcnXqwI9+BLNnh10SY0wq\nvA7cS3rNTVVdJCIt4jZ3Btap6noAEZmKmzJ9taqOjWy7BLD/SXNE9LbUpZeGXRJjTLK89pKqAVwD\nnBXZNB94RFWTnVquCbAx5vUmXBL5nqr+PclzmwzUpw9cdx3s2uVqHMaY7OMpYQATgBrAw5HXwyPb\nQrtlNGjQoO+fFxYW0r59e99jLF682Pdz5nOcJk1+xM03r6ZTp08Ci+E3i5OZMSyONyUlJaxatcq3\n83lNGKeraseY16+IyDspxP0EaB7zumlkm2fTp09PIbx3w4YNszg+xdm8GVauPAa/ipAP37NsjZNL\n15JLcSTFSd28NnrvF5HjY4IeB+xPII5QtsfTMqCViLQQkZrAEODZBM5nslD//vDcc7A/kd8cY0zG\n8JowbgBeFZH5IrIAeAX4Xy8HikgxrndVGxHZICIjVHU/MAqYB6wEpqpqQvUmm3ww+xx3HBx9NCxZ\nEnZJjMkvfk0+6LWX1L9EpDXQNrJpjaru9nhsuXUsVZ0DzPFUynL4cfEm/QYMcL2lunULuyTJe+cd\nOP54+MEPwi6JMd4UFRVRVFTErbemtup2VUu0nhP5OhDoA7SKPPpEthmTkFwY9X3yyTB2bNilMCb9\nqqph9MDdfupbzj4FZvheIpPTTj0VduyA1avdehnZateusEtgTPpVtUTr7yJPb1PVj2L3iUjSg/n8\nEF0Pw9bEyC4i0K+fq2Vkc8KwhnuTTebPn+9Lm6/XRu/y+rA+k3L0FNgCStmrf3+31nc2O3Ag7BIY\n451fCyhVWsOIzO90AnBYXJvFoUDtlKObvHT22TBkCPz3v9CwYdilSY5q2CUwJv2qqmG0BX4C1Me1\nY0QfnYArgy2ayVU1a0KvXm5MRrZShenT4Z57wi6JMelTVRvGLGCWiHRV1f+kqUwmD/TvD1OmwJVZ\n/G/HmDHw/vtwQ2BLiRmTWby2YVwtIvWjL0TkcBF5PKAymTzQuzcsXAjbt4ddkuSlOMvCQTZvdj3I\njMlUXhNGB1XdFn2hqluBU4Ipkjc20ju71a/v1vt+8cWwS5IcVf8TRsOGMHy4v+c0Bvwb6e01YRSI\nyOHRF5HV9rxOXBgI6yWV/bJ9EJ/fCQPgs8/8P6cxaeklFeOPwH9EZFrk9YXA/6Uc3eS1fv3gd7+D\nffugeqj/fiQuiBqGMZnOUw0jspjRQGBz5DFQVZ8IsmAm9zVrBi1awKJFYZckOV4TxksvwbffBlsW\nY9LB6y0pgAbADlUdD3we9khvkxuy+baU14Tx4x/D/fcHWxZj0sFTwhCR3wGjgd9GNtUA/hFUoUz+\nGDDAjfrOtoFwyZR38GB4+23/y2JMunitYVwA9AN2AKjqp8AhQRXK5I+TTnJf33033HIkI5E2jOhA\nv2ytTRkD3hPGHlVV3Ay1iEi94Ipk8olI9t6WskZvk2+8JoynReQRoL6IXAm8DPwluGKZfJKNCSPb\nbqEZ4wevK+7dKyLnAt/g5pe6RVVfCrRkVbDpzXPHmWfCRx/Bxo2u51S2sBqGyRZpnd48cgvqFVW9\nAVezqCMiNVKOngIbuJc7qleHPn3g2WfDLol3VsMw2cSvgXteb0ktBGqJSBNgLjAcmJxydGMigrwt\nNWUKvP66v+f0e+De2rVH+ncyYwLiNWGIqu7EDd6boKoX4tbJMMYXvXrBkiXw9df+n/tnP4Nrr/X/\nvIn2kqrMrbf++PvnZ54JM2eW7nv/ffjwQ7d9374EC2mMjzwnDBHpClwMzI5sqxZEgUSknYhMEJGn\nReTqIGKYzPODH7gPxDlzgjl/Ji+p+t13pc9V3cj32NtzrVvDySe77baWuAmT14TxK9ygvZmqulJE\njgNeDaJAqrpaVa8BLgJ+GEQMk5kGDAjutpTfCSPRNoxobaS842Jn7I2OR4l/3+7dicUzJghe55Ja\nqKr9VPXuyOsPVfU6L8eKyGMisllEVsRtP09EVovIWhEZHbevL/A88IK3yzC5oG9fmDsX9uzx/9xh\nrcFdWaKI2rix9PnOncGWx5hUJDKXVLImAb1iN4hIATA+sv0EYGhk/XAAVPU5Ve0D/CwN5TMZomFD\naNcOgljmJIheTck0epd3zKhR/pzbmKAFnjBUdRGwNW5zZ2Cdqq5X1b3AVKA/gIj0EJE/i8hESttL\nTJ7IlkF8yfaS8pq4Knqfdec1YQprFYImQExFnE24JIKqLgAWhFEoE74BA+Dcc2H8eH//y7YPWmNS\n5ylhiMgfgDuAXbhxGB2A/1HV0GasHTRo0PfPCwsLad++ve8xFi9e7Ps5LU7V9u//Cb///WJatoyv\nmCYbYxhff72N4uLEm8TKjzOMDRs+ZuvWQ4EGFBcXVxobYMWKFUAH3n13BcXF75X7nlgffvghxcVL\nvt9/4MB+oBrTpj1NnTrJ961Nx+9Atvye5UOckpISVq1a5d8JVbXKB/B25OsFwGPAYcA7Xo6NHNcC\nWBHzugswN+b1GGB0AufTdJgyZYrFCSHODTeojh3rXwxQbd8+ubKUFwdUhwxR7dTJPa8qNqiOG1f6\ntaL3xD4uvbTs/lq13Nevv07uOiq7Hr9ly+9ZPsaJfHZ6+pwt7+G1DSNaE+kDTFPVRIdXSeQRtQxo\nJSItRKQmMATIookhTJCia2RkskRvlyV7S2z79uSOMyYIXhPG8yKyGjgV+JeIHAV8V8UxAIhIMfAa\n0EZENojICFXdD4wC5gErgamqmlC9ady4cb5MpmUyT5cu8MUXsG5d2CWpWLLtKy+/7AbheTV2bHJx\njIk1f/58X+aS8jpb7ZhIO8bXqrpfRHYQ6dXk4diDb9C67XOApMf1+nHxJjMVFMAFF7gFh8aM8eec\nfjd6iySWNKLvja5fvmcP1KpVdblsZLfxQ3Rm71tvvTWl83idrfZCYG8kWYzFLc/aOKXIxlRi0CCX\nMPwSdsKwkdsmF3i9JXWzqn4rIt2BnriG7wnBFcvkux494OOPYf16f84XRMKIPffcuf6e35hM5DVh\nRGfi6QM8qqqzgZrBFMkba8PIbdWrQ79+ZWdtzSSxNYyNG6F378rfH5+wosd++WXF77/jDoj2iLSR\n3yYVfrVheE0Yn0SWaL0IeEFEaiVwbCBsAaXcN3Cgv7elwhSfMKKvj6xkGYybb4Z//zu4Mpn8ke4F\nlH4KvAj0UtVtQAPghpSjG1OJnj3hvffgv/9N/hzRWWr9nq020TaMRP3978Gd25hkeZ2tdifwAdBL\nRK4FjlbVeYGWzOS9WrXg/PNTuy21d6/7GsQMuFFeEofXNpRatVIrizFB8tpL6lfAFODoyOMfIlLO\nHJvG+GvQIJgxI/njo4nC715JQdUwrK3CZDKvt6QuB85Q1VtU9Rbc1B5XBlcsY5xevdx63BU1Dlcl\nmjD8rmGE9cG+erWLbeMzTBg8L9FKaU8pIs9D/V/Ieknlh3r1XFvGs0lOHLN3r1v+NciEkcwtqYpu\nUVV1rjfecF9vsBZEk4B095KaBCwVkXEiMg5YghuLERrrJZU/UhnEt3u3Sxhh35LyK2FEPfSQ99jG\npLWXlKreB4wAvoo8Rqjq/SlHN8aDn/wEFi6Eb75J/Nhowti3z59lWqPniP3AT8ftKVvPw2SCKueS\nEpFqwEpVbQe8GXyRjCnr0EPhzDNh9mwYOjSxY6NzNtWs6Z7Xrp1aWWITRhA1DGMyWZU1jMjMsmtE\npHkaymNMuZK9LbV7d9mEkaroeI4DB0o/9K1nk8kXXpdoPRxYKSKvAzuiG1W1XyClMiZO//7wP/8D\nO3dC3brej4smjFq1/EkY0RpG7O2taOJIpNaR7JrdVjMxYfKaMG4OtBTGVOGII+D002HOHFfb8Cq2\nhuFHw3d5NYzo1wMHoFq18o/z+kFvCcFkskoThoi0Ao5R1QVx27sDnwVZMGPiXXQRPPVU8gkjHTUM\nryp6b0UN85ZITCaoqg3jfqC8vilfR/YZkzYDB8KLLya2bGm00duvW1LRGkZ09e3o89iv5fH6gV9V\nTy5LHCZMVSWMY1T13fiNkW3HBlIij2zgXv454gjo1g2ee877MUHekoqKvSVVEa+9pCwhmCCka+Be\n/Ur21Uk5egps4F5+uugimDrV+/vT3eidKksYJgjpGrj3hogcNGeUiFwBLE85ujEJGjAA5s+HHTtq\neHp/Ohq9W7Ys3eZVom0YUaNsyk8Toqp6Sf0amCkiF1OaIE7DrbZ3QZAFM6Y8hx0G55wDb7zRlCs9\nTH+5e7dLFkE2ekf50YYR1PHG+KHShKGqm4EfisjZwImRzbNV9ZUgCyUi/XHLwR4CPK6qLwUZz2SX\niy6CO+9s4em9ft+SKq/RO8qPGoZf7zcmCJ7GYajqq8CrAZclNt4sYJaI1AfuASxhmO/17QuXXXYk\nn38ORx1V+Xt37nQz3vp1SyqRGsbixanHi7LR5CYTpGVdbhF5TEQ2i8iKuO3nichqEVkrIqPLOXQs\nYPNymjLq1YOOHT/ztLDS9u1u8kG/axjlJYz4bd27lz5PdS4pq2GYTJCWhIGbHr1X7AYRKQDGR7af\nAAwVkXYx++8CXlDVt9NURpNFunRZz5NPVv2+aMIIooaRyC2pVGfKtYRhMkFaEoaqLgK2xm3uDKxT\n1fWquheYCvQHiCz/+iNgsIhclY4ymuzSseOnvPsubNhQ+ftiE4bfbRjxKvtQj7+llGgC2L+/6vcY\nE7R01TDK0wTYGPN6U2Qbqvqgqp6uqr9Q1UdDKZ3JaDVrHuDCC+GJJyp/344dwd2SSqSGYW0QJhd4\nnXww4wyKmVCosLCQ9u3b+x5jsZ+tlhbH9xiNGh3B+PFdOfbY5yv8QF67tohly9bw8ceN2bXrWw45\nZG3CcWJt2HAY0IdPP/2M7dtrAQ2+3/fMM9M57LDY+17Dvn+2alUJUPo7OmPGDGBgQmWJV1xcnPAx\n6frZpIPFqVpJSQmrVq3y74SqmpYH0AJYEfO6CzA35vUYYLTHc2k6TJkyxeJkaJwpU6bogQOqbdqo\nvvZaxe/r3l114ULV3/xG9Z57kosT6623XIfac85RPeWUaOda9/jss7LHxu67/vqD3xv7OplHMtL1\ns0kHi5O4yGdn0p/j6bwlJZFH1DKglYi0EJGawBDg2TSWx2Q5Ebj0Uvjb3yp+z7ZtbrBfrVrp71Yb\ny25JmVyQrm61xcBrQBsR2SAiI9St5DcKmAesBKaqque6k00+aACGD4dp0+C778rf/8UXbqxGECvu\nxQty4J4xqfBr8sG0tGGo6rAKts8B5iRzTj8u3mS/Zs3glFNg1iw3AjyWKnz5pZvltlYt+Ka8ifoT\nFE0Ke/ZA9bi/HksCJlMVFRVRVFTErbfemtJ5wuwlZYwvrrgCHnnk4O3ffAO1a5fOJeXX5IPR21u1\napXdZzUMk+ssYZisN3AgrFoFJSVlt3/5JRx5pHtep46bJiRVBw64c+3efXCCSHcbxtrEOnwZk7Ks\nTRjWhmGiatZ0tYyHHy67fdMmaNTIPa9fH77+OvVY+/eXJoy9e8vuS3cNo1s3GDkSPvkk9XOZ3Jau\nBZQyli2gZGKNHAnFxWXbKT76CI47zj0//HDYGj/XQBL27IFDDnFf9+51ySoq3beZ1qxxifCkk+A3\nv4EtW9Ib32SPdC2gZExWaNoUeveG8eNLt334YeniRvXr+5Mw9u51I8ejNYzYhJHISG8/kkuDBnD3\n3bByJezbB4WFMGaMuxVnTBAsYZiccfPNcP/9pbWMt95y/32Dq2Fs25Z6jGgNI5owasQs/BdWQ3aj\nRvDAA/D22+4a27SBW27x53qNiWUJw+SMdu2gTx/3Ybl3L7z2GnTt6vb5fUsqmjBie0qF3UuqWTOY\nOBHeeMO137RuDXfcAd9+638sk5+yNmFYo7cpzx//CNOnu7W/TzrJ3aqC0hpGqh/Uld2Sij13mN1m\nW7aExx93CXP1ajj+ePi//7MaRz6zRm9r9DblaNAAFi6ETp3KThkSHYuR6n/be/a4sR3VqsGuXRW3\nYcQnjCDaMKrSujX84x+wYAGsW+cSx9SpHdm8OfjYJrNYo7cxFWjZEm6/HZo3L7u9cWP49NPUzr1n\nj0sStWp0PSKxAAASnElEQVS5tTYysYYRr7AQJk+G5cvhu+9qUFgI114L69eHXTKTbSxhmLzRpEnq\nCSN6Gyo62ju20buyGkYig/yCcuyx8POfv0FJibut1qkT/PznbtCjMV5YwjB5o3Hj1Ae57dnjkkTt\n2u517HxSlSWBTFoxr2FDuOsu+OADd9uqqAjOPx9efDGzakYm81jCMHnDjxpG9JbUoYe61xX1kor/\n4N23r+zrTPhgrl8fbroJPv4YBg+GG2+E9u1hwgS3UqEx8SxhmLzRpEnVa4BXJXpLKlrDqFatdF9l\nbRjxCSOT1KkDl13mxnFMmADz5kGLFi6BWDuHiWUJw+SNtm1Tn7Dvu+9crSJ6K6og5i+oshpG/LxT\nmVDDiCfibk/NnAnLlrnbaJ06uS7K8+YlNs7E5CZLGCZvtGvnxiWkYscOqFevtLH7kENK92VrDaM8\nLVu6MS0bNrjBkDfeCK1awW23Wa0jn1nCMHmjeXP46qvUxmJEE0Z0XEVswsi2Ngwv6tWDK69006w8\n/TRs3uxqHT17wpQpbiyKyR9ZmzBspLdJVEGBq2W8917y54gmjOgcVSefXLqvsiQQf0sq24jAaafB\nQw+5nmZXXglPPOHahUaOhFdfzb5aVD6xkd420tsk4Yc/hMWLkz9+xw6oWxf+/Gf47DM3rXhUZTWM\n+PXEs6WGUZ7atd1yuHPnwooV7vbV9de7bstXXQUrVjTM+gSZa2yktzFJ6NYt9YRRr55r+G7YsOw4\njNixFlUljFzRtKmbUn35cliyxI3reOaZDjRs6HpezZ7tz9K4JjNYwjB55cwz4d//Tv72STRhlOe7\n70qfxyeM2H3l7c8Fxx0HN9wAt902j7fegg4d4M47XWIdPhxmzPBn1UMTnoxLGCLSUkT+KiJPh10W\nk3uaNHEfbMk2f23f7qbVKE/sYLf4hBD/X3YuJoxYzZvDr38Nixa5BZ66dHFTrzdtCt27u7m+Xn89\ns0bAm6plXMJQ1Y9U9Yqwy2Fy109/Ck89ldyxX37pZsSNFW0AryxhbN9e9nU+fVA2bgy//KUby7Fl\ni1voautWGDECjjkGhgyBxx5zKyTmeiLNdoEnDBF5TEQ2i8iKuO3nichqEVkrIqODLocxUUOGuDUz\nEl0fQtUljCOOKLv9mWfg3HNh586y740VHytfB8HVqQO9esF997max1tvue/dyy+79qUWLeCSS2DS\nJLcmuyWQzJKOGsYkoFfsBhEpAMZHtp8ADBWRdnHHxa0gYIw/out/P/JIYsft2OGmAqlTp+z2Nm1c\nd93K5l/64ouyr/M1YcRr1gwuvxyefNLN8xVNHPPmuR5t/fqFXUITK/CEoaqLgPjFMTsD61R1varu\nBaYC/QFEpIGITABOtpqHCcrYsXDvvfD5596P+eqrg2sXUYccUrqWOBz8n/E335SdqDDVW1IPPpja\n8ZlIxCXfkSNdAnnxRRtVnmnCasNoAmyMeb0psg1V/UpVr1HV1qp6dyilMzmvsBCGDoXRCfxLsmUL\nHHVU+fuaNoWNMb/R5d1KOfzw0uext6/Ks25d2Xmq4v3855Ufb0wQqlf9lsw0aNCg758XFhbSvn17\n32MsTqXDvsXJ+BgdOlRn7NjejBq1gq5dy/9XNjbO0qXNqFbtWIqL/33Q+z76qDFLlrSluPhVAL79\ntiYwuMx7tm/fDbhqxqxZrwJnl9k/ceIzXH21O+b114t57LFqjBhxUZn3nHHGepYubcHUqdOoWzfx\n0XHZ8rMB2LTpUNau7UX37pto1mwbzZtvo1GjbzjyyJ0UFGhO/T4HFaekpIRVfq6QpaqBP4AWwIqY\n112AuTGvxwCjEzifpsOUKVMsTobG8SvG8uWqRx6punhx1XHuvlv1N78p/32bNqkecYTq/v3u9X//\nq+rqGaozZpQ+jz6efvrgbapln8e+jj5+8Qv3de/e5K43m342Bw6oLlmiOmmS6q9/rdqzp2rz5qq1\na6uecILqGWd8rHfeqTp3ruqWLb6ELFcu/d1EPjuT/ixPVw1DKNuIvQxoJSItgM+AIcDQNJXFmO91\n6uTmRLrgAvjnP6Fr14rfu3o1nH56+fuaNHG3nN5+250zdmqMCy5wbR9ffunWm7jmmoMbwWMdffTB\n2yZNct15TzzRTdNePWvvDXgnAmec4R6xdu50t+weffQTPv+8BXffDW++6b7/J5/sxtkcd5ybsqRl\nS7c0bXxHBZOcwH/tRKQYKAKOEJENwO9UdZKIjALm4dpRHlPVhOpN0bmkbD4pk6rzzoPJk6F/f/jD\nH+DSS0tno421ZAlce23F5xk+3A1Oe/TRgycbbNDAJYyrr3aNuevWVXye2MbzNWvgyCPLjv247jpP\nl5Wz6taFjh2hW7ePGTbsh4DrdbZunZvb6qOP3ASTzz3nnq9f775/TZu6QZd165Z91Kzper/FPgoK\nSp+vWtWOvXtd+9Uxx7jpT6IrLmaL+fPn+zJZa+AJQ1WHVbB9DjAn2fP6MZGWMVG9e8Mrr7iG8Bkz\nYPx4N1o5as0a10uqQ4eKz3HNNW6J01/9yn0Ixbr3XojeSm7Vyn2gtWzpPtBi1axZdhqRNm1Su658\nUVDgal5t2x6878AB12V30yZXO4l/7N7teq1FHwcOlD7fswe2bq3Dv/7letR99plLTIcf7mbvLSpy\njw4dKu+kELboP9e33nprSufJg4qtMd6ceCK88Yab/+iUU9ytpKOPPoY1a1wSGDmy8ltBRx3lFhi6\n9NLSMR7R9TL69SsdU9C1K9x/P/To4RLGEUfAmDHPAz+hWTP44INALzPvFBS42kXTpskdX1z8FsOG\nFX7/+sABV2tZutRNMTNxoutBd9ZZ8KMfufXRGzXyp+yZJoNzojHpV6sWjBvn2itatXIzr/bu7W5D\n/L//V/XxV1/tag5DhrjXs2cf/J4ePdzkh9H1wOvUgcaN3X2oBQvg/ff9uRYTjIKC0p/xxInud2Xl\nSvf6jTdcLXPwYPjPf8Iuqf+ytoZhbRgmSEcd5abtbt78JYYNK/euarlE4PHH4ZxzXK3kzDMPfk90\n8F90ffEtW0r3NWmSQqFNaBo1cgljyBDXBvXEEzBsmEssN93kfh/KaxdLl6xpwwiKtWGYTHXIIbBs\nWeXvWbrUdZQdPPjgiQlNdjv0UDfZ4lVXQXGx6yhRUODm0Dr1VNeLrkkTV7Pcu9f1mNuyxY3z+eQT\nd5vyww/dba86ddyttLPOcotUJcvaMIzJYp07u6/PP+8aua3dIvfUqOHasy65xC3atXgxzJoFv/ud\nWxv9u+9cm9iRR7pH9erHcuaZbhaCPn1cd+Bdu9wMApmydrolDGNC1LGj+2oJI3eJuDVAunev/H3F\nxf8u9/bnaacFVLAkWKO3McYYT7I2YYwbN86XRhxjjMl18+fP96XdN2tvSVmjtzHGeONXo3fW1jCM\nMcaklyUMY4wxnljCMMYY44klDGOMMZ5YwjDGGOOJJQxjjDGeWMIwxhjjiSUMY4wxnmRtwrCR3sYY\n442N9LaR3sYY44mN9DbGGJNWljCMMcZ4knG3pESkLvAwsBtYoKrFIRfJGGMMmVnDGAhMU9WRQL8w\nC1JSUmJxMjROLl1LrsXJpWvJxTipCDxhiMhjIrJZRFbEbT9PRFaLyFoRGR2zqymwMfJ8f9Dlq8yq\nVassTobGyaVrybU4uXQtuRgnFemoYUwCesVuEJECYHxk+wnAUBFpF9m9EZc0ACQN5avQ559/bnEy\nNE4uXUuuxcmla8nFOKkIPGGo6iJga9zmzsA6VV2vqnuBqUD/yL6ZwGAReQh4LujyVSbXflFyKU4u\nXUuuxcmla8nFOKkIq9G7CaW3nQA24ZIIqroTuKyqE4ikp/JhcTI3Ti5dS67FyaVrycU4ycq4XlJe\nqGpmf1eNMSYHhdVL6hOgeczrppFtxhhjMlS6EoZQtgF7GdBKRFqISE1gCPBsmspijDEmCenoVlsM\nvAa0EZENIjJCVfcDo4B5wEpgqqpmfp8yY4zJY6KqYZfBGGNMFsjEkd4JEZGWIvJXEXm6sm0Bxakr\nIpNF5BERGeZXrMi5C0XkKRF5SEQG+XnuuDjNRGRm5NpGV31E0nG6i8gEEfmLiCwKKIaIyB0i8oCI\nDA8iRiRODxFZGLmes4KKE4lVV0SWicj5AcZoF7mWp0Xk6gDj9BeRR0XkSRE5N6AYvv/tlxMjsL/7\nuDiBX0skjuefS9YnDFX9SFWvqGpbEHEIdhqT3sADqvpL4BKfzx3rJNw1XAGcHFQQVV2kqtcAzwN/\nCyhMf1wHij24rtpBUeBboFbAcQBGA08FGUBVV0d+NhcBPwwwzixVvQq4BvhpQDF8/9svR1qmL0rT\ntST0c8mYhJHEFCKZEKfKaUxSiPcEMERE/gA0qKogKcRZAlwhIi8DcwOMEzUMqHRCyRRitAUWq+r1\nwC+CuhZVXaiqfYAxwG1BxRGRnkAJ8DkeZj1I5WcjIn1xyfyFIONEjAUeCjiGZ0nESmr6oiz4jKvy\n54KqZsQD6I77D3dFzLYC4H2gBVADeBtoF9k3HLgPaBR5Pa2cc5a3zbc4wMXA+ZHnxQFdVwEwM6Dv\n35+Am4HuFX2//LweoBnwSIAxhgODI9umpuF3ribwdIA/m8ci8V4M8Hfg++uJbHs+wDiNgbuAc8L4\nPPAxVpV/937EiXmP52tJNo7nn0siBQn6EbmY2IvsAsyJeT0GGB13TANgArAuuq+8bQHFqQs8jsvK\nQ32+rhbAI7iaxg8D/P6dAEyLXNsfgooT2T4O6BLgtdQB/gr8GbgmwDgXABOBJ4GzgvyeRfZdQuQD\nKqDr6RH5nk0M+Ps2Ctel/mHgqoBiVPq370csPP7d+xAnqWtJIo7nn0umj/SucAqRKFX9CnfvrdJt\nAcXxNI1JkvHWAyOTOHeicVYCFwYdJxJrXJAxVHUXkOo9Xy9xZuLmPAs0Tky8vwcZR1UXAAtSiOE1\nzoPAgwHHSPRvP+FYKfzdJxrHr2upKo7nn0vGtGEYY4zJbJmeMNI1hUi6pyrJtetKR5xcuhaLk7kx\n0h0rq+JkWsJI1xQi6Z6qJNeuKx1xculaLE7mxkh3rOyOk0hDSpAPXFfLT3FreW8ARkS29wbW4Bp+\nxmRLnFy9rnTEyaVrsTiZGyMXv29Bx7GpQYwxxniSabekjDHGZChLGMYYYzyxhGGMMcYTSxjGGGM8\nsYRhjDHGE0sYxhhjPLGEYYwxxhNLGCaniMh+EXlTRN6KfL0x7DJFicg0ETk28vxjEVkQt//t+DUM\nyjnHByLSOm7bn0TkBhE5UUQm+V1uY6IyfbZaYxK1Q1U7+XlCEammqp4XyqngHO2BAlX9OLJJgUNE\npImqfiIi7SLbqvIkblqH2yPnFWAw0FVVN4lIExFpqqpBrwRo8pDVMEyuKXdlOhH5SETGichyEXlH\nRNpEtteNrFC2JLKvb2T7pSIyS0T+BbwszsMiUiIi80RktogMFJGzRWRmTJyeIjKjnCJcDMyK2/Y0\n7sMfYCgxKxGKSIGI/EFElkZqHldGdk2NOQbgLODjmATxfNx+Y3xjCcPkmjpxt6Ri1/rYoqqn4hYK\nuj6y7SbgX6raBTgHuFdE6kT2nQIMVNWzces4N1fV9rjV3boCqOqrQFsROSJyzAjcSnnxugHLY14r\nMB23GBNAX+C5mP2XA9tU9QzcugVXiUgLVX0P2C8iJ0XeNwRX64h6Azizsm+QMcmyW1Im1+ys5JZU\ntCawnNIP6h8DfUXkhsjrmpROA/2Sqn4ded4dtzIhqrpZRF6NOe8TwM9EZDJuZbPh5cRuhFubO9aX\nwFYRuQi3dveumH0/Bk6KSXiHAq2B9URqGSJSAgwAbok5bgtuKVRjfGcJw+ST3ZGv+yn93RdgkKqu\ni32jiHQBdng872Rc7WA3bv3lA+W8ZydQu5ztT+OW+rwkbrsAo1T1pXKOmQrMAxYC76hqbCKqTdnE\nY4xv7JaUyTXltmFU4kXguu8PFjm5gvctBgZF2jKOAYqiO1T1M9x00jcBFfVSWgW0KqecM4G7cQkg\nvly/EJHqkXK1jt4qU9UPgS+Auyh7OwqgDfBeBWUwJiWWMEyuqR3XhvH7yPaKeiDdDtQQkRUi8h5w\nWwXvm45bB3kl8Hfcba2vY/ZPATaq6poKjn8BODvmtQKo6nZVvUdV98W9/6+421Rvisi7uHaX2DsC\nTwJtgfgG9rOB2RWUwZiU2HoYxngkIvVUdYeINACWAt1UdUtk34PAm6pabg1DRGoDr0SOCeSPLrKS\n2nygewW3xYxJiSUMYzyKNHTXB2oAd6vqE5HtbwDbgXNVdW8lx58LrApqjISItAIaq+rCIM5vjCUM\nY4wxnlgbhjHGGE8sYRhjjPHEEoYxxhhPLGEYY4zxxBKGMcYYTyxhGGOM8eT/A1MGbSxcd/bBAAAA\nAElFTkSuQmCC\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -223,7 +252,9 @@ } ], "source": [ - "plt.loglog(gd157.energy, total.xs(gd157.energy))\n", + "energies = gd157.energy['294K']\n", + "total_xs = total.xs['294K'](energies)\n", + "plt.loglog(energies, total_xs)\n", "plt.xlabel('Energy (MeV)')\n", "plt.ylabel('Cross section (b)')" ] @@ -239,7 +270,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "metadata": { "collapsed": false }, @@ -274,7 +305,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "metadata": { "collapsed": false }, @@ -289,7 +320,7 @@ ], "source": [ "n2n = gd157[16]\n", - "print('Threshold = {} MeV'.format(n2n.threshold))" + "print('Threshold = {} MeV'.format(n2n.xs['294K'].x[0]))" ] }, { @@ -299,28 +330,6 @@ "The (n,2n) cross section, like all basic cross sections, is represented by the `Tabulated1D` class. The energy and cross section values in the table can be directly accessed with the `x` and `y` attributes. Using the `x` and `y` has the nice benefit of automatically acounting for reaction thresholds." ] }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "n2n.xs" - ] - }, { "cell_type": "code", "execution_count": 11, @@ -331,36 +340,16 @@ { "data": { "text/plain": [ - "(6.400881, 20.0)" + "{'294K': }" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" } ], "source": [ - "plt.plot(n2n.xs.x, n2n.xs.y)\n", - "plt.xlabel('Energy (MeV)')\n", - "plt.ylabel('Cross section (b)')\n", - "plt.xlim((n2n.xs.x[0], n2n.xs.x[-1]))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To get information on the energy and angle distribution of the neutrons emitted in the reaction, we need to look at the `products` attribute." + "n2n.xs" ] }, { @@ -373,17 +362,37 @@ { "data": { "text/plain": [ - "[,\n", - " ]" + "(6.400881, 20.0)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEPCAYAAABGP2P1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xmc1vP6x/HX1XayJXEUOqEFRZaQkmNJJEdKG0Uq+xZx\ndJzzk/XgZEnHljVbCSXkyE62VFIiNVIiydYiFNJy/f743KOZMct9z8x3vvfyfj4e96P7/t7fuef6\nNHPPdX8/y/Uxd0dERCRftbgDEBGR9KLEICIihSgxiIhIIUoMIiJSiBKDiIgUosQgIiKFRJoYzKyh\nmb1mZnPMbLaZnV/Cebea2Xwzm2Vme0cZk4iIlK5GxK+/DrjI3WeZ2ebADDN7yd0/zj/BzDoBTdy9\nmZkdANwFtIk4LhERKUGkVwzu/o27z0rcXwXkATsUOa0L8HDinGnAlmZWP8q4RESkZFU2xmBmOwF7\nA9OKPLUDsLjA4yX8MXmIiEgVqZLEkOhGegK4IHHlICIiaSrqMQbMrAYhKYxy9wnFnLIE+EuBxw0T\nx4q+joo6iYiUg7tbKudXxRXD/cBcd7+lhOefAU4GMLM2wEp3/7a4E909bW/dunWLPQa1QW1Ip1s2\ntCMb2lAekV4xmFk74ERgtpm9Dzjwf8COgLv7Pe7+nJkdbWYLgNXAgChjEhGR0kWaGNx9MlA9ifPO\nizIOERFJnlY+V5LmzZvHHUKFqQ3pIRvaANnRjmxoQ3koMVSSFi1axB1ChakN6SEb2gDZ0Y5saEN5\nKDGIiEghSgwiIlKIEoOIiBSixCAiIoUoMYhIqX76Cb7/Pu4opCpFXhJDRNLXb7/BkiXwxRewePHG\nfwveX7MGqleH7beHAw/ceGveHKrpo2VWUmIQyWJr14Y/7gsXbrx99hl8/nk4vmwZNGgAjRrBX/4S\n/t19d+jUaePjevVgwwaYMwemTIG334YbboClS6FNm42JonVrqFMn7hZLZVBiEMlwK1bAggWF//Dn\n3//qK9huO2jcONx23hm6dIGddgp/+LfbDmok8VegenXYc89wO/PMcOy770KimDIFrr4aZs6EJk1C\nkvjrX2HNmjKLHkiaUmIQySDffQczZhS+rVwJzZpt/OO/337Qq1dIAo0aQa1a0cSy7bYhyXTpEh7/\n9hvMmgXvvAOPPAJvvdWF+fPh3HNhB+2wklGUGETS1Lff/jEJrFoFrVrBvvvCCSeELp0mTdKjr79W\nrdCd1Lo1DBoEN9/8EosWHUvLlqFratAg2H//uKOUZCgxiKSBDRvggw/gtdfg0Uf/yj/+AatXhwSw\n777Qpw8MGxauCCylyvrxadBgFRddBFddBfffDz17hiuHQYPguOOS68KSeOhHIxIDd/jkk5AIXn0V\nXn8dtt4aDj8c2rZdxIUX/oWdd86cJFCaunXhoovg/PPhmWdg+HC4+GIYOBBOOy08L+klDS5ARXLD\n4sXw0ENw8slh4LdDB5g2LfTRz5oF8+bBiBHQtu0XGXVlkKwaNaBbN3jrLRg/PlwhNW4M550H8+fH\nHZ0UpCsGkYisXg0vvQQvvhiuClauhMMOC1cFl10GTZtm3x//ZO23H4waFWZNjRgB7drBOefAFVfk\n7v9JOlFiEKlEy5bBs8/C00+HbqLWreHoo+Hss6Fly/QYJE4n228P11wTupWOPDKssr7pJiWHuCkx\niFTQ55/DhAkhGcycGbqIevSABx6ArbaKO7rMUL8+TJoUZi+dfXa4ilASjY8Sg0iK3GH2bHjqqZAM\nvvwSjj02DLB26ACbbBJ3hJmpXj14+WXo3Bn69w8zmTRzKR7KySJJmjMHBg8O6wa6dIEffoBbboGv\nv4aRI8MfNCWFiqlTB55/PqzhOOGEsGhOqp4Sg0gpfvwR7rkHDjgg9IHXrBmuFBYuhJtvhoMP1qfa\nyrbppmFa6/r10LUr/PJL3BHlHiUGkSLcw5TK/v1DSYkXXoDLL4dFi+C662CvvTQ4GrU//QnGjg1j\nNEcfHQalpeooMYgkfPMNXH897LYbnHEG7LFHWFvw5JPwt7/pyqCq1awJDz8cpvUeeaT2hKhKSgyS\n09atC90WXbqE/QU++STMJpo7N6zOrV8/7ghzW/XqG7vy2rcPpb4levoMJDnniy/C1MhJk8Lis8aN\n4dRTYfRo2GKLuKOTosxCGY3LL4dDDgkzl1StNVpKDJL1vvpqYyKYNCn0Vx96aFiFfOmloWS1pDcz\n+Pe/YbPNwoD/q6+GPSUkGkoMknW++y4UpctPBN99tzERDBoUdijT4HFm+uc/NyaHV16BXXaJO6Ls\npMQgGW3t2rC+4L33wm3ixKP56aewg9hhh4VB5L320irabDJwYEgO7dvDG2+EdSVSuZQYJGOsXw95\neRuTwHvvhRXIO+4YirLttx/ssMNU/vWvozSDKMudckpY/NahA7z5ZqhWK5VHbx9JW4sWhfUE+Ulg\n1qxQdC0/CfTqBfvsU3jAeMyYFUoKOeKss+Dnn0O12jffhAYN4o4oe+gtJGnFPYwPDB8eNpk/9NCw\nHeTVV4ctLbWpixR00UWhvPkRR2zc7EgqTolB0sKvv8Jjj8F//xu6CAYNCo833TTuyCTdDRkS9sLu\n2DHMVtpyy7gjynwakpNYffstXHllmHr4+ONh5fGcOWHQWElBkmEGQ4dCmzZhhfrq1XFHlPmUGCQW\nH3wAAwaE8hPffBM2tXn++fCpT1NJJVVmcOutYU1K167hClTKT4lBqsz69aH8RPv24ZPdrrvCggVw\n113QokXc0Ummq1YN7rsvjDP06hWmMkv5KDFIlXj77VCL6Jpr4PTT4bPPwmIlDRZKZapePewlDXDS\nSeHDiKROiUEitWFDGDfo0QOGDYNp06B371A5UyQKNWuGkt0rVsBpp4XfQUmNEoNEZtmysKvZM8/A\n9OnhvsYPpCrUrh22XV2wIKyUdo87osyixCCRmDw5rDvYffcwv1wrU6WqbbYZTJwI774Ll1yi5JAK\nrWOQSrVhQ+gyuummsA/yMcfEHZHksjp1Qmn1Qw8NK+QvuyzuiDKDEoNUmuXLoV+/8O/06WFbTJG4\n1asX9nDYf3848MBQQkNKp64kqRRTpoSuo912C3VrlBQkndSvH6ZFn366FsAlQ4lBKsQ9dB117Qq3\n3Ra6kDTjSNLR0UfDQQeFzZmkdOpKknJbsQL69w9lLaZN045akv6GD4eWLaFnT2jXLu5o0peuGKRc\nZswIXUdNm4bS2EoKkgm23jqUzjj1VJXNKI0Sg6TsqafgqKNCF9LNN0OtWnFHJJK8Hj3CNOqrr447\nkvSlriRJmnsYQ7jlFnjhBdh337gjEimfO+6APfcMSaJVq7ijST+RXjGY2Ugz+9bMPizh+UPMbKWZ\nzUzchkQZj5Tf2rVw5pnwyCMwdaqSgmS2Bg3Ch5xTT1WxveJE3ZX0ANCxjHPedPdWids1Eccj5bBy\nZZjR8dVXYTyhYcO4IxKpuL59Q4K44Ya4I0k/kSYGd38b+L6M01Q9J4199llYFNSiBUyYUHh/ZZFM\nZgZ33x12DZw7N+5o0ks6DD63NbNZZjbRzFSVP41MmRKSwjnnhHGF6tXjjkikcjVqFAahTzlFJboL\ninvweQbQyN1/NrNOwNPALiWd3L1799/vN2/enBZptLvL5MmT4w6hwgq2YcqURjz88H6ceeZU6tX7\nijFjYgwsBdn2c8hkmdKOLbaAH344nP79v6RTp3mFnsuUNhQ0d+5c8vLyKvQasSYGd19V4P7zZjbC\nzOq5+4rizh8/fnzVBVcOffr0iTuECuvduw/XXhtKZb/1Fuy556Fxh5SybPg5ZEMbIHPa0aYNtGlT\nnyuv3JcmTQo/lyltKImVo9Z9VXQlGSWMI5hZ/QL3WwNWUlKQ6K1dW43+/cNYwtSpYTqfSC5o2hT+\n9a9QS0nluaOfrjoGeAfYxcy+MLMBZnammZ2ROKWHmX1kZu8D/wWOjzIeKdny5TB06GGsWgVvvAHb\nbRd3RCJVa9CgUGDv3nvjjiR+kXYluXup12DufgdwR5QxSNnWrIEjj4TGjVcwblx9qqXDlASRKla9\nOtx/f9i7oVOn3N5cSn8ChMsuC2+CPn3eV1KQnLb77mEr0LPOyu0uJf0ZyHGvvRZWM997r/ZjFgH4\n5z9h8eLwvshVSgw5bMWKsOPa/ffDn/8cdzQi6aFWLXjgAfj732HlytpxhxMLJYYc5R5qH3XvDh3L\nKloikmP23Te8P+68sy0bNsQdTdVTYshRDz0EH38MQ4fGHYlIerr8cli7tnpOvkeUGHLQp5/C4MEw\nZgzUzs0rZZEy1agB5547mVtvDYs9c4kSQ45ZuxZOPBGGDAlbHIpIybbe+hceeAD69IFly+KOpuoo\nMeSYa66BLbcMU/JEpGydOoXE0K8fOTPeoMSQQ955J5QZfvBBtF5BJAXXXAPffx+2s80FcVdXlSry\n449w0kkhMajchUhqataERx+F1q3hoIOgbdu4I4qWPjfmiIED4YgjoEuXuCMRyUw77gj33AO9e4c1\nQNlMVww54LHHQrXUmTPjjkQks3XpAq+/DgMGwNNPZ2+1gDKvGMysrZndYWYfmtnSRJXU58zsXDPb\nsiqClPL74gs4//wwNXWzzeKORiTzXX992P/81lvjjiQ6pSYGM3seOA14ETgK2A5oAQwBagMTzOzY\nqIOU8lm/Hk4+GS66KKzkFJGKq1ULHn8crr0Wpk+PO5polNWV1Nfdi87eXQXMTNyGmdk2kUQmFXbj\njaH0xeDBcUcikl0aN4YRI+D44+H998MU8GxS6hVDwaRgZg3M7Fgz62xmDYo7R9LHjBlw880walSo\nMy8ilatHj7DG4bTTsq9Ed1KzkszsNOBdoBvQA5hqZqdEGZiU388/h9XNt90GjRrFHY1I9ho2DBYs\ngDvvjDuSypXsrKTBwD7uvhzAzLYmbNl5f1SBSfkNGQL77BMuc0UkOrVrw9ixcOCB4bb33nFHVDmS\nTQzLgZ8KPP4pcUzSzOTJYSHO7NlxRyKSG5o1CzOUevUKXbhbbBF3RBVXamIws4sSdxcA08xsAuBA\nF+DDiGOTFP3yS5hffccdsI2mBIhUmd69w26IgwbByJFxR1NxZV0x5Oe+TxO3fBOiCUcq4rLLwrTU\nbt3ijkQk9wwbBi1ahKv2du3ijqZiSk0M7n5VVQUiFfPOO2GPWnUhicSjTh246SY455zQpVQjg+tK\nlLXA7V4z26OE5zYzs1PM7MRoQpNk/fILnHIK3H67upBE4nT88WH/9NtvjzuSiikrp90BXG5mLYGP\ngKWEFc/NgDqEWUmPRBqhlOnyy2GvvcL+zSISH7MwxteuXRiM3n77uCMqn7K6kmYBvcxsc2A/QkmM\nX4A8d59XBfFJGaZMgdGj4UNNBRBJC7vuCmecAX//e5ghmImS6gVz91XA69GGIqnKn4V0223h8lVE\n0sOQIWEg+tVX4fDD444mddqPIYNdcQXsuWdYmi8i6WPTTeGWW+Dcc+G33+KOJnVKDBlq6lR4+OHM\nH+QSyVbHHgtNm2bmdqBKDBno119DF9Ktt8K228YdjYgUxyy8R4cNg0WL4o4mNUmNMZjZLoR6STsW\n/Bp3bx9RXFKKK6+E3XeHnj3jjkREStO4MVxwQVgR/dRTcUeTvGSXYIwD7gLuBdZHF46UZdo0ePDB\nMAspW7cVFMkmgwdDy5YwcSL87W9xR5OcZBPDOnfPssKymSe/C+mWW9SFJJIpatcOY4Fnnw3t28Mm\nm8QdUdmSHWP4n5mdY2bbmVm9/FukkckfXHUVNG8eFs6ISObo2DHUMRs6NO5IkpPsFUO/xL8FN4l0\noHHlhiMlmT4dHngAPvhAXUgimWj48LBfw0knhVLd6SzZBW47Rx2IlOzXX6F/f/jvf6F+/bijEZHy\naNgQLrkEBg6E559P7w94yW7tWdPMzjezJxK388ysZtTBSfCf/4RPGNqRTSSzDRoEixfDk0/GHUnp\nku1KuhOoCYxIPO6bOHZaFEHJRvPmhaJcs2al9ycMESlbzZowYgT07RvGHTbfPO6Iipfs4PP+7t7P\n3V9L3AYA+0cZmIB7qO1+6aXhMlREMt8hh4Tb1VfHHUnJkk0M682sSf4DM2uM1jNEbswYWLEi9EmK\nSPa48cYwmWTOnLgjKV6yXUmDgUlmthAwwgroAZFFJXz/PVx8MTz9dGbvBCUif9SgQSiCee65MGlS\n+nUTJ3XF4O6vEjbnOR8YCOzq7pOiDCzX/d//wXHHwQEHxB2JiETh7LPhxx/DlrzpptTPombW3t1f\nM7Oi28s3NTPcPc3H1jPT1KkwYQLMnRt3JCISlerVw0B0t25wzDFQt27cEW1UVifFIcBrQOdinnNA\niaGSrVsHZ50VNhVPp18UEal8bdqE+kmXXx4qsaaLsrb2vCJx92p3/6zgc2amRW8RuPVW2GYb6N07\n7khEpCoMHRp2e+vfH1q1ijuaINlZSeOLOfZEZQYiYeHLddeFy8t0G4wSkWhsvTVcfz2ceiqsXRt3\nNEGpicHMdjOz7sCWZtatwK0/ULtKIswhF1wQpqbuskvckYhIVerXL5S7ueGGuCMJyhpj2BU4BqhL\n4XGGn4DTowoqF/3vf/DRR2HtgojkFjO4557QldS1a9iIK05ljTFMACaYWVt3n5Lqi5vZSEJi+dbd\n9yzhnFuBTsBqoL+7z0r1+2S61avDlcJ994Xa7SKSexo1gmuugVNOgXfeCbOW4pLsGMNZZvb7HBkz\n28rM7k/i6x4AOpb0pJl1Apq4ezPgTMIucTnn3/+Gdu2gQ4e4IxGROJ1xBmy6aaikHKdk19Tu6e4r\n8x+4+/dmtk9ZX+Tub5vZjqWc0gV4OHHuNDPb0szqu/u3ScaV8T76CEaOhNmz445EROJWrVroOTjg\nADj22Pj2bUj2iqGamW2V/yCxe1tlFGrYAVhc4PGSxLGcsGFDWP149dVhibyISJMmMGQInHZa+BsR\nh2T/uA8DppjZuMTjnsC10YRUsu7du/9+v3nz5rRo0aKqQyjR5MmTU/6a119vzNdfN2WLLV5mzBiP\nIKrUlKcN6UZtSB/Z0I642rDNNsbXX3fg1FM/54gj5qf0tXPnziUvL69C3z/ZHdweNrP3gPaJQ93c\nvTIKNiwB/lLgccPEsWKNH1/ccor00adPn6TPXboULrwQXnwR9t47fVazpdKGdKU2pI9saEdcbdhv\nP/jrX//MFVfsz047lf91rByLopLtSgKoB6x299uBpSmsfLbErTjPACcDmFkbYGWujC/84x9w4olh\nD1gRkaJ22w0uuigMSHsVdygku7XnFcAlwL8Sh2oCo5P4ujHAO8AuZvaFmQ0wszPN7AwAd38O+MzM\nFgB3A+eUow0Z54034JVX4Kqr4o5ERNLZxRfD8uVh74aqlOwYw3HAPsBMAHf/ysy2KOuL3L3MazB3\nPy/JGLLGZZeFFY5blPk/KCK5rGZNuP9+OOIIOOoo2H77qvm+yXYl/ebuTqioipltFl1I2W32bFi4\nEHr2jDsSEckEe+0VZi+edVbVdSklmxjGmtndQF0zOx14Bbg3urCy1513hj5D7comIsm69FL47DN4\n7LGq+X7Jzkq6ycyOAH4k1E+63N1fjjSyLPTjj+EH+9FHcUciIpmkVq3QpdS5M7RvHwruRSnZwefN\ngNfcfTDhSmETM6sZaWRZaPRoOPzwqusnFJHssf/+oY5SVcxSSrYr6U3gT2a2A/AC0Bd4MKqgspF7\n2GfhnJyYdyUiUbjySli0KPpZSskmBnP3n4FuwJ3u3hOIuTBsZnnrLVi/Hg49NO5IRCRT1aoVeh4u\nuSSMOUQl6cRgZm2BE4GJiWMxFoXNPPlXC9qZTUQqYo89QmLo1y982IxCsonhAsLitqfcfY6ZNQYm\nRRNS9vnmm1D64uST445ERLLBhReGf4cPj+b1k52V9CZhnCH/8ULg/GhCyj733Qe9esGWW8YdiYhk\ng+rV4aGHoHVr6NgRWras3NdPpVaSlMO6dXD33WGBiohIZdl5Z7j+eujbF9asqdzXVmKI2LPPhi37\nVCxPRCrbgAGw445htlJlUmKImKaoikhUzOCee+DBB6Eyt45IdoHbDWZWx8xqmtmrZrbUzE6qvDCy\n0yefwAcfQI8ecUciItmqfv1Qaufkk+GnnyrnNZO9YjjS3X8EjgE+B5oCgysnhOx1111hpeKf/hR3\nJCKSzbp2hYMPDmW6K0OyiSF/9tLfgHHu/kPlfPvs9fPP8PDDcOaZcUciIrngllvCtPiJE8s+tyzJ\nJoZnzexjYF/gVTP7M/Brxb999nrsMWjThgptyScikqw6dcJYw+mnw7JlFXutpBKDu/8TOBDYz93X\nAquBLhX71tlNg84iUtUOPRR696743g3JDj73BNa6+3ozG0LY1lM1QkswfTqsWBEWnoiIVKVrrw2b\ngf3nP+V/jWS3i7nM3ceZ2UFAB+BG4E7ggPJ/6+w1YkTI2NVVTUpEqljt2mH9VNu2YY1DeSQ7xpBf\nqulvwD3uPhGoVb5vmd2WL4ennw6zkURE4rD99mEQOr+mUqqSTQxLElt7Hg88Z2Z/SuFrc8qDD4Zd\nlrbZJu5IRCSX7bFH+bcCTfaPey/gRaCju68E6qF1DH+wYUNYaKJBZxFJB+3bl+/rkp2V9DPwKdDR\nzM4DtnX3l8r3LbPXyy+HKWMHaORFRDJYsrOSLgAeAbZN3Eab2cAoA8tE2oxHRLJBsrOSTgUOcPfV\nAGZ2PTAFuC2qwDLN0qWb8vbbMGZM3JGIiFRM0lt7snFmEon7+lxcwKRJTenbFzbbLO5IREQqJtkr\nhgeAaWb2VOJxV2BkNCFlnjVr4PXXmzB1atyRiIhUXLJbe95sZq8DByUODXD39yOLKsM8+SQ0bPgD\nu+22SdyhiIhUWJmJwcyqA3PcfTdgZvQhZZ4RI6BDh/lAg7hDERGpsDLHGNx9PTDPzBpVQTwZZ/78\nsCFPq1Zfxh2KiEilSHaMYStgjpm9S6isCoC7HxtJVBlk9OhQzbBGjQqUMhQRSSNJF9GLNIoM5R4S\nw9ixMG9e3NGIiFSOUhODmTUF6rv7G0WOHwR8HWVgmWDKFKhVC1q1UmIQkexR1hjDf4Efizn+Q+K5\nnDZqFPTtq5XOIpJdyupKqu/us4sedPfZZrZTJBFliDVrYNw4mDEj7khERCpXWVcMdUt5Lqcn7T/3\nXChrW96NMERE0lVZieE9Mzu96EEzOw3I6c/Ko0fDSSfFHYWISOUrqytpEPCUmZ3IxkSwH2H3tuOi\nDCydff89vPIKjFRREBHJQqUmBnf/FjjQzA4D9kgcnujur0UeWRobOxY6doS6pXW0iYhkqGRrJU0C\nJkUcS8YYNQouuSTuKEREoqF9m1O0cGFYs9CxY9yRiIhEQ4khRY88AscfHxa2iYhkIyWGFLhvXNQm\nIpKtlBhS8O674d/WreONQ0QkSkoMKRg1KqxdUAkMEclmyVZXzXlr18Ljj8O0aXFHIiISLV0xJOmF\nF2DXXaFx47gjERGJVuSJwcyOMrOPzewTM/vD7H8zO8TMVprZzMRtSNQxlYcGnUUkV0TalWRm1YDb\ngcOBr4DpZjbB3T8ucuqb6bwb3MqV8OKLcPfdcUciIhK9qK8YWgPz3X2Ru68FHgO6FHNeWg/njh8P\nhx8OW20VdyQiItGLOjHsACwu8PjLxLGi2prZLDObaGYtIo4pZepGEpFckg6zkmYAjdz9ZzPrBDwN\n7FLcid27d//9fvPmzWnRIvocsnTppsyYcRQ//vg0Y8ZsKPG8yZMnRx5L1NSG9JANbYDsaEcmtmHu\n3Lnk5eVV6DWiTgxLgEYFHjdMHPudu68qcP95MxthZvXcfUXRFxs/fnxkgZbkuuvC2oV+/U4o89w+\nffpUQUTRUhvSQza0AbKjHZneBivHwquou5KmA03NbEczqwWcADxT8AQzq1/gfmvAiksKcVAJDBHJ\nRZFeMbj7ejM7D3iJkIRGunuemZ0ZnvZ7gB5mdjawFvgFOD7KmFIxcyb89hu0bRt3JCIiVSfyMQZ3\nfwHYtcixuwvcvwO4I+o4ykMlMEQkF6XD4HNaWrcOHn0U3n477khERKqWSmKU4KWXQvmLZs3ijkRE\npGopMZRg9GgNOotIblJiKMZPP8Fzz0GvXnFHIiJS9ZQYijF+PBxyCGyzTdyRiIhUPSWGYmjtgojk\nMiWGIr78EmbNgmOOiTsSEZF4KDEUMXYsdO0KtWvHHYmISDyUGIoYOxaOT5u11yIiVU+JoYDPP4dP\nP4XDDos7EhGR+CgxFPDEE3DccVCzZtyRiIjER4mhAHUjiYgoMfxu4UJYtCisXxARyWVKDAnjxkG3\nblBDZQVFJMcpMSSMHasSGCIioMQAwIIFsGQJHHxw3JGIiMRPiYFwtdCjB1SvHnckIiLxU2JA3Ugi\nIgXlfGKYNw+++w7atYs7EhGR9JDziWHcOHUjiYgUlPOJQYvaREQKy+nEkJcHK1ZA27ZxRyIikj5y\nOjGMHQs9e0K1nP5fEBEpLKf/JGo2kojIH+VsYpgzB1atgjZt4o5ERCS95GxiePzx0I1kFnckIiLp\nJScTg7u6kURESpKTiWH2bPj1V9h//7gjERFJPzmZGPKvFtSNJCLyRzmXGPK7kbSoTUSkeDmXGGbN\ngvXroVWruCMREUlPOZcY1I0kIlK6nNrIMr8b6Ykn4o5ERCR95dQVw8yZoYrq3nvHHYmISPrKqcTw\n+OPqRhIRKUvOdCXldyM980zckYiIpLecuWKYPh1q14aWLeOOREQkveVMYshfu6BuJBGR0uVEV1J+\nN9Lzz8cdiYhI+suJK4apU2GLLWD33eOOREQk/eVEYlAlVRGR5GV9V9KGDTBuHLz8ctyRiIhkhqy/\nYpgyBerVg+bN445ERCQzZHVieO89GDgQTjwx7khERDJHViaGpUvh9NOhc+eQGAYPjjsiEZHMkVWJ\nYd06uP32MPto880hLw8GDIBqWdVKEZFoRf4n08yOMrOPzewTM7ukhHNuNbP5ZjbLzMpV4u6NN8Ie\nC089BZMmwfDhULduxWIXEclFkc5KMrNqwO3A4cBXwHQzm+DuHxc4pxPQxN2bmdkBwF1Am2S/x5df\nhq6id97TdiCCAAAIL0lEQVSBYcOge/d4VjfPnTu36r9pJVMb0kM2tAGyox3Z0IbyiPqKoTUw390X\nufta4DGgS5FzugAPA7j7NGBLM6tf1guvWQNDh4YS2s2ahW6jHj3iK3mRl5cXzzeuRGpDesiGNkB2\ntCMb2lAeUa9j2AFYXODxl4RkUdo5SxLHvi3pRSdOhEGDoEULePddaNy4ssIVEZGMWuDWuTMsXw7L\nlsFtt8FRR8UdkYhI9ok6MSwBGhV43DBxrOg5fynjHACefXZjP1GnTpUTYGWyLCjdqjakh2xoA2RH\nO7KhDamKOjFMB5qa2Y7A18AJQO8i5zwDnAs8bmZtgJXu/oduJHfPvZ+OiEgMIk0M7r7ezM4DXiIM\ndI909zwzOzM87fe4+3NmdrSZLQBWAwOijElEREpn7h53DCIikka0JriCzOxCM/vIzD40s0fMrFbc\nMSXDzEaa2bdm9mGBY1uZ2UtmNs/MXjSzLeOMsSwltOEGM8tLLJYcb2Z14oyxLMW1ocBzfzezDWZW\nL47YklVSG8xsYOJnMdvMhsYVX7JK+H3ay8ymmNn7Zvaume0XZ4ylMbOGZvaamc1J/J+fnzie8vta\niaECzGx7YCDQyt33JHTNnRBvVEl7AOhY5Ng/gVfcfVfgNeBfVR5Vaoprw0vA7u6+NzCfzGwDZtYQ\nOAJYVOURpe4PbTCzQ4HOQEt3bwncFENcqSruZ3EDcIW77wNcAdxY5VElbx1wkbvvDrQFzjWz3SjH\n+1qJoeKqA5uZWQ1gU8IK77Tn7m8D3xc53AV4KHH/IaBrlQaVouLa4O6vuPuGxMOphFluaauEnwPA\ncCAjyj+W0IazgaHuvi5xzrIqDyxFJbRjA5D/CbsuJcyYTAfu/o27z0rcXwXkEX7/U35fKzFUgLt/\nBQwDviD8wqx091fijapCts2fEebu3wDbxhxPRZ0CZNxO32Z2LLDY3WfHHUsF7AIcbGZTzWxSOnfB\nlOFC4CYz+4Jw9ZDuV6AAmNlOwN6ED0f1U31fKzFUgJnVJWTjHYHtgc3NrE+8UVWqjJ2ZYGaXAmvd\nfUzcsaTCzDYB/o/QbfH74ZjCqYgawFbu3gb4BzA25njK62zgAndvREgS98ccT5nMbHPgCULcq/jj\n+7jM97USQ8V0ABa6+wp3Xw88CRwYc0wV8W1+nSozawB8F3M85WJm/YGjgUxM0k2AnYAPzOwzQlfA\nDDPLtKu3xYT3A+4+HdhgZlvHG1K59HP3pwHc/Qn+WNInrSS6tJ8ARrn7hMThlN/XSgwV8wXQxsxq\nW1geeTihXy9TGIU/jT4D9E/c7wdMKPoFaahQG8zsKELf/LHuvia2qFLzexvc/SN3b+Dujd19Z0J9\nsX3cPd2TdNHfpaeB9gBmtgtQ092XxxFYioq2Y4mZHQJgZocDn8QSVfLuB+a6+y0FjqX+vnZ33Spw\nI1zy5wEfEgZ2asYdU5JxjyEMlK8hJLgBwFbAK8A8wuyeunHHWY42zCfM5JmZuI2IO85U21Dk+YVA\nvbjjLMfPoQYwCpgNvAccEnec5WzHgYn43wemEJJ07LGWEH87YD0wKxHvTOAooF6q72stcBMRkULU\nlSQiIoUoMYiISCFKDCIiUogSg4iIFKLEICIihSgxiIhIIUoMkvHMbL2ZzUyURp5pZv+IO6Z8ZjYu\nUbcGM/vczN4o8vys4kpuFznnUzNrVuTYcDMbbGZ7mNkDlR235Laot/YUqQqr3b1VZb6gmVX3UOak\nIq/RAqjm7p8nDjmwhZnt4O5LEiWRk1lI9CihnPu/E69rQA+grbt/aWY7mFlDd/+yIvGK5NMVg2SD\nYovMmdlnZnalmc0wsw8SpRkws00Tm7JMTTzXOXG8n5lNMLNXgVcsGGFmcxMbnUw0s25mdpiZPVXg\n+3QwsyeLCeFE/lh+YCwb9+zoTVhtm/861RIbDU1LXEmcnnjqMQrv83Ew8HmBRPAsmbMPiGQAJQbJ\nBpsU6UrqWeC579x9X+Au4OLEsUuBVz1U/mxPKKu8SeK5fYBu7n4Y0A1o5O4tgL6EzU9w90nArgWK\nwg0ARhYTVztgRoHHDowHjks87gz8r8DzpxJKtx9AKNZ2hpnt6O4fAevNrGXivBMIVxH53gP+Wtp/\nkEgq1JUk2eDnUrqS8j/Zz2DjH+Qjgc5mlr8RTi2gUeL+y+7+Q+L+QcA4AHf/1swmFXjdUcBJZvYg\n0IaQOIraDlha5Nhy4HszOx6YC/xS4LkjgZYFElsdoBmh9tNjwAlmNpew0crlBb7uO0LZd5FKocQg\n2S6/wup6Nv6+G9Dd3ecXPNHM2gCrk3zdBwmf9tcA43zjrnEF/QzULub4WOAO4OQixw0Y6O4vF/M1\njxEKoL0JfODuBRNObQonGJEKUVeSZINUN7J5ETj/9y8227uE8yYD3RNjDfWBQ/OfcPevCZU4LyXs\nFVycPKBpMXE+BVxP+ENfNK5zEjX1MbNm+V1c7r4QWAYMpXA3EoTd0j4qIQaRlCkxSDaoXWSM4brE\n8ZJm/PwbqGlmH5rZR8DVJZw3nrAfwhzgYUJ31A8Fnn+EsAXnvBK+/jngsAKPHcJ+vO5+oyf2Qy7g\nPkL30kwzm00YFyl4Vf8osCuJDXAKOAyYWEIMIilT2W2RUpjZZu6+2szqAdOAdp7YNMfMbgNmunux\nVwxmVht4LfE1kbzRzKwW8DpwUAndWSIpU2IQKUViwLkuUBO43t1HJY6/B6wCjnD3taV8/RFAXlRr\nDMysKbC9u78ZxetLblJiEBGRQjTGICIihSgxiIhIIUoMIiJSiBKDiIgUosQgIiKFKDGIiEgh/w8k\n9zC0aV7vrgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "n2n.products" + "xs = n2n.xs['294K']\n", + "plt.plot(xs.x, xs.y)\n", + "plt.xlabel('Energy (MeV)')\n", + "plt.ylabel('Cross section (b)')\n", + "plt.xlim((xs.x[0], xs.x[-1]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To get information on the energy and angle distribution of the neutrons emitted in the reaction, we need to look at the `products` attribute." ] }, { @@ -396,7 +405,8 @@ { "data": { "text/plain": [ - "[]" + "[,\n", + " ]" ] }, "execution_count": 13, @@ -404,6 +414,28 @@ "output_type": "execute_result" } ], + "source": [ + "n2n.products" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "neutron = n2n.products[0]\n", "neutron.distribution" @@ -418,7 +450,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "metadata": { "collapsed": false }, @@ -426,39 +458,39 @@ { "data": { "text/plain": [ - "[,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ]" + "[,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ]" ] }, - "execution_count": 14, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -477,16 +509,16 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\nMAzDMAyv/B9ZBCMoWOfF0wAAAABJRU5ErkJggg==\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -512,7 +544,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "metadata": { "collapsed": false }, @@ -542,7 +574,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "metadata": { "collapsed": false }, @@ -550,10 +582,10 @@ { "data": { "text/plain": [ - "" + "{'294K': }" ] }, - "execution_count": 17, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -573,7 +605,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 19, "metadata": { "collapsed": false }, @@ -581,18 +613,18 @@ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 18, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZAAAAETCAYAAAAYm1C6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXmcU9Xd/z8nezKZZFZghmEYtmFXWRSKWFBA3HetWizV\nVq1atWqf6uNjRVqrj89PrVUr1RYXtBalYlUUKypoLVIFFNl3GGAGZmH27Mn5/ZG5mdx7z53cJDcr\n5/168WLuyV1ObpLzvd+dUErB4XA4HE686DI9AQ6Hw+HkJlyAcDgcDichuADhcDgcTkJwAcLhcDic\nhOAChMPhcDgJwQUIh8PhcBKCCxAOh8PhJERaBQghZDEh5Bgh5DvJ+DmEkB2EkF2EkHslr9kIIV8T\nQs5L51w5HA6H0zfp1kBeAjA3eoAQogPwbM/4WADXEEJGRe1yL4A30jZDDofD4agirQKEUvoFgFbJ\n8GkAdlNKD1JK/QCWArgYAAghswFsA9AEgKRzrhwOh8PpG0OmJwBgIIBDUduHERYqADATgA1hzcQF\n4P20zozD4XA4imSDAFGEUvoAABBCfgSgOcPT4XA4HE4U2SBAjgCojtqu6hmLQCldonQwIYRXg+Rw\nOJw4oZQm7RbIRBgvgdif8TWA4YSQwYQQE4CrAbwbzwkppZr9W7Bggab7K72udryv7Vj7pvNeqNk3\nXfdC6/vA7wW/F/l2L7RC/9BDD2l2slgQQl4H8FsAgxYuXHjTwoUL2yilGxcuXLgbwF8B/BzAq5TS\nf6g958KFCx8S/q6pqdFknvGeJ9b+Sq+rHe9rO/rvNWvWYObMmX3OJV7iuRdq9k3HvUjFfWBdO9l9\n+b2IvQ+/F/GP97V94MABvPzyy/jss8/w0EMPLYw5mVhoLZHT/S/8FjiUUrpgwYJMTyEr4PehF34v\neuH3opeedTPp9ZdnoucRqXi6ykX4feiF34te+L3QHkI1tIdlAkIIXbBgAWbOnMm/IBwOh9MHa9as\nwZo1a7Bw4UJQDZzoeSFAcv09cDgcTjohhGgiQPLChPXQQw9hzZo1mZ5GzkIIQXt7e6anweFwUsya\nNWugZeAU10A4IIRg7969GDp0aKanwuFw0gDXQDia4vV6Mz0FDoeTY+SFAOEmrOQJBAKZngKHw0kx\n3IQlgZuwkocQgs2bN2PcuHGZngqHw0kD3ITF4XA4nIzCBcgJDtfeOBxOouSFAOE+kMQJhUKi/zkc\nTv7CfSASuA8kOfx+P0wmEzZu3IgJEyZExgOBAIxGI0KhEAjhzSA5nHyC+0A4mqCkgQhRWTw6i8Ph\nKMEFyAlOMBgU/S8gCBSfz5f2OXE4nNwgLwQI94EkjpIGImz7/f60zykVrF69Gp988kmmp8HhZBTu\nA5HAfSDJ0d7ejqKiIvz73//GtGnTIuMdHR1wOp1obGxEeXl5BmeoDYIfh39XOBzuA+FohKBpSE1Y\nwna+LLg8EIDD0R4uQE5wYpmw8iW8lwsQDkd7uAA5wYnlRM8XDYTD4WgPFyAnOJnWQHbv3p3S8wtw\nDYTD0Z68ECA8CitxYmkgqRYgtbW1+Oqrr1J6DYALEA4H0D4Ky6DZmTKIljfkRCPTGggAdHZ2pvwa\nXIBwOMDMmTMxc+ZMLFy4UJPz5YUGwkkcJUEhaCTpECBSP8tZZ52FpUuXpvy6HA4nObgAOcHJtAmL\nxerVq/HWW29pek6ugXA42sMFyAlONpiwWEgFGofDyT64ADnByUYNBNBegHANhMPRHi5ATnBiaSCZ\nygPJlwRGDief4QLkBEfJWZ5OJzoLrTUGroFwONqTFwKE54EkjlItrEybsPiCz+FoD88DYcDzQBIn\nW53oWsMFEofD80CyggMHDuRNnwwlU1W+CBCPx5PpKXA4eQsXIAkwZMgQ/OEPf8j0NDQhW01YWrBz\n505YrVbF1zs7O9OSBc/h5CtcgCRIa2trpqegCfmsgbS0tET+ZpmwJk6ciNNOO03Vuf7yl7/g22+/\njWxXVVXhkUceSX6SHE4Okxc+kHQiLKg6XX7I3nxtKFVfX49jx45FtqUCxOVyYc+ePap9IzfeeCPO\nP/98rFixAgBw5MgRfP7557j//vv7PO72Hy9DR1uvGc1RZMEzL1+p9m1wOFkNFyBx4na7AQBtbW0Z\nnok25KsTfeTIkejq6lJ8/fTTT0/JdW/7yVtob+8VGPqA+P5FCxMOJ9fJj8foNOJyuQCEe4nnA5kw\nYR08eBCBQEDz80bTl/AAEDFHaR2d1d7BBQTnxCGtAoQQspgQcowQ8p1k/BxCyA5CyC5CyL1R46MI\nIYsIIW8SQn6WzrkqIQgQQRPJdTLhRK+pqcHTTz+t+XkFon0fWiIVNizzXsCgQ8DY+0+2h46HE3Py\nh3RrIC8BmBs9QAjRAXi2Z3wsgGsIIaMAgFK6g1J6C4AfAJiW5rkyyTcBkikneqxFPhnNoKysTPX5\nUu3j8RQY4Y7+Z+VWY07+kNZvM6X0C0LIYMnwaQB2U0oPAgAhZCmAiwHs6Nm+EMDPALyazrkq0d3d\nDSB/BEgsJ3qqBEi6fSvZkkho9AYx74q/isacTgv+uPjyDM2Iw0mcbPCBDARwKGr7cM8YAIBS+h6l\n9HwA89I9MRYulwuEkLwRIJnSQKIFVrYs7rGQaiss7SVk7PsnxXqn0U53DieXyGp9mhAyA8BlAMwA\n3s/wdACEBUhpaWneCJBMRWFFnzdXQ4VZHBhVKtqu2dos2qZgCJHckJ8cjoxsECBHAFRHbVf1jIFS\n+hmAz2KdILoWllDrJVXkqwBJdyZ6rmgdyRLUE+iDvQLSb9bL9jG5A7justdk484iC5598YqUzo9z\nYrBmzZqUFJzNhAAhED9zfQ1geI9vpAHA1QCuieeE6SymKAiQw4cPp+2aqSSTmejp1Dwy5UQ/PKJE\ntD14hzx4QEmUtvOcEY5GSB+sc7KYIiHkdQBrAdQSQuoIIddTSoMAbgfwEYCtAJZSSrfHc950lnPP\nVw0kkwIkHQ71E0Xj4XD6IqfLuVNKr1UYXwlgZaLnTbcGUlZWljcCRKmlrdK4lggCJFd9IInMO2Ag\nMATEx4UIoGOdiueMcDRG63Lu2eADSZqHHnoo5b4PAa6BaAMhpM9rRGsMDQ0NGDBgQEa0iMGDB+Ph\nhx/W7Hx1Y8tlY4MYZi0OJxVo7QvJGwGSLlwuF5xOJwDA7/fDaDSm7dqpIJPl3NVqIJWVlXj33Xdx\n4YUXpmwuStTV1UV+cGrCeLXE0u3HtT94XTTmdFqw6IXLUnpdTv7CNZAM43K5UFxcDIvFAo/Hk/MC\nJJYTPZUmLOEaahZiVvl8Qgi8Xi9MJlOfxz733HNp0xit5hDcXm1ciyx9q7PZJYvY4tFanEyRFwIk\nnSYst9sNq9UKq9UKt9uNwsLClF8zleSKE11JyLjd7pgC5Lbbbot/coxrqxF0l89tEm3/9e1+MY+R\nhvpGrgu5EGEmIvJoLY5KuAmLQTpNWFIBkuvkuhNdKnxSaVZKxAdjNQfh9spzP6KpH1bMHB+6uUk2\npvfnZnl9TnbATVgZJt8ESCIayCeffIKZM2dCr+97YUz02iyUBEMm+5WoEVbXXih2kL/wXkVy1wTP\nZOdkD3khQDJhwhJ8ILlOIomEs2fPxkcffYQ5c+YkdW2tNRBKKT788MOk5tTe3o729nZUV1fH3jkB\nTMYgfH51gpcV8htgZLLr/SFeoJGjCm7CYsBNWIkTKwpLyYSVbEOoWGG88Zznq6++wqmnnorOzk6c\nd955Sc1r3rx5WLFiBVOoaRGFNfN0uVnqo0/7M/c9PF5eln7ohkbZGC/QyFGL1iasbKjGm1PkqwCR\nLuKxyrlrYTqKRwPpa58pU6Zgx44dSc8HAJqbm2PvlEECBm6v4mQPeaOBpNOEZbFY8kaABINB6PX6\nuPNAtHBW9xWFFav7n1T4+P3+hBMNQ6EQBgwYgMZG+dM969qZpO5keSLiiHVHuV+EowpuwmKQThOW\nx+PJKx9IIBCAyWSKOw9Ei+isZDQQ6bGU0oQXer/fj6amJhw+fBiHDh2KfYDCnBLFZArC50s8IIFV\n4ZcS4Mrr3pCNO50W/OXZixO+Fie34VFYGSbfTFjBYLBPAZLKUibJFFOUHhsKhZJe0CdMmJARE9ac\nGexrrlzN9o2oQkEb474RjpZwARIn+SZABA0k3pa2WtSliicTPZUaiEBnZ2dSx2cKVrQWKGUKEYMv\nKCuPAvASKZzE4AIkTvJVgGSilEkyYbzCMX/4wx8AhOebqLa0adOmuK6ptH3PPfdg+I9Php8klx8j\nYDUF4VZh2qobzYjW2twUFiISFHuPcM2EkwB5IUB4HkjiCCaseJ3oWmggyZQyEbbXr1+vuI9aZs+e\nndBx0us9+eSTwJPA0fZXYLGEy6u8sTdxAXz9XHnI73PvDUj4fH1BglSUS8LzSPITrZ3oeRHGKwiQ\nVBMMBuH3+2E2m08YDSQbqvGqOZZSmvBcWfOglEZyXeKd39/fWBv526rX9idmMqoTSEG9QgdGhf2l\ne3ONJD+ZOXNm7jaUynU8Hg8sFgsIIbBarWhvb8/0lJJGSYDEqoWVLRpItB8lUQ2Eddxjjz2G//7v\n/477OAD4aOU3mDd/JgDguhFijeGRb46iS+qviIPTp8od7p8wnO1K9bWq9sirGgOA2Z1cYijnxIQL\nkDgQckAAwGKx4OjRoxmeUfIkasLSgr40kFgCinWslnPdvHmzZueK5t4Jcn/FbzbKTVXxYDEF4Uki\nDFgJbtLixIILkDgQ/B8AYLVa88IHkqgJK1kNJN4w3nRrIK+/Lo9UUnMcALz79lcIBkPQa2y+UmLe\nOXIB9MoyecIhEF/p+Gi4SYvDIi8ESLqc6FIBkg8+kFh5IJmKwoolDBI5Rol4wonV4vMFYLX23adE\nwGYAXGmyIB0b7GSOD97RIvKP6KRCJkRljawA3swq1+CZ6AzSlYne1dUVaSCVLwIkG/JAktFAtKjo\nq3SNeF9PdN+fj7Ewx5ftS/z7ZTGH4EmiM6JUI1EM/+XNrHIKnomeQTo7O2G32wGEfSD5IEC8Xi9s\nNpusum6mfSBqF3NpOfdk5hHv69lUI0vKxee3MMeX/V3ugwHkpi2qJyKNRB/K3vfKyRx5EcabLqQa\nSD74QBYvXgyv18t0ohNCZONaLZqxfCCxkva0zEQXjtNCq9ISi0Iobio4PKIEB0eVRv5JUbyz2XXL\nOGmGayBx0NnZmXcmLACorKzE4cOHRWOhUAhGozHuMu9qiV7wtcoDSVaAZJtGcekQub/iwfXJhY6b\nzSF4VZi2gjoi0jpCRv6syZETU4AQQqoAXA3gDACVANwAtgB4H8BKSukJ06S5q6srYsLKFwEyZMgQ\nnHbaaTh48KBoPBgMwmAwKDrXU13OPRETVrLziPc9ZULgFBiA7iQc7pdcdJw5/sYysWlL6myv3N/G\nPC5EgKuv+Zts3Om04Pk/XZrgLDm5Qp8ChBDyEoCBAFYAeAxAIwALgFoA5wD4H0LIfZTSz1M90Wwg\nWgPJFx+I3++HzWaD3+8XjQsaSKryQ6JNWJkuppitGgiLX4yX/2Rf3+Nn7BkfJnMIvj40E2bBRoBX\n/T3BiaWBPEEp3cIY3wJgOSHEBCA1zaOzEKkGkg8+EL/fj4KCAkUBkg4NJBknupYCJN79skXgWPSA\nJ8lo6+/PFWeof7asSLS9b3w/5nHDN7GbcLG47SdviQQLT07MffoUINHCo0dYjELYn7aTUuqjlPoA\n7EntFGOTrjyQzs5OlJaGHYwFBQXo6upK6fXSgSBAfD6faDwUCsFgMKQ0Q10LE5YW2oOW4bsC7xS/\nBDPR4/rgA4lOSzU/GGaXjT2/PbnvZiyNRKCvBESpacvgF3/OXEtJPxnJAyGEnA/gTwD2Ivx9GUII\nuZlSulKzmSRBuvJAOjs7MXjwYACAw+HI2f4R0fh8PqYACQaDKddAkjmXUgHEREilCct9rAvW/vIF\nPtXY9AQuRsa5WmZc0iHafvuf7OZWPit7CeG1tbKTTOWBPAHgTErpHgAghAxDjxNdk1nkCNFhvBaL\nBYFAAD6fDyaTuozjbETwgbA0kL4EiJY+EK0SCdNtUlJzvfdqnxFtX7j3VpjKClI1pQg31cpDcQHg\n6R3p77jYF9H1tgBu1so11AqQTkF49LAPQO4/fsdJR0dHRIAQQiJaiGDWykX68oEYDAY888wzMBgM\nmDlzJpYtWxZp4JRqH0i8x6YjE521/7Zt23Dffffh3XffVXXM5rmLZWNj/3N9XNfNBHH3badU0cHe\nF9yslVvEisISelyuJ4R8AOBNhM2eVwL4OsVzyzpaW1tRUlIS2XY4HOjo6MhZASJ08bNarYomLAB4\n5plncPDgQSxfvhy///3vI8cmQ7TGkEwioRbFFBOFEIKVK1fivffek89POfVOhq/JBVO5TevpMbHp\ndXAF4//slPq2f7PPBD0jOktHERYiUcQq2MjJPWJpIBdG/X0MwIyev5sQDuc9oTh+/LhIgBQWFua0\nH8Tv98NoNMJkMjFNWIJpTsgJEcaB7InCEpz86RAgcdXCiuO8ayfLixQCwOxDt8dxFnX8dBS7o+GC\njQ0Jna9+eAlzvHaDvNWB1F/C/SS5T6worOzXrdOIVIAIGkiu0pcAEUxbQHjhlAqQVGsgrP1Z22az\nOXKOVAmQTIXr+pq6YSpPvb8EAAoMBN1JNLqSolQ2PhqmRsJVlJwilgnrAQB/pJQy25gRQs4CYKOU\nrkjF5NRCKU15HSNKaV4KEJPJBJPJJPOBBAKBiAABAJ0uHNKplQYSq5SJWg3ksssuw8aNGzOyyK9b\ntw6DBg0CADQ1JdcUinn+770sGzv1Pz+Arsiq+bV+NUac9/Hk9la4k8gtOcLoiFhxQFyGJcgoj6L3\nh2SOdYA717OVWCaszQBWEEI8ADai13Q1AsApAD4G8EhKZ6iCv/71r5g3b15Kr+F2uyOtbAVy3YTl\n8/n61EBstl67vCCgE9VALr/8clRUVODZZ5+NjCWjzUiFT6Y0kI0bNwIA+vdnh7lqjeuON2Rjxa/d\nrPl1bhglfiD7/Wb2PTCbgvCqdK5L62uxUCwbz53rWUksE9Y7AN4hhIwAcDqACgAdAF4DcBOlNK5a\nHoSQxQAuAHCMUnpS1Pg5AJ5CuDrwYkrpYz3jFwM4H0AhgBcppatY573nnnswZ86clP6IpdoHkB8a\niNFohNFohN/vF2ly0SYsQC5A4l2sly9fDofDIRIgWpQySacTPR4tN536kLexG+Z+qTV1KdXgOm8G\nW/P6eEUR/D6xhnGsRlxfq2JvKwxx5KrwkN/sQ1UYL6V0N4DdGlzvJQDPAFgiDBBCdACeBTALQD2A\nrwkh71BKd0QJsCIA/w8AU4Bcf/31uP322/Hmm29qMEU20ggsIPcFSCAQgNFoBCEEBoMhYtISXutL\ngCSjNQh/J1MQUepET0ffEhbZUAL+4zEvy8auaL5H02vcPpYtoJ7c3M0cnzxHXnxx7UpxtOKhkfLo\nxeGbGlW7QbhWknlU1WgmhNQSQl4ghHxECPlU+BfvxSilXwCQ+lNOA7CbUnqQUuoHsBTAxZJ9HgDw\nR6XzLliwAN999x2WL18e75RU09LSIhMguW7CCgQCEee41A+iZMLSIndD+DsZH4hAtEBLlQbSV8ka\n5Wtmtk6Wp5G9sGcSszm2kA8adQgw/nGyE7WJhMsQLmXyFwBaN8keCOBQ1PZhhIUKAIAQ8r8APqCU\nfqt0AqvVisWLF+PKK6/EzJkzZQu9FjQ0NGDAAHEIpNPpRF1dnebXShdSASKUNRFe01oDkaKFMEpH\nGK+QJEgphdvtFglWxfmlZCbq+fDk55njlzTel+aZ9HL+BeJS8m++wy7QyIIVsSUof9FFGrlZK72o\nFe0BSukiSulXlNINwr+UzgwAIeR2hE1bVxBCbupr39NPPx1XXHEFfvGLX6RkLvX19aisrBSNlZWV\noaWF3To0F4gWIEajUeRIl2ogWkRhSc09WiYSptKEFU0umywBwH00ewqA6o3yzyyg0IWR6glCkn9B\nXXjfaFMWN2ulF7UayHuEkFsBvA3AKwxSStndaeLjCMQl4at6xkApfQZhn0mfCMUU7XY73nrrLSxf\nvhyXXXZZ3wfFSUNDAyoqKkRjZWVlaG7OrtpC8eD3+2UaSPRrLA1EC7+F8LcWTvR0JhKyUPKBZFoD\nUWLpwKeY49d7f5nQ+Qr0QHeCNolhp8iF8S6wqzoM2yJ31vuNOlx53RswJ3b5Ewqtq/AKqBUg83v+\n/6+oMQpgaALXJBBro18DGE4IGQygAeHuh9fEc8LoarwXXXQRLrnkEkybNk1mckqGhoYGnHLKKaKx\nXBcgLBNW9GtaRmEJsIofauVET7UAqaurw6FDh0Rj2eBE1wLX0W7YBsQfyfWL2kLm+MItXejSMDGR\nifBQg94FJU8+Ds2RtrtIazVeSukQLS5GCHkdwEwApYSQOgALKKUv9ZiqPkJvGO/2eM4b3Q9k6tSp\nuPHGG/HTn/4U7733nmY/8Pr6epkGUlpamvMCRKh3JW2QJTVhCSRrMooWGn0JI7WJhOkM4925cydO\nPfVU0Vi+CJA3Bi8SbZ974FpYBiRen+vBSfKQ+ic3J1YuBVDoiNhTsJHqSZ8a389v+Dva2+SmLWeR\nBc++eEXCc8pFMtUPxAjgFgDfF+YB4PmeqCnVUEqvVRhfiSRKw0v7gTz44IOYOnUq/vznP+Omm/p0\nnaimoaEhr30gNpsNLpcr8lqsKKxEBQgraiqZUibpCONNBIuNwEp0CIUodLpeIRPwUxiM2S90Vta8\nLtq+2ndH0udU06PEZArB55O7Zg9MkDvch25ohNRYKJi1orF0s5cpllDJdzLVD2QRACOA53q2r+sZ\n+6kms0gSaUdCo9GIV199FTNmzMCsWbMwbNiwpM4fCoVQV1cXKVsh4HA44PF44PV6IzWZcom+BEgg\nEOjTia6lANFCA0mHCYtFLB+I2yW+T7u3yxetfhUGhLSObdQYLSoG31IrLm9yW3MXOsQFEHDWbPYD\n2crVyknCISOBzt9zx/NEI0wVGdFAAJxKKT05avtTQsgmzWaRJKyOhGPGjMEDDzyA6667Dp999lnE\nVJMIDQ0NcDgckX7oAoQQlJaWoqWlRaad5AKxNBCh9wmgvQ8kXg1E6TyZdqJrwfAx7IZke7f7oZdE\nJYVCgC4DaREbZ7ArBp/53c8SPufj35e/7//dxNYWWCVTAnoCQ5Di+CxHZMz5aSd4RUZlMqWBBAkh\nwyilewGAEDIU2ueDJIxST/Tbb78dH374IR588EE8+uijCZ9/7969ilqM4EjPdQFitVplGkh0Po3U\nhCXtla4Wls9CGp0lHetrO91hvFJSGYXVcNgnGxs+TvtCirnAed+X+xr/4S4HADjRe5+MPvn3IER6\n+pNIoDpywhVuzJQG8l8AVhNC9iEs3gcDyJpS70o90XU6HZYsWYKJEydi5syZmDt3bkLn37NnT0wB\nkotEh/GyNJBos5xUA0lWgIRCIab/Qm1ob7ZrIPE0lOL0YtNTuILaahBdxWyhW6jgA8nnXJKMaCCU\n0k96CiqO7BnaSSn19nVMtlBeXo7XXnsNV199NTZs2JCQprBlyxaMGTOG+VplZSXq6+uTnWZGiI7C\nYgkQo9GIZ599Fv/3f/+XUgESvfCr1SiyxQeyY8cO9gtpbL+nNwDBDPVmch/rhrW/PPzX3dgNawIF\nHm8cTcHS357fLrfbmc0heL06GPQhBILh19X0IeFoR6x+IGdRSj+Nam0rMJwQAkpp6opPxYGSCUtg\nxowZuPXWW3Httdfi448/jjx1q+Wbb77BffexS0AMHDgQhw8fjnfKWUEsH4jRaMRFF12ERx99VHMT\nVrQAiT6XWr8ISwPJJn7u/gIzDZUYQ0swGsWwkPi+c/Ew+iT5E/aOzel5il465M+q9000WVGJc88O\nO9xdUW6Tf+0sku3nbGYXDVeU8XlceivdJqwZAD6FuLWtAAWQNQIkFvfffz/Wrl2Le+65B3/4wx9U\nn5tSim+//RYTJkxgvl5VVYVdu3apPl82ITVhud29PzSPxwOr1YpgMBgp9Q6EhQ6grQCJLuKoJEDU\n+ECySYgM1TlQobPhYxzGC9iGodSBcSjBSbQUVbBnLH9Ep0fGIr58zd0wlSVWdt6mB1wq5m0whxDw\niiWAklYibbErYHIHRL6RfPKJpNWERSld0PPnbyil+6NfI4RoklyYLvR6Pf72t79hypQpWLx4MX7y\nk5+oOm7v3r0oKChAv37swm9VVVVYvXq1llNNG263O9IgS6qBeDweWCwWeDweBAKByGIvZKsnIkAo\npSInOkuAKJnIck2AlBAzzjcOxln+QXDTAHaiDZvRgmdCm+FDEGNJKcajBOMIu3RHqhgyzMIcP7jf\ng0BcWV3x8+35r4i2x/zzWuiL1YUG3zxGnvH++83yStijzpaXR/nqS3YI8OBNbN+lVLS3dnpw7Q96\n82KcTgsWvaBtqaRcRa1e/RaAiZKxvwOYpO10UktRURHeffddfP/738fIkSMxffr0mMd8+umnOPPM\nMxVfz2UTllSAHD8eLm0maBkGgyHSbEoqQBKJeuoxe0aOF87B0kCEsVhRWfGGFdM0tD+WYiUGnIIy\nnIIy6HQEjdSFzfQ41tFjeIXuwPPrCnFGWTnOKO2Hk51FMGQgTveUyeIQ9Y3/6UL0R6zTU4Q0dm43\n/1QeAeV482rVx9sMBK4kyqUws9vBMG1Jvi/57GSPl1g+kFEAxgJwSvwgDoRb22YFsXwg0YwcORJL\nlizBFVdcgU8//VTROS7w0Ucf4YILLlB8vaqqKmcFiGCmAsQaiKB9AJAJEGFhT1YDUTJhSYVKLAES\nby2s6MCBVNLXTPoRG2YRG2ahCgEagrnWg3+1NOE3OzbjiNuNqSWlmF7WDxZagDKSmbDdykHixNih\no9nC48CedMyGza1jwomJT25qQ1dA+YHGagrCzWi7e2h0GXP/2g1HxZ9fT8kUgVzOMkm3D2Qkwi1o\niyD2g3QCuFGzWSSJGh9INHPnzsXjjz+OuXPn4vPPP8eQIWxrXGtrKz7++GO88MILiucaMGAAWlpa\n4PP5It25V/tnAAAgAElEQVT8cgW32x0RFDabDd3d4SZELAEiLOzJmLAA9T6QRDQQNQJECA7IFgxE\nhyklZZhSUoZfjhiNJq8H/25pwhctTViN7bBTI8aiBONQipGQO4jzjVCbG7qi+ITmvRN6TVT3/acB\nXZKItJ+ew267+4d/VDDHpehCgPSRIFfzR9LtAxFayn6PUvqlJlfMEubNm4fOzk7MmDEDH3zwAcaN\nGyfbZ8mSJZg7d26fDar0ej0GDhyIuro6DB8+PJVT1hy32x3JNo/urhgtQAwGA4LBYMSspbUAEQSU\n9HWpAFFyqsergURfK7UkZlopN1twSeUgXFI5CJ83dKEOndiC4/gAB7EIWzB5XTHOKC/DGeXlGFVY\nmDfFHAXct/yDOW5bpi7j/f4J8iXtnQPxfeZBI4HeH//ndyKattT6QH5GCNlOKW0DAEJIMYAnKKU3\npG5qqeeWW25BUVERZs2aheeffx6XXHJJ5LVjx47h0UcfxYcffhjzPLW1tdi1a1dOChAhOKCoqAht\nbeE+1tEChBACvV4Przec9qO1CctisTA1EEFQae0DSZcA0cKdryMENXCgBg5cgBq4aQDGGhf+1dSE\nW9dvQHcwiDPKyjDV0Q/TSspRZsoaq7LmeI51w8LIN0kGiykID8O01TBN/MBYtbpZlMmuFP6bZ7Jc\nFWoFyEmC8AAASmkrIYQd15oB4vGBSLnmmmswePBgzJ8/H0uWLMH8+fMRDAbxwAMP4JZbbpH1AGEx\nYsQI7Nq1C+edd14Cs88c0U50JQEChM1YggDRSgMRorCkAiTVPhDhvNEO/VzBSgz4fnl/zB4QNtnU\ndbvwr+YmrGpowMO7N2OgxYbvFZdjSnEZHKECWHWpyz0RMJoAv7ziCnQ6IIE4C0XerpLnm1zdeCsM\nJbGFilkHeBlzufSsRub+73wh9o24C8WmaWu3X/EBITpaSyCborYyVcpERwgpppS2AgAhpCSOY1NO\nvD4QKdOmTcOmTZvwl7/8BYsWhfsiPPjgg/jBD36g6vja2lrs3LkzqTlkgmgnulSACONAWIAIvUKE\nBViLaryhUAhms1kkQKR+kVgmrHjDeNOtgRAS9sFCYRuILzKsq7X3ibkIhbiwoBBXjB+KQCiE7zpa\nsa6tGS/W7cF3bW0YbLBjvLEE440lGGUsgonIn7aT5dTpduZ43V75fQ4EKAyG3vcZCobzUhLl2E9e\nAgD0f/5mWAew5wEA51SzfV5/3sH+LhgNIfgDUZFwJiCq3Fbc2e7ZZNrKVDHFJwB8SQhZ1rN9JYDf\naTKDLMFms+GOO+7AHXfE3/egtrYW7733XgpmlVri0UCkAiRRE1b0ws/SQILBIPR6fdwaSLaZsAgB\nDAaC8v7ixcvPsK0bzezyHeqT/igMOh0mFpViYlEpbq0ZiW83dWFXoB3f+Y/jr649qAt0YYTRiSko\nwwRbKUZZnDCQ9IYL798trn5kMMqd5eUD4/9eLa3sbdN74aHrVJedt+oBN+Ny0ya0irZ3DRSbBg9v\ndIDFoJ0tzKKNgFwzySatJBnU1sJaQghZD+CsnqHLKKXbUjet3KK2tla5JlIW43K5IgLE4XCgs7MT\noVBINA6EHelam7CUBEggEIDVao3bB6JGAyGEwO/3Y+3atTlhvqqqVtdjhiWA/F0EQ1CEISjCxbqh\ncBkD2EnbcDjQjt8f24IGvxvjrcWYaCvFBFspJoeKoc9EnXgZyRUR+2b6m7KxKTt/zNz3xyPZ5q9H\nv3Exx2PhtrM/r4JOednA7sZuzL/k1ci2o8iCZ16+MqHrZpJ4zFAlALp7WtCWE0KGSLPTT1RqamrQ\n0dGB5uZmlJWxY8uzkc7OTjgc4acpvV4Pu92Ozs5OdHR0RMYBsQaSagESDAZhtVrR3t4OID4NJJZQ\nsFqt8Pv9+Oc//5nQ3HMZGzFgAinDZZVVAIC2gA/fuFqwsbsZKxoOof2wDxMLSzG5sAwn20tQrrOB\nhHoXcq+HwmxJvZfYaGFrY8kQanVDp1CRl0WBAeiOCgV2mCBqfGUxh+Dxqhe2LJEo3e5gVAa+/cfL\nZOPZJmjUtrRdAGAywnkhLyHcnfA1AKenbmq5g06nw4QJE7Bx40acffbZmZ6Oatrb2+F0OiPbghmL\nJUCEOlmCINGqlInFYkFra6/JQBiTlshX8rnE09JW6m85kSkymHCmowJnOsK5EB16L9Z3tmBjZwuW\nNR1Ac8CDCUXFmFRcjMklJdi70gwzw4cy7Sxl30O20HmLXCsBgNI32alsPx8n1iQserGm8spIdgmU\nf/zeCh3DN8ISuzKhwpBHLKHCGsskajWQSwFMALARACil9YQQeXGaDJFMFJZWTJo0CRs2bMgpASIV\nFMXFxWhpaWEKECHJUBAkqTRhCQmZwWBQ00RCq9UKr9ebltyJ7DeQielnsuK80iqcVxrWUGiRBxvb\nWrH++HE8sXMntqIdA2kBRqAIw+HECDjhJOlr42wwAAFJgmCyWpGv2QVTWXJteqNpGOJkjg/fdKwn\nGTHq2gqFHFNNpqKwfJRSSgihAEAI0TYgO0mSjcLSgokTJ+Ltt9/O9DTior29XSQoBgwYgKNHj6Kz\ns1PUztZgMIjKnADJCxChQCMrCstgMMBkMsHn82kaxltYWCgqGJlKcr2hVKnZjDn9B2BO/wEAgFUf\ndOIAOrEbbfgCDXgZO2CnRkzbWopJRaWYWFSCobbeKsN6I0XQL17cZaG9cbg7Rp8kX3LWrgo/1BiM\niBSCDAaprA2wEhtOZ7fpnbKj70KrFh2FJyS/hskUhI+RV9LOqEDsbBZ/D0MEuOqHS8XXAeP2JPns\nk6korDcJIc8DKCKE3AjgBgDqGwGcAEyZMgW/+tWvMlKsLxEopTJNo6KiAg0NDejo6BBVHzYajXC5\nXCCEwOPxQKfTJdzHPDrPIxQKMTUQvV4fyVCXNrKKPlf0uBoB4nA4Iu+DEx8mokctilDbU04lRCnq\n0Q2XyY21jc1YtG8XuoMBnGwvwSn2EswZ68BJJU6Y9b22mS1fiiPSjEb55xAMhBtkxcNpZ/Sa0dat\n6Za9PmpCfJoSbXeBOHs1E2+zC+YoTeXaMvZ3/8AZbNPWhqU2UJ/4vaoJBQ4ZGHatEMV1l70GZ5EF\nz754RZ/HpwO1UViPE0LmAOhA2A/yIKV0VUpnlmMMGzYMer0eO3fuxKhRozI9nZh4PJ7Ik75AZWUl\nGhoa0N7eLmrhKzjRbTYbPB4PzGZzwhpIdKZ5MBhEQUFBRKsBesN4BQEi1K3SIozX4XBETHG5Siqq\n4iY0D0JQBTvGl/fH5eU1AIBGnxubulqxqes47v/6CPZ2duOkYgdOLS/Caf2KYQ+WoFDfdx2yYwdT\nUKdMDyCOr2vogSWi7S/eFWsV5225lnmcRU/hYXw2zpnyi+/7VlzGf8i2ZnmCEAPh7O1Z4gtR60Qv\nAPAppXQVIWQkgJGEECOllHskeyCEYNasWfjkk09yQoBIzVdAWAPZtm0bGhsbRRpIUVH4qdNqtcLt\ndiclQKITBYPBoMysJJiwhF4ken34x6tFGG96TVipoXqcvLte88HsKGHSz2TFnBIr5pRUYtAoP7r8\nAWxobsNXTa14YcdBrD+2Cf0NVoyzFGOspRgzisox0GxLuUZYNpZ9/l2btP2Uzh/M7vL92FG5BqQ3\nhBCMSlZklZYP6gj0Icn3Hj1CJPPPEADUm7A+B3BGTw2sDwGsB/ADAD9M1cRykdmzZ+Ott97Cbbfd\nlumpxERqvgLCvU0++ugjNDY2oqKit1Kp8LfVaoXH44Hdbo/khcRLIBAAIQQ+nw9+vx8OhwNutxuh\nUAg6nS5iwiooKEB3d3ckH0WLMN5s1UB8XgqTWb4ihEIUOl3slcLnozCZYvgbelAyscrHxQ6KREqT\n2I0GzKgow4yKcGj7prUUe32d2OJpxZeuRizevBM6QjDeXoQx9iKMtReh1uKE0yCvak0IBaXiebMc\n6/GQaC95T5MblnL1YcFOE9AuKfcyeFyXaHuvXh7+b2+T/8YGHGxXfd10oFaAEEqpixDyEwCLKKX/\nRwj5NpUTy0XmzJmD2267TZThna2wNJDRo0dj27Zt8Pv96N+/t0T2gAFhR2pxcXGkgm90+9t4CAQC\nsNls8Pl88Pl8sFgsEW3DZrNFNJCCggJ0dXWhuDjc80GNDyQW6dRAlGAJhbUfs80RhQ51dT7WrZZ/\nFjXD2VpJeMGVC1qLVWxvNxeI72e/AfG1KvB7KYwSoagnOtSanag1O3GZswalZXo0BNzY0tWGLV1t\n+Mvh3dje1Y4iowljC4owuqAIYwqcGF1QhMpyvWzeJ00K+z5CQQpdj+Oc6ACqUtANU9BMpCVWpJ/Z\nymnsTt7D11+EkEP+u//TWfJIr5s/dYlyS5Qc8FIErYSqDBRINaoFCCHkewhrHEKIgvaFdXKcfv36\nYdKkSVi5ciUuuyy7yxS0tLSgtFRshx0+fDj27t0LABg0aFBkXNBASktL4fF4NBEgfr8ffr8fBQUF\nkV4kNpstooHY7XZ0d3crVttNRgMR+sCnErOFoHKQCV6veE6NR/PM6ksoQOWL2cZ/AdIFv9BBRKVZ\nWltDsMCMyeiPyQX9gQLAXktQ5+3Gtu42bO1ux+rWBuxydWCg1YrxTifGO4ow3unEaIcTQvJEa3Ov\nxCgqkX+2AQ9giMPK11ov3rm5UfzQ4Sxmf3+qHn6XfcI//UI29PtZ4uXz8YEtsn3+/Y9C+D1iwd48\nMGuyJwCoFyB3AvhvAG9TSrcSQoYCyJpG4NmQByJw1VVX4Y033sh6AdLU1ITy8nLRmMFgwMiRI9Hc\n3CxqujRxYribcXFxMQ4fPgyHw4GWFvkXPhaUUvj9fpEGYjKZUFBQENEMBCe6xWJRJUDi9YG0tLSI\nNK+bbroJK1asQH19fdzvpy9yO4hXPY4i9pNwPaNJ55DR4sVw/3b5XQr6CAYSOwba7ZhjD+ekBGgI\nbYVd2NzRhs3tbXi7/jD2dHWi2mLH2IIiDDUUYoTVgWFmdo2qfZ+xn3WL+weQSDkwtaZFAfexblhj\nlKIv0FN0SxzwUy+W93z/998LQf0EugRjDTKSB0Ip/RxhP4iwvQ9A/FUHU0Q25IEIXHHFFbj33nuZ\nC3Q2IXWUC6xYsSLSPEpgxowZOHLkCO666y50d3ejuro64Ta+ggbS3t4eESDR3RCjTVjxaCBqBUhd\nXZ0o+95gMIiiwDjZh4HoMKrQgdEOB66qqgYAeENBfFPfha1dbdjS3ob32w7jgKcLJTozhhgKMcTo\nCP9vKEQ1NTH9Pn6lciSk794ene3sAJKAzwCG+wZLqxfJxi6quwHWAb1C5e7B8hIu/++gHt0Sx7pz\nUhJOH2QuD4SjktLSUlx66aVYvHgx7rvvvkxPRxElAcdqikUIQWVlJQwGA9rb21FWVpawCUvQQJqb\nm0UCRNBAop3oXV1diqVKWJnosSLDnE4nOjo6UFlZGRmzWCyRulu5gN8X7sGRamgIoqfzVOQ3sUrb\n97VvNGadHuPsxRhnL8aPejpSB0IhfL2/HXu9Hdjj68QH3jrs6ewA2QCMLHBgpM2JYdZCDLc5MNRq\nh51VP4RxLaMRUFMBZ993Sh+MfNF/t/pF0fa8vVfDIKnX9auTB8iOu6G+De1ewJm+IgB9wgVICrjj\njjtw4YUX4s4778xaZ3pjY2PcHRQNBgPa2tqSEiBSJ7pgwopXAxGERbSAieVILykpEdXdAgC73Z5w\nSHJfpMqEtetr+cpBiFu2EAcDFHqD+gVfapaRPp37fEEk+66k0WaOIrlpyedJ/BoGnQ415kLUmAsx\nq2eMUgq/PYCdrnbscnVgXXsT/np0Hw56utDPbMEIeyFqCwsxwm5Hrd2BoQUFsBp0oFGZ5pNPF9f7\n+upfXYjnK2Nx6ODp6Pu7eejncv/J0Pfvlo09e252OM8FuABJARMmTMDkyZOxaNEi3H23/EuQDSRi\nYjMYDOju7kZZWVnCZh+WAIk2YSk50aVmNakAic5yV6K0tBTHjx+PPEmfffbZOPfcc/Gb3/wmoffS\nFx51jTwAAHo9mAuS2qd+W4F8IT50gB1mPWI0+4GmtUV8f0sr1MXIsMJrAcBqlT/df7tW/Bg/fHQ8\n+SusuifyMWm4MSEE5SYLyk0WTC/qjSwM0BCOBtzY6+rAHlcnPjrSiOdce3HY241qhwWjigswutiO\n0SV2lHaVosZmh7Gn3P3wUex7KG2YJXDVcxWysVd/dEQULRYKhecejb+5G0ZpGZQuN2C3At1ugF16\nK62oTST8PwAPA3AjnAdyEoC7KKXsYjIc/Pa3v8Xs2bNxww03RBLxsoljx46JQnXVINTHKisrg8vl\nSsisIZiw/H4/fD4fjEYjiouLI5qBIFSKiorQ2toaEQpSgSXtXMjSQN599108+uij+PLLLwGENZBo\nAfLOO+/ENfd4cIfCC7JUE2AJC6UFqW6/F9nuji8dxOhnC+DgHm2DNC2F8oeDrrawJzna1FYxSH7d\noJ9lqtLB6rdjiNWO2VHBiP5QCN5BzdhxvAvbW7vx1p6j2HJsHxq8bgw021Bjs2MAbBhssWOQqQDV\n5gIU6cM+lt3b2Vr5JJ8DOpN4XjabeNvvls/7m7Ofl42NPzfqy/O7a5jXSydqNZCzKaW/IoRcCuAA\ngMsQdqpzAaLA+PHjcckll+C+++7Dn/70p0xPR8bBgwdRXV0d1zHC/lVVVTCbzeju7obdrr6cN6U0\n0jAqEAjA4/HAZDKhrKwsEtXl9XphNptRXl6O9evX9ylA9Hp9RDNh+UAGDBggClUWBIiAXq9PWUhv\ndyCAzo4g6g+JF9iRY7PTpJkOpNpBvNFMms+HkUth1usxxGnHmJLe7/WB72wIkBDqPN046O7CN4fb\n8JWrGcsDB3Ek0A0KoMpQgFJqRX/YUAEb+sOG/rDCRPTwbm6WXUvaS551L5gPaAYdEAgBpuwwHqmd\nhbDf+QCWUUrbeUG62Dz22GMYN24cVq9ejTPPPDPT04ngdrvR3t4eSRBUi+Azqa6uRllZGZqbm+MS\nIAAi9a0sFgs6OjpgMplQWloa6f/h9XphsVhQXl6O5ubmiFCQ+lwCgUCkXhbA1kB0Op0oHFnodyLs\np9PpknIMv/DCC7jpppuYr91SPDrh8/aFkpkk2eOli5VaJzrL9AKwM9f7DRDHnna2y7WKArtSZJQ8\n30R4L0RHIz6L6KTCqNmDVftDqXJva4NZ5EjfuUX47hlQiSKMsJf0nplSdFA/jgS6ccjvwpFANzYE\nG1Ef6MaxoBtOYsKrb9ow3GnDMKcNQxw2DHFYMe50Byz6Xq3jyF75vQj4KUKSUibm78X30Jdq1AqQ\nFYSQHQibsG4hhJQDiNsITghZDOACAMcopSdFjZ8D4CmEM4MWU0of6xkfAuB/ADgopVfFe71MU1RU\nhBdffBHz5s3D+vXrReVBMsmhQ4dQVVUFXZwtTM8++2w89dRTGDJkSERrqKmpiescgUAABoMBhYWF\naG5uhtlsRmlpaaQlsFCssby8HE1NTX1qILEEiFCUUcBgMMBut0eiroT3L9T4isXjjz+OX/7yl5Ht\n6dOnK+472ZqaEG5pX3EAsBfqZGYxpQin/bvZP9vw4t57gN8rNql4PexOgZ5OduRRWT/50tLemngI\nanGV3En07w/D5zvr8t7VfsdX4vcBAKXl7GWu4TDb/DZinEF076T30mYX35sCGFABK8a6g5Gy8gAQ\npBRNQTeKxnRib6cLu9tcWFXXggOdbhzq9KDUbEK1zYbBBTY4vTZUmQow0GzDQFMBnHoj+rPMca4g\n9DY9gu6QQgxZelGbB3Jfjx+knVIaJIR0A7g4geu9BOAZAJFyl4QQHYBnAcwCUA/ga0LIO5TSHT0t\nc39KCGG3FMsBzj77bNx000246qqrsGrVKlgsmS98d/DgQQwePDju4ywWC+68804AEGkN8SAIEIfD\ngfr6ehQWFjJNWGVlZWhqaoqYqFgCxGAwRBZ+lhOdZaIqLS1FU1MTAESeqAcMGID9+2N3Z5b6sqLD\ngRUhEK1nNERBNDbb1I6Rm8X27mILCqmzPOuQ3C8BaXkRoNefFPAhkn/BKmXC1kqUNRCplsaKFmMx\n7jRIapoRAAVoO1aEk20EsAHoeYY8csiLo24v6gMuNLhcOBpyYXX3UdT7u9HgdyMIiur9NlTbbBhk\nLej534aGRR2osdsA6FB9qapppRS1TvQrAXzYIzweADARYaf60XguRin9ghAiXblOA7CbUnqw51pL\nERZOO+I5dzbz61//Gtu2bcO1116LZcuWRSrMZor9+/fHrTlIqaiowJEjR+I+zuPxwGKxoLCwEHv3\n7oXdbmeasAYOHIgjR45EijZKNQShGZXgfBc6HEaj1+tlQqWiokKWdd6/f/+IAFm1ahXmzJnDnPsF\nF1wg2pbWEotGWIAKJBFSPj8gXSFLStk/Q7Z/ID1OdaVFV476rlDSgAJWrS+7g32u7mb5voOHhbXL\nfd/1fsal5fL9GuvZQvNYPTu5w2AQh0pL/RO2AiIK8xX46hP2+WqGG2S9TybNCgEhAwAHAAcObzfD\naOrVKdr9Pny49jgavR40HndjNW1BIz2MQ6QL9w0fh4v6ZYcpS60J69eU0mWEkOkAZgP4fwAWAZii\nwRwGAjgUtX0YYaESTU47XHQ6HZYsWYKLL74Y11xzDV599VWYzZnLBNq6dSvGjBmT1DmGDx+O3bt3\nx3UMpRQulwtWqzUS0WW320WLumDCcjgcsFgsOHToUKQKcDRCKfijR49Gzs3ygYwYMUI0VllZiS1b\ntsjey7p16yLzUaK4uBh2ux1dXeFKqoQQVFdXo66uTrTfyZYS1uGawA75lS/iSiYstVV1o+tLhY9j\n/wRtTna4cnujvNbGgX1i89v4iazyHuoFEssv4/dRGE3qjo/uZBiN9N5JfTUjxrGXzaP17PNt3yw3\nj9ZeUgh9lMD4dkkbfBKlcYipEFU+ce2r5bbdaGjyosHnxzjmLNKLWgEifEvOB/ACpfR9QsjDKZpT\nBEJICYDfATiFEHKv4BvJRcxmM9555x1cc801uOiii7Bs2bI+n2BTydatW3HeeecldY7a2lq8+Wb8\nlkW32w2bzRZ573a7HU6nEwcPHgSlFF6vNyJchg4diu3bt6OsrAydneK6QMFgUFSSJBgMMk1Y//M/\n/4OdO3dG5lpZWYkPP/xQtN8TTzyBm2++GVdeeWWffiqdToeqqqqIvwYALrnkEjz99NPi81XG+1zF\nXjRZ5phR4+WVXe0lconAyg0BlCv8JtBgsk8C/hAMRrGVXir8/P4QjJJ9WOG6wvxkeRK+sF9Gb6AI\nBsL377sN8sV6hEK+yamnsx8W/BI3U+vxgKgIJAUFYXxeYyeZmCaxdavdMqHf/p1bJPxmXWqUvT9P\nl15mtnur56srda5nCrUC5EhPS9s5AB4jhJgBzXw4RwBE62NVPWOglB4HcEusE0TXwsqWoooszGYz\n3nzzTdx555049dRTsXz5cowdOzatc6CUYvPmzUlfd9KkSbj77rvjygUhhMDtdqOoqCiy+Dscjkjx\nxObmZrjd7kiC4/Dhw7F582ZUVVVh69atonNJBYjP52MKELPZjF/+8pcRZ3tFRYVMGPXr1w/9+vVD\nQ0MDAODuu+/Gk08+CQC48MIL8d5770X2HTZsmEiAPPXUU7jrrrswadKkSIhwZ0fvaiHt88GKMrI5\nAJZpSsm0lQxqNRCp8FLqvSGN1hLY8q18IR9aK/bV7GA8mZ85kB3m3NXCqh4YnuCwU3ondmCfXOgq\nf0fZglsq2KqHiK0FRlMIhMg/ryM72DW0Blab5YKFBkVajruTEXTQJI8S9HhCaOsOoMXLDgBQQusi\nigJqv6FXATgHwOOU0jZCSAWA/0rwmgTiT+1rAMN7fCMNAK4GEFeGTDYVU4yFwWDAH//4R7z66quY\nOXMmHn74Ydx4441xR0Qlyv79+2EwGDBw4MCkzjNs2DDodDrs3r0btbW1qo4RnN7RJizBH1RTU4P9\n+/ejo6MjIhgmTJiAp556ClOmTMH69esjDnZALkCis9YFhHMLwhpQ5/h+4okn8PDDD4sy5IX5jx49\nGu+//35kjBCCmpoanHTSScwfqLr+FOyFjLXwBfwUBok9nRWaq+TDGFjD/sk3HxVPsn+V+NjS/uyF\nPRhIrLGYEl4PhdmibrE3mcO/mWgHezGj1Ho430K+4BvN7PFNa8Tl28dNtIp8HoK2I8XjDjHPx4o+\nGz5BL8g/AOzP1dUdkpkOa0bosPZYPbqLOvDZzTdj4MCBGDRoUORfZWUl7Ha77HsjfbBOazHFnmZS\newHMJYTMBfAvSulH8V6MEPI6gJkASgkhdQAWUEpfIoTcDuAj9Ibxbo/nvNlUzl0t1113HSZOnIgb\nbrgBS5cuxZ///Oe4a1MlwhdffIHp06cnXRiPEIKLLroIS5cuxYMPPqjqGJ1OF/GB/PjHP0ZJSa+v\nYOTIkdi+fTva29sjgmHKlCmor69HWVkZysvL0djYGOlTEi1ATCaTqPCiACtYQW0otVDDLDrxEACu\nv/56PP7447L9R44ciTVr1mCcsVi0cPfrL35yZvU01xsA1sLDWvjqD8uf2iurTLL9jio4iAcPV/fM\nKBVAyvknbOFnMgM+iWyR+hakCyYArF3Fjh4780Ir5PcoLEDaGqI1BPn7Vpq7kr9Ep4fIZFU5NCTS\nsrrbCHPuBiNFwM8wRTL8UYXDjNBHXXvDc17oJL9JVnLhf51Zg2+bS9DlD8J3yik4cuQI1qxZg7q6\nOhw6dAgNDQ0IBoOR34z03/HjxxOupM1CbRTWnQBuBCC04nqNEPICpfSZeC5GKWV2o6eUrgSwMp5z\nRZNLGkg0Y8eOxdq1a/H0009jypQpuP7663H//feLFlatWblyJc466yxNznXzzTfj3HPPxT333IOC\ngr77HQDhJEJBA5k6dSqmTp0aeW3ixInYuHGjSICceuqpAMJVdGtqarBv376IAPH7/ZFF3uFwoKur\nS7et8YsAABsvSURBVFEDiUbQQIYOHarqPQpOeoExY8bgqaeewj333CMaP+200/D888/jd2VTgCj7\ntDRUtHKYXB3pbtMxbeeslqtGs9xGH09VW+WEQPFidbxRvE/TUbbJZMYothP9jPPkJqfOFkk/kD3y\n41iCB2DPu1fI9Qox1qKrlPty+CBb66+sEpusaIiItMg9W9gq5ZS57PFv1siX2eObxfet7bi62mnT\nCs04p6AcMOjgvIVt3Xe5XGhubkZTU5PsX3t7u6btC9SasH4CYAqltBsACCGPAfgS4ZwOThLo9Xrc\ndddduPrqq/Gb3/wGI0eOxF133YVbbrkl0s5VK9xuN1auXImnnnpKk/OddNJJ+P73v4/f/e53eOSR\nR2Lu7/P5RAIimkmTJuEf//gHurq6IgLUarXi008/xdixY/HrX/8aW7duxYwZMwCEo7UEARIIBNDd\n3Y1AIIB58+bh+uuvx6xZs5hmQUGA9JUEGL2v0+nExx9/jN/97neR8TvvvBO3SH688+fPx5lnnolt\np98i8g62NIslQFWtTuYYbQp7/GTXHz5W/vMsYHwljuyW79fSxA5dNRjZ12pvFS9g5QPUdSyilG33\nZ45LsslZwmLOFezr+tyAdN5Nx8LvsaR/b/KgFh0fjUVm+Bn9yAVMpVb4WuSaYLDADH23/Dh9iQnB\n4xIBXGgCOnvHzOVWeJvE5zSXWeFtFo/px5bB5PPBb1GO4rTZbKiuru6zVJFWlURUt7RFbyQWev7O\nmtDaXDRhSamoqMCiRYtw11134eGHH8awYcMwb9483HnnnRg2bJgm13jjjTcwZcqUuIso9sUTTzyB\nyZMnY/r06YqRXUIpdr1ej4aGBlkrXSCsbWzevBkdHR2iHBWhBMyECRPw5Zdf4tZbbwXQm08ChH0T\nXV1d8Pl8cDgcItOWFOG1aN+GEuvXr4der0e/fv3w+uuvi16Tnluv12PIkCHYadQh6O99EpUmDna3\nyhfIYDDA1EBYkUcsHwHbRKNQvkOhzLtU25E+ySuGBSukNPk98hesdvET+lmXypcftf3MoyEOC2hH\n+KnaXG6Bt0n8hM0aAwBTmRW+ZrkgmPGxOEe6/lfvgbb3Hj/r29uZ89jdwVCpAIxiyEQdEd+fi0zy\nskLSfQBgXWND5O/Yj0ByMtKREOEM8v8QQt7u2b4EwGLNZpEkuWrCYlFbW4slS5bgyJEj+OMf/4ip\nU6di/PjxmD9/Pi677LKI8zlePB4PHnnkESxaJO+OlgyVlZX4+9//josvvhhLly7FrFmzZPsIVXcL\nCgpw8OBBpgCx2+0444wz8P777zNNeHPnzsWCBQsQCoWg0+ng8Xhgs9nwyiuvwGKx4K677oo42YVc\nDptNHvIqPHkdOnRI9pqURErPDBkhXi2+WSd2yLKyn4/Usc1DzmK5WfCrlS7ZmNWmlF0uX/GPHmKX\nJBk2WiwQD+wSn5PVazxMEpntdgvQJVnYCy1AJ8PEInliBwBjqQX+Fg/6LemNuTmfyu+lgbDLrRh0\nCk/xbU3iaS66kr2fBFeAwGaQ39suH2A39T3mCYZg0ccOpHH7CaxGCjfD16KGjHQkpJQ+SQhZg16h\ndz2l9BtNZqAB+aCBSBk4cCAeeeQRLFiwACtWrMArr7yCO++8E7Nnz8YFF1yA888/X3U/D0op7r77\nbpx00kma+T+imTZtGpYtW4arrroKTzzxBK677jrR64LZymq14tChQ4oa0JIlS3Ds2DGmej1kyBBU\nVlZi1apVmDt3LtxuN0pKSvCjH/0IPp8P8+bNg9vthslkipyfpYEISJP/0kVzg/bNqzJKgQ3olgs1\n4jCDdkjMOQ4zEDVmeeqH8uOUsgMC8q6R3zMk9jAVL64AhS1Ka+vwBeEwybWD57fLH1gAwM3QxqTM\nHix/f+dVl6BQkifzl42973nOoJinlZF2DYQQogewlVI6CsBGza6sIfmkgUgxm824/PLLcfnll6Op\nqQkffPAB3nvvPfziF7/AiBEjMG3aNHzve9/D1KlTUV1dLbP7b9u2DQsXLsSePXvw8ccfa96WVGDm\nzJn45JNPcPnll+Pf//43nnzyyYgG0NbWhqKiokiUlJIWVVJS0mcAwW233Yann346IkAEE5bQP+TI\nkSPo168fioqK0NXVpfhey8vLI7W3tEZfbEOwtXdBNZfb4G3q3TaUWBE4LrV12+Btli/CeqcVwXbx\nvqZyC3wScwzLFGMqs8DXLH+SNxRbEWiVm22kC76xxAp/1Dz1xWYEW+X2fesjd8jGAKAo0CobC9HU\nCM8uP4W9Jyqq209RIImQin49mg4vhcMsH+8MAIVRK+OLO8Va24GOJtkxAIAggdGkXYLf/34rv4fU\nZwExAYgvDSRC2jWQnvpXOwkh1ZTSzDy2cQCEF7758+dj/vz58Hq9+Prrr/Hll1/ijTfewN13343W\n1lZUV1dHTER1dXUIBoO46aab8PLLL6e8ve748ePx9ddf42c/+xlOOeUUvPjii5g+fToaGhrQv39/\nXH311di3b1/C5//hD3+Ihx56COvWrUNra6soyKCiogL79++PRGn1FRW2atUq+HwJ/gJjMPz1H4m2\nRxrEWdBBhslHB/YTKivbucInrz9mM8iDEpQWaxth35f2oFigVuvFQt4TFCdfaoH0yR5QXuy7/UCB\nxJcg7PvYpl7BVsAIiW7xsh3ira3sxb64WKy5DpTcsoCPwMAQFNs+Yz/8DJ3SLts/6AX0URY0l5vA\nZo0tfFyfRt0bdZa1lKLWB1IMYCsh5CsAEe8jpfSilMwqTvLRhBULs9mM6dOni6KJXC4X9u/fj7a2\nNlBKUVVVxdRKUonT6cTf/vY3LF++HFdddRUuvPBCGI1GjBs3Dj//+c+TOrfVasXChQtx7733wmAw\niEx4NTU12Lhxo2IhxGhOPvnkpObRF10BCnsS/TpyjU5/EIVGuQBUowk8t00uTJsUqurrCKscSfh4\nU4q/3l4PgdnSu7jvWMsWFLpQCGDUDNu1QR46Z28XC7WDjONOObcdRqlVrCe8LdG3rLUJi1AVAeSE\nkBmscUrpZ5rNJEEIIVTNe+Ckn5aWFjz++OP417/+hRdeeCHpAo5AOGR38uTJ2LRpk6iq8IMPPojf\n/va3ePHFF3H99dcnfZ1EWbBBHK31X+P7wR61wHYGfLAZxD9/lx+ifQTcgRBsBvH4EdcRWCWPfSwN\npMsfkD3dA0AoYIXdKF9+6j3NogU/ECoQ7dfi6ZAJBAB4cD07bMrCUKo6JRG25QyFWFmAsMcBAAEC\nU88TfgHjkbhFISK3udEMPSNCqtDqRbTiuG2FuIy/V/oB9CAVCgIdxXLhV3jcDRrlNKeMN2hnhBIb\nfb1C962XE2+RRAgBZTWzj5M+NRBCyHAA/aWCoqcqbwP7KA4nTGlpKR599FFNz2kwGPD222/jn//8\npyjc95RTTgGAlCZhJsJz24+JtlkV0tu87N/xAJv8waibUUbjJyNDKJAIhecV+nN7AnJfCwD4QkC0\n6SdExSar8Omz60HN7yUwminW/ac3KGPW947BZBHPM+ABDAwFpv4btjnP2i0JvlCOxUiYkkbx53B8\nQAFCKqKwso1YJqynAPw3Y7y957ULNZ8RhxODIUOG4Gc/+5lo7Oyzz0ZJSQkmT56coVlljj9tj53T\nko14fQRmiW/A7ycwGlllXeQO6q2re0xDUe6aL1eKtQUAMHsUQo1jF09goguEEDKoX+zV7N/vsNzH\n1OVkSL0QBXSJm7C0JpYA6U8p3SwdpJRuJoTUpGRGCXAi+kA4Yux2e8oiq+LB59PBZOo163i8BBZz\ndj25pwOfr9esJCAVAp9/VSY7LuBnL40hhgywMOpexYNaQUCCIZG5aeC+NuZ+bWVW0X4CQ3bIv5cB\nPWGn8MfA6kquo2RafSCEkN2U0hEKr+2hlKa++l8MuA+Ek01M+e0q0XbQLHYGXDrzKCwSE0tjhw4m\nhpAp0kG2b0u3XCD5Gd3xvF4CM+OcHS75wg4AXW4imoPHK96P4TYBALS52RrDuk/kOUo6SQ8LUiSf\nd1wCpDssQDyFvTYmG8NvoKSBlDZ0McdbKsR9QoqPqdPwpO+vr3FdUDwWYtg2WRqIIyq0+rW/y/No\n1JIWHwiA9YSQGymlf5Zc/KcANiR7cQ7nROOD9+VZ+CEFD7HRKw/F9djlXt+Lz22Uja36p/w6AEAd\n7AWadIid4dI5nTGjWeZbAID1X/djnw8J1CRJkGhNQhcMyXwJUg0iK2EUD8uFeccSIL8A8DYh5Ifo\nFRiTEXYrZUFLdw6H43UTmFXkECTDVx/KfQsAAI1jFuLxLwgL7KBdvSX3WULX4GcLs4CCWsUSQiKU\nKkgmgdEnn2ORl1GwMQ7fSzroU4BQSo8BmEYIOROItOB9n1L6acpnFgfcB8LJFgzBEAJpfmr8/F15\nGC9SmzOaMip2sf0Lh2rlkqriYAcAIKhkX0uQfofEDm1p2K7Zw07S9JtjlyxJmh7h5WQ52FWQkTyQ\nbIb7QDjZxFU/XCra3ney2MRj7pY7fpM1Ydk65Fn1SrkKak1YCFGRJmB2s/0InhJ2jCtxy5+oDb6g\n6JwsH0j/TWwBUj/EiaAkV2bo5nBJkWgBEpcGYmA7sqXnkAkQhXvhN+mY52P5QEiQiuoM6APqTX6v\n/OO62DvFIF0+EA6HkwR6f1C28CVDopFDkeP9IYQYT+wkFAKNqlhQeVBc3K+lf3x5CiwzUOUB8Tkb\nTipCSGUa+bAtzbKxAOs+MMxL7ML2gCHArkwsoyd0NhZGXwivLp8nG//hD16XX0VP8Nobvf31bv/x\nMnS0adfoKV1wAcLhpJDB28QhnA01TpkAUFrsWePVO4/L9msc5JCNldezI4d0IfaTrt/c91LAylMA\ngLrCUqZAkgoLFlUb5e9FSXNSi2qhEAdWicahpDEqYWBoRVKeeVle2Gr+Ja/GdZ1MwAUIh5NGKhgL\nq5LtXCksVLZfLKdvCqnews690dov0ScqNYRcg9XEK0XFtBOGCxAOR0OEDt3phKUduAtSUH8jS0k2\nuS5uFKKwnEWJObb7uoyasUySFwKER2FxsgWpA9aXjsicE5UUhNOqQUeBV96W+zq0xlFkkflFHEkK\nKR6FJYFHYXGyiXlX/FW0rUaAxGPC0jMiilj7KWkgan0gZrc4Wox13b5gmbB0gZBowWdFHnnNeqY5\nysqIXhPmxKpkmwwkKJ4n6/7GEwml5MvQIpoqUXgUFodzIqL2qTtZv4D0Oho87Rv9fWe7A0BBF7u+\nFavUhxLSEh+3/eQttLfLI5xYPgYgrGFkna0oS+EChMNJJdKFPMmF2BCURxkxF+JudsdFt7StnwLS\nzOjwU7h8UWWG0mYZf1x8eVz750L0U7bABQiHk0LUhIAqZjDnaXRRrpOsHyKf4AKEw9EQp9PCNJck\ngo1hzkk6PFZBKOVC4b5Mkkl/RTbDBQiHoyFSc4kacwgJ0eQcwXGYxeyMsicskq7rpLX2lKGIK07f\n5IUA4WG8nFymkNHDAlCf8cyq5JrWRD4GLEGVjFBivcfI/YkSLokWGUwlqQjHTRQexiuBh/Fyshmp\nBsISCkoZ56x9WYKBFWKrJEDUhuNKF3ulOSo50Vlht9Jzst6fUuFDVshv9PGsGlSJwtIa882EpVUY\nLzd6cjicxFFZboUJf/DLefLChMXh5AzJ2vKzzBcgjTKLB1ZfjWxrmMTpGy5AOJw0wiqDEU/egT5A\n8epycaLcdZe9psncOJx44eKew+GkB61NVj3n07qIIUc9XAPhcFKINAInbdE3GpvKlMp+xIPRFxI5\no5PN+E5XUUOOMlyAcDgphNUoKB2wTF2AenOXUnc9Kbzsx4kNN2FxOBxOFFItkZcuUSatGgghZDGA\nCwAco5SeFDV+DoCnEBZoiymlj/WM2wA8B8AL4DNK6evpnC+HwznxyJTWmIukWwN5CcDc6AHy/9u7\n95g5qjKO499fuVgwIsE/DLShakppQAxqAiXcrFIgkIoUjBQBxbsk9Q8DSoIxb8EYUCKJrWKQmzRC\n0wYqlksEkdIAkXARai9oVW5FpKJAwiUE6uMfc5adLrvd3dndmd19f5+E9J0zs/OefbLL855z5pwj\nTQGWpvIDgYWSZqfTC4CVEfF14NNlVtSsck0GHZoNGHdaZtZvpbZAIuJeSTMaig8BNkfEUwCSlgMn\nAY8D04F16br2O9ObjZFOB4mXXn1qCbUxe6dhGAOZBjyTO96Symo/T08/D8/sKbMRNfQtE89OHynD\n/hTWTcBSSScCq6uujNmoa9VaGZbJiDttC371m3e2uvy013AahgTyLLBv7nh6KiMiXgO+1O4GExMT\nb//sVXnNzLbX71V4a6pIIGL77qgHgZlpbOQ54DRgYTc3zCcQMzPbXuMf1osXL+7LfUsdA5F0PXA/\nMEvS05LOjohtwCLgDmADsDwiNnVz34mJiYFkV7PJonFsZOjHSqyQNWvW9PUP7rKfwjq9RfntwO1F\n7+sWiFlv/CTX5FBriYxkC2RQ3AIxM2tvpFsgg+IWiJlZe26BmNmk02w9Kq9RVb2xaYH48V0bVY1L\nvufLLeP1qfqj34/zKkZ85qekGPX3YDaqup3g18l+IPlrbDAkERE9r+7hLiwzMytkLBKIn8IyG37u\nkqtev5/CcheWmRW2oy6sdl1R7sKqjruwzMysUmORQNyFZWbWnruwGrgLy6w6i764suUjyO0evXUX\nVnX61YU1FvNAzKwanp8xuY1FF5aZmZXPCcTMzAoZiwTiQXQzs/Y8iN7Ag+hmo8mD6NXxPBAzM6uU\nE4iZmRXiBGJmZoWMRQLxILqZWXseRG/gQXSz0eRB9Op4EN3MzCrlBGJmZoU4gZiZWSFOIGZmVogT\niJmZFeIEYmZmhYxFAvE8EDOz9jwPpIHngZiNJs8DqY7ngZiZWaWcQMzMrBAnEDMzK8QJxMzMCnEC\nMTOzQpxAzMysECcQMzMrZOAJRNJVkp6XtK6h/HhJj0v6q6TvNnndByVdKWnFoOtoZmbdK6MFcg1w\nXL5A0hRgaSo/EFgoaXb+moh4IiK+UkL9xoZn42cchzrHos6x6L+BJ5CIuBd4saH4EGBzRDwVEW8C\ny4GTBl2XcecvSMZxqHMs6hyL/qtqDGQa8EzueEsqQ9KZkn4iae90rufp9t3o9kPW7vpW5zst39Hx\noL8Q3dy/k2sdi/bXTMZY/OuFTV29dpxjMWqfi6EbRI+IZRHxbeANSZcDBzcbIxkUJ5DWv7vXax2L\n9tdMxlg4gbS/ZlhjUcpiipJmAKsj4iPpeA4wERHHp+PzgYiISwrc2yspmpl1qR+LKe7cj4p0QGzf\nFfUgMDMllueA04CFRW7cjyCYmVn3yniM93rgfmCWpKclnR0R24BFwB3ABmB5RDRvx5qZ2VAa+f1A\nzMysGkM3iG5mZqNhqBNID7PYJekHkn4qaSy2N+shFkdLWivpcklHlVfjwSkai3TN7pIelHRCObUd\nrB4+F7PTZ2KFpG+UV+PB6SEWJ0m6QtINkuaVV+PBKW0FkIgY2v+AI4CDgXW5sinA34AZwC7Ao8Ds\nhtd9BrgWuBSYW/X7qDgWRwG3AlcDH6r6fVQZi3TdYuBc4ISq30fVsUjXCriu6vcxJLHYE/hl1e9j\nSGKxopPfM9QtkCg+i31/4L6IOBc4Z/A1HbyisYiItRFxInA+cGEplR2worGQdAywEfg3JU9QHZQe\nviNImg/cAtw28IqWoJdYJN8DfjbAKpamD7HoyFAnkBbazmIH/kk9eG+VW71SdTOj/yVg15LrV6Z2\nsbiM7FHxQ4HTgXFeZ62jz0VErE5/XJxRRSVL0kks9pF0MXBbRDxaRSVL0vcVQMqaB1KKiFgGLJO0\nG7BE0pHA2oqrVYlcLE6WdBzwXrIFLCedWixqx5LOAl6orkbVyX0ujk4TeN9F1sU56eRisQj4FLCH\npJkRcUXFVStdLhZ75VcAiTaTu0cxgTwL7Js7np7K3hYRrzPef2HWdBKLVcCqMitVkbaxqImI60qp\nUXU6+VzcA9xTZqUq0kkslgBLyqxURTqJxX+Bb3Z6w1Howmo5i13SrmSz2H9bSc3K51jUORZ1jkWd\nY1E38FgMdQLxLPY6x6LOsahzLOoci7qyYuGZ6GZmVshQt0DMzGx4OYGYmVkhTiBmZlaIE4iZmRXi\nBGJmZoU4gZiZWSFOIGZmVogTiI0lSdskPSLpT+nf71RdpxpJKyV9IP38pKR7Gs4/2riPQ5N7/F3S\nfg1ll0k6T9KHJV3T73qbNRrFtbDMOvFqRHysnzeUtFOazdvLPQ4ApkTEk6kogPdImhYRz0qancra\nuYFsKYqL0n0FnAocFhFbJE2TND0itvRSX7MdcQvExlXT5aglPSFpQtLDkh6TNCuV7552cftjOjc/\nlX9B0s2S7gJ+r8zPJW2UdIekWyUtkDRX0qrc7zlG0k1NqvB54OaGshVkyQCyJeevz91niqQfSXog\ntUy+mk4tz70Gso3DnswljFsazpv1nROIjavdGrqwPps7tzUiPg78gmx3QoALgLsiYg7wSeDStC0A\nwEeBBRExF1gA7BsRBwBnAocBRMTdwP6S3pdeczZwVZN6HQ48nDsO4Ebg5HQ8H1idO/9l4KWIOJRs\nQ6CvSZoREeuBbZIOStedRtYqqXkIOHJHATLrlbuwbFy9toMurFpL4WHq/+M+Fpgv6bx0vCv1pa/v\njIiX089HACsBIuJ5SXfn7rsMOEPStcAcsgTTaG+yHRHz/gO8KOlzZDsmvp47dyxwUC4B7gHsBzxF\naoVI2ki2jfP3c6/bCuzT9N2b9YkTiE1Gb6R/t1H/Dgg4JSI25y+UNAd4tcP7XkvWengDWBkR/2ty\nzWvA1CblK8i2Uz2roVzAooi4s8lrlpOtrLoWeCwi8olpKtsnIrO+cxeWjatu9zz/HfCtt18sHdzi\nuvuAU9JYyPuBT9RORMRzZNspXwC0egpqEzCzST1XAZeQJYTGep0jaedUr/1qXWsR8Q+ynRUvZvvu\nK4BZwPoWdTDrCycQG1dTG8ZAfpjKWz3hdBGwi6R1ktYDF7a47kayvaQ3ANeRdYO9nDv/a+CZiPhL\ni9ffBszNHQdARLwSET+OiLcarr+SrFvrEUl/Jhu3yfcc3ADsDzQO2M9lkm5Va+XxfiBmXZL07oh4\nVdJewAPA4RGxNZ1bAjwSEU1bIJKmAn9IrxnIly/tNrcGOKJFN5pZXziBmHUpDZzvCewCXBIRy1L5\nQ8ArwLyIeHMHr58HbBrUHA1JM4F9ImLtIO5vVuMEYmZmhXgMxMzMCnECMTOzQpxAzMysECcQMzMr\nxAnEzMwKcQIxM7NC/g/XBW/wr41qsAAAAABJRU5ErkJggg==\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -605,7 +637,7 @@ "cm = matplotlib.cm.Spectral_r\n", "\n", "# Determine size of probability tables\n", - "urr = gd157.urr\n", + "urr = gd157.urr['294K']\n", "n_energy = urr.table.shape[0]\n", "n_band = urr.table.shape[2]\n", "\n", @@ -644,7 +676,7 @@ " color=cm(value)))\n", "\n", "# Overlay total cross section\n", - "ax.plot(gd157.energy, total.xs(gd157.energy), 'k')\n", + "ax.plot(gd157.energy['294K'], total.xs['294K'](gd157.energy['294K']), 'k')\n", "\n", "# Make plot pretty and labeled\n", "ax.set_xlim(1e-6, 1e-1)\n", @@ -666,7 +698,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "metadata": { "collapsed": false }, @@ -674,16 +706,16 @@ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 19, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "filename = '/home/smharper/nuclear-data/nndc/293.6K/Gd_157_293.6K.ace'\n", + "filename = '/opt/data/ace/nndc/293.6K/Gd_157_293.6K.ace'\n", "gd157_ace = openmc.data.IncidentNeutron.from_ace(filename)\n", "gd157_ace" ] @@ -697,9 +729,9 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 21, "metadata": { - "collapsed": true + "collapsed": false }, "outputs": [], "source": [ @@ -715,7 +747,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 22, "metadata": { "collapsed": false }, @@ -728,14 +760,14 @@ " 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])" ] }, - "execution_count": 21, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gd157_reconstructed = openmc.data.IncidentNeutron.from_hdf5('gd157.h5')\n", - "gd157_ace[16].xs.y - gd157_reconstructed[16].xs.y" + "gd157_ace[16].xs['294K'].y - gd157_reconstructed[16].xs['294K'].y" ] }, { @@ -747,7 +779,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 23, "metadata": { "collapsed": false }, @@ -771,7 +803,7 @@ ], "source": [ "h5file = h5py.File('gd157.h5', 'r')\n", - "main_group = h5file['Gd157.71c/reactions']\n", + "main_group = h5file['Gd157/reactions']\n", "for name, obj in sorted(list(main_group.items()))[:10]:\n", " if 'reaction_' in name:\n", " print('{}, {}'.format(name, obj.attrs['label'].decode()))" @@ -779,7 +811,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 24, "metadata": { "collapsed": false }, @@ -788,9 +820,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "[,\n", - " ,\n", - " ]\n" + "[,\n", + " ,\n", + " ]\n" ] } ], @@ -808,7 +840,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 25, "metadata": { "collapsed": false, "scrolled": true @@ -832,33 +864,33 @@ " 7.77740000e-01])" ] }, - "execution_count": 24, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "n2n_group['xs'].value" + "n2n_group['294K/xs'].value" ] } ], "metadata": { "kernelspec": { - "display_name": "Python 2", + "display_name": "Python 3", "language": "python", - "name": "python2" + "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", - "version": 2 + "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.12" + "pygments_lexer": "ipython3", + "version": "3.5.2" } }, "nbformat": 4, diff --git a/docs/source/pythonapi/index.rst b/docs/source/pythonapi/index.rst index d8eb5200a..16c90bcbc 100644 --- a/docs/source/pythonapi/index.rst +++ b/docs/source/pythonapi/index.rst @@ -366,6 +366,7 @@ Core Classes openmc.data.ThermalScattering openmc.data.CoherentElastic openmc.data.FissionEnergyRelease + openmc.data.DataLibrary Angle-Energy Distributions -------------------------- diff --git a/docs/source/usersguide/install.rst b/docs/source/usersguide/install.rst index 457c5efd8..3dab08e9d 100644 --- a/docs/source/usersguide/install.rst +++ b/docs/source/usersguide/install.rst @@ -383,14 +383,16 @@ Cross Section Configuration --------------------------- In order to run a simulation with OpenMC, you will need cross section data for -each nuclide or material in your problem. OpenMC can be run in -continuous-energy or multi-group mode. +each nuclide or material in your problem. OpenMC can be run in continuous-energy +or multi-group mode. -In continuous-energy mode OpenMC uses ACE format cross sections; in this case -you can use nuclear data that was processed with NJOY_, such as that -distributed with MCNP_ or Serpent_. Several sources provide free processed -ACE data as described below. The TALYS-based evaluated nuclear data library, -TENDL_, is also openly available in ACE format. +In continuous-energy mode, OpenMC uses a native HDF5 format to store all nuclear +data. If you have ACE format data that was produced with NJOY_, such as that +distributed with MCNP_ or Serpent_, it can be converted to the HDF5 format using +the :ref:`openmc-ace-to-hdf5 ` script distributed with +OpenMC. Several sources provide openly available ACE data as described +below. The TALYS-based evaluated nuclear data library, TENDL_, is also available +in ACE format. In multi-group mode, OpenMC utilizes an XML-based library format which can be used to describe nuclide- or material-specific quantities. @@ -400,8 +402,8 @@ Using ENDF/B-VII.1 Cross Sections from NNDC The NNDC_ provides ACE data from the ENDF/B-VII.1 neutron and thermal scattering sublibraries at four temperatures processed using NJOY_. To use this data with -OpenMC, a script is provided with OpenMC that will automatically download, -extract, and set up a confiuration file: +OpenMC, a script is provided with OpenMC that will automatically download and +extract the ACE data, fix any deficiencies, and create an HDF5 library: .. code-block:: sh @@ -410,56 +412,99 @@ extract, and set up a confiuration file: At this point, you should set the :envvar:`OPENMC_CROSS_SECTIONS` environment variable to the absolute path of the file -``openmc/data/nndc/cross_sections.xml``. This cross section set is used by the -test suite. +``openmc/data/nndc_hdf5/cross_sections.xml``. This cross section set is used by +the test suite. Using JEFF Cross Sections from OECD/NEA --------------------------------------- -The NEA_ provides processed ACE data from the JEFF_ nuclear library upon -request. A DVD of the data can be requested here_. To use this data with OpenMC, -the following steps must be taken: +The NEA_ provides processed ACE data from the JEFF_ library. To use this data +with OpenMC, a script is provided with OpenMC that will automatically download +and extract the ACE data, fix any deficiencies, and create an HDF5 library. -1. Copy and unzip the data on the DVD to a directory on your computer. -2. In the root directory, a file named ``xsdir``, or some variant thereof, - should be present. This file contains a listing of all the cross sections and - is used by MCNP. This file should be converted to a ``cross_sections.xml`` - file for use with OpenMC. A utility is provided in the OpenMC distribution - for this purpose: +.. code-block:: sh - .. code-block:: sh + cd openmc/data + python get_jeff_data.py - openmc/scripts/openmc-xsdir-to-xml xsdir31 cross_sections.xml - -3. In the converted ``cross_sections.xml`` file, change the contents of the - element to the absolute path of the directory containing the - actual ACE files. -4. Additionally, you may need to change any occurrences of upper-case "ACE" - within the ``cross_sections.xml`` file to lower-case. -5. Either set the :ref:`cross_sections` in a settings.xml file or the - :envvar:`OPENMC_CROSS_SECTIONS` environment variable to the absolute path of - the ``cross_sections.xml`` file. +At this point, you should set the :envvar:`OPENMC_CROSS_SECTIONS` environment +variable to the absolute path of the file +``openmc/data/jeff-3.2-hdf5/cross_sections.xml``. Using Cross Sections from MCNP ------------------------------ -To use cross sections distributed with MCNP, change the element in -the ``cross_sections.xml`` file in the root directory of the OpenMC distribution -to the location of the MCNP cross sections. Then, either set the -:ref:`cross_sections` in a settings.xml file or the -:envvar:`OPENMC_CROSS_SECTIONS` environment variable to the absolute path of -the ``cross_sections.xml`` file. +OpenMC is provided with a script that will automatically convert ENDF/B-VII.0 +and ENDF/B-VII.1 ACE data that is provided with MCNP5 or MCNP6. To convert the +ENDF/B-VII.0 ACE files (``endf70[a-k]`` and ``endf70sab``) into the native HDF5 +format, run the following: -Using Cross Sections from Serpent ---------------------------------- +.. code-block:: sh + + cd openmc/data + python convert_mcnp_endf70.py /path/to/mcnpdata/ + +where ``/path/to/mcnpdata`` is the directory containing the ``endf70[a-k]`` +files. + +To convert the ENDF/B-VII.1 ACE files (the endf71x and ENDF71SaB libraries), use +the following script: + +.. code-block:: sh + + cd openmc/data + python convert_mcnp_endf71.py /path/to/mcnpdata + +where ``/path/to/mcnpdata`` is the directory containing the ``endf71x`` and +``ENDF71SaB`` directories. + +.. _other_cross_sections: + +Using Other Cross Sections +-------------------------- + +If you have a library of ACE format cross sections other than those listed above +that you need to convert to OpenMC's HDF5 format, the ``openmc-ace-to-hdf5`` +script can be used. There are four different ways you can specify ACE libraries +that are to be converted: + +1. List each ACE library as a positional argument. This is very useful in + conjunction with the usual shell utilities (ls, find, etc.). +2. Use the --xml option to specify a pre-v0.9 cross_sections.xml file. +3. Use the --xsdir option to specify a MCNP xsdir file. +4. Use the --xsdata option to specify a Serpent xsdata file. + +The script does not use any extra information from cross_sections.xml/ xsdir/ +xsdata files to determine whether the nuclide is metastable. Instead, the +--metastable argument can be used to specify whether the ZAID naming convention +follows the NNDC data convention (1000*Z + A + 300 + 100*m), or the MCNP data +convention (essentially the same as NNDC, except that the first metastable state +of Am242 is 95242 and the ground state is 95642). + +The ``openmc-ace-to-hdf5`` script has the following command-line flags: + +-h, --help show this help message and exit + +-d DESTINATION, --destination DESTINATION + Directory to create new library in (default: .) + +-m META, --metastable META + How to interpret ZAIDs for metastable nuclides. META + can be either 'nndc' or 'mcnp'. (default: nndc) + +--xml XML Old-style cross_sections.xml that lists ACE libraries + (default: None) + +--xsdir XSDIR MCNP xsdir file that lists ACE libraries (default: + None) + +--xsdata XSDATA Serpent xsdata file that lists ACE libraries (default: + None) + +--fission_energy_release FISSION_ENERGY_RELEASE + HDF5 file containing fission energy release data + (default: None) -To use cross sections distributed with Serpent, change the element -in the ``cross_sections_serpent.xml`` file in the root directory of the OpenMC -distribution to the location of the Serpent cross sections. Then, either set the -:ref:`cross_sections` in a settings.xml file or the -:envvar:`OPENMC_CROSS_SECTIONS` environment variable to the absolute path of -the ``cross_sections_serpent.xml`` -file. Using Multi-Group Cross Sections -------------------------------- @@ -471,14 +516,13 @@ However, if the user has obtained or generated their own library, the user should set the :envvar:`OPENMC_MG_CROSS_SECTIONS` environment variable to the absolute path of the file library expected to used most frequently. -.. _NJOY: http://t2.lanl.gov/nis/codes.shtml +.. _NJOY: http://t2.lanl.gov/nis/codes/NJOY12/ .. _NNDC: http://www.nndc.bnl.gov/endf/b7.1/acefiles.html .. _NEA: http://www.oecd-nea.org -.. _JEFF: http://www.oecd-nea.org/dbdata/jeff/ -.. _here: http://www.oecd-nea.org/dbdata/pubs/jeff312-cd.html +.. _JEFF: https://www.oecd-nea.org/dbforms/data/eva/evatapes/jeff_32/ .. _MCNP: http://mcnp.lanl.gov .. _Serpent: http://montecarlo.vtt.fi -.. _TENDL: ftp://ftp.nrg.eu/pub/www/talys/tendl2012/tendl2012.html +.. _TENDL: https://tendl.web.psi.ch/tendl_2015/tendl2015.html -------------- Running OpenMC diff --git a/openmc/cell.py b/openmc/cell.py index fe8b4a52c..1cfc09f37 100644 --- a/openmc/cell.py +++ b/openmc/cell.py @@ -85,6 +85,9 @@ class Cell(object): Array of offsets used for distributed cell searches distribcell_index : int Index of this cell in distribcell arrays + distribcell_paths : list of str + The paths traversed through the CSG tree to reach each distribcell + instance volume_information : dict Estimate of the volume and total number of atoms of each nuclide from a stochastic volume calculation. This information is set with the @@ -104,6 +107,7 @@ class Cell(object): self._translation = None self._offsets = None self._distribcell_index = None + self._distribcell_paths = None self._volume_information = None def __contains__(self, point): @@ -217,6 +221,10 @@ class Cell(object): def distribcell_index(self): return self._distribcell_index + @property + def distribcell_paths(self): + return self._distribcell_paths + @property def volume_information(self): return self._volume_information @@ -291,6 +299,7 @@ class Cell(object): @temperature.setter def temperature(self, temperature): + # Make sure temperatures are positive cv.check_type('cell temperature', temperature, (Iterable, Real)) if isinstance(temperature, Iterable): cv.check_type('cell temperature', temperature, Iterable, Real) @@ -298,7 +307,15 @@ class Cell(object): cv.check_greater_than('cell temperature', T, 0.0, True) else: cv.check_greater_than('cell temperature', temperature, 0.0, True) - self._temperature = temperature + + # If this cell is filled with a universe or lattice, propagate + # temperatures to all cells contained. Otherwise, simply assign it. + if self.fill_type in ('universe', 'lattice'): + for c in self.get_all_cells().values(): + if c.fill_type == 'material': + c._temperature = temperature + else: + self._temperature = temperature @offsets.setter def offsets(self, offsets): @@ -316,6 +333,12 @@ class Cell(object): cv.check_type('distribcell index', ind, Integral) self._distribcell_index = ind + @distribcell_paths.setter + def distribcell_paths(self, distribcell_paths): + cv.check_iterable_type('distribcell_paths', distribcell_paths, + basestring) + self._distribcell_paths = distribcell_paths + def add_surface(self, surface, halfspace): """Add a half-space to the list of half-spaces whose intersection defines the cell. @@ -427,9 +450,8 @@ class Cell(object): else: if self.volume_information is not None: volume = self.volume_information['volume'][0] - for full_name, atoms in self.volume_information['atoms']: - name, xs = full_name.split('.') - nuclide = openmc.Nuclide(name, xs) + for name, atoms in self.volume_information['atoms']: + nuclide = openmc.Nuclide(name) density = 1.0e-24 * atoms[0]/volume # density in atoms/b-cm nuclides[name] = (nuclide, density) else: diff --git a/openmc/data/library.py b/openmc/data/library.py index 49d1c78f6..0485af064 100644 --- a/openmc/data/library.py +++ b/openmc/data/library.py @@ -8,20 +8,50 @@ from openmc.clean_xml import clean_xml_indentation class DataLibrary(EqualityMixin): + """Collection of cross section data libraries. + + Attributes + ---------- + libraries : list of dict + List in which each item is a dictionary summarizing cross section data + from a single file. The dictionary has keys 'path', 'type', and + 'materials'. + + """ + def __init__(self): self.libraries = [] - def register_file(self, filename, filetype='neutron'): + def register_file(self, filename): + """Register a file with the data library. + + Parameters + ---------- + filename : str + Path to the file to be registered. + + """ h5file = h5py.File(filename, 'r') materials = [] + filetype = 'neutron' for name in h5file: + if name.startswith('c_'): + filetype = 'thermal' materials.append(name) library = {'path': filename, 'type': filetype, 'materials': materials} self.libraries.append(library) def export_to_xml(self, path='cross_sections.xml'): + """Export cross section data library to an XML file. + + Parameters + ---------- + path : str + Path to file to write. Defaults to 'cross_sections.xml'. + + """ root = ET.Element('cross_sections') # Determine common directory for library paths diff --git a/openmc/data/neutron.py b/openmc/data/neutron.py index 2431ba74a..c638dfd9b 100644 --- a/openmc/data/neutron.py +++ b/openmc/data/neutron.py @@ -320,11 +320,11 @@ class IncidentNeutron(EqualityMixin): # Add normal and summed reactions for mt in chain(data.reactions, data.summed_reactions): - if mt not in self: - raise ValueError("Tried to add cross sections for MT={} at T={}" - " but this reaction doesn't exist.".format( - mt, strT)) - self[mt].xs[strT] = data[mt].xs[strT] + if mt in self: + self[mt].xs[strT] = data[mt].xs[strT] + else: + warn("Tried to add cross sections for MT={} at T={} but this " + "reaction doesn't exist.".format(mt, strT)) # Add probability tables if strT in data.urr: diff --git a/openmc/data/thermal.py b/openmc/data/thermal.py index bbdb12dad..90aaa1e6e 100644 --- a/openmc/data/thermal.py +++ b/openmc/data/thermal.py @@ -22,13 +22,13 @@ _THERMAL_NAMES = {'al': 'c_Al27', 'al27': 'c_Al27', 'bebeo': 'c_Be_in_BeO', 'be-o': 'c_Be_in_BeO', 'be/o': 'c_Be_in_BeO', 'benz': 'c_Benzine', 'cah': 'c_Ca_in_CaH2', - 'dd2o': 'c_D_in_D2O', 'hwtr': 'c_D_in_D2O', + 'dd2o': 'c_D_in_D2O', 'hwtr': 'c_D_in_D2O', 'hw': 'c_D_in_D2O', 'fe': 'c_Fe56', 'fe56': 'c_Fe56', - 'graph': 'c_Graphite', 'grph': 'c_Graphite', + 'graph': 'c_Graphite', 'grph': 'c_Graphite', 'gr': 'c_Graphite', 'hca': 'c_H_in_CaH2', - 'hch2': 'c_H_in_CH2', 'poly': 'c_H_in_CH2', - 'hh2o': 'c_H_in_H2O', 'lwtr': 'c_H_in_H2O', - 'hzrh': 'c_H_in_ZrH', 'h-zr': 'c_H_in_ZrH', 'h/zr': 'c_H_in_ZrH', + 'hch2': 'c_H_in_CH2', 'poly': 'c_H_in_CH2', 'pol': 'c_H_in_CH2', + 'hh2o': 'c_H_in_H2O', 'lwtr': 'c_H_in_H2O', 'lw': 'c_H_in_H2O', + 'hzrh': 'c_H_in_ZrH', 'h-zr': 'c_H_in_ZrH', 'h/zr': 'c_H_in_ZrH', 'hzr': 'c_H_in_ZrH', 'lch4': 'c_liquid_CH4', 'lmeth': 'c_liquid_CH4', 'mg': 'c_Mg24', 'obeo': 'c_O_in_BeO', 'o-be': 'c_O_in_BeO', 'o/be': 'c_O_in_BeO', @@ -191,8 +191,6 @@ class ThermalScattering(EqualityMixin): self.name = name self.atomic_weight_ratio = atomic_weight_ratio self.kTs = kTs - self.temperatures = [str(int(round(kT / K_BOLTZMANN))) + "K" - for kT in kTs] self.elastic_xs = {} self.elastic_mu_out = {} self.inelastic_xs = {} @@ -208,6 +206,10 @@ class ThermalScattering(EqualityMixin): else: return "" + @property + def temperatures(self): + return ["{}K".format(int(round(kT / K_BOLTZMANN))) for kT in self.kTs] + def export_to_hdf5(self, path, mode='a'): """Export table to an HDF5 file. @@ -277,142 +279,36 @@ class ThermalScattering(EqualityMixin): Thermal scattering data """ - if isinstance(ace_or_filename, Table): - ace = ace_or_filename - else: - ace = get_table(ace_or_filename) + data = ThermalScattering.from_ace(ace_or_filename, name) - # Get new name that is GND-consistent - ace_name, xs = ace.name.split('.') - if name is None: - if ace_name.lower() in _THERMAL_NAMES: - name = _THERMAL_NAMES[ace_name.lower()] - else: - # Make an educated guess? This actually works well for JEFF-3.2 - # which stupidly uses names like lw00.32t, lw01.32t, etc. for - # different temperatures - matches = get_close_matches( - ace_name.lower(), _THERMAL_NAMES.keys(), cutoff=0.5) - if len(matches) > 0: - name = _THERMAL_NAMES[matches[0]] - else: - # OK, we give up. Just use the ACE name. - name = 'c_' + ace.name - warn('Thermal scattering material "{}" is not recognized. ' - 'Assigning a name of {}.'.format(ace.name, name)) + # Check if temprature already exists + strT = data.temperatures[0] + if strT in self.temperatures: + warn('S(a,b) data at T={} already exists.'.format(strT)) + return - # If this ACE data matches the data within self then get the data - if ace.temperature not in self.kTs: - if name == self.name: - # Add temperature and kTs - strT = str(int(round(ace.temperature / K_BOLTZMANN))) + "K" - self.temperatures.append(strT) - self.kTs.append(ace.temperature) + # Check that name matches + if data.name != self.name: + raise ValueError('Data provided for an incorrect material.') - # Incoherent inelastic scattering cross section - idx = ace.jxs[1] - n_energy = int(ace.xss[idx]) - energy = ace.xss[idx + 1: idx + 1 + n_energy] - xs = ace.xss[idx + 1 + n_energy: idx + 1 + 2 * n_energy] - self.inelastic_xs[strT] = Tabulated1D(energy, xs) + # Add temperature + self.kTs += data.kTs - # Make sure secondary_mode is always equal. This should always - # be the case, but to reduce future debugging should something - # change, this will alert the developers to the issue. - if ace.nxs[7] == 0: - secondary_mode = 'equal' - elif ace.nxs[7] == 1: - secondary_mode = 'skewed' - elif ace.nxs[7] == 2: - secondary_mode = 'continuous' + # Add inelastic cross section and distributions + if strT in data.inelastic_xs: + self.inelastic_xs[strT] = data.inelastic_xs[strT] + if strT in data.inelastic_e_out: + self.inelastic_e_out[strT] = data.inelastic_e_out[strT] + if strT in data.inelastic_mu_out: + self.inelastic_mu_out[strT] = data.inelastic_mu_out[strT] + if strT in data.inelastic_dist: + self.inelastic_dist[strT] = data.inelastic_dist[strT] - if secondary_mode != self.secondary_mode: - raise ValueError('Secondary Modes are inconsistent.') - - n_energy_out = ace.nxs[4] - if self.secondary_mode in ('equal', 'skewed'): - n_mu = ace.nxs[3] - idx = ace.jxs[3] - self.inelastic_e_out[strT] = \ - ace.xss[idx:idx + n_energy * n_energy_out * (n_mu + 2): - n_mu + 2] - self.inelastic_e_out[strT].shape = \ - (n_energy, n_energy_out) - - self.inelastic_mu_out[strT] = \ - ace.xss[idx:idx + n_energy * n_energy_out * (n_mu + 2)] - self.inelastic_mu_out[strT].shape = \ - (n_energy, n_energy_out, n_mu + 2) - self.inelastic_mu_out[strT] = \ - self.inelastic_mu_out[strT][:, :, 1:] - else: - n_mu = ace.nxs[3] - 1 - idx = ace.jxs[3] - locc = ace.xss[idx:idx + n_energy].astype(int) - n_energy_out = \ - ace.xss[idx + n_energy:idx + 2 * n_energy].astype(int) - energy_out = [] - mu_out = [] - for i in range(n_energy): - idx = locc[i] - - # Outgoing energy distribution for incoming energy i - e = ace.xss[idx + 1:idx + 1 + n_energy_out[i]*(n_mu + 3): - n_mu + 3] - p = ace.xss[idx + 2:idx + 2 + n_energy_out[i]*(n_mu + 3): - n_mu + 3] - c = ace.xss[idx + 3:idx + 3 + n_energy_out[i]*(n_mu + 3): - n_mu + 3] - eout_i = Tabular(e, p, 'linear-linear', ignore_negative=True) - eout_i.c = c - - # Outgoing angle distribution for each - # (incoming, outgoing) energy pair - mu_i = [] - for j in range(n_energy_out[i]): - mu = ace.xss[idx + 4:idx + 4 + n_mu] - p_mu = 1. / n_mu * np.ones(n_mu) - mu_ij = Discrete(mu, p_mu) - mu_ij.c = np.cumsum(p_mu) - mu_i.append(mu_ij) - idx += 3 + n_mu - - energy_out.append(eout_i) - mu_out.append(mu_i) - - # Create correlated angle-energy distribution - breakpoints = [n_energy] - interpolation = [2] - energy = self.inelastic_xs[strT].x - self.inelastic_dist[strT] = CorrelatedAngleEnergy( - breakpoints, interpolation, energy, energy_out, mu_out) - - # Incoherent/coherent elastic scattering cross section - idx = ace.jxs[4] - if idx != 0: - n_energy = int(ace.xss[idx]) - energy = ace.xss[idx + 1: idx + 1 + n_energy] - P = ace.xss[idx + 1 + n_energy: idx + 1 + 2 * n_energy] - - if ace.nxs[5] == 4: - self.elastic_xs[strT] = CoherentElastic(energy, P) - else: - self.elastic_xs[strT] = Tabulated1D(energy, P) - - # Angular distribution - n_mu = ace.nxs[6] - if n_mu != -1: - idx = ace.jxs[6] - self.elastic_mu_out[strT] = \ - ace.xss[idx:idx + n_energy * n_mu] - self.elastic_mu_out[strT].shape = \ - (n_energy, n_mu) - - else: - raise ValueError('Data provided for an incorrect library') - else: - raise Warning('Temperature data set already within ' - 'IncidentNeutron object') + # Add elastic cross sectoin and angular distribution + if strT in data.elastic_xs: + self.elastic_xs[strT] = data.elastic_xs[strT] + if strT in data.elastic_mu_out: + self.elastic_mu_out[strT] = data.elastic_mu_out[strT] @classmethod def from_hdf5(cls, group_or_filename): diff --git a/openmc/geometry.py b/openmc/geometry.py index 6d9330dc6..4d822cc8e 100644 --- a/openmc/geometry.py +++ b/openmc/geometry.py @@ -65,10 +65,14 @@ class Geometry(object): cell.add_volume_information(volume_calc) def export_to_xml(self, path='geometry.xml'): - """Create a geometry.xml file that can be used for a simulation. + """Export geometry to an XML file. + + Parameters + ---------- + path : str + Path to file to write. Defaults to 'geometry.xml'. """ - # Clear OpenMC written IDs used to optimize XML generation openmc.universe.WRITTEN_IDS = {} diff --git a/openmc/material.py b/openmc/material.py index 2861d5be6..0639db562 100644 --- a/openmc/material.py +++ b/openmc/material.py @@ -812,7 +812,12 @@ class Materials(cv.CheckedList): self._materials_file.append(xml_element) def export_to_xml(self, path='materials.xml'): - """Create a materials.xml file that can be used for a simulation. + """Export material collection to an XML file. + + Parameters + ---------- + path : str + Path to file to write. Defaults to 'materials.xml'. """ diff --git a/openmc/plots.py b/openmc/plots.py index f5c1f2b2a..6915604a3 100644 --- a/openmc/plots.py +++ b/openmc/plots.py @@ -617,10 +617,14 @@ class Plots(cv.CheckedList): self._plots_file.append(xml_element) def export_to_xml(self, path='plots.xml'): - """Create a plots.xml file that can be used by OpenMC. + """Export plot specifications to an XML file. + + Parameters + ---------- + path : str + Path to file to write. Defaults to 'plots.xml'. """ - # Reset xml element tree self._plots_file.clear() diff --git a/openmc/settings.py b/openmc/settings.py index 15898a2b8..f255a8bb1 100644 --- a/openmc/settings.py +++ b/openmc/settings.py @@ -15,8 +15,7 @@ if sys.version_info[0] >= 3: class Settings(object): - """Settings file used for an OpenMC simulation. Corresponds directly to the - settings.xml input file. + """Settings used for an OpenMC simulation. Attributes ---------- @@ -1119,7 +1118,12 @@ class Settings(object): elem.append(r.to_xml_element()) def export_to_xml(self, path='settings.xml'): - """Create a settings.xml file that can be used for a simulation. + """Export simulation settings to an XML file. + + Parameters + ---------- + path : str + Path to file to write. Defaults to 'settings.xml'. """ diff --git a/openmc/statepoint.py b/openmc/statepoint.py index c32f2c2d9..adc4247c4 100644 --- a/openmc/statepoint.py +++ b/openmc/statepoint.py @@ -676,19 +676,10 @@ class StatePoint(object): raise ValueError(msg) for tally_id, tally in self.tallies.items(): - summary_tally = summary.tallies[tally_id] - tally.name = summary_tally.name + tally.name = summary.tally_names[tally_id] tally.with_summary = True for tally_filter in tally.filters: - summary_filter = summary_tally.find_filter(type(tally_filter)) - - if isinstance(tally_filter, openmc.SurfaceFilter): - surface_ids = [] - for bin in tally_filter.bins: - surface_ids.append(bin) - tally_filter.bins = surface_ids - if isinstance(tally_filter, (openmc.CellFilter, openmc.DistribcellFilter)): distribcell_ids = [] @@ -697,8 +688,9 @@ class StatePoint(object): tally_filter.bins = distribcell_ids if isinstance(tally_filter, (openmc.DistribcellFilter)): - tally_filter.distribcell_paths = \ - summary_filter.distribcell_paths + cell_id = tally_filter.bins[0] + cell = summary.get_cell_by_id(cell_id) + tally_filter.distribcell_paths = cell.distribcell_paths if isinstance(tally_filter, openmc.UniverseFilter): universe_ids = [] diff --git a/openmc/summary.py b/openmc/summary.py index a5862bb04..fd1689eb2 100644 --- a/openmc/summary.py +++ b/openmc/summary.py @@ -297,10 +297,13 @@ class Summary(object): cell.region = Region.from_expression( region, {s.id: s for s in self.surfaces.values()}) - # Get the distribcell index - ind = self._f['geometry/cells'][key]['distribcell_index'].value - if ind != 0: + # Get the distribcell data + if 'distribcell_index' in self._f['geometry/cells'][key]: + ind = self._f['geometry/cells'][key]['distribcell_index'].value cell.distribcell_index = ind + paths = self._f['geometry/cells'][key]['paths'][...] + paths = [str(path.decode()) for path in paths] + cell.distribcell_paths = paths # Add the Cell to the global dictionary of all Cells self.cells[index] = cell @@ -520,18 +523,15 @@ class Summary(object): self.openmc_geometry.root_universe = root_universe def _read_tallies(self): - # Initialize dictionaries for the Tallies + # Initialize a dictionary for the tally names # Keys - Tally IDs - # Values - Tally objects - self.tallies = {} + # Values - Tally names + self.tally_names = {} # Read the number of tallies if 'tallies' not in self._f: - self.n_tallies = 0 return - self.n_tallies = self._f['tallies/n_tallies'].value - # OpenMC Tally keys all_keys = self._f['tallies/'].keys() tally_keys = [key for key in all_keys if 'tally' in key] @@ -545,34 +545,7 @@ class Summary(object): # Read Tally name metadata tally_name = self._f['{0}/name'.format(subbase)].value.decode() - - # Create Tally object and assign basic properties - tally = openmc.Tally(tally_id, tally_name) - - # Read scattering moment order strings (e.g., P3, Y1,2, etc.) - moments = self._f['{0}/moment_orders'.format(subbase)].value - - # Read score metadata - scores = self._f['{0}/score_bins'.format(subbase)].value - for j, score in enumerate(scores): - score = score.decode() - - # If this is a moment, use generic moment order - pattern = r'-n$|-pn$|-yn$' - score = re.sub(pattern, '-' + moments[j].decode(), score) - tally.scores.append(score) - - # Read filter metadata - num_filters = self._f['{0}/n_filters'.format(subbase)].value - - # Read all filters - for j in range(1, num_filters+1): - subsubbase = '{0}/filter {1}'.format(subbase, j) - new_filter = openmc.Filter.from_hdf5(self._f[subsubbase]) - tally.filters.append(new_filter) - - # Add Tally to the global dictionary of all Tallies - self.tallies[tally_id] = tally + self.tally_names[tally_id] = tally_name def add_volume_information(self, volume_calc): """Add volume information to the geometry within the summary file diff --git a/scripts/openmc-ace-to-hdf5 b/scripts/openmc-ace-to-hdf5 index ff8c19962..dd115d175 100755 --- a/scripts/openmc-ace-to-hdf5 +++ b/scripts/openmc-ace-to-hdf5 @@ -190,7 +190,7 @@ for filename in ace_libraries: thermal.export_to_hdf5(outfile, 'w') # Register with library - library.register_file(outfile, 'thermal') + library.register_file(outfile) # Add data to list nuclides[name] = outfile diff --git a/src/constants.F90 b/src/constants.F90 index c877472c2..cc0d663ea 100644 --- a/src/constants.F90 +++ b/src/constants.F90 @@ -14,7 +14,7 @@ module constants integer, parameter :: REVISION_STATEPOINT = 15 integer, parameter :: REVISION_PARTICLE_RESTART = 1 integer, parameter :: REVISION_TRACK = 1 - integer, parameter :: REVISION_SUMMARY = 3 + integer, parameter :: REVISION_SUMMARY = 4 character(10), parameter :: MULTIPOLE_VERSION = "v0.2" ! ============================================================================ diff --git a/src/plot.F90 b/src/plot.F90 index 796cce6af..b5832bbdf 100644 --- a/src/plot.F90 +++ b/src/plot.F90 @@ -239,10 +239,10 @@ contains xyz_ll_plot = pl % origin xyz_ur_plot = pl % origin - xyz_ll_plot(outer) = pl % origin(1) - pl % width(1) / TWO - xyz_ll_plot(inner) = pl % origin(2) - pl % width(2) / TWO - xyz_ur_plot(outer) = pl % origin(1) + pl % width(1) / TWO - xyz_ur_plot(inner) = pl % origin(2) + pl % width(2) / TWO + xyz_ll_plot(outer) = pl % origin(outer) - pl % width(1) / TWO + xyz_ll_plot(inner) = pl % origin(inner) - pl % width(2) / TWO + xyz_ur_plot(outer) = pl % origin(outer) + pl % width(1) / TWO + xyz_ur_plot(inner) = pl % origin(inner) + pl % width(2) / TWO width = xyz_ur_plot - xyz_ll_plot diff --git a/src/summary.F90 b/src/summary.F90 index cc0c51758..97abeb206 100644 --- a/src/summary.F90 +++ b/src/summary.F90 @@ -2,8 +2,8 @@ module summary use constants use endf, only: reaction_name - use geometry_header, only: Cell, Universe, Lattice, RectLattice, & - &HexLattice + use geometry_header, only: BASE_UNIVERSE, Cell, Universe, Lattice, & + RectLattice, HexLattice use global use hdf5_interface use material_header, only: Material @@ -13,6 +13,7 @@ module summary use surface_header use string, only: to_str use tally_header, only: TallyObject + use tally_filter, only: find_offset use hdf5 @@ -150,7 +151,7 @@ contains subroutine write_geometry(file_id) integer(HID_T), intent(in) :: file_id - integer :: i, j, k, m + integer :: i, j, k, m, offset integer, allocatable :: lattice_universes(:,:,:) integer, allocatable :: cell_materials(:) real(8), allocatable :: cell_temperatures(:) @@ -161,6 +162,8 @@ contains integer(HID_T) :: lattices_group, lattice_group real(8), allocatable :: coeffs(:) character(REGION_SPEC_LEN) :: region_spec + character(MAX_LINE_LEN), allocatable :: paths(:) + character(MAX_LINE_LEN) :: path type(Cell), pointer :: c class(Surface), pointer :: s type(Universe), pointer :: u @@ -266,7 +269,21 @@ contains end do call write_dataset(cell_group, "region", adjustl(region_spec)) - call write_dataset(cell_group, "distribcell_index", c % distribcell_index) + ! Write distribcell data + if (c % distribcell_index /= NONE) then + call write_dataset(cell_group, "distribcell_index", & + c % distribcell_index) + + allocate(paths(c % instances)) + do k = 1, c % instances + path = '' + offset = 1 + call find_offset(i, universes(BASE_UNIVERSE), k, offset, path) + paths(k) = path + end do + call write_dataset(cell_group, "paths", paths) + deallocate(paths) + end if call close_group(cell_group) end do CELL_LOOP @@ -566,119 +583,21 @@ contains subroutine write_tallies(file_id) integer(HID_T), intent(in) :: file_id - integer :: i, j, k - integer :: n_order ! loop index for moment orders - integer :: nm_order ! loop index for Ynm moment orders + integer :: i integer(HID_T) :: tallies_group - integer(HID_T) :: mesh_group integer(HID_T) :: tally_group - integer(HID_T) :: filter_group - character(20), allocatable :: str_array(:) - type(RegularMesh), pointer :: m type(TallyObject), pointer :: t tallies_group = create_group(file_id, "tallies") - ! Write total number of meshes - call write_dataset(tallies_group, "n_meshes", n_meshes) - - ! Write information for meshes - MESH_LOOP: do i = 1, n_meshes - m => meshes(i) - mesh_group = create_group(tallies_group, "mesh " // trim(to_str(m%id))) - - ! Write internal OpenMC index for this mesh - call write_dataset(mesh_group, "index", i) - - ! Write type and number of dimensions - call write_dataset(mesh_group, "type", "regular") - - ! Write mesh information - call write_dataset(mesh_group, "dimension", m%dimension) - call write_dataset(mesh_group, "lower_left", m%lower_left) - call write_dataset(mesh_group, "upper_right", m%upper_right) - call write_dataset(mesh_group, "width", m%width) - - call close_group(mesh_group) - end do MESH_LOOP - - ! Write number of tallies - call write_dataset(tallies_group, "n_tallies", n_tallies) - TALLY_METADATA: do i = 1, n_tallies ! Get pointer to tally t => tallies(i) - tally_group = create_group(tallies_group, "tally " // trim(to_str(t%id))) - - ! Write internal OpenMC index for this tally - call write_dataset(tally_group, "index", i) + tally_group = create_group(tallies_group, "tally " & + // trim(to_str(t % id))) ! Write the name for this tally - call write_dataset(tally_group, "name", t%name) - - ! Write number of filters - call write_dataset(tally_group, "n_filters", size(t % filters)) - - FILTER_LOOP: do j = 1, size(t % filters) - filter_group = create_group(tally_group, "filter " // trim(to_str(j))) - call t % filters(j) % obj % to_summary(filter_group) - call close_group(filter_group) - end do FILTER_LOOP - - ! Create temporary array for nuclide bins - allocate(str_array(t%n_nuclide_bins)) - NUCLIDE_LOOP: do j = 1, t%n_nuclide_bins - if (t%nuclide_bins(j) > 0) then - str_array(j) = nuclides(t % nuclide_bins(j)) % name - else - str_array(j) = 'total' - end if - end do NUCLIDE_LOOP - - ! Write and deallocate nuclide bins - call write_dataset(tally_group, "nuclides", str_array) - deallocate(str_array) - - ! Write number of score bins - call write_dataset(tally_group, "n_score_bins", t%n_score_bins) - allocate(str_array(size(t%score_bins))) - do j = 1, size(t%score_bins) - str_array(j) = reaction_name(t%score_bins(j)) - end do - call write_dataset(tally_group, "score_bins", str_array) - - deallocate(str_array) - - ! Write explicit moment order strings for each score bin - k = 1 - allocate(str_array(t%n_score_bins)) - MOMENT_LOOP: do j = 1, t%n_user_score_bins - select case(t%score_bins(k)) - case (SCORE_SCATTER_N, SCORE_NU_SCATTER_N) - str_array(k) = 'P' // trim(to_str(t%moment_order(k))) - k = k + 1 - case (SCORE_SCATTER_PN, SCORE_NU_SCATTER_PN) - do n_order = 0, t%moment_order(k) - str_array(k) = 'P' // trim(to_str(n_order)) - k = k + 1 - end do - case (SCORE_SCATTER_YN, SCORE_NU_SCATTER_YN, SCORE_FLUX_YN, & - SCORE_TOTAL_YN) - do n_order = 0, t%moment_order(k) - do nm_order = -n_order, n_order - str_array(k) = 'Y' // trim(to_str(n_order)) // ',' // & - trim(to_str(nm_order)) - k = k + 1 - end do - end do - case default - str_array(k) = '' - k = k + 1 - end select - end do MOMENT_LOOP - - call write_dataset(tally_group, "moment_orders", str_array) - deallocate(str_array) + call write_dataset(tally_group, "name", t % name) call close_group(tally_group) end do TALLY_METADATA diff --git a/src/tally_filter.F90 b/src/tally_filter.F90 index 51b93ac4c..f15120346 100644 --- a/src/tally_filter.F90 +++ b/src/tally_filter.F90 @@ -80,7 +80,6 @@ module tally_filter contains procedure :: get_next_bin => get_next_bin_distribcell procedure :: to_statepoint => to_statepoint_distribcell - procedure :: to_summary => to_summary_distribcell procedure :: text_label => text_label_distribcell procedure :: initialize => initialize_distribcell end type DistribcellFilter @@ -714,36 +713,6 @@ contains call write_dataset(filter_group, "bins", this % cell ) end subroutine to_statepoint_distribcell - subroutine to_summary_distribcell(this, filter_group) - class(DistribcellFilter), intent(in) :: this - integer(HID_T), intent(in) :: filter_group - - integer :: offset, k - character(MAX_LINE_LEN), allocatable :: paths(:) - character(MAX_LINE_LEN) :: path - - call write_dataset(filter_group, "type", "distribcell") - call write_dataset(filter_group, "n_bins", this % n_bins) - call write_dataset(filter_group, "bins", this % cell ) - - ! Write paths to reach each distribcell instance - - ! Allocate array of strings for each distribcell path - allocate(paths(this % n_bins)) - - ! Store path for each distribcell instance - do k = 1, this % n_bins - path = '' - offset = 1 - call find_offset(this % cell, universes(BASE_UNIVERSE), k, offset, path) - paths(k) = path - end do - - ! Write array of distribcell paths to summary file - call write_dataset(filter_group, "paths", paths) - deallocate(paths) - end subroutine to_summary_distribcell - subroutine initialize_distribcell(this) class(DistribcellFilter), intent(inout) :: this diff --git a/src/tally_filter_header.F90 b/src/tally_filter_header.F90 index 43ef846e3..8541cd334 100644 --- a/src/tally_filter_header.F90 +++ b/src/tally_filter_header.F90 @@ -18,7 +18,6 @@ module tally_filter_header contains procedure(get_next_bin_), deferred :: get_next_bin procedure(to_statepoint_), deferred :: to_statepoint - procedure :: to_summary => filter_to_summary procedure(text_label_), deferred :: text_label procedure :: initialize => filter_initialize end type TallyFilter @@ -82,18 +81,6 @@ module tally_filter_header contains -!=============================================================================== -! TO_SUMMARY writes all the information needed to reconstruct the filter to the -! given filter_group. If this procedure is not overridden by the derived class, -! then it will call to_statepoint by default. - - subroutine filter_to_summary(this, filter_group) - class(TallyFilter), intent(in) :: this - integer(HID_T), intent(in) :: filter_group - - call this % to_statepoint(filter_group) - end subroutine filter_to_summary - !=============================================================================== ! INITIALIZE sets up any internal data, as necessary. If this procedure is not ! overriden by the derived class, then it will do nothing by default.