From 7023107ec4e2a3a6a2a3c21f4114e8178d61ca88 Mon Sep 17 00:00:00 2001
From: Rafael Ravedutti <rafaelravedutti@gmail.com>
Date: Mon, 1 Nov 2021 23:39:34 +0100
Subject: [PATCH] Include ParticlesInteraction approach to abstract
 interactions at IR level

Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
---
 examples/kernels                             | 1679 +++++++++---------
 examples/kernels.pdf                         |  Bin 47768 -> 47981 bytes
 examples/lj_func.py                          |    8 +-
 examples/lj_ns.cpp                           | 1307 +++++++-------
 src/pairs/coupling/parse_cpp.py              |   11 +-
 src/pairs/ir/branches.py                     |    4 +-
 src/pairs/ir/loops.py                        |   26 -
 src/pairs/ir/symbols.py                      |   19 +
 src/pairs/ir/variables.py                    |    1 +
 src/pairs/mapping/funcs.py                   |   18 +-
 src/pairs/sim/cell_lists.py                  |    2 +-
 src/pairs/sim/interaction.py                 |   81 +
 src/pairs/sim/neighbor_lists.py              |   27 +-
 src/pairs/sim/pbc.py                         |    6 +-
 src/pairs/sim/simulation.py                  |   54 +-
 src/pairs/transformations/replace_symbols.py |   14 +
 16 files changed, 1675 insertions(+), 1582 deletions(-)
 create mode 100644 src/pairs/ir/symbols.py
 create mode 100644 src/pairs/sim/interaction.py
 create mode 100644 src/pairs/transformations/replace_symbols.py

diff --git a/examples/kernels b/examples/kernels
index 1f341d0..d3669ab 100644
--- a/examples/kernels
+++ b/examples/kernels
@@ -1,846 +1,841 @@
 digraph AST {
 	node [color=lightblue2 style=filled]
 	size="6,6"
-	n140112198557368 [label=Block]
-	n140112198162136 [label=KernelBlock]
-	n140112198557368 -> n140112198162136
-	n140112198279352 [label=KernelBlock]
-	n140112198557368 -> n140112198279352
-	n140112198162136 [label=KernelBlock]
-	n140112198161856 [label=Block]
-	n140112198162136 -> n140112198161856
-	n140112198161856 [label=Block]
-	n140112198587056 [label=ParticleFor]
-	n140112198161856 -> n140112198587056
-	n140112198587056 [label=ParticleFor]
-	n140112198161912 [label="Iter(0)"]
-	n140112198587056 -> n140112198161912
-	n140112198162080 [label=Block]
-	n140112198587056 -> n140112198162080
-	n140112198161968 [label=0]
-	n140112198587056 -> n140112198161968
-	n140112198162024 [label=0]
-	n140112198587056 -> n140112198162024
-	n140112198161912 [label="Iter(0)"]
-	n140112198162080 [label=Block]
-	n140112198162248 [label=For]
-	n140112198162080 -> n140112198162248
-	n140112198162528 [label="*"]
-	n140112198161912 [label="Iter(0)"]
-	n140112198162528 -> n140112198161912
-	n140112198589072 [label=neighborlist_capacity]
-	n140112198162528 -> n140112198589072
-	n140112198589072 [label=neighborlist_capacity]
-	n140112198162752 [label=PropertyAccess]
-	n140112198557592 [label=position]
-	n140112198162752 -> n140112198557592
-	n140112198161912 [label="Iter(0)"]
-	n140112198162752 -> n140112198161912
-	n140112198281984 [label="*"]
-	n140112198162752 -> n140112198281984
-	n140112198316552 [label="+"]
-	n140112198162752 -> n140112198316552
-	n140112198318120 [label="+"]
-	n140112198162752 -> n140112198318120
-	n140112198557592 [label=position]
-	n140112198281984 [label="*"]
-	n140112198161912 [label="Iter(0)"]
-	n140112198281984 -> n140112198161912
-	n140112198282040 [label=3]
-	n140112198281984 -> n140112198282040
-	n140112198282040 [label=3]
-	n140112198316552 [label="+"]
-	n140112198316384 [label="*"]
-	n140112198316552 -> n140112198316384
-	n140112198316608 [label=1]
-	n140112198316552 -> n140112198316608
-	n140112198316384 [label="*"]
-	n140112198161912 [label="Iter(0)"]
-	n140112198316384 -> n140112198161912
-	n140112198316440 [label=3]
-	n140112198316384 -> n140112198316440
-	n140112198316440 [label=3]
-	n140112198316608 [label=1]
-	n140112198318120 [label="+"]
-	n140112198317952 [label="*"]
-	n140112198318120 -> n140112198317952
-	n140112198318176 [label=2]
-	n140112198318120 -> n140112198318176
-	n140112198317952 [label="*"]
-	n140112198161912 [label="Iter(0)"]
-	n140112198317952 -> n140112198161912
-	n140112198318008 [label=3]
-	n140112198317952 -> n140112198318008
-	n140112198318008 [label=3]
-	n140112198318176 [label=2]
-	n140112198163144 [label="*"]
-	n140112198161912 [label="Iter(0)"]
-	n140112198163144 -> n140112198161912
-	n140112198163200 [label=3]
-	n140112198163144 -> n140112198163200
-	n140112198163200 [label=3]
-	n140112198163928 [label="*"]
-	n140112198161912 [label="Iter(0)"]
-	n140112198163928 -> n140112198161912
-	n140112198163984 [label=3]
-	n140112198163928 -> n140112198163984
-	n140112198163984 [label=3]
-	n140112198209888 [label="*"]
-	n140112198161912 [label="Iter(0)"]
-	n140112198209888 -> n140112198161912
-	n140112198209720 [label=3]
-	n140112198209888 -> n140112198209720
-	n140112198209720 [label=3]
-	n140112198210112 [label="+"]
-	n140112198209888 [label="*"]
-	n140112198210112 -> n140112198209888
-	n140112198211568 [label=1]
-	n140112198210112 -> n140112198211568
-	n140112198211568 [label=1]
-	n140112198210672 [label="*"]
-	n140112198161912 [label="Iter(0)"]
-	n140112198210672 -> n140112198161912
-	n140112198210728 [label=3]
-	n140112198210672 -> n140112198210728
-	n140112198210728 [label=3]
-	n140112198210840 [label="+"]
-	n140112198210672 [label="*"]
-	n140112198210840 -> n140112198210672
-	n140112198210896 [label=1]
-	n140112198210840 -> n140112198210896
-	n140112198210896 [label=1]
-	n140112198211792 [label="*"]
-	n140112198161912 [label="Iter(0)"]
-	n140112198211792 -> n140112198161912
-	n140112198211960 [label=3]
-	n140112198211792 -> n140112198211960
-	n140112198211960 [label=3]
-	n140112198211904 [label="+"]
-	n140112198211792 [label="*"]
-	n140112198211904 -> n140112198211792
-	n140112198211848 [label=2]
-	n140112198211904 -> n140112198211848
-	n140112198211848 [label=2]
-	n140112198212464 [label="*"]
-	n140112198161912 [label="Iter(0)"]
-	n140112198212464 -> n140112198161912
-	n140112198212520 [label=3]
-	n140112198212464 -> n140112198212520
-	n140112198212520 [label=3]
-	n140112198212632 [label="+"]
-	n140112198212464 [label="*"]
-	n140112198212632 -> n140112198212464
-	n140112198212688 [label=2]
-	n140112198212632 -> n140112198212688
-	n140112198212688 [label=2]
-	n140112198281312 [label="*"]
-	n140112198161912 [label="Iter(0)"]
-	n140112198281312 -> n140112198161912
-	n140112198281368 [label=3]
-	n140112198281312 -> n140112198281368
-	n140112198281368 [label=3]
-	n140112198281704 [label="*"]
-	n140112198161912 [label="Iter(0)"]
-	n140112198281704 -> n140112198161912
-	n140112198281760 [label=3]
-	n140112198281704 -> n140112198281760
-	n140112198281760 [label=3]
-	n140112198282880 [label="*"]
-	n140112198161912 [label="Iter(0)"]
-	n140112198282880 -> n140112198161912
-	n140112198282936 [label=3]
-	n140112198282880 -> n140112198282936
-	n140112198282936 [label=3]
-	n140112198283048 [label="+"]
-	n140112198282880 [label="*"]
-	n140112198283048 -> n140112198282880
-	n140112198283104 [label=1]
-	n140112198283048 -> n140112198283104
-	n140112198283104 [label=1]
-	n140112198316104 [label="*"]
-	n140112198161912 [label="Iter(0)"]
-	n140112198316104 -> n140112198161912
-	n140112198316160 [label=3]
-	n140112198316104 -> n140112198316160
-	n140112198316160 [label=3]
-	n140112198316272 [label="+"]
-	n140112198316104 [label="*"]
-	n140112198316272 -> n140112198316104
-	n140112198316328 [label=1]
-	n140112198316272 -> n140112198316328
-	n140112198316328 [label=1]
-	n140112198317280 [label="*"]
-	n140112198161912 [label="Iter(0)"]
-	n140112198317280 -> n140112198161912
-	n140112198317336 [label=3]
-	n140112198317280 -> n140112198317336
-	n140112198317336 [label=3]
-	n140112198317448 [label="+"]
-	n140112198317280 [label="*"]
-	n140112198317448 -> n140112198317280
-	n140112198317504 [label=2]
-	n140112198317448 -> n140112198317504
-	n140112198317504 [label=2]
-	n140112198317672 [label="*"]
-	n140112198161912 [label="Iter(0)"]
-	n140112198317672 -> n140112198161912
-	n140112198317728 [label=3]
-	n140112198317672 -> n140112198317728
-	n140112198317728 [label=3]
-	n140112198317840 [label="+"]
-	n140112198317672 [label="*"]
-	n140112198317840 -> n140112198317672
-	n140112198317896 [label=2]
-	n140112198317840 -> n140112198317896
-	n140112198317896 [label=2]
-	n140112198162248 [label=For]
-	n140112198162304 [label="Iter(1)"]
-	n140112198162248 -> n140112198162304
-	n140112198162416 [label=Block]
-	n140112198162248 -> n140112198162416
-	n140112198162360 [label=0]
-	n140112198162248 -> n140112198162360
-	n140112198162192 [label=ArrayAccess]
-	n140112198162248 -> n140112198162192
-	n140112198162304 [label="Iter(1)"]
-	n140112198162416 [label=Block]
-	n140112198279240 [label=Filter]
-	n140112198162416 -> n140112198279240
-	n140112198162640 [label="+"]
-	n140112198162528 [label="*"]
-	n140112198162640 -> n140112198162528
-	n140112198162304 [label="Iter(1)"]
-	n140112198162640 -> n140112198162304
-	n140112198162864 [label=PropertyAccess]
-	n140112198557592 [label=position]
-	n140112198162864 -> n140112198557592
-	n140112198162472 [label=ArrayAccess]
-	n140112198162864 -> n140112198162472
-	n140112198282320 [label="*"]
-	n140112198162864 -> n140112198282320
-	n140112198316888 [label="+"]
-	n140112198162864 -> n140112198316888
-	n140112198318456 [label="+"]
-	n140112198162864 -> n140112198318456
-	n140112198162472 [label=ArrayAccess]
-	n140112198589128 [label=neighborlists]
-	n140112198162472 -> n140112198589128
-	n140112198162640 [label="+"]
-	n140112198162472 -> n140112198162640
-	n140112198589128 [label=neighborlists]
-	n140112198282320 [label="*"]
-	n140112198162472 [label=ArrayAccess]
-	n140112198282320 -> n140112198162472
-	n140112198282376 [label=3]
-	n140112198282320 -> n140112198282376
-	n140112198282376 [label=3]
-	n140112198316888 [label="+"]
-	n140112198316720 [label="*"]
-	n140112198316888 -> n140112198316720
-	n140112198316944 [label=1]
-	n140112198316888 -> n140112198316944
-	n140112198316720 [label="*"]
-	n140112198162472 [label=ArrayAccess]
-	n140112198316720 -> n140112198162472
-	n140112198316776 [label=3]
-	n140112198316720 -> n140112198316776
-	n140112198316776 [label=3]
-	n140112198316944 [label=1]
-	n140112198318456 [label="+"]
-	n140112198318288 [label="*"]
-	n140112198318456 -> n140112198318288
-	n140112198318512 [label=2]
-	n140112198318456 -> n140112198318512
-	n140112198318288 [label="*"]
-	n140112198162472 [label=ArrayAccess]
-	n140112198318288 -> n140112198162472
-	n140112198318344 [label=3]
-	n140112198318288 -> n140112198318344
-	n140112198318344 [label=3]
-	n140112198318512 [label=2]
-	n140112198162976 [label="-"]
-	n140112198162752 [label=PropertyAccess]
-	n140112198162976 -> n140112198162752
-	n140112198162864 [label=PropertyAccess]
-	n140112198162976 -> n140112198162864
-	n140112198163480 [label="*"]
-	n140112198162472 [label=ArrayAccess]
-	n140112198163480 -> n140112198162472
-	n140112198163536 [label=3]
-	n140112198163480 -> n140112198163536
-	n140112198163536 [label=3]
-	n140112198164264 [label="*"]
-	n140112198162472 [label=ArrayAccess]
-	n140112198164264 -> n140112198162472
-	n140112198164320 [label=3]
-	n140112198164264 -> n140112198164320
-	n140112198164320 [label=3]
-	n140112198209944 [label="*"]
-	n140112198163816 [label=VectorAccess]
-	n140112198209944 -> n140112198163816
-	n140112198209664 [label=VectorAccess]
-	n140112198209944 -> n140112198209664
-	n140112198163816 [label=VectorAccess]
-	n140112198162976 [label="-"]
-	n140112198163816 -> n140112198162976
-	n140112198209664 [label=VectorAccess]
-	n140112198162976 [label="-"]
-	n140112198209664 -> n140112198162976
-	n140112198210224 [label="*"]
-	n140112198162472 [label=ArrayAccess]
-	n140112198210224 -> n140112198162472
-	n140112198210280 [label=3]
-	n140112198210224 -> n140112198210280
-	n140112198210280 [label=3]
-	n140112198210392 [label="+"]
-	n140112198210224 [label="*"]
-	n140112198210392 -> n140112198210224
-	n140112198210448 [label=1]
-	n140112198210392 -> n140112198210448
-	n140112198210448 [label=1]
-	n140112198211008 [label="*"]
-	n140112198162472 [label=ArrayAccess]
-	n140112198211008 -> n140112198162472
-	n140112198211064 [label=3]
-	n140112198211008 -> n140112198211064
-	n140112198211064 [label=3]
-	n140112198211176 [label="+"]
-	n140112198211008 [label="*"]
-	n140112198211176 -> n140112198211008
-	n140112198211232 [label=1]
-	n140112198211176 -> n140112198211232
-	n140112198211232 [label=1]
-	n140112198211400 [label="*"]
-	n140112198210560 [label=VectorAccess]
-	n140112198211400 -> n140112198210560
-	n140112198211344 [label=VectorAccess]
-	n140112198211400 -> n140112198211344
-	n140112198210560 [label=VectorAccess]
-	n140112198162976 [label="-"]
-	n140112198210560 -> n140112198162976
-	n140112198211344 [label=VectorAccess]
-	n140112198162976 [label="-"]
-	n140112198211344 -> n140112198162976
-	n140112198211512 [label="+"]
-	n140112198209944 [label="*"]
-	n140112198211512 -> n140112198209944
-	n140112198211400 [label="*"]
-	n140112198211512 -> n140112198211400
-	n140112198213472 [label="*"]
-	n140112198162472 [label=ArrayAccess]
-	n140112198213472 -> n140112198162472
-	n140112198212072 [label=3]
-	n140112198213472 -> n140112198212072
-	n140112198212072 [label=3]
-	n140112198212184 [label="+"]
-	n140112198213472 [label="*"]
-	n140112198212184 -> n140112198213472
-	n140112198212240 [label=2]
-	n140112198212184 -> n140112198212240
-	n140112198212240 [label=2]
-	n140112198212800 [label="*"]
-	n140112198162472 [label=ArrayAccess]
-	n140112198212800 -> n140112198162472
-	n140112198212856 [label=3]
-	n140112198212800 -> n140112198212856
-	n140112198212856 [label=3]
-	n140112198212968 [label="+"]
-	n140112198212800 [label="*"]
-	n140112198212968 -> n140112198212800
-	n140112198213024 [label=2]
-	n140112198212968 -> n140112198213024
-	n140112198213024 [label=2]
-	n140112198213192 [label="*"]
-	n140112198212352 [label=VectorAccess]
-	n140112198213192 -> n140112198212352
-	n140112198213136 [label=VectorAccess]
-	n140112198213192 -> n140112198213136
-	n140112198212352 [label=VectorAccess]
-	n140112198162976 [label="-"]
-	n140112198212352 -> n140112198162976
-	n140112198213136 [label=VectorAccess]
-	n140112198162976 [label="-"]
-	n140112198213136 -> n140112198162976
-	n140112198213304 [label="+"]
-	n140112198211512 [label="+"]
-	n140112198213304 -> n140112198211512
-	n140112198213192 [label="*"]
-	n140112198213304 -> n140112198213192
-	n140112198213416 [label="<"]
-	n140112198213304 [label="+"]
-	n140112198213416 -> n140112198213304
-	n140112198213584 [label=2.5]
-	n140112198213416 -> n140112198213584
-	n140112198213584 [label=2.5]
-	n140112198279240 [label=Filter]
-	n140112198213416 [label="<"]
-	n140112198279240 -> n140112198213416
-	n140112198279296 [label=Block]
-	n140112198279240 -> n140112198279296
-	n140112198279296 [label=Block]
-	n140112198281200 [label=Assign]
-	n140112198279296 -> n140112198281200
-	n140112198279632 [label="/"]
-	n140112198279688 [label=1.0]
-	n140112198279632 -> n140112198279688
-	n140112198213304 [label="+"]
-	n140112198279632 -> n140112198213304
-	n140112198279688 [label=1.0]
-	n140112198279800 [label="*"]
-	n140112198279632 [label="/"]
-	n140112198279800 -> n140112198279632
-	n140112198279632 [label="/"]
-	n140112198279800 -> n140112198279632
-	n140112198279912 [label="*"]
-	n140112198279800 [label="*"]
-	n140112198279912 -> n140112198279800
-	n140112198279632 [label="/"]
-	n140112198279912 -> n140112198279632
-	n140112198279576 [label=PropertyAccess]
-	n140112198586440 [label=force]
-	n140112198279576 -> n140112198586440
-	n140112198161912 [label="Iter(0)"]
-	n140112198279576 -> n140112198161912
-	n140112198281704 [label="*"]
-	n140112198279576 -> n140112198281704
-	n140112198316272 [label="+"]
-	n140112198279576 -> n140112198316272
-	n140112198317840 [label="+"]
-	n140112198279576 -> n140112198317840
-	n140112198586440 [label=force]
-	n140112198280248 [label="*"]
-	n140112198162976 [label="-"]
-	n140112198280248 -> n140112198162976
-	n140112198280304 [label=48.0]
-	n140112198280248 -> n140112198280304
-	n140112198280304 [label=48.0]
-	n140112198280416 [label="*"]
-	n140112198162976 [label="-"]
-	n140112198280416 -> n140112198162976
-	n140112197071032 [label="*"]
-	n140112198280416 -> n140112197071032
-	n140112197071032 [label="*"]
-	n140112198280304 [label=48.0]
-	n140112197071032 -> n140112198280304
-	n140112198279912 [label="*"]
-	n140112197071032 -> n140112198279912
-	n140112198280528 [label="-"]
-	n140112198279912 [label="*"]
-	n140112198280528 -> n140112198279912
-	n140112198280584 [label=0.5]
-	n140112198280528 -> n140112198280584
-	n140112198280584 [label=0.5]
-	n140112198280696 [label="*"]
-	n140112198162976 [label="-"]
-	n140112198280696 -> n140112198162976
-	n140112197071144 [label="*"]
-	n140112198280696 -> n140112197071144
-	n140112197071144 [label="*"]
-	n140112197071032 [label="*"]
-	n140112197071144 -> n140112197071032
-	n140112198280528 [label="-"]
-	n140112197071144 -> n140112198280528
-	n140112198280808 [label="*"]
-	n140112198162976 [label="-"]
-	n140112198280808 -> n140112198162976
-	n140112197071256 [label="*"]
-	n140112198280808 -> n140112197071256
-	n140112197071256 [label="*"]
-	n140112197071144 [label="*"]
-	n140112197071256 -> n140112197071144
-	n140112198279632 [label="/"]
-	n140112197071256 -> n140112198279632
-	n140112198280920 [label="*"]
-	n140112198162976 [label="-"]
-	n140112198280920 -> n140112198162976
-	n140112197071256 [label="*"]
-	n140112198280920 -> n140112197071256
-	n140112198281088 [label="+"]
-	n140112198279576 [label=PropertyAccess]
-	n140112198281088 -> n140112198279576
-	n140112198280920 [label="*"]
-	n140112198281088 -> n140112198280920
-	n140112198281200 [label=Assign]
-	n140112198282768 [label=VectorAccess]
-	n140112198281200 -> n140112198282768
-	n140112198281648 [label=VectorAccess]
-	n140112198281200 -> n140112198281648
-	n140112198317168 [label=VectorAccess]
-	n140112198281200 -> n140112198317168
-	n140112198283216 [label=VectorAccess]
-	n140112198281200 -> n140112198283216
-	n140112198318736 [label=VectorAccess]
-	n140112198281200 -> n140112198318736
-	n140112198317616 [label=VectorAccess]
-	n140112198281200 -> n140112198317616
-	n140112198282768 [label=VectorAccess]
-	n140112198279576 [label=PropertyAccess]
-	n140112198282768 -> n140112198279576
-	n140112198281648 [label=VectorAccess]
-	n140112198281088 [label="+"]
-	n140112198281648 -> n140112198281088
-	n140112198317168 [label=VectorAccess]
-	n140112198279576 [label=PropertyAccess]
-	n140112198317168 -> n140112198279576
-	n140112198283216 [label=VectorAccess]
-	n140112198281088 [label="+"]
-	n140112198283216 -> n140112198281088
-	n140112198318736 [label=VectorAccess]
-	n140112198279576 [label=PropertyAccess]
-	n140112198318736 -> n140112198279576
-	n140112198317616 [label=VectorAccess]
-	n140112198281088 [label="+"]
-	n140112198317616 -> n140112198281088
-	n140112198162360 [label=0]
-	n140112198162192 [label=ArrayAccess]
-	n140112198589184 [label=numneighs]
-	n140112198162192 -> n140112198589184
-	n140112198161912 [label="Iter(0)"]
-	n140112198162192 -> n140112198161912
-	n140112198589184 [label=numneighs]
-	n140112198161968 [label=0]
-	n140112198162024 [label=0]
-	n140112198279352 [label=KernelBlock]
-	n140112198589688 [label=Block]
-	n140112198279352 -> n140112198589688
-	n140112198589688 [label=Block]
-	n140112198589632 [label=ParticleFor]
-	n140112198589688 -> n140112198589632
-	n140112198589632 [label=ParticleFor]
-	n140112198590304 [label="Iter(2)"]
-	n140112198589632 -> n140112198590304
-	n140112198589856 [label=Block]
-	n140112198589632 -> n140112198589856
-	n140112198589520 [label=0]
-	n140112198589632 -> n140112198589520
-	n140112198589968 [label=0]
-	n140112198589632 -> n140112198589968
-	n140112198590304 [label="Iter(2)"]
-	n140112198589856 [label=Block]
-	n140112198319520 [label=Assign]
-	n140112198589856 -> n140112198319520
-	n140112198356608 [label=Assign]
-	n140112198589856 -> n140112198356608
-	n140112198318792 [label=PropertyAccess]
-	n140112198557648 [label=velocity]
-	n140112198318792 -> n140112198557648
-	n140112198590304 [label="Iter(2)"]
-	n140112198318792 -> n140112198590304
-	n140112198320024 [label="*"]
-	n140112198318792 -> n140112198320024
-	n140112198354592 [label="+"]
-	n140112198318792 -> n140112198354592
-	n140112198355824 [label="+"]
-	n140112198318792 -> n140112198355824
-	n140112198557648 [label=velocity]
-	n140112198320024 [label="*"]
-	n140112198590304 [label="Iter(2)"]
-	n140112198320024 -> n140112198590304
-	n140112198353248 [label=3]
-	n140112198320024 -> n140112198353248
-	n140112198353248 [label=3]
-	n140112198354592 [label="+"]
-	n140112198354088 [label="*"]
-	n140112198354592 -> n140112198354088
-	n140112198354648 [label=1]
-	n140112198354592 -> n140112198354648
-	n140112198354088 [label="*"]
-	n140112198590304 [label="Iter(2)"]
-	n140112198354088 -> n140112198590304
-	n140112198354480 [label=3]
-	n140112198354088 -> n140112198354480
-	n140112198354480 [label=3]
-	n140112198354648 [label=1]
-	n140112198355824 [label="+"]
-	n140112198355320 [label="*"]
-	n140112198355824 -> n140112198355320
-	n140112198355880 [label=2]
-	n140112198355824 -> n140112198355880
-	n140112198355320 [label="*"]
-	n140112198590304 [label="Iter(2)"]
-	n140112198355320 -> n140112198590304
-	n140112198355712 [label=3]
-	n140112198355320 -> n140112198355712
-	n140112198355712 [label=3]
-	n140112198355880 [label=2]
-	n140112198318904 [label=PropertyAccess]
-	n140112198586440 [label=force]
-	n140112198318904 -> n140112198586440
-	n140112198590304 [label="Iter(2)"]
-	n140112198318904 -> n140112198590304
-	n140112198320080 [label="*"]
-	n140112198318904 -> n140112198320080
-	n140112198354312 [label="+"]
-	n140112198318904 -> n140112198354312
-	n140112198355544 [label="+"]
-	n140112198318904 -> n140112198355544
-	n140112198320080 [label="*"]
-	n140112198590304 [label="Iter(2)"]
-	n140112198320080 -> n140112198590304
-	n140112198352968 [label=3]
-	n140112198320080 -> n140112198352968
-	n140112198352968 [label=3]
-	n140112198354312 [label="+"]
-	n140112198354144 [label="*"]
-	n140112198354312 -> n140112198354144
-	n140112198354368 [label=1]
-	n140112198354312 -> n140112198354368
-	n140112198354144 [label="*"]
-	n140112198590304 [label="Iter(2)"]
-	n140112198354144 -> n140112198590304
-	n140112198354200 [label=3]
-	n140112198354144 -> n140112198354200
-	n140112198354200 [label=3]
-	n140112198354368 [label=1]
-	n140112198355544 [label="+"]
-	n140112198355376 [label="*"]
-	n140112198355544 -> n140112198355376
-	n140112198355600 [label=2]
-	n140112198355544 -> n140112198355600
-	n140112198355376 [label="*"]
-	n140112198590304 [label="Iter(2)"]
-	n140112198355376 -> n140112198590304
-	n140112198355432 [label=3]
-	n140112198355376 -> n140112198355432
-	n140112198355432 [label=3]
-	n140112198355600 [label=2]
-	n140112198319016 [label="*"]
-	n140112198319072 [label=0.005]
-	n140112198319016 -> n140112198319072
-	n140112198318904 [label=PropertyAccess]
-	n140112198319016 -> n140112198318904
-	n140112198319072 [label=0.005]
-	n140112198319184 [label=PropertyAccess]
-	n140112198557536 [label=mass]
-	n140112198319184 -> n140112198557536
-	n140112198590304 [label="Iter(2)"]
-	n140112198319184 -> n140112198590304
-	n140112198557536 [label=mass]
-	n140112198319296 [label="/"]
-	n140112198319016 [label="*"]
-	n140112198319296 -> n140112198319016
-	n140112198319184 [label=PropertyAccess]
-	n140112198319296 -> n140112198319184
-	n140112198319408 [label="+"]
-	n140112198318792 [label=PropertyAccess]
-	n140112198319408 -> n140112198318792
-	n140112198319296 [label="/"]
-	n140112198319408 -> n140112198319296
-	n140112198319632 [label="*"]
-	n140112198590304 [label="Iter(2)"]
-	n140112198319632 -> n140112198590304
-	n140112198319688 [label=3]
-	n140112198319632 -> n140112198319688
-	n140112198319688 [label=3]
-	n140112198353696 [label="*"]
-	n140112198590304 [label="Iter(2)"]
-	n140112198353696 -> n140112198590304
-	n140112198353752 [label=3]
-	n140112198353696 -> n140112198353752
-	n140112198353752 [label=3]
-	n140112198353864 [label="+"]
-	n140112198353696 [label="*"]
-	n140112198353864 -> n140112198353696
-	n140112198353920 [label=1]
-	n140112198353864 -> n140112198353920
-	n140112198353920 [label=1]
-	n140112198354928 [label="*"]
-	n140112198590304 [label="Iter(2)"]
-	n140112198354928 -> n140112198590304
-	n140112198354984 [label=3]
-	n140112198354928 -> n140112198354984
-	n140112198354984 [label=3]
-	n140112198355096 [label="+"]
-	n140112198354928 [label="*"]
-	n140112198355096 -> n140112198354928
-	n140112198355152 [label=2]
-	n140112198355096 -> n140112198355152
-	n140112198355152 [label=2]
-	n140112198319520 [label=Assign]
-	n140112198353584 [label=VectorAccess]
-	n140112198319520 -> n140112198353584
-	n140112198319968 [label=VectorAccess]
-	n140112198319520 -> n140112198319968
-	n140112198354816 [label=VectorAccess]
-	n140112198319520 -> n140112198354816
-	n140112198354032 [label=VectorAccess]
-	n140112198319520 -> n140112198354032
-	n140112198356048 [label=VectorAccess]
-	n140112198319520 -> n140112198356048
-	n140112198355264 [label=VectorAccess]
-	n140112198319520 -> n140112198355264
-	n140112198353584 [label=VectorAccess]
-	n140112198318792 [label=PropertyAccess]
-	n140112198353584 -> n140112198318792
-	n140112198319968 [label=VectorAccess]
-	n140112198319408 [label="+"]
-	n140112198319968 -> n140112198319408
-	n140112198354816 [label=VectorAccess]
-	n140112198318792 [label=PropertyAccess]
-	n140112198354816 -> n140112198318792
-	n140112198354032 [label=VectorAccess]
-	n140112198319408 [label="+"]
-	n140112198354032 -> n140112198319408
-	n140112198356048 [label=VectorAccess]
-	n140112198318792 [label=PropertyAccess]
-	n140112198356048 -> n140112198318792
-	n140112198355264 [label=VectorAccess]
-	n140112198319408 [label="+"]
-	n140112198355264 -> n140112198319408
-	n140112198356104 [label=PropertyAccess]
-	n140112198557592 [label=position]
-	n140112198356104 -> n140112198557592
-	n140112198590304 [label="Iter(2)"]
-	n140112198356104 -> n140112198590304
-	n140112197861896 [label="*"]
-	n140112198356104 -> n140112197861896
-	n140112197863296 [label="+"]
-	n140112198356104 -> n140112197863296
-	n140112197864528 [label="+"]
-	n140112198356104 -> n140112197864528
-	n140112197861896 [label="*"]
-	n140112198590304 [label="Iter(2)"]
-	n140112197861896 -> n140112198590304
-	n140112197861952 [label=3]
-	n140112197861896 -> n140112197861952
-	n140112197861952 [label=3]
-	n140112197863296 [label="+"]
-	n140112197863128 [label="*"]
-	n140112197863296 -> n140112197863128
-	n140112197863352 [label=1]
-	n140112197863296 -> n140112197863352
-	n140112197863128 [label="*"]
-	n140112198590304 [label="Iter(2)"]
-	n140112197863128 -> n140112198590304
-	n140112197863184 [label=3]
-	n140112197863128 -> n140112197863184
-	n140112197863184 [label=3]
-	n140112197863352 [label=1]
-	n140112197864528 [label="+"]
-	n140112197864360 [label="*"]
-	n140112197864528 -> n140112197864360
-	n140112197864584 [label=2]
-	n140112197864528 -> n140112197864584
-	n140112197864360 [label="*"]
-	n140112198590304 [label="Iter(2)"]
-	n140112197864360 -> n140112198590304
-	n140112197864416 [label=3]
-	n140112197864360 -> n140112197864416
-	n140112197864416 [label=3]
-	n140112197864584 [label=2]
-	n140112198356216 [label=PropertyAccess]
-	n140112198557648 [label=velocity]
-	n140112198356216 -> n140112198557648
-	n140112198590304 [label="Iter(2)"]
-	n140112198356216 -> n140112198590304
-	n140112197861560 [label="*"]
-	n140112198356216 -> n140112197861560
-	n140112197862960 [label="+"]
-	n140112198356216 -> n140112197862960
-	n140112197864192 [label="+"]
-	n140112198356216 -> n140112197864192
-	n140112197861560 [label="*"]
-	n140112198590304 [label="Iter(2)"]
-	n140112197861560 -> n140112198590304
-	n140112197861616 [label=3]
-	n140112197861560 -> n140112197861616
-	n140112197861616 [label=3]
-	n140112197862960 [label="+"]
-	n140112197862792 [label="*"]
-	n140112197862960 -> n140112197862792
-	n140112197863016 [label=1]
-	n140112197862960 -> n140112197863016
-	n140112197862792 [label="*"]
-	n140112198590304 [label="Iter(2)"]
-	n140112197862792 -> n140112198590304
-	n140112197862848 [label=3]
-	n140112197862792 -> n140112197862848
-	n140112197862848 [label=3]
-	n140112197863016 [label=1]
-	n140112197864192 [label="+"]
-	n140112197864024 [label="*"]
-	n140112197864192 -> n140112197864024
-	n140112197864248 [label=2]
-	n140112197864192 -> n140112197864248
-	n140112197864024 [label="*"]
-	n140112198590304 [label="Iter(2)"]
-	n140112197864024 -> n140112198590304
-	n140112197864080 [label=3]
-	n140112197864024 -> n140112197864080
-	n140112197864080 [label=3]
-	n140112197864248 [label=2]
-	n140112198356328 [label="*"]
-	n140112198356384 [label=0.005]
-	n140112198356328 -> n140112198356384
-	n140112198356216 [label=PropertyAccess]
-	n140112198356328 -> n140112198356216
-	n140112198356384 [label=0.005]
-	n140112198356496 [label="+"]
-	n140112198356104 [label=PropertyAccess]
-	n140112198356496 -> n140112198356104
-	n140112198356328 [label="*"]
-	n140112198356496 -> n140112198356328
-	n140112198356720 [label="*"]
-	n140112198590304 [label="Iter(2)"]
-	n140112198356720 -> n140112198590304
-	n140112198356776 [label=3]
-	n140112198356720 -> n140112198356776
-	n140112198356776 [label=3]
-	n140112197862400 [label="*"]
-	n140112198590304 [label="Iter(2)"]
-	n140112197862400 -> n140112198590304
-	n140112197862456 [label=3]
-	n140112197862400 -> n140112197862456
-	n140112197862456 [label=3]
-	n140112197862568 [label="+"]
-	n140112197862400 [label="*"]
-	n140112197862568 -> n140112197862400
-	n140112197862624 [label=1]
-	n140112197862568 -> n140112197862624
-	n140112197862624 [label=1]
-	n140112197863632 [label="*"]
-	n140112198590304 [label="Iter(2)"]
-	n140112197863632 -> n140112198590304
-	n140112197863688 [label=3]
-	n140112197863632 -> n140112197863688
-	n140112197863688 [label=3]
-	n140112197863800 [label="+"]
-	n140112197863632 [label="*"]
-	n140112197863800 -> n140112197863632
-	n140112197863856 [label=2]
-	n140112197863800 -> n140112197863856
-	n140112197863856 [label=2]
-	n140112198356608 [label=Assign]
-	n140112197862288 [label=VectorAccess]
-	n140112198356608 -> n140112197862288
-	n140112197861504 [label=VectorAccess]
-	n140112198356608 -> n140112197861504
-	n140112197863520 [label=VectorAccess]
-	n140112198356608 -> n140112197863520
-	n140112197862736 [label=VectorAccess]
-	n140112198356608 -> n140112197862736
-	n140112197864752 [label=VectorAccess]
-	n140112198356608 -> n140112197864752
-	n140112197863968 [label=VectorAccess]
-	n140112198356608 -> n140112197863968
-	n140112197862288 [label=VectorAccess]
-	n140112198356104 [label=PropertyAccess]
-	n140112197862288 -> n140112198356104
-	n140112197861504 [label=VectorAccess]
-	n140112198356496 [label="+"]
-	n140112197861504 -> n140112198356496
-	n140112197863520 [label=VectorAccess]
-	n140112198356104 [label=PropertyAccess]
-	n140112197863520 -> n140112198356104
-	n140112197862736 [label=VectorAccess]
-	n140112198356496 [label="+"]
-	n140112197862736 -> n140112198356496
-	n140112197864752 [label=VectorAccess]
-	n140112198356104 [label=PropertyAccess]
-	n140112197864752 -> n140112198356104
-	n140112197863968 [label=VectorAccess]
-	n140112198356496 [label="+"]
-	n140112197863968 -> n140112198356496
-	n140112198589520 [label=0]
-	n140112198589968 [label=0]
+	n140589003589112 [label=Block]
+	n140589003139560 [label=KernelBlock]
+	n140589003589112 -> n140589003139560
+	n140589003139616 [label=KernelBlock]
+	n140589003589112 -> n140589003139616
+	n140589003139560 [label=KernelBlock]
+	n140589003139168 [label=Block]
+	n140589003139560 -> n140589003139168
+	n140589003139168 [label=Block]
+	n140589002480104 [label=ParticleFor]
+	n140589003139168 -> n140589002480104
+	n140589002480104 [label=ParticleFor]
+	n140589002480160 [label="Iter(14)"]
+	n140589002480104 -> n140589002480160
+	n140589002480328 [label=Block]
+	n140589002480104 -> n140589002480328
+	n140589002480216 [label=0]
+	n140589002480104 -> n140589002480216
+	n140589002480272 [label=0]
+	n140589002480104 -> n140589002480272
+	n140589002480160 [label="Iter(14)"]
+	n140589002480328 [label=Block]
+	n140589002480496 [label=For]
+	n140589002480328 -> n140589002480496
+	n140589002480776 [label="*"]
+	n140589002480160 [label="Iter(14)"]
+	n140589002480776 -> n140589002480160
+	n140589003590792 [label=neighborlist_capacity]
+	n140589002480776 -> n140589003590792
+	n140589003590792 [label=neighborlist_capacity]
+	n140589002481000 [label=PropertyAccess]
+	n140589003589280 [label=position]
+	n140589002481000 -> n140589003589280
+	n140589002480160 [label="Iter(14)"]
+	n140589002481000 -> n140589002480160
+	n140589002519104 [label="*"]
+	n140589002481000 -> n140589002519104
+	n140589002520952 [label="+"]
+	n140589002481000 -> n140589002520952
+	n140589002547384 [label="+"]
+	n140589002481000 -> n140589002547384
+	n140589003589280 [label=position]
+	n140589002519104 [label="*"]
+	n140589002480160 [label="Iter(14)"]
+	n140589002519104 -> n140589002480160
+	n140589002519160 [label=3]
+	n140589002519104 -> n140589002519160
+	n140589002519160 [label=3]
+	n140589002520952 [label="+"]
+	n140589002520784 [label="*"]
+	n140589002520952 -> n140589002520784
+	n140589002521008 [label=1]
+	n140589002520952 -> n140589002521008
+	n140589002520784 [label="*"]
+	n140589002480160 [label="Iter(14)"]
+	n140589002520784 -> n140589002480160
+	n140589002520840 [label=3]
+	n140589002520784 -> n140589002520840
+	n140589002520840 [label=3]
+	n140589002521008 [label=1]
+	n140589002547384 [label="+"]
+	n140589002522576 [label="*"]
+	n140589002547384 -> n140589002522576
+	n140589002547440 [label=2]
+	n140589002547384 -> n140589002547440
+	n140589002522576 [label="*"]
+	n140589002480160 [label="Iter(14)"]
+	n140589002522576 -> n140589002480160
+	n140589002547272 [label=3]
+	n140589002522576 -> n140589002547272
+	n140589002547272 [label=3]
+	n140589002547440 [label=2]
+	n140589002481392 [label="*"]
+	n140589002480160 [label="Iter(14)"]
+	n140589002481392 -> n140589002480160
+	n140589002481448 [label=3]
+	n140589002481392 -> n140589002481448
+	n140589002481448 [label=3]
+	n140589002520000 [label="*"]
+	n140589002480160 [label="Iter(14)"]
+	n140589002520000 -> n140589002480160
+	n140589002520056 [label=3]
+	n140589002520000 -> n140589002520056
+	n140589002520056 [label=3]
+	n140589002520168 [label="+"]
+	n140589002520000 [label="*"]
+	n140589002520168 -> n140589002520000
+	n140589002520224 [label=1]
+	n140589002520168 -> n140589002520224
+	n140589002520224 [label=1]
+	n140589002521792 [label="*"]
+	n140589002480160 [label="Iter(14)"]
+	n140589002521792 -> n140589002480160
+	n140589002521848 [label=3]
+	n140589002521792 -> n140589002521848
+	n140589002521848 [label=3]
+	n140589002521960 [label="+"]
+	n140589002521792 [label="*"]
+	n140589002521960 -> n140589002521792
+	n140589002522016 [label=2]
+	n140589002521960 -> n140589002522016
+	n140589002522016 [label=2]
+	n140589003272432 [label="*"]
+	n140589002480160 [label="Iter(14)"]
+	n140589003272432 -> n140589002480160
+	n140589003272488 [label=3]
+	n140589003272432 -> n140589003272488
+	n140589003272488 [label=3]
+	n140589003272824 [label="*"]
+	n140589002480160 [label="Iter(14)"]
+	n140589003272824 -> n140589002480160
+	n140589003272880 [label=3]
+	n140589003272824 -> n140589003272880
+	n140589003272880 [label=3]
+	n140589003273328 [label="*"]
+	n140589002480160 [label="Iter(14)"]
+	n140589003273328 -> n140589002480160
+	n140589003273384 [label=3]
+	n140589003273328 -> n140589003273384
+	n140589003273384 [label=3]
+	n140589003273496 [label="+"]
+	n140589003273328 [label="*"]
+	n140589003273496 -> n140589003273328
+	n140589003273552 [label=1]
+	n140589003273496 -> n140589003273552
+	n140589003273552 [label=1]
+	n140589003273720 [label="*"]
+	n140589002480160 [label="Iter(14)"]
+	n140589003273720 -> n140589002480160
+	n140589003273776 [label=3]
+	n140589003273720 -> n140589003273776
+	n140589003273776 [label=3]
+	n140589003273888 [label="+"]
+	n140589003273720 [label="*"]
+	n140589003273888 -> n140589003273720
+	n140589003273944 [label=1]
+	n140589003273888 -> n140589003273944
+	n140589003273944 [label=1]
+	n140589003274224 [label="*"]
+	n140589002480160 [label="Iter(14)"]
+	n140589003274224 -> n140589002480160
+	n140589003274280 [label=3]
+	n140589003274224 -> n140589003274280
+	n140589003274280 [label=3]
+	n140589003274392 [label="+"]
+	n140589003274224 [label="*"]
+	n140589003274392 -> n140589003274224
+	n140589003274448 [label=2]
+	n140589003274392 -> n140589003274448
+	n140589003274448 [label=2]
+	n140589003274616 [label="*"]
+	n140589002480160 [label="Iter(14)"]
+	n140589003274616 -> n140589002480160
+	n140589003274672 [label=3]
+	n140589003274616 -> n140589003274672
+	n140589003274672 [label=3]
+	n140589003274784 [label="+"]
+	n140589003274616 [label="*"]
+	n140589003274784 -> n140589003274616
+	n140589003274840 [label=2]
+	n140589003274784 -> n140589003274840
+	n140589003274840 [label=2]
+	n140589002480496 [label=For]
+	n140589002480552 [label="Iter(15)"]
+	n140589002480496 -> n140589002480552
+	n140589002480664 [label=Block]
+	n140589002480496 -> n140589002480664
+	n140589002480608 [label=0]
+	n140589002480496 -> n140589002480608
+	n140589002480440 [label=ArrayAccess]
+	n140589002480496 -> n140589002480440
+	n140589002480552 [label="Iter(15)"]
+	n140589002480664 [label=Block]
+	n140589002548336 [label=Filter]
+	n140589002480664 -> n140589002548336
+	n140589002480888 [label="+"]
+	n140589002480776 [label="*"]
+	n140589002480888 -> n140589002480776
+	n140589002480552 [label="Iter(15)"]
+	n140589002480888 -> n140589002480552
+	n140589002481112 [label=PropertyAccess]
+	n140589003589280 [label=position]
+	n140589002481112 -> n140589003589280
+	n140589002480720 [label=ArrayAccess]
+	n140589002481112 -> n140589002480720
+	n140589002519440 [label="*"]
+	n140589002481112 -> n140589002519440
+	n140589002521288 [label="+"]
+	n140589002481112 -> n140589002521288
+	n140589002547720 [label="+"]
+	n140589002481112 -> n140589002547720
+	n140589002480720 [label=ArrayAccess]
+	n140589003590848 [label=neighborlists]
+	n140589002480720 -> n140589003590848
+	n140589002480888 [label="+"]
+	n140589002480720 -> n140589002480888
+	n140589003590848 [label=neighborlists]
+	n140589002519440 [label="*"]
+	n140589002480720 [label=ArrayAccess]
+	n140589002519440 -> n140589002480720
+	n140589002519496 [label=3]
+	n140589002519440 -> n140589002519496
+	n140589002519496 [label=3]
+	n140589002521288 [label="+"]
+	n140589002521120 [label="*"]
+	n140589002521288 -> n140589002521120
+	n140589002521344 [label=1]
+	n140589002521288 -> n140589002521344
+	n140589002521120 [label="*"]
+	n140589002480720 [label=ArrayAccess]
+	n140589002521120 -> n140589002480720
+	n140589002521176 [label=3]
+	n140589002521120 -> n140589002521176
+	n140589002521176 [label=3]
+	n140589002521344 [label=1]
+	n140589002547720 [label="+"]
+	n140589002547552 [label="*"]
+	n140589002547720 -> n140589002547552
+	n140589002547776 [label=2]
+	n140589002547720 -> n140589002547776
+	n140589002547552 [label="*"]
+	n140589002480720 [label=ArrayAccess]
+	n140589002547552 -> n140589002480720
+	n140589002547608 [label=3]
+	n140589002547552 -> n140589002547608
+	n140589002547608 [label=3]
+	n140589002547776 [label=2]
+	n140589002481224 [label="-"]
+	n140589002481000 [label=PropertyAccess]
+	n140589002481224 -> n140589002481000
+	n140589002481112 [label=PropertyAccess]
+	n140589002481224 -> n140589002481112
+	n140589002518656 [label="*"]
+	n140589002480720 [label=ArrayAccess]
+	n140589002518656 -> n140589002480720
+	n140589002518712 [label=3]
+	n140589002518656 -> n140589002518712
+	n140589002518712 [label=3]
+	n140589002519832 [label="*"]
+	n140589002518992 [label=VectorAccess]
+	n140589002519832 -> n140589002518992
+	n140589002519776 [label=VectorAccess]
+	n140589002519832 -> n140589002519776
+	n140589002518992 [label=VectorAccess]
+	n140589002481224 [label="-"]
+	n140589002518992 -> n140589002481224
+	n140589002519776 [label=VectorAccess]
+	n140589002481224 [label="-"]
+	n140589002519776 -> n140589002481224
+	n140589002520336 [label="*"]
+	n140589002480720 [label=ArrayAccess]
+	n140589002520336 -> n140589002480720
+	n140589002520392 [label=3]
+	n140589002520336 -> n140589002520392
+	n140589002520392 [label=3]
+	n140589002520504 [label="+"]
+	n140589002520336 [label="*"]
+	n140589002520504 -> n140589002520336
+	n140589002520560 [label=1]
+	n140589002520504 -> n140589002520560
+	n140589002520560 [label=1]
+	n140589002521512 [label="*"]
+	n140589002520672 [label=VectorAccess]
+	n140589002521512 -> n140589002520672
+	n140589002521456 [label=VectorAccess]
+	n140589002521512 -> n140589002521456
+	n140589002520672 [label=VectorAccess]
+	n140589002481224 [label="-"]
+	n140589002520672 -> n140589002481224
+	n140589002521456 [label=VectorAccess]
+	n140589002481224 [label="-"]
+	n140589002521456 -> n140589002481224
+	n140589002521624 [label="+"]
+	n140589002519832 [label="*"]
+	n140589002521624 -> n140589002519832
+	n140589002521512 [label="*"]
+	n140589002521624 -> n140589002521512
+	n140589002522128 [label="*"]
+	n140589002480720 [label=ArrayAccess]
+	n140589002522128 -> n140589002480720
+	n140589002522184 [label=3]
+	n140589002522128 -> n140589002522184
+	n140589002522184 [label=3]
+	n140589002522296 [label="+"]
+	n140589002522128 [label="*"]
+	n140589002522296 -> n140589002522128
+	n140589002522352 [label=2]
+	n140589002522296 -> n140589002522352
+	n140589002522352 [label=2]
+	n140589002547944 [label="*"]
+	n140589002522464 [label=VectorAccess]
+	n140589002547944 -> n140589002522464
+	n140589002547888 [label=VectorAccess]
+	n140589002547944 -> n140589002547888
+	n140589002522464 [label=VectorAccess]
+	n140589002481224 [label="-"]
+	n140589002522464 -> n140589002481224
+	n140589002547888 [label=VectorAccess]
+	n140589002481224 [label="-"]
+	n140589002547888 -> n140589002481224
+	n140589002548056 [label="+"]
+	n140589002521624 [label="+"]
+	n140589002548056 -> n140589002521624
+	n140589002547944 [label="*"]
+	n140589002548056 -> n140589002547944
+	n140589002548168 [label="<"]
+	n140589002548056 [label="+"]
+	n140589002548168 -> n140589002548056
+	n140589002548224 [label=2.5]
+	n140589002548168 -> n140589002548224
+	n140589002548224 [label=2.5]
+	n140589002548336 [label=Filter]
+	n140589002548168 [label="<"]
+	n140589002548336 -> n140589002548168
+	n140589003139504 [label=Block]
+	n140589002548336 -> n140589003139504
+	n140589003139504 [label=Block]
+	n140589003272320 [label=Assign]
+	n140589003139504 -> n140589003272320
+	n140589003139840 [label="/"]
+	n140589003139896 [label=1.0]
+	n140589003139840 -> n140589003139896
+	n140589002548056 [label="+"]
+	n140589003139840 -> n140589002548056
+	n140589003139896 [label=1.0]
+	n140589003140008 [label="*"]
+	n140589003139840 [label="/"]
+	n140589003140008 -> n140589003139840
+	n140589003139840 [label="/"]
+	n140589003140008 -> n140589003139840
+	n140589003140120 [label="*"]
+	n140589003140008 [label="*"]
+	n140589003140120 -> n140589003140008
+	n140589003139840 [label="/"]
+	n140589003140120 -> n140589003139840
+	n140589003139784 [label=PropertyAccess]
+	n140589003589392 [label=force]
+	n140589003139784 -> n140589003589392
+	n140589002480160 [label="Iter(14)"]
+	n140589003139784 -> n140589002480160
+	n140589003272824 [label="*"]
+	n140589003139784 -> n140589003272824
+	n140589003273888 [label="+"]
+	n140589003139784 -> n140589003273888
+	n140589003274784 [label="+"]
+	n140589003139784 -> n140589003274784
+	n140589003589392 [label=force]
+	n140589003140456 [label="*"]
+	n140589002481224 [label="-"]
+	n140589003140456 -> n140589002481224
+	n140589003140680 [label=48.0]
+	n140589003140456 -> n140589003140680
+	n140589003140680 [label=48.0]
+	n140589003140792 [label="*"]
+	n140589002481224 [label="-"]
+	n140589003140792 -> n140589002481224
+	n140589002859408 [label="*"]
+	n140589003140792 -> n140589002859408
+	n140589002859408 [label="*"]
+	n140589003140680 [label=48.0]
+	n140589002859408 -> n140589003140680
+	n140589003140120 [label="*"]
+	n140589002859408 -> n140589003140120
+	n140589003140904 [label="-"]
+	n140589003140120 [label="*"]
+	n140589003140904 -> n140589003140120
+	n140589003140960 [label=0.5]
+	n140589003140904 -> n140589003140960
+	n140589003140960 [label=0.5]
+	n140589003589000 [label="*"]
+	n140589002481224 [label="-"]
+	n140589003589000 -> n140589002481224
+	n140589002963264 [label="*"]
+	n140589003589000 -> n140589002963264
+	n140589002963264 [label="*"]
+	n140589002859408 [label="*"]
+	n140589002963264 -> n140589002859408
+	n140589003140904 [label="-"]
+	n140589002963264 -> n140589003140904
+	n140589003591520 [label="*"]
+	n140589002481224 [label="-"]
+	n140589003591520 -> n140589002481224
+	n140589002548952 [label="*"]
+	n140589003591520 -> n140589002548952
+	n140589002548952 [label="*"]
+	n140589002963264 [label="*"]
+	n140589002548952 -> n140589002963264
+	n140589003139840 [label="/"]
+	n140589002548952 -> n140589003139840
+	n140589003591576 [label="*"]
+	n140589002481224 [label="-"]
+	n140589003591576 -> n140589002481224
+	n140589002548952 [label="*"]
+	n140589003591576 -> n140589002548952
+	n140589003591352 [label="+"]
+	n140589003139784 [label=PropertyAccess]
+	n140589003591352 -> n140589003139784
+	n140589003591576 [label="*"]
+	n140589003591352 -> n140589003591576
+	n140589003272320 [label=Assign]
+	n140589003273216 [label=VectorAccess]
+	n140589003272320 -> n140589003273216
+	n140589003272768 [label=VectorAccess]
+	n140589003272320 -> n140589003272768
+	n140589003274112 [label=VectorAccess]
+	n140589003272320 -> n140589003274112
+	n140589003273664 [label=VectorAccess]
+	n140589003272320 -> n140589003273664
+	n140589003275008 [label=VectorAccess]
+	n140589003272320 -> n140589003275008
+	n140589003274560 [label=VectorAccess]
+	n140589003272320 -> n140589003274560
+	n140589003273216 [label=VectorAccess]
+	n140589003139784 [label=PropertyAccess]
+	n140589003273216 -> n140589003139784
+	n140589003272768 [label=VectorAccess]
+	n140589003591352 [label="+"]
+	n140589003272768 -> n140589003591352
+	n140589003274112 [label=VectorAccess]
+	n140589003139784 [label=PropertyAccess]
+	n140589003274112 -> n140589003139784
+	n140589003273664 [label=VectorAccess]
+	n140589003591352 [label="+"]
+	n140589003273664 -> n140589003591352
+	n140589003275008 [label=VectorAccess]
+	n140589003139784 [label=PropertyAccess]
+	n140589003275008 -> n140589003139784
+	n140589003274560 [label=VectorAccess]
+	n140589003591352 [label="+"]
+	n140589003274560 -> n140589003591352
+	n140589002480608 [label=0]
+	n140589002480440 [label=ArrayAccess]
+	n140589003590904 [label=numneighs]
+	n140589002480440 -> n140589003590904
+	n140589002480160 [label="Iter(14)"]
+	n140589002480440 -> n140589002480160
+	n140589003590904 [label=numneighs]
+	n140589002480216 [label=0]
+	n140589002480272 [label=0]
+	n140589003139616 [label=KernelBlock]
+	n140589003138160 [label=Block]
+	n140589003139616 -> n140589003138160
+	n140589003138160 [label=Block]
+	n140589003138216 [label=ParticleFor]
+	n140589003138160 -> n140589003138216
+	n140589003138216 [label=ParticleFor]
+	n140589003138104 [label="Iter(0)"]
+	n140589003138216 -> n140589003138104
+	n140589003137096 [label=Block]
+	n140589003138216 -> n140589003137096
+	n140589003140624 [label=0]
+	n140589003138216 -> n140589003140624
+	n140589003137152 [label=0]
+	n140589003138216 -> n140589003137152
+	n140589003138104 [label="Iter(0)"]
+	n140589003137096 [label=Block]
+	n140589003275848 [label=Assign]
+	n140589003137096 -> n140589003275848
+	n140589003321128 [label=Assign]
+	n140589003137096 -> n140589003321128
+	n140589003275120 [label=PropertyAccess]
+	n140589003589336 [label=velocity]
+	n140589003275120 -> n140589003589336
+	n140589003138104 [label="Iter(0)"]
+	n140589003275120 -> n140589003138104
+	n140589003317376 [label="*"]
+	n140589003275120 -> n140589003317376
+	n140589003319112 [label="+"]
+	n140589003275120 -> n140589003319112
+	n140589003320344 [label="+"]
+	n140589003275120 -> n140589003320344
+	n140589003589336 [label=velocity]
+	n140589003317376 [label="*"]
+	n140589003138104 [label="Iter(0)"]
+	n140589003317376 -> n140589003138104
+	n140589003317768 [label=3]
+	n140589003317376 -> n140589003317768
+	n140589003317768 [label=3]
+	n140589003319112 [label="+"]
+	n140589003318608 [label="*"]
+	n140589003319112 -> n140589003318608
+	n140589003319168 [label=1]
+	n140589003319112 -> n140589003319168
+	n140589003318608 [label="*"]
+	n140589003138104 [label="Iter(0)"]
+	n140589003318608 -> n140589003138104
+	n140589003319000 [label=3]
+	n140589003318608 -> n140589003319000
+	n140589003319000 [label=3]
+	n140589003319168 [label=1]
+	n140589003320344 [label="+"]
+	n140589003319840 [label="*"]
+	n140589003320344 -> n140589003319840
+	n140589003320400 [label=2]
+	n140589003320344 -> n140589003320400
+	n140589003319840 [label="*"]
+	n140589003138104 [label="Iter(0)"]
+	n140589003319840 -> n140589003138104
+	n140589003320232 [label=3]
+	n140589003319840 -> n140589003320232
+	n140589003320232 [label=3]
+	n140589003320400 [label=2]
+	n140589003275232 [label=PropertyAccess]
+	n140589003589392 [label=force]
+	n140589003275232 -> n140589003589392
+	n140589003138104 [label="Iter(0)"]
+	n140589003275232 -> n140589003138104
+	n140589003317432 [label="*"]
+	n140589003275232 -> n140589003317432
+	n140589003318832 [label="+"]
+	n140589003275232 -> n140589003318832
+	n140589003320064 [label="+"]
+	n140589003275232 -> n140589003320064
+	n140589003317432 [label="*"]
+	n140589003138104 [label="Iter(0)"]
+	n140589003317432 -> n140589003138104
+	n140589003317488 [label=3]
+	n140589003317432 -> n140589003317488
+	n140589003317488 [label=3]
+	n140589003318832 [label="+"]
+	n140589003318664 [label="*"]
+	n140589003318832 -> n140589003318664
+	n140589003318888 [label=1]
+	n140589003318832 -> n140589003318888
+	n140589003318664 [label="*"]
+	n140589003138104 [label="Iter(0)"]
+	n140589003318664 -> n140589003138104
+	n140589003318720 [label=3]
+	n140589003318664 -> n140589003318720
+	n140589003318720 [label=3]
+	n140589003318888 [label=1]
+	n140589003320064 [label="+"]
+	n140589003319896 [label="*"]
+	n140589003320064 -> n140589003319896
+	n140589003320120 [label=2]
+	n140589003320064 -> n140589003320120
+	n140589003319896 [label="*"]
+	n140589003138104 [label="Iter(0)"]
+	n140589003319896 -> n140589003138104
+	n140589003319952 [label=3]
+	n140589003319896 -> n140589003319952
+	n140589003319952 [label=3]
+	n140589003320120 [label=2]
+	n140589003275344 [label="*"]
+	n140589003275400 [label=0.005]
+	n140589003275344 -> n140589003275400
+	n140589003275232 [label=PropertyAccess]
+	n140589003275344 -> n140589003275232
+	n140589003275400 [label=0.005]
+	n140589003275512 [label=PropertyAccess]
+	n140589003589224 [label=mass]
+	n140589003275512 -> n140589003589224
+	n140589003138104 [label="Iter(0)"]
+	n140589003275512 -> n140589003138104
+	n140589003589224 [label=mass]
+	n140589003275624 [label="/"]
+	n140589003275344 [label="*"]
+	n140589003275624 -> n140589003275344
+	n140589003275512 [label=PropertyAccess]
+	n140589003275624 -> n140589003275512
+	n140589003275736 [label="+"]
+	n140589003275120 [label=PropertyAccess]
+	n140589003275736 -> n140589003275120
+	n140589003275624 [label="/"]
+	n140589003275736 -> n140589003275624
+	n140589003275960 [label="*"]
+	n140589003138104 [label="Iter(0)"]
+	n140589003275960 -> n140589003138104
+	n140589003276016 [label=3]
+	n140589003275960 -> n140589003276016
+	n140589003276016 [label=3]
+	n140589003318216 [label="*"]
+	n140589003138104 [label="Iter(0)"]
+	n140589003318216 -> n140589003138104
+	n140589003318272 [label=3]
+	n140589003318216 -> n140589003318272
+	n140589003318272 [label=3]
+	n140589003318384 [label="+"]
+	n140589003318216 [label="*"]
+	n140589003318384 -> n140589003318216
+	n140589003318440 [label=1]
+	n140589003318384 -> n140589003318440
+	n140589003318440 [label=1]
+	n140589003319448 [label="*"]
+	n140589003138104 [label="Iter(0)"]
+	n140589003319448 -> n140589003138104
+	n140589003319504 [label=3]
+	n140589003319448 -> n140589003319504
+	n140589003319504 [label=3]
+	n140589003319616 [label="+"]
+	n140589003319448 [label="*"]
+	n140589003319616 -> n140589003319448
+	n140589003319672 [label=2]
+	n140589003319616 -> n140589003319672
+	n140589003319672 [label=2]
+	n140589003275848 [label=Assign]
+	n140589003318104 [label=VectorAccess]
+	n140589003275848 -> n140589003318104
+	n140589003317320 [label=VectorAccess]
+	n140589003275848 -> n140589003317320
+	n140589003319336 [label=VectorAccess]
+	n140589003275848 -> n140589003319336
+	n140589003318552 [label=VectorAccess]
+	n140589003275848 -> n140589003318552
+	n140589003320568 [label=VectorAccess]
+	n140589003275848 -> n140589003320568
+	n140589003319784 [label=VectorAccess]
+	n140589003275848 -> n140589003319784
+	n140589003318104 [label=VectorAccess]
+	n140589003275120 [label=PropertyAccess]
+	n140589003318104 -> n140589003275120
+	n140589003317320 [label=VectorAccess]
+	n140589003275736 [label="+"]
+	n140589003317320 -> n140589003275736
+	n140589003319336 [label=VectorAccess]
+	n140589003275120 [label=PropertyAccess]
+	n140589003319336 -> n140589003275120
+	n140589003318552 [label=VectorAccess]
+	n140589003275736 [label="+"]
+	n140589003318552 -> n140589003275736
+	n140589003320568 [label=VectorAccess]
+	n140589003275120 [label=PropertyAccess]
+	n140589003320568 -> n140589003275120
+	n140589003319784 [label=VectorAccess]
+	n140589003275736 [label="+"]
+	n140589003319784 -> n140589003275736
+	n140589003320624 [label=PropertyAccess]
+	n140589003589280 [label=position]
+	n140589003320624 -> n140589003589280
+	n140589003138104 [label="Iter(0)"]
+	n140589003320624 -> n140589003138104
+	n140589003354800 [label="*"]
+	n140589003320624 -> n140589003354800
+	n140589003356200 [label="+"]
+	n140589003320624 -> n140589003356200
+	n140589003357432 [label="+"]
+	n140589003320624 -> n140589003357432
+	n140589003354800 [label="*"]
+	n140589003138104 [label="Iter(0)"]
+	n140589003354800 -> n140589003138104
+	n140589003354856 [label=3]
+	n140589003354800 -> n140589003354856
+	n140589003354856 [label=3]
+	n140589003356200 [label="+"]
+	n140589003356032 [label="*"]
+	n140589003356200 -> n140589003356032
+	n140589003356256 [label=1]
+	n140589003356200 -> n140589003356256
+	n140589003356032 [label="*"]
+	n140589003138104 [label="Iter(0)"]
+	n140589003356032 -> n140589003138104
+	n140589003356088 [label=3]
+	n140589003356032 -> n140589003356088
+	n140589003356088 [label=3]
+	n140589003356256 [label=1]
+	n140589003357432 [label="+"]
+	n140589003357264 [label="*"]
+	n140589003357432 -> n140589003357264
+	n140589003357488 [label=2]
+	n140589003357432 -> n140589003357488
+	n140589003357264 [label="*"]
+	n140589003138104 [label="Iter(0)"]
+	n140589003357264 -> n140589003138104
+	n140589003357320 [label=3]
+	n140589003357264 -> n140589003357320
+	n140589003357320 [label=3]
+	n140589003357488 [label=2]
+	n140589003320736 [label=PropertyAccess]
+	n140589003589336 [label=velocity]
+	n140589003320736 -> n140589003589336
+	n140589003138104 [label="Iter(0)"]
+	n140589003320736 -> n140589003138104
+	n140589003354464 [label="*"]
+	n140589003320736 -> n140589003354464
+	n140589003355864 [label="+"]
+	n140589003320736 -> n140589003355864
+	n140589003357096 [label="+"]
+	n140589003320736 -> n140589003357096
+	n140589003354464 [label="*"]
+	n140589003138104 [label="Iter(0)"]
+	n140589003354464 -> n140589003138104
+	n140589003354520 [label=3]
+	n140589003354464 -> n140589003354520
+	n140589003354520 [label=3]
+	n140589003355864 [label="+"]
+	n140589003355696 [label="*"]
+	n140589003355864 -> n140589003355696
+	n140589003355920 [label=1]
+	n140589003355864 -> n140589003355920
+	n140589003355696 [label="*"]
+	n140589003138104 [label="Iter(0)"]
+	n140589003355696 -> n140589003138104
+	n140589003355752 [label=3]
+	n140589003355696 -> n140589003355752
+	n140589003355752 [label=3]
+	n140589003355920 [label=1]
+	n140589003357096 [label="+"]
+	n140589003356928 [label="*"]
+	n140589003357096 -> n140589003356928
+	n140589003357152 [label=2]
+	n140589003357096 -> n140589003357152
+	n140589003356928 [label="*"]
+	n140589003138104 [label="Iter(0)"]
+	n140589003356928 -> n140589003138104
+	n140589003356984 [label=3]
+	n140589003356928 -> n140589003356984
+	n140589003356984 [label=3]
+	n140589003357152 [label=2]
+	n140589003320848 [label="*"]
+	n140589003320904 [label=0.005]
+	n140589003320848 -> n140589003320904
+	n140589003320736 [label=PropertyAccess]
+	n140589003320848 -> n140589003320736
+	n140589003320904 [label=0.005]
+	n140589003321016 [label="+"]
+	n140589003320624 [label=PropertyAccess]
+	n140589003321016 -> n140589003320624
+	n140589003320848 [label="*"]
+	n140589003321016 -> n140589003320848
+	n140589003321240 [label="*"]
+	n140589003138104 [label="Iter(0)"]
+	n140589003321240 -> n140589003138104
+	n140589003321296 [label=3]
+	n140589003321240 -> n140589003321296
+	n140589003321296 [label=3]
+	n140589003355304 [label="*"]
+	n140589003138104 [label="Iter(0)"]
+	n140589003355304 -> n140589003138104
+	n140589003355360 [label=3]
+	n140589003355304 -> n140589003355360
+	n140589003355360 [label=3]
+	n140589003355472 [label="+"]
+	n140589003355304 [label="*"]
+	n140589003355472 -> n140589003355304
+	n140589003355528 [label=1]
+	n140589003355472 -> n140589003355528
+	n140589003355528 [label=1]
+	n140589003356536 [label="*"]
+	n140589003138104 [label="Iter(0)"]
+	n140589003356536 -> n140589003138104
+	n140589003356592 [label=3]
+	n140589003356536 -> n140589003356592
+	n140589003356592 [label=3]
+	n140589003356704 [label="+"]
+	n140589003356536 [label="*"]
+	n140589003356704 -> n140589003356536
+	n140589003356760 [label=2]
+	n140589003356704 -> n140589003356760
+	n140589003356760 [label=2]
+	n140589003321128 [label=Assign]
+	n140589003355192 [label=VectorAccess]
+	n140589003321128 -> n140589003355192
+	n140589003354408 [label=VectorAccess]
+	n140589003321128 -> n140589003354408
+	n140589003356424 [label=VectorAccess]
+	n140589003321128 -> n140589003356424
+	n140589003355640 [label=VectorAccess]
+	n140589003321128 -> n140589003355640
+	n140589003357656 [label=VectorAccess]
+	n140589003321128 -> n140589003357656
+	n140589003356872 [label=VectorAccess]
+	n140589003321128 -> n140589003356872
+	n140589003355192 [label=VectorAccess]
+	n140589003320624 [label=PropertyAccess]
+	n140589003355192 -> n140589003320624
+	n140589003354408 [label=VectorAccess]
+	n140589003321016 [label="+"]
+	n140589003354408 -> n140589003321016
+	n140589003356424 [label=VectorAccess]
+	n140589003320624 [label=PropertyAccess]
+	n140589003356424 -> n140589003320624
+	n140589003355640 [label=VectorAccess]
+	n140589003321016 [label="+"]
+	n140589003355640 -> n140589003321016
+	n140589003357656 [label=VectorAccess]
+	n140589003320624 [label=PropertyAccess]
+	n140589003357656 -> n140589003320624
+	n140589003356872 [label=VectorAccess]
+	n140589003321016 [label="+"]
+	n140589003356872 -> n140589003321016
+	n140589003140624 [label=0]
+	n140589003137152 [label=0]
+	n140589003137824 [label="%"]
+	n140589003139000 [label="Iter(1)"]
+	n140589003137824 -> n140589003139000
+	n140589003137880 [label=20]
+	n140589003137824 -> n140589003137880
+	n140589003139000 [label="Iter(1)"]
+	n140589003137880 [label=20]
+	n140589003137488 [label="=="]
+	n140589003137824 [label="%"]
+	n140589003137488 -> n140589003137824
+	n140589003137320 [label=0]
+	n140589003137488 -> n140589003137320
+	n140589003137320 [label=0]
+	n140589003138832 [label="%"]
+	n140589003139000 [label="Iter(1)"]
+	n140589003138832 -> n140589003139000
+	n140589003138440 [label=20]
+	n140589003138832 -> n140589003138440
+	n140589003138440 [label=20]
+	n140589003138608 [label="=="]
+	n140589003138832 [label="%"]
+	n140589003138608 -> n140589003138832
+	n140589003138664 [label=0]
+	n140589003138608 -> n140589003138664
+	n140589003138664 [label=0]
+	n140589003138888 [label="%"]
+	n140589003139000 [label="Iter(1)"]
+	n140589003138888 -> n140589003139000
+	n140589003139112 [label=20]
+	n140589003138888 -> n140589003139112
+	n140589003139112 [label=20]
+	n140589003139672 [label="=="]
+	n140589003138888 [label="%"]
+	n140589003139672 -> n140589003138888
+	n140589003139728 [label=0]
+	n140589003139672 -> n140589003139728
+	n140589003139728 [label=0]
+	n140589003357824 [label="%"]
+	n140589003139000 [label="Iter(1)"]
+	n140589003357824 -> n140589003139000
+	n140589003357880 [label=20]
+	n140589003357824 -> n140589003357880
+	n140589003357880 [label=20]
+	n140589003357992 [label="=="]
+	n140589003357824 [label="%"]
+	n140589003357992 -> n140589003357824
+	n140589003358048 [label=0]
+	n140589003357992 -> n140589003358048
+	n140589003358048 [label=0]
+	n140589003137432 [label="+"]
+	n140589003139000 [label="Iter(1)"]
+	n140589003137432 -> n140589003139000
+	n140589002858680 [label=1]
+	n140589003137432 -> n140589002858680
+	n140589002858680 [label=1]
 }
diff --git a/examples/kernels.pdf b/examples/kernels.pdf
index 12844fa0ef674cc8aac18d7586a87a09b51f5b94..ce7b3462a9f6380bce3b82a907317bc6979cfe78 100644
GIT binary patch
delta 46661
zcmV*1KzP5H^#bko0+3LDWV>=D_MX3@UJRUL<CZqLxxWDW!2&#nWDH<=E<6ucf+6?l
z>PS<ik*>xwn164swIYH$nN{7%uB>ju`smXUox#k#86<=8u_8T9^?!et>L2-7pT4|a
z{^jylPyce6*Qfe_WzJ7Im*=_cPk;Kmr+@$SPnYzB|NYb7KmFN%-%d|||F3U<@Q;`2
zc|G=NKAxuMeJe{H|M{5lKM<Yg?RnnP)4V_Dd4GBhMyX<Zsbu|h+I!MI{>2%Wr+Ina
zj;)Q?k^cEV>XGINKXrdv{8`@rk^jg4>d!Ylrzvemdit-I>FF=)|NrCV4}ViXI6eJ`
zOPZek?bE+JCB8#{{aIh&kAAv;_w-kniC<n{?VtbtlAcRmraGCLS*PYXKbN)ar9gB|
z>%7iSzkj{_*&ly5{SH6>_kX<n;g>)EHJ4vreofOa|LNDX|MKP6wEprRfBl=^|K;U>
z`90s_S0^^!*;n4{cf8OvKj)>su;qDKSG-VXtk27yD>*%XZ)tfd+jE&JIc?9&wmVs0
z=v1CdNtgD4^t>NU+(`}pr7_C$vMerMb^Ljoiw}Qs`b+zM`+)yC6TklTU!MN_&iSfe
zJEdjK3q+4n%D&&u*Z=lwUVr(!U(@o-pMFjGmw);-Z6H_8;a6u<zoE{^8ycLRbFQj(
zJWplD3(xC+^PUS-7LPKg{TVML^F7Zg`|C=4-&YFxm2atX5-VlltfuE<TEUpN<>`e3
zZ^z8{y5`FG?M8<0@@pFTRaLzGNmV5{)uCz5Fjc8Pg^y~ARNn`FS<|$-HtU2nO{;5m
zs&X#wWN4Z*OjRTvilpJsn&#i{AFy9%;@7|aeod=?Uz?62r{gDR+VWiYBxu@E-xv1E
z`V8C~p>OzQ%UqwRYQ};0SM_e?`<e1QplMYO@2e{8wjcbK<2fyv?{TN9VK<$qYPr5T
zs#-7fU|q}G#AjZ#dS0J`vD9PqDX-A+qo?%YFO4xhmu0>*VbV|C;CHJ+UaJBe>vWW-
zrM`-PEw5?xkod|pO!;}87OaNC2R=%j{Dj4F)YY7~Iw|XpN5G`yE%C+IM@aQUcTYCt
zpgUEr9IL(8t?pWtQP03SxA??*EKf_~fr`n#5qkK>vOiDD@w9GSsn}S=*s4uZwHvSH
z^jG`Xm&RD0Q=N%6j_7XK`&WF`^Q!-IwFRnw=rQMQJsvmB^*7@n;2x+=w7%Sw@xEcP
z;LD+-D=Y!*T6Mq2BUWWN2Id)Z>#|a=>c=YwDs`8r?`E4Yt@xs2+3<;No3*HWp$E@%
zI_iR3H#{2-(ATG6RMoG#o%Z_QE#Hv(_!nnfo|cV^z{NW<K7Z$Yr@cP!T4#e_wNBN4
z4lK9x{lEX3r(gaSvs`!h^vi$7%>M)a_655>6@eT6zrp9I5`X%(HfW<-u$`m>nxC-_
z>)yL)+VgZguXBCEx&hY%C>=QL*Qcd&xAlH)kQ^UxniqTVFv{vcntXhMtNwVN>q>_<
z+z5SB8&cM<tyWM~UYrWSse>%_(<#?~vnuCX+9bX>r|#KxZ?Cg*8nmZfL>HJUh|fG#
zD|tCz$v)>A^OGL+&f84NbvB{U3uVhb*B5i6(SHF;<v*L^n&I--zd)rE)VJV|zy9^=
zdgB`Q{qGG+c!y4v6+28d;h*;@J*_%)>Rvc;!>)&{5nFlQcbGG0@^bx;BB0cNsqFF5
zTutWWi>s2kPDI@o_PWv5gDqF<>40(Y<!N7Zroy7E=ET19RH?ghJ#nAvpi4dQGtQcX
zUFBH0gXU@t)}7-C3#YEdTn-F-c{(;)V_3*5=j=H6gn6kGT5mfXtUfg?DQE!h5P8vQ
zaQ}kNiRV59al}FW^7F)@H`=#<FB*Ja$l1(nyOn$R7Qa95^V*JbXVmi>^E21kI{h_{
z=3v-S9^;7ahP{7lud{RHW349p<B#&R*X5ZH=<c!VS>d$Uaeh_J;xkQ|Cv2_?gWr-i
zp1^tA#y0Pg`6^)7zuH5QQLWb(e$P=&he|JHi@p0w=F!u<*Jsg7wP`kg2Ih9#Xsew5
z+NRkVKFvOkP4o4z11EUhbM}QV;k{}8W%~8^|M;y5UF(WTrwOe)1KtTIbmPz4Hcco_
z<GPn&C%}a6H@oxKzNXFBn)x;Q!c|}Y!jVhei7<V2m2yUVp@%PA?2hMkOB$27ONmZ@
zZS(02U#1YcT$A51n{_vTOtQy5G@Etbqis2Dg>TvEswqLubfP##LvUm!>k*L`muug#
z;E;RqC-HyRJa!_VumR(=x06vDFd195>~<N+xLS3jpR&fdJZ+iok`V7m|NPw>adC@e
ztIK7b_Tvp3d&qXK1~X6C^{|_iGwO{Nn@EuL$jj+W;(Q+1eitr(PLn%*&HOy2%>B1M
zQG7t#ZzuC;??}>CpWzMIaFc4Bxn6#%MKNvlz|3#ZlKA4BYJJvg@?6i>7^0^`<X$&P
zy|gS#!AY3wtv1!a=W+9Mxi&w)HbHfhsF#?kS3B2WHMova=cn3fr9Sb5t4<|%9=jR-
z>N+*`#F)3k-UDoZvkNwNetzevU3WH|)<M>1Dl<QS#dw>%JXJ%K@=YMY>%?CG*ICui
z`U6+{2GaF+7n_<Z&gJGKPUpOH`)VQ?agYStcjApQ7u^_P3r{O&d*eBBzsIOb!eXp)
zxLm(-s9fJS^aLZl@XK(U1ZPUJG;hQnz0cLP1wTnW7OSFvV%nV{A4b9)pZ=<keIc>o
z*6RY7YqEXv-kq(U+EDh5U$X4SlpbheRyz(RLDlWW4lx9_pxZpe>Mp*+)H>)HuliOe
zJ>iA}|Ly%-T$Ri9w5@XfCb5C;ct&n;8_v)jYi3Wj!(EF!dViZ{Zap!%!LS)U;Mq$z
zWK6OcKD91?eNBx{be<+0fjDd4o#=ba65Jo_ZF5`sE3jW}H1_IT;!cd;j?-l4brV!I
z@-e|>89B6Y8=WCn*26Z%sxWm1m#Of~s{2Kv=HMLHq1DMe+%j2t4{s~h88iKLbV1eG
ztdlyG&5cK+zR;G!4e{dtUjJM7dlxn;G{ES@Z*W<E+w|Q`jWZy=+W*~tm`Pv%@Buq^
z#kB$J_bWTY|BT2HU5Y#b{}yNAf5RTZf1q=bf6%%3ufL{J|F~n{DBR3WN;c~n4qe+x
z!oIFrM&A@}-z%qHmipalmKmVZ!os&CnhNzjBEYAsDZl67_)@cLnTKy3i}_!|GzyNJ
zLK8iI;kR@%jmSBfMm|JOkDEr-x~}ITPUv?{qhJ2}Z*C%aO1zk2kR$OS>rYNQ-A?dI
zVKL*3M#!ctB;m6PrxdTc*dgI-+~GDYg;o?@Q8*4~JJT1s$p&;{R^|pAk8{fI8Lg{}
zL+!j5;WJ{alN~5GV&7DZoU%E%+y~n@2W@_TnqJ3F`hYc3xBd(p&uE<#^9~csSX?>f
zh#?vsZrk8&^tjm&a_Vh}HpaJ*;U*w|hdAwbYKZ<x!l!-A^l9fG;?w^B^ZUHlabC~j
zTsP`9f6a0JPuQM$Y550Obbk->H~jH`;}5&P)(!myfAAyRw|Uq3zs&qwE(#|7Gw8p6
zja~j9BDVD39_x5-FEP_;`FeV-^YhhQB2lfJ=*5n`doK*IuQ)l&$$E<koMC=wAKc<I
zyfNI!J@{zAy}dqpo>yw(>r*hc=Tv2m93*zU9oL(n7$v}ukGKKM0iz)uq(=YJ7z=eU
z#0$NJJ~}A`A>!Nh@A2Ct-Tn5v4;)y3$kPIQ4x;5a()NZzGqy?dgUb8Qq2GUsJGz@B
zi|#JtCP`i8T(UD)nBM-huVgHB!-tWT^uBSCtqT!uyY~81y|^#)Qn!QoV0<P`t4^$W
zmn$n(6K6}ONKHzsPIzRg!0M?qf~#2>LiLi4R4r^h1uk6fUm5uoy0=bKVOWKKBUD4G
z>KOuS$Pwh-mj-#t3$~mKZGjy>t1_15;If+2N_xw))OzINo$|_C7X=kA&lae%@X-r7
z^J?qJqWHIRk2d7<rr<PE6^epS&RKXLP3h3jx}hcU#W@$w)->&>A$r<H?zOrR_Bu8i
z97qVmYq?SQe~yis>dQUaBl>oKMgOP!RJy(_=%`E<sI)PVm{nDprx8?oc~hmUK2C>J
z8Zp9D&$T_1ggU0Q>6krf^iD$>oDJ8Wv@=Tw^j`K0-)q*tA0xV!ju>}cWVB7OcIJse
ziTW9YQ_0D@bnQm&(YgkA-IUL|798moF38h*OS;;KaZ<F9@99xRn-EBUrsL;5MZ3e2
zKayr#DJ-uDC&OQcO${F8szQuKmx=Dh`Y;MMC(C)fbAAy%U8N>)HM}Ayy=<JyjMKON
zJN97EP+&~$jmU#%w(emFWVMM6h9+`>!*abPeU^-I@p%mKjvSm-?AnVC%=aesfB5F4
z?z7Grm<CLw+O}sqsTkgWtgjaN36|HnT1-AxIZWrIl!N-{7i9k+m6)?tZ;s0*`xqI<
z171E{>}<~Ek*%)?P7$7tJUf<++YT6MlN<L&=+QP=LZqxIfzz7wdP&7)_J;I14F>1@
z64FwE>#^@QnW{~&<*%I|_h>*f9_dSSx^CA?3F=_FfKgcD%Rm@^c|T}Kxm<ileR}wc
zUqIt8{sBzqjSSw&o0~4Z3rId>_AO7UqKQFyMKwufzr#$b8%IiV>YVJNRL!+RW)aSD
z(8@<ja!^!TY)R|cC4sX|*AbX?IDpD-W(<NLG{yW{IATW01%h!9#DAp`msVxrD0Lp6
zK~g3-NJW<!)ysW<*3lN8s>YFL%FnW%bf;50+T@mMM_EUYx~a}b+xu>+`P;tkDarE#
zwV9aj6`Ym1{f*ujIy%!(u=}UE-Y6#?VG=xl)y{49#U5*m&v2S=<i0u0u&u7<Ef|_7
zT(nNp7Nk#tF)lt$F5Z#x`9FHiS%%y6Y5iO;(2st)dkeIGaAr=tntj`G`WTl<{hkFE
zR1}af<)$3Gi}N^|SV;mErsh=D#p%qwweGQLAXU4{Ayo@<3+svMD}vhz3}%twIGz^M
zV;##kGM{9eg%Siqv+mYdPx_=b<4m(2*4Q;Ux-Y>~rGUy;lpuX`TdKqCDW7(wU}#ec
zQhU;g9NLn9mcojSwzI@Qz9H#(uJ)rFp$E?_B0g7{Bf-#ABC7>g*q-#6GDgg-i+AMc
z%x((~Til{Q6c^c7-lkB;Kp!XEUz^=2G9%iv&1BUg{8(La4r=S&6T2ODWYo(qv-Y=*
z87Ewh8<s4hx2xPlUR-e_^k_?ZW|nE2*kEWTk(ri%(k<x|WsI0u7w^c?i9NXQYPG*R
zvH9B*d(fHImTYAdn*J*{N2KDC+!$}Hq+Ed;ZMXaH$rEo_ZS_?KeQ8*-3sxxde6o^X
zl&ksMt<alBbxCy0&`Dy~ci6u0i}U1I6s)Va1>CjH3FP$-MxP^g&8;xQoRPkw)I~SF
zBRZ0Q(!vxc3KThs=tNjnCLl2hoNg!FB!}X?S(zb>vrN0CohOzk$ct-f=bJtQg^INE
zE4llPERRJw!^$b#?&!z}_=Fi^wG=U4M_vcqU}Pb?@kfN)e)JQ5hoSXO1S~B7$Jkjc
zH(gJWsbDZL6_nyqK@NtcsvKQh5nYObJSfF~Cr?)~sT-j;mo~Qlq-4i~^^x1ov|p}o
zWcKJ%%=Nu&O0Zc@3*2h2E}6wJ2TMq@o*1sTcUE}Oie}<hva7zzIxe;d#XwrXU}1@^
zR2F&bZmihqsj#GI&2JHO=;gk-!oyT>{da~byqg{!8TuTSh$(!G*OAvNeB*2a=i>8!
zSNM;9!aG;^+1C0oD|}mQW%&vZ23L4cTH!$suJCQW+8IvY;wyYx!lmOY{6^@(W*KgS
zJnG{*?F`vr23BxGx|wB+cAYlyjvO`1U^X$);bZo8*)7)TJ0DHy+$@`FmZdo?oBAuY
zN%+oJcTQMQ7i5RPn5p(U%q+Z(WnR92W!o&vwQaNS7c*|OT_G|xXxrExn%3U7xixK$
zlWB7n`?hK0a~21`F>D`j9q7nd=AjaP())NFdA;$K`3IUdKllmn-1yE)|6?{jf;p7a
z#up53d_igB3vzJdt8yo?)0g<Z#|J;I_Pt)_!Q0+CGh)-Wy<nKfXy+~Xh71RPk{Ge=
zxp+s8ZhI@yGqmA<VB4!-pDl$G35|R@<#@>8LxG@YU#<xx<9)I1?R5>-ZS%rp$9h5?
z$<C#@j`yy?2jmjo0e3U_%-l-(a<w%nr+H-CL#%SqR_q3!^6?gxBc2VuxwL)nO75E)
z6qDw=f-`Iza3$!-SmmJ;whhF8cpZ7Y@9{YKK?dKCe!@HVy|dQ;n0?Pf+Oh8igZo}k
z+V_GS-1k-#pR_G3hVgB0HLRS|w%3U~de>8>YYS%wLji2mqAtfR=@DvUL{3A9cjRD1
zd&O)1YDUx@5$&pcyyPNPjwR)l!T2nk=20RICm521Drw<h7-RR(Xts2JCKT)8J5WI{
z2Q3V+N+t^q!r#gX?Ia%UE>E`8hr8SvI=EI(?(0ZDmyFTe<tE;d!{^wJWXb&XXxO&{
zA*fS6mh+shEKc@0T_YCDIaQ+T_@r(T<v3zh5K_aZ)x7qcLQZNg@#xTdN~(^C$h$K%
zjYxMmU(y=w^JJV;?A=Cx=*aQNd%e#*;9`dFcl8iJ8#p>Wu*v9dCHFz*CXDpiaKl+b
z22ygF%RkeXh-^Pyz82oC2w=0xDk(!XA}}#%kgilI8685$Ss9a&(cx}y!O;EohTOL?
ziF_ggr^gr$%i~kq)2%)srrKe7e8`UMYBzWZ{XvGuPk73ED=N-^3jJe@4}9fub?a&z
znjejn{n6+_0|aSM^Z6FlMsgcO&wqXQx)FQ$_9g(DQ_^g3EFpXH9k!<<L0g<t-fRrf
z)5CeQ$MaT*qWA%Ggc)eZewA8usMNhE?HaUlXE%Z@fyQl&r%E0HTf$dOI<zh7HF+ML
zhXuh&_GNgXKF!yEat}|$&&>F1$Cxwh*h;D_zNO<B6X$e{*$5pue2mqTV$UUiz0UF5
zVP7cOWD$J?@LzdMt(N|cpbBor+p3s8ZmWEvRWBXK#y|?Zk^&&O$p4piOBWEr$O{Ko
zhU@|RNEz_G*n=l|uPbyrTcE+PK)!00Z^(%2ixC#6i+ALI=nU^n8b&Sg#}YOOogzm{
z(ZkifL5>tW%_`6ima!fnw_`p#Qdat%$=FtuKTHB=TZq(p<+&(B1@tF3GBy(fShJ#4
zq=lJVWRlNipH7kPE4go~L(G7m-OjMH+Gn&Q;~<U+wv#%>>&Pw+cKkT&<VQc@ou<iI
zg@24?0(i53e4GrEV9+iJN@hurgI38tU%8P_-{MAzp8U!txe@vVd@-E5)ol0eH8_i*
zt1Ztsrh8JK|6+`~#%IO0n|x2Z!~ovdo+oVekll|NTgZ3Zxprj>;0cn7sE&!oNt#zf
zl1RiFN`Nvax(Dt!l~it+fGCJblaK^d1k`|i8RhwZOtcT$;e~omM_+<*vh9Mi5fp;(
z7c-A}{^WG!tj2qvH$nx-J3y#_Y&#)dJfH$5K?e*KouTA^QxtkG4ir%25H)Bme8jxW
zYhD^sz*+3GG!-!GrJOYt0O<P>s@aqJ{8>|X=HEBX?C6mA4oyWqSx&(8`i{JOfY5DP
zdbr4c3s*>-l_A<jZ_3j@(PMBBs6s&~*96aBwX-<p#U3j@;xKvFVvoiNnI~>^C!CPr
z7%oUIg3`L711ChB6HbT^(bK~?A$hyQ!FLBv2<n3mGq8mBUVpQ@fmoBzzBErBq0cCA
zp3cchITc*1<QQOyMiCM{LrvH{upSLl_9!ENp(hGzxz7zlIc>I+6yE@{28YiuHh?R+
zZ$pK|L<F>jbIj<7+3o4DD%xzD-O&c^>1$J~3O@a?(ECq%(mPGAE4}_PHW$8<n%#ge
zf+OIIAPx8;=uzN{ys=Hf3HTz03g8R9fGgAMR_@VzUEZzI)BQn>BmYm%hR1P3yUk#K
zoaPT|L-h2ZKL~qNol?R@e!o8`XND{o%3!e$82J!%18#(Q<$)q^kZAWC4DDJmgOTnH
z&XlasY)zcymC$+g{8)3ITe*kNvSX^mi546?!BX9^Pe~Y!juTCs(}@;}(9y#uS~~7X
zz4&&>isuzGL4+~<$|Gy_K;$CbrI(<8zUWMl%q#^(d}+iZlv!}9XJ4dJ$y8ieMla-S
zRwXgn@pL2hX!{gB8c>7V?9<?wL5f17ZFz$Z3sszxiRwf2^stFaY!Wu+`ihBq$7KrD
z>Bqv05Z*AJav^>{><{9<IMmsuUKt4(EwIA@kB(~yzJCIW8+(k=l%W4Nt-3FNIvtog
zJ*T5DjnS@B!BH-Bs=MH#!v>ggKrzWlsSRk`HQ;|@&LQL$!}qWImGT_tB=6H2UXZH#
z=6&j<9<F*>u5`O=zCHz~?gzZl`XuypyRV9aEAE1bQX8`)UEp5DBOEQY9C^_Pd<frh
zGlG$e&I|xKQR(|qn3RFVgxFDk{e6h&;}Q%{WkQwc!C$`*P4JRfHHz0^&Voft4V;y`
z3qGT}p89}sif`mTYkO&qn&6mc#<!CjI$SkvdokZk4AIl0z8d%-)T`$!zM4D2M~hza
z=>{Aey8#DnH{cUJb_4dZt9Ap9q2dPY4MEOV;2XJ5Tg~ktagH4vv3h%dIu4Rp&2ezp
z5IsG7khJyu?lJOhb0O9<dI@gl<vbezfv@LTQ2oB1XBAhBuV+*d<#Jxnvv74!>zRmU
z*ULG?9&HsOa<*OhIf7$W;Cx&~kQyCUp*Sb2(1+;hVXF|8kn6F0y`uXLKS$LrB(<o#
z62I3|TW~by`DhLfc1cWsX9q{N4tvaM0no^T7PC)hBvki7BHQ=-{2L`4oM|%$=NkSE
z#f#vAz4339yL6&WK-~JB<F|aD)t+v*{+MOI<;S2s-T5~dLHR+kq@VPp_xd-^`uv0Z
z8-Rz%%h|sX9QikbH2+4>qy7z`PF%%^+EC%&zzgVbJ#WMw?#i`)32yF<;FvoDro!3X
z5p=jW#5uV)Vu+p|b#K6)*wR;F;_h&7)Z<A*#I<*JR4}{t&gczsy7pQ-;_+**fkXM7
z_LW2J*Y{pPm+iaXaW&1o*u$rJ>zkeg$4{<&1zyqUc9La-y$%okcHQ)(`;viaF5VsB
zLm4kpm-Xz(f|<R4HAmLGJlizWk5x%P`j7ju<|Uv^r}(10oZVO!$UNhd+=_idYcaq8
zpRCg0m=(J1MC-bx!zvZ$WR?05Jv|<QBQ!kw3w_AFfsO!3#3Y!eo^nxG3>Qn79s5DJ
zAGkYkNeFt;gnx0)C0PAOoIbfLg0m^B(>m5+W$y>dC(*Hg>Z&-MJ=we%sbv1XVg-+=
z?G%=K`A+j_H7jR#>u8>P>&QY&SJu&4?9=owd>qbkpN8vOPd6V&=$|<?V$6;l^>LiF
z?;~CgbaKHRw`$*dsMDQuW*NOf7kWK{bfDzB!@r5G!(H(FO{)XT>Z#&0ivRX<5APp@
zPPb<-hcnE7sj<zxkloVZ<PhiN<nR$Xa@57KtsW!$n2TdmqFUm%&Mn3j6=%#W#YM|2
z+<jrb@fX`=6sem74TRLF7J@ny!12qkOa^eKY>t8KU4(kMhtD#>B2Q<DGyLe7*!!s`
z+d)FcCC&{K@5td(WShf__5LYxM|vy}4oqnUstyi+7FW#hqGmZjqQ&8|S;r(G(dLnL
zTm@O03e{M+TUSn|8}6_e7aj3g*-eVx|MrI5qi1+s3D~|n5}q>-rIe;seM~ws+PN9y
z0{koB)5mxn>7T#5D;ThP*%S<5zFT^$r8wIi5^?+`+CCWU{<k~)pc-pslAubY@Jn$T
zvGEaq9&{mg_`awYZ6)WbDM*+d%7aCTSXHEbqdwtl3X@%TfgZkaWH!KaFxB5~h2BP)
zMaKg)PMG;a)uV`WQ&k4L(NWZgL2K+-2q$GQWnb8;1GWJmgc&Fzy*#nAd1~ZJB(N_%
z<8AVCl_jT7WTxS*%#_2mfUDN}C!NhC2kn7>UvbsZpRJ+JvUO(CNRLt4Kzo-Zms6i5
zmk-O5J5Eldli0(v<O&mo+PX7_FEn+Y=*hP3#Axfz$Lq+^byu}z5&HjE79Jb8{6F~P
z_1E9!^}3-;LPM8L4PEYPwKdVHi?(E|Cw-#t0vF=0gv!i?NV6V@a#}8H8L^fRB|$@f
z&MY>egzvEA)ok`)UgWNQK)tp)p+_r0-TTpoz!uT#Q!oy5bQivgo{Tjq#^nhufaWHB
zP5GzqRe>4E()7Whn@@SG<;gGq<G0V&b>cQ;)2pZr-prv^2Uy>@CLc18;r-aq0AdWa
zxQby9JXZQ_^a4@ieK5?0SuGPQ7mkI0_eIWXFZ2mVDjW`NR-IwfxUw@}N5z~PU6car
zqMFj{k%vyxX@$Y`{*-=yk4=Dgl=X?{h#uD%g24}RW@X2TJcio1*Mk%C%1$_aOJQc_
z3mNzU`hd>SYmv`tmDl{H!7)Fnx5m4n!*AMJ<(Z!}hUn>0zbX3mTEfr={HET2dMe5U
z8%F`aMq3uwi5^<Z(Z8xChQ&}0_#1t%&K|WJxi`%vG%i-XrOYD?@74N?;Af}Jl94vr
z;poGR&?~-v<fwrh-W5H^_DzS(A2@(FJ;-jHhH!f;_wc&bT@IpDylgx;3n2<n4d^u5
zr=V&XJ&K+F!g}1gYhKz%CiP{1iXnp5mwY*KW~Bvb2zHsP&wDw2i+bgJIsFcC+V8X>
zx+fVZo<++<#>FAKq_-QX|A>ZOcnvId!?P-brD`{Djq1gReTeG@%5K$pW_`%9DE?$2
z&o631b5VE!4ZNn!LM^*Ii)rIE;=27&O5&i824ADm2mNj6QIyoLWEw($wng8hMZH5d
zYqll3jqQ#$Z-7LXI|5n;#C|LH@Fb0uiAb$$UE>IkgUL3CeOsOg+>*@aZhfXu8@pqZ
z_KyI%er}!b8Xc){!BPJ?8=^I=Yu}=Nbze@uqgd9V|4tjCdy;`nkPXNb*y+B~!|rqX
z=mKX8Jpk%jL+0lzy?b<jf2YDVpX&XJv9Yu={Fc@vVC{79F7|~t=7W7K>pH+q7U*C|
zfJc%r9Q!U2>w+c}7eZEn74C3Y@iX7>MXz$w%U_3l?m+5DYDzd|&#F}5OP-<^PqE_Q
zv-OR+mHQlbEb?iQoe}O>yfcP0%>8;xOW@>=#ha&ZP6J$1@$mtFXKbBnM!Wz>GQZjN
z`yM<NH7SJJtO|Ch+fCg(msPO?nhGdi&skoT?MjO_Ae`&**dJ$8^dV=qC1;a%VxDL0
zrX!xctiucAs8{%A(ecWG>81woyWXCT|KHvadw6@CL;WF}N(9GrfQHj885%)GQwSID
z$YGV3km@N!llN7B;tv0Oviy`JBm+I*j(BSV2+nM1B0H4=6G6iREs)Ya7;3A6wA<Ak
z@Rdg`4{E?P5Wd2^SJqEZ@D-iV!_g}y+XrKUgJUy_(lY?K-Ow?`;<P#T5jt{sjuUz{
z?zFByHpjECa+~7%gQwFBS5l{k%`j{!_#B64*uKFh@Kw!!PwiD`j?<zH7R{%umtN{^
zPwj%5L0K3WL8r!g$bdju9?plw3<?aCtTymugJ26`(*a%#3u~Xfs~udZXi?6{bG_`r
zcpUJI9qJ^8lIfW>j?-j05wrJ6J&s7+Uy3`&db!Us-5Lx}a0-7;m`oPs45O;`qYcx|
zKjMa&4-s^K_^pFe%~V(@Zo0{gKACRKu8!X!PWzoUME4}$W4gWDi}fSjwC^$D&gQVr
zx8SH7U!&EJuf3naj(kYwolYJ1UawxYn(~38j;XCH->ux+%W&J{{F@?X&5lC3C{=vV
z&(LVt7OR5zyr?$IvYIn>C0}UVu{X%7+YL-hth%;;aGP1bYKww7xJx(CQh*6hhh?A8
zF#%&V4JO93B~BH@O<c*@G%Du8+Ljj%jtD1z&$fjzdM)=^#^}yMvSy6V$>QW@eD<^n
zoQ=_}#)&axN4miGn4>7eek;ClPXfrcs$oQ)-Mbwe_33W3EdDdS51~9%K~&?J-1(bU
zB8t9$*i$X>8QGVe*r%D7G0D#HSv7mIBikIidFgW+Blh&@B*SI8Pb$ZMcarb8bD(MG
zyq+gHI5x>a+a#apu}Pj3VLHun3>CA?$GV>68?lGaa$@W4^DG<3rWHYyHQ$giXJVXZ
z*+=Z@!C6Kt=OxcyU&(hAxJ*S2>)W9)%|iEo!6b81b%+xSg13sK&g$?#978yGi4bcn
zo!;~^E$25Y=U6Q^@ujT3_IpGx_6hyy*=3?lvU7ax0yp$6x-DjLPV*dt_Vnm#uG6sa
zF7d(DoQOGhn&*1CnYf^Ap0hf2$2`|ZLc^Z%c}9(QDL#j4m`fnMHqAK`HN>XWv01Nw
zq(1Gs*k;){KC6B`?CCbkab1jAox&G)O^?oU+5*Jj{aL;T@Ng4MLEE!~V|#Ycwr8K{
zu{}F&hV>A8b_^AJc2cjo^PYVp_D&CJ#k}w~l--*qwKdHL?;3!1M207fQ#FX5<-cmi
zYDNalg>FzRAGpkr$Vj(nj{Ja=sfx~jsac*&f(MmZRbenE6LWHu{zf<EkdutnzA`yC
zW#OPEci$~(UXgn1a6K>FZxyQV<vz=dY2kt3?D8zS8Pk#B>31`x-T>BZJ<0d<sN4Qz
z#=PsdzpIJ#8emGR62*d(*ao-JnJU)knf|hIGsXnZUsbHi-pv^M$dwrrVs9^h382Bu
z+8`7!tG|Dx8(#ow&}f8qF^+OW7xTIoyQtr-u8X=<+O6r8+16|Yj-|krjL*;`&0Cab
zmh^I;byPQX4UXw&9MwG?3L8hYYiJD7)1w-DI;uaUvB20`=d;EJ$22x*)7YR#H5Pj$
zeHWpzF;r+QAFET@8@WffqZI&u267aT$M^aajDtVRkz0FG9}i?#rai!#3Gt5f&)*AM
zdw2l_vL(`<xAoSq`@4JE(Q?59+`CviS{lM>rayE)RKx{?X=fIr92W9N-jC#Y(2qko
z7D4R0_8y&hFQ8eP%z+h{xsiEuFFLF;dQxG{D}wXv!8Pr?PT<nOW)Jm$)Q0PqTimV`
z2kaw5TPgwNfaI+FNPOo?#zsFhK0*g2I3>rHdM)<w)Wu!k+|8VHj+>9OS-m~o%t>)h
z=41@o)1&4jiu{1{xP0)^Fst|zgCK(Pszk-4v(swmn4VQPB3xr}P7uqps#qFw=AogO
z$EbzJUN*Cbiu*o`n)cCubr=>>FZWp!-Hx2#*bx&G-O~*i$S2y5m>8m`M~|G-M1SbW
z0i4BhoR6H~*pU;o9XUad9yzl+faA!Cq2kEVV_hFPH*$|Yaum-&T|wfNBNzoH@4?7h
zN9dzpoUWT^{n?k06#dkVe7}!}SraN4z?~(-EO~boKk!W~x-cPs>ZM-rVlZ2??&7Fk
zK>G!Hf({%{1YI|hhp+mO`3Hco7Sf`8@Gn8{jNh58S5Ii{OVD5Z%cB6pf2+j1pML+r
z9zl7C?$wN|8_Z3t>HkD7(BDNa(0@iq=|3UcpE*NUnL_rtdozU&3(p<Ob$f+IAyx`~
z!-A~*df2jzWtaVb!rbCxWx(V92KAY12rn<|YZ4oG@NKg1#G$_57}?ve-w1ueC3Iho
zlfF5}RR(81k}F-I=%a*tKU5B`#8Ob1Z>;)bdAoO&71{J67}6V)54F1ZS2V@*AK{$#
zvweu`$GCr)*TXe0G@E{o?y0u!q<b(KLiO-!aMN?$qXQU!{~c962(nz$bW0hZL{SR$
z!)KV`YRcvw;A^=zZPN2L#FF@6s3B#LGt-(+B<f)9UqTa$U|sI?H3&Y!s6K=+X&>MU
z>Sf;Xc}?*IYJz^KP83f7gS}3Gt{yW3mxmG$kRm^n@lfU1WT?uib{T6vDc62weilmW
z7Cn-uncoP1Jv`fCR{lmasGZ{mbWsHUhHeJ6I46TT2JPulgIZyC`F1~IP)Dvn*jd3b
zJ1c0jvw|MAvpg%H*;(hDTiIEjO>nleZsZ<bAEe5alSLgIv!IuqNFqHM_B0tMb2{XE
zdeod=F)fARrVp9Ztm|Aj%~toi6s=t-?<ycd!tKC+ISqSf(I(7`(>j!ryBjds%$x_|
zEn0G~Dr)f&_hT1#)!m3adX@nRGF_$T1;^6yO0hs<Pe*#5I4wQTN9f4m^gLW7RRr;&
z>^x%T=z*;K4lqEQFwq^-Ls5+7*`V(U0G!zwapZQaiv-58R2MwEz{aO};pO;Hf1$iK
z6pR~xv4>BxZ~{)7wsT^WHVBrUK5g3MoHp$kw5LZmZNzWB<pjASM2_#r{pB>x=Ix4U
zUTB@iG#A;P<I}vT;>zaml|yl)HqC{_BR-|>cE1*TbQjy5HKgrk91LEDk;+|;8_F-c
z&hX2z3)|(m8~pCs-B1ohfX^R#H(ocMq3y1JVhq1%tnHSvs?xVzQmkFOF)mNQSwd*c
zM2&3shhXS}Vd8%Ou;BxG0NsMyKl;y<X!on{e#z+At|H2xb2Zs!AyMJ_%l&0b)&fT`
z?r3Bzc!j$B02`6@3Wj{lXtKOZZc`iMLLdn+;9Gpb$Y@XthV|{ck$H66zQksfP0fsd
z;kvR}Et%=oX8F{iYFp;s87`RBu(4cAMK*m1hV;e6U7Ixg*$ZReA8s1|x#q;V{`L2-
zX`IGrQ1r9ZO|Ov<@N9Pz3}s0LDKL>B6@a)~;kH#RluhpRH5;2#zG!nR@d;?$jnJES
z$aR$&IZdh)!W(5RuR0&^iDf}kAuPs!zM5A>7yJ9;N<y3FU63~fAhoPkP|Uc}s+d2T
z0w*n)8<{tMJ`ttPH(>nWeT^INZYHALfOqRKK6(S*4UWa`w|oHRl*SDhI3QMjzNFQk
z;9BUD{LeeHO-}yj`r{Ctb070Hr4Kg`H1e^RlLwmgQ#baA2bu;H(FKo!tz+DOPKMiN
zBecp&opgHRrs|a1zc_U;E9QQe#-`SCCKulUEEOi0$(0@-phu&Zc{|cs1XHm~GhPAc
zLF7e5nCZ->FKlO;(xxuHY|yq2=wp@3N&WqVG61ACdLygV%zCO#jiCv+XpQV{gdU#8
zo)p_V<*^&bjrmonfj4wB?!`HOC$jsXJw0mNuPB^dX?lIgBLhqkw64yqa}rt!ei`oW
z*m{UYwX5!&JqN6`@>Fh{aD~3`H4u4f@kFy(fM(T>E4%}h!7d()sylg=m&0^1^h`?#
zQ-#B9)eN`<=yKo7eU@r87fx`@XA`Q?)8WJk)o`y(4AIlWUYw>HAM)aVtcQwfo3k!B
z=Bx|aoOMBuI_qG6O-=CpRpG4TV{O;Yx*NHNJL@J^<el6&!I=XsHor-S8%Lbx#_<t4
za@dW-R?5dWimUJN<E#^*CE58&;Do5D->o({vE+WXoK@DhVT&+74jktL)4Vdj2ZG9*
zL0vW-6dUdG7mm%mR^<MF#4Pt>pEk>})jP+xcAwRrZd-lKvTyA%XipD2-x(c}+v6k2
z(eQ(o?VKDP97~Q4+LEJB^jLEAVv(Dc934YNa<m@nIy?GC?i14Bm*$;O7W@*<8&vd8
zx0JhPoZ+q<7dBT;H~3KYdp*^DyfY{Hp4B4H#)-%?Fbj_G+3=@-?&WmRMomEd;N|p*
zr1}{j!RU4wZX637Yl!B_u`fA=p6ype=sAA3jnF;Ez?%mQSzdpdgC`!<Z`{GqjXOx)
zxPu(LaTEFHINzSn?|8~qt5EjqJNK>F!?Vi_QKu=OaYB7&LyvOxsv9t^fTn?&y^c>B
zh|MFPRG8#R|D54}%45BfBlW?);-r7}BSQb;XWJ0nV+^EB1B8@di$6*KPzA+@cMl`;
z!<lWMLmzKzUJiFMB0C&0{9!L6AJuXltXuK^Y_z<L7@7s;=2TRobtm<9<^Wn0&duwi
z9NFgf!89?zFTYQHR^D(%{XXa}KQ*@wld^#d+#ElL%ux4#^6;A73%y(1z`SGRKv*KW
zVM0s-(!@OAS^zEQ-PjY=Ph0VfZ@thx1XlwRYjE$HRF;5WVoBn28F4Pi37uJ{VUJx1
zn72~f`PeM9AXwq*k9{rla4@@rxWJnX$JeJ|s0f5eAqFFVO-ta5b1n_#+ehd~7r6UO
zSv^+*virJ!!b9>s;3q`@SKH24`KlT(xUt|SgnK6$rsk&DCu+hNOHz5fq4jORtk~<z
z%qm|ZJ`(z8u!0#72kfY@ZbND5lbV+UwwI>lAs{!5WO$s@B-}E%h-QO(yAgY5Ij;(t
z;W>mmpWIoM1ka7b3bTrI$t<Wl_E|XS92_d*JC4<V1pWLK0JiGtbTA?b9G{t!<JR?Z
zZ$F4Y9*}H@?MUF$7#-lR#IF(NFs22_ML|~!Y00vc$hico|47hlCep)~6KCT~CI}nQ
zW4CH{0lJZo2y+!^_CvWAX;(ACO_iZ~Tl6c!gTLC#;%QMoa<(F_#Xbo~8O7X*n@!`a
zc3=yCI{B8C#0g8;E7IE#J?$a`fXdUd6Xyp9(DoLJO9oEM^RK_Fe=c{N+Ov9F)^lx3
zhoz8{aVTDBB(pl_{Y3j&ad)!%#uLs3Ur$4+^Ue!7Y{zMzQL=h3_wXD0rlia^<-xHj
zuGekg@ZHie<>H*CJcj7$(J6;Zl>61Y6HcRl&8)QgN5k&<rvb?2n0{y2^cxw|AN1(-
z8-ns_`eUe=e#2e9n*JNPhj$rTl$~6+mR(Rm!8z2CpdLHZrjm4c8E}?tbCAOFVHd;p
ziCImZe1xF&9bZnIP1y7rLU3o?JM2qDKYeMx!Z__$+6diq3?SJo5TMI|fMjoUO8nG+
zdjtG-Gxd8l2l%8+dZ7LCa9MPXKy?}qgiTL6srK&+UsgRkb+i@hp92798fHnLllvr8
zVmQJFx+YD`LrRNZsxeabX|QfOFkxY7s0qYxw^9#3r3#<iPwv;J#>q7Gaq%QX!K^d1
z-hF^x>9m#f?}SYDk7R`xe1xFGfC!F%3fF81pNC8PmNqf=GmO!GrH#-%$54Inwk9Ux
z0P=ZytH<BxD($4V2GAGFv9|uklQP<nUIsf1_s31;Wy~=;y&L49UsUWc*~{7WvS?r<
zf7M>rR7MH_VSmtupI89&%Bnd!y(&jRP<&?6Ol@8pa3l5!jY_sFrFDjBT)hl`(t+R_
ziJIDdKP&A{h}@IX?pX$d4-s@IZE#HGG{i}1{af0^`0sG7^`ALK5!?1XI;)I<Lio&|
zqqD2<J|^#6ik+4Swz$V5yjpLA&<_HRGI?ND8#1WmNJ~oy7Ax#QnCF#GKWp!>7~C#M
zeyZE#z2<tchiBPZpS7lg!7&YgLNkKAH4OtO=C+=d5dCNKeo{hMt#nuW-s^NIVQ_rk
zJIoq%CG>A;O6b4Cl`wv%4beTxz#Rewvbsb3w5^jqdxH6^Kf63uP(zl-ElFGGw96<$
z{qmx>gRs{?7VswPJ4Nw8Sy>`!j2B^YW*HMDvVeQBPiTgR1gMi52FG-Ns9tc@p1^d>
z`r$P#TnSHo(n6$K(&Vubf(|VVj;YXU2-l&7_9Z8~%6^3_Vf;!Pp?i*jTg{4WekSJq
zBqc;zpb(^2Z&v5mdZwe|!iJwWshclS26PSG2fK!?)<Xe!4uV}+)u)f@9Qg>7*-4&L
zbu0Jqdv9iB{-lJ#aTS_><mhx2TUL70Pg=OlN|I|InY2`Wh@e9YgJU|RAx>K8-_q33
ze}}7K{7zTo>n9lqhi9CKbdCNbHO%bmeAdJCe5HnyeZbUkQ9<dj7A}X1!6#4AV|;ur
zXDze_3a)XAqW5wScfOnRapRTgwRt1A%y1&!1k;#rXbOCB#)V6N)^7wHp{HHqZrCjL
zb*J;CiZ1h>ZzF2I{MlXb^0fN4ME8+BBX)o-+x=%&_Ydy3hr-yp_>MVQ*wa8h)JeV!
z^wP1N8y#I<IJV!aQ4%4yYA^R`v)p1V&at3MOlwa^kR|3hqAET_PmhLKCd5|05oY<r
zFR3|Jr~8`nFzjA`=NNDP_36x!|HA3n+`&#4MpOnuD2Mf!mEifS79JumGU<_LXP;3F
zrI-7xX}5^NY1&uy<cw*)p(6&-miHvs>lmV^U1VT=7efnJ0Sd9^H`+VjgYK)+nYH-x
zp6obBu?vvlL2s7STSPOS1sh`-ij`TCfO(VkRs8PVTO&<>7WrP)At3rkT#3C?G_RV<
z^Mf2F=nrxz4<a7Kd|%@aVm^;G`WWELx8v$b4#AVyuXc^Smir`_V&?rSQW~6%9U2Um
z_=eQy8%#0mnu#7Fm+xtp7=|e(6#KR#nc;i1b<!EL0CmlukS@*Tuxl67vY`fwG;MNh
zt?X1XFvpvJ3_DyilBZHYYw8rET;av6oWzgplU=@gv3CI;==C;Cd;wt4v9nk_bt=-$
z`cw!Xrb)Ta*fwxy8NyA2a<doI>fqhF6A1FfpeWfaDDfb7;IwPGhes~d#R|2tI#Zpo
zF~-EE0}NE`&(<QHJ*-4pBaqGfw#*(rm_8HoLF)^DzMMFVH8Iadqd^sKkp3NH(EsK?
zLY(-GHp2BY3<NC*o5%eD*)3~Tmp3f;AJTnqn=Sckv+gA@^ceQZYUYC1rq=6|QV&-3
z93<)}t$0>OEZ8;R6wb<%o(vld$y7l{gZrM-(U-=EN+st2>XGH0yZY$ndV;DlXYHHM
ziE{~mR{xQpThkNgpjC|ux{-yuAjb=yTXx^x)qQ)Uu!n+MRvYbX2@tG*Uuf2{vS3l?
zZQn|Ik$0MT90o-W(@(z2RNqtLH%v)NTC8(8)BE5<rW-HOp)%kWU04gp)^*$xQ8x%W
zJ9IIs!>~J7PKzdWQtv!Q){o1Z6^F6Pfsm$uRva)ZD|4Q-K{8ig-#r3_$tx+fSI8U&
zlR;&bul<D_<~`2p$0>(KFZa%KoVKZXd3wFtxc2itcF+&+B&&!<6iR(9l2sp_z6Z;)
zq*FT#|IDc!MiYB<FJP4Uzyh9Ug9mDyMfFv9fyZ04B)&N3!bcGTjStb&E^==#U<9Rq
zxa9-w<e0Zxi}??~{LwaCbCB4U`t6N$pQZbG^`<??V%hK;7aYq<kTQVUg<Wl5=md|A
zl!arv9-LT~S(SaWOdQZ!$!QF#if`0%hG7)FvQ7xb4C<Ab%Eihh7$98C)RkMQ2P+Fq
zvPHpx#F9#9ENV%JZr$#cJCXMBFV47s2!<o1JIX(Or;e;Ny!hG+^2H7)>A0b~3YC^f
zFAPU6hnd=mj-bVSCyQb$PR1?J7#HVsA8;}%EP|nqo=dW3Xadz(kezT`PC2sJ^q3pI
zaNmXFpeRdqsT=pc2vG|b?g+9Q<Ooc*TAR}o9<!WsG4jUi5$maYp+}>Z$g*jFm!e?k
z5=4xH8_MrDPV@eAX|lQxbz|QTa4<(S_1){xAATvY?)D+a&AMtgErt!hGVxVw2!+X$
zA!%i@9p0fn4QiS1uT##-Wm$w5{fg&d=&LX#`vn6NA`uPYG|M+4pWv-wBVDs7<*gBC
zRwH2q=-#BmDi!C#FeBkbe2AWZ4v_(GjU!r=^qh0TD*m4CEtA><qobaB=O8N=dAf@b
z5)l5|Co2bMe0P67)h#J=L%rK3_K;<29&_~-LqftjaL=Z7EGahRHWpDbJATp1pDZ`t
z6X9pG4R1s~%O4UaO!HspObG|bH5rFS_(OE4v;jME@Q^uqLq2lIz}t|2O&hW`WL*SV
zQ)X)`H51?-`8-EaA|h>&qUzEi%ubfO05VN)aw1?Hfwz?aSwB(;x3#d`!XZ1a#NNhM
zIOt@?ESTyv26Q<{CT=%U_R0MkYRTp%clw%{nO`q9FYyWLXfO2k6Rh@{cWcmks4ESg
z09U--ZrMv_d|*>Ma8~hu4@|<gE6`EJ)B$VLb&-r&=n&i;mJ+Ayjm#%?jybO}<Jh9I
zRxv#pYsNdr#G>*6J92Q1(e=LDmiz7^`*x28?~FzeJ!|Ho&S=EZ#Az^jd(&)@UUf#}
zSvPdUwiaiECpGWp6vrl<cC9lSRcVh!b}jZ<bA0kEJ7=?f#pbwwBi$^DISxOv%lGu4
zA%zXEWL@gMVo6P7Wd+u)r)@}Q4o}yhlc|8ygL{(q{Av438_IVjYZY|fm2Slz5B106
zDem#X(6t@D)3V=^ej_)=#qaDP-jRbh_-#SjUE24rT;cCHI5*v*FoxP`t;(!sol@1`
zvhz%1^+vT-oQy4h$QT#rbRTdsZfC(*xj@VAb+_=?)G17Rxw@R0!vMMsD;*JGRT%;{
zf1&G9ceAmp8LQD(1}Jnj)2JJLkh`_tg)wH4^&6Ro?<-jqTFqt;j%;*bGi~cF>E^c>
zCxhMPdwSGhM+M2M3))BQ_03|XY=p%NaaJsHUKrN_>^{tYBlcHGgxR7m?BJ1ezh$#}
zC%Yo+W79Zg;w}Hh@Vm%Rf$ncNGVfVt%HNcGL0Du6Tfk$kIx8Zx7I>3jDj{$XUB~aY
z%j7Frn53o}N;t;KYRR>Sxw0{GS=}zX7J4VrmgMYa2Xfaic;EO0Z2C5<SiTt8<D{Nt
z7<dR-V6sks*hQHsuN;YiHrT$qN<polqX@%KJ9#hnXaq@?gts`G)2enrHOgFWNsnj+
z1LaQjBIME}pRUKgzsZJ0lHQGd-LtYbYv!niQm;U+Bpw@@me={jg@?Y<nFq9!u@4yI
z;+*aSPPQ%F87uvFXsJh-)txN~0J^M-^Vq``w<3~%Alyo-7Nmo1m4mI=?RW&=?zH*O
z%z42sZd<fEsK&?}cOKuyuY^9qJfuS<jD^OLc@RxBZfHOMjnka|ZHS&8G#MB=-)HVx
zAF&xw!Dhi;KzS1@l3<-^Ct5d-fW$~z;}h+3_|x@s@7_mdVM))}r|h<&_-kf7_C-U>
zd5^SzOYI_^)Vs}88D(Q5Q@^VnSp`13gVtb4!}6I_nzGw5fu|DmPgO2u{WCQoEy`*s
zvk>fqjtgGL>F7&iwEKc{R;xwJO72|CvsD7^mV&g7;C<rpCgoNhIt`E{zbXZ3Q5QL+
z<xWc6u^qY>dgt9PD)pT8U+w?&%%Sf2Q0I4lX8PgX?y4MSpcb~uP+1?6Mfg>!qL5ol
z&OV_J=$gnoDl7|6hrN+|c!7%GK2Av;!Li~xSR`|LgN`f>aV~Mjv>|$WH0uI3fL#?o
za`LDha5BsqHN&$r95czRour)ELv1x+LZ-4`Ibk>KB67m2o}^I2>4jZadP|GQQ70^a
z;h;AQKOfqDcs``X+^|AwQQ7iuw=!?*H%!N(SLe0%v(Pv29wzH3y=Vu_mf)ThG2cd<
zAQ0OXqiwB-70Av!M72nh#V=6=qGj64eU^5&TI*0nL9aG#?&wxI9on4?h&Bf8>Cr;y
zf<p9(R{nd1(0BE+SS-?U&^)$oF%If~h7xXsAdzsFtrgieDai*oJb5Imf17BJK+wEh
zn_25wIngf~yoi&`+jS%Mj=pBo&WQnt*Qdrw=B#yEO4MjUKn)aX&B{d1fgKe?6$^G~
z^U3iURciHe@8p#127DAxvhA9R>^bAR>MU}$%BD@Y>scr_15>iIu(rxA`XWPrG0AF|
z`=a!8yAY^%>~A+x??AvLnM<e^NM7|#-(M;WvDPh-<(nu)m&LKJ+Et(d1F2SrVaTiu
zLs+j;p%YlA*!fV|T-vOq=x=X`z5N*bt_x8T;Pb0WaLw*fj^M6$=5RB+Z2S}A0#c$1
zVH52@uC^s>J@5vZz(pr2lMaV}%KfwOWpXjBDZ(ACn!k-&hruo95oee(w0g1k7u00+
zQ_6Y<CkeOE?%1pZAUI?Z4c}-|i;|)B!~v2nF7{1$hnSqb*m`2RcTz%uucvFdch=Ly
z8RmoRo9#P<M1gIKBLuZBD`$`g*_LAmbj%E{+zVHrYENccaoK1GjT<z5WmH^U(=0B*
zA-KD{y9NoG;O_1cG;nZtcMa|m+}$Mvch>=eJ9nP<TldfTaeB?HIeTV$_pYw0js~i*
zqGYowk=2sJ6gsNK>?3T-<$Xq-j0Fo?ND1Hf&tSEtJ};1cR)<g3f0915F-9dyH6*dy
zmbdR;WoXovks4=jrM`<!+pU@-xYW4l8+nM%*Wx~JG2vh8Qwe>Kewk=m|3Cfn_Nw%g
zSh&Y8;C<TFXE-XC=8Pd>$yyX}V6$h&esoM&exdz)$^P&_dc|8(+U0MydI?rOr!&8n
zI)?FEw6!h{oH861y6LNBf_}w+(^-N_Hen&;%!prMH%X8{^;t_rIYCAiTXo>Pykj*p
zTA{!<pZf~dgEz52fQiNOFw8-w-^THc(yhCS_cUy?!*!e41zp%2_<exfyAJUQ(bsF-
z1c=S+zK>_zV`yl7;O&e!DK4CXV3cVQ&)49=6)A&5TO_%{F<UCgJG3gs*;(lUk~XWO
z#5tJ$yGoDx{<%oJn<|a^6Mr^@6wZZhN&vK(#joJadGFw<8yo3+o=^jN@h&5CMW-5#
zgK4@Q+&uDV(og5ix(5K5m#Py%W2kO^KY50l8p-}CD)uNt<u`FL*lU1bS^Un(<y)fi
z#wc`qcp(GDF*KbsfTZ;XE)}0@+pN%brw6_Ue|XN^H_nZ3X#^?t`$?s&Yu$&DPG$ej
zxrutijm2lICtCL3hm@v=?^vDYq7kcw`PK`6>Rq{4lUnIcc@10@$uf7WN(l~>;N%>h
z0zMoiI?+)xHFAck1FlnV79l?S8*Mdf6D=(9oVvs{>FOaGLG{j*2;XZG$xzB~F67h&
zss~ro{^Do-C^>htIo{$fUBX1m`;%jDv>F}RjNddFog0nF9m;Be`0_JXrW+7QJ2rbS
zIMMriQ^@@1iz1NTCd+#<cJ*wMV4^x){(Z`s=?{m|^?<j;C|aD|rLq&LR`Ge5e}b=~
z4kK8m5;jx*H3uZ?<Ld(VOtrMq?*~h3Av26&9gRc*TUHkHPvDOz@F4MJaVzvSg2DS&
zOFP+5WX%LYD!&XC?%H(<<FZQ^jom&cXR$Zst_o8@lN*3nVh5$lSnJ~}hQ~nN6=)e>
zPotgSeoF7AXCqw5yPvjrorsZf`&8LwxL{LYbW3X<r92LB9)?wHJxvO}<vz&kZm~Kr
zLWS(`=)=C&z{)~Xdg#3IQt9h|`9MZv!P)Ak*8GSmyF8T7#gCW3y5?}H%%g4dnHA18
zxY5Som<4X7O!Z!o+Ou#&3>?fzgm-Me-RZTu5z1_*-DIZI7;6G{!_l}Qj7A#y4=&HL
z8g$b#2&=;FF_c&GguC?HoO`-ZqVqr~`)X|yM*9&SAN8!P<M*(TJczuAc^GS|ByuLB
zw2@(VDq>%S2Z>3jNPbqvyapR+3q00qwn^O2vVgwqyp3|C*tYO)RiUI6jFYtG1&iUY
zTa$0`v7Eh;^iBxv#+x)bvR&%~wFp)nuB-Xcn~x-Q@y@!CBp1IJ>DG0m{dU?n_qNVn
zB<!hE^CJXL1l8EW>sJTw-c29Bs5cv~KCHo?k7V2~D3i7Zg0Z=&Kecv1URlAH-Zzyw
zYGADxnLds0Zs&o%B396CW+(=6$=6nw!--zl^JVyu*BWiJ_@zCwJ3gR|ZqatTMK?o+
zam}JPD}Z@}4@q*3v)7@8*<bl^Vf!Rzcz8(fWa5N!jKj}9JfB#%-Pr=p(;mT?s%n{J
zPj}Q`_VxcWy4nn1AgZC_vA<Yt0ikv8lb~-#xg%zZwAR<t>!ja;L|Fs(N8rYMLK<#X
z;SgW#lmC#oH0?UqVNgUl4rJ-W=mx@EbD$UHRO1#N5qG-KNfX2)DO(vk!622=^!{B2
zW0hIwNR1Dxa3{!XyErKYPpA>{<g4g|sM@XC`m6931e9P)j`R5GD`BM%AO<CVz;K#2
z)wjpD7s!b){CFlOZSc<j_{IEZ)5K(Q?|0YYq}vABLh+sy31tLiylygq^ZAh@{h~E=
znx7clF|^-_Xq1r7n!7nXkG*SXInwO!BR>D57;Ji4dr2c}7R9ww9=JV<!5HNKqEUmA
z8C<X0Yp*XL==U>)*Jog9tJYqOwLFk*-Y>G9Im2ssWH9G2#eJtnn4K0R$QU!6Bhxon
zmHa$=6QAaZ^@nmZCwnl9XKY*xF>yfB@<2zL5$jZ!_0}q6B2d`o(-CsZ_9s^J8f7co
zwC1FKY8p7M5XrJ;zw#(Sd~k3cFCt9D`mwS9>EQ+bd@1Ac4yf%h+)0M=$D32;gls#f
zVGQ!03d78y#PD*Ejs?s1L9GxLDQaSS(*9RuVOeaq5nG8*X#)b|+j*MA+(}_$0ueGn
zUJ$1X9Qba64n!OFHx)QKeh*W&8pMivaW^hntdbwH`c;#BcjSThm9~4wF1C_QXU;$6
z_2TwC@Jip5fd3eBFFCAYOjBT<qExd(&^en76ZS2ZvXF9oXBsbLR%4c07sS4zy>XU)
z_F3*w2R^yZTocJ7M5xomdtqf_nUnF5lC$WqQ5&x)tLvdkpHTZYx=A!_pPg+5`Q1C+
zbP8S*w77E|^Wxuv@=oXdkYt6vj<|_-!i#G;uqzzEi*tLU8S8lyd0_1S;sxYN9;uJ1
zt&M}1b%OG*|6}mIv`j>6Ae<IIa$Ybc<^Mx7_vxK!!7!+?VNSiv*5Jm;VycHY@dy(*
zv7_v2AeW8D>J(ea(I%Im871uuHoDR-U&>ku<~51i<ncI@UTU7&Ud|0;!)^?+Q(gy}
z%#_w>1kTZ+=|woSF=J3L-0ZUY>V=ghvzrw^Qk(6cFR$!5{||P3Tcf#H%lcjotWLN6
ziI<LqaGxIh;#LN&yP4Ebg(lF-$-&fe7L%lnz6$040t<K9LVxqC&!DoVyCR_z*n>I!
zSx@y_0@T|Kn$|xg@E@3ha*&b-HhWThJg-dEt4-GUgG|>*z8=ILZe*0o!J^c=?sg%;
zZD?upvXYX^Zv6=?5T4mLrC<Runyf{W8n0Qr%C7NrjNpYgs`V-Qw~Lyu{Y{c)Z8R!N
z)AqqSHD5gLGq6Bcv#xre>hK;z9y0sud+{>gmbOy8Ui6^oR%2`lso6UWu-}Ovjs1ze
z=&ZFokZjCu$V+COZB-OHR_WPJf42^Iw>u*=(G0)DEqxQw+&ZIeHGFWwo<UyxK;D@6
zkte0UTwm$QMA;lxIowxaE`)>jEk(NjlX)%<gS8A7S|AfSduOy}w@QX$M(hNxi`G&^
ze600mH8__pV7--=R<rT}&36SoM`N<ts`Z&QYy|VaKCLthUMxb7cqo?+SRu#S>l5sn
zaSgW&Uf}i&xc5BfICvO{f&p+J?`dt6ZD9N&?Vy+)MQR%tX^zXug7j=w>~(oe<1ilX
zn!ftusHO{T$k$rfdRyqJ`s?a&*Cn`3DZ%U`f;|l@X*KM`gdq+{7>!^+I&+!v-OC%W
zf}pX|s-gr>s9pQe<Le{fr|V+?esS^^LnG3Eq*j!AqP=4N)IQHQGoca|2m>}d%<A~e
z!kUl{4BmD1C|Vhw(u|(DN{E#RmIHYcfxShu-v$d43sH9z7!^+u)upe3=(UhHrfyP_
zu2n<s1+eBl$>9NBuNkebMDIs)AN4WE&wjkIpSqkuuoa`sAnU$i>yWMg&Uj3((iC^k
z)%};?I?Yfbt^Kpc;cU9iMuE`EDHqXNp0UCn1Up0@|2`smc^eDW#F?#pYn}ai$Yb3n
z9_?DS-64jarEM)(T%=e@#sOxe%-JIqO_=)WT1-bk7T5@HK;~LD<@6OKI?qUvdPJ5t
zxbi{fxYxMYdD*8LJyGGaO!uo^L^=#b^~E~+<tQQ{6Kg}*9=$X#NK6`p-^(Wziv(ls
zawry0Bd6d^Asa;HH%1r81*2^QFP;;!h)^UhJ9F&TjAzg!{=6|R>=`THb!RXj#}#Yw
zyH`b^50K*$h(s9#L+0SVSf3Y*HL6zI!_m`PNOO4MoPH!_rYB_h$Q)Wcit1oAiqeRV
z78^NJs8A{-ns^}Fw1l1K!I`*{aITnG0QGb0^dw!c!q&L3cM0U7L5+m~A5Y^#Ctc}H
z(H#5yZnlNMf1S6C8qP*vEW7jEjC&lUUaNW_Lgc=;eMG2{;5UoaYj2>_Qd17kb0TWT
z3Y3=Ul3}WPYuNPzies^srBXr7MlC+w6W20&8JR&zrvG&3K&O+H#iAH%)sh42okbgY
z3!<OZPDvpsL@7j@dN4o4TyRbk^`%max+6oC5$Q8)Q=Vril$A}|$^b!SO3Hw_WwHxU
z1x1I{qMm@QZfj3)S~ovc8MU1d36;-SAC~73H9icDR_(0j5HlYk7slJPM}S`{UN{8S
zeSC@tCAQ@*y?9Btx*?`ruaQv8s8flS%u%(3Ex1Bx9JnMmhB;`{Zl#ulokM5p7ZWcm
zG<j^$Mm13VJh-IPy7qS2qFXQH=;H-wXda~>4$n0$wiLio^SbqFM$DJ+|F=@sEWKW`
zNV-)&VV-NKCO$G(;^j(P(Or_^RM*o2-pH^;5(Tu*O;@Z!b`S&Jrvx^&_9eN9Rx2K1
zh&^r`#twTnzWS!(&s*?=nUxmJ>$CQ$1JU)`D2>HMVV3yn+gn=WC$aoE3IGbPS0Opq
z^!R?Ev?I?+OsF|O+Zg9WC|EI~-XRWgT(D}%H3crdV(@~N9dC$;vNXxI!So>M5uqs8
zOiR+j(y$}^taDyoke~*qBjG_)W~Fv<^<Rw}yDuo+nU==TsH_(0*7JTkla1Ff%9Z$w
zV`?>;uB`XkC8yS@Ii`)LK*<RTapSszdY(G3qM-NB8R=g4_h+gjK^iY!cnPMX?PV9#
z)zq5^65Z*tT*K5Gm)HUme#;-!Z93DuE{-~R%j+whRc4Hi@G^Ig{d#>TlzjCHSLb!@
z$_qzz6^&KO>xo9V=p?@o(s;++K252#e$Z$?`zwiQquN04pI5qf0_)BlcrUV?{gvac
zDKZTv!n#A=pQ~`OtCSC#jovsvQDw#Kuzl)dUk+x|^KKWX4<n~s59YCuLG7p0%V59k
z?*Z0yhWPBlaM4?1IM+ZE)`i<VF6eMA2HXpS8!$6l`(mx$72G04)N>PET~rol&?D3Z
z6Yk9*8l*#SjqmBHfRsMP6=lthmmC?nF$3=WRXar_1a%ZobZu?8+yY1Yp8e{l+QmWH
zkVUzcdFMu|@6gV5cP(2?h!MV--01QqBEPr$Ft6r&O4kw*Y<m~QqE`}%<ah0mewxWm
zhJIU0m2$F^gQ=#**gsB8M+qroj=*C`g~?+uWQ_pp(C8lW03{4=Yy_pF_%##XE@rZk
z(b<#^fHN=F7sA|pf_@j*ZSXwMl$<x_>hqiYnupXZi(fD-Xjf+SKa$2mzOt9aQdAys
zGh^yqW|yGgxbb#HQP7mZ!J#lmLcYG5)%qbt<GY%ORP&)E*GNJ&n%gec^i#QNo_Mk@
zT91(KGORhU<FBc2-{eaLO_W$=`Q_0}Bd>dEy<uhh{t7?8sE#qucxhw23zVpPeuc38
zU2U@J@Ov&YO(;*oS7NOVGx$KS{ZAbV^!;rYOkWkk?mb}7aDITK3f{E_$F9#H9GoUo
zTRKRud#BDLB4_NH?{x>u(_WBOa@U2XL&uYp*%c=NUcW^YVs=_*CHB()7@tK-A=G%J
z4&edYMevLXm5f|)?zv+OwyJT{5&1rkZ8#hQIkx$Ml}(=Q0RdBU?%%6R5xK={RSH=u
zqASyUZmCG&(pPA}1nqLG<ED*7_93%u3qCLj&@D91#)SEWcYES8T!IOXEz17ScnQx8
zMjv1k`N^Z>2e|?Bs>c}0)MaElnWXNHT=OHB%hS=u+Y3hirUy5U<-nhIU7{ofE|BWo
zpu|Vi7ed_g(HCySV%{hLl&q&PDsIBBY$uP%mAV+%E6kL;;BEGk%EXUg0lpG}gSxao
z^9Ay|*~#?awDQedr_k*(XxywWjajzqmn@(Xcmv7B3E7~NfqnxuW`3S83^NoTL7)HF
zoR8;ni`iduTgcji_t?CA@F0Bw;+!+KII}h-Bo*&Wnu-fl=<p&+_l!~vA3a5lh)are
zs`+A7$(ePg6NT|7V?)_Xo}lA_FrS_XmBZe`mRm#Z>Xt(3yL|t-`690in&{_7qH2Iy
z1)B&-VQMqHsgzQMdYWG40IVr>%C`~GIckZ6sbI^?@@hdLpXcB@LDiKt4J{z#>lQ;Q
z*K@z?9kcS?G*ZUaw?q?!U(pHXto{?%D0mLWGagpP`hE^v;uB?QH^Z!M<(rla@jnUs
zf;aMepTe&FZbqnQ$jkd^?}Tdp7Qk7ju_c7R#quvpaTkA!u&Lj2hp?B`eAil1X-%sK
zp`-20(lp56v~e=8IXh@CiNU9ocI|V=lc_E5WKJxJ!NkI=_ELn*hzx}~=eWhZw~IY*
ztlnD8rrk85@cwG(_D`MCqgt1xW|A{+`mJzZsAcSw_9+)9JDqCAM`q$1CScmS@V`%%
zd;I(Thc2#d+P^pX3}JPUSl-n8s_=Ps%HSEZ1J1Kl6{jGJ^~>l9auc>aBou-c?R`W*
ztr&#6r*;!jtcLG0qVW1_Hf+@9As-)4sZ-O%8ll@{JzpvRJs6(#j7=L$Kob32TFBmZ
zaTMew=dQEbhYbB=W38_fXp;6Zh3AAAPjwMVPy5_D<j%%wgYIT9$!p^HvR`_#LR7Aj
ztm*L1ft@0TlnDo`cMahu*;CIc#o->4BAon*umio;Rdtx3r+(!Ix|?y|?UuZBibAP)
zM7H}Af6kD|6ba%-yDL%o8YnK;VRXYdE?rW1_<Z!+$MXuoQ#jxYG$1M6)WVOvo{3NN
zknEQMz75lGQ#~Y-A%MQ}50GI`g3ri~=WG>2M0{>&q%AugjBZ4MN0a;ga@JBMve*S)
zX8D-dz6E1hzO9D=D7Fqo0NuhEk!J0^s?bFBRTdv$D36Ed04es>9*BUFQLVg>S|wh}
z*XI@c_L6y+p7DT2N|}O_8OvMv&)Icmt|IiFd$N6mim;CR`GG}DlsU-{uZlI>-W8y)
zeU4!2fAxC2OpfVPQGd+(Jc<n0`uL(y1qzshUYAeXa@{fY>*627j15yFZInD)=<iBb
zjLr^(&3satmy$_BXiT}7DCx}F>C}WucSi55>*+fAzZ`&W7NRX7wek%ZzV!{vGb_as
z?ho$!1})?*ey!^k{5EKf@^2Mfa1act2A(xd8=~yyc$ePPzV5}coJM0~|JV*>rg=cr
zw?6Luon+=GoqCqKnf!}~XJXXAfaa`@tFc1KaIlNWc_t=`C}!!r_`nqDXzcg8<=>H=
zuS+;yPRIZeo`KfADaVx&*N0fxStx6^wt#0p?r`nK8iLYr%{FonT<TAwpL)BD1g&)+
z2r{^_q}GydaqRw5s<j3}Y~66s*OGyQPby((J`uH5f@Yyw3twQu#4XR>Lsxe*YCwBL
z3NmJX%}~Pq_Jxaa4){ark}yk{sm66O(QQXY%-euv83|Wq8aj=nmrazq=azlXGV|bi
zHx$UBjhADVma$Ij@x`nMtaX6s{dMnOe*inu%%}GA;s8aUS;$#Q*Wf=Yr>=o7^@~&<
zNVB<f$q-1>ywh#h9YD8~wZSZ5@!cjniqL=leh5>ZJ0Gnt#b;@|#=Y1}BmAP#ENI~K
z4{#4Uvs0ZJSGI%mqXi9-_$^P3SARYIYBi_tVj=LSDEKZkbrAPRZ}}!^;y+0>dfVEs
zjJjC<8}<A2)Mqqao~gVI?9XHknoWIs<remT6YXd%XmtsNR=#hRI~;4te_|0+iLq5M
zE<_>$CM!xpl4`FE&U0GR%>D8k8}g|v0eOGL)4i%suEOw8-Zyqfqc*I5WZ}hF{`5hS
z#ygvVdqXDgjbsB?3FrSh49**yejEG2$cRN1<nX#dcyie*2LH4J=Sw;wcw{`!uC0-r
zZdwK1&*aq4dE}ZpgnynD=%kO(%vf!-`<+e8CQx`ey`ax>T?)L5)&rk3M11E>fcLrs
zyN3MwF$&7Of3xO|e}il+3_Z6@#%ae9Mi^3)Byu2H=Z9M?)KARsVVCrk(#raYr9IjV
z&Oz8a1zg)LOb%ZJ!q`Fi*ppUGpWMTcHE<R)!OR&{o32!zvtAIVL!H5dFhL+<U9<w)
zj|b<y<G-V2M1D!`hIP)FFMOfLz{$4<=NiEzXhJ_KsrY${<oeOzVddS4W(BL+PJA{j
z0_C<0!UbYgFKMf{!gH?e8&D&6ZKHzKy<v-xy7xlT6qs?(g>$x=%_R7w#o9y@C8Yhr
zvs*ruWj^TOciw;6Bz4?xm4w!H^NRk-g!Rt4V&AW7JAI2mt+aH2c|lDMh^_puntQIV
z`FsNH#}r)z1^r;k9ji1UJs-C)DlUox1Kw0BV)h-FME?H9J(E7&f#|b2@LXjHG+i68
zVI~yh;6dV0@(BUAkFN|MNsmh0k4aY<A<o#bk>;p;28UMF`jg_9^mAd6=KKw+-s(Zv
zgs2OOa*eHS7)!PmYQw;yg)1Fe&C813mS3^Db2xk<Uu()IDUO4f^-}9ERX>j&zw&Y)
zk2YWEGuq{h_!INDpU(*VOEB-jfmCZTCneIo7q?x32j5+yW|+3y7*VOecv4$BdzU`P
z$|p$CJJODgDXJRobWCt`R`eM!bk<2VB`hq3ZzMvT*SdTpg#|8pS(AZMt!dd!%}PpE
ziGz(0(8yqcdAZv+%70f7=FLgnY<$sE#=2EC9z*&<_mQL2Fk#$U<HnRZ%$5GkqHP;g
z;&|I^q_f4u7mS|@ox~;*ol-^v))9m{8a_pNF?ez7pAM1K$lo+7?ea+lnwAdNFwN@<
z#9}xr9sOtC0Sp`=v@4hu^!rhLgy&~GCHqOKOsq55igRW<oXBKsz;zcj-~?8=2N*Hj
ztILbvj-M^j0rm~|!!0goGaOmrFD}y@uCWJ&=OF>Rx&kh$gZ#9aE8u*YofSAF0x(+N
z#-?j-U?Q-h28ruSK2TR!y_ReBD+C2l*~aM1`cS$6!$bF%As$X~E|js04NPq6MXkII
za6<dlb|Ep;_o?&s8P41KGy>(ys!<4@f+NuDHE_ZkP@4rfI6JZ677o|8uSR4XOlKEY
zA#7)mDdc57_7y7lZkO&CLnO};6^yGzRektQ$9<Ab#)xCh(sl$(EqoZVm6j(IfpLmK
z{uJQLBiQIh=kvGPi-~p)^w)yI@EoPG!7o3S`;Qiz8c^V5XSQg_*rE}k^Aj{Sg-0q~
zIuFbC)-)OY<I`S4h;kET@pGp*e^NeN@i+TH+J~XV?y1{13*Ng8)KVNZ4ZMJtqI*Eu
zaBcNcR&bDaW^DmkmqbmWULf~3z0x&Tj56S?@f@hQRoRs1Rc#-s`nb^l1W-Pp@~u$;
zINLC>Cf4jsdE*+-5hQ}QD;9SU(yVFvBJ1_TsmE+d%p(%xk&KfpKo#|PO(c8(=a<S}
zgNq!#;jdzlhhK1zOzRk}xivkE3mf`+2P2HeC#lGeejqy<X$sE|{)JtzyrMzeJ_f8?
z;Bv03DLc*5KnCafRh^4G^X#HS{C@=|PN>eC;2?xK0~`?U8nq_b^Lh{p22A4faNzP>
zA^dW`Z2rsL`|U~)Os#{HJ7-1J%Thihps0i#NPf|q4Yu22g08vIra`*?%sfwfmM^Ac
zl5i%}7zp*4f${llXw&bL(Oz|BCL3^dRfQbXZOF5ufBxl-Aw5?2#LY%FKh=-3GIN<O
zc-h@bDee_sTG=Vj)Zc{U9JQI?N-=k1BWPmPM75>tpybnfIX1@I@xi8_3yealVs)`n
zH`V0UI0W%tv=)!-d_Tn+mv31np_VjZ+#vn@)7vS(?9Za{i3~4D%wN7jQmnu|BC}8P
zQ+CrVU!bX2CDB|}s6DYy6(0_<V@0CjDm=|uw8gc!&#=TELR6o$l@lsRPzbvC4Z(Re
z4y+9y!8=}3U5Z@@c{k&O?@s+<RjyNxpPrrMhkqYC_|U+H66S*t?>4W>D5%8P;beGR
zVtg>$t{nklu#B8HmblH1?FP7pYYafN36ceWgD>`%O;lE)g(4gN=#0+ghct74Z|nWu
zuWo$H4P6}>@TNVL<NuIJpNL5uJ{s0!CES5_FobEQXQIKdfg5^u_Wr##BC?N0{fA}T
z1N3PjOMzbEon5EvK|fn>!=xvrP~3)EuL`03l9iI3AiulkdSqAITRs5!iP&1U+=LoN
z&vqiQHP_!5t&~Lm>beig#M5p3XXf2xsA<-ecX?d61*Z0i)}w6jzRnIyi!*k^_A-Tj
za-Bim-go>c9kk{SFX4DERXQ7$K9Y2vwR2d+%V(U2BXUO(-346j*k)+bPsn9GbR)UA
z9rtNhhlUfr{fp@{=pR5I+lYgH3@WmxVpx%8c2dz2SX5=q%eva1d~hba?h)+SJf)z|
zY9S-aw(3r2v4#4F>5tSi$+l6m<Z|e|N-D=-*`FITP-maEW=ezOm+GF=P404~O)NZz
z0}|nppYfbl;(N<gizs0%L4*Pp+S&6=BjCTJzzj^8?7R#Hn-kE$=1g5n(kw0ycL+Fk
zGNH>@a#J}pMKoIT@4Z8aQt0OrTq%E={JGvMj&vl(ED2W!tZyY)li8rcgr}oGz-JGj
z^Q2DY1K#yAXK*^1q$gE`eeC*T78~V9GDVVLH<c6V|1_cP0WldeCnH>xh=Eg>-q;pv
zC{d)-kJOATK%qjR9Y4_^!5C!{a-X_Lg&aGcCmou28|itS|IF2}zx7rX^kU4qV5!x0
zwKnmpXBEy9<)<R2gOzDP7%22@sO@`twHT7&fY$EvhwBE05(T0-1kKA=YSW$5vA9Oc
z8a$0qu7gq4xovZYxl=HzCR0fpa;wCTJYDZJZ_@4rNXk6QWxEm#eD<8zymflC79X&^
zBYQ+hhE?Wbh(C2S@M5stq065XGoRy+MZ$kkoIX>h!|EDhN*yD6usHsWGohd%vtg2<
zv%#Fo|Bp|2h=cZQnuBN}yQ)OcBm+su%OHe<Hi{(AG^1;|C<Sq|{zT7jgD;oW^4~gP
z`@u{C;QF2BKNKq^VpAl=^d}uHO=X8oule@*$kT}v{t5>(F$;9ha)N&7HV2s%!dCy=
z_-M|EIpa1*F9uhb9nUlv%X0Fe7gk;(KighzYDgHqh9jP5nzqjT?@*U#p{GEK-Y^Y%
zH)FST!U^kH`I0BG*jk~u6#&XDQn1(~F9RIgW3?<7DE?7a7Pqa33;)dZcqW^^IR^u6
zMp4x_;8R>9-;r1If2X)yj8H8Lf;v*2=~mE10|@l4Dr9U_EJ|XP7639pE&NUrS^@#A
zqxYI$iy$k=&Roa^3kqLyx$qABTCYw&XyM%#=^NLtg{USNvB1H9q7|!@9#Mz_Tr;iz
zdwxrT45*jF^apq-tu{OsE#0|oJA3gUCSBdR{2LFZV~&=6Yz>WFjM>Durb1)48fuN&
z^L2v@dqG@o@7SyYn2Yl#;ndz3**}~4RpPZvsVs*3CCCoJGe(3HNeyM5&z1P=H$UJW
zI6zDI>u96<lfD#3??E?w1JgjbkkXOVa5Fxuu<!V`yXmkCuPNBoM)5!>i-T0|plYwK
zPhb83IkwmZu3BxHOh%R8wIMr4_8_`|A|*-r2g+|}#)tdF-kLVuTn<7Krx_tTxmiwQ
zB@07Lwu0tL>VWnfx8v)yl*SXfRVJgKK3}ZF>)N@?4{*7!J=>dZ_hJByxl3IPY8wKf
z7BBsF>iY8*`NE&l-z2ja>Z!8#<a<&4a~<R<kfC&;*)3#ZSt1(wuM(&sJ-pg=F#GDM
zF`81P;)~=d>atAb236{*9@P%K<-p#=ousYaOHG&-mUuiJJKB71f?p|)TzM@%t526Y
zOos2aXc@(SyF5phG*1IOgP-hPD;*~PA)QmcL)!<R!Q&l6#j;Jhy#kPn!uB?FU7Uj7
znO7E`Lf8gjc=(X@5$dzNzIU+OX-JA`Lgj3ifBdSjcQ2Kku&B%xfU!rSEiV0`ht!4j
zJx_}x&{~ELH7@>ORnpgo{}CbZH7mIa$|%4Z(ek?2&x>vc(C`6Jgom4SXbq@Ww&l?R
zSO*s8Lsuq*y{QYZ*8EcL!NlJi(>7-?*{f63S;-4v2h->+-s^pI#tnavZY5l25e?GJ
z#wT4#RhzPwZPdlv^EXniaA|#HDs6bqTWmFYM``^yAEHcw^QpSH1Ea{6{DiZ{S>{K}
zRZ5lm3qIh42xQ+d{a2(2Okf$wtI59=yiTj-@-8yJ90X@tqhLFQ^eOMh7~#B5BF95P
z2h2!v-^htQ=%uamCmv91(O%-l3a@z(H)r~k%jk-(xrC^_KmX+;dCf^~@{nvXV&gAW
zQTZ?Z738a;PK=bSL>?L&u5t;+hY{Rgw+=I7i_im$&m^h&yJKQ9^*5x1f~R3|V=6g3
z?c)P2B+f&Mc+eOc>rT&ua!%v}CWofRLkzSdKrr^VK(|R8jbAap$LuHS3X2Ul$Gd!o
zsUKj-ZH(4BEPn1i1yQ0cmtJ}G#!BX{aQmCbrhdP<DS((aF^ZPD-e3J*U^^aUS@;0E
z3R?q2ygkJKXdB8HWx^-Aca7lurvr8<9!#YsCYp%6=e!DyWjb-E(a~_r4j>lJrrwwy
zL^CekGi%VZ9?(UN-C>5e_ne^hMs~y>S)1!rJF5NEd0;lCZ5h1?*7qylav`QyE4n#N
zMtB~B*8l9NeLmuv`%em?+1$tU*81X^TLomoq$`ZS<)ntAv9I827gh?;S$(+az2$s#
z0VSno|H1~MbW6sV4uc3mNc>rS{I#g7UX%~oaI@BOf+MMQghIS-OeYo)PnhmOrA1+B
zw=jPfo(OH9QIYRX;u$NdPqvpcQCAml!TA0B{9N|H#GU3)=Ax;7?Fsnvt%*em0lUmf
z+sJ50b~6)%W=NRv&JpSU5gz-V!4NA6Aq$<Pk+Ak0TIrJf<xRdR3sFJ=`p)heLba30
zBWNOrm7fk_@$9+$)XJfTP1uennIL{X7IOIuVG8M3n1@X=fIN!_{=~N~Ai$Bz8T8u8
z(zckO&BRY?DB%iV5Y0oiJUASy07%YC^_2f*K<=QnNQurDm2-q@u>J3I3BCp)d!--?
zNncUDg3Ttfv4sZQwf|VVwmh<zdrI6Gi|b!JIK(qcHD+cNy^N}^^)(vCENi+%8m-^f
zkvwGxhBHhqPAaD{BWbgr`z;g|a#N8!Xb>zpWFr@d1g9{%Vn2Hw`-!Ol<U6ZA;T;G*
zlZpPc^1YdHhYuoAzM14$)a}#Gye)(*!W-+G#-mz_4*wzh4wsGiHyACv4MWuqYwMeR
z>@6O%E<W)5r}s612df}r$&j^|I;PXcwHGi}D?9sVc8?ZYh0JG8MP`R%8}6qk72R*)
z*UyNnxw!gc=#izQrW!zg7<2tKj{eWE)0svn$?;f2y&mCW-zeFmg0W~n4PLOxM1_pj
z2wu&!d$fm{s)OhPbLifHzG_jXugJV;;fg$0##PhNSk{wDZBDX|Aa}*Wgd42=kLOGk
z8{ygC-?zer*SUK7Wm4yB5VGUzPUkI-8;Lg{Qik~Zs$SxW`6GeYZ2zlz*P~~IQGps*
zhI9H3L*c&{JpagsFLfg-s}E2`OTPLZ^%10)aeslSO8M}b8xCRnJAIH9>?Q~EF!nYB
z&MGsd8}Y-GMz}-+c+EPqy6r>Tqx{CG|J7LpYFS2?;~%g1Y-eS%9IuM1{&HXXgSGR@
zdn!InRt&*r9{|Qi<MXq{c3Ayxxm|f9RJ|ILJ?JHU#!^u9>0$O;;OGB64DGp$AIeE&
z+g=Lo!ME7Dhr9+pvPBDI*TGjP-@lX%c<>bm%tWe9{MwJv)G5A2TpS8nh9-+w>&d|T
zA;k=l!!|mk2wh1OI62mr%@F|=qH%42d)5&>gYaEl3+P)PbKKwjhetT6GN6nadzBQ#
z^}3HG9GaJnhv(jQgA42D!VypX5-szsW>ADYl0vGll?86(8z!10-uX!@OQdT%%YR06
ze)?uJ*VlJy13pBEUt)3)gQS>EK%EZScbg%Gbnrh8)#-OdrVywT6MxhjlP*x18Em@x
zkNEIN0uyv*HuVgOeTKcL%<Z)b=jO#esn=0zzISVcE_o${#^D0Ab(o5{-p??($L+?4
zmjC?>50AAuMNDEHR#rnpgb9c^WrI?`5bT%9wI5Ut{<`4}QLHF!Z<YfedN&5E3`S!a
zshWo85?Rd~MS6rmXDfWAB^BT#gvP60ZSf4eLr^tAp)^Wyq(*Gh3UU!7x{1TPoJNP~
zP1)}1ijBd=PGX0-;)&#LT=br5Z+aUDl^f!nNq+jK5FX+vD3wu7xLLTP5+$&VI+Gt-
zT{%?fLc0;rMV#Ahv!=9hHT^xWM0O5khQC=fc=y(g>7zt;@tp;XKhHUMT5><j@^%8x
z6Z6>aI(u5Yo%stWtp5eno!a`vY$d<&3JEVP_<`$-D{CbUU?&1MrbsF(@K2z%SI|Av
zr@f}ZC?4=r&=`mX-0$iBc-(4st~Wd<F(@Q#^u(&wRw2mu+7O$Q-Ov`(RUaKR{CO$$
zLM5GykUcekcS{>o#FJMMxGS{<j0$@f`mV0_p%aNBlsJ7gm<Jh=9l5auv$)+p_QmIk
z;z<P8P|eT(qBjUB4WL*0u9sr(ur464KcDplL&Z{*ZRE?SZW+JXGJLk#Y`fN9)_pqd
z5d9;rp{`}#($=cnddwsoqO4!sx(+tVBflbCGr7RIPI5mkt;hR0Eh>^6cqj!~`##Ta
z3BSFR0?*@d)t4tT@9y5uFF;pa$Ee0k^@q;Zf#KrE$H)Zfdx@Wu_cK}=m+;#f@8;2r
z*Erx&Y6Hc5aUp%>>0H21>Ph+JwKjb}mANseQ_GN|z@&|KQ}X8|`&rGx(N#To5nf6Z
zerM3{;m1u$mBrR50)084x8BbVedGhm+U)%1{65yL9mji~RsS0kF3NRX%(?pH#G)=3
zCnE&Y)cqGyw#HX&zx}UI0W*)nXZu;wD@BWP36>T3PJQgqELQkV;;{ryXW&YUbK9hh
zZTl9k2Bj6e&E%bl^iBCA#p2sV(S|&@;W_PQBe(w7>qBX6p908`|J?~a3L>}uXxLas
z^AM9D(iL2vTiTHYIl+&XQ3u8lU!2*oJ-;+|O=}lhg6u{vgzTN;ZF2>|#u+!iSdvOP
z|M0uhu!LB1wzy>{>}Jo%g7LMmsTNp=M|xl4_noy2vhQgJcBQNx-%B=>YTf8%8s~AL
zyNG!HR&JY&{RG(h4WH1f-fTjj8(^y%N&~>%PGSZ_&72m5oX?@-ntiM2YYwX!HQnXr
zloV-K$n;uTPWxz{g%$;R7CTnmn4o{@E}j#Hd_1hU;l*vrZ_*d~S4!I%`7>)32JYu|
zy2};Fn<D$xH*(*Q>Z#Aff{yzJb*EL3<2N?{3|8yb;{eSl+2`UG15{M*_OS@tzyGe?
zV1%b_N;W#19dqgUo)ZX%2g$b*A_X3pc0X5`h*2nv^G=!u#Jqy77zO2|wPR`BHrG<j
z)!e>G9(DO@9y8fWZ^s+Me8MewUJMOvNHTU&2s=Vn4Als0Q>XNif`FwVY7O8uxg`7g
zRI7(_S`2V#g$b6sAalj&A*JO<=HesGp`c&+L4`^R_DYu9z1pb#qbzp9CBPmCqJ$)o
z%H~q}W(h?BrNc+y@5L&iz$}q)Z?{cY@3E`anBS-)*lSkY8J@Su4?Cs7oHYImgOB3x
ztx|kJ0CjOV0t_1V3xXEbrKfHr_Dh|RnE*BSg9#9aS^<TWvB^D*5fY*h>K&>^88G}^
z`E<`P+qry+h(aOEQ|9^TGNug5$jjW;TTEf;#rsVc2!HeN3m3**^E3I%=~B)mKTS6J
z(OEukDRVMlNMI^)I#i6PeEQQ*__23_?kh%S9!@$BzHwC6WMEHt#k$6?m!+Q9%s;G%
z{BXd3RBt&rzM2X}O&HAkamV2;CrEKQ&Oo0ZGo?YXu1J%0UznLL4H4B*SJu?0bxPIX
z7;15T&-#9|O>Vb3qa`9dls?`$BV*rbQ0(O7T3|d&^Jbvg#25L;Vuu9?KfYn12^O2#
zWf^8XRtY5vTJX-ZFmg<QFt}SHknkfEzW{>Wi`?q`XxNTqzt`3L_V%F&x=66o*A=f0
z;L#xXHj<PbXm6*+h8o4ZHEJi8j6NGr8B2H`b<=>rEA-9sYi~5z`v3XpKrj8<X|ss>
z(5v27KX|f(;KnDIjIh6%8dVd7im!QoZ~6wOc_oo?&P*y;xI$-A$-J|krxfYpbO1Y9
zLevhdUB#J{tH0^K=lxJZ2AoB0=Y_)%=Q<k)finctm=DdJMBHYw#zx)h&N;GRjB{hn
zi@fsi4wJNCwtgq24B8QP2iew8hvm&J$c*;qOLGp5yZUL4GE=9aXB$s_CGx{ggg&n~
zvE8ac8y|$>CXGAx=gO%<-hoz3Z{T*Y(Az>(xr)<{CIQEH5<Hiv3eVo;zqh4zkI-8X
ztg3l1<Ue)gd1T97i0%Bt*AcZ5k=jp)R5y8}fVm{*nH^GT0_tYvJ39)=G2_Wqg$V4=
zl>DwEtW47=#yP*_+&j6t9?#xFMKjp<OYW)FKR2wGr+Edf*VIE7A)uHVz}N(ZNJ2Nk
zAj_;Chlt2IW~S^SuTYoJ5@Tyba;|@MHg5c015Y|nfQ=>E|5f`lv2m4ToE37P5}X%$
z!j|0eI2V)}vM--|nyq2bhZ#YE)7s@fL?uVoTYEus3@TT_v6vm12Z~=|v39g=cp$2W
ze*z7Ss;9M&<nH5W-~k*UAh{ycC#UqgUuS(_?Q|(8$`?K#!FjDB*TIZtgjb(Oa5u@+
z+LFM)3>>rnrak+la27)1Q1usuue7n=1X*zKw5F+Bd^m$<cub2OJOn{x{>m4rpM<nQ
zBQ@k(-27xsXVLIv4U<k}hWbP1zYKNDWQ$M}6e3MdM$PpVWKakoQtn}yrER&arc*kd
z8=Z02og<P0o)uEW8MXLFwu6<lQR6=3>fN7LtwbO@D+F%LnNDwJVzEFT2Q0xA;(}+z
zgBQ0qPE)w{KA%*oiZ0A-jqy^7#(C*#P4api#7Xtyb?wLJAiFPGRgqT?;om{#rPW)W
zj5zDN%v%fsp^yN^U(YMztx?flhAys`(M)<;CxX2BF8+zh95`88Id3Q1qN3gU=kh){
zIGG4$IIdxYMbEhZAsC3$5ISXEQPN>wl{?$}VP+}QtMh^3KKQ>iMW74*L+95@98ha8
zV}N#hovTX3`yw7!ND97I{&;LHcUcXeie2`&=mRwYD;}vY*`RQx!yTVL!&*-#b?l)z
zEb#NS0t~SPMP3bhnN@jQnx<%Wa>WKl_^KcAD9#AQ|G3ICe3^cJkIQgy&-)8KSM`rS
zBn9&jS`FA#!t$QHEzg?@YwRs@rB0-1WzXuHeZ?M>yYZHMhQX&)2t&Ud?L%aydz6oG
z{|m1GgmKtMi!~qzAPy(l5F_x^jEI**6SiMcm0F8>3830yw<-`p$ZT0S<UO~oNR&)1
z1n^l3^e@yiD$nW@zfgU?FxHg84)*8gFtCnDH<g5SL(pU1S)65=9s8NM8*Gh<Oh8#f
zM|@Bs%{Iw}Xq-W_u?=kltwsTLB+@GsfJyNM;1VM4i!Y^=^%BS?x^qkZl|-41!yfM=
z&@0ApHZ~8QmjcS3kt6eQ4izkF?eMdxu$CFlu#4s!Fzt-(Y*q<R|1AQ_voCl(F74o*
zbJgkO-;HZliCjn<F%IoQ<EL>?4_IFd!BY<3Kbo6Ib~&T(@8|uIjmpJV@>68SJ3;0W
zP)K4(T}wDb=9NP|bh|g>{Dx}o`HX+K3!Xmki=5TGWk33|`CHjH{+!a^boqz#<JX{c
zb?Wu#nbXORA9x9Rq+TM*mD>YKp+_;ZMa(n477Je+g>rV<SU((XEt8?x5CV4|HcIYQ
z1cy-@UV2yn?i_Tg^KX6jYC(^W93snjfTXH%JlkZ!0l7jYTUzd@zVf-WBV-{G=+<GR
zSTAP-RZqImMn<zDS55Fy2O5KyBpT7HO$lU`&%Eo*c7X7uXU0}?4fE($R-#opU>TdD
zh$t~#DeiOS{Ee3<ltDr&oagWLujgF0=djgdM7!HFIpIZxDIpZ7RehP3L`6#X1j<nS
z(t(*@@b>Xo3q_YCW3{9tT}fFTwH6?g`rJvO+1R*}_T1Ycd6IHH=0EfCd?F(wV^uJB
zuynKHAY<p^;O0pR@gxWI&YHO+J33TbJ77ILTDCvysPOd>2kJVtY}fQ{=m%jj!64#f
z_nL!zr^i<xvOf+sTh=bB7Hy_CM;=3`-lr<O=?Fe?E8;lI*YT^sogWYP_l>hasMP;p
z^YB=J5G?b5O3~u-U%c?=&Bcufm7Z8cfqC5`inns}XQ^p6k_iAl+*8~jGuyf_zFRmr
zGB(+*L+)NILO{^^2g&;f>H24p_Kr<YKWxPs;X?YSAT1L`NMoMwADGzM@6kX!zF>;g
zRu@e44i3JC?Q9<%!KeGYwZM|Wy8Zs`4m0~M<IlSYjQ}Oc4?(;E1DWW^g<xh2SqJCE
zztRdd$;2Fx3Jd|W?9h-PNRDPQU0T{Ycz=V$9nqpr?D4+q`{5ud=y+HGDE&>H=cWE0
zX&PwvdbsyWTz3&A7KpBxtgIvm!mNd?u~Sy8%1Z1?%GnqYGfhlWQ8Cr>POXhzLj1c9
zlld7`lc()w6bQ&@>!MtqpF08?wN?al-culqPA&#ZK!DZRIcjp+bBky%;yFwm2Xq@0
zq==)&FHsBIe6SIFPEt-@6f}ez9E7OWa^0JHP-+_1mEkZjXAzs~CjyLIHU5U`&WZo2
zHzni`!HesWpEo0l@(~fw#|M$xjN<^|n*Y0+@=xBeBiHQdme$JT)X+V2Z+y<3eHp}k
zj{#ta4|LJ@VV)ygKkwC;974d<$z`sz`+pQGyW`x8N+Tj(!TX~j!CwkOARP&!LcqW1
z+P-G5L-c$gz&viDQt@zeu6;0El9C?~SNB4^10Mf)x<5`~dJq3O{(wII_|6NxExOlO
z?!RHj?C;qBq?>!W;<db${N%p-XlVXIdfzkj0(>ac0z-+fjDJWA-s3)*uZ!mcQ;F|e
zE>N8(W0M$HH1z(M+pLNKlX~w*6rAw7@k<}pD<4ivu<t&#?|J=W9T{CeC@-u~o-Y%i
zm+kb;?L;A%7wk5e?B3;@KX|MJb)fXcnq$Sd>ncHpGZ+v^@PaQN8)fFEw#JtTZa;ig
zf%_giF`0=Eg$Wvv6=ZYMk0v;$>no^9J-x}!_~k8_v9ST@s~w0=d#dd)00av`SV_4I
zvPbM4+n7STYW7HY$ArKo^`AmKHu>i+^Um=awPykBP3rl_lI1UmYQ=t-eE61rl<-5^
zS=2a);p%F>h*B+Ou^!v!0$4&2JXtM32eR9%<iB^uM&{*fv^$Mx#?i@zL$n*z-a`~O
z$Pe;ININ5$?X5?97CVPr;M|eH*tO9a@_k^hT8y!-V}f+InvYR84)E+$hkA`G@!Tp5
zd?$F>8r0RwZ|uN7M!Q)|cqF~Wk=S({d}!7?MDw1Y{ebVPR(&Px^0`ra3EBh-k6&XR
zw}du6z6VyqE*~iWesz@O00-dA-r>6xN5C)ad)Hj}@COukNw2C|&H%BC7TsI4$JC8`
z(ktf5H_>ffomue3AWSrVubOcL=xyQX{qT1*=X-<hKKStj|8wH(8SRk=v*o|Y`Um9J
z_|+pc{}!g#8`Ap-2~h9k;gwXq)<fd$NO;^+p8{HwhJ^xuiSZ;7)8v1Y(Bx|5Rk1W+
z@;;Lvul}uZrZfgLF&@6x&hk?j|8`JvJh{xk1a}2G$-Hy%H^1lIZeSs28dWl54sf)$
zA}TCe=l16GT`e=Auhx6aK-0b9JFk^GqW?;yvuG{sul7?h1(G$XSg<i9l99x7zqhi_
z(4(#P;20^HHc5lff9E9|1T}X>>hl+eeIfQNPX=L3u~gzkPYNYPxTZA;D1>f=Gr=V-
zF|Y=2guJHjnvgxXLsRYrsmTA~u9Nl=Y`%|UXr$|y@XYZsH=>&Ha~lX>Ti3KfwM4O~
zLGK%P2x>FW1NwT}JaAobP0<7)6PTw~qlXY^$oj+W4=XT#KSB{z_*RmfJkE2!B{O1K
z*<=r7;l;mmt+^t@vaeG_1t=#^6fOAp3NY(I4L5jD@u^!-?ldf`b%Ie<QQRPs%&}rk
zOovVb2gia}TeCX7M`Nw@E1g5nhyl_!KT0<^G%Y^^AdzJBaHC?eU#Nb}M3oSF#@90*
zVP?OrHHM1CTAZ<wEtwpC^fs+cIm7bMz3*jcXsJ|P>Mb#(_~WOHj=HS(DT`U31g%@p
zi&keydkmZMw`$%%++5DJjdwM3Hn;ZVr2Oa-)~+|q(cx}BHe5@uB!#?RYFT&^D6O&S
zE`PZRfk>iXVbG{`v6V6zhieocEF9jlgDQgA7kbDFt;N@(!7^L)_xutNLWttx=M8pW
z8x98UaMnCUBLiv}REm3Ec$lznTsRl{FY%#uSF9vUwAlR>@A7FZhP2})<2zp(X|u0V
zzL__;-6JX}&og`Wk@v;;>8G)*mi*ntwG(FX1b&(?QFfY>k>9uftBi-gZFN?LRdqO+
z+eyk&R)DmxqSmsQUp8KjfiDxvZ4TQNdYtHA88bO{X;ol+Tuh3!+v5I3=~LiOm4Ea`
zEYWkiUZ%NY8x^M2y5kSsuVnU<S!uPD^aWxd>0c(2Jg3#gdPQc?$>ERXZ+RQL2Uvn0
zG(exB8M+qD@v45K8Oe$h@z{U}JyKT{7h^t}B|A<C?xpU8!stfQgHJ413Fzkz>E+eG
ztFPnjGVt6l@Xsey^%>q7E1%g~UhnQlpIS-H+D=0<^hM5-1ezRt3sge!+&^nKetJ!;
zkY_6}wHS@s7?5o}()3CQ3Te^aeHA9`E(2_6))yiI{4BszwbL<ldUgV8L`RQ<6J)zG
zC7?s7xmjt%MpvQ2@_o-5`EJuok+yO?fA+oOHAVIgxh@wCRcAzqujN;!pQbtz?gu9$
z+-~1ta#}MR!WT*h9~apEQPvM*$Aojq=1Vmsn&s-@W!3u4@rm4bu~VTmF0b%bmI2T>
zjD2P9CWtxc{`%1zH-=(d7Z%DIr^R@LmgFn*Q>f_4ft&}GqCIAw7n<UL<o<5`JBfM<
z6YI4d$Pb^nOk=UqjZ7~q<M(CcRv2#(a}9mDp%WtW0&7BZ1sMj-pWl0^1+Pw)U-}mc
zPD@z6eVC8W%?c2jBfOucY38lQE@1)p8=0N5%OeNq=D<PN%?V?FT$qRf?+8klRhJ%(
zFr5A8qJY0FG!GP8*@09C4ff>M-P$K4!!`{!pr3i~%_=i(hA10{>>~)Sy=3!K@yab7
z+|oCmLx1?bYGvPJ%nNS;d&&8tx%Ig)-GNGemvrY2UF|55o#N7^j`=nl*{*<5PO?lm
zUb+3l*S)`T121ZEC*&iKF3$0)Sc!-vnYI{O$T=2_7_p8ets>+8`@WRo?GVbLV<wJX
zxLGFh>iykIYrNqhpMDP2T<a$y&);pd-ZYk(WZ0~=fUUZ}4;!D)eN$kOG(BInN%Pn%
z*>pG|vq5&exu2~*R{qjD^g9v2vxPc(f9FYOxD|VZOnh!+<LhiJ(lyB;DGZ&<qU{I0
z+WqrA)ruEJ_B5>br;grePrGg1i2I5n-5`tA|29HFKOSnkvjKIYGtg9dDrNGMWdo5E
zEh?c9h9;?W{lu~~E?(SlWyaGfT(`%R@#<<$1h-nWoLJ%s*7RE~X>B7QMIqwOzh`T}
z$0=BgjOlV}fW+G!WuKK!5;wUNpJdn2mt#AlxhsK(t~K>dJyqrqb?RN>nZwq$+uC;&
zTu&Ol6u-91$^vLT>z@&eV}lpQUl|#(6e0K#-dFMv`4wkDs(;&x|AJ)5{|plbrr8Rl
z4Abc}oz_c~xJEqWdCdXnjg#v?P?FDZOF%~%KVrjgCbBm6yT?f`v9?q8DPC5oJ)rN0
zZ5^sRA<m(&wPhrf+cg=_DsR2=x{v95OL#t84y3@8R$zQx;Ui9ESrUcT(B=8Y*_RZ^
zJ&o3sHEjyY&U$(h>n4gG+B5n*!Q}2UC{=QuJFQM7StB@At<wq2a68CXcKf_VaQ(ls
zz9~qMVB2=uwr$(iv~AnAS>4l`wr$(CF>Tw{w2hfJ@BZ8y=VU}iWUR=j%%7~vy=(2Y
zP=*eXlW(2#$e?oB8AcOzCEr_!Vi4_nNof7Z8P?qp1b)oAu#o4u3IXHucL+%Q-!NZu
zK~&EYWp<mWPq5cpw`(PmJ@}GuhTv7$QT+Q$(Ywn$ysotZ#29S_s3zi4(-PK>u*RO-
zrUv>bDgR0pq&u&b^8<_u?;A8KGx3)8q_+fgEbg|N7wh~Wjj?nMQ+9xI8=g$iAAPHe
zXseB#a2IB#WpkMf4br-l>edkfkBUt?*2O^bGfv4n>8#v4C@5r-*l6qPt8z-D<2k4A
z=FIP)W+A({LLLPe9rTipeR3DOO|(KUzvzD6hDVsGX*+kD-2hC+7cA`>y$xQDdYw>j
z@U4DK(Ivf=)NW<N?K&~yNo17KIHCl}+Tm5hpiJ{}gkUmN`Vv_&S?0$_5S#qysrS;9
zg0sZCpwA);R~ex<eaVtMd+EZjH-)rUT}QAP^~a$3s3xVtkYA}wOx9U6<D;=NoC2(M
zC{9ywxGgs3VgM29H4RoitbM07at;#E=|RnuBcz>QSQ&#gUzqk~VHVW3os5>VtDU`$
z$*=xx3DvgD{P}Q9h_3#ip?KE>oa>(t{980G*ihmMin6y)ERLtu;W7M3y`HN255HPg
zUNBGOzFTdnv{IoBuNIe@%WuxLZFR$6$1=>8lnQdfB7l|DXS~sMC^lP4FY_U}S&!xK
z?l8vzQkj8iGRNGxp*xg&GuCo;<e{xf1cJ6Ssh-rMF(}X!oIPe4*TZSQsox|Fe8x*Q
z959vzYW_A`NDsQCB5x}^AWK&kx)hL&ZHD$HeXSGs^KE`4H@dLO6qQMuQoR8+-(HO)
zx^I5N`~^CdRfjJZ%=%Li=!AZlVLXD+ut{vr1%h<V9d0MQ+mMWNDEV7OOsT9nO_@6x
zRFMrd_VV}L;P8k@v1?f|u&TvieK9gMQPa&HP-cP&^wAXRv`ywCvC8poG%X!LfCUqr
zc&av$9HfElwCZ=tRJdp4qi!MOQ6VR`6V-57#sefnRMqRu1e4^Laoz}W42RJc=&_WZ
zK$KBYWs@B^M`)M-t<RSti6$zceswhbTgl6ZIoU2^FGt<P*(`ukuR!{9@(M=S=*U=h
zfPJ0Sep@m+IO(*Yh+-}4gm1PCLMh@il4^kWx;&>8>S<$SbaK2NCy0-+rfZD~9`cx^
z08lRI@;M*57H#A-(0(;h<4R0e(+!$lp?)bQlw%Exs_oTArs?#7lM}QHG9>qb3A=0T
z8$RKXqE^As9)9F&VM)ov3~}D&dPOTg4T6w?Aar%M_$v9TfHE4~uuO!2gq3sp==d@U
z;3UP9*%z*j^b~pi<-Y?B0goj1R;sTA0$lS;LnDuDoXf82u9zN2-9rpPpuA&!=M@Wk
ztTe=7ci(#Rfg7~?<vqyr*j@}f4qj63F#mj=ZN_j^jS-e|b90PoNuto-<e}1({qx#f
zC~isrMf2HZY^7jw=9{hM{zL6z=LrRz#MN1%GmOHfU(QtF!b5>Grt@ZdUsfI~3E;%G
z))2OF_NkuqnEd9=ZE<hR7KHy|ik9R)Ub3}DwXmUom2_tQ!ELkDm}M=<l^24?C^Irs
z29-;j&n8!wRG<R`<GvJTp!@oW(NRZe=frPqLQ;VCK0-87@sOJ8$D^dv%H@(v{E9Wv
zGPsHb;4DX5cmb`Xz2tnRc7S0Qz`y+-h~6}NC2FikGvHP+z>Yn~3+H`*Btj$ed+OY%
z=~H*;a@p)nZ>Y%jJIdre0ZlH-7zE(|BMlLSY*MSJ)%z6Gkq6ek*MlcXm5WT+KzY$=
zL52Jq`SvEcpz2iYLDlfij8C7OF}CjWFD+SbX^}0|%d}3}y^c!{e{T{Yz{j$^{Mb9w
zQ`I?s4?KV(X%p*^N#SvkdZrRr=;16YpU+KE!r*;m3elpxgxabC2Lr+Go~Q+-u~?IO
z(lw!YmH<=TtCEPhOcN*_9&zbTs+4O8Rqh+wGgglLGxhgPz^)2a3lWlPObvk|VNX<o
zPzl7};~27oQ4@E*S@q@^2w=j`TiS|a6rX%gi)n+`uG0P~<W|`>yl8&LK9VXM!VTq^
z@00n&aYb$Pg0dkF5^h@@lB(>3XDQ6Ra%6fqalg(qUvu`Pjw7rjBG%Bk!02kGK-uZ3
z)l+gk;&!!1sr}=!^U|y{%<iQ6d(2E_%9dkVyQl7TCEBHd?ezTuzzf?29|!Rm%B=@^
zY_?IorB7mLsRhakJ}LJ)sN#o|#$38RLer;Fij>14mD!?Yr)d3S?m%eQkdq2wykfpO
zmZ~gYcby)$dKM-F5)=o)$7{8j{{gve6)IK0C_3<$_;eqj>MN8HQu5NQ7-oF*n6Vpz
zyHW&ymW2ci(rrWl-ogl1>FCZSS@K@2@~vtK4M&hq&NEq%Pc@_>a@!iRqlRn>N-dXr
ze-5(STu_2KBUHhHvNLE@V@NKy>!}v?T2Y3u{1k6#O}BnTBWSVtUQusJJjMVtj-Et;
zX{WP85ESH$7pBk0k-4DvA1dK+oA%}thuTkQVJ<`;=!X$NZjxnn3H+>grE&o)tD6q$
zb9xy^bp(s)O;i=qKQAgYNh=>L4cR>^m5<Ka8NZ3ba{?AlM7KLxNt;~1O^4a;fbSUj
zX(&a9>peHqd-sBv6T4Lr(noNPB~+TG1Fi<leLuTG*3CyVm>=u+4qo@>X14{L!7Lkh
z7_cCT=-wCrAFe9iE#&hmoC|9q@W#b5`6|(7h&scvpG+r{xPm?G+PFh9dNyyR(Qae0
zmryZ(Qder@HDh&_g3FTKsBFor{nr@MK*+j}7naS)6ugcg_%Z+dv_9I|mwbgBFt7G<
zi*r*2$K}&${L~0b<W-?LZj1ZFDn)d+pqmF2j*Pkhc7{>g;qRu55p&uq`ie0Axmw_P
z3fKNpb~zMGB5CINJC?RoDhs=+jT&~f9kmoI>POH;4Y66yLErK8E!_;sVm}jZt)Pll
z^n#1=6Z+gZdDke<==5b-9&}|{Ry!zIO({Q@MxBghjZes4O<eeV2P1jT`8hI4^%rP-
zmTkWQ#vjxae^5Be&zI1w+tc28ZZ&re*lMzTBD;PJJExFZsQnobO&~0?!xC5g92xEP
z|LbNQsN0LS9*Y&FBiQG|jFR&kDSi97eblOl^jH6ol0+=3bYOdKLQ&~s>u{QGcN{^s
z&9kxbN9P!Bt<F*;Pcc&}w`ih)LF9DdHAS8i@R>6aNz^j((kiv51ZI{jE_XK6H)YS=
z6uz79Up9dwta~%vx)HCAEc;eT!s}P6`Kh2qoj^-RZ4*!y)%{o1Amkoim;Tgj*Sxfc
zV-O(+!CS0v6djjmR_c}2w7L0QZuEQtlrM!d1;9)(H3^l>^Q`B^GO+&}rQ^{1turke
z7|$oKI*_I7tmu~zl~}it_@suN8?5Yiic{gIe7@Cmjf57&KZsgqxe>;*p{Pzh^89Nw
zGlTZ%{|KT;fn%CCNM;+TC&L3gS=^2L`<|E04oI^Hl`&Wy#q)URi+qq8#E*pKC`XwR
zK#|u4s5>M5qX&vbCQ(82bg)C(VC^RWY}2GYPOBO7I<J3zIp5rHjB(&!GrTV+8qTdZ
z8(m9TCK89M1wiNKkZE^kA*kX&>&*STl!b9mMp_W2UJ*oSc!^--m3`*I8Jqh=GE@uq
zX$77`qD(~oq5l<C@Lg=Tj37l6R@}q<MY;Z7xFQ^3S;nGot^%#X&9WeM)4%x)P;hnO
z$nX$<>oN33Wr2q$fNI*zH&vCj+mLxb4cg`JSn=1oHM~^TlGzHn)pU>gEG#!7|A6`0
z?T#^vYTKUGO4{w@8lfQi?K^e3ra+8NAMeO*t*3~CwSw5Urr{7>->wo{Z>6u{UO~b*
z=<}yq8Kq7{`b76iu5Wm`mUt%>_z2j!qf5>X`ljiNH$}T0^^nhTJgwgAM_4lJnK%hM
z>)L-86I(s=1|>YFVpV)S4u=bCy&B<qLAT0x@%o)24?YsiIEf}tnBkEI;T>k<mjV4a
zot;$s*y_^nd(99AQ;lkExg$6i4SWI(xojE_e+A5L+E~b<Bry{V)P$xCAb~t<oS4TW
zlEJx{W8k0vQX)edwp?2pwOOJH+$n80a-@f<sl@t${<c4jaXc?_5S}r?V&pXRxU2qd
zCr=rBESvw3X{5!k9?>6eE7@MWy1|2TiK?%0({Y<Gm?s{)iv-kaMsA%cOSl{b_O1Eb
zq^>p4Q+A3jXBMD+di*UG0RBIY2D-CTnu+otQ=tdT%xOA|)<(|Fw>^JQthLi@hi#QP
z(oY@vEDsLeOGD64n=Hq;ICbPnw&@`n;*t8aZwY9O*w&YZizi>zcWK~>@4X4+&}qp_
znz`{YZMedJTYH&?M%>xDWH3)&jL6ay(l~mDXB<;k)lbAQ!m|=;0ql%RAGg<bM$L`@
zHleN<XH!@n7ByLVzmu+?(iFm#_dUrD$n*Of%cfX!<B+RRM;n+hSFwa8>d=Z$QZ3}v
z(AKc*oIDMEio0rUHSN$PW_S+&XlUv3_monY+5)#zo*FdMTx)e+YJ1RM<Gl+r5kt44
z_DwyS*VO49D|j2Vz}dcJPXUXGN1X`i?>5E0pH0$zlwDPvSdYH&p^t@eKj+Os4{@ip
zrnoLS<R7R}DEXySL*X7q6g)N&E1Jo28Ux{~Yy7TDa?zLWJiu_Y{WMIK#n+G$5-oXm
z$_lMClSal&Y2|D{@FZd6>2;w>CutAN0u@QUuqjh-bdGVffZ4C^nOG!wp{S%u>9mSf
z3g_=hqs|Y>YTou6sy>oRgD^bZ+1v*7**}=x<}QxhB%Ws=v~j}JKz;n=_4I$|6rh&8
z!IyqUj2)}EP_&k(#}|#R9!*#+1ZayN#POenQ$pRB&@}5TxyEkqQ`D63;zw4Z9Ef;^
z_lz+U>E-Dm0*ljk<pGtq*Xw+(bxjyQRnHZ6OFkPr_8$mMy1y6cWP~aZT}v(u#THoC
zN4FP_Q;GZJb}TGhok+IQr#IyWDzmJnZ8D@Aw%_eix26Q}C(qB~|2FGI8XgGBC>ASK
zSnzfvm-+hmF?J5$Vi#(BY}Mn%Mv%0G?>>8xmZxp_3+Srr81KnjEz@O&F9xnOs<bF+
z+_q!B>Ecjxva9*oeQIfh>Pk?rY*WbZ(kS`VMLx8~&&CS4dUfrhfT4T9o}}l>rq>Hv
z`eKUCt=36KKl-A-y`V)<7!J9Oz(5kKhbzLlC?pZBxvdfy_bCLx3O7dH1XREMfz7^{
zZLqk`0GwPcPJmTX!Y{h1xv73Oh!=gSh>D%X_h0Bve$zic*eVv2GZfhvtI>=i&^O;I
z2CkIA#Y#e1J<<igGq@MWsH;7@A(Z4yTDzU2*vjw9C;a+Wqjq80fB@+{jS97ff&Z$6
zePu?=F9dsoJTu8~X`ipw7ET=I1eds3aHFQh48-{hpu0z|E26Us&f%V5Y;tUHq8vRb
z?#*2?p}pvj1%xe5uyK`a<ujk$Ln=r7%Jj?IV~*I<n%SHm1#&N$B4Hq!3vMxk8LZx;
zmnZoacWy2^M4#pJSyrmWF1x@H;Qda8y?fU1mLaZ-j7ktuJaGB{87(PTDpkV>Eb9_c
z03>2$$#M@W`<g3oX6NuyajH!P7ME(-mG`Ccb+ilT=se?Bl}l=dyj(Axzt9e)`l!0U
zH_fj0dex0AE%3&d%Fd-geHwY}g+XFJV3zV+>WRGx*5+7UuMUV%&ZU9kI5el__Z_)u
zYhF?~scOgdzlg<<$;pH$wIH#-2PqC&0xec<aRimtVlZylgMT3qb|aW&Xs`Vs%`;M^
z4XLY~$1n^r^L__biz@$Zno%PvotiE?cA|=wG9==N&$~r-G-vHzk%LlP;#c!SUs2uO
zIhOt7E(1~t{vLi9ld@v=!JbwPzBh)b$ljpB(JqJBdrEh4vosca5L!9de+cr13LL|j
zwL;%hmS~<4HQ!Nfk@j|zwPnoOO#PBjKPHC1m|lCQtn!AONDmcRFH<eP#q@Je;(Va3
z>vxA-xzPU2!bIn>4q9i-?VZ{gI3ib`(i<r2m9VEn6Z~!KDnMz+HA)}}>3~Ub;>-J%
zPJUyK_K+T5lFX4O)R)sd8wj+z0<@@-ky)sM8l*@05sD3Y&Z+U~um1h@d2f$V;=g~=
zrj<rZ>K=5+A%Fi+h_I;DQK4m!LP)~LHV3gB_j@h)m9xtqu|M|h^e3zLB<Va_a44!Q
z6zmDu$tivaHP$6zGBp{M!d?BXoS41EAbz=PleFZfB~vkrmFznFVcOxoB*2Hcss|q{
zm#%II=ZT%JO14J!&%DWB<bJ}IkUH|}Ew6D&@OiPI^jg<lfV98z_4gWHms5~qO^(ID
z6rEx;X#D^#0X+oj?@b}|Vc>}e7X@P_(}S3?)>l@cov%y6RBuT6c=M^4j|*(-hXf5^
z@oW~gS#SE$NxaWQi&s{$3$U<%Bvmh-33}>T3@lk(GNxj>NVCUFcCswts0JGF+H)aT
zpz|FdkgqOkjiie{uBlB)DwWZpTEt=@$^{BUQ=vKt+>-sI*Zd{a72<ikX+#5-S4VwW
z8HW^hiIOUtQ_R2hCP}MHExV5A7CcH7YGGE6tWH^F)laGMcHiBt0UVv6h;~;v?&hEF
zU?oF>CWfN}0TMkdCio`>J6GW=(cBD9N|te`7u{X~E98Hz)Cf@4utqQ#jQBb&k<>xD
z9(HKE%9iiS4#D!`D9C?lqHXLc5HvHhP3jigP2XivEolN<6k<FC_gOc=;ZmheK1E!W
zdD|342UkzEFIN}l0H19&NL6a8Y^<d6%f=@O=|1EI0t-iH_H7lJOvJF?CAjvA{)-Lb
z`hl1SJpVQCGz1=*CESO+=~ckt>8&yx(K5c8a}d=)+wa}+0W_ZZN1FDapFZyJwS??5
z!qH3l>Y(^fmMM^p_mqgkWqvM1(}YHfhn{#X!_#LFPPkpoz#_On>JPlXRT_<d)5!I5
z3f&*;*mr!wHhx$)4#Pn2hmLEglfrFkp6}Iu<J9!P=H@(UbY|hrG*53y7{(8KfwNUW
z%p5ShR1hj5*48!^^h^JC)QDP4s*t<26C#$rAN^T7Npjwwj#S$J2j|8xywj2!d+!{3
z2vLsjXkhRi0{AqZe|6E=0Hf$sE0@8P8EK$b*BBa4J4IW*8*l8-Ijq|ZYxW7^q+v<$
z*8}Mz28ra8+(8nfiiwQR8$a=^Q7STi4`i*YEl><LI#veL#}dn*jIa*{aN-Nda%9Qa
z7C>m)-u6{XDhfXoHFJ$FD9qaN(5T;RJ`Y#ao=%bP0CIQbL#p$AoLYQF#;*?;l6N`c
zzE2ewQ$K<e5q&cR<*XVFrv1v;Otbi}%)jFnG^PT4>k7*p)x4^5ZqZdp?W18@P{$>w
z0;c9WZsHkK{l4QVK~u^CzEiW*?QS7_3ERG5hG8|7OG!7QeAbF`sG;}jG*6_G;eh66
zig1|>phZL4R2@8<H6Yy35$L?Q6^3^^KNJ(`L?-l2IZr4w!Jn8+26cFX9GZO0*|}+)
z^iZL4b(FHdt}r%8JG(qUh)Gp>Zc-9uwcj7U?_z>|52N^un9!~@WGe13eA<-vUKGdo
z>FgTb6fz@l*nlCeHcg8$u3<%zuXXo6tn-`#__%l4Bqefe!|F1>e#&}m)pH(D-P}rr
zp;VsfqG_LauLz)`JGZ?L0#%G!3U|o&KRQj#v3i}tVTfa4<?U@jO&N%E?F}%!{CKZ;
zH7n$1C?SQ+?0?Xm`OZSw--a?<(P=U*(IQT_{_%vRkNfWp`*T(8`(wUx52c4l>gu>Q
zfPuGrL-WGDzk9S@UwH5d`@uX25iU$lH5(b>&C6kb%D;w#(D$^e7&1N+q06GCHt^Xg
z(noTsn*R#rq5=a9P@lZH)z?=F{T?&llp1qIjvimDN(p;Aadh`54tc!?IZK}ULm(qB
zl!{&|#CfY`k{VP*hWW0E_<rB0$YDPKC^dMxi7Yt6Wv*B$>~iw5du#uJv>DcP$#3BG
z8N5`)NHjT6U2$>XI|ve6g=o;}G1y1+7$@5)?a1%UtUl^luS)({{Yj8V%WVO_JGTe#
z;wjn#)vJa=9v>Vvn9ZAkrQii`rb1tEKLe_*&_|`|YX3d@lkHvXZ=ACFDuNy@@WA6;
z#3|y_ZOLn6Eq<0hJH2gvSTA8H`i5K!Cae)y)-~a^tsPz#(SJpx%sv6e;mrkxILH*m
zg9pjN=E_@$@!B{SXAn-ExX!gK5565~Um#j}5PWE1KYW(X^Kb_~IucLNKCqoM?}_cP
zNeU-$Ta!8zcuN_kbjWCo7<>o``0{xF=FzJ+KA)0=TVCY&*~^MF@l+rcGhd8}_wY#T
z*OFVD`l7!$Spr9RoIHtIk&B(kehsPEc};DkuVIxO5|&aK&xDqwltqP?H1|EnhQl3<
zz8dU^hhB?XE9~yN2QKR7C(rxlfQvhPwChQ?ogsiBj#A=WN*<>QOBw(VNaA<m8u6dC
zid!yG_EBr0yJ>h{`0t@!rBzEvrGU8c9jE7pd03~comX7GFT%zR0e1RbUQj^JpvR!O
zSP3Ud`1$V^e-+vxeRgd1g@d?@@;rZU=J1=<(>Mnq+$h7HFDqx6t`diTE+x*HPP=r^
zzO32Wvq$t{oeHM!2F>t*QAM~Zk=wBY(|c8g9k%OAPEn#!l5(8)3tG!>jnd<|SeYxL
zGNR_i$0zGK<c=v`1W)hGf^68@tAsLvIEVUUCM2i*OYJg^^-kWs<Oc?6g#0;h`a+$G
z^=<S1wsxbZOB%M<bSX<FloZLM*LaN(qXxWygW~Pu9)wv%kMM0k9-q32P%1q{VOGW4
zmn;>^dSwI5K6(*aJ+^t0zneYjTe?3fML6F|SY45&$$g@oAyq^5i?gE&IUB@~@w+>j
z{us46J5lt{v(sOk7iH=++e2*MYF3$vNmF?H?v2$!mY3>1NdGAlmz?Y$@iF2YMnpQb
zH4AryR578)QT1E_hNStC9Ws|B2dlJ$7UkYu8{DpLpIWu1+|3Pw{z>2)qH@Y&ox*|=
zD*Itjj_jmxzU9`;Z2>aE=f8WJ6n+iR_lh<8=!@KPEDBng$ie<Z+j#CnLdd;4JPfKS
z_)V)NV8NCZDX3wiFeB|>?LXe3QL-r;^?3!ImV-RzMXwtMEJ5KYjHS7dTawHw)($Iw
z%y;e?S&_Az%8aF%%W5%RAI8IawKQmC5mp>+;=~`_mE9x8FmBpx3$O;Gl!q83Pqu9~
zkYnXqFLne8p$+?e+1_GeS64<H-I81O4n+1fF{l@u<SE`f5#%}6_+MFZ#hh|0`DFhv
z6%y|28z5={j8o8|IJE0<Bdvq=&c|9I&Ln8c8N0YG(i`r}K>ekxYHymW(QGSTjqrRO
zcnjd@QDND(m8I9PlQCIJZvH$OwXIz<O7A+gR{p{r*>Vs~P2R~zB$xP@39?`=bBCmK
zjucdSJ$t&3au(<g%oxJ)cfX2NZR)gtak;;iOEudDwpN`4@_MG@0)A7hj(1iPT^fg2
z)aT9q%dx+Y>TfF4)@y+fUF9A^BwZG!#G9qV8tUN9PN(47!Cv7{&i5cXaRT2pTVUAA
zNKY?dc{sxoOOWO?iB<d4cM^?^sBUYint$QAKCF}`iBbXKaX9o0Ej2f#>IF0E-dlJM
zdHS7zN{7tsUKO#W2XB#K_qD;OIjoP*)2_)ik8hwr$7d!0qUwP14e9URYlJ$V>t7D$
zQo`eQY97ptf+?~7IL|hQPbX@on~BJY*6^XGE!*DO_PZ?&iokh11zVrqDHVAwzi*l|
zC(DyyhBo}80^aWW#->~@>ecw(&{YY)Rr*DMvGIJun@^c=?@yx~SJ}8$7jgNKPQI{b
zJEihrOxV^3Pdh0daGXXp621EepXL0_b{9|KX@!G}qH)0-@F~_@W9Jx<?%uF7i71q?
zbZl79p)k<mRX<gtTc<CuM;w&BUmlgH^%NuRUxTm_fh|L38ZTr7&3{_JyX+iMPiXo8
zt6<ns-cwl!xX9%BE}Zg*!ASYTM~E|n$Suf=1hyWXKG(vBe>DVQ2q{iH|BhLEwlKOD
z9Tp^`&Wv3UM$d2E^NJ!b-&A@>#+wPZB)=p!GS}#V1z4!NoEJ$;2cfTJBih&~)##_g
zZ57a9--K4%GPQYlnNW!>`9ZRnlXPj|PC-tNYR7qJTI!+TNrXnh)^FRQN91B%rlp<O
z1R{yXOKnNJMl8LJ0Xt@c55sW^du+)|zu)vOw&6XKCy7H87&ck7Bo6?$$F;AOM15F{
zCb{XA;i0)AY`xesu!KZ&w&Hg+Y9wSx#t+uWF8RQ2JtaPW!WOZyF0%<HbG`uBV<^>_
zM`7V4O#jj2XtE`ka!(i9=VCE_xr5x}n=q{hb55J$Ty~dP*o`7llIWy;5{neiHW+tL
zdZ602AuiS(D~+Jmn!SX>*?72qd1@EyD*OoVICRAiwX+<Dn1D=0@arSUY951YBxNRH
zaW~x330VZ7$*<wly@a`Xgt>uivs8pg5jt9kDd?O(=!PK-Vpw>XLus02;Wff)t_8<k
zM~$1(LSLnwZ=0NJ9w@eg3um3TD;s;gAzxqbkO`fQ>8YN7%d#9Ji&Gle23fmg@#4?x
zru~&L=4v$xz0csl)feD)KlZL3a-TT@-OP|+`@A@?an%uz(PKOVRC58z3(7<HQprqC
zk*w3)Bf^>CJ--W&tJG4&E$<$hX%g?pV&m}v@ZO{;fEcEcdL~6P%}*;e0@uG{`*C<9
zRaz?yP1ZF5p!rr}z3l_zr?xJNO#X4gR`}0j%VJ;mwWCahf^n_QGc(C<jLz=NR{QMT
z9q%|Cp{o|unRO5sfB_<VXH93*?@?9wVNjFp{n3@_cXh5<6WDv9F9MU_U0b`1gJTCH
zgwv5*52AiKVfD_{nWCK2AA{UI<fr6rPWPtX&L>p042ZAGO(kN1lIl9K^<K)iuqDZB
z>*2dH-+QWq6H+moI*X22e!w<tEolm35lEk<OWGNEfCt=gxB`_lbNIX0%XKc=dVZW>
z949D?N88{19s;a%_mr%@_E}v=N#*5MZ^geW--}X|lv(boMmgUGb?sXAiocgns@`5b
zpfqk4oF)}1jwx0t+z({QlE;F*71Yrwa=61x%t51|%&H0ZivFs`+aLX=;b3AT|Gh5e
z<8eslY?(wAO%q5((MMkPjJPy(7V}?rndtH_RH@vfgZJ?09(b6L(%|*<P*aO$=r(_?
z9;<%0|Lv|N>GOwilUe=`ZOw5`Dq1MnkAc0LZZ&Xu*?1^Ih-F0d4mU(*Uxk`5*Z%oH
zQs42}#z%&$T2GX8Xa&lB``j=XR;7uMW-X>E-s-g~^>$!LJPOtBeCWMB6yX!>@!4=9
zUWqDF>7UloVdWc*s9xcd<sP~4(Hm)VLwvqWJEp{<-M-)|jU_}vg@)jmBc$4fLV0xi
z%us(6daRm1weyzP6xc8l$GdgXK}yKCVu70cmNS71htd21umCyz&<BDYO*4^+=;;Jx
za7py0C?g;ZU&rHLa$^!{xVx7$yUEW#G=sG8bvo{uD_njYs(P{#P88Ip)GNexUBn=L
z3woNOWocH#Wk+|<8HH9brai6P+sXFL;SX5BddTytawdK0wvTdg`>)p`%b28^gAK2(
zv!Gvh`>Zp1*vQy(?7a_{YLR@ZXkTcgW2VtMDM7%mFT@I^C_4En!>HWSXNpFlYGsz|
zpImEYe@uT*+7Zs2eZg*Yv&1~0@}o{Xe$(W;#lq;X&NL2luf6cI>43VV{7B&tRR1!Q
z2^11N<$O4;%IjV3&jA%|2=O{q-kIU~6?gbiR3|HtmDtUZdOD<5jQa)0KUMLBRB72y
z=PV9%K<!_~i7S|%n?&Pide<+d3efR6cm>(s%j-11L`GU~ef~J1Y<2tjd}<mO+A`Xh
z@tOTP%+NwNM3`^1+__uuFw=Lyr&OyGO$nKKY<54RtXH%ck}{R@Qy=B@R8Y-j0B!oX
zAA!d0JGeR-bB8Ap*EP8`i)$4nW)=o6q((ZB*FEe-;UA~7$s<3TkyEBg6QqI|tMo9x
zF}lt1<PP=SP650@D?lZqA%k7bkTLB!{HX!?@J^k-A)xqP;#F>`*jsym8;gGqTIWws
z+Ec$B?3_pC^vF=pa^NMa{=g|T;U4abuABByVtIA?M=3#~S(h8KIbNRVH4owv%D?;v
znjbe6`&(z+r*wGP_eCi~l8>Zfg9r%*U95}P!KZE79`z2n_Czr;|NgG?H4D)Q8`H!V
z$FfYfxvb2m1iUnlvD<Ot!pHBE<SOz~Qr|_hTR<MX$6k&R)0uap7$0prcR;8mDAX1+
zy9$42p1Zksfx~cm7nsQ))FcL(32o5;{C#%EKee9iv-nsxW-|A5W$8S<c=$`?`7Tpx
z144?%d1<4UUomtB$wIN~4-9%Ouj<1|Z^0NyejI=)#-18P*hvfdu3|+}-0ZLg%iYEO
z?(4Z3I|<((AIxkMf;YDegS@&zBrF?k=_hz46m$b2!;9~IEOC<i6*g0TtR`myxW8d1
z(d!gA%L}gjdg4*xa5-QsC~RnX5=o!!;3lSvpzrl;9NNYE^-WS)p1H7!L&J|z#m(|9
z=c6ZYLqL_>oQxM~OJBg|3FMELt6of^o@MEG&t@yP?&{dT)g9ZHU7h`9X(W}gm?mgg
zy7)dDw!pisTFc&U4unAYjW&n_prK8eC14%f2bb3amSyf;u?HT5rJkQGS8;rSnGzJ*
z#ZZ%iWfCWnEuKREcpi!U_!gx&>x){XbWilMK3-`Z+J4st!yswpd50U)!$4J0yvdI*
zIvs&(F-~7LT_+w+Nf+YVVd@hWkjrp=KjCu-O-4M;psyz2O+cYEu({U{1Y!H#ZM<F}
z^pdTjR=D4jAkC>L#Cw>eeQHcOfm7FsTk4{y3v*5D$0_-AQa=cFQIbyFX=8s|SUr}Q
z?z1QOry*iI$8Lh~Q?75Vp-}3LWy>`Ynq6r=`3*G!!1K|cEu~xPr$rqyY2Rb-x|J#z
zATUgoY*qet`Oj=f9)c(i;GJ(kDk!6vk@c>l3>Dy>^AjhS%f=hj^4E-9LtPh-!{_}Y
zoD*twB{$`szL65%qTNndO-5wNf7v6;R3<`Q;gK3r1V_h`<GlLr{R^6{@8Vcxz1n9<
zv0qFTSu@;rhI*xGqLn=GpUfEJ-yd_zlo}SMA`L7Z_<hQo&IhLVfc>8<X$OWo<?-sU
z+8bX4#O`#Br?!Ze@+*Gz@?rIgT{r-frbkm5?jB#?I8(k?n|&GAt%UKh^hn=-Vu`nK
z%@>x`Rgx5Kw<X@Dzq{_BZsmLHLMnM#5h0y@+kI+Swi|Z`t3FPNpsq@=yU9~(VltcY
z192dwaYx#lhSIq#VCNp3NjdL<54r$011<Col5c1VeHcQ<YhJQ&$x6uo2c%(f&6;T2
zAU+AI0H*S{UPxUAGAUF)0z+{(bW0oRint%~Uma0mR14hhAJe*)CTk3mZ=e?+<dH!Z
z+HO_$2wZi1WTk4p!Xo@b*U2lH_o^V+oi`52evsXG$6G>bK<osKFk4rPdlJG^{#KTF
z&26lh+Nd6G&w_ZvYbcVsx@%cEiHNu?#;Ghcn>P&RT7^GlDqBIZhi-coUKV3yEJMR$
z_xz7PV?|hN(V4}rvcBYh365cu<X#&7NMhw|`tRj_U+zYH^Zg7$SgB>3RSOGGhK61X
z4%4ZWMciAs1|rEYW3IkXGCgD#TnN_%A<%!5G#?|uh}ICTwf&YTQD@3(1kEFWC3E+u
zW%u=WbT$6b@^-5(e%i5lY*iV~rQi^U0KP-V!4)jNZBThWzrTl9P1JRgN1#Q1je40P
z`WZHjCN0{GOFNX70PEJMrZ~5~azYSH!RA2lHhQ}^3&aHTr9MgG<n)nX_FcNj^_rGc
z40K7p!`$AwVo*p*l1d64m48~-z+`MCr5bWy#k<`Gr$MpWaS&viSEz*ZO4s>6U({t|
z^u9eeV4AoF3d}JeTdRtH9_hhP<MQ0%(TK}Vqq$;3$oSdYv8i>=BcJPyt=({N33TU(
z?X~>O1~jfXb`9YoC~<ph9HC_#W2{^tw;h)-jstmf#7*z&?~8k`{4<|1b#cf`i+G`=
zZ^X;OKgc84HKZOkL}i|nGW!Gv>;sujo)l%E=PlVvZfHSIm$HWk=xl>-p;wDropUp|
zdf?%>4ct4moF%fNYMw$AedDm!?d3Yg{138JfhMfd5pM5)!9yR&)3E9~1j0;5fU8^k
z$ElV8w5JbHkzgocC9VY~+eBmn*PwPT{CI}AB!s94WX|O&7Sn&@d7{iP+b<wOTlkC0
zvYoHMGnq)Q>&la!DVtGmWj@RrR7g+l#X5}n{ssNFv3F;LBNQoa)X@*TX;&Qtd9bSm
zfbKiAOg8J!Q`(@UnM8Gp>2t*B&(ggLz3vKyT-G~8IN;w1b?FZ+Qkm2=bhMp@K9(cy
zp*o$~(vW|dL|y#pd_-A7Y(-Q12Yn8kb3eQZJBB5#nm5&dr`V3*=dG6JN47!yKVzv5
zw4bt*s$ep%fnqs@A!&hH=RdMqjo6mdfwAs}$*1a>g;$vwb`%Mxzd^z0XHB@Y525@&
zc&9gLImX7&$BwmVJlkWbrw?#e0|!rujx~1kVFaOvj5z(45X6%@F<E^I4;wxyEL%e4
zx#X`Z>Bv7pAS7`%3(P4IsGcTQC7X#-15(Z7Vp2_h=nj9V_EcWa&IO~_5H5=I0m4&$
zUIK{%NY5>_D1O;v?JJA8@<iagK3VS3)*4mFPzULT2M`wU$vvIWTW5t3RefmUw>93=
zgFkPUgd!z6YHluAh2Cw%3+l2LkVE=$$qtvzJM_^t_df9b$v50Go6FLCznyO7z4RLp
z9-1g)?@B8bo=0)-n%@)G$w!1l0shT@L>w`RI(xxI%TAk-(;%Sd_?Jk6=sj%{bP3VG
zk-J{oUgn>r_wXAg)9Jxieq$)u;twFEAPZv$xt9Dp4UE@BzOJMVn-wp86(m=OXK~w6
z`{T*~V#q|2RLN~!f+drK0oRl#sP4j$8~ZaKrwqXd!EQs3f;ZGeE)e@`Kp39{A-oJ5
z?s8`CzFo$dr8jTvDOX99ZxmD8^|Gp@tsGG!{5lYAf>XRU`B{z{h0}3UJ2V>li1xix
z-L@BgW(gWjfxTstU7}!{OEQ%`b(1E6lVoR^8!V4pzvLHnUd62@F5DuA;7zV)9w<ll
zrlE><v9Fj25?1&2@4RtY;3oqz))fpy=%vxs-jL*)=5OBNkqdlWD~EzJdyxms#dqXX
zf>f7N@AeRb><em`$=&uJ=-(9#lMO~&;H}s4b!DsJQ#wGDbi6LnH7JSrzh-vAg);GW
zPan?5lUtdk7g|ak@&$>8j`Wfz$;|a73KSFvOvN^b%)d8*)9#`O0X!)vo_Q50DBfXl
zt8Q>-Q(a?nr<DKXL=JB8q8TW;B9==A-hZq$H=C!;gmSDS0S{+d5MEM!AFU*v{0bTK
z$v*mc(s5#O(U{(8eh>E(A3eqSe7DiQwo=i_3Ko%#jn`{>u>rfP=DZ^8W2w^Q1#A2B
zqmD*jG}lSrJa0vG048lRF^-3}KcJMO3kUf!k^&U<C_io1F9?Jn{)OD77omvGg6H66
z-`CTz@du4m{Y)g@u$I=J2<a87|DY`5R_uSec)XpdZ?m&#AY8#Du5s5fB@OeaZxKij
znB#bfMMwn7m&isJ!r~GhO%IiOe_*tJhGp@;DYA>q8W{U20=Uw;g;w8fW>AH+W>1uQ
zFQAr2_ff=Tnc>ZMkn{pB-8Suy3~{A&!xCvuW>_m~gf)#}^VlM>t3&V^mENkwCqwJ8
z2sk52YGS8=UwA213zSooDXwEXj)VQP!VA^Dx*u=ei+srBIo$pQ#f8Yl&poBXIUAa8
z4y0JcVYX5oz@c)bdC*)P!h$J2DU^5U#fOSaOgKG%_rW%c$va+Xd>?Z=ed)g8z|(OZ
zRZ3GA12{w*ndsn=8YAKujn#6O4P$lAp#z^S*t1}z|H$|`zrEe)7tDDNY|0G7qI9S^
zw8NN*BcB85v7QGemf0rL$I=!RDaVLz{2XOh-urh-fO9w9!^Q^R9L=IPyXO_YP2o?$
zjp@T`?eZ;0Mu0kM4vu*ebj<3uDgF5qwaBHk&uh<;T)JnnMPes?<l#vhM<oASd{lC~
zXOtTktRXpUyOa{9>$ypAu$cv$<_{Egv+EdSP|yV8jxK_MuxgIH1z7@F^P`)$6Y`Jq
ze?<RJAPo}j@jA+8Fs?(R(J56iOZa^SZKP&bJrDMrUPqHo{a9VjU!EhBBXznUwSDW~
zb-E1WJj<uoHSb?pv5%DmJf6(l@{QHio%A?v&Q0U*_c>2D&Q7eObN+6nIp+?vL70%-
zrZ>7IEhjh!!&?iB72lSuQXYA7YWo721)=&=z|`l(f7e~+anzlmTk3CP^!&aC{auUv
z+oD6vrnRhz3^Kw;<?8HYig|>AY4&l+W!%V*6kQ@D<vL_=(>eyouCy$l00h`Hf%lYv
zOab+-&Y{*k(j{Mj;V<IK=F`0m%^TTj>Q6EIyq5O2gmgD4i=sK^sQ{F_;FT(*wy7`*
zpo#54!CY8Cb6l>btm4N`O!H@HuDVYi>l}y5>~)5YX5k^@H>0;?73W9$!UqChcQHXK
zbx{O$9Eh!Cfuur1itPBV%KI-?j+>39@X|ka-5L9p1K&MH#Ldl~kfeI$p8uvnE&L_g
z`-=ubFD%T4#Z@1i5haiq2RFBjaCN_$2lMo=PM1kAGFLf?wuum&gM*nTNv=r>=!)HB
zM!tH(pl2EpVU>>H5oSi#!^QF@RuB{>)r<{HN44s>-3=e&(F;UJl^oh$-*;K=&K1mC
zXuLe}H5k(N5MZLQ=%{(Y7gKc6PUOWVNUQJjU;g(I%d(NVe{<eE_K|t03=`oJnmDna
zMf!TAsZH`z(z!g*jZI8*n^)`u3}%aGUhF@}G^M*7mhZ}oro^u&+x-dZ3bQgl{UXhQ
zb)s2{--g4pW0V_9H((5*9253<!AC6mVhHxWOGErbDaEh5xtHmz)B7*!%X@M#_M466
z1xOfaC3_iOkgda*UZlCO9>a+3H{+fVzBccbG)E<SwKeVZp+fOO#5*j&P7pxy7xXLl
zU4YpeYR9j-o!+K?sbQ|+UuTKt`q@@(tGv2U7OFU=rzya^L$>qKO?b*d<}Ts&@OTn*
zUJxFhd-~gXC)WRRj%&7)&>g|oe2z}mAI^VLFG^3*k#Of-YWgSkPSi*b_C2KE*dMpE
zIO9Boce}HJr7lysIBa&=S<GAkZ$nq@)%@C$0BvS|N7WxJgWY|zmhGo{5>0>5-6>gO
zWD{ThTIh0_EuS*g<!!(x@wX6xvT-Hpw{SzsimS_uDko*Ny!`JFC#j*;4vd?PEs3yA
z9*l#Ny~(c49t56+nT3^&jfI(=j+rItxZRqLjf;nv`TsX!2V&U&8L%<4vi>*5!pfZF
z-9Z5`^Kkyhe0EN59+v;W*qGVbx&8xV=Vaz)|1XS%nft#mPFA-6#@PR7UGo34QFbnN
c_Wyby7Y8Rxl1QgKEGG*)ECq$Qq6F;!1AL5Lr2qf`

delta 46499
zcmV*cKvTc%_5zso0+3LDEJ<=D_MX3@9=jz>O@w=V0(w~jqOcSQkm5jm7!ty4afVIu
z)+{-swBWy&pL5L2BR#U}rr*lCSI}~&yUi-xGs4Z>+}u9Lr=k4cug3C^w69Muua|$j
z{PoknUGnl&{{NKIQ%ckGw$4v~`u)@2KK=1BKH>lV^p8)!{@w6@^pF33`@uh4hUaD9
zhP*!w1vkxQ{^vd8|6yoa((|~cr@TF<X?c1L#Drn<Q<~@Jb;vDfkH0wL@|4TJ%Uj2M
z4d~DRfuB@H;Z?V%_?EX{^8fhX{QHLIaY#cRpZ>>Xc>0U-zkj~`_V3Gs!_z-p#^LEN
zpZ@J><QnRqWdXl`_t*W+(_dc({&-p1Kl{yPe4f%aEu&G^p){}0Y0mqwVCa(aJkC$Q
zdA<Dl55F3Ih1dVhA1=TB>Cb*n(@$T19*3X)`_JR{)637}^3%Wk{P(~4i_8D|8?NHJ
zgpD<OXI;NxLFeshnxE$#Yl;6}o|i!jH%<G~w3bg?3YeaMb3q$e)^XaO$7PDYW7t@h
z)rSkVnO`bAJ<sb_N9X5tp6cuZU;NiE^?@yh#{0fJ{n?$wnYQOOPq}QLGIC$mwA>)h
z|Ne7Ye)|2-<NVW~ejd|LfBbn|0WKogyQI@Ql;yv%x@CRx^pyAKedG!+<<&Q^=av_K
z=RB2VNzcQ7fX|%D>h1XIp<o;Cd+%2u97c>w+svQI&wENhY{U5Ug)^7eD8I9nb^h}7
z%XthJ^F981m+{W;v~J~-r^;In8-uLNb6(cqpS8S3$_M^h3)2>IU;Ke(eVz+n`)~)H
zzZ^CuvC+;xn*DNMF#mafz+TRWAK(3cK3n$ZWlnj2n!Z1uE#q@8?^^h5+7rcMex4;2
zhjMx>%k!GZXKChp7V_ic=R(H&*{qD4CT>%cy=9rlovRL+^Mx~yiA=R^S$x(GdNiMv
zPaMnNiU`^BhL>{0{G7KU(Q|%Yil}KpJ^tc|%hNnOPuo_9H=sX%FE5k>C5_Woc%kgY
zJQk{djGYI<JA{Dv9JyQYuUCrKc`2I0_M8)5n(sfPmG7U|{b?Sb)4F!hx{RAKY8hAj
z02r%m!-7~rS1wCAU(2uTs}cHo#DmG4$NW4NdX#;>B*+s-*iO$w;qY;9L3{kg5tpZB
zF2iDU1NqZ;5;+e=O(<$c;r(SR5`4*J#UDn0<aL$|FPg>3vtvsna#`YW--||Bq)mC}
z@-{`x@cW7!FCVmaoE#XoYaMV*m1P}P&bpKjTMAwAz*1PZAckorp-*ETy`#q>%gU*>
z41St9BH`Q8Fp|U#q=#PuQ4Zd6!d_yq;HPHt`}gxu&g6AU;HmOCOF7tYkovEFPQy=s
zzXO4bY#)F64-oyI@Lw;G_v8VJ`aj2W<c2@p!3ae{ZAE7&a%7n)c2iL?i`XqE_zvMd
zuI04i7f<D-@P!b#^G*S9|Bf%?%85~iK~ci04?d4rflF7^{CNY1aLYGCu$E9`#}yhe
zZUa}hn|rj|u^he2LN)Js$&hV<DV#okY^lH_Cq2P7;>9r+YFpzr)hSM}5BbB@d++zY
z_eX9rKj=&UCTNs#Ybp1&eD$r)DE3`%?}#!1PRO)j%?huT?=L@a+7ka2O3r^6=bO&+
zcRyiI4B-F2`}ykr<J|e}_roH;){U|PQlPMLk<s%yJr#Xu*o&q&?7Y`3QxRT&gtnqK
zL2B+;oir8=sqC6d`8evCWfKhJ@&sADFY){~mFo+IO=11=Ut<|ogu@eleJYCMIF{$8
z&Ed;a(FDrxQQz=K4D%LT&hY1b8V@6IjoDJ6^-u(FIT+H6qkW{r%lk;BAIeu@i+z=3
z!1bcsE5>c162n{SwinWsqhs2CE@X>w><|(hxh4*Tura1BQvd@6?+a(2w}rp9QgZxq
zW88xejd7ozQ$6s@dl|wMf^jP^GdED2_YOlFxWrH?2hGfPpBUp-cw-pIjE`3i%5enM
zuSf>2W*P=uRSMVRWCr~U`3sM)<IE43h6SIq_o#pvN7bfWmBz#+Ejzw{h>U^&r+zsu
z6o^Ygw}T$7929291v=>L2&e2`6qUk!4Ol5HgzJGZ-8Ixp>b-FFMgzl}q%Pv_H~;)K
zqE0+<A-fXQ`a)$2s|<3cAxTS}sJh@~$pSNPe)pgA5EtcI0;1(?yaPE>NLHjR4*G)F
z_`sOVSkR7nI8`?ay8~5!g)lO5A&RcqfI%liRI1u^*H9-_A!oPD<L6^kT|~A*y{x?&
z2<Z0#mUDQXD>!v2@)$N31zp1qKQcqGeesX6zl)~VBOWf0bD6j7%ZXA)(t`*Ybjr&;
z7bb6@$wZXH<;IiNOC3x2shPWDpW-y1i}H>GJ<oaHZfGoB$~mTg+_719NC1AO5QSCw
zrUsSk_mC?n?W98#YyYjT)x<>5Y9xvWa<@GpQQQoAG=+;6w9&>s+C{BmKp$zJc)c?`
z+U?6Q7b!P+sZ+FY47r!qMdMh<Vb3eazI9`JTRk1G)zkM`05_zy+`z@@<>cSi9lQ+{
ze3JpJybsPwfQA2mwt@U2PA{q_?)Fgbs5NZsQ<)Q*1HidR_d-f2ayY+i3zV}$9JTXS
zIF{W!lmpk`3sulz<{JAWhItE4V>!C7M&P2k?%03jB_S)Il$LEdZiSx1Dk4o&2OpP#
z`<!L}AE;9l4Bi`<CBwh~%mlGL>B>S@K8<@gFBcjX1-_7fA?vjao}gdhs<Rd$*+6{u
zCE#_}UChS{e!8BzgMW*JN;Ei>kxP+tw{BP8s6K+8a10cd#S#C?8v@j}!m_;2l%L#-
z;!!>UrY3v>?26@IbC=j6mt)v2Vwd^KLA;ggY~krIoOjd%X*EJ$kN6}#!^s>l3F~S_
z0~y^y2Qe~#hl(OHUr+rlO2(UHzC+2tiHO@*At)9D2gJ;4Zz1S7joi`ju+g!xQI(tv
zokI!%vFzhTB%TQ4tG0pGa$3J|?;Xs4a<^6@w+?=Xra~ZaWN$bRSL!8+qy|rv-<4w0
z4El^K#5x_Az~KCxapLSUoav5_b%ZO!Z~TzIP(28LUwG`o0}^8mbkX22jE;L9tYwe6
z30_R_^0)OsyqShyzj%k%lW-TC-;*Q%1x_j2EO`R{4rk$iLZa{wv|jQbv|j%E&*N17
zamT@!XpksOxkza#pFdK_6dg?0No*jPsCbuzXkY0=>$|1GIs(yRdgfGqZXzeAOx37p
z)*+66{gQe$=Fz9g0^7}%W)v9Hgl4n$oZ!%mggIzNK1B<6Yeoy4&-445(NF)=*JVz5
z0ok3BZPXF>Lx>BQsuO-`=g~)ZKI{@SSMIb<ZcE4QW`qvAB)QLLF6b&(HjGSAa=&nL
zEG00w`N-_ljtdj@Ol)C}Z?RFAYs7GExpfSG3~S}ghr6W6%T$(nTFS;>M#=$)LEZ(&
z`=vgD7znP7O%ZSydjqr5;$~Cu<D{keuLyx5{vL*@?`cysUlNA!S%&a5d>>2r|9{sr
z%<VII^=ZuCY;P}{D5XTb{2hDyA0f4Qm-#2Ch5rcf7yRSD;U9LbEpq+~{=r8m&UpoY
z`oBzvoG)@>{VU+#h4BBU@M-<$V~zH8p)<9W*QX<9hkYR6i3a!z&)oF)OOi5hp6kHZ
zYbwu_BukCX!84R3r*RKHGnVyvf{`yHKnU{(Vr5LwG8JK4I4k2=pbrx7Ea>HFUT6*w
ze1WTw&uXYcn)xN*nc92|En4rq)tL!@LMe$~wg>#ZG`xB5yH6o(wt2=*#n8Rz1?!Cf
z2|84%l8|%%HJJNPac_4uW!CMdUrm7@TZ^@APzGS$M#NEBODH7xK&>=lIG2sbO)Nb0
zKnoLDM_m5WOyvg4gB#X34Gg>}#~^1bGNk+$tmwE)gF65Z8Rz=MOZ8a(T|^Uq4*r=2
z1xc!zmtRl{a%!R?F!TH!3xT#}<=<f~hM3wIoq^-M-0&|v8xagLPy8v|SYbS%mvHIX
zJ@EPAYsxOzwR={D`e3R(>l{wJ2mu4PgU;c0+@m!v`0Mba<~7rc3A50kLfr&>euCZ4
zW*98|$SA5hMGO0oyEQKG(7J<v*$Z`Z;h0;#pnnYsP1dDw_7DQQ;Qz6Uo%h+<IT<_e
z2X<x{M8nSGSeBa+L=)H+{G1p_!!W5bFPLowe^-7kKS<9iFv~_5u2sgGO$65kffxmm
zyEOYUQl>!oLnx^wp@CRdx*E;%M9jXMq;7^in$_}f#W>}?0%NRIWWcz8E;ry{HDL~{
z7E`ovFRP^$cSM+t-e$Esl>4%XxIIZKW@95rt-O)i%Njxw9_5ygXnNlGIr~};q<y7h
zjejp9YD@#nokuQ8<MSrcf-lFECBZ=0qBD&NhtMo8g4g7JE-E8usALl@tRPoed>&a-
z=E46(vnQ=~GWW=N+@lYFe8id_xX5Ag3^Y6_nl0$;5D4<iB}R*VuIIj+c^E{hGx=@a
z`JcbeI|FSzA~r?PD6@awX{0J3Z-o{^h+kdxDTs2po3e}D_b_fA^)qu8&%iPIg}<A$
zD&^25Sx<u=OjQ`Kc{V#)10h1LD-XaE=#(<V#VHxX8?ckIu(0NT;p3E@XuqNmpi8Oj
zdx?Qvw$Y*t(3n5UzOu?wjZM6D*p1;795*{Lz(DK9vm{wy{1=)vS8d_JOvk4|Sel#C
z8-K<!z!U-LJ@VXwI)!kLoER|xkg+ovk-tY}ESpm#O{@GU)1W7$H;(1s&=e2q7{YRw
z%zzyVvjPvi4<=K8&&nV8IW>Z(Tp($oSf6uFyrUo>9SR&c8TU*mtB0HEI-1r9+X~zc
z>u6CzMKPm4VU%KDrW|_W1!%P4ZD^6B7z*B^@E+0v4^WunWp_8cG=o0t5Uv)sz?enN
z58V?S7Pfi_n?)@S-3IQqupJKJw=Hb>>lU`O2Jh`$dPgjOyn6*$eh$7r2RF)=jw4cs
zxDP!1&TcBaeNjB36S5ulIVWV0*kKXWPrw#*TEz*uDG=DtMA7zo?w%8}XhAS;e8_ZK
zrjeX<!UjTw4N!y)u#>Qs%vK2$6FFV=Jy&Es4SFzDR~KbY)<B4mi>{3)&?#kzi&N5v
zH()nq;SrsGmhD}m`1p0oX2oO{%1-+tre)p<C<{`~OvC|Y5g=MVW-}(;w~mW=QNIyP
z#LTvNleI{Bce~<ymWAOUfYYMTywjKm6LwG1WrDDQ5GA+O4x|QjLKz|m>%$wcm#_%N
zfH^XKY|A1*LpxU51tJol3gOhB^V6ne4bT-4nA=K!|0<V1bvQaUh0Ky47XHj;>WX`>
z$`eZQ+3BzcVNZiTNv93M211l{CAI~fP*tZDB}0k52D=G6KsWk|EKXl1tQkB*76(GI
zI6%qb06S$d9Ng1-5UVkf%VK@cl`K9Dx~bD5a?t#6V7k|^*cJqAH3dX42f$r%oy=?t
zWpmqq80CRfVEW=mF!8Sa!XTvE+U6?dlIHkTSxB-1ZZbG3ad%~EV4t>WzXgkq)XkN~
z%fk7aE1b(@zQ1*>3g^{0_w>nK^R)E)`CLbEuav=-jp6!51BT}(5X{5~{lgM7uIF~Y
z+sw?3`}1Z#;&l0*Uw3B~{ZYGm%fl6F^J83pPp%P#=jnie<0(M-odWE1JGoL7-lLev
zoldTa9ehrwK{t1QITt79^7y@XSNIGNxSsCQ^ROs`A5vgf+V|nA30)t#_VAp-9y6Nh
z7?O!WEq&X68r$tZf7|v)-3H(O*>0EPY5UKo?XPjZ{e}FN?H>w<?+{1Wo^S=G0fXs(
zL!Yrt5%V?RwFqG1%y$w2-}?*i6az<%?K_D9#A$5@DNtbu0f!_59O@JSWf-lKv73D!
zmjL|iD*<pC@@Ol{pk&yC6(umz<@WN++kOUJRTJW1Lh<n}+^gK}MJG|N<3}Qt1_Z^+
z&<0z+zHdy@g|O;?m(5h80;OjeZ9+JI=Fz-YFlrZle}v(f-maY^I%VVB%En$pT*$cf
z9oaaVY}{|i#`Pc@=^`#y=5Gjr3c5zfj$=$%IIA>Z$b#S;&s2>WTe!-{2baG25g&1<
z2(0Y?y#$~I_*V&75fp(AnhbQXR|syAm})}MCvqvsFR$X2Vz3?ba51=<LQ%zkpkvH<
zjC9Mq-hjiHEX+|7+7vC^ZA>0!oC4##d{h_~J#X2sgyCjU84!jARPZr{A@UpwJTJ?Y
zG@Nz4qpFC2PJ{_?M+^%1d|w<c`8$fkxmz5L3W@m^U9nQPiW0+k^1ic73)gtWV4;v6
zK4}X#(V9d0emdh1`qDe)=GA6@`A(t}zqwsUFCH+AUJTfx7X$8%UK|z{aH_$JF;fID
zY6Y$Y=xNxa1?V`3!N>$?U`$|+meFv6Lx7H!1rY+%r)c4B0Xia=W!s033efTbNRE;K
zo$M>OG=%^i7hXt1fEM_=E(0PS2I>nt!~J1ti)BDcM5p}R8~NE&H10}&4vynVer~P&
zw1QseaUnm;{`gk;8N>~#;ux1A&M_@qrAly+OOcqgg<JW#e@FTGW4`oW`FY$c-%Eau
zNGd(vzK<Bn&wx#S2HYz@%Roda9|UMj6#|q?uwM(%)3}FA&|R4`HK;H!7DPBI^y3Ui
zP@yn~pu(7<g?obvM>@HGkVE#N@FC1IBnxO5cjJ8vb3@4(fO6WeO4=B`Ug$>mW(T2b
z8o9E<usEZlax5*ZU=&oe(Ss*CH^UxH=9HhWT%>{UV{ujZ?Fp{OBr%6$(q?GD{*aa7
znaL&Zx=Fw8|K|G*;}wZf%3(Utc(Vv%r?Dl8_0!nyCq_W+8CZXRk3`-mL5!fHaXakM
zM23%e-H%ibjFC0(ir7EFL1tkNWcDdqxSP<3%U))g#Xh19A%M<G_bO%xArFhRA4nO*
z!70m5W?;a|*sDQqE7B0`7@L%ts3|hn<IONPsYB~{9pyH!7YlQfb71HxZh955mTH`v
zG%G|FdZgQOu($nxa${VmLwWyZ^IA|hlmy4PQs6Ap!c|EK7ILK^CT-!*v#|Y`@3>dl
zIc|mTrR*RUHeFp74;U&t0h_WDaIdm6(WrgUbz-K_b+`gerdvDg;h~#53sxQTCmds{
z4GLaP+YLBW9bu076Fx-?_o_M>q6o^)2UVTCT6_@F<oJ<)o5C0-RocKCGM0K$^bYQZ
ztfR-8Dm_#lRMKIR$>fzT3dLnY-6NF;7P|&w@BrP@ut$>_ff&P;O&~Cy^A1<a8LS!b
zKpc)hAK${=N8o&@T=@}QC!1lqFv@O3-WenWs-uh~FZ`=ugysNVxA_=NK21s-1RpRp
zW|}QSVP#c+nQ?NZy@r$TGUP(bK@{*j1ie|}7zhsr+~yvQY91IG=)q;Lq=D@7gH?gW
zGt48Hhni-88u#du9Y_aCM+<$$h<i{3S7j($*qOsHm7ijY7VhPzlu%Y|T;C7({<=z)
zMwQTHK?Men;+@T)L|HMS7PJ|dpeK!sDLbxGp>|4tIRh_LQBd*|l`WNfu!$qr{n_fl
z&gZ~H{Z)Uq><Conpfz=4Au5&kT!cXGXjJ#S8uo|xw#}n{#B=M@xPGgmRcY=DN?=SO
z2}Ww+&^9V#nL<)0ZQ)N-w0_Wc+}j=HxIw;?qJ`hg>rv4<Vt6MESc+DKI~6SqRD`0d
zOm!-M*R-?**Wn%KaSyMgzVnJ(RjrDVYL!O)<qSvlVPUGORi|j-PE`xiD`g$SA5pcy
zx3gtz$>ab*I;5~T0A%e3vpC?58D!XNalpVlr-SK$AHQt}ivxZPRd){-hx4$9(^=}o
z;dl&;ABTeq05o7d9Dz8TjXu7GyU)fEmuRJbzJDZ28!xayJv<P3mbWFSJh2#IrShbc
zub;{jk4U!xat92{6^$qQT8^f}cGROujG)YMIg&UqM$?>BCF}$Tk%c)>*{5jXZYpQi
zuJ~|X6yDGR*R73BuF<W^JRK#wsR8YTuWO&DG+GshSt%JPgUb9)lq2`z=euHZ5O{xo
zQw8E*aV<0DWU}X%(UlX!z{XUylf$sDYd|0WjZlEH0sy|j@m5J5ii2ZZQE)zL;i@<U
zU%8?XleX}+<1OXRJ`o>M2!70$-m4-VchL7zk@9TS(LzN!V7Sc!HWex0UKJ^O&w@~q
zVyaM)v;@~G(rMho<?2+v{g|*{F{ToKq1#GcZ@{4<33E`9Vu}{-RgrRe`Ly%e^C1<f
z@U5y4#p#(<i!n~moXrbkr)PncsMvdY<|%TPOh>}kZ`1MoER!>-^PnT0hCQ6ngPkPx
z0CkKVm}z3B{27h|RG8xdYE!guzX@S|W=Y0(y)t*GNqKmlugE+o`@_kcV4<mh4pzV{
zMbJ&=w43(jT2k2rEb&sQoHny$9kir&*u#y>+p}vSUKhYI?rTe`Y;%IE?~RyaU4Sj_
z3s-Qr;ju9JK7LIZzQgyH*GTZQNF>kMnbnA9R3RQ$lW3`&t^(WPrJH6m6d~&e4l_Rt
z*g5E?@6CD(h3{?AC6~KGp-4}E-&SG5e=0>J=cuV5{w)$ITNdDcBk3nyMRJ-#^ewKp
zAa1y<91|`o<CqpcxU8Im+(i|Ww(#e<-hRw?-0ONf?u75<dP7Ub^%&!R#L)E?u({p>
z?sdIoHA*@7-eRioy>SVyBi+yA9$x2u=P?Th+RApE6|+bVY?<++XILYDUL12_attcn
z)G1onhuqyV3Gw9_kycop@n#$4d*tJ$Rxemi3r^TJ`tb2pC{)BY3#;Wiq6fmZ)1nRs
zPMXzdVYH46C=)j59;xi;iLQ_eduy*2)4-QN;EuYh?3rUwE^^)3o@k+&BdMJOa<kKw
z;NBKgO4t2%<0HxP=U3K$RA>7wtIq@e>g(<0oxE0WNH<TC2#C7Swbc7v&)#R`H14yQ
z)^e{7Op6w_sG;dhdV)3LifQHWtW4U#G2|PV7W)3pN~ZS|``J)8DwAm!>y6<U^MePB
z8W0C?V;#GWwhW7EIoiPEFYR<NeX*~a;u$q(XvaNTM`s0tqtCd1VzPThoBs~od<tvj
zr4DnwyqUP8b@&cVYx-!dbn4ryy$HSwt$Qu;5F%3j(LMJ@_Ia8hs$DD7X|1!EwWjxM
znNq4#tA;l^i;>@R!>*;<^~L}jGdiv2b<5#(vq)p@ckS-$abL4+J?2-!wl#fo0(Yf)
zSbQAg7M^Ln{_kpk>6xOM!GWFJ%F|37_N?hUCU1Youe;ZVb=)l9%Z7!Zhj}{Munri7
zemZP6tbluMScrHSkIGq{Dr{I<f@>SrY23qGpqrGdHmtyy&8qxGRfAeMY*@k^Y*;Zx
z3-{WvrddhYA2MJ~i^;{XY#?4{I9N6&FQvIg-lca<?Xzruz%-G!qX7$_zRpL}#$=7m
z4hF2#u!mE5W-P?va14xleAGMT3|9{jF$V*dPtn5t2PJA*vfJs0VygH8UXIBK?G>k;
z(9^S3P+QEVx_*lRYqGj1VZcK1UkjshDrZ$UJsPmuVGnN|v$BK4LDvn8>9#0ydxApG
z6)dIpQU|+#mfK9<QNkQWrWhCbj+T2*)0l;UnTRsAuCmK+ajp|8tc~l!;HQyfSSt+a
zX*~mpxdf_x#NpbLATXdP>|yI1T?KV3SPxl~)5$6Lp2BlT<=hm^G~0bl{Q$oZ6Bm6`
zciK^(#zwk|9@uD>UC$Wh8md=WgJ)E;JFt-uPwn)7-^NBo<P<8WZ@MfkO5S0xvZ7uC
z1L1c7CuJi9JagZ4RH2`EBlm&FUs^m`jbAm#Gb%&hj{7VUS5r=4%yeV2;2H`uj={9q
z93_PrahmD7NW8*nwZCV?xg&zwm$}}D1LG|m9M*j}z~1|?ld9f_W2(3hJBg3?;nTQ>
z$51nW3i5CkIKqTK%R#3ba2yA-H4}*gz-DN`?&E+BwRqgWa~#|eLcJtLu+maDXdg3v
zLqtZ%^fIuu0Eo<L+cQWqDxQAp*~p%AU1&Ne>cXNe7`2^A<(bV`G52g$Q_sU5t=BE9
zHDd|AE-<FYEnd32g+s3s=AhU46fNAX*A*UrAGV!=RUa~d6hboxAzW5?=WVgj9>uAu
z<d>4?QDS5@@2pusX10Ei<r7zJZ|=^>o+VvJ_Dm<%kc~msOoWn|ZNegIaK|y*#Hzb5
zHbk{e9LIg#0`iDo2@8mPY~K{#9Apn0fn(e*;Jnnr)m9L^<@SM?w1qz}y!pp`$Gvuc
zkK-QsUUrZ2o0EHVb>}}|X!i)%>>dI4+C9);YB-h;sZ)jB150q7Gk+fTaKV|Mm8TVE
zkHDCjV~#lBD=>^6L>z1$F}{U+Z5}wZih3|CA2fS_XL&u3+i;PivOL&r7zZe=D|Q`T
zGTS`$--nm{d<bc^#ayn!UdwN-)?mPYtsd>DhkFE+!gTZqIK~dc!rp8(bb{k>6y|U^
z`V=kPeK>;ur-k(ZKNPit7uc@Cv*sG7uZ-g@>Wh0}q-pw=5cYYqR4q4qz)g4^odvsm
z8n4YB?XZWt_(qm(KDziEW4bMRm809;2@YLXn4^o&rfA`AZ5Mt}3HXm0KQ=XgLSovj
z%2J>w^Q5mr_+2@N44xFnv&|~OJt^1mg$Z4Xwt-n03NgyRk2_QK*j*;zFqkx$2EGL1
zkYF1ab&Z1`T6H~lH9ocXI{Kv%<!8zn^yTuciY8gCG~BLcKnUqsyXq9}YS%Td2Zc(F
zS`}<7g=(}^eUut=h3b0T!+CapQc0$2V{wdIRo0y~nNM)Fvj}skmX(;ag?lY68-uYv
zW@Ry#BKQ>%U--g-ou6oBNtrOHOn#j=!YcMK)1TMjleP+2lls<609e_GMX?8{m~R#p
zh-<l|+hLz2m<|CmjxoE63!)PomX<1*JV3^$XyIO4OW6sQ$^0=}%ev8jjCQcK1jcMF
z0n64BV6UwO3_r|ATT4t8wibxn{o2%W8usu8qLXdSIDi7<miFygCqN5V+dDCb1IVXn
z;r;`NE%U~0eeVGJx}q_zt5sA8bIZC|Ae5O~)>$oL-Q2Qf#V~c7Th@t@O9yjHnTiKi
zHMgLlYMQU@EvIo0x0`N%6kXfSTlwpgBlg4!Q8Y=FL$Cqu@fSy2Q2iXmqGP@W^ylw3
zo6=GTQ`cT(>;x7&b%_0Qv_ob$*e}tG+u9+2wJ$6dcAMEk(Cgb|Y9lydz?7@H(`}2j
zSeMlTia^h4ZM&lA3&@a@Q5u&9Qy{)@Vs^|~=_ZjOwHb7~b>F^!Q9zXU9oXh%+;zei
z#17}q0E-dcA6*O5Ffty!{LGe<r^Xk8UiOg<atDQo6*BYU?%>MFUs}X%@N&FN+7q~L
zfSDPDI4WY9wI2>fANbziu};DM=~?j_05_!BjVuUy4_8t<?q2KE$A0B+9(>V5sdh9@
z@?Gf&--f$NLp5N3-IYSbu8jE_uy<FYyT&qY@9xS!qBHaVjeorU{HwGG=C=GN?9zYy
zd0c<`MQxqGzDxI+RugE`tC)PI9duJN3PE(wk^>VUG=~ko#*SSI%W2v37^W-<%!9}!
z<w$-Z0zcyho?p&m9$q$Wr0!umOm%FC*hy-fP&hPO&^N4qAui}}GMi6>!yC|_zdL6G
zy_XhThIXVLpo{A1<o#dna&%bph)J>M*j+^o?xXHxlLC?PwzD*DSlF=UsfVzWVz>5%
z^;)%v2zUl!*sbIfE>C2fF)BV?4f=!=7d`nZWgTIpT<l{TFeocTrK}Hcz+TEO)7vEd
z?N5L9bDD5}%v$I5m!HSwr+>L)1G9@f$U5tkHCU;n4%uzrAeE-<IAa%<O1E+KH)gy1
z0w#_1fR5N^%)@D%E&D#IdIiRA5IFY^F=-VJqk}Mqs$MZg3-?y_TFTdyLw8Icv&X_Y
zsVbt;krkL^RS0k~20YbvafIh@=-o;8{IJ=;_^CyI8Fto{6+SZW_!>^>cHC`cYC*J<
z;;csVu4jw0n$`9RK5)w!#nl?H|J`a=EpT=$s$Hd6or%fnctb1-t{ZAFFmO>iE)T1v
zLF@;ckGj?kw1a%n<g8OXm|N|a8{;0`<8ppZFoU8lt(t8)f@R*yE@w$u6ap{w*sQsQ
zfiF~lwd2o4R~f0B+TegR_e(|S!s&w(Epst<QqixM`r~>a-b|yLH^0BjV&Q^uU@5yY
zbk7CY&cgDqa54GQ&tsCX{MXQch~quwKY{x%Kc`uu^aX$YJ^t(8e;%iMRHI#nMHbqS
zYBb81jP)BB{;<kpF)qfzS;;e~y|X0a*d0cH$}~~w#hnK>$}Am=e@=>d?aW{tY&Xfk
z>rrj$eJ&R-Fl@Cu9tt|N!yew*Bq^-kBH>=2Dn>g6Es}7bQNF0(ZUnvHoPyo&;(s1x
zceSwrdYD}xX39bv&Ak4?dYb$a@Js!1GakmfX?*+k_cxDXM^Q!-WW){MvX=Z7ytsgW
zKSwd?@4%4Gq{g59Oj@=j1N%mGDSpL`gTeHpO5+v%kKUHFaHV%uYtC|7bHORl(S&}M
z#zPsGGj;D>iTQiSg&cZ37lL836j+pySaWLn<tJE#3iiWA{dSrmk8USxlFO3dUPF{6
zdG5AM3)BhpoH;{8b*qqs*I+z<ub`WM3yU+2D<!yR_I3G|+(XzKaNdIfpa!86FyC%v
zSH=P&6m(R})pD1jNZ)w|_jC!SB4CxXUum<!ISWCzvX|U~G5{!kZ71Vt$fFO&{dqmo
z)M3$ZpJ=5&fleYvh=dm(Z4|wp`+g~a5H)r5ew(0Q*ZI(d4-R)8D*QCv*g#Q#)R)>V
zY<!fx43`pk#8HZT?#RB}wIBJ-to^u4hX+k3hE$X%pbdb=S$4D2m<JP;u?72qs(}z4
z;cbJXxCNb1hKQZ&!yB-du<(sr?)XOtTjU6`8NIUDEBjQBR%Np=+_ITAu~XkbqyuVh
zCP?u6>53?dS>g*;Kd#|q?3_q{SGJ7T#EbbZPlImj@Ppkwki;zaT*1Jofb*J%ds2Uz
z0)j`;cZr|u=R1187On6?HAPmHiH-s0BM(xkCYA|KCZd2*`I|(SD_~c2%J*D&i-QnK
zjPUOXrJrTrg*F7&r@~!XG;va6nlG}NWKF)f_4qXI6G|DAWc6+vn2GCujf%p1j;j&t
z;WlM{S2+#hk@9c#k+c~Cj@xixlGO!YRS`_2xEy|^(#Bpxi29Z`L-QRSJp*7xopkkn
z>-zlLYrE$FyXPjm=YPXLcrl>5Mc)M<p;q-D`me8BR>1Cy)!16RUE?lx9!y_U6`qZ1
z^$m6(ks>bx1H&wmY?{b_iyF+=r=+4-Qe+!VVnJrtPx8l;yJ4$f+XGwVsmlh7d$rLQ
zW}8<f6b!=P2KPmi>&I{tl(DWIc2hRE7bGzof*Jx=D#_}{j_)%o^q{>6iXR}<wyL26
z3tF?>SuU)Gt0nF!Su(I3d9&&5sB(J$8D}-6Q0r;qQEIVTS;p;uFVu%kJ6){q?`hD3
zcQ;(3JZE<X74sO-Ek>OrR_oN=fcE%{BQ8+s5gHToHK0F#=bl^Zy}JxuZhQ8>9>P%$
zIhM^t>E0d6{FYR@GRYN<AepS|NKwFGQeow*wU4l?xw^_YI&aoRM`uzI{4bc8J;@6K
zL<C*iF`uN6I#msSHY&Qp*?>W$K#+)`kQz;|=k8HRt=q)g6#e=I!|&+W*)v<HI%1Nc
z$HAF#Rsk;DYWMF|v4D>|{LIQg{x9}9@dWp3JLuu|j8*p6AZuWZl5FTq1*U<6ScbU-
zHS44;+)3YYC?cwS%dosh;jbsfpeOFCa@!Nz3KV`*@wSP7B!$^T1*}a;8<M(aCH7S9
zID&>`r^MpTns9`2xmI%zVYz69OxnWgC)tkstc!<}*%3xnziBjJ5G*bpM$(wC0Xqpi
z!<Mr%BK#ve7}35|_<aWlLOVD>?ce}Ackm+HX6(h7$2TxOCtdB|cF2RtiqOz)K9JQB
zMn?pfnjUh01cOY52(rd}4cJT8qDif4xBWI*zaCr#@0AH=ZCjM88|K)ys7Jiav1^f*
zkyHPsovlTl?Z;P4#4M=Tvh!rO$HmmhU(SPWDve?O9nB|nKp=iKKwK*;lu51blf}jz
zeub@24kwE}aXeXK(8C)r%5-+Hlm}*~#suk3rRD^GN0zxTm#Ftzr)c3$gEkuY?u)d+
zH!a$CXoKvet}><W4j8OL?MN#yP41@YGff|#WM6<=f5*`>>2jJUlO<?OEL%4GI6PS<
zr36Cz_k*P!b(2r2xed0<mSoBP136>Ksz}Jnxd|Z6uW_|OeB&&q1TW-_HMMH#<tkKe
zKJc1<Rv$${(7cfqB?lMBG}(=XAU83J8E?y_V-r{%^Q<`kSH_{4??l!<)zU=$V@s$y
z4SDoMXfo;RJ0K8Z_+>YpxdEM*4G|@kV|W90@;(ZGE(2SgeuVXxQHG;DSZR605^Sb8
z!o0UAw7{;oaBUl#pq=IYhwd&nYZ(VG{3|AZ+NZhFbukA~fju_kH0IF`mr25ZP=UbL
zr$FqKv#WVbT2PO_IO389ZHgG)fd2fw4wteeVV<8kbS|r3w2_vuzxpa+Szj!1j+Lg4
z!Z29iVP~OOKOM)3f(_{qvy>oOz@|+a4?>8x%M*$S+0_o7M}In`$IMJk`QxCeB^if*
zAg;!Q-(ts!JgdF^{b%}QGECe?#fS<vw*RIhoxc4nm5@hzJLa|>DAB_-c*_7p|KiXZ
z^nr*f#HJjTwy`Nl2q6TpyWa1RTIiY>N2_MS7(q4vSlKmfQ>{uM(k7Lp9rNfb#2%Ei
zD}*6TxkL)<GM~WE9Su>h5I$c6cIujc3){HUnD&t?#G*tZO0#TYhAk3t3T{uUpJHh8
z2Z+UP>KUk)1{ZG#hd`>(E^{9ud~TkBX|pqse*a{LG?)h`)nvT__P!&Ko>KmdPC%b0
zGreaYl{XKjpGH3euf{xDQYJGd_z@Tgoq4NOXKg`0(hLztU<_}--XpO59BOTUycf@K
z&k?wr71xizRW2w$0+D&KS1T_vL-wuz2;?HnhvN*!zdhF@a9!+Y>k)Vw^Y|l>tQ69~
z5pLDppY5J=fU1etU^52BWD*6<+&$;tJZ}m(_<$%tr1&JN%0G=@fJwFzde3oWDQ-kb
zE>eT0zP#Z*%NbS1C5meV_sr6NYX%lU+WqDb+WcwEqlvnk2#?+B2yM@D*2x*#fWG?-
zQFp5kZ@|voii53?a{1tHMVJfYat4;}=h02$F)rf^*^X{ws3HjmEY12^ovH3Wxo5l2
zsKxFpCSp@n?0WW!-6j*u6T|O#bhm>ZZM(NL={?cU#E=Uibn7a=&rb4xEvUy|9C1NX
z2y)0`cmw+L_Y#(w^30aQZS8g{Ky26t^7+d180k*(dl~{sEl{5+fSB;aRFF}b+6KNb
ztN}L=AuhN9(-&i-4fNSxDq<sbZ8$*iqfKw%MM14Bhi-rOm(}Rz-S0p0(D-4dKq>E;
zrePgUmxJH_^nW5!@AnaZsrMgnEdO_;+c2W<Dvr;dyE~3=;p>CN2Idu`9`>Y!8yKrL
z-DZ&#gIxi&nib!f9ee-o%g?(;fnT}BF*(;#aa=lz@x)+ib2H@O9u_tAsLbXV=a=2;
zoEm>2Oo_bc>{hnMz@8D#kGt`sG3##p;|vi9F^q->J8Ak$z%TxP`;MqDtnuv!-0z)3
z+`ODOKZfIWHJ1sFE7D3IDvsNEt#yXmld)qT!y#A=Nvh%}p5oA5D#PIvA9C=Q9phJH
zZr?Mj)PW86wTdAWJP#oAx)R_-Z~y(<Wt5=Pu)}Z6wB42MGMK2FEZgaq)0o?aZyEpa
z_A)9WB4XpqBL!A}NpPHFVJ05+;$b$u;NG{N%&sys%#6F8iKvTj_Q`S;<;URLw__e|
z_MWu4t3%Z>;XvI?ZEE0yLzS3=Lp3IC;a-R8IEE_q5fynHcE#vGM>e6hn&pPcz=#xL
zc^fFnkUoVGXb8c5Wb4>pj8WPwqGedj!p`d7SsL0GVm7mXdne1zIt_a`oz+O`=-zOQ
zxidzY%~~*=8$=v^8$P~;dwm<|(>mxL^bvg-*&up>ktc}qLspCOz=9VtFsYXQE6CE(
z!YrZ3_DE3-+;(r0$IvZyNj5jZz}g05wp(tFAnfzFhm(0@P*{!Ftr&S!uqFyYY2j!|
zBg`ejbYqHt7VeGP1*P|7j@AzZ?oyt>X_c}<hk%fKQ{s|@#oY<vZm1ekU^W*_ic9Ju
zG%dQ2WX@9NN1Zli^?=8crbfAWC-c>)M^m{hyn?zyXgkJ*G+Jx#>lv;>TbP5;j!9d%
zTWD|i%{;y<wC^Yli#J@4L|#;aAc(wbg9VXS^^EI(C-P<)CL*D2nl)XK**fltq@r>=
z?BQhISuf>CX2UpHlZC6ca3!-aM>6}QE!<0HgbYqeQTQJ@o0HmURZ}+JS)RgyW=X(I
z{F60%Ot#~~oQ>^YIN~Bfjxb*MFDTfPlItT7xMrSZ)%rA(HvQh_$=O%jH-=<J?%7K9
z^u$zuS*u*j^dCmEySiZ;&y4;$HKOWj)MqhMRR98GCw?$f3x^62%;aZ&Owq!<I>3RM
zKBNOAw^@4x%Mrs8YymTdrGlM7EEwn-qXJUuR365nugXuyIF|Fchj&0ta@JH8ATW01
zBLK_-Mz7&e0fafI06s+vcdGyp6{GpTKB5ADfYY|=a5|vb>|76rwCOJ8heKLrwdg(^
z(k4+78URA5w()p2B+HRGssQb<hf|pee)VJ!?B@U^<(|%PJr{&IoC`MLHPm}1AZn=G
zU)~RKzT@b}+wsEa)GZ&9_XBzJ7!j}}Z{bJA7Il+1U#oAnTb6vJFOqThtE2xk>T{fb
z*VO<X2wA+%Ieh}%pzY3Uw|K|!2JAF|SLgNjHGre!e>xh#4dFJ$ncQmjMk|P24U&i&
z-46Ee$r>HoU<0eYFc2~*+Hkiw+VlteH-A0;yk8m5n>W9Er6<HvDOcc!7$cY2tgxAR
zIE=DGjU8|tuGF(y_`w<pUnAqKWsOvS$=Q43UREkuSgn!e2+LX`m5-&~W(K}2N{=fu
zqbeN(U)n*Bj)Tir7V6h0LxjU*V08j#u*Fhag5MBWw!p3E4_HMQ8*X4_i9m>DY`8O&
zrav0M?e`rKuWRm_+}PLe-P@={K!@UwVYt;cic-p6p8_#cr3?^7zK#&iiTk5}^Hy8B
zg>v)oD=LEh#Y9{@!SK9x&`lGv^`HRJRkm_bX@@~gwb!Ijkzr!$<*Hb1*nU&bd9|*J
zqk=t{thuS@XPF0S2~4zN1L;9kmo3riYRt{oM<o(iNW%h-7fz#_z|pUYwrZKc%g^%m
z)N2A?RRqZ`+^>wRppbJL_-cB8lNr4E{_UVo@-}ZXOC(fpvlVc3_i_vB@q@Q{Q<icJ
zZ$N+kes41?`>F`|e5>@}JxT7Hy62SHWE4FhVBQIE<NY^4wRFDUx3N*w`MCNsyC=2F
zc^*&DxzP@~?OC$U*qch>DJF|0$ydfmt}>Zp76kCF`oVD@Z&lfRhcyR(mdm!7GiqE2
zD;0vAIjD^1K7>8D9rN&th>EW`sQHcw#olVDweUgF_nK<1+Q+0V+^g(Q@K5T<_>chz
z_J%>`or!@iEC>AL0sW{%EC-ab-T?EuRqa2CK}{EnFq>$<n=IB7QslP%N4eyad5x3B
zgCQM%mHkJ)f|<GHUG^V;d6t;EE%T3lYG#0z%s=cQiPy1^n$xh);-zZ;35?l$f|pu2
z>_5RvZtsaHTDaH#bKs>9*?+9C_QC#hz--%kfMx#)u-E>Bl7x)13;Rz@74{!})wTWS
zH16SqUX|4s<{w9xwP#Xn_ZbfBk1z-8kIm44-L@Z;jzGl!_Cec!54g<oCuJQ#SI=pz
z)`3Zvm9P$=G((=g!8$OhHCfnxP+?@fvJFf+jIL}y&8UZ0BN-K@TTcbY_$h#n%iDB@
z>!~2j;Z%r8Te$mF*dUdM_j6?Ls8m1AmR%l1wq|cZ<i+X-IFVO1M(QWBIj*Y-2n>Gh
z<(n*_;a~$g4SP6$oi}C!AL(our|aywZVg=NEX<M4K4}a0(s`aEK<`7RKiW18I^8kv
zE8iKl(SSjU$~Y%Gysfne(sjpUwGy_`*!Bz04(OO^vP?NeaeVFgzdrrhHkqft<@GIH
z@gK>2RkJe_kAI#1<LUIb^xX5X&tj%}{0GL4`(UOPj^jUnn8}a(n4*PykN*QRedzeN
z21keE|A67~AFz)90DF&r^bDMi`N(yuIR5!n*J;e>aSyM<oY)@qaQ+9z4*a?L(XZi9
z0E9Ux06s+vcdG#N2Wz&G#g0J%a}96dsetNa!(2}VvrP7%3MhOwjrA1AqOcWTJroKC
zi7{7ae>?1d;pCl_wOS7a$M_+D)`RPOhU=jq%;8XoNn5!0P(Xt~=<)9sExP0IXV2g5
zKxP!W-VPcbn#B$W_uir`!hSL@c9_(|AG|#u$-Iorxjdfzr%?}&<5DbJbpTb2Tt2J_
zFrGp8=m>EMmrotv!ks=K#8O(g-uHC^ji{169lbz*j&aL6zG+KgiD%U3a`XgYQAU>j
ziAVBPCWXV*dR{ReUd}11|Hpr&+UM;xB0xRf+h%CKqhsY^Xq<P5yB}hs$EUKxU>NCv
z5hut>Pk33}Oiyt720J|lZoApsC4Mm#&2Mh02L>^-d}j9g5$(872%}*)!^(t)2^K;<
zm*K#Fg((}81{bCQu?q(-MCj}x!@}VM7Y4?7NK+iR(0=8>h4vo7hVkY;#r2nT#P^|x
z&g3rCAHas=Xqgi3oMiOvAmPYD;^QhI2lphd4C8JYVk`5}J3<3@wcn)sQBgi_26hi6
zo|!yBYBy`%Y1|tHTqkQj<xZo0S1_D;jgW?aurJ{?Lbg8a8ogd4&+<2?5Hk-Lha7Gr
zq%-Z=eMFXda6RVs7mU00!y0)aTI}SeZ$jZiMowxwutmgZH7*ZAd4@`S;a7sItaS?C
zB`LF!<s}yDjd*`%<De=Q@)EOcSmHeJC-9qhrC(&z&f6iMb*jT7m!{*XzQO&L;}~y$
zKzsghs;{%U_Qi}X>?1l(_43`g@Qrlt;dcBD>iMuTodPW#Rlyf8ysP<HVz$;owTjJI
z?M#C=g+0f-I$ya7U(`Q#Wm6jpwk=Z^-Brc~ZBbKC75qdW1BT72JPJw)9<1CB7Hs6s
zuv!D{m^b#YT8i-t)KSeba8&K%0bUe;&l<2KaECM+6qSL2R#VBQf}3qkb}F*bkUb-5
z)Q-FTC1?S;uwtb3Tq#!woaVb7y=mlPvCJXdk`AMU$DlKZm`kAAM*_Ca94`mVrdo#M
zqFTNyTd!XfagX*ht2m`&wUSaaQEq_g=X?vcsnIP#(fiP3Fgc`=R;wNNNsZ2bSpRC?
zpK7Nw><%u1^)@@h8gXcL#uCWmbeN)reaPK0d_}=ZJFN7q#+8?KztJ5lp_=pa&%Y}F
zobNcYvn6+KOvI6kkBD7;Sh8!^gLi&C=5ls~^X&{w@PV&~sgf$`0Kr~T_K4#7+F=jB
zw(lm;gXDoR5-&*_a{~s!i8#=IJI1$gFTK(B39V({r#BTg)6mL4YJu-R-ro`}h;Ojb
zUXYXCp<c>cf3pMSeI_ToHATB3{Atv~+efcb1V<GZe|-u}vWvLsH-MRx=DnZ|eo?z~
zwiWhAAg$723Wx1SUJjT|-?v&g#>jS<m-;J0V2HnmVd|UP6wQ}(^e(1<F2XsXD!<V|
z>J#q^WowK)cPH<5xhh;3+6O8S;uRUA106G|PdkFSc%59;-QLxba)$5@j0N17dcvmP
zD511Uy&Zd^1)wA3Y~#G`xsqmA+E~93gMbG<<A>B~+-C%sV+ri!wh(h-6xTGe`iFAu
z7%nhS^)paO1m$$U)F)7X2X#115OCEW95XOH&ZclWT;fM6UF;<cQQy%fXuhH=A!Qk6
zHbO=+(aqv?pUbq$KLXRjx*-EJd32VEV`76LXx!{Vp6Qf7uFQ&@M;WN_JeFd%8l(mf
zwp5Y;cb~C~8g!3{LnUL(YMw9-7NZLc`UmK3%=6I>do;uDi{1TygJA<>{D#U3kYvt}
z`=Bix9E*subYNI${`+BqfP-NJWBkS$4*Y6AQK{nZ;0zn@XcIJFaX-VNU<r$a{V;~z
zta|#)NK#2zT;O%*+jOhNaW!nbhTz0Wlyn1qG#x@yjx{WzY6s%$^I$BPcn{jFiVZNU
zW!ay`J>1JWsI5qU<-x!h3r*@V6f8Dbv+&A<6MB^70~bPJJusnz!Gn%44$}DGuuJ?z
zWkP=mXTo?%o1*!Qt}w1;V-K|-CpBf)pP7rN7DAGvi%fuXR(xn-LN!|6_3uGFP&&d!
zR4o;Y2FLy@Ltl7PHOv=IPIC;d>615GZpS^E3D=Eo$paIA2F6%uwL7+R*lPI7gs3mM
z9GS2v%2#|GaIj%ujEOYGK^FS2R6g|ga6XLpv?-b|>A2J2(&q-TAHjy|AO@yW%rf4H
z-LeMDXIY#rH)%K)e@~~z++(3eSTYlsHyXx3?NN3saP+87xr0?KXR{aYJbFFs;WysN
zcq+IsFwR1MRqVlyFXjmjR5AYp2hQnQ{R}ubFfcC0W?N(DK>wA>fd{!*-_IHN`U^UO
z9FQZ$<gFjYeyVwVWIx4JRrX7^^NjtL(MI&L9~|+?IZKXu<hUQ0uV7FS#W~G;R3Aq@
zyoQ-n5HR^9RU|O#gr){QEi_mIFN2rx@Y>+TD~?@%Pv2o=N13SsQXgZtxg1gXWM%*L
z9aeTzBFp=u0)@Vh7T#5bPC#ecI@U?O)?t^=Gz-jK(QK=ZQ<Mahq6LOw<K#uPi`Xm&
z%H68)CwXDpVV^+Yfi~fAq&UVrC%gHf8!+4=LL3|^F=GpNJ5okmVQFl6%aQWipT=rE
z9q#deyC?PiS(BA`C1%=5Z<Np_49(UWuoK2bdQ~K3SNtOH9~hXuVYHjb_sOeQ@HkoJ
zj`RS=>v5m8r_FP4*wc%3o3>qh4Y{Ae;X!fFb?~4>)@J&yJv}aLMvAd>f%AD!-&3M&
z)MaU52&x5+;?2qjt-Lj%&)h;iYgJ#Xjn>nD^|{NVJt%aK<Dxu?etF|ksO1w%%k!D-
zke_lj?hS94*6;Wk*#`P|s4iA~hZ@uMe@B+yZtticViNM<JCas#t=ji#*yG#I(IIEi
zp!DbqvGKFZ{hxs{EjU}^v>_N5jqIBk-hlpmcQ0f{pcdU^JvH#Wv-jMtp08p8mY>{z
zc+0ZhbBxR=>IGIA7XR6Jda+%IO5n1)kNh0OHGmpYM`#-Yh!~#^W*C$sxUAL-!3*l~
zCXg4ay2r%mMU_Fs4ehww)gd>{h1gD-;@Czfk%+lyiin`WnT|z3;8&TICSu5z+;gQI
z2HT0lv2+l`Dq;|2TEl0|dL~S3r*RK|_hM{}bMz87uTK@T>ff81`>^f`{qyd{5d6ZE
zlodzf5gZlUR;LJ9Kk{<G%+g{s1<k}oy*_v`gfK6L-ouO@@t!tC^CewgjBK?p5C~ch
zyZMF}<F9^BgA{nSyZzVbh)Wzh-To(VMZGu8o;v>T@n3hV_qfxbzRVzh!LFNsWggVy
zd7tH{VFB;4!j_));+RXI+D9Bl&y-pIB*$P`88YUbAD0PE5l7Tqfd=y?T-zNBb9qXZ
z{{fpGi$WqAeU(!NaX_<2xZQn2-qr07yLHQE4`EHwS!wKFG&gckXEr0%4Y?h5`@q}O
zb65q3<lwW2(X`WryO~N>=!4^b8`ZMu@g8~e>M(j*q;DSlWQB=yU@;~dJmvUhshnh5
z*=fw}Z$Q#L9W<-=w_dF)H6p-KgLsu-&UQ`ok_c#;HT4MUGH}%^dtkT1%UDr|%H^_3
zlg+9Ft?Obl>J3Va+!Cb3tgSJac-Rrw1rX{pRzv!$qU(HhI!H0-c7^4CpehPpfj7?b
zjm1#3@|C%D{`_(t_FyTU(201FV{T<`K*cOfopn&%Y_#=pcXudI+})v2pt!rcyIX_1
z6nA%bcXx_=aVzc=zvsPozM1dOlVm27Gnps*S^KxvK7EQd@mRI*TQfdGa#51Urjr=K
zVmueS#L9ygD5Ro7liQ!(^am+wu!-5`Fsy$)!(=yy-mO@tgOkhfpE@d*^^MUj9AViN
zjSvwMZYE)aMfAta@cc9Ts7S)10BY>_<WsYN;;GGXM!c~ME?zCluQ*;=P3IKD$T{Db
z2oWvUjs)X;T;t1!$wRoVzL<u48NR@}q7W4$|Cd7$Sf0UC@_(2D^Y=z%Wwp7VHd&9Z
zGtixdV)K?(1^kTU42<7jrW@8}6Jw{njI)x0oIcryhFPZ}Q6yfzlL0ul8oVo(!mCS0
zexl1F9Yi27#-`4PlER)lDbo;`{8p*ngzT;v=4N(kGbCsM{doG~WO+oT&Oa5+pMxFV
zPI7+|D1DJ_+1-Pge>LkI_!heFsD2Uf@FLpub3X(QoDGwHsoU?%%Y_1_YjgFaW+M%k
zjy=gE{$^2~31Ko&3q+O&*ArN*XB<Xms`dZ-DXMV0N8y(uQ_-=IW)Z4qZ>EZCbd5c}
ziR9H5A`!By7nM}6m^QWXg=xDjH)~f>E~I_7JYug9)OR2K6?>3gZTXfcN>RE&Tk^DO
zrRo+c_2JWU0C{9QRk%dHiTxP$Z#S8s&v#5(*>FmLLeERl4v6<tdbJK+ze4h~Fyvzz
z_Pe>{LPAJ_*h)3sJ@3r8X6^E;hgt&h3qs=r7?QH9%&sND&-(<?6cklo+)IW)Z5yv4
zqN*>XyvBxMEAeSnHu(Q=LjwkOOra0ls=N&-e_YwN#f%ZJrd^@xZ>Q7DM8eu6ya#wQ
zN|VeYpmt7F02y#&1BUnB{3k6|g(S}rn?&JrS}J*w!9*gnm8FL++9s>J8f-S)e(2&y
zo&$VB1~KjLAEyl9R+-fnk-+bQV0`PhF<s_)Yy_U)2@$Yc?>aKY<*fE5TN@RRQQxoK
zCNVef?y$aimwrP{ZMDwS<JK^=<qvqr)7c)VH$ZZU0EpE<xbzI81Znd6->$~do~=L0
z#rR`q9aZC0BPaK3@0&q~_0%7PK1Qmn(d85vF57N6yRN#niL7r9Ig2#}61`RXm@6_H
zCMzaFQA7E>YSH*}fkTYvFN$C5tz_LmK(A_k8i9@EDL>!hY$`2_Y=dX$_X<4B5^xzR
z;$5bEAUL3mOhsHad*TqIN2z3sE^TI?#Na)Z&UkYlGT-KvT<-?zC1w*1x3}>>U8<`e
zciKH8nf&nx`XeVQ{Y7W@*n{s_>31?`sTz+70akOohP5wBC>Y4&_TL-69F<O?y5`a#
zLTGzjK)YX*Q_EzYxQCaY)z4k0>BdKCehx5fN{M|*svz0;sL0R?vQ6(u&F?_CGIM8a
zl+lWmS##<e6rarVYzu0+#Iri?^y<@@#di1-ThS5Yu&b{|%-d*F@NiC%@iMT3;izW5
zJWfZAWt<ov684f>Nk>)VJT#Yr@Hj?{BUdy)efmZ?*`A~(l_8;2nm^Ch84@PJz6Z4E
zH`3L3N}IPq2R3P@=Sf1|aj<@-M=Br1Ba1%Jn6=qEZr0@Hsab2|5j=`(XEbSimHKcd
zaCtpsTyc@!%^*I|?6cQ7oHTd5H021u%nq4I`7n;E@)eqn4%BFa@DY@=-uXBDwh^^>
z=>+fa_|PWVT0)EsprbU3XeJ+}F9N~=m&t5H&|dE+9|WL2{z6npcv7|<*Ot5S@bb%9
zDbP9FSTB&zX6ya3aFzS<_&3gN^8LjFlw|Vp3jH3Ub$tOO3BQX!Zwnjze0?(W3M~a_
z5Z~`pxr2ABB$%Rd9ip;st$gS#2x?VXyi=eZSxm<`_vVFm41auzuy~OZ0+P5WA=3_q
zy53l!KtMW*5Jw6{j(VDXQf1A=@5&-}Gk2(Qqh#YlKXKoX9wVzaU#%&Mn4p25F3my4
z>t?-~qt?Bh1b6T$#8_Gt2vWm8pz~AY_dO9iV~x^IHOoNkcd52<y@QIra7ilJAfgi;
zEdmTf%25|<xQ~WA$F_zCP#)t<v^F4!VYA2yK}_F(SVieK_6ixR3*G@cvQBnwy-GO8
zjkBdS!*fzEjrKd-k!Bt14{4z~ZbDjWssFw-&D2-L3kvWR`cRW9I!sIf^$<EOg!w9Z
z0xs3K<ixKIhP2=DM)z9552LPHzGw;?t9qJ8!VS4^X3j}Rmk)SX0}@C~n994b;&-e)
zU+Hzjr-{Zb6E^hniKFR*oqjdfM8QpTqBW*F>XK@O60A50p6p8f>@485(Uml0u;Z(Q
zU&N0ki?Nl<f3vLsJ*>l+cx;KHN0$0kmESTdDbZkT0JZxBtY`i@jw7cmqDy$XB?)|+
z`VPWW!Jwc{ECxz0&^0;NR(vtR*2S(4maI6zl|K~U@2;GA=QOJ{iwzdwM57Kf$yr;;
zf>dj7xV6br1^Hc#@+U8<ccJO`7E|-Cg~WB1d|B8Jxyg<2?Ap9wxxdIs<?XLEHB}~W
zWD};77!8@IoV0A#Dt(AVEs0Un?yJ<QIwex|M;`nmh&r-`fB-wAZenvtJ4^bC%$oH)
z&ZS&;sERXQGS-dy>4P42s>YvKMM*2QhuNal2#)VUXzW5NEiX)s=So(WNG@7xUx~qW
zD~r)HBpIiV2uIl$*$}9lU*-4h*%@TSDkD`M=LydnkZ-Re*)-|-lZA_m6e?&D8;vz+
z5kmLaO{GI<03!88j>%2tQ-?MkhfMdy%y=e!^1citSo0<U)v&}%n~i)tEd%!sYfMwW
zLDnrMEo(lpKhOTuC8S|pv|NV%7KN(AHs(oLQ&Xk6>4$BV<B%EtD0CY$h=d6FhdDvG
zZi-cc^}{i^I6Dtsx`LXe0)s`-N`ksw@~;nV8wP<;!1fwOdXlSvrpJ6b3`w7LTo>)t
zEP)--1ix)`N5?Ns8oubhR<(CrtMYZ(R4L5gb2S`mV~rY8NKm<U>lBS&$EDQ|31qzq
z9!4biC~KIc0oQ2U6c11H!7c>m>}_!RfED4i)XLmj9dwoiMQ;g8+tF_H_mrY;7<fcc
zz3(x>KqbS+w*hST)Jh0q_LNhRez$m&d8u%Qgs%W3JbHSo8U(HT+&Be6P2~bdMMjpy
zpO5P`zO_X?p0l)QJswnN<RK<qMvrD6+#2;iR-6j(^cBY!*0?pwJ+`A>@egMpbA0bz
z6<s?E%IzXtu)v;|^34j);y!b1Tb>@q#K!P7@E>3)(8kV3Fa{Ipa$#PO22J>hl0OKD
z-jWqYeZqeZm$fs4;cLDfd&b_30WTepR64b`n<agG?OD%<!iI8;$9^+=*rw#z5fQ(`
z<U1ngE{|Yi>8%GUg#H|AP^m5IQL9MZK&jp>bvg8AjS6I7vz>vfdsI+N`DkATq`&~P
zeNJv%vJWLANyw{zWu_0c>n;&%!yI0ef!75f2JMc(>BB=ffK;>U?CNJv(7&15Mm3iy
z#L8$EZG;}YL#Zlhb9YA-yb&2Prcf&q$GQwpItgXNz#gGA9Cb^-^qr7^gW#=^qv#;`
zLt6G2NCyV$yNOKknWMHGF2sY*)UN=mBRBgf&b>udd|1R?x)j2*b#orbtudWy$rt$3
z@CV7EIxAizlL5TMILuxnGk7frldf^qPU%_s)v;ts%I>glP<ji)F!JAf3*k~J(eQ$>
zag<MISVVd0PJP^w+Ad|Blzn%-wZABV5Oj!ivP>@!S#2AA(W^}0P>6iwqA<YwMBmV_
zK!5MY5I70r%lH*<f_q2ltNSqxX+nnef(yBI?J-(A$Kw0ToA`ozr_)%MGNL!z?=M`%
z06~v8FvJlaK+iGE-y;Mq%J=}GDi;f;CRi9$7L`G7t^1B2yvO3Ew%z!GNp8)4vP&>B
z;5tNBF-T7Fa$Y5a$g6~mQUI)LQlBm@K4H3r7EE&7$DzCJ`@PjEd33>Y)9KqgW?Vj6
zDO%Ji9i#Yw9r_&M+B{&ySQ7?4e4FzsGB<C>E;@Pm6}F)AEZ|<Un;g7~8Pl{wJ><h_
zm=zz|)(2h<Idx<M>YrR@BM75+la*Zql{yEbkvz&IDM9X&M~fkpp#ZC4W?8{;!9kyF
zWBFInoW){~{fi<K#L4auKJC{rgEh(>?CtvyOcNs~o0fkM3we^%%eF}0wy~)nUJkD1
z6TfTYI(s6X{!NWcQ+4i>REYfS&3OH=&1k4jX$l|<hiO|2-VM5+X@JD?MqT%g;CwfV
z5&7s7x&zxvcFnHx=K<<e6r7RTEQ-r@=JesA)56kO=a7mHrXVdOa$wj^K+UhMJ;X^<
z)yx`-sx5PgOw2ZhX^3CPdO7uVa3XA}YMn$R<0-kODm+9~e<GE-<uVIW&Z7+?60&bd
zLL;79@N0w%_kGiHtG%b=XjURZ`~k@Pt|nnKnYpzkTR22W58x@s>Ux@;++-FAoOd&7
zW$chy!QKTAszEHoD60>ziyNS9dMv{+Bawg^zz|JItNu>2{8Q5lL+fk3(wbh9ET}1I
z6a9Bhw1hGPBA;?C%R^g>0bO_yIwXeTI%MS;{Lk<{_}B4KM@T(BXycpwmRqj7VvGSm
z3wT`7&dJcY1lnB5#)JUzJwI|CdFfbaozs6RGPdSkvTqD0E&TiNUOxUg4U<r7P9Mlk
z(G=0qwkd8E=h8MS%}}Xxevw=g7ip4rt9<1IKNf3h@USPxE3tctDVy#Z$_=agnX$wN
zr*4-%el+ZuWRe>)8|bm7ADLzbGQHq4=m6r~Z2BlyAV|Sa0i<aqym~o&8|a&HF27nF
z`_N4fFSI9R7=UFX$W=BaFH)4yX-Y3;-Ag5NM}yKRF2In}>NQy&|5a8`CWgb6Gi+_Y
zUvz;MdD<|D<`O}Q)sq=R75!z1{k}yr8DDDHeUo~#y^1IzLR>OUHxv75SJ{C?*D^yh
zI5xr+kORQ7ZC3a;`_ZCeHGRt_1*d({qCO@cEqtmE%e@Y32w$pxRtifnysVd7P1@*9
zeW#G}zh!{pQHr=~gF(@59Va(3E=ULGH3;7sP(bH!Be=KZ+Q1+dOP(e&@(rxO;QdEe
ztIS82*+0iYvTCcAW{bqlvO0wxh3Y0WKLyJL+!-wAzBi|o9wlE{G~W8)@V*4CGBlRV
z*bf)xKlDREJhx6OyVd(7srZMm9Trwbh?uJhjdaBE{d6jj)ivkaxCRrev8WMBuOhy)
zq!Oc?_D(X3Wnq%CPC6GzO0aPpF+JoGd1?>_Q**5vBu1ig8QK%ej^elr7=KH>_^mSr
z^qpz+<c>>x*N!bZi&MUF^bQ!;)Pa>ICfq4Yf>PE04qFh)t?|=rYH|zTBkquO+AA>z
zvU;70&XMO&ucLWzv56UD<~7I399OIqw&Q6rH;cQO+<AZ=p-P@BYShTTVs30fSIx6*
z?nAWzFrk1!r!Uobe>6G8x^G_;hGMw4fPR*TYQMm<+P3YSK$a=5YZ%<^&*e;YukQHc
z{ys`9?Qd6nMPFvp52f&|*vm#VGFF0)G7X`Lwe;~STePX;il$sfzFnh4{u_L?V^3U-
zW8A>t9jJ&felYTd4s`Q(JZ$ceDpiV02`fC02|N2?c+S*c&?(bxgS64;wqCyh2apn>
zw#I*B95D&?-{-=>>y);P9JCt(D48g3aNO}DTAT1QuG$Qw3#@jk@_I;}@dG04)d=RP
zdPJ0(L;ha0Ay6y)5WT*S#BI^05wn=3hN)nVC+9PGzTk-5Wp1i>bmsaxS*0qj<wfvh
zX%r!y`>Lc)Fz_||Pp>G(j7_+5B9P2Z5r8s)!OydTk5pAKk4|;MAq2Ji^=H9^GytEP
z{4vip_`to%Osgd#TpzoDnwYc$UIfp^iIRX33zuXyB+XRPcwudf-1xW20AA)trPM|)
zXSKNlW`!i!!i_@xay$|oIn6Icy)6SNFPv2pji@hu2S}&MQoqRWIL>!bqJcx{9HU7l
z4GdJD3@K+S^o5c@hcE2)r&a=EQ&1)o?rC2PQ!TJ5A}mx?)A5Bdk|J7JM2B?Nk)}Od
z+hlNthAWO2;^Nca7A*sg>LQ_rMOmac@@8->@k*EO%+14~OX{E)5EgMPkCjlFWm4}k
z`h8+qMzkK+wFsk|H9ONLe1M8}w;e$&K4MgMJiM%9I1|FkwL@FCa$)o=TxO%J<ExV@
zp9f@O@vF#nmh%dl53zqJ`FRyXnfPAu>dofs*q8pOCc<h-zr?k_APAypht=Q=;+0i7
zBv1MrCd{~>-`z$_(j38v6UV>GgS=QwD1&!u`@<r5S34vEL~W>{55V8ZS9eO9BgiMa
z4eU=oyv<{{ec~8lM}xQTjs{)9e<MF)Yi#xX2H!U|m>R^D3Ky=!tRiOv=%4JGuzBw6
zGMnkxjyBX-+H;=`aa)&TZ}E-iiofvRB}<yV;ugj~gKm1sm;Tk0ytl?!^&ZciQ~hgG
z!PxF%c*pp)V3mO9K7gM7*Cf(k@PE&*mXx_Ap4EE(Id~x%So}Y^-8mbnLE-bHW89U$
zt~D2HSmQ-}6^$xr7o(ewj%Eaod}NPhc`;A{J$gVEISC`pf^UD7F3suYwwA3M`5V0;
zwiz!AeV0e<tcjYnG=k(*WUJxHUvsW}^TomJ$tZ+Xz-!rqEa@QoZiHr+{d~7Ov|MVN
zRSeR-#CMRsL#`6xyhl&w@e`iOdO#5$&P3J?cEfZ-5W&``xK)lb*KJq4PitP|i)A_!
zzOGbbX`uTMbA!J?14VjsR`oqh;}rH4%yJ`xWO2`bId+4GX$7{ZRcLsHf*BV~3&=d4
z-_jrf<{^;DYZCcnQe_CC(NS0tY)AT$O`*-$J*upng(wZYaKc4_j|WECakXzy;V@n!
znE6r5M}XqD75`;_QqEL@2CW`z!Flkb<|Kafub<>}>1Y3NE-CL+?T-)DYY3(s5}wb-
ztHL1+*;KTxltMO`=$|m9F3&zVkeiP<b@|5tX~T62=NO-g8~LEXQNPz7XSd}lzj&>r
z#KaA6&u?3IZIX$+lU8nIE{4%HJpYbeAyGsTUGiN2!;zBYY2KTa9NuY)HPF2cONYC(
zE?7P7Z@-H+eh0_2b<Urm%dEzQ&i!?rWpQ{)T_vh4N(!gqX(_t=$8wmzCDxM-Wm63}
zHa9zzW}uFOCs)gsD)W>$BxQsA9K$bl;#PSjqt?uV`j*%kk?N$V)|{LlSjnfN4S`D`
z`fDGrVrIb6;4hzI8v4G7%yN;g#9zJ%pTEk>ankb%q8nOj(Q4QkNyB$V62)pO?F0|-
z9en)c65pC4m7qB~wvTUMh=wDA%Q@$O|2*H-5isw*qU$Rk`btf{qxh|b;iSBS4OuCA
z@G4&QhD@FD$I0cfJSpkpaa@glGxtiIdXs$u!Q6go&fL;}$8u+2L^N}kh)*xtBoT#+
zO5#T6J+LVz<oC_3EE&&D*=39W@88OqM?*dkQvRq3{|c>zEo}pO#^qvwyb_I|DEmc;
zrV@9Xa%<IdxXmCfCX?7Y^Dt1%zJe3}kUDs+O;AT)_>C~htkfvCcuG|ib_AaOq8OS!
zT`!%rBJ_5??~kfP3Zt~5!<CX(SJ1>73R%c#uaMf*K&DT~S_X)WgYrP*y<?gF=~csC
zzH^EDTE?4$9-nE1x?&2n(4ZM{phTlDNsnjm<~6Xuvb};{NV%hEh%<p9;il9D`_}T+
zN%2<W2*&M6%T%!&6CYj+8`k;G)O_2b!?sjJ^E+v^^~p7YPEzhWP{*^p3WT4Jz@5>Z
z!lQ_4Brn0A(OE-2$y_`<`_Yy1m!0!zpC9(E>dUJ|4eF!Rc>v7RyyvKyyd{y-wg#@7
zlch%7$qHi+;>|KkJ4A4+behzpPvuT(ZX)-Jt49^?E0kB`>v0RSDP_Eh4YKTUNWq`=
zEAIoz-b(k!R54DbT<c{tSZR}r)3F4H8H~(bk}*a<Td@>4F-tlkbs$UDkH-*G?Yq`P
zdE#C<I7bk1pnwrNtl;(ef#wwFGFJ71Jo)v3Y)-_Q#We1-UO>-iSiqKnFxinlbl8!;
z%(@Nx5@|AXzKk!B>-wLJKKe=zUCvyM<>;R+?6#ZQMmt2k_HNbcmlQ~IP7-@WBGr@`
zv<+j^_@XE$FJn<LF6(^p#m)_gHIRYOI4jd`4if}y0$b7xeD;Ws2Hop8cU~I4p_9cV
zOZD_b`<;EiKXGb0$?w6pp;<vZ&Shkf&~?0Az{W;aTqZfoIu`hP30#|pN*>cn9VxfC
zEOurfDW{%8B*@lV>UoZ!Q&!X5mu7&ZBtWayi|=eX@_eGL(sa__e3asoOTOb+4L$N^
zj81t5)HMG~cB~%uNwZ<xS}3vXDWX60(MgAV8`QH|g-hJbs7vZ$Lk*2cjUbOWYnga}
z>E}%M$(uLUtqN67N%#eu4s{()&gKr?Cow4Wead`o53M-Fk)q|+e6R;mjBpjaw9|+b
zrp8&O-V_pIO8rh{H?_yn-h;@SV9RRNZgR5<xR=D9P?ZXb-#z%p0+nfUXxOCkbyY7t
zWK()KWJo=q(7AvV;X%`|XDEe|&?G8Dr(pq^S7+_{!Rr=-XE6_3mnJ@^`iHNnNK+w+
zewr0)p^axQ#D31`?lX?&`!5k9T?LRix05*j0FDag=h#DV3Fgs)#)I@Z+A-$AU?a&g
zK&F9tSAj6C1-Z})8Fd?N9vhYpOWOQ3Iof=}OFz(}Gji65Ea+0nXPsjwy++ZFvthWP
zAy-SS{*SSb;Q5^It{euP0n`W{_;~v(K2i_aULWp%Zs2DKIg*z9pN$JX0(gz>i(fRV
z*T>8S>oh9C8!Nvd--_)-Nf0iW@k%cP$x5@h4Y3Rz`nygRf`iU*=?eW?RxX3O1?XQ2
z3&NXU8J~Kc$1aYpFDw0Gjp!uo#i!~&qOpF{wY-1=fG@3O%wHVB1a*_IVL19F16W7W
zCGSR?9UT)`VAUf*yjp7V5rN1ZtNO&2X@B=d_<=dTo?5oK{b@mLNE_8{Y9cR?*}3;P
z=jz-T;L?DBf+P?FGydij(dhT!3X;k$FtJeBxOj5YeQzh`!74avI#T`3{z=IaOljTd
zsY>|tP%xP`y6p_hCY49G{VKIyw2Em@^c%C<q)rMpDL*@{M2LPashS_eM=?m&u!Y-B
z0vY)K^w6ymp?mzRf!#+jz$O4hFODh+sQEn(Oj#SzVzVhLj|I$f0?q{>DGs*K+u{Nm
z)qHX+y&)wsjV$c_XWIT$8EnnJ3S7>utQj>#1{pmdMJu_lAm;4mHL<`}mi~7Gbp_6T
z#pq4g^9?TpQ+4=PF8Qr%W30&3sCZ8EUw-^L?vlNJgv3NC^ae|YN<gX6_RKlGx80Ty
z@+*T`iT&R`9;4#!Cd03d^z1Ewn3vVg<$D)<oET@8@J{7`fGrN*<3(h=U*|xRgGSv#
zPd1}d3qi%1s{M9LZ3mlU?x<i_!=mY*prDBW)`pqPY!*f$SDYge%iMyHPWbLT#+6b2
z+Im;DoVbm4OW`JgSHNAObHc86!)uFivDk&*WXBjBYSv!A91Qi<i91yii=$-zMVS)>
z&#cfkVm(Qp^x+wKO)GHkkbxdo^nX|C6R&@1m2^qt1QKk=>(U`l38pvEI1+4ebQN2~
z5^U6NvxAbq?ODcKQW>L*3|AHWzfiQKD(u^59)4M!?$`rBCxd@fNOWA`98tWY#1?o7
zcvg~eS~93>GuU39pR>~{C{aB==m;q2tF2a_sYm}iam^qsT`(FeEhjh9@`%<La$hP8
zu?aa>6yHoBNo;YfHG40M^c`xNQ4ijqYa+o*UxwsZ@b2p_ahsGEN?SImV5#;=tuM5C
z=eR@`+XrfF=~dOYH(m48CnB7L`~|zgAHm@Mp36};u8lqkMrdPgfb3|=Qs6kMYPZQ5
z-nmaSS_Q#eZaGtTH3bBF4g`uNOBGKapz^AecvcB|i*;u4Ct0hb*)30A_oWZWIMp4p
z69;<_n?`iUVnmkKWjuC(jg_d;*19}y>~|KZ1)QnMB*ER;=OvGWRIi^QIl0};3E0oB
z(VW(S>Dg0T1I?zTEX__T*&su@jH5i~=H11J+|z3El8P5cZ?m(fXS@^zq<>>JwWVIe
zG#wUG-2C@ACyfv$sL{f|;l|4W@wCnjJMyxzqI`woTt4wNAVsqD-Zh!@=|z>*+B#JZ
zpynOieZ(x`YOe(8=dG9yo+~~cCpj~p2f~*pg){TwVJJ#fnZFaTPSKz>FPN6TAY2<x
zmvs<$rDcQ}*))H*YnH@9o5-CIa8IgVMDc0+J+|6m?=b2Ky(Mr~_khst<(pGu{cj#O
z5tY+7u^4j|3P#;&2adkC@}~KF*r#YUuzgm$^Wd{zY!`Y&!AB6<cf(zNeX+sG*Ar!d
zSJOJpqeQj%Eks^|)6u`4H;Ui!P=VjB7xu|3@X#XB1n&zSUjBC|o99eehX#m5+b|Ti
zk@D!|1UC=U<wN7<5>{?IvAP3q-xtt|@Q>eXNFx9n4_C1Q(mS-WkNk+N4pe&qm)M$P
z!S&`GS7X&Hxj-@wCv``zTEasQV*c=U!mP0Z_%k7Gqx#zOk~+P|`a|P*&(tMN?a?S_
z{?|hl<gDwly|1hCgF@e^caz;zy8>J>j20zGB5F^iR|W`f_R<h_><ZHKK*cI+kr*|8
zy8oys@1Q!AEZ<+s-X1Y(DTI6=V#aBx&LW3z6n!M6Wya~8gT;%YwI-BIod^N4@hN?e
zmpFUh6V1Le8R{u`-F@?d9>;s6?<%<M$<zYr@cFx!9I9u7zJC=d&tFSWa97$NH@yN#
zcU8RH8X1oIFJTmu=*3$<qYKyeTU-Ut8}VAySKy`!YS3o#sCnor)k2AZHOEqUP%RxY
z|7%#-ulVG*V2+CBiMiikUJ%3|7_E7eVsQCxW(=KKwxKAm3(O~?4B&*WT79)J$>`({
zmOIa@mJOL!;@-L#8ND8?9JGg4;2Oy3<!o&CidAo+gUX#xGj00Cy27R1G|`>T_$9=J
zKF_9R`DUSw+dae&zQP8eH4tJsyXj32)Y^?fnlJWZ<5__r0nCqMbbT@<q<luyexEtT
z)p)47cMiD!xz}N3d%&@a-o<1*QP=%a@rN5k@74a{#%}L6#O=xy|My_?Ro{>Uvz+{3
zWUXrl!AyQC%KP?*xj#ZZ=cIBVr;2;u5}jdrUji&!q3cdcE=oKwwJ(CpTwOswF&(?^
z9L>mdn(wM_^R|qApTdwZL1)vY@Afzt@OfzMT-QU_(6TQS6TgXrjn^p1d(2^&mK+#A
zb**Y)yDKlYh)v<whn6hC8DAD!7McI0B9QI7TH69zNWdNqH_cM{CR%ZAg#@*PTh54J
zS4z>ta?Kt&3l%AVV{_^oC}s%f@(b@jXM_w=%GFwHoOxlv-nwmz`9sDqeYs~$l5k(+
zSMUJpg@!fG-)18j*h9Q>>WZB7&?st|PAA5~Gy1-zrFgL1w|MI3>R{(zz^WE!>WHEG
zoHk4ACE&nD|HXQ!Tkg_91akWR{*Pg&hm5VdLC04-$_FZx%tQ<+At5;M(Hv`$G^s}B
zNlZm#vDv^3nhm1-L2+vf_;O7nCSb<HG&?MIB$!(RByyH%1pb;J!{iLukTdUq+gqWT
zhUPh=OKf%s{q;yBTejB?1VehUJ~zW-yG|CVjZI$K7i4F3e2_G*h0Me3`WZSV@@tf#
zAC6Ha2iW`mqql8P%qM<o90A8au_Gu^Jq~R>ZSTi(3+-2Ti$W5C1V(>b-RSrXrQBi3
z2O9WjV&WNYYM$7H2}yTXsBI3%C#66dV^vLsE8?#Ps1ySNUgKdb1(8a4N+I|Xs{J!8
z<jV@OZaX)r0?|JV+=wMyNuI6^>-#I37Y$iQH31Izjw89hFhp}-2Z;8EZ9%)SSf({c
zb!lT?nrKUvO==XFhvz~5$~70|u4Af1f7j3{QF(?FJd$%a<zv+e`)L1TZ<bQF&b0Al
z1n@<Te)GBwkyr$-5~NCm=X(8ZbxiV_Fh2sF;JbC!%PMy+%iYs1lom$|xBtEjGiMY!
zp!{2}i@yj<Uc`93wU8XgZhfG`c4||~Zu+CDyIn^bOV_9vFCdsdCJg66uM8hCpdKm2
zu8VHz#PEO~&FP0mI4J5evqrJS(A@7IY6-pVQTxc>+7ab4Vt%cB^0xh!HEF}D#og-(
zlItavBINxlWtj7Q?Mbu6@$B@e;M{e9;hzWRVK4Cme0MSBspt^w$fQCwj>YmoGtm;A
zAocf-|1ysb%M@7{{f2+JN)qjwAC{u3a$SiidNr|0$REbfr2eFfn<(HQ=&?pTxQU!H
zQGEhe5<hkaq1G!&UGR6+;=*~nm2X+ABH_<BJW+ni0kW%q|Hf@}NK4M_${PU9rjrE>
zbVFKY)4Y}K<7`<1oktv(G3Nw_f_ch*?zu2iGo3Hl1G>Lai4TfY3Mc2P9t4jzcGtX7
zya%q!SY%Xf)q@{7zOOwxJ=$MP*Ktp7dqGO;(xM!4js~cQAviGDtI+#Ah6sBK&QL<W
z)SI4sZyd>wEfsW88)YBqHj)NXo59CXjVq*lh}KY-T{6f0&3M!Pad;`DFRrvfV6wt`
z{aQ0%Ldme0Z89rHcAdx7b8{Am>3k=yoG`6_2k(W1OGrtcj*oAvoQ5<}S=I^}vmVV!
zW_)A17hr2ZQ2WajB2i^KUL}ukzv8}BFY?@}7Q3|+*>gEHMFnl~^LYR`qj>MJ;eu!x
zv<E!3@zz@$daBBZqH5$j8@!!X%v>-IlE;Cz@^s`kX<~xEHM;-4v?KFhEt@PD5G1na
z+VBkRW`R)FU`}nE-cdHyXf|JrO>LQK&)6BR&SV5d2zu@9qIPww9}JOth=QuCV)%3t
zUvW6Z80Qs%!9v+n9XLQ`8<betQ&^}s0~QB!X7aW}j;xEFgAmoMCpS*+Kj)9)-DjMC
zVYvf)0rRI(j=so|`2{<g0QWQ`nkU^1#~4~FsfXn*a*CO!Dcv*TB9?_f7%D1o>Q7KC
zC@J=90tSU5R0oS`L*%)CzI17oA^1mj_o3r!9r)nHhh6&GRV6@2QJ75hBi1?vl3?)L
z;9nkdN%fLN5#ld}&9y%q>68(nsOs5sF5iz?xkDg4$15Xkmy^WQG(l><sh#yp=#*|*
z(+OUFFhQ+f{otdKo0ZZ%1Y@n{xp4zodB4EC6DEl}{R$sz9haC={+Y$MX_M#QKLm9(
zT@-#npVFYR1<?a);IE6iF6T{TV(l6*6(e_*N^v*>ch*l~b>%Q4wq-7CJ|>7^a%yQo
za-5*(BK=G{o%PDF4arjpU3eK1G3-XkLY6Qm5~xj`27&1b@Ur63GgbWt-Q47y*sq|8
zG$e9X^fr!pu7=SKRtb1~{okyNP?BQ*+ZfHSs^7irN&{#S$z7@$mPUNApoE4~#9$~s
zQFC$0-Q=4Jc&Esq392eVGXfsRh1QB<JL5U@n|9@s>u9#GDvKpTaXy}L^J@u?LGuBu
z6Xq(A3XY1}X^_Pxpe3xBV=xA*@sm}W+N@~TQJ=CM2HQe*UUqILak#U-*ppmJ%BVOs
zztkZ67@#&~UK)$d+3F;(A3nBKb~1$vYyH<n;{KYIsR83+$T?5tk=ZtkDW=3G#azST
z%~85n+{Wjq?rmupOH_28f4XqQs9mCsL$^7kqh6QSk#pqK(%{46U>=33HGP`tQy}3b
zqTM!na;!UHmlj?Op+)<-P!^W!V#$_(;$9HR3XuM8;`$`+$)VlkOXZt-7nmL*eg)fV
zwwpNfY02k*8*phUqh|gDLvo0zL&hG4ucd)+WkbZa?pa)_uDwBkvDar@iJkif<9Cuw
zPdwNr#?X*`I3C;LzFHWONhyUogd9B@Tiu|RvqK;&G1Z@c3@UQD^W)*b_kMC@Fwkl;
z01d;Kfhg4UJ~|(P+?$~pj5&CpjOrH?IHMvkJKAQjZ;NGnKJiSk7M2pt(x{a8Acg5K
zOY&?0>p;hhb70V{S{Um<=*)cId$9hl`KvVk8NWcQ6>?^em%Yl;xYsm_X3hqfk6^1h
z^4U&%O!<IIWo^gfCa46+nmu%PTk^>RjHBz;g4aP>6`~7elN@OK7%VZIZS)TEHtP1I
z5396t@VhS&$4sj|v6tDQy!5;ybsOczzVd2p$6Oqr3+kb~K7$ehIhLf4`gpYD*aiEO
zr}E1Qw8Yr$c0MpWP9m1iKPa{`hZuVH-Q9yP%we0;iBJDbI$mz{+xV<mL{<Y+s06jG
zw;(a(D`#=I(4;w*jJj37ak^0<X^|0I8h(1cijZYiGs&^Ehm6)CT)j!v=j+^5r#Sm>
zy8Q91!86Mv1$gs&%cCpoDLiWlD0V)ofmAsUt6edH#xpjOE<DhN%z<TJDfRgWiwVK%
z-3Qtf9v(D1jAef`_!A8KfIpBLYesgeias?~+rdQYMB?FNU>au=UTLI%VO$K+9YHu5
z=+KhRQg~);Fzef*jac5q)?(Yh=Sx%M?4x6f9bmXSKG?FlcWZ9c=7&-P>7&y!=A?7r
zu2JN>j-8vxfFbF2jxhR<>H4lW<g5nHug~M#e_!6ty)sl^Qw=ioX`p&;9XnvI25#0}
zysx_xB6T<^wv)UhQZK)@V+*^~DK7RHZ#oQ*w>!2@d4IpanNdG-lPEikujYs5dfd`P
zm{yFIZ=^p3A`gqYwXTY)q~?3_kJi|yI_txa3{dCDVw04Gt&h6y_osm+<W!Y%^?6yO
zLQ0&J4Bh7GzB%z243JTHJ+}x~AYzX&+BX!Kxa7q)K^(*3K1mP|QZpFOuc<sY1!0!L
z?C|iIs;6G^2jQ7fo%0ElY-ImhI2U2Y9vfdvC8HKF`dh}L5e`A-bCZc(@WM8txOW~A
zZg9V50KYIj>#(i&wNVZEj~@K3fsCC-S?SwKP$m_1;_p(YT%gYG&@1XkXP>4e@qC&}
z54dDiHcOac=YN*Cpo`f##+a$$PsL}aE~A{d<^V*h%^!K^JX&YD0dw2_9v9(8r|_zH
z)xRlaS30@2ZINRnwKsblFNfK2B`Pso2%a28<L)bo;4knf7z#ippl{~nv8s=tf<@*K
zoH%&?^-s+e0AGH9sEfX~SV?x9m!crQ|1Gc~cT9}2um;Jn<bcFV;2cCx^T%u$#i_Tn
zti33Ne$ueyXt0mD`32hKAhW`LDuFgvf4sP6D|?qmUQpO@g^D)BbHX%E*QV4<ouc50
zcx8qtc59B-JRQM}fn26wuS~tE=TaH29kknaYAbU<CkZ^sv%>n}uwK?Y13c8Mm+ZHo
zO$qVi$asr(=~6muI{c{`HqFgPo9xL?<<;n6@7UDjtl4-|74I*`OP)oU2$AzzZOkWJ
z6@81bm0^)hhGc;qSWsNF-2S7yVp^^}8}dBJ&s8SX61cD<1rhIf{Qc;9x^bLQRIw&i
z0iA_F6zb@D7(zI1_YD28PXBJ7X8*3gnj<JKF>vsQ<L^<fRJRHm9s%u(0h4}EWTGUd
zH(vBoAZYy=+_zUEqUJ%0A0UFe0Ih0(G@k4=LeR5fi6Xj}@~lOUYHinZbS5lJUZ$dP
zKC47gjIW6of_U~Tyr8BG&uS{I9wtN~tQL@E1oJ#Fp8VW8*ZN&Fcf>E{!+CWsww~A)
zK?ZT;C(8S9Ywa05@@987Z0Jnf)p5`tCE>2A{c(tvY{<r;clEj!7ys@J{N{v~%9mYM
zHCqe6r3ZJ=e4DmbpmnO?^ui<BZriH?MvjqaLn|%FpdYkrxV#WxR`gm#yrj4+EC5W(
zSszRz4X5uJ3oH%NbSt9|#PRpUIB=eZw!tT+52ea`G0{8B&jn_{<Cd4)Ps?)#BP1sG
z<m4grL_H9rN7;kW3e{rxQC}GjTN)$`1=d!Q)-ZJw0kL*YbvUz@fKDwFF{>CO-`=J-
zVy03?o!tFvUg(i5dGN_IEW_FjD_~M7VQW*KRqbE)KeZM6(uKN>qX#`Nu!<SmQ8qhy
zhMBD5CIz<i0bNv2{*>8qTRD5RP_6#PlUCkw&Da(G^_r)xKpuOyT(>03!%KxOk+gDO
zwROuy9pRW44mGL<9pe2GCk;LAwu}j}<Qv=N|8fQ84kgu&C`xYq)H2jLfn->Tl3TE8
zRT9VAa$gPK-F{UPm5}l*gC(9{^7~ui9~;$aCAiD55(vQvXJV8kUFnckRmuWHKM?8j
z%A17dO-72gG8|E{nUvc8aHsehf0dLtoSxZTo_j!>Y^C|_RYUZX^K?P}$q|Nkgm+!x
z4yT5Qq_mSCFb0u^hu8amfe&<)+!Y!Ub0QKvCr|&8UGOJoPkf$f4W{`tIv!mEx9MGw
zOM`i_o|T&;5|e*GI%e?uAkQ97tY}|odGV;p1k8CA(bQ0aGl#?3C_>!+Q#t$~WcN$A
zi;CMrJa?T`cfLwV6v1f|AF;fvx!cKUrnd(<gIG?pQLFNDBIoG@K*QBGesyRzsxU|*
zZ-TFen(hz~??!z=*Zwn<B2F$%d${#KdBV!dQn6jZ;BM5<=E13Mu7^bCSv{IgRZa6@
zlzubWKNIAhOviJ7!><&wN3ugbdFvp#b?m4;HNz42r8jS|Wl}kmuhTf-lx5r_{0|dF
zH<<0V6<+@C*9nAQ5lbPQY>v;jIFp^Ve7hvZPKz{_y`_y&4R^YnZJKOaC&Acf3(5Oc
zblP4kyKH(+Pp-cvhmlB+Ywq1L8*^93jddeM+o}|UM>I%tr!;H^#;$@KTk(yhP*dU=
zj?dFg9dD#e6#IoX*+G3<w4Q#LY&vYF4%Dh^Jg<;F9t4(HS@fM1*Gw(iQphNe9Nq3g
z#o_B|TgvB~^!W`jtn%}7f5AV;q*FpI1zheLLDpwVpSgK2@~R%Wcr6I)bn8QRYj>WU
zB*3u?CnlTKM_@~fo`y-cFo|OmqF1-L`g?ZzLYsm~wBiq9Ola5`bnSnN{<HXl*t7q=
ziP-ZK03NB5<lLrTFWol+yz)Zu3_b$KTD}e{dPV$GP>}v9O>a5vH*Zkj`HX&JG4~=>
zVZhwaTul$-F7Q`#uBrU-vi}rsIf*$Ab5Q<2AAHI9RkeB(Uaf$RDuHwc7)g~0PRoO8
z85{9cp^9-31M~}d4>7d+i5i$$WKJ}S_Hr*U2|*xegQ;SXO!<`2kA$!8!oyyD?^e}3
zPpXoX;&12Lz+lt7F@7XB9I}+a@f)PSq!-9#naD~&-8DJF`A^7h;V^+hNVd3~B+Xxb
zWb(K(W}qq;8ZS~YiP&J`Iyz*w;a{GLCAOu}WDNbytTC0~Ki&OKf~|@lkA+Q9Z8-oa
z{Juk89VACmp`bklH6HP$z#rF29tOeLf8im8PBuOv<ZzvVS2Lw*dOvWcW+Ppjl2D)g
zeNtHi^;Q9W-sDXO{!0FcnWi2xNGB!mR8YHGW&N-E@6f(~S}dAE-w{_D1JVZ9(57bl
z-Yp;-xLvcK!)@XVwhJVaY!G&H8505BB+lw>?HGjxEZ%Uv>Je7QRslS<PcVsUmF^`T
zmgs}lmc0U3{>#dw92^;!iYCP9Icurg%IuxIY!=vcP>L;)*oWiuf1J8yeM{+smDm5n
z)UUd1waN@W?LA*cfnKtOY(0TbNv)|~n$OqcNr%rK0Um+(K{KKp;Nx~A@FT7EEt8)Y
z3%jJ%sH64}0*6WS7?M7LvQ>0}7H;XBL(T$!2^uy-Udaw@a`_?yg>Y^5wnr&>d_zQs
zfIooz<wj2qwqjOkVU0k%v{r6K$p~LZ++s~Wat2xOm`TI8*vXP9)=6#{zci%s2qXF+
zLmE_r2_4kwO?+tugr>J`I(=7aL6bpl)!xsQHq6+zQ1qBU13e%(^q6+^_3YCrq_>;e
z)99LbYx<hmJP007#I|U4m)iT%UbvWXgqH?B9c(my5q&`#y!4ZUqYSXP$L+rUw2439
zu`=8kw^isIk4}efTwQHA_?zY4;W~rLT4S-m3!*R{D7U16<E-haAb}(cdLp!MA1@J6
zN)v2j1~%x>(=g9nd|JV-8uf{>LL*{w<DM`@>h}+Zk5{oM<RfRsW`F8e)40UOV{PI<
z&JmMhVq;we3zw6b0KR`K-0!{L$h(ZBPw(7kUz1mFA8opaH*X(J8>1JzeAeZ@iSRy;
zC*}ouO>U?FP8q+3(Rw^Ok54%yd}T4}%d8_j36==HJ0Up0i%%ng23koCjEHPf^{=Jo
zQ}wGOokmHFXqi2Av*j^VlsQOvd9eGySilxq_Xq_n2#jk;)=86@pkxG{Pr|SUV?_At
zz`0hdq=gz+Cn@rp#4<>GBH>~MafJ6hlAVfRKhB*4&_!QdCd$sNck?Y~;OJAotBS+p
z1is3ua1?lDUrV&$b6Ra?31B4?bk!dc+8oEsoj(hR#6#U@bq2Nh4C%H*CXgcWT*iuj
zUAOYUJJ_mu7>}j0v7RP&A6zd^<(Fv06^PXGM7MZ`W^jxLBYJsCdSc<Vp8z!T*S<c2
zu}B3NP$a)-<(U`dAu}0P(DV;eUYW1nf;}O!ZPKbLB;{Edkoq#!QMjM<5{Ox`^pm<X
zcdBO%yT^35sJvY5jom&Jjgasus4_TKce$5U)Q1sUec_7f?j)YsyW1xmE=3Pb{OLvt
z$<D@|nCI33&Yh^^z5sCWAdr!fG0U3STew=Xk+HIKb8`QGN7%_YIXDr7gb-X@oz0Bw
z5InOkI@MIO&N?{Z0(LItcP}q5F#<cWLpotRJTNx@F!n?A|M~MruuZ4&QOLsVLg={n
zZ_nABnu+RCR-Ev*uW(sZ0hyAr5gKbfJB-x&8Xv%3$HI08fyHPWt(TQ_VT*O)d4Qkv
z&78^KBL_1!P;_Zvjo`kQw@;}oh$x%k+}7)JLv0G(^x#cCoRGIyvMi$$?7Qw17??U3
zA|W#(KQlk7e{y>ISugPgkr#MLtow)~ma+TeWh{>Q(M*?ruP{W}QWB@-$;rtl3xj}w
z02pBM^w|P7^i3YeyajCH^T+i}M_|>(xt&PMj4xQd$NKs@1RP7Fdn>mG1YUZYzwF0E
zzP%}O1H=z)O`X+^jdqB#VapHpNuNRnq$_43M=UVfUyNfnenkNEM>Crgza;x?ues5Y
zu^FUdCO`ki9UE(UPp0fA8!KNr+j?MD`WE1#{9`pEd~NM*DF%~h)1V(zOpxuoUSG<7
zPR>-@UToS5esV{Zhg6RnK!Z^+J<3|Q;Gi&(;oktSkmncY;3X2v@?`$Uo!FOgYe)x3
zJBH?FM@A;#{zPDT%pxu&z21s$t+4Nt|CraumWMX(u86j9O7fn#c@(HAG|>9i<^bq}
zi)V#FfSd;h$3Fsk7T*wwt+6iTHSs+gCjEnu9*>t_+ZX(Vg}sLvyYFq~?n=S?N}8p<
zvDy7|zs3@T5wJwyYw@hV%j8ZWO##sb1?~o5IY<myn_w{N_BddOcdwQLRp($=pFg1f
zZId|4N=x8;E^P@bPpoFFgL{4m0>iH_A2t|ZiD$h_$ax<!e>nU<r+yb%9@~OLbt4`-
zc%8Dju=LX3y~i8^$rr%tC(hL;d-q4O%z3RW5d0#{m*iUC^0C5H{>ez)*O?P-3x1UV
zF$VcDpVS<`|B1xbP+#Z%DID^S>VZ7l`}_2hHaog;?v;bQ#eDg*+Ziko2uUm&#{CtM
z5W+tD)@%Ce5R_33KQ^~MfKz08Y<jce2i4a%F!cs-S7hjbRoi}(m%p0$NJTcaxy?08
zr?d@lr^0D52UACp_m3|ujOQo1>m<|S<pIlK@P7(|dbzD_1T!>lYIgaF3clLO;{&<%
zn`zSk!q5VSWsQ(G(6;&;P%;Cge@r*L;l5r~zHm<?7_vD#!|-bJXuW?~+w!a4_ITp%
z2RCE`dJD)lgt3l0fBU3mkCR3s_8pko9hiQE?ZU8l`4e4ypb3Cc@$1ZPgAylYXY7IV
zt4Kp<E)S^p!Ts)UD*U*k!b3hTB{(&o*Pd5U_oQM@Jr>O$Hp2jbdG#Lk_U#J10HCPx
zuoxFU5$v2Iy(gi5;@<oDr1}!H)mZi!<GCfM_t7yTFTy`6+<ntkJ9L8TZ4h=tdf$V%
zvmJi;9y<W_0{doj3G_YnOnrc_Z8MJv@A$Yyfqqx0fBIjUReyqSpRK<IFkGpueL(iK
z8a<)@+X{Ub-T{2{MnP9~$b+t;clv<!br?J(z3xU{5&rei{p+=N2Ph*w+55+&d<^`V
z*@_zhOjM$tDBvLcz`=J(Ab$5HC_KW|L?-SXJ?9+sm1QK=unY?KsP1_D`mM4ykk45Y
zTWw`WxVJ=W)-%wNeY%-I>an$dkC#V3y#o}vxgHS%<x0Gvd?5!cxg*V{_L&gBUS^HC
z;{No7Q~!!?6c0`#NhnN88UB5=ADDa_l>3WkL4odGv-_|hHlIVnc88M`*FdYb6PKr6
z`W}AGF@aXIpFmG__5{D(Z}@kHnjPzj%LwG7uO6K+uH)`gNmK;H_SP+8+=C>8tda!b
ziKW&Cz)Pb*ZAZWBdh#n6i(k+-2#d9sS>vzFl~m^FD^0WgDAR-O(?AbrHYaBH6C&D{
zVy%P@n2BKwVTZhdQW;ie)VCIsbtZJ5hN5IoE3j{|^&XgJ)tn>uMB;&{oP&86_`Cls
zD=Ni{BO}Cg2ITyej221BL*z%&hbljPMn3a%08L||%aQko$HyRrWXcQ*R7yx<^+8JN
zpJRnjh*P!x_K5{r5tm3a&C+U%CU>q>#os!|nNbVASP>n!?*0ow{_$0WSjyPnR3l=t
z%t>3FzR5$@*3MaLsCiNHw19sgQeXfR_a_-7_9ya@Nk73J-xQWqvAMANkE8E8cPb(7
zSHQR}Xt-BG%Fs(CDdwH*lWFw$w8kma^XWek=RUQQvg%MJ2TxQ^tTIq%&n4I>7Wz%5
zXG=^Va(-*I7QeSmhb>po@*oD{HzZyk<|k|&W2hQy2~k-rgiD;H(b**1_Xxk*t48Ro
zbJwNWjh8$Ls);@&2`ojuYB%EU&EV#kULbn1kua&RSpQigBHCo^u|ucRDwD_J)C{@e
z$DQ%c!>G1wXZ|ze%CFGNwv$Ry#J3tWv6l-oSFJ->ABCA5rS_ybD))rS7cRdUBC?SD
z13Rd&9Gko#!Mdk{+V7k@%Q2CbqqKEjP54s#TJ@e#O3oGz{C&1`f+`)u<y(=bBmhra
zPKn#rL1O=z8^xve2y`ePb@8Q3&G*|;@ZZ&e?Itp~d_6YgEF6%g&CBrQD@bK2wSGAf
z3&hb_cgqIyh5la09Wh^FhL{XI)=`s28M^aGuj=aS5M<V2yj43oI?IM;|MH!rn<}mN
za<oRYuaXw6T0@@@_nxDzbJV<3Dgj_;jo7+u53lJ(0qj-wMS~Gr@==`^dOvd_LYuWu
z>T<!e4OmI`Oclfgd)(Rl6%g|u-UBKo4X)B~u3WxGutA6^yC*UC;-f*9dR6~`GM=4|
zKa;2A@~}V?jemOM{fF*pW19D8ai8+dYPu5MS5p_Q;Mh7Pr!J!sTAf$b@;5-c+ZsAe
z29C@sfi%d82pUay%3Ek{P11Ip(7C%hrxHx{ZSCzK0M+rE1IwA*-Y^{<{jU)Ohz<_d
z@+4}_NWxD`-4Gu>J{X3Eh$VV#hMSN5jr0hlJ?et<>xJT1Udm5v+NZrsG*0i485t6V
z8P$@sj$o!9ts=@R&xy!Q&oRKUG=)EHzB|TCi8?bfGsClbMM;Oa5h+;zWYXqIz8Lw5
z`o8lke*aEgy9hLCNLXXN%x0aS!c%7974Z*ZTbPS=IZDW%2eB|uftimV#`E|%hHIH6
z1U_?gQ@Vt&CYcM(Rs6|lay5xfzdAV*>^OK;b!>vL;!=@>VH^<?1{DE4XJ2)B#|~pF
z8~D7*GSe2+z^fGcOd&KNRrTt;Mw83@LZ9kjXEe-ay+c)~UgMExuE=L>u{Z6nks5eu
zP^e)hIJO9-PI#yx;W#7eY@gR=IEK6!W<Hx{`ldLw_AhKU2M^cByf1-Uv-Dl&!-1S#
z>X%&s*hqzP{N|zQum}KN)5WQ?fy^&Uos|r;thMnKLhb9H!5m&~)=6$(`!|g<B2kvt
z%(`tKDQ|>#eu7goW7Hu&FU?bR$RewYpY@}k`nvNKW^$Z3KwGs^q)wtu*)D(cTs)U6
zfuc>Rg*bBN5eu)|OY-2BYrFTG`n%xhYm2kQiVGW*lSM<9op}#P#rxs4eL~#P!v0Sg
z-x!<;&~+In6Wg|J^NDTSnPg(;nb@{%+n(6AZ5y-mZEe-=zHk5OTenZw?H}FMb#I+>
zq5KX6JLsXYj-0>m6X&;~Z$Q}Zj|$C0eyxsZK-(odLwkk35$b6~)A<u^&dCp&itX`?
z&zra&rzKAD+}km4bw#G<qMPlm1+w~~_9$p!*JfO?kSO1){iW|7KUrBHX5<JGD<d&t
z=P)oTD!ip=3GsW*4+JV6JAY$3T9EqT4J*DLK%G2A$lOUnP^cUk5pJcI*`rXQ+I7T7
zhO~%YJ*F+8cfW)BDOh(mJ_an#AtGuRV|Jw;t#I}|D=k%*^Zib5rT_Z<SNdO*eb0E_
zj}1lnwOHvLIMzH^@PwpaLsM5T5hpgeppgibVb*SBKI(`_NtHmvz^STA9v<Qvxuo<$
z5Qsz<3%XU0j`?T9$X~p6?zFZ`S`zBhjgbZ$`giF0zG6m2vn&#OTZ*)O{k73w`Zlp%
z-p84B4aPyil?o!zvu829e-arjk<!l%Nc=kU^lDX=NYzE_83Xl7awHb6OspI;<<Ah!
zkfaH=v0PMoyq$oVCn@ccuL;9!U0G5%(sSyBC@w^aa+h>I`^>2Ai`_)9Vx&P1y%4h2
z4O8$QFLV2e%PoI$qYwIQSNCP3+$`AF1xHn!p)q7(DI9<_%?IS2QuNBvC+x{8;M;{*
ze7*e(u94b17UKft$_s=Izl}`7PAL_UDjHCpT|zLtNoRo7Pjz^v&@<|TCq?De$1uL@
zSmu<y?H>n(xM31W=zk(y_2A-=L^+%ghP{kb1V)QkkJ<_+-896BH%3O(=w`6-XY->j
z%E;ta^@dM6;Ql4oi5d2D8MT{}G(OoaqW~jng8T!ghnI2lYm!Oq-0fZsY$N}I#^K`_
z>PDO7=|Z4b>hl*e7KcssmbvJ6Mpp(*t;2=UHsc#6tb|atUbR}l3&nMg%ez>PCmv+g
z;I>04X7E}g6)|bSypkY=(-<5Bc+*ft)9m8#<SXw^IDH<jAp=h}9N)8c3Q8o&5hg`m
zk7sWk3=3=mNjpW;=OH|Y#mwf`9{7}=x&+B*`aZCad(r;V1*I2CLbK@G<W1#*@zPAv
zGJoQN!tmH5in*2^SUXBMeMl#0gX(H<?zrppF|UoW!p<zZyvE@TyR!6*^6BxXcNJ-9
zwdn^=BlwLoNB<rc{*a>*k?2=!W_j6$fQ-dv*pLj^GXLFrQJUC+F27*<u(ZLSC@(lq
z+ydasjp@LOEd|f0t-<aKf@fGkvf;@OOw4hRZL5F|f-4d@I`y}#7}s?<93u1gJ-M&m
zzG8{;GpmKXlXfQ}AA`w8xBHJxK3Ox;JhszSw&HbEOBLOWg*SMj5hnD$UUb5uKjA*9
z*(td>2wmZ3BGct?)r(e3*APf4VJ>u>9uhzi;}D<n$`${wwW+lx33bLE`ZL3@_Wd_A
z1gd>`>*4cSu?K{oq*`0#{{5~pIO^&`&4m8N(?ihMd76$HpoQe#t){JdADKJhzs0~A
zIMgjP+)Imq&hCwV$||<!RJGb*3UWG~Oz;fQs-zYD8O8^QcJN8?&=?fc&)6&4h!nuz
za<{xGAXjC@UQz2EgRHz7DhbjvHAe$g$(~xBl2G_yC<V=dI<JDvzDLpibmt4>n%u_#
zrEZ)7fqc5`qUoqaO<t{nkYo02s>B_|Im9f%s;Jz#wH=A0(R+Vo{bzZXp^*0e%a<MB
zUxJn!cbE@?7RGX~Qm=9DVo+SMz$4(*G)Ld1$xF!R7r22WKDdu^5k{A4hZP0P><YnN
zvX25(n=@ITKZbn?qk+9vOv>2I9^78wSq7pV%H>j(Poc81``-B|LJ9dXjPaZq+6=`$
z8dayndQW32m`vu_GtK6X?2O!Rf(?1C2*tXAj-*e)*UKih-fWIGcx5M8EnXl(x)bgK
zGh^1WDF8DvywULFU4n_61p^&CN_)ho94G@mC}$41_*roOmXufCH`vdb^T2}e$4Q8r
zUj^K7GRBWSe|elgK(8S%U!1Wy<I?j%e)q$({&r34MHNT9VsB{$DY~ugT&CLrK~Kl&
zG8O3<+a7&x7uivtG?w&mtr6I0Ko5g(L6@#*#J^BnK{CO%;-wB=PAF0GiX~p!G}W=>
zY#NR9OPTL6hy4Ahzy)jEMW81dZFfYmrbzS<v5NE9nQ8pm0m|8Oyrz24$%=9_NXv`<
zgumJG`rM-lK2T^e3MlWKLaKCJmOQ`KItONUsOAEYgYd1U;5`=~h6ARdbRDK=;@q4_
zxfICuoK@0Jjz^^B=>y#!`J8oX8Kw?IzA;G6oKh~8HFsyYqVyF`K2`sg3Or#43{oBK
ztS!1CGvJPV)#?ubIu8!_$&(J7oYs$dVr`huP#=nlwSS>na<WC>CnJ@aM)sna7HGE(
zO`tIl3+?3pVjh*myaS@2`Pn74CWibOWmgjo8+l8}KuD0tN$d5m9ZUGl@mc)l)k_c{
zZ*?i3TxR3;^O{6@(F*+(JpPd6-35gm&~S`RJ1}te!n1aHegI;0fij?s8CcyLm!M%n
zP^e41PJB7?xp~$+t8;i?K;9?B)wJ9AiRtTMf!iSYt2%u6O$+EUL#v#%(6AsC(V(^-
zWS9J2Q2rQc3jdNZQMzaTQtXBE!*z`zV?^(qAD;6{g_HyEyxbS;2(_cug9=`=D_+~J
zoy3BLG9P@Ow7qa+0zl|{QpT_?S}pj9d=Ij>rid8IuMHn9Ic8g*Nc;@(Bi6Zco2F22
zwOf5Uy5`Z85&+Jwe7>h*ImJ>1?j}7S#~US0DjZ}IXX^ynGaU3dXuaVnBZc`fkOe5H
zp*bps7|Nql$gfuOX_vx(@nP-t0UYRtOlqw{$1;{!YPCz{2q1+v|4?h|^35hvo&~P(
z7RHkE)eMHnc@vl>OY(eN*s_&0>n3o&*q#~ERkdENPXXn#gKxtla#jFWQYS)h$1apl
zM;y9RDZ{KbLr)e0ZsSAy0zd*Tv=yF%GV#y2jEZgKR(YWkyO3C1UqhvK?+`tLf6tz!
zTMI@YYjMrX^IRKM`e$TAL#4m|rs31!l8g8G_lFpx(+@$`lwx~H+RPCY;Ix~%8o#C#
z8Am-TI51_f>CST!@(@#CxGsh+F8U}^9?N^<79pwMDbt17rD@gTP{YeS3~@66WnUT#
zyX&h}eL<ke`sD&`Rr7$yd<HSX<w($zvlw4Yr-E$bXp2aY(n4W3wWZ=vfT~DsL>3|{
z`xF7I=PRoiHCg=YS?f<bzA(|MnMrIMxZTxnR3L!9Lb5^`{|G^yhESD&#r5vb{Dvfv
zbQ^P3((uWS)Z85Xh33GEh+tV`fEuNlX5pvAAe$Q%*@odh9#t4ze6iK2ds@cbVROsT
z)Zuw$O~oC@p;iFRq{%RW5HSM%LI?d`DABNhjwtPtW<O2P@njC-Bm14Fv|3_RZ`rsx
z50E{mG$u4F?Lw}0EGBd<JGROaK69Qbi$WryC~QrVvBQ0^iimtzko0{eyRHApHBRV5
z-`##il^3Ys5|1HJ5hoTsy5>8&Qj}~%VI3=AxK@9TOZV(LT~D?C%Tj54?+yRAq`4zZ
z`x5>GnF^cXqytk}O0g0=aY4CdC22k5JMaOMt}0l4jF#I&@<3`$I$4h~@pcKKP;+ui
zzs6v+_!ciD)>pc}Fk|!?7ZkmqwkRME)OB=b3<LT&4zI|!VbZ?nC<cB3gGPJr52Sg1
zkLnbdJ?OVbgUjEr@@S3y8i%!f*aNw_Dza=WYYhu#F16!7`TFC9Qh)HjNSvGEQGp=`
z<x~#~lV&z%f@fwecjh(OgrK==brqck$qh~(@mmy--hZ%<4DjL+JT-etQ|L>E5s82Q
zE@|i8C?Zv!^Imxh4_H;Is|84AZOMln5vdP7`+{i!3CM1U-8;u*&%KWc(m;#QWIbs$
z;ofgDBYQC*$(3HS*@;mCEp=MnZ-6izfmo-X5otJfYZM+2HDR9A@VLW?cswCvlLfOH
zyhuNYYOyYVcgRGl4L!f%7JApR7TGx?U8=mlM@$yMdP;KVfNWQKjJkV4K_BM8Xk0$$
zE(<3NL-WbU7Tus-oW>^kN}#8cZq0zPaqx>^#TDm_Nw`A6nTY#g9*8UdDFj}tMUIkx
z3cFb23~Tn#?Mw$*(Y7aA{)MaYFzv|LGAI74U~YCtchnV7<8BQmNKTFc*X<npQ(w&G
z-bY6H1x_+Wn+o?)lmSdE9}ecd!6HNwW)5-MM(ZN@0eWuo=LXw9rO!r1*lMAArz64w
zOBy}$cS!QUS&*BT^-Zb7n+#AW5Y1XB@LWQo67_OYvUNv2f>a&Gu-(G1SkI^;d9POX
zCbwA+8f9VEsG@p<MaIR5zbwY9E_pgz!pf1rl10?{vcXOTWr-Uf>{agd!xnLqM6mDY
zT4M}jonzw2@tAi>!X+$rl-GMXX)LWOl4^`gp1)y1;J<8|qB^ywzY2K9Rv@1@kc-A<
zQpQ$b62)p;&uXMz=d;2WGone3%ujHm$c*%oYC)-u=C8YdpuvM?+a{df*)2?rik2&=
zdI*u&h)=LMfo%QrLJl5E6Z%2-hdoYWWvG9y-Ikpxfx4i~18n$sF7Y$Wqo!fQ$?MW7
zk=-pv{K@ERnWwjxlPoaRMzaO}DAn1x*??f)27I1@e}n(#^&KV>fO~rKrfPa_uhb(V
z2<Od$OY;bCLU*NBf>IlPv<3yTzTlAIIsd)PgF>^|Iag;d`=)tSS?lilbu|}HYG<9{
z2=k+j`JJBFXBCCQ)04z=d;{J)g)84Vkys(GuCC=X&8kcpZyz{x*#m*Luy%T12@*?(
zRxcir^bP5y&>a;5Mppo{*e0(1*X*KDezn2n?S5+U5AS$1$?Go%j-I~q6?j@4ru=<B
z7ImbmspP~9%w1?SHL9?m`m?nRPQO(+$;UXxAgH+NrWJQ~SI-5_pBg3BJdtTs4IlP%
z?!^P3r#1VB^jm@W&_nz9SJ@4c+9`R=$8Q!I@EKyoOUH<3fgtZTNH7zhp@TXEzN=A)
zS03Y24lA!XL2!opf=efE?axqd#4m8F#r`IK*euw!%N5ubi39MRsFXhrk6?%#IIiN$
zgEvY8OK|Yo^&+;UMok$yRTtXjpvms%hz5ofmIM@n;uwLFurW{=XGuPqi2LW*%WeoK
z=n`QdI}r6s@N#W<=2qA<U0aH=&+w7rVZ{_Of-B^8qR7K_&gdF#wL0-$K?$OF8(oAO
zIf}Wf`oBn)q$*z=a_?B?A8FrPym7dBw0V5OQg`PGpZbXs6edyi$qEBwv2_v{^QC$?
z5k{_ov#`MT^O0ow4VWr(g04XsEt!TjG?js&04um<36^VZ!gRRhQI~2T+6Sv0!G?<Z
z-DqVy*)`Iy_Ky8>I8L<^z4AWcVo2At+q!&HY+@Qxs#p1#4AX`-?!xbQ8iM<#EqCG7
zvnMx%dt5fRL^J*G+x#G}Pa`t<6(n$Qry%qkei5L)refIVQP$u$dc9eW#kWzr5eH=Q
zEVkpu<N8KfW1Ke$Tu-5uXBDV~?*6Yzl{s>emZut`MJcg{f~r&N>!~{G*;&PgOHzwb
z2HEp^>VY+3ewNqC{XM5pq`0lo>>_W*A~Cx0UvwaaHTsBGH%?P8X9H;8UXW|JgC}sB
zIIO_o5ne!-?Y4&V?{CigDXeMsmaBT3zX<H>$<}}!!OKhGnZYe$R8N8`)1s@CurUHH
ztFpHyAAVR|oq1Cx(k3E~`>K&oE2K0Ead(e*`z9(Y`H~3ce}q;=M!&p}6vKO$ClQ87
z^_u~X^{9?$@@Od0o>jayd&?<K{~O!%&I_P)L3cdm$0v22KOcoaX?uXu8a@o(=(MC=
zc$YF%5s}_1T0`u5_{qwS`qcsY_Pj3F?!jZY>D(nP%AF1X7@{)8$w{tHGH3ZvM~Rlg
zx=Lih0%M*&v8^=dmvcED3k$|h@(Xhnl!o_7DD_)rd28MU^adYLP@NIG==6AVy$!S!
z@!;DboCUce&ZBtR|DN}IWzXVDk!kqzSIyQf4g~FoD)+E-h`zx@X3aJOi}-X<TE2nX
zeK?z^opOwfzz*P_n6%=4Airl&8;VFw6zc_bj8^hWPcykDzn)JUyp#j)amZ=~=LhpC
ziLm3lEtD}(ieY=TGdMV`l?{bo+yTg^V7vTXP_mx=QqqMPauJR%_8S?g#00v?Jxspe
zoVU<DmawQmlE%G<$s|^{)Q>Cefd-jStGES^`O~gs0d2yDm^wdzKt^E3{uu=4P)<F?
z|Cha*Xl$xx8+ca57ePgrB7nfOIwioT-`Qy_zc@g1aQuWBlt;bxs8}QTh7pM0DCbUQ
zt+D9cz4Nmp=2sBFICwghyyAo8?Vfl3%^HxZEA&<~ByW}l)eWn=Ck43qj9!H4%He)5
z<T~2ys__Xpf03}MJgCT7!FpLk`28XI+@8{Y3K~DWA>6wsIyILLU&<>J3zh;ae~M9c
zxPqvjF5^%X$}6jY8$0{sDi`=C^cPz@B>&YY78MaAvG>{;DcJnbGDT`8!jp>8Vp!z~
ztngFg72#>dJdUXgZG2cStEN*OW<c1f5U@lBIC!T&taiDc<dmmce`{)<M^9eZ8l`t<
z`?N@)pBk~hD%PJAW8GWUmRH@D#R*<thzGuEqMdW#>dA2V+5~k+?g1=3MCLuG)#`5a
z!j0EQSXV1bx53pLlw1{C8vBCtRszoFyfq3H>9M0GQHaQF^c{y)5Og=W8DY)99}+29
z@;NX4jBj87-5<kk>ABe~KE8_s-doMRnRP3d2|LUj9$2~Y5S9Y}t}FXyL=l-CKpio|
zm6PA>m1)-n+?n6ku>r-SdvuU0opPROuH9yS-T==0Lm$hSEbHBMu=xaRwR{>Bs|y}S
zdxG*I3phSb)O^K1RgOS%`%Brc?us#MQ-Z|OvvztlWj<bUHYAmaH%vbCaNe+RDj#9z
zLdQSyZma1t(M)H{yMdW~x|bwdn}v#FOD-zLeqt`64=ea`nLw#ct@=-}Ylvnj(*CDX
z9VeiSo&4_uZTv5N`AbR()*-J6!eIYE3(M252UW2nsuZb4IeP#e{oUnPy3B&4c~@k4
zcH%K}LZbK<t~#iNrPQbXuuRfz!yDvfSDIe{rK#mgXVW8rhCX~hW${A~1~rzWaemzU
z@@!Ti{r=gmDbU)Ou!d}0?<v3#ldHHu2*v;)#IzK5+>(tV18~%~!hf42Pp%#=g<bcq
z$N7+bb<$(^=@ZD`=%5vR3F{?X85oc3#D{D;jTcEC_T0H4iPRiRIS*wR+*X<PwLEzk
z&M!h>&3?NA&myEpGwuTz>D5WpT)vkrZVff`{&+c`2Wt04j{k_q_s^N;?Xy`<53i@^
zcV$_Yu0yQGC+k=ob$Os>)`FT=Ayc)To7`p0HoJM0iXrjl*j+(x`1c7BuK)svzT-lP
z0eNpa-Be!Q!I+8#InLbC{Qjq{rw@OyR>BbTF4uKU+-Ln?{Q_!<)N8=P2Yem%=ZA9k
zHzEr`fW<*qb&RylcTa-Py6|c3g|Nr-SB02Wv_oG>p@+5w_6ichwY1!_z6UJxi}f*D
z)w+MzmQywux}gih<4(c0UmS`*1*5X{`#la(L$aH$wx(+LAg)|WM1x#1979qn5o)f2
z?-MP!;#GUwY7FW*y-fh6l;)F=Br#=+<PtK^K)=}p4!5+e-oJD}3hRpMKB<=X{Zp)d
zY(|~cvv@w7V9tw`6h^TgCErw398>ivTdNa9Vqv69s&y}cwoSt#EuhyUXFfC9i{)vb
z)4#^%Si(#C7}Nnvy>6sxzT2cs&XZmh4Bw*V7{qvkC0lJL#|NpbLuDg$<X8Ubv$1A3
zKq6;%z&zfEIO9$Y@4Lh==NT5*jJDEyeAon==tAw_`0?PKla+QI%ye57Q{OkeLK8;9
zB+%0-wBp0h4gzRAcyAOwHOu3S^;K`Mo9exIXPm-ba;_BEzY=x6i69&}tI`OX_RXO+
zKf&<M6gwwoaXgsCb$nZ*JseCoHt*S^foj;amkR~d&B{#p+^nm|iT9C+pvG1TBAIoZ
zBcU}Ie*yMvq7o|<+X+QJ{?3Jf(~OjJKZjN=s=;o$2SmHnobomi3nfj1r45$WH@4N#
z9YPdBoIuHv%*M>96&dPLC)lDri+OK2rn~}L6DN{ie6nlA&M%fSnx%`<lpVPcz=`+>
zP^-w%#;w+c*kX+pL@AM@9^(G78hT$+MCO7RSzSA-NW7QR8%akN4b>`cL@+C;89O&^
z7)Gw|px7W7mT?gS#Ki`VlwPKuy@pvBhDUmKYF3LtXS>lslgH7U0F(X_Vi!%<6C+f(
zfi8dM8h;#4O#O(_Z_W`bFxgTLU=y$H%0ivF1A|J3OXx-zJ@wHQowk~`wm`im)Njli
zX%xR$tRhul)*<@GZZ)<R{fDKEPw<IuA}s`2XT)|H{?y@NcF7Xg5Upudj`n$@Q$+3}
zA88h2M^<8b)(7A?UkKPFWaj563_@c@!RHshHapFKTmr9A7-;@*Lz2P>9I6(Y|Bg@h
z(8pk$fCw1tO)O5}pPG3oVu%gTN22CJ-fojgtN+}V`tfDbi7Hg;((=8Lx+M=ndu6;q
z0NI+L_t#0DPF+uHx|_AdNQu=>8$bq9v$PNn*4sCubx4)be7ikks3^D(-vG`y;oa?K
zd@pGx4cVQpFf(@|%szh%433pQdfT9_9uKPsIq>1DW^h(V{HmvN`R3hS;0R`m1eL{`
zGu@`6dgJ)e$P)gr;4Uf#xyL(t^6oKq*qa)8UjhjXhL!c_q^);l7%Sg2Aq;M2!4wxe
z&~%%1&8P(1`n~FRJ;)SlxWP)Ekm_y?mG8_<{)||w%T2FO<sw80B*7)0q(p%;>n=(8
zbq(*Lj^wi`bDl-3Wn>eo{~#7Ru<IWVo-c28@1>s<rJj?z15#9e`L)4(pk+zZU#}hR
zFC`nB`dC3imx#_kPmMqV4VQCSS1XHj>17Tou3jj1M~q`LbDoDJTT|hEZ~n8@P_qm4
z{&9UNc&An~$)+6%NM5n*Rl-ak=z`B>Pqv9tOr65_v_-UXr7T2o2k!;%g+|0V0UE7u
zbu;&#$45!!Z1XycyN~S{`UB4s#UC8c7Sy=Q8~~f7v~dv)r?bq(Ay0M%hNDPyu6SZb
zd>ZK&n~4uaMM-qlz>C<y3pivDsdI)zXn67t9}MY7f!UY<V$-K%lWU!};_?52Ee(oc
zZb4QtbD;C5^bUaE$+=GMTVY-9$!Bts2?6wXL(m2z^yMgMSaZ)YSYw|yDYQde)RJ{V
zOybYktfNhLHKkO2u119xMVT|!)+}5aN?3)_wBh=N>;8(m!XA|LV3Bd{Wl0|>3PyO0
zIpIT>wg1Px;De9%9W_a6k(Hi2rMfGVEyq1;nrkL8f5(UZIA`6vVX(_AuTNIIDP2!>
z7*1G_{nj^gjc&_$07ID)Qntjge?Mw1VI)l<wo;6{IH&r(kr;$w(oeDRkLdQL_fXnC
zIWmD#ZEMod;fj$5pVO;Voz3K1mf!e(^g;r4AdP|zjN)jr!b$wb@{NAyvGAAM!aclC
zxBa$3ddyovX)99K?&!YaEgQ?@W_cS5N?AD{(;&f5<EyhgJqvOeS@b`jdC){|V<gGH
zM^PwXmBOIy4g4kROto?scEsC14nXsSU80Y5n-}7hNMwj~KFbfApyBD~ldgh*!9|r{
z_?RsQp0cnKt~;(C0iv|uv}+*!t<jHRyc4YS+$pQ95<i_%x4hR}z+pN?>x?jd>=r?n
zl~BC?)E{NJSda=Qgygjd6LC&A83(^|O`T#cS60cZ<n5O4%q5w=dcODV%RkUmZRumk
z&Oqtgs+-@a>>!5l3H=0*+_9g;fyE~CLQ`h|qOP&0k$ncz?txE~?bH35kunaRGRSO!
zASIcj#jxM!4;@0BqBhu-!z2mL#M-PA-yt7_)hh~NC`EV)^%=5xtEKdov{CE^#DP7{
z)uTX15QjFB`uuT9Doo^O*Xab4pz&85h+c*w<^~mV@>?EODdIGf;68%t3aD*CTRlAn
zD%%KB3nf7XH}#J-2o{k6M2jVRqX-+}c3%TzPh&V2MA_lw9j)Hyqnyv{pAoWAp0ieM
zm(`a%#Hh0|jUI<R3+SC2w$FB-u$3<Ny@Juo2T?&$n8zKdI+X(u6}n>fg<5YzT495^
zux$dTc(_-(DMO|#ZAfp~?hb__U9ORUM3@RNt}(3JvXHnK7@w#b<R81u3C1i$-gm5W
zZ;mOAk{vO0Y%ty)weyI$GCi@cpg$5CWW}IeZ%wZ-J(>5DdWs{#%dXJ^U?fdz-U!Di
zv2*~n9S&W^qnG<qL=XOLDL(ZCM>Cb}J#0vBQ6Nm@Tu<nB)OKJzCPyxD^sf%UNFQOZ
zO!$cNWN7u;Q!oGKg0qu!2~~FmM9w)Zo%>k3hqY?E7AA&|z%KuRuOP!^={Y$S5o)nX
zZIkV`;Z4|EuzKUSUnFnACB0xztYMxlO~+mb3AR_>C318K>y9($sf>#?L8Oax8_t?K
z`5pw$74*uRyvNMEpfy)kBQKpm+rUBu|BjcK!>t+WT9#PatsO7{Edg27RzJ;<+}x>f
zR!Ew$s%UB*8XYvB)REm3@61n*33AXAEI<19g~li<>ofQzuN)SaVlmrSC?P@b{Q8qj
z!8j&+l`Mgb!`II7n&ZuK$a*h+#Tr6gg>_$eh9@%LQy;Lx_p;v2{N6}lPQ$M7-|jQC
zx=qWx^?~7(E-O4qWT?G^LME=>hBjhlbG{lGDK;gWgLr=)kuPKb3uj5&cEPRK25KT@
zxL(U|bxY%h*Vo@g8IrKQa5Eb?*Cj9jc7N`4h;PPj12_pi>Y@a1P~RKTY0!cL$o}S{
z^%IQkSgf3UaqwR0p8@Z{V)-Ao-O7hYrRB1F?ay(Pqh%Tm@9m-wzBiRBqaI5p892X$
z)nrF|7j^VyJZqsK<b~AHF!a`f)MWw}?CT?_K;A*&n`SDtXgydrr7&{er}4{Sy({@|
zlbr5qPEo+CZ;{3;sGWl6ybUqjt(XU8s|a>iiDG2!=6@FZvh)}Nvr6eBJ0*NGZbScm
zbN}&(Mua!7ZO)*FUPtrLE2A}bdC!fu@enSAmiQH_T3FyE8T&*ebJ)^CVav#$1IRy!
z<bv{C^uvF;rHQ}OGF@}{!F4K-o!W4l**f!#%-lVJSgiTl9_OWgL7iFS6G}^QlPd8*
zf*dZz10u)cyFr=(G#&-{JH2bV>z4cnu`vCm@(?DQsZZb)WaTim*dYU3`c1oi-em69
z19g*4t>4^ae1*R^>_!Uk{57dcyPP}1LSurbxcW}@XSi+E`fS}wZ|n5*<=D~^0#DX<
z+|XJ;tgA07tz&QUEpylNl+!6GNZT*h8G6dAe-RUQIXiqANO!x}Fl}(VY3-DDBOBW3
zo($g)7;=HRU*%Mv*#loV5lMu)Pq?Uf%~cZW_vv8bB4(aO4sIlFA4u>{D=$;&>l2xC
z5S*DmMpcaAcx$2N0WSJ-q}@8#Ye<8!i2{5{(0D^ET+eO3#nOxmSXb(rY1;E3J6}n$
zmPB2{6RxF!k~eC`)mMP8SlJauX8Y%)8_PF`4zq&&EbN@e=|oz%tcG#Lnv2|%h5Vp>
z_qcSwqLbS;I)pA6PK{TUz8^1)y*LB*gq=Ot!f-pfs>gThpy*&6$~qw|E)MN+)w=T<
zPDw~U&C|>7)E)>y0a?xB&`{h}8rOorW1jcb`{Wj25}fOruR~l<wwX;CCK91Rd)EBx
z&wb*9(AtDB!-GTV<pY1>_-BmEr=afZ7oy+y5`#p5KZe&so0?S|kxVPS&-YIMdK$eH
zA6=$h>+2zi&`(3utby$GthQ$;$3^%AUdQi>KWRiyy8l)CYv=STrXHBDI2xG`vU+wX
zgxn<s>^?=vE62VYS&faHe0^@Lg9i4SN#{`i$@_Vv;%@FGkvZ}cpeJOzSr<DHY_FWr
z>yXG(j-yLzU6d#?b%s0ZlzSI}CL{MyZo^kXnnTQxB)|%LVPLxG3@<A8^pHZdr^ck}
zR+rZJ!P)_m7+2ug>W(FOyx@Go)xo)y9^3j07)F6*9BN132>~BE8bxdsUq09^QXs8J
zK-M@{WmXV)#JsJLlK>iSNDM&fAX-HL@A;&}@W`FhffZs19^2DrKX-rlb6|;#i9ffi
z*!y^hN{{<d@$g=>MPv`ha!-aL{Wnb<RHcAeZ91hhERl|L#?M_Cn>F!?S;jfqpl2ls
zIQ6uin|hMPV|q|x08s`_lMuioFI;Q5zUj(#^v*FV6NHfE@DT^jCbLPv1X}XN2T#kq
zlLMwC;Y6wn>34b@RW-?98vR~{<^H)GxMKNDAv)V*Xu<gNyiN@7Usa%d@rRPovb#nE
zTA^KUV+K|6-m1j$T}R6O{J{@a{UQ*1pi+Y8Efr(GaN$pGAN$=|{o~+J9<>W8Q<L{y
zSw1x3di0~!W8HXK)E4~QY0c$K0qqFHsoi=;2=A~)%)A2<GDIFIKKror<Of~#bwxw0
zdN-8$phTWqXh@|UA?s2U<FLg&pEHo;)besK+?b%A{W-aQEavN!$_2z5BdmI2APpri
zhJ3q^57Vp?s&3lhqIfV!9!)jgC`ai>PVq!6C02zt`TA#OSh<L(PFOTM#CQFuBeTu*
zgMU0TR-%M_>ME?FXXJK$Z(vkfIV+-}L*6+@Ma4d`y1Zxt&)%D)`0njqb8?(<p?=9g
zen}X~KzbInv)a04LU%|Yq6j4oFdFglfNMqZr<e}HSWz`u3#s+JT?`V&x_()NUY~sW
z#)u1n$~_NV;*SGfW@+l0@K%Kd?X&$TB37g4SRVk{q0sHlz4x+(JDYP|@#mV%^%g|b
z;<!S!r|!>z!u_zb>+^ILv`Xxnef?6zB`RD=$iS~JICVz=oOZZi<M1mU@GqhH0p8LQ
zyI^$kX^1cUT#49DCL-L1wSGFneH{Vg$%MAGaI!zRrMPI#kM1sKe12`4xf)bpwoMk%
zV?)z*?qbTQabj(7cG=Os4tj;Vb34~6{e0A-E6Vx|Qg1m}V!GkE+4Ot*>mF)W&yV()
z@<G)O4HL_~mn-}qBWaYpK-lH?(5Vt}@=E97efcy!V6TcYsC}pYrN?nuiy4c5hh$YA
zv3VBS_n}6*7yB?<_mGMfgtkfAU0AIU?DSVfW~edG)0C{Pdba;^@9KQrI>Ce)!zwl%
z8UW`}_s?Od+S#a2YVs;`O{qWTa&+Oi>vzylIQngWrnEMjF<x#3urgv5zH3YUd_C*F
zDk;M3eMr6%X5Mb$17<tIF2%+Rg<7gcjQ%-3gS&BAwF{r2z9q%j$o@?F-A9747Axwx
z^hv-97^9#+3wPiCRN<=YGo>Zq!loeDv~mDi#4aXevzB7{5=oxxD?xj{)WMu3;VYHD
z?_TM!ndZ#;l=c|)FaIojP_H=|ZG|35NRV>UEKJfIr?G0*PS%^Pdyr}p=cHEUG9sHv
zaqkd+ZzgI?S3yw(5C<a=Ko6ucP)f}W6?*#jK|dqb)ZdUqgHLm=^hn3ImR9AOP1;B3
zbOI(?TO0IlCNc?_R4^o2XBZ2Ey|t2D|CpCk;eU_Ibu4)RyAb8EnG)6;@Bi|?Ak+>y
z;~P@WPnya=`?wUw)7_s)h00#Re%S~kmOA(0lAVtQbS#Oqha{wk->@i7vt_2WBikgy
zL3CkJd6PL_u9j-}G*m;iqAz}5DcD=PQZM|9wUmhB&9muS#Ty=v6ZH^OYl#%=1?c>M
z3<fCNLNv_*&kx-)%m@be28u!i{a}ajm60S4H0`LQ5JhQ~h!r##=YOpIc0>Q-jXsK-
zji5nU;y@wKnGhaGzP`!5JEeLot=b_9_5@jJ8dv0A<~&oX+YPDa8Cz~`_gA+auuD8t
zrc+L}ow-GW!GGEas$b@&$Kvc_xdG0v6eDZ~J5hfEV{D~t@9&lKxUtHv&N!?_n~s(@
zDfv&TOet?}9x(r~2Hr+5AlyccL<+h>EL6Pg1cHbrMrEf6b{u%&JKUc5yEJ<@Qm-{J
zbTW5)APl;C(sD8Gb~Jo~MzpDrk}L5!QtlSE_q!3yUB7CnCz83@pvdVa--TBNcwwy2
zIH!OE!&<&pTki<w<Dhgih^L%(Mv_`$yb^c%qfTAp*QI^4?!9gyEEunBa|?R<dds0_
znm}#rPV}1Dq?nU8c}xXO(r@~9(I6XR^=nGi{Bp|yviZ+ramGLDZU~vjX+-c&Gmdm3
zm0@z{!j0qn^NM&QLXHkwcN}7o&Jba&wXimT8KnN9O)tX((QX`S#7zK1xub^jSlfqu
zF?<57F^u~xd<~{%22;6kp8*&j#{LSxw0h)MjYKH!omNs4j_D7XaoX`%G{TwkwX^Z?
z&0Sl?rK^RR_M5%vS5y)wjqDaOu~{YEwxduN1`%>4)q{9Yc-)Sj;(j<xu{b|+J{LZq
zaR11KGK~0Iv0x*kKR}8P>49R3Kc|8rD5aZmkbO@GYRJ@6u=(^DL@2vQ#yY>ML_q1c
z!iM0L5}D#Qlo2KUs|G*4k_K4z>ViqDiHL?_RS<1zpSU$7g%4YHY(~W0#+Sl4c0B!H
zTZF)`_#Jep(~_%cZL;){&wdz0s;qh7P>z`txQ`&Ue2B&Ah0iv8fI7B=))ET)Yey$<
zMnp8)ab?`gB6|A7uj&qLo77i^G5JFd%FyruPg%2E1)-nl#N1qNFgYdx#lvtDYPoK>
zEp~|ElahQAcTQe0M3i)dr56s=501+#%?z<V_{V{Fu$|HliGjy#r^eHo?_$4zf>94u
z)|*=eGPX;XM>#{FZoiwFjQvdw>|h@&Ys9w$X`mvw{fZvmMSK2o@WO!oj6X641#<^@
zoLL#CQ^-O#wu`<*Zu}t+87>@Me!^X!F5d|iSvd9x4WlFW^6;9C!!HaA$l*^E{xMUB
z8}J~%-8O$fV=Rc|*}biOO2^a;EHqPT6p6<k8>=G{jV0!!hg>sR<)T3kNs8zT(q%Km
z2kRC7lslWlj@r{WNc%#?HlfOaHT|<&!eyH!P$zF+Mw6XZGnOhbZgqxSrEjgl`j6qK
zb9{Y!Izv=5-mUt2n7IwYYG(kgreA&az_mOeoYa4v0U5>b94Vej#Q$*yl%GUr_-TX|
zYaHnO$1C6GELXsti$E;38~I>Vg|H8fFF4|m8HYy;c`boDmBgk)T%o_N^15;P)j10r
zKyUwW&xbwB=ENEGjyXPQ)*RWSjI1_$p-TFEp_nkxbcVJc#!9|rhpZQ|w6OnAFEnPu
zXdz{_`jP;J!^E0AY;LFyoK%&I(hK-t(~$XeUU*Op7A`Lownh0Gr#E27B2VrvPbsDW
zg&Jet>Smh2+$q|MnSNb1B$d)u0<Kg7n;IB_gr`LHv`ka5kmeFG;RO9aj;_-N3sYIZ
z++wEZkb%o=hpUEQ=uYkNdl-cM$z7U0bnAF{{7N|8wbLL55_JI3+Fv*70pAwHmTbCE
z0D?aS?mm+}fSC;UM<lXEzGc!uwswj8*aCecn~|-Ae=|YuRp&&tnU@!;%5o9a7o(i^
zSHVQ~3NJ@<0!zj%^oE>cY-=@_VC9B@?9WMg`mxj|M`);+Z|q@)T&0N#334j~d$Dpx
z$2wV#4~uqL2(BMM@!u$ekye}ry_S}Vbo0~|f<wv=zsv_p3G4pyM_^KdjI+3rFa_wU
zT9A^|h;}XPll9`x!ds}cshbb`iF_(Ba%;^aD%aEO-I;^o7&c##NpO(ylks-;Ys-q|
zYv68SxJeUD++2f?7viu$_8Pm+*itSb$z$XXifQ9~nlsV^5nZIF*lEbrcIZugu+>u}
zj{*k^qkMog*cGORDeKT`Fv}Za9KzcUQmmbUj<lq@1*bEV89_RYHwJUhGX}}+%6d(i
z8|`LH6GAE`_Ve{V4b8iq=?yA1n7?ysT>FqqYI9_t+?vdt$$_jex_8tJ!U|{it_p**
z^%WKxW5wsdO=K5y%n~YGY#10E475XF<ytS*_cR9Dd~I@gvZdN<8cS7*OrwTLLU3pT
zCu+l+Kg*Mgpnh`2ziJc*<A8|Xv+S0d&EE~;kFHQ<^hBn>BI&?UaAZul3Q|^(olVwg
z)$}(PS29x)ayt`%@D-vouFog*3w0GxNy!ZgufY@8wM!p-z9xTb9$~t&TCGvs&vra|
zkASZN`#hGZ7Z`bO7xD)es}4;~;S&$JStuq@?&qL&Df>ZE&uAP7zB+QHA>prE`afEF
zx6ationd)w;$*6O6i*R<9tJ)e+)^}Kw=q%I@k=}C?)4=f5q~`H75n9?w3P;otLcPe
zo#M3tu{<#n7IfHuyn}6%@}$CJ+EjfhW2-ZyovrF<tMQk48qlFt_!J6Z27H=CipCSt
z_y`R)1h|bAJ|aGAX3X60Qag+%w<+TxA$9~M)35n)9Po>0N)1+VYWc~iy1_l7JCm_i
z$aS&dhpQP~Som@mz+K|L<G@=>ZQh)7l(fMpuie~%*dG5)MQZyi)c=<X6{K1O5Hsz@
z35e17l@miuWyv?v>z9ZC{Q?9HC+$ptHMckWKT_C#mV=26EH^PT@&C;KRJ1JYJlvd#
z=uJ|<iI@#$<jxB^mrX)UH*)QBFu-pU@3DL&_ABVsWp0ky(U5)o`xlI%A<R<}6nW<|
z9E<s`9KqcAhKplwgVM%JF9VfHC*2!QRDp4G>2o6&y^^o1azDitV^w(?K_UB2Jw<B+
z^_`1jNl(v>2QeYvhzn|>q~(scl)^&_{l^7h?Fw7@gYU-osQP@3t}FjJwR8OktDRwJ
z<!K3~P_Bt*?`7<X%Cq9#Lwz{s(_3Fk3CH+PJjyY#j<EBM=duq^L0aj%Uiaw+v#in`
zF^z6EiS?EvrS4o>M#+A*J9xWrhFd9q%*!x>x|>mVNNBH+bDG2A-J0q){9vItA>kWf
znftEcXm8)n!VY+%`|i|8#6-TAtRkGEShWA}{La7*N~aeV2WUoLJJ>NRxGnS}@~Rlf
zu|A=@=kyVa=7<mPA=;`~nE*3dpd9@d!zY6+gAI5i?C7|p7r-j5SK>RQ3v`Di6p;t}
z*gCGXI5s%eSg7RNVA1=Op|N>%*$I;_QX7ops4t=GC-^d?_g7Eog1|{bfa}}Ewedv?
z`OV+hpIb`mLO{^okR{Yagcc$&R_;W`7H%kM6?JWGiA1}Wm;Y<xBnGtFfifrFwaSAs
zH;T0V1chg2VP|D!<znWbV`fe4Xt$<g;p8M{{+~f?PYnCN4K`*D4%Ywjv9q%!Ds)f)
z*;#o0V~w4Yll#B%TwKimiR0krX8$iA5A(lU`2WRc=VWL3FB~U3+rRn^Gc)=Bb5M3J
dRyLOZ+|0$s&Yg(aDG$re%mPb6A)yF>{a-V73dsNf

diff --git a/examples/lj_func.py b/examples/lj_func.py
index baba7a9..5ec2c46 100644
--- a/examples/lj_func.py
+++ b/examples/lj_func.py
@@ -4,8 +4,6 @@ import pairs
 def lj(i, j):
     sr2 = 1.0 / rsq
     sr6 = sr2 * sr2 * sr2 * sigma6
-    #f = 48.0 * sr6 * (sr6 - 0.5) * sr2 * epsilon
-    #force[i] += delta * f
     force[i] += delta * 48.0 * sr6 * (sr6 - 0.5) * sr2 * epsilon
 
 
@@ -23,7 +21,7 @@ sigma6 = sigma ** 6
 
 psim = pairs.simulation("lj_ns")
 psim.add_real_property('mass', 1.0)
-psim.add_vector_property('position')
+psim.add_position('position')
 psim.add_vector_property('velocity')
 psim.add_vector_property('force', vol=True)
 psim.from_file("data/minimd_setup_4x4x4.input", ['mass', 'position', 'velocity'])
@@ -31,6 +29,6 @@ psim.create_cell_lists(2.8, 2.8)
 psim.create_neighbor_lists()
 psim.periodic(2.8)
 psim.vtk_output("output/test")
-psim.compute(psim, lj, cutoff_radius, 'position', {'sigma6': sigma6, 'epsilon': epsilon})
-psim.compute(psim, euler, symbols={'dt': dt})
+psim.compute(lj, cutoff_radius, {'sigma6': sigma6, 'epsilon': epsilon})
+psim.compute(euler, symbols={'dt': dt})
 psim.generate()
diff --git a/examples/lj_ns.cpp b/examples/lj_ns.cpp
index 169705c..ac376f0 100644
--- a/examples/lj_ns.cpp
+++ b/examples/lj_ns.cpp
@@ -3,9 +3,9 @@
 #include <stdio.h>
 #include <stdlib.h>
 //---
-#include "runtime/pairs.hpp"
-#include "runtime/read_from_file.hpp"
-#include "runtime/vtk.hpp"
+#include "../src/pairs/runtime/pairs.hpp"
+#include "../src/pairs/runtime/read_from_file.hpp"
+#include "../src/pairs/runtime/vtk.hpp"
 
 using namespace pairs;
 
@@ -27,7 +27,6 @@ int main() {
     int neighborlist_capacity = 32;
     int npbc = 0;
     int pbc_capacity = 100;
-    int resize = 0;
     double grid_buffer[6];
     int dim_cells[3];
     int *cell_particles = (int *) malloc((sizeof(int) * (ncells_capacity * cell_capacity)));
@@ -60,429 +59,429 @@ int main() {
     grid0_d2_min = a4;
     const double a5 = grid_buffer[5];
     grid0_d2_max = a5;
-    const double e462 = grid0_d0_max - grid0_d0_min;
-    const double e463 = e462 / 2.8;
-    const int e464 = ceil(e463) + 2;
-    dim_cells[0] = e464;
-    const double e466 = grid0_d1_max - grid0_d1_min;
-    const double e467 = e466 / 2.8;
-    const int e468 = ceil(e467) + 2;
-    dim_cells[1] = e468;
-    const int a54 = dim_cells[0];
-    const int a56 = dim_cells[1];
-    const int e469 = a54 * a56;
-    const double e470 = grid0_d2_max - grid0_d2_min;
-    const double e471 = e470 / 2.8;
-    const int e472 = ceil(e471) + 2;
-    dim_cells[2] = e472;
-    const int a58 = dim_cells[2];
-    const int e473 = e469 * a58;
-    ncells = e473;
-    resize = 1;
+    const double e94 = grid0_d0_max - grid0_d0_min;
+    const double e95 = e94 / 2.8;
+    const int e96 = ceil(e95) + 2;
+    dim_cells[0] = e96;
+    const double e98 = grid0_d1_max - grid0_d1_min;
+    const double e99 = e98 / 2.8;
+    const int e100 = ceil(e99) + 2;
+    dim_cells[1] = e100;
+    const int a7 = dim_cells[0];
+    const int a9 = dim_cells[1];
+    const int e101 = a7 * a9;
+    const double e102 = grid0_d2_max - grid0_d2_min;
+    const double e103 = e102 / 2.8;
+    const int e104 = ceil(e103) + 2;
+    dim_cells[2] = e104;
+    const int a11 = dim_cells[2];
+    const int e105 = e101 * a11;
+    ncells = e105;
+    int resize = 1;
     while((resize > 0)) {
         resize = 0;
-        const bool e475 = ncells >= ncells_capacity;
-        if(e475) {
+        const bool e107 = ncells >= ncells_capacity;
+        if(e107) {
             resize = ncells;
         }
-        const bool e476 = resize > 0;
-        if(e476) {
+        const bool e108 = resize > 0;
+        if(e108) {
             fprintf(stdout, "Resize ncells_capacity\n");
             fflush(stdout);
-            const int e477 = resize * 2;
-            ncells_capacity = e477;
+            const int e109 = resize * 2;
+            ncells_capacity = e109;
             cell_particles = (int *) realloc(cell_particles, (sizeof(int) * (ncells_capacity * cell_capacity)));
             cell_sizes = (int *) realloc(cell_sizes, (sizeof(int) * ncells_capacity));
         }
     }
     nstencil = 0;
-    for(int i15 = -1; i15 < 2; i15++) {
-        const int a59 = dim_cells[0];
-        const int e481 = i15 * a59;
-        for(int i16 = -1; i16 < 2; i16++) {
-            const int e482 = e481 + i16;
-            const int a60 = dim_cells[1];
-            const int e483 = e482 * a60;
-            for(int i17 = -1; i17 < 2; i17++) {
-                const int e484 = e483 + i17;
-                stencil[nstencil] = e484;
-                const int e485 = nstencil + 1;
-                nstencil = e485;
+    for(int i2 = -1; i2 < 2; i2++) {
+        const int a12 = dim_cells[0];
+        const int e113 = i2 * a12;
+        for(int i3 = -1; i3 < 2; i3++) {
+            const int e114 = e113 + i3;
+            const int a13 = dim_cells[1];
+            const int e115 = e114 * a13;
+            for(int i4 = -1; i4 < 2; i4++) {
+                const int e116 = e115 + i4;
+                stencil[nstencil] = e116;
+                const int e117 = nstencil + 1;
+                nstencil = e117;
             }
         }
     }
-    const int e486 = nlocal + npbc;
+    const int e118 = nlocal + npbc;
     pairs::vtk_write_data(ps, "output/test_local", 0, nlocal, 0);
-    pairs::vtk_write_data(ps, "output/test_pbc", nlocal, e486, 0);
-    for(int i14 = 0; i14 < 101; i14++) {
-        const int e452 = i14 % 20;
-        const bool e453 = e452 == 0;
-        if(e453) {
-            pairs::copy_to_device(position)
-            const double e115 = grid0_d0_max - grid0_d0_min;
-            const double e122 = grid0_d0_max - grid0_d0_min;
-            const double e129 = grid0_d1_max - grid0_d1_min;
-            const double e136 = grid0_d1_max - grid0_d1_min;
-            const double e143 = grid0_d2_max - grid0_d2_min;
-            const double e150 = grid0_d2_max - grid0_d2_min;
-            for(int i3 = 0; i3 < nlocal; i3++) {
-                const int e110 = i3 * 3;
-                const double p8_0 = position[e110];
-                const bool e112 = p8_0 < grid0_d0_min;
-                if(e112) {
-                    const int e113 = i3 * 3;
-                    const double p9_0 = position[e113];
-                    const double e116 = p9_0 + e115;
-                    position[e113] = e116;
+    pairs::vtk_write_data(ps, "output/test_pbc", nlocal, e118, 0);
+    for(int i1 = 0; i1 < 101; i1++) {
+        const int e65 = i1 % 20;
+        const bool e66 = e65 == 0;
+        if(e66) {
+            //pairs::copy_to_device(position)
+            const double e124 = grid0_d0_max - grid0_d0_min;
+            const double e131 = grid0_d0_max - grid0_d0_min;
+            const double e138 = grid0_d1_max - grid0_d1_min;
+            const double e145 = grid0_d1_max - grid0_d1_min;
+            const double e152 = grid0_d2_max - grid0_d2_min;
+            const double e159 = grid0_d2_max - grid0_d2_min;
+            for(int i5 = 0; i5 < nlocal; i5++) {
+                const int e119 = i5 * 3;
+                const double p6_0 = position[e119];
+                const bool e121 = p6_0 < grid0_d0_min;
+                if(e121) {
+                    const int e122 = i5 * 3;
+                    const double p7_0 = position[e122];
+                    const double e125 = p7_0 + e124;
+                    position[e122] = e125;
                 }
-                const int e117 = i3 * 3;
-                const double p10_0 = position[e117];
-                const bool e119 = p10_0 > grid0_d0_max;
-                if(e119) {
-                    const int e120 = i3 * 3;
-                    const double p11_0 = position[e120];
-                    const double e123 = p11_0 - e122;
-                    position[e120] = e123;
+                const int e126 = i5 * 3;
+                const double p8_0 = position[e126];
+                const bool e128 = p8_0 > grid0_d0_max;
+                if(e128) {
+                    const int e129 = i5 * 3;
+                    const double p9_0 = position[e129];
+                    const double e132 = p9_0 - e131;
+                    position[e129] = e132;
                 }
-                const int e124 = i3 * 3;
-                const int e125 = e124 + 1;
-                const double p12_1 = position[e125];
-                const bool e126 = p12_1 < grid0_d1_min;
-                if(e126) {
-                    const int e127 = i3 * 3;
-                    const int e128 = e127 + 1;
-                    const double p13_1 = position[e128];
-                    const double e130 = p13_1 + e129;
-                    position[e128] = e130;
+                const int e133 = i5 * 3;
+                const int e134 = e133 + 1;
+                const double p10_1 = position[e134];
+                const bool e135 = p10_1 < grid0_d1_min;
+                if(e135) {
+                    const int e136 = i5 * 3;
+                    const int e137 = e136 + 1;
+                    const double p11_1 = position[e137];
+                    const double e139 = p11_1 + e138;
+                    position[e137] = e139;
                 }
-                const int e131 = i3 * 3;
-                const int e132 = e131 + 1;
-                const double p14_1 = position[e132];
-                const bool e133 = p14_1 > grid0_d1_max;
-                if(e133) {
-                    const int e134 = i3 * 3;
-                    const int e135 = e134 + 1;
-                    const double p15_1 = position[e135];
-                    const double e137 = p15_1 - e136;
-                    position[e135] = e137;
+                const int e140 = i5 * 3;
+                const int e141 = e140 + 1;
+                const double p12_1 = position[e141];
+                const bool e142 = p12_1 > grid0_d1_max;
+                if(e142) {
+                    const int e143 = i5 * 3;
+                    const int e144 = e143 + 1;
+                    const double p13_1 = position[e144];
+                    const double e146 = p13_1 - e145;
+                    position[e144] = e146;
                 }
-                const int e138 = i3 * 3;
-                const int e139 = e138 + 2;
-                const double p16_2 = position[e139];
-                const bool e140 = p16_2 < grid0_d2_min;
-                if(e140) {
-                    const int e141 = i3 * 3;
-                    const int e142 = e141 + 2;
-                    const double p17_2 = position[e142];
-                    const double e144 = p17_2 + e143;
-                    position[e142] = e144;
+                const int e147 = i5 * 3;
+                const int e148 = e147 + 2;
+                const double p14_2 = position[e148];
+                const bool e149 = p14_2 < grid0_d2_min;
+                if(e149) {
+                    const int e150 = i5 * 3;
+                    const int e151 = e150 + 2;
+                    const double p15_2 = position[e151];
+                    const double e153 = p15_2 + e152;
+                    position[e151] = e153;
                 }
-                const int e145 = i3 * 3;
-                const int e146 = e145 + 2;
-                const double p18_2 = position[e146];
-                const bool e147 = p18_2 > grid0_d2_max;
-                if(e147) {
-                    const int e148 = i3 * 3;
-                    const int e149 = e148 + 2;
-                    const double p19_2 = position[e149];
-                    const double e151 = p19_2 - e150;
-                    position[e149] = e151;
+                const int e154 = i5 * 3;
+                const int e155 = e154 + 2;
+                const double p16_2 = position[e155];
+                const bool e156 = p16_2 > grid0_d2_max;
+                if(e156) {
+                    const int e157 = i5 * 3;
+                    const int e158 = e157 + 2;
+                    const double p17_2 = position[e158];
+                    const double e160 = p17_2 - e159;
+                    position[e158] = e160;
                 }
             }
         }
-        const int e454 = i14 % 20;
-        const bool e455 = e454 == 0;
-        if(e455) {
+        const int e67 = i1 % 20;
+        const bool e68 = e67 == 0;
+        if(e68) {
             resize = 1;
             while((resize > 0)) {
                 resize = 0;
                 npbc = 0;
-                const int e153 = nlocal + npbc;
-                const double e157 = grid0_d0_min + 2.8;
-                const double e168 = grid0_d0_max - grid0_d0_min;
-                const double e185 = grid0_d0_max - 2.8;
-                const double e196 = grid0_d0_max - grid0_d0_min;
-                for(int i4 = 0; i4 < e153; i4++) {
-                    const int e154 = nlocal + npbc;
-                    const int e155 = i4 * 3;
-                    const double p20_0 = position[e155];
-                    const bool e158 = p20_0 < e157;
-                    if(e158) {
-                        const bool e159 = npbc >= pbc_capacity;
-                        if(e159) {
-                            const bool e160 = resize > npbc;
-                            resize = (e160) ? ((resize + 1)) : (npbc);
+                const int e162 = nlocal + npbc;
+                const double e166 = grid0_d0_min + 2.8;
+                const double e177 = grid0_d0_max - grid0_d0_min;
+                const double e194 = grid0_d0_max - 2.8;
+                const double e205 = grid0_d0_max - grid0_d0_min;
+                for(int i6 = 0; i6 < e162; i6++) {
+                    const int e163 = nlocal + npbc;
+                    const int e164 = i6 * 3;
+                    const double p18_0 = position[e164];
+                    const bool e167 = p18_0 < e166;
+                    if(e167) {
+                        const bool e168 = npbc >= pbc_capacity;
+                        if(e168) {
+                            const bool e169 = resize > npbc;
+                            resize = (e169) ? ((resize + 1)) : (npbc);
                         } else {
-                            pbc_map[npbc] = i4;
-                            const int e162 = npbc * 3;
-                            pbc_mult[e162] = 1;
-                            const int e164 = e154 * 3;
-                            const double p21_0 = position[e164];
-                            const int e166 = i4 * 3;
-                            const double p22_0 = position[e166];
-                            const double e169 = p22_0 + e168;
-                            position[e164] = e169;
-                            const int e170 = npbc * 3;
-                            const int e171 = e170 + 1;
-                            pbc_mult[e171] = 0;
-                            const int e172 = e154 * 3;
-                            const int e173 = e172 + 1;
-                            const double p23_1 = position[e173];
-                            const int e174 = i4 * 3;
-                            const int e175 = e174 + 1;
-                            const double p24_1 = position[e175];
-                            position[e173] = p24_1;
-                            const int e176 = npbc * 3;
-                            const int e177 = e176 + 2;
-                            pbc_mult[e177] = 0;
-                            const int e178 = e154 * 3;
-                            const int e179 = e178 + 2;
-                            const double p25_2 = position[e179];
-                            const int e180 = i4 * 3;
-                            const int e181 = e180 + 2;
-                            const double p26_2 = position[e181];
-                            position[e179] = p26_2;
-                            const int e182 = npbc + 1;
-                            npbc = e182;
+                            pbc_map[npbc] = i6;
+                            const int e171 = npbc * 3;
+                            pbc_mult[e171] = 1;
+                            const int e173 = e163 * 3;
+                            const double p19_0 = position[e173];
+                            const int e175 = i6 * 3;
+                            const double p20_0 = position[e175];
+                            const double e178 = p20_0 + e177;
+                            position[e173] = e178;
+                            const int e179 = npbc * 3;
+                            const int e180 = e179 + 1;
+                            pbc_mult[e180] = 0;
+                            const int e181 = e163 * 3;
+                            const int e182 = e181 + 1;
+                            const double p21_1 = position[e182];
+                            const int e183 = i6 * 3;
+                            const int e184 = e183 + 1;
+                            const double p22_1 = position[e184];
+                            position[e182] = p22_1;
+                            const int e185 = npbc * 3;
+                            const int e186 = e185 + 2;
+                            pbc_mult[e186] = 0;
+                            const int e187 = e163 * 3;
+                            const int e188 = e187 + 2;
+                            const double p23_2 = position[e188];
+                            const int e189 = i6 * 3;
+                            const int e190 = e189 + 2;
+                            const double p24_2 = position[e190];
+                            position[e188] = p24_2;
+                            const int e191 = npbc + 1;
+                            npbc = e191;
                         }
                     }
-                    const int e183 = i4 * 3;
-                    const double p27_0 = position[e183];
-                    const bool e186 = p27_0 > e185;
-                    if(e186) {
-                        const bool e187 = npbc >= pbc_capacity;
-                        if(e187) {
-                            const bool e188 = resize > npbc;
-                            resize = (e188) ? ((resize + 1)) : (npbc);
+                    const int e192 = i6 * 3;
+                    const double p25_0 = position[e192];
+                    const bool e195 = p25_0 > e194;
+                    if(e195) {
+                        const bool e196 = npbc >= pbc_capacity;
+                        if(e196) {
+                            const bool e197 = resize > npbc;
+                            resize = (e197) ? ((resize + 1)) : (npbc);
                         } else {
-                            pbc_map[npbc] = i4;
-                            const int e190 = npbc * 3;
-                            pbc_mult[e190] = -1;
-                            const int e192 = e154 * 3;
-                            const double p28_0 = position[e192];
-                            const int e194 = i4 * 3;
-                            const double p29_0 = position[e194];
-                            const double e197 = p29_0 - e196;
-                            position[e192] = e197;
-                            const int e198 = npbc * 3;
-                            const int e199 = e198 + 1;
-                            pbc_mult[e199] = 0;
-                            const int e200 = e154 * 3;
-                            const int e201 = e200 + 1;
-                            const double p30_1 = position[e201];
-                            const int e202 = i4 * 3;
-                            const int e203 = e202 + 1;
-                            const double p31_1 = position[e203];
-                            position[e201] = p31_1;
-                            const int e204 = npbc * 3;
-                            const int e205 = e204 + 2;
-                            pbc_mult[e205] = 0;
-                            const int e206 = e154 * 3;
-                            const int e207 = e206 + 2;
-                            const double p32_2 = position[e207];
-                            const int e208 = i4 * 3;
-                            const int e209 = e208 + 2;
-                            const double p33_2 = position[e209];
-                            position[e207] = p33_2;
-                            const int e210 = npbc + 1;
-                            npbc = e210;
+                            pbc_map[npbc] = i6;
+                            const int e199 = npbc * 3;
+                            pbc_mult[e199] = -1;
+                            const int e201 = e163 * 3;
+                            const double p26_0 = position[e201];
+                            const int e203 = i6 * 3;
+                            const double p27_0 = position[e203];
+                            const double e206 = p27_0 - e205;
+                            position[e201] = e206;
+                            const int e207 = npbc * 3;
+                            const int e208 = e207 + 1;
+                            pbc_mult[e208] = 0;
+                            const int e209 = e163 * 3;
+                            const int e210 = e209 + 1;
+                            const double p28_1 = position[e210];
+                            const int e211 = i6 * 3;
+                            const int e212 = e211 + 1;
+                            const double p29_1 = position[e212];
+                            position[e210] = p29_1;
+                            const int e213 = npbc * 3;
+                            const int e214 = e213 + 2;
+                            pbc_mult[e214] = 0;
+                            const int e215 = e163 * 3;
+                            const int e216 = e215 + 2;
+                            const double p30_2 = position[e216];
+                            const int e217 = i6 * 3;
+                            const int e218 = e217 + 2;
+                            const double p31_2 = position[e218];
+                            position[e216] = p31_2;
+                            const int e219 = npbc + 1;
+                            npbc = e219;
                         }
                     }
                 }
-                const int e211 = nlocal + npbc;
-                const double e215 = grid0_d1_min + 2.8;
-                const double e226 = grid0_d1_max - grid0_d1_min;
-                const double e243 = grid0_d1_max - 2.8;
-                const double e254 = grid0_d1_max - grid0_d1_min;
-                for(int i5 = 0; i5 < e211; i5++) {
-                    const int e212 = nlocal + npbc;
-                    const int e213 = i5 * 3;
-                    const int e214 = e213 + 1;
-                    const double p34_1 = position[e214];
-                    const bool e216 = p34_1 < e215;
-                    if(e216) {
-                        const bool e217 = npbc >= pbc_capacity;
-                        if(e217) {
-                            const bool e218 = resize > npbc;
-                            resize = (e218) ? ((resize + 1)) : (npbc);
+                const int e220 = nlocal + npbc;
+                const double e224 = grid0_d1_min + 2.8;
+                const double e235 = grid0_d1_max - grid0_d1_min;
+                const double e252 = grid0_d1_max - 2.8;
+                const double e263 = grid0_d1_max - grid0_d1_min;
+                for(int i7 = 0; i7 < e220; i7++) {
+                    const int e221 = nlocal + npbc;
+                    const int e222 = i7 * 3;
+                    const int e223 = e222 + 1;
+                    const double p32_1 = position[e223];
+                    const bool e225 = p32_1 < e224;
+                    if(e225) {
+                        const bool e226 = npbc >= pbc_capacity;
+                        if(e226) {
+                            const bool e227 = resize > npbc;
+                            resize = (e227) ? ((resize + 1)) : (npbc);
                         } else {
-                            pbc_map[npbc] = i5;
-                            const int e220 = npbc * 3;
-                            const int e221 = e220 + 1;
-                            pbc_mult[e221] = 1;
-                            const int e222 = e212 * 3;
-                            const int e223 = e222 + 1;
-                            const double p35_1 = position[e223];
-                            const int e224 = i5 * 3;
-                            const int e225 = e224 + 1;
-                            const double p36_1 = position[e225];
-                            const double e227 = p36_1 + e226;
-                            position[e223] = e227;
-                            const int e228 = npbc * 3;
-                            pbc_mult[e228] = 0;
-                            const int e230 = e212 * 3;
-                            const double p37_0 = position[e230];
-                            const int e232 = i5 * 3;
-                            const double p38_0 = position[e232];
-                            position[e230] = p38_0;
-                            const int e234 = npbc * 3;
-                            const int e235 = e234 + 2;
-                            pbc_mult[e235] = 0;
-                            const int e236 = e212 * 3;
-                            const int e237 = e236 + 2;
-                            const double p39_2 = position[e237];
-                            const int e238 = i5 * 3;
-                            const int e239 = e238 + 2;
-                            const double p40_2 = position[e239];
-                            position[e237] = p40_2;
-                            const int e240 = npbc + 1;
-                            npbc = e240;
+                            pbc_map[npbc] = i7;
+                            const int e229 = npbc * 3;
+                            const int e230 = e229 + 1;
+                            pbc_mult[e230] = 1;
+                            const int e231 = e221 * 3;
+                            const int e232 = e231 + 1;
+                            const double p33_1 = position[e232];
+                            const int e233 = i7 * 3;
+                            const int e234 = e233 + 1;
+                            const double p34_1 = position[e234];
+                            const double e236 = p34_1 + e235;
+                            position[e232] = e236;
+                            const int e237 = npbc * 3;
+                            pbc_mult[e237] = 0;
+                            const int e239 = e221 * 3;
+                            const double p35_0 = position[e239];
+                            const int e241 = i7 * 3;
+                            const double p36_0 = position[e241];
+                            position[e239] = p36_0;
+                            const int e243 = npbc * 3;
+                            const int e244 = e243 + 2;
+                            pbc_mult[e244] = 0;
+                            const int e245 = e221 * 3;
+                            const int e246 = e245 + 2;
+                            const double p37_2 = position[e246];
+                            const int e247 = i7 * 3;
+                            const int e248 = e247 + 2;
+                            const double p38_2 = position[e248];
+                            position[e246] = p38_2;
+                            const int e249 = npbc + 1;
+                            npbc = e249;
                         }
                     }
-                    const int e241 = i5 * 3;
-                    const int e242 = e241 + 1;
-                    const double p41_1 = position[e242];
-                    const bool e244 = p41_1 > e243;
-                    if(e244) {
-                        const bool e245 = npbc >= pbc_capacity;
-                        if(e245) {
-                            const bool e246 = resize > npbc;
-                            resize = (e246) ? ((resize + 1)) : (npbc);
+                    const int e250 = i7 * 3;
+                    const int e251 = e250 + 1;
+                    const double p39_1 = position[e251];
+                    const bool e253 = p39_1 > e252;
+                    if(e253) {
+                        const bool e254 = npbc >= pbc_capacity;
+                        if(e254) {
+                            const bool e255 = resize > npbc;
+                            resize = (e255) ? ((resize + 1)) : (npbc);
                         } else {
-                            pbc_map[npbc] = i5;
-                            const int e248 = npbc * 3;
-                            const int e249 = e248 + 1;
-                            pbc_mult[e249] = -1;
-                            const int e250 = e212 * 3;
-                            const int e251 = e250 + 1;
-                            const double p42_1 = position[e251];
-                            const int e252 = i5 * 3;
-                            const int e253 = e252 + 1;
-                            const double p43_1 = position[e253];
-                            const double e255 = p43_1 - e254;
-                            position[e251] = e255;
-                            const int e256 = npbc * 3;
-                            pbc_mult[e256] = 0;
-                            const int e258 = e212 * 3;
-                            const double p44_0 = position[e258];
-                            const int e260 = i5 * 3;
-                            const double p45_0 = position[e260];
-                            position[e258] = p45_0;
-                            const int e262 = npbc * 3;
-                            const int e263 = e262 + 2;
-                            pbc_mult[e263] = 0;
-                            const int e264 = e212 * 3;
-                            const int e265 = e264 + 2;
-                            const double p46_2 = position[e265];
-                            const int e266 = i5 * 3;
-                            const int e267 = e266 + 2;
-                            const double p47_2 = position[e267];
-                            position[e265] = p47_2;
-                            const int e268 = npbc + 1;
-                            npbc = e268;
+                            pbc_map[npbc] = i7;
+                            const int e257 = npbc * 3;
+                            const int e258 = e257 + 1;
+                            pbc_mult[e258] = -1;
+                            const int e259 = e221 * 3;
+                            const int e260 = e259 + 1;
+                            const double p40_1 = position[e260];
+                            const int e261 = i7 * 3;
+                            const int e262 = e261 + 1;
+                            const double p41_1 = position[e262];
+                            const double e264 = p41_1 - e263;
+                            position[e260] = e264;
+                            const int e265 = npbc * 3;
+                            pbc_mult[e265] = 0;
+                            const int e267 = e221 * 3;
+                            const double p42_0 = position[e267];
+                            const int e269 = i7 * 3;
+                            const double p43_0 = position[e269];
+                            position[e267] = p43_0;
+                            const int e271 = npbc * 3;
+                            const int e272 = e271 + 2;
+                            pbc_mult[e272] = 0;
+                            const int e273 = e221 * 3;
+                            const int e274 = e273 + 2;
+                            const double p44_2 = position[e274];
+                            const int e275 = i7 * 3;
+                            const int e276 = e275 + 2;
+                            const double p45_2 = position[e276];
+                            position[e274] = p45_2;
+                            const int e277 = npbc + 1;
+                            npbc = e277;
                         }
                     }
                 }
-                const int e269 = nlocal + npbc;
-                const double e273 = grid0_d2_min + 2.8;
-                const double e284 = grid0_d2_max - grid0_d2_min;
-                const double e301 = grid0_d2_max - 2.8;
-                const double e312 = grid0_d2_max - grid0_d2_min;
-                for(int i6 = 0; i6 < e269; i6++) {
-                    const int e270 = nlocal + npbc;
-                    const int e271 = i6 * 3;
-                    const int e272 = e271 + 2;
-                    const double p48_2 = position[e272];
-                    const bool e274 = p48_2 < e273;
-                    if(e274) {
-                        const bool e275 = npbc >= pbc_capacity;
-                        if(e275) {
-                            const bool e276 = resize > npbc;
-                            resize = (e276) ? ((resize + 1)) : (npbc);
+                const int e278 = nlocal + npbc;
+                const double e282 = grid0_d2_min + 2.8;
+                const double e293 = grid0_d2_max - grid0_d2_min;
+                const double e310 = grid0_d2_max - 2.8;
+                const double e321 = grid0_d2_max - grid0_d2_min;
+                for(int i8 = 0; i8 < e278; i8++) {
+                    const int e279 = nlocal + npbc;
+                    const int e280 = i8 * 3;
+                    const int e281 = e280 + 2;
+                    const double p46_2 = position[e281];
+                    const bool e283 = p46_2 < e282;
+                    if(e283) {
+                        const bool e284 = npbc >= pbc_capacity;
+                        if(e284) {
+                            const bool e285 = resize > npbc;
+                            resize = (e285) ? ((resize + 1)) : (npbc);
                         } else {
-                            pbc_map[npbc] = i6;
-                            const int e278 = npbc * 3;
-                            const int e279 = e278 + 2;
-                            pbc_mult[e279] = 1;
-                            const int e280 = e270 * 3;
-                            const int e281 = e280 + 2;
-                            const double p49_2 = position[e281];
-                            const int e282 = i6 * 3;
-                            const int e283 = e282 + 2;
-                            const double p50_2 = position[e283];
-                            const double e285 = p50_2 + e284;
-                            position[e281] = e285;
-                            const int e286 = npbc * 3;
-                            pbc_mult[e286] = 0;
-                            const int e288 = e270 * 3;
-                            const double p51_0 = position[e288];
-                            const int e290 = i6 * 3;
-                            const double p52_0 = position[e290];
-                            position[e288] = p52_0;
-                            const int e292 = npbc * 3;
-                            const int e293 = e292 + 1;
-                            pbc_mult[e293] = 0;
-                            const int e294 = e270 * 3;
-                            const int e295 = e294 + 1;
-                            const double p53_1 = position[e295];
-                            const int e296 = i6 * 3;
-                            const int e297 = e296 + 1;
-                            const double p54_1 = position[e297];
-                            position[e295] = p54_1;
-                            const int e298 = npbc + 1;
-                            npbc = e298;
+                            pbc_map[npbc] = i8;
+                            const int e287 = npbc * 3;
+                            const int e288 = e287 + 2;
+                            pbc_mult[e288] = 1;
+                            const int e289 = e279 * 3;
+                            const int e290 = e289 + 2;
+                            const double p47_2 = position[e290];
+                            const int e291 = i8 * 3;
+                            const int e292 = e291 + 2;
+                            const double p48_2 = position[e292];
+                            const double e294 = p48_2 + e293;
+                            position[e290] = e294;
+                            const int e295 = npbc * 3;
+                            pbc_mult[e295] = 0;
+                            const int e297 = e279 * 3;
+                            const double p49_0 = position[e297];
+                            const int e299 = i8 * 3;
+                            const double p50_0 = position[e299];
+                            position[e297] = p50_0;
+                            const int e301 = npbc * 3;
+                            const int e302 = e301 + 1;
+                            pbc_mult[e302] = 0;
+                            const int e303 = e279 * 3;
+                            const int e304 = e303 + 1;
+                            const double p51_1 = position[e304];
+                            const int e305 = i8 * 3;
+                            const int e306 = e305 + 1;
+                            const double p52_1 = position[e306];
+                            position[e304] = p52_1;
+                            const int e307 = npbc + 1;
+                            npbc = e307;
                         }
                     }
-                    const int e299 = i6 * 3;
-                    const int e300 = e299 + 2;
-                    const double p55_2 = position[e300];
-                    const bool e302 = p55_2 > e301;
-                    if(e302) {
-                        const bool e303 = npbc >= pbc_capacity;
-                        if(e303) {
-                            const bool e304 = resize > npbc;
-                            resize = (e304) ? ((resize + 1)) : (npbc);
+                    const int e308 = i8 * 3;
+                    const int e309 = e308 + 2;
+                    const double p53_2 = position[e309];
+                    const bool e311 = p53_2 > e310;
+                    if(e311) {
+                        const bool e312 = npbc >= pbc_capacity;
+                        if(e312) {
+                            const bool e313 = resize > npbc;
+                            resize = (e313) ? ((resize + 1)) : (npbc);
                         } else {
-                            pbc_map[npbc] = i6;
-                            const int e306 = npbc * 3;
-                            const int e307 = e306 + 2;
-                            pbc_mult[e307] = -1;
-                            const int e308 = e270 * 3;
-                            const int e309 = e308 + 2;
-                            const double p56_2 = position[e309];
-                            const int e310 = i6 * 3;
-                            const int e311 = e310 + 2;
-                            const double p57_2 = position[e311];
-                            const double e313 = p57_2 - e312;
-                            position[e309] = e313;
-                            const int e314 = npbc * 3;
-                            pbc_mult[e314] = 0;
-                            const int e316 = e270 * 3;
-                            const double p58_0 = position[e316];
-                            const int e318 = i6 * 3;
-                            const double p59_0 = position[e318];
-                            position[e316] = p59_0;
-                            const int e320 = npbc * 3;
-                            const int e321 = e320 + 1;
-                            pbc_mult[e321] = 0;
-                            const int e322 = e270 * 3;
-                            const int e323 = e322 + 1;
-                            const double p60_1 = position[e323];
-                            const int e324 = i6 * 3;
-                            const int e325 = e324 + 1;
-                            const double p61_1 = position[e325];
-                            position[e323] = p61_1;
-                            const int e326 = npbc + 1;
-                            npbc = e326;
+                            pbc_map[npbc] = i8;
+                            const int e315 = npbc * 3;
+                            const int e316 = e315 + 2;
+                            pbc_mult[e316] = -1;
+                            const int e317 = e279 * 3;
+                            const int e318 = e317 + 2;
+                            const double p54_2 = position[e318];
+                            const int e319 = i8 * 3;
+                            const int e320 = e319 + 2;
+                            const double p55_2 = position[e320];
+                            const double e322 = p55_2 - e321;
+                            position[e318] = e322;
+                            const int e323 = npbc * 3;
+                            pbc_mult[e323] = 0;
+                            const int e325 = e279 * 3;
+                            const double p56_0 = position[e325];
+                            const int e327 = i8 * 3;
+                            const double p57_0 = position[e327];
+                            position[e325] = p57_0;
+                            const int e329 = npbc * 3;
+                            const int e330 = e329 + 1;
+                            pbc_mult[e330] = 0;
+                            const int e331 = e279 * 3;
+                            const int e332 = e331 + 1;
+                            const double p58_1 = position[e332];
+                            const int e333 = i8 * 3;
+                            const int e334 = e333 + 1;
+                            const double p59_1 = position[e334];
+                            position[e332] = p59_1;
+                            const int e335 = npbc + 1;
+                            npbc = e335;
                         }
                     }
                 }
-                const bool e327 = resize > 0;
-                if(e327) {
+                const bool e336 = resize > 0;
+                if(e336) {
                     fprintf(stdout, "Resize pbc_capacity\n");
                     fflush(stdout);
-                    const int e328 = resize * 2;
-                    pbc_capacity = e328;
+                    const int e337 = resize * 2;
+                    pbc_capacity = e337;
                     pbc_map = (int *) realloc(pbc_map, (sizeof(int) * pbc_capacity));
                     pbc_mult = (int *) realloc(pbc_mult, (sizeof(int) * (pbc_capacity * 3)));
                     mass = (double *) realloc(mass, (sizeof(double) * (particle_capacity + pbc_capacity)));
@@ -496,169 +495,171 @@ int main() {
                 }
             }
         } else {
-            const double e348 = grid0_d0_max - grid0_d0_min;
-            const double e358 = grid0_d1_max - grid0_d1_min;
-            const double e368 = grid0_d2_max - grid0_d2_min;
-            for(int i7 = 0; i7 < npbc; i7++) {
-                const int e341 = nlocal + i7;
-                const int e342 = e341 * 3;
-                const double p62_0 = position[e342];
-                const int a32 = pbc_map[i7];
-                const int e344 = a32 * 3;
-                const double p63_0 = position[e344];
-                const int e346 = i7 * 3;
-                const int a33 = pbc_mult[e346];
-                const double e349 = a33 * e348;
-                const double e350 = p63_0 + e349;
-                position[e342] = e350;
-                const int e351 = nlocal + i7;
-                const int e352 = e351 * 3;
-                const int e353 = e352 + 1;
-                const double p64_1 = position[e353];
-                const int a34 = pbc_map[i7];
-                const int e354 = a34 * 3;
-                const int e355 = e354 + 1;
-                const double p65_1 = position[e355];
-                const int e356 = i7 * 3;
-                const int e357 = e356 + 1;
-                const int a35 = pbc_mult[e357];
-                const double e359 = a35 * e358;
-                const double e360 = p65_1 + e359;
-                position[e353] = e360;
-                const int e361 = nlocal + i7;
-                const int e362 = e361 * 3;
-                const int e363 = e362 + 2;
-                const double p66_2 = position[e363];
-                const int a36 = pbc_map[i7];
-                const int e364 = a36 * 3;
-                const int e365 = e364 + 2;
-                const double p67_2 = position[e365];
-                const int e366 = i7 * 3;
-                const int e367 = e366 + 2;
-                const int a37 = pbc_mult[e367];
-                const double e369 = a37 * e368;
-                const double e370 = p67_2 + e369;
-                position[e363] = e370;
+            const double e357 = grid0_d0_max - grid0_d0_min;
+            const double e367 = grid0_d1_max - grid0_d1_min;
+            const double e377 = grid0_d2_max - grid0_d2_min;
+            for(int i9 = 0; i9 < npbc; i9++) {
+                const int e350 = nlocal + i9;
+                const int e351 = e350 * 3;
+                const double p60_0 = position[e351];
+                const int a39 = pbc_map[i9];
+                const int e353 = a39 * 3;
+                const double p61_0 = position[e353];
+                const int e355 = i9 * 3;
+                const int a40 = pbc_mult[e355];
+                const double e358 = a40 * e357;
+                const double e359 = p61_0 + e358;
+                position[e351] = e359;
+                const int e360 = nlocal + i9;
+                const int e361 = e360 * 3;
+                const int e362 = e361 + 1;
+                const double p62_1 = position[e362];
+                const int a41 = pbc_map[i9];
+                const int e363 = a41 * 3;
+                const int e364 = e363 + 1;
+                const double p63_1 = position[e364];
+                const int e365 = i9 * 3;
+                const int e366 = e365 + 1;
+                const int a42 = pbc_mult[e366];
+                const double e368 = a42 * e367;
+                const double e369 = p63_1 + e368;
+                position[e362] = e369;
+                const int e370 = nlocal + i9;
+                const int e371 = e370 * 3;
+                const int e372 = e371 + 2;
+                const double p64_2 = position[e372];
+                const int a43 = pbc_map[i9];
+                const int e373 = a43 * 3;
+                const int e374 = e373 + 2;
+                const double p65_2 = position[e374];
+                const int e375 = i9 * 3;
+                const int e376 = e375 + 2;
+                const int a44 = pbc_mult[e376];
+                const double e378 = a44 * e377;
+                const double e379 = p65_2 + e378;
+                position[e372] = e379;
             }
         }
-        const int e456 = i14 % 20;
-        const bool e457 = e456 == 0;
-        if(e457) {
+        const int e69 = i1 % 20;
+        const bool e70 = e69 == 0;
+        if(e70) {
             resize = 1;
             while((resize > 0)) {
                 resize = 0;
-                for(int i8 = 0; i8 < ncells; i8++) {
-                    cell_sizes[i8] = 0;
+                for(int i10 = 0; i10 < ncells; i10++) {
+                    cell_sizes[i10] = 0;
                 }
-                const int e511 = nlocal + npbc;
-                for(int i9 = 0; i9 < e511; i9++) {
-                    const int e372 = i9 * 3;
-                    const double p68_0 = position[e372];
-                    const double e374 = p68_0 - grid0_d0_min;
-                    const double e375 = e374 / 2.8;
-                    const int e376 = i9 * 3;
-                    const int e377 = e376 + 1;
-                    const double p69_1 = position[e377];
-                    const double e378 = p69_1 - grid0_d1_min;
-                    const double e379 = e378 / 2.8;
-                    const int e380 = i9 * 3;
-                    const int e381 = e380 + 2;
-                    const double p70_2 = position[e381];
-                    const double e382 = p70_2 - grid0_d2_min;
-                    const double e383 = e382 / 2.8;
-                    const int a39 = dim_cells[1];
-                    const int e384 = (int)(e375) * a39;
-                    const int e385 = e384 + (int)(e379);
-                    const int a40 = dim_cells[2];
-                    const int e386 = e385 * a40;
-                    const int e387 = e386 + (int)(e383);
-                    const bool e388 = e387 >= 0;
-                    const bool e389 = e387 <= ncells;
-                    const bool e390 = e388 && e389;
-                    if(e390) {
-                        const int a41 = cell_sizes[e387];
-                        const bool e391 = a41 >= cell_capacity;
-                        if(e391) {
-                            resize = a41;
+                const int e499 = nlocal + npbc;
+                for(int i11 = 0; i11 < e499; i11++) {
+                    const int e381 = i11 * 3;
+                    const double p66_0 = position[e381];
+                    const double e383 = p66_0 - grid0_d0_min;
+                    const double e384 = e383 / 2.8;
+                    const int e385 = i11 * 3;
+                    const int e386 = e385 + 1;
+                    const double p67_1 = position[e386];
+                    const double e387 = p67_1 - grid0_d1_min;
+                    const double e388 = e387 / 2.8;
+                    const int e389 = i11 * 3;
+                    const int e390 = e389 + 2;
+                    const double p68_2 = position[e390];
+                    const double e391 = p68_2 - grid0_d2_min;
+                    const double e392 = e391 / 2.8;
+                    const int a46 = dim_cells[1];
+                    const int e393 = (int)(e384) * a46;
+                    const int e394 = e393 + (int)(e388);
+                    const int a47 = dim_cells[2];
+                    const int e395 = e394 * a47;
+                    const int e396 = e395 + (int)(e392);
+                    const bool e397 = e396 >= 0;
+                    const bool e398 = e396 <= ncells;
+                    const bool e399 = e397 && e398;
+                    if(e399) {
+                        const int a48 = cell_sizes[e396];
+                        const bool e400 = a48 >= cell_capacity;
+                        if(e400) {
+                            resize = a48;
                         } else {
-                            const int e392 = e387 * cell_capacity;
-                            const int e393 = e392 + a41;
-                            cell_particles[e393] = i9;
-                            particle_cell[i9] = e387;
+                            const int e401 = e396 * cell_capacity;
+                            const int e402 = e401 + a48;
+                            cell_particles[e402] = i11;
+                            particle_cell[i11] = e396;
                         }
-                        const int e394 = a41 + 1;
-                        cell_sizes[e387] = e394;
+                        const int e403 = a48 + 1;
+                        cell_sizes[e396] = e403;
                     }
                 }
-                const bool e395 = resize > 0;
-                if(e395) {
+                const bool e404 = resize > 0;
+                if(e404) {
                     fprintf(stdout, "Resize cell_capacity\n");
                     fflush(stdout);
-                    const int e396 = resize * 2;
-                    cell_capacity = e396;
+                    const int e405 = resize * 2;
+                    cell_capacity = e405;
                     cell_particles = (int *) realloc(cell_particles, (sizeof(int) * (ncells_capacity * cell_capacity)));
                 }
             }
         }
-        const int e458 = i14 % 20;
-        const bool e459 = e458 == 0;
-        if(e459) {
+        const int e71 = i1 % 20;
+        const bool e72 = e71 == 0;
+        if(e72) {
             resize = 1;
             while((resize > 0)) {
                 resize = 0;
-                for(int i10 = 0; i10 < nlocal; i10++) {
-                    numneighs[i10] = 0;
-                    for(int i11 = 0; i11 < nstencil; i11++) {
-                        const int a46 = particle_cell[i10];
-                        const int a47 = stencil[i11];
-                        const int e400 = a46 + a47;
-                        const bool e401 = e400 >= 0;
-                        const bool e402 = e400 <= ncells;
-                        const bool e403 = e401 && e402;
-                        if(e403) {
-                            const int e404 = e400 * cell_capacity;
-                            const int e412 = i10 * 3;
-                            const double p71_0 = position[e412];
-                            const int e421 = i10 * 3;
-                            const int e422 = e421 + 1;
-                            const double p71_1 = position[e422];
-                            const int e431 = i10 * 3;
-                            const int e432 = e431 + 2;
-                            const double p71_2 = position[e432];
-                            const int e439 = i10 * neighborlist_capacity;
-                            const int a48 = cell_sizes[e400];
-                            for(int i12 = 0; i12 < a48; i12++) {
-                                const int e405 = e404 + i12;
-                                const int a49 = cell_particles[e405];
-                                const bool e406 = a49 != i10;
-                                if(e406) {
-                                    const int e414 = a49 * 3;
-                                    const double p72_0 = position[e414];
-                                    const int e423 = a49 * 3;
-                                    const int e424 = e423 + 1;
-                                    const double p72_1 = position[e424];
-                                    const int e433 = a49 * 3;
-                                    const int e434 = e433 + 2;
-                                    const double p72_2 = position[e434];
-                                    const double e407_0 = p71_0 - p72_0;
-                                    const double e407_1 = p71_1 - p72_1;
-                                    const double e407_2 = p71_2 - p72_2;
-                                    const double e416 = e407_0 * e407_0;
-                                    const double e425 = e407_1 * e407_1;
-                                    const double e426 = e416 + e425;
-                                    const double e435 = e407_2 * e407_2;
-                                    const double e436 = e426 + e435;
-                                    const bool e437 = e436 < 2.8;
-                                    if(e437) {
-                                        const int a50 = numneighs[i10];
-                                        const bool e438 = a50 >= neighborlist_capacity;
-                                        if(e438) {
-                                            resize = a50;
+                for(int i12 = 0; i12 < nlocal; i12++) {
+                    numneighs[i12] = 0;
+                }
+                for(int i16 = 0; i16 < nlocal; i16++) {
+                    for(int i17 = 0; i17 < nstencil; i17++) {
+                        const int a58 = particle_cell[i16];
+                        const int a59 = stencil[i17];
+                        const int e457 = a58 + a59;
+                        const bool e458 = e457 >= 0;
+                        const bool e459 = e457 <= ncells;
+                        const bool e460 = e458 && e459;
+                        if(e460) {
+                            const int e461 = e457 * cell_capacity;
+                            const int e469 = i16 * 3;
+                            const double p72_0 = position[e469];
+                            const int e478 = i16 * 3;
+                            const int e479 = e478 + 1;
+                            const double p72_1 = position[e479];
+                            const int e488 = i16 * 3;
+                            const int e489 = e488 + 2;
+                            const double p72_2 = position[e489];
+                            const int e410 = i16 * neighborlist_capacity;
+                            const int a60 = cell_sizes[e457];
+                            for(int i18 = 0; i18 < a60; i18++) {
+                                const int e462 = e461 + i18;
+                                const int a61 = cell_particles[e462];
+                                const bool e463 = a61 != i16;
+                                if(e463) {
+                                    const int e471 = a61 * 3;
+                                    const double p73_0 = position[e471];
+                                    const int e480 = a61 * 3;
+                                    const int e481 = e480 + 1;
+                                    const double p73_1 = position[e481];
+                                    const int e490 = a61 * 3;
+                                    const int e491 = e490 + 2;
+                                    const double p73_2 = position[e491];
+                                    const double e464_0 = p72_0 - p73_0;
+                                    const double e464_1 = p72_1 - p73_1;
+                                    const double e464_2 = p72_2 - p73_2;
+                                    const double e473 = e464_0 * e464_0;
+                                    const double e482 = e464_1 * e464_1;
+                                    const double e483 = e473 + e482;
+                                    const double e492 = e464_2 * e464_2;
+                                    const double e493 = e483 + e492;
+                                    const bool e494 = e493 < 2.8;
+                                    if(e494) {
+                                        const int a53 = numneighs[i16];
+                                        const bool e409 = a53 >= neighborlist_capacity;
+                                        if(e409) {
+                                            resize = a53;
                                         } else {
-                                            const int e440 = e439 + a50;
-                                            neighborlists[e440] = a49;
-                                            const int e441 = a50 + 1;
-                                            numneighs[i10] = e441;
+                                            const int e411 = e410 + a53;
+                                            neighborlists[e411] = a61;
+                                            const int e412 = a53 + 1;
+                                            numneighs[i16] = e412;
                                         }
                                     }
                                 }
@@ -666,150 +667,150 @@ int main() {
                         }
                     }
                 }
-                const bool e442 = resize > 0;
-                if(e442) {
+                const bool e413 = resize > 0;
+                if(e413) {
                     fprintf(stdout, "Resize neighborlist_capacity\n");
                     fflush(stdout);
-                    const int e443 = resize * 2;
-                    neighborlist_capacity = e443;
+                    const int e414 = resize * 2;
+                    neighborlist_capacity = e414;
                     neighborlists = (int *) realloc(neighborlists, (sizeof(int) * (particle_capacity * neighborlist_capacity)));
                 }
             }
         }
-        pairs::copy_to_device(force)
+        //pairs::copy_to_device(force)
         for(int i13 = 0; i13 < nlocal; i13++) {
-            const int e446 = i13 * 3;
-            const double p73_0 = force[e446];
-            const int e448 = i13 * 3;
-            const int e449 = e448 + 1;
-            const double p73_1 = force[e449];
-            const int e450 = i13 * 3;
-            const int e451 = e450 + 2;
-            const double p73_2 = force[e451];
-            force[e446] = 0.0;
-            force[e449] = 0.0;
-            force[e451] = 0.0;
+            const int e417 = i13 * 3;
+            const double p69_0 = force[e417];
+            const int e419 = i13 * 3;
+            const int e420 = e419 + 1;
+            const double p69_1 = force[e420];
+            const int e421 = i13 * 3;
+            const int e422 = e421 + 2;
+            const double p69_2 = force[e422];
+            force[e417] = 0.0;
+            force[e420] = 0.0;
+            force[e422] = 0.0;
         }
-        const int e460 = i14 + 1;
-        for(int i0 = 0; i0 < nlocal; i0++) {
-            const int e1 = i0 * neighborlist_capacity;
-            const int e47 = i0 * 3;
-            const double p0_0 = position[e47];
-            const int e55 = i0 * 3;
-            const int e56 = e55 + 1;
-            const double p0_1 = position[e56];
-            const int e63 = i0 * 3;
-            const int e64 = e63 + 2;
-            const double p0_2 = position[e64];
-            const int e51 = i0 * 3;
-            const int e59 = i0 * 3;
-            const int e60 = e59 + 1;
-            const int e67 = i0 * 3;
-            const int e68 = e67 + 2;
-            const int a6 = numneighs[i0];
-            for(int i1 = 0; i1 < a6; i1++) {
-                const int e2 = e1 + i1;
-                const int a7 = neighborlists[e2];
-                const int e49 = a7 * 3;
-                const double p1_0 = position[e49];
-                const int e57 = a7 * 3;
-                const int e58 = e57 + 1;
-                const double p1_1 = position[e58];
-                const int e65 = a7 * 3;
-                const int e66 = e65 + 2;
-                const double p1_2 = position[e66];
-                const double e3_0 = p0_0 - p1_0;
-                const double e3_1 = p0_1 - p1_1;
-                const double e3_2 = p0_2 - p1_2;
-                const double e12 = e3_0 * e3_0;
-                const double e21 = e3_1 * e3_1;
-                const double e22 = e12 + e21;
-                const double e31 = e3_2 * e3_2;
-                const double e32 = e22 + e31;
-                const bool e33 = e32 < 2.5;
-                if(e33) {
-                    const double e34 = 1.0 / e32;
-                    const double e35 = e34 * e34;
-                    const double e36 = e35 * e34;
-                    const double p2_0 = force[e51];
-                    const double p2_1 = force[e60];
-                    const double p2_2 = force[e68];
-                    const double e40 = e36 - 0.5;
-                    const double e507 = 48.0 * e36;
-                    const double e508 = e507 * e40;
-                    const double e509 = e508 * e34;
-                    const double e43_0 = e3_0 * e509;
-                    const double e43_1 = e3_1 * e509;
-                    const double e43_2 = e3_2 * e509;
-                    const double e44_0 = p2_0 + e43_0;
-                    const double e44_1 = p2_1 + e43_1;
-                    const double e44_2 = p2_2 + e43_2;
-                    force[e51] = e44_0;
-                    force[e60] = e44_1;
-                    force[e68] = e44_2;
+        for(int i14 = 0; i14 < nlocal; i14++) {
+            const int e423 = i14 * neighborlist_capacity;
+            const int e430 = i14 * 3;
+            const double p70_0 = position[e430];
+            const int e439 = i14 * 3;
+            const int e440 = e439 + 1;
+            const double p70_1 = position[e440];
+            const int e449 = i14 * 3;
+            const int e450 = e449 + 2;
+            const double p70_2 = position[e450];
+            const int e14 = i14 * 3;
+            const int e18 = i14 * 3;
+            const int e19 = e18 + 1;
+            const int e22 = i14 * 3;
+            const int e23 = e22 + 2;
+            const int a56 = numneighs[i14];
+            for(int i15 = 0; i15 < a56; i15++) {
+                const int e424 = e423 + i15;
+                const int a57 = neighborlists[e424];
+                const int e432 = a57 * 3;
+                const double p71_0 = position[e432];
+                const int e441 = a57 * 3;
+                const int e442 = e441 + 1;
+                const double p71_1 = position[e442];
+                const int e451 = a57 * 3;
+                const int e452 = e451 + 2;
+                const double p71_2 = position[e452];
+                const double e425_0 = p70_0 - p71_0;
+                const double e425_1 = p70_1 - p71_1;
+                const double e425_2 = p70_2 - p71_2;
+                const double e434 = e425_0 * e425_0;
+                const double e443 = e425_1 * e425_1;
+                const double e444 = e434 + e443;
+                const double e453 = e425_2 * e425_2;
+                const double e454 = e444 + e453;
+                const bool e455 = e454 < 2.5;
+                if(e455) {
+                    const double e1 = 1.0 / e454;
+                    const double e2 = e1 * e1;
+                    const double e3 = e2 * e1;
+                    const double p0_0 = force[e14];
+                    const double p0_1 = force[e19];
+                    const double p0_2 = force[e23];
+                    const double e7 = e3 - 0.5;
+                    const double e495 = 48.0 * e3;
+                    const double e496 = e495 * e7;
+                    const double e497 = e496 * e1;
+                    const double e10_0 = e425_0 * e497;
+                    const double e10_1 = e425_1 * e497;
+                    const double e10_2 = e425_2 * e497;
+                    const double e11_0 = p0_0 + e10_0;
+                    const double e11_1 = p0_1 + e10_1;
+                    const double e11_2 = p0_2 + e10_2;
+                    force[e14] = e11_0;
+                    force[e19] = e11_1;
+                    force[e23] = e11_2;
                 }
             }
         }
-        pairs::copy_to_device(velocity)
-        pairs::copy_to_device(mass)
-        for(int i2 = 0; i2 < nlocal; i2++) {
-            const int e76 = i2 * 3;
-            const double p3_0 = velocity[e76];
-            const int e82 = i2 * 3;
-            const int e83 = e82 + 1;
-            const double p3_1 = velocity[e83];
-            const int e88 = i2 * 3;
-            const int e89 = e88 + 2;
-            const double p3_2 = velocity[e89];
-            const int e74 = i2 * 3;
-            const double p4_0 = force[e74];
-            const int e80 = i2 * 3;
-            const int e81 = e80 + 1;
-            const double p4_1 = force[e81];
-            const int e86 = i2 * 3;
-            const int e87 = e86 + 2;
-            const double p4_2 = force[e87];
-            const double e69_0 = 0.005 * p4_0;
-            const double e69_1 = 0.005 * p4_1;
-            const double e69_2 = 0.005 * p4_2;
-            const double p5 = mass[i2];
-            const double e70_0 = e69_0 / p5;
-            const double e70_1 = e69_1 / p5;
-            const double e70_2 = e69_2 / p5;
-            const double e71_0 = p3_0 + e70_0;
-            const double e71_1 = p3_1 + e70_1;
-            const double e71_2 = p3_2 + e70_2;
-            velocity[e76] = e71_0;
-            velocity[e83] = e71_1;
-            velocity[e89] = e71_2;
-            const int e96 = i2 * 3;
-            const double p6_0 = position[e96];
-            const int e102 = i2 * 3;
-            const int e103 = e102 + 1;
-            const double p6_1 = position[e103];
-            const int e108 = i2 * 3;
-            const int e109 = e108 + 2;
-            const double p6_2 = position[e109];
-            const int e94 = i2 * 3;
-            const double p7_0 = velocity[e94];
-            const int e100 = i2 * 3;
-            const int e101 = e100 + 1;
-            const double p7_1 = velocity[e101];
-            const int e106 = i2 * 3;
-            const int e107 = e106 + 2;
-            const double p7_2 = velocity[e107];
-            const double e90_0 = 0.005 * p7_0;
-            const double e90_1 = 0.005 * p7_1;
-            const double e90_2 = 0.005 * p7_2;
-            const double e91_0 = p6_0 + e90_0;
-            const double e91_1 = p6_1 + e90_1;
-            const double e91_2 = p6_2 + e90_2;
-            position[e96] = e91_0;
-            position[e103] = e91_1;
-            position[e109] = e91_2;
+        //pairs::copy_to_device(velocity)
+        //pairs::copy_to_device(mass)
+        for(int i0 = 0; i0 < nlocal; i0++) {
+            const int e31 = i0 * 3;
+            const double p1_0 = velocity[e31];
+            const int e37 = i0 * 3;
+            const int e38 = e37 + 1;
+            const double p1_1 = velocity[e38];
+            const int e43 = i0 * 3;
+            const int e44 = e43 + 2;
+            const double p1_2 = velocity[e44];
+            const int e29 = i0 * 3;
+            const double p2_0 = force[e29];
+            const int e35 = i0 * 3;
+            const int e36 = e35 + 1;
+            const double p2_1 = force[e36];
+            const int e41 = i0 * 3;
+            const int e42 = e41 + 2;
+            const double p2_2 = force[e42];
+            const double e24_0 = 0.005 * p2_0;
+            const double e24_1 = 0.005 * p2_1;
+            const double e24_2 = 0.005 * p2_2;
+            const double p3 = mass[i0];
+            const double e25_0 = e24_0 / p3;
+            const double e25_1 = e24_1 / p3;
+            const double e25_2 = e24_2 / p3;
+            const double e26_0 = p1_0 + e25_0;
+            const double e26_1 = p1_1 + e25_1;
+            const double e26_2 = p1_2 + e25_2;
+            velocity[e31] = e26_0;
+            velocity[e38] = e26_1;
+            velocity[e44] = e26_2;
+            const int e51 = i0 * 3;
+            const double p4_0 = position[e51];
+            const int e57 = i0 * 3;
+            const int e58 = e57 + 1;
+            const double p4_1 = position[e58];
+            const int e63 = i0 * 3;
+            const int e64 = e63 + 2;
+            const double p4_2 = position[e64];
+            const int e49 = i0 * 3;
+            const double p5_0 = velocity[e49];
+            const int e55 = i0 * 3;
+            const int e56 = e55 + 1;
+            const double p5_1 = velocity[e56];
+            const int e61 = i0 * 3;
+            const int e62 = e61 + 2;
+            const double p5_2 = velocity[e62];
+            const double e45_0 = 0.005 * p5_0;
+            const double e45_1 = 0.005 * p5_1;
+            const double e45_2 = 0.005 * p5_2;
+            const double e46_0 = p4_0 + e45_0;
+            const double e46_1 = p4_1 + e45_1;
+            const double e46_2 = p4_2 + e45_2;
+            position[e51] = e46_0;
+            position[e58] = e46_1;
+            position[e64] = e46_2;
         }
-        const int e461 = nlocal + npbc;
-        pairs::vtk_write_data(ps, "output/test_local", 0, nlocal, e460);
-        pairs::vtk_write_data(ps, "output/test_pbc", nlocal, e461, e460);
+        const int e73 = i1 + 1;
+        const int e456 = nlocal + npbc;
+        pairs::vtk_write_data(ps, "output/test_local", 0, nlocal, e73);
+        pairs::vtk_write_data(ps, "output/test_pbc", nlocal, e456, e73);
     }
 }
diff --git a/src/pairs/coupling/parse_cpp.py b/src/pairs/coupling/parse_cpp.py
index 8c94702..1659115 100644
--- a/src/pairs/coupling/parse_cpp.py
+++ b/src/pairs/coupling/parse_cpp.py
@@ -5,6 +5,7 @@ from pairs.ast.branches import Branch
 from pairs.ast.data_types import Type_Float, Type_Vector
 from pairs.ast.math import Sqrt
 from pairs.ast.select import Select
+from pairs.sim.interaction import ParticleInteraction
 
 
 def print_tree(node, indent=0):
@@ -76,7 +77,7 @@ def getVelocityAtWFPoint(sim, params):
     wf_pt = params[2]
     lin_vel = sim.property('velocity')
     ang_vel = sim.property('angular_velocity')
-    position = sim.property('position')
+    position = sim.position()
     return lin_vel[p_idx] + ang_vel[p_idx] * (wf_pt - position[p_idx])
 
 
@@ -87,7 +88,7 @@ def addForceAtWFPosAtomic(sim, params):
     wf_pt = params[3]
     force = sim.property('force')
     torque = sim.property('torque')
-    position = sim.property('position')
+    position = sim.position()
     force[p_idx].add(f)
     torque[p_idx].add((wf_pt - position[p_idx]) * f)
 
@@ -150,7 +151,9 @@ def map_kernel_to_simulation(sim, node):
     contactNormal = sim.add_var('contactNormal', Type_Vector)
     penetrationDepth = sim.add_var('penetrationDepth', Type_Float)
 
-    for i, j in sim.particle_pairs():
+    self.clear_block()
+    pairs = ParticleInteraction(sim, 2)
+    for i, j in pairs:
         return map_method_tree(sim, node, {
             'element_mappings': {
                 'p_idx1': i,
@@ -173,6 +176,8 @@ def map_kernel_to_simulation(sim, node):
             }
         })
 
+    self.build_kernel_block_with_statements()
+
 
 def map_method_tree(sim, node, assignments={}, mappings={}):
     if node is not None:
diff --git a/src/pairs/ir/branches.py b/src/pairs/ir/branches.py
index 93962ad..75bbfe7 100644
--- a/src/pairs/ir/branches.py
+++ b/src/pairs/ir/branches.py
@@ -38,8 +38,8 @@ class Branch(ASTNode):
 
 
 class Filter(Branch):
-    def __init__(self, sim, cond):
-        super().__init__(sim, cond, True)
+    def __init__(self, sim, cond, block=None):
+        super().__init__(sim, cond, True, block)
 
     def __iter__(self):
         self.sim.add_statement(self)
diff --git a/src/pairs/ir/loops.py b/src/pairs/ir/loops.py
index 40d73d2..9f18739 100644
--- a/src/pairs/ir/loops.py
+++ b/src/pairs/ir/loops.py
@@ -99,29 +99,3 @@ class While(ASTNode):
 
     def children(self):
         return [self.cond, self.block]
-
-
-class NeighborFor():
-    def __init__(self, sim, particle, cell_lists, neighbor_lists=None):
-        self.sim = sim
-        self.particle = particle
-        self.cell_lists = cell_lists
-        self.neighbor_lists = neighbor_lists
-
-    def __str__(self):
-        return f"NeighborFor<particle: {self.particle}>"
-
-    def __iter__(self):
-        if self.neighbor_lists is None:
-            cl = self.cell_lists
-            for s in For(self.sim, 0, cl.nstencil):
-                neigh_cell = cl.particle_cell[self.particle] + cl.stencil[s]
-                for _ in Filter(self.sim, BinOp.and_op(neigh_cell >= 0, neigh_cell <= cl.ncells)):
-                    for nc in For(self.sim, 0, cl.cell_sizes[neigh_cell]):
-                        it = cl.cell_particles[neigh_cell][nc]
-                        for _ in Filter(self.sim, BinOp.neq(it, self.particle)):
-                                yield it
-        else:
-            neighbor_lists = self.neighbor_lists
-            for k in For(self.sim, 0, neighbor_lists.numneighs[self.particle]):
-                yield neighbor_lists.neighborlists[self.particle][k]
diff --git a/src/pairs/ir/symbols.py b/src/pairs/ir/symbols.py
new file mode 100644
index 0000000..08ee01d
--- /dev/null
+++ b/src/pairs/ir/symbols.py
@@ -0,0 +1,19 @@
+from pairs.ir.ast_node import ASTNode
+from pairs.ir.assign import Assign
+from pairs.ir.bin_op import ASTTerm 
+
+
+class Symbol(ASTTerm):
+    def __init__(self, sim, sym_type):
+        super().__init__(sim)
+        self.sym_type = sym_type
+        self.assign_to = None
+
+    def __str__(self):
+        return f"Symbol<type: {self.var_type}>"
+
+    def assign(self, node):
+        self.assign_to = node
+
+    def type(self):
+        return self.sym_type
diff --git a/src/pairs/ir/variables.py b/src/pairs/ir/variables.py
index 9f456e8..102dc2d 100644
--- a/src/pairs/ir/variables.py
+++ b/src/pairs/ir/variables.py
@@ -24,6 +24,7 @@ class Variables:
 
         return None
 
+
 class Var(ASTTerm):
     def __init__(self, sim, var_name, var_type, init_value=0):
         super().__init__(sim)
diff --git a/src/pairs/mapping/funcs.py b/src/pairs/mapping/funcs.py
index 7b47ec6..57bb43c 100644
--- a/src/pairs/mapping/funcs.py
+++ b/src/pairs/mapping/funcs.py
@@ -2,6 +2,8 @@ import ast
 import inspect
 from pairs.ir.assign import Assign
 from pairs.ir.bin_op import BinOp
+from pairs.ir.loops import ParticleFor
+from pairs.sim.interaction import ParticleInteraction
 
 
 class UndefinedSymbol():
@@ -119,7 +121,7 @@ class BuildParticleIR(ast.NodeVisitor):
         return self.visit(node.value)[self.visit(node.slice)]
 
 
-def compute(sim, func, cutoff_radius=None, position=None, symbols={}):
+def compute(sim, func, cutoff_radius=None, symbols={}):
     src = inspect.getsource(func)
     tree = ast.parse(src, mode='exec')
     #print(ast.dump(ast.parse(src, mode='exec')))
@@ -132,16 +134,18 @@ def compute(sim, func, cutoff_radius=None, position=None, symbols={}):
 
     # Start building IR
     ir = BuildParticleIR(sim, symbols)
+    assert nparams > 0, "Number of parameters from compute functions must be higher than zero!"
 
+    sim.clear_block()
     if nparams == 1:
-        for i in sim.particles():
+        for i in ParticleFor(sim):
             ir.add_symbols({params[0]: i})
             ir.visit(tree)
 
-    elif nparams == 2:
-        for i, j, delta, rsq in sim.particle_pairs(cutoff_radius, sim.property(position)):
-            ir.add_symbols({params[0]: i, params[1]: j, 'delta': delta, 'rsq': rsq})
+    else:
+        pairs = ParticleInteraction(sim, nparams, cutoff_radius)
+        for i, j in pairs:
+            ir.add_symbols({params[0]: i, params[1]: j, 'delta': pairs.delta(), 'rsq': pairs.squared_distance()})
             ir.visit(tree)
 
-    else:
-        raise Exception(f"Invalid number of parameters: {nparams}")
+    sim.build_kernel_block_with_statements()
diff --git a/src/pairs/sim/cell_lists.py b/src/pairs/sim/cell_lists.py
index 1a36a04..df6f2dc 100644
--- a/src/pairs/sim/cell_lists.py
+++ b/src/pairs/sim/cell_lists.py
@@ -74,7 +74,7 @@ class CellListsBuild(Lowerable):
         sim = self.sim
         cl = self.cell_lists
         grid = sim.grid
-        positions = sim.property('position')
+        positions = sim.position()
 
         for resize in Resize(sim, cl.cell_capacity):
             for c in For(sim, 0, cl.ncells):
diff --git a/src/pairs/sim/interaction.py b/src/pairs/sim/interaction.py
new file mode 100644
index 0000000..9658ee7
--- /dev/null
+++ b/src/pairs/sim/interaction.py
@@ -0,0 +1,81 @@
+from pairs.ir.bin_op import BinOp
+from pairs.ir.block import Block, pairs_block
+from pairs.ir.branches import Branch, Filter
+from pairs.ir.data_types import Type_Int, Type_Float, Type_Vector
+from pairs.ir.loops import For, ParticleFor
+from pairs.ir.utils import Print
+from pairs.sim.lowerable import Lowerable
+from pairs.sim.resize import Resize
+
+
+class NeighborFor():
+    def __init__(self, sim, particle, cell_lists, neighbor_lists=None):
+        self.sim = sim
+        self.particle = particle
+        self.cell_lists = cell_lists
+        self.neighbor_lists = neighbor_lists
+
+    def __str__(self):
+        return f"NeighborFor<particle: {self.particle}>"
+
+    def __iter__(self):
+        if self.neighbor_lists is None:
+            cl = self.cell_lists
+            for s in For(self.sim, 0, cl.nstencil):
+                neigh_cell = cl.particle_cell[self.particle] + cl.stencil[s]
+                for _ in Filter(self.sim, BinOp.and_op(neigh_cell >= 0, neigh_cell <= cl.ncells)):
+                    for nc in For(self.sim, 0, cl.cell_sizes[neigh_cell]):
+                        it = cl.cell_particles[neigh_cell][nc]
+                        for _ in Filter(self.sim, BinOp.neq(it, self.particle)):
+                                yield it
+        else:
+            neighbor_lists = self.neighbor_lists
+            for k in For(self.sim, 0, neighbor_lists.numneighs[self.particle]):
+                yield neighbor_lists.neighborlists[self.particle][k]
+
+
+class ParticleInteraction(Lowerable):
+    def __init__(self, sim, nbody, cutoff_radius, block=None, bypass_neighbor_lists=False):
+        super().__init__(sim)
+        self.nbody = nbody
+        self.cutoff_radius = cutoff_radius
+        self.bypass_neighbor_lists = bypass_neighbor_lists
+        self.i = sim.add_symbol(Type_Int)
+        self.j = sim.add_symbol(Type_Int)
+        self.dp = sim.add_symbol(Type_Vector)
+        self.rsq = sim.add_symbol(Type_Float)
+        self.block = Block(sim, []) if block is None else block
+
+    def delta(self):
+        return self.dp
+
+    def squared_distance(self):
+        return self.rsq
+
+    def add_statement(self, stmt):
+        self.block.add_statement(stmt)
+
+    def __iter__(self):
+        self.sim.add_statement(self)
+        self.sim.enter_scope(self)
+        yield self.i, self.j
+        self.sim.leave_scope()
+
+    @pairs_block
+    def lower(self):
+        if self.nbody == 2:
+            position = self.sim.position()
+            cell_lists = self.sim.cell_lists
+            neighbor_lists = None if self.bypass_neighbor_lists else self.sim.neighbor_lists
+            for i in ParticleFor(self.sim):
+                self.i.assign(i)
+                for j in NeighborFor(self.sim, i, cell_lists, neighbor_lists):
+                    dp = position[i] - position[j]
+                    rsq = dp.x() * dp.x() + dp.y() * dp.y() + dp.z() * dp.z()
+                    self.j.assign(j)
+                    self.dp.assign(dp)
+                    self.rsq.assign(rsq)
+                    self.sim.add_statement(Filter(self.sim, rsq < self.cutoff_radius, self.block))
+
+        else:
+            raise Exception("Interactions among more than two particles is currently not implemented!")
diff --git a/src/pairs/sim/neighbor_lists.py b/src/pairs/sim/neighbor_lists.py
index 798a243..d55a112 100644
--- a/src/pairs/sim/neighbor_lists.py
+++ b/src/pairs/sim/neighbor_lists.py
@@ -1,8 +1,9 @@
 from pairs.ir.block import pairs_device_block
 from pairs.ir.branches import Branch, Filter
 from pairs.ir.data_types import Type_Int
-from pairs.ir.loops import For, ParticleFor, NeighborFor
+from pairs.ir.loops import ParticleFor
 from pairs.ir.utils import Print
+from pairs.sim.interaction import ParticleInteraction
 from pairs.sim.lowerable import Lowerable
 from pairs.sim.resize import Resize
 
@@ -27,20 +28,18 @@ class NeighborListsBuild(Lowerable):
         neighbor_lists = self.neighbor_lists
         cell_lists = neighbor_lists.cell_lists
         cutoff_radius = cell_lists.cutoff_radius
-        position = sim.property('position')
+        position = sim.position()
 
         for resize in Resize(sim, neighbor_lists.capacity):
             for i in ParticleFor(sim):
                 neighbor_lists.numneighs[i].set(0)
-                for j in NeighborFor(sim, i, cell_lists):
-                    # TODO: find a way to not repeat this (already present in particle_pairs)
-                    dp = position[i] - position[j]
-                    rsq = dp.x() * dp.x() + dp.y() * dp.y() + dp.z() * dp.z()
-                    for _ in Filter(sim, rsq < cutoff_radius):
-                        numneighs = neighbor_lists.numneighs[i]
-                        for cond in Branch(sim, numneighs >= neighbor_lists.capacity):
-                            if cond:
-                                resize.set(numneighs)
-                            else:
-                                neighbor_lists.neighborlists[i][numneighs].set(j)
-                                neighbor_lists.numneighs[i].set(numneighs + 1)
+
+            pairs = ParticleInteraction(sim, 2, cutoff_radius, bypass_neighbor_lists=True)
+            for i, j in pairs:
+                numneighs = neighbor_lists.numneighs[i]
+                for cond in Branch(sim, numneighs >= neighbor_lists.capacity):
+                    if cond:
+                        resize.set(numneighs)
+                    else:
+                        neighbor_lists.neighborlists[i][numneighs].set(j)
+                        neighbor_lists.numneighs[i].set(numneighs + 1)
diff --git a/src/pairs/sim/pbc.py b/src/pairs/sim/pbc.py
index 1a5d480..87b8aad 100644
--- a/src/pairs/sim/pbc.py
+++ b/src/pairs/sim/pbc.py
@@ -33,7 +33,7 @@ class UpdatePBC(Lowerable):
         npbc = self.pbc.npbc
         pbc_map = self.pbc.pbc_map
         pbc_mult = self.pbc.pbc_mult
-        positions = self.pbc.sim.property('position')
+        positions = self.pbc.sim.position()
         nlocal = self.pbc.sim.nlocal
 
         for i in For(sim, 0, npbc):
@@ -53,7 +53,7 @@ class EnforcePBC(Lowerable):
         sim = self.sim
         ndims = sim.ndims()
         grid = self.pbc.grid
-        positions = sim.property('position')
+        positions = sim.position()
 
         for i in ParticleFor(sim):
             # TODO: VecFilter?
@@ -80,7 +80,7 @@ class SetupPBC(Lowerable):
         pbc_capacity = self.pbc.pbc_capacity
         pbc_map = self.pbc.pbc_map
         pbc_mult = self.pbc.pbc_mult
-        positions = self.pbc.sim.property('position')
+        positions = self.pbc.sim.position()
         nlocal = self.pbc.sim.nlocal
 
         for resize in Resize(sim, pbc_capacity):
diff --git a/src/pairs/sim/simulation.py b/src/pairs/sim/simulation.py
index f8c3461..db46e6a 100644
--- a/src/pairs/sim/simulation.py
+++ b/src/pairs/sim/simulation.py
@@ -3,8 +3,8 @@ from pairs.ir.block import Block, KernelBlock
 from pairs.ir.branches import Filter
 from pairs.ir.data_types import Type_Int, Type_Float, Type_Vector
 from pairs.ir.layouts import Layout_AoS
-from pairs.ir.loops import ParticleFor, NeighborFor
 from pairs.ir.properties import Properties
+from pairs.ir.symbols import Symbol
 from pairs.ir.variables import Variables
 from pairs.graph.graphviz import ASTGraph
 from pairs.mapping.funcs import compute
@@ -26,6 +26,7 @@ from pairs.transformations.simplify import simplify_expressions
 from pairs.transformations.LICM import move_loop_invariant_code
 from pairs.transformations.lower import lower_everything
 from pairs.transformations.merge_adjacent_blocks import merge_adjacent_blocks
+from pairs.transformations.replace_symbols import replace_symbols
 
 
 class Simulation:
@@ -33,6 +34,7 @@ class Simulation:
         self.code_gen = code_gen
         self.code_gen.assign_simulation(self)
         self.global_scope = None
+        self.position_prop = None
         self.properties = Properties(self)
         self.vars = Variables(self)
         self.arrays = Arrays(self)
@@ -54,6 +56,7 @@ class Simulation:
         self.ntimesteps = timesteps
         self.expr_id = 0
         self.iter_id = 0
+        self.temp_id = 1000
         self.vtk_file = None
         self.nparticles = self.nlocal + self.nghost
         self.properties.add_capacity(self.particle_capacity)
@@ -65,6 +68,11 @@ class Simulation:
         assert self.property(prop_name) is None, f"Property already defined: {prop_name}"
         return self.properties.add(prop_name, Type_Float, value, vol)
 
+    def add_position(self, prop_name, value=[0.0, 0.0, 0.0], vol=False, layout=Layout_AoS):
+        assert self.property(prop_name) is None, f"Property already defined: {prop_name}"
+        self.position_prop = self.properties.add(prop_name, Type_Vector, value, vol, layout)
+        return self.position_prop
+
     def add_vector_property(self, prop_name, value=[0.0, 0.0, 0.0], vol=False, layout=Layout_AoS):
         assert self.property(prop_name) is None, f"Property already defined: {prop_name}"
         return self.properties.add(prop_name, Type_Vector, value, vol, layout)
@@ -72,6 +80,9 @@ class Simulation:
     def property(self, prop_name):
         return self.properties.find(prop_name)
 
+    def position(self):
+        return self.position_prop
+
     def add_array(self, arr_name, arr_sizes, arr_type, arr_layout=Layout_AoS):
         assert self.array(arr_name) is None, f"Array already defined: {arr_name}"
         return self.arrays.add(arr_name, arr_sizes, arr_type, arr_layout)
@@ -95,6 +106,15 @@ class Simulation:
 
         return self.vars.add(var_name, var_type, init_value)
 
+    def add_symbol(self, sym_type):
+        return Symbol(self, sym_type)
+
+    def add_temporary_vector(self):
+        return self.vars.add(f"tmp{self.temp_id}", Type_Vector)
+
+    def add_temporary_real(self):
+        return self.vars.add(f"tmp{self.temp_id}", Type_Float)
+
     def var(self, var_name):
         return self.vars.find(var_name)
 
@@ -107,7 +127,7 @@ class Simulation:
         return self.grid
 
     def create_particle_lattice(self, grid, spacing, props={}):
-        positions = self.property('position')
+        positions = self.position()
         lattice = ParticleLattice(self, grid, spacing, props, positions)
         self.setups.add_statement(lattice)
 
@@ -130,34 +150,15 @@ class Simulation:
         self.properties.add_capacity(self.pbc.pbc_capacity)
         return self.pbc
 
-    def compute(self, sim, func, cutoff_radius=None, position=None, symbols={}):
-        return compute(sim, func, cutoff_radius, position, symbols)
-
-    def particle_pairs(self, cutoff_radius=None, position=None):
-        self.clear_block()
-        for i in ParticleFor(self):
-            for j in NeighborFor(self, i, self.cell_lists, self.neighbor_lists):
-                if cutoff_radius is not None and position is not None:
-                    dp = position[i] - position[j]
-                    rsq = dp.x() * dp.x() + dp.y() * dp.y() + dp.z() * dp.z()
-                    for _ in Filter(self, rsq < cutoff_radius):
-                        yield i, j, dp, rsq
-
-                else:
-                    yield i, j
-
-        self.kernels.add_statement(KernelBlock(self, self.block))
-
-    def particles(self):
-        self.clear_block()
-        for i in ParticleFor(self):
-            yield i
-
-        self.kernels.add_statement(KernelBlock(self, self.block))
+    def compute(self, func, cutoff_radius=None, symbols={}):
+        return compute(self, func, cutoff_radius, symbols)
 
     def clear_block(self):
         self.block = Block(self, [])
 
+    def build_kernel_block_with_statements(self):
+        self.kernels.add_statement(KernelBlock(self, self.block))
+
     def add_statement(self, stmt):
         if not self.scope:
             self.block.add_statement(stmt)
@@ -216,6 +217,7 @@ class Simulation:
 
         # Transformations
         lower_everything(program)
+        replace_symbols(program)
         merge_adjacent_blocks(program)
         prioritize_scalar_ops(program)
         simplify_expressions(program)
diff --git a/src/pairs/transformations/replace_symbols.py b/src/pairs/transformations/replace_symbols.py
new file mode 100644
index 0000000..a23a5a2
--- /dev/null
+++ b/src/pairs/transformations/replace_symbols.py
@@ -0,0 +1,14 @@
+from pairs.ir.mutator import Mutator
+
+
+class ReplaceSymbols(Mutator):
+    def __init__(self, ast):
+        super().__init__(ast)
+
+    def mutate_Symbol(self, ast_node):
+        return ast_node.assign_to
+
+
+def replace_symbols(ast):
+    replace = ReplaceSymbols(ast)
+    replace.mutate()
-- 
GitLab