From d5df76ea79ab62b75c913ce11a84e5f8c27595a5 Mon Sep 17 00:00:00 2001
From: marco <marco@5a81b35b-ba03-0410-adc8-b2c5c5119f08>
Date: Wed, 23 Jun 2010 08:42:09 +0000
Subject: [PATCH] major overhaul to intro and docs in general

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2449 5a81b35b-ba03-0410-adc8-b2c5c5119f08
---
 modules/doc/intro-01.rst                   | 226 ++++++++++++++
 modules/doc/intro-02.rst                   |  92 ++++++
 modules/doc/intro-03.rst                   | 179 ++++++++++++
 modules/doc/intro.rst                      | 323 +--------------------
 modules/doc/sel.png                        | Bin 0 -> 55798 bytes
 modules/gfx/doc/cpk.png                    | Bin 0 -> 28230 bytes
 modules/gfx/doc/custom.png                 | Bin 0 -> 28509 bytes
 modules/gfx/doc/entity.rst                 | 196 +++++++++++++
 modules/gfx/doc/gfx.rst                    |  10 +
 modules/gfx/doc/hsc.png                    | Bin 0 -> 17913 bytes
 modules/gfx/doc/line_trace.png             | Bin 0 -> 10784 bytes
 modules/gfx/doc/simple.png                 | Bin 0 -> 22994 bytes
 modules/gfx/doc/sline.png                  | Bin 0 -> 12031 bytes
 modules/gfx/doc/trace.png                  | Bin 0 -> 14997 bytes
 modules/gfx/doc/tube.png                   | Bin 0 -> 16659 bytes
 modules/gfx/pymod/export_entity.cc         |   8 +-
 modules/gfx/pymod/export_render_options.cc |  24 ++
 modules/gui/src/file_browser.cc            |   4 +-
 modules/index.rst                          |  25 +-
 modules/mol/base/doc/query.rst             | 257 ++++++++++++----
 modules/mol/base/pymod/export_query.cc     |  10 +-
 21 files changed, 969 insertions(+), 385 deletions(-)
 create mode 100644 modules/doc/intro-01.rst
 create mode 100644 modules/doc/intro-02.rst
 create mode 100644 modules/doc/intro-03.rst
 create mode 100644 modules/doc/sel.png
 create mode 100644 modules/gfx/doc/cpk.png
 create mode 100644 modules/gfx/doc/custom.png
 create mode 100644 modules/gfx/doc/entity.rst
 create mode 100644 modules/gfx/doc/gfx.rst
 create mode 100644 modules/gfx/doc/hsc.png
 create mode 100644 modules/gfx/doc/line_trace.png
 create mode 100644 modules/gfx/doc/simple.png
 create mode 100644 modules/gfx/doc/sline.png
 create mode 100644 modules/gfx/doc/trace.png
 create mode 100644 modules/gfx/doc/tube.png

diff --git a/modules/doc/intro-01.rst b/modules/doc/intro-01.rst
new file mode 100644
index 000000000..2b0f969e7
--- /dev/null
+++ b/modules/doc/intro-01.rst
@@ -0,0 +1,226 @@
+Introduction to the :mod:`~ost.mol` Module
+================================================================================
+
+For the course of this tutorial, we assume that you have :ref:`DNG up and running<start-dng>`.
+
+Loading and inspecting a protein structure
+--------------------------------------------------------------------------------
+
+The code to load and save structures is not directly part of the mol module, but rather lives in a module dedicated to input and output of any kind of data: The 
+:mod:`~ost.io` module. We will be using functions if this module to load 
+structures. 
+
+One of the most commonly used file formats for macromolecular structures are PDB 
+(Brookhaven Protein Databank) files. The official name for  molecules stored in 
+a PDB file is an *entity* and we decided to follow this convention in 
+OpenStructure. You will hear this word all the time, but you can replace the 
+word entity with molecule (or most of the time even protein) in your head.
+
+
+To load a PDB file, simply type
+
+.. code-block:: python
+
+   fragment=io.LoadPDB('/path/to/examples/entity/fragment.pdb')
+
+This will load the fragment from the specified file 'fragment.pdb' and store the 
+result in fragment.  The :func:`~ost.io.LoadPDB` has many option, which, for 
+simplicity will not be discussed here. If you want to know more about the 
+function, type:
+
+.. code-block:: python
+
+   help(io.LoadPDB)
+
+or read the :func:`online documentation <ost.io.LoadPDB>`.
+     
+The loaded structure is an instance of :class:`~ost.mol.EntityHandle` which offers a comprehensive interface to inspect an manipulate molecular structures. Now let's inspect what we just loaded:
+
+.. code-block:: python
+
+   print len(fragment.chains), fragment.chains
+   print len(fragment.residues), fragment.residues
+   print len(fragment.atoms), fragment.atoms
+
+As you can see, our fragment consists of one peptide chain of 12 amino acids and 
+has 81 atoms in total. Now let's examine our fragment in more detail. Enter the 
+command
+    
+.. code-block:: python
+
+  for residue in fragment.residues:
+    print residue, 'has', len(residue.atoms), 'atom(s).'
+    for atom in residue.atoms:
+      print ' ', atom.name, atom.pos
+
+
+This will group the atoms by residue. And, for completeness, we will first group them by chain, then by residues.
+
+.. code-block:: python
+
+  for chain in fragments.chains:
+    print 'chain', chain.name, 'has', len(chain.residues), 'residue(s)'
+    for residue in chain.residues:
+      print ' ', residue, 'has', len(residue.atoms), 'atom(s).'
+      for atom in residue.atoms:
+        print '    ', atom.name, atom.pos
+
+A protein fragment would not be complete without bonds: Let's see 
+what bonds we have in there:
+
+.. code-block:: python
+  
+  for bond in fragment.bonds:
+    print bond
+    
+From these short code examples we already see how the entity is structured: On 
+one hand we have a hierarchy of chains, residues and atoms. On the other hand, 
+we have bonds that form a network overlayed on the hierarchy. This is 
+illustrated in the picture on the left. An important feature of entities is that 
+we can always assume that the hierarchy is intact. You will never find an atom 
+without residues, no residue can exist without a parent chain and chains belong 
+always to an entity. 
+
+Let There Be Shiny Graphics
+--------------------------------------------------------------------------------
+
+For visually inspecting the fragment, we now create a graphical representation 
+of the entity. The graphical representation os completely separate from the :class:`~ost.mol.EntityHandle` class. This is on purpose. When writing processing scripts, usually no graphical representation is required and things would be slowed down without any reason. The following code will take our fragment and initialise a :class:`gfx.Entity<ost.gfx.Entity>`, add it to the scene, and center the camera on it.
+
+.. code-block:: python
+  
+  go=gfx.Entity("Fragment", fragment)
+  scene.Add(go)
+  scene.CenterOn(go)
+
+
+Now you will see the fragment in the 3D window.
+
+Use the mouse to rotate, zoom in an shift the camera. Double clicking on an atom 
+will center the camera on that atom. If you want to learn more about the 
+:mod:`~ost.gfx` module, you are encouraged to read :doc:`the gfx 
+intro<intro-03>` and the :mod:`gfx documentation<ost.gfx`.
+
+Introduction to Views
+--------------------------------------------------------------------------------
+
+Often during processing and visualisation of data, only parts of a protein 
+structure are of interest. This realisation has had a major impact on the design 
+of OpenStructure and is tied very deeply into the core of the framework. 
+Subparts of structure are modeled as so-called :class:`EntityViews 
+<ost.mol.EntityView>`. You can think of them as a selection of chains, residues, 
+atoms and bonds of an entity. A views has almost the same interface as the 
+underlying entity, making it very easy to mix entity views with handles in 
+Python due to the dynamic nature of the language. An algorithm that is written 
+for entities will almost always (with some care) also work for 
+:class:`EntityHandles <ost.mol.EntityHandle>`. This is referred to as 
+`duck-typing <http://en.wikipedia.org/wiki/Duck_typing>`_ (I don' t care if it 
+is a duck as long as it looks like a duck), a concept used all over the place in Python. 
+
+The view consists of one chain, one residue and two atoms. Again the same rule 
+applies: No atom can be part of the view without it's residue. In this example, 
+no bonds are included, since there is at most one atom per bond in the original structure.
+
+To familiarize yourself with the concept of views, we will use the fragment in 
+the 3D window.
+
+We will use several ways to select parts of our fragment:
+ * By using a dedicated query language
+ * By manually constructing a view
+
+The Query Language
+--------------------------------------------------------------------------------
+
+The first way to select parts of a structure is with a dedicated mini-language, 
+called :doc:`the query language <mol/base/query>`. In the Python Shell, type
+
+.. code-block:: python
+
+  go.selection=fragment.Select('')
+    
+The code performs a selection on the fragment and assigns the resulting view to 
+the selection of the graphical object. A green halo will be displayed around the 
+selected parts (image in the middle).
+
+.. image:: sel.png
+
+As you can see the previous statement created a “full view”, containing all the 
+chains, residues, atoms and bonds. To select lysine residues, type
+
+.. code-block:: python
+
+  go.selection=fragment.Select('rname=LYS')
+    
+
+As you can see (image on the right), the only lysine residue is now 
+highlighted in the 3D window, because it was the only one matching the predicate 
+"residue name must be equal to LYS". Several such predicates can be combined 
+with boolean operators such as *and* and *or*. To select residues with residue 
+number 1 to 3, the following statement will do the job:
+
+.. code-block:: python
+
+  go.selection=fragment.Select('rnum>=1 and rnum<=3')
+    
+but this is very cumbersome. That's why there is a shortcut to this statement. 
+You can specify a range of values.
+
+.. code-block:: python
+
+  go.selection=fragment.Select('rnum=1:3')
+
+For a complete description of what you can do with the query language, have a 
+look at the :doc:`../mol/base/query`.
+
+
+Constructing Views Manually
+--------------------------------------------------------------------------------
+
+Sometimes the query language Is Not Enough (TM). For these cases the 
+construction of manual entities becomes neccessary. This is pretty straight 
+forward:
+
+.. code-block:: python
+
+  view=fragment.CreateEmptyView()
+  ca=fragment.FindAtom('A', mol.ResNum(1), 'CA')
+  cb=fragment.FindAtom('A', mol.ResNum(1), 'CB')
+  view.AddAtom(ca)
+  view.AddAtom(cb)
+  go.SetSelection(view)
+
+The last step sets our constructed view as the current selection, displaying it 
+in the 3D window. As you can see, C-alpha and C-beta of the first residue are 
+not connected by bonds, even though both atoms are in the view. You have either 
+to add the bond manually with
+
+.. code-block:: python
+
+  ca_cb=ca.FindBondToAtom(cb)
+  view.AddBond(ca_cb)
+    
+Or, as a very convenient shortcut 
+:meth:`view.AddAllInclusiveBonds()<ost.mol.EntityView.AddAllInclusiveBonds>` to 
+add all bonds that have both bonding partners in the view.
+
+Don't forget to update the selection of the graphics object to see what view you 
+have created.
+
+Saving an Entity
+--------------------------------------------------------------------------------
+
+Saving an entity (or a view) is a breeze:
+
+.. code-block:: python
+
+   io.SavePDB(fragment, 'full.pdb')
+
+will save the full fragment. To save only the backbone atoms, we can first 
+select the backbone atoms and then save it:
+
+.. code-block:: python
+
+   io.SavePDB(fragment.Select('aname=CA,C,N,O'), 'backbone.pdb')
+
+That's it for the mol module. Continue with :doc:`part two<intro-02>` of the 
+tutorial.
diff --git a/modules/doc/intro-02.rst b/modules/doc/intro-02.rst
new file mode 100644
index 000000000..bfca96383
--- /dev/null
+++ b/modules/doc/intro-02.rst
@@ -0,0 +1,92 @@
+Introduction to the :mod:`~ost.img` Module
+================================================================================
+
+For the course of this tutorial, we assume that you have :ref:`DNG up and running<start-dng>`.
+
+
+Loading Images and Density Maps
+--------------------------------------------------------------------------------
+
+Openstructure features a :mod:`~ost.img` module that is dedicated to the 
+manipulation of images/density maps. The images or density maps can either be 
+one-, two- or three-dimensional. The most common formats used in X-ray and 
+electron  crystallography and atomic force microscope are supported in addition 
+to several general purpose image formats. See `supported file formats` for 
+details. The :mod:`~ost.img` module was originally developed as part of the 
+Image Processing Library & Toolbox IPLT. More documentation and examples can 
+also be found on the `IPLT website <http://www.iplt.org>`_.
+
+To load a density map, type
+
+.. code-block:: python
+
+   map=io.LoadImage('/path/to/examples/map/1ppt.map')
+
+This will load the fragment density map from the specified file 'fragment.map' 
+and store the result in map. 
+
+Now let's inspect what we just loaded:
+
+.. code-block:: python
+
+  print map.GetPixelSampling(), map.GetSize()
+    
+We can see that the sampling is set to 1.0 Angstroems in all three dimensions. The loaded map is an instance of :class:`~ost.img.ImageHandle`, a class to represent images in 1, 2 and 3 dimensions.
+
+Manipulating Images and Density Maps
+--------------------------------------------------------------------------------
+
+The algorithms used for manipulation of an image are found in the 
+:mod:`img.alg <ost.img.alg>` module. Therefore before using an algorithm we 
+first have to import the :mod:`img.alg <ost.img.alg>` module.
+
+.. code-block:: python
+
+  from ost.img import alg
+
+
+The :mod:`img.alg <ost.img.alg>` module provides a wide range of algorithm to 
+manipulate image data. Here for example we use a LowPassFilter to restrict the 
+resolution of the density map to frequencies lower than a treshold.
+
+.. code-block:: python
+
+   map_filtered=map.Apply(alg.LowPassFilter(3.0))
+
+The filtered map is stored in a new variable called `fragment_map_filtered`. A complete list of algorithms is available on the  :doc:`img/alg/alg` page.
+
+
+Displaying Images and Density Maps
+--------------------------------------------------------------------------------
+
+Now that we have a filtered map it's time to have a look at it. There are 
+fundamentally two ways to visualize 3-dimensional density maps. One is by 
+drawing isocontour surfaces. These are conceptually similar to contour lines 
+used in cartography: every point on an isosurface has the same density value. 
+Isosurfaces are easy to create in OpenStructure:
+
+.. code-block:: python
+
+   go=gfx.MapIso("filtered", map_filtered,0.5)
+   scene.Add(go)
+
+The other way to visualize a 3-dimensional map is by showing one 2-dimensional 
+density slice at a time, allowing the user to move through the slices. In 
+OpenStructure this is achieved using a DataViewer :doc:`gui/image-viewer`). 
+A DataViewer showing the filtered map is created using the following command:
+
+.. code-block:: python
+
+  gui.CreateDataViewer(map_filtered)
+
+This command displays a panel showing one slice of the density map lying on a 
+particular (x,y) plane in the coordinate reference system.
+The `z` and `x` keys can be used to move to slices lying at a lower or higher 
+coordinate along the `z` axis, allowing the examination of
+the full 3-dimensional volume.
+
+A more detailed explanation of the :mod:`~ost.img` module can be found in the 
+tutorial section for :mod:`~ost.img`.
+
+
+Continue with :doc:`part three <intro-03>` of the tutorial.
diff --git a/modules/doc/intro-03.rst b/modules/doc/intro-03.rst
new file mode 100644
index 000000000..5a6fc08aa
--- /dev/null
+++ b/modules/doc/intro-03.rst
@@ -0,0 +1,179 @@
+Introduction to the :mod:`~ost.gfx` Module
+================================================================================
+
+.. currentmodule:: ost.gfx
+
+For the course of this tutorial, we assume that you have :ref:`DNG up and 
+running<start-dng>`.
+
+As already mentioned in the :doc:`intro-01`, the basic representation of 
+molecular structures, sequences, images are completely independent from the 
+graphical rendering. Thus, to display it on the screen, we first have to create 
+a graphical representation of the object. This is illustrated for the entity 
+below, but follows a similar scheme for density maps, surfaces and other types 
+of data.
+
+.. code-block:: python
+  
+  pdb=io.LoadPDB('/path/to/molecule.pdb')
+  go=gfx.Entity('PROTEIN', pdb)
+  scene.Add(go)
+  scene.CenterOn(go)
+
+The last command is not mandatory, but very convenient to center the camera on the object. 
+
+
+The :class:`~ost.gfx.Scene`
+--------------------------------------------------------------------------------
+
+
+The scene is the central registry for graphical objects and manages rendering 
+parameters. Among other parameters, it is used to setup the lighting, fog, 
+background color and the camera. The scene is a singleton, meaning that there is 
+only one scene available. The instance can be accessed via :func:`gfx.Scene`. 
+Because the scene is so important and commonly used, the scene is also available 
+as the `scene` variable in the interactive python shell as well as from scripts. 
+In fact, this is the preferred way to use functionality of the scene. As an easy example, let's change the background color:
+
+.. code-block:: python
+
+  scene.background=gfx.WHITE
+
+Now, the color of the screen has changed to white. To set it back to black, simply assign :obj:`gfx.BLACK` to the background property.
+
+Objects are added to the scene by calling :meth:`Scene.Add`. Once added to the 
+scene, the objects will be rendered automatically. Since all the graphical 
+objects have a name that identifies them, they can be retrieved by name and 
+manipulated:
+
+.. code-block:: python
+
+  # retrieving the previously added protein
+  obj=scene['PROTEIN']
+  # set color of the protein to red
+  obj.SetColor(gfx.RED)
+
+
+The last command assigns a uniform red coloring to all atoms.
+
+
+The :class:`Graphical Entity <ost.gfx.Entity>`
+--------------------------------------------------------------------------------
+
+Now let's look at the graphical entity in more detail. The graphical entity is 
+responsible for the rendering of :class:`~ost.mol.EntityHandle` and 
+:class:`~ost.mol.EntityView` instances.
+
+Render Modes
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Molecules are rendered in :ref:`different representations <render-mode>`. Some 
+representations show the structure at atomic detail (connectivity level display 
+styles), while others simplify the structure significantly (trace-based display 
+styles). 
+
+To change the display mode of an entity programmatically, use the :meth:`Entity.SetRenderMode` method:
+
+.. code-block:: python
+
+  # render the molecule with an interpolated line trace
+  obj.SetRenderMode(gfx.SLINE)
+  # switch back to simple line rendering
+  obj.SetRenderMode(gfx.SIMPLE)
+  # switch to helix-strand-coil cartoon
+  obj.SetRenderMode(gfx.HSC)
+
+It is also possible to change the render mode of only a part of the structure. 
+To display the ligand with balls and sticks and everything else in cartoon mode,
+we make use of the query language to select everything that is not part of the 
+protein. Remember from above, that we stored our molecule in the `pdb` variable.
+
+.. code-block:: python
+  
+  not_protein=pdb.Select('peptide=false')
+  obj.SetRenderMode(gfx.HSC)
+  obj.SetRenderMode(gfx.CUSTOM, not_protein)
+
+
+The Basics of Coloring
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The color of each atom can be set individually. The simplest coloring scheme is 
+to set all atoms to the same color:
+
+.. code-block:: python
+
+  obj.SetColor(gfx.YELLOW) 
+
+Assigning colors based on selections is also possible. To reproduce the 
+well-known `CPK coloring <http://en.wikipedia.org/wiki/CPK_coloring>`_, 4 
+consecutive coloring operations are sufficient:
+
+.. code-block:: python
+
+  obj.SetColor(gfx.WHITE, 'ele=C')
+  obj.SetColor(gfx.BLUE, 'ele=N')
+  obj.SetColor(gfx.RED, 'ele=O')
+  obj.SetColor(gfx.YELLOW, 'ele=S')
+
+
+But because this is such a common task, the entity provides a built-in method to color the atoms by element:
+
+.. code-block:: python
+
+  obj.ColorByElement()
+
+As already seen above, the coloring operations can be chained to achieve the desired effect. For example, sometimes one wants to apply conventional CPK coloring to the protein and then change the color of C-alpha atoms to pink:
+
+.. code-block:: python
+
+  obj.ColorByElement()
+  obj.SetColor(gfx.Color(1, 0, 1), 'aname=CA and ele=C')
+  
+
+
+Internally, the chain of calls to the coloring methods is stored as a list of 
+coloring operations that is reapplied sequentially. This makes sure that the 
+coloring remains when changing render modes or updating the geometry of the 
+molecule. This storage scheme has one drawback. Consider the following code:
+
+.. code-block:: python
+
+  for i in range(100): 
+    obj.SetColor(gfx.RED)
+
+While the code obviously achieves the desired effect, it is far for optimal 
+because all of the 100 color operations are applied every time the graphical 
+entity needs an update. When you see a slow down in rendering after playing 
+around with the coloring operations, consider calling 
+:meth:`Entity.ClearColorOps` and reapply only the set of coloring operations 
+that are required to achieve your rendering.
+
+Coloring the Entity By Property
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The most complex but also most powerful coloring method is 
+:meth:`Entity.ColorBy`, which allows to color atoms by a numeric property. This 
+property can either be built-in a property such as atomic b-factor, charge, 
+residue number or be :doc:`custom properties <../base/generic>` assigned by the 
+user or an algorithm and be defined at any level (chain, residue, atom). The 
+naming of the built-in properties is identical to the properties available in 
+:doc:`query language <../mol/base/query>`. For example, to achieve a heat-map 
+coloring for b-factors:
+
+.. code-block:: python  
+
+  # will color the atoms by the atomic b-factor, setting atoms with 
+  # a temperature factor of 0 to blue and atoms with a temperature factor of 
+  # 100 and higher to red. Values in between are linearly interpolated.
+  obj.ColorBy('abfac', gfx.BLUE, gfx.RED, 0, 100)
+
+Fine-tuning the Coloring
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The :obj:`HSC` render mode uses two colors to color the secondary structure 
+elements. The main color affects the top and bottom of extended  and the outside 
+of helical elements. The detail color is used for the inner side of helices and 
+the rim of extended elements. This color is changed with 
+:meth:`Entity.SetDetailColor`.
+ 
\ No newline at end of file
diff --git a/modules/doc/intro.rst b/modules/doc/intro.rst
index abf6e6cf9..934398e68 100644
--- a/modules/doc/intro.rst
+++ b/modules/doc/intro.rst
@@ -14,12 +14,19 @@ What will be covered in this tutorial?
 This tutorial is aimed at users that would like to get their hands dirty and 
 execute commands in Python and write scripts rather clicking their way through a 
 shiny user interface. The user interface of OpenStructure is in a very early 
-state anyway that you probably won't go far by clicking you way through...
+state anyway that you probably won't go far by clicking your way through...
 
-The first part of the tutorial is a walk-through of the basic functionality you 
-will be using in your everyday work. You will learn how to load structure 
-datasets, inspect, display them in the 3D window and save them. 
+The tutorial is divided into several parts. The first part of the tutorial is a 
+walk-through of the basic functionality you will be using in your everyday work, followed by an introduction to the :mod:`~ost.mol`, :mod:`~ost.img` and :mod:`~ost.seq` modules.
 
+.. toctree::
+  :maxdepth: 1
+    
+  intro-01
+  intro-02
+  intro-03
+
+.. _start-dng:
 
 Getting ready to rumble
 --------------------------------------------------------------------------------
@@ -59,310 +66,4 @@ be useful. For example:
     # get help for method Select
     help(mol.EntityView.Select)
     
-Loading and inspecting a protein structure
---------------------------------------------------------------------------------
-
-OpenStructure has a module that is dedicated to deal with input and output of 
-data, including sequence alignment formats, protein structures and density data 
-and images.  If you are reading this tutorial you most certainly have dealt with 
-protein structures before and you are most certainly aware that they are usually 
-stored in Brookhaven structure files (aka PDB files). The official name for 
-molecules stored in a PDB file is an entity. You will hear this word all the 
-time, but you can replace the word entity with molecule in your head.
-
-
-To load a PDB file, type
-
-  .. code-block:: python
-
-     fragment=io.LoadPDB('/path/to/examples/entity/fragment.pdb')
-
-This will load the fragment from the specified file 'fragment.pdb' and store the result in fragment. For more information on the LoadPDB function, type
-
-  .. code-block:: python
-  
-     help(io.LoadPDB)
-     
-Now let's inspect what we just loaded:
-
-  .. code-block:: python
-  
-     print fragment.chain_count
-     print fragment.residue_count
-     print fragment.atom_count
-
-As you can see, our fragment consists of one peptide chain of 12 amino acids and 
-has 81 atoms in total. Now let's examine our fragment in more detail. Enter the 
-command
-
-  .. code-block:: python
-  
-     for residue in fragment.residues:
-       print residue  
-
-This will print a list of all residues in the fragment. Similarly to get a list 
-of atoms, use:
-
-  .. code-block:: python
-  
-    for atom in fragment.atoms:
-      print atom
-
-Of course, we can also get a list of atoms grouped by residues:
-    
-  .. code-block:: python
-  
-    for residue in fragment.residues:
-      print residue, 'has', residue.atom_count, 'atom(s).'
-      for atom in residue.atoms:
-        print ' ', atom.name, atom.pos
-
-And, for completeness, we will first group them by chain, then by residues.
-
-  .. code-block:: python
-  
-    for chain in fragments.chains:
-      print 'chain', chain.name, 'has', chain.residue_count, 'residue(s)'
-      for residue in chain.residues:
-        print ' ', residue, 'has', residue.atom_count, 'atom(s).'
-        for atom in residue.atoms:
-          print '    ', atom.name, atom.pos
-
-Aah, wait! A protein fragment would not be complete without bonds: Let's see 
-what bonds we have in there:
-
-  .. code-block:: python
-  
-    for bond in fragment.bonds:
-      print bond
-      
-From these short code examples we already see how the entity is structured: On 
-one hand we have a hierarchy of chains, residues and atoms. On the other hand, 
-we have bonds that form a network overlayed on the hierarchy. This is 
-illustrated in the picture on the left. An important feature of entities is that 
-we can always assume that the hierarchy is intact. You will never find an atom 
-without residues, no residue can exist without a parent chain and chains belong 
-always to an entity. 
-
-Let There Be Shiny Graphics
---------------------------------------------------------------------------------
-
-For visually inspecting the fragment, we now create a graphical representation 
-of the entity:
-
-  .. code-block:: python
-  
-     go=gfx.Entity("Fragment", fragment)
-     scene.Add(go)
-     scene.CenterOn(go)
-
-Now you will see the fragment in the 3D window (left):
-
-![](docs/tut/sel.png)
-
-Use the mouse to rotate, zoom in an shift the camera. Double clicking on an atom will center the camera on that atom. 
-
-Introduction to Views
---------------------------------------------------------------------------------
-
-Often during processing and visualisation of data, only parts of a protein 
-structure are of interest. This realisation has had a major impact on the design 
-of OpenStructure and is tied very deeply into the core of the framework. 
-Subparts of structure are modeled as so-called :class:`EntityViews 
-<mol.EntityView>`. You can think of them as a selection of chains, residues, 
-atoms and bonds of an entity. A views has almost the same interface as the 
-underlying entity, making it very easy to mix entity views with handles in 
-Python due to the dynamic nature of the language. An algorithm that is written 
-for entities will almost always (with some care) also work for 
-:class:`EntityHandles <mol.EntityHandle>`. This is referred to as `duck-typing 
-<http://en.wikipedia.org/wiki/Duck_typing>`_ (I don' t care if it is a duck as 
-long as it looks like a duck), a concept used all over the place in Python. 
-
-A typical view can be seen in the image on the left. The view consists of one 
-chain, one residue and two atoms. Again the same rule applies: No atom can be 
-part of the view without it's residue. In this example, no bonds are included, 
-since there is at most one atom per bond in the original structure.
-
-To familiarize yourself with the concept of views, we will use the fragment in 
-the 3D window.
-
-We will use several ways to select parts of our fragment:
- * By using a dedicated query language
- * By manually constructing a view
-
-The Query Language
---------------------------------------------------------------------------------
-
-The first way to select parts of a structure is with a dedicated mini-language, 
-called ["the query language”](docs/tut/query.html). In the Python Shell, type
-
-  .. code-block:: python
-  
-    go.selection=fragment.Select('')
-    
-A green halo will be displayed around the selected parts (image in the middle).
-
-As you can see the previous statement created a “full view”, containing all the 
-chains, residues, atoms and bonds. To select lysine residues, type
-
-  .. code-block:: python
-  
-    go.selection=fragment.Select('rname=LYS')
-    
-
-As you can see (image in the middle), the  only lysine residue is now 
-highlighted in the 3D window, because it was the only one matching the predicate 
-"residue name must be equal to LYS". Several such predicates can be combined 
-with boolean operators such as *and* and *or*. To select residues with residue 
-number 1 to 3, the following statement will do the job:
-
-  .. code-block:: python
-  
-    go.selection=fragment.Select('rnum>=1 and rnum<=3')
-    
-but this is very cumbersome. That's why there is a shortcut to this statement. 
-You can specify a range of values.
-
-  .. code-block:: python
-  
-    go.selection=fragment.Select('rnum=1:3')
-
-For a complete description of what you can do with the query language, have a 
-look at the :doc:`../mol/base/query`.
-
-
-Constructing Views Manually
---------------------------------------------------------------------------------
-
-Sometimes the query language Is Not Enough (TM). For these cases the 
-construction of manual entities becomes neccessary. This is pretty straight 
-forward:
-
-  .. code-block:: python
-  
-    view=fragment.CreateEmptyView()
-    ca=fragment.FindAtom('A', mol.ResNum(1), 'CA')
-    cb=fragment.FindAtom('A', mol.ResNum(1), 'CB')
-    view.AddAtom(ca)
-    view.AddAtom(cb)
-    go.SetSelection(view)
-
-The last step sets our constructed view as the current selection, displaying it 
-in the 3D window. As you can see, C-alpha and C-beta of the first residue are 
-not connected by bonds, even though both atoms are in the view. You have either 
-to add the bond manually with
-
-  .. code-block:: python
-  
-    ca_cb=ca.FindBondToAtom(cb)
-    view.AddBond(ca_cb)
-    
-Or as a very convenient shortcut 'view.AddAllInclusiveBonds()' to add all bonds 
-that have both bonding partners in the view.
-
-Don't forget to call update the selection of the graphics object to see what 
-view you have created.
-
-Saving an Entity
---------------------------------------------------------------------------------
-
-Saving an entity (or a view) is a breeze:
-
-Type
-
-  .. code-block:: python
-  
-     io.SavePDB(fragment, 'full.pdb')
-
-to save the full view. To save only the backbone atoms, we can first select the 
-backbone atoms and then save it:
-
-  .. code-block:: python
-  
-     io.SavePDB(fragment.Select('aname=CA,C,N,O'), 'backbone.pdb')
-
-
-Loading  images and density maps
---------------------------------------------------------------------------------
-
-Openstructure features a :mod:`~ost.img` module that is dedicated to the 
-manipulation of 
-images/density maps. The images or density maps can either be one-, two- or 
-three-dimensional. The most common formats used in x-ray and electron 
-crystallography and atomic force microscope are supported in addition to several 
-general purpose image formats. See `supported file formats` for details.
-The :mod:`~ost.img` module was originally developed as part of the Image 
-Processing Library & Toolbox IPLT. More documentation and examples can also be 
-found on the `IPLT website <http://www.iplt.org>`_.
-
-To load a density map, type
-
-  .. code-block:: python
-
-     map=io.LoadImage('/path/to/examples/map/1ppt.map')
-
-This will load the fragment density map from the specified file 'fragment.map' 
-and store the result in fragment_map.
-
-Now let's inspect what we just loaded:
-
-  .. code-block:: python
-  
-    print map.GetPixelSampling()
-    
-We can see that the sampling is set to 1.0 Angstroems in all three dimensions.
-
-Manipulating  images and density maps
---------------------------------------------------------------------------------
-
-The algorithms used for manipulation of an image are found in the 
-:mod:`~ost.img` module. Therefore before using an algorithm we first have to 
-import the :mod:`~ost.img` module.
-
-  .. code-block:: python
-  
-    from ost import img
-
-
-The :mod:`~ost.img` module provides a wide range of algorithm to manipulate 
-image data. Here for the example we use a LowPassFilter to restrict the 
-resolution of the density map.
-
-  .. code-block:: python
-  
-     map_filtered=map.Apply(img.alg.LowPassFilter(3.0))
-
-The filtered map is stored in a new variable called fragment\_map\_filtered.
-
-
-Displaying images and density maps
---------------------------------------------------------------------------------
-
-Now that we have a filtered map it's time to have a look at it. There are 
-fundamentally two ways to visualize 3-dimensional density maps. One is by 
-drawing isosurfaces. These are conceputally similar to contour lines used in 
-cartography: every point on an isosurface has the same density value. 
-Isosurfaces are easy to create in OpenStructure:
-
-  .. code-block:: python
-  
-     go=gfx.MapIso("filtered", map_filtered,0.5)
-     scene.Add(go)
-
-The other way to visualize a 3-dimensional map is by showing one 2-dimensional 
-density slice at a time, allowing the user to move through the slices. In 
-OpenStructure this is achieved using a DataViewer docs/tut/imgdataviewer.html). 
-A DataViewer showing the filtered map is created using the following command:
-
-  .. code-block:: python
-  
-    gui.CreateDataViewer(map_filtered)
-
-This command displays a panel showing one slice of the density map lying on a 
-particular (x,y) plane in the coordinate reference system.
-The 'z' and 'x' keys can be used to move to slices lying at a lower or higher 
-coordinate along the 'z' axis, allowing the examination of
-the full 3-dimensional volume.
-
-A more detailed explanation of the :mod:`~ost.img` module can be found in the 
-tutorial section for :mod:`~ost.img`.
+Continue with :doc:`part one <intro-01>`
diff --git a/modules/doc/sel.png b/modules/doc/sel.png
new file mode 100644
index 0000000000000000000000000000000000000000..e5b3c80252ac121d9ec3a56f3730dbda8e91356d
GIT binary patch
literal 55798
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
Xe-*p^#CaD30|SGntDnm{r-UW|x5skY

literal 0
HcmV?d00001

diff --git a/modules/gfx/doc/cpk.png b/modules/gfx/doc/cpk.png
new file mode 100644
index 0000000000000000000000000000000000000000..38808e16817504447d7b260ff14f208cb8de30fe
GIT binary patch
literal 28230
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

literal 0
HcmV?d00001

diff --git a/modules/gfx/doc/custom.png b/modules/gfx/doc/custom.png
new file mode 100644
index 0000000000000000000000000000000000000000..812c317d520a0e9fb66342050b77b74748c42cd3
GIT binary patch
literal 28509
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
aduidTi(Bhv2{SM-FnGH9xvX<aXaWEW$FRl#

literal 0
HcmV?d00001

diff --git a/modules/gfx/doc/entity.rst b/modules/gfx/doc/entity.rst
new file mode 100644
index 000000000..a3bf16719
--- /dev/null
+++ b/modules/gfx/doc/entity.rst
@@ -0,0 +1,196 @@
+The Graphical Entity
+================================================================================
+
+.. currentmodule:: ost.gfx
+  
+.. note::
+
+  This document describes the API of the :class:`Entity` and related classes. 
+  For an overview of the graphical entity, see :doc:`../intro-03`.
+
+.. _render-mode:
+
+Render Modes
+--------------------------------------------------------------------------------
+
+The entity supports different render modes. They are depicted in the following 
+images together with the options they support. To change the render mode of the 
+full entity or part of the entity, use the :meth:`Entity.SetRenderMode` method.
+
+Render Modes at the Connectivity Level
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. data:: SIMPLE
+
+  .. image:: simple.png 
+  
+  Renders bonds as lines and single atoms as crosses.
+
+.. data:: CPK
+  
+  .. image:: cpk.png
+
+  
+  Renders atoms as spheres with radii proportional to their van-der-Waals 
+  radius.
+
+.. data:: CUSTOM
+  
+  .. image:: custom.png
+
+Render Modes at the Trace Level
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. data:: TUBE
+
+  .. image:: tube.png
+  
+  Renders a smooth backbone trace with circular profiles.
+
+.. data:: SLINE
+
+  .. image:: sline.png
+  
+  Renders a smooth backbone trace with lines.
+  
+.. data:: TRACE
+
+  .. image:: trace.png
+  
+  Renders the Calpha atoms connected by tubes.
+  
+.. data:: LINE_TRACE
+
+  .. image:: line_trace.png
+
+  Renders the Calpha connected bys lines.
+  
+.. data:: HSC
+
+  .. image:: hsc.png
+
+  Renders a Helix/Strand/Coil Cartoon.
+
+
+.. _render-options:
+
+Render Options
+--------------------------------------------------------------------------------
+
+
+**line_width**
+
+  The line width. Defaults to 1.0
+  
+  :type: float
+
+**aa_lines**
+
+  Controls whether antialiased lines are enabled. Only available when
+  compiled with shaders. Defaults to false.
+  
+  :type: bool
+  
+**draw_bond_order**
+
+  Controls whether double/triple bonds are drawn as multiple lines. This 
+  requires that the bond order information has been assigned. As of now, 
+  only the  :class:`~ost.conop.RuleBasedBuilder` assigns this information.
+  
+  Defaults to off.
+  
+  :type: bool
+
+**bond_order_distance**
+
+  The distance between the lines depicting higher order bonds.
+
+.. class:: Entity(name, entity)
+           Entity(name, render_mode, entity)
+
+  Graphical representation of entitites. 
+  
+  
+  .. attribute:: name
+  
+    The name of the entity. Read-only. Also available as :meth:`GetName`
+    
+    :type: str
+    
+  .. attribute:: selection
+  
+    The selection of the entity is rendered with a green halo. 
+    
+    :type: :class:`~ost.mol.EntityView`
+  
+  .. attribute:: center
+  
+    The geometric center of the graphical entity. Read-only.
+    
+    :type: :class:`~ost.geom.Vec3`
+  
+  :param name: Name of the entity
+  :type  name: str
+  :param render_mode: One of the :ref:`render-mode`.
+     Defaults to :obj:`SIMPLE`.
+  :param entity: The entity. Only atoms and bonds that part part of the entity
+     view (or handle) are rendered.
+  :type  entity: :class:`~ost.mol.EntityView`, or :class:`~ost.mol.EntityHandle`
+  
+  .. method:: SetRenderMode(render_mode)
+              SetRenderMode(render_mode, view, keep=False)
+    
+    Changes the render mode of the graphical entity. The first signature changes 
+    the render mode of all atoms and bonds, whereas the second only changes the 
+    display of atoms/bonds that are part of the view. If `keep` is set to false,
+    the atoms and bonds that are part of the view will only be displayed in the 
+    new render mode, if keep is set to true, the atoms and bonds will be 
+    rendered with the new render mode in addition to whatever render mode they 
+    were rendered previously.
+    
+    :param render_mode: One of the :ref:`render-mode`.
+       Defaults to :obj:`SIMPLE`.
+    :param view: A valid entity view
+    :type  view: :class:`~ost.mol.EntityView`
+
+  .. method:: SetColor(color, selection='')
+  
+    Sets the atoms matching the selection predicates to `color`.
+    
+    :param color: The new color
+    :type  color: :class:`Color`
+    :param selection: A valid :doc:`query <../mol/base/query>`
+    :type  selection: str
+    
+  .. method:: ColorByElement()
+  
+    Apply `CPK coloring <http://en.wikipedia.org/wiki/CPK_coloring>`_ coloring
+    to atoms. This will color the carbon atoms in white, nitrogen in blue, 
+    oxygen in red, phosphorous in pink and sulfur in yellow.
+    
+  
+  .. method:: ColorBy(prop, color1, color2, min, max, hint='U')
+              ColorBy(prop, color1, color2, hint='U')
+              ColorBy(prop, gradient, min, max, hint='U')              
+              ColorBy(prop, gradient, hint='U')
+    
+    Colors the entity by mapping a numeric property to a color. This property 
+    can be a built-in a property such as atomic b-factor, charge, residue number 
+    or be a :doc:`custom property <../base/generic>` assigned by the user or an 
+    algorithm and be defined at any level (chain, residue, atom). The naming of 
+    the built-in properties is identical to the properties available in 
+    :doc:`query language <../mol/base/query>`.
+    
+    :param prop: The name of the numeric property
+    :type  prop: str
+    :param color1: Color corresponding to min value
+    :type color1: :class:`Color`
+    :param color2: Color corresponding to max value
+    :type color2: :class:`Color`    
+    :param gradient: The gradient to be used
+    :type gradient: :class:`Gradient`
+    :type min: Value mapped to `color1`, or the color at 0.0 in the gradient
+    :type max: Value mapped to `color2` or the color at 1.0 in the gradient
+    :param hint: When `prop` refers to a generic property, hint must be set to
+       the hierarchy level at which the property is defined. 
+    :type hint: str
diff --git a/modules/gfx/doc/gfx.rst b/modules/gfx/doc/gfx.rst
new file mode 100644
index 000000000..3535136fe
--- /dev/null
+++ b/modules/gfx/doc/gfx.rst
@@ -0,0 +1,10 @@
+:mod:`~ost.gfx` - Realtime 3D Rendering
+================================================================================
+
+.. module:: ost.gfx
+  :synopsis: Realtime 3D Rendering
+  
+.. toctree::
+  :maxdepth: 2
+  
+  entity
\ No newline at end of file
diff --git a/modules/gfx/doc/hsc.png b/modules/gfx/doc/hsc.png
new file mode 100644
index 0000000000000000000000000000000000000000..62ec72c8a392ad715481a64e70f4397e0be24e46
GIT binary patch
literal 17913
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

literal 0
HcmV?d00001

diff --git a/modules/gfx/doc/line_trace.png b/modules/gfx/doc/line_trace.png
new file mode 100644
index 0000000000000000000000000000000000000000..73e48987c6593ba9b43b9faaa99c09322728924a
GIT binary patch
literal 10784
zcmeAS@N?(olHy`uVBq!ia0y~yU^oH79Bd2>3~M9S&0}EDeD3Mu7*a9k?cB-=-|N4Q
z+yC~N>E6j><lz#KG;ev(7E{sf$1a7v4tH9)u;f7Q%9Y=>T)hLcR?Uh^?o@nsB)~b_
zOOUt8gJq(?#3yq$*VoV4Y+-IH?wL|MPu;(C{?_kt)$hN?KK{LrTSchTMQNhPfKq>w
zMOb^?n%M$AS?ddVHaaeLTzqlC*<zpS^<RWMCps*4T&<CD<p1xVfl4YZL6826vaa3g
zI?<zxt*a?1S2nMFu~x`}W9joZ*4(u^^ZNQ?zqzLlt_samsoT!wS+-l{yna~Xi=6(e
z>&~u@uRXf$?d`zndQXdff8)uzG2z?hw8EU{epdn)M+l3#wRo(*xL~r=M4NC8E~&NO
z`V8K@xv=+-QS83|^A=l|FFH5x>_;)(it7g%*(bU!ch0;yNzQxvq+O}puNFA^eE+(%
z<wxu`jY&@a_Zqj)md=y4HhQsq{*E2V?5~!19=W#ue74lt|8o{^wLN~4b9vrfiEU-N
z$5v>Zxx3r=&{0<L+h5MVs#KYz-sINo7WhsiCO-bp{px=G@b%A*U0XXXFL<ffmD9!N
z?nklQJ`}&lV&C82pWjZ?U9tbqp{v_+U#`6#&Gz0bS*ml%gGuFXS~@*k&TR(SkKL~D
zN(Zp>r=_h7+M`gneO=|9?FrgkUAf<NOr{hmyKhQ*?svtq*y7`(?kyYl?w|8<l8D78
zE@h>rTZh|?^AEF~Ssgz4=3@5bnwk&d`=giV$*(+i{<c@hDwn+{C*PEn?zYMl+N~9~
zByZlI6CXQO>Q8F-cuielo+tA<IVoVej^fX)*DEfc<t@Mc<^Ptp?S0vK@rwhMZ=IX#
z{pZ}=70T|LY*bn{Ju=r6^4vF}oOf}QsZ{+}(deY40CBx1F|*CSl$Go;R$h8_(Pq(0
zlg~BB^>2%{{<S8;@zylm6@PylA3c8D=&`D+Qf1l`QMa{GdyF!LHX0hP`24JJl`Ho>
zGl>hgm(|~5y|V50(??CGcfbGST4M65-@fS3b#Z%#iAob~Oh0}5E6V!n`tqw=GG#h?
zUFX`)PCh&9Vr2T}Kk2!K^CA~+;d_$*{Nj23|M7JXA024)VL$!o(dJX#OFAZmOGN3K
z<oWELX>2JX-EEc3R&SE!a(hp<#LviRZLTiAcE*G+8D>7Sk0rh?wA`#(Y4k+2Ew2C5
zr_&`fjoTj^8m<UlzG;7)ZPcxK$)awJ4n5`n-v5`_U1Mqf_Ki-{#Jg*px-=%RF8sFj
zZI=Yki|B1n?y_=wbaXoY{gqvIWrd^h?O?7)kLJ9{GR^b(eRg(Wa}x*i={Mp3p80(8
zh!8*dX>b0V>oP|!3bxn(?cQhq*X7c=xhwwv)xQ|J`qQGbnyf(*Oo}ZR0^)A$65SeS
z8x`Fze#6H5-GYeduG{jb6C5rtVEn%-xP2KPpM}P$%kxV&M$X+=D_>r2V^xxHVN>do
zcQ+cX%5+|9g)QkjYsnw;Rga^i{P~lX!>_JB+4og!e)H1TQ}<hL4p1-(ys$y6YVFOQ
zi#f+w9z1ssn5?$v?jFn9xpOtwX{4-)IoTs$_dvOqZSAV4OSYaZ+N*E&oJ={yA!gt6
z?Ci^{8x&*TzTJ3#@9eAd>(7Z77RqdR7Q0wuT5-r%&*v{rE?%{wt7+0q&#)q+<z7=4
z&9azxzq0vxfWoyyYXd_AL_#)8em*=;J1Zvpp;6Y>fTdh#qqaS1o@JVuYIgYEUY+>8
zvp9RDFYgW2{`L2daq_x&b?3l<c}LtulVv7zPCl`Fx3!%9K96=W-50^@WTxuHtJVIk
zTDCs=c=>Yw;!9QY+yW2e9E*`?N$g&<AT+cm{ak^D&77!5mY=NSU7Pki6Rq4iJ9xr&
z^SZfKhAH22&gI<ev8pypw<>=oyzv(IgV){%etlgr*V_0>)%^O9n|ID0-|fVj#UpuW
z&DQLb_x8z_eo9H2Wx9Ct<jZqI^Jg#MY!$mW_tlMw2VY-HEGs@N`o!m&uxk(No3|VD
z@6RiD?@0*!`RR(l{^wtFc1Jg^3F%~WZr@aLR_e;u>_GRP1mCq$dsc1rTzYYVXz}-E
z_RSe5g)Yg+{=XS<B<#SucNJSQozKrS{;90SR(h0c-QNFp@$IdF_rA?}eo`o`rv25`
z%uS`*Sv!lS<z4&ysfLv)u(|xzkqK8<d&X~SDK<1*akzc6fksEbM7{S3*AFwV-<JE*
zy4LFW;>Cf_&#V7jyImr35sT{QxOkBiLo*J}g?E<uu2{d<Eq->kz0jjsf`V6m{YXw*
zAMO6FPj*G{GJ(&ZPM7EE&a*xp{*kYyR&!&f@T=A9KbeWlX{=g!{MP?#71fV77b;uI
z*B+5^cbBm$Px~;-^v;b<tXuQr)ha3<Dxd4@Sa7ag-YEU4SI_I~i~D3xFZ=a1Gu`0M
zPmM!oe&?|UUCEnYe{R>$&z^=71~ysRN?GUp=61yFpLfPI+vEN1>7D0`vkT3SSYLj5
zK`++p*6;Vml1m)sNi15xD}8Ly3XQy~sz<7I#pTD1jVAqfabK(#dur-DTS@CQp1{>%
ziT_@zulx4qWXmK~&B@QJ__w5qwl$=l4pOy}+UhC1tFu^M^*pcCg{uE`SIqCHY*?)P
z?a}w=Tet2Ie^gul*L1g<Pr~xA5smYg>3!&E3frhuTK?WG_xd}(^5fgsxHuPHd2{p6
zzGC&P9GzD$F6xw*ZR=58^YUwdl)_PWS@XWR#%Tp!tG8}R;h&h^yJ$g0^<!aC*JD3E
z=4?6H{;o1l_g(9cu)n`PzMZ5RbM>Xp{jDoP1pHYIRaaeIbY|Aki#IoSUViy+`!mtz
zLU(r=F})|J)aM&Kf80M)T(;M$Sgl>ktfodh;9^(Ex-;F;+ZJ3~n;przZEMKh<CRto
zA0OY85Or;vE`F5z^r3r~oj8`ba^JhTg)_9mMC|CPN1cjXA-A`Exw%(*Yf<W}+j8O&
z*`=v}D!$eHRNc*xb@kEH_xm0{SQooOSbdYNQq!$%*K2Rg@?K-_Gw;m9lanpiXnf!9
zCd#_7w))rm`~9~T94t<cT4>|9Chp@O{XGs}-`+M1Uw_Vf+i}(Y4v87nRgZS&$(pzE
zr)%E%+uG%HbDb>nwRNsvKOMSW#XHMv>E9;SIendufBzIuo2uiv<839sP*;ZTt7}WI
zPSafxy82Q}^$q*Z<cAMKdU{=DEheno_EY;*$M-ky`hNfVx<b~<faA&T${d$OX`2~0
zrOhWr@3GkDWK!<AnvsKV*_Srn75aN!#Ivva@QZohxE{a!ewS#Bu-<~B-O(;z3?i7<
zYF=J0{Qv3nBOS?=mo%h!qpYoYK0hz6ImqO9>vr<@Jv>K_er{_Es{59+Eo7xrXvGt~
zNsBZzK0lxQ<K^-{8Mg6UPXYxWX@vK!+FiD=?A4L>4+n0!UCanbJF8UqBA{+#oO^oo
z<=wj;-CE3^Y?kNJ+jZ#2x7&YipXKG(x!YPTmh@3@w#mZR&(3Za-}TAL;3Wea&x6@F
zBCdQW(7I*ko#?)0N$IN#I*N>2eWk5#$<<37*)3r^YpZcuLC6eV+qp9K%Qa5DJ!o=y
zSz*Gznn%2B-j4g@eRa4p-ruX)Twy4=t<SQ&kWtsL!oYaZ;=uGX4?4D+AKmzIsu**<
zp|tA1FI8WPpHKSo^Z6R_muvoCWxBH3y_=amz`C^R-!A?~f462h9^YZn6T9oe@v1)y
z=Lar%dvC6O*jgp;)m!(xPk$>EvqG?SEhtHCX5Z?@JL`sA{e{ZV)t4-+q)e3#B}vUY
zUjMs3>u-46!`>MZS9X<FO6G|-?XJ~uUB0<w`mJqC>q|_sGFGTQnDt@C=TC>MwYsu}
z)rHn-^oMO0V{>^}_n6nts*q`Gy8pl2>OXZ6_jkLkKkm2M_4*D&*`%a^*H;(MoGV-A
zZ~gxJ;sDe5LrK@JicXK)`=jcyTiE;C$J2V*)*5*47hjdNk?-$k|8Ft7-NMe!+9G^?
zi|681T4`&==1vwqCu?nFqt~bG-v4R#1_8D!MyV@;R*RiwX67s|Il>vx>$d4^nvZt4
z(a%4XlWuKKU-I==ROrz^7v0ZX&$!Sh?H(RlYcy>?s~|srjIUZj`F07JTTx=%iWyro
z*1ool+OUUvvt)6e-c2>(W3js<cIHak*M5`S?>GC{J3-|ck-JP%AKonA$rUQRUL)g7
znos`TqY>%pcb54tU%$1%e#3^9TC3ce&9uAMEOx&cxR~w#uZQe*r?hoeuiR;9G|6+R
zSKzz5<&}!c&DmD6Y>Ow(k+Yp~W0h#_)~GM5xFRE0gs&^mQf<8~u2=BnjO0Iyswuu-
zUw;nE(0D2=WN~dFv%E>}snyKvm&{D3PH7h`sZ08rALzRDlL5!U>T2N>v*y{-3$Jww
z=q{LbcG~N^Ym*9!4qd!H{lNi;LrzXB!ZxXhdQD$8tDCzG6kaQZLKiKLl#xGQIJ@iB
z%zzA*B;Al_8w|8cUb)<#Y5dbhv$MEA=!Q%7#&Uh{U*Dgz%gZxOo@}}N^1|&_?=pJa
ziloe*#J|0L`SEG}my;(Pm|taEwsU8Sd8X5My;up0WH$MC_s=hDVDS3=TUb!SBhudf
zR9pMy%O^R-=koce8S%2oG&gJ7W(Z6c*Gu{J?d_UNSr<8<FK=q;l|PlMZrICqhF?=K
z@Wb7^AJ3mXnv>t(eY5A}x7!vL4<5YsPH<pIT(~fVmwRzgfPnswUqQ!iO0HdXs8@PM
zP>{vX=kwo0@16Csvs1>de%_BGF8`Ri*PokQ|EoGUgM~?qeZ{`onT7vs#HZ;#wwL0a
z<-X?W8HWA;&#8sBT9syOFH#NeaVv6_l9%_Y`NY}1Ehq8sEYq5Fg9j5PJBPiz6e4NR
zV3~b=Q^HLnHKsXsX9W{>T7<86fBvp7-GM={tZc={k8frhx9_;T{Aczp6Sj!GBHSUT
zCtlAE3|x>EI;-UEsSDlWo-+3H%H=k3ug)@g@Tf_7!N+gMw#V7dYHbNn*6HDLbPW0M
zefgSh?kd;DGd^cdo;;$i_UZYzw>sV)4<76+KBBH(Y-T)p_W5To<$V?kbo_AeopoVn
zS?;U4ABt=9?<z&F-nvDLzgl*)<mN>SmMkgw_ae}2|4%jM_}Z!Krt25m>Gj?Bo0AZJ
zypLyZS?_0M_e+Oz+UCe?x^qXvEJxz?xjBk?$9R<1{!>`B!gTFjK~r<_<Seb}LBTh9
zrfJ^&P;jdBz2DR|I-Ay>pZGqRUwZxN+j7(M@^<Y1B6K%u>!SDwiHGUui_Fy8M6VUz
zuf4xfLRyOFhPb}p${iMdyLLP<$`q1bAM5Pv`*i&g7r!^Rj-I-_+;YZ@6Y(ccs>JN~
zd$w0kGmT^8zUO~F8R&dq+W0Gc_T0IJuWnC&zb#kU%4}MEYxJw+82`nqX7I3;l$BY`
zw>-RyOEe>Fuhsg@tuJI`6-}qEc5dJF<BDdTechZJ({v@*TwTN`>veaw`Ty-@!k15X
zF|Ep)`Oj49<l6Z8Vfp(!?|*zOS@g%E{z>|EuOkOHaYg-DJ)6O6>Y|!%F&DF3FMe@x
znQ!mYKl9svcsS4YPu8YAciW{NGg??Ags+h}`ut4dkBQ1hEUX?)n&5Ef>+3r^j%(Hn
zH~rAo(9KO0=x_@)EPZ*%pt}0Y{hGto*Jk#(uj_R6zOu{IHtX7xqhCs{Y|W0e$dh@0
zef{~>%I=$L4zq=&q!+IaQkA;8%2m3V(VCsz!}sZ}c6lRhyLrv(ejC&cCnm348FT8l
z;@Pwief>S{e5nWfWOHISwXEL~<$eEO=iVvqD*1A}Y$aQ>FR${IW(!$=uKVT7l>A#q
z)|9^f@oxQo3$;tOZ+`e~QF!-G#8@I=eZ0D=-8}o;$s#3+ce<JM1sdDg_syJ{vSfL2
zWT>J2tCIOIf+{K>Ufr%ApMU$9SABh!d5*{T<l{HKzS~_hdBTC4hRGF|Gq#vK*Ny%Z
zx4-U8%;vV0Rkm$iqLmx-VsBYnI{NV~Su&yGl}P=cpX$5)=cVK)Db>gAaw+=%@64sw
z8-IT~{b%;2tzvGjfd=L|9-rsP_)OO;+*Oo1%PjLyH6x?Tk>i`|&q&<6x3PKY_Pj!F
zht)?HT)dN)dWK)J$BD6^bZJXmf6-5)>qnASoov}?!0|9ngspK!!=^l0<M^u1K4JAu
zwHFkm?(R5P+RJwK@HbyqjXC>jXJ#2Bn3w6?t@@Ty<-)>yzkYsxb2I1btKD2~i&Nh!
zX>@FQzvuAw=<S=5E~#|)b2iMDUf0+-g_nPM)y|?TTCuaFOtU}DTCDu!*`b@8|Ga$F
zb-n)o>HkZY6d2ksE6L^B`s?R&pZp6AVMn_nnfz|tbSyKQW8rwGky&R?#YE+K^D34s
zoj7gkQQgU%GLv8CU%$+;I`z{QhHLj3HNtqr7YiC0?a<igof!XKQ{?pbYq##p2s*y?
zoP4A3jYPHmzZugvZ`zT%_U$`up+Jw<R~H{OzrW#Iw|+;=&PkHKvo2KrC=g@xnd$Uj
zRC~sviwlYi4%8iD;ajQojNg9AskPB5np{%Z<}dT*@0{hm-oS8bil+0~3jta=_s=!e
z{=T95>F<=d)3JiVH>+%aU5|hMzl|p`%Z+W>=jWDN%k}p^c{WK}%x&rdg+t8Dny()v
z3Hn4ynd`+ocrw#irmJ6FPqEQnFGj)6a%T6<n@{dMj+1hATzq+<vDC@8HzwN2*BqE~
zZSBWBMXg)ZMY%NXHAR>hyH7TqY}r_p`pS2f%b9<FbAEjZj(YMeY1e#@mbp`!nak||
zop|~Ax#iXU_Fox$cU$MpuQ_x{JAB8N`~NS6E<TuGH1YGx<!e?1Hi!NF9sKZ)rQeNh
zOi64fetmTP|1ZB)VLw;<RX3m8d#w-u`uceDWcAMZ*3%8G%QsmmH=9iKTfKFM^6%fm
zVnR+885*MAQx`=Q7$n}i$6{&Kbdlrb%aqt12Re<@EpkN99po1O@%oXg-kn{p+urW2
z{+1FlU9aZLtJOQw(kK75;aC!&_@-)A`0|f^vMU}R+vv7@cWlCYD>XqgfBBjNPi{n9
zdGKI2yZf~aon`N3t&M6ft6i}w)mf&|pWv->M*Y*-)UYjbdU`w7M>w9kw|7P8>LBkw
zdUqzsr)+=rurd1Qr;zNcU3&602c}O}-(2|AOQ`Iv)8EJZSDM)ax96$8J}z%*lE%Yb
z{Usq{u9b<L{k+!w|4wCId>X{%`}MbsB3I7aTYH3ro2{}$PH(wot!SQmxvME)A(QF%
zx6ZY%*Y0Pn41VDEV26}x#?C_Jtn2G~w(Sj1bPN%?cdz2ukqM?%CZ`!nth|p*waFBX
zPPFeSxO2BqH@xqZZq$W`f4@r_X9@+Lo?fhFCieMY^NM!<#e9;7>T^CTon&`8xHf+N
z^>1$+|GqJ<6Ir)zkwQoR`s<75n)lm3KmXi+@4xqnH7>dD-}}EfZ$J6(&2$&e$yHo|
z;v(-@=DoN(+pw^3MeeN&p(i)%es12d@3^~A-)il1PfrEDJSv{47v0O$^noqsQj6dI
zziq!>E<eL~nrF(|`s1_njY{6fUEva4!C7yfA1-3DZk@>QZ_$2dW*xN*55MF3c9#74
zuRCsZB^=>MlecJC8EJgWc9p}s<9pW>epag%`aa2q@ko3A%}H{<zk@vD^SW^Fq6I9h
zf?~qSg$uXJ{hvQ8pkrxicGbTh%HqyW9UJ8IP3|&BAFQr?Xq&=uKlgT9;s3fT-`>7t
z^}ql9NSKBHXS+$q9XgieMpwyNG*~4xsA|a{FuyObIf?b;xpNk`);ziACbF(iR&q}Y
z=k%Id-G^@6%??MLWE%Y1FKtx*YnJoi*|)bVVs{yQ=+=+eQEk5S;K6AdR<}N!sp8K$
zJHYC_yj9DswbJuV^8Kzevj@Dswv_eG-NykXOKog4?6Sq4FZX#kW3DXQMc?Xc=RX=~
zR4%%BeeG#&Zn1(l+wTXs_dHnMz|h1P6H^ekd)ktn#W&YqzI%^jg@fJXCz1*-m$qul
zA3e6{-Q8|2F~;}iCq(wQwgy(7mAZ0oukPI~O%lF`w{Z&#IsLe?am}6W{H5P=_`+5u
zb#k&TxE}rI?dp()?;ajrvA0_MT%_em;Uj6!I<LnsPft-%-m~{(<%|;&PCRF4U#@=a
zcEzptMOL-V{*Amxo;_;vPEkoNf9LY|Yxt$O>fZ9BXC@v?(-%=}n`bLo_=F>CYnF*X
z=BKBMDy+@N=hllSNtkrFo}Qk}$FqfH%enLWs_!WX=|)}1{hAe&oE-T3+f!|G^E)n=
zcDqatS#x>InR#dDmA>Bb;#u44yVtr^TzL%J|7);1ZZYZWv+$kocj(E<pXPEWtxcmh
zDs5fnpMJiPdBx-7o418%dLI$l@t<d^K)C~hYWe$P7F8zQYoCjBObZM;A+WVzWl%`W
zR<5o7^82>S)h}W_Wi~DBp8f4<2d<0%e|UK2=6v~A{`Q5N9GRnTKKZ&(i$QV0G~JhC
z;_bI~ncmIq_g3j|5jd>9{=#LcWnXk}KmOm+p4<86jX}xlV-Iwr4cy!(|2-znBP9J>
zqkp6N!VE*V-bc%As|`A3w?DbE{>esxBng9t*3;7$v#|zVtNPO^qG4_QrL63RwZ(%s
zPg=TnTd#|YtN8Wn(cLYYZ^iYWt>0T6*v^+at)IWn>}S=QsQbr~4phF4(mONraNXQ@
z7Z=?S4}EfaC-*g{#T&ODf46$QMUv4(>lBWun>L@^`0;JsmDid_yB=QMZy$eUrL+5F
zPWQE9)~nwNUwb`El+|xe!u=~NYYLul>~CDkx}oZa?Y5UY3~sKEnp#!-T*x?AYVmUa
z=l5Anc>*0Bxt_>%Fo{Ze9sT&&a!aZ9=jHy(+fTOq44k{bMe)te$rIn+`grfw)-$_H
zxi_C|$ucR@wx0cZ=gvDOQYU}C*5^BNH1f~RwTyS(N#(pP6!`h#YPbHcZ%^;v-F^AP
z0md@1FAimsn7aJZ4LfpfPdn&6JxOSGgI$~b9<hW|BHPZ*$;=d$J91e<zT>9hT)w&=
z2aUeIex<d%?tQz=lDo`Dg;EW#-<4h8##^bZ**V!fzbMw_Sw+ihja6Nq>)pl0+^#-8
zesl5FMaB{v#GgIcR_`R?ugo`vLp{sn(DV71j~-@z-*1<+Y*o@U?v6?A$8I@k@bOvn
z$)9g@?LNW9wMfRM>a5<S={lY_^7k*?_s3|iLj856oMm<Qd%B%-ufF=W?@5r#q~FQH
z9S)ywrn~(8W4!Fchuiy9`tLmAQrz=r)6slYm6l8W)oax|Ph5X-QRmiP>Er|jMOMZ5
zNlZPZRw1i33@Qw|!`C{kjk&pL=99<QemvUK$UIX<)V1wwmD|2=KaXBnKU;cT_Vr07
z>3qMpL|J~--pRf#?a9Q6XF9r^)`s`<eK^0%Imy93TkQA#pKWWm9seY4_-;j5FPnSc
zf^V;mYTSM-bTYSvV^>Mym0w?1tlyXQ@tE*MKRNb5VQZ^L0<ve<#_i>rcXQ_n?-Z5A
z{c^5rgWJ;-c1H<GyC`Pfo%Qea^~L-CS<P=!mFnm){%UZL`;!t^<V+)%H~0H*ZBW!*
z`(4|>bW7>0aDIbqG3)emDcxb!?+v_MdzHQm<@7L_O7TX`<!e6KvN1FG-s|iAp5D`q
zo=%UKU{5faq-@r>@ovO3!FNj;HKM1@+PPCe{=9qwXTjei@^1_`9y@<lH?-@MoZJp|
zwW24H?;faVD%{C`5V_Y%cbd+_w0^l7-f1hE`}!=z_4~?SUJ6+qHC1i>UbmFPZDQ`L
z+GUS)P0PGtP#3YWDW!K=0&ktGx0sC2jb*+uaa+4CH#WA299yC1-_3McyzbTttyN*%
zR<hsx{46Re1RgwV>)&sGaBZ~lr%S4SY-~Yke=7JYsvbRl<ixpG?#)|W>A-t?Jl}nN
z9kZ`y=HtRbnVJ~~ZZ0~i89mKP-G9^hoNaF=M+ls;S`%$FgNa$wv{-GUdENvuNzcDi
zM1npkFDr0-x>LNPgI`+6>E*q>GlfKscz^pQVIt*iQs!{>%#&RwkNAd%|1mP!QS{4X
z_xiY}UQtq<o}MZ(`_Am_;CQw7GvEEYyIjStb$sS8jyE@tX>Q`Uzom2MqaT;+p0O()
z30%aYntmqX`P%3dH@8a)s;wd)qwAh;To53_vM4arCx6eu>2YyW;&)Cml$4CQ^7>-Q
z%R@(;+as)Nt!ne`DCnAhf6uCHGUe0N)t6V~M9zxaf9`7w%cBPe1)m<Rb#~Ht|D;7t
zukY@J|F;=$bSPIm^GWJ;+f@B^QJojp$sn2f<r*9=j2=EuDvoxU#P6A*Ut+aI*?rUJ
zORDG2%|5Q4nHke&9e8_d)R&z*?`Q?LWyRMX)tk)ucx$%G+Q`E!8xMS2kT+>Z{?4K+
zr%pAsu=E|8+w1a~S&^Z>o@u$i`mvm2S5}MjPMYjF>Cq1B^M7@wt=QNvo4k3sI^V*D
zAsn0wom^N->wYxyPnzVhA?od_B=@CvV)9zsJ{@Y|%(1SXrX0NNf}%o$fwlD;`E9HM
zFSSAz{A=Y_iP?K9^u+$R3@r?Q{%9B`vu$M9TNU{Jk?T3{!aK7UDF_%Jm}x9?>Qs|>
z+=9d)A<p!30@s)G7uVEqm`I%z&6ZUYJ~lz%RNY@w!|?T!OiDELGq?U&vUK9bjmpYQ
zOd6SH$#oZ;W|{J)o(g#Vqwt%<zqJ9}j6Z%o`hT}v?0^3Wk5}rdg??R+|B0|Ru4pLw
zsuezIlE;dW&Tu2+opxzF>tB_;`2RQGY}c+wiDt=WGY#6>J{@{;^3Ayu4^BNeXmaX=
z!s19{JB#XRKVDz=e0y_prcJ_xyx9K%d-r_!_F4JCi@>Bc$LCu*G1%Gt@SX41bFd-#
z{Jbl>3mP{E$p}5@>;HM6@yu-7*(z(V1sSri2iLs}+Vuak{I?e+8O_a{@tazv+}!;0
z@WF$dcD;G$xAE%gz}e=@!}nHgxwTh%t6T5wXA<SPf=7Ni&9ySQy<dK7P35Yn%l4PK
zJfEzuD6Faf+4^IJMo?3ejx>kplB<83&J^EoIxu&ZwO*gBo!yVh%7@D}G}6x(<y_I2
z#l{}|@oxFgtQ!Vl&z=-$s<tj>X8%<C_Lj-YsHxL8ZSt_Mn83Sn<DaSz3iV%JAOBuu
zYZdCc_xP5z5(}>HtCM|vbMu^rbn9l-Ytei5e3)m}D|_x-g_~QDz2U^*O;0N-x>_8L
zSUh>+S(dpqV3o+#P|>UB_>L>P-}w1<dr9uySsruw);2RAef#!fZ^wd<OFUiprH*``
zIWuNWQ0uRE?{@S{yGO^zH(8aZ%~+MR?cKd4CyVVx6_lFT($5K$KW3YGE%Sc5l7Qjq
zXHQ$dUs;(`Uc5Ns{k<#p)zd0oTX=UpR@BsD3S^u#>Bs9^rbefyE^c&dR<oWxyRot5
z`@6GC&iJfbwq(MChmGHNmHNED);o!r?ZT5gmVTC&4~=ppxTonpzEu7G<9+A$8+SG+
z&b6`qc;>8X^qbpyF==Phe5_<|U0S-b?9YzWzmFqJ*SB~VI4~T%Uw7I}U*F5cEy!N6
z(LR-BvitHA94>(uQqm_E|1x1eJ$?Dcn>{!0&!5mKd~?~=MLZG?XPw(`JbTje=w09X
zlPy)>bU2T81%8{I|KjsG>yU_jb2yiJ1uhO!m11WNe6{)fkDamBRlj}<uUIwBao^1x
z!S4C;jQ8$UbTR(g?6i2}mXQCy#B05#C@d+@fA#<CbdmNaj2wp#Zoi-QW|1o>zjwHH
zTkNkeT>keD2Sdiyu5z;+h4gnZdg1H+K0iDAa%Yz4s^#iObJvG1;}NX=WsvvO>(Zh{
z26=b8tV*?ZTbC?YFTrA-=QG>>p93#<wN3oD`mS#7bB&GD_Bt(LzVdkT`!dJ#T-iOE
zTeCuE@yMMCVrMsrj7;H?@p$_rMNflkRwMJwsNH5~`Q=jLcNT5gQ!{h2rR5B}zf-cV
zMeK<9{a)+948t}0VLgv-Z!=t;=)7y1zQ68TF+Q1u@+>X)Lx(l*uNL>+wCPj+`GU-f
zALliMVs&;1?=-NTTkPjIV_n?SL+$cG`j#`ftz_9kkIKmS{G1{(NzG@$=ZlNi@bNA^
z^nU;5m^t}x7p<_Go63LWX!p-Yt>P<+-b&4^{S~m=Tii*_N5RN?_UnfauUyR1T&D3e
z`J8f1+!6~FewUK`rY4T)9TSRYn=jt?ecsW(p)Bo}GXkdRK0b6|;k3I&ckh1e=vXjq
zu`=HW`-|62uRX|SYdGPt%*8eF+xP8n@;L(5NX+~EtT5rRTi(xKQM=Mv4|aurdSUZj
zx8ubv5&gdV$K^LG==OGR+_+|KVDt7ZQ6@<bUcKtd-k9`5U8Nu-FyPW<Py3>lz2^Co
zmR^l2%L@t(+4v~WWYXg&Er%C6uQ8H3S^3uVSG29jR{8ofLVM->Lyx|A*tq|M`@emh
zCm#o>tf@Skc1BLFqNP1J^^r?e>~6PL9fE7VemZ2X+N#1JFYk5h_F^@)BA*`%rF);O
z&{`!h@nFNc6wg!PYfgAi)&A@?)5xTt=+MV2nq}{A9v0dx8T|U1%e9rxmtDIhZtpa9
zj*a~&7I|{}bcM>CdDV>_n)kTHJ??C57M)*n=uYYD8MR-vGE+|l*qctB&#0=<aA{Rn
z(JvEsAGIDeVYgnkre@9XeKx$SLKnO4EHcpw<JtZu$D+9Hu(X-M*AIz{&d+)1k)<VG
zTg&<4{`~y9zf*s9iy5wpHgBt{e8~DUxn1?=a}mx)hC4eB_69C~F=@`3_}JY>I+ioL
z?d*PV9bbOH;Z$nMgtsp`yf>%q30*6tdwSZ^#{KqnZptcZMOn}N#N@1wv^_q4v-T<1
z%F6eq6$Zum_nsWvlKJKAIk&SX8TIu~Z_(exsyW5xJJUv`oMk5W>(769k|Ol$YjV`z
zUnLe56MFyso3cJ~ve?X-OM0b`=f8WmLq)CV+lNH6bF<yAe0=<7U&X{DHrGSesC}As
zC#EQB`?LR2ri)H4aNM%DZtiO~=3QS(g7)my)$LeP5ER0qv@0rYt=QjLrhgV(On7&_
z-*U2gv4LWv^Syg5F}sho9_^l4@kwRBs+!RJ?^0o_6RxJ6=PS<BQ>(9UV&i$RTU7f;
z=5fBT%&jkqi%#sVnkphM@6A2w{<>|GjxRpJ!J^Z8CFj_RiwnBDk{qL?p5LqPmps}f
z_~2F7=k@zH8ClJ0RodID5E6Pc$L#;v5NF0S@^vTXobfT*_jj7zA#oN3-QJM$^3!5j
zK?<#tpV!SY*LPB}w471?CgJme#w*rEEnlr<zwO+)ggImDi?wd;Zm+MU*GK1E&eDDM
zB=?rU%?*nBf1lg$nL5vJS80@FgZK1~?_ZY8a4W8^HnrrNC?a=6De>y6E4TMZetvaz
z$@jO}oO0~nx6R)q7w$Dhq2jcd&-|K0H9L~utNy#an0@i0#fDZE4;YGcmly;+i4urz
zIUM}*(v=e@71Pg3?W=pt%hn@zR==;$V%FIi?;ln!*Wh|JK~cxU|M{saE2pgsy%*px
zU4L?d!GhAlgD)j*C%JrjB4GOW!NHpCH9J#pZF6M4m2<nzs@kl*rbZ`h-?oc4S`%(<
zUHpDu?TW40pSAw1Kf2~e`CKcL-*3%9b7XVOdzTahEQuBfd^}ypbLkS5N207}&&^%)
z>T<i(ym=z?EhpdC4p}g*^kP6d@0T1t9+fZ6{4+M?NEUy4leqWBGRya0*T+8AYM4EH
z&MVzDB9V<8uj6{zj-Kxq$POvqe6XQ5M&@_**F~?Ede8a&E&7{D){)m~#%`{lwPt*B
zXZ~z430m&^xOq40MB(ONTTITSrZ@NV?|U>)$aA3s&kS3eg4-LJw-%?fWtwDst$M@D
z_J;B3P08mM7yo>Efbq)q`)Lvm?R;PEZ|C0{rt6(Dd3SGMj@h}wTYDt8R+qa)T^3uJ
z`Sp3D((i*VZ|(@GYRsN|`0C;In_AzP1T*vQJUI5@;hwrjEc5q$=1caTvLNShTgl&-
z>S^!po>p_+Sh6$cn`F4i(>~V1JiVJQU#e7AKAhR#ul181<j0uU!aZfZU+Vt;_;*Uw
zFFj?#tci|pX=>)i#-8U+D17~X|E7$<fjb)vlpa04xhsWJ`R&`n6K7RVr|jDM|HplU
znF^*;yNgWseh5loO)^Uk5;3X%zRA>T*3zr1E*?4Gf9c`Fkn*BKx6kpZuNC`Jb^89=
z=n1pC4b|J%RDRx(U^1!rv)am;Gh=pFPJR=;eaFO!2V1|C1Q{Fcm^jrnElcb8)+iBq
zd8f7Cr!Z-zoJdTT6Jh;QRZ?Zk_wCz@IdcliiWcpdEc{MS&tk{Uhi~8X%x`8sr>AGJ
zbNAz?ue=)e+Mes{yJ2bl_~o0P^>O)z&O0k69u5pV6TP9q^OF6Z4~ndZ=86_?Ui#wS
zVx~108xA%sKG<;WB&WN&`W^qdn_R-Ch}bQ0c-OSnvqPdL`af^wy_uzN7T)S{ey3)@
zn(}>>ffDPdmXq1}sxft+we1IJ4dkTf)Bm$`s~9;r2e61RFfcH9y85}Sb4q9e0RJ}_
Ap#T5?

literal 0
HcmV?d00001

diff --git a/modules/gfx/doc/simple.png b/modules/gfx/doc/simple.png
new file mode 100644
index 0000000000000000000000000000000000000000..e6a4d8cd8369fc8cc7c9151b1e0424138d9ba859
GIT binary patch
literal 22994
zcmeAS@N?(olHy`uVBq!ia0y~yU^oH79Bd2>3~M9S&0}DQoayP}7*a9k?cCB5k?Xe`
z=0|q!b`Vk!Fxk=Sz$H>%ev9eoT`$ddc}M3yaBV)`;NZc**tDBXGp~{5(apO*|ILuS
z@vME?w`}gub0%NjlwAHUrt*EZxCnj0K9-jHT?}0ReOVYC1p*i)cwYQ}`AI|LPqsjd
zJ>Qy{|JN?~aCK48Lbel=+ZRn%-@G(8nr-I4bqhXRO%hqjqOKluZH=Ot$&@Y3>;kW^
zEfsEv>U}1!x2WlmeY1kXijWmsqh{F7K5-!+$kz6xZGnRJxA*SPpSm(KO!bPIuAx!m
zyC-e}zwD`19UMn4EnUfxklTB7RcK87-dVHD$}G5;v{HQ+eF$9`v`~!Y#f8R?$NQD9
zt#qztSSwcCU{k5Fr`mk|EVHHD4N+^?xQpx)N||`_boZaeMw`6*^EN81HSbv!$C&W5
zXdR!#fuP5x@jmQ<Ph4BSE0s4KYW*3u-u=$D-jz)aULqHnn>3WtPBvA4d-J5f_i4{d
z(|9H?_P`4LMH+v<UsTSsw3=jEUDnm1#8$ES+KH*%Nm05ndrt{IHf^h4bD-W3qO^nK
z!vn_aMn($JW}gmad+%ZhSiq1Pw@>BeJ==9N<36h{C=qDoS7bVJ^y81G-t#J|f<Am@
zOm_e9?b!QwvFFrOC#Hz(pTf83L#aYnM^nRuX>PwBAHQ>U=Hy3OqFR-Td1-BG<#~VB
z#Xh#FsVtkI|0-4FpB#(hD;|Ei54(3;-(zEL>*2Y?!}jIdH;di79#wqRYTviz9HYiM
zMlN|bfhDHLd!^^-L{C#=<qirG*syKeu{*bC2d$6$_~cKe5-%H%6mOQ}ge}qkOLqR}
z0y!eEL+R1y=XWl@-f3TNx17h#Hnhr0N#V~IVeM&pPnX|_&}&HH{wZ|l!G4L_uh;tm
z_Xz%b<+d_tp^?Oao07{_y>}FRQrWGfeDl*Q(UX~(D$AC9u*r`*RrdPW9i7O6+dC#^
zzP@H?rrDXY_%<io;pvONh5mT|c{*Q})>M_$9=WsME(8Q^PE-AT``qSj$5wfZFMD^p
zeMcg5`RcHxQ%~An(VF^b@z;Fk2ih|fpSp!F;n>G3b>ZXsJ=@o;TopBSnR}l?*!pw)
z3{t#l%X;r!*{V{W_sMsz*NuhF9l^^ssQb%t?SDIu>%YRL=P$1}$TVNvX)L^Gkw9!r
zL8Jd_=E-h)319A*{)$>TXHEep&y%Y+HnJR;E&0^;JHvt~)2O_AXC_Y&_`=M#VMU0h
zR>s!#>^hDwHU0|}HNU*ndUCP*X4kdTwrKq?+4)Z|<?5>4)|TJiyXRc#ko)lQp!c%U
z#Z}(ZXW7i$us~tboVh2pI9Av#Ic0iION&8TI;ZMO!k>lC9gdDm&dl?z*qXJ)!1nw7
zbyEKpN%gI<{P=O<uRWD5f4@m@7S~H@P+0J5wfOq~YN5+6R^`sHoqbqKH0l1nDbwq#
z@0T89-Ql>jDQxYF*mW{rSs1&Yq{zMcx`T`9mW<_xh@F!JA3n_aCvtX5RBzP!>F3r)
zPk+CwG<oJy)oah56}*#ipRWIWx^cQiicWi!h~b~;SD(9Gu07hZV?yb5J)yL-N<#l$
z7=KxsG)K4P*VjyGIX|~PnTpzsEz|omx2`zeqxj%Q;gP?;1;4*_zO%Xgcw(YN*_#Ld
zeti6sme_c7{z~`7H<mJL1h+{&Jso`g`t(=X*M+178!c)qR)2c3u;Zm_{j<NKc1%;b
zdc9aLFBcY(IKdqrerH0;-TgIO;VT7XWD1OoCo{GE%S@Sg?55=Pz14!Zw<fE2lr9Qe
zd@_c8)1UnO{>N`_y1cpBY>~`%F#B3T@oBMl?5u*~a(z20jm`i3wS4%fY4%6U`c;hS
zarqfrS4f*J`MWLG#=d}IW4!&dojWH!E}pmWgIr4G?pW(%GPYeWUVEqhcx|fo>3DI;
zk;KDnaaY!OT3>$tfAWb`3B#td+F=5(UwW?dS<ay)n)P#!PUMMg35*XHF5IIL8?{Q`
z+goSu+`@D7=PTLSg-Duov_5>e<mp*&xyLylma|J&?oIsVo0Gfo?S;m|#6*c{`p?(w
zwe9=x^!$(i>raTr?J^1Nmven{rPK4ncax}}hj;FJBqh-ivD?i4U+no`B2TOe3J>P~
zEb7a@ap3EN1Rm}1qPNH8C0{;umAm}e*7oG)LgoGMZyXfP&+j@UU9TOyXRoH9Z0|yU
z`DZijo)-(Uuw347N6A%VYpM4B)7ykqQ@-mv$xV!jDY(0-wS9A1VZhotS?9mg`<*sv
zJbu=8dtGct=xQ&ing7@GYxO_M+G-+vqMo6z&tiSl(W9}uJv1VP_OA-fG)?7NsHmvY
z-md)Xck#~BY_@6o{(BEN2wh+Q+-+OVB^~Aa&T;7yM~${l7ytR~tuqg=>+_dCe{S|j
zGm&~}nR+_t_W{NuH9wb}`;~t^=WqH1Ysb^mO8EGm&6_U%^M`cln@{bhCpOPHcyLMG
zZ{4pw`}cpXT=vrPevwaV&I9?>)Vlexhfi{{*VmtGYnwF5-u|dhzoqr#pyhmTm;0rj
ze|NV-QE|!H`R5bG#Wx+eZM{84%-Z@*_4l-*0D=BC-sG#l?|nV5P<|%w?vK*nWs}aF
zxiHJ_|NR5@de-%PS*EY%Se^`CBXRZY*^|$nyKj!(KI4<+_nP@ymsQNCELBLDHt%2E
z)a8M>nx|e}@j1>@^;f=ra=KmMk%X#!HG3B;f7@9+`S{J5Ol4&|qM{#vd?A?r`s(8K
z%hfA?e_ecOYxbPr)fYRI7HK%e$eed_jue$TwQ5ad;r6XZAAZZ#dtGv=HZ}B3^r^F}
z!}rXxpTE$5{-*``@z3(^o%wPjLho;AU&klws_Mtpuf>*Mx_t77#MdwX)&HO5Q>tH}
z6`EmNqLD3c`{>@))kjQnPfeI0FilnE!=LlFG<)RZ0#+`0{nW;vjhStyp{nXfucb}~
z68G#bojkv7^Wk%sgjOH#uUrzg_~Pq}CsW^FXnbf{G~xG)z(YyNmc`%ot{WTOGqJjP
z(SNDa(#s3A<L9}}wKhI^t}n;a(`NgYBWjwREXKyGBzSJ{O1YdpJ>62x{`eN1W9eP}
z@}EC^OqM&fzrICy;fkPzH@9;CpQbB$bs_WRHvZ-F3dIENk8=jfap>r5I5AWB{euVB
zU(19(YkWNaiM{6QP9-)+htf|fznPe3r04pEX=}&4eX}9w#st4b8nrk4_pYBQ`7HHR
z0PEx9;;t^ujC<qy{X`5SB0WFyn`T}3`OtZtirS|axsMuj_`be5xg_^?$JdVw7u~UZ
zQk;`h@bT-?gC{2DMC_YWoPE8h_!!T(?U{!c+}ZhYQo7(=zPbJUPuY1A4t{=aQ}v|-
z)F8RP@9fgu<(3gE1olmvCUI`Q`mfx@>ot_5POqPyt1NF_A;HcO6yy=PwJY)J>fr4K
ziC(WtmYkk@*roT+Ni(4a8Osx|pR}Bwsy%1Y{GXcNfA0Qy{Y2G#=b1)V-d*XGto$_L
z`%&(B<*(fyitAT=+<1Ab&8q2Iu170BTS$nyzPPlMr{>ob>&nkTs{$0Y#Pxde@9haG
zDmd`$skhOUtT<P<O_kqrs#3%(pY*?f>e`riIO5r3=T=E$i4V8)&luItb8FVBE-RX@
z>-{xo>5AOU&f<@cLOi^c|2}eEB&N4y|72l3X7)$#UwF*>QsNTmlAhQ1?Pu|$P_0WQ
zQYDd_9#p-NILOR)Aw(pQ@lpKM3q4%|y>87}_iXrf?w*`~T~AEj^3XN!=@#p*|KIsM
z!(>LMQroSqKMM~q{JFjD=;wpX@Amo1g#MU3!|Ft2bn?~J;``++8Z4^K1pE3dR$tAq
zFALP<;1CmwsQIniJ5B$2l>@`a=xq}=<jX(Wmiwaa@6;82vNI#L>6FUIY{<XVVmEPO
zhpJZq=fCogTIE8$Y*!C7p4nF+Sa^sf?ADEh+&_1H<~^<YmU8aZ)jRojX7o8as(g8S
z`peVPI|Zb?K3!XTXTEX!f~2D#G$SXS+PCkDUP#BM#cms4eMtP`+VvoMqte!O@$Pdh
zCaSt^e6v-|KTPC=*@W|vDbZ1jq%0<+T9<v$F_{wXJzePTV)n~jqKB_v67sf7I&e0J
zThd}esCJk@w#~Ai=DHUia?f=1asOafJLB#u(Z6Q-Y1i)T<eAWa__ukLq3ljIAB7W_
zgt}))Fs+Y${H0fVPSw}0BR<cK)A^R4ITP^xrL*Q-KcT-q?s<=GT^-g0w?A9#E?n?l
zZliPC1p~8br$1G$TbJ_o=H$qu-NBCQ+kIzCMDMY9+9kSpm0x?<a_8~~4AR%vB*qjO
ztvuQlSa#E>PcQDwhpF1CyZsNhZTa^#+-yzs@h-#U7b+Y<yDr%8o-yt9Vh=&DE9?EG
zwYBf$<Q6gq6+K%rp`Cr_<jI}lELXz9Zmf$td!?0Ia#AI4N|k+J&1B=#mnYvTeRbjN
z`F^%(({A)gIR1To-7<a4@juyrHtp-+V_I-=!PS>1PE7B2nyj`lcJ<M^r(SNZZksIa
z=2iT(*(%k0uput4;q<ELy>fF~S;d6aHtfy_)Z&r#>J46Qp%AY=UpxKhh1VBFH5@jw
za$D>!(L8LHpZ4kY7VA$s%dao~{B7BdC7wCO<?7dW6mHpHH#gYr;@XgTHcvFedZg0Q
zGIVtml$j?@_Vo97@bK#DIUm0*+cj16+H5n!g@MX!_x7CZw5wgA!7)jGTAaVz=Vv8z
zjapT;!!~4GQmJCf*t#Mn_T;N)Zu6X4HBt=}*2SN<S(5+%oSVje@BjaJ{{O3Xi{E{0
z>k^eoU#f&2J@)MAe(dMPb-wOLqoAPRn}~gLJh$h0&iz-Ll>6||53@|C^;)4B)2Fp5
zs<cG9b_Z>CVC*_K(|P^d+mRW+{@7m@6ERXeFW~35<Hzq}JCi9})<#!KNp?zzxZGOc
zsG}FwQ#4cW_u&T#`TcjVtdzO2S9)WL=c&W94=mX3`}>n|_4hPS500d7Z=ST3-_}l<
zyMM0iw#&;lnp(`TX6ILuvuu)(@;dbKaYyp82l0#9eA##s++JV%vOa3+F896#w|7lF
zUHbacmUMr$_xJr@eR?WWTs~dt_Y*$7`~QExe_8rX=g|^Ro!A`{PSpOcD10L!nSM@T
zo?Y*b8cX)8ulU&~pL9FS#Ht}8aA4=v)s{KgzxQ|bM{efe<b1ept!|jx+1Xl`YeO0W
z_E?CfpG&DvQAu)O@V~Vsal+=!Dcu{l9!)zTaLvWdi?8S0xgDocE8-<Z?U;5pT39^T
zk|iq6#9aCHtofCQ?S0GlRvYh4c2~=}e{S-Nj3cS1cih-xS*xR~s(v`<=84$NYH!_p
z5`Hi9-E(VG>++>ufvor5+bMByNbyEFI;5tz-#ylA^X_7EeDBlB<vsfMFCS(7eRucH
z>zmb;ZEQ~5+o<gP{k?ka$0WaRFAvX2JNqJL3CBKGu7HBCS$gd3pWj?iyd-V<$eNu!
z=f2o>#!EU}21P2}W$&MTn`7C+Cw1h_GT)yIQ#}7{N;&Adx>i==tK*Yn^YrD9mcM`Y
zZ(D9mVew(+1BaYm2}EvwRQE+=m*?agf3{Uk=AGCpbusm^Ti%tm-t5`gYmBaQI!x6v
z;o?<I{arTi$IrmyTX?wS-3<D&)=#u<-)rml@1M-g&F$g$?)_jmGynX|gUw6()6&|u
z`ADuhKi~gLBXdXbb0N!8t?Kf(O10nfj;MO?xVhJQ^WD2k`}NI>DjhZT^Ne@boc`zi
z_xI*I_vhd5J$~=zk0;e4Ivy)0s|$KhTf%hU+FG00X1y0KF21>|(zx8&*|W3Dsi(tX
zj(LCW&(DwV?zaz4P8MwEPhYun=aqxT{Tq(`UcJme{rRu2F~7K9{V8QWKXbB8^|uct
z$NBP7Pq(S>x%qEFX7H|<T`dtCm9F}}J}<KP(*yqRQ%~n-cDA;%iZR^WJh}Rw%_3&z
z%8AzIKYP9hTb)$@WOeSqHL=@Ey)9+M+_DxrO<~Cld39I%Kd-b0V?mi(_TH)zDeGyy
zyUQkSsy0umuz2+S{^!l@>~YKH`kC?Ud;c&mFD3s<M_*dn3{EDeZZV#l+juWt6N`Rq
zd#`Hmoq|(S7vDNLIi;d%(((|^eZ8HII$=EVk1Z`MA4Y6Y*k_vk>2Lo2!qO)mW{f7;
zZqqL>7c|d#kkcpg<kXu}O7`WK)%1Mlp9^zzSbH@ouO$8Fe7=7hPb{uk7xU!yw%+WA
z4^?VD^P2V^-=Za|6XQ{kq47O8cVpfB*F9@iPU^pXBVli)@%C9}OP9ykr=?|-zg5~8
zYkh2{UHn7a43il%XC~%ZaoxO`xIaVi__w#pdp!hCF-1gpWL+^zU9qu9bvrvx!p&*A
zdm?sDvbHW$xVFM^chb=hygW~iZpm!PFj;?fW7;x#zqM@o`dq($1Z*u#u6ud8{b%Z_
zfSdQ^ejn|&6qfRGo2Ijad5X6C+zSC;b`}S7+_QZ&vqO3<zuc3RYjs}*F21oZk@>r+
z)X94e%OqC>D(^aeMB$X)%cI?och}pOyZ5K<TXU(^eD2{pGMhU%f_{CO7?byJ)iKrS
zcdt&>=@t{Ldnc3h{2b5p{^zG$?<F4>Xy>W?E~hv%Eq>>`Q0uY}H6IfG^zL7+qq~up
z%jwTU_GAC2zW<Q^<N9}>$lM#tc$IH$OTF;-_Z=U9bwyRywXLkr<m7hz{bM{;KSsfA
zsng_HUXvCp>($kn6ql*B&zH|FdzW(R^YbHRuaDj07QgZTgW`Aho(13LSjx;bZ0=BW
zUNLu;S69xSqOxOav%{ZF*Y#f9!{g!aUjA7v@b2!-K}(emA8x+0|BusAb$^xZy|=ep
z&YkEutDT)S@BTBc_hOq_7{tZ7)YTuqc+gP2vnYg*BVn0eyW`qvJvC}^n^!$Zm}Zvg
zbe~UFqWGQ6)pPTn-Z<FYBC4g*`(S2oR$t$ZsECA$4-Tic{M%WY|3$;##n%_1T37t%
ze_9f*zv|noqfhGo&Uo;)_xzKSCHrb;-}w1i(k6u?`1||xyB{CBq+N5Fxhk*smc!P#
z{(s+c&pkh*X&Kq2#MaB^xRhyb-xL0+f$Owy+PbcF%l+c~+dJgw|EimQVUlq>4jjzA
zJ)`uGMdQYebA0@swN4g}6xVsMd~>=b&w`5zX4%IYmU{0DUMqEXTW)gJ_Pi$%yQghr
zW0nd$GGUrqmsjhnH<3wo|7L2rb_dlRU=X`~D{0;3iR-Q}etn_QwUs+K{gR3lpOnkV
zb8`!47`6Ti3w!X&>)S--m9_6=+@H8^?B>2HE3@ImwB9>x%x(O=6*o6e{(O-6+%zp$
z-t26dZ*P;gzT7Q!*ZIq$4#(w(HzY9L^`5pQ=<BO3tRFrtdeh8)NARfm=BYYaJ9kaG
zeM#u+T<bei-hbU@bmH~Y?^A=zHctGXYp}rlmU~O(XNg<u<#}srS8lB`eeN~w$!yc?
z8D%d7+UtL^))yCNZV<eud|_qCrG~=aX6kqD6c}p>7-ZeNWMp)2#q;}ZcO-l4ij+L^
zOlMyCG5=}ppY`({p9p?B!uf5k#X-Bv$+x#noTJ)3rEkBNXjJWg+sC%HC%5Ozzc$ZF
zII_3;&ZMUW>gu0fl}wo9Gt01j&CQdOU3_Lb&Hnc{^37}SyUpyJd+O$9#K&iyo#(q-
z*_~s`{Hxpbxi_V&Uw?S`jcr*^?XtzmUR<5$=N0bG46cgXbK)SkxW&Aa32GdNq{YiC
zr>qHX&s**<T>RheJIllRSe+i;pxQqc?28w1yuQ*Y>E5^D?m@=mpPw(?Ww3Du^8{P#
zxGLLc{__e>SIpjCHsO1vPPfvcR@P_tYma{rR=-jE&!#=~@WO))j(w*5{OT{B`F8ov
za5(VksY}1q(f;yx1-lX)t*k5`e)^!u-?MG;_g#H=b{%b1^Obn;$myDUf5nQci$q;7
z85?=j%$^myu6nQB-l?L~bfYfpkFi{pnlhp8tCslrc~1{4^_HpoH>cvG@$(7we|eOW
zc|;~9uQAmUUA4pFoS2@^!Hvl`jjK$gA3v(Nv)^8Ix&QO_>hDX~l)7FR8+jNTJ5QeG
zHtC>)RZy4T+@-2vTeB{j>GicICa(GVb!puFeLrsB@Yqy$uxZM*tibYjXQnLkeJLsG
zny@Wr%9k%H^WS`39k%$}w`2ZG51l>PIcKuk#_dk5S+Bmn@QJZ@33Qo~zG7>(<jY4+
z+k%#ANXwors=QWt{7{$(ON(pwi<hsuKKI)j`7Cz)`a$u!@mzI=l=FS%MMjS{r`s6r
z`~O-^sa&a-t@QrBGwXxhxg_guYh))jrrzGxqZ1Ku>+H3XZ4+e`u4b8R&lkSEQh49(
z?VF1}Buu-q&iDH5?LYrM^%i>Y*Kgvdjn?HITQ@L>ix+h$Et)AQmX>y7*%A-QC#6<K
zDS@XfCcH3}%DB+LCv8@++gn`i=8Xr>9y`xXJNu*Z5X-jwduNR6>-)B5IO-?={2ycU
zcmB>7^AEhpTQ_-mZ8M{DjLgTS-j{Ej?X^*Mzm#%9Kr3$F8Of<!TQ?i`?JRyAyF%dU
zpFb-?*GN2_XZtv(%1ScJG^&}=`QoA<KYs?6pOdlDk2uiK%KdWY6c;xi9_#EY3!eY^
zIcJ8|)DO#if2N)kYV(`r;w>#5!!5o{>X^+ASu2CWBOGBaE*q50rkzepyU`=(oALSC
zmubtZ8+0NIbc5USZ*NVmxV}!u&;R&`PpTj9?lN3mmb>rrOAqrZ#s3dypICHguJs)W
zn;E;(&kH?$)6;FkkT6H_$+2nH=B;vePoj#9R;FYvSfpWEvRBS|qEblql@7&a*VCM8
zehS5AY3bkp>f0lCYSk7KqhtNcAGdItu(WiG-<&?hWs=PFPwQUyD$OYPZ6+=x<nj6Q
z;%Q4&qnaD9^ziV^o0lSKDfGWfG&AGN8nX_iHm|8GHrH6DyY;8J=IE$fmo2Gi=M%B4
znv&qCP<PAZmQLg$hOJVH)n%U!ho|{ZeEPib@r~U@s^%%aQv#n|VK_6(H6%qP$%CWq
z?ry>B>z@95bF<~@N@w-QwkBDov-VVKt_WJVZNq`Ak4f)*XB{b=aOL=1E5mOe5|8M`
zN@Ue+F{m~RKh`%jCg4hziECGY-#xLL=lhQ}HcD*ESJzW%Ir8qVq-~Lkv|0YMI2V>j
z3!OWvzbom*pF8^R@66~`B2U$QlTQEq+`-IlblQb&`dpp==~q5~e0W<}U7+}>(ta<m
z|37b~F&h*rX)p6npBp1TbN%$|?xxw7)NEu7)BQB#?xyH|wlZ{0P-tu8eVJBu_x6R1
zB|1H&uP^<&p!mhQ{L_Lk-KhE(Ry*IQdIx2m7Rz&WohT@BWcAT*ODTyHn{RHuxvSQ?
z-z?|Brn$1yT)Q9bE>LXuo97a<sYOFx{^SbndTDp}H%v?&yc`dv_4cNOSKgO;(e1i+
zn%Hq+wGGA3&Rp;P%KvcIzI|8LL`>Y($`yF=bT?C9-;J+tPhUFRE;!r#x%%U^apnu6
zw!YYr#{0ea>7s_f7U8rr3Kdti^rE7YmWCy>U05Ml8@A>_=hUf7{LcBzHsiUut@p~!
z&786O=e_>?tgzq!gV?ndj@kbHMH%-l#nk<1+_&6Mab48W!kq_CSy&`Q?=V<8%WUcE
z6@fp_&ptkHf`HsK&F1+Z_nI~t_Q@<L&E7T7zJG?jeXGyjxv5Wn6&4)Ow3zW@Tdriz
zE6Id6C0gR*bDEnjm}fYMPky{<<FzZn5e9q_YvRs+Jlf4EZQAwJ(C|f<$i$v)@3~%!
zvV>f_7Lj}Z++9&^i{NcKp;ccJUTsR9b949fBMTHJndd(GZd>gUw|7=|JD(yOOTp@@
z(pfX_Jm<d|^y%s16MHIKQqKGN-8}pB?b;XIM^jjGs-JKq?X7x0ZLzU3$AzWb!Td4~
zZ!R<jD(p<>U~-zOwdKaHsZY8@m%8xCS{bNWNd^8p!NAHDP;-o@EdTbg&FAJy2Co*A
zjoOwHb9-CQ`+IXOo7pxd{;4=*ma9~EUhc@#(>o{F+pE^ptcY4ICTmri^lFBoi%#@0
z-un8w_0iM66+PCBoRr_xyi;DXb6>juvL1Q=1Iv74?(d&}<#4;;;>Ci@%#|iZD&FS#
z&q7K}lJ4%RQQtqSMqXNa4ZqBTpI=_SsR`eEVt=o^|BF*o|NPswYt!b#Y9=BZ!*o51
zzbO_yRXYFja>vzG7k$>Y^-AyDkuU%8-MbXyzj;P#nO$M>c0Dhis&+aVb&CmZtlln?
zCm`l_X`Zdk?|0U}X4Rc5Fa5WFQvF`B(;~@M-mwo4O_8*lW7^obhMO~S?VbW-Tl3(j
zCyT63Pc!`Sv$*d6&vdaJJ0_%m%dzTII<ztQjcw(myUuMJc19RJyS~!-dg$sIB@da@
zqqe2Y=;t>rey+BDx%$nxy-qsO)6z_{0vwh)&7SC(RAlt=<jFlgUXQLmJ|44S>(VK+
zrCHO@J~DC0(pt&MY17sH_~%q@7ge=SE27P(y((Gp?Op28mzQPoZcj_vTV=Q~&G*)_
zB@;@%YN?mKOL^HVedNyW<7eCXcZRQ%`RYA=+2Na;U3_L8`Q_BAVP0)!|FY!8)~GYW
z!k$t4=4^CsH>$pA)D^e;SZg^;3Fq%`5ABOoqP0R6T-#fHq)VykphKHi>#1{mw|`XB
zZQpwI&PBoMK$of0+;(X+#rbOmS**Kuh{;=8dQH^UN6)W>xNviuRN0oi>v?}`>zvtE
zQ!m)nu9z_4fOq6(_4?zlu4Z0aBl-4N&%)Ddqhl^-849z6ynMOj=n;W8kDZtL&W>0W
zHaTvu)!kFmpZ`AIUs>@*<DjPIl9YeXHZ3=G^M6|3efrOT?xKk0-Q4GHZ~ItrQpj)S
zZ11Fl$NOY9RS7MKGTnE7bNiRNzcZGbz4V%EZT$8C<B`zSJ62w7*lWA4TdeTg1IHsP
zG>!-=M}%%t5iNeEGJmpg-?eKuX3b7c%zCIFH>Zf5U+LcuWoIt&XSZ{1p2$pX^-WVh
zJW-kR&Zbrub@ffN`ZlDcy_ehZ?Cj%DXJ*a`U%k**nr)6<?~W49>brMU|7&cOTD#SB
zT4LfIdFyFUkL~(Be`1(`%IY7_&f4&BDyE(mI~iGgoG<Rp&1MOyt{ru@=FUz6%}oN#
z%!1`_9QM~*|H{2xVVTCW`q_DPEfto+*J1D8-#@?iL&2lwX3uXQ7fzZlfA#O*&Rg62
z)wRO}f;T*PoujSAz|X(Q-DQGZp;B~D>XjLF>G}Cw>}*1>pSznj7^SY*m%^F8EnofM
zJvr-t^M%g*Rexff?7G54>PX~fi#f{dKX;cbd@xzv=HC?o->p(><NV!L22J_@R9x)V
z?aA-2YR_A;bmFfchW%Hw;>2{lO6T%@?G%1fR(MdizV4KYs^In_Rr~z=dXiu7mF71y
z9{zs+^72?~H}kxnXfLkJnfF{%Wjw$3^;!J<EnNLZ!g{&S!nsks*H$d7Uh6b1we<0s
z$XD0nEzR;|eEDRP*c<x!>x9)dTt36oEvTGP_rsu?@z$1w$Isgv@2)KFy0_<K=|L6G
z=CJNaH@25wUtL_A?w|Jl&dCUQd8yw&0?Ll_{rUbreRf!Pr5oGHurQ0Lh=laCw%(bN
z-=uicqI7@!2snIio=o&MgN233b!Vn_$1Lh7t+JA|lI@=}_hZP)4HX}oEWEwv1P6Q0
zvz{)On3!|n^~JL@okP~eRQ&(I{PWRcPX^D`s`cmhRBG<5Fud5zcJaZNOuiG_rsUlG
zu%~{$_52$x`*KovPwVgBprpmMv7+!K_qSl-Z6_Cp?5(==EA?+x-kUp~pN@3q$Qw3o
zy}eDa{)ND!PfzDW?Vc8qd}+&*28O(lbvjQET*^@4oorJ)^WRD3uXlF3=tns86n@OH
zIz2PbbOGCnu--6sK83Iq4#AKAK9!jA|Dr>$?CE)_r+2Kp=rPxAaphdME4dGyzRk66
zzp+(Y`Rthsw{9kiOP)O4DXi-5zE-Tbvc$|TK4M$XWJgDpwb94l@=EWxx?X;NRmFtQ
z$*(rm*Nf@Ko_hLz-((pL>+-aKZ*O*de|dOE@bU|1XC6M+$UJj%g`puM;}JKP51-CR
zp1fG}Eyt<+z1qH-%2%_lwZ8m6UB`3li;N>qttzQ4ZpxaTB1Veg5zTBRHbpEO9hr9>
zSZ=-H<oC?0U2*Du3Vbpr{v2xk$j$9MU00e_NB3gR{d1QC7js<5QguJE)VuQ1TItPV
zx{p4bnmT9Owqrp80of)QzQ)p0p~s@8a&7J9HQQZ2`PxchVY?8&oj%FOH<e#jdz72I
z(a=_pBO$GAW-IHpR<4Je)A^GQw|z0(yS{VQ^m}_});!}$S{-&tPI0c4;hR5|F8=;|
zo>XU<1Z>lpTK{+I*~G*n@9%madUyB8*}12$eS7=z-IEq(k0|ZMtN+VyvY0h9apA>;
zYl~Rz-CY;j*UN2m=Rf({tiG;`o%Q2~E1F00_fM7Duh7uU+;{Ju$h#X8=kv)<YC00N
zrDAPfeRk5@Pfu5h3N|X1=W)%L^ZlGlO}y^0i_;@FbIi61E&3Z!o8%?`Q@P~DffJk4
z1%H1_Wpg+;=LsLzqr#m<Q{?UE#opfj`Odw#EQKiDSzEI`voEy>#>GA9?sGG*vyry@
zvgXmzkJeQp8(laxwLaF~GQFvL=WOqr+uJ6Zl<TD*>ru=(#^ZN(-r0+)-WGfFWIJb@
zE5EzrdF#(lnT^|z>utWh>!V#!di2&*?(L4Rc&fh@)Ss2=<B>eHW@oXbfXI=#o6`l8
zlTLJWI@*+U^z5y!+*hprebHi19<E2b7C+uS+2geA=IU~{xwhTw^5a()@7VQdQ!4j&
zetEY$yQfc=lS?t)dilhU9|4KS`SMuVKB;(%ZAz=_(-FP0&Uba~Z;$fw>5KUO+h3E;
ze;mL5sL`o&OO`DvDpOnk@|cc%v(Dvd8jd^7awQD2#SVwBO`4>zltpOrqz&(`bXxlP
zJ&`r-isIxvBE2<f*A|m`J9a%PdM$SSc+bMKTQYMzyp`V`<6RdKk+A&gqHP-#4qp-q
z_x6_2(Jd?}RlU73_)Tx`Q<**XcG2ImtG;wpA8rrc8LHiO`_?37%b81_q`Xs6DbQDK
zHF#{Lw$G87?Z>Z6COSQ#MLBzQ_GNC(_*zxMFZW@E3+J1n=W6A*xABCp-e_R#e0huJ
z-%=}{cD{`d-$b6#4q0&S(a|sVrCl9AD(3C0aE$4bd2(+<Be$^nrj6zKS&Ccv_paeJ
zsyh2h%49+8a=)J19}}L>Hs8#Ua7Cl;a@NKB`+R+>tai2Y@6_*_WOmYpCv>jG!G-f|
zSB7lUxjN7G@k#{`Nd;ef%Z90<dR4Zwu7q5&-+1!R(m(1}91cD_jCXe%-@PYyTU_6x
zVs`O;>viFbZM#Zeiprn&o_sFR!{dQ#mDTpoPZxh#=Idi$KTo1kP``^~Q}=eSRxO>L
z-sEEmSC{cV)(U@ie2WQ>q@>Ey<(~~~Wfg7bewiY2=}Q&Qvu7D=)^7Cnd2+S=l=^Bl
z{rG1;W*C~(-QVfjeQAL+dz!23Mn%)ms6X9{Od?M7O)M<DbLnNpz5>O-bLV!fjXu7_
zx_rmI#q68=WfW5mv!$8l`P{z|A(wwc!8C8@s=PZ7e)-#9EO_cw_Wk|&o|(py8IuHq
zQcKQj+Lr08ULW%?Xj_iRrcH;oCcEznTjQ~IU+v0|m;Hatw|4K)*cW(O`tEtx31ScV
z<qFb&mxb+nADf%=fuZHfmH%faEJ|q7X?t?EyS&0;SC?oeOVEzhIX_J!x%ZqcP+1Ye
z5xrf=yux60Pj|HOgh>JK@0{%Z`MEP>WnBKD&$nVzzvbwCe|1!dq1UY_cEgq<cdm&=
zb91lR5_RR357U&@+UqV}?8v=kz++dpR>k_!%!tibi@wb5=8j}6dZzOK+FG0Zi%oUU
zo@Eq2JF?k@b6@6_j<UbMKfhkTUuaLM_Vq=J1;4*}_-<Y7o#@@uig%ZP)>2|Jw20t(
z9J_DM<)vPpx3|oUI`MSVzaPr`V|KUQ*sw6A!=#p7S~_R8$->-iITgQte8_!$?aST*
z#*LN5zbYyo)cvzbnyO`D68C-Gl6&t<oTtyfx=wbndCr4<Yd-y3?y{!dcA0$o*Q|B@
zl83Xjwb$H#wkh#Ry@{);_akZ9-i1M`D~nHVykh_N$f6AfM;aI&%`$(U{`m72hOn@R
zK1pYX`F254QjbgDUs}S^;I*&pl1fwE@80ZVMs?TL`Gl^zprO;F{_}J2opXG<CkV*B
zx$Avtn(mRd_RoK=XdV$(7bt)8pw59I{LrC_E&1{vtG^Xk+ssKxzBc7`=&B1FG6GkL
zXgC<EtIv7xw%2dn`;U)5+L!Zfj4(Vo*<tlm5n;9GE4xJ(f0<`{<aA(5?(IwOzht_E
zU%&pk&3^BKZ5s|;I>^{we{1@y_}kjPYxk$6tymrYyq!;W#)7MhE@l+ef9<L+EVQZl
z*i`L5??ZKr%y~JxCx055-yE{Ymf(>ndcN$#mdrPP{?A?e<wATs6dc9G@7z84@=ed`
z`SSNmUma;!=$u*kfPrzTSK#7k^J%wkCa%8vsOF<m_4D)3k1zMHTw;`Gkr@>h>1N&~
z!e(#3>dcIT_wMaoS@O%|;!NF}^368CD=QvYRvI;~TlXYpThG0(uPz#<`~A6+WzsKK
zn0m|P*4^FiISZYBl)gEUV{Tr=$&}gId1vFsgJ;k16y7qq)!MSb`tslVQp*)@&pC7U
z;+i<$o^I}U_J15Y-TRlk@bvfJ^Xlqi-<?HQ3d@%#6dC#J#XV_hXaCtHw$vv=;&mJE
zVqW=z(*Nr}<iAy5nxxHantf?gW-!~c)9y2+%`M~w4uph<f7-e0(W_@}a@EzFEG#G9
zy(J|+wd>0UgRpaRJozgH^D;YI_uEfDdv@cSE1da{mHzPS-P4+CGW*A`OHWP+ZVOrG
zvp#yeg>}81{jOb;R>#{<>sEU7=Vys^&5YdlSusU7&z`xkCjR{4ZgESKDwE#-KJ1O=
z2fe?2vp6%$wPm{aJ=^Lao9r+zaXp`nR;4e@vqVh2rY=hS{q0ZD0|v+0=EgN=B+RU>
zCdDsy^znLhu-`uD*UR8XSF%p39#8T85cY&oCE9EgJ4?aS8;0N5SqxSuIG!@kbo$Q3
zdSc!bmX#|f%<(BIGSaXAKUe$tdEuRDyptzQ@|b@5-^%xY+OLb>d)f8>sq*QCGh<z!
z)Q7Khn!Gi8=bn1|N5^{aMD3rqyXaZ}nHe(|ZrXHcS)_55l<a-36W@!<j~8Fp6FPKQ
zu>N1<rY7m@QuP6jVQV}VKS(%o!sE!g*qJ$2TX*l8l=>yZNm*I&_SVU7q~A|mc$LBa
z--#0s65_0^ydL?a)&4)O6rY~meRh(ni@b$GYCnsFdEeXU?UMu~JRX(bzj*&NH)vXS
zN4EHNJ~@@tlR|uN?|9z%@o~-dtpD5B-EaRRmwGy=@;IO0JiA^+E2+Y>Qhq%W2PeJX
zzr22DQOK!@&2Nf!G#-jSayuosa${~ugz&Gg$?yLBbm5aewrYaFq}gUul@4!-I^(m5
z>wiMwwr$7MOr}hU+dD(gyd`RDhLp^i)qS#(f+8&uYiB+At36p?UbXsb(#L0KU%2<F
z6r7Xk(~UU5X>I-HsnN;j*H*hf?-I@Yx2~LFW#Y<^6<T3SF5cU_=hV!}HEPf6u2mg5
z$hiFKYRm2A`Y%<zgVx2{tF^XG`g1!!CVKCz&w+uHuD}2FHKwmmt@Krh*>v60+u8Y*
z`XmlUJ>F}l<+$aKT<EHR|8F9XNSUt4Pyg=joc7FUpSo7i!{mw5-OJT2PfuSyubth}
z$ok_+5&gdV_x8T{^)1zIPq^}zDCW!C^)Hvbdm`s?oBz$7lV44<cQ6@b2t;qsb$<TN
z?_3kBrgfFc?ecdncQ!H?-m~#znxgH#c5C*|dB*CMzVjpZ+33EyR$KpLnZlmPC;$H#
zpEk>Vw6Vr#+obd|%byWXW*#}&sZ;!1XkR-2_iyjr?`&rOd#v})>)X>cO|vg)<;QVF
zMkR%A)$;9Wj4)muw)Eu3#~rp+dpudcEIhjYj;6Ry!vATy^&IbO_eQ_Ft-{cH-XSkX
zH~Q1(WxjWA?G`uG;VHapCD$i=dfT<Nk`cR1LS<zNK73K}FEChH{Jbb)_0*8{?|%z?
zV%LqBFv%@2<HD(_bF7M33NNe0MMNcKCpVv6<a%UXwELZNb30B?D_mSvdh6N>$J=Y8
z1z%rT`1aOT8#(J~cc)E@IGHqKr={5GX&-Y=iTFt`etyO6{_5+}S+m?2rs;ZbeUK2B
zd*gtuz5T0Ow~{Q2)s9=2rR<8iW`B9blXK<;3f<*z9&}C@|JlZye0NuAe)+xZ3k~1G
z*C~8^ac}|~Z-%sR^N+vZ|0M0X{y$=8>Jvwu?66JqEE;btWNuEG`eFIB$cM@kt=<3r
zD(UNVd~><|XXWRhEpfJ1yfP;~xprHKiL|^sz<6YV0#EezPbcor57yILFDzLf&}P0a
zyJcr_r%jzq;WZt;Z!ZpRSfKDOIx;aayZi7Y)j6~6<}!z_zI5x%8(-#`c5{`hzb%N~
zH|O-GyN+S6%`zO$%UTN*KdqW8@op{e={quOXG`BS%YAh4-`|e?e~+#G`&%%4{j*nV
zBIm?x?|VMi%JA%xHCdDGE59%QzIV9-$BJuf9zOf=F~}k0-=9kj0sHOVhH70YVzSw}
zZ?^gJyH8Jd<lg>tncv>v$rDc(%bst}_g95#?>chigHd%^k;MJqt3NmYs^7Te^tBtS
zLNm>3EKYCBNj$oz@(Wu>@6(!s4I<kU^7~`^WJJDvTjn%X%fzmB)`#@-6~8t{DcoFI
z{kO`kx?;nFU!{F^wWpkmi|53|6uh}Pd2V0d6FJLCyZq-B_~&u>`R%xId-2u{4iTGL
z<j&9YTomZW_R`Gk#`dhEPilWhl>PoTn^))TnGGey%GvMkh@6|=f2fr!@ai$P-BU#7
zrKEiLbkBBD8{g8bX*y4`E;cP}<qrOPRr}GOKN(rc&ewi^e)&UF&v;YViF16}=H@nK
z@6#rFwZ8gQ>L+jQ=Cat0hnF*PYMj2R&*aU0IX4eUMMvLh=S_ZgV`E9|-dQ*A?lyk=
zDpcw1n-fJZh14fc@-Vt;byALtSL(v|H<9P=?LL0D|7%RZ50@u_%VR8GxwtC!$(-bJ
ztT1jm#hqt#@@edDqvY#)m)5RbdgHx6M^_MI$V#Wr7XpF~A2!Unf9~*1<D23F4n-Fi
zO<KKY=gujKcTRURNt+i{U)PJvyX}^=*p0`;`0%BptlM=WPh48cZET*WqMIF7#1WLU
zP10d=TFH(A#*aS=kF3y`^!?q_ql;Wya_^t({rkJpGMP<!@1A=V7oVN?|Co9C#@;mE
z{p+LMv)0F*(TbR0<k}UWT3=UF{Cru*a`m5g?tTndd2jDsr;Cez$XK})tqi(U%`ipR
zdu=njp!d{8t6uJ0X6*U?o{wFv)W+=awl(qRXa4<NS^3K(>Eoj*hI`%q#l^)vv8@){
z7^r+JanrHiw|+#6hi|gGdwsgp<z*YcUr;RTm2^(t`|qvd#82#^u9?9<UArwzvqX9q
zExIvPQ}DLCt$BGK*Vp&wAJzQSNH9pSP2)M+C!gLwQ&Q~Z%O$^le0Y1Llf}ON+~b4I
zD{n4fJnTJXfmlLjX6Mwf?pB2fdrGyH&2y8Mo!ZgZr=j%hynkcT(I0B6tb6_3gEl7B
z1TSRLb#|KZ__6clprs#n7q{QGE;CS9Y2o#s|7k}_<|^MA2llPdxR!d_&Cu9*PSF#E
z=&V&Dd~3p-laxI7Rz3XrsC7&5`i*fRpV%DF&c3|7x;$-bMx%F(OyRLcx0s!itUrFV
zd3C+t=)*BT<>M<~e0_1O_wjZv(G`V{*}~7yeSBe|GfUjgLocU@1U=m~`E}(90Wq^|
zw|*(pf{uRmhx!|`|ET}G?Z&!zhw`o4$<_%B-u?3F|92FcTz{#Od;Yf8?HMt;%mV9T
zAD?-9J7#rI>-)uvZhY00cRx3$;<MUxK3Sy=5r$f?z6R_zvya(*>|zUxkd)by&l41N
zx;qo^?<m|-@v-Sg>gg9jD}{3B&OIqFetc^WPmq*Jf=45h2}_#Pb^&3=b+M0MZOx9E
zIzMug%2&U6PYQf^+NDjCz8q@pSrI>f-dt<rjXsjA+FLgKJHWW@&fe3y`T47k9-nMc
zYt?%tD<@QoCoL`G%vr<m)fbm7o0K(6JY3}B>FQ0@m4QD_3d`Bl`^mV47w(liyvVg=
z>y{}dsmt7ak}F*uZftBm`t|ka!|V44y*(wWw`cV`hAUZL8XJEcKfeE?&5s+u{!jW5
zZQY@fWT5uW=*Ms412eX~Z8mNUJa^sIee+&N=3lpOB+Q-h!`<?y^9i{X8#m60+|u#z
z{QTnND;j21m4RwjvwZLFGOYSt7UnzOPkk<5vsbH?t!!<?4SDCRwQCCAUue9kr?<nt
z`k3?0t~@D64UT{X4EN=%kNM^2|8WsiG?<{8eoo-ha(?eUdsjYs>ABJ<b%mt(@uxPG
z8hg`tW7ow_4mth)@HH`Me}As3>c`P*B&P1!t6BR&;dF0hC2M7F*%OY1?{~G|@ticN
zV&&z=&Bm5jvevB#Sz%=K?}eXU`MOTwm&qZl^=Il{#p~2Zvm4flJiMl>mu-@gd7*(Z
zeEp?=%F;U+6|}m1b8j2nINok0D3~+RwY9%ypQDIkx*yk`s-w*t49t!mD=K>ta4mej
z-|NcH5}V3&gC~CZRTL&-xp%38{ty58Y1Qp~K3b8Jq!JU?m>zTalc>1n@<Qv{Ss%JY
zGZ$a}_~@y3+_%@qH`!FKSaNxxpNGQ1tD@hFo@RXdpm=?r{qsGGmHobbyP>M`$FMl@
z+?*%cQB#WU-TP5l9c))!R&?X$!x_`q`sIsXAL0D=<G1lVpM8EsNABL9BKfJZu<(w*
z&y%UMr6YU3{@540CB^XVYT?yBKclTXyjs;PXFloRxE8YB?{_Qr%ZYP*PPL~oH9JaO
zTp#!J%hB$bRWUQm1O;<`iWqudGyD1TW9>AZCw#oArAbPhW@ZuZ?w($?HG8HOyX?%K
z2}#SoSgdO2-&y=x?E2q7FC@f{%{sGqWz4e4>YO>3TJ*ZbjkiUavPDEsuD)rs%i1zf
z!FH~Qwe_Xwtw}o+CMa-7wDG5}_H)0r)Z69Q5djh5!;IzSoBsVV?tc6Bq^P|Ap|i8+
zSeA6~PS-Dfb4^#zrc&wYZPUtc@~_@FmwtLB+NmG^>D1NGTmBzwYcw8yxqj&W+L;Cn
zZ|<Mply>&TqsPv@&Fq{eeTUwM6rKufmXmu@RC46cqod}V{vB7+FHlyFyt<g(J12MJ
zySuaF=g#?XW8d7=P2um_=Y0E8bwt_y#)Va)la0C~KP+pG*?H*V5tm1kCwuz&sC>Pq
z>-XlqelDZ>;)@CQHz>|MbSPr-tgf?1yIX$#3ff#<{;cdJQ)cEKA=i2S^L+O1tzP;@
zC13Nhy0zV@&6QD7nI})GJUinlxcHFcL*_qg+vFdwP>b1nYG(BI9np)~Y#-J;>HKfF
zW4S3!_4b*WGD5B<x3?RI$6c;@v-xT9`q;-AZfw8e_Ra`j$aMeg9M9=LDjxZq`o6Ea
zgF#$hXj$0e;?k*Q(@aY*8?18=DJ-<vTi7gJ`ufuKtD@JludA4suNC87E5<#QYwKcV
zJvL^ic{U-QzN)n^gN~KFJ7a!!)<Zd=LrmP<Yu?{|{O>?xj<oeO-c7-aHpXpn+xXu9
zeKj9wCOymaS<#O7^LJjqe&l|hWa#QZX&wQ|lTq>USymPg67GC|R4TII&%&N;p1s}N
z=l1_Q<>=^On!q3`Z}Z^Y@>P<)L9gR$KQwS}&A$BaiRZWW){Q@f-4YoEq|MVpl9W98
z<pfSgKazQJto$L<Z(AFUY17;uy}dn$^}_3u7haz<khrjW=S26#2M?X@E?T%y$H>iT
zmTl#s#Z0U#DxUFNJluA%<S?7s@1KG7U$gXjWIF5D#XK==W32x+LtgOUBB$09uU~to
z?u`qYRrAhP)Q<UPtCF|aCN}oTSN2%eu35XZ!!G#A8X3^uk%)soWvwfwDYs8K@iX{y
z{7jo@UV{=1>H6Qj)#uJxNX`FxaANSjZGN)5-rwtuSlBdW^Y`35wIX%>z$UNR=AU!U
zNHF=t9(a1O{-P4!yZioG-`|}viBnIn%&B?AlJxRYjdFZ)et&H{-=9t8`kwB63Vjj>
zz1Z2`q_Q4beyw$m$-!%4+4c2{{O3BY33UGC6Sk+|zvC0ZRW6*T@^2nm+`#be{T<I!
zYa(S{UT8E-Jrxjn&*I)WzTHc`Ern%#isspfnC|^oJn!xX#l7Y4T%JE@F#eOze)3QL
zPT?n~TpzBDKKbI_T-Rm$)7}2<Ey-M!ck4)OeZ8O09FKxlt}EL&P11RvWy-=PWSz{$
zC?+<8v1zMmSXtSPH4z7os(LSx**7!x&D*yd-`||vd3t*Bp<~Z3@8L31j!#c(OFJcE
z7PqhG$6@|2#&W-d`KEBqZ~U{cwsxhUV53Dco8bK#=eghBN}3m|wQtLNnpv@93VYc(
znZEUrhqqn`2;vr-a!1~-{MU5X`8JgrGGc8J`}RyRb@A)^w$6x~Da+XSOxpQpm;U^`
zvth%5H?h1YER0sKUAr-EW7BMDb0PB_iR|gRk8d?HcSLU!xV~0;v$XlL*b<YZ&(DG$
zSyxxT5z~8eqJ=ZZu7F`<lItt!`T4KZK1Ke1y_fgq-8g}S2M%fRdpd5co<8NJTwK1~
zst@JL=I^*fSIA0sT4V}29-H{t^xCx<qIy0v#dIYMDvc7A-8QUBaP&I3T)n+ox~SPq
zt+D#jUh85b`S6tjbLJG7mWH#xxY9YZv9Y7_Q^1{wdEe6>{`i?bjg3`NFaF%xpruP%
zPOEwc{aZdiVq31Xr?h#IwUN+W^ZNnbd4J|w8CuxP5vi~DTYWYEyi`Wkgg-aR{{<*d
zKdRdxU%%x2)6*S~k8gHc{PS_!0<L=DqQh%qXUi{MEO@*(d9T~&s_!bjg;VODyZ_L3
zH~eYo+_oX-2#2PB?z$L}Pah|43;g#jdSCSJY2tl-lYTsX?tVD)vc<M4Q~#{1i#Bhx
zdH+^ss`llY_i;yle(sFi+GWAcu6ZWx*fp`&V!AJio^T}H+f#9R|LvQJ;oJ3mKR=yp
zru6qt+fPlUNePo)?yIZ4HP5nnM}cDXQ-MU+JHKWN^xQlxZNBXJMCFddZ5xkC82+$V
zUSeZ)Dydh&qfoFuwera^+e#xt<MblA1@ZQOoSg*b&MiDSiS@i`cEz3D=BM5IpCtqc
zJlc{uM=y5Ptxvxt-YXx^&*&)>k803~{J_Dhn)@bVoBte-7e_iL{dKa7_cOe*!|?65
zH;U)Zyy=ggTl;SJ%q#}STTYhsbzIW^KWAKs;%%5Oe|6C!kEk6J?oOLF<NwVCdad6T
z%$L2nc~VlY&jK`r+x~Ck2A`dWeP<rJxH8ysS<u45k|U)@xz_c{oGfd&w>NTEt@WcG
z$vNLYFP@k4+(2zf-SQRbnVmO}bh50EKK^!1WZ|tH6Q_i&mB`!kt@M!bRIbqdbv<2O
zN(-IYHUCe0b4lrVUHv)hQ|F5c4iw%pX*zW1#EDs<r+j`Ge%0Ikq5k{aEw$0-=lPgT
z`=}q!{P+3~@6rcukLMJ;m)rmSrSr_y;g+ll9RJVc*}L85R8TGQ^LeuKV8gqo-t*)v
z51m^Tnt6Y>xiPosqG#)3ed2ZoooeG)pKB!fY5(UZ3q9u9h-}@iUL7ODKW9!s-o>W)
zNs}sSJ}6kvHc6Z_Sy*hjzqeoWr@pOh%xyJ4HSVksY+fJtv_rw;<AY7<AC|ND&P+;d
zY+bK^wNLi3LzdRbR<6L3FBwd8=X{u9HFewh`NHWXOMfnSKP%3^&8>Nvm#CGR%7lw+
zB=<HqMHD>e`@TQTKkmo>lijKx{=fN<X2K$6kSEO6vH#zx&K@42e!0}(#cn($B}YCV
z<Mp$)nsoUb-|{OVad-Eg?%bTtX<yoPA^W<;OkL?p?a)P~FE5#V{IKA}>FIZ_zV`g^
zY0;E0ZgIT=6}>+3o0|e}9c8`#^|j=tZ1G|vBbCMTyi`puFfz}$x`6TSER%z}cJrps
z7mijmzwzg%=B6~>=g-flgC?+LOuI_M*A-OUv9P+g^Yh1bmY@E9dZKuLS82>_>*@2(
z&bnxCHm$pv{qmRW_X_p1MX#Fdc=5jK*zO5ypG4`d>fy;0^YD5UcyUq4$@%j?srzk6
z{aqGyWtA)c-g#3ZH%m;?mtR_2lW}Dc>*MGx34eZm&M7QcU%yl}j$cmT^9#Y{bLXDS
zOKbc4@2}3SZN07A^9nECnx(_moTBURSvh&ltrud8Hg7$;%un`KOUnigyLr=#9$Ze}
zGuu%hAa?h$*2>Q>?(eZ|o-_9&2VdIPHIXI0zN)cn-5x)7UTRhPqwtzemAcA@SFwf`
zZX0g|Y*ga?QWeL_vO&dg;ug!|h<&BnQ~P9<Kb`+kU#s~iSN6$#iPDtH-?#HKW43C=
z&Yi3I>y6~~ewjpL1-t5FhvVxO9{K$INd0Htv)R{{{N0kd#kP9dip}Yrw>Guj^z+*x
zqT%q8Q<#H~KmG8oQj^!$dOIzP0^VKKj?2A$?8%<Wl^Pr~UViP+kKgC{HrdMf#JZnX
zS6@DLQ*!#-+mU*^FVw%QUKPSoWqW7e+0yLnoag73KA)yL$uM~FL7(Nypl-%AE!W;H
zCYjRdkE<T#Hc#~uSWs2EYo5iyk3Bp*zrSrPeB?6c-Tmp`B!AAbt=?~9FXJd6kbPxA
z`b4FW`}^mMo;z1j{^rD?BQA0oCNs=)Pu-ZVUm3Mp?C<wCiNO^X`z0^G>}dG#$MSsK
zo(CISSzmo9m{$J&Tv2?y*8Lp^r|z(j3tQ*oUR?a<iEO0rTn%6MjK%vUeP<gzcoEol
z<XDks#p%2~^ZzvkEm<~G^4Z?%%}+k1>gC=%q_o)R;DXB&-#ut(o-bc|eSP|*J-$tG
z|KGXIv$ejtcdw>Fo=h++qoV0llluD1$qUcC|GM?#(oz9Ifp2dTJD003<q}zN=hD(G
z`zt4Vt9k|OtgkN<({xfTFYi)UEv!Gx#wHbe{VN+Y+fDVAWx2O(YELcx_4Q@+CY7n`
zeoLP6+Z&v_JlRHEU&u0BEOydl&+6+v3a8)BoA>18?CCa-k6#vCJoQ&C@7LrB&a6_V
zi@eXxNs+gn_UqWp&tJt(JUtzJ`ViB{1B}<0pPX{-dv^Ax=TfI^g9fj!Rsvp=XL&7J
ztgPoh|C5PQ)7eEotQhCrlKAxdY8l^;`VY_k{&x`(<YhauLSq|`d|!N!(D`M4Pa`I)
z^;ng3JV-ykqvW^Q#k;#6Cgt@7KR(uDvTOC~hhJCdi)g!Togxx9RnvL$$H$o!9~5p+
zo?Q9#QB%4TQ~#vNp1~`ZJQ2#*Zr6GB^i1dWsNSDjv*)-Keg41ZoZ|9(8@C_dSX=GJ
z#<uCtDbaJMj3*ydXuWoAt@nTL=@#{`#lk^*^j8G_dG^{{*4|#~_s@$vVl1VmYP&aY
zO3jQ|E0r4?dvek=H>b<XzL-r54zW5e-s8z79kn&-$Gf{7lhq0{eiWFkjXD|}9uAsA
zQ!aa>u(lxa6yuDUiHsbTpMx^K=NUCMdAz(c^CT-*K+Q8BzH@U<g7!l0t1xswd&Z#I
z-1=DBu@vDM2if@&CKTVQTc_)BZq1F=;+y$o97@WMJ8#>3qHJo;%@d_R43bVy`@;U>
zT5o4y;ETI=3WQiz`uY4fk;<&@To)@@{Zi=BhD4pI$rnZUuhExyd_0s<M91T1=H-sa
zJu|wc%_i*15Ik;{=dwRn`qBFRMO!=swN73yeSdBVGrPf;_vb?z%yK1CN_g|98mm_>
zUM!e>ec9rVlKG;6Px*|pM6#Kge#GV#%>Qin$@cD@g6<xdH<w(s=6ABjzMJy*+dI{J
zCppElv)6ok`}k^y;G~0L^EB@_F<e;0YI|<J`y8vOrpFu~tUj|W<J9zRY?Zxx%mP*h
z#P9Ptv%qnRZq$?_W%o_*zhr)k+kMQWxH#wZ)Wv5X9DKvWk+5OA`O{C&RO_p(I#W+w
zs5rz@w0!yJSGP>{!d5z+-e6$X+OlD9ZnWCl`{$+R`gNT;t<!bl{I@SE@BjXeF-%kV
zd6~P!Qn+WfwB<6N#Oxd$!`bG>H&=L>OI%moC1d&F*E8u?wzXb&K0mj~zB?<<%q(I}
z>}iX|%}Hr-w^xK{nJ_ZyRDJ8QzPwEE$rG1%@pTL9YHU8nXZz{=ICM=R|L~4=0gS6Y
zKew!UC9*nh-;+QWmgsM95})oW{o?8S^xAp*%{wvzvu@mYQ1;Wv{oFiNt!Oi@Df<4^
z+S)}weq2bnXTxVxbwrYzyG1KBL$j-6(+y?i?5$g(uDpBqWN+o?t>y>k&vJZnE^voI
z>NLHlQ|8LvRQFw!?8Nj@ZQ<#rotC!@lW#nG;J|2Zz9(w?vf#;TJbe7>U%ubpskuJ5
zN9@n_X*I&#`~23r6+d7&cz1X3#stTjuys#L&dmvGYF~f#@b}dfnTrc~w@Pi@Ya6E<
zWw5I-`PR1F(;r&7cP8Zfm(|zT?JVmR&dYnUuWIVz%gZiWnoX0oF5k4louA8hh6A^;
z@ta%Q)7QlDUtM)kMxfN{Qm<dnru{P+9=z%4Zf4die^>DM{Iuw8OQ&eNe~qtCjgOJ(
z-&MN!O0RT`(M;PbY|Ov*)y|CDqM^FXXJKfB#Aj*Kq=IW}KwCN{)+{k^zT@dP?@7S(
zb5p86xoGV!RF7-bXS7_WyxDx!od(b*xm#OfqBk~Oj^6fRPkp`Ej$Mz~9=!DY_aI@?
zGGFC2<@sW)EDGP=_3nT9cXim(kDs2(+~3?DZk)DZxl5;c;-(L`4hF_9ViE0=caPts
z^3?a#*Ol)bFE9Jj)9E<JVj_dKwvKQA$^UEP=YM;CUisSU<KG!{qc7=NNge+2F=xX4
zzryqXhVsmbSI+nTrL%kWYDPBxwB7sduQxRd*4C~}ESh)glF;g2>77DCO%`=F?bCH1
z-_+mlv5jT%?A>e!?#Lt_VqyCBMp4&BrtpyqQ@8l?Id?8HNSQxtpCRE=UcTw1@tNcM
zT4JtUTl=#7k44h|e`n0wc>X-B?J4|FXK2`A|M$op8Osx<)n*IT{guwmKOd*Ao|BsV
zY<bucn*}v*_1?!HQHmAIbrE!K=j+jkoOH^)e^dEkwq+;T94upBe11OX%;ffCjErY2
z%X$oY*^C$SI_Bs0E?uj8vrj&KvBHCdv}322`&&MK*m(T%a+`A}CWzh4%<TC0uV>3<
zW$z%N&b+)Gd@?7J_Ria~yL@L>THD<1=BoNJ3EwxT-!YfCm$Lc%o`Can=AS;oyu;)A
zI-kg0Q$C)aW_aqx1=rxiOEi@3?L7Ro_IE^ns_NUP67uIa7e0O=A#>(cxu&39+xnZ1
z7pMHc^FkrzR$|yU<4dnEetmcL%=>+hmp?v!Gk%rGRlT?;H_pr~*;6;So8j8E8RzGp
z51h)C`~BS%KVMbm#W{Li9q-<y+}$zJJ^A=03(Zb(+bV;d0gC%BzI^a9c-{SdXYang
zZdv$JXkt^tjdilYYu6Tf_^V&MD{H=0>iCtApn0~B*G&~oTe(tYu8n6(g~e?Dc`8AA
zpMIM}6{-JvsXi@it=H_dvl~vIm~btiXz|q72X0BtKGys4)7|o(4O@;R{jEBdck4*g
z5tm6%cKwXn>L0JYemnDotJ609+waVNY>rLmjZI6ZEM1%vnYA|FKgWe7shzLqVwT{o
zt;r!NDv#z^%AB0$>!q0@b2F4-XYu6kM>t*N<^R08zWo2H&^vnZ^Q3yEF4nyWc=qFW
zv58XCmIVs$TG~GsofgYm7kPN;+UT8EH>t*Qi7(sI%NzFdQ((qPAth($%AL8=<^1w)
zbIkjlpPt$)_|l>4<%)pDU1en!NkWC0$<4kA3MXrSZD9B}V~>;A{ylp&H<fB%_n$N2
zTg=I6zPDIURs0K=fAQt&qlX`tDV|7Nf4|m!fAVpG+uKq#_GAWxh0XZ>^6;A%87}qp
z=hnxczgzcr#_mkvOy5}_gpc(m_Q<+u1hrgxeXVeppX|Q-TR3B{uhXfCmVEPeV^P_$
zbLaS8M{WI~r_nKmPga6|QfbvqqjRjRA8mAc(w*BjEXWFtS`&G=^>Dl3-@lf@o7Hp~
zPfb~PZDVpr>ZyR(wQjo6pI={l+TP6Wd3LgUSNwGA4Rdl19%Ea*(0Qi3q-WJarzsOo
zFMYE8m)AsTkAHtex_Vshua_^@(TRJ1@cQc~o=48jm1NH^D=@t(HC4y+r>OQ05iz%{
zx3{*;GU;p%US7m;@5lw_FYnHt*_v%>U#j&`JN(n3W6%0;%dHN1@Y1vK*4CGQPV29U
z+}@{t@L)%`cyZnTx|Ivd-=131!Eq#i|I#WC4$tIc9=G*ZU;XfQyGg{J8IO<mDXxn-
z+3Gp@hE*C*w9)?ehg#>%v!5@qv*y$LrUtLouA5Uh1KatP-`)4$v|eA7<)LrSo<rds
zHbu8?CEeesyqI6!EoRS*8GW*nm2V^-`P+Nmc3Exowk3O((eXPnn-@Aq*1iyUbZ4hb
z+>Qy8&z;+G`lM)1&W4-2rXH6z`%v)M?NUvRO5urfeA4mpSzq6F|Nrw-hM#ldrwZM;
zGf(AgXT+_O`MNpnX!4(mvh%auLtI#rUSGT9x5>KvQ^kjbXQxlfJt>;1>3sF(=9{~#
zOx3sLJ-zwm<(rl9^Ucnk+fh+DQD2K|V_EL4Ntv&WBW2da&c3$0tWe!*){@lI9M?0J
z^g2wv>CD)0s8w@omZ<pRMHl{m>Q-64e|_VOb82g&F4o_-GcwD2;`Z`V$dvl^k(0%K
ze_uS`xP7v)nn37YtNZ=3-T@8_{@>rZ-q|tndF`(a3zA%=cJ6#Q^QWX`@ub|_W^(@X
zd=xx-D^CjbouA=o;9)%5tvPJ<QKkjC(Qf+j=ce|_O1^!6{^kjfOz$_Q**i8BsV<k1
zEi}CMd~Kuxx5$D6$9iKx(_m4itC%xP;@iT49vV-${Nl>W!{v&KM{eKVZ#J*iAad57
zz?#~hW(p0vUtjm0s}ioqr5|<VV6XJfT_u{~;p?7cd2l?swDiu4J2Oun?RuD<_isOU
z{MM*jWs(UO6vEiqC+|q%bng;*DDCJl!?5}8>aaq^&9mF4il$kYO}Mt4-}}k^qGu}k
zx3}@g+Roy2?GE}?`(Ek1*1LBp@w=v+m>`f;{8VZFM!6}hzpnS}S@G^__s-kfCue-I
z`m51AZRL(jyUl~0ojmw?UFTSVmX~&TPcO<lC*v2k+U>K9<%!ups}`?VVs>)sQZ|h+
zp8d-10@2%--EU%z`S$&}(SZiWGxs(&|5kW<ST{=K{<pW1_Vsq`+jAe+-P<EFMfZKa
z=DX_q?$<&rEg#BAoVc5Nd&j#64a{A$f5o4wU#H|M*lZZ3|NZapIX?dCf1Q8TMS3s2
zzWDUKxi-S;LP7iOn)_rDiz_TH%gUat`>rRhtbFsuGq-=<(=7_W>uo&dQnr43#suE3
zO&0~194%iTr?aDO?rUjtqx6qSRw6nb<#Vk{YQFU>-?lB~=g;&%;cFk=n`3#zB<sk7
zB`TNBoc;LW<HCuCTPG-JbNftszV~|F!t0B}S6{TL_luct7jkw|t4#2+4Z+&FSNB(O
z|A;?Yzphz=XVT+2?d+`e|6`?AK5gB$=lL$1OQ#p_y*SHnbJ~}PJu|ZJ-3yVhp2oIu
z;~c#Zj`+QD%~8FTSz7(_c2AxyaC~zqBkuh%?eeZO(P683*uIp$y0A0C(CgehUv>wJ
z`gx0`%{OH{aF}*|rSt9|74Oo{di5#0-!RLOD77w8c>Unul^fgn|Cha$c>k!WJLkuh
z*B4Jd+%F$2zNz@(+uJe!U#e$K*K|IbcsL@*V1fCuI*qwcvYq5aWo0+s-z~l|)tl{5
z`{o1UdOkaUezq)qz>xI+pH4y1q;1g}K`r@pKN`<5GTQujYrc+!eX>QBN%r<U*Xs)y
z_de`ht6FTy!nn1Wxv#PDNWbi9zKXRP0W)VO2d)(Q`upqS>m3|HpPx+ZnWT1o^_;mU
zg+z{Y*Zqyle(>+hEyue5Y`hu8KaG-}pX>Q^r&{X|`^41Odnz@><ot?mZkqJXZK+f2
zZnOLU{}^-E{o?!|Uzhl?LojEqLF0x-=Ez-@#)YfH3OAQzt~&93lJvgG!exPh9amQc
z?k-MOb9GbFi#V_|balt~4-=%eoy<|`4wY(<vz;L)+4<s~Uzz0>(R(-aK0ROl<l|!r
zuPF;Ad9}JNKImiMDfRbmIS(hl`<G9XCWZeOox8+a+%0xj%Z(L+vc2CH{GT)BL;fTC
z(8^6O3V)l0-`als_Z`c=6N~z~x#!v0nP@~z@R~PI<m{}eHq)kAh-f-pJ>nu%^>xvQ
zlapl(V*OWytcZy@u`tZJ$Y{}i`@>Dmk@Hl!-&x7>OPemLes@R2G_txwiZ`vwc30BT
zAIk!jt#l$B?zi*rRPQeO;Fi4X@<$<onAk!i36+m0C6+7^X9=+`GqBd{6W?34@k#M@
zo=>w<ZW<lSy?yLhBXi`7M@`*<DxofG*U$8tnsH&1>Rgk2!7Zyo7Ji*)+c9t66Vp=b
z>F%$cT0ivmJqukK6k;O9v(~LAA+o?AQ#-sU_o34|pII(0y;57YZayrh62G#6;hlc;
zvB=(M^|=P0{@=cxyt`0YT*_>T?w^b9Uh`5<O<S7w^V9m^?=@l0)7~fM_LhEpG)0Uh
zRl527Q+w0q8A&lSvK?;y%DJNPCw%?0ptG~KOh{H|Vf^~@v&@B;2d+<7J9hN7{JooZ
zWV9U}R$opukhoxNJ^A$AxtqlGg>tjIyC)0tg@r|wy*u;h>FLT_`)n`&`kLIg*?66>
z+6ABGlNWuxx6IYsQ!#Y$!CN<H&N((e&O9tqSWNivy%!lxJ=g1}JzrbXzeHuyxp_~Q
z$oT!X{Ql?G&+}yh&5X^4#XAkM#q3L8I7|&+-!b26>RIjZqAgjWQe8^F($81ayp>Y_
z`zM2egU!=^iBT2HY8_p}>lp_1|K_l-TUX&T_mpCGw#;&$g;(|WKbSu0(BVCmCrckN
zY%Y6~5H!>1%F6KmKI8ODFTdaKteyWgYPquW>Z7NwiuP}pHCNja_Wx>k=H;&w4n6;<
z8nQ^EtKg4?;N9Jyeb>ibIdP(4rt!_4WxC62Ygft%9;^uuzmt=5p-ai?K*F7{n+b`G
z{_{TEILf+vp)+UQj|n&AY)}0DW9grN_fgjQc|YdboLm^TRw6I2&(2#c=KH(U=zs}N
zT2@@1sQ8{;pWT&{DQl~gv7>{q{P|dS_cu$L{=Lu8Tc7{$7T3?@gsF$-KkuICZ|wdo
zbe+#%(7M0$_TN80vphX{*jzt;(t@i=%dQLaTS)P|kd-YwcS7N8g2Vdj%Eyifl)MsY
zTpzcvyZdokjLb(#$tBw|5Br~;W%%PL_aip`WnNB9om!$<)zxooY);gDTJofJ_RO8d
zmTSTmzr4yFZyELB|K>OmyMFy;%_mm)d}Cw$@in}OOMKa%&FObSS8wd>eX22GQP^V@
z4h~7lB|CRKc=@2ATVX+I;labVqP+G^n8$bW<P!VJLo>ISu<-Nmah-VOONr3hH767~
zGK7S8K7Q5p{O;};e~$-OSBKkF{hA`p$*E#nd#ZPqY3AyS30IeLr%p)AS=#)k{l}v{
z_PyMNj;VL{s70G~y}x~YSNi!5{qVkJ%I;n>?R^Z*-Luo%-=3bnXVb=m$1YA>!^gLy
zx?;lNqpdbg4oO#6ZP{Pa*}QS%93j^)RkqKnY}xk8&E09KWp2L7+IsT&gN)+(`g>$$
zPH?^u60ZF6Np-!6l!?{d_VVhWfFHLfim%AatB|qlxv@b}_U+rkQ`30$7h8AT`tsiS
zyLRlXPlAF=e*XygnLJOQBO$f5cd>Grtd)U=k<i7nzNacaZB<JM{vob-TYBH$X}^y5
zD_2zqzo~tG`ep7D`>9?<GFLJ#%$l9NtxQ+^`8m}X0Ra=KGf&p8@%`^JN9z9tMlP`>
zDLy=l`unH+4=?=xBmd*lzBDF>i;I5P)t)*Wy?w_gyQ|ChgwFYs?(?_b&)x0msV!%w
z_dA`QZhWS~XZ`iXr~jlIEHM7~rFL%ktB=Wf%a=I(`}3nAX~*yNA6?4?B7;NrSd`}7
zdr}o8_432V+w&#wKL2{{+KsYTM|zssZ<c@4ac6z__}eRC*OferIP~KL{=X31{`vXx
zDK$P1_a7F&?)c=%#cS6ho}KgESp3|AWB#)(>1V37fBgtJdX~3cR9k{!L0Ekimw%v3
zPp|5!)7?%V(wYNX|Fgv>u?I3%R0iHS$M<$;@p|EHwO?-NO8<Lz=V4Hh(JsHaGhRJu
z+3e?jtUczn@l;oaj^3wH+j2y<Zal~(^8Da`q4*?rL542z<&zW?jvOnJveTWq%y9P3
z55M2vnPoBYz1OrQuO_L^(F^GiDw=S~-K<FP!7*OHn>QDpnm4!R)1&)4c7&g<SBu)J
z|8BO%pY93L>t;*e-2by})qE|n)P1rJeKJpCcTSotD3~H~`D0B^WXQ4C#j@6I5qqu9
z+CQ^eI{8m^z_MTb3i%1inVmNu99)xkq2b!;X@;d&wT>-YI`P}SUdyKum21V$?kbI`
z`PAZm@#33HFFpMH)irf{r@wr;BsC?$!&~`qf<w*6rgZbXf_eRSE;~Pb|FnDalG7(n
zKC>$iTyuSK@XCOtOD5Q*@!UUptSIY(!ZJyo6rI>pC$^{NOrQAo(3Yq(>tho0JB7CB
z1hwQd2Cj88kf>N1mb~<$$2P&WVnRX{rqyP9%ikvXK6AOt#q~ex2_O51v*uS$P3`{k
z>HYg%$1*mEXoW2Jc5-sZ)6>C+kFiCEhtJuZa!@te>`u{BrSN-uL^MJ=F12z8f4d&f
z$;qYUw>or^p2i>cpT^P;eP$gwryIRPzs99lKe)|nxu4=RJzv%UqpklhYjhv<Kaw!v
z8|$A5V%}o!=gckq_e^>pFK_BR4X=|*KCw|x>?0?a{<CqHw^v&jrfb!l6!B+ypw)@_
z4{|Fv87ZGP5!JqQ<`7f+-s+`)nVx2+P8a*>zkd2P!<8$SxVmgu=){^89pSM%Ub9TN
zRiDq%Vd=#Md>jwnJvu5gxxV_o=_Ze`MJ!AG=efl1v)Sq(xcQ&w6v-#~2P__Sr=?}A
zk9qju+FBpiQ!{_xo9VFaLHwQ*H+Pp;hV3?+>mayUL?ljm_ogo|4}Yos?J;G0UDy$w
zR(+wxH@;l#jgH%0Q62o|Q|ggpy)QZB{noGg@O?qZulr|~OKGLf-}w6a&JAU{-j5zt
xFa*i1-M_eo3k2eoy2{r#Q5hVX|NKA0-0fA;b9L74W?*1o@O1TaS?83{1OPHsjoSbK

literal 0
HcmV?d00001

diff --git a/modules/gfx/doc/sline.png b/modules/gfx/doc/sline.png
new file mode 100644
index 0000000000000000000000000000000000000000..79ee2f533764fda141b1783c3391b750de0a8f6d
GIT binary patch
literal 12031
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
L^>bP0l+XkK??g?I

literal 0
HcmV?d00001

diff --git a/modules/gfx/doc/trace.png b/modules/gfx/doc/trace.png
new file mode 100644
index 0000000000000000000000000000000000000000..8f7f5e6754c9d0d19ec3f357886bf2e65d84f6cb
GIT binary patch
literal 14997
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

literal 0
HcmV?d00001

diff --git a/modules/gfx/doc/tube.png b/modules/gfx/doc/tube.png
new file mode 100644
index 0000000000000000000000000000000000000000..5256aa3dd62bdfa24068114a442d84fd1b97fa13
GIT binary patch
literal 16659
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
UbLKxM1_lNOPgg&ebxsLQ06}myA^-pY

literal 0
HcmV?d00001

diff --git a/modules/gfx/pymod/export_entity.cc b/modules/gfx/pymod/export_entity.cc
index a81f8299e..2e5a0f13f 100644
--- a/modules/gfx/pymod/export_entity.cc
+++ b/modules/gfx/pymod/export_entity.cc
@@ -186,7 +186,7 @@ void (Entity::*set_rm1)(RenderMode::Type, const mol::EntityView&, bool)=&Entity:
 void (Entity::*set_rm2)(RenderMode::Type)=&Entity::SetRenderMode;
 RenderOptionsPtr ent_trace_opts(Entity* ent)
 {
-  return ent->GetOptions(RenderMode::LINE_TRACE);
+  return ent->GetOptions(RenderMode::TRACE);
 }
 
 RenderOptionsPtr ent_simple_opts(Entity* ent)
@@ -214,6 +214,11 @@ RenderOptionsPtr ent_cpk_opts(Entity* ent)
   return ent->GetOptions(RenderMode::CPK);
 }
 
+RenderOptionsPtr ent_ltrace_opts(Entity* ent)
+{
+  return ent->GetOptions(RenderMode::LINE_TRACE);
+}
+
 }
 
 void export_Entity()
@@ -273,6 +278,7 @@ void export_Entity()
     .add_property("cartoon_options", &ent_hsc_opts)    
     .add_property("cpk_options", &ent_cpk_opts)
     .add_property("trace_options", &ent_trace_opts)
+    .add_property("line_trace_options", &ent_ltrace_opts)
     .def("ApplyOptions", &Entity::ApplyOptions)
     .def("SetOptions", &Entity::SetOptions)
     .def("Apply",&ent_apply_11)
diff --git a/modules/gfx/pymod/export_render_options.cc b/modules/gfx/pymod/export_render_options.cc
index b27e55c46..2c7277578 100644
--- a/modules/gfx/pymod/export_render_options.cc
+++ b/modules/gfx/pymod/export_render_options.cc
@@ -43,6 +43,10 @@ void export_RenderOptions()
     .def("GetLineWidth",&LineRenderOptions::GetLineWidth)
     .def("SetAALines",&LineRenderOptions::SetAALines)
     .def("GetAALines",&LineRenderOptions::GetAALines)
+    .add_property("aa_lines", &LineRenderOptions::GetAALines, 
+                  &LineRenderOptions::SetAALines)
+    .add_property("line_width", &LineRenderOptions::GetLineWidth, 
+                  &LineRenderOptions::SetLineWidth)    
   ;
 
   class_<SimpleRenderOptions, boost::shared_ptr<SimpleRenderOptions>, bases<LineRenderOptions>, boost::noncopyable>("SimpleRenderOptions")
@@ -50,6 +54,10 @@ void export_RenderOptions()
     .def("SetBondOrderDistance", &SimpleRenderOptions::SetBondOrderDistance)
     .def("GetBondOrderFlag", &SimpleRenderOptions::GetBondOrderFlag)
     .def("GetBondOrderDistance", &SimpleRenderOptions::GetBondOrderDistance)
+    .add_property("draw_bond_order", &SimpleRenderOptions::GetBondOrderFlag, 
+                  &SimpleRenderOptions::SetBondOrderFlag)
+    .add_property("bond_order_distance", &SimpleRenderOptions::GetBondOrderDistance, 
+                  &SimpleRenderOptions::SetBondOrderDistance)    
   ;
 
   class_<LineTraceRenderOptions, boost::shared_ptr<LineTraceRenderOptions>, bases<LineRenderOptions>, boost::noncopyable>("LineTraceRenderOptions")
@@ -65,6 +73,10 @@ void export_RenderOptions()
     .def("GetSphereDetail", &CPKRenderOptions::GetSphereDetail)
     .def("SetCPKMode", &CPKRenderOptions::SetCPKMode)
     .def("GetCPKMode", &CPKRenderOptions::GetCPKMode)
+    .add_property("cpk_mode", &CPKRenderOptions::GetCPKMode, 
+                  &CPKRenderOptions::SetCPKMode)
+    .add_property("sphere_detail", &CPKRenderOptions::GetSphereDetail, 
+                  &CPKRenderOptions::SetSphereDetail)
   ;
 
   class_<CustomRenderOptions, boost::shared_ptr<CustomRenderOptions>, bases<RenderOptions>, boost::noncopyable>("CustomRenderOptions")
@@ -76,6 +88,11 @@ void export_RenderOptions()
     .def("GetSphereRad", &CustomRenderOptions::GetSphereRad)
     .def("SetBondRad", &CustomRenderOptions::SetBondRad)
     .def("GetBondRad", &CustomRenderOptions::GetBondRad)
+    .add_property("sphere_detail", &CustomRenderOptions::GetSphereDetail, &CustomRenderOptions::SetSphereDetail)
+    .add_property("bond_rad", &CustomRenderOptions::GetBondRad, &CustomRenderOptions::SetBondRad)
+    .add_property("sphere_rad", &CustomRenderOptions::GetSphereRad, &CustomRenderOptions::SetSphereRad)    
+    .add_property("arc_detail", &CustomRenderOptions::GetArcDetail, 
+                  &CustomRenderOptions::SetArcDetail)
   ;
 
   class_<CartoonRenderOptions, boost::shared_ptr<CartoonRenderOptions>, bases<RenderOptions>, boost::noncopyable>("CartoonRenderOptions")
@@ -119,6 +136,13 @@ void export_RenderOptions()
     .def("GetNormalSmoothFactor", &TraceRenderOptions::GetNormalSmoothFactor)
     .def("SetTubeRadius", &TraceRenderOptions::SetTubeRadius)
     .def("GetTubeRadius", &TraceRenderOptions::GetTubeRadius)
+    .add_property("tube_radius", &TraceRenderOptions::GetTubeRadius, 
+                  &TraceRenderOptions::SetTubeRadius)
+    .add_property("arc_detail", &TraceRenderOptions::GetArcDetail, 
+                  &TraceRenderOptions::SetArcDetail)
+    .add_property("normal_smooth_factor", 
+                  &TraceRenderOptions::GetNormalSmoothFactor, 
+                  &TraceRenderOptions::SetNormalSmoothFactor)    
   ;
 }
 
diff --git a/modules/gui/src/file_browser.cc b/modules/gui/src/file_browser.cc
index 965e3321a..9c6885b1b 100644
--- a/modules/gui/src/file_browser.cc
+++ b/modules/gui/src/file_browser.cc
@@ -71,7 +71,9 @@ FileBrowser::FileBrowser(QWidget* parent):
     } 
 # elif defined(__APPLE__)
   if (path.contains("DNG.app") || path=="/") {
-    QString example_path="/Applications/OpenStructure/Examples/entity";    
+    QDir dir(QCoreApplication::applicationDirPath());
+    dir.cdUp();
+    QString example_path=dir.path()+"/examples";
     if (QDir(example_path).exists()) {
       path=example_path;
     }    
diff --git a/modules/index.rst b/modules/index.rst
index c70e751c0..a9d779a20 100644
--- a/modules/index.rst
+++ b/modules/index.rst
@@ -2,7 +2,7 @@ OpenStructure documentation
 ================================================================================
 
 .. toctree::
-  :maxdepth: 2
+  :maxdepth: 1
   
 Introduction
 --------------------------------------------------------------------------------  
@@ -10,31 +10,38 @@ Introduction
 .. toctree::
   :maxdepth: 2
 
-  intro
   install
-  
+  intro
+
+
 Modules
 --------------------------------------------------------------------------------
 
 .. toctree::
-  :maxdepth: 2
+  :maxdepth: 1
 
   base/generic
-  img/base/img
-  img/alg/alg
+  base/base
   geom/geom
-  conop/conop
+  
   mol/base/mol
+  conop/conop
+
+  img/base/img
+  img/alg/alg
+  
   seq/base/seq
-  base/base
+
   io/io
+
+  gfx/gfx
   gui/gui
 
 Extending OpenStructure
 --------------------------------------------------------------------------------
 
 .. toctree::
-  :maxdepth: 2
+  :maxdepth: 1
   
   newmodule
   external
diff --git a/modules/mol/base/doc/query.rst b/modules/mol/base/doc/query.rst
index 20c4b711a..ff8ff21a4 100644
--- a/modules/mol/base/doc/query.rst
+++ b/modules/mol/base/doc/query.rst
@@ -1,93 +1,137 @@
 Queries
 ================================================================================
 
-.. class:: Query
+.. currentmodule:: ost.mol
 
-  Blabla
-
-It is often convenient to highlight or focus certain parts of the structure. 
 OpenStructure includes a powerful query system that allows you to perform custom 
 selections in a convenient way.
 
-Please refer to the tutorial on the query language for an introduction.
 
-The query language reference
+The Basics
 --------------------------------------------------------------------------------
 
-The query consists of one or more predicates combined with boolean 
-operators. A predicate takes the form *prop op value*. Operators are
-one of `` =, !=, >, >=, <=`` and ``<``. A predicate has the following form:
-*PROPERTY - OPERATOR - ARGUMENT*.
-
-The following properties may be used in predicates. The supported type of the
-value is given for each property.
-
- *      ``rname`` residue name. type: string
- *      ``rnum`` residue number. currently only numeric part is honored. 
-        type: int
- *      ``rtype`` residue type as given by the DSSP code, i.e. H for helix, E
-        for extended. type: string
- *      ``aname`` atom name. type: string
- *      ``ele`` element of atom. type: string
- *      ``cname`` chain name. type: string
- *      ``occ`` occupancy, between 0 and 1. type: float
- *      ``abfac`` B (temperature) factor of atom. type: float
- *      ``rbfac`` average B (temperature) factor of residue. type: float. 
-        Note that this does not work for views as expected. When running a 
-        second selection statement on a view, all atoms of the residue handle 
-        and not the view are considered in the calculation
- *      ``ishetatm`` whether the atom is a hetorogenous atom. type: bool or int
-        (0 for false, 1 for true)
- *      ``peptide`` whether the residue is peptide linking. type: bool or int
-        (0 for false, 1 for true)        
- *      ``x``  X coordinate of atom. type: float
- *      ``y``  Y coordinate of atom. type: float
- *      ``z``  Z coordinate of atom. type: float
- *      ``rindex`` index of residue in chain. This index is the same for views 
-        and handles
- *      For :ref:`generic properties in queries <genprop-in-queries>` see below.
-
-Distance-based selections within a given atom position are supported by
-the within statement. To select atoms within 5 Angstrom of the point
-``{1, 2, 3}``, one would write:
-
-``5 <> {1,2,3}``
-
-Negation of this expression is possible with the not operator, i.e.
-
-``not 5 <> {1,2,3}``
-will select atoms that are further than five Angstrom apart from ``{1, 2 , 3}``
-
-Abbreviations
+It is often convenient to highlight or focus certain parts of the structure. 
+OpenStructure includes a powerful query system that allows you to perform custom 
+selections in a convenient way. Selections are carried out mainly by calling the Select method made available by EntityHandle and :class:`EntityView` objects while providing a query string. Queries are written using a dedicated mini-language. For example, to select all arginine residues of a given structure, one would write:
+
+.. code-block:: python
+
+  arginines=model.Select('rname=ARG')
+
+A simple selection query (called a predicate) consists in a property (here, 
+`rname`), a comparison operator (here, `=`) and an argument (here, `ARG`).  The 
+return value of a call to the :meth:`EntityHandle.Select` method is always an 
+:class:`EntityView`. The :class:`EntityView` always contains a full hierarchy of 
+elements, never standalone separated elements. In the above example, the 
+:class:`EntityView` called `arginines` will contain all chains from the 
+structure called 'model' that have at least one arginine. In turn these chains 
+will contain all residues that have been identified as arginines. The residues 
+themselves will contain references to all of their atoms. Of course, queries are 
+not limited to selecting residues based on their type, it is also possible to 
+select atom by name:
+
+.. code-block:: python
+
+  c_betas=model.Select('aname=CB') 
+
+As before, c`betas is an instance of an :class:`EntityView` object and contains 
+a full hierarchy. The main difference to the previous example is that the 
+selected residues do not contain a list of all of their atoms but only the 
+C-beta. These examples clarify why the name 'view' was chosen for this result of 
+a :meth:`~EntityHandle.Select` statement. It represents a reduced, restrained 
+way of looking at the original structure.
+
+Both the selection statements that have been used so far take strings as their arguments. However, selection properties such as `rnum` (residue number), take numeric arguments. With numeric arguments it is possible to use identity operators ( `!=` and `=`). It is also possible to compare them using the `>`, `<`, `>=` and `<=` operators. For example, the 20 N-terminal residues of a protein can be selected with:
+
+.. code-block:: python
+
+  n_term=model.Select('rnum<=20')
+  
+Combining predicates
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-Two abbreviations exist for convenience:
+Selection predicates can be combined with boolean operators. For example , you might want to select all C atoms with crystallographic occupancy higher than 50. These atoms must match the predicate `ele=C` in addition to the predicate `occ>50`. In the query language this can be written as:
 
-Instead of writing 
+.. code-block:: python
 
-``aname=CA or aname=C or aname=O or aname=N``, 
+  model.Select('ele=C and occ>50')
+  
+Compact forms are available for several selection statements. For example, to select all arginines and aspargines, one could use a statement like:
 
-one can write 
+.. code-block:: python
+  
+  arg_and_asn=model.Select('rname=ARG or rname=ASN')
 
-``aname=CA,N,C,O``. 
+However, this is rather cumbersome as it requires the word `rname` to be typed  twice. Since the only difference between the two parts of the selection is the argument that follows  the word `rname`, the statement can also be written in an abbreviated form:
 
-For integral value ranges, one can use the colon syntax: instead of  
+.. code-block:: python
+  
+  arg_and_asn=model.Select('rname=ARG,ASN')
 
-``rnum>=10 and rnum<=20`` 
+Another example: to select residues with numbers in the range 130 to 200, one could use the following statement
 
-one can write 
+.. code-block:: python
+  
+  center=model.Select('rnum>=130 and rnum<=200')
+
+or alternatively use the much nicer syntax:
+
+.. code-block:: python
+
+  center=model.Select('rnum=130:200')
+
+This last statement is completely equivalent to the previous one. This syntax  
+can be used when the selection statement requires a range of integer values 
+within a closed interval.
+
+Distance Queries
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The query
+
+.. code-block:: python
+
+  around_center=model.Select('5 <> {0,0,0}')
+  
+selects all chains, residues and atoms that lie with 5 Å to the origin of the reference system ({0,0,0}). The `<>` operator is called the ‘within’ operator. 
+Instead of a point, the within statements can also be used to return a view containing all chains, residues and atoms within a radius of another selection statement applied to the same entity.  Square brackets are used to delimit the inner query statement. 
+
+.. code-block:: python
+
+  around_hem=model.Select('5 <> [rname=HEM]')
+  model.Select('5 <> [rname=HEM and ele=C] and rname!=HEM')
+
+Bonds and Queries
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+When an :class:`EntityView` is generated by a selection, it includes by default only bonds for which both connected atoms  satisfy the query statement. This can be changed by passing the parameters `EXCLUSIVE_BONDS` or `NO_BONDS` when calling the Select method. `EXCLUSIVE_BONDS` adds bonds to the :class:`EntityView` when at least one of the two atoms falls within the boundary of the selection. `NO_BONDS` suppresses the bond inclusion step completely. 
+
+Whole Residue Queries
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-``rnum=10:20``
+If the parameter `MATCH_RESIDUES` is passed when the Select method is called, the resulting :class:`EntityView` will include whole residues for which at least one atom satisfies the query. This means that if at least one atom in the residue  falls within the boundaries of the selection, all atoms of the residue will be included in the View.
+
+More Query Usage
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The high level interface for queries are the Select methods of the 
+EntityHandle and :class:`EntityView` classes. By passing in a query string, a view
+consisting of a subset of the elements is returned. 
+
+Queries also offer a second interface: `IsAtomSelected()`, 
+`IsResidueSelected()` and `IsChainSelected()` take an atom, residue or 
+chain as their argument and return true or false, depending on whether the 
+element fulfills the predicates.
 
 .. _genprop-in-queries:
 
 Generic Properties in Queries
---------------------------------------------------------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 The query language can also be used for numeric generic properties (i.e.
 float and int), but the syntax is slightly different. To access any generic
 properties, it needs to be specified that they are generic and at which level 
-they are defined. Therefore, all generic properties start with a ``g``, followed by an ``a``, ``r`` or ``c`` for atom, residue or chain level respectively. 
+they are defined. Therefore, all generic properties start with a `g`, followed by an `a`, `r` or `c` for atom, residue or chain level respectively. 
 
 .. code-block:: python
    
@@ -122,3 +166,92 @@ statement which can be done using a ':' character:
 Using this method, you will be warned if a generic property is not set for all
 atoms, residues or chains unless you specify a default value. So, be careful
 when you do.
+
+Available Properties
+--------------------------------------------------------------------------------
+
+The following properties may be used in predicates. The type is given for each property.
+
+Properties of Chains
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**cname/chain** (str) :attr:`Chain name<ChainHandle.name>` 
+  
+Properties of Residues
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**rname** (str): :attr:`Residue name<ResidueHandle.name>`
+ 
+**rnum** (int): :attr:`Residue number<ResidueHandle.number>`. Currently only the numeric part is honored.
+ 
+**rtype** (str): Residue type as given by the DSSP code, i.e. H for helix, E for extended.
+  
+**rindex** (int): :attr:`Index<ResidueHandle.index>` of residue in chain. This 
+index is the same for views and handles.
+  
+**ishetatm** (bool): Whether the atom is a :attr:`heterogenous<AtomHandle.is_hetatm>` atom.
+  
+**peptide** (bool): Whether the residue is a :meth:`peptide <ResidueHandle.IsPeptideLinking>`.
+
+**rbfac** (float): average B (temperature) factor of residue
+
+Properties of Atoms
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**aname** (str): :attr:`Atom name<AtomHandle.name>`
+  
+**ele** (str): :attr:`Atom element<AtomHandle.element>`
+  
+
+  
+**occ** (float): :attr:`Atom occupancy<AtomHandle.occupancy>`
+
+**abfac** (float): :attr:`Atom B-factor<AtomHandle.b_factor>`
+
+**x** (float): :attr:`X<AtomHandle.pos>` coordinate of atom.
+
+**y** (float): :attr:`Y<AtomHandle.pos>` coordinate of atom.
+
+**z** (float): :attr:`Z<AtomHandle.pos>` coordinate of atom.
+
+Query API documentation
+--------------------------------------------------------------------------------
+
+.. class:: Query(string='')
+  
+  Create a new query from the given string. The constructor does not throw any
+  error in case the query contains syntax errors. Use :attr:`valid` to check
+  whether the query was valid.
+
+
+  .. attribute:: string
+  
+    The string used to create the query.
+  
+    :type: str
+    
+  .. attribute:: valid
+  
+    True, when the query could be compiled without syntax errors.
+    
+    :type: bool
+
+  .. attribute:: error
+    
+    If :attr:`valid` is false, this attribute contains the error message.
+    Otherwise it is set to an empty string
+    
+    :type: str
+  .. method:: IsAtomSelected(atom)
+  
+    Returns true, when the given atom handle fulfills the predicates, false if
+    not.
+
+  .. method::  IsChainSelected(chain)
+  
+    Return true if at least one of the atomso of the chain matches the
+    predicates.
+    
+  .. method:: IsResidueSelected(residue)
+  
+    Returns true, when at least one atom of the residue matches the predicates.
diff --git a/modules/mol/base/pymod/export_query.cc b/modules/mol/base/pymod/export_query.cc
index 2a301e0b3..40c729672 100644
--- a/modules/mol/base/pymod/export_query.cc
+++ b/modules/mol/base/pymod/export_query.cc
@@ -29,6 +29,12 @@ void translate_QueryError(const QueryError& e) {
   PyErr_SetString(PyExc_RuntimeError, e.GetFormattedMessage().c_str());
 }
 
+String error_msg(Query& q)
+{
+  return QueryError(q.GetQueryString(), 
+                    q.GetErrorDescription()).GetFormattedMessage();
+}
+
 void export_Query()
 {
   
@@ -52,7 +58,9 @@ void export_Query()
     .def("IsAtomSelected", &Query::IsAtomSelected)    
     .def("IsResidueSelected", &Query::IsResidueSelected)
     .def("IsChainSelected", &Query::IsChainSelected)    
-    .add_property("String",  
+    .add_property("valid", &Query::IsValid)
+    .add_property("error", &error_msg)
+    .add_property("string",  
                   make_function(&Query::GetQueryString,
                                 return_value_policy<copy_const_reference>()))
     .def("GetErrorDescription", &Query::GetErrorDescription, 
-- 
GitLab