pg_upgrade --copy-file-range

Started by Thomas Munroover 2 years ago46 messages
#1Thomas Munro
thomas.munro@gmail.com
1 attachment(s)

Hello,

I was just in a pg_upgrade unconference session at PGCon where the
lack of $SUBJECT came up. This system call gives the kernel the
option to use fast block cloning on XFS, ZFS (as of very recently),
etc, and works on Linux and FreeBSD. It's probably much the same as
--clone mode on COW file systems, except that is Linux-only. On
overwrite file systems (ie not copy-on-write, like ext4), it may also
be able to push copies down to storage hardware/network file systems.

There was something like this in the nearby large files patch set, but
in that version it just magically did it when available in --copy
mode. Now I think the user should have to have to opt in with
--copy-file-range, and simply to error out if it fails. It may not
work in some cases -- for example, the man page says that older Linux
systems can fail with EXDEV when you try to copy across file systems,
while newer systems will do something less efficient but still
sensible internally; also I saw a claim that some older versions had
weird bugs. Better to just expose the raw functionality and let users
say when they want it and read the error if it fail, I think.

Attachments:

0001-Add-copy-file-range-option-to-pg_upgrade.patchtext/x-patch; charset=US-ASCII; name=0001-Add-copy-file-range-option-to-pg_upgrade.patchDownload
From 571e68a2948c5bff9fa1d66f382c859fc6606829 Mon Sep 17 00:00:00 2001
From: Thomas Munro <thomas.munro@gmail.com>
Date: Fri, 2 Jun 2023 13:35:54 -0400
Subject: [PATCH] Add --copy-file-range option to pg_upgrade.

The copy_file_range() system call is available on at least Linux and
FreeBSD, and asks the kernel to use efficient ways to copy ranges of a
file.  Options available to the kernel include sharing block ranges
(similar to --clone mode), and pushing down block copies to the storage
layer.
---
 configure                          |  2 +-
 configure.ac                       |  1 +
 doc/src/sgml/ref/pgupgrade.sgml    | 13 +++++++++
 meson.build                        |  1 +
 src/bin/pg_upgrade/check.c         |  1 +
 src/bin/pg_upgrade/file.c          | 43 ++++++++++++++++++++++++++++++
 src/bin/pg_upgrade/option.c        | 10 +++++++
 src/bin/pg_upgrade/pg_upgrade.h    |  3 +++
 src/bin/pg_upgrade/relfilenumber.c |  8 ++++++
 src/include/pg_config.h.in         |  3 +++
 src/tools/msvc/Solution.pm         |  1 +
 11 files changed, 85 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index 1b415142d1..a620e049fa 100755
--- a/configure
+++ b/configure
@@ -15700,7 +15700,7 @@ fi
 LIBS_including_readline="$LIBS"
 LIBS=`echo "$LIBS" | sed -e 's/-ledit//g' -e 's/-lreadline//g'`
 
-for ac_func in backtrace_symbols copyfile getifaddrs getpeerucred inet_pton kqueue mbstowcs_l memset_s posix_fallocate ppoll pthread_is_threaded_np setproctitle setproctitle_fast strchrnul strsignal syncfs sync_file_range uselocale wcstombs_l
+for ac_func in backtrace_symbols copyfile copy_file_range getifaddrs getpeerucred inet_pton kqueue mbstowcs_l memset_s posix_fallocate ppoll pthread_is_threaded_np setproctitle setproctitle_fast strchrnul strsignal syncfs sync_file_range uselocale wcstombs_l
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
diff --git a/configure.ac b/configure.ac
index 09558ada0f..69b9256037 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1794,6 +1794,7 @@ LIBS=`echo "$LIBS" | sed -e 's/-ledit//g' -e 's/-lreadline//g'`
 AC_CHECK_FUNCS(m4_normalize([
 	backtrace_symbols
 	copyfile
+	copy_file_range
 	getifaddrs
 	getpeerucred
 	inet_pton
diff --git a/doc/src/sgml/ref/pgupgrade.sgml b/doc/src/sgml/ref/pgupgrade.sgml
index 7816b4c685..9180513307 100644
--- a/doc/src/sgml/ref/pgupgrade.sgml
+++ b/doc/src/sgml/ref/pgupgrade.sgml
@@ -240,6 +240,19 @@ PostgreSQL documentation
       </listitem>
      </varlistentry>
 
+     <varlistentry>
+      <term><option>--copy-file-range</option></term>
+      <listitem>
+       <para>
+        Use the <function>copy_file_range</function> system call for efficient
+        copying.  On some file systems this gives results similar to
+        <option>--clone</option>, sharing physical disk blocks, while on others
+        it may still copy blocks, but do so via an optimized path.  At present,
+        it is supported on Linux and FreeBSD.
+       </para>
+      </listitem>
+     </varlistentry>
+
      <varlistentry>
       <term><option>-?</option></term>
       <term><option>--help</option></term>
diff --git a/meson.build b/meson.build
index 16b2e86646..322d8f822d 100644
--- a/meson.build
+++ b/meson.build
@@ -2404,6 +2404,7 @@ func_checks = [
   ['backtrace_symbols', {'dependencies': [execinfo_dep]}],
   ['clock_gettime', {'dependencies': [rt_dep, posix4_dep], 'define': false}],
   ['copyfile'],
+  ['copy_file_range'],
   # gcc/clang's sanitizer helper library provides dlopen but not dlsym, thus
   # when enabling asan the dlopen check doesn't notice that -ldl is actually
   # required. Just checking for dlsym() ought to suffice.
diff --git a/src/bin/pg_upgrade/check.c b/src/bin/pg_upgrade/check.c
index 64024e3b9e..8c4e56a568 100644
--- a/src/bin/pg_upgrade/check.c
+++ b/src/bin/pg_upgrade/check.c
@@ -199,6 +199,7 @@ check_new_cluster(void)
 			check_file_clone();
 			break;
 		case TRANSFER_MODE_COPY:
+		case TRANSFER_MODE_COPY_FILE_RANGE:
 			break;
 		case TRANSFER_MODE_LINK:
 			check_hard_link();
diff --git a/src/bin/pg_upgrade/file.c b/src/bin/pg_upgrade/file.c
index d173602882..d8f123bba6 100644
--- a/src/bin/pg_upgrade/file.c
+++ b/src/bin/pg_upgrade/file.c
@@ -10,6 +10,7 @@
 #include "postgres_fe.h"
 
 #include <sys/stat.h>
+#include <limits.h>
 #include <fcntl.h>
 #ifdef HAVE_COPYFILE_H
 #include <copyfile.h>
@@ -140,6 +141,48 @@ copyFile(const char *src, const char *dst,
 }
 
 
+/*
+ * copyFileByRange()
+ *
+ * Copies a relation file from src to dst.
+ * schemaName/relName are relation's SQL name (used for error messages only).
+ */
+void
+copyFileByRange(const char *src, const char *dst,
+				const char *schemaName, const char *relName)
+{
+#ifdef HAVE_COPY_FILE_RANGE
+	int			src_fd;
+	int			dest_fd;
+	ssize_t		nbytes;
+
+	if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+		pg_fatal("error while copying relation \"%s.%s\": could not open file \"%s\": %s",
+				 schemaName, relName, src, strerror(errno));
+
+	if ((dest_fd = open(dst, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+						pg_file_create_mode)) < 0)
+		pg_fatal("error while copying relation \"%s.%s\": could not create file \"%s\": %s",
+				 schemaName, relName, dst, strerror(errno));
+
+	for (;;)
+	{
+		nbytes = copy_file_range(src_fd, NULL, dest_fd, NULL, SSIZE_MAX, 0);
+		if (nbytes < 0 && errno != EINTR)
+			pg_fatal("error while copying relation \"%s.%s\": could not copy file range from \"%s\" to \"%s\": %s",
+					 schemaName, relName, src, dst, strerror(errno));
+		if (nbytes == 0)
+			break;
+	}
+
+	close(src_fd);
+	close(dest_fd);
+#else
+	pg_fatal("copy_file_range not supported on this platform");
+#endif
+}
+
+
 /*
  * linkFile()
  *
diff --git a/src/bin/pg_upgrade/option.c b/src/bin/pg_upgrade/option.c
index 640361009e..0734508a2b 100644
--- a/src/bin/pg_upgrade/option.c
+++ b/src/bin/pg_upgrade/option.c
@@ -57,6 +57,7 @@ parseCommandLine(int argc, char *argv[])
 		{"verbose", no_argument, NULL, 'v'},
 		{"clone", no_argument, NULL, 1},
 		{"copy", no_argument, NULL, 2},
+		{"copy-file-range", no_argument, NULL, 3},
 
 		{NULL, 0, NULL, 0}
 	};
@@ -199,6 +200,14 @@ parseCommandLine(int argc, char *argv[])
 				user_opts.transfer_mode = TRANSFER_MODE_COPY;
 				break;
 
+			case 3:
+#ifdef HAVE_COPY_FILE_RANGE
+				user_opts.transfer_mode = TRANSFER_MODE_COPY_FILE_RANGE;
+#else
+				pg_fatal("copy_file_range not available on this platform");
+#endif
+				break;
+
 			default:
 				fprintf(stderr, _("Try \"%s --help\" for more information.\n"),
 						os_info.progname);
@@ -289,6 +298,7 @@ usage(void)
 	printf(_("  -V, --version                 display version information, then exit\n"));
 	printf(_("  --clone                       clone instead of copying files to new cluster\n"));
 	printf(_("  --copy                        copy files to new cluster (default)\n"));
+	printf(_("  --copy-file-range             copy files to new cluster with copy_file_range\n"));
 	printf(_("  -?, --help                    show this help, then exit\n"));
 	printf(_("\n"
 			 "Before running pg_upgrade you must:\n"
diff --git a/src/bin/pg_upgrade/pg_upgrade.h b/src/bin/pg_upgrade/pg_upgrade.h
index 3eea0139c7..a4cb14a49f 100644
--- a/src/bin/pg_upgrade/pg_upgrade.h
+++ b/src/bin/pg_upgrade/pg_upgrade.h
@@ -234,6 +234,7 @@ typedef enum
 {
 	TRANSFER_MODE_CLONE,
 	TRANSFER_MODE_COPY,
+	TRANSFER_MODE_COPY_FILE_RANGE,
 	TRANSFER_MODE_LINK
 } transferMode;
 
@@ -379,6 +380,8 @@ void		cloneFile(const char *src, const char *dst,
 					  const char *schemaName, const char *relName);
 void		copyFile(const char *src, const char *dst,
 					 const char *schemaName, const char *relName);
+void		copyFileByRange(const char *src, const char *dst,
+							const char *schemaName, const char *relName);
 void		linkFile(const char *src, const char *dst,
 					 const char *schemaName, const char *relName);
 void		rewriteVisibilityMap(const char *fromfile, const char *tofile,
diff --git a/src/bin/pg_upgrade/relfilenumber.c b/src/bin/pg_upgrade/relfilenumber.c
index 34bc9c1504..094a4db936 100644
--- a/src/bin/pg_upgrade/relfilenumber.c
+++ b/src/bin/pg_upgrade/relfilenumber.c
@@ -37,6 +37,9 @@ transfer_all_new_tablespaces(DbInfoArr *old_db_arr, DbInfoArr *new_db_arr,
 		case TRANSFER_MODE_COPY:
 			prep_status_progress("Copying user relation files");
 			break;
+		case TRANSFER_MODE_COPY_FILE_RANGE:
+			prep_status_progress("Copying user relation files with copy_file_range");
+			break;
 		case TRANSFER_MODE_LINK:
 			prep_status_progress("Linking user relation files");
 			break;
@@ -250,6 +253,11 @@ transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_fro
 						   old_file, new_file);
 					copyFile(old_file, new_file, map->nspname, map->relname);
 					break;
+				case TRANSFER_MODE_COPY_FILE_RANGE:
+					pg_log(PG_VERBOSE, "copying \"%s\" to \"%s\" with copy_file_range",
+						   old_file, new_file);
+					copyFileByRange(old_file, new_file, map->nspname, map->relname);
+					break;
 				case TRANSFER_MODE_LINK:
 					pg_log(PG_VERBOSE, "linking \"%s\" to \"%s\"",
 						   old_file, new_file);
diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
index 6d572c3820..0b26836f68 100644
--- a/src/include/pg_config.h.in
+++ b/src/include/pg_config.h.in
@@ -85,6 +85,9 @@
 /* Define to 1 if you have the <copyfile.h> header file. */
 #undef HAVE_COPYFILE_H
 
+/* Define to 1 if you have the `copy_file_range' function. */
+#undef HAVE_COPY_FILE_RANGE
+
 /* Define to 1 if you have the <crtdefs.h> header file. */
 #undef HAVE_CRTDEFS_H
 
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
index b6d31c3583..733376a87e 100644
--- a/src/tools/msvc/Solution.pm
+++ b/src/tools/msvc/Solution.pm
@@ -230,6 +230,7 @@ sub GenerateFiles
 		HAVE_COMPUTED_GOTO => undef,
 		HAVE_COPYFILE => undef,
 		HAVE_COPYFILE_H => undef,
+		HAVE_COPY_FILE_RANGE => undef,
 		HAVE_CRTDEFS_H => undef,
 		HAVE_CRYPTO_LOCK => undef,
 		HAVE_DECL_FDATASYNC => 0,
-- 
2.39.2

#2Peter Eisentraut
peter@eisentraut.org
In reply to: Thomas Munro (#1)
Re: pg_upgrade --copy-file-range

On 02.06.23 21:30, Thomas Munro wrote:

I was just in a pg_upgrade unconference session at PGCon where the
lack of $SUBJECT came up. This system call gives the kernel the
option to use fast block cloning on XFS, ZFS (as of very recently),
etc, and works on Linux and FreeBSD. It's probably much the same as
--clone mode on COW file systems, except that is Linux-only. On
overwrite file systems (ie not copy-on-write, like ext4), it may also
be able to push copies down to storage hardware/network file systems.

There was something like this in the nearby large files patch set, but
in that version it just magically did it when available in --copy
mode. Now I think the user should have to have to opt in with
--copy-file-range, and simply to error out if it fails. It may not
work in some cases -- for example, the man page says that older Linux
systems can fail with EXDEV when you try to copy across file systems,
while newer systems will do something less efficient but still
sensible internally; also I saw a claim that some older versions had
weird bugs. Better to just expose the raw functionality and let users
say when they want it and read the error if it fail, I think.

When we added --clone, copy_file_range() was available, but the problem
was that it was hard for the user to predict whether you'd get the fast
clone behavior or the slow copy behavior. That's the kind of thing you
want to know when planning and testing your upgrade. At the time, there
were patches passed around in Linux kernel circles that would have been
able to enforce cloning via the flags argument of copy_file_range(), but
that didn't make it to the mainline.

So, yes, being able to specify exactly which copy mechanism to use makes
sense, so that users can choose the tradeoffs.

About your patch:

I think you should have a "check" function called from
check_new_cluster(). That check function can then also handle the "not
supported" case, and you don't need to handle that in
parseCommandLine(). I suggest following the clone example for these,
since the issues there are very similar.

#3Thomas Munro
thomas.munro@gmail.com
In reply to: Peter Eisentraut (#2)
1 attachment(s)
Re: pg_upgrade --copy-file-range

On Mon, Jul 3, 2023 at 7:47 PM Peter Eisentraut <peter@eisentraut.org> wrote:

When we added --clone, copy_file_range() was available, but the problem
was that it was hard for the user to predict whether you'd get the fast
clone behavior or the slow copy behavior. That's the kind of thing you
want to know when planning and testing your upgrade. At the time, there
were patches passed around in Linux kernel circles that would have been
able to enforce cloning via the flags argument of copy_file_range(), but
that didn't make it to the mainline.

So, yes, being able to specify exactly which copy mechanism to use makes
sense, so that users can choose the tradeoffs.

Thanks for looking. Yeah, it is quite inconvenient for planning
purposes that it is hard for a user to know which internal strategy it
uses, but that's the interface we have (and clearly "flags" is
reserved for future usage so that might still evolve..).

About your patch:

I think you should have a "check" function called from
check_new_cluster(). That check function can then also handle the "not
supported" case, and you don't need to handle that in
parseCommandLine(). I suggest following the clone example for these,
since the issues there are very similar.

Done.

Attachments:

v2-0001-Add-copy-file-range-option-to-pg_upgrade.patchtext/x-patch; charset=US-ASCII; name=v2-0001-Add-copy-file-range-option-to-pg_upgrade.patchDownload
From 9ea1c3fc39a47f634a4fffd1ff1c9b9cf0299d65 Mon Sep 17 00:00:00 2001
From: Thomas Munro <thomas.munro@gmail.com>
Date: Fri, 2 Jun 2023 13:35:54 -0400
Subject: [PATCH v2] Add --copy-file-range option to pg_upgrade.

The copy_file_range() system call is available on at least Linux and
FreeBSD, and asks the kernel to use efficient ways to copy ranges of a
file.  Options available to the kernel include sharing block ranges
(similar to --clone mode), and pushing down block copies to the storage
layer.

Reviewed-by: Peter Eisentraut <peter@eisentraut.org>
Discussion: https://postgr.es/m/CA%2BhUKGKe7Hb0-UNih8VD5UNZy5-ojxFb3Pr3xSBBL8qj2M2%3DdQ%40mail.gmail.com
---
 configure                          |  2 +-
 configure.ac                       |  1 +
 doc/src/sgml/ref/pgupgrade.sgml    | 13 +++++
 meson.build                        |  1 +
 src/bin/pg_upgrade/check.c         |  3 ++
 src/bin/pg_upgrade/file.c          | 78 ++++++++++++++++++++++++++++++
 src/bin/pg_upgrade/option.c        |  7 ++-
 src/bin/pg_upgrade/pg_upgrade.h    |  4 ++
 src/bin/pg_upgrade/relfilenumber.c |  8 +++
 src/include/pg_config.h.in         |  3 ++
 src/tools/msvc/Solution.pm         |  1 +
 11 files changed, 119 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index d47e0f8b26..2076b19a1b 100755
--- a/configure
+++ b/configure
@@ -15578,7 +15578,7 @@ fi
 LIBS_including_readline="$LIBS"
 LIBS=`echo "$LIBS" | sed -e 's/-ledit//g' -e 's/-lreadline//g'`
 
-for ac_func in backtrace_symbols copyfile getifaddrs getpeerucred inet_pton kqueue mbstowcs_l memset_s posix_fallocate ppoll pthread_is_threaded_np setproctitle setproctitle_fast strchrnul strsignal syncfs sync_file_range uselocale wcstombs_l
+for ac_func in backtrace_symbols copyfile copy_file_range getifaddrs getpeerucred inet_pton kqueue mbstowcs_l memset_s posix_fallocate ppoll pthread_is_threaded_np setproctitle setproctitle_fast strchrnul strsignal syncfs sync_file_range uselocale wcstombs_l
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
diff --git a/configure.ac b/configure.ac
index 440b08d113..d0d31dd91e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1767,6 +1767,7 @@ LIBS=`echo "$LIBS" | sed -e 's/-ledit//g' -e 's/-lreadline//g'`
 AC_CHECK_FUNCS(m4_normalize([
 	backtrace_symbols
 	copyfile
+	copy_file_range
 	getifaddrs
 	getpeerucred
 	inet_pton
diff --git a/doc/src/sgml/ref/pgupgrade.sgml b/doc/src/sgml/ref/pgupgrade.sgml
index f17fdb1ba5..8275cc067b 100644
--- a/doc/src/sgml/ref/pgupgrade.sgml
+++ b/doc/src/sgml/ref/pgupgrade.sgml
@@ -263,6 +263,19 @@ PostgreSQL documentation
       </listitem>
      </varlistentry>
 
+     <varlistentry>
+      <term><option>--copy-file-range</option></term>
+      <listitem>
+       <para>
+        Use the <function>copy_file_range</function> system call for efficient
+        copying.  On some file systems this gives results similar to
+        <option>--clone</option>, sharing physical disk blocks, while on others
+        it may still copy blocks, but do so via an optimized path.  At present,
+        it is supported on Linux and FreeBSD.
+       </para>
+      </listitem>
+     </varlistentry>
+
      <varlistentry>
       <term><option>-?</option></term>
       <term><option>--help</option></term>
diff --git a/meson.build b/meson.build
index 862c955453..20e7327e9e 100644
--- a/meson.build
+++ b/meson.build
@@ -2415,6 +2415,7 @@ func_checks = [
   ['backtrace_symbols', {'dependencies': [execinfo_dep]}],
   ['clock_gettime', {'dependencies': [rt_dep], 'define': false}],
   ['copyfile'],
+  ['copy_file_range'],
   # gcc/clang's sanitizer helper library provides dlopen but not dlsym, thus
   # when enabling asan the dlopen check doesn't notice that -ldl is actually
   # required. Just checking for dlsym() ought to suffice.
diff --git a/src/bin/pg_upgrade/check.c b/src/bin/pg_upgrade/check.c
index 21a0ff9e42..4a615edb62 100644
--- a/src/bin/pg_upgrade/check.c
+++ b/src/bin/pg_upgrade/check.c
@@ -213,6 +213,9 @@ check_new_cluster(void)
 			break;
 		case TRANSFER_MODE_COPY:
 			break;
+		case TRANSFER_MODE_COPY_FILE_RANGE:
+			check_copy_file_range();
+			break;
 		case TRANSFER_MODE_LINK:
 			check_hard_link();
 			break;
diff --git a/src/bin/pg_upgrade/file.c b/src/bin/pg_upgrade/file.c
index d173602882..e30d944be3 100644
--- a/src/bin/pg_upgrade/file.c
+++ b/src/bin/pg_upgrade/file.c
@@ -10,6 +10,7 @@
 #include "postgres_fe.h"
 
 #include <sys/stat.h>
+#include <limits.h>
 #include <fcntl.h>
 #ifdef HAVE_COPYFILE_H
 #include <copyfile.h>
@@ -140,6 +141,45 @@ copyFile(const char *src, const char *dst,
 }
 
 
+/*
+ * copyFileByRange()
+ *
+ * Copies a relation file from src to dst.
+ * schemaName/relName are relation's SQL name (used for error messages only).
+ */
+void
+copyFileByRange(const char *src, const char *dst,
+				const char *schemaName, const char *relName)
+{
+#ifdef HAVE_COPY_FILE_RANGE
+	int			src_fd;
+	int			dest_fd;
+	ssize_t		nbytes;
+
+	if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+		pg_fatal("error while copying relation \"%s.%s\": could not open file \"%s\": %s",
+				 schemaName, relName, src, strerror(errno));
+
+	if ((dest_fd = open(dst, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+						pg_file_create_mode)) < 0)
+		pg_fatal("error while copying relation \"%s.%s\": could not create file \"%s\": %s",
+				 schemaName, relName, dst, strerror(errno));
+
+	do
+	{
+		nbytes = copy_file_range(src_fd, NULL, dest_fd, NULL, SSIZE_MAX, 0);
+		if (nbytes < 0 && errno != EINTR)
+			pg_fatal("error while copying relation \"%s.%s\": could not copy file range from \"%s\" to \"%s\": %s",
+					 schemaName, relName, src, dst, strerror(errno));
+	}
+	while (nbytes > 0);
+
+	close(src_fd);
+	close(dest_fd);
+#endif
+}
+
+
 /*
  * linkFile()
  *
@@ -358,6 +398,44 @@ check_file_clone(void)
 	unlink(new_link_file);
 }
 
+void
+check_copy_file_range(void)
+{
+	char		existing_file[MAXPGPATH];
+	char		new_link_file[MAXPGPATH];
+
+	snprintf(existing_file, sizeof(existing_file), "%s/PG_VERSION", old_cluster.pgdata);
+	snprintf(new_link_file, sizeof(new_link_file), "%s/PG_VERSION.clonetest", new_cluster.pgdata);
+	unlink(new_link_file);		/* might fail */
+
+#if defined(HAVE_COPY_FILE_RANGE)
+	{
+		int			src_fd;
+		int			dest_fd;
+
+		if ((src_fd = open(existing_file, O_RDONLY | PG_BINARY, 0)) < 0)
+			pg_fatal("could not open file \"%s\": %s",
+					 existing_file, strerror(errno));
+
+		if ((dest_fd = open(new_link_file, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+							pg_file_create_mode)) < 0)
+			pg_fatal("could not create file \"%s\": %s",
+					 new_link_file, strerror(errno));
+
+		if (copy_file_range(src_fd, NULL, dest_fd, NULL, SSIZE_MAX, 0) < 0)
+			pg_fatal("could not copy file range between old and new data directories: %s",
+					 strerror(errno));
+
+		close(src_fd);
+		close(dest_fd);
+	}
+#else
+	pg_fatal("copy_file_range not supported on this platform");
+#endif
+
+	unlink(new_link_file);
+}
+
 void
 check_hard_link(void)
 {
diff --git a/src/bin/pg_upgrade/option.c b/src/bin/pg_upgrade/option.c
index b9d900d0db..600ba7e8eb 100644
--- a/src/bin/pg_upgrade/option.c
+++ b/src/bin/pg_upgrade/option.c
@@ -58,7 +58,8 @@ parseCommandLine(int argc, char *argv[])
 		{"verbose", no_argument, NULL, 'v'},
 		{"clone", no_argument, NULL, 1},
 		{"copy", no_argument, NULL, 2},
-		{"sync-method", required_argument, NULL, 3},
+		{"copy-file-range", no_argument, NULL, 3},
+		{"sync-method", required_argument, NULL, 4},
 
 		{NULL, 0, NULL, 0}
 	};
@@ -203,6 +204,9 @@ parseCommandLine(int argc, char *argv[])
 				break;
 
 			case 3:
+				user_opts.transfer_mode = TRANSFER_MODE_COPY_FILE_RANGE;
+				break;
+			case 4:
 				if (!parse_sync_method(optarg, &unused))
 					exit(1);
 				user_opts.sync_method = pg_strdup(optarg);
@@ -301,6 +305,7 @@ usage(void)
 	printf(_("  -V, --version                 display version information, then exit\n"));
 	printf(_("  --clone                       clone instead of copying files to new cluster\n"));
 	printf(_("  --copy                        copy files to new cluster (default)\n"));
+	printf(_("  --copy-file-range             copy files to new cluster with copy_file_range\n"));
 	printf(_("  --sync-method=METHOD          set method for syncing files to disk\n"));
 	printf(_("  -?, --help                    show this help, then exit\n"));
 	printf(_("\n"
diff --git a/src/bin/pg_upgrade/pg_upgrade.h b/src/bin/pg_upgrade/pg_upgrade.h
index 842f3b6cd3..25fb7dc7ad 100644
--- a/src/bin/pg_upgrade/pg_upgrade.h
+++ b/src/bin/pg_upgrade/pg_upgrade.h
@@ -234,6 +234,7 @@ typedef enum
 {
 	TRANSFER_MODE_CLONE,
 	TRANSFER_MODE_COPY,
+	TRANSFER_MODE_COPY_FILE_RANGE,
 	TRANSFER_MODE_LINK
 } transferMode;
 
@@ -380,11 +381,14 @@ void		cloneFile(const char *src, const char *dst,
 					  const char *schemaName, const char *relName);
 void		copyFile(const char *src, const char *dst,
 					 const char *schemaName, const char *relName);
+void		copyFileByRange(const char *src, const char *dst,
+							const char *schemaName, const char *relName);
 void		linkFile(const char *src, const char *dst,
 					 const char *schemaName, const char *relName);
 void		rewriteVisibilityMap(const char *fromfile, const char *tofile,
 								 const char *schemaName, const char *relName);
 void		check_file_clone(void);
+void		check_copy_file_range(void);
 void		check_hard_link(void);
 
 /* fopen_priv() is no longer different from fopen() */
diff --git a/src/bin/pg_upgrade/relfilenumber.c b/src/bin/pg_upgrade/relfilenumber.c
index 34bc9c1504..094a4db936 100644
--- a/src/bin/pg_upgrade/relfilenumber.c
+++ b/src/bin/pg_upgrade/relfilenumber.c
@@ -37,6 +37,9 @@ transfer_all_new_tablespaces(DbInfoArr *old_db_arr, DbInfoArr *new_db_arr,
 		case TRANSFER_MODE_COPY:
 			prep_status_progress("Copying user relation files");
 			break;
+		case TRANSFER_MODE_COPY_FILE_RANGE:
+			prep_status_progress("Copying user relation files with copy_file_range");
+			break;
 		case TRANSFER_MODE_LINK:
 			prep_status_progress("Linking user relation files");
 			break;
@@ -250,6 +253,11 @@ transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_fro
 						   old_file, new_file);
 					copyFile(old_file, new_file, map->nspname, map->relname);
 					break;
+				case TRANSFER_MODE_COPY_FILE_RANGE:
+					pg_log(PG_VERBOSE, "copying \"%s\" to \"%s\" with copy_file_range",
+						   old_file, new_file);
+					copyFileByRange(old_file, new_file, map->nspname, map->relname);
+					break;
 				case TRANSFER_MODE_LINK:
 					pg_log(PG_VERBOSE, "linking \"%s\" to \"%s\"",
 						   old_file, new_file);
diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
index d8a2985567..d787484259 100644
--- a/src/include/pg_config.h.in
+++ b/src/include/pg_config.h.in
@@ -81,6 +81,9 @@
 /* Define to 1 if you have the <copyfile.h> header file. */
 #undef HAVE_COPYFILE_H
 
+/* Define to 1 if you have the `copy_file_range' function. */
+#undef HAVE_COPY_FILE_RANGE
+
 /* Define to 1 if you have the <crtdefs.h> header file. */
 #undef HAVE_CRTDEFS_H
 
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
index a50f730260..3d72a6e4aa 100644
--- a/src/tools/msvc/Solution.pm
+++ b/src/tools/msvc/Solution.pm
@@ -229,6 +229,7 @@ sub GenerateFiles
 		HAVE_COMPUTED_GOTO => undef,
 		HAVE_COPYFILE => undef,
 		HAVE_COPYFILE_H => undef,
+		HAVE_COPY_FILE_RANGE => undef,
 		HAVE_CRTDEFS_H => undef,
 		HAVE_CRYPTO_LOCK => undef,
 		HAVE_DECL_FDATASYNC => 0,
-- 
2.42.0

#4Peter Eisentraut
peter@eisentraut.org
In reply to: Thomas Munro (#3)
Re: pg_upgrade --copy-file-range

On 08.10.23 07:15, Thomas Munro wrote:

About your patch:

I think you should have a "check" function called from
check_new_cluster(). That check function can then also handle the "not
supported" case, and you don't need to handle that in
parseCommandLine(). I suggest following the clone example for these,
since the issues there are very similar.

Done.

This version looks good to me.

Tiny nit: You copy-and-pasted "%s/PG_VERSION.clonetest"; maybe choose a
different suffix.

#5Peter Eisentraut
peter@eisentraut.org
In reply to: Peter Eisentraut (#4)
Re: pg_upgrade --copy-file-range

On 13.11.23 08:15, Peter Eisentraut wrote:

On 08.10.23 07:15, Thomas Munro wrote:

About your patch:

I think you should have a "check" function called from
check_new_cluster().  That check function can then also handle the "not
supported" case, and you don't need to handle that in
parseCommandLine().  I suggest following the clone example for these,
since the issues there are very similar.

Done.

This version looks good to me.

Tiny nit:  You copy-and-pasted "%s/PG_VERSION.clonetest"; maybe choose a
different suffix.

Thomas, are you planning to proceed with this patch?

#6Thomas Munro
thomas.munro@gmail.com
In reply to: Peter Eisentraut (#5)
Re: pg_upgrade --copy-file-range

On Sat, Dec 23, 2023 at 9:40 AM Peter Eisentraut <peter@eisentraut.org> wrote:

On 13.11.23 08:15, Peter Eisentraut wrote:

On 08.10.23 07:15, Thomas Munro wrote:

About your patch:

I think you should have a "check" function called from
check_new_cluster(). That check function can then also handle the "not
supported" case, and you don't need to handle that in
parseCommandLine(). I suggest following the clone example for these,
since the issues there are very similar.

Done.

This version looks good to me.

Tiny nit: You copy-and-pasted "%s/PG_VERSION.clonetest"; maybe choose a
different suffix.

Thomas, are you planning to proceed with this patch?

Yes. Sorry for being slow... got stuck working on an imminent new
version of streaming read. I will be defrosting my commit bit and
committing this one and a few things shortly.

As it happens I was just thinking about this particular patch because
I suddenly had a strong urge to teach pg_combinebackup to use
copy_file_range. I wonder if you had the same idea...

#7Michael Paquier
michael@paquier.xyz
In reply to: Thomas Munro (#6)
Re: pg_upgrade --copy-file-range

On Sat, Dec 23, 2023 at 09:52:59AM +1300, Thomas Munro wrote:

As it happens I was just thinking about this particular patch because
I suddenly had a strong urge to teach pg_combinebackup to use
copy_file_range. I wonder if you had the same idea...

Yeah, +1. That would make copy_file_blocks() more efficient where the
code is copying 50 blocks in batches because it needs to reassign
checksums to the blocks copied.
--
Michael

#8Jakub Wartak
jakub.wartak@enterprisedb.com
In reply to: Michael Paquier (#7)
4 attachment(s)
Re: pg_upgrade --copy-file-range

Hi Thomas, Michael, Peter and -hackers,

On Sun, Dec 24, 2023 at 3:57 AM Michael Paquier <michael@paquier.xyz> wrote:

On Sat, Dec 23, 2023 at 09:52:59AM +1300, Thomas Munro wrote:

As it happens I was just thinking about this particular patch because
I suddenly had a strong urge to teach pg_combinebackup to use
copy_file_range. I wonder if you had the same idea...

Yeah, +1. That would make copy_file_blocks() more efficient where the
code is copying 50 blocks in batches because it needs to reassign
checksums to the blocks copied.

I've tried to achieve what you were discussing. Actually this was my
first thought when using pg_combinebackup with larger (realistic)
backup sizes back in December. Attached is a set of very DIRTY (!)
patches that provide CoW options (--clone/--copy-range-file) to
pg_combinebackup (just like pg_upgrade to keep it in sync), while also
refactoring some related bits of code to avoid duplication.

With XFS (with reflink=1 which is default) on Linux with kernel 5.10
and ~210GB backups, I'm getting:

root@jw-test-1:/xfs# du -sm *
210229 full
250 incr.1

Today in master, the old classic read()/while() loop without
CoW/reflink optimization :
root@jw-test-1:/xfs# rm -rf outtest; sync; sync ; sync; echo 3 | sudo
tee /proc/sys/vm/drop_caches ; time /usr/pgsql17/bin/pg_combinebackup
--manifest-checksums=NONE -o outtest full incr.1
3

real 49m43.963s
user 0m0.887s
sys 2m52.697s

VS patch with "--clone" :

root@jw-test-1:/xfs# rm -rf outtest; sync; sync ; sync; echo 3 | sudo
tee /proc/sys/vm/drop_caches ; time /usr/pgsql17/bin/pg_combinebackup
--manifest-checksums=NONE --clone -o outtest full incr.1
3

real 0m39.812s
user 0m0.325s
sys 0m2.401s

So it is 49mins down to 40 seconds(!) +/-10s (3 tries) if the FS
supports CoW/reflinks (XFS, BTRFS, upcoming bcachefs?). It looks to me
that this might mean that if one actually wants to use incremental
backups (to get minimal RTO), it would be wise to only use CoW
filesystems from the start so that RTO is as low as possible.

Random patch notes:
- main meat is in v3-0002*, I hope i did not screw something seriously
- in worst case: it is opt-in through switch, so the user always can
stick to the classic copy
- no docs so far
- pg_copyfile_offload_supported() should actually be fixed if it is a
good path forward
- pgindent actually indents larger areas of code that I would like to,
any ideas or is it ok?
- not tested on Win32/MacOS/FreeBSD
- i've tested pg_upgrade manually and it seems to work and issue
correct syscalls, however some tests are failing(?). I haven't
investigated why yet due to lack of time.

Any help is appreciated.

-J.

Attachments:

v3-0001-Add-copy_file_range-3-system-call-detection.-Futu.patchapplication/octet-stream; name=v3-0001-Add-copy_file_range-3-system-call-detection.-Futu.patchDownload
From 7216586c13d9a470e1c3da7349cb7f19e318d8a3 Mon Sep 17 00:00:00 2001
From: Jakub Wartak <jakub.wartak@enterprisedb.com>
Date: Thu, 4 Jan 2024 14:43:37 +0100
Subject: [PATCH v3 1/4] Add copy_file_range(3) system call detection. Future
 patches may use it to optimize copying/cloning.

Discussion: https://www.postgresql.org/message-id/flat/CA%2BhUKGJvLLNQtzb%3DZWcTsYF8kv8cR_%3DH17CX-eL8qNixeC4DAw%40mail.gmail.com#ce606227e39df74c6b2abf80b8eab04a
---
 configure                  | 2 +-
 configure.ac               | 1 +
 meson.build                | 1 +
 src/include/pg_config.h.in | 3 +++
 4 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index 217704e9ca..ca30f4f96a 100755
--- a/configure
+++ b/configure
@@ -15539,7 +15539,7 @@ fi
 LIBS_including_readline="$LIBS"
 LIBS=`echo "$LIBS" | sed -e 's/-ledit//g' -e 's/-lreadline//g'`
 
-for ac_func in backtrace_symbols copyfile getifaddrs getpeerucred inet_pton kqueue mbstowcs_l memset_s posix_fallocate ppoll pthread_is_threaded_np setproctitle setproctitle_fast strchrnul strsignal syncfs sync_file_range uselocale wcstombs_l
+for ac_func in backtrace_symbols copyfile copy_file_range getifaddrs getpeerucred inet_pton kqueue mbstowcs_l memset_s posix_fallocate ppoll pthread_is_threaded_np setproctitle setproctitle_fast strchrnul strsignal syncfs sync_file_range uselocale wcstombs_l
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
diff --git a/configure.ac b/configure.ac
index e49de9e4f0..a80c83dd45 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1769,6 +1769,7 @@ LIBS=`echo "$LIBS" | sed -e 's/-ledit//g' -e 's/-lreadline//g'`
 AC_CHECK_FUNCS(m4_normalize([
 	backtrace_symbols
 	copyfile
+	copy_file_range
 	getifaddrs
 	getpeerucred
 	inet_pton
diff --git a/meson.build b/meson.build
index 21abd7da85..cd69391d60 100644
--- a/meson.build
+++ b/meson.build
@@ -2419,6 +2419,7 @@ func_checks = [
   ['backtrace_symbols', {'dependencies': [execinfo_dep]}],
   ['clock_gettime', {'dependencies': [rt_dep], 'define': false}],
   ['copyfile'],
+  ['copy_file_range'],
   # gcc/clang's sanitizer helper library provides dlopen but not dlsym, thus
   # when enabling asan the dlopen check doesn't notice that -ldl is actually
   # required. Just checking for dlsym() ought to suffice.
diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
index 5f16918243..c848af34cb 100644
--- a/src/include/pg_config.h.in
+++ b/src/include/pg_config.h.in
@@ -78,6 +78,9 @@
 /* Define to 1 if you have the <copyfile.h> header file. */
 #undef HAVE_COPYFILE_H
 
+/* Define to 1 if you have the `copy_file_range' function. */
+#undef HAVE_COPY_FILE_RANGE
+
 /* Define to 1 if you have the <crtdefs.h> header file. */
 #undef HAVE_CRTDEFS_H
 
-- 
2.30.2

v3-0002-Confine-various-OS-copy-on-write-and-other-copy-a.patchapplication/octet-stream; name=v3-0002-Confine-various-OS-copy-on-write-and-other-copy-a.patchDownload
From 2f58f6af27c94d782925b7f38ea8845cdfb3e0d2 Mon Sep 17 00:00:00 2001
From: Jakub Wartak <jakub.wartak@enterprisedb.com>
Date: Thu, 4 Jan 2024 19:45:30 +0100
Subject: [PATCH v3 2/4] Confine various OS copy-on-write (and other copy
 acceleration) methods via new internal pg_copyfile_* APIs in libpqcommon.
 Later refactor pg_upgrade to use those APIs for ioctl(FICLONE).

Co-authored-by: Thomas Munro <thomas.munro@gmail.com>

Discussion: https://www.postgresql.org/message-id/flat/CA%2BhUKGJvLLNQtzb%3DZWcTsYF8kv8cR_%3DH17CX-eL8qNixeC4DAw%40mail.gmail.com#ce606227e39df74c6b2abf80b8eab04a
---
 src/bin/pg_upgrade/file.c          | 252 ++++++++-----------------
 src/bin/pg_upgrade/relfilenumber.c |  81 ++++----
 src/common/file_utils.c            | 288 +++++++++++++++++++++++------
 src/include/common/file_utils.h    |  37 +++-
 4 files changed, 380 insertions(+), 278 deletions(-)

diff --git a/src/bin/pg_upgrade/file.c b/src/bin/pg_upgrade/file.c
index d173602882..f91cc548ce 100644
--- a/src/bin/pg_upgrade/file.c
+++ b/src/bin/pg_upgrade/file.c
@@ -1,31 +1,23 @@
 /*
- *	file.c
+ * file.c
  *
- *	file system operations
+ * file system operations
  *
- *	Copyright (c) 2010-2023, PostgreSQL Global Development Group
- *	src/bin/pg_upgrade/file.c
+ * Copyright (c) 2010-2023, PostgreSQL Global Development Group
+ * src/bin/pg_upgrade/file.c
  */
 
 #include "postgres_fe.h"
 
-#include <sys/stat.h>
-#include <fcntl.h>
-#ifdef HAVE_COPYFILE_H
-#include <copyfile.h>
-#endif
-#ifdef __linux__
-#include <sys/ioctl.h>
-#include <linux/fs.h>
-#endif
-
 #include "access/visibilitymapdefs.h"
 #include "common/file_perm.h"
+#include "common/file_utils.h"
 #include "pg_upgrade.h"
 #include "storage/bufpage.h"
 #include "storage/checksum.h"
 #include "storage/checksum_impl.h"
-
+#include <fcntl.h>
+#include <sys/stat.h>
 
 /*
  * cloneFile()
@@ -35,127 +27,49 @@
  * schemaName/relName are relation's SQL name (used for error messages only).
  */
 void
-cloneFile(const char *src, const char *dst,
-		  const char *schemaName, const char *relName)
+cloneFile(const char *src, const char *dst, const char *schemaName,
+		  const char *relName)
 {
-#if defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE)
-	if (copyfile(src, dst, NULL, COPYFILE_CLONE_FORCE) < 0)
-		pg_fatal("error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s",
-				 schemaName, relName, src, dst, strerror(errno));
-#elif defined(__linux__) && defined(FICLONE)
-	int			src_fd;
-	int			dest_fd;
-
-	if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
-		pg_fatal("error while cloning relation \"%s.%s\": could not open file \"%s\": %s",
-				 schemaName, relName, src, strerror(errno));
-
-	if ((dest_fd = open(dst, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
-						pg_file_create_mode)) < 0)
-		pg_fatal("error while cloning relation \"%s.%s\": could not create file \"%s\": %s",
-				 schemaName, relName, dst, strerror(errno));
-
-	if (ioctl(dest_fd, FICLONE, src_fd) < 0)
-	{
-		int			save_errno = errno;
-
-		unlink(dst);
+	char		action[1024];
 
-		pg_fatal("error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s",
-				 schemaName, relName, src, dst, strerror(save_errno));
-	}
-
-	close(src_fd);
-	close(dest_fd);
-#endif
+	snprintf(action, sizeof(action) - 1, "relation \"%s.%s\"", schemaName,
+			 relName);
+	pg_copyfile_offload(src, dst, action, PG_COPYFILE_IOCTL_FICLONE);
 }
 
-
 /*
  * copyFile()
  *
- * Copies a relation file from src to dst.
- * schemaName/relName are relation's SQL name (used for error messages only).
+ * Copies a relation file from src to dst. schemaName/relName are relation's
+ * SQL name (used for error messages only).
  */
 void
-copyFile(const char *src, const char *dst,
-		 const char *schemaName, const char *relName)
+copyFile(const char *src, const char *dst, const char *schemaName,
+		 const char *relName)
 {
-#ifndef WIN32
-	int			src_fd;
-	int			dest_fd;
-	char	   *buffer;
-
-	if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
-		pg_fatal("error while copying relation \"%s.%s\": could not open file \"%s\": %s",
-				 schemaName, relName, src, strerror(errno));
-
-	if ((dest_fd = open(dst, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
-						pg_file_create_mode)) < 0)
-		pg_fatal("error while copying relation \"%s.%s\": could not create file \"%s\": %s",
-				 schemaName, relName, dst, strerror(errno));
-
-	/* copy in fairly large chunks for best efficiency */
-#define COPY_BUF_SIZE (50 * BLCKSZ)
-
-	buffer = (char *) pg_malloc(COPY_BUF_SIZE);
-
-	/* perform data copying i.e read src source, write to destination */
-	while (true)
-	{
-		ssize_t		nbytes = read(src_fd, buffer, COPY_BUF_SIZE);
+	char		action[128];
 
-		if (nbytes < 0)
-			pg_fatal("error while copying relation \"%s.%s\": could not read file \"%s\": %s",
-					 schemaName, relName, src, strerror(errno));
-
-		if (nbytes == 0)
-			break;
-
-		errno = 0;
-		if (write(dest_fd, buffer, nbytes) != nbytes)
-		{
-			/* if write didn't set errno, assume problem is no disk space */
-			if (errno == 0)
-				errno = ENOSPC;
-			pg_fatal("error while copying relation \"%s.%s\": could not write file \"%s\": %s",
-					 schemaName, relName, dst, strerror(errno));
-		}
-	}
-
-	pg_free(buffer);
-	close(src_fd);
-	close(dest_fd);
-
-#else							/* WIN32 */
-
-	if (CopyFile(src, dst, true) == 0)
-	{
-		_dosmaperr(GetLastError());
-		pg_fatal("error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %s",
-				 schemaName, relName, src, dst, strerror(errno));
-	}
-
-#endif							/* WIN32 */
+	snprintf(action, sizeof(action) - 1, "relation \"%s.%s\"", schemaName,
+			 relName);
+	pg_copyfile(src, dst, action, NULL);
 }
 
-
 /*
  * linkFile()
  *
- * Hard-links a relation file from src to dst.
- * schemaName/relName are relation's SQL name (used for error messages only).
+ * Hard-links a relation file from src to dst. schemaName/relName are
+ * relation's SQL name (used for error messages only).
  */
 void
-linkFile(const char *src, const char *dst,
-		 const char *schemaName, const char *relName)
+linkFile(const char *src, const char *dst, const char *schemaName,
+		 const char *relName)
 {
 	if (link(src, dst) < 0)
-		pg_fatal("error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %s",
+		pg_fatal("error while creating link for relation \"%s.%s\" (\"%s\" to "
+				 "\"%s\"): %s",
 				 schemaName, relName, src, dst, strerror(errno));
 }
 
-
 /*
  * rewriteVisibilityMap()
  *
@@ -163,14 +77,14 @@ linkFile(const char *src, const char *dst,
  * schemaName/relName are relation's SQL name (used for error messages only).
  *
  * In versions of PostgreSQL prior to catversion 201603011, PostgreSQL's
- * visibility map included one bit per heap page; it now includes two.
- * When upgrading a cluster from before that time to a current PostgreSQL
- * version, we could refuse to copy visibility maps from the old cluster
- * to the new cluster; the next VACUUM would recreate them, but at the
- * price of scanning the entire table.  So, instead, we rewrite the old
- * visibility maps in the new format.  That way, the all-visible bits
- * remain set for the pages for which they were set previously.  The
- * all-frozen bits are never set by this conversion; we leave that to VACUUM.
+ * visibility map included one bit per heap page; it now includes two. When
+ * upgrading a cluster from before that time to a current PostgreSQL version,
+ * we could refuse to copy visibility maps from the old cluster to the new
+ * cluster; the next VACUUM would recreate them, but at the price of scanning
+ * the entire table.  So, instead, we rewrite the old visibility maps in the
+ * new format.  That way, the all-visible bits remain set for the pages for
+ * which they were set previously.  The all-frozen bits are never set by this
+ * conversion; we leave that to VACUUM.
  */
 void
 rewriteVisibilityMap(const char *fromfile, const char *tofile,
@@ -190,16 +104,19 @@ rewriteVisibilityMap(const char *fromfile, const char *tofile,
 	rewriteVmBytesPerPage = (BLCKSZ - SizeOfPageHeaderData) / 2;
 
 	if ((src_fd = open(fromfile, O_RDONLY | PG_BINARY, 0)) < 0)
-		pg_fatal("error while copying relation \"%s.%s\": could not open file \"%s\": %s",
+		pg_fatal("error while copying relation \"%s.%s\": could not open file "
+				 "\"%s\": %s",
 				 schemaName, relName, fromfile, strerror(errno));
 
 	if (fstat(src_fd, &statbuf) != 0)
-		pg_fatal("error while copying relation \"%s.%s\": could not stat file \"%s\": %s",
+		pg_fatal("error while copying relation \"%s.%s\": could not stat file "
+				 "\"%s\": %s",
 				 schemaName, relName, fromfile, strerror(errno));
 
 	if ((dst_fd = open(tofile, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
 					   pg_file_create_mode)) < 0)
-		pg_fatal("error while copying relation \"%s.%s\": could not create file \"%s\": %s",
+		pg_fatal("error while copying relation \"%s.%s\": could not create file "
+				 "\"%s\": %s",
 				 schemaName, relName, tofile, strerror(errno));
 
 	/* Save old file size */
@@ -223,10 +140,12 @@ rewriteVisibilityMap(const char *fromfile, const char *tofile,
 		if ((bytesRead = read(src_fd, buffer.data, BLCKSZ)) != BLCKSZ)
 		{
 			if (bytesRead < 0)
-				pg_fatal("error while copying relation \"%s.%s\": could not read file \"%s\": %s",
+				pg_fatal("error while copying relation \"%s.%s\": could not read file "
+						 "\"%s\": %s",
 						 schemaName, relName, fromfile, strerror(errno));
 			else
-				pg_fatal("error while copying relation \"%s.%s\": partial page found in file \"%s\"",
+				pg_fatal("error while copying relation \"%s.%s\": partial page found "
+						 "in file \"%s\"",
 						 schemaName, relName, fromfile);
 		}
 
@@ -260,25 +179,30 @@ rewriteVisibilityMap(const char *fromfile, const char *tofile,
 
 			new_cur = new_vmbuf.data + SizeOfPageHeaderData;
 
-			/* Process old page bytes one by one, and turn it into new page. */
+			/*
+			 * Process old page bytes one by one, and turn it into new page.
+			 */
 			while (old_cur < old_break)
 			{
 				uint8		byte = *(uint8 *) old_cur;
 				uint16		new_vmbits = 0;
 				int			i;
 
-				/* Generate new format bits while keeping old information */
+				/*
+				 * Generate new format bits while keeping old information
+				 */
 				for (i = 0; i < BITS_PER_BYTE; i++)
 				{
 					if (byte & (1 << i))
 					{
 						empty = false;
-						new_vmbits |=
-							VISIBILITYMAP_ALL_VISIBLE << (BITS_PER_HEAPBLOCK * i);
+						new_vmbits |= VISIBILITYMAP_ALL_VISIBLE << (BITS_PER_HEAPBLOCK * i);
 					}
 				}
 
-				/* Copy new visibility map bytes to new-format page */
+				/*
+				 * Copy new visibility map bytes to new-format page
+				 */
 				new_cur[0] = (char) (new_vmbits & 0xFF);
 				new_cur[1] = (char) (new_vmbits >> 8);
 
@@ -286,11 +210,15 @@ rewriteVisibilityMap(const char *fromfile, const char *tofile,
 				new_cur += BITS_PER_HEAPBLOCK;
 			}
 
-			/* If the last part of the last page is empty, skip writing it */
+			/*
+			 * If the last part of the last page is empty, skip writing it
+			 */
 			if (old_lastpart && empty)
 				break;
 
-			/* Set new checksum for visibility map page, if enabled */
+			/*
+			 * Set new checksum for visibility map page, if enabled
+			 */
 			if (new_cluster.controldata.data_checksum_version != 0)
 				((PageHeader) new_vmbuf.data)->pd_checksum =
 					pg_checksum_page(new_vmbuf.data, new_blkno);
@@ -298,10 +226,13 @@ rewriteVisibilityMap(const char *fromfile, const char *tofile,
 			errno = 0;
 			if (write(dst_fd, new_vmbuf.data, BLCKSZ) != BLCKSZ)
 			{
-				/* if write didn't set errno, assume problem is no disk space */
+				/*
+				 * if write didn't set errno, assume problem is no disk space
+				 */
 				if (errno == 0)
 					errno = ENOSPC;
-				pg_fatal("error while copying relation \"%s.%s\": could not write file \"%s\": %s",
+				pg_fatal("error while copying relation \"%s.%s\": could not write file "
+						 "\"%s\": %s",
 						 schemaName, relName, tofile, strerror(errno));
 			}
 
@@ -322,40 +253,15 @@ check_file_clone(void)
 	char		existing_file[MAXPGPATH];
 	char		new_link_file[MAXPGPATH];
 
-	snprintf(existing_file, sizeof(existing_file), "%s/PG_VERSION", old_cluster.pgdata);
-	snprintf(new_link_file, sizeof(new_link_file), "%s/PG_VERSION.clonetest", new_cluster.pgdata);
+	snprintf(existing_file, sizeof(existing_file), "%s/PG_VERSION",
+			 old_cluster.pgdata);
+	snprintf(new_link_file, sizeof(new_link_file), "%s/PG_VERSION.clonetest",
+			 new_cluster.pgdata);
 	unlink(new_link_file);		/* might fail */
 
-#if defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE)
-	if (copyfile(existing_file, new_link_file, NULL, COPYFILE_CLONE_FORCE) < 0)
-		pg_fatal("could not clone file between old and new data directories: %s",
-				 strerror(errno));
-#elif defined(__linux__) && defined(FICLONE)
-	{
-		int			src_fd;
-		int			dest_fd;
-
-		if ((src_fd = open(existing_file, O_RDONLY | PG_BINARY, 0)) < 0)
-			pg_fatal("could not open file \"%s\": %s",
-					 existing_file, strerror(errno));
-
-		if ((dest_fd = open(new_link_file, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
-							pg_file_create_mode)) < 0)
-			pg_fatal("could not create file \"%s\": %s",
-					 new_link_file, strerror(errno));
-
-		if (ioctl(dest_fd, FICLONE, src_fd) < 0)
-			pg_fatal("could not clone file between old and new data directories: %s",
-					 strerror(errno));
-
-		close(src_fd);
-		close(dest_fd);
-	}
-#else
-	pg_fatal("file cloning not supported on this platform");
-#endif
-
-	unlink(new_link_file);
+	/* will throw error in case it is not supported */
+	pg_copyfile_offload_supported(existing_file, new_link_file, NULL,
+								  PG_COPYFILE_IOCTL_FICLONE);
 }
 
 void
@@ -364,13 +270,17 @@ check_hard_link(void)
 	char		existing_file[MAXPGPATH];
 	char		new_link_file[MAXPGPATH];
 
-	snprintf(existing_file, sizeof(existing_file), "%s/PG_VERSION", old_cluster.pgdata);
-	snprintf(new_link_file, sizeof(new_link_file), "%s/PG_VERSION.linktest", new_cluster.pgdata);
+	snprintf(existing_file, sizeof(existing_file), "%s/PG_VERSION",
+			 old_cluster.pgdata);
+	snprintf(new_link_file, sizeof(new_link_file), "%s/PG_VERSION.linktest",
+			 new_cluster.pgdata);
 	unlink(new_link_file);		/* might fail */
 
 	if (link(existing_file, new_link_file) < 0)
-		pg_fatal("could not create hard link between old and new data directories: %s\n"
-				 "In link mode the old and new data directories must be on the same file system.",
+		pg_fatal(
+				 "could not create hard link between old and new data directories: %s\n"
+				 "In link mode the old and new data directories must be on the same "
+				 "file system.",
 				 strerror(errno));
 
 	unlink(new_link_file);
diff --git a/src/bin/pg_upgrade/relfilenumber.c b/src/bin/pg_upgrade/relfilenumber.c
index 34bc9c1504..d61fb77bdf 100644
--- a/src/bin/pg_upgrade/relfilenumber.c
+++ b/src/bin/pg_upgrade/relfilenumber.c
@@ -15,15 +15,16 @@
 #include "catalog/pg_class_d.h"
 #include "pg_upgrade.h"
 
-static void transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace);
-static void transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_frozenbit);
-
+static void transfer_single_new_db(FileNameMap *maps, int size,
+								   char *old_tablespace);
+static void transfer_relfile(FileNameMap *map, const char *type_suffix,
+							 bool vm_must_add_frozenbit);
 
 /*
  * transfer_all_new_tablespaces()
  *
- * Responsible for upgrading all database. invokes routines to generate mappings and then
- * physically link the databases.
+ * Responsible for upgrading all database. invokes routines to generate mappings
+ * and then physically link the databases.
  */
 void
 transfer_all_new_tablespaces(DbInfoArr *old_db_arr, DbInfoArr *new_db_arr,
@@ -40,6 +41,9 @@ transfer_all_new_tablespaces(DbInfoArr *old_db_arr, DbInfoArr *new_db_arr,
 		case TRANSFER_MODE_LINK:
 			prep_status_progress("Linking user relation files");
 			break;
+		case TRANSFER_MODE_COPY_FILE_RANGE:
+			prep_status_progress("Copying user relation files with copy_file_range");
+			break;
 	}
 
 	/*
@@ -61,9 +65,7 @@ transfer_all_new_tablespaces(DbInfoArr *old_db_arr, DbInfoArr *new_db_arr,
 									  new_pgdata, old_pgdata);
 
 		for (tblnum = 0; tblnum < os_info.num_old_tablespaces; tblnum++)
-			parallel_transfer_all_new_dbs(old_db_arr,
-										  new_db_arr,
-										  old_pgdata,
+			parallel_transfer_all_new_dbs(old_db_arr, new_db_arr, old_pgdata,
 										  new_pgdata,
 										  os_info.old_tablespaces[tblnum]);
 		/* reap all children */
@@ -75,23 +77,22 @@ transfer_all_new_tablespaces(DbInfoArr *old_db_arr, DbInfoArr *new_db_arr,
 	check_ok();
 }
 
-
 /*
  * transfer_all_new_dbs()
  *
- * Responsible for upgrading all database. invokes routines to generate mappings and then
- * physically link the databases.
+ * Responsible for upgrading all database. invokes routines to generate mappings
+ * and then physically link the databases.
  */
 void
 transfer_all_new_dbs(DbInfoArr *old_db_arr, DbInfoArr *new_db_arr,
-					 char *old_pgdata, char *new_pgdata, char *old_tablespace)
+					 char *old_pgdata, char *new_pgdata,
+					 char *old_tablespace)
 {
 	int			old_dbnum,
 				new_dbnum;
 
 	/* Scan the old cluster databases and transfer their files */
-	for (old_dbnum = new_dbnum = 0;
-		 old_dbnum < old_db_arr->ndbs;
+	for (old_dbnum = new_dbnum = 0; old_dbnum < old_db_arr->ndbs;
 		 old_dbnum++, new_dbnum++)
 	{
 		DbInfo	   *old_db = &old_db_arr->dbs[old_dbnum],
@@ -115,8 +116,8 @@ transfer_all_new_dbs(DbInfoArr *old_db_arr, DbInfoArr *new_db_arr,
 			pg_fatal("old database \"%s\" not found in the new cluster",
 					 old_db->db_name);
 
-		mappings = gen_db_file_maps(old_db, new_db, &n_maps, old_pgdata,
-									new_pgdata);
+		mappings =
+			gen_db_file_maps(old_db, new_db, &n_maps, old_pgdata, new_pgdata);
 		if (n_maps)
 		{
 			transfer_single_new_db(mappings, n_maps, old_tablespace);
@@ -132,7 +133,8 @@ transfer_all_new_dbs(DbInfoArr *old_db_arr, DbInfoArr *new_db_arr,
  * create links for mappings stored in "maps" array.
  */
 static void
-transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace)
+transfer_single_new_db(FileNameMap *maps, int size,
+					   char *old_tablespace)
 {
 	int			mapnum;
 	bool		vm_must_add_frozenbit = false;
@@ -161,7 +163,6 @@ transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace)
 	}
 }
 
-
 /*
  * transfer_relfile()
  *
@@ -170,7 +171,8 @@ transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace)
  * mode.
  */
 static void
-transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_frozenbit)
+transfer_relfile(FileNameMap *map, const char *type_suffix,
+				 bool vm_must_add_frozenbit)
 {
 	char		old_file[MAXPGPATH];
 	char		new_file[MAXPGPATH];
@@ -190,20 +192,12 @@ transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_fro
 		else
 			snprintf(extent_suffix, sizeof(extent_suffix), ".%d", segno);
 
-		snprintf(old_file, sizeof(old_file), "%s%s/%u/%u%s%s",
-				 map->old_tablespace,
-				 map->old_tablespace_suffix,
-				 map->db_oid,
-				 map->relfilenumber,
-				 type_suffix,
-				 extent_suffix);
-		snprintf(new_file, sizeof(new_file), "%s%s/%u/%u%s%s",
-				 map->new_tablespace,
-				 map->new_tablespace_suffix,
-				 map->db_oid,
-				 map->relfilenumber,
-				 type_suffix,
-				 extent_suffix);
+		snprintf(old_file, sizeof(old_file), "%s%s/%u/%u%s%s", map->old_tablespace,
+				 map->old_tablespace_suffix, map->db_oid, map->relfilenumber,
+				 type_suffix, extent_suffix);
+		snprintf(new_file, sizeof(new_file), "%s%s/%u/%u%s%s", map->new_tablespace,
+				 map->new_tablespace_suffix, map->db_oid, map->relfilenumber,
+				 type_suffix, extent_suffix);
 
 		/* Is it an extent, fsm, or vm file? */
 		if (type_suffix[0] != '\0' || segno != 0)
@@ -215,7 +209,8 @@ transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_fro
 				if (errno == ENOENT)
 					return;
 				else
-					pg_fatal("error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s",
+					pg_fatal("error while checking for file existence \"%s.%s\" (\"%s\" "
+							 "to \"%s\"): %s",
 							 map->nspname, map->relname, old_file, new_file,
 							 strerror(errno));
 			}
@@ -233,27 +228,29 @@ transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_fro
 		if (vm_must_add_frozenbit && strcmp(type_suffix, "_vm") == 0)
 		{
 			/* Need to rewrite visibility map format */
-			pg_log(PG_VERBOSE, "rewriting \"%s\" to \"%s\"",
-				   old_file, new_file);
+			pg_log(PG_VERBOSE, "rewriting \"%s\" to \"%s\"", old_file, new_file);
 			rewriteVisibilityMap(old_file, new_file, map->nspname, map->relname);
 		}
 		else
 			switch (user_opts.transfer_mode)
 			{
 				case TRANSFER_MODE_CLONE:
-					pg_log(PG_VERBOSE, "cloning \"%s\" to \"%s\"",
-						   old_file, new_file);
+					pg_log(PG_VERBOSE, "cloning \"%s\" to \"%s\"", old_file, new_file);
 					cloneFile(old_file, new_file, map->nspname, map->relname);
 					break;
 				case TRANSFER_MODE_COPY:
-					pg_log(PG_VERBOSE, "copying \"%s\" to \"%s\"",
-						   old_file, new_file);
+					pg_log(PG_VERBOSE, "copying \"%s\" to \"%s\"", old_file, new_file);
 					copyFile(old_file, new_file, map->nspname, map->relname);
 					break;
 				case TRANSFER_MODE_LINK:
-					pg_log(PG_VERBOSE, "linking \"%s\" to \"%s\"",
-						   old_file, new_file);
+					pg_log(PG_VERBOSE, "linking \"%s\" to \"%s\"", old_file, new_file);
 					linkFile(old_file, new_file, map->nspname, map->relname);
+					break;
+				case TRANSFER_MODE_COPY_FILE_RANGE:
+					pg_log(PG_VERBOSE, "copying \"%s\" to \"%s\" with copy_file_range",
+						   old_file, new_file);
+					copyFileByRange(old_file, new_file, map->nspname, map->relname);
+					break;
 			}
 	}
 }
diff --git a/src/common/file_utils.c b/src/common/file_utils.c
index 5380299f35..25f9a48b21 100644
--- a/src/common/file_utils.c
+++ b/src/common/file_utils.c
@@ -24,10 +24,19 @@
 #include <sys/stat.h>
 #include <unistd.h>
 
+#include "common/file_perm.h"
 #include "common/file_utils.h"
 #ifdef FRONTEND
+#include "common/checksum_helper.h"
 #include "common/logging.h"
+#ifdef HAVE_COPYFILE_H
+#include <copyfile.h>
 #endif
+#ifdef __linux__
+#include <linux/fs.h>
+#include <sys/ioctl.h>
+#endif
+#endif							/* FRONTEND */
 #include "port/pg_iovec.h"
 
 #ifdef FRONTEND
@@ -42,7 +51,7 @@
 /*
  * pg_xlog has been renamed to pg_wal in version 10.
  */
-#define MINIMUM_VERSION_FOR_PG_WAL	100000
+#define MINIMUM_VERSION_FOR_PG_WAL 100000
 
 #ifdef PG_FLUSH_DATA_WORKS
 static int	pre_sync_fname(const char *fname, bool isdir);
@@ -94,8 +103,7 @@ do_syncfs(const char *path)
  * serverVersion indicates the version of the server to be sync'd.
  */
 void
-sync_pgdata(const char *pg_data,
-			int serverVersion,
+sync_pgdata(const char *pg_data, int serverVersion,
 			DataDirSyncMethod sync_method)
 {
 	bool		xlog_is_symlink;
@@ -127,8 +135,7 @@ sync_pgdata(const char *pg_data,
 		case DATA_DIR_SYNC_METHOD_SYNCFS:
 			{
 #ifndef HAVE_SYNCFS
-				pg_log_error("this build does not support sync method \"%s\"",
-							 "syncfs");
+				pg_log_error("this build does not support sync method \"%s\"", "syncfs");
 				exit(EXIT_FAILURE);
 #else
 				DIR		   *dir;
@@ -145,29 +152,27 @@ sync_pgdata(const char *pg_data,
 				/* Sync the top level pgdata directory. */
 				do_syncfs(pg_data);
 
-				/* If any tablespaces are configured, sync each of those. */
+				/*
+				 * If any tablespaces are configured, sync each of those.
+				 */
 				dir = opendir(pg_tblspc);
 				if (dir == NULL)
-					pg_log_error("could not open directory \"%s\": %m",
-								 pg_tblspc);
+					pg_log_error("could not open directory \"%s\": %m", pg_tblspc);
 				else
 				{
 					while (errno = 0, (de = readdir(dir)) != NULL)
 					{
 						char		subpath[MAXPGPATH * 2];
 
-						if (strcmp(de->d_name, ".") == 0 ||
-							strcmp(de->d_name, "..") == 0)
+						if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0)
 							continue;
 
-						snprintf(subpath, sizeof(subpath), "%s/%s",
-								 pg_tblspc, de->d_name);
+						snprintf(subpath, sizeof(subpath), "%s/%s", pg_tblspc, de->d_name);
 						do_syncfs(subpath);
 					}
 
 					if (errno)
-						pg_log_error("could not read directory \"%s\": %m",
-									 pg_tblspc);
+						pg_log_error("could not read directory \"%s\": %m", pg_tblspc);
 
 					(void) closedir(dir);
 				}
@@ -176,8 +181,7 @@ sync_pgdata(const char *pg_data,
 				if (xlog_is_symlink)
 					do_syncfs(pg_wal);
 #endif							/* HAVE_SYNCFS */
-			}
-			break;
+			} break;
 
 		case DATA_DIR_SYNC_METHOD_FSYNC:
 			{
@@ -206,8 +210,7 @@ sync_pgdata(const char *pg_data,
 				if (xlog_is_symlink)
 					walkdir(pg_wal, fsync_fname, false);
 				walkdir(pg_tblspc, fsync_fname, true);
-			}
-			break;
+			} break;
 	}
 }
 
@@ -224,8 +227,7 @@ sync_dir_recurse(const char *dir, DataDirSyncMethod sync_method)
 		case DATA_DIR_SYNC_METHOD_SYNCFS:
 			{
 #ifndef HAVE_SYNCFS
-				pg_log_error("this build does not support sync method \"%s\"",
-							 "syncfs");
+				pg_log_error("this build does not support sync method \"%s\"", "syncfs");
 				exit(EXIT_FAILURE);
 #else
 				/*
@@ -234,8 +236,7 @@ sync_dir_recurse(const char *dir, DataDirSyncMethod sync_method)
 				 */
 				do_syncfs(dir);
 #endif							/* HAVE_SYNCFS */
-			}
-			break;
+			} break;
 
 		case DATA_DIR_SYNC_METHOD_FSYNC:
 			{
@@ -248,20 +249,19 @@ sync_dir_recurse(const char *dir, DataDirSyncMethod sync_method)
 #endif
 
 				walkdir(dir, fsync_fname, false);
-			}
-			break;
+			} break;
 	}
 }
 
 /*
- * walkdir: recursively walk a directory, applying the action to each
- * regular file and directory (including the named directory itself).
+ * walkdir: recursively walk a directory, applying the action to each regular
+ * file and directory (including the named directory itself).
  *
- * If process_symlinks is true, the action and recursion are also applied
- * to regular files and directories that are pointed to by symlinks in the
- * given directory; otherwise symlinks are ignored.  Symlinks are always
- * ignored in subdirectories, ie we intentionally don't pass down the
- * process_symlinks flag to recursive calls.
+ * If process_symlinks is true, the action and recursion are also applied to
+ * regular files and directories that are pointed to by symlinks in the given
+ * directory; otherwise symlinks are ignored.  Symlinks are always ignored in
+ * subdirectories, ie we intentionally don't pass down the process_symlinks
+ * flag to recursive calls.
  *
  * Errors are reported but not considered fatal.
  *
@@ -286,8 +286,7 @@ walkdir(const char *path,
 	{
 		char		subpath[MAXPGPATH * 2];
 
-		if (strcmp(de->d_name, ".") == 0 ||
-			strcmp(de->d_name, "..") == 0)
+		if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0)
 			continue;
 
 		snprintf(subpath, sizeof(subpath), "%s/%s", path, de->d_name);
@@ -371,8 +370,8 @@ pre_sync_fname(const char *fname, bool isdir)
  * fsync_fname -- Try to fsync a file or directory
  *
  * Ignores errors trying to open unreadable files, or trying to fsync
- * directories on systems where that isn't allowed/required.  All other errors
- * are fatal.
+ * directories on systems where that isn't allowed/required.  All other
+ * errors are fatal.
  */
 int
 fsync_fname(const char *fname, bool isdir)
@@ -427,8 +426,8 @@ fsync_fname(const char *fname, bool isdir)
 /*
  * fsync_parent_path -- fsync the parent path of a file or directory
  *
- * This is aimed at making file operations persistent on disk in case of
- * an OS crash or power failure.
+ * This is aimed at making file operations persistent on disk in case of an
+ * OS crash or power failure.
  */
 int
 fsync_parent_path(const char *fname)
@@ -453,7 +452,8 @@ fsync_parent_path(const char *fname)
 }
 
 /*
- * durable_rename -- rename(2) wrapper, issuing fsyncs required for durability
+ * durable_rename -- rename(2) wrapper, issuing fsyncs required for
+ * durability
  *
  * Wrapper around rename, similar to the backend version.
  */
@@ -495,8 +495,8 @@ durable_rename(const char *oldfile, const char *newfile)
 	/* Time to do the real deal... */
 	if (rename(oldfile, newfile) != 0)
 	{
-		pg_log_error("could not rename file \"%s\" to \"%s\": %m",
-					 oldfile, newfile);
+		pg_log_error("could not rename file \"%s\" to \"%s\": %m", oldfile,
+					 newfile);
 		return -1;
 	}
 
@@ -513,6 +513,186 @@ durable_rename(const char *oldfile, const char *newfile)
 	return 0;
 }
 
+/* Helper function to optionally prepend error string */
+static inline char *
+opt_errinfo(const char *addon_errmsg)
+{
+	char		buf[128];
+
+	if (addon_errmsg == NULL)
+		return "";
+
+	strcpy(buf, " ");
+	return strncat(buf, addon_errmsg, sizeof(buf) - 2);
+}
+
+/*
+ * Copies a relation file from src to dest. addon_errmsg is an optional
+ * addon error message (can be NULL or include schema/relName)
+ */
+void
+pg_copyfile(const char *src, const char *dest, const char *addon_errmsg,
+			pg_checksum_context *ctx)
+{
+#ifndef WIN32
+	int			src_fd;
+	int			dest_fd;
+	uint8	   *buffer;
+
+	/* copy in fairly large chunks for best efficiency */
+	const int	buffer_size = 50 * BLCKSZ;
+
+	if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+		pg_fatal("error while copying%s: could not open file \"%s\": %s",
+				 opt_errinfo(addon_errmsg), src, strerror(errno));
+
+	if ((dest_fd = open(dest, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+						pg_file_create_mode)) < 0)
+		pg_fatal("error while copying%s: could not create file \"%s\": %s",
+				 opt_errinfo(addon_errmsg), dest, strerror(errno));
+
+	buffer = pg_malloc(buffer_size);
+
+	/* perform data copying i.e read src source, write to destination */
+	while (true)
+	{
+		ssize_t		nbytes = read(src_fd, buffer, buffer_size);
+
+		if (nbytes < 0)
+			pg_fatal("error while copying%s: could not read file "
+					 "\"%s\": %s",
+					 opt_errinfo(addon_errmsg), src, strerror(errno));
+
+		if (nbytes == 0)
+			break;
+
+		errno = 0;
+		if (write(dest_fd, buffer, nbytes) != nbytes)
+		{
+			/*
+			 * if write didn't set errno, assume problem is no disk space
+			 */
+			if (errno == 0)
+				errno = ENOSPC;
+			pg_fatal("error while copying%s: could not write file \"%s\": %s",
+					 opt_errinfo(addon_errmsg), dest, strerror(errno));
+		}
+
+		if (pg_checksum_update(ctx, buffer, nbytes) < 0)
+			pg_fatal("could not calculate checksum of file \"%s\"", dest);
+	}
+
+	pg_free(buffer);
+	close(src_fd);
+	close(dest_fd);
+
+#else							/* WIN32 */
+	if (CopyFile(src, dest, true) == 0)
+	{
+		_dosmaperr(GetLastError());
+		pg_fatal("error while copying%s (\"%s\" to \"%s\"): %s", addon_errmsg,
+				 opt_errinfo(addon_errmsg), src, dest, strerror(errno));
+	}
+#endif							/* WIN32 */
+}
+
+/*
+ * pg_copyfile_offload()
+ *
+ * Clones/reflinks a relation file from src to dest using variety of methods
+ *
+ * addon_errmsg can be used to pass additional information in case of errors.
+ * flags, see PG_COPYFILE_* enum in file_utils.h
+ */
+void
+pg_copyfile_offload(const char *src, const char *dest,
+					const char *addon_errmsg, CopyFileMethod flags)
+{
+
+#ifdef WIN32
+	/* on WIN32 we ignore flags, we have no other choice */
+	if (CopyFile(src, dest, true) == 0)
+	{
+		_dosmaperr(GetLastError());
+		pg_fatal("error while copying%s (\"%s\" to \"%s\"): %s", addon_errmsg,
+				 opt_errinfo(addon_errmsg), src, dest, strerror(errno));
+	}
+#elif defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE)
+	/* on MacOS we ignore flags, we have no other choice */
+	if (copyfile(src, dest, NULL, COPYFILE_CLONE_FORCE) < 0)
+		pg_fatal("error while cloning%s: (\"%s\" to \"%s\"): %s",
+				 opt_errinfo(addon_errmsg), src, dest, strerror(errno));
+
+#elif defined(HAVE_COPY_FILE_RANGE) || defined(FICLONE)
+	int			src_fd;
+	int			dest_fd;
+	ssize_t		nbytes;
+
+	if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+		pg_fatal("error while copying%s: could not open file \"%s\": %s",
+				 opt_errinfo(addon_errmsg), src, strerror(errno));
+
+	if ((dest_fd = open(dest, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+						pg_file_create_mode)) < 0)
+		pg_fatal("error while copying%s: could not create file \"%s\": %s",
+				 opt_errinfo(addon_errmsg), dest, strerror(errno));
+
+	if (flags & PG_COPYFILE_COPY_FILE_RANGE)
+	{
+#ifdef HAVE_COPY_FILE_RANGE
+		do
+		{
+			nbytes = copy_file_range(src_fd, NULL, dest_fd, NULL, SSIZE_MAX, 0);
+			if (nbytes < 0 && errno != EINTR)
+				pg_fatal("error while copying%s: could not copy_file_range()"
+						 "from \"%s\" to \"%s\": %s",
+						 opt_errinfo(addon_errmsg), src, dest, strerror(errno));
+		} while (nbytes > 0);
+#else
+		pg_fatal("copy file accelaration via copy_file_range() is not supported on "
+				 "this platform");
+#endif
+	}
+	else if (flags & PG_COPYFILE_IOCTL_FICLONE)
+	{
+#if defined(__linux__) && defined(FICLONE)
+		if (ioctl(dest_fd, FICLONE, src_fd) < 0)
+		{
+			int			save_errno = errno;
+
+			unlink(dest);
+
+			pg_fatal("error while cloning%s: (\"%s\" to \"%s\"): %s",
+					 opt_errinfo(addon_errmsg), src, dest, strerror(save_errno));
+		}
+#else
+		pg_fatal("clone file accelaration via ioctl(FICLONE) is not supported on "
+				 "this platform");
+#endif
+	}
+
+	close(src_fd);
+	close(dest_fd);
+
+#else
+	if (flags & PG_COPYFILE_FALLBACK)
+		pg_copyfile(src, dest, addon_errmsg);
+	else
+		pg_fatal("none of the copy file acceleration methods are supported on this "
+				 "platform");
+#endif
+}
+
+/*  FIXME */
+bool
+pg_copyfile_offload_supported(const char *src, const char *dst,
+							  const char *addon_errmsg,
+							  CopyFileMethod flags)
+{
+	pg_copyfile_offload(src, dst, addon_errmsg, flags);
+	return true;
+}
+
 #endif							/* FRONTEND */
 
 /*
@@ -522,10 +702,8 @@ durable_rename(const char *oldfile, const char *newfile)
  * it should be a level from elog.h.
  */
 PGFileType
-get_dirent_type(const char *path,
-				const struct dirent *de,
-				bool look_through_symlinks,
-				int elevel)
+get_dirent_type(const char *path, const struct dirent *de,
+				bool look_through_symlinks, int elevel)
 {
 	PGFileType	result;
 
@@ -553,7 +731,6 @@ get_dirent_type(const char *path,
 		struct stat fst;
 		int			sret;
 
-
 		if (look_through_symlinks)
 			sret = stat(path, &fst);
 		else
@@ -563,11 +740,11 @@ get_dirent_type(const char *path,
 		{
 			result = PGFILETYPE_ERROR;
 #ifdef FRONTEND
-			pg_log_generic(elevel, PG_LOG_PRIMARY, "could not stat file \"%s\": %m", path);
+			pg_log_generic(elevel, PG_LOG_PRIMARY, "could not stat file \"%s\": %m",
+						   path);
 #else
-			ereport(elevel,
-					(errcode_for_file_access(),
-					 errmsg("could not stat file \"%s\": %m", path)));
+			ereport(elevel, (errcode_for_file_access(),
+							 errmsg("could not stat file \"%s\": %m", path)));
 #endif
 		}
 		else if (S_ISREG(fst.st_mode))
@@ -586,12 +763,12 @@ get_dirent_type(const char *path,
  * write.  The part of 'source' beginning after 'transferred' bytes is copied
  * to 'destination', and its length is returned.  'source' and 'destination'
  * may point to the same array, for in-place adjustment.  A return value of
- * zero indicates completion (for callers without a cheaper way to know that).
+ * zero indicates completion (for callers without a cheaper way to know
+ * that).
  */
 int
 compute_remaining_iovec(struct iovec *destination,
-						const struct iovec *source,
-						int iovcnt,
+						const struct iovec *source, int iovcnt,
 						size_t transferred)
 {
 	Assert(iovcnt > 0);
@@ -634,7 +811,8 @@ compute_remaining_iovec(struct iovec *destination,
  * error is returned, it is unspecified how much has been written.
  */
 ssize_t
-pg_pwritev_with_retry(int fd, const struct iovec *iov, int iovcnt, off_t offset)
+pg_pwritev_with_retry(int fd, const struct iovec *iov, int iovcnt,
+					  off_t offset)
 {
 	struct iovec iov_copy[PG_IOV_MAX];
 	ssize_t		sum = 0;
@@ -680,8 +858,8 @@ pg_pwritev_with_retry(int fd, const struct iovec *iov, int iovcnt, off_t offset)
  * Writes zeros to file worth "size" bytes at "offset" (from the start of the
  * file), using vectored I/O.
  *
- * Returns the total amount of data written.  On failure, a negative value
- * is returned with errno set.
+ * Returns the total amount of data written.  On failure, a negative value is
+ * returned with errno set.
  */
 ssize_t
 pg_pwrite_zeros(int fd, size_t size, off_t offset)
diff --git a/src/include/common/file_utils.h b/src/include/common/file_utils.h
index 02a940e310..0747109217 100644
--- a/src/include/common/file_utils.h
+++ b/src/include/common/file_utils.h
@@ -30,31 +30,48 @@ typedef enum DataDirSyncMethod
 	DATA_DIR_SYNC_METHOD_SYNCFS,
 } DataDirSyncMethod;
 
+typedef enum CopyFileMethod
+{
+	PG_COPYFILE_FALLBACK = 0x1,
+	PG_COPYFILE_IOCTL_FICLONE = 0x2,	/* Linux */
+	PG_COPYFILE_COPY_FILE_RANGE = 0x4,	/* FreeBSD & Linux >= 4.5 */
+	PG_COPYFILE_COPYFILE_CLONE_FORCE = 0x8	/* MacOS */
+} CopyFileMethod;
+#define PG_COPYFILE_ANY_WITH_FALLBACK (2 << 4) - 1
+
 struct iovec;					/* avoid including port/pg_iovec.h here */
 
 #ifdef FRONTEND
+#include "c.h"
+#include "common/checksum_helper.h"
 extern int	fsync_fname(const char *fname, bool isdir);
 extern void sync_pgdata(const char *pg_data, int serverVersion,
 						DataDirSyncMethod sync_method);
 extern void sync_dir_recurse(const char *dir, DataDirSyncMethod sync_method);
 extern int	durable_rename(const char *oldfile, const char *newfile);
 extern int	fsync_parent_path(const char *fname);
+
+extern void pg_copyfile(const char *src, const char *dest,
+						const char *addon_errmsg, pg_checksum_context *ctx);
+
+extern void pg_copyfile_offload(const char *src, const char *dest,
+								const char *addon_errmsg, CopyFileMethod flags);
+
+extern bool pg_copyfile_offload_supported(const char *src, const char *dst,
+										  const char *addon_errmsg,
+										  CopyFileMethod flags);
+
 #endif
 
-extern PGFileType get_dirent_type(const char *path,
-								  const struct dirent *de,
-								  bool look_through_symlinks,
-								  int elevel);
+extern PGFileType get_dirent_type(const char *path, const struct dirent *de,
+								  bool look_through_symlinks, int elevel);
 
 extern int	compute_remaining_iovec(struct iovec *destination,
-									const struct iovec *source,
-									int iovcnt,
+									const struct iovec *source, int iovcnt,
 									size_t transferred);
 
-extern ssize_t pg_pwritev_with_retry(int fd,
-									 const struct iovec *iov,
-									 int iovcnt,
-									 off_t offset);
+extern ssize_t pg_pwritev_with_retry(int fd, const struct iovec *iov,
+									 int iovcnt, off_t offset);
 
 extern ssize_t pg_pwrite_zeros(int fd, size_t size, off_t offset);
 
-- 
2.30.2

v3-0003-Add-copy-file-range-to-pg_upgrade-using-pg_copyfi.patchapplication/octet-stream; name=v3-0003-Add-copy-file-range-to-pg_upgrade-using-pg_copyfi.patchDownload
From 0e1753613897e12abd9d246176dfc0c83cdcece6 Mon Sep 17 00:00:00 2001
From: Jakub Wartak <jakub.wartak@enterprisedb.com>
Date: Fri, 5 Jan 2024 08:33:45 +0100
Subject: [PATCH v3 3/4] Add --copy-file-range to pg_upgrade using
 pg_copyfile_offload(). Original patch author is Thomas.

Co-authored-by: Thomas Munro <thomas.munro@gmail.com>

Discussion: https://www.postgresql.org/message-id/flat/CA%2BhUKGJvLLNQtzb%3DZWcTsYF8kv8cR_%3DH17CX-eL8qNixeC4DAw%40mail.gmail.com#ce606227e39df74c6b2abf80b8eab04a
---
 src/bin/pg_upgrade/check.c      | 409 ++++++++++++++++----------------
 src/bin/pg_upgrade/file.c       |  37 ++-
 src/bin/pg_upgrade/option.c     | 158 ++++++------
 src/bin/pg_upgrade/pg_upgrade.h | 150 ++++++------
 4 files changed, 401 insertions(+), 353 deletions(-)

diff --git a/src/bin/pg_upgrade/check.c b/src/bin/pg_upgrade/check.c
index 87c06628c6..3e6922f3fb 100644
--- a/src/bin/pg_upgrade/check.c
+++ b/src/bin/pg_upgrade/check.c
@@ -38,7 +38,6 @@ static void check_new_cluster_subscription_configuration(void);
 static void check_old_cluster_for_valid_slots(bool live_check);
 static void check_old_cluster_subscription_state(void);
 
-
 /*
  * fix_path_separator
  * For non-Windows, just return the argument.
@@ -72,19 +71,16 @@ output_check_banner(bool live_check)
 {
 	if (user_opts.check && live_check)
 	{
-		pg_log(PG_REPORT,
-			   "Performing Consistency Checks on Old Live Server\n"
+		pg_log(PG_REPORT, "Performing Consistency Checks on Old Live Server\n"
 			   "------------------------------------------------");
 	}
 	else
 	{
-		pg_log(PG_REPORT,
-			   "Performing Consistency Checks\n"
+		pg_log(PG_REPORT, "Performing Consistency Checks\n"
 			   "-----------------------------");
 	}
 }
 
-
 void
 check_and_dump_old_cluster(bool live_check)
 {
@@ -103,7 +99,6 @@ check_and_dump_old_cluster(bool live_check)
 
 	get_loadable_libraries();
 
-
 	/*
 	 * Check for various failure cases
 	 */
@@ -218,7 +213,6 @@ check_and_dump_old_cluster(bool live_check)
 		stop_postmaster(false);
 }
 
-
 void
 check_new_cluster(void)
 {
@@ -238,6 +232,9 @@ check_new_cluster(void)
 		case TRANSFER_MODE_LINK:
 			check_hard_link();
 			break;
+		case TRANSFER_MODE_COPY_FILE_RANGE:
+			check_copy_file_range();
+			break;
 	}
 
 	check_is_install_user(&new_cluster);
@@ -251,7 +248,6 @@ check_new_cluster(void)
 	check_new_cluster_subscription_configuration();
 }
 
-
 void
 report_clusters_compatible(void)
 {
@@ -265,12 +261,12 @@ report_clusters_compatible(void)
 		exit(0);
 	}
 
-	pg_log(PG_REPORT, "\n"
+	pg_log(PG_REPORT,
+		   "\n"
 		   "If pg_upgrade fails after this point, you must re-initdb the\n"
 		   "new cluster before continuing.");
 }
 
-
 void
 issue_warnings_and_set_wal_level(void)
 {
@@ -291,7 +287,6 @@ issue_warnings_and_set_wal_level(void)
 	stop_postmaster(false);
 }
 
-
 void
 output_completion_banner(char *deletion_script_file_name)
 {
@@ -308,7 +303,8 @@ output_completion_banner(char *deletion_script_file_name)
 	pg_log(PG_REPORT,
 		   "Optimizer statistics are not transferred by pg_upgrade.\n"
 		   "Once you start the new server, consider running:\n"
-		   "    %s/vacuumdb %s--all --analyze-in-stages", new_cluster.bindir, user_specification.data);
+		   "    %s/vacuumdb %s--all --analyze-in-stages",
+		   new_cluster.bindir, user_specification.data);
 
 	if (deletion_script_file_name)
 		pg_log(PG_REPORT,
@@ -316,7 +312,8 @@ output_completion_banner(char *deletion_script_file_name)
 			   "    %s",
 			   deletion_script_file_name);
 	else
-		pg_log(PG_REPORT,
+		pg_log(
+			   PG_REPORT,
 			   "Could not create a script to delete the old cluster's data files\n"
 			   "because user-defined tablespaces or the new cluster's data directory\n"
 			   "exist in the old cluster directory.  The old cluster's contents must\n"
@@ -325,7 +322,6 @@ output_completion_banner(char *deletion_script_file_name)
 	termPQExpBuffer(&user_specification);
 }
 
-
 void
 check_cluster_versions(void)
 {
@@ -341,11 +337,13 @@ check_cluster_versions(void)
 	 */
 
 	if (GET_MAJOR_VERSION(old_cluster.major_version) < 902)
-		pg_fatal("This utility can only upgrade from PostgreSQL version %s and later.",
+		pg_fatal(
+				 "This utility can only upgrade from PostgreSQL version %s and later.",
 				 "9.2");
 
 	/* Only current PG version is supported as a target */
-	if (GET_MAJOR_VERSION(new_cluster.major_version) != GET_MAJOR_VERSION(PG_VERSION_NUM))
+	if (GET_MAJOR_VERSION(new_cluster.major_version) !=
+		GET_MAJOR_VERSION(PG_VERSION_NUM))
 		pg_fatal("This utility can only upgrade to PostgreSQL version %s.",
 				 PG_MAJORVERSION);
 
@@ -355,20 +353,22 @@ check_cluster_versions(void)
 	 * older versions.
 	 */
 	if (old_cluster.major_version > new_cluster.major_version)
-		pg_fatal("This utility cannot be used to downgrade to older major PostgreSQL versions.");
+		pg_fatal("This utility cannot be used to downgrade to older major "
+				 "PostgreSQL versions.");
 
 	/* Ensure binaries match the designated data directories */
 	if (GET_MAJOR_VERSION(old_cluster.major_version) !=
 		GET_MAJOR_VERSION(old_cluster.bin_version))
-		pg_fatal("Old cluster data and binary directories are from different major versions.");
+		pg_fatal("Old cluster data and binary directories are from different major "
+				 "versions.");
 	if (GET_MAJOR_VERSION(new_cluster.major_version) !=
 		GET_MAJOR_VERSION(new_cluster.bin_version))
-		pg_fatal("New cluster data and binary directories are from different major versions.");
+		pg_fatal("New cluster data and binary directories are from different major "
+				 "versions.");
 
 	check_ok();
 }
 
-
 void
 check_cluster_compatibility(bool live_check)
 {
@@ -382,7 +382,6 @@ check_cluster_compatibility(bool live_check)
 				 "the old and new port numbers must be different.");
 }
 
-
 static void
 check_new_cluster_is_empty(void)
 {
@@ -393,15 +392,14 @@ check_new_cluster_is_empty(void)
 		int			relnum;
 		RelInfoArr *rel_arr = &new_cluster.dbarr.dbs[dbnum].rel_arr;
 
-		for (relnum = 0; relnum < rel_arr->nrels;
-			 relnum++)
+		for (relnum = 0; relnum < rel_arr->nrels; relnum++)
 		{
 			/* pg_largeobject and its index should be skipped */
 			if (strcmp(rel_arr->rels[relnum].nspname, "pg_catalog") != 0)
-				pg_fatal("New cluster database \"%s\" is not empty: found relation \"%s.%s\"",
+				pg_fatal("New cluster database \"%s\" is not empty: found relation "
+						 "\"%s.%s\"",
 						 new_cluster.dbarr.dbs[dbnum].db_name,
-						 rel_arr->rels[relnum].nspname,
-						 rel_arr->rels[relnum].relname);
+						 rel_arr->rels[relnum].nspname, rel_arr->rels[relnum].relname);
 		}
 	}
 }
@@ -428,8 +426,7 @@ check_for_new_tablespace_dir(void)
 		struct stat statbuf;
 
 		snprintf(new_tablespace_dir, MAXPGPATH, "%s%s",
-				 os_info.old_tablespaces[tblnum],
-				 new_cluster.tablespace_suffix);
+				 os_info.old_tablespaces[tblnum], new_cluster.tablespace_suffix);
 
 		if (stat(new_tablespace_dir, &statbuf) == 0 || errno != ENOENT)
 			pg_fatal("new cluster tablespace directory already exists: \"%s\"",
@@ -452,8 +449,8 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name)
 	char		old_cluster_pgdata[MAXPGPATH],
 				new_cluster_pgdata[MAXPGPATH];
 
-	*deletion_script_file_name = psprintf("%sdelete_old_cluster.%s",
-										  SCRIPT_PREFIX, SCRIPT_EXT);
+	*deletion_script_file_name =
+		psprintf("%sdelete_old_cluster.%s", SCRIPT_PREFIX, SCRIPT_EXT);
 
 	strlcpy(old_cluster_pgdata, old_cluster.pgdata, MAXPGPATH);
 	canonicalize_path(old_cluster_pgdata);
@@ -465,7 +462,9 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name)
 	if (path_is_prefix_of_path(old_cluster_pgdata, new_cluster_pgdata))
 	{
 		pg_log(PG_WARNING,
-			   "\nWARNING:  new data directory should not be inside the old data directory, i.e. %s", old_cluster_pgdata);
+			   "\nWARNING:  new data directory should not be inside the old data "
+			   "directory, i.e. %s",
+			   old_cluster_pgdata);
 
 		/* Unlink file in case it is left over from a previous run. */
 		unlink(*deletion_script_file_name);
@@ -489,7 +488,9 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name)
 		{
 			/* reproduce warning from CREATE TABLESPACE that is in the log */
 			pg_log(PG_WARNING,
-				   "\nWARNING:  user-defined tablespace locations should not be inside the data directory, i.e. %s", old_tablespace_dir);
+				   "\nWARNING:  user-defined tablespace locations should not be "
+				   "inside the data directory, i.e. %s",
+				   old_tablespace_dir);
 
 			/* Unlink file in case it is left over from a previous run. */
 			unlink(*deletion_script_file_name);
@@ -502,8 +503,8 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name)
 	prep_status("Creating script to delete old cluster");
 
 	if ((script = fopen_priv(*deletion_script_file_name, "w")) == NULL)
-		pg_fatal("could not open file \"%s\": %s",
-				 *deletion_script_file_name, strerror(errno));
+		pg_fatal("could not open file \"%s\": %s", *deletion_script_file_name,
+				 strerror(errno));
 
 #ifndef WIN32
 	/* add shebang header */
@@ -560,7 +561,6 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name)
 	check_ok();
 }
 
-
 /*
  *	check_is_install_user()
  *
@@ -576,8 +576,7 @@ check_is_install_user(ClusterInfo *cluster)
 	prep_status("Checking database user is the install user");
 
 	/* Can't use pg_authid because only superusers can view it. */
-	res = executeQueryOrDie(conn,
-							"SELECT rolsuper, oid "
+	res = executeQueryOrDie(conn, "SELECT rolsuper, oid "
 							"FROM pg_catalog.pg_roles "
 							"WHERE rolname = current_user "
 							"AND rolname !~ '^pg_'");
@@ -589,13 +588,11 @@ check_is_install_user(ClusterInfo *cluster)
 	 */
 	if (PQntuples(res) != 1 ||
 		atooid(PQgetvalue(res, 0, 1)) != BOOTSTRAP_SUPERUSERID)
-		pg_fatal("database user \"%s\" is not the install user",
-				 os_info.user);
+		pg_fatal("database user \"%s\" is not the install user", os_info.user);
 
 	PQclear(res);
 
-	res = executeQueryOrDie(conn,
-							"SELECT COUNT(*) "
+	res = executeQueryOrDie(conn, "SELECT COUNT(*) "
 							"FROM pg_catalog.pg_roles "
 							"WHERE rolname !~ '^pg_'");
 
@@ -617,7 +614,6 @@ check_is_install_user(ClusterInfo *cluster)
 	check_ok();
 }
 
-
 /*
  *	check_proper_datallowconn
  *
@@ -639,16 +635,15 @@ check_proper_datallowconn(ClusterInfo *cluster)
 
 	prep_status("Checking database connection settings");
 
-	snprintf(output_path, sizeof(output_path), "%s/%s",
-			 log_opts.basedir,
+	snprintf(output_path, sizeof(output_path), "%s/%s", log_opts.basedir,
 			 "databases_with_datallowconn_false.txt");
 
 	conn_template1 = connectToServer(cluster, "template1");
 
 	/* get database names */
-	dbres = executeQueryOrDie(conn_template1,
-							  "SELECT	datname, datallowconn "
-							  "FROM	pg_catalog.pg_database");
+	dbres =
+		executeQueryOrDie(conn_template1, "SELECT	datname, datallowconn "
+						  "FROM	pg_catalog.pg_database");
 
 	i_datname = PQfnumber(dbres, "datname");
 	i_datallowconn = PQfnumber(dbres, "datallowconn");
@@ -675,8 +670,8 @@ check_proper_datallowconn(ClusterInfo *cluster)
 			if (strcmp(datallowconn, "f") == 0)
 			{
 				if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
-					pg_fatal("could not open file \"%s\": %s",
-							 output_path, strerror(errno));
+					pg_fatal("could not open file \"%s\": %s", output_path,
+							 strerror(errno));
 
 				fprintf(script, "%s\n", datname);
 			}
@@ -691,19 +686,20 @@ check_proper_datallowconn(ClusterInfo *cluster)
 	{
 		fclose(script);
 		pg_log(PG_REPORT, "fatal");
-		pg_fatal("All non-template0 databases must allow connections, i.e. their\n"
+		pg_fatal(
+				 "All non-template0 databases must allow connections, i.e. their\n"
 				 "pg_database.datallowconn must be true.  Your installation contains\n"
 				 "non-template0 databases with their pg_database.datallowconn set to\n"
 				 "false.  Consider allowing connection for all non-template0 databases\n"
 				 "or drop the databases which do not allow connections.  A list of\n"
 				 "databases with the problem is in the file:\n"
-				 "    %s", output_path);
+				 "    %s",
+				 output_path);
 	}
 	else
 		check_ok();
 }
 
-
 /*
  *	check_for_prepared_transactions()
  *
@@ -718,8 +714,7 @@ check_for_prepared_transactions(ClusterInfo *cluster)
 
 	prep_status("Checking for prepared transactions");
 
-	res = executeQueryOrDie(conn,
-							"SELECT * "
+	res = executeQueryOrDie(conn, "SELECT * "
 							"FROM pg_catalog.pg_prepared_xacts");
 
 	if (PQntuples(res) != 0)
@@ -737,7 +732,6 @@ check_for_prepared_transactions(ClusterInfo *cluster)
 	check_ok();
 }
 
-
 /*
  *	check_for_isn_and_int8_passing_mismatch()
  *
@@ -762,8 +756,7 @@ check_for_isn_and_int8_passing_mismatch(ClusterInfo *cluster)
 		return;
 	}
 
-	snprintf(output_path, sizeof(output_path), "%s/%s",
-			 log_opts.basedir,
+	snprintf(output_path, sizeof(output_path), "%s/%s", log_opts.basedir,
 			 "contrib_isn_and_int8_pass_by_value.txt");
 
 	for (dbnum = 0; dbnum < cluster->dbarr.ndbs; dbnum++)
@@ -778,8 +771,7 @@ check_for_isn_and_int8_passing_mismatch(ClusterInfo *cluster)
 		PGconn	   *conn = connectToServer(cluster, active_db->db_name);
 
 		/* Find any functions coming from contrib/isn */
-		res = executeQueryOrDie(conn,
-								"SELECT n.nspname, p.proname "
+		res = executeQueryOrDie(conn, "SELECT n.nspname, p.proname "
 								"FROM	pg_catalog.pg_proc p, "
 								"		pg_catalog.pg_namespace n "
 								"WHERE	p.pronamespace = n.oid AND "
@@ -791,15 +783,14 @@ check_for_isn_and_int8_passing_mismatch(ClusterInfo *cluster)
 		for (rowno = 0; rowno < ntups; rowno++)
 		{
 			if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
-				pg_fatal("could not open file \"%s\": %s",
-						 output_path, strerror(errno));
+				pg_fatal("could not open file \"%s\": %s", output_path,
+						 strerror(errno));
 			if (!db_used)
 			{
 				fprintf(script, "In database: %s\n", active_db->db_name);
 				db_used = true;
 			}
-			fprintf(script, "  %s.%s\n",
-					PQgetvalue(res, rowno, i_nspname),
+			fprintf(script, "  %s.%s\n", PQgetvalue(res, rowno, i_nspname),
 					PQgetvalue(res, rowno, i_proname));
 		}
 
@@ -812,13 +803,17 @@ check_for_isn_and_int8_passing_mismatch(ClusterInfo *cluster)
 	{
 		fclose(script);
 		pg_log(PG_REPORT, "fatal");
-		pg_fatal("Your installation contains \"contrib/isn\" functions which rely on the\n"
+		pg_fatal(
+				 "Your installation contains \"contrib/isn\" functions which rely on "
+				 "the\n"
 				 "bigint data type.  Your old and new clusters pass bigint values\n"
 				 "differently so this cluster cannot currently be upgraded.  You can\n"
 				 "manually dump databases in the old cluster that use \"contrib/isn\"\n"
-				 "facilities, drop them, perform the upgrade, and then restore them.  A\n"
+				 "facilities, drop them, perform the upgrade, and then restore them.  "
+				 "A\n"
 				 "list of the problem functions is in the file:\n"
-				 "    %s", output_path);
+				 "    %s",
+				 output_path);
 	}
 	else
 		check_ok();
@@ -836,8 +831,7 @@ check_for_user_defined_postfix_ops(ClusterInfo *cluster)
 
 	prep_status("Checking for user-defined postfix operators");
 
-	snprintf(output_path, sizeof(output_path), "%s/%s",
-			 log_opts.basedir,
+	snprintf(output_path, sizeof(output_path), "%s/%s", log_opts.basedir,
 			 "postfix_ops.txt");
 
 	/* Find any user defined postfix operators */
@@ -861,8 +855,7 @@ check_for_user_defined_postfix_ops(ClusterInfo *cluster)
 		 * #define is ever changed, the cutoff we want to use is the value
 		 * used by pre-version 14 servers, not that of some future version.
 		 */
-		res = executeQueryOrDie(conn,
-								"SELECT o.oid AS oproid, "
+		res = executeQueryOrDie(conn, "SELECT o.oid AS oproid, "
 								"       n.nspname AS oprnsp, "
 								"       o.oprname, "
 								"       tn.nspname AS typnsp, "
@@ -884,20 +877,18 @@ check_for_user_defined_postfix_ops(ClusterInfo *cluster)
 		i_typname = PQfnumber(res, "typname");
 		for (rowno = 0; rowno < ntups; rowno++)
 		{
-			if (script == NULL &&
-				(script = fopen_priv(output_path, "w")) == NULL)
-				pg_fatal("could not open file \"%s\": %s",
-						 output_path, strerror(errno));
+			if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
+				pg_fatal("could not open file \"%s\": %s", output_path,
+						 strerror(errno));
 			if (!db_used)
 			{
 				fprintf(script, "In database: %s\n", active_db->db_name);
 				db_used = true;
 			}
-			fprintf(script, "  (oid=%s) %s.%s (%s.%s, NONE)\n",
-					PQgetvalue(res, rowno, i_oproid),
-					PQgetvalue(res, rowno, i_oprnsp),
-					PQgetvalue(res, rowno, i_oprname),
-					PQgetvalue(res, rowno, i_typnsp),
+			fprintf(
+					script, "  (oid=%s) %s.%s (%s.%s, NONE)\n",
+					PQgetvalue(res, rowno, i_oproid), PQgetvalue(res, rowno, i_oprnsp),
+					PQgetvalue(res, rowno, i_oprname), PQgetvalue(res, rowno, i_typnsp),
 					PQgetvalue(res, rowno, i_typname));
 		}
 
@@ -910,11 +901,14 @@ check_for_user_defined_postfix_ops(ClusterInfo *cluster)
 	{
 		fclose(script);
 		pg_log(PG_REPORT, "fatal");
-		pg_fatal("Your installation contains user-defined postfix operators, which are not\n"
-				 "supported anymore.  Consider dropping the postfix operators and replacing\n"
+		pg_fatal("Your installation contains user-defined postfix operators, which "
+				 "are not\n"
+				 "supported anymore.  Consider dropping the postfix operators and "
+				 "replacing\n"
 				 "them with prefix operators or function calls.\n"
 				 "A list of user-defined postfix operators is in the file:\n"
-				 "    %s", output_path);
+				 "    %s",
+				 output_path);
 	}
 	else
 		check_ok();
@@ -936,8 +930,7 @@ check_for_incompatible_polymorphics(ClusterInfo *cluster)
 
 	prep_status("Checking for incompatible polymorphic functions");
 
-	snprintf(output_path, sizeof(output_path), "%s/%s",
-			 log_opts.basedir,
+	snprintf(output_path, sizeof(output_path), "%s/%s", log_opts.basedir,
 			 "incompatible_polymorphics.txt");
 
 	/* The set of problematic functions varies a bit in different versions */
@@ -975,7 +968,8 @@ check_for_incompatible_polymorphics(ClusterInfo *cluster)
 		 * #define is ever changed, the cutoff we want to use is the value
 		 * used by pre-version 14 servers, not that of some future version.
 		 */
-		res = executeQueryOrDie(conn,
+		res = executeQueryOrDie(
+								conn,
 		/* Aggregate transition functions */
 								"SELECT 'aggregate' AS objkind, p.oid::regprocedure::text AS objname "
 								"FROM pg_proc AS p "
@@ -1002,9 +996,7 @@ check_for_incompatible_polymorphics(ClusterInfo *cluster)
 								"WHERE op.oid >= 16384 "
 								"AND oprcode = ANY(ARRAY[%s]::regprocedure[]) "
 								"AND oprleft = ANY(ARRAY['anyarray', 'anyelement']::regtype[]);",
-								old_polymorphics.data,
-								old_polymorphics.data,
-								old_polymorphics.data);
+								old_polymorphics.data, old_polymorphics.data, old_polymorphics.data);
 
 		ntups = PQntuples(res);
 
@@ -1013,18 +1005,16 @@ check_for_incompatible_polymorphics(ClusterInfo *cluster)
 
 		for (int rowno = 0; rowno < ntups; rowno++)
 		{
-			if (script == NULL &&
-				(script = fopen_priv(output_path, "w")) == NULL)
-				pg_fatal("could not open file \"%s\": %s",
-						 output_path, strerror(errno));
+			if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
+				pg_fatal("could not open file \"%s\": %s", output_path,
+						 strerror(errno));
 			if (!db_used)
 			{
 				fprintf(script, "In database: %s\n", active_db->db_name);
 				db_used = true;
 			}
 
-			fprintf(script, "  %s: %s\n",
-					PQgetvalue(res, rowno, i_objkind),
+			fprintf(script, "  %s: %s\n", PQgetvalue(res, rowno, i_objkind),
 					PQgetvalue(res, rowno, i_objname));
 		}
 
@@ -1036,13 +1026,18 @@ check_for_incompatible_polymorphics(ClusterInfo *cluster)
 	{
 		fclose(script);
 		pg_log(PG_REPORT, "fatal");
-		pg_fatal("Your installation contains user-defined objects that refer to internal\n"
-				 "polymorphic functions with arguments of type \"anyarray\" or \"anyelement\".\n"
-				 "These user-defined objects must be dropped before upgrading and restored\n"
-				 "afterwards, changing them to refer to the new corresponding functions with\n"
+		pg_fatal("Your installation contains user-defined objects that refer to "
+				 "internal\n"
+				 "polymorphic functions with arguments of type \"anyarray\" or "
+				 "\"anyelement\".\n"
+				 "These user-defined objects must be dropped before upgrading and "
+				 "restored\n"
+				 "afterwards, changing them to refer to the new corresponding "
+				 "functions with\n"
 				 "arguments of type \"anycompatiblearray\" and \"anycompatible\".\n"
 				 "A list of the problematic objects is in the file:\n"
-				 "    %s", output_path);
+				 "    %s",
+				 output_path);
 	}
 	else
 		check_ok();
@@ -1062,8 +1057,7 @@ check_for_tables_with_oids(ClusterInfo *cluster)
 
 	prep_status("Checking for tables WITH OIDS");
 
-	snprintf(output_path, sizeof(output_path), "%s/%s",
-			 log_opts.basedir,
+	snprintf(output_path, sizeof(output_path), "%s/%s", log_opts.basedir,
 			 "tables_with_oids.txt");
 
 	/* Find any tables declared WITH OIDS */
@@ -1078,8 +1072,7 @@ check_for_tables_with_oids(ClusterInfo *cluster)
 		DbInfo	   *active_db = &cluster->dbarr.dbs[dbnum];
 		PGconn	   *conn = connectToServer(cluster, active_db->db_name);
 
-		res = executeQueryOrDie(conn,
-								"SELECT n.nspname, c.relname "
+		res = executeQueryOrDie(conn, "SELECT n.nspname, c.relname "
 								"FROM	pg_catalog.pg_class c, "
 								"		pg_catalog.pg_namespace n "
 								"WHERE	c.relnamespace = n.oid AND "
@@ -1092,15 +1085,14 @@ check_for_tables_with_oids(ClusterInfo *cluster)
 		for (rowno = 0; rowno < ntups; rowno++)
 		{
 			if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
-				pg_fatal("could not open file \"%s\": %s",
-						 output_path, strerror(errno));
+				pg_fatal("could not open file \"%s\": %s", output_path,
+						 strerror(errno));
 			if (!db_used)
 			{
 				fprintf(script, "In database: %s\n", active_db->db_name);
 				db_used = true;
 			}
-			fprintf(script, "  %s.%s\n",
-					PQgetvalue(res, rowno, i_nspname),
+			fprintf(script, "  %s.%s\n", PQgetvalue(res, rowno, i_nspname),
 					PQgetvalue(res, rowno, i_relname));
 		}
 
@@ -1113,17 +1105,18 @@ check_for_tables_with_oids(ClusterInfo *cluster)
 	{
 		fclose(script);
 		pg_log(PG_REPORT, "fatal");
-		pg_fatal("Your installation contains tables declared WITH OIDS, which is not\n"
+		pg_fatal(
+				 "Your installation contains tables declared WITH OIDS, which is not\n"
 				 "supported anymore.  Consider removing the oid column using\n"
 				 "    ALTER TABLE ... SET WITHOUT OIDS;\n"
 				 "A list of tables with the problem is in the file:\n"
-				 "    %s", output_path);
+				 "    %s",
+				 output_path);
 	}
 	else
 		check_ok();
 }
 
-
 /*
  * check_for_composite_data_type_usage()
  *	Check for system-defined composite types used in user tables.
@@ -1143,8 +1136,7 @@ check_for_composite_data_type_usage(ClusterInfo *cluster)
 
 	prep_status("Checking for system-defined composite types in user tables");
 
-	snprintf(output_path, sizeof(output_path), "%s/%s",
-			 log_opts.basedir,
+	snprintf(output_path, sizeof(output_path), "%s/%s", log_opts.basedir,
 			 "tables_using_composite.txt");
 
 	/*
@@ -1160,7 +1152,8 @@ check_for_composite_data_type_usage(ClusterInfo *cluster)
 	 */
 	firstUserOid = 16384;
 
-	base_query = psprintf("SELECT t.oid FROM pg_catalog.pg_type t "
+	base_query = psprintf(
+						  "SELECT t.oid FROM pg_catalog.pg_type t "
 						  "LEFT JOIN pg_catalog.pg_namespace n ON t.typnamespace = n.oid "
 						  " WHERE typtype = 'c' AND (t.oid < %u OR nspname = 'information_schema')",
 						  firstUserOid);
@@ -1172,12 +1165,14 @@ check_for_composite_data_type_usage(ClusterInfo *cluster)
 	if (found)
 	{
 		pg_log(PG_REPORT, "fatal");
-		pg_fatal("Your installation contains system-defined composite types in user tables.\n"
+		pg_fatal("Your installation contains system-defined composite types in "
+				 "user tables.\n"
 				 "These type OIDs are not stable across PostgreSQL versions,\n"
 				 "so this cluster cannot currently be upgraded.  You can\n"
 				 "drop the problem columns and restart the upgrade.\n"
 				 "A list of the problem columns is in the file:\n"
-				 "    %s", output_path);
+				 "    %s",
+				 output_path);
 	}
 	else
 		check_ok();
@@ -1202,15 +1197,15 @@ check_for_reg_data_type_usage(ClusterInfo *cluster)
 
 	prep_status("Checking for reg* data types in user tables");
 
-	snprintf(output_path, sizeof(output_path), "%s/%s",
-			 log_opts.basedir,
+	snprintf(output_path, sizeof(output_path), "%s/%s", log_opts.basedir,
 			 "tables_using_reg.txt");
 
 	/*
 	 * Note: older servers will not have all of these reg* types, so we have
 	 * to write the query like this rather than depending on casts to regtype.
 	 */
-	found = check_for_data_types_usage(cluster,
+	found = check_for_data_types_usage(
+									   cluster,
 									   "SELECT oid FROM pg_catalog.pg_type t "
 									   "WHERE t.typnamespace = "
 									   "        (SELECT oid FROM pg_catalog.pg_namespace "
@@ -1233,12 +1228,15 @@ check_for_reg_data_type_usage(ClusterInfo *cluster)
 	if (found)
 	{
 		pg_log(PG_REPORT, "fatal");
-		pg_fatal("Your installation contains one of the reg* data types in user tables.\n"
+		pg_fatal(
+				 "Your installation contains one of the reg* data types in user "
+				 "tables.\n"
 				 "These data types reference system OIDs that are not preserved by\n"
 				 "pg_upgrade, so this cluster cannot currently be upgraded.  You can\n"
 				 "drop the problem columns and restart the upgrade.\n"
 				 "A list of the problem columns is in the file:\n"
-				 "    %s", output_path);
+				 "    %s",
+				 output_path);
 	}
 	else
 		check_ok();
@@ -1262,12 +1260,14 @@ check_for_aclitem_data_type_usage(ClusterInfo *cluster)
 	if (check_for_data_type_usage(cluster, "pg_catalog.aclitem", output_path))
 	{
 		pg_log(PG_REPORT, "fatal");
-		pg_fatal("Your installation contains the \"aclitem\" data type in user tables.\n"
+		pg_fatal(
+				 "Your installation contains the \"aclitem\" data type in user tables.\n"
 				 "The internal format of \"aclitem\" changed in PostgreSQL version 16\n"
 				 "so this cluster cannot currently be upgraded.  You can drop the\n"
 				 "problem columns and restart the upgrade.  A list of the problem\n"
 				 "columns is in the file:\n"
-				 "    %s", output_path);
+				 "    %s",
+				 output_path);
 	}
 	else
 		check_ok();
@@ -1280,34 +1280,34 @@ check_for_aclitem_data_type_usage(ClusterInfo *cluster)
  *	the exact list.
  */
 static void
-check_for_removed_data_type_usage(ClusterInfo *cluster, const char *version,
+check_for_removed_data_type_usage(ClusterInfo *cluster,
+								  const char *version,
 								  const char *datatype)
 {
 	char		output_path[MAXPGPATH];
 	char		typename[NAMEDATALEN];
 
-	prep_status("Checking for removed \"%s\" data type in user tables",
-				datatype);
+	prep_status("Checking for removed \"%s\" data type in user tables", datatype);
 
-	snprintf(output_path, sizeof(output_path), "tables_using_%s.txt",
-			 datatype);
+	snprintf(output_path, sizeof(output_path), "tables_using_%s.txt", datatype);
 	snprintf(typename, sizeof(typename), "pg_catalog.%s", datatype);
 
 	if (check_for_data_type_usage(cluster, typename, output_path))
 	{
 		pg_log(PG_REPORT, "fatal");
-		pg_fatal("Your installation contains the \"%s\" data type in user tables.\n"
+		pg_fatal(
+				 "Your installation contains the \"%s\" data type in user tables.\n"
 				 "The \"%s\" type has been removed in PostgreSQL version %s,\n"
 				 "so this cluster cannot currently be upgraded.  You can drop the\n"
 				 "problem columns, or change them to another data type, and restart\n"
 				 "the upgrade.  A list of the problem columns is in the file:\n"
-				 "    %s", datatype, datatype, version, output_path);
+				 "    %s",
+				 datatype, datatype, version, output_path);
 	}
 	else
 		check_ok();
 }
 
-
 /*
  * check_for_jsonb_9_4_usage()
  *
@@ -1320,19 +1320,20 @@ check_for_jsonb_9_4_usage(ClusterInfo *cluster)
 
 	prep_status("Checking for incompatible \"jsonb\" data type");
 
-	snprintf(output_path, sizeof(output_path), "%s/%s",
-			 log_opts.basedir,
+	snprintf(output_path, sizeof(output_path), "%s/%s", log_opts.basedir,
 			 "tables_using_jsonb.txt");
 
 	if (check_for_data_type_usage(cluster, "pg_catalog.jsonb", output_path))
 	{
 		pg_log(PG_REPORT, "fatal");
-		pg_fatal("Your installation contains the \"jsonb\" data type in user tables.\n"
+		pg_fatal(
+				 "Your installation contains the \"jsonb\" data type in user tables.\n"
 				 "The internal format of \"jsonb\" changed during 9.4 beta so this\n"
 				 "cluster cannot currently be upgraded.  You can\n"
 				 "drop the problem columns and restart the upgrade.\n"
 				 "A list of the problem columns is in the file:\n"
-				 "    %s", output_path);
+				 "    %s",
+				 output_path);
 	}
 	else
 		check_ok();
@@ -1356,12 +1357,10 @@ check_for_pg_role_prefix(ClusterInfo *cluster)
 
 	prep_status("Checking for roles starting with \"pg_\"");
 
-	snprintf(output_path, sizeof(output_path), "%s/%s",
-			 log_opts.basedir,
+	snprintf(output_path, sizeof(output_path), "%s/%s", log_opts.basedir,
 			 "pg_role_prefix.txt");
 
-	res = executeQueryOrDie(conn,
-							"SELECT oid AS roloid, rolname "
+	res = executeQueryOrDie(conn, "SELECT oid AS roloid, rolname "
 							"FROM pg_catalog.pg_roles "
 							"WHERE rolname ~ '^pg_'");
 
@@ -1371,10 +1370,8 @@ check_for_pg_role_prefix(ClusterInfo *cluster)
 	for (int rowno = 0; rowno < ntups; rowno++)
 	{
 		if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
-			pg_fatal("could not open file \"%s\": %s",
-					 output_path, strerror(errno));
-		fprintf(script, "%s (oid=%s)\n",
-				PQgetvalue(res, rowno, i_rolname),
+			pg_fatal("could not open file \"%s\": %s", output_path, strerror(errno));
+		fprintf(script, "%s (oid=%s)\n", PQgetvalue(res, rowno, i_rolname),
 				PQgetvalue(res, rowno, i_roloid));
 	}
 
@@ -1390,7 +1387,8 @@ check_for_pg_role_prefix(ClusterInfo *cluster)
 				 "\"pg_\" is a reserved prefix for system roles.  The cluster\n"
 				 "cannot be upgraded until these roles are renamed.\n"
 				 "A list of roles starting with \"pg_\" is in the file:\n"
-				 "    %s", output_path);
+				 "    %s",
+				 output_path);
 	}
 	else
 		check_ok();
@@ -1408,8 +1406,7 @@ check_for_user_defined_encoding_conversions(ClusterInfo *cluster)
 
 	prep_status("Checking for user-defined encoding conversions");
 
-	snprintf(output_path, sizeof(output_path), "%s/%s",
-			 log_opts.basedir,
+	snprintf(output_path, sizeof(output_path), "%s/%s", log_opts.basedir,
 			 "encoding_conversions.txt");
 
 	/* Find any user defined encoding conversions */
@@ -1431,29 +1428,27 @@ check_for_user_defined_encoding_conversions(ClusterInfo *cluster)
 		 * #define is ever changed, the cutoff we want to use is the value
 		 * used by pre-version 14 servers, not that of some future version.
 		 */
-		res = executeQueryOrDie(conn,
-								"SELECT c.oid as conoid, c.conname, n.nspname "
-								"FROM pg_catalog.pg_conversion c, "
-								"     pg_catalog.pg_namespace n "
-								"WHERE c.connamespace = n.oid AND "
-								"      c.oid >= 16384");
+		res =
+			executeQueryOrDie(conn, "SELECT c.oid as conoid, c.conname, n.nspname "
+							  "FROM pg_catalog.pg_conversion c, "
+							  "     pg_catalog.pg_namespace n "
+							  "WHERE c.connamespace = n.oid AND "
+							  "      c.oid >= 16384");
 		ntups = PQntuples(res);
 		i_conoid = PQfnumber(res, "conoid");
 		i_conname = PQfnumber(res, "conname");
 		i_nspname = PQfnumber(res, "nspname");
 		for (rowno = 0; rowno < ntups; rowno++)
 		{
-			if (script == NULL &&
-				(script = fopen_priv(output_path, "w")) == NULL)
-				pg_fatal("could not open file \"%s\": %s",
-						 output_path, strerror(errno));
+			if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
+				pg_fatal("could not open file \"%s\": %s", output_path,
+						 strerror(errno));
 			if (!db_used)
 			{
 				fprintf(script, "In database: %s\n", active_db->db_name);
 				db_used = true;
 			}
-			fprintf(script, "  (oid=%s) %s.%s\n",
-					PQgetvalue(res, rowno, i_conoid),
+			fprintf(script, "  (oid=%s) %s.%s\n", PQgetvalue(res, rowno, i_conoid),
 					PQgetvalue(res, rowno, i_nspname),
 					PQgetvalue(res, rowno, i_conname));
 		}
@@ -1467,12 +1462,14 @@ check_for_user_defined_encoding_conversions(ClusterInfo *cluster)
 	{
 		fclose(script);
 		pg_log(PG_REPORT, "fatal");
-		pg_fatal("Your installation contains user-defined encoding conversions.\n"
+		pg_fatal(
+				 "Your installation contains user-defined encoding conversions.\n"
 				 "The conversion function parameters changed in PostgreSQL version 14\n"
 				 "so this cluster cannot currently be upgraded.  You can remove the\n"
 				 "encoding conversions in the old cluster and restart the upgrade.\n"
 				 "A list of user-defined encoding conversions is in the file:\n"
-				 "    %s", output_path);
+				 "    %s",
+				 output_path);
 	}
 	else
 		check_ok();
@@ -1524,7 +1521,8 @@ check_new_cluster_logical_replication_slots(void)
 
 	PQclear(res);
 
-	res = executeQueryOrDie(conn, "SELECT setting FROM pg_settings "
+	res = executeQueryOrDie(
+							conn, "SELECT setting FROM pg_settings "
 							"WHERE name IN ('wal_level', 'max_replication_slots') "
 							"ORDER BY name DESC;");
 
@@ -1534,13 +1532,13 @@ check_new_cluster_logical_replication_slots(void)
 	wal_level = PQgetvalue(res, 0, 0);
 
 	if (strcmp(wal_level, "logical") != 0)
-		pg_fatal("wal_level must be \"logical\", but is set to \"%s\"",
-				 wal_level);
+		pg_fatal("wal_level must be \"logical\", but is set to \"%s\"", wal_level);
 
 	max_replication_slots = atoi(PQgetvalue(res, 1, 0));
 
 	if (nslots_on_old > max_replication_slots)
-		pg_fatal("max_replication_slots (%d) must be greater than or equal to the number of "
+		pg_fatal("max_replication_slots (%d) must be greater than or equal to the "
+				 "number of "
 				 "logical replication slots (%d) on the old cluster",
 				 max_replication_slots, nslots_on_old);
 
@@ -1587,7 +1585,8 @@ check_new_cluster_subscription_configuration(void)
 
 	max_replication_slots = atoi(PQgetvalue(res, 0, 0));
 	if (nsubs_on_old > max_replication_slots)
-		pg_fatal("max_replication_slots (%d) must be greater than or equal to the number of "
+		pg_fatal("max_replication_slots (%d) must be greater than or equal to the "
+				 "number of "
 				 "subscriptions (%d) on the old cluster",
 				 max_replication_slots, nsubs_on_old);
 
@@ -1611,8 +1610,7 @@ check_old_cluster_for_valid_slots(bool live_check)
 
 	prep_status("Checking for valid logical replication slots");
 
-	snprintf(output_path, sizeof(output_path), "%s/%s",
-			 log_opts.basedir,
+	snprintf(output_path, sizeof(output_path), "%s/%s", log_opts.basedir,
 			 "invalid_logical_slots.txt");
 
 	for (int dbnum = 0; dbnum < old_cluster.dbarr.ndbs; dbnum++)
@@ -1626,13 +1624,11 @@ check_old_cluster_for_valid_slots(bool live_check)
 			/* Is the slot usable? */
 			if (slot->invalid)
 			{
-				if (script == NULL &&
-					(script = fopen_priv(output_path, "w")) == NULL)
-					pg_fatal("could not open file \"%s\": %s",
-							 output_path, strerror(errno));
+				if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
+					pg_fatal("could not open file \"%s\": %s", output_path,
+							 strerror(errno));
 
-				fprintf(script, "The slot \"%s\" is invalid\n",
-						slot->slotname);
+				fprintf(script, "The slot \"%s\" is invalid\n", slot->slotname);
 
 				continue;
 			}
@@ -1646,13 +1642,11 @@ check_old_cluster_for_valid_slots(bool live_check)
 			 */
 			if (!live_check && !slot->caught_up)
 			{
-				if (script == NULL &&
-					(script = fopen_priv(output_path, "w")) == NULL)
-					pg_fatal("could not open file \"%s\": %s",
-							 output_path, strerror(errno));
+				if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
+					pg_fatal("could not open file \"%s\": %s", output_path,
+							 strerror(errno));
 
-				fprintf(script,
-						"The slot \"%s\" has not consumed the WAL yet\n",
+				fprintf(script, "The slot \"%s\" has not consumed the WAL yet\n",
 						slot->slotname);
 			}
 		}
@@ -1663,11 +1657,14 @@ check_old_cluster_for_valid_slots(bool live_check)
 		fclose(script);
 
 		pg_log(PG_REPORT, "fatal");
-		pg_fatal("Your installation contains logical replication slots that can't be upgraded.\n"
-				 "You can remove invalid slots and/or consume the pending WAL for other slots,\n"
+		pg_fatal("Your installation contains logical replication slots that can't "
+				 "be upgraded.\n"
+				 "You can remove invalid slots and/or consume the pending WAL for "
+				 "other slots,\n"
 				 "and then restart the upgrade.\n"
 				 "A list of the problematic slots is in the file:\n"
-				 "    %s", output_path);
+				 "    %s",
+				 output_path);
 	}
 
 	check_ok();
@@ -1689,8 +1686,7 @@ check_old_cluster_subscription_state(void)
 
 	prep_status("Checking for subscription state");
 
-	snprintf(output_path, sizeof(output_path), "%s/%s",
-			 log_opts.basedir,
+	snprintf(output_path, sizeof(output_path), "%s/%s", log_opts.basedir,
 			 "subs_invalid.txt");
 	for (int dbnum = 0; dbnum < old_cluster.dbarr.ndbs; dbnum++)
 	{
@@ -1705,8 +1701,8 @@ check_old_cluster_subscription_state(void)
 			 * Check that all the subscriptions have their respective
 			 * replication origin.
 			 */
-			res = executeQueryOrDie(conn,
-									"SELECT d.datname, s.subname "
+			res = executeQueryOrDie(
+									conn, "SELECT d.datname, s.subname "
 									"FROM pg_catalog.pg_subscription s "
 									"LEFT OUTER JOIN pg_catalog.pg_replication_origin o "
 									"	ON o.roname = 'pg_' || s.oid "
@@ -1718,11 +1714,12 @@ check_old_cluster_subscription_state(void)
 			for (int i = 0; i < ntup; i++)
 			{
 				if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
-					pg_fatal("could not open file \"%s\": %s",
-							 output_path, strerror(errno));
-				fprintf(script, "The replication origin is missing for database:\"%s\" subscription:\"%s\"\n",
-						PQgetvalue(res, i, 0),
-						PQgetvalue(res, i, 1));
+					pg_fatal("could not open file \"%s\": %s", output_path,
+							 strerror(errno));
+				fprintf(script,
+						"The replication origin is missing for database:\"%s\" "
+						"subscription:\"%s\"\n",
+						PQgetvalue(res, i, 0), PQgetvalue(res, i, 1));
 			}
 			PQclear(res);
 		}
@@ -1755,8 +1752,8 @@ check_old_cluster_subscription_state(void)
 		 * SUBREL_STATE_UNKNOWN: These states are not stored in the catalog,
 		 * so we need not allow these states.
 		 */
-		res = executeQueryOrDie(conn,
-								"SELECT r.srsubstate, s.subname, n.nspname, c.relname "
+		res = executeQueryOrDie(
+								conn, "SELECT r.srsubstate, s.subname, n.nspname, c.relname "
 								"FROM pg_catalog.pg_subscription_rel r "
 								"LEFT JOIN pg_catalog.pg_subscription s"
 								"	ON r.srsubid = s.oid "
@@ -1771,15 +1768,14 @@ check_old_cluster_subscription_state(void)
 		for (int i = 0; i < ntup; i++)
 		{
 			if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
-				pg_fatal("could not open file \"%s\": %s",
-						 output_path, strerror(errno));
-
-			fprintf(script, "The table sync state \"%s\" is not allowed for database:\"%s\" subscription:\"%s\" schema:\"%s\" relation:\"%s\"\n",
-					PQgetvalue(res, i, 0),
-					active_db->db_name,
-					PQgetvalue(res, i, 1),
-					PQgetvalue(res, i, 2),
-					PQgetvalue(res, i, 3));
+				pg_fatal("could not open file \"%s\": %s", output_path,
+						 strerror(errno));
+
+			fprintf(script,
+					"The table sync state \"%s\" is not allowed for database:\"%s\" "
+					"subscription:\"%s\" schema:\"%s\" relation:\"%s\"\n",
+					PQgetvalue(res, i, 0), active_db->db_name, PQgetvalue(res, i, 1),
+					PQgetvalue(res, i, 2), PQgetvalue(res, i, 3));
 		}
 
 		PQclear(res);
@@ -1790,10 +1786,13 @@ check_old_cluster_subscription_state(void)
 	{
 		fclose(script);
 		pg_log(PG_REPORT, "fatal");
-		pg_fatal("Your installation contains subscriptions without origin or having relations not in i (initialize) or r (ready) state.\n"
-				 "You can allow the initial sync to finish for all relations and then restart the upgrade.\n"
+		pg_fatal("Your installation contains subscriptions without origin or "
+				 "having relations not in i (initialize) or r (ready) state.\n"
+				 "You can allow the initial sync to finish for all relations and "
+				 "then restart the upgrade.\n"
 				 "A list of the problematic subscriptions is in the file:\n"
-				 "    %s", output_path);
+				 "    %s",
+				 output_path);
 	}
 	else
 		check_ok();
diff --git a/src/bin/pg_upgrade/file.c b/src/bin/pg_upgrade/file.c
index f91cc548ce..7272c7fdb7 100644
--- a/src/bin/pg_upgrade/file.c
+++ b/src/bin/pg_upgrade/file.c
@@ -37,6 +37,23 @@ cloneFile(const char *src, const char *dst, const char *schemaName,
 	pg_copyfile_offload(src, dst, action, PG_COPYFILE_IOCTL_FICLONE);
 }
 
+/*
+ * copyFileByRange()
+ *
+ * Copies a relation file from src to dst.
+ * schemaName/relName are relation's SQL name (used for error messages only).
+ */
+void
+copyFileByRange(const char *src, const char *dst, const char *schemaName,
+				const char *relName)
+{
+	char		action[1024];
+
+	snprintf(action, sizeof(action) - 1, "relation \"%s.%s\"", schemaName,
+			 relName);
+	pg_copyfile_offload(src, dst, action, PG_COPYFILE_COPY_FILE_RANGE);
+}
+
 /*
  * copyFile()
  *
@@ -264,6 +281,23 @@ check_file_clone(void)
 								  PG_COPYFILE_IOCTL_FICLONE);
 }
 
+void
+check_copy_file_range(void)
+{
+	char		existing_file[MAXPGPATH];
+	char		new_link_file[MAXPGPATH];
+
+	snprintf(existing_file, sizeof(existing_file), "%s/PG_VERSION",
+			 old_cluster.pgdata);
+	snprintf(new_link_file, sizeof(new_link_file),
+			 "%s/PG_VERSION.copy_file_range_test", new_cluster.pgdata);
+	unlink(new_link_file);		/* might fail */
+
+	/* will throw error in case it is not supported */
+	pg_copyfile_offload_supported(existing_file, new_link_file, NULL,
+								  PG_COPYFILE_COPY_FILE_RANGE);
+}
+
 void
 check_hard_link(void)
 {
@@ -278,7 +312,8 @@ check_hard_link(void)
 
 	if (link(existing_file, new_link_file) < 0)
 		pg_fatal(
-				 "could not create hard link between old and new data directories: %s\n"
+				 "could not create hard link between old and new data directories: "
+				 "%s\n"
 				 "In link mode the old and new data directories must be on the same "
 				 "file system.",
 				 strerror(errno));
diff --git a/src/bin/pg_upgrade/option.c b/src/bin/pg_upgrade/option.c
index b9d900d0db..9e992c7bbf 100644
--- a/src/bin/pg_upgrade/option.c
+++ b/src/bin/pg_upgrade/option.c
@@ -20,16 +20,13 @@
 #include "utils/pidfile.h"
 
 static void usage(void);
-static void check_required_directory(char **dirpath,
-									 const char *envVarName, bool useCwd,
-									 const char *cmdLineOption, const char *description,
-									 bool missingOk);
+static void check_required_directory(char **dirpath, const char *envVarName,
+									 bool useCwd, const char *cmdLineOption,
+									 const char *description, bool missingOk);
 #define FIX_DEFAULT_READ_ONLY "-c default_transaction_read_only=false"
 
-
 UserOpts	user_opts;
 
-
 /*
  * parseCommandLine()
  *
@@ -59,9 +56,9 @@ parseCommandLine(int argc, char *argv[])
 		{"clone", no_argument, NULL, 1},
 		{"copy", no_argument, NULL, 2},
 		{"sync-method", required_argument, NULL, 3},
+		{"copy-file-range", no_argument, NULL, 3},
 
-		{NULL, 0, NULL, 0}
-	};
+	{NULL, 0, NULL, 0}};
 	int			option;			/* Command line option */
 	int			optindex = 0;	/* used by getopt_long */
 	int			os_user_effective_id;
@@ -73,8 +70,10 @@ parseCommandLine(int argc, char *argv[])
 	os_info.progname = get_progname(argv[0]);
 
 	/* Process libpq env. variables; load values here for usage() output */
-	old_cluster.port = getenv("PGPORTOLD") ? atoi(getenv("PGPORTOLD")) : DEF_PGUPORT;
-	new_cluster.port = getenv("PGPORTNEW") ? atoi(getenv("PGPORTNEW")) : DEF_PGUPORT;
+	old_cluster.port =
+		getenv("PGPORTOLD") ? atoi(getenv("PGPORTOLD")) : DEF_PGUPORT;
+	new_cluster.port =
+		getenv("PGPORTNEW") ? atoi(getenv("PGPORTNEW")) : DEF_PGUPORT;
 
 	os_user_effective_id = get_user_info(&os_info.user);
 	/* we override just the database user name;  we got the OS id above */
@@ -197,12 +196,13 @@ parseCommandLine(int argc, char *argv[])
 			case 1:
 				user_opts.transfer_mode = TRANSFER_MODE_CLONE;
 				break;
-
 			case 2:
 				user_opts.transfer_mode = TRANSFER_MODE_COPY;
 				break;
-
 			case 3:
+				user_opts.transfer_mode = TRANSFER_MODE_COPY_FILE_RANGE;
+				break;
+			case 4:
 				if (!parse_sync_method(optarg, &unused))
 					exit(1);
 				user_opts.sync_method = pg_strdup(optarg);
@@ -229,8 +229,8 @@ parseCommandLine(int argc, char *argv[])
 	/* Turn off read-only mode;  add prefix to PGOPTIONS? */
 	if (getenv("PGOPTIONS"))
 	{
-		char	   *pgoptions = psprintf("%s %s", FIX_DEFAULT_READ_ONLY,
-										 getenv("PGOPTIONS"));
+		char	   *pgoptions =
+			psprintf("%s %s", FIX_DEFAULT_READ_ONLY, getenv("PGOPTIONS"));
 
 		setenv("PGOPTIONS", pgoptions, 1);
 		pfree(pgoptions);
@@ -239,16 +239,16 @@ parseCommandLine(int argc, char *argv[])
 		setenv("PGOPTIONS", FIX_DEFAULT_READ_ONLY, 1);
 
 	/* Get values from env if not already set */
-	check_required_directory(&old_cluster.bindir, "PGBINOLD", false,
-							 "-b", _("old cluster binaries reside"), false);
-	check_required_directory(&new_cluster.bindir, "PGBINNEW", false,
-							 "-B", _("new cluster binaries reside"), true);
-	check_required_directory(&old_cluster.pgdata, "PGDATAOLD", false,
-							 "-d", _("old cluster data resides"), false);
-	check_required_directory(&new_cluster.pgdata, "PGDATANEW", false,
-							 "-D", _("new cluster data resides"), false);
-	check_required_directory(&user_opts.socketdir, "PGSOCKETDIR", true,
-							 "-s", _("sockets will be created"), false);
+	check_required_directory(&old_cluster.bindir, "PGBINOLD", false, "-b",
+							 _("old cluster binaries reside"), false);
+	check_required_directory(&new_cluster.bindir, "PGBINNEW", false, "-B",
+							 _("new cluster binaries reside"), true);
+	check_required_directory(&old_cluster.pgdata, "PGDATAOLD", false, "-d",
+							 _("old cluster data resides"), false);
+	check_required_directory(&new_cluster.pgdata, "PGDATANEW", false, "-D",
+							 _("new cluster data resides"), false);
+	check_required_directory(&user_opts.socketdir, "PGSOCKETDIR", true, "-s",
+							 _("sockets will be created"), false);
 
 #ifdef WIN32
 
@@ -268,47 +268,73 @@ parseCommandLine(int argc, char *argv[])
 			pg_fatal("could not determine current directory");
 		canonicalize_path(cwd);
 		if (path_is_prefix_of_path(new_cluster_pgdata, cwd))
-			pg_fatal("cannot run pg_upgrade from inside the new cluster data directory on Windows");
+			pg_fatal("cannot run pg_upgrade from inside the new cluster data "
+					 "directory on Windows");
 	}
 #endif
 }
 
-
 static void
 usage(void)
 {
-	printf(_("pg_upgrade upgrades a PostgreSQL cluster to a different major version.\n\n"));
+	printf(_("pg_upgrade upgrades a PostgreSQL cluster to a different major "
+			 "version.\n\n"));
 	printf(_("Usage:\n"));
 	printf(_("  pg_upgrade [OPTION]...\n\n"));
 	printf(_("Options:\n"));
-	printf(_("  -b, --old-bindir=BINDIR       old cluster executable directory\n"));
-	printf(_("  -B, --new-bindir=BINDIR       new cluster executable directory (default\n"
+	printf(
+		   _("  -b, --old-bindir=BINDIR       old cluster executable directory\n"));
+	printf(_("  -B, --new-bindir=BINDIR       new cluster executable directory "
+			 "(default\n"
 			 "                                same directory as pg_upgrade)\n"));
-	printf(_("  -c, --check                   check clusters only, don't change any data\n"));
+	printf(_("  -c, --check                   check clusters only, don't change "
+			 "any data\n"));
 	printf(_("  -d, --old-datadir=DATADIR     old cluster data directory\n"));
 	printf(_("  -D, --new-datadir=DATADIR     new cluster data directory\n"));
-	printf(_("  -j, --jobs=NUM                number of simultaneous processes or threads to use\n"));
-	printf(_("  -k, --link                    link instead of copying files to new cluster\n"));
-	printf(_("  -N, --no-sync                 do not wait for changes to be written safely to disk\n"));
-	printf(_("  -o, --old-options=OPTIONS     old cluster options to pass to the server\n"));
-	printf(_("  -O, --new-options=OPTIONS     new cluster options to pass to the server\n"));
-	printf(_("  -p, --old-port=PORT           old cluster port number (default %d)\n"), old_cluster.port);
-	printf(_("  -P, --new-port=PORT           new cluster port number (default %d)\n"), new_cluster.port);
-	printf(_("  -r, --retain                  retain SQL and log files after success\n"));
-	printf(_("  -s, --socketdir=DIR           socket directory to use (default current dir.)\n"));
-	printf(_("  -U, --username=NAME           cluster superuser (default \"%s\")\n"), os_info.user);
-	printf(_("  -v, --verbose                 enable verbose internal logging\n"));
-	printf(_("  -V, --version                 display version information, then exit\n"));
-	printf(_("  --clone                       clone instead of copying files to new cluster\n"));
-	printf(_("  --copy                        copy files to new cluster (default)\n"));
-	printf(_("  --sync-method=METHOD          set method for syncing files to disk\n"));
+	printf(_("  -j, --jobs=NUM                number of simultaneous processes "
+			 "or threads to use\n"));
+	printf(_("  -k, --link                    link instead of copying files to "
+			 "new cluster\n"));
+	printf(_("  -N, --no-sync                 do not wait for changes to be "
+			 "written safely to disk\n"));
+	printf(_("  -o, --old-options=OPTIONS     old cluster options to pass to the "
+			 "server\n"));
+	printf(_("  -O, --new-options=OPTIONS     new cluster options to pass to the "
+			 "server\n"));
+	printf(_("  -p, --old-port=PORT           old cluster port number (default "
+			 "%d)\n"),
+		   old_cluster.port);
+	printf(_("  -P, --new-port=PORT           new cluster port number (default "
+			 "%d)\n"),
+		   new_cluster.port);
+	printf(_("  -r, --retain                  retain SQL and log files after "
+			 "success\n"));
+	printf(_("  -s, --socketdir=DIR           socket directory to use (default "
+			 "current dir.)\n"));
+	printf(
+		   _("  -U, --username=NAME           cluster superuser (default \"%s\")\n"),
+		   os_info.user);
+	printf(
+		   _("  -v, --verbose                 enable verbose internal logging\n"));
+	printf(_("  -V, --version                 display version information, then "
+			 "exit\n"));
+	printf(_("  --clone                       clone instead of copying files to "
+			 "new cluster\n"));
+	printf(_(
+			 "  --copy                        copy files to new cluster (default)\n"));
+	printf(_("  --copy-file-range             copy files to new cluster with "
+			 "copy_file_range()\n"));
+
+	printf(_("  --sync-method=METHOD          set method for syncing files to "
+			 "disk\n"));
 	printf(_("  -?, --help                    show this help, then exit\n"));
 	printf(_("\n"
 			 "Before running pg_upgrade you must:\n"
 			 "  create a new database cluster (using the new version of initdb)\n"
 			 "  shutdown the postmaster servicing the old cluster\n"
 			 "  shutdown the postmaster servicing the new cluster\n"));
-	printf(_("\n"
+	printf(
+		   _("\n"
 			 "When you run pg_upgrade, you must provide the following information:\n"
 			 "  the data directory for the old cluster  (-d DATADIR)\n"
 			 "  the data directory for the new cluster  (-D DATADIR)\n"
@@ -316,7 +342,8 @@ usage(void)
 			 "  the \"bin\" directory for the new version (-B BINDIR)\n"));
 	printf(_("\n"
 			 "For example:\n"
-			 "  pg_upgrade -d oldCluster/data -D newCluster/data -b oldCluster/bin -B newCluster/bin\n"
+			 "  pg_upgrade -d oldCluster/data -D newCluster/data -b "
+			 "oldCluster/bin -B newCluster/bin\n"
 			 "or\n"));
 #ifndef WIN32
 	printf(_("  $ export PGDATAOLD=oldCluster/data\n"
@@ -335,25 +362,25 @@ usage(void)
 	printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
 
-
 /*
  * check_required_directory()
  *
  * Checks a directory option.
- *	dirpath		  - the directory name supplied on the command line, or NULL
- *	envVarName	  - the name of an environment variable to get if dirpath is NULL
- *	useCwd		  - true if OK to default to CWD
+ *	dirpath		  - the directory name supplied on the command line, or
+ *NULL envVarName	  - the name of an environment variable to get if
+ *dirpath is NULL useCwd		  - true if OK to default to CWD
  *	cmdLineOption - the command line option for this directory
  *	description   - a description of this directory option
- *	missingOk	  - true if OK that both dirpath and envVarName are not existing
+ *	missingOk	  - true if OK that both dirpath and envVarName are not
+ *existing
  *
  * We use the last two arguments to construct a meaningful error message if the
  * user hasn't provided the required directory name.
  */
 static void
-check_required_directory(char **dirpath, const char *envVarName, bool useCwd,
-						 const char *cmdLineOption, const char *description,
-						 bool missingOk)
+check_required_directory(char **dirpath, const char *envVarName,
+						 bool useCwd, const char *cmdLineOption,
+						 const char *description, bool missingOk)
 {
 	if (*dirpath == NULL || strlen(*dirpath) == 0)
 	{
@@ -373,7 +400,8 @@ check_required_directory(char **dirpath, const char *envVarName, bool useCwd,
 			return;
 		else
 			pg_fatal("You must identify the directory where the %s.\n"
-					 "Please use the %s command-line option or the %s environment variable.",
+					 "Please use the %s command-line option or the %s environment "
+					 "variable.",
 					 description, cmdLineOption, envVarName);
 	}
 
@@ -440,13 +468,12 @@ adjust_data_dir(ClusterInfo *cluster)
 
 	if ((output = popen(cmd, "r")) == NULL ||
 		fgets(cmd_output, sizeof(cmd_output), output) == NULL)
-		pg_fatal("could not get data directory using %s: %s",
-				 cmd, strerror(errno));
+		pg_fatal("could not get data directory using %s: %s", cmd, strerror(errno));
 
 	rc = pclose(output);
 	if (rc != 0)
-		pg_fatal("could not get data directory using %s: %s",
-				 cmd, wait_result_to_str(rc));
+		pg_fatal("could not get data directory using %s: %s", cmd,
+				 wait_result_to_str(rc));
 
 	/* strip trailing newline and carriage return */
 	(void) pg_strip_crlf(cmd_output);
@@ -456,7 +483,6 @@ adjust_data_dir(ClusterInfo *cluster)
 	check_ok();
 }
 
-
 /*
  * get_sock_dir
  *
@@ -483,19 +509,17 @@ get_sock_dir(ClusterInfo *cluster, bool live_check)
 		FILE	   *fp;
 		int			lineno;
 
-		snprintf(filename, sizeof(filename), "%s/postmaster.pid",
-				 cluster->pgdata);
+		snprintf(filename, sizeof(filename), "%s/postmaster.pid", cluster->pgdata);
 		if ((fp = fopen(filename, "r")) == NULL)
-			pg_fatal("could not open file \"%s\": %s",
-					 filename, strerror(errno));
+			pg_fatal("could not open file \"%s\": %s", filename, strerror(errno));
 
 		for (lineno = 1;
 			 lineno <= Max(LOCK_FILE_LINE_PORT, LOCK_FILE_LINE_SOCKET_DIR);
 			 lineno++)
 		{
 			if (fgets(line, sizeof(line), fp) == NULL)
-				pg_fatal("could not read line %d from file \"%s\": %s",
-						 lineno, filename, strerror(errno));
+				pg_fatal("could not read line %d from file \"%s\": %s", lineno,
+						 filename, strerror(errno));
 
 			/* potentially overwrite user-supplied value */
 			if (lineno == LOCK_FILE_LINE_PORT)
diff --git a/src/bin/pg_upgrade/pg_upgrade.h b/src/bin/pg_upgrade/pg_upgrade.h
index d63f13fffc..f993d7255e 100644
--- a/src/bin/pg_upgrade/pg_upgrade.h
+++ b/src/bin/pg_upgrade/pg_upgrade.h
@@ -5,10 +5,10 @@
  *	src/bin/pg_upgrade/pg_upgrade.h
  */
 
-#include <unistd.h>
 #include <assert.h>
 #include <sys/stat.h>
 #include <sys/time.h>
+#include <unistd.h>
 
 #include "common/relpath.h"
 #include "libpq-fe.h"
@@ -17,18 +17,18 @@
 #undef pg_fatal
 
 /* Use port in the private/dynamic port number range */
-#define DEF_PGUPORT			50432
+#define DEF_PGUPORT 50432
 
-#define MAX_STRING			1024
-#define QUERY_ALLOC			8192
+#define MAX_STRING 1024
+#define QUERY_ALLOC 8192
 
-#define MESSAGE_WIDTH		62
+#define MESSAGE_WIDTH 62
 
-#define GET_MAJOR_VERSION(v)	((v) / 100)
+#define GET_MAJOR_VERSION(v) ((v) / 100)
 
 /* contains both global db information and CREATE DATABASE commands */
-#define GLOBALS_DUMP_FILE	"pg_upgrade_dump_globals.sql"
-#define DB_DUMP_FILE_MASK	"pg_upgrade_dump_%u.custom"
+#define GLOBALS_DUMP_FILE "pg_upgrade_dump_globals.sql"
+#define DB_DUMP_FILE_MASK "pg_upgrade_dump_%u.custom"
 
 /*
  * Base directories that include all the files generated internally, from the
@@ -36,14 +36,14 @@
  * BASE_OUTPUTDIR/$timestamp/{LOG_OUTPUTDIR,DUMP_OUTPUTDIR} to ensure their
  * uniqueness in each run.
  */
-#define BASE_OUTPUTDIR		"pg_upgrade_output.d"
-#define LOG_OUTPUTDIR		 "log"
-#define DUMP_OUTPUTDIR		 "dump"
+#define BASE_OUTPUTDIR "pg_upgrade_output.d"
+#define LOG_OUTPUTDIR "log"
+#define DUMP_OUTPUTDIR "dump"
 
-#define DB_DUMP_LOG_FILE_MASK	"pg_upgrade_dump_%u.log"
-#define SERVER_LOG_FILE		"pg_upgrade_server.log"
-#define UTILITY_LOG_FILE	"pg_upgrade_utility.log"
-#define INTERNAL_LOG_FILE	"pg_upgrade_internal.log"
+#define DB_DUMP_LOG_FILE_MASK "pg_upgrade_dump_%u.log"
+#define SERVER_LOG_FILE "pg_upgrade_server.log"
+#define UTILITY_LOG_FILE "pg_upgrade_utility.log"
+#define INTERNAL_LOG_FILE "pg_upgrade_internal.log"
 
 extern char *output_files[];
 
@@ -64,44 +64,42 @@ extern char *output_files[];
  * the error message appropriately.
  */
 #ifndef WIN32
-#define SERVER_START_LOG_FILE	SERVER_LOG_FILE
-#define SERVER_STOP_LOG_FILE	SERVER_LOG_FILE
+#define SERVER_START_LOG_FILE SERVER_LOG_FILE
+#define SERVER_STOP_LOG_FILE SERVER_LOG_FILE
 #else
-#define SERVER_START_LOG_FILE	"pg_upgrade_server_start.log"
+#define SERVER_START_LOG_FILE "pg_upgrade_server_start.log"
 /*
  *	"pg_ctl start" keeps SERVER_START_LOG_FILE and SERVER_LOG_FILE open
  *	while the server is running, so we use UTILITY_LOG_FILE for "pg_ctl
  *	stop".
  */
-#define SERVER_STOP_LOG_FILE	UTILITY_LOG_FILE
+#define SERVER_STOP_LOG_FILE UTILITY_LOG_FILE
 #endif
 
-
 #ifndef WIN32
-#define pg_mv_file			rename
-#define PATH_SEPARATOR		'/'
-#define PATH_QUOTE	'\''
-#define RM_CMD				"rm -f"
-#define RMDIR_CMD			"rm -rf"
-#define SCRIPT_PREFIX		"./"
-#define SCRIPT_EXT			"sh"
-#define ECHO_QUOTE	"'"
-#define ECHO_BLANK	""
+#define pg_mv_file rename
+#define PATH_SEPARATOR '/'
+#define PATH_QUOTE '\''
+#define RM_CMD "rm -f"
+#define RMDIR_CMD "rm -rf"
+#define SCRIPT_PREFIX "./"
+#define SCRIPT_EXT "sh"
+#define ECHO_QUOTE "'"
+#define ECHO_BLANK ""
 #else
-#define pg_mv_file			pgrename
-#define PATH_SEPARATOR		'\\'
-#define PATH_QUOTE	'"'
+#define pg_mv_file pgrename
+#define PATH_SEPARATOR '\\'
+#define PATH_QUOTE '"'
 /* @ prefix disables command echo in .bat files */
-#define RM_CMD				"@DEL /q"
-#define RMDIR_CMD			"@RMDIR /s/q"
-#define SCRIPT_PREFIX		""
-#define SCRIPT_EXT			"bat"
-#define EXE_EXT				".exe"
-#define ECHO_QUOTE	""
-#define ECHO_BLANK	"."
+#define RM_CMD "@DEL /q"
+#define RMDIR_CMD "@RMDIR /s/q"
+#define SCRIPT_PREFIX ""
+#define SCRIPT_EXT "bat"
+#define EXE_EXT ".exe"
+#define ECHO_QUOTE ""
+#define ECHO_BLANK "."
 #endif
 
-
 /*
  * The format of visibility map was changed with this 9.6 commit.
  */
@@ -126,7 +124,6 @@ extern char *output_files[];
  */
 #define JSONB_FORMAT_CHANGE_CAT_VER 201409291
 
-
 /*
  * Each relation is represented by a relinfo structure.
  */
@@ -255,6 +252,7 @@ typedef enum
 	TRANSFER_MODE_CLONE,
 	TRANSFER_MODE_COPY,
 	TRANSFER_MODE_LINK,
+	TRANSFER_MODE_COPY_FILE_RANGE,
 } transferMode;
 
 /*
@@ -270,7 +268,6 @@ typedef enum
 	PG_FATAL,
 } eLogType;
 
-
 /*
  * cluster
  *
@@ -295,10 +292,9 @@ typedef struct
 	const char *tablespace_suffix;	/* directory specification */
 } ClusterInfo;
 
-
 /*
  *	LogOpts
-*/
+ */
 typedef struct
 {
 	FILE	   *internal;		/* internal log FILE */
@@ -312,10 +308,9 @@ typedef struct
 	bool		isatty;			/* is stdout a tty */
 } LogOpts;
 
-
 /*
  *	UserOpts
-*/
+ */
 typedef struct
 {
 	bool		check;			/* true -> ask user for permission to make
@@ -348,7 +343,6 @@ typedef struct
 	ClusterInfo *running_cluster;
 } OSInfo;
 
-
 /*
  * Global variables
  */
@@ -358,7 +352,6 @@ extern ClusterInfo old_cluster,
 			new_cluster;
 extern OSInfo os_info;
 
-
 /* check.c */
 
 void		output_check_banner(bool live_check);
@@ -371,44 +364,45 @@ void		check_cluster_versions(void);
 void		check_cluster_compatibility(bool live_check);
 void		create_script_for_old_cluster_deletion(char **deletion_script_file_name);
 
-
 /* controldata.c */
 
 void		get_control_data(ClusterInfo *cluster, bool live_check);
 void		check_control_data(ControlData *oldctrl, ControlData *newctrl);
 void		disable_old_cluster(void);
 
-
 /* dump.c */
 
 void		generate_old_dump(void);
 
-
 /* exec.c */
 
-#define EXEC_PSQL_ARGS "--echo-queries --set ON_ERROR_STOP=on --no-psqlrc --dbname=template1"
+#define EXEC_PSQL_ARGS                                                         \
+  "--echo-queries --set ON_ERROR_STOP=on --no-psqlrc --dbname=template1"
 
 bool		exec_prog(const char *log_filename, const char *opt_log_file,
-					  bool report_error, bool exit_on_error, const char *fmt,...) pg_attribute_printf(5, 6);
+					  bool report_error, bool exit_on_error, const char *fmt,...)
+			pg_attribute_printf(5, 6);
 void		verify_directories(void);
 bool		pid_lock_file_exists(const char *datadir);
 
-
 /* file.c */
 
-void		cloneFile(const char *src, const char *dst,
-					  const char *schemaName, const char *relName);
-void		copyFile(const char *src, const char *dst,
-					 const char *schemaName, const char *relName);
-void		linkFile(const char *src, const char *dst,
-					 const char *schemaName, const char *relName);
+void		cloneFile(const char *src, const char *dst, const char *schemaName,
+					  const char *relName);
+void		copyFile(const char *src, const char *dst, const char *schemaName,
+					 const char *relName);
+void		copyFileByRange(const char *src, const char *dst, const char *schemaName,
+							const char *relName);
+void		linkFile(const char *src, const char *dst, const char *schemaName,
+					 const char *relName);
 void		rewriteVisibilityMap(const char *fromfile, const char *tofile,
 								 const char *schemaName, const char *relName);
 void		check_file_clone(void);
+void		check_copy_file_range(void);
 void		check_hard_link(void);
 
 /* fopen_priv() is no longer different from fopen() */
-#define fopen_priv(path, mode)	fopen(path, mode)
+#define fopen_priv(path, mode) fopen(path, mode)
 
 /* function.c */
 
@@ -417,9 +411,8 @@ void		check_loadable_libraries(void);
 
 /* info.c */
 
-FileNameMap *gen_db_file_maps(DbInfo *old_db,
-							  DbInfo *new_db, int *nmaps, const char *old_pgdata,
-							  const char *new_pgdata);
+FileNameMap *gen_db_file_maps(DbInfo *old_db, DbInfo *new_db, int *nmaps,
+							  const char *old_pgdata, const char *new_pgdata);
 void		get_db_rel_and_slot_infos(ClusterInfo *cluster, bool live_check);
 int			count_old_cluster_logical_slots(void);
 int			count_old_cluster_subscriptions(void);
@@ -432,21 +425,21 @@ void		get_sock_dir(ClusterInfo *cluster, bool live_check);
 
 /* relfilenumber.c */
 
-void		transfer_all_new_tablespaces(DbInfoArr *old_db_arr,
-										 DbInfoArr *new_db_arr, char *old_pgdata, char *new_pgdata);
-void		transfer_all_new_dbs(DbInfoArr *old_db_arr,
-								 DbInfoArr *new_db_arr, char *old_pgdata, char *new_pgdata,
+void		transfer_all_new_tablespaces(DbInfoArr *old_db_arr, DbInfoArr *new_db_arr,
+										 char *old_pgdata, char *new_pgdata);
+void		transfer_all_new_dbs(DbInfoArr *old_db_arr, DbInfoArr *new_db_arr,
+								 char *old_pgdata, char *new_pgdata,
 								 char *old_tablespace);
 
 /* tablespace.c */
 
 void		init_tablespaces(void);
 
-
 /* server.c */
 
 PGconn	   *connectToServer(ClusterInfo *cluster, const char *db_name);
-PGresult   *executeQueryOrDie(PGconn *conn, const char *fmt,...) pg_attribute_printf(2, 3);
+PGresult   *executeQueryOrDie(PGconn *conn, const char *fmt,...)
+			pg_attribute_printf(2, 3);
 
 char	   *cluster_conn_opts(ClusterInfo *cluster);
 
@@ -455,34 +448,31 @@ void		stop_postmaster(bool in_atexit);
 uint32		get_major_server_version(ClusterInfo *cluster);
 void		check_pghost_envvar(void);
 
-
 /* util.c */
 
 char	   *quote_identifier(const char *s);
 int			get_user_info(char **user_name_p);
 void		check_ok(void);
-void		report_status(eLogType type, const char *fmt,...) pg_attribute_printf(2, 3);
+void		report_status(eLogType type, const char *fmt,...)
+			pg_attribute_printf(2, 3);
 void		pg_log(eLogType type, const char *fmt,...) pg_attribute_printf(2, 3);
-void		pg_fatal(const char *fmt,...) pg_attribute_printf(1, 2) pg_attribute_noreturn();
+void		pg_fatal(const char *fmt,...) pg_attribute_printf(1, 2)
+			pg_attribute_noreturn();
 void		end_progress_output(void);
 void		cleanup_output_dirs(void);
 void		prep_status(const char *fmt,...) pg_attribute_printf(1, 2);
 void		prep_status_progress(const char *fmt,...) pg_attribute_printf(1, 2);
 unsigned int str2uint(const char *str);
 
-
 /* version.c */
 
-bool		check_for_data_types_usage(ClusterInfo *cluster,
-									   const char *base_query,
+bool		check_for_data_types_usage(ClusterInfo *cluster, const char *base_query,
 									   const char *output_path);
-bool		check_for_data_type_usage(ClusterInfo *cluster,
-									  const char *type_name,
+bool		check_for_data_type_usage(ClusterInfo *cluster, const char *type_name,
 									  const char *output_path);
 void		old_9_3_check_for_line_data_type_usage(ClusterInfo *cluster);
 void		old_9_6_check_for_unknown_data_type_usage(ClusterInfo *cluster);
-void		old_9_6_invalidate_hash_indexes(ClusterInfo *cluster,
-											bool check_mode);
+void		old_9_6_invalidate_hash_indexes(ClusterInfo *cluster, bool check_mode);
 
 void		old_11_check_for_sql_identifier_data_type_usage(ClusterInfo *cluster);
 void		report_extension_updates(ClusterInfo *cluster);
-- 
2.30.2

v3-0004-Add-clone-and-copy-file-range-copy-strategies-to-.patchapplication/octet-stream; name=v3-0004-Add-clone-and-copy-file-range-copy-strategies-to-.patchDownload
From 7925d17874d2f173899caff7894d348560674069 Mon Sep 17 00:00:00 2001
From: Jakub Wartak <jakub.wartak@enterprisedb.com>
Date: Fri, 5 Jan 2024 11:15:24 +0100
Subject: [PATCH v3 4/4] Add --clone and --copy-file-range copy strategies to
 pg_combinebackup using pg_copyfile_offload().

Discussion: https://www.postgresql.org/message-id/flat/CA%2BhUKGJvLLNQtzb%3DZWcTsYF8kv8cR_%3DH17CX-eL8qNixeC4DAw%40mail.gmail.com#ce606227e39df74c6b2abf80b8eab04a
---
 src/bin/pg_combinebackup/copy_file.c        |  64 +-----
 src/bin/pg_combinebackup/copy_file.h        |   5 +-
 src/bin/pg_combinebackup/pg_combinebackup.c | 230 ++++++++++----------
 src/bin/pg_combinebackup/reconstruct.c      | 111 ++++------
 src/bin/pg_combinebackup/reconstruct.h      |  22 +-
 5 files changed, 184 insertions(+), 248 deletions(-)

diff --git a/src/bin/pg_combinebackup/copy_file.c b/src/bin/pg_combinebackup/copy_file.c
index 40a55e3087..448bfcd642 100644
--- a/src/bin/pg_combinebackup/copy_file.c
+++ b/src/bin/pg_combinebackup/copy_file.c
@@ -10,14 +10,12 @@
  */
 #include "postgres_fe.h"
 
-#ifdef HAVE_COPYFILE_H
-#include <copyfile.h>
-#endif
 #include <fcntl.h>
 #include <sys/stat.h>
 #include <unistd.h>
 
 #include "common/file_perm.h"
+#include "common/file_utils.h"
 #include "common/logging.h"
 #include "copy_file.h"
 
@@ -35,7 +33,8 @@ static void copy_file_copyfile(const char *src, const char *dst);
  */
 void
 copy_file(const char *src, const char *dst,
-		  pg_checksum_context *checksum_ctx, bool dry_run)
+		  pg_checksum_context *checksum_ctx, bool dry_run,
+		  CopyFileMethod copy_strategy)
 {
 	/*
 	 * In dry-run mode, we don't actually copy anything, nor do we read any
@@ -49,6 +48,8 @@ copy_file(const char *src, const char *dst,
 			pg_fatal("could not open \"%s\": %m", src);
 		if (close(fd) < 0)
 			pg_fatal("could not close \"%s\": %m", src);
+
+		return;
 	}
 
 	/*
@@ -56,56 +57,13 @@ copy_file(const char *src, const char *dst,
 	 * operating system primitives that we know about to copy the file; this
 	 * may be quicker than a naive block copy.
 	 */
-	if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
-	{
-		char	   *strategy_name = NULL;
-		void		(*strategy_implementation) (const char *, const char *) = NULL;
-
-#ifdef WIN32
-		strategy_name = "CopyFile";
-		strategy_implementation = copy_file_copyfile;
-#endif
-
-		if (strategy_name != NULL)
-		{
-			if (dry_run)
-				pg_log_debug("would copy \"%s\" to \"%s\" using strategy %s",
-							 src, dst, strategy_name);
-			else
-			{
-				pg_log_debug("copying \"%s\" to \"%s\" using strategy %s",
-							 src, dst, strategy_name);
-				(*strategy_implementation) (src, dst);
-			}
-			return;
-		}
-	}
-
-	/*
-	 * Fall back to the simple approach of reading and writing all the blocks,
-	 * feeding them into the checksum context as we go.
-	 */
-	if (dry_run)
-	{
-		if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
-			pg_log_debug("would copy \"%s\" to \"%s\"",
-						 src, dst);
-		else
-			pg_log_debug("would copy \"%s\" to \"%s\" and checksum with %s",
-						 src, dst, pg_checksum_type_name(checksum_ctx->type));
-	}
+	if (checksum_ctx->type == CHECKSUM_TYPE_NONE && copy_strategy != 0)
+		pg_copyfile_offload(src, dst, NULL, copy_strategy);
 	else
-	{
-		if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
-			pg_log_debug("copying \"%s\" to \"%s\"",
-						 src, dst);
-		else
-			pg_log_debug("copying \"%s\" to \"%s\" and checksumming with %s",
-						 src, dst, pg_checksum_type_name(checksum_ctx->type));
-		copy_file_blocks(src, dst, checksum_ctx);
-	}
+		pg_copyfile(src, dst, NULL, checksum_ctx);
 }
 
+#if 0
 /*
  * Copy a file block by block, and optionally compute a checksum as we go.
  */
@@ -138,7 +96,8 @@ copy_file_blocks(const char *src, const char *dst,
 			if (wb < 0)
 				pg_fatal("could not write file \"%s\": %m", dst);
 			else
-				pg_fatal("could not write file \"%s\": wrote only %d of %d bytes at offset %u",
+				pg_fatal("could not write file \"%s\": wrote only %d of %d bytes at "
+						 "offset %u",
 						 dst, (int) wb, (int) rb, offset);
 		}
 
@@ -167,3 +126,4 @@ copy_file_copyfile(const char *src, const char *dst)
 	}
 }
 #endif							/* WIN32 */
+#endif
diff --git a/src/bin/pg_combinebackup/copy_file.h b/src/bin/pg_combinebackup/copy_file.h
index 031030bacb..cafaa0bc9c 100644
--- a/src/bin/pg_combinebackup/copy_file.h
+++ b/src/bin/pg_combinebackup/copy_file.h
@@ -11,9 +11,12 @@
 #ifndef COPY_FILE_H
 #define COPY_FILE_H
 
+#include "c.h"
 #include "common/checksum_helper.h"
+#include "common/file_utils.h"
 
 extern void copy_file(const char *src, const char *dst,
-					  pg_checksum_context *checksum_ctx, bool dry_run);
+					  pg_checksum_context *checksum_ctx, bool dry_run,
+					  CopyFileMethod copy_strategy);
 
 #endif							/* COPY_FILE_H */
diff --git a/src/bin/pg_combinebackup/pg_combinebackup.c b/src/bin/pg_combinebackup/pg_combinebackup.c
index cef4941d84..64dbc6c5fe 100644
--- a/src/bin/pg_combinebackup/pg_combinebackup.c
+++ b/src/bin/pg_combinebackup/pg_combinebackup.c
@@ -25,15 +25,15 @@
 #include "common/logging.h"
 #include "copy_file.h"
 #include "fe_utils/option_utils.h"
+#include "getopt_long.h"
 #include "lib/stringinfo.h"
 #include "load_manifest.h"
-#include "getopt_long.h"
 #include "reconstruct.h"
 #include "write_manifest.h"
 
 /* Incremental file naming convention. */
-#define INCREMENTAL_PREFIX			"INCREMENTAL."
-#define INCREMENTAL_PREFIX_LENGTH	(sizeof(INCREMENTAL_PREFIX) - 1)
+#define INCREMENTAL_PREFIX "INCREMENTAL."
+#define INCREMENTAL_PREFIX_LENGTH (sizeof(INCREMENTAL_PREFIX) - 1)
 
 /*
  * Tracking for directories that need to be removed, or have their contents
@@ -69,6 +69,7 @@ typedef struct cb_options
 	pg_checksum_type manifest_checksums;
 	bool		no_manifest;
 	DataDirSyncMethod sync_method;
+	CopyFileMethod copy_method;
 } cb_options;
 
 /*
@@ -98,15 +99,10 @@ static void cleanup_directories_atexit(void);
 static void create_output_directory(char *dirname, cb_options *opt);
 static void help(const char *progname);
 static bool parse_oid(char *s, Oid *result);
-static void process_directory_recursively(Oid tsoid,
-										  char *input_directory,
-										  char *output_directory,
-										  char *relative_path,
-										  int n_prior_backups,
-										  char **prior_backup_dirs,
-										  manifest_data **manifests,
-										  manifest_writer *mwriter,
-										  cb_options *opt);
+static void process_directory_recursively(
+										  Oid tsoid, char *input_directory, char *output_directory,
+										  char *relative_path, int n_prior_backups, char **prior_backup_dirs,
+										  manifest_data **manifests, manifest_writer *mwriter, cb_options *opt);
 static int	read_pg_version_file(char *directory);
 static void remember_to_cleanup_directory(char *target_path, bool rmtopdir);
 static void reset_directory_cleanup_list(void);
@@ -129,8 +125,9 @@ main(int argc, char *argv[])
 		{"manifest-checksums", required_argument, NULL, 1},
 		{"no-manifest", no_argument, NULL, 2},
 		{"sync-method", required_argument, NULL, 3},
-		{NULL, 0, NULL, 0}
-	};
+		{"clone", no_argument, NULL, 4},
+		{"copy-file-range", no_argument, NULL, 5},
+	{NULL, 0, NULL, 0}};
 
 	const char *progname;
 	char	   *last_input_dir;
@@ -154,10 +151,11 @@ main(int argc, char *argv[])
 	memset(&opt, 0, sizeof(opt));
 	opt.manifest_checksums = CHECKSUM_TYPE_CRC32C;
 	opt.sync_method = DATA_DIR_SYNC_METHOD_FSYNC;
+	opt.copy_method = 0;
 
 	/* process command-line options */
-	while ((c = getopt_long(argc, argv, "dnNPo:T:",
-							long_options, &optindex)) != -1)
+	while ((c = getopt_long(argc, argv, "dnNPo:T:", long_options, &optindex)) !=
+		   -1)
 	{
 		switch (c)
 		{
@@ -178,10 +176,8 @@ main(int argc, char *argv[])
 				add_tablespace_mapping(&opt, optarg);
 				break;
 			case 1:
-				if (!pg_checksum_parse_type(optarg,
-											&opt.manifest_checksums))
-					pg_fatal("unrecognized checksum algorithm: \"%s\"",
-							 optarg);
+				if (!pg_checksum_parse_type(optarg, &opt.manifest_checksums))
+					pg_fatal("unrecognized checksum algorithm: \"%s\"", optarg);
 				break;
 			case 2:
 				opt.no_manifest = true;
@@ -190,6 +186,12 @@ main(int argc, char *argv[])
 				if (!parse_sync_method(optarg, &opt.sync_method))
 					exit(1);
 				break;
+			case 4:
+				opt.copy_method = PG_COPYFILE_IOCTL_FICLONE;
+				break;
+			case 5:
+				opt.copy_method = PG_COPYFILE_COPY_FILE_RANGE;
+				break;
 			default:
 				/* getopt_long already emitted a complaint */
 				pg_log_error_hint("Try \"%s --help\" for more information.", progname);
@@ -211,6 +213,14 @@ main(int argc, char *argv[])
 	if (opt.no_manifest)
 		opt.manifest_checksums = CHECKSUM_TYPE_NONE;
 
+	/*
+	 * We cannot provide file copy/clone offload in case when we need to
+	 * calculate checksums
+	 */
+	if (opt.copy_method != 0 && opt.manifest_checksums != CHECKSUM_TYPE_NONE)
+		pg_fatal("unable to use accelerated copy when manifest checksums "
+				 "are to be calculated. Use --no-manifest");
+
 	/* Read the server version from the final backup. */
 	version = read_pg_version_file(argv[argc - 1]);
 
@@ -263,7 +273,8 @@ main(int argc, char *argv[])
 		 * won't have the WAL ranges for the resulting manifest.
 		 */
 		if (manifests[n_prior_backups] == NULL)
-			pg_fatal("can't generate a manifest because no manifest is available for the final input backup");
+			pg_fatal("can't generate a manifest because no manifest is available for "
+					 "the final input backup");
 	}
 	else
 		mwriter = NULL;
@@ -275,15 +286,15 @@ main(int argc, char *argv[])
 	{
 		pg_log_debug("generating \"%s/backup_label\"", opt.output);
 		last_backup_label->cursor = 0;
-		write_backup_label(opt.output, last_backup_label,
-						   opt.manifest_checksums, mwriter);
+		write_backup_label(opt.output, last_backup_label, opt.manifest_checksums,
+						   mwriter);
 	}
 
 	/* Process everything that's not part of a user-defined tablespace. */
 	pg_log_debug("processing backup directory \"%s\"", last_input_dir);
-	process_directory_recursively(InvalidOid, last_input_dir, opt.output,
-								  NULL, n_prior_backups, prior_backup_dirs,
-								  manifests, mwriter, &opt);
+	process_directory_recursively(InvalidOid, last_input_dir, opt.output, NULL,
+								  n_prior_backups, prior_backup_dirs, manifests,
+								  mwriter, &opt);
 
 	/* Process user-defined tablespaces. */
 	for (ts = tablespaces; ts != NULL; ts = ts->next)
@@ -299,16 +310,15 @@ main(int argc, char *argv[])
 		{
 			char		linkpath[MAXPGPATH];
 
-			snprintf(linkpath, MAXPGPATH, "%s/pg_tblspc/%u", opt.output,
-					 ts->oid);
+			snprintf(linkpath, MAXPGPATH, "%s/pg_tblspc/%u", opt.output, ts->oid);
 
 			if (opt.dry_run)
 				pg_log_debug("would create symbolic link from \"%s\" to \"%s\"",
 							 linkpath, ts->new_dir);
 			else
 			{
-				pg_log_debug("creating symbolic link from \"%s\" to \"%s\"",
-							 linkpath, ts->new_dir);
+				pg_log_debug("creating symbolic link from \"%s\" to \"%s\"", linkpath,
+							 ts->new_dir);
 				if (symlink(ts->new_dir, linkpath) != 0)
 					pg_fatal("could not create symbolic link from \"%s\" to \"%s\": %m",
 							 linkpath, ts->new_dir);
@@ -322,21 +332,19 @@ main(int argc, char *argv[])
 			{
 				pg_log_debug("creating directory \"%s\"", ts->new_dir);
 				if (pg_mkdir_p(ts->new_dir, pg_dir_create_mode) == -1)
-					pg_fatal("could not create directory \"%s\": %m",
-							 ts->new_dir);
+					pg_fatal("could not create directory \"%s\": %m", ts->new_dir);
 			}
 		}
 
 		/* OK, now handle the directory contents. */
-		process_directory_recursively(ts->oid, ts->old_dir, ts->new_dir,
-									  NULL, n_prior_backups, prior_backup_dirs,
-									  manifests, mwriter, &opt);
+		process_directory_recursively(ts->oid, ts->old_dir, ts->new_dir, NULL,
+									  n_prior_backups, prior_backup_dirs, manifests,
+									  mwriter, &opt);
 	}
 
 	/* Finalize the backup_manifest, if we're generating one. */
 	if (mwriter != NULL)
-		finalize_manifest(mwriter,
-						  manifests[n_prior_backups]->first_wal_range);
+		finalize_manifest(mwriter, manifests[n_prior_backups]->first_wal_range);
 
 	/* fsync that output directory unless we've been told not to do so */
 	if (!opt.no_sync)
@@ -392,7 +400,9 @@ add_tablespace_mapping(cb_options *opt, char *arg)
 			*dst_ptr++ = *arg_ptr;
 	}
 	if (!tsmap->old_dir[0] || !tsmap->new_dir[0])
-		pg_fatal("invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"", arg);
+		pg_fatal(
+				 "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"",
+				 arg);
 
 	/*
 	 * All tablespaces are created with absolute directories, so specifying a
@@ -464,8 +474,8 @@ check_backup_label_files(int n_backups, char **backup_dirs)
 			pg_fatal("could not close \"%s\": %m", pathbuf);
 
 		/* Parse the file contents. */
-		parse_backup_label(pathbuf, buf, &start_tli, &start_lsn,
-						   &previous_tli, &previous_lsn);
+		parse_backup_label(pathbuf, buf, &start_tli, &start_lsn, &previous_tli,
+						   &previous_lsn);
 
 		/*
 		 * Sanity checks.
@@ -476,18 +486,19 @@ check_backup_label_files(int n_backups, char **backup_dirs)
 		 * we don't have that information.
 		 */
 		if (i > 0 && previous_tli == 0)
-			pg_fatal("backup at \"%s\" is a full backup, but only the first backup should be a full backup",
+			pg_fatal("backup at \"%s\" is a full backup, but only the first backup "
+					 "should be a full backup",
 					 backup_dirs[i]);
 		if (i == 0 && previous_tli != 0)
-			pg_fatal("backup at \"%s\" is an incremental backup, but the first backup should be a full backup",
+			pg_fatal("backup at \"%s\" is an incremental backup, but the first "
+					 "backup should be a full backup",
 					 backup_dirs[i]);
 		if (i < n_backups - 1 && start_tli != check_tli)
 			pg_fatal("backup at \"%s\" starts on timeline %u, but expected %u",
 					 backup_dirs[i], start_tli, check_tli);
 		if (i < n_backups - 1 && start_lsn != check_lsn)
 			pg_fatal("backup at \"%s\" starts at LSN %X/%X, but expected %X/%X",
-					 backup_dirs[i],
-					 LSN_FORMAT_ARGS(start_lsn),
+					 backup_dirs[i], LSN_FORMAT_ARGS(start_lsn),
 					 LSN_FORMAT_ARGS(check_lsn));
 		check_tli = previous_tli;
 		check_lsn = previous_lsn;
@@ -542,8 +553,7 @@ check_control_files(int n_backups, char **backup_dirs)
 
 		/* Can't interpret control file if not current version. */
 		if (control_file->pg_control_version != PG_CONTROL_VERSION)
-			pg_fatal("%s: unexpected control file version",
-					 controlpath);
+			pg_fatal("%s: unexpected control file version", controlpath);
 
 		/* System identifiers should all match. */
 		if (i == n_backups - 1)
@@ -667,14 +677,23 @@ help(const char *progname)
 	printf(_("\nOptions:\n"));
 	printf(_("  -d, --debug               generate lots of debugging output\n"));
 	printf(_("  -n, --dry-run             don't actually do anything\n"));
-	printf(_("  -N, --no-sync             do not wait for changes to be written safely to disk\n"));
+	printf(_("  -N, --no-sync             do not wait for changes to be written "
+			 "safely to disk\n"));
 	printf(_("  -o, --output              output directory\n"));
-	printf(_("  -T, --tablespace-mapping=OLDDIR=NEWDIR\n"
+	printf(_(
+			 "  -T, --tablespace-mapping=OLDDIR=NEWDIR\n"
 			 "                            relocate tablespace in OLDDIR to NEWDIR\n"));
-	printf(_("      --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n"
+	printf(
+		   _("      --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n"
 			 "                            use algorithm for manifest checksums\n"));
-	printf(_("      --no-manifest         suppress generation of backup manifest\n"));
-	printf(_("      --sync-method=METHOD  set method for syncing files to disk\n"));
+	printf(_(
+			 "      --no-manifest         suppress generation of backup manifest\n"));
+	printf(
+		   _("      --sync-method=METHOD  set method for syncing files to disk\n"));
+	printf(_("      --clone               clone (reflink) instead of copying "
+			 "files\n"));
+	printf(
+		   _("      --copy-file-range     copy using copy_file_range() syscall\n"));
 	printf(_("  -?, --help                show this help, then exit\n"));
 
 	printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
@@ -721,15 +740,10 @@ parse_oid(char *s, Oid *result)
  * the locations of those previous backups.
  */
 static void
-process_directory_recursively(Oid tsoid,
-							  char *input_directory,
-							  char *output_directory,
-							  char *relative_path,
-							  int n_prior_backups,
-							  char **prior_backup_dirs,
-							  manifest_data **manifests,
-							  manifest_writer *mwriter,
-							  cb_options *opt)
+process_directory_recursively(
+							  Oid tsoid, char *input_directory, char *output_directory,
+							  char *relative_path, int n_prior_backups, char **prior_backup_dirs,
+							  manifest_data **manifests, manifest_writer *mwriter, cb_options *opt)
 {
 	char		ifulldir[MAXPGPATH];
 	char		ofulldir[MAXPGPATH];
@@ -782,13 +796,11 @@ process_directory_recursively(Oid tsoid,
 	}
 	else
 	{
-		snprintf(ifulldir, MAXPGPATH, "%s/%s", input_directory,
-				 relative_path);
-		snprintf(ofulldir, MAXPGPATH, "%s/%s", output_directory,
-				 relative_path);
+		snprintf(ifulldir, MAXPGPATH, "%s/%s", input_directory, relative_path);
+		snprintf(ofulldir, MAXPGPATH, "%s/%s", output_directory, relative_path);
 		if (OidIsValid(tsoid))
-			snprintf(manifest_prefix, MAXPGPATH, "pg_tblspc/%u/%s/",
-					 tsoid, relative_path);
+			snprintf(manifest_prefix, MAXPGPATH, "pg_tblspc/%u/%s/", tsoid,
+					 relative_path);
 		else
 			snprintf(manifest_prefix, MAXPGPATH, "%s/", relative_path);
 	}
@@ -824,8 +836,7 @@ process_directory_recursively(Oid tsoid,
 		pg_checksum_context checksum_ctx;
 
 		/* Ignore "." and ".." entries. */
-		if (strcmp(de->d_name, ".") == 0 ||
-			strcmp(de->d_name, "..") == 0)
+		if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0)
 			continue;
 
 		/* Construct input path. */
@@ -861,11 +872,9 @@ process_directory_recursively(Oid tsoid,
 						 de->d_name);
 
 			/* And recurse. */
-			process_directory_recursively(tsoid,
-										  input_directory, output_directory,
-										  new_relative_path,
-										  n_prior_backups, prior_backup_dirs,
-										  manifests, mwriter, opt);
+			process_directory_recursively(tsoid, input_directory, output_directory,
+										  new_relative_path, n_prior_backups,
+										  prior_backup_dirs, manifests, mwriter, opt);
 			continue;
 		}
 
@@ -883,46 +892,37 @@ process_directory_recursively(Oid tsoid,
 		 * Skip the backup_label and backup_manifest files; they require
 		 * special handling and are handled elsewhere.
 		 */
-		if (relative_path == NULL &&
-			(strcmp(de->d_name, "backup_label") == 0 ||
-			 strcmp(de->d_name, "backup_manifest") == 0))
+		if (relative_path == NULL && (strcmp(de->d_name, "backup_label") == 0 ||
+									  strcmp(de->d_name, "backup_manifest") == 0))
 			continue;
 
 		/*
 		 * If it's an incremental file, hand it off to the reconstruction
 		 * code, which will figure out what to do.
 		 */
-		if (strncmp(de->d_name, INCREMENTAL_PREFIX,
-					INCREMENTAL_PREFIX_LENGTH) == 0)
+		if (strncmp(de->d_name, INCREMENTAL_PREFIX, INCREMENTAL_PREFIX_LENGTH) ==
+			0)
 		{
 			/* Output path should not include "INCREMENTAL." prefix. */
 			snprintf(ofullpath, MAXPGPATH, "%s/%s", ofulldir,
 					 de->d_name + INCREMENTAL_PREFIX_LENGTH);
 
-
 			/* Manifest path likewise omits incremental prefix. */
 			snprintf(manifest_path, MAXPGPATH, "%s%s", manifest_prefix,
 					 de->d_name + INCREMENTAL_PREFIX_LENGTH);
 
 			/* Reconstruction logic will do the rest. */
-			reconstruct_from_incremental_file(ifullpath, ofullpath,
-											  relative_path,
-											  de->d_name + INCREMENTAL_PREFIX_LENGTH,
-											  n_prior_backups,
-											  prior_backup_dirs,
-											  manifests,
-											  manifest_path,
-											  checksum_type,
-											  &checksum_length,
-											  &checksum_payload,
-											  opt->debug,
-											  opt->dry_run);
+			reconstruct_from_incremental_file(
+											  ifullpath, ofullpath, relative_path,
+											  de->d_name + INCREMENTAL_PREFIX_LENGTH, n_prior_backups,
+											  prior_backup_dirs, manifests, manifest_path, checksum_type,
+											  &checksum_length, &checksum_payload, opt->debug, opt->dry_run,
+											  opt->copy_method);
 		}
 		else
 		{
 			/* Construct the path that the backup_manifest will use. */
-			snprintf(manifest_path, MAXPGPATH, "%s%s", manifest_prefix,
-					 de->d_name);
+			snprintf(manifest_path, MAXPGPATH, "%s%s", manifest_prefix, de->d_name);
 
 			/*
 			 * It's not an incremental file, so we need to copy the entire
@@ -932,13 +932,11 @@ process_directory_recursively(Oid tsoid,
 			 * backup_manifest for the final input directory, we can save some
 			 * work by reusing that checksum instead of computing a new one.
 			 */
-			if (checksum_type != CHECKSUM_TYPE_NONE &&
-				latest_manifest != NULL)
+			if (checksum_type != CHECKSUM_TYPE_NONE && latest_manifest != NULL)
 			{
 				manifest_file *mfile;
 
-				mfile = manifest_files_lookup(latest_manifest->files,
-											  manifest_path);
+				mfile = manifest_files_lookup(latest_manifest->files, manifest_path);
 				if (mfile == NULL)
 				{
 					char	   *bmpath;
@@ -947,10 +945,9 @@ process_directory_recursively(Oid tsoid,
 					 * The directory is out of sync with the backup_manifest,
 					 * so emit a warning.
 					 */
-					bmpath = psprintf("%s/%s", input_directory,
-									  "backup_manifest");
-					pg_log_warning("\"%s\" contains no entry for \"%s\"",
-								   bmpath, manifest_path);
+					bmpath = psprintf("%s/%s", input_directory, "backup_manifest");
+					pg_log_warning("\"%s\" contains no entry for \"%s\"", bmpath,
+								   manifest_path);
 					pfree(bmpath);
 				}
 				else if (mfile->checksum_type == checksum_type)
@@ -972,7 +969,8 @@ process_directory_recursively(Oid tsoid,
 
 			/* Actually copy the file. */
 			snprintf(ofullpath, MAXPGPATH, "%s/%s", ofulldir, de->d_name);
-			copy_file(ifullpath, ofullpath, &checksum_ctx, opt->dry_run);
+			copy_file(ifullpath, ofullpath, &checksum_ctx, opt->dry_run,
+					  opt->copy_method);
 
 			/*
 			 * If copy_file() performed a checksum calculation for us, then
@@ -982,8 +980,7 @@ process_directory_recursively(Oid tsoid,
 			if (checksum_ctx.type != CHECKSUM_TYPE_NONE && !opt->dry_run)
 			{
 				checksum_payload = pg_malloc(PG_CHECKSUM_MAX_LENGTH);
-				checksum_length = pg_checksum_final(&checksum_ctx,
-													checksum_payload);
+				checksum_length = pg_checksum_final(&checksum_ctx, checksum_payload);
 			}
 		}
 
@@ -1009,10 +1006,8 @@ process_directory_recursively(Oid tsoid,
 				pg_fatal("could not stat file \"%s\": %m", ofullpath);
 
 			/* OK, now do the work. */
-			add_file_to_manifest(mwriter, manifest_path,
-								 sb.st_size, sb.st_mtime,
-								 checksum_type, checksum_length,
-								 checksum_payload);
+			add_file_to_manifest(mwriter, manifest_path, sb.st_size, sb.st_mtime,
+								 checksum_type, checksum_length, checksum_payload);
 		}
 
 		/* Avoid leaking memory. */
@@ -1120,7 +1115,8 @@ reset_directory_cleanup_list(void)
  * final backup in the backup chain.
  */
 static cb_tablespace *
-scan_for_existing_tablespaces(char *pathname, cb_options *opt)
+scan_for_existing_tablespaces(char *pathname,
+							  cb_options *opt)
 {
 	char		pg_tblspc[MAXPGPATH];
 	DIR		   *dir;
@@ -1153,7 +1149,8 @@ scan_for_existing_tablespaces(char *pathname, cb_options *opt)
 		/* Ignore any file name that doesn't look like a proper OID. */
 		if (!parse_oid(de->d_name, &oid))
 		{
-			pg_log_debug("skipping \"%s\" because the filename is not a legal tablespace OID",
+			pg_log_debug(
+						 "skipping \"%s\" because the filename is not a legal tablespace OID",
 						 tblspcdir);
 			continue;
 		}
@@ -1164,7 +1161,8 @@ scan_for_existing_tablespaces(char *pathname, cb_options *opt)
 			exit(1);
 		if (type != PGFILETYPE_LNK && type != PGFILETYPE_DIR)
 		{
-			pg_log_debug("skipping \"%s\" because it is neither a symbolic link nor a directory",
+			pg_log_debug("skipping \"%s\" because it is neither a symbolic link nor "
+						 "a directory",
 						 tblspcdir);
 			continue;
 		}
@@ -1184,8 +1182,7 @@ scan_for_existing_tablespaces(char *pathname, cb_options *opt)
 			/* Read the link target. */
 			link_length = readlink(tblspcdir, link_target, sizeof(link_target));
 			if (link_length < 0)
-				pg_fatal("could not read symbolic link \"%s\": %m",
-						 tblspcdir);
+				pg_fatal("could not read symbolic link \"%s\": %m", tblspcdir);
 			if (link_length >= sizeof(link_target))
 				pg_fatal("symbolic link \"%s\" is too long", tblspcdir);
 			link_target[link_length] = '\0';
@@ -1212,8 +1209,7 @@ scan_for_existing_tablespaces(char *pathname, cb_options *opt)
 
 			/* Every non-in-place tablespace must be mapped. */
 			if (tsmap == NULL)
-				pg_fatal("tablespace at \"%s\" has no tablespace mapping",
-						 link_target);
+				pg_fatal("tablespace at \"%s\" has no tablespace mapping", link_target);
 		}
 		else
 		{
@@ -1274,8 +1270,8 @@ slurp_file(int fd, char *filename, StringInfo buf, int maxlen)
 		if (rb < 0)
 			pg_fatal("could not read file \"%s\": %m", filename);
 		else
-			pg_fatal("could not read file \"%s\": read only %d of %d bytes",
-					 filename, (int) rb, (int) st.st_size);
+			pg_fatal("could not read file \"%s\": read only %d of %d bytes", filename,
+					 (int) rb, (int) st.st_size);
 	}
 
 	/* Adjust buffer length for new data and restore trailing-\0 invariant */
diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index 874e6cd150..3f66eb9ad6 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -15,8 +15,8 @@
 #include <unistd.h>
 
 #include "backup/basebackup_incremental.h"
-#include "common/logging.h"
 #include "common/file_perm.h"
+#include "common/logging.h"
 #include "copy_file.h"
 #include "lib/stringinfo.h"
 #include "reconstruct.h"
@@ -46,20 +46,16 @@ typedef struct rfile
 	off_t		highest_offset_read;
 } rfile;
 
-static void debug_reconstruction(int n_source,
-								 rfile **sources,
-								 bool dry_run);
+static void debug_reconstruction(int n_source, rfile **sources, bool dry_run);
 static unsigned find_reconstructed_block_length(rfile *s);
 static rfile *make_incremental_rfile(char *filename);
 static rfile *make_rfile(char *filename, bool missing_ok);
 static void write_reconstructed_file(char *input_filename,
 									 char *output_filename,
-									 unsigned block_length,
-									 rfile **sourcemap,
+									 unsigned block_length, rfile **sourcemap,
 									 off_t *offsetmap,
 									 pg_checksum_context *checksum_ctx,
-									 bool debug,
-									 bool dry_run);
+									 bool debug, bool dry_run);
 static void read_bytes(rfile *rf, void *buffer, unsigned length);
 
 /*
@@ -78,19 +74,13 @@ static void read_bytes(rfile *rf, void *buffer, unsigned length);
  * an array of pathnames where those backups can be found.
  */
 void
-reconstruct_from_incremental_file(char *input_filename,
-								  char *output_filename,
-								  char *relative_path,
-								  char *bare_file_name,
-								  int n_prior_backups,
-								  char **prior_backup_dirs,
-								  manifest_data **manifests,
-								  char *manifest_path,
-								  pg_checksum_type checksum_type,
-								  int *checksum_length,
-								  uint8 **checksum_payload,
-								  bool debug,
-								  bool dry_run)
+reconstruct_from_incremental_file(
+								  char *input_filename, char *output_filename, char *relative_path,
+								  char *bare_file_name, int n_prior_backups, char **prior_backup_dirs,
+								  manifest_data **manifests, char *manifest_path,
+								  pg_checksum_type checksum_type, int *checksum_length,
+								  uint8 **checksum_payload, bool debug, bool dry_run,
+								  CopyFileMethod copy_method)
 {
 	rfile	  **source;
 	rfile	   *latest_source = NULL;
@@ -167,8 +157,8 @@ reconstruct_from_incremental_file(char *input_filename,
 		 * Look for the full file in the previous backup. If not found, then
 		 * look for an incremental file instead.
 		 */
-		snprintf(source_filename, MAXPGPATH, "%s/%s/%s",
-				 prior_backup_dirs[sidx], relative_path, bare_file_name);
+		snprintf(source_filename, MAXPGPATH, "%s/%s/%s", prior_backup_dirs[sidx],
+				 relative_path, bare_file_name);
 		if ((s = make_rfile(source_filename, true)) == NULL)
 		{
 			snprintf(source_filename, MAXPGPATH, "%s/%s/INCREMENTAL.%s",
@@ -231,8 +221,7 @@ reconstruct_from_incremental_file(char *input_filename,
 			{
 				uint64		expected_length;
 
-				expected_length =
-					(uint64) latest_source->truncation_block_length;
+				expected_length = (uint64) latest_source->truncation_block_length;
 				expected_length *= BLCKSZ;
 				if (expected_length == sb.st_size)
 				{
@@ -253,8 +242,7 @@ reconstruct_from_incremental_file(char *input_filename,
 		{
 			BlockNumber b = s->relative_block_numbers[i];
 
-			if (b < latest_source->truncation_block_length &&
-				sourcemap[b] == NULL)
+			if (b < latest_source->truncation_block_length && sourcemap[b] == NULL)
 			{
 				sourcemap[b] = s;
 				offsetmap[b] = s->header_length + (i * BLCKSZ);
@@ -283,16 +271,16 @@ reconstruct_from_incremental_file(char *input_filename,
 									  manifest_path);
 		if (mfile == NULL)
 		{
-			char	   *path = psprintf("%s/backup_manifest",
-										prior_backup_dirs[copy_source_index]);
+			char	   *path =
+				psprintf("%s/backup_manifest", prior_backup_dirs[copy_source_index]);
 
 			/*
 			 * The directory is out of sync with the backup_manifest, so emit
 			 * a warning.
 			 */
-			/*- translator: the first %s is a backup manifest file, the second is a file absent therein */
-			pg_log_warning("\"%s\" contains no entry for \"%s\"",
-						   path,
+			/*- translator: the first %s is a backup manifest file, the second is a
+	         * file absent therein */
+			pg_log_warning("\"%s\" contains no entry for \"%s\"", path,
 						   manifest_path);
 			pfree(path);
 		}
@@ -300,8 +288,7 @@ reconstruct_from_incremental_file(char *input_filename,
 		{
 			*checksum_length = mfile->checksum_length;
 			*checksum_payload = pg_malloc(*checksum_length);
-			memcpy(*checksum_payload, mfile->checksum_payload,
-				   *checksum_length);
+			memcpy(*checksum_payload, mfile->checksum_payload, *checksum_length);
 			checksum_type = CHECKSUM_TYPE_NONE;
 		}
 	}
@@ -318,13 +305,13 @@ reconstruct_from_incremental_file(char *input_filename,
 	 * Otherwise, reconstruct.
 	 */
 	if (copy_source != NULL)
-		copy_file(copy_source->filename, output_filename,
-				  &checksum_ctx, dry_run);
+		copy_file(copy_source->filename, output_filename, &checksum_ctx, dry_run,
+				  copy_method);
 	else
 	{
-		write_reconstructed_file(input_filename, output_filename,
-								 block_length, sourcemap, offsetmap,
-								 &checksum_ctx, debug, dry_run);
+		write_reconstructed_file(input_filename, output_filename, block_length,
+								 sourcemap, offsetmap, &checksum_ctx, debug,
+								 dry_run);
 		debug_reconstruction(n_prior_backups + 1, source, dry_run);
 	}
 
@@ -332,8 +319,7 @@ reconstruct_from_incremental_file(char *input_filename,
 	if (checksum_type != CHECKSUM_TYPE_NONE)
 	{
 		*checksum_payload = pg_malloc(PG_CHECKSUM_MAX_LENGTH);
-		*checksum_length = pg_checksum_final(&checksum_ctx,
-											 *checksum_payload);
+		*checksum_length = pg_checksum_final(&checksum_ctx, *checksum_payload);
 	}
 
 	/*
@@ -378,11 +364,11 @@ debug_reconstruction(int n_source, rfile **sources, bool dry_run)
 
 		/* Debug logging. */
 		if (dry_run)
-			pg_log_debug("would have read %u blocks from \"%s\"",
-						 s->num_blocks_read, s->filename);
+			pg_log_debug("would have read %u blocks from \"%s\"", s->num_blocks_read,
+						 s->filename);
 		else
-			pg_log_debug("read %u blocks from \"%s\"",
-						 s->num_blocks_read, s->filename);
+			pg_log_debug("read %u blocks from \"%s\"", s->num_blocks_read,
+						 s->filename);
 
 		/*
 		 * In dry-run mode, we don't actually try to read data from the file,
@@ -401,8 +387,7 @@ debug_reconstruction(int n_source, rfile **sources, bool dry_run)
 				pg_fatal("could not stat \"%s\": %m", s->filename);
 			if (sb.st_size < s->highest_offset_read)
 				pg_fatal("file \"%s\" is too short: expected %llu, found %llu",
-						 s->filename,
-						 (unsigned long long) s->highest_offset_read,
+						 s->filename, (unsigned long long) s->highest_offset_read,
 						 (unsigned long long) sb.st_size);
 		}
 	}
@@ -455,7 +440,8 @@ make_incremental_rfile(char *filename)
 	read_bytes(rf, &rf->truncation_block_length,
 			   sizeof(rf->truncation_block_length));
 	if (rf->truncation_block_length > RELSEG_SIZE)
-		pg_fatal("file \"%s\" has truncation block length %u in excess of segment size %u",
+		pg_fatal("file \"%s\" has truncation block length %u in excess of segment "
+				 "size %u",
 				 filename, rf->truncation_block_length, RELSEG_SIZE);
 
 	/* Read block numbers if there are any. */
@@ -522,12 +508,10 @@ read_bytes(rfile *rf, void *buffer, unsigned length)
 static void
 write_reconstructed_file(char *input_filename,
 						 char *output_filename,
-						 unsigned block_length,
-						 rfile **sourcemap,
+						 unsigned block_length, rfile **sourcemap,
 						 off_t *offsetmap,
 						 pg_checksum_context *checksum_ctx,
-						 bool debug,
-						 bool dry_run)
+						 bool debug, bool dry_run)
 {
 	int			wfd = -1;
 	unsigned	i;
@@ -570,14 +554,13 @@ write_reconstructed_file(char *input_filename,
 				if (current_block == start_of_range)
 					appendStringInfo(&debug_buf, " %u:zero", current_block);
 				else
-					appendStringInfo(&debug_buf, " %u-%u:zero",
-									 start_of_range, current_block);
+					appendStringInfo(&debug_buf, " %u-%u:zero", start_of_range,
+									 current_block);
 			}
 			else
 			{
 				if (current_block == start_of_range)
-					appendStringInfo(&debug_buf, " %u:%s@" UINT64_FORMAT,
-									 current_block,
+					appendStringInfo(&debug_buf, " %u:%s@" UINT64_FORMAT, current_block,
 									 s == NULL ? "ZERO" : s->filename,
 									 (uint64) offsetmap[current_block]);
 				else
@@ -604,8 +587,7 @@ write_reconstructed_file(char *input_filename,
 
 	/* Open the output file, except in dry_run mode. */
 	if (!dry_run &&
-		(wfd = open(output_filename,
-					O_RDWR | PG_BINARY | O_CREAT | O_EXCL,
+		(wfd = open(output_filename, O_RDWR | PG_BINARY | O_CREAT | O_EXCL,
 					pg_file_create_mode)) < 0)
 		pg_fatal("could not open file \"%s\": %m", output_filename);
 
@@ -622,8 +604,8 @@ write_reconstructed_file(char *input_filename,
 		else
 		{
 			s->num_blocks_read++;
-			s->highest_offset_read = Max(s->highest_offset_read,
-										 offsetmap[i] + BLCKSZ);
+			s->highest_offset_read =
+				Max(s->highest_offset_read, offsetmap[i] + BLCKSZ);
 		}
 
 		/* Skip the rest of this in dry-run mode. */
@@ -650,9 +632,9 @@ write_reconstructed_file(char *input_filename,
 				if (rb < 0)
 					pg_fatal("could not read file \"%s\": %m", s->filename);
 				else
-					pg_fatal("could not read file \"%s\": read only %d of %d bytes at offset %llu",
-							 s->filename, rb, BLCKSZ,
-							 (unsigned long long) offsetmap[i]);
+					pg_fatal("could not read file \"%s\": read only %d of %d bytes at "
+							 "offset %llu",
+							 s->filename, rb, BLCKSZ, (unsigned long long) offsetmap[i]);
 			}
 		}
 
@@ -668,8 +650,7 @@ write_reconstructed_file(char *input_filename,
 
 		/* Update the checksum computation. */
 		if (pg_checksum_update(checksum_ctx, buffer, BLCKSZ) < 0)
-			pg_fatal("could not update checksum of file \"%s\"",
-					 output_filename);
+			pg_fatal("could not update checksum of file \"%s\"", output_filename);
 	}
 
 	/* Debugging output. */
diff --git a/src/bin/pg_combinebackup/reconstruct.h b/src/bin/pg_combinebackup/reconstruct.h
index d689aeb5c2..6623ca932e 100644
--- a/src/bin/pg_combinebackup/reconstruct.h
+++ b/src/bin/pg_combinebackup/reconstruct.h
@@ -13,21 +13,17 @@
 #ifndef RECONSTRUCT_H
 #define RECONSTRUCT_H
 
+#include "c.h"
 #include "common/checksum_helper.h"
+#include "common/file_utils.h"
 #include "load_manifest.h"
 
-extern void reconstruct_from_incremental_file(char *input_filename,
-											  char *output_filename,
-											  char *relative_path,
-											  char *bare_file_name,
-											  int n_prior_backups,
-											  char **prior_backup_dirs,
-											  manifest_data **manifests,
-											  char *manifest_path,
-											  pg_checksum_type checksum_type,
-											  int *checksum_length,
-											  uint8 **checksum_payload,
-											  bool debug,
-											  bool dry_run);
+extern void reconstruct_from_incremental_file(
+											  char *input_filename, char *output_filename, char *relative_path,
+											  char *bare_file_name, int n_prior_backups, char **prior_backup_dirs,
+											  manifest_data **manifests, char *manifest_path,
+											  pg_checksum_type checksum_type, int *checksum_length,
+											  uint8 **checksum_payload, bool debug, bool dry_run,
+											  CopyFileMethod copy_method);
 
 #endif
-- 
2.30.2

#9Peter Eisentraut
peter@eisentraut.org
In reply to: Jakub Wartak (#8)
Re: pg_upgrade --copy-file-range

On 05.01.24 13:40, Jakub Wartak wrote:

Random patch notes:
- main meat is in v3-0002*, I hope i did not screw something seriously
- in worst case: it is opt-in through switch, so the user always can
stick to the classic copy
- no docs so far
- pg_copyfile_offload_supported() should actually be fixed if it is a
good path forward
- pgindent actually indents larger areas of code that I would like to,
any ideas or is it ok?
- not tested on Win32/MacOS/FreeBSD
- i've tested pg_upgrade manually and it seems to work and issue
correct syscalls, however some tests are failing(?). I haven't
investigated why yet due to lack of time.

Something is wrong with the pgindent in your patch set. Maybe you used
a wrong version. You should try to fix that, because it is hard to
process your patch with that amount of unrelated reformatting.

As far as I can tell, the original pg_upgrade patch has been ready to
commit since October. Unless Thomas has any qualms that have not been
made explicit in this thread, I suggest we move ahead with that.

And then Jakub could rebase his patch set on top of that. It looks like
if the formatting issues are fixed, the remaining pg_combinebackup
support isn't that big.

#10Thomas Munro
thomas.munro@gmail.com
In reply to: Peter Eisentraut (#9)
Re: pg_upgrade --copy-file-range

On Wed, Mar 6, 2024 at 2:43 AM Peter Eisentraut <peter@eisentraut.org> wrote:

As far as I can tell, the original pg_upgrade patch has been ready to
commit since October. Unless Thomas has any qualms that have not been
made explicit in this thread, I suggest we move ahead with that.

pg_upgrade --copy-file-range pushed. The only change I made was to
remove the EINTR retry condition which was subtly wrong and actually
not needed here AFAICS. (Erm, maybe I did have an unexpressed qualm
about some bug reports unfolding around that time about corruption
linked to copy_file_range that might have spooked me but those seem to
have been addressed.)

And then Jakub could rebase his patch set on top of that. It looks like
if the formatting issues are fixed, the remaining pg_combinebackup
support isn't that big.

+1

I'll also go and rebase CREATE DATABASE ... STRATEGY=file_clone[1]/messages/by-id/CA+hUKGLM+t+SwBU-cHeMUXJCOgBxSHLGZutV5zCwY4qrCcE02w@mail.gmail.com.

[1]: /messages/by-id/CA+hUKGLM+t+SwBU-cHeMUXJCOgBxSHLGZutV5zCwY4qrCcE02w@mail.gmail.com

#11Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Thomas Munro (#10)
2 attachment(s)
Re: pg_upgrade --copy-file-range

Hi,

I took a quick look at the remaining part adding copy_file_range to
pg_combinebackup. The patch no longer applies, so I had to rebase it.
Most of the issues were trivial, but I had to fix a couple missing
prototypes - I added them to copy_file.h/c, mostly.

0001 is the minimal rebase + those fixes

0002 has a couple review comments in copy_file, and it also undoes a lot
of unnecessary formatting changes (already pointed out by Peter a couple
days ago).

A couple review comments:

1) AFAIK opt_errinfo() returns pointer to the local "buf" variable.

2) I wonder if we even need opt_errinfo(). I'm not sure it actually
makes anything simpler.

3) I think it'd be nice to make CopyFileMethod more consistent with
transferMode in pg_upgrade.h (I mean, it seems wise to make the naming
more consistent, it's probably not worth unifying this somehow).

4) I wonder how we came up with copying the files by 50 blocks, but I
now realize it's been like this before this patch. I only noticed
because the patch adds a comment before buffer_size calculation.

5) I dislike the renaming of copy_file_blocks to pg_copyfile. The new
name is way more generic / less descriptive - it's clear it copies the
file block by block (well, in chunks). pg_copyfile is pretty vague.

6) This leaves behind copy_file_copyfile, which is now unused.

7) The patch reworks how combinebackup deals with alternative copy
implementations - instead of setting strategy_implementation and calling
that, the decisions now happen in pg_copyfile_offload with a lot of
conditions / ifdef / defined ... I find it pretty hard to understand and
reason about. I liked the strategy_implementation approach, as it forces
us to keep each method in a separate function.

Perhaps there's a reason why that doesn't work for copy_file_range? But
in that case this needs much clearer comments.

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Attachments:

v20240319-0002-review-and-cleanup.patchtext/x-patch; charset=UTF-8; name=v20240319-0002-review-and-cleanup.patchDownload
From 39f42eee4c6f50d106672afe108294ee59082500 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Tue, 19 Mar 2024 15:34:18 +0100
Subject: [PATCH v20240319 2/2] review and cleanup

---
 src/bin/pg_combinebackup/copy_file.c        |   3 +
 src/bin/pg_combinebackup/copy_file.h        |   1 +
 src/bin/pg_combinebackup/pg_combinebackup.c | 197 +++++++++++---------
 src/bin/pg_combinebackup/reconstruct.c      | 105 ++++++-----
 src/bin/pg_combinebackup/reconstruct.h      |  19 +-
 5 files changed, 190 insertions(+), 135 deletions(-)

diff --git a/src/bin/pg_combinebackup/copy_file.c b/src/bin/pg_combinebackup/copy_file.c
index 16e26b4f573..f45670dd47c 100644
--- a/src/bin/pg_combinebackup/copy_file.c
+++ b/src/bin/pg_combinebackup/copy_file.c
@@ -77,6 +77,8 @@ opt_errinfo(const char *addon_errmsg)
 		return "";
 
 	strcpy(buf, " ");
+
+	/* XXX isn't this broken? this returns pointer to local variable */
 	return strncat(buf, addon_errmsg, sizeof(buf) - 2);
 }
 
@@ -93,6 +95,7 @@ pg_copyfile(const char *src, const char *dest, const char *addon_errmsg,
 	int			dest_fd;
 	uint8	   *buffer;
 
+	/* XXX where does the 50 blocks come from? larger/smaller? */
 	/* copy in fairly large chunks for best efficiency */
 	const int	buffer_size = 50 * BLCKSZ;
 
diff --git a/src/bin/pg_combinebackup/copy_file.h b/src/bin/pg_combinebackup/copy_file.h
index 2797a340055..f4d0ac47d0e 100644
--- a/src/bin/pg_combinebackup/copy_file.h
+++ b/src/bin/pg_combinebackup/copy_file.h
@@ -15,6 +15,7 @@
 #include "common/checksum_helper.h"
 #include "common/file_utils.h"
 
+/* XXX do we even want this? how does pg_upgrade to this? */
 typedef enum CopyFileMethod
 {
 	PG_COPYFILE_FALLBACK = 0x1,
diff --git a/src/bin/pg_combinebackup/pg_combinebackup.c b/src/bin/pg_combinebackup/pg_combinebackup.c
index 1455360d81c..8fa7827c563 100644
--- a/src/bin/pg_combinebackup/pg_combinebackup.c
+++ b/src/bin/pg_combinebackup/pg_combinebackup.c
@@ -99,10 +99,15 @@ static void cleanup_directories_atexit(void);
 static void create_output_directory(char *dirname, cb_options *opt);
 static void help(const char *progname);
 static bool parse_oid(char *s, Oid *result);
-static void process_directory_recursively(
-										  Oid tsoid, char *input_directory, char *output_directory,
-										  char *relative_path, int n_prior_backups, char **prior_backup_dirs,
-										  manifest_data **manifests, manifest_writer *mwriter, cb_options *opt);
+static void process_directory_recursively(Oid tsoid,
+										  char *input_directory,
+										  char *output_directory,
+										  char *relative_path,
+										  int n_prior_backups,
+										  char **prior_backup_dirs,
+										  manifest_data **manifests,
+										  manifest_writer *mwriter,
+										  cb_options *opt);
 static int	read_pg_version_file(char *directory);
 static void remember_to_cleanup_directory(char *target_path, bool rmtopdir);
 static void reset_directory_cleanup_list(void);
@@ -156,8 +161,8 @@ main(int argc, char *argv[])
 	opt.copy_method = 0;
 
 	/* process command-line options */
-	while ((c = getopt_long(argc, argv, "dnNPo:T:", long_options, &optindex)) !=
-		   -1)
+	while ((c = getopt_long(argc, argv, "dnNPo:T:",
+							long_options, &optindex)) != -1)
 	{
 		switch (c)
 		{
@@ -178,8 +183,10 @@ main(int argc, char *argv[])
 				add_tablespace_mapping(&opt, optarg);
 				break;
 			case 1:
-				if (!pg_checksum_parse_type(optarg, &opt.manifest_checksums))
-					pg_fatal("unrecognized checksum algorithm: \"%s\"", optarg);
+				if (!pg_checksum_parse_type(optarg,
+											&opt.manifest_checksums))
+					pg_fatal("unrecognized checksum algorithm: \"%s\"",
+							 optarg);
 				break;
 			case 2:
 				opt.no_manifest = true;
@@ -295,8 +302,7 @@ main(int argc, char *argv[])
 		 * won't have the WAL ranges for the resulting manifest.
 		 */
 		if (manifests[n_prior_backups] == NULL)
-			pg_fatal("can't generate a manifest because no manifest is available for "
-					 "the final input backup");
+			pg_fatal("can't generate a manifest because no manifest is available for the final input backup");
 	}
 	else
 		mwriter = NULL;
@@ -308,15 +314,15 @@ main(int argc, char *argv[])
 	{
 		pg_log_debug("generating \"%s/backup_label\"", opt.output);
 		last_backup_label->cursor = 0;
-		write_backup_label(opt.output, last_backup_label, opt.manifest_checksums,
-						   mwriter);
+		write_backup_label(opt.output, last_backup_label,
+						   opt.manifest_checksums, mwriter);
 	}
 
 	/* Process everything that's not part of a user-defined tablespace. */
 	pg_log_debug("processing backup directory \"%s\"", last_input_dir);
-	process_directory_recursively(InvalidOid, last_input_dir, opt.output, NULL,
-								  n_prior_backups, prior_backup_dirs, manifests,
-								  mwriter, &opt);
+	process_directory_recursively(InvalidOid, last_input_dir, opt.output,
+								  NULL, n_prior_backups, prior_backup_dirs,
+								  manifests, mwriter, &opt);
 
 	/* Process user-defined tablespaces. */
 	for (ts = tablespaces; ts != NULL; ts = ts->next)
@@ -332,15 +338,16 @@ main(int argc, char *argv[])
 		{
 			char		linkpath[MAXPGPATH];
 
-			snprintf(linkpath, MAXPGPATH, "%s/pg_tblspc/%u", opt.output, ts->oid);
+			snprintf(linkpath, MAXPGPATH, "%s/pg_tblspc/%u", opt.output,
+					 ts->oid);
 
 			if (opt.dry_run)
 				pg_log_debug("would create symbolic link from \"%s\" to \"%s\"",
 							 linkpath, ts->new_dir);
 			else
 			{
-				pg_log_debug("creating symbolic link from \"%s\" to \"%s\"", linkpath,
-							 ts->new_dir);
+				pg_log_debug("creating symbolic link from \"%s\" to \"%s\"",
+							 linkpath, ts->new_dir);
 				if (symlink(ts->new_dir, linkpath) != 0)
 					pg_fatal("could not create symbolic link from \"%s\" to \"%s\": %m",
 							 linkpath, ts->new_dir);
@@ -354,19 +361,21 @@ main(int argc, char *argv[])
 			{
 				pg_log_debug("creating directory \"%s\"", ts->new_dir);
 				if (pg_mkdir_p(ts->new_dir, pg_dir_create_mode) == -1)
-					pg_fatal("could not create directory \"%s\": %m", ts->new_dir);
+					pg_fatal("could not create directory \"%s\": %m",
+							 ts->new_dir);
 			}
 		}
 
 		/* OK, now handle the directory contents. */
-		process_directory_recursively(ts->oid, ts->old_dir, ts->new_dir, NULL,
-									  n_prior_backups, prior_backup_dirs, manifests,
-									  mwriter, &opt);
+		process_directory_recursively(ts->oid, ts->old_dir, ts->new_dir,
+									  NULL, n_prior_backups, prior_backup_dirs,
+									  manifests, mwriter, &opt);
 	}
 
 	/* Finalize the backup_manifest, if we're generating one. */
 	if (mwriter != NULL)
-		finalize_manifest(mwriter, manifests[n_prior_backups]->first_wal_range);
+		finalize_manifest(mwriter,
+						  manifests[n_prior_backups]->first_wal_range);
 
 	/* fsync that output directory unless we've been told not to do so */
 	if (!opt.no_sync)
@@ -422,9 +431,7 @@ add_tablespace_mapping(cb_options *opt, char *arg)
 			*dst_ptr++ = *arg_ptr;
 	}
 	if (!tsmap->old_dir[0] || !tsmap->new_dir[0])
-		pg_fatal(
-				 "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"",
-				 arg);
+		pg_fatal("invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"", arg);
 
 	/*
 	 * All tablespaces are created with absolute directories, so specifying a
@@ -496,8 +503,8 @@ check_backup_label_files(int n_backups, char **backup_dirs)
 			pg_fatal("could not close \"%s\": %m", pathbuf);
 
 		/* Parse the file contents. */
-		parse_backup_label(pathbuf, buf, &start_tli, &start_lsn, &previous_tli,
-						   &previous_lsn);
+		parse_backup_label(pathbuf, buf, &start_tli, &start_lsn,
+						   &previous_tli, &previous_lsn);
 
 		/*
 		 * Sanity checks.
@@ -508,19 +515,18 @@ check_backup_label_files(int n_backups, char **backup_dirs)
 		 * we don't have that information.
 		 */
 		if (i > 0 && previous_tli == 0)
-			pg_fatal("backup at \"%s\" is a full backup, but only the first backup "
-					 "should be a full backup",
+			pg_fatal("backup at \"%s\" is a full backup, but only the first backup should be a full backup",
 					 backup_dirs[i]);
 		if (i == 0 && previous_tli != 0)
-			pg_fatal("backup at \"%s\" is an incremental backup, but the first "
-					 "backup should be a full backup",
+			pg_fatal("backup at \"%s\" is an incremental backup, but the first backup should be a full backup",
 					 backup_dirs[i]);
 		if (i < n_backups - 1 && start_tli != check_tli)
 			pg_fatal("backup at \"%s\" starts on timeline %u, but expected %u",
 					 backup_dirs[i], start_tli, check_tli);
 		if (i < n_backups - 1 && start_lsn != check_lsn)
 			pg_fatal("backup at \"%s\" starts at LSN %X/%X, but expected %X/%X",
-					 backup_dirs[i], LSN_FORMAT_ARGS(start_lsn),
+					 backup_dirs[i],
+					 LSN_FORMAT_ARGS(start_lsn),
 					 LSN_FORMAT_ARGS(check_lsn));
 		check_tli = previous_tli;
 		check_lsn = previous_lsn;
@@ -572,7 +578,8 @@ check_control_files(int n_backups, char **backup_dirs)
 
 		/* Can't interpret control file if not current version. */
 		if (control_file->pg_control_version != PG_CONTROL_VERSION)
-			pg_fatal("%s: unexpected control file version", controlpath);
+			pg_fatal("%s: unexpected control file version",
+					 controlpath);
 
 		/* System identifiers should all match. */
 		if (i == n_backups - 1)
@@ -698,23 +705,16 @@ help(const char *progname)
 	printf(_("\nOptions:\n"));
 	printf(_("  -d, --debug               generate lots of debugging output\n"));
 	printf(_("  -n, --dry-run             don't actually do anything\n"));
-	printf(_("  -N, --no-sync             do not wait for changes to be written "
-			 "safely to disk\n"));
+	printf(_("  -N, --no-sync             do not wait for changes to be written safely to disk\n"));
 	printf(_("  -o, --output              output directory\n"));
-	printf(_(
-			 "  -T, --tablespace-mapping=OLDDIR=NEWDIR\n"
+	printf(_("  -T, --tablespace-mapping=OLDDIR=NEWDIR\n"
 			 "                            relocate tablespace in OLDDIR to NEWDIR\n"));
-	printf(
-		   _("      --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n"
+	printf(_("      --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n"
 			 "                            use algorithm for manifest checksums\n"));
-	printf(_(
-			 "      --no-manifest         suppress generation of backup manifest\n"));
-	printf(
-		   _("      --sync-method=METHOD  set method for syncing files to disk\n"));
-	printf(_("      --clone               clone (reflink) instead of copying "
-			 "files\n"));
-	printf(
-		   _("      --copy-file-range     copy using copy_file_range() syscall\n"));
+	printf(_("      --no-manifest         suppress generation of backup manifest\n"));
+	printf(_("      --sync-method=METHOD  set method for syncing files to disk\n"));
+	printf(_("      --clone               clone (reflink) instead of copying files\n"));
+	printf(_("      --copy-file-range     copy using copy_file_range() syscall\n"));
 	printf(_("  -?, --help                show this help, then exit\n"));
 
 	printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
@@ -761,10 +761,15 @@ parse_oid(char *s, Oid *result)
  * the locations of those previous backups.
  */
 static void
-process_directory_recursively(
-							  Oid tsoid, char *input_directory, char *output_directory,
-							  char *relative_path, int n_prior_backups, char **prior_backup_dirs,
-							  manifest_data **manifests, manifest_writer *mwriter, cb_options *opt)
+process_directory_recursively(Oid tsoid,
+							  char *input_directory,
+							  char *output_directory,
+							  char *relative_path,
+							  int n_prior_backups,
+							  char **prior_backup_dirs,
+							  manifest_data **manifests,
+							  manifest_writer *mwriter,
+							  cb_options *opt)
 {
 	char		ifulldir[MAXPGPATH];
 	char		ofulldir[MAXPGPATH];
@@ -817,11 +822,13 @@ process_directory_recursively(
 	}
 	else
 	{
-		snprintf(ifulldir, MAXPGPATH, "%s/%s", input_directory, relative_path);
-		snprintf(ofulldir, MAXPGPATH, "%s/%s", output_directory, relative_path);
+		snprintf(ifulldir, MAXPGPATH, "%s/%s", input_directory,
+				 relative_path);
+		snprintf(ofulldir, MAXPGPATH, "%s/%s", output_directory,
+				 relative_path);
 		if (OidIsValid(tsoid))
-			snprintf(manifest_prefix, MAXPGPATH, "pg_tblspc/%u/%s/", tsoid,
-					 relative_path);
+			snprintf(manifest_prefix, MAXPGPATH, "pg_tblspc/%u/%s/",
+					 tsoid, relative_path);
 		else
 			snprintf(manifest_prefix, MAXPGPATH, "%s/", relative_path);
 	}
@@ -857,7 +864,8 @@ process_directory_recursively(
 		pg_checksum_context checksum_ctx;
 
 		/* Ignore "." and ".." entries. */
-		if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0)
+		if (strcmp(de->d_name, ".") == 0 ||
+			strcmp(de->d_name, "..") == 0)
 			continue;
 
 		/* Construct input path. */
@@ -893,9 +901,11 @@ process_directory_recursively(
 						 de->d_name);
 
 			/* And recurse. */
-			process_directory_recursively(tsoid, input_directory, output_directory,
-										  new_relative_path, n_prior_backups,
-										  prior_backup_dirs, manifests, mwriter, opt);
+			process_directory_recursively(tsoid,
+										  input_directory, output_directory,
+										  new_relative_path,
+										  n_prior_backups, prior_backup_dirs,
+										  manifests, mwriter, opt);
 			continue;
 		}
 
@@ -913,37 +923,47 @@ process_directory_recursively(
 		 * Skip the backup_label and backup_manifest files; they require
 		 * special handling and are handled elsewhere.
 		 */
-		if (relative_path == NULL && (strcmp(de->d_name, "backup_label") == 0 ||
-									  strcmp(de->d_name, "backup_manifest") == 0))
+		if (relative_path == NULL &&
+			(strcmp(de->d_name, "backup_label") == 0 ||
+			 strcmp(de->d_name, "backup_manifest") == 0))
 			continue;
 
 		/*
 		 * If it's an incremental file, hand it off to the reconstruction
 		 * code, which will figure out what to do.
 		 */
-		if (strncmp(de->d_name, INCREMENTAL_PREFIX, INCREMENTAL_PREFIX_LENGTH) ==
-			0)
+		if (strncmp(de->d_name, INCREMENTAL_PREFIX,
+					INCREMENTAL_PREFIX_LENGTH) == 0)
 		{
 			/* Output path should not include "INCREMENTAL." prefix. */
 			snprintf(ofullpath, MAXPGPATH, "%s/%s", ofulldir,
 					 de->d_name + INCREMENTAL_PREFIX_LENGTH);
 
+
 			/* Manifest path likewise omits incremental prefix. */
 			snprintf(manifest_path, MAXPGPATH, "%s%s", manifest_prefix,
 					 de->d_name + INCREMENTAL_PREFIX_LENGTH);
 
 			/* Reconstruction logic will do the rest. */
-			reconstruct_from_incremental_file(
-											  ifullpath, ofullpath, relative_path,
-											  de->d_name + INCREMENTAL_PREFIX_LENGTH, n_prior_backups,
-											  prior_backup_dirs, manifests, manifest_path, checksum_type,
-											  &checksum_length, &checksum_payload, opt->debug, opt->dry_run,
+			reconstruct_from_incremental_file(ifullpath, ofullpath,
+											  relative_path,
+											  de->d_name + INCREMENTAL_PREFIX_LENGTH,
+											  n_prior_backups,
+											  prior_backup_dirs,
+											  manifests,
+											  manifest_path,
+											  checksum_type,
+											  &checksum_length,
+											  &checksum_payload,
+											  opt->debug,
+											  opt->dry_run,
 											  opt->copy_method);
 		}
 		else
 		{
 			/* Construct the path that the backup_manifest will use. */
-			snprintf(manifest_path, MAXPGPATH, "%s%s", manifest_prefix, de->d_name);
+			snprintf(manifest_path, MAXPGPATH, "%s%s", manifest_prefix,
+					 de->d_name);
 
 			/*
 			 * It's not an incremental file, so we need to copy the entire
@@ -953,11 +973,13 @@ process_directory_recursively(
 			 * backup_manifest for the final input directory, we can save some
 			 * work by reusing that checksum instead of computing a new one.
 			 */
-			if (checksum_type != CHECKSUM_TYPE_NONE && latest_manifest != NULL)
+			if (checksum_type != CHECKSUM_TYPE_NONE &&
+				latest_manifest != NULL)
 			{
 				manifest_file *mfile;
 
-				mfile = manifest_files_lookup(latest_manifest->files, manifest_path);
+				mfile = manifest_files_lookup(latest_manifest->files,
+											  manifest_path);
 				if (mfile == NULL)
 				{
 					char	   *bmpath;
@@ -966,9 +988,10 @@ process_directory_recursively(
 					 * The directory is out of sync with the backup_manifest,
 					 * so emit a warning.
 					 */
-					bmpath = psprintf("%s/%s", input_directory, "backup_manifest");
-					pg_log_warning("\"%s\" contains no entry for \"%s\"", bmpath,
-								   manifest_path);
+					bmpath = psprintf("%s/%s", input_directory,
+									  "backup_manifest");
+					pg_log_warning("\"%s\" contains no entry for \"%s\"",
+								   bmpath, manifest_path);
 					pfree(bmpath);
 				}
 				else if (mfile->checksum_type == checksum_type)
@@ -1001,7 +1024,8 @@ process_directory_recursively(
 			if (checksum_ctx.type != CHECKSUM_TYPE_NONE && !opt->dry_run)
 			{
 				checksum_payload = pg_malloc(PG_CHECKSUM_MAX_LENGTH);
-				checksum_length = pg_checksum_final(&checksum_ctx, checksum_payload);
+				checksum_length = pg_checksum_final(&checksum_ctx,
+													checksum_payload);
 			}
 		}
 
@@ -1027,8 +1051,10 @@ process_directory_recursively(
 				pg_fatal("could not stat file \"%s\": %m", ofullpath);
 
 			/* OK, now do the work. */
-			add_file_to_manifest(mwriter, manifest_path, sb.st_size, sb.st_mtime,
-								 checksum_type, checksum_length, checksum_payload);
+			add_file_to_manifest(mwriter, manifest_path,
+								 sb.st_size, sb.st_mtime,
+								 checksum_type, checksum_length,
+								 checksum_payload);
 		}
 
 		/* Avoid leaking memory. */
@@ -1136,8 +1162,7 @@ reset_directory_cleanup_list(void)
  * final backup in the backup chain.
  */
 static cb_tablespace *
-scan_for_existing_tablespaces(char *pathname,
-							  cb_options *opt)
+scan_for_existing_tablespaces(char *pathname, cb_options *opt)
 {
 	char		pg_tblspc[MAXPGPATH];
 	DIR		   *dir;
@@ -1170,8 +1195,7 @@ scan_for_existing_tablespaces(char *pathname,
 		/* Ignore any file name that doesn't look like a proper OID. */
 		if (!parse_oid(de->d_name, &oid))
 		{
-			pg_log_debug(
-						 "skipping \"%s\" because the filename is not a legal tablespace OID",
+			pg_log_debug("skipping \"%s\" because the filename is not a legal tablespace OID",
 						 tblspcdir);
 			continue;
 		}
@@ -1182,8 +1206,7 @@ scan_for_existing_tablespaces(char *pathname,
 			exit(1);
 		if (type != PGFILETYPE_LNK && type != PGFILETYPE_DIR)
 		{
-			pg_log_debug("skipping \"%s\" because it is neither a symbolic link nor "
-						 "a directory",
+			pg_log_debug("skipping \"%s\" because it is neither a symbolic link nor a directory",
 						 tblspcdir);
 			continue;
 		}
@@ -1203,7 +1226,8 @@ scan_for_existing_tablespaces(char *pathname,
 			/* Read the link target. */
 			link_length = readlink(tblspcdir, link_target, sizeof(link_target));
 			if (link_length < 0)
-				pg_fatal("could not read symbolic link \"%s\": %m", tblspcdir);
+				pg_fatal("could not read symbolic link \"%s\": %m",
+						 tblspcdir);
 			if (link_length >= sizeof(link_target))
 				pg_fatal("symbolic link \"%s\" is too long", tblspcdir);
 			link_target[link_length] = '\0';
@@ -1230,7 +1254,8 @@ scan_for_existing_tablespaces(char *pathname,
 
 			/* Every non-in-place tablespace must be mapped. */
 			if (tsmap == NULL)
-				pg_fatal("tablespace at \"%s\" has no tablespace mapping", link_target);
+				pg_fatal("tablespace at \"%s\" has no tablespace mapping",
+						 link_target);
 		}
 		else
 		{
diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index 4daff9c77be..c37cceba030 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -46,16 +46,20 @@ typedef struct rfile
 	off_t		highest_offset_read;
 } rfile;
 
-static void debug_reconstruction(int n_source, rfile **sources, bool dry_run);
+static void debug_reconstruction(int n_source,
+								 rfile **sources,
+								 bool dry_run);
 static unsigned find_reconstructed_block_length(rfile *s);
 static rfile *make_incremental_rfile(char *filename);
 static rfile *make_rfile(char *filename, bool missing_ok);
 static void write_reconstructed_file(char *input_filename,
 									 char *output_filename,
-									 unsigned block_length, rfile **sourcemap,
+									 unsigned block_length,
+									 rfile **sourcemap,
 									 off_t *offsetmap,
 									 pg_checksum_context *checksum_ctx,
-									 bool debug, bool dry_run);
+									 bool debug,
+									 bool dry_run);
 static void read_bytes(rfile *rf, void *buffer, unsigned length);
 
 /*
@@ -74,12 +78,19 @@ static void read_bytes(rfile *rf, void *buffer, unsigned length);
  * an array of pathnames where those backups can be found.
  */
 void
-reconstruct_from_incremental_file(
-								  char *input_filename, char *output_filename, char *relative_path,
-								  char *bare_file_name, int n_prior_backups, char **prior_backup_dirs,
-								  manifest_data **manifests, char *manifest_path,
-								  pg_checksum_type checksum_type, int *checksum_length,
-								  uint8 **checksum_payload, bool debug, bool dry_run,
+reconstruct_from_incremental_file(char *input_filename,
+								  char *output_filename,
+								  char *relative_path,
+								  char *bare_file_name,
+								  int n_prior_backups,
+								  char **prior_backup_dirs,
+								  manifest_data **manifests,
+								  char *manifest_path,
+								  pg_checksum_type checksum_type,
+								  int *checksum_length,
+								  uint8 **checksum_payload,
+								  bool debug,
+								  bool dry_run,
 								  CopyFileMethod copy_method)
 {
 	rfile	  **source;
@@ -157,8 +168,8 @@ reconstruct_from_incremental_file(
 		 * Look for the full file in the previous backup. If not found, then
 		 * look for an incremental file instead.
 		 */
-		snprintf(source_filename, MAXPGPATH, "%s/%s/%s", prior_backup_dirs[sidx],
-				 relative_path, bare_file_name);
+		snprintf(source_filename, MAXPGPATH, "%s/%s/%s",
+				 prior_backup_dirs[sidx], relative_path, bare_file_name);
 		if ((s = make_rfile(source_filename, true)) == NULL)
 		{
 			snprintf(source_filename, MAXPGPATH, "%s/%s/INCREMENTAL.%s",
@@ -221,7 +232,8 @@ reconstruct_from_incremental_file(
 			{
 				uint64		expected_length;
 
-				expected_length = (uint64) latest_source->truncation_block_length;
+				expected_length =
+					(uint64) latest_source->truncation_block_length;
 				expected_length *= BLCKSZ;
 				if (expected_length == sb.st_size)
 				{
@@ -242,7 +254,8 @@ reconstruct_from_incremental_file(
 		{
 			BlockNumber b = s->relative_block_numbers[i];
 
-			if (b < latest_source->truncation_block_length && sourcemap[b] == NULL)
+			if (b < latest_source->truncation_block_length &&
+				sourcemap[b] == NULL)
 			{
 				sourcemap[b] = s;
 				offsetmap[b] = s->header_length + (i * BLCKSZ);
@@ -271,16 +284,16 @@ reconstruct_from_incremental_file(
 									  manifest_path);
 		if (mfile == NULL)
 		{
-			char	   *path =
-				psprintf("%s/backup_manifest", prior_backup_dirs[copy_source_index]);
+			char	   *path = psprintf("%s/backup_manifest",
+										prior_backup_dirs[copy_source_index]);
 
 			/*
 			 * The directory is out of sync with the backup_manifest, so emit
 			 * a warning.
 			 */
-			/*- translator: the first %s is a backup manifest file, the second is a
-	         * file absent therein */
-			pg_log_warning("\"%s\" contains no entry for \"%s\"", path,
+			/*- translator: the first %s is a backup manifest file, the second is a file absent therein */
+			pg_log_warning("\"%s\" contains no entry for \"%s\"",
+						   path,
 						   manifest_path);
 			pfree(path);
 		}
@@ -288,7 +301,8 @@ reconstruct_from_incremental_file(
 		{
 			*checksum_length = mfile->checksum_length;
 			*checksum_payload = pg_malloc(*checksum_length);
-			memcpy(*checksum_payload, mfile->checksum_payload, *checksum_length);
+			memcpy(*checksum_payload, mfile->checksum_payload,
+				   *checksum_length);
 			checksum_type = CHECKSUM_TYPE_NONE;
 		}
 	}
@@ -305,13 +319,13 @@ reconstruct_from_incremental_file(
 	 * Otherwise, reconstruct.
 	 */
 	if (copy_source != NULL)
-		copy_file(copy_source->filename, output_filename, &checksum_ctx, dry_run,
-				  copy_method);
+		copy_file(copy_source->filename, output_filename,
+				  &checksum_ctx, dry_run, copy_method);
 	else
 	{
-		write_reconstructed_file(input_filename, output_filename, block_length,
-								 sourcemap, offsetmap, &checksum_ctx, debug,
-								 dry_run);
+		write_reconstructed_file(input_filename, output_filename,
+								 block_length, sourcemap, offsetmap,
+								 &checksum_ctx, debug, dry_run);
 		debug_reconstruction(n_prior_backups + 1, source, dry_run);
 	}
 
@@ -319,7 +333,8 @@ reconstruct_from_incremental_file(
 	if (checksum_type != CHECKSUM_TYPE_NONE)
 	{
 		*checksum_payload = pg_malloc(PG_CHECKSUM_MAX_LENGTH);
-		*checksum_length = pg_checksum_final(&checksum_ctx, *checksum_payload);
+		*checksum_length = pg_checksum_final(&checksum_ctx,
+											 *checksum_payload);
 	}
 
 	/*
@@ -364,11 +379,11 @@ debug_reconstruction(int n_source, rfile **sources, bool dry_run)
 
 		/* Debug logging. */
 		if (dry_run)
-			pg_log_debug("would have read %u blocks from \"%s\"", s->num_blocks_read,
-						 s->filename);
+			pg_log_debug("would have read %u blocks from \"%s\"",
+						 s->num_blocks_read, s->filename);
 		else
-			pg_log_debug("read %u blocks from \"%s\"", s->num_blocks_read,
-						 s->filename);
+			pg_log_debug("read %u blocks from \"%s\"",
+						 s->num_blocks_read, s->filename);
 
 		/*
 		 * In dry-run mode, we don't actually try to read data from the file,
@@ -387,7 +402,8 @@ debug_reconstruction(int n_source, rfile **sources, bool dry_run)
 				pg_fatal("could not stat \"%s\": %m", s->filename);
 			if (sb.st_size < s->highest_offset_read)
 				pg_fatal("file \"%s\" is too short: expected %llu, found %llu",
-						 s->filename, (unsigned long long) s->highest_offset_read,
+						 s->filename,
+						 (unsigned long long) s->highest_offset_read,
 						 (unsigned long long) sb.st_size);
 		}
 	}
@@ -440,8 +456,7 @@ make_incremental_rfile(char *filename)
 	read_bytes(rf, &rf->truncation_block_length,
 			   sizeof(rf->truncation_block_length));
 	if (rf->truncation_block_length > RELSEG_SIZE)
-		pg_fatal("file \"%s\" has truncation block length %u in excess of segment "
-				 "size %u",
+		pg_fatal("file \"%s\" has truncation block length %u in excess of segment size %u",
 				 filename, rf->truncation_block_length, RELSEG_SIZE);
 
 	/* Read block numbers if there are any. */
@@ -508,10 +523,12 @@ read_bytes(rfile *rf, void *buffer, unsigned length)
 static void
 write_reconstructed_file(char *input_filename,
 						 char *output_filename,
-						 unsigned block_length, rfile **sourcemap,
+						 unsigned block_length,
+						 rfile **sourcemap,
 						 off_t *offsetmap,
 						 pg_checksum_context *checksum_ctx,
-						 bool debug, bool dry_run)
+						 bool debug,
+						 bool dry_run)
 {
 	int			wfd = -1;
 	unsigned	i;
@@ -554,8 +571,8 @@ write_reconstructed_file(char *input_filename,
 				if (current_block == start_of_range)
 					appendStringInfo(&debug_buf, " %u:zero", current_block);
 				else
-					appendStringInfo(&debug_buf, " %u-%u:zero", start_of_range,
-									 current_block);
+					appendStringInfo(&debug_buf, " %u-%u:zero",
+									 start_of_range, current_block);
 			}
 			else
 			{
@@ -587,7 +604,8 @@ write_reconstructed_file(char *input_filename,
 
 	/* Open the output file, except in dry_run mode. */
 	if (!dry_run &&
-		(wfd = open(output_filename, O_RDWR | PG_BINARY | O_CREAT | O_EXCL,
+		(wfd = open(output_filename,
+					O_RDWR | PG_BINARY | O_CREAT | O_EXCL,
 					pg_file_create_mode)) < 0)
 		pg_fatal("could not open file \"%s\": %m", output_filename);
 
@@ -604,8 +622,8 @@ write_reconstructed_file(char *input_filename,
 		else
 		{
 			s->num_blocks_read++;
-			s->highest_offset_read =
-				Max(s->highest_offset_read, offsetmap[i] + BLCKSZ);
+			s->highest_offset_read = Max(s->highest_offset_read,
+										 offsetmap[i] + BLCKSZ);
 		}
 
 		/* Skip the rest of this in dry-run mode. */
@@ -632,9 +650,9 @@ write_reconstructed_file(char *input_filename,
 				if (rb < 0)
 					pg_fatal("could not read file \"%s\": %m", s->filename);
 				else
-					pg_fatal("could not read file \"%s\": read only %d of %d bytes at "
-							 "offset %llu",
-							 s->filename, rb, BLCKSZ, (unsigned long long) offsetmap[i]);
+					pg_fatal("could not read file \"%s\": read only %d of %d bytes at offset %llu",
+							 s->filename, rb, BLCKSZ,
+							 (unsigned long long) offsetmap[i]);
 			}
 		}
 
@@ -650,7 +668,8 @@ write_reconstructed_file(char *input_filename,
 
 		/* Update the checksum computation. */
 		if (pg_checksum_update(checksum_ctx, buffer, BLCKSZ) < 0)
-			pg_fatal("could not update checksum of file \"%s\"", output_filename);
+			pg_fatal("could not update checksum of file \"%s\"",
+					 output_filename);
 	}
 
 	/* Debugging output. */
diff --git a/src/bin/pg_combinebackup/reconstruct.h b/src/bin/pg_combinebackup/reconstruct.h
index 1fa734011bd..8d19dbf7e50 100644
--- a/src/bin/pg_combinebackup/reconstruct.h
+++ b/src/bin/pg_combinebackup/reconstruct.h
@@ -18,12 +18,19 @@
 #include "common/file_utils.h"
 #include "load_manifest.h"
 
-extern void reconstruct_from_incremental_file(
-											  char *input_filename, char *output_filename, char *relative_path,
-											  char *bare_file_name, int n_prior_backups, char **prior_backup_dirs,
-											  manifest_data **manifests, char *manifest_path,
-											  pg_checksum_type checksum_type, int *checksum_length,
-											  uint8 **checksum_payload, bool debug, bool dry_run,
+extern void reconstruct_from_incremental_file(char *input_filename,
+											  char *output_filename,
+											  char *relative_path,
+											  char *bare_file_name,
+											  int n_prior_backups,
+											  char **prior_backup_dirs,
+											  manifest_data **manifests,
+											  char *manifest_path,
+											  pg_checksum_type checksum_type,
+											  int *checksum_length,
+											  uint8 **checksum_payload,
+											  bool debug,
+											  bool dry_run,
 											  CopyFileMethod copy_method);
 
 #endif
-- 
2.44.0

v20240319-0001-rebased-patch.patchtext/x-patch; charset=UTF-8; name=v20240319-0001-rebased-patch.patchDownload
From b1183fbae8ed0123d7385a8501f1a843f0d9aa85 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Tue, 19 Mar 2024 15:16:29 +0100
Subject: [PATCH v20240319 1/2] rebased patch

---
 src/bin/pg_combinebackup/copy_file.c        | 227 +++++++++++++-------
 src/bin/pg_combinebackup/copy_file.h        |  14 +-
 src/bin/pg_combinebackup/pg_combinebackup.c | 220 ++++++++++---------
 src/bin/pg_combinebackup/reconstruct.c      | 106 ++++-----
 src/bin/pg_combinebackup/reconstruct.h      |  22 +-
 5 files changed, 328 insertions(+), 261 deletions(-)

diff --git a/src/bin/pg_combinebackup/copy_file.c b/src/bin/pg_combinebackup/copy_file.c
index e6d2423278a..16e26b4f573 100644
--- a/src/bin/pg_combinebackup/copy_file.c
+++ b/src/bin/pg_combinebackup/copy_file.c
@@ -10,19 +10,21 @@
  */
 #include "postgres_fe.h"
 
-#ifdef HAVE_COPYFILE_H
-#include <copyfile.h>
-#endif
 #include <fcntl.h>
+#include <limits.h>
 #include <sys/stat.h>
 #include <unistd.h>
 
 #include "common/file_perm.h"
+#include "common/file_utils.h"
 #include "common/logging.h"
 #include "copy_file.h"
 
-static void copy_file_blocks(const char *src, const char *dst,
-							 pg_checksum_context *checksum_ctx);
+static void pg_copyfile(const char *src, const char *dest, const char *addon_errmsg,
+						pg_checksum_context *ctx);
+
+static void pg_copyfile_offload(const char *src, const char *dest,
+								const char *addon_errmsg, CopyFileMethod flags);
 
 #ifdef WIN32
 static void copy_file_copyfile(const char *src, const char *dst);
@@ -35,7 +37,8 @@ static void copy_file_copyfile(const char *src, const char *dst);
  */
 void
 copy_file(const char *src, const char *dst,
-		  pg_checksum_context *checksum_ctx, bool dry_run)
+		  pg_checksum_context *checksum_ctx, bool dry_run,
+		  CopyFileMethod copy_strategy)
 {
 	/*
 	 * In dry-run mode, we don't actually copy anything, nor do we read any
@@ -49,6 +52,8 @@ copy_file(const char *src, const char *dst,
 			pg_fatal("could not open \"%s\": %m", src);
 		if (close(fd) < 0)
 			pg_fatal("could not close \"%s\": %m", src);
+
+		return;
 	}
 
 	/*
@@ -56,104 +61,180 @@ copy_file(const char *src, const char *dst,
 	 * operating system primitives that we know about to copy the file; this
 	 * may be quicker than a naive block copy.
 	 */
-	if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
-	{
-		char	   *strategy_name = NULL;
-		void		(*strategy_implementation) (const char *, const char *) = NULL;
+	if (checksum_ctx->type == CHECKSUM_TYPE_NONE && copy_strategy != 0)
+		pg_copyfile_offload(src, dst, NULL, copy_strategy);
+	else
+		pg_copyfile(src, dst, NULL, checksum_ctx);
+}
 
-#ifdef WIN32
-		strategy_name = "CopyFile";
-		strategy_implementation = copy_file_copyfile;
-#endif
+/* Helper function to optionally prepend error string */
+static inline char *
+opt_errinfo(const char *addon_errmsg)
+{
+	char		buf[128];
 
-		if (strategy_name != NULL)
-		{
-			if (dry_run)
-				pg_log_debug("would copy \"%s\" to \"%s\" using strategy %s",
-							 src, dst, strategy_name);
-			else
-			{
-				pg_log_debug("copying \"%s\" to \"%s\" using strategy %s",
-							 src, dst, strategy_name);
-				(*strategy_implementation) (src, dst);
-			}
-			return;
-		}
-	}
+	if (addon_errmsg == NULL)
+		return "";
 
-	/*
-	 * Fall back to the simple approach of reading and writing all the blocks,
-	 * feeding them into the checksum context as we go.
-	 */
-	if (dry_run)
-	{
-		if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
-			pg_log_debug("would copy \"%s\" to \"%s\"",
-						 src, dst);
-		else
-			pg_log_debug("would copy \"%s\" to \"%s\" and checksum with %s",
-						 src, dst, pg_checksum_type_name(checksum_ctx->type));
-	}
-	else
-	{
-		if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
-			pg_log_debug("copying \"%s\" to \"%s\"",
-						 src, dst);
-		else
-			pg_log_debug("copying \"%s\" to \"%s\" and checksumming with %s",
-						 src, dst, pg_checksum_type_name(checksum_ctx->type));
-		copy_file_blocks(src, dst, checksum_ctx);
-	}
+	strcpy(buf, " ");
+	return strncat(buf, addon_errmsg, sizeof(buf) - 2);
 }
 
 /*
- * Copy a file block by block, and optionally compute a checksum as we go.
+ * Copies a relation file from src to dest. addon_errmsg is an optional
+ * addon error message (can be NULL or include schema/relName)
  */
 static void
-copy_file_blocks(const char *src, const char *dst,
-				 pg_checksum_context *checksum_ctx)
+pg_copyfile(const char *src, const char *dest, const char *addon_errmsg,
+			pg_checksum_context *ctx)
 {
+#ifndef WIN32
 	int			src_fd;
 	int			dest_fd;
 	uint8	   *buffer;
+
+	/* copy in fairly large chunks for best efficiency */
 	const int	buffer_size = 50 * BLCKSZ;
-	ssize_t		rb;
-	unsigned	offset = 0;
 
 	if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
-		pg_fatal("could not open file \"%s\": %m", src);
+		pg_fatal("error while copying%s: could not open file \"%s\": %s",
+				 opt_errinfo(addon_errmsg), src, strerror(errno));
 
-	if ((dest_fd = open(dst, O_WRONLY | O_CREAT | O_EXCL | PG_BINARY,
+	if ((dest_fd = open(dest, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
 						pg_file_create_mode)) < 0)
-		pg_fatal("could not open file \"%s\": %m", dst);
+		pg_fatal("error while copying%s: could not create file \"%s\": %s",
+				 opt_errinfo(addon_errmsg), dest, strerror(errno));
 
 	buffer = pg_malloc(buffer_size);
 
-	while ((rb = read(src_fd, buffer, buffer_size)) > 0)
+	/* perform data copying i.e read src source, write to destination */
+	while (true)
 	{
-		ssize_t		wb;
+		ssize_t		nbytes = read(src_fd, buffer, buffer_size);
 
-		if ((wb = write(dest_fd, buffer, rb)) != rb)
+		if (nbytes < 0)
+			pg_fatal("error while copying%s: could not read file "
+					 "\"%s\": %s",
+					 opt_errinfo(addon_errmsg), src, strerror(errno));
+
+		if (nbytes == 0)
+			break;
+
+		errno = 0;
+		if (write(dest_fd, buffer, nbytes) != nbytes)
 		{
-			if (wb < 0)
-				pg_fatal("could not write file \"%s\": %m", dst);
-			else
-				pg_fatal("could not write file \"%s\": wrote only %d of %d bytes at offset %u",
-						 dst, (int) wb, (int) rb, offset);
+			/*
+			 * if write didn't set errno, assume problem is no disk space
+			 */
+			if (errno == 0)
+				errno = ENOSPC;
+			pg_fatal("error while copying%s: could not write file \"%s\": %s",
+					 opt_errinfo(addon_errmsg), dest, strerror(errno));
 		}
 
-		if (pg_checksum_update(checksum_ctx, buffer, rb) < 0)
-			pg_fatal("could not update checksum of file \"%s\"", dst);
+		if (pg_checksum_update(ctx, buffer, nbytes) < 0)
+			pg_fatal("could not calculate checksum of file \"%s\"", dest);
+	}
+
+	pg_free(buffer);
+	close(src_fd);
+	close(dest_fd);
+
+#else							/* WIN32 */
+	if (CopyFile(src, dest, true) == 0)
+	{
+		_dosmaperr(GetLastError());
+		pg_fatal("error while copying%s (\"%s\" to \"%s\"): %s", addon_errmsg,
+				 opt_errinfo(addon_errmsg), src, dest, strerror(errno));
+	}
+#endif							/* WIN32 */
+}
+
+/*
+ * pg_copyfile_offload()
+ *
+ * Clones/reflinks a relation file from src to dest using variety of methods
+ *
+ * addon_errmsg can be used to pass additional information in case of errors.
+ * flags, see PG_COPYFILE_* enum in file_utils.h
+ */
+static void
+pg_copyfile_offload(const char *src, const char *dest,
+					const char *addon_errmsg, CopyFileMethod flags)
+{
 
-		offset += rb;
+#ifdef WIN32
+	/* on WIN32 we ignore flags, we have no other choice */
+	if (CopyFile(src, dest, true) == 0)
+	{
+		_dosmaperr(GetLastError());
+		pg_fatal("error while copying%s (\"%s\" to \"%s\"): %s", addon_errmsg,
+				 opt_errinfo(addon_errmsg), src, dest, strerror(errno));
 	}
+#elif defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE)
+	/* on MacOS we ignore flags, we have no other choice */
+	if (copyfile(src, dest, NULL, COPYFILE_CLONE_FORCE) < 0)
+		pg_fatal("error while cloning%s: (\"%s\" to \"%s\"): %s",
+				 opt_errinfo(addon_errmsg), src, dest, strerror(errno));
+
+#elif defined(HAVE_COPY_FILE_RANGE) || defined(FICLONE)
+	int			src_fd;
+	int			dest_fd;
+	ssize_t		nbytes;
 
-	if (rb < 0)
-		pg_fatal("could not read file \"%s\": %m", dst);
+	if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+		pg_fatal("error while copying%s: could not open file \"%s\": %s",
+				 opt_errinfo(addon_errmsg), src, strerror(errno));
+
+	if ((dest_fd = open(dest, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+						pg_file_create_mode)) < 0)
+		pg_fatal("error while copying%s: could not create file \"%s\": %s",
+				 opt_errinfo(addon_errmsg), dest, strerror(errno));
+
+	if (flags & PG_COPYFILE_COPY_FILE_RANGE)
+	{
+#ifdef HAVE_COPY_FILE_RANGE
+		do
+		{
+			nbytes = copy_file_range(src_fd, NULL, dest_fd, NULL, SSIZE_MAX, 0);
+			if (nbytes < 0 && errno != EINTR)
+				pg_fatal("error while copying%s: could not copy_file_range()"
+						 "from \"%s\" to \"%s\": %s",
+						 opt_errinfo(addon_errmsg), src, dest, strerror(errno));
+		} while (nbytes > 0);
+#else
+		pg_fatal("copy file accelaration via copy_file_range() is not supported on "
+				 "this platform");
+#endif
+	}
+	else if (flags & PG_COPYFILE_IOCTL_FICLONE)
+	{
+#if defined(__linux__) && defined(FICLONE)
+		if (ioctl(dest_fd, FICLONE, src_fd) < 0)
+		{
+			int			save_errno = errno;
+
+			unlink(dest);
+
+			pg_fatal("error while cloning%s: (\"%s\" to \"%s\"): %s",
+					 opt_errinfo(addon_errmsg), src, dest, strerror(save_errno));
+		}
+#else
+		pg_fatal("clone file accelaration via ioctl(FICLONE) is not supported on "
+				 "this platform");
+#endif
+	}
 
-	pg_free(buffer);
 	close(src_fd);
 	close(dest_fd);
+
+#else
+	if (flags & PG_COPYFILE_FALLBACK)
+		pg_copyfile(src, dest, addon_errmsg);
+	else
+		pg_fatal("none of the copy file acceleration methods are supported on this "
+				 "platform");
+#endif
 }
 
 #ifdef WIN32
diff --git a/src/bin/pg_combinebackup/copy_file.h b/src/bin/pg_combinebackup/copy_file.h
index 0f6bc09403f..2797a340055 100644
--- a/src/bin/pg_combinebackup/copy_file.h
+++ b/src/bin/pg_combinebackup/copy_file.h
@@ -11,9 +11,21 @@
 #ifndef COPY_FILE_H
 #define COPY_FILE_H
 
+#include "c.h"
 #include "common/checksum_helper.h"
+#include "common/file_utils.h"
+
+typedef enum CopyFileMethod
+{
+	PG_COPYFILE_FALLBACK = 0x1,
+	PG_COPYFILE_IOCTL_FICLONE = 0x2,	/* Linux */
+	PG_COPYFILE_COPY_FILE_RANGE = 0x4,	/* FreeBSD & Linux >= 4.5 */
+	PG_COPYFILE_COPYFILE_CLONE_FORCE = 0x8	/* MacOS */
+} CopyFileMethod;
+#define PG_COPYFILE_ANY_WITH_FALLBACK (2 << 4) - 1
 
 extern void copy_file(const char *src, const char *dst,
-					  pg_checksum_context *checksum_ctx, bool dry_run);
+					  pg_checksum_context *checksum_ctx, bool dry_run,
+					  CopyFileMethod copy_strategy);
 
 #endif							/* COPY_FILE_H */
diff --git a/src/bin/pg_combinebackup/pg_combinebackup.c b/src/bin/pg_combinebackup/pg_combinebackup.c
index 74f8be9eeac..1455360d81c 100644
--- a/src/bin/pg_combinebackup/pg_combinebackup.c
+++ b/src/bin/pg_combinebackup/pg_combinebackup.c
@@ -69,6 +69,7 @@ typedef struct cb_options
 	pg_checksum_type manifest_checksums;
 	bool		no_manifest;
 	DataDirSyncMethod sync_method;
+	CopyFileMethod copy_method;
 } cb_options;
 
 /*
@@ -98,15 +99,10 @@ static void cleanup_directories_atexit(void);
 static void create_output_directory(char *dirname, cb_options *opt);
 static void help(const char *progname);
 static bool parse_oid(char *s, Oid *result);
-static void process_directory_recursively(Oid tsoid,
-										  char *input_directory,
-										  char *output_directory,
-										  char *relative_path,
-										  int n_prior_backups,
-										  char **prior_backup_dirs,
-										  manifest_data **manifests,
-										  manifest_writer *mwriter,
-										  cb_options *opt);
+static void process_directory_recursively(
+										  Oid tsoid, char *input_directory, char *output_directory,
+										  char *relative_path, int n_prior_backups, char **prior_backup_dirs,
+										  manifest_data **manifests, manifest_writer *mwriter, cb_options *opt);
 static int	read_pg_version_file(char *directory);
 static void remember_to_cleanup_directory(char *target_path, bool rmtopdir);
 static void reset_directory_cleanup_list(void);
@@ -129,8 +125,9 @@ main(int argc, char *argv[])
 		{"manifest-checksums", required_argument, NULL, 1},
 		{"no-manifest", no_argument, NULL, 2},
 		{"sync-method", required_argument, NULL, 3},
-		{NULL, 0, NULL, 0}
-	};
+		{"clone", no_argument, NULL, 4},
+		{"copy-file-range", no_argument, NULL, 5},
+	{NULL, 0, NULL, 0}};
 
 	const char *progname;
 	char	   *last_input_dir;
@@ -156,10 +153,11 @@ main(int argc, char *argv[])
 	memset(&opt, 0, sizeof(opt));
 	opt.manifest_checksums = CHECKSUM_TYPE_CRC32C;
 	opt.sync_method = DATA_DIR_SYNC_METHOD_FSYNC;
+	opt.copy_method = 0;
 
 	/* process command-line options */
-	while ((c = getopt_long(argc, argv, "dnNPo:T:",
-							long_options, &optindex)) != -1)
+	while ((c = getopt_long(argc, argv, "dnNPo:T:", long_options, &optindex)) !=
+		   -1)
 	{
 		switch (c)
 		{
@@ -180,10 +178,8 @@ main(int argc, char *argv[])
 				add_tablespace_mapping(&opt, optarg);
 				break;
 			case 1:
-				if (!pg_checksum_parse_type(optarg,
-											&opt.manifest_checksums))
-					pg_fatal("unrecognized checksum algorithm: \"%s\"",
-							 optarg);
+				if (!pg_checksum_parse_type(optarg, &opt.manifest_checksums))
+					pg_fatal("unrecognized checksum algorithm: \"%s\"", optarg);
 				break;
 			case 2:
 				opt.no_manifest = true;
@@ -192,6 +188,12 @@ main(int argc, char *argv[])
 				if (!parse_sync_method(optarg, &opt.sync_method))
 					exit(1);
 				break;
+			case 4:
+				opt.copy_method = PG_COPYFILE_IOCTL_FICLONE;
+				break;
+			case 5:
+				opt.copy_method = PG_COPYFILE_COPY_FILE_RANGE;
+				break;
 			default:
 				/* getopt_long already emitted a complaint */
 				pg_log_error_hint("Try \"%s --help\" for more information.", progname);
@@ -213,6 +215,14 @@ main(int argc, char *argv[])
 	if (opt.no_manifest)
 		opt.manifest_checksums = CHECKSUM_TYPE_NONE;
 
+	/*
+	 * We cannot provide file copy/clone offload in case when we need to
+	 * calculate checksums
+	 */
+	if (opt.copy_method != 0 && opt.manifest_checksums != CHECKSUM_TYPE_NONE)
+		pg_fatal("unable to use accelerated copy when manifest checksums "
+				 "are to be calculated. Use --no-manifest");
+
 	/* Read the server version from the final backup. */
 	version = read_pg_version_file(argv[argc - 1]);
 
@@ -285,7 +295,8 @@ main(int argc, char *argv[])
 		 * won't have the WAL ranges for the resulting manifest.
 		 */
 		if (manifests[n_prior_backups] == NULL)
-			pg_fatal("can't generate a manifest because no manifest is available for the final input backup");
+			pg_fatal("can't generate a manifest because no manifest is available for "
+					 "the final input backup");
 	}
 	else
 		mwriter = NULL;
@@ -297,15 +308,15 @@ main(int argc, char *argv[])
 	{
 		pg_log_debug("generating \"%s/backup_label\"", opt.output);
 		last_backup_label->cursor = 0;
-		write_backup_label(opt.output, last_backup_label,
-						   opt.manifest_checksums, mwriter);
+		write_backup_label(opt.output, last_backup_label, opt.manifest_checksums,
+						   mwriter);
 	}
 
 	/* Process everything that's not part of a user-defined tablespace. */
 	pg_log_debug("processing backup directory \"%s\"", last_input_dir);
-	process_directory_recursively(InvalidOid, last_input_dir, opt.output,
-								  NULL, n_prior_backups, prior_backup_dirs,
-								  manifests, mwriter, &opt);
+	process_directory_recursively(InvalidOid, last_input_dir, opt.output, NULL,
+								  n_prior_backups, prior_backup_dirs, manifests,
+								  mwriter, &opt);
 
 	/* Process user-defined tablespaces. */
 	for (ts = tablespaces; ts != NULL; ts = ts->next)
@@ -321,16 +332,15 @@ main(int argc, char *argv[])
 		{
 			char		linkpath[MAXPGPATH];
 
-			snprintf(linkpath, MAXPGPATH, "%s/pg_tblspc/%u", opt.output,
-					 ts->oid);
+			snprintf(linkpath, MAXPGPATH, "%s/pg_tblspc/%u", opt.output, ts->oid);
 
 			if (opt.dry_run)
 				pg_log_debug("would create symbolic link from \"%s\" to \"%s\"",
 							 linkpath, ts->new_dir);
 			else
 			{
-				pg_log_debug("creating symbolic link from \"%s\" to \"%s\"",
-							 linkpath, ts->new_dir);
+				pg_log_debug("creating symbolic link from \"%s\" to \"%s\"", linkpath,
+							 ts->new_dir);
 				if (symlink(ts->new_dir, linkpath) != 0)
 					pg_fatal("could not create symbolic link from \"%s\" to \"%s\": %m",
 							 linkpath, ts->new_dir);
@@ -344,21 +354,19 @@ main(int argc, char *argv[])
 			{
 				pg_log_debug("creating directory \"%s\"", ts->new_dir);
 				if (pg_mkdir_p(ts->new_dir, pg_dir_create_mode) == -1)
-					pg_fatal("could not create directory \"%s\": %m",
-							 ts->new_dir);
+					pg_fatal("could not create directory \"%s\": %m", ts->new_dir);
 			}
 		}
 
 		/* OK, now handle the directory contents. */
-		process_directory_recursively(ts->oid, ts->old_dir, ts->new_dir,
-									  NULL, n_prior_backups, prior_backup_dirs,
-									  manifests, mwriter, &opt);
+		process_directory_recursively(ts->oid, ts->old_dir, ts->new_dir, NULL,
+									  n_prior_backups, prior_backup_dirs, manifests,
+									  mwriter, &opt);
 	}
 
 	/* Finalize the backup_manifest, if we're generating one. */
 	if (mwriter != NULL)
-		finalize_manifest(mwriter,
-						  manifests[n_prior_backups]->first_wal_range);
+		finalize_manifest(mwriter, manifests[n_prior_backups]->first_wal_range);
 
 	/* fsync that output directory unless we've been told not to do so */
 	if (!opt.no_sync)
@@ -414,7 +422,9 @@ add_tablespace_mapping(cb_options *opt, char *arg)
 			*dst_ptr++ = *arg_ptr;
 	}
 	if (!tsmap->old_dir[0] || !tsmap->new_dir[0])
-		pg_fatal("invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"", arg);
+		pg_fatal(
+				 "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"",
+				 arg);
 
 	/*
 	 * All tablespaces are created with absolute directories, so specifying a
@@ -486,8 +496,8 @@ check_backup_label_files(int n_backups, char **backup_dirs)
 			pg_fatal("could not close \"%s\": %m", pathbuf);
 
 		/* Parse the file contents. */
-		parse_backup_label(pathbuf, buf, &start_tli, &start_lsn,
-						   &previous_tli, &previous_lsn);
+		parse_backup_label(pathbuf, buf, &start_tli, &start_lsn, &previous_tli,
+						   &previous_lsn);
 
 		/*
 		 * Sanity checks.
@@ -498,18 +508,19 @@ check_backup_label_files(int n_backups, char **backup_dirs)
 		 * we don't have that information.
 		 */
 		if (i > 0 && previous_tli == 0)
-			pg_fatal("backup at \"%s\" is a full backup, but only the first backup should be a full backup",
+			pg_fatal("backup at \"%s\" is a full backup, but only the first backup "
+					 "should be a full backup",
 					 backup_dirs[i]);
 		if (i == 0 && previous_tli != 0)
-			pg_fatal("backup at \"%s\" is an incremental backup, but the first backup should be a full backup",
+			pg_fatal("backup at \"%s\" is an incremental backup, but the first "
+					 "backup should be a full backup",
 					 backup_dirs[i]);
 		if (i < n_backups - 1 && start_tli != check_tli)
 			pg_fatal("backup at \"%s\" starts on timeline %u, but expected %u",
 					 backup_dirs[i], start_tli, check_tli);
 		if (i < n_backups - 1 && start_lsn != check_lsn)
 			pg_fatal("backup at \"%s\" starts at LSN %X/%X, but expected %X/%X",
-					 backup_dirs[i],
-					 LSN_FORMAT_ARGS(start_lsn),
+					 backup_dirs[i], LSN_FORMAT_ARGS(start_lsn),
 					 LSN_FORMAT_ARGS(check_lsn));
 		check_tli = previous_tli;
 		check_lsn = previous_lsn;
@@ -561,8 +572,7 @@ check_control_files(int n_backups, char **backup_dirs)
 
 		/* Can't interpret control file if not current version. */
 		if (control_file->pg_control_version != PG_CONTROL_VERSION)
-			pg_fatal("%s: unexpected control file version",
-					 controlpath);
+			pg_fatal("%s: unexpected control file version", controlpath);
 
 		/* System identifiers should all match. */
 		if (i == n_backups - 1)
@@ -688,14 +698,23 @@ help(const char *progname)
 	printf(_("\nOptions:\n"));
 	printf(_("  -d, --debug               generate lots of debugging output\n"));
 	printf(_("  -n, --dry-run             don't actually do anything\n"));
-	printf(_("  -N, --no-sync             do not wait for changes to be written safely to disk\n"));
+	printf(_("  -N, --no-sync             do not wait for changes to be written "
+			 "safely to disk\n"));
 	printf(_("  -o, --output              output directory\n"));
-	printf(_("  -T, --tablespace-mapping=OLDDIR=NEWDIR\n"
+	printf(_(
+			 "  -T, --tablespace-mapping=OLDDIR=NEWDIR\n"
 			 "                            relocate tablespace in OLDDIR to NEWDIR\n"));
-	printf(_("      --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n"
+	printf(
+		   _("      --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n"
 			 "                            use algorithm for manifest checksums\n"));
-	printf(_("      --no-manifest         suppress generation of backup manifest\n"));
-	printf(_("      --sync-method=METHOD  set method for syncing files to disk\n"));
+	printf(_(
+			 "      --no-manifest         suppress generation of backup manifest\n"));
+	printf(
+		   _("      --sync-method=METHOD  set method for syncing files to disk\n"));
+	printf(_("      --clone               clone (reflink) instead of copying "
+			 "files\n"));
+	printf(
+		   _("      --copy-file-range     copy using copy_file_range() syscall\n"));
 	printf(_("  -?, --help                show this help, then exit\n"));
 
 	printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
@@ -742,15 +761,10 @@ parse_oid(char *s, Oid *result)
  * the locations of those previous backups.
  */
 static void
-process_directory_recursively(Oid tsoid,
-							  char *input_directory,
-							  char *output_directory,
-							  char *relative_path,
-							  int n_prior_backups,
-							  char **prior_backup_dirs,
-							  manifest_data **manifests,
-							  manifest_writer *mwriter,
-							  cb_options *opt)
+process_directory_recursively(
+							  Oid tsoid, char *input_directory, char *output_directory,
+							  char *relative_path, int n_prior_backups, char **prior_backup_dirs,
+							  manifest_data **manifests, manifest_writer *mwriter, cb_options *opt)
 {
 	char		ifulldir[MAXPGPATH];
 	char		ofulldir[MAXPGPATH];
@@ -803,13 +817,11 @@ process_directory_recursively(Oid tsoid,
 	}
 	else
 	{
-		snprintf(ifulldir, MAXPGPATH, "%s/%s", input_directory,
-				 relative_path);
-		snprintf(ofulldir, MAXPGPATH, "%s/%s", output_directory,
-				 relative_path);
+		snprintf(ifulldir, MAXPGPATH, "%s/%s", input_directory, relative_path);
+		snprintf(ofulldir, MAXPGPATH, "%s/%s", output_directory, relative_path);
 		if (OidIsValid(tsoid))
-			snprintf(manifest_prefix, MAXPGPATH, "pg_tblspc/%u/%s/",
-					 tsoid, relative_path);
+			snprintf(manifest_prefix, MAXPGPATH, "pg_tblspc/%u/%s/", tsoid,
+					 relative_path);
 		else
 			snprintf(manifest_prefix, MAXPGPATH, "%s/", relative_path);
 	}
@@ -845,8 +857,7 @@ process_directory_recursively(Oid tsoid,
 		pg_checksum_context checksum_ctx;
 
 		/* Ignore "." and ".." entries. */
-		if (strcmp(de->d_name, ".") == 0 ||
-			strcmp(de->d_name, "..") == 0)
+		if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0)
 			continue;
 
 		/* Construct input path. */
@@ -882,11 +893,9 @@ process_directory_recursively(Oid tsoid,
 						 de->d_name);
 
 			/* And recurse. */
-			process_directory_recursively(tsoid,
-										  input_directory, output_directory,
-										  new_relative_path,
-										  n_prior_backups, prior_backup_dirs,
-										  manifests, mwriter, opt);
+			process_directory_recursively(tsoid, input_directory, output_directory,
+										  new_relative_path, n_prior_backups,
+										  prior_backup_dirs, manifests, mwriter, opt);
 			continue;
 		}
 
@@ -904,46 +913,37 @@ process_directory_recursively(Oid tsoid,
 		 * Skip the backup_label and backup_manifest files; they require
 		 * special handling and are handled elsewhere.
 		 */
-		if (relative_path == NULL &&
-			(strcmp(de->d_name, "backup_label") == 0 ||
-			 strcmp(de->d_name, "backup_manifest") == 0))
+		if (relative_path == NULL && (strcmp(de->d_name, "backup_label") == 0 ||
+									  strcmp(de->d_name, "backup_manifest") == 0))
 			continue;
 
 		/*
 		 * If it's an incremental file, hand it off to the reconstruction
 		 * code, which will figure out what to do.
 		 */
-		if (strncmp(de->d_name, INCREMENTAL_PREFIX,
-					INCREMENTAL_PREFIX_LENGTH) == 0)
+		if (strncmp(de->d_name, INCREMENTAL_PREFIX, INCREMENTAL_PREFIX_LENGTH) ==
+			0)
 		{
 			/* Output path should not include "INCREMENTAL." prefix. */
 			snprintf(ofullpath, MAXPGPATH, "%s/%s", ofulldir,
 					 de->d_name + INCREMENTAL_PREFIX_LENGTH);
 
-
 			/* Manifest path likewise omits incremental prefix. */
 			snprintf(manifest_path, MAXPGPATH, "%s%s", manifest_prefix,
 					 de->d_name + INCREMENTAL_PREFIX_LENGTH);
 
 			/* Reconstruction logic will do the rest. */
-			reconstruct_from_incremental_file(ifullpath, ofullpath,
-											  relative_path,
-											  de->d_name + INCREMENTAL_PREFIX_LENGTH,
-											  n_prior_backups,
-											  prior_backup_dirs,
-											  manifests,
-											  manifest_path,
-											  checksum_type,
-											  &checksum_length,
-											  &checksum_payload,
-											  opt->debug,
-											  opt->dry_run);
+			reconstruct_from_incremental_file(
+											  ifullpath, ofullpath, relative_path,
+											  de->d_name + INCREMENTAL_PREFIX_LENGTH, n_prior_backups,
+											  prior_backup_dirs, manifests, manifest_path, checksum_type,
+											  &checksum_length, &checksum_payload, opt->debug, opt->dry_run,
+											  opt->copy_method);
 		}
 		else
 		{
 			/* Construct the path that the backup_manifest will use. */
-			snprintf(manifest_path, MAXPGPATH, "%s%s", manifest_prefix,
-					 de->d_name);
+			snprintf(manifest_path, MAXPGPATH, "%s%s", manifest_prefix, de->d_name);
 
 			/*
 			 * It's not an incremental file, so we need to copy the entire
@@ -953,13 +953,11 @@ process_directory_recursively(Oid tsoid,
 			 * backup_manifest for the final input directory, we can save some
 			 * work by reusing that checksum instead of computing a new one.
 			 */
-			if (checksum_type != CHECKSUM_TYPE_NONE &&
-				latest_manifest != NULL)
+			if (checksum_type != CHECKSUM_TYPE_NONE && latest_manifest != NULL)
 			{
 				manifest_file *mfile;
 
-				mfile = manifest_files_lookup(latest_manifest->files,
-											  manifest_path);
+				mfile = manifest_files_lookup(latest_manifest->files, manifest_path);
 				if (mfile == NULL)
 				{
 					char	   *bmpath;
@@ -968,10 +966,9 @@ process_directory_recursively(Oid tsoid,
 					 * The directory is out of sync with the backup_manifest,
 					 * so emit a warning.
 					 */
-					bmpath = psprintf("%s/%s", input_directory,
-									  "backup_manifest");
-					pg_log_warning("\"%s\" contains no entry for \"%s\"",
-								   bmpath, manifest_path);
+					bmpath = psprintf("%s/%s", input_directory, "backup_manifest");
+					pg_log_warning("\"%s\" contains no entry for \"%s\"", bmpath,
+								   manifest_path);
 					pfree(bmpath);
 				}
 				else if (mfile->checksum_type == checksum_type)
@@ -993,7 +990,8 @@ process_directory_recursively(Oid tsoid,
 
 			/* Actually copy the file. */
 			snprintf(ofullpath, MAXPGPATH, "%s/%s", ofulldir, de->d_name);
-			copy_file(ifullpath, ofullpath, &checksum_ctx, opt->dry_run);
+			copy_file(ifullpath, ofullpath, &checksum_ctx, opt->dry_run,
+					  opt->copy_method);
 
 			/*
 			 * If copy_file() performed a checksum calculation for us, then
@@ -1003,8 +1001,7 @@ process_directory_recursively(Oid tsoid,
 			if (checksum_ctx.type != CHECKSUM_TYPE_NONE && !opt->dry_run)
 			{
 				checksum_payload = pg_malloc(PG_CHECKSUM_MAX_LENGTH);
-				checksum_length = pg_checksum_final(&checksum_ctx,
-													checksum_payload);
+				checksum_length = pg_checksum_final(&checksum_ctx, checksum_payload);
 			}
 		}
 
@@ -1030,10 +1027,8 @@ process_directory_recursively(Oid tsoid,
 				pg_fatal("could not stat file \"%s\": %m", ofullpath);
 
 			/* OK, now do the work. */
-			add_file_to_manifest(mwriter, manifest_path,
-								 sb.st_size, sb.st_mtime,
-								 checksum_type, checksum_length,
-								 checksum_payload);
+			add_file_to_manifest(mwriter, manifest_path, sb.st_size, sb.st_mtime,
+								 checksum_type, checksum_length, checksum_payload);
 		}
 
 		/* Avoid leaking memory. */
@@ -1141,7 +1136,8 @@ reset_directory_cleanup_list(void)
  * final backup in the backup chain.
  */
 static cb_tablespace *
-scan_for_existing_tablespaces(char *pathname, cb_options *opt)
+scan_for_existing_tablespaces(char *pathname,
+							  cb_options *opt)
 {
 	char		pg_tblspc[MAXPGPATH];
 	DIR		   *dir;
@@ -1174,7 +1170,8 @@ scan_for_existing_tablespaces(char *pathname, cb_options *opt)
 		/* Ignore any file name that doesn't look like a proper OID. */
 		if (!parse_oid(de->d_name, &oid))
 		{
-			pg_log_debug("skipping \"%s\" because the filename is not a legal tablespace OID",
+			pg_log_debug(
+						 "skipping \"%s\" because the filename is not a legal tablespace OID",
 						 tblspcdir);
 			continue;
 		}
@@ -1185,7 +1182,8 @@ scan_for_existing_tablespaces(char *pathname, cb_options *opt)
 			exit(1);
 		if (type != PGFILETYPE_LNK && type != PGFILETYPE_DIR)
 		{
-			pg_log_debug("skipping \"%s\" because it is neither a symbolic link nor a directory",
+			pg_log_debug("skipping \"%s\" because it is neither a symbolic link nor "
+						 "a directory",
 						 tblspcdir);
 			continue;
 		}
@@ -1205,8 +1203,7 @@ scan_for_existing_tablespaces(char *pathname, cb_options *opt)
 			/* Read the link target. */
 			link_length = readlink(tblspcdir, link_target, sizeof(link_target));
 			if (link_length < 0)
-				pg_fatal("could not read symbolic link \"%s\": %m",
-						 tblspcdir);
+				pg_fatal("could not read symbolic link \"%s\": %m", tblspcdir);
 			if (link_length >= sizeof(link_target))
 				pg_fatal("symbolic link \"%s\" is too long", tblspcdir);
 			link_target[link_length] = '\0';
@@ -1233,8 +1230,7 @@ scan_for_existing_tablespaces(char *pathname, cb_options *opt)
 
 			/* Every non-in-place tablespace must be mapped. */
 			if (tsmap == NULL)
-				pg_fatal("tablespace at \"%s\" has no tablespace mapping",
-						 link_target);
+				pg_fatal("tablespace at \"%s\" has no tablespace mapping", link_target);
 		}
 		else
 		{
diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index 41f06bb26b5..4daff9c77be 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -46,20 +46,16 @@ typedef struct rfile
 	off_t		highest_offset_read;
 } rfile;
 
-static void debug_reconstruction(int n_source,
-								 rfile **sources,
-								 bool dry_run);
+static void debug_reconstruction(int n_source, rfile **sources, bool dry_run);
 static unsigned find_reconstructed_block_length(rfile *s);
 static rfile *make_incremental_rfile(char *filename);
 static rfile *make_rfile(char *filename, bool missing_ok);
 static void write_reconstructed_file(char *input_filename,
 									 char *output_filename,
-									 unsigned block_length,
-									 rfile **sourcemap,
+									 unsigned block_length, rfile **sourcemap,
 									 off_t *offsetmap,
 									 pg_checksum_context *checksum_ctx,
-									 bool debug,
-									 bool dry_run);
+									 bool debug, bool dry_run);
 static void read_bytes(rfile *rf, void *buffer, unsigned length);
 
 /*
@@ -78,19 +74,13 @@ static void read_bytes(rfile *rf, void *buffer, unsigned length);
  * an array of pathnames where those backups can be found.
  */
 void
-reconstruct_from_incremental_file(char *input_filename,
-								  char *output_filename,
-								  char *relative_path,
-								  char *bare_file_name,
-								  int n_prior_backups,
-								  char **prior_backup_dirs,
-								  manifest_data **manifests,
-								  char *manifest_path,
-								  pg_checksum_type checksum_type,
-								  int *checksum_length,
-								  uint8 **checksum_payload,
-								  bool debug,
-								  bool dry_run)
+reconstruct_from_incremental_file(
+								  char *input_filename, char *output_filename, char *relative_path,
+								  char *bare_file_name, int n_prior_backups, char **prior_backup_dirs,
+								  manifest_data **manifests, char *manifest_path,
+								  pg_checksum_type checksum_type, int *checksum_length,
+								  uint8 **checksum_payload, bool debug, bool dry_run,
+								  CopyFileMethod copy_method)
 {
 	rfile	  **source;
 	rfile	   *latest_source = NULL;
@@ -167,8 +157,8 @@ reconstruct_from_incremental_file(char *input_filename,
 		 * Look for the full file in the previous backup. If not found, then
 		 * look for an incremental file instead.
 		 */
-		snprintf(source_filename, MAXPGPATH, "%s/%s/%s",
-				 prior_backup_dirs[sidx], relative_path, bare_file_name);
+		snprintf(source_filename, MAXPGPATH, "%s/%s/%s", prior_backup_dirs[sidx],
+				 relative_path, bare_file_name);
 		if ((s = make_rfile(source_filename, true)) == NULL)
 		{
 			snprintf(source_filename, MAXPGPATH, "%s/%s/INCREMENTAL.%s",
@@ -231,8 +221,7 @@ reconstruct_from_incremental_file(char *input_filename,
 			{
 				uint64		expected_length;
 
-				expected_length =
-					(uint64) latest_source->truncation_block_length;
+				expected_length = (uint64) latest_source->truncation_block_length;
 				expected_length *= BLCKSZ;
 				if (expected_length == sb.st_size)
 				{
@@ -253,8 +242,7 @@ reconstruct_from_incremental_file(char *input_filename,
 		{
 			BlockNumber b = s->relative_block_numbers[i];
 
-			if (b < latest_source->truncation_block_length &&
-				sourcemap[b] == NULL)
+			if (b < latest_source->truncation_block_length && sourcemap[b] == NULL)
 			{
 				sourcemap[b] = s;
 				offsetmap[b] = s->header_length + (i * BLCKSZ);
@@ -283,16 +271,16 @@ reconstruct_from_incremental_file(char *input_filename,
 									  manifest_path);
 		if (mfile == NULL)
 		{
-			char	   *path = psprintf("%s/backup_manifest",
-										prior_backup_dirs[copy_source_index]);
+			char	   *path =
+				psprintf("%s/backup_manifest", prior_backup_dirs[copy_source_index]);
 
 			/*
 			 * The directory is out of sync with the backup_manifest, so emit
 			 * a warning.
 			 */
-			/*- translator: the first %s is a backup manifest file, the second is a file absent therein */
-			pg_log_warning("\"%s\" contains no entry for \"%s\"",
-						   path,
+			/*- translator: the first %s is a backup manifest file, the second is a
+	         * file absent therein */
+			pg_log_warning("\"%s\" contains no entry for \"%s\"", path,
 						   manifest_path);
 			pfree(path);
 		}
@@ -300,8 +288,7 @@ reconstruct_from_incremental_file(char *input_filename,
 		{
 			*checksum_length = mfile->checksum_length;
 			*checksum_payload = pg_malloc(*checksum_length);
-			memcpy(*checksum_payload, mfile->checksum_payload,
-				   *checksum_length);
+			memcpy(*checksum_payload, mfile->checksum_payload, *checksum_length);
 			checksum_type = CHECKSUM_TYPE_NONE;
 		}
 	}
@@ -318,13 +305,13 @@ reconstruct_from_incremental_file(char *input_filename,
 	 * Otherwise, reconstruct.
 	 */
 	if (copy_source != NULL)
-		copy_file(copy_source->filename, output_filename,
-				  &checksum_ctx, dry_run);
+		copy_file(copy_source->filename, output_filename, &checksum_ctx, dry_run,
+				  copy_method);
 	else
 	{
-		write_reconstructed_file(input_filename, output_filename,
-								 block_length, sourcemap, offsetmap,
-								 &checksum_ctx, debug, dry_run);
+		write_reconstructed_file(input_filename, output_filename, block_length,
+								 sourcemap, offsetmap, &checksum_ctx, debug,
+								 dry_run);
 		debug_reconstruction(n_prior_backups + 1, source, dry_run);
 	}
 
@@ -332,8 +319,7 @@ reconstruct_from_incremental_file(char *input_filename,
 	if (checksum_type != CHECKSUM_TYPE_NONE)
 	{
 		*checksum_payload = pg_malloc(PG_CHECKSUM_MAX_LENGTH);
-		*checksum_length = pg_checksum_final(&checksum_ctx,
-											 *checksum_payload);
+		*checksum_length = pg_checksum_final(&checksum_ctx, *checksum_payload);
 	}
 
 	/*
@@ -378,11 +364,11 @@ debug_reconstruction(int n_source, rfile **sources, bool dry_run)
 
 		/* Debug logging. */
 		if (dry_run)
-			pg_log_debug("would have read %u blocks from \"%s\"",
-						 s->num_blocks_read, s->filename);
+			pg_log_debug("would have read %u blocks from \"%s\"", s->num_blocks_read,
+						 s->filename);
 		else
-			pg_log_debug("read %u blocks from \"%s\"",
-						 s->num_blocks_read, s->filename);
+			pg_log_debug("read %u blocks from \"%s\"", s->num_blocks_read,
+						 s->filename);
 
 		/*
 		 * In dry-run mode, we don't actually try to read data from the file,
@@ -401,8 +387,7 @@ debug_reconstruction(int n_source, rfile **sources, bool dry_run)
 				pg_fatal("could not stat \"%s\": %m", s->filename);
 			if (sb.st_size < s->highest_offset_read)
 				pg_fatal("file \"%s\" is too short: expected %llu, found %llu",
-						 s->filename,
-						 (unsigned long long) s->highest_offset_read,
+						 s->filename, (unsigned long long) s->highest_offset_read,
 						 (unsigned long long) sb.st_size);
 		}
 	}
@@ -455,7 +440,8 @@ make_incremental_rfile(char *filename)
 	read_bytes(rf, &rf->truncation_block_length,
 			   sizeof(rf->truncation_block_length));
 	if (rf->truncation_block_length > RELSEG_SIZE)
-		pg_fatal("file \"%s\" has truncation block length %u in excess of segment size %u",
+		pg_fatal("file \"%s\" has truncation block length %u in excess of segment "
+				 "size %u",
 				 filename, rf->truncation_block_length, RELSEG_SIZE);
 
 	/* Read block numbers if there are any. */
@@ -522,12 +508,10 @@ read_bytes(rfile *rf, void *buffer, unsigned length)
 static void
 write_reconstructed_file(char *input_filename,
 						 char *output_filename,
-						 unsigned block_length,
-						 rfile **sourcemap,
+						 unsigned block_length, rfile **sourcemap,
 						 off_t *offsetmap,
 						 pg_checksum_context *checksum_ctx,
-						 bool debug,
-						 bool dry_run)
+						 bool debug, bool dry_run)
 {
 	int			wfd = -1;
 	unsigned	i;
@@ -570,8 +554,8 @@ write_reconstructed_file(char *input_filename,
 				if (current_block == start_of_range)
 					appendStringInfo(&debug_buf, " %u:zero", current_block);
 				else
-					appendStringInfo(&debug_buf, " %u-%u:zero",
-									 start_of_range, current_block);
+					appendStringInfo(&debug_buf, " %u-%u:zero", start_of_range,
+									 current_block);
 			}
 			else
 			{
@@ -603,8 +587,7 @@ write_reconstructed_file(char *input_filename,
 
 	/* Open the output file, except in dry_run mode. */
 	if (!dry_run &&
-		(wfd = open(output_filename,
-					O_RDWR | PG_BINARY | O_CREAT | O_EXCL,
+		(wfd = open(output_filename, O_RDWR | PG_BINARY | O_CREAT | O_EXCL,
 					pg_file_create_mode)) < 0)
 		pg_fatal("could not open file \"%s\": %m", output_filename);
 
@@ -621,8 +604,8 @@ write_reconstructed_file(char *input_filename,
 		else
 		{
 			s->num_blocks_read++;
-			s->highest_offset_read = Max(s->highest_offset_read,
-										 offsetmap[i] + BLCKSZ);
+			s->highest_offset_read =
+				Max(s->highest_offset_read, offsetmap[i] + BLCKSZ);
 		}
 
 		/* Skip the rest of this in dry-run mode. */
@@ -649,9 +632,9 @@ write_reconstructed_file(char *input_filename,
 				if (rb < 0)
 					pg_fatal("could not read file \"%s\": %m", s->filename);
 				else
-					pg_fatal("could not read file \"%s\": read only %d of %d bytes at offset %llu",
-							 s->filename, rb, BLCKSZ,
-							 (unsigned long long) offsetmap[i]);
+					pg_fatal("could not read file \"%s\": read only %d of %d bytes at "
+							 "offset %llu",
+							 s->filename, rb, BLCKSZ, (unsigned long long) offsetmap[i]);
 			}
 		}
 
@@ -667,8 +650,7 @@ write_reconstructed_file(char *input_filename,
 
 		/* Update the checksum computation. */
 		if (pg_checksum_update(checksum_ctx, buffer, BLCKSZ) < 0)
-			pg_fatal("could not update checksum of file \"%s\"",
-					 output_filename);
+			pg_fatal("could not update checksum of file \"%s\"", output_filename);
 	}
 
 	/* Debugging output. */
diff --git a/src/bin/pg_combinebackup/reconstruct.h b/src/bin/pg_combinebackup/reconstruct.h
index 8e33a8a95a0..1fa734011bd 100644
--- a/src/bin/pg_combinebackup/reconstruct.h
+++ b/src/bin/pg_combinebackup/reconstruct.h
@@ -13,21 +13,17 @@
 #ifndef RECONSTRUCT_H
 #define RECONSTRUCT_H
 
+#include "c.h"
 #include "common/checksum_helper.h"
+#include "common/file_utils.h"
 #include "load_manifest.h"
 
-extern void reconstruct_from_incremental_file(char *input_filename,
-											  char *output_filename,
-											  char *relative_path,
-											  char *bare_file_name,
-											  int n_prior_backups,
-											  char **prior_backup_dirs,
-											  manifest_data **manifests,
-											  char *manifest_path,
-											  pg_checksum_type checksum_type,
-											  int *checksum_length,
-											  uint8 **checksum_payload,
-											  bool debug,
-											  bool dry_run);
+extern void reconstruct_from_incremental_file(
+											  char *input_filename, char *output_filename, char *relative_path,
+											  char *bare_file_name, int n_prior_backups, char **prior_backup_dirs,
+											  manifest_data **manifests, char *manifest_path,
+											  pg_checksum_type checksum_type, int *checksum_length,
+											  uint8 **checksum_payload, bool debug, bool dry_run,
+											  CopyFileMethod copy_method);
 
 #endif
-- 
2.44.0

#12Jakub Wartak
jakub.wartak@enterprisedb.com
In reply to: Tomas Vondra (#11)
Re: pg_upgrade --copy-file-range

Hi Tomas,

I took a quick look at the remaining part adding copy_file_range to
pg_combinebackup. The patch no longer applies, so I had to rebase it.
Most of the issues were trivial, but I had to fix a couple missing
prototypes - I added them to copy_file.h/c, mostly.

0001 is the minimal rebase + those fixes

0002 has a couple review comments in copy_file, and it also undoes a lot
of unnecessary formatting changes (already pointed out by Peter a couple
days ago).

Thank you very much for this! As discussed privately, I'm not in
position right now to pursue this further at this late stage (at least
for v17, which would require an aggressive schedule ). My plan was
more for v18 after Peter's email, due to other obligations. But if you
have cycles and want to continue, please do so without hesitation -
I'll try to chime in a long way to test and review for sure.

A couple review comments:

1) AFAIK opt_errinfo() returns pointer to the local "buf" variable.

2) I wonder if we even need opt_errinfo(). I'm not sure it actually
makes anything simpler.

Yes, as it stands it's broken (somewhat I've missed gcc warning),
should be pg_malloc(). I hardly remember, but I wanted to avoid code
duplication. No strong opinion, maybe that's a different style, I'll
adapt as necessary.

3) I think it'd be nice to make CopyFileMethod more consistent with
transferMode in pg_upgrade.h (I mean, it seems wise to make the naming
more consistent, it's probably not worth unifying this somehow).

4) I wonder how we came up with copying the files by 50 blocks, but I
now realize it's been like this before this patch. I only noticed
because the patch adds a comment before buffer_size calculation.

It looks like it was like that before pg_upgrade even was moved into
the core. 400kB is indeed bit strange value, so we can leave it as it
is or make the COPY_BUF_SIZ 128kb - see [1]https://eklitzke.org/efficient-file-copying-on-linux (i've double checked cp(1)
uses still 128kB today), or maybe just stick to something like 256 or
512 kBs.

5) I dislike the renaming of copy_file_blocks to pg_copyfile. The new
name is way more generic / less descriptive - it's clear it copies the
file block by block (well, in chunks). pg_copyfile is pretty vague.

6) This leaves behind copy_file_copyfile, which is now unused.

7) The patch reworks how combinebackup deals with alternative copy
implementations - instead of setting strategy_implementation and calling
that, the decisions now happen in pg_copyfile_offload with a lot of
conditions / ifdef / defined ... I find it pretty hard to understand and
reason about. I liked the strategy_implementation approach, as it forces
us to keep each method in a separate function.

Well some context (maybe it was my mistake to continue in this
./thread rather starting a new one): my plan was 3-in-1: in the
original proposal (from Jan) to provide CoW as generic facility for
other to use - in src/common/file_utils.c as per
v3-0002-Confine-various-OS-copy-on-write-and-other-copy-a.patch - to
unify & confine CoW methods and their quirkiness between
pg_combinebackup and pg_upgrade and other potential CoW uses too. That
was before Thomas M. pushed CoW just for pg_upgrade as
d93627bcbe5001750e7611f0e637200e2d81dcff. I had this idea back then to
have pg_copyfile() [normal blocks copy] and
pg_copyfile_offload_supported(),
pg_copyfile_offload(PG_COPYFILE_IOCTL_FICLONE ,
PG_COPYFILE_COPY_FILE_RANGE,
PG_COPYFILE_who_has_idea_what_they_come_up_with_in_future). In Your's
version of the patch it's local to pg_combinebackup, so it might make
no sense after all. If you look at the pg_upgrade and pg_combinebackup
they both have code duplication with lots of those ifs/IFs (assuming
user wants to have it as drop-in [--clone/--copy/--copyfile] and
platform may / may not have it). I've even considered
--cow=ficlone|copy_file_range to sync both tools from CLI arguments
point of view, but that would break backwards compatibility, so I did
not do that.

Also there's a problem with pg_combinebackup's strategy_implementation
that it actually cannot on its own decide (I think) which CoW to use
or not. There were some longer discussions that settled on one thing
(for pg_upgrade): it's the user who is in control HOW the copy gets
done (due to potential issues in OS CoW() implementations where e.g.
if NFS would be involved on one side). See pg_upgrade
--clone/--copy/--copy-file-range/--sync-method options. I wanted to
stick to that, so pg_combinebackup also needs to give the same options
to the user.

That's was for the historical context, now you wrote "it's probably
not worth unifying this somehow" few sentences earlier, so my take is
the following: we can just concentrate on getting the
copy_file_range() and ioctl_ficlone to pg_combinebackup at the price
of duplicating some complexity for now (in short to start with clear
plate , it doesn't necessary needs to be my patch as base if we think
it's worthwhile for v17 - or stick to your reworked patch of mine).

Later (v18?) some bigger than this refactor could unify and move the
copy methods to some more central place (so then we would have sync as
there would be no doubling like you mentioned e.g.: pg_upgrade's enum
transferMode <-> patch enum CopyFileMethod.

So for now I'm +1 to renaming all the things as you want -- indeed
pg_copy* might not be a good fit in a localized version.

-J.

[1]: https://eklitzke.org/efficient-file-copying-on-linux

#13Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Jakub Wartak (#12)
1 attachment(s)
Re: pg_upgrade --copy-file-range

Here's a patch reworked along the lines from a couple days ago.

The primary goals were to add clone/copy_file_range while minimizing
unnecessary disruption, and overall cleanup of the patch. I'm not saying
it's committable, but I think the patch is much easier to understand.

The main change is that this abandons the idea of handling all possible
cases in a single function that looks like a maze of ifdefs, and instead
separates each case into it's own function and the decision happens much
earlier. This is pretty much exactly what pg_upgrade does, BTW.

There's maybe an argument that these functions could be unified and
moved to a library in src/common - I can imagine doing that, but I don't
think it's required. The functions are pretty trivial wrappers, and it's
not like we expect many more callers. And there's probably stuff we'd
need to keep out of that library (e.g. the decision which copy/clone
methods are available / should be used or error reporting). So it
doesn't seem worth it, at least for now.

There's one question, though. As it stands, there's a bit of asymmetry
between handling CopyFile() on WIN32 and the clone/copy_file_range on
other platforms). On WIN32, we simply automatically switch to CopyFile
automatically, if we don't need to calculate checksum. But with the
other methods, error out if the user requests those and we need to
calculate the checksum.

The asymmetry comes from the fact there's no option to request CopyFile
on WIN32, and we feel confident it's always the right thing to do (safe,
faster). We don't seem to know that for the other methods, so the user
has to explicitly request those. And if the user requests --clone, for
example, it'd be wrong to silently fallback to plain copy.

Still, I wonder if this might cause some undesirable issues during
restores. But I guess that's why we have --dry-run.

This asymmetry also shows a bit in the code - the CopyFile is coded and
called a bit differently from the other methods. FWIW I abandoned the
approach with "strategy" and just use a switch on CopyMode enum, just
like pg_upgrade does.

There's a couple more smaller changes:

- Addition of docs for --clone/--copy-file-range (shameless copy from
pg_upgrade docs).

- Removal of opt_errinfo - not only was it buggy, I think the code is
actually cleaner without it.

- Removal of EINTR retry condition from copy_file_range handling (this
is what Thomas ended up for pg_upgrade while committing that part).

Put together, this cuts the patch from ~40kB to ~15kB (most of this is
due to the cleanup of unnecessary whitespace changes, though).

I think to make this committable, this requires some review and testing,
ideally on a range of platforms.

One open question is how to allow testing this. For pg_upgrade we now
have PG_TEST_PG_UPGRADE_MODE, which can be set to e.g. "--clone". I
wonder if we should add PG_TEST_PG_COMBINEBACKUP_MODE ...

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Attachments:

v20240322-0001-pg_combinebackup-allow-using-clone-copy_fi.patchtext/x-patch; charset=UTF-8; name=v20240322-0001-pg_combinebackup-allow-using-clone-copy_fi.patchDownload
From 7b6a6fe1b555647109caec2817f9200ac8fe9db9 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Tue, 19 Mar 2024 15:16:29 +0100
Subject: [PATCH v20240322] pg_combinebackup - allow using
 clone/copy_file_range

---
 doc/src/sgml/ref/pg_combinebackup.sgml      |  34 +++++
 src/bin/pg_combinebackup/copy_file.c        | 157 +++++++++++++++-----
 src/bin/pg_combinebackup/copy_file.h        |  18 ++-
 src/bin/pg_combinebackup/pg_combinebackup.c |  26 +++-
 src/bin/pg_combinebackup/reconstruct.c      |   5 +-
 src/bin/pg_combinebackup/reconstruct.h      |   5 +-
 6 files changed, 202 insertions(+), 43 deletions(-)

diff --git a/doc/src/sgml/ref/pg_combinebackup.sgml b/doc/src/sgml/ref/pg_combinebackup.sgml
index 8a0a600c2b2..60a60e3fae6 100644
--- a/doc/src/sgml/ref/pg_combinebackup.sgml
+++ b/doc/src/sgml/ref/pg_combinebackup.sgml
@@ -185,6 +185,40 @@ PostgreSQL documentation
       </listitem>
      </varlistentry>
 
+     <varlistentry>
+      <term><option>--clone</option></term>
+      <listitem>
+       <para>
+        Use efficient file cloning (also known as <quote>reflinks</quote> on
+        some systems) instead of copying files to the new cluster.  This can
+        result in near-instantaneous copying of the data files, giving the
+        speed advantages of <option>-k</option>/<option>--link</option> while
+        leaving the old cluster untouched.
+       </para>
+
+       <para>
+        File cloning is only supported on some operating systems and file
+        systems.  If it is selected but not supported, the
+        <application>pg_combinebackup</application> run will error.  At present,
+        it is supported on Linux (kernel 4.5 or later) with Btrfs and XFS (on
+        file systems created with reflink support), and on macOS with APFS.
+       </para>
+      </listitem>
+     </varlistentry>
+
+     <varlistentry>
+      <term><option>--copy-file-range</option></term>
+      <listitem>
+       <para>
+        Use the <function>copy_file_range</function> system call for efficient
+        copying.  On some file systems this gives results similar to
+        <option>--clone</option>, sharing physical disk blocks, while on others
+        it may still copy blocks, but do so via an optimized path.  At present,
+        it is supported on Linux and FreeBSD.
+       </para>
+      </listitem>
+     </varlistentry>
+
      <varlistentry>
        <term><option>-V</option></term>
        <term><option>--version</option></term>
diff --git a/src/bin/pg_combinebackup/copy_file.c b/src/bin/pg_combinebackup/copy_file.c
index e6d2423278a..cd3b8447308 100644
--- a/src/bin/pg_combinebackup/copy_file.c
+++ b/src/bin/pg_combinebackup/copy_file.c
@@ -14,6 +14,7 @@
 #include <copyfile.h>
 #endif
 #include <fcntl.h>
+#include <limits.h>
 #include <sys/stat.h>
 #include <unistd.h>
 
@@ -24,6 +25,10 @@
 static void copy_file_blocks(const char *src, const char *dst,
 							 pg_checksum_context *checksum_ctx);
 
+static void copy_file_clone(const char *src, const char *dst);
+
+static void copy_file_by_range(const char *src, const char *dst);
+
 #ifdef WIN32
 static void copy_file_copyfile(const char *src, const char *dst);
 #endif
@@ -35,7 +40,8 @@ static void copy_file_copyfile(const char *src, const char *dst);
  */
 void
 copy_file(const char *src, const char *dst,
-		  pg_checksum_context *checksum_ctx, bool dry_run)
+		  pg_checksum_context *checksum_ctx, bool dry_run,
+		  CopyMode copy_mode)
 {
 	/*
 	 * In dry-run mode, we don't actually copy anything, nor do we read any
@@ -55,54 +61,70 @@ copy_file(const char *src, const char *dst,
 	 * If we don't need to compute a checksum, then we can use any special
 	 * operating system primitives that we know about to copy the file; this
 	 * may be quicker than a naive block copy.
+	 *
+	 * On the other hand, if we need to compute a checksum, but the user
+	 * requested a special copy method that does not support this, report
+	 * this and fail.
+	 *
+	 * XXX Why do do this only for WIN32 and not for the other systems? Are
+	 * there some reliability concerns/issues?
+	 *
+	 * XXX Maybe this should simply fall back to the basic copy method, and
+	 * not fail the whole command?
 	 */
 	if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
 	{
-		char	   *strategy_name = NULL;
-		void		(*strategy_implementation) (const char *, const char *) = NULL;
-
 #ifdef WIN32
-		strategy_name = "CopyFile";
-		strategy_implementation = copy_file_copyfile;
+		copy_method = COPY_MODE_COPYFILE;
 #endif
-
-		if (strategy_name != NULL)
-		{
-			if (dry_run)
-				pg_log_debug("would copy \"%s\" to \"%s\" using strategy %s",
-							 src, dst, strategy_name);
-			else
-			{
-				pg_log_debug("copying \"%s\" to \"%s\" using strategy %s",
-							 src, dst, strategy_name);
-				(*strategy_implementation) (src, dst);
-			}
-			return;
-		}
+	}
+	else if (copy_mode != COPY_MODE_COPY)
+	{
+		/* XXX maybe silently fall back to simple copy? */
+		pg_fatal("copy method does not support checksums");
 	}
 
-	/*
-	 * Fall back to the simple approach of reading and writing all the blocks,
-	 * feeding them into the checksum context as we go.
-	 */
+
 	if (dry_run)
 	{
-		if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
-			pg_log_debug("would copy \"%s\" to \"%s\"",
-						 src, dst);
-		else
-			pg_log_debug("would copy \"%s\" to \"%s\" and checksum with %s",
-						 src, dst, pg_checksum_type_name(checksum_ctx->type));
+		switch (copy_mode)
+		{
+			case COPY_MODE_CLONE:
+				pg_log_debug("would copy \"%s\" to \"%s\" (clone)", src, dst);
+				break;
+			case COPY_MODE_COPY:
+				pg_log_debug("would copy \"%s\" to \"%s\"", src, dst);
+				break;
+			case COPY_MODE_COPY_FILE_RANGE:
+				pg_log_debug("would copy \"%s\" to \"%s\" (copy_file_range)",
+							 src, dst);
+#ifdef WIN32
+			case COPY_MODE_COPYFILE:
+				pg_log_debug("would copy \"%s\" to \"%s\" (copyfile)",
+							 src, dst);
+				break;
+#endif
+		}
 	}
 	else
 	{
-		if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
-			pg_log_debug("copying \"%s\" to \"%s\"",
-						 src, dst);
-		else
-			pg_log_debug("copying \"%s\" to \"%s\" and checksumming with %s",
-						 src, dst, pg_checksum_type_name(checksum_ctx->type));
-		copy_file_blocks(src, dst, checksum_ctx);
+		switch (copy_mode)
+		{
+			case COPY_MODE_CLONE:
+				copy_file_clone(src, dst);
+				break;
+			case COPY_MODE_COPY:
+				copy_file_blocks(src, dst, checksum_ctx);
+				break;
+			case COPY_MODE_COPY_FILE_RANGE:
+				copy_file_by_range(src, dst);
+				break;
+#ifdef WIN32
+			case COPY_MODE_COPYFILE:
+				copy_file_copyfile(src, dst);
+				break;
+#endif
+		}
 	}
 }
 
@@ -156,6 +178,67 @@ copy_file_blocks(const char *src, const char *dst,
 	close(dest_fd);
 }
 
+static void
+copy_file_clone(const char *src, const char *dest)
+{
+#if defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE)
+	if (copyfile(src, dest, NULL, COPYFILE_CLONE_FORCE) < 0)
+		pg_fatal("error while cloning file \"%s\" to \"%s\": %m", src, dest);
+#elif defined(__linux__) && defined(FICLONE)
+	{
+		if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+			pg_fatal("could not open file \"%s\": %m", src);
+
+		if ((dest_fd = open(dest, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+							pg_file_create_mode)) < 0)
+			pg_fatal("could not create file \"%s\": %m", dest);
+
+		if (ioctl(dest_fd, FICLONE, src_fd) < 0)
+		{
+			int			save_errno = errno;
+
+			unlink(dest);
+
+			pg_fatal("error while cloning file \"%s\" to \"%s\": %s",
+					 src, dest);
+		}
+	}
+#else
+	pg_fatal("file cloning not supported on this platform");
+#endif
+}
+
+static void
+copy_file_by_range(const char *src, const char *dest)
+{
+#if defined(HAVE_COPY_FILE_RANGE)
+	int			src_fd;
+	int			dest_fd;
+	ssize_t		nbytes;
+
+	if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+		pg_fatal("could not open file \"%s\": %m", src);
+
+	if ((dest_fd = open(dest, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+						pg_file_create_mode)) < 0)
+		pg_fatal("could not create file \"%s\": %m", dest);
+
+	do
+	{
+		nbytes = copy_file_range(src_fd, NULL, dest_fd, NULL, SSIZE_MAX, 0);
+		if (nbytes < 0)
+			pg_fatal("error while copying file range from \"%s\" to \"%s\": %m",
+					 src, dest);
+	} while (nbytes > 0);
+
+	close(src_fd);
+	close(dest_fd);
+#else
+	pg_fatal("copy_file_range not supported on this platform");
+#endif
+}
+
+/* XXX maybe this should do the check internally, same as the other functions? */
 #ifdef WIN32
 static void
 copy_file_copyfile(const char *src, const char *dst)
diff --git a/src/bin/pg_combinebackup/copy_file.h b/src/bin/pg_combinebackup/copy_file.h
index 0f6bc09403f..3a1c5eb764f 100644
--- a/src/bin/pg_combinebackup/copy_file.h
+++ b/src/bin/pg_combinebackup/copy_file.h
@@ -11,9 +11,25 @@
 #ifndef COPY_FILE_H
 #define COPY_FILE_H
 
+#include "c.h"
 #include "common/checksum_helper.h"
+#include "common/file_utils.h"
+
+/*
+ * Enumeration to denote copy modes
+ */
+typedef enum CopyMode
+{
+	COPY_MODE_CLONE,
+	COPY_MODE_COPY,
+	COPY_MODE_COPY_FILE_RANGE,
+#ifdef WIN32
+	COPY_MODE_COPYFILE,
+#endif
+} CopyMode;
 
 extern void copy_file(const char *src, const char *dst,
-					  pg_checksum_context *checksum_ctx, bool dry_run);
+					  pg_checksum_context *checksum_ctx, bool dry_run,
+					  CopyMode copy_mode);
 
 #endif							/* COPY_FILE_H */
diff --git a/src/bin/pg_combinebackup/pg_combinebackup.c b/src/bin/pg_combinebackup/pg_combinebackup.c
index 74f8be9eeac..fb5e51811bd 100644
--- a/src/bin/pg_combinebackup/pg_combinebackup.c
+++ b/src/bin/pg_combinebackup/pg_combinebackup.c
@@ -69,6 +69,7 @@ typedef struct cb_options
 	pg_checksum_type manifest_checksums;
 	bool		no_manifest;
 	DataDirSyncMethod sync_method;
+	CopyMode	copy_method;
 } cb_options;
 
 /*
@@ -129,6 +130,8 @@ main(int argc, char *argv[])
 		{"manifest-checksums", required_argument, NULL, 1},
 		{"no-manifest", no_argument, NULL, 2},
 		{"sync-method", required_argument, NULL, 3},
+		{"clone", no_argument, NULL, 4},
+		{"copy-file-range", no_argument, NULL, 5},
 		{NULL, 0, NULL, 0}
 	};
 
@@ -156,6 +159,7 @@ main(int argc, char *argv[])
 	memset(&opt, 0, sizeof(opt));
 	opt.manifest_checksums = CHECKSUM_TYPE_CRC32C;
 	opt.sync_method = DATA_DIR_SYNC_METHOD_FSYNC;
+	opt.copy_method = COPY_MODE_COPY;
 
 	/* process command-line options */
 	while ((c = getopt_long(argc, argv, "dnNPo:T:",
@@ -192,6 +196,12 @@ main(int argc, char *argv[])
 				if (!parse_sync_method(optarg, &opt.sync_method))
 					exit(1);
 				break;
+			case 4:
+				opt.copy_method = COPY_MODE_CLONE;
+				break;
+			case 5:
+				opt.copy_method = COPY_MODE_COPY_FILE_RANGE;
+				break;
 			default:
 				/* getopt_long already emitted a complaint */
 				pg_log_error_hint("Try \"%s --help\" for more information.", progname);
@@ -213,6 +223,14 @@ main(int argc, char *argv[])
 	if (opt.no_manifest)
 		opt.manifest_checksums = CHECKSUM_TYPE_NONE;
 
+	/*
+	 * We cannot provide file copy/clone offload in case when we need to
+	 * calculate checksums
+	 */
+	if (opt.copy_method != COPY_MODE_COPY && opt.manifest_checksums != CHECKSUM_TYPE_NONE)
+		pg_fatal("unable to use accelerated copy when manifest checksums "
+				 "are to be calculated. Use --no-manifest");
+
 	/* Read the server version from the final backup. */
 	version = read_pg_version_file(argv[argc - 1]);
 
@@ -696,6 +714,8 @@ help(const char *progname)
 			 "                            use algorithm for manifest checksums\n"));
 	printf(_("      --no-manifest         suppress generation of backup manifest\n"));
 	printf(_("      --sync-method=METHOD  set method for syncing files to disk\n"));
+	printf(_("      --clone               clone (reflink) instead of copying files\n"));
+	printf(_("      --copy-file-range     copy using copy_file_range() syscall\n"));
 	printf(_("  -?, --help                show this help, then exit\n"));
 
 	printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
@@ -937,7 +957,8 @@ process_directory_recursively(Oid tsoid,
 											  &checksum_length,
 											  &checksum_payload,
 											  opt->debug,
-											  opt->dry_run);
+											  opt->dry_run,
+											  opt->copy_method);
 		}
 		else
 		{
@@ -993,7 +1014,8 @@ process_directory_recursively(Oid tsoid,
 
 			/* Actually copy the file. */
 			snprintf(ofullpath, MAXPGPATH, "%s/%s", ofulldir, de->d_name);
-			copy_file(ifullpath, ofullpath, &checksum_ctx, opt->dry_run);
+			copy_file(ifullpath, ofullpath, &checksum_ctx, opt->dry_run,
+					  opt->copy_method);
 
 			/*
 			 * If copy_file() performed a checksum calculation for us, then
diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index 41f06bb26b5..f5c7af8a23c 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -90,7 +90,8 @@ reconstruct_from_incremental_file(char *input_filename,
 								  int *checksum_length,
 								  uint8 **checksum_payload,
 								  bool debug,
-								  bool dry_run)
+								  bool dry_run,
+								  CopyMode copy_method)
 {
 	rfile	  **source;
 	rfile	   *latest_source = NULL;
@@ -319,7 +320,7 @@ reconstruct_from_incremental_file(char *input_filename,
 	 */
 	if (copy_source != NULL)
 		copy_file(copy_source->filename, output_filename,
-				  &checksum_ctx, dry_run);
+				  &checksum_ctx, dry_run, copy_method);
 	else
 	{
 		write_reconstructed_file(input_filename, output_filename,
diff --git a/src/bin/pg_combinebackup/reconstruct.h b/src/bin/pg_combinebackup/reconstruct.h
index 8e33a8a95a0..726f94389f3 100644
--- a/src/bin/pg_combinebackup/reconstruct.h
+++ b/src/bin/pg_combinebackup/reconstruct.h
@@ -13,7 +13,9 @@
 #ifndef RECONSTRUCT_H
 #define RECONSTRUCT_H
 
+#include "c.h"
 #include "common/checksum_helper.h"
+#include "common/file_utils.h"
 #include "load_manifest.h"
 
 extern void reconstruct_from_incremental_file(char *input_filename,
@@ -28,6 +30,7 @@ extern void reconstruct_from_incremental_file(char *input_filename,
 											  int *checksum_length,
 											  uint8 **checksum_payload,
 											  bool debug,
-											  bool dry_run);
+											  bool dry_run,
+											  CopyMode copy_mode);
 
 #endif
-- 
2.44.0

#14Robert Haas
robertmhaas@gmail.com
In reply to: Tomas Vondra (#13)
Re: pg_upgrade --copy-file-range

On Fri, Mar 22, 2024 at 10:40 AM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

There's one question, though. As it stands, there's a bit of asymmetry
between handling CopyFile() on WIN32 and the clone/copy_file_range on
other platforms). On WIN32, we simply automatically switch to CopyFile
automatically, if we don't need to calculate checksum. But with the
other methods, error out if the user requests those and we need to
calculate the checksum.

That seems completely broken. copy_file() needs to have the ability to
calculate a checksum if one is required; when one isn't required, it
can do whatever it likes. So we should always fall back to the
block-by-block method if we need a checksum. Whatever option the user
specified should only be applied when we don't need a checksum.

Consider, for example:

pg_basebackup -D sunday -c fast --manifest-checksums=CRC32C
pg_basebackup -D monday -c fast --manifest-checksums=SHA224
--incremental sunday/backup_manifest
pg_combinebackup sunday monday -o tuesday --manifest-checksums=CRC32C --clone

Any files that are copied in their entirety from Sunday's backup can
be cloned, if we have support for cloning. But any files copied from
Monday's backup will need to be re-checksummed, since the checksum
algorithms don't match. With what you're describing, it sounds like
pg_combinebackup would just fail in this case; I don't think that's
the behavior that the user is going to want.

--
Robert Haas
EDB: http://www.enterprisedb.com

#15Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Robert Haas (#14)
Re: pg_upgrade --copy-file-range

On 3/22/24 17:42, Robert Haas wrote:

On Fri, Mar 22, 2024 at 10:40 AM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

There's one question, though. As it stands, there's a bit of asymmetry
between handling CopyFile() on WIN32 and the clone/copy_file_range on
other platforms). On WIN32, we simply automatically switch to CopyFile
automatically, if we don't need to calculate checksum. But with the
other methods, error out if the user requests those and we need to
calculate the checksum.

That seems completely broken. copy_file() needs to have the ability to
calculate a checksum if one is required; when one isn't required, it
can do whatever it likes. So we should always fall back to the
block-by-block method if we need a checksum. Whatever option the user
specified should only be applied when we don't need a checksum.

Consider, for example:

pg_basebackup -D sunday -c fast --manifest-checksums=CRC32C
pg_basebackup -D monday -c fast --manifest-checksums=SHA224
--incremental sunday/backup_manifest
pg_combinebackup sunday monday -o tuesday --manifest-checksums=CRC32C --clone

Any files that are copied in their entirety from Sunday's backup can
be cloned, if we have support for cloning. But any files copied from
Monday's backup will need to be re-checksummed, since the checksum
algorithms don't match. With what you're describing, it sounds like
pg_combinebackup would just fail in this case; I don't think that's
the behavior that the user is going to want.

Right, this will happen:

pg_combinebackup: error: unable to use accelerated copy when manifest
checksums are to be calculated. Use --no-manifest

Are you saying we should just silently override the copy method and do
the copy block by block? I'm not strongly opposed to that, but it feels
wrong to just ignore that the user explicitly requested cloning, and I'm
not sure why should this be different from any other case when the user
requests incompatible combination of options and/or options that are not
supported on the current configuration.

Why not just to tell the user to use the correct parameters, i.e. either
remove --clone or add --no-manifest?

FWIW I now realize it actually fails a bit earlier than I thought - when
parsing the options, not in copy_file. But then some checks (if a given
copy method is supported) happen in the copy functions. I wonder if it'd
be better/possible to do all of that in one place, not sure.

Also, the message only suggests to use --no-manifest. It probably should
suggest removing --clone too.

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

#16Robert Haas
robertmhaas@gmail.com
In reply to: Tomas Vondra (#15)
Re: pg_upgrade --copy-file-range

On Fri, Mar 22, 2024 at 1:22 PM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

Right, this will happen:

pg_combinebackup: error: unable to use accelerated copy when manifest
checksums are to be calculated. Use --no-manifest

Are you saying we should just silently override the copy method and do
the copy block by block?

Yes.

I'm not strongly opposed to that, but it feels
wrong to just ignore that the user explicitly requested cloning, and I'm
not sure why should this be different from any other case when the user
requests incompatible combination of options and/or options that are not
supported on the current configuration.

I don't feel like copying block-by-block when that's needed to compute
a checksum is ignoring what the user requested. I mean, if we'd had to
perform reconstruction rather than copying an entire file, we would
have done that regardless of whether --clone had been there, and I
don't see why the need-to-compute-a-checksum case is any different. I
think we should view a flag like --clone as specifying how to copy a
file when we don't need to do anything but copy it. I don't think it
should dictate that we're not allowed to perform other processing when
that other processing is required.

From my point of view, this is not a case of incompatible options
having been specified. If you specify run pg_basebackup with both
--format=p and --format=t, those are incompatible options; the backup
can be done one way or the other, but not both at once. But here
there's no such conflict. Block-by-block copying and fast-copying can
happen as part of the same operation, as in the example that I showed,
where some files need the block-by-block copying and some can be
fast-copied. The user is entitled to specify which fast-copying method
they would like to have used for the files where fast-copying is
possible without getting a failure just because it isn't possible for
every single file.

Or to say it the other way around, if there's 1 file that needs to be
copied block by block and 99 files that can be fast-copied, you want
to force the user to the block-by-block method for all 100 files. I
want to force the use of the block-by-block method for the 1 file
where that's the only valid method, and let them choose what they want
to do for the other 99.

--
Robert Haas
EDB: http://www.enterprisedb.com

#17Thomas Munro
thomas.munro@gmail.com
In reply to: Robert Haas (#16)
Re: pg_upgrade --copy-file-range

Hmm, this discussion seems to assume that we only use
copy_file_range() to copy/clone whole segment files, right? That's
great and may even get most of the available benefit given typical
databases with many segments of old data that never changes, but... I
think copy_write_range() allows us to go further than the other
whole-file clone techniques: we can stitch together parts of an old
backup segment file and an incremental backup to create a new file.
If you're interested in minimising disk use while also removing
dependencies on the preceding chain of backups, then it might make
sense to do that even if you *also* have to read the data to compute
the checksums, I think? That's why I mentioned it: if
copy_file_range() (ie sub-file-level block sharing) is a solution in
search of a problem, has the world ever seen a better problem than
pg_combinebackup?

#18Robert Haas
robertmhaas@gmail.com
In reply to: Thomas Munro (#17)
Re: pg_upgrade --copy-file-range

On Fri, Mar 22, 2024 at 8:26 PM Thomas Munro <thomas.munro@gmail.com> wrote:

Hmm, this discussion seems to assume that we only use
copy_file_range() to copy/clone whole segment files, right? That's
great and may even get most of the available benefit given typical
databases with many segments of old data that never changes, but... I
think copy_write_range() allows us to go further than the other
whole-file clone techniques: we can stitch together parts of an old
backup segment file and an incremental backup to create a new file.
If you're interested in minimising disk use while also removing
dependencies on the preceding chain of backups, then it might make
sense to do that even if you *also* have to read the data to compute
the checksums, I think? That's why I mentioned it: if
copy_file_range() (ie sub-file-level block sharing) is a solution in
search of a problem, has the world ever seen a better problem than
pg_combinebackup?

That makes sense; it's just a different part of the code than I
thought we were talking about.

--
Robert Haas
EDB: http://www.enterprisedb.com

#19Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Robert Haas (#16)
1 attachment(s)
Re: pg_upgrade --copy-file-range

On 3/22/24 19:40, Robert Haas wrote:

On Fri, Mar 22, 2024 at 1:22 PM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

Right, this will happen:

pg_combinebackup: error: unable to use accelerated copy when manifest
checksums are to be calculated. Use --no-manifest

Are you saying we should just silently override the copy method and do
the copy block by block?

Yes.

I'm not strongly opposed to that, but it feels
wrong to just ignore that the user explicitly requested cloning, and I'm
not sure why should this be different from any other case when the user
requests incompatible combination of options and/or options that are not
supported on the current configuration.

I don't feel like copying block-by-block when that's needed to compute
a checksum is ignoring what the user requested. I mean, if we'd had to
perform reconstruction rather than copying an entire file, we would
have done that regardless of whether --clone had been there, and I
don't see why the need-to-compute-a-checksum case is any different. I
think we should view a flag like --clone as specifying how to copy a
file when we don't need to do anything but copy it. I don't think it
should dictate that we're not allowed to perform other processing when
that other processing is required.

From my point of view, this is not a case of incompatible options
having been specified. If you specify run pg_basebackup with both
--format=p and --format=t, those are incompatible options; the backup
can be done one way or the other, but not both at once. But here
there's no such conflict. Block-by-block copying and fast-copying can
happen as part of the same operation, as in the example that I showed,
where some files need the block-by-block copying and some can be
fast-copied. The user is entitled to specify which fast-copying method
they would like to have used for the files where fast-copying is
possible without getting a failure just because it isn't possible for
every single file.

Or to say it the other way around, if there's 1 file that needs to be
copied block by block and 99 files that can be fast-copied, you want
to force the user to the block-by-block method for all 100 files. I
want to force the use of the block-by-block method for the 1 file
where that's the only valid method, and let them choose what they want
to do for the other 99.

OK, that makes sense. Here's a patch that should work like this - in
copy_file we check if we need to calculate checksums, and either use the
requested copy method, or fall back to the block-by-block copy.

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Attachments:

v20240323-0001-pg_combinebackup-allow-using-clone-copy_fi.patchtext/x-patch; charset=UTF-8; name=v20240323-0001-pg_combinebackup-allow-using-clone-copy_fi.patchDownload
From 558321b7ee10fa3902aaed1d1a08857865a232bb Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Tue, 19 Mar 2024 15:16:29 +0100
Subject: [PATCH v20240323] pg_combinebackup - allow using
 clone/copy_file_range

---
 doc/src/sgml/ref/pg_combinebackup.sgml      |  34 +++++
 src/bin/pg_combinebackup/copy_file.c        | 156 +++++++++++++++-----
 src/bin/pg_combinebackup/copy_file.h        |  18 ++-
 src/bin/pg_combinebackup/pg_combinebackup.c |  18 ++-
 src/bin/pg_combinebackup/reconstruct.c      |   5 +-
 src/bin/pg_combinebackup/reconstruct.h      |   5 +-
 6 files changed, 192 insertions(+), 44 deletions(-)

diff --git a/doc/src/sgml/ref/pg_combinebackup.sgml b/doc/src/sgml/ref/pg_combinebackup.sgml
index 8a0a600c2b2..60a60e3fae6 100644
--- a/doc/src/sgml/ref/pg_combinebackup.sgml
+++ b/doc/src/sgml/ref/pg_combinebackup.sgml
@@ -185,6 +185,40 @@ PostgreSQL documentation
       </listitem>
      </varlistentry>
 
+     <varlistentry>
+      <term><option>--clone</option></term>
+      <listitem>
+       <para>
+        Use efficient file cloning (also known as <quote>reflinks</quote> on
+        some systems) instead of copying files to the new cluster.  This can
+        result in near-instantaneous copying of the data files, giving the
+        speed advantages of <option>-k</option>/<option>--link</option> while
+        leaving the old cluster untouched.
+       </para>
+
+       <para>
+        File cloning is only supported on some operating systems and file
+        systems.  If it is selected but not supported, the
+        <application>pg_combinebackup</application> run will error.  At present,
+        it is supported on Linux (kernel 4.5 or later) with Btrfs and XFS (on
+        file systems created with reflink support), and on macOS with APFS.
+       </para>
+      </listitem>
+     </varlistentry>
+
+     <varlistentry>
+      <term><option>--copy-file-range</option></term>
+      <listitem>
+       <para>
+        Use the <function>copy_file_range</function> system call for efficient
+        copying.  On some file systems this gives results similar to
+        <option>--clone</option>, sharing physical disk blocks, while on others
+        it may still copy blocks, but do so via an optimized path.  At present,
+        it is supported on Linux and FreeBSD.
+       </para>
+      </listitem>
+     </varlistentry>
+
      <varlistentry>
        <term><option>-V</option></term>
        <term><option>--version</option></term>
diff --git a/src/bin/pg_combinebackup/copy_file.c b/src/bin/pg_combinebackup/copy_file.c
index e6d2423278a..0874679e53a 100644
--- a/src/bin/pg_combinebackup/copy_file.c
+++ b/src/bin/pg_combinebackup/copy_file.c
@@ -14,6 +14,7 @@
 #include <copyfile.h>
 #endif
 #include <fcntl.h>
+#include <limits.h>
 #include <sys/stat.h>
 #include <unistd.h>
 
@@ -24,6 +25,10 @@
 static void copy_file_blocks(const char *src, const char *dst,
 							 pg_checksum_context *checksum_ctx);
 
+static void copy_file_clone(const char *src, const char *dst);
+
+static void copy_file_by_range(const char *src, const char *dst);
+
 #ifdef WIN32
 static void copy_file_copyfile(const char *src, const char *dst);
 #endif
@@ -35,7 +40,8 @@ static void copy_file_copyfile(const char *src, const char *dst);
  */
 void
 copy_file(const char *src, const char *dst,
-		  pg_checksum_context *checksum_ctx, bool dry_run)
+		  pg_checksum_context *checksum_ctx, bool dry_run,
+		  CopyMode copy_mode)
 {
 	/*
 	 * In dry-run mode, we don't actually copy anything, nor do we read any
@@ -54,55 +60,68 @@ copy_file(const char *src, const char *dst,
 	/*
 	 * If we don't need to compute a checksum, then we can use any special
 	 * operating system primitives that we know about to copy the file; this
-	 * may be quicker than a naive block copy.
+	 * may be quicker than a naive block copy. We only do this for WIN32.
+	 * On other operating systems the user has to explicitly specify one of
+	 * the available primitives - there may be multiple, we don't know which
+	 * are reliable/preferred.
+	 *
+	 * On the other hand, if we need to compute a checksum, but the user
+	 * requested a special copy method that does not support this, fallback
+	 * to the default block-by-block copy. We don't want to fail if just
+	 * one of many files requires checksum, etc.
 	 */
 	if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
 	{
-		char	   *strategy_name = NULL;
-		void		(*strategy_implementation) (const char *, const char *) = NULL;
-
 #ifdef WIN32
-		strategy_name = "CopyFile";
-		strategy_implementation = copy_file_copyfile;
+		copy_mode = COPY_MODE_COPYFILE;
 #endif
-
-		if (strategy_name != NULL)
-		{
-			if (dry_run)
-				pg_log_debug("would copy \"%s\" to \"%s\" using strategy %s",
-							 src, dst, strategy_name);
-			else
-			{
-				pg_log_debug("copying \"%s\" to \"%s\" using strategy %s",
-							 src, dst, strategy_name);
-				(*strategy_implementation) (src, dst);
-			}
-			return;
-		}
+	}
+	else
+	{
+		/* fallback to block-by-block copy */
+		copy_mode = COPY_MODE_COPY;
 	}
 
-	/*
-	 * Fall back to the simple approach of reading and writing all the blocks,
-	 * feeding them into the checksum context as we go.
-	 */
 	if (dry_run)
 	{
-		if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
-			pg_log_debug("would copy \"%s\" to \"%s\"",
-						 src, dst);
-		else
-			pg_log_debug("would copy \"%s\" to \"%s\" and checksum with %s",
-						 src, dst, pg_checksum_type_name(checksum_ctx->type));
+		switch (copy_mode)
+		{
+			case COPY_MODE_CLONE:
+				pg_log_debug("would copy \"%s\" to \"%s\" (clone)", src, dst);
+				break;
+			case COPY_MODE_COPY:
+				pg_log_debug("would copy \"%s\" to \"%s\"", src, dst);
+				break;
+			case COPY_MODE_COPY_FILE_RANGE:
+				pg_log_debug("would copy \"%s\" to \"%s\" (copy_file_range)",
+							 src, dst);
+#ifdef WIN32
+			case COPY_MODE_COPYFILE:
+				pg_log_debug("would copy \"%s\" to \"%s\" (copyfile)",
+							 src, dst);
+				break;
+#endif
+		}
 	}
 	else
 	{
-		if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
-			pg_log_debug("copying \"%s\" to \"%s\"",
-						 src, dst);
-		else
-			pg_log_debug("copying \"%s\" to \"%s\" and checksumming with %s",
-						 src, dst, pg_checksum_type_name(checksum_ctx->type));
-		copy_file_blocks(src, dst, checksum_ctx);
+		switch (copy_mode)
+		{
+			case COPY_MODE_CLONE:
+				copy_file_clone(src, dst);
+				break;
+			case COPY_MODE_COPY:
+				copy_file_blocks(src, dst, checksum_ctx);
+				break;
+			case COPY_MODE_COPY_FILE_RANGE:
+				copy_file_by_range(src, dst);
+				break;
+#ifdef WIN32
+			case COPY_MODE_COPYFILE:
+				copy_file_copyfile(src, dst);
+				break;
+#endif
+		}
 	}
 }
 
@@ -156,6 +175,67 @@ copy_file_blocks(const char *src, const char *dst,
 	close(dest_fd);
 }
 
+static void
+copy_file_clone(const char *src, const char *dest)
+{
+#if defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE)
+	if (copyfile(src, dest, NULL, COPYFILE_CLONE_FORCE) < 0)
+		pg_fatal("error while cloning file \"%s\" to \"%s\": %m", src, dest);
+#elif defined(__linux__) && defined(FICLONE)
+	{
+		if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+			pg_fatal("could not open file \"%s\": %m", src);
+
+		if ((dest_fd = open(dest, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+							pg_file_create_mode)) < 0)
+			pg_fatal("could not create file \"%s\": %m", dest);
+
+		if (ioctl(dest_fd, FICLONE, src_fd) < 0)
+		{
+			int			save_errno = errno;
+
+			unlink(dest);
+
+			pg_fatal("error while cloning file \"%s\" to \"%s\": %s",
+					 src, dest);
+		}
+	}
+#else
+	pg_fatal("file cloning not supported on this platform");
+#endif
+}
+
+static void
+copy_file_by_range(const char *src, const char *dest)
+{
+#if defined(HAVE_COPY_FILE_RANGE)
+	int			src_fd;
+	int			dest_fd;
+	ssize_t		nbytes;
+
+	if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+		pg_fatal("could not open file \"%s\": %m", src);
+
+	if ((dest_fd = open(dest, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+						pg_file_create_mode)) < 0)
+		pg_fatal("could not create file \"%s\": %m", dest);
+
+	do
+	{
+		nbytes = copy_file_range(src_fd, NULL, dest_fd, NULL, SSIZE_MAX, 0);
+		if (nbytes < 0)
+			pg_fatal("error while copying file range from \"%s\" to \"%s\": %m",
+					 src, dest);
+	} while (nbytes > 0);
+
+	close(src_fd);
+	close(dest_fd);
+#else
+	pg_fatal("copy_file_range not supported on this platform");
+#endif
+}
+
+/* XXX maybe this should do the check internally, same as the other functions? */
 #ifdef WIN32
 static void
 copy_file_copyfile(const char *src, const char *dst)
diff --git a/src/bin/pg_combinebackup/copy_file.h b/src/bin/pg_combinebackup/copy_file.h
index 0f6bc09403f..3a1c5eb764f 100644
--- a/src/bin/pg_combinebackup/copy_file.h
+++ b/src/bin/pg_combinebackup/copy_file.h
@@ -11,9 +11,25 @@
 #ifndef COPY_FILE_H
 #define COPY_FILE_H
 
+#include "c.h"
 #include "common/checksum_helper.h"
+#include "common/file_utils.h"
+
+/*
+ * Enumeration to denote copy modes
+ */
+typedef enum CopyMode
+{
+	COPY_MODE_CLONE,
+	COPY_MODE_COPY,
+	COPY_MODE_COPY_FILE_RANGE,
+#ifdef WIN32
+	COPY_MODE_COPYFILE,
+#endif
+} CopyMode;
 
 extern void copy_file(const char *src, const char *dst,
-					  pg_checksum_context *checksum_ctx, bool dry_run);
+					  pg_checksum_context *checksum_ctx, bool dry_run,
+					  CopyMode copy_mode);
 
 #endif							/* COPY_FILE_H */
diff --git a/src/bin/pg_combinebackup/pg_combinebackup.c b/src/bin/pg_combinebackup/pg_combinebackup.c
index 74f8be9eeac..b6e1e62e160 100644
--- a/src/bin/pg_combinebackup/pg_combinebackup.c
+++ b/src/bin/pg_combinebackup/pg_combinebackup.c
@@ -69,6 +69,7 @@ typedef struct cb_options
 	pg_checksum_type manifest_checksums;
 	bool		no_manifest;
 	DataDirSyncMethod sync_method;
+	CopyMode	copy_method;
 } cb_options;
 
 /*
@@ -129,6 +130,8 @@ main(int argc, char *argv[])
 		{"manifest-checksums", required_argument, NULL, 1},
 		{"no-manifest", no_argument, NULL, 2},
 		{"sync-method", required_argument, NULL, 3},
+		{"clone", no_argument, NULL, 4},
+		{"copy-file-range", no_argument, NULL, 5},
 		{NULL, 0, NULL, 0}
 	};
 
@@ -156,6 +159,7 @@ main(int argc, char *argv[])
 	memset(&opt, 0, sizeof(opt));
 	opt.manifest_checksums = CHECKSUM_TYPE_CRC32C;
 	opt.sync_method = DATA_DIR_SYNC_METHOD_FSYNC;
+	opt.copy_method = COPY_MODE_COPY;
 
 	/* process command-line options */
 	while ((c = getopt_long(argc, argv, "dnNPo:T:",
@@ -192,6 +196,12 @@ main(int argc, char *argv[])
 				if (!parse_sync_method(optarg, &opt.sync_method))
 					exit(1);
 				break;
+			case 4:
+				opt.copy_method = COPY_MODE_CLONE;
+				break;
+			case 5:
+				opt.copy_method = COPY_MODE_COPY_FILE_RANGE;
+				break;
 			default:
 				/* getopt_long already emitted a complaint */
 				pg_log_error_hint("Try \"%s --help\" for more information.", progname);
@@ -696,6 +706,8 @@ help(const char *progname)
 			 "                            use algorithm for manifest checksums\n"));
 	printf(_("      --no-manifest         suppress generation of backup manifest\n"));
 	printf(_("      --sync-method=METHOD  set method for syncing files to disk\n"));
+	printf(_("      --clone               clone (reflink) instead of copying files\n"));
+	printf(_("      --copy-file-range     copy using copy_file_range() syscall\n"));
 	printf(_("  -?, --help                show this help, then exit\n"));
 
 	printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
@@ -937,7 +949,8 @@ process_directory_recursively(Oid tsoid,
 											  &checksum_length,
 											  &checksum_payload,
 											  opt->debug,
-											  opt->dry_run);
+											  opt->dry_run,
+											  opt->copy_method);
 		}
 		else
 		{
@@ -993,7 +1006,8 @@ process_directory_recursively(Oid tsoid,
 
 			/* Actually copy the file. */
 			snprintf(ofullpath, MAXPGPATH, "%s/%s", ofulldir, de->d_name);
-			copy_file(ifullpath, ofullpath, &checksum_ctx, opt->dry_run);
+			copy_file(ifullpath, ofullpath, &checksum_ctx, opt->dry_run,
+					  opt->copy_method);
 
 			/*
 			 * If copy_file() performed a checksum calculation for us, then
diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index 41f06bb26b5..f5c7af8a23c 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -90,7 +90,8 @@ reconstruct_from_incremental_file(char *input_filename,
 								  int *checksum_length,
 								  uint8 **checksum_payload,
 								  bool debug,
-								  bool dry_run)
+								  bool dry_run,
+								  CopyMode copy_method)
 {
 	rfile	  **source;
 	rfile	   *latest_source = NULL;
@@ -319,7 +320,7 @@ reconstruct_from_incremental_file(char *input_filename,
 	 */
 	if (copy_source != NULL)
 		copy_file(copy_source->filename, output_filename,
-				  &checksum_ctx, dry_run);
+				  &checksum_ctx, dry_run, copy_method);
 	else
 	{
 		write_reconstructed_file(input_filename, output_filename,
diff --git a/src/bin/pg_combinebackup/reconstruct.h b/src/bin/pg_combinebackup/reconstruct.h
index 8e33a8a95a0..726f94389f3 100644
--- a/src/bin/pg_combinebackup/reconstruct.h
+++ b/src/bin/pg_combinebackup/reconstruct.h
@@ -13,7 +13,9 @@
 #ifndef RECONSTRUCT_H
 #define RECONSTRUCT_H
 
+#include "c.h"
 #include "common/checksum_helper.h"
+#include "common/file_utils.h"
 #include "load_manifest.h"
 
 extern void reconstruct_from_incremental_file(char *input_filename,
@@ -28,6 +30,7 @@ extern void reconstruct_from_incremental_file(char *input_filename,
 											  int *checksum_length,
 											  uint8 **checksum_payload,
 											  bool debug,
-											  bool dry_run);
+											  bool dry_run,
+											  CopyMode copy_mode);
 
 #endif
-- 
2.44.0

#20Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Robert Haas (#18)
Re: pg_upgrade --copy-file-range

On 3/23/24 13:38, Robert Haas wrote:

On Fri, Mar 22, 2024 at 8:26 PM Thomas Munro <thomas.munro@gmail.com> wrote:

Hmm, this discussion seems to assume that we only use
copy_file_range() to copy/clone whole segment files, right? That's
great and may even get most of the available benefit given typical
databases with many segments of old data that never changes, but... I
think copy_write_range() allows us to go further than the other
whole-file clone techniques: we can stitch together parts of an old
backup segment file and an incremental backup to create a new file.
If you're interested in minimising disk use while also removing
dependencies on the preceding chain of backups, then it might make
sense to do that even if you *also* have to read the data to compute
the checksums, I think? That's why I mentioned it: if
copy_file_range() (ie sub-file-level block sharing) is a solution in
search of a problem, has the world ever seen a better problem than
pg_combinebackup?

That makes sense; it's just a different part of the code than I
thought we were talking about.

Yeah, that's in write_reconstructed_file() and the patch does not touch
that at all. I agree it would be nice to use copy_file_range() in this
part too, and it doesn't seem it'd be that hard to do, I think.

It seems we'd just need a "fork" that either calls pread/pwrite or
copy_file_range, depending on checksums and what was requested.

BTW is there a reason why the code calls "write" and not "pg_pwrite"?

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

#21Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Tomas Vondra (#20)
2 attachment(s)
Re: pg_upgrade --copy-file-range

On 3/23/24 14:47, Tomas Vondra wrote:

On 3/23/24 13:38, Robert Haas wrote:

On Fri, Mar 22, 2024 at 8:26 PM Thomas Munro <thomas.munro@gmail.com> wrote:

Hmm, this discussion seems to assume that we only use
copy_file_range() to copy/clone whole segment files, right? That's
great and may even get most of the available benefit given typical
databases with many segments of old data that never changes, but... I
think copy_write_range() allows us to go further than the other
whole-file clone techniques: we can stitch together parts of an old
backup segment file and an incremental backup to create a new file.
If you're interested in minimising disk use while also removing
dependencies on the preceding chain of backups, then it might make
sense to do that even if you *also* have to read the data to compute
the checksums, I think? That's why I mentioned it: if
copy_file_range() (ie sub-file-level block sharing) is a solution in
search of a problem, has the world ever seen a better problem than
pg_combinebackup?

That makes sense; it's just a different part of the code than I
thought we were talking about.

Yeah, that's in write_reconstructed_file() and the patch does not touch
that at all. I agree it would be nice to use copy_file_range() in this
part too, and it doesn't seem it'd be that hard to do, I think.

It seems we'd just need a "fork" that either calls pread/pwrite or
copy_file_range, depending on checksums and what was requested.

Here's a patch to use copy_file_range in write_reconstructed_file too,
when requested/possible. One thing that I'm not sure about is whether to
do pg_fatal() if --copy-file-range but the platform does not support it.
This is more like what pg_upgrade does, but maybe we should just ignore
what the user requested and fallback to the regular copy (a bit like
when having to do a checksum for some files). Or maybe the check should
just happen earlier ...

I've been thinking about what Thomas wrote - that maybe it'd be good to
do copy_file_range() even when calculating the checksum, and I think he
may be right. But the current patch does not do that, and while it
doesn't seem very difficult to do (at least when reconstructing the file
from incremental backups) I don't have a very good intuition whether
it'd be a win or not in typical cases.

I have a naive question about the checksumming - if we used a
merkle-tree-like scheme, i.e. hashing blocks and not hashes of blocks,
wouldn't that allow calculating the hashes even without having to read
the blocks, making copy_file_range more efficient? Sure, it's more
complex, but a well known scheme. (OK, now I realized it'd mean we can't
use tools like sha224sum to hash the files and compare to manifest. I
guess that's why we don't do this ...)

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Attachments:

v20240323-2-0002-write_reconstructed_file.patchtext/x-patch; charset=UTF-8; name=v20240323-2-0002-write_reconstructed_file.patchDownload
From d2b717d14638632c25d0e6919f5cd40333e9ebd0 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Sat, 23 Mar 2024 18:26:21 +0100
Subject: [PATCH v20240323-2 2/2] write_reconstructed_file

---
 src/bin/pg_combinebackup/reconstruct.c | 32 +++++++++++++++++++++++---
 1 file changed, 29 insertions(+), 3 deletions(-)

diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index f5c7af8a23c..4de92894bed 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -59,7 +59,8 @@ static void write_reconstructed_file(char *input_filename,
 									 off_t *offsetmap,
 									 pg_checksum_context *checksum_ctx,
 									 bool debug,
-									 bool dry_run);
+									 bool dry_run,
+									 CopyMode copy_mode);
 static void read_bytes(rfile *rf, void *buffer, unsigned length);
 
 /*
@@ -325,7 +326,8 @@ reconstruct_from_incremental_file(char *input_filename,
 	{
 		write_reconstructed_file(input_filename, output_filename,
 								 block_length, sourcemap, offsetmap,
-								 &checksum_ctx, debug, dry_run);
+								 &checksum_ctx, debug, dry_run,
+								 copy_method);
 		debug_reconstruction(n_prior_backups + 1, source, dry_run);
 	}
 
@@ -528,7 +530,8 @@ write_reconstructed_file(char *input_filename,
 						 off_t *offsetmap,
 						 pg_checksum_context *checksum_ctx,
 						 bool debug,
-						 bool dry_run)
+						 bool dry_run,
+						 CopyMode copy_mode)
 {
 	int			wfd = -1;
 	unsigned	i;
@@ -630,6 +633,29 @@ write_reconstructed_file(char *input_filename,
 		if (dry_run)
 			continue;
 
+		/*
+		 * If requested, copy the block using copy_file_range.
+		 *
+		 * We can'd do this if the block needs to be zero-filled or when we
+		 * need to update checksum.
+		 */
+		if ((copy_mode == COPY_MODE_COPY_FILE_RANGE) &&
+			(s != NULL) && (checksum_ctx->type == CHECKSUM_TYPE_NONE))
+		{
+#if defined(HAVE_COPY_FILE_RANGE)
+			do
+			{
+				wb = copy_file_range(s->fd, &offsetmap[i], wfd, NULL, BLCKSZ, 0);
+				if (wb < 0)
+					pg_fatal("error while copying file range from \"%s\" to \"%s\": %m",
+							 input_filename, output_filename);
+			} while (wb > 0);
+#else
+			pg_fatal("copy_file_range not supported on this platform");
+#endif
+			continue;
+		}
+
 		/* Read or zero-fill the block as appropriate. */
 		if (s == NULL)
 		{
-- 
2.44.0

v20240323-2-0001-pg_combinebackup-allow-using-clone-copy_.patchtext/x-patch; charset=UTF-8; name=v20240323-2-0001-pg_combinebackup-allow-using-clone-copy_.patchDownload
From 558321b7ee10fa3902aaed1d1a08857865a232bb Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Tue, 19 Mar 2024 15:16:29 +0100
Subject: [PATCH v20240323-2 1/2] pg_combinebackup - allow using
 clone/copy_file_range

---
 doc/src/sgml/ref/pg_combinebackup.sgml      |  34 +++++
 src/bin/pg_combinebackup/copy_file.c        | 156 +++++++++++++++-----
 src/bin/pg_combinebackup/copy_file.h        |  18 ++-
 src/bin/pg_combinebackup/pg_combinebackup.c |  18 ++-
 src/bin/pg_combinebackup/reconstruct.c      |   5 +-
 src/bin/pg_combinebackup/reconstruct.h      |   5 +-
 6 files changed, 192 insertions(+), 44 deletions(-)

diff --git a/doc/src/sgml/ref/pg_combinebackup.sgml b/doc/src/sgml/ref/pg_combinebackup.sgml
index 8a0a600c2b2..60a60e3fae6 100644
--- a/doc/src/sgml/ref/pg_combinebackup.sgml
+++ b/doc/src/sgml/ref/pg_combinebackup.sgml
@@ -185,6 +185,40 @@ PostgreSQL documentation
       </listitem>
      </varlistentry>
 
+     <varlistentry>
+      <term><option>--clone</option></term>
+      <listitem>
+       <para>
+        Use efficient file cloning (also known as <quote>reflinks</quote> on
+        some systems) instead of copying files to the new cluster.  This can
+        result in near-instantaneous copying of the data files, giving the
+        speed advantages of <option>-k</option>/<option>--link</option> while
+        leaving the old cluster untouched.
+       </para>
+
+       <para>
+        File cloning is only supported on some operating systems and file
+        systems.  If it is selected but not supported, the
+        <application>pg_combinebackup</application> run will error.  At present,
+        it is supported on Linux (kernel 4.5 or later) with Btrfs and XFS (on
+        file systems created with reflink support), and on macOS with APFS.
+       </para>
+      </listitem>
+     </varlistentry>
+
+     <varlistentry>
+      <term><option>--copy-file-range</option></term>
+      <listitem>
+       <para>
+        Use the <function>copy_file_range</function> system call for efficient
+        copying.  On some file systems this gives results similar to
+        <option>--clone</option>, sharing physical disk blocks, while on others
+        it may still copy blocks, but do so via an optimized path.  At present,
+        it is supported on Linux and FreeBSD.
+       </para>
+      </listitem>
+     </varlistentry>
+
      <varlistentry>
        <term><option>-V</option></term>
        <term><option>--version</option></term>
diff --git a/src/bin/pg_combinebackup/copy_file.c b/src/bin/pg_combinebackup/copy_file.c
index e6d2423278a..0874679e53a 100644
--- a/src/bin/pg_combinebackup/copy_file.c
+++ b/src/bin/pg_combinebackup/copy_file.c
@@ -14,6 +14,7 @@
 #include <copyfile.h>
 #endif
 #include <fcntl.h>
+#include <limits.h>
 #include <sys/stat.h>
 #include <unistd.h>
 
@@ -24,6 +25,10 @@
 static void copy_file_blocks(const char *src, const char *dst,
 							 pg_checksum_context *checksum_ctx);
 
+static void copy_file_clone(const char *src, const char *dst);
+
+static void copy_file_by_range(const char *src, const char *dst);
+
 #ifdef WIN32
 static void copy_file_copyfile(const char *src, const char *dst);
 #endif
@@ -35,7 +40,8 @@ static void copy_file_copyfile(const char *src, const char *dst);
  */
 void
 copy_file(const char *src, const char *dst,
-		  pg_checksum_context *checksum_ctx, bool dry_run)
+		  pg_checksum_context *checksum_ctx, bool dry_run,
+		  CopyMode copy_mode)
 {
 	/*
 	 * In dry-run mode, we don't actually copy anything, nor do we read any
@@ -54,55 +60,68 @@ copy_file(const char *src, const char *dst,
 	/*
 	 * If we don't need to compute a checksum, then we can use any special
 	 * operating system primitives that we know about to copy the file; this
-	 * may be quicker than a naive block copy.
+	 * may be quicker than a naive block copy. We only do this for WIN32.
+	 * On other operating systems the user has to explicitly specify one of
+	 * the available primitives - there may be multiple, we don't know which
+	 * are reliable/preferred.
+	 *
+	 * On the other hand, if we need to compute a checksum, but the user
+	 * requested a special copy method that does not support this, fallback
+	 * to the default block-by-block copy. We don't want to fail if just
+	 * one of many files requires checksum, etc.
 	 */
 	if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
 	{
-		char	   *strategy_name = NULL;
-		void		(*strategy_implementation) (const char *, const char *) = NULL;
-
 #ifdef WIN32
-		strategy_name = "CopyFile";
-		strategy_implementation = copy_file_copyfile;
+		copy_mode = COPY_MODE_COPYFILE;
 #endif
-
-		if (strategy_name != NULL)
-		{
-			if (dry_run)
-				pg_log_debug("would copy \"%s\" to \"%s\" using strategy %s",
-							 src, dst, strategy_name);
-			else
-			{
-				pg_log_debug("copying \"%s\" to \"%s\" using strategy %s",
-							 src, dst, strategy_name);
-				(*strategy_implementation) (src, dst);
-			}
-			return;
-		}
+	}
+	else
+	{
+		/* fallback to block-by-block copy */
+		copy_mode = COPY_MODE_COPY;
 	}
 
-	/*
-	 * Fall back to the simple approach of reading and writing all the blocks,
-	 * feeding them into the checksum context as we go.
-	 */
 	if (dry_run)
 	{
-		if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
-			pg_log_debug("would copy \"%s\" to \"%s\"",
-						 src, dst);
-		else
-			pg_log_debug("would copy \"%s\" to \"%s\" and checksum with %s",
-						 src, dst, pg_checksum_type_name(checksum_ctx->type));
+		switch (copy_mode)
+		{
+			case COPY_MODE_CLONE:
+				pg_log_debug("would copy \"%s\" to \"%s\" (clone)", src, dst);
+				break;
+			case COPY_MODE_COPY:
+				pg_log_debug("would copy \"%s\" to \"%s\"", src, dst);
+				break;
+			case COPY_MODE_COPY_FILE_RANGE:
+				pg_log_debug("would copy \"%s\" to \"%s\" (copy_file_range)",
+							 src, dst);
+#ifdef WIN32
+			case COPY_MODE_COPYFILE:
+				pg_log_debug("would copy \"%s\" to \"%s\" (copyfile)",
+							 src, dst);
+				break;
+#endif
+		}
 	}
 	else
 	{
-		if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
-			pg_log_debug("copying \"%s\" to \"%s\"",
-						 src, dst);
-		else
-			pg_log_debug("copying \"%s\" to \"%s\" and checksumming with %s",
-						 src, dst, pg_checksum_type_name(checksum_ctx->type));
-		copy_file_blocks(src, dst, checksum_ctx);
+		switch (copy_mode)
+		{
+			case COPY_MODE_CLONE:
+				copy_file_clone(src, dst);
+				break;
+			case COPY_MODE_COPY:
+				copy_file_blocks(src, dst, checksum_ctx);
+				break;
+			case COPY_MODE_COPY_FILE_RANGE:
+				copy_file_by_range(src, dst);
+				break;
+#ifdef WIN32
+			case COPY_MODE_COPYFILE:
+				copy_file_copyfile(src, dst);
+				break;
+#endif
+		}
 	}
 }
 
@@ -156,6 +175,67 @@ copy_file_blocks(const char *src, const char *dst,
 	close(dest_fd);
 }
 
+static void
+copy_file_clone(const char *src, const char *dest)
+{
+#if defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE)
+	if (copyfile(src, dest, NULL, COPYFILE_CLONE_FORCE) < 0)
+		pg_fatal("error while cloning file \"%s\" to \"%s\": %m", src, dest);
+#elif defined(__linux__) && defined(FICLONE)
+	{
+		if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+			pg_fatal("could not open file \"%s\": %m", src);
+
+		if ((dest_fd = open(dest, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+							pg_file_create_mode)) < 0)
+			pg_fatal("could not create file \"%s\": %m", dest);
+
+		if (ioctl(dest_fd, FICLONE, src_fd) < 0)
+		{
+			int			save_errno = errno;
+
+			unlink(dest);
+
+			pg_fatal("error while cloning file \"%s\" to \"%s\": %s",
+					 src, dest);
+		}
+	}
+#else
+	pg_fatal("file cloning not supported on this platform");
+#endif
+}
+
+static void
+copy_file_by_range(const char *src, const char *dest)
+{
+#if defined(HAVE_COPY_FILE_RANGE)
+	int			src_fd;
+	int			dest_fd;
+	ssize_t		nbytes;
+
+	if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+		pg_fatal("could not open file \"%s\": %m", src);
+
+	if ((dest_fd = open(dest, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+						pg_file_create_mode)) < 0)
+		pg_fatal("could not create file \"%s\": %m", dest);
+
+	do
+	{
+		nbytes = copy_file_range(src_fd, NULL, dest_fd, NULL, SSIZE_MAX, 0);
+		if (nbytes < 0)
+			pg_fatal("error while copying file range from \"%s\" to \"%s\": %m",
+					 src, dest);
+	} while (nbytes > 0);
+
+	close(src_fd);
+	close(dest_fd);
+#else
+	pg_fatal("copy_file_range not supported on this platform");
+#endif
+}
+
+/* XXX maybe this should do the check internally, same as the other functions? */
 #ifdef WIN32
 static void
 copy_file_copyfile(const char *src, const char *dst)
diff --git a/src/bin/pg_combinebackup/copy_file.h b/src/bin/pg_combinebackup/copy_file.h
index 0f6bc09403f..3a1c5eb764f 100644
--- a/src/bin/pg_combinebackup/copy_file.h
+++ b/src/bin/pg_combinebackup/copy_file.h
@@ -11,9 +11,25 @@
 #ifndef COPY_FILE_H
 #define COPY_FILE_H
 
+#include "c.h"
 #include "common/checksum_helper.h"
+#include "common/file_utils.h"
+
+/*
+ * Enumeration to denote copy modes
+ */
+typedef enum CopyMode
+{
+	COPY_MODE_CLONE,
+	COPY_MODE_COPY,
+	COPY_MODE_COPY_FILE_RANGE,
+#ifdef WIN32
+	COPY_MODE_COPYFILE,
+#endif
+} CopyMode;
 
 extern void copy_file(const char *src, const char *dst,
-					  pg_checksum_context *checksum_ctx, bool dry_run);
+					  pg_checksum_context *checksum_ctx, bool dry_run,
+					  CopyMode copy_mode);
 
 #endif							/* COPY_FILE_H */
diff --git a/src/bin/pg_combinebackup/pg_combinebackup.c b/src/bin/pg_combinebackup/pg_combinebackup.c
index 74f8be9eeac..b6e1e62e160 100644
--- a/src/bin/pg_combinebackup/pg_combinebackup.c
+++ b/src/bin/pg_combinebackup/pg_combinebackup.c
@@ -69,6 +69,7 @@ typedef struct cb_options
 	pg_checksum_type manifest_checksums;
 	bool		no_manifest;
 	DataDirSyncMethod sync_method;
+	CopyMode	copy_method;
 } cb_options;
 
 /*
@@ -129,6 +130,8 @@ main(int argc, char *argv[])
 		{"manifest-checksums", required_argument, NULL, 1},
 		{"no-manifest", no_argument, NULL, 2},
 		{"sync-method", required_argument, NULL, 3},
+		{"clone", no_argument, NULL, 4},
+		{"copy-file-range", no_argument, NULL, 5},
 		{NULL, 0, NULL, 0}
 	};
 
@@ -156,6 +159,7 @@ main(int argc, char *argv[])
 	memset(&opt, 0, sizeof(opt));
 	opt.manifest_checksums = CHECKSUM_TYPE_CRC32C;
 	opt.sync_method = DATA_DIR_SYNC_METHOD_FSYNC;
+	opt.copy_method = COPY_MODE_COPY;
 
 	/* process command-line options */
 	while ((c = getopt_long(argc, argv, "dnNPo:T:",
@@ -192,6 +196,12 @@ main(int argc, char *argv[])
 				if (!parse_sync_method(optarg, &opt.sync_method))
 					exit(1);
 				break;
+			case 4:
+				opt.copy_method = COPY_MODE_CLONE;
+				break;
+			case 5:
+				opt.copy_method = COPY_MODE_COPY_FILE_RANGE;
+				break;
 			default:
 				/* getopt_long already emitted a complaint */
 				pg_log_error_hint("Try \"%s --help\" for more information.", progname);
@@ -696,6 +706,8 @@ help(const char *progname)
 			 "                            use algorithm for manifest checksums\n"));
 	printf(_("      --no-manifest         suppress generation of backup manifest\n"));
 	printf(_("      --sync-method=METHOD  set method for syncing files to disk\n"));
+	printf(_("      --clone               clone (reflink) instead of copying files\n"));
+	printf(_("      --copy-file-range     copy using copy_file_range() syscall\n"));
 	printf(_("  -?, --help                show this help, then exit\n"));
 
 	printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
@@ -937,7 +949,8 @@ process_directory_recursively(Oid tsoid,
 											  &checksum_length,
 											  &checksum_payload,
 											  opt->debug,
-											  opt->dry_run);
+											  opt->dry_run,
+											  opt->copy_method);
 		}
 		else
 		{
@@ -993,7 +1006,8 @@ process_directory_recursively(Oid tsoid,
 
 			/* Actually copy the file. */
 			snprintf(ofullpath, MAXPGPATH, "%s/%s", ofulldir, de->d_name);
-			copy_file(ifullpath, ofullpath, &checksum_ctx, opt->dry_run);
+			copy_file(ifullpath, ofullpath, &checksum_ctx, opt->dry_run,
+					  opt->copy_method);
 
 			/*
 			 * If copy_file() performed a checksum calculation for us, then
diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index 41f06bb26b5..f5c7af8a23c 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -90,7 +90,8 @@ reconstruct_from_incremental_file(char *input_filename,
 								  int *checksum_length,
 								  uint8 **checksum_payload,
 								  bool debug,
-								  bool dry_run)
+								  bool dry_run,
+								  CopyMode copy_method)
 {
 	rfile	  **source;
 	rfile	   *latest_source = NULL;
@@ -319,7 +320,7 @@ reconstruct_from_incremental_file(char *input_filename,
 	 */
 	if (copy_source != NULL)
 		copy_file(copy_source->filename, output_filename,
-				  &checksum_ctx, dry_run);
+				  &checksum_ctx, dry_run, copy_method);
 	else
 	{
 		write_reconstructed_file(input_filename, output_filename,
diff --git a/src/bin/pg_combinebackup/reconstruct.h b/src/bin/pg_combinebackup/reconstruct.h
index 8e33a8a95a0..726f94389f3 100644
--- a/src/bin/pg_combinebackup/reconstruct.h
+++ b/src/bin/pg_combinebackup/reconstruct.h
@@ -13,7 +13,9 @@
 #ifndef RECONSTRUCT_H
 #define RECONSTRUCT_H
 
+#include "c.h"
 #include "common/checksum_helper.h"
+#include "common/file_utils.h"
 #include "load_manifest.h"
 
 extern void reconstruct_from_incremental_file(char *input_filename,
@@ -28,6 +30,7 @@ extern void reconstruct_from_incremental_file(char *input_filename,
 											  int *checksum_length,
 											  uint8 **checksum_payload,
 											  bool debug,
-											  bool dry_run);
+											  bool dry_run,
+											  CopyMode copy_mode);
 
 #endif
-- 
2.44.0

#22Robert Haas
robertmhaas@gmail.com
In reply to: Tomas Vondra (#19)
Re: pg_upgrade --copy-file-range

On Sat, Mar 23, 2024 at 9:37 AM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

OK, that makes sense. Here's a patch that should work like this - in
copy_file we check if we need to calculate checksums, and either use the
requested copy method, or fall back to the block-by-block copy.

+        Use efficient file cloning (also known as <quote>reflinks</quote> on
+        some systems) instead of copying files to the new cluster.  This can

new cluster -> output directory

I think your version kind of messes up the debug logging. In my
version, every call to copy_file() would emit either "would copy
\"%s\" to \"%s\" using strategy %s" and "copying \"%s\" to \"%s\"
using strategy %s". In your version, the dry_run mode emits a string
similar to the former, but creates separate translatable strings for
each copy method instead of using the same one with a different value
of %s. In non-dry-run mode, I think your version loses the debug
logging altogether.

--
Robert Haas
EDB: http://www.enterprisedb.com

#23Robert Haas
robertmhaas@gmail.com
In reply to: Tomas Vondra (#20)
Re: pg_upgrade --copy-file-range

On Sat, Mar 23, 2024 at 9:47 AM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

BTW is there a reason why the code calls "write" and not "pg_pwrite"?

I think it's mostly because I learned to code a really long time ago.

--
Robert Haas
EDB: http://www.enterprisedb.com

#24Jakub Wartak
jakub.wartak@enterprisedb.com
In reply to: Tomas Vondra (#21)
Re: pg_upgrade --copy-file-range

On Sat, Mar 23, 2024 at 6:57 PM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

On 3/23/24 14:47, Tomas Vondra wrote:

On 3/23/24 13:38, Robert Haas wrote:

On Fri, Mar 22, 2024 at 8:26 PM Thomas Munro <thomas.munro@gmail.com> wrote:

[..]

Yeah, that's in write_reconstructed_file() and the patch does not touch
that at all. I agree it would be nice to use copy_file_range() in this
part too, and it doesn't seem it'd be that hard to do, I think.

It seems we'd just need a "fork" that either calls pread/pwrite or
copy_file_range, depending on checksums and what was requested.

Here's a patch to use copy_file_range in write_reconstructed_file too,
when requested/possible. One thing that I'm not sure about is whether to
do pg_fatal() if --copy-file-range but the platform does not support it.

[..]

Hi Tomas, so I gave a go to the below patches today:
- v20240323-2-0001-pg_combinebackup-allow-using-clone-copy_.patch
- v20240323-2-0002-write_reconstructed_file.patch

My assessment:

v20240323-2-0001-pg_combinebackup-allow-using-clone-copy_.patch -
looks like more or less good to go
v20240323-2-0002-write_reconstructed_file.patch - needs work and
without that clone/copy_file_range() good effects are unlikely

Given Debian 12, ~100GB DB, (pgbench -i -s 7000 , and some additional
tables with GiST and GIN indexes , just to see more WAL record types)
and with backups sizes in MB like that:

106831 full
2823 incr.1 # captured after some time with pgbench -R 100
165 incr.2 # captured after some time with pgbench -R 100

Test cmd: rm -rf outtest; sync; sync ; sync; echo 3 | sudo tee
/proc/sys/vm/drop_caches ; time /usr/pgsql17/bin/pg_combinebackup -o
outtest full incr.1 incr.2

Test results of various copies on small I/O constrained XFS device:
normal copy: 31m47.407s
--clone copy: error: file cloning not supported on this platform (it's
due #ifdef of having COPY_FILE_RANGE available)
--copy-file-range: aborted, as it was taking too long , I was
expecting it to accelerate, but it did not... obviously this is the
transparent failover in case of calculating checksums...
--manifest-checksums=NONE --copy-file-range: BUG, it keep on appending
to just one file e.g. outtest/base/5/16427.29 with 200GB+ ?? and ended
up with ENOSPC [more on this later]
--manifest-checksums=NONE --copy-file-range without v20240323-2-0002: 27m23.887s
--manifest-checksums=NONE --copy-file-range with v20240323-2-0002 and
loop-fix: 5m1.986s but it creates corruption as it stands

Issues:

1. https://cirrus-ci.com/task/5937513653600256?logs=mingw_cross_warning#L327
compains about win32/mingw:

[15:47:27.184] In file included from copy_file.c:22:
[15:47:27.184] copy_file.c: In function ‘copy_file’:
[15:47:27.184] ../../../src/include/common/logging.h:134:6: error:
this statement may fall through [-Werror=implicit-fallthrough=]
[15:47:27.184] 134 | if (unlikely(__pg_log_level <= PG_LOG_DEBUG)) \
[15:47:27.184] | ^
[15:47:27.184] copy_file.c:96:5: note: in expansion of macro ‘pg_log_debug’
[15:47:27.184] 96 | pg_log_debug("would copy \"%s\" to \"%s\"
(copy_file_range)",
[15:47:27.184] | ^~~~~~~~~~~~
[15:47:27.184] copy_file.c:99:4: note: here
[15:47:27.184] 99 | case COPY_MODE_COPYFILE:
[15:47:27.184] | ^~~~
[15:47:27.184] cc1: all warnings being treated as errors

2. I do not know what's the consensus between --clone and
--copy-file-range , but if we have #ifdef FICLONE clone_works() #elif
HAVE_COPY_FILE_RANGE copy_file_range_only_works() then we should also
apply the same logic to the --help so that --clone is not visible
there (for consistency?). Also the "error: file cloning not supported
on this platform " is technically incorrect, Linux does support
ioctl(FICLONE) and copy_file_range(), but we are just not choosing one
over another (so technically it is "available"). Nitpicking I know.

3. [v20240323-2-0002-write_reconstructed_file.patch]: The mentioned
ENOSPACE spiral-of-death-bug symptoms are like that:

strace:
copy_file_range(8, [697671680], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697679872], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697688064], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697696256], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697704448], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697712640], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697720832], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697729024], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697737216], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697745408], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697753600], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697761792], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697769984], 9, NULL, 8192, 0) = 8192

Notice that dest_off_t (poutoff) is NULL.

(gdb) where
#0 0x00007f2cd56f6733 in copy_file_range (infd=8,
pinoff=pinoff@entry=0x7f2cd53f54e8, outfd=outfd@entry=9,
poutoff=poutoff@entry=0x0,
length=length@entry=8192, flags=flags@entry=0) at
../sysdeps/unix/sysv/linux/copy_file_range.c:28
#1 0x00005555ecd077f4 in write_reconstructed_file
(copy_mode=COPY_MODE_COPY_FILE_RANGE, dry_run=false, debug=true,
checksum_ctx=0x7ffc4cdb7700,
offsetmap=<optimized out>, sourcemap=0x7f2cd54f6010,
block_length=<optimized out>, output_filename=0x7ffc4cdba910
"outtest/base/5/16427.29",
input_filename=0x7ffc4cdba510
"incr.2/base/5/INCREMENTAL.16427.29") at reconstruct.c:648
#2 reconstruct_from_incremental_file
(input_filename=input_filename@entry=0x7ffc4cdba510
"incr.2/base/5/INCREMENTAL.16427.29",
output_filename=output_filename@entry=0x7ffc4cdba910
"outtest/base/5/16427.29",
relative_path=relative_path@entry=0x7ffc4cdbc670 "base/5",
bare_file_name=bare_file_name@entry=0x5555ee2056ef "16427.29",
n_prior_backups=n_prior_backups@entry=2,
prior_backup_dirs=prior_backup_dirs@entry=0x7ffc4cdbf248,
manifests=0x5555ee137a10, manifest_path=0x7ffc4cdbad10
"base/5/16427.29",
checksum_type=CHECKSUM_TYPE_NONE, checksum_length=0x7ffc4cdb9864,
checksum_payload=0x7ffc4cdb9868, debug=true, dry_run=false,
copy_method=COPY_MODE_COPY_FILE_RANGE) at reconstruct.c:327

.. it's a spiral of death till ENOSPC. Reverting the
v20240323-2-0002-write_reconstructed_file.patch helps. The problem
lies in that do-wb=-inifity-loop (?) along with NULL for destination
off_t. This seem to solves that thingy(?):

-                       do
-                       {
-                               wb = copy_file_range(s->fd,
&offsetmap[i], wfd, NULL, BLCKSZ, 0);
+                       //do
+                       //{
+                               wb = copy_file_range(s->fd,
&offsetmap[i], wfd, &offsetmap[i], BLCKSZ, 0);
                                if (wb < 0)
                                        pg_fatal("error while copying
file range from \"%s\" to \"%s\": %m",
input_filename, output_filename);
-                       } while (wb > 0);
+                       //} while (wb > 0);
 #else

...so that way I've got it down to 5mins.

3. .. but onn startup I've got this after trying psql login: invalid
page in block 0 of relation base/5/1259 . I've again reverted the
v20240323-2-0002 to see if that helped for next-round of
pg_combinebackup --manifest-checksums=NONE --copy-file-range and after
32mins of waiting it did help indeed: I was able to login and select
counts worked and matched properly the data. I've reapplied the
v20240323-2-0002 (with my fix to prevent that endless loop) and the
issue was again(!) there. Probably it's related to the destination
offset. I couldn't find more time to look on it today and the setup
was big 100GB on slow device, so just letting You know as fast as
possible.

4. More efficiency is on the table option (optional patch node ; just
for completeness; I dont think we have time for that? ): even if
v20240323-2-0002 would work, the problem is that it would be sending
syscall for every 8kB. We seem to be performing lots of per-8KB
syscalls which hinder performance (both in copy_file_range and in
normal copy):

pread64(8, ""..., 8192, 369115136) = 8192 // 369115136 + 8192 =
369123328 (matches next pread offset)
write(9, ""..., 8192) = 8192
pread64(8, ""..., 8192, 369123328) = 8192 // 369123328 + 8192 = 369131520
write(9, ""..., 8192) = 8192
pread64(8, ""..., 8192, 369131520) = 8192 // and so on
write(9, ""..., 8192) = 8192

Apparently there's no merging of adjacent IO/s, so pg_combinebackup
wastes lots of time on issuing instead small syscalls but it could
let's say do single pread/write (or even copy_file_range()). I think
it was not evident in my earlier testing (200GB; 39min vs ~40s) as I
had much smaller modifications in my incremental (think of 99% of
static data).

5. I think we should change the subject with new patch revision, so
that such functionality for incremental backups is not buried down in
the pg_upgrade thread ;)

-J.

#25Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Jakub Wartak (#24)
2 attachment(s)
Re: pg_combinebackup --copy-file-range

On 3/26/24 15:09, Jakub Wartak wrote:

On Sat, Mar 23, 2024 at 6:57 PM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

On 3/23/24 14:47, Tomas Vondra wrote:

On 3/23/24 13:38, Robert Haas wrote:

On Fri, Mar 22, 2024 at 8:26 PM Thomas Munro <thomas.munro@gmail.com> wrote:

[..]

Yeah, that's in write_reconstructed_file() and the patch does not touch
that at all. I agree it would be nice to use copy_file_range() in this
part too, and it doesn't seem it'd be that hard to do, I think.

It seems we'd just need a "fork" that either calls pread/pwrite or
copy_file_range, depending on checksums and what was requested.

Here's a patch to use copy_file_range in write_reconstructed_file too,
when requested/possible. One thing that I'm not sure about is whether to
do pg_fatal() if --copy-file-range but the platform does not support it.

[..]

Hi Tomas, so I gave a go to the below patches today:
- v20240323-2-0001-pg_combinebackup-allow-using-clone-copy_.patch
- v20240323-2-0002-write_reconstructed_file.patch

My assessment:

v20240323-2-0001-pg_combinebackup-allow-using-clone-copy_.patch -
looks like more or less good to go

There's some issues with the --dry-run, pointed out by Robert. Should be
fixed in the attached version.

v20240323-2-0002-write_reconstructed_file.patch - needs work and
without that clone/copy_file_range() good effects are unlikely

Given Debian 12, ~100GB DB, (pgbench -i -s 7000 , and some additional
tables with GiST and GIN indexes , just to see more WAL record types)
and with backups sizes in MB like that:

106831 full
2823 incr.1 # captured after some time with pgbench -R 100
165 incr.2 # captured after some time with pgbench -R 100

Test cmd: rm -rf outtest; sync; sync ; sync; echo 3 | sudo tee
/proc/sys/vm/drop_caches ; time /usr/pgsql17/bin/pg_combinebackup -o
outtest full incr.1 incr.2

Test results of various copies on small I/O constrained XFS device:
normal copy: 31m47.407s
--clone copy: error: file cloning not supported on this platform (it's
due #ifdef of having COPY_FILE_RANGE available)
--copy-file-range: aborted, as it was taking too long , I was
expecting it to accelerate, but it did not... obviously this is the
transparent failover in case of calculating checksums...
--manifest-checksums=NONE --copy-file-range: BUG, it keep on appending
to just one file e.g. outtest/base/5/16427.29 with 200GB+ ?? and ended
up with ENOSPC [more on this later]

That's really strange.

--manifest-checksums=NONE --copy-file-range without v20240323-2-0002: 27m23.887s
--manifest-checksums=NONE --copy-file-range with v20240323-2-0002 and
loop-fix: 5m1.986s but it creates corruption as it stands

Thanks. I plan to do more similar tests, once my machines get done with
some other stuff.

Issues:

1. https://cirrus-ci.com/task/5937513653600256?logs=mingw_cross_warning#L327
compains about win32/mingw:

[15:47:27.184] In file included from copy_file.c:22:
[15:47:27.184] copy_file.c: In function ‘copy_file’:
[15:47:27.184] ../../../src/include/common/logging.h:134:6: error:
this statement may fall through [-Werror=implicit-fallthrough=]
[15:47:27.184] 134 | if (unlikely(__pg_log_level <= PG_LOG_DEBUG)) \
[15:47:27.184] | ^
[15:47:27.184] copy_file.c:96:5: note: in expansion of macro ‘pg_log_debug’
[15:47:27.184] 96 | pg_log_debug("would copy \"%s\" to \"%s\"
(copy_file_range)",
[15:47:27.184] | ^~~~~~~~~~~~
[15:47:27.184] copy_file.c:99:4: note: here
[15:47:27.184] 99 | case COPY_MODE_COPYFILE:
[15:47:27.184] | ^~~~
[15:47:27.184] cc1: all warnings being treated as errors

Yup, missing break.

2. I do not know what's the consensus between --clone and
--copy-file-range , but if we have #ifdef FICLONE clone_works() #elif
HAVE_COPY_FILE_RANGE copy_file_range_only_works() then we should also
apply the same logic to the --help so that --clone is not visible
there (for consistency?). Also the "error: file cloning not supported
on this platform " is technically incorrect, Linux does support
ioctl(FICLONE) and copy_file_range(), but we are just not choosing one
over another (so technically it is "available"). Nitpicking I know.

That's a good question, I'm not sure. But whatever we do, we should do
the same thing in pg_upgrade. Maybe there's some sort of precedent?

3. [v20240323-2-0002-write_reconstructed_file.patch]: The mentioned
ENOSPACE spiral-of-death-bug symptoms are like that:

strace:
copy_file_range(8, [697671680], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697679872], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697688064], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697696256], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697704448], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697712640], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697720832], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697729024], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697737216], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697745408], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697753600], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697761792], 9, NULL, 8192, 0) = 8192
copy_file_range(8, [697769984], 9, NULL, 8192, 0) = 8192

Notice that dest_off_t (poutoff) is NULL.

(gdb) where
#0 0x00007f2cd56f6733 in copy_file_range (infd=8,
pinoff=pinoff@entry=0x7f2cd53f54e8, outfd=outfd@entry=9,
poutoff=poutoff@entry=0x0,
length=length@entry=8192, flags=flags@entry=0) at
../sysdeps/unix/sysv/linux/copy_file_range.c:28
#1 0x00005555ecd077f4 in write_reconstructed_file
(copy_mode=COPY_MODE_COPY_FILE_RANGE, dry_run=false, debug=true,
checksum_ctx=0x7ffc4cdb7700,
offsetmap=<optimized out>, sourcemap=0x7f2cd54f6010,
block_length=<optimized out>, output_filename=0x7ffc4cdba910
"outtest/base/5/16427.29",
input_filename=0x7ffc4cdba510
"incr.2/base/5/INCREMENTAL.16427.29") at reconstruct.c:648
#2 reconstruct_from_incremental_file
(input_filename=input_filename@entry=0x7ffc4cdba510
"incr.2/base/5/INCREMENTAL.16427.29",
output_filename=output_filename@entry=0x7ffc4cdba910
"outtest/base/5/16427.29",
relative_path=relative_path@entry=0x7ffc4cdbc670 "base/5",
bare_file_name=bare_file_name@entry=0x5555ee2056ef "16427.29",
n_prior_backups=n_prior_backups@entry=2,
prior_backup_dirs=prior_backup_dirs@entry=0x7ffc4cdbf248,
manifests=0x5555ee137a10, manifest_path=0x7ffc4cdbad10
"base/5/16427.29",
checksum_type=CHECKSUM_TYPE_NONE, checksum_length=0x7ffc4cdb9864,
checksum_payload=0x7ffc4cdb9868, debug=true, dry_run=false,
copy_method=COPY_MODE_COPY_FILE_RANGE) at reconstruct.c:327

.. it's a spiral of death till ENOSPC. Reverting the
v20240323-2-0002-write_reconstructed_file.patch helps. The problem
lies in that do-wb=-inifity-loop (?) along with NULL for destination
off_t. This seem to solves that thingy(?):

-                       do
-                       {
-                               wb = copy_file_range(s->fd,
&offsetmap[i], wfd, NULL, BLCKSZ, 0);
+                       //do
+                       //{
+                               wb = copy_file_range(s->fd,
&offsetmap[i], wfd, &offsetmap[i], BLCKSZ, 0);
if (wb < 0)
pg_fatal("error while copying
file range from \"%s\" to \"%s\": %m",
input_filename, output_filename);
-                       } while (wb > 0);
+                       //} while (wb > 0);
#else

...so that way I've got it down to 5mins.

Yeah, that retry logic is wrong. I ended up copying the check from the
"regular" copy branch, which simply bails out if copy_file_range returns
anything but the expected 8192.

I wonder if this should deal with partial writes, though. I mean, it's
allowed copy_file_range() copies only some of the bytes - I don't know
how often / in what situations that happens, though ... And if we want
to handle that for copy_file_range(), pwrite() needs the same treatment.

3. .. but onn startup I've got this after trying psql login: invalid
page in block 0 of relation base/5/1259 . I've again reverted the
v20240323-2-0002 to see if that helped for next-round of
pg_combinebackup --manifest-checksums=NONE --copy-file-range and after
32mins of waiting it did help indeed: I was able to login and select
counts worked and matched properly the data. I've reapplied the
v20240323-2-0002 (with my fix to prevent that endless loop) and the
issue was again(!) there. Probably it's related to the destination
offset. I couldn't find more time to look on it today and the setup
was big 100GB on slow device, so just letting You know as fast as
possible.

Can you see if you can still reproduce this with the attached version?

4. More efficiency is on the table option (optional patch node ; just
for completeness; I dont think we have time for that? ): even if
v20240323-2-0002 would work, the problem is that it would be sending
syscall for every 8kB. We seem to be performing lots of per-8KB
syscalls which hinder performance (both in copy_file_range and in
normal copy):

pread64(8, ""..., 8192, 369115136) = 8192 // 369115136 + 8192 =
369123328 (matches next pread offset)
write(9, ""..., 8192) = 8192
pread64(8, ""..., 8192, 369123328) = 8192 // 369123328 + 8192 = 369131520
write(9, ""..., 8192) = 8192
pread64(8, ""..., 8192, 369131520) = 8192 // and so on
write(9, ""..., 8192) = 8192

Apparently there's no merging of adjacent IO/s, so pg_combinebackup
wastes lots of time on issuing instead small syscalls but it could
let's say do single pread/write (or even copy_file_range()). I think
it was not evident in my earlier testing (200GB; 39min vs ~40s) as I
had much smaller modifications in my incremental (think of 99% of
static data).

Yes, I've been thinking about exactly this optimization, but I think
we're way past proposing this for PG17. The changes that would require
in reconstruct_from_incremental_file are way too significant. Has to
wait for PG18 ;-)

I do think there's more on the table, as mentioned by Thomas a couple
days ago - maybe we shouldn't approach clone/copy_file_range merely as
an optimization to save time, it might be entirely reasonable to do this
simply to allow the filesystem to do CoW magic and save space (even if
we need to read the data and recalculate the checksum, which now
disables these copy methods).

5. I think we should change the subject with new patch revision, so
that such functionality for incremental backups is not buried down in
the pg_upgrade thread ;)

OK.

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Attachments:

v20240326-0001-pg_combinebackup-allow-using-clone-copy_fi.patchtext/x-patch; charset=UTF-8; name=v20240326-0001-pg_combinebackup-allow-using-clone-copy_fi.patchDownload
From 13387b49b33cdb2a16c3d336368cd48c79f4dc76 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Tue, 19 Mar 2024 15:16:29 +0100
Subject: [PATCH v20240326 1/2] pg_combinebackup - allow using
 clone/copy_file_range

---
 doc/src/sgml/ref/pg_combinebackup.sgml      |  34 ++++
 src/bin/pg_combinebackup/copy_file.c        | 166 ++++++++++++++++----
 src/bin/pg_combinebackup/copy_file.h        |  18 ++-
 src/bin/pg_combinebackup/pg_combinebackup.c |  18 ++-
 src/bin/pg_combinebackup/reconstruct.c      |   5 +-
 src/bin/pg_combinebackup/reconstruct.h      |   5 +-
 6 files changed, 206 insertions(+), 40 deletions(-)

diff --git a/doc/src/sgml/ref/pg_combinebackup.sgml b/doc/src/sgml/ref/pg_combinebackup.sgml
index 8a0a600c2b2..60a60e3fae6 100644
--- a/doc/src/sgml/ref/pg_combinebackup.sgml
+++ b/doc/src/sgml/ref/pg_combinebackup.sgml
@@ -185,6 +185,40 @@ PostgreSQL documentation
       </listitem>
      </varlistentry>
 
+     <varlistentry>
+      <term><option>--clone</option></term>
+      <listitem>
+       <para>
+        Use efficient file cloning (also known as <quote>reflinks</quote> on
+        some systems) instead of copying files to the new cluster.  This can
+        result in near-instantaneous copying of the data files, giving the
+        speed advantages of <option>-k</option>/<option>--link</option> while
+        leaving the old cluster untouched.
+       </para>
+
+       <para>
+        File cloning is only supported on some operating systems and file
+        systems.  If it is selected but not supported, the
+        <application>pg_combinebackup</application> run will error.  At present,
+        it is supported on Linux (kernel 4.5 or later) with Btrfs and XFS (on
+        file systems created with reflink support), and on macOS with APFS.
+       </para>
+      </listitem>
+     </varlistentry>
+
+     <varlistentry>
+      <term><option>--copy-file-range</option></term>
+      <listitem>
+       <para>
+        Use the <function>copy_file_range</function> system call for efficient
+        copying.  On some file systems this gives results similar to
+        <option>--clone</option>, sharing physical disk blocks, while on others
+        it may still copy blocks, but do so via an optimized path.  At present,
+        it is supported on Linux and FreeBSD.
+       </para>
+      </listitem>
+     </varlistentry>
+
      <varlistentry>
        <term><option>-V</option></term>
        <term><option>--version</option></term>
diff --git a/src/bin/pg_combinebackup/copy_file.c b/src/bin/pg_combinebackup/copy_file.c
index e6d2423278a..a690ecb8e12 100644
--- a/src/bin/pg_combinebackup/copy_file.c
+++ b/src/bin/pg_combinebackup/copy_file.c
@@ -14,6 +14,7 @@
 #include <copyfile.h>
 #endif
 #include <fcntl.h>
+#include <limits.h>
 #include <sys/stat.h>
 #include <unistd.h>
 
@@ -24,6 +25,10 @@
 static void copy_file_blocks(const char *src, const char *dst,
 							 pg_checksum_context *checksum_ctx);
 
+static void copy_file_clone(const char *src, const char *dst);
+
+static void copy_file_by_range(const char *src, const char *dst);
+
 #ifdef WIN32
 static void copy_file_copyfile(const char *src, const char *dst);
 #endif
@@ -35,8 +40,11 @@ static void copy_file_copyfile(const char *src, const char *dst);
  */
 void
 copy_file(const char *src, const char *dst,
-		  pg_checksum_context *checksum_ctx, bool dry_run)
+		  pg_checksum_context *checksum_ctx, bool dry_run,
+		  CopyMode copy_mode)
 {
+	char   *strategy_name = NULL;
+
 	/*
 	 * In dry-run mode, we don't actually copy anything, nor do we read any
 	 * data from the source file, but we do verify that we can open it.
@@ -52,57 +60,86 @@ copy_file(const char *src, const char *dst,
 	}
 
 	/*
+	 *
+	 * If we need to compute a checksum, but the user perhaps requested
+	 * a special copy method that does not support this, fallback to the
+	 * default block-by-block copy. We don't want to fail if just one of
+	 * many files requires checksum, etc.
+	 *
 	 * If we don't need to compute a checksum, then we can use any special
 	 * operating system primitives that we know about to copy the file; this
-	 * may be quicker than a naive block copy.
+	 * may be quicker than a naive block copy. We only do this for WIN32.
+	 * On other operating systems the user has to explicitly specify one of
+	 * the available primitives - there may be multiple, we don't know which
+	 * are reliable/preferred.
 	 */
-	if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
+	if (checksum_ctx->type != CHECKSUM_TYPE_NONE)
 	{
-		char	   *strategy_name = NULL;
-		void		(*strategy_implementation) (const char *, const char *) = NULL;
-
+		/* fallback to block-by-block copy */
+		copy_mode = COPY_MODE_COPY;
+	}
 #ifdef WIN32
-		strategy_name = "CopyFile";
-		strategy_implementation = copy_file_copyfile;
+	else
+	{
+		copy_mode = COPY_MODE_COPYFILE;
+	}
 #endif
 
-		if (strategy_name != NULL)
-		{
-			if (dry_run)
-				pg_log_debug("would copy \"%s\" to \"%s\" using strategy %s",
-							 src, dst, strategy_name);
-			else
-			{
-				pg_log_debug("copying \"%s\" to \"%s\" using strategy %s",
-							 src, dst, strategy_name);
-				(*strategy_implementation) (src, dst);
-			}
-			return;
-		}
+	/* Determine the name of the copy strategy for use in log messages. */
+	switch (copy_mode)
+	{
+		case COPY_MODE_CLONE:
+			strategy_name = "clone";
+			break;
+		case COPY_MODE_COPY:
+			/* leave NULL for simple block-by-block copy */
+			break;
+		case COPY_MODE_COPY_FILE_RANGE:
+			strategy_name = "copy_file_range";
+			break;
+#ifdef WIN32
+		case COPY_MODE_COPYFILE:
+			strategy_name = "CopyFile";
+			break;
+#endif
 	}
 
-	/*
-	 * Fall back to the simple approach of reading and writing all the blocks,
-	 * feeding them into the checksum context as we go.
-	 */
 	if (dry_run)
 	{
-		if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
+		if (strategy_name)
+			pg_log_debug("would copy \"%s\" to \"%s\" using strategy %s",
+						 src, dst, strategy_name);
+		else
 			pg_log_debug("would copy \"%s\" to \"%s\"",
 						 src, dst);
-		else
-			pg_log_debug("would copy \"%s\" to \"%s\" and checksum with %s",
-						 src, dst, pg_checksum_type_name(checksum_ctx->type));
 	}
 	else
 	{
-		if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
+
+		if (strategy_name)
+			pg_log_debug("copying \"%s\" to \"%s\" using strategy %s",
+						 src, dst, strategy_name);
+		else
 			pg_log_debug("copying \"%s\" to \"%s\"",
 						 src, dst);
-		else
-			pg_log_debug("copying \"%s\" to \"%s\" and checksumming with %s",
-						 src, dst, pg_checksum_type_name(checksum_ctx->type));
-		copy_file_blocks(src, dst, checksum_ctx);
+
+		switch (copy_mode)
+		{
+			case COPY_MODE_CLONE:
+				copy_file_clone(src, dst);
+				break;
+			case COPY_MODE_COPY:
+				copy_file_blocks(src, dst, checksum_ctx);
+				break;
+			case COPY_MODE_COPY_FILE_RANGE:
+				copy_file_by_range(src, dst);
+				break;
+#ifdef WIN32
+			case COPY_MODE_COPYFILE:
+				copy_file_copyfile(src, dst);
+				break;
+#endif
+		}
 	}
 }
 
@@ -156,6 +193,67 @@ copy_file_blocks(const char *src, const char *dst,
 	close(dest_fd);
 }
 
+static void
+copy_file_clone(const char *src, const char *dest)
+{
+#if defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE)
+	if (copyfile(src, dest, NULL, COPYFILE_CLONE_FORCE) < 0)
+		pg_fatal("error while cloning file \"%s\" to \"%s\": %m", src, dest);
+#elif defined(__linux__) && defined(FICLONE)
+	{
+		if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+			pg_fatal("could not open file \"%s\": %m", src);
+
+		if ((dest_fd = open(dest, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+							pg_file_create_mode)) < 0)
+			pg_fatal("could not create file \"%s\": %m", dest);
+
+		if (ioctl(dest_fd, FICLONE, src_fd) < 0)
+		{
+			int			save_errno = errno;
+
+			unlink(dest);
+
+			pg_fatal("error while cloning file \"%s\" to \"%s\": %s",
+					 src, dest);
+		}
+	}
+#else
+	pg_fatal("file cloning not supported on this platform");
+#endif
+}
+
+static void
+copy_file_by_range(const char *src, const char *dest)
+{
+#if defined(HAVE_COPY_FILE_RANGE)
+	int			src_fd;
+	int			dest_fd;
+	ssize_t		nbytes;
+
+	if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+		pg_fatal("could not open file \"%s\": %m", src);
+
+	if ((dest_fd = open(dest, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+						pg_file_create_mode)) < 0)
+		pg_fatal("could not create file \"%s\": %m", dest);
+
+	do
+	{
+		nbytes = copy_file_range(src_fd, NULL, dest_fd, NULL, SSIZE_MAX, 0);
+		if (nbytes < 0)
+			pg_fatal("error while copying file range from \"%s\" to \"%s\": %m",
+					 src, dest);
+	} while (nbytes > 0);
+
+	close(src_fd);
+	close(dest_fd);
+#else
+	pg_fatal("copy_file_range not supported on this platform");
+#endif
+}
+
+/* XXX maybe this should do the check internally, same as the other functions? */
 #ifdef WIN32
 static void
 copy_file_copyfile(const char *src, const char *dst)
diff --git a/src/bin/pg_combinebackup/copy_file.h b/src/bin/pg_combinebackup/copy_file.h
index 0f6bc09403f..3a1c5eb764f 100644
--- a/src/bin/pg_combinebackup/copy_file.h
+++ b/src/bin/pg_combinebackup/copy_file.h
@@ -11,9 +11,25 @@
 #ifndef COPY_FILE_H
 #define COPY_FILE_H
 
+#include "c.h"
 #include "common/checksum_helper.h"
+#include "common/file_utils.h"
+
+/*
+ * Enumeration to denote copy modes
+ */
+typedef enum CopyMode
+{
+	COPY_MODE_CLONE,
+	COPY_MODE_COPY,
+	COPY_MODE_COPY_FILE_RANGE,
+#ifdef WIN32
+	COPY_MODE_COPYFILE,
+#endif
+} CopyMode;
 
 extern void copy_file(const char *src, const char *dst,
-					  pg_checksum_context *checksum_ctx, bool dry_run);
+					  pg_checksum_context *checksum_ctx, bool dry_run,
+					  CopyMode copy_mode);
 
 #endif							/* COPY_FILE_H */
diff --git a/src/bin/pg_combinebackup/pg_combinebackup.c b/src/bin/pg_combinebackup/pg_combinebackup.c
index 74f8be9eeac..b6e1e62e160 100644
--- a/src/bin/pg_combinebackup/pg_combinebackup.c
+++ b/src/bin/pg_combinebackup/pg_combinebackup.c
@@ -69,6 +69,7 @@ typedef struct cb_options
 	pg_checksum_type manifest_checksums;
 	bool		no_manifest;
 	DataDirSyncMethod sync_method;
+	CopyMode	copy_method;
 } cb_options;
 
 /*
@@ -129,6 +130,8 @@ main(int argc, char *argv[])
 		{"manifest-checksums", required_argument, NULL, 1},
 		{"no-manifest", no_argument, NULL, 2},
 		{"sync-method", required_argument, NULL, 3},
+		{"clone", no_argument, NULL, 4},
+		{"copy-file-range", no_argument, NULL, 5},
 		{NULL, 0, NULL, 0}
 	};
 
@@ -156,6 +159,7 @@ main(int argc, char *argv[])
 	memset(&opt, 0, sizeof(opt));
 	opt.manifest_checksums = CHECKSUM_TYPE_CRC32C;
 	opt.sync_method = DATA_DIR_SYNC_METHOD_FSYNC;
+	opt.copy_method = COPY_MODE_COPY;
 
 	/* process command-line options */
 	while ((c = getopt_long(argc, argv, "dnNPo:T:",
@@ -192,6 +196,12 @@ main(int argc, char *argv[])
 				if (!parse_sync_method(optarg, &opt.sync_method))
 					exit(1);
 				break;
+			case 4:
+				opt.copy_method = COPY_MODE_CLONE;
+				break;
+			case 5:
+				opt.copy_method = COPY_MODE_COPY_FILE_RANGE;
+				break;
 			default:
 				/* getopt_long already emitted a complaint */
 				pg_log_error_hint("Try \"%s --help\" for more information.", progname);
@@ -696,6 +706,8 @@ help(const char *progname)
 			 "                            use algorithm for manifest checksums\n"));
 	printf(_("      --no-manifest         suppress generation of backup manifest\n"));
 	printf(_("      --sync-method=METHOD  set method for syncing files to disk\n"));
+	printf(_("      --clone               clone (reflink) instead of copying files\n"));
+	printf(_("      --copy-file-range     copy using copy_file_range() syscall\n"));
 	printf(_("  -?, --help                show this help, then exit\n"));
 
 	printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
@@ -937,7 +949,8 @@ process_directory_recursively(Oid tsoid,
 											  &checksum_length,
 											  &checksum_payload,
 											  opt->debug,
-											  opt->dry_run);
+											  opt->dry_run,
+											  opt->copy_method);
 		}
 		else
 		{
@@ -993,7 +1006,8 @@ process_directory_recursively(Oid tsoid,
 
 			/* Actually copy the file. */
 			snprintf(ofullpath, MAXPGPATH, "%s/%s", ofulldir, de->d_name);
-			copy_file(ifullpath, ofullpath, &checksum_ctx, opt->dry_run);
+			copy_file(ifullpath, ofullpath, &checksum_ctx, opt->dry_run,
+					  opt->copy_method);
 
 			/*
 			 * If copy_file() performed a checksum calculation for us, then
diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index 41f06bb26b5..f5c7af8a23c 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -90,7 +90,8 @@ reconstruct_from_incremental_file(char *input_filename,
 								  int *checksum_length,
 								  uint8 **checksum_payload,
 								  bool debug,
-								  bool dry_run)
+								  bool dry_run,
+								  CopyMode copy_method)
 {
 	rfile	  **source;
 	rfile	   *latest_source = NULL;
@@ -319,7 +320,7 @@ reconstruct_from_incremental_file(char *input_filename,
 	 */
 	if (copy_source != NULL)
 		copy_file(copy_source->filename, output_filename,
-				  &checksum_ctx, dry_run);
+				  &checksum_ctx, dry_run, copy_method);
 	else
 	{
 		write_reconstructed_file(input_filename, output_filename,
diff --git a/src/bin/pg_combinebackup/reconstruct.h b/src/bin/pg_combinebackup/reconstruct.h
index 8e33a8a95a0..726f94389f3 100644
--- a/src/bin/pg_combinebackup/reconstruct.h
+++ b/src/bin/pg_combinebackup/reconstruct.h
@@ -13,7 +13,9 @@
 #ifndef RECONSTRUCT_H
 #define RECONSTRUCT_H
 
+#include "c.h"
 #include "common/checksum_helper.h"
+#include "common/file_utils.h"
 #include "load_manifest.h"
 
 extern void reconstruct_from_incremental_file(char *input_filename,
@@ -28,6 +30,7 @@ extern void reconstruct_from_incremental_file(char *input_filename,
 											  int *checksum_length,
 											  uint8 **checksum_payload,
 											  bool debug,
-											  bool dry_run);
+											  bool dry_run,
+											  CopyMode copy_mode);
 
 #endif
-- 
2.44.0

v20240326-0002-write_reconstructed_file.patchtext/x-patch; charset=UTF-8; name=v20240326-0002-write_reconstructed_file.patchDownload
From ccd879c90da8c5383d997a4d0a5188d2497313f9 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Sat, 23 Mar 2024 18:26:21 +0100
Subject: [PATCH v20240326 2/2] write_reconstructed_file

---
 src/bin/pg_combinebackup/reconstruct.c | 33 +++++++++++++++++++++++---
 1 file changed, 30 insertions(+), 3 deletions(-)

diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index f5c7af8a23c..eec7860f0e3 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -59,7 +59,8 @@ static void write_reconstructed_file(char *input_filename,
 									 off_t *offsetmap,
 									 pg_checksum_context *checksum_ctx,
 									 bool debug,
-									 bool dry_run);
+									 bool dry_run,
+									 CopyMode copy_mode);
 static void read_bytes(rfile *rf, void *buffer, unsigned length);
 
 /*
@@ -325,7 +326,8 @@ reconstruct_from_incremental_file(char *input_filename,
 	{
 		write_reconstructed_file(input_filename, output_filename,
 								 block_length, sourcemap, offsetmap,
-								 &checksum_ctx, debug, dry_run);
+								 &checksum_ctx, debug, dry_run,
+								 copy_method);
 		debug_reconstruction(n_prior_backups + 1, source, dry_run);
 	}
 
@@ -528,7 +530,8 @@ write_reconstructed_file(char *input_filename,
 						 off_t *offsetmap,
 						 pg_checksum_context *checksum_ctx,
 						 bool debug,
-						 bool dry_run)
+						 bool dry_run,
+						 CopyMode copy_mode)
 {
 	int			wfd = -1;
 	unsigned	i;
@@ -630,6 +633,30 @@ write_reconstructed_file(char *input_filename,
 		if (dry_run)
 			continue;
 
+		/*
+		 * If requested, copy the block using copy_file_range.
+		 *
+		 * We can'd do this if the block needs to be zero-filled or when we
+		 * need to update checksum.
+		 */
+		if ((copy_mode == COPY_MODE_COPY_FILE_RANGE) &&
+			(s != NULL) && (checksum_ctx->type == CHECKSUM_TYPE_NONE))
+		{
+#if defined(HAVE_COPY_FILE_RANGE)
+			wb = copy_file_range(s->fd, &offsetmap[i], wfd, NULL, BLCKSZ, 0);
+
+			if (wb < 0)
+				pg_fatal("error while copying file range from \"%s\" to \"%s\": %m",
+						 input_filename, output_filename);
+			else if (wb != BLCKSZ)
+				pg_fatal("could not write file \"%s\": wrote only %d of %d bytes",
+						 output_filename, wb, BLCKSZ);
+#else
+			pg_fatal("copy_file_range not supported on this platform");
+#endif
+			continue;
+		}
+
 		/* Read or zero-fill the block as appropriate. */
 		if (s == NULL)
 		{
-- 
2.44.0

#26Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Robert Haas (#22)
Re: pg_upgrade --copy-file-range

On 3/25/24 15:31, Robert Haas wrote:

On Sat, Mar 23, 2024 at 9:37 AM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

OK, that makes sense. Here's a patch that should work like this - in
copy_file we check if we need to calculate checksums, and either use the
requested copy method, or fall back to the block-by-block copy.

+        Use efficient file cloning (also known as <quote>reflinks</quote> on
+        some systems) instead of copying files to the new cluster.  This can

new cluster -> output directory

Ooops, forgot to fix this. Will do in next version.

I think your version kind of messes up the debug logging. In my
version, every call to copy_file() would emit either "would copy
\"%s\" to \"%s\" using strategy %s" and "copying \"%s\" to \"%s\"
using strategy %s". In your version, the dry_run mode emits a string
similar to the former, but creates separate translatable strings for
each copy method instead of using the same one with a different value
of %s. In non-dry-run mode, I think your version loses the debug
logging altogether.

Yeah. Sorry for not being careful enough about that, I was focusing on
the actual copy logic and forgot about this.

The patch I shared a couple minutes ago should fix this, effectively
restoring the original debug behavior. I liked the approach with calling
strategy_implementation a bit more, I wonder if it'd be better to go
back to that for the "accelerated" copy methods, somehow.

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

#27Jakub Wartak
jakub.wartak@enterprisedb.com
In reply to: Tomas Vondra (#25)
Re: pg_combinebackup --copy-file-range

On Tue, Mar 26, 2024 at 7:03 PM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:
[..]

That's really strange.

Hi Tomas, but it looks like it's fixed now :)

--manifest-checksums=NONE --copy-file-range without v20240323-2-0002: 27m23.887s
--manifest-checksums=NONE --copy-file-range with v20240323-2-0002 and
loop-fix: 5m1.986s but it creates corruption as it stands

Thanks. I plan to do more similar tests, once my machines get done with
some other stuff.

Please do so as I do not trust my fingers :-)

Issues:

1. https://cirrus-ci.com/task/5937513653600256?logs=mingw_cross_warning#L327
compains about win32/mingw:

[..]

Yup, missing break.

Now it's https://cirrus-ci.com/task/4997185324974080?logs=headers_headerscheck#L10
, reproducible with "make -s headerscheck
EXTRAFLAGS='-fmax-errors=10'":
/tmp/postgres/src/bin/pg_combinebackup/reconstruct.h:34:91: error:
unknown type name ‘CopyMode’ / CopyMode copy_mode);
to me it looks like reconstruct.h needs to include definition of
CopyMode which is in "#include "copy_file.h"

2. I do not know what's the consensus between --clone and
--copy-file-range , but if we have #ifdef FICLONE clone_works() #elif
HAVE_COPY_FILE_RANGE copy_file_range_only_works() then we should also
apply the same logic to the --help so that --clone is not visible
there (for consistency?). Also the "error: file cloning not supported
on this platform " is technically incorrect, Linux does support
ioctl(FICLONE) and copy_file_range(), but we are just not choosing one
over another (so technically it is "available"). Nitpicking I know.

That's a good question, I'm not sure. But whatever we do, we should do
the same thing in pg_upgrade. Maybe there's some sort of precedent?

Sigh, you are right... It's consistent hell.

3. [v20240323-2-0002-write_reconstructed_file.patch]: The mentioned
ENOSPACE spiral-of-death-bug symptoms are like that:

[..]

Yeah, that retry logic is wrong. I ended up copying the check from the
"regular" copy branch, which simply bails out if copy_file_range returns
anything but the expected 8192.

I wonder if this should deal with partial writes, though. I mean, it's
allowed copy_file_range() copies only some of the bytes - I don't know
how often / in what situations that happens, though ... And if we want
to handle that for copy_file_range(), pwrite() needs the same treatment.

Maybe that helps?
https://github.com/coreutils/coreutils/blob/606f54d157c3d9d558bdbe41da8d108993d86aeb/src/copy.c#L1427
, it's harder than I anticipated (we can ignore the sparse logic
though, I think)

3. .. but onn startup I've got this after trying psql login: invalid
page in block 0 of relation base/5/1259 .

[..]

Can you see if you can still reproduce this with the attached version?

Looks like it's fixed now and it works great (~3min, multiple times)!

BTW: I've tried to also try it over NFSv4 over loopback with XFS as
copy_file_range() does server-side optimization probably, but somehow
it was so slow there that's it is close to being unusable (~9GB out of
104GB reconstructed after 45mins) - maybe it's due to NFS mount opts,
i don't think we should worry too much. I think it's related to
missing the below optimization if that matters. I think it's too early
to warn users about NFS (I've spent on it just 10 mins), but on the
other hand people might complain it's broken...

Apparently there's no merging of adjacent IO/s, so pg_combinebackup
wastes lots of time on issuing instead small syscalls but it could
let's say do single pread/write (or even copy_file_range()). I think
it was not evident in my earlier testing (200GB; 39min vs ~40s) as I
had much smaller modifications in my incremental (think of 99% of
static data).

Yes, I've been thinking about exactly this optimization, but I think
we're way past proposing this for PG17. The changes that would require
in reconstruct_from_incremental_file are way too significant. Has to
wait for PG18 ;-)

Sure thing!

I do think there's more on the table, as mentioned by Thomas a couple
days ago - maybe we shouldn't approach clone/copy_file_range merely as
an optimization to save time, it might be entirely reasonable to do this
simply to allow the filesystem to do CoW magic and save space (even if
we need to read the data and recalculate the checksum, which now
disables these copy methods).

Sure ! I think time will still be a priority though, as
pg_combinebackup duration impacts RTO while disk space is relatively
cheap.

One could argue that reconstructing 50TB will be a challenge though.
Now my tests indicate space saving is already happening with 0002
patch - 100GB DB / full backup stats look like that (so we are good I
think when using CoW - not so without using CoW) -- or i misunderstood
something?:

root@jw-test-1:/backups# du -sm /backups/
214612 /backups/
root@jw-test-1:/backups# du -sm *
106831 full
2823 incr.1
165 incr.2
104794 outtest
root@jw-test-1:/backups# df -h . # note this double confirms that just
114GB is used (XFS), great!
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 500G 114G 387G 23% /backups
root@jw-test-1:/backups# # https://github.com/pwaller/sharedextents
root@jw-test-1:/backups# ./sharedextents-linux-amd64
full/base/5/16427.68 outtest/base/5/16427.68
1056915456 / 1073741824 bytes (98.43%) # extents reuse

Now I was wondering a little bit if the huge XFS extent allocation
won't hurt read performance (probably they were created due many
independent copy_file_range() calls):

root@jw-test-1:/backups# filefrag full/base/5/16427.68
full/base/5/16427.68: 1 extent found
root@jw-test-1:/backups# filefrag outtest/base/5/16427.68
outtest/base/5/16427.68: 3979 extents found

However in first look on seq reads of such CoW file it's still good
(I'm assuming such backup after reconstruction would be copied back to
the proper DB server from this backup server):

root@jw-test-1:/backups# echo 3 > /proc/sys/vm/drop_caches
root@jw-test-1:/backups# time cat outtest/base/5/16427.68 > /dev/null
real 0m4.286s
root@jw-test-1:/backups# echo 3 > /proc/sys/vm/drop_caches
root@jw-test-1:/backups# time cat full/base/5/16427.68 > /dev/null
real 0m4.325s

Now Thomas wrote there "then it might make sense to do that even if
you *also* have to read the data to compute the checksums, I think? "
... sounds like read(), checksum() and still do copy_file_range()
instead of pwrite? PG 18 ? :D

-J.

#28Robert Haas
robertmhaas@gmail.com
In reply to: Tomas Vondra (#26)
Re: pg_upgrade --copy-file-range

On Tue, Mar 26, 2024 at 2:09 PM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

The patch I shared a couple minutes ago should fix this, effectively
restoring the original debug behavior. I liked the approach with calling
strategy_implementation a bit more, I wonder if it'd be better to go
back to that for the "accelerated" copy methods, somehow.

Somehow I don't see this patch?

--
Robert Haas
EDB: http://www.enterprisedb.com

#29Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Robert Haas (#28)
Re: pg_upgrade --copy-file-range

On 3/28/24 21:45, Robert Haas wrote:

On Tue, Mar 26, 2024 at 2:09 PM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

The patch I shared a couple minutes ago should fix this, effectively
restoring the original debug behavior. I liked the approach with calling
strategy_implementation a bit more, I wonder if it'd be better to go
back to that for the "accelerated" copy methods, somehow.

Somehow I don't see this patch?

It's here:

/messages/by-id/90866c27-265a-4adb-89d0-18c8dd22bc19@enterprisedb.com

I did change the subject to reflect that it's no longer about
pg_upgrade, maybe that breaks the threading for you somehow?

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

#30Robert Haas
robertmhaas@gmail.com
In reply to: Tomas Vondra (#25)
Re: pg_combinebackup --copy-file-range

On Tue, Mar 26, 2024 at 2:03 PM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

[ new patches ]

Tomas, thanks for pointing me to this email; as you speculated, gmail
breaks threading if the subject line changes.

The documentation still needs work here:

- It refers to --link mode, which is not a thing.

- It should talk about the fact that in some cases block-by-block
copying will still be needed, possibly mentioning that it specifically
happens when the old backup manifest is not available or does not
contain checksums or does not contain checksums of the right type, or
maybe just being a bit vague.

In copy_file.c:

- You added an unnecessary blank line to the beginning of a comment block.

- You could keep the strategy_implementation variable here. I don't
think that's 100% necessary, but now that you've got the code
structured this way, there's no compelling reason to remove it.

- I don't know what the +/* XXX maybe this should do the check
internally, same as the other functions? */ comment is talking about.

- Maybe these functions should have header comments.

--
Robert Haas
EDB: http://www.enterprisedb.com

#31Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Robert Haas (#30)
5 attachment(s)
Re: pg_combinebackup --copy-file-range

On 3/29/24 15:23, Robert Haas wrote:

On Tue, Mar 26, 2024 at 2:03 PM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

[ new patches ]

Tomas, thanks for pointing me to this email; as you speculated, gmail
breaks threading if the subject line changes.

The documentation still needs work here:

- It refers to --link mode, which is not a thing.

- It should talk about the fact that in some cases block-by-block
copying will still be needed, possibly mentioning that it specifically
happens when the old backup manifest is not available or does not
contain checksums or does not contain checksums of the right type, or
maybe just being a bit vague.

In copy_file.c:

- You added an unnecessary blank line to the beginning of a comment block.

Thanks, should be all cleaned up now, I think.

- You could keep the strategy_implementation variable here. I don't
think that's 100% necessary, but now that you've got the code
structured this way, there's no compelling reason to remove it.

Yeah, I think you're right. The strategy_implementation seemed a bit
weird to me because we now have 4 functions with different signatures.
Most only take srd/dst, but copy_file_blocks() also takes checksum. And
it seemed better to handle everything the same way, rather than treating
copy_file_blocks as an exception.

But it's not that bad, so 0001 has strategy_implementation again. But
I'll get back to this in a minute.

- I don't know what the +/* XXX maybe this should do the check
internally, same as the other functions? */ comment is talking about.

I think this is stale. The XXX is about how the various functions
detect/report support. In most we have the ifdefs/pg_fatal() inside the
function, but CopyFile() has nothing like that, because the detection
happens earlier. I wasn't sure if maybe we should make all these
functions more alike, but I don't think we should.

- Maybe these functions should have header comments.

Right, added.

I was thinking about the comment [1]/messages/by-id/CA+hUKG+8KDk+pM6vZHWT6XtZzh-sdieUDohcjj0fia6aqK3Oxg@mail.gmail.com from a couple a days ago, where
Thomas suggested that maybe we should try doing the CoW stuff
(clone/copy_file_range) even in cases when we need to read the block,
say to calculate checksum, or even reconstruct from incremental backups.

I wasn't sure how big the benefits of the patches shared so far might
be, so I decided to do some tests. I did a fairly simple thing:

1) initialize a cluster with pgbench scale 5000 (~75GB)

2) create a full backup

3) do a run that updates ~1%, 10% and 20% of the blocks

4) create an incremental backup after each run

5) do pg_combinebackup for for each of the increments, with
block-by-block copy and copy_file_range, measure how long it takes and
how much disk space it consumes

I did this on xfs and btrfs, and it quickly became obvious that there's
very little benefit unless --no-manifest is used. Which makes perfect
sense, because pgbench is uniform updates so all segments need to be
reconstructed from increments (so copy_file.c is mostly irrelevant), and
write_reconstructed_file only uses copy_file_range() without checksums.

I don't know how common --no-manifest is going to be, but I guess people
will want to keep manifests in at least some backup schemes (e.g. to
rebuild full backup instead of having to take a full backup regularly).

So I decided to take a stab at Thomas' idea, i.e. reading the data to
calculate checksums, but then using copy_file_range instead of just
writing the data onto disk. This is in 0003, which relaxes the
conditions in 0002 shared a couple days ago. And this helped a lot.

The attached PDF shows results for xfs/btrfs. Charts on the left are
disk space occupied by the reconstructed backup, measured as difference
between "df" before and after running pg_combinebackup. The duration of
the pg_combinebackup execution is on the right. First row is without
manifest (i.e. --no-manifest), the second row is with manifest.

The 1%, 10% and 20% groups are for the various increments, updating
different fractions of the database.

The database is ~75GB, so that's what we expect a plain copy to have. If
there are some CoW benefits of copy_file_range, allowing the fs to reuse
some of the space or, the disk space should be reduced. And similarly,
there could/should be some improvements in pg_combinebackup duration.

Each bar is a different copy method and patch:

* copy on master/0001/0002/0003 - we don't expect any difference between
these, it should all perform the same and use the "full" space

* copy_file_range on 0001/0002/0003 - 0001 should perform the same as
copy, because it's only about full-segment copies, and we don't any of
those here, 0002/0003 should help, depending on --no-manifest

And indeed, this is what we see. 0002/0003 use only a fraction of disk
space, roughly the same as the updated fraction (which matches the size
of the increment). This is nice.

For duration, the benefits seem to depend on the file system. For btrfs
it actually is faster, as expected. 0002/0003 saves maybe 30-50% of
time, compared to block-by-block copy. On XFS it's not that great, the
copy_file_range is actually slower by up to about 50%. And this is not
about the extra read - this affects the 0002/no-manifest case too, where
the read is not necessary.

I think this is fine. It's a tradeoff, where on some filesystems you can
save time or space, and on other filesystems you can save both. That's a
tradeoff for the users to decide, I think.

I'll see how this works on EXT4/ZFS next ...

But thinking about this a bit more, I realized there's no reason not to
apply the same logic to the copy_file part. I mean, if we need to copy a
file but also calculate a checksum, we can simply do the clone using
clone/copy_file_range, but then also read the file and calculate the
checksum ...

0004 does this, by simply passing the checksum_cxt around, which also
has the nice consequence that all the functions now have the same
signature, which makes the strategy_implementation work for all cases. I
need to do more testing of this, but like how this looks.

Of course, maybe there's not an agreement this is the right way to
approach this, and we should do the regular block-by-block copy?

There's one more change in 0003 - the checks if clone/copy_file_range
are supported by the platform now happen right at the beginning when
parsing the arguments, so that when a user specifies one of those
options, the error happens right away instead of sometime later when we
happen to hit one of those pg_fatal() places.

I think this is the right place to do these checks, as it makes the
write_reconstructed_file much easier to understand (without all the
ifdefs etc.).

But there's an argument whether this should fail with pg_fatal() or just
fallback to the default copy method.

BTW I wonder if it makes sense to only allow one of those methods? At
the moment the user can specify both --clone and --copy-file-range, and
which one "wins" depends on the order in which they are specified. Seems
confusing at best. But maybe it'd make sense to allow both, and e.g. use
clone() to copy whole segments and copy_file_range() for other places?

regards

[1]: /messages/by-id/CA+hUKG+8KDk+pM6vZHWT6XtZzh-sdieUDohcjj0fia6aqK3Oxg@mail.gmail.com
/messages/by-id/CA+hUKG+8KDk+pM6vZHWT6XtZzh-sdieUDohcjj0fia6aqK3Oxg@mail.gmail.com

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Attachments:

incremental-backup-test.pdfapplication/pdf; name=incremental-backup-test.pdfDownload
%PDF-1.4
%����
1 0 obj
<</Title (Untitled document)
/Producer (Skia/PDF m124 Google Docs Renderer)>>
endobj
3 0 obj
<</ca 1
/BM /Normal>>
endobj
5 0 obj
<</CA 1
/ca 1
/LC 0
/LJ 0
/LW 1.33333337
/ML 10
/SA true
/BM /Normal>>
endobj
7 0 obj
<</N 3
/Filter /FlateDecode
/Length 296>> stream
x�}��J�`�kA�A�\��h���X\[�V�4M����������&.���e(��%���o$����{x��/�@$�*�N�s���Q�S�L��eZ}�����K�}^�'7��v���!y�.�'��V��>�����s<����^�(���F�>�����7�V�=���f���WtV�%J��-���S��#LQ�"���'IB� EN��Py�zfISP�Y��H)��������@�&/C�~�{
�e�6�����1]shE�H�	��0W��'�9�]��Y�?����bM��4	�?��K�
endstream
endobj
6 0 obj
<</Type /XObject
/Subtype /Image
/Width 1682
/Height 922
/ColorSpace [/ICCBased 7 0 R]
/BitsPerComponent 8
/Filter /FlateDecode
/Length 54583>> stream
x���	�U��7�F���h��1��_�d��e&s,�Vr�[7�|���7'����T������	DPPQ�!*�$F��8�h�Q"�(( �����x������M7,���(�{���Z{���>��k���A������������Z�{��'/��/�\�b���������?��������O/9��������?<~���N;-�j���c������f���f
�n����Y�����uzm%��J������?�������2�7"];���Q���z��'�|������;_��O�����#���_|����%];z�����-x#����V�\���I'��a��6_��u������p�)��5j����I�M�����[o��s/���[��v;����h��
w����W��vo <�@�R�����Uu��N�oc���I�5kV��b�6m���7�j��O��h����!�1
Z����k�������+�T�,;�����}�~]�8��flh�����\u�UiK�~�������v��{n�t�~���m�����_��!��=��W�����Wn�����[��

�#]�7���72$m�%K����~���[�.^�/]�����iyF���������;-F,O����W����;v�fN�� ��lh����Q<���i3�~���7on�����{�������k����&�����������/�<-��9s*\�v���w�����O:�$����A�e������{����;�f�<yr�^�/]���g�L]�M�6�z��i1^x����M=����k�d��G�9}�#|�Z��`{Z�f�]w�5q����:��SN9���<����?��o\�`A�o����m��i1,=���
4d��K.����n[�zu��6_���3�h�����(��W������r=��s�^v�e#F�8���N=��s�9g����Nfl����7o~�������|�~�����=:���'��q����~:^>r���O>9�Ip������O�k�K�n����<^xa,[l�X���\{���2������������ko����;������qbe�w�}W\qE|�x�	'��4^������k�S�Z�*6D�9��
�O�+�m��)�z<�-fq���_y��g�}v,@�|����Bn���������(wfbF�za���vI����;�7n\����.����3g�\������-�l.�!MV���������6V]�@l�����){
�b���o���>������:�S�n_|��������E����W�|l�y���l�'�|2����&+�%�{�a�����}#�t���k�F&�M���7�tS�&��t���bU�kc������x�E�3v��l���l��-wI���h�a���`������=�_?�g�(6eM.E����w?�M��K/����q���/�5k��	b��J�:�:v��_F���o\Z��(��������eH�����l���C�W��������/���+^k eodxD�C=TI����@;bT���[��1������/��^�����_������>��Z�jU��F��pb���[;]�g�y&�[�nct���6{mQc�x�}��G��k#�x�K���l����P:O0o��5O�8��;��x�����!>B>n�����1�P��coi��V�X���s��=��3��6v��S����k�]�����z��r#��cU4[]�E~�������8���|���V�^=l���Ho�v.1bD����W_��Uz������2eJ�/���������3g�%4hP�vq��g>����v��'�x"����b[�j��s�
�]�z�TL�p�� ]��	�1fO?�t�U��eK�.=���N���V7n���b+�X�H���KrlN�>�{�����Nk�&�6Y�t���]�����{K������?^�J���o��W2|��?^~��^xa9��qS�C���rTC�x�s�9����?��_���]9bZ�x��g��~>���cF���r��i�c�.;e)>���������/��||��!�>�l�����k�e���8q�o~���#G�G����c��#�����1R��7n\����������k��g����I�&��c��1b���5���.�(���p�������.����x9����5;�/v�i����Il�����
��K/��<��d�]vY��c�5�:VW�Voi��y#����k;g��y���r�y��]7�e.w�5k�L�"��X9��[�oc�wx��Gjv���������rC���N�o���V���?�
�k��K/�X3��=m������7�;wn�/Y�|y�uM#"��f���v��8i����*=�0
�\��E�.�������86nl����#>K�R��b�r��:G\Dh�;�f������������L���a���c��F4E���=��-jb9��+����V�T��j����zby�)�I�I,|$ODG������`��L�:5o�xa�de���&k��k�[��1����I�v�����5P~����/Bmh�Gw�yg.�c@��SO���]�6�:�\����������A��1���JOE�>���sR�7��k���{����S1N��rXE:70y���n�������KM��u�.�������{�){V�&o�������Y������2�,��{��
�)Zc����m�A\a���5 �X���c� �y�l���8d��x �M�6=�����������Y�^x!�.cu�0�l��Z�={v^K1�o��+��1�\�hQ9�����������fP��?�9?�_����O�2�����n�)����^��������������K��l���1x����cx�]Z-o�;����O�_�����z�/�K�)������<��S���W��b�-������I�{y���5�r�:�U��`����c6|�����>�l�=�����0aB��3f�-�)eG1��l.�[��[��^�|y�Kg�c���K���l���"u����J���[n�G��[�.�L�E|�+��"}7W�Z�������ss/�5��Q�<z���l�����l)���2�&����,/��l���0��M��k��x]�>fW�1?������c������oh��5k�����1"~m8Y�6���g�<{��7�g^�l���y����zm��v��%����������4iR�T�qzs�h��'�l�x�<�H~�[o����<H�wx��g�_|�9�����]���h�����
4�\Ee��sK����1�
�3�<��iv�
7�w�Ah�h���V�C��c�6<����/���_�>7�
�l�y�u����t���A�>�ho_[6W;���p���'�i�����g{l������Z\��E?���a��\y�Sl����������������������l]:���dO?�t���S�_]����|�[����Z�lh�_~y�C�6n�X������kk�\�����J�4����\�_����S�?�����
��*�R�Z�&{����$^�O���d}���=�"F������������k������h�����f�����3�H��s�9�S�6m�W��0aB�w(;3���}ym�6����V~�|�����M����zV7�xc�%�C������U�V�w�1x���Gv��k-��[\xp��u�f��������G���5<*))�f5#�x����cXz��g7;Y2����3f��y6�<?���O7|�5k��Oz��W���6E�&U��<�������������+�v�$���[?���j���qT�{Xs"^����n���5�}���Ps��i}��fr,��r��W��[����1�HJi���`�)�����k���0�f�_8Z�G�%���%�[���O�h]��-7l?�{�vni�5�������4��sO����#��7r��7t~����;�_���d-"�L���~_�v}���W�2��v�m����;��.�v����N=��fjO�"��)G�
�4Hb�8}���3g� =��/�����]M7�FyBV�j1N//7��
TYyS�E���z���x�����6m*/���]�s���nh��I���Q|��[�Z�`og�������x�����x��"��c3�
�tbog]��^��i���o����A�\pAo_����]�~Z>;���N��D����n���'�����5��|�i���G������<�"15�r��@����|}���v���=�r�[�.��:�WB��N��_;`�.���4�����4k:�7X�?���>�l~�{�����r����z�Bj�j_�v}��|]������k�TT�����'���<��<����@������k���k������A��k-��y�������(��&s������k�~��Y�������x������1cZLY~��W��Q��a�����O>9=�����������CZ��1�m�7whx9��]�f�'y��Y�.n�k��N���_��}�b]�(�:h����m��k����K���b��4���3������W���]|[�
������2���cP���Hy������e%������fo�w����X��^z��Z��,v�f��
>�`�M����]�d�����x������k�T�r�]?��c�<qy�Bn�� �����������v
�"�����]���|��K.�����/O4m���`��z�z<U�z��+����r�����ge���^\c^x����Y�f������X�Y�����9���+h�St*_[����t��<q�7-���[��B��kq�i�����:}�]��.�����>
�<�3��1��z����
���s=����D��t�;�v������
��	O:��6����M���-��/l��)o������_L���v��]�l`��(�y��5{�������c�����S�N�����;j^�7Y|�[�y�M����]�dW|��V��)���w�����6U����������bt�<��Sz�}ymww�Z�s��_���8=��+����	P=��r���]���[��d�����z��f�(�~}����on[5���������t��~r����)�����(_�������{�����������������Zw��3�ow)&������u+!����u�������f�
�|tk��^�]o�V�w8��m�W���a��Z@y�:��1Q�<���$���k���]��+�e��v������[�eK[k��k}������Wv��^6���^��������K�����@5W���f��<q9�������g�yfo�/�����]�{�&��/o��l��q���R�G��;�����K]mE��{�QFc��i�H1<����^h����x�G<��5�����a������O<�����Tk�k{��[#u������Y��k}$L�"��b�]�/r��k���������8��S"FZ_���|s�f7i�<��lp�o\���f���-Tr���Rm��<���ce��$o��]���������f�.i����M����]?f��/�8q���Ak�w�y>�`������6�O�l�k�z��<�5�\����!C��v����������{w��e�q��M�����.i���^��$_}���]9z���]�x���n��Y�.>x���e�������jN�<yr~�SN9%�������f^��v-�v-n�����kG���f���R���/��Iz������l����~�������K��0��H���J1��n���s���e+n��Fq����a�?��<Y^��
x1�|��S��@]�|o�������<]�����-���:k��9������<�z����{v�X�b���1AyK�l�����*���6�h��\r�x�lyQ�r����������������5�����<���N��[�������f������]C��O�2��;m(�������x��|�l9�-�o>|x����Y��|��oh�������M�r���S�)�v���o1ey�ly�cw]���/�8g��xa���e����}[���.�_~yz$���3�d�EH��$���5w_���k��3dx��<q��o��]yU��?Q�S�w������u����
#�>�������k���lS�Z[���6T^/�����:1h������mw�Z\��|��\���(�3�Z��s����.��GK&N������(����<e�t�����>x�i���/oAXv�z�Z�Eypy�����7�VO��Q�x^g�+V����N��}��O?���f�(�v-z���J���]m�.�o�M7���>g�yf������������������y
�\$m����[�������T��W��������-����-�E�����������kW�;���;��m�P]���] ���u3���6�y��|<X���,�^^��#z{����6L�2%����bh�lpWv�n���o��?�9OY�b��O�����^��7�����_l1��q������K������������gWWW��<��<���Z���_^��+w�	&�����d_�j-	9i���~��k��������Rl�u���A�vI|��r���//I��^�=:thz���:���;�\���/��MK���Vn�<��#5oXm���=A�'b���|}[�<o��%�^�OR�|�v��_Z����{��s���v��%���n�����,��lk�����cy\\Y���1v�����/�|��G���������/oq(Z��������_��������b~��8�xn�5���gZ
�v��A��)�E�.6,�y�l���Qp�37��(���������]������]w��^�3f����.��q�)��������V�El��~��k����"�?�z����I��7��W��:t���7����.�EN���w�y5��?X�~����v1qWWW���v�"������'��\�0��/X�����?���v���k[$��M�;^�n;dW���_�������om���/��<���n�06�&r�����g�MN�y����6�z����f�qz�����V��]�_z���o�y��|'�X��������H��Z�|y�bP�����\	�)�1�o��r���������{��W�u�Y=���qT~��]�]�<��<�n��	���O>��k_|��|xU��j����3V�l��5�A���1������m��8���u�����L�~}�.�E�SJW�X��<���r�h��
_���]��7�tSl��O?�<�����+�}1[�7O/�����|I3s��Mo5m���{�����X{�bbc����6�v�V~�[@��.������?���Qt�����fWK�}/�agO]��gs7��������d���,���H����1�,X0e����G�XI>���{Gwlh���k��A��a�V�^�p�k��&�����g�5�%�+���&5���k��N���_�>��ppWv�:������G�����/�j=N//L��h�u���?>Ms�i������5��z����/[�����������b�_^��<A��kw�Yg���2�������t��p������������
��y�A����[�����K���]hv-�������ay�������]�������������<;i�����������X����o_�C��M%:{3���>��e;��&b��1cF����I������3'MV��JZ�A�+��-���v�e�5L�H���;/M�;�_�>B,F�w(|�l��+���;��l���������Y^U5����O��9�����v���]�R��b�������������2�JM��j���
H
/c��Q	1}��l��a�����������6F��X�y��e�����N����7��]��c�����������z(����N�i/��������4h���o������??]M+���w���8���b����b���7/�������]�_|1s�x��6K���G9��3�4� ����c���g�Zn���oy���������c��ai��|�Vl���|������\�����}8���gR^�0f3-�x�r�}���q��^k�/NX3����V��q����bw*�E,g�N�a~}�������c=��/]����\�pa��tuu�v�my�����Y>�����}['�nbIr�a�97�r���9��������P��/X�����&�b�M��f�]����%��3#���0��k��k����%�C���m�}��EJ��kW��(b�����5k��r�-�W��:���{W��v����]1e>�:��5kV�]9b���/w��%����Q��:������w�yy��&��]c��#�b�0l�������n��������N:i��Q��y�r���p,OPs M��{�������/���<^K��Y�z����_������?��	���O��6K<�����r�)1^>��s�������4��lO<��!�{^r�%1�|�\z��6�e�.>~c�1";�ay&]���q��C
�,.�����'��k��c �aN�[��������Uf��j����k��m�~f��Y��c����KcU��/����Z��h���T{%w���/\�0��b��7.VE��|K��x}���-��-}�XE�V���~����(/&��g��������Xn������Qs��V���$v�����^����,�:
z\�������oP� Vu����}�-��w��]�C��KP�w��s�I�J����r3�~WY�zuy]���u�Y�O��;���*m����5k��&���X�4iR|��-H�_y��y��{c������v�}��E��	��%��K_�.���uxg�;��}Cm���;���^��L�R�P��^�w��|�|���7n,�T5.���tl[���3Xv��~������g��bl�����v��g����5��x�fwP]�n]�"V��X^���yR-<���5�z�F�Z�pa����m����bsL�<��1���J��s�5��C8���j��5#�X��f����b4��A��C��mC��
�iZ�h��U��5���V>�9�i��?���!�
2��'�h�&�6m*�����k����9c��rD�����^��������P��j��e���I����4�q��K��{�V�����G)������esyw���O�������$5't';T��{K��&R���N�R\�������S;B���o��{�lo���--�f�������f��������.�q����c�2t��q����9��FP���M�����c�c��/�x��Y��`n�_/�4iR,v,s:0~�AJ����x�����F:�m��
?�p��#F������s�������v�v�[J1�k��6_������&N�8g���'��������.�*^'>�����=�g|����b�7�h_�c��{�=:��O<1����O��oxpQ���-�\�`A,jl�X{��c����HI���?>��XQ�_}�MFb�>a���������[�jUl�K.�$�����>��������o��H��_+!v�xI�O8�������7��}����tZ9�w&���S���U|/n���/�0��ic�;���nk�;�;}��xI���������|��Cv��w�qGL�3�d���pg�yf|�c��;j�Ki�-.��+���G���N{N�G�{����d=�A���_]�$"+� ]tQ�=�[	�"B���s�=y;l�t����^z����o��vN�2�����f��0}��1}�{��>]��-������#����*�[���b��F���]p���?;H���o����t�u�E�2$>fZ���
c����]74@e����h�a��B���t��w�v}�k@����#];���]����t��H��~�k�G�v�;]�>���J��3�+_�����������Gy��q�6l�P?��W^y�1����~{���>������+W�Ov��w��_>��v�}��:���������'{��W���}h���z�[�z���_x���6m���������0`@GG�1�����_���{��~���^�vm9�����x<&��G>r��G���>��{����K�����7��e�]�S�&tP����{�q��d�V����?O���Gy�G1p�����c���q�V�v����u�]p�M7��{���>���c��a��I�&�#�x�;����Y�z�q�~�_��-\�p��v�e�]�������M��}b�w������j�������<��^x!��}�{_<8f����v#F�H���<~�������/��9��C��I�&���X�"��O����~���5ox�QG�����O�.]�t��������E���f���x���7o��|`�q�I'utt|�;��y|��i��������SO=�Ne}���j���7�O�92����={v�d�����?����_'N��~�3��_�w��]���������N���/�����'?Y���Q��%����^{m�z�G����������������;������l����D��k:$o��A�o��~������/�L���8��������*?��s������g���9rd����}������x���x�|���������d��-K
�W^y%~���>?�7�~��������~����;�Gy$������~��/~��{���>����vK���?��-��O�����?���O�~����[�xq�z��G���'O��2�+]����N�����s��w�};
���wy��<�/��x�'?�I��g��Ot�A���3��C9����.X� ~>�����i���Ov�g�S������/�LV�\���}��������_������g�yf���o{����c�����i��yK���s���%K��8�.������!��Z�M���?������Qsx���k����_��W��a�������??����������^x����[�fM����>~���������Ouvv�?�vT�����l�����~��������y|���oy�[�����O����#F������o��+V�(o9Q���{S0���_�"�r��g?��xj��	��v&o{��:::n�������k����%K���w�����f���;.����������zk�d�G������/�_'O��~�S���l��
���_<�����j���Hw�>|x��O>�d:j��'�H�~����l��%����������#=���Y��M�=��x����J����Koy�[�����S��^�����G��/�4�����������>���+��s�U��������=���Y�l��G��d�'{��g��s�xp����7o��r�������a��<e:I������G�����w�3���+z;_�i�_���_�bGG�.��r�QG}�;�9��c���x������VN��o��C��'?��s��GW�ZUN6m����S|p�gz����/���uuu}��H'�q�������5��|`��y�������������?p������#������-[V?���S�9��}��w�=�<��C�<��t��>������w����������h������[�n���zh��>����O}j��I
��������������������/����k���\?�M/-_y�,������<������<����/k���=���/l�}��Y����6>���u���v�����g�����/S�����m����������z�{���'��������m/=�{U���V[�z���vm�~]�/f�����w��e�����-�u�����U+_7�u�m��l�~]��������r��������m��+��,V�[�������S��M�u���E��>/�VpT�N~T	��oxm[�����g�V�w�Y�n��]����!�|7�����e������_���{���-�����.|���[��e��M����G�7G���G������y$�1�r������������p����k3*��N�������^�����v1#`k9�d'?��K�=�*���*����;�'��r��'��r���e��_9������6��i���Vql�6���[��%�6G�l�;�Q%�zI�N�N�����m�oG9��K�m��;��TB/I��<u�`����m�o9��K�m��;��TB/I��<u�`��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"��������_�u����{��?���u�Y�W�����+�<��cb�=����@gg���+�'�������/p�����A��o{���������C������^o}�[?��/�p��M[=_�<�c�1�$�P�C(IE�(����~�����v�aGy��{��u�Q]]]�d�����d��G�>��}��'~}�{��t��r����7���Kz�����A?�{�q��d�V����?O���1�#�8b��������q����/o*�1��zy(�!���T����d��)x��y��#�?�����5*O6i��x��x���s�#�W�>�����/|�y�����n�����W^���i��a�b�w������j�������<��^x!��}�{_<8f�����7��zL=�<���JRQ*JE`��y��������zk���w������������>��I���V�X���{����xU�z��������������~]�t���w�u�E�����5+�c�z5_�l�c�1�$�P�C(IE�(���}�������}��dO=�T:����^�y���F<5r��������=�f������������'N�_?������]�zW<u����j������c�1H��<��P��RQ*;��#Gvtt���G���������#��j����������y���[�\/��;7���~M��
4��
���_|q���MH=�S�A"��<��T��R�i|���M'���?������]_�����W���K/��'K���}�k��p�5��S��������?~����'[�lYj����+���>���y��q�S���?��b��/oB�1��zy(�!���T���N����lGG�	'���^{����>����:��t����}�>��G~�����-��O�����?��'[�~}��-^�8~=��#����'�O�������|yR����c��Cy(�$��Tv�&���kgg������O>��?��x���Fz����e�������f��Ot�A���3��C9����.X� ~>�����i���Ov�g�S������/oB�1��zy(�!���T���N��c�Iw���iS�������y+W��n���t|];��-Y����c�����o;b��=��r���+��=��r���+��=��m����!��<��T��R�7�6�$�!{������^�������c�xj��9���Q����~����0u��x�����_|x�����o{�d/��B���Y���&���>~���������Ouvv�?�vT�������c�1H��<��P��RQ*�&�f��7������"r5>��xj�����������a����7����y���-'J��{o<~���_��_�[N�H���0aB���Mh{�c�|�g=V�w{�c�|�g=��
���m���v"��<��T��R�iL�4��������y|������[<�����K�,��w�}�����)�;��x��.H���}��_o�����F���K_J�N�<9~���>U3��
��o�x��G��|y�Q����c��Cy(�$��Tv/���[�����7�|<�����5��������eK�,�m��v�u���������C�6m�t�����W]uUz���^J�}����)�y�����#m��7��zL=�<���JRQ*JE`g��_�����#�H�OD��{���=��O8��<Y�����~��sOzd��eG}t<���?O�������������7o����>�<�����6l�S��d;��xIzd��y�|�;��+�������F=�S�A"��<��T��R���]�����tGG�{�?y�������>:�*�L��p���~���L���~���V�*'�6m������>�������S�-���uuu}��H'�q������"{m��7��zL=�<���JRQ*JE`'�a��1c�|�c�k������)~8��s_{���)�N�z�1�����{���!�r��g�t��|��_��;����w�������~�x������[7b��C=4�m�}����>5i���K��|y�P����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*J����{�����?\�T|�J�$� &���(75o�/(fzH
��Qj���M�LC�1P�MM3K-�DB���yI=(*"7����9������_�����������e�5��ggU�b���c�1H�P�r�����2����c����!�TQU�e3��� �C=�C���*�"�<f3�A��z���SEUTE`=��c�5o��T*�q����;v�����o��M��]G�����V6i�����S�j��u�������V�p���.�h�]v�x��7�t�^�z]s�5��-[��e�a3��� �C=�C���*�"��Z�p�;�PZ�r���O���5k��G�����k�.Nn��v�f��������_\��~�u��1>n�����>�6w��]w�5.j��M�>}z����e�8y���~��kq�lP�c�1�$z��z9UTEU�Wg�uV�T�r�-+w���gv��a��i��y��
4(�<��������K�Z�j�����c�9��-���������j����#�
g�����7�(��.]���W^y��^/��y�<���BNUQ����I��7o��~�u�Q��v��w�3����9g��M6�$�/���3�����
��������3&��5kV��-[�h��+���=���qXMM������z�����c�1H�P�r�����.\��k��m���o���{����[Y���Z��c���F��Nv��)NN�8��ac�����N�|��qr�����%[o�u\4e��5�^64�1��y=�C=��*��*k��>�����:��������>}z���C�{c�[S+w�����8�w�����+����9�������J�o����6mZz�k:�^�w���V~����������ed3��� �C=�C���*�"P�E�]v�e����9���|�;���-_����+eZ�hq��7}c�Ozol��}���Z�k7z��8g��!�6��z��O�2%�Z���f�������{/N80>���k+�<�����s�9���ed3��� �C=�C���*�"P�%K����'������K/�t��������g�8��SN9e��v���[�~������zol:�r������sN>���?����E�;w.��K����;��!3f�����t���V��+�f�*��
�y�<f�D�P!�����@]n���R���y�c�=�������'
�����������%K��x��q��g�Y�
g�}v��+���|N��]:���N���'N��:v��{���q�n�VyE��5�K_x���x�=���'L�Py���#����?���ed3��� �C=�C���*�"P��>8��R��W^��E���[�{�����g�n���.������C���}��I��M���v��u���n���+�x�]��*��b����X~�M9������X~�M9������X��K�i���!�TQU�
\��$����j��7^�xq��%K�l��f�Ri����������n��7�C-Z���;�
.�76�����������>����?>.������O��[l�E�ao��F���?�&��/|!>��O~Ry�����1����F���y�<f�D�P!�����l���$�0�j�j�w�u�n��V*���%�]�Mu�V����K�m�����c����{��W_}uy��w��O?�5*.:�����9s����Dn���q~MMM:��o|��ON�r�!��E7�pC����)���z�r���)���z�r��_p�c�v'�&��z���SEUTE�.��b�w�}W�;G�kw����V'�~��3g�>�����
�����K�8��C�:��+����<��t��[o��}���u���K��oM�>}���
�y�<f�D�P!�����@]>^�vu�|�l���W�%pe3g�l��U�-^}��t��#*_�l���������v[:�����h���5k��s��G������kz�lh�c�1�$z��z9UTEU�����7��o����O���=���q�I'�T>���^k��m�'9�/_�b�o�>|x��[�ti���&�=��#�H:��'��j�������gkz�lh�c�1�$z��z9UTEU�R*�v�i���~��
q��h�.�����{�}��'�����ns����0aB��-��N�:���o�-�L�n�M�e,�{���`{������7k�,N6l���
�y�<f�D�P!�����@]V�k�*}�W��]�+��:`���6��m����u���-ZTy���S��C���[w����SN�1cF�a�/5jT������k��o�����[�M��z�p���c�1H�P�r�����e�����>��y�<���BNUQ��,ZsE�d�X2����c����!�TQU�e3��� �C=�C���*�"�<f3�A��z���SEUTE�.�!M�<f3�A��z���SEUTE�.�5
h�1��y=�C=��*��*uIq���'��o��O|�U�V-V���K�1��y=�C=��*��*ui��M�T�d�M
t��7����E�"X?���c�1H�P�r�������w���������Y�R���u�#�<��{�Y�dI�7
�+�1��y=�C=��*��*����/�9�K�.�=�[l��g�1u���o�'�c�1�$z��z9UTEU�������_��'?���v�i�Q�F��1���o�1��y=�C=��*��*kj���w�y�����U�R���y�<p������_�*���c�1H�P�r��������z����?��C7�x���V}��c�<f3�A��z���SEUTE`�M�:�������g���K���[nY�-��%��y�<���BNUQ�5����_v�e;��s��v�Z�:������n��,���y�<���BNUQ�*������������E��_��n���G?�={v�7
>��c�1�$z��z9UTEUVk��)��zj����f]��:�����}�`=a3��� �C=�C���*�"P��^{�?��N;��6�Z�n=x��{��w���E�4X����c�1H�P�r�����%����'?��[n���w�)����<f3�A��z���SEUTE�.�%v[l����o��]��m�n�:E�d�X2����c����!�TQU�Ki�}��c�<f3�A��z���SEUTE�.��\�7>��c�1�$z��z9UTEU�b���c�1H�P�r�����2����c����!�TQU�e3��� �C=�C���*�"�<f3�A��z���SEUTE(�y�<f�D�P!�����P,��y�<���BNUQ�X�1��y=�C=��*��*@��c�1�$z��z9UTEU�b���c�1H�P�r�����2����c����!�TQU�e3��� �C=�C���*�"�<f3�A��z���SEUTE(�y�<f�D�P!�����P,��y�<���BNUQ�X�1��y=�C=��*��*@��c�1�$z��z9UTEU�b���c�1H�P�r�����2����c����!�TQU�e3��� �C=�C���*�"�<f3�A��z���SEUTE(�y�<f�D�P!�����P,��y�<���BNUQ�X�1��y=�C=��*��*@��c�1�$z��z9UTEU�b���c�1H�P�r�����2����c����!�TQU�e3��� �C=�C���*�"�<f3�A��z���SEUTE(�y�<f�D�P!�����P,��y�<���BNUQ�X�1��y=�C=��*��*@��c�1�$z��z9UTEU�b���c�1H�P�r�����2����c����!�TQU�e3��� �C=�C���*�"�<f3�A��z���SEUTE(�y�<f�D�P!�����P,��y�<���BNUQ�X�1��y=�C=��*��*@��c�1�$z��z9UTEU�b���c�1H�P�r�����2����c����!�TQU�e3��� �C=�C���*�"�<f3�A��z���SEUTE(�y�<f�D�P!�����P,��y�<���BNUQ�X�1��y=�C=��*��*@��c�1�$z��z9UTEU�b���c�1H�P�r�����2����c����!�TQU�e3��� �C=�C���*�"�<f3�A��z���SEUTE(�y�<f�D�P!�����P,��y�<���BNUQ�X�1��y=�C=��*��*@��c�1�$z��z9UTEU�b���c�1H�P�r�����2����c����!�TQU�e3��� �C=�C���*�"�<f3�A��z���SEUTE(�y�<f�D�P!�����P,��y�<���BNUQ�X�1��y=�C=��*��*@��c�1�$z��z9UTEU�b���c�1H�P�r�����2����c����!�TQU�e3��� �C=�C���*�"�<f3�A��z���SEUTE(�y�<f�D�P!�����P,��y�<���BNUQ�X�1��y=�C=��*��*@��c�1�$z��z9UTEU�b���c�1H�P�r�����2����c����!�TQU�e3��� �C=�C���*�"�<f3�A��z���SEUTE(�y�<f�D�P!�����P,��y�<���BNUQ�X�1��y=�C=��*��*@��c�1�$z��z9UTEU�b���c�1H�P�r�����2����c����!�TQU�e3��� �C=�C���*�"�<f3�A��z���SEUTE(�y�<f�D�P!�����P,��y�<���BNUQ�X�1��y=�C=��*��*@��c�1�$z��z9UTEU�b���c�1H�P�r�����2����c����!�TQU�e3��� �C=�C���*�"�<f3�A��z���SEUTE(�y�<f�D�P!�����P,��y�<���BNUQ�X�1��y=�C=��*��*@��c�1�$z��z9UTEU�b���c�1H�P�r�����2����c����!�TQU�e3��� �C=�C���*�"�<f3�A��z���SEUTE(�y�<f�D�P!�����P,��y�<���BNUQ�X�1��y=�C=��*��*@��c�1�$z��z9UTEU�b���c�1H�P�r�����2����c����!�TQU�e3��� �C=�C���*�"�<f3�A��z���SEUTE(�y�<f�D�P!�����P,��y�<���BNUQ�X�1��y=�C=��*��*@��c�1�$z��z9UTEU�b���c�1H�P�r�����2����c����!�TQU�e3��� �C=�C���*�"�<f3�A��z���SEUTE(�y�<f�D�P!������z��g�9��;u���U�v�����^W^y��%K*�;v����o��M��]��1��w��<l��I����>��u��;:��g��<l���]t�.�����o����z����k�-[������<f3�A��z���SEUTE`}r�wl��F�R�]�v{�����n[Z�_�~�-��<����f��������q|��n��f���v�M75o�<]��~�u��1>n�����>�6w��]w�5.j��M�>}z����e�8y���~��kq�lP�c�1�$z��z9UTEU�����'>��R�4|����3z���7�8������G�7.������i��9���4hP�y�a��{���Z�j��y��c��s�-[v���a[m�U�*��a���>}�����?��K�8��+�\��eCc3��� �C=�C���*�"�����J���{��|�����������[>�{��q��q��������&����7��q�qr��a���_�~q��1c��Y�f�l��E����J~��?�����oO�����<f3�A��z���SEUTE`���|�{����{j���w�J����>�|����[Y���ZG{��q������N�:���'�:l��1q������o�9N�����7i������L��F����<f3�A��z���SEUTE`��6�����N�M���{Wy�W�E�sL|��[o����`��Z�M�6-��5�L/�;��s+?az��u�]W���2����c����!�TQUX�-_�|���.�J�\sM:g���qr��!��q�qQ��=��)S���[n�e�a�g�Nz���^�8p`||���Vy����E��sN����<f3�A��z���SEUTE`�v�%��J�n��-^�8�s�y��9'�|r��>�`\��s���]�t�<l��%i�n��q�O�>�����Zyd�������^6@�1��y=�C=��*��*��K/��Y�f�o��s�=W>����.�J��vZ��'N��:v��{��i�o��9>m\��/��{��G|<a����F����_/ ��y�<���BNUQ�����KO>��R����[��/�/Z�k�����y����3WT�Z�t]U^o5����)���z�r���)���z�r���)�����B��C=�C���*6R�����x��?��
�_|�3'N���4i��k~���;�}w���/>�5�������������M>^���s���J��w���W^�u�e�]}���p���qQ�^���'�x">�b�-*{��7�������3�/|���O~���#O=���h���_o5�~����c�1�TH�P�r����Q�G�����������������M�~���6�~]�_\��'���?>��$�cd��9=z�(�J�r���s+�������F�w�q�����Dn���q~MMM:��o|��ON��!.�����^6@M9������X~�M9�����������pk�;)4=�C=��*�bcT�O�������?�B~��������wNY� @��-X��o���R��NX�t�*��9sf��u�8��E�
������t�K�.q����u�W\�y�������'�zk7�}��q������z�����cV�����!�TQ����aj������{�/�b�.��+j� ���Z*��9��e���sX�^��/�+�9sf�V�Z�h�����sF�Q������w��o���t��o���F5k�,�7/V��}�;����^/��y�*=�C=��*�bcT�i�����6��]��A�@�J��C�N�����Gz�j�����22{�������'�tR���^{�m��q��1c�/_�b��C1|������/�Iv�=��?��y��'��j�8�g?���^/��y�*=�C=��*��];�v��8���J���[n��3f�(�6�B�����g��;��n���Ux&Lh��e����_|������Z�`�����;��w�����{�f����a�j��*��
�y�<f�
���BNU���];Xo����T�^��/�?~��6�l��m�v����/\�h���S�<�C��[�����)������-^�x��Q��w����]��}��7n�����e�a3�Y�B��z���SEU�kg��b���cV�����!�TQ�����X�1��U*$z��z9UTE�vv�(�y�<f�
���BNU���];�e3�Y�B��z���SEU�kg��b���cV�����!�TQ�����X�1��U*$z��z9UTE�vv�(�y�<f�
���BNU���];�e3�Y�B��z���SEU�kg��b���cV�����!�TQ�����X�1��U*$z��z9UTE�vv�(�y�<f�
���BNU���];�e3�Y�B��z���SEU�kg��b���cV�����!�TQ�����X�1��U*$z��z9UTE�vv�(�y�<f�
���BNU���];�e3�Y�B��z���SEU�kg��b���cV�����!�TQ�����X�1��U*$z��z9UTE�vv�(�y�<f�
���BNU���];�e3�Y�B��z���SEU�kg��b���cV�����!�TQ�����X�1��U*$z��z9UTE�vv�(�y�<f�
���BNU���];�e3�Y�B��z���SEU�kg��b���cV�����!�TQ�����X�1��U*$z��z9UTE�vv�(�y�<f�
���BNU���];�e3�Y�B��z���SEU�kg��b���cV�����!�TQ�����X�1��U*$z��z9UTE�vv�(�y�<f�
���BNU���];�e3�Y�B��z���SEU�kg��b���cV�����!�TQ�����X�1��U*$z��z9UTE�vv�(�y�<f�
���BNU���];�e3�Y�B��z���SEU�kg��b���cV�����!�TQ�����X�1��U*$z��z9UTE�vv�(�y�<f�
���BNU���];�e3�Y�B��z���SEU�kg��b���cV�����!�TQ�����X�1��U*$z��z9UTE�vv�(�y�<f�
���BNU���];�e3�Y�B��z���SEU�kg��b���cV�����!�TQ�����X�1��U*$z��z9UTE�vv�(�y�<f�
���BNU���];�e3�Y�B��z���SEU�kg��b���cV�����!�TQ�����X�1��U*$z��z9UTE�vv�(�y�<f�
���BNU���];�e3�Y�B��z���SEU�kg��b���cV�����!�TQ�����X�1��U*$z��z9UTE�vv�(�y�<f�
���BNU���];�e3�Y�B��z���SEU�kg��b���cV�����!�TQ�����X�1��U*$z��z9UTE�vv�(�y�<f�
���BNU���];�e3�Y�B��z���SEU�kg��b���cV�����!�TQ�����X�1��U*$z��z9UTE�vv�(�y�<f�
���BNU���];�e3�Y�B��z���SEU�kg��b���cV�����!�TQ�����X�1��U*$z��z9UTE�vv�(�y�<f�
���BNU���];�e3�Y�B��z���SEU�kg��b���cV�����!�TQ�����X�1��U*$z��z9UTE�vv�(�y�<f�
���BNU���];�e3�Y�B��z���SEU�kg��b���cV����6R�^���??{���h�5i|���?WQy���h��?,���FY�������Y���TQ�����X�1��];H�P��o/^r�cj��i\�{K��������k��i\���
����HU���];�e3����D��1z�����4����y!��	\�4��;���e~�TQ�����X�1��];H�P����aj�,N������M�8�+j� A���v���P,��y��$z�������TQUQ(�y�<f�=�C�S�Sr�������<f�k������)9UTEUTE�e3����D�������*��*�"�2�����A��zh}j}JNUQU�b���cv� �C=�>�>%������@��c�1�v���Z�Z��SEUTEU�X�1��];H�P�O�O���*��*P,��y��$z�������TQUQ(�y�<f�=�C�S�Sr�������<f�k������)9UTEUTE�e3����D�������*��*�"�2�����A��zh}j}JNUQU�b���cv� �C=�>�>%������@��c�1�v���Z�Z��SEUTEU�X�1��];H�P�O�O���*��*P,��y��$z�������TQUQ(�y�<f�=�C�S�Sr�������<f�k������)9UTEUTE�e3����D�������*��*�"�2�����A��zh}j}JNUQU�b���cv� �C=�>�>%������@��c�1�v���Z�Z��SEUTEU�X�1��];H�P�O�O���*��*P,��y��$z�������TQUQ(�y�<f�=�C�S�Sr�������<f�k������)9UTEUTE�e3����D�������*��*�"�2�����A��zh}j}JNUQU�b���cv� �C=�>�>%������@��c�1�v���Z�Z��SEUTEU�X�1��];H�P�O�O���*��*P,��y��$z�������TQUQ(�y�<f�=�C�S�Sr�������<f�k������)9UTEUTE�e3����D�������*��*�"�2�����A��zh}j}JNUQU�b���cv� �C=�>�>%������@��c�1�v���Z�Z��SEUTEU�X�1��];H�P�O�O���*��*P,��y��$z�������TQUQ(�y�<f�=�C�S�Sr�������<f�k������)9UTEUTE�e3����D�������*��*�"�2�����A��zh}j}JNUQU�b���cv� �C=�>�>%������@��c�1�v���Z�Z��SEUTEU�X�1��];H�P�O�O���*��*P,��y��$z�������TQUQ(�y�<f�=�C�S�Sr�������<f�k������)9UTEUTE�e3����D�������*��*�"�2�����A��zh}j}JNUQU�b���cv� �C=�>�>%������@��c���l�����o}l���|�1f������*��*iz�������TQUQ(�y�<�>���3�Ew7�$Wa�n���zh}j}JNUQU�b���c��k7k�������I�c�O�<����������������G������)9UTEUTE�e3�5�<6k��GN����X\E���&x�]���_��0d=��zh}j}JNUQU�b���c�1�]0��������5��.�P�O���*��*�"�2���ck�����N��_�y�u��zh}���TQUQ(�y�<f3�������SEUTEU�X�1��y�<F��z��zHNUQU�b���c�1�����!9UTEUTE���;v�����o��M��]G�����}�(�y�<f3�������SEUTEU���'�X*��5k��G�����k�.Nn��v�f�*��Q��y�<f#�C=�C=$������4�q���J�:L������y�
gv�a��6
d3����c$z��z���TQUQ�&��{�R�4n����9s�l��&q���>[�
�X�1��y�<F��z��zHNUQUh/��r�Tj������_��c�=6.=zt!7�����c�1�����!9UTEUTE�i�y���R�w���]q�q�1��������y�<f#�C=�C=$������4���G�J�!C�T^t�w�E={�l�[�G�y�<f3�������SEUTEU��y��W*�N>����|����s��M��(0����c�1=�C=�Cr������@�8���K��i��Vy������;6�����<f3���H�P�P���*��*Mc������K���'�������m�y,�������m�y,�������m�y,�������G����!9UTEUT�
\���@}.���R�t��GW^4~����W�^��R���^�k����=�w���������]�}��������d����{��M�_~�yr����?>Z�P�P���*��*n�tW�s��w��ON�5*.:�����V��l����R�u��,�u��A���������^�z�J�n�!?s����Z�j������Z�
�
Vz�l������1���g���?�<�����m��>|xi�������>m����w�m��s�}�`�5~��l��fm�������^�h���o�>���/��e���R��g��<�����>����m����:�����<f����;w�����y��&4����{��7�����?���I�&
<�S��T���;v��L��1cv�q�8������������W~���~�U�V���kXg1
^w�u1�m�����m��������'+��&�FG����/�����O�s��/�CW���'O���v��t�A����s��?��_��In5���?�W���r���������7ol��v���_,Q������>Z>���n�3O=������=zt||����<��-�5�f�m��k�5�W�����7`��hW�f�:w���{l���q�U�Vw�uW~d5I4:4�;��3F��-[^z��m��*w��>��8���^J'G�'����������Or���6��X7O?��;�5�p�����]�H_,Zc�:v��t��e�.���8~���Z�pa:3V��:u*��n����r�-?����S��'?�?5f����������������)S�9s��2dH���[�[We��
�������I����v�b=[��<Pk�+�=���}���f�j��
�������m��p�
��!�R���g�
6������+�p��E��=�������<��s�sf����]��S�|�,@�.\��M���}������{�E'���z(�SMWH�X�y���q]�v�o��g?�����S��a\pA��+��2�������4��������J��k��S��h�������g�?p������G|����|���_�<��#�s?����[���k��9�]v�9���x��Zu��=jV~e]5I\athu��m�����5y��8����O'_y���7�x���O'�.]�d�����
��]���z+�����h��iq~�V��`�]�Q�F�9���o��;��#N�92�\�h��e���h8[o�u�fU&q�����k���{n�������w_���8�8p`�6m^x����~���k��y�f���5����]�)S���y�f���V������y���!C��/=��s�����w��eo�n�/^|���w��5.��~��_�?��_��H�l���]�*����������������O'��k�<yr||������F������o��]�������o��'?'+�g�T����>�w������6-Qg��'?���n����K{�������~�k_���I��y����[���.���9rd��������e������I�����[�9�'�������{��'buy��>�����,E{���|����~�C�������K�����g���n��w�qG�k��]�{��7�����*�T�1.}��V����s�9q��?�a||��g���������N;->�s��b�����7�������_~����l9eI�I4:4��v����^��q���k���<��c���������O�����qr���My������n���+V�{����?
8p�����~,{;v�8w��8�g��[o�u�3�x��q�]w���_��2eJ���]��^W��FG��V����������{��'�/Q��o���L�~��_�����K'.\'�8��������]�XZ��[l�E�y��7�jt����3g��1q��X{����~p�=�������z��Y>�W��U\�������u0a���m�6k�l����.Z�$P��v�E�u���3��Ly6;�������	���d,���4��v������~�\�'kjj������u�Q�s��k��O�����5jTC|
���nj���'>��U�x]�htXG���}����#��_�������#�<��n+@��k�.�23.z���j��W�S�������g��6{����g�z����������n��`]�u�]-Z�h����)S�:f�����������>}z��-���/�g����[�g�����_��X�����k7b���������\�lY������n�m����k��K����������C����]w]s�}�5�W�N�y��6m��m�6�����]�����]��z����O~��7���O����k�I'����8��4��h ������k��M��a���K�,>|x���;,]������9�]�v�������.Q�z��t���k�������_�����O>��e-�htX;/��b�L�f�b^�y������z�UW]����G��c$�c�=��o���6�l�����������(��]�vQ�N�:��?~|��	&�l�2��_�-��2>��M�>}����#��h��*����n����������~�y��'������_!@u&M��~a]�=z�����_>xM�htX;O=�T�^���$���x��c��������}���l�I,K�9��Y�f5��66�|�z�W�'S�N<xp�Z�n�SN9e�����w�yg��/�p��N�<y����h����j�o���|]
@������?������ht���[���7.��%������-*����m�������o�k]��s�)E�p�{r���/}��������E�`�}�w{��Q���~?���)E�p�����f�����x��E@�n���u��K��z����>���r�:n��������h��s��e��[���E)�0�q�.�7����u@��#��e��wB�_	P������S���D�������<��#E���JC����)�Ki"���~����w����|�'�xb��a����g>��=����3�|��*[�h�UW]���}�s��;�����o���e��Uy�wy��;���v�m��_��.�h������9s�|��_�/!�}]����P�v��y��oyQ��w�N�:��7��R���~�f��������>��k��{��{�����n���;�K_Z������|p�-�4(����{�y���?��S�����������k���qO;��C��!�q�}�������u�$����'�*;/���������{�g�~���)/�o����|-k��v�����np������;�lv������m������-��W�8g������%,��w^���/�x]>I��U�'y��">�U��g?[��X��[S���Oy\M��w����p�
E�����[SM?���O<��5�S��k�����;v�O����:*���8G�?�x~�{��w��E�m9���b��6���/��|�A~�7����mr��q�]�vM���7��u���z����k�K��k<xp�]��5�Av���?���;��c\c|g��w���������*;����%I����>8V1�q�N�~��_����F����XE�_���&��_���q�k�����v����'�*;���o��v�8?���rH����������_\�/g
��[����_�A���|���^�k�>.aY�]�,��OX�`�������k��[#�_���#�w���]��U��c~���?���v���J�N�b��)1��l����GiY��{�}��qf�U�g�.��>}����_���+����8g�]v��_����?�	'�g���.����d������}��z����t�5�4�5�]c�}����p�)���g~�;�Y�dI:��G��G�Y��+�~��P�2����;�+��}�k�a�4?A�k�FN;���������d��Bv���W��R�c��w�Ik��~������g�����/~q���5`�nM�{Z�~��/_������{/�-��kW��KX�}��a�����{�o��q�����n�Xa�n
�x�����+����n���W�j�d�n�4�����c��V5�q�.VC��cp�u�����;6�|��7��f�O��3f�����������}����sb��{��w�t����S�q������hj����+_��ZL��b����vU�������_�%�G�Nk�t���N���e�������7o���������r��]������;���[��~��
2��w����O(U>v��'?����?�������6_���c�vk���������c����F���������37��QX�q����*�b��'�[o�5>����d�X������X�����'��;������\�`�����|p�w��v�i��O��I�{j����>���a��w�G���\P��W\qEMo�����*��'���_ki_K��8����z������oG������K�.]���������i����������O��p���F��k�v�m�v�z���F�k}C�S�r�-����g?�)���[|Q��~{zy���k>,������y�������m�?cL���^���k��G���7������
��[���7�|s��o~s��91������N9�������93���:�����o|�/��R��t��7V�}K�v1���+_�J|C:u����{_z�����~=_c7&�����k��8?���������>��3��#.J�z��WkV�����c!V��w?���?MK�
v�.&�#F��7Z��g�N8��'��uL�y���o���v��y��qW�5kV~L��,��~��_q�Q�88�37�xc��w5u��&*�X[�M�$F-{��Qk�����Y6m���d�>}�����������z������}+���m�oH|]q��a���5&����'�6����q���%U>vb�y����i�R~�@�*|�.�*O<��]v�%�r�n��o}���.L�:5����?Z���;�}#bR�u��k���0�]w]|�>O+��P�U��t��a�&M��q����G�sS�/.�������7�yl��?��w���r����k���l�
��[����/~�����T�}xE�O(U>vbF����e��?����(���k��0aB�y����K�8�G?�Q���8��?��1���[�xPD{����_�2?���%����������i�3������j*���������o�;������1�0��?����O��g�}v�+�����+_Z�����O����M��w������,���o�'��-�uq��Q�";i��?�A~����/������������[�{{���a���x��H�w5�7�k���	�j�{i�.���NWt�g������J|���?����A%}l�H��������\,m�-���x�.��;�D��������~����Wo��6w�uW���p���o;��bE��UW]�^`|�!���F�X��	���+�nIz�u,������Op��^�1��sO|����O�1��3c��?qq�c>�����?��m�m�?������M|E�{l<��T�h&�����G%����:+���������J�������G�����/�'��8n���C��O��v��-n||��������|����]���~x������!3n�����d���6Fv�i�|G.���ajV���Xi�$�^�����>w�X=����\�RL�U~���]�c�:���c���i����V)����p��Z�B)]o:�~������7)�r�-+��
�U��#�?��Py���k7}����kV�����N8p`���9�|L���c�9���T����Ky��wF	�>��/����;��/.������n��U�z+=���qL���9���fr�}���]������N���5H<��]�������v�����4���xP��Q��M���^�����U��5���o����;�H��?���� ���+��i1�������~�|L��R��<�����_n�n��d��������)����u���^�������7���`,��a��U������J���[�~<T����f�����'��{Qy������~���]<����1i�3��W����W��R�c�.w�}wz���f7��w�b\�Y�����K{Jq2�V�G$=F��W�Q�/�����gR�������_�~��W��WsQ]?�y�����0�&��_��]�t�������_�C�j�?��-:Sw�=��S���r�OO47�tS<0���5?��b�3#��b�g�}jV����lq�1�������+�,�]�v�?���tr�}���_Qi��,X� 
��������_}���TOXV{�K�v�\rI,���1��}/��-�H���W�a���S�]; )v�.
-������/�����H��,�SO�c��+�:w�\�=����z��_)��~JU~nM/R����j����{�v���#��1��]�1i��g���)m���O��\�3l��{��g�9���1��/�z�����xy����5=/����#}	�=�\:���O�����?�����Wq�����ct)��vcty�����bP��v���0�
$�t�I������9�G�_��W�?���b��uX�9x�w�V�}K�v1����'iQ�x��U���tZyQ�K��#}?�;'�4��92>�i9>��`�a��[k=�w��.]���b�T>�W��U�[K��c��{�8�{��^~�I/S���?_��i���|f�����t�A[�r/:�f�w�������4���_�sL����Z��K������:�/�*[��-�u���������Gt]��\���T���{.=*�{]�|��%-�c���P�(p����^�'�X����qW����_~<c�s^x���|���(ki(�����k�"��O�ba^���of
`��?���#���z��qX���s�<6WT=����kl�7�U�}Kw�x�8�����1,����WT}��	���N�`|-��u�o�<P��n���M�0!��_{��tN|��Y����,��=�}�{H�<)�U-)��w��������w��v���{�Mw��~cX����_�����?+�?���{u�Q�n�L���v�m�?H�N�Zk������c���X#��#�d����Jg��/�(�q�o���/��q����^����A��^cV+�i��e�]�W�U����^z����7����3T���^����a���S�]; )p�.*�~�������_s�5}��5j���)KOa��� �sc��I'�Sv������~����d�������h�t�V����.I?���+���[j� �7.?8������?c^|�Z�3=
���o~���U�_��������;2*W��u\C������8���9iH2dH=_i�*p�n����Z���6mZ��
���������������x,�S�kW��m�?�K�w\~L|�����i���qL|���bK_`���k��<2nI�?x�>>��s���}�����
p�.��4�z3K�bQ�������u�k�e2���j�7����
5q������~�}�g�����fu/�x`,�Ip���XX�B2V��~ ����WZ�XUc������z�cb���9��U����U�(=^��o�|��R<g������7�w�b�V����X�����������}�fU��3=Xv�i�t�+���Z���Z
c�
b�E���~{~XZ���Z�x,�#"Z_�*�U'+V��������P�a?��Ok��g��W��R�c'��^{������^�o�l���r�!������*�~u�����iF������r�	'��U-o��f�������O������+�j�.�������������������v��D���4D�zf\���Zy�J)�����*���w�~����y������l�R��]X��
���?��_���w&�is/���K5������{�Z�ai�2���*5�`Y�@[�]; )p��������C����W^�~�T�\Z��K�d��I5+F:mL��mB.����op��������UJO�1��g�
.���?I�>��V^��3g���JC���x��5��
��wW�(�s\�����;�1��3�4$��@Rc+p�n�����r�)��i����\���{clKw���v��n�����v�|�Vd���u~z���?\��M��}��w����T�>�����e��n������|�;���_���{T^�����vz�}].���8���N��(�-����4������?�aM�s�g�y�f�+���vZ�=��c���Y�f�1����������?~����"V=5��ll5����]�W����fUo��Uy�EJ�l�|�Sz�Yz}u���J���jz�V��R6�w����	�9&}3��'�$��:�Kh��v���<xp�E������tiW�s����N��
����*�����3������p�a�mXFvad'��("(��j$�=.h@�
(�Q"`P"
�� b�T��������~/��t�.�{��y?��}����:U����U�
��x����z��)�
���aO�K�����c���\��g��([�����B{������Lc�� �#�m#��>i����FU��� a��W��`��qpM��m�6��l��j�
�56�Oq�h~9�B[e=cPs1�Q�8H��`�kD����������c%��������=��j\�������"�K�	��vB�F�����q68e5PF0�=��6h��2�q6�~�`�1N��I���K�u�����N�m�1�����H>f��e�q��D=��}�����>�Qr�+� 9f);'	���B�������S����B�5S��^z�U�V����U��i�v.��]mK��������O�\��'Q���'��������p�ib����1{N��
-L_��=������=D1���pV��Q�}>��O>��<>l�.hc]���v���z����]���8��6m�W�^$*������F��h���41�������O<K�*��N`���)rt6�������F��������$����'N��z�z�m��m�q@q�;>.\��g���^{�Cyx���>�������DM�
g/���'�u��P��}6�e���|�W�3����}�f�S�Z��'�
�h�"�'�>�2��Af�+W>��4�)|7�����\ARnXV�\��{wP�S/��gX\��wU�3�	|�n�O���}B�C����Q������!i��U�V�H�,x����{i��
=A�<7�a�{�H0�����l�����Qh�����W0�j���_3�F�9s�����F���� �E��`�g`RPP`O��%'�!_��������4�v7e;��4��W�Fa�ep�����Z�|9�5�p������m��p�����k���y����[���c�X��>b:fh��c�F�j5?2`��`2���2T@�����f���>�%X���M����`�,X� b����'���O�Ix��c�,**�BPd��,YB;<f��H"�����:g�8����S�'uo�ML�SF.�K��wl�-[����weAU;���,$
E`��3�]0���4Wh�'M���#��EH6�\���AX������o�ON���K�q���S����3������w���~F-��CZ&�O�����?$
��F6p��\�|��i���7��;w�m,�xz���1��P��������uk�-^�v�S.�(���Q�F�������T��fmRnX�DFFq�B�+V������yW����@�j��aq�����vB�F����c�_rIC�s���H���l
��<�Gm���b	O���A�-�A�Q��}K���O�#/^\�~���Sy�A�Z��/5A���^�l�T(���l����|z�6F��T��/^�W�\��s�p�gb�8>u�?#�r�f�,3�_�_N9���-�#qVnP������v�������44>'N�GN��a��Q�J)^4�].����O?�d���$'�	����x��M)���4\�s�7G���u
��m�m���X�Y���[��5��c���;���,#����(����\����^���T����Fe+��2�����������b�_��	M������$������j�UC6�q������g�w��S�x29�&$�1������'-�QF�?�{6�#��O��U;���r�
��8�m��)�I�|��v��Q�����X?�s�L��q�n�j���<g�.I��8(������j'�H{\��Q�p���������#�F�70��	R/fCO`�/���{�����Ku������1� 
��p+P2������?b�vL{���%cV�<�G�R�n�v��i0����l�<�x���1�+�	��v.���M8Ch��Y�N1g��H��[~|��wb���{��A�l��(����+�<T@�.^��@�\:Y���������`L�x!nx>�y����9�Zn��66l��9���c����$���H8���K�9�v�po�#F��Yz^p�������>��R�J��i���L�i�k���W��6;v�������r��#$��i����������rD���3f�p�����$^\��zsT����������g�������(�)�W�.��L4]�a��`Sg���
����������Y�&�*%�����\�j�)���<P��xm��O�L�8�Z
�D�aT;vm�3Hj
����#��v
&�k�j���<g�.)�X:�R����p��o�O%�{������'�������0�cH������I�&E��0
�U�Vff&G��������G8IF�����R�tcyS�_|�����G A�
����'J�*�y���d�;oJ��)��9���o����Y�&��5����]N��s�������!Ro^���/���a�V�p�D�F"����yss�9�`������y���P��$��S��h=��s�K<8���i������K�H`?)U�6m�Pb�L�	���I�i|���=��t^,�RoI�v�s�����-�����#G��{���Z�j�j�����OU;J��{��/���p�^�v�w�^��p9P�F��K�����h���t��x�	��<w5n�Kx����7''^�3d��-I���
;(�}�����}���=�t�q����Y�Ny�1�ph���3g����_`~Fq����.\�j���ct�R�!��������p
^�����'Q\��r�J;
O��G4�g�5��s���?(�����p#�-_l:v�H�w
s1���m/I�.�KG��C����Q���.���5?�����|��=1X��71��W��4�Gio�2G��r��5��c���t��%��q��7.��\Dg�'�8qb$�K��,c���������F�=�S}n����;|����?�U(����!�����w�m~�+..���D2��+��L���%���-�����o��	��^oI�v�b��?>��h��^9e�\s/C�����/��5h� r����999fBx��qv�x�iT�P���H�WS�xY�Q8����3���g<&%����Z��j���'.���6x�N~~>;ZfB��v/fg�}�{�:w�l���wt�����>.hc]�-y���
��p�#�i��t����T�]��}���c�)7��������S��o�q����������[�|����������I�/�q���p
\M�4����z
�	���|�>}�-f�� �}�qr�]=��.�K�%��y�m�q@q�;;w�DU#�n,��c���=���S	s�,iU��_�v��FN����f~^����u���f;�)��9NZTN�)�w"�B�c#�`di����'���xm��O9N�8�A��"�H���X�z&r|A����������r���2�m�u�r�o
����j��zb�>���j'� �U�N�<��M���5k���hE��3k����'�I��G���������#�Hw�-���H���su,g0��	�u���'�'G�`���jg~e��FA0u�q�����`�5j�����
z�(i��}�
��p�=ff���(�������E�s0)�DO��?`��������V���k�fj�W�y ����#9��7���N�:E��T�m	�CN0���� ��&�J��r��K�%��y�����0�D���#{��
Im�"�|;`����r���!��KN���kWTTd���t�
�)��\��N,#�����[�����aaL}�K&�z��>jM��a�1��e4N����1�F��
�����n�����B�:&��	+
-]�����h!p��'+�D���cc�[���������7����p�J�����w��cG�X$<�7%�Q���:�lx�'����,\�����g���lN��SF��J�*p'1�` ;v,M1������V �~LNBl19���89AJ�%�R0"�3����W��������w,X�����F��F1
u�2�����v���SP���h0�,���|x�0�h?��{/+�������p����b.��I)T;��tCS�u�����b\HO5^�v�S������6���I�n���!��W����S�H��������
9�,����:��p{�~�z�J�����b��m/y�.�K����������7W0AuyB�����v^���i����U�s��k��~h���5k�%�9�;�|p�|����M�>}���������0��\�[�s	��
�x;vt)N2�X�d	��������k�19��eo�����8qb�����0Q�@���
�{�
<���a��'���Dj������`�@���|�W4�����!���,���5m��S\d��ms6�		�OL<�pn������c����
-��Q�o��Xo��v`��-���������tQ��9��)xA��9���P1o�9OAA{���?��OB� ��������v^tu.&��~��QWhN���x����E�@��QB{����	��
�`.
��v��pxcnk:~�8\Hx#�o���
!���M�6!�(�2Z>]��3g�������x66��R��ym����Caf� �����n�
�������vm&5	������q#�l�
��i����wO�w��1��C0��s��b�
����I>����WBp����
��M������W�������c���ml,	��6k��?�*��t�vh'�-Bm����1`���f�������0�D��}��}M�}�b7n\$�#���v^�����eDF@��Mc�m{�}�}��w��a�r�-��0N��P2�E�����1�!
:���ys���g���a�x�������������S�N�M�����%a�K^��R:�$.��(�1I��w!D�H�j�*��%�>���5�T�R���(g�����_I;NM�
G�U�T�	
�;[�h��l\o��B�����v0��_������o�_�V�RE)&-\�����]�n������)D�E!RN�U�0�EJ{��H9V�+�v(��&���v�e�eH��	���]qq1;���;S�9�7<U���cGFF�����;]���k���������`�u���gfdX�"�TL�n��
��U���L�X������];�jwP1U��_~9
S�;�6y���T@�~����#�i�)D��
O�T�:��e�H4�Yg�F��W^A��G��%%%�D������2B�E!R��//�D��lW���e��G��Cu���1Q�'��tqn�[)Q�.|�:����C�v7%[
R��y�N�� .�������<��J�*6lHy6�����s��]�	N9)kU�e������q��������OyN�\������n����r�q������������;bFF���;w���V�V�w�����������?��!�(&/;�����u�f�}��4/���=2F ���Ox�(g��<}������~���������v(��f�xO����[�|=��p��o����t��}��Me�
�v7�=������Hv?yr���������y�x���!C|GY�
9�7�����\z�n���^��;��w'-D����['O����>��=;{��:�r�-0�����
K��"!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�H?�r���/��.������t�C�+b����'�n��r!�B!�ic���IJv���K������K���������.�B!�B�6R��m9q:�E)�l�RPPP�f���+��?Wn���H$�����	���?��_����f��N~~~VV�/������q���H�������������T�Z��;��0a���1:�������W�J�:u��������w02����u������Q�7������z���`J|�O�>�Uff&o���&S��"y����[��������C�CK0	dX\�!����/������I����l������~��hZ�y�����>�����:uj���HV�Z5����n6l�7�|�dY�B!���jw]4i�Wnn��>����{R������w�^nO<q�����/_��R��=����I��m�u�V�fM������v������U�S�j&??��z���dEEEm���u��]�v�������<�@I�5�]�~�i��A�p���������/uY��v����H�+7�aI�j�hX.\����?�����U�j���[g's4,{��A�����;���]�v��W�G$�h(�B!�H9R��12��������_�r��\'���;�h��Y������iQ��,Y����W������3g�������g��/n��.��O�x�"/�Y�4.�������
��c������{�5k��/���IFY�R�J�-����/����,����KW��B��;A�{�V�b���$�F1,��v���!+++##c����;0}�t���Ys4,w�uu���������k�>{�l�K$�B!���T;w~��'�!!i���>w�\���7>� �h��m�����>-�]�V��u����S�Negg���������c�-|���L���C����G�fff������N�����5jd�c�����?���:��'O.]q��v�������$��9�����:�#<x����~`+5�9s�L����'�/u��B!��H�jOa��Q��v[�*U7n��o�
6��������k��y��U�W���e���z����v�:u��q��V�X��[���k#q���_y�z�g���Q���]�6��~���OS�L������G��o����Cn��	Z�hQ�Z5��M�6��Ms���8p�!�}��S-�<�<����M���x������������������?���w�q��f����sO���{��.]����U�V��=����K�.����Iv���*�N�wk��������G���>�V�
����W_�}���'O���\(���A��9�o����Gi��*����?i����"��;
mlg9���yF������Q�o����G���B���^1E��v�6�$|��&��\��p�B|���~|V��
��M�6���&N��k�._�x^|Y�v����^�zx�0#G�������8p`�F�������6f��m��;w�D���������������t��}���LS��q����~���#�\�e:�oI��\�h��C�`^X����~�,�"03g���CqPXd��"�>�KY��e��x(L��;
�����lM���-[��W/���s�����7unX��U;�w�������#`r�69��a�n�/��������{���a�Q]�n���~L�:D�U�V%��B!��zI�j�u����ks�Q��������a��e0iF�1|�p���O��$k��1.N�0!;;{��1pE���Xa�?�8��{��a�����
���g��xY�>}:n��=e�����j�k�.�>t�
��p�~����U�o!������������>q���t����8p����Y-5j����w�}z��{���S�Np����������Y���Tr��333���
m��9s�K5������w�Iq����JX�}1_��[o��4��w_����g���9s�T�bNN����e�%�v�����)��������������5����k�n��G��G~��<�bF��^R�����������+gb�=�pU�}��wUsC���9���_����S��'K	�U��|�M�&t�
v
T����M����3�<�6*��[n�G�4r��A`�������4i���s����e��1Y�
��j��{�eeeQ������j���]�(W�$
����������w�x�w\�p���8�/�"//���P�����{�;v,�YXX����
��z������'�|�}F����{Y�F�1,	�U��={"���4�������hXs��|���@�1I�r��A�>�V!�B����]�t��Vs��>��t��!�i��)��7��s())����;�/��~�Vv��m��U�T	����[/*F���}������z�n��3s#[�j�<S�5j�����?����4a-�l�)Q��?���N�]-p����d�Q-����������~��?N���7�0i����EDv����?��O�:�+W�\�6m�|�-'ND��K��������?�\v�PV��C������~;���d.m������[M2�J���%e9���?���;���K����>�����7�m���{,kK���?��
t�eMU���wW�R�r���}�����x�&^�������Q�O�8��j��`�g���E����c�O�aI���+l6�6�={�������	k)I��&�:�������W�\�+�V�b��l.\4h
�=��c�[��u�3EEEyyy��������c(a��*
����_�v�v���n��;��	{��lX�&���LfV��&cX6n���}{{(B!�B��4�v}�=2���~����Y�|9��b�
�
�BxQ�����3H����)��w_�����Ro�����W�^�k�����'�|������E�>r�Hf_�� �m�E)��/�x��w����*RL0W��_J�={��Gn�j����)p��"�<y�k��l��KI���>/N��m��H���K���H)��G���?��c����d���+���vi{��}���4���W���/���1"��O?��������/�)�'��]�e���K������%%%��c��,H�j��?�%EO�/���u��s���q�"���'48999�nT;[���o�� M,������3�<������V\����?�K��P����������B[��G"��,�4EEE\�hT��1,�CXl_���#�v]�?�����n��E�pp^,�����M�A����=����p4,�w�f��������R��'����C��f/�B!�H!iT������I��SO!���C���F�@����R���{�vo����D�z��f[\<J����f/��o�[�	�a�C�\�Z|�?n�OQ-�j�����6l��w����]F��KF��b��ZeC��'�)������S�N!i�C�����_�+'��=����Y	��Ht���k<�:�����
�����zf�6��������^ty�s�4�s����]�6\�o�fqqq���Y��>Y�zI�j��C�H4�ZHV����w���g��upI�Q���y��[z�6,	U;�1�u�����'O�?4I�B����	lH$�����������1�]�>4���k��zvvv�+x����g%`�\��
�K��M��[�t�m���hXV�\��a�y�jj��0,f�"2<}�t��jB!�B�T�F�����}���ib�r��d������oD������������[�R�v�?�?`�M��x�����.]����U+:�6��O��Jl_7����3f��%��m�]dJu��	�"d�>}B��}	��Q����2�w�z��	w�!
}����|+�\��=����I���jL�%1\�����`.�����G�v������{X�Q����Ay?����ib�z�=��|��g�vA���F���������=�{"�a
�I������J��n���E��,0��Q�������h����}=z��d�K�f�2_���h���hX\�������\�|���+V���g�vBuZ!�BQ
���q�XP)rL�����	�`������E5W�i��I���G|\�n?�����k1��J��1�!L�<�����{�9���u���";;5����/���y�jP��.�y�s7g�_2�Wh��5�8�C!}4(����]�3
y*"7��q��hl�i��-Y���(������=������T�x������{���dI(��sg0%��Q��"v�>���c#������(�Uv$��e��f��"0���.��{?{�1s%��%�j���@A�����>��r��+���f��v�cXX����������k{���%�v�
����������p����9��$
����#Q!4����c,/�(�a��p�W��8B!�B��4�v��D��i�1M�8��N�Y�������p�1�rss�\�r������&M��S�����`/�j�L�{=���'6����\3�8r��������H�T;�8s�L_2��9X������D1�r���]�.]��:(�X�^�6mz��5m��v�U;������{wp�#qV�P�0����m�._�L�����\����)B��{�mp���I�\M-iT�3-�::�4lc�W��,�.�0��ShX�vvG����j�S'�������|�����;v�r��� �v|��t�U;���h��4,�N���|'��V���Q#~�^����1�B!�����v��op���9s��y�{����X�����x,X�����1,.s�OZ�/I�(��"&�P������9���;wn$��FF*�j7|����p��d����F$���	��a�cUP��C����b���|�
>2V[Py�����K�sT��q��A��\�rps%5�W^y�G�� _�u$�Z�Gf���;1_��K��/��Bv��]�^=���3i�k�����W��:v��\��r�kH\;��4/�K�aI����1��t$I�����B��z	
�Q������k����#7��7��
W�\���M���ai��Y����3�
���O�q���4c�$+((��B!�����:u��T�1�=���j�*���b�R���jWXX�{J�.]"����2�x�	:�<�/!�P���Y��5j���'��w�%|hL��KS��K._���sg:t������/����%�	����O�����'�~�z��!�]�L�	�s����~k_gefggs�]f���#G��p�{���\dJ;��K�KR�����[��;++U��~^a#����-�����#G�c0r�������+�p�-"qv��iT�(����������ik����	&��}���}���4j�����j7o�<;�/��s/d�KB�n��I1���%K��$|h���Q������~�N��S�n]�A�cXX�����x��}��ioe;���/�4���k$
�K�KR���
��,'�M�����W
�'�X<����|j!�B!*iT�.]����}.B��rJfz�w�?�7��W�gJg�>'��]��U�]c<G��3>|��}_O)T;�H�[��������&3�L�0�XL��{��@�7G5��ki$u���G����/7i������L��:z����y�f��H���l�c�<s�U;x�x5f=	*�q�Lx��S��c����G�����+�><��G�\�����%��q/[NN��!��v��-r���h�\8�|�g-]�o�`7]�eC�C����m�4h���J��70�BU���w3�����n�:�������g�
���,py�9'�]/�q����IIq�I�&\i�!%�%�j�o�>�\����/r
����$
��j���o���M&��S��r1,�C�){�,*���i-���A7nl��O
�o
����j�hX`%�H��������OP�3v�s3,vQ�H4���<xJ{$VPY!�B!D��Q�[�n�v����x��E��c�>0XP�V�F�
��G���=5�v��233{��	�
7�����Gs3X�x�cnK��y�(�
6�E8�G����k9�Cc:�p�x0(�<r��a���������;F�.���?�]��8n�8
��w��1c:w���K��"�9s�������o��	=�>�`��zWU;x�]�v���G��t�����&;r��f�i�����B�����o�>*���t�R��
"��������U;@�e�����v����~�����Q��W�R����v�s���UOx�&���7i�GW�^=���!��q��4�v��7�d��m��6i��F���.\�v�V��3p�@6'X#h��W�R��g�A�0`����zhN<g�GJKB���.�������m��� o<a�E������aqT�P�T�����2b�4K�_\;�\��
FXc.�����o���������n����gs'i��UG��#zc��m/y��s6,��-��H+��5F��M��/*�r,F�C3CVY{�D1B�B!��&���]4'���n��P�V��={O�������y��^��i�|gP���a�g�}�v��p��r��1C��X��b0:P<J��yQ��m~~>|+��y��(�HH���9��N�:����<8q���z�j|D�����]��x���9s��l�����q��m���������p��U��p�����>����R0>��|%�vh	g���0a�|�Y:t��������F��b�#����=s�L��������a���u!Y�������^JT;/����h�?�|��x��=�3��_�~��^��g��WwC��G��	��H(h�.�N���v��/�D@Mfff6h��%�n����_��a1��.\ho�d����7�x�]�vhl���w�}7w;I�aqQ���1
h���h3999����>}��S�\��aqT����'a�7n�"�H��h����)���aa�����cR�~}�w
��i��maO�a��=z�\���CkA@����gX��^JT;���l������^�z����G�u����B�A2�^��
1R���!�B!�H���v����/Q\&�Lsu��q��Hi������<*RK�U��S�G���^x!��1=� ��)�B!��f*�jW\\��;w�,����BV�Z5o�<;��Q�=z�(��H��	������#G���_��Fu�~��E���MR��B!�7P��g=x�`$2dH9d�������=n��;w��E�a�e�T���
�������o���������=�e�T;!�B!�
�S[w$/�u[��/��pQ��-[��_���G��??~�����g����[��e�A������{�����v7��>y�7Io)U;��z�)T����`X�I3f�(��H�B!�B�p����$���_nY{4�^��j7o�<��2d��#G�-o7
�6m<xp^^^�*Uj����s�W_}��g��jwp�����/$#����IzK��������{��;7l�033�N�:�{�^�jU�gC��B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!��A��>�
endstream
endobj
8 0 obj
<</Type /XObject
/Subtype /Image
/Width 1682
/Height 922
/ColorSpace [/ICCBased 7 0 R]
/BitsPerComponent 8
/Filter /FlateDecode
/Length 51311>> stream
x���	�T�a?��c�u��brb�&����M��4��I~���Yj�im�;��&mN��.�JT���Fq!�n�� *�;�� /��~��y2��a�}�;3�|>�=98s��e�|�s��3��������������
��w�K��?��?�/�3\v�e����Ke�����>�������u+_cc��Y�.���~����0`�w���j���{�������;�_�T;?)���o�y�����X=�Px��7=����Y�h��q�>e}��
y��P��vk����yzccc�sU[k�s��1c���cy�/^�,}����/=��cO���K'H����7Z���p��ds��W�\���=���q�0x��#FL�81�5�:uj�>�`�K�i��S�[�U�V������_r�%C��=��������i��e���s�#���7���-Z�,������n����9��Y�����Z�o�?~|�>�>�l;_�=�
���k��V��h-��Rz�w��n��)aC.���J�H�[�|yr�<����gz����	���������l[�nMN�_��[C�M��o�Q�\��u��n��W_���j�w�}7��
;��nw~Wj��_nT���-��������;+�:m�Ft�_|Qk��w�y'��lii)�i�:������R��v[;_�=��������__��(�nw~�i�v���ReN���:9$F�Q�ui�7 >���.s��Mv��7��G3vHk��ot��}�����;��R�q�
7$�����nw~�i�V�X�l�2������dO^v�e�^�6x�rp�u�i�������?�f������jh����������+�e����2���9s�9��[;o4@�y��'zw�}�%���3��;��^z�����_~y���]t�o��~��]~����x�x��+WN�6��K/
���7���q�k��is=K�Cv����S3f�H��u�#�<r�UW
:�O�>��{��7n,�7��_?s��Q�F
<8��w��	.L---�f����}�����������b��.�[��{���l��^vuX���aWg�t/���&�G�KM�<y��!��w^x������7h����<��-��2r���F�5?������;6,t��U{�S���Z������^��b����+�]q��&K/4
�{O��I)s��F�]x��G��[���L�������;7|�v����-�����f^p�a��7.|$����0{8r���m�"4�jd����.���@��:�����2w�yg��(����o���w�}7�k���<�@�]�
�+|.&M����..H��Ok�Ux�dW�3����~����h=�4���l���6�y����!���1l���	��:|���`ae�l���=�d��0{X�0oxs�����M7��`�������7�b�������O=��3������g�k��M�
��mNN6_x���z�h�����������K����6_<��.Y����x�������'��L<��=�L.�|����������v�9{��bZ8�^�hQ<o�otccc�`�W�d?�k�l���.l�E]Tb���[o��}������;��'O.s���%��w�y��mks����?]�>}�����{4(����j��g���6c.���������A[b��)� ����+�\��7��]�X���S�#<s��b��iSz7�bB�;J��?�o�B���1#�g����]��hhjj�����i��C������,Z;��X�b�.i]p�%�L�_�?�|2Y��.���O����O����]~���mF�eKi%No�4#F���	f/*���g�S�Ly��W�
	g�_|qx��t����9mcO=�T<����xX��a����y��t�'�xb�v���3�W�wO�M[�~�������[6d����a{�M{ �?�|��fr�����v[����u�]�\��~����/��#�$/�����5BX�Q�F�7k��1G��q�����i7�p��2g	@������;6^��"���w��7'���I)s��F��C=�~�0��������
�455e�*��x��6���
7���6���v���lT���QJ��XOXz���u�E��e���a�/��r�>aw]�K�3������$��U�<��������fk7o��d�����tO�~����;w�L�E��~����vT�8�y������E]����G]��~:��`���������]zv����Lx����g�������������?����Y�����]����h��#�S��3,(�����#l��5��0����0qz;�0{Xz�u�%K�$'��'ON_����*g�f]q��+<���{:o��%mg�����N:A�m�t%�j|��uwotkT�<�����
�y���.X�����+�*K��]����������o����[��mA�o��6��7o.����'s��j�566&���Q������Ra��=��?)����Gi��)a�����%�O�lKK�K/�w��CT�
��mK{��
a�'|��W�2'{$���K�����������RC�	�|8��%���3�V��!���������!���k�K�����	&M��i����U�V��q�����X����6[��n�����J_|��q_�1c��d?h/��B���7��~��������>8�����V��v�����.��uk�/��b:{��������Y�+�@��g����vI����O�����G�����3f����]��4x�����k��m��%~X����KL�2���n���=�n���9rdX��J�%Z�p�_�(H�������1c�nvqi���?������|����_N��3gNr��9�����nc��tTk���`���/��[o-x6>H��l��1=�
TP�V[k���7�x�`�81�5i�HK{��o.���t.���6/\KI���Bl�����%}�&L���&466&%�]z�W}C�$Oe������.e����SZ;�tHk<��s���}��sO���^|u�<UNk�{��.�60���WL/=:th�����&���.��d��9{1{\�8��o��_�>�"�����(����U�����_
X��������TeJ�2��;�>��3��ac��#�w�}������5�\�L�^��J�n��������.���^ziv����,9h�����.����C&������U���jk���F�9M|�f��7����Y�rex�0�������[lM���g?t�����v������%.7�k��n3�2�������5+�.,�Ok��i�
T���/��s�=���Lp�y�<Ufk�l��b��#��y�_v�w�=lW�U{����Of����[��}Z����|Au�G�Q���Dk_�f��!����;�����qZ�|y����YI��6x���&�^���Q�]�~�J�%v����d�v|Qk��o��)���[n���������ns�41�G}��i�.]�N�b���X��s���P����v�Ok;Z�����w�
���0{2eA��_4.h�����A��v&L(����m��}�]^9]J��M��v}���^7���7�.>�/}G�����k��F�	Biqk��A���w��NY����G���m��.0���i�#�����w�M���z(~|���w��o��=����O��]|���j���_b��C1�?H*��/x��7K�����:��Z�2#��D�ow���'�,�W��?��h��������Xza���������{�-v�q1Z;�t��(��~9'w��(=L9�����Kl`��� �YF|!�k��V�-Z�N��]zQ_�_�,G�����i�+�����G%:�D��Q���u�d8,X�G��(-�A�����J/�+8���.�QE�S�W_}u<Yz1����w5�����p���<�O���L����q-Vm���#�M'F�C����N�)qMfsss�L-^�x����g�~(r��7��P�����imGk�S�kA��7/�x�����!��r����2o����A��v��O/������Q��M�����7���5?�������X�|y:�^�v�)vA�S���+��,X� ������*�Zw�����s��	�3.��������^(qaR9�_�z���b���������{o�xz]V�K����Y���
���j�J�R_��.��n�~�v��_Z����Z��K��n[�
6��#�[Di%Z�����v�v���{��.'�P���D�\�E��;w��5%�Kk��i�J�\[�]�[<;kN[����@���;��S�Ek7i��d���d�/n�J_	o�����/��� U��k�u��p�?d��6�����O�:�tSZ�\���������_q���1c���u�YZd�_-�-=�
�Q��.Y��m��%+�r��
��u��-Y��_�~m�m*���]������o~�G�������]w]������C���=e�@���������\�zu:���v��7��g�9{��U-=e��?��Q�Qk�]���y�����v��a���@X��y�J/(k�����W����R��yK����L������)��r��v������]����i��Q�{����z�����Y^*n�������n����k�=�����
6��3'L��T8������ u����������/�
�}Q���'���a?�u��v�/�����??�k{��w}��k��6��eb��Ee�B"������n�f����
7��<��/$������ys�`z���^xa�kV��K?{�
���V?�]Z�>�`��Tmk�|e��^�i��K�.
+��@'1r���/�k�rP�������<��_aO[�����h/��]����xO|���]*Q3f�Hk�!C��Q��^&7w��=]t*��szeZ���,YO��n5lor�������_e[��o�9]z�SumJ��E�l��'4��[������u�Z�5I��w��vq9_p��$,:]P���Z;��mk�x������{��+�UI�=o�����9��[��_~����O����X_��v��+~��<]��t����[C�M^'�����{����>�l����d�]��C.</X��.�=�n���~a��#���O�/R��N����6[�7�x��;���[U�]�is��)��v��ys������� u���g�3f�(6{KKK�e�=j��/�������X n�f��Yb���G'�������j���]�n��O?]�\��_��w�M��}����A�\�w���L�~Gr���������n�Z0ee[�t����MO�=����O���e��{��s����bk���/����c,���������b����kJ,���[6��Z;��}B�K�]��g����9����-�������^J�����[��/���WJ7l��~�t��I��~�[;��kjj�1cFx_
�\�V����-����������zk���p��to,Y�����W8���(3fL��l������v��H�1bD�/�?�X������O��+����^�NV������JlH	����?S���[Dz�e"{<W���L��<>��V�*���	o�����/�/[�l���!��RJ�����o���`���|ek��.������������[�n�����`����.m��)v�s�x�������,���S��n��k��Jg���%n���~�_���W.X���Y�I�4����'�.�Gb��!��A�=����d��v��������Z���LW`��Ym��z�����'��w��&���M5u�=���b��?i����p����W:����uk�x��>^?�U���Q��.��{������%K��M~|X�kU�[�������v�m�S�����#G&'_}��y��7�w�����k�v��o����~����X�ti�`����Qkw���'s���R��R8A1bD8
�9sf���:%��g+��otk�v�
F��|���5��u��Y��"t��	e���{��3?��w��$�3����F�D���C|�?)��K�v;w����K�u�����#$��>�l���=��V�;6}���'o��9}j�����%�4��d?���%|��u+������f��1>DW�^���a_������zV��k������b�����	�@��>|x������/��c���z������>	G��1c��|��hv+=sL:4�����������M�7?l��	���E]�.7�)��[�p���{!}�
�|����:�������o�q��q���%��m������A�]8��������?��a%��&�c����/s'��c�"���v��b��N/�K0��^��'��v~��.X�jU��%G���c�2~�����wUv�����[2e� ��/��Ex����eNvm�����
G���KlW,����W^��������^\v��+���^$\q�'N����Tk�����R9=���%Z������^���^��������i���=:�q�S��w_������
6������i��]��knnN!*���n
�����O)��{����YJ�h^�����������g�M��X`���/��R�/R��n���Q455M�>=.
����+���_���������������Op��7�9Y�OJG����]��+���Wb��C��7"���g�w��aao�i�E�#�`����/�JUUk��??.�b^xaz�Z���D�����v�������[P����+��
��7����lS8n��js��|�(����o���pv��O�A��=:�����v����O�2���/���o������z���E5k��I_����kSZN�>��Yv�R�MN7o�<{��+��b���a�����g����w<S%��������
~��k��6������w�y����!C�����[��oJ����S��M�}��6'kiiI�%<��cmNV����A;��]b��ea��#G<8,.,t����r��E����J��X�r��i�.������
6l���O<�D������.Y���'��+�������K.	���m�n�����k�uib���g��V5�a������1��<�@rY��a������%6n����k�	��lKx������d�
;���o60�I��&���I���^��k�
�����/�\����������@W�f������5k��i;w�,6Y���\pA��u��Cz��?��4/��B:M���:�{���h`�����������s���g�����
*��P'�}����;/-����3b���c��5*��h���=F��t��!C��.��/t�X�Ycc��O>9q���/��_�~��w��F�q��7/X������+�G������{�����K�f'���OCGuT�����;���;��=zy��g�yf������]��+�����-\�-��g������2N:��x�k��v�}�	�����7�q��G�����������g^�2�M�v�t��}������_����?�qx����/�j��/�w�}��g��'&�477_x��a��}�c���~'�]�~��^�z��7/��Dk���~7<u�w�~�_���a����������q��u����\s�5���O�]����������Y�J�Z�^��ds��)x|��q���}�{�4/tU%Z�?��?O-X����k��M~o���O-\�0<~���v�����h�?������������������g�q��Wn��9���'��r�!����Y��r�����]X���g�����>���v�a�=�X2�<9�����766&�����m.�=�@V��K{�/~����{������[7s������t�A���N�l����??��������u�.[���g�3/ta�Z�����vill���q��?��0K���[��^����js���7k@�)�6����l1�|��_�~��'�o�f'[�zu�����{m�N{����� oe�9���h�����0�_��_�o����m#{����GQ�u�3/ta%Z���{o�����f��7�����G���,�l�����SO=����3/tU�Z�	&��?��O455��766~���
O
80y�w���?�8��x����c�9&<~��7�Xz{����Xk�v��8 <����t��
��[�l������W�\�<���o���3<8n������]���~�����?���;w��9m��s�=��+�H)^��^y��/D�u�������>}$L�Ly�]w���#<��}(<���|e������x���kN�:�{����^�z���rH�����3���������p�	{1/ta�=�\CIa�t�+V��W�:��c8��~�����g�=�����g_����:���=��=z�������~��7�i��+s^���mi�;e�)�{�[�:�/�l�)��ni��V@�X���Gc�vF_��Elz���
5b�]�;��K�.�����
���Q�~�]�T�m���Oe��Uz[�6h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h�r�v���|d�	w��'����e�����l[_���h���f���s�����.����cK���������c�:��K�=~E���������;�5��.,���
@{i���Oe��Uz[h/�]>�v�Ok������CkP������������wO8�����n�����k*��@����CkP����Y���wF_��E�l�X�mj��.Z;���i��������#Wz[�Z������:�9�;��vaA��V��h�����N�Tv�_���%Z�|h�����NZ�|h�����NZ�|h�����NZ�|h�����NZ�|h�����NZ�|h�����NZ�|h�����NZ�|h�����NZ�|h�����NZ�|h�����NZ�|h�����NZ�|h�����NZ�|h�����NZ�|h�����NZ�|h�����NZ�|h�����NZ�|h�����NZ�|h�����Nl�������������H������y�����,�@u����R�]��5k��������M+�ocZ;�����S�Z�M����G����i�����N�j�����|"1,�R�6���NZ;�:U����T��T�z;?j��.Z;��To��@����CkP�����Z�|h��S�����[�����s�a;���skZ���+����NZ;�:�]k�c���GuJ_��=��q]�X�@u�����Z�������n�_�����V�����u�?����������e�������B�Z���S��v;9"��.,(^n�Z�M+[|�S���/,b�][P+�v@u���.��n�_����v7���+��o�?w�1
���v@u��u����a9�vaA5HkT'�]o�����?������Nk������NZ;����gZ;�:i��vZ;��i�������i��z�����Nk������NZ;����gZ;�:i��vZ;��i�������i��z�����Nk������NZ;����gZ;�:i��vZ;��i�������i��z�����Nk������NZ;����gZ;�:i��vZ;��i�������i��z�����Nk������NZ;����gZ;�:i��vZ;��i�������i��z�����Nk������NZ;����gZ;�:i��vZ;��i�������i��z�����Nk������NZ;����gZ;�:i��vZ;��i�������i��z�����Nk������NZ;����gZ;�:i��vZ;��i�������i��z�����Nk������NZ;����gZ;�:i��vZ;��i�������i��z�����Nk������NZ;����gZ;�:i��vZ;��i�������i��z�����Nk������NZ;����gZ;�:i��vZ;��i�������i��z�����Nk������6��#�O��_:c�^���h�����J�]�v@u��i��v@W�f���s�����WX��[*�������Ik����]U��F�3����V`�i�������i�����;�5�XXP���{Z;�:i��vZ;�����)u����O�	Z;������v@9������P+�vZ;��Ui��r�[k�7?�Vh��vZ;���������o~B���i��v@W���Qo��l�Z����i�����)P��l������i�����)��u[Z�N�v��:��4�l�)��ni)X��N6Bu��i��v@W��j��--?����L�"6��G����F�NZ;�������Bmv��|NN/��=^��.�l���u�?����N9'
/;���M++�S�Sh��vZ;����Am9}T�_h�����������V��x����El]W�]Lk����]��jK���VJ������tr:��+�g���[*j��v@���Am����J�X6�=,���� ��-�vZ;�~h������i�8?�ZQo�����@���Am����Jq~
���RQk'������Ro�����jE����N*�Ck����O+��)��zKE��T���jK���V��S����Z;�����z;?���P+�-�vR�Z;�-�v~Z)�O�V�[*j��"P?�vP[����R��B���T��IE�~h������i�8?�ZQo�����@�hjj2dH����.]Zl��'~��_?��?��~�3�����������7���N;���z��q��G�y��%^���Ck����O+��)��zKE��T���+����6��b-������g�u�v���~�k_;���~���|��w������}��'y�����G���g��~x�k��y�v��Am����Jq~
���RQk'�z0m��8�{�����o����v�&M
Oz��.L��e�I'�<������/_�������>'NLinn����d������k��y����Am����Jq~
���RQk'�z����W�^����.��s�1��I�&�n��a����g��/���?�y���|x|��q%��=������Ro�����UM�O�9��N9-�sX����XY�L��P+�-�vR��\s�����k�V�X��?�}����~�����F���g�^����3�`�q���������X������jK�����X�s�Q�~r:����u�b��B���T��IE��k��M�������e�������G��k��M~o����-\�0��m�E�g^�Ch������i��g�sr����x��O�V�[*j��"Po��v#F�����?��r�m������/�?�����rHv�5k�$������\t{�:��jK���>rDN���/��)���KE��T�L���o������������>��O��>�����566&���o�����3/�!�vP[��:?u~
1�(�"��k�~�������_dg�3gNx��#���>}z���>��6_�[�n��e����l{�:��j��S���O!&��T�����.�F�����z��6��y�{.�1X����<�O���y~/7���x����<�O;�(�<IE�(!(�6�k�.�����?��?fg�2eJx����������O�|����V�^�4o���^��v��U�O	�$�����O��BL*JE��v]Z����;�Lo9Q���.
O�q���6l(v���{,<~�Gd_!��y������
]A����r�<?�����i���ec����v�B���T��@�V��{�����=z���uk�S'�tRxj����}���?|����F�?��SK,�=������������S�IE�(���Xkw�q��k��&~�����w�}?�������#�{�N/�K577s�1���o�����3/�~Z;�-�O��:?��T��R��J�v��d<�����'��Y��k_�Zx����J'{���{��7n\KKK��{I��W�
�|�����sg:��i��=��+��b/�:��j��S���O!&��T��W^y��n��544|���O	�'Zp�1�|��_N�������iS��S�N���{x�W�^��!���}�<�L<������	'���B��cU���w�9�S�^skZ���+�����������S�IE�(�.����k()LO?e�������G{�����}n��!��m���SO=u�i�z��=z������g����oL�fkW�����X�s�Q�>�{Tk��x�Z;�-�O��:?��T��R�lM�����i�Y�r+��mZ�:�Z{p������?�uS���P���:?u~
1�(�"��v>rDNc�G���[�1����>�������tm!�:���O��BL*JE��nKK�)�N�]��������m���Jo�����`7�4�����}������g��S�CRQ*JE���--?���G_a������Rwc����4�.��i�F������T����awm�gv����n^�vc��Zs��;c�^vc��4�]S�Pc0c0(��S�(!&��T���>��/�K�����6�]�������WXD����r������Oe�l��T��R�W�1�����m18^�1�1����l����RQ*@�*5[s�w�����53�r8?���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T�����A�l���bRQ*JE��1�1�1d�F�(!&��T���M�����w�}7}������7�y��G�~��/��b�
j�1�1�1d�F�(!&��T��a��c�=���a����#S�Nm�r�!�V���JBM033�,�(e#���T��@�.�������O>9��ZZZ>��O�G���3��s�9'������+��P������ K6�F�1�(�"P�c�=���ollL����khh������gss�QGu�1�Tn�f���A�l���bRQ*JE�|x��~���?���0z����SO=���p%V
j�1�1�1d�F�(!&��T���{���:+���~��


�?�|���~��|��X5�1�`�`�`�%e�l��T��R(���z�	'$�^�vm����8��x�o}�[tP%V
j�1�1�1d�F�(!&��T����}�{���f���c��g���������o��V�=�����r+5����d�l����RQ*������K�n���~�CZ�|y�����?����������$�c0c0c0����Q6BL*JE���+�����jhh��?�����/}����
��'?inn���A�033�,�(e#���T����jii��ys����-�9sfx�"�5����d�l����RQ*@������� K6�F�1�(�"��v��Y�U�`ffY�Q6�F�IE�(��>�'��g����J�2�c0c0c0����Q6BL*JE������u�{�`�`�`�%e�l��T��R(��?6h��8������3�,Y��+�,^�x���?���>����;�7d��`�`�`�%e�l��T��R(�w�����>��������������
j�1�1�1d�F�(!&��T����|����~�	���/~�k_�m}�v���A�l���bRQ*JE�|��G~��_����?��G?����j�1�1�1d�F�(!&��T���g�O<������}(����effY�Q6�F�IE�(������M�n������S---�F�jhh�����zA�133�,�(e#���T��@�&O����g>����8p��a�p�Yg}�S�J�����*��P������ K6�F�1�(�"�G���������-�����^X���`ffY�Q6�F�IE�(�=�n�������s�=��SN<���O>����7n��U�*�jP3������ K6�F�1�(�"�����d�l����RQ*@������� K6�F�1�(�"�G^x�����7�����;��/Q�u�`ffY�Q6�F�IE�(��=��#=z�h�V�J�&�c0c0c0����Q6BL*JE���[��VCC�w���1c��z���Q���`ffY�Q6�F�IE�(��}�#9���+�����A�l���bRQ*JE�|�����1c*�����A�l���bRQ*JE�|����/���J�t�`�`�`�%e�l��T��R(�����/577WzE�����A�l���bRQ*JE�|��o?��N9��e��Uz]�����A�l���bRQ*JE�|g�u��������v�����������Tz5����A�l���bRQ*JE�|
���jB
033�,�(e#���T��@�n�����'��;�^M��`�`�`�%e�l��T��R�gffY�Q6�F�IE�(�������]�v����^�=�`�`�`�%e�l��T��R�S��s�I'�t�A�?dw�����?����?^�U��affY�Q6v�l���u������oj�����4w��m��H:�T��],��v�9��	�>��s���Vz�6���A�l��])7ok��N�������wTzS�4RQ*v�T:���S����������{�{��W^y%���w���������_xv��9�^M��`�`�`�%ecW����7vve��M{����Jg��R�+�"��N<��=z,Z���g�����|���N�y�����A�l��])���Ge���*��t�(�R*����>���JL�����~xn������d�l�J��Oe��Uz[�,RQ*v�T:[�����_����s��w�}s[�]�`�`�`�%ecW�F��'�bWJE��x����rJ�	N;��?��?�m}�v���A�l��])�v��T��])����o~�g��/��r�����K��N8!���ZdffY�Q6v�l���~RQ*v�T:��I�;��Q�F����;w�666����#G�<��C����zk�Wj�1�1�1d�F����QkG�IE���R�l---g�qFCd�}�������
�Tz5����A�l��])�v��T��])����L�0��c����[Z����>�w�M7�T����affY�Q6v�l���~RQ*v�T��q��g�y���{��g7o�\���cffY�Q6v�l���~RQ*v�T*���e����^�%�`�`�`�%ecW�F��'�b'����/��G�<q���/;���a�Cz����sw��S�0����;6KD�����9���|�;��[�l�o���<��w�}�R+����+��BG����+e������R�3Rq���3]�}]��y��+S�����}��aX��;:���g��M�sLCC�'>����-[�$?p�g�ga�J��c0c��tf
E6�����Z;�O*J��H�����+����%���N}�1�H��D��A=<xpC����}��Q���>�I�Wi���	�P"JT��R����R(R�
��(PAxA�(H�����BK�i����\������$�;K6�}qqeg��������9s[l����_����o��=�yO���c�����L�K#S�.�Q6��l4kG�IE������n�g�.n(���SS$�
u�9�F�z�;�����w�����/���k��f��
E:���F��]d�l�K�h�����R�'R��)��_~�Rz�[�������-V�v�m
T���E������)t�(�R6��uRQ*����P��K/�����Xa���o��k�?����t��42��"ec_�F�S�N*JE�vR�;v��K.9e��{���0`�-���^��H�������l��})�O�:�(��IE���s�m4C�=��s~��9s����3g�s�=��r�������y����w:���F��]d�l�K�h|J�IE�h�N*Bus���g�}���?�����No�MX�`:X_�Bw����/e��)]'��Y;���?��Fm��_�b�.����;����t��42��"ec_�F�S�N*JE�vR����������'����1cFo�X��`:X_�Bw����/e��)]'��Y;�@�t0�/�L���F����������R���T����O\z�����7���/_~�K���t��42��"ec_�F�S�N*JE�vR��O>��^{
0�8�]Z~��w2��C��=XT�`:X_�Bw����/e��)]'��Y;����1c���Fc���G�^u�U�Y�I�&���Zj���_�{'a����`}id
�E6�������t�T��f��"T���|��h|���:uj���~��v�G?�Q���O��� ,2t0�/�L���F����������R���T��F����������f���k�=|����k����t��42��"ec_�F�S�N*JE�vR�{�[���{?�g���s����m��/X��`:X_�Bw����/e��)]'��Y;��-�����'�;��{�[�Z���E������)t�(�R6��uRQ*����P�����Zk�9s���f�^}���������t�`Q���`}id
�E6�����_�y���~���zbLW{���M4���)]'��Y;��q��F��|��������3�<���{��G}t��GX4�`:�Y;(����'���Wg�������4nb��Y����uRQ*����P���SWXa�F���}���]w����G��n�-��R�����'�|���&,t0����=�r�yz��_�H���=�O�����Q6�D6~���38������k|J�IE�h�N*����;�d]�z��w�=����E�����Y�/��ry������^���J����'�q�?�\��4n(�]�S�N*JE�vR��9s����#�8b�]v�n��v�u���>�����;wno�5Xd�`:X_�����3�)`���|�(��(�O�O�IE�(�"���t��4kw�oj*`qC��X�Y�Q6�����RQ*JEXP�f��={v�c������������^�W�h��t��4k���]d�l4>�����T��R�9�����+t��M�d�M�S�z���{�`Q���`f�t0�d�l4>�����T��R����k���7`��o�1-�g�}��;���m��v�e��_r�%�{'a����`f�t0�d�l4>�����T��R�?~|������?��M�6p��e�Yf��)�����;`��w��W�#,t0���F�l�������T��RQ*BuC��r�-��;��F���O}�X2n��VX�7�,bt0���F�l�������T��RQ*Buo~�����������/��X���{0�������`f�t0�d�l4>�����T��R�[r�%��c����s����J�>}z������Xb�^�w�(��t0�v:e�Q6��FrRQ*JE���1b�UW�={v��o�h4����WX}���\s�^�w�(��t0�v:e�Q6��FrRQ*JE��u�Q�Fc���������+���;�������wc��?��^������t0�v:e�Q6��FrRQ*JE��M�6m��Wo�f����3gN��7���X��2��w�}�{'a����`f�t0�d�l4>�����T��R�s�=w���~��g�}����Z,���~����N�<��,Bt0���F�l�������T��RQ*B��;wno�X��`:�Y;�2�(�Oe#9�(��T�~:�f�N�L6�F�S�HN*JE�(��������(�����T6���RQ*JE����`f�t0�d�l4>�����T��R���`:�Y;�2�(�Oe#9�(��T�~:�f�N�L6�F�S�HN*JE�(��������(�����T6���RQ*JE����`f�t0�d�l4>�����T��R���`:�Y;�2�(�Oe#9�(��T�~:�f�N�L6�F�S�HN*JE�(��������(�����T6���RQ*JE����`f�t0�d�l4>�����T��R���`:�Y;�2�(�Oe#9�(��T�~:�f�N�L6�F�S�HN*JE�(��������(�����T6���RQ*JE����`f�t0�d�l4>�����T��R���`:�Y;�2�(�Oe#9�(��T�~:�f�N�L6�F�S�HN*JE�(��������(�����T6���RQ*JE����`f�t0�d�l4>�����T��R���`:�Y;�2�(�Oe#9�(��T�~:��C�vO�:������
7�D���=��{�&�nT���F�h|*�IE�(�"���t���`O�:s�?����W���Y������.�Q6��FrRQ*JE�@�t0�':����W=��w����Fw�����T6���RQ*JE����`=��v��������vu0��l�������T��RQ*P?L��t0�d�l�����T��RQ*P?L��t0�d�l�����T��RQ*P?L��t0�d�l�����T��RQ*P?L��t0�d�l�����T��RQ*P?L��t0�d�l�����T��RQ*P?L��t0�d�l�����T��RQ*P?L��t0�d�l�����T��RQ*P?L��t0�d�l�����T��RQ*P?L��t0�d�l�����T��RQ*P?L��t0�d�l�����T��RQ*P?L��t0�d�l�����T��RQ*P?L��t0�d�l�����T��RQ*P?L��t0�d�l�����T��RQ*�b����ntb�UWmZ��o?~�
+�0h�������>��{o���e��t0L��(���Q6�FrRQ*JE���<��h2d���w�9_��������<t�����z�����%�\�������t���a:����`��F�(e#9�(��T���{��h4�9����=�������y������3��O������/��R]��M��t0�2�(e�l$'��T�����~������^�z�C9$V�0aB���c����'��e��t0L��(���Q6�FrRQ*JE���M7���h\{���W2dH�v���7-�8qb,�a�z���m:����`��F�(e#9�(��T����k��h4�����X����J�O���/6���[n���/�|O\�>O��t0�2�(e�l$'��T����Zi�������~��g���^�o���{�y�����1�X�o�[���r��/>m��4)�����e��t0L��(���Q6�FrRQ*JE���%�\��h����l��
+�0y�����W_K�
V����3��S�L����rY�<L��t0�d�l�����T��RQ*����7�x������3f<��������[o�X��w�c�����e�]?�1��+���_��������]�,}����`:e�Q6�F�HN*JE�(a�4g��;��9sf�����[y���������j��=��#�DW.[�w��:;X~�uv��v��`������������[g�o���=�@��d�l�����T��RQ*���_F�b��c�m4[n�e����nJ��-���O���^x���.^���_%t3L��t0�d�l�����T��RQ*�w�v���g��h4F��~��g;�����'��������+��������[g�o����n��u�;X~�uv��v��`���
K6�F�(�IE�(�",�^x��'�x������k4���K?6,~����������X��.�����\��M��t0�2�(e�l$'��T���x:�����j��6{��|���3�Yg���q���u�Q���{���6g���#G�����g-n�+��o��t0L�L6�F�(�IE�(�",��z����^��h���^�>�lZ����O�0!��mo{�����G}t�%���'N�;wn����C=4������f�*�s��I|�i��V,�~Y7:����`��F�(e#9�(��T������A�5����-m���1c������o}�[����|��/�x����!C��;v����/���w�qG��a����f���,�L��t0�d�l�����T��RQ*���������:r����^z�%�Xk��>��|����7�<~����_~��AC�9���L���N��v/��F��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T��@7�x����WXa�A�
<x�}����{k�,}����`:e�Q6�F�HN*JE�(��:�������h4����[<8����K^w�u=zY�0L��t0�d�l�����T��RQ*�=�������y������3��Ol4+���K/��C��o��t0L�L6�F�(�IE�(�"��!��h4&L���|����|���=tY�6L��t0�d�l�����T��RQ*�
2��h\��M�'N��w�a��,}����`:e�Q6�F�HN*JE�(��z���</��b��n���X������e��t0L��(���Q6�FrRQ*JE��������h,��r�_M�6-M���1��/K����`:�F�l���Q6���RQ*JE�������h6����3g���)S�t�e��t0L��(���Q6�FrRQ*JE��p�e�5�#Ft��~���o����n�,}����`:e�Q6�F�HN*JE�(��/��#�t�e�6�o�����[g�o����n�,��:;X~�uv��v��`���
K6�F�(�IE�(�"�����n���h����,���'�H3o/��B��]�lYo�J�f�l7������t}��>�����{�
h����|r�Z�������>R����o����_w��x����Q6�FrRQ*JE��Ff�����>���FL�<9������e��
�h4~���7-�����w�e��,����:��h������9s��92���g?����y��G�\r�F�1q���s����.�C=4������f�*��4i��|�i�-�e�r��0��h2d����-�\�{�e����;��;��X��6�,�e�u��7�?~���4h��!C<��)S�4����]��}�]w���z�5�=����&N�8|��A�����_��W������8p���=|g���������0 b��{��p��^z��N5j�[�����Z���~�i��6g��|�W^y�����J+�i����N�4���:��3��N=���$�����>��cF���K,���k�������O��<�����r�e�]6�\k���:����{._A0,��s�FA������Y����g��O}�S��z�)���>�������f�m��2�<�����q�����{��7o���Y������6"-��3z��4���N;��=�X��������3�8#�r�=�����
7��tU�?���������?�7�����G�
4h��Q#F�H����+>�������by�~��_�-��b�����:u��b��pb����G�z���u�t6k���2�8�n��q�-�\>P
��~z\|���u�o�n2i��f�����O~��������	�Wc��)5y���
�����%�<�L\�>���~|��������?���?<p����=����9sF�����[?��#i����������w��X�����%�/��-����<���;��s,��>��F��v�m�E�:���^y���}�k����������6U,9���c�����X�.��c������oX���r��7��;���:uj�:���7=��C��k��&�okkK�w��W����~z�����W\q��"���ob�/~��=�x����c�T���i���)�"_z���d���������W{��g����Y*�����%��w6k����7�����o�����f,�RW,�a��A�:;���~��g�y&���Y����'�|��q�����J�����o��N����/~Q�����~���3f�����+���Z/��r�<�.����N<���(��SO=�N#��}���I^y���5?�����N9��v��M:��{����f����^{m�����e�x�����t9'	�(�l���C��G}t�"��`?������{n��t����%��>���oy�����w�}hL�k�&M�G�]^����v�j��wo����Y���>����n��#�8"��s�<��s+����#^}��+��b���J���w�}g��Q����f�v�a�X~�g�/���U�b�����m�jm�������O�<����������r�-+���8���z��t�t��]w�5����,����~n`�`�&������^{��V+~=z�RK-������?��O�����o������]t�E�|,�{�����]�����1cb�\P��������	���=�XD�~���~5}���n��v���3g�9r�Vx��g�:�������/����~����X���k��������-���?���~i��I:��k��.�I�Y�t"�#�8������������?�o���hbtP�;��_Q��>�������u>���l�n�
7��_|q�"�|�j���J?������O������U:w�	'�P\��Q�VYe����g����j�����=�������Zj�����1x����o4+�������~�]�b�.���>���kv�a�_|��W^Y{����M�>�}��VZi��"�=�K/����5}�]q����?��w�;E��������1P�k�y���_;��G?�����{�XR|#�����8��/����X�a���#@����K�L�r���?����c�=6�����~\a��	L�+��2~���}�G�3@7�l�n�w����~z�"�����WGuT���������x������s��j���Z*"4~�+/���|�s��%��~{�?�.���p��Zf�e������~���_}��._���.�_�����
F�����].���8#qXz����S�x������uv�����v�aM#�B�2���G�]g�*V8�������zk���/|�X!�2y���x�c����sC�-�b���~U|�D�T)��s���\0,���vQ�����2�<��c���c����������=r_z@g�v\pA,�|������5k�e��_�q�^���?����}�M7�3gNZR>�$���5���~��Ml�A::���G�
���/6�j��wnQ#�B�>kw�g��g�yf�p�M6Y~������:�_~y��Q�������O?����_��;I���k������n���;�%1�����v��w�%��og�}v�����#�Z���V�t��#�<���7������R�`!T���2���Ko��s�����3�����A��{��������Y���>$���>���i�m�����+������^�e�]�������|�M6Yi���W%���+�/�������q,���z*�^����{Z��!�e�]�/�KZ2m�����p�����"����}�s�f����zK����|�C��myT���/��R�����^��V��#���A,�x`�L�~�"��]w�bI��;/�����n�>c�
6� �<a���y���������c����4��u�]��_���.K�PN:����%�Xb�N�D=�����#G��l���\r���������$�Q�s��M$�&M��_��W;����'����o~��+�x�1���5�������;[d`~�px��W������4��K/����o~���wv��rH�~���������d�5�4hP�^�;���`��#�h�?�����/���-��r�e��l1bD���_~��k����_n��Y/������g��������x��{=���������������f]��Y���s<��t�������kW����}����z�q@�9��O���_^�������:u�
�vq�.���;f��Ca���gvq�.����.����c�����)��_���������Sv���/���~�M����N�������	����������R����mmm��{���)�5k����&��v���[�������+����&L���z�����n���?���������/����~�=�y�k����k���?��O���S^�����.����:�:t���'�p����;��g�}���D<����<���]�vs����{�[��j�!C�<����}GZy��������+�Sq~��G�>��M6�d��V[w�u?���v�b����={�������;�:�b�x��>��;���+d�t��]�W��]��M�-m��v��;2�_~y������]����_q�R����y���G��k[}��c�/���z�+�et���������K/�4�F���
���{~������b�w�����osDn��`������O���t{���?�����E�����O��G�f��f�m���W
�y������G�}G*1k���������}lA/��Y�������+�a����%'������/�j3f��f�m�W��|���*��?�����g�����g>��M����~�CZk����?���M7��?�i��6J+��{��!v����_�-.\�v��]�m����>|x�*j<3[m�U��g���V����/��$]C����n�����!C�����~,����Qd�����o�v����o�t"���v������k����Zm��by���n�-��"�������,��Yf������z���w�<���f���,]����bY1��/�x��G����`�n��.�i�����?���]_U�v�a��W�����2dH��h�i��9s�����aQ>�q������U��M+.;f��Xx����V1i��X2j����i�/���~����Gw�I'�!�7��M�vo|\pA��N;���nq�2���v��Sl����������3�����.F���l{��N�(��[oMKbD��O~2�L�y���9�����������[�r���U��+�P*�v�y��46������0��i���{,��Yf�D����;w���$���w/���f�*XT����v�[,�����o��7�����������f��Yg���L�}�;������K/ux4x72k�@�������������]����Q���������w^���'�\e�UV^y�)S����p�
��lPT�q�����X�j�=���a�by�9�����?����jj�����X�V���]����
����b��CN9��4H?V|���MSW_}u����?������X��1kW]���]w�#F���;��n��?kW=�+�P*�v�?����=�yOq��u�]�cl���=_���-�_�����}��[����v�����=q��Y�����v�^,+�O�^;�.� ����~��������W�}��D@�������^��/x��O=��m���8��At�w���sO]t�E��{��	F�k����_�rqb�o��m�|�*��(���D�k�����M��
���gg��q�1�D���q�I'��5+��3�L��Xg�u>��O>���M�p�e�ED�c\m���Zk��v�)���	��:��s��Z{��c���w�+��^�� �����^//���s��?�����cq��Qc��?�������#���'�h��t]�������'?�I����|��g��������<����vy��h5�:b{H����{����6�+&����Y�(9��p���2d�M7=���_y���1�;�<yr��xQ��x��?��������k�WG�*�������C��c ���O?���?LC��v�.��QG[od�Fm��~��t�MM������o��k����[��>u��|�tV������w���"�b��f�:��bS��]['����_E�mqW##-�_���s��k�p�-�DN�3&Tl�[m�Ul������3���V���}�'$W��xB"X"�[<���6|������6M�E����txI��N@���?���DD���^���?��>��Q�F�76�#�<�i@n�������?�n����mD�4G��&�l	��� ����b�;��T����%���7�X�q�W��rJ���X����WoTymZ���I�\>Xn���Y�x-���/��q{��G9s�*n���w(_;��b��������M�@q^��Y����/�86����
��6�|�{�k���u.����w�}�������
����m�N���X'n�<�q�6���>���Vr���W���UW]���{�M���2e���k��']���[�n�����}�s�o�������F������>�=:�M{�'�|2�<
[<u��������4����=_s��i'�p�[l�'�q�W����)a�7X�5���xV���1�#���n{i�.{�Q�
r�!�=��|i��������(*��f���wg�"H�����&�h�!��.�y��g"�ca���|��G���WYe�K/��X-B8s�1���Y��~�������.
4�b��	<��CM�$}���6v���z�u~��_�����o������1��'n"�|���SO=5�����?��c�C�z��#�H���Jo�D�i�w������gc��v��g,n+}�#�'�}�9����7�IW�8��>���.W��v��w>��x �w��l����wg���vx����D������;F��8qb�Yg�u�����a���d#F�������u����L�����X��y�!W|���]l�����v��012M?_�C��a���^j�U�����;����>�p�����vE�Gt���^�_-��vw�qG4��y�����;��C�[D�-���Z�s�GDL��'�.E�������
�'*�W���t�����u�E�6o�<����-��_���X��:U^����_��]����t�A�i���)����>oi�.�?^���x���"����M*���T���dZ��������_�j���i!�_���?�^�[���]1~��blik�'����*���W��]v�%�����1"~�-�N��?�IQ����|��?���;��t�����I��[����S����������/�*��d�����n����"��b�����f�b/6��:i�3���{����p�J��Ng~��_��e���=z{�.�J������������=����L�O�H�}��w�UWMi\\O��2v����t���E��q��SO��0����c�=Ve�.m�q���u�Q��=�$���I����h����~�p�9���?�h�>��xa�������QDca�F�Z���6��m��
��������o.��w�S��.�v�?�]F�q�����-*�,/��b*�����6�������x�E��w�K�v'�tR�"i�������
)�Xt���XV��&f���wg�"�#�"�����������o~���X�]O�6P:��k�Q��3v^)��+Et�w��}k:H���F�==z�|���c��e�X'����;�4�5;v�E\�6���}��iIz7z{~���w�����(��{�I�������!�w�}i��?���g����o���GqG�O;��.��4������}���zw���m��c a����Kl�*�����V�P�:{���6M�����>![�yK�vQ����I���$^-EzK7�i�W�K�����b�$�j���������`y���m�EO�Y�Y�f���:�����WKG�:�n�i,9�����'�����L��������H��W^9�G�������Yy�OG�����t���Z�S���%\��6}�����0���U���������Q�����\�m8�}1��K���Y�������r��;��8k����N<F��&��W���x���LK��������#��Z��qkZR����#��y'8JOf
������C�P�;��N;�j���sU^����I�k���d����M7v�{���y�(K��|�����p�J��NY`<�#F������v���Y��/�8m��>�hZO`l�m��\:`)��|�5��4yR����%`y�O�^�TM�������e�]�6�|;�[ul���o���W�x��w�u���������
:4��|��M%��NH��"Rb���t��w����0^})�b�S|<�j���o,<���[?��n
�t�YS��9j�����r�T����?�v���g�=T�����U\��bY=����^����No�=������N;m��1_�����EY����f�������i���tP���Oo�>]u�W�h�;H��o�%�}��_�W���SjE ������
�b�����t�i7T������j���b��w_��Od�G��8�}������}�m���X�J�n�����v�^�����aQ��>E{�-����@.f�'O�|�%�D��W��U<K��vU������=��3_'`:b��������X'����(`�������R^3�I�ko^�q����f�mV��b8km6��������z������R�n��dl�@���c���?P[E[�)����!����S����}�{c��������X�@2F�Mo��x�-;�U{G[�y+vq��:1vK������6\�@:�Pz���o*�v:�����/�zq�.hm�?��}��R��c��>�y�q��ut���bYg�u��W��5
��������X:��/�WK������k!^�n�C_��I{G��*�[*N!�P�j?���*|�C�m����k'}i�M6�}b��������n���v�m�]<M��R��G>���c�H����~���~�XZ�|��T�����+����Z}��P�v�����MW�vX_���Z�b�m7m�_S�D5��_{�%*Eq�[W�(���v�^{m�3M�����<��.t�{������o~���g&^�ir/��-K�m/���9�i6,MQ�o�u�{�e�B�������]1�i�N���`�
��J�+o��Y>�Jn����y��H?F6����MH�����f�;��[��8��Ci�-_#��M�?I�Oo��Kb���#��w�}��'����N-2�����#���+�)����9�{v�$�_���zq��On����'�b������������Q��&���;t�����Y�*�[{�	����s.�\sM����}�������5�����n��}�,�>���ANx|���/��N����������v��}g���/�:tP�W�c��ai������[��V[�>��w��6���|�N#�?���-����Sc�[�~P_��^x!F��E�����?�3���V��5��E[G��U��c�����O<������+�v�~�������R��^��K;��/���:����+Nb'����b���������S����7����k������������k3����w>�n����T>
%�y��QT��+�P��vr��l{��z�y3zV���OTl��3}���N~^�$��m�>6�~�^ZRs�O��f�w�e��������Q���c��a��}�{[�b����������T��#���D������9������]�Iux2�t2�����P���=;��)S���b$��o
�*�^�k�v��������[?��-��m�v@���v������+k!M##�4"+�pq����i�b�Y|�|��\����LJ�A����M��}h:�<
��(�J��tZ�&��vZ�Z�_��i���~�,���<�L@��rXI:INq({*	�wn�`�Q/�����0U�;i���h@T�3�<s��q���b�hz���]�����m��Q���3J��5����[��m���%��m-��viX�z9�����S��>��mD_��?����I���Ov�K����g���6cu����3�4�w������vM�:�[��T���/�^/_;Mn���Q�F����k���^�8k�v��'��:�?�:�����l��<C��NP|&46��w.���g��]+KT�����6+����]��-��c����~l��6\q�R�����W_���s�9��]y��Xt����K����%Z��t�s��-*�*}n�ziI�}�����}T�6���+����T��7������o1m�[l�E�W_SUJT�"�UW]�|+�~�vi'�-������������?~|���&Q������������]qj������}������Y; ��Y������}h�N:u��q���iDV����z(�a����4�]m���t�]w�O�?��sc�����W+�
�iy�M��5�����H'[�=�����_��<�;���x���Cbw�N����.yU.�(S�o�k�2����{H/�����0U���*}���\F���!��;.u�W�&���Z��Uy��;�������s��K���n��-{/>7m���|���t��O
}�1���6W�N?��O|��Z:�L�C��p�.����Y�u��>�`�_���4�[B�����o���HoO�_MM������&+�6g�����+O�4)���G�6�Y�*�[1;�����4k����Hc���p��g:��3��!U��N���.KW�z|�zq�.�@[of-�I���|w��]y�t�TKRD�|�����G����hq7�������G��8?����^N��vU��T���so��;����^i2��6\}�R����Gy$����{H{D����=c���X'}l$�3T/-s��I��������^z)����e;����K���4!��V[������'][g�v��T��Ns���k���4�V����TM�6���`I�A<8v�1��*=	i&���]�m��������M�v]��;����������]:�r��/UY'M#���N��4"+�m�x;/S;�8"}�!�����}���>�Z��Y�t��X�t�Bzk�i�.�9s�_���o|��[�^�SSQ��^���,V�v}r;L��|�g��7�tv��W^��|}�}���vU���j�3�M�K�8~������3���V|f9����wNS�I�oEl����4	���=�Y�	&�n���I�s�I'�S�O#�\������C��n:x8
��������g�^g��������L
|�M7M���tpi�Y�*�[�Y����E;T�������ut8k�y�h1}f��k���]q
�O��Czq�.}l���UY'�����l��<�MU>S��2���G1�:uj�pcw���������Z����^N��vU����v���\��q�m����k��t����;{J����oF-����:E����+��KK��2�>��>��%}g�����v���p:%�N�W(&g:������������X�t���]9a���`��K�sQ&�VK��������W���b�T�)W��o������+�u�b��P�����^V�B:�Rq����Y�N=��|a����|�#�f�9r��a�Z��c���]��G��2k��_�r���p���'��h��e:gE�_��d������a���;���/�M1}s����7�t6���vU���j���1c�t���8qb����M?^r�%>�xbS�K����K�����4z�Yg���b8k���ob�?nd}��_�pSo�l0�yx:;�M�~�����/&>��S�\n��^�n����N���I����������[:N�Y�*�[�Y��T���8��Hy� (}���k'���+W^y�X~������=���kW>1l��O����~��;��g���������K��<�"����|��i:b�G�~����������^N:;�]�����]g�o�w(_;���c�=~��_��R,o�p��n�8�]��o/��n��N�Q���i����w�+��d��)q�k��V�j�r)������J�����
W���]�5U�D=����Y*%SJ�b�.����1��7X�����y��=c�8�k�Y�*�^{�Y��t{���?M����;d���I?~|���g�M�h:�(9�Q��,F�M���|��m���E
>|�*������O����_�T��Y��Wj�HE:�G��%Q��8��'�|��&b����
���o�HOE���s��I�}[�f���vX|�=���/������}6������>�p��v����������[{�g����W��q���������?%��	�o�y����iI��!C�D9�������]���Dj�YJ3Z������s��+w�0-�	&4���;��V�<i���f�m��`����SN9���%����L�Y�q����������w��U��.���W���h�M6i:�+}���#�L?V���u������zq�����]���k�����g�N;�o�����*���`�
�X���k:�$��~�4
����/�Y����-�����4�+�6+�����C�����Y���p�J��N��x���G��cztu|���;d�>)�fc��]C���'6]6}��x�bi)�y�����qC�n�i��k.�w���B��������1x�m��_SKT:�������I����������k_?W��o[��uo���c��tn��"m��>E����Zo{]����bY1����^��k���������z(�����7=cg��e���F�Ui�Fd������"*��6��tL{������c���Y��y����������+�����Nj��NY>X����|�A��|�3m��v��������1�=����^���b5k����TM�n���n��/��r*]����g���[f�x��i�[|��E]?�j���uq����O�y���jyl�1zM�)?�u�,���n[|�K���_���3?�����NQ�~�����l�t1���'6���y�Or��V�'5�w���;����S�R�<N�]���:4��S:�"
m��t��j����-s�c��{���I��f���N;�T|�6^;��czQ�_W��*�[�g�*n��GI=��,n�W�������I������tj�O�S�^��{��������t�M6�$��c<�FyW\qEq��S��C,���L�v���h�����	���G7
c����v�������cc����e_��I�k_X�?�*�[g��+o�w(_;��w_<��Z�z�T��MKG�+������=��^��K�X{�������4�V���X9rd>�m'�R��XZ
i�$�(�y!f��F;��+M���v=�=���m��k�b�J����b��;��3������/�\�����o�q������7��!����sD��h����`���uq�����e�B�3k$�;k����n��6Gk��V��bo�2|���/Zk��T�"'c����}.���k�_c�Fd��1bD\g�v����#"9��<*N���f���~��c1��BWf��w�"���Du�����0u���u�Q��v[��4��G��~�z�����o:�>ZD��MG��1�I�����9Q���}[}��?��O�/������>��x�Y����4����o}��G����o�a�w������(��������	[Pb l1([�D@Y�@$,jFAQqADaPAEAQTWD���E ��y�~�STu��t'-�|']��]u���z�s��P�.P[��iOt�ga���z���EG����6A�-��]82��EF����e���:r�/�LI��n��#C����]#�"k�t���.���iSZZ������O���>8[<�+I
�v�n�:�UT��a��t�P�����&����m�p]��hv�8]u��j�zA��H�omw�D��<t.�\k����T/�-������B��=Y��LD������q�-��]8XG��q��;v����3f�s��@�wG�h����)������m����dU��3s���v�V��STTd�I_�NPfY����+��7���G�i]����3�awZI��1��"��L�!����D%u,�H.E�#F�Xo�g�����P�;s��������	��5KF�N�|�%AJ�v�?�OQ��U��o]?�*�)c��'��S����o�Js����-��'O�\$� ��*�������^-��;��.W�q�S-�m?�^D����n�T��N��M�����.�=�e�]��"���a1�z���VF�bc�t�2D���3���}����\�'��Z��%n�K<k���p��G-��n���w��5������]8����'�������W_���Y����S�[�?W��K>\�A��M�<y�����-����o|u����Pw��	�g�E�o�>��$�����V����w�nc�uq�+{����v���;V��.�E�/2}�����8q���X�R���Hm��I����]�M�ZU�y�"|�e���\;�KS],�Mu]t������%�v�3�������+�~����-_�\u���_?+��hw�l��!`�%����k���WO����j�_��#g�> �]��4�	�u���kW;;t�:i�$O
�2���
X��6k������.�U��+5'���� t��Vg��uJj�u�~��U�t-��M�J%�F���������+0��
�?\!�����5k��:5u�j��M�2E�B�+��>6v�%%k���NpE(�3
��o;r�=w���lf�������M�KTM*�R���O��z�j}e��j`j���������-k�W����W�-��������.]ja��$���Wb~n�8���x�"*��:`�%��_H��%���~�z�-�ITL�`��Mu��[EeIu�N�d��y�m����t���
P���z����TP���OS~��=zt�7�Gl���#`��}�t�j�:tR{.�*�m��S�/�~��g5����Z'���=�n�R���(~��w}���N�W�f��={����XN�:5~�x�V����w����C�M�1O�v,q�^�Y�pR/,M����HG���R%�Y�d��,n���~�a��W\qE��5T��g���/�������<k�,Q��l`g�-��zn�/(�Y��������O��#��`Iq��&�rR��K�
\����w�}������w�P�%$���������+,T�u��t�m����!Y�K�e����PQY�K����+++��h��������������iSZZZ�F�<�]��l�2�|�Z��:l�+VT����@�]�Y�U�V��Y3===������3kWy����%�������K��4���iG��pf�w4(�Zm3��/z�e�n���-[�Ef����X���+�����g�����sss�[�����@�-Xy*)Y��������������n���������*�����������@�"����%����I���OJ������uk�~�lq�����Z�*��A��������z-���Ie��[�xqAAA���C��e8��=!�����Cr�v���V��-�>�l��}m~~�QgF�<?~����Y�f�>}
�e_����*�:�����\��u����q���Gd6y~~~���P�J�y����W8_�{�NL�������C�v�����&��ktn��R}�.���_o�t��m��5��d�.�)��k��DRvE�>���S{�v3g���,�Y�*Y�/��]������_��[��S����-EEE:q5j4~�x���8v�������kw��W�����-..N�-Et,�*��q��+�~�"�����T������<2�,�z�T)3l��Sv���������&����1�R}�L��vkI��T��k�v����+��V�������Q�F�P�?������������?R��u�����G�w$��"�����?_m&++�F���73f��#QN���w�1"//�z������z��������3j]�Z��U�V���o���Y�f�={�_RO����^*==�^��?L�@.H�);�We;�Z��������Z�S��%���cy����Q�|��	�N��e��U���999jZ�������n��/�c9|���	T�f��z�k�����x���	����� M�4Q���������?L������[U��[�*{���_z��zVR�v����H����t�r��W�g�������m�����������U3�����^x�]�����o�v���;wV������w�y��3�
v}��'������n����������\�v���������cIJ�.`�2w����4�U������f��+V�p��l��]MT�322����6m���UKU��
$Y���4��={��'N�(++;w��=$�����_WM�:������>KI�n��zz�z�~��G�r������K

�b��[�h��?���S�l����Z�����C�Ea�o��f[v����iSm��?�����W\1o�<�r���^x���~���\�v��;�'ju�[�2t,q],K�Y���:�������������'O�d��[���r�-���{�m9r�HQQ�6��S���c>"�!k����?K��(S��������y�����h���U���&MJI���n��b�7>|833S������}=l���g��3�<��������OOOW����_�����Kk����:VX�-O>��g,�?~|�������%).��%��]����G���C�z�n���������/�J���9z�h�j��+���(O��v�z��k���z���7����V�Z�)�k��Q�F5k��F��j�j�����?�o�>w���lz��K�v���N�:*��U�W^y���c����][e����n�W�<�Ly����:��/�v����1c��h��f����o�q���'_����{�bC���������~Z\VV�����\���m��O�����x����>�l���U�W^ye�=���h��N�:)�����z���r����O�������'U��:�:z�&M�>|���AG��g��_�I1���5K�x���:tH���KG��w����=�W�^}�}�5m�T�����7n\ii����4ts�������>�Q)����Q�m������{�����=b�<8������X�$<�,L�����s��������
�Wk����s��;v��-[<����+C��v�(uR��WO���|�����������a��j�j��Ow'i7o�����;s���w�kjc�F�u��|�r+SK�;d��'5~;A�	h��2&��X��y�����W����j��{�qbuS�LQ�����j�����9�)Y������7m�TXXX�n]��M�&��/^��W/�u�;v�={�S��;��m��v:v��>kuY�%��r�}�_����f���o=�t ���O{�cQ��b��/���_Lu�b��-���.Tj�v����S��
4����M7�d����B���a��jw�(&R��k���6�3&33s��
E�z�)�+��G�2��������
�^�W��o/oW'O�����{:������m���b�h�����q�H�R�Y�f���)r����<��t,�Wl[TT4h� ����k��5����6�}��=z�����:��}�����{Zrm������*�}��������Eo�;z��
����V�������������p�E���|�M����w�V�����3f(�����,w�@������2d�"eK�����G&��'e��������j����,k��������b���b��Gj#�������Wj	��F�D]{����������t�bvs�������dA��	bK��f��x�
��t��U������a�Sf���6���NmU��W_��j	j�VF��:�<������{���u��/^l������-Z�(##��?z�;���f����bd�	v,��jK����u�M���N�7o~��I��
�����Pw�����[��6�M�bU���{��*3r�H�faa��/����zh���{�{�1;��i�Y��~�U�������m{�������V�U�R�����a�#`�bs����n?���}���;�={��w�'[ )R��;}��EL�[��|���K{���2�^{���=��p�����}{����~�V�i���_�Wh�O?��$C���=���z�-m���K��z#[�����r2=��s�����;��F�qk�e��*�����O��-���]-
�-G��Q���_?� �����O��X���k�9e^~�eD�>��~�j��������s'N�0����<c��U���(c�h������t8V��;��9r�u�Y:��Dw� m��v�:����s����0?���<r������y�y��8����������������Q�B�n�u�����:;*[
�v��m�^�z�j����+���b�s�l�-[�n�<�{�������a���mKj��3g�"��Y�Oz�7k��X�q�&�}�vk�o��F�ZJ�c�&�:t�{�����G}d[�-[f5���v����Z���G��U��Xz�������<w�ac\����g��J����T��X��=;������M�7�����gq8p�bm�n���b�(bk��t,�W�n�����@r�0k���[D������@��%K����KmT�{ D8_� +'����K�����;��C��J�����2�z�
�?�/�
d�>��S=������]RR���#���6�A)��o�}��w��7*T�d����8����C��=���$��E��(�v��C�l����k=%-����>���[+v'@����{(`8!Z*�F����}��'�s�`�	&�\�����A���N�6�]F���+b����w6l��W_|��~u�u���S�N����8qt����������{����9s�b���SR��{��'u�:��H�q���{G�:�~cNVV���d����p�S�a��\^��X�f��~�i=���;</e��3��1�p�b����<���RXX�N��w�}���,�eJKKmX��������P=�g�u��\���s����sz���K��k:�p��%H�s�duh�b��Ow���	����M�6�s�W��e���ze�+@�v�<�@�0kg�<����?�2C����nitHX��R���{���}����,X�V-����T kg����v��7�W
c����-'N�P����-�F��o-Bl����Yv�����@����{�Y�9dKv9�V�Y����q,���S�:�(��iNN�g�bm9��������*A���`�����:v�s�v�Qpv�h����U��W�~��e���I�jQo����m���iq��t�!I�
�,++�����|�W��P)���k�.�r-F���_�����c�q��*'k��o�����-���X�f����.j����C��~�;���s�F}H(2S�=����C�6�bv8N��j:{S�>��7������>�]�vY%�K$t~���i{�'�G�-\���'�'`���G�"�0D}k����@���ZTc�O�<��g5������w�����-u.w����x�����^��FTf�:�0��������Y;����vf/����������o�������E��[����j�9���yO������R������$d��}c����;��e��F�6���1�|�
�mJC�^�z9���A�������t�����c�`����a0q��D}����w���J���U �Y���,��_�L�U/��O?�4����3�v��s�`r;��Y;��=z��D�
�DQ%��X���������Y�����k�d���c�:t2���[�z��M�6���S�Nu���X����}ryv,A��Y�S�������w�^�t���L�7;
�R���������eljqg�	K������N!���&n7n�=�����X��n��������*�����a�������7uV)����T�Eff�j@��,Y����������rO�h����1�S��+tYk���,
�1p���!��e���ih�"��k�����7E���8q��>��y�cg���=';����������S����E�B���MP�y�fI�|�r����{�>���#C��zM;/�U6���0kgi���,FK�|wN��_���5j��%�K�����������s�%<Y�j���\�8�[v�vU��X�k��c���N�pd�;%;w��.��w������������	v,?��C(�������x���X�N�<i��<H�f�l$K[U��ELc����������=�,�t��9�rss��;�o�����&M�8���27g�
d�l'cG=�?G��91T���f��ho��7n��P���
�2e�����s������3Y�����]�N����qP������k�=r���g�vbg�����Y��>;���rF�X�����u��!�B���g-{`�����Qg��$��~O�
�4n�� ��&W
�v6gZ�qtA�X[�|y������?��������O�*�c	���U'����I�d���c�:t���M�6Y���J�R��������vA�^�>9�������,�
)�o+mo���=�����f���� q)���?����G��8qB??��S�h3����g��9���y�lZ$\��b���bI����/��@���=�zE
�_~��P��'63R�vC�
�.:,X�>d�F��u	�Z�jU�����{�{SVVfq������j�g�l���Y� m/`��<{��Q�j���o���+��b�
�@~���Pd��-���;�D��O�>m��Y��m����W�}�T���k���M��>2[��}��Q����R�p�F��������Nj�7kg�u����Xf��B���p��]�t,��kg��������������������	��4m�4����1����c�����w����]z���U�k����@�|
���lOV��1�=��~^�l���D������i��z��S�N!���e<������~qU k�����a������+�������i�����81�9{�l��-�s6�m�K��m=�l^���9b�����w�}��9�p�g�y&�[d3*g
��~����*333�>Y���-�����������V�=�~���`�.���)��*
�322T��v��-�����<����|��gN3v[\�f��-��-Z�����j�0kg)�>}��7�e���o��F�������.�sm���
�8+'k7s�Lw�?��#�����X�f���5��~r��:��i�K����O{��'�et���[��FU��X����:u���*�Y������+�e�$
�? ���i{	f���;k�����i�������mK����'�w��^�`����.+)���>}Z�]�� �p$��a���?�=��_I����uB-kW�F
�]c���[,��o�>m�����S���B�V�Zi�������(�En��;�X�����S���zqU��`-�IF�;w��,��%K�2
�-�v�E�:����;����*����Y#����S���O���y����'L���;vt"z�F����'�����Gi{�g��^���,�A=�K�.����U�����O��.\�OD��n�v/�
������_��~�������9��0S"�Y�m���tj�n:
�N�������}�e*�
^��
Or�	�S^D�����S��3M�4�a��WHJ�7k����Z��=����S6�-���;��Y���~�NU���C��d��U��X��r�$������Z�u/��z���
�����[�K���x�.`��^�������S�����Z.�����:}��B�G��������6�,���0k'������rss���N�]��_A��Mt�
7>\��-I����Y�N�Qzzz��=[���F�[��D2���{[��]82}�
�Q��=���+F���Q�k�`�0�^��,..V�u�u����o�vPH8i����D��G��E���G���cGE|6��}�G���������[-Z�\W��}�q�7�g�N}���,�-t�0�������������Y7�x�>����[;\PP����ZR[.\�s���^����%������;u�dAt�6mJKK��~���c(W��}�:���~�]������'}��>:�)�8�V�Z�������g��0k'o�������>�&M��gU�{���s���U��YsR��$4���^���O?�Z0`���#��Ss�uf=�������#C�222��u��:G�o��r�-�s$�;��Y;��e�233<l�05K}�y��U��X������M���\����w�����K�o��6��������5j�x���l���K���x�.�cY�x����S�:���n�p��%I��w����v�j/o�P���]82hDA�5�\�x��������E	��<���G�����N�8���e�V�Z��W_)��S���+��3gN����.]j�v��T,k���
o���[i��5k���%�*o�������������<qv������P���_���D�g���1cF��-U�zY������k��h���<yR��BE�l*�xp��_�u�������Wb���Z��c����0_��]2d�{�S82y�>kU�*V1�"k��L����p-�?q�Dqq�Z���j��yz�����]8�]���������I����:j�(���9�����:u�Bu���_����]@{�I-6�n'(�Y;Y�r�N�dzzz���u����[�zuQQ�~��C���s�7c�)�W�����Z�6m��233o��6���/)K��]8����N@������m�N�<����A�4��%`�N:���q��zA��
��7o^�uS������PU�c�u&999��uP:
[M����O��j��w����l��Z��`��/�c�������X��][XXX�^=�����GM���X����K�G�T{
4�7E��7$"�Y�d���g2�l��B�J�������C�%����vU��H��g��"j�>6:� �M�Jl��
�������3kWVVf�7o�\�;vQP�,[�l������������{U�Y�K�����c�())y����Fu����P�5v������e��Sd=h� <xp��E���S6��;���y�m�,VX���].�������c���v+hZZ����JE��E��u�O�u�<�}��'H�n����7E�<p�@���_��%Kl���-[8�k����f�>}�3}U�v��g�?�x�N/������c�����	o��u,�J�?�|�	Y;�_�8�`�n�����O}�$k7s�L�v~���%%%U�o�5k�4(//�z���k������Y�<��V�v��=�����d");=]/������c�m��E:�4h��������O�e��U�n���E��n���
endstream
endobj
9 0 obj
<</Type /XObject
/Subtype /Image
/Width 1682
/Height 922
/ColorSpace [/ICCBased 7 0 R]
/BitsPerComponent 8
/Filter /FlateDecode
/Length 54496>> stream
x����U��/�F���h9c�)O�$��I�����Q+3��I%G��L&7�T&���<�������� ��(uphD��H�Q��8�B�@|��E�}�����{���t�����.�{���k����~�Gg'���[o�����������x����j���U�-�={v��~��_�8��~��4�����_��G�|����'_|���VC��0a��_�7�|3m�A�m�����@��4������d3�3�����g������81|������=g���#G�|��W�z��������>�^x��I��]�������.������-KK������K�v��v��z���*���]��x/����6m��>����������m]�W^y�lw:t�����?�k2k������?�K/���{4�����k��ae�y��11���_�dm�v����Z�zuU��k���c��O��?�q�S�U�n���1��c��f&��{���\�����{9�}6r����V��j�n�������C�������-[j^}����;y�����JV���<�^�����k�r�m��O����k}�����7�O�v�����g���_=��Wa��E�7����x���+W��zu�����x���{���g���^�>�5k��>a�t��o��������������3fL/g�=�PZ�X�
W��n|]������y���W���'����v�k��M�%�\�g���'���]�0��]��n�)�j��q��Uo�r�-i5-ZT�j�����kw����90�|���W���]��k�?���W�v����{4a�t�.\���v�w������j���kU�F�����v���k�f���z�v@/>���7�<j���C�^p���
������������������Y������/4h���^z���/X�`���}>m���e�]�d����c�K���a���{�'�d��o�q��������������gwu1c�O���g��O?}����7��K.I�n���1�g�}��-^z���|��1^xaz^����W�X���������+c}����X���c%�����;��j%cYy��2i`�-��v[l��zC���)V����u�+��G���[�m����~���<��������.6o�D�9#F��w�+�6c��x����X�x���S/���X��|����A����W^y���w+wfbA=�0w��sIC���L�4)��������y��m���f�u���w-��F+w���{�s��nc�E�gegqalC��r���|�������������]w�u���/z�IW�Z�����k��yW^yeW���������he��gO4L�7~g�o��.
��m[dr����q����q�"��������}�m������I`|q���.�)cO�?~�^���_���{��2eJ��?i����S��4�>��=o�]�v-]����nJ��20������
�![^�P��f{�	�%}����[��:��QdZ��p����\���������q��`��8�h~t����7��k���2]M�*q������k�|��������3��Cm��d�af+]�8��c�}��q�v�wt5mbwtt�Qv�]�M�6�|��a�8q��u�j&�c�<BS������o�jq���0?�B>o����sc������d[m������,Y2l�����`���o��vO�mi�������~L���:c�)��\�E~��'�i[l���>���[�n1bD������+G��d������7�t���i>3f�hq�������q��yy

�U�8?E7_��W]�4��g��97�*>���Z�PY���/��-[&L��p�'ONm��J7�pC�qF���pA�v�����b�5y�����R��39c)�A
�s�=�s���]/3!v����F�w�}�?+�v@�8d���$������[n���k���8�����^`��L���+��9f��/~�����kW��^����/O�_x���c������u���~V3�n�v�<�L�G�7����z�u�]W���K��]�p�o���rb%o����n�i��1i���{s�]��Q�F�����X�I�&������8��9�'�����>���i�����F�=~�������^�������h�d����>��s�+�[Wg��n<k�������R9p��6l��<��h7�x������
�[ 6ul�m����?�?��N��v�s������P������&�������o��+o��8��S�oc�9,[��f�K]��z(M�z_|q��O��4����7��[��n�
X���=m�{����,Y���I��_������w�\��v����������i����,�v1��^z)����G\������c�D�6�!&��<�0�E�|[����D|@�����W��:f1U��:��4�5�ot|%�/T���y��#�0o�?�!����t���94��=��si��7����q����������G���O6�?�2�Ke������b5���{W^��	��������/��n��-�����)��Q��cGn��z�vtt����Ue���o��i{��{����K��4�������o��`��|�k5}��]�7�x#���=���e�*��}���g�!]�[�}���G���u�}���W_���FXy�}>�+��7���8�����G�m^���f���c�=�������/_����`�f^{��|�+��6Nl����G�
�~e�2�yW�Z��p�l�r��w�W�(�����������k�41��3��=2w��4�;�������)���?~���[^}��<B��5���#����L��n��?������.�?���<������j.�m~_��[���P-]���#���<'��'�����G���=��8�_��`j���c���xG���������������vS�LI�7g�����7��(��=��w��k��N��:uj>5�K�,����2�vzl�t	p���/��\�jy�����k2���{��H������c
���a��=�������L�w��]������2b��k�V��o�O[>�;�e5we,�Qv_;8���G�������.\X��=���_mx��8��G�q�W���kW��)���Es�-��L�6�|��qz�l�q�/��p��-[��0���W�Az����b������]��k��M�Q�\�A��������=�ox�`����a�j�f��w,7\���I|
�;:q���nU(����_��;v��M�#Ftu�����4O^��n]n-_�������0s����M�>=��������m�(L�]�]����t���v��+O�������������0���
�{�����t������'�m��9
���]���|�{������7��������[o�����2�c����T|��g�8��;Oz)�qix*],4_���?W-�^�)boox�Y>�}����K����>�;�vupGGG>q��?�y�����/��-�j�8������hqW��{��|��)S�t5��3�o���i;�C���L��=�;t
2�l
59N/�gu��w7Y�|�>r����t���y��rKW��g���ko-�^������o���p�������q���5<+))�f5G�1U}�7���/��b�8�����3���X���K/��pql�����S�����i�4�b�����t�8HO+��'�������tuO����������nG�%��r���t������G�X�vm��E�5�]aWr,4�r��w��7[����1�HJi���`�%���J���]���Z�����^�]v��}5��^���N�7�t����<
y��]���4i��1c�<(��'�����G_����=���[>��cy������]�3!����K.�j�������{�����2v���)�?'�^x��D(�j(��������Y3{��8����<yo�����]M7���9s��e_��qzy[��w�*��j��<��'������&�#����=�����'7j�����'L���������l-�{��=]P��K�y;#G�l2��D~�����T6���:5-�z��1���b�'U^}��=����]����|u����k�Q��v5W��h��+�C�����|�i���[������+W���"15�r��D���k��.��kW�bY��n��+�v]5���\z��]})�n���C�v����Gy����k��a�3y�����z���}&��n�i]����������/�������\�Q^�W>G��Cf��f�����5?c���Qy�Z�����h�J��{V���E�����r��O�d��^![6y��o�P���0aB�1����NV������W����/L/59����6_Z��sH�}�<��E��
o����k��u�I�$����[��u��6�������>l�n��P
�O���|My�����tUl�t��y�h�M��;��U�.��M�J�
��o���u����b7�O��q�����6l�kR���k���:�y-v�kR���]�>��+V����z����:���<�?�F�����������~bM�f�����5��T�f��<f�uir���y���w�^�m�f����z��y��������<fO�v��~�{������sx��]���|,|�5�t5N�>����/�u�����v5�����M.�m����3S��W_�#����,�?0�`O��|g���e�a���y������������O��Q�Wq��;���O�a�!�7��M���O����8���w|��m�����p>�p���-^/����]�G�_��~Tse�����Y��5ylJ~;W]uU�%F=������[�_�r����k�*�v�a�".��������L��gO|/�K}�%����.���kt��B���j�g5�����}>0��
�f�����5���|�������{��l-_����)�Z�i�.�����_�����~��'��(Rv��m���U�>O,(_��\M���'��n��x�����.(�������������������Z�������w��=�ow)F�������o!����u�a�|m~|������fn�q�5�Z~�iMo���v�O[���]���������d��k�c��������6��k���}��k�W��a����?h��I�&��7/����[];���W����^y|T�_{��i��a�z�������vM���|��/���q��]�����<�g�������w��j�v�{�2�0aB�U:���o����7�*�v����O>5jT9<�vx�R��{��g�K�7�j���G�}�5���&���z4aVv���U��������]�79l����{���>�7Sc���#����D~8NWi����|@�������yQ>B%��j5���]��O��vMZ�M�v�����K�U]�>����f��������I>VF��,.ko�k�u��<�����������^������}��kr������]����;�ww}��K��������Gy���KV�^=w����w��k.�-�v����Ps�����L�+��K/��V��|_�&]�&��m�������3������K�[n��~'���k�|���Ss%o�]�n��m�.�/��+"1��W����#���o����Ir�8w����e*o�|�Xb��b����v�{��e�n��Q�-Z�vml���*�^~Wu��<b�z����N���ji��a��g]; �Z�*t{�ly���P.�2��+��i;��k���k������C�n�����h�8�k>f~da{��vY*>���3f�(�N�^w���k������<��eS���u���M�a�U���C����z�����l������<��G����;��Y^!��_��|��w�J�����E�b����cOkqI�q�>�:���-�����4(/�/B�O����#F��S����W�G�wu)���k��2!r ���?~���Z��!];����V{��%�M�,X����Y����z3mg�]�&7�+_����F�4��J�&���Iu������%7�|s�y��Q�q�y�>��e������/��/�Xv���Z~Eyp��&��={��VO��Qt{]g��7�i{�$���V�%�\��fV��]�&���w��\�]m�.�o���s��m�{O7��)s������t�Y~�@>�7o����3�}��YH���P���u�:��L�&��,�����kw`2!��-�=u���U];�so'$���##�Ck��3+zz���Lf����m���8���@����s�=Mf��SO�1�S�����"c���Ws��w�����Qc��Iy����%�Uc�R��wv��?����#�Y^a]�o�d+�����t���x��)=}k�!�����gBN�6m�gRv��{��&c�[����7�/�K�vI|��z���/oI��Y��>|x�Ozb�UW]����v5m�Y�f��V�Z�Y���-[V3C]���)<��My��G�����v�$:�W>�:6Z�����|�����X�WG��1�7���o�q��g��f�p��w�������g��e�����k����%���k��&�������3��G�shr*��m�
���]�0b��4��"��k�M��,o�X��?_,Vs���)y5]��b7n�s��I{��W_��V���C�_y��b�J��t�gRv��w���N�V���v�I�K�.mq������f���K|���W^ye�h�X�w�}��v1rGGG���v��H���o�^������LH/^�W��WU�H��-������)��t��06?&r���]u����������6��??��vao��F��j�����
64���={��b��S����7nj~������8=��{��r#��0�1rW���x�=��=��#S�N5jT�OI���������k�|*��M�6%S�LI/�����}�����0�1u���Ug��������H�?c��'�����k��i2Z�����=p������]|]]R�q��|�i�^�;-�G�n8y��v���;7>�K.�$����M�6u��l"f�&��O~��$]Y�dI���Y��~����x�.���7=�8qb�[��u���A�.�������W��P�r!��k��L�f����^{��#"!�L���P�YFz�����m��m�-1�n��p��o�=D�_V^����[�l�
���Lz3my\���f;v���95<P-�v�{��^�Y[�y���K�����uu6����'O�����������q���9�������[����=����/���&=�����5]�Q�F����V2_7w�W�/��s6|��6m����S��4�S�7��7�p�=�r��$&I���Pvk�B����m�D��b��>U��k���s7���a���5�N�6-�4d���}�>9�.������T��P����&�9Z�oD�����������~�y~G�"(�h�-J��7����A��t�������j�p����^;In/��l�v�z�	�_���dv�@��i\�o���o��{����BI�#l��9_G������'wTB���?;w�\�dI~�g{���{3��o��O����x�l���K����]��]��'�o������g��'�x"/e���5�����o��F�&
4��{�)�@c�+V�Hw�J�`�f�I)_|ql�|2^l��K��~B>�o�a����_�����j����KY�l�e�]��)�	)�vi�1{�1r�Y~�5]���y������E��O���m�5��Y��r�)��C�XJ�P1r��z��L����b����A}��|��G�����w����{��1cb#��T~���u�����oA�=�|�rl��A��kW^����+W��IGG������M5�|k{�-��Mj1���^S��sn���a�k���A��t���q�m�����o���_�2�v|��s�+������k���L(o(q�m����4��+��i���W��/���_��w�����������!y�]y���9Kvu��8f�9�+�hF�QN�������������;6V;O]s�5q��G�9����=��3����C��o�1W&���l~�V�XQ^��wq�;e���o���1cF}�%���5$C�?~�W\�g{�u����=����.�`��q1����>���K/�<�����������G�j�6��]%q_��T���k��v���������|�S���xbV?��O�
U�f�f5r���5M�m�}���W��c����bS�_X�xq�6o>[��$����x�+W�L-��t&M��"�a~$G���S�'�{����bV�6mJ#�I�.>��f�i{�+k�Z��'�z�97�j���g����p�r�k�{�U�����A��t��|����mF�M�6m���y�Z�pa�9u��<Z�1N���w�:{�	1��U��}�yL_��o�?+��5����[�;��F�_�%K�t�)�����Gj��({���Y�^{���d�zq�G�}>��]��C�q4���r������k��K/�_���"��P
�I��k^~��+�����l�{P3��	���o��]����]]�����?�[d];v���+k&,�v,�Um�qL�>���"[�li�}n���t�IGGGM���_��{��9�.M�4�I���'��m��F�Q���������]5Z��eNW�>��S5
���K/}��g�d������}�������3gN�yh��?�q�N
�wGlxE�>(��d�k��-Gk�|��.
�����kV�ZU�U�"������Jf���^z7t�:{�	k�;�����[n��5W�'�vp0���|��o9r��!C��j����&M�7o^���8�5k���c/���8$�c������{�m�Ax�<mL8m��X�X�t�`�S��OCz���j&�D���8�z��'c#�=:�6t��+�������j������P�e�q�������.�>q��7/Z���Ey5������k�ULo'�����c��=���+y5�v��������?~|��\pA�j��{�7<�����'�>������9���mo3������f�c���'����;��y����k�L�o?�T���b�7o�������x1��/��'?��3�<�U_4��cGl��yb��.�����O;@����K�<��+q��6N��I{j���5����}���N�I���,X�|w�=v���1Il�x������|�>Cv�������3�dl����
�����g������Zs��>�O<����SO5-���j<��#
G�6
�o�~�������=��/��=f;j|as�2��x���hW_}u��*���]g�3!l���)�"�b�����*���n���]n�������I�����/�]���B���];�
]�^���������}N���t��s�v��k@����%];���]/����t�zI�*�h��?��?���?<p��c�=��3��4i���;���:u��g�}�q�q���������i����z���}�k'�p���~�I'}�;�Y�bE�ho������?��Ou�Q���O;��k��f�����\���������}��?�����/}�����?��m���c~�{���1��?����:��c��??��������h7�t�!��^���t�I���Gy�����m��������#�8��3�8����s�9�v����@��b��C=t��s�������|��mmm#F���M�C>��.Y�$
��u�������/��V�\y�a�r�!S�NMCv�����>�����[y���;/�q����Z����x�0aBO�������iu5��������(9��Sb��i���6n��N�����?�C�y�y�����3����'ON����<��CW�ZU�v����h'�x��={z�\�7�������5�g���?��O�?_|��t)��o�]3�7���xi��1��t����kF�<yr�����������?��?�_��������{�\�7n�������~��5����n1�����;���O?�~��������o�����o�����f�%K��]�����A���0]�z�u���\�O:::N8������n�-��o���|$��7/
3fL������s������?��?��/^������[�.5��l�~��_��'M�T?������K?���Z_.�3��-K����g?����+_���G}�1�����!C���WU?�/��x�c�X�=�V?��;R�n�����g��O�>�~���tg���LGG�W\q��������.[�,����0����]��.��N:���}��9��'?���0`@���������zj�>k����.���x����v����d��M���g���������W����x���'O��;��;Gq��~��4Z������Z9�n��5�-�k����r[�@��b��������W�����N<��m��u���)������a�����i���?��c��>����^{����{��7��/}�K����^[?������K����/�Uo���$�'����^[[��w�Y3|��]�{��������=��G?�=:^�����o���|�D��GIm���?��?�GN����/M�2���@�;��;mmm��sO�KGuT~i��5�������Q3����/]}�����`������6~�����~5�9}����s��\�h;w�<���������h��o��B�9�f�/����{��g���N;-���Y����;��C����!�����������SN����v[�a�����}x��g�1�u����'������	����=�����-[�����w�K�w�q?�p�n����:+=�"��v��#�<2N�<y��=�{�C�������s��<f�H��SO�I���K�~�C����zkO����;�������r�!g�y�_��_�s�9�|9����?��95��)�����~6u����`����h�f�8p`�t��'�<���;��t�k����������O?�3��������;�f%[\.�{���������/��<���?��O2d��u�#��9����>��c�<��O~����
K�������k_��?x����|���7�z�����o�>z��SN9%�v�1�|�s��6mZ��lq�����Z���O�y����Yx��e_�����������}`���{4����'f���^����9����v���u������k��
�b�m{�Kw����_W��"6m�Z���m��g��m���7�td���l/��m��=����a���y�W�����i}���t�w�_W��]���~o���������}�����K?�<zM����J��s:/�@��3��b�7����������h���?���X�p���l/Z�"��]��j��=����?�u�O,b�[�X������_�s����X�������|���������p`�v��wl������#��_W��":�qn���;�������+b[v���oP�����������������K?��y�\��Q���]��2��r��e���\��i���w|��~{����������������]�������T�`;�����������'T.w��}��t�bA�r����P�.T������],���P��������w,��lg����<��L$��r�&�O����kw`Zv��p`Zv����p�9�d���{�-q�h�AwV�;8�ChJ�N�N��������n9��K�e�O����<����<u��]��%���]rn�;�@�����Sy=$�y*�����zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��@�s��w�����q�w��G�S�5j���[�G�:u��g��q���������i����z���}�k'�p���~�I'}�;�Y�bE�ho������cqGu������N;��k���{�>/���zL=��D�Cy%�(�"����G?jkk0`����z�gy�����g����Q����}/���O����:��c���~�����j9�M7�t�!���>����t�I�{�����/G��y������KGqD,���O8p`�y�9����k��AE=�S�A"��<��T��R�Of�����v��'.]�4
y��WN9��8v��<��i�b�?��%K��![�n=��sc�����<���+;��C9d���i����G��}�Cz�������w^<��3^{��<��?��8a���.���zL=��D�Cy%�(�"�o����c�X[[������=��?��?���?�CRo��i�h7n<���cx�6��?�;����y��1|�����W_}u����z��U��������B���r9����c�1H��<��P��RQ*����>�����O}��h/��b�������y����f�4f�����'�.\��f���'��/~�����o�9���?���e}����/^���r�Q����c��Cy(�$��T��1c������?�s���������O�i�����7����}���m{��/,Y�$]���L��
4�~����������rR����c��Cy(�$��T���~�����+V��_�Ez���o��G?���
�h�������s������?��?��/^������[�.5��l�~��_��'M�T?������K��/���zL=��D�Cy%�(�"�o|�_hkk;����:���|�#��{��g���!���<?'b��!1���������_�2^���>��	�G��cG���^�:�<��3��������������r9���c�1H��<��P��RQ*�FzH�������c��4��^�������o~3
������]�.\/�t�I���9s��O~��
�5`��x������O=���}��Y��]v�e���������AH=�S�A"��<��T��R�7�>���4���w����������iSg�����Z9�n��5�-�k����r[���������z�\�������z�\�������z������<��P��RQ*r�k�I�{�9���������5����s�G�K�-�?�����_�����3���N���������?������k�����o���'��/})~���k�������x����������
}L=�S�A"��<��T��R��\�M����1�D���'�/��7/~�={vW�~=zt���o}+~��qc����#�<�O<����?��?�GN�H���2eJ��� t ��r��+�{ ��r��{�|��r�����1y(�!���T��@�1m�����3�<�f��]�;��x��'��?��Y�~��5c�{�����W_�����?��?�f�������~�������������jF��s�q�/-_��G��`�S��� ���PBI*JE��o�������,]���Nr{����Qq�i��S��5k�v�a�z�o~��4��������w�r�)1���nKC6l�����3��c��^?��O�!-.���zL=��D�Cy%�(�"����G?jkk���?��������Gc�����GK}���;�����Y�n�Yg���������]{��G����'����s�s(�u����'v����L��z��1I�t��}�C1��[o��r9����c�1H��<��P��RQ*���m�>������q���g����=�����r��|��r�g?������?����7����5k������'�|��g�����.z�:::����8]{����3�0`@�����\*�1��zy(�!���T��@?�s��	&|�3�9������/���q��~���1g��y��g{��Gy�'?��a���t����k_��?���?���O�������W���}����G�r�)1�c�9�s����i��a�����S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�1�$�P�C(IE�(�Z�1��zy(�!���T��P-��zL=�<���JRQ*JE��zL=��D�Cy%�(�"TK=�S�A"��<��T��R��S��� ���PBI*JE��R����c��Cy(�$��T�j���c�1H��<��P��RQ*@��c�{�'�|/�r��HK��M��"!7�J�#.q�r�V]�-���i{\�P�U~8*8'�(U-��64GSu)M8!��M��������Nv3�w�_���������������������<f�D�P!KUQ������c�J�r��7��{����9�g����u�v�m�����o��6u��1c�|�����k����9��'�|�v���{��;����n���<���.[�|�:_.��y�<f�D�P!KUQ��Z�p�6�lSY�v�������:t8p��#z��'��j�Y�few���k��_����{���;>����}����m���;��S���[��C�2�s��q��X�l�:\.��y�<f�D�P!KUQ����W�Z�T6�l��U�I�&��^�z=��#i��y�F�<���n�=�\�.]:v�x����-��/?���b��7�|����=�����+�T?�_�~���K.Y����1����c����!d��*�"PJS�N�����{�}������
0 6N�4)�q��9m�Ql����SO��c��m����'N��N��5�s���:uz����������V�X�V�K{c3��� �C=�C�REUTE�|.\����v���o�[�����?�^����o7��#�<2��0aB:��O�8y���7�m����}��Q����^'��g��k��[�Y��M[����1����c����!d��*�"��-[v�5�z�����'O;�����}��%�66�4�v���[n�-C�����/�8�:��#���^{-�'�����#������)yg�yf�L�~���+��\�!��y�<���B�*��*�X�h��^��O~r�����7����m��x`%�S�N�^{m�W�����6,�����v&L�-�~x���nq��A���i�������m����������Q����/��v�SN9%�:��3��\�!��y�<���B�*��*MY�d���C��s�z�z���������#�����z��'n���q�k��O?�t�W�]��M[jW��:���r�	'�~�=��g�����q�~�jw��L����1#N���
7�P�g����xu^.��y�<f�D�P!KUQ��\u�U�J�c��Gy�7���8 N�=z�}�4hP�u�K�,9�����/}�K�^�p����5�����[jW��>'�|r�����qV�����;��#>����j/�C�q�3�<�������)Sjw;�������>����2����c����!d��*�"�����/�/��K.��S�N]�v���;�{��=�c��;��c�_�wy���j:4�66Y��������\��3g����v�����z�����X�r[s�^nk�c��m�y,{��9�e/�5����O�~���!d��*�"�\��$����o���.^���e��%�l�I�R�={v����������|�E�m��vq����MjW�.����r�a��~���'�Y���_|z���x�M7����W^I�v������>��O��?���j�<�����q�����(�~C3����c����!d��*�"�\��$�S�.]��n�Fw�y�J��}2[�^%�ZWm5�����n{��[���c�{���?�=o�����������YGuT|<g���?9���������t��_�r���hd����������/�v�5������<�������������~��8�e/�5���K�����!d��*�"���.1���^�]��=�]�����*k��_n��������5_�����������'����F�]|�����CI'o���89l��F�-]��g��q������rio�c�1�$z��zY����4�m��5���a������U��9�K�.�:uz����q���>n�����7�xc�����o��:tx����{���n��6k{��7�1��y=�C=�,UTEU�R�U��b��={>���ed���#F����|u��^z�{�����X�b��U��w�i�����K�V�L/��u�]�S��G}t��7��?��O��rio�c�1�$z��zY����4�R�l����[z���k��mh�.���0`��=��3������s����6e����;�Y}��>|�f�m�����^�,X��{��2d�]v���C�;v��].��y�<f�D�P!KUQ����m�j}�W��U���^�:r��M6��{�����?��s-ZT���?<f��^�zu���O�>'�x��3jw[�x����_�G���
�4i�j�R��K�a3��� �C=�C�REUTE�)�X���>��y�<���B�*��*MY������&���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ��x�,���y�<���B�*��*M��Q@�0����c����!d��*�"��������g���{���t��iM����&���c�1H�P��TQUhJ�n�*��Fm4z��������_/�A9���c�1H�P��TQUh��o�y�UW
>�C��J�k���r�����d������y�<f�D�P!KUQ�5z����>��~�����n�����z��?\����0����c����!d��*�"P�x��_�������|�����?~��E_/h��c�1�$z��zY���������r�-tP�.]*�J����w����~���k�d��y�<f�D�P!KUQ�u��k�]y��p��n�������I�1��y=�C=�,UTEU���?|�Yg
4�c���Je��6+�A�d3��� �C=�C�REUTE`m����^x�;�����K�.t�m������uc3��� �C=�C�REUTE�No������?��Ou��)����������g��]�U���<f3�A��z���������M�6���N���gZ�����W������}��$�c�1�$z��zY����4���^��w���������]��3��;�X�ti�W
J�<f3�A��z��������@S��1������������x������y�<f�D�P!KUQ�����m�����z����{�
����m�y�<f�D�P!KUQ��T�^�W�$��y�<���B�*��*MY������&���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE(�y�<f�D�P!KUQ�X�1��y=�C=�,UTEU�b���c�1H�P��TQU�e3��� �C=�C�REUTE�d�x����;�O�>]�t�������~�%�,Y��v����~���={�������n;n��7�|�v��S��3���`��]{��}�1�<�����-\���s��q�7�p��7�x����]v������ri?�c�1�$z��zY�������7���T*�=z���n[n�ee����/Z�(��q��;t�0p��#F��qr����5kVv�k���c��������w���q��������ns���i����n��
:t��!�;w��p��e���riW�c�1�$z��zY�������/������R��v�i.L����
7�06^x���='M�[z����#��-���=ztl<����=��s]�t������_��,_�������6�|��E��c����C����+�����_l���K��rio�c�1�$z��zY������w���J���n��X�"��_��_c��a��[[&M���m��9m�Ql����SO��c��mtA����'NL'g����s�N�:�����~��_�n


��S�������c�1H�P��TQU(�������������h�-��R�T��z�t����O/e}����y��G�Y&LH'���'����F�M�81��5*����k��>��S{���b�8k��iku��7�1��y=�C=�,UTEUJ/-��1"�L�xC������/���8������^K���`��F�=��#����dzJ��g�Y���_�����/�v�<f3�A��z��������@��X�b�=��T*�]vY�2a��8y�����|��7�Y�
���M�o��f����=;-����[qr��Q����_^��)��g�q��_.��y�<f�D�P!KUQ�r;���+�J���/^���u�Y���N����{������[��_�~��-Y�$����1#N:4>���j�L�������2����c����!d��*�"Pb\pA�>��<��S����~z�R9���k���������{��w�qGZ�[�W�/�>��3�����O�2�v���>;�:�����\�!��y�<���B�*��*��t��N8�R�l����_�g��9o��u�<�n���+�x�]��:/��E���<�����������X�r[s�^nk�c��m�y����_z��zY���%���i�/���g�2��S���e/���?N���=�3�\$�m�3g����[�Tv�a�^x���^xa�u�a��~����������/>=�P|��������+��U�����oR��������G�{�t�Iq��q����z}������c%��`����!d��*����6����]�u���"|��-s�=��E��9s�8�R�����s�������nk��~?~|�u�QG����''�|�������N~��_�����u�������/�v�5������<�������������~��8�e/�5���K�����!d��*���S��d}/���n���E��@�[�`��a�*�����t����3s����k���s��F�g��?H'���'����F�]|�����CI'o���8��h��={����O��V�K{c3��i�<�P��TQ�T�~�Kv�_\P���w�1�T*�#�8b�����6x���S��f����K�N�:����i��q�j�_y�����oL[^��
6��C���b�;�{�f�m��rio�c��2�c����B�*�b���:Kv���-+��}��Io7���b��={>���ed���#F����|u��^z�{���q���+V�X����8����Z\��|�E����k|J�����n�����'?���^.��y�<V�y��C=�C�REU,S��A;��O|�R�l��f��0c����i�-0`�=�L�s;��s����2eJ����b�������e����������C��e�]:t�'����J�y��+�1�X��1�C�P!KU�LU�j���A�*�z��g��O�<y����l�I�������9�,Z��{��?<f��^�zu���O�>'�xbv��j������0`@|�=z6l��I���u^.��y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =�C=�,UT�2U��m�y�<V�y��C=�C�REU,S������ce�� =����p�����a�����c�������-������X�*Z��-2����4�Az��e��[�VN�s���E,\�"�?��TQ�TE�v�E�1�X��1�C��L=���%�spz��%-r�=HU�LU�j@[d3��i�<�P���~�J�qA-r�=HU�LU�j@[d3��i�<�P��C���������@��c��2�c���a�z����TQUQ(�y�<V�y��C=,S���*��*�"�2����4�Az��e���S�SEUTEU�X�1�X��1�C��L=t|J~�������<f+�<y������O�OUQU�b���ce�� =��2���)���*��*P,��y�L����zX�:>%?UTEUTE�e3��i�<�P��C���������@��c��2�c���a�z����TQUQ(�y�<V�y��C=,S���*��*�"�2����4�Az��e���S�SEUTEU�X�1�X��1�C��L=t|J~�������<f+�<y������O�OUQU�b���ce�� =��2���)���*��*P,��y�L����zX�:>%?UTEUTE�e3��i�<�P��C���������@��c��2�c���a�z����TQUQ(�y�<V�y��C=,S���*��*�"�2����4�Az��e���S�SEUTEU�X�1�X��1�C��L=t|J~�������<f+�<y������O�OUQU�b���ce�� =��2���)���*��*P,��y�L����zX�:>%?UTEUTE�e3��i�<�P��C���������@��c��2�c���a�z����TQUQ(�y�<V�y��C=,S���*��*�"�2����4�Az��e���S�SEUTEU�X�1�X��1�C��L=t|J~�������<f+�<y������O�OUQU�b���ce�� =��2���)���*��*P,��y�L����zX�:>%?UTEUTE�e3��i�<�P��C���������@��c��2�c���a�z����TQUQ(�y�<V�y��C=,S���*��*�"�2����4�Az��e���S�SEUTEU�X�1�X��1�C��L=t|J~�������<f+�<y������O�OUQU�b���ce�� =��2���)���*��*P,��y�L����zX�:>%?UTEUTE�e3��i�<�P��C���������@��c��2�c���a�z����TQUQ(�y�<V�y��C=,S���*��*�"�2����4�Az��e���S�SEUTEU�X�1�X��1�C��L=t|J~�������<f+�<y������O�OUQU�b���ce�� =��2���)���*��*P,��y�L����zX�:>%?UTEUTE�e3��i�<�P��C���������@��c��2�c���a�z����TQUQ(�y�<V�y��C=,S���*��*�"�2����4�Az��e���S�SEUTEU�X�1�X��1�C��L=t|J~�������<f+�<y������O�OUQU�b���ce����W��������1����/����{��a�z����TQUQ(�y�<V�y���+��m�Obq�JI��L=t|J~�������<f+�<v���0�"w@�S�P��C���������@��c��2�c��D���E?�E����������O�OUQU�b���c�1�����!Y�������<f3���H�P�P�REUTEU�X�1��y�<F��z��zH�*��*�"�2����c�1=�C=�C�TQUQ(�y�<f3������������������~���={�������n;n��7�|��+E��c�1��y�D�P��,UTEUTE�5w�q�J�C�1bD�=��V[m5k�����1����c�1=�C=�C�TQUQ�V3i��J���W�Gy$m�7o����c��X�u�@�1��y�<F��z��zH�*��*�"�jP�T&M���8g���6�(�?���E]1�e3����c$z��z��d��*��*������T*��u{����u��G�Y&L(��Q8��y�<f#�C=�C=$KUQUh��rK�R2dH�Y_|q�u�G������<f3���H�P�P�REUTEUZ��	*����^{��7�g
4�����1��y�<F��z��zH�*��*�"�:�:��J�r�	'��u�=��Y}��m�k�{�y�<f3����������������O?�R��|���g���qV���[�Z�^`3����c$z��z��d��*��*�c������_�_j����X�r[s�^nk�c��m�y,{��9�e/�5������<�"w@�S�P�P�REUTEUl�ZtU�s��V*��;�����'�Y��=k������v�l���������Y�?|�V��]|����/��l�j�e/w��G������!'��-q���E�P��,UTEUT�v�EWe�9��v[S����������:����g3g��T*]�v]�`A��F�g��?(��@{6x��J�r�UWe7��9�K�.�:uz����b�n�����������={��#b���_�u�v���N��2`��=���{�����;�<w�����_�'O9r�&�l��{�����s�9�-*�J�a��e��sN���+���O>Y�����=���{��={�<��c^���}.\��o�>}���7o�_e��q�m�}������?nj��S��3���`��]{���M�����n���C�������X����<���]�t�/���@n1
^q�1�m�������G}���>Z�g=I4:����~��a�w��]�>�l]#F�x�����G����'j���g�������U�5@^������?_�_S�v�\sM��c����j����C��8�x�}�U����c�I'������&L���;��F_g���q��&����K���X{���9rd��C�}���u�]7�p�8��K�[o�5�g=I4:��[n�%F���;_p�l��jW�N?�����s���g�}v���_������s|�#�<���7@>�?��6�l5�p
:��U�H_��!���_��,_�������7�|����q���O������g��6�l��e�/���(>k������X��rJ�w����MK[���{�����M7����:�hthtPiN�:5>nj�.�gc`������x���n����g�Y�f������K/����UW]����M���z��q���cm>|x���-�c��;�znz�SO=U�2s��=z�g����Z�pa�n��Zw�ygv�[o������{o�ROWZH�������V���z��~����?�p����|����K.�-�^{����-����z�����������'�����m����>j������G|��/~�z�E][~���U�t�A]�v]��k��9^x�g��x��Fg
0 jV}f]=I\itX�Z��r�-����>�}�[�J'_x��
7�p�}�I'�.]�d�����-��U��^{-�������#���^�z�\��F�v����-���o���o�9N�}�����E��/_�������[TkVgW���V�v�m��6��z��;���~�����F�����3�<���O����;v������#�/
x/kj�n��i�=����g�����zk��y����^=��3������o������_�x�]w������Y���~��������#��5
�V��L�J�#�z������������=�L�������7�tS|<~��8�z��{��q��W^{������d��,���Z����{b{�~�j?%�a�!��3��G?��-���z��!C6�x���/|�q@:u��'�x�k��;�������>�����������Xw��?��^{�
7�-�'�����Z�{�����r�}�}�������88p��+^��^�z���NK�.��O�}��k��&N�|����M���V����������~V�1�}��gV��Fvg�qF������K_������c��O>9>�-����c�����wb������~����%�'�����Z��_~y������n��:�;��8���l�;/{������>�l�<���Z����<���9s��U�b$���Q�F-X����������{��;7�4h�[lQ�
W_}u�y������`�M�6�W�^i�.��^����FG�������Uo���?���GMo�����&v��W������?'����N.\�0N|���s��hj�.-c���nZ�)���J:�?~u��3����8�L'���o���~{:��~p��A����_������[���a��)��w�����	���I4:���W��-Z��_��|�#��������`1���8^�W��4�j7g�����g������������C�n������C�'�����[�;h�\sM�������i�y�ht���U������/~����F0]�`A�<��C��uh9M���8�������F�/���f*�b���C�n��&/��ruc����u�]�~����w�������S��={N�6��}�-�+�����j7}����;�3��n���������Mo����+@�if�n��qq�QG���|����o�q�_���/�s�������w��W�^��W\qE�s��w��w��O<��[�����7�k��%���_=�v1�
<����+����������.K'/���8y��w����B�Y�{����06�C��]��,Yr�i���m��f�����2s��=z�1"�.�+�9D}�����<�k��o���z������C��\S�!�FG�u��������C�K;��CuK�=��.���������m��l�]w�����W�d�Mv�}�FG����������G��O�>�-�'O��9e����;����f����������+|��l�A�_@^|���7�x��v�����:���"_�����wP��S��7�8p�������U�ym�htX7�=�X�Y���$q�������j���/�|�a�m��FqXz�G��5�U�	�u��|���5z���?<f��^�zu��5TO<��3f����r�-����s�j�}����c�
6�`��7����������;�����������_�����E+?����??�_�������m��������~|p����~b�����]z����s���?wv����;���n�yh�����1��9���Z��cW~�C��������^��4���/��d������E+�a���2��]�o�/�,�[�����>�s�.��r����V�e�\�K�����E�B����Kv��I���Mj�U��:E+����FCC��~����H����]|����V�Vn�{��w\�����y��C=4v���v��#�������/}��g���m��E�^z��>���}�n��6�F����k�/_^���7�|�!�l���[m������=���s����������>����<��:h�U�o�����({��W�>}���W�i������J�\�|�:o�/����g�����o���;���g>�������,[�����=zt�w��v���SNy����|#k�EV���V����={v��8������y��q=����)����u>��y�y��g����
2$���[oyqg|����|/k��V�~�W+]���z���;�l��������7�����Vw<xpl�6�3r��V�r�Yg��<����|�,��Or��wG|����O~���J�����s�=#�9�Z�o��������"u�j��Z�v��>�w�qk�Y�W���?��w���E����C�!'>���x ��[o����<����������g?��e��e���W���M��w��>x�m�M_��W_mt���
�v�j����k3fL�]��5�EV���
?����m�]�c�d��k��Y�_~yv�:�;����C���?���_���}����/~����Z�j�V�(2~A����Z�����%��Bn�U���_�J���_��W[n�el���������r�������������������O|�s���s�=g�n����_�k������|�k_kx�U;���Z���F���Y���o���U��c~���>���v/��B�>}b��)1mY�|�����tX�]�8���cc�U�g��~���Cc��W����[n�%�������_�����{�����ww����C��.����{�
7����.���.q������pS�1"6~��X�dI�x�}���Gl�~����;�(�2����;m�#�/|��n�:A�j�VN>�������W�]b �jW�m���:�;o��F:6��7��ic<:�G�O�������vk#����b���%~��{���WZ��C[	K�U��,�h�z��a�����N:).������Z������R�%�\�RWu����}6x�j�VZ�v��?��v]�9W��h(>=�F�:���~����������?��}�C3f�������>v�e�]�#�>��[b������o���/�g_���v��3���_�����{��>��u���X���_���6���0b��FO	�0aB:H'�����MK��sOv�y��m����=�_�og�X��_<j������_��Y�~x������:P���L�4)N~�c�~�������ql�x������������_�G��>�u�.n*���__������\�k�������+����n��?���X�V�V���+�}b��@���x���6z,X�`��������^:'�|����������<y��O>9v���������|���_|qC/�����,�������nth�H\����_��[o����=��������t��(��W^��Rc�������?��?���w����q�-��v�m8��(y�H|����.~V��G�1e��w�o���nJ� �?�|��e������_���������cL�������K/�G���W^i���_��v%�^{����W���9s����~��}�x���/��9sfL51u��!}__����{����6�U]pX��-����7��}�s�����{�q������|�I\���|����S���9�����';������8+=;��_lX�J������w����?�q:dk��v1��7.n���A�{��=�P�}��7�a���O�o��#G�����Y����we����_�����j��q������7���54����P�cm3W5��8p`����z��U�<�Htr����M�m{����[lT=��|c���UW��:�$�������D�����o���vZ���4�-
��B��K����H|���>�v!"�T�<�^�j����;n�w�_n������5:�?�p<����n�����F����(�'����Ga������m,V�A��V��p[b��S��^��q��	������}�������z��U�'���Y����ni�.����w��q����k�S������P�����m���&���?�O������U�H��)S��7�~��}�������ha*���Oz�G���?����!���?��S�����'.�v�+r�n�M�� �������|���~����:*."�1���O������������?<����/�R=���?B_!j#,��������!C���������_<�������������~���=g��}����1"�O<��o-n�u�%l��%�#����j�m����%6�5����]|��U\�������/��;m������_���1�����I��v���1���M<��w���>o��F�>6F�O9��3�<3=[�������Z�-"�����_���w����'�����@#F��~/��B�k��}�i�\�x���x@of��o�=�N\�x�����C��1��O\D\���#�?����6]����[�J�Z�7�y���(�P���cV��J��_��W�1.=�!>N?�������:�������O���~��`��qe�9������G���W>~\����%�f3�u~�����vx�M7���!3���>���d&N��F��~���\��1�4�z��8��I,=�?n]O?�t�'n�q��9o�������U���L��~��G������Z�}�����J�r������E5�H����[��3(V������;B�Y�s�n���1i7�z����?j�����9��O���}�8���T�����:p����Q��
�'F�s�9'�gT���>q'jX��Q����F�[���}�X��}��o&w�ygz��O~��'�|rd6���)��i�ni�.�~�I��q��;E�5�ZTl��R�m8-���i��e}���V�}�iF:~�����n-��U���c<,��"��������W������C9$n��������[B�p���{Jq�k�8��.����}��_N��i���F����s�����i���?5������q8y��G�VTE���mo�?��j�2�����'-{�c�5�A\����P���4���nK��_��Q��]�+
�������'#h��qD�cdJ����F�?���~�#I5�~�:�������V��� ����p��k��-$�a�-M2/��r=�v���9���q��o�C�>��-:S�����S]��s�O4�\sM�1���5���wc����n1�����
��� �Z\bLqq��_.���K�{�h������!#��k����WTZ0,,H�t<h��6n'��O?�����	�o{i�������(m��q�K��R�e�����e��i����j�E���~���Sx����-)�����3Pz��}�V��3�R��W�t��RU[���.���F�d��!k<����~��Cv3���3��Li)/��x���:a�j�O<���?����}��c�=���G���_��r��o1{�o����J[N8��F?�����/�,���}�.��iE1F�{����o��jW��azH8����Cl�U���[��?���U��l���m�����������]�d���I:���I���.��tc:�=������H?���IV��>���8���8�kwK��F��I;\�[�tiZ��C���_������!���������v�������O~���� (:�wuc��C�Pl���\��f�7����5>�4�	a�������f|/���������:�=L�ml=?�t����.���M}����f�N����g�{ez�k�������8�[�P�(p�������8r��D���o��o���#f���3��������`-��qk�R}.V?��80oX�G���X{�Oy?������p@�V�|��z��+�NV����������n<L|������'�x\Y�m���:�;�"������?~�w�}w�W�e�j7e��t3~�������-�!�"���?���k�B��Iu��shI�������T���Bv��vw�qG�qfo�1���:n�����\������v���C�>����T��m��V�;��?�h�:��s�}���8F������K/�4m�{_�Q<�T_���~�����SNi��Y��aI�1k��4m�����g������^�����+_�J�*��to�^\���e��i����j�Nn{����/����C��?~�������w3H��������G[�Y@U?���2�������h�� �7�G�$�]��,��j�]R�y��I�����G��)1��Wh�5��P�~��_5���bO=�T<>V_�Q{D���u�1�4���w�����-iH8�����N[V��v��V�F��}��GV- WW�|������1�dw���t�X�R�jW��m�;����:*�O|����������}����X�����\�H��qM���u���3�h����s������]L�in�b���AA�z��_���i�n����a�'�U_8�������!�*��w�SO=5�O����$�������O�O	���Vq G��� ��
���Z�����s�>��f��c�t���wZ�m�zY�����%������j�cVz��j?}}(p�.�������V������������V�����������^u����X��R�/KO����������������Gd�W���f�����\��sK�S�G��n?�����g��
���R�}'+���w�=�.?�:_>�
]����������1T����#�L'��T�����r�����u-���j��C��o�������OW���]z��W\��K����m����F7���Si�j������Zu�J)n����.��WW�~����y������|x��?��Z-���~�g?�Y��L���^v��6,����������%���V�e���F��I��v��f�I+T���K�Y��J�?��#��!U2u���U���NF���o�����.���+<b��xD�>�z��to��q�����O���7Z�K��q����X��c�������Z4���:�=�L�q�/w����������������W�Jy;L�i�BS3�q���s��b���-���{�n��V�skW�������B����:�_����|n�����^�=7������~�5d^Y��^���������o|�v���9���k�Y�p�.h�W�7�;��N�s��'���^Z}ZZ���!���������x���U�,��������f���Y�b�8�j������5��8rOw�8�ix��smc���UW�=�'}
�{�LV���8HI_m��xJ�;K�����S��_L/�j�R����U��:e��f�I?�����x�M������]�k?���]"H��P��tiU�o�����}z�������fV3������������Y(�Y������:o�u>����J?��w^��}�����U��*nM�3w���O�}9�x�oX���t���%M��7jK���r��������Q�k�S��f����6�����v�5�����Si��=RH�MCT�V����=������v�Aj�o����������,[�,��3f�B�Hv
�QX����|g���Yp���1�7�]��`Y�@��U; )p�.���?����Ui�z����j#\}�����Y����C���XV������=z��F��uh���t��Mq���������.���[z�hXu�y����O�6��G��h1�|�Fz���S�������-��U�R��h�����ZX}i@��W^y�>���F���U4�6��v���V�s[�}�u��3J���dz:��$����?�������]:,j~9�����O���i��]�������{TE������	��%!�3 �("�`$,���>.����EF�F�(#
�����&(�2�� [�8����RWqN��"�I�?��}R}NU����������{B)���{�b�����{���&|���z��y|��]�����Q�|K��p5��
��bq�;>6m�T�~�HT�;�%���p�ib������'�x�jTh���	ES��l�=�)�-]���	�
��M��IP�s�7N��m������������w|\�pa��=������()#}�g!g��4��^�E�O�7�>i���l��@.��\�jg���#����<&;;;��l�-[����O�L�x�Y��U�Oa>�j�A
�
:,�}&W����+W���������$����]U�Lh���[�S;�t����j'� iT���)|�CH��m��5?�#���w�^C�D�BOC-�
d�^�L�_�u$�1cFx2s��:������}������b��9�����Qx&�=�{��!�������*=JN�C0�'1C1�iT�n�v��i���������t
	�7��|�r49jt���K�y���=���k���Bg�����x�c���>)}0�t���c���\�j~d����d>�e���g���,$
�}0K�8���F�
-�\Y�`A����?O{������I��Y\\����6/Y��vx��1�D��K�u��q�T;_��O���9��H�6�\J�����,[��7����4�v@��YH���wgT�`2P�Si��DO�4�1F�#���l\�r�a����!���c�t��U;�z��)����
>��)(f:�a�����c����Z�;��\H�j��1|SHn�l�>i�|�2{��5�oh;w�j�>X6����_�c��� YPP`?�M�6�[�����\&QsW�f�`�Qg3��|�������7����p�PW�*�!��K����s���>�.I��8(��R��$��/�\����2B�.]�������y����=������|[\�$��1�).��.��1�jG.^��~���S�����k�_j�%G���&�T��M�95
����m��[�J_�>��������6����6�q|��)~F�����Yf�����r���[�
F����s�g%T�
�g��ih|&N��������a���R�hz�\<L���~
�FiiinX;�}�3�f��QN7pqi�j�Ro��n�����p�v�"��������=k�}�@�w�YN�Q��Q�1������]�z�g�vA����VJe4//������p���'��a!8�M��IP�s�7G����l����
�(�}'���,/����d4rMHcx��?�9OZ��r"�l�G��3����v&�1��3q&^�v�S.�(v��k�xC��-�;�5,�~T�0��%������y��]���qPv�?1�%�N���v����|�m����G���o`T%�(^�"���`_��C��{��K�������>"cpAd5�V�dT;�_��-~�T���0��%=J���y��J������S�`�KJJ�yr���sc6WF
W�\��s�p���y���b��9�������;��,*��?�������7�Q}��W�y���]��7h�x�t�����{W���8<�B��|�	&�9s&���K/l6l��s|���9`��H,���p�U;�zsT�����G�� ���qo�c�!|�A�*Up}��M!�,?��.����m:u�����r	GH\;��!�����_}�����Og���8�;�M��I��v��������
;(�}/�w���/f	�#QjS�� �]0���(h�H�����0_�5�G�I��on[�V-UJ.�e]1�^�S2F��y�����{�r�D8p��<�����v��.#f������G��82L������y��]<R>�t�?>��	!���Y���JB��=���'Or{�oq2�a��<k�//�&M���aP�v���L��������p
��j�Q����<���
��/�����G}�@��Z�7�O�`U��s��%v�*�jwS�Cs���~k__�fM$��k<���3X/���K�.�k�
9C6����U;_�?����[������D�=�E���/r��+++�����+�jGI��,Q�z���=+�xp��s�8�/,,�=�k����~R�pm���*�L�2%8d3&�}����8���{����X6����T�<�6�����[���=#G��G����z�����&j��F���l��}��������]�]�W��(\��qc��F��-2�+s?)��'�|�� �]
������9�M������zKR�so���c��)��m��hx�,]E���+8C��S�j�h������.���Q'-��.���5k�]�g��/#����'\��m��)�I��\��N�x���Y�fMs�������`6�5,\��a����4���\��s@x�KR�K�������j'� iT����*`{��C{��e _���GO�/�ML���7+����B���QD�(��}qM���� �]&`��v�/i�M���y>����&N���Rf;��9p>o6<��c�kO��T��;�_���><r�Oo�J��n�v��)�q��w���JJJ8�2����
�7�211FI1�e�5�������hB���[����C��h����i9Z,�WN�������Cs�&x
6�\��p/Cnn��?~�]/�jZ	U;T,�7��T2^Vf�`�w��q���	F��q��V9��^�����-0�
��SPP�N����'������c����.]��-���;wf����X�zK^�sl�x)\��|�g-]�4##�`W�c�ah��A~*�4�v�w�������b���|�n�����/_n�x��a.�0�BR���h�����W��M}n,����a&=<��O�Fc��<�c�t��xW����RoI�v�svP����;Q�H��Ku��1��B=u�T��'KZU;��S���S`������`�^�z����{�1b���v
���eP��1�G��-s�I��,^�v�S��(�Gx�i��$���#�j����_�-�2Ds^^�o`2����A��Ax0�F��[�����%��y��X�Ohm��	!HzU��'O�m���V�Z��0Z��0��Z1���	v������F��1F��0��r�-�'�=��#\�ydBi�~��	����(!$���_�`�QL]0E�={6�<�F��y�fd�^-J���6���b{�"����Q1?������`R��V�!~���<����|��<��������@���#Gr��7n�5�
�;w�Dw� �J��`�G73@��Mt���b�zKR������a>���)(fG�~/��,D��v����}7�)=C�k���D�o������AO�xjS����[�XN�Q�[�n�UA�������L����}�$�:?��c�i�h���OGbR���r�.��"1�����uL8�}VZ$���a��B��sOV$�����&���U;��
{�#oLA��V)��?���p
$����Hx�oJH�j�]u��6�rN�o/�Y�p!�	Z�OQQ�k��Q��V��I� ���KS���sf}p������[L��o:NN�e�D��c��q���U;w��8�8����rrr�1�Q�B���n) ���w��T)�(�G�0�0i��8�'������J3:��<i1\�p�?�����cR���*����E���4��S�������$����M4ld��!r�������v���/=���(�)`�B�-���g�2C�Ey1���_����� �"���%a�K^�K���s�?hifl�,��LP]���&#����qd��i�r�Q`�^{�5��0��f����=�y���o�6=���������|VVF|��x�5`N#��PA/�S�N.�IF�K�,�����^�zq�;&'����
6�v�'NL�8�&��1�aX�po�����6l��Z��H����a����UT������y7];���%<��f���uc��,�b��Mb��?!�����^�1u0`S���r7�����-y�l������~��x:�.�=8���=/���<�*�
1����{��/���OB� ��������v^tu.&��~��QWhN���x����E�@��QB{����	��
�`.
��v��pxcnk:~�8\Hx#�o���
!���M�6!�(�2Z>]��3g�������x66��R��ym����Caf� �����n�
�������vm&5	������q#�l�
��i����wO�w��1��C0��s��b�
����I>����WBp����
��M������W�������c���ml,	��6o��?�*��t�vh'�-Bm����1`���f�������0�D��}���|M�}�b7n\$�#���v^�����eDF@��Mc�m{�}�}��w��a�r�-��0N��P2�E�����1�!
:���E���g���a�x�������������s���M�����%a�K^��R:�$.��(�1I��w!D�H�j�*��%�>���7�R�J����`�����_I;NM�
G�U�T�	
�;[�l��l\o��B�����v0��_������o�_�V�RE&-\�����_�n������)D�E!RN�U�0�E�z��H9�V�+�v(��&���v���eH��	���]II	;���;S�9�7<�U���cGFF�����;]���k���������`�u��UdfdX�"�TN�n��
������)���Q9U��k�R�n*�j���/G�a�}G�&�T���J����<xp�:m3����������C�Z�j�F�/���(���+��h�q�����������tPN��!D�Y�����v��J���q��~���={2&j�$z�.�-y+%����W�� ��v(��&�tK���v����-������0`7�V���
R�
�v7����d�gE�SN�G�n��e���o��I$z�����S�9�7<�6�F�[�?���q��<��s���c|~����Q+'����y����}��-,,4�����������!Dy0y�����]��3����y�����1yAAA���DS<��c��,�^�s����8-�����C�v7%{����z����.��~��m<��g���6m*�lH��	����}VOF�+����'���R8�v����yC��e�*�\����7�j���Q��{�.�\��q�����z���'O��Xg���={v��o�������a���eK��B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B��~9���/;|�.������t�C�+b���'�$�n��r!�B!�ic���IJv���K������K�������%�.�B!�B�6R��m9q:�E��l���G�Z�jU�Zu����r���F"����?L��?������5��v


���~���tg$����G���$�-^�m&77�z��w�q��	N���Y80f�����j����[�O�>���������6m���Q�f�����o^}����/S�������233y�?�0��\�Kv���2�^|�����/Z�I ���
aX����U����M�>��e��
���
4@��h����~����d�����SS�NE���l����n6l�7�|�dY�B!���jw]4m�W^^�C=����{R�����z��YaO<q�����/_��R��=��c�I�v��w�^�V-������v������]�[�.j�����z����d���m���u����u�������<�@i�5�]�y���a��p���������/sY��v����H�+7�aI�j�hX.\����?�����Uvv��u��d��e��=h�����u��w�o��F����
�B!�)G��;F�9x���x������+W���������G��5������+-���%K���������r���|���o��/n��%.��O�x�"/�Y�4.�������
��c������{�7o�����L2�U�TY�h�\�|���^bq6o�\��\R��	��:��F�%!7�aI^�s4,0YYY�/������S�����a������8p�WN�>]TT��u��9{�l�K$�B!���T;w~��'�!!i���>w�\���7=��h��m��^x!-�]����u����S�N������������c��-}���L���C����G�fff������N����7nl�c�����?���:��'O.[q��v�������$��9�'�x���:�#<x����~`+5�9s�L��U�'�/s��B!��H�jOa��Q��v[�j��4i���n����f����?�x�-�W�^�F�V�Z=��������[���b�������S���i��+��={�l��5�f����l����2eJ�|6h� r-��_=��ps&L���e���l��m����Ms���8p�!�}��S-�>�,<���\�Myyyx������������������?��sw�q��V�Z��sO���{���]����]�v�������K�.����Iv���*�N�wk��������G���>�V��
����W_�{���'O���\(���A��9�o����Gm��9*�[PP0i����b��;
mlg9���yF������Qu�����G���B���^1E��v�6�$|��&��\��p�B|���~|V�F���M�6���&N��k�._�x^|y�v����~��x�0#G�������***j��qVV�<�����m�v����������R�w�5�1���={�^��i���8�����o���A`�+�LG�-I����-:t������#���X�b����~(
���T���|)���8�I��cGaaa�z��
�I0"��e�������`v��e����n�
Kx��j���nx�0Y�xLn�&q7,����_��� ���o_~t4,0�������O��P�H�j����B!�B\/�U��n�Z�N.40`�o~�z@�#L�&��#���;���|�dM�4��	&����3�����+��'�`xO�8l�0_6���������/���O�m��g��_��sP�v��E�����A�����?�����-$~��W322�9�}��'N�����}��EEE�f���Y��k�}�]\|���������;���_��_?jvXr\g�z���J���Sff&�r\��M�3g�p�F��u���y���;).}��W	��/�+�y��������k��
����3g�J\�����������:�2�[|���s^4��������^{��M�����������S��O���K�t1W��8�Z?r�L��'�������jn(B07������Y�S?u���d)!����o����.�V������}�I3�|��B�G�F��r�-����F�40lu�<yyy�&M�;w.�8��l�2&K�aqQ��{����,�?���������v�\�4,�3� �����/����w�q����K�P�����|�n�g\�CM�
0,�����f����gaa�_��W�'��c��v��z�)�}
|��{�eU�;��$l{T�z�����:�P:��a���aa�=@Kh���_s��$
���9F��Z!�B!DJH�jw��%zL�[��>�����C���Y�f�2n�8��������:u�d�����[�a��m�V�J\���o�������s��?�����w�p��l���LMf��Qf�#����"������U+�D�>��c�:x�v����Fg��CD�0�^�?��y�~<~�8]�7�x���;w.�E������?u��\�re��it�MX�xL�8)�.]��� ����r��CqX�����O�~���#|_����=�v�:8�[�n5��*�����q������b���.�.>��#��o����l��H�-�6?��37��/�7iT�v��]�Z��U�~��g�����9��x�����cG�?q�{�9��]�m���7o^$�
>��%�j������$��������o&��$
����{��S6_�r%��Z��5c"�]�pa��A4,��s��n��������k\322�^���
���(hX\���:u��oo~�9w�>&����aa��W�^0�YE����a��qc���D!�B�Z���}��G��|[����g������+�*�^�E�k.�2� U;x����w�}k��J���[v�>}�D�]��2�v�|�	>6h������#�Q|1��P����/����w��wo_��H1�\�|));�����I�e��������|��I���e�/%��>� �8����;l A�jg/��"��)))�����s�b��S�F�pp^,�������_�����^^�����A�#F������O��~;�}��E>�>����[7����x����������y���iT����?�����E4�nt�U7n\�����'77�[��jg��^��q����Z��P�{��g������������'zI�9�����yPXXh���>�h$����������jW1��u���3:x��������r����{����eX\����0hv���g�69����n��y0��9\W�2q�D���t������B!�)$���?���!i�~�i�:th�O��hHP��]*������-�����(��Q�l��GT;�������o�?�=(�k{A��������)
�EU�^���b�F�|���Y�!?r�����}�(��"S�2[�l(#<��S!e9|�0�t��9$�yh�
|��ks�d����;x� +��n�5��\��=���V���X[�l����_|A���.O��bn���`.����+��K��-�,))0`k��'k\/iT�:v���\I��������~��Y�.�2�]p�"��`pK/��%�j�2�."���{�����&iX����8�
�D#�cAA>�����8F�������v�Z\���	~/q����"�k5��aqi{���UpK�.�mr<
���+#�81o�VMm����ZDcC��O���YM!�B�*���1��s�=�0M�X���L4�x��x����^u7���}�#bR����������:�A����K��[�nM'��v��!�[����Z3���d��m��Li�n����P����_HY��/a\5�v1�WF���Q/�6��3���>}��o�k��gT;�:Is=\�I�$��`\��qL�%11�u�����;SP2{+�4�v���(����0M�S/����O>�,�.��r���<�Z��P�c�����`Od6�@1I��P�3[�}�M�0�h����3�]���Q
����G�������q/}��5�|1hX\���M���aqYkG�S6�r����X��?�!�	�i!�B!DH�j��cA��1
C���&(����C�\a��I�&�c�^��q��u��k��[��l�*�j���0y�d/z������R:���
X����/_���?���A�.���!2���9s|�x^�)2<������1h���.��v1�4�����V\\|�wD����M��d���0N~�j����:�[��S���;��8p`�����^��%�l�����>F-�g����c�����#pO�d��V��4�v����YH���wgT�`2��|�����������3,T��G�T��U�F�8�e��U�aak��w/����Ek`����L����K���2�U;���h��4,�7o�D��`�c�����=������\��;�X!�B����1e�2���4q�D~�:�f�_2����-�h����r�����322�6mjN=��2���3��xWW��*�s�H��	rk_���o"eR�xV���3}�xCS�`e�SZZ�����v]�v
�����b�{m�������=��	W�\���j������Y9C����n��]�Z@h�|�2���s-cF���������N�&Mr9T4��Q�c�����\����^���T���`�N�aI���!��3,��O��NjT��1,�C#�v������JF�����.�
W�\���MN���:u�����0Z�z�����z
KF��HB!�B$O���c��A>s����������GbE"��F�Y�`?��k��Hp���b<i�$=������A���c���HL�z����X�O������#��E��%K�"#�8�&d��
�UA��}OJJJ��~��7��XmA��g���v.m�Q�������j������H_y�~1bD��|�����j���;��|��.]��<V��{w����R��=�]0��#^O"���SLsQ\\�����!q��s��D/��%�j���<���$
��j�
��%48F���/���N���T���7\�si{�69���y��12g�{Lt4,�^�~������3��G��9B!�B����![�n]�*B5������W�Z�4R\�b{�T�
}O���k$��^��O>I��G�%����5k��f������d�������\si��y�����t�B��\t����C��d<������\����_�9d���)S"�C6cb�����o������.|�����u���y�����Li�wi{I�v��S|+U�tgee�J����+l�����]��6r�H~FN#���Esn��e$����!��%��}���2�>m����8a�����}���4n�����j7o�<;�/��s/d�KB�n��I1���%K��$|h���Q����g�y�N��S�^=�AcXX�
4�x��}��ioe;���/�4���k$
�K�KR���
��,'�M��������hXx<1���A��Pa�S!�BQ�H�jw��%x��s��S2�����C�a��qf�<S:��9�T��W�n��9zpdxX�����������z����Ej��
������5����f����b:�������9�^0]Ks ������?R]�|�I���]dz�(���G����7�-E2��fC#��>�����1�IPQ�+e��O�:�t�b<z�F���Y	����=�X����.m/y��{�rss�A|�{���k��E���Q��<k���x#���r/:t�W�m���a����V2��������������L7tC�I~~>_��={�T�
f����9���xM�4��MJ�3M�6�2H�)1,	U�}��Q���u]�x�k�\�%iXU���~�]n29t�P�j�U�aa�O��dQ���Lka����qc���yj�}xk������U;G�+�F2�|����'�|�Z��{��a���"D�G�0���S�#���
!�B!�'����u+�#���=���."������Z�n=z�hx^<�~���Q�������wo�V�!�=^>�������s[���F�o��.��$JAA]c��	�����Aq��#G6����~��1�p	_x��z<�q��Q���������Kx|\zd���3T����z~+��H�y�p�������������e<e����A�0��#G5�m��x�?�02���}��Q����K�zWW��'����%����,{��]�D�o�����N��?P��'����B��������;w��z�;5y>|�I?�F��h����?�3U�Q�o��&km/�i���7*�^@�p�B��
����"6'X#h��W�V��g�E�8p����zhN<g�GJKB���.������v���� o<a�e�������aqT�P�T�rrr�2b�4K�_\;�B��
FXc.�����o���������n����gs'i���G��#zc��m/y��s6,��-��H+��5F��M��/*�r,F�C3CVY{�D1B�B!�e&���]4'���n��P�v���{O����O�y��^��i�|gP���a�g�}�N�:p��r��1C��X��b0:P<���yQ��mAA|+��E�(�HH���9��n������|8q���z�j|D��]��x���9s��j�
����q��m���������p��U��p������?����R0>��|%�vh	g���0a�|�Y:t��������F��b�#����=s�L��������a���u!Y�6m����^JT;/������OGx��b.��}����8���������?k�,�����8��N�\EBA�u�v��W�_~�%�j233�a���,��t7n,**�_��a1��.\ho�d����7�x�}��hl999w�}7w;I�aqQ���1
h���h3���:t�>}��S�\��aqT����'a��4i�"�H��h����)���aa�����c��A�w
��i��maO�a��^�z�\���CkA@����gX��^JT;���l������~������G�u����B�A2�^�F�0R���!�B!�H���v����/Q\&�\su��q��HY������"*RK�U��S�G���_|1��1=e ��)�B!��f*�jWRR��;w�,����BV�Z5o�<;��Q��z����H��	������#G������Fu����G���MR��B!�7�P��g=x�`$2dHd�������=n��;w��E�a���T���J�������o���������=���T;!�B!�
��[w$/�u_��/��pQ��-[���&M�D��??~�����g����[��U�A������l������UH��	x����Kv�IzK���������O3��]w��bN:�1cF�D��B!�����_�$)�
�r�����R]T�y��1���!C�9Ray�Q��i��������U�V�f�.]������=��T����'��]}!�_�M�[
G�N�%���{��Q�F���u�������U�*>R��B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�
��s
Z�
endstream
endobj
10 0 obj
<</Type /XObject
/Subtype /Image
/Width 1682
/Height 922
/ColorSpace [/ICCBased 7 0 R]
/BitsPerComponent 8
/Filter /FlateDecode
/Length 50273>> stream
x���	���a?���1�x������4�����\��4��V5�����������9���,
.����E��� (.���.��	3��������������{/w>�3�3������s����44E��'�T������*������������{K�����5z��7����?�)���[�]�������7���o���WX�>}�<���_�]�vE[�{������_�X�g�
7��}���Zb�Z�W_}5����n�e^x������}����g����)�B@��v��c��hun������,k�ZjW[[;v���O+�Z�bE4����~�IR��q��.l���7l��/'�Bj�_��/�V���*�Z���=��3��������2eJ��d���2��;��sO��������~�<z{��=b���eQ �!C������3����]�?��[W�e{������x���w��M���y��e_+_�]��,&L�����_�qj�<xp�$���N�!�3%�������M��}�c����O>�d��3����(����?-^���U��{w�C�=���m���{/�ZyI���������[s�T.>����v��^����vs�=�D��G�����^�&<���R;��_]jW}�Q�����[__�}���vy���{��&u�}��8�\,Z�(Z��o������n|�]���%����/��4-~i�����;w���0.\m�;���Y����qG���3���>���rq�wD���3�q1�q��/�+���'G����n*��4a��}=z����v�mR�����g�}�Y����qG�BjWWW��O�h16l�P����7���`J<�[�~}�����NK�,�L�����e�2fuuu<��7������S�L:t�
7���W��o����IV���f��9r��P�g��#F�x��6n���rf����1c�Q�>�h4d���,���[��{��}��2�<���m�2o�-[���3g���������&MZ�|y���8 z����m��o�����D��l:qj�-�k��hM
6uX���aS7^����a'�!aR��M0`@�n��nJn�&�������^z��{�5jT�a�{���6~��0�?���6c��w������?�{��a���[o����q��[�vm\,��D�gJ��!���}
��ys8t�c2��&LX�pa8��\��Q�W8����f��_������(>�#555a-n���06^��K��E��6mz��''N��p�D��M7���^{-�����M~C6~0�Ia�O'l����A6lX8�C��a���"����?�d�\�V��<���wh�����e��5~�^���&������S����G���K�S��=E���.|T+���,��G���o��R�[o�5���j����or����r��t�b�����c)n�����w'��������YMa������-Q��4]���w�^x!Y7�]SS�j���a�%7`CsR���C��P8���{���{p�!����i����]T�[�n{��i����?/a����Ed�wH���P�J���O=�TX�&k
6���o��E������a���E�}��G��o�8qb�O9���o��Ya�eX���G�[������v��/0`@��a�L�>=�������nF����'kI���]�v�~q\0b���#t{�bR� ��/[�l���qo���oN��F����A���2��O�	w���2����	�Q�����oG+z���
O�N��;�qr�����'������[o
�<xp�Yv��X�d��m�9s�DS���u���W�^����w������M�B���3��L&W�Xq�}��l�Pf��YQ�x��92����I��������e=zt�Yc��M9*���:����[��,_�<�*��g������\���b��w��wGC�<S���
����'��?~�{��aG7+&�*��o_�[��I��!C�l�e�a7�/@�}�a�V��
�j8�Rb�d�R�j$L$����
��������r���M�v�-�6{<��U�}q���'�g��Pe��I��~{8������#�]���C���*�a$O�0������%	�*.��x	����C�o��[�S����FaB�Gn�����W����B/���/��r���n{�I�l����]�
}�0�0�Gyd���q��7���T6��P8�j����}h���Q��i�D���l�jcqg��_ln�8����h�?����@�4k2dh|T��q��O?�l���{�]�l�+����Uf~�]��c�cX��|�����_�Vy�)���{���Y�����o'K�������GG�����[ >2�)����4}����C�p�������������3�D��ud��yQ�0���\�x���n����8x�N�;��3�r�=�l��=^�����������s�=O$4���O�
;+y���gR��u��]�����6����6e��I���k��c�6��eKrl�������0��m�`�������ryI�B�z����w�N)������C�=z4~T�g UUU)c�I���i���M.|���A�R�>�����a������_�pp���={�L�����v����7Y������<��s)c�9��Q���&�K�!���eK�����Xc��M�����Hs?(�����}n<��7�����??:l�,���o��'Z�J�����]��{���6k���T��e�������rT�q$����f���)c���
'{�����gna.��U����%�����O�0�t������n#��3�8�������Z�*9Jj@,/�]��+�4����g���7���W7�xc��lR������[���1)�b��������S^Mvp�]�8Q��:Q=�����7�;��l�g��7W��Q���`��]�k��S����a��y����"K�f��f��/����KQ����oG|�����o������b�
o��Q�Q�F���������9�����v�q��������c�&�u���eR^�N�)S��r�-�������-�/�O����r?�sI���{�����:�
S���!��)�Uo��c8��/_�r3���X^R�~���{AY��d����?�pT�[�n)��L�V�^�n���
6���w�=������J�J��R�0��z���fI�v���xk���#%�iVp��P�eH����5��E^5�����k��I�izq���[o���������W�^�;e���X�|����]�`p��Uq�t�S��%s��m�b4��l�),^�8el��uCn�]UUU4v����_%��d8��_���A$�
R;���M�4)���>x����'���[��I��w���s�
����{��O��h��4���v�#�}!�dj���fq����?����_�����&9�t9m.�o�����
ml>���������3��S�����?�x�X��v�7��+��0aB������ ��<�gY�����_2�xiy���.F�y��x.���O��y��Cj���s�6q��w��<�?�h�4��!R;b��E���~��Q�#F�+�����0��vC�����C�)]�����y��SH>�w�]|S_��[f#��ex����O8��E?��(C��5������7O�`��ey�������P|]��t��*�W�z���b���=z�HfJ�J�2b8NeC�f�u��S��u|)�w�e�lJ�:��
G���+�{��pX>��<��~���Z9��
9�v�������31.����Z�'H����M��K���Kj7{��t��S���G�+�cj��I�t���s���SnKK�f����A�v���R���%S��w�-[�,.�rW^�����v����&M�l���n�5k�k�����l�s�=��x�����y�w��� ��G������>�����_bM�6���e~S_�R�tGQ2�k���X�����&�\C�m|4�!�;���!��.y�a��<q�dp	�[����7n��a��v����e����]�O<����)Me�[�"��j"��:ujT7����%S��w�$Wv��e�Q�G�f���<�S���O.\�p��MF�{��1cF��4�o�1���o�}�����[�.>v����7����y��Hh|��5���exg`��.��,��H�������R�7�x#�%Oj|c��|�m��/QLq��7����7H�����.�e�o��!.���.t�����x���\��%�+����|G
Y�v����U�V�w�}�n\��-Z�(�������)w�5K|+`�����&��xc�qk�c�^���)�*K���e������3��i����Y���Tj�z�������o�Z��tc[�n�?~(���Kl������@j@���v�?�x<|��-���.jsS�u��E�v>��)��e~3^�	�W_}59���]����3�L�<�G�����^�r
���}��v[�*&���w�
y����!�g�w��
��?A9h���iJ����z*�>i��t�B�lj���M}&#����V�
;7�0Md��Q)[Ij@���v��a���YN���]���AH�v[�n�P2�%�z������v�pD=������hV��&�p����:?����hH��S^�6|����l���������5$����G�]�v����;��s)��.�\q��{,��sN�0�xF)w�J�����n����W^y%���������	���7K2�{��73��_�V��e}%��E���/g���K��.��th����t6l��g�����>Yl��Q��+��!��	J���F���!^�xq<��J���}�Fcs����v��?8����k��]2�x��G�U���O>�������&�1>����+�H�vs���P2��)���Q%��m��)^�_|1�Z��_xp��M�6-��s�=�����o�9�X��Q���z*~�](�{����R�����n���Gie��v��{����i���B1bDr���X�o��]��]]]]���F�JW��^�LhVj���k��%��
6,�#�[�n��<�:uj���;�!���}�}���_��������m��5������{��YVIg�����X�re����p�/=;vl�	f�����K9��w�
�<yr��)'��y�R
7��s� �7&�?~|X�����W��6mZhO2l�H|��1c����a���({����z��c���N�����;�5��y����YDe3S�8m�>}z��2L'��SO5Y,��\��;�!O���925~���*��hV4���l��,��i"<�g��~O�~Gd��aT�~��y������?��X�3%_��S�Q�FE���Jy�8�v��^�z��$���oqS�p��;+�f�uc7n��N���R��#1)l���
������E��S�}P���v����{��h`uuu�Ky�v�OF�����_������Z�j���aT�eq�J�n����Vs���"��z��9|��n����3'��jjj~��x!o�����D2���<�vK�,�c��1k��IY���w��7/B3�-)~����+�N�A���[��s����S���~i�E|���|m�O���+���;������k�O<V?�����+�)�nqS����_�������e��H"ai�{��8�k���.�����|����r��!����c�-�+���
�^4�P+�y(c=�PeB�M0 t<�����3g�L�~X�I�&�~���C��&_��}jz�q��O��~���Y�&��z��q�-��y��UUU���"ax��l8��n�SjW__�w$g��w����B���"��2l��%�����#GfY%�8��{J:��.��O�&�P�|��k��xj��8�
���;q���S��;6^������S�L����"��?�R��.x���S��q��M�0!T����%KR����;��,#�1	8���"��K�;w�L��f7d��0����g����[��t$+��<-[��]]]����+�����jjj�l��>�{���*^���x �T��7���w��M.p����x��&'�yG7��k����={v2yhR�}�Gv
�|u��Y������_O.O��&������5Y,�����_��]���*�:j�=z�o��?,���RH��e����6i��A�V�j��{��7b��u+�G������D|Dj�:m����;���������1c�;@�>���Y�f�����
���gX�!C��{��a`4v�����|�]��0p���YV9������������7n������6v��y��5��g,��n��7d�n����OO�<9l���{w���G�?~|8Z��D�vJ4��k����x���_~��b���qH,^���b����<m��O���q7g��p�G�=���?�m��d�p*�37�H(�F|f�Hj���Y�t���S�1�"�KX��#G�s�=/��b�����a6����N�������6��#��,Y�||�q�������V8�|�m��[�.��@+��{��!��o�Y��>�����7{q��m��q������9sf�O4N�4)��n���B.�B�7}=���M�y����2^����]���3gN����Y�pa�=���{���uk�Z��_~�[�nqp��{�����?~������2��1
���U�P���A�|:
���f���S�L6lX�^��u���O�����}����-��o_���\��W��U�.]��o��S������jjj��2e�����QG~����vZee��m�[�h���^z���w���s��W^y��U��\�\�@y����;�����N�:�u�Y_���*�;��s����,��_�*o���g�q�y�����/��}�Q�������m���w���s��{���~��.L.u�<����GqDEE�u�]��'�D������~61bD\r���a�q��|��h���;/���0���/���Y��}��m���2eJ4���n��A�����xM��.��~��UTT�u�Y������{���9��xH��]���S�&�m����#����X����?������{��axUUU����.���{�o���f�J>s�����?��?��\�vm������woJ����ga�����?�t���?~J����0��/��0����e��w^�g�}��h\r��Qa���_~��iS�N���w�[�|y��m�9�R�^}}�7������q��EC����O���}��F�y����%K����=����6n��r;v�hr�����7x������O?���:��g�0����u��O<�Du��'���r�)�����D���u���i.u��
2�M�6G}�������_QQ�����q�����Q�;w���=;����r�l�z��&��R�Umm�������N8���_N�:��v�=r��/�~��&��K����2Y�&Z�n���������_��;���2v��a�O~����O�F�}�����K����9����6l�%o�v�jrr��X���B�26��u��3�8���������o�����>r"���C��+��"�N��F,^�8?��3,�A��2�{��s�9�������emmm�e��_
t��!Nu�E�Qc����<��S��s��M)6j��0��K.��$���rr��WVTT\~��uuu��}���������_��}��|�3���n4���2��.���k�0�����0�\�@�����K��2.zH����z��g�!7n<��������*.����w��1������o��-����.9��S�����9��k�7n�A��2�����{��i�[�..hA��]���oE	������W���1�]�vQx�����Gq�K/��,v�����\p�A��2v��gVd�z��d�����������;v�x���0`��=�'����_z���w\��t�r�5�$��H��]�u(�}��
0�]�v�V�j\�{��i�t�I)�-Zt�����:t�����W^��4��K](k��=��s������k�	��t�rf#]tQ�������m
��_��w���s��{���~��.I.u�l��9�S�N���2d�a��.�����0���o�<�5k��o��m��S�L�����
4(������'��P]('?����t��h���{����?�a��d���~��P����N~�����UUU-T�����l���!���7�F��7/���t����??exUUU~���P](WR�������-[����M��7����;e��������;�%�@����p�	a��+&L�������?��W\��?�q��q�%K��2�{l��7n�B�d��\�@���u��1�:��c*>����_�xqT��'�CN9����kjj�����kr����06���o�\�����vY��d�}���{�{-JN��.���:��Gyd���7o�3g�_��_��G}�G}���=;�y���79�6m����W�nrl.u(��{�����oK�u��0�m�;����%]jWWW��~555����m��������!�����_���s���2�����m��.���#����pH�26�P��	�t����������K�FO�6.�a��(y��kW����nc�>K������
���{]���u���� R���'�*��~��uk��F,^�8?���M'��@a"�����
PZ2�v�v���aC��}��
U����F�r�)���s��5jT~�%�d�{.uhiR;�bI��M�4)�����o��������|�+aT��}�!�����+��"Y����k��a��w��a�����I��%]j�i��N�:�Q?����n�
��s��W_y��|�A4�������cXUUU__��?�������SO=���6����3����q���C��@�I�
����:3�M�6_��W�!�@Tr��Y:tc�8��0������G���g?����&�9c��v���Q]�t9��s�=����QG��K/%�]��a�\pu(<�@����+�q��k�^w�u]�v������~�i�]{��k��i<�����K/=���:t���K�k��f��u)e�L���@�I���H���H�h��;�{N���?�����������g���b�eB���V\\;���'���g���V������yJ����������y]�'�b�'�^�H��Oj��.���������J����Y{[:��~���[�u�o�^���#��?�V^������]6��o��~�������v���I����������Dv�O����(���������I��v�����R#���Pj�vR;J��Nj@���I�(5R;��Fj'���H��v�����R#���Pj�vR;J��Nj@���I�(5R;��Fj'���H��v�����R#���Pj�vR;J��Nj@���I�(5R;��Fj'���H��v�����R#���Pj�vR;J��Nj@���I�(5R;��Fj'���H��v��]��v�?l�����i��6��	��pQ��
�Z�]��v�?h������?a�7tG�5�]��vw���#��g�/������S���(�3 O�ve��&��~����NjPj�vR;�@���I��v�Fj'�������NjPj�vR;�@���I��v�Fj'�������NjPj�vR;�@���I��v�Fj'�������NjPj�vR;�@���I��v����]��M�z���K���g��'Lv[���m��2S�����+����q�?�}K�u��0��������I�J_�R��C��td���?9_�����+��x��&�3J�Wj'�(}�J�
�E?��J��v�Oj'����\Q�����Nj'�Z�b}- 3���Nj�f��Z"@fR;���h����D���vR;����
���Nj'�Z3�P��vR;���I���$���I���Lj�&���Nj�fR;�4I��vR;�5���Ij'������(MR;�]�v��k��X��K0�������yiU�E>O�U���Ij'�k��nsu��,k��.�f���6����H���$����Dj7��7[:��~F�\��She�v@i��I�Z"��|���I����|J���(MR;�]K�v�����<�@+#�J��Nj'�Z3�P��vR;���I���$���I���Lj�&���Nj�fR;�4I��vR;�5���Ij'������(MR;���h��v@i��I��v@k&�J��Nj'�Z3�P��vR;���I���$���I���Lj�&���Nj�fR;�4I��vR;�5���Ij'������(MR;���h��v@i��I��v@k&�J��Nj'�Z3�P��vR;���I���$���I���Lj�&���Nj�fR;�4I��vR;�5���Ij'�+��n���)����kF��d�.���'�3(R;�4I��v������0�O-��%�,>������M{����!<�����
���C7��R��rR�����}+.��|�tK��o���?(�FMc��
U��p�1-�'
��pQ��RZ_���NjWN����jZ:��~f.���	���{�����oK_}�Yl��Y�u^�R��j������'5�l.�����4��b��L�,v���B��vR�rJ��<T��.����ZT���s���q�^W������+�9����bm�O�����N�e��7W��Y��'��D�4L��K��,��M)sR;�]9�v��������@�����\��0�b�+p���?]pb���N,�������sf������g��t�4�bGmm�6-�Jj'���I��\�8����iC���Y����W�,L�t���-px��I��vR;��+�����?-�;?��?�|��������AJ+%���I��vP��vp�������=?�C��I�d{M��ig}�L[[��h��le�S���NjWN���H����e������n��i���O>5���?-�;?[Y�r'����S�(���vph<koa:��f�M�W�T�TjGi��i��U��IR;8�\6��o��~�����?�?��Q��vZ�rj�v@��-������?��i����*J��$�Z�O�O��
��*j��U��IR;8������S�r�U�*�S�(����}�����?�8��C}���=��S.����_����Bj��S��r��B���Z�rj�v���n�z�gTTT,\�02c����c�=��?,�B��vph�?�?-��)�N��U,�VQj-��o��������h������OC�w�������7�	����G�������E�T������;��V��ZE���3�8��N�����\�xqEE�����������N:�k���[@�O����E�T������;��V��ZE�����:���/�����oEE��1c�!�\r�g?��b,@�vph�?�?-��)�N��U,�VQj-�]�vW]uU��9��SQQ�����C~��_|�3�)����g��������-r�&�k��M;����E&��C����i9�O!wZE�b9��R;hi�w�\��i��v���x��������>��b,b6���|�����
���I�W���vph�?�?-��)�N��U,�VQj-��/l����y����������������_��C��7S��C��Y{s6l��b�k13���aC�?4�pL�\w��N��a��WysuM��~�`iK\w���yiU�E!v�����i9�O!wZE�b9��R;hi���*�k��M���#�X�fM4��g���W��z���]H8$\6��o��~������T�k��4��b�_}�Y��������+�Y��W_a;jk�#i5�O�O��
��*j��U��A�7���������?���{,~�-���?��������xp�(�5XkS�k�;^����L�v��o�l�������������?��i����*J��0���w���2p���s��	���Hp���F���z_��0���>_��0���HZ
�S��r��B���Z�rj�v*�v��L��C���������Z�rj�vP
j��� �+�`z�Z�O�O����U�*�S�(������h��mEEE�EL��6o����7^�����
�����u�66����[qq���[��k���V���:������L9�����j!I��U,�VQj-�����is��B�W�k��M7������W�E��m�Z��j���`Oj���7U]���rh�?�?�6B�VQ�XN���Z�����_�N�:]���>����+�z��+V��1�����>�����{B�Q�k��C��l������{���\��[yUr����L9������Y��sO�����g�H�4Lv�����eM��U,�VQj-��h�����K��m�������/��u
����+�X�Qr��N,�5����u
&�����ZNm��=
����=�0�O��r�Q���Z�rj�v�����o����}�g�u�y��W���C�k0�`�t
��m�6�S�8����tNg.���	H	�*j��U��AK���>����6C����������<p�r
����� _����rj�<T��i�Q^N@J�VQ�XN���ZZ����d(����GqD��]��\���5���Q�XNm��)��*j��ZE������6m��~���G����=�����3�,�r���5�k�r��|�6j��m�?%wZE��VQ���6mZ�~��v�?��?���w���}������N>��h�m��V���C�k0�`�t
��m�6�S��J���ZE��V������GY���;l��A�^���o���k�.,��U���2e�����QG~����vZee��m�[�h���^z���w���s��W^ye�i��.��5�k�r��|�6j��m�?%wZE��VQ���y���o���k����������/���k���>���b/��Z�v�9��'��R�_��Wal�6m�8����;�S�N��/��}�Q�������m���w���s��{���~��.I.u)c��\���5���Q�XNm��)��*j��ZE(?3g����S�v��r�a��K��N�Fw�q��/��������.
/������5k��o��m�)S�DC���
�}�_���O2,I.u)o��\���5���Q�XNm��)��*j��ZE(??����t��h���{���k��a���S��n�=W���~�����S��{��axUUU�%��.��5�k�r��|�6j��m�?%wZE��VQ����k�����������g��F���a���[�l�~O���]�6?�������2�g?�Y5|����.]��?����R���*���3,I.u)o��\���5���Q�XNm��)��*j��ZE���:t����(������.��9sf��o|�q�Q�F�Q�_~y�}��M�J���;������l��:���=�`�����E��m,��Q���i��ZE�"d�{��^EE����c��{����Q����t��������������U����,Y~?��c��qc������Y�R����5X9]�A�h����6���;��VQ��U��}�s�K~����.����g��_��q�'�x"�:�����O9����jjj��m��uM�:���=�`�����E��m,��Q���i��ZE�"d���;vl���y��v��������������??����s�}������O?����i�&�]�zu�cs�K�s
����� _����rj�O��VQ��U�*B�N=���#G{)����������~����79�\�6���R�k��|y
��o!����-�5Xr���K����`�>'��i����6���3���U�*j��Y�&������F]]]����v#F�����4�2}��0������}�.]~?��c��aC���������6V���<s
����� _����rj�O��VQ��U�*�Lj���{�^p�?�����:��v>�`���C�
���������[�}6b���a��'��n������,9�B^�%�[�k��|y
��\�k��ly
��S��6j��m,d�4/' %H��U�*j!{W]u�e�]��}�6m��p�	g�u�7�R����t�������:���;e�E]F�3&���SN	��;7���Q���K.�$��s�Kys
����� _����rj�O��VQ��U�*B�*�S����t�]p��g�Q'NL\�~}���?���������������X]]]��]�����;��s�Kys
����� _����rj�O��VQ��U�*B�����i���w �^�O���E�u�Q�>����7�w�ya�UW]{���;v�VUU���7����u�]��z�����q��3g^{�����;���6��\���5���Q�XNm��)��*j��ZE(3o����	m�������W�	��Q�t���[��V��}�k_��}{r�3f�h��]��K�s�=��c�����^z)Y�����/�����Kk��5X9]�A�h����6���;��VQ��U����'�l��i����^�Oy��W2?�
$�O�>�������?��c��O?}��{�4q�?����^z�q���C�.]�\s�5���K)�dj�e]Z�`�����E��m,��Q���i��ZE�"4��?|�E}��qv�	'��?��s�=W�E�C�k0�`�t
��m�6�S��J���ZE��V��7��M�{���m;r��b/ \��+�k0�m�����F�Sr�U�*j����3fTTTy����o���#����+o��V�������������/�b�!�5�k�r��|�6j��m�?%wZE��VQ����~��C�^x���������	�������HRi�zj�[�Pk�XBkii��E(iy,����UKmu����RT[
m)-�hMK�})ZQ$�f��������{��Nfr�L^�����s��9g�y��������K�;��S�"3��7�`�]�Q{S��u������P�r�-��n����}�{��+�\���E����f0�.�������O�:UTEUTE��_�~�~x�;������vz`�e3�����6jcoj��S�NUQU�[v�ew�}�;�;�����j;=��2���z��E��7���)]��������3f������;��C=��a�j>U�(2���z��E��7���)]�������]|���Fc�W��w�����}����q��>��g������g�������E����f0�.�������O�:UTEUTE�n��9���o#������:(����	�3��7�`�]�Q{S��u������0_���s�y�m���}��)������f�]r�%=}�`�a3�����6jcoj��S�NUQU��/�x�]wM�4�����6mZO�X����`�i������������SEUTEU���3g�k�����%f03Xo����h�6��6:>��TQUQa������v�N;��o�>}�����q��=���=u�`�b3�����6jcoj��S�NUQU��:u����������o�>}zz���C��>=u�`b3���,L���?�~�/�����?�>����Fm�Mmt|J���*��*Bu_��W���[o}��77}��;��~����'�xb��6X����`�i��j��W-��+~�+�w����.m����F��t�*��*�"T7b����[n���~v����.���k�]���E����f���<��l�_ft�
��,m����F��t�*��*�"T��w���@�v�q��vz`�e3�����_�4���� oY�������O�:UTEUTE�n����q�[�0z��w��]��Xt���`f03e�������TQUQ����G8p���~��;�����6�lS���E��f3�Q������HNUQU������k�q�<����g���3f�����O?��w��]���.���O&,�`f03��2m�Fm�Fr������P��9s�������?����}z�d�"�f3���(�Fm�Fm$��������G?��&�l��O�b�.�����z�Tg3����`�i�6j�6�SEUTEU�3u�����k��Iw�}��i�z���"�f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������y��+����_���?��b����i@Uf03��F�6j�6j#9UTEUTE�/�>��~����_��E������o�������{�����f3���(�Fm�Fm$�������M�6m��a�F�_�~#G�\m���U��'���Zj�����={"a�`3����`�i�6j�6�SEUTEU������4�}�CO?�t|x���v����~|��O~��N ,2�`f03��2m�Fm�Fr������P��#����O��>lZ�������C{���"�f3���(�Fm�Fm$����������o�g�}���v����;����O,z�`f03��2m�Fm�Fr������P��K.y�!�v�j��w�����3��f�L�Q���*��*�"T7t��u�Yg������U��_}��A���~�:X����`f03e�������TQUQ��c�=��hz��/�������=������|x�	'��i�E��f3�Q������HNUQU�{���W\q�F���{���_���q���^{-��R�����g�}��O&,�`f03��2m�Fm�Fr������0_�����XW�����=}a�`3����`�i�6j�6�SEUTEU��5{��k����c��c�=v�i�=����N���������'
f03��F�6j�6j#9UTEUTE�g3����`�i�6j�6�SEUTEU��5s��Y�f��o���K.���{���S�3��f�L�Q���*��*�"��.�`��V*��L�����/mw�QG����E��f3�Q������HNUQU����������_�[n�%m7n\��Xn��v�q�e�Y&�}�������E��f3�Q������HNUQU�;vl��}����/}8e�����/��2�'O�x��~����������3��f�L�Q���*��*�"T7x��m�������.j4�vX�e��1+��bO�4X����`f03e�������TQUQ�����mtP�azz�UW]Ul���������ob3����`�i�6j�6�SEUTEU����>����3g��W������S������K����E��f3�Q������HNUQU�6l�j��6k�����L�h4�������k����=t�`Qb3����`�i�6j�6�SEUTEU���?��F���v�}���_i����]tQ��o������x�BXT���`f03e�������TQUQ��)S������7�����g�N���7�[�Yf�|�gO$,�`f03��2m�Fm�Fr������0_^|��3�<��c�9���_��b�/~��-��b��I=x�`b3����`�i�6j�6�SEUTEU�n1g���>	�(1����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�"�3����`f0��Q�Q���*��*P?3��f�L�Q���*��*�",�N8��F'V[m���o����c�����4h��q�x���?�+_Koe3����`�i�6j�6�SEUTEU������h4�I�n����y������7v^c�5��n�A���x�M7���t�k���`f03��2m�Fm�Fr���������g�}��\�z�G}���}����������g�r�)��+���+��������f3���(�Fm�Fm$���������w���h\q��w;��#c����7m=ztl�0a�B�Zz73��f�L�Q���*��*�",���b�F�q�
7��m������7���}��	�}�]vYH_K�f3����`�i�6j�6�SEUTEU�������h4����������K�O���/7}���o��+�����Zz=3��f�L�Q���*��*�",�V^y�F�q��w�{�������;������}����M+���_��,����/�2eJZ����u�k���`f03��2m�Fm�Fr��������8p`��Xn��o���+N�4)�s�u���!C���|��i���'w������zf03��F�6j�6j#9UTEUTEX<�f�n���W_=m�����?���o7�`����w������������p��a~�>}��g~��?�����3����`f0��Q�Q���*��*��i�����5c��|��/���*�4�/|���/��Ot�#���e�w�s�n�3X�s�����[����:g����9��?���{n��Ui�6j�6�SEUTEU��-��������F���6���o����,��n�<�LZy{�������������nf3����`�i�6j�6�SEUTEU��V�x���?��h�1"���/t���&M��mmm�}��|-�^�3X�s�����[����:g�7��k���[����:g�n���������HNUQU[/���3�<S���/}��h�3&}8d����w��]�ng�qFl�c�=Z���|-���f3�Q������HNUQUO��w^��X}��g���o�1c�z������������������6{����������-~JW����f3���(�Fm�Fm$����������{n���n4����/��6N�>}�������|�SO=�6>�����&L�3gN������:*�����3g�,�����8����:��R�kY����`f03e�������TQUQa���_�r���F��o�&�l2j��w�����;���k��&����.���_|j����G�^~�����.��]w���v��G��v�a�����f3�Q������HNUQUg���?�:�����/���K.��:��s�G<����=o����c����
<x���:y���}:\����,n�`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������@��`f03��2m�Fm�Fr��������f3���(�Fm�Fm$������Tq�-��;v�W0`��A���������Vf03��F�6j�6j#9UTEUTE`��?���}�6�5�Xc���4hP�{���7�t�B�Zz13��f�L�Q���*��*�"����>����}�^t�Ei����O9��F���J+���+�k���`f03��2m�Fm�Fr������@kGyd��?~|����G��	&,���w3����`f0��Q�Q���*��*�
<��h�|��M�'L��w�e�����nf03��F�6j�6j#9UTEUTE����{�1��/�����o�=����
�k���`f03��2m�Fm�Fr������@��_����/_���)S����i���k���`f03��2m�Fm�Fr������@�]w]��2dH�S3f�H+o�'O�����3����`f0��Q�Q���*��*-\y���Fc��a~�O�>���~����^�f3���(�Fm�Fm$�������P��rO<�D�m�&�.u�`���s�n�3X�s�����[����:g����9�u�
��,m�Fm�Fr��������k8,nn���F���r��?��3�����^z���.~mYO�J�f��4�����{�����}b��������V���9d�:������{}�������=>^��q���K�Q���*��*�"�X��s/��Bgo1i�������0�ha��!�F�w��]��3�8#�����k�����Fc�}��7��={������?��B�Z�3O>�������	����>��$�:������k��9��s���Gq�Yg��_���.��_�~�Fc����G�^~�����.��]w���v��G��v�a��_��v���cWXa�<��C�<yr�>��U�Z����{7�`�F���>�t���	�:`��UVY�+_���9s:�&���;v�B>��l��Y_��W���|��:���W^9���G���w�c����l���:����g�����k����W^y������?q�������?��3���s������x����
[r�%����s�1�<�Ly��.�h�m�Yv�ec�u�Y��������`���3'��su�j���8>u�a��q���~z���SNi�']��r�e�Y��'����t���[m�U�
��M�:5�i#j9j���#G�%�]w�u��Y�n���'�Xb�s�9'j���������C��������w�+�C���[Ddp��A���1b��a�x+���#�<�����},����g�
7�z���^z��p�5�x����}�`��q��;���{����>��U��7�x�������������������/�0aB���L�813�����N{�����������S�F�*j����2$6~�[�J[����>���K���+o���?���?������{��'�7{��#FD���n�'�x"m|����_�����������/�-+��������L�>}��v�����aX`���b�:���_{���}�k������}���i��r�	'��>�`�%��8�=zt���x����>4x��[n�%������O?G�K,��c�=�o����c���������.><����F���J+�_��_�*����?���@��x�������)S���x�W^y%m>|xl������^x��w���EK�`�=����_~y�wg�v����b���[���o����-q�;`���^
�-�������?���������>f�������������/�s_�)��������>��>}���6m�*����:�������t����{�)��".<��s�eb2l����E^{���=?�����N?��va�&���=��cM�vi�n�!}����<><�����1tyM`Q�����G�O8�������}�{��_x��M�;��Sl)^O��#��c��O��U��|��Z�����������#G��<��3�S{��w�0t��V��O����k�b���[�k�����+����a�^�����z�u�I��8���M�V����V�v�e��~�9���$�7�SQ��������6�d�����J��4iR��}?���������/;����>��S���>�R��s��az{�|>,���F����t�j�]w��W_��p���K-������>��C���s�-��w�}���~����t�I�q������tYg�v�F����\rI�K>��������~���"}x`����S�����N;��g��1|��W\����?����K��{�W|������{�����n�����o�����T����$���Zk��.�����]z!�c�=�����7����'?����?�$v�����cK���������O?]�Y���V�6�x��~�e������N�O���~��|�q@���(lcc|*�v��'�\|�#F����q���5k��������/�3��^{�RK-s]��c�9&��Yy��o�9>5h����0t]�U��>���5���.������������#���S��>�a��W.�$����+���t�?��x�������6�,�r�%�Ho����w�m��7^s���h�����R�#�[�~��~�������K/�����vC�I
#@��X�K&O�|��7?��#��/~����/�����+��^�$���k�����w�i�F���������g�}v�K;�������o�������?<��3��9s�l���K-�T$4>�o^�^���|&��y���~� �q�@-��2�_}�g������>�����g?�Y|j��6�7
#@W�s�.�^��xE����K�5����n�����O(�������G�tDYHo����������:����w�~�s�+vH�4iRw���1g���<�5�X�\���_��x��&i��w�};���0����� 7j��e�Y����*66=����������~w��V����U�K.�$�o��VM�g������������������w��][l��������CJ�CY:�=����t�i��6J��+{��'b�����M��m��Z�������s�9������o�|��WXa����}�{��UW]��'`��l��?��O|�O�>��$�Y`k��vg�p�������=��Sl����>yi��{���^ ��������
:4��b��juM6~��'�{K,����?��W	#���j���K/���[��3'��^����>��0��_\X'��u�j����d7�x�'�|2m������J+����G~�+��2>��/|�i���o���+��J|���VXa��#Gv��Xp�=�\Lz}�������'�.��������)S���:���D���g>��
�F�bK|��%���{���j����Zj�
6���K���w�q��	���#�l����O�k���/������/o����`q,��F������w�6m����:t��8�l�T:��s�=����������z����%�\r�N�D�:��������r�-�~�{������`��t��\�f���c�W������I����mo{�J+�t��'��9s���w�=��h`��������k_�#�8,]z����j��/����|��G������o���?���^{����E]��g`A{������� ��g?��6�l��2�D�
S������wF����W�?q�+���RW��������`�6g������6��/shO��>��6��w���_W����I=}6��\���o��=���v�����������s����������z����g���x��Kv����5���
���.<��Kv��W{UO�����}���������
t�..���v���{�|@7���]]�K�]|`O��S��j����JM>�������x��=}Bz��Z�����g�&���p����������+���[o?~�l��j�m������'~���n�����������~���Z{��w�e�����g�.�����|�=�Xo���Xc���G�|��S�N��G������'�,�O��YX��j7���j>�=e�m�<x����{��������m���v��T�?���'�p���o����������G;�1V����5��/�m��b��1n���Gq�=����32_�e�.�����)S��5m�]w��2W]uU��|�]�&��_���m��G9���F��m�5�����1>��s]9/���V���mM'��]q��;�l2�����������;l��f��/���N-*a���>���SN��7����b����7�8?����r.�^�����r�-#�]<�����?�������'��v������1c>�����Wu}��'?���A����a��{�CN�;����?��M�6m�v�O����~0W]u�����5kV���>���l����w��w_g�u�7��g�~����M6�$�l��-.���4v���~��5�[V�*^������C���b��Kf�m�M_u�9���U�����KqH��C�g�w������������>/����|����}�����'������8��]_�����w(o;�^{������p~��v�z�����p�
y��>;�������?��~A�{��>��G}���XT���U�n,+�'�����w\���V��K��7���e�����j�[�=��a�UV�����<xp91%�-�g���w����u�c�9&6�X5e���kG��=���VL�81��1����N[^z��<066��SO=5�}���j��w�%���������'.Xc��jW�:�[o�ul��g?;c������n����X|m{��N:���;��#m�#�C9$�L���U��r����o���km?1�{d���u��J�����?���?����]d����^o�}�Y��3����tM=z��9s���]����-�[��`Q	K�W��w��>�>���[m�Ul?�����[��������;oQY
�����]'��W^��������|��z��?����UEW��h(�<������b�E]�>|��gW]u�UVYe����n��b��6�����[b��w{������):t���O=�T��V���>�����b���U������������!��~z:HV����MK�]w]������\s���/���/V���{���_��a��;��^{��jW���P*�v.����p���/�r�M7��86���?[��?��O�W���{��g����U���^Z��6�PX��j���e����+����K.����j��V���+�}b��@��?��+��������_>��3w�q���t?�����+�'����~��x`������=����_�r��g�qF['O�����(������~�5�7�;|����6m��'�UO'��SO�9sf��s�M/���z�r�!��������W^����������:���k����ou���e�����}�{���8S�^zi���?���f�0|��������',NC|a�1M�?=f��'��;���g�y����u=�j����?��c�O}�S/��B�-�����C-?m��'���&���>��u��G?�����:�+�y��U�r��w���2x��-�����N{���Z��$NL|��I�����"����>��O~~��.��u����������t(��8k{������7�-��v1���q��m��&x������O\y�
��V[����Zkm��6qU����}����w��o����G�b����w�y�U%~wm�<�&*�����I�$F-7�p����\��f���o�N�5*�T\���v���F��g[7���V���i�$�W���@",���1�~>������M�nQ��?4=���m'@�;�t�I���t�R<x`���U��U~�c1bD�r�j�q�5���n�-����?Z7t���nDL�G����o�����`\��n%���*������r�-���!>u����8����}���[��F��f��p��i���[_ni�.n�����[������O�9e�����P*�vbF����a������t	�[�zz�.�{�e���'��C��a�����4-L�>�_~��{�=l���QD{����_�:�������'~Jy�+r������ ����;����3d����}��7~D��b�����\��I���c��k�^{����|�3�g����qWa����i9rdV4�<�����c`��.v�����IK���?���9e���O>y������q�[�k{�������m$��#�q���F�����",����U�8���*~��G��SO���v�`Y�?�����A%�������]�4�b@�rqh�h�B��������������Gq�	'�G����W\qE�[D86�x��q�Gd1�}���N0�i����F�X��{���S�}�i-Nm���\��������e|�8q�w�1��=cz���q�c>���y��qx�N[��_���Y��&��G>���k+�i&������c��?����K�v��K,~Vz~G|���\���W��U��1��7n\������n������g$~/�=[�����U��w=���K��������L2&LH#���^�"�p�0ms_d#�4cK��k�C=����k=��8#��r��-���50f�w�1f�82Mg?��C�u��+�����8PJ?7}�����_T��.����7A��#:��I7����U����+&���89���v�e����9��'F�b�c�=62��<�{)��^0J���������~5�fT���>q#j���Q^v��W��-�������v�}��6����*�v��;�|���Gf�1H���U�Ec�y��U���q#����&n�v�6wQ�����u8-�u�0����������o;-���?����w�=�jW?��b\+��=.�{����'��R���c����/w��a�a\������)�q�����N;�?���G��0��n�E�����S�����iqj���Z�p��6�y'����ZT�"����7��-����L�����e�t,<���x�~�R����_��������=�j�J��?5��/�)����o�����2~�Q�8`��VK5.�O��e���^����\��n�{�����)L��I������j���q�������{��<��'��Eb��p�
��S��T������7����}������ #�n1�m���ms_� �[�������w.����U��]�vZ?�������n[�]T�1,/��r��N3.�����>]����Z�e����jw����W�6��������)Zt��w����&V���gW������_�g���)��������������^�h���*^�3��R��+E��_����� ����M�d����<����c���n�O>�^8�cJKy1f��o����M�y��w_����s{���{��'��G����_���G:>�`���������������Gq�����ct)6��]~����8���gW�z��0=
$t�A�����bK�S��\�t��Y1�4������*�[Z���,=�?I5q3�[A�s����i�S����#]���I.�m'�tR�;���w�wK���U�d1\��9sfZ��C�b�5�\�~k����[l[���/�W��0��w����t����e[e�Ub{�}�Zt�����Q+�|�iz��^����m3�Kzpi����SS'���rc�\n����Fm��>n��]s�������{.�*�s]+�v:����o�G@��W�}����#��*W��|�+q��3my�����u�8�8XK�@q������������/p�.����?�}��wo}�w�u����x�\��f{��������Od�r���n�M��}�+�
bX��y
l�|�~�R��S��2l�������>���GW�.���t5~��'����������,������5$-�Cf��%�|�Oy/�TM��������W^�����<���V�����m������o���{��g������t�[c�5��m���4D�|���6U$%���#=d����v�������)���8 6q���N{��%=��)�i�1bD���rX�\���?~w�����{�S�
��[q�{���ib�Hzp�.*����������:��Q�F}�k_k���tV~5�4�M�0!}����h+=
�p��g�e�������h~w���[��.Ik�fy��]��V���/�wN�+�4�Kb�����=��P���^{m[G�{�����xFF��2=�k��qM_��N��;[����^{�8���W�z������E{�����]@.V�'M�t�������W����R^��r���q]�w�}�}��G,�~���7���w+*�t����\g��g���7�x��}���v����r����U��f�<��d���AA\{�����o�h�����b��OK|�	5q�h������}��G�����m^��}�{����C�+�6��*$�H���q<����U{G��r�w�s�}��-��>����
�����K��M��N��>+=���/_zp�.��������+K���{��|�/}�Km��g�����z��W��5��o-��x�Xz���^����Z?�%nq����;T��Yq8i���������P�n�����V�m*^�+��T���b^�|���>1n�q�U|�d7��U��v�).�����P���|�#��4#�_�3�X<���a����g�M�X>����k�q\�}��@�v��_������U�������'����D��T�������CTJq����\��^���p�
i�iz�v��U�*�v�C���z�W��U�%7����/���R����������(�?�u�{��m�v@���v�N�}�
�FmT�T��R��tD�R%��rK����HF����MH��7����'x����{����Jw�1���.���O���7-�%q���O�k�q����x��5q�
o�Z��#�tW~�S�w�'��KCB�I[�����aM�Mq����;����S1�����r��v�Xc����U�*�[{�����y.�_}��M���n��g�m*��;��c[���\z6G�rz��g?���n�s6�x����U�t���q��/������^�TzZh���4���!�7��������w_��G���t����-N��O?���U�3U���{�����=�(���������V���U��G��s����gr��q���[��xJ�;K���x�){����S���J�P���]�����Z��.��q�I���_GzM�jW~����c�%���C�����Zk���5��#���2�o���I{���/�48����=i}.*^�+��T����%��������X�zn��������>S�NM�������������-ir�_�-������<���jwFi<.?�.=����}o�����C�m������4D��R~���t9�_�:=��X�KwR�Hz1���]Ha�5kV����'�!e$_�o
K��^��v�G��G�����\t�`Y}�mb�Hzp�.����g�#k!-#Gj�����h�7-������/2�Kc�<�����w�m����44=�<��)��>�_��"59�������E��#�<0.�r��G��	h1�]�^$�x({������F=�j�+��i4��`'�O
����s�3fLMsq�h:���]������R�����g�T��dz8�<�$��:�?�v���U�tX�z9��������}��+����7?'4-���9D��].=k����~��c�/~����y��w��V���U���:�[��T�Wy�P��T��4���;F��6w���o�{���]�m���������Q�
7������Wh���	��b�w.���s���V���>��~��8��W��\nip��V�o����+^�+��T��4y������^p������Xt��[�Kg	-�K������s�Q�S�y������}.~nz��*��3��v��?��#�����0k��f�����[o�u�SoSU���Ff���Z����Y���;�����@:��{r�u{X�����c��7(o�W�[SX�\���X�+^��i�<�z���e����U; ��U������}h�Oz��1c���Y�=�{���8&J[��`����
L/c�����/��������n����Bk��NC�_��V������bqO1a��_�����+�'x~'�>��!qw�^$�c�=�Q�|D����c�4t�R�I�����aM;|���4��yi��+R}�W]}��q�Kkt�W��\n��_������������������o��)S���3-}�������O<���7�j���|��(��^|��C��p�.M���f-�I��P<+
���MK�mqM(�\|��m�_=��'���&��y��^�o���MK��;O�81u��Nh���]���X��_����jai�Q�c����toR��i.�ri:��x��]y�����>�[zp�.�������'-���+V����P���bKJ�i���>����0�/Z��9s�l���Q���O*�6�'�U�*�[��/���jw�1�4�(�bf��p�;�����<���U����t���U�t���I�-�IO	��
�-�g�N���n�wm���J\���v���_�K���� �����?q���O����v��T�!*����k�]���:[�j���Zhz��\��%�
b��Aq'�BqY�!�d�X��r�kcu�����U�.����r��4�j$=�j�^x���/U�'-#������tDVL����y���G��8�c�y�s_z������ue�.��illz�B��X��]2c��?���_�����:��KM��2����6��j��W^�hZ~�g�����qWYe����K�l�jW�rk�6p�?��3�_|���a�z��V<g9��_�9MOz�VL�m�<r#-Bv�|��p�n�����������z����4��#�\�R�+���NG������_��W��1k����*^X�3o�i�b�-�rz!=����]�����]|��E:v�~~�{�����Y��7-���U���aW|��/������]z+�GWe��o��=[�+��+U�R�^et�M7�������#���o�������+��P��Y}8)��U��*���G
��3�+^����T����^8+�����V��;���D�b�"����Z{��%I�2��������%}g�l��U��Dv���K/�W(g:�nW�MU��M�����oX���S]��%��V�b�l�-=@���]��^{�U�.����r��t����=��v������8lIP������������J��u��E��'�. ���{�#����3�>d�����q���I��S���j�����mz�G��v�{���Sb��2�fE�o��d�Z�����4��O������������txuM�&�z�����^m�la��Q�(&L��6��o���_~y�g$.�4�����SO�������z�y��O�b�j��K��50~�� ��_�j�W��7^
�x��^�&�?N�KL��y��i-���^�n����N���I���A����[z%���vU.���v��~>��c;<#��+��s�*�v�k��f�UV��w�qG��������_6~��+K���y��;��O�6-�r�C8Z��]���C�O�_|�m����y>�����n��������Ig�k��r��j������w(o;���g�}~����ORlo��*���-��v��|{i����>��7�W��2_�y�{����d����m�Yg��jZr)?��C��j#YzU��P������oSU��'�|2]J��dJ�(V��M��=fY����{�m��@�t�X(^����]��^{�U��t�`Y�?M���[�=d�����0v����/���^����rzFq`�������//��vZ[�y|1:t�UWM���_<<��/��SYWV���R�S*�+x����%F�s�9��g�m��C[��
����(�.��i�{��'��m�Z������������|�M7��6����1i-.�`��>�`�]wm{��m[��l������vM��W��1c�����������'l��V���WNKb�<xp����b�j��d�HM+KiE����f{�Z�����0-
����o�)���[[���in�vH���_�>�~��m�7��P��f*gq��D��{oN��Qc�\n]\�k�|N���7���]��=�w\���m'�[�Xc�5�\�x�����]Z��o�����f�Jw���rK��*?%=h��6J����]��L�P�������/|�iU0��j�Iv�|?�������I{��!��r���]��p�;�����.�qi7�-~�������o���mz�|Z��� �5�^M�0��k���?�TZ
i]�'?�I��-�����k.�{���B�\�����c�:�nW�MU���Z����|����=Z�<�^{����
������`��
Kzc�m5�6]�����;E���?���uq������ib�Hzp�����UD{�?=��c��|����G�����e���F�Q<�8�E!�'@oET~��4}���7��xY:~�2�ue�.=_2�����9?=��x�SO=�m�_������<_<�S��T����/F�������q{�1����Oo���]{o���4N�����GQ�����wL��*1�eYd�U��f�]T\QFGP��AP��MD@d���"V��:��Z���t�NZ��8]����}�V���uo�.]�?��M�3��={��7�e��XG�{Zk��"z,�Kg�����`�����h���k��j��^���=��=���eKg�����U+ty���e���rn�=j�^qY��0k��U��"p*Y_Vz���*��5����DL���y�Z�v_�B�#N6�B7���t�����P��Y�ug����={��m[��[�m���������
Ro�g��a})6�Q��|��%K���T	�jx����Q'�)3)�������N�4E[6ynn�}��g-�[�|����!������Q�n]�����W��'��;�L�������y��I5��s��<7����\��}�A�-��]8pxA	x�l��MU�b�t��:r�����z����{���f��y��U�:�u_�Os��h��W��N}�n���x��������D.A���.F�%M�-��'�����v�s*�M�]��AN��N��j>��������}A�D�M������09������gp/���C�]F����;� m/��]8�7��oh���0���?~�Y�f���T��(OW+�����������n��O��=j�({Y�R%�2F��JW�Z5����w�}6:B=��#g*������O�8:���9eS����ng��i�<���9r��
�
�ju�}��)((����
��]�s���Q�>��D��m�}�n�B���u�8p�-���{��}���~�v�^;tnM���>P���#��G���]���M�6��S**�������f��L����3���Zok�m��[�Y�pd�{��t?�3�nAuw�~^&���"���oG�
�yC�G
E�i����D�h�����)�3���,7�}p�xF'��f�d��M������8��2��k�WM���������t���^q��P7�:;�����6�?�����y�\����-���^ZZ(2�O��K��(�g�B�������c��[�Y�p�6�,y��/:w�Q)�g�� �����kG�h����)������m����dU��3����v�V�����o�Ik'(��]���N�
���1c�+Vs�uf=�I+��<�������1<7�����%����0z�����x�.x������7o�UWff�N@]�,�:	ruK��f�����*U/��aW�?�.�)c��7��S������Js����7-�s���\$� ��J�������^-��{��.W���������So����c�m�ak'uu�i�=����G�o��]�|��:��EXL��*��������3�2C����r����������@��vQ����m{�g��{c����9�V�KQyg�nP�|�1����#�2e�z����^{�5���m��1C���su���S���m��i�v����_W���]��]7ZC�i��$�����u� ��H�N/^��Z]�u�������Dw�:�Z�j��$���0a��'�(�B��.+������g��G�U���[�j��}���UU��/��[�.|��C�5���>T�E��r��n��j�<s��M��M?R��n<l���U��R�������j`j��4��?��������P�F
}�������)��lgt���P'T�7�=O���������S=)K�'�*`I���]82:W7���V�������K���m�BZ�:/�)�=x�q���k�*"���:7�+�T�����G�������7t�p��������~�p�<�!��[h6}�t}�
m�����������]8@6:����(@P�~������c���K[j�v�6�.Q5��K����?a��u�t��O�����5��?��[�N���@�[S��]��V�Xaa��$���Wb~n�9���x�&*��:`�%��_I�������y���$*�n�A�:������:k�v�p�B���\
^��rx.*�d�����K��j�{����i��oZ��������dY�p��������Q
X��Nj�-bT���p�s*�M��?���]�Z5���(�:�n�R���(~��7]�TF'�>�a�����^c�4:����O�4I��U�����={��i�Fg�v����K���x�.��K��q2�Q�v�;�TIy�.Y,"���p��S��
7��n
e,�Y�d���C��)�:)��%K� (���q��������Jy�.),k�n?�����y����s9���%K	nZl�����[z{u
���G(�ID�Iw�f�t	�t%$�u��+�vH��p�f�t:�F�A��p}f�����$��m[r�����w�f��n����v�M7yV�nm��}��E��t�u�48�W�.���c���>�vk���X�bzzz���Q2�g����!Y�k����{���C�i�=K�&���5�:��)�<xp���f\_�������4i���_�;v�x��WU!:��7.^�h�����A)�c��[��|R�v_m�3#ki��{���:u�9Q�+�#U�,~+)Y�s_�J���E�!Y�k������_8��	r�c��~����&���_�vm�w���5 ��{O�u_g���0k�l���}���[7YX����I���������[�]����iy��g{��e�����:3�����3��n��{��9`�g��/����w��J��eg�=W�|]��_�8����#2��<///�Bl(c��<q���%�������/LI�A�U�!Y�kA��Dw�������0��o���4�������Kc7��]�s���+�%������m��������={��g1d��RV�Bp}-X����r%��������I�w�����������&M�����O��9sf�V��U���#''��� %���@������_�i���D�������8����u���E	��7I�q�2����`������5����%������%E�>R&YY���N��P����;v�X�J�r����;W[n���P(�����
��o����)������������=�;���GCEE	��-Z�6���U�B�F��?���('��}�F����[�|���������g�b����M�V�T�r����~��9s.]��/�_�����*==����?L�@�H�);���v8�<���_5<��KWE���{������;|�����kP�fM5-]�x��;v���XN�81y�d�X������o.((��eK���8d��H�z�p�������������r���Su����>���c���_~��~+)Y�|���y��:t�R����Vt��aw����o�����U3yyy�[/����Xaaa�f��]qz��������e���/^�l��O<a�P�V-���W��O=�T�������"����]	\-KR�v;���������:w�lW��+�^��],`��k�.5Qm������[[�hQ�R%�Ta�H:�v�9i����;��=[TT���K����x�
U��3��?����d�/^�_�Q��?�`[N�:��Om����SLqq�������>��m����Ak���2l�0mQX}����{��
h�?��O���n������K�.����v86l(��\�v��;�'ju�[�2t,q]-K�Y���:�������E�����M�d��[���y�����o�m9y�d~~�6V�Z����%>"�!k����?K��(S����3g�>y�����h���e��S�NMI����n��+�vo<q�Dff��;������z��qc�x�g�yF��b/>�����������}���*V�N'u��Z[�|�I��X�=i����!kKR\-K�Y���#�<����
����6�C8p���/�X+u2{���S�����T��G�8)��)R9r��7�\�|��u����g����2{��;vl��
+T�P�R�&M�<���t����V��w[�bE��V���M�6}��W-=}�t���U��o���F��}��g�y����Y�f�r/��R8��
s����q��+j��5k6e����/�����O������CN�<��������7�����w������Wz���g�>����5R=W�R�k���z^�ti�v���x����u[�f���`����s�T��:�>z�z���5j��=AG����U���b��3g�>��<~���w��N���A�9z
�[���h���*V����7q����B��=i���c�='k�}V�R��=W�j����o��HU!���{��2dH���kAA�^�Ix�Y���x����������Y�k�����_o/���7a�����{�����g��U���Q���\u#F��$%��������S�NFF�������3�I�m����rss/^���]������N�:�Z����F��	��~�I��Nu�+�����;{Bs���P�bu��������XF��������pt��a��e�tNyJ�j�2p�@}����[�0�z��63��&���-[��{w�u�m���;w�S��;��m��v:v���kuY�%��r�}�_����f���o=�t ���gO{�cQ��z��/���_Lu�b+W�����Tj�v�6m�Z��
4�������n����B������
fO�(&R���[��6�?>33s���
E�z�)�+��G�2��������
�^�G�v�*nW�M�����{:������m���b�
d/����oq�H���s��IKKS���K�c���#)������<���r���t��������{o��]��i��Nqq�^�,'���\���:v��Jn��uzz��rm�G;�N�:eC5����+x���[-������=�}Q����zKez����iS��j~��Y
*�1++��=P�k�/io��H�����3g��#O����OU��k��f���Y�N�����U�
�m�'��c����:�F���%�K9u�	�������s�!����q����b����'O�],)R��{��7�k�)�Va��*��t���;���R������V��^�%��[u�������L�8��W^�9n��l�2+���%H�n������;�s�=+V�v#s�H�c�}V[R��E���/����F��;w�)iC�t,�"�]�����V����P�Xt,�����3F�9`���^zI�i���U+�>?��cv����o�}��V�N�;F���Y��[�n�[mWK[.���	�����'�����v��	v,����k�'[ )R���p��EL�[��|���K�2��r���7��p��E���uk��������vm����n���~�)I�"sq{���������C��;�A��Y;���dF��<��O����6*8�[KM�4QI�'�|��nE��jQ�m9:��E���~����(��'�x�^=z�B��_�)��+�� "�!?���V�'N��-����)S,�w�e+��	Tr��%1���!�gw�A��>:�U��	��'O��_���_t��,k��S@�i�&���J�c��#�x��#�R�w����K\|����w��=�o'9�6v��P�Gb�~��7{�����������;��/_�\����������:�l��;,��E���cv�:kv�)om��Zf������`���������W������k�5�7�|3n-%��X�S��=��[����>�-+W���qf`;w���A��c������e��Xz�������\w�ac\����g�.%�`�*�w,A����U�Vm������3g��e��8�c�6Y�zu1g�5�D:�u���l��})�\)��}����y�����������+V��Q���H|m���`��v�.=���G���	5+��[o��t��=t���J�����O��f�����:���#���6�A)��o�}��w��7*T�d����8����C�n���=$��qc��(�v����m����=%-����>����+v'@����{(`8!Z*�F�}��'�s�`���'�\�����A�������2��-_�H����������?���/�����������Oq/q�h�������K/��b<�z��E����OiHa���'����LtoT#������U7n\�����u8YYY�H���sg���o��A:sy%�c���{������{����
������p���srss��������x ����Laa�
kt�ve��X�����N���q]u�~��zN��w��!��.�c	���>Y�����3�}rqv,��
��9}���+A�2a�����U�V�f �R�������Q���W��C��d�4:$,k���s�=�o�9P�|J��T���X\qJ���ct��t���;�#���?��k����g�*��_��U�B��!��]��[�����^�@�Q�Fy�Y�9dKv9�V�Y����q,T�6m��(�|h��5=�k��Ih��n���V	��P�[��������������E{�����b�?���o-{�O�w����=lC�lL��T��
I*n�fQQQ�~���K����Ja��U�V���k1�Xe������O�����T9Y;�s����MnNv�7kg��tQ�oO�?~<��&��X���7�CB��
�e^^�^�����q�ve��������o�����L���K��w�U�."��s���%H��>�?
n��%�>�8;��>�(��!��X���l	:g���vx��i�?�H�f�l��g�}6n��s�[����S������z��4��0����65�gtDT%����+@�����3sxq,����.\P�}�m�Y����-Bt?J���T�������{�m���}��������%!{���XlD_�y�,k5z�����p��T8oSzt����-p��9Y;�8Ig{�lL�!16&�X;wHL��:|�p�6m,��<{XR�������~���q�D]�������O����?Ck�:&�c����������L��pOU��e��G�=��j��E��,��vN��l:�C'����c�����uk~~��{�1c���K���O.N��%�X;�sJ��\�ti��}+V��?�i��f��@
�v���?S��M-��4aI0�zy�)Du���M'N���;w����W������t9���d�l�c�4iR8����C�UJ-��/U`G����P����������?k����!�4w�f����
�CV��p<�Bz4(j�aY��k�����Zaaa�F�B����L��x��#l���Y� m���y��y�v�}w6�������t���+-i�m���_�&�\��!����1f��P�t�����F���3)��Y�*v3�Q���6������g?���lIb�7kg��%$K�c���	O��\�r!�<����]�t,V����w��m��S;Y��N�����K|��w�c��2bg�����}r���
B�D����#G�x��%�X���;g��<H�f�l$K[���EL&L��������=�,�t��9�rrr����������W�Y��F��9s�� kg;;�	�9�������6���D{���e��P��v�V����=��
�C�Wfp/^��pV�(�e���k������,�E���r�����=�;k������)�3r�r�s���7�:.]�d�[6����:3�%!=�{�m�H��'YT4�R���9����R����U������@�����%n��}"�PzK����:�_�NR'kW6����Vul���*�FT���v<g�
��������	v,'N������"�Zi{�:u���v,~6#��D�K��v�9� �:u������SO=�6Q���x���g/�����ER��lQ,f+-*����?�"�d������P����W^	Eb3#� k7l���k��c����C�n��Y�0��k��
�����7EEE�n��E/m�6���x�����f����~�)W����J�������r���Q��~EF������N�/����\�U���sg�5�'HK��v�9��=�+��Z�n��(,,�/�t�1��=��|���v,q�v��Q��(��%`��*��P������M�R��v��:���=�������Y� m/`�\��K�
���Y������v�W�^��������?�b;v���J �k�fgg{�"��y������+WZK�8l(�;�����<���]���YH�2}�Q�mi��J��������r����������q?4jpmCS���\�t�m���9F�6��e���b��s�'O���_�H����S�c��3�<�-�����O?���n����i�,d�<�u��![�����v6ZI���A�^�Y����xF�(����P������X#��������F�a/�3�{,�a����p���C�<�V6R����l��=��2m|�7�|������������][��N�:6������=�]�����,d�:��Y��'F����\�x�����`�0kg���x�	w�8��WwP�t,V�5k�<��{�U��x���5k����I�|@��c	�����w,��=k9���ey�������-O�k��^�`�����+)��]�pA���� �p$��a���?�7�y^I����uB-kW�B�Sc���[,�q��Am���?�S���B��M�j�������(�E��;�X�����S���zsU��`-�IF�{���,�����2
�-�v�E�:���;7l���T�<y67�cD]s���v�@��8�ITQ6��3�������m��ND��h���U�{��|0t�H� m/���=�����<!�����C���k��m������%K��Q%���=����-�7o�U�V��e+my���Ha�n���6��3��NC����\��w��e�
w�W�`���uB���Q�n]��)i��z���0H�;$�c������_-���u��y�d�Y�K�����P�;;9t�PO�.\&����)�C��|K�9���P�B����S����^����i{�g�v,�%����;�����G}�rqN������CEfu�j�J{(�������l���G��������.B�/����&����F�����$P����,k��(==�[�n����
�l����a"Y�hQ��-A�.���v����������<�#������B0[T�<b����EX���?r���N�:5|%��q�,A��G���G�m�V�
=r��S�,{�������V�C1��U�o�`��
���SD��}{����5k���o�;t������Y3}���{�v�o������e �e��%�?G�(�=�������vb1�{�v�,�n��Eaa���/��byE��^{�PG�`�w�3g�8����:�<l�0����J�*�"3���&�r����������V3j�r�����������o�D�B�'??���z'�a�|����~�i������c�����3����%n�.
�������7�9�}��7n��#1$�����&-����9d������Y����k.����P��.(j���7����,'�������
w��E�d����$i�
F�iK�F�X�����v����e�tA�^N��t2�����:�p$�j�b5<53���^(��J,�Y�pd�����o�Y���7���[7��
By��
c;+J�2e�g
���]�����RU�jU�W*9o���S��X��"D��@�)Y�.	-����)���7l�P�cK�U�R��R�����z���Ug.�Z�J/u����_I�x���Y�f5i�D���U��y���{�Z����s��)\U���M�8�����q6?�{�J��SK8}��������KC�u�w
G&��w�*U�*FVdm�����U^_���g��-((P�R��M�:���%%k�dW:v�h��60u���,���;�vF�u��}�s��#�?c���z7��"q�����*�Zl��NPj�v�f�������Z�j�d��M�n����|�T-\=���������S^������-Z�Pc�������=�����%H�.YFA
['��LVVV��-�M�v��� �`�0k'��WwW�n]��vUt-\�0�z(��v�bu�*��{�:��5k�{�A�(l5U���?��Ut�����>��SkQP��o���%v�KJ�.�c��q��j��a�?j���I���Q�Pu����j�v���R�^}@"R��K��y&#���I(�)�����[�.T�Y�K�kW���Jy�.)�&�c�c	��^%�LO	D�|�_����+**����m+��*�BV�\9{�l�dGbKav���,w���5������x:t����������
��n���p���v����C�)��*�?��w����m����
KY�k�u���c���e�=b�~��MKK�?�\�����<�ik�)��}.����-[��o��u��
E�<z�h���_����m��&M�4�c����f��=�3}��v��g�?�x�No������c�����	���Nu,�J�?�|�	Y;W�_~?�`�n����N}�$k7{�l�v~��!�*�}�Z�_�~����������\�r��m����yf�����?��+��%�����MR{�vt,�-]�T�s���������{���r����
�v�J�vYV�
endstream
endobj
11 0 obj
<</Filter /FlateDecode
/Length 359>> stream
x��RMO�0��W��4/Nb���T�;_b ���H�v�`�&h�6y��/vB���Q��	<,����=:�HP���d����/_��D!B��'���d �o��{��h�)�y��W	(��'C��h�S��S6�
��kV��c�
�#�z��Wg�3�O��sO(	����5����	�O"=q���S%j���r����1��2��Aa�1R����nG���N>���������I���
q�H�^0)��^7Z���e�	��U!�&�!�E#d(����rq�N���U8�Yn�?�M4a��>x������� �������;l����_����LU|��~U�G�A}�/����*�5
endstream
endobj
13 0 obj
<</Type /XObject
/Subtype /Image
/Width 1682
/Height 922
/ColorSpace [/ICCBased 7 0 R]
/BitsPerComponent 8
/Filter /FlateDecode
/Length 53502>> stream
x���	�U��7���q*Rq�����*�h�eD���n�������z��h�Ie��M<
���Q��(!J��A#Q�'�8� N	*�P�������y�u���nv����+��^{����{�?��ZZ�R�6m��o��_�U�f<��i3�{���6�*��1#~X��_:s�o������<`���:t�������Q������;��1c��-��o��e��=}�B���coSM��%�2t��
#G�������i+}������_�ao��f�m@�a�����/�|��m����v��./����kG��[�.~R��}{��t���
J;���_>b��0������
H-Z�a������r�v�K���{�e��o��-_��������,X�`�;E����^K{����;m�%�����s��)j�g�y&~y_|���G�~����6l(t�����/d���Eo�^�r��=�����:���>d�������_��i+�?~�C�-[�i�-7x���{�H����}�����������-k������+��������I�X���������=d������+W���p��W���������c������g����%��
|��O�n_���o����k�����#�<���>����[�����0i�����J;v�8p���?~�fN���oY>h���k��H��)S���b�	w�qG�����
UZ�bEz����]ss��~�+����%�����`�F�=�����
v�UW]~���
��������K�V�$����O�>r�����z���^{�m��6g���7v�����������������*������m��������E�n������80�qn���3f�u2c���
�����ow�}��Q�������F�����_��;����a�#F\y����	���)S�,Y�������e����|��a���62|a���{���tm� lL����S���-�{W\qE�����z����|���&M�^fX���������0}����������"�9C�	�"�]�������vyl[X����'O�|����
�<8�!3g���?�Q��w����m|����\��w�M}�z��^E�����J->e�Uo��f���To������]�zu5��c����Vg,|g�����o���������G�[��l��^�����ly�.�4<��s��q�a�	�����ATs������6�m����o~g��&�m�+������B����m��C���ax3�^~������L�w�yg|��7���n�5k����+�n�������8%��/Y����u��V�������"��������~������I�r��;����Q4P�0��3gN(�+����{��w+<��U��P�����"�2:v���va��Z�~��5k����m��0�+o�T���0R���6�s������
c����0VMSv�k�n���<�0;vly�%�a��m���'��&L�0/!���)��`��n��
���������-4hP[��`��imu���}���8j����,X��<��:th�'�����	��To��ei��\$$CZ{��7y��W��l����@��vT�.L�����Zj���m��Z�w/���A��
6�7�����c[/��i�J��#Dq[��%(z��8��Q���a-��������C�v5�Et��%��_���������Bm_R��AS��y��7�|����k����C����h�����In������_���\�����/��Z�|���_���+��92�=��%O����K/������
��I�&�z����k������nu�����|�FN�8��;�1bD�2v��Z��/a��ai�����l��0r�
Gzh��A�����
C��hM744����6|����G���o���;v�oCc����nn���0�Mm��mm�d�n<}���'	bjdEC�Y�vm���f�*����o���~6 �[]���K�.Mb��.�0q��eill,�']g�>�����n��/����#����9sf|�x`��g�
/���F��L0{�����V�v������a����K������|������������[�����oU��[c�n�����u�'	zz��V������_==C����2*�%!����W�.�>�0OI�4�x�����H�@�t�G��!~d!��7����H[
�*�eQ����i����7l��W_�?�w;��:_~�@����k���7oNg#G��GJ��m���]a��2�����;'%}�Z���k��QG�a��x�e��9s���\���+w��{���{�.���Ux'� 4=yx�Y�������m(9("���5<�����]��>��C%���[�.o��<4�?%o`E.X� ��x�`�kjF�%������_|1?�.�Ks��M�Rn������a��o����
�����hY�3�����G�������w�uW[�@�<����I�����.�iP?m���GW�\����b��|��Z����>X���^l�X[�a��qq�����>�m>�4���]�c�����W��<yr����o�����qc�����*�e7����]������&	_���������Z��m��E�����xl��-��~�����/?G���a<xp��&N��;i������c���r����v5�E����a�J��F����UI;���d�(`���m]@;u�02*y4?������aQj8�=�����k�_�)>��p��7/�����?Ty���P���j�������g�5kV������^j)l�
7�����v��1B�1��0�����kW�s(���!+V�HC�A��4��a���?��T�O�����c��-o,y���^H���85��j&����/i�T/���s�����~X�
i?	��V��U��P�>P��Hj���B��/N�-ok�)�4q��x(Q��|�;v�����Ko]��LW2��yZ�P����t��|����S�4iR�[���0OH������^J���a�A�Y�����G��,��j����!�k[��766�KO���}N>�h��(������8[m�555���M�0��g�\�p�Z�m�]��.��3���<a��7�*���}��Wa��~����(r������������og�.���K�p���[���0w����{.��[I����[>�4+�8���0y��Q�_}~�Ln��ui������������_��g���J'O�����??-[���H'����fa47 ���S\w)?�0|
�Q:i,�y��e�.[��P�>P�^x!�b��1�Z0�vby����_���=;IU~������wT�n���m�!�xf�.n�����v�_~y�o�����3�^z.���t���,�U~d,h�#��kW�_�t]�k�����a_�9sfH�������>'���J��x��7D�?��C��u�[vm5c��0��7o^Z��e[:�kW2.�i��/Ta�_*����[><���7����������������!a:s���c�Fy����m��������������p>�F��m�'��?�9|Ly�$��J���N����+�jT��������l��a7g����{`:V��M�T�'��T)�+Z~q�]����-?�*����W^�?��(�-5�J������oX�r��4[Ic�����v����Z�g��mi�����]�����<�~7���bP�Y����oH��ZK������|�R��a��K��~MMM����'V���g�I~~_~y��7�-W��-���|�C~����z*M�0�K'C��������I�����������r���g��ar�*����kW���5N�:�]k��5�J��0����+�C�������	�_��U�>��Y�tW�|����������v����9rd���I�~B-�@���+_z���.��?�).����������'���14x�m���6a���%��vT���I���!�������k���������<�0��c������-���:A�ego�������]��,Y���7���;];���Z�*���<����J3����Y/�z=�
jY����vy/���+��y��� .�����P..��^s��I��+���������u��,?���U�U0������cm�V�e���K�.�?~�����)��Y�&mC�St[�/[~�V����E��kE-������l���H��oP���KT�'��T#�AZ���.��`K�r�_�^b��b�q���y���+9����v������GD���^�����+\�n,�@�ogn7����Y�YF�O��G�R[��������F�J�����W��S}K����%��S�=&J������~��i��
�e������<T"�3f�H�+���4���_�N���������]����o�����;�p��
Gt�]�]vR����i��++��
�0�o���
�����JICi��[�.�&�]�������>P�t��j���;��M�=Y���U����yw.��4|�J����9����������v�����-��N��e�n����������]���k����&7n�C=>�
������%?������������r�-q��A����,���]�
'L�|��O�6-Mok�c�������1v��j^`��o��]���
���(����o�����]�]���6lX>}��m�[���x:+x��'����e�e�/�D�~�����=yO)�����k����@5����%
[��S��J����u��E~@Z��]�%�
��uH���]�
��#u�*t�+t�j��B�v�!��y��3���%����<����%�R_��q���i����;MO��k����P��-�����hk��� ���)M������������k�wv�k-_���l�u^x��Jy�������7�pC�������O�2%=�UW]6���_�[�����*t�*��UK�.M��1���i���w�yg�N����Ur�Q���F�t�����������R�4�
���y�-~A����z�{�wG�	���G�]����kWcP���������?����'O.9�64hP���u�`��N�����k����1W:���+�h���lKGw��,YR�I�:C�� .�"a���oK�5j�U�3�[����]�a��g�y������N[_vA��k��RlK:C6�oE~~knW��T[���J.�K��/��+����=���k������k������k�T��Rz�������R�!lL<p�����%���#G������	kL���w�������k�N��G�v�EK�g����Ua���Y�J:�W]uU�=�t�`����*\h(���4g��4=��*��ZU��-Uw�*\�.h����$�E~vd�A\jR�r�-�}iQ��'�|�S��h}u������~����N���>5���� �*��"?�+��F��isss�*T��Q���l��c��l{�dQ���H�Z�Z�*�s��M�YCCC��v�k�T�v)�J����v�7��t}��+W�d_���J�����7������]��o�]�o�1���v�j����v��E���?���<yr����[�'����o����a����,?������jY6�������o���c��5���v3g���$�?�|���g�I�+��I�a�v�Ws�}��'/9j���q�������3I�K��]��
����1�����oY�]
/?-^2�w�	&����fT��KGBVn�U#?76������G{��g�Z���]��>�K������\b����yb{*�x���.��cw+5j������,�k�!���W�������]�������]���9�=p����V];����>�*_�>?..�����iz�+����{���tT[-�a��p(Z+��(������Z�����a���W��#���IO=�Tz�
�n��y��i�=����??A2�����m��Z<��W~���j�P�$?��|0��R+l�������n�)ML=C�
��"�Zq����R����/_�jU����u�5�l����k�����T��t�S���.-X� >���S[���J�/�d��
K�o���+�k����?y�����;������]�E�]���"T)���do���}N��e}��P��WIw���i��A���C���=�or��[o��l0k��4�����!|�����������k[}����t'����aq���*d�f��1c����+����	��o���L��B};�vO>������
���$��r|�|��w�*�B�9���L�0!N���+�Z��w��o�X�`����:c������T��g�y&��s��Y�bE��Jl��5����Uk��������H���B��O�q�,�+d��!U.��u����
��w��v�5��]�����e�� ���sV��k�*j���:$~��U�`�t�p���v�/��N��uHP����/B�8c��[n�%�������E����9k���N�y��4�
c����}�g���93=��-	6l��&#G���e_|���l�4��m[:���e�����k���|Tr�]�A\~a���m��uk�P��W_~�5jTz��^{�|���W��,�]]�t����^[�����!?A��k7l�����V72��n�������U~����oBX|���q��FM��E��i��{��>v�t���]�;�%/a���q��n@ioN�K�kjj;vlzKZ���5��T�'��T���E�M�V�"�;M����&I���/]���#i+t��V�o�Q�l�-���_������	_���KR��k�r���h~���uB��C����]Km��������k)9.���|����������������������m��@)�������-Z�n�W_v�Z���eK:�"g}�����_���n
��1��e>��-�I�&���477/\�0�%	K���<�{���R7i��3g������d�D���.���3��G�.�!�]��0��-�t`};�v���n:V��k�
OXr�hX���>{�u��y��7��]|G����3�_������_--�~�I�a����-������g�z�����4x�����F���}8lg��L�������=���<��S����vk�.N�_�o7T�d~1�����m��	5����R���
R�&}k^x����������U���gN�XCCC�%���Ne�������C���o���
/���/�D�d�w��kN�92�SY�	�������(�kW�_��D�����r�z����S��(D�����?�����0z
#��?��w�����Zv�b����0�2dH�x���v��ab>����`$lv���|���7oN3�\�*�����K�������1r:�*z���J6�� .�����0R��	&�����0</?�/LI�a���o���a�����[o�;l�i�%'��1��Q��s�v�maE���P����]x�a��?><lvx�����I��7 XWq�-�L�2%l@:�39o��4[x��S������������C��1r>�V����������7�	oE�����o������p��]���m��
-;�o�%�y���U��P�>PA��h+:��o�[���zl�?������:��B�n������a76lXx+-Zg���]K���~������;w��lH����IB>�+s��*��;3*|q�s����I't�Z:"(
�����!<g�@�w�?=$Uxg�K�Z�/o���h������iHU.���b����a��U�����h7�:|�;vL�<����%����������v�����5k�3Rsa�Sr�B���]��[o�#�Zq��������[�H��������s<+x���K��F��l�������9s��V�8���K�o�����s��w���KF�����'���g�.i����W�@����m��R}�*Z�~}Z|�������?�pZ����v�O��}��t������_���������6�	�k	�M[_�
]�����\�w�Zj���K���x�:����%��G���`o���{C������MH�s�-�;2c��V���(Pe<��c��~���C��a����7n�C=T}#(�� ����9�����[o�={v5G����a������a����1"��d��4����+�����Q��k�y�U��7a���������0������z�����l#�u�s�=a�^Wxu����'��7����J������>lUX0����L��3����������eKxs�s�=:���_~y��0vJ�������]:	q���aS�������~}���+�=��O<���������{�������~{��	����*��Y�T����m��6d����S]��������K/���I�m������E~��_���?�a�/^\�>�mY�pa|sZ=��Jy���B���������U���'��>P��i������v-XAH��Bf����l���+jk��]�����;7�iqG
	�6����k�9~CH��9s�����4h�M7���i/$nCx�V�!���7�V^lX<|��?��s�v-5�^��k��/Bx�>�`L��`H��b�'���U�/�P�
����]�W8��V�vP]�����t�j�k@������N��F�vt8]�����t�j�k@������b��y_��W>���w����#������q��o�^>�����=���={v�����N���_�n]�l�?���_|�1�r�!�z������d����6m�4x��SN9��C=����8���o����i����o��K�.uuu��{������.������w�y�7o����w����O=��s�9��#����+W��g���;�v�
O��W��s�=y��|�������u���o��g�yf�n���\p��;vc��X�d�A��K�|0M|��wz��]WW7d��4���!L9���-Z�l����//���4��e�>���]�N�<9Nijj
�f;��c7m������K���}��Z�*-{�	'��c��i�z`�1|��xX]��Q�F����/������'Lihh�g{�����y��������K/���	�����?>��r��n��t�Ao��F>�����l�w\sss��������}���.�>}��0��O�����k�T�-[���y�%���F�����;�d��������~�u�������������<<4��v��w�yg]]�Yg�U2}����s��{��'�z��g�?�����C_�����k��������d�E��]������?a<���[o�~��?ill<��c����N��&���;���'���z(N1bD��k_�Z�3�}�����~����������:����V�^z6l������q��������$<t�e�U�^��<����g�u�����/}�K�v�G�v�����0�~����~����'?���sx����m��v��/����7�<e���9������\/�go���#�<�.���|��g�M��������/>w���P�^���������OnuE]�t	�.]�4�|������O�^>�u�]��7�Y�z`�n���N;����{���/������[o�?���h���x��8�.�y���Us���+Z�8�.����Vc!�~��&	������h��q�����;n���-�}s��~����0m����g�~^�`A��c�X�l�V��]�>� ���/~1�|�-������(<T___�z�Q��`���I�>�S��T]]����[2}����G�C��1cF[�~>|xx���F������o9�{��'c0�����<�r��������	�_/�O>��������9���C=4=�b����!����X2��^���������f�*�m���a��������)S��g�}v�l��o���gx����k�z`��
1t�������j<j���_�S�8��t\�b���>���z��7������C��������O�:5NY�v�G>��.]����K�����O<1M�r���3fL]]��G����a��x����q�d��={>��q�����9��x'�4��o���G�0q������-;�C����,���o����'��~��a�8e����{l�8i�������m����TWW��k�~��}�������:��0��c��������oA�>}�:������g>�~��|����w��-<��w�����z��OzM?����`�<���N;�K�.��K/��d#�\/�7����N���/|��������a�v���^q��W�.�y��i��{��G��G��O>y��A�&�%�~���/�����>��Cz�����p�����m��u���}��	�v�G�}��


�nd���e���+�m���|��C;�_x�+�m^���|�Mk���������?����i�]���5�[y�[�������=f��n�o�1;��R��w�W�f������������������������7�����o�����m����_X��MZo���k����'�u�������>����l���~]������mm�������}��������*�m����������[v����o���~���t�.��0��|�;^��o�����o���{��7���]�w�S7�~����2����?���v���isa��V�-`�}��=~�]�V��w�W��9]���|��=�s�vaE�z������]X��>������{�_���h���������+89���sZv�_���i���z;�e��_���i����'}s���������}80������\��Q%�N�v�y���c:�kV�.��t�?���>�������
N�*�v�����v����[[�G�9��A������%WprT	���������%{��cK`�c|j|j|
9�(�"��%{��cK`_c|j|j|
9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�����������={�<���N9��a��m���|���'�{��a�����t�I������+���������9��C9�W�^�����,YR>��M�Vw���~��g�q��7����������S��� ���PBN*JE��g.������.]��~��}�����G��_�~����l���w�l��z�9��s�G�_�?���+W���q�]�v��w�y�z�
?��|��G����_��O:<��{���3�<�[�n��.�`����^(�1��z"y(�!���T�����������;���/^�������O�8r��4[CCC�r��G/Z�(N��q��^&^t�Ei�e��|��]�v�<yr����4d��0����i��4���^&���w��Ui�N8!L3fL{���F=�S�A$��<��T��R�o477�������5kV>�����O��?�!M�}����|��������	�a�����^Z��~����������\��[�nt�o���6{���B���r�Q����c�Cy(!'��T�O=�T]]�)��Ry��^{-���e����.������#���{����;�d��������~�u�������������?�?~����F=�S�A$��<��T��R�o�1������E������0��g�Y������C_�����k�������x��E������xH����0��z���V�^@�1��z"y(�!���T���~�;��N<qu��%��o���������]v���k�l�����}��������g?���������GuT�l�W��
�
6�_�?�����q�����O~
P�z9���c�1���<�����RQ*��/|�uuu���?��C?��O\x��������=���}"����0�?�A�3<�����O~�����`�l��m�]�����_���~�2eJ��q]��xU���zL=��H�Cy9�(�"���7�8�������m�'����������K.�$N��/~���\�s��
���+�|�����O>��V���K�����K����~z�y�����]w�u��o~������zL=��H�Cy9�(�"��8��s��(�������_c7o��u-U�����X�+V�Tq�]\W����B�/�Y�����z,_og�c�z;���������K�s�Cy(!'��T�We��}�\PWW�����%�����w��7o^�u������~����0m����g�����`�����>����V�Z�v|����������-��R>��~���P}}}���F��:�zL=��H�Cy9�(�"�*�$�~����������wx���
?��1��[?><<��o|#���������=���a�q�����n9Q"^jo��	���Pg�c�z;������X�����>�wb=��vR�$�P�C�IE�(��FCCC]]]�~�J�������=��3��+V��9������9/�����M7�=�����f�*�m���a��������)S��g�}v�l��o���gx����k�z9����c�1���<�����RQ*����{�#�H�.]/^�O��~���g�qF:.Y�b��|�A����qJ}}}�!pMMM}��	��N���]�6����^������x��iJ���@�S��� ���PBN*JE��O.������SO=5�'�e�=d�?��0���i�������O<��^���s�	�������~��=z�����onnn�y�x��'��}��4g<I���O��)�/>��c��I�&�w�h�c�1�D�P�C�IE�(�������;��������������=��s�C���������������|�3����g�>}z�n��C�{�����QG�n�������s��\<��3�<����t���E��\/��zL=�<���rRQ*JE`?�}��1c��v�i�z�?��?�F��e���9�M�v���y��=z�8���
T����~���/�����>��Cz�����p�����m��u���}��	�v�G�}��


�na�����S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(����y��v�ZWWw��w�?:y��s�=�g����w?��������[W>���?~��s�1�rH�^����o-Y��|�M�6
<��SN9��C?��3�8���onjj���r�P����c�Cy(!'��T�W�6m:���v*��}���
��t�r����s�9GqD�����_�re>�w��~����;�W�^��=z<��#�l������?���{��}�<��n���_/���;v��z9����c�1���<�����RQ*��_��uuuGuTy����!L<���-Z�l����//���4��e�>���]�N�<9Nijj2dH���c���iS���K/
����j����	'�&�3����@�S��� ���PBN*JE������]��w�y_��W��v}��	������a���`����_/����'���_�>~������+�u�v�A����l�g��w�q����Z/��zL=�<���rRQ*JE`��i���N:�G����Jy����^���n���d�K.�$<4b���k�����������	��'-)�6.	*�.A���U�?��T9���K����=����*��T�E�j���h�����M84n	I$���|~��kvf����������3{�5{��g��z�����x�w�Z��.��;��S^���K�������d�5���&N��H���F���1H�P�C(IE�(����[o]|��{���'?����>�����z��!���SS�g�����X2l���o<��3��}��'�~���3�f���j�{��7Ot�������?�������?���e���c�$y(�!���T��@;f��y�������q����������7o�]wm*,����\rI������#F����Z?k7n��X���{�o�W
:4��8qb~,^�jS�N�>}�����N;����w^��Gyd\u���6~�,��1}L�$��<��T��Rh�����^�������'��������Z����:���6�p����W�G}��M~�����~���O�%�zh���r�-q���k_4�~�xf�	�<yr\�g���/�_3�+?���e���c�$y(�!���T��@[.��������[n�}���7����;��]v�e���C���7:{���:(�����T��c�9&���3��-����u�8���o���;�������7�pC|=x���Q�=���{,��|����	&��v��'�U������2H���1H�P�C(IE�(������_J
g�u���/��W�n��\s����-���o����w�uWl�������������5�^�)S��4�^������{��>V�oW���~�������}�����cKn/��!��<��T��R�e\��$��5�Xc��W�5kVm����W]u�����S��Zy������J�n�;��9s�
6�
����g�N?��X��^{���UW]Wm�������{���W[m���^x����{�������>�����?�a���~x\u�q�5~����uC'���1}�<���JRQ*JE�q
N�,�z�����Z����655�ofKy�hWm�����i{{�S���c��[o_�s�9��u�]���~;vl\��~������J�''Jw�}w,onn��_���kr��w�1������_�A]������>V�oW���~�������}l����E��<��P��RQ*mY��v�m����X��Y�3�8�ia����L��>���|5���K\��{a��Aq��[om���g����c��x�����#F�Zm��9}��������E�_�5��>��A���PBI*JE��e���kK��a�-����f��)={�\~���y��\r�q���n���C���W\qE.y���V\q�=z<��#��y��z�������F���1H�P�C(IE�(��t�Y�<Y�o��w�uW.�:u��Q�b��\[��g����w�I�y�����d���>:�����S[3O��|���[r�}����k�������z�,k�1}L�$��<��T��RhKSS��n8�����&��5��Y���oa��!�l�M��m�����M+W�0a�
+�W
0`������zN��I�53f��z����a��m��f=z����r���/�}L�� �Cy(�$��T������W�&/@[�v-��`�v�mW]u���{<��SN�9sf�j�&M3fL�~�z��5`���;l�������5k���C��[�����#����Mj�~Yv�c��>I�Cy%�(�"���1k�~��>��A���PBI*JE��e���z�a����c�$y(�!���T��P-}L�� �Cy(�$��T�j�c��>I�Cy%�(�"�g�B����1}�<���JRQ*JE�-�t
}L�� �Cy(�$��T��q�{����������g���/L��K%}L�� �Cy(�$��T���J+555�����e�]~�����KUotO��>��A���PBI*JE����W_����F���G����^�z����_������4�V�1}L�$��<��T��RX�'�|���O4hP�3��j�u�Q�&M�z������1}�<���JRQ*JE�qw�u�������}9}����;v���Uo,��1}L�$��<��T��RXT�f����kv�m��={655-��r�o��e�]����/���:��>��A���PBI*JE�,�_|��/�y��W^y���Uo,��1}L�$��<��T��RXl�&M:�����r�555����Uo,��1}L�$��<��T��RXT�=�������F������s��v�����mYX<��>��A���PBI*JE�4��7�����>��O-���9_����~����:uj��K7}L�� �Cy(�$��Tj����~x��}s��_�~_��W�������	}L�� �Cy(�$��T�����~����p�
s��W�^c��������S��A����c�$y(�!���T��@[�oL��=��m��.����_~��-��I���1H�P�C(IE�(���[�V[m�����}�������S�&�RI���1H�P�C(IE�(��4-��7�J��>��A���PBI*JE��e���z�a����c�$y(�!���T��P-}L�� �Cy(�$��T�j�c��>I�Cy%�(�"TK���1H�P�C(IE�(�Z��>��A���PBI*JE�����1}�<���JRQ*JE��>���c���<��P��RQ*@��1}L�$��<��T��R����c�$y(�!���T��P-}L�� �Cy(�$��T�j�c��>I�Cy%�(�"TK���1H�P�C(IE�(�Z��>��A���PBI*JE�����1}�<���JRQ*JE��>���c���<��P��RQ*@��1}L�$��<��T��R����c�$y(�!���T��P-}L�� �Cy(�$��T�j�c��>I�Cy%�(�"TK���1H�P�C(IE�(�Z��>��A���PBI*JE�����1}�<���JRQ*JE��>���c���<��P��RQ*@��1}L�$��<��T��R����c�$y(�!���T��P-}L�� �Cy(�$��T�j�c��>I�Cy%�(�"TK���1H�P�C(IE�(�Z��>��A���PBI*JE�����1}�<���JRQ*JE��>���c���<��P��RQ*@��1}L�$��<��T��R����c�$y(�!���T��P-}L�� �Cy(�$��T�j�c��>I�Cy%�(�"TK���1H�P�C(IE�(�Z��>��A���PBI*JE�����1}�<���JRQ*JE��>���c���<��P��RQ*@��1}L�$��<��T��R����c�$y(�!���T��P-}L�� �Cy(�$��T�j�c��>I�Cy%�(�"TK���1H�P�C(IE�(�Z��>��A���PBI*JE�����1}�<���JRQ*JE��>���c���<��P��RQ*@��1}L�$��<��T��R����c�$y(�!���T��P-}L�� �Cy(�$��T�j�c��>I�Cy%�(�"TK���1H�P�C(IE�(�Z��>��A���PBI*JE�����1}�<���JRQ*JE��>���c���<��P��RQ*@��1}L�$��<��T��R����c�$y(�!���T��P-}L�� �Cy(�$��T�j�c��>I�Cy%�(�"TK���1H�P�C(IE�(�Z��>��A���PBI*JE�����1}�<���JRQ*JE��>���c���<��P��RQ*@��1}L�$��<��T��R����c�$y(�!���T��P-}L�� �Cy(�$��T�j�c��>I�Cy%�(�"TK���1H�P�C(IE�(�Z��>��A���PBI*JE�����1}�<���JRQ*JE��>���c���<��P��RQ*@��1}L�$��<��T��R����c�$y(�!���T��P-}L�� �Cy(�$��T�j�c��>I�Cy%�(�"TK���1H�P�C(IE�(�Z��>��A���PBI*JE�����1}�<���JRQ*JE��>���c���<��P��RQ*@��1}L�$��<��T��R����c�$y(�!���T��P-}L�� �Cy(�$��T�j�c��>I�Cy%�(�"TK���1H�P�C(IE�(�Z��>��A���PBI*JE�����1}�<���JRQ*JE��>���c���<��P��RQ*@��1}L�$��<��T��R����c�$y(�!���T��P-}L�� �Cy(�$��T�j�c��>I�Cy%�(�"TK���1H�P�C(IE�(�Z��>��A���PBI*JE�����1}�<���JRQ*JE��>���c���<��P��RQ*@��1}L�$��<��T��R����c�$y(�!���T��P-}L�� �Cy(�$��T�j�c��>I�Cy%�(�"TK���1H�P�C(IE�(�Z��>��A���PBI*JE�����1}�<���JRQ*JE��>���c���<��P��RQ*@��1}L�$��<��T��R����c�$y(�!���T��P-}L�� �Cy(�$��T�j�c��>I�Cy%�(�"TK���1H�P�C(IE�(�Z��>��A���PBI*JE�����1}�<���JRQ*JE��>���c���<��P��RQ*@��1}L�$��<��T��R����c�$y(�!���T��P-}L�� �Cy(�$��T�j�c��>I�Cy%�(�"TK���1H�P�C(IE�(�Z��>��A���PBI*JE�����1}�<���JRQ*JE��y���:������O�>[m��Yg�5{���5/���m���o��+�������q��������y��c����>��W����p�?�p�jo��������7�x��W^e�U��r�s�=w����}�,;�1}L�$��<��T��R�N����W\����O�>[l���k��4���#g��Y�y�A��=zl��&�F�����:��������]|���-�\^���~����u���o���r�i��}�#��VZi����6l�V��;���[o����2E���1H�P�C(IE�(�n��g�y�{����t��G������[o]y��c����^[s�����_�~��{o.y���v�e�X�����V{��'z����r�]v�e�d������wb�5�X�v��C������j�;h��Xx�Yg-�������1}�<���JRQ*JE�����������[��7�\����|���%C��%���/W{��W�������	�GuT\<��CZ����#c�\����VXa��������~����j�����i�~Y��c��>I�Cy%�(�"�m�|�����7����V��������u�]7/>���y*��o��j�}��7�7n\^0`@\���;Z�v����v�)/^r�%qq��������k�U'N\��eY���c�$y(�!���T��@���l�F���9�7l���5�<���j�}���_|���L�3f�Z��{��]�b�%�������<�����o�~Y�c��>I�Cy%�(�"����7o���njj:��ss��q����{�]���W_W
:4��8qb|������6u�����>}z\�i������;�~�#�<2�:��c�_�A��>��A���PBI*JE�to��zjSS����g���KN<��Xr�����|�-��U�}=h����f����v�'O������/����5������_�A��>��A���PBI*JE�tc��vZ�=����?��#���sLSS�GQ��w�W���?����r�o��7�>��c����o_O�0�~��O>9�����_�A��>��A���PBI*JE�tKs��9��C����\s����o�U}�[������M�2������}5x���3�KW���~�������}�����c��ve[r{)t
y(�!���T��,��$a���+�l���MMMm���O?����O?=��k��������������s�=������Z�j/��B�������N�S��T|����~��?<�:�����FT�����c��>I�Cy%�(�"��'IX����+�l�ISS��;�8m�������������c�����/o�������;�777��/���?9�JlC\u�E5~�,��������}�����c��ve{�����I���Cy(�$��T��3f�1������3g���2eJ���W�X��U���K\u�9���A���[o���jg�yf,�c�=����_�~[���o������_��eY���c�$y(�!���T��@wr�455���>s��mg�-������)S����s�����gr�q�W����!C���+��"����K+��b�=��y���y�������/�}L�� �Cy(�$��T�������kG����o����+�L�:u��Q�������������;^p����k��w(�>����+���'�n����-�����[c�5b�O��E�_�5��>��A���PBI*JE�t���'���V_}��m�<yrm��|C��f�mrvn�M7m�Qx&LXa�r2p���q�9��'����1c����`�
��f����#.r�!�6���e����c�$y(�!���T��@�1t���v=��c��W]u���n�������{�����r���3�ov��Ic�����_�^�p�a���5�f�;v��!C�����3b�����/p;�_���>��A���PBI*JE�����1}�<���JRQ*JE��>���c���<��P��RQ*@��1}L�$��<��T��R����c�$y(�!���T��P-}L�� �Cy(�$��J��f�>�����{v���N�7{���]t��*���cF����<��P��RqI��K�f���?/����_���9s:�%]N���R!�Cy(�$���H��>��%=e���x��N~I@����1�TH�P�C(IE��$Rq�?L��Y���N~I@����1�TH�P�C(IE��$R�k���_'�$���c��Q*$y(�!���T4k����1�TH�P�C(IE�h�����cF����<��P��R��TK���R!�Cy(�$��Y;��>���B���PBI*JE�vP-}L3J�$��<��T��f��Z��>f�
I�Cy%�(��@��1}�(�<���JRQ*���j�c��Q*$y(�!���T4k����1�TH�P�C(IE�h�����cF����<��P��R��TK���R!�Cy(�$��Y;��>���B���PBI*JE�vP-}L3J�$��<��T��f��Z��>f�
I�Cy%�(��@��1}�(�<���JRQ*���j�c��Q*$y(�!���T4k����1�TH�P�C(IE�h�����cF����<��P��R��TK���R!�Cy(�$��Y;��>���B���PBI*JE�vP-}L3J�$��<��T��f��Z��>f�
I�Cy%�(��@��1}�(�<���JRQ*���j�c��Q*$y(�!���T4k����1�TH�P�C(IE�h�����cF����<��P��R��TK���R!�Cy(�$��Y;��>���B���PBI*JE�vP-}L3J�$��<��T��f��Z��>f�
I�Cy%�(��@��1}�(�<���JRQ*���j�c��Q*$y(�!���T4k����1�TH�P�C(IE�h�����cF����<��P��R��TK���R!�Cy(�$�b7��{mf�e�u��3�1����������3;�����>���B���PBI*J��4k7}f����|]�/���Y��������cF����<��P��R�;��M���%=e����8�S^�����cF��6y(�!���T�N�v���+���_�Q���E���R�m�P�C(IE���f��f�.�u�Z�1}�(�&��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$��<��T��f���P-}L3J�$�����f�>�����{���4n��������'��Y;�vTK����A���pI��K�f���?/��i���9s:�%�2O*JE�vf���>�����$������>�������c���`�'��Y;�vTK����A���pI��>��5����N~I����R���Y;����cf� �Cy�����qRQ*v�T4k��H����A����;�O����T�N�h����>�����$�aw�B�IE���R��K#}L3kI���4>����R�;��Y;�F��>f��<���i|
'�bwJE�v,��1}��$y(���:N*J����f�X�c��Y;H�Pv��)t�T���)���4���1�v���<�N�S�8�(�S*��`i���cf� �Cy�����qRQ*v�T4k��H����A����;�O����T�N�h����>�����$�aw�B�IE���R��K#}L3kI���4>����R�;��Y;�F��>f��<���i|
'�bwJE�v,��1}��$y(���:N*J����f�X�c��Y;H�Pv��)t�T���)���4���1�v���<�N�S�8�(�S*��`i���cf� �Cy�����qRQ*v�T4k��H����A����;�O����T�N�h����>�����$�aw�B�IE���R��K#}L3kI���4>����R�;��Y;�F��>f��<���i|^��r�f�z�������������T���)���4���1�v���<�N���3[����G�qo�����FRQ*v�T4k��H����A����;�O'�iv�N��8�S^��IE���R��K#}L3kI���4>=��]48�;�� �BRQ*v�T4k��H����A���������T��RQ*P-}L3kI�C�S�SJRQ*JE�@��1}��$y(�O�O)IE�(�"����1�v���<4>5>�$��T��TK����A���������T��RQ*P-}L3kI�C�S�SJRQ*JE�@��1}��$y(�O�O)IE�(�"����1�v���<4>5>�$��T��TK����A���������T��RQ*P-}L3kI�C�S�SJRQ*JE�@��1}��$y(�O�O)IE�(�"����1�v���<4>5>�$��T��TK����A���������T��RQ*P-}L3kI�C�S�SJRQ*JE�@��1}��$y(�O�O)IE�(�"����1�v���<4>5>�$��T��TK����A���������T��RQ*P-}L3kI�C�S�SJRQ*JE�@��1}��$y(�O�O)IE�(�"����1�v���<4>5>�$��T��TK����A���������T��RQ*P-}L3kI�C�S�SJRQ*JE�@��1}��$y(�O�O)IE�(�"����1�v���<4>5>�$��T��TK����A���������T��RQ*P-}L3kI�C�S�SJRQ*JE�@��1}��$y(�O�O)IE�(�"��.���m���o��+�������q�����UoU���1�v���<4>5>�$��T��@W:������z����&��5�O�>qq�u�y�����4*���cf� �Cyh|j|JI*JE�(�.3~�����~���{������^�e�]b����Z��Q!}L3kI�C�S�SJRQ*JE�t�!C�455�?�\��+�������?�pUF��1}��$y(�O�O)IE�(�"�5�|������VZ��7�lu����W�7��
�r��>f��<���������T��R��\sMSS��a���:��3��}������w}L[B�v?��S�y���aq����\�K�t��3~����aq��=4�#/:����<4>5>�$��T��@�7n\SS��{�]��W_W
:����w}L[}��<�5e��'�Y��/���5e�7������<4>5>�$��T��@�8�����=����n����j���]�U��c����c{�1�k��w�[������2v�/Z���<���������T��R��sLSS�GQ�w�W�������w}L���1�<���PR��RQ*JE�k,��v�
j�����te+��+�Xy�]������>V�oW���~�������}�S^����Cy(�!%�(��T\�u������Oojj�k����������-�������uC'�j�C��_y�������A��{��>����0z�.�W���������~b�C��_g��xw���P�CJRQ*JE�����Yh�u�]����;vl\��~�u�V��l��)MMM�z��1cF��v�e����s��d�`Y���[655]t�E��)S����s�����g��0Xf�I�}��������t�N�:j��Xx��W�m��:�����2d�6�l��w��z�M7�6mZ�������j�m�]u�U{��=x��SN9e���Uo��z��SN9e�Vhjjz����W�����6�����o��p�K/�T��o�1p�����kK~�:�u�]����?��G?�Q[��y��c����>��W����G�G�\���
����?�s��y��������3n��@�E<��������*e����������~�F"Qu�O>���#��V����(]�F�����cx��O�O|���s��������������_����|-���������[n�Xa�u���G?C��:R���o��s�W���?�/���q����|�;�ng���1�]u�U�}��%���k������Fv���c����o���+�{��y����k6��#@����k�J���
��v��+���Y�c�9&�?��y���O������u����������]��������z�f\��ok�.�/�1D����r���s������k���o��c�;`�����F��������[�M���?��������XGydT���'N��K�M����{���V[��u
F���)v�m�i�y���u[�v1���V�x��7�x��t�-�������?�5�
�Ag�}v���/����z�wlk�������9��V�G�YK��3g�v����]�o y��GjK�L���O����9P�7�xc��V���������O������zk.i$[TG�N#��_~9�nk�n�u����?\�8i��X�[��Vm�Yg�K.���%������nz����vf�W�q�����3����N��?������_�b��3�8#���w��-�m��z������+��r���{���f�ju��!C"�j��k$[TG�%��Y���^��^w�}w�v�I'����~z��W=zt^�3g�����f�:E[�v/��b~���3Z]u�����~������V�vc���%��v[^�������'��g��9w��%�`:��k�YK�#�EuX����b�-V_}���o�1V��~�w�i��VZ���{��G?���.��r=z��v�m�S�������8qb,/�f���9z�>}�k��_�����k�=����8����1�<x��Y�n�����_?�����g?��D@G����`9��`$���K@[�v_��c�SO=�����������+�������u�]�O�>^x�%�\����/.��g�.����-���
T�-1��!�������?����^�v��a�VYe���/|�1 ���;z��^�zm���W]u��'�����mI>,���?��?y>���_�K�D����5kw�=���r�����o����n��&���{���������|d��9?������������W_��`��5kw�
7����/��"���{����;��c��������K_�R,����q��u,)�D���r��$v�]��'����?\���x$�����Y�p�y�����~�::��rF1ky�t�G}4�������G����x:�^�)S����{��Mo�i��f�����o�������M�u����k�n��?�q�y���.�G��&N���_���+��u����:t�vf�Z�4�������/?D���n��������������k����x�������w��tD[�v1������Z�����9}���k'O�|�w��3/�t�I����_�?��:���/�������~'?��0aB���{��1n��VW-j$�����Y����3
��Zk�������[�`Q��b����t��f�^y�����K�'��������=�����O�>���]����c;�t��/��G��y�{�6��D���A����p�	��/����V�0�1cF\�c�=���t��f�B3��[o����3�<����7o����W]u���{����{�n�����s�9�3@G]{���/�|��}'N���:��-�#@�58kw������
���g������^~������`�%�����Y���;.��o����s��2dH,���+x���w^\{�����j�~���.������7����Cz���VZ�w����smY�HT:��Y�(f[n������^x�\��t�������:+.�|��Kps:I;�v�>�lc������=�����%�����9s��e��)}��5jT�)�-oQx������������W_]`�>�,rmY�HT���?>���G��Km�QmI�3�k�>��X�'?�I��Q�6�|��}��h�UW]u���j5bx����?^��>}�D�
0��������9a��VX!W9r����_G�������w�}�W��
�3�<��*�|�#���+O<�����}�kK�4��;����d�M�.�I'�T[yQ#QuX<<�@S�j�	I1�\y��c���[{�����k�����1,�g�}���.y����;���
'�&M3fL�~�z����;l�����k��&���SNY��w�}��[o���+���'�p�����n��������_��x$�����f�|��o|���;����gV�8X��{m��_��_��#�^9���t�������s~�BG��}���t������gG�}�g�n���t���|�G��}k������am����:8e��~u���
K��/���Sv�o��n���@�x�����]�k��T�:G����.7~���������]�`��hSg����T�P������������wUoH��Y�vq;U?�.������Gc;���v�F����C9�#��Zk������K_z����W�9s��g����}l�������N;�t�%���;�~����z�=��p�
�Yg��#G~����6m����W^���?!��#a1t�����o��-��v�m7`���^{��
i�K/��<_������g�}�����j���^{��6��3���_�
�v�z��K/�t�]v�u����[y��<�@G�"��Y���e\��S������;W�!q��7�v����:r#����_;�?������a��������q����/�����:k�����h��v�����(bs��A�����������[[a�-��%'zGn���`9��c;����t�F:�X6�?���o���G�����#����-�m��&���.���/G�_t�EUoHC��-���G�}�A-�wu|���������7��=��3JN|������\m��������xZv�u�~�C�����g�z��r��|�+9m�����������~������Vw��?�a�����Y�w�b��i��1]v�����2k��>���n��qU��xf��n�����;�\�������C�����v�!F1���~��_.�cY$f�I�"����}������E���N�v|����o����k������k��c8���;�5*�w�M6y�����,�v�������'>���}�sO<��Y����K�g�:�X6�?a��_�����f�0k�H������������]w���a��~��]?k���O0 JN��\2w�����9,*�=�9��X�j�����>|x,��������kb��o����-�����x`,l��N=����q�f���.����1�{��]v������kp�1��Q�b�������g���o�=F����-
�vr�����/�$F4_���e�5�A0k�H�8���������{�r%�v
��
P|�����96��7���\G�<�}���^�����-���F�9o��\?����~�-f���K�g�:�X6^hy��#F���?<����b�n���?^Z���:�����7�xc���Df�I�����������Y�
��Gqj�|��v���]vY^������}���������~����j�m�Y���=:�D�*W{��W
���6�`�1c�<��sQM����}�s�[�V������kp�7'�5��[���c����k'�6�,n���r��^{m�u������=�Eb��qq��h�����������g���(
�v��?����n?�~���<���f-�bl�nQ���w�h��g�v�Y��v������K����R,����b�`���q`�������|�3f���w��]�b��'*������^��X0c����;��C��t�8������\'?{����z���9��!C���q�����U�`�3�<���S��X��Rn�3����VC�Vbb��~����O?��"�s3N=��9s�D�_x����n���������iu7�pCDt<���^{����y��#�[=!qS�^zi<W��������������+����O6�SY������K_���
�m�o�����=��>�l8��^x�����*���f��%�\+|�+_y��W����;�a�V���)S��D���!�����'�x��B�����B������;��>��xB���[�v�io��f;�1�����}������"��������+.���^�����*���3�4�?����c �����~����m�����z�q���Y4t��<��{�i�N�<���1"���n�����?����:��,qk����v�}�H�X9������]%~v�m�q)WE�mgS##-7�d�V��R#���{��7rr�����b��n��b��T�k��������]ls<!��b��	�`�(n�1������>:.F��Z- �����K|��$n���O����K��KT��v��<���6�x����n���}���.L�4)�q����`�
b��0i�>�x���j�H���??��������G���&��jw�yg�f�6�U���kgS��|������F^�5���<��T���r�.^qk����-6#�����t}��kpni����k':R�������������U=k�;a���ybW4h��?������&�b����g��������E�;�/~��r�FJK��b�������������A���:��_<C�����~��w�e ������F����c�9&�����;^�����^����A�������m6lX+Z�����Ga��.V;vl�NN5���-��:u�����Q�F���1.~j��7����,��C|�d<��o�c,���B������^�TqGGu�s�=��G������	���o����f��T��]i~b@t���-?!$��u^~����Xa~��G���n�}�C�^{mm��Xx�	'��/FdQ��>��|���;����X�yO?�t�-�w_�0�����_�����:�_}�Nl@|��=$����?q����#�����6�����N:)Z��xD���o���~55�y���D
��W���|�C|��X�W���_��'?�o����7�86���o�,G�������$~.q��<���v�����W^ye�N����O}�S�d.�����p�
�����a���F�4�����c�z��Gs��]c���|g�h�
>o9k{`t�v�!:L�L����-P~nXx��7Z]�������\�oT�$�K/����wP,�������es��������<�
'|�N;��?����u����9��c#�r���K�p��l�H������SN����\�/������n��ju������X'������k3�x����5���'�8�������)w�v2v��[������4��WM�(�u�<R���K��pN�-�m�yZ�?�����_;��������W�������qX��"��x2|���:1��|�c�=bo������b�	���SO=�Q����v�i�����/����1����C����i��e����������_8��6�B��}��{Q�����}o��[���Q&l,�ur�3��������(
�v�r�u�������U��E]i��������R\�@���#"=*S�(�'	���~v����4��N��e�������
�����_|1����\-��s�=���]�������w\��=�$/���C[�@��M6�$^8�9�h.���xa�����~��QDca�Fm��c�l�M���+�[�{�w���������.C;�������n�F��J'��3�H�A3���O�G��m��@��B����;��Sc�I�6��|�[�H�i�������i��������,������'�������K2���S�(?�h��������W�ay�RDw���vl�7)�~����d��aw��w��u����:Y>�(\�r*/jv|kqG���{���rI�7z{���x ���Q�����<.�������G�%�zh�g����g��wqG��}T����Q��r�����`;Q��v�o?��@��\���+�����U��>���/@�z���6�V����:C���-g����[�Sj�e��vE�J7�i�U�7,��#����I)k��'�_G[��c<X�Z�r[���ep�n��99�C���_����S�w�:[o�u,��7�Y�<�6�O~���o�AP�X����H�~���<�e�\t��w�|��B�}�B�U;�4�����o.-W�6mZ�d9L���F���u���l�����Wt[{`��}8��6�^�We����k�-9X�A�BG@���Y�'�x"�1r��������g<�8b���{,�����b���@1n�%��bE�����y��8�'3�~��x�}������w�9V�?���fK��������'�5������O|��y�(Kqq�{`K��p��_;�"��<8���o��������M�0!w�g�}6��{fs1#�oX����}�=$'Oj%����X��g��w�V���]���
7��;g��G
��:����o[���<�}�-��s�=�7�6���]n�u�)_��&MjU����o�k�)1F�AG�e���������8�#N����}�����Gyd���S�%�c�*�mn����������}/_�����W�R;BEM�x[����-���O+f��T��]�t����g�)��{����;vl��(�CX��d�����b�c�������\�]u�M7��<����_����X�,�6kWN��y��������H3�%j^�B����P�~��_7/�|�Gy$���32�G��>�8��7���>�����dI�{���y����Y�n��
p��h��������������g?�Y��r�^�����~�������}i���+����Xh���;��#��[��*
X>�,l���x �k��4�������c�m����f�����Y�h���[��;@
b�����_e�nu�d��F���cY��O�����8�/�}�QG�������7�����>�?��%���f�b #�V���`s��V-��F���� ��\'�n9�i��6��^ <(_/���_;��<�g���$T8k��w���e��R������{~���l^����e�
7�}�6k�j ?���	b�&�+���\-q���%^��(���k��r����u#�[�G�r���G�
�Y���(��vJ����j�8&�K8��O����������l�:�?JE�W���o^��T����b9���b���_��W���������>���}��X�v�����?��M��?��?������j�h�5�%�������Z�De���U<������m���}�����=���g�s���G�������`N����������skC�i5�S��/��s�e����v@�p��6�ig����l������+�~�#�rH����������#�|��c�<�q��o��Q���V{���:�[�0Fp��>�$?>��T^�#��)S�9�P����8�E���Y��#�<������<1��;�,	�HZ�*�����aV����3f��_������Q�r����]g�uj����5���g��Z�����7�i�{�i�n��xm����������e�<�#��o�����^�Z~`���o^�28k��<��-����b�#�8���<-����,��0$}�{�k.~���C5�gQ�o�����c;[�����:1�j�A5��,����1r�E�z��9�\���<o�Y�V���G����gJ
��1H�[[�Oy�Y�����N�g�y&O�ju*�U��]@'L���:�d��+Nq��G���6kW���1c�)���C�/�rV|�����}������k��N9ii{p�������](������E��p���_;�|&��>_����%��Y���C[�L�6-�)?�#���y�i#y�����������c�=���:k��������o�����c��l�A;��m�5�%�~����%*��|��?�:�L^�����?$?�����.�`y����!L�<9����r�U�4����=kW�.�|g{���E���m+f��T��]��������&�j#����p�hk7�Yj����P�2V����sR���.��Z����-�9�+�8*}_�c�Z9��sk����y�H���g�>��G�yZ��/������=KB������Y�n�f5]�`'gk�D%���G����{E��Y��5�����/��j��yF��_M��!�+��5�B%���Zg�rX��r���������,��3�}��<'4��j�y�?���g`-����_�1�:�����yZ)w����V��k�V����gc��y�P�^|������e��7n�?e��O�sU8k���'�s�~~�:o����b��~�6?��vNh��yt����9e���V/OT_��
6��l�����5��eq*O�/�/�����(��vZ�5k�SO=����$���E��n�.���[��uZ���e��W�y�������|��o~�G#�gQg�j���G����a�]w���1��Q�F�_��k����l����������]��{������U���������1c������Z�`id�ky{������/����-���V����Y�<���s�Y'?�v���y1Gd�������0�1Q.��`j��������Bj���^��s�9��V�Sh���6��-X�Y����o�aq������������	^�[��?$��� i�=�(�r��2�;jc�,�(�%��Y�n�f5]�����(j�ed��)F��]7�tS�r9G���]#�[K��RY8}����)�;��w_s������S��������~4�	'����\M~���?������g8dXg��%�����N����[��������m�=��d�����o=�����V���,�oM6���>}z�46;V���k2��?������5���f���8j����`i���1i��pMj�tZ�O.�!U����
7��7���nI�p�.���f�_{g�U���?���!aKd��-�#���������EEEa�a���pPE�D6A�e�"�@���{��8��t���������>�>��N����v���Pf�;����1�*�Js�&z��	��11^d���K����UX�O���������'N�p�������)(f:�a�����b����Z�9��TH�j��1xS@n�l�>i�x�"{����oh;s�j�>X6��_�j��CA277�~b�V�x�Xm��O�L���Z�j����fT;RxN��I�a�oiii��
��X	T2T;������WzT�
����n<H�B��v�u��K��:u�Gzdffk0?��?j3p�8��{r�lq���j�����Y����<�9���5k&O��Sj��a~��{���g��\�v�e;�����3|e3`t�
*x���w�`�����nN�Ll��'N��G�^����e�����)'<\���`(��
��Q�{�C�.///x����g�����	<=,6*[)�������t�����lgE0��c��79o��1�t��v.�������NA���
�i�&m9+|^z�����wt�p�����D
U;u�K�+V�-�����Q�J)��fggcbp��Ax����7�DB1,���>9��v.����q��
w;�a������Y����E�T;��N�	Hc���g����(����=������g��U;���r�
��8�m��)�I�|��v��Q�����X?�s�Lz�q�n�j������]���qPv�?Q�%�N���v����|�m���������o`T%�(V�"���`_��Cw�u��j�����<"cpAd5�V�DT;�_��-~DU���0��%�=J���z��r��]���SS�����yr�����6WF
V�\�-�6��I�&Q;��Y�B��o������ZT,�,����9��oL�������PU�X�o��r�d�;6jS_�c���
q��q�K$<�x����r�.��Y�vm(��m�f���C��7F�	V�\��Q���{>|x�������E�}�|��'*T�����d��Hy\;`X�G�2�����C��^XX���%q�8L���������#��>�6m��X��7�''������j�6�8�8���^�z-X���%\9D�M��v��o�"��"
�o��:�|��_�'-d��=�m���aT)���uE�jU;L�U/���.�j��}�e�o�>���H&Z���k���~�kX�l��,���h0!^T;��vV�b������� �NA�
g�z��T�w��?~��+<��`���8����Y{~y�0aB�����5j���s�����DT;�J�-��A7�W0u���>�y���
��}����7��.��V�T������~��g����+C���\�A-����#�	:u���w��3d�-��j���gr��eK\7�����'4m��\�DN#�tedd`r5�q9T�(��"y�%*Z/��B��%��r{�4N����<O���s����*\����
��&M
����c���4>�y����p�p4�Ro	�va�6�����Y���=#F��G����r��U�T1P���v�d���c_,..���j���e{�_���@
4�/iT;�"��Q���Y~��'�
�����.�y�a���89	�>C6��T��������wx�(j��;�#KWg+������������Y�fy����g�I�����y�����;F�,������_0�q���j��}�q�E���-���^{Dc}V�V�?g�����"�Mr
�1b����c'
E~�0c���T��>�t�?��	!H
U���e�������w3������'���&�:u������`!�
P�("�Z�����s����.�DT;�����b��<�����D���E~)��e�8�7~������a������p`

BW��V�T����95E6z��i~�+**���D2��+��L���%���-����{���	��^o	�v`��;w.��h��^9e�\s/C�v���/����W/t����YYYfBx��Qv�X�i9T�P���P�WS�xY�8����3���c<&%����Z��r���'.�����Nnn.;Zf\��v/jg�}�{�:u�d���wt�����>�oc]�-q���
��p�#�i��h����4T�]��}�����)3R�������S��o�q�srr������[�d���������I�/�a���p
\�5����z
�	���|�<y�-j�s?�}�qr�|`�]|�zKP�;�a����l��
U�dx��TG���/��'N��y��T��~��5k9��z��y��j��mK����#�8i1P9a�p��\�����}�)�2����b�m�>�8��x���L"
j>d�v�}����B(C4ggg{&C�
D�`����a�>��oX\�^��]8�K�	��T;!I�jw�����[�U�^^F+������Y+�=�>�Nb�5j?V�Z�>��F�n��D�x��#`9�!�L(��o�9n>98#�DT;�+L4
����3g�������#7l��l��EI����a���{��\l�Y�p�8
�#�'��x�L�B���1�8��s����o����G���������c�w=b�N{�������c����.$@[B��L��fb������R��\l�Ro	�v�H�{zF�O�gq
����_&	Im�"�|;����sC��B�3D:w��IT��mM�����6�<�+����D
U;�i�&ZT;,��O{�Z/�GM����3l8�����	<�t�!&���!������-��y@_Yg���7a����"���V-n8�d�"�����c������jvk����7����p�J�����w��cG�h�=�7)�P�_v��6�rN�o/��7o�	Z�O~~>�k��Q��T��I� �{�1�b4'�3��;�@���6���br�}�qr��(K(��`Dx��G�-q����;(�}��7�dueff�b\��:q��@JU����SP���h0�,���|x�0�h?w�u+���a�I����s��D]$��v���
M=Z�=��C��q!n<�Xm��O9N�~��7n�D�F&1��"��]�^=�}�vL�B�sx�@��*�p��0,\{�.3t�P�����5k�+9
�/rP�jX����U��N,���-����� ���	��[B\g�V�G~�2e
�\�0G������f��3f�Z����c����H����Sw��
��Q>###>�u��0�!�N(?���C��$����bZ��~_�=�����Q�z��q;��c����	E��0�`�����g�6B��K��n�����x
F
�**���pyS���];���%<�����uc��,yb��Mb��?!�����X�1u���?S���r7��-[�-q�l��1//�N�:x:�.��?�Gz
^3�y�!:T�b���[7��W_|�E��BA&QOK:�U������Hc��jG]�9��K�E`�=�F	��s�'�k���G��(��R����������q!�	�x��+�+��7��_�|�8h0�h�t��O��W���rb���zK�jvh�
3N������p�o�_��V�h�0��Ix^��(�?`��u�0d��h`h�xM�����{�v���	��	��C���K�����N�@'�^��{�t���h(/n�d0�����j���8�8����7���� �`�&M������H�j�v2�|�6�
c��!i-Zt�w`���;`�OSw��������d�]8b����f�2���S{��Q�����}�}��/��a�p�
��0N��P2�D����?0�!
:���iS���g���a9�����������~��c���M�����%n�K\�'ubI\��Q�����B�T�r�.Y�#�+}`�4hP�B���5Q��\�K�v����k���v�"�v6o�<�����)���\�K
T�`�����l,)\m�9R��%�LZ����>(�\]�}��!�#$���B$�r��a��%�t��jWJ�P��u@�U��J���jwP>U���"v�m��%7'r��y��j�u�����o��s�P�e���,�����08�W�.����!D�)�����k�T������9�(�S�+�v(��:�|�v���J(��s4m�H��(���������6����k�r��8p�E��HT����������
A�67�����8;;;�I���B$����O�j���8YKG��������;c��O�����w�����vEj�i�R���7vK�j�p<�q��������<��R�Jk��Mz6��]��O��]��qN9)mU�������a������G�MzN�\_�����n����2�q������������;�FF-��9s���V�R�O�>yyy��������3#�"�����g;�Pr�����/}���vag���sss��&���I��rK���?zw���)�.�_�J��(���p���K����b8M�7o��M�w��~�����T������{iA"�]�Om;�����Q��3g��2d��(�d!��z`�?�c*�\�����>��w'-����87�x����7�����g����}�n��#;;{��a)�R$�"�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!����?Ou���v_�N�����=��B��X�����E	�����B!�B!D��nK�������k!��g��D%;�7nQQ��!�B!�B��d�v��LuQ���7v���z��+V�;w.��x���P����/��o����)��_�������?��3�	�����EE	iG,@�����\�r�f���w�d���o��G}4''�R�J�j������_~�O���u�j��j����U���[_{���/�S��}�������y�O?�4��\�Kv���2�Z<����Z�I ���5aX>��#���n�-��8��k������[M��C=�c�2G�r�����'#Y�*Up��n�i��a?��S�eB!�B�B��U��Q#8\��������R���}�����w�^fO<v����+�\�����=����I�6m�v�Z�zu������v�-[���Q�U�j&77��z����d����[��u��]�t���������{oq��]�y���^�zp�k����c��-qY�
�vW���H�+��aI�j�hX�������?�����U�*UV�^m's4,�v�B�����[n��m��U�V�G$�h(�B!�H:R��12�������g�]�t��\�����B��1������_�D�[�p!�^�N���WN�:u�}��b�~�L2����7���������r�Jx��h�


pn��#Gxe���M�4����_&e�
*��?�W.^����/�86l(Yq�
�v��
�	Zl�I#��k��$��9��������
����S)��f����~���E����+'O�������5k�>}��%B!�B�B��;���;���4��\�9s&�v�k���6o�\fO|��S���l�_��m_<q�Dff&��}j�1>6o���^n��I�>d�~<|�pzz:���={�d_�5�5h��H�p�q��g����N���KV��B��;2,I�Z1,��v����'�������i�!�lX~��W�R���S�NU�XB��H!�B���v�F�y�M7U�T�a����w���k=i���;z���M�V�\�j��-Z�x���<h��U��m���]�v�Y�&�j���W_�7z���j��!��U�������4i��X��[�n�J�����v���7n\����T����n�z��)���x�}���7��:d����������);;O��s�����{_y��G��=����7k��\�z�;���_�~�a�������Q�W�^����XX��$;w�j^'���5j�h��Q����Kqp|�^�zFb���k���?�������Q.��w��A�=���[��C5i�������0aBaa!����6�����j�<�Q��E�����k�����-)*�;��Sd��!!k���a��M���n2�x�����;���������O�����7�|s�����o�$����)W��*��������1b��(~������
ddd���m��9�i�m�����)..FG_C������+��4�������F�B�t�4,��9�����Q�<��Y�E`.�O�������0�OE}���T
����P���[������]���0��#�-^��w��(;
f�N����k�6���=�v(;��w
�+�G���m�w�����}��'
��}���GG���z�������u�d��/��y!�B!���Z�n��M5k��B�����z�����G�4pL����p�|"8_&Y��
qq��q����>�(\��c�2V�O<�4���q��a�l�e�{�?���+VV�N���2{�EX�fM�A���};}�o�
�G8k��G�*������^KKK����g�c���#��}������f�T�V��k>��\���������;���_��o_jvXr\g��u��J���Czz:�r\��M�S�Nq�F�Z����y���[(.���q��/�+�y��w�����n������5k�J\�����������:�2�[|���3�H�)�)�?E
�����:���Q�����5��������+����Aq�'�~����gO0\�/�������d����;8Kt�'O��,)�V�{������e�*�5P�[�l1i�����_h�����n��������';;{��	�g�F�/^�dI7,.���~���A�w���{�T��v�\4,�3� ����K/���b�f���;gRr	��s����
���x�IV���D��{������?���d=�o����SO=����o�u�]�j�x��m��]�^��[\GJ����?Lxp4,��h	m~��G����a��?��Z+�B!�H
)T�.\�@�	~����'��]:p��4n�W��c�9syR���s?|+;l����+T���?��s8"�"��=���}�]\���kp��ndV��gj2#G�4���{�������-Z %J���������#��.65:��"�����"�����3�����G�����&�������.���?��?q��\�ti��)t�MX�X�?)-Z��� ����r��CqX����'O�|���#<_����=�v�:8��6m2��*����q�������b����/�.>��3��O�>��lF���%���?��:���&�����;+U�T�b�o���W�Tx<z�����:�E���c����vy�m�Zd��9�Hp06�������fco���k��o���4,lr�C;��O�|��e��|�r����v���A����y����e`XX�SPXX���c[�qMKK�{=�6��"�aqi{��5k�l��������3����
�d������*b6�D��u���kg%B!�B���B����>�G�����_?88K�,���.]�U�B�p���"+�R��w�y��w��v�q��;��c����w��~Q)�j��_�c��u=��:��#�u{Q
������}x��E����q����C�^������7o�y
�j��������7zRR����O����M������v�R�p�C����#EEE��9r�YL2y���.��vi{��}����4���W����;�
>������
����������)�'�.]�e���K��������������4H�j���������E4�nt�U3fL�����'++�[��jg����[�2H�+��%�j��s���=����b!3�O'lX������{�A^^�-�?��C��ov���B.k4�]��!,�'���!k�.����~
���z��]CV8�p4�����M�A����9����p4,�w�&M���������������}���f/�B!�H")T���<��#i�~�i�:t��O��hHP��]*��/��-�����(V�Z�l��E	T;����������'����sm/h�p��Y���G`����+���C�_���[�9�:�G.t5j�'4Sd�]fk�
e���z*�,D��;�1�[���:|m�����xw���g%��C�
��������gT;�*8�"m��
��b�������#��x�����/�K����������XK7��������/��WK
U�����"!���2�z�-����O�upI�Q���y��[��mX��v,��"������~h���������P$R?����#��'�cT��1,|�?��V�����L�W�����J� �R����G��_�h�"�&����,[�,���&l��fK`X��E46dx�������B!��"���=���q�D��N��D����7�Y���qQ�q����:"*%P��8��������s�w{/\���e��t�mlg������n��1��M��I�y�f���&j���/E��}���+���U�j�{e�-�
G�&�y�4���wo�-�s����j�Y'i��1q��p��Z;.���$&��>��cG
Jf�a�B�.++����o���z�%�x~��aK��+��4j6&���U���;�����
;P@T4,T��Vb�uS-�,�?d�q��jW6��uhE��;<=z�������{�a����~����mr,
��Z;�����/���o��������N!�B!J@
U;n�+E�iZ��4A�^:���
7M�0�{�����W�������x%f{W	T;�?��'�#�/xjN)�s�?������D
 ��%K>��S���W����="����5�����"�c
.��PH�
���{�j�LC����k�����5EbsM�2e����F`��`����u��>����zw?5p�@��?����%K2@��m��)|�Z4����{��P49�d�@6�l�I�jG�*�����xwF��'�����G�+I4,qU;�?
��gX����0��v+VYq4�F�+��:���{�n>];9��]�K�.0�|�
�V�\���MN��l��!B���9������s��q����c!�B!DRH�j�H��J������������+=��o���);;���KLKKk���9����lL��v�d��������PQ�kFGN�[��O?�*�j���O��I��"�+�������T�XP������O\E��k���O����q�N�j���U�X�n~(��jf�w�6mB�B������\�k52<EH�~O�
�t�0a�����%��c�E]G���ml��aK��o�w�$�����(=������	�!���F�+��:4��a������dH�O���`����9��
��'�-�	)��7h������aD>�D!�B!D��<��?��S�N�={�;vl(Z$���h<o��&?��k��Hp���b<i�$=#�����@�������HT�z����h�O��]AAA�Z�hX�p�]dd#�\���]���*�����IQQ���~�	�������`����9�v���?�T�X�������������Z��1Y-�#3����/������j!;w��S���A�������|�{�+�I:t�j.
�r��5 �wn��N�a�����Q��t$A�����B��z	
�Q������k����#7���7��
V�\���M���ai��I����5�
���o�1c���4m�4$���[p��B!�% �g���U���P�y�������3
�����4U���<�S:w���������O�y��~q)�j�r�J|�V��?8<<�_~�%�C�:�\�b|^r���N�:��3=D.}i���'O�5E>y�$W�=�5k��}X�2i��������3d��g�:+333���2{�e:t��{�u�]�"S���]�^��]���)��*p�322P�{���6�����.nO1b?�#�n�k�����7o�<c�[��B���l�>}��h�\��j�*|7n�}�}�y��SZ4h�uVF��3g����?���2Y�%�j7a���J������>4A����q}�3�<c�A��]�����1,���u��?����4����|���vv���������%����
��,'�M������W
�'�X�?����|j!�B!�)T�.\����}.BG���� ��P3f�������}N(U���+���x��g8x� .r������vp�Z�j�+>������E6���6���^<8P�=��Q����Z�I=��~��*��%KL��t��"�+G�>l.n��n)�yt6�Q�\�@�(^�YO��b\)�������S'���6:v��J�O|���CW�$ti{��v�����ev��]�v
]y|-6�"��Y�-�A%�M�{�������y��z����<��1�����B�n����fb���Nrrr��w��E��n�0\�d�	e���h��!�mRR�i���A�wH�a�������2�������\����,A�������{��p���C�zT�p��!���I�OI���P���u��5h�������
�K�K\�s4,�l$s��������'���v3,vQ�P$���<xJ{(ZPY!�B!D��P��6m�v����{����E��c�>0XP��-G���G���=5�v�����{���
7�����Gs3X�`�cnK���#Q������p�����K�>r��Fu����`P�y����
��u��79r��\�_|1|5��1c(P�}���>�h�N���q��]�S�NQ=C����b(�<\8�|�q����������e<e��X�n�}��1��C�5�u��x���?2��_�={�P���E��/� B)xO~=n�K\���Y���;��n��maa����_��O��}�(�{��g';s��Y��wj�\PP`����Z�j(��}4���L)T���o���A���m������P��7����'??��	�����*Uz���P�|�������x�������]8�*##��i�>���������>@���Q�CMRU���2d�����,�:<q��ebXX�x�P�00��si.�e����w��H��gO���3gr'i���G��#z���m/q�.�lX/^��V�k����>�fX��c1������*�B!�(1�U���E#p�n��&�5j������D	8�O<��G������N�2�sU��k�~��7��j��	�
)�|������.]J�(%S����mnn.|+��i��(��K��:��V�Z����8q���b�
|D����������f�j��*����y���{��G��{��9��p��!1���~����`|<{�JT��N�>=n�8��(#�4t�P{�S8<�U������������/�����g�
���d�Z�2_n{IQ��u�[�n|:���/�u�%^�����8�������G*��p�q7�?<q����
����I�j���{t�dzzz�z��Y�����[��������b�5��7����.�;��o��F��m��233{�����~�bX\T�p�4lt@�����v��M�:���.M��8�v����0w
6�
�U$@�?~���JJ���QE�w��1�[�.�;
�R�4U���'�0ZE�=�-[����������2,�m/)�]���l��1//�N�:��Q�FEu�����B�A2�^���1R��!�B!�H���v����'Q\&�Tsu��n��PI������,*�K�U��U�F����^z)��1=% ��)�B!�e��jWTT����m+��]�B�/_>g�;��Q�=z�(��H��(�����C�}��G��n��_�����B��B!�����v����C�)��]�?���m�v��m��9����jwPU;??����]�4--��g�T�j'�B!���xz���%��+]���.����������a�P����G��Y���,Y��q�[�h1h��n�����>}������v��|6q�7Im)U;��~�iT����aX�I��M+��H�B!�B\s��������o\u8�^��j7g���2d��C��,o�
���<xpNNN�J��U���S��^{��g��jw�����+�%"����IjK���������;��_?==�V�Z}��Y�|y�gC��B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!��F���cv�
endstream
endobj
14 0 obj
<</Type /XObject
/Subtype /Image
/Width 1682
/Height 922
/ColorSpace [/ICCBased 7 0 R]
/BitsPerComponent 8
/Filter /FlateDecode
/Length 52241>> stream
x���	�U��?��A5�,�f�$�J�S��$�d4�NFMbR+3eM��$5@�e�
��G�bD��QE#bDp�h����[������������<�Eu��������~8Ks3P0~�a��������_�o�1Z��������n���o�[>�����WVVVTT���o���a��s��Bm~��Za�h�B�F����_���[o���M>e����������#G���iS�������cUWWG���?����.o�}�����-�@��+��g%�c�|lj��K/���/���R��$��X+W��6���2o}����1������7|����@� ����$wj���0l��d*>v��0����.��PF���3g��U__�����aC�����������_z�{���N��E����'�x"y������-:MA6�%�������7n\�i�)�{����m���.�������f�������������wd%s�A������rYS;:��������+px��h������r3d��&z�������=[��~�>�l���[������������R����iS��+**������{��'Z���c���L���6����P�?�v��z�0���z��8���cG�W'4@�Y�p��.?�,Y�����/���<yr��n�!��MS��o��n��O� �i�'�|2N�v��U��I��(Ew�}��.?������.�r��j��`����Ij�q��8k��G��v>h��|
S��{,j�����������o���^{m��)�G����0h���n����3IN������9����
8n��Y�fm��%�z�x��-����7o^4d���O=��������������G��}{������?���o���k����I�&�\�2~q��!C�e�����}�UCCC��h&-ml���?�B���o�qc������c����c�
P���[7{��	&��c��I�����������y���K;�b���aU�fa�?�������'�|2�yh�����q�0N���������mF���pd~��������5	�o�6�g�R�_��a����[�*�����;��3mm������,y��G�I��
��k��E����vEX�����v����t�w����\X�����r����x�����+�����]}�
7<������J�/H�z����^�<yr�Wa�G�V��������c��|�l��a�C�3fL(,a��NkJ�{���{������K��ow�<�s�v��0j��P�/^���u�
@��?��x��/�z�[���u�kGS=���Y��^s�tg�g��.t��Q�g��Y�&����<�jW�^���X�lYh�u��'���;��m�Nl��u�F��O&c����gmSWWf�����y_R�����;�%��zk�������7�K�zl���zr%[J������I���a�C��:U�c/|R>�`������ kY$����?M]���o��+�t}��M�{�3�u�]-�0���a��9������a[:J��3T���#Y��??s���\�r��a-5����[
���A<8��B!�����L/�v%g���3��/U��3���i�,Gj�=�+V��;7�=to�����bt}K�q���m���lf�Y�#������}��7�
	��1c����1"9����a�s�=�l6d��;��#,+��n����<���m�������]�z�~���G�:t����m�Y�k��
\�ti�i��"���#���5q2B	��
7�PYY9q���'����a�Zs�Xn~��as�6��i�x��x����V8�����x��X���S�p��^{iK�^X\h�l����������@��[n������������Q���d��i����u!��
G�|]�:`�����L��W_
��(�
�V�a�������wX�eX��m�����Gi��Y���z�=�Q�=ztZ��/��!kj�n����<����L~��CD#���4i�=��>��&�Ye��4��4r����=>���i�a�L;�� ��.s����N��.y�6�;~����%���k�wO�z�����K/�x��u)��v�i��.NN������0�G}t���q�-[�$/!�.�K
��W��a���|V�^�F>�`<���{�5{5S�k�L>V���WN�>=m��M���a��Y���~�]|�`����G������x��}]�H�6?ll4U|Wc��'F�E�I%/�K����Q�sZ�e��\����+:������9q���q����k��b�����[�c��/%m�#�L�"�K�����E�E�>�������W�����y~�������@�_�����r����TTT444�-��g��g�����c��'����M���S�L	���
�����������$���5��}�s�B���5*����M����y�wy�uK[�PQ��Y��A����n�
@�uHj:��G�����W_�'mB�3��Ma�8����L���.�L%���a���PF��6v��y9��y�c������	mK�jjj�ki�������/�:�_�>9*N��GP[[�9m��.��.G"��?�9j����X�5���/��B�������aHt�}����{o�=��f6khh��df�!�]�]�<�L�����c��W^�?���Y/y
k���7l��[$�]��$w��%K2���m�&����2�������Q��d��.��x_e}b�zN�>=�>%(^��+$�����2y0������?���W�tp���u�i��J�JQ��v�_����������O���{l�����Q�I����=Z���,i�b|�n��f^�I{`�R��s���������8O������������[�n]�is�v�����K��������~x���/��b��n�����k��x�����ic����E��x���J��k��5{��7��$��I����L����5kV�,-G�?��%��m[KsH��3�B�bK���7k������-kr�a���6'�S�L�8qb�����-����?�!�Y�������v�|���YZMkOj�,#��2�����!-��/0t���&V�Z5������WjP�:$����j���o�Ei���?E
����6���]fVKvW�w�}�����7�F�v%����.Noy��6L�p|?��E���|:�<s��mi��]SSS�!��3����[{6?~�����F�Wg�������Z����?��,�����Q�]Kai��Gf=�jkk��4|:��@|�c�{E����em�f�����)S�������d~����;��sX�lY�������������vq�>r������={v�r�����?�/9m�^WjP�:$��4iRK�����	m����P���������-�w�y�;��~��xx2IX�reK�=�P��m���1c��_}��6L���5`���[�F���'\��34���8V
�\�jU{V�%���8����;�FE�]F7�~��GQv�w�5�����9����CR���Z�J�y�����^����/����_2�)��.3����q��gW��z���Gr��{5����m��a~���9�u/��3�O�&����s$�U8��5������zEK����y�e�
��I�F��c_|���}���|��sHf/mH�� �S��U���Eh���k)-��N�������W��#�Q������o�M��('�;8�UD����n��vi�uHj7f��+������O��_y���{ ~�`�&aj�`"M���#�kQ�k2��z��g�yf���O$$�����O�X��$'o�N�xmN�����Q������iS�8��	MMM�7<8T�p��t�o�@)���.���q�������?>����,\�0����4����[�!��i�yXl��=���`��y�'���,��a���<���+����X;7���>~uf�r��E'�uY��J����o��i�uHj��I}-{�M�}3�1�)y�h��hE������dj����X�����.|gG��y�f���e��"��]�R�}�v����[37���'N|����Rr�{+�(E����6&�]���G}4��5B���/mH��N�M��O���Y%w�u�]�������v�{B�xW������I�r<�-��o~:%o{�?��Z��������X�;#
��%�����19�+V��K4��qma�������y]��R��z�}�ya^MM������G�><L��-�R;�R���v���rwc7o��������i����Ko�����yn�����&��l��a��y-�w3f�����:d��[D��[t?l�~���"�[�O����7��Jj�j������?�R����dd7j�����/a��:%o�N>���R��k�����{G�����c>�)S��]v6l�o��6���������?��s]�����v6l�&��������S�"�^{m��X[���B���������-�A�C�l~�����������=�vPE�[8p`�.�%4(�6�&�R�Cv���q�d����.~�i��v�c~��I-]\Z��]�-�������p�����.LK�����'[J�J�~��%���7�r����Y�����Of�y���!o��?j�����S����
�]���!lrEEE�����X��MMM�^{m4�M�6�!���J�g����F��������v�����|�[$�%_����.|�Z��Dj�|�q��:~�a�"K��m��J{�q
�C|�S�LI������6�K�x����5�f������.�91��}��7v���MMMk���W,lNK�'��$o�����u��O�6-�OO�/�H��V�X
_�hQs"��5kV�<��%_O���J���f�vl��5��
�8t-��.N�'M��cM�-[/��R���Gp��w���v
5��;��vZ��V�@)�oS�d���5��#<f����>�vuuuq��v�Z���?�����:t���Y'lj�1"�q�Un~|���i�����/�=�Q�!Y�W�����>��$���U���V&�/��?����}���Y)�va_����1#������-��.>`�9����W6�}�R;�R������8�kll��}���-M�����M���.~w��#Z?UV�{c,X��2���B���-[�l��)�F���+���2�g��7������j�c2z�]��=�����
<8�����iRkR���Gg]�v{���5�^�3�b���z<��7��
�F�r\��5��;���m��-���$��������M��F[����O�B������9l�����?y�~8Bf��}�m������Y�re����4�?1,3�h.���9q�e�eN�u�������A�}L����N�>��Sejll���[�Y]��i/rM^]�|�h,Gj7k��hT8rdG���g]DV����M�G����g6�?�^x!����o�:�����S�Q����{����GM�4)z�F�����n�)j�k��oOk�0`@����#����K��c��k�<�v�����:4k��~��A���F�f=6
�������6lfK/��eK(8��euuu�i�c����;j��,����_�#�����o�
����~)��.F
<��^H�'k��9rd5g����>�vq����+���3��,$%fUQQ�c���9R���?�$������n����_�j�u�]��}�ORGm~$���c�>���������K�� ��V�g40��8�k��������$�
��7�Qm�o_���A�%zUG$|s���oh8$�$3�;�a<��S�F�p8�ZzOk�<�v����'����jjj�Q�v�Z�`A8�����q�5v���#���]��K/�
��h����=��3�<'{a��^������4������d�P4�c��A�?�p����6lX|�Fy�v���3���}��I�'O=zt�����>�Kv��� ����Y����'|�?���s?�.������+4��������������F�Y�����Q�[�zu�����;��{����l��
Yg���J�3}�d�#G����|=[�{555��v[��_�~�;r����#0�(����z1��;�������{�M7�7.
c�<��<�����0*m;w�L^J:p��Q�F�}���9�+)�]8��8+�8�����S��z���a��c��)q��c��6�kP
��5������?&L���;�7.����g�}6s��������������8���/o�5������m���u��&��*��.�m�O�����]]]��������wh�xh��J�:�����,X� ^����'G}��(�Fei���n����y�l~R80��CK�mjjJn���C��]�9��nO����y�V=�P|�c���/Z���Mh��z�8�J3p���*��FC�����9�72'Uj������������|`d�����Y���y�k��
�uC"#F�h)������-	����Y��k�
@Al����{����=��5���[{��hT��v�u��M�>}��15j�������C�-[��s������0p�����$S2j�zCh��������Z2$�����C6�����������������>�3f�^�:���r���O3q��xo�iL���^}���-5�qh5�9��"����9n��x NM;��k��|���o�������
4r����-Y�$G�����?����}p��
_�'�x">/^�C�m��MMM�A����p��6a�t�b���v�{������<xp�~�B�	&����@������%4�!��Ij��'�
���S����"lKX���
�/�����L���7o�w�1b���y���f��Ia�?����&l�
E����������Z�W��%�[�n-��@9��e��U�-Z4s���R�4iR�]w�u�\=�%u���Ofm��+��mr<���v�J�s���������-Y�d������o����k���^z�_�~qp����c��~��7�|s��� �	-����X�f��a���l��^yVWW�|��)S��3f��A���2d���c�M��b�����B� ��o����]vY�^�<��=z|��_�������m����j����6��K�^x��={�����q�w����Y���+��i�<<��CtP*�����i��v�	'DY\�>}jjj�fW^ye��W�S3�w�y�N�<���?���~���>�������w��'?ve�3-����z��CI�RW_}��~
\�p����7.n����,���{r�p��ux�0e��hHcc��#�������Et��P6��J�N;�������������~z<��s�	Cf���{����oC�+��"mx�>}�����N���c�=VQQ1g����3g�L�R�����!���7��E���a�^�B����
�����=��N��^��q���/~��a��+rLUUU=o���i�V�\�}���1-��������	&��9��0d��Uw�y�%�\r�9�\|����v[uuu���g�
m�:���yn��%
�����3-���#G�R��O>���6��{�0��#�L��g����-��,X� 9��3�YWW���aC���gZ(o�F�����G����������N{��G����n�:���~��a`h�i���l���Q��u�a�a���k��m��P������_�R�c�9���^J�jll��uuu����o��g>&<xps�����qc���g�L+�3��M(-��m;���S������7�|��2$Lu��g���/_�E��l���Q��k����i���
�-��V�9��m���r�)�T������;�i���'�	����D�i����-��=�����i��������OO�R���/���[j�k����7g����~�;���<����.Lk6~��0��.��&������^�J�.��������L�4)�9����������/�Q���}��?/���d�0���{����M��&���F��^�z�~d\UUU�=B�K.�d��m���;w^q�a�a�����F�y����������MMM�{�����:������o���W]u��	�!����w���T*u�QG���
6D-�����[����C	����ov�a��C=t��y�y��1�k��Q��O�0��������/&�]s�5a�Yg���i���z������]7^�~��W_��w�=z|��'�t�UW]�n����>��s^x��G��[�^�z]y��q�����rZ�Ol���j�O�Z��EOw�O�����Ez+�dl����/+:#�K��ET��z[�4�y��������W�-��@i�h�s�I���
��P��E?��V(
R;(6L�v�4OYR;rN���f;uImuMAv*�K�R������tJ^��	����P���P���g�:;��~f>[W�}mS��n������OXP��-�M�R��Dv�O��-������������������������������������^����.�������G����7�xc]]]f�)S��y���~��|�I'���w������.]z������[�n�w���^�f��V�L{��=�v����:���R�T�=N;��N8!�G�>}jj�:�������.]��r�)g�qFh���g?�i��d���'p���o���w\��{��O>����L{����vE����:��CR���W_���F.\x���������[N�:59���W�\
��s�y�����q�u��x��p��)S�!���#F��>��O����=��~R;�"1t��T*u�i�555%�<8?����!�{�C�N��l�m���;,�ob��o����+���O�0���2���gZ�OjP${�����9s��
�9sf*����>��~�������G�����F�;6��W�^�����5�����=��+��ih?�@����3�8#�3
����1��������.�(�^UU=o���i�V�\�`���3-BjP�������o�R�	&DC�����O�����
�N=������>~?���2�m��%
�����.�=��!�v�l����T���O�����80�����x��a��?����O<1�Y]]]��m��!�B�3-BjP�F���K�#�8��W_�����O�R���o2�/^�8�:�����s������s�
c��]�ul{����}���.��|�v���@���s+�^�����S*a��,^���	%�������u*�:��c^z�������.�F�5��m��1���3m�BKJ�� �����I��u����%��R�F+cJ��m��>��T*��/��7�L;n��0�'?�I����O��������/_~?��#3�m��9J�v���u�3-"��]r�������_�OI�~u��e;k��,�9�S*a���%��*"��m���r�)�T������;2��=;~�D���G�Q_|q4��^�l��0��c���m��!�H�h�s�)�aA��V�4�}���aX������@�������OO�R���/�������qch��[��8m�y��F�r�-��'�xb�s���i����_p�9��=��~R;��BU�����$�|��P�h�K/�4�J]t�E���9�}�k_��������7x�����'�z��hH��}�K�ba��{���M��c������$�*�z8O%1,�P��X�; z�������n�=����~���-[��q�a���_7{��w�w�VVV6555�y���W_�|�_H^�7s�����j��	m��� �HR���w��J��:��S[�a���q��{���7�%l����(�3ft��5
���f�}/��b��5�\��u�Ym����
��*t����rZ�v��L�>��3����>��{��O>y��a55Y���=���^x��Gw���W�^W^ye2��dM�Z9-�A� IU���$���S�$U�b�
��*P�O�TE���)@��@1�?HR(��I�"�@� IU���$���S�$U�b�
��*P�O�TE���)@��@1�?HR(��I�"�@� IU���$���S�$U�b�
��*P�O�TE���)@��@1�?HR(��I�"�@� IU���$���S�$U�b�
��*P�O�TE���)@��@1�?HR(��I�"�@� IU���$���S�$U�b�
��*P�O�TE���)@��@1�?HR(��I�"�@� IU���$���S�$U�b�
��*P�O�TE���)@��@1�?HR(��I�"�@� IU���$���S�$U�b�
��*P�O)i[w6
�^��w�����	�4��jgS����R(������M���3���OX�������@1�?�t���QgGv����z[�W;�k����?��]:�'�����w���LU�b�J�����~�]�T�m�/�x�y�g:%�K��E���\��@1�?�t�'��~����j���m������Z����n����-��E��K:=��~��2�XU�b�J�*Tj�X���g?���.���c{��mQ�3O�]XP��@1�?�t*��1jHgGv�O��k�o�B~"��'AU���R�
��m�������j������?�t*��Od�j������?�tI����NU����R��veNj�*���O)]R�2'�S�c�����1��}�a����{�?����lX����w���&�S�c�����.��}�~�����%��\�5�dK�v�"�~L������v
/_������������l��NU����R�������c�������l��NU����R����.?�����~�-�����1�SJ��Nj'�S���)�Kj'������J���%���I�TE�r�J���I��v�"@��?�tI��vR;U�\��R��vR;���P��O)]R;���NU(W���.���Nj�*�+�SJ��Nj'�S���)�Kj'������J���%���I�TE�r�J���I��v�"@��?�tI��vR;U�\��R��vyK��j���S���u�i����l���-5��R;U`?�J����'��R���<�o���%�"����������1�SJ��.?���e7wvd�}f�^��NU����R��v�I��7�W�I�������v�"�~L���%��Oj���.��������1�SJ��Nj'�S���)�Kj'������J���%���I�TE�r�J���I��v�"@��?�tI��vR;U�\��R��vR;���P��O)]R;���NU(W���.���Nj�*�+�SJ��Nj'�S���)�Kj'������J���%���I�TE�r�J���I��v�"@��?�tI��vR;U�\��R��vR;���P��O)]R;���NU(W���.���Nj�*�+�SJ��Nj'�S���)�Kj'������J���%���I�TE�r�J���I��v�"@��?�tI��vR;U�\��R��vR;�������a��a]�vM�Rk���l���T�?����K�.���{����[���;��K/�:���3-��J���I��v�"������~��q
�5%���+��^�z������K��<y��������}�q����w����O~���gZ�I���%���I�TE(?3g����G��]G�u�A�����g?������s[�n��x�L�2%���8b��0��?��?�������O)]R;���NU������W�^K�.
��H��9��0j��Y������64���+�����'�����ih?�SJ��Nj'�S���u�]|�A�{�����F�h���s���Wh�x�������a�����I��~���.���Nj�*By���}��_�V�X�c������x�w�N�r��0������i�fkm��Uk~����8�
������Bo%�>�?�tI��vR;U�[����c�	�V�Zu��w^r�%��s��_|�m�UWW�m�}���������|��-Q(�l���i�`km��Y��g_a�����V���?�tI��vR;U�[���{��a��G��[��=�-[�Y�`Ar��'fN^WW���aC�E�gZ�6��k�9�~���E��i���v��N9�
��������&���.���Nj�*Byk)��s��N;��G�����u����������Gq��M�B��s��?O>���3���K�vmz�5��i���%���,,(�������t��WX������@	�?�tI��vR;U�[K�]cc�_�����M��o��g>&<xps�����qc�E�g�L+>N>�������)?'`w�{�P�(]������j������%����.��|�v���3�K.7��]r��"%���	�(��-2dH���3��/_�<��6�������m��]�c�9m�BK�P�s�a������B�[�t��R��vR;����
�]YkCj7y��0�W������m�Zzm��e���c�=����gZ�6��9Xr��<+��J��H�r��;d�!�*By������k�����+**�$���w�?O<���������?>���r,�=��+�`��FJ��Nj'�S�����M�4)?����������/�Q���}��?/���d������{����M����L����dR)]R;���NU���RjWUU��G�0��K.��m[4p���W\qEx�a�������w�y�{��a`eeeSSS��d����C���/������9s�UW]5a��xH��h?�`��FJ��Nj'�S�������&t��%�J}��_���Q�9s�t��-�=��C��o}�[�vX���C�7o^r�3f����k��W�>}�u�Q���?��_L6���k����:�
���s0(=��5�:�~q�N��.��������z#Lm�tI��vR;U��_���TN�A�x���W_}u���{��q���t�IW]u��u�2g��s�]x��G}t�n�z��u��Wn��!�M�������s0(1���/9��;�K�o��Z�M-$���%���I�TE�<8�l��4pz��n��>i����5U;�
���O�����s����Bo����^s��6���N�����y^���k�FJ��Nj'�S����RW����[wwv�4,b�����=��:6O����-�������!����iX����-T)]R;���NU��s0J��9��s:f�Gi�n�Z�}���\pvg�I�l��}c�����Z0�]�����_&�6R��vR;�����`������E?aA��6Vm���:�g��c{r��]j7�g�:�aA	j#�Kj'�����@ypF�+T�t��!���V��6���vU5����Qg���3��a��{j����?`�S��}$������"P��Q�
�?������s�\n���[j>������{�a�kw�������#���NUT����R������e7��s:��	{}���j#�HU�����"P��Q��O��?���_��s����6��TE����*��9�N�T�T�Tm$IUTUEU(��(u������j#I����*��@ypF��?�?�?UIRUEUQU��s0J��������H���*���"P��Q��O�O�O�F�TEUQUT����R����6��*�������`�:�S�S�S��$UQUTUE�<8����������$������*��9�N�T�T�Tm$IUTUEU(��(u������j#I����*��@ypF��?�?�?UIRUEUQU��s0J��������H���*���"P��Q��O�O�O�F�TEUQUT����R����6��*�������`�:�S�S�S��$UQUTUE�';v��������x��?���|��O�������p��s��(u������j#I����*���z��m;��SR���%K�!3f�H%u�Q���^aW`���R����6��*������w�u��R���??�����>����!����������=��_��_�^M���s0J��������H���*���"��)��r�1����E.[�,�J}�����lll<���{��]���9����������$������*B�~��]tQ�gEEE*����[�!\p���Z�U�9%O�T�T�Tm$IUTUEUZ�k���_~y������J�^~��x�/~��O|��X5��Q��O�O�O�F�TEUQUT���>����:+�����k���{l��?��?q��X5��Q��O�O�O�F�TEUQUT���=���]�.Z������+�L�R������qc�n������p+�_sF��?�?�?UIRUEUQU��{��GR{t��%�{�!��[�.���O�K_
������$�~�9�N�T�T�Tm$IUTUEU���	�8��T*�w�w�=�X<|���a�����������9�N�T�T�Tm$IUTUEU�USSSuuu���k���??�*�*��������6��*�����t��5W�k������0�;�k��n�2��Q��O�O�O�F�TEUQUT�c���z
m���C>��g_a��&��R����6��*������}b_p��T���Ph�]�����L.�9�N�T�T�Tm$IUTUEUrK��.]�|�L����y:JpF��?�?�?UIRUEUQU�������C{��q�5���7o��������U�f����_����������Y(r�[����������0���~�X�%��k�kXu~����r���g��6��?�-�����O�:k�e�q�f���Fo�� }������&����j��H���*���"���Y�<������4�K�.�<�H��
h���-U?�Ag�}�E4�����k��_r|���-9��n���m���_���>�
��^�s��u��6�?�?U�F�TEUQUT�����o��?�����N;��3��>���1jH~N���^�\n������a����^vs~N��>3a���9m���6��$������*B�}�����o~���O��O}�Sy[`_m����s�\n�S�����c�����_��,,h���9m���6��$������*B�u���{��^����p�!��m}�}��9�s0������6��$������*B�}��_����=���9������oN�R��zj��h-�`����Q��O�F�Qm$IUTUEUZ��L�q�I'��W����9r��!C.��������������	�a�����k~tc��w���^S��)m�����9������j��H���*���"���n����Kes�A�1��+��jg�E����������\�`����Q��O�F�Qm$IUTUEU����[��������G?��������?��+����|���
�jP2F��(?'`c�~�\�s0�`��(f��j���6��*�����@����N��.�	J.�9�s0�`3�S�QmTIRUEUQU ���9s��Lj���6��$������*�>y��W~����}��_���NmA��J�s0�`�����ImT�F��$UQUTUEh���z�[�nY_E�T�����9�s0�`dR�F�Qm$IUTUEU�?����������&���(��h�(���K�)�&��)����X��5�E����������4-�^"5M3�B-
��]d�?����t����~�������3����|���83�n�}�)�Jp�W\������F����V���l0��6j�6j#)UTEUTE��Fmt�A��������l0��6j�6j#)UTEUTE������W��������l0��6j�6j#)UTEUTE�]�~�.�������`6�
f���Fm�Fm$�������;�����l����"���`6�
f���Fm�Fm$�������[�h����{��O�:����n6�
f��`��Q�QI��*��*B��?��C=�c����������;�<�!-}5���l0�#������HJUQUjW�MK_Mhl0����i�6j�6�REUTEU���x��?��O�X�����
�`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�5�p��Y�f-Z�����>6�
f��`��Q�QI��*��*����/~1r��~���_d��W�#�<����}K_5h5l0����i�6j�6�REUTEU��r��'7��P�o����.k�+��
f��`69m�Fm�FR������P��o��T*m�����������g�y��_�����?����������&Mj��	��
f��`69m�Fm�FR������P�����S�NO>�d�o�4i�z��7j�����F6�
f��`��Q�QI��*��*B�6�d��#GV9�G>��^�zv}����l0�#������HJUQUj��C�SN9��N>���;v}����l0�#������HJUQUj��k��>��F�����]h�l0����i�6j�6�REUTEU���1�s����_|�_�����}����k��
f��`69m�Fm�FR������P�	&�J�=z|�{���_��d��p����_x���/��[�n��?��OZ�jB+`��`6�
FN�Q���*��*�"�n����G�.%:v���z���������V���l0��6j�6j#)UTEUTEX-��/���k��~�v�����o�~�]v����[��A�a��`6�
FN�Q���*��*�"����g?���S�L����4w����:���`6�
f���Fm�Fm$������M�|��E���������l0��6j�6j#)UTEUTEX-�g�>��������y������c��y��7Z��A�b��`6�
FN�Q���*��*�"�n��9�
*�J[l�Ez��y��/����8OK]=hEl0����i�6j�6�REUTEU��}��(�J���4iR���z��}��'���s�m����
f��`69m�Fm�FR������P���o��&���k��s�����k�~�
�V��`6�
f���Fm�Fm$�������{������}����o�N�:v}����l0�#������HJUQUj��K�������
��|�����
f��`69m�Fm�FR������P�a��u��y��i
���'������{�Y�������l0��6j�6j#)UTEUTE��
7�P*����s������+��-'.^��������K?�����t�M-}5���l0�#������HJUQUj�|��1c��;vL_=��c�yZ�jB+`��`6�
FN�Q���*��*�"��o�q��vj��]�`]xy��w�,;��
f��`69m�Fm�FR�������f������OO�2�O����s[��@+c��`6�
FN�Q���*��*�"���l0�#������HJUQU�����~�]w}�[���W�R>���}k@�l0����i�6j�6�REUTEU����ou�Q:t(�R�x���>[__��_��e��6�
f��`��Q�QI��*��*B����;`��R���C�!C�l�����v'N/o��F��_[�JB�`��`6�
FN�Q���*��*�"����F�T��'>1c������[>j\s�5���}�s-w����l0�#������HJUQUj7x�����y���W+���l�M���[��A+c��`6�
FN�Q���*��*�"��}�{�GQ~5?j7z��
7������
f��`69m�Fm�FR������P�
6���O,���Q������_/h}l0����i�6j�6�REUTEU��������^�lY|����;����w����������l0��6j�6j#)UTEUTE���g�Y*�N:�����o���vo����G^=��sZ�:B�`��`6�
FN�Q���*��*�"�n��=z�(�J���~�����g�u�a���F������x������
�`6�
f���Fm�Fm$���������g���r�m��s�=��WZ���l0r�������TQUQau-[�����?��39�������C=��s|�������U�V���l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"��%K�,]���jxy��I7�|�3�<���
Z���l0r�������TQUQa�\��={�,��9s����Z��v��vZ�^=h-l0����i�6j�6�REUTEU��=��C�����������)c��)�J�l��~���������������*�`6�
f���Fm�Fm$�������5jT������7�:s���;n�����M�>���:t��G?���Z���l0r�������TQUQ�v���{��g���n��T*�|���SF���G���j���`6�
f���Fm�Fm$�������[���?������c�����)G}t��(�ol0����i�6j�6�REUTEU��u����#��//_��W�^:t�3gN��F��`�
Z��Akb��`6�
FN�Q���*��*�"�n���o����KW���)J���#�3l������k�k��
f��`69m�Fm�FR������P���>�T*����_��Wz��^�����o��w�N���?���0�t��.��C��Z=�����-|
{��g��]7�`����:|��g���6y��Q�F����S�N�{�3fL���������l0�#������HJUQUj7s��-�����8`��e�M�]vY8e��7~��Z�JF/���{�Q���%;����[��k����>�K�.��>}���1#=�u�]��}�������w������;?��#��&M�,m�
f��`69m�Fm�FR�������Zf��}�W�q��]w�;��S>�g?��n��6e���ne'N���K����o�������0aBxS����x��x��y�F�N<����g{���:v���}���-[v�E�����s���U�IS.K�f��`6�
FN�Q���*��*�"4������U��>��O���O�<y������v�
o�0aBz�[o�����9��S��c������a�������rM�rY�6���l0r�������TQUQ�����k�|���rcG�^~��p�l�h���7}�S�
o���K�������I�&U�m�����<��5i�ei�l0����i�6j�6�REUTEU�����v'N�2$����_�t�����g��3��*���O��m�C7���y6�
f��`��Q�QI��*��*B���Q�K/�4�~�a�����;��v�i�����>^���[~��3g��rs��m�C7���y6�
f��`��Q�QI��*��*B���Q�/����O���E|���������r��}��-^�8y�6mZ��)�����l0�#������HJUQU������q���SN9%���I���z��^���{��h���k�.�u���
��)�������
�~�"7X�q��`��-r����
�~�"7X�q��`���{�6j�6j#)UTEUTE�����s��s�jy�������M�l���Khf6�
f��`��Q�QI��*��*�G������}�[�
�����/r�m��7����}��c�=^�d�M��������������6���yEn�������[�K?n������`��-r����
�,���gi�6j�6�REUTEU�����v?������D�K.�$�i�������z��6b��)������>tS.K�g��`6�
FN�Q���*��*�"�m���>}z8�S�N,�x���#�������W���^���~Uq��/�<�~�!�T��M�,m�
f��`69m�Fm�FR��������5v�.�e�]�����������w��q���{��W�)g�}v��we��-4hP8��[n����rY�6���l0r�������TQUQ�m�r�.��l��]�����3g><�x���������v��9�8~������X�oI�v�i��~��-Y��|��'�7��+�\������l0�#������HJUQU��_|q�D�v�J�������3����
�}����}�Cs��I�������C������a��u��-�{������~����}��w
.�����l0��6j�6j#)UTEUTEhc�y��RU���o���=��s��7�����.�����n�{���5jT���;u�T__�I'M�6��<
�����kl0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTEXg�s�9�Fl���g�<y��Q�z����S���{�3������5���U6�
f��`��Q�QI��*��*�:���N*�J���;eF�������k��}8s�>}��{���{��;w���#����4���a6�
f��`��Q�QI��*��*�:��#�(�J�_}�����K;vl���M7�OY�l�E].��g��������`6�
f���Fm�Fm$��������8�T*�u�]��v������;���a��������.K�f��`6�
FN�Q���*��*�"��v�m�R����W?[}}}8��I�*N?~|8��\K��m��l0�#������HJUQU�Y�l�M�T���P�<�f���>��*���O���w��6.K�g��`6�
FN�Q���*��*�"��z��U*��z���������:��F�}�UW��;�|�G}4��[�n��g�����O5���y6�
f��`��Q�QI��*��*�:�s���Ri�M6)��=zL�2%�������7��������M����o�ei�l0����i�6j�6�REUTEU�uS����;�|�}���;�_���/�����.���~p���l��sOxu��
��v����N�:���6���y6�
f��`��Q�QI��*��*��i��e���x������go����R��_�����/7}��?DS.��mK�,��En�������[�K?n�,��En�������;��*m�Fm�FR���������?F�:����+�J{��gx����?E�����_�G������������w	����l0��6j�6j#)UTEUTE��������+�J�/���[���S�L	����5�~�rY��"7X�q��`��-r����
�o�n�������[�k�o@���Q�QI��*��*�:k������z~�����R�4b���j��}������*�v�����9��*�)��m��l0�#������HJUQU�M�^{m�T�b�-�.]���x��m��6��k_�Z<������=:=��e�
N���[�|��\�����l0��6j�6j#)UTEUTEX7��5�K�.�R����z��������;vl8q�
7|��������j��������_�|���G�N;��pJ�~��,YR~�'N7n��W^Y>�������l0�#������HJUQU�Y?���;u�T*��������NC��p�
�������������~{�������
��[��r��]�~���l��~z8}�}�]������l0�#������HJUQU�e/���i��6h��.]�l��[o���q�^z�����?���Q��w���S�����N:i��i�i��]��e]c��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEU�x6�
f��`��Q�QI��*��*P<���l0r�������TQUQ(�
f��`69m�Fm�FR���������l0��6j�6j#)UTEUTE�g��`6�
FN�Q���*��*�"���l0�#������HJUQU���`6�
f���Fm�Fm$������@�l0����i�6j�6�REUTEUj1y��Q�F����S�N�{�3f���?_�ei�l0����i�6j�6�REUTEUV����k��}�T�����{���w��r���y���zY�0���l0r�������TQUQ��^z���;�o����n��,[����.*�J={�\�p�Z�,m�
f��`69m�Fm�FR������@u��zj�T;vl����
��?~-]�����l0��6j�6j#)UTEUTE�����R�4i������N?����ei�l0����i�6j�6�REUTEU��5kVi�T���'��w��}m\�6���l0��6j�6j#)UTEUTE��G}�T*u��-���3�A��s�6�ei�l0����i�6j�6�REUTEU�x��K�R��}�7-^�8y�6mZ�_�6���l0��6j�6j#)UTEUTE��{���T*
0����k�.�u����~Y�<���l0r�������TQUQ�*jy����������h[��`��-r����
�~�"7X�q��`��-r����
�,���gi�6j�6�REUTEU$�����{�T*m��&��^��x�m����[�x�\K���v�la����!�����a����>��{�_��[�_�q�����K?�G�ta�5���]�������TQUQ��Q;��[o5��FL�2%�^WW�6.T��o�R���_�����/�<�~�!�����9���K�������-[6h��p�-����.4��W_���s�T?~����W���$N;��pJ�~��,YR>�����w��W��e��r���w���T*���6�[�n���]�>�����N?��p������V���?>j�����w��������N�6mZ�y<jW�e�6����v�mW*��8���0~�����w��i�M7��7��|���I��G����,@3[�t�\��C��������,\���/<x������6�h�]v���+�-[��g��E_��z��j9p���'6��������������L������s�=w��l�A�����f�3�8���_��y�M7����]�v
��z���>����g�gF�5�|��0���*���Q�[n�%����O~��'/�����E]Tq���u��w�x��_}��B�8@�x�����c���<j7g���W��C�2dH<����|�����}�3�Yo��~���Z�=�}�����o+��?���|��=T�x����wH\�N�<`��X��={�����9�;��pz�v���~����w��%���O�3f��#�k&<=�������>t�	'4v�n�w���/?�n����uK�W]uU���������d����afx@��o~s���o�����c���Z~��K/���o�p�w���x��o����1c��.|����?�����d�����?���	`�-[�l���!n{��������S�N8p`8���h��&L�t����'�����7o������:(�"�k���cXV��r��E�.������������k�|�9�����/�O	�.<�6lX�?9����O|���~����������1#<�\o��������?��C��uuu1}>�`x����*�a��!={�L/r��w��|�+_Y[�@���7�	�
=�9sfzz,^�����)�
�L�0!=�[o�����[*�kl���w�yg|���v���?�����g��\v�e��0�������:uj��A�g]s�5o��f|���v?�����#F��/��W���G}t��_�^��OZ~��>��v����:c����n���[o���o��O�����?_t�E�g���5+���W�����,Z����������.�����L;j�������]<��?_���;����~|5�.��h�;jw������9���"�g�~����o��������8�����������|���^x!�c���������C���y����7~��+���4v�n��y���;�|��g�N��{d����z�0`�;��s�}�m�����*�9���s��	4McG�<��p�~���"��fxS�bx���E��v�i������/O�2�}������W��m�n���?��^|��k��h>��z����������,�}n�
ah&����f�-������!C6�h�w�y'�|��'�k�n����>�l���n�����??�x��Gw�����vC�
��|���E���/�7�;6���k���{���Ms���������^^�x��A�z�����o^{���"�F������<���r8e�~bM��#�����}���_�O����*��e��V[�F�fR��]�Evg�y���S���o��?���������%v�)����)�?Q1f�������1��O�);j���;��o����"��~x�QG_���>��x����m81�)���/�����f�������K�n��\��@<��m�Q�ui�8���/����4iRxS�������tU����t�q���u��.X�`��E�l�M�ds��Y���z��U�H�;������O�i���v�g������e�]b*�[o��O"���=�9r���s��#�,����>:�R�1�S~��u���c����zkz�*�k��o���04]��v��i�&M����/�W�;��p�������=z�_`�����������uhF����G?N�������|���Mg�}vz���>�������_//_�|����h��BB�����^��/~1���SO5���!_!n!Po��C=T��o}�[�M���'��v�m�M���Kz�04�*����o�+�F��K�.C�-�������g�_Q�����v��~z�#����!^s�5�����p�+��2����O�W���/���d��)��4����������O^��g?�Y����'����{����j?j����C7�x��^{�|b�s��������������
�4v����o�����/Y��k���MO?�t�������>���v�m��e���)%��,�����/|!�i�v����M�>=��S�N,�x���#��@aX����~�y��W�'������w/����0���{�m�+
�v4v��_��WxS�v����N
�_�~����;�c���<�L����6�����~x8%��P������.�����~U�[]����O����z����+
^J�@�G����������/_��Iy�t�A�:u�={��������v+��!�w���W_��������g8��ol���s�=��_��W+N�u�]{�����E�u��}��!��y��Y�f����}�U�Z��C�]�v���~O�9sf������?���#@����/�����{��U>%�5������j_y���6�h������[�?+v�Yg�I��_|q�D�v�B�X>����,X�`��v�?K�����c��m�=��;w��6���x�Y���8��C���;9�OK�S.�����
6�`�F��%����N��8��A�v�}���;��?��5�49aX-a���c�����\pA��m��)�Q������g�s�=w��%k�3Xs�<�L����y��K.�$<2
K�t���{L�0���|����k�n��I
���?�q�~�:u���t�M�����3�<�z����������s��7�8�q��a%����
�gaX��{{�g�]�������&�������ys�<��7���)��u�I-�y@����%�|p�C������o�O��=/�z�������s�o�?���4�	���\�&���-V��o-�i�����4��]���O/i�O�Vl�
W7��]���_����
4��������+��[K*�<�x�.�7����������i�!����c[�3�\G���i�O� _������~�����iS���]x?-�������{�p=��_7��<��cc���n��6�|�w��s�����S���������w��g�����_�~x����e�������;9��m���O�>��
���������~���>����O!|��|
k����-����yK�k����������W����_u+��kS�O���W_}��s��u�]��b��y��
~3����t��n�a����<��q��w7n�3�<��Od�4�Q��_aW�e��93��>�����Y�{��7\��}�cMy'����;��w^|����:k��!��m����./|3��5�)��jh��v����+�������g���o���{��[n	����[>�.��Ny�Q��mTk	�����p=/������f�5�'�������Y�x��M�,�6�Q������� 7�W�|����k�����HM�[]��G�q�q�����~��'?�I����;	�=��0r������~���ls���w�}�������
7�l���1��t���������a���|��[o��o�Q�����g��v�gv��=.<�L�F�*�#�Yc���]���?������o
�?|e��k�x�����j���?~xH�C��~������������5�\V��v�%<�@���������/�G\��M?jW{�k�C��{���b�-��������?|���q��~�_|q�?������������>����p�	/����vk�����G��}X���`��g�uV����[-�.����=������vmU����6�t����������#'��x��e�������E�q�3�8#�f���3��:th8������b���������O����?��c�
'V|v_|q|�v�e�9j��w��7�?�+������f�m�Q�o��1������_���/^O|��G���pb��+j��������'�|2���x�������Ap�n��r�)�O��Ca1<@n��v5��k�C��{��7�����������xb�w��zGq�:��Q��oi��
[�|y<%�Y�?����
G�j�Z����v�;,k�/���{�N?����Gw�X���j���k[����|�;�uU.\�������v����������V-�x�.<
����O|����n�)���ol��f�n���i�������
g�a��}����0�����=�o���������?j���^{-LSG���N8��5X�M�f�m�Q�o���	���xJ���^�Wk��	�6�x������7o�-��������Z��]��8p�����w���+��]��������	&�W��g����y��pzxl��;k;j�:~����?��?��y��Q�pS�?��x��iEai�Q�f�5�'�"���|����#�<�Q;`�{��]��
�}��	�
wt�]w�Uq_�`��+��b���+�.�SN9����N���m�������;v��A������_�z�\~��u��U�/��R��;��:������g���0w��s�=7T=^��/�x��%��W_}u���n���'������=�s�=!��s�b�-��z������_���n������f�m�}��>���I�z������_��w�~���>������X���a�T�����W_}5�q��_��*_��k��vm�v���8������[o�vK����I'����������	�#���u������K�3��@�|�a�_�x�.��p�;������~��v��7��h��*�c�L���)S*N����u����'?	�~�����C��o��z��W�V��C�����������������va��}����Z��N;{���=�X�y��'����c��U�j����s�pS�1cFz��[Y�{��/y���j�3�����^[���?��F~�&T(�)��*W5$1�r����x����{���'��:th���m{���
��P�������u+��9|A���y�����W���o���vZx5���l����A��Kj��	@�{>�����K��kU����w�����n���u�Y���<���{��������F�I��(�Wl�]w
������6�V��B�W����pJ8�������Cx���^Z���?�p��~��?�Q��fY�q�0�>X��u�G���Bxo�������#������6���;��w�F
wm��V����+P~�Z��G�Bro���p�	7��}���������*L���y���~���7Eho�!���H�S�h	p�<����BN�����>{�.��SO���<��������?��0f~����������3����;,|���_,����B�C��
a9����u2dHxXQq/��o�w[���3\r�%!;�P������9s��^8|��p}�}\�S��%l��%|������U����9��U����^<j>��F>������k���3m�aYc��z(����v@��G�BH�o[.<�	�h�7��;��y�|����pb���q��9���l��6�����*�-D8�x����;���,��~���	����|�&V�}���+�I|�ux�V�����p������?�yx?�
�;�p�vH�g���'|�p��>���+���x����w�y�S�&|F������X]�W3a����=*a�_�q�����+�|Gx?�����>^������0��pe��/�a�h7~���_����?��>�|�M��G������[o
�'��p�?����%3~��x`d�m�M���=6L��_�i�%��n]��_�y��5<z
'�O����B������[`�T���_�0��i����5(���`���o
��������l�oT�)�p�
+�}E���_�����i�<j���O��]��	'����,��-�'L��y�<����x�	.����
Jn�'L�.� ��������V����?�������~�kW9O-������w�p�)����� ��)��4v�_�x�.���M��k�7E�>�[yP���K���x0��������_������*��������~�f��G�����b�U�[{�b���.�'<��};��C��=��0 �n	������b��wMx��o~�G?�����/����_j������K�O�k�z��7N-���*�����p+*O��r�����[<j�e�'N���=�c�U���o������������g�����n-}�.��������1��jZ��8B��d���O6��c��|��c������2l��o����]��_���5+�B�5�g�K���^���]�������g�]���a$�����B���~���7N�N��?��\w�u�3���}����!N�(�-���w��n��+�-|������r�w����9��������]F|u�����_Qi��,X� �p����v�������@U����^<jw���\��a���^|�[�!�?���������v@��G�B�C�B��
���/���}������p���5P�F[m�U��|�;������B���R��[������oU\�!C���q�o~��p�p�]�<q|�{���)�3;���s�a���g�}6��7����[�<�L�/?
~�����r����=����/�S>��OW|5����;��Y�a��;�0]�'�#�a���W����6��=j��n���@���?>��V�_>%�U�	'�P���K��mSq����?![��-��,>�?�j��I�.��Y���
�4S�	K��#~=�GNRq������������`~���[q=Z��-Y�$�
��'����O->C8�g��v�|�k_Ko<�i*p@���AP�X���C�6�t�pz������C�������g��_BnWU�S��f�\��K����3'v2}��7���[�����;���>|G7vL�~��/{O������5~�4&>X�V��Y��Q��^z)���G���h��|���~����L�:5�_��#
��Q���5�R~.V~�7b��y��_p��1���?�����~�?��������O������q������?�V��-�t���G>���q�0��������6\�J��;����0 |�������n-z����o�7�W_}5�����Y���OX
_���k����'��Y�h��o�1��������*���s�=��������p��~�v���+�y��=���	��O��\�>}�o���bD]x���{����!<��O���w�O�}1G�����O��c�	'�7�����Y��cV���6�>+/K-������>�������L����}�5����?��<j*����W^IO���+�z�%��X��x��6�8���_�w���V|P�UW]U��t�}���@�������_�E�����cy��v�!�r�'L���9��]��f�H�y�=T��x7T��<�@]C?/��/����Od��(�����Sq���D���o��8;��*�i�j��vm�vX�?E��O��<�\>z<e��;��3���l��U|�X>%?jW��m������G��	�`|�B��~�4iR8Oxo�����`l��k�'��3\��w��:�|��g6��v�}��M��Q��f���a�p
��7���_�2N���7��D������@M�U�%?��^��SOM�nNu�z]��8<������7���@2<�����x�.��V+jl-_���A���y�c��0��gZ�m��
��������75~�4(�g��i��kC������-+VY
���3���������~�g�f�v�m�m�|����X�S�a,��X|������->���\����#������Y�8Y����Z�nq8�*=�������:�x������T�K���k�O����W��O6�=j������F����QnW������q#���3~�{����G�o��X:Z-Z��U���+���]|�����w������V����v�M����8�*�W���VQ1�u>����G�~���g*~|;\��V*��
j����/����+�2�0�K��a�����
4��hX<D���Z��wX�>h+8jD-x�����y��v�!S�{��_��Gd�C�h���u+F|5�1�<`�k�x�����_�����{��S����xKO��b�+~�I������p�8}���4f���!^���p�^�w��(�}\��N��;�`N����HH����������a�������1����z��Ma���or�w���������]-_��O�V������r��e�k��|k����}����K~�,�#�
r|�������l�����������v��v����|��_�9��S�7�-?--��aH��o�.�{�g�}�n�3���v|������U���3�y�c���T��������G���"<������yck�����U<�'~u
��L���px��[�?��,>������+��t��G)��<j�@o���*��_��y�Q����)4��v��~�5*=D����/��Q�����������_��a��{3Ue��h��u��[N��P���CO�5��k�C��{'��u���^�{3���;jW�B��Cc��3gN<O�{9�p�_���F��������_���r�!����{�.��y�?�.>����p��o��������������)���n�������d��Q�x'��/�����sD�RX�.]>�i���/B�Hz�",���V�{�.\|f{X��?�����
��Q��s���l>Y��a��#���,�p�7��'n<�R~�Y�y�������^����;��#GV��C�S����4�a�����k�*\y����������4�=���U�S�?��?������Kr�Oe�#!�;W�d�Q�k���8M|���4 L����z��q�������L����u[��m)�Q��?g��W�����+������+�?�:x�.>,�~9������S�q��GhC����gB����A��3D
���T�	�U�lT����1�y��3O���]��Z�n��vOu(�^�hL���Z�/�_j������O<�n�!��:�����;����y�}��Q��?�"9j�������3�����������U<u-P}��l�����I~����[N���������k�
�x�R��N�w�y�o����_�����f�rG����U�-��y*���b�-*�)��h��%�}.���>j��|V��]���7�b6�f�-����mx�����j���eD��l��7�?J����v�N*\6 ?�����5{Xx��Q�F���B�^��U������w���5A����������
�������=�"������-,�]b@";���"�
F��2NX�PGa�pPFGA�aPPv�-a	�}o��z�s�O�NZ��y||���s��T}��oW}KA���q�S����4]��M~�G<�k��=4���x�� �Z��0��{'������H6c���d�(4�u���+�O�����l#��9s�~�����Lp{�D��`�g`��gO{��(9������\N�Q��!�!��1���6
�/��]4$x������������v.�����	���;o��;�6m����m�=������1CC�;����0���A���|&��P	U;���YH��`�`q<7�jZ���`�����?O{������I��Y\\����6/Y��vx��1^"�����:g�8�T;_��O���9��H�6�\J�����,[��7����4�v@��YH���wgT�`2P�Si��DO�4�1F�#���l\�|�Q�F��!���c�t��U;�z��)�����:�L�6�>�8��x����Q�}����S�82�o�I�m#��
�'-�.]boZ���
mg��Em���3��kW���p(H����Ol��-��m��)�I����U+X{���j�A*�i�6)7,�
"##�8\!�+�Jf�j���"W����@�j��aq�����vB�F����c�_rIC�k���H���l
��<�Gm���b	O���A�-�A�Q��}K���O�#.\X�n���Sy�A�:u�/5A���^�l�T*���l����|F�n��[�J_�>������[�m����m����������9����X19�����0�����s�g%T�


�g��ih|&N��������a���R�hz�\<L���~
�FiiiNX;�}�3����SN7pqi�j�Ro��n�����p����X�Y���[��5��c���;���,'����(����\����Z�*b�vA����VJe477�C����p���'��a!8�M��IP�s�7G����l����
�(�}'���,/����d4rMHcx��;q��F��D������g<#����L��SlX�`��xm��O�L���c���
�j�0������Q��d���tCT;��qV��4,�������,�vB����u
�n��>���:*��Q�L��x1�zC�}�g�}��/^�_�~vvv����i���[��Q�8~'�\�S�3`��x8f��(�"�qH>*�jwC�CNM�.))aS���s����\M(\�s�����3�-Z��s����G���[o�� �XN�X�pf��F9���_���v�B������?~|���
����������Hx0���3���\za�~�z/��m>�����X�#���v.�������
�1"fA�y�	��"��C�{��*U�����C2Y~�=�]00,�#^��t��9fS/..������v�mCk������+�	W���1�q�w�����xq����Q���{vP�^D�>}/^��{QjS�� �]0���(h�H�����0_�7�G�I��w/n[�vmUJ.�e]1�V�S2F��y�����{�r�D�����<�����v��.#f���m��y��v
&�k�j���"��]<R>�t�?>��	!���Y���JB�^���'Np{�oq2�a��<k�//�&M���0
�S�Nff&G��������G8IF�����R�tcyS�_|���#�G �g�V���%X��a�\�d���J�������������W�^�E��r��8{�.'����w���!g���[$i������M�6�n"~�?nOh�������F0������<fd�J��Q��E�)KT��{���K<8���i������[7/���*\�v��
��S�L��l���o�r��<�pOs8]$��u��$U��s�����-�����#G��{���Z�z�5j��OU;J�����/���r�^�fM���
�E�r�&M���4��o�	\���I�,?��Ty�j�d��<��s�t��D��!^oI�v�m�q@q�;<E���
�������g��v�S����C���9s|����3����@]t���xP����k��Y��`W�/��k���m�>�8����>��N�x���Y�V-s����w�
�`6�5,\��a�������Na.��9 ��%���|b�h|H�B�4�v�+�*`{��C{��a _���GO�/�ML
40+����B���QD�(��}qM���� �]&`��v�/i�M���y>����&N��E)��e�8�7}�Q����0����Wo8�EEE��?�U*�.r#�CNM��;�����WRR�I��d��W������1J�9-[�9D��7��G�����T�<�F;�|N��b��r�d��^��;�3_0�k���w����999fBx��1v�x�i%T�P��^/�+��d���(�����v���3����g�r_�zu{�Z`B<I'??��-3�OD�3������W]�v5[n�;�t��Na��.���j����R���4�Z�tiFF*��v�����1��TiT�v����)LS���8�yyy|��g��-_��|���C\ba���j���iS{8�f����X�=��Lzx>O�:��3�y���89�\9��.�K�%��E�������wv����F2<�X��G�r�z���'�<Y���q�@��u���E=����K������v�S�s�����S��D.�j�F���>�o�CO��g���{�r�Dq<��L�E&�5�Y�z&r|A����������r���2�m�u�r�o
����jI���}Bk#�NA����8q�]�v0G�k������6|���f��i�O���G���5k���1�G�����n�=������X�`�#J��[oM�O�F�!������`��)����9���7j��M�6!�jQ���������w�ca\.�����	�-^�<�"/zZ=��A��p.x���������v7^;4SS�z���G��i��y��6t�����RA�%�9�d�n&f����.(5n��6.���j����g��$z�����e"���f� ������|7����!��[7N�:t�P\\l���t��)��\��N,'����-[�����aaL}�K&�z��>jM��a�1��e4N����1�F��
�����n������g��c������E��!1�4Z�p��������G�������jqk����7����p�J�����w��cG�X$<�7%�Q��\q��6�rN�o/�Y�p!�	Z�Oaa!�k��Q��V��I� ���KS���sf}p������[L��o:NN�e��Z
F�1c�8�[�����wP���X]������(F�N\F��V�.r��T)�(�G�0�0i��8�'���w��J3:v�y�b8�<p1����]��tCS�u�����b\HO5^�v�S������6���I�n���!��W����S>/z�CQ�S�R�[��k��e�
��b8�=\�n%GA�Ej1
K����j���e����������7W0AuyB����v���#��M����������f��Y�f�Z����c����H����������Q>++#>�u��0�^`'T������Kq�Q���%K0�����w��\���	f�({�F�������'N����"zdV0��n��s���?�V�%R��o�u�<#j���E���v��rj���yQ�����1�E�|���&1g��������V�Z���:8�)����e��m����j6o�\PP��A<M���G�=/���<�*�
1����'{���?��OB� ��������v���\L�1�F���������"0��K��~����;�������#�\�
�
)�����t��1����F�_���
!����7"�(�2Z>]��3g�������x66��R��E�0A�����A�go;2$�;��#��7�U��$L"j��!J��a���+Z;^���m�����c�!��`�s�d��t����|�I������7''(��� �c�%��E���;(�}g����-�$H3��Et�`�(/�����,Z���:G��X�)�o@��K���w���
����5u�I�a��q^ �G8eS�"Q��4�
]��7E�I��q�S������
���nB���q
f���/��?���i�Y���-[b?c�<��&O���l(8�G����]�tAoB����4,	�^��]$�K�b�"���xB����v��YB��;��I�*U�����
&��]�������T\w�]�K1�����U�V�����M�+$��]J�j�����`�`)�Z�����n�.U�a���Wo��v�����{�����H!2,B�r*�j�!�+�9J"�TZ�����T��J���;���!���r�v%%%�D;v�HmN�\_�TV�n���7�|��t�J���;/^�;K��ap��][���aB��S9U������Q#333�s`Q6*�jW~�P��
@�T�^z�%/��w4m�H�������!C�x�i�)D��uO�T�<��uk/���3v����/�B�������Rn"����w�A9!�"�)g��R��}�3AD����#{��{��������E�8�����v�?_����J��T����=S��E.�HoA\&������y�I�j���_��lH������%��+�rR�8�v��-0`@��M������KyN�\_�����n����
�q������������;bFF���={�����Q�_�~������?�!�(&/;�����u}g�y��4/��8{d�@����� 6Q�Oy�h���������//LKw!~-�P���@��d��u7_>�j���4���u+4�������#R�n�{x[�E�Hv�?�����[
G�n��y<�b������R����U���Zv�n����tG�l��q�����|���'O��Xg���={v�N�n��&���������eK��B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B��~9���/;~�6������t�C�+b�����$�n��r!�B!�ic��mIJv����������K�������%�.�B!�B�6R��m>~*�E�6o���g���kW�Zu����r��7{������	~�����_����f��N~~~VV�/������q��1/JIIR������frrr�W�~�m�M�0����e���c������V�Z�z������'��!3h]m���Y�f�Z�~������+�.]
�������[eff�����~2�&����_�e8������?4<��@��������������o��}
����

6l������G������
���'�N��d5j��
o��������7I�E!�B�v�D�f��p���>�����nD�����~TQ�^�*�����_z��k�VJT�G}�7i��}�=j����9r�N�m��:u��O���C�����[/��������]�v�?�{��p�333�����+-�j���O?�;4j�x����q���e.�5!�����ve�z1,)Q�
���322����{s��Q����k�d��e���h�����u���w���f�����
�B!�)G��;F�9p���x��������/��������@��5�����'��E�[�d	���A�����WN�>}������L2���Z���?���.\����W���E�]PTT�+p��=�+{��i��.��o3�(T�Re��E�r���_|����iS��sMH�s'hX`O��`[L��\/�%y�����8deeedd,^��W`�O�N1�6k����;��.��~^9u�Taa!.��[���3e.�B!�"R������(���)o�����1�C^G<�����[�V������vm�����b�O�<�����f��������Z�����2e
�:��9������w�^;���$k������V�����'_~�tO�<�l��&���#������j�hX�q|,**�}�v�"����~`+5�9}�t��U�'�/s��B!��H�jOa��Q��rK�j��6mz����_���f��}�=�X��-�W�^�f���[?��S�����W���b��=z��[���m���/�=s�L�Z��f��5�l0�2eJ�|6l����������ps&L���U�5j �����6m�c�%�����
�����jy��g������o�����w��e��7��W���?�;w��g�����P��k���������;�t��
�_�:u������_^�x���?L�����V�u�>�[�f�F����?����5jd$� ���
������8q��B��~���x��
�<�H�-P������I�&���ihc;��m��v�3\]���c�����?��g��)2t�P���:|�p|D��%����r�����w��]�Y�7��6n���,�8q���;}��y��A�U;�Jt�
���t�9�'J��������I�&YYYh�h�g��E�;v�����JKK������`Fz���j�*�)���C��o�E�g�@��2��$
wh.Z�����0/�C��C=db���3g���8(,2��SB���,W�2h� <&q������gd6�&��p��-���/�N���k������
7,�m������]�d�J�0�A����p7�_|�K���z�~��������]���O?
&C"���+f^!�Bq��W���eK��u��h������o���0i�2�4#F�(**���Dp�L��M����	�����Wt��������3
�'|>|�/p��^�O�w�����������3Q��[qP�v��I�����������?�����-$~��W222�9�y�����D%���m��j�U��-����������u�]]�t�C�����������������s���Lx���G�d�O��R�z���C��~���S\����~_�W`��o �=����m[�5?g�8�����c��	�6l<e������g#��SxS����������	�U;����Q�p����xI��.��BK�G���y��U}��w�+��L��q���jx���O�:5<YJH�j�����5���U�k�2�m�f���?�!�����Q97�t>�%��3
[,Onn��I�����>�/.[���RnX\T�w�y'++���p�����Q��*D�2$iX�g�%@����^@����n�����&%���,x0yyy0�������d`X~�a�;v,�YPP������z������'�|�}F�����Y�F�1,	�U�>}� ���4�������hXs��|���@�1I�r���>�V!�B����]�x��Vs������t��A�i��9��7��s(--�����;�/��~�Vv���[�V�R�����HT����}������z�=�3s#[�j�<S�5j������w�}��4a-�n�)Q��>���N�]-p����d�Q-�������~��;F����^3i����EDv����?��O�<�+�/_�6m�|�-'ND��K��������?�\v�PV��C���S��z+���d.m�����-[L2�J���%e9���?���;���K���?������m���{���%�����:���&����]��U�V�j��>��W�Tx<z�|����a�(���go5gv���mS�"���������SnX�v�
���Mr���l����z�ZJ�������g(>e�>��WV�\��1���??x�`�����|���g
������l��5�v��P�c�T4,.m���n��:t0?��={����aa��_�~0�YE����a��aC����D!�B�Z���}�����|[�g������+�*�^���\de�A�v�.}O���{<k��J���v��}�zW/��IT��?�6l���}����(�AA����R�_|��[o���/�U��`������������$��U+�S�V�E>q��m�����r�{��^������� F���F�"��)))�����s�b��S�zV8�H,�������^�����^^�?���H6b����>��S���[o��/\����G��w�n��/=��B������7���� ������'�=���F�������������Ohprrr�%��v����5.�4��RkX�v�<�>�{���[q!2��H���zN^^��w�b�#�<�E���sY�Q�*���a�}yF����0����>,���=z���pp�X������f'�={�m���hX��-Z����qe0,'N���+@�N�|�^!�B�B�������������B�a����-�f�U;��"�=����r�O�`��5���x�A�c�^H���������������8w�����0ZT����_�!6n���-��E�#��=����)2�.����2��O>R�C�!M�.]B���6l��w�6WN]{���P�^t���k<�:�����
���bm=��Tl�O_|���Hty�s�4�s����]�6\�o�fII���Y�e>Y�ZI�j��S'/r-$
+�������3g�:����v�}�<���-#�6,	U;�1�u����'N�?4I�B����	l��T������k�K����b���5kp=;;;���}���0�xWk�A����h�����.]j��x8�>����a�y�jj�e0,f�"2<}�t��jB!�B�T�F�����}���ib�r��d������k�y�nDxa\�a�p������IT;���0�&rx<�\���/��n��
�t����ho%���ja��3f��m���.2��z���C���!e����q�����^q�;F#��	w�!
}����|+�\��=����I���jL�%1\�����`.����#G�t������{X�Q����Ay?����ib�z�=��q�R��
-7�����5,	U;�����
�Df��$
U;���w�T#�Y`\;��U�aaE������z��������Y�������9��x8��v�9e3,�.]����+����P�B!�B��4�v�>T��0��9i�"X��<:tpQ�n�4i?�����]��;w���j���2�v��'O�D�_�=��RJ�:xTK����@��������<}5��C��<D���3g�/�+4E��^���>���A�.���<������o��6/�k��iK�,y?
����v.m��s��i>�.��c��A����;�x�,�e;v��d�1j�<C���g;v�K��=�/��
[eG���Q�
of!i(3��Q��������3WRhX�v�$���P�a�S��V��Yq4�F����:��g�>];=��]�{��0�o��6
�W�\���MN��l����
��dG�ey�{D������Z�w��B!�"%�Q�c$�VeHC�i����Hub����d�7��[�����{���C�edd4k���z��e6&{T;f2���\Yybc|���5#�#'��}��o���������3g��������t���4'�9�#T��u���AQ�����y�S��j{\�����=G�.������Y9C����n���g- 4\�t�������1#�S����D��J�I�&�*�Z���1fZ�ut.i��V�Z�T���`�N�aI���!��3,��O��NjT��1,�C#��o�����JF�����.�
W�\���MN���<y�����0Z�z�&M��Z
KF��HB!�B$O���c��A>}���s������{�"E�D�Y�`?��k��Hp���b<i�$=������A���c���HL�z���^��'��T������.�,Yb����K�����;VU;;�=)))���7��#c��7������=G�.@��U�7WR#}����q��1���_{��2<2�������/^��}y��k��
���I{\�`�7�G�2�D��s�������/�]C��q��y���������OG�4,��+�>������bK��v|::?rclPy���p����9��x��-Z�,��9s�1��� {���7n\0K3f�@��={��\!�BQ�~�l�z�|�����{�^�r%�PH1p)��MS�+((�=�[�n^`/$��'�x��;��KHT���W�c�Z������~��w	�������K�.u�������!r�K��}�x�)��S���+�	�[��s�r�)S�x�C6cb�����o������l.|�����u��a�y��w��Li�wi{I�v�+��V������B�����W�����|��=m������F�-�e���
2��U+/����!��%�~����2�>m��5�8a�������}���4i�����j7o�<;�/��s/d�KB�n��I1���%K��$|h���Q������~�N��S�~}�AcXX�
6�p��}��ioe;���/�4����������%��E�
��,'�M�����W
�'�X<��*�|j!�B!*iT�.^����}.B�D���(� ��P7n�������}N(U�������x��g8t�.r�����2�vp���m�+?����������F��\s/(�����Fx�t-������?�Ht���&
\x:�v����PG�17m���|:�
u��g.��j���'AE1��	�?u�T|������Q]�ta%��'>�����+	]�^����������n�=����E���Q��<k���x#���r/<x�W�n���Q#��c+C�l�LiT�v���pj&��!�$//��{���T*����I��Pvy���M���&%��f��q�}��������{)s���.\��5l.��4,����o��.�
7�6l�O��T�aa�O��dQ���Lka����aC�&Mxj�}xk������U;G�+�F2�|����'�x�Z��{7��aE��G�0���S��XAe�B!���F�l�����rss���>j���"�}`��6m��=��$��a{jT��eff����nw����f"�x�b���A��D��7n���?%??��1|����\��������#���[o=z�(e���?�|�Z<�q��Q����{����kWx|\zd����T���x~+�E/�<\8�|�	���������;�e<e����a����3����5�]�vx�>� 2<`���{�R����K�F�� B)xO~=a�K^���Y�n�������Cqq����~��O��}�(��o�i';{��Y��wj�\TTd����Y�����)��q��4�v���_g��m��6k��F���.\�v�V��SXX���`
v�j��=��3��A��;�]�����H�aI��E�K����p�}���#�OXn����#!$iXU;�$U�����C��1����.R!��u�w�
�	�1���YF�7�������w�y'��������z���F���1
K����jq6,��-��H+��5F��Mq3,�����
�Ye�y�b�
!�B!�LzU�Ht���[n��B�:u���<QN���?�n,|gx���M��A@�n����}�|��u���B����b�
z���@�(�j���po����[!�-[�Dqx�@B��x��a�����C���������U�V�#�>p����x��.]�3gN���Q��-��[�����>�������]���
��4���?)����WB�j��p���	&��G��a�����"���x��RT,|dx�t�g����x�����;7|�p�.$k����zx�K�j��+={��������,�B{�1f����1�#���5k\u�
�Ouk'@��P�b]��$�U���_~�.�����l��:K06��

�W�pX�����1��q����^���[vv��w����ARbX\T�H�4lt@������;N�>����.M��8�v���0wM�6�
�U$@Z�h�gmJ%�mXX���={���4l���B)x��}[�d��w��|���������������vg��y�����
��G�S�MhX����P{�7�H~��B!�"����
�v�`D!p�\�r�����
��F�/3f�]E>T����v)!�P��/�����1=e ��)�B!��f*�jWRR��;v�(��]�BV�\9o�<;��Q��{����H���������������Fu�x�g��
�vB!�B���J����2d:�2v]p����]�;v������F��
@%T�dX�|��7�blot�V�������rE��B!�����-����z�v��Z~��v��-0`@��M�����������Y�|9���n�z���={��!�����#}UR�n�}�\��n��R8�v2,!<��S�x�w����f��Q�9�j'�B!�������I
wC����H��T�n��y;?t����WX��6n�8d�����j����U�k������o�l ������sW�OF���q����Q��a	��w�Awn��qfff�z�����r�����T;!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�Bq��:��9
endstream
endobj
15 0 obj
<</Type /XObject
/Subtype /Image
/Width 1682
/Height 922
/ColorSpace [/ICCBased 7 0 R]
/BitsPerComponent 8
/Filter /FlateDecode
/Length 52721>> stream
x���	�U��7�f��q*Rq$��|U�0Fs,"�e�w�����F�\OR�=�$��&�APd�A@QEPA&�h4"E@EE�������
2�}���^���t7-���+�����^�_�z\C]�^j������������x����j|����3�
6�����c���-����e���|��W]uU������s�}����'Em~��������8������b�(��_����w�y��q^|��1c�\}��a����������J���k��K/���=��Vo��n�:r���O;v�[���������c�]��!��������	$�_�n��)q>3f�h����9s����}����L�0a��@R���K�n�Q�k���{o�������BV��n���?,]����h������|�,Y�R��K��zk\h���_y��=��r�l~�v�k
4(���i���\���Z�*}���+yw�������Cm������������W���g���v~�a:_hO6����{�-�����+j�����6���]����?���g��[�n-zu�q�����@!Z�k7w��8�;�����n�z���;u��=��Em~3,Z�H�n/���Q����.�K7����=���vw�yg���9sZp�v�W�^q�����\n��6�f���k��7n\�����������m������E�v��o���O���+Zv
+��vn~3�?^�n/��w��-[��A�`�a����g�?~��A�{�G��������Q�o��������2e��!C����=z�����[ny�����_�����I]{��f���o�������t��`��-u;0���o�}���={�������C����p�[�����;v����S�N
���\sM��a���9���k��d�����kjj����������{���a�u-��[�dI�C���/�E?����;R3|�aH���k�������y�����>����/(���G���_���4o��fl~:7o��
����o�-����-�K��'������W��C�a��=��Cq�G}����_t��������zk��o�����["��d�B��lXD���'>��=<���V��vx7��s�=��	�Z�j�����v��z���v����4iR�]�B�n������<�HR[[��SO�5*�C�O'|8k���w�>C6][��i��	u��	&\w�ua����^��4f����O�>�0U��w�� T���3,��^�]d���;7��p���-V�p��+�d��������1���s[v�����������k��Z�j��!��C8@~����;�������7�pC�?�pp=m�������[jkk�}��4��]�t���I��4aj_\y��
m�{��>�8Z�k\��vo������+�������O���u����,
��i��z��>}zZ�=z4�"K�!���k�n�R]�8��'�H�����n�������7-�c�x�����."���/_}[���nk�Q��m{����Wa��O�����8N<�s���W_}u�3	Q�������E�v������_C��og���
������{�����/Z�(�J�`_�c�����8v��;�����n����!yC�����{8�3:thI'0�*���������.]z�u��������C�I��(�����k������;N:f�����k������}����{�����S�u+9~��q������!#G�l�s�F��O�k�u���o0l]�aK]�0f�L����S����>��z��8�;���n���n���[o
^��Kov/���j������I��|
:�2lN��{��C�����?��g��4}baN3L#��9s��Y���1�O8����U�m���~R��:��
{]���E\�S�o'|>�{�m��{��#J����C�y�%�Q�I��n����-y#+���,�>���'/^�8�X�0���:0 �y�U���d�v����?�4�������{����z�Q����o���;���oB����^�	���h���a�
{{���F�U�����k����w�5�pv"{���z*��c���~;w��M�:���-���a�l���]����kmmm|+.\�p���i%}���v��v���jz+W�<c���_O#|��'�?�x�)�����e�����z�a��~���7>�'�x"�<|�*��o�����_�|��v����>|x�y]���iM�q���x��J��O|����'�|_�t�c�>}��J�K�CH7y����������Og����r��=�t�e����E�x�������V�w���v�'O�m?�~i?��^{-�y���+���(�4��a>�+Ky�����b�7o~������{�]w�?��v���i5����V����.o�;��a�J~����4iR!�<sa���;��3�IX��~8��~����|�zw�z�v�.�k>�4y�aJ:�%�>���Cj�w�gX�x��S����|�y����>d��
�T���������#����Y�f�������w��}������D8�n�iw�k����{���9s�8'N����ZI����w��7�]��^z)�a��%��3���}�����
:4���u��G��;�O�0!��o����Ba�Jgv�}���N[�k6'mZC��t��#G6c�������Q�F�������_M��m���iSG���va�	o�g��������
�Z�E����=�|�t�W��%U��x)��A�U��BR�{*]��S�-,��\�������s���$L������;]�-[��_D�sC}�{����a���qxyG.	k�&_�pa����>��'�Lt����k��6�6t���������5�v�m
���HJ�]��i�>��]��l�6������+?��Bke��������L]������]�6���;�lh������v�����G�n��!u'�N�����C�����%*t���9,_�������{=���9sJZ����O�F���+�OC��_��]�xq���h�gT�KM��tKu��t�q���-i�7F��U�<���+.����;�n����K��q�~����m��M�0a��Q555
�|�_|1����t��U�w���V���N�.�a��c"��ysj��6S�>|
M^�����#��?�$t��Q�L�>}�T��U�@���OyS���X�e�������O�3gN�|w��k��]I7�D~�������
���NV�w����X�dI�?�����d��������K�����I�+����Z�v��`�����n�5{����K��[o��_���:x�g]��^��o��R]������Sb���D���v
5.\��i���e��4N������{��9<��3%��]�
����[+V������]�����'_.��q��s�o�������j����)��c��_y��l��_~9
��'����-�;���t���IVy?��g�M�+�V��|8Z��!���i&s��I�~��F~>��,���K'����cw��s�=���e�����>���`�
]��	�T�$��-[�nn~�����3���7o����W�.Z�(�6}��|���v��Z�kw���VX�����M���Ow��{YQ~�f��74���a�o�j}�QZJ�%��k���S<���i&%W�7�k�c��t��]>�8�|?�����������
����X�"��?�D8�M#�����Y���+�kw��k��]��+�l��4f���
���d�[n�e����-�2eJ��U>T������K��z���$�������������d����(�����uaW���;^x���?���������Om���l��)��W�?��	{�������������r���0~�����]�t;��Yp,hhVis*Q��_}���S�5k��L���'�|�d���4hP�������������2\��-�|��4r� �������V�].�6�|\����(������C���n���8�w��M]�������v�/��7?�,Uh������;�HsH�������ZlF�.}��=�XS�-Wr��`��E�'�����uk�Ur�_�<��f�|s����B��5���t�d����#���s�I�a���T���I�-��k���kW~���r�n��-3f�H����B�����E�.?��IJ�8�P�����={���+WV�.];�}Q~��������aC9?{���o��������i�Z�k��3^�|�'O���7�Z��m[�����F���
��������]z�H~����_�[���I��]��+
g�����+��w��OV�y`����%�K�.M�����{��`�����!���T�����v��v�kmd�.���>|x���,�v���Z��<W~b��~8~��t�#F�x�����o����(]�W����������BS��o��M]�������v���5��l���}��4<l�-��7a�
�v�������{�����%��5��5kR&�v����'�e�.
��p����
8��qq��W��;��k�"��NL��t=�
7��FK}�t������*,yB��]��������A�����>����O����vo��F������9�P ����Y���3���#G�_��k�/Z�dI:��������#���h���wg�����������Z+���'}4$��9������3g�L����]��ws=K�&Fr���V~zf#�v�?�p��9aY%W"����MZ����I'�]��L��[�.} qH��r��%��������!.�z���-]�4M���m���7��
_�u�]�����
+��t��E+W�LGsyo�^�M���4<����O(�;��5�kW��u�[/��B���O��/^��Z4hP~��77u�������W~��i���M�������������d�=z��4>D5�|\3�vI�
y��t�`�~��t�\�l~z�@:k4=��fn555�;���M���gF���e�����s��

M�����k�z��4�_���
K�o��fzXs�oM�`_�c��t>X�����nL��w~2LSo�;��&M��V~X������]�G}��L^y��4f~6W����w��V���f
�����f���Vs��Qi�&u��{��\������G������G54��t����5c_j��������+������������L�G[�dI]�Pz���Jf�kW�=��r@=��3i){U�.������-u.k���[w�5���39#];�}T��W�^�������hVW|��|�?���vg�����K�W8-u���y�n���6?u����{/
��Z�{�{����>��P�T�M�6�S�����K_A������%R����&�N�}����P�r��v�V�J���9Un~�!�o-����#F�����O<�D��]����dL]���i��E��S�����]Zz�������
���C��������~��t@W�/�q��tX]����}{z�������9}��ww�`��ix������w�*t��w����`;v�:th-�p�z��Z���5q��z��Z�j���=�������%�w�qGC��G��M��=��#q�?������^�=�\Z�����c4�
���]�4��;��k��'�5d��5
}������??�j��)���j���c����M7=9rd���k���t����7n\C��������_�����R�����!!]��/[�,
|��7&M�4l��
�@�N������y>���0�=6m�����~��zG�:uj:�+��/�8���.�|��u�;Wr��L�J?����n��%�G��v�;)���2�}����U��������6o�<f��8��W_^�����z����'_�re�2.jR�.��T��~��_[�GJg���+�p����K���UV8U)=T��)�������I������a-3���[�3gN-�SbRy����o|k���������6lX>�zo}~W]uU�I��
�����]�i��63^@].�.�E��w��U�=s��O9�?�������r���M~�T8�-9�[�vm������K�WAa�U�V���n�:���6t��;�����	��O=�T��Y�xq����Dy� ���92������{>;v�x���Rz��Y���Z����{���������>�w��.\o��?�!?�����H:/|>,����/Q���]��3_t#��Wj\\{�����
6����7�\�����7o^�������[%����>������]��1i���b�)�I�5�_�L�81mN����+�Ziaq�����t���~�mn��)�v��{,l~���Z^555%��b�vu��+f��}C������}��gSg/lQ~�]3=%6�5s����r��C��_��������V�����T�o��^"�k� 1��q�#F�Hm�x���m��af�_� t�����#�<����+��={2$�v:������~�����k�h��t�J�C���o�=���<+�V����T<����n��������4iRy;+I9�z��=l���C����=:�*���.�6E�[#'�W��-?3��,��X��]��;�O |zc��5jTMMM������M����$�b������)vQ�>}�}�m�]+RI�����_na���m��!���w6��og���#G�L8k��0��	�ha���x�]�`���%�p��[o�5L��C0o���i�,Y���
<8���'p��7��]D�O�]�~}~����A����?���������J���w�>i���D�r+V���
�!$��3�����m[~�^��[n��}��N80�'��v�/^�jU~Ej.�>���+���]�����1�����yf���6o�|�wT����
]�Wn��iq�z�/n�������J�/�d%+?�"|�>�`�y����c�tup�l~n��E��44���U���zG��k�^���]S����F�?�vu;{V%��$�H�Nq�O J�����^x�����5`����;m��!C�T��zgK�����O�||];�}��
f��}���8�W�^������F��>}z�A��|��)�3B���#n�=z����yva��
N�81�vX����L�p���`�I��s�=W2a:��W)n����_������z��=t��?��O
}�����<a,,k��i��>lW��x��������S�u�%����k&���������������QYX�8I��e�R:0�U���\�2�24r�����<C6���'�7n�u�]����������/�$=�P��:i���m��%���W^y����W�w��y��zG�����;��3�Xn����<���kW�3�}��n�!~�a��n�)���5k��^~������
	��O#�����]��=$DPH�����&��,XP�A�u���{��7�v���63~!0����W����ig���S��Z���<
=��y���g={���mt�`o�k{];������F��6�v��h��9�\r�����m�#�8�k���F���uk��&L8��s:t���]��N:���z��5����;���/>���>���;���?\�pa�h7n����)��r�!�v�ag�q�M7��}��f/�7�pC�V�����9�����g]t���^�{���6m����O~���O=����>���/���/-_�<m��q�[��o��t��1���}�'�|2m���_��W�[������k�.]��m^^p���mk�r`��p��6m��j���GI���N�:UUU
0 
�8qbr�QG��??Y�~��^^t�Ei���z���j����	����������9���7�1/���0�k��+V�H��p�	a������\�o<8�VW2�������_�%
���s2q��|���W�����_~yxy�e����[�na��1c������m��M�6K�,�G�9sf������cG�����={VUU��G?*>e��0��O�/�~��x)�'�|R2���^�����/�Iz�f�*m��1a����_�?>���7�Q�J�{lxk��yMZ.�7�������3�<�d��!C�-���i����]�t)���a��[�������V�������d�����]��xJ^�=�g�~=zt���������>�����{�I���/~��a��������������n��N��������7o^���#�,m������n��������5�|�_�����+��������K/��q��g��g?����u���~���l��W�^a�������?��c����?>��V>��-[b�n����e��]��w�}w��qY��x�\.�gjkk�z�GTe~�����Ki�����a��~����g������c����|���.�U�V��7�x#�}������L�R>���^���~�����d��5��vZUU�O�����o��������1c>����k����������x~]c��[�lY]#����j�r���Z#�$���?��������;��M�6�������w��0y����g��~�����_���G[�bE��m��!���7����������/����n�r���
�g��M�	_��������������m���>����������������^�zu����3�<����o�������w^x���nk�r`��������G-��CIo-[�,�}�������v����n����2>�b��%�
6,����_�}����Yg�U2���[;t��z�����\�o��B8�d��o���{�����3�8#��,[����j���;���TWW���}����;����sO��G}�s�k����E��1�u�'�xb����~c���UUUGqD~���u��}������U;t����O�!+W�<�����,�h���^�����1c�����n�s(~����^���[���"��O?=L�,X���c�	�����.�[�l����UUU��u�n����G?����<��0�����������oA����<������W��v��|�)S��m�6���S�0�8�:��^���������.]��v�i�Z�
//�����l�r`��c��{������;��#��m{����z���z�Z�re���'O>��s�8������|�������-����_|��Gu����S�_��K�.-m�������s����~�YgM�8���l�r�&�h��^�7�_�7�����f{��M���(_���V���w+��|�?�h�a�k����U+�����U�V�O
�����_&]����l�����>.z+h���������_���X��S���j������,�u����k���~��M�O��g�����E�����m`w
|����e�]��'�r���Y����u5}��ls�����n���<{S���~P7���+�P���j�a��^X����M�h��>/-��S�����n�a�}^^�'�<�=��>������|�+/9o�t�����ls�������]X������>_�L�u��������~�y�����Y���a��n��_$�Y:������m/]�u��[g�m��������6�s�EawprV	4��i���r�L�.�+������]��������e�M�q��������e�
}��=�=���N���:��?�~]�o�?�m��Y����Y%�D�v{Fa]�^G���]XP�{���3]���=�E�g��%�-qn	�xwp��_?��[v;�m{���r����J��t�����v{&�������o�~��pn�sKZ��sK�/hwp���q{�k�/��;89��H�n�������8���%-���%�����=����/_��S���+�T,�T�����8��e�9��}��v|�k��*;�R�(RQ*@C�z�Q�z"��<���������KE�
9��1G��1h�<���rZ*u�c�(�!Z=�(U=
���PB�@K���~,�"4�@������!�P�C�p�X�����T��p���T�4@�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"��������_��C��z�)��2h�������6a��s�9'���]��N:���z��5����;���/>���>���;���?\�pa�h7n���X�!�r�a��q�7�t������\�1��z"y(�!���T���~��+����j��������k��������u����G��O~G;��S�>���?<������|��|�q���n�:�u���v��1�����O���]��+_�Jx�]�va�]�ti��mxy�l�������S��� ���PBN*JE��O&M�TUUu�q�-X� ���:w�2$�6q��0�����?~�~��/�0�����ho���A��u�	&�!��o0`@��c���qc���.�v��b��4�	'�>����@�S��� ���PBN*JE��7v��q���WUU��1#>w���/���{�MCbo����h�W�>��C��tl�*�����J��[�0|��1�������m��M�%K�����93���5i�h�c�1�D�P�C�IE�(�����>[UUu�)�T�������~��'%o]z���������S�N���Y�JF3fL~��������/���o�/��c�
o��7�I��@�S��� ���PBN*JE��7jjj���~���Um��ia�.]���5l�����������U��v*�!^0��x�k|O����G�����G�n�r9���c�1���<�����RQ*�������������{|�������+������h�����~�|S�N
o}�k_��7/�}��G���r����[�n]xy�����G�U>�����VX��/��zL=��H�Cy9�(�"��8�������w�~�!�|��_����u��!{�	'��D���+���^>��{,�u���������m��%v��.]^v��5�}��w��������rR����c�Cy(!'��T��!m�������eK���o~��_�/���8����}x��_��|�f�
ou��1������O>��z���U���o��>�����S�L)��k�
o��?h�r9���c�1���<�����RQ*��s�9'>�b�����'�x"v���YS��s���u�9�n��eu�8�..���m�����z,_��������z,_��������z,_����Z�7��K�Cy9�(�"�F6I�'\p�UUU���Q2|�����o��3'�2dH��;��N�&O��:����?>�=�\��_�B�h+V��]�
���I}����|���c����oUWW7~��Q����S��� ���PBN*JE����M�	���o�M�Jt��)�5}����������������^�zu����3�<�w�q��o������V{��v[���hO�c�r�d=�/wO�c�r�d=��/x�c�b�d=��?	`�P�C�IE�(���������u�V2|��mtPx��_/�-[�>���kkkK�����[7�xc|y�	'��3f�(m��aa����������/�:�����n���C����/����r�Q����c�Cy(!'��T����>��V�Z-X� Or;����#*�8��t
\�l���:�M�6���NR]]]~
����;w���s�=q�G}��h��|�x���'���4r�h�c�1�D�P�C�IE�(���W\QUUu�����D��|������0�{��i��������O��Y�r��g����?M����{������c����������x��[�nMc��dO?��0I�`��c�9&������\4�1��z"y(�!���T����d��M��{nUUU�v��]�v����}����|��|:w�|��g���W����k���M�2�m����N�:u����#��m�x�kR[[���=^��K��N;�U�V��d������S��� ���PBN*JE��g�n�:|���N;��C��������_��'���9y��s�9��#�h����'���_���^����_|��Gu����S�_��K�.-m�������s����~�YgM�8��5l�r9p���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE(�zL=��H�Cy9�(�"K=�S�A$��<��T��R��S��� ���PBN*JE��R����c�Cy(!'��T�b���c�1���<�����RQ*@��c�1�D�P�C�IE�(�X�1��z"y(�!���T��P,��zL=�<���rRQ*JE`?6g����[WUUM�:���	&�s�9:th���I'�T]]�f�������{��}��|p����.\��|��7�����SN9��C;��3�8���n��}{����C=�S�A$��<��T��R�_m����O����k����$o������z��g~��������������7.���[��{n���������'����]���|%���]��]�v���m����\�m��f,��zL=��H�Cy9�(�"�����~WUUu��G�w�&N�u�Q����C��_����]tQ����:���Z�n=a��8d����s�17nLc^v�ea`��]W�X��=�������7u�h�c�1�D�P�C�IE�(�����s[�n}���^r�%�]���;��'N��^���C
����_~yxy�e����[�na��1c������m��M�6K�,�G�9sf������cG����F=�S�A$��<��T��R��l�����Nj������^��{�������|�I���^zix���&����Sx9k�����������������o|��kr�����������r�Q����c�Cy(!'��T�a��m������K�����7����/�\�}J�66^�Z���6mZ��K��	�
������^�jU�'^mmm�h����������=z��0^�:z���/��zL=��H�Cy9�(�"P��M���o��o��w^��=�M�v��q�EUe��i3~���W�����u�Y����]����0����n��a����������y��m��G[�re��u������~�{��Q�c����o]q��_. ��zL=�<���rRQ*JE�![�l���k��;����z��[o�5�������_~�/~��/�������k�����66)�����+���^>�c�=�:������?{w.�x��	��+-��h�� �xi���xIQ�(�o^�-��z���EU�xJUp�P�����=(����xo��AD$�D�����1�����I��^���s���g�����|���gf��a�W�G&= S�N���Q�����L�����������1}y(�!���T��@W.�������VZ��������{����������F��}nt����zh���/|���=���%g�uVmI��]Z��#�l���o�=�<xp�|�
7�����������>��c���[n?O�2�q��O>9�:���Z�^V@��>��A"��<��T��R������Sj8���W^y�~���p�
����O_i��6�l���oq��w��3fL�ll���K��k��v��M�h��v��Z��V����},����c���d���'�X~�=������>���	V\�P�C�IE�(Y��8I�bZg�uV_}�y������?�5�lkk�>}z��C�]c�5z�����s7�x������&��vg�qF,�w�}/���������_����{����Z�q�^x!�������&���~4~�������GgM�8���mE����>���c��Cy(!'��Td��$���o��o�q���7����-3[�>%�S7���~:����j����|�m����=��X�������&M�gx�����3�����u�]����=����X���:���[�u�E�~���z������},����c���d{���X~�=����)�
L�Cy9�(�"��N��v�q�Ng�b�rg��<���%I���6mZ������j��g���0l��8y�-���v�Yg��}��'���������o_���g=��Ku��h�1}L�D�Cy9�(�"���5k���O���������i�����w��W~��g���'6�n���#F���W\qEZ��K/����}��y��G�5��^7�p���^V4��>��A"��<��T��R�J�g���Ux���/F�O�>n��Xx�a��V{��g������c��E���w�1������L��r�-�W������u���?��O��zY��c��>�<���rRQ*JE�+mmm�l���o��_wo�X����4�F���v�����7�|����jS�LYe�U��!C��;v���N�n�C�5�g��v�m�`G���[���'N~���v��P�1}L�D�Cy9�(�"��%&�Q�7�]��u,��;����k��������r���sW���{'L�0h��~��
2�s�����SW�7o��I�F��6`�����~���������>���c��Cy(!'��T�R�Y;x����1}y(�!���T��@W�.��o2�J��>��A"��<��T��R����c�$�P�C�IE�(�\��>��A"��<��T��R��O�B����1}y(�!���T��@W|�}L�� ���PBN*JE�t%M���]�8p�;����}���$e�d���1}L�D�Cy9�(�"���V[������|���������Ke�"�&}L�� ���PBN*JE�t��W^��������O����~�����>�_������iP)��>��A"��<��T��RX�'�|���O6lX���Zk�u��G�{��e�.�}L�� ���PBN*JE����;����?��w�+M�m��&�&M�:uj��z7}L�� ���PBN*JE�,�y��]s�5{��W��}���VZi�]v����.{������@}L�� ���PBN*JE�,�_|��/�c�=V_}���e�"���1}L�D�Cy9�(�"������O<q��Q+��R[[��k�]�-�^I���1H��<�����RQ*K����;��36�t�tt��}����^�]w����e���c�$�P�C�IE�(�����W]u�G?���W^9��m������w�O�^�M��M���1H��<�����RQ*Kt��wq�L�u�
�������}��"�1}L�D�Cy9�(�"��g�}�����&�l�&����7a��n�a��e�4�}L�� ���PBN*JE�t%}��;��������K/}�����EPM��>��A"��<��T��R�Jz��Zk���w�{�����_uI����+�c��>�<���rRQ*JE�+mK�����>���c��Cy(!'��T�2w��}��W���1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�����1}y(�!���T��P.}L�� ���PBN*JE�T��?|���2�o���f�m�>�����7�y�e����\m��6�h��'���+���q�&Lx�{���_���|�����W�3g�7����6�l��W_c�5��z���;o����|��8�1}L�D�Cy9�(�"P%W_}�������6`�����j���k[l���s����<��Ccy�>}F�9n��X?N�����?�|���_��J+��v�i��������������f����~0�Zm����3z��UVY%N���o���2\/+}L�� ���PBN*JE�T�3�<��w������c��3gNZx�-��������3���9y��X2h�����/-�5k����c��{�Y[��'�����J+�t�e��%.��������:���~x,3f�/�P��a������>{i���>���c��Cy(!'��T*���F[[�V[m�h��|������������d���d����j3f�x�;��k�=�������^wEc����\pA:�������*+����O?������&Vkoo������>���c��Cy(!'��T*���o����~����-���k���6�`�t��'�Le}�����<�����O?=�2dH������V���b�����N^r�%qr��wn�I�}�{�����{����>���c��Cy(!'��T*/M��7.�L�x�G�n\������������_L���={v�j��w_��k:���w���7^`�������������1}y(�!���T��@�-Z�h�m�mkk;������O?=N���~�+_}��q��Q������;~^{��W�>}z��{��W�����?��?h\�������;������>���c��Cy(!'��T���SOmkk>|��y���O<1�|���n\����u�5t������
k\m���i�n���qr��1����_��f��td����>���c��Cy(!'��T*���N��������Gy����c�mkk;��#�����������7�pC������b���{,~�r�-��)S�4�v��'�YtP���
H���1H��<�����RQ*��`��O��mmm�}�{�����g-�=o��u���n��i-��.]W������Zz������},����c���d���'�X~�=����9��K�Cy9�(�"+�'I�]f����.����m���O?�t��g�qF�����6��UW]gm�����s�=���k��V�j/��B��{���}M���h�����q�#�8"��8qb������7t3}L�� ���PBN*JE��
��Iz�3f�9���m��v�9sf�
�]w]W_�0i��8��L���D���������������WN���g]t�E�_/+���c���d���'�X~�=������>�_mO��n~J����PBN*JE�T������~����C9d����3m��X�_�~�r�Y������=��tr��aq��[n�[���������O:y����������80�z����zY��c��>�<���rRQ*JE�J>�����������MV�z��ko���6mZ��}W^y�g�y&-�8qb�[���G����������^Zu�U�����E���{�p�
��zY��c��>�<���rRQ*JE�2�w:2$n���a���y��������7.v�a���}�������.�`��E�����c�Isq�{���d��r��������_g�ub�O~����^V4��>��A"��<��T��R���|�#mmmk����.L�:��r�|#F��n�������o^w(�)S����*i2p���q�i�-}��f����n�m�������b�>}����?��F�x��P�1}L�D�Cy9�(�"P�F�jk���������v�a�5�\�����?��S����x���{��	
��_�!C�|�s��g�j���7i��#F��
0`����<yr�����e����c�$�P�C�IE�(�\��>��A"��<��T��R����c�$�P�C�IE�(�\��>��A"��<��T��R����c�$�P�C�IE�(�\��>��A"��<��T��K�Ys;.���S����)��/.v������V��>V�>�L�Cy9�(������8���2_�����3�[����1}�J}����PBN*J�*���?�_�Sv��5w���' t�c�X��!��<��T��UJ��~�Sv�/��[������c��cP�<���rRQ*V){f�.���' t�c�X��!��<��T��UJE�v�F��>V�>E�Cy(!'�b�R����>��U��A�P�C�IE�X�T4k@o���cU�cP�<���rRQ*V)����c�X��!��<��T��UJE�v�F��>V�>E�Cy(!'�b�R����>��U��A�P�C�IE�X�T4k@o���cU�cP�<���rRQ*V)����c�X��!��<��T��UJE�v�F��>V�>E�Cy(!'�b�R����>��U��A�P�C�IE�X�T4k@o���cU�cP�<���rRQ*V)����c�X��!��<��T��UJE�v�F��>V�>E�Cy(!'�b�R����>��U��A�P�C�IE�X�T4k@o���cU�cP�<���rRQ*V)����c�X��!��<��T��UJE�v�F��>V�>E�Cy(!'�b�R����>��U��A�P�C�IE�X�T4k@o���cU�cP�<���rRQ*V)����c�X��!��<��T��UJE�v�F��>V�>E�Cy(!'�b�R����>��U��A�P�C�IE�X�T4k@o���cU�cP�<���rRQ*V)����c�X��!��<��T��UJE�v�F��>V�>E�Cy(!'�b�R����>��U��A�P�C�IE�X�T4k@o���cU�cP�<���rRQ*V)����c�X��!��<��T��UJE�v�F��>V�>E�Cy(!'�b�R����>��U��A�P�C�IE�X�T4k@o���cU�cP�<���rRQ*V)����c�X��!��<��T��UJE�v�F��>V�>E�Cy(!'�b�R����>��U��A�P�C�IE�X�T4k@o���cU�cP�<���rRQ*V)����c�X��!��<��T��UJE�v�F��>V�>E�Cy(!'�b�R����>��U��A�P�C�IE�X�T4k@o���cU�cP�<���rRQ*V)����c�X��!��<��T��UJE�v�F��>V�>E�Cy(!'�b�R����>��U��A�P�C�IE�X�T4k@o���cU�cP�<���rRQ*V)����c�X��!��<��T��UJE�v�F��>V�>E�Cy(!'�b�R����>��U��A�P�C�IE�X�T4k@o���cU�cP�<���rRQ*V)����c�X��!��<��T��UJE�v�F��>V�>E�Cy(!'�b�R����>��U��A�P�C�IE�X�T4k@o���cU�cP�<���rRQ*V)����c�X��!��<��T��UJE�v�F��>V�>E�Cy(!'�b�R����>��U��A�P�C�IE�X�T4k@o���cU�cP�<���rRQ*V)����c�X��!��<��T��UJE�v�F��>V�>E�Cy(!'�b�R����>��U��A�P�C�IE�X�T4k@o���cU�cP�<���rRQ*V)����c�X��!��<��T��UJE�v�F��>V�>E�Cy(!'�b�R����>��U��A�P�C�IE�X�T4k@o���cU�cP�<���rRQ*V)����c�X��!��<��T��UJE�v�F��>V�>E�Cy(!'�b�R����>��U��A�P�C�IE�X�T4k@o���cU�cP�<���rRQ*V)����c�X��!��<��T��UJE�v�F��>V�>E�Cy(!'�b�R����>��U��A�P�C�IE�X�T4k@o���cU�cP�<���rRQ*V)����c�X��!��<��T��UJE�v�F��>V�>E�Cy(!'�b�R����>��U��A�P�C�IE�X�T4k@o���cU�cP�<����Ys;.���S�_.c��������i�IE�X�T4k@o���cU�cP�<��U��W�v�~�r��U���-�?����T�R*���7����*�1(B��*���?�����5w���' oCRQ*V)����c�X��!�a��������4��[���
IE�X�T4k@o���cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE����cU�cP�<��U�C�S���RQ*JE��]v�e;�����W[m��6�h������J�7�2�c�X��!�a��������T��R�I�zh[[[�>}F�9n������_����/��Q}L�R�"��<�R�R�T��RQ*=f���mmm�
������Y�f�?>������6J���cU�cP�<��U�C�S���RQ*JE���1���m�����3f�����������a�K������y(�����'��T��@�x��'���V[m��_���8 �:���K�a�N������y(�����'��T��@����k���F��x�Yg�g����=�x;����*��p�����������������z�
�CyX�<4>�8�(��Tz���������~�5�u��W�Y�F���[���>��U������=S�~����
����Jyh|JqRQ*JE���O<�������t�Y�������C������@������y]��3^�*@��*���)�IE�(�"�3�=�����#�<����o�=�<xp��*��1}L��H��<�����T��RQ*=c���6lX�5�j��>�_oO���z{������},����c���d���'�X�<y[���P�CrRQ*JE�����Yh��3�hkk�w�}�������������N�����m���=�/���F����g�������������e>��F=�/�����c�����>��������E�Cy(�IE�(��
�[ge����������4iR�u��������i�������7{������g�{����0X�m���mmm]tQ�p��i}��]y���y���n����dx�����t�O�>n��Xx�a��{�`�u�1��-6b������������o>s���o������v�a�5��������O9���s��}�����o�r�)���J[[������~���o��v���8p����K/5�3g���C�2d��Y��&t�������~w���������;&L������_�~��l��.�`��7��]w���[�hQ��<��C}�������PX����??��k�Q������������l%UG�n���On���moj�]�?�x��q���u�]1�0`�G>����9�����������(���^��g>SK��f�.����VZ)VX��w�i��������v[m�+��"q����N?����[��V��,\�0��k�����>�����5k�;����O��C�n������z�������^���J$�����k��*��*��v�i���j��v�{l,��'���O>9N��/������r����(����p�
#�"������]D_Zc�z�e��%.��������:s��Ic�;d�����v�y���^��7��/����~��\�<���8���"�|��w�%3g��o��b�Zk�U��#Qu�{��W�4�������Y��Fa��������12�j���������(��s�����E]?���n]��}��q���^�|����$�;wn�a��w����
$�<�Hm��i����'gJ4g���V[-R��o�����������[nIKZ����������_N?w5k��|������{c�o|��%g�}v,���K����7�t��>�~n2k7d��8���o�[��X���������������s�<��Xr��������^���������1c�g�q�q���7���#FD���Y�J$v���AW�v���^^�����X���NJ'�~���W_}��wN',X0��������Y�_|1�n���ug�w�}�|��A�c�n�n��I�����m:y��W���O>9��;w�������>�}�{ki�b$v���AW�v[m���k�];y��7�j�������w�}��V{���}���v�i��V����;��4����Y����;��X3}��4z}��Wg��?���~�s�;���A�^y���>|��y7�t�FmgE�~�����]�������H�4��b$v���AW�v����c�SO=�N��5�u�]���W^?O�4)F�l���.���K.��]�zW�l����PW�v����c��a�%��i�:u��8��|`�����;z��5�X#e�g?����q�?�p�~�6�l�������O�������<���������y��/�<-i=UG�n����=����]v��������b(:r��E����K�
��?�`�������q�/���8y��W���Xj]���p�
�|�����Vc���c�u�y ���;.N~�;������/���������G?���+*>���VZ������'�|��@-���#Qu�v]���������Fm�F��zh9��u��q�G}4�������c�9�'o?��)�^�i��u,�>����7�����g�~���c�;x���3g�:�F�z�{�[����G����^�<��R����
������n=;TG���d��c�����?�����OQ��o+�K_J�~�����f�J'���'��{����Et5kC�X��Zk5��/��F����Zm���So���{��'�tR�p������y�{F�U[���E����~���@S�L����>}N?�����6UG�n�|�.7w��a�������u�=��3~��`Q��d�����&]����1#?�z.}%b{{{W���b���}��d��c����L�I�&u�=�_|q�>}���wt�6�"��:����	'�k����-�{�t���qr�}�Y^���t5kb�g�r�-u��:��&)�h��1c������=�\ma�{�n�����s�=�;�@Q�^{��+�<p�������u�-;TG��Z��{��VYe�O|���������k:0�������������<0_�p��#F��+������~�^x����m��f��A����~�s��7v�=(���^m������:��e�D���Vf���m����z��^x��|y:@�y���N�}��q���o^�7��4��{��gc���0�}����sL,�p�
,X��+��M0`��q����w�9D}����=���_�~����r�CKg��1y���2D���l��Q�>}�D_�t�MkKj�T�9��sb����u���m�����bk���6�lS7bx����?\��D�
2��������9e��UVY%�0v����^;~��{��:�����{�UWm|��g�Yc�5>��^y��'�xb\�W����xZs�w���9rTgN:����K��#��y������'$�!����C�N/�����w�}���w��t������{�N,�w���M���
'��{��	
��_��~�s��:uj�{�5����r�)��{�]wm�������:��s�	't���v��76/�tP�~���:�Pf������|���������e�z�E�^}�����[�7����}?���z������7���������mnx�w[���������:����t���t|�O��X������@�.����Sv��/XP�]�{��N��syc�w������Sv�_�����+�=
N���o�|�����Zt�.��|H���Rw�����}Wz�W������[o���R)�5k�S�]�!�e;�i���v��w�+r!��s�����~�����[n��/|���k\m�����s��>���C�n�������%�\�p���5����}��g�M6Y������o~s����^��3>����]�k/r�Aw��-z����e�q��2k���oH3/��R�b������g�}�����f�m�[o�M7����D�O��;o�����^:~��X'��[m��QG����#K�[f��_���rM�>=��=�����7�xc�����O�i=�[�����y��������=:.m�
6�]^<_|��"�e)t����;��
.���^���a��������+b��?nm����:��}�w�v����'���[��V���b�b�$7�|s�O�����'E�Pf���v�m�\p��^~�����.�����vK�����w���C]��*>k��������a��>��(9�s�����|�W_}���p���{�����}q�����o�����/})M����.{���Fm�.���G�U��5jTZ����\���4a����e��n��kq~���6�x�8+j<2;��c�����j->w^{����K���u�]c?2����2���b�n��(2�@���wz�����5.�Dn�Y�����J���_��W���^,���n��6n��t�#G�|������,�vK����J��|�#�����x�	�v���K�Y�n/�-�O�={�W����7����-��������~����������?����=?k���O2$JN���d������w��(��8��cca������~w��1��������k��%�m��_�������^;��Cba��;��S����3�4k��w�����������k\��->k��6c�q�����~�����Oo���}����v���I#�e��OJKbD���~6=Mz��vK��#��������5���Y���w(->w^~��46�������0��i����|���R0k�4��6v��E��%����{���a���%X���uo�l��>��#�o�},?��#����f����~���2v��gw�M�3gN���Ff��J�o�����ZQp�.FC��Q������^����.K'�����}�[w�u�N�������>V�b�-j}��w�%Q���^y��a�����s
o���	�{����f���>��O-C�/b�2���]��pzs��q���p�����@:��s'nm�������6k��
6� ����vw��Y���^{�M7>|���}���o����k=�[������<yr����>T�����n��16�7o�c�vK�?��?�O����7Yg�������k�-�K�1�(X
��u{�l1B����^~����'>�	�v@��`�.�_1���;�=����k�����=�{������Z;���G�����cO]u�U���?��#F������7�Q;��Yg����G�b_������HtP���N��X��_�����z�	'D���q���.X� ��/L���d�M>�������O�%�p�
�q�[o��6�h�=��$�{@��.���x�>���>e��7�;u��W�=��O>��Vy��_���/|!.?nX�����1u����������#���/4yX�+}��b��%�\+|�K_�1cF���������}��c;��M�V�#��t����/>����6��M8,�qK�vQrb����>��!C��v��N;���_or��1��w�uW��xR��x���������o�%��#�J�z��g�����c ���O?���?LC�v�.����c��,5j�!�r�=���Ol`�o�}<�C��a�bS����u�QY��~��_�����Z�rl3?���j�J������M�P����M�H��9rd��9��s�������3fL����w�q��b#����3���V����H������D�D7��I���1�'#m�V���q���%->wb�|��'7ND�K���U��v��<��C7�l����f���|�n@��������?�n��7�m#���}��m��6�0��~<����n%v
�C���&��jw�qG����g�~��Mnj��b����Wo����i^N�'
s�`����f����H<��f�U|��o��F-n�-�PZ|�DG�][������{zjo�[�������2eJl<��6����w������X��?�����?|��xRD�������<_����X'��q�+�4m�]�|}�������?!��_�������e �����V�t��{ll���_<���_��vn+�?�".!v�,�����n����cXQ���?��-�Xa��I;i�����v��������o�7.nO����[{�����`��H��#$�QM�F�����$X����Y����FWt��G?��sK���^,[������&�J�����;kA��].�6�GKG�wm��_~9�>F�u�Q�|z������k����Z�p,<��b�#�(~��sNz��n���Q����~���[��}��&�6v���z�u�����������z���3����U���~���}/������~�I'���&��{����f���/>�J��/����K�v���#��>��?���?N�����,]`���1|p����|������p���K\f�{]\��v��������(�q�?���F�������&�l���E���� 1��&���[���>����5FO�0���������f�b�N����F���i���j�J�
s���;+J�z���
f����)\z��o����wt�����g���v<�@4���o89���v�}����[['*km���;.b*m<�w����
I�@<q���r�)��Q��K����}�<F��[�������w���X��:�<7�o�1�������<����4�gS��d��4k�O��?�5��H��������.�o�i2����������wG���&����C���E��v��c�c�H[{<�=�Pm��|�g�}bk�?�����dl	���SO=��8�51�;��������_���/�@>��j��U��93%m\N�[�^j��i���,��������H�\������Y��������N��Lc�% ��m��J����\w�uiw��fw��g����/~�1�|iN)NF��^��H����������'?����?�q�rZ,-c���t�N�+�^��7/��bl!q�j��<��s�����?ns���'��%y��O��ED�9rd<qjs8-����������z�k���oG������m��v���W��-.�4}s��g�][3�]
�4��tr�wl�[T�1Xf����t�4����$�������$X����Y�SO=5\���oc�K��
)�Xt���X��?u��I��v���E�~����|���?���������_J�0:th�8���Jy�^)�;�JU���7)�q�u�d���Kw�z���N������g���S����;�Z\�6��=���iIz7z{���|0��k������i����-�G��<�HZ��O��������v|������}T���4����[nirg�Q��v����@�a�����U���%���O}�S�@�x���6u�����>!����f������'iPO�x4��%�h��g�����������Rm;�����h��s�WK���Y�d��[�`A����Sm�/~���WK��u��v�X���=�x��T�������i9���0�m�u���h���ch����w�,���� ��]5Y���f�����|��3g����i�����6�x4��b�<�����k}Ni_�{��ge��k������r��8�%��=�����{m�M��������3-y�����:Q��,P�[���{�"��W�b`���G��L����x�{�����=��#Vk|?���fG��������dk�qK�n�&>�����
�,��%n�-o���PZ|�4���2|��xo����7�{�:k7e���?���iI<��e�g3r�
K����������Z�l���l��S�7v�:���]���
7��6�|;�[ul���o;�V���V[}�c��p��s*mr���~�$���{�J�7������EJ�b����{�9�����Kq{�������O~2u�Q��NG�Kz�Y]����f����k�V������������*jjz�w�,���b�z��1k$%��EJ����y��|�y��7f��I�&u,���k<�A�s\pA:�v�1�J��������}����nJ;�|w�F�M^�K��b��,�6k�O��y��������H3~%j^\B�e��P�������;���#�<���'2G��}\|p�/���>��������~�5�����Y�Jn��\�)�����}�rm�������O5&_-�Wi�X[�8k�������t�����L�Xh����o�=��Kk<+
X������k��4���������w\W���v�5����E�M}���,��� �������e��u��
#�Q����T�?P[E{�)�����G���S���Dv�e��4Kp���X�@2F�u/��x�=;�UGg���V�������-
s�����������Kz����N�b��>����/%������on�X<���{��{~��_o��������&��m�6kW7��Z
�����0����|�4�k�^�x.�3"��w���f������u+�[*N!�P�j?���[�Z���w(�?wr����f��'�S8�?>�
J���m������h����8��t2u����'�!��N�XZ����2����_=�����O;�i�.�����������������X���6���S�D��;�|��JT������^�k�������M}����q{��X�k:���������g?�{d�	�&��i��`ie�Ksk#F���
KS���k���b�z��c�HJ���
p���f���b�����J����,R%w�qG���`��������aRy8��3���q�������N�t��|a��R ��$>�n*/�=��i���������kb���X��#���k��S���sj�����A��V��]%��TM'�b������������FmK�\:�����_;�q�����#��l���9����7M~7=�;��c����T�����k{���\�4Gz9����_�j�j��9[n�e�Y+��]h�O�w���F�s��G6��>Z{[Z*��0$��w���������/~gQ�m����6�%�?�|�c��w���f���^��{zR�����������V���{'O���}|&��6��ti�~�)}�,�����N�g�y&}t�����U��vi:e��&��3_q;���Ho����5~�s��	�A����E�4+>t�����O��_�a�[|n���������T������y��^��
��Ci���K�d��������|�7kW{�b{�j��3g�u��r$��o_���t�����s~��4+��>�,�6/��]��R=n|O]z��.���������7y5��s*����B��T�b[M�s�1����k�vi'���@��(��Gt9�o�wa����AH1����K+�^���v���K�l����^to�l���1k$%���:�|?�XYk�4Bm��Fd�!\;m���i��`��y�����R�^�gR�z���u��m�{Ky��Q�>�/��Hu�;���ji��x�y�!������#����+_l��S{+{*	�wn~g�Q��v��S5�t��fk
�J|���������b������]+�[���R�G���(i����v�%�$�^]�K��^�
8k��E�'��:�?�O����8C�����������G�Q����O`-��Q�?7cu�I'�#���w����V���{�Cmy�����V�/��/->w���O�l���O�5��t�g����rZ�����Q�o���l��q�6���������6��>SV���F���K<�`����I��]+�[*N�����K��x��p�;���;u�����SO���?N���G��6�����YB����S����[T:+}n������"�k�������,��]��u�Qu�9}#�l���6<n����Z|N�R�������o��t;k�vi'��8Hw<�N�F�,����&L�����NT��ju��������]��u������-���:f����Y������}h�N:t��;��N�Y�w~=���)cL����`�j������cK���^zi�v���6_��Uhu��m�{�n��/�K:�B�).����������w��;������}:0H��>��U�qD����F*��y9)q����a���~�U�E�s���������n�)6�4G�|�������m)/��>���o��;��{�Z|n�����LS�����Nhs�&~�3��L�j��3�V�Y���ofM�I��P{V*�����f�bK�-�<yr{��Gzy���T'};��k���������7;V���kR���K��k�q�����8�h���`�{R�1i��p����t�KG.MC��;�n�!]x����P��]��6�����&����j�v��������$E�i���N�>"N�����X�h���##���?i���z9i��k�qK���p�u�v�{l��"Mf��
��Ci����i�����}�rQ��]�36�P�u��FB:�A��e�����t�m��k�3gN<���v�K?k�nsiBr�w���C�P�������S���t��
7����K�l�Y���j���fs�,�5����N<�B�X�!�d6��ke��xsv����u�v����r��S����8k������ZY'M#����d���mM����E�t����4[�7��/���k�"�v�����������Y�d������8���-o�q����e��5o��
5kW��0U���|v�u3HG�]w�u����^�l>k�����Z�L/��'�_y��t������>������+�����oEl���i���{���v�~x���|�>��zj:�
|a��F����:�v�������{����ol�X���]i������n���k��K�������8k[��Hc����]v��������7��g�Z|���aW\B�Ck.'%�������}t������[o��f��i��gJ�QF��j�(�?�|�pcw�����	kGk���f���q������Y����\��q��p�;��;M�g�_����7k��-4�&�&������_�h��$�(�����3��W�w�K?kW���N�����jj�3]m��?�Z)Q�)��{���f��u�,�~iv.�d�j�
�Mf�Z��:Z��+,-��[��N���P�q���:_1lI�[n����G��IGU����c�CO�. _��{��X�`��#�
�|�;�X'n�?
Td�.���mz�G��v5Q{��pj-�qD��Y���!�Y�f�*��j�x������;�j����		-��`�D:" E@��	E�E��� \@�RT�R���/���(X@��&]�B��P���������)��$�y-+���s�����g���������������\��Px�����v�04h� h��3g�/��-?����A�����?~�=[��4���������v������2�7n\PS��^
���j���c"���3g���t�����\_���\X����L_0��+��W�l��R���
6,hAy!��"��C����R�J����[�d�����v��a���8��M�6AM=??��C8��k������s��_~��rD���3f��|�[�M��I�u�����j
{�|�X�<����/[���%��Y�R��u��k�]
�E.��5u.�U�fMZvZ���Gq��+��Rr��
���v��qU��
������M'*//���������vl�6oL/�u,�v�����h0K��Q�ll�o���"�KK��B����{����T:w�����?����Ep��aCFd��]��L�8�����n@�J���x8����-��D������R�<����o������]�@�ci^������7�1�/_��[�R�H;4������y~��
��|X��������	��k���w�0{���7���k�?���M���Y��������
�3���:]III��]���v�d��\��7�|��XK���v�i��gee����}{�g>)U����S��=�<y����fP,�&=��q�#7�4�����X�z�R��[�0PZZ�k@��>���mqk��e��+gV@-~���Q���������7����q������E�p�Z�j1�4��k�	B���I,���KT��j8�.�~�~��i�9���C6|�E���������pQ���w4<G��8�V���u�����_
�Ws��q}����(��u����F����\]�{��-xWpE����8/�m��)�N��]����;�:�h��
*������Ws[��q�xm���c#�~�0'C����T�b����?.��	!HU;��a�������s!_��GO�,��'1U�V��4fD��e�"��R������������j����uS��E?�����D&L�~)s��9�?o&2�w��~��sr��Wo�C�����[�R����k�lt�����WPP�N�Y��s��3���1J�>--�l��d���Z��-J����4���[�E��.�s�k�eh������5j��T~8�!%%�t��=��J5-��*���
`*+1{��������cM����8��V��/[��s�Z�C��I'==���1&���������W���3Sn�:��m�F����cm�-z�����P8��4�Z�bEBB*�Y��m�Ks]�����jw��A�NaL��!OKK��F<�(o�����'O���/$U;<���k;'�S��[��+���R���K���/����y���mZvN��7�t����T���6l�B�l;���CU#�n<��3g8�-���s-qU�8_�r��FN����f~^����U�:��v�R�������Q��D.�jG#�����)�2_=���m�6e����72�L"
j��P������r
�\��N�:��!��7�gpn������s�V�c���(U;�;��Z'R��$�������7owT�bEDyx[��gff�^+�=�>�O��=r�H�/_���#2���T��k"�3�<�����%��RZ�����O����hT;�+\4
�����g�f���#Fl��
�`T�����7''�O�>l�^�y�rp���� ��I�s�)�v��+������w^^���%G�{���tM�����>|8�=x��Y����m[_`�
��P:��=����?lVwA�qY����(U;`�{FF�O�e����s��?�$�"�l����C��.�>�/��H�����j��e~~�I����6���s�5:����jv��A��j��1��2�����I�:�����������G��:D����#�����E�>;h>�^0��l����|��~H/
A�9Y��JD���!|l�z�^�����?���i/h;�*�R����i;�wG�`D��7&�Q����ix�\N��0�x�b�	�����Ms���eT���)�po��G�MWs�>�.8�
���������i�9AJ���R�F5j�e�E������e�Y�h�+99
�5�Q���[��j���
�^��7��E�4��O�����O���������]��\@�A�A)�j��-������z�)�\�"�������e'���#��	�F&�vC3D���s����������}&c
x�0���c��34�����x����������R�X"�^��]l;�~k�K3�V�R���A��)!0����?�L�:^�\����{��C3���Y��-������C�����l�������[>))	o|��P�5�N}��P^�^D�6ml��j�/_�n-����t������������Q��I��;7a�DO�(�E�^+x�;���W�����#��s����{q�w����Js�"\�T;�g��������_T�^=<ntq�%����I��� ��xp�����q��cff&S��`����k�.�z�^���o����V���E�{���@K�bf��A3D�
zA�y:u�������i�\
�P�,��W��F��#��7�us�..��n<BZ��8%��kv�sss�/
��BJ�A�5�={�?.D����w�p�0����[�"�(����l���x�m8+'��
_o1Q��6L���03�9�"�N�
W�/j����$\"j��!J�]�k��-xe�S��i������������+��`"r�+���5kV{�Nr� �9|%�m��s�������Q[�[����n�������������4h������"���d����m�9�t9\��Y�b�O<�>'��_�~.S�������,����v�����7�e��	�Q���A	e�~�6e������`�U�TA�K�)�J���(��������j��!����X)
�r���I�&!1����#G��m��	cx��D���U;L;����E:(��.��qW�b#����~�V�Z�J�
�[�L�U�Xq����k*�;������AP8��q�������Mqw�.&P�����
Gp�`1�n������j+
�i���O?���r���gO��1D�E!bN�U��
�v%sJ�jWDv(�����vhEeH�{(��]AA��}�b���=%U���woBB�C=��]�����e��������28�6m*����!D�)��]nnn�r�c���d�vEg�R�J�j������������v%P�C�=p�@�c�������D�v'N�h���/��Qg�~a��y��h3q�����D\�N�P;r,Bs�o�����Vd-j,#���~�s��\����W�������[�{���=���)&�������������LnnR�L�����gC��@�'OE/��Xa����R�[�jUFFF���}��e��=��(���9�-6��r�&���e���7����7��G��2j����+�o�\�r�z����2��|�����9!�(
&�������u=f]~��8��[Gd\�<===�Fl��������Z���G�?���B�+v(��A��P�����u�_�.�U~������s��[�n-�lH�{���]=��F�����}���RX�v����~�
rme+\?���l���u#������W����e�%;;
����4i�����|�����[�n]�J��:u�����eJ��B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B�����������������_��!����r���K������B!�B!D��eW����yC����3nE����_Q�r!�B!�q#V���s�]��`����:u�X�b���.\�3=�����������p���#����IOOOJJ���?���p�={��� *�h��e������e�6j�h���/i,yyy�F�JKK+S�Ljjj�=���[o2d���Y����W�P��G]�`��[��)����{�R������_~MA���%;�+���c�����%�r,6�����>��|�������c�������^�:Lo���{����d�����S�LA�r����?�pNN�����,�B!�"R����u�"��S�N�~�>��s�T��'//U��s�b���s�p�w�}����n��!�H�-:v�X�bE�
+:}��3��]�*U���RSSQ3������o��L�����ys�G���C����8������wv}��Wy�5j �Z�*��W���R��
�c�jW������,^�8!!�u���o�r��m�������:t&��III�<�H��-��/�C$��P!�Bs���cd������W�^-((����x��:"|��h��Y�v�o��6.�������j������<s����}��dFF�I���q��8��/\�~�'7l��'�w���Cqa��3gx����
4�����&e�R�J-]��gn�����o�8��m+\q�
�v�x�	�����c����X�W�,�CRRRBB��e�x~`�����n���<����E���x�������8Y�r���/�DB!�B�PH�������0i�:��r�J�������C������8m����vM�6��b;O^�p!99��<��?���7v���<y2�4���O�NLL��=z������G�Z�j�a5����k��0��4iR��sWH��G�%&�/�%z��������8:t����\��o�X~��wZ�Q���K�J�.�����%B!�B�"��"�#F<���e���]�v��}sss]i�;6f���
�-[�|��M�4y��WN�<�L�����W[�fM��+W�����5�7o����/W�Pi6n���FFF>�<yr�|V�^�w'�����n�,�����7n��\�r�����N�j����������:u�T�����.%%qS�:up��:��d�|�����z��o���Q#�s���u�����+W�o��_�J��w��y��7n����$�v�jQ'�����[w���G��)��o��Q�HL^,X�;2����x�(J��;`�D���[�ly���4h��E����O�81??��r��g����j�<���"�0�V�Z}���K�
��3��)2h� �c�kNNa�d�qS�[�x1�x�	��j�����n���E�M�0a����d���� ��%u�j��p�:��%�/�����]�V���$�<lc���N�v��}������7o�������F:w��~�z�)
�b9Cv��=0~68�
�i)�E�X8Cs���'N��{a���y�3��]��9��Aa�a\����+e�:������p�{������Z�*Wf����"��U�z�����a�k�n����n�;���G�e�������%p�\�O�b�X8����~r%CAp�W�^<�t,p��6m������P�H�n����B!�B�-�U�v��Q�re4���|��G!�0i2�4��
:t(g� &B�e���]'�����<j�(������Za/��"� z�aNN�+�^��C�������qYf��?����B���?c�o�!��?��#b�[H�`����D�]�v=w��? �0�Gl���=p�@VK�
�r���~��O?�t�n���m��qq����	8�%�y��S�N��6m�$&&"*���$�t��j���"BG���#�P\���_"q_�G����>B��={6k�yF���3A%N���8���\	�<x0"e�����+W������8�5���{�=~7��Q�������GP�����/)G�Q���#X9r&��\����~����Po2N�����>K��L�>YL��j����1���*�4P��v�2i.\�%�`�h���*U���#g8Z<O�:u&N�8w�\�q~q��ULs�b���\�2))�����SO�+W�vF�2D�X�g� ����[o���d�F��]�fRr��w����
�����IV���g�E���G��YYY��������ukg�_~�e�}8
|��'�dU�;�c�h{T��w����<�P:���a���c��{��������(�t,���;���
!�B!bBU�7n0bB�jN~���N�8�4������c��q7o����6m��/��~�V�e�v��Y�T)���g�? �kq���}���8��c��:�-�j�<S�1b��������'�F��&M� %J���_;�S�AD������L2F�����L� ��8������������}�f���D�,�/����p�����_S�Ne�o�e��	�r��a��q���?�\���8�|���/��_�r����d6�G�U��z��&%���%�:r������+���C������
���q���1c|���:���?8��m����jw���2e��.]��~��
��@k��P�q����9�V�g�<m���?�/�8
>��%�j���l��$:D����#�R���&�:t�{��S6_�v-��[��5cV`�v����X�u�f�[��u�r���iiiN��1�			�V�W	
��S���������[�li~��r�
#�b��c�MV�Z����"��F�X�l���U+��D!�B[���}��W��\S�222��^��Y����!������L0H����.={��9f�q��G}�L��G����R���o��a���]+u�:u*1�k� /�m��R�O?���'� �w�D�H1��a\));t�����$��qc�]V;�|��y���}�+%��/��"|qZ�h�p�)�x1��s(�?!R����������9w
&�2e����?Xpmc{&�}����i�S�_�����H6l�0�G�}�>�_�>��~�:�������C���o<�P�
3����������(��j��k���h���0<n4�U;v�����	NJJ
�����f�O�� �Z^�u,U��_�O=���R������?j�B='--�9wdee9����{�����&??���jW<��u���3��1]���/���t}�c��>�rp�`�����O�Cs&�={��'������
x����q�p,&L���+@���]f/�B!��!qT��<���a����+H3x�`�G��hHP�s�T��7�t����\O�`������PB�c�\H'�=�>Bx����Z\\�za��p���e��O!��Y��-��E��]F��JF��b��Z��2��/��,'O�D��m��IcnZ�zu�y��9�
����?�J@��l�������gT;�(8��l���A�z?��������x����9/�C�8����t�!I��ndff������G��u�����ka��2?������/�qpH�Q����������DT�XF��E���w��?��Q:�vNm����+�0==��6�d,�Q�������<o�������_�C<v�+/�������}�w��+�>9��e�����:A/B��6[�bF-��������~VB!�B��8�v\���7���&�Z����j<��~���}�����8����\��5:"(�P��������C������qw��M�;q���S���M�p��3f������YdJ�����P����w��pD_�u����^��g��O�<�4t��G�-opmc{F�s��4���1��p��X;��8$&��N�>��m[
Jf�a1G�.%%����#�	��%�x~��7~�j�Uh9i�L��c���1���u��Df��P@P�t,T��Tb�yS-\Y�����3�]�8��Q
p���{�fggs�K�f�2_�:������t,6c��s
�Xn������f��|�lGT��B!�� ����y�"�4\Z��4A��_:���n�8q"�t���M�6�p�������U�����I����\75��2��nU�R$''��x���_~�%w_��v���]"���3g�+�+4EF��8�M!]0 h���]�=
�+"'����7j��X�k�����/�2�������Q�\��\�]�g�����������+}Y����������Q��"����G���#pM�d��F��8�v����Y�4����Q���8�s��1�LKD�����s,T��[�T���K�����jW<��u����������?�Y�d��?��S:n�^���=K��c��m�/ �z��9s�����p,N�]���z�
��B!�1!��W@�lU�4��&L��C�6lp%c����5������_�<y2!!�n��f��.sb�`/�j�L��z��G�811T���+�#'�������}�R��W���3]�xASdoe�s����fW�PP�k����#�������^�z/�a{�^���=K�.��C��1r������E�c����[T�m.���2<EH�|O�G:M�8�fS��G��k�Gg��6�~�z�C��N�6�:�����!�����j�]'�������x������{��r8��+@���Z
��W�ll��'G�X.\��o�vHx[�|�Z�xx���W����(�B!�����k�]�
��K��^����������j<�-�a�u��,.s�wZD,���;�"(�P�x����Y4��;w�/����T�n���>��E�����EF6|!�%�Hnn�eUP�s.}O


�����\����q�������Y�v�8~�8��.]�;����y�x8l������_}��2�2��O>	��o���yy�r���j��9H1�u��k��9��q'�6m�u���|���f];��4�S�Q������iI���R�c�87�%t8F�+�j];������U�8�7�jgc{�>9���A�A2g��;��� {�{�;v�7K3f�@�N�:���B!���}���T�*B5��7������c
)eqF�T����\wi����3�Q�K/����[�E����
pX�B����d����7
\sh��y��[���k������9��U�V�d������������g��a��L�<���d3(f�={�8��2���9��!�kZ��S�����O>iN2�s�}��R����0�5RAwRR����c<C#OKKs
����������r����
�3�p���}!f�qT�(�����y���i7n������w��}]��.-�j��8+����?����?�:2V�%�j7q���J������
"�4J�b��q|�����L��S�jU�������W�~��u�yV����v�y�fg6R���������T�����F���	O��������K�����.�n���mj!�B!JqT�n������}B����� �P;v��������s�P�ve��u��>zd�Y�����8�����z
��!Dj���<���NM1�/0�.�jcA�k��Ce�s\��(������2B<r�U���W�4�\;����:}��9�m�6��H����P�����v�@�h�xT��2��O�2����3=j�m������C���9�����W�8�-%%���w;v���s�Z6�"��^+V��A%8M�s�����<�s��5j�����k��	�q!��������Y�
��u�����}��!*N��[��$�O(�<D�����IIq�n����BLKD�����������_��1l6��t,����%K�P�&��v�v�bq,�C�)�$YT>%5c-l���6�l�R�V-������Xll/z�����K�H.\��'*���^�g��������"�+�a��]�}��B!�BDOU;�c�NG�S�N�>}�]����j�����#yqK��H����������#��������L�-[f��B�v��*�5k��I��HOOgh�9�M����1(�<|����DX���?s�e����M��M�8v�X
={�5jT�v��q�����.]�z�����q+�E_��p��	F,���j���C��q��c����������S\5�y��x�O?�42���q��Q*�8�b�
��D(���G���U;��eo��=���-[���;������1��z9��X�d�3��+W��'<S���C��4����/����:����qT���~���m����[����/^L;�U�~���iN�F�`�/S������Z���������`N�g�ELKD��
�����-Z�@A���r���M	C���R�CMRUKNN4h��a�`�x�u����XX�x�x��0�6�7��\����fX]�=��k������gs&i��eG��-z�:����j��v,�V���^�k��s6�����"*��0<�����EZ#T!�BQh�����F=����*U���{w��B_|�E�c;#J�:u�k�v���?��b���+#�B�E�]���5�����p��?Z"�MOOGl��7l���	����S�r���������q�����q��gff��&B�u���9s�4i�J�e8������c�����v��U�����`������0���x��+a�jK�|����������������������Q��X����z��9��p�_�z5''��d��53_o{1Q��u�S�N�;l`��iAX���3��Ap����]����Y�f!T��P���Q����/,�X�lGI|U;�y�f4�dbbb�5�X�k�m��%;;����1��/^����&�+�����e��0�����]�r����8���F���IIIi������/\�`s�(��j��?wW�vm\YE���K���RIQ;�!�����p&��W�sG�P
����,�	2�������k�=X���������v~k��}�����j����G�T���X���A2�^��5�����B!�"����
�v�����aa�4W�;[�l�v��Bc���MEl��j�
���c������E�MO!�|
!�B!��L�T�


�~��}E���T��u�����\�p+�.]�gf��=�L�N����S�>��3NTw������c7VH�B!�B�w�@������x��A��������s�qgH�o�>�tmVX�H�{(�������ws��s�+��&$$x�,)R��B!������d�q������F�[�jUFFF���}����=[l���Y�z5�-o����:u��M6{���\���j����W���p����R��c	�+����q8����3�9'R��B!����y)J�n���O�?J�Q�����e�
t���b������[���V�L�
*�k�n���9���T��������Z4���������KxV�\��\�f�������^�z�[����!�N!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B����F�
endstream
endobj
16 0 obj
<</Type /XObject
/Subtype /Image
/Width 1682
/Height 922
/ColorSpace [/ICCBased 7 0 R]
/BitsPerComponent 8
/Filter /FlateDecode
/Length 49337>> stream
x���	�T��(�%1:�[��h���13.�e�������$^���d��d��dW�E"�H��j	�F�h��"((��;4
-�M7��r���gUu�P�U�~O=<]�|���,�>�}9��@�|��G]������w�7��M������*����
7����[o�U�����+UUU}�����[��=��-��S�Z�\�Za�d�rm�}IK�����?~��t���G��
Z�re��	E��u���&�s�������l���M��q�%[z�\����]��e�y����u��u������*TU��5o��du���J��+V�����{>|��%�@�,��U�
Q8�l�����q�y��aa�|P��@)
<8���'O����0��-[���}{��W��/\���Kou<�@R|x���J��'�|2-z<��#���%[t���~s
Z'N�>|x�iU�ZQ� �����GoUUU]]]Y:Y���������������')g���k����.��B����=z444�l�����{&y���]����Ki�n�����N�����m��7�T�+��+W&��o��MMM%[�]w��,w��a%[h�r����m[� 5U���5kVZ���qc������>�j@[�9s��]i<��������{J��;��#Y�
7�P��f)������LU��{��g���������<���T�hw�y��]i�����g�e�����k��@uu��]����]SSS�>}T�hE���r=��cI��w��m[:����J�������2d���^��W�o�q��a&�����&O�<b����g�����2e��5k�����>o���d�����!uuu�f�3f���w���o����G���)�5��_�����5�������7o����
ib���O�r���}�����L�[�\�W����G2����Z���E���c��I;�c�
;(kK�.�:u����������$��t���=X����n��eB�������Y����[�[z��y��d`��:V`���*�aZ��'�e�����f�����G�.�����������_~���c���w���_�_/�����}��C�
�����9sf�^���-fu�=�6,L�y������������<�H��p�$C��~��W����B�w�c����
2���y����Y�	�~>��
7���_���<r��pT����y���?~5a��>�-�S�!TWW���f�O�W���\"�U|�.����4666��8p����T�3������7���g�����c�Q!+_/^��o��3�wH���/��Bh�w�1c�����k����-]�4���A�vk��|1g���m����l��'%��W�jjj�����o�����VY�U�V�K�{l���N����3�{HW�X�l��]20,�_�~y�*|������kkk�g���J�za��v�my�����s����i]:����>���N;c���Mr%gXJ�"�����9�J���>5jT��aO�^���-~��{�.0yPO?�t\6W��������vJ/UJ��I,\�0iV�jt��=5w���~8�{��7�xc���DrN�����7�6lX�&���@�.-PL�8���c�"��u:th���������3o����_�����g���aYi,l������K/��g���O��\�rMMM��zk2m�~����r�����\����'{3�a���w��]�,�������}z�
7TUU�3&l����������c{��i��
�m"�6gy��'�UH�Z��K6N�����n���O�v� L�� 9��������l�9��o�������	��*�M�>='���v��F\u�=���q�����+5jTz�br`�-���6Ea��.�C�I�D"�6��A&��fOW<������o�7�|3.����;l�{��'�p���]w��~��
�U�i����
�������BA���w���
M��j������%M��>��p�.-V�i��#G��/�	�)|��W�u��-d����ZzO_MMM|uP����vi�$$�aAa��>���M��k���/!K.�����6a��������E����<�����_n�V�5z������v����0q����+W�L#S�L����s��;�3fd�JvP\����w���=[����T���Y����Y�=�\a*=���L8���w�\��o�=9�~���&�U�V������.���{����k���6lH�655��7/���8)��5j��e�L>����7�{�j�gZ�
3Y�pa|�m�9TWW�G�����o��5���z*;`�������w����A]]�C=��!� ,dv�\�������=z�8w2�B�2�*:���>�<�3-N��e]�������a�4�*�������\;ZW�T�B2;d������|��t��&d�����0UZ��������]Rv�{�h�z������N�>������X�����kd��v[�lIk#{�D���{.������J�Ca�}�X��]z�]��\z9V���w���\{�����j���b����'G��w��\���6��}{z��u�V��%����/�]����=�v�����;��sO�S
�8�1bD����3g����^{���=�/hL��M�N�)&N������u�]w^:�*�j������N�U�?~s!����{�C�J/\���S����*U����_�����1������}�>��������F��j�u��v��`|�\V]1�E7���%��gU��q���������#F�H{���u��t����������������m��i��UWW/X���7>����y��t��d�z��d��O>�^��d���f���q��U�vAh�\��L��6k�����v����6�`��e�����s�o��{����c���*C����������x������U��w��{+����6���T��G�C4���.4hP\WLo����_����������h_��C����*U���6���oz�� �����A�n��F��j�[�I�����n[�~}:<�����^�#���j�Voy��=�<�pz'�SO=�c��I���-��
T��������C�q�
+f�o���d�����+��y����~;�{��Y���^8���U�k�X�c���{-W��+����m����+���`���-T��W���l"W��^�RL�.���\�`A�����K�����g��U����J�n��q��?�o������B��g�����]������e�������x��t��y���<x����{V�:th2��o����^|��d>=z�X�n]����;�K�w��
�!��t�<���_L��S�����n�-kT�������[�&
�;6�������!�]�R����4�W^y%���q�.�����7�rsm���|�����T�p�;��3kT��m��/�g=����]zl����uuu�|�{��tx�������m���F���wY������n�lI�n���V0��&~�|������\q�e�vi�"�S�vW���Eh��u�z�~��U�x�t�Y�	����Y��������3��3'�+�U$��=z�%���vY��J�n���:����q��@9���7����Q�
,q���K�,y��������K��
�U��eyg�6��$�T���`s����S�755��E����{�-��o4w�oU;�N�T�
�����A�U��#GX��*'-��n���i�=���O�kIaa�jjj�G��O/<I��]��Ot�1`��������{���T��������3�\-}�B�v�p&C��\�&���{g]�*U��O�k����E��k����^N_�[X��]�g��Q�.=6vK�����2dHV�����3f��aG4w��U;�R�T�
<��U�=��<������7����+��{P��0aB2��O>����o���������]V�v�,���:K�n���W��m�����v[2����t`���x��dH����	x�C�r
�U��u���~��7X__vn���WEU��o�����r�[�l�:ujzYf���1#���U�h;���]�s:<�:S�V�J[�n�����_�~�K�c���Y�E-\���$-��%�-[6}����w�&M*���Ze��~��dq�-��[�ni-%��O�K��7�����{o����{����?�q��MY;:}�]EU��o!u�u��m���&�R���?>�r�D�������D���������1#�~��s�z�rw�v��-K&����������+
�����]�����W^y����[����VY��0:����e����Y������|^Rt
K���W2m�M��v|�A��A�x*]eV��t���&���y���f���U!����������v��Ol�..-_���s���]Z�����wk��V�Z�>����z�����&L(0�T�R��o���o�t�X�������755��X�re��o$_�����7�&*-|�}g��]�~�`����M�z�UZ�.�	�r�-�-�Hk��I7`0~��x��m�[��?~:���_/0��S��-w�j�>�-����;f�������������T�K�,I�[��k����������={G�����4��;7��SO��
JS�L����]�D��={x�������TZ�����NF�����*)�y�����z��_5�j@���V��t��kXC�>t����nU��������n�����a��Z�*�>��_�~�6m�;a�U�`������Zq����������_����L�~��d��q�vDGH�G����E���"��K�*�j/=��s�(}r��?S����f��&M��W��u9rds����+]#�U�{������������}��'�����������Z�j��/�?~����;7KZ�,���������$�
��d�P���=�.&�����w��{��YU�%U�!C�����Q��������z�jn���W�oV��V����u����O|���ag�����o����N�z�-���&�A��7o^���e\��;wn�9��J��������v;��.��,w�u��
0�{��i��������8qb������x��7'�1bD��=���^y����T��L���
�A��R�K%�[D^�����M�.H��6mZn�t��������zk�8�&L������g��h�U��z(]�����;aMMM8fz��1d������U���;�L4w���m�����6}��
_�����I�����u]���+��'�e@k9rd�rv����>H�Y��]���Q�{�)�h���'�����U������Z^��+~qF�m��C�����q����v�W�Nk��]w]����q�������_��i���$�Zk��^Ho���4���g'co�������W����x88��aS��}�j?�p���]�ae�����������O�u��m��5�L�^�[�~}rQe��A������<�1=f��<b1]��;�����{���q��c����������<��;�=0m�������?��d����'O�W?���q�������������
Z^������vW|ol��*��Y|K�E���
?�.��]w>4/4���[��;r��t���o��Z��Z�hQ������m�b���f��-�;������9���w��A��w���I�U� �-����r�����~z�u��������K������{����~����U�;��m�aO�5����������|���^Z�����_������	��x�
?��k/�)Yt8T������-6lH3��'�jr��'vm����[__?;��U���������l�����O<�D��9s���v�6��R��@����/]���=o����#�U���655����_��^-Z���7{l��������D�z����������_��T	U���>(�"]w�����O�=�FH#�	����Sr'��'wm�1���V�Zu��w���7d�!7����{��d�>_�K,]�t���C�
�}X�������M�Tk��I����wy����~�����K"yoMm��}��I�>}����-{�l��s�����{G��	a;��!��I�&-Z�(���
h���2f��tkL�:��f����5�����c���<�0l�������i�t�����y3���������+~�8�2eJ�5�~�������W�=z��1c��dx�T�v�,��
5y����t]�o9�=�\�+3ca}�O�>v����	�u�Vv��A����Z�~}�i�rG��D��������]�@a|�AZ7x������c/i]�n]����5k���?�����<yr�'V%���������Rv>��Gr=��3y����i��Z��������?�x������g�}�G�����{o������O��^{�[�ni��{����
���[G���!7mB�rw>)/^�����8p�W�@������3g���C����W�n����3l�����o�����o/w�3g���~p��Gv�����>���n�����������?���9��8�+_�J��]kjjr�=���^xa�a�N��9���.�l���-�L1����g�����<��SO=����|����O�������_~y��]�O<��3�<�����/~��+W����q����OF}��8��c���;w~��gv��b��}���33��~��w�]w555�?��O���
J[N�0!9��#������i�����w�yi��K�v���}�����O�466804��g?�U�R���������d~��_f
���G~�g�C�t��L�0!n�a��<0Oob
�
_���e�0�*���*��b��}����O���{�e
����2��)���|}��w��8`���Y-/���0j��a��c�=6|����jVUU��{�+��b��}�����d2���N�N�<9|������r���a��_�^�vm�L�����f���Kn�mn��L��������k���CI��6lX&����~�����N:����K/��>���s��Y�&)����]n1��>i���_��W�>����������?��?�������=�?���s'|��'����;.������mV__�T��-[���L��?�����v�a�]|��/��R:��k�	������	�����c�9&������O8����h��]�d���c���a�6mz����w���s�:�?>��k��k�Zr������.��is���ia���Z����>x��������������-'N���mv��9��z��V�Z�T���*f�\����Z�&�����:��L&3k���u����+'�2$����K��6lh��/��B~��G7��b��}����/�����:k���Y�8��L&��?�a��wU��;u�TWW����s�
�n����������93����#��.��@���]�t�d2={��>{������r�)�����7[�|y����o����]�vM/�K566&����
t��i`�q�m�e2�:�}��MMM����_�E��o~3m��${�!���=;�f��3�<3���+�f~�a��������d����������/��


i���'���=z�L����������eu�~������/}�}�����>��w�}7n���.]��v�iI��k_�����f�&M���Cu����q�a�I�o��q�_���a��g����>o��������8��:x������o�������8q�Yg�u��w����N�����-[r�����^xa�a�N��=��+��2��6��j��i�R������Am�5��?a���V���+	�b�"e2�a��If�">�V�UhQ�J0����NN���������&*P	O+Er>aA�^W�]��IN�O��`�DE*�� &*P	��1Q�J ?���T�)@LT��Ob�"�@~
��S���@%���DE*�� &*P	��1Q�J ?���T�)@LT��Ob�"�@~
��S���@%���DE*�� &*P	��1Q�J ?���T�)@LT��Ob�"�@~
��S���@%���DE*�� &*P	��1Q�J ?���T�)@LT��Ob�"�@~
��S���@%���DE*�� &*P	��1Q�J ?���T�)@LT��Ob�"�@~
��S���@%���DE*�� &*P	��1Q�J ?���T�)@LT��Ob�"�@~
��S���@%���DE*�� &*P	��1Q�J ?���T�)@LT��Ob�"�@~
��S���@%���DE*�� &*P	��1Q�J ?���T�)@LT��Ob�"�@~
��S���@%���DE*�� &*P	��1Q�J ?���T�)@LT��Ob�"�@~
��S���@%���DE*�� &*P	��1Q�J ?���T�)@LT��Ob�"�@~
��S���@%���DE*�� &*P	��1Q�J ?���T�)@LT��Ob�"�@~
��S���@%���DE*�� &*P	��1Q�J ?���T�)@LT��Ob�"�@~
���E�.���c�=�c��t�����������>������:��C9����W���k�����f�?���^x��Gv����c�����/^���3-{#�)@LT>�������d:���O>�_�Bf�3�8c����~/���0�]�v'�x��g����_��W�\7���;��o����7�q�1���;w���3���3�L�^J~
��������>��d~��_}��G���3g~�������0aBr�G��7/�i��s�=7<����fK�.���c������ill8p`h���~6]D^�L��K~
��_�~�L���Onjj�����;?����!]�t	C&L�7��a����7�����_���e-��3�����
t��i�{�Ob�"<��c}��}�����O�<9��|�K_J��������u�����\rI5l�������VWWg5���
������L1������DE���Pv��g&_�"�������#G��.�������k�g����e5�7o^r�msK,fZ�j�S���4����o��o3������!��
_���6~�����N:)���K/��?���fk��I�r���yZ������1Qh��A�2��	'��m��dH��=���������x��0����K�>���s����'��e���]h1��W���DE ����k���C}��7���\sM&�����s�WWW�Q�sL����N�}y�f�.Y�$��b�`�&?���@���������L����z����Q���.�F�%��-_�<����6�\���O����&*��ZX6a��a��o���L������{�������~���N8q��0��SN	��3'�}�a��6[�jURy��ys�3m�r�J�
�S����ka�����
N<��L&���~w����
�N���r"��!C��K/�4�Os��x������>�@�xZ�j��O����&*�����O?=�����?mhh��f����A�N�B��Q��{nu�M7%_�?���u���Y�F��_p�zR������1QH\v�e�L���/nll,���SN	�n���x����;v���~��������]��������t���w�}Q������1Q�����8��cw����&�C9d�����5k��y��a�W\�6���;w�VUU555���.�_��Wa������Z���'���=z�L��D~
��;��N&�9���Oj��e���I-����i���T�����e=
o��I:tH��g�qF�yR�[�`A�����u~��g����K��1QN:��LAK�,��O�8����:���;w�|�	'�����<���_~��/<��#:u�t���^y��q�/��j��i���Ob�"�@~
��S���@%���DE*�� &*P	��1Q�J ?���T�)@LT��Ob�"�@~
��S���@%���DE*�� &*P	��1Q�J ?���T�)@LT��Ob�"�@~
��S���P������A��yW���g��:��*�S���Pz�[v{�����">�V�Uh1�)@LT(�I/���l�K��^W�����DE��<�D'`aA�^W�����DE��s�Kl����� ��J�9@.� &*��s0�\b#@LT(=�`��F���Pz��r��1Q�����b�"@�9�%6�DE��s�Kl����� ��J�9@.��V�nSS��[����o
j�O�m��[�nj*�Z�� *��s0�\b#�[��������^�"6~T�U�@T(=�`��F�7���m]�K>C�Z�u����bG���q�a;��]��lo;w��?�{%�Q�����)�E���B��T�u�D���}�G����OXD��r���%*��s0�\b#�+M�.�d-�q���^����o�>��V�������q���l�
r��i��]����r���%*��s0�\b#�+W��q������mQ��?aMk��m+B�#KT���"@�9�%6R�rU�6���%��S;��rm��P��]���"@�9�%6R�rU��\���T�����m+���������)^��v�)�%�rm���j'*�1�`��F��j��S���s0�\b#�S�������m�9@.�������T�DE�6� ��H�T��q�����V�g����s�S�[�f�g���������� ��H�T��qe����V�ss��^�"j������ ��H�T��qe��
]�v[�����EK������ ��H�T��qe��]���������J�9@.���}�v�Vl�^C��
Ovh�O�����`��?�nV��]iJv�'^��Pz��r���W�����g?�&������w��+��l���������)�'�j�}�em^����������f����m�9@.���}��v
��.M�.,��{��v�"@s�Kl�x���]iJv;?����P���s0�\b#�S�S�S��� ��H�T�JV�[�e���|���O~��V������!k������v�"@s�Kl�x�v�������N����������m�>��U�DE�6� ��H�T�JS������.�%�~/���V���s0�\b#�S�+M�����T��]X��v���������)��]i�v�)�%���`U;Q��9�%6R<U;U;U;Q���r��O�N�N�NT(�s0�\b#�S�S�S��� ��H�T�T�T�DE�b8�%6R<U;U;U;Q���r��O�N�N�NT���q��[n�e�����i��}���<���/���7�|��}�,���)��������-�a��O<1��<�����I�&e"�~��+��IJ�9@.������������r�_}&�9�����\SS�q��t��}���W]uU��?��?��MJ�9@.������������r'�x�QGU__�|}��2��i���|mll���?��K��u�2p�Kl�x�v�v�v�"��!�r���_�����dn���t�\��O�]�l���)��������-��C�+��"�z���g2���C~������~��e� ��H�T�T�T�DEh�#�8����N�^�vm��>��������C=�]�l���)��������-���}�C�O=���m�����L&�o��o�����w���������A��9@.������������r�<�Hf�v���?��O-]�45{��������[�NPb��r��O�N�N�NT��2z��C=4��|�s�{�����c��	/������2v��s�Kl�x�v�v�v�"����������K�,y������t	�2r�Kl�x�v�v�v�"@1���)��������������]�����)�����������;��o��d��eJ�9@.�����������PXf7�k�n�3`� ��H�T�T�T�DE(����_��:��������-Z��;���?��I?��O>����z������q�Kl�x�v�v�v�"���)S:v�8g�����k���G)q�(/�`��F��j�j�j'*B����������
N>��3�<�d��8�%6R<U;U;U;QZ�3����W_]���~���>�d��8�%6R<U;U;U;QZ�s����sN��7��O}�d��8�%6R<U;U;U;QZ��SOm���]w��;���i��Q�L���N*y�('�`��F��j�j�j'*B�=����������?�S��}
��O�+������KF�y����&%� ��H�T�T�T�DE�-��r����g���8p`�;@�9�%6R<U;U;U;Qv��u�����_�����9��s�y�]y��UUU+V�(w�(�`��F��j�j�j'*�9@.������������p�Kl�x�v�v�v�"��7�x��k�����}�)����r���r�Kl�x�v�v�v�"���Y�:u���U�rw��r�>�q���^����o�ENf[�����k������H�T�T�T�DEh�o}�[�L���n�������6���������k\�f���~[g�aMk������H�T�T�T�DEh��|�3��w^�{@eqF+Z�����-���Mr�0�^�����������&9�v]�
o[�}�y
�G�IZZ}���?���O%�yl���>��p����I�l�,X��P������������r�����7�\�^PY���Z�nj������L�"6~��������IN��>��mjx��m��>����J�+��m��>7��3������x�b#�S�S�S������/�1�����8��zhki���o��[��t���J��n_tEi�d�6��Q��v\{X���a����cc���C�]��t��%�r�F��j�j�j'*B������_�zccc�;@qFk�hT�_h�|�����-?�ut���YG�vO6c��v��m���E�}�����}�4�iXP�\������������r[�n=����?��%K���5���h-�������-�}����\�9i����f���|��)Qr:���b����DEU;U;QZ��+�����:v���]���:���O�z>��&%���"?-M~�f���9���:3
�����c;���%JN��"�S�^�������-�i�rw��rFk���&?�����$��^��,?�M�����(*B��s�=<����R�nPR��h-������L���$�aA���S���$*�����"@1���Z���S���HLTEEQ��G}�v���[���#��s0Z��T~*?������(*��������z������:�����/��b��@8���O���S����(*���"��������P�o�~���� ����"?���O�Fb���(*���r�&M�d2x�����?�������;����6m���������aluuu��	@I9���O���S����(*���"��9����S�W^y%����������/,q�(/�`����T~*6EEQQT��;����=��
����u�Q%���9�E~*?�����DEQQT��:t�p��Whp�UWu���d��8���O���S����(*���"��!�r���hp������y��@%pFk���O��b#1QQTEEh�o~���;w~�����}�������>��������Z���S���HLTEEQZn��	�L��#�5j��o�����������#G�<�����������&%���"?���O�Fb���(*���rMMM�^zi&��c���W\������s0Z��T~*?������(*�nijj7n��'���]��X��}�SN9��{�-w�(�`����T~*6EEQQT�=SSS�`��^x���^���-ww(�`����T~*6EEQQT��555m������<���Z���S���HLTEEQvKMM�UW]���~7�i��������.[�zu�:@�8���O���S����(*���"�����t���d���/��7m��<���_�jhS��P��h-�S���Tl$&*�����-w�u�e2�3�<���:k�������o���^{mY�@�8���O���S�����?��c�����HR���wm'�B$��XK���D-E���E���n���B��V�"h)-�ZZ�r�����&!$DB��{�������s�LrN�H�|>������Z��k^����+'��T��P��!C>�����k�^:y����[n�����Q��t0���S���Oe#9�(��T������}��o2���o��O���:]����S�����T��RQ*Bu�,����o�d�a��}�����n���U���?�*�IE�(�"T7l����Zj��q�^z������k�����Q��t0���S���Oe#9�(��T��.�����������'?y��gf���z��Gy��s���>��=��&����_z��c'������f_=��Y/Ml���|~��w�q���z���������j9�?:]����S�����T��RQ*Bu�g�9rdK�w����x`�������&����t����=��w�������j���q���^���v����U���?�*�IE�(�"������o�q�=������������o��_���M9�����|hd=l���t�k�.���o}���~��{D�������]4��FW�j����l$'��T��0&O����}�����?�L����d��;�S������qgkM����zm�
^~�������}�]L�1#�_��b�����S�HN*JE�(X|,n�;M~�m�.m'p������wm��x�o<��z
�7~<�_��b�����S�HN*JE�(a>����^{�y��w����M�j��������������o_qS�q���xo=,�(�_��b�����S�HN*JE�(a���������^������?�p�~����?t���[�:X����5�1�w�����j����l$'��T��P��)S
�����W��C����j�����c����^�_��W�>H�����u�SV����et0v�O���?�����T��R����������O|b��	��AT���K.�$~���?�}�����������;�����D���=��s&N���B�`:�����S�(�IE�(�"T7d������^{-��0j�Yg��v�C*Y�:��i�v��gt���x�����B�`:�����S�(�IE�(�"T����w�}�)~-�����~���k\�Pz����\9m�o/��7{���^zmv��.n��w�����\��Z���/�O���F�HN*JE�(��%�\���/~mw��}�{_��>/�6{��.��w1��w���������z
X��;^hLc��?�*e#9�(��T�����k��5+��0j���o���w�����G��~9�����������`:�f�Oe�l�����T��R�;���[ZZ>��������z>j7i��8 ~=�����1��a��.�������~u0L�����l�����T��RQ*Bu&LXq�[ZZ�����{�����O8�����k�����[[[_|���~����t0L�L6�F�(�IE�(�"��|0
��}�Cz��G����A��t0�2�(e�l$'��T��0�f��u�M7��{���;����{�t�I��r�����V	tD��t0�2�(e�l$'��T���O��t0�2�(e�l$'��T��0�f��1s�������;�����|��n|T�p��t0L�L6�F�(�IE�(�"�����'+��R1@7q��M7��8���G��:����`��F�(e#9�(��T��n���=z�������JSF������~p���_v�e��k���{$,t0L��(���Q6�FrRQ*JE���1�g�������'N������.;n�����G�����;����:����`��F�(e#9�(��T�������V[��=����s��\1e�m�]q�����BF��t0�2�(e�l$'��T��P�{���C9��5}<��n(�p��z�j���;�`:���Q&e�l�����T��R�[j����g������W^y�^�zM�<��a��K.�d7=:X��`:���Q&e�l�����T��R�4h�j��6s���9�L��������3���k��V7=:X��`:���Q&e�l�����T��R�;��[ZZ��f�SO=u��V��G�]\���|'�|�����GL��t0�d�l�����T��RQ*Bu'N\c�5Z����;��5+]��o~3�,����=�X�>HX(�`:���Q&e�l�����T��R�����z�w�q�^z��o�YL����6�l�����,Dt0L��(���Q6�FrRQ*JE�]b�����`a���`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JE����`:�F�l���Q6���RQ*JEXT��9���O���WKK���>��l�G��j���[n�%�\r���>��_}���lw�u��#V\q�>}����w���Mn����J��t0�2�(e�l$'��T���Hz�����r���u4Jv����=z�X�����2�������0aB>���^��g�t�6�l��o��y���������H:s]a:����`��F�(e#9�(��T�E���c�Yf�^�z�}���y�{:�3fL\��
+�w�}i�k���������v�����'����w��=G�����5��3���VZi�7�x��#��uY��`:���Q&e�l�����T��R=���'���w�]w��MF��3&���+�������r�QG���vX���
�G����t��,�t0L��(���Q6�FrRQ*JE���K.�d��I���F��z������KN�>���}��7.:��s������_������F��w�i�&��3�e����`:�F�l���Q6���RQ*JEX�u4j7v���>t���U�?���h�����_z��tf��S�6�v�}���vt���.�<L��t0�d�l�����T��RQ*����Q�s�=7����^��\}��q��o?������_~��l'NL�rS�Li��;s]y:����`��F�(e#9�(��T�E[G�v��rJL���?]��-��������(���[o���q���{���.�<L��t0�d�l�����T��RQ*����Q���;.�q����q�qQ��}�����>~4hP�7��G�����o���\�E����`:e�Q6�F�HN*JE�(a�6����c��/7~��v��3�-�_-uv��~��`������������[g������o��k�@��d�l�����T��RQ**��0�h����������'�W���+��M6���}��������`y�^x!�������K;y���^K�b:����`��F�(e#9�(��T���-�:��������hp�9��E���_���+�t��w�}wLomm���;s]yuv��~��`������������\c������o��KV@��d�l�����T��RQ*����Q������>}�L�:���]w�5.�����~0`@������a���??����M��3�e����`:�F�l���Q6���RQ*JEX�u4j6�d����K.�'�?�w��K,��3�<���x����w�Y�f
<8���g?kr���.�6L��t0�d�l�����T��RQ*�����]���r�-��?���d��������rH1���>��RK��Q�F��=�m�wI}��1e����1cF1���c�<��/�p>���F��t0�2�(e�l$'��T����y��'6�������e���+����i-<x��7O#ll�����������z�����o��a�/�|�{�����9�����v���uY��`:���Q&e�l�����T��R1>�`KS1C>��W^��V[-���K-���A�N?��i��Y�����#F���
}������g?��q��5����]������t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"���t0L�L6�F�(�IE�(�"P�]w�5b��W\�O�>}��9r���>Z�uYT�`:���Q&e�l�����T��R��K/��g��---����f�m���?/��R��~��.�0L��t0�d�l�����T��RQ*�=����{����������Y�f�y��---+���o������M��t0�2�(e�l$'��T��@sGuTKK�a��0}��a1}��Q��,�t0L��(���Q6�FrRQ*JE�4��_����;���a��Q�b�N;������M��t0�2�(e�l$'��T��@/��R�S�Nm�������+�����.�<L��t0�d�l�����T��RQ*M���miiY~���M�81
�M�2����"O��t0�2�(e�l$'��T��@��rKKK������[i�m��q]~]y:����`��F�(e#9�(��T�����[ZZ
���=z��K��.�.�<L��t0�d�l�����T��RQ*MT9^n���]~���Y�����������[g������o�,��:;X~�uv�.Yy����Q6�FrRQ*JE�H�>�����{�iii��?X���^H#o���z��N^�������;V���~Z���g�X��w���[��/s��k��/���{�[���~?���k����^�Q6�F�HN*JE�(���{��W:������;����.��M0����w��]����??������@GN<��������/�8k���������g��@G�}����Z���e��Q�g�n��]G}tLYk��f��Q�9v��#�<��/�����������WKKK�~��
�������-��<��v�1������n>���{��w��+��B�>}������~v��q
��;jW���"������>�����>��;��Q���O�UVY��_����������{�1b?X�.6s���O?�W�^��>�h�����g�q��!C����-����l���^8k��|����{��+��r��z��7v��vo���/�;������t��_~���O4h��K.��RK���:�w�/�P�s���[m��r�-s����'�x������ ������ E�j���Q����gq��>�������s����<���yb�u��7_v�e�}��Z8@�x�����r����;j7y����F��[l1t��4���.���9���3���K,q�EEZ���~={����;n������>��0��.1��o���>}�2d��A)�VZi�'�x"������=z�X�����2�������0aB1�`�?����;F��`�
=���F�6�h�~����m����/�|��������G�U���"c������!=�������t4jw�a��E[l�Eq���O>9`�����o;M�4iR����#��o���{���������'{�����c�='��7k��!C�D�m��6���O����[/&������c���)+���}�������k���kL�m����0�����E�:��#�O�~�9��;j7m���={F�*��t�I1�c�=VL�R����
k����Z���'���w�]w����M�0!�:�Xb���~:�~��������)�n��������~1���CWZi��*����b�SO=uA=������"�"'N��OO�a��o�)��)c���g{��W����Y*����?~�5���;�������������o~3�D�+��no�>}::���%�\2i���sG�v?���c���n[���+����m�sr�����Eq��?��=zogL�2e�UVY{���M��@�@�=��Cg�yfqq���^J��f�6������Oo�s�}����=��6��E:�{���F���������W_}u�z�i��_�t9'	�0�h�������'�tR�*��`?�����.��a�t�v�)���<���W-��(�Wx�{���"�z��������:�<��������m���t4j��k��������r�����t��W_}u��W4h��o�y��7�����Sx��)Sj}�����N;��/����Ub3.�T����_7�����������w�}w��=?��O������_>f�������:kA=���N����{�_����������l�]��Q���:�������C�]z���|����������]w�����/���+O;���x����:��Q�-��"�_~�����r�)q�a�??��s}tP�h����{��a�����zk���+����I�~���UF�q���~�S���c��}b�s���G�������?�����Kn
����\s�6��E��������?�����������|L���;��q��sL���b���={��0aB�O�3:��h��b�UW]U��i������������C����4vlcb\��z�g�0d��UW]5vW���3g���������}b�p��7/������<����7������;���}��_#@�5���t����m��v�:u�����Yg��d�'On��y��W^��Jz���k���	t�|kWm����o��&)*�Xb�������������}��O}�S�-p�1��F�w�����z�����W\�O���vH�
F��k2j��7��;�x��'��_��Wb�_�����W\1��$�������~���1t��F�v�y������|��}�sq��'��O|�������^x!~�={��[o���KG���q��y��/~��1���{�?�N���p��Zv�eo����K�;�������d��W^ye\��&��#@g�u�.��bW��8,��2[l�E�����������FG�v�sL�e!}�%�\��m�E1��^�~������SN9��!�r��ww�3��g�N�����9�u�]W|�D�T)��o��n\0����vQ���b�e�]����+&6kw��7��}�{�[ �`�h����/��[n�e��3f,��rq�<��
>�����6�l�Y�f�)�CJ��,�@�8��c#�6�p�tt\����c�>}�L�:���]w��I	������E]s^|����M7�t�V(~��~��p�
]�@��F�^~����G���$�S`k��VG7��^{�����,���m�N��{��wLI'x7���K#���d�t����������K<��3�^K0����vQ��Yf������=;���@Rt��v��O�>�����z�]��Q���?$��F=���i������VZ)&���?m���������_�r��M7�t��WN_�8}��VXa���]�<��K/�M�g��s=�\���r�-��?�9M�8qbT��x�!��{�P��������o�T��)qi�*���{����j�y����^�C��W\��V��N��I��'�xb�L�="��[o�bJ��;S�N�l�����b_r�
7L3v�a����)SV]u����g�Ei?w�=�������c�%�*g�uV���K.�q�o"G}t�r���o���K-�T����{��`�'��Z:��D2v���~����{kw�}w����=�Yi��N>��3f,�g0�|��&�?�|��s�9'�Lc�t�e��r�-����-u�Q=z����;����?��Zk���O��{=zt�?1��u���7������W^y�V[m����F64(Z��i���e���ymZ�g~��G�z�3��3������M�t��/n�Ig��r�g��y@��������[{u���'O���]������_����\3������]g�Am����_[���w��:t��ovr�.���3����{���;9d��M��
��T�k����tr�.�k����~*�5:9d���z�w���.���:;d���9���	���������R�/}�K�����v[w?�EJW����t�S����n��6�8���?t�F�����;�C��j����F}��������M�6�;���G>��5�\s����i��~����5�<��W_��{�������6l�g�1y��v���W^��g>O!��3Oa>t����I�������[o��_��^{��H3/��r���v�v*.��>��I'��������������>��vW������3/���]w�5��������G���v����.���=��5q��X�v�e��~ sq�
7�����?�����7(��'�x��N:th��k���X_z���<�y�U�v�����������El0��G���~�^�q�6�d�����:"�CK��r�)�8�<����H�������7����g�����3�X��W�o�yr'w�j0i����K.���H%F��U�����n{�����:?j�����o��q#�[���{F���c����s>��)S��n��(^��v�-vW]u�����9sf>����4l���~t��w_{��������
w��?�q��7N3�{��]��3�1��{�����Q����C=4p���(j�2[o�u��E]��Vq�y���c�$�B����o{1�s�~�n����~.����<����}�[�����_�=��@n�G����
J�u���o^}��cz�������O�����?����t��Q�y���;��>���z��O>��Q����K�G���XV��0u��N8��mF��v�$6�
��w�?��F�U�/��VYe��G��~��~��E�������5����n�-��=�;����j����u��b��x�����b���1e��!���?���_�����
�����J�l���7����]~���g���k��������U\�c�b���1�K_��[o��&�~�������U^w�P�e���iJ��~��i5���v���#���������v����-�v��������I���������41��i���>�����F��EZ��
6{��4%���w/��mF�*XX����v][,���{l�-�����������mF����~���e(����vW=�7�x������Q�yR�r�����<�UE'G�bo(���a�'>���>z�����/��������*����g���;c�
7�����n�mL��������0 ���S8p��#�{����F���=���h��1��Q���p:8a���
��{��i_ �Zq��G��,n���|��^{m�5���1��=�yb����j���z�
Z����^{�U��]����A����3&~��G>R�~r������7��_�����_�����{�����@G�bQy����-�f!
�N��uy���?!zElX/�����S���Q;��]0j��������v���k�m�L�:��.�~���s�q�<�@>O:���W^����v�a��9c����}�8��������G�b[��Rn~N�����a��A<����c��2e��'����Yg�5c��H��/�8�Rc�u�=�������[����#��9����k���.��I����M]v�e�Z���:�M�`�
�I]q�i��SO��S^�y�����q����1���4�~:f��g��
G���^h��t^���-b�������_��+���%���y}���-lg����j�u�����1����O3�e W8��uK�vQrb�;��C�����f�mv��gO�>��sL�����������R��x��?�����O~���[��#.JG=��3�s>�P���k}������'��-��v�TO<��Xz#�6�x��:��{�i�'�X���r�xU�\s����*�	&������������}��#�b�Xf~���J��Z;��M�P\���C�H��\��v�sU���}��9��[���e{����%6R=]�<c��n��]<�xA�y�#�$�%���sL�/�G}t�i�0[$@L�;M��T\wb$n���N+D�������G��Oy��2$�����p�	
;t��{���{l�#��F�I�q��m����0?����e,6+�Q(NU�����u�]���!.:��s�<����<�����z���Yh^N�'
s��r��-�����/H�n�0�.��g�r��U\��*oP*�;��b������?�I�@q����v�W]uU,<��0`�����w��00�\s�5{����A�b��������u>O����'��<�q����>���Z������'do������/�"��(3��_��>���;��X*��k�X����/�V)�q���`9���c:th�V4l^|����(l�����sN�Nj��7���9q��3�8c����xb�X�+��k�%����GH�����x���I��u�K�v����*�����z�����L��XV��p���FQI?����� Mg�.�6�EKg�
w1��I�"�cb���Gy�I'���W]u�k����-B8&�|�����=�(~���w��;��C������'���O7<�t�u��5y����
\l�����_�2n'@l|c�=$����?q����G�_p��{�[~��|�+��E��g�����V����L���9�Q�|����6.�?�W,�+}�#n'~��O~����_�*�`��x0#G�LW���v��>^�x"�w��l��;�{G�����+������y��w�&3j��40�����#r������9�F�iFK������3��k�=��x"g�
����F�b	�N����G��=���������x����bG)�o�5����;��C
�]vY��GP�{DG�>iE(_�x��=����[�pr�!����N�o=��'*k1���1�����3�sF�2+NT��O?=�3*�pi�X�Z��c������p�e���c���n2O�u3�����kv�q�#�8"b6������&;��-�����J��Z+EZ�Z�*6��T_��`Z��������_�j���4��_���?6��Kt��]����X*��/�C=T��_)���c�X���;h���5��bw����w��Xkb?������x�1��+��|�-����TO�<9%m�N�G��j��TY7�������o�U$~.����ni�.�2�dcz���=���\OWq��A���t����K����kt��]���9o5��/�)��h�{�Q���2����x�j���������e��a�.��|��:z����^�%$a�-5���{���]Z��1��?����{FI����6m����_�Xq�1���?mh.���X1cQ�m�7���(�11B��-����o�:�|qkq����N�7�}���.��j�B;���&#����[W��.��S��"�xmc9�?}zm�����\��4jw�Yg�W$m��X���o� ��nW��������t��]$pdQ�_�6�SO=���W��U��b96=��@�Fk��fq���x�<�?�����*��� ���;���:t����v[���&���[�|�����f�����������~8MIo�Fo��z���v��~��G�v9?�-�Gz
�=�X���O�������6|�Q�Q���>�K11�(Fu���~���v���[����1�p�!��%6-�1%�x���o���93�M�l�}��O�Vy���]T�t��vjb5�����Ho�F;-_T�����,FNr���v�i�s���9����5�a=YG�f�����b���x�M7��Z:B8��l��b�W���|�I��������NP�X��bb$�*���#����E��Yy�OG�����t�X���Sq����.�g�<yr��|7���U^���������QktGK`��2���{���2}��������;}s���8j���O�F<���E4������c���<���i{�G;ki(�[���X�����1o�s���b�,/�)�w�}��x�]v���������m��I�����d����E76����q�(K��\�����p�
J�u�,0���A����o~��aw�n������b�����)����������e�G_c	I�'E��XZR����N���	����]��i�����a�T���|��m�{�q���{��g~�m�u*-r����W�{����D�q�i�*"%�b�#����|'M��/�Qlq���_����Gyd��������1k���6���W�*�^Z��o��/|��BEMM+xGkq�k�e��i`�H�q�.R:����3���/���-����s�i�eiV>�A�s�F�J��Mv�m���
����[�OW�x��i�o�^y�7����X�/�+F��!�"��������+�4�*Q��n3m��3�|����}^�����c����e:�k���
WL�m��v��T��k�&��ku���"���S���w_���b��������k������U�y,��G���nmo/K���_>O<�t�B�O?�q�1O�Z��(`�	������'R�3I��o^���?����k��7/_���E�M}���,��NA,���o��T�>2F:P���X*����R��}�/��}�QG�����:����G?����i~Hp�u3v�bG2�4�������Vm�el����������[��i�L+.��
�������������+�Y�#?�^}A��Q��Ak}��-msF���[��y��~������3�,���nZ��Q������`,> �����+���N\�c]b]�5"������Y�����s]�uK�)�*����Z+|�C�e�������������61V�x�*~|�t���;��F�G��T�r�����_SG*��3�,tP��biy��S�K�����q\��>m��Q�t��~����J�/�����X����T*Q
[������D�(nx�*�E��b�����}�3
�������.��k�������~���W&V�4������������0��(�7������z�m`�H�q����i2O��p�
�����7��Y�K��u�]�s���~�lL��O����7����x����E+�nW�@Gy�'�\
�������7�%�e?~��9rd���>\���&�:.�Q�m\��N��N�)��K%!����G���0U��@S�3�:���������Q��"����������]���-��l���9�[o���u�����[�{iZ�Ru�~��[�O����9�;���/}�K���	s6�h��E���]��N�����������#�(_�>Z��
|��|�[�j��Gx���[�Y�/�i��O�S�G2a���'���?���f���_�=��R�^O�;���[�u+F���I�������*.����n��O<������+�;e�<�L��V�G)�n�K������<����+Nb#����b�����#F�C����7�����k��������������kRN�:��n����T>
%�y��YT\�+nP��;��J���y���V���/T,�3y��4O~^�$���s>6�~�^ZRs�O��F���c��>�y���Q���c��a���G��cZ�������T*Q�=���D���^��9������]�H�{2�t2����.�`�9sf<�q���!�H>��,U����G��G��#���7][,��F���G�Rm��-W�BF(���Y9��3�7
�;�����'���=����
�����0==��C��N_�Q�c��N����/,fK���9{�tP�J��/�Q��E]9�$�$�8�=���:7�]�G���0U�vwv�ha�����_|���n��i.�������Uy���^���n�9���[��p���%����[����b8j�v�� �y�=~
����_���k}�gB�p_1��>C����r�Xs�lT�u3�������3�4�w��[�u+F�u(�7���W9^(�/������!CZ��5��t�n�K���i�v����:����e�v��tv��3��(��s1��>S�p�ZY���\O6X}��XN��vU^�T������������p�
J�u���o�����'?�I��7?�E���Q��>Kh�]��<
G8��Y��E�s��KK��|.�7���������]���<������f�5�h~�i>|x����T����l��V+�Kz���]�H�u�;�����U���r��7�1"}Ay��^�l
�Re�k{{��85A���~��k�e�B����t��]��S��>4�'��v�m�M��=��w~=���)c�(MI{���M��Nc���s���]vY����}��l�W�5LO���]��Q����d��5j�/������<����9>$6��� �{��W��e*�M���{*��G���0U�v��*}���\F��� ��w\��o�E.��5�����u�,�������F���w�����f���&N��^�4��N1����O>�����j��G>����gK'�iw�a1�K-��b�d����!X����7-����PL3fLk��Gz{��65H��3�����nN�2%;f;vl���N:�un�vU^�bt.?�Q[i�.��a�H������5)�t�Kg.M�T�����_�n��������vi�|1k2ON��+F������Ne1%E��g��~�mD���&c������~�z������f�rR������T>�{���q���R�����p�
J�u�#���Og-n����F����������>6��
���Y�f������o���o����lG��6��v��7�$��z��?����[�h���NU)Q�4wk��V��K�l��]�H5��m��.��D��}c#�B�Z�!�d6������=:W>2�a����Rq�\=��n�K'^n���*��a�]v�%�����f[(�����N'�H�qH�bs�����A
q-���]:�iLl8t!�5�0j����[��_�;���-,��)�Q��^���,V�v��r��i����w.������J�������G���nm�
gz�8�>q�����_�g�M����r:�_��������6����i���{.��v�vX���|�>g�uV�5����KU>R����N;�����<��3g�;Gqb��T\7S�l���pz!\�|����Vq�.n�a�H�����~�������io1}f���SH�]q�O���t��]�*�v���2O
��n��-�+����*)Mg���?�`��	������7�o$,��D�u�z9)��Uy�*�����r��������N��Y�w.(�7j��-4�&�&��;}�����%IgM�OL��������l��Q��A�;��K'�+�3-����*%*���k�n��+'Lu],�~it.�d�l��&�vU�����v��������}����v�������mI;P����Z�yV�B:�Rq����Y�N=��|b���}��w���0`@�-rl\b�x�s�(PgF����\n����������-��G��Y���!5X�F���0U���6mZZ�7���?lwqMgj>jW�uk�V8��b�-�])F��:��o���\sM�O$^�T���}���R�-0-
���G?*?��p���S�����u��������}6��<<��&}?N�GL�_p�i,��C/r��sOk_�����y�!���7�����|����Vq��#�����?��'���b'(}������t�M���JL�����<����kW>1l��O����q��]��L������&��K��<�"����{��i8b�G�~�{������nV/'�����Vq��#�������N�!��g�������bzk���v�w�y���|{}�Xtc�t�����N����_+��d��qq�k��v�jr)���y��J�����
W���]}��R��}���*���)�G1j�V�*[���
��z�u��vi�X(N��d�����Vy��#]^,+�O�v@�n�����FF�?���+��
E ��0���G{�
���}������E
8p��������O����_�T��Q��Uj�HE:�G��MS��_t�E/��b�]��������(�^��c�-���c���X��-��a�ul�<�H>���oo��y�t�G��l���	v�e��w�o��;d��nm��k8�_���v��^���|��$}<a�-�,�4�9-����_�(����x1�KC��H
#KiD�[��V[v.�r�n�MK���k��]w����y�4
��v��Q��'���{nk�K6�Uq�L�Y��$���=�/�kk/c��n��k���?���n�p@W�h�	'��~����~k����Xc������Q�4$�����g���6�w�uW��yU>%����}�b��� ��m���ig��_�rL���D���\�O����Y���u���_�N��U_�+nP*�;�[D��nx-������������m��|��z�6
)�F��p�����m������E����m��f��9�!����\c�����1x-�����%*�z��7���o���h��\k�����+����.���6X�q���j87]ZI[��OQL������^'G���XV��F���G���>�"��x{����N'�-���������e����Ri���"!�@_ET>Kmj_�����/K��U
XgF���%����7z~:���~���:�u�;e��r4����|�_h}���E�O��������;���o�-V�vm��r��i<�����x�o��i�tg2O����V,�Q���F�MKl�%zW^ye�Z�������Q���>-��G�N�<���{M�)?�u�,���o_|�K���_���#?�����nQ_~����u4j����/o��w�9�X���l�w�����W�Z�1E(�������
|�����8�-����Ig���N+E,�s�'J���9�T\7�g�v�e��#��v����i������U^����U\����z��Y��u�]��o�x������N���I~j���vO>�dz��XTbo+��|�M7M���M{y7�xcq�	&�C,���L�v���x�������C�6���-���6������cak���e�������/���~�����vm��������c�=/u��^$�����_������s}�����v�����N1��������K���>���5������FN�JQ����1j����_i������g-�����%*m����%6d�������GQ�����7&l	a'��]dQ�ED��f�]T\QFGPQ�AP��M@@d��]�"���N���)�:�E��x>���������z�s���+k��O7rv���P�9;;�sar$�a�Y���hC�C
�]F����� u/��]8�7��oh���0���;v�e��j��V��(OW+k����������n��N��=j�({Y�re�4F��JW�zu}���w�}�;B-��#g(��
�]O�8:���9eS�
���ng��i�<���9r���Z
�j�����+((����u��]�s���Q�>��D��-�}�n�B���u�8p�M���{��}���~�v�^=tnMu�u�c=b����w��n��o�<���K�:��n�,����;��h�����&�~K0k�}o���'uf�-�������#CR;]��vtd��a��{�Pd��;�MT����2:S���rSZg��wb)Ia�N6n�h��v�Zg��L������'U�U�m�p���hv�8]�P7�:;����������z�<t.�\s����T+�-����j�UC��3Y��HD������q�[�Y�p�:�Ly��/:w�Q)m�g�� �����kG�h����)������n���p����3����z�Z�����o�Ik'(��]�
N�
���1c�)Vu�yf=�I+��<�������1<7�����%����0z����-��]��?�%��3o�<�]:u]�d��I��[�4k�s��R���vE����"�2�>q5��?w�}��4'�|��8{����E�v���Y����k�U����kru]�;�jqu;�9�&j��=���*�VRW7��ZC���������u����{_��j�bL[
��=�)3t�Pm�.gj���{�+�6Do��Z��%n�K<k���p��G5����]��;Kt��(���6k��qd��)j�*E�9z���<hV�9c���j�����O����Ed��M��{��]����u�Ws]\o
5�!��P~6^D�v��lN"Y;Y�h�nkuuP���[7������k�k��m��=zt��	��t���.d���r���9SPP�_i���Hm��U����[t��^�N��E�z�����zh���Y�������o���-�V�3�������+�z���:��\�R/u���+�
�hO�l��9�~K<k'6l����Y���]UW����):@�2���i�*����K�.vv�~u�����%d�u��Km�.���i�~k�k_�:�����m�BZ�:/�(�>x�q��5k�("���7�+�T����#G����������B���u��i=�9�j�U�-4�>}��B{*��66�~KJ�.����Ple (�s?v��{����1����-�Y;Q�T��=��K����?`���ku��oU�T�u�������-k�O����%�&�T�n�x����[X�:���tw�����oN�i�^}������������xA	x�l��Im�ZS3��Q#���ZQZR��S=Y�`�����*�����\Tf���w�y��9U��0�S����8���
�[��v�H��OUm�*�N���[��������T�����Y�z��:uQ�uJ���L=#Q��������N}W���u�=�Ji4,����4i�
[������{��i����&���'Q��u/��]8�7�&H��d��Jm�w����]�XD7��P;\�n�n�!���X��v�����[S\uR��K��AP���i���]�+=7����]RX�N�~�����y����s9���%K	nZ���{��Wzku
���W(�ID�Iw�f�t	�t%$�u��+�zH��p�f�t:�F�A��p}f�����$��m[r�����w�f��n�Z�\�z��yf�nm��}�����t�t�08�V�*���a���>�vk���T�RZZZ���Q2�g����!Y�k����{���C�a�=S�&���5�:��)�<xp�5�f\_�������5k���_�+v�x��W�CtF;n\�p�"���.n��RB�I�h���d���gD��0"���{�v�jc��g�G��^�VR�vg�Y��
���C�v���$%k>,��~�������M*T��f����Y�k@�w�I<e�sy�YNJ[�����Ksss����L,{�����	��U������-�N�Z���<���}�����uvD��t��i�o�R�J�{����s�}�����xehX�4LZz��s%����q��OR��.8"���7ow"6���g����-%������/LI�F�U�!Y�kA��Dw�����_���@7��6m�	M�v��n���X
�v�����s��DRv��=���S��v�g���,����*Y��+�W������/����)��N�����|�8����4i��z�:uj���m���^�����������<RD����'�|���g��7���K�v�Y���#���I�v�2��nN0eg��8O|
��{jq�);���(��@�$+k����ToJY��aC�.]�V�Z�|��s�jI�z�B����+����M/����t5���7o������zEb9r�H(��(�����Ug233+V���I�����8�d��o����srr*T������g��?��_L+����E���+W�R���n�3g����%��>}�������?���D6��$���e����iX�������&8hX��*���_����oO�s6,k������U�����V<���;��6,���<y��U�TIx�M7l��%�mP�vW�A�
���������]�}��iu������������_~��������>h��U���;W�ZU?�>|�]l���7�x�~����=��ys{��/��.VXX��eK-W���S'�iiiz��o�.����O�'��][x�5��SO=U�m�"d����a!kWWK����]��e�������_u����V�*UZ�j��X��e��]��Z���~�-��n��r��z��v5�td��s�8���w�9s������K���:�7�xC�h��e����yJ�v�-��k�����?���'O���Osss�b���6m��?���s�l�_|�Z����a��Da�o��fKv����Q#-��?�����
7��`�[r���_|�6g���%��+B�.8���D�Nm�S��%���aI<k�aQ����^�\������M�d��Y���q����o�-9q�D~~�V�V���S%�"�!k����?K��(S�������>y0`�v��M����N����������+�v/<~�xFF��;��}��z��iSO�g�yF��b/>�����������}��W*V�n]'u��ZK�|�I��X�=i���m�!k
KR\-
K�Y��
�#�<����
�����!�a���_��:�=s�������W*_�-P��g�)�9���n�P�B�������f�O��{��;�q��+V�\�r�f������dee)p��-_��s����US�-Z������:u�J�**�����W#77W�z��g�[�Z�j�.��K/��=!�0g���M�6�T����e��S�L	8��}��}����rv��O?�.33SqSvv��}��������;z�C=t���g�}�I�&��U�V����?/Y��c��
�n���=z�^���������)v��Y�UE��}Z�
F��g�� �����j����������o|���;��������4H������kx��F�i�j�6o�|�������[{���,��{N�N��J�PWk�J��M���~;��j��g�Sf��!!���z�*�)fa���:���?_/���N�w��SG�Z�n���7o��	�o��)V\_R�����I]�fM\5#F��$%��~����[�nzz�������3�I�m��i����\�pA���5�15#]�v]�r��)��%��?���*�� j�V���o	6,����8�������}���t�2j.�O���O����
��-#�s�S�T���K�$n��5//�F�62��&���.]��gOm�5�:t�;w��oc7,���e����4k5Yj%�jr�m�_����f����<��!Z��wo{�aQ��j��/���_L�P�V�Xw�\��f�6n�X�Z5�h����n��" �N�N����6���QL���)V�~}-?~|FF�����>��S6V�#�<be=�eAA�g5�)���v��U��N�6Mk��t�������}��>�
4�^*X������"�K����S�\9E�w�u���G�������m���l��J�*�t�{������{o�����o��Nqq�>},'��\�m��t�����]���4E�Z��v��<y��jdee)BW�~�-�Xr��~��9������zKez����E�����Y�Tjaff�;{����_��:T��%o����O�#O�H��������^����{����k}�����b��b��[j=�������W�	��z�D�{�����������	�b�p�������dA����cK��f��|�M;L:eT+������y�Sf���6��*�Nm�������j�*��Q�`�N-Ovv���_y������K�Z��7,A�vK�,IOO���>��{��T�����+G�
�����@5/��^xA��6i�����NI��m��Ps�����[���K�be�����*3f�}f^^�K/���i��m���u~�����W��w�}������w��%n���]�=��Z�2�:�\��sO�%t����j/lX���o�O�@R�0kw��y���:?��C�8`en��f-7n�������=�]�v��������vm����n���~�)I�"cq{������Z��s��+�A��Y;���dF��<��o����*8����5k����O?����20����E!����b!j������	Gq��?������#�����N�W^y�:�7����=��q[r���)S�X���V�	&�����c���!Zgw�A���:m��|�j'N�h����#<otR�,k�]��z���N1J�co��#�x��+;(�'���w�K\|��'��w����I��;6��X������s���0k�s��
*�/_�����%�*6=��&[�c����G�?z������v�[�����={v(28�U��7,q�vz�U�c��v������o��K	6,V�����i�-m�����+V��qF`;{���A��a������2hXlz�������w�a}\��+�>�u)�
��S��a	R����V�Z����?��>}Z/�����
���5j��9����&���]��M�6�K	��Ja���O>����HWnn��e�������[�wG�p$��NVN0hY;E��o���W������z����ez�����_T%��}��gzY�V-�H��J����gyw���w��������*Z2�Ybq�xJZ��G����j����[V�7���c�wh��
�������coN�V�� ~N���0�-�a�G���>��S���3����C������� u��m_x�w����������Ul����_}����U��
���s��[�S�8:u��df�g���+���.\��<����f��|�Im��D�BUn������q�B��o������G����;��5�������%n�������{����Q�K+��	7,�����q?;/yyy�d�<����]�����5:Y��iXl�����N���q]5�}��ZN��;w�r
����{N���]l����6�8��Q�F�bN�c��J��L�0A�lh�����H�f�,�y���b�y���Uf����_�#�N	���C*��s���[{�=��%+W��<W�d�l�g!�n��v�J�a�/���������3
3�a�EU�X���E�u��������>����e��Q�b�@s6��]��Un�Fx���bl���U�}��1�8_Z�V-�r���s��������v�v~(���������u���yz��V��=z�fl�c������,{�tO�O����=l]��O��T��uI*��fQQQ���m��xf�+���]��mC�!�b�����ox��:u��u�r�v��m��2���%n�����������=v�X�/M�a���;7n���"#�������ZO1�'kW6
�}�����[-�����Eq����t	]���7,A�����^p�/v���	��|�����8Q?�j��fK��8�U�����M��Y
@��0kg�=���q�D��"&g4���~���C���Y�'���=�#�*A���_��|l�����c��?�=��"�[o���t7w�o��Qb�rg�����?�����M���l����,��X�O�>1��z��W��vQ�Wq��
G���y���g������u���d�<�$����1q��X7� }��L�.1Q�������������aHa�.33S���7��-u�K{����>��v��=4�<<���%n����{���3�V�=P@T	6,��s%�,wv��,��d���s�ve���>t2��;vx���[�������3f�p��oX����mrq6,A��Y�S���������[�|���L�7;
�R���������elhqg�	K������N!���n�8q������^�Z��^n��������J�����a��I����/uf)���?U�mEFF���
/[����>��W�Y;��������5k����W�l�"������c��AQCx��E���fE���
�4i���5e��E�}a������{Nv��?���+����S���%KB���
P�m�6I|�r�6��{�>��1cB���L;/�e����0kgi���,FK�xwN��_���;v��$�
K������,����s�)<Y�����\�8�Yv�ve���>�O��{�n�����d
vJv��IM�{��g
�M�;k��l�lX��_�$B��~��7�^�{D	��g�Zo=���"�Y;��V%(c��	��e'���O1�7��l�����K�.<x�\�r
4pf=��en��%���J��z��<qsb�����4�5����o��%T����8}�tO1�@g��;3�.dF8�r��v;v����AY����o������������R�f��;v
�C�������w�V�B����/Z�����y-��oIH������i���A&M�f�l��������:�r���+k��j'�a���s�1�^�0kg�N�'�������M�b��I�:�n�j;�zT��::���:�����{��������<3���VZ^�n]{y�
�����#@�R>���7�'O�<s��~~���B�F"
�9��y��eq����H
��%��l�E���{_DU���}{����\���+�h�Old�d��
ru\t,Z����Z�P1���f������v���MQQ���[�l�K���y�9^cg�����Y�����_e��/���r������>|x�
���C��26e�������?�����bv��Y�fM�	R�R>���7G2���]�vQ����B;���k�q���M� ���������G��3���Y;�!��z�58N��l�����o�Id/��X��z�����{���oX5juCf����&lX�z}��7n����y���K�5P)�C6++���l�s�=��W�Xae,����,�h��vyyy�o���c��,�E�>���6�_\%��}��zY�J����d����_5���)N�k.^���C���#D����MO1�����'NX�/$����+|�����g�	�&����C���~r/�����a�,d�<�u��!������vZI���A�^�Y����xz�(�NOO�.��w�-�J������e���1�^�GN3�X\����%Z��M���y��l�0kg)���{��fZ��o��V/��������y���R�n]�g�d�f���.��D}2Y
K������fZ�N.Z�HgA�/M�a	����iO<����N�5j���l���j�:w��{��Lg�V�'�W�v���4ty�d���%��nX��{�r���iy������
�MO�k��^`�����+)���?^���['�p$��a���?�7�y^I����yB-kW�bE�Sc6���,�q��A-���?�S���B�-Zh�������(�E��;�X�����S����p�FE�Z:�����cY�e��9e�[p��d���Q�v�_�^a��y�ln���:���e����8�I��l\)gx���'�e���^{�}�����'>�����{�{�g��Y���L�	A��s������U����ZO��/^�#������,�
8p��l���v�������1��0S"�Y��;w�pj�n:
m��������k�e*�^��uOr�	�S^�~����)i��
X7H�'$�a������_-����u��9����Y�
K���;��c��v���C��d��e���>�9�~HV;�RjNm�3�=����k���k��'o�7,A�^�Y��
�Z	�$s�����v���>j�8��kXt��&�"#�:�AU��=mPY�Ka�N6n�h�#egg����r���EP�`��z���F�R�eS(�pGj��S|�����G�V�@�{�����0�,\�0��� k��B_�N-T�_D���-4V��K��
�lbP}��#


a5l����~���B��S���$B7n�%(z��5z��:(���G�M>y��e���P�j�b(�|�
�������Y;E��:uR����6Z�X�V�}��Y�C���Y-[������{���������e �d����?{i+�3��q�^�Y;����c��D�n�����]��_~�<�"q�^{�P[��;����>}����c����a��2��+W�����6���q&K
�v���o��Q���m���~��ww��?���
����|�Nj�����*Tx����W8f�;�T�l�Y��4,q�v�HW���t-l����������iS��!��%`�N{��jC�>|����g\�p�4,�u�uAQ���D��u��w9��[]��=U����R=�9s�=IZ�b��#G��Q��u/��]8p��t�R]����u����`
K8�D�k�*���V��^(��J,�Y�p������n�I���7���G��
By��
c;+J�2e�g���Y�����VU�Z5�W*9o���C�/_��"D��@�)Y�.	-�6o�\����q����b ���z<t��B���,����q�����+�R������D�/^�5kV�f�����
�7m��w�^����={���U��
�TX��������[a������`Y;��S�N�?^a��Q�4t�Pw�pd�|k�R�X����-��>}����Z�������.k������u/)Y�p$���K�v���S�F�`�:v�X[�����1����?c����4�E����Z�PL��AV;A�������u
hO�����]['�l��k��������j1t�����~�Ny}�~~���[�n�����q�]w���~IiX�d���iT�u��dff�i�f��i����	6,�vr��15w����jUU@g��B��RMi7,���v�����V�Z:��(m�����X�'Za��n��}����z�-��0v��kXb���d����
6�����Y����Q��&u�6,F�C�K�G�������+E��7$"�Y�d���g0����B�R]�����kC%%����ve��H��g��"j�>6� ^x��Pb���@��'��]�Y���"+�m���^���v��+f����Hl*�n��������\�Y;�C��������[nnn(���B��U�:��)�<x�
2�V��p��9{��n���z&+,md���a����o��-����AW{�\�r�g�KY;W��7nM<e�������� Y��K������_?�����#e�z}��-�q��5k6h��.]��$��{�v��U��]���L�);}Hj�"`���%���T���;��83<���e�&d�\u~��d�����7|{8�Qj������m��!C�:t����j�n�������T�P�J�*:t�3g����2@������WV�M$e���CR��v4,�-Y�D�s�:u������z���b���_
�v�J����I
endstream
endobj
17 0 obj
<</Filter /FlateDecode
/Length 349>> stream
x��RMO�0��W��4/�c'��	��w`�1��D����4U�����8!�eL�|��W��a��$��zm�^���a��*O�EX?������r}K�C%G�ls�:7��@�>	����.	��'c��,Sb��&�cH�#g���{��A��S�1���M��
������P9�}}S���[���B)H�����)� ��n�������O�'x_����� e����.�$�c&�u���D]��o�*��
�6I
�u��P��K����K�U8�Yj�9�-8���K��wczG�����������6�[��d3�jY��_)MLT���/����}�������H
endstream
endobj
2 0 obj
<</Type /Page
/Resources <</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/ExtGState <</G3 3 0 R
/G5 5 0 R>>
/XObject <</X6 6 0 R
/X8 8 0 R
/X9 9 0 R
/X10 10 0 R>>
/Font <</F4 4 0 R>>>>
/MediaBox [0 0 842 596]
/Contents 11 0 R
/StructParents 0
/Parent 18 0 R>>
endobj
12 0 obj
<</Type /Page
/Resources <</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/ExtGState <</G3 3 0 R
/G5 5 0 R>>
/XObject <</X13 13 0 R
/X14 14 0 R
/X15 15 0 R
/X16 16 0 R>>
/Font <</F4 4 0 R>>>>
/MediaBox [0 0 842 596]
/Contents 17 0 R
/StructParents 1
/Parent 18 0 R>>
endobj
18 0 obj
<</Type /Pages
/Count 2
/Kids [2 0 R 12 0 R]>>
endobj
19 0 obj
<</Type /Catalog
/Pages 18 0 R
/ViewerPreferences <</Type /ViewerPreferences
/DisplayDocTitle true>>>>
endobj
20 0 obj
<</Length1 17344
/Filter /FlateDecode
/Length 8753>> stream
x��z	xTE�����tw������NwH�K���&H$"� �%�D�QG\f�A;�AGPq��qTpFt����Wu����}���}~�������S���SUI�Q<@�����k�Uz��� �7j��IW<�9�HY�t��I�+b3�G�A����TXt������n�R5�~����"*�Kw�����Y
kB�h��3�����o����|c��g/|aE�&"W��nn]L)dA�e�w�^����?�8L����/�3k�%�=|�9 ����Y�F}�	�!s p
�P}��9�^���,E�Q�N,X4�Y�^�/�^������[�h����va��������Z��u��O�/����,��1f7Q
��>�Bf�GL��[���?�	r'���W��VH~z���g>�7��K�N����W:����LJl�G��r>Fy�S1p��I1�����yi3W,Y@��%-�I��2c	i��^H��>�!u����^��(���n����������v|����N2�^Xz��K{%D-��5U"[6�TA5TG��I~�����p�He-�c36�K��Xy�.�.��[�*�J�a�1���� j�7��5�
4�`�A19hS��H�T�����������z�A��c������"g�od&�$��z�`��<����[�@�'F�z�f�l��K�0T��k���������������3t'���r���^����bE���GmQ�a.���biN�W�~�Dy����������F��K����`]O��[!YDb7
����4#WH�RZA����Y������Q�tmvF���7Czf�����,B4�`�����U"���f�#=�'�\mo.Z����h��r4gA�������3m2F�6��7���:�?����cbzS���T�-��Z{S>&ZG�g��D$N�����Y�u�J[-i���T>>6�7�E#=;k�E��Ngo��F������4���My���G:���'$���h$�G:���H2��zS>>ZG���j))�)�(���NN��H=���)���S�#�}�)/I��NOM�H�5�7�E#i=�Y"��������h��������)������x����������������>�o�����h���sE�>������/��h��
������h�_���"Q��I#F��|1h`�tY�  ��V]����#������@4=���7�+�ut�+E�+p���TP��/������q�\���1���Q"��[�\�J��	v�����������R������
�:�=q�V�M,U�����8q���{.]N�(������Zy
�V�Oe���:v������`�sp�-fmz�~�~��'�3�T��O����L������\O���V���hy'����T���o���2}��=z��������E��P{���R����������F���h�Fq�a�>F���.A��R'�@���f3�������������Kl��urUW9,f����9��1z�^f^�8_d��A�J�u��4��J~����#\�<����������x�}��i!���<����,���W�f��_G�G�X���6�_�[�_����uP�����x�<����Z���
v�W�����r�z�����>����~���X	���cs��l
�-����^fG�H^������"�oj�$�U��p��Z������]�t}������U���t;F������!f`V��1��~�p9������{�v��2;�>e_�������<�{x6��/���M�6��e��NIV���2X)S�E�������4u����E�����-��
ONm�+�d~���O��<�E]k�6vuvm�?�_O�����+C���a�7b�=H�1l����v,3��c�K`���&�g��������8�l�����`^��!��[�E�~#�����+&��8�D%_�4*-�Re��Q	)/(�+����t5Fu���_
�����2�v��z�0����cc�q��c���i�i�i�i����������	��Iz����Ae�R�<D���j*����<�f)c8V*������v�c��8�cc����������|�2���I4���fLP�M}����bl/��K�6v9?n�Q'�=�U�)��P��w��I���UcX2;�����*��:�PO�6z@��]Fq������������X�V�����**V�U4��E�����-l�:�����R:B�`W�.4��s|�����v���])�a�!��f��&�q�6n���:�����P��'������H_E+���l6)l
����n�*E���*���v`w�����$+������~?�b��?^�%�n��a�m�e�:x=�5�������l�P��
������-�1m�-lu�op����9��1����������$������},�����8%�FnW��IT��������V�Ag�G����he
��;�e1��M����Y���8z��l2P�)�9�W1��P��/UZ���`� ���g]�rr��`���e����4�h@��~}�y}r��o�Gsgef����$'%&����\iq+7��U���V{k����)����G��������Q��:!�I�igj�y�h#��S����QYA_����^��ja6uB=����
Z����H����{<(�U����B�I��\<����
�uXc*��-1}�#�
�
.��]���G0�����x����P���:���=)���Y������=����!V9�;#D���# U�R62V�L�m�
]�u����>��M�,���i�!��A�@�U�����N�rWe�����J{u�\M$���h�;&����lh@(�}5M�5hz=�X;ICk|uC}��F���Ud|-�j!i���,�
���yM����M\��LK��RZ��^W������
�U	�>q�����zfNA�g\����(c��dZN�IN��v�)�2�#�YX!m����{1�-%�>�j�J�faF��,�M���B.��>�Wk�����>;S��}��H�b��Zj���C�@(?_,S%�}!���^�^�b������ms��B���|m8H3��M���5���I��@C�7��=�9��EN[w���M^�����I�!������_=gh�%�O�["�������k��MQ�����������r���z%�G9���\,�i��E��R}�1�E=+l2cUJ	�jB���l��xzY(���dt�X�����3���H��=[���������sF�Z����V<��{��M����'��)��
�d�B�/"�&�PL��
���,�[G��^��j�����z�������O�'�W7u/������P���j�M������N���������\[[W���l�h��A^�N�((�\H�P$4��Z�Avr��O�$j������0#)3w������-���YP��'|Le]}��#�d�a;�N�����~�Q%������t�Tr���a�`X�ns%9F(�,����V����+Y�;�W��@�v�^��"W-m9J������#s�T�M�J2� ���B�8�t��f�Q�	�"����2'�$w�8}O��VF��-(���HrZ�Ln;�!�������
��
�����}#��W�&�{���IJ���/2����s��H!W�QIPqm��m�����0<;���u���F�p�'�����H?�-6�h����!z���C��
~P�X��
�:2�� �����BP9h:h3h7�8���:�{�?I|9����N�.��.����]{����h�d�Q���2��Q��T��v~����LcE=�d��=P���
p�������0?�M�����N!GO^G���j-���
j��a�� ���z������ 3�����N�{d.���1��/�ge�Z����d��,�����YniE>���q!�
��m9.�>2������BP9hh:h��w���Yn*y���	������������+�5����6k��<��x+����N������W�'���bp������:���:p�0����\w���L���a����rXi9�x"�w���:��a�M�@^��mk{��Mdmw���v9k[���X���-��2X[k��GX	L�����H�SX�>������6?k�������`�{:�(�jm)6��#�}��z��=�	���A�L��eG�S�D��-�<��7�h����I|��$}R1AOb=�J�D`9h:h�8H����o����A�AW�����;�A�E����Xa���D�?� ��	f:3��heCsd�qYz/&��\W�9.��;�����,#-�z��217D�
��e������G�#�-��b��R�3�j����a� ���#.����b�N_�.+J�p������0{4���ZXe���Cr���������<�3D�4��3���u�T]��M���E��}Y�(�����8����=�?�=�Ue�p[Q�wy������`Qf��?�����l^�l��%+�\fs�}MM��qx����<&�)��nJ0��Ns��f�1��F�j�f2'�������_�Q�����?
J��I�YQ���33��.����I�6�g&���B_O��Yn+o�j���"T�
�����@m�4�����o�4������3]�V��w�Nb,n�u�"�����JI��<��5"����g�)���_�|fhc����}�
�"���
������N�;Q]��}.������E�D!WFT54����G�zX1�K=3f�G�9+��)��Cy���z����b�z*z�9�U99R'Y�V�����������'u��h�����&tB#�JFT�2�
K���������*�Q�u�T���vZ'#�c?��c?�@o���@�m�0s�xt5y�[@M�k/��j��i3��1���sD��j��T�fz���a�~&{������i�u���-U�������U
�F�T|F[�N�5h��T6^T6H�5��g��E�(�V�h�X�5*8J�Er����0SE��2���1X�M����$��r���\����-d������$�
F�Y�S"+V���Y)����b[�YN���X��u�T�������h�2a�Z�C^5�U�K�jC��jC���v�L�6�!��v���j��#�~BE9�(deBf�D:���q��m��m,���Rk�����pu�'�.���������k��#��@�"ic�����\�K�q�$��v���'�8e���Px.�r��_�'���}�QS��4���{D�F"�S�.��1��V�$U�2�g�'�j�w��o��j�qn�2�bK��*�UVcn�EI���J������m�����Z#L0�ng�we����QFf�=���82���.Y�����vJ���6��O6��O�>���nm6�Y�
�
�`��|����k����Em>�-C�f�u��W��������bE�����1��%ul�KF���v��(c��`��5�MK	8��LHc�I`�X�s�et�O�e'��J��'�J!�+�s�2Wr�����
��%%%&Mc��y���<���b��G�����<�z����m{|}����U%g��\y{��l�����C�n^�����ag����}�mvG�eb\�c�Z���&[����+�oV�j��n4d��L�d"E�Gf�m����YU�4�E��"�g�_�/h����)����i�a���nk5���6d����<j�Fa��a�D��-��?~�C'�vm������������)������e�e�!S���U�S4h�h���/���U"[7c�f\a��6W� �'�e�����A�h����k[�?�}g4�����b��8[�d���0c������1k���u�Gc�8��6��H��s�9lW:��%�]qN���b�$%��f%��&�(���L�l9U))G�9�{odu��,�7,r��co3�-+7Y�4��h��kF�����9m9JNv���9�)r�Sz;�����=��v��w����qg��J��Dw�!:���I$J�YX\r���~�e��b����wm������R�sh�k(D
�"��c��������R(6�Q��N�A���Jzl����x�������8��v�z���{_X���1}&������-��~��\�q�-ww�7����������]�up�����2e`��Qs��n�~D���5����I����������OX+Yp)N1��$��]����v3�L�����������L�UY�����JiF�r����jwUNM�$��4-��>��c�b��9��f|������f�r�#�������\�k�����9J�o�W_u�Tm�w�o�u�}~�	-)+�+�+�9�����Q���������s���h������a��
x��t�����Dyi.�h��Z��+����t_�� +��|�$�8�!b�*�de%)T~��X.��Y�X��HH�rb�V�GY��dTnd��l��)���b�oHci�����=�'��x������Y([ �M��g["�E�_t��r��S�����'��n�E�yiE�(����c�����|&�]���%jsH�U'vk�����-�*N$��a��j�U��1�'	�RX��T����x��m�z&���/��#�#�����4d�@��dN�lcbBr��,7��������}���-�o��i��L�;��/n���k�[�
�YZ���o[y�|�����7�^wnEkU�lors����E�������k�_u�����������.�T���8�v�0��`�Q�/�D�I��$S���;��w�8�
���$"����A��8�xf���,a��MS��7��F��B�)�b�7��g���u�_t_"u{���b�v�E�����O`�p�}�����������q'!���T���
��[��7���<�W������s��g\�M`�XX2��i�����@UJ�r,��O9u�x��`���$+�s����b��\b)���*��q�k.� ��vpb{4�Dc�8z�Q��"`9[n�~5�����w
Q���ZE���uj�y�ujl�k6kQ���[������+��e,w-��Fm7��������V�3���e~;�
����h�'��8���	��Mh5�|�M0Q�b�Qb�3%&�(���X�9���d��gSy���	"J6Mf���?�*��xG����N{�+>���v�b���2���[b��5�$Yn�k6%�fSb,E�<�n���\�����4[��ma6�a-���=1JL����7s��c�������N�	�`�F�	�Ox�p��~��:�dc�����5�[�R�I���U���~�5��]�/ED$FSZ�p��u����������A������b�����5����5%�>�@gzi|$Ra������R�����R������x�
���\�JJn�]�LQ��d;��Kr���j��g��)�����Y|2d����|'��/����k cYR��bD����F���.�3�;����v�$�����H������Z��|��l��1?~����gu��='����(�3F)���{�[�Nf2�]���$�P��_++�F6����X��PN���8����8`<��	L�@I�L�D`
�{J�d�i�
>���3)�E�w���Q&�Cn`6i@/�[�!�G�@?��%/���������k�K}��Q>����T����p Q�K,q
�@`	
��M���`�0�e48���#�XN������4XAe�J��TE���4XC��	EA�h	<�*�gK��J�9TC5�q+q�����	t��/�(q�
��Z�M�1�)����z�F
48x���	���$`#���8�&���&�l�s�3������ES�-t��?���P#p.���y�~���\H3 ��fI\L��#t���l`���4G����\��4��1]B��+h!p%]���Ki�2Z��.�?�+$�Q+p-^I�t�?D�����������V��J�:���!����k�2H�?���r��tp��<H��+�7�U�����t���i5p#��Bk��{�t+�n�v�����F���x;]�L�w�
�;���]�[��t#�O�;���&�=��n�����F��x��������V�_��������!��|�:i3p��Nw�o�Ct�����0�	�?w�=�]�-�G�^�M��|L�n����
|�����O�����B���C�;=-��>K����9��G����a�����N/�N�~�/�.�+�(�U����|�^������7h��
�)�-z�6=	|�����=|���g�����9}?}H����y�a�����E�'�����DG%~J��A��/�?�5�g������t�����9�������~)�+zO����������}�}����?J<I�����>��1��>���O��W����k���/��O�����O?���I/|�G�|��3|��_����O?��~H��C=|�!��I�~��O��'>�����O?�+��o������������|���������tO��O��O�y�������^��
endstream
endobj
21 0 obj
<</Type /FontDescriptor
/FontName /AAAAAA+ArialMT
/Flags 4
/Ascent 905.27344
/Descent -211.91406
/StemV 45.898438
/CapHeight 715.82031
/ItalicAngle 0
/FontBBox [-664.55078 -324.70703 2000 1005.85938]
/FontFile2 20 0 R>>
endobj
22 0 obj
<</Type /Font
/FontDescriptor 21 0 R
/BaseFont /AAAAAA+ArialMT
/Subtype /CIDFontType2
/CIDToGIDMap /Identity
/CIDSystemInfo <</Registry (Adobe)
/Ordering (Identity)
/Supplement 0>>
/W [37 [666.99219 0 0 0 610.83984] 53 [722.16797 666.99219 610.83984 0 0 0 666.99219]]
/DW 750>>
endobj
23 0 obj
<</Filter /FlateDecode
/Length 253>> stream
x�]P�j� ��w��x����}��E��0z�
��1��}�*(��=����V+�����Ai�p6�=�J�����Pz��-���������!M@?;{���A��}s��#.�.�n��'�
�HB���|B��vle��_�����\-B�p��F�l�@����)�a�<��j������wQ]���(�+��}F7	��	��R��)��Q�fu��3G�������P-�3u�m��}������D'�
endstream
endobj
4 0 obj
<</Type /Font
/Subtype /Type0
/BaseFont /AAAAAA+ArialMT
/Encoding /Identity-H
/DescendantFonts [22 0 R]
/ToUnicode 23 0 R>>
endobj
xref
0 24
0000000000 65535 f 
0000000015 00000 n 
0000421337 00000 n 
0000000108 00000 n 
0000431770 00000 n 
0000000145 00000 n 
0000000602 00000 n 
0000000231 00000 n 
0000055362 00000 n 
0000106850 00000 n 
0000161523 00000 n 
0000211974 00000 n 
0000421612 00000 n 
0000212404 00000 n 
0000266084 00000 n 
0000318503 00000 n 
0000371402 00000 n 
0000420917 00000 n 
0000421894 00000 n 
0000421957 00000 n 
0000422076 00000 n 
0000430916 00000 n 
0000431152 00000 n 
0000431446 00000 n 
trailer
<</Size 24
/Root 19 0 R
/Info 1 0 R>>
startxref
431909
%%EOF
v20240330-0001-pg_combinebackup-allow-using-clone-copy_fi.patchtext/x-patch; charset=UTF-8; name=v20240330-0001-pg_combinebackup-allow-using-clone-copy_fi.patchDownload
From 46e71714df796ae53b0e0881d63277a3c17da654 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Tue, 19 Mar 2024 15:16:29 +0100
Subject: [PATCH v20240330 1/4] pg_combinebackup - allow using
 clone/copy_file_range

---
 doc/src/sgml/ref/pg_combinebackup.sgml      |  46 ++++++
 src/bin/pg_combinebackup/copy_file.c        | 170 ++++++++++++++++----
 src/bin/pg_combinebackup/copy_file.h        |  18 ++-
 src/bin/pg_combinebackup/pg_combinebackup.c |  18 ++-
 src/bin/pg_combinebackup/reconstruct.c      |   5 +-
 src/bin/pg_combinebackup/reconstruct.h      |   3 +-
 6 files changed, 219 insertions(+), 41 deletions(-)

diff --git a/doc/src/sgml/ref/pg_combinebackup.sgml b/doc/src/sgml/ref/pg_combinebackup.sgml
index 6f90dba281f..70310c31985 100644
--- a/doc/src/sgml/ref/pg_combinebackup.sgml
+++ b/doc/src/sgml/ref/pg_combinebackup.sgml
@@ -185,6 +185,52 @@ PostgreSQL documentation
       </listitem>
      </varlistentry>
 
+     <varlistentry>
+      <term><option>--clone</option></term>
+      <listitem>
+       <para>
+        Use efficient file cloning (also known as <quote>reflinks</quote> on
+        some systems) instead of copying files to the new data directory,
+        which can result in near-instantaneous copying of the data files.
+       </para>
+
+       <para>
+        File cloning may be used only when the checksums match in the backup
+        manifests. If a backup manifest is not available or does not contain
+        checksum of the right type, the file will be copied block-by-block
+        as if the <option>--clone</option> option was not specified.
+       </para>
+
+       <para>
+        File cloning is only supported on some operating systems and file
+        systems.  If it is selected but not supported, the
+        <application>pg_combinebackup</application> run will error.  At present,
+        it is supported on Linux (kernel 4.5 or later) with Btrfs and XFS (on
+        file systems created with reflink support), and on macOS with APFS.
+       </para>
+      </listitem>
+     </varlistentry>
+
+     <varlistentry>
+      <term><option>--copy-file-range</option></term>
+      <listitem>
+       <para>
+        Use the <function>copy_file_range</function> system call for efficient
+        copying.  On some file systems this gives results similar to
+        <option>--clone</option>, sharing physical disk blocks, while on others
+        it may still copy blocks, but do so via an optimized path.  At present,
+        it is supported on Linux and FreeBSD.
+       </para>
+
+       <para>
+        <function>copy_file_range</function> may be used only when the
+        checksums match in the backup manifests. If a backup manifest is not
+        available or does not contain checksum of the right type, the file will
+        be copied block-by-block as if the option was not specified.
+       </para>
+      </listitem>
+     </varlistentry>
+
      <varlistentry>
        <term><option>-V</option></term>
        <term><option>--version</option></term>
diff --git a/src/bin/pg_combinebackup/copy_file.c b/src/bin/pg_combinebackup/copy_file.c
index e6d2423278a..be8336f7120 100644
--- a/src/bin/pg_combinebackup/copy_file.c
+++ b/src/bin/pg_combinebackup/copy_file.c
@@ -14,6 +14,7 @@
 #include <copyfile.h>
 #endif
 #include <fcntl.h>
+#include <limits.h>
 #include <sys/stat.h>
 #include <unistd.h>
 
@@ -24,6 +25,10 @@
 static void copy_file_blocks(const char *src, const char *dst,
 							 pg_checksum_context *checksum_ctx);
 
+static void copy_file_clone(const char *src, const char *dst);
+
+static void copy_file_by_range(const char *src, const char *dst);
+
 #ifdef WIN32
 static void copy_file_copyfile(const char *src, const char *dst);
 #endif
@@ -35,8 +40,12 @@ static void copy_file_copyfile(const char *src, const char *dst);
  */
 void
 copy_file(const char *src, const char *dst,
-		  pg_checksum_context *checksum_ctx, bool dry_run)
+		  pg_checksum_context *checksum_ctx, bool dry_run,
+		  CopyMethod copy_method)
 {
+	char   *strategy_name = NULL;
+	void	(*strategy_implementation) (const char *, const char *) = NULL;
+
 	/*
 	 * In dry-run mode, we don't actually copy anything, nor do we read any
 	 * data from the source file, but we do verify that we can open it.
@@ -52,57 +61,80 @@ copy_file(const char *src, const char *dst,
 	}
 
 	/*
+	 * If we need to compute a checksum, but the user perhaps requested
+	 * a special copy method that does not support this, fallback to the
+	 * default block-by-block copy. We don't want to fail if just one of
+	 * many files requires checksum, etc.
+	 *
 	 * If we don't need to compute a checksum, then we can use any special
 	 * operating system primitives that we know about to copy the file; this
-	 * may be quicker than a naive block copy.
+	 * may be quicker than a naive block copy. We only do this for WIN32.
+	 * On other operating systems the user has to explicitly specify one of
+	 * the available primitives - there may be multiple, we don't know which
+	 * are reliable/preferred.
 	 */
-	if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
+	if (checksum_ctx->type != CHECKSUM_TYPE_NONE)
 	{
-		char	   *strategy_name = NULL;
-		void		(*strategy_implementation) (const char *, const char *) = NULL;
-
+		/* fallback to block-by-block copy */
+		copy_method = COPY_METHOD_COPY;
+	}
 #ifdef WIN32
-		strategy_name = "CopyFile";
-		strategy_implementation = copy_file_copyfile;
+	else
+	{
+		copy_method = COPY_METHOD_COPYFILE;
+	}
 #endif
 
-		if (strategy_name != NULL)
-		{
-			if (dry_run)
-				pg_log_debug("would copy \"%s\" to \"%s\" using strategy %s",
-							 src, dst, strategy_name);
-			else
-			{
-				pg_log_debug("copying \"%s\" to \"%s\" using strategy %s",
-							 src, dst, strategy_name);
-				(*strategy_implementation) (src, dst);
-			}
-			return;
-		}
+	/* Determine the name of the copy strategy for use in log messages. */
+	switch (copy_method)
+	{
+		case COPY_METHOD_CLONE:
+			strategy_name = "clone";
+			strategy_implementation = copy_file_clone;
+			break;
+		case COPY_METHOD_COPY:
+			/* leave NULL for simple block-by-block copy */
+			break;
+		case COPY_METHOD_COPY_FILE_RANGE:
+			strategy_name = "copy_file_range";
+			strategy_implementation = copy_file_by_range;
+			break;
+#ifdef WIN32
+		case COPY_METHOD_COPYFILE:
+			strategy_name = "CopyFile";
+			strategy_implementation = copy_file_copyfile;
+			break;
+#endif
 	}
 
-	/*
-	 * Fall back to the simple approach of reading and writing all the blocks,
-	 * feeding them into the checksum context as we go.
-	 */
 	if (dry_run)
 	{
-		if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
+		if (strategy_name)
+			pg_log_debug("would copy \"%s\" to \"%s\" using strategy %s",
+						 src, dst, strategy_name);
+		else
 			pg_log_debug("would copy \"%s\" to \"%s\"",
 						 src, dst);
-		else
-			pg_log_debug("would copy \"%s\" to \"%s\" and checksum with %s",
-						 src, dst, pg_checksum_type_name(checksum_ctx->type));
 	}
 	else
 	{
-		if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
-			pg_log_debug("copying \"%s\" to \"%s\"",
-						 src, dst);
+		if (strategy_name)
+		{
+			pg_log_debug("copying \"%s\" to \"%s\" using strategy %s",
+						 src, dst, strategy_name);
+			strategy_implementation(src, dst);
+		}
 		else
-			pg_log_debug("copying \"%s\" to \"%s\" and checksumming with %s",
-						 src, dst, pg_checksum_type_name(checksum_ctx->type));
-		copy_file_blocks(src, dst, checksum_ctx);
+		{
+			if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
+				pg_log_debug("copying \"%s\" to \"%s\"",
+							 src, dst);
+			else
+				pg_log_debug("copying \"%s\" to \"%s\" and checksumming with %s",
+							 src, dst, pg_checksum_type_name(checksum_ctx->type));
+
+			copy_file_blocks(src, dst, checksum_ctx);
+		}
 	}
 }
 
@@ -156,6 +188,74 @@ copy_file_blocks(const char *src, const char *dst,
 	close(dest_fd);
 }
 
+/*
+ * copy_file_clone
+ *		Clones/reflinks a file from src to dest.
+ */
+static void
+copy_file_clone(const char *src, const char *dest)
+{
+#if defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE)
+	if (copyfile(src, dest, NULL, COPYFILE_CLONE_FORCE) < 0)
+		pg_fatal("error while cloning file \"%s\" to \"%s\": %m", src, dest);
+#elif defined(__linux__) && defined(FICLONE)
+	{
+		if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+			pg_fatal("could not open file \"%s\": %m", src);
+
+		if ((dest_fd = open(dest, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+							pg_file_create_mode)) < 0)
+			pg_fatal("could not create file \"%s\": %m", dest);
+
+		if (ioctl(dest_fd, FICLONE, src_fd) < 0)
+		{
+			int			save_errno = errno;
+
+			unlink(dest);
+
+			pg_fatal("error while cloning file \"%s\" to \"%s\": %s",
+					 src, dest);
+		}
+	}
+#else
+	pg_fatal("file cloning not supported on this platform");
+#endif
+}
+
+/*
+ * copy_file_by_range
+ *		Copies a file from src to dest using copy_file_range system call.
+ */
+static void
+copy_file_by_range(const char *src, const char *dest)
+{
+#if defined(HAVE_COPY_FILE_RANGE)
+	int			src_fd;
+	int			dest_fd;
+	ssize_t		nbytes;
+
+	if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+		pg_fatal("could not open file \"%s\": %m", src);
+
+	if ((dest_fd = open(dest, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+						pg_file_create_mode)) < 0)
+		pg_fatal("could not create file \"%s\": %m", dest);
+
+	do
+	{
+		nbytes = copy_file_range(src_fd, NULL, dest_fd, NULL, SSIZE_MAX, 0);
+		if (nbytes < 0)
+			pg_fatal("error while copying file range from \"%s\" to \"%s\": %m",
+					 src, dest);
+	} while (nbytes > 0);
+
+	close(src_fd);
+	close(dest_fd);
+#else
+	pg_fatal("copy_file_range not supported on this platform");
+#endif
+}
+
 #ifdef WIN32
 static void
 copy_file_copyfile(const char *src, const char *dst)
diff --git a/src/bin/pg_combinebackup/copy_file.h b/src/bin/pg_combinebackup/copy_file.h
index 0f6bc09403f..9615595d887 100644
--- a/src/bin/pg_combinebackup/copy_file.h
+++ b/src/bin/pg_combinebackup/copy_file.h
@@ -11,9 +11,25 @@
 #ifndef COPY_FILE_H
 #define COPY_FILE_H
 
+#include "c.h"
 #include "common/checksum_helper.h"
+#include "common/file_utils.h"
+
+/*
+ * Enumeration to denote copy modes
+ */
+typedef enum CopyMethod
+{
+	COPY_METHOD_CLONE,
+	COPY_METHOD_COPY,
+	COPY_METHOD_COPY_FILE_RANGE,
+#ifdef WIN32
+	COPY_METHOD_COPYFILE,
+#endif
+} CopyMethod;
 
 extern void copy_file(const char *src, const char *dst,
-					  pg_checksum_context *checksum_ctx, bool dry_run);
+					  pg_checksum_context *checksum_ctx, bool dry_run,
+					  CopyMethod copy_method);
 
 #endif							/* COPY_FILE_H */
diff --git a/src/bin/pg_combinebackup/pg_combinebackup.c b/src/bin/pg_combinebackup/pg_combinebackup.c
index 74f8be9eeac..76a63d826a7 100644
--- a/src/bin/pg_combinebackup/pg_combinebackup.c
+++ b/src/bin/pg_combinebackup/pg_combinebackup.c
@@ -69,6 +69,7 @@ typedef struct cb_options
 	pg_checksum_type manifest_checksums;
 	bool		no_manifest;
 	DataDirSyncMethod sync_method;
+	CopyMethod	copy_method;
 } cb_options;
 
 /*
@@ -129,6 +130,8 @@ main(int argc, char *argv[])
 		{"manifest-checksums", required_argument, NULL, 1},
 		{"no-manifest", no_argument, NULL, 2},
 		{"sync-method", required_argument, NULL, 3},
+		{"clone", no_argument, NULL, 4},
+		{"copy-file-range", no_argument, NULL, 5},
 		{NULL, 0, NULL, 0}
 	};
 
@@ -156,6 +159,7 @@ main(int argc, char *argv[])
 	memset(&opt, 0, sizeof(opt));
 	opt.manifest_checksums = CHECKSUM_TYPE_CRC32C;
 	opt.sync_method = DATA_DIR_SYNC_METHOD_FSYNC;
+	opt.copy_method = COPY_METHOD_COPY;
 
 	/* process command-line options */
 	while ((c = getopt_long(argc, argv, "dnNPo:T:",
@@ -192,6 +196,12 @@ main(int argc, char *argv[])
 				if (!parse_sync_method(optarg, &opt.sync_method))
 					exit(1);
 				break;
+			case 4:
+				opt.copy_method = COPY_METHOD_CLONE;
+				break;
+			case 5:
+				opt.copy_method = COPY_METHOD_COPY_FILE_RANGE;
+				break;
 			default:
 				/* getopt_long already emitted a complaint */
 				pg_log_error_hint("Try \"%s --help\" for more information.", progname);
@@ -696,6 +706,8 @@ help(const char *progname)
 			 "                            use algorithm for manifest checksums\n"));
 	printf(_("      --no-manifest         suppress generation of backup manifest\n"));
 	printf(_("      --sync-method=METHOD  set method for syncing files to disk\n"));
+	printf(_("      --clone               clone (reflink) instead of copying files\n"));
+	printf(_("      --copy-file-range     copy using copy_file_range() syscall\n"));
 	printf(_("  -?, --help                show this help, then exit\n"));
 
 	printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
@@ -937,7 +949,8 @@ process_directory_recursively(Oid tsoid,
 											  &checksum_length,
 											  &checksum_payload,
 											  opt->debug,
-											  opt->dry_run);
+											  opt->dry_run,
+											  opt->copy_method);
 		}
 		else
 		{
@@ -993,7 +1006,8 @@ process_directory_recursively(Oid tsoid,
 
 			/* Actually copy the file. */
 			snprintf(ofullpath, MAXPGPATH, "%s/%s", ofulldir, de->d_name);
-			copy_file(ifullpath, ofullpath, &checksum_ctx, opt->dry_run);
+			copy_file(ifullpath, ofullpath, &checksum_ctx, opt->dry_run,
+					  opt->copy_method);
 
 			/*
 			 * If copy_file() performed a checksum calculation for us, then
diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index 41f06bb26b5..a7f219fa180 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -90,7 +90,8 @@ reconstruct_from_incremental_file(char *input_filename,
 								  int *checksum_length,
 								  uint8 **checksum_payload,
 								  bool debug,
-								  bool dry_run)
+								  bool dry_run,
+								  CopyMethod copy_method)
 {
 	rfile	  **source;
 	rfile	   *latest_source = NULL;
@@ -319,7 +320,7 @@ reconstruct_from_incremental_file(char *input_filename,
 	 */
 	if (copy_source != NULL)
 		copy_file(copy_source->filename, output_filename,
-				  &checksum_ctx, dry_run);
+				  &checksum_ctx, dry_run, copy_method);
 	else
 	{
 		write_reconstructed_file(input_filename, output_filename,
diff --git a/src/bin/pg_combinebackup/reconstruct.h b/src/bin/pg_combinebackup/reconstruct.h
index 8e33a8a95a0..532cd81052d 100644
--- a/src/bin/pg_combinebackup/reconstruct.h
+++ b/src/bin/pg_combinebackup/reconstruct.h
@@ -28,6 +28,7 @@ extern void reconstruct_from_incremental_file(char *input_filename,
 											  int *checksum_length,
 											  uint8 **checksum_payload,
 											  bool debug,
-											  bool dry_run);
+											  bool dry_run,
+											  CopyMethod copy_method);
 
 #endif
-- 
2.44.0

v20240330-0002-write_reconstructed_file.patchtext/x-patch; charset=UTF-8; name=v20240330-0002-write_reconstructed_file.patchDownload
From 14c0922f8ffe31da2965daf3baf881ca2bb4db68 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Sat, 23 Mar 2024 18:26:21 +0100
Subject: [PATCH v20240330 2/4] write_reconstructed_file

---
 src/bin/pg_combinebackup/reconstruct.c | 33 +++++++++++++++++++++++---
 1 file changed, 30 insertions(+), 3 deletions(-)

diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index a7f219fa180..2689d65efba 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -59,7 +59,8 @@ static void write_reconstructed_file(char *input_filename,
 									 off_t *offsetmap,
 									 pg_checksum_context *checksum_ctx,
 									 bool debug,
-									 bool dry_run);
+									 bool dry_run,
+									 CopyMethod copy_method);
 static void read_bytes(rfile *rf, void *buffer, unsigned length);
 
 /*
@@ -325,7 +326,8 @@ reconstruct_from_incremental_file(char *input_filename,
 	{
 		write_reconstructed_file(input_filename, output_filename,
 								 block_length, sourcemap, offsetmap,
-								 &checksum_ctx, debug, dry_run);
+								 &checksum_ctx, debug, dry_run,
+								 copy_method);
 		debug_reconstruction(n_prior_backups + 1, source, dry_run);
 	}
 
@@ -528,7 +530,8 @@ write_reconstructed_file(char *input_filename,
 						 off_t *offsetmap,
 						 pg_checksum_context *checksum_ctx,
 						 bool debug,
-						 bool dry_run)
+						 bool dry_run,
+						 CopyMethod copy_method)
 {
 	int			wfd = -1;
 	unsigned	i;
@@ -630,6 +633,30 @@ write_reconstructed_file(char *input_filename,
 		if (dry_run)
 			continue;
 
+		/*
+		 * If requested, copy the block using copy_file_range.
+		 *
+		 * We can'd do this if the block needs to be zero-filled or when we
+		 * need to update checksum.
+		 */
+		if ((copy_method == COPY_METHOD_COPY_FILE_RANGE) &&
+			(s != NULL) && (checksum_ctx->type == CHECKSUM_TYPE_NONE))
+		{
+#if defined(HAVE_COPY_FILE_RANGE)
+			wb = copy_file_range(s->fd, &offsetmap[i], wfd, NULL, BLCKSZ, 0);
+
+			if (wb < 0)
+				pg_fatal("error while copying file range from \"%s\" to \"%s\": %m",
+						 input_filename, output_filename);
+			else if (wb != BLCKSZ)
+				pg_fatal("could not write file \"%s\": wrote only %d of %d bytes",
+						 output_filename, wb, BLCKSZ);
+#else
+			pg_fatal("copy_file_range not supported on this platform");
+#endif
+			continue;
+		}
+
 		/* Read or zero-fill the block as appropriate. */
 		if (s == NULL)
 		{
-- 
2.44.0

v20240330-0003-extend-use-of-copy_file_range.patchtext/x-patch; charset=UTF-8; name=v20240330-0003-extend-use-of-copy_file_range.patchDownload
From df840f7ae979d0e849511f74b3b25806b156ada3 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Sat, 30 Mar 2024 17:41:27 +0100
Subject: [PATCH v20240330 3/4] extend use of copy_file_range

---
 src/bin/pg_combinebackup/pg_combinebackup.c | 29 +++++++++
 src/bin/pg_combinebackup/reconstruct.c      | 66 +++++++++++++--------
 2 files changed, 71 insertions(+), 24 deletions(-)

diff --git a/src/bin/pg_combinebackup/pg_combinebackup.c b/src/bin/pg_combinebackup/pg_combinebackup.c
index 76a63d826a7..4f3d7747ce6 100644
--- a/src/bin/pg_combinebackup/pg_combinebackup.c
+++ b/src/bin/pg_combinebackup/pg_combinebackup.c
@@ -223,6 +223,35 @@ main(int argc, char *argv[])
 	if (opt.no_manifest)
 		opt.manifest_checksums = CHECKSUM_TYPE_NONE;
 
+	/* Check that the platform supports the requested copy method. */
+	if (opt.copy_method == COPY_METHOD_CLONE)
+	{
+#if (defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE)) || \
+	(defined(__linux__) && defined(FICLONE))
+
+		if (opt.dry_run)
+			pg_log_debug("would use cloning to copy files");
+		else
+			pg_log_debug("will use cloning to copy files");
+
+#else
+		pg_fatal("file cloning not supported on this platform");
+#endif
+	}
+	else if (opt.copy_method == COPY_METHOD_COPY_FILE_RANGE)
+	{
+#if defined(HAVE_COPY_FILE_RANGE)
+
+		if (opt.dry_run)
+			pg_log_debug("would use copy_file_range to copy blocks");
+		else
+			pg_log_debug("will use copy_file_range to copy blocks");
+
+#else
+		pg_fatal("copy_file_range not supported on this platform");
+#endif
+	}
+
 	/* Read the server version from the final backup. */
 	version = read_pg_version_file(argv[argc - 1]);
 
diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index 2689d65efba..dadf92cbfde 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -619,6 +619,9 @@ write_reconstructed_file(char *input_filename,
 		rfile	   *s = sourcemap[i];
 		int			wb;
 
+		bool		skip_page_read = false;
+		bool		use_copy_range = false;
+
 		/* Update accounting information. */
 		if (s == NULL)
 			++zero_blocks;
@@ -634,28 +637,23 @@ write_reconstructed_file(char *input_filename,
 			continue;
 
 		/*
-		 * If requested, copy the block using copy_file_range.
+		 * Do we need to actually read the souce block?
 		 *
-		 * We can'd do this if the block needs to be zero-filled or when we
-		 * need to update checksum.
+		 * We only need to read the block if we are to perform plain copy or
+		 * calculate the checksum. If the user requested copy_file_range, we
+		 * may be able to skip reading the block.
 		 */
-		if ((copy_method == COPY_METHOD_COPY_FILE_RANGE) &&
-			(s != NULL) && (checksum_ctx->type == CHECKSUM_TYPE_NONE))
-		{
-#if defined(HAVE_COPY_FILE_RANGE)
-			wb = copy_file_range(s->fd, &offsetmap[i], wfd, NULL, BLCKSZ, 0);
+		skip_page_read = ((copy_method == COPY_METHOD_COPY_FILE_RANGE) &&
+						  (checksum_ctx->type == CHECKSUM_TYPE_NONE));
 
-			if (wb < 0)
-				pg_fatal("error while copying file range from \"%s\" to \"%s\": %m",
-						 input_filename, output_filename);
-			else if (wb != BLCKSZ)
-				pg_fatal("could not write file \"%s\": wrote only %d of %d bytes",
-						 output_filename, wb, BLCKSZ);
-#else
-			pg_fatal("copy_file_range not supported on this platform");
-#endif
-			continue;
-		}
+		/*
+		 * Should we copy the block using copy_file_range?
+		 *
+		 * We can do that if the user requested that, and the block is not
+		 * going to be zero-filled.
+		 */
+		use_copy_range = ((copy_method == COPY_METHOD_COPY_FILE_RANGE) &&
+						  (s != NULL));
 
 		/* Read or zero-fill the block as appropriate. */
 		if (s == NULL)
@@ -666,7 +664,7 @@ write_reconstructed_file(char *input_filename,
 			 */
 			memset(buffer, 0, BLCKSZ);
 		}
-		else
+		else if (!skip_page_read)
 		{
 			int			rb;
 
@@ -683,14 +681,34 @@ write_reconstructed_file(char *input_filename,
 			}
 		}
 
-		/* Write out the block. */
-		if ((wb = write(wfd, buffer, BLCKSZ)) != BLCKSZ)
+		/*
+		 * If possible, copy the block using copy_file_range. If not possible
+		 * (not requested/supported, or the block is zero-filled), fallback to
+		 * the regular write.
+		 */
+		if (use_copy_range)
 		{
+			wb = copy_file_range(s->fd, &offsetmap[i], wfd, NULL, BLCKSZ, 0);
+
 			if (wb < 0)
-				pg_fatal("could not write file \"%s\": %m", output_filename);
-			else
+				pg_fatal("error while copying file range from \"%s\" to \"%s\": %m",
+						 input_filename, output_filename);
+			else if (wb != BLCKSZ)
 				pg_fatal("could not write file \"%s\": wrote only %d of %d bytes",
 						 output_filename, wb, BLCKSZ);
+			continue;
+		}
+		else
+		{
+			/* Write out the block. */
+			if ((wb = write(wfd, buffer, BLCKSZ)) != BLCKSZ)
+			{
+				if (wb < 0)
+					pg_fatal("could not write file \"%s\": %m", output_filename);
+				else
+					pg_fatal("could not write file \"%s\": wrote only %d of %d bytes",
+							 output_filename, wb, BLCKSZ);
+			}
 		}
 
 		/* Update the checksum computation. */
-- 
2.44.0

v20240330-0004-allow-cloning-with-checksum-calculation.patchtext/x-patch; charset=UTF-8; name=v20240330-0004-allow-cloning-with-checksum-calculation.patchDownload
From 1d8d7eab9873242c1f0d4b5ad8696a8904e5cb98 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Sat, 30 Mar 2024 23:45:35 +0100
Subject: [PATCH v20240330 4/4] allow cloning with checksum calculation

---
 src/bin/pg_combinebackup/copy_file.c | 108 +++++++++++++++++----------
 1 file changed, 67 insertions(+), 41 deletions(-)

diff --git a/src/bin/pg_combinebackup/copy_file.c b/src/bin/pg_combinebackup/copy_file.c
index be8336f7120..8e8c02e58f8 100644
--- a/src/bin/pg_combinebackup/copy_file.c
+++ b/src/bin/pg_combinebackup/copy_file.c
@@ -25,12 +25,15 @@
 static void copy_file_blocks(const char *src, const char *dst,
 							 pg_checksum_context *checksum_ctx);
 
-static void copy_file_clone(const char *src, const char *dst);
+static void copy_file_clone(const char *src, const char *dst,
+							pg_checksum_context *checksum_ctx);
 
-static void copy_file_by_range(const char *src, const char *dst);
+static void copy_file_by_range(const char *src, const char *dst,
+							   pg_checksum_context *checksum_ctx);
 
 #ifdef WIN32
-static void copy_file_copyfile(const char *src, const char *dst);
+static void copy_file_copyfile(const char *src, const char *dst,
+							   pg_checksum_context *checksum_ctx);
 #endif
 
 /*
@@ -44,7 +47,8 @@ copy_file(const char *src, const char *dst,
 		  CopyMethod copy_method)
 {
 	char   *strategy_name = NULL;
-	void	(*strategy_implementation) (const char *, const char *) = NULL;
+	void	(*strategy_implementation) (const char *, const char *,
+										pg_checksum_context *checksum_ctx) = NULL;
 
 	/*
 	 * In dry-run mode, we don't actually copy anything, nor do we read any
@@ -60,29 +64,8 @@ copy_file(const char *src, const char *dst,
 			pg_fatal("could not close \"%s\": %m", src);
 	}
 
-	/*
-	 * If we need to compute a checksum, but the user perhaps requested
-	 * a special copy method that does not support this, fallback to the
-	 * default block-by-block copy. We don't want to fail if just one of
-	 * many files requires checksum, etc.
-	 *
-	 * If we don't need to compute a checksum, then we can use any special
-	 * operating system primitives that we know about to copy the file; this
-	 * may be quicker than a naive block copy. We only do this for WIN32.
-	 * On other operating systems the user has to explicitly specify one of
-	 * the available primitives - there may be multiple, we don't know which
-	 * are reliable/preferred.
-	 */
-	if (checksum_ctx->type != CHECKSUM_TYPE_NONE)
-	{
-		/* fallback to block-by-block copy */
-		copy_method = COPY_METHOD_COPY;
-	}
 #ifdef WIN32
-	else
-	{
-		copy_method = COPY_METHOD_COPYFILE;
-	}
+	copy_method = COPY_METHOD_COPYFILE;
 #endif
 
 	/* Determine the name of the copy strategy for use in log messages. */
@@ -94,6 +77,7 @@ copy_file(const char *src, const char *dst,
 			break;
 		case COPY_METHOD_COPY:
 			/* leave NULL for simple block-by-block copy */
+			strategy_implementation = copy_file_blocks;
 			break;
 		case COPY_METHOD_COPY_FILE_RANGE:
 			strategy_name = "copy_file_range";
@@ -119,25 +103,55 @@ copy_file(const char *src, const char *dst,
 	else
 	{
 		if (strategy_name)
-		{
 			pg_log_debug("copying \"%s\" to \"%s\" using strategy %s",
 						 src, dst, strategy_name);
-			strategy_implementation(src, dst);
-		}
+		else if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
+			pg_log_debug("copying \"%s\" to \"%s\"",
+						 src, dst);
 		else
-		{
-			if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
-				pg_log_debug("copying \"%s\" to \"%s\"",
-							 src, dst);
-			else
-				pg_log_debug("copying \"%s\" to \"%s\" and checksumming with %s",
-							 src, dst, pg_checksum_type_name(checksum_ctx->type));
+			pg_log_debug("copying \"%s\" to \"%s\" and checksumming with %s",
+						 src, dst, pg_checksum_type_name(checksum_ctx->type));
 
-			copy_file_blocks(src, dst, checksum_ctx);
-		}
+		strategy_implementation(src, dst, checksum_ctx);
 	}
 }
 
+/*
+ * Calculate checksum for src file.
+ */
+static void
+checksum_file(const char *src, pg_checksum_context *checksum_ctx)
+{
+	int			src_fd;
+	uint8	   *buffer;
+	const int	buffer_size = 50 * BLCKSZ;
+	ssize_t		rb;
+	unsigned	offset = 0;
+
+	/* bail out if no checksum needed */
+	if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
+		return;
+
+	if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+		pg_fatal("could not open file \"%s\": %m", src);
+
+	buffer = pg_malloc(buffer_size);
+
+	while ((rb = read(src_fd, buffer, buffer_size)) > 0)
+	{
+		if (pg_checksum_update(checksum_ctx, buffer, rb) < 0)
+			pg_fatal("could not update checksum of file \"%s\"", src);
+
+		offset += rb;
+	}
+
+	if (rb < 0)
+		pg_fatal("could not read file \"%s\": %m", src);
+
+	pg_free(buffer);
+	close(src_fd);
+}
+
 /*
  * Copy a file block by block, and optionally compute a checksum as we go.
  */
@@ -193,7 +207,8 @@ copy_file_blocks(const char *src, const char *dst,
  *		Clones/reflinks a file from src to dest.
  */
 static void
-copy_file_clone(const char *src, const char *dest)
+copy_file_clone(const char *src, const char *dest,
+				pg_checksum_context *checksum_ctx)
 {
 #if defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE)
 	if (copyfile(src, dest, NULL, COPYFILE_CLONE_FORCE) < 0)
@@ -220,6 +235,9 @@ copy_file_clone(const char *src, const char *dest)
 #else
 	pg_fatal("file cloning not supported on this platform");
 #endif
+
+	/* if needed, calculate checksum of the file */
+	checksum_file(src, checksum_ctx);
 }
 
 /*
@@ -227,7 +245,8 @@ copy_file_clone(const char *src, const char *dest)
  *		Copies a file from src to dest using copy_file_range system call.
  */
 static void
-copy_file_by_range(const char *src, const char *dest)
+copy_file_by_range(const char *src, const char *dest,
+				   pg_checksum_context *checksum_ctx)
 {
 #if defined(HAVE_COPY_FILE_RANGE)
 	int			src_fd;
@@ -254,16 +273,23 @@ copy_file_by_range(const char *src, const char *dest)
 #else
 	pg_fatal("copy_file_range not supported on this platform");
 #endif
+
+	/* if needed, calculate checksum of the file */
+	checksum_file(src, checksum_ctx);
 }
 
 #ifdef WIN32
 static void
-copy_file_copyfile(const char *src, const char *dst)
+copy_file_copyfile(const char *src, const char *dst,
+				   pg_checksum_context *checksum_ctx)
 {
 	if (CopyFile(src, dst, true) == 0)
 	{
 		_dosmaperr(GetLastError());
 		pg_fatal("could not copy \"%s\" to \"%s\": %m", src, dst);
 	}
+
+	/* if needed, calculate checksum of the file */
+	checksum_file(src, checksum_ctx);
 }
 #endif							/* WIN32 */
-- 
2.44.0

#32Thomas Munro
thomas.munro@gmail.com
In reply to: Tomas Vondra (#31)
Re: pg_combinebackup --copy-file-range

On Sun, Mar 31, 2024 at 1:37 PM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

So I decided to take a stab at Thomas' idea, i.e. reading the data to
...
I'll see how this works on EXT4/ZFS next ...

Wow, very cool! A couple of very quick thoughts/notes:

ZFS: the open source version only gained per-file block cloning in
2.2, so if you're on an older release I expect copy_file_range() to
work but not really do the magic thing. On the FreeBSD version you
also have to turn cloning on with a sysctl because people were worried
about bugs in early versions so by default you still get actual
copying, not sure if you need something like that on the Linux
version... (Obviously ZFS is always completely COW-based, but before
the new block cloning stuff it could only share blocks by its own
magic deduplication if enabled, or by cloning/snapshotting a whole
dataset/mountpoint; there wasn't a way to control it explicitly like
this.)

Alignment: block sharing on any fs requires it. I haven't re-checked
recently but IIRC the incremental file format might have a
non-block-sized header? That means that if you copy_file_range() from
both the older backup and also the incremental backup, only the former
will share blocks, and the latter will silently be done by copying to
newly allocated blocks. If that's still true, I'm not sure how hard
it would be to tweak the format to inject some padding and to make
sure that there isn't any extra header before each block.

#33Thomas Munro
thomas.munro@gmail.com
In reply to: Thomas Munro (#32)
Re: pg_combinebackup --copy-file-range

+ wb = copy_file_range(s->fd, &offsetmap[i], wfd, NULL, BLCKSZ, 0);

Can you collect adjacent blocks in one multi-block call? And then I
think the contract is that you need to loop if it returns short.

#34Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Thomas Munro (#32)
Re: pg_combinebackup --copy-file-range

On 3/31/24 03:03, Thomas Munro wrote:

On Sun, Mar 31, 2024 at 1:37 PM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

So I decided to take a stab at Thomas' idea, i.e. reading the data to
...
I'll see how this works on EXT4/ZFS next ...

Wow, very cool! A couple of very quick thoughts/notes:

ZFS: the open source version only gained per-file block cloning in
2.2, so if you're on an older release I expect copy_file_range() to
work but not really do the magic thing. On the FreeBSD version you
also have to turn cloning on with a sysctl because people were worried
about bugs in early versions so by default you still get actual
copying, not sure if you need something like that on the Linux
version... (Obviously ZFS is always completely COW-based, but before
the new block cloning stuff it could only share blocks by its own
magic deduplication if enabled, or by cloning/snapshotting a whole
dataset/mountpoint; there wasn't a way to control it explicitly like
this.)

I'm on 2.2.2 (on Linux). But there's something wrong, because the
pg_combinebackup that took ~150s on xfs/btrfs, takes ~900s on ZFS.

I'm not sure it's a ZFS config issue, though, because it's not CPU or
I/O bound, and I see this on both machines. And some simple dd tests
show the zpool can do 10x the throughput. Could this be due to the file
header / pool alignment?

Alignment: block sharing on any fs requires it. I haven't re-checked
recently but IIRC the incremental file format might have a
non-block-sized header? That means that if you copy_file_range() from
both the older backup and also the incremental backup, only the former
will share blocks, and the latter will silently be done by copying to
newly allocated blocks. If that's still true, I'm not sure how hard
it would be to tweak the format to inject some padding and to make
sure that there isn't any extra header before each block.

I admit I'm not very familiar with the format, but you're probably right
there's a header, and header_length does not seem to consider alignment.
make_incremental_rfile simply does this:

/* Remember length of header. */
rf->header_length = sizeof(magic) + sizeof(rf->num_blocks) +
sizeof(rf->truncation_block_length) +
sizeof(BlockNumber) * rf->num_blocks;

and sendFile() does the same thing when creating incremental basebackup.
I guess it wouldn't be too difficult to make sure to align this to
BLCKSZ or something like this. I wonder if the file format is documented
somewhere ... It'd certainly be nicer to tweak before v18, if necessary.

Anyway, is that really a problem? I mean, in my tests the CoW stuff
seemed to work quite fine - at least on the XFS/BTRFS. Although, maybe
that's why it took longer on XFS ...

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

#35Thomas Munro
thomas.munro@gmail.com
In reply to: Tomas Vondra (#34)
Re: pg_combinebackup --copy-file-range

On Sun, Mar 31, 2024 at 5:33 PM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

I'm on 2.2.2 (on Linux). But there's something wrong, because the
pg_combinebackup that took ~150s on xfs/btrfs, takes ~900s on ZFS.

I'm not sure it's a ZFS config issue, though, because it's not CPU or
I/O bound, and I see this on both machines. And some simple dd tests
show the zpool can do 10x the throughput. Could this be due to the file
header / pool alignment?

Could ZFS recordsize > 8kB be making it worse, repeatedly dealing with
the same 128kB record as you copy_file_range 16 x 8kB blocks?
(Guessing you might be using the default recordsize?)

I admit I'm not very familiar with the format, but you're probably right
there's a header, and header_length does not seem to consider alignment.
make_incremental_rfile simply does this:

/* Remember length of header. */
rf->header_length = sizeof(magic) + sizeof(rf->num_blocks) +
sizeof(rf->truncation_block_length) +
sizeof(BlockNumber) * rf->num_blocks;

and sendFile() does the same thing when creating incremental basebackup.
I guess it wouldn't be too difficult to make sure to align this to
BLCKSZ or something like this. I wonder if the file format is documented
somewhere ... It'd certainly be nicer to tweak before v18, if necessary.

Anyway, is that really a problem? I mean, in my tests the CoW stuff
seemed to work quite fine - at least on the XFS/BTRFS. Although, maybe
that's why it took longer on XFS ...

Yeah I'm not sure, I assume it did more allocating and copying because
of that. It doesn't matter and it would be fine if a first version
weren't as good as possible, and fine if we tune the format later once
we know more, ie leaving improvements on the table. I just wanted to
share the observation. I wouldn't be surprised if the block-at-a-time
coding makes it slower and maybe makes the on disk data structures
worse, but I dunno I'm just guessing.

It's also interesting but not required to figure out how to tune ZFS
well for this purpose right now...

#36Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Thomas Munro (#35)
Re: pg_combinebackup --copy-file-range

On 3/31/24 06:46, Thomas Munro wrote:

On Sun, Mar 31, 2024 at 5:33 PM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

I'm on 2.2.2 (on Linux). But there's something wrong, because the
pg_combinebackup that took ~150s on xfs/btrfs, takes ~900s on ZFS.

I'm not sure it's a ZFS config issue, though, because it's not CPU or
I/O bound, and I see this on both machines. And some simple dd tests
show the zpool can do 10x the throughput. Could this be due to the file
header / pool alignment?

Could ZFS recordsize > 8kB be making it worse, repeatedly dealing with
the same 128kB record as you copy_file_range 16 x 8kB blocks?
(Guessing you might be using the default recordsize?)

No, I reduced the record size to 8kB. And the pgbench init takes about
the same as on other filesystems on this hardware, I think. ~10 minutes
for scale 5000.

I admit I'm not very familiar with the format, but you're probably right
there's a header, and header_length does not seem to consider alignment.
make_incremental_rfile simply does this:

/* Remember length of header. */
rf->header_length = sizeof(magic) + sizeof(rf->num_blocks) +
sizeof(rf->truncation_block_length) +
sizeof(BlockNumber) * rf->num_blocks;

and sendFile() does the same thing when creating incremental basebackup.
I guess it wouldn't be too difficult to make sure to align this to
BLCKSZ or something like this. I wonder if the file format is documented
somewhere ... It'd certainly be nicer to tweak before v18, if necessary.

Anyway, is that really a problem? I mean, in my tests the CoW stuff
seemed to work quite fine - at least on the XFS/BTRFS. Although, maybe
that's why it took longer on XFS ...

Yeah I'm not sure, I assume it did more allocating and copying because
of that. It doesn't matter and it would be fine if a first version
weren't as good as possible, and fine if we tune the format later once
we know more, ie leaving improvements on the table. I just wanted to
share the observation. I wouldn't be surprised if the block-at-a-time
coding makes it slower and maybe makes the on disk data structures
worse, but I dunno I'm just guessing.

It's also interesting but not required to figure out how to tune ZFS
well for this purpose right now...

No idea. Any idea if there's some good ZFS statistics to check?

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

#37Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Tomas Vondra (#36)
13 attachment(s)
Re: pg_combinebackup --copy-file-range

Hi,

I've been running some benchmarks and experimenting with various stuff,
trying to improve the poor performance on ZFS, and the regression on XFS
when using copy_file_range. And oh boy, did I find interesting stuff ...

Attached is a PDF with results of my benchmark for ZFS/XFS/BTRFS, on my
two machines. I already briefly described what the benchmark does, but
to clarify:

1) generate backups: initialize pgbench scale 5000, do full backup,
update roughly 1%, 10% and 20% blocks and do an incremental backup after
each of those steps

2) combine backups: full + 1%, full + 1% + 10%, full + 1% + 10% + 20%

3) measure how long it takes and how much more disk space is used (to
see how well the CoW stuff works)

4) after each pg_combinebackup run to pg_verifybackup, start the cluster
to finish recovery, run pg_checksums --check (to check the patches don't
produce something broken)

There's a lot of interesting stuff to discuss, some of which was already
mentioned in this thread earlier - in particular, I want to talk about
block alignment, prefetching and processing larger chunks of blocks.

Attached is also all the patches including the ugly WIP parts discussed
later, complete results if you want to do your own analysis, and the
scripts used to generate/restore scripts.

FWIW I'm not claiming the patches are commit-ready (especially the new
WIP parts), but should be correct and good enough for discussion (that
applies especially to 0007). I think I could get them ready in a day or
two, but I'd like some feedback to my findings, and also if someone
would have objections to get this in so short before the feature freeze,
I'd prefer to know about that.

The patches are numbered the same as in the benchmark results, i.e. 0001
is "1", 0002 is "2" etc. The "0-baseline" option is current master
without any patches.

Now to the findings ....

1) block alignment
------------------

This was mentioned by Thomas a couple days ago, when he pointed out the
incremental files have a variable-length header (to record which blocks
are stored in the file), followed by the block data, which means the
block data is not aligned to fs block. I haven't realized this, I just
used whatever the reconstruction function received, but Thomas pointed
out this may interfere with CoW, which needs the blocks to be aligned.

And I think he's right, and my tests confirm this. I did a trivial patch
to align the blocks to 8K boundary, by forcing the header to be a
multiple of 8K (I think 4K alignment would be enough). See the 0001
patch that does this.

And if I measure the disk space used by pg_combinebackup, and compare
the results with results without the patch ([1]/messages/by-id/0e27835d-dab5-49cd-a3ea-52cf6d9ef59e@enterprisedb.com from a couple days
back), I see this:

pct not aligned aligned
-------------------------------------
1% 689M 19M
10% 3172M 22M
20% 13797M 27M

Yes, those numbers are correct. I didn't believe this at first, but the
backups are valid/verified, checksums are OK, etc. BTRFS has similar
numbers (e.g. drop from 20GB to 600MB).

If you look at the charts in the PDF, charts for on-disk space are on
the right side. It might seem like copy_file_range/CoW has no impact,
but that's just an illusion - the bars for the last three cases are so
small it's difficult to see them (especially on XFS). While this does
not show the impact of alignment (because all of the cases in these runs
have blocks aligned), it shows how tiny the backups can be made. But it
does have significant impact, per the preceding paragraph.

This also affect the prefetching, that I'm going to talk about next. But
having the blocks misaligned (spanning multiple 4K pages) forces the
system to prefetch more pages than necessary. I don't know how big the
impact is, because the prefetch patch is 0002, so I only have results
for prefetching on aligned blocks, but I don't see how it could not have
a cost.

I do think we should just align the blocks properly. The 0001 patch does
that simply by adding a bunch of \0 bytes up to the next 8K boundary.
Yes, this has a cost - if you have tiny files with only one or two
blocks changed, the increment file will be a bit larger. Files without
any blocks don't need alignment/padding, and as the number of blocks
increases, it gets negligible pretty quickly. Also, files use a multiple
of fs blocks anyway, so if we align to 4K blocks it wouldn't actually
need more space at all. And even if it does, it's all \0, so pretty damn
compressible (and I'm sorry, but if you care about tiny amounts of data
added by alignment, but refuse to use compression ...).

I think we absolutely need to align the blocks in the incremental files,
and I think we should do that now. I think 8K would work, but maybe we
should add alignment parameter to basebackup & manifest?

The reason why I think maybe this should be a basebackup parameter is
the recent discussion about large fs blocks - it seems to be in the
works, so maybe better to be ready and not assume all fs have 4K.

And I think we probably want to do this now, because this affects all
tools dealing with incremental backups - even if someone writes a custom
version of pg_combinebackup, it will have to deal with misaligned data.
Perhaps there might be something like pg_basebackup that "transforms"
the data received from the server (and also the backup manifest), but
that does not seem like a great direction.

Note: Of course, these space savings only exist thanks to sharing blocks
with the input backups, because the blocks in the combined backup point
to one of the other backups. If those old backups are removed, then the
"saved space" disappears because there's only a single copy.

2) prefetch
-----------

I was very puzzled by the awful performance on ZFS. When every other fs
(EXT4/XFS/BTRFS) took 150-200 seconds to run pg_combinebackup, it took
900-1000 seconds on ZFS, no matter what I did. I tried all the tuning
advice I could think of, with almost no effect.

Ultimately I decided that it probably is the "no readahead" behavior
I've observed on ZFS. I assume it's because it doesn't use the page
cache where the regular readahead is detected etc. And there's no
prefetching in pg_combinebackup, so I decided to an experiment and added
a trivial explicit prefetch when reconstructing the file - every time
we'd read data from a file, we do posix_fadvise for up to 128 blocks
ahead (similar to what bitmap heap scan code does). See 0002.

And tadaaa - the duration dropped from 900-1000 seconds to only about
250-300 seconds, so an improvement of a factor of 3-4x. I think this is
pretty massive.

There's a couple more interesting ZFS details - the prefetching seems to
be necessary even when using copy_file_range() and don't need to read
the data (to calculate checksums). This is why the "manifest=off" chart
has the strange group of high bars at the end - the copy cases are fast
because prefetch happens, but if we switch to copy_file_range() there
are no prefetches and it gets slow.

This is a bit bizarre, especially because the manifest=on cases are
still fast, exactly because the pread + prefetching still happens. I'm
sure users would find this puzzling.

Unfortunately, the prefetching is not beneficial for all filesystems.
For XFS it does not seem to make any difference, but on BTRFS it seems
to cause a regression.

I think this means we may need a "--prefetch" option, that'd force
prefetching, probably both before pread and copy_file_range. Otherwise
people on ZFS are doomed and will have poor performance.

3) bulk operations
------------------

Another thing suggested by Thomas last week was that maybe we should try
detecting longer runs of blocks coming from the same file, and operate
on them as a single chunk of data. If you see e.g. 32 blocks, instead of
doing read/write or copy_file_range for each of them, we could simply do
one call for all those blocks at once.

I think this is pretty likely, especially for small incremental backups
where most of the blocks will come from the full backup. And I was
suspecting the XFS regression (where the copy-file-range was up to
30-50% slower in some cases, see [1]/messages/by-id/0e27835d-dab5-49cd-a3ea-52cf6d9ef59e@enterprisedb.com) is related to this, because the
perf profiles had stuff like this:

97.28% 2.10% pg_combinebacku [kernel.vmlinux] [k]
|
|--95.18%--entry_SYSCALL_64
| |
| --94.99%--do_syscall_64
| |
| |--74.13%--__do_sys_copy_file_range
| | |
| | --73.72%--vfs_copy_file_range
| | |
| | --73.14%--xfs_file_remap_range
| | |
| | |--70.65%--xfs_reflink_remap_blocks
| | | |
| | | --69.86%--xfs_reflink_remap_extent

So I took a stab at this in 0007, which detects runs of blocks coming
from the same source file (limited to 128 blocks, i.e. 1MB). I only did
this for the copy_file_range() calls in 0007, and the results for XFS
look like this (complete results are in the PDF):

old (block-by-block) new (batches)
------------------------------------------------------
1% 150s 4s
10% 150-200s 46s
20% 150-200s 65s

Yes, once again, those results are real, the backups are valid etc. So
not only it takes much less space (thanks to block alignment), it also
takes much less time (thanks to bulk operations).

The cases with "manifest=on" improve too, but not nearly this much. I
believe this is simply because the read/write still happens block by
block. But it shouldn't be difficult to do in a bulk manner too (we
already have the range detected, but I was lazy).

[1]: /messages/by-id/0e27835d-dab5-49cd-a3ea-52cf6d9ef59e@enterprisedb.com
/messages/by-id/0e27835d-dab5-49cd-a3ea-52cf6d9ef59e@enterprisedb.com

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Attachments:

v20240401-0001-WIP-block-alignment.patchtext/x-patch; charset=UTF-8; name=v20240401-0001-WIP-block-alignment.patchDownload
From 92da58e2f4e05960ca005c69c1d11ec1f9edd965 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Sun, 31 Mar 2024 14:55:29 +0200
Subject: [PATCH v20240401 1/7] WIP: block alignment

Make sure the blocks in the incremental files are properly aligned
to 8KB boundaries, so that CoW works correctly.
---
 src/backend/backup/basebackup.c             | 16 ++++++++++++++++
 src/backend/backup/basebackup_incremental.c | 10 ++++++++--
 src/bin/pg_combinebackup/reconstruct.c      |  6 ++++++
 3 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/src/backend/backup/basebackup.c b/src/backend/backup/basebackup.c
index 5fea86ad0fd..96e981a98f0 100644
--- a/src/backend/backup/basebackup.c
+++ b/src/backend/backup/basebackup.c
@@ -1635,6 +1635,19 @@ sendFile(bbsink *sink, const char *readfilename, const char *tarfilename,
 					 incremental_blocks,
 					 sizeof(BlockNumber) * num_incremental_blocks);
 
+		/* align header to a multiple of BLCKSZ */
+		if (header_bytes_done % BLCKSZ != 0)
+		{
+			char	padding[BLCKSZ];
+			size_t	paddinglen = (BLCKSZ - (header_bytes_done % BLCKSZ));
+
+			bytes_done += paddinglen;
+			memset(padding, 0, paddinglen);
+
+			push_to_sink(sink, &checksum_ctx, &header_bytes_done,
+						 padding, paddinglen);
+		}
+
 		/* Flush out any data still in the buffer so it's again empty. */
 		if (header_bytes_done > 0)
 		{
@@ -1748,6 +1761,9 @@ sendFile(bbsink *sink, const char *readfilename, const char *tarfilename,
 		blkno += cnt / BLCKSZ;
 		bytes_done += cnt;
 
+		if ((incremental_blocks != NULL) && (bytes_done % BLCKSZ != 0))
+			elog(FATAL, "incorrect file size '%s' bytes_done %lu", tarfilename, bytes_done);
+
 		/* Archive the data we just read. */
 		bbsink_archive_contents(sink, cnt);
 
diff --git a/src/backend/backup/basebackup_incremental.c b/src/backend/backup/basebackup_incremental.c
index 990b2872eaf..d425a3f555e 100644
--- a/src/backend/backup/basebackup_incremental.c
+++ b/src/backend/backup/basebackup_incremental.c
@@ -917,8 +917,14 @@ GetIncrementalFileSize(unsigned num_blocks_required)
 	 * Three four byte quantities (magic number, truncation block length,
 	 * block count) followed by block numbers followed by block contents.
 	 */
-	result = 3 * sizeof(uint32);
-	result += (BLCKSZ + sizeof(BlockNumber)) * num_blocks_required;
+	result = 3 * sizeof(uint32) + (sizeof(BlockNumber) * num_blocks_required);
+
+	if (result % BLCKSZ != 0)
+	{
+		result += BLCKSZ - (result % BLCKSZ);
+	}
+
+	result += BLCKSZ * num_blocks_required;
 
 	return result;
 }
diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index 41f06bb26b5..e6cb9a206e2 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -472,6 +472,12 @@ make_incremental_rfile(char *filename)
 		sizeof(rf->truncation_block_length) +
 		sizeof(BlockNumber) * rf->num_blocks;
 
+	/* align header to multiple of BLCKSZ */
+	if (rf->header_length % BLCKSZ != 0)
+	{
+		rf->header_length += (BLCKSZ - (rf->header_length % BLCKSZ));
+	}
+
 	return rf;
 }
 
-- 
2.44.0

v20240401-0002-WIP-prefetch-blocks-when-reconstructing-fi.patchtext/x-patch; charset=UTF-8; name=v20240401-0002-WIP-prefetch-blocks-when-reconstructing-fi.patchDownload
From 0f43f3f8a96fc7292f880a9827297f5c8e46eb9a Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Sun, 31 Mar 2024 22:39:19 +0200
Subject: [PATCH v20240401 2/7] WIP: prefetch blocks when reconstructing file

Prefetch up to 128 blocks ahead when reconstructing backups from
multiple files.
---
 src/bin/pg_combinebackup/reconstruct.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index e6cb9a206e2..2a8482c5083 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -539,6 +539,10 @@ write_reconstructed_file(char *input_filename,
 	unsigned	i;
 	unsigned	zero_blocks = 0;
 
+	unsigned	prefetch_index = 0;
+	unsigned	prefetch_distance = 1;
+	unsigned	prefetch_max = 128;
+
 	/* Debugging output. */
 	if (debug)
 	{
@@ -648,6 +652,20 @@ write_reconstructed_file(char *input_filename,
 		{
 			int			rb;
 
+			/* maybe do some prefetching */
+			prefetch_distance = Min(prefetch_distance + 1, prefetch_max);
+			while (prefetch_index < Min(block_length, i + prefetch_distance))
+			{
+				rfile *ps = sourcemap[prefetch_index];
+
+				if (ps != NULL)
+				{
+					 posix_fadvise(ps->fd, offsetmap[prefetch_index], BLCKSZ, POSIX_FADV_WILLNEED);
+				}
+
+				prefetch_index++;
+			}
+
 			/* Read the block from the correct source, except if dry-run. */
 			rb = pg_pread(s->fd, buffer, BLCKSZ, offsetmap[i]);
 			if (rb != BLCKSZ)
-- 
2.44.0

v20240401-0003-use-clone-copy_file_range-to-copy-whole-fi.patchtext/x-patch; charset=UTF-8; name=v20240401-0003-use-clone-copy_file_range-to-copy-whole-fi.patchDownload
From 5233d23ce8e26b432e5cb4e379f05afedbd91a99 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Tue, 19 Mar 2024 15:16:29 +0100
Subject: [PATCH v20240401 3/7] use clone/copy_file_range to copy whole files

Use clone/copy_file_range when copying whole files.
---
 doc/src/sgml/ref/pg_combinebackup.sgml      |  46 ++++++
 src/bin/pg_combinebackup/copy_file.c        | 170 ++++++++++++++++----
 src/bin/pg_combinebackup/copy_file.h        |  18 ++-
 src/bin/pg_combinebackup/pg_combinebackup.c |  18 ++-
 src/bin/pg_combinebackup/reconstruct.c      |   5 +-
 src/bin/pg_combinebackup/reconstruct.h      |   3 +-
 6 files changed, 219 insertions(+), 41 deletions(-)

diff --git a/doc/src/sgml/ref/pg_combinebackup.sgml b/doc/src/sgml/ref/pg_combinebackup.sgml
index 6f90dba281f..70310c31985 100644
--- a/doc/src/sgml/ref/pg_combinebackup.sgml
+++ b/doc/src/sgml/ref/pg_combinebackup.sgml
@@ -185,6 +185,52 @@ PostgreSQL documentation
       </listitem>
      </varlistentry>
 
+     <varlistentry>
+      <term><option>--clone</option></term>
+      <listitem>
+       <para>
+        Use efficient file cloning (also known as <quote>reflinks</quote> on
+        some systems) instead of copying files to the new data directory,
+        which can result in near-instantaneous copying of the data files.
+       </para>
+
+       <para>
+        File cloning may be used only when the checksums match in the backup
+        manifests. If a backup manifest is not available or does not contain
+        checksum of the right type, the file will be copied block-by-block
+        as if the <option>--clone</option> option was not specified.
+       </para>
+
+       <para>
+        File cloning is only supported on some operating systems and file
+        systems.  If it is selected but not supported, the
+        <application>pg_combinebackup</application> run will error.  At present,
+        it is supported on Linux (kernel 4.5 or later) with Btrfs and XFS (on
+        file systems created with reflink support), and on macOS with APFS.
+       </para>
+      </listitem>
+     </varlistentry>
+
+     <varlistentry>
+      <term><option>--copy-file-range</option></term>
+      <listitem>
+       <para>
+        Use the <function>copy_file_range</function> system call for efficient
+        copying.  On some file systems this gives results similar to
+        <option>--clone</option>, sharing physical disk blocks, while on others
+        it may still copy blocks, but do so via an optimized path.  At present,
+        it is supported on Linux and FreeBSD.
+       </para>
+
+       <para>
+        <function>copy_file_range</function> may be used only when the
+        checksums match in the backup manifests. If a backup manifest is not
+        available or does not contain checksum of the right type, the file will
+        be copied block-by-block as if the option was not specified.
+       </para>
+      </listitem>
+     </varlistentry>
+
      <varlistentry>
        <term><option>-V</option></term>
        <term><option>--version</option></term>
diff --git a/src/bin/pg_combinebackup/copy_file.c b/src/bin/pg_combinebackup/copy_file.c
index e6d2423278a..be8336f7120 100644
--- a/src/bin/pg_combinebackup/copy_file.c
+++ b/src/bin/pg_combinebackup/copy_file.c
@@ -14,6 +14,7 @@
 #include <copyfile.h>
 #endif
 #include <fcntl.h>
+#include <limits.h>
 #include <sys/stat.h>
 #include <unistd.h>
 
@@ -24,6 +25,10 @@
 static void copy_file_blocks(const char *src, const char *dst,
 							 pg_checksum_context *checksum_ctx);
 
+static void copy_file_clone(const char *src, const char *dst);
+
+static void copy_file_by_range(const char *src, const char *dst);
+
 #ifdef WIN32
 static void copy_file_copyfile(const char *src, const char *dst);
 #endif
@@ -35,8 +40,12 @@ static void copy_file_copyfile(const char *src, const char *dst);
  */
 void
 copy_file(const char *src, const char *dst,
-		  pg_checksum_context *checksum_ctx, bool dry_run)
+		  pg_checksum_context *checksum_ctx, bool dry_run,
+		  CopyMethod copy_method)
 {
+	char   *strategy_name = NULL;
+	void	(*strategy_implementation) (const char *, const char *) = NULL;
+
 	/*
 	 * In dry-run mode, we don't actually copy anything, nor do we read any
 	 * data from the source file, but we do verify that we can open it.
@@ -52,57 +61,80 @@ copy_file(const char *src, const char *dst,
 	}
 
 	/*
+	 * If we need to compute a checksum, but the user perhaps requested
+	 * a special copy method that does not support this, fallback to the
+	 * default block-by-block copy. We don't want to fail if just one of
+	 * many files requires checksum, etc.
+	 *
 	 * If we don't need to compute a checksum, then we can use any special
 	 * operating system primitives that we know about to copy the file; this
-	 * may be quicker than a naive block copy.
+	 * may be quicker than a naive block copy. We only do this for WIN32.
+	 * On other operating systems the user has to explicitly specify one of
+	 * the available primitives - there may be multiple, we don't know which
+	 * are reliable/preferred.
 	 */
-	if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
+	if (checksum_ctx->type != CHECKSUM_TYPE_NONE)
 	{
-		char	   *strategy_name = NULL;
-		void		(*strategy_implementation) (const char *, const char *) = NULL;
-
+		/* fallback to block-by-block copy */
+		copy_method = COPY_METHOD_COPY;
+	}
 #ifdef WIN32
-		strategy_name = "CopyFile";
-		strategy_implementation = copy_file_copyfile;
+	else
+	{
+		copy_method = COPY_METHOD_COPYFILE;
+	}
 #endif
 
-		if (strategy_name != NULL)
-		{
-			if (dry_run)
-				pg_log_debug("would copy \"%s\" to \"%s\" using strategy %s",
-							 src, dst, strategy_name);
-			else
-			{
-				pg_log_debug("copying \"%s\" to \"%s\" using strategy %s",
-							 src, dst, strategy_name);
-				(*strategy_implementation) (src, dst);
-			}
-			return;
-		}
+	/* Determine the name of the copy strategy for use in log messages. */
+	switch (copy_method)
+	{
+		case COPY_METHOD_CLONE:
+			strategy_name = "clone";
+			strategy_implementation = copy_file_clone;
+			break;
+		case COPY_METHOD_COPY:
+			/* leave NULL for simple block-by-block copy */
+			break;
+		case COPY_METHOD_COPY_FILE_RANGE:
+			strategy_name = "copy_file_range";
+			strategy_implementation = copy_file_by_range;
+			break;
+#ifdef WIN32
+		case COPY_METHOD_COPYFILE:
+			strategy_name = "CopyFile";
+			strategy_implementation = copy_file_copyfile;
+			break;
+#endif
 	}
 
-	/*
-	 * Fall back to the simple approach of reading and writing all the blocks,
-	 * feeding them into the checksum context as we go.
-	 */
 	if (dry_run)
 	{
-		if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
+		if (strategy_name)
+			pg_log_debug("would copy \"%s\" to \"%s\" using strategy %s",
+						 src, dst, strategy_name);
+		else
 			pg_log_debug("would copy \"%s\" to \"%s\"",
 						 src, dst);
-		else
-			pg_log_debug("would copy \"%s\" to \"%s\" and checksum with %s",
-						 src, dst, pg_checksum_type_name(checksum_ctx->type));
 	}
 	else
 	{
-		if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
-			pg_log_debug("copying \"%s\" to \"%s\"",
-						 src, dst);
+		if (strategy_name)
+		{
+			pg_log_debug("copying \"%s\" to \"%s\" using strategy %s",
+						 src, dst, strategy_name);
+			strategy_implementation(src, dst);
+		}
 		else
-			pg_log_debug("copying \"%s\" to \"%s\" and checksumming with %s",
-						 src, dst, pg_checksum_type_name(checksum_ctx->type));
-		copy_file_blocks(src, dst, checksum_ctx);
+		{
+			if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
+				pg_log_debug("copying \"%s\" to \"%s\"",
+							 src, dst);
+			else
+				pg_log_debug("copying \"%s\" to \"%s\" and checksumming with %s",
+							 src, dst, pg_checksum_type_name(checksum_ctx->type));
+
+			copy_file_blocks(src, dst, checksum_ctx);
+		}
 	}
 }
 
@@ -156,6 +188,74 @@ copy_file_blocks(const char *src, const char *dst,
 	close(dest_fd);
 }
 
+/*
+ * copy_file_clone
+ *		Clones/reflinks a file from src to dest.
+ */
+static void
+copy_file_clone(const char *src, const char *dest)
+{
+#if defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE)
+	if (copyfile(src, dest, NULL, COPYFILE_CLONE_FORCE) < 0)
+		pg_fatal("error while cloning file \"%s\" to \"%s\": %m", src, dest);
+#elif defined(__linux__) && defined(FICLONE)
+	{
+		if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+			pg_fatal("could not open file \"%s\": %m", src);
+
+		if ((dest_fd = open(dest, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+							pg_file_create_mode)) < 0)
+			pg_fatal("could not create file \"%s\": %m", dest);
+
+		if (ioctl(dest_fd, FICLONE, src_fd) < 0)
+		{
+			int			save_errno = errno;
+
+			unlink(dest);
+
+			pg_fatal("error while cloning file \"%s\" to \"%s\": %s",
+					 src, dest);
+		}
+	}
+#else
+	pg_fatal("file cloning not supported on this platform");
+#endif
+}
+
+/*
+ * copy_file_by_range
+ *		Copies a file from src to dest using copy_file_range system call.
+ */
+static void
+copy_file_by_range(const char *src, const char *dest)
+{
+#if defined(HAVE_COPY_FILE_RANGE)
+	int			src_fd;
+	int			dest_fd;
+	ssize_t		nbytes;
+
+	if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+		pg_fatal("could not open file \"%s\": %m", src);
+
+	if ((dest_fd = open(dest, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+						pg_file_create_mode)) < 0)
+		pg_fatal("could not create file \"%s\": %m", dest);
+
+	do
+	{
+		nbytes = copy_file_range(src_fd, NULL, dest_fd, NULL, SSIZE_MAX, 0);
+		if (nbytes < 0)
+			pg_fatal("error while copying file range from \"%s\" to \"%s\": %m",
+					 src, dest);
+	} while (nbytes > 0);
+
+	close(src_fd);
+	close(dest_fd);
+#else
+	pg_fatal("copy_file_range not supported on this platform");
+#endif
+}
+
 #ifdef WIN32
 static void
 copy_file_copyfile(const char *src, const char *dst)
diff --git a/src/bin/pg_combinebackup/copy_file.h b/src/bin/pg_combinebackup/copy_file.h
index 0f6bc09403f..9615595d887 100644
--- a/src/bin/pg_combinebackup/copy_file.h
+++ b/src/bin/pg_combinebackup/copy_file.h
@@ -11,9 +11,25 @@
 #ifndef COPY_FILE_H
 #define COPY_FILE_H
 
+#include "c.h"
 #include "common/checksum_helper.h"
+#include "common/file_utils.h"
+
+/*
+ * Enumeration to denote copy modes
+ */
+typedef enum CopyMethod
+{
+	COPY_METHOD_CLONE,
+	COPY_METHOD_COPY,
+	COPY_METHOD_COPY_FILE_RANGE,
+#ifdef WIN32
+	COPY_METHOD_COPYFILE,
+#endif
+} CopyMethod;
 
 extern void copy_file(const char *src, const char *dst,
-					  pg_checksum_context *checksum_ctx, bool dry_run);
+					  pg_checksum_context *checksum_ctx, bool dry_run,
+					  CopyMethod copy_method);
 
 #endif							/* COPY_FILE_H */
diff --git a/src/bin/pg_combinebackup/pg_combinebackup.c b/src/bin/pg_combinebackup/pg_combinebackup.c
index 74f8be9eeac..76a63d826a7 100644
--- a/src/bin/pg_combinebackup/pg_combinebackup.c
+++ b/src/bin/pg_combinebackup/pg_combinebackup.c
@@ -69,6 +69,7 @@ typedef struct cb_options
 	pg_checksum_type manifest_checksums;
 	bool		no_manifest;
 	DataDirSyncMethod sync_method;
+	CopyMethod	copy_method;
 } cb_options;
 
 /*
@@ -129,6 +130,8 @@ main(int argc, char *argv[])
 		{"manifest-checksums", required_argument, NULL, 1},
 		{"no-manifest", no_argument, NULL, 2},
 		{"sync-method", required_argument, NULL, 3},
+		{"clone", no_argument, NULL, 4},
+		{"copy-file-range", no_argument, NULL, 5},
 		{NULL, 0, NULL, 0}
 	};
 
@@ -156,6 +159,7 @@ main(int argc, char *argv[])
 	memset(&opt, 0, sizeof(opt));
 	opt.manifest_checksums = CHECKSUM_TYPE_CRC32C;
 	opt.sync_method = DATA_DIR_SYNC_METHOD_FSYNC;
+	opt.copy_method = COPY_METHOD_COPY;
 
 	/* process command-line options */
 	while ((c = getopt_long(argc, argv, "dnNPo:T:",
@@ -192,6 +196,12 @@ main(int argc, char *argv[])
 				if (!parse_sync_method(optarg, &opt.sync_method))
 					exit(1);
 				break;
+			case 4:
+				opt.copy_method = COPY_METHOD_CLONE;
+				break;
+			case 5:
+				opt.copy_method = COPY_METHOD_COPY_FILE_RANGE;
+				break;
 			default:
 				/* getopt_long already emitted a complaint */
 				pg_log_error_hint("Try \"%s --help\" for more information.", progname);
@@ -696,6 +706,8 @@ help(const char *progname)
 			 "                            use algorithm for manifest checksums\n"));
 	printf(_("      --no-manifest         suppress generation of backup manifest\n"));
 	printf(_("      --sync-method=METHOD  set method for syncing files to disk\n"));
+	printf(_("      --clone               clone (reflink) instead of copying files\n"));
+	printf(_("      --copy-file-range     copy using copy_file_range() syscall\n"));
 	printf(_("  -?, --help                show this help, then exit\n"));
 
 	printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
@@ -937,7 +949,8 @@ process_directory_recursively(Oid tsoid,
 											  &checksum_length,
 											  &checksum_payload,
 											  opt->debug,
-											  opt->dry_run);
+											  opt->dry_run,
+											  opt->copy_method);
 		}
 		else
 		{
@@ -993,7 +1006,8 @@ process_directory_recursively(Oid tsoid,
 
 			/* Actually copy the file. */
 			snprintf(ofullpath, MAXPGPATH, "%s/%s", ofulldir, de->d_name);
-			copy_file(ifullpath, ofullpath, &checksum_ctx, opt->dry_run);
+			copy_file(ifullpath, ofullpath, &checksum_ctx, opt->dry_run,
+					  opt->copy_method);
 
 			/*
 			 * If copy_file() performed a checksum calculation for us, then
diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index 2a8482c5083..f2c6101c6de 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -90,7 +90,8 @@ reconstruct_from_incremental_file(char *input_filename,
 								  int *checksum_length,
 								  uint8 **checksum_payload,
 								  bool debug,
-								  bool dry_run)
+								  bool dry_run,
+								  CopyMethod copy_method)
 {
 	rfile	  **source;
 	rfile	   *latest_source = NULL;
@@ -319,7 +320,7 @@ reconstruct_from_incremental_file(char *input_filename,
 	 */
 	if (copy_source != NULL)
 		copy_file(copy_source->filename, output_filename,
-				  &checksum_ctx, dry_run);
+				  &checksum_ctx, dry_run, copy_method);
 	else
 	{
 		write_reconstructed_file(input_filename, output_filename,
diff --git a/src/bin/pg_combinebackup/reconstruct.h b/src/bin/pg_combinebackup/reconstruct.h
index 8e33a8a95a0..532cd81052d 100644
--- a/src/bin/pg_combinebackup/reconstruct.h
+++ b/src/bin/pg_combinebackup/reconstruct.h
@@ -28,6 +28,7 @@ extern void reconstruct_from_incremental_file(char *input_filename,
 											  int *checksum_length,
 											  uint8 **checksum_payload,
 											  bool debug,
-											  bool dry_run);
+											  bool dry_run,
+											  CopyMethod copy_method);
 
 #endif
-- 
2.44.0

v20240401-0004-use-copy_file_range-in-write_reconstructed.patchtext/x-patch; charset=UTF-8; name=v20240401-0004-use-copy_file_range-in-write_reconstructed.patchDownload
From 662022325393b96c50e4f4e1c9c0a15ce19ec70f Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Sat, 23 Mar 2024 18:26:21 +0100
Subject: [PATCH v20240401 4/7] use copy_file_range in write_reconstructed_file

Use copy_file_range when reconstructing file without having to
calculate checksums.
---
 src/bin/pg_combinebackup/reconstruct.c | 33 +++++++++++++++++++++++---
 1 file changed, 30 insertions(+), 3 deletions(-)

diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index f2c6101c6de..f02c91a5d4e 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -59,7 +59,8 @@ static void write_reconstructed_file(char *input_filename,
 									 off_t *offsetmap,
 									 pg_checksum_context *checksum_ctx,
 									 bool debug,
-									 bool dry_run);
+									 bool dry_run,
+									 CopyMethod copy_method);
 static void read_bytes(rfile *rf, void *buffer, unsigned length);
 
 /*
@@ -325,7 +326,8 @@ reconstruct_from_incremental_file(char *input_filename,
 	{
 		write_reconstructed_file(input_filename, output_filename,
 								 block_length, sourcemap, offsetmap,
-								 &checksum_ctx, debug, dry_run);
+								 &checksum_ctx, debug, dry_run,
+								 copy_method);
 		debug_reconstruction(n_prior_backups + 1, source, dry_run);
 	}
 
@@ -534,7 +536,8 @@ write_reconstructed_file(char *input_filename,
 						 off_t *offsetmap,
 						 pg_checksum_context *checksum_ctx,
 						 bool debug,
-						 bool dry_run)
+						 bool dry_run,
+						 CopyMethod copy_method)
 {
 	int			wfd = -1;
 	unsigned	i;
@@ -640,6 +643,30 @@ write_reconstructed_file(char *input_filename,
 		if (dry_run)
 			continue;
 
+		/*
+		 * If requested, copy the block using copy_file_range.
+		 *
+		 * We can'd do this if the block needs to be zero-filled or when we
+		 * need to update checksum.
+		 */
+		if ((copy_method == COPY_METHOD_COPY_FILE_RANGE) &&
+			(s != NULL) && (checksum_ctx->type == CHECKSUM_TYPE_NONE))
+		{
+#if defined(HAVE_COPY_FILE_RANGE)
+			wb = copy_file_range(s->fd, &offsetmap[i], wfd, NULL, BLCKSZ, 0);
+
+			if (wb < 0)
+				pg_fatal("error while copying file range from \"%s\" to \"%s\": %m",
+						 input_filename, output_filename);
+			else if (wb != BLCKSZ)
+				pg_fatal("could not write file \"%s\": wrote only %d of %d bytes",
+						 output_filename, wb, BLCKSZ);
+#else
+			pg_fatal("copy_file_range not supported on this platform");
+#endif
+			continue;
+		}
+
 		/* Read or zero-fill the block as appropriate. */
 		if (s == NULL)
 		{
-- 
2.44.0

v20240401-0005-use-copy_file_range-with-checksums.patchtext/x-patch; charset=UTF-8; name=v20240401-0005-use-copy_file_range-with-checksums.patchDownload
From 6f21b1a635ec0f65a525238698d94953635ab52b Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Sat, 30 Mar 2024 17:41:27 +0100
Subject: [PATCH v20240401 5/7] use copy_file_range with checksums

Use copy_file_range even when having to calculate checksum. Does
extra pg_pread() to read the data, but the data is still copies
using copy_file_range().
---
 src/bin/pg_combinebackup/pg_combinebackup.c | 29 +++++++++
 src/bin/pg_combinebackup/reconstruct.c      | 70 +++++++++++++--------
 2 files changed, 74 insertions(+), 25 deletions(-)

diff --git a/src/bin/pg_combinebackup/pg_combinebackup.c b/src/bin/pg_combinebackup/pg_combinebackup.c
index 76a63d826a7..4f3d7747ce6 100644
--- a/src/bin/pg_combinebackup/pg_combinebackup.c
+++ b/src/bin/pg_combinebackup/pg_combinebackup.c
@@ -223,6 +223,35 @@ main(int argc, char *argv[])
 	if (opt.no_manifest)
 		opt.manifest_checksums = CHECKSUM_TYPE_NONE;
 
+	/* Check that the platform supports the requested copy method. */
+	if (opt.copy_method == COPY_METHOD_CLONE)
+	{
+#if (defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE)) || \
+	(defined(__linux__) && defined(FICLONE))
+
+		if (opt.dry_run)
+			pg_log_debug("would use cloning to copy files");
+		else
+			pg_log_debug("will use cloning to copy files");
+
+#else
+		pg_fatal("file cloning not supported on this platform");
+#endif
+	}
+	else if (opt.copy_method == COPY_METHOD_COPY_FILE_RANGE)
+	{
+#if defined(HAVE_COPY_FILE_RANGE)
+
+		if (opt.dry_run)
+			pg_log_debug("would use copy_file_range to copy blocks");
+		else
+			pg_log_debug("will use copy_file_range to copy blocks");
+
+#else
+		pg_fatal("copy_file_range not supported on this platform");
+#endif
+	}
+
 	/* Read the server version from the final backup. */
 	version = read_pg_version_file(argv[argc - 1]);
 
diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index f02c91a5d4e..e4081ddfcec 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -629,6 +629,9 @@ write_reconstructed_file(char *input_filename,
 		rfile	   *s = sourcemap[i];
 		int			wb;
 
+		bool		skip_page_read = false;
+		bool		use_copy_range = false;
+
 		/* Update accounting information. */
 		if (s == NULL)
 			++zero_blocks;
@@ -644,28 +647,23 @@ write_reconstructed_file(char *input_filename,
 			continue;
 
 		/*
-		 * If requested, copy the block using copy_file_range.
+		 * Do we need to actually read the souce block?
 		 *
-		 * We can'd do this if the block needs to be zero-filled or when we
-		 * need to update checksum.
+		 * We only need to read the block if we are to perform plain copy or
+		 * calculate the checksum. If the user requested copy_file_range, we
+		 * may be able to skip reading the block.
 		 */
-		if ((copy_method == COPY_METHOD_COPY_FILE_RANGE) &&
-			(s != NULL) && (checksum_ctx->type == CHECKSUM_TYPE_NONE))
-		{
-#if defined(HAVE_COPY_FILE_RANGE)
-			wb = copy_file_range(s->fd, &offsetmap[i], wfd, NULL, BLCKSZ, 0);
+		skip_page_read = ((copy_method == COPY_METHOD_COPY_FILE_RANGE) &&
+						  (checksum_ctx->type == CHECKSUM_TYPE_NONE));
 
-			if (wb < 0)
-				pg_fatal("error while copying file range from \"%s\" to \"%s\": %m",
-						 input_filename, output_filename);
-			else if (wb != BLCKSZ)
-				pg_fatal("could not write file \"%s\": wrote only %d of %d bytes",
-						 output_filename, wb, BLCKSZ);
-#else
-			pg_fatal("copy_file_range not supported on this platform");
-#endif
-			continue;
-		}
+		/*
+		 * Should we copy the block using copy_file_range?
+		 *
+		 * We can do that if the user requested that, and the block is not
+		 * going to be zero-filled.
+		 */
+		use_copy_range = ((copy_method == COPY_METHOD_COPY_FILE_RANGE) &&
+						  (s != NULL));
 
 		/* Read or zero-fill the block as appropriate. */
 		if (s == NULL)
@@ -676,7 +674,7 @@ write_reconstructed_file(char *input_filename,
 			 */
 			memset(buffer, 0, BLCKSZ);
 		}
-		else
+		else if (!skip_page_read)
 		{
 			int			rb;
 
@@ -707,17 +705,39 @@ write_reconstructed_file(char *input_filename,
 			}
 		}
 
-		/* Write out the block. */
-		if ((wb = write(wfd, buffer, BLCKSZ)) != BLCKSZ)
+		/*
+		 * If possible, copy the block using copy_file_range. If not possible
+		 * (not requested/supported, or the block is zero-filled), fallback to
+		 * the regular write.
+		 */
+		if (use_copy_range)
 		{
+			wb = copy_file_range(s->fd, &offsetmap[i], wfd, NULL, BLCKSZ, 0);
+
 			if (wb < 0)
-				pg_fatal("could not write file \"%s\": %m", output_filename);
-			else
+				pg_fatal("error while copying file range from \"%s\" to \"%s\": %m",
+						 input_filename, output_filename);
+			else if (wb != BLCKSZ)
 				pg_fatal("could not write file \"%s\": wrote only %d of %d bytes",
 						 output_filename, wb, BLCKSZ);
 		}
+		else
+		{
+			/* Write out the block. */
+			if ((wb = write(wfd, buffer, BLCKSZ)) != BLCKSZ)
+			{
+				if (wb < 0)
+					pg_fatal("could not write file \"%s\": %m", output_filename);
+				else
+					pg_fatal("could not write file \"%s\": wrote only %d of %d bytes",
+							 output_filename, wb, BLCKSZ);
+			}
+		}
 
-		/* Update the checksum computation. */
+		/*
+		 * Update the checksum computation (we must have read the page if we're
+		 * to calculate the checksum).
+		 */
 		if (pg_checksum_update(checksum_ctx, buffer, BLCKSZ) < 0)
 			pg_fatal("could not update checksum of file \"%s\"",
 					 output_filename);
-- 
2.44.0

v20240401-0006-allow-cloning-with-checksum-calculation.patchtext/x-patch; charset=UTF-8; name=v20240401-0006-allow-cloning-with-checksum-calculation.patchDownload
From 86e9df238bc9490343a39dcaa865399b05940a74 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Sat, 30 Mar 2024 23:45:35 +0100
Subject: [PATCH v20240401 6/7] allow cloning with checksum calculation

When cloning files in cases that require checksum calculation (e.g.
different checksum type, ...), use the faster cloning method, but
then also read the data to calculate the checksum.
---
 src/bin/pg_combinebackup/copy_file.c | 108 +++++++++++++++++----------
 1 file changed, 67 insertions(+), 41 deletions(-)

diff --git a/src/bin/pg_combinebackup/copy_file.c b/src/bin/pg_combinebackup/copy_file.c
index be8336f7120..8e8c02e58f8 100644
--- a/src/bin/pg_combinebackup/copy_file.c
+++ b/src/bin/pg_combinebackup/copy_file.c
@@ -25,12 +25,15 @@
 static void copy_file_blocks(const char *src, const char *dst,
 							 pg_checksum_context *checksum_ctx);
 
-static void copy_file_clone(const char *src, const char *dst);
+static void copy_file_clone(const char *src, const char *dst,
+							pg_checksum_context *checksum_ctx);
 
-static void copy_file_by_range(const char *src, const char *dst);
+static void copy_file_by_range(const char *src, const char *dst,
+							   pg_checksum_context *checksum_ctx);
 
 #ifdef WIN32
-static void copy_file_copyfile(const char *src, const char *dst);
+static void copy_file_copyfile(const char *src, const char *dst,
+							   pg_checksum_context *checksum_ctx);
 #endif
 
 /*
@@ -44,7 +47,8 @@ copy_file(const char *src, const char *dst,
 		  CopyMethod copy_method)
 {
 	char   *strategy_name = NULL;
-	void	(*strategy_implementation) (const char *, const char *) = NULL;
+	void	(*strategy_implementation) (const char *, const char *,
+										pg_checksum_context *checksum_ctx) = NULL;
 
 	/*
 	 * In dry-run mode, we don't actually copy anything, nor do we read any
@@ -60,29 +64,8 @@ copy_file(const char *src, const char *dst,
 			pg_fatal("could not close \"%s\": %m", src);
 	}
 
-	/*
-	 * If we need to compute a checksum, but the user perhaps requested
-	 * a special copy method that does not support this, fallback to the
-	 * default block-by-block copy. We don't want to fail if just one of
-	 * many files requires checksum, etc.
-	 *
-	 * If we don't need to compute a checksum, then we can use any special
-	 * operating system primitives that we know about to copy the file; this
-	 * may be quicker than a naive block copy. We only do this for WIN32.
-	 * On other operating systems the user has to explicitly specify one of
-	 * the available primitives - there may be multiple, we don't know which
-	 * are reliable/preferred.
-	 */
-	if (checksum_ctx->type != CHECKSUM_TYPE_NONE)
-	{
-		/* fallback to block-by-block copy */
-		copy_method = COPY_METHOD_COPY;
-	}
 #ifdef WIN32
-	else
-	{
-		copy_method = COPY_METHOD_COPYFILE;
-	}
+	copy_method = COPY_METHOD_COPYFILE;
 #endif
 
 	/* Determine the name of the copy strategy for use in log messages. */
@@ -94,6 +77,7 @@ copy_file(const char *src, const char *dst,
 			break;
 		case COPY_METHOD_COPY:
 			/* leave NULL for simple block-by-block copy */
+			strategy_implementation = copy_file_blocks;
 			break;
 		case COPY_METHOD_COPY_FILE_RANGE:
 			strategy_name = "copy_file_range";
@@ -119,25 +103,55 @@ copy_file(const char *src, const char *dst,
 	else
 	{
 		if (strategy_name)
-		{
 			pg_log_debug("copying \"%s\" to \"%s\" using strategy %s",
 						 src, dst, strategy_name);
-			strategy_implementation(src, dst);
-		}
+		else if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
+			pg_log_debug("copying \"%s\" to \"%s\"",
+						 src, dst);
 		else
-		{
-			if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
-				pg_log_debug("copying \"%s\" to \"%s\"",
-							 src, dst);
-			else
-				pg_log_debug("copying \"%s\" to \"%s\" and checksumming with %s",
-							 src, dst, pg_checksum_type_name(checksum_ctx->type));
+			pg_log_debug("copying \"%s\" to \"%s\" and checksumming with %s",
+						 src, dst, pg_checksum_type_name(checksum_ctx->type));
 
-			copy_file_blocks(src, dst, checksum_ctx);
-		}
+		strategy_implementation(src, dst, checksum_ctx);
 	}
 }
 
+/*
+ * Calculate checksum for src file.
+ */
+static void
+checksum_file(const char *src, pg_checksum_context *checksum_ctx)
+{
+	int			src_fd;
+	uint8	   *buffer;
+	const int	buffer_size = 50 * BLCKSZ;
+	ssize_t		rb;
+	unsigned	offset = 0;
+
+	/* bail out if no checksum needed */
+	if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
+		return;
+
+	if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+		pg_fatal("could not open file \"%s\": %m", src);
+
+	buffer = pg_malloc(buffer_size);
+
+	while ((rb = read(src_fd, buffer, buffer_size)) > 0)
+	{
+		if (pg_checksum_update(checksum_ctx, buffer, rb) < 0)
+			pg_fatal("could not update checksum of file \"%s\"", src);
+
+		offset += rb;
+	}
+
+	if (rb < 0)
+		pg_fatal("could not read file \"%s\": %m", src);
+
+	pg_free(buffer);
+	close(src_fd);
+}
+
 /*
  * Copy a file block by block, and optionally compute a checksum as we go.
  */
@@ -193,7 +207,8 @@ copy_file_blocks(const char *src, const char *dst,
  *		Clones/reflinks a file from src to dest.
  */
 static void
-copy_file_clone(const char *src, const char *dest)
+copy_file_clone(const char *src, const char *dest,
+				pg_checksum_context *checksum_ctx)
 {
 #if defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE)
 	if (copyfile(src, dest, NULL, COPYFILE_CLONE_FORCE) < 0)
@@ -220,6 +235,9 @@ copy_file_clone(const char *src, const char *dest)
 #else
 	pg_fatal("file cloning not supported on this platform");
 #endif
+
+	/* if needed, calculate checksum of the file */
+	checksum_file(src, checksum_ctx);
 }
 
 /*
@@ -227,7 +245,8 @@ copy_file_clone(const char *src, const char *dest)
  *		Copies a file from src to dest using copy_file_range system call.
  */
 static void
-copy_file_by_range(const char *src, const char *dest)
+copy_file_by_range(const char *src, const char *dest,
+				   pg_checksum_context *checksum_ctx)
 {
 #if defined(HAVE_COPY_FILE_RANGE)
 	int			src_fd;
@@ -254,16 +273,23 @@ copy_file_by_range(const char *src, const char *dest)
 #else
 	pg_fatal("copy_file_range not supported on this platform");
 #endif
+
+	/* if needed, calculate checksum of the file */
+	checksum_file(src, checksum_ctx);
 }
 
 #ifdef WIN32
 static void
-copy_file_copyfile(const char *src, const char *dst)
+copy_file_copyfile(const char *src, const char *dst,
+				   pg_checksum_context *checksum_ctx)
 {
 	if (CopyFile(src, dst, true) == 0)
 	{
 		_dosmaperr(GetLastError());
 		pg_fatal("could not copy \"%s\" to \"%s\": %m", src, dst);
 	}
+
+	/* if needed, calculate checksum of the file */
+	checksum_file(src, checksum_ctx);
 }
 #endif							/* WIN32 */
-- 
2.44.0

v20240401-0007-WIP-copy-larger-chunks-from-the-same-file.patchtext/x-patch; charset=UTF-8; name=v20240401-0007-WIP-copy-larger-chunks-from-the-same-file.patchDownload
From 9652e80028e1c5414445e69f1bfd3631cce2d6f3 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Mon, 1 Apr 2024 00:37:59 +0200
Subject: [PATCH v20240401 7/7] WIP: copy larger chunks from the same file

---
 src/bin/pg_combinebackup/reconstruct.c | 162 +++++++++++++++++--------
 1 file changed, 114 insertions(+), 48 deletions(-)

diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index e4081ddfcec..c8c0f7046e5 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -540,7 +540,7 @@ write_reconstructed_file(char *input_filename,
 						 CopyMethod copy_method)
 {
 	int			wfd = -1;
-	unsigned	i;
+	unsigned	next_idx;
 	unsigned	zero_blocks = 0;
 
 	unsigned	prefetch_index = 0;
@@ -623,23 +623,43 @@ write_reconstructed_file(char *input_filename,
 		pg_fatal("could not open file \"%s\": %m", output_filename);
 
 	/* Read and write the blocks as required. */
-	for (i = 0; i < block_length; ++i)
+	next_idx = 0;
+	while (next_idx < block_length)
 	{
 		uint8		buffer[BLCKSZ];
-		rfile	   *s = sourcemap[i];
+		int			start_idx = next_idx;
+		int			last_idx = next_idx;
+		rfile	   *s = sourcemap[start_idx];
 		int			wb;
+		int			nblocks;
 
 		bool		skip_page_read = false;
 		bool		use_copy_range = false;
 
+		/*
+		 * find the last block to use from the same source file, but don't
+		 * work with more than 128 blocks (1MB) at a time
+		 *
+		 * XXX not sure if the second condition is 100% correct, but it gets
+		 * capped a couple lines later so ok
+		 */
+		while ((last_idx + 1 < block_length) &&
+			   (sourcemap[start_idx] == sourcemap[last_idx+1]) &&
+			   (last_idx - start_idx <= 128))
+			last_idx += 1;
+
+		/* how many blocks in this chunk, and set start of the next loop */
+		nblocks = Min(128, last_idx - start_idx + 1);
+		next_idx += nblocks;
+
 		/* Update accounting information. */
 		if (s == NULL)
-			++zero_blocks;
+			zero_blocks += nblocks;
 		else
 		{
-			s->num_blocks_read++;
+			s->num_blocks_read += nblocks;
 			s->highest_offset_read = Max(s->highest_offset_read,
-										 offsetmap[i] + BLCKSZ);
+										 offsetmap[last_idx] + BLCKSZ);
 		}
 
 		/* Skip the rest of this in dry-run mode. */
@@ -673,14 +693,34 @@ write_reconstructed_file(char *input_filename,
 			 * uninitialized block, so just zero-fill it.
 			 */
 			memset(buffer, 0, BLCKSZ);
+
+			for (int j = 0; j < nblocks; j++)
+			{
+				/* Write out the block. */
+				if ((wb = write(wfd, buffer, BLCKSZ)) != BLCKSZ)
+				{
+					if (wb < 0)
+						pg_fatal("could not write file \"%s\": %m", output_filename);
+					else
+						pg_fatal("could not write file \"%s\": wrote only %d of %d bytes",
+								 output_filename, wb, BLCKSZ);
+				}
+
+				/* Update the checksum computation. */
+				if (pg_checksum_update(checksum_ctx, buffer, BLCKSZ) < 0)
+					pg_fatal("could not update checksum of file \"%s\"",
+							 output_filename);
+			}
+
+			continue;
 		}
-		else if (!skip_page_read)
-		{
-			int			rb;
 
-			/* maybe do some prefetching */
+		/* do the prefetching, if we're to read the pages in any way */
+		if (!skip_page_read)
+		{
+			/* maybe do some prefetching, until after the end of this range */
 			prefetch_distance = Min(prefetch_distance + 1, prefetch_max);
-			while (prefetch_index < Min(block_length, i + prefetch_distance))
+			while (prefetch_index < Min(block_length, last_idx + prefetch_distance))
 			{
 				rfile *ps = sourcemap[prefetch_index];
 
@@ -691,56 +731,82 @@ write_reconstructed_file(char *input_filename,
 
 				prefetch_index++;
 			}
+		}
 
-			/* Read the block from the correct source, except if dry-run. */
-			rb = pg_pread(s->fd, buffer, BLCKSZ, offsetmap[i]);
-			if (rb != BLCKSZ)
+		/* now copy the blocks using either read/write or copy_file_range */
+		if (!use_copy_range)
+		{
+			for (int j = 0; j < nblocks; j++)
 			{
-				if (rb < 0)
-					pg_fatal("could not read file \"%s\": %m", s->filename);
-				else
-					pg_fatal("could not read file \"%s\": read only %d of %d bytes at offset %llu",
-							 s->filename, rb, BLCKSZ,
-							 (unsigned long long) offsetmap[i]);
+				int			rb;
+
+				/* Read the block from the correct source, except if dry-run. */
+				rb = pg_pread(s->fd, buffer, BLCKSZ, offsetmap[start_idx + j]);
+				if (rb != BLCKSZ)
+				{
+					if (rb < 0)
+						pg_fatal("could not read file \"%s\": %m", s->filename);
+					else
+						pg_fatal("could not read file \"%s\": read only %d of %d bytes at offset %llu",
+								 s->filename, rb, BLCKSZ,
+								 (unsigned long long) offsetmap[start_idx + j]);
+				}
+
+				/* Write out the block. */
+				if ((wb = write(wfd, buffer, BLCKSZ)) != BLCKSZ)
+				{
+					if (wb < 0)
+						pg_fatal("could not write file \"%s\": %m", output_filename);
+					else
+						pg_fatal("could not write file \"%s\": wrote only %d of %d bytes",
+								 output_filename, wb, BLCKSZ);
+				}
+
+				/* Update the checksum computation. */
+				if (pg_checksum_update(checksum_ctx, buffer, BLCKSZ) < 0)
+					pg_fatal("could not update checksum of file \"%s\"",
+							 output_filename);
 			}
 		}
-
-		/*
-		 * If possible, copy the block using copy_file_range. If not possible
-		 * (not requested/supported, or the block is zero-filled), fallback to
-		 * the regular write.
-		 */
-		if (use_copy_range)
+		else	/* use copy_file_range */
 		{
-			wb = copy_file_range(s->fd, &offsetmap[i], wfd, NULL, BLCKSZ, 0);
+			/* copy_file_range modifies the passed offset, so make a copy */
+			off_t	off = offsetmap[start_idx];
+
+			wb = copy_file_range(s->fd, &off, wfd, NULL, BLCKSZ * nblocks, 0);
 
 			if (wb < 0)
 				pg_fatal("error while copying file range from \"%s\" to \"%s\": %m",
 						 input_filename, output_filename);
-			else if (wb != BLCKSZ)
+			else if (wb != nblocks * BLCKSZ)
 				pg_fatal("could not write file \"%s\": wrote only %d of %d bytes",
-						 output_filename, wb, BLCKSZ);
-		}
-		else
-		{
-			/* Write out the block. */
-			if ((wb = write(wfd, buffer, BLCKSZ)) != BLCKSZ)
+						 output_filename, wb, nblocks * BLCKSZ);
+
+			if (skip_page_read)
+				continue;
+
+			for (int j = 0; j < nblocks; j++)
 			{
-				if (wb < 0)
-					pg_fatal("could not write file \"%s\": %m", output_filename);
-				else
-					pg_fatal("could not write file \"%s\": wrote only %d of %d bytes",
-							 output_filename, wb, BLCKSZ);
+				int			rb;
+
+				/* Read the block from the correct source, except if dry-run. */
+				rb = pg_pread(s->fd, buffer, BLCKSZ, offsetmap[start_idx + j]);
+				if (rb != BLCKSZ)
+				{
+					if (rb < 0)
+						pg_fatal("could not read file \"%s\": %m", s->filename);
+					else
+						pg_fatal("could not read file \"%s\": read only %d of %d bytes at offset %llu",
+								 s->filename, rb, BLCKSZ,
+								 (unsigned long long) offsetmap[start_idx + j]);
+				}
+
+				/* Update the checksum computation. */
+				if (pg_checksum_update(checksum_ctx, buffer, BLCKSZ) < 0)
+					pg_fatal("could not update checksum of file \"%s\"",
+							 output_filename);
 			}
 		}
-
-		/*
-		 * Update the checksum computation (we must have read the page if we're
-		 * to calculate the checksum).
-		 */
-		if (pg_checksum_update(checksum_ctx, buffer, BLCKSZ) < 0)
-			pg_fatal("could not update checksum of file \"%s\"",
-					 output_filename);
 	}
 
 	/* Debugging output. */
-- 
2.44.0

xeon-nvme-xfs.csvtext/csv; charset=UTF-8; name=xeon-nvme-xfs.csvDownload
i5-ssd-zfs.csvtext/csv; charset=UTF-8; name=i5-ssd-zfs.csvDownload
xeon-nvme-btrfs.csvtext/csv; charset=UTF-8; name=xeon-nvme-btrfs.csvDownload
benchmark-results.pdfapplication/pdf; name=benchmark-results.pdfDownload
%PDF-1.5
%����
4 0 obj
<< /Length 5 0 R
   /Filter /FlateDecode
>>
stream
x�-L9
�0����������+�h��]%�����)�!a��RA%u���D4�&���	���a����Hh�������O�xRQ���~
endstream
endobj
5 0 obj
   92
endobj
3 0 obj
<<
   /ExtGState <<
      /a0 << /CA 1 /ca 1 >>
   >>
   /XObject << /x6 6 0 R >>
>>
endobj
6 0 obj
<< /Length 9 0 R
   /Filter /FlateDecode
   /Type /XObject
   /Subtype /Form
   /BBox [ 0 0 1754 1241 ]
   /Resources 8 0 R
>>
stream
x���Io�@���+|�L<�g�k�EB�%j������(�����(�DY�K�{v���[��V(��d���D�`�>��9�s�QK�+,
o
e�fOH�bi��1j$f�@���(x(�*����5s5I����%�^j�Ln1O�{�O���g���UoZ��]����V#;Y�-�/���L5��2�HV�Lu}[*������@�����v��'�`�t��=���4�����uQ��X������s���-�N���IR�����jI-�F���F�/�y���Vj���}=���r)q��$�J�~�������$��T�w$)�^� I<NF�.J

�4}��=���;l��o���?����eP�
endstream
endobj
9 0 obj
   370
endobj
8 0 obj
<<
   /ExtGState <<
      /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >>
      /a0 << /CA 1 /ca 1 >>
   >>
   /XObject << /x11 11 0 R /x12 12 0 R /x13 13 0 R /x14 14 0 R >>
   /Font <<
      /f-0-0 10 0 R
   >>
>>
endobj
11 0 obj
<< /Length 15 0 R
   /Filter /FlateDecode
   /Type /XObject
   /Subtype /Image
   /Width 982
   /Height 537
   /ColorSpace /DeviceRGB
   /Interpolate true
   /BitsPerComponent 8
>>
stream
x���y�����$��{�99��&�`p�	Q4"Q4�5&��QD�"&�f��AAD@�Q6�ADPQ�eXes`Pv�}�f����o�_���?535�=5�����������~��zj�X������K��{l��U[BII�O<���o�;�\����]�c��e{ _4h�������[����)�>�lG�����'L��#�}��pyy���S;u������^�:����={�(av��m����}�Y��y�f-d����O>|�]�G}���B��:t��B�SO=��c��'O�|�(g���[���O?�e.Z�(��z-�a��mU[#�/�0`��j.$Do����Q��o��y��&���U��($��(����5�!C�,\�������������������}-���j�*����{�:�9s���?~��������s��w���gK=^�ti��������L�cK�
��=�\����g���O�:��}����Wg!5��'����oXK+++�EPE�5U��oh_x�^�������+V�PZ�xqu2p�����|���!C���I���'p{7~��A�)//���G�,�[���w��]	3i��y���
��O>��:�Q����ki�w�N���*{����X�_��n���
�Ur��~����������W�U����O;�w�}7��x����;w~����z���#Gn��%�Kk���g�|��;�����/���M����x,����M�3���@�'N�h�Z���������	3��3f$$�������+O?��R�3�<����<x0�z��
u�����v��MW���c�|��'�xBt�p��Q
U�N?;b�]x?RRR����_?=��}��}����{�#��h��Px�������������>o�<�����W����}��Z�f������3mm_x����a/X���g��Ji#�����:r�H����|����P[����5J�����-�n;QV���������k�������+G���COLq�{��Jk;w���%��Y�%�|��^Ea�S�N��
���		���O����������>�K�.���������r����%p���)4�O���Y���S5�4[�����
��Y�������N��x�bmg�����(�j�r����0a�My��?���%K�����#�k�������0m�4m��;*��^��o�v���������� �.]��x�������]h��*��g�;�j�����z�X<�kQ������x����Y46}�����o��tj1X)�{�5�.{g���kQQ�/������_]���,����[z��g�]{�&$p��q��^\\����}�j�6�����������?�fVJ�����	\�Pa��������Y�z���s���h�^�z�0�[m]h�r�7��4���Sz|��q]�h�{+��������;��u����f����M�,���P���^W[r��!���9s��l��\����.�;v���]���j	�J��."4q���6��P@dIU����_~��'����=���,X�o���/\At���=�O��f��
���������7����%p%�'�|R��{j����r��i?q��r���C���woe��F���vi�$��k��o���~���?��L�4IS���_�B��4���}kw�x�\�)�{$Mw����6�2���z������8m����#���J1�c��v��zBW6�����0`��Y�7o���mc����	�	\v����8l�0{�49�+�k���#�)v�qqq�7�K�z<e�-��rM�c��u�k9y�J��]�������(�'x���������)�GII��~�%k�aq���w�H���_�zi6M���9$�J��Hn�B�U���.���|����@��v�Z�����'����Y(���g���������s�y��y�$�[��?�����c�?o�n�HN��\��y��=��}{��Q�'p{l�Rh�ZkJ�_��M�,v�H�^(����g�7n\E��'���~�?����?y�����=m�4md�c�cXO�4��	<�j~��'c����1�M�{��
	�>�&�*�>S��z$pP�:u�W\����<i>�����K�.����f����|����v�ZQ>��J�
���u������}xB��(������-T{�	\/��A���#�����k��d�o��d��4�T6�k�z��?���-���+��daa�6�����;����c�?
H����]7��@dAw��-�K�������?��}���]VV��sg�f����|����8y�d�3���p�|�\]ZZ�����?a�����G5Q�P��&��2��z�����3���}������	�>��c�VP�/a%�*��L�>����y����o��W1����Fc��u�e��I��+	�5���
f���x�����b���		|����>���Nf�:�\��%����?8:e���K�t-69���������"�^�����nlN�,��G���;v�n�N9l���{�4��|�:ujBX�5k�O<��S��$p�jn���[�n	�k����o�������z��u������Bu����3�x�e�E��c���		|�����|�a�j�����v�����s�����\Q?p��w+rrW"�t�^�?��lB�}y/�����)		\i�����+*�/[��>�\�u����c.--���'ON�^��'p����={j#k��3Fq��5�L�b��	<�j���o5��qo�����?���}�Y�����<!kC���:zE-�>�\�f ��:���1!?[,��x��BY�j���C;u�d��7b���15���>}��@E	\�*J���M�������#��Z���c��,��k���	��{�C�W�\�~�*��c�%p
�k��J���(**�6T�����	���G���z��������{����5Nyy��t����O�����}���b�x��@��<�r���3��������+n��1?������JP��Ty��7o��m[5G�!i`�\�'�]�G��^.//O��������U�2<*�l��iSqq���������S[�n]�ti5_����~��w���������~���/��<����={�����9��c�j`�\�'�]��w�>|xE	\W7K�,y���2<*�l�0a��}����J�5��gE	��r0��"�x,~5Au��)S����l�2�CEDM<p��&n����W^5j��y�:���o��k��v�������q,��^~����B������w�O�>=g��1c�L�8q��u�������^����=:s����G+9/\���K9y����s��i	;v�����
o��-�^q���Y�����j���
46�����A����!�)m
=��'�����5*����V�Xa��;�ak5��S�N���M/**��i��G}d��K��N����,Y������E+8r�H=8q������`���Z�f������s]��O5���+�qj�S����m�E�i����-�����5��}�v�Z���7�X�fM^^���������h
�xYY���������n3��@��(�h��VK�����_IL�m���l
u
���|�A�����&5���I�>��CMW�W�S�U�RvU�TNxuW|����B����\7}�t
R�M�N�5���H��hf���W_�5�^HaX?b��(��g��P���d��������x��=zE��'p�F�������m����(��/X���e*�._�\50�R[wK�zv��i����	����������1�Cv�����[�����^N+�w�^��Z���7����K����^��P���?~�m��^Q��v��f�^�Z�������CE4$��%�M�6i!v5��P-���@��2�+4j��6����������}���/�m��]3k96�R�2�(�+��De0��4	�^���}+
r�)/�*�)��'��?��3��4�li�W�^��h��y,��h��[i���Q���O���y�o���G���?#U���lA��^TTd9S�w��-��Z�w�{�ny���o�M�[��.~��Y��
b������}���yb��6n�h�#�����^s�E������X�7���
�~]"���F���I�� ���#M����I��<��fo2���2���E�YD��8y����$p{W9�Q�-�yS&O��kK��]3f��2�F��o�2z�h�-�:�mw���co+�ko��3g*��r��ZYm%�k��O�'�y����;wz�$po��{���\?�a�p-\���5Q,~������ll� %,Ak������|,������q8p�.
����.�r�v�����V���4	\i���ZW��6-9M��g�^�b���P��������Yc	�����x~~�=�'p�M������1c������z���
�n��L�>}���%%%Z�7�g�}f�y��M�r	�f����4�m^�v�X�~�"w���.��Xm�7�b�7�S�y���e�����������?_�$VA��k��my���/1�@�O��V���(Fu�%=K��&pc/��Ga�I��O�=ztaa�MWF�7����w��Q-DY=`����d����a+X�[�F����P��<y�e���2�����9r���<o��#F��|����i���B�g��iK7n����~��?�{7������O���]�x�L�|�ro��U,�k�xo���b����Gkg����ZG��T�~��q=����o���m���z;�H���P(�7f5�M�����_�b�;����.Y�f�^]t���c�����l���}��r����0�����J�Z�~\#�!q[�z���z������n�VW��k	Z�V��>TGqZ���������,^�x��	���B�^���B)..V���%[-Ma������Z��>m�4
^��Ey�Z{*��v�f��hwL�2�n�V&��W5~�D���Y�e�6�.��;t�`��?)���^W;T����N��m�4lm
�P�#K����~�Q���������@�(�T���?��Q#m%.���f��������2�R�[�
rZ������'N�����I�<p-SP���$3���a����g�-����ZK��<T�O)a�[���fx�a��4f����o�i�&�����5��k�z�'���i-�W�=���w����hf��z���i�4N/����m���Gz������s������GM�D+��B��������P��0�u���f���1Zk����5��CV��2������u���m���Om�h!����%�T��]����V9rd��j��������$p����w�������^{m��������J_�����J�c���[�n��[�lI������>�� �,���e$�^�Z+�oC�WTT��/t��}���6E:��������9S�M�8���${�j��{����=����?��0@~��-Z�����5�K�.M�61b�����g�=p�V�1c�?��{����^s�5z��uk%m�l��?��3v����%%%�����aC�GD��A����=��o~3j���q�������.�����[n7n\�
�~�V������_��7�p�%�\��];�z�����5n����U�Vv�
�*x��w.����K���8y��=����z�����7j�������2dH�Bv���d�Bif"tuL�:�a����������2{��G����w;v�8��3KKKmb�&M����0V����iS�����/����������/����#G�q��MG��.<��sN�8���Z�N��������.���X��.����.�@��C��~xAA�B�&*�/^�8�j������;vc�_����4�"��������Z*���HI��+�"�d	�$8�I$p �H�@&���L"��D2�d	�$8�I$p �H�@&���L"��D2�d	�$8�I$p �H�@&���L"��D2)`?�l��;~���M����q�����@m0��o���������<�k�x��m_�]�� ��D2�d	�$8�I$p �H�@&���L"��D2�d	�$8�I$p �H�@&���L"��D2�d	�$8�I$p�����������o}�G?�����5����w�yg���4h0`��m��
�^{��4l�p��yY2 ��U^^���������y���n�M}��6m����)r/]�T7n<n�8=X�l��g�]\\���P����Zj���k����o���5�\�^x����mb���m��}��P&��M�6�9sfV	�����o������+f�k_+**����
k������5j��|��w2$K#�	��N�:��������*--=}��W����G��Sc��Q2���k���7�V����=;w����L�6�3�gw-��)�f.FW���
7���m[�&�3�<s�����o��m��Y�|y�
�i�������0V�%�j����f��)f�'j��	�������G�<yR�|������g�u�}j
�8PK��������/�3F,X���=�\��m6lx��qM���g�&M�
��y���[g{��u$p���3gNg�=z���k����Ky���C���g����������U@���@�����\�P���[J�=@ �H� D-��-���$p�����H� D$p��BD�H� D$p��BD�H� D$p��BD�H� D���eK������b�7���0�k�(8Q�h��������w5��Z5�BD��("��D��-'���h8Q&�bO|+����������\�E[�����%�_����PvW@��(��N���������u�������~�(?�+� ZTM����k_���_k_~dU��0Q&i��}��������@-��t�����}�k��"Lu�L6�)������S|i��=e� T	���D�p�����la�;e�{Z��m_}�����zH��
u'Z��^�D�L�UQ��m_Y\	�!�"+H�uJN�I����WE$pGGn��h��H�uJN�I���x6!��88rCNG�F�Sr�LB=���D	�!��E#��)9]&$p������"������.8GGn��h��H�uJN�		�#�#7�t��a$�:%��$�8�u,��CGn7Z���,<�d����Zxny����h�H�u
	�j	��:@�!�#7�-J�� u�����m�-�����m��t{����l�������A�SH�UL��	�\CGn9�����/���o�)e���_����l�� Z�)$p8�� �#7d%�������mQD�:�N$p�x�-�8	@D���H�UC��SH�$pAGn�@�/:���e)D�W
qsy�u
	� ���8rCN'�
y�'���@4}��6�=��������l����|+u����{�*���u
	� ���8rCN'�N����N�m��e�{Z�\�g�"������������	�h��@�L���D�p��:�N��	�2���-���:�8�NYI�Y��"�@-�h�:���b���K����:����XY��!lYI�Y����.�������K�-5=KiM�h��xND�	�S�o�����-
a�J�L�R-�i�-���F�g�N!��D�H��YE��2PK����@�,?��t��S7���/?�*����#��D� ��6xN�	�Z�^�����t=s]�����������-����������������(�T��yj��}w�<e��w����?����3Q���s�LH��-�2y��te���m6�@-�g�o��4
s�]�+���L�.$��(xn�Lr�L�����	'�EN�I�����>�
�Z�!�K�7��;��Lr�L�����	'�EN�I��o�������l�^�Q&9Q&j	z&=N�IN�I��&~�W�^�Q&9Q&j	z&=N�IN�		<�Q&9Q&j	z&=N�IN�		<�Q&9Q&j	z&=N�IN�		<�Q&	eR�i����ul����%�?��8�u=3'�re�����(��29��k���R�<m�q6�&z&	N�INDxn�L�$M����������$p8Q&9-H���2��2PK�3s"�o_{����B�w����6�$'�	<�Q&9Q&j	zfN$�	����	���6�$'�	<�Q&9Q&j	zf�&���<���G�L���O|����Ede�����(��(��V�Z��{w���s�v���{�M�9s�f�8qbIII�F��M�]�N�������X\�h����>�
R�
M�|�X�w?��Lj4Z�{�J����������������{S~��-Z�����5�K�.M�61b�����g�7�(�g�hO��������oJ�+�l�w?��Lj4Z�{�J������]�v�7o�'���[+i��9~��g��k�.=.))�W���
t���g��N����F�e
�		������	�7����Q���:tHS���/��"o�[n�e��qYhT�3I�p�LH�p�LH����
7�p�%��k���;��W�^aaa^^^����Z�j5`��l�4"��$p8Q&$p8Q&$p�j		���'O������C=4��F�y3�u�]C�IX���;���g�l��i�9{�����6��g�l��i�9{f����g�l�h���������U8e�P&�ha�Q&u
eR�e��K�4�����wYY�=�����~��;v�y�����6�I�&yyyYhT������2�=p8Q&��Z-!�_r�%�����^~��#G����M��5J.\x�9��8Q��?zfB�,���p��)����l��f#Z�)�		N�IN$p��eT��+���w��g��_��/�0��������.�_�~�������pMT&_�xq�^��3z���]�4��}����u
eB�e�	��a�%��D8Q&�	�(��H���@��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&�(�o>r������������PI�L��(�N�I-J���oJS#z���@%�3�p�L(8Q&�(�S&@��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&$p��3�p�L(8Q&5Z&ly���)D�?9��kJ��=�h'��2�eR�e�e��45����_�)e��L��(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2A�u����-[~��_��=z��;��_�~�
`7l�p���jJ��
������F=��	'��2�eB����������O��>�h�6m��������.]���77n�,[�����...���k?z&=N�	e'��2A��u��������^�|�r{��C��|��m���7��mb��Mg�����F=��	'��2�eB��V�'p���}�kEEE���a�Z�h1��F�y��}��C���@���I��eB���2�LP����������=z��3f���������qco�V�Zy���
���L8Q&�	�(��Z�](g�y���[�q��}��i�|��
x34o�|���	��sg>�q�L���3m6g����=�fs�L���3m6g����=�fs�L���3�XSW����=�f�P&�	�(�))�f ?W_Bo����	�������G�<yR�\�i��u�Y�7o��X#�w-x�N�	e'��2A-����>�W�^����
���`����?����k��m��
�?��={�l����a��7o��u�l�v�g�3�D�P&p�L(�R;v�����[7��v�Z�r��C�y3��=�{���'O�>UC��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�I��d����5%�V����}G��>��:������Q&�	�(����������g�>��:������Q&�	�(���I��m_aD@B��^�D�(�N�I����zf�z&BG�P&p�L�W&$p���3��3:��2�e�2!�5������Q&�	�(���		�9����L��2�L�D�D�LH�@��gF�g"t�	e'�$zeBj=3z=��L(8Q&�+8Ps�����eB���2�^�����C��^�D�(�N�I����zf�z&BG�P&p�L�W&$p���3��3:��2�e�2!�5������Q&�	�(���		�9����L��2�L�D�D�LH�u���?~�g�����k5q��
�^{m�
6l8o��l��v�gF�g"t�	e'�$zeB��|���&Ll����q��`��eg�}vqqq6�����L��2�L�D�D�LH�u�]w�ea��m��o|�eee�m��Mg�����E=3z=��L(8Q&�+x]v��7�r�-W^y�W\��w�������7j�������2dHGX��3��3:��2�e�2!��e���>|��c���]{���=://�q����Z�0`@�O���3�8{�����6��g�l��i�9{�����6��g�l��i�9{�����_���g�l��Y3�(�n�I������?��H�4��9|=z����{�/_��Aob�������Q�v�k�w-:��2�e�2�=���s����������~����g�y����5E��:����7gu��=3z=��L(8Q&�+x]��������:th����ohb��=�4i2l������n�:�c�������eB���2�^�����������^�z
<x�������gw��}�������j�����eB���2�^�����C��^�D�(�N�I����zf�z&BG�D�L�.�[�:Th��#�aD�G�D�LH�@��gF�g"t�I�������
=�A}�I����zf�z&BG�D�L���L(��3��3:�$zeB�eB�������Q&�+�E�(�@p����L��2�^�-BG�P&��gF�g"t�I���h:��2=3z=��L�W&D��Q&�	�������e�2!Z��2�LG��^�D�(���	�"t�	e 8zf�z&BG�D�L���L(��3��3:�$zeB�eB�������Q&�+�E�(�@p����L��2�^�-BG�P&��gF�g"t�I���h:��2=3z=��L�W&D��Q&�	�������e�2!Z��2�LG��^�D�(���	�"t�	e 8zf�z&BG�D�L���L(��3��3:�$zeB�eB�������Q&�+�E�(�@p����L��2�^�-BG�P&��gF�g"t�I���h:��2=3z=��L�W&D��Q&�	�������e�2!Z��2�LG��^�D�(���	�"t�	e 8zf�z&BG�D�L���L(��3��3:�$zeB�eB�������Q&�+�E�(�@p����L��2�^�-BG�P&��gF�g"t�I���h:��2=3z=��L�W&D��Q&�	�������e�2!Z��2�LG��^�D�(���	�"t�	e 8zf�z&BG�D�L���L(��3��3:�$zeB�eB�������Q&�+�E�(�@p����L��2�^�-BG�P&��gF�g"t�I���h:��2=3z=��L�W&D��Q&�	�������e�2!Z��2�LG��^�D�(���	�"t�	e 8zf�z&BG�D�L���L(��3��3:�$zeB�eB�������Q&�+�E�(�@p����L��2�^�-BG�P&��gF�g"t�I���h:��2=3z=��L�W&D��Q&�	�������e�2!Z��2�LG��^�D�(���	�"t�	e 8zf�z&BG�D�L���L(��3��3:�$zeB�eB�������Q&�+�E�(�@p����L��2�^�-BG�P&��gF�g"t�I���h:��2=3z=��L�W&D��Q&�	�������{���q�n��z6��(�(���	�"t�	e��`�����w�8qbI	@��3��3g�I�0��>���2�^�-BG�P&��.]�4m�t����~{�-�=����I��eB���2�Lm��?��3v����%%%�������_���I��eB���2�Lm���]t���-��2n��,����g�3�D�P&p�L(D[^^^����o[�j5`��,����g�3�D�P&p�L(D����5j�}{�]w
2$a����7�J�4�I�������3�,--�o�4i�����!���i�Q�F�����9��'Nd{D@�(�_p��_~�����=�O?��K�.��������{���#G�>}�����0�����H�),,����jd���6��O>�����3�yv��9a��L�����{�{��C���o�M9q���q�z����l
g�{���������_�:g�-f������jS���Ogo�@v$W���k�9��>}��:�;��m��)N\u�U7nl����E�l�;��c���8�9����w����������?�������?��O�������_y�����pf�N�::t�������q������>����n�e�k�����S�%�
��q��������k��}�������������;�����SE�5f �t��z�j{��a�w�yg���z��_���W����3$�g��/�X�n����?��(]��;w���>���w�@����/�\������7�x��%�1c�<��3�����H�~���_~9k�2NqZa���?���_�6m��g�y���[9�@2�h�����b�N�&O������m�����
z��G�;N ���q���*`��y��]q�'O������+����9s���/�2eJ��M��}����[oeo�@�������|����c���>���T���W�\����3��;~��'�|R������_u�UG�9v���Fv�	d��:4h�|�r{<k����z�d�e����/^����nS�4n�X��O��R���������[o���PRR�o�t���Cy�~�[�Z�ngH���x�������~���O�.--���:�_?����L�b�|�=�x��:u��k���}��={���zM�3g7�#������u���n��	&��W�������������3x��������N{�^ZPP�q��_�����M��6l��7�x����G�^y����L�v��L��:^����L3���';�2E��:t�O�������ZJ���v��g��zq_��W���o��%�'N\s�5�w���/^|c��%K�:^ sRV���C=t�y���__���y��
?��O����A�)T4k�LQ$K�2����_����:��z_������1��K/U��t�M���3��nG�����=���/=�y�=�h*~m��{nI�u�������=�:�l�����S�����J?�����l���S�����~=��}�f�_go}?�������~��:���������Q��
/������|u^�!�c�7v���K��y2?�����Y��?�������4h��������7��]��{K8p��#G�Zl���<���M��Z�_C����	<��R^^>y��9s�\��M�^}�U=�;w�|�kFi��%s�=�W������o���g���l��������P^B���7�<xpep�����
K�X����-���t{��.K����QXX8c������s�=7{�����������d��*���={F�U���+.[�L#��R�^��_u|=CM�z�����9�_�~:�������5�
/t���g�}�*C��{/o6wI����Of~`C�--�����Q������ZZ����7!\9������[���V�������zj���M�6���K����"bX��-M���%p�7n�O:��{����O<�D����9��;���w�}w���52��n���*�T�&�k���M���Q���^��w���+VT�%�.]z��W*��|v����=�X��>������*ab����M�}���c��&M�t����_l����O>�0�Z�����B�w�>|x~�����G���;Ux�@r5�'�GO��m����>a��#y��*���m�>}�2��w��{��'�?��	|���*[���|��N��\4��qR�F�*���~����g�gk��'p���N�2���/
d��e�
R��}��-..��;v�6l����uV�E��:d�o��a��I�e*���U^^�M���/��N���7O�3-d�����U��������=��.KJJl����9r���~jS����5Q��-�Z{|��MZ���"/�����z����3f��=A��O5�6��i�4�y�����]�k}_y���G�j���5r%4���k�i#l��M}�[��e-Z�_���s��������?_�\����
�WQ �.�9%�K��{���q�TP�W�A���u����>}��+��@��:|����~��^������o��}�e�MQ����_�~��J��j&� {d��]/���N���	���{���������6���A:t���[�����B*7���;c�wM��
��W�;vLC�rl�Jt������{G.�Y�������7kb,�N�2t�P�F����M���Z�=�����#Ze�����`��>����5r���q�.�!i�|��H�����SG���8���Ym���������y�����+�������0��a�qm������3�f��Q���]v�^�z��!����<y]������[U�z]�>{SW�B����>�v������R?W�k`��-�����	\������MQjR5i���������VA���y������h�{�=�������ng]�x����X
X#���c��x��x���o����J���t(�x����+�T�Z���.��W
V����g��l��j�M����������H�X�T��i+���k���=�����ivYJ�L�Z5����jSt��z�����ur�&Z�`���NOZq���EE�{G��6���������%�Y���C�O�F'mv'	���V�.�*����c��X��$�x(++���U$'p�����O�Vp��u��
A/����z�{�����L���hUo���6����#\K��w���kW-G���Z�^Z[[-�~���_��	����i�y�V���|�M7i��������n|�
7h������+
�|�?��G}T��w���_��}���l!�Y�V�bu����S�|�I�Si��W	=S�����W��a����*�����:��PT��7���g?���5���:�(��E�YO)
�|	��K/��V=J��o��
��Z�z���c��F�X?���������~��|PG�o~��8�������5�o�Q�G������z�Z�t���{m
��>���_��C��Ny��&��i��o���������|	\K�v�o5`m����-�r��_����l�?��F��8=�x�b�,
Oy������s�e�i�u�S���+���iu��U��@p�L�A�����������|i�=����}�?����K	���G����UW]��Z��X��m��N�8��t��]��-Z�*u�����~$�Y];h��G*+mR�}��Q�h_�bAMX�@g��V�O���'�]5j�HmVy^G���J��X��md��N�?����S�U�.:�t6TN���O�S
O�G'q������w���N�v�����|��MS����j������G?���}z]�&U�&v������V�t��EcPS�h+��~���2j��5�Z���~M��=��T�����]�_~��zu~j�:~b�cO����������
���0������uH���<�1h����_�^�N�A^�~���u��:��h����)���Gt^��V���#�q�4��P�����P�(Z4k�L��m��c�u�/_��'?��!����t<�E��4����;�T�Q��wY�����\�veQ�.�5�N|�8j�����ZM=�}������AumL��o��6��'�Y����J�J���
�Z/����������U�R�UO���0��jO�5o�\t�������HMOao��]�%�\�p��2��9s��t�J�%e��tL��P������|�%���I;E����.�#���B��8.y%')��^����:&5�	��g5fm�J3�A�<��o�C{GE��Kh[�U4EG����*?��r�-�A����=U_�����E��<��������-p�=�h�/�����q�~��le�����	\��~��S�v�������=��}{��:t�9���_���S
N:�����������|��6��_��Wu!{��h��[�F��g�y�w��QMO���������TC����������x'�����������fKH�*:51{gCG�m��f�nG�((&\DQ������	�x�lMR�e3����U�6rm��~��z��S'�V:�k}��k��S��'M�e���R��M*�XR�5Z��Y�OSRnU
L��������@aU�0/U{W�������C%��[�z����N�G���W����<����o�=r�]w��L��:JurO���v���P'�={�v������N�o�4H����]��Y��mm���=�S�v�����Yk���j�1_O�;���M�����k]�%Q5�N��{PJ�
�:���������]�����:Ej��ED,�����U�SH~��={�0P�K�X'k/
*��������{�A�@�J�a{Y'#c^O^��kj	\���ZXX��f����L-�����5��'��Zw]yU?V3�����i�u��������):P�0N����=����$`R�Gm[HE	�Ng���K�U,�]w���*Q��K����_�B����gU{������V�~;c��J��g�x��D���s��j����C�PS���N����L������leU'��X�B��35Z�V�-m�t��I|��M�G��#��v{�N�����	(�BLg+�E�^H?�������Z*e����{�D[���t���$?J[�l��W���!�cF��UH����y�������)�#6�=po��\�R�����*�E+l�zo�jE����o������
=Pb���Ml���:L��:-Z���]�v���x�~��lTU3��c��&�)�/ju��s�%p�-�o�Q�TG�v�Wm����.��W�U��[�w[��Z����#Gj��6V��� �����B:�t����2����X}�T�Vl7��k��Q�F?��%�����u�g�c�%@k��
�A�j���N_�lY��N����}��U+u]�*K����n:}��� ��g��{EwP���tX��#��M��p����	%!�+��0�E]t�E�����������.���Eq,���z�ms=k/����k�X	?+	<�Q��u�7Q�����4{D�6�I��O,^&����/~ao�%�5R�7w����Sl�����k��}I�]U�����z	\�&�~JK���Z���&����%�����g>��(Jxk�?e��i^r��tQo�9�w�}W��|��������N����C���i?N�4���:���w���l�;z�h-\��&�jR�Q����S�������.��'?k	\�{�Vo���=z�������]���j��j&puu�o���Z�����Q�J�K�&5��73���{�����m./�+��vVBP��O%�n�~TB�v�+�V��$�%��u�/_C�B�ul�������zN�����\����e��+q�d��}�������NH��qR&��1g%�������.����=��G�W��^��o�S�]+���cF�.������{KZ�h1|�pe{�M�?e��o%%�	��������8��E�Z���eS����|����������;z	�8�{V�J�c��k��c(%��US�����WSR��0a�M�c�T����3�������c��J�:S+E�cmm���v���%p��@���{��"����'������?�`g
��uT����b���8�;w�i�u�_,*��*XAH���%�\r�.�����a�����7q����uYz�e��cmvm|��X����^{M����^u{�r�����}�/��3��1c����mb�����|��a�W�/e�Y��	V��y,�'o��	��?�y�'3(�x7g1��#J��D�+�UV�G������u���u������=�'p�u�����{I�F]�&,��e)���.{��������	<a��4d����3�	�Y�f���X�Ik���me�J�|�Ml����V�3�v���%-D�n��hx7�����V�Q���RR�~s�cC�_Y��#K����������}���^O^�����~��a�d�`O�[�����ix��c5���w���Cu6��Y@A���S��y���,��+�$���r?*-�}�o����6���m�]�v)�y�)�*��������uy	<y]���Jy�Z�	%j{�;���R�_�]vB����s������=�gB����.���Y���k�����g�������t�k��j���2�>����X�w���:=)Q$\�=�����[=�y�{���3��&c)#��b?��o_K�T~�yJ��v�z�w�������W�6O>b�7v�Ob��������/Y�S���_�����P�D���@�6��y��K����yGx�_�7�?�kN=N��1�+������}����{=]K�0��������%p��X�mR�Uxaa�"�6���w��)((�A�D�F�c:fPf�>-�����T;:���;�D�vr:t�ucM���:���u����/Z���&.H����I����GAT'���T��~�L�����^S�� u~e0�\�J���hQ�����
A����V��IEaQ�](*m�mdm�n���{��[B���Vg����;�j	\���b�����E���g���_ Q�p��8�&�f��k[�����y����:����^�pQQ��'�+])[�WJ�k.o��|VU���������� ����&�����s�V\��O�*[5�_GC��u�=��C��!��i�Z������������Q�K�P�I�����9E���A�y����$�:��o��&*b��V�Suh`���-��t8y������x���_S�>p�h��j�����+��������K�.T�
7���3v�X]o���P��S�G��I�&�����R�G���Bi�����]�L����Q��YQg"r^O^��5��r�-��b�Y�W��]����|p�Wh���o�D�3�}��6�N�����O�Hb���5*��~��<i	<y���VVu����u����c[	����-�v��������n]��{[C�K�7��#M�~�o�-����
������R���5Q?~�M7y�+W����V5U��e�P5
-9��J��)�ur�g@���.�(�](�dmm=����t�hE~�������e��*+����c{�G��]g%'��#<������k�������W[U	<y?�6�����������;�u���Q����\��z���?����mm��Xj��}�2�����w�����7�����=��
�Y]���@'5����R��r�JQ��JjV:�����/�#j���:�4f�@{[;HW;��Z����EA��5�j�%�.�U�Z/�����G�*R�W�mw�������@�u�>%F���/N��^���������mT�e=Hx�\�X�v������K�S������������
xUK����z-�;�A�e�[���g���%�G��Q����G���U:u����<��jS�Qe%���JI]��/Y6����*��F�_%|f�R������G�x�,�����]v�] ��Qi-tf����	\{G����8�����t�s�6��`oi���������������UK�6��jS������/���	�������:��Mt{ ���������u�B^<��t�|��]O�4�gu�k!��{�:�����%��z	\e�>�Z�=U�^��X������U�PS�x4E�[k�}��X�h?�@�I��r?��L��$:��i�F�S%c7�%�G�����_g(=V	z	<y]���'p��.]���+���ko�4o�\MXek����7e�[�d�O��@�����w:4B������Z����X���S����40�j~�;�����)ik��t������u0�:�'��X�����{n��j!vw�v������/e��u��
5��q��]�^���o�u-������KB;?���[��=�����y�����H�^��C.������AZ�f��y'�X|w���m��"���>k'�U���#G��X��yyy����5�}����c��G�W�������v}m���W���<]��#�
oGF>���tx�Z�
W
U����
OiG'��k�\�����<=�=�nM2�<��!�+/�����������?R�����=��3�y��G���}�:B����������������3�k���D��������)op�;�x���o��t����D�����o���k+3���?<���S�N����rM��?��������2���Gr9��������������o���&��V�]�L�C�L��8���N����������~���{��	|���g�~��C�����zwJ#���8}��c�G����R�����'M�t���'��d���e�V��g���'N$��o�Q��R*b�KK��|�:�^JZ���7p����Z�������?���o�Y�;�3��������N�s/$��?�<������A����Yr��=�_{����������������TKh���G[=ZAK�&�U��AE��j�
����^W��c(����}y�S�hD�}?g��uw���_?�����al���Zs�5�����ca��7���k?���/r!���������>���m���!�qtn\q
���+����8���?--���FQ]����n���Q��;��B����Q(
�B�P(
�B�P(
�B�P(
�B�P(
E����w����[��NqIi�)|������)a�no�'PQsPz5��X\���!�N%�_+�"�",�]=3�����J��|0��M}�\�P(��?7���_��]�Y
<33S6w0(((X�x����u��W_�-��9���{�P_��������w=yJ�V\\��`V1���M��iii���J���@���%�^	�Wz��=l�<(--]�j��9s.^�(�d��m�o��j���k������?���;�|����������[+��[E[����Z~r�����������`��-)))D
���~����c��t���G��L��5k��N1�����
E�B�����o����Y3����\���eK�n�i�����l���=�w3���~(��2�={�x7�/,,���-i��aE����n�SQ�s��|��}M�4��_�pA2)�!N��s�=�����[���~#��O>	������e�X�O�T��������A�d�������?���Xv4���jD���!�����"�gb�o���(���_������_����>]�P�XD��q��9s�|��W���/�HII!���O�8A"���7k�,~�{�.I������$��u����7o�4r|��������x����/^L�f�\�9y�$�:55��5NN%�#���p��%�,B��`����*�������>2�G��E��6�%%%�t��m�l�f��S!M�?��9���9�����>9>}�����������+�K������.\x���PC
�3p�~5���36l@��w�v���NB�����Gbbb���/[�,0��'I�q$hOo��������c�r>�/����AZ�-�����@�!�{G	�A+V��q�%H�t�R����L2erax������{Xw||���>;s�L�nx��������qsp8+�j��o�������e���i�k^�:uJ��5`8L/>��c�%��;v0���Y$�%,..���@U��4k���0h{���%�G��_
'�6���i��Q`���o���4^W
e
���H����4<���r���!8�J����;J�'�#���[�n���y������D�+���S������?c�B�����~��}��kG�@�G���������_�B�%�1��W��Z~�����y�����&M���c�����n����)��(P��w
6��{�3j&�a��h���x	LxB��qJ+� �s'�a�����x�
\
��F���Of������0pf=�b��1��v������>r�H���a�bccw���M�������o_�/���'�zC�}��'�������K��u���fv�$����$�����O?=o�<&��/�,y������
6���	��G!�@�}��Z�hA=x'��O �?��s�F������+}���n+��/P��8[�c�"..�B��}�OZ�n
m�!P'�y��������]�F����c|,uR34�������\�q�;��i<!QQ+�!����	&DGG>�h�P��K���B|�}���}!�����O{	� LC�4iB4$����K�������Gf��)�
T2p�wC���������/m�
4;v,��i= >RbB��~���0Kr���a��g��y��#F��(�M1���('P�0�>}�@��{�=.G�x��:u*�=z����O|���@���h���+�G�;����~���@	G��XJ��	��t���e����,��U8��i�f��id�t��O�9&Dv���4���.�_(
&:q�D��>�����Vq�HB��X%������>}:�DQ�MF���kD�Gy��5C#�G��cz���\3uB}�,Y��q��;w2�e�{���r8|��P�o"�^�:u�4��1���#&�4���7�J��L��]q���W	�<Z���!C��:N9�W����S��b�����
�(!a���+�`x�:���'h05 �����w�%x-^�_d�r�x��&''������
���2��i�T�_���fF?�����):L���kC�B� "�������� N<x�#��X�^=�2���$��&���0��)�,��f����^{���K������G�lI�|���i�hp�&���o��4���>���z�3g�q��t�V�L���oG<�`�*�A�����%>��D
��G�rw7vJ$
�y�r���iQ8�S�>�]�y��G���/���*��O���O��	&0V���:B���'7�Bc�j	L�4�����)S��O��#�%�������w����J!5����@�	�{'3������?��c�@J�_�^�V-�%����cCo|i��������q<JV,H>&�I0Ci��M�x�*�D�c�I�/��p9���8f����gdd�1�#===PBx��5��d��qX�<J���������0p("LRN#�D?��*�,x�����8:4����U���H
T�������9sFN��Q��?��Crw��g"��q����(��71;�B����%�����q��iK�m1+e1x���@
���}�8�~t.M����=0��J�>�O����v����Q(n���q�&M�(!d�+�#G����rk�B����>'O�,�v�*g����IN#�K(d�KRL����TV?8�Q�F��@�i�l�U(�H����Z���SSB�l�K��}�vB�LI����:<'Yp���)���#�x+9w����-���?5q�D����w�����0c�)�z�*�3�q;���R�1���D��~���k�.i��o���Bn�DC��F6�.!�4i��O��F��� ��,�l]�v��	�	d�&6��o~�k�v����*[��%#d��~5��G47m��8[4���|�r.�����C&�G���8���7�#�6��cZ������T���
!n��(��/<^�!��B����,��tM�dVV��
n���88�\��Qr%QG�.]�0[�t0�@��r�����m[X+�Y�i����B�c�h�g��E��s���"���dU_N�M�:5PB��h�{�^r�M8r"�7U��o�������w���<XJ8�d�0pz'?q�09n����-�iiiU�����J�����$����2y�������Do��P����}��bPw��>������0'�KQ�Xl���4���z�-��0e,
�}��2�|/n�S���|���&�l����R>o�����@	�h�|�M�9%/0�������s]�d������!>0����u��d��0�����uB0p[fe��?$"a��6m�������)^- ������X��q��!�o)�����k�b.��8��|
�D���0p���Lj�6'�v�-[&�����
4�5
��&N�8��G����i��H�58z��SO=%�8aY��}������| ��#G�GV����#K������\n�����1�<''�dB9!���y��)\�r��wXf�s�N��
�2xx�9�1��7�HUZ��~�I������MLa�����l*</�*�H��;o	@?���)��/(��[�n���vw
����P<p��.������qR���
I[�bE(�,`���?��5����z����1h� _!��<�D��$D"������GS�93g��P@U�JgqJ���_��3I��;w ��~�W�k�E`���B��������a�d
��}��'U����I�y2yRRR����0-y
J&������
=�b����Te����C������i#��P��m
����m��0po��C)
�d������/��Btt42s ��#Jp<7��� �(����I1pD���~���������{C����C�����������0m���+�������WO��R������
��������E���k�����4^��I�<j�(_��s�����A��	YYY�%1E^/�a���'�f�84X��5�W����EH~�UR�# �����:�^���������q�����0h�����`�rko��uB�	�yyy��R&OKK3w��aE��!���y��.9�����A�&)��
aP��o���3's��8n ���f��w��01�Bx^�
T�0p�w(������#�)�"=�����z��m����9���S�����>X��y�UX��Ig�!��6�!�Kj@X�e�c����.�����1c��� ��N��9�q_c�S$����i�<�����;w�<������q���g��_��#?���������i����e���j�?n��K�.�������_���L+\�<����m��L1/B1pp��-P���
"/� ��}R��h/P�����FEE��i�0$OH^�x���V<��g#�S(��_]�s���:��P-���
8p�L
Bp��u}o�{C�����P����d����=n�8y�{~���e6�*$D�-��7Z�j=�XC����v��Q�'@f����l^�&��d0O���3���I�&�q�M�B}����-rp�6�������q�F�:p�����*9��E�#F a �wF`#T��� �
�	�d��|c������x�%'p�I�w��M�6 ���@!�3p�3�yqh�!��G��B��'P�������j�	13�dI��I�gaz����d��S��q�8a�O�>��D+bV��=���	kB�ob����?�.��ry~UH��	�u��4��A��x�	�3��P�)k�y�#��$������g:0��Z��0�LLR���Y8�c���d���=�����GDr�47���t�~�#�9�!PBF����pM����oO�8����qG0{����|�@�XG�kWQ��4�_�~0��g�v�N�>�H(��p��j�Bix<��YO���_p��0�I�����CZ�N|�������YN�_������0i] �����t3�V03e���L�P����X/�/J�w���.�4l-�1��Z��g�7�����P���.����Ar;����@�i�l�
�@��AD|��`��8�HjV�CT���C}z�����+@%�W��������Y�f�iK��^V� !Phs/[a�~�S\T��*�x�
n�����_@�z�?�*��Q��9
�BKv�	O�'g�r��3���ogeeEGG�54E������)c�3�f�]QX��W>(��ysyN��Ps$�W����e1��J�h��@�����S�P�l�b0�=z�X�z��#�o�*����M�.]�����Q�Jl����=e2���*�S� �����������.���������P(�%��n����~;�F���7o�LII���r�������v5�_i�ph�������g���	^�9��3��������/�����K_���a��
%%%���������>+0�y.���J��/?���~�F�U��/��b�����0������_�d��'
�B�P(
�B�P(
�B�P(
�B�P(
�B�P�1���Y6 ���1��;�-�BqoPPtg���3�}�o��3�~.�n1�����mG��	���������V�B�x�b���/e��?�{�Q\\�l��%K��:uJ>��f��J|"��"33�����={fx`��/'��c����x�]���������U/�=k�,�_��^�9sf��
��]�v!��������
��YY�Ww����M�6�sy"D���uyw��}_P
/Bn��%%%���`���N����;��O}n�����322�K���|{��&
����5���\��]�v�7o>q������;��!�}�v�f������.{		�MC�#�G��+B}���0z�hbwU^[cx��-!��=��C�����d�6=p�n��Azccc����*��.]�������bjj&����������]�>}�S#���{w� I�g������_�����PEQ-aB�P�/D����� �s������L�_|����j��;w���
,z��5yyy�k~�{���#G��<��
���'O���+&&&==�������IMM���������_���c������~��5ZD��j0�7n�X�d��.]�����
������������u�l�f0|�p�HM�Z����o�?~|���d�����B��+��6m�5C����6o��3g��O\u���F�fH���t�,�b��m�Q	dD�|��YF��������.]�<&���-[�%,Y	M<x077�k�����?/���JKK���g����>�1t�J8�����l�"�%%%��k��wm������kt�X�F3�;�2:�[4@�������u+�+�R�y�d�j��=q��c�������>}����q���ZN�;w.���� ��1�����-22o��]��R��E1�y��~+!6l(�p>W����1�LR�Bx��=���=TG��l��z��"<BR�����5�y���+hN�G
i��a�d7�!9����d����6���1f&���(���.�.��d"�Q9���P6y�"d��~l���ug��E(����O�M
z�q�FS'���?�_�>	#.H���<�q-�AE����
�E98,���|������@	���8y��'��5?��3��������z���+��le�U�.�'����,
N
�{�-� }�`p#r~vv6��@[\��Klr~���v��]#�����B��������^��1c�@���k���t��}�����a�����:����M�~���������/Q�p��OH���=����S-^}��Q�p���
�x�
�����:i��W_�}���������?��xN�F��{8���h��7p��n��q9� �}���v����W��Z�hA������Kf�`��������p�����"��P��!C����>]p����?��w��1�P T
eB2��n�V�����e����z
7����7i�����Ff���p�\`/��M�6�A�k�����i���B����������S�m)��i����>}������>j��=����I�d`AHE�@��)!	:G�$�]�pa���:t�}!65zD���G�1���A��^���!'m��PNRR�F��A�.��Y3I����?ai�w�f,�~�i�>v����D���Xo��rTT��A�0]��Q �cl�����D�S�N�{��g���L:4<i�$��	������.A��T\Bm��Cy��m�dA���2��ow����t�G���B$/�>Mo��0p�`��.�����1�=�-��u���	H ��U���_ �������d�a^|���S��5���O7i�~`�BF��b8$�����fB1q���l��(�K��q�j����;3�&���)S���:v�(������4>>~��q��*"d��~l�c6�<�:�tQNLL�nvg����,hhF�q���/����|x+b"��Sg����AK����Q9����uk�5T����b3�Gb����*���i���{��K�t��uB��Nv9N��S9�KX.������N�/����r�,
��t�NH10�#��\���=��c8^� m1�gF���������G!��B�x0���#0�:~&77����)�G
�8}�4N�#�������|G���R�����8��v��7n����1�s���	<>�����?��a���%�~��A ��?��,���z�!J��
�����'!����7�|�y���R9"�<y�0D���~j����Z���i���`d(]:B+8[~��@��Z��w�}G
&��UPu`/ !&w ����!���,ik�x�RBh P"1WJ._�L�"._H�������DNI��}��$#��B������1�ExFGB���B����1s��ah�f�I�@NOey
�Y�����%Q�nlK�%�[�8��m�7����E�2dP�G}�al�q��r��a�����L.y������j��#��A����+�&���P�������,Br����9�i���Q0����+����m���"�>J	
�i�f��r�G|S���^1 ZLg�fr!���"p���V�Zr-S��r	3H�6�0��\!D��m�j����}4:K��@�J�]��w��'�����"�C[��"�"L �J�A�AN^�`�����m��p@���(??�@#~�2w�&�f���u�k���G�'�Q�7&TQQ�4S~S���lK��$R���>�\t%q�������V�	|�������N�_�a�BQs'(��I���3�����o�i����W�Gm���s������	�\�p�����A�P������~��B��|P\�qn.\x�Mp2��q�yVD��FBt��QQQ��������m[���&^1&&��
���w��&L (�`r_�K��w���/a�0a����E��|��������{��3<m��M�;��M$���#��N��4��
7n�8.��ImC�����[\����FM�#%O�6M���G�f��E(t~��
��8����^-��=�d��uB��&����p�N�:��@5!,B�����S?2-Z��H�_�B���������N����Q�a3�+�dR�y�g�������Ij 
A$|�D>�D��@;%Ct�-��.fwVV���u%���fB!@RRR��={��q�H�&����z���9�'.���s�?�@��7�0N�o�	w}��7�d����C1p��9��_���>*���X��� "a��~5/��<G�C�;������n��E�$#�x��
�B�$�R8*t�������a���m��cI�s������hp�fLIs��F�)��b�q�x�	�o���T�����--����0j9&�`2�&��]��0`@��	W�P�0�M�6��1�]�WP"�Z�� ��4�ip<v����C����?���3f��;���c�4h��#���8q��+�H9�n��r<}�t���#%����(/%Ph�C�I.B�l��E�.p�y$�9d������
��m
���I�?~��g�����A�X�T���f��\�0p���0p���*��D
9&"�rzk�61�,V�_�(�K��7�J�d�r��#G8_V����?j�((��hh���G�z�))!�JT���C�A��wy�����9.�����t h�1E�/��vyD?���cNN�W�H.��H�s��:���a�L4��0[Rc�D�@`\K�7�;|��T�����!�N�:4���������_�~����	�tf}�����w?�}�zdNI��f�d%�_�HR��������
B��Zr�F�1��I�������0p��_��[~D��m�j^X�9
��'�H���8��:��k�yfw(hE���1a�r'h������@���#%�����'��!�����4��������o�!M3ss���%7���--��^N 0\��e�L�l���Mv��w�I�����Q�B� ^PP[���pPqqqW�^�H��Z0[���Q�vmq�����7��`�[��Pw������'g(�2���'���/^$�����<�x��)�]!�U�Db���xW���X�<�V�~�m�_�Ett�<�@����'��������~'����G8�-�����P�0a���k��{����J�6G-�[��;������V��`��>�"5j[:r��%"	}!H!��a_�~���?�O6'j�#H��n�:�-���5@���=�q�t���U��\�R��k+�89����� �CQ?�3X����}�
�f�E��=�KZ�j��z(�����������>�d��^�7=o����qd��I�`�5��_�"TmC�Es�{oK�y<��3���(#�{)���y�I9E'�G&('�[�n����5k`�>��e�A��$`3pj�J���U�8��{������m���A�sHZ%��\�����gq p��TJ�LN�L7�2��q����O��*%���`6�jD3��������������J����~��@v�K�%_2���(�2M�M[�;A�k{�y����[���b�e��PU�n���_D���d�M^p�X`%te[Z`����z��e\A.aW@$����4q�4M`��U("����a\�
��|�������e	A�i�B�
q�d"�\{��9�h^^�]m(���Sy��f��1�����MN������4��6w\�Mp��K�=g����yaSPTTD,��#X�[�h-������K�����_xTd�i.$dP('�����t1J�N9���f���C��;������7	�^���h�W�^|���/�5j�h���P�~�$!���V�UA��#��#`�)�E�3.\�=������a��qIjj����R���E:b���'"d��\��e��NQY��A�^z�%2��#G��H�P���4Ya����{�����u�!�S?$��<+�rNtB�l�������6�e|�	M250y��B�����%�&�sA^`�������gi���0pR�)v���O�\��`��ORis'gx�
�%)���>��	]�S��@�d�0����9�J:�]�4��@�Vf4��������v�2p�E��'��;�G�����yy��YFR�H
G�/��6cE��8z���'��/���f��S��@�HHH�dJ ���
#�b}�|�Z���p���\�
�<6���Tx��%�$6���/���mi�}�����z�-�����ggg�g���I�I*q�Lg\U��l)���{��>a����FR��_���M����-��~�j�n��}���?VV�(((�|�q�Py�EQQ��U�����~$���������#��;����%I���B�x��?�����=�_��W�,N����m>�T�x��w���V�^�A|||u�������f�<�B���f���&L������H��)��s�1g����q��~�QQe8u��2����v�d�999���III��|��p����������D���yk��
����w����/2��m�{������!N����h��U���k����9��QX|����0�71{�l�7�sss?��3y&�&����s������pE���;�a���#����#��2HFF���&`�����T�N���
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(��R6�
endstream
endobj
15 0 obj
   34991
endobj
12 0 obj
<< /Length 16 0 R
   /Filter /FlateDecode
   /Type /XObject
   /Subtype /Image
   /Width 982
   /Height 537
   /ColorSpace /DeviceRGB
   /Interpolate true
   /BitsPerComponent 8
>>
stream
x���y�T���q����?b�����G�bb F��5��QP�"��m�H��(���t�4��l��@�  (������KC�4t��V���'����yz{�Y|�NN��[w�|��V�."�2HMM�����o��d���M!??�m��~���]���6N�V�N�>}����=��{����
����\�����M�8QGH�����EEE|��;����[o�[��B/@E;t��:��]�.^�x��]����;4��7�?u���VQ�V��VM��:q��������k�.77�:�c��������������Ls��e��5/3��={��F��������s"����3G��:p�@��Z7o9|���j������/�B:t�������i�~������<xn�p�[�v���O>��g"s��}�����9�T��w��!�����D{K=^�b�u)))zV�	zl:p5���<l�0=����={�u��s�����y��m�>}�����"�u]Sn3f���{l�U�������/�P;�|�r��4h��!��L>t�P�;y���g��y7~����)**���{�6mLo:p��83rff���9���7o���l���g"��.|�����<X�'�6m�4MV���jn���=�s�H�\�R�N�]�������U���w�V!,�Do-=zt��|������9����*f���s����gM�������z�}�����<}�Z�����m�6
�4i���t�)))���Y�bF6�?�����������^�����v������?~�x1�%��6T^^����]��*@?v����~�m��z�k�S�NiQ����#F�� xI~~�6r��}�T��������'�h��g�@��
u������k
G;K�L!�|��E�}��g����@�G���5B�^����kV���@�ok�b/Y��_�~Z)m=��f����Z}�f�u����������h��Qj{��v��e�m'���d��i��m��1##�������w��O=���n���[���k����v��i}�t�����w�yG=��������!�T��=����?�������;���G��{��A�U�5�@���2o�<��jS�x�l������D����z�A�}����/�v���j��^
Q�!�)L�8QC��������gz*��H��VJ[I{DS�={�6~�v��������#�e��x=0]z���3�b�
-�Y�	&D�o�kv����-d+��y6{GWm���1c��f�6���.��[�z�n�:�Y�l���� �K��[�dC�Qwj�`uq���1w��wV�o�fff>���*�O��1���|���z����w<���a������uQ��O-�b:��K�������
����k�VJ��\m����[��}uu���2��.\��5B��=�b�_�t9�!�c�q����!g������]�h�+��t��U[/���������|���5��Pb�B)~55_m��C���b����"0|��5�Bw����/��\��?�����]Dh���{��B�A�SU_�����m�6###x*�_�d�~U^���=z���p��L����`b:p1o������i4��P������V�<5e�
���w�g��Q_:l���e����zf�����U�w�k�5�����RE/9|�p0d���r��Q�D��4��}����'h�E�"�G���K\Mmm���;�1b:��0{0��6����)B�����k�������7����������y;v�p��m�?{��1�����_Mcbb�y�4�Ws�!#G��������!A��S�N�Mkr
��p�{�n=�tR�M�i+�w}�y�i�c��i�������O��!�G~~���+5e��e�6�������A7[L^��4�C���k1-I�M ����*��um�V������w������n�:�����BQ�;��>}���};t��h�����V��/$	�t����7�U�w���TM��c��x������D%�����[
����v�}�v�vv�13��������q�\��v��;w1�h��p���knJQ={�lmd����a�x�����/�jn��u����r����i_��|�M�U��N�`�������g���j������@1�Fx���+V���W#�������w�����Gl���]�v��Q������|E��]�|��i��\�V����#F���'����%k�6��L��g�3NY;p-��������I^���B���S�WS�Z�;�c:p��7���X�7���Mt��;�4�_}���K��J�������uk��}v��!���*��
6h��)S���t�j����.((��b���#�����-Twg�;p��zj����,g�-9r��q�����!	�X����������2g��V�|�yL�w��7����D��/�O������������;w�1S+�6�}��U[��_L>a��~����dV_g��:~��M���8���G���k�&��G���g��7E�t����<�opcs�w��?x�����-�������u+f�"e��?����fu��ym��
���O^�j����k��1�k�������R���|��At]fnM	nn��)���.]��e�i���k~���W�Xa��Om�Z����q�o�_`���z���tvu���nE�����j��^rrrb����#����������
�o�^sTo���f��\���-[�����@cN�2������7_���Gmdm���d���Zc��������_Ms0�W-���3f��������]�ZE�s���w��Pz�VGs�4���k����w��S�������>���P��];l��w�y�|3��#�mj$�'��{�.~\���su���M�����;p��}�/-���#��,������cn/�/_�fM��V�<��Q������_]\dffj�
6��g^�jfeei��w��j��z��3gNp�STT�k]�������[KC���EBB��b����i8����������rO!+++=j��=�p��g;??������#f�222��\�]��y��>�����G��e������+���G���rssK9������'N��JM�4��/�,���:���GW�L������5B����3f���|
�-[6~��1c�����6l�|���={V��1j�(
<r�H$z�GJJ��q����>����1�
w��w����n�:q�D
\�bEFF���S���5���Z
�0a���c�Tp������j���h���;��j�&8g�����`��m�6y�d
�5���%�k�e�/]�T���5���7k������iQ��]k�4s��i�f88�m����Bsrr"�V���S��<<����g���VY��`��E����?�������#�;p�������4���{5eMJ�L��o��Q���)S�������5�i�5�hFg���={�^{��I
�>}����5�����?�X�|����������j�5\�jF�b�����a�o�>-�������j�w����W/�Z�z����D��Pnj5��{���p��o��A��9�D��:a�h�{��pn�n35�E
��~���y�V�X�j��{���u���)<x���kW0_��������C�������5/�v����#G��^#O�6-��[V�Z�K��k
-������0:p��Z�U�V��?~�Q���t���G�����o�>=;����yD�:��=����5�SRR��j4A�����+cZ������m��M�2E}�zo-y�?s��?##C��>}Z������3g�_�>��\�T��k����pu�S�NMKKn��'���W������w�yyyj_?���`du�%��c�:p3�������i��?n~���\�G���a��p���?x�`��j��E�:uJ32-z�W��|�r��h;|���F�!t�(���w���/�������eK�_�p���w����'''�;�EM��������v��g�^�ti0��M����5M�0�ee��������|����Z-v���z���f|u�&L0�srrtq�u��������)S��p�o9rDsW�\h�~��C�rS�:f����6-Z4~����O�zQ=���O�}��#��S�Z�j��5k���o�6���gddh�K�,�,���������_�j����=X�`�������cSSS�c������]��Y����k�^�	��v	��g��e�{�U�|�����������ke5qs[��y��M�f�6u��`5������c���W��e���o�b>|8��233�����_U�;��P"����3��
������D��������Z������)��W�ksS��kP=�%����GK�q�F];��s���zI���H��'L�~�^#h�C�E�o�o��M�f�~7#h�]�v}�g��`5��p�9W�#����]k5��f��.�dnVQ���H:p\|���J�F799y�����������^zZsgK^^���D�_�p����2w���e�9r���|1xY�g��aC�����1�e��pI;x������w��x��`����{��5l�����`���s�u�6i����|3���III=z�HOO/��d����^{mBB����o���~��i`jjj���
��u�5jdeei`�����;b��G}�Q�F���s��7��o:th���g���z-c��1��w�y<}��;��C������T�=|�p5�?��8�!������/6o�<~��x��6g��:u�X_[�k\�V�ZU�Z���O�q�.]�}�Y=P��g�3BBB�s�=���^�z��U?���q�Z�h��sg3$33����Rs��
]����c����7Fedd���]q��N�2�&''7l�0%%�V�Z�K�6m���'�|r���fHaa�^������W��-^����o��e����m�>�����������(7n��j�����'�:t���>���`������>}�t�k�g���t�<P�y�;h_���Z�6m���{������:�5j������Z�Rg�o����������]�vJJJ��]_}�U3d����\s����B����������>{��O�4������i��j�:t�u��Y�F���;j�(=X�t���3g�l����?���24�/���o�^����}�������[n���;�X�r�fgg7i�D�s��U�������mS^�J��|�r3099Y�T�T�q����o�kp���,xt��z�,?��U��l��#�������?G��l�J3ZQfJ��k�S��������T3���k����������a�����s�6�D��<��{�
������y��O��/�,�G���<aF�~����3��X~4|��B3Z��-'{t8��e��������5�ZS�����
-?�)�Z{��=������=>(������l3�������}��-��*�\��O����������<8���\�w*�sa~��l����tk.������h�f�sa~z�>cF;���5�LG��f��/���������}��h�c�V\h3��f���^1�0?f�bra~�h��"�cF+&���WL.�OT1�0?f�bra~�h�������k��?�}��h�c�V\h3��f�������BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H����%g��U��v[�j�����}�v
9u�T���+W�\�j������6o��4���nZ�h�����V�R�a����w�eB!����t�X
��KKNN����������#�t������7o^XX����Fz��X�V�q���AZZ�O�����u��]s�5,**z���_~�e�kQ&R
)\H��� ����=�����X�Z���W��m��y���������H}�X�n��s�v���E�f��-[~���Y_[�qy��RH�B:H������W�^�7~������_������S�}��Wfff�5j�x���5k�j�����C�5k���`����^q��N��m��e�BJ!�� �"D�����_w�uz<p��Z�j����^�������a���=��i�������'l��o��4�����t����p+����J,�f����BjF+����J,�f����BjF+����]���t�X
��0��������_�?������C�����������w��m����y���W��Z�j��
L�0���^����r������������L�Voe��t�X
��K������_�����~����A���'N�hFx���F������z�����
'm���������kF�>}�]w�e}m�����BJ!�� �"D�����|�I�&�F����[{����K�,�T���Z�ly�M7���h`�=j�������A�f��E���-����E�A�U�R%55��Z�	��B
�A:`E4�.9yyy'N�������7n������'N������L�|)JVVVRR��\�~}��E�QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� �D����C�yyy��������k��a����8s�������I������'N$%%���#===��Z���B
�A:`E4�.EEEE��w��W^����_SSS+W�<h����[��Q#++K;v�X�n�#F<����5�����o��o����C�W�>{�l�kQ&R
)\H��� �%&&���K?��L^�^���'���l>\����hH~~�/~����7�?��0���3�N�:��^����QH)�p!�VD�h���k���o�����A�f{��=�������{.==�z���K~��q���h��s��fHff�UW]��<���6�
)�.��t��h
\Z���������=6x^^�W\q��)3Brrr��
5B�Z��W5m����O>���������B�*###���B�
)�.��t��h
\Z���^|�E��t���������(7n�x���5k�z��'�����&$$�!�����O�>�������?n%R3Z����Vb!5��XH�h%R3Z����Vb!5��XH�h%����p���+�A4�V�<v���
7�P�j��������/���F�iiif�V�Z�m�v��}W_}uAA�X�v�����]�����f������=�m���%��2x+.��t��h
\������i��i����C�]w�uk�����u��5J�.]�f���3�6m��������/������L(�R���+�A4p�
:p���I��U�VMJJ2�n��MMx�*Un������������R�J�76�[_�2��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H����%�w���*U���~�]w���CCN�:��q���+W�Z���f���7��SGCn���E��������U�R�J��
�?�z-��BJ!�� �"D������,**z��7y�
������y������L5�+V���Z�j�7N���~���fgg�[���k�1�}���_~�e�kQ&R
)\H��� �����������~����V�U��z�j3�M�6o����={~����6���;w����;�h����e��~�3�k+ru.R
)\H��� �D5l�0!!Am��W^���i�'&&6j�h���5k�Fn�����C�5k�������+�����S�����PH)�p!�VD�h�Rt���g�y��'�(((���3��y*99Y�yJJJ�Z����6m���'�|r���f��v�*###������:�J,�f����BjF+����J,�f����BjF+����J,�����#�VD�h L��y���5���sO��-��L������w��}��i�������V���A�&Lx���:u�d�9r��������V��\&x+��2�B:H�����E=s����*�j������zh������j������p����d���������kF�>}�]w�e}m�����BJ!�� �"D��1c�T�T)�����d�
0`@��-o�����
���G���4h��Y�H����[Z�h1h��*U�����^�2��RH�B:H�����Ems�������7n������'N#��?�[�nS�L	�W���R��1�/Tq��G!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h��������a�233/��\�(�R���+�A4����Z�r�A��n��F�YYYz�.=R
)\H��� ���W�������F�
>��.���BJ!�� �"D�q?�����c'$$<��svy.ER
)\H��� �.������+N�:e~MNNn�����(�R���+�A4�]VXXx��W������q������j��Z��m�/�5j������Z�j����]����M��M�:t����[�f��^"�r�����I��U�V�~����?|��w�_�n���G��>�(����'^�E.��D�����w�>z����l3��>�����_���l���"��H�O�3fL��]���B3����������-[�� P"U�g�y�F�>���������F����_�l���c�-Y���-&PA�!�:n����������u��)((Pw����~���w�qGQQ����w������p��Gg�����[�z��!C��v�m����:t�R�J:t������^�z�j� Pk��=z��	�~c��M��O;vl�n�"�������^��*J|"�Z�j+V�0�k��=w��7�|s�����{����<��#A�\~�]?���zs���?�����s��/���A��F���76n�h�grrr�.]N�<y����[�N�6�sy�rN���G��������k����S�����������;m���_~���?n��=7���7{�l�����?~��]���A����Fnn��7���W_=��c���������S����h����~z���vQ�
N��m���?�#xJ=������������u��r��1�K�,�W���U�n����g�^���]�v]��:#���w��n��Y�G?�g(����?���^x!))i����<�HVVV�Z�4|��9��?��N������:x�u��o��fQQ��^|��5k���3f��Doy�? ��*--�z���f�2����>}�y�e������� Pj1�q���:u�������Cw�y�����r;��������~���a~m����#�1?���G}Tz��i�?��Sj<*|������?W����y������c�����~<�Jd��;u�4d�=(((���{��}!�P1�x��'�~������[����?>x��������%��)S��m�jB�r\���������+�[�.<p��y7�t��'���x���Oq�b:�������������<���f�������?��:x��?��O���?z���[X���&�������J�����������>|�y|����~�a��m���0��O�G�����~r��q
����:s���W^���7#s����W�\RN�!��=�q.�b^���M:�����9���������!����/���e�]?��,�=x����P�����zh�K���������^��DIN��������N5"+�\���y��m���W��a������7v��z�N��q*~�/^�~�����'ON�0a���������?��q���{0�A�eee����8����]���5��i���8q�����C����L����Z�)l���������~����~����z���Z�O����`�f���kWx��;�Gm�����B�x��C�)��=���3����Y_-�}����t\1�<��;w������C�#U���?���0f�E�}��g����C�F�U��u�iiiZ�r��T�}i��~�s����
������>fxzz��y��1����~���g//O-_]�g������6lXA��RGE��3g��ij�>N|�����E��������/�_u��}�����;vl��uSRRb���g�"���SSy��u�:)��U+�-����SOi��m����;w�c�=�,X�|�yY�b�{���x�E����S'|M�&�f����y�
7|����X�b���k5��gW�^���oZ���u�o~�����u�_�x�>}���vY�����k7f���������1���%$$�cFLJJ*��:�U�V}�����Q�\�x�~�l��r��:�c��1��7�(��Tl{��]�E<o222����T�k/�|����mx����zk�7��-[kT�����m����'�<|�p��������D4h������HZZ����U�����_������}�G����.*�����	3����'O����^������!����y��{�
bC��&��ha��]L����0`�.����@u/g���_�������^�.���Ak���}���+�������f4d�����C��v��xv����g��.Z��l+
�E������;u���l��EK�M�M�6Ma��=��Dt-�l���d.\��+���,^�X�\����k�h.j�tN��:���P-��q��6(P�W��u�j]�����������c�t ig�<y��K�>|���>����#����W_}�!jxt�����^^�=����f�8p`���:�ki'N���U���m�C=�Mm>b�6m�t��5fI4G�HqS������k�����������Z$M�,�:��^z�����yG.�Y���������50}'P6l��F����M�~Q��
�{����^>i�$s0�iE�E�%7�?8�T��HZ����Q�cL�Y���NCtj������K��?�i����k��	�]UEm���M?�=�M�����mF���y�ti��]���:t����~<~]�Y���nU�5_�>�����v��]�������T�p-��
��=����5��~f��&�I�\���Ge'X�:���sF�����'����������Yt�d?~?j�Z`-���+#�~<~]����Y�+����P���I�9*���*�Y�����0j�z���f4�v����J������w����D���*>��������N����2�_[�.�����j:_[���N�5c��'���M�d�m�����RPEE�G��m��{���G}TS(fE�-�v�v�N��:Nb���&�K�.�*(��������������PG�f��w��=�_����8i�u�
���i�o���f�(i�ZN3D��,��9S�4��3���o���N�:i:z�5�d5kmm�\�������1�1��b��%��WA���{�������K���{��N��{������S��R�J�����z����ux<����LD��n
OV������o�JTS3u�i�:zU�n��&����}���3�EUN���������;��C��z�CQ����
FB���_�S�j���>}��9l��i���#��F�X��iQ��h�=;��_��_�������f��h�B������^�z�<:�v�m={�\�b�3�<����\�'�u��;�T}����K�b:������������k�i.�P���r�_����Y[U[��U����]si���zKK��(=�|�r�,-����o����o�Y+�������k�=UZ!*��r��<;���ymmI�:�J�#*h��o��/�_��_��_��NO��7��	T%N[�e������9���������5R*u�����^������G��6����{+)��XP�.��EY�����
��������5k�����Q�c�L�(������F��uz�����S��h]t��l�>��M���?j����$��P�^.vt�i��Ux����[��u�*V���2a��]w��s������h`��4i��t��Q��:��h+������������y��K�kt���:J4��u`h��j��[n��u��\���D�==��x��������)�j����g�CZ�W�-���*��M�T�TT��a�:��QW
����jk�'k����yM�uu�z�2���FS;d��*z������~������N��u	O_M���B
�
���t<h��uA�m���*���y�5~��s�R��.���*����h:�i��tkGkj5�������F��UU1�1������Y-�y�������8����a�k�t^�V����?�Y%K�W5��_5�ZZ�)��
��N�5j�0G*zj�8���e1�l��HMM����+�k��)������cC{G
�/�Ksn�N�c�W����6�z!�����������u��_����9�����Y�GK��U�t�D�o�C���F����\4DG����*=�<���z����_�J��?��r�h��AG���?��aCmm����/��{����8~?�_[�#�R�������u���R/�:�*m�m�����'N����k��_�����8�\��?�)��RU�9��m���W_}UU�<�D4��-tC��.]������S��h:�h��*:,U�#��_z�%
�D+��������:���b:p�NE����#��G1�n�vQ�sQ>�2R�Z5St<�6ER�2#���vVN��k��x��z��;��m����7�Y��o����\��*��tnR�#q��PKk�����!���Se0�U�?��=P���0��yWT��}j���y���;8G��O^�=�\u��_��]w��-~�<��:2�3�Q��{����C�N�*�����kt�7ol�|����iH�q����*&fk+����Y��k4e]������[��	u��{G��n����S�NI�%�g��c���G5�:����qe
Bp=�^c��}g.""��N�qx���T�g��G*w���d��j�t��D�XVq�U�y�A�@���a��NF:��<~]�_S��k�[w���f>�	�LM������O�4���u����~���u~Q�i��������m��@5�q�~T}P�cZ/uYA'`X��6����7�3Q��6,b��
��~�;3_%Q�!����%<}5-��|sV5��A�}��W�c>�1�OY����
�y;Q�p�����Z/5i��C-��h��;I����Ik���k������/t�`j��V�UK��f�t��I|����Gj��KT��%:�k�F�'��1��v�*4#�P�_#�P��������,x�D[�\�A�I$z�>�����}e��	3��V�����y������)�#6�=�`��Y�F�����UV�V����1�S��k��z��z��]�f`�f�Ta��p=�i�t�S�Nf��<~?�_{����U���&�!���b���t��[�����>�Q����U�9&��������q|��>_�Q4r�H
4��*J�	B�U��*��H']���1',MV��+P)67��j��f����KTuDZ��\�zf�zln	���r��PQ-��]>xZZZ��N�����iSU]�U��5������o�H��3���uu�WH��=�����{�9sB�����)����W�n:����E
n����*�l��8}X��ls=kf���k�X���K�G����#�S��m���#����H�'>�hLt9�����b��
i���z�q���m0e3}�V�b��
�v�8�e�g�\��|>�)k	��Z���;����)��Q���\GQ�[[�!�g�:���A��4�Fh��Z���-Z�7����d��a*}���'O6{JL�pp���l�;z�hM\QRS�TT������J����<~]����t�:�k���\w�����x����;<��g���4?f���k�o��*Vj�tnR��y33~?~��':I��t����vV���N���o�~T����9�V��$t�����U	��V�Z&����91{3m������LKi����Z������j��������v���|A:p]1���K :wh����u��"�[�TB�@�j_��1�}3�������F�%%%��7�I�[[��VRgb�]���Y�NC����j
W�V+k�_�c>�x�@]����;�Ex9�{V�J����k��b�)���UC��_A/WQRG=q�D3P��R�Gx����Df��<~?F��K��u�Vmkk+��!������	���E)1G�^��������L�S��
=	]���:�.\�C��EG]��Eu5�
V#���bf����A�x�M7m����M���������o6������C"��>�M��SI����^U{��=����>����@rrrpA#��k��?�>}��G�f����v�:+7�*��t��[��������fu&�
��/�QT�
J�k���>�	���S�f��w��{$����L��9��������`�����.{��	f������x���i�|����;����k����MZ��m+����G���-[���t���!s���h#�[�����:$����(bfO�
�>������^��#}K�tnfG�K��I�&x��������O�<����S������XL��=;pu/��W:U�t�g5����-Z���{���v�u?�[P���(mym
�/��8��.��H}���b��U����:��<~]���J�Z�1%j�fp�������]��ttf������W�R<c:p3���*U���U�Lu�_�����7/8�i��8��W����QP��>�D?�����IE��X�����[�qT{���3��M:��-�y���O�>�?~���������Sm��Qgt�1�+~����;�O"���U��������#��:��B�&��:��u��.�<X���|��w�S���c���\��������6���ZR�Y$Z�g�]�\�$�A��|�s�N�X:��?l4T������m�tFPs�]��11#�g�>-�z��G�i��;-�.���e��a�k��
U�uu�s��}��e�o�J���Dl�I�Q�G������T�07�L�:U��{
17�������R�4������FAPO�qk@�����Pm�mdm��]�^{��Z����xfnu�����������Z)6/���� ��3���K��/��q�Md���_#��q�m��7="�7.t�����i�333�X�8�����i��%�k�`�Y�U*_���7�[UQ	R?�=^�|���:��\��x�w���
��_G��e�Q��k�i�IgL�]�s3��U'SsC�j�^��.�BI'���n��):��D���n��u�����g������O����m�j����)��O��t���R��������V�/==����~�������P
���s����c��z����
e�k�~�2��][�������\w���Y�|���L��~�FnV��H�\����K������~�4�:��{��p�����?���[�v������Lj��WM�K��s����D���k�����6����_���e���=zT�i�Stl�1E��-�v�z]���G��u5-���_*���i`�i���h���Q���N?��rh��5k��z����|V�C@�[UT��/k��Ph��������*��g@�����[�B1S�����[�A�V�������:*�q�J3�����>:��uV|�G��������>��@322�U������k/W��v�v������:�h������\�:p����gP�6e�����u��i6n��z��^����UK�&���uT3���"T�:���lt���5k���RVG�b���
�+��b��!C����2�	4ok��W9��Z��Y�� ��Z����d�]��%7��j�*]E��j��:�k�u~TC�u�%F�F�17�kT���:�`�6����1o�k+hw�y��\���>�^��KL���zV�P
^�:���l�K�N{P{��-@|�g�GG�����������#�������;*���S�u����G�������az�0=��B�m�!Q�w���q{_����`�Y���������N�Z*���,:�����Q�`:Nt0T|��H�m|-�y�H_gd�j:�����,�W�m��2|�������yW<������6���L�]�v�����jFA{������v=�����a��<��S�<A�.��i����L����i�������G�\-��W�BEI��!j��F�w�?�������h��L�����z�M�7o���������v�s�=�3�+�;w�:��u	O?���)�������9�|�����mk�����bk.������������	*���t��a�%���������\��u�����<����?���(ik��t�����T0�:����H�s�k��6�]5sw��H���{�0k���2]j|U�N�:�z��Y����#��]�%�9?���K��=������x0O�]���������=�s�V�~���I*��f.-[�4-A�~��I!�K|���s�G��-��HII	��
���~��7�|S/1�������]����W��?\a�R���/�}���*L���e�q�Pn:m�������
u1���7x��s�G���"y�y$�CFW^���K�b�\g%�*��<~E���?V���������}�:��
�>p�wq�4�T�������k�YX;p]������\�;Nv����;�������������U1�}��_|��>�����.6_�PR�oE���dk~�����������o�����)S�����&��[����|��I�����dm>����-����c������ZB>�E������pHHH����)����
����-]����e�����L�<��;�����H'w��Y���9s&���g��Q��R�2ST�������K�J���>l��A��Nnn�v���?���r��]A���r�.�����'R����|y��������?�E��=:���f�9����b~�RK�EO����F�:�I�%�?FN������|������V�6lX�|��la����b~N����#�.!`�|p�[�9����b~F~r6����	��wz���>]����8�{q�(�L-��b���?�Z�+yB@�6e�����y�0�O�����s(N�G����)������O�8�����G��3&))�4�No���sk�����u/�����e�h�����}�T�������0MGE�o3���1l�0����p�����m�6,�����s8��(**�1c��!C:d��y��E1�M�7k����������x�T����(�t��H�)���Q�TDisT�Dn9(Q���p�����K���Cd�Cn����\�.����z���u�\��������������5�3����y?s]�?������O�4�m���bc	�r�����V�

����f�Y��O���K�
��g�}���G����������Wk��v���3��.\��bJ���7�['�J��K*#?{�l�:u��;���������M��];�Q��T`���n�SZT��UZ�~����'O����Zr��w�v��+��V;�������7n�X�V-H�����I�
q*����h��x�b��9o��6�\��T���,��e�dJi[�:uj�r���r2pfSVV�G}DR��R}����U+�v�����������}�J�M�6U�/���'�wz�J��2p\�a��q_|��+���������������I�������O.\ ��~����D+W���_�-B���m;v�XzI�����~�!���s�g��=L���|� �����P�������#�5X���`�O<�����Y��>2�G�|��q�x�"1>��sm����S!M:t��9���md��'����s�\�|9��;w.~���
6���)S8�j�R!s�O��Q|��O?E�������;NB��i�����CS}$|�����*I��#A�x�x�����w���=�|,_���e�Z�-�����@��!�{G	�A�g�>u�%H8}�t���3�����9�z���Xw�.]������G�5p����8��-���A��s���X���U|�E�1g��/c��Ns]�b��������p�����������z�jf=zp����������@U{S�5pN@��d����G��_'�6�\�l��(0�U�V��h��B��3�Y0a�<����y�f�oxZ���%��[����3x6�@��`&"<.����F%��x���o�}��Q������~����kG�@[��aL
�l�gb���������B#�`���'X���{��-p��a�N��1c�D]n7g_B���?
T��������`�ovF��c4�;�~�*I�W`��
�S�0�H�i��������z��gp)3/qZOt�1����*2�]d������~��1C|�A��N��z�":t���M�6A��j����b7nl��=���}�-���yo��6"{��7�|3���l�����I���}I�����{���L��{Lyt������w�y�6O'�"����m8B,�W�����>���}����g�������[A���<@	g�l��PEnn.��j���'
6�6����h�"�A�s�V�J�j���o�K������;"?W�p��N:aOH�A����e��}�$j~����������&T�h�B��uQH,B5i�$�/�!�����I��#A�S�N�	bh�Z�������{N�c:�6������qJf�B���������1�����"�B3������������#%�A 4I�����$�q��;�~�������gO��n��r0FRN�Va\���������\�b�0��;�P���O���{��k�;Q'p9�`������`���~�!Q��}�"V��s��A#�p;xFm�a?����F�
>�l�n�9�	;���n��O
�2Bi0�A�1(���:~��P���D�-�*q�����#�'�bn2j��':�p�
�L������6�i��5s��	��6mZ��5��Y�|�6�����p�
���&DL�j��ai�c��Y3L�i��m[�+����G}���G~U�#��"&�����+���AN�n����H���;M�;&9QB�����g���t���O�`j@<&��3�K/�D�����E~�*a�g�����#IU^x��Bd�B���`�3��%3�����?�b��3&s��TFe0\����1��R���-[�@uIq���z+l�`Al�i��� t,�� tJ��Q���h��'��>}:.�{4���1p�w��������q�f��Ms0^-��C����q���$�#�e�B��8����N�������%>�������#E9A�;%JCp�Z.�8-��:����o��K��]�t�F?������!����y�L��+����g�� ���X�Z*Ml1??�����J�$�#��`{��W���o
r�fUH����d6P*d����iF��02l�M7�����U�T�r
zK[���1~��@���b��@�1i�$�L�UN�N4)��U�7�
�u��_��p9���8f�������1u��D	��bkAh����4�=J��Z���qL�U���i������B_U8y���^{-����C7^�Z�I����k�rf�~�e���:�F!��u���.��D�Q�����Q�o�v���G8�+����=��iK�����G{�0Q���q�F��]�K����[I����h		l��Mi��b���
0`����B�����928����=
���28�2d����U�O9y�N#�+2��S.=��j���k��!E%:L_fw���{B&|������Rf�'Y��U����A��uxN��Gy����\�J�����������S�
"�1�'�X�n�/�c��{�5j�
��gZg:�vf���B����7o&�>�p,x��k�������[(���h��nd����V�Z�j�u8gN�8�B���=����=��D�A������W��n;w��U�2l.�!����y�������r@ |�l�@�n��Y���oN'��L��T�%!p���K�&�#�v��cZO�����y���@��	�{G	��	��Ar��*�$4k���)J��3Gz���b��3�9�=*Wuh����I�M�*,�:�x�7��������p�[*$;.���q���?~������N����;��.F����61p�D�h����5������"*�7?����J8V��8��O3LA�q��7O�&L(g��.V���a�����q�;�C&/v��#���?|Oz�=�b��OUM�4�@�1�h�����0'�KQ�,6Q�X�sV�?�<�K���r����qL�P����2�(�2e
���-8>P�'N���K��d4�>�,����'$��!F��\�M��r?x�0�'�B|2�6l��]�E��m����27�.�	_�lY���uL�"#�D�Z ��������x1dc��m��R9/-���-\0q�}}
�D���1p��n�&5S�p;3g�T�8���;��5
�U�w���#��ob:�C%
�;w�����t���4����~��v���<Z��V���h����\�����uL(/,,�&9�PBd��}�$j��
���+�����Y�\�Q�7G�!�?��T�%���T-�%q�ob���N�{:�����6P*d����EK����P7_(��+W����v�p
KoXc*�8�p�p��M0F\��a\pZ����g�b��f���S�NX+�j�M��]�v��O��M��AB$�t���M���=:QB���������O�8�sI��s� ��~�W��5i8��H ���9>w:t�L�y���{����;��'C�'//O���i�1x((� nP�-�
=�b�'O��*w�E��1p���5j�c\�c���I��6�b8��Y�f���kr�bp�p�x ;;�9�������� |3��$J(�42)��1p�O��	L
l)Z4����!>1
�f��~�2pw~���e6n�]"~���[o�Uw�	����D@x�?��`Fk�j��rV3f�p^��I���O�X��s��V�ZC��	s��I/�c��+�z���8q�&���qh�V�5�W����EH~�UR�# �&���x�
/GP��@�V�^�LO���5j���p,Q��/^,�M�,**R��e��	�]?tX�/%f��}�$j���+������h�������V��q�R1��!I}{'�����3���@��	�{��)�LDH�%AHLQ�l��$0�	��m���9�����GL�}��A�`9�V�.Q��n�Ig�!��6�!�+5 �������G�
:v���_?���������z�
��X�I�/!6@�Gb�=2������1z�	k��{��U��G�*.Y�����2pX7�)Q�����]�-�������_����'�
��������)E*��Y����b� �2pRO�����D
3�Z=&W������.aHOH���������y��8i�B���;���L���OBa��
3w�s����������.��B?x�0����y��i����=`�=�=?�a�2�k
��2����K�
4�+��#�����5���L7�a�����#��H����?��O<x07�4.4�|I��B!�i#|L��g�A��0b7m���u�.���#��������'&2p�3����{��;B!:�"��w0-Z������[r�����T�5����?T
��������C#F�p��%��D�3v=z���!'����%��&��Q������}�$�q�8a�]�v��D+bV�����<Hk�B�ob����i�.��r=�*�3p���-[�<�kq��[n�%��������qQ��� 	g2��n��t`@���a����T999Z8�ck��Sr�c��
B�D�#"9b�LLp�@�����(!#�dD{��������P��nF��#���������[�u,�������C��fv���U�����}�	"�,^�J�������<?�����a�L���z
�"vc�Q��e�r�3�Lfe��I�A
?�����Z���q /K3�S1pj:t(�����D	7l��$����%��1f�^�������U��
�N�*oFmz����N�=?�a�2�kS)�`�Q�w!8�/�*��
W��=�T��?~<�.���QI���{����@h�S�Nb�R� ���$
��e��{��������jC�3g�`i�������:�0�`0�c��s����y��.������s�����vkh�
����_�������<�����{�A��u��9�rC���J������������������y�T�l/g0�O?���z��}����u�Vr����O�:�F�e�rq�7�/���/�NUB"/,,l���{`�b1e��������L���s4��/?��_��;�0���<}�t^^^�6�3\=\:{���N��R)�p����|���c����	^�<�\1\�x���t�.��")-�9��jo�k�R�x�")~~>9~���L}b=�[���/i��8w��U��������*((p�T�Y���6mZ�'��`0��`0��`0��`0��`0�>�un0�S����U�������s����?S��{�����h1
�����K����bG�kv]8q�^n5�k�;��t�'�����8����3�M��w�^}�u���e�D�U��3��)�_�~Tn���=������G������]�����P��y�3����'O&�bY������~+\�v-/Y�$q������e{u��/�\�l��'Cl=xqq�����=V/B~��gyyy��=ztP)��z������S�K�.�������l����<*!*$L�����*!�;w��>�|����wk��_|QT������u���~������MC�#�G��*R}�����o_bwy^[ix���!�~�-���C���#G����{�l����M��|����E�k��)��n��J����������,�����G�TJ��j�J$	���w���W_���CE	�N����0a0�2c�����q��}������?����?��s�y|�p����"�5?]�pa���D�B���s��=�=�\NN���S��c��������|���G��O>�d���,������Jh�}hI��s���:uj��i�'O>r��ke
]PP���6m�;�r�Jm����G�HM�Z�g���jw��5v�X2����Z!`���e��i��M�0a�������O\��O?!6�w�@"?��n0���9b@T'8p�d��}������#�p0��3gr	++��-[��X��k���:��@{�.]��{�����_��};��i*��y3�;s����t|��ET����6��}d���5:g���L�FG�ET��N�4I��1��~��1���U�Zu��A_�����|��}T�%��/�r����}����l2c
,�	?��'��U�4/��P!����6��<����;�
�3p����7F�IJ[�-�S�	�Cu�.���{�.�#$%L(
�]���O��=��d<*�-F�1�n2�CrR}��Wh��?�M'����	�c�����^���2>M��	4�����T������5���	z�6P��������z����N|�o�q����0���e�i��kQ*b@���h�(���LZ���C�g�#$�I,��?���Z~���P�=�����y��<�i�)��x�VVX5��xJ��+!fi0pR�#m�������y��q���%��bS���k��]�1��8-�?���8������������JZ�j��W/h@�����i���j������n���}��Da��-����
������+�Z�z�>} ���O?���g�	"�w��TB����O�>EKL��������;<�F��=�[vv�n�u���e��\��?h�o|�.Z��S�N��z+����G���?���n�`�7�|3�&���f������_y���k��F���>2�O���>�(b�@T
eB2u{�A��f���9�������{���j�"~�����i(�0���i��b�����3p� ����|m#!�k���F�D[J�p���t�]�vDg*y����4iB,c `�0XR&�3cJH��%�n�2dH��Ma_�M
�	��o_3@�������)m;	2p�l	�6K#I���z
��S����?��X��u�����������������h��rVV��A�0]��Q �cl��u��D�y��m���3Qpx&<x0�������?R� aA*.�6z���q���-hC�\4��nR9ma�@��~��m��q!���>M���1p�`��.���&��1�=�-��u�d�	H ��Ut��QN	��D��@2�0=��;��C�������	���B5f�����^x�	��aJ2S�Uf����;�j��#�<��g����~�m]�f���,IO�t�2`��Tv�
2p_?��1�n��c�('''�i�?w���n�Z����Y�������OoEL�j������C9h	��\1`<*'0_6l����2��I!6�{d z����R,vN����_~�_R�����:�w��q�����_b��sf�;������*H�4<6�;!��<�G���/�1�����p��A�b���@?�����')�B���`�6�/**"0i�?�b�
�z"�X1�.�o�>��G��n��� ��8� t�"�Q8c����U��:��w�����C@X�V$�`�L��/�����S��V:t�@ho��f-������:J�]�v�it�P��@{��d��o�<@���Q��N�<�g��%����[8�?��B5!j���`d(]:B+8[~��@�t-|��o��t�*�:���;�|N�� \���M<B���C�U���G�P��	�
��#G��U"�R-�@_8 i9_��I#-�3:
U��R!C�������!t��')��jy
�Y���(Q7�%��V1N8�{��tpD%wE�T��oDoq\�\�o�B�����{@0�V����-h9�j��@���[B���-��[��4:�('�s�i�Y�Q0��W��tU�e�
��N��!BQ��JPM#5�NU�	L����O>)1 ZLgy3�_Hd����0��R���ej�Y.aim�5�R!��'Q�NO���,	8�m�*�p=����Fg��(�����Bh���0�l�+y'�	�N�<y�k���m��p@���h����y���M
�O��������OH��7&Tqq1�4S����+���#	�Jp������+�����_����r=�����N�/����`������c��Q��YF�U�V�4j*�c�U�Q��/��G(�����2e��I���i*�y�fx���oO!�hR(.�9���?�&8�x��=+�����]'sVVD�w��0y���qck��&^1'''�
���w��$(H0������_z���;*l&^�d����W
�;�6l :����k�w�'�H�1}G��N�i�{n��\���C����[\����FM�����a%���1c�
��f��k�I��b
���_�x�b�=(�K���o/N��ysR�&d���EH��8�s�!�W�FB���o�����:u*�c`�
6F=4���W��T�{��������Ij�� 1["�b"GK����p�r���=g���u%N[�	7�`��a�r�n��%��M����z��s����~g�\��w�Qs��6��9��;e�]�}�Y$����`*�\������~���e
@��R"��'Q�b��9
���a�hAA���+��IFR1�D+��B�$V)�
��op2�7��;,�S�-I8VZ������?�<^�@��vcJ��4:�LI���C�W���2%��1�2�ut�[ZbS1p1j�k0��
�f�.
�iw������k0J���e�tk,���W�
=N����c_��maW����5j}������w�qGL��^o��{7���W9��g��:1b�c���1pd ��
�x98D*�}���.:p�{$���+��$��y� �M�N�����o����={�8�!��J,��V,�ew�������Ui8��:&"�rFkN�61�-V�_�(�KK@AU.�.��c�k�<����}��A�:&FC{v��y�]w�����T!�i���A�wy�N���!��U�n:4	��������G�S1�f��Fe��t��"9�y��IYo.:�D������%z�ZB�����������
1(��U�i��d�*��?q�m������D9IWc�~F��z4��e��8Y	�$�#�w��e��s`�P;��n�S�d�E8)	��?��n��	����y�JwV�'�H���8�-[���k�<�;O��]�v�B�ALRw�V�\���:�)q����=���M��E*�1��]��&���D�i����+�-a�� e��oi�}�2p�c��O��3M��5k�t�A�UD'u��u7F
�5���c�`z�������?C$�������iT�ZU.t���7��`�[�B*�;��(������
Q>d�=[���?[��|�G����+$U�T�H�Z�
�J@	���'��/����Qdgg�i�,7��8a���w�z�����?��#���v���
��xM����a���j�8ji��!��6x`AAAb/��R�E����jN��:r��"	}!H!���/Y������'������,^�X�EP�^���A��}�0�@��=�QuGx����G��-2d��8��u��hEa�H�`QB���o/v�, �K�����%
4H|v=6l�*�AG�}8��a��7=q���o��qLd���~0�5j����?�*�m������{[�q�=�`cA8��T��_W�9pd&��N�L*QN&T��-�����a�1��5� Bp�8�A��slU���j�����7n�6�|I�rL�����
�|��}1OU�`�e�4�t�������{zd�x�~b��T^��l�jD3������x�������X%�E�*��D���Nq�Z�%���"�.�Do���	"Q�����Qp�nq&��A�B��z�������h#G���G��AW��%�
����G��
�0p�	\��_'L� M�&
��`�6���P�.]
��T�d���s�*~�%���������'N&���BD����jS1� |����6m�7��������5��.]��]apW��!�&8��%X�E�7i�1E/l
����2�q;�5A�^�z�<y����i�t�j�-��GE��BB�:y���h�=]���By��N�:��g�A��8"#2��%��x��<��s����BL���M4d�i�C�
@HE2E���*�3p��9r��3�XD9�����1�i��M����$???W\)�r����k}�I�8,�!�_�>�S
!+�����?LF��W/=�De@kN�
�@���m�Xs*~��,��N����������1$�Wq����}f����dj`*z��B�K��d���(�ylm����Y���r���y�b6�)���>L�$�>w"q��0��YI������uNhBN	�m�daZ�Y�s��t
��i4	�$��hX��%X	>��e�T�&O��;%G�����y=A�,#)f��������M���XQ��=�n�����aj3��)i] |�����@��F
����������O?��:|����!T��#Gp���R_��+������'?����u;v�7o^z.�MzNR�;e:�"��}e�`0\���O�	S|.4�����z6�	+Z"��B�|�����k����q��1��A���iC%D9|VI��������z�C��G��wV�XQQ�T~]�k	�3�2�{����	��+E'O�3gNvv���S���_���]�`]�t�hqW�<y��|��L#����7��e����
S����c�3�f������������/�����hW�DVYXX��M�a��eR����)Srrr���7t�P���y+�����������_f�;H�H����yyynC�
Gqq�������.\h_s��������O�/�&���&��+���������-[��?n��
�g�]J���|F�;wd�_)((p�T�Y�F�L%~���pM��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`�F��D��
endstream
endobj
16 0 obj
   33693
endobj
13 0 obj
<< /Length 17 0 R
   /Filter /FlateDecode
   /Type /XObject
   /Subtype /Image
   /Width 982
   /Height 537
   /ColorSpace /DeviceRGB
   /Interpolate true
   /BitsPerComponent 8
>>
stream
x���y�����$��{�99��&�`p�	Q4"Q4�5&��QD�"&�f��AED@�A6�ADPQ��]@�aDeG`�gXf����o�_���?53�tw��q�pz�k�?�������&��9s�t�����[�pa��PZZ���O�����,h��k����c��
�=�}�u��~��i�s�=��Q �={�(av��u���}�Y��y�f-d����O>|�]������Uh�S�:u���O?��C�'N�|�(g��������O?�e.^�8��z-�a��m�[#�/����.$Do����Q��o��y��&��������+���(��f�E�����d!3g�|����?�����;u���N���c�l����-K�yyyzV�	zl	\�|��)g:t���y?y��O<1}���,��z��'��������uT�u
B�j�*%�%K��d!<xp��,�2D�N�4)�Y�w�
����������o��2�%p��w���0sQQ��+��<�o��Q���Oj���J>��a-m���i~�� >��e*�������?�����V��������������G�����c�=���O�9r��-i^���Xs��=;�����y���_~Y6m�����c����������M�8q�}k	<//O����o'�l�g����������+�<��3J��>�����z���4�%Z�6��S�R>��kW]h�c��}����|�I=�5���G5Tm:���#tE��Hii�6r��}��O<��O����k���z�1kC8p���^�4�v�V�[�w��y����g��AVS����j���W�^3g���}�	~[���p����{N+�����J+%�F�R��b������N��2��k���~���{�~����Q��wW�SS\����"���;+{�u��i	���)���W9r�H�����g��!��-�{/a	����>|x����������G�^�J/�k�tM�(�Uf����������z���6lXe�����8u��%K�h;��~5E�WS��5���	&h��/�����/]�TO%\)]k����G��i��i�w��A��f���}�����x=�@�\M
��l�2
��3~��X�
p��w0(0k��*�r�J���U�.�t��v�_)��Q�U$<x����`�8�-���P��U���EEE/���������JS��g	�����cE>{��{6!�+�w������b]���G��)��-Z����~��7�R��h�t��O���������}ue���K�J3��;��z��i��o�t9�)J��<������'O�qII�.m�����t��U[��v���fx{3_kj�&|J�](�WS��-9d��Z��9SW��W�^��e��s*g�t�G�Z��Rz������o�R�cIU���_~��'����=���.\�o���/\At����=�O��f��
������k�������^������SO=���=5y�dM9u��?�?~\!p���	c����2se#�EG�;���Z���[t�������)�&M�����W�m:���o���?^ m
�I����������_���		<��7n�O���nj
�R�����C�y�?=!�+�u��]S���?k����7W����?{����.;w�Th6l��e����5e������������%p=�2e�h	�����?�o��U�����h�����VxN��	����������5���(--����d�9,��6��I���kP/��I�AVs���z���k1�$�N�j$p[e�������w��s�"i����<O<�D��������;{��>}�����:u�7o�w�A�U8�I<		<��F���.���l������K����)�������5�o���bg�T��h}�}��q��U�^�x��g�S,��o��'�'N�M)J���M�FV<�?��'��O�	����'�|2v�X�����7�����Sn�b�3U���\)��9y�d��������y�|����-[��o_�P����K/u����|K��D�v���sgE}���nQn�����^����^Z!V���#F����no���6��2���K��S���q��j�J��jj������Z����TOH����U��4 �{��n�w�Du��-[�X.U���r~xII�O<�������;u���l�Rr�?�P'O�l�������������~��%,���c_���&*���3�&��2��z�����3���}������	�>��c�VP�/a%�j��L�>����y����o��W9����Fc��
�e��I��+	�5����@���x�����b���		|����=���Nf�:�\��%����?8:e���K�t-69����������"�^�����nlN�,��G���;v�n�N9l���[�4��z�:ujBX�5k��O>��S��$p�jn���k��	�k����o�������z��u������Bu������z�e�E��c���		|��e��|�a�j,��v�����s������Me	�������	\�T��x)))Ix6!�����c�������4���O���W�Xa�s�����'����LsN�<9�z�������z�����m;f��R���2e�e�&���i��������������~��g������{�����
������L��s
�����S���l����M�e��5C�����}���#R��X�O&{���~�%pQ��,���7uWvWsr�O��hyB����H[���G'�^��_�zu�U�j��/p��5�.]�(������H�P1���&p�j9rDC����~P/��W����{�8����SO=e�����E�~���I�Q��i	��;x����������o��������������pQ	*[�j{�����m���4$
�����j���G��+**R>�v�Z=�f��Z@�l�����X���;���?�u��e������~��w�}W9������J�����������=���g/Y����;v�V��xB��c������,���f���/��R-�
 S&L��o������iz���^mY��sH��_M��@1e�E�q���X�B�PQ8����m{��WF�5o��C�����z��k�9rD�|���z�g��_~����f~�����S�N��3g��1'N��a������G%��?�=zt����G�Vr^�h���r����s����v���������-[4x���3���W?�1���%��7jl6OIII�a+%jHzJ�BO}��'6<%p�Jk����U�V��c��i�ZM����S���o�����vZ�F�|�r�^?y���t�R=�<��-Z��#G��������'O��5����������}����]��S+��� �o_h�/^�X��6�m���|]�if�������o����u�����d=�M��5x-D3h�������d�m��W�t���EAE#/�Z?x��&���{JbJn#F�PfS�S�V~���c�������0���'M���h�"���r�B���b��p������o����D�����k�
o�vZ��y4<Eb�G3k�������B
��[EY�=���`�� �� >��{���+��X<�+4�%���v��m#TF�E�^}����p-SIu������)���[����M�x,��L��_�}��������s]�4Hm��8
L�5�rZ��{��N��o��Y��-[���M���E�"������m��G������46�������_4T�t*z�!iE,�o��I��!���j�����	\�Q��I���|�,Y�����|�o����Y���B���@Y]I�&*�)��I������[Q��Oy�T�M��O>���g��t�YeK{�v�ZEG[�cI�F�Hd�J�����|���;�x���������?#U���lA��^TTd9S�w��-��Z�w�{�ny���o�M�[��.~��Y��
b������}���yb��>��c����������.jtufo�����H�m���)((��5�F�EM��	�i���&M���1�4{����!�.^��"�?���/��&����	���@nq��2y�d]X����1c���5*%[���G{?XXXh��9l�k�E{�X	\�x���9SA���W��j+�_{�x�<��k��������&�{�h7�������)+�k��6���b������ec�)a	Z;�G��U��c��}������vQ��P��%p�������6���$pPw�I�JS6O����?�i�i��={��=�����D'N��n�:K���l,�������?�+mzo��3&��_}���k�&o(%p��f���K�,)--�b��?��3���6m��K��0k�,`�Yo�z�s��������7E�uI��j����1���K��-[�$L|��W�[f���&�J��]��o�k����}:���EEE18�K,�Y�
7�+{��>
#M?u�����m�2��������G�j!����=��K�Z�t[����5��v�������-C���+.~��GG���i3��7o���/���F�eZF������3g��������|�O��M�vA����z���Ey8�'��\��[){��/�����:u�����=*�x��Qa+�2�������m{E%m���(���Eu�B��1��n�7�5��U��y���w���u������-3f����e�=^�|�r����0�����J�Z�~\#�!q[�z���z������n�VW��k	Z�V��>TGqZ���������.Y�d��	���B�^���B)..V���%[-Ma������Z��>m�4
^��Ey�Z{���v�f��hwL�2�n�V&��W5~�D���Y�e�6�.��;t�`��?)���^W;T����N��m�4lm
�P�#K����~�Q���������@�(�T���?��Q#m%.���f��������2�R�[�
rZ����S�&N�����I�<p-SP���$3���a����g�-����ZK��<T�O)a�[���fx�a��4f����o�i�&�����5����{�'%%%z!�������v���;����Q��?1m������x��m����H�wZ���w��^�u�h���hU�^�[���6�~\������~���Q0Fk��4���wx����[F5~[_���������-D���$p����k����
`#G�L�C����yr������Ps{��=z����k���1#�]�������:���_��r���
6�Z�j��-)3��w~\��BD�%������k�je�m�������u�;w�M��N>�w���3g��l'N,--��x��w����?���z���/������k��?��E��_���&v���i��#F������l���3f���������5�\��[�V���VRRr�g���K�KKK����q���-%�
���;��7����Q���:tHS���/��"o�[n�e��q(����Ys�|��Gz|�
7\r�%���S �W�^aaa^^^�����[�je����w�y��/\�l�}{���'N��������Z�`A�F�������!C�$,d����@F)��N����S�6l��������]^^n��w�����n��g�yfYY�Ml��I^^^�
��M�6��__�?��K.>|�<x���/9r�7m�t��Qz�h��s�9����0��:v��_��_��t�����wy�u�]p�
�������

�5Q�|��%�8d��e�8vc�_����,�"��������Z*��pZl>r������nL����G�ez���&~�W��*��*��}���N���;V�\}?��2~�����JD	�c�E�N��:u����?�\i��}ev%"��1��P�����#�g
	�c�E�N#�g78 ���'xv#�rL�h��<�N#�g78 ��|��4xv#�r�p�L�	�c��e��H��C��(��F���D�d78 �-'�$���9�h8Q&���1D��2�n$p@�!ZN�Iv#�r�p�L�	�c��e��H��C��(��F���D�d��	���e������6I��w��'�?��Z���D�d��	|�_���������]@B��(��0���������!D��2�n$p@�!ZN�Iv#�r�p�L�	�c��e��H��C��(��F���D�d78 �-'�$���9�h8Q&���1D��2�n$p@�!ZN�Iv#�r�p�L�	�c��e��H��C��(��F���D�d78 �-'�$���9�h8Q&���1D��2�n$p@�!ZN�Iv#�r�p�L�	�c��e��H��C��(��F���D�d7x�|�X�
)D�7=��@� ZN�Iv#�g���b/���@4}�j���G�������J@-!ZN�Iv#�g�	�����?�\�	�?D��2�n$��@��Zz��}����[����~�y�fM9z���w�Y�~�
����f��q���^�)
6�7o^F����	8Q&���(T]^^������+**y���n�M}��6m����)r/[�L7n<n�8=X�b��g�]\\���5D��(��F�
�	�n��������o���5�\�^x���+mb�����m��}��P&��M�6�9sfF���	8Q&���(�@EE������_?���}�kEEE6}��a-Z�X�`A�F�������!C�dh�@H���e��H�Y�2Au�<y�����]w�UVVv����|�+G������d�����qco�V�Zy��{v����g����=3�k�V�I�s&p����3���2�B
����Ka��nh���w���g��u�V{��O�6m��\��A���4o�|���+"���(���{�Y�2A����5k�L1�?QS&L�`���_�=�������o�=>����SS�F��(��F�
�	���_<����i��1��p�BM0`@��m6lXRR��=z�h����a��7o��u�L�1z&�D�d7xV�LPus������{w��~���={*o:t��y�����u�<y�w�
�����e��H�Y�2�����e��H�Y�2�����mEa��R�
M��R���
�Iv#�g���gf����������oyO�X���������d��]��G�d7xV�L 8zfv-���U�\�����]��G�d��$�e��4{����nO����m>���JK�/:�����.M���UE����8�@m�g�3O7���
�Iv�H����?��������T����8?����~�8�JK��@m�g�3O7xV�L�[F�$M���*--���������L�z&=�t#�g�$���O��ly����,����������(�%�{fP���F�
�Iv#�WO���e�_���_�_qd���y�������|0���Q&jK6'p���xV�L�	�z�6��:~���66[��m__,�2P[�9���E4���e��H���.~��l68�l��	��
$��@�d7x�����p?��N�<�H�����(��F�8�Z�'������	�z��e��H��CPk"�3�gF	�zF��(����	|c^��o����_����6W����=�=�:�ar�/M����J�@PkH����B�x���	������}u�os<����:~�W�i���
$p��N��-H��E[��"e�h���C��EI�uJV'�4�����M��o���*���8=3�D ���8?M��nq����_�����@'��r$pzfn�@��_�����@'��rH�?f��
Y��C�3��-�2�(�+]tn��O������96	�2\F�z=\�?�uJFx����O����p����R�o�z��6	�2\F�z=\��:%#	<���-(��rO��_6	�2\Fzf���u
�^'Z��N��r$pzfn���D8��)Y�N��-D��(�@�#��3s��h'��2��H����B� Z��2�Ld98=3�-�p�L(����.zf�B� Z��2�LdJ6���=�=�J�-5}���*�)=�N!Z-�D�P&2%�{f�i�f�i�LT�hA��eB��z&=3���	�(�@��3���D��L�D�P&2��I��$�e'��2�������������JK�g�3#�hA���2�L�r`q���rPq��F��gF��2�eB�.`���I��$�e'��2	��	'�e'�$�LJ7}|�G�C�&iz��Ol6������+�����)���;n>������=�N!Z-�D�$���^]R�������2���=s�_�i���jn�E�gD��S�D8Q&	e��F��f�L����I�eB��eB���I�eB��eB���I�eB��eB���I�eB��eB���I�eB��eB���I�eB��eB���I�eB��eB���I�eB��eB���I�eB��eB���I�eB��eB���I�eB��eB���I�eB��eB���I�eB��eB���I�eB��eB���I�eB��eB���I�eB��eB���I�eB��eB���I�eB��eB���I�eB��eB� ��Y��[�n��s�����{�n�>s�L�6q������4"��$p8Q&D8Q&�	rW�~�����}��_��<���-Z������kb����6m:b���o�]�fn�Q@�$���2!Z��2�L����k�y�fo���������3�8c��]z\ZZZ�^��9T�����3K7}|�G���R�K7b��3���h'��2AN��}�?���7�5j���C�iJ~~�E]��p�-��7.�
zfB�<��K��y��36=�N�L�p�L(���~�
7\r�%������;���WXX�����qco�V�Z���?#�z&=N�	e'��2ANKH�8q��=����z��4j�������2dH�Bv����`�=�fs�L���3m6g����=�fs�L���3m6g����=�fs��/���3m6g�<=�(�n�	e��Jk!?�\BW�.//����w���~�c��3�<����&6i�$///�
���]8Q&�	�(�9-!�_r�%�����^~��#G����M��5J-Zt�9�?^�O��=��	'��2�eB� G�Z��^�zg�}�W��U=���c�������.�������o���/((P�De�%K�dz����I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�e�2�{�"o]��U)�4}����"��gF�g"t�	e'�$ze������}���"��gF�g"t�	e'�$ze�&~�W�P��3��3:��2�e�2!��=3z=��L(8Q&�+x�q����-[~��_��=z��;��_�~�
���o7n�x���jJ��
������F=3z=��L(8Q&�+x����_1���}��6m����)r/[�L7n<n�8=X�b��g�]\\���>zf�z&BG�P&p�L�W&$��c�����o�'�/�p�����}���?���m����o(����M���93c�
zf�z&BG�P&p�L�W&$�:������������
k����5j����w2$�
zf�z&BG�P&p�L�W&$�:���O�:���|�������1cn��������{��j���?�@��^�D�(�N�I���^�$��r��gn�������M�6+W�l���7C���������;w�#g����=�fs�L���3m6g����=�fs�L���3m6g����=��5u�L���3O�1��2�e�2q&���(R(���\s		�Y�f&L������G�}��	�r��)z|�Ygm��93c������eB���2�^��x����>�g������
���p����?��m��m��aII�&����I�&��
k��y���3=��F��^�D�(�N�I���^G�����O��]m�������:��<{��n��M�<��PT=3z=��L�W&{W��K*4}�������L�W&$p���gF�g"t�I������
=�A}�I����>����L��2�^�-BG�P&��gF�g"t�I���h:��2=3z=��L�W&D��Q&�	�������e�2!Z��2�LG��^�D�(���	�"t�	e 8zf�z&BG�D�L���L(��3��3:�$zeB�eB�������Q&�+�E�(�@p����L��2�^�-BG�P&��gF�g"t�I���h:��2=3z=��L�W&D��Q&�	�������e�2!Z��2�LG��^�D�(���	�"t�	e 8zf�z&BG�D�L���L(��3��3:�$zeB�eB�������Q&�+�E�(�@p����L��2�^�-BG�P&��gF�g"t�I���h:��2=3z=��L�W&D��Q&�	�������e�2!Z��2�LG��^�D�(���	�"t�	e 8zf�z&BG�D�L���L(��3��3:�$zeB�eB�������Q&�+�E�(�@p����L��2�^�-BG�P&��gF�g"t�I���h:��2=3z=��L�W&D��Q&�	�������e�2!Z��2�LG��^�D�(���	�"t�	e 8zf�z&BG�D�L���L(��3��3:�$zeB�eB�������Q&�+�E�(�@p����L��2�^�-BG�P&��gF�g"t�I���h:��2=3z=��L�W&D��Q&�	�������e�2!Z��2�LG��^�D�(���	�"t�	e 8zf�z&BG�D�L���L(��3��3:�$zeB�eB�������Q&�+�E�(�@p����L��2�^�-BG�P&��gF�g"t�I���h:��2=3z=��L�W&D��Q&�	�������e�2!Z��2�LG��^�D�(���	�"t�	e 8zf�z&BG�D�L���L(��3��3:�$zeB�eB�������Q&�+�E�(�@p����L��2�^�-BG�P&��gF�g"t�I���h:��2=3z=��L�W&D��Q&�	�������e�2!Z��2�LG��^�D�(���	�"t�	e 8zf�z&BG�D�L���L(��3��3:�$zeB�eB�������pE����R���� �>�$zeB�eB�����������
� �>�$zeB�eB���I��eB���2�L%�?��g�Q�K������7^{��
4h����y�2=��F��g��2�L�D�P&��|p���	7n<n�8=X�b��g�]\\���E=��	'��2�eB� J���.��m��}��(//�o�6m:s��L-"���L8Q&�	�(�Qr��7�r�-W^y�W\��W����4j�������2dHG�����L8Q&�	�(�Q��o����;vl���_|�������7n����U����'����;���g�l��i�9{�����6��g�l��i�9{�����6��g�l������z�����6��g�EeB���2�L��Bi�f��u����{�Y�re�
����7?~|G��x��w-�D�P&p�L(DI�N��k�?���?���'�<�����k��u�Y�7o��s=��	'��2�eB� J����]u�UC�m���7�����M���G�&M�
��y���[gz����I��eB���2�L%yyy={�<x�������g���������EA��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e 8z&=N�	e'��2=��	'��2�eB���I��eB���2�LG��g��2�L�D�P&��g�3�D�P&p�L(��3��p�L(8Q&�	�����L8Q&�	�(�@p�Lz&�(�N�	e��`�����u�8qbi)@��3��p�L(8Q&�	"�s��M�61b������E�L'��3��p�L(8Q&�	������3���k������Wo����T�g�3�D�P&p�L(D[~~�E]�}{�-��7.���u�Lz&�(�N�	e�h���k����m�V��������:z&=N�	e'��2A�-X��Q�F��w�u��!C�>|xc �Jk7)�.;v�8��3�����&M����evH@�5m�t��Qz�h��s�9�����e
�\p���_�d��L���O?���sqq�}{����9���S6��������uGBuHaaa�~�T#��o�)�|�I�=f�����s��	&��X��?~�n���o�>�r���q��u��]O��,����/�����W��u�-Z��5K�Q��8��g�����H������s�9�{�Vu�w�y��mS�����>����-[.^��f���;.\����G�����wu�����t���>|����'?��}��7|��+����S�,���c�C�������1.��R���g��t�Mz��q����<y2��2!�:�����={��v��=��}��������o���-�N��(��1�L��k����
6|��w-Z�����Ek�z����9�@2��������-[~���������s�����s����������.�����~��7*`X3f���>{������Z���g�y���36h��)N+l���}��m���7��3���u+gH����7WcTW������������m�V}r��A�<�Hf�	�>u�{��
�x��yW\q��'.��2��;��c��9��_�L���iS={�}����[�8P{������?>��z��C�G}�{�~���W�����c��?��SO=�W_}��������#G�;vLy#��j��:4h�r�J{<k����z�t�Re����/Y����nS�4n�X��O��R����Z��������?����T�v������������a��,���1<<���o�����wO�:UVVf7�u��:~���M�2�<��{��f;y����^�}��={�\���2g�nG���G?������-&L���~e�����?���	g�$'��y���X�������?��/�������a���x��'N�8z���W^����K�.������-���5s���33h���2�}���)�������o�_K����n�����\Q/�+_��7��M=��q���k��f���6��%Kn�[�tiF������t��C�w�y���W��f��q�O~��n�v��A
��5S�����p����}�kg�uV�/��S�g��q����Ln��&�T����������%w.��K�j�L3��_����[�|l�`EIq��Y���[��J_T�W���+N���0��=���������\��o��u���2=L���{m���+��rql���%N�����de��Nk7fz�@��.:yc�c��4O�l������O9|�����
�v�����|����������x�������#��i��_'W���WOc��	�O����<y��9s.a��M������;������GY���s�=�W���?���~���>�O��y�q���v�o�1x���������
�0��������z����:/t�^=����3f������0{�����������t��j���={F�U���+�X�B#��R0?���:����t�z�����9�o��:�������5�/TRR��s�Ug��r�����.M����D�l���ee��;�:*��?~�JK��qR�F#�+k�o��
6x��P������O�;�i��yyy	���PD�����=����B����iAg�{��W���'����3g�q�z����.Y���4��n��?��	��k��_)D5j����������|g��U5�e��]y��
�)�]�r�c�=���O>�����J�xZ�{�&�>}����vY�&M:t����/6k�����J�_
�_�~�x���w>�?X�W\�|�;��S�
$[x�~��m��~��:���1��G��������:C<m���{�=����fg��u���?E�������'���}��D���~���}������9��	\-z���S�L9q��Y�b��A����o��o������;�
6z�h��tQ���C���7n�4i��
�:sUTTxS�|�{��{������L�:u��f�o9�����tXZZj�^4���#?��S�RTT�`��Zoiv��{��6m�tE�y����5�
<x��1{��	��}j����M����7�����"]���+�=zTS>��c�\	M����k���mS��k����;w�����/�),�6�.�,�k��U�tN����^��3n�8����a�r�j]����O�������:���>l���z���o��������k_l��ESxt�����~�J{��	<���k�K/����F;a�m.�)((������Mm�b����w��5a$zE���ME�s��X�]S������������������k�����KxV?{����|�������:����.�dS�k��lOy�=y��VY?>q�D;���ba$p����w\�iHZ/_�(�1�����Q�):5r{V[5y����/7o��}�z�j/��+j+%�oyX{\������mF���Y�ti�y�]k��2d��gog��O^�4k�%p�V��^W�������n�������������U���~h��~�y�h����gS��TMZe��4y?�v�U���c��>g,i?�����������%p;����������j��|����������W���UV�V��CQ���&�^Q���R��uI��j�*F-\?k}�fSoW��l:�4����]w�F�����^H[I��^K't�����M��R�a���|�mU�������7������6����Mtz�����.*��;*��I����Sn��v-!�����}�5:h��8Ix]=��^�h�VAu�n�d�R'��Cyy����� 9�����=u��������Wz9��^����^N��ej�6E��Zx����I��x&�Z�w���.]�h9z�5�b����j��#����=N����M��sZ
��M7����������
7�������+�(,,T�9���}�Q��^�zi~��w�f���g�[�����Z�Oy����N�*_%�LfZ��^���
*��~������CQ���������g:r�������x�:5f=�(�%�K/�T�Z�(��>}�(�j���g���uc��N��^�F�a���|�A����ol����WRR��o��Fu��������s��e�����5t�k�x�.\���	�:�%s���M����o���zH��%p-��������5����|����t��K�=����?����%K��4<�������e�]���O���+�T�S���Vi���0��#j�����j2:�u�9��Z��-���?*/%L����MW��SW]u�N�jq�bm��U�;~����[7��[�h����C,�����gu���j���Iu����[��}��5a��YTZ�?��O����wtY��Q#�Y�y:���b5N�:0����:����?�NQV������P9��&?��O5<e�����k���N:����/V�M�6M��jV�A�2~����G:��u��T5���S����[���sg�A}L��d������u���k%�K�5�����R���:0�St�~�����u��]�����==��_����{�6���T���~�a�!���������N��G���9��k��/t����T��M���/6�~����k����~D5���fSJ���T*E�f�����
urL�.��+���'?�!�T���������z�fP��y���<�6�.k��Ur���t��,����f��OG�[;Z{P������u�44h�����<��o������1+7z?[���F	\V�X�������������jYj����&5Z�)�������N�_|�]��)������d��n�R��3g�6�N^�����Z��Ij�:6�w�/��;7i���^W�E{D�ZYH��%����$�����u��_���O8��������Qif5(��c���~h��h0z	m+�������uP����[n�E?��������K>��u����#�����[�����������^=N�������+j�����w�:�hg)K���K��O<�����:��s��/eo�)'�k~��_���_��	G�jG��?������=�B�@�-t�S���>k�;t�����tN���UtX�!���
�����X����Z��������f�%$p������#���n�u��]."��IW�\x���t<��&���lx���S�6�w��]=����m+������5�N�)��&���W�B)N�&�v,)�k�������))����`�U���?_Vc�R��pE-���Pl��?T���u�w����$��{D	\}�������;O���#w�u����/��T'��
m��
u���gk��\ool���I��iH���e)�U���Va�O��:5h�h��������]���%����1+-���k����[�0��������0���.�m��+k��x,~��S���]D���N���Xe9�������������u����"��P���jn�������T��u2�1�%��uI�����
������l�{����m?z	\��8q���u��W��c
��/J��X�-mmm����������c�K)�K&�~�F��T���t&J�a�T�Q�r�u��������.��+�X�}yV��JP�O:�ju��3�����W{V���N��=�\���K!��9�5E���$������	<y���VUM��U�t�`=S��iE�Rq�VJ�x��7m��}��g?�~h���D�m���.�t�R�[T��������Y�:���RF����O����H:Nb���e����}e*O:fTJZ���+y�'��]����:b������������L��Z���z���V�~O��f\��+��%v]����[��$�z���%
���K�?9�'�G��FU
�:��j�����VWL:�Y�������Ou�j'�p�vN�Y�]%\����~�����(9r�&�ocUJ�	B����.��H']�)��	K���Jj�v3y�v�5j��8]�*i�	\�z�p=�[�����T�V����$�+V$���)�n���Z�R�U��dk������oJ}v1�Q�Wv�?��H���=��������P���
�[�E]d	<y�jH���Z��M]������6�������F���3����8]wxu�,((H�Gti�+������e���_���vY�Q#�~s��1n�8�k�����������U��.K�����l����d��{���kO�;Z�.�m���'pE	om��L�6�Kn���.��4� ����j5�/���������ty2t�P�>��I�&��RS��v���uG�������TM�?�x�b�z�R����������g-��t����_u��{�������������P��X�����m~��5k���r?�Y)z������ff�~�?�NR�����f�Y	A�N?�����Q	M�Y��kX=���������|
U���q��V����9	{3�s���r�EJ{��������_��W{�:!���I�������+&k\�)���s����]�V{!��O-Tt!���_������***��-i��������m7i�������L,'�z�v�^�������jMW�V�M��R�	��&���f:��%����Ym+���n�=���P��[WM���6�~\MI�z��	6Q��R�Gx�_��D6rO��1�+��L�m���U��)�������w���nq*��#_?�|�����4��)t��Q��b��Y���|���:��^t����T��`!M���r�	��|��b��
?��#�&�\M�.K/��2{�����������k��T��y���noY�W��������r�3f�wA�����M���_�u���1l�*��L�:+y7��r5�%����>����?O�d%��&��{D	���~���������;�.]��n��{���Gb�����:��/���+��z�,��^�e���`�W}���2�'����w��xa�~o�����=�n�Z��h[��R:y��mk�����C4�BI�F�[�=����:$��xTb�������������WV��������f3�p��t~�8q���������g-�>|X=Y3�S����)�c�^��X�������P�M��wP������q��y:����+	ow���Jj_����-�M��e�y��]Jw�-F��JAi����ks�kE^O^���R����C�_������z����r���Dg3������}O����m~��.��fV����<��$�Y�fy�8�>��b��hw�����e�(���v�NOJ	b�<����V����={�e�I�X��ao�����������t��6�������d�%���������X�����X��v�4�8�K���~e���S'�)�6�������M�c����%po`������O��S���c��J�:���~�~���^O��:�b�>�=�tm	\�$�A��~^XX�������F���]my


tFP8�����������O��n��6���4��N#���\�j�X�um���c�;�w��/�����u"�cR��'�G5I�:>�4���)S�(�����)H�_L#W�R��?Z���wi�BP������mR�GXTv�J[mDY��k����{�������3��Y������^�����~���c� 9��y-��A�$��#:N����j���V��=�m���G,����4+���\TT����	�JW�������e)�UU>����/w���*HyF{��	|��E:��\��x�'p�������!i�:�z�!M��t��t��f�SC���n�R���(�%\(�$������c�� �����wz����7�h�tx+��:40�����z:��_��xP�x	<y]���w�R��w��}���UM�5��5L���J����nP�;v��7�Mm(K�)�����I�T��])��_ew�4j��~��T�SC��������3�9/�'�K��z	\9��[n���������i��������+�v��7e����>�WM�K�����k$�M���i�nS���<f�g��&	|���:M�N���bM���V;TYW�b��~�����������|��&z��7Z�k���_���gRF
�u�����������+c��v���}��v����r%o����:��3�S�E]��.[�6�������:x�"?��u��Q��eK��^��?����������x��_�]U���}��@���������?U5L��e�A�����:�h�({��q�O	\�����WfP���`t,=��	����;S�����7n�X�����(:*�gu�����W6:J�����uD�+Q�Y���F��������������m� 	\�H'k��^B	�� j����LV�k�4r����u�����;t���u~T �:z��
x��'�l�UP�N�u�`�6���$�I�]�B����u��%����B�_b��N�YuB��%���b���������-@r�������������_b�#J��*;vT�T�N�)�������W���u��,��Y]j�h#�/�>3P�^������W�]��Ym��.��.t
���:���^����J��t��`���t�s�6��`oi���������������UK�6��jS������/���	�������:��Mt{ ���������u�B^<��t�|��]O�4�gu�k!��{�:�����%��z	\e�>�Z�=U�^��X������U�PS�x4E�[k�}��X�l?�@�I��r?��L��$:��i�F�S%c7�%�G�����_g(=V	z	<y]���'p����;��+���ko�4o�\MXek����7e�[�t�O��@�����w:4B������Z����X���S����40�~�;�����)ik��t������u0�:�'��X�����{n��j!vw�v������/e��u��
5��q�.]�^���o�u-������KB;?���K��=�����y�����H�^��C.������AZ�f��y'�X|w���m��"�s�=g'�U���#G��X��yyy����5�}����c��G�W�������v}����W���<]��#�oGF-|�?V�����L5��M�-����N:��P��>�x��p���5�,���w������/�v>\g�����2�i����Q��X;�^�~T��g�#t��y��}�����?P�f�>�L���&/�2������k�\�����r$���/���&/�2��z���o������|���S����WE��l�]	�?+����GN��C�#���u�u��W���g���7�p�w�dp��~�L�C�M��8���N����������~���{��	|��5g�~��C�~�~��zwJ#���0}��c�����F���^RR2i�����>���6�=\��`�_z���?~�x�������/�"���T;�W����������~��_��8qB;������7�q�v-�(�(�4���}�������'��2�=2h����?K����GC����}%v�<�W��&|���9sF�u�����S��;�/���t_e�5d�~\�|���C���d�����%'�|=U�� ���%��R�~��k�L�|����$���1�!����2�%�%fB�h��2k��K���tQ<�<R��Q��-!�D��"���(CJ��}?}�����s�~T���]�����=g�}������B�P(
�B�P(
�B�P(
�B�P(J?��-;����Orr���H����%g�O
��x��;������{r�������R\^���+R(����+3O,����P�'��?�'�
�"�������K��{K���^�Z6w0���\�b���K�u��W_�-�\����{�P
_�������w?~j������`V1���M�JIII���"���@��q���
�����3l� �����q���o��)�d��o�o����-[�������-Z�d����������{���[a[LIIy~Z{q��943��W7�
�3����������a�������g�������7o��b
�'N�['+�R��m���?~��v�������s�A��-�T�Z�|u���g�f:�E)�P^�e�G��n����_�ZR�j��n9���j��x�6P:��c�j��		�q��dRfC������{���[���������C�|����v��"��)�m199�h9BAP:8�)**���?')��B}����C���0;;�������}�
������/�����wzzN�*�2p\�a���_}��)���/�����.�������?���>}JR��< ��=���������[2���:u*333�$^~���+V���?y.^���NLL4q
����F	���9>��u�����2�{��G=4�v�Z���Q�|�r��cnn.1���'����TH���_�r���r�ld/5�O�/_�l4�k�.4�a���!�G���e��]�z5���B����@��4�����������k����qz���1m��P	_�fM`�}N���H�$�"��E�D�������|,_�9�����H[�����B!Bn������[���J�p��Ub��W�&S&���J����'�u�����7��;w�Y7<���|�Bo���98���������p�_�^��1w����yq��%�����0��������|���8��Gf���0'''�1T�����s���m���Zy�5����s����F�����G�x])�5p&"1����H����'���x���"d�v�(A������=z�g��AL
f"������WrLq��Q�+W�3g!k�^��R?S������#f [��aL
�le��@
�/�!E���M�6q-?��J�u���-p���'O��1c�D]f7g[B���(q���r����5����I��WAB�&<!��8�F�9���0�w����>��p��`�i=�a�d�^k�H�xq	g�3/���m��9��N�#G�$::�K�.���j�Z��b��������]�B�7D��_����y��	���}��8mf7N��/lKb8m����/f����;�G����
��X�jU�<�P�xR������^�z��w�;�B���G��3y��w?��S��V�i���p&�V�������P��a_��F�A�a�	s��e~���9e���Qi�|���c��������O��*���I'L�	�2�Z�����@�O�81::��A8@����m�J%x]��P-Z��a��4~~���H����/a�Z�fM�!1�k��r>f ����4>23�N�l�P�����<x06�\F���z�h��R���q��Ls���� �$�{�F�Y���M�
?��u��>|8DQn�	�`�D9�Z�qu��j��'�p9��� ����)�����Y�|���@���h���+�G�;����~���@	���XJ��	��t���e����,��U8�4n�x���d�t��O�9&Dv���4���.�_(
&:i�$e���=~B]�*NI����2p�w�g�F�(������w����+� 3�f�bbbd�h�qL����k�N����+k��q��A��lso8\���
�mB��+W����1F�Z��D����uc�Bi�i��Nc��a�*���G��4�>h� _�� '�
322pJ��P���4�c���%$,���E�p@9@{�
��c��;�}����+V����U�������xR��={J(D6.����9S�Q2����I~��Of����J�x	OOOg�	Kaj�N�<	��H�K�T�l�`Al��H�	X��X�����d{�C3�S@C�����U�p�pf��q�$��s�YN�4\4�G�{���n�:����B�?�n=/\��8Or:B+P&Y���#x0~�� �x~j�?�^N�����#E9��;%���<e��f��(�)X��.�����\B�����l���*��?2p[?��'p��DX����=/^t���y�%0����N
��9I8��/���X��w�}P�6+��L�r
f�B$����sF��k��)��~�2e��\F�
���-fGZ�w�1�(Y�dh ��4�%��UN�N4)�A��o��&��,��p\�N���Y6cw\>���"�P����@	������
�i`-�(��"���c������0I9���0@8R��.]�t��!�o��B��*�MR$(fn���`P�\�"'��(��_z�%������3�a��n��o������v!�^N��L�^���k��%�����2�<�La��i���cP?��&�ID���f%Y��'xKH`[�lI��(7^n����'O��
�����#�a��\��G!��[G�S�L�c;x0�SN�$��%2�%)�\�@B*��_�zuQT���e6�*$D��7n����)!e6�%k��?!X����F|��,�M�6����V��\�v���������4i���������mI����3g���{��������WK!�D�'Nm��
8<��C���o���z|e�
9���;��TR�fM�?5��8gN��B����k��'�'���@0t�P�������~����l6������	�<�K�t����r@ |�l���n���k��nNN6���"KB��jw��8�h�0�i=7O2p,�S�
�H��;J�����Lx$�Pk
�R�NB����5�������mB1����9�=J� ���m[f+�f�UX.u��5kk%S#�7
���THvL�4�����h�"YT������i�����J��Mx/�Kn�	GN���*���_��8}�.�B\q����J	��lN��'�&��8RSS�0))����;_��q�f��!����2y�������Do��P����E�bPw��>������0'�KQ�Xl���4��z�������������o�A&���mz*����/[����-8>P�/^���@	�h>��C�9%/0�������s]�r������!>0����Q�Fd��0�����uB0p[fe��?$"a�;w�l������)^- ���������q��)�o)�����k�b.��8��|
�D���0p���Lj�6'�v��Y#�����U�T�5
��&.\���G����i��H�58{�l�j��',K��/�t���;s����^�r�d���P�0p�������0p9&����A�C( "d��~5�2�6l���<h\�Qo7G�!����"K��O?I�0��q���)�t����M�g���@�	�{�-�G��0�r�E%�t�������Na�����8��\x��q#.B�a\pZ!i�������zs��v���VU���>�=�+������5���H�;wP�h
<g����
��_�,NI�����|&�z��	��o�J���aM���\QH ���967:4�L�x�Y�f3�{'%���IHHnN���1x((� nPn[0:�7���geeQ���"��a�rg3n����B
�5L�c^�a��q��Z�
�4\��c����6m�4::�9���%8�����f�	�P��`��8"��I?iZN`j`K�����^���P�`v���^n�t�����HD��333+U�$w�	����D@x��q��`F�"X��e�Y�^��x!�'9����}� ��@�;t����
]�'�_�>�$�������>����e���k��f��Q�F�!�	WI!��t���v�����Wx9�Rw���ez���3��z��0N�%����[�
�&t���K�K�<))���C���Rb���O��a_��\�i���w7�A�3��p��P��yH����G����	���`�x�6P(D�����|Jd&"$��� $�(�l��D`fJ����]s(�����GL�W�^��`9�V�]�Va�r'�A��B����.�a����7��V��O�>c���~P����;><r�H�}��N�$�b�Q�H�G�r��5�84F�/F�5j�������#�*n��
����2pX7�)�b�������m����"��_-\�{2�pq�<V��Y33����9�9��d@1?�7����'�I
p��@
3��zL��]��<!y��MB�wX�<�N��0O��C~u!�aJ���OBa��
37�_�~25�+V��]�
�v�*`��C!��!�kb�����<������\�P����Pv��Ah��!�Xb
92���U+��!��F0"�s�y��xD4�i�<�'��0�&O�L�M6��,[��P��q���k3p�}B�[�l��r�����x<|�z�����\���PI\\�<tG(D'�Bd�E��-[�DGG�a����i�'Y�A��������������\K���#�p����@�3v��
��!'����%��&��Q�������6N1H"���f�������f��Y�;wv�2p'�

��i�����d�L
���U!9'Nl��=���y�P���WA(��7�����A�dredd0�@��w&&)ULL�,���e��S2�c��u\�D�#"9b�LLp�@����(!#�dD{����D���P�nF��#���`�j���[�u,�#��+,�VI���woW�3p�w�/_F$�Tb	8�2e��4<n��'���/	�]m�$���#:�E����������4�e���@
�&��~k�O0#h30S���,�����y��i\K,����%<z�hX6����qz
]�3�
�WAB|`(LNNoFm� 
�����{~���e6��R�B�"��nB��_�U$5+�!��{����h�"x]�����<+���
����\�v�����A^/+o�(����0@?���.
[C1|<���=���/ ?�_�e�c�����B��������SRy���������_m��%���������,��Eaa�^��t�:u�9�bC���Y���������%�]Zxjjj���C}�����v��i��M������0��� 7Y�jUrrr�������������/�+�NU�@�����K��X�b��e111��i������P(9�y�����~;�F���>LHH(��r�������w7�_^!�ph������,��	^(=�<3���=����/�����[_���a��
������������>+0��.���"��/?�����A�U��/��b��JII1��<x�_�r��'
�B�P(
�B�P(
�B�P(
�B�P(
�B�P�1���Y�7������'%-�B�l���d���s�}�o��+�~�*i1������}g��9���������
�B�b]?g�_������y#''g��5+W��t��|�u���E�D�s������)9rd�f���~=�`����G����������^��a�������7+++�����+W�o��+<t�o��-py�����E{u������s�3�'Bd\����4����%�"����233�����J�8p��������;��9%%�������QQ"aB�P</��[
��
�7o�k��.�n�}��P�R�����]������������4$<B}���"�'��
c��!v�����7h�b����Ci`��>�]�����m��n��=��K�.�f{1�[��m<X��f1�
�������QQQP�{����=�)������l�$8r��q�����wI	��N��(�0�P(�"c������~��W���/�HHH��q��'�y|�y����t�5?=}����3�D�B�������v����l��
�����%&&�_{{t����/8�i�&���?P	��-"	�s5���\�r����n��_Y��B���p���������W6b36lT$�����g���j��?�`�2��[��Z!`����;w��!�KJJZ�x��+W�'��s�b�|�$��_�`�{�o�>���2"N�z�*#��j�����V�B�`�k������&N�<�g��5_��~��������7�|s���O��:M%'N��|cN�w�����\T�����6��mD���5:g�e��D�-�
���%Kd�:����_)a��u2Fe���4i��s�d
���/_�L�\����p-',Z���GK�|�M��B{@��������/���)����������z����U�V�V8���WW��A&)m!�l�JN���w^6e@=��w!)aBQh��=|�p��u4'�#����0F�������T�|�
���e�NL�3J�ElNm�D��i2���@�H(�<
2p[?��=z�3A��
���7�����;v�0u��F�U�reF\���{x+�Z���P�5!�1�rpX&-R���!�2��I�$,rrrp�\�O��j�[�n�����M�65���]a<f++��vI<	%E���gi0pR�#m��#���SSS9F���_b��{�����AU��
E�E���c��c�B��7o���t��a������C�v���qo���U���>;v�X�^�����
*H��������S-^}����p�����?����������:i�����}�����I~��?�	��^�:~�-7������}{.���d�o|�n���o���*U��"C�z�p���~�ll0a���<�]��\*4h�b��!t�qo�#�N��];� B!�P5�	����
6�0�����U������k��I��E#3T��P8a.����qc� �5h��f�4Arc!���FB�����������P���3�x�����T�����h��X�@�$a2� �"L�g����#J�n��1e���-[���="��1c�����Ex� �{�
i�A�����`K(g��XI
|=�S�D���%�������>|��x��7���q��M�&��y���Q���"�2��k8
�~�
"W�N���n��[�n�L�I��'O���1!��?�����%HX��K��^@{(o�����,hC�\���nR9�����w�����S\��9���m]N�#S���S��@91��E����5	����>}���S�q2p2�L<�[o�5}�t����f�r��	���B5f������={2��8LIf
��L�%���[��q�6m�������Sqt�Z��dAHz���������P������5�����+��E9111Ls�����s����!`��5j0�xr�v�����P�\����c{(-a�+�G��K�F���PY���R����a����(;�E\�'�|b/)�AN�	�;��8a�N��/a��sf�;�������	�4<6�;!��<���;s!^�cT��k��x����4w<��~�'����OR�d

���@<==��$���={���1�����/_�i�y�4�C��������U
Q���s���-[������~��2��eE��$������X=��k	��w���m���e�^��K/QBx0`��F�%>		�'�IF��v���~��)++�����!J���g����Z���i���`d(]:B+8[~��@��Z��w�}G
&��UPu`/ !&w ����!���,ik�x�RBh P"1WJn��M�"._H����DNI��}��$#��B������1�ExFGB���P����1s��ah�f�I�@NOey
�Y�����%Q�nlK�%�[�8��m�7����E�2dP�W_}�al�q��r��i�����L.y��w���j��#��A����+�&���P�������,Br����9�i���Q0�+V�(����m���"�>J	
�i�f��r�G|S����1 ZLg�fr!���"p���L�2r-S��r	3H�6�0��\(D��m�j����}4:K��@�J�]��w��'�����"�C[��"�"L �J�A�AN^�t��!C8�-���P�eddh���X����0�,�T�NpM\�� ��4J���������f��b�E��mi���BJp��G����$�0�_~�e���0�o!��^�0��I��v"�P(J/"`�e�3i�z��p���8
������*��]�v�i�����X����-[�d�<h���8q^��o��S�;Z��7�������	N&�:.7���c��H���9**
"��V�5kF`����+�������4�.~���L�K��q��q�>}$l&��m�(�/]�4i���=z�(��p���U��p'x����wd����^�&������%>9�Mbh��}�K�B<����z����3g��������	�����Z6Gr=��K��{�g�l��U����`�z�N��ukR�&d���E��9pB3p��@��^�z	��\(�V���������T�1��9lF~��,@�4���7`�01I
�!���������h�d���e9���^�~���u%���fB!��3����3�KD�6Y�6}��#�>��<qA�o��K~��j����q2G0x�L���~�$��K.�����J��Q��2 HN!	���ya��9
���a�hJJ�tW,�'	���o �%a��Q���
N&�f8��m�$KZ�����=z��hp�fLIs��F�)��b�q�x�	�o���T�����--����0j9&�`2�&��]�����o��	W�P0��;w��1�]�WP"�Z�� ��4�ip<v����S�������7g�2z'4?w�\�*U|b�v���.���}�])��
>\�g��m�y�D82��
�x9�E(�-_���E�5���0
��RSS!�M��p3	[&L0��[�N8�!��JX!��X��n�c7wWE�����!�#B�WNo���&f��j�K%~���FU	��\.9s���
�����G����
�9{�l�j����*Q�Dx��-������;�L���tk�Bs���I�%�`j����P�U�Viii^�"�P�"����%������3��B�lI��=�
p-!�����nR��W�7���r���4SCd�*��~��}�2�'0����r�������]��9%]F����@N|="I170Z&>6��k�
�B&�b^NG
��\���n�	���ya��4�N��"����pN�<��O������x��?^.��I����{�b?r�
7��vJRo�pF��&f�"���z���D�wH�A�4��Y�[��0�D�"�����>z8��0p����3M��5j�0����UD'u��17F
��xff&lA�>�A�����{"!�k�l�o��F��e���^���FL�wk[����p2���D@�^>e�y������Vqz6�G/]���+$e���H����J@q�����J��=�~�����4a��{t�0Dt�w�M����/��?��s�������
'N��xM�"Q����Q��f���Q�Ft����)))�����Z,����P��@mKGn��E�"��/)��;���mk��	?���M� I���[�������s0f���;�!h*BT�#�a��G`�-"d��8��hEa�H�`QB�z��%��Y@p%s,�0.i��a������30T�t��������+��/^\�|y�1��2$��!T�^]l�/��P�
Ua�e��-�Q�n]l�q�����a��<������#�
��	��}{yBl���0a���2� Bp�8�A�D���t���CzJ���Y3���9$��cb��|�����8�
��y*%�/�Q�����M���G������ya����F0y�5��\�}�P�	kE�oLRX%�E^U@?���~ ;����/�xTT��v�&��-�� ��=��<����-�@]1��P@��X�����o"Z||��&/8j,���--��h@�N�}�6� �0�+ ��kRR��h�&0��*��}e��0.HNF��@z�_����� �4p���8q2�H��v�D4==��6w�����e��x3����{�h��1'����
�����q�7��.�.�Z\�����^S��MAvv6��~��`MP�W��O�c#�Gx,&�Zh�~�Q������A������f���(�:!��
k���m����#2"�X$�{O�����]��1BB����M4d�i�w�����d�pO+���������0���"�.���apN�.]��%������J!��������0����r�
@8E!d%x����F�)O"CP���d�M@��u�Xs(���#,��N�������9�	-bH������O�����'4���T�a'
XX�/� �0�y��ch#&&F��	�+��II���!f#?2p���S?I���H��!L+d���f����:'�r!N	�m��������0+�v��h�HZ���2�CK�&|��	���M"��c�2p[?���	"fI1#e(���8��0<�9�g���s�����S���NI��#..�)�*K+���=��k����;w�s6`��XCR��[�p�����AW���O�O���i]�>}RSS�3p����$��S�3.���W�
����=�P�0���B#��Y��/O����E���H��P<�7t������++~dffJ���y�<��(�(����*���rR?�}��^������z��={���$�_W
��E��L��~'wr~	��^!Z�8y��������G�J}�Qll��M�8���I��x��6�a�|��H#����7'N���}{���S�~���������Q��_tT.��5_~;+�]�YeZZZ�.]f��I��
��-���IMM�6mv[����_W
��E��'�Y���v�6�}��aBB��������q�������7�������yz�IN����X�`����{����?�!����<yr��Ep��(�x�$/�_vND��qwd�_III1��<xP��
��I�����B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B����gM�i
endstream
endobj
17 0 obj
   35016
endobj
14 0 obj
<< /Length 18 0 R
   /Filter /FlateDecode
   /Type /XObject
   /Subtype /Image
   /Width 982
   /Height 537
   /ColorSpace /DeviceRGB
   /Interpolate true
   /BitsPerComponent 8
>>
stream
x���y�T���q����?b�����G�bb F��5��QP���A#	���;6������ ��M�

t#���NC�4t��V���'����yz{�Y|�NNq���?���U��#�2HMM����[o��h���M!??�M�6���]���6N��-O�>}����=�w���			��O��T(�C���������w��U��l��MY�~}�S'O�l�b���g����'N����k��m������Y;vL}f��=���v��i��d�����a��=�[����C����9�s��O>1bD�����k55��y���/�TWN&���W��[�`��Df�����o�9s&���o��}�;�A���z�l�2�,RRR��.��t�j����gy��!z��?{�l�V�f���3���M�6�{�>WS+,,�E�����W_}�Nu���>0`��A��O�|����w��I1��;p�n����'RTT��[���[��t�S�8p f���L
Ws���o��Q��y��D�+]�h����<x��OP��/WO~�������f�n����e���s#�[�G���}���z�]�v����cG1������s���>k:��>�l��	z�u�����<}�Z����Ld��->q�D�_�����h���O�����Oc:��G������:uR���s�>��������h��Pyyy�g�t���-�����y��6m����N�:�E���k�
�+��%����������j��U���,X�=b��-�6��c����)h�,�~0��>������]�=J��Zm�WS�={��5k�YA�/���E��h��>}�h���@�-�J\N���F��^+hk�,Y�v�~XM������_�>##�������u��O=����]��e���kk����o�n}�t��KVV������_M`�lLn���o�M���t���yRRR�


����{w���7(�\��k
-��O�e�������j���z			����g5#�������.]���9������>\C�S?~���5��/����/�T����k�������0c�m��m���7#��#G�����z`�WSfr��eZ�<����D�����A
������+�{GWm���1c��fT������UK6h� u��
V�Es�yg5��dff���C�v+���S�M���0����'z����w<���9o�����uQ��wo-�b:���������u�����k�VJ��\m����[��}u����������s���G������u��8}�����g��qNN�.m����K�t����s�z�fx�f����7��Pb�B)~55_m�����b��Y�"0|��U��P�����f���/�j
�J���m
��wo)W
��c:U�@&Lh��MFFF�TL�h�"�W}x�'�Ft����g��z3��j������
�f��`�y�>ht#�\��;����/xj����������9�&p��!1���gO���%�EG�w�k�5�����RE/9|�p0d��Ir��Q�D��4��}�_s�O���6Ex���������8��]o>�t��a�������fnj*�J\����m�������7��������w�����ms��m�_{��1�����_Mcbb�y�4�Ws�!���������!A��S�L�Mkr
��p�{�n=�tR�M�iK�w}�y��c��i����`����S�jHp�����|�rMYc&F�����D�����6h�����f5,X���J�����	_���r�^w�fo�o����,�_�^=O�V�b����.��s���������}������1�an��B�@L��zcpB|.�K��;vL�����2�KT��yl����k�!�ow�[�n5mg73�Z���;�3��^�h��S�����o�	w������u�3f��FV{l~6���|L�;�R�����G�m.��m�����������\���T	�^�+p�9{�l����[�_��m���_�l�{���\.s���;vt��[�F�K�.:tP�o�<�7_Qnn�6mZ�T��f�&V����
3�'����%������/�(f��v�Z`=�������I^���Bn��]�WS�Z�;�c:p������X�7���Mt��;�4�;v�0}�Z����<''�U�V���.,,l��}p��U|.�������'��������?W_]PP��'$$�L3��G���Q
T����j�;p��z����,g�-9r��q�����!	�X����������2s����|�yL�w��7����D����O��M���X���w�������D����{Omm��1��q������Y}��^��)�7]���hk������l|���2�������k�������1��b~�1�m��O�6�L[[�w������������b����g�i�&���>x���m��.]����Y�f�2����}�����������B�S��'�;w�d�i�F�m���/[���6��0�j.���������y��T�����;v,�9�WG���/�����<��G���#)))���l������>--�|����M�6�/sAA���<yr1�){n���{����������K����)SL������`��T���M�f�>����]�v���q����7)�6�^���5M�%�Z�`:p��b~�1�6m���7�.���W2��w�5_"7l�0k����d�^��_W.j�\x$zS������|�]�K�c:�H��E��9rd�������V�*~����G�8���;vT������LmC����yv�%�fVV��[�nz�f��g��3g�8EEE����;��c~��4��k_$$$�+&-�Z���������NOO/(((���������s�xf������,�9b�+##����5���������������6m:|��9\��=z4)))77����_����x��	���������/ p��9rd��L�zo]#��]�6m8����p��%c��5j��	��[���={��$c��x���H�~����1c��U�~���'b&��w���)o��y����l�����)S���>}����>n����G����M���?��5P���y;vL��pMp���YYY�bo��e��I�jdM_K����^�x�VY#k�7n�@-�����5���^���i�2*JS���p:p����[�����D��z�S�Nxx�9s�|��'j��X���_PP��~���|�AQQQx�p�vZ=pZZ����w���Ii���z����k=;y�d�;w������������9sf��z���'5|���.�����?��3M0�M������g��9�p-�A4�a���:"����}����������9��m[��^�0j������3�@���=z��C��-t|�n�:���<}_:��E���������45�j��S�g�^�l��7�Ej���Yc�|��A3p��]�|��(�^�bw�����4���n�{����F�}��Zku���uM����z`^F�rSK�b�
u�c��U#j���\���#������O�����m��<|O�&�g������ZMP��'�|���V?+++���-[&O���]���<���9s��������>}Z�����O>�d����ow���
�]C����{�2eJZZZp�88<�GU��fX�ffff����S���_#�K/������;v����i��?n��3��6,��u�\-�~���`9�~��>u��fdZ�p�6{����u�v��s��Qf8�m�����������o��)����7O
g�������������&v������@Y;�3f,^�8g��
�����^���r�J����z`�HP�z�;�MS�}�v3�:�q����999����h�fH�
sMy����}8���9���o.4L?o��@��_5j��`u����;v�����\��|���k�a��V��W�X�b��U�]�7Qe��3224�E�i�f����L��g�H_}����;�t�zj��������?��3������,��9s4D/��W������2����h��l�q�����VV7����=��?4S�2eJ��t��q����k�����i�y�7����N����L�*���W������"���;p���`��4#�='��������f��Vcj`��r4�;vh���M)��A�X�Z�'Nh-����u�`�&�������{����
�7.�^�F�h��D����e�����nF���v��*j��=�j���bs��"����]k5��f��.�dnVQ���H:p\|��_�W�����|�����1c���K/=-���%//�ga"�Uz\�����]+�_�,�#G���]�//+�����+���_�^����K�����[����]��g�!C�dffg����k��'����!'N�HJJ���{zzz�� ������k&M�t������GSSS+W�<`��V�Z��Q#++K;t�P�^�a��=��#�7�����o��o������W�>c��k�F����{���S��~��zP�~}5�f����C�����x��
�����/~�q���c����f��3g��[���
^#�b�b��j���>}Z�;w���������={���{���������z�������y�N�:�!���W]u�����V���:���?�1*###//��+�8u��y699�Q�F)))�k�^��Y��}�>��4C
�*�<���:��l���7�t��M��6�i���GQ/}��W�D�����I�V�V��U�?������}����3$77W������_?�������Z���A�z���[�nm����_��_����Q#--�l���:�}��]}��f`�:uRRR�t���k��!������k� ���>���o��w�u���g�x����fo����5S+~������n��UX�^�#F������l�9sf��
?���u��1_|��7�|��ZFnn��/�|����|����~����50;;�i�����V����d���e���*U�h��K�������R�JM�41�[_�%m{�#�N��j����f��i��<zo����y������hE�)����O�W���k�2S�h��n����Mz$�����_~h�?ncJ���#��g���Ms�X����<���/�4���f���
�r��d���o;ThF����d��'�������m����Y�
�?]����g��EY��h���h���7w������v��}�F�Q�6���d[sa~�mF;���\����74��^����������_��0?|��.�����0?�V6c�eI�5���%�f��3��0?�f�1���������W'3Z�����o����f��Y�o��q����sTz���mF���q�+&���VL.����\D�h�����s������*&���VL.����\�3Zq�w���VL�m~���P1�1x+.��l3H���h���D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h���b��[o��Z�ju����u���:u�I�&�+W�Z�j��}�h7n�R�f���������za�*U5jt��q�kQ&R
)\H��� ������[^�t�>�s��z��������/,,���T#�l�2
�]���1c� --��?�ivv��5k��������������(
)�.��t��h
\Zf��q�����V����+����[����{�����~����W���Y�:u���ys3d��M?����������PH)�p!�VD�h����g�&M�����_����5k������+333�����7^�pa�Z��W5m�t����<�LBB����{�W�:u*���F�
)�.��t��h
\Z��kw�u�edd�q���k�����gzi3Brrr�F�RRR�T��f�������'�8p���]��t�_?��������BjF+����J,�f����BjF+����J,�f����BjF+�����?��t��h
���<�
��>}����6�:���}O���W_�{�n3�w���?����+�V���a�����{���;v�h�9r����~AAA�k+pm.���[p!�VD�h���t��_�����������'z��A�����|���#G�������wo$z��F��m��	���3���S���N�k+~�.uR
)\H��� ��=��M�61b�-����W/
\�hQ�J������E��5k���h`�����������a�g�y&m�o������0�J�*������L(�R���+�A4p����?~|��]���\�~}�=�o�8q"8g��6y���KQ������4���k�-J�BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H����%j��]������3�]�vm��=�����3k���]�N�81??�9q�DRRR����������E�QH)�p!�VD�h�RTTTt���^y������ojjj�����U�5jdeei`����7l��Gy�q�����s��7��o<xp���g���z-��BJ!�� �"D������_~�?�������?i�$�����C�����x��
�����/~�q���c����f��3g��[����>�8
)�.��t��h
\rv��u�M7�<y2���l����<�����s����W�^=x�C=4f�����w���������������b��r@!����t�X
��KKQQ�=��������������+N�:eFHNNn���F�]�v��f�������'�8p�RXX�Wedd���bW�r@!����t�X
��KKRR�K/�d�\���W^�ebbb�&M.\X�V��U�?������}����3$77W������_?��������BjF+����J,�f����BjF+����J,�f����BjF+�����?��t��h
���<����p�
7T�Z����}�{���_]�F���43B��-��i�o����������S�NJJJ�.]^{�53d����\s���������[���A:`E4�.]�}��[�n��Yaa��C�����U�Vi`�z�F���/V�}���
6���?�U��|���|�M�kQ&R
)\H��� �t��m������U�&%%�g�l��&�J�*7�|���K����d�S�R�&M������E�PH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h�D!����t�X
����B
�A:`E4�OR
)\H��� <QH)�p!�VD�h����W�J�*���?���;�m��!�N�j��I����V���o_3�������!5k��?����X�Z�*U�4j��������L(�R���+�A4piIIIQ�}������7�|����������?�|aaaff��e��i`������iii?��O�����Ys�5������������(
)�.��t��h
\Z����v�Z����?��o���U[�r���u���~{��=?����W������5kV�N��7on�l���g?�����:�
)�.��t��h
\����5j����6��+����4�7n�p��Z�j#7m�t����<���7Crss����S�N����W�2@!����t�X
��K���g�~������ //�������du�)))�k��o��Y��}�x����!�����������n����p+����J,�f����BjF+����J,�f����BjF+����J,��w��� �"Daj5�s�|�a����[�h�dr��W����<������?�r���U�/i����q�^���;�!G������>���*�	�������+�A4piQ���A����2~�x���9rdnn�Z��{�F�7���'?��m��	���3���S���N�k+ne.R
)\H��� ���5�R�JI�HNN��E�i`�~�Z�hQ�f���
���{�:u6l��3�D����7���y�T�R%55��Z�	��B
�A:`E4�.-j���t���_�~}�=�o�8q"y��9]�v�<yrp�JVV��v�|����(=
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"D�'
)�.��t��h
�(�R���+�A4x��RH�B:H�����BJ!�� �"DX�vm��=����y����D!����t�X
���������+0�U�V5j������Kt���RH�B:H����w\���'M�d7n�x���vy.ER
)\H��� �����g��8!!�������s)��RH�B:H����wY^^�W\q��)�����F�]�E�QH)�p!�VD�h�������+�~311�I�&��%%%�����_x5j�HKK3�[�l��M��<���u����5+,,<t��u�]�j���D��,;;�i�����V�������<a�����7o������~������/��@L"d�����u9rdvv���G���c����8���u�*r9��t���Q�Fu��E),,4<8p����{o����%RE}���k�����!yyy���oTK{��%K����>���E�.�b$>����o:t�K/�T�n���u�>���_}���i��{���������yt���[n���'�4h������oh��C�*U���}��}�^{��+W����z���#G�7.�76l�`�|�����v���������B.%PQ�!��U[�l�y\�N�Y�f���[��M�����������?���G����?n�7�/_����L:u����/���k� Pz�~c����~&''w��������v��5kTic>�.W�D=z����*((0�}���;v�����t�w�u���{?���W^y���>k��7���7c�����;v��]���A����Fnn�M7��c��G}455��W_�2eJ�z������SO}��'vQ�
N��-[��?�#xJ=�o�����^��y��r��1��-�_���+n����g�^���]�v]��:#��w��n��Y�G?�g(��������_|1))i���?�pVVV���5|�����?��N������:x�U�Vo��VQQQ�~�^z��U�V��i��
��Doy��r���V�z���������:u�y�i������� Pj1�q����u�������Cw�q�����r;��������~���a���q�a��c~����<��������'�xT�"���_~��;===��/����<V�����.x�3����w��q��AzPPPp��7&&&����B, P�b�������;EEE�7o���|��A3<77W=��M���'�i�F����� �
�?����+W^�fMx����k��y�������������S�A����/~�������o��O<���q��?���7�8�O�S�
�=z�8���8|��}��W�R����>|#k�v��j�9s���j��Q���/������#����_�?~\��v���\�x��W������A(���<���tP��G�j������'��C��o�RQN��^���������W������w�����]w(��SsZ>8�e����|m���/�b�$'F��i�����5"�F]���y��e�SKW��~������7z���]O��q*~�.\�v�����'O�7n���k������?^�~���{0�dee����8��K�S���U��i��?~�����C���&O����Z�)l����>��y��}����~��������Z�O����`��O��kWx��m��Fm�����B�x��i�
*��=���3�����;��6���:,x��^��������!���V�~����SXX3��������r����C#F�(��:���4-y9fT*[D�����w������GC����{O|�������g�cF999}��)�"^^�\����/��9��[�6d����������B��9S����8�qn[#�[m��?�������C����j������������3���>��\�=����w��I�v���nAg�'�|R��M�6����Y�}�Q=�;w���K�����{�)��.��n���k"5Q�j�������n���������e�~��_�	�>�r����z����������<������{��n��������m�Q�F5h���w��_-!!�3:x�`RRR9^X�9�X����>+��J�b��c�c�E��+W�3|��ao��f9f�b��W��,�y���������_{qv��w�Vl�C�������q�l�Z�r'>�mkTO<�����+����\%z��S�L���g@����
�w�^�7;;[���o_bb���#uV�Ee��}O�8a���q��I���T��3WQQQ0D���0�uro��a�b�0�D>��#-������|������e`~~���E�>|���fHff�{
��S3�y|�������"&L�T34hPrr��C�J��C<;pm�3fh	���o����"]������:uJC6m��%W���>��Cm�={������%K���7o�����p�Bms�2W�
���!�.�9%����B�<c��Q��@�_���uIOO�9s�XW�������u��I3/�j����B����#G�h��;v��5<:Q���{zy���g^�=r����c��$��?~�6W�{d��->�`x�6���AZ�n��K��%�5#�M���$�����FZ����O��"i:fQ���������o�;r1����=��}������;����!C�5��E�l
����`�T�����h����'���L�(r.:p-����q�*�E�*���"c:�jLu��PKn��V�_�?��O��m��j����UU�V������������ft���=[G�6Zp��f����k���Y�������5
:p�V�Z�U�3o�j_h����K�!���{�zJ�\���[��L�s?�w�ZZsZQ�g��kR����ei�~Tv�U���c>�>g$n?,�9�����]�9���%�~�~�d��Z����G��x���4����+V����CQ�C�&����j^��f]���
���������T�U.4�*-��������wZ=�r��hF�J��f^:����~m1�������|lU3D�;���i�L����6��E��Mtz��+JA���I�n��Cy�M�����}�5:h��8����P/^�X��\�G�+b;N�����B-��R�����������I���W�N��|��^5;EI��r�!ZGe��O>�&
>��9�5�n��c����kM5Y�Z[[%��d����q�~���m~I���U����m�����R5�����St��r�-��oW��T�����w���={j|O=��F0�k�[�����,�����;A���_��Lf���^���5k�7V����^�qt(�r�7�����t�� �~��:��=��Zf=�V0�����z�jU������[�a�f�:u��6��z�N��^(G������/���������5�y����T������W�����[o�����e��~�im
��>��w�q��C���^2��?�������������K$��kj�\��Z`m����-o���W{A���4��o��%�[��]�t�v�O��m��f
�M7����O��������*���Js9Pz�xi�����������|i%��b��|���/�����/
WS��~������-��E�{g����t��U����+�:q��E[^/�V�ZT�#�J�T�}�^���],�k���,hu������{���eQ�Z�Tf�����1P�}���u`h#k�:��u�]�)�U�.:�t6T�l�&���x�yt�Z�h�;:��l�2<Y]���W�:G+e�l�0���;���O��nRj4�}��M�6UR:t��ePS@���������e���k������5
:p�A�
���:0�St�~��7k�:�T�u�D�����������OjCi�L5u�����!������A{M�|��
*w*������������LD������G]������:p�D�IA����G=E@�Qk��A�K�P'G���������!P�B��Ns:4S�:���6i�D�G������9W�RE��Ej]Pk4���qT������zJ�ZUWE�j���������?��,���<�Yf���k�xxu���j��^:/h+�_
����������l���I-���jQ��
�@��5j��#=5{OY���[��c���js������tL��P�����������97i������E{D�Z�������_����xP��:���cR�����{V�������*P:�G�����yGE�Yh[i.�#JS�A��zz�!�P����~����j�u����#��^h�������_���������z���-�u����U��g�:�hg��P�W�6��j�J��'N\s�5��/���Sj�t������^�*����6{x�k���*dk"�`���S������m���i4�S4}U�*���{�/���F��DT�^y��B���h1�B�"f�������u7G��Q���(
�\�V��):�u�"�p���i;+�f���o��F=x��w���y\���At��~�SL��^�uq:7)���\K��5��F����V���2��*�,�5�j#����pE%����!x�P������sDY�t���#��UWM���y�u��������?�#�:S�:��_hh;�T���3G�F�z���N��HZH�������bb����:i���A�FS����Yk��5*��P�w�������u���[byv�:9�A�{T3���.��W� ����5�N��w�""����'�^Nu ~v��w�a�r��N�A+�Hg�H��e7]�����Y)f/�d�c,������55�VA�u����h�s������~:p-�����Zw]y��G�\�u���ZZ����f�Ts��G��=��R�t�u?j#���:ps:uj�"������w�3�UU�<~]��W�b��7gU�X��'�|�:�����u�j�������^{�^��R�f�9�j�������o���v������|:����J��fjiuZQ�T�hVJ�x���n��}����D���^���m$z����Ja7�B@3���5�
u�oKY[����O�����.t�D�G�c�=��W�x���1�(i��+~����]����:b�����U������Ze�h5����[�Z�9u���6�-�����ui`>��3�0�G���h:
���cG3~|����\yv����V�����Z]1�\f:��-����k��(�N�����Y�]�\���
>�R��	�(>|��Oc������V�Q���������&���+P)67��l��V�Z��KTuDZ��\�zf�zln	���r��PQ-��]>xZZZ��N����Y�f��j�Lgk�]�M�o���P�g.f����p��&F�{DU�)�?<��s�����US0�IU�^�t��[U����1UB��Eq$���j���z��B{38���:����r����uG0P��-[��Gti�+��O|"���r����7o������;�c��Q�`�f$���������Jq��������|JS���"�ow�1{GS�%���_��������Cf��tn���.��iN����s���J��77ob�����!CT��'M�d��*����h���w�������"�4����i�i���2o�x��������u��n
�_�����u?�;���w=6w8x�G�\U=�i~����W���U��z�����ff�~\�`�NRfs�z6���!����b����i;k�����:	x�����E�D�u�]������jN���D����k�.�R����t�V�}��k����c:p�q�x�2_�\WL�p��������}�f���H��?�P=������Dt�h���+333���q��III���n����#�����>A��f�j��P;��E�Z�U���Z�����94PW|Ac���f^�������8�����j�b>u�����F��U��Q�?��c�T��v�3�?����:��:p���E�����|x�v������w����Q
E��������f#h�4�9S���BOEB�f���y����6y�Q�`Q]����ix�����w���s�+��Ys��
%ob7�\��7�t�y�����������T�y��W���r<��������,���\P�w��&����N����*��������J�M�J��1x�V-����{���A�Ip����K�G��U��R��#����h�:v���3��~��H$��1��Bs��%Uu3�`�Y�
:p]�����+_�)[;��������3
f�w�
4�V5�����!�V�])����-Z�0�����C4�BI�F0����SuHh_��Q���RR?|r�cC�_��IG$������
�6���'N:��u	O?�Y���<yR5Y#��T-UE�����?zv��^���t����
�j$�U�u?��?_g���?��n�~T�����Q*,����_f;8p@�]p���XuA��G-�����ux������
6��b~K������Y�����	1���:G�����~�x�t�f|uAU�T1#�^������={vp����q�!��6�;C���p�}�~v�����:���N�:��������Cg(��t�Y[��yI���M~��q�:Oi��������$��c�W�6�?"�7v��<D�������3<e�O�G6a���77��M$�!:t0hS��>]2x�`��v���5����xI�i�����;��z���a���Yu��W=�D�@�&5�o��]-���
��j+�e����h��rL�C����O�~�aeGG���NK�|sr2d����kCU`]��a>C_�d�����t�:�cRs���Gi�t�:>U4�
?S�LQ���^C�MA������j�T-�/-�r5��Q�����6q}���.E[eDY��K�.�^{��-�77��[��k�����u���V����*;�%����y-������K�Gt�h�b���fu\{D�<�M�H�������e���L=V5���t�lZ}u���+�e�g��7�x#���VUT���h���_�x�N:�i�u^��b�������"i�u������E��t���L��E������������P�I<����s��as�����bj��������j�tx��S:�`f��Zj��p
>�����x�����}��������KOO/k��=;p���.�-��w���g�����4o2hC������u����b�����0�](�j�2��+��������u&�!t�����A�>���2��N��^w5������/o���]���vt:��o��F��R}���3�$�ow�Z*-���M������9xmY�t�G��i����@L�3�K��^W�b���l]MK�����
o�}G|�oh"��9~$�����Z�g�yF��{��'��\=��`�����_�U�����+~�[�Urs��N���W���b��
���~�������{��uT<��c��ft�]w�7|t<����<��D/�]U���}���fddh�������^�<;p�2���E�;�u���Q��X��<u��E���W���m���c�U�V1�l�����W�P/�]��vMp�P��f@��E��tR3��(���V���:��B�Jg=�W_}�Q�
���eVh��.M�r���VS��EA���4<S�����KKn{����T��p�;t�������P�|K�6`�5bn��*�z��u��Tm�eYb�$�.V������t	�}������w'��*���u�������������]����&���W���71K�G���Wy��wU6��Z�%+��|%U�_���azVW��#��C���TW����(��+�.�>�-y�M7����TZ�Yt~/k���$j�t��`��\�����Z���6���j�t\���0Y�UR�M4��T����v���V6�]�H4��^�Dp�2��m�j�������L���:���N�zV��&���O��x����A��2�O��i�*k��=;p�j4_
%-�����i�����>����M3M�~�v��It6y����=sX�~��{���t��cEx���A�.���;p5E:tP1W;���y�}��-
6TVl�%���vt_|���4AeV���w:����#��o5qU]�c�+W�.s��b6���w�|��gZ~%mm�Y�.~�R:P�
�CT���}�~n{����|��&b���������6�ofm9t]��B��j��c��VO�>]�5�|$��+�$4���={j]���W�6������r1�5�gu�J5h� 8IE�����E��%����9)s������b��H��)))����5�SO=��[o�%���������/u�}�*�:���+�:B����e��<�V�����L9��M�-����t���.�}���~n��:pS$/B:�w���+�yq)U�����d��B����Wd_:��c�|�k?�/�w������w}�ZA�k�@��tU^��������e�k��f�����d�wJ�������~�YX;p]o�w�}�][��g�}���>��#=~��bS���%u��Vt���#[;�s�G.�\_��v[���'O�|��w7I����
%v�C�N�\���M'k��E�_������C#o�k	���<�3~?��!!!����}p�4.�7���~?�xEN�o��I|���3i��;��#���"e�,<x���g=�����o3�6mZ9���e�� _
v1?�'��<�b>l����Nnn�vz���?���r��]A���rv�s�H�)�����?�<�{d������r�0�GC��n���c�O.��!��1_����:b����Gr/9��1r�H����~
�=2~?�X�b��!�������9������=��"�.!���g�|p�[�1����b~�/8�WPT��p�;=ndV�����|�=��xe�lx�`����--����<!�X2�wOK��|������Ns�9'�������s������o��C�����F�JJJ*���[�����}{�{���"�%��c�'��(��d���`yyy�/L�Q����?rtA2�|u9��c�`k������):����4����M�6h��C���d�?~������O�|7��n����'&&V/,�Ki��y������q�������&n�������,?T�?CpN�������j���G�h��v\"�PJ��Q�(��4K������,G
_�%���!�%2#����F$'�����������}������af�^�eY����{��~��~������O?�4//�H��~�V:��Y�����c���_�h�"})����y���d��P�0fiUd��O��W�^�ug?��s��
�[���u��>��#��/#��)/�����,_�~}��%%%��;�%��~{y?9t��Nyq�m�j2��7��S~��!eR��8U��sO4�_�d	������rD.v~��k_P�K{eJy[�>}���eA�d������?���X_4K���JD�6m �����R�g�����W^l���������?N���+t��Pe�!�u�&N���_���>�(//���-����D���h����t��9����)�}�h��U����%�B�x���G�M/I��9r�����u��\���{7�:??��5aa!%�����p��a�,B�e0��{�zh��>p��A<J�{�=���������>�����r*���R9��w���������{�&W�X�&����_r$p��
�4m�������T�������y�����O���u���m����qz��1bD�����=;1�^!I�q$hOo��I����;�g�������l�B�����X(2d�~�(A?�a��9'N��	g��)��5k�2�0<�UB���=���{����{��qn
�1��3��i����p2$V�%j��o�p��;W�e���i�kQ���G��u`8\/�����[o�.�/�Y��Y��"�/���gq2(C��)�8' �^�t�y�%�������Ru._�\k������{4��U������,�<y2���l��Y>�{	<-C�������-�~��)<] bR0��tE��c��������:v�XBk�Q��R?S��x�Z�3�'��0&��q��fb���������B#�p�B��'X������-p�����
K��1c�D]�k��������]��s9����5���v��U����'D�Za���8
S�O<���O�R8f^0����0c2G��Ud0\����3��d������/��������W�����WV���K��qc�N������n�I���{�-���5���k���u��8mf7N���%q������)S�0yy�����u�B# �~���x:��(��u��#��
P�������sO���q&�>������������(�L���������P�B����q���fu��/^��!�pN���iT��x���c��������K��*N�����DD-�
X���O������M���mBU�V�T	^��"T�f��BB�����$�84�v�J� ���S�hHLy���u>f�cl�^p���l6P.d�������K�s�x��-4���n4h��i= >R�nB������0Kr�y����8Bs������Q���(c$�$j���cG��/���(��o��&�m��}���c�Zw�N�r4�L���#��la}?��c��@�%P��g�F���e����,��U�V�4i2j�(�E�	��'�"�aPh�?)���	��D������+�=~B]�*NI��V�3d�~�F��>Qs�Q;v������Cfz����������1���c��:��3f��]����k�����c�p9>@C(0�"�^�5�4��1j��&�4�����J����?�����7�*��h�f�_|��X�� '�
���qJ��T���4�c���%$,���E�p@9@{�
��c��_�{���	^���>��^e�L=3f����>�P�l\H�qLs���d�53��{��WL1�a�d�^������0���"��X
S�8�e���").���o�-,�M:�4�����Y�NI�8
�#�
=���3g��E��c����8��n9��p��] �����9sh���>��m=O�8�9Or:B+P&-t���<��4�9�����Z���)j���8R��_c�Di�S�e>�Eq@�`}A�s���s	��{����.��_������I�<��&�
�^G���{wf^h,Z-�	�&������	�\!I���E	���5k~����9a�*�fBUP6(2a�~�4#�.�~�
7�)9~�x�j���\F������E����c �QZ�dh ��4�`��*'P'��x�*�D���I��eC����	y3�g�A��

t��>}z���L�� �d��qX�n��|-���8&�*E�I�4rO���H��*�:u��/������/��
�$EY���G3p�w��o�>�s�����k������3�a��� �o���M��v!�QN��D��(u�5p���-f�����)L�0mm����'�A���?E����V��$>!ZB��ysZ�G���r�6lX���mx�"/F���3s��G!�[G��������)'o�it�B&��b��R�~p~�Z���D�����5�H���/X� �SSB���$k^�z5!XS2}#��I��CQ���KX�Vr����X[�;�?5t�P������%q�_�~c��U�/��B�Lg���Y�T�1s���D���������o���zbe�
9�F6�.�J������f�QG�s����+<��?���Id�.������~�k��[�nZ����Kf��}�$j��[4�0m��8[4�
�����oN'��L���%KB�P���-KG���������;8��Te��r!���(���	/��j]!T
�Ih��?]S��;w���I��gFr{T� ���U+f+�f��UX.u:��6m
k%S#�w
��[*$;.�����~��4i��n����N�������.F���F�8r"F4U��������Kt������S%+�t���'�� �8�������'W0�{+4h���#������!�;����h��'��S1p���f������_4|����c�h����(J��a,�9�g�y�%eee9K��G�8��L�����T�~��O�6
�t���)S�t��=QB2���z��EN����b{���1�3f��^e�������7&C��`Q.�`�����
Hd���/_��eK���)���DB�;��~�7����u+"��A�KD���{q�D�q_�� ��%q��M1��fjsng���*'>�v�m�F��jb��]�z$�IL�v�D��a��w�q��q�Z��}������| �����G+{5j���m�41p���������	�����$������D���\��y���aq����k�+v ������2� �g���dI~��GUcI����b���nO6���_���L���h	@?z^�j�E��x�j�*�l'����5�b��3w�7m�c�E���I�3gN*�,`����z���ZIT�O�������G���n��P"	��;(��5�3n��D	��W:�S?~�8��%Yg�������_�V��E� ��"�\�vs|�t�8���~o��v3p�w*qw� O^^��;
��m�PP2A���-�
=�b�%%%T�v[�h���f��I�B�5L���a��q�-Z�H�4\���q���Q������ld�@��#J"��A�d�I�P@i0dR�c���4���R��h(��WC|b(����e���D���l���D&����7�|�v�	����D@x�?��`Fk�z��rV�f�r^��I����X��u��6m����B��	s��M/�c��+�z��N�2E�g�84X�v������jl��p���H��n�h.^����p ��5k�!�S��{�A�Z�`&�K����%KD�	�EEE�}�(�<y���C��}Sb���O��a_�r��={�F�&)���0(p���b'N���9\	I�0���3p�;aTL����_���L��;�O�f"B"-�Bb�Zd��� ��M(�C�~���Eg\�=b��:u
��!��w�Z�uk'�A��B����������
}*\��������� ��N����7c�S$����i�n����\8������b$�]�v�x�W1p��=��t�R��V���a�X�D�V+�>p�w�Z����"��_~)�}O�.N�#auM�6uS,�T����%����Ae����'5�-H{�f��zL�����]��������m�a����8i�B���;���L���WBa��
3w�[�n����5k��.��B?x�1����y��i����=x�`��=?�a�2�k
�?2|��e���5�+��#���-Z����L7�a�����#��H�������O6l7�4.4�|I��B!�i#|L��g�Ax�0b7o����C���1x�
���	����PI�~�t���@�A��=�/������-9��OZ�A�&M�t������H����\K���#D8������O�����{C��b��dI��I�{az���Ar���I}NX���#i&�����]� -��@�����~�6m�D����\����2�u��0O�X����n���*�b���f\�=2:H��L���b���U����$������)[����#v�n�'rX��m090����G�s�C���,����������B	����qG0������@�XG��+/�V)����3�������{�"
D*Y�Z�j(
���w�	x~�$��M����O<�:�E�$��������4�g���D
�&��~k������)�@^�fR�b��<b��%�K�K�n���Y,
CK��c�8�F!�
����,!>1N�>]���t#
����5z~���ev��R��p5���Bp�_�U&5.#*�}���=i�$x]��_��\.T�������\�^�����A^��7H��e��{�����������N����7 U<<e�1t�a��`0���ug�����;Yz��������������������1(=?1u��+J���������}��#������p1����2�JK"�?~��-S�������m�v���}���>�jp(..&7�9s����k��u	�\\����2���.�KUB"/,,l����a�r1m�������L���9�����L�/C��;��;-O�<���wi�3\9\8}���~I��B9�p���"��]�&L��&x��Hr�p���3���;�Iyq��a�G�P�v����������������^�lp�����
���_~�5���gN\��������-����A����k�b�3f�����`0��`0��`0��`0��`0�?&�������x`p�LeKi0\-=�������&�����}�kIe�i0���_�l����S�[������p��`0\���-�����+����J�����g��1c��={�Z�E�]�+�(f���������F��__F���V����(�����3����x�0����c��_RR���e�b��}�|�I����?G��K�&~G>�
�7f��=����_._�����!��_Rt.����V����~�i^^���G��TI��Y�f���{���e��������+..��QQ)a�`0\)��Z��y�����+V���K_�|���D��N�>]�^��K�����[B�����H���+�T���00��]��VY��aC��w�}����z�w%b��1�����[�n
�m��}Y��^���U��k�^���c1U
U�����YYYP�c���=:���k���>�$�_��9��^z�s���%X�sB�E��	��p��/--�O�8��/�p%}�Q^^�������+��E������s��o�&��7���w�~���srr�O������������yt�������Y�p�B�������v�����9�\��'f��1u������V���\�i�&���V����z��
I�i4C�z-�{W���;'L�@��d�\+,���|�r�����'O�2e��}���~��g�F��+��O��[L��g�}��DF�����g�Dm?~|������q���\���Jhb��-+W��Z�f��j8��������~��W�m��1t�J6o�����>��S�?q-5��M�s�3pz��k}h&Q���ET�������n����WJ�h��Q�������_k
<�����K�\����p-'L�4��GK�^�&3���������s2�^�Z�b}r�xAQ�iQ@n���C��o�]�p>wQ]9{c�������{*9!{���E���`�Ex���	E��5;y���9shN��B�bt#}M�qHN@���������>��):cfB�Xb�pj�� ��O�D��rM#�>�X.d��}���?u��=K(���w���^�l��������z��$�� ��Gx+�Z���� 4!�1J98,�����������@��g��������j����_>������#��1EW���VM�$���K���48)���������Ft����9F���_�)�o����9����D�`0�.2`���'�xb����������)i��M��}��z�j��}n���[������qc�N������n�I�^w�-�@W\�x����C����|���O>Dx�~���:i��������x�����?��OxN�Z��{8���lm�u���u��\��?�c��4�]�xq��]o��f�-24h��0W���g�^{����<~���"��P��/�H�x����Bn�#�N���#
D�P&$S���5�0��������8�^�N�.��j���	s����&M� 1�a��>�	�1��6�F�MmTN���
G�E�;v�Ht���_�Y�f�2&	��!a=3��$�Q��v������7o�����@��0�1������A��^�����!'m��P���#�4��z��p�z��)��������[������;���A�F��J�<��V�(geeyD�uR?���_��OD[�l��C��g���a���L�����3�p	��j����6m*��6T��e@c��&��'��x��m�n���H~�{5��+��i�qdJ2�t
��('��� ����!��& ��V��K1@8%''���<��o��&]C���~;�&�
!d��)�CB��}�Y&�)�L�V��b_2� �T��z�!�>���4��o��Z�h!�dAHz��{������T������5��\w�u��E9999Ls���:[�v���!0��H���_<y�s�����P�F�>}�`{(-a�+�G��K�����PY��?)�fp�D����U���i���/�K�t��uB��N~9N��S9�K,���yb'�w]^]I���f:`'����H�s�E9Fu7�p��8H[L� ����}�=|;�$��Q(S0W2`�EEE&�3�gV�\I^O�+�Q�%��������4������|G��RD=
��c~R�z�'���%�c�����	<>��������a����A�����o�Q����k����k�=t�"��$$���&�o��!Pb�fT*G������w�(y��w���Y��	yP�o�� C���Z���+t��k�{�~�-5��WA����������3pj�0����m�2���@�Db�J�9B�"._HTHl3f�9�j���H#��"]�g�H�i��Q�r��2p4��o0�����>�H��T�S�����F�D���/9�(��1p�1������#*A�Q��A���z�������m�6�@��L�<��#��i��n��lA3�=Pt2�$�m	%�J����n���`���>�Y�af1G�4�Y���U��H�C�5"C���G���Fj�����>�9L��\b@����f�_Hd����0��V���ej�Y.aim�5�r!��'Q�NO�ht���6p�A�BIl��'>��/jE(����"�"L �J���@����N����/s@[$5P?��1*..&����X��6)0K<��\&�"�?!����P���x<�L�*S�]��FI(T��W}.])�0����Z}��0�o!�S/HI���"�����8A9vO%��a\�z5N���<6^�b���z����\Q�i��������4��y3�������w�n(.�9�C�=�&8�x���+�����]'sVVD�_�~0y���iSktC�����N��]"��!C
L��8p\���?��K�-��#�K�.�2������C���a���O[�n]q'x����wd����^�&����%19�M14Q�������X	!��a�d=*�x��QV��?~<�0�o�������\/��Ja�Q��%K�,����S�N��-[�$��jB6X���A���S?�
`$�/�P�V�]�����S9��`c�Cs��~��,@u��|
�
0Y���j"�%�)&r���1?Y�u1����+������i:�&�92Q�v����$�i!��=V���c�qA����K���{j�=��q2G0x�L��SO=�$={�L���s>zs��� �U��C�LRPNd��}�$j^���G�C�;��-((P7q��<�H*�hEx]���*�Q���
N&�f8��;E���c�u��$}��g�B�S�����AfJ�g1�8�x�h�!�- S���*�\_��|KK�c*.F�cr
� �_��L�E�8��]�V�/��2!�|�rm������j_A��i���x��! c[�n%��!���;c��%�R3�������n��������v���?���*�����G��G�v��R"�Dy�@�!��H����{��E�u���0_|�E���?>��)�	7S�z���\=s��G3}bR�����%��c���o1p��]��{���c�!2*g��Dm��b5�%����QU�2�������s�V�������cb4�g��w�q�J��J����7o�
� ���;�L��tkT��t h�1E�L
�]���b�-Z�(,,����B�"9�YRR"�
��A���h��1[Rc�D�@`\K�w�1�M*����no�A�Q�M35$T�������i����Lg�'�I�{�3�w��9�.#����J '�����������
B��Z��8�2��2p:R.p-����#��'Q�b��4�NwR���Wq8[�l	����yfw*�hE;w������v�V�Z���:�n)q��������M��E*�1���GD��{H�A�4��Y�[��0�D�K��oi�}�2p�c��O��3M���k�v�A�*�������Q��p ~��Q���>�A������/	=�����:p��W��5k���0.�@lk[H��qG8�u�<�9C!����{��'b�����uk��={�p��Z�j���W�]	(A�`�D[y��g�_Evv��F ��rc�����z�q���^{-N��?$�p�[�����P2d���k�E�
6@DU���QK������

{��Z,����PTs�������Hp�A
����t��{����|N�&GP��d�m��(==��a��A{P�jGx��y�#p��2pr��={�A���0~$g�(�k�:u�f��d����apI�F��]O��G���Jo�Q�E�s2FX����L�r��72��������P�V-��_��Q�
U�0s9��%`w�u6��H���u��GfRN�����dB�n�Zw�-Z�&��|_�"'A��STJ:�V�q�O�6m�)���Ma�����*��\���� �gq p��T%vQN�L7���M���G���'�'�y�J����F���F4C��?����i�(��I�U�X����N4�����%_2���,�2M��-�� �=�����h�3QW�
U5k�����ED3fL&/8j,�t�[Zb���N=r�� 
W��I�u���r�4M`������e��e0.HNF�| =����qY"H8
\�K/�q�d"��=p�D�����6�����y��x���X�����IN���;��w�xo�#]�]��\�����^S���PZZJ,�o�#X�4h-������K�����_xTd�i.$dP���������%S'��@a�z�������}qDFd�KB��(=�y���_y���(�5'j�h���P������d�pO+zT�g��Cs��gj��r�����c���}�^�zqI~~~��R���Eq����2pX.C��aC�BV��G�|���o������2���6�u��!��T���SX���!	��Y!�9�	-bH����m�������'4���Tt�����'�%�&�}AQ`��������4�u�8)	�;�l�S"�>L�$�>w"q��0��YI������uNhBN	�m�daZ�Y�s��t
��i4�$��hX��%X	>��e�T�&O����#C������ b��3R���_������a�i�(�o����k�i���0������4�.>����T ���
#�bc�|�Z�^b�����}>`��X������8Il]�/��+������'?��3�u]�t�?~z.�MzNR�;e:�"���e�`0\���O�
S|.4��/���6�	+["��B�����:v������q��Q��A���nCD�VI��������z����[��wV�\YY�T}]��	�;�"�{z����w���������;7;;����r��s����.\������W�8�+�oJN^���<�i$�8���!CZ�n��0%��������k��]�7:*{����HIF_�Od�������9rd&5_.L�6-''g���#F��n+q�����`0\M8w�?K�i�eF�����<y2//�}��QZZ�`�����E������(9{����i�e���	b��_�r�?����_�e��I�&�m�b��j���i�����~���A


�q���]��L%����pU��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`0��`�J��C��&
endstream
endobj
18 0 obj
   33615
endobj
7 0 obj
<< /Type /ObjStm
   /Length 19 0 R
   /N 1
   /First 4
   /Filter /FlateDecode
>>
stream
x�=��
�0��Oq����B��
�A��&%^J�$�G���D�x�{��+8Gy_���a��R��<*0�z�c�?xDb845v�=���k�c�������)������-��3iK.+��m�5��u��,I]����9�$�m�����2�
endstream
endobj
19 0 obj
   148
endobj
22 0 obj
<< /Length 23 0 R
   /Filter /FlateDecode
>>
stream
x�-L9
�0���������~ ���X�D��*a``NV(��eWMU4%��>����Y�����VL8�D:0���EB��������y\�x�*x�b�
endstream
endobj
23 0 obj
   93
endobj
21 0 obj
<<
   /ExtGState <<
      /a0 << /CA 1 /ca 1 >>
   >>
   /XObject << /x24 24 0 R >>
>>
endobj
24 0 obj
<< /Length 27 0 R
   /Filter /FlateDecode
   /Type /XObject
   /Subtype /Form
   /BBox [ 0 0 1754 1241 ]
   /Resources 26 0 R
>>
stream
x���]o�6���+tS���������5
��'��8m�n��I���0I�V���c��#����o���g��>�H�~�n��K��
n��!�����)�����1�T�����O+J���cmj*�Z3���B���au~���^���Y}Z���e�g-�x}n�������w�1�q�N|��}�x�"I����MSS0dQ��
�7��s��MI������b�{1F���`w��k�1ys�
����7��8"�q{�p
����!��AFs�O�z����c���������w�M$��p��D��Vb���8��8Ra�
�p�?h�D�`FU�`�@A�K����������K�Pp��PJ�A[|���qy�r�/w���,��-D�-��88w�p�z��G�Gy$E�!������������_���fn�����>d�D7����t�+?���'?�W�~B=������q�>��@)c��Z_6��������97�x�e�.�����wh��x�m��
�M�<�3'Z�S��~��Q��7����d3����wg+7��,�!��|�!Uz9�]�b���M���Tb��<CLs�}q?�,�������S7E�~��<g�<���41��#�X+?�=o6���/[�7�o+H8��D��(��k.w{����C�*xC��V���`�P�I�vp#��-3���Ix����3�$��kw��M_+�X�U�NB���H$��F#G�F$dHBd����8��6������8%��&���{x�������M�9�)�C\+A�S:�$W�^�`0d$��B�������uX��}[�8AcX��i���bLMq��vj*����R�AIT.:�Kd�?��jb&Z��b��K$���r����ce�6���Y��1�/��V�����������q/��ia; �(,�N;*<���/vc1���J1����*���"�&�9
���xK1���-�epLv#e9?1�b@�s��N�c1!43���~��I���&�d��r#I6��,jf�/i!��,�b��dw�^�@L'�p��bNY,z��L��r9�}l���kfN,�:sW�lDp�=�X�k�������p[���`�}	M���}	ak��4��$��� >�>peT�{Loo�)�{��{A�����
�F d�{1�R5��d.�>bw��W��=��!��B"�v��8d<���P�k��xU�%m��9��Xv&�%��31=��X������c�Z��k?Wd�!�[�4�Px�%wU�19����z�sL�����E����6a����_{k�������7�+��w����s��W+��Sa�Q��<4�m������}��y������u1PZ���w�HM������hj�$�I���(�,L�@��HF�;����B@b�����TE�O�D1R�8� ���H�(��)FJ���+�N���r��L���B�,��}�H$YTdcH:��!�,H�I�QA�-L��-*2����g�����!�,H>��� �����*e�2d�����l1P�I��l�d!P��!ERk9��)d��*6Jl�d\i�=Y�d��O��,�J2i���,�J�Gwg�RbU�j-!�)�����Da���p�Z�( ��VjJ�����B�X�S��� ,'m�	j���p�Z�. ��V�����Z�v�Tb��Rc@E��*�	j��D[�;4��y�%�@u����$��p����
��W�q�����E(8��*�j	^/�jY�z�La3\�b�"�t���@E6�T� 5V�E/*��
�$��L���e�C�Y�fifA�1��I0�fU2�1R�I��HM������LP�<T2A%eT0)f41��K&���`cj:��rt�Y�	�������|J\�����P�Se���RZ�0��(�Bua���p�Z)0Q�*LVJ!}AX�_B����Qh&��B�	j���p�Z)6`^S��Z)7I
I���,�R�8IZ.9 %S�J�I�)����_���~�
endstream
endobj
27 0 obj
   2003
endobj
26 0 obj
<<
   /ExtGState <<
      /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >>
      /a0 << /CA 1 /ca 1 >>
   >>
   /Font <<
      /f-0-0 10 0 R
      /f-1-0 28 0 R
   >>
>>
endobj
25 0 obj
<< /Type /ObjStm
   /Length 29 0 R
   /N 1
   /First 5
   /Filter /FlateDecode
>>
stream
x�=�1�0�����87���-A��8�xH�����o����w��3�J��e"�W�&l�+ �#�����B�Q���GT���t�3;k|�����08&� �Z�mQ�h�2����R��*��TO�Q��$�&��4��4�����3�
endstream
endobj
29 0 obj
   149
endobj
32 0 obj
<< /Length 33 0 R
   /Filter /FlateDecode
>>
stream
x�-L9
�0����������+�h��]%�����)�!a��RA%u���D4�&���	���a����Hh��������O*��l�
endstream
endobj
33 0 obj
   93
endobj
31 0 obj
<<
   /ExtGState <<
      /a0 << /CA 1 /ca 1 >>
   >>
   /XObject << /x34 34 0 R >>
>>
endobj
34 0 obj
<< /Length 37 0 R
   /Filter /FlateDecode
   /Type /XObject
   /Subtype /Form
   /BBox [ 0 0 1754 1241 ]
   /Resources 36 0 R
>>
stream
x��R�n�0��+��8��7���	�J@�VB��������$�Gq4�����;����� ���
�����R&�XvQ�p.�(��#���R(%�ad���mA�z.�);�=sa�\�|�a��\�YoP�3��<�}����^^}��#7ZD�i}�u���?/����+�<���tX��ax?�l(>!�`SKi_�$
�JO�PcB�^
�`
cq!s����5�-!Y�����T[���%��dFr��f�Dl�����d� JM�t��a'XK
3Ad���0&��l�N8
WW=���a@�}�Bn5���jw[Q8O����	#��5�Qs�������4����Tw>���>�v���&Z1�E\6S{���Au����
endstream
endobj
37 0 obj
   380
endobj
36 0 obj
<<
   /ExtGState <<
      /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >>
      /a0 << /CA 1 /ca 1 >>
   >>
   /XObject << /x38 38 0 R /x39 39 0 R /x40 40 0 R /x41 41 0 R >>
   /Font <<
      /f-0-0 10 0 R
   >>
>>
endobj
38 0 obj
<< /Length 42 0 R
   /Filter /FlateDecode
   /Type /XObject
   /Subtype /Image
   /Width 982
   /Height 537
   /ColorSpace /DeviceRGB
   /Interpolate true
   /BitsPerComponent 8
>>
stream
x���ytu��������s��s��WqDd�utDGP��8��DeP����}Q5�� �=���D�����������g�[TUw}��������T���>�����N��x�ht���5k����Z�=z��o��}?����u;w�\�vmJJJnnn��1�����]��q��~�CZ^�S��I@��9�������&�K�.�V�b��=�����_�zu���]��x�bjG�SSS���;w��+�9��e?9)���>�����W�����-���o��V�=z��+W���;������o_�A�����
�\��!-/�)����bv��-���'�w�W�Y�re0Y���������O
@%d�S�������~�����^�u��I�k��]��ssse�,�1}���H[�n���{U��������v��={�[6z��������[�n�t��� �����wo������]�&k�1<x�XR�P���������M�6����?^~3f�,#��*/((��� 7n�x��!�^��c:�g�������~���
6���~���(�)i��h�0v��a� �q�e�r�e�m��]�r��E����>rI����{srr|RM���rum(#���O��I���Z�|y��3gJw$��L�����)I�*3<���>�x����333�Q���c���R��{��e�'
��A4Hm�N�A�5o��/��|��q������MS��,#�:u�T�~��3�
f��5ilT�O?����c����36��[����!�Q����<����8p���r�l, V�y���'B���y�������U�|RGF�.����
ra�L�h������N�7C��n���������So9��������&L�R�qb��fLZ�+V\�v-;;[��={�\�~}~~~VV��c��2G�Li��N�<������Go#<{���a��-������S/]����;k�,�q����}��8z�hY���������,�����~�maa�t��-�'M�T�A�6^vY��l�2u���1)((X�d��������r0��������_\\,�W`Y���>�����K�\�"�2}��.e���k�G�'b������#��;'[?q��z="��X��\^�u){�p��L��S�L��Js���#�*G�I����3g��Q�3Y�f�LKs�������M�F��|�A2�F�p�B���1G�����S?��=�h�i�U��m��K<.\��x�������9�O8PfJWl�G�.>|��������b��
Y��e�Eyil�x%"=��c|�G��.eoD��G�����.e�E�o, [�R�>���6~�}"dO����)r���O�[��J�>E���5�8M�"��Gt� ��VJZkc���+��';;[������s��8k�,��j��������i�-[f�c4Q�
�W�X��u2-s����m��&M���wj���<SZG�;�������z,o�Jc�x�b��]?�{��F�]��~,--Us��%1�����/[OKK�7o�g�}f^@
X�g,\RRb^�w��DH��>-3a��M�6�_Y���s���-��4m����Gt� ��V��7q��g���cVV�L'$$������K��;>�>�[�n]�H��8���������|���P���5k���c�����<11�m�^������H���Q{k��}���={��=z��2e��7|�|w��'b���������/�U6>���rG���_�XN�z�g�&:p%�}���Y�v��Q�Li�5>H��2Y�����r����#]n����Z���K�3�g�SRR�����#����;v��5kV�>}��}l���r
�q����={�k�����^�>}�����X��9�zA}&>>^=|���>V����a����>���Gt� "�v���������}���DRR��%u��z��C�io��eqqq�g������'�����I�
t�����������c��I��t���F}���q����\�DP��o�����>'N��5�_S;v�K�[�����������g�7Nf���W�H��k���� ��5we������=�x#}��]]n��M3i�O�1~��n���:uJ�9r����~:`����]�v�e�u:p��G��$��1�2G���='%%E�e�������.�?:�g��D���6l���B}�������C�J���wo9/��%�����gO�}x:p%t:���������cn�*��K���W_����_��/�9s��r=z�0�g���/w1}J��Z���C��[�`��y����d��oQ��=m��E�9��}�'N��V&11q����
��?������q����;wN}�����.]*M��!C�����E�����������/[�,99Y}���m������NZn������L���l���X�D	�����j1�wYT���}���|�OJ���w��S��?����L����c���SRR(]��_m��<8l�0�9�]v����'L���W/y�4�������r
�q��s222�����o��III�.]R_����R?;p����]^z�K���c��1��c;��:$��^f�������>���O?���o�`���������,2���w���Vx�![a��j�.�Jh��	�t�;�q����RM�}~��Vj��TaU����r����{p*-�����������B\�=��*��S���d���C�f��9q��U�V]�pa��e2=k����X��8p���5a��dgg���.]�GM�4)!!a��}��y��s�/^,[��>|X�<����5�Jv��QZZ�)��RSSe`j������e�q��5���j�
6�^�z������]������7n��r�J���S7o���e�3f�F���e�P<���$[���c�����g���2s��)����B�YRR"�WC�M���ynl2�=*GL���4/--m��j�������������/;5}�tY@F�cg�u.�F92��2��ur��P��������j�o�\�r��Ui/�Y��[:[iA�K�x�����"i�dy�)��=[c�)+�N�w^PP }��_�?{��lQ�=5S�D:^���]��uk���8qB�K�/����k�]�&�7o��ei����{��������sc�*T���H�x��1��w��%K�Ho,��O�T����|����\���J���4�����C���������s��E�]y�4����M��e�T���7���]���u_�d�?���t�j�G�����=�����lE����9r.�P�a?�[.]����u���jZ'�2����j���p���2!����������K�'=�1_��3g�H{f^�4����Vm��uj�4x�i�����m3�R��*?����9s<7v����7��y��;d"))I�Cc�,�Zz��t����+WJ�i�(���y���j���s���Drc���N�6�X����o�1�������M�:U6m�5o;[�s��iyab�#_9j��������������5_zNi������q��}��yy������x���k67�����95/���n�,6�F��4OY�/���{�O�>e�iP-Zd�������3g��1c��I�k�e�'N�����������t�iii�v����o��r��|�ax3@D���3u:p�
���+��1����w�{��o�������?�9sf��=��\�vm���>����)5�P;m�4����lB}l�>���|�����}��;vl������W�A6m���QY��pqq���j��/�C1o���+W�5w�[�l1��y�f���q��u_,d�?���Uy��>,������G9��5������c����v;�.��?����\z���g�?�����??+++;;{���J�3����<76������"=eo��]������X����������V����fJo���p����;w}��S���(^�lYFF�����%K��7���3q�D9&��?�\�f�Z���D�scxr�S#��q������5k��G�F�������G9���7j%�~9���"��U6lP�`;p���.��-[RSS��s�.����K�&�/Z����<V�D�Tiz�7��w��I�cem2q���F�*�����W�Z%��4�s��1�3))I���7K�������CJo�i�&�)��>-}��D����M�v��Y�����]�|y��)�W��q��;W�`O6�t���[���2����;����+��G6$kV�������0~��-��e���V���m�Iz�������3��c��,���}K�d�QV�s�����437�����B@s��Q�G�e�2������:�
�|��8}��<���C��:.����!��4�G�1([��t����G��1�&V�q���#���	5_Z��{��]����7!;�{�n�u(���*c���:e����������em2~u�}�l������������YYY������������8~���E����������#����+W�$$$,_�|�������i�������U]Tu���_�!???##c����YQ}&���O�D$.�#F�r�-?���{������'O���Zl��1�j��^�z�������:d����qc�:u��������o����_f&%%������N�:U�f���tY�M�6:t�x��---m��Uj������U���;v��}��������[���5+66V-���Q�^�p
�s��y��e��Gi��a\\��o���Q��W�6L~T�����F@�������^�x��L<8;;[�o�����S�����W/5������o��!33s;V���������[|�A���n��
8p����g�srrj����c����7>q��1��[n���P�-[�LNNNMMm�����b���M��a�@��u��_��;v�s�����o��A���ccc�y���2u��������s��5�=p�J��qc���6l4hPBBBAA�����=j��!C�����m�@%������w��7�M���� Q^��~�����G��n� Q���P�������6�G���&��^�v(�x���s��7�/��{��
��o;��z��g�n��d�����J�[�m4��[�m4�� p��v������&�i/���~��@��~�[�� ����[���P���!G���,�8�nt�/���x��]-n����A�D:p��v�|����k�}�	�^ z���-�,�8�[t���~�����a��yK@$�B�UKX:p�PD2:p@G@�9�U88�#���O�����Q��B�`����}P�T����#��� �*q_T"�8)t�6:p�J�W�(=��(���57;�R��{���J�:p[t���U*�J�W���~_o����J�:p�n���Aa�����P����7n��A�|��1355u��!'N�x�������e�����4R_%�+�j��n�[]%N
8�M������t���&}�w������s����~{�^�dfbb�o~��N�:=���
4()))**�����Y�F����p�=�[�ANk�@����bB��4v����X5}����������M��Z�J&JKKx����7o����GU�%''7k�,\�E��n�8�������z��2Q�F���5���>���9rd��������W�
�(q�����������T�|�W-F������4�JPII�k��6{�l������G5�g�����0`����(..���~f_Cff�v��k_Q���L����|UK�W-�Z0|,���M�M�kkQ��!�\][�GF�^��k����k�#&(iJC�B�C����{o��E����������n��}��gC����Ss���~��_�g��	�;{|}+����=���	��q����^z�o�����u�=zTM�n�:���q�#G��a(�h����'��X*e�����U��������y-ZT81A�\�r�q��S�N5�l���?���������5j�:u���������G���]���?\��f�|�K��nr��WW�&_�
?��o���V7�W-Fk�J��� dF��7��'O�|��������UKPK�1�f����U{�������:j�
&:���Z$�
1���I��:p�W<��(�L��')p�
1���I��:p�W<��(�L��')p�
1���I��:p�W<��(�L��')p�
1���I��:p�W<��(�L��LJ���$�
1���I����D��KRPQ<��(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR�*bRx���a�.���~��r�Z���SLML��������xk��&\-FL�)
�&
&�ARH
\E@L|����#&�S� )$�" &t�B#
�&
&�ARH
\E@L���FLML�����������(��(��I!)p1�P05Q0��H
_��`������(��(��G$��YC�E@L���FLML�#�Bk�`#&���(��n!I��@�b@SL~������Z ��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR�Y��o���B����7�/����	1���I���BR���Wc���Mx�Z���(�L� )$%��h��M-FL�	ML
&t������	���`R0�����hFNL��	$��D3:pb �(�L� )$%����E��`BI!)����,
&:H
I�ft��@`Q0)��ARHJ4�'&��I���BR�81XL
&t������	���`R0�����hFNL��	$��D�-G�[�_m:���&��^�81XL
&t������F��'&��I���BR"���[��bt��@`Q0)��ARHJD�'&���I���BR"81L
&t������	���`R0������DNLP�����O�>j�����a�f�3�V�Z��Wo��yVVV��Q0)��ARHJD�'&��


z��}�M7xRR��/�l^���S5k�LOO���m��M��0P8�`R0������DNLPu
4�m��;v4:p����������'-���5kVll��7##�^�z�-,(�L� )$%"��T]����o�2j�#�<��a����7�|�Q�FW�^6l��������V�Z�F
&:H
I�Ht��U��<xpvv��n�����S�����W/5������o��!33s;B��`��\�Z��`��\�Z��`��\�Z��`����2�7cj�K�:62_�U����\;p��k�#&�$bHS��9��Y�n�8r�H���9995j����oY��E�;�j���B�U����x����3w���rKFF��n��errrjjj�&M��+V4m�4,�����h-HJ4�'&���x|||�
�w���3���[�nLLL���k���������P0)�Q����D3:pb��n}��
64(!!���@����5j��!CRRR�3D8�`R0��I�ft��@XP0)�Q����D3:pb ,(��(GkAR�81L
f��� )����
&3��Z��hFNL����h-HJ4�'&���I��r�$%���aA��`F9Z�����	���`R0��I�ft��@XP0)�Q����D3:pb ,(��(GkAR�81L
f��� )����
&3��Z��hFNL����h-HJ4�'&���I��r�$%���aA��`F9Z�����	���`R0��I�ft��@XP0)�Q����D3:pb ,(��(GkAR�81L
f��� )����
&3Rm9Z�*��cS!��^��I�ft��@XP0)���[�m4�j1Z�����	���`R0#�I�+bBLV��o����c���r�Z��I��T�$��	1X�^��Q-�^����h-H
\b �(��(GkAR����E��`F9Z�W���,
&3��Z��"&�@`Q0)�Q�����1!&��I��r�$��	1XL
f��� )pEL�	���`R0��I�+bBL���h-H
\b �(��(GkAR����E��`F9Z�W���,
&3��Z��"&�@`Q0)�Q�����1!&��I��r�$��	1XL
f��� )pEL�	���`R0��I�+bBLh�r��U�U�R)��^����h-H
\b@����h��bL
f��� )pEL�	ML
&t��W����D��`BI!)pEL�	ML
&t��W����D��`BI!)pEL�	ML
&t��W����D��`BI!)pEL�	ML
&t��W����D��`BI!)pEL�	ML
&t��W����D��`BI!)pEL�	ML
&t��W����D��`BI!)pEL�	ML
&t��W����D��`BI!)pEL�	��������?���2d���/^Tsrrr��/37o��!F

&:H
I�+bBLP�eee�{��}��Q?&&&��7�������?��A������"������5j�HJJ
�x�6
&:H
I�+bBLPu�Y��v��>����7m�t��U2QZZ��l��y����>���799�Y�f�m�`R0�����"&�U�t���SF��Q�FNN���������G���C5���������2��@��`BI!)pEL�	�:s~�M7������={���o���z�Rs�������e����I���BR���Tu��z�����j�[�n�}����C��������_����5dffn����s-�j1���s-�j1���s-�j1���s-�j1���S��")$��	1�#iJC�>���[����G�t��������9G���2���[�e$���1!&���x��������������Q���S�O����-?��v������al�F��`BI!)pEL�	�:s~������?�y�Z�F��f�1�f����U{�������6����I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR���D��'O����9f��Z�jU�^�y��YYY�a�F��`BI!)pEL�	"IRR��/�l�s����5k�������i��C��[�`R0�����"&�"&?�{f���{��&��^@O���w�>|��q��I�-sf��������W�^XX�Q0+E�D�GRH
\���������|�1e��&������8���n����:|)w��#�w��d���+U�#�<��a����7�|�Q�FW�^6l��������V�ZxGX�Q0�+���T��B�E�����[F���{O}���V�[F���
A�2x����l5��U��S�����W�^jNqq��7�lTff�vhp-�j1���s-�j1���s-�j1���s-�j1���s-��?u)����H����{�b��&Ln��T�|�W-6x�~����k�$�1��u����u�j1Q��\#QJ��������[���9���wNNN�5�;�*��,*�;{|l��#)AM�kk��=����kk�+bRIb��81��[n�%##CM�l�299955�I�&j��+�6m��Uy�J�KC>�W��Z�"&��$>>�A���w���}��g����[7&&�s��5k�LLL��0
f*�|l/�HJJ
�E�b��a��A�%$$�9����F�2dHJJJx�V�Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1�����T�zo���n2_�
�ED
f�LI!)pEL"/&��o�	�ED
f�LI!)pEL"/&>�ou�ED
f�LI!)pEL"/&t�@�P0#�`"H
I�+by1����y�@RH
\���	8$��+��BR���D^L��� �`F^�D0��W�$�bB	3�
&���D^R����#&�:p H(��W0$%���1�����AB�����` )��Z��#&��&
f�LI����Z1!&4Q0#�`"HJ�%��"��	1���y�@R"/)�GL�	M��+��yI��8bBLh�`F^�D0���K
�E�b��7f��Z�jU�^�y��YYY�NF�����` )��Z��#&�����S5k�LOO���m��M��=�*��y�@R"/)�GL�	"��Y�bcc�tFFF�z��;�*��y3���j)��"�
$%��Bkp��� �
6,..NM���U�V-����(�L� )$��	1Ad����^��tqq��7�l_f��q�J���v��2r�H���9995j��x�������I5�b���M��w<@d+..�[�nLLL���k������.;;{��QC�III	�X�����}��Q�s��}���_������9111'N����2�#++�����^��m��6v�X�s����-[v���U�VW���k���^�N����0��c��5m�������k	Kii��3fL�Z�$)��7��xxf�I���w��n���1j���S�[o�U~LII�_�~Q��.��=�������e���eggO�2��?����o?~�x��}���a6J�~���OB�w�^y����|����5k�KQ���M����f�
j��m����Z�jR��_���6i�d���a#�t��[���#j���^KLL<xp�=��������U��������p��������N�:I
f����ddd��W��3�H��������d�����l�R*���>�~�D{:~��_�F��]����u�O<q���'�|r��m�~K�a$
v�F�$��
���S3��������N�=����G�9z��K�.��__�	��\��bN�M7�T\\��{��9`��HKK4h��-[f����iS��]��'���~(���O'z����K^n��f�,���c&N�c��+U���Q���������|����bu��IOO�|��x���o������g�ENN����0�,`�w���]�������k��kx���9�<����+���?���b,��+�xn��k����s����?>�������I5�b���M�w��f�|���m����m��=����c���o����1�c��5k�����/���A��._�|���>|X�_|���K�����k�@����4n���u���/..�[�����H^��yf��e�s�����QMs
���p��c��5�q�����3w�������sss��]�t+����|s.3���G�5d����<<����|���]{����n���&�(�0#���y�����������������=��RZx�8����:^o��-�qL����u� ��5=^\���[���=�2�������~wy�������=W��{����E��}���nom������&��]'������1!/,c[�v��;�s.^�8c���#GZ�+��	����v�>y/����o��v6��]����_;��������C��9���V�G��l,Zs��[����1`W���3��W_m��1P[��gO|||JJ��������@�������g������zi���OVVV����'L� ���9P�����*���mH�WOy>�.���8/|��%K�8�
�pUK|D�U�����K������y��
���\�_�~�u8w�����_c�*�\��Je���{��������������z��7�������n���������kr�O�|{�������[�nm�?q��Z�ji�$4�Pg�R����v��P\�p���~��w%�7����������������>.����dI���t���k������O�8aY��
V�V`�A����������V:T�vm�c�_'-���Ux_<��+sn��x���>���
w����	l���������+WG������9��]�9#G���g���J�1Yl���2'77�xKA����/KKK��={��}��WRRb���y�_��5�j���_�2uN��['k��w��)k��~��W			�.��������L�0�x���OJJ�1�����6������S�L�6m�������|�����.,..Vs��x���5�%;;{��q�g�V3�5D��[�ZV��[7�S�L��Z�l�������<yr||��6�1����?~|NN�@�+3�e��1c�������<z�h�*�����6�m�6��������Ly���PL�>�}��j������s�e$���������p��A�q�����Y�f]�z�Sv��O%���\~���������9^����Cv��Z�����={��l�?�8t��`�x��]�u�1���)r�d`7n�`�w�z(��E�O?������s��x����5w�\9���-Sc6���4�����:u���������b��e���t�O�y���
a�;���Z�4hp��eo#q�p^^��9s�	N������dc[rf�:t|��)����%�����+��U��y�\��R,���0_��Q���Z���4?;����?o��v�=~����<yR�4k��u������9K�.����{L���b�
�����>|X&�z��,k���C�)\�z�R��d-���!��'�|��W^����lE������{������U�GOY'���H��{�����CEEE���i�F�����_�d����dL�Io���,����z����?�\�������0��^��t��x���
���)x����t���I�����)�����{j%�>���M����:��qc9�����9S����K�'��G��'",�P+�B���o��^z�X������������7>�����XY��a���:��2�N�:��<��0�
��`������Q�>}�H�'���>(gD^�6o�\�j�o���_~2��g�y��w�YP���� o��>?;���,������Q�
��������9�/uj��
�`z��&3������U�VM�6��{\�u�!���I���n�lEN�\�R��{����B�")�����2d�du����L�����:���
�)�_]���K�y��i�v����2���H����;�\���O���#,�L�\<ry����,c���4��:�2��:^�;r��������?������Cj����rUW���7���}�t�9�Fe�S&/~e�\-��\jj����'O�I�����2����L6L�����O���e�r�-
��������<q�z�����VZ�h�6���&��	��zq*/�����[&�D�5s��)O���o�.���A�D^$>��S/�zc������~�L8>�\����iN���}T��A����YCN�:�2ryr4fJ�h�y���8��[W���=p��:q��$�����$�_|���v�hK6�	��a���X5S�#)}�����v�m/�]�/G�������6�\���C��si�|���l����i�s.s�;�m����������O����C���kW�/>�����g��%������������s��������R��[�p��K���T�������e=<}�������L�\�j+r�/_���H�u�]23??_�0r�H���b�2��������
�)�quyn,���k�\���C���3gJT������dy�����#,�����wu�t�����=[=��8q����Q��q:e��u�$������x�����Cj��.rc����q�����P�����C���H�,�t���1u�����q�Ly�(r~�2��L^���H�J������:r5+�S)/��Krs�g����s�F���o�V�Y;{��z���C�K<I�\$�L�1�;pU����X.~v��k��W��92��CN��5r����)gM&�u�<AL�<Y&,���8��F��XQ/E��Y��S'I���r�����8A2sn9����@�����.������r��e(Y�[�nR�=e�����������q���k��|����vI�����R�O���e�@U0���b9#��;�/u����L��-�����w������L�4�c���z([�o�^$e�w�}��W^yE�~Q+�_������8�C�Ca9�>�.���n��q����x�r-��w�i��=���I3�f^�zU^^�tI��,��@��)����%a��������0_�>����
�v�{d|P��������n�����uN�0A�5-YV��C-�����5R���i���7�|�*%%���_�lk��E��8v����G����Gc+
6�������U�<D�����'O��;W^�O�:U���K����^5���r���[�nNN�yN�������t��]��W�����Ly����R�������-�m���z����_�z���>���,��W�^��:py�2�
��9�2m��y���e������<��������;���_�R?�Ca������W��i��z�������Y��ho��>?;�P��m��I����Z��U�<�����X���|y�����~��Xo��1�@����CYk�h���![���O�L��X$=e=��M����F�s�x��L���|�z�(�{dL;^]�����a����>}��^c��g�\�[�NM_�xQZtK������\$����3f�h��Iff��=N��qg�����������x^�?�����r�����V�����w:��8p���9rDB��e��K�����;v�S�'�|�zf9�rY���+77���?����O�a)R
,��8�;�2SN��~����w�KE���So���KH���$�]��:u����G����_��<V*�U.E9���R.x��
�����366���?8>�\�����k'�t^^�y��2��?����|9r"�=�F+GCfJ��|�d]�v��{��������q���a�x��5��w��������0`��v���	�d$2�
w����y��/��
��jF��x(C!����??g�o�q���X�o�^���O�w�������n�M�y:�_~�g�G��]����Cy��o���C�s�<I^^{�5��`����3��[�0���K�)�YV"�����w�a���:L��tr��l�"��\��E��'������ --M��Z�����_M8�C�CaY���eD�����%&&���2T�5����a?;�P�Z:pya%W���{gb���?�(��<P#/����w�^Y�vo�8�2���_�;����r�I��_������2�/r�Ua�#y$K��<���yL�������P$�r-�u�]r��2o�<���w���;����r���Z�n}��w��2��V��d��q��{L��ok��qR���2,u���������|���3��'J����+���{N^��I�g���t��Q�:R^�����������M�N��X.~v�r�P��%#����u�6m�=��#.4F;�|9��������5kfY�������c��m��3g^|�E��K/�$/�[�h�q:�K�,�kC��&O��>��)��y�������)u������](!��i�,��Yp���X�`��m+������Lc=��Je�]���_m�����{�\���.�PV09���'�SBj/�T�Z�?B`9#f>����a<V���ku�H)�V\}��|����R}t�r���~�����X$�F=��2f�W}��B��iY�y��z�(,+t�����wV�OI������tSj�}�+��J(s=a�����+1�#�)�(�4�ry��`>����PotL�}g����/�*2�^x��WT��������r���
�-Z�H*��,ROm��k\��sQ�������(y.���f�(������<���\+x�%��[��J}���%4��Px�J%��%�����1b��~�3rRRR�W���$�>�����5�����g��t��-��s+����
Z�l���g�]:�fM�OY�����q��d����\�����m���n�����_�~���'+���G���.�����JhBQ�;p�/�������w�o��o�P�t���k111�n���c�=f|�q9���K���/<�oB�K%���!�j���6������J ���WKO_(�q+.���6��;��;����Q*�:�����������3�����9z���	����\�R)-����q7O����j
M(*���g��%q!�r���>n�%�O*�����%K������3���B����s���[��++���C�p�����|�b�?L�TB��~�4��M�:W�����7Y �c�����������#"G��e���q��=F�tz��s��e`k����c�yNii������/^��EI!�:6Q9���b�O\oa��z��>�Fa����>��]-\o����������Q�F����]��_y��5�3'eg��URv�_��������_�-�8wL�z�������a��%��
��<�����c��9������Wi;���{�����a�=z�l�r��A��5�����B����	o�-]xU��r=�;�O?���g�	��?Oe������O�8����:thAA�JM�_:��^��u���9�~��g��4o��g����T��U�#*�������r�����k;�6��[��S�*��������+����F������yQ/sF��g�5G_J�,�{�n����k�������K��Kg������JJJ�9�������w0�/_��w�5���;e�.T���*��!����fW���O�2e��i���������$K����q7!���!��p������Y�����~�������}�v���o�,0a��'N�4�iL����3f�R9n����G��#�����\���Cv=d��_=##�~��dy�\�������={���j�*�T�]�v�����(�������?c���{;w��N�J(?;�`�DY�oe�^�scB��1���m����������'K0N��, #LOO7%���m����{��P�n�����H����DNNN�:u���w��9�%�8H�k���_}���e��i��~�}����v^,������'+��7~�x����4~v�\o��R�Z�h���O{���z�����	Q����4KY�ed_�_5�����Ex��A��3O��k9�@�O^PP U������������'O��f�����~�����K�z����c�IX��+V�������2�r�J���f�r�,s�t�"�A���8�`$���0��^PoU�v���
6������y�����k�NF������������/m��������%Kt6��3����;�yvV��������t���7/(c9P��O�,�\�ti����rd\\����{��!��o�2���o����~��o����++��WR.�t������������,o����w��j�\����{O���g���i��}T+�S gD�%gD-���Y�:���P.�t�A:��gL��FB����J������W���e���U
d%/���OC��|��7���U�VM�6����p�7V��~X������w�]2�_|Q�)��s�=WXX�8H����!C�,��Y�����tG��y�
�8�/?ifd���<�b�I���s���7�Z��{{�7���y������J��5s.�6j��O�>{��5��1m�.8"�?��F���R#/Qe�_��W�^Djj����'OY�$��
L���?�Y&�
������O�u�e�R,
�����'�.
4HV;n�8�C����#._�,��c
�SO=%���U<�Z�d_�.�������eB����jm�j]��������]��=�4�s��m�.-c9Pj			Re�������:u�S��I�^��.N-&����>����q�m�y[I������zPd%O>��������2��Nc�<��������yDc��u�	��>���#������o���������]	��O��h~b�tD��X+�K��)���eTj�<���j=�'����w�Z�)�������\	�
8p@�������;���c�K��a��!i��/_�8����Kf����6r�Hc��(���M��x^�����[.?��d�j%������,�>}�������Lx��7��;>!��U����	N��}{��3�}<�U�?x||���C�s���Ky����uQ���<��y�w���%)SRQ�e��#���kd��_���}�]5}��1y����2�v�������.��G��d�����z.uC�)��L�Q:�������3�G6g?Pj���h�B
����1112�����������.N=D6������u\I������zP���&�'��e`�1%3�����k'�q�'O�	��3����v*�_��O�yc�r�y���r���I���=2�cn9�k�������6�(c����������{*������%�
�K�>6�ue�\Nw�}����W^Q��Z����\o>���P��Ov�X�!�8����H�>i�$�����z3���	�S��j��|?�9R����w����?~��O�&L���[75-�k����,)��w7f6j�HM���4n���������_~��-Y�w��j����u����[�arrr�1��_�~vv����kW)M�I��K��7a��W�����}(���~�����6m�1����s���'z�1<�^�t�����bWR.�t���Y����'��e��yV3�O��)���[o���$&&zn|��v*�����eI�+�\���x�;"{d�]���z��G}499Y��^�z��lL�8����2~o2�A�7o���>��tk����k�����>���)S�8�S���M�6I�%�1T��������0&���4{�J$�����,3k�h�I�7����=����=2��Op��(���
6LM���g���/PE���8p����?r��D�e��K�.�i)D;v��r��'�|�>#!1���{w����������M�+���VB7v�X�L��#�<"[,((=z��o�mY�]�vRj���C�1%��?����I&�;z����D��%�Re[#F�������y�}���E��ds���w����Q9,�����JK�'wI)����3f��{��F����<x�N���r��������V����,o��lQf��������t\��s�\�����G������sc�q����<H'���#�G��X�X�5��w����s��|p��/1��D���M���de1��l���_�������~�WI���3�&-���-[�4l�Pz�A>���r=H�JKK{����:^Q>N��T��K�:p�}��'����Y}�����x�0�z�����	Q��ZV�X�n��6���������O����p��UvG��o��/�������@U��w�HX���]w�%%Q�u9o�<I��w���;����������[�}��RQ�?	��K6���iN��o+55��'����;^}��3g�X�� ���+��~�:��F���?��My���.T�;�B,x���d%������:�0O�^�m������X�]M��26���_�
�$R��.��cG���E����<��zt:p����������S�YG��-�'��e0�|y�'��������5k�������s��u��WB���](�8���cd��C$����$���KS�Li����K��^�S���H�r���$�����}���H
N�������������V*�I`����4�Hb\�LC�P\f�2�1M�2I0XF�`j�--1Yb
bhbE��_�I�7����{�;o����{i}?�.�p�������>{���0 44t�N��QA74�S�q����*YSS�������J��z��i
�q�Q���;�F�AA��9IO��,��!n2���oj'�/�����A����3qO�Y�t4���F�-��r�A����D����<p�H��e�%�
/���<p����~X��}�"^x�_
�!2OC"W\\�[}�������2�����t��x�y��7B�?�����O�Q����YQQ�p8�n��O�e���oT�)����0OII	

u:�^V�V���2�sl���A4d��Y������qqqaaa��_��F��������F�����'6�O�Q����7B�?����f��*�a�*������"+/�'���������*��W�`xa-77W>C�/�����~�����[~5��ttt���fee������D�e���|����Y��������|P����7B!�B!�B!�B!�B!�B!�B!�B!����d��}��{���c(�s�ys���3�>��:�V���s��_eg;�|P��:B�L�ve�4��:���YYY�����W����-G����U��������uy��}4|��7ijj�������w���Q�7]I����uz�U���n�����������[y����?�9(=����}�������rrrn��!�����������������
�4�Z�b�����������c��Dq��)u��Y�z���G�w��zg1������''';�5k�������+[������6W�5��u��I���]���.��������111�u�=~����J7���CkB�b;��������w�����W_m��i������/_��e���;E���~*q�_~���M��"(�X}*���V\\�O��������yyy


]]]�����EEE��hh��tn��M��Z�M���,�{A�.]
		�Y���C�������P������������&���Bw���t��	��zGP����|���nzq��Y�9t��aW��~���������<��@m�@J}}�l@�<yRV��k:��'��aP�	r�F}�@�Vr[#W�'f67�~N��%?����Q������geey4�����W��Vf"���p��|��3K�WVV���(��/���.\�J�6�660�1�aL�}��m��{������9�Q
���_^=F��7��$�k������[[�z����/p9)�����}������%&&����/^�s	�8��kr�� ���8��������&���2p�,��W��:u��+P���a��������<��c���y�V������Q����.\(y��G�;�nV���#�E������;799y�������Py��+W�<s�LRR��i����������v���qxdd���3Q�0�j�-55u���!���K�����#���f��}��6���)P��g��hl��#�/V7dV;k?��C���C����/^�h�$�0��U�p��������H����y��)S����HA	��������"Pm��Aba}���������oBgXO���G�+�j��)��r}����5%��-Cb��	y�s����M��G�E`&��?_���m��3K����
�����CI688��o�Q��Sl`.cf���.Y�q�`�a#=�Nn}����a>�Bqe�����oW��.u����\��5Z����8�Kv1d��E����>CM��H2y�d+����������� �������>����{��QQQH�]�5s	B�����#������8M�4�����+�!k%"-"�,Dhr:�!!!k?��s`` ��5-�EM�� �!X�]g���8���,�idgg�+�w�w����`�������W\�Q"���!>k2�?����_mmm����������x��'�^d�B���;_|�El\�pa��q]]];�uAd,�kU���3�r?�b8��f����<��|#<zt��F
J0�����'�F�2�j��/��������qH[[:�i�&��k
z��XnK}��^����P������	�y�Y�C�e�����3��FU�Z�x������^{M\����B���"�`P��A�^2a4qU�,�p*$�0��_�~f��;��9�� �
a.l�[�NX/!!aM��f��K���+�;�Nh%
��n��A1	 �g#���^��s�D���$gI�4�EG5���A!����m�&v�c,!�O���0���oa+��+p�q�F�i�u	��������`CQ�����]�� ��K���2L���[����=###66v����UR�L�SQ�0�v�Z�z�	Rw������p��7p�@�nz}`
)1S�������_��������[�"  @�Qzz������8D�T/�V����u#�e�]w�f��!VR�
.�6�g8z���2p����Z�`����� T���\r���4�z�����Yqf��������.]�O�;655U�oc���C ����V�5l�G�����YY�y�
$��u�/�������g������v9�����.]�$G�]Z���]��L�����7�x��,����jB��g.������WB�5�*b�>�B�{8����fuIPP�����6��
W�W�D���������3g��E�v���XNE����-[���fE�2e��+N�<����+������KLL%P�L�������zJS�`������k��!W�������P����n(������>�
�������o6%��6l������7���
�����~�M}���dC�UL�u�q��1��X��\n��g"f�S|��������'%%El��q��A��������Q�c���Po[qf!���+aaa��"�x���]�&O�,�[���b4|��h�v2p�sA�1BlO�8�
_�����m���������������_��,�������	R�3)������_4�u�}���������u�D���+�W�Z����{����kb,!�O������c����8p�
J^x���K�:����Z����F�i���Y���#E��y���!C��/����"�}�ADE����={��@u�B2P__������E����XCBB����!��"Q��w���F�u��Ap����>?���$����d���3g�Tlll�:r��9��Cg���A1���d��7n����4��
/^�1E����r��)C)kT@/�������>�u������j��Q(��a����GX�P=MOO7�
��������=63p���������n��y��y�%�5��FU��w#B�m������O�s�=5�4a�p �$���?
�O6�#�d���lpp0:���!O���\	N�o�M����Xi����`���c��Y�z�b2����*���3Z��x�������������������l=22��?��&0�� b�a�+F1�������E��1����{��W�^�;wn@@��{��j���w�FPBp(//��/\�0<<��e�TDq]s;v,�>����D��n�
���yyy������JKK����6�
CL�������)���
�9t��m�.,,T��
�Y�;��
��@���^`�X�h��:u���dfC�Aqqqw�y'��K�z)}�8p�������<��EMM��	���^�DXL���?��!8u�;���<��#63p����G�b@���3g655y4����nzU�w����Eg�B�WHlpz���./�������?�d������B�8g���bbb�$�L�0����U[�����j���3��M�L�>a0**J1A���M�G*.n8q#n����g����^6�EGE�F�0Htt42y��0Bhh(���XB��������*��(~��[�������vCCz��Cn7�y8���B��<pu�������|\������.2���b*���"��5������=S�����;�N�������������iii�G���-��oQ�|�c�:6����-��Y�7*�a�RVTT88gT\�<���LOO�������	�o.B������4�~������
rss�#�|Nccc~~>��x��s����v��u�s{���B:������l�0|�ymmmQQ����������4++���D���W���!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!����I~
endstream
endobj
42 0 obj
   26824
endobj
39 0 obj
<< /Length 43 0 R
   /Filter /FlateDecode
   /Type /XObject
   /Subtype /Image
   /Width 982
   /Height 537
   /ColorSpace /DeviceRGB
   /Interpolate true
   /BitsPerComponent 8
>>
stream
x���ytU�����:��<<3�a�����w�QA%���#�����
�d�Ad��oa�d�-�l��]A$�%���������U�v�sI'�����T���n-�o��t�J�g��U�Vz�<xp����o�������m���^�:!!!##�2�L�,�����"�&;(��_(�4\�S`RP2��
>|��4�:t���;w��������������p���g/� �������Dg����c��Pi��������tb|��_|��+����j}�������#333���/� ���=�=z�J�������k��Pi�������dv��!������w]�\�g����1��@��������������C�;����			k�����o�]G����o��^>##Cf�b�g����d�5k����K�xYYY����W���sg~~�g�.\��e���i��s��;�9s�t��M�=:���em2�={�8K��v��S5����~�������O���F��e�_�S�9992xd||��}��{� ��|��qY��������_�n��9y���Q�S�����al����Ah���8����7o����oQ{��'B.���$uozzz�C���B����	����@{R~T+����wp�>}�tG�+�t�^����t�2s����K���y�
�<v��	)))�(g�����}�t�]�vu�����/� �������� ���8d�����;��9�<y�d5��~�2���G�����=s���9�A:����>pv�������l�S�N{��u"u����c���w����q9S}��u�+��{����D�����������+�R-�E�n_u��0d�{��G��P����_�~�
������Gu}�-G�Z:t�Y>66�C�����1i)�-[v�����4�w��e���������j��7��3�iT�;r���,k�M#<q���a����{�Vm��I�������1c��8n�8�>z~9r�,|��1����i����/��277W�������/� ��J/�,�\�t�:Pr������,^�X�|���jy9���v����o������+
�,0p�@��/Y�$33S�e��)��1�����O�7�|#<���S������#�X������Y��������8q�D��tw��|���Qm����f��-s��LV�Z%��������m��Q�*�j���Q��?_����Q���5k��3g�t�{E�{�?�F������3�{����&V��~���>��������������i�bbb:��|CV.w9{� ��:�D�gVs���H�����h�������c����h����, [�P�>y��v~~"dO;��+S�
�-:�r���X��S����Qs��$/��{D~�T+%��3g���N����&����Wwm��M~�1c��Q5H.t���]�t�g��D���G~\�l��KdZ�����4������;5y���)���im/�|�������/Z�Hz�b?|��F/^��~,,,Ts��%q�����-[OJJ�����^@
X��,\PP�^ x�DH��>-�~�z�+�p;p9|���N��
�{D~�T+���8w�3x�`�155U��N�*��|��{I��`�c�s:u��AG�=�����>��Cw������L�Z����Av�?N�������v��u��Y�z�d��n���z�l���K�.jf���'N���������x�'b��]���2d�������+�R�T�g��4��z�i�W�i{V�^�~�>SB�E���2y�����r���~�!��%K��g��T'$$h����������[���1�{���>��|�IX��n4��'Nt��Q{��c����w������r"����0���C�����d�A:�u���N����v�����R���S���O>�������Y�f��e��G~��o_��[�tiLL��o?�~�/����Gwp}����5kV}c��Q^t�?^�N���n4����xw�������H������������)����Eo�������c��g�3Ff���K�H��v��K_��ZwWV�\�����#�7��o�������&���iA�����S��G��9���z���|x�c�����c(������k�M���� �
>'!!A�e��������>:n��?��2���P_���G�=��X��n���yq�,Q&��.]�8�����+D(���k�b��ww7]%���{���Oe�����?�|�����u��������?���)-�����K/7o���>�,&&F�������'O^�`�v���<|�p�"qqq��/Wo�������� �
>���S��X�L��d�i�����>��~/��/�D���4h���.T�*�y�f�!
�W_}%-�lb���r���`�l��,@��t��O�V�y���x���=���~RZ�n��M�4I�����g����� �w������GI�:|�p��O��g���������C�bcc�v�*��S�P�_�k���;g����xK���G�Y�f�;wN}��+��x��!-�����6��'G���n�wHC�o�>Y��EF��!M�Al�����)))[�\����Q��'O�,�&�N�� D���<|��E�����cccK����P����F����III�&M���]�`��'�|��J�9�����K����%K��7n��)�Laa�g��6U&W�X!�O�>���C_����S��U�V����2�����O�6M��p����O���;wn���������QN��s��9s��&N�(+���UZ�n�_|1a����PV{��A��3����Y�f9�����c����;W�#37l� ��k@����+�gVV�t�2=s�L5�����~+m����������da���C�^����������������]�z���/\���g����_���k�������aH�,����i�4��@YXZk5*�����^Z�gdd��?_�Q��Y�)<{���y�d�4���;�s||��;�;h����/T�8p����pI�;w����T�^���������J[+��!�[���K�V�`=��t�k��Q��Y�������7��f��%�����k�Jg.���e����u���-��^^A������;��<yr���2�b��#G���t��'O���4���I��w���k@�rrr��;v��q���U�H~���8qB�o��!_}����)�p�j=�t��]�5;����z��u��m���XPP�[XX(�N�2e���2�8�gy����S�%����W�Z��iw���[���(
yRR������^VV��C�����	&|��wW�*����iii��;v���4�
=��e�v��]�����]�����U����3G�>��~����d�6�1u�����'O��������s�:_$�#����O�<�s�Ni�e�����o�>�'=��V�HMMu?D��)S�8�$�������p;p���[�����?u���3g�������^=v��mN�,���[��*�V��(zs{���j���?��i���3�_�U�i����1�y�!��k��a����={��%K�A]�f���.\\����U_�P�!K<m��
6|���S�N��g�g��v������X�Bzi��eH��NNN�1l��Q^��;W=���������_�^,���]���K�-��\�R&��V��c��1*�_�n�t�����w����e���Y�f9/��`)77w��}�aJ�����f:���p>�q���m�������|���M���Jw���K6-��������Y��������w�����]���;w�9sF��w���d`_}����{%����c�7���S�d1Yy��9y��lE�;���P.]�6U���+W:?:th��%[UZZZ��A�rh��������S�NU�^�f�L����?� ����2%pY���RRR.�{����{����u�����������p��,�Gq(���Ys��7_w�u�Z�����9�������9U�V=z�Zl��QU�T��
6�B_�������/^l�����Se��E2226n���_�:--�����+WNNN��-[�l��m��p����/i�e�}����LDEE8p@���Y����3f�h�B���w�w��b���I��;>��#G��9�_}vv��W����w��111jNVV���^�b�7n��u�N�����h�"�y�UW�����t���w�^�zu��U���������HII���6K���4j���_]M>|��n��J�*�9sF�����=|��a��9�NOO�B_�c��!m��Q�?�������O<�|�r5�v��			���?����l��z����GZZ�m������=&&��{�������6mZ�����o��Q��5k������GEEEGG�L�+...�������=�O�>�����U�V��1c���j���#F��=!!!��@�l<������d�o2_�U��l���K������d���+<�y^�My����o�{�bI)[�Y���3����|����}�y�k��;�Gs���������_N���������{�b�R�,��<;���r�Z,w��sz�����&������l��o�	W��z)Z�~_j���b���R�kdh��M��qp���i��47���&���L������L������
�m���U��&��7���R?s�
����h��E��J��V7�X��[��b�����Z,H��n?.H��nE������~��Z,H��nj1c4.����r��2x+ZD�d����������[��9����2�E4�1`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� �p
�.]��O�Y�f�����������7n���g������c���
68�
q1��BJ!�� 0!�N�6m}���;����[��9qqq������k��3���Y��� //O&���ef�J��W}1��BJ!�� 0!����o�������b��=��o_��W���+Eo�K[�a�����GyD=d���
4}1��BJ!�� 0!������x����$��W�\�fV�T)==]M���;C�6lX��m����O��7�	}1��BJ!�� 0!�K�>}j����Q�N�:�y�����W]uUAA�Z�K�.={����w��]�����_����/�����A[H�b�R�X��T-Vl!U�[H�b�R�X��T-Vl!U�[HK���t
��A:�&�fi����������~�����u�]����fJg>p���������9YYY�_}��!\���[�"D&��t�b�>}������333U�u��A5�y��qEZ�h��H�.���E!��B�h
��������S��r��;�������������gFFFrrr�J��=z����������l���[o��b��B
-�A4`B:H*�U�V��Q��k�}��'SSSe��#G}��k���J�*#G�T�
<�r���X����Z���RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�@�����{w�����~���7����jNzz���ce��
�]a��RH�E4�LH�@��E�_��j:..�w��]�v��y���5k����Dtt���T���Y�B_���RH�E4�LH�@E�b�����������'sd���������aC||�#�<��]�pa�
B_���RH�E4�LH�@����y���n�����+U�������y���C�6�m��j����������E!��B�h
����
�]�v�mv:�������@Mw���g���{�����������_�2��<RRR� �b�Z��B�+�����-�j�b�Z��B�+�����-�j�bi��:�.�A4`B:H���,���2�A�r�-W~�u�egg��N�:
8���111jNVV���_�boe�V����	� �X�w������QQQT4o�<�H�-����/�pQH)��"D&��t��r�o���?���������J�*=z���c���o�G���u���z+��.
)�ZD�h��t�T\N~���G}��k��R����#����W�\��k��_�~jjj��!\R
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� �p������k��S���={dNjjj��������U��=Z-6j��*U����
��/�pQH)��"D&��t�b����^���_�����G����Of�YD�l������uZZ���G+W����,3[�l��m��C�(�Rh
��A:P�$%%�X�BM�?��k����������5����1cF�-���{��q��/�pQH)��"D&��t���={v���e�������V3;v���o�����9YYY�Qq1��BJ!�� 0!���;�{���g���UW]�����w���w���z������#w]}���/�����A[H�b�R�X��T-Vl!U�[H�b�R�X��T-Vl!U�[HK���t
��A:�&�fiw����M�|�����c�J���9�����>|��a������e��C�x+��2�E4�LH�@�3i��Z�j>|����O,_�\M��];!!!11���Vs�-[V�^��C�(�Rh
��A:P�l���W���{�����9m����+�o��Q�F5k���������������rW\\\��!\R
)����	� �X��������j��>}��3&==]�IKK1bD�~������B!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QHK���>}�����%���d�����~���20���&��^D��@��.c���v���d��[W���t��(��ZHMU���?���������j)
i$�

S.�t��r%#�W�Q�FU�R����k��ajjjY�B���j!
RE���=
RE���4��F�F�\�[i\!W2�A:p%;z�h������322Z�l��m��Q�D!��B�h
����+��3Z�h�����{�w��x*(
)�ZD�h��t�����/o�W���{�/"T`���Q�YYY�^{m��������
).��������z��r_D?[����� �P��}����W��]�t~~��W_�_f��1�C�����el��a�g����+U�T��~�~�a5�l��z����x���������������W�\9..��G������1�_�~			e=�B���W������9s����_~y���jNtt��q��lp@�?~��������Q��T�r�u�5l�0555@LpE<x����k��S���=���"%����hT�Zu���2����M�6m����/������399�z��999e<z(O�*v������r:�j���,r�
7��			5j����O��J�c��;������������+W�."##�e���/�\i���������%=z�����d��Ed�����_���M�8�_������M��c�������O/��@9��O�V�Z���{N~���J#�����_��������?~���(i3>��s��1cF�-����{����1��'))i��j��������:p�����Y�����}�v��Y~���eZ"�zAAAY
�'i!���E�������/Z��i���T<��#�`����R�p:��������,�x\�f����qc�����������;J��i���{����u����y���N��pw����6l���#��;W�F
)���W����W��]�t~~��W_ &���������;{��L_u�U
5�K�.�{��[��O��7N�>�^�z�_�(��1n����h����+���K��>�-���+U��^�����i��|0##C�(q8s�������=|�pg�������'''{~i��w�/^���w����P_���8�OLL|������e�����,CLpE�4iR�Z�>��y��'�/_��k�������5t��^x!��_�������w����o���Ll���n���C}[�l)���t����QQQ�������\�r\\��1��c��M�B�_�w�2�M�&��h4j��f�����?��n���L7n�x��%��&�p�P�-��3d��~�AM;�+��e���4--m�����s�� &�����w�)5��Ur��3&==�Yx���S�NU���&�	D������|����[��n�-�a�l]\���W�=��_L�����?W�������O~,/����eT���z��_�r2^[����7M��K�5����&B�82���@����O
\8]��D�;�����]�|��t{u��E?+�aV����'3����Ye2���Wo���=������M6l�g��e���ugm�w�g�3�~�������-m/^>|����S������ �?�����
���V]����~i�X�P����O���/�Vv��9t������s��5=P{�K��o9���3����5�Ji���OVjj���cccce�����4hP	U�-�lC�����;�����u�8� �p����cX�UV�2� �/V�����sO�^��~��%�
���];�������N�_c%�*6d�R�;���~����r~���{��������������E�<����rm�Y[)w����RJ[��/�h�����q��T��J"sC@X
������3g���]��7��P��Uk����e+5j�����'��A.��b;p�����������C��������{���`%{`	�X���C�����L�p��}��U�����G�wG~%��@I�����{r-�5k�������9�%sy��� �G���w����qqq#F����o���/��a�����S�Q%E��,�c�������� �2������'N�s�=��
6��/Q�+V�x���=#Q�t��5��]�v�������~:u��s�~�8��_-#���u����g��%c��}�{mW=�eg'N�8y�d���a����m�&�;����|5G���GN�Xg_�����3s�L5S�SC����i�g��:u�=���N�i����?%%e��	C�u��?��u9\c��MOOw�=�2S^&�5JN�\.9r�\�^�aW���y��LNNVs�Z$���w���)S��i��:t���{F�����v�Z9{���������3.\�(:�r������z.?u����dO�,x���D��;���,�V%wj�K�.r={FbS��C�/n������
m0��)r�d`���%l#�;�H�C95M�4�_���?u��{+]������#�w���j����_�n�Q9��&M
��B<�S�����w��)vO��[�"l��G,�2]�f�����F��pVV�����	N������dg[rf�:�>P{��;��$��]�|���� �aROe�\����}%�G�L{��y��,;����?���Z�������#G���
4o��g��2g��%��#V�N9�j��e�d���>��~���A���Yx��m�s�pu��UM���\����V�����/���K�"�Zf���4n��o���>��t���N�������]w�y��}������o�����}���x�����������ukY&::���^
�-�`X,;p�r�/�{�n���<���E��u�]�wr
�y�9j�rR�u��f����o���Z�SO=�~�z�j���UK��gs��O��h;pi���w."}��D���c�\�z����s�9��X5S�G�5^y��w�}�E�������e��p�Y�zuy�+�<��p�
�����������{�w�.m��>���yI��aC��������'�x���_WgA�_m��.��Yv�er�d+C��G�+X���B�3��=_�����6�]�d���+e���_|�^�z%y����p=�Hj���<���8���p=�������")���W_����du����L�����:N[C?�S�����w���;����U�\���W��{7�t����'Oz����29�r���!*S��Sd����=e���^�;r��������?��H������2x.r�U�\����������w�1w*��2y�+s�jQ/����?�N�D^�l��O>��L0@��|������g�r�=
��������<q�p�
���V�4i�6���$��	��zq*/����G&�D�5s���@��-n��Er'=�Z��H|����\�1u���o�Q&��e.Os�e�����er�E�r"�1�����3S�(GC^���-�!**J�����{�:qZ�6Iz-��=��'�|�C9��Mu���[���=V�T�H
�;��(:�U�V
��_
�������m��b��G2����o�����=��[���;�2G��!Z�j���sj�����d����?��;vT�$A�K"t�x�O�<�Kc#���g�W�����?#n���N��nh�0�M�L��NY��`�;�H��c��=��)))A:p���V�"�����E��[o�����2�a��.����_���C=�PxNq��+�������\ca���#�����KTSSS���dy�����#,�����7u�t�����9S=�>|�v��2*��S��Y�%!/-��U�����Re0]���+9����A�S(���C�����#}���Q�R��"�Z^�93���L����@.3y]#�"�+�J(OR������Y��Jyy�^���<g0��O�:5x��W^yE�����'����zH^�Ij�"����������%�V�}`X,;�j����]����!'BN��z�C���&�:Z� &L� ��JF>��#�F��XQ/EW�Z��];I���s�����9A2w�9����@��W��.�9������Xv���"�w��I�z��?=��o�}�d0���\0���������6]����#��)S�4m��rU�����9#��k����T7��N��J"��G�J[2~����:w��l��i��-�v�mr�^x���E��e���>^����
�)ru��=��e^V����[n���a����Q3/\� /��;'GX��>0�;e���^�x�^����8��B�����.rg��J�;p�vt���;��������i�����jy5�����{���h�7o^�Z�<�JHHx���=�Z�`�z�(����?��O���s���V���.�h����P^��C��9:r���9s���I�d�:t�lN�?8��i��b��GEE�������Q#--MMw��Q�|5Zy����g�@�J����o��v\\�g�M�4Q/����_|��#�,\�P�W��]�:py�r�
��9�3���{f�����iGL,;�H�"P�^��������G���+��r�w;��R/�����?�m�$Bg��G�dm��Y05-���|t�*X���������/S�p��w��-��yc_�a	�g��G�V��A.N��l��>�8q��H�z����K�/�V����_������z��p��3���?=�Rs���w�^�5�<��^�f��>{�������#,�3�H��+3�M�������h��2���/	�'� {=H��y^���+C�p�����V���1�]�����w�w�}��5m�t��%2-'b����������Y�\���o���x��w�u��	Q",eA��g����G{f�)����c�y�(W�s��y	)[��D��V[�z��;w��^�z�Y��J�����(�X^]�/c��!5V�B^r�h�"Z��}`X,;���[�%���%G^���������];9�r
�D<xP�V����,��R��x�����.�w~�Q�}���y�M{��1��7���l�������w�w���	�d$2�w����{��O>�
�k&�x$C!��3�<3{�l�`�[q�6m��5#Y������}4��k��Z��\3�t����g!H�L�D�,;�H��-[�<��C��*OF��f��y(qs�����9_���<6�\�L����N��D�/�zh�0e+�9����q�4?r�k�d��u�'���IJJR���V��2��W�z����P{u9�w���r���>s��UvG��o�dE���d���Vr�^���w&�������e0���9�v��U�a7=0�;e���_�;����r�I��_���B?�������W�{��E�,){��o_��\���(��Eb(�����*W�: �}�����[ny�����a9111��7�����L9�Z+GU���8G�:u�.����#�L�_��N:[��p��7���������'Q�*���~�iy
+']�)n+��{��������x��7���U�C���e.A�l]2�~Y^P�l�R�������;��;w�	���k������
4��S�����
2fm�t������v�{�9y���I���.^�X�
y��0a��Pw �<�|������S�X�����.���b������<h��>V2�V�ZId$#�65�Y��^����U>|����.���J$+�Cy���)!���
V��G<g�-��2�
���t��|��)����9���/�z���-v�����-�R�{�1������Y������=HO=�PxV������wV�OI����g��nJ��o�dE���P"����X����:+q�#(�(�4�ry���>����P����������%UE��Q#�Q���!�>{.r�U���H���E����]������%2�n�Q�2\����HW��|���Eyf���V����������G�C�6��|xdBa�J9aID����`�<x��~�3��Y��^ED����C��'�([GO<���|��l��h��u��5m��
�x��*�o�p�Q��P�K��#/'k�����i���m��1**J^}�����P�0,�
/�[�����y�r+�	E9���/�#�S�8���x�M�o�P�B��Y�����}��j��N�:�7�a�?�i���U M�&dX�I=D)��Y�!x>h���@�Q��^(<v� �-����6����u���S�j�l���P��XJ�[��3�[��`�F�r�n(b<+����Z�Ja������������(2�(�_����8�}>%�D�[~������"77w���C��={���B�S�8u(�-���%P~�!�8��{�bv�[�����5�rh�����d��e=FD���3��;�M(�1�G���n�&�����oi�M#��d��#�;�gg{+���^�z����9���2��O?]�hQ(_������D�������/�V&�\r��T��J���e|��&��.�C���=u��#Fddd�].�_y��E������b�
);���o@����x���bi���{+���T����x�b�h#����s������OJJ���"��v�O?��W_}���v���i�>}�4h��}����!���&L��l���s=�;�>���'�(�Q)����_	��7n���?�������2����_4o��=�o��O=�����
v�������wD�n����+�������Z�j��F�z+=6���M \�xfff\\��#���[5G^���a�����S�Q��R#����C�ddd8/�e�!C�x�\:q��=��SPP��9t����������9������F��m��v����rwBe�2$��gv�.���'O��������Y�f����o���v�J\�����Yl������(��$$$l��E&���kY 66����� �u:�2!/�G�%�T����G�)GL��_IX,;��]Y���_��w��.��
.����1c���9S�\�b�s*W�^�i��b�QN���g���i�7�;�U����4N�,��"N/�iB��q��6o���`hJJ��	�8�F
F�&'';����������G�
u��I��{��K
�L���W�^��9}�N�r_B�A�]s�����O�.]�.HgT��t8���x��!��'+��7v�X����4�8��g��&M���_��������w�b�u��y��,#�"����]�V.�={����{��]��*(�<''G��k����s�������#2�A����g��2g��%�����SG��f.[�Lf>������������]�5K���m����C�Rd���#���w���5RoU9�v��Ew�u�l]��3�� Eu�u��2�����^zI������/i��������/^�&�x���_]"���c��=���=z����a��9E<*p�it��y2�s��m��AV.�������;�����[��L������W�5^y��w�}�E���K����t���s��������,�e #�����)��<��7�T+y�����_|�J���m�QK������v%���/���y�T��$���d�W_}U�ay%.��\���oW�@V��s���T1TM���+eI��/�X�^�P6$-\�Z��9�yy��������q���N��~����\� e�������.f���+*��p������s����432xY��_X��$m:p�7��&]�Tx�{��z���]��z]�\i�������{���{���v�r��3��.8~l:p��N!�F^���g�}V������?�9P"	�zSf>���21`������/��=k���i����c�=&u�O�>��1c�x"EO�q��y�Wx�q�n�������%�v�8}���7�(R���Vk�W���P6���C���cG�G���wn����"��0u�T)�2�@�[mR��=(��I�^���S�I�z��wE�iT�Z�����t���YI��u�o�O��2��Ng�<������{�yDcTT�<��G��`d"--���oV�������v%���/���~b�tD��x+�K�(�{�2*5S��?������?�PjE��cK�c�2ri$B����������[n�e�����dl���S�����?���[o�����r�
6��}��0]o�.�y�
w�����1���^D��z�l���c<�@JJJ����7��k�C���+-���M�6��Ly~*.�|������w�2d���V�����IL���������dB���)���2��i~�5���_���x�
5��w���������U�����8w�0�>J�'�e_�s��H!��"�
e�o�����@�H���I5�'NDGG���z�G���6�.N=D6�������$,6x$�E*��lR��2]�S2S}��u���7a��\:�����t�C�}��8��.����2�D�	��#�>��#�j��v��Io#�r�����}�Mr��4*}����H/!m�\r����+� �r����dT/���j��J�<��-�y�
g���.;�� D��z�i�������\o�}�?!����+-�������<��M>v�X��&���v��IMK�j��(J��~�����{�����7o^�Z�<�MHHx���=��%�u���/\�P�zuO��&==����5j�����;v���5H2�:���&��w�q��c��(���'O��Sg�����#G���3G������bx��9k����$,6x$�E���c�'�t�w���)S���_��W_}������?}�2�J�t�s�Y��+!,6�e<��wD����5��/�x��G.\(�W��]�kv�e�rT�L�iCn�"h��
����8�n����tM��9��|0q�D� E��]�~�4]�1:C���7�y�
g��I���D�����3��O
r�����w�b ����#g���9��?�����t������TP6��������H4�6m�d���B�u�������_}FBbr��wn��=##��w�ui	��W2�Y��n�������?���������#G���k�Z�n-�F^Y�0$�WB����k�N�$��<x0�+2x���D�����[�h�&��m���-J�%��'���������a��� UZ�>�KJ�<��W^�6m��+O4RW�G��}C���+	�M��Ay��'��?��'�t�efrr�^=]J�u�������~k�}�n����O;�@qWBXl:�R:����?2��:�j��o�����m��=����{�b(���2fY��b7$�+�y�g/���t��������Jr���36ii�Do�������C;��u��� �+))����w���������^i�KX����{��q�J��E��z3S�Y���{��O���U�
�e�j��Rc���{g�L�}���������'�|"�]���@Ea�](y}}���JITo]~��g��[n����_W/Z%A111��7������:�.�l:`s������Vbb�c�=v�M7���K����+A~��n��F)t�7��P�>}�e���@���������B���{���d%��_����l�=-{��U��o�Y
�����@9>|����J"5��"�����h����Q�zd=�t�������P"y=�>�������d�.��s����<a�]��y��o���A��Q{-?w_z%����PJ�$�vD���9�H���qc9��=�����4i0�P���:eyi�����d�����oZ^I��V�Z�Z�f���9*��J^���][��v�[�l��%���������?������:�@��N�Jd�&LP�N.��B�z�
�������H�O���U�
�eM�wI��=��JI�-+|��g��V�������~=PQD���M�D^,K]r���A��\]�7���Q��OE��/W'Qk���N�&���Y��v<���
V�Z�����#�V	V���z��3hiv��[����x�[��i������:?�����,`��ru=h;�n����U+333���\�w�QL��
�M������Y�����}��j��N�:���+��G7n������S��=x�������yd��[�'���������`7Y�r�?��u���S�����I�9�����d�M���A����Q�����
�
sN����V�:�Z����/:t����MUB��m���X�c�_L�����Yg��d�Ar���k�\����8��V*�LQ{���@c�2ICq���0�5I{� h��2�������!KKy�$XX.z��G���}s~���>f.�������Y�������>������^B!�B!�r�h��
gk�[~p��.~!F��������[}pm��&!������k:�|���:B�M�Fm�8��9������%%%��W����/(//Wk���?����<��1�>U��466���v��m��u����RN����M���2w����y��v���0:x�7"���������Z���dgg_�vM���!�HsssVV�Z����Qa/���&��%P3������$l�2�X�-��DFFVTT�5/��BBBB�����h�n��E��Y,`3���������e�"""�|�M�=�����6�5_�~��Q��/_���&���bd��}111j��~>|��=���Ks��	!v�:��������c���u�����Wo��I��!���������y�������&�|����W�D{l�"�5�"���[�l����*�>h\\\���S[[{��
��������N4t�t:���7l� ����'��t��h��;w.44"d
����ojj����>---���k��mll��	�����.;v��?������g��q3������w�iWm��������7��<�@m�@Juu��@T?~\6��u+��W_�a�`��w��x���,���~besS��������_~2d�e8ff�Gs�^gj7�����QZZ�S��;�,m^RRRVV���^rss��=+��}�2
X�X��?����;��Y����N:����5�����_�=F�U�V��$����v���������=//�#�i�\�A�o��V���^Pbb"���,�a��9�1�����C�eS�Hkc�0`{{�.����x��#�`�]�t���c.\��]�v
0`���111O?�t[�^��-"""%%ETvtt��Y�f�N�z��#G�������0b[���<���i����\TT�S	�
�h���'O&%%�7.--m����C4@?���8=**j����A�B3����:a����_�u�����O<4e���)�QH�/��D� D������Y������O�>�lhh0o�h��%8k����\�!���C�B�_|q��1m.tRP���1����{����4�����X����S����{��������Z��!E�(�_8�^W3�|$H���1����t�z��TV��3������qfi����C\�=z�CI6$$��������2VVpppll���s�	�v�)��������p�GQ)�?���?�����8�vk\������J�w\�A\���}�
/2
 �|�
ZB=D���G��8,,L������o���vT�*F�M
"��K����xk�k����]�(.����D�4j����k���@����������t���"����o�������g���RD9+q����t'�������%�HC�=��#{F������w�����Dd7+:dS��.����K������������8�)F}`�g�}VE�-Do�����^C����>���7l���X4��TYYi:
�~��t �1���
�|�I�Fx�h���`Z�1�#G�� e�,X����B���qJkk+�z�j���#�^,�RQ6����+��Z��1b2�e��a���[��\rtVv���Q+S/���8���o�;�v�Y(PPP�
�����LM����E3\
�%�)����U'�������u����0
+V��KHH@X���[�j����s�zG�	�D%���+Wj$22R�����:u���\d�*������V�� ��5B��
�!c�%�(�e�=z����%�c��y.�W�Z��"��/�J�=u||<����<4��y�/�u���� N�0�a��������_������TwI3NE%������Q�i%H&�������	�_��=u���)�h�LQy��u�iW�^�@���@����

�s�����t5���=`B�RP�ie�,�����1�}����&M;�n�_�3�\�O8�^���f��)�?��3��t3�K���NU��7at?;�,��Qtt�P���s���a��������Xe����������t
o2p�kAVb�����.������3:�Un�����z����y����,�K�>�����#�������fq8��SE����l:�jU�5�VB�5�*��1�B�2p�S�.]Rk�����?/���G4�\�V�M��~����z����g���i�f;����?�*���0f���?~�Nw0�[�'�|���(j��� ������{NW�`~��AQ�r�
r�nF}����h�H����>�������HNN��fSb:��9Z�`��f���}��������J��@����b�\G����J3��eY��������n��}����Q��c�^�t��%Y�M��������8�z�����py_444l��u����w�F����O7]'������E@���
��#Gb�����K�3p����}��}�<����;�����;��ez�_�A+A*��_��@?���U�;g.����G�X�BT.Z���A���%K�Y<��C�7��K	P��������[ZZv���m5�����y��Ngyy9�T}}�����^Q��`���"Z677���I����U*��O?�DT�����)S��NT��������&�(�.�q��ZYY	
��A����N42p�#�Sd������_$q"D'''K�N�<��bcc;5�S�N���:;L��(0��s�^�v
C����Lm8g��)�L(v���
S)�k4�(������c�=�}������t��!�Y�r%���:"lgh�����Y����u�����=^f�t{��������Y�f����%����NU��w#B-�qf)�����������	�p���$��hf�i:}����N�Mn����`���
	!���$���d�Fk��������9s&��8t���K�j3��[o�Z:�7��GA/��n;���#��3s�tT\�GEE]�|�� �3p��u�����XBH��]�,b��I��wG�!~���i��aS��c�h�H�m�6%���by��Y�"""L{�JE4�=�a��A����
4����_���999���%%%�������������m���lT;775R l
���7�g���H�!:??_�

�3���
������K���~1{�l(9v�Xy�����������^H���R����g��3f�7yL�����#F@�+F�a1�����K���� ��������C��_�x����u>|��O�<��������Vv3��~�nD�e��,��������_o����e�����M;�^>���MJJ������3e��c���*n2pSk�Hs�g��7�0a�`tt�f1�H�E�h�T\���� ��+��bj\-�����\6!�� ���G&�1FC��K	P|�<p��
 6��F�/G����(���b���>�N�������m��Ws<���z$��q�~$==]&����l��Ge�\������8�x�i*����kv���e����w����/11q���<�@~�I�.*/]������R���6r��C��^�0M):�p8��Qs��,***---...<<\>��/��!������h�q��7��(X�v�|���������E��##��\mo��f��jxN`����H��7�������"L_q^^^^PP �vioo/**���,,,�ok��o.B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�=���#
endstream
endobj
43 0 obj
   25770
endobj
40 0 obj
<< /Length 44 0 R
   /Filter /FlateDecode
   /Type /XObject
   /Subtype /Image
   /Width 982
   /Height 537
   /ColorSpace /DeviceRGB
   /Interpolate true
   /BitsPerComponent 8
>>
stream
x���ytu��������s��s��WqDdqautDFQ���(*Q�Q����}�A
��a���Id�&��!,�����P�����$��N*����T>]]�����w�N��������k��-))��=z������~zqq��.���w���n��������
�dD|]�<���.�&(�~�:�U�������K��4�]�v���{�����Oo���+��
�z��*p����699�8�����q�S
��K��O>�d��5��t:pK/���o��u��{��������dDX~��_?9@��

����)@��g���N�8a��:p��U�V�b���:	��:p�r3~R�������a�����^=t��Iyh�����srrdPV��>�]XX(��_�~��}�����MMM]�n���{���,;�r���;��m��]�x�u��������c�ht�W�^���<h��f��E�H�BAA���������;'��7N����*������$7m�t��!�Q�O�g:�g���
����~����7��O?�dy��4�r�e;w�4:�8�2O9������/_�l���IP_�%RRR�����N������6����]�3T+�b���&�g���HzEY0`��S��U���|������j����s�N����.�2F��o�K�K�����hLL�4x�'9x�`�G;5y����?����K��f�!��1C->|���<���S���7>��!kN���4��|��q�����g��{��iii�S�����y=z�8p�����J
2�XAN����=�;	�/�\�����[���W>���]�}�6� 7�j�g�Vg����
<xPu}�����>~�����I���~��w�k��r���W�^���Tmp�^�6l��������F��QF���.K������~��lA��7��g���n�����N�>����999s���o'O�l9F��c����O�>��X>�"=�|��7�H��x�b�v��)����Si���e���/W'J��������K���_|����)Mo��}������"9���
#F����e�._�,�2s����?�p����/����e�Q�Feee��O�8����j6���f���TJ��i��i�g���������'#�s&k���ei�C�����I��~�OuMF�(-Z�~�i���u������s���"������P�����;>�� }�4�jD��A���t��c�������1���������"����(�$���D��T#�g~���Z��h�������s���g��	���+������<�Q��r�]���)r���O�[��J���.ru��q��M���x�j���6FV�Ze������<l�0���]���9s��oU����h<W��v������<x�|�r�����e�����N�2%��Ss�w
�Ai��~"����0o��[i��,Y"�����O�����W��%%%j���$���Yyyy������1�����L�X�����B�<����_}Zf��I�7o���(k.����� ���e�������?�m�EG�%�fdd�r\\�,�������x��s�#��w��D�=��������[8�
�L�]��|��>O����������;!!A���o��;�����;v���K
���s��i��|�-[���^�}����@���.���y~��;R�T���eR���er=��79�^t��u�[�3�!�^�� �k�mQ27��=�#G�t��C2j���-3��T'%%9�c_��W
���s��9s������c��0)�$wx������u��^�����E���e���������0������-
������]&�y'����<++K��������;YHHH�����lG�=t�����/_c|��Nm���>e���]M��.G�~�z�����c��)��t�����N�l�������}"�������'N��-��S;v�k����M>0���'N4N�0A����s8�������a�����rt��W���k� }���]���M3i�O0������:uJ�9r��O>8p����n���:��:�������$��5�2�?I��IJJ�e������X}����������2�n��P�e��A�[�)u%�����\����|��W/�sx:pP}�t�6lP������t������/�����_+V��={��r={�4�g�K�.u��)���
&��W_}�`����������?1=c����;�}�'N��^*>>~��U���~��������N�dee���2s��e��I�?t�P��m�{�Av��B}�|�����/OLLTUr�����T���~+-��b���r���`v������N~��9���oY�����}i������O�>��OW��i'��<7===����'%%
4H��/����G�|�Io���jw���8����O�4�w���Di8�u�'u&��S����4i������_BB����cW�Ji����BH�.o=���������3~�g;��:$��Qj����?I��~��'cy���O,��6"������Ez)�qW�o�w�
�N����6��&M�d,���0aB�Z/��������TC4�r�Bx�c���,YR�'��
����{��v�v�U���W����	����h2e���C�g��<y������?�|�rY�3g��?�h�c,8p@�4i�W_}�����/^�(��2eJ\\�w�}��������,Y"{��>|X
�;wNe����;w����J����d��Z�����}YA�]�vmQQ�Zg���k���:u���{�n���`���6mZ�j��p���[�lQ+�e�Y�f�Ne�T<��� {���s�����;�|�6m�����@���e�jJ����\��M���G���)�t�������\�R�13�c1;}������f��)+�l�����(gF�Q���_/�KM�q>:pP��{`sS-������\�"��4K�xKg+-h||�}ei/]�TXX(M��/�����s�1�A��t��;���|��d�����ge����A��x�s�v�W��I_w��	��_�u��]�zUv�`��1�:��}���2�.�[�����U��V����^���c2�o���K�Jo,��'K*�PS]�bENN��T6%�� ������eyh��Ej/�v�Z�x��W�+���y�2g9.�������cW[6s=3��?� ����#G�lY�������/{�3 �2"�BM�q���a�:p�����m���T��8��1��V�'N�iM�-7�,�X�\�?���q����9#��y#����_Z�����Ai�d#�~�o�o�n4���U~���y�����Z7l�`��e���;w�BBB�4�����Zz��t����U���4���_��l�2�q�HVV�qN�!7v-���3�M�����k�����������e��C�w�e����7&�_��k���8
�y�0���8v���<�q�9�6��������[��������|���-��R�s����WHMM�?QV�p=�R������������3g��6m�4��/66b^������g��5e��=K��2���'�7�X�����S�B:����;lY����h9]j�q���I�:pcP��op��}�_��;�={�|��7���?�x����{��7r����S��������Ay��3,+8�����m�T����o�������c����?���s�=����U;*1V.**��U�b��r*,X�j�*c��v������l�b��4��)���L���~��*����6�ka|+g��e9c5�4��{�?��������'��?���o�����(e>.�������5k�����
0%��Mi||���H_��p��[���ZW�\i�������Id/���W��[���]�pa��]F_*��=�/_�<--M�?~|����]dggO�<Y����9��]��,..����������6m�d9{e�����c����?;l0���V�������q\���7gO��j������\���JG�u����d��\���
�O��/^l|Z��6"m�4��/��w��I�sek�p��e�F�*����3W�^-��4����3~3!!A�-[�H�~���s�CJo�y�f��T��>V6"�2�3f�={��Gi�ez����.]�6m��5kd�����-���-[�l��m��L�������v���@f"����U���`�}-�o�l��2s��lD����4�����W���o��9�3�#;�^�������4N�oe��v�:p�����f�����D��d�=j���]<h|���������O�s:$���
��);��Isx������N���/Gd�Cib���Z:R9LYP������O2~���9�={��?�b�)�2�Q�lS�����H[���L[�&�W�;����Z��-((8|������aw�8@���4�)����/^���Zd�=����u���x*�������V�X�m��������������U]��Hw���T��������;w<x��fE��t�v�>I�I�P�F�u�M7���?��G<(#'O�����q����S�f��-[fddDt�@U�i��z��}��w999������{e0!!���_6�v�����k����jm�����c��Tm)))�W�V��.]�Q��,t���G�#G��0a���22g����h�ZZZZ�
"5a�3���������C=��q����7�|�I�&W�\>|�|�V���U�:�r��g�K/�t��Y2dHff�o��������wo5RTTt��7�������(iJ��Bc��m<�����E���
4z�h�������j�
���>}z��MO�8a��t�Miiij�U�V��������5S#+W�l��y&
T}��m��/~��S����`lll�F�z����E��R���������K������#=q�J��iS�����7<8...??_�dff�3f���III�.��g{V��);�Z���%��h�v����[���4��%��h��O?����G#87����Gpn@�h��W���V_�P>t�@8���D�8Nt�@8������;���+������v�h�'��+�ZQ�|[����o�G����+|�o�}���d|���F��������HO@e�������ms��o�	/E�����_�� ��.P�]�U��h��W):p@�E Ht�t��������U�����K�z�����<��8w���/3"��h(v
T�81��8������b���
���N�JB�'&����G8��� M�o��# )��4;pb�:p
&�A��m��~=e�cFd\U����jII��l������K���HO�8� ��[P0zIi���V_��Z�U�s~�o�%��b���t���������B;���~�P�I�G���V_��i���8� iv��?����""�_F�D0"�^�UKD:���	8� iv�����[D���T-t���� )$����	:p
&�d�(L��9&����j5$�������������Q�IA���t�L8��~_k��jH����Z�V#)(7:pb����	G�')�5��T����R��+4Q0���$������J1P�T��B��ORh-jM�@�R}�
~���>I��@����������j�Z�81@_A���BR�*"�S1P��WP0������������z�����<�V#&*�

&t��W�I?����G�j�����=a��������`rr���C'O�|��c��'���-["4S8���`BI!)pEL�	�F���n��o�[�.]n�����{�`||�o~����;?����5*...,,����(�U�VBBB�'��`R0��I)8t����z~l��qyT�FRPn��&b��?~|tt�Z>z�����B���W�^-%%%��w��-[6m�������~��HML
&tx )��o�	W����b����R9~���7�,�j������>|�������G�����9w���~������`R0��I	�~�/�IA�y &��	*�����^{m����|�
7��j�W�^���8p����(**���~f�Bzz���k�T��L��k�T��L��k�,���L��k�����*�Iq���j$����h"&�'Mi�Z�`H���{�-^�X}[�f���<���{�#F6,&&F����������Da��,��tx )�����h"&�.\���K/�����_����G�r�6m�K?r������	��	H
8B�1�DLq�/_n��������:t��?�������Z�V�S�N�>}�����|+������?��	���I��$�����h"&���c����d�����>�����:u��
j�Q�F��]�F�O>�dFFFDg��C��`B��B�P�@L4A�`R0��I�G�y &��	� Q0)�������#�<M�@�(�L��@R��j��&b HL
&tx )t�5�����z����j5b H(��(���B�P�@L���F�V#&��������`x )t�5bBLh�@��D�D0<�Z�1!&4y�`j�`"H
�B���<P05Q0$���FL�	M(��(���Bk�P#&��&L�x��I��@�b@�
&<
a����Z ��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$��	1���I���BR����(�L� )$���-j{�����/�G��5bBLh�`R0����O��~M�Z-�7Y�>��dS�����j5bBLh�`R0����O
�~�/�Z��Q����&<J�FL�	ML
&t���I�x��[}���	1���I���BR<����
&:H
I�$:pb "(�L� )$�����	���`R0����O�'&"��I���BR<����
&:H
I�$:pb "(�L� )$�����	���`R0����O�'&"��I���BR<����
&:H
I�$:pb "(�L� )$�����	���`R0����O�'&"��I���BR<�����0`@��}����'��D
�7�N�:5k�l��eFFF�&��Q0)��ARH�'��T]���}������<!!���_6�s�����k�������m��c���(�P0)��ARH�'��T]�n��]�N��\�{��1r��	&H�-#s�����V����5h� R����	$��x81A�UPP ��[J�<��C�7���y��7�4ir�������������5jDj���`��`������7�y�/�G�-$�������	�:s>d����L���u����0�w��j�����o�o!==}���`��\�Z��`��\�Z��`��\�Z��`��\�Z-j����K
��CX���%��k�Vs���j���x�4�ai�+��7�����A�F�m|�;;;�V�Za���G��������_����-�$~^)b����t�Miiij�U�V��������5S#+W�l��yD&	;
&8t��r&e���DED��W��A0w�����5���Gttt�-�J��_?**�K�.�k������d�(�t��\��o�^}����qyT�FRH�'��W��A�P��v����������W#���c��:thRRRd�'L��j.���}�<�V#)$����+ELT[�����X*e\-��(����I����+ELT��o�	/��(����I����+ELT�S������ )�x��	����RL�
��� )�x��	����RL�
��� )�x��	����RL�
����I9|1g��#}����<��_���W���
��+E���
Z����������W{t��"&�:�JQ0���W�ZT��h��W�.�G^)b�*�����y�EeH
x���W���
��+E����
Z�R���W��������9 2.����+E����
Z�R���W����{����*:�JQ0�+�����Tgt�U(&"��
L�������Tgt�U(&"��
L�������Tgt�U(&�q- ����P�����h-HJuF^�b��"��
L���z��u�����<�V�� )�81����	��o�	W��Z�������DN��Z�W����DN��Z�W����DN��Z�W����DN��Z�W����DN��Z�W����DN��Z�W����DN��Z�W����DN��Z�W����DN��Z�W����DN��Z�W����DN��Z�W�����Y0��~���s��R��Q����U�$��	1�I�`f��Z��j5
&��h-H
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&�����6l�`|���<t����'_�pA�dggO�8Q�l��)z��	$���1!&��222�����}��o������t����g�m��Qqqqaa�,DEE�`�Z�":����I���BR���T]k���[��<`t���7_�z�,����w�}[�l��i��?�MLL|���#5[�`R0�����"&�U�t���[J���U+;;[-�������G�����9w���~���L�(�L� )$��	1AUg��o�����b���W����8�w��j����g?�YD&�
L
&t��W�����3w�5k����S���w1b��a�bbb�Hnn�/�K����w@�k�T��L��k�T��L��k�T��L��k�T��L��k�T����[�T�����#�_$���1!&p$MiX��
`�������Q���M��R���j���#�BD&�
���Y@I!)pEL�	�:s��C���999����j�:u�������_��2��}�����l�F��`BI!)pEL�	�:s~���G}��?�y�:u���G�U�v�5j<����h�G��`BI!)pEL�	ML
&t��W����D��`BI!)pEL�	ML
&t��W����D��`BI!)pEL���K��+\�������}��{�@RH
\���_�m4�}��{�@RH
\��$@���*�&�
��
&B����"&��	8"L�L�I!)pEL�:p D(��+��BR���x/&t�@�P0�W0
$���1�^L����`z�`"H
I�+b�����!B��^�D(��%�?t\����bB��{�@R����q�#&��	8"L�L�I�^Rh-*1!&4Q0�W0
$�{I���p����D��^�D(��%����b@�{�@R��Z�
GL�	ML�L�I�^Rh-*1!&4Q0�W0
$�{I���p����D��^�D(��%����b@�{�@R��Z�
GL�	ML�L�I�^Rh-*1!&4Q0�W0
$�{I���p����D��^�D(��%����b@�{����5��K����}U$�{I���p����D��^���~MxE�D�I�^Rh-*1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&4Q0)��ARH
\b@��	$���1!&���'O���7n\�:uj����e�������J�`R0�����"&�^������/�GN�:U�v��������m�v��1Rs�
&:H
I�+bBL�%�:u������#'L� -����3'::Z=�����A��N�j�`R0�����"&�^��C5n�8&&��7�l����+W�.��Gsssk���ViL
&t��W����K������[�n=}�����[��x���g��������Vs-�j5���Vs-�j5���Vs-�j5���Vs-�j5���Vs-��>R���Vs-�j5��Y��Q5@RH
\bG����o����4h����g����k���YUi���Y@I!)pEL�	����nJKKS��Z�JLLLNNn���Y�re���#7�*��I���BR���xIlll�F�z����E��R���������K������#=�*��I���BR���x�������F233��3t����������`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��&
&:H
I�+bBLh�`R0�����"&��7n��:u���Y�e����NF��`BI!)pEL�	����S�k�NMM���i��m��#=�*��I���BR���x��9s����rZZZ�
";�*��I���BR���x����cbb�rnnn�5";�*��I���BR���x��z�������n��F�:&L��(iJ��)�������~ggg��U+���-99�Y�fjy�����7��|o+**�_�~TTT�.]j������9f���C�&%%Ez.@�6`���}�����������������HTT����#69 ������x��'k��y�-��?^F�^���U�.]��n������g
SSS�������9as������������-a)))��q����SG���eKI��W���	}�������n��?�����������
���������R999[�n��������i��}���P�&N�(����=;���I�����K(���'�=O�:U�vmy+*�m��U�J �,`6x��v��u����1j��!U������EIII�f�-Z�9�aOG����9��_{�����!C����S�����,�^���{�-..����04hP^^�Z�����`��9���j$--�A�>^Y�zR��}K������K�.Y��U�VR!~�a������_���F���[7i6�m���c��;w�����}�����Gj�@I���II����cbb�`nn���>^Y�����t�������{����
J;a��+P���q�
7��^�z
8PRRR�u����g7o���yW�������������D��������o���N�=�a���QQQ�����9�j�:��Z�����/���X-??�^�z�������WPP���oq�N[}�[dggKj�+��{~���[o�u��}���Ff~@�����E�U�V��|0))�X-66��W^�]�y��O����?���#G�4F����5k��W�\��ys�!^Y����6�m����}���\}�u����9�t��5�v��]�ty���5jd�%�K�.�|�������~��e�����36QQQM�6�{��
������/���K||��2�,`���y���?������1���4K:��]+q�0aBvv�1�{����8�����>���[Q�?�o��e033s��1C�5�"�,�d.]-��W_�������WwDz��u5qA�/f��_��)�t1���^J
��>V�R���7���i�]��y{m����������Y�iBO�X_�;|}����G}W�Ez��K��v�{��������s���#=M (�O5|9�W�����m��u;w�4�\�pa��Y�G���+�����[���Z�����'��*��p��v���/�������8����p�������>�${S���|2v�
�"_|���M�*j/{�����MJJr|t������x�Cz�w�����
����}B����+##c����&M�������#G��Y��c�v���'|�?���C8?���K�:��r��HU�D�U������O��������=�`�s�a��������6SN"~����0sCV*����g���[�����'�x��7�0`��~��%K�X�W�E���Z�;�ht�;B����Y��M�������������C�	�II��J��[Bq���|��w��P4m�t�����
�������n�^m;p�����������k�n�~����8q��~0�|O,�C���I���	���:t�n����D�NZD�;�+����{WW���k��k�}�������9��S��R�'�3"�w��/_���3f����F�^�*#�G���w�Q%E����g����1~� ����%%%���={��{�)..6F�l�����E-�^����_��D]����������e��/��"..����������L�4�x���KHH�9�����5����r���M�1c�����$�|��]r��-***R#r�e>r	������9a���s��A9�F
�Fk��m��v��]��2(�^�V�������S�N���5�f?��w9]'N���6�xbeP�&�7N.�����c����B=j?�j��o����T5��ReMz�x�B1s��:������u�]�����7l� W���������e�s���r������%6^J?j���OII�#5n��	r�%�����b��*�S��z����2�`*�q�����z����c0}NqS����6m�T�62�<��P.�/����O�������{�9Iyh���r}�/_��l�:��i&;��?}�t���!�Sa�����ys�0_b��y��.��w�a��,7j����K�f�����y���������}�
�����}��D�Kf?X�[B]�U�V��QI���2�RKe������|'�ge,[�ky
��������������={������Iy�����i��Y�l����=��#r�����+e��G=|��,�� Y�,'�c���)\�{�V��b-���)�����W^0`��E�����<���C�y���{��v���w��D����:TXX(�}��m�(�����K��L�M��\�����:QQQ���������'�I��T99��>��s��.#K�,i����\�g�}V.���\�>}��A��<����Sy���6o�l�����M�����n����\�?9�=KI�>a9��\�2�~�����K�v�'V
�����a�7�x���>������v��lS�.������Hu�����Hn���^d�I�&}���6Oz�x@����m���L�\�?j��d�E������
���H��[B_�xD.��Ebh�(w�]������9^/ui��
�`���&�_��L[6��u������g\�u�a���I����<��\8���p=��3�ER��[o�5t�P9���Q�������}�c=�?�Kl����7������F�g�������w�m�������,O�GX.��p�y����)Y��	�_i��Ot�d��u�%�p��Im�g����_������^,7���0�d��?�V��������Y.�����[�[����?��O���"�Woe����,>\���������e�r�-
�����O���p�|�����^^x�����I�,�.��Sy������ Z��S�N�J����;$w�3�����'�x���W?�:w�����*�O,� ;py�So3��
,s�3�+}������\^�AI��
y#/����������y�P��c�$����=��g�}���C9��Mu�6n�h��-'V
�k$��?��^�[n�����������=z��m��$�<����9����������q������sQ?����SU��4���~��������n���c	� ��� ;��_,y��F^�����`�k�~E����4���c0}~�&}��l�lD0�x8���������������j/r��X���H�q�2���'s=z���E�����KK��S�O����|���<�=V&Av�������%�������I�S��[�o��zT:muz����^�N�8������O�9]2��:���R�^���3����)�W7�qD�N�9u��A�S(Jll��a��#�'�;�,uL�!r��}�1(oeA���r���yi��TBy���o�������W�-���3&c�:++k��Qo����E]��g��w����-��Fn�:&�������rjS�O,� ;��u���]����x��!�C�\��C
�U�y-/S�N��f%#�
��Ss5V�[��k�v��Y�+s��:� �5.�����[N�yP�h��
p�e5�S��kW&Av���"�w��]����ZBa���\�d�'��at��~����B��%�����b)3g�l��UEU0���b�"��;^/�����L��-�����w������L�2�g���z({���^$e�w�y���W^yE�Q��������8�C�Sa���.���n^p��I�x�r-����n��=���I3��\�"o/^�(gX�w|��������0�S�z����a���.��R���&7���������G~���-��s��I��e������jy7d6i�D-�������i����Z%%%�����}-^�X�C�����h�z��i��q�����eK���+���U3vt��������������v�j��c�`<���X&Av�������6�4l�033S-w��M�|5[y�l�����J���[���~||�e�/���z����_�f��?���(��w��#�:py�2�
���5��l��y0��������d�P�J���;���_�R��Ca����4h���i��2N~�G��_��`���n	}Av���X��o�L-�+��UT�];��+b�~����nk�;p���se�`_�a9�d�zX�z#M����'�|2m�4�"�+��6o�,M�4Z�k��~g��������0���xw����Rs�������z��I�x�s�~�z�|��i�-��GXnc2r��Wg����Y���t�'��.����o	�'�
 G=�����J�����&7����qy'���|t��8p��{�=r����U�V��-�e�;w�����?�X��r�����{wNN�G}����_%�R�X6+q?~�eP.��~��={��[E���Ko���[H���$�_��z�����WF WM�+�V�*��\byw)7��Y���X9
y�����X&Av�����[:77W��TK���:w�,'_.�\��G������A��\/���W��u�]2��99���c�9��c��y��we&�v�z�����C��r�d�����x��e^����dG����d�P��������7��d�b>W:t�{F� �����h��w|��[n�{F^����U� ��� ;�p^�;v����Vy1�����k��]���i�"f����a<W��>S*�lD��!���#R�u����zm��U�������?.=y~~~JJ��=�A��i��Zp������A������`��KTT����e�r8j����� ;�p�Z:pyc%w���{gb���?�(��<Q&#o����o�>���vO�9]2����r8r�r�r�I�����_�O��2�or�]a>"y$k��2����L7�����o�H�^���;��U'd�����o���w�Qo��*����i���;��+e�j��U9��G��<��<d���	�����a���^�&����}�����	O�<Y�$%T�I=��3�V.��R�Y�S�N�G�^yq���[�������:����$�\N��
��dD�2���n������zh��E�l.\(�A��a��������O?m���?���svl���9�����~_z�%y���/������K���W��S��u�����^/���<rsJp8v��-���b�����YVp���\�d��k'���������G�2��[��/���~e��}~n	}��-�pV09���'�SBj/�T�:�>B`�"f����a<W���ku�H)�V\}��l���#Rt�r���~����X$�F=��c2g������w�e��IZ�����l���2"o>X�?%��_|Q�)5n�o��p�%���4i�:Fi\�����~\�m�=�N0_YA�B��':��~��[B��T��s�=����\_4O����&7��#Z�x�THy[�^�����!���j	���W��m�\_�/#UC��{��~�(�,�_�
yKn�_��J}���$<<<����J"�["<�
�c��QF�!��			e�DX�x%�� <�\#�N�+~j�K>bi^�{q��7n���U�j^�.����?������P���+���l�����������[���__�}�������W�0��J�)\���t���r/�	E%����%N^�xh^��x�m����
����^���2dH�v�y��/������������C�2�$��_�}v�������	�w�J���������������s����8�6��(��?������������7��sCas���I�&Iq��q�J�$�����|�J�~.TSxBQ	�}=��o��y��/�
�UT�����(((X�till��y��+�l�}Y�}�X��c9T�z�.������(���k�����.��%+Dz��+�^�t`�/Y!�s�����E���"=GxG�����
�%+Dz�P���������[�n����������/�,Y������g���E��#�z~����Y�9�#��Y)A���'_��������������1c�����C��(�����fN���������
�r_�r~Y����)i��W���O��K�.u�m����Y�pa��{������
�~����g��������g�V����Ow���uah������.�*mn���'�|��E���J	�RV��P9;���'?����
���W���['�5k��i��<2d����zJ�N��-{��eJ�/_�;����zv�U�~S:T�n]����~�`J_%��@Y��_�|9>>~��1����7�22z���{��|)5���={d$''�x�/�����.�={��{�)..6F�?~�}�����d.]�����w��%�]�h��	�9��_��L��gv�!���i�f��a��yyy			�������q�N\�b����/���3��'��'�(>III;v������NV�4i��'�I�4�eA���7NN�������c��S��7R&Av�a���������f�r�|~n����	&��;W
�^���������m��1���p������5�����������$�<QV�k)��]�P{d�d�����04==}���R�K�&#+�SSS�g�lez�6m2��w��{w�:�	�Y����W���)r��������$���������/W7�1+�	|9���u��
cG���lD����������s�Y�����O>���<�����_5���N��5YG�E��&�a��	<h>{�e�~-����������J����={������Iy����M}���ed��e���=��#5�r�J|��G>,�V���,[�,w���2��kW�Rd���'#��}����=���Q�Qo�,Y��qc��L��g��I�J�X���e�QQQ�������/i����{��K�.��E�-�y�y��:��IH�����O:��-[����(�������J&p���-[���e�111w�}��C�|����X��7�|s��
6|��7>�����h��<���2	���`X�p��}�~���2�>}��A���������SO=�y�����6"�@���K��Z�����u>�;�L���Ct-�������#c�����[oI3,��ew=K�u�]��F^z�%9�*��	����eM�^����7o��#i��6m�����������o��dn�?��lS��g�y����q�2
9��C��UV7�:|�;*��0����b?�y��~����e#2yb�~&L��f���k�
��g�!��������_W-w����;p�o�&M����o�>������������6]��y�*#/����YDrr����'_i�$���2��?�Y��~������b���>X`y/��c�I]<x�lv��	��H�S?��t��T�)�O<����WZ�dzj��}	�,�;w��[o����K����uy��.�����G�u���H������k����D�	���I1�	�J�&���S���5�~���S�I����}�?����[�m�L����y?(����������6��NcP^��d�s�=�:"��~�����F������������Q��r�����2	��E4��Z:"{d,��������{�2+5(���}�����	j�G�R+|�[R��K#���������o�}��y��dn7nT;��l�������;d0//On���G��xG��o�!��b?��r��
&sV����f������������x��7��;� ��U���N&��C��3���UW0xll��a��#�����V�����IL�b�v�m� uI��TTyn��4?�Y��_���}�]�|��1y����2X�n]y�n~���L���dz2I_i�U=������:&�,�]�1��;�vdw��& 
�/���q�����(�����_?�y]�z����O?5?���2	����H�7^M\/��������O7�o�^^��N�*�kWV�����4����2�W0,w�O�N(�`:�
���+�#�G�|�-gx����;w��F�el�C���r����H�Q4h��3#���r���f��������;��Y���+�US��p��-�u��
c�~��!�� ���~��i��L���]���o�c�� ��RW-wZ�8�Sj^��T]�t�'N��j��I��w���%q�5��&�G��`�&M���������6mj��oRR��/�l�����O�|���z��Y���0�����5l�033S
v��MJ���A��w�����]��4hp����'J����~z��Gf��a�<yr����B�>�g��/�[;�K��F�$�<���"�1���b��
�O�����3}��_����z������}��B������������P&�t�x�;"{d�]�_�f��?���(�W����[6�e�rV��������M��-[,����n0`�tM����'�|2m�4�I�J?U�y�fi��c4�j?������b?�����f����#�8��e���F���~3���W��j>"c��g9��_�������r��}Gj��UT0������#G�H4Z�j�l�2Y�B�s����/����3����{���999}���HK�$��Y�f%t�����.z�!�c~~���c�~�m�
����R#��ep�)�|�A���eJ21����G}N%B&/1��(�5jTtt��.��:t�=J�%���o���~����i���~'UZ�>yHJ�<��7��5k�<*/4RW���!Ct:p���I0x8����������b��
d�2���*�W/��q�u�]r3���}~^n_;�����N(�`:�]D_����s�s5f��w�}W.��]�x������P��d��59��;����,?g����t�?����K2���17ii�Bo���q���c8N�����A�WJJ�}��gL���
p9|�z�x]����l�����lD�Z�;p�7g�_����|��/��u��A��v�-�H��wO���9sfTT����e�r8j����>�L�����UE�E�"�����)��G�,���~������z�*	���i����w�)���p	�d���A^��!�����{���n���W_=s���Q	�+��r���J�S�Ao����sm���'�����W�����J�'���HS{ 	Z��i�Xj�R�1M�2I1XF�`��--1Yb
bjbE��j��M&�������o������~�]�������g�}���;����X�7�����BBB���I��y��m�:66�G������PRhff&N(I���Y�d��5b���X���;�a#���P����^G�C{
��2s�={�`��UVV&�?~XX��>����)�\�����Y(�b���p���&������ N�81///**J1��X�E����H|9n!s��z�8'B�	����uT�
M��m������JVWW#|�!����B������!�a8.���s������?'�(��B3�"����v��h?�j4k��1����EH�@�������\/D/ODHW��7�$8YF\������+0����Q���+������ ���&�4$r���?���*--�uuuH�:���N#���X�I�u��
NE�����������SiZ��u��
E��?f�III���.�����-�:?�C~~�C~5��L�:5"""55566644������9~�xPPP|||JJ����;�����f���I#���h��������C�����������ry�M�[[�4^����C~�������3��"�w��[/[}�8�b���������������B�[���������<V�`:����z����*I#�B!�B!�B!�B!�B!�B!�B!�r�h�S
*;f�~���?��=�\�6]�>��������k5	�?�/�Uz���|�#!��T�P�Dz����9s�LFFFEE�|���s�|��#Gjjj�%eee����i]�~
�*�M*++;}��={:q��
W������N���4]�����Q�����~;����9��6%�n{�x_�����������7o
��<���u�Vff��d���������&���_3�~��%$$`Y���m�>$<<���S���S����u:�{��f���*
t�b~��wQ�OLL���^�fMXX������/x�~hs�_3�m���;v��������>)z><m�4u�:�5j���}��Cs���	!vq�����fff�k__}���M�v��)�M�q���-[����K~���rG����_��D},�"���"---q��i�>�\VV�u�����;w� ��������w��Y������}�v��h�6qTcc�h��._�<x�`��%�0`@SS����inn.,,���nhh@�	*�����K'N��}�w%�|VV���o��s�����C�������������C��Y/j�R��9#��'O���v����|��'pT��F���/���Jnk�������8�������6l��p�����R{�����Zke&�������8��yEEEuu�������s��E��lSnc�s����o����a1�W�H�p�����P�0.(����c���q�M��f�*\������/���������0�(�����_|���k-(>>�dh��h�"��K`�Q�]�����F�a���6M�5�5!�/p��#�`�]�z��	V�X�����80%%e��iO=�Tk�^��-,,,))I��}��?_4���O;vL��:�F,�8�����5kVbb���CKJJ4*���!CV�\y�����������������hQ���;�GDDL�2%S�����'N�hS��+���.�p�2��<00p���W�jS8�>�5^x�����:2�buCfe�#��c�=6{�l4���K��@�
�Z�
G�5J���m��q��P����?~|���`|a@�;J8 �1!�z��%���{n���o��t��4+8z��������b[/�W8�^S�l�2$H���1�����4�z��Pf��9s����f�8��yQQ�)LUU��0l��������?��2fV�~�f���x�b�4�]��t'��9��(
���Gy��o�U�q������zp���h%�;N� .�M��}���>�5�"��q��B,FV�
N���;�Rl;��,FnD���FEE!�Vt1��%!��Y�(N����D�4v���G�*���@����������r
<a���

����e��iRD9+����s�9��5���LqE����>�2�l\�v�{����;JD6q������ �gM&��G!��������YYY����C����<����L[���k��/����/�9���;6;�uAd,�{U���5�r?�b8��f���O<��|#<zt��F
J0����1c��F�2�j��/OOO�F���qHKK:�i�&��k
z��XnK}��^����P���������y�Y�C�e�����3��FU�Z�x�����_]\����B���|�`P��A�^2a4qU�,�p*$�0��[�nf�t'��9�� �
a.l�[�NX/..aM��f��K���+�;�Nh%
��n��A1	 ����g#��e-�����wzp���$o�����e�z���t���o��1���8��n��[���)�
��o��QqGZy]��{��s�b��������1O���&A���
��e�z��������{ZZ��3
�^%E�D8�Sk��{��� u7Q���7� ����S��^�B�F����'��7n�#�o�#�����c��������!Q���KA!�Ul�e!E��l���O(0y�d��jVp���>���U|���������y���?����������Q�c�
E����3p~%��|���~*$$$99Y�oc���C ��w�Q�5l�C8����YY�y�
$��u�/�����g������v9�KKK�.]�$G�]Z���]��L�����7�|��,���'N�P���;s�tT�U
����`�AT��1���8���N566�K���w����3zD�i��$Q��(�/�g���p���;w*�S����e���%Z����_�b���'��pqC�t����������	RSQQ����j
�?��s�}��u�*������I�0��
�~��C=$�!����[��o6%��8p������7���
�����~�M}���dPL�}�q��1��X��\n��g"f�S|�����%%%�m�<���K���\r���4�z�����gB�^�*�+�K�.���{��q��e�*F�������$�?gd��!C���1c0�����%����f�~����~x��}H_�x�
}�rz������ 58�_�i@;���E�Z�{g.�������[�N�\��� ��j�*,>���^c	!~��|�������������^zi���.����a���^qGZ,�(DV0t�P-o����o_D$�K%5f��w�}�CQ�����O��9P���9s���	1
���_��,<���BO;��{�=�hd�XG�;���-����O?!H�@�NLL���={M��1�C9�<���stt4�������o���.���\�6\�h�i+��S��`�Q��������>�(��������a���d��
�G���a9CM�455��w(����G�s'kf�t{5�����a��y����=�Kjkf7���o!B�m������O?��5�4a�p �$���?
�O6�!�d���l����q�yb���Jp}�����c�����������7�1b��������k8��h
��Q��j�������?�f.��������?���� �8@���|W�b,!�Oq��#��<yr�����/��]�6k����@,�����"��={���������3l�,Q���BBB t��I��D��m����[�n
���P��wPRR�@��(77W��i-(441Y�vNN2j�@X���7����CH�!://O�*�gd��B7���7����{��b���Pr��	�:��
���������%A���?������9s�E�����z���PE/P",�����{�b��P��a�
�<��#3p����G�b@��)S�444x4����nzU��o!B�m���P��"���f��%��"C����
���bs�&$$L�6
J"����^�[��Xd���V#������L�8a0**J1A���M�G*.n8��Y�`��Ap�����es�tT�h4���� ����#�M}�%��)^y�������(�������Tl���a���>�^�������]��W�xj�������E����4��".((��2�o.B�_���8�8�0IJJ�9���r��s�?���2|��N��I����=f���P
���E����~��C�)eyyytt�?�3*�W�EDD��������������7!��q]U�L?���f@�����R>���>''aS<��������G�����9���nO�"��j�����
E�����&??�O�����VRR���QXX(���+��\�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B�5�gxkj
endstream
endobj
44 0 obj
   27056
endobj
41 0 obj
<< /Length 45 0 R
   /Filter /FlateDecode
   /Type /XObject
   /Subtype /Image
   /Width 982
   /Height 537
   /ColorSpace /DeviceRGB
   /Interpolate true
   /BitsPerComponent 8
>>
stream
x���ytU�����:��<<3�a�����w�QA%������8���BdYe�!�[Xde�";�)��HKB���'w�_Yuo�;�tx�NN����������N'�D{��Y�reaa�g������K�7��

��DNN��m�V�Z������~	Y&�,�����,�&;(��_(���a����/Mf�<�����;?������p�B���;\t���K8�2�v��111���9s�X�<�C
��K��?�������J��E����kYf�������v�e��x�=d�s�������\y(���;��;|����K����,_��4Y��p�>:BPb�;�)))			k�������]G����o��^>==]f�b�g����d���W���K�xYYY�7o^�j���;���=�p���-[���7�;w��A��3�[�n�����333em2�={�8K��v��S5����n�������O���F��e�_�S�9992xd||��}��{� ��|��qY������\�v��9y���Q�S�����al�����t���8����6m����oQ{��'B.���$uoZZZ�C���B����	�������j�����.��O��HzE������S��UfN�:5p���7o��A���N�0!99Y��=z��/�.�k����111��d�>}����^��r��y�^7g�'O��&����YFu����={�g0��!�8Hg���~��������r��Mt��i����C�����{}������;.g�o���r`��wo�t��9�����!;v\�bE�C��������9�0df��p�P�N�~�������g��������>t���|lll���.vM�R.[�,33355U��]�tY�fMvvvJJ�����2G�L�����9��'���G�O�8!k��a��^�!�4i��s����g��!?�7����G�);vL�:�|�Ezx���������.q�������K6Hg����.�:�.]��a9&999�/�9�}��Z^�4���w���������J,8���K�,����}�2eJ��������c���w����>u��l�������,d��;pyi�z��EdB~�8qb��p�Pm����f��-s��LV�\)��������m��Q�*�����Q��?_����Q�������3g�t�{E�{�?�F������3�{����&V��~���?��������������icbb:��EV.w9{� ��:�D��Ts���H�����h�������c����h����, [�P�>y��v~~"dO;��+S�
�-:�r���X��S����Qs��$/�B����j���v�,_���ESSSe�����m����3f�P?��i����c���K�.��q:�>}�����-��"��9={�4�p���A��N�A^5�gJ�������u>��^��
[i�-Z$�z�>Hg��������B5��Zg��Q���������?�|������ex����w��O�����2�����������s���-��4�_�>���l�&��IoO/:x�`�1%%E��N�*��}��{I��`�c�s:u��AG�=�����>��#w�����L�\����Av�?N�������v��u��Y�z�d��n��^z�l���K�.jf���'N���������x�'b��]�/H2d�������+�R�T�g��4��z�4�;�
���EW�Z�~�>SB�E��o������r���~�!��%K��g��T'$$h�Q��i��P���[���1�{���>��|�IX��n4��'Nt��Q{��c����w������r"����0���C�����d�A:��k��N���S��p�(�?u�������~���21k�,�����������qxK�.���q>������B�2z���Oz��_�z���B����?~�, �d	��h�9�����7p�A.��n��?��5�_S������7
>8���c��u�3f����kW(�p�(�\�b�����t��W�F�����}��?��M7i�O2~��N�:=zT�9p���~��wo���;v�e�C���W��_�8m�4�����h�9			2-U?��u���q�<��P��9`��e�����?�X��9����t��M�����2!?v��E�O��t�k��Q�u����t�������>�9�����������K/��sg�v;�|���R0Q������r�������cbbd��oQ_1=y��hw�?���w*�|�r��'�|�����R���sN�:���e��)K�,�&�_�~�����"-;�bO�����A��.]�p�B����6m��P|��7�r�&���+gJ}f��-�^:pp��?}��Z��]%��E��!-�����u��m��I��<��=��&''�������?�X�������d/P�MzP����v���������<PN�B��1�Aj7Z���{�J�-]w�=f��u��9�e����Zv���N�����C^����5j����!
��}�d==z��!��\[�l�yxrr��"�j<!nT�����'K�	�S�o�e�,_�hQ�;��z�����m"��+�o����1c�D`+�GAAARR��I�bcc,Xp��	5_5��j������Z��9sf��%����2e�,SXX�Y��M�����+V����O?t����~;u�T�q���������a�����M�a,\����������[�t����eyy��6���s��9���'�Jrss����]��W_M�0A6$+��<xP��,55u��Y���Ajw���cs���������������{�J����%��L��9S���E����K[{��������8YX&�G�����,�����>|��,�{�nitW�Z���y����?�|������]�/^,��Czf�PNN�L�x������Z�QI/����2?==}�������4�2Ny���g���'��9��������w����A���~��Gy�������KZ��s�����������~��T�Z��y����]��J�Y��_�z��������V?n��I-6k�,it���Y�F:s���-[����{F%m�4��
B�D��.�������g���+V9rD&��<y���p��iw&M�$��{T�]����#]���c��'��zG:������~;����o<M��{V�����v�r��Y,66����[�n�����������B�w��)'N��/X����=��_���R/v���r�J�0L������&�Gi�����V�����:���_O�0��~�Ti���NMMu��c�t��W����-��������v����Pnn�z��p��920���u��m��Y�M}L]����<yr��U�L�����;��"AgAvG�����;wJ�/[���}���?���������HFJJ��!��O�2��$IFF����������n�������S���9�>�f��������mszf�WF����U�����@����V�R�_|����g�������JM�vg�����W^#hwK^^�����,Y"
�������p�B�b�,
���k�zY�i���_������:u��={<�
�OKK�6x���KK7.CR�����e6l��s��U�=}�������������5k�.v��f��_~��LH;�6$#���cT��v�Z��M��w����'�vem�f�r^ ���Rnn��}�����3;;[�t>Y��|����c��m��c���p7w���S����}�lZZ_���u������eC�w�v�-���;w�<s���W�Z��������#�Jd��c�:ot�S�N�b�� �s��I���w���\�$m���_~�����C�,XP�U������t�(��\������1u�T����W���������O�~�?*S�d��K.99���W����w���[�J���IXN�8!�����|�rh���7�|�u�]��U���<����R�~}�S�j���G��F�U�J���aCY ���I������A��S��������o������ujj���G+W��y�f���e��m����������Y&��o��'��DTT������5����1cF�-���{��q��/�m���M�4����#�<r��Q�s���ggg�{e~��}��dee]{���/������q���[w���n���-��W]uU~~�Z�K�.�{����W��]������}1����-@��n��[hK�F�z��7�����o����T���3g����_��6l������4Y ��8���M5��O?����L<����/W3k������������9��-�W�^��p����v�m���bbb����~����i��U�\�}���5�Y�f^^^~~~TTTtt�������B_�[ZZ���������\�r��3f����H�>b�i��]�����/
�P�O��&��^�X���O��(�~-�M���j��S_�%����j�-�&�W-������o>8�y�M�����w_�V
��47������T�+I[�Z����r�Zl_J�����gg�o2_�U����}n@���?��d����*�{�aj��&\-v��hm�}�	�V����M�Z����V7��?�3��N^����V7�W-f������v�p�X��-������Ds������}�`�
��O����|��TO.�r��2x+�Js���b�b4�1�A�ouS�i��M-��.����������i���H��[��bA��nj� ����������)N@J����������+���._�=F������������Z,H4��TO.�������V����&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
����
���p���}���5kV~~�������_�q���={V�IKK;v��\�~���CX(�Rh
��A:P��i���G���������uk������]�v�<�L��5

���d"::ZfV�TIz��C�(�Rh
��A:P�<x��n����+����}����z���X�"P�������������G�C.\��A��C�(�Rh
��A:P��?��7�LJJ����/�T3+U�������}���C�6�m��j����������E!��B�h
������O�>5j�h��Q�N���������������@-��K��={����k��jN~~�/����HNN����-�j�b�Z��B�+�����-�j�b�Z��B�+�����-�j�bi��]X D&��t�M���n�-I��/����w������.;;[���|���������Qs��������C�x+��2�E4�LH�@�2}����{OMgdd��9**����jf������h�B��F]}1��BJ!�� 0!���S�n���;vdgg8��g�
};�?��������7W�T��������o+?����[�����/�pQH)��"D&��t��Y�re�5����'�|2%%E�9r��G���k�T�2r�H�����+W�,���_?��.
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t�TP�����ww~LLL�����q���=������;Vf�_�>��
)�ZD�h��t�TP-Z���/~�����~����k���g��Y�fAAA^^�LDGG��J�*��5+��.
)�ZD�h��t�TD+V�������^�z2G&
����������?��#���6h� ��.
)�ZD�h��t�T8��z�����R�Jiiij��w�:t��a���m���>}�7��M��!\R
)����	� �p��k��f�����


�t�.]z����w��]��9������/C_�#99y�*�����-�j�b�Z��B�+�����-�j�b�Z��B�+�����-��{va�h
���7�6K�w�d���rKzzz���_w�u���j�S�N���LL�����u�������[��-�A4`B:H*�������dfTT������7�+��E5����@��!\R
)����	� �������i���#==}����*U:z���c�~�����2�u��o��v��!\R
)����	� ������#�>��5�\S�J��#G����\����^[�~�����C�(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:X��RH�E4�LH�`�BJ!�� 0!��%
)�ZD�h��t��(�Rh
��A:P�<�����5�\S�N�={���������_w�uU�V=z�Zl��QU�T��
6�B_���RH�E4�LH�@�_�z�o��6==�G���w��|�����a��������G�V�\y���2�e��m��
}1��BJ!�� 0!�KRR��+��������Z����:p�����Y����3f�h�B���w�w��b��B
-�A4`B:H*���g7n�X&������l5�c��}��0`@LL�������C�(�Rh
��A:PA�������;{��L_u�U���j~�.]z����W��]��9r��W_�b���[T��T-Vl!U�[H�b�R�X��T-Vl!U�[H�b�R�X��T-Vl!-��D�h��t��I�Y���%�q��|0==]�X�R�3g�����_��6l������4Y ��.����h
��A:P�L�4�V�Z�v�<����/W��k�NHHHLL|�����e����W/��.
)�ZD�h��t�T,7n���~����w�HfN�6�r�����o��Q��5������������e���b��B
-�A4`B:H*�����?���\��O�>c��IKKSsRSSG���_�����!.��PH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HKR
)����	� ,QH)��"D&��t�D!��B�h
������B
-�A4`B:HK�rQH���20���&���"����}���=����{K�
�b
��A:X����B:���*��Z�w����:��4��+� 0!�W�Q�FU�R����k��aJJJY�B����B���[� UT�J�
�b
��A:p%;z�h���7o������e��m����*$
)�ZD�h��t�\�f����E5�w��;���l�SAQH)��"D&���KG�����or����P�
0 &&FMgee]{��e;�
�Bz�R\D�������z��R_D�-�q��#H4��R_D��z����kW5�����W��3f�@��n3�-p6l�������J�*��x��[bb��?���-[V�^��py���������n��}�������zD�e.55u�����KHH(��R�^��w��������/���+s��Us�����Wf�"���������G�U�J�����a��)))b�+����%�\sM�:u����?)q�_��D�j���G��9���M�6m���K/������s�����W���)��@y"U�[�nW]u���W�V�d�n�A~LHH�Q�F^rW�;v�y�����/��G��\��t���-[�T����J/����~+A����}��'3�*"s6l���_�:55u������?��6m��;V&�E�>}z���>}��j�����w:�k��V����_��W���?������t�@DI���_8��3Z�h�����{�w�	�<III+V�P������DTT����f���������s����G}$����

�j�P>I!�v/��DGG/^�x��EM�6����G��,�D�
���0 &&FMgee�����J6{��������_����fv��QZ��7>��c�O��[���M���v�v���?���a�F�y���5jH��|��8x�^��v����������1�l���=����ge�����P��]�t���w����>}�l��a���������@qw��q��EGG�?�\	�\:m��o���V�R%�b�W��7>�������G���3g���������;K���T�^}����_�8�xff��7��k�.����f|@�9xbb��?���-[V�^=gb�+��I�j��u��ag�O<�|�r5]�v������C���������D���������-eb��Mu��U���eK���8����������n��}�������e�	�7n�Z�����1m�4	�D�Q�F5k�t�����7�p����e�q��K�,Q�4Q���rhM��!C����Oj��P_�(#������#F������-�1��$>>�����+W��+��1iii����o�:u��NOOW�4��H ��g�krf��L�#/,��[���le.������z�/�[Z�7
��+�a^Y
sO�o~,/����uT�O��z��_�r�__�����L��K�9����&B�82���@����O
\8]��D�;�����]�~��t{m��E?+�aV����'#����Ye2�U�Vm���=������M6l�g��u�K�ugm�v�g>x+�~�������-m�������5u��W�c��������}TaZ|��������/�K
9#�}�Y||������;������w����jOt���-'�}p���o�X������d����;666V&����A���Q%�b�6�������_[�0R/^�=�%>PeU-��b���H;���u�o��~[�Q���z��5�.*��+�L���5V���asA�+���������������o�[�^����?,Z������/�����r��:�-��� ����������7�J�*!�$2�0���0mm���=�8s�L����|�M	E�Z�xI�R�F���y������+���,������:t������>|��gy�
V��`�����9�|M)��T���W�Z5�1	�Nz�yw�W�}	���.��'��Y�f|�A�;p��[2��Y��"�J�}���7b�����^�����9��
��s���J�1Yl��2'==�yKA�2dHaa�{�'N����{


�9�����_���W�X��+�xF������e��v�R3e
���>�l���������~���$66�y����5k��y�����\�P~���8q����e�������m����������9�29r`�}IMM3f���3�L9�N
�Fk�����v��I��3S:��M��.����	&:�Y�����p�;6--�	����Ly�<j�(9}rm,\�p���rU�{��]mb��M2s���j��E�M�}�PL�2�M�6j���C��~�g$����k�����g����������1�����#/��y*	~���Sg<))I�����'H{I�������kUr���t�"��g$6�9t����=_�.m��3���"GL_�6���d=�S��I�����:�S�N���I�k��9r~�.]���:���&��?i����i(�C�?����yw�p�b��{�%.��x�r-�5k�<��i$�gee��=[���iN�lKp�%gV�C�������KB�������*	���!�T�E��*�W�{T��g����
�����������w������>r���i��A���{��)s�,Y(:bu����f.[�Lf>�������	��.�����m��=G
W��]��<Y�5�y�l�n��/��b�^�d+r�efLLL����������J�(�����~��u��w���///Oz��-[�^�w�}�/����	9��[��e���_~��@��������*'���w�F��s��Y�h�]w�%{'���g����F.'�[�nj�[��[o��<��S���s�V�@�Z��lz67}�t�����O�y�"��ODx��<V����G��=�����U3��w��Q��W_}���Z�h!���_�)����W�'����#
7��\������{���{����I��������
6����[�{������'�x�
u���I����e^&'K�"1�?}���.�)�?#n���N��nh���Mf~���2lY�K/�T�^����e��G�J$5��n�lEN�\�R��~����\m��c��k����O��`�
�W���@y����
�)�_]���K�{��i�v���d����+�����n�I����'=�GXN�p�x���	�)Y��	�]i����2��j/	�9wR[�Q����g$��B���_<���p������V�����;��;�YN����9r���r������E'E"�^6��'�|R&�^l~������f9���V^�~��'jZ��o���Cd+M�4Q�NJJ�D��lB�8��Q��?�#r���9z�h����l�"���A�D^$>���C���:}���7�(������9�2S�Q]�29���g
9�������)I��!/�����%������[�8-m�$��������O?
���m��:Ak��uw���f�s$��w�
���U��]�/G��������{a���#��?���w�yg��������L��s�����Z�RU�95���_~���������;�}	� �%:�<�'K������G�3u�+X��I��7��R��T7���&}��l��Dv0�x$���c�x����� �\�j+r����"y�������l��a�O�����_Z����~(<�8���y��v�A���Xv�������%�)))YYY���I�C��K�����W:muxg�����>\�vm����)����������*`�g������2�.rg����u�� �)e������w��>Y^��i�c�
�C-�����RQ&���e �����W���H%�')������DN���R/��m�3g��N�<x����*[Qg����U�C=$/�$5r�Tqq����UT��S��>0,�x�j����{���y��!�C�\���f�Y�	y-O&L�	�j%#��i��j����+W�l���$W��9tjBV�� ���X�Ly���+�a���OA��]X,;�H�B��;u�$U=P����P���>V2��t.�P��_~����D�.��Yv��?Y��)S�6mz�*X��I������K�e��`'Z�{%���#Y�-?~|�w�;�P�����H�o��69t/���z��V��2��W/������������r����/�\K�y�-�xr���{x����.\�������#,�k��2��j/	w<e�]�O
��y!�C��BL��G�����:����������Xi��dY}VD��rf�{��jZ^4��7�V�Z��Z%$$����m-X�@�B?������'����sgg+w�u�L4l�PF(���!r��
9rd��9��}��I2�:x6���{����a����������sj�������;v�(W���^vf����?%_{��w�y'..���&M���Z�����z��G.\(��k���t�<a9��������l�=3���o��#&�x$C(z���7������~�����a���;��~��s����������6]����#y�6m�$
���gjy>�T,p�xz��g�A���n8K�;p���c���/������#Y��� �Cv����N�8Q[$E=��u����F+p�x��L���|m=�P�����^]���w�9P���w/��e�\�^�ZM�={VZtO������\$������M{��������N�vg�����������</�~H��!`���{�L�n\^���.@~��������H��6m�d����u�Vy����T�,�Z.����������{����	Q",eA��g����G{f�)����c�y�(W�s��y	)[��D��V[�z��;w��^�z�Y��J�����(�X^]�/c��!5V�B^r�h�"Z��}`X,;���[�%���%G^�����?���];9�r
�D<xP�V����,��R��������e���7*�/r�=�c�i/�#F����2�m��=����{����Tu9A���D�S�<��rO����!�o�����d(�z~��gf��m�v+�c��M�f$2<y�Q���|��U�V�kF�����,I����e���e���zH�[��H���Y3�%�`����� ��T7�����K�)�YV"�����w�eRM�lE:9_6l��G.um��[����999III��8�
�W��jB[C?�j�.'����W.���g������������[v����t���J�"�k9������~�IQy�F^t;ga��]�*9��t�L���KBvG�Q�T.?�3��6��B���_����p����%eO���k�����4]��w�H�Z���[��U���?�<�r�-o���z9,g!&&�y����v��)�Wk���Av>��S�������1c�������Ig+Rn���w�yG����q�$JRB����O?-�a���3�mE��}�����W�o�����^�N��>0,��9�u���edyA��eK9D�������v���r$k��q��[o5h���N����~;���m����7n,�}����~�&M�c�x�b�6��n��	�C���;�@������G.N�cAv����P"���'{���,����X�`Z�j%������Lg=�{�2W�Vm�����/�<`�$Bg�](��`r��O����_.l*X��!��� ��T7���������Z�H+�>���L�a�\N�\��k�VW��HJ�z���d����~g��+��~� =�0�C�Y���r"��Y�>%��g�}V�)5����a��B�d�ccc�>J������p�����l��!W��,��BM������KB��Td�F���EU��B��T�D����W�{�,X R^��6�v��.*��|��F��p9��7#]�"�}��������Z�G^�;��g���tX"�}��	�i+���%�����b���N�!���f�
{�>�rRDd��\�l=]�T�b:����-������]��i�+����������G��C.�3����U�VFF���C�a����(y���g�x@}��*�p o��-���u��D&����$��O�����w�=7��UBE�f���������U�:u�8�`�i/��~�W�T���a)'�A$_�zf�������W�F�;{����� ����h�:���[�N����W�B��c�Ang��oE���5�����9x�`ll�7��k�+�9'3�
��
QdBQ�����%q&�|r�� ����IEnn�����:{�l�o��� /p�P�[��+K���Cq.'�xfv�[�����5�rh���O�d��e=FD���3��;�M(�1�G���n�&��q��������An�@Y�����������V�Z�u�V����B���g�-Z�(�/J�����l�|~I���{+��y�9��~�LF�Xn��>{�bo�v������:u��#����.��/�������9);+V���#�j�t�O_�w?�-��q~?�_�����I���/��6��[��;wn�{������K8 ��m���O��7?j��M�6���O�
��o_�"���l��g��V���=�������x��2�by*/��P>;�q��=���������Q�)��N~_}�U����s�����SOI�i��a�.]�)��+qG�����^o��}��U��m����cS�����e��gdd����1����Ws�E��6l���;�|)5���;dNzz���_�2d����'N�s�=��C����YY�;������o�m���j�����!w'T�+C��9fW���O�8q����������5k�,�}�v��j7!���!��������f�����j��r�OBB��-[d��o��bcc>��Y�3-����QrH��-\�p���r�������������%_y���{��������2HMM3f���3��+V8�r��U7n,v�T�={V���M���q���_u�\	a���K�$���qz�������,�i�&�C���'L� �95j0���p�����d�2���xw�|C�:u����#���#iii��W�?DN��S����v�r��9s>����K������?�c:/�C�lH{��J���;Vv�d-�e����)��I�&���7u��z���]��b]�_i��&�����j`k����p��=����vo�s~�
������*����w������>r���i����������Y�dI�(hu��������-���>�����eb���r�g����m�z�t��A*�)q��H0�E���w�F��[UN�]�h�]w�%[��=��32�@Qk����<::���_�9yyy��_Z�l)3���������'�x��7����������p>�`�=�3l��aN��
\|�7o����s������ cbb����}��~��3-���z��U�F�W_}����k����D���$,6x$����seg���'�t��u��f�5 |����J�z��u���G�9rFd[rF���s����]	a���K�$z�1�.;	�G�3*Y���^�fX^���:����U)��<��sr<UU���_��2��^z�^�z�lHZ�Z�j�s�?,�������.[���e�r
<�������A�0d���'gY]�j��WT���=�y�
�8�/?ifd���<�d�I�t�\o��M�V����xK�zs���	1������e�������{o���w����qg��]:p\l:p��N!�F^���g�}V������?�9P"	�zSf>���21`���| ��=k���i����c�=&u�O�>��1c�x"EO�q��y�Wx�q�n�������%�v�8}���7�(R���Vk�W���P6����]���cG�G���wn����"��0u�T)�2�@�[mR��=(��I�^���S�I�z��wE�iT�Z�����t���YI��u�o�O��2��Ng�<������{�yDcTT�<��G��`d"55���oV�������v%���/���~b�tD��x+�K�(�{�2*5S��?��S�����>�HjE��cK�c�2ri$B����������[n�e�����dlk��U����/����[o�����r�
6��}��0]o�.�y�
w�����1���^D��z�l���c<�@rrr����7��k�C���+-���M�6��Ly~*.�|������w�2d���V�����IL���������dB���)���2��i~�5���_���|�M5��?��������U�����8w�0�>J�'�e_�s��H!��"�
e�o�����@�H���I5�'NDGG���z�G���6�.N=D6��'�����$,6x$�E*��lR��2]�S2S}��u���7a��\<�����t�C�}��8��.�����D�	��#�>��#�r��v��Io#�r�����}�Mr��4*����H/!m�\r����+� �r����dT/���j��J�<��-�y�
g���.;�� D��z�i�������\o�}�?!����+-�������<��M>v�X��&���v��IMK�j��(J�G}�����{�����7o^�Z�<�MHHx��<��%�u���/\�P�zuO��&--����5j�����;v���5H2�:���&��w�q��c��(���'O��Sg�����#G���3G������bx��9k����$,6x$�E���c�'�t�w���)S���_���^{��w���?�2�J�t�s�Y��+!,6�%<��wD����5����z��G.\(�W��]�kv�e�rT�L�iCn�"h�������8�n����tM��9���~8q�D� E��]�n�4]�1:C���7�y�
g��I���D�����3���
r�����w�b ����#g���9��������t������TP6��������H4�6m�d���B�u�����>�@}FBbr��wn��===����si	��W2�Y��n�������?���������#G�����Z�n-�F^Y�0$�WB����k�N�$��<x0�+2x���D�����[�h�&��m���-J�%��'�o�������a��� UZ�>�KJ�<��W_�6m��+O4RW�G��}C���+	�M��Ay��'��?��'�t�e����e���R:��o�].��[��c��t��~�����b����I�����<�9V#F�x��7��n�������w�CiN��1�����!�_Y��>�x��W���������U��7���IK#'z��
w�u���A��[W�)_III���3T��t\�J{^���e���s��SV"g-�8�����:�R�����}B��zV�-kU�V�+���;;e�����3g��Pew�|�v?��S9��_�*
��B�����[o�UJ�z����?���r�-o���z�*	���i���m��&���p	�d���C���.��{���n����_>~���^	��/�x��7J�S�A������-[��J?�|����7o�C=$+y�������l�=-{��U��o�Y
�����@9>|����J"5��"�����h����Q�zd=�t�������P"y=�>�������d�.��s����<a�Y��y�[o���A��Q{-?w_z%����PJ�$�vD���9�H���qc9��=�����4i0�P���:eyi�����d�����oZ^I��V�Z�Z�f���9*��J^���][��v�[�l��%���������?������:�@��N�Jd�&LP�N.��B�z�
�������H�O���U�
�eM�wI��=��JI�-+|��g��V�������~=PQD���M�D^,K]r���A��\]�7���Q��OE��/W'Qk���N�&���Y��v<�����W�\�����#�V	V���zp��4;x�-�nBW<��]��i����\���8x�-Xn�\]��[�n�j������`.���o���~�r��$j5k�,::�o���Z��S���s��zD���
���:u���g�x��t zo���,�������W���&XnB����n�:u��P��<"�0'� �t��,`��ru=h�X5j��bQaAVa��`����*W'Q+77w���C��={���J��+}����B���s:�l��,`9H�7��k�\����8��V*�LQ{���@c�2ICq���0�5I{� h��2�������!KKy�$XX.z��G���}s~���>f.�������Y�������>������^B!��;Ec�V8[�8�����w�c(1��l^]w&������h�o5	�Ug��_�������B�m�6j��y����������,))���2}N�9p�@yy�ZS\\��?��������b����������o���gl��r���m��U��K�����������k���������6E?�������� ;;���k�n~)F��������o��
{i��6!�.���'%%a[���m�~$22���B�y����}?F�w��-
t�b����n����p8�-[���oz��^����������G��|����6ap��#������Qk��{���{����n^�+�M���xeeeVV��;���'N�^�z��M������_�n����E��_-7q�����'�cI�1imm��eDTUU�A����������7n �fdd�w��[������a���h�>q��K�d@s/���s���!kP���SS���L�iii),,\�vmcc#�M������w���c���������>s���Q�������{M�jC���~�o��Q���(j�R���e'����������[1����
�]����{U�dY'W�+���}N��5�����!C��(��333=�K�:S�Uu������R��^/�qfi������2������{��Y���S�Q�*�Z����w���f�XL5v�)�����Y(�f������1��Z�J�&�^�~�['�hmu�����yyyp�(L�����}�����_���N�fAs�����vU�,�DZ����u1�t������a����K���p�B����k���/���y��������5�h)))����'��5Kt��SO9rD�VMEd��"�}��g�M����<x����"�Jh<h��E��<y2))i��qiii���w8�������QQQ�'OF
��A����	&��h�����5uuu���x�����)S�\��O���@
�x��� !md�������@`��|����8p`CC��(�x�DK�,�Y��7f��
�4:�����c��is����/�yG����E'0&D�Y�^�������O�:��������n��pT��Z�)�F�����������#1@�����������S��V�"�g��!�O�l��3K�o��
������J��!!!�O����S�������ccc����8�Np���N�Mn����c=�Jqg��G���5W��!�[��U'�hm�Vr��"��]���Wx�i���o��!��=�� ��aaabfu���$H�}c.����W1�ljq^��[3�X+� ���2p�@q1���$�Q�F>|Xs�=$b�D�E���MN�344a���~�����u=�MM�� �!X�C555�;��=���,qG�����3�.^���{w��%"��Yq��!���u�����X�����dgg����N1�S<����(2m!z������
g��}��o��as �D���v���J�Q �C> ���i.m���O�7�cD�]����*��9r��)�h�`����z���SZ[[1���Wk��5�bY����Q���_�������#�y.[�S�n�:�������NU�Z��x�������~[�����B����`P�E�H�0e�h���U.��RH,aLA�n��:��d���,������PX�b��^BB���g��Uk����+�;�Nh%*���\�R� �����F���^��S�����"WI�4�MG����A%���7l� c,!$@�.���GG�-a;��+p�j�*�i�}	T�������������)?��}��KEv��q���S����8����JOO���8p��K���p**��/_.�BO+A�0�,$$��N�z������L!E#f�����#O�z�*�����&0EPP�����4�����8E�j��JL�(�g!E�D�������4i��Iu;�������j~����j%�5s�LQ����!T���\����t�z�����qf�����������O
6,55U���*�@�|�5��Sx���_���$��u1.�l]]����2p����.���������$g]Z���.�o%H)���w�55���8v��*B�v��e�QU���q��`�AT��1��x��c��t��Z|��yQ�=������n�����O5��S�N�={��M�4��Hnn����U�nv�1c�,\�����Hp���a�:?�����DQ������<��s�J�����+W���t3����/E�DR7T~��g?������@rrr�7��Q0@���>4���
����?��S=�T�2����k�����8r��D�P��.�bw�����4?e�t{��������2.{�����h.y��n:U=���l����.���������a����G��[6��f6}���:��d���,��4h�(�9�_����m�����{��Gv������w�1�,��S���[	R�����O���_4���9s�t��>�h���r��En��,Y����������XBH��]�e����{�nl+�y��W����t:�������5W����Jd������o���H�/�T�R��~�	� �"����O�2Ew���TWW755!F�t���;�������Jh=�BT����u���c��`�"#�������� �!:99Y�v��It����:u
������p`RLG�1��;���k2.�ej�9s�`N�f`B��TTT�J�\�F��� �7�/{�1��mmm���C�A���+����a;CK�4--�jt��������N��2����%v��u��5��O�h.����t�z�j��3K�UUU��?f
M8�+��%�lG3�O������t
o2p�k6$$Gp@��VHq�'1��&7Z[w�4Wvv���31}���C�.]�T�����z�b��av<
�x�Lw�Y�g���������j=**�����q��@�;�w�,�B�2pd�&M���;�����/N�6-((���;D3D�m��!(!8��g��a��U*����
6B'N�(o�I�0�~�zE������,))���wPTT�@��(//O�n�����p�d��������aS0�U��>{��E�
�����nh ��e �P�w���D^j����gC��c���HV6�w���B��%h���_��={��1c���c�_����1��_1
���F���_"?��nF���G����z���n������P�������%����QU��w#B-�tf)~����H���x��7�/�L��Mn�I���Y(6�lRRRLL�D�)#&��?�Vq���Z[E�>3n�8���	���5�D�-�D{���'n�m^y�S��j155��������?~<2y��0BXX�4�XBH�����[�T�Q�5�9z�����E�����!w�<�nOn#>x�������#�����#���2�E&�e�?*��"�4�x����;LS���\�;�N/;������_�~����/~����MrwQy���m��B�'��5�o4�R�iJy��!�������gQQQiiiqqq����q�~!��E	t���F���6���F���k�#��N}}}nn.��x���j{��6��U�s����F:��y���
�a���������y�K{{{QQQfffaa�|[��|sB!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!��7��3s
endstream
endobj
45 0 obj
   25747
endobj
35 0 obj
<< /Type /ObjStm
   /Length 46 0 R
   /N 1
   /First 5
   /Filter /FlateDecode
>>
stream
x�=�1�0�����876*
�C+A��8�z�.IHR���$%��w��g`�(�!��~$l� �%���L�J��o�����
���4l��!����Bg�l D��kI�Y����r&�
K�x;S�6�����]e]������@�t�2�.3�
endstream
endobj
46 0 obj
   150
endobj
49 0 obj
<< /Length 50 0 R
   /Filter /FlateDecode
>>
stream
x�-L9
�0������������+�h��]%�� E�JqHXvSMA5�Z��"F���k��CKd�y��M$�Y���L�n�'2����e�
endstream
endobj
50 0 obj
   93
endobj
48 0 obj
<<
   /ExtGState <<
      /a0 << /CA 1 /ca 1 >>
   >>
   /XObject << /x51 51 0 R >>
>>
endobj
51 0 obj
<< /Length 54 0 R
   /Filter /FlateDecode
   /Type /XObject
   /Subtype /Form
   /BBox [ 0 0 1754 1241 ]
   /Resources 53 0 R
>>
stream
x���]o�4���W�i�"^�	��@*���(�l��hwA�{l�>N�q��L� :�L�������o��<���y�����{w�iG;�Rt������K!���aJ��+�/����1b����X����T���k�T�����{���]��x��u��������?����������}���?b!�����>>�~��v�(�����Pr���U�[!�5���o}w�����.\��;����v_��^jj�@�n'����?Q/$q��F8�p���_�^��'tC�p��Jl�n��DYn9 �N�-�]��`[�,�H�x�i��P�Y��N�.P@��w�7��>d��#����=�
�G��hBQ�a�4UCY��C�i�>���+������0�<�0��T�Ye5��������>��=�U��bz�?*HpLzDA���������S8���5$�Qq����?���*L���)��c�P���~�y�lk�&�����#(�d����}������t�\��d���S�O�i��q�����,��������G�!�<D��sM����ou�
_��>T����un~�/T��nh�����fU�c���rT��*��8��j		N��her����(i����J<!�#�������������C�<
���!��P�|[�6QC�����ZM�0gh*����1����`m1����l�k�2����*��h'8��vLC�eqi)<w�Zc�!���c��2~�Td�	�������r�u���V��Q�>@@<�6N��?�U�HXA��$ZVHN05(Pd�bk('{�]N�aG$�E���T}���b-�(�������v��j&�V`9�+'������b����)(W+[�kX	w��Z!�v�Qh��)�7�\Y���/�d�������2CQ���SVx5�5���v�4�(�(���r���I��in$z#��v�"�M]�z	F����
*!�W8O"�����_����z�j�����-p��*���A�#�����`2QS�P���(9���B������/���}��(�@����;�����~�LC*]��o�=1'�H�j���[����d�9��\DQr�Cy���_��Z�"cT�*HV�7|���b��� ��%��-�����M�������pW�X�2+������7&P�#��u>�L��.#�����lM�_O�&�k6����nOD�I.Bh���_��k����L�'8��X������$��L@�DZzH�KF)s"�(�TP�a%���H�����;�P����GM�y�U�����8k��8�n?�R�cVv�s:��e��	>N����U5oo`,{{1!���*yUo�	�z�C�r��K!��7F�/�(~o��Y�xg$h�6���Xp��By�#!��W��>~��c�����u�o�l~����v���w���s��W�n����X0�}��v�b�]�S��f&3Z:��@K:�~��iI�&���X���K�cM
,���@��HE&����`1�(�J�Lc�"��(ED:�+�RdAd�$���D)��L��&�Hg�%2e��|$��e�{�%��FY
4d%$[�JH�
�S�3*�R�!�~�q�l)��)M4=[
,�D	)VA�R��%�X�] ���@���K����@C�d��,��������n�)�:E��U/
CK2�M���,��d�
7L��,��d��0�#Y
-�3��[�Sq����X�(\.�$��$	��3�FGA���S�07�$ltb��p�dQ�5����MB1Cm��P��3�FAa�I�*�A�[L6z
���p���p���3����&��Y�^2� JG-��a
�t�R�1	*4.
:��E��P�V����V�Vo�ij��^
4d�M�h�JH�
�P=]�R�!�V�e1��i>]�R`YfKH�
���v�-!�*H�t�U���HK'�H#-�b�3#
!�Pa*�PaM���LL���I�:���N���F]:l��fF����}JZ��i����sgI���Z�0��$l4bwA�r{A���`�0w�$l�b��p�~Q����
NB;Cm4�P��3�F�A���
��F��R,�,mUq�b������R�7�N����m�����%wH
endstream
endobj
54 0 obj
   2154
endobj
53 0 obj
<<
   /ExtGState <<
      /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >>
      /a0 << /CA 1 /ca 1 >>
   >>
   /Font <<
      /f-0-0 10 0 R
      /f-1-0 28 0 R
   >>
>>
endobj
52 0 obj
<< /Type /ObjStm
   /Length 55 0 R
   /N 1
   /First 5
   /Filter /FlateDecode
>>
stream
x�=��
�0F�>��8�J�B�V(�T7q�R�$!M���7�:�s�8���D~_!��������L��$.�Uc?x�*P����4l�	�>AT�����A���dWuc���\��e�g?�J-o��=j��&��N�{���5q�LQ�_�3�
endstream
endobj
55 0 obj
   149
endobj
58 0 obj
<< /Length 59 0 R
   /Filter /FlateDecode
>>
stream
x�-L9
�0����������+�h��]%�����)�!a��RA%u���D4�&���	���a����Hh�������Ob�'��f�
endstream
endobj
59 0 obj
   93
endobj
57 0 obj
<<
   /ExtGState <<
      /a0 << /CA 1 /ca 1 >>
   >>
   /XObject << /x60 60 0 R >>
>>
endobj
60 0 obj
<< /Length 63 0 R
   /Filter /FlateDecode
   /Type /XObject
   /Subtype /Form
   /BBox [ 0 0 1754 1241 ]
   /Resources 62 0 R
>>
stream
x��R�N�0��+���������R%%���z@@+���Y;I�4u�D;��x�iT�� �6� ^�+�����@�-Pa���K�#��,x�	��U��B{��&a�n�h�G$G�^��\Z��*_f��4�K5=��33��Y�q����QUEl1��7/����;��[(4z#~�����@����1I)��y���l
�yXC7r�*�*���w��}^\"Jvs��E.Q��A��]K����"�3�����(���m��8�F��$5 ���S%�M�x�O�(Or4qu}���,-0��I|�:B�+��|���������(gO�#��4����s@m���6Tgi��f;8��!�l��8
�i�8��:�_��Y
endstream
endobj
63 0 obj
   370
endobj
62 0 obj
<<
   /ExtGState <<
      /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >>
      /a0 << /CA 1 /ca 1 >>
   >>
   /XObject << /x64 64 0 R /x65 65 0 R /x66 66 0 R /x67 67 0 R >>
   /Font <<
      /f-0-0 10 0 R
   >>
>>
endobj
64 0 obj
<< /Length 68 0 R
   /Filter /FlateDecode
   /Type /XObject
   /Subtype /Image
   /Width 982
   /Height 537
   /ColorSpace /DeviceRGB
   /Interpolate true
   /BitsPerComponent 8
>>
stream
x���y������4�x���9H���A	��D��������h4��WDv�]�dsXd�E�7�7�aaX�e`����<Zo��]�=�0�T?g�����������f&�[FF��E�>����[�������7o�����-������e����?_��sg^^^�%��9�q���j���W=z4l�]�v�����b�������h������9{���u��S:P����o������$���I�H)�/n��	&a
��m�s�o���C�}���/��k�������n���{�7�|s��qjJ����6���?<~�x��-ffw������So����G��Kd�:'N�Q�1���{�$~	����zK���
rss��;W�5L�6M�s�����t��E�����z�9s�L�2��w����-[~�����N���6c����g�9�U�V�3b�g1��8�|>w���3gjI�����CMl�G[��>���/�8y��]�+k�m�^0�_B)��������g�!C�D|h��UZ�8s��3S�7n��6����[7�Y�r������o����;�z�����������4iR�G�tf��>����w��&�K H�E���sS��i���w��%�����,��;vLO_�hQ�G����Gg��6_
���m�����E��~�:~�x�_�p��;��J
��7�l��������u>����]�~����q�F�X���M��l���{�� |����.���w���;9V���,�����[4K8����}s��={t��;v�W*�o\C������������P���z+�u�_����&�%����5�v�{O���O>��=G����s}��&M�<x0���	��!G��g�~����^��R�?�������m[�FkV>i���={:G`��a�:ur�4����'v����N���5k�{�1c��F��;a+13�������:PNW��w�u��������T��|n�� �Y��}7~�6m��]�>>a����
~�1==]m�������n�6o���^�z>|X=���{M��o��h�=zt�.]�>�uoq����:y5��~����;#�*�����o�^Kv��y��	�V�����w��'O���/.�h���|����g�>}:33�4�m��]�`ANN������-[�������+V[����(��u����v��}������[�n5��8�{�w��w��5g���j�5$��������{���_~����S��L����'R#�-���o���j����iF�i�q_�N�� ��?�\��]���s�Of���P��M�x����������}6�e�����_���V�V��%���#l�c����6?��4�s��U��,�����3G���/�h��?��g�i�����c�\(��:s=�}����3��������w���j�D���}�� �n#qR��ffddh�����+S��=��:c+�}��F�2-�3��p���#�9t�1��y�z�-Z�����i��}�O2d���K���;��������e�N���i�����{�=��Y�fyS���r��%#F�0w����<����6mZs�M�����|�������/����	��C��.C������Y����Q����n�����
��N�-0l����gF;��v�z:���;7��� �;��	g8@,8��m���7���i����_I��w�e��E�7{�������^��m3����o|;}���Tv���f�W9|�p��������{�n.l���'�������;��;C�:�����������Ga>�������l���l����q�233#�-��P����O����D���(�������G�8q��Qo��vq��}j����c�<yr�50@��l�|����o����/4��������7��o}:��g��;�����BG[h������7/�1[�)t�5g����<�V�;psX�M��3�P�!Z�f�F��C��w���{-Bn���O ���hN����9t�������J�o�����{��Os���{�������3g��h����W���#���
�����ZG�}/�~��z�����>�i}���q$�����$������I���D:�M�65/��'���/Z������\��S��G|���{��q��S��W/g8��	&4/��Fw���n��z5/��v����j^p'����?T���u5�f����ZyNN���������[�6��������lh������f!;;{���]�v��)S���u�z����w�M�8�y��1q���xG[��]�v�VG�|�������D:p�S}�=�����_s�n���\�b�����G;s�/c��]c�{��#s���5o��G����5kLw4j��yr�DKX�dn�����z��S��_���*�I�&�m�6���n��R����>���R�qI5��/���B���.��F[�����������;V�)���t~�J"��_�^��c5n��3f���3�<�w����g��9��w�}�.�I;v��S�7 >;�p:|�Y�f�_���W/�/{�����F�QY=�z���~[}�Z��n��9���w���G�25�j�����E�n���A��Y��g�~������o��S[������K�m�w����uW�����"�����&�C��Z������ShgMlH��%����h��i�:D�����g��!C�o�����&�?;t*?��c��h�����3z7��Z��U���E.��������;��W����q-�����H|Ua2
�>�P��o�7]l+�x��z�.�K��!C��������.R�e�:��"w��ER��������i���KV�����u���%��� ��{*�R�~d����������3t���s�=zt�����������[ggb��-zh��!�&M���4��?�g}����F���iS��=������M�V��;v��G��L�Y+Y�fM~~~��[[�x�f��g������������2_|����~:l�0-�~�z��fg��������~��G��-3�_-<z�hmt����3��[��7N[�~����6l�0a�f>\[?w��f�?^�7C�&��9�����k���QX����%Kf��m���[���v����'j�F��4B����\D;�:2�G�����u��P##DR��v7��oO�<y��)��j��x��U����]X���'rss�Diy���c��Uc��Z�:a��������~-��!mQ���iV��W����PA���n������_��g�}v��im��O>1��Q����_k$���[�'ta��'�����+���[�7n�8}�t����>Y-��a�:k����lmT��|M�����M��������V��[7e�mW�U���woZc�~�v��w�g������}q�����u�f�;w�����������y���#����sa�q��`�:puefz���!��'�2���o3}�����kB���rg����;p�������<����5���W�������j�������+W:M��{����~������8,[�l��5�7n��Cg��1-�����?g�����j�5�3f��k%�v��rg�j\G������7o�{����
���>�H�v�Z����\D������W��5�0�� ��u��n�����y0��s�vf�[��[_�v�{��3���k<���5�������9u/�j�*��X��LK�>&��V_������#G>\
��)S���v61f����G����{�<l�C����_��~A��^�s^�d���#�l��"�a;\f~�aD3@ E�����t��n��Q��3���s��W_}���_:������n�������O6�gH��R�
��#F�-���&�m������8�.^�x��M�w��0a��#G�{��K��vT+q���S�j61k�,�O>�d��9�v�������-[��=~5�aC*t_�h�������)���"�l"���VG��f����w>c�'�;��G�:wP�7�|�����;v��!J�g���������=z��u��`}���)MOO7?*����>�����=�}��;��$������L���F�:v���u���T����3g���m���g������7���5t�P�P�r��?�,y��y5���t�S�
-\�0����������:�s��M�\8��h�{o�J���8�hc$�U_|���-v��j�*u���/_�x���B����i�)S�8�@��f%jS����@{�NR���4q���P]����#G��;W������;?�9n�85���-Si~���#�!�/]�T3����h��Z��k�#F�8t�P��xkx���'N�>|���~�qN�0Akp�����1c��zT�p�u����v�zG��h<���l�h;[�s�|����5r�_+���q��H���]{��������{��?��]&�qr���[�n��-�O;���s~~��h0�v�r�B��k���[��:�
����8p����}�v�������6��p�����u��7o���PM��qu��H���0���n��Q9?����v����2��YR�r�1����: ��0�������i��t��l�����s�����C�����=?�0�������<���3e��b��{@��T�HSm�;y���Q�f���b���?�\��<����t)�����������m��5k�l���{�a�L:p�hw��X��S�:����w��Y��?���W_��������q����Yr����j����+��-;h����(I��=��}�R�J9����;fggo���B�
S�N��*U�l������
h����_u�U����?x�����k�F�^{�5����KNN��n��Y�n��=z�5�L�4I����C�*U��s��n��Azzz��(y��;�;{(77��[nY�r����/���&M��h��r��#G���W^y���k����8P�y;����_|q��	�^�t�������[��/_^�J����33��m��s��ufdd���Z���9����;w�q������.���s���k�t��G�53_~�������>|���c��=�G���{�13�n��j��i�v��s��13k���h��b1P��;��u�V�^���,Xp����+����T�2o�<-6z��2e����u���Z�jnnn2w(Q0��w��;p�<r���z���y�f�Y������kZZZVVV2F
@��m��8�.^��{��C�=v������5x�`�\�l��b
���*U�t���|�����_��Y�f=�P��U��?������u�jf�����q�d�PB��?�\�r��v�����Ys��������V���e�.\x�w�G�N�z���G\,9;�(��w������S�t���,3��K/����o�������s�������+��.�-Gvu\���E�#~�!-��1@����K�*��R��m��;v���]�vfN^^�O~������3##c5�dj��W���|i�d�"PZ�����+����1�-[�|��w�~��V�Z�9g�����+#.V���)��������������0K����+��%���T���]?��b��
�<��f���;�@���{��8���?6�fI:p���x��M����dgg�Z��t���}������j}���<����?q�d� ���_fI:p�����}������/���k�0`����W�2e���g?�U������-������(Nt�@q�(�7�B���=�Ki %]�|�����?4��N�IuQ:p���|)���_��8�/��Z:p�_��8���������T��'#~�!-��1�$t��?:p|�o�	O�K:p�8����J�K:p�_��rdW�����Ci���ECn8�/�����N��J������.:p��E�7P����E<���]d:p��.���V���@n�E����tv�]���@wa�E����tv�]���@wa�E����tv�]���@wa�E����tv�]���@wa�E����tv�]���@wa�E����tv�]���@wa�E�����+������������@�����]�Ew<d�.2��k�l��=F����.���!#v��W��3��
�~:j��CZ
��]t�CF�"#������w!eS�������"x��]d�{��rdW�����L=�~X)�3��.���2b�x�^9}�o�	�a�T�������"x��]d�E����H�������<tv���!#v���3x�.�"#�CF�"#@*X�+��}NE��zH${�%	�3x�.�"#�CF�"#@*�i��&<�c,I���Cwa	2bR��.*g����H�����
��vQ9����EF����EF�T@����<d�.2<d�.2�*�]T��!#v���!#v� P9��r���������i�3x��]d$x��]dHTN����CF�"#�CF�"#@*�r�E�2b	2bR��.*g����H�����
��vQ9����EF����EF�T@����<d�.2<d�.2�*�]T��!#v���!#v� P9��r���������i�3x��]d$x��]dHTN����CF�"#�CF�"#@*�r�E�2b	2bA����:w����7v�t��As���_�V�+���l���
J��K,*�]T��!#v���!#v�$]vvv��5���{MW�Re��M�G�+�e�/_~�UWeff&i�%��.*g����H�������W^=z�&�=z�5�L�4�[�n�����*U��s��n��Azzz�Z�Q9��r������ �v������������={�e�]��I�-ZT�\y����y��W�����5_�y2�[bQ9��r������ ��6m��3�t��������[��/_^�J����33��mknw���X���R9�=��$��i���r�%c������##v���!#v��PZ\��ej�������v���\~���(]����G���_~�_�~�:�������"x��]d$x��]dI�j�����;����=��cfz��u��U�D������cf��Qc��E�?��r�E�2b	2bA��n������c�*V�h��R���y�4s���e��y��7���S�j��������r�E�2b	2bA-Z�h����9G�0`@�=6o����2]�vU����U�c*�]T��!#v���!#v� P9��r���������i�3x��]d$x��]dHTN����CF�"#�CF�"#@*�r�E�2b	2bR��.*g����H�����
��vQ9����EF����EF�T@����<d�.2<d�.2�*�]T��!#v���!#v� P9��r���������i�3x��]d$x��]dHTN����CF�"#�CF�"#@*�r�E�2b	2bR��.*g����H�����
��vQ9����EF����EF�T@����<d�.2<d�.2�*�]T��!#v���!#v� P9��r���������i�3x��]d$x��]dHTN����CF�"#�CF�"#@*�r�E�2b	2bR��.*g����H�����
��vQ9����EF����EF�T@����<d�.2<d�.2�*�]T��!#v���!#v� P9��r���������i�3x��]d$x��]dHTN����CF�"#�CF�"#@*�r�E�2b	2bR��.*g����H�����
��vQ9����EF����EF�T@����<d�.2<d�.2�*�]T��!#v���!#v� P9��r���������i�3x��]d$x��]dHTN����CF�"#�CF�"#@*�r�E�2b	2bR��.*g����H�����
��vQ9����EF����EF�T@����<d�.2<d�.2�*�]T��!#v���!#v� P9��r���������i�3x��]d$x��]dHTN����CF�"#�CF�"#@*�r�E�2b	2bR��.*g����H�����
��vQ9����EF��������8��s���_m�����@R0TN��.����EF����������N�����.���!#v���!#v%7#����J�a��i�E����H������T@����"x��]d$x��]t�@*�r�Ew<d�.2<d�.:p P9���2b	2b8�
��v�]�����HTN��.����EF����E�*�]t�CF�"#�CF��G����tp13�����{�e��9K.^�Xs�z��������r�Ew<d�.2<d�.:p$���K���zw���[�j��u�6k��t����������_�����C�����'y�%��.���!#v���!#v��#Y�{��7�|�=g���w�q���:u�������5k��;W�����Us6��Q9���2b	2b8����{�5������^{����5�o������y���#?���5Q�t���,3���^���O��[�Q9���2b	2b8��������srr����n�a����;wn���y4//�'?��&J�*��y��m��;&m�%��.���!#v���!#v���R��Y���j���9s���W^��+��B]����e�w�y'���Q�X*g��X��R9���TN�d,�3y{|d�.2<d���f$�<9��DQZ���-]�t9}���~���?������'�x����sg�J�4�w��ef6l�P�$e�%�]���{�CF�"#�CF��3p$�}����g�s����������{������z��U����<����?���6m����Gs4�t���}�]�^"Q9���2b	2b8���o����{/����+��9�����W�2e~�����Uk�����o�����K�]{��H��K0*�]t�CF�"#�CF��R��.���!#v���!#v�����i�E����H������T@����"x��]d$x��]t�@*�r�Ew<d�.2<d�.:p P9���2b	2b8�
��v�]�����HTN��.����EF����E�*�]t�CF�"#�CF��R��.���!#v���!#v�����i�E����H������T@����"x��]������=����W�!-���R������T@���<x��]���O��4�I9,%��HTN�������Ew<d�.2�*�]t��CF���2bR��.:��!#v�]������ix����.����EF�T@���<x��]t�CF�"#@*�r�E<d�.���!#v� P9��2b�E�����
��v�����"x��]dHTN�������Ew<d�.2�*�]t��CF���2bR��.:��!#v�]������ix����.����EF�T@���<x��]t�CF�"#@*�r�E<d�.���!#v� P9��2b�E�����
��v%�r�8��s��h5Si������Ew<d�.2�*�]���>����'���hd�.���!#v� P9��r���������i�3x��]d$x��]dHTN����CF�"#�CF�"#@*�r�E�2b	2bR��.*g����H�����
��vQ9����EF����EF�T@����<d�.2<d�.2�*�]T��!#v���!#v� P9��r���������i�3x��]d$x��]dHTN����CF�"#�CF�"#@*�r�E�2b	2bR��.*g����H�����
��vQ9����EF����EF�T@����<d�.2<d�.2�*�]T��!#v���!#v� P9��r���������i�3x��]d$x��]dHTN����CF�"#�Sb2�yV�]��K�'����2��S9K*g����H�������<�X��Z�#~�!-`��?<+wq����E�Z\^�%�d�yh�����[�/=�~�O��4�V�z|��?�4�����s�����X��#~�!-`�$#@*�����<d�.2<�g��cu���?6�u��~���M�Y�N���|i���~��
����K�%����1=���3���0K���Nn�$#@*�����<##��w1���+�������,YH�]�e��o������o���Y���v�p���m���dHt�vQ9��b�{�����?�1����{����T����m���t��JL�O�P9����{��E���=��w���Het�t��u1>��'h��A���E����]��T�8���(�����������R���W�"�3B�hR�r�����R9#t�!#���w��Y��?���W_��S���|�l������C�����Z�j]q�e��4hP�]b�r���3��rF�.2BFj�;v�����q��
*L�:U3�T��i�&�b��b��/����233�4��-�+'��"�������C�.]rr~���Y�f��u;z��5�\3i�$M��6U�Ti���f�A�����n	����{\�T��bAF�&77��[nY�r����/���&M��h��r��#G���W^y���k�������rR9�����##dA������/N�0A�K�.?~���u�������4J�*����Mm�����s�222V�0�TN�d,��,K�4K�R9���TN�d,��,K�4K�R9���TN�d,���}��r�%c���:
22BF�����QZ�-�M���k��q�~�����\~���(]����G���_~9��(�]����2d�� >��?��g��������{�L�[��Z�j��]���9s��5j,Z����TN*'��2d�� ���[�z�?Z�`��c�*V�h��R���y��������)��o��S�j������x�D��r�!#�GF���S�N\��k��#G��G���7;K��?�k��iiiYYq��qTN*'��2d������	d���!#�E��r�!#�GF��xQ9���GF���2 ^TN*'��2d������	d���!#�E��r�!#�GF��xQ9���GF���2 ^TN*'��2d������	d���!#�E��r�!#�GF��xQ9���GF���2 ^TN*'��2d������	d���!#�E��r�!#�GF��xQ9���GF���2 ^TN*'��2d������	d���!#�E��r�!#�GF��xQ9���GF���2 ^TN*'��2d������	d���!#�E��r�!#�GF��xQ9���GF���2 ^TN*'��2d������	d���!#�E��r�!#�GF��xQ9���GF���2 ^TN*'��2d������	d���!#�E��r�!#�GF��xQ9���GF���2 ^TN*'��2d������	d���!#�E��r�!#�GF��xQ9���GF���2 ^TN*'��2d������	d���!#�E��r�!#�GF��xQ9���GF���2 ^TN*'��2d������	d���!#�E��r�!#�GF��xQ9���GF���2 ^TN*'��2d������	d���!#�E��r�!#�GF��xQ9���GF���2 ^TN*'��2d������	d���!#�E��r�!#�GF��xQ9���GF���2 ^TN*'��2d������	d���!#�E��r�!#�GF��xQ9���GF���2 ^TN*'��2d�� �����V�ZW\qE��e
����TTN*'��2d�� �<W ;;{���W]uUfff�GT"Q9���GF���2��R�R��;w��
���'w<%���	d���!#H)W^yeNN��n��E�n��;���I��?2BF������R�J������m�v��9l������H-h�����t��G�5�/��r�~��; �j��=g�3]�F�E�%w<@��=�L�2o��F�:u�V������7���]����eee%{,@I��S�:��	&���x���'N�h���[w���I�$���k�ox���^q�<�����C�)�W�^J���_~��wn���?�P��UK)[���A�4���������7����<��?��j��
*�={6���dS%l��}�R���\�r���/�o-ZT�re~�%R�W_}U�J�����1�~��we��Q�������O���+!��T�p�B5��6mR�z��[o�U3�+�9��/����233����/���M�<Xj�������%�k���5z�����g?��Z�s�����?������0y����H5�f�r:��?���'�0���m���",HUK�,�;w��>q�����J�*�����l��Azzz�n���i�o[�n�i=E������5l�t�y��
�9u���>}��i�����v��;�Pk��!�`��t�=z�h����>s��i90~���~XW^yeNN����E��+V������9r�=��\�R����Bv�'N�������?^�re������t��:uj�����������B�)����z��G�;��R�J)f~��m;w�*���k����/3fL��5�?:����;�Z�n]��|@�p:pu���o���*]��{1���b���n�-;;�|�P=z�L�������s�<{�l�
V�Z��������������7������I�t��/���`�g��]�fMg����GU�^}�������k��3�L��Qc��E�C}��y��GC��D1.A�����~���5�r��{������z����H�����T�R��u�x��2e����;���+V��6?���|�=Z�P@���S�jU���8q������;4�����1���D����sz�������i�F�$�H*�;�������w�����^�� �,\�����������OKK���r^�~��Q��tvv���	~P(�����;�t�~��}�Q-��a���v:��_|��@����mn������H��
�o���W��\�/=�e�=L�1�B~�����>Zt�f���_Z��v���~��E|h��Q1�����bv���%K�������e}��������Y��s��1��>�`������a��>}�,Z�(��'N����'�b������u����{����?x��!C�h��|"�g��ExV�X�
�h��q��������x���N�>=�1,��JV����B��^�?�%�7�,���"�������~���(��	8.���O?m���w���C����Wb*R(yyw�K�����]�|{���5j<����:u�^��;��ce+�+Wn���^h">�sD<�)����,u���Uk��y�-~������7l�"_�����a��[H��OKF�n���\�r�I�u2L��#�"�K(���R���r-
4x������'rx�&�Rs)���)�|��u����<yr^�7�|��W}��MOO?}����K=333--m���f���s��Fk��a�m�������f���_�~��?##c��a}��q������q��
<8++�	�&N�<���1";;������k_~~���Sp��!�hNN����\�~��c6�r�J�\�j����EHz��vG����_������m��
�k���N��h�����|�������j�o������;sF���iS3�g��o�1l$����,�Y��u����y������:u*Tp�u����G�.?s��,Y�=u.0��G<�/��$�����������m��z�9z�����q�F3Sk�v?���Q�F?~����i�F2d���w�� �E<_���u#b0C��f��i`.,Z�x^��P��^�z�j����>|���P�"��&L���;s�L3f��y�L7mT����>
E���
�)����w��)vO���HN�/�\k�j��'N��6��>s��������9^mK8����u��O�wg#^����3'�G%>�q���v��]�+�=*g:l�a�A@�%����U�V�s��u���k��L�6���n���c��
z���g��\]����������\=����3+�����t�R�jU�W��o�����3F��������o����@sG�s3��>����[o���#�8���3�<�'��[���sf��_����S����|��W_}��'��zH���_����O�)��z�����&�N=]3+T���du�:�zQn���F�c���9:��q���1c���w������g������k���P��CakVz��W�mW��63�V4��[n�����<���v�����?��h������������k7i������e�=��.��$��'�di+����C[���{}�Q]���^�4�U�V:D��u��_������l�2v�DU�Re����?��������hu#b0C��������������5k�,B������R���i����[���<w�\�"�c��SOu��]�\0f��+��~=Q��"���E�)�^]���K�{�����&�/�\o��M��^���u�������x#�S���G��&L���S�]5��'F<e���xIhwt�T[��?����3����!�V���<��p����n�i�v��aK��^���L�7��������
^5[=]�zqtf*�zS�7�������J�*�����-[��{���6�MR��|��<����!O�����y���_�;p����#G���:g���	��^z)T�F�l���P�T�g��z����
����uk��]�_\��U��vE�d��u���nv\g�[
L���������4��G�	�������akV2'�K+���N�6?�V4���\s�'��Q#SE�S�����������G[�ha�������h�D\����d�\��^����J�z����,Y��tMh��5]������	j���t��^�:��I��������hu#b0CQ��>�����h��/�zx������w>�.i�]��f��X$+V���999C��}C?����]�Z�P�z��;�>WW���������@^��3f�����3g�hy����x#�K����yT��9�c��5�t{���Q��F�}b(�)��l�KBo-��*=����Roe�v�;{d��P�<b�V$���+WN�v�sI��Co9{��*�\�'ff�>}4���z�6l�&�V��t��%�F���0oE�����Y3%Wcp7���V���o��j<���@e�;SO|��w��V��u1UH�9wA�m7���H���uv��Y�a7�:;���u���,_��&T�T��z��m�6�Jt���E��N-��eKU�P�:�%�V��J�qL����Q����':�%�D:��?Y���#����=Y�`�M>|�W�^O>���b���C���f��~�[o������'%����?��2E���r�uX�+)��8����?�0����z��x7�-���
7��C������/f%�+��~s{I�z��;�>WW(�ywO�\cqK�OV��a^��a��F�=<��f��S��6����:�Z>�C�N�wg#^�xj�{������u!�C��B�]��97Jy;p�vCt��$��R�JYYY�9�+W���4�-Z���*�\�~���W�P�J>��S/��Bzzz�j���g�,G����O�����S��|�k��g�\/Xj�s5���������g2�y��a���rP���H>x���4`g��W�jU3���[;3o��3}���N�4�z��a�.Z�����wsz9h���{��g��U�V�����������|�G����Y���h�D\����d�\�R
���+�^��'�M�6�Vn��&M<����U�v�����lh��}&L�Y������3�~���n8Kz;p����r>��1,B�����^{��.N��l��7�>|x�"*���.]�&_�V�����2��7�#����{����WW�������G3��C�B���%��s�?��s3}��1��a��FX�3]$������G��������P�Sqg�����sh�{F��}^b?����r�����6����D��8,I���gtI�9sf��������/6k�L��k��Q"v��*�\Ur5SY���[M�N�>}��7�`:?�h�~��7�	��-�����g�}V#Y�n�m����s���SU�{|-��h<E��w���a�5QC����O<����_r��L����l����Ajx�����������v���_7����V�_�>;;��W_m���y�^��Z�a��V�q�
�y����zh����q+�c��iS]3*w�^w���9?��e���5�����,8����K"xq����W�~��zm������A���
mE���]��
*l��As:u����3�^QC������O>��l�xz������V7����������V��D5��;����h����A�k���j~t�G,���s�z��g�.Y����Y������LD�����F�����wV�\���{��Q
U�c�{�[�"�H^��V�7V����:�NS��F��o�U#�'j0z�����7jU:����t�"������h����Tg����B���[����p���iI�i�n���]�uAF��X$���"|��G���:e��0��P?���������?y�d�����'��(,p���s����a��{����g����>�����#�<�7����E���O��Z�W�a�����C�w�f�jf����������W��B�:��;%��P����V�XQ%�T�O>�D;~���7i��|F��j��a��7�p������*5�M�~Q��w����f�1"����"n�}�4�F���W�R������z">��\�\�~��y/�x;�P�K".	�.�b;Y�����>O���<�a���F����:T���<x��>�h�"�l�����k����H](RAp�9_�����X:p�^��E�@����!.	v�I��>�N�.�5j�+$b�T�����5f�k~��B���~� ��a��"l��.'������Dh���_�M�����'��P�3�C�1����Y���P���j�uy�Jp�-`~ 4�#�����KB�KUE��S�N���*�u!�C��8�"w_�=�2e�*�����h�u.H��bW<�<�G�ze�����������o��U���6�b�}��^�w�����������K��K�~x�����W�^N��W�q���������/�z�B\��N��T6wCn���Ip+_q�v�z��'O�Lp��[�|y�J����c�����������
����Z �MD,�_|�E���-��xn���]rC!��g�����A�u�����[�F����N�7�n���v�Z&�q^"��x��B�o-�r
��������G�D�l�����*6�v�2d�����k]R�O��;�������#�d��5kF��o�X��%%�K"?/;������Y<'��;w��������3~�x�o������'E������������:���+�\�%��-���r���H�Q|&�<����/-��1��&�=�ng�/-��1"8�������/-��1�%���--�+)������Y�������|���i�b�EO��k�����K���?S�WRv=����PRFe$�u��?���B��n1999�F����vv���K�]�>}:�������;WeG�F��E>}E��x�x��s��z�~]��GSB�7����#������g���E~����,Ybq0@��d;�|p����9m���_�~��]����7�x��5Cc��&��Y���d;�����������k�N���O��+�������?�����>{��IM��:y}���
6t��������g��x�m�������#�w����������}{�r�"������'��w	�M ^	v�'O�LOO�����_m��M�����w��
f�	�J�����4';;�y���{������C�n����������gO�j����o�w���>}"����u�����'�O��	�v5$
��3�zH�>|��#������3n�8-�~����qz'�������7k��?�������E��^�Z�6m�C���w�3Hg���&�����:�:nS�N0`���y����$��������?���m�����P�� 333--m���f���s�S��g��X���}��<v��^�G����h��{��r%�%��b�D-��N/�0����i��+W�?x���1l�0U����h�p��U��4Z
o������C-[���q�Q�Tp4���U�B�St�>���"RM�0��>�9s�� �Qy���p.�h�%�P8�x�i%*z����I��z��BW�^�Z�jE��/������/�1�U��V����E���-X�@���[�G�=��n��J�D:��g��J4n��M�6���o����9�����w��Qsf��*��w������g������k����3g�
[����+���i���*���J�w0
�Z���;��S�|T���i���t�M����Ci���:��3�h�u��}���4'77�/���O?����z����c�D����4i������&����n{����>��g����/��&M��?�l�2�\�l��U�*U�o���#gZ����:u�T�r�'�|��W_}��'�=q%qI�/���1q�D��w��dE�4�����������{��������\��N�N�����3b��v����PlWB\��/�I{�4��$���Qi���zJ����ksm
�x���h%�<������iB����%5����5k��eCj��W�n����������w�C��?�u�x����;q��v�{��:��b6����9���v^���9���O����h�zb�>�L��z�^o�ZU��}�{Q�7��G|A����]i�������-����C��7�w���.8�!�\���"Tj�Us������"/^|����
B�`�05�����D�=�'�������Y�!��{����[u�k��ZmZZZ�ST���'N�P�����?�I�
T<
��Y�W�5q������N�������n]��e������-Z�0{�t�8u�F�f;Pf�F�R1�B���}��w����4��F���b�W/��R��3��e�F[I\����z0��{��'�����2�K�3S/�:�7�|�^Gt+U��8�}4+������_��W��h�.���v%�%����D�kXG��L�s����P������L������f=�����[�V�
n[2��j�j$b���-[��yi���_?~�x�C�_|a6��l��YY�bE�������o_g�#^Q�h��y(�y�
wv�����J����s��m�������222|:��w���=�b�u5�J�����6m�=q����;Pr%���������v������t�i�.&z�I�n������������*�����B��G���������������w�Y�;�5�\�rz��~������Q�*��������^��g���w�y��9�z�9��2P�W�^=3�C���[W3o�����z��o��3O���}�]��W�D:���U~������2p>��Lsw�3�<���a��i"���5��D;����O�{g"���v%�%���I;#>�72�cv������Y3�6z��fo5$����!���Q���K�#�^Bm�.9�����w���n�����G5��Y����r�����p&���v�Y��P�8�[�Q�����<��x�7��{_C����+��.�!uO���%W"�����~4i��!-[�4�J\��UCIi���3��[n1�z�?i���������h����a������7��N��P�BX�U����~��P���333��-Z�4�"5H|����k�}��_����?Pf�����w�9b�g��}�&L��zs�S�?�m��/1W�D:�������BOV���|�lf�92T���O=��/������*���N����%���Hn�$��y#��
��O?���;��:u���v��y��Lk�:�f��mCnz�l�����C��[;u����;6�z��7�q����j�.]��K�3T���z�v^�����^~j���(���s�����B=]��zs���1O]u��3�}�;���{�����Lw���g/�@	�H�e��[o�u����F���g���i�5k��<y���_7�H(&U�TY�~}vv�����4�
������V�4hP�Lm������x���4n�8l�g�yF�F��5<�J��/���Y3
I��v���o8��
^1WI��z����O��	�t��M�E�]��^ ��]�=P�FuX~����J���C*ez��O>9z�h=��U�����[,x���%��8�����3�xyOV��@[��U�Vi���R��7������V�}Ey��?w�;�PaWB\��/�I�vD���=�9V�����guZ��[w�m�u��9%�jN�?h�Z�l���j�������W�}���o��F���?y��M-�N����o��&�y�=��zP�Z�dI�j���F��|NG�U�"���:p����o�8����������h�E�����1�����e�l����z�����#G��[�����v���n�����y����@I���BQX���b��*����O>�D������4ib��*A�Z�j���
7�����H��l:7�9�2����Z�x��w�]�|��{����a�*��>��u�]�Bg~��	��#G�~�i=Q=������{�I�&�~��Z����7�}},�pOk�5j��_�J��T�{������Oo(TIT�o(��k��[#�L���G��h=�t�W�Jq^��{���=Y�.��'�E\/X,p���s����1�c�k����<x��J�K���b���oG12n�!R�~�a��Gyd������E��^��:��Z#���>R���y����H�\�r��W;6�_2���*�e�Q������\�z����k�l����>�<+��$0�7��4�$1.V�!i(.3[f��&i
��,�T05������T�����eo���7���>�<���y���^\����5�9s�>������sg���[UU�VUop����0�ne�����h����t��B��b���RS;�~A�W5
�5d��Y�{��"�c��`ll,rlQ������'"�������E�,#.�oxI �����?�]���(~������j
����y�����������������[=h����Bn?��O�u��
E���J���{����5��Y����TD ��a����v�}����y����7*8P�h�������333"""�]��o��#G�'''gdd�9�?:����%?3����7B��G�?�4��Y|Zl����Wq����y�<�%�7����>��PD@�������|���HW{[���Tp("��������������R�[�����\PP�<V�`:�tu�v�_��t:����F!�B!�B!�B!�B!�B!�B!�B!����_W/X��������$�������W��6�`oS/~�
���}����F�*�[GB!v9p��+UoYP���������TUU��^>���|�����z<{EE����Z�W|�G������������s���v|��q�����^��]]](�����w���������@���o�~|�U[[[qqq^^�������R��������K��?*��\hmB�M6		III��.#����HTT��'�%��OOJJ�qT�}��m�[���5��n����r�V�\����zm�^�DD�\	�|������_�jU{{�0��C�������K����1c����/��+�M������.77w������7�|�~��m���w#D\�xq�����o��}��\��o|����6Q��Hb��H[[[II	D�<yR�*WTTl���������7;;���X�
�������-[��75@+����\�"���.���A�,���������le�Okkkiii~~~SS�MP������s��Q��~GP���������8}�4�8p�0��m����[���[�[��R�6J ���^6�?
�;&�������O�0����v��x�Z+�����3��8������y��pcl��srr��K�u�v��j������j�>_�����UUU��W�;_


��;'��m�ml`c.����{����a,&���3p�s���%���z�������I���_�������|����
�<rR��=��������%''����,X�s	�8��kr�� ���8��������&�3p�,�+V��4i���KQ�w��!C�ddd���=�������gE���LKK�7n�������<��c�V7�NEd��"�}��'f�����:|����2�J�<l��e���:u*%%e���������.�KT@;���8<::z��i(A�B5����>e����_~�eu���g��?��#AAA3f��t����>�5�{�9����:2�buCfe�#���?<{�l:������@�
-_�G�3F���m��q��QP��g��8qb���`|a@�;J���'�1!� �g�yf���o��t��4+8z��������b[/�_8�^S�x�b$H���1�����4�z��Pf��9s����f�8����]��Najjj�8��aCCC���;��?��2fVHHH||����v6�-�d���lDD��(W�|�����^��
�R7������[[����8���T�
^d@>��s��z�$&L�#9pxx�Y
�+8	���K������mh�^��[��X3� ���8b�8onn���������{H�Z�H��)��nwXX������3wM�rQ��"�rVb����!Ns *�k�����4��q��ed)��|�r��}�w��l�bEee�MA���L���>B,����[[[���4����)�z�)����}���^z	������{;;;mv���X��TWWg��~��p �1���
}�Q�Fx�h���`X�1����� e��,Y����������6td�������k�����m�\�Ow����%��c�"�\�r%�~���^�%{gf7��^�2�����������2i����������E�H�0d�h���Y.��THLaA�>}��N2p�s�A��\�X�z��^RR���e��U����9V�w���J"�]�v�b@�����F���Z��3gD���$gI�4�MG5���A!����l�"v�c,!$0q�����������2��i��u�O���%P(��NLL��_XX�
Euc���wM*���?* N^0�a���������YYY���C�U��"f"��B��U�V����L����jq�	�_���5����)�h�LQ���#O�v�:���;�nM`���� 9F������z�uP�bX�6ZR����1�w�u�:u�XI5+���T����*~�����B�k���b���~�P�nzs�]fv������"��g���8?���j\�pA|?5z����tq��Y.��w�yG����n�$�?gd!�)6��"�E�0�g���;�Y������|///_�h�X�wi��:vA3A�����|�MC��\��G��E�n��l:����s\]e�� ��]�K	Lf�X��\��.			�x����=������j�(�����3g��?��m���HAA�����-V��'.]����cHp����_:�����dQ������z���5��_~���������ht��STT$E�DR7~���������fG6m�$����b��!r��,Y��(�6����������Rd/�i<X1YD�������&b�R�Vp�-Vg����N�SN�W�k����4����ht��K�2��FU��������B��K�"""�uEp���;vL�0A����O�h�4��4�-�d���,�,6l��7nF9<<�d?�[���<�������o��oYnCOyw�7�gR�+?
h��hP�v��e�Q�}����W��e��Y�/_���������kb,!$0q��'&&b��������
J^|��E������Z����F�i���Y����E�lii4h"�����T��~�!���cYYY3f���SH�������p�P���bXXX]]4��v!*���{������w0�[����_~A������*u;u������VG��9�Bs��r�0(��@.\x��ut��2���0�H30�XYN�8a(c�
�ERR����p�x��������WWW�1%k���>bT��j�����f�Ca�>}�?��;y�YN�W��X�1:�
6��=�����fv�����"��v�Y
=y��=���Q�Iv�LbJ"�Q���p�d�a#��In��������
	!���$��-2p��5�Js�����;�o5j��+�|���p.��F�� ��4���������\6g����W�^�&0�u1�0��K	Lf��"�N���o_�=����/��5+((�����E5D��;w"(!8TTT�����i��Y*�x���=B�|�IyM�S�7o�PD�M�6EEEUUU)F�;(++C�CjTXX(������W���5R ,
�_��s��$�]TT��
�3��w�
8���K���z1�|(9i�$y���X����NH���R>��c���s��y������;����J��4=���O�b��P��a������a��q����5:t��O�6��������fv��j�}�m��,���������]^y�qg��Zd���t��B�9gSRR����$�L�0����U[�Enhm5�\����'�
�L��0��� �l�&�#7�X��������bzz���e�Q��,�L�k.��6�1����y�f�
 6�_��������r����������[�O�N�'7<\���illDr+�G���d��L��������!����z�8�8�b���������v;l�9G�	NNN���9rdn�$���������3���&����:�F�"S���J�������g������			�q�~!��E	p��5_n������E^(�������;�����qd���}Iin2����r�t{ri�����a�iW�&�g��������8@�����QVV���SZZ*���/�\�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B�5��M
endstream
endobj
68 0 obj
   26722
endobj
65 0 obj
<< /Length 69 0 R
   /Filter /FlateDecode
   /Type /XObject
   /Subtype /Image
   /Width 982
   /Height 537
   /ColorSpace /DeviceRGB
   /Interpolate true
   /BitsPerComponent 8
>>
stream
x���ytT��������|����#�"�T�R*Z(n���U�X��Z$*R�����v���=��eG6Y���}
��H�K�$$0�w����������Lf.�|����������&I T�������+V����O�r���e�>l7���k999���_�|������%%%���v�Z�f����y���g�:th��d�7n�x��������vG�5�m��MvJT~~��U\�z��B�X/��@LIOOo���3g�a	YYY�����k=y��g�}��z}��	/)]Rw�N���>�����T	��0���m|���������L������t�R����=:w�������5k�������z�x��bJ�=$8���������+eX����%9k�[XX��woY~RR�d�%K���;��O>�9;v���o��F�KNN^�p����'M����(s&N�hS�u����
��K�~��2RE�H�-��V������]+{1b���/������x_^���K ������
3f�����LY�(((0f��RSSe��q���}���9�6m2?=''�s��2���v�������<4{��2om�����)���rO����%p3Yf�P)�Cj�z����������<���;wN�����}t�����_|4_������1�C�2����3d��5k���K���}�Qbb�����[k�#]\\�}���+W���KKy!�&�������!vy��v�Z�)���_�v�x�8��y���U����+����#G���?~��9���(���l�l�����mK����|y)$����E�^0v�@,�����E�g�%���?�1��`�t�R��KH�a�~���Q����!g��q��a���H	��o�:��;|�py4++�l[�>{���G`��q���III��Q�Fy���#F���d#	�9�-2�:u�
���	Z��)����?7��e�����������j�C���9|�^a��-�O�w��y������X�� P���)))�>���c!���g��4h����%C=zT�c���-s��)�{�zc�������/M�\�����j?*��7�t��MF���k�������
�a�	|��9�hzzz��V-���>Z�x����sssU������U�
srr���{�����),�Xb�Db�����mS����������������>Wc��m���IV�9,��/���=Z=:x�`�v���rH/]�4w����?��]�����_������l��Z��9������vV�\)II���w����`�u��$�I�.P�l���g����R#qt����l��%%8p h��s�$B��3����K%yc���%K�Q��e�Z���>����"��v0���+J}+�\�e���_|������jG���O}�F�h���o�5H�����7R�������i�����L)**���V���O�<YEzc����I�&sH�.���G2p����9>;vL��1c��[�������x�}�v7p�����w/X������Z��E���$'K�����8q�z��w�������r����Muk�����g���������9Ap��Iy�!�+�c��S����	j�sW���/���O�������k_�{fd���}@�	�W�^���-�����
c	��'Nt��%��M%(>�����+��~�z��f/_�\�
�UVV�������a�������c��Us�S����2�
�V-���w����\�x199�8\���dHP��L�	|���m���e_RRR:v��fv��555577W�47�BQ?k>�2���CD�8�
IJ����d�Y�fY��'������6d����9s�K1b��qX�z[�U��X�z�LKz�������+�[�^TT�>In��[n��7���9��Mk_��lyM!�Y�,^����������a�?��6J��-[dK�w����S���^�����2�	���B���S'c	�YII��[�����=*9�������/���'t�����W����R}�B�'��"�����o��F������!���;|�p�����2$p�N������I��t/	|����K�����l�dkqq���)��C�
�#G�s��4h�1��l����K������I�W���hg�z��������>Q�CIhk�0�����"/,,������~�S�N�#���]:t�Z��
$��������[����G���;W-0(U�eS�?>k����������C��2$��]���r����zA}&�����n��o�&�����������27n�h,|��)��������.Q�{�G�c3��z�d>$p[�lQ�h�����g������>J=p�@�����S�|/�OU*�g������}u3��$���O���I����pn����RH��~�=��-CW/p�e���O�.�)���4~���.�o�.�%�*55u���j�S�NU�=z�c)y��d���'�|�����={��S)/@v�`$|9��-R��}��A�_�Bp��W�>�,L�\���%�Id9r��={������	�l�E��2^���C��}�J@��Y������WK������NY������[g���=��+�]�������eH�����w����8x�`yM!;�b��1�J������h�����!2����#G���~k�Xy�d�g���i���'��~���y5!�)d����~�/r��	@���y���gggo.U^��r����S�N�aj���p�cx����?��xH���1e[E��pC�x�+MNN���A�^����1a��1c���;����j�
�5���v�Z������;v��I2���kA�5�T�HOO_�t���:u��#Gv��=y�d�v���%%%2F��}��)S��f��7���3��������/>��s/�2b���;g��)K?~�,���+jE�W����/��'+��b:$k76,77755������9q���Y�d{d�����@Yw
UVV�����I�2=}�t5���W_}%�������)))2X&�[I��u�%p��G���{�����b����/_�t�?����d��]�,X y[6C2�����H�e{$x�e�Dk�U��%~K������s���1jE�e;������={���p.����k����c�y�vG������'�U<x��k@�$���5+''G�mJ��|��$R��2-	y����C�Z%�-6(��\�RM�Zd�����6mR�RSS%�O_�j�$sI��/6f����Jb�{y�"�JJ7=u���3db������	I�'N������	&H7o�u��PI�=z���c%��w��'��'OJ�6>�u����������%i��l3fL�2�l��m�6��^���{��5yt��I������;w���������R/����|����������JV!�J ���0�8	�9rd������;|�p�P%xK����5���C����9�j��W�5m�k�.���\���+[8s�L�0���u��eff�����+�/_�8qb��U�L�����5��E��f8��,���S;w���/k�������?����n����HFNN��)��'M�d|������Q�j�m��e�1����O�>{���@�����_��n�������l�z�[%���2�on�X�BM/Z�h�����O7~hT���vg��i��yT^#hwIqq��3.\(u���;/]��>'K�U�����C�<e������]�v������Zl�	<//Ob���K%KK�MR�;33S�a��
��`��Y��g���<�f��u�����U�V�O��e��e�dB��Z�l�<������W��To�;YYY'N����RSS�$pxt������K���YXX�f��b|������m��c���p3sL
�S���j~HV-�W6����������������k~#Z����;w�={V��w���d��n�*{d^��=z��F�8}����;���S�d-2� � *�KL�<�l�2��#G���;�l����-�s����6��_o�x������G�W�\)��������o$~[?*S��_@����.�������l�"������<yR�n���e�Q���A�����[o���G��o��9v��L���#GV�^�J�*M�4����9�o���eN�5F�e7�a��5�k���{w~~~�=x�����������?~�Z�j���2�U�Vm����o��96l����sss��222�.]��/\�P�re�x���;u�4p����d��2g��i			jXVV�=��#qqqT3[�h����@k���>��L<��Cu��MLL|��W���w�����jXAA�
���v[aa����C��}�j����c�s�=w��9��,���������&LHJJ�����SRRr�-��D�J�dZ����K�^����dggo�C�f��s���qc����N�t���w��C�5>����W�jU����=�f������
�`6a��
=z��s�wdee�������7/==���Vs/^��Q#�x��'�,Y�f6l�0--M;�a���?����������C��S�N�N�$f��������o��]�j�RRRd��)SdZ�4m�T�k�0�Y��������W���g���EEEjNnn����������f<}���2,999//�a_8p>����v��~�C2 ���<���#���]�sJ,(�<�@�%��P�y����=�K�7��i-��/�s�V_�[;��!~!<�e:���C����������O�%��P�N�r�N/*N�U���Wz-�mb���y/el~r�:��<$"��p�p���+�e� ~�~��������^�6*yq��F}.j��!�2����!<��YK����d@��n�M���[}��vx9r��Fu�7���_���������6�M���[}��L8�H�PaH�p@b	*	H�@� �����������O�e��3������7v��s���F�-3��_�0�%8����A��Ms�Z������k���;������LII��O���>��3u���z�jqq�L������U������G�8;H����5*!!AM:t���d�Q�FK�.��k��=������_�f�#�<����7����r?p�$p v��;�9����L&�V�����/���w�2t���m��9g������~�	H�@� �#F\�z�E���O��J�*��j~�.]z����W/�QRR������ ����nx��t���H7	<���I��.3f�I��.�M��p�&��o��L��-���!�����I�wr.��|���s��o�T�RX��������������D5������ns?p���yx��}�dO��8����#��;��s������w��!5��e��R���<(���qa8��}�����V��g�_��@DmX{�oMs7�~�C2 ���_N��o@�\�x�A�&L0�|���������gffV�Z����'N���O~"���6m�����t?p�HI�p@��)�����B�k������C%/�dW��P#O�-�.~��#�/������
�n��u�$p���#~p=�y����{��[o�^��P#
T�Z���+7n�8''��0���,
t�x�����!P�N/$p7���{~@�s�?�~�C2 ��w���a����F:�o��}Q��8���C];	@������7�O���K��
u��F/E'������a\=	<B�W����#{��r��>~�/��P����J������	�
������zx���I�|�9~������] ��#�$��D'������	��H�n��c	��#�?P$px�"��A�M$p8��3�#����	�
xl"���xD'�C��	<6��I�<"����Ew��H�$p��I��"��A�M$�H�8��9�s�0�[�<$���8	Z$p7H�����C�6BxyaC'�C��	<6�&��Y�����!P*�o"�~35Rx9"��A�M�I�����b�� "H�7S#%��#�$������@�"��L��^�H�n��c	�f�q����HI����	<6��o��� ��L��^�H�n��c	�f�q����HI����	<6��o��� ��L��^�H�n��cSdxF��g��aw���d�wC�q�V$�������Qdx#�H��)�	��}i�/���X�q|�����.�! rH�>h�����Qdx#�H��)�	������nP2@���}�H]#����&�J#�H��������8p>���v�yH��Gn���F�	���� ��&�n���!~!<�=pC$p4R�H����	<6��}p�p]�8�� �����F#-G$p7H�����	�n$p4R�h���}imX{�oM���<$�Hx9#�G	�78�H�>h���H����8��x��!�Hx9#�G	�78�H�>h���H�Q82	����#���	�n$p4R�h����	<6��}p� ���}#u�aW�h�$��Ew��H�>�q�����������{4Rx�"��A�M$p77�+������.�!�F���D#%�C��	<6q�ps�p��FW#I�@�����Ew���q��q��8�h�$ph���G�{�P�
���B��
%�G78�h�$ph���Gw��F�n(	<B�q��xD#%�C��F8x82�78�h�$ph��� ��&n$p�HI��"��A�M�8H�<�����Ew���q��xD#%�C��	<6q� ���FJ�	�
xl��A���-�$������#)	Z$p7H���	�G4R8�H�n��c78�h�$ph��� ��&n$p�HI��"��A�M�8H�<�����Ew���q��xD#%�C��	<6q� ���F���uf`J+�*��R4�rDw���q��xD#�A���
��(E#-G$p7H���	�G4R$pi$����K?p>���vE!��r<,7=n$p�HI��"�������^��������#)	Z$p7���)������#)	Z$p7H���	�G4R8�H�n��c78�h�$ph��� ��&n$p�HI��"��A�M�8H�����������c����D�9rd����T���I����#�6n�X���Qc��Qv�*)	Z$p7H���	�STT��[�J�*	<55����7�9~�x�j�233���[�j��m[��f)��a���o�=77W;������Ew���q���;}��i������o$p����������%K��i��%$$�G����������;x������E����0��FJ�	�
xl��A��\�rE��^J�y�����������+���W���K�o���+W���n����P����C��}��*)	Z$p7H���	>eN���sss���/�8a������]��9%%%����[R�J�dZ����K�^����dggo�#7�T�t�HC]��F�F�i�j��F�F�i�����F�F�i�����F�F�i���Q�
Gi�I�j����,7#�eR����������w�6�����9��u���w��C�5>����W�jU����=�f������
�C�x+�����{�n�xl���{��)s���;����t�������������9�/n���L<��K�,Q36l�����P�HI��"��A�M�8H��)s2dH�:u:u���� 1��T\\\|||�v��U����"��L�"�2�i��2���X;������Ew���q���S�J��^��O�>�'O.**Rsrss���_���4c����eXrrr^^��0��FJ�	�
xl��A���-�$������#)	Z$p7H���	�G4R8�H�n��c78�h�$ph��� ��&n$p�HI��"��A�M�8H�<�����Ew���q��xD#%�C��	<6q� ���FJ�	�
xl��A���-�$������#)	Z$p7H���	�G4R8�H�n��cS8����E���lK#��P#�r� �p@'�C��	<6��:���!\������	�-�$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"�������Q$����� �S@�"��i�W��=?��]��d�I#�i�&c�����
��B�j$	<6��:H�T�H�n�C�6B�I#�i�&c��C�6B�I�M��8�D+8�Z��a��p���~��nT�H�4Rh�&c�	�|S�8� Z��i���M�8���:�qP@�"��H����$p8�Mup��:�hE��B�7#�Q��o.����.���j$��|S�8�\/++k��U��������;v��s��������G������:!!��H����a)
���}W#)�������Au�$''���������6%%��?���~��3���S�������2/3�V�����~BE��B�7#(
8�Mup��:�������Y�~��Fo�����Ke���k>�������Y��#��G�����SO��P��i���M�J�|S�8�|O����Rs�V�������y��!C�:�m��j��3g~����P��i���M�J�|S�8�\���+U�t��U5��K��={����k��jNII��C��*8�Z��a@i��o������x�*U
���;v�������������v�m������Gn������v7�T�t�H�H7�T�t�H�H7�T�t�H�H7���}w�H�H7�4�s��Qn2���4����3�T7��bH�gj.O�w��!5��e��R			j���e��aU8���vzQqz-�.�^K�����[Q�7����g��nT�gN�o���?����������U�?~���?��O�[���M������!Tai�����F�Hi�Q�7#(
8�Mup��:p=s?v��c�=v���V�^}��j��A��U�V�r��������P�Hi���Mi��g��nT�h�4Rh��4����3�T7��V4R)�|Sa@i��o���D+)�Z�)�0�4��7��������F
-��FPp�����Au��FJ#��oJ#(
8�Mup��:�hE#��B�7�����:�qP@����H����J�|S�8� Z�Hi���Mi��g��nT�h�4Rh��4\�t:����vE!�5���3�T7��V4R)�|S������K������:�qP@����H����p���4��o���D+)�Z�)
�(
J����:�qP@����H����p���4��o���D+)�Z�)�=�]k��<$JQ�Fy�Mup��:�hE#��B�7����^���4��o���D+)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T��#)�Z��;T�����c�~`�f�9�z��U�Ti��INN���7n,sj��1j�(�a��F
-J�������M 55����7�9~�x�j�233���[�j��m[��f)��a���o�=77W;����H�EiP�CuP�	�����:u8p`rr�di�3m�����hVV�=��#qqqT3[�h�����P�Hi���4(
��:��z���u�&&&���+����t����[�hAAA���e���n+,,T3;t���o_�0��FJ#��Ai��Au�& Y:77WM����&LHJJ�����SRRr�-�-�J�*�����K�^�zi�����Gn������n������n������n������n����~��.������:�	Q��PT�$m�=.�Y��{��=t�P�C�yyyU�V�	�����j����;l�0�0���2x+Z��;T����w�������7o>o������~X�Y�xq�F�d��'�X�d����a���4�0��FJ#��Ai��Au�&0d��:u�t��)!!AbvI�������v��U�V-%%E�M�2E�eN��Me|qq�vBE#��B���4`���:psX�zu�>}&O�\TT�����>�_�~iii������������<�a	��F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J���������F
-J������@�9rd����T���I����Ho�/�Hi���4(
��:������W�V-333??�U�Vm�������F
-J������@,�6mZBB��������{"�=>E#��B���4`���:������

*W����))�Z��;T��X�����kW5]RRr�-�X�$''�I��#l����g�����V���nn���?���^�xq�F�"�=�����$...>>�]�v��UKII��7����������/---���RRRR�������3����^zi��YjN||���c#�q@����o������#GV�^�J�*M�4���	P&�I�
�����[}��}���� �7n,�Q�F�Q�F����/7o��]�v/�������������k�.**���@4����[�J�*	�f���J��g?�o����������Hn%P�v��q�}���?P�?~�Z�j�"���[�j���e�X�f�	��w��B����< 3�,%s6l�p�������?�_���<���o�=Z&$�O�:5�[Q�O�>�[�~����^�re	W�\���~t����~x��9�F�BI�X�h����M�������������e������t�R5}��)����;x�����E�����}�v��Y�����L�S$�_�z5R�
�I"�������`�����7o�\B�#�<"#��T,UF0`@bb��.((P��2A,�1c���>+��v[aa����C��7n���~w����|��M���bN�.\:t��#��?���J��P������kW5]RRr�-�(��;v<��s�����J�*IQ��]�t���W����>}�l��a����5���@1'p���c�����b���%i��~�����U���Q&�)7n�_�~~~��V�����j��w�6l�1����v�����A?40X��������]�v}�/2�T8#����?���jz����52�P&�)&Lh�����G�9O<���%K�t��
��������/����
�`�r����V�Z���M��q�����7Gf��
g$����������v��U�V-%%�C� vl��Q"���}��1e�)
)��M���S��u@.\���~v���~��g.\�~h"��QhU)������7j��P_���k������������_�2A,Y�fM������/�+?999//��}����'����|�C���=�K^K��b�%�/yT�Dz3c��O�N��'�/�m�wJ��^�Q��KDz���S��_���o�}��2&���
1�u�����d�����F}.:�������/6L�����].dm)�D���o322�����
n�U�[���+�l�b�s��99#�}���5k�k-;w�2dHZZ���Y�f�=Q{��}����r�������d����=z��12a��@
8��*���"�F�J�?�/�_2&|`��.X�@{�|�"�-8��
��	��?7��k]�Z�j���p��ZSZ���~U��rA��M�_~�e��-����[�zu�Q)�z76 TQ���~���[���={�a��o��FRRR�
>���rY�������(7������l:Y��|�����w���������G����r
��&^�5�5-$�H���H�v�p���5k���}2H���U��%�����T��E�|�A����[6^ZM4l@�1���'�m��
6l��9%%�}Xe��C�MII�|���#�znnnrr�������K�=D�������c���������ys��?;;{��qC�1�fM��������G���(/^��M�81??��)/�G�)��k����7o��'O�T��rd7�o����Ul��Iffff�9)U�J���ew��>����Rsd�e�l���;�,{'�����w�}6?x�`�q�be������W�s&M����o��#G��}��A[b]���j�*9����o���#��6m��K��G^N�q+q~4��Sg<##C�������=��K"$x��,�V���t�.]�z�u�V�\)K��k��)K��~��g�'O>����{�n��1c�1�8t��`�=_�!m��f@Wn�1��5k��-FzO����4k��q��v	������tMR�9s���/��Bm�q��W���T���	�~��PXOq��e.ys�0�b��y�^���^au-�u���p����hK���`��r����^Y�0�%gV�C�������KB��%K���U�p_��u���<��0_���2���t��c�.�������i��rO�9����[�n��=[�l��3����r�>��S��uS3�����o���Z��O>�n�:�b�4h����cA��:u���6�K��������@������<��g��m����s�=g,G&��i#O�������f�|��W��������_~����KHH���l�����V�Z�Sx���U�2��2�v��r��T�c.7������%rL�0�9���r^d����?����yj����e�c�=v����&)-Y�P��m��++��!h�v-2�^�z��w��'��~��rF^z��&M����������O�?������:��j���z��.��xI�9Y�)C��C��������r��Z�n%3�����������9�����.["�w�}���|������i��:5v}C[�]���e���f�B^|��F����<&�
����G���'k�'�4���~���+�&)���W_����du��Z�L�����:N����Sl���%on�7����^�u���%	\�^�Z��\�:u*�)��S&\.�<dB���1z��W�����Sf�Y�%!�#�Nz�<�����k=#�������.�������������%���xL�r�S/3�������?���J�R����r���1S*Q^T�y���?'w�b��������n���$Y�xO���O?
X�����T/�W�^mN���3g��y���L�6�����;�J_��QC&�OJ�S��E���Z�45�S�N�r;p�[|!����qE���m�d�v��rv���
���z/Ef������w`>��y��d�B��Z���z��y�����Ef������h�������q~�z���_{�5�h����x����$B�%�W���;��?Z����f���Ugdd�=]&d��5�����W&�P�]OU����7�?)�3b�=_����
mal�Mr��l�,Dv��xE��'N��7����vH�rI���E�h�"m���/)3e����X�L��%�l���Ct������C�����yH�Y�S�N�R���)((���'��b-a�������G%i��;}�tu�;z�h��
e��O�N�ug�������W��t�/�?���`w�{����.�k�O��\xL�5k��W��9R���C^r<8Pz��w<��!C��������q�d"h�R#�{��[��+������?��C�\�s�6&d����W���1'p����3���|��y�R��MT�a�����k�#�$p9��n*r���i9;������Y�V-���'�Qv\^�gee�"GL����:e|����J��8/vk1+���4.7�Z/?��`=�v�DH�$��?Y��I��7on=Y���>}���A�^~�eY�:>'O�T����������������3�|��R��
malN��B*>�Wd?�X����,���e-�U[��������C��/��/j!�+��|��m?t(�N����9��i�k,dx��Z�/~�������y�$����.]�������#,��O�N�ug����<e�~���������Z�����#��R�n]o��r�1����������{�����j�C�r�J/Wy�l�����?%_}����z+%%%h���5S/���	��/�|��G���'��k��u	\nX�se#���A�Ak1�3fL�����J{;(s����G���`c��W�N�m�:u2f��WOM�����={v�
�>�������[W'���_��������T�k1�{�����A�4�������,XO��%/	�"O��M�$��i�S���z�:w�l��n��2��I���������1Vt����3g6j�H}~R��3�|��e�7���n=�r��7�����<&������7��H��Z>������k�d�4��[�NB������zeZ���k���Ca�#cZ{u�?��s���w�~�k,dx����+���s�$������b06F.����)S�<�������'t�L���KB��q�^�%p����Cj�������J��J�n�$p��	�M�6rI,\�P������������}��-R�
�^��re���<�*����w�}�4L�����������0�^�����7dK�m�V�~�^�z,L������%�=eN����{�l��A�6��������?5����w�^9����y��7�S#�r.��������e�Wo��=??��������z����^)��X���5*h��K��y��3f�m�v-�c���o�5#�N6O�;������}�F�r����z�i��1a=�v�DH�$��<Y�7o��o+�V�I��h�"h��E���E^U�z�bk���s�N����$�G��dE�T���yy�����mO�1s8_v}�x��.9S����N��T|�H?�K��Ir�6l� �G.um�|���%�edd���P�^����	m?t(������7���r���?{��l����o]o����^�u-	\^X�U${-���k	��7D���1���8�v��E�a�{b@w��;k�$dwdeO���>c�h�����3X/r�Ua�#y$#eO���k�w�iwnxL�r���w�y����adyA��U�Z�j=��Cs��Q��J�5k��)�U�VO��7�z���e�k�������I�~����>+�}����~�f���`���r�7n��Pw ��6R����_����^[��y��Is�-��E�M��_�����U����#;��_����_W��&&&�l�������e�����M����G}T
�9q������h�b>V�1�[����.1C��f��>*��f����
�^~�&���%����NV��|��O����~�A�ER�x����/:;v�T����G?���iiir���{W���������!�9�/��a<�M����Z�HW�s���~����t����aCu�h�������w�����
���Wf�������j�.���;+��T�,�����)5���27a���"�z��1j%�1XK8P�Qp	�ry��`>2@�@���Ui�Y�%!�K��ld��M��Eu����C��]�����Gs���)/����n��i=�{�����Z�;�����G^���o�>���PU����q:tH��������(Q.�D�>��9Y~7h� #~�955�_�]1�<J�!n ����b����7L�2��Z�wy9��A��/z\�{6l����W�={���o~�>a�N�l��e��Uh������7o^�1 �x�\�w� �g��q;+�d�]�-��������u�G}��
��-<���	\�x��(������A���P�@��=��Y�/y��*�l������0�3f�47�/��*�._.9���u���#�?Y�e����'k��J9�%�x�$���_�|���$��FV����+W�,X�`��!3f�0�VH�N^:�}����<�};���Ia~����B�����zy��/�mD�����'�d@��7pi����r����F�<�R�������6@�yr��~Ed�V�X�e���k�����>�l���n~�S�=/���_��yF�
�"�aA�������V)�^���7�*�5�QXX8y���������]��_ty����?�'mg����v�_���.��+�����p����n�������fX�`�vk+�z�Y�f����~�mFFF9nP��6�?���[�n5����s��������SO�k���K��`�evV/��6�]���G=���*���,�+!:���c���?������HUM�_:Y}���-[�4������O>)m�I�&]�t�>������(�5�f��������f�������-|���(<�@�<&��/���>����Rs�E��:t���;�U��jd��;dN~~���_�<8����'O���W����%t���|��������C�h�[s��m��9s��w��*��M�
3�L�<$?~���'����055UFn��]���U�+qy�9���G�M�6����e4������7�����e��1c�=jl��LcZ&�����#���q�7o��#���G�	��^a��AF���KYYY���NV��2���MNN�>}���t�R�T�X�b���7�G9�����;��)S�3nw��W��+!$x8N��K)#��Pk����M�6�?x���=n�8���Q#d333�g�����Y���=�W��cG9;�9R\�pd"//�v������;}����n�<4s���>���/�P��U��|:����
cE��O"Mo�����e�48�[�Lit��5k���]��f�w�
�e_�^iAmM�����j�V�Z%��}��G�<m^o��|�K/**�.�����s�������;&s�z�)yQ��gO��p��@i�=���R,j����e�c�=v���X�d�<�d���m��i���ti2���#�)�W�^M�6UoU�v���u������=��3����>��M��������o2����O�S�V�d�<�`�7�x��'^�uy�����$$���_�G���4iRT*�@�����=[6����������F&&&�w�}���\��1-���JRR�������/���{			�yH���xI�y=f��%;k�o=Yv��la�n��L���o���Z��O>�n�u�����S gD�%gD��;wAW]���/	<L'1���v��Pk�m����W%�+qY]�Rw�}�j����{N��*CB�-[&#e�^|��F��Y�D�
�sj=,�������!��g�}V�)���O?}���F�f�.���O������k�(��a=��b=�q�^~fd�e!������'�%�s�Y�7I������
��f�w�
�}_
���m�����z��u��}��]�7���K���K��h�i5�U����V�E����������zSf������w0>��y]�d�AX^���w�����OYlrrr�S����#.\� �#`*�?����@i���SK���b��3g��y��2!]]��Z��Z�g�Y�k��������#�A��S�n�za���6`����e�o�I;~�x���&�{�v)N
�~��;�J���Q���BB�%�W����B�q����ew����)�r9�����G�0����
�y�B������������Q�st��]	!����w�7��Dd-����x�����-[�f����O?U����fv��IzE��cK�c���$��h���j��d�/~��3fX�m[�z�Z��E�i7������,,,�l�����k�(��������0'���O.0�f����O�\oA�>q��o~����l����������t�9��d��~�m��3����yI�C�����y�����E�����JO��o����Z�j���%iS�Q�ex�G$��kd�?��u���j�����,�'�ef��5�5��)�C�F�����������7T�FZ�D��f��uu�����Jm��f����8y�d||����o��G�y���"����O��j/	�"�E:�q7������7�d��tS�6m�7n�8�|f�{5v���Y�i20&�����+!$^x9���3����%c>�AGx���~��dy��dk�&�O����{*A�w��vGF�������f���)��]w�%[��/���b=�n�7��b=�����]6�/�P�	��-��HP������W1��y��7�@(}5�Js��i�y������>z���M3fL����T\�:u����S'cf�z������={v�
�>���������KFv��MM_�t�v��A�V2L^^��)�C��{onn����CiM]@��o���y	�Wa����{N�8�|��JO�:����N�8��y����3g��^}�h�����F;�-F���xI�y=(�cox��.����9i��@�������o��VJJJ��;����N;����7�B�%���It���%cMj��_~��#���7O�W��]�K6�e;������v+2�A����)9��tkRR��&����G}4~�x�FJ?U�n�:	]��M�p����y�
c�z�I�3"�Q�	��-hf��
4�������b ��j�#c�z�:��������t������>�%������8x���F���.\(����l�r���>�@}FB�������}{~~�{��gi)4)^����J��5*h������5�1���{��6m�H��W��R�S���_����e�d�d���o8���x)si���A�%$$�_�y�����5J����
b����e�T��~�+�����!ie���_~y��)���h���+��}��I�����K���A����>�ae=Yv���Qffff�����$����[.��[�1`s�q>w��x�FWBH�$�0���c"��L�s�c5|��7�xCN��m������W��MJ8�� �,K�{���������K/�$����+_���J2����mi�Do���n���1������� �+##��46U{E9����_i�KH	\����������Y����fwd�fX�7��ko���j��m�F��c���yg'M���Y�T������xUQ�}��xW*"jb�E+��.HB �iH��V^�@oIZ��)�(TP��%�?514��r�
54��b8��=���5����sp}?�,��g�~���g?��9sfD�^nFF������t>����������1k�������I+fPrrrLLL��}Q�O�1�17�
l,s���UYY���7u����F�^L�)S�����N��^N�����3g�@��%%%��a.T\\<j�(42y�dy^oG�z�������7����7�����
D���.,X n���w/�G,=h�Nn�H�p�,O�����Q��^�~���`��=X��`�����CCCm������N�e���'t	��B���XfD�SF�4&~DD1:::???22R1��X�E����H|9n!s��9z�8'B����WPP���o2�nh
�l�G�7T������jU��i
�q�R���;�F�^^��9IWq�,��!�=�7���D�qU��aXC�������,B:
N�4	9�(��E����]�����"	N���7������}��.�aq����x�y�>5������<
�\aa�w��M�;VVV&�����n�A#x8��r���j��oTp(�0x9r$**��&9�+�>m�N�Q��_��<555((�������-���m�~��C>5��L�6-<<<---...88�������9~�x������V�X1b��;�����l7������B�?n��O��6��M����U\555v^.O<I���W[�>��P�O�����M�6�g�uGn��u^m����C>5��ttt���fee���D�e���\������vg���KV�N�_���!�B!�B!�B!�B!�B!�B!�B!��#~������U_o4�`/�x[MB�*��J�\e�,��6v�����������7X|P��:B����*������������������2|N�w���/jj��x����u�E��.�x���O�$���UUUw|��={�������7��8���o�����������y�����9H������Z��������qC���!E���7����%���vh.�6!�&>��0 99���0foK�"aaa�N�R�L�6m���w�=�G�w�u��b���wS�OII���Z�zuhh������x�>hs�W3��[��7n��5�����^)z>�.Q��c��9x���tsh.�6!�&�3���������y���o���a��;���"._��y���;w���>�L.��7���ku���EP$��T������"N�>�������l�R__��������YPP ���f[ZZ����m�&����&��z��h��.]�4d���%�8p`ss����imm-**��iScc#�MP�������'`�A	,������?Z������s��!���!����o1���o�oy�K��(����:���(<y����k�.t��O?����dr�F}�@�Vr[#W�'f67�qN��%?�����������gee�5�����W�Z+3UUU8D}�`����+**����������.H%e�r�����?���}�6n�����F����������qA	�/������eh�5�W������F=������<8���Dq}O����+��_kAIIIp'C���y��y�\;�����64��6:vtthb�a�	!���a���U�&N��t�R������A+V����y��g��������*
o���E#O?����G���Sa���c�}���3g���6���T�*:t��eg��INN���HKK�4iRTT���vpxxx���SQ�0�j�m������6!���k�����#��'����O�~���!z} j���K�
!ud������fG`�'�xb��Y(<x���
{��&Z�r%�3f�>W�I���#���/�8a��v)(����w�8p@4cB����G,�/����3�y���iVp�{�[���!��^��2p���d���H�>!/�c.�;3�iTu�������x�~��;�,m^\\p
s��14%a�������N1�O�����5`��������#��2l�K8�������`�GQ(�?��c�������nV?�����F+9�qq).���'��0�|����	�I��oGr��� 1��Wp$��1�b�Q�g1r�� b/�422�����f.A�:3p�@q2���,�q��UV�_}�=$b�D�E���M---C�AX���_����3wM�rQ��"�rVb���g!Ns *�k�����4�=���ed)�hjj��������M\�8r��MA���L��O>A,����[[[srr���4����)�{�9����s��W_}.\=ztgg���`]��Z�jkk
{����$6����SO=%��p����0 F�����L���%K233��C�����
6(�^k�#��r[�#��r/��B�W�`dCBB�y�^�C�y�f����3��FU�Z�x�����7�|S\����B����`P��A�^2a4qU�,�p*$�0��G�f�t	'��9�� �
a.l�]�VXo���k��5�W]����X9��vB+Q�l6##C1	 aaa�g#��e-���s�wzp���$O�����e�z���t���m��1���8��{��u��-u	VL�W�4|����+���(�S'$$`��������1O���&A��'/�0�����c�������������WI3NE!���5k�^�i&H�MT�������_��^�B�F����7������#�o�#��������c��������!Q���KA!�Ul�e!E��l���o_(0e���jVp���>���U��������������O?����������Q�m�
E����3p~)��t���~j��Q��/���e���{����{
�N2p�sAb�b�-r]�#{��y���e�zk��]�����E�!��Qz��m�c�7��)�����64KTT��'�"�n��\6UmU�9�.�2XkU�.}�%��&3p�SW�^U�0����bg���+���I����>R\_@��1c���;v�Pl�"����/VK�X&L��t���'O"1���
�~�������D	�7���������"����b����B���M�O~~�
I�P���?��#�R���e��fSb��A��1Z�d�:�\������?��J��@�1p�@�dQ\'G����J1Z���X�q&b�;�K8�^Mqqqjj����c�>}4���%w��M����[�Po�qf!���+�����"�x���]���/�[���b4|��h�N2p�sA:Tl�;�_�����m���~��G�����������,�������	R�3)������_4�u�w����������kE��e�,��+W��b����{�51���8��0�[[[8�e%�����E�ZZZjjj�W����Bd��
��������CD��TRc�����8q,==}�����a
�@]]]ss3bJ��cY2dHmm-4��v!*~��������w0�[����_~A������"u;s������RG��;�Bs��A1��8��7n����4��
����1E����r��)C)kT@/.\(�7\/�q�����UUU��GIFF����GX�P=MKK3�
{�������
�2p���������n��q��Yn�%�5��FU��������R����z�!�N��g
8S��b����'
�N2p�s600Gp@��'VHq�'��l�����9V�+''g���>x���#W�Z����o��s1���0:n������,8x�����c����8[�v�4�A�3p��y����XB�o�0G1e���={"��_�755��9����rII���H�g�%���ryxbbbhh�a�f�����6j�(�<y���&Q���[�B("��-[���***�����"�!5����mZ
FL�������)���
�9t��m����W��
�Y�;��
���T��s����'N����l�5(..�w���./	�����������y�������(���(��h������A�E������K��_�8����*++1�����S��Kjkf7����������R(�
�
N���u�`�qg��Zd���t	��B�9g���cbb�$�L�0����U[�Enhm5�\�����Att4�`dd�b2�H�E���T\�pb!n3g�C��lq���6�MGE�F�0��I������������>�B|�<��V�F�k�r�����2�]__������{�G�N�'w<\���ihh@r+�E���e��L���������!����:�8�8�b�����������a��9~�x������V�X1b��;�E�t3���}�:�����HF}�u��
E��G������sF���������������`��{����"��8����Z�2�`�s�
6m�$!�urss6�����O�������}��@�'w����k��v�k���W�������]:::JKK��������������B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B�����
endstream
endobj
69 0 obj
   27061
endobj
66 0 obj
<< /Length 70 0 R
   /Filter /FlateDecode
   /Type /XObject
   /Subtype /Image
   /Width 982
   /Height 537
   /ColorSpace /DeviceRGB
   /Interpolate true
   /BitsPerComponent 8
>>
stream
x���w�u�������^����e��uEEd�"kXu������"�����9�""��C������$ 0��0�af����|�~EW�����nz��8s8Euu���������	��xKOO�?��Y�6m�T�����|���;v���@~~��}�/^<s�Lmh��myyy�K�>}z��u�����+V�8r�H���o��\���K����m<������3g��^�Z;�����&��=�JP�,X��g�G�.�6o���n������~��g
���C�������n���{�>�`���jJ����6���/�8v�X���3�;�������~���GG��e�:c���Q-�����n�Z����kssssrr
���'�s��ovvv������m����>}����?��c�i����={�%�'����'O�6m�����4i�9�
r3-k�>}��3f��2e��4�{�����z������~�������'t�b\yX{���{cy�B�.]����{�����r-p��ig��5r�H�0`�3�c����l�2�������Y3�wz�H]��#G>��#�4v��B�6����yJ�� ���`{�Mf��������Wgff����Q�}�������9S�N�2%l�f�o���3�Q�F��}iz��Q�?o�<gw"u��|��I�����:�H����Y�f������3�M�B�&tL��]�}�� |����]�;v����wnr���[�������{�h������
����;w���}�n��^y��}����l�����������S!�S�����;�����E�{���}��W�9j�g��aY��4-v���[��7�>|�>��={jI5��W�������K�n���p�5+;vl�.]�#0`������m�:s>��sg�'N����w�aLMMu:a3g�����
fi������T���_���@9]���{��i��U��|(��6�[��9+W�t��Y�f�V�rn����MJKKS����;oq7`6l�t��]:�r��]����{w�u:�}���0�1bD��N^��7�|�m�6��`����e��Z�]�v�G�^�|���]����7N�.X��p�5+����M�v������x7o�|��9������3s6n�h�b����Xm�Zb�Q���W��������;rss7m�d�W�����������I�&�����}��5�v��M����ouHO�<9~����H�][4�?��3��E���V���\��@���g�YR����>wfp#�Z,unj�}W�V�U�V�F��lT������:[��&M��K��uk��G�Um>�tz3f�P��,c���O��[��n�f��}��3���z���1]����:s�����)S�4,�������<�������	����4,x�{�j�53==]�����W��9sF�u�V���2���������G�;p��a�z�F�����|����O�����E��_�F�k�5k�D3��'O�_�~��I�|���f�b���^.\�p��A������;������'6t�i<�h��'L���Q�������9a8x���e�&=�0o�p0{�� �y�`�w��=3z��~�y����0`@����������A�x�v���-�����D4������7o������e��u����������#�7{��������^�7o6����,��:u��*��3��U8��c�w�f����{76�������������;C�:���fF����5�a�u~�KZZZ�����-Z�92##�wm���|�}�5���MD��u��:uR�4f���ax��U���w�������u��q�k������l������*��s��;W������lX���_K�w���N�H��r�������>|x��7f�9����L�6���G���7�e����1�
���+5�V�Z5,x����k!:ps��);;[s�6m��@����o���[���j��]j������cG��/��������5�y�y}���4��0�����u���e��=��u�����~����z��I4�-Dn^�7��a>;���K�~���_~i�z����O�����/NQ��;��2/������cNM��]������|���%��{*�^
���y����
��������Y��f��?--M+���V����n>���iS������=z�
-Y�D}��,dee�Z��C��?~�x���~Ow�P���;f���_c����m!:�-Z��:J��z�`���u<��yU�yN�f��O?����S�K�.uV>t�Pg��2v=1��r��=92�3����R�/�`����e2d���r�>.��2o�����z�	&�/��S����c�7o���������:_�'�����}�Ts�|����j���r4�Bt��	��&L�4i��zNa�4���+�t��f�������#'O�lV>l�0s��]��������?��cs��$m���N���Xv��t�:�S�N5_���kW�����Y��H�j�S/�����S���O�
6���S�N_~�e4�P��Q�k��5����T���9s����s���l�Rm����W�E���f���U�������m!:p�YMx�V��4i��[7=����6�,c*���}�������ju������sg�~���v���I���������;F�~���O����Sh��Wm���O�����?��L�X�"�;Z��IOO�}Ua�D?��b��Bo:n+,>���ep����3�<55��Z/��y��k�P�iH��D�}�u������\�bo,/��y�{v�I���^�(URf������-[�
���3f9rd��)�>|��={�e���7��~���;6##��?v�����_2d�����{��C�&N���h�[�n53>��Z�V�r�����PA��`�
�,�s�N�_��3g����3���;��o�0`��Y�f�s_���w��y��O����������:t�6:a�
���M�F���h�tL���k��=Z3�����h���g�~3$m�����s���������u���-\�p��if����w_����?f��������Fh��@�"�a���>j����u��P}�����v7��oO�8q��I��j��x��U����]X�����sss�Diy���#F�Pc��Z�:a{~���uZ��?x����~��4+Q���M�b��[S_�k�.�W��Fq��Y�N������+�1j�y���Fr��Q=5�zB�v���Y 33S���;4��u�&MRo������jf�S�N����F�*�������thZ7�7�le�������vu_5��}��5f��iw-�3<��f�n��7
��~P�k��m��H;�\�nz��
�����k�����0�������+3�K�.Ui��8��q&�~������}�jB���rg������?���|u�P{�^�]���U�={���O+Q�m��l�2�)5}����?�5*tn�:g�g����\�R#G�Ts���2���V�a:��O��������y���f�Z��C��c������A�9��t�_��{������/n_~��6���H;�\�nZOL����0C���8�`�:�Ho�����y0��s�vf�[w���Z�����L�����{�{���4���3���/_���K=�i)��$T��kx�q�:x����A?~�����&�
6t��/���y�b�������
�������B����M���A�E��v��|�aD3@��wfF��{W�n�:�W����{��w�}�����={�8p`������:uj���!��mJ�+�}
��o��M��m{������w�������c����>l��,Z����Z��p^^��W���S��P|��W��Ow���`�,Y�o������q
�y�%����?�����y�����r.���h���}q��2f����
vv�G�q�A-?����W�7b��!J�g��1������:t��u��`-C
��������E�
^��5kV(��u��i��pl�����D[��a����r��!G�]�z���j���y�x��)�7o6�w��9i�$�&233����c*� ���3��g��Us�O�95���y���^�|�����d���wgc9�u��{o�J���F�1�Hj����k��"��e����H�,Y�`�uq��.�9s��O�����w������MU�k��$�\�����i����(�V����1c�zi5��F�r>�9r�H5��/Vi>�x��a����-Z���M��h��Z��k��
:x�`��xkx�����8p�7�|�q�=Zkp���M�<y����U�p����������@#�x�!��4��v����������5~�D�f��0"��DR��j���\d������2a����Z����7n��~����<�������}�v�[��u���i����HCr�d&�����n��E������
isj�m���Q[Qw�a����3�jb����VG������t��u���L�{������|���V�,c:R�S�u@�+�a��7
[k������l�����999[�n�����s��8@��^���c�������.���t!+mii�_�"w���!C�L�:u����g����OG��U�dW�:��Uz������y���+Wn����f���t�^��IR"q@�k��m�V����}�j��q��W�P���?73���S�|y�|����@����9s�e��e��q:�W
dee-Y���K/�����wo�r��/_�����{���}K�nI�C������w��R�J��m3�u��IKK>|���>k�l����k��],�C�PNN��mU�����K����t�F�:v���s�&M��9�O����~��X�G$/w^�L���<3��y�v���m��E�f�n��/~��X�:���Wq�4�s�pw�e��=r���~���z����G��o�������{�@�rw��������t�j�����`��;�����6mZ���}����K��=��d�'|t�H�(w>t��r������5k��R�Jnnn^^^�J�RRR4S7�]zK�(�,����'z����g����C������L3'##�W�^�:ur���]����6?�#Pr���D�8Ot�@<���D�8Ot�@<���D�8Ot�@<���D�8Ot�@<��vK��=��d�t�&-��1�dB�Y�o�	O�@2���(Zt�E���##�h�]vd-������Ew��P��.;2��`GF@�����(Zt�E���##�h�]vd-������Ew��P��.;2��`GF@�����(Zt�E���##�h�]vd-����@PK��=��d�����@��$�`GF (K��4��#�Ht��������E���`GF (*'`GF;2AQ9;2����	�����@PTN���vd��rvd�##��##��������E���`GF (*'`GF;2AQ9;2����	�����@PTN���vd��rvd�##��##��������E���`GF (*'`GF;2AQ9;2����	�����@PTN���vd��rvd�##��##��������E���`GF (*'`GF;2AQ9;2����	�����@PTN���vd(Z�k��9�9}���9�`��N�:�������	pR�rvd�##@��n�+U�4v�X�|�����������~���6h���G�R����g<��D���`GF�f���u�������e�;v�}k���g�������[n�e����e��rvd�##@I���s��7���[����������������>z��A�TO���i~��7�w����&-*'`GF;2�$C��W�������
7��g��S�Nu���v���Y�L��'��7o��M���������P��}��.���������/M\|�����ff���?����%���W�|����#�Hd�##@����'����w�s^�V+>u�T3�����_�Z�*U��}��Y�n�����5���`GF;2�����U���_u�W]u���{O�>��M�W_}U3�x�����YYY��//[��nM�x���##�J��?�����s����[�r�.����u��8�Y��{��w�}�E�/_�w��	i��rvd�##��##��������E���`GF (*'`GF;2AQ9;2����	�����@PTN���vd��rvd�##��##��������E���`GF (*'`GF;2AQ9;2����	�����@PTN���vd��rvd�##��##��������E���`GF (*'`GF;2AQ9;2����	�����@PTN���vd��rvd�##��##��������E���`GF (*'`GF;2AQ9;2����	�����@PTN���vd��rvd�##��##��������E���`GF (*'`GF;2AQ9;2����	�����@PTN���vd��rvd�##��##��������E���`GF (*'`GF;2AQ9;2����	�����@PTN���vd��rvd�##��##��������E���`GF (*'`GF;2AQ9;2����	�����@PTN���vd��rvd�##��##��������E���`GF (*'`GF;2AQ9;2����	�����@PTN���vd��rvd�##��##��������E���`GF (*'`GF;2AQ9;2����	�����@PTN���vd��rvd�##@��������������o�N�/^�,�`��������G3��G���`GF��a��EW^y������R�JJJJ�
��-;r�H�LKK��o�9�>��n={�l���������P2|��'|��{��y����N3=a���zH��W�1c�&���o���k����##�J�������U��������8Psz�����o�[>��_�Ze�����43�|�����'h����	�����%����>}�dgg���W_}��U���k��Esk^^���j�L�2�;O�7o��M���������DS9=F ��`GF�0jA��9�
|X�I�&f����/��M\|����������G	e2�����vd(��o��)3��[o}��giii�>����m��J�*iB�n�����[���I�h���##�J�x�K�.999j�����]�v����7���������^z��W_}U��������5G���-�w��D<)Q9;2���d��������.������2e����k�r����W��Q���}�4g���w�}�+_�|���:�$F���`GF (*'`GF;2AQ9;2����	�����@PTN���vd��rvd�##��##��������E���`GF (*'`GF;2AQ9;2����	�����@PTN���vd��rvd�##��##��������E���`GF (*'`GF;2AQ9;2����	�����@PTN���vd��rvd�##��##��������E���`GF (*'`GF;2AQ9;2����	�����@PTN���vd��rvd�##��##��������E���`GF (*'`GF;2AQ9;2����	�����@PTN���vd��rvd�##��##��������E���`GF (*'`GF;2AQ9;2����	�����$�����,����N�?�I$z��Q9;2���D���N���?,
�J}��G7iqD���`GF��~��������OM���+@�C���H���dAF%@no���8�rvd$Q�
{� #�B$/*'`GF���'2�(t�@��r&J�����^B��D��Hd$Q�������7����Pd$Q�.�I2$/*g�P9�I2�,�H�� yQ9���,�H���dAF������(T�dAF��$2�(dH^T�D�r&2�(d$YGF�M�]pE��_��,�B��$2$/��D�r&2�(d$YGFl���Mxq�Kr!#@���H*g� #�BF�E�t������8�%�� y�]$
�3Y��D!#�"������Nx�����MZ���n�jQ!������M~zg��C��,\���E�?�I���-�uns��{�?�I�%�����P?oM-��
���Y�����"Q�����$
I�g���o=]3�FU������w�5#���G�4PK��4��Fn���z�,�����%m���M�Y�����"Q�����$
I�g���)�������d����6??
��~������=J�����%��~��%����]��a�C�L���^�H�o��I�g��~��d�t�[��u���l�i�����t������a�C�L���^����YjB��{\K����[�o�	7K��pKl�rF-�����3YKw�7�x���������4w������%����o��}/@���7���
���<�����EiV�3R�:�����l����M�?�I�U�6����_�P9��
{��^�+qJsw�{\�������[�o�	/��(mJs��^�TN������h�������~��������4W��%K�Dq(�)y��)I���4W��%K�Dq(�)y��)I���4WN���h���������������Q�+'�qE4JsFJ^w��<2R�2B���$UN2R�2��<2R�2B���$UN2R�2BwQ���$UN2R�2BwQ�A��c�����������o~��m���|�|����g�Z���}����Q���/�P������A'-*gI��(d�$e���8�2��A�w�6m�����[W�b�	&h�u�]�~�z�b��bK�,���K3224��F�,I��������]2BFP2�o�>;����h��A���9����n����V�mn�T���m?}d�N�:iii�n��r�����@FJRF�.�!#(arsso���e��M�6�����/���Q���+<X�^r�%N���j�:�dE�,I��oZ+d�$e���8�2��$??���_=z��-Z4j�(3��MW\q�&��)����Li��y�v��������M�4KFS9���TN�d4��,M�4KFS9���TN�d4��,M�4KFS9��(*�Y���
�����:*��HI�H4�E�\G%!#�4�-sQ���y��z����);;���.�D��e�9bf���[���x���.`GF���A�p���?���]�tq����>���fz�����r�&�����������U�?~��ZP9���##dvd���dHII�Z�j����3����W]u�y�u�]���_k��C��+W�����Y�f�*Urss=��D��r������2���m���\��k����{����s�
68K��9�C�������	n��rR9aGF������	;2BF`GF�����TN��2;2BFE��r������2 (*'�vd������AQ9���##dvd����I��!#�##d@PTN*'���!#��rR9aGF������	;2BF`GF�����TN��2;2BFE��r������2 (*'�vd������AQ9���##dvd����I��!#�##d@PTN*'���!#��rR9aGF������	;2BF`GF�����TN��2;2BFE��r������2 (*'�vd������AQ9���##dvd����I��!#�##d@PTN*'���!#��rR9aGF������	;2BF`GF�����TN��2;2BFE��r������2 (*'�vd������AQ9���##dvd����I��!#�##d@PTN*'���!#��rR9aGF������	;2BF`GF�����TN��2;2BFE��r������2 (*'�vd������AQ9���##dvd����I��!#�##d@PTN*'���!#��rR9aGF������	;2BF`GF�����TN��2;2BFE��r������2 (*'�vd������AQ9���##dvd����I��!#�##d@PTN*'���!#��rR9aGF������	;2BF`GF�����TN��2;2BFE��r������2 (*'�vd������AQ9���##dvd����I��!#�##d@PTN*'���!#��rR9aGF������	;2BF`GF�����TN��2;2BFE��r������2 (*'�vd������AQ9���##dvd����I��!#�##d@PTN*'���!#��rR9aGF������	;2BF`GF�����TN��2;2BFE��r������2 (*'�vd������AQ9���##dvd����I��!#�##d@PTN*'���!#��rR9aGF���A��o��5j\|��*T����=�dE��r������2�R��YYYK�,���K322=��D��r������2�R�R�J��m3�u��IKKK�x����	;2BF`GF�J�K.�$;;�L7j��c���O��rR9aGF���A�R�L���<3��y�v���-���z+GjA���O��e�9b��z���={&v<@�v���O�>�LW�Vm����P�
:�\�r���~��5�T������%���3;t������������m���Z�2��G���?���3��3��III����$��~���9����O���/����~x��}!��R�k��J�E]t�]wm��R��Q��R�B��?�\sN�:U�v�������:q��������+V�x����M��e��e��q:��/������������W�\�/�Di��w�]w�u���a��w��r�������W���o�",(�����Fz����C���o��f�|���,Y���K/���8p�������x���}�jB-��a�<z�t���~����������W�R�����_�2??��;�7n\B�$���S�:�����}�Y3�y��k��6DXPZ-\�p��f����
�&*U��m�63�N�:iii;vl������iSM�.����=��a��C���mU��III�4i���k���v��;�Tk��!�`��t��;wn����>}��i90j���{L�\rIvv����Q#��K�.���{>|���.[�L����B�v������G����;V�re��7������m��E�f://���E���������x���G�j�L�2�����y�v���
^-�����%K�
V�zu�G'�4sw��������x���N�N���[233��-�^���Z�t�m�����e��P9r�L���[={�t�<s�L���/_��	(����S�.���u�����/1����,Xp�w��i��U�^�Y������/�V��k�.g����?}�t3]�Z����;7u����'�����8.@���?�W��&�-[v����7��X�"1�������*U���������+W.--�Y����Y�t�Zh�~��c�����R�f�*U�8_
t�������[�n��c�=6y�d����.s
��t��m��=f�y#_F$���iFFF�^�:u��~q/DXP���7������3g��OMM���t^�f��!C�tVV����
a��������d���e=�R���m=�W��H����
/�.�h���#����-����c�^���[�L����V?���-����3�;���h�����S={���i��!Q�����8;p����q��U��S�����Y�V�\��s��Q���>�l��yE���k�v��}������3&�}Otq�����8�O�m��{������o�~��i��|,�K�.��W!�X�
E���������G��"���I�&��B�DUKK����E8���;�O"xs=g��.?+��+�L�J�5V���@,$��`;�o���n�������/_�|�+1)���;����y��U�V9�=r�H�j�^~���m�V�Z���>*��T�\�I�&z����r��R����,u���rK��
5jt�
7���+l�B_���>�b���-�F���&��T�l�r�������d��wG^���P,W������Z�����{�����N,��B@��J��;���W���s��qyy?�Y�������GZZ��S��]����#F�03g����5ZK�.
[m���6S�^���#]���������6o���9�o�����N5q��	mn��AYYY�L=M��������'L���w���[�������5k���e��i�������(D�c���;:��z���������hlk��uX{��t�4G�������u��w�V���7�={��3x��7�x�L�����k�	�w+f��9st6m���n��A�>|���'CG^��y(��v��3�p�B��s�9g��D�^������d�ZU��t���u=������gk����33�m���>2d��c������k$���s�x��y����27��
�`���f��i`���+\{�z�SS�V�5jD��:��J��H����G��N�2���9t�+�M�����/C~�0�C�=�aW�;����>��i�vc)�1v�q����T�r���H#������G��8=���j[Z������C�;��2���^��N�>=�K%���@�4�2�]�aW��Jv����n�cPh1v��r��rK�v�j����t��8q���_��M��u�>���g���}u�>��C-[�43sssu�W^y����\�h�{��U�V��{w���
���v�j�n���f��wD817��c�=�1�n���'�p����^zIwLIIy��������?��m[�r���{��w�y��g��n��������WOw����'M�d6�u���Y�bE=�%��1���/������0j���v\�Es&O�l|�]wixf��i�4������u�&T$uS��U��~��H���t1�����f�t�M�Z�R������n�y��g~�a
�]���z/?�����_|�Es��j���{�#]����'�di+����C[���{�|�I]����4�I�&:D;v|�����Ws/^���������n��-��_��7��eNM�����_�4����������z�z����]�x���Z ��H��i+:q��U�y�����"�c����w��I�\0f��+��~�Q��|�a��"�{�.w�������t�v���3��7oV��w�W�\����aw�FX�L\�.M�Li�&h�j��w�=e����$�;:w�-�����g��?.DH��!�"�*�+9t���f��]:p�;p=����zn.����/,<j(�&z�\����T��RO�um����R�Jztp�v�����w_����I�������O?�4����t^�4O��������+~��������&T�|��P��
*hBuR=�YLO���f*8ff��M�t;t�K|�����9�������5G������9���k)���h�s������{OO����*dN��V��k�M�0!l��V4�y�\s�+R�~}SE�Sc��{�i��������52�����Nt�K"�X:���,=��������Z[�U���������	m��������5�C�G=��+V�~>)�3��{����T7|��7�����Z�v0�x<�����o�����tK�K�lE���S}��UW]�����C�=B?����]�Z�P�z��;���+tn����-�X`1t�����a��}���>}Z��N���a]r���������1b�y���kW�j�4*�C~��������Z��U(r<���Roe�t�;{d���_����"c~������{�"�<|�)g�n�B��y�������&�<Z�D�j�����G��������34h��j�����j?��Cs_������,{g����{�
uyS����.���F��X:p^g7
�v3����c����+��B*z���q=���y�{%:b��|���7n��*�%�s^"m�}�4��t.�hn�^~���=��.�@b���������]�{���8�>t�P��]�{�9m������n�����[�q?��I	;#a��=_��Hu�7��'Z�����w����jK������:w�������Hj�W_}���O>i����x�L����K|�a��"�[��P�����\c����'*��0������y#���R3����zx��1a-�{���)����%���������p_�������
�t�;{��Q���{��G���T�Rff�{N���322�t�F�t��
.W=_vf��?T�K������^KKK[m�Z���e_��7�|s��wN�0A��E�]�:p=`�Q4�� ����������_��
��������?��o��ao����\�*U���6m��������}��7v���U����p������?������/���'���z��w+��r������?l���������g�{�#]������d-[�L
���#���'�Y�f�V���zM<�������w�����lh����G��^��y��9tag$l����n8Kz;p����r^��1,D�b���Y������!;[����[$C=��E�����
�|<�W�w�f�o=��P�������B��w����;��V�Z��,�<���={��>z��Z���y#����.��j���C������t�;��N���z/	���^w���-��RoeE���{�L�n\�D"�]�E$����^�%}�����'�Zj������A=��\�R���}{��rU��Le���o6�:u��5�\���|��P�����:������W��_~Y#Y�z�m����]���SU�s|-��h<����m��a�1QC������>��O?�Trj&J�t�7n�A� 5���k��hZ�BgD;��{��_5j���k�����z��wZ�li���5=Vj�a��c���6�����>���Q�"
�w+�c��o��Q�����c>��|�[+T��kF����,8���$�<�'k����~�[�`����S'lmEGC[��*m���b��k�����m������W�P�`����s��!�9��3�f9_���s�h:p��z��Jt�����OH=��aj+�t��,Y��G��o����{���9sf����sf��+��~3�[�?a+������wV�\RRR�9��jw�|�v]�c����ku�zb��H{���4�o�����FTw�`���9�����t�#�1�w�|w�{Ihw���S]~�3������!�V�E��*�{�'AZR{��c�H{r]��. 1v���|���.�L1F��z��]q������g��<f��a��9��_y���z(l�z�����Z���&8p����v�x�	=��U�V���4i�j��`��
���A������o3��}���G�Nu��;�b�.=6i�W]u�J��_}��v��+�|���kDa�&M���{��W�|9�7W��n:�u�u�]�)l��A��^�[�w+�c����_�������t��{�*���_��gO���E�$���P�v�B�K�}:�
��z��lE]�x�������_�������#�<2�|=l���������|�.�W�,�+R�p�M��ks���7�s$�<!�����t���V���B|��j�=���1�_�
��
�Wf����������^]N��;��S��
�quSf�w��.�1~J<s��_?��j\��8��\��.]	����B#��7����^:_�*d��5}Eu���(��q�E��*�{4~�xUH=-2m���\��sD/>���E=�x?�U|����-��M�T������}����o����|]X1m�Q$�D�<>'+�u���i?��<rd�/�����_ ��Q��N���l����v�Z&���>���d��UO�8����d��J�*��w�6mn��V����������q������k�.�6�������]x�y:��W�8����dW�N�����;��_����r��8z�w�9o�eb�Rq��<O��bC��R.����G"����7�������������}{�~�T��_�uA�?u*o��'?��G|�d���+����T�p+��/�����S;m?yY12>'+����L�4�{���F�r�VHPOJ?q0��n�}�N=�MvV��N�O6���'�?��J��H�?c��|<9���=F���1#�����=F�gww�����G$z�p�yp����$d`�f�Z�r�{N~~�f~��g'N������5z�l�����f�N��'!�t���+!�2b�z��h����S�[�Fvv��!Cz�����ev����S�N���<��3f���_��a]��W�����>�ykj�����I�^o�I�&��6��[�3fL��{�����`���`;�Gyd��U�9��5�]�v�z������k�Cc�&"�Y���`;����������BFe�x*��J�0;������/�����9cR���N^�|�M��u�s:v������<�����7�������Q�-��<I�7c��-�_~��h���XJ�x6��b��O�8�����W��������z�������k�|�-��w�iNVV���_�w��-�����x��g���Kh�����r������?~�{w�_k�^�Z�7n�y���PmWC���?��4��4������#G���k����_�M������7l�������m��r�����W�X�����k�~��������NgZz���OR�	&���[G���]I 1v�q�Z��g���y������pddd����1���1c�s*g���t�����N���G��?t�P��G:w��.�+!�;��8�Z�o�^(tnB��q�b��-3�4==}�����1�������{i���y����}C�7��q�Q�Tp4���Y�bE�]t�:���|��F���g�M�2�\�����~:�&�y	;��|/?�DE�o������41v�\oa3U�j��U�F�Hx�^o�}�}@���z�����e�/��l��9�7m��>z�i�v��/��b����9�*��/4k���n��{��<��CzR��M��<yr� hw�u��bfN�6M3�����[�jb����)l����o�6�a���*2*q��(�j���kW�fM�R�So'N�x���k����>�A�
��K/������<������������^�z�y��7O�4)�M���/�����Gg�6	�p��v[����>���g
�����c����;�x�b�\�l���u�]�e����/8����?���m���+?��s������>���&��K���1f���w��dE�4��-[���t�W^y����\����?���)���tF����]�U��J$���Nb�#��e'�����J�?���j��L\�kV��k�1�@+y��'t<MM���_kI
�����^�z4RW�jUsN��EO�����{o��{�1�S��#�<����;H
C���S'�es1�����,��9z����P8��{�������_w,�k��t�\o��M]�*|��x��zs���b�u5�J��5w�o���V�Z�[�����t�v��Q2����6:]�J���j���?n^�X�`�}��*��i^���x@�;w6�`���{z^�f���X�������:h����awQ�3/G?~\�#�
�_��m7TP�4<�fe_a�����/��2M����6k��u�+�M��_�2�6j����v��������\ �@�2D�P���
�w��P��&�k���8�����o�*xM�B�
�VH,x<�C+���{}_(���H��:��z(������8��X�R%=�����D�&222���?�[#����.��H,x��D�kXG��L�}����P������L=����f=����M��V�
��d�&�����fC7n4{���W^y��Q��7ils��5Rc6u�T�A^u�U������G����^Q�H������x����t�i�f%���w�\oa����������n����zs���b�u5�J�?�i`o�����9���w y���w����?t������t�i�.&z�I����W\q�&T�T�TQ�4<�-j~��������_~�L���C�r�X3/��r=gw���I�p�(
O�d��s�
STH���^�l���>�n��m�{������U�����)))�y����n����&Rg���}����[}WH,x<�C��y49���t8/Li�yw�K/����h"���5��D:��/d�����3v������/��vF,�72�cv�g����A�6���fo5$����!���Qi��}�#�^Bm�.9�����w������j���'�4��Y���Gs�Y���P8��O���_A���v@����!�������w�b(H]
���p���=my|�W,x��}�>���_����i%�J�*���4m���y�M7�i=�;vl��U���;����a���-[�4�'O��X�bX�U������sS���322��F��4��$
�a���5D�	����^��~��2�������A�93w��=z�h=����9����c�������@b���y=Z����=Y�.����9x��P��U����^{----t�#T�S������%�{%K^�'1���oW`���7w�y��	�}�h���fgZ��Q535�Hr�������T����m�����cs.�>�`�������v��Ej��1:C��(��H��{(�	���f�Y�����-lf�suq�����w�b(H]u��3�}�;���'�t���L�j��K�@�����q��7��m�6E�v���'O��
���+O�8��{���H(&�]w��5k����y���V�^e6l�
���6S������-�9s�w��/��B�/���J��Yk
x����_�A����m���p�-�b���mu����g��~��7�xC[T����b��U��lT��������>��R�;>��sC���z�Q]�3��;F����$�X:�x^�<`����=Y�.mQ3�/_����Ku\�\s�.����}Ex������x�|WB �t��tC������:��W�^/���N����o���v���"�P����Yk��=����Z,�u6y��g�u������z�����36�4:�K�,�����c���{������p��[n����e9!W��=/�:p���o�8����w�\o��L��X�7���> F_W�V�[�*T���gO��<xpJJ��#G4T��������~�����| Y��](
��__u�U*�������J����+_|�E��U	j��I��u���jUT�#�
��������9���������+������>p�@��
��O>y�e����O�;�>|�p�z�tG�����3���Bc�����������o���h6���^��_���
�����@9�����P����_]��w�5o�?~�����D����$��%��C�������xOV��`��1z���9s�����+=�P���{-��]�����WB 1~Jq����#����s���{L'��'�8p`�Z�Bb�z�N-����r��!e��W_�nZ��Tp.����U������46�JO��U�fv�w�+V�P�����������O�s4|�K�<T���Z��?`��q��b�.�7_��X�7�E�}@���������{W�T��;����>������|�v�����'�E�<R%��e�%�7������/��!��~zp4��IFq�>��$���������9rdb�saZ�x���3���M��nb%q�>p�7%�?�]io��@���-�s���]�v�69%U�)���[����z���[�lY�j�'N�y0E�x����[����$��S�NJJJ������]w;v,�#�-Y��R�J�7n������Z�H������o|9�qr�(yN��8�m�9�����S\+W�2dH4\�t&7?���G����z�}a�O�>�w�%��3�g3[~�@����N�����I�&u��}��Q����P������S��b�(��=�����l��8�z���������������oR�g`����4��W-��4��&�,C�D����
c���)5MQ4��b�5������}w���=�{\���|?s�����^k������{8�BFUa��<������$���X�m��6����h�=����c����u�.>h�k	!����������?h�}�jkk���+**�k�L�S�[���_]}������?�������1��U��466VVVv��m��u���
Z~���x�{��o�������]�v�y���~hs�r�����Z�����������qC���!����7srr�����
{h.?�6!�&~��&%%a[����}Hxx�������^z)!!��Q��c��m�{E�nZ�_3�{�������e�����z�-�=x��<��6��5_�v��1c222�����}R����7::Z�Q���#G����W�yh.?�6!�&�g�555999;v����N�<�z���7��&F��|�r~~��M�D�W_}%7q�G�Q�D{l�"�5�"mmm�7o��'N�A������������N���������h�������x��������YW�^����K�.C��Ay������V�2����u��-k��ill��	������9z�(�c ���sss��'�8}�4�����p�������)��a���g���H��������c���f[�n�@���K8Lr"�n���j%�:���X���3p������_�
7F������\�������k��DTVV��z��3K�WTTTUUi����������S�Q�*�Z����w���������N�����5�����_�=F�U�V��$����v��������~�����#�i���A�o��V���ZPbb"���,�a��9�1�����C�eS�Hkc�0`GG�.�����x��#�`�MKK?~��E�P�k��A�-Y�$::��g�moo��;ZXXXJJ���u�N�={����g�9t�������#�E���s�M�>=99y������:��x��!�/>u�TRRRdddzz��	�h�~���pzDD��)SP�0�f�-55u���6!����j���g��?��SS�N�r����>�5^y��FA�F~��!��9X��'��1c*|��y�Q ����.]��F�i��U"i>|8�{�������D'5�_�����w�N`L�@�>}�����_�6m�����3����1"�j���e�\_e�t{]��� }B^d�\rtVv���V+SX�3g��'��������o���9|�0:��0lPP��s�43��e���������s�"�2��Kx���_����X��R�~������7pH���~��5Z[��\�����d'���^d@���k��z�$c���#9pHH��Y�+8	���K����U�,�D��FEE!��1��%!>��1P\�777��i��1��=��W"�"r�J�������`��.0W������KE������OC��D4��4rrr�i�����d��RPhjj��������M��8p��MA���L���>C,�x�bkkknnnll���>0���?/�"��7m���o�������wvv����h�]����t�����@bc��K>�����1��NtRP�i���=Zt��I4[�paVV
}���)mmm�����;��{�,K}D�(W��S(t{�3;j�(d���-������5����t����T����*����;���g
��� ��/:D��)Fw��2p��Bb	c
z��a�I��$��fq$��@%����+���t=���Zc���\���vB+Q�lv����E	6��.����9#FgY�J���l:�Un4*qM���~�zq�c	!���x�^�n����`��y.�W�Z�9#��/�J�=u\\����"4��<����Ta�?
'o�0�����s�������������������a*##C��V��a�YPP��N�z������L!E#f�����y�����������	LG �(==]��j�!NQ{�����*��YHQ;�=c����&O�,vR�.�65f8F���2p��Z�q��5K���g��f4�<de7��n�o*��~v�Y(�����(���K���S#F�HMM��Xe����������t	O2p�kAVb�����.���={�����2p����.���}�����$g]Z���.�o%H)�����35���8z��*B��������V5]�j%��^��"c,!�?�0�>u��U�&00������+zD�i��$Q��'�h�/��M��q�F�v*RXX�`�U��a��q�-:v��.�`��u��%&&�(o%H�����^�U"���7�|��u�*:���K�0��
��~����>*�!�9�������t�
�s�p���2pi�x���WO7�"G�Lc�����&�9/4:�=;�f������q%b5:�G8�^e���)))����>}��t3�K���NU��w!B-�qf!���+�����"8����[��+�[6��f6}���:��d���,��2d�(�=�_����m��{��}���v������w�5�,��S>�����JJ|���`��/T��9s�t��>�h���r���.��.]����G����b,!�?�0����2omm��{7���������oii���F��������+*�:TD��7o���I����U*���?�DT������S��NT��������f�(�.�q��\SS
��A����N42p�#�Sd������_$q"D'''K�N�:��bbb�4�3g����:;L��(0��s���qC����Lm8g��)�L(v�����J�\�F��� �7�/�x�	����������
C���+����a;CK�4==�jt��������Nn�,����%v��5//o��n�%����NU��w!B-�qf)���>� f
M8�+��%�lG3�O������t	O2p�k6((Gp@��VHq�'1��"7Z[w�4Wnn��Y�0}��������i3���o�Z:�7��[A/��n;���#����l:*��#""�]�M`�8@���z��b,!�?�0G1y���={"���ojj�>}z@@6�;v�f����mCPBp(//����=;,,��g�TDs�s1b�N�4I�@��aj����\PP^QQ���������QQQ�xn�����P�d��������aS0�U��>eeeH�!���X�

�;���
������K���~%��/�#Y�{Pll��������Q������{����&��~QUU5j�((��(P#,��_|����v�^�z�^���2p����bB1�)S�466�5����nFU]���l���P�\"���d��y��"S�t���v�%<|��5���
%�g��I�(���*.2pSk�Hs�g"##�'ND����,fi������N\�����k���bjj���e�Q��-2a�d�n3pa����i�����;��zT�Q�5�o9|���}�D����o�!�8^y8���E��>p5�S���Gr+_�C233e��Lx���>T���E�g�6������C)��HJJ
��[ZZ<��s����$&&.Y������#����~�8�x���EV���N���C�)���?\3j��<���HOO���


����	�o.B��s�������G=az�`��5�R>������aS�����i��57Z~Z��r�t{ri����������LR�0��������?�m����������-[��_k��o.B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�5����
endstream
endobj
70 0 obj
   25426
endobj
67 0 obj
<< /Length 71 0 R
   /Filter /FlateDecode
   /Type /XObject
   /Subtype /Image
   /Width 982
   /Height 537
   /ColorSpace /DeviceRGB
   /Interpolate true
   /BitsPerComponent 8
>>
stream
x���ytU����~�V�k}����%���)*��:~��(�R[�XkU@�<(Ed ������ �0d��H�C�$$po�����{�7�f�����X�}�=g�����^n.�P�������-Z�m��R<�����~���_����g���W�\�p�B����;���={���o��y����s���G�	��k��O�%�^�z����5��dvG�tZ
��_/;%*///�&��9|%�����V?�2eJ)����)���}������Z��G�a�%�K�n�����;�����*���&y�U~���c�������?�_O�<��wog��=d�r4�N�*G5#@�t��Y���M����N�>]�5��5K���s

�w�.������������1������6m�|���NO��@rr��9s���7n����$i;v���D��C��7�,X��'�HO����#!���-a��/_�\�b��!'N��Cp�a�����A>���o�#Fx>���!+����N�l+55U�G��4���SZ��Y�~zvvv�v������R��#G�}�]yh��i�m�3{'�S��68@9�4�]%�u�F�����-3������_���G��iii��.\�P���O��%0K{�������[KK�[��'O���K�:�-U���y����$�w��G��#]TT�a���?�|���������WrL6m��!vy��|�r�)���������C�������/����"�hz:�y�������w���������P���eH20��}�vgl>k;���<y)$��?�>���;��w$������t����[$/X��g����w�}���dB�������s��A�SB�������<X���,�h���M���o_��5*++�k��N��a��A�8qb��!a�199�I��e����}��	���	[�i��������@9�x��}]�tq?*���Rj��|>B/���n�:�����k��_8����HLJII����{�9q�-[��r�~�:$r��=&����7�:'L���{�hL�'M���$�Kp����v�����o���c����[�nS�L����1Dv�O���O�G���K7Z��w�yg��y�N����1��}���/.((���6-[�n5O1�S,�Xb�Db������7�������_]TT�m�6���}o��D���[i�={�D}��0|�p�h�������/�Cz���3f�*��T���$�o��F�T�d�f��,-���;����KX�����>w3���"K��Dq�J��������}6*}$�<X���VRR���;v��<z��Dh���N�[�`�$O���?�<*9�t�5+���������bR�(�WI��,��^>���V%��`�jv��5��s5����	���iU�1� %~KcVV�,��Tu�2���P�����?~���N����q������l�"�u��a�������kr��#V�X�u�a��t��a��N�<���_��=������a��n��%^.[�l���������;�����Y�f�r}h<������9�i����������8p@^e�C���|���`������e������gf�������6rv���Q�Z�|���������"�w�������h>9/���8�����}���7
w�7ov%u���W�\���.��~�/����i���7��t;u��yWv�����?U�=�'c�w�f����Gn.���������z��w�'C�x��fZ&�E������/������M���C���������|
��>��t�r����I��z���4u���G�x��]��{�J�0`�yt����k2d�����y��U��X�d�,Kz��&!�U�W�_}�^aa��$y��o9�h���#[&N��������B�����7/2�G��7�e��Y>c��u���H:u����S���^K����r�H���m[���(..v������wg�={�H�r�����nU���O���o�����W���=3���yO�lE�c��^���[y�s����>y�D���{��f��H���|��
�����A��_~����O�
X^�Hg�7[�����Ht��y�7�w�����S��_?����2eJ��_it�D7w��������wA8������O4�P���%��������

$%fee�_�k��������gh6�j�*���b!//��/��������1��0,��e�����:uj���1����6�-E�����U�����^0�	q>:$�;��;��$l�����bv��V������O�0�i1_�./L|v9�����82�3�?�%����n�:����������T���}���9s�L��{a�U�1m�����{���fr`$I��W����\I��=%�;_6��Q
����r�i��H����L�={��I��5���9�o\	����
d��X�����3�����>2�����M	y�3�|��{��g��I�t�"�R^�����I�r����k���_�~��'���������&Y�w����$�:t��-�+�����1cl�!AQ"���u�n��g��P#�[����%K�H������N�����W�X����{$�W��T��/�hK��e��;u������yM!;kb��0��J����������'��C��M���w�1�|k�Xy���c����'�'F�~�H����jB^S�
�O���o>!��Xk��
������%�5��
��,�&�N�o�0<��g��U�	<��?b���m���8��<��&''��V�0g��Y�l��1cF�1c���vP%j&�k����~���9s��9r��q�����a�u�TYHOO_�`������v�����_�?^��p����b�#k��a��	d3g�<|��y��c�>���?�P������i��)S��F�-+9}�����%K>���Q�F��d���]�v����������:�c��;����:u��GW�\)*r��XeffJ�����$,��&M2��o��Wk�?^TT���"�eA�*	Y�nX��.z��=����t-Zt����'O~���;v��>�7o�={��m�df�Paa�,�x$x���Dk3*���%KK{^^��������f�<������M�v	�����t���7�w0������y�����;#w
��D��S�fgg���a	��o��D*�V�%!/Y��yHR�$����%��?��,�Vd���_��Yc����J�u��x�bI�������4���F%�\����0+�?%�;�<xp�����`���{������c���
�F��1c�Hw�*r��XJ�>|���#%��w�C�&�H�v>��_�}4E����.I�y��f���#���n�������x�����g������=z�~��N�o~�Rv����u�����mw���+���U��e��(N@p����w�^�|��Q������+�J�������t��q�$R��%pwd�L��]��������:}��y��p��)20���+Vddd������N�;vl��U�,O�:��"Ag>�#�?x���M�$��=w��������HOOwL�|$#;;��I����s>Ir��	��a��5����[��������CG�17��|��y������,���[��*Y6��*ys{��Efy����W��4i��K��*�mw&N�����G�5���1)**�<y��9s$�~���;O�<�1'K�5_�0�!K�0a���+�/_>~��m����6����+1x����%���L�����1�Z�J^L�:�<�������.]�b�
��/^�8�c��-�?��SY�8m6$#���cT��d�I��v'33s����]Y[jj�����N�>�}�vI��9

L����0��8����~���7:�ws������_���%��0v��)��>�}��lh����7�%�K���i��#G���km�&���/d��+�>��w����n�r��9x��lE��n!8*���T���~������w��1�t����)�s���P	�����~��������p�����~/����~+�;��2����.+++.�dff�[�N���3$19p��<=�?�,����P	�����+���������m��I���{�b�
:�z���^zi�������E��W�����Qc��a��p,]���k����/���:w�|�m�Icjj�O<���o��j��eddH��M��h�B_.!-�V�����srr<�p,[�l��f�����\r�,����m�����orr�dii�8qb�&ML����n�Av��i5j�����
����'?����p��w�|��III�=�����z���>}��_M���|�/��������u��={zvi����?����GeY�tNN�i�������k�:������.�H�T�"���}����u��&++k-P6$m�ur����W��]�|�$L�6m�w�>p�@�C����U�V�����#����_4h�g7nc���S���={��+��"33�,7l�p������w�u�i�7o^��ue���?�i���;���<�p�^������o���G�8`��Z�j�m��I�&��K$$$$&&�l��Z�j)))�m��	�,-
4��EEE��8�.]��\�}��%=z�?~|aa�i���<xp�^������/\�P�%''����tzl�.�3����|�yH:T���������#P��9�����.Z��#I��?~������k=~��`z��l�8��w����y��C�����������Y�	|��]]V
z3����<$~��MFhB�P���?��t(3>��	�=FT�%���o'���u�Q��!���'��6?=FT�%���o��CW��m~�	�H�\X
W-?�t��zu<�!�`z�=4�(�f�����kJ�����*8�����z:1Z��1�'��~���^���SE�?8d���@\��o�cz�'~��T���T������+$������[[��Y�����4��'	@�e?�V����	��#��_�&p���c7=I�*�%�������H��	�*8��������R���MNN������~�4������k���G�u�
>\W�\k7(w�$�&RTn$���$p��I`�Y��?����-[^y��:t�����_���o���#�<R�V�3g��Bbb�4V�Z555��@G9#�W~$p���
u�z��y��C[~��O8~��
��I��k���������u�.X�@��={����\�r���w�}��6s���z��@G9#�W~$p�|���K�����������B��Uss�v��^{m��l���i9|��/�K�n	��^���������	J�9s�Q�F�&M��*U��_M{����t���[7�Q\\������[�����P�f"-���X7���&��PyH:��6��\�R8�q�)T�e�G8/�nz�$����Xm�d������{��G�=���$��#��&����7��8m��i��I��8������N�q!A���_�1c�����^ZPP`���i�������;))�����_v�e����x������t�3�!�`z���JMx�<�t@����O]8�Q�c���+�{���=z������������k��{��q�����w��)��e���c�B��]�����H�J���q���'���3f�w�������+///##�j���������~�+��46o������}7�,�}�`"U�NG%E���C�����q�����{��_\�zu�`z����Z�j�\rI�z���������,k�#3_�=���?��t�u�$p�38	�	�/
��o�#b]'	q�jW�SN��q��G��g'p�o<.$pTj$pn���o��:I������p��,x�<d���e��J�nq��q,������B���H�o��8i������Y	<���e��J�nq���k8����@$�7��	������Ci��-���"�[�8��B����@g"��H�6H���H��8���n��	�	�	�PY��m��"�� ��R#�s�*+�
�B$p$pTj$pn@eE�AW�n��J�����H�6H�
��m��Q����q�	�	\!�
8�����E�5��FzM��JI��8���n��	�	����1������H�6H�
��m��/��87��"�� �+D�AG����q���m��"�� �#^H��8U�"���B
	����"�� �#^H��8U�"���B
	����"�� �#^H��8U�cF�����n-`�C���,��a��D$p$p�	���}�8�t����'	���'�n��x!�s�T�`b�58i\\0�a�1��}f��hE!I�X�	�B���r��k$p&���`J�:c4����t��(��/$pn�*L��Fg"���4� c�#�#^H��8U.��a��DLi��-P�	���3��
u�u
������$p&���`J�n����H��8U.�����^��DLi��-P�	��
1�	\!J�	�B���B��AW���AG����q�3l���4l��/$pn�*�$p�(
$p�	��
1�	\!J�	�B���B��AW���AG����q�3l���4l��/$pn�*�$p�4�����>���yH:��$p�	�����a��������N7=I��87@�1�	\!��a�1H��87@�1�	\!��AG�#�s�T�3����\$p�?87@�1�	\!��AG�#�s�T�3����\$p�?87@�1�	\!��AG��Z~����B��'	�����a����� �#^=��_���$�s�T�3����\$p�KYTGH��8��Js��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B�����k���:u2�{�����i:th���/������gggK��Y�^=i�Q���a��uC�4�{$p�4�	�B��������c��U�Tqxjj�O<���o��j��edd���5m��E���r	iY�j���_�����
��3����\$p�	�7��=z4k���7�t�,�m��o��������e���M�41�fff�p�
�����s�N���Q����n����a����� �#^H�6�q��>}Z��T���y��7�|sRR�s�=w����<y�O�>�W�h~~�%�\"�]vYAA�il��u��==�!V�c�=�B�K��x!�����r�N���srr��SO=5f���]�v����_t��EW�JY6��������g�0YYYk��&f��6��i3���61����HMO��4��d3LO������H�w������Hc�w�4��M�0=�K�bQ�,��^�V�=n:I�e���������i��{��:�����Z��,��G�1������A�<�!V�����{�
i.
�G���
n(7�~�Wdff���
��93==����2-����[��,<�����7�w�qGZZ�g7�Js��GWHsi��/$p�8Pn�	|���j�j��m�&M$f�HHHHLLl��e�j�RRR���	dYZ4h ����<�!V�c�=�B�K��x!�����r�����%K����c�������%''g����z�JKKs�-\�P�%''����tCL4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsi��/$p�8�4�{$p�4�	�B���PHs��GWHsiTl�zxW�U���<$b]'�QQH�6�q
i��H�
i.��M�>��	������($p�8�4�{$p�4�F�&�J��QQH�6�q
i��H�
i.
8��n�����a����� �#^H�6�q
i��H�
i.
8�Es?�}��>]���<$LOn�B�c�=�B�K��x���}���MOn(7����/v������W��#G=z�����>\W�\k7�Ds��GWHsi\0	������Q�B�%(���9�s�@e���}�M7u����5%%������o���#���U���3EEE����(�U�VMMM���Xi���H�\e�1�[[��Y����L:��1����S���QQH��8PI,\������]��������`�Y8{������r���K��}�����3g>��C��+�1��B�K�L2�O��1�����O		�*	I�;v��T��T�Z577�,���k8p`�-L������_�wC�4�{L�
i.
2��Nu�Rq'�*U��9s�,�o��K�.��u����i)..���n�
��3�1�*��4��8��J���/��������M�w�}�w��III�%??���.��&++k-|����f"5=m&R��&f��6��i3��z�l&R��f"5=m&���b"5=m&�X�]-��a�1LOJ���:�QTG���Y��9��	<!!a��]f�q��)%�4ibZv��)��!V�����[
i.
��C��8��J���_}����_yyyU�V��o������_�_��y��������!V�c�=&R�4��B�:P�����{�����/��z��C�1�����V��%�\R�^���l�n����a��T!��A�@�����4�{L�
i.
2��Nu��9f�c"UHsi�1/$p��'�1��B�K���x!�S<i���H�\d�	���Is���D���� c ^H�TO�c�=&R�4��B�:x�3�1�*��4���jW�SNF�yH:��$p��'�1��B�K��>��	��'	���Is���D���� c�_�VG����4�{L�
i.
2����i���H�\d�#�S�3�1�*��4��G�:�9f�c"UHsi�1��NuHs���D���� c�	�����a��T!��A��?8�  �1��B�K��$p�@@�c�=&R�4��*�:�e�{d�K��B�?���:��Js���D���� c�_�VG�����H�JuP@e�9f�c"UHsi�1����:�y"��D���� c��AuH�Dj��T!��A��?��������B�K��T�  ��=&R�4����@@�'R{L�
i.
2�QT��4O���H�\d��:�i�H�1�*��4��GuP�<��c"UHsi�1����:�y"��D���� c��AuH�Dj��T!��A��?��������B�K��T�  ��=&R�4����@@�'R{L�
i.
2�QT��4O���H�\d��:�i�H�1�*��4��GuP�<��c"UHsi�1����:�y"��D���� c��AuH�Dj��T!��A��?��������B�K��T�  ��=&R�4����@@�'R{L�
i.
2�QT��4O���H�\d��:�i�H�1�*��4��GuP�<��c"UHsi�1����:�y"��D���� c��AuH�Dj��T!��A��?��������B�K��T�  ��=&R�4����@@�'R{L�
i.
2�QT��4O���H�\d��:�i�H�1�*��4��GuP�<��c"UHsi�1����:�y"��D���� c��AuH�Dj��T!��A��?��������B�K��T�  ��=&R�4����@@�'R{L�
i.
2�QT~����3�8t�����_z�����������^�z�R�F�a��E��Xi�H�1�*��4��GuP�	HMM}��'�-����V�ZFFF^^^��M[�h!�/���U�V]~��999��+��=&R�4����?o��f��m������,YZZ&N���I�hff�
7� 			;w�4��5JII���Xi�H�1�*��4��GuP�	���;o��������{��[o=y�d�>}�������K.�D.��������u��={zvC�4O���H�\d��:��H����1�O=���1c�v���C�R\\|�E�]�*Ud�4�o��[�n���dee��/������HMO������HMO������Hc=J6��i3���6��n1���6i���������'���Au�M�f���2��M����8��Pwnnn��UeA�<r��i|���
��
���V�=��PHsi�.�QT~������L���a��3g����u�]�e��yu����x`������;�HKK���Xi�H�1�*��4��GuP�	0`@�Z���m��I���%[�lY�Z����6a�Y��
H���"�n������B�K��T����%K����c�������%''g����z�JKKs�-\�P�%''����tCL4O���H�\d��:�i�H�1�*��4��GuP�<��c"UHsi�1����:�y"��D���� c��AuH�Dj��T!��A��?��������B�K��T�  ��=&R�4����@@�'R{L�
i.
2�QT��4O���H�\d��:�i�H�1�*��4��GuP�<��c"UHsi�1����:�y"��D���� c��AuH�Dj��T!��A��?��������B�K��T�  ��=&R�4����@@�'R{L�
i.
2�QT��4O���H�\d��:�i�H�1�*��4��GuP�<��c"UHsi�1����:�y"��D���� c��AuH�Dj��T!��A��?��������B�K��T�  ��=&R�4����@@�'R{L�
i.
2�QT��4O���H�\d��:�i�H�1�*��4��GuP�<��c"UHsi�1����:�y"��D���� c��AuH�Dj��T!��A��?��������B�K��T�  ��=&R�4����@@�'R{L�
i.
2�QT��4O���H�\d��:�i�H�1�*��4��GuP�<��c"UHsi�1����:�y"��D���� c��AuH�Dj��T!��A��?��������B�K��T�  ��=&R�4����@@�'R{L�
i.
2�QT��4O���H�\d��:�i�H�1�*��4��GuP�<��c"UHsi�1����:�y"��D���� c��AuH�Dj��T!��A��?��������B�K��T�  ��=&R�4����@@�'R{L�
i.
2�QT��4O���H�\d��:�i�H�1�*��4��GuP�<��c"UHsi�1����:�y"��D���� c��AuH�Dj��T!��A��?��������B�K��T�  ��=&R�4����@@�'R{L�
i.
2�QT��4O���H�\d��:�(7t�����_z�����������\�4O���H�\d��:�h�o��j��edd���5m��E�=������B�K��T��&N���I����y�
7T�x.P�'R{L�
i.
2�QT4���ORR�Y������K*v<(��=&R�4�����u���C�f������.�������lH�,�\��|�;77�j��;��-==����2�����[�n���i+..NHHHLLl��e�j�RRR*zD�O\NN����{�����V�c.H]�v����Y�2e�O<��3�L�:��$&&�9���������+�p�:t�����_z��������Q&P�_�~R_|�=���m�����C�z��4j��1l�0i9u�T��
[�l��SO�8������q�5�V���2�Y�c��U�Tq�UW]u��o~��kZZ��7�XTTT������o������g������V��������M�����2�6K�.� ���_J!t�����n���KH��U�.��������G��?���^}�������D��>���G�L�=�5k���o:	��K.� q���_��g�������O�^�c�����s�:	|���M�41����7�pC�2�>��-[�`�Y>~����,$$$����46j�(%%�g��������m�V��)����9SQ���I"�����iILL�={��Y�6l(�������Q�C��)
'����'))�,�����A�@���'?����p�e�����[K�^�z�}��w��������5����N���8p��!C�;v��7����>@'�w���C�f������.
Q&Pl����?����Ge�J�*R��}����u��[��G�U�V}��Gu�����	��N���#G&&&F~���I����g�Ennn��U��(��z����k�����J99r�,�����
rz^s�5a�4pD&�S�N]y���7o�P_��(wNOOO�������y�������L���1c����g�����?�Y���;��������O�����r0Tr�	�w��M�6��5k�����C}k�������I����			���-[��V�ZJJ���2��W��m~m��eL�0A�BJ�A��j�r��������ov��!��>���9s�/MT���Z\�����o���,;�������4''g����z�r���L����K;���/\�P�������\���
��o�����/M�+@���+~!�T�A'�������������z��>?�����oy�h�5>?����+�nbn�Gg��G�>=L�����:���G:@i�I+�������)���:uj��A��?�r%�K���w�}�l��R<1�^����}�6-Z�n�:w���G��|��K�.��V6m�4`����4�G�N����'���~�����Sv[�y�����>b�Y���@�����*�K�!K�7����w��Sv��g>�={��1,�������O��W�'��k���?!��/^��G�8weZS�*�+�UQ"�	8*m����7n�>r�����[���H���wg���	������/��9r��;�x����v�Z�N�w�}7.[�������F�����y��&���%����oo��U���������'��/�Pio���b���d��\	<�|�}�����������a*<E*����\��5����h���[o�U����N���2���~��'����4h�����?|Xe���LII9u��i�K='''99y��I�q���"Ak���a�m�������%�5l�0�����5j��8k�L������������:('N����;6//�i���C��{���gg��9d���G

d=��6l0-fk�������������	\vG��������+�";.-2�M�6�,{'���I����>��������{�����r��3g��q������fy����_}�H"�b/^,ga��m��-[��v'N�x���P���S��J�
���_�l���s�9g��D{^1	����d��*ug���o/�s�H������e��7o6����|0~��c����/��RF2b�'�;�.rBp�<_�!�y��0C^�f���-]��t12x/��PN�c�=V�^�h	���C����&Iyh��)r~?��3f��E^�n�Q9�c��	y����"��]]��wO�S�^vo7�$0��[]�r�Z��?m$�%���?y�d���mN�lK:8��3+���=OY��z^����??�[%>���i��v��]�+�=*g9l�a� ��&p��n���n��5h�@���2k���o��K�.�7~��G
��\�=�P��McQQ�<���_6+y��W�X�^��u����wo��>��#)�.�����}���'"�27��G}T���s���Y�,4o�\�������O;��=�\��]o���g�}��7�h���t��d���_�6m*O����f��m6!���K�5�\#7��J�r������SF"�D�������"-s��1���{dx�q��y�x������Cd�����,�P�-�mW6$CX��V���[o�����<��k��3��3���__�����������x���Y0�V�\�':�%� 	�BN�lE�0��![�����|�I��e+r�����$9D={�����&��e���r�e$��M7��}����o
E�7��eNM�y��0C^�&��~��[V��SO��[�u0���|(H��h���V����-��?|��i�IR����?��W/9���1+��2#�/O��q�����;��W����S�{�����VT/������.�^��5�\<x0�)�%,�L�\<ry���)���	�]	��O�<e�;�yI������E�����g���`H#g���<��p����on������/�����Lyn.�?������������)=�\���4J%��Jy!/���}����^���[���?E��gL�����'������"�����4/��,Y�N�����_y��N��MdBx���B%/�k��!2OJ�3��E�����L8��m���r;t�[|1	��e"r������K�v��rv�����}���"���_d�O�>����zK^���Yf!sB#��_y���3g��{nE�w�����!�5kffQ���?y���_x��h������x���vI�$H/��%wp	6r��S�V{�1��e���=]d��5�����W�P�]�T���k��~<)�g���|�Sm��,�P�r��i>�)+�,�^���������?dee�$p���V�"�;w��$y���JcAA��a����OJ���~���(����;�>WW����3��\c1�����?��#)������|�/�d�S"KX.����QI���N�4������s�w��"��:e�;�yI�KKyy�^����C93D���=2Wr�+�{�BA\L�W]u���u�HI:�y����P��j��0��y-7�Q�F�B�j�F�w�m����0/E.\���oK�����Y������<W��N�f�Z�l�'���{�MKQWw1��ts>��h;�#H�����!gA�Y����g��Nc��5eA&=�e���~ff�{%r�$�y�[��o�������t�K������}0��������,D��h�DL�$��?Y��q�6ly���8�>t�P�~��}�Y��9>0�����������C?���3�~��e�6oxf(�����^I�'���%�|��������e+����$e��]w��'�|��~1+��2#�o>^�9���S�su���w���5�	���Z��W_Vw�%���R�x��Iyx��19�����!�S������<e���������`H#��h��G��"x�vC$p�I��������n���srr�r������\��z�i����%���W^y%%%%l��=��y���3���gw�}���3e����C_�.7,	���2��{z�r�V��#F�h��U��<o����$�����}@�����j��e���m[���[o5�����M�V�N������=��������/�������5rR������p�
���[�s�������B���vI�$H/���f�	`fY��r?�<Y���s�r��7�B���e�_��gC{���2eJ��u��'��;#a��9_��
�gd�<�r��7�����&���������������;�G���$C%l���%h�~<��Wf��M��|h(�{�,{^]�s���9}��1��:u:�5�	������?7�G���Vw�%,�3�H��+�&L�������<��:e�;yI�|�\��}���}���F��(�{/�e����H����'x���������3g����������������u��"v��*�\e��F���n��T��S����z�0�_o4d����~�>����?x���^zIF�~����kw��-��dV����AF"�)u��s�[��2�~��5i�$����}����f,I�[�n��,���5l�PN�,���3";��[o�j��\�a�����7�x�c����r_�{�;l�r�6lXX���'y����'G��V����W_�kF�;��w���9���5j�5#������,8�':�%� 	�<O���k���?��UnFR/�5
� [��![�WU�]��k��f��M���kW9>r�%+�P�f*���g��[�s<#������6o8��I��3��/+��D���O�2FK��Ir�V�Z%�G.u�I�����L^XX�l�2�{f��Wf�����|h(�V�yu9%��Yy����x�����i��n�'� 	�<�Z�����H�Z��J�%����J�'�`�E�s6o�,�����!�S������������\~2�D^����C93D^�����G�"Hz�����3���\d��0��E���O^y��R#����u��Mk��y��wN�>�t�+y���2�H!,^��y��/���C��S^�������gL����}�Q����?./�{���W�={���r�5j��Pw(�n)aFv����y]�Y��yd��y�gw<�.�7�v���Z���,�����_}��/���y�HF�����q����N�/���e���t>/����{�����c�����s+�c%�i���o�[��6�����Q������A�E^~�&�P�K"&���NV��|��O����~��lER�tx��W��9R*W�����~����4�mI�����o���J]�kBp�9_��
��6	\���j��@����CL&�
�}��n�����s�xN�2G�w�}2f��|����+3l��A�����"l��W�S�����S*BV����M��i��n�'����R�u=b���\��8"K8T�Qp	�ry���>���Bh�'zVe��F^r�dV�A6h������{_�<��7����}U��h��2C��"sk��]���<����>�ho-��%������$w�~��m2?���cU����k�.����+��Tq�$������d]�������#��������}��d>�y����S��f6�7�K��[������:u��8q"����Z�*!!A^}w�������a�t��c��[:�����d���
�1T��K�h�u�I���8��9Y�F�%&&����Y�f��s��
���|���	\�g%�q��>O���P��r9���?�G
�	�6t�P������]�F�!�[��kU*gO�*����s6��#��e��u�������q+�J�K�lq��S��~���|N�������g�0`������+$VN�:q ��<|��g>�������~?�5T:�������|~�CE��g�����)���=F����������G:T���qf�����}~�CE�*��8�O�l��E���s��={V?���Y�f�|�S9|�^�MT�/�n79��?2���A{�sU����[�����{��?����������<8//��r%���S�N��7y2�,X�@������.��+������>��;�O�m=��zs��=�s������S�����}���e��8��U��������v��5l��G�=�P��-���rfA6����X�6��]���;�<��2*#�����P9���#���?�������TM��t���g�5n�����g�|P������o�>�)�>}�ND�nQg�@�7c���W]u��h��z+;A��Jx6�XL�'N�HII<x�W_}eZ�E��8p��M���L5�m���������������{s�����r��3���%�{���o�=?���w���<�Ys���������w��*��!����&X���=z������QPP���*=7l�������W��w>��e�t�8q��_lG(g�IKK[�v�,|����a��{��q���Y�y�?t�P9�r�f��9d�9b�����$`/���!=�y��������NV(�e������<i�$��`��T.Z�h�����G9�G��;��	�3��E^u6WBL&��8����%�,:�B#K�M��Y�����YYY�F���95f0�AF����<KF+�[�t�;{�o�M�6rv�-R\2��Bnn�5�\�9}�r_B�����L���|��'��tFy��O�s�D;/a������'+�Io�������48�[X�Lt�=�X�z��%�2�����yC��W#���iM�����f`�/��p��m���^vo7��� 	���Pf�����������w�^iy����E}�.]�e��9��B���{�XL��y����{���c�,��?_
[��r�-�ZZ�j%3�L22�EF
S"z�n�4h`��r��Y�f�|���u�#�<"���c��7��'&&>����RTT�����i���x�m���=�f<���/�(O������D���kw��Y�a���K������i����;�r�JY�2))���n��}{����eYx����v�z��7>���o��F�&Md%���Jb$������:u��ld{���v�;v�h��'����f%>����\��N��9#�-9#�g�sv������I�et���f��
�,��QI���^������+q�����@V������4ehB���~*=exO=�T��um6$�N�:��Fyy���#�!���>*��k���>}��� e��z���l.f���W���p�^��y(��y�I����Jd�����'$�s�E^o�Ze���o�^o�}��!���aWZ���N��������S���7�w�Y�.	?
A���N���F^�J����7�^Dzz�����PIIa�70��/��,��������[o����5������}��'�R�=d����aO�I��q��q�=B������,�
��x2<�f�})vY8|���W^)2�K�6k�W��,�M�������[�=�t�s�f���)v����/�� T�V��`�������y/4Z�3�d�z���B%�i��Q#�Jb$����`�J���~�7�#OV��@n�N����`�r�-r����� 78�}4+�Frrr~����G�����.dw%�$H/������%���	{����*���eT�Q������Y�����m[�+B%[2��K������[��E�����z�������,Yb6$�l��������k����@.��:��yE9�]o�!��y(�	<���L�lV"{Q�	��-l���������������zs���
�~^
���op2�W_}5��9�>�w��$�0�w���������n�,�����I��=���5k���K2M��*/��>B �G^#��uo���^2�_��<��I`i�����5��)�C2'G��d����7���f�����<�f���n������E(3	x�=��������c�����m��8���{���~�s%1	����z0d�w�&�=Y�.��)i4�nj�����F�%���y�&��t�A�}������.dw%�$H��I;#>�(�d��<�/\������l#�r�Y�2$����!��JP���{�##YBb�\r�c���")��u�]'�z��'MT3+�<�6���y�<�B��'���_
��8�[�������"N_�\o�}��!�b�W��4���!u/����W�>|���_M1bD�6m��T\�Z�B%���m[���[o5�����iu��	��oZZ�O<�-���cG�|���k��&l������~����7����c[�n-SS�+ ��[�j�^��&��7�p���������������c�:�{���2e�����������c��.�����I��y=�g�{��]��g�8n��P���>������JJJJ��;T�S����z��J�I���h��"K&2���>������9s���:D��Y�q�Q5�2�hr�A+W�k��|��k����"��\B�������=*�T��+$tIbt�y�-��h�%�P8����=g%R����������K9\o�}��!�b�W�{�,G���������O���S��7_�$�o�����n��s��F��
���#�2�[����o��������M7��a�����7�x�	�RhR�R�a���6lXX�l��;��-2����gX�����T#��eR�!W���?�y���eH20��]��y�!��2�)Q���_�&M��o�������%w�����_D(g�rX~����,-�O��L�����N�0A�������g��6	�s%1	����z0������D�<Y�.��4fdd����R���_/����>��r��?w�sx�|WBL�$�2:�!�DY2a�u�����_z�%9�����]�v�n�BQ�P�����M�y7$�+���g�<������O��7�*���w��$���^�j��7�,�s����\2}-[����ow��yE����k��</1%p�-��"����Y+�����DK�ez������h?����sZ�Q������������KLL<r��Uv��Gn������������"�w�H����k��V�D����,Us��W�����E�TPRRR������:�Q�_	���t>�����<���������f��O?��w�}����O>y��W�Dg~��)���7m�T�(~�����g�6m�������������o��60�Z���@�LC�P\h�R�1M�2I1XF�`������������e/��D�e8�������i^wp�����Yw��3g��g�}��3w���Qhd��)�����6z��woXyUSo()4;;'�$���],Z�H��g���Xz������n��Y(���u������`��AII	q,X�����������}4�%��St�b�	����P�� *����Q#M���A���*((���PL�!z�&�#5_�[���7o�^4��p������v�0x�tCS8e=z�����555_pH����T��7��pHk�K�2p���i4������I���g�����������D� ����
��w�,�=ug�1�hp�����E�^.:�^>����<�,��dqI~�K|<������G�{��<��������!�+**��>�IuuuYY��nhh@�u�x�y��7B������N�Q����YQQy�&9�*k?i�N�Q��_��<%%%((�������.���i�~��C>5��L�>=,,,===66688���k���9z�������F�q?:���&?3����7B��G��7��[|Zm����Wq����y�<�$7n^i����C>���rss�3��Fnv�w]�l�A�"|j
���,--���*..6�U�(���yyy�c���������>]N�8��B!�B!�B!�B!�B!�B!�B!�B�C�t���5y+��h��^������V���������m����B�=v��-�����
���B�]�;���-��x^���������J��+���y��?�����g///_��O�r���h�T1O���TUUu�������a5��M�n>��q�R��y�&
333���g�at�:'"|�� ����k���^XX���s��ua7��=������������
;4�Z�b������������c��D/z��	u����n9�{��f���[�E��j~��}rrrdd��U�BBB^}�U�-x�����A�+���o��e����W�����zH�s�����hu�:�3f�����Cs���	!6q�����egg���[^�����7l��}�v�nb���/n��i�����O?��8�����J�&�cI�>ioo/**���'O��A������7744tuu!�fff�w����������[��75@+����\�"���.B�,���A�����le�O[[[qqqnnnSS�MP�����g���c������������,zq��i�9x��aW��~��7�m����<��@m�@J}}�l@?~\V��s':��'��aPa��v��x�Z+�����3��8�����~�i���pcl�������K�u�v��j������*�>_��������555���K^^��s����M��
�b�e�Sx���7n���^}#��an�ByT�����W�Q���24������sp��V������k~~>�GN
����'�z_~���������D���Y���<c.�GUwMnDZ�;;;51����_�a�0��w����&MZ�lJ���7x����������z���Cq�h!!!)))����80>>^4���O9rD��:�F,�8�����5kVrr��a�JKK5*����C�/_~��������������'GFF�
h'..����M�6
%S��RSS���l
B4~��W�%g��E�������k���.]���R��/����QG�_�n��lv�~���f����!C��?��H�a�+V��1c��3p�
�4�9�=���'N�p����/�qG����E#0&D�Z��}����s���9��������fG��W��Z}Rl��z+��kJ�,Y����";���3��FU�Z��L�3g�p?q��g�6��k�)Luu5��0l@@���~�����\��������Y�p!��.�F������
�|����#�<��w�)���]�f��W=�zkk���'q��b�����g�}��P�d��	v!

#�~'A��s)�U}#�

"��K#""�x+�k����0G'����"q?~��������@�����������%00a��_~8p ��5-�EM�� �!X�]�O��8���,�idgg�+�w�}�����`����={�T\�Q"���6!>k2��>�����~kkk����������x��g�^d�B��;^~�el�;wn���]]]6;�uAd,�kU���3�r?�b8��f���O<��|#<z���F
J0����q���F�2�jK�.����F�~�pH{{;:�a���k
z��XnK}��^����P�������c�y�Z�
C�i�&����3��FU�Z�x�����_]\����B���B�`P��A�^2a4qU�,�p*$�0��G�f�t'��9�� �
a.l�Y�FX/!!aM��f��K���+�;�Nh%
���[�N1	 ����g#��e-���3�wzp���$O�����e�z���t�[�n��1���8�����n���.��)�
���_�^qEZy]��{���8������PT7�i�|��";�Rq���So���8��?�������2d�z�1�T"L�^�Z���f���D����N������M�L!E#f�����y��k�����uk�^���K�Qzz������8D�T/�V����u#�ew�������S�J�Y�����G/W�RN�W�_s���?��#�jt��K�2��FU��7�w?;�,��QDD�P������Q�F�����m�2pq����;����t'��9�� 1O����.���={�����2p����.�{YY�������(�K�6����	R�~���o�%22���cjB�;g.������WB�5�*b�>�B|�8��+W��K���/^�(�qF�h��"���$
?�������3����}�v�v*����d��D�a�����-;~�8.�`�����?11Q�@y3Aj*++�}�YM!��_|!����O�*���H�0��
�~��C=$�!�����7�o6%��<x���K��5���
������]}���d�
RL�u�q����X��\n��g"f�S���������+%%El���o����������Q�m�-D���8�z�����`y]�?~���&L�-��S1>Mw4�t'��9�� �*����Q

�/�����6��C�=���{��E���o�[���S����������O�A�/���9s�t�w�}w��5�p�����+V`�x���=��K�Mf�qqq��mmm��������^zi���---���S����+�byE!��a���h���:`�D$�K%5f�����CQ�222f���9P�����777#F�p���;�������:h=�BT|���4���cA�`"#�D���?�� �!:99Y�v��)4����9s����922�b��q�����_G��qi.C.X�c�4������R0���^$$$���
��G}�lGGGUU����Q�n�:�#�Au����&z���n�;���������e�t{5�����a��q������Kjkf7��n�o!B�m�����'O>��5�4a�p �$���?
�O6�-�d���l@@:���!O���\	N�o�"�[[s�4WNN���s1|���#G�\�R1��^{
�b��at�
BQMs�Yp��y����e�Qq�v��Uh�Xg���]1�����a�,b���={�D���|���Y�z���Ey����"mII	��Cyy�<<>>>$$��e�TDq]s5j�N�2E^@�����-[ x������������JKK�������6�#&�����CF����W���<x�6D�uC��,�A������r �R}/�^��?JN�4I^G2�!�������{C��$�������}���3g���c�^����;����J��4=��g�C,pj�;��~~~�����YN��p��a(�?m����&������M��u�-D��m:�
�Bb��C$~�],Z�H�Yd���a#����Pl�������h(�<SF0:z!o�Vc��Z[�4|&<<n�0��� �l�&�#7�X����7�� 8[LMM���l:*B4��A&O��L�m.��6�1���x�y�f�
 6�_�x������2����������;�G�N�'�<\���illDr+�E222d��L���������!����z�8�8�b�����������a��9z�������F�q�h���o?w����3���6����:�F�"S������H_8gT\�<KOO���
����
�o.B��s���r��f�u.��BAnn�|���ill���C��##�>-���&�O��Y�����F:���vtZ|:T�I�5_q^[[[XX�#�v���,--���*..�ok��o.B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�������
endstream
endobj
71 0 obj
   27314
endobj
61 0 obj
<< /Type /ObjStm
   /Length 72 0 R
   /N 1
   /First 5
   /Filter /FlateDecode
>>
stream
x�=��
�0F�>��87��B�V(�T7q(�R�$!I���7�:�s�, 2���K���H�@f@G:`�.����6<X	�����3
��{���:3[(!�/���nl]����aY����R�['zOumeU��y3��8zHQ�_l3�
endstream
endobj
72 0 obj
   149
endobj
75 0 obj
<< /Length 76 0 R
   /Filter /FlateDecode
>>
stream
x�-L9
�0���������~ ���X�D��*a``NRt^)
�n�)�F]�C������r��VL8�D6
Q��DF��������{�1��(^���
endstream
endobj
76 0 obj
   93
endobj
74 0 obj
<<
   /ExtGState <<
      /a0 << /CA 1 /ca 1 >>
   >>
   /XObject << /x77 77 0 R >>
>>
endobj
77 0 obj
<< /Length 80 0 R
   /Filter /FlateDecode
   /Type /XObject
   /Subtype /Form
   /BBox [ 0 0 1754 1241 ]
   /Resources 79 0 R
>>
stream
x���Mo7���+�`t�6���u�����N��HcY�>��"�~�"Y�5�3;6�A��;�4YU|�3�������e������{w���c7Jv\H?tk�A[�l�B��X��\���TL��rh�1nx����RZv��w{����.?�~�������/za���1n��}��3�x�������q=h.���j�P�����W�RJg��x����/����a����Y����6���W��=g�����s��S�"�1��^��)�=����0x�����ZMn��p�r����������\E������}�����s���46�Z0�f�N��l�!m��.��D|��z��0[nC�|>|���|^>�=�������_m�E8��"*0���.�\�s��c�����H��	�#gD�8������<\����u��)t��U@x�����q��0�^>��~	����R�m��J=��C<�t���^��//k\|2�pl���������_�����,���u 
������6P=������Y����&�rQ�H�xw��Z��ck��|��U�}���Tp��J��L�\��i8���<"�����Zy�)���9�u�un��%���
�d��Kh�je�0�x����y�Mm�a����w��v������)��RN!,���N(o]�i����N��i���A�����O(���)?-\s�4<�����Fz�p��a����}EX_�o7
 ��%��	�n
��>!�W�49X�� ���N<v�����.a9iG
�H�*,��`x��0i'��H�zi@�~-���g�����#,��J�vs�O�7R	�n-��j�8axp�3i�M�6�����b6�,1�"(�I)��*
?�q�`md�dd��#��Iy>����
���N(�O�����}no��
�5%�$7be�v$�q�X���r�t�5���L����V�9��z��3�~��A2�L���eO%�G�o��P�6��`������
���J������6>�����^�.�����-�G�X��<i�TahZT|�3�������N����K&szj��6��q�E$�da����`>b�=b������qKY�
������`V�@�)�
�:���qn`�J9!�����Y�Y"��}�+Y0���!��������A�������]�$�{�~i�}5���y0L��d�t��k�&G+U�������nW�D��q���-�d�������plp/`D���F3'��`>i��mg�y�����S���f��*��2�����G8
�(#0�L��
]|2��|��'`m�n`��%UFI�N
��}�q���_������?O1�>e'�� �SlxJ�N�7p���g@M	K�$�r[�W6sv�4r��Tx�L��4�w@s>��|��C
0�����Wnl@����y�l���X�{���������e�������Y�����XXv����c�nv�u?vt���v`��?t�����K��T�Y����w?�2k����h	�Y��)���T�����2Q�k
z�cM�D&��(�"����$�X
h�V%n�qM����(G*"���D9RY���W���=�y�4�VyG�(��i7#Y
�e�����"���l)6A�9���=C��$����fto9��i36�����Rn��sH�	R�!�6H�YVoI�p�uto9��i�?5+�h����i���u�T��W�
�B5�4�c$���L9��>��PM���Y�r��~l<�����4{		�NIX/�,,�$����FG!���S��4�,ltR���^�$��%a�h�P.P����Fw!���_HXlF��7
K���F�!!5��	��>�m	h6-�?��u���DEQ>j�4�)U���"c�*2.
9��%��P�V����V�V/�s�E/2)��^4dsH�	�23]�r�!K��.�h�L�����m�tsH�	��!�&H�X��bNs�%LI<�HKh�`�F���/P�6T�@�uT2)3��F���:���N��N�.6u���H�|���O��Or2�v��s�,�;7ZK������BB�.$��.P
&K���F�!!�/	��KB*`�+8���hH�@m�.P���k�6�^��H����U�YJ�H�-��|	�h:E�����v���DL
endstream
endobj
80 0 obj
   2205
endobj
79 0 obj
<<
   /ExtGState <<
      /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >>
      /a0 << /CA 1 /ca 1 >>
   >>
   /Font <<
      /f-0-0 10 0 R
      /f-1-0 28 0 R
   >>
>>
endobj
78 0 obj
<< /Type /ObjStm
   /Length 81 0 R
   /N 1
   /First 5
   /Filter /FlateDecode
>>
stream
x�=�;�0F���oqn�>B�V(�D7q�R�$!m��{o"u<�>N��H�Dz_!����A�<�	[�(.�tm?x�8d;���8l��x}D��Zog)�E�]����ft!�-�>c�3������CG������_�hg�G�e��3�
endstream
endobj
81 0 obj
   150
endobj
83 0 obj
<< /Length 84 0 R
   /Filter /FlateDecode
   /Subtype /Type1C
>>
stream
x�mXip\��~6\r��&����*�2aq0$T���Y^d����Z��^��z_���9��V������/������	��a�����d*y�<�j����1?�Z�����������x#�a���?k�;r��[���l��a�
�����6V�ur]���{���W#_���������?������?����w��u�u*�J��{���=����m<(�iT]�[�>"�I�����v���|�y�����y��������a�3/2��������'���s�n�v���7��c���]���f��y������c��<�d�e��<�lec���w#5�n���6�6������ol���t7���]�!��n��{7�iB0
ol"�����7���#����#_y�+���n������n�x��������]�����z�
wl������P��	�#���f
*b��3����}&�|��Q���&�
��A���wr��LgL���P:�Id��.���	7�}J���f�m��]�q�AGL�6���N��nB������o!�0Y���T�������]r/�:,���dT��5��E3�,3�y�i,�g=�����(�#�8&��5��.(��������CMAe�aU��cf �%�iO9^�X!���|h��
�\��7����J�!.�uk�-N2t�T�'A�l��Gx�J����(�u��F��^1�c�w�gLY+,���br�;;�"��bio��
M�C����%
-qN5�Y���@j6�G����n oP_v��@�����v�o�GR���E���3>�-��H�n�K���T��Q������q{~-L��~���s����*a�"�LO����j����~�6J���n�&����*�OT�{GM�>W>'�p�s��b�OT����+g*���	>�K���SBY�e��'���+�W�����<~�_������W/7�rcb�p�k_G2�7�����l���P��;�d8�����~[�."yi�^2$@Q��:PlQ(A�4�������)�>~��v�,���^A��?W�h������
p��`_'��ry�:�mz���b��*|B�K�>���<��@N2c��,�L8W�\)p
�^��"/��$
�"�`�I.��\�O���*��$�S����^8�{���������o���S������kd+��^%8=�q���^0zt��.���jP�-��n���r�+w�/
>�����B1%
���qo�����^����OF!��-��a6��=�pOX��0Ms�s����%�C_D���6�L
)(��z���(#�LO���0�9o2�x�4����\��6�kj�.I'bI?��9Wa�le-�5��H���Mx����o}�B"��H�i�@�a���j�>h�R+��@���+p��.-������ �G�u��,��(��pB'J�n�wS�w�4��5
�!����B�#�q����	�M��)8:6��w�"�N�����@�����y�\��
�9�1���k)��k��`�t:�Y�N���}�uo,������959?��rv)p�W���� gNi�r�������������;��x��C��ny��a��B�E����V5/��?�
!#,�),.`9������]dod7Y�S��r�;������CO��Q�6����+�'�M�X=@�dUe�.<J_PL����	2����9_�y'E��-i��!�	*<�H�������h9\�~�9l��>EU�!{n�9��l��f���l_�jY�-VC���LlT�i�X��u�U��,�({�dv��$Cb����e�'c�F�r���/�x0�A����!<���k����������Sic�1���{�}f�[���]���L����D��p�e���q>]���v�8�V�	�&w��F�G�(�)����cGu0�u��z�Id0~$l����`�D����A0;��V���dA3�����h�H;iQ�1�J!��|i�DG�8X�36��'�(@�����B5���hb!O�������	�����-�T>}�k|0������7Fo�N�C��H� �J�f���6(��`�<�11<d'�i[�}P9!��G�4Z�h�7��6������:�=�v.���q�:i�IG���@�K�2@y����^u��R��I3qtg�;�Yp��%��r�}\k3[��^��E�����l]�KF��Z�yg*�*+�N��������p���&���%�)���\�/n����t��)��9�I���@���
�Vn�I8��C��N��P'JqU��
��}�������>a�\��b;���/d�B�Y�'�~���?����eX>����U�5M���4����]��%�)�����fHYR�I�,39���x��uN����$�QkrJ9(�.l\����)��J�q'i>��L����X�#��a�}��v�!����W��C���;so��[���O���
g�m��NW�_7@���/ d05�A�
����y��)pO�N��(��
�Vf������O�/A���<^|3~qi���&h�]�E��
fUyQ�bM�]�p������_��������}����]v�v�}]���ye�yi����&��Rs�6��
�����9Hg�sx��<��!y9>s��W�3H��W��+�W����	L��p��W�@������Pl���������M\W����`a�l�*�U<������X#���>��)����+e��in{����2��&��a��k�:�	�]�!{���W��M>���s�����O���(��6�4����T��l|h%#J�>l��)?0��]�H� 
&'�0>6���ln�V	��I�i��_�7i6�OP^L�I('�}'.��j���K�������{�b0�{{E} ��8"<��a:������W���gz((�x%J�l2��I��XV(/R�!a-fJ�!z,���~��u^��$	Q��	Q,L��.Q�4A��z����g��!��yKVE��P�e��<Kz���pz0�!�����8�C���V�Jmb�}����syK,1�G��B�Sg���w��_5$���K� (�z��LTC�#z)�����~�������dO������U^���34vOW�jg��q���F�0�t���<G��
[��W��'��H*���/2G�a�����Q�����z4��`��M�}����H0�ZW�C��:���R���9����x&��H<�@~�f�$f���`�	1��������n�a`�C������[��W����,�r:uaK93d�1�f��B<D�u����������>��C�vj����
84C�*�]��g����>"J� �����m*��A.��E�ykY����������a�<�����(2Q-��1�G�y\������AWx��nT�5:�h-Rg+l
������WB���(�hLk(i	��=(�PUt�U�I���(�%{ %�
�	�YM]s+4���>��,���@�������e�{����OjaRS�g�C����%>�V-��(r]:�Q5���j0Yu��K^��H�JmH�C�� K����r�h�Za�5Q�I���:���g���Sf]�}��5'�~���m���~��T�+������X����4�>��Y��o���@��X��	�4>}�
k���vW*I(�I�;9V�ez��E�~�t�+�����a���9�<]�������%���j���(��%r��*���
���&)�����-��k��CK�>���Xo]��E�i�x�7�,@�X�/���~_�b�"���6g�2��7�x���B-!�I(�������@����E��f�W����DI+����>`S�L2�@�O�E��"�lw��'��%�<1��5OS������g�>��'�;�,��A����g�'&VjX\*'`*9�]�'��3e�Ik��R�z�G5N�q�W�O��$���L�|�C��e��W�
�5�i�J�p��Rq{����V��Np�e��N67p��O�����������K���w���#�������!���&����OX��6��l�<���J[�������/
q$�p�Y�@���Fe�Q��%����`T��#,�J�ZA��
P���(�"7h(A��zm�����vV�
X��1,:)W���/La����P�{����@���G����,`w"�c���$F#��n��wx,����3i��%��'@5!m���1�{��t��x�n!����d�J���_o!�T?���n�5$���`�
%kF�BT��#�!S�D��C����Em~;d{��T'��qu���=��D��-�`H�B����q�(8����Ny�����;��2��RnH��?�6QW���l������Rq��6����*~D*+-$]��%S����A��7���IK=�4�������n��H���p�	�S��
f���H=D���3��m`k3v�����j�f���6�H�/Q��=�����
��f��q'|!J\������'�,���.��A� �t�A�i�G�����H��
endstream
endobj
84 0 obj
   4634
endobj
85 0 obj
<< /Length 86 0 R
   /Filter /FlateDecode
>>
stream
x�]SAn�0��<��@�V"@0��q��\9jJ����]N�=X;��.�U�|�yH�f�?y	G��4����\s`;�iNf��8����<�yXM%������������^������{���?�����#�9������������i����m�I�~
��pf[��!���������{[�6�}��������Nl����~���S���ma��>d�w"�k)�o]�R�'�$��
�"��U}��6���]W���:�:x�z�����`)��xR�A~S�x�;��z��5��A12]���TO��t~��^1�T��E��Z�V3�w�w���l��/s���^w���	3��L�7�{��^1AO�w�w%��d��G�/�������;�]��A��H����]������e��P�P7pN����������9�i
endstream
endobj
86 0 obj
   424
endobj
87 0 obj
<< /Type /FontDescriptor
   /FontName /VNFJVJ+CairoFont-0-0
   /Flags 4
   /FontBBox [ 0 -210 768 728 ]
   /ItalicAngle 0
   /Ascent 728
   /Descent -210
   /CapHeight 728
   /StemV 80
   /StemH 80
   /FontFile3 83 0 R
>>
endobj
10 0 obj
<< /Type /Font
   /Subtype /Type1
   /BaseFont /VNFJVJ+CairoFont-0-0
   /FirstChar 32
   /LastChar 121
   /FontDescriptor 87 0 R
   /Encoding /WinAnsiEncoding
   /Widths [ 0 0 0 0 0 0 0 0 0 0 0 0 0 333 0 277 556 556 556 556 556 556 556 556 556 556 0 0 0 0 0 0 0 0 666 0 722 0 610 0 0 0 0 0 0 833 722 0 0 0 722 666 610 0 666 0 666 0 610 0 0 0 0 0 0 556 556 500 556 556 277 556 556 222 0 500 222 833 556 556 556 0 333 500 277 556 500 0 0 500 ]
    /ToUnicode 85 0 R
>>
endobj
88 0 obj
<< /Length 89 0 R
   /Filter /FlateDecode
   /Subtype /Type1C
>>
stream
x�u�KLTW����]�J�]!.��166���.�&��F�HmL��9Ud��r�a�0E?�3�;wd#ZA�b}�c���j�qS��w��I��vg��r��;���qee�N�+���nj�uW�������8�6�)T�*K3���kFV����^��-EuV����x��p��-���v��q_p���\
������r�K�vp�v�.��)1��(�\[(��c�b�c�=q������zq^��+�O�Q�L�*F52�����-e����)&��L_��R���]�����;��l�l�:������8gC��J���
�b������>�������+�:	G�Y6���s]�k���q99=:2&aL�".bUZ3"Hf�������c9Bn?��3h�rP-���B�!C�����p�I�#�����#}iB�2���%1�9�L��@Z�/���v-u��-���%�D7�s
���<@{@��k��h���"t���)!nN�s�O�����H�m��o�=��I���Y$��U�
����ga���:H���a7���k�?�]��!�l�2g�`0t����&T����{8���O?�~K?ZX����c�	O�A�B���>:�&�����I+��qo�����,!.��Y�W���g���$N�ZD����w���o"��
��j�	�����R����Ljn
ss3�y(�E�����6_���Uyq"���Lb�p��]9#&:�z::��F����z�Qj�yy�"=��3<��F���W��d�"Q	C�H�A������7�&���?���2R�w��o+T�
�?����^�X���/�i���a��8������C,r���G�96�������i�2{�k�;I����;��h������)}5����[��I����2�b�f�W2Z)I��;�]����w�u!p,TK{A{�}9���Q�������0a��pLDL�N`�r�>==��N�"�y_��+C������Ye+O�V�n#Y�/d���v���'xpwzF���������k��5j"��t9����ZG�X�����)�O�$V	O������Q=u��^����N����M�]�^�����eL���G"
endstream
endobj
89 0 obj
   1109
endobj
90 0 obj
<< /Length 91 0 R
   /Filter /FlateDecode
>>
stream
x�]P�n� ���-/�	���������Cq�)�q����EJ����z�g�����	�u:����&��#mU�E�V��f���	��O����k�;.�O�@��E���_��Q��.�0������^dx�����s����m��= �w�%�5�A*���Hc=cz�N��=5�d���D<��d,?w
w��y�������T4����������O��T:)+�����tu�u�2�ux_}�����.AW
endstream
endobj
91 0 obj
   257
endobj
92 0 obj
<< /Type /FontDescriptor
   /FontName /QJVCSH+CairoFont-1-0
   /Flags 4
   /FontBBox [ 24 -28 842 728 ]
   /ItalicAngle 0
   /Ascent 728
   /Descent -28
   /CapHeight 728
   /StemV 80
   /StemH 80
   /FontFile3 88 0 R
>>
endobj
28 0 obj
<< /Type /Font
   /Subtype /Type1
   /BaseFont /QJVCSH+CairoFont-1-0
   /FirstChar 32
   /LastChar 108
   /FontDescriptor 92 0 R
   /Encoding /WinAnsiEncoding
   /Widths [ 0 0 0 0 0 889 0 0 0 0 0 0 0 0 0 0 556 556 556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 556 610 0 0 556 0 0 0 0 0 0 277 ]
    /ToUnicode 90 0 R
>>
endobj
82 0 obj
<< /Type /ObjStm
   /Length 95 0 R
   /N 3
   /First 17
   /Filter /FlateDecode
>>
stream
x�M�A��0���s�!yIc�"^��,��m�C�����\��"���af�� �������1V��P����������?0 |�PF5�6�:��2~sj��sB-6�\��|��>�h]�-u#-�SJ��R*�]t�)������T�K��}�-���{���Whc%I����s����K�����32oD�k��o����������i�UdF�
endstream
endobj
95 0 obj
   204
endobj
96 0 obj
<< /Type /XRef
   /Length 322
   /Filter /FlateDecode
   /Size 97
   /W [1 3 2]
   /Root 94 0 R
   /Info 93 0 R
>>
stream
x���KQ���x	"
�d��!ZD��J)����PA-�D���E�iQ-uRD��VA��^P�(��?pg����������i6-W��"�D�i-B5Z�5d{�����Y��F����>6Ol�����0��]��=I6;�z�4N���EP�u����>�p�h�~!G�t	FW`6��r7f�(6Y6q����
�"���4���G���'I����SC�5��X��)v��+[tVW��q�N ��l�9�3�����{A6���41������'����O�(�J��_��:�����i�����6h)�u������%R�
endstream
endobj
startxref
374062
%%EOF
generate-backups.shapplication/x-shellscript; name=generate-backups.shDownload
restore-backups.shapplication/x-shellscript; name=restore-backups.shDownload
#38Thomas Munro
thomas.munro@gmail.com
In reply to: Tomas Vondra (#37)
Re: pg_combinebackup --copy-file-range

On Tue, Apr 2, 2024 at 8:43 AM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

And I think he's right, and my tests confirm this. I did a trivial patch
to align the blocks to 8K boundary, by forcing the header to be a
multiple of 8K (I think 4K alignment would be enough). See the 0001
patch that does this.

And if I measure the disk space used by pg_combinebackup, and compare
the results with results without the patch ([1] from a couple days
back), I see this:

pct not aligned aligned
-------------------------------------
1% 689M 19M
10% 3172M 22M
20% 13797M 27M

Yes, those numbers are correct. I didn't believe this at first, but the
backups are valid/verified, checksums are OK, etc. BTRFS has similar
numbers (e.g. drop from 20GB to 600MB).

Fantastic.

I think we absolutely need to align the blocks in the incremental files,
and I think we should do that now. I think 8K would work, but maybe we
should add alignment parameter to basebackup & manifest?

The reason why I think maybe this should be a basebackup parameter is
the recent discussion about large fs blocks - it seems to be in the
works, so maybe better to be ready and not assume all fs have 4K.

And I think we probably want to do this now, because this affects all
tools dealing with incremental backups - even if someone writes a custom
version of pg_combinebackup, it will have to deal with misaligned data.
Perhaps there might be something like pg_basebackup that "transforms"
the data received from the server (and also the backup manifest), but
that does not seem like a great direction.

+1, and I think BLCKSZ is the right choice.

I was very puzzled by the awful performance on ZFS. When every other fs
(EXT4/XFS/BTRFS) took 150-200 seconds to run pg_combinebackup, it took
900-1000 seconds on ZFS, no matter what I did. I tried all the tuning
advice I could think of, with almost no effect.

Ultimately I decided that it probably is the "no readahead" behavior
I've observed on ZFS. I assume it's because it doesn't use the page
cache where the regular readahead is detected etc. And there's no
prefetching in pg_combinebackup, so I decided to an experiment and added
a trivial explicit prefetch when reconstructing the file - every time
we'd read data from a file, we do posix_fadvise for up to 128 blocks
ahead (similar to what bitmap heap scan code does). See 0002.

And tadaaa - the duration dropped from 900-1000 seconds to only about
250-300 seconds, so an improvement of a factor of 3-4x. I think this is
pretty massive.

Interesting. ZFS certainly has its own prefetching heuristics with
lots of logic and settings, but it could be that it's using
strict-next-block detection of access pattern (ie what I called
effective_io_readahead_window=0 in the streaming I/O thread) instead
of a window (ie like the Linux block device level read ahead where,
AFAIK, if you access anything in that sliding window it is triggered),
and perhaps your test has a lot of non-contiguous but close-enough
blocks? (Also reminds me of the similar discussion on the BHS thread
about distinguishing sequential access from
mostly-sequential-but-with-lots-of-holes-like-Swiss-cheese, and the
fine line between them.)

You could double-check this and related settings (for example I think
it might disable itself automatically if you're on a VM with small RAM
size):

https://openzfs.github.io/openzfs-docs/Performance%20and%20Tuning/Module%20Parameters.html#zfs-prefetch-disable

There's a couple more interesting ZFS details - the prefetching seems to
be necessary even when using copy_file_range() and don't need to read
the data (to calculate checksums). This is why the "manifest=off" chart
has the strange group of high bars at the end - the copy cases are fast
because prefetch happens, but if we switch to copy_file_range() there
are no prefetches and it gets slow.

Hmm, at a guess, it might be due to prefetching the dnode (root object
for a file) and block pointers, ie the structure but not the data
itself.

This is a bit bizarre, especially because the manifest=on cases are
still fast, exactly because the pread + prefetching still happens. I'm
sure users would find this puzzling.

Unfortunately, the prefetching is not beneficial for all filesystems.
For XFS it does not seem to make any difference, but on BTRFS it seems
to cause a regression.

I think this means we may need a "--prefetch" option, that'd force
prefetching, probably both before pread and copy_file_range. Otherwise
people on ZFS are doomed and will have poor performance.

Seems reasonable if you can't fix it by tuning ZFS. (Might also be an
interesting research topic for a potential ZFS patch:
prefetch_swiss_cheese_window_size. I will not be nerd-sniped into
reading the relevant source today, but I'll figure it out soonish...)

So I took a stab at this in 0007, which detects runs of blocks coming
from the same source file (limited to 128 blocks, i.e. 1MB). I only did
this for the copy_file_range() calls in 0007, and the results for XFS
look like this (complete results are in the PDF):

old (block-by-block) new (batches)
------------------------------------------------------
1% 150s 4s
10% 150-200s 46s
20% 150-200s 65s

Yes, once again, those results are real, the backups are valid etc. So
not only it takes much less space (thanks to block alignment), it also
takes much less time (thanks to bulk operations).

Again, fantastic.

#39Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Thomas Munro (#38)
Re: pg_combinebackup --copy-file-range

On 4/1/24 23:45, Thomas Munro wrote:

...

I was very puzzled by the awful performance on ZFS. When every other fs
(EXT4/XFS/BTRFS) took 150-200 seconds to run pg_combinebackup, it took
900-1000 seconds on ZFS, no matter what I did. I tried all the tuning
advice I could think of, with almost no effect.

Ultimately I decided that it probably is the "no readahead" behavior
I've observed on ZFS. I assume it's because it doesn't use the page
cache where the regular readahead is detected etc. And there's no
prefetching in pg_combinebackup, so I decided to an experiment and added
a trivial explicit prefetch when reconstructing the file - every time
we'd read data from a file, we do posix_fadvise for up to 128 blocks
ahead (similar to what bitmap heap scan code does). See 0002.

And tadaaa - the duration dropped from 900-1000 seconds to only about
250-300 seconds, so an improvement of a factor of 3-4x. I think this is
pretty massive.

Interesting. ZFS certainly has its own prefetching heuristics with
lots of logic and settings, but it could be that it's using
strict-next-block detection of access pattern (ie what I called
effective_io_readahead_window=0 in the streaming I/O thread) instead
of a window (ie like the Linux block device level read ahead where,
AFAIK, if you access anything in that sliding window it is triggered),
and perhaps your test has a lot of non-contiguous but close-enough
blocks? (Also reminds me of the similar discussion on the BHS thread
about distinguishing sequential access from
mostly-sequential-but-with-lots-of-holes-like-Swiss-cheese, and the
fine line between them.)

I don't think the files have a lot of non-contiguous but close-enough
blocks (it's rather that we'd skip blocks that need to come from a later
incremental file). The backups are generated to have a certain fraction
of modified blocks.

For example the smallest backup has 1% means 99% of blocks comes from
the base backup, and 1% comes from the increment. And indeed, the whole
database is ~75GB and the backup is ~740MB. Which means that on average
there will be runs of 99 blocks in the base backup, then skip 1 block
(to come from the increment), and then again 99-1-99-1. So it's very
sequential, almost no holes, and the increment is 100% sequential. And
it still does not seem to prefetch anything.

You could double-check this and related settings (for example I think
it might disable itself automatically if you're on a VM with small RAM
size):

https://openzfs.github.io/openzfs-docs/Performance%20and%20Tuning/Module%20Parameters.html#zfs-prefetch-disable

I haven't touched that parameter at all, and it's "enabled" by default:

# cat /sys/module/zfs/parameters/zfs_prefetch_disable
0

While trying to make the built-in prefetch work I reviewed the other
parameters with the "prefetch" tag, without success. And I haven't seen
any advice on how to make it work ...

There's a couple more interesting ZFS details - the prefetching seems to
be necessary even when using copy_file_range() and don't need to read
the data (to calculate checksums). This is why the "manifest=off" chart
has the strange group of high bars at the end - the copy cases are fast
because prefetch happens, but if we switch to copy_file_range() there
are no prefetches and it gets slow.

Hmm, at a guess, it might be due to prefetching the dnode (root object
for a file) and block pointers, ie the structure but not the data
itself.

Yeah, that's possible. But the effects are the same - it doesn't matter
what exactly is not prefetched. But perhaps we could prefetch just a
tiny part of the record, enough to prefetch the dnode+pointers, not the
whole record. Might save some space in ARC, perhaps?

This is a bit bizarre, especially because the manifest=on cases are
still fast, exactly because the pread + prefetching still happens. I'm
sure users would find this puzzling.

Unfortunately, the prefetching is not beneficial for all filesystems.
For XFS it does not seem to make any difference, but on BTRFS it seems
to cause a regression.

I think this means we may need a "--prefetch" option, that'd force
prefetching, probably both before pread and copy_file_range. Otherwise
people on ZFS are doomed and will have poor performance.

Seems reasonable if you can't fix it by tuning ZFS. (Might also be an
interesting research topic for a potential ZFS patch:
prefetch_swiss_cheese_window_size. I will not be nerd-sniped into
reading the relevant source today, but I'll figure it out soonish...)

It's entirely possible I'm just too stupid and it works just fine for
everyone else. But maybe not, and I'd say an implementation that is this
difficult to configure is almost as if it didn't exist at all. The linux
read-ahead works by default pretty great.

So I don't see how to make this work without explicit prefetch ... Of
course, we could also do no prefetch and tell users it's up to ZFS to
make this work, but I don't think it does them any service.

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

#40Jakub Wartak
jakub.wartak@enterprisedb.com
In reply to: Tomas Vondra (#37)
Re: pg_combinebackup --copy-file-range

On Mon, Apr 1, 2024 at 9:46 PM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

Hi,

I've been running some benchmarks and experimenting with various stuff,
trying to improve the poor performance on ZFS, and the regression on XFS
when using copy_file_range. And oh boy, did I find interesting stuff ...

[..]

Congratulations on great results!

4) after each pg_combinebackup run to pg_verifybackup, start the cluster
to finish recovery, run pg_checksums --check (to check the patches don't
produce something broken)

I've performed some follow-up small testing on all patches mentioned
here (1..7), with the earlier developed nano-incremental-backup-tests
that helped detect some issues for Robert earlier during original
development. They all went fine in both cases:
- no special options when using pg_combinebackup
- using pg_combinebackup --copy-file-range --manifest-checksums=NONE

Those were:
test_across_wallevelminimal.sh
test_full_pri__incr_stby__restore_on_pri.sh
test_full_pri__incr_stby__restore_on_stby.sh
test_full_stby__incr_stby__restore_on_pri.sh
test_full_stby__incr_stby__restore_on_stby.sh
test_incr_after_timelineincrease.sh
test_incr_on_standby_after_promote.sh
test_many_incrementals_dbcreate_duplicateOID.sh
test_many_incrementals_dbcreate_filecopy_NOINCR.sh
test_many_incrementals_dbcreate_filecopy.sh
test_many_incrementals_dbcreate.sh
test_many_incrementals.sh
test_multixact.sh
test_pending_2pc.sh
test_reindex_and_vacuum_full.sh
test_repro_assert_RP.sh
test_repro_assert.sh
test_standby_incr_just_backup.sh
test_stuck_walsum.sh
test_truncaterollback.sh
test_unlogged_table.sh

Now to the findings ....

1) block alignment

[..]

And I think we probably want to do this now, because this affects all
tools dealing with incremental backups - even if someone writes a custom
version of pg_combinebackup, it will have to deal with misaligned data.
Perhaps there might be something like pg_basebackup that "transforms"
the data received from the server (and also the backup manifest), but
that does not seem like a great direction.

If anything is on the table, then I think in the far future
pg_refresh_standby_using_incremental_backup_from_primary would be the
only other tool using the format ?

2) prefetch
-----------

[..]

I think this means we may need a "--prefetch" option, that'd force
prefetching, probably both before pread and copy_file_range. Otherwise
people on ZFS are doomed and will have poor performance.

Right, we could optionally cover in the docs later-on various options
to get the performance (on XFS use $this, but without $that and so
on). It's kind of madness dealing with all those performance
variations.

Another idea: remove that 128 posifx_fadvise() hardcode in 0002 and a
getopt variant like: --prefetch[=HOWMANY] with 128 being as default ?

-J.

#41Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Jakub Wartak (#40)
6 attachment(s)
Re: pg_combinebackup --copy-file-range

Hi,

Here's a much more polished and cleaned up version of the patches,
fixing all the issues I've been aware of, and with various parts merged
into much more cohesive parts (instead of keeping them separate to make
the changes/evolution more obvious).

I decided to reorder the changes like this:

1) block alignment - As I said earlier, I think we should definitely do
this, even if only to make future improvements possible. After chatting
about this with Robert off-list a bit, he pointed out I actually forgot
to not align the headers for files without any blocks, so this version
fixes that.

2) add clone/copy_file_range for the case that copies whole files. This
is pretty simple, but it also adds the --clone/copy-file-range options,
and similar infrastructure. The one slightly annoying bit is that we now
have the ifdef stuff in two places - when parsing the options, and then
in the copy_file_XXX methods, and the pg_fatal() calls should not be
reachable in practice. But that doesn't seem harmful, and might be a
useful protection against someone calling function that does nothing.

This also merges the original two parts, where the first one only did
this cloning/CoW stuff when checksum did not need to be calculated, and
the second extended it to those cases too (by also reading the data, but
still doing the copy the old way).

I think this is the right way - if that's not desisable, it's easy to
either add --no-manifest or not use the CoW options. Or just not change
the checksum type. There's no other way.

3) add copy_file_range to write_reconstructed_file, by using roughly the
same logic/reasoning as (2). If --copy-file-range is specified and a
checksum should be calculated, the data is read for the checksum, but
the copy is done using copy_file_range.

I did rework the flow write_reconstructed_file() flow a bit, because
tracking what exactly needs to be read/written in each of the cases
(which copy method, zeroed block, checksum calculated) made the flow
really difficult to follow. Instead I introduced a function to
read/write a block, and call them from different places.

I think this is much better, and it also makes the following part
dealing with batches of blocks much easier / smaller change.

4) prefetching - This is mostly unrelated to the CoW stuff, but it has
tremendous benefits, especially for ZFS. I haven't been able to tune ZFS
to get decent performance, and ISTM it'd be rather unusable for backup
purposes without this.

5) batching in write_reconstructed_file - This benefits especially the
copy_file_range case, where I've seen it to yield massive speedups (see
the message from Monday for better data).

6) batching for prefetch - Similar logic to (5), but for fadvise. This
is the only part where I'm not entirely sure whether it actually helps
or not. Needs some more analysis, but I'm including it for completeness.

I do think the parts (1)-(4) are in pretty good shape, good enough to
make them committable in a day or two. I see it mostly a matter of
testing and comment improvements rather than code changes.

(5) is in pretty good shape too, but I'd like to maybe simplify and
refine the write_reconstructed_file changes a bit more. I don't think
it's broken, but it feels a bit too cumbersome.

Not sure about (6) yet.

I changed how I think about this a bit - I don't really see the CoW copy
methods as necessary faster than the regular copy (even though it can be
with (5)). I think the main benefits are the space savings, enabled by
patches (1)-(3). If (4) and (5) get it, that's a bonus, but even without
that I don't think the performance is an issue - everything has a cost.

On 4/3/24 15:39, Jakub Wartak wrote:

On Mon, Apr 1, 2024 at 9:46 PM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

Hi,

I've been running some benchmarks and experimenting with various stuff,
trying to improve the poor performance on ZFS, and the regression on XFS
when using copy_file_range. And oh boy, did I find interesting stuff ...

[..]

Congratulations on great results!

4) after each pg_combinebackup run to pg_verifybackup, start the cluster
to finish recovery, run pg_checksums --check (to check the patches don't
produce something broken)

I've performed some follow-up small testing on all patches mentioned
here (1..7), with the earlier developed nano-incremental-backup-tests
that helped detect some issues for Robert earlier during original
development. They all went fine in both cases:
- no special options when using pg_combinebackup
- using pg_combinebackup --copy-file-range --manifest-checksums=NONE

Those were:
test_across_wallevelminimal.sh
test_full_pri__incr_stby__restore_on_pri.sh
test_full_pri__incr_stby__restore_on_stby.sh
test_full_stby__incr_stby__restore_on_pri.sh
test_full_stby__incr_stby__restore_on_stby.sh
test_incr_after_timelineincrease.sh
test_incr_on_standby_after_promote.sh
test_many_incrementals_dbcreate_duplicateOID.sh
test_many_incrementals_dbcreate_filecopy_NOINCR.sh
test_many_incrementals_dbcreate_filecopy.sh
test_many_incrementals_dbcreate.sh
test_many_incrementals.sh
test_multixact.sh
test_pending_2pc.sh
test_reindex_and_vacuum_full.sh
test_repro_assert_RP.sh
test_repro_assert.sh
test_standby_incr_just_backup.sh
test_stuck_walsum.sh
test_truncaterollback.sh
test_unlogged_table.sh

Now to the findings ....

Thanks. Would be great if you could run this on the attached version of
the patches, ideally for each of them independently, so make sure it
doesn't get broken+fixed somewhere on the way.

1) block alignment

[..]

And I think we probably want to do this now, because this affects all
tools dealing with incremental backups - even if someone writes a custom
version of pg_combinebackup, it will have to deal with misaligned data.
Perhaps there might be something like pg_basebackup that "transforms"
the data received from the server (and also the backup manifest), but
that does not seem like a great direction.

If anything is on the table, then I think in the far future
pg_refresh_standby_using_incremental_backup_from_primary would be the
only other tool using the format ?

Possibly, but I was thinking more about backup solutions using the same
format, but doing the client-side differently. Essentially, something
that would still use the server side to generate incremental backups,
but replace pg_combinebackup to do this differently (stream the data
somewhere else, index it somehow, or whatever).

2) prefetch
-----------

[..]

I think this means we may need a "--prefetch" option, that'd force
prefetching, probably both before pread and copy_file_range. Otherwise
people on ZFS are doomed and will have poor performance.

Right, we could optionally cover in the docs later-on various options
to get the performance (on XFS use $this, but without $that and so
on). It's kind of madness dealing with all those performance
variations.

Yeah, something like that. I'm not sure we want to talk too much about
individual filesystems in our docs, because those things evolve over
time too. And also this depends on how large the increment is. If it
only modifies 1% of the blocks, then 99% will come from the full backup,
and the sequential prefetch should do OK (well, maybe not on ZFS). But
as the incremental backup gets larger / is more random, the prefetch is
more and more important.

Another idea: remove that 128 posifx_fadvise() hardcode in 0002 and a
getopt variant like: --prefetch[=HOWMANY] with 128 being as default ?

I did think about that, but there's a dependency on the batching. If
we're prefetching ~1MB of data, we may need to prefetch up to ~1MB
ahead. Because otherwise we might want to read 1MB and only a tiny part
of that would be prefetched. I was thinking maybe we could skip the
sequential parts, but ZFS does need that.

So I don't think we can just allow users to set arbitrary values, at
least not without also tweaking the batch. Or maybe 1MB batches are too
large, and we should use something smaller? I need to think about this a
bit more ...

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Attachments:

v20240403-0001-Properly-align-blocks-in-incremental-backu.patchtext/x-patch; charset=UTF-8; name=v20240403-0001-Properly-align-blocks-in-incremental-backu.patchDownload
From aae6423b6f0e7955a19d0ff28ec64071e808ca0d Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Sun, 31 Mar 2024 14:55:29 +0200
Subject: [PATCH v20240403 1/6] Properly align blocks in incremental backups

Align blocks stored in incremental files to BLCKSZ (typically 8K), so
that the incremental backups can work well with CoW filesystems.

The features based on block sharing in CoW filesystems require the
blocks to be aligned to the filesystem page size, but the format
of the incremental files did not meet that requirement as the files
have variable-length header and the data for the blocks was stored
right after that.

This would features like deduplication or block sharing built into
some file systems (e.g. ZFS, BTRFS, XFS) from working well.

This commit pads the file header with \0 to a multiple of BLCKSZ,
which means the block data is aligned to BLCKSZ too. The padding
is applied only to files with block data, so files with just the
header are left small. For files with blocks this adds a bit of
overhead, but as the number of blocks increases the overhead gets
negligible very quickly. Moreover, as the padding is \0 bytes, it
does compress extremely well.
---
 src/backend/backup/basebackup.c             | 26 ++++++++++++++
 src/backend/backup/basebackup_incremental.c | 39 ++++++++++++++++++---
 src/bin/pg_combinebackup/reconstruct.c      |  8 +++++
 src/include/backup/basebackup_incremental.h |  1 +
 4 files changed, 70 insertions(+), 4 deletions(-)

diff --git a/src/backend/backup/basebackup.c b/src/backend/backup/basebackup.c
index 5fea86ad0fd..b956df072d5 100644
--- a/src/backend/backup/basebackup.c
+++ b/src/backend/backup/basebackup.c
@@ -1623,6 +1623,8 @@ sendFile(bbsink *sink, const char *readfilename, const char *tarfilename,
 	{
 		unsigned	magic = INCREMENTAL_MAGIC;
 		size_t		header_bytes_done = 0;
+		char		padding[BLCKSZ];
+		size_t		paddinglen;
 
 		/* Emit header data. */
 		push_to_sink(sink, &checksum_ctx, &header_bytes_done,
@@ -1635,6 +1637,23 @@ sendFile(bbsink *sink, const char *readfilename, const char *tarfilename,
 					 incremental_blocks,
 					 sizeof(BlockNumber) * num_incremental_blocks);
 
+		/*
+		 * Add padding to align header to a multiple of BLCKSZ, but only if
+		 * the incremental file has some blocks. If there are no blocks we
+		 * don't want make the file unnecessarily large, as that might make
+		 * some filesystem optimizations impossible.
+		 */
+		if (num_incremental_blocks > 0)
+		{
+			paddinglen = (BLCKSZ - (header_bytes_done % BLCKSZ));
+
+			memset(padding, 0, paddinglen);
+			bytes_done += paddinglen;
+
+			push_to_sink(sink, &checksum_ctx, &header_bytes_done,
+						 padding, paddinglen);
+		}
+
 		/* Flush out any data still in the buffer so it's again empty. */
 		if (header_bytes_done > 0)
 		{
@@ -1748,6 +1767,13 @@ sendFile(bbsink *sink, const char *readfilename, const char *tarfilename,
 		blkno += cnt / BLCKSZ;
 		bytes_done += cnt;
 
+		/*
+		 * Make sure incremental files with block data are properly aligned
+		 * (header is a multiple of BLCKSZ, blocks are BLCKSZ too).
+		 */
+		Assert(!((incremental_blocks != NULL && num_incremental_blocks > 0) &&
+				 (bytes_done % BLCKSZ != 0)));
+
 		/* Archive the data we just read. */
 		bbsink_archive_contents(sink, cnt);
 
diff --git a/src/backend/backup/basebackup_incremental.c b/src/backend/backup/basebackup_incremental.c
index 990b2872eaf..9cd7d9e15ae 100644
--- a/src/backend/backup/basebackup_incremental.c
+++ b/src/backend/backup/basebackup_incremental.c
@@ -902,6 +902,36 @@ GetFileBackupMethod(IncrementalBackupInfo *ib, const char *path,
 	return BACK_UP_FILE_INCREMENTALLY;
 }
 
+/*
+ * Compute the size for a header of an incremental file containing a given
+ * number of blocks. The header is rounded to a multiple of BLCKSZ, but
+ * only if the file will store some block data.
+ */
+extern size_t
+GetIncrementalHeaderSize(unsigned num_blocks_required)
+{
+	size_t		result;
+
+	/* Make sure we're not going to overflow. */
+	Assert(num_blocks_required <= RELSEG_SIZE);
+
+	/*
+	 * Three four byte quantities (magic number, truncation block length,
+	 * block count) followed by block numbers.
+	 */
+	result = 3 * sizeof(uint32) + (sizeof(BlockNumber) * num_blocks_required);
+
+	/*
+	 * Round the header size to a multiple of BLCKSZ - when not a multiple
+	 * of BLCKSZ, add the missing fraction of a block. But do this only if
+	 * the file will store data for some blocks, otherwise keep it small.
+	 */
+	if ((num_blocks_required > 0) && (result % BLCKSZ != 0))
+		result += BLCKSZ - (result % BLCKSZ);
+
+	return result;
+}
+
 /*
  * Compute the size for an incremental file containing a given number of blocks.
  */
@@ -914,11 +944,12 @@ GetIncrementalFileSize(unsigned num_blocks_required)
 	Assert(num_blocks_required <= RELSEG_SIZE);
 
 	/*
-	 * Three four byte quantities (magic number, truncation block length,
-	 * block count) followed by block numbers followed by block contents.
+	 * Header with three four byte quantities (magic number, truncation block
+	 * length, block count) followed by block numbers, rounded to a multiple
+	 * of BLCKSZ (for files with block data), followed by block contents.
 	 */
-	result = 3 * sizeof(uint32);
-	result += (BLCKSZ + sizeof(BlockNumber)) * num_blocks_required;
+	result = GetIncrementalHeaderSize(num_blocks_required);
+	result += BLCKSZ * num_blocks_required;
 
 	return result;
 }
diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index 41f06bb26b5..33c6da02a8c 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -472,6 +472,14 @@ make_incremental_rfile(char *filename)
 		sizeof(rf->truncation_block_length) +
 		sizeof(BlockNumber) * rf->num_blocks;
 
+	/*
+	 * Round header length to a multiple of BLCKSZ, so that blocks contents
+	 * are properly aligned. Only do this when the file actually has data for
+	 * some blocks.
+	 */
+	if ((rf->num_blocks > 0) && ((rf->header_length % BLCKSZ) != 0))
+		rf->header_length += (BLCKSZ - (rf->header_length % BLCKSZ));
+
 	return rf;
 }
 
diff --git a/src/include/backup/basebackup_incremental.h b/src/include/backup/basebackup_incremental.h
index ae5feb4b320..6ba9c9035e2 100644
--- a/src/include/backup/basebackup_incremental.h
+++ b/src/include/backup/basebackup_incremental.h
@@ -51,5 +51,6 @@ extern FileBackupMethod GetFileBackupMethod(IncrementalBackupInfo *ib,
 											BlockNumber *relative_block_numbers,
 											unsigned *truncation_block_length);
 extern size_t GetIncrementalFileSize(unsigned num_blocks_required);
+extern size_t GetIncrementalHeaderSize(unsigned num_blocks_required);
 
 #endif
-- 
2.44.0

v20240403-0002-Allow-copying-files-using-clone-copy_file_.patchtext/x-patch; charset=UTF-8; name=v20240403-0002-Allow-copying-files-using-clone-copy_file_.patchDownload
From 82df50f7f92fa83d2f59ff96c46677b53abd3465 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Tue, 19 Mar 2024 15:16:29 +0100
Subject: [PATCH v20240403 2/6] Allow copying files using clone/copy_file_range

Adds options --clone/--copy-file-range allowing to copy files using
these accelerated methods, usually faster than the block-by-block
copy. This only applies to files that can did not change and can be
copied as a whole.

These new copy methods may not be available on all platforms, in
which case the command throws an error (immediately, even if no
files could be copied as a whole). This early failure seems better
than failing when trying to copy the first file, after performing
a lot of work on earlier files.

If the requested copy method is available, but the file needs other
processing (e.g. calculating a checksum of a different type), the
file is copied using the requested method, but also read and then
processed, but the data is discarded. Depending on the filesystem
this may be more expensive than just performing the simple copy,
but it does allow the CoW benefits.
---
 doc/src/sgml/ref/pg_combinebackup.sgml      |  46 +++++
 src/bin/pg_combinebackup/copy_file.c        | 202 ++++++++++++++++----
 src/bin/pg_combinebackup/copy_file.h        |  18 +-
 src/bin/pg_combinebackup/pg_combinebackup.c |  47 ++++-
 src/bin/pg_combinebackup/reconstruct.c      |   5 +-
 src/bin/pg_combinebackup/reconstruct.h      |   3 +-
 6 files changed, 277 insertions(+), 44 deletions(-)

diff --git a/doc/src/sgml/ref/pg_combinebackup.sgml b/doc/src/sgml/ref/pg_combinebackup.sgml
index 6f90dba281f..70310c31985 100644
--- a/doc/src/sgml/ref/pg_combinebackup.sgml
+++ b/doc/src/sgml/ref/pg_combinebackup.sgml
@@ -185,6 +185,52 @@ PostgreSQL documentation
       </listitem>
      </varlistentry>
 
+     <varlistentry>
+      <term><option>--clone</option></term>
+      <listitem>
+       <para>
+        Use efficient file cloning (also known as <quote>reflinks</quote> on
+        some systems) instead of copying files to the new data directory,
+        which can result in near-instantaneous copying of the data files.
+       </para>
+
+       <para>
+        File cloning may be used only when the checksums match in the backup
+        manifests. If a backup manifest is not available or does not contain
+        checksum of the right type, the file will be copied block-by-block
+        as if the <option>--clone</option> option was not specified.
+       </para>
+
+       <para>
+        File cloning is only supported on some operating systems and file
+        systems.  If it is selected but not supported, the
+        <application>pg_combinebackup</application> run will error.  At present,
+        it is supported on Linux (kernel 4.5 or later) with Btrfs and XFS (on
+        file systems created with reflink support), and on macOS with APFS.
+       </para>
+      </listitem>
+     </varlistentry>
+
+     <varlistentry>
+      <term><option>--copy-file-range</option></term>
+      <listitem>
+       <para>
+        Use the <function>copy_file_range</function> system call for efficient
+        copying.  On some file systems this gives results similar to
+        <option>--clone</option>, sharing physical disk blocks, while on others
+        it may still copy blocks, but do so via an optimized path.  At present,
+        it is supported on Linux and FreeBSD.
+       </para>
+
+       <para>
+        <function>copy_file_range</function> may be used only when the
+        checksums match in the backup manifests. If a backup manifest is not
+        available or does not contain checksum of the right type, the file will
+        be copied block-by-block as if the option was not specified.
+       </para>
+      </listitem>
+     </varlistentry>
+
      <varlistentry>
        <term><option>-V</option></term>
        <term><option>--version</option></term>
diff --git a/src/bin/pg_combinebackup/copy_file.c b/src/bin/pg_combinebackup/copy_file.c
index e6d2423278a..8e8c02e58f8 100644
--- a/src/bin/pg_combinebackup/copy_file.c
+++ b/src/bin/pg_combinebackup/copy_file.c
@@ -14,6 +14,7 @@
 #include <copyfile.h>
 #endif
 #include <fcntl.h>
+#include <limits.h>
 #include <sys/stat.h>
 #include <unistd.h>
 
@@ -24,8 +25,15 @@
 static void copy_file_blocks(const char *src, const char *dst,
 							 pg_checksum_context *checksum_ctx);
 
+static void copy_file_clone(const char *src, const char *dst,
+							pg_checksum_context *checksum_ctx);
+
+static void copy_file_by_range(const char *src, const char *dst,
+							   pg_checksum_context *checksum_ctx);
+
 #ifdef WIN32
-static void copy_file_copyfile(const char *src, const char *dst);
+static void copy_file_copyfile(const char *src, const char *dst,
+							   pg_checksum_context *checksum_ctx);
 #endif
 
 /*
@@ -35,8 +43,13 @@ static void copy_file_copyfile(const char *src, const char *dst);
  */
 void
 copy_file(const char *src, const char *dst,
-		  pg_checksum_context *checksum_ctx, bool dry_run)
+		  pg_checksum_context *checksum_ctx, bool dry_run,
+		  CopyMethod copy_method)
 {
+	char   *strategy_name = NULL;
+	void	(*strategy_implementation) (const char *, const char *,
+										pg_checksum_context *checksum_ctx) = NULL;
+
 	/*
 	 * In dry-run mode, we don't actually copy anything, nor do we read any
 	 * data from the source file, but we do verify that we can open it.
@@ -51,61 +64,94 @@ copy_file(const char *src, const char *dst,
 			pg_fatal("could not close \"%s\": %m", src);
 	}
 
-	/*
-	 * If we don't need to compute a checksum, then we can use any special
-	 * operating system primitives that we know about to copy the file; this
-	 * may be quicker than a naive block copy.
-	 */
-	if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
-	{
-		char	   *strategy_name = NULL;
-		void		(*strategy_implementation) (const char *, const char *) = NULL;
-
 #ifdef WIN32
-		strategy_name = "CopyFile";
-		strategy_implementation = copy_file_copyfile;
+	copy_method = COPY_METHOD_COPYFILE;
 #endif
 
-		if (strategy_name != NULL)
-		{
-			if (dry_run)
-				pg_log_debug("would copy \"%s\" to \"%s\" using strategy %s",
-							 src, dst, strategy_name);
-			else
-			{
-				pg_log_debug("copying \"%s\" to \"%s\" using strategy %s",
-							 src, dst, strategy_name);
-				(*strategy_implementation) (src, dst);
-			}
-			return;
-		}
+	/* Determine the name of the copy strategy for use in log messages. */
+	switch (copy_method)
+	{
+		case COPY_METHOD_CLONE:
+			strategy_name = "clone";
+			strategy_implementation = copy_file_clone;
+			break;
+		case COPY_METHOD_COPY:
+			/* leave NULL for simple block-by-block copy */
+			strategy_implementation = copy_file_blocks;
+			break;
+		case COPY_METHOD_COPY_FILE_RANGE:
+			strategy_name = "copy_file_range";
+			strategy_implementation = copy_file_by_range;
+			break;
+#ifdef WIN32
+		case COPY_METHOD_COPYFILE:
+			strategy_name = "CopyFile";
+			strategy_implementation = copy_file_copyfile;
+			break;
+#endif
 	}
 
-	/*
-	 * Fall back to the simple approach of reading and writing all the blocks,
-	 * feeding them into the checksum context as we go.
-	 */
 	if (dry_run)
 	{
-		if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
+		if (strategy_name)
+			pg_log_debug("would copy \"%s\" to \"%s\" using strategy %s",
+						 src, dst, strategy_name);
+		else
 			pg_log_debug("would copy \"%s\" to \"%s\"",
 						 src, dst);
-		else
-			pg_log_debug("would copy \"%s\" to \"%s\" and checksum with %s",
-						 src, dst, pg_checksum_type_name(checksum_ctx->type));
 	}
 	else
 	{
-		if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
+		if (strategy_name)
+			pg_log_debug("copying \"%s\" to \"%s\" using strategy %s",
+						 src, dst, strategy_name);
+		else if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
 			pg_log_debug("copying \"%s\" to \"%s\"",
 						 src, dst);
 		else
 			pg_log_debug("copying \"%s\" to \"%s\" and checksumming with %s",
 						 src, dst, pg_checksum_type_name(checksum_ctx->type));
-		copy_file_blocks(src, dst, checksum_ctx);
+
+		strategy_implementation(src, dst, checksum_ctx);
 	}
 }
 
+/*
+ * Calculate checksum for src file.
+ */
+static void
+checksum_file(const char *src, pg_checksum_context *checksum_ctx)
+{
+	int			src_fd;
+	uint8	   *buffer;
+	const int	buffer_size = 50 * BLCKSZ;
+	ssize_t		rb;
+	unsigned	offset = 0;
+
+	/* bail out if no checksum needed */
+	if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
+		return;
+
+	if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+		pg_fatal("could not open file \"%s\": %m", src);
+
+	buffer = pg_malloc(buffer_size);
+
+	while ((rb = read(src_fd, buffer, buffer_size)) > 0)
+	{
+		if (pg_checksum_update(checksum_ctx, buffer, rb) < 0)
+			pg_fatal("could not update checksum of file \"%s\"", src);
+
+		offset += rb;
+	}
+
+	if (rb < 0)
+		pg_fatal("could not read file \"%s\": %m", src);
+
+	pg_free(buffer);
+	close(src_fd);
+}
+
 /*
  * Copy a file block by block, and optionally compute a checksum as we go.
  */
@@ -156,14 +202,94 @@ copy_file_blocks(const char *src, const char *dst,
 	close(dest_fd);
 }
 
+/*
+ * copy_file_clone
+ *		Clones/reflinks a file from src to dest.
+ */
+static void
+copy_file_clone(const char *src, const char *dest,
+				pg_checksum_context *checksum_ctx)
+{
+#if defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE)
+	if (copyfile(src, dest, NULL, COPYFILE_CLONE_FORCE) < 0)
+		pg_fatal("error while cloning file \"%s\" to \"%s\": %m", src, dest);
+#elif defined(__linux__) && defined(FICLONE)
+	{
+		if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+			pg_fatal("could not open file \"%s\": %m", src);
+
+		if ((dest_fd = open(dest, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+							pg_file_create_mode)) < 0)
+			pg_fatal("could not create file \"%s\": %m", dest);
+
+		if (ioctl(dest_fd, FICLONE, src_fd) < 0)
+		{
+			int			save_errno = errno;
+
+			unlink(dest);
+
+			pg_fatal("error while cloning file \"%s\" to \"%s\": %s",
+					 src, dest);
+		}
+	}
+#else
+	pg_fatal("file cloning not supported on this platform");
+#endif
+
+	/* if needed, calculate checksum of the file */
+	checksum_file(src, checksum_ctx);
+}
+
+/*
+ * copy_file_by_range
+ *		Copies a file from src to dest using copy_file_range system call.
+ */
+static void
+copy_file_by_range(const char *src, const char *dest,
+				   pg_checksum_context *checksum_ctx)
+{
+#if defined(HAVE_COPY_FILE_RANGE)
+	int			src_fd;
+	int			dest_fd;
+	ssize_t		nbytes;
+
+	if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
+		pg_fatal("could not open file \"%s\": %m", src);
+
+	if ((dest_fd = open(dest, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
+						pg_file_create_mode)) < 0)
+		pg_fatal("could not create file \"%s\": %m", dest);
+
+	do
+	{
+		nbytes = copy_file_range(src_fd, NULL, dest_fd, NULL, SSIZE_MAX, 0);
+		if (nbytes < 0)
+			pg_fatal("error while copying file range from \"%s\" to \"%s\": %m",
+					 src, dest);
+	} while (nbytes > 0);
+
+	close(src_fd);
+	close(dest_fd);
+#else
+	pg_fatal("copy_file_range not supported on this platform");
+#endif
+
+	/* if needed, calculate checksum of the file */
+	checksum_file(src, checksum_ctx);
+}
+
 #ifdef WIN32
 static void
-copy_file_copyfile(const char *src, const char *dst)
+copy_file_copyfile(const char *src, const char *dst,
+				   pg_checksum_context *checksum_ctx)
 {
 	if (CopyFile(src, dst, true) == 0)
 	{
 		_dosmaperr(GetLastError());
 		pg_fatal("could not copy \"%s\" to \"%s\": %m", src, dst);
 	}
+
+	/* if needed, calculate checksum of the file */
+	checksum_file(src, checksum_ctx);
 }
 #endif							/* WIN32 */
diff --git a/src/bin/pg_combinebackup/copy_file.h b/src/bin/pg_combinebackup/copy_file.h
index 0f6bc09403f..9615595d887 100644
--- a/src/bin/pg_combinebackup/copy_file.h
+++ b/src/bin/pg_combinebackup/copy_file.h
@@ -11,9 +11,25 @@
 #ifndef COPY_FILE_H
 #define COPY_FILE_H
 
+#include "c.h"
 #include "common/checksum_helper.h"
+#include "common/file_utils.h"
+
+/*
+ * Enumeration to denote copy modes
+ */
+typedef enum CopyMethod
+{
+	COPY_METHOD_CLONE,
+	COPY_METHOD_COPY,
+	COPY_METHOD_COPY_FILE_RANGE,
+#ifdef WIN32
+	COPY_METHOD_COPYFILE,
+#endif
+} CopyMethod;
 
 extern void copy_file(const char *src, const char *dst,
-					  pg_checksum_context *checksum_ctx, bool dry_run);
+					  pg_checksum_context *checksum_ctx, bool dry_run,
+					  CopyMethod copy_method);
 
 #endif							/* COPY_FILE_H */
diff --git a/src/bin/pg_combinebackup/pg_combinebackup.c b/src/bin/pg_combinebackup/pg_combinebackup.c
index 74f8be9eeac..4f3d7747ce6 100644
--- a/src/bin/pg_combinebackup/pg_combinebackup.c
+++ b/src/bin/pg_combinebackup/pg_combinebackup.c
@@ -69,6 +69,7 @@ typedef struct cb_options
 	pg_checksum_type manifest_checksums;
 	bool		no_manifest;
 	DataDirSyncMethod sync_method;
+	CopyMethod	copy_method;
 } cb_options;
 
 /*
@@ -129,6 +130,8 @@ main(int argc, char *argv[])
 		{"manifest-checksums", required_argument, NULL, 1},
 		{"no-manifest", no_argument, NULL, 2},
 		{"sync-method", required_argument, NULL, 3},
+		{"clone", no_argument, NULL, 4},
+		{"copy-file-range", no_argument, NULL, 5},
 		{NULL, 0, NULL, 0}
 	};
 
@@ -156,6 +159,7 @@ main(int argc, char *argv[])
 	memset(&opt, 0, sizeof(opt));
 	opt.manifest_checksums = CHECKSUM_TYPE_CRC32C;
 	opt.sync_method = DATA_DIR_SYNC_METHOD_FSYNC;
+	opt.copy_method = COPY_METHOD_COPY;
 
 	/* process command-line options */
 	while ((c = getopt_long(argc, argv, "dnNPo:T:",
@@ -192,6 +196,12 @@ main(int argc, char *argv[])
 				if (!parse_sync_method(optarg, &opt.sync_method))
 					exit(1);
 				break;
+			case 4:
+				opt.copy_method = COPY_METHOD_CLONE;
+				break;
+			case 5:
+				opt.copy_method = COPY_METHOD_COPY_FILE_RANGE;
+				break;
 			default:
 				/* getopt_long already emitted a complaint */
 				pg_log_error_hint("Try \"%s --help\" for more information.", progname);
@@ -213,6 +223,35 @@ main(int argc, char *argv[])
 	if (opt.no_manifest)
 		opt.manifest_checksums = CHECKSUM_TYPE_NONE;
 
+	/* Check that the platform supports the requested copy method. */
+	if (opt.copy_method == COPY_METHOD_CLONE)
+	{
+#if (defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE)) || \
+	(defined(__linux__) && defined(FICLONE))
+
+		if (opt.dry_run)
+			pg_log_debug("would use cloning to copy files");
+		else
+			pg_log_debug("will use cloning to copy files");
+
+#else
+		pg_fatal("file cloning not supported on this platform");
+#endif
+	}
+	else if (opt.copy_method == COPY_METHOD_COPY_FILE_RANGE)
+	{
+#if defined(HAVE_COPY_FILE_RANGE)
+
+		if (opt.dry_run)
+			pg_log_debug("would use copy_file_range to copy blocks");
+		else
+			pg_log_debug("will use copy_file_range to copy blocks");
+
+#else
+		pg_fatal("copy_file_range not supported on this platform");
+#endif
+	}
+
 	/* Read the server version from the final backup. */
 	version = read_pg_version_file(argv[argc - 1]);
 
@@ -696,6 +735,8 @@ help(const char *progname)
 			 "                            use algorithm for manifest checksums\n"));
 	printf(_("      --no-manifest         suppress generation of backup manifest\n"));
 	printf(_("      --sync-method=METHOD  set method for syncing files to disk\n"));
+	printf(_("      --clone               clone (reflink) instead of copying files\n"));
+	printf(_("      --copy-file-range     copy using copy_file_range() syscall\n"));
 	printf(_("  -?, --help                show this help, then exit\n"));
 
 	printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
@@ -937,7 +978,8 @@ process_directory_recursively(Oid tsoid,
 											  &checksum_length,
 											  &checksum_payload,
 											  opt->debug,
-											  opt->dry_run);
+											  opt->dry_run,
+											  opt->copy_method);
 		}
 		else
 		{
@@ -993,7 +1035,8 @@ process_directory_recursively(Oid tsoid,
 
 			/* Actually copy the file. */
 			snprintf(ofullpath, MAXPGPATH, "%s/%s", ofulldir, de->d_name);
-			copy_file(ifullpath, ofullpath, &checksum_ctx, opt->dry_run);
+			copy_file(ifullpath, ofullpath, &checksum_ctx, opt->dry_run,
+					  opt->copy_method);
 
 			/*
 			 * If copy_file() performed a checksum calculation for us, then
diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index 33c6da02a8c..57d8622b714 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -90,7 +90,8 @@ reconstruct_from_incremental_file(char *input_filename,
 								  int *checksum_length,
 								  uint8 **checksum_payload,
 								  bool debug,
-								  bool dry_run)
+								  bool dry_run,
+								  CopyMethod copy_method)
 {
 	rfile	  **source;
 	rfile	   *latest_source = NULL;
@@ -319,7 +320,7 @@ reconstruct_from_incremental_file(char *input_filename,
 	 */
 	if (copy_source != NULL)
 		copy_file(copy_source->filename, output_filename,
-				  &checksum_ctx, dry_run);
+				  &checksum_ctx, dry_run, copy_method);
 	else
 	{
 		write_reconstructed_file(input_filename, output_filename,
diff --git a/src/bin/pg_combinebackup/reconstruct.h b/src/bin/pg_combinebackup/reconstruct.h
index 8e33a8a95a0..532cd81052d 100644
--- a/src/bin/pg_combinebackup/reconstruct.h
+++ b/src/bin/pg_combinebackup/reconstruct.h
@@ -28,6 +28,7 @@ extern void reconstruct_from_incremental_file(char *input_filename,
 											  int *checksum_length,
 											  uint8 **checksum_payload,
 											  bool debug,
-											  bool dry_run);
+											  bool dry_run,
+											  CopyMethod copy_method);
 
 #endif
-- 
2.44.0

v20240403-0003-Use-copy_file_range-in-write_reconstructed.patchtext/x-patch; charset=UTF-8; name=v20240403-0003-Use-copy_file_range-in-write_reconstructed.patchDownload
From ab5b31d36136b417eee6412e26f6f912b5c00443 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Sat, 23 Mar 2024 18:26:21 +0100
Subject: [PATCH v20240403 3/6] Use copy_file_range in write_reconstructed_file

When reconstructing files from incremental backups, we can use the
copy_file_range to copy the block data, instead of the regular method
that simply reads/writes the data.

To calculate checksums fo the reconstructed files, this uses the
same strategy as when copying whole files - the data is copied using
copy_file_range, but the data is also read for the checksum and then
discarded. The difference is that while for cloning whole files the
checksum calculation is usually not needed, when reconstructing the
files it needs to happen almost always (the only exception is when
the user specified --no-manifest).

Depending on the filesystem this may be more expensive than using the
simple copy method, this maintains the CoW benefits. If this overhead
is not acceptable, the right choice is to not use the option.
---
 src/bin/pg_combinebackup/reconstruct.c | 123 +++++++++++++++++++------
 1 file changed, 94 insertions(+), 29 deletions(-)

diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index 57d8622b714..c21b4ed09ab 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -59,8 +59,13 @@ static void write_reconstructed_file(char *input_filename,
 									 off_t *offsetmap,
 									 pg_checksum_context *checksum_ctx,
 									 bool debug,
-									 bool dry_run);
+									 bool dry_run,
+									 CopyMethod copy_method);
 static void read_bytes(rfile *rf, void *buffer, unsigned length);
+static void write_block(int wfd, char *output_filename,
+						uint8 *buffer,
+						pg_checksum_context *checksum_ctx);
+static void read_block(rfile *s, off_t off, uint8 *buffer);
 
 /*
  * Reconstruct a full file from an incremental file and a chain of prior
@@ -325,7 +330,8 @@ reconstruct_from_incremental_file(char *input_filename,
 	{
 		write_reconstructed_file(input_filename, output_filename,
 								 block_length, sourcemap, offsetmap,
-								 &checksum_ctx, debug, dry_run);
+								 &checksum_ctx, debug, dry_run,
+								 copy_method);
 		debug_reconstruction(n_prior_backups + 1, source, dry_run);
 	}
 
@@ -536,7 +542,8 @@ write_reconstructed_file(char *input_filename,
 						 off_t *offsetmap,
 						 pg_checksum_context *checksum_ctx,
 						 bool debug,
-						 bool dry_run)
+						 bool dry_run,
+						 CopyMethod copy_method)
 {
 	int			wfd = -1;
 	unsigned	i;
@@ -646,38 +653,57 @@ write_reconstructed_file(char *input_filename,
 			 * uninitialized block, so just zero-fill it.
 			 */
 			memset(buffer, 0, BLCKSZ);
-		}
-		else
-		{
-			int			rb;
 
-			/* Read the block from the correct source, except if dry-run. */
-			rb = pg_pread(s->fd, buffer, BLCKSZ, offsetmap[i]);
-			if (rb != BLCKSZ)
-			{
-				if (rb < 0)
-					pg_fatal("could not read file \"%s\": %m", s->filename);
-				else
-					pg_fatal("could not read file \"%s\": read only %d of %d bytes at offset %llu",
-							 s->filename, rb, BLCKSZ,
-							 (unsigned long long) offsetmap[i]);
-			}
+			/* Write out the block, update checksum if needed. */
+			write_block(wfd, output_filename, buffer, checksum_ctx);
+
+			continue;
 		}
 
-		/* Write out the block. */
-		if ((wb = write(wfd, buffer, BLCKSZ)) != BLCKSZ)
+		/* copy the block using either read/write or copy_file_range */
+		if (copy_method != COPY_METHOD_COPY_FILE_RANGE)
 		{
-			if (wb < 0)
-				pg_fatal("could not write file \"%s\": %m", output_filename);
-			else
-				pg_fatal("could not write file \"%s\": wrote only %d of %d bytes",
-						 output_filename, wb, BLCKSZ);
+			/*
+			 * Read the block from the correct source file, and then write
+			 * it out, possibly with checksum update.
+			 */
+			read_block(s, offsetmap[i], buffer);
+			write_block(wfd, output_filename, buffer, checksum_ctx);
 		}
+		else	/* use copy_file_range */
+		{
+			/* copy_file_range modifies the passed offset, so make a copy */
+			off_t	off = offsetmap[i];
+			size_t	nwritten = 0;
+
+			/*
+			 * Retry until we've written all the bytes (the offset is updated
+			 * by copy_file_range, and so is the wfd file offset).
+			 */
+			do
+			{
+				wb = copy_file_range(s->fd, &off, wfd, NULL, BLCKSZ - nwritten, 0);
+
+				if (wb < 0)
+					pg_fatal("error while copying file range from \"%s\" to \"%s\": %m",
+							 input_filename, output_filename);
+
+				nwritten += wb;
+
+			} while (BLCKSZ > nwritten);
+
+			/* when checksum calculation not needed, we're done */
+			if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
+				continue;
 
-		/* Update the checksum computation. */
-		if (pg_checksum_update(checksum_ctx, buffer, BLCKSZ) < 0)
-			pg_fatal("could not update checksum of file \"%s\"",
-					 output_filename);
+			/* read the block and update the checksum */
+			read_block(s, offsetmap[i], buffer);
+
+			/* Update the checksum computation. */
+			if (pg_checksum_update(checksum_ctx, buffer, BLCKSZ) < 0)
+				pg_fatal("could not update checksum of file \"%s\"",
+						 output_filename);
+		}
 	}
 
 	/* Debugging output. */
@@ -693,3 +719,42 @@ write_reconstructed_file(char *input_filename,
 	if (wfd >= 0 && close(wfd) != 0)
 		pg_fatal("could not close \"%s\": %m", output_filename);
 }
+
+static void
+write_block(int fd, char *output_filename,
+			uint8 *buffer, pg_checksum_context *checksum_ctx)
+{
+	int	wb;
+
+	if ((wb = write(fd, buffer, BLCKSZ)) != BLCKSZ)
+	{
+		if (wb < 0)
+			pg_fatal("could not write file \"%s\": %m", output_filename);
+		else
+			pg_fatal("could not write file \"%s\": wrote only %d of %d bytes",
+					 output_filename, wb, BLCKSZ);
+	}
+
+	/* Update the checksum computation. */
+	if (pg_checksum_update(checksum_ctx, buffer, BLCKSZ) < 0)
+		pg_fatal("could not update checksum of file \"%s\"",
+				 output_filename);
+}
+
+static void
+read_block(rfile *s, off_t off, uint8 *buffer)
+{
+	int			rb;
+
+	/* Read the block from the correct source, except if dry-run. */
+	rb = pg_pread(s->fd, buffer, BLCKSZ, off);
+	if (rb != BLCKSZ)
+	{
+		if (rb < 0)
+			pg_fatal("could not read file \"%s\": %m", s->filename);
+		else
+			pg_fatal("could not read file \"%s\": read only %d of %d bytes at offset %llu",
+					 s->filename, rb, BLCKSZ,
+					 (unsigned long long) off);
+	}
+}
-- 
2.44.0

v20240403-0004-Prefetch-blocks-read-by-write_reconstructe.patchtext/x-patch; charset=UTF-8; name=v20240403-0004-Prefetch-blocks-read-by-write_reconstructe.patchDownload
From fae69832c727913c12e930cd40898e11a2475bc4 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Sun, 31 Mar 2024 22:39:19 +0200
Subject: [PATCH v20240403 4/6] Prefetch blocks read by
 write_reconstructed_file

When write_reconstructed_file() reconstructs file from incremental
backups, it reads data from multiple files. In most cases the access
is fairly sequential and the kernel read-ahead does a good job, but
the pattern may easily be too random due to skipping many blocks in
each backup. Also, some read-ahead may not work that well in some
filesystems (e.g. ZFS).

This adds a --prefetch option to force explicit prefetching. When
used, the system prefetches the next 128 blocks (1MB). This value
is mostly arbitrary, but not entirely - it needs to be high enough
to cover the 1MB chunks used in one of the following patches.

XXX It would be possible to allow specifying a custom value, so it
would be "--prefetch N" where N would be 0-1024 or something like
that. But it seems unnecessary, so perhaps future improvement.
---
 doc/src/sgml/ref/pg_combinebackup.sgml      |  11 ++
 src/bin/pg_combinebackup/pg_combinebackup.c |  11 +-
 src/bin/pg_combinebackup/reconstruct.c      | 138 +++++++++++++++++++-
 src/bin/pg_combinebackup/reconstruct.h      |   3 +-
 4 files changed, 157 insertions(+), 6 deletions(-)

diff --git a/doc/src/sgml/ref/pg_combinebackup.sgml b/doc/src/sgml/ref/pg_combinebackup.sgml
index 70310c31985..491747f5bbb 100644
--- a/doc/src/sgml/ref/pg_combinebackup.sgml
+++ b/doc/src/sgml/ref/pg_combinebackup.sgml
@@ -231,6 +231,17 @@ PostgreSQL documentation
       </listitem>
      </varlistentry>
 
+     <varlistentry>
+      <term><option>--prefetch</option></term>
+      <listitem>
+       <para>
+        Enable asynchronous prefetching of blocks. If this option is not
+        specified, it's up to the operating system to prefetch data based
+        on access pattern.
+       </para>
+      </listitem>
+     </varlistentry>
+
      <varlistentry>
        <term><option>-V</option></term>
        <term><option>--version</option></term>
diff --git a/src/bin/pg_combinebackup/pg_combinebackup.c b/src/bin/pg_combinebackup/pg_combinebackup.c
index 4f3d7747ce6..9d7c6cc0c75 100644
--- a/src/bin/pg_combinebackup/pg_combinebackup.c
+++ b/src/bin/pg_combinebackup/pg_combinebackup.c
@@ -35,6 +35,9 @@
 #define INCREMENTAL_PREFIX			"INCREMENTAL."
 #define INCREMENTAL_PREFIX_LENGTH	(sizeof(INCREMENTAL_PREFIX) - 1)
 
+/* Default prefetch target 1MB (for 8K blocks). */
+#define	PREFETCH_TARGET	128
+
 /*
  * Tracking for directories that need to be removed, or have their contents
  * removed, if the operation fails.
@@ -68,6 +71,7 @@ typedef struct cb_options
 	cb_tablespace_mapping *tsmappings;
 	pg_checksum_type manifest_checksums;
 	bool		no_manifest;
+	int			prefetch_target;
 	DataDirSyncMethod sync_method;
 	CopyMethod	copy_method;
 } cb_options;
@@ -132,6 +136,7 @@ main(int argc, char *argv[])
 		{"sync-method", required_argument, NULL, 3},
 		{"clone", no_argument, NULL, 4},
 		{"copy-file-range", no_argument, NULL, 5},
+		{"prefetch", no_argument, NULL, 6},
 		{NULL, 0, NULL, 0}
 	};
 
@@ -202,6 +207,9 @@ main(int argc, char *argv[])
 			case 5:
 				opt.copy_method = COPY_METHOD_COPY_FILE_RANGE;
 				break;
+			case 6:
+				opt.prefetch_target = PREFETCH_TARGET;
+				break;
 			default:
 				/* getopt_long already emitted a complaint */
 				pg_log_error_hint("Try \"%s --help\" for more information.", progname);
@@ -979,7 +987,8 @@ process_directory_recursively(Oid tsoid,
 											  &checksum_payload,
 											  opt->debug,
 											  opt->dry_run,
-											  opt->copy_method);
+											  opt->copy_method,
+											  opt->prefetch_target);
 		}
 		else
 		{
diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index c21b4ed09ab..d63a060e473 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -60,13 +60,35 @@ static void write_reconstructed_file(char *input_filename,
 									 pg_checksum_context *checksum_ctx,
 									 bool debug,
 									 bool dry_run,
-									 CopyMethod copy_method);
+									 CopyMethod copy_method,
+									 int prefetch_target);
 static void read_bytes(rfile *rf, void *buffer, unsigned length);
 static void write_block(int wfd, char *output_filename,
 						uint8 *buffer,
 						pg_checksum_context *checksum_ctx);
 static void read_block(rfile *s, off_t off, uint8 *buffer);
 
+/*
+ * state of the asynchronous prefetcher
+ */
+typedef struct prefetch_state
+{
+	unsigned	next_block;			/* block to prefetch next */
+	int			prefetch_distance;	/* current distance (<= target) */
+	int			prefetch_target;	/* target distance */
+
+	/* prefetch statistics - number of prefetched blocks */
+	unsigned	prefetch_blocks;
+} prefetch_state;
+
+static void prefetch_init(prefetch_state *state,
+						  int prefetch_target);
+static void prefetch_blocks(prefetch_state *state,
+							unsigned block,
+							unsigned block_length,
+							rfile **sourcemap,
+							off_t *offsetmap);
+
 /*
  * Reconstruct a full file from an incremental file and a chain of prior
  * backups.
@@ -96,7 +118,8 @@ reconstruct_from_incremental_file(char *input_filename,
 								  uint8 **checksum_payload,
 								  bool debug,
 								  bool dry_run,
-								  CopyMethod copy_method)
+								  CopyMethod copy_method,
+								  int prefetch_target)
 {
 	rfile	  **source;
 	rfile	   *latest_source = NULL;
@@ -331,7 +354,7 @@ reconstruct_from_incremental_file(char *input_filename,
 		write_reconstructed_file(input_filename, output_filename,
 								 block_length, sourcemap, offsetmap,
 								 &checksum_ctx, debug, dry_run,
-								 copy_method);
+								 copy_method, prefetch_target);
 		debug_reconstruction(n_prior_backups + 1, source, dry_run);
 	}
 
@@ -543,11 +566,16 @@ write_reconstructed_file(char *input_filename,
 						 pg_checksum_context *checksum_ctx,
 						 bool debug,
 						 bool dry_run,
-						 CopyMethod copy_method)
+						 CopyMethod copy_method,
+						 int prefetch_target)
 {
 	int			wfd = -1;
 	unsigned	i;
 	unsigned	zero_blocks = 0;
+	prefetch_state	prefetch;
+
+	/* initialize the block prefetcher */
+	prefetch_init(&prefetch, prefetch_target);
 
 	/* Debugging output. */
 	if (debug)
@@ -645,6 +673,9 @@ write_reconstructed_file(char *input_filename,
 		if (dry_run)
 			continue;
 
+		/* do prefetching if enabled */
+		prefetch_blocks(&prefetch, i, block_length, sourcemap, offsetmap);
+
 		/* Read or zero-fill the block as appropriate. */
 		if (s == NULL)
 		{
@@ -715,6 +746,14 @@ write_reconstructed_file(char *input_filename,
 			pg_log_debug("zero-filled %u blocks", zero_blocks);
 	}
 
+	if (prefetch.prefetch_blocks > 0)
+	{
+		/* print how many blocks we prefetched / skipped */
+		pg_log_debug("prefetch blocks %u (%u skipped)",
+					 prefetch.prefetch_blocks,
+					 (block_length - prefetch.prefetch_blocks));
+	}
+
 	/* Close the output file. */
 	if (wfd >= 0 && close(wfd) != 0)
 		pg_fatal("could not close \"%s\": %m", output_filename);
@@ -758,3 +797,94 @@ read_block(rfile *s, off_t off, uint8 *buffer)
 					 (unsigned long long) off);
 	}
 }
+
+/*
+ * prefetch_init
+ *		Initializes state of the prefetcher.
+ *
+ * Initialize state of the prefetcher, to start with the first block and maximum
+ * prefetch distance (prefetch_target=0 means prefetching disabled). The actual
+ * prefetch distance will gradually increase, until it reaches the target.
+ */
+static void
+prefetch_init(prefetch_state *state, int prefetch_target)
+{
+	Assert(prefetch_target >= 0);
+
+	state->next_block = 0;
+	state->prefetch_distance = 0;
+	state->prefetch_target = prefetch_target;
+	state->prefetch_blocks = 0;
+}
+
+/*
+ * prefetch_blocks
+ *		Perform asynchronous prefetching of blocks to be reconstructed next.
+ *
+ * Initiates asynchronous prefetch of to be reconstructed blocks.
+ *
+ * current_block - The block to be reconstructed in the current loop, right
+ * after the prefetching. This means we're potentially prefetching blocks
+ * in the range [current_block+1, current_block+current_dinstance], with
+ * both values inclusive.
+ *
+ * block_length - Number of blocks to reconstruct, also length of sourcemap
+ * and offsetmap arrays.
+ */
+static void
+prefetch_blocks(prefetch_state *state, unsigned current_block,
+				unsigned block_length, rfile **sourcemap, off_t* offsetmap)
+{
+#ifdef USE_PREFETCH
+	unsigned	max_block;
+
+	/* bail out if prefetching not enabled */
+	if (state->prefetch_target == 0)
+		return;
+
+	/* bail out if we've already prefetched the last block */
+	if (state->next_block == block_length)
+		return;
+
+	/* gradually increase prefetch distance until the target */
+	state->prefetch_distance = Min(state->prefetch_distance + 1,
+								   state->prefetch_target);
+
+	/*
+	 * Where should we start prefetching? We don't want to prefetch blocks
+	 * that we've already prefetched, that's pointless. And we also don't
+	 * want to prefetch the block we're just about to read. This can't
+	 * overflow because we know (current_block < block_length).
+	 */
+	state->next_block = Max(state->next_block, current_block + 1);
+
+	/*
+	 * How far to prefetch? Calculate the first block to not prefetch, i.e.
+	 * right after [current_block + current_distance]. It's possible the
+	 * second part overflows and wraps around, but in that case we just
+	 * don't prefetch a couple pages at the end.
+	 *
+	 * XXX But this also shouldn't be possible, thanks to the check of
+	 * (next_block == block_length) at the very beginning.
+	 */
+	max_block = Min(block_length, current_block + state->prefetch_distance + 1);
+
+	while (state->next_block < max_block)
+	{
+		rfile  *f = sourcemap[state->next_block];
+		off_t	off = offsetmap[state->next_block];
+
+		state->next_block++;
+
+		if (f == NULL)
+			continue;
+
+		state->prefetch_blocks += 1;
+
+		/* We ignore errors because this is only a hint.*/
+		(void) posix_fadvise(f->fd, off, BLCKSZ, POSIX_FADV_WILLNEED);
+	}
+
+	Assert(state->next_block <= block_length);
+#endif
+}
diff --git a/src/bin/pg_combinebackup/reconstruct.h b/src/bin/pg_combinebackup/reconstruct.h
index 532cd81052d..d71a80dfed1 100644
--- a/src/bin/pg_combinebackup/reconstruct.h
+++ b/src/bin/pg_combinebackup/reconstruct.h
@@ -29,6 +29,7 @@ extern void reconstruct_from_incremental_file(char *input_filename,
 											  uint8 **checksum_payload,
 											  bool debug,
 											  bool dry_run,
-											  CopyMethod copy_method);
+											  CopyMethod copy_method,
+											  int prefetch_target);
 
 #endif
-- 
2.44.0

v20240403-0005-Try-copying-larger-chunks-of-data-from-the.patchtext/x-patch; charset=UTF-8; name=v20240403-0005-Try-copying-larger-chunks-of-data-from-the.patchDownload
From 12664b2d25f8e92c1da8525975b46541e7d1ceda Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Mon, 1 Apr 2024 00:37:59 +0200
Subject: [PATCH v20240403 5/6] Try copying larger chunks of data from the dame
 file

When reconstructing a file from incremental backups, try copying data
in larger chunks, not individual blocks, to reduce overhead. This
applies to all copy methods, including copy_file_range() - or rather
especially that, as the overhead may be particularly significant.

This is implemented by looking for runs of up to 128 blocks (1MB) to
be copied from the same source file, and processing them at once.

This commit only applies this to copy_file_range, the read/write copy
and checksum calculation is still done block-by-block.

Try copying larger chunks of data from the dame file (cleanup)

This is primarily a cleanup/simplification of the previous commit,
to make the code cleaned and easier to understand.

It also extends the batching to the regular read/write calls, and
checksum calculation (it only worked for copy_file_range before).
---
 src/bin/pg_combinebackup/reconstruct.c | 91 ++++++++++++++++----------
 1 file changed, 57 insertions(+), 34 deletions(-)

diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index d63a060e473..fe2e60d244a 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -63,10 +63,10 @@ static void write_reconstructed_file(char *input_filename,
 									 CopyMethod copy_method,
 									 int prefetch_target);
 static void read_bytes(rfile *rf, void *buffer, unsigned length);
-static void write_block(int wfd, char *output_filename,
-						uint8 *buffer,
-						pg_checksum_context *checksum_ctx);
-static void read_block(rfile *s, off_t off, uint8 *buffer);
+static void write_blocks(int wfd, char *output_filename,
+						 uint8 *buffer, int nblocks,
+						 pg_checksum_context *checksum_ctx);
+static void read_blocks(rfile *s, off_t off, uint8 *buffer, int nblocks);
 
 /*
  * state of the asynchronous prefetcher
@@ -570,7 +570,7 @@ write_reconstructed_file(char *input_filename,
 						 int prefetch_target)
 {
 	int			wfd = -1;
-	unsigned	i;
+	unsigned	next_idx;
 	unsigned	zero_blocks = 0;
 	prefetch_state	prefetch;
 
@@ -653,20 +653,43 @@ write_reconstructed_file(char *input_filename,
 		pg_fatal("could not open file \"%s\": %m", output_filename);
 
 	/* Read and write the blocks as required. */
-	for (i = 0; i < block_length; ++i)
+	next_idx = 0;
+	while (next_idx < block_length)
 	{
-		uint8		buffer[BLCKSZ];
-		rfile	   *s = sourcemap[i];
+#define	BLOCK_COUNT(first, last)	((last) - (first) + 1)
+#define	BATCH_SIZE		128			/* 1MB */
+		uint8		buffer[BATCH_SIZE * BLCKSZ];
+		int			first_idx = next_idx;
+		int			last_idx = next_idx;
+		rfile	   *s = sourcemap[first_idx];
 		int			wb;
+		int			nblocks;
+
+		/*
+		 * Determine the range of blocks coming from the same source file,
+		 * but not more than BLOCK_COUNT (1MB) at a time. The range starts
+		 * at first_idx, ends with last_idx (both are inclusive).
+		 */
+		while ((last_idx + 1 < block_length) &&			/* valid block */
+			   (sourcemap[last_idx+1] == s) &&			/* same file */
+			   (BLOCK_COUNT(first_idx, last_idx) < BATCH_SIZE))	/* 1MB */
+			last_idx += 1;
+
+		/* Calculate batch size, set start of the next loop. */
+		nblocks = BLOCK_COUNT(first_idx, last_idx);
+		next_idx += nblocks;
+
+		Assert(nblocks <= BATCH_SIZE);
+		Assert(next_idx == (last_idx + 1));
 
 		/* Update accounting information. */
 		if (s == NULL)
-			++zero_blocks;
+			zero_blocks += nblocks;
 		else
 		{
-			s->num_blocks_read++;
+			s->num_blocks_read += nblocks;
 			s->highest_offset_read = Max(s->highest_offset_read,
-										 offsetmap[i] + BLCKSZ);
+										 offsetmap[last_idx] + BLCKSZ);
 		}
 
 		/* Skip the rest of this in dry-run mode. */
@@ -674,7 +697,7 @@ write_reconstructed_file(char *input_filename,
 			continue;
 
 		/* do prefetching if enabled */
-		prefetch_blocks(&prefetch, i, block_length, sourcemap, offsetmap);
+		prefetch_blocks(&prefetch, last_idx, block_length, sourcemap, offsetmap);
 
 		/* Read or zero-fill the block as appropriate. */
 		if (s == NULL)
@@ -685,26 +708,26 @@ write_reconstructed_file(char *input_filename,
 			 */
 			memset(buffer, 0, BLCKSZ);
 
-			/* Write out the block, update checksum if needed. */
-			write_block(wfd, output_filename, buffer, checksum_ctx);
+			/* Write out the block(s), update checksum if needed. */
+			write_blocks(wfd, output_filename, buffer, nblocks, checksum_ctx);
 
 			continue;
 		}
 
-		/* copy the block using either read/write or copy_file_range */
+		/* now copy the blocks using either read/write or copy_file_range */
 		if (copy_method != COPY_METHOD_COPY_FILE_RANGE)
 		{
 			/*
-			 * Read the block from the correct source file, and then write
-			 * it out, possibly with checksum update.
+			 * Read the batch of blocks from the correct source file, and
+			 * then write them out, possibly with checksum update.
 			 */
-			read_block(s, offsetmap[i], buffer);
-			write_block(wfd, output_filename, buffer, checksum_ctx);
+			read_blocks(s, offsetmap[first_idx], buffer, nblocks);
+			write_blocks(wfd, output_filename, buffer, nblocks, checksum_ctx);
 		}
 		else	/* use copy_file_range */
 		{
 			/* copy_file_range modifies the passed offset, so make a copy */
-			off_t	off = offsetmap[i];
+			off_t	off = offsetmap[first_idx];
 			size_t	nwritten = 0;
 
 			/*
@@ -713,7 +736,7 @@ write_reconstructed_file(char *input_filename,
 			 */
 			do
 			{
-				wb = copy_file_range(s->fd, &off, wfd, NULL, BLCKSZ - nwritten, 0);
+				wb = copy_file_range(s->fd, &off, wfd, NULL, (BLCKSZ * nblocks) - nwritten, 0);
 
 				if (wb < 0)
 					pg_fatal("error while copying file range from \"%s\" to \"%s\": %m",
@@ -721,17 +744,17 @@ write_reconstructed_file(char *input_filename,
 
 				nwritten += wb;
 
-			} while (BLCKSZ > nwritten);
+			} while ((nblocks * BLCKSZ) > nwritten);
 
 			/* when checksum calculation not needed, we're done */
 			if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
 				continue;
 
-			/* read the block and update the checksum */
-			read_block(s, offsetmap[i], buffer);
+			/* read the block(s) and update the checksum */
+			read_blocks(s, offsetmap[first_idx], buffer, nblocks);
 
 			/* Update the checksum computation. */
-			if (pg_checksum_update(checksum_ctx, buffer, BLCKSZ) < 0)
+			if (pg_checksum_update(checksum_ctx, buffer, (nblocks * BLCKSZ)) < 0)
 				pg_fatal("could not update checksum of file \"%s\"",
 						 output_filename);
 		}
@@ -760,40 +783,40 @@ write_reconstructed_file(char *input_filename,
 }
 
 static void
-write_block(int fd, char *output_filename,
-			uint8 *buffer, pg_checksum_context *checksum_ctx)
+write_blocks(int fd, char *output_filename,
+			 uint8 *buffer, int nblocks, pg_checksum_context *checksum_ctx)
 {
 	int	wb;
 
-	if ((wb = write(fd, buffer, BLCKSZ)) != BLCKSZ)
+	if ((wb = write(fd, buffer, nblocks * BLCKSZ)) != (nblocks * BLCKSZ))
 	{
 		if (wb < 0)
 			pg_fatal("could not write file \"%s\": %m", output_filename);
 		else
 			pg_fatal("could not write file \"%s\": wrote only %d of %d bytes",
-					 output_filename, wb, BLCKSZ);
+					 output_filename, wb, (nblocks * BLCKSZ));
 	}
 
 	/* Update the checksum computation. */
-	if (pg_checksum_update(checksum_ctx, buffer, BLCKSZ) < 0)
+	if (pg_checksum_update(checksum_ctx, buffer, (nblocks * BLCKSZ)) < 0)
 		pg_fatal("could not update checksum of file \"%s\"",
 				 output_filename);
 }
 
 static void
-read_block(rfile *s, off_t off, uint8 *buffer)
+read_blocks(rfile *s, off_t off, uint8 *buffer, int nblocks)
 {
 	int			rb;
 
 	/* Read the block from the correct source, except if dry-run. */
-	rb = pg_pread(s->fd, buffer, BLCKSZ, off);
-	if (rb != BLCKSZ)
+	rb = pg_pread(s->fd, buffer, (nblocks * BLCKSZ), off);
+	if (rb != (nblocks * BLCKSZ))
 	{
 		if (rb < 0)
 			pg_fatal("could not read file \"%s\": %m", s->filename);
 		else
 			pg_fatal("could not read file \"%s\": read only %d of %d bytes at offset %llu",
-					 s->filename, rb, BLCKSZ,
+					 s->filename, rb, (nblocks * BLCKSZ),
 					 (unsigned long long) off);
 	}
 }
-- 
2.44.0

v20240403-0006-Try-prefetching-larger-chunks-of-data-from.patchtext/x-patch; charset=UTF-8; name=v20240403-0006-Try-prefetching-larger-chunks-of-data-from.patchDownload
From 9dc68c22ad7f2933c66810a03e6d7ad3b9848a86 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Tue, 2 Apr 2024 17:50:58 +0200
Subject: [PATCH v20240403 6/6] Try prefetching larger chunks of data from the
 same file

Similarly to performing copy/read/write in larger chunks, it may be
beneficial to do the same for posix_fadvise.

There's a caveat - this depends on seeing sufficiently larger chunks
of blocks in the prefetch method, which depends on the copy batch.
Once the distance stops growing, the prefetch window will be the same
as the copy batch. If we copy 8 blocks, the prefetch will also see
8 new blocks. If we copy 128 blocks, prefetch will also see 128 new
blocks. And so on.
---
 src/bin/pg_combinebackup/reconstruct.c | 38 ++++++++++++++++++++------
 1 file changed, 29 insertions(+), 9 deletions(-)

diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index fe2e60d244a..33f3baa25fd 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -77,7 +77,8 @@ typedef struct prefetch_state
 	int			prefetch_distance;	/* current distance (<= target) */
 	int			prefetch_target;	/* target distance */
 
-	/* prefetch statistics - number of prefetched blocks */
+	/* prefetch statistics - number of requests and prefetched blocks */
+	unsigned	prefetch_count;
 	unsigned	prefetch_blocks;
 } prefetch_state;
 
@@ -772,8 +773,8 @@ write_reconstructed_file(char *input_filename,
 	if (prefetch.prefetch_blocks > 0)
 	{
 		/* print how many blocks we prefetched / skipped */
-		pg_log_debug("prefetch blocks %u (%u skipped)",
-					 prefetch.prefetch_blocks,
+		pg_log_debug("prefetch requests %u blocks %u (%u skipped)",
+					 prefetch.prefetch_count, prefetch.prefetch_blocks,
 					 (block_length - prefetch.prefetch_blocks));
 	}
 
@@ -835,8 +836,13 @@ prefetch_init(prefetch_state *state, int prefetch_target)
 	Assert(prefetch_target >= 0);
 
 	state->next_block = 0;
-	state->prefetch_distance = 0;
+
+	/* XXX Disables the gradual ramp-up, but we're reading data in batches and
+	 * we probably need to cover the whole next batch at once. */
+	state->prefetch_distance = prefetch_target;
 	state->prefetch_target = prefetch_target;
+
+	state->prefetch_count = 0;
 	state->prefetch_blocks = 0;
 }
 
@@ -859,6 +865,7 @@ prefetch_blocks(prefetch_state *state, unsigned current_block,
 				unsigned block_length, rfile **sourcemap, off_t* offsetmap)
 {
 #ifdef USE_PREFETCH
+	/* end of prefetch range (first block to not prefetch) */
 	unsigned	max_block;
 
 	/* bail out if prefetching not enabled */
@@ -894,18 +901,31 @@ prefetch_blocks(prefetch_state *state, unsigned current_block,
 
 	while (state->next_block < max_block)
 	{
-		rfile  *f = sourcemap[state->next_block];
-		off_t	off = offsetmap[state->next_block];
+		/* range to prefetch in this round */
+		int			nblocks = 0;
+		unsigned	block = state->next_block;
+
+		rfile  *f = sourcemap[block];
+		off_t	off = offsetmap[block];
+
+		/* find the last block in this prefetch range */
+		while ((block + nblocks < max_block) &&
+			   (sourcemap[block + nblocks] == f))
+			nblocks++;
+
+		Assert(nblocks <= state->prefetch_distance);
 
-		state->next_block++;
+		/* remember how far we prefetched, even for f=NULL */
+		state->next_block = block + nblocks;
 
 		if (f == NULL)
 			continue;
 
-		state->prefetch_blocks += 1;
+		state->prefetch_blocks += nblocks;
+		state->prefetch_count += 1;
 
 		/* We ignore errors because this is only a hint.*/
-		(void) posix_fadvise(f->fd, off, BLCKSZ, POSIX_FADV_WILLNEED);
+		(void) posix_fadvise(f->fd, off, (nblocks * BLCKSZ), POSIX_FADV_WILLNEED);
 	}
 
 	Assert(state->next_block <= block_length);
-- 
2.44.0

#42Jakub Wartak
jakub.wartak@enterprisedb.com
In reply to: Tomas Vondra (#41)
Re: pg_combinebackup --copy-file-range

On Thu, Apr 4, 2024 at 12:56 AM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

Hi,

Here's a much more polished and cleaned up version of the patches,
fixing all the issues I've been aware of, and with various parts merged
into much more cohesive parts (instead of keeping them separate to make
the changes/evolution more obvious).

OK, so three runs of incrementalbackupstests - as stated earlier -
also passed with OK for v20240403 (his time even with
--enable-casserts)

pg_combinebackup flags tested were:
1) --copy-file-range --manifest-checksums=CRC32C
2) --copy-file-range --manifest-checksums=NONE
3) default, no flags (no copy-file-range)

I changed how I think about this a bit - I don't really see the CoW copy
methods as necessary faster than the regular copy (even though it can be
with (5)). I think the main benefits are the space savings, enabled by
patches (1)-(3). If (4) and (5) get it, that's a bonus, but even without
that I don't think the performance is an issue - everything has a cost.

I take i differently: incremental backups without CoW fs would be clearly :
- inefficient in terms of RTO (SANs are often a key thing due to
having fast ability to "restore" the clone rather than copying the
data from somewhere else)
- pg_basebackup without that would be unusuable without space savings
(e.g. imagine daily backups @ 10+TB DWHs)

On 4/3/24 15:39, Jakub Wartak wrote:

On Mon, Apr 1, 2024 at 9:46 PM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

[..]

Thanks. Would be great if you could run this on the attached version of
the patches, ideally for each of them independently, so make sure it
doesn't get broken+fixed somewhere on the way.

Those are semi-manual test runs (~30 min? per run), the above results
are for all of them applied at once. So my take is all of them work
each one does individually too.

FWIW, I'm also testing your other offlist incremental backup
corruption issue, but that doesnt seem to be related in any way to
copy_file_range() patches here.

2) prefetch
-----------

[..]

I think this means we may need a "--prefetch" option, that'd force
prefetching, probably both before pread and copy_file_range. Otherwise
people on ZFS are doomed and will have poor performance.

Right, we could optionally cover in the docs later-on various options
to get the performance (on XFS use $this, but without $that and so
on). It's kind of madness dealing with all those performance
variations.

Yeah, something like that. I'm not sure we want to talk too much about
individual filesystems in our docs, because those things evolve over
time too.

Sounds like Wiki then.

BTW, after a quick review: could we in 05 have something like common
value then (to keep those together via some .h?)

#define BATCH_SIZE PREFETCH_TARGET ?

-J.

#43Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Jakub Wartak (#42)
Re: pg_combinebackup --copy-file-range

On 4/4/24 12:25, Jakub Wartak wrote:

On Thu, Apr 4, 2024 at 12:56 AM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

Hi,

Here's a much more polished and cleaned up version of the patches,
fixing all the issues I've been aware of, and with various parts merged
into much more cohesive parts (instead of keeping them separate to make
the changes/evolution more obvious).

OK, so three runs of incrementalbackupstests - as stated earlier -
also passed with OK for v20240403 (his time even with
--enable-casserts)

pg_combinebackup flags tested were:
1) --copy-file-range --manifest-checksums=CRC32C
2) --copy-file-range --manifest-checksums=NONE
3) default, no flags (no copy-file-range)

Thanks!

I changed how I think about this a bit - I don't really see the CoW copy
methods as necessary faster than the regular copy (even though it can be
with (5)). I think the main benefits are the space savings, enabled by
patches (1)-(3). If (4) and (5) get it, that's a bonus, but even without
that I don't think the performance is an issue - everything has a cost.

I take i differently: incremental backups without CoW fs would be clearly :
- inefficient in terms of RTO (SANs are often a key thing due to
having fast ability to "restore" the clone rather than copying the
data from somewhere else)
- pg_basebackup without that would be unusuable without space savings
(e.g. imagine daily backups @ 10+TB DWHs)

Right, although this very much depends on the backup scheme. If you only
take incremental backups, and then also a full backup once in a while,
the CoW stuff probably does not help much. The alignment (the only thing
affecting basebackups) may allow deduplication, but that's all I think.

If the scheme is more complex, and involves "merging" the increments
into the full backup, then this does help a lot. It'd even be possible
to cheaply clone instances this way, I think. But I'm not sure how often
would people do that on the same volume, to benefit from the CoW.

On 4/3/24 15:39, Jakub Wartak wrote:

On Mon, Apr 1, 2024 at 9:46 PM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:

[..]

Thanks. Would be great if you could run this on the attached version of
the patches, ideally for each of them independently, so make sure it
doesn't get broken+fixed somewhere on the way.

Those are semi-manual test runs (~30 min? per run), the above results
are for all of them applied at once. So my take is all of them work
each one does individually too.

Cool, thanks.

FWIW, I'm also testing your other offlist incremental backup
corruption issue, but that doesnt seem to be related in any way to
copy_file_range() patches here.

Yes, that's entirely independent, happens with master too.

2) prefetch
-----------

[..]

I think this means we may need a "--prefetch" option, that'd force
prefetching, probably both before pread and copy_file_range. Otherwise
people on ZFS are doomed and will have poor performance.

Right, we could optionally cover in the docs later-on various options
to get the performance (on XFS use $this, but without $that and so
on). It's kind of madness dealing with all those performance
variations.

Yeah, something like that. I'm not sure we want to talk too much about
individual filesystems in our docs, because those things evolve over
time too.

Sounds like Wiki then.

BTW, after a quick review: could we in 05 have something like common
value then (to keep those together via some .h?)

#define BATCH_SIZE PREFETCH_TARGET ?

Yes, that's one of the things I'd like to refine a bit more. Making it
more consistent / clearer that these things are interdependent.

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

#44Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Tomas Vondra (#43)
8 attachment(s)
Re: pg_combinebackup --copy-file-range

Hi,

I have pushed the three patches of this series - the one that aligns
blocks, and the two adding clone/copy_file_range to pg_combinebackup.
The committed versions are pretty much the 2024/04/03 version, with
various minor cleanups (e.g. I noticed the docs are still claiming the
copy methods work only without checksum calculations, but that's no
longer true). I also changed the parameter order to keep the dry_run and
debug parameters last, it seems nicer this way.

The buildfarm reported two compile-time problems, both of them entirely
avoidable (reported by cfbot but I failed to notice that). Should have
known better ...

Anyway, with these patches committed, pg_combinebackup can use CoW stuff
to combine backups cheaply (especially in disk-space terms).

The first patch (block alignment) however turned out to be important
even for non-CoW filesystems, in some cases. I did a lot of benchmarks
with the standard block-by-block copying of data, and on a machine with
SSD RAID storage the duration went from ~400 seconds for some runs to
only about 150 seconds (with aligned blocks). My explanation is that
with the misaligned blocks the RAID often has to access two devices to
read a block, and the alignment makes that go away.

In the attached PDF with results (duration.pdf), showing the duration of
pg_combinebackup on an increment of a particular size (1%, 10% or 20%),
this is visible as a green square on the right. Those columns are
results relative to a baseline - which for "copy" is master before the
block alignment patch, and for "copy_file_range" it's the 3-reconstruct
(adding copy_file_range to combining blocks from increments).

FWIW the last three columns are a comparison with prefetching enabled.

There's a couple interesting observations from this, based on which I'm
not going to try to get the remaining patches (batching and prefetching)
into v17. It clearly needs more analysis to make the right tradeoff.

From the table, I think it's clear that:

0) The impact of block alignment on RAID storage, with regular copy.

1) The batching (origina patch 0005) either does not help the regular
copy, or it actually makes it slower. The PDF is a bit misleading
because it seems to suggest the i5 machine is unaffected, while the xeon
gets ~30% slower. But that's just an illusion - the comparison is to
master, but the alignment patch made i5 about 2x faster. So it's 200%
slower when compared to "current master" with the alignment patch.

That's not great :-/ And also a bit strange - I would have expected the
batching to help the simple copy too. I haven't looked into why this
happens, so there's a chance I made some silly mistake, who knows.

For the copy_file_range case the batching is usually very beneficial,
sometimes reducing the duration to a fraction of the non-batched case.

My interpretation is that (unless there's a bug in the patch) we may
need two variants of that code - a non-batched one for regular copy, and
a batched variant for copy_file_range.

2) The prefetching is not a huge improvement, at least not for these
three filesystems (btrfs, ext4, xfs). From the color scale it might seem
like it helps, but those values are relative to the baseline, so when
the non-prefetching value is 5% and with prefetching 10%, that means the
prefetching makes it slower. And that's very often true.

This is visible more clearly in prefetching.pdf, comparing the
non-prefetching and prefetching results for each patch, not to baseline.
That's makes it quite clear there's a lot of "red" where prefetching
makes it slower. It certainly does help for larger increments (which
makes sense, because the modified blocks are distributed randomly, and
thus come from random files, making long streaks unlikely).

I've imagined the prefetching could be made a bit smarter to ignore the
streaks (=sequential patterns), but once again - this only matters with
the batching, which we don't have. And without the batching it looks
like a net loss (that's the first column in the prefetching PDF).

I did start thinking about prefetching because of ZFS, where it was
necessary to get decent performance. And that's still true. But (a) even
with the explicit prefetching it's still 2-3x slower than any of these
filesystems, so I assume performance-sensitive use cases won't use it.
And (b) the prefetching seems necessary in all cases, no matter how
large the increment is. Which goes directly against the idea of looking
at how random the blocks are and prefetching only the sufficiently
random patterns. That doesn't seem like a great thing.

3) There's also the question of disk space usage. The size.pdf shows how
the patches affect space needed for the pg_combinebackup result. It does
depend a bit on the internal fs cleanup for each run, but it seems the
batching makes a difference - clearly copying 1MB blocks instead of 8kB
allows lower overhead for some filesystems (e.g. btrfs, where we get
from ~1.5GB to a couple MBs). But the space savings are quite negligible
compared to just using --copy-file-range option (where we get from 75GB
to 1.5GB). I think the batching is interesting mostly because of the
substantial duration reduction.

I'm also attaching the benchmarking script I used (warning: ugly!), and
results for the three filesystems. For ZFS I only have partial results
so far, because it's so slow, but in general - without prefetching it's
slow (~1000s) with prefetching it's better but still slow (~250s).

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Attachments:

duration.pdfapplication/pdf; name=duration.pdfDownload
size.pdfapplication/pdf; name=size.pdfDownload
prefetching.pdfapplication/pdf; name=prefetching.pdfDownload
%PDF-1.4
% ����
3
0
obj
<<
/Type
/Catalog
/Names
<<
>>
/PageLabels
<<
/Nums
[
0
<<
/S
/D
/St
1
>>
]
>>
/Outlines
2
0
R
/Pages
1
0
R
>>
endobj
4
0
obj
<<
/Creator
(��Google Sheets)
/Title
(��Untitled spreadsheet)
>>
endobj
5
0
obj
<<
/Type
/Page
/Parent
1
0
R
/MediaBox
[
0
0
842
595
]
/Contents
6
0
R
/Resources
7
0
R
/Annots
9
0
R
/Group
<<
/S
/Transparency
/CS
/DeviceRGB
>>
>>
endobj
6
0
obj
<<
/Filter
/FlateDecode
/Length
8
0
R
>>
stream
x��}���8r^y1�i��s�>�����E�������8�3�	����Fls6Y����H"����D�Xj qf�;]��WR��TU,�z�?������f4�����������O�����Gg[����D�����m���k�1�������M��_�U3��������@����~��_S����������������Y�������#���N�kC%��?���#�qR�b*���dCh�H��4tNr-��[��K�G
���2+}[�������<}�
����
���%p��o�/<Vp^������r�c��a$p��o�/<Vp�)+���XFw<Vp^lk�����zKGPK�Pc��mn�+8/���%�ir���p�G20S�������sb[�����XFw<Vp^l��L�:7V���
������������%�3Mn��+8/�dp����Uw�c���!�3����.x��������Mn��+8/�dp�b�����
������������s����LDh,��+8/6dp�b�����
�������������bOg*v���.x���8����}n��+8�5Udp&"4���*2V��������Un��+8/28S���Uw�c�EKg*��wj�X
�{q$�3mn��+8'���D��2������bKg*����.x���h��L�67V���-��hrc�]�X�yq$�3mn��+8��dp&"4�kj2V�������un��+8/�dp�b�����
������������s�X�����XFw<Vp^l��L�*7V���;28S���Uw�c����T�rc�]�X�yq �3��Xu<VpzWdt�24���+2\#�
�RWr�����2�h��������<�� ��B���
^�c
	��P�T���/y�!�\�d��dh���]�XC��vTE*����/y�!A64����l�]�XC�li�i%�l�]�XC�<���J��T�������WMw*C��\ZMGw����y%����.y�!C������fG�����y��y%����.y�!��Vt4�2��P�.y�!An�h^�Uvt�KkH�;:�Wr�����������eG�����y��y%����.y�!!-\%i�D��[��*�4Wttw
�+���nw�c
	rGG�Jn���]�XC��9�+���nw�c
	�HG�J����.y�!�lj:�S�o�p�<�� �t4��:;��%�5$������fG����������M���`;S������_D3�86��f���A~�_��0���2}����U��Z|��,�O>�?����?�4i�a�z��Y������y���nR�r{����^�'���!����C���	f=f�����G��S�
z��:�vT�3�������|c'�0�t���U��I���
��m��_'p�47��M�L6o��}��Me� �#���������g�������:'���kI%�j���������) oM3�EY�fRfk��9	�]K*Qe���Q����'y�TMDt��_I�	����
�Io�l�zo��0�,�������h��yfe�b�Eo�����Zl���&"�6tm�����������M";�6o�$X3�t�H�-����lj#��t��u�S�4�o������0����Z����)�>�^G�	
|�D��"�Y�\�R����G�*����:,}bK��UN�m���=(�d����|�DDS23
.�t���b�QAX����8���Sf&?"��J�"���K��{l��]��6��(0bOl
5�q"��(�f�(4����������8���M����Q�ac�*��L��G���������v�-a�
�g�-�B�7ND4�6����Q�h<�u,1eo�)A�o��T_��,z�hO:-X���c�9��6w����9a�,8`����8k4���s�B0��-4��������>�[^+1)(��3h���-1G�e�k4;���v��
��zV#�h[�&"�]%�o!�z�b8F�&
�
���T���H5��Dp�������I:4X����c���?E:X�"&m+bR�&bK�����|���AAX�"5
�`"R}���<����F0!�m3
1a"R�������60�F��M���7ND���}L��kbS�#&"���p�J�B�!��
�>�%����m��oIx�X�:7�8-�Z�C��l��������HA�A�o��Ta��wVE��$Bjh]E���I-��*���3*��0�I���\�DlFL��<����F�I��91(p��IJ3_����9�0��e$��G���@8%2i�f�!`>*�*F�8QiC�?�����H�4���H�0>�s]����HB����'��k��j�;�P�m
1*o����*bf~	q'f����H�z�Xb�D$
���i��AF�`EZ�k,�b"�G��+�L$TjMOl
%��q"�: X���:�*��$X
:|�D�*�)
Ml-�siPV$!S�`�#[bo����i�f�������'0#	�B��o�����������3��)(��H��T$
��g!������A!�V^�$NJE��~�-B_B&��/�!	����I���8��).����>��F0"���
�8�����MA���MA��l�9�}���j6u5	�BM�o��5�)�e��6�Tz�$n
:|�DLT���&|�)/�4(�F���A���l�A�_~�r�S�����H���$TJ��;��A!��N]Ob�T$
c�"��d$Z�H�����I������p�2iO��'�S(����'qbm��=�7`';�^H���De8�k�u ��$x�h�g7�h)�C���0q� �$v�;�u�q"v0b�'fG#�@u`A9�8�`�b���n)#���'����&N&�k�jD)�K���T$~2���J�8+c�}E����F/����D#r�Ge���E��6$q��S	=#��D��Q���U!��'"*������$�2q*�0"��{����F�`EG�8��3"Q��+�(�t�����q"�Z��`0���B/�	��Ta�@���R�AAX��P&N(��H����@mh ��He��X���q"����������VdQP&$��3
��BG�-�Z`���g�6�%�&N)��H4��:(J�*����T4/��;�4��
I�W$bJ�T��I��V@�`B@����*��@�!G�$P�6$TX4�'b���>N��y'2�f"T����DL��h��hT�j�9h+��oI���D#��xZo��X����P}CB��T�7N���������B�	�zC"�T$
{�\�v�9h�RA���L�H4�~2\?5$��
	��A�8
�gX6]UD�`D@��DL�H�D��E�*��!TOW����L�H4�W�����I-	�zK��*�7ND�c��^T�F$�S?��)��l��
/,z�hQ���I���D���L�s<�IG>�#	��RP�8�G��v�n:�*htbP�'b�q�G?h+�*����-1c���0�Q�&ATX�'bM��@�(!��"���PA���aD�/�.��i�F$!��3=#�h&6��+���1)��}�DD����0|�6��A!�P6N0F�
s��E�MJ���8��3"Q�^x�h����8�HB����7ND�0�L"�I�U}D�V$1������\V��g�F�+�l�_��(�)J���HemO�
�p�8�R��3q��3�(*(�b�`0��(�����$��q��gD�yP�jh�����lH�����;S��8��QK��{)�� j�I�����8+�Rh*��'��+$��DM�H������P)���CM����*��X��}������W���chI��������_��P�N���.�zP�"����l���?���;�������]%�A���=����8������@L�)Z��M���"��8:��z�@��a �~�V�5N�a �p��.�w�l:_?(t�X�>�dQ+-0K���&0��������<Z�K��g���X'��������"������{��o��T��WT��!���;lc�'b�~�6����S�����e�A#��nRs�=#R���&�����GX�F$w���7ND�t9)�	3�L�T���=�|�aD���wy�*Z�.�c>�g��s�E\��7����S���C?�$��N`&�q�^�����B2���x�`D�q�q�S�*D��x��MW��V��
���i�\T��t����YdTP	V$.wTk�������I����&�m�U�K�P)�j�mB!����q��7�+���4��B�`0��G� 7#5p*�����]���Zj�f�FNe�w_���2P#75���QS�!yt���
1.���qME���T]f�����,���P��Z2��R��$�	[��e��Z�������P/��e�)�F�a��H-lkj�T&jw.��Z��O��Eekj�T��$�
���dW��1�OeKB�$������U
�
��k����O�j���Q���5}�dw��&!�JN����p��{�2zXHB�T��G-��]�;D���� ��aeQoR���p�lJ��c�ge�3W,�R�-�0d
�}*�$e��\��k0XK
����1kX���UT��&;���l��D)YG��S��b�����!��S����s����:��15kX�*��dn��G��>�h�����>pL������?,���c�{�D
�Oe�67�m��!'���#���2����lb���F{j��:�a�6�>����M]F�����j|�T�jMX������5���A�M�R��s������dd��z�+�&y���i���
Z�A������_�D��B��5���A�M��R������j�h�^����{����V����k0u����	u�W2�	i�@�-	��`G��7=u�W2}D������a
u���;P'%��GB@�"���4���A+���W2���������
u�����+�(��E�s���CE
<����]�o���������`Q2��������9����'����[j~j`�MI[������

eVrE��r���Vd�#j����J&Zc����
/,~��%
�����M��K��`1c8)�,0�O���h�����BC'��
iRh����h����*��^x��1���6��}�����,����I����RvhU 4�������1����w?|E�hE�5����� �l�ae�4�����C&� ��t��D/������hp��h��u�o���~�v7N����&h�m�*��2��W����tk�LJc����L*S�;'3&�8Y��>�+��������h4��bF��2U��Jr��1����v4�X���n��%�1�B�ih��u4�X�T-z�o0��6�F]G���L���Ob%S0�2��LliT��;��<����c��p0
3���9
+V2U�FNK���`Om-6ytKM��e=\{l8�w���J��b�u��#���F�
�H���L�Fo?�0�d�
�i�����-��-J�Ph���h��}�o����	"�����H��������E*�Z��
�Z�h��#
5LMC�TN��M>bn2l��������[a���D��k0�8�V�[a�dQ��3ETJ�
���b%���=��t�������������,c-N�[	s�������7�Lu���g�m�j���VA+���&On�ev{��b4�r2�0���}*p�uK��`S[���7�L����*�
FM����������;��s�������la����w��?�}�������<C���l�K#�[��L!z��	pH#�[�nN������4��������9�iDC{�����{x��"H?>�e&wP�d�y���u��+�B��B�ks�n=��I���?���cX���������''�O�n<�����S���J^�w�SO�O�O���_��������#����>���KW�h&������/��������?{^f�4>���O��/�����x���������{�����~x�f���?{������������8}?}�n�����W������g�������L��|��7O��d�~�_o��s���~���:����� ��k�����'�_!�-�y�_L����2��"�f!������"����O?�Ye��y�_?�m�KE��<u����}�����:^�~���l2Y�w
-n�Z^'-?��7O���e�C��wP��.T��:M���t�Vi�a� y�I�L;_/Zf��n��_��i\B^�e�'�_�������{��������?a��h��5�s�:������n����f��y����W������e������E�>h.y�U���w���?N�|y?�����#H���b��`PbU�v�^���_,_����[`���Y�m��8S���}t�vyD��]�~	:q�H�.�������.����sg��?�����]s����[�~��8H!��?Q�t�/3b���g���|7�2S��7��#f��m
Q6����?�����GSWc�c�>�Y�s�YH0}��������N���x���k������^��y/�t)�m�
~���?z)���~.l����ZD��ms������Q�nFo?�����m���V6����d����-��cc����O��v���@��oKW,�s3�ZSK�o��W��n �/D�C��|-Dv8����OX6��Az��s��+iP?/���A�\<$#
�fy��giP��_1S���/4K�"�{�x4(���B�
4(��-]��siP�.4X6�
�7^LV@����[�����5�b���{������7���_���&Z���}:��q��&�c�]�����*K���eD�VB?/d[FY�l�{����,���g
���`���������������s�������u��B��+��/�����W��-��}���C%�������<Q{��r�A)�_��L� E��b���~.�0D���_�}]D�"��=��2������~/w#)
����<)��~�������KIq�?�A������&p)�z/�oXB��<y�|P��'J�A�b7���Q��~; ���w�y����v�S��e
�#�nZ�,�@�����~*OOF���m�<z��b�wM�6P�x�z�s��j�N�\L������N{���_#"E���\@_�E�w
��e�d���(�����\@w	���(O��e��	D�����	�{���`|�G���q>~?����P�)w�&���cg����y�<��<����q���<���-�_����{�t"q���a$n}G�D��e��lp$n��,}��G@���{w�T���V\V�Y	���a������G�������	�1���������pD�"���_B�U�'E���)
��I,D��iO&2O��e��*"EB|�7+������<)
�W��R�/jR{�������?��S��y��O��\��~)�@D�y�e��hE�#��%�����VD/OJD��wL���V@�/v/{��h�7M`�V@w4�����/���h7���h��.��������>Yl������~UP."�Mt5)��;�"�����<)�o��\��~/��")j�=O���f��x�)�\*~@.UV��O�c�w\��v�G=��dq�?Q�&�:�)�;�P[E*�������RN��`7�����������}�r4D����iD��]FU�����<�q���;�n��>o
�
9O���^�ADR��omig�%������|��,d��@�2z��4����f���)�=R�5���g4�����������uJ��0\2��������i�|�~i����Q���y�#�xd�����U�{�Y��u�e��>"z9=����~/^��>"��Y��gAx���0�?b�)_��>,�I��}��b��Y��m�Lav|e	�|�R�0��W��l7�K�{O���VX����L��Gdge���D���^FY�E���Y	�����O�%M�Y����#7D����4k�"!
�WM�#�F��"}@~��CM~����}]�[�u�4��5������,��%��o��}����~D�v]��Ju�y�e���\��3�[����D|+XF���|+���);��������������e���i1��\�=��8~�R+�G�>����"-�q������{��L����*����Lmy��~���A����G"B�wm��'D]��+$jY���8��I��
�7�����h�xT}����'z��	�����TF/��(�6zY	VF?������=�����)�d��o9K��m�L!z X���<��.��XZ�q*P���8����C���A��(��'�!
������2��B����J�G?-3��M�$���3�Q��c�s@�UQ��Q�w��Y�8yp�~�C����
t(�F�n��3\��nq?�y��=�|�'���U�Mq���U���E�r/����+������'O��[u������g{�G�f�O~7s�VU��![�Jo������
�}U}��b����O����V����#"D���U�E"B�w�<!j�=O��}���<!��P���EtEv3�`����6�8���H��b�} D�^�c@ D�V<�����[M����q�:Y��������G��"�_�0D�"��n���N��WA�IV@�iB�H��e��]�#�
��g$Y�]�x+��8��7H�e�{U��u�M�V(|���BC�G;_/��+6��l(��)���:���Yv�lY*��{��2!~Z�]?S/���e����[�Ep��/�4e�� P �[�����)�����P��dA�&{�cD�&���"��*���9�Q%��C��n�E{���B�d4Ep���7���C�Q%p���Qy�C�*���Y�f�\�����Os*9h��9�@��zj
��u	/D�x9K!
��r�O����3���k6�A���}�����}#J���4��Tr��#�r�G8������fh�!���gA���Y�#��Y��`��G�:����F�0J�86� ��oy���Y��������cn����X�N,����)���Av����Ro)��n0�]N~�+��L�W@���W�g��,��{��]G
����r���=I�,���T7�f9b��?�4�vc��8/&R����g4P���w����@��P�$`0��"�����RG���}��A�S�,���da/~���J��m��XU/����`�����B�?�ry���"�b�'�*o���d���<��f����x�i����6>o����XR�E�cD��y@q����-M{.���y�4l���o����#>����7A|(���������T���i����������!o������?iVUE>��/�bQ�le��'�r�l{'��Vx�����gA�09��r�~=&$��W��jF��N_	�o�*����2�g�J���$	f�/��Qyp�${dT	����?z�k���|?�����:�)���V�\8�O�09hX����y��������<�Y��9�C�,;�J��p\�a�����N"J�GT4���B������'2">��Uf	&�}���gq�gpK��n��V7��YT�B1���W�����+�YpX���p�w���%�Mpmjt�,Z�Ux��,���4sB��Y������R�u�N_Y��_��9�	'����{�
/S�
pus�����L,4|f������Q�t���_Jw~9��^W)�?�UAZ_U���i�S ��Y5)������(P��
/;P �}r�����,�v�Qk��~��;{�c��^��ym1'yE5������������I��Yu\[�����m��g�-p��"�Y��tkdU\��$bU���k�9}F�O3�o���������L��B�i�Xh]].�C��\�9%�%�;���Pa�<J�;�����?��_��!�ES��7�U�?r�C����#J���y����7}]'����h��-���>����k��YP��J���O=S�M}�{��K�p��)���b!r�����D�*��(��+~�;"�Cx	\Q���7�]�3�+~�s�_�\%p��!���G+���M�����X\G�C�i��X���"B|�'E=`�C���no/���L����Yv$<�|(����������5��,8�^�:���������Ms�38�,��|���=��p��h��e��=��wO���O&��������'O�{����O�y�U�3�M]����2�U���u�,�5,p�#�8���Eq:�0��~���Z�*1�P��K����cl���._FP�����4���9���<������J�����C�xb���G���'_�4�e����JM���}^f���9xE����~�nS(������S�cO�<�p��u��Bx[�S������%�G
��e�FUy���O���}��._{=��(#_U���<�{���r��2���k����}�%���B|��e�0T�s�4mC%p���1U����vH���(G@a(���.0��9�Jz�����r�^��H��� 2��a�vU�(2��Lx��b�D&��c5�d�^�
.���BU�~
n^�O3�~qIY�<�d��g�[��6��7M5�'�/��n��)��N���z���=����'�F��/=�0|�&��0L���'&\i1b�]kv��@lZ�}��A.�
|G@~���
�����\K1���@$�AU� �_���D�G$��k����I�7�M1��H�?�N�
���������>l���
<�����r`c��������GL��8N,�$R�8�.`��^����M�����1�����{��
k?�9k�����d�lBq�3}���n�"t�������,��X����x�[y�A�A�����D�R�b"�D3���

���2\S-'���Z������A�Qx�rbG�����b�r�8p���1J�M��t6��v�2O`����\]���5Y����rS�\��w�x�W��v��~��uC6����YHqo[F���
=KP<�i)����$���&�	�UoV�xJ�����*6P�6�/�����9�������i�I�uO��b��]�<F������Mv�d�#�W����]B?k�(B�"��"y���o��Ck�C�|W.C����a�N���G�?��A�Vxt�k���F/]��������ll&a��O��]s<w��x��bo�����=��yz�����Q�V�FVmB�@&��UC���>MZ��i2����� ��*�t!
��vH�G�>",Y�Mz��EB���~�|��k�<���E�6}���Ue�����d��������eyT�5��Y:�/���U��mL���o�,29����<����"'	�~������kDJv9$;�����/�����`{=���!�,���6��VW�V��c�����dU���9�/��v��P��c�8�$[�T�,r�c����M���&���|_����g�n��U��]>�c?���r�4"��MOM}�S&�X�\�u�����e�B�|<)����Cyt�m�������GTH���%*��k�����
"�d%u����~��Te�u������ro�u9�O�hDF/O�`b�B/-J��"�k|�H,<���L,����J@?i���i|.����o���BX��?�]eA��VU��M`�I�S�dJ5�Su,������TI@w{bj��������!����k�Om`kO
��O�VA=U���U�m�p��v[��n/< ���)������%�6�O���u=~Z=6������:���������,��g����Pdl��7�*���A(�f
�����~��}��	�.r��.����G����f�,u��x�C��X��,�*�#t$t@hg�F�M����"���2zy����zLA�`��n/_�t���SaX�����5�,�6���
������pv=�.����{�
���m`��f�E�,v���eO'����������"�M��kk�7���kv����}��Y$�(W�K<����.��w��a�;��cq���8\H������;<�-t�np�MU,=#������^{t�t��c������>����^NT)
�G�����}���y%�,��/_��\<���<�x����#�H��r�R9�}��;�E���R���!b������7��X������.�����)�T����Gx?.�m�:$���|U�l�����=)�$%�+��I��w��XDR|���M����O�Mp��#����������������k�����S�����ke�C'O*,����yR�O{rYyR-�X��>,�[�[�����}���E0yy`	��~�SvXqJ\.���F���r,�z��z��|����B�D�bg��G������s�/j�������>�JJ���#j����+��1���7����e��6[�B�+�*f�������5�W7�b�z(�k`r�������Q�p���e�wy<;����!���/��:��������j�E�cF2���8�-�	]��"�����S�S�y�<�{�������F��t������!�#���o�T0���gea����{�h������/P�j����;�#�7Q&��#�L���<�t�����_��V��b�1�x���(�aX�����o��k$����JO����8��(=�l8�9��br��c��(^b���]����v��k��K���z�K����������_���WD�1���Xt�M��e[=q�b��C�Iq����)Y��75Y�o�Eqta���#v����z��`��������>����>��I���gM��#	�����l��_��Sw�p��
o�6�1K����\i�@����N����U�Y"�|��%�>����g
/���X�Cf�X�#-�}�
�>���Mtu��~�>�;N��J�;&v��~Z������'����o����U5X�epu<�A��=��������i��
n�&���v��a�_y�;�jE���*74�+�����-���C���_ ��$��)oD>�~��w#���Vn��|ou���d7���\�K��;J�b*?��cqp�X\�l��� 7I@w+^�n�&z�:``,���!�M-Et��%����b��I���{�:��I���;�x7IW$�Q��G��	��br�|^19����w�������� �v��\��o���"�+R��Tx������A*<�Es�"	]Qf�X���SX��6�<|����T����Gx>�n�)&)��z��BWo���_��Sz�����|x�\������>sQ
IJB�Q�������M�x�}�tvX���W��b����}b���_r�$�Kq%f��q��:��_���`	}G����-���M)2����������W"J���(H��������t�)�
endstream
endobj
8
0
obj
13763
endobj
9
0
obj
[
]
endobj
12
0
obj
<<
/CA
1.0
/ca
1.0
>>
endobj
7
0
obj
<<
/Font
<<
/Font0
10
0
R
/Font1
11
0
R
/Font3
13
0
R
>>
/Pattern
<<
>>
/XObject
<<
>>
/ExtGState
<<
/Alpha2
12
0
R
>>
/ProcSet
[
/PDF
/Text
/ImageB
/ImageC
/ImageI
]
>>
endobj
10
0
obj
<<
/Type
/Font
/Subtype
/Type0
/BaseFont
/MUFUZY+Arial-ItalicMT
/Encoding
/Identity-H
/DescendantFonts
[
14
0
R
]
/ToUnicode
15
0
R
>>
endobj
11
0
obj
<<
/Type
/Font
/Subtype
/Type0
/BaseFont
/MUFUZY+ArialMT
/Encoding
/Identity-H
/DescendantFonts
[
18
0
R
]
/ToUnicode
19
0
R
>>
endobj
13
0
obj
<<
/Type
/Font
/Subtype
/Type0
/BaseFont
/MUFUZY+Arial-BoldMT
/Encoding
/Identity-H
/DescendantFonts
[
22
0
R
]
/ToUnicode
23
0
R
>>
endobj
15
0
obj
<<
/Filter
/FlateDecode
/Length
26
0
R
>>
stream
x�]��n�0E��
/�E8@	Y�RUb��J����b,c�}���K ���;�8�����&�n�
x�i�L��$�zmH����o�r�$A�,���6�H��&o!9y����[�#��S�������nfk�`�iJ8�
�`�$���&Q��U�k������}�@Y������
	N�H���i�'`��|���C�������E�C�IS���X)��NH�@:F:�
�tF*96����)V�f��%v�[J�0h���m[O����?[��^�m�rv.l7�h\��Pm�v�v��*>�\��h
endstream
endobj
17
0
obj
<<
/Filter
/FlateDecode
/Length
27
0
R
>>
stream
x��}y`SU��s����I��m��&i�R��"��B��
��-R);���,�,*��n��l��
Rpe��wtp������$��m��{���h��>g������<�������D�	�y��$�%w)
�gM�q���H��4��E���_����Q��S'������D��qO�T�.����2������p�M"�������0�9y�h�5���1n���,�%��S��3k��Y�G�g!��H����)U�!��)����i���.4S�'�'��A�s��Zj����"�i"-���}���5��nb{h.-��H?���h4��L�����I�qz��b��R<���n����R
��9�_:*�������)�*h=*}Mo1������z)����"�q�Q"��Bc0��0�g������'/h$z^D7�z�����|�U:�������d���ih5���;1�S�����c�%��6��.SG�F}���c6O���6}L��Ql2���Y�"O���=s:u����Q�@W�������o������dB����zb������,���l���g#�4����5^�����?�"��[,m��J���������OT���W�S���F���!x��\�g��Khfu-����u�w�F�F�R���*�O���fc]Y/V�&���B�0������+��������O����$W�����+!
��
�
�������+��t����h��$�|-�Dw�����=@����98g����,�e�N���b6�
g��6�-b+��l=�������y�=���>c����������<������S�*��?����������;�c�
�A����fJ9Ri�4F�)-�IK������������r�|��M~D~Y�R�A�*7*�(�++��:���a�Tu�����I�pm��T�Z[�=j"��� ���������1t/������v��w�a�>v+�I.�.���M��?�2d�y��/��-�D�~v����\�o1�|�D�����|�lg����l���,���-�Q��}�m��z#5�f�=�I���X�������z��:����; ����/�;�X9]�}���(���l�������g��y4Yu�r���H���y!/�l*/e���>a��'|
�+i�<Ey�����e*�����d�����Ghv��4H:Jc����/r?
�3�n�q�9�aW�S���B.���R��_�R_�#��'��
��G���rv�^�\O������]J��A.�.�����7T�?'�
Maw�)��Wb����������LHec?�yM�n3c�WAs
�K���1+��b�KCx&M�}4��$�:�����S'�wy���@����/����GI�nE]��R�� ���)�cNv�/��qg�wHKMq%'%:��v[l��b6i��Ue�_��j�s�r������C��V
A���m�4�<�����6-�������)���|O��|���ib���"}C���<i�i9���"���O�kj�'�<���S�T6T�y���~�~�,���bE��T0�7kK���O�����)�
��**�)�
1���]9nbp�����4��� ?��M����o��7�P?����/��x������]����mr���D��qcj���:�G��V��p������jW��M��T��yDv��U������k��ZW�g�^�]���
]�\tb b�b*�IM�U���K=A���o��K� �k�4b�wwjj`���Vz�\X����|u�*:�r���S��sk
�w9����e�G1���Z����\��G�����@��	�������I=h��h�O�]��X�iAs��5���\�T�>�����;���%�"%j��;I!-��h:�����\h���co#�� A/��rx@�>V���z��^�X���4������������@��.�D��hM�(Q�,Z�r{�������4����;�*�����������>��S��!�������{��ER��~�R��x�d�B��4������?�!��4D�(a������Zg�z�������.���-2�`O���^���^�	�sx�������SW��fM��S��a��&}�x���[��o�����l��h�~���`��:Lb*�	i��w����+�V�]��'v����9������B]�~Q�(�-�"�9�f����dT���o�����#?���Qf��1����e��a���+��Zi4pg����`5^����u�#�E���RL�"�9I�_���'\~������8��
n.�r�?�r^o�7.F2����P�'������&l�)���hS����\5�4�l��U�-&FSMv����-�q����85-���r����f�9�1?�uf�WQ��c����$�)�~��.������{�*/;���K�JKWu�����U�]��O���KK�g�����������([�x��.>V�����J9U��T���O\������}\�5umP�X���F����wn^��=\��Z����~�I���x�X$����,�bcd�9�,-S/���${s1���k%���Lm�c�)�l����@�Y���%df�l�B,U�������.��_����8NCW�#]�_<��
2��(>�w }�����Le�k|ia���l��Yp��#Z�`8����W�Ja�aEr����
R��M�J�)���/��c*tD�T�*���^�O��8[\��,#4����I�����Cj� au�9�z%V9b�����s=nwd��	��7�<������I6)�@5'��s3wHM�w 935���Z���:$�k�6�S������3���t�[�^c'��d�IL�_F�����	2�D�A0�TL�S���x%U�y:��9����&%%k99�L�':����$H�������5t��k?g����k���z���W��~���}y���;5<��3�]/�~�����}(����s)�������7!7��E���G\�tOL\���,�f�:���I���4WR�Yqg'$e%'G�(�n��Y�ho�J���5>�|]RZ������H�,C����v��LYY����a���6��<jl�~9B��������9�b��g��E�Hl/��Z��	���'��f[!Y�f�xQ�/��a>C���D��$%'%c��t�}R��kIo��2�V��<zp����u�c�;�Jt�:������`�����dv(S9p��e�_�z�._����������R�br����L!�!D6p�Bw*X��]�eIV�j&������x��W19�D�ep������5q�U�d^b
X�j:�����1��-	���cV�����P���u&�$�I����.P�+���K#[.��C�l�B�$%��"�]�O��6��>������o�����K������?������������lK������
dj���t�w�W���g�ssb%;eg�r�RB��kj���o�uZ,�IY�d�<"����X��%kr�=�%5��2
=jN���A��,�����n�����!e�.����q|R�����������;��ds��U��D��c��&D����>[U}�9���g�w��{M�:u��&���d_N��j��,.��<<��=��w>50�s��97y�����g��������~~�E��Y�w�����^����?�����<�<���z�=;.��5jV���C�^��}bw�m�KJ������q�L�����T��2�E�����&����qj������k''���L�w&f&`��R�,Iu'p�c�d���H�r�U-!�,.��j���w`���Cy��NuP:thb�1d�<;��		M�8�b�Bb��PK5Y���������P�TGx������p�gu`%����>�,o>I�@�^�E���P=�7�j�$�+a��P��X�xlS�Pj��wF��A�[�����m*���V��q������tR4�����n�b����s��=��o���^q��o�{>��\�:	��Fk�Ri�sJ�m��6c�b���8>&m��J�"�&Eu&9;���Z^kR�Y��V���t=���V-�������0�N��<ZN{-�6n�N�Q-D����
i=�8S�b �O@�	���1���dF ��jD%����6=�����<����d�������V&y��c�a�<�1f��5�OW�^}$�2��$�Nn�����1�x1���+�����iZLS��6-��L���/�]dS����y-��5���'�j)K�f}-U��c�:�1��6kv������l�1/8�c�3������e=�ux�O�~�ml�3b�`���b�e$���*c���l������P�|��$L`���68e���cO-|v��=���u��t����]3���i�����kO�>��^����l��~\zc���;�R��V=�2��~��f0�-�`��J�����y�����rA*�ho�3)R��o�"uU�L�-���������@t��9�0$d6RNK��[�)����w����o�7��S�/�c${���a�e�����;,��|��c��x��g�0���c~!*sf��"�S-����jXR�7�,U�	�z|�3S�e����l?+�iB��P������i�+��q�����za�w�����bV��	���{?x[I�l�R��rY'k��~��N��r���%*FN������&%�#Y����$)���6f�����K	��,�I�F	���<L\���DsRR-��yp
�����{������i��h����)��J	����O��%���K�4�QVO�Lpm64?|��"�{��fh�H�I�OnN��v��P��;�w���������\{���}��qu�0g����]��v���b���,Gc�w,7�l�Ve�HZez)N��-6-��~��X�*[ew�u�R��s�����11�X�36��-�u,8�;&�6����saly���/������ccg����M��@A*T�����>mv���#:;6�����~����\�?�{���HM�b�P�a>��r8�ni�0s��C��[inM�%D�P�$���Ozx�57{V�]���b��Iyc��_?��9=nm���\������#����c�f���Ya�r�������$�����A�=�
5/37Kns�y���!�nVR�L+�I�\�|2s��	����j��\���e����Q<��.���\X����&�;9�������l�^90�s�q��<�\��6r��9�R[/J������U�]��Ca�&G����izG#�;�[�o����E^\OF��'4����g��"�%I�����xo�{��_�)A����B�� �����M�O�t���������K�����;�,3�����|l���L3_#���(��T����@.���n�d�e<Q5YL���Z%0���Z�#���_�H�y�+(YZ`d�l6Y,�$�V.��$����!�p�H�8
��l1�4��*�{�Hbc����*�j�5i�<M�)���
��-7��+�3��8�Cjb0�h�B#9
S�7�za��`�e-�nqU:�M��"����Y_�T3a%Le��:a�f����k��4���y�;N�z��g_{w �����������D�n�:���tC�C�Q
�,S�+����Be���rH��KR�G��������� ������ql��^�T9����
���9a���+���"MB����C	re�,��%a
���a�"L�� ��>���\�v�nq
9���b���K�����j�w8�*����n���9���S���|�����3�,Y����F�.��l�:_5�LS�����VeR�����:�I��8���dG)����s{�Q�an���Kp:������n5�c�l5��!���&�J �i7��:��H����b����Z���7w�7qG^�9����xn�#A���6#,�a�'[��f��5�� �pl�<7yVc����� i��N�U��:������6�O�6qx��k�M^�����e�w��.�{��O���_�9M�ydv��K&NX:�����'j����������8��-0���!K���b-��T`X��]�>�e*�U�~Q�d���0���C0�/������d(�''kp��2�*bB(��`K*5�P ����K�B5��S�	�����1~<B��N�eM�@ ������P��y�
bXT��(���Q����������
�"7���9���|ok���-�%u��T^�v�9g���k�����*~����}��+�
=~�p�FZ���������&���f��9+��JZ�3C�s�N���q�Llp��6����$uq�I���5�.V����(���!����$mnf��V1<S�'
+��z��&8J����Z"\����O�����������|~���3{�_�����Qkgwg���v�~a_���>u��)lXr����o~������4�?�G^�1�Y���/��N�nWz&vwW����l����X"��G��pL���@�k![�������)����?����RM^���dQ��-=�}��n�5.�lfO*��M��M����9.��jC�:��:�L��B�R�����A�?|�_�M�a=��
��d��
��q��F����*#
B8T�.���R�3YC�'����������������pW\����/o�\0�oh�����U�����S��<�|HpE�>���}�np�+�](]>��L`�Y��|��&���&�n7�?����+�`��?[���4��KVn�G]X�����a#dG��9�'�Pl�E��
4��4vUxIT�0l���Y���o�
7t�~"�7bjl��&�IaS�l���Rqb�����G�%�rB���X@��T0���C�{�t�����wd�:��y��~���{�yvD�M����S��{���Li��8�V���*���FP�hU����������r�����*��dy3}=bdO�UJ���YrV���b�S�;AS�������y,_��fV�N?�R�Q ��N�<����������:u�$G� �%=��������|���D=�sNB��n9��q��d��ed���8��'���qZ��Q�����Q$B0�7�ij���]��,\���0�_��=G�&�����djA�U��k�Y��|9�nryUC����%)�f�_�g�m1
�j�v�I-�m�Co�����������J���������U��mw$�gv8����&Q�����q1����~:v`�c^������5�4������y�5��`�5+��0�3K�&��1�G�x�T�?s��!���
��qFX)�'[3���[�)J$H��o�eF��/tI]�.}]���wg�Z���Wv�����V���ik�rUh������<���2��9V(��bJ1o�>�=j�4�c���|M�u�
��N�~���R�Z�-�����R�Y��4n@�����qLJq&�^��NJ�Q19M]`ML�0�R���d5�����EI�MJ1)���$a������H�26ef���8�1
;\X�1�.
;�|��V�B�\�JJ����Zz<QC��|��8��
b�G�D�A���,+�8a �D��o��6G���>r�S��%r�Q\R,r>)���%�e.�{c���4���������u��~[����Q�e�.�)Y��a���Yq.y��������3�����l���!A��k�O�h�by_�	����h���;4��Y��?���_�i�|c�^�4��-���d��\L����RC��UL��C��)����V-��P6t/�oG�����t!0�nv�wk�~��W<�s�lr�L�F��)G�p1�c���^-�8�P��W&�@��x������e���#���z��#�,�!��V5�!�O��+�<�q���D���R���3G�c.�e��h'��]��#t>;��P_�t1��g��K��/��q��K��!���(����8����t����A�B�kx���7��2'�?2�_"<�K[}^�g��,k�R�����4C����*�H1�4s<)O�+M�?�q>���}��`.U�wQ�t�z�n�z+}�r������W�N��� _��w��Y�H����s>�T��D�9Q>	�`l�n�����bG����7�f�/C�����������h3��|���d��c]��|��g��������D��bQr����E�0px<����` �7�o�(��W���MC> B��Z2�C�!c��a
�O�sn�W�%�N�~��L�!�b��g�2��|O��xN�����*����=��R������CP�����
y�R�c���bO���s�1�4��N3"��,J��h���"���i���94^��*�Wi"QP�����/s�_���$4�P��hCo�^g�*��k���������y��:,�N�s��1e'_j�A���	*���Z�����&#�����c>7�=�}���(E�n`�g���M�Y�6�*�U���TT"�����D�(��G�����%Mb�`^g�Z"l���"��o�J�|�Y����k+KQ���T���LT�����������
� ��a��
��_�"��h<���|�+���V����j+�m�a[����T�����~:N�H��x)���oK�����O�0���4:����L@]��������k�P��>CS�4^�������0��[l�%�W{�5jK�P�U��*]�d���"C��@�����T�Q��DZ��Sb{p6U�u�'��������=�^���E���#*�N�/���#�&J�:h��A?!����{/�g(��]j/���<�T����O��2���o���Q},���J�B{��>���M:}�<'�t7�Tg��Y�Z<K������e?���+�/#��i�C�/�Lu�a�)C�zG������w6}�%�L�u��3�<�9�^/�}+�������Y�TY�?#5�;j��#�w+���+A�b�����1�
�[�G��	���,�M�J���i��=-R>B��T.��>����?���JIE�h����/�g���[�F��Jc�O�KWI��"����K������QU�h�`s��_4���^��#%}��@^D+�?���b�f��)]��?���\�����j�4T�S��tu]��A9�����I{(h��L>���=E?-�;V��*�����T$��G���Af$q�r#��,�C�}(pP�}���{��h(������'�����Z�km����@H�b�H9g�k�8W�Oc����y��}���*����44�M�/�n+�k�U�u)t��}u�Y�i�y�����jA�BY/��~z��(�:�Am�d����4�*�4����Z��KQ��r�s�Q�@��|�����	���(L�Gx<�0��(��~��{��|�w?�������=����/�
���_��N��������}�Y[��_��z�mk����G�������G+[��63J��.���:�L�e��>6�Q�~@X/~!l�*��3B}]�,��r���I��qa��k��������?����HG����w�X�2��2|�9��+`7&��y�W�~�?if#>,/�G��6����%�����\>�%��i��Z�{.6v�(|��7��8vv��c<N3�s���T�tx��,��D -'�����xB=� ���@��1/�cqtO��7R1�&j7B^zq����b/��+>����_-2���i������i�o�>S���[��?�c{_�W���*�h+{����1��R}o��9{�@��m�������dt� �Z�%T����2�)��l���2|��@<b�R]�V�
L�X8m�O����gA��@o��������k�
�_aF� ����>��z���K[�$x�(����pO�����G�=�l`8���zx�:�}a/6|5�_���
�9�6�9��/ �p(|�\�#~�����ku��O�`�q�	�q�6�.�zG�2��+���>�z%��!���=(�_A=�G}3{�z@G~7����*?�/���d���������������[�Q=$�����,��_��K@/f����Olo����M��'��_~(��tk[���0�#�s�7�K�����
Z�(4�-"��m�rA������8~��o����s��9����������_u[���0���sV[�<�w�1�-P>��8��������#��_��e�/�G~	�nc���Hq@%�>�~�}�?��hs��+$|�������r/(|������}��	��N�v��`b)���q������A����G����D>&]������}&��a�7�(�h��/�c�Q���1�f7��~`$�G�8�z�.:|V=H@���t�U	����^�?�>*[�'S�r�Ni6�RPC�
��B���:j����^R7�����K���n�N}F?�>�Xd	�}7�_N��
_��>@���V���]��r��s�y3���"���OZ��Ug�g�7�.�\�{��q��I/��J�b�
�V�=���R_e�S��te	�3������3@j���m,1�3-��I!�A����=���|#
�o�a��<�3�\��Vg�����pB��
_k������>���y��������~F}�o�Sy
-��T��1l#|�}�y=���2�����:��J'
�x���_���$w�
#��*2���<qV`��G���|�?my�8G@,/����5Q?��Oa��-�ot>��~��?B�o�@�E�/�'��-���8������hw�u'����v������o���������)����

6Zy�t��7L��b�����������B��k�� ��Q��� <�b�/G�2����F�>���=������C�C�[�=Gb�-�B��l3���'�Z�jua�
m������c��k��XN�a�����.�R�r���g�z%;�.��F���T�c~��f�iH��h!�mi�s��:��?�6���Z��
-my��4�������������6~�U�K�@��wl��s�Hl�B#~y��Q>g�~gg�������������
j^iE?0��_��A+�����
8�����@]����N����Z��g��~��N�&�jE�������������`��0�c�O����@���)���G��.�t��Xp�v�����
D��c�/����9������(��������o������K��$B�n�������\���_�Y�;��)��~K�����$�p%���G���
�	�|���B�����o�����q"��5�h��w��T�J���d�����X't|D��3[�A��

=�m��}S����49���������I���g2*]�G�n��pT�AE�0���E�x�/�,O�aL��!�� ���?D�Q��^�@��;�T�W5�'R�$���6Gu����(�{����x?7�Wt���
�/`�oH�(�x���2�w	���q�0��`��/:������r�����a[D��N�G��x�
��@����rE_�E�;������Sq6�g�|M�E�����������q���������
���A��8-�g��~@;���#}�O�I7��C_�������8m�K�'�wJ)a�a��a� e�J����:������E��t�}@#?EN���k�N:����w�i5].u�\~��.�`,��)~�������h�v��.�>��D2���M<��U��|>��4���K|���o��C������<��e�?�c��|�_�Z@L��������(���aw�`g��<��3�2?>��`Z������i�����E�������'�� G�F��_�G��:<�*d{t]�TP��L�q�'������BY"��E]�}�
���t��o�F?���)��5�G����Wn���d��r��z�Jeu��������%�+~�1Dr�=�s��ok����\�������}A���<��k�<F?!�i�;�L�:�v!/l����_��o��N50>�j�!�E�������TH��|}&d�|������r�d�?�zH%��i.0rs�H���c�_��7`%�z&���>��9�"�3~~�k�������m�#���l���6�����,����z@�"��U��SNC}�[�����D�����F�+�k���3w��������[�O=�@�#f��������$4\��|�5�������������P�+d���?���QP���i%b�43�~�8/y����������=����s�F� ��a}C�o��-�wk�/->�x�����:N�L���n����2z������w���,�G�q�����x�C�������\`��n��!.���=�|hU��y)���>As<["�����O?���"J�8��&��z0��(-G�{��hG;���v���hG;���v���hG;���v���hG;���v���hG;���v������G�R�&�89��F��|0�$����c��
��K�M|G�#����5���1&���}��vz8�d���P`, ��������w�5H���]�	:hpW#����05��.E������"���k�p>��p>+�;�V���q��Z�W2:��������miLM�j?������������C��?���}��m4�W������W{����q=d\1������5�3�������+|����E ����#�9�,��n����uw7�MM�(�������
y.p����%y���7��]�H��5������(>�hb���m^K�&V�;o�����������w��q?��=F���w�v�T��jv�t7��n��&�	���'��q?���=�},o�{?Z�����n��jS^����w���N��/s_�1�.����	�it�hw��I�2�c�r��y�]����&�u�r�v�>�>�=���mt���Sxl��<����2�^*��b������j�wh��k��j��h�{i�������]����z��>[[��9M�&��f�1YL&�j�M�D&���j��_�t�ATY\e#���j��^�&N)� U���}Yu����	�{���Y��*��,_M��u{���4}D��_��]\����P���]X��RD��i����UM���4A�ko���������q�U�ri�\[�[��s����a��c�k5���#�]/��E����zdm����`W�������������fVV�g	RW�_�gW��R~E]]5��h�X�{X�3�A�����0��,��g�����%y�g��%y�i����A��(�h���A�v��*+v�|�g0�?+Xf4q����6�`���&n��&Ug�D�tni���Ibg���mb=�6��'��������&deX�.���7&L��z���{[�zE��_������T^�2��)5&��HD�^^���2�F��F�
��U�^Qe�n�����7���r�8}���y��!W����?s#��:���y#����G�����`���e]�eVke�~8\��e�P�Z���������C��P7+���s1t�����Wl��`��p
endstream
endobj
14
0
obj
<<
/Type
/Font
/Subtype
/CIDFontType2
/BaseFont
/MUFUZY+Arial-ItalicMT
/CIDSystemInfo
<<
/Registry
(Adobe)
/Ordering
(UCS)
/Supplement
0
>>
/FontDescriptor
16
0
R
/CIDToGIDMap
/Identity
/DW
556
/W
[
0
[
750
0
0
277
]
4
35
0
36
[
666
]
37
39
0
40
[
666
0
777
]
43
52
0
53
[
722
]
54
56
0
57
[
666
]
58
67
0
68
69
556
70
[
500
556
556
277
0
556
222
0
500
222
833
]
81
83
556
84
[
0
333
500
277
556
]
]
>>
endobj
16
0
obj
<<
/Type
/FontDescriptor
/FontName
/MUFUZY+Arial-ItalicMT
/Flags
68
/FontBBox
[
-517
-324
1358
997
]
/Ascent
728
/Descent
-207
/ItalicAngle
-12.0
/CapHeight
715
/StemV
80
/FontFile2
17
0
R
>>
endobj
19
0
obj
<<
/Filter
/FlateDecode
/Length
28
0
R
>>
stream
x�]Q�n�0��+|L6�������J�`��b,�����&],����d���q6��%L����L�y�
���uL��X����y��p����
�k��&q�a����z�c�s0�;����M��x�	#��S�R���?u#�c��$��e�2?����K�=�}�!t��i)^?��8�O����p=���?��u��y�����o>�R�MJr���H��N Y��
�JI_)�Y�D�J�Ri$��H
�s"{")�?��WZ��N��[}	!�G��\;i���'��������
endstream
endobj
21
0
obj
<<
/Filter
/FlateDecode
/Length
29
0
R
>>
stream
x���	xTE�?|���{��}I'��$a	F����,$( �(�*
�"*�������tfq\f\f�Qq���QH�;���!�m��������I���[u�n���T��
����-Ln���K,�@3}��s^��v��".�����7��NpM��v��)S��`���M�X��������s.����8���6��K.�"��������1g�����R�g�X?9w����o���4����.�"b�#�� �����33��s��������$�	O�n�#;����Nh�?C��w-���
Pa��������a�L��F������W�.�H�sX�K�b���y�F�%p��&��������0�-������-�	����3M��\���3_)�����p7��n���4��k��a�T'�����q��k��`?��S��i�)���R_|�����^��:��`���\ebfXf?���E���a<����;x�9���M���R8��^a{���e�58c
�R��'����y8����%�S)W���� ]a,��l�	�'��H���>��y��f��X���l��/��K���=v���0�{-��=�bOq'? =(?.�P��e��"Ep�`.��$[��ao��x_>���?�~#?&��2��W0n������z�Q�<6�-f+���n��d���|����fH����}�w��@�VY���~�<�yo�_���)�,�QH�p�w���e;�������La���$�ec���{5��=�e���� ��}��a���W�Y<���o>�������� ��N
KyRJ�&UK��%8����!} ��r��\�SY�<�<��Q9�:-�X�����:6���+��l��������1��T�����,\�;�������sc�Yl(��$6��c�p&�c��Cb��e��,��}�cv��sg����#��W|�����x�/Y$����RGi�T'M�J�KwJ��������q�$�fd�����"9%�'��������*����U�:G]�6��e�n9�2�2�Rg�����5�d��?�xZ��C�2���n�r���_Az�S�a)�?�V��X/P�g�3�p8*�\����q~�4�
a�a���M
��1���G�g��^�7/R��j����mx����ENI/�[���"o��e;�#�i$R�������+������`�`?a]�t<�mF�0���I��p���Gp-���#��+�.6U�n�
�>���+:(�� {���Wq?k.?�_W�
���:V'�S��o��p@��{�8����0��r��p,�y�ep�2^�+�$6
�C(�K�r.�KP�LD��r�.���aXA��t1%�:�]�rBF
��<~.J�W�A��B��P��/5�2������m�	����b|���1����������������N|���w���8��,_��o1s�������&�:�:Rw	J���|��+��I{��y8�� ���}Fe�$�fd.��,<dQ`�%�k\����{%L��dJ��g�<���������
��c��N��uf���z��VYQ��KY�N���J��
��r����xV,	�����y�.��n�ZTE�8����&'��&��E��u�|�,���`r}��^�>9YTK�^3�5�����k�[j2-Y
��J��������'��Q�1}S���d��&�kD����\l����/Y�&'���l��������:�}��N�w*��v&�������g1������r��pP���~�����h�Ra�)S�G���_Vnnm��z������!�O�'%�@_�M����"�I�����[K��Z�����S���S�L_/M��>�)��_}����SY|������fI��Gf&)�j��d��Q�[?������my����`��q��Nbo������z�2I_B_�����T2yV����'��Y�qib�����s��b���C��\5f|~n}MV~��~��Xu�����d��'�J�j^}b��=F��j����L�DuJ
9�ef�(�l$���I��|���L�	�.������a����"3�m}'��zQ9��W
����o) ��?N/�b�����@I��R��f�>�����H����x��w�TzY#����%1����8�Sj{�����������1S�t�x=�����A�,U[�'��=���Xz��|��|r>Rr��������B��3z����<��?2:��	���WM6�v���r���-��T���x)�)�%��H�[*Sf��^.��TA�S-V�JQ������������o6j��V":��f}����3N��6<�*	��r��	�V�O{���wx�!��������09��k���I���O����
Hz��=�b������N�P��Z5 ?9`��US3K��Oj��v�?�?����I8��]7f�X]�s5��B���gk>[9jk��=a�N
�
+�����;�O��|6~'n!���S)R&I��#�q����wK�SY���D��,cpA#��4��c����E����;f|k�,Y�	��3a`+�� ���-����=����L+p��������z�U�5�!��b���k�kb|�5������=�h �F���h�k��,_6T�N�>��b����"��*O`yg�~[�#�,_)IW�n{��T�1��W�����V�;!����9vD;��i:�Uk�5
�����"����J���K����sXE��T*�]�S��
0�����`�y���[1�1�$��s1(-���.���3�B
�����H?�L,cu���������"�������*�$V��O<���w�������������CHy����}|�]�`>�E��k'��{����^���[x�M��y��T�w�d7��6=x��]x����'�7k���\��tt.�+�al�,xL������"����:�(v�k���-7��w`�;v��6�����0��`���p�
yy>� o\+����k��n�]���G����Oe��4������t:���8�>c���gi/���-�YT���^���!�����J��I�E�p+'rN�c9��q��6l������HG].Ly�I%r:1tR��b��`?��F��U������Tz�'
.�H|��:*�R���N
��������&�ZE"2�����C��9�.�+�J�J�n�fqDx����h��1�����s�f[f;.�_���u9��z��
�
u��N���[�
�
���X�pi�4������
�Jh��l����.66����Q
1Eq�a[���u�����J���b1���I y"j��j��kr����?�.uCJ��IcX�<�������5Y%����|�!_P���E~�8����Y���_�p���}f�����o������=v���u�U&�3����9�Vss���\�4��������z�W3�����w��o�������.�Dh��B�R����-/������2���p��0'g/��T�i��j�j�4$���i� �� /� /\�t����A-1��P�����.�%�����c�f������y?���T
55�*�����:S���{U���{��DC�W���a�B���'~;��I8�j�Yprxd'X�3h�Hb�-�+�%���4�������\�_�"��zE���M�0�Pr���T!'������$�I_����I;�=N&4/��J����S���DR5�-'��-:}>.:L�<^n�s(��������������D��H������#�?�Mt��~�r����[}�������lg�s�{�s��
��|��>�}�u4���x��������h��3Gq�c�p,��YU��x,�������5�\9Z#��}��yYd}���3����j7�N�*��}A�U$^bV�_I�X������O���%h���,o�*���`�Z;��[uS5j���^�
+��SnT��Q��<��X�|���E=������S-��
�Z�?�r�>���G����{�N������A�����9O>����=W��x����]�?��O������S���|"���R��))"�|�A����J|;��4-^$�x#����oGm����;s�rN������rF�|I��-i)���Ee$|���/��jj�#�\�#��}�*mo��@�_��B����.���\�eY�9���Y���K]���Vn�z�eW�� :����-�e��dk=���b��c�rd�Q>#m�Q*8L��\b����Y�[0)yI�'#�"������ji�jYP$�v�"����{�Z��id=�E_e�XO�0G��^S��n3�#%$SK�������G4A,:��dA�@�����x���	��-I�>�@,�2�w�^����*�|���g�\h�����^�=}�5k�?{�vm����,���/���k��.����M�to��������O�Z�����](�]�����|�~����
�"\�M�"T�8WEh�E�-V!�Dh��j��i��"TD���&B]-��;g8�9s��T�JC]��%�78U���������$$I�\��.�"=��+Z��v�e�/��F>�iE����vSq�u�B$������H�,���J���n�5N��p*��$�85�6�8���;��l�X��&�q���Z�DjC;V}��[U�{XFy��xp�qC�\�����P���vTTIy��$9;��^Q���u�g�Q�\:���.�r��1�T%dGm����R�g��*��|��e�����}�������MzHz�����7�(��i6�	�s��!��L��b9}"t�!��N	�t�R~a�D(EL�F0�^�R~a,�D�����Jb�O�B;��l�hzY�m�	�>Ra�,��]n�*{a\���X�\H�W!K5�E)CB��O(A���.�^�}�����o8�����w��d��tq�B�"����������	������&����������������J��K�K��N�.��h�h��B%"�J�AD���)T"k��gY7��;��zns��1��8]��&^��Ah1u^J��+��S
�$��W����lZ�2��`��������.x�E�4<����%����lzz�u��a��7�s[���q�����	��z������������D��D=�
�����bn��F"i���L�d��BF���D�nAL���d���-���NKxX�Mb��-�I����VL���p�sj�JlO���F4-,�'ac/�����s&m����mu�e�,�`�h�����li�e�u�ojr��������7�����$-l�.3T�Tg��,��8����^�H�qf�W�vl$�f���������U�BY�4AY
~���������d�������9G���FV���	O
_^��b��Q�p�Fn��S-;
]��&�#�R����3�1G�ZJ���Y����B��&�����^��5hE�������g��=�|����~}����w�gO���c����oz��+6������r�W�\0���]u�j6�-f����?�|�nsm��k�l����-�<.��v�u1��V����M�d���@�8M�a�I<��.�}	#��&q��K��E�3�����v��p�8�4����U���G�y$������1E����������5�}������h�5�h|�I�{�^���F��"��!�HvB������D�1J�D�L��L;�C��.:U]���'�[�1��`2^'�^J��E"����	Io��D��)�EsaQ��E�Sb��	Y9�I�����������*%9>WY�qp�)�7HyHFoz��%�COD����%�����RA�I����A���S�����C9RU���xZD5��9,|S��S&N�������A�u��KO}������� ���[�u�:����][v\������������jy�u��:�r�M������<���E�dE��E$S��N������3k5���1�H�!Ds��1�.~!��J)�R�E��x�I�5��=���t�<"LD��0������`�xX ����F<LypM��M�&�phk�o-����NL"YT��z�n�<�W��F��&,*�fzM���h%sZ 6k�E������9+nj>�����o=����0�����^3z��O^��)���Y�z���:��]�l�s����];�����[3����l~���g��>��<�*�4��

(�|�������rH68��)�Y,�|]M
�,���C���k8��:i������iG��B/�&�}GtM+G�%D���p�p�x#����$��N�G�%�;#I��U�2���hN��7UW.�D�X?$~�F�4����8"Z
�����(L>�`�������tU���te���P:��������Bsb�_�*gu���u��b���}�<����?�dH��a����Z�G���&�dI��$2
��%{u���h	��&�$L/Ob����A�L��cik��f��R��a49
>*������G���{��N�#���b$���������-V�Y�[e1ii������"&�D���}2�x���Fvg�����If�w��+����x�����E�[|�F6Z����K�>�7�Y��>��5��M�����[�������FU�\28�������M��\��QW�cW��U���Y�:����U�q�kf��]V��wX�'��+X�����>���G7�<}�do�@�_���X���@R��X��BEH�n$7GP*NDR�+������A�����������+pG������G���ZYAe�<7�����C��]������q+��[�_#i6�&��[�D�n�iR\nB.������*�����-x)KB�ks�)R��@<n���C�b{y\rt��M���I8\I1���U^������?D�� !�)����4���;�R����FW ����
�iA#?/�.N�W$Y��hK�R���v���w�0�<Q�w�� ��jO�P���Y��M��@�0�W&h�LPw��������'���!���@@7��*T��OP���P��4���Oj��-�\����e��p�9f>�n����I|N!�������0O��p�@�P,���y��#�b����5�n�,N.�p(���/B;��u��JR�����<;p��n����U�_�������oX�y�f�=������sf�x�(����~����+VPh������"�n��2����'�?�'{�$��+4��g���i9rSB�Eg@����Lqz
�nJE�I�'x"������M�I�����j��Ccu�:�xO]�W�Y��\3<�.��I��|+�V�C�?���~�}(�ID�J��,�E��������t���o��5�t�*���ja�`����B.b�GL|�.�]p��4G�1���!'�G�!8�\������h�����R��T�Mk�X��\�r�V�O0�,�A�<���*$At�~Q�����
��er�����l�4�a�S�D�L��F�#�c��}"���������;��ClZ��|�64���H�M�S+�#�����u[���|o������)��V�K�G�o=��t�7�{v6�{�eO<t�eO(����e�-/.h�����������������/hd�3�J����Fm�'||bm"��P��T��~�����<���070�/��D�����+M�EL�Eho:i�P0����	m���r���6'K�����G�G�'�'����H�\��M1�����3�Y���������;lO�w8�!�r�G\r�M�\�Y��<�dgQ�AM�a��
p��
<�c�n��R����mr9/K�83��W�e��
�ch���;�g,K�4�b��K�Hr$� &���xP�[P�^P��`�KXj,���f;5��d��\EmK�����^� �S�n�q�@��z�����H��7���2��0�G����i1������aK�)�.Uo����o5�s��7<�NbKt����7]7�fv}��,���`|���Y�/���o���9CP�� -Q���' ��Y�Rg��&�V.�MsX��v�)���9������M��������+�5��7,�;>�71zN|�oNlJ|��(x��hbW8<24947$���5��k���[`�L�`�.�I4�.�~\����:��V(�p��Px]���E����E��w��w1W-�=��*)~�]�%B����]���&VY��X�+i�GX$c]�5N
���SC\��p�X�9�������&!:�k�R����lX���t���i^���}�I&�����kh��7`�[ �+5���]�_����kx�u�f'?�o����Mo�Q���nX�~��%PJ:YI�{��i�-�f�;����0I?�����f�9�D��]�����=�{]���1W��>�'*GiZ��De��%9=q;�T�/K*��X �s�O�a���;u#B����S�l���R����5��i�#�����q�84�#�����7����B�n���'B�`�{�S�#�g�.�����T��}�kAG��Z�`�#�#u����Ut����t7F6�jE�F�����z�X��:.[�R��`~�7�[E���"CN$F�C�������
������~H�V��]9�\�}���_}r:r^��Q��y��d��';J��Q��Pm���RGQ�4���=0�1 0�2�1�������s~i�Y�g-^S����=�{������;���a����:L.]Z�V�g�_�]�
��`#��P�[�����E������������{����
VV�>z��<��W�X�F"�L����K�r).	[*����VNX���?�����R�~AV�*j��yV�0�n�����M^�>=CP�B+��� �� �� �D�n�����GNxj<#P���f���#x�#Z��	wT�z�O��h�tan�H$����t�0cK��jM1��E�����?l���T�7�����n-��0���n^�;-j�����Q�w�U+#nvY��G/��M�^����7�����j��O^�����Q��S'����U�����k�������:�e������O��+$����c'�����Jq$+L�B���_���EQ0�[�No@Rx��%��;M[�i.��V�#�������^���=6J�t�����ham�G�
W���l1�������h�mD:��n����?%�w�C$:Tv��
���
��P&$�x@,u@,i@,~�P�����:JwC�H��@&�7/�|�i��V����^������a9<8pd��j���/�i�q�t0�����W�|��p�nK�[uf1�%���e��(��
��^��j�����=��vH���G�T���7��m��i�����7_��J��������G�Qn�w"TEh!Y��v��y��'daS���"TEh!6n2��&������M���S\�*B����F�����=����i�G���6��m{l����,`K������E�l�=aC�"s��J���D�W3PU���B����^�#��=�Q����bN�uc�S����b�e;�/E!��B�]-���HAnmK����0.u���$1��y����w�J��+�/8��N�E\z-=h5�����Z��~�/��j��B�B��8m
tg�"f��Nm��S���^�M��t���B�nU!�
��P�+�+��*RB��,U2���e���n�&�vA�u���A���������V�'&���VCE�3������0\>}	h
h�O� $���8q��
����P-B���?�	~C�i�n��	���6�/n&��D�Ld���%��D�L8����3�63�7u�f&|f�k&��(����Lx���t�Z�J����9\���a������I�u�x����|[$+i�����$�gaj~,���5�
ya8s��2�LK�����
�-�7 ���/�8-��I���&���Us��`u�����)� �H��,�%:�j� Kt�E�5/u�%$u��Sai��2���U�����J�W����5�/�D~!;�6�<50�'�E�JM���~�U�f��'M�X: �N�B�B����-��;�t+A������N�Dt*�4���~���}�(O���+��zVe�g�_pz���4��i������#��QX��"��zfc���.�+q���o��?����i?u��^r��'�?~������}M�u������E�F����M���9)���������Z�������t���t���$w���j#�"��������
��\v���6��mr���&�D�%V�C�aO8Z�	�#�<Q�Z
{�!�	����n�����&�!L���#$�J�������
������xE0$�&$h($�'$����W�f?nR����V&�lH�=i_[exXx�[~t#��03N{���pkB�F��SvFH���V��.�Z�Wug1��gL�ed�"Q
�0���b���;y�H���q����Ewm�?wX�UM���������g��/��\�+��(��TP\���'��\���4JE���uTY������Vk����+�-�_����L������B�D�(slS�9�9���_��MU\�Ic�1���I��i����p\�xQPL�	���~ad�}F� K��b��?>+��(�E� ��;DbO�]PX�����Y���?uK���(���r`�-����=��������O�2����0���� nj@�#��A�����$���]`\oM	��T��T]���a��}�<��f������o�Y]������������~�nx�m����o>�s�����_�b����/k��i�����z������K/�`W4��s�*|���L/tj��3�!�\��O�D��3?�<X��'{nrM��+�+kpxpV��<�����Y���������=�W�F����s8p8�P2���)-�&�����	���/��5��-����VCq��Q� �&AD� 4����v�������v9)�"�6n
~�vq�#F�{���	i���s�N�������+x�O������	�]��^g����r6k�9���u6��,�����#�N�6�8�S����,����nf��B��8�+�J�V|��^��Xyp���_9�����/[��#lm���n��Q�3kl>q��^M'�M�����K/��,��Q$��u��{�ae~��,_��������BY�y�6�����\ Y�C,�m%k�����3?�;��%�?���]\�%������US������*���o�|���F��Vwl�a�4��*��'h/�p_��&p>�3�����������f�������9�W��h��A�)X3y~�k8���g�V��.jH���;Q���%�'�Z]
�f"�L���\3A���K��,/���6���`\������m�<�������E�]���V��X��rf�L�N�M�OtLtNt�������r�r�r55{��
�:t/�`�uL-�Z�0a������:o+����.���9,�T�����P�ii���|3Q`&��U�OP��R��T��~/����`-.t��X�((;:g��!�-�%NDk�#���[���'��^}?*'��Dy�wHA�G�)N�����k� ��4��s�=�d���d������yv<h��S�G���~������D��
�i����w���WG��EE��2��VQqn�^z�k�����7O�
zAG|��x����#�I�;�x�Q���R�1��,���1&F�[��rr��r^S�����3�"�	+�=�O>��f���$hlIA����B1vOR���d)�����{���qO����j��j����
;�J���N�?�<�M������{�N0R�g$���,��P��H?�5�d��Iw��W�E^���5I�s%��Vb�bJ'r��u�gA^��i�`�b%�6���� �e�����h�a*wL-[���/Str25dK�i�����;�n��{����,��x��+���m��\��[������g�[G_��	�z����g�BeY���k��}Wx���=Z�3�#��g/>���Dj��F��xN��x��^P�{��	��}�dkA��Q��,A7���{&��5�f�v��P����<���FT2K���eg�4[�cG�)9<Z�1�ij���1'�X��m�'[�Z�Z�Xd@�g�����r��ZH7������7����n�	q�����YE�S�a]�F�e��}��6�{TlGO��c�R���������7��i������C�����Z}�E��]�}��$g�z��i�V3�E�7�n�}Xi��/(���7���	1:
�+y�����@�*S~V`����r����AE����L�#��	F�����]LX�_�>��n���+��s	���	
�mm�v..��L��	���-l1mZbGc|nlC�>���t�J~Z��N���mQ��w�I�A�!�l3��E��Y���R�B����&�����0�����]�����*��,2sL��.����jU��E��Y��z��6(;.CS[�v�Y��Y�EV#V�Ni�f���zp��hpx/5��3�m4gD�����7u8j�-+y���pE=�?�/\Q�3���o��;�����t��'�As�2��\u�����SF�TM��R����E�TRT#�U<w�wZ�v���Q��{,/yl�t�*&�mAWL��z9����2��r���1�}[k_�x�7:��x��������/�����>����'����)A�tS��w���U��U�}����Y���*Y�6SU�"K���h�x\�����S����k�`��k�`�$���b�B�p:%��&I\E��t�}����v]���{������F��tZ�.U%���M����<oN����{����E���b�#����#����Sr���W(�Su+����s$Ug�-C�����w�[���Y�Zu���V���w$��A����r���$���Vi��I�U,/����W��W+��tk]���`��u�=0�/3�����/-����[�������s^�����O��fg�+lpmsI���Q�WHI1>5gD?p������#��c�2}(\q"t�5�m�]:k:M'�N�����mx$��z|�C��}��#�LD-K���E���E�r*3k�'NW �K��W��y����+�+�,�R�Q`q�|!W�W�(v��;������:J|%�A�Z_��68�7�?3x�z��r��+���VyW�V�o��?�xV{��+�������&��@&�c�n���g��~��<�'�2|���U����qj^��R4�����x����aG�����|�^q-�����<��kvxp.��F>&����}|�o���Y��<,�g�����t���9�)�tf���5����^���\��'�iZ/H��<����_
�E�#"R9&�Z�d1��?%�]!u��z��!��Q�?�Z�3pd>c�����2�=����������#X��VdJ���L:=�)�~N����O���`����yKg�V
{�G��?���K�>jh��wA���*�/|L+)�����K���t��������v4�)E������,�<��Z���_gz�����4������t�V���h!�Y�j}5�~��Wh`����jU���m-��o�+yg[����8�V����lH�O�|����1�Em��X���j�8D�(���My�����;��{D�&Xp�2.�����<��c��#xT��9����v�=���S�k��^|~����x�o��Dl��H�,7A�b����=7�[,���2����;#�c#1��u��A�`��J�|�|�1\����rD?#�����`��_���C����E��'���Y��������<��on�&�1�B����>���U��1��[[\�gK����,�(���C��|��|)���=���T�y���4�:�#�	,�4������gW�w�wL����8e��I-�%H_������;?�0�`��1��?4������'��/�u=�:I��G#��,E\D����h�i����*�{�L$`yX��h��P{|W�A�����s��!�eD��`B��|��E��lDg�����C%�7`���W��MAH��8�86A��7�/�S�������\�	�m ��I�B4�c�j��x�h��}�t�}'�TK��'	i�������L�p'nYWb���Z�Y�����9A�0��V��E��@�A����9-��������2e�� �V8_>
���Y��e�=X��	�X�@�����&^K���f){�;��|��9�'�������<��\���8�Z����?�����Z�?Cye���/��3����',_�.��c�6�RDGk����f��������i�������'�ry��*�n�&�A~=�&[
K�����)�N�i��%��1����N����d�&���I�4��XE�{��a��"
A���n �,��h�r�^3������7����Ng��Og[�l�����S�
���|$G2����~��U�U|3�1���0���<�q���r���LF�yDm�<*�2�����;B�<����E���4����K�rp�zT��9�<�$��7��G�����-�D9���2P�w���8�8���d��u��#*�@~�r�D�����;p�I��Jo��@m+�+�E
��cA��N����s��K(�����Si��;h<���Kq_D9�:t��:A�c�
b����j;M*��`A��u�}E�4����$�B�G[�h�����aO|	���p.��F�R���E��������X��	}}����e�J�9 �B���8~�"��i)���Q�����O�e�
�i3��w�&{�X%���:n��������Xv�o���}����}������l��_,i��K�bd�`����Q+��{[��y�:!I������C��6�Z�(����J\E����=82�Cw��`�<�����^�$�y�;�G��$�E�Gn�����P"���7�mI�`$���b~-L����J�X���H{��]��k�����N
��7�^�#� �C�Z���2OP=�GC�\�<:�v� �j���������8^J�6^k�8�1����w�{������(��P��G���q����������.��m0�u^��#:���i�2L�b�{�=��[7xq=��o�}����c�������g�A��Xyk(Y�]��w��A�c�]���q��c��33�H��	�X.��T��9��M^�B~�d��Kc�9�O�V��n���z`�7�N�8I����c���w	�N��W�i����;�co�&]�4��|'����4�	�o�m�ih������]�_���0�5L:h����,�\��m���,��>{��y��_��(��1!
�0���b/����
��%e����.H �%���!Z�w���V����UZ�?7��\�����K����a\��h��qk�m��m�LY�cu��F��z������"�y�����b�����;h����:�'����&�%'�������ws��^,���N|���X�����`�aWF��)���x�h���?|�Eob3b����������X�lw���7M��e�g1�%�/B������"����@���������?��m�p�	�ya������������^�\�_�[����<���C���[�}~n�c�����!��4�M�$;�lY����h�b�&�X� `�d;��J�3��o>E�g,������Z��cp?BCd�l��/��������-��60�F���9�����n7��o1���l��5u�)[ cA��o��S�?���&��O���i�lB[]����t��X����n���O���7a;�	�tf��]�;���d�����v��oc���������g�31���
����������o��-�����9��(J����3��Q����j�I(�>	����@��|������&�og�0
�5y��;���_���tK���q��\C��2�b+b����������ui�+O�|+��hc�b�
�!��������r;
��?c;�v���N��2M���`�[^�P�_,�N���^��k��)�Q�E�0�t��o��$I����MV�A=x.�C��w�8�-������~�9`���?E�J���c��#]���Q#��Tc��"},�jV��]��[���p��y��:X����;�{�Z,��r3������XS��N���2c->M����b|a(�cZ�k��@]���C�~�_�mP��BL��+2����y��{�0t�e-:���~"����}���}�7�W�r�1�m�b�����S��i�`�\����{��ou7@���b���5S\��Z��NY?��#/�������(���7�8�����G�yiP�]��]g�f�.�������tl����L����9,��U���y�2;1��_g��,0*��1��y�L0"��u�<��������X�U�yp_G�H�����*�a�H����a�%�����v(�.A�e��8��`\W\+}9rO�@��T�y�}�1Z��������_��@g�������/���0�r	�|3�5�	k�t����*xJ�|�fx��^�C�	���L�����#i�m�m�7Pb�3P>y�t�mlKqY[`9��ma����)��X��G��S�~j?U^�X^��0��zo~[`y���oH[`���`?5�m��?3��m�������c�����	��n���1�1R_�^L��"3�����w�����W��1�2/C{�������Sh~��~��'s;�#b���m~F�[���y����I���&B|��'�&���|�:��V���co��T������]�)d$�9�>���Sh��#�'�� �����(�c�}����Sr��������:`�����0T������B~�
y�A�W
�������
$��i����T�M���8q�7[>��D��a�|1���B�x �[�C����In��!����R�	���"Xao���u��8��a7��V*��a{���kP�o�E��p�u�V��X_�����$�R��A��V�6��v�[���R,�I���V�]wF���0�n9��@���+��'S��b�8^��d�[�{J��T1�����1�q��������
m�2Xi���8~��vjJ��O7���?Y.���
(2���a��1`7c:�3�h�m�g{�'��@Kl������j�+���1������������g��q+{C�)�A�4):�>���1&q��i��g-�a�E��a��.���0�?���	|��!��bv����wh���"\����A�4����X�7�:?Q��M,kZg��B,F������=����~�l�^�	�0Cgp����}b�lm�w��� >uvO�3����F<Lw�~���m|;�3�<�y�#���m�������~?�j=�!���Dkd�����_���,?c��|f���{1�_qQ���_�[��9g2F������[�������;�?�?�����d��d���t7�g�r�����1�@�	~*j����a��?	�l��&�"���2�{|i���p/��om������~�}�/��I�������9���J��g�V����Md2s��y4�����-c6�7�����������?7��0���1��St��>��C���~*��3��/������J�4��i��bK���M�7%y�����eg��|@wt@����e�N�b}��������e���n���H�h��M�lA�K|�E�L?��������PO*X��,������(�f��,A[�}]g�t�/�������������m��`�6���u4����){��w����_�����L������%>G{����)��t��m+�s���/K���0���y)=����~
��A�;9�N�PP�}����/���(����������|�u"�H��2�b������A����;f����4����	b�<�%��`�A�"�E\]E�	����>B�1�2�
��,���j�\�����hO����^mt�0��Q�5U����zwJZR�H���zl�[���_���gf��:�`�T?���.�wf���	��5u!��Z�b���:�������y�{�9�+O�L�L��4�}���!�V��=J
��#Q�=DKg ho7������g^1}�&���=q
��o�1������B���j���-2qZ�5a�Z�������{����1�A��d��j��d�v���q�2��Q6��^)�;mD[�-�M3O����6���*�H��%����K3���
�|���:������os�S�E�t7���j� �������Kw9~1��������V�F�ze��9�:��F���uA�LF�Gu{�������gC��%?i��y���/��~�M}t�|���w��J�9�K���;���w
�����V��D������%�*t���}���$[�P�O�2��.$��_�����E�w4dJ��
���uH��B&�u�%�����_]^eK1]~��t���:&�!����O�=5��xL���u9)d!�!1-�E�?y���`~�^2l�������/��F���6?�o���.���<t���-�.�
q7��_���9e���v�N�F��>k�/��Z[sO����_kO�!�4���h��Q�}���=2��q��$�tzc������{
�3��a�t!�B]�N�������n"�;$/�C�.3�X��
����!�!"���
����jz��v���e?���4�T����6�P���t{EZ
��/N��+ ���2����������?����y�ct�/�F�o��-Q�B7���W>;@�0@��7��r�$_����P0�h5.�T���SH���!���N��T~��;N{/lsF=����B
����v���hG;���v���hG;���v���hG;���v���hG;���v���hG;���v���hG;���v�������
��j�,�A�2�W_�'��N#�l/�$>+u�C.u���N�����mg$��R�v_����������0��%�-��&I9X�a����q�`HO��K�����-��%Z�b)�m�8F����	�#�� �#TQ�J.A,A�FO�Rx�m8���E�}�E�";E�N��������Qz��l�Z/�Z�J��s=..�c_a�R����=�CR?2���!�{��$`��z�T�$-�����-��$.1�
���msy�{�y�
>H����	?���-_�{0�� v#$�!�~�?�%��9�5�������*?�����{�=��w�Q���X����a��b��w�ZDH���`������������[�-���zT���T��H�p������_�}�)�W)�)��
)o[a�D��V=3��?��L%6���_�z����=�I�H�d�\���70�,E�Al@�#��0�I�"�e���F�DX��m�M#?���O�w�����0��~�g�����%���_�8���m9	�����m4�5���������������8w	�5��I�[*����MM��%���V����s?X!=+�.����������`}r}O�y7f)(��6LQPt�jLQPt�2LQPt�e���h�,LQP4a�((1S�?��AlE@��Mv�4�Jj��w��f���u���M
{H����6Md���"����C%"�	��"q�T��;(l�JT��\��8�8��@����������g��g����k\����^�2c@�����fi��@��?�� �����~��
�8���u�w�N�h�"��@�=���5�n�0�����s��f�&�;@�i�)�}@u����h���P%�V���C���}�R3��5��w��X���-!���_�s��������
^���������I~E	�
j�2jb�&c�C9�r�J�
�^���(�X��P��|���ML��D.�S�FLl���oIM<{�LH	3Q#F�d`Y�p�����!�����N������?� �|H�&-���O}��x�\������/��$�UGIR���#�G��p=DT�6���z�����:���V�'�o��+a�wuC�Ew���~F��U�'uI�a�U�r7��u]�k��vgS���q��-r��}��jT��z�3���6���Nb��:���\�r���G�}V��p
�W���P�����n����A��\���7�A����59&��{�.%��Qv+�EiS���e���o|���mb�G��n AQ�H���-!%P$�a/,��,����kVgM&]�uj���,���5U`�����	�1,&��W�\�����] SeZ�t��u�(���+W{�~��U�&��K�h�k���[���|f��s��nM�����y��-���^)��#��T\��\����<*Mp{`�h���Gtx�����S���sDW�w��R��>���HJp�PHpA�\��+�}}���G0�>�Yf3�L*%�nJ6��M9�F����U��~�
D��9����mdI�����1���������V��\�TM�f��*�����(���^���Cg�����y��U����\��������&�uR)M���Zld�l)y�h���e�ki{������`C|����w���2|�k�c����u��O�H��p���$�Bw���x���b�:�Z�I�
��NX
w��s>S���a�]�&z�������3Y Fm��'���E������<O�W��+1�\��b��I��NM�����~I���������y��h<����6�m��-����y_�]o���fj��,nMI�*���k�L�����zpl�@p�b���[�z�_���������������J����elg���?e0�	
endstream
endobj
18
0
obj
<<
/Type
/Font
/Subtype
/CIDFontType2
/BaseFont
/MUFUZY+ArialMT
/CIDSystemInfo
<<
/Registry
(Adobe)
/Ordering
(UCS)
/Supplement
0
>>
/FontDescriptor
20
0
R
/CIDToGIDMap
/Identity
/DW
556
/W
[
0
[
750
]
1
7
0
8
[
889
]
9
15
0
16
[
333
277
0
]
19
28
556
29
67
0
68
69
556
70
[
500
0
556
277
556
556
222
0
0
222
833
]
81
83
556
84
[
0
333
500
277
556
0
0
500
500
]
]
>>
endobj
20
0
obj
<<
/Type
/FontDescriptor
/FontName
/MUFUZY+ArialMT
/Flags
4
/FontBBox
[
-664
-324
2000
1005
]
/Ascent
728
/Descent
-210
/ItalicAngle
0
/CapHeight
716
/StemV
80
/FontFile2
21
0
R
>>
endobj
23
0
obj
<<
/Filter
/FlateDecode
/Length
30
0
R
>>
stream
x�eQMo� ��+8v�*!M�N���N�r����p2�!����v�����~������@�Woe���(������
aUZ�����#YLn�)��������[N�/ts�l7${�
�6�|����s_0�	4'�S},�$���f��mT���lc��}q@�YjFZ��0�:����1N��?�<eu}r#��-�#�[E���#�K�D��,K��=�=K�!�w	��o5vV���#�K����x���*5S�.��JU��$x[\)�3XWu������}�P�qj��;��,���a�0
endstream
endobj
25
0
obj
<<
/Filter
/FlateDecode
/Length
31
0
R
>>
stream
x���	xTE�7~���5��%�Ng����@B�H$FHXM�H@@p#����8""�.(�# �4	b8�e\��AgT���WFq'}�_U��!���������?���S�����S���bDd�������?~��l$2�7����������wD��^t�U3�^�v�� Q�����L;|�[��2�g�L$�{�!�3��yWiy2	�iD��]:��)����My���M��!q���hC�������?�"^M�z����$�R��GiD��"��#"OP�)K�B�4���W�����@I�Kf}i$��-F����v��xZ���C^�@#��2A����-����t��=����#
=G������i4�O��tT��j���L�)��X��)�~�Fn������;����P_)�S���v�z�M�Z�!�c���1�v�6�2(�V�����>�Q-=@�OA����L����,Yy���a6^�5<��F�D���J�N/17�62���>&#%Pw�ie��(��j�k��$j�0^���NR�&E��{��)�gV��=e(4���;�>�Q��?}!��hg*�����_�%_�-�4-����������|1_��N}0�:�v>m�0fd/��' ���a��yX*;�Me�������W�����*S���)2�G��3�W���jv1��6�{�a���oU��{�G���9�Q�}M>J�sh-�l�&�M�7�K���aN6��d��0;�>����x_���(��u�Sju�z�z@}�p�a�i�)rrK���#�W���W�;��?��C���V<HO����mz�>������he.[�nc��?�W��%��,>�W����
��:~+�
�������.����,e�2G�O	+��A�#����}��j�z��af

g��v�67������3]o�s[���"�	G���fh�"H�^�z�s�$���0��,��L�
�.a�Y%��e����:�����`w������M�{���q|
������j�?{���-~�C���l%��UF*�)���1�y�b�zHv��]yEy]�X�D9�YKR3���"�Nu��[}�p��2��ox��jx�p�p���)�4c��b�6�&�i���t��
�W���z������X�|;��K�1$�3�y�0��+*S"��x���%�d5ApCj���>���DK�\�UTS#�;?�>���7Y=KV�*�^����h-����!�����|�B�C��>��_I��K�\����3����-�7�W���R�~�2��z@�S����VB���{U�z
�S3���>L����f�>�uS`�����}_F���a�-�zL����
�fFX�b�`u����a/4j,���Y���?�b�7VVm���Iga�|-yq;+�
[R�U]M��4�Vo��6j����f������b?��X��(�����f�����q���F��)��\V��p����������G�c_H�z�����\H����-3cn���������*O�P�B
X��a���#��Z���6b=?��qv�|�#b�%aD�}3����'�����YR��j���0�x6��C{!��V�}�;}ik�_�`*�D��-�K����f�0{���B�3����4�e�?��+4�����O��Wd�6��R���!}3v�T:��A/G%�*��>��5�^����O��+#�����$�.0U������Y:���������-����W�g����rs��2������d_�7���v9�v[��b6
����=�>���y�#F���)H��!�>@��S����X���!����d(Z2�^�9�T��W`Xv |�";���S������@������2lG83�a���0�_0s���
T�+�:4{�tk�^���`B����],i0��4��]��vt*��]1,��]!zVr�M��S3�"53��w�0za��0e	;��
����C�&�L`�
�
������f'M���eO�r~MX�R+�p�nE8i��OQT�Z��cn��r�oV@DW�\������)�kkQxy�������Mb��Z��jk�l����QE�7={�H��8�d�����zLM��0��*�1%%����a���k�3�e���S*�vyh�����C��Ssz���tE�+��l�����y2$��P��v�2����P�p��zR��1
_����>�\�i��Ya�����3D��r����_4 �����L�S����I�����c�p0��S��i(�},��{�Z��d78 UC�Sj����33��j�TD�K��D����H��`m�����XN���4���^�
M�M�iO����9���a3�3��dO��W���s^M`��z]���O�E�����p��%��!���\(����E��Vs��(�zZX�R�v���~�Z33O��l2w`j��.I~b�{>#xj|�)�Szg[���j�����S����\9<;0|e��)�����g����o]�0�>6����U���7�b3�PVNCve�cv���q���8q�Y1���3>�~H������U	�T��*b�JEo�f������R�������L3��]���iN��Oo�1b�
��W`�!�9�M��,�@5����F%���W��<����/�����t��D���R*C�y_}2]��\|18'J����~���c�r������Va(����a�e�P
U�08)@�NV���<R7��Q���[����yw�����Em���a���9�D>��<�A~Y��.Z j8Q7���F�[����#���4Q�X�7�bo����+�+�[�v�v����-/X�]�������\3�3S.��Kx�q�e�}$ifn�jy��h|����m�7��7�.�/���f�5�������~G��;B�9��!�PN,)Y�Cq���?-�7��h�7sF��c�9}X����$��i2fg��Y< )�h2��^o���\��<^���k�.|�����W�M/��%��;vG&G���������g�����E�y
;��;�����,41d��_�Wq����G�d34�7[�l�:k 3��Bv�~5��UUM��e[��E]:J�����D����T���2���)���E>����/8�f����x���~��m�A:+M~��'�%�%�y�A����)���C���OL�[���]��f6����8e�:�74yh�9������x����
����i���mO7�)��H��� �����o�����x=�E��is�U�BWBP d5a����������&����|����mI0Xy�p�����yrFlO�,-��$���r��)u�K��_������FW��C�C�P��D5;Kf��$(?���|���P�%59��&0q�@E�WW+4�rL���
5
H�8�������2��������,�r�����F�j;�����?��^[3��$���{���F��|s��"?��,�Uv���_|u�'/}���MS�OT��Y����Y�Ao�
�'����N[���(�z�({
{<���M6{=l�wu���IeI	�L��i�6������B�5vn�3o3�!�?!?�'�&lI50��1'�
��"Y�����bl^��%�5�M���'��a������JZ�Qr���tB_N�@WI~�>!�KD�cB�%�H�T!T���r����3{��8��+>���/������+������*�W\Y3r���H[�e�\�����xC��������e�������I�P�u��5��{-�4��KW<57u���"�?�z�p�
��Jvz?Tb�K,�d[�6�v������U���v���O�o�?n�na�L6��d���Md������P��zQnS����V2�������c�q��l�RU0P3��mXceV1n�i��I�bJq��%�q����s�����q~S7
k[,�2����R!Bw����d��OP��������no���Q��wm�*-������s�K�v1�����k>��'r<��u�Fy���F����H4n4��a��3������G&�i�7~���x�����te���a���
)�]�f�9���{���n�G���R������^�K�J����y!���o�V���-�|qoQ�S�	yO3���\~g���;��UN�)�:E[	G��pB&�PKJ��7�������?H,D�h���2^oag�fR(�(�s���	�v]�����6�e��*u�E�����+$h(���I�g[0�f�US��?����_�.������D^��]�>y�����_���|�}~�������;��s!����$��'B�.��o^n�������P�����=�'Z]�$�
\�E���k���>z�*3������aD���a�g�g�L!��-e��h�����v2�����j>�%$�$����0�P���Rr}���9���Q#{��wL����e�3��������J����.7�����Z{�s������^y/���_[��v��1�g6�����_������7�9�j���V6m���7��h��eK���b����qtC���P_����w�:�:�01n{����g��cq���q�q<?�,�*N�#��+�!����3�d���4��M>X}(�W)LI����R(;
�c��f������������'e����*O-��w,�/���������#gG�f���������$���r���+0�������B�"�������jR�;x�w*y��6����9������v[�m�����J������^��<���0���<���0� ��>w ��p��G��OU�g/�[Yk���5�-M���XZ���]h��
����������m/����Y�;K��
�C���CU�H)L>�,�=�M����@�WuemuA������RlRw������,/��}�v_���&�:���!�F\v����������D�����{�L����<zL}���s��W{�t%��}�x��?�������_����������L_5����y�]���ko�i9f�������A�J���E��2o�����(��7�v'��^r�&��&���'��&�'�
�w&��|�c�����������.L�33��)��������,�[���sstqv��S����;T�f����:�uX�'�=������uV{��ai������,�\���:~���\oz�Gf9�>������o��;�"���l\����'�fqo��\������#W�V������-�Gj��}���a!��iJ1���)g��H��7��.��������H�(���[�oM����RmF�=�kL�v3�H�M^�o�[���3��,z���s
��z�sB�>E9����JN/��s2����]A����t&��p���jzz/��BHgN2Ci���P�_����f>�1�d�[{	gy�"[R�����'.�o�������o�d�~���B��RS��XQ=V����~=2''���XU����IJRr�Y��tfk������o������
��r�.x�-WJt[o�Ogsj�E#-��M45�h|��^���	b��xgiiit����n��&b�$e�u��f���e/�X_8F��r�����k��^��\���F>�s��������O�T���.�iNqM�9��9��}������#�7-;'�8�<|x���VW����y�]��V:hba^q�t�|9��6�^rP��Bn���q%��g�r�D�D�D�D_m��&cu�}PB��aj��2aX�m�;-V[<�J�$4L1	qq�&e�S2X��W�pp������^�7,�����F;�|#VGi�1�@LX
�n(<�����Yi��Z�J��*v�������I�����{]���H[��]!w����~�E�o0�m;~[��������T���|��a��=��#<�	{VB2�#4��Q����t�r��^��*y�`{�������|G�G�G�&~gL�00�l�����Z�,��w����,4,t,7���1y�{�����k���Z$�cnOQ|?�HI�(�{�}/Sq>�r��(��B9��z���@!+�db"�eR�]��U�,>%���IN�)���u,x�Xv�D�hl��`T8�@���?jG�
Fc����|a��k�\R=#�y�'�|������^8n���Ol�4;��O�<��r�Fm�'j7��Ci��rBo����i��������������b6{�~�q��*c�}�qO���loY��3}k��9�CX1��xW�#���W�D)��2I��@�����������>7C����"��-����"I�zDi�w���$
9`^6��<'�=����6�qn����8e����P�3&g�����f82�!������[���q���5qz
y|���2_(��/�$��]��Z�&O�nt%��3(��M�����0;��+�D~� �&�u���g�I�?",J�l>>)��F�E��!�d��8j�����&�<��Z�9)�r�I:a2&��o�������b���1��-�\7e�y��+'�_Z������{l�������#O\�j�t���C��u��B|dx���*���j�p��K}����'z]��������������&�iq<NL���\/��8#��D��Q�1�c��+3W������3�5��]�L
����g2m��z�W���V�MN�����*�01���d]����#����c����SR���C��	�����$WI�8��(��Xr��+��
|f��^�|�Q�����q9�:K�T�{�qe��-�xkaC��
:����~��s�z�}�,&����k\3]�x���NP<�9�H���j�$Z�Dq�<�%�)�ia��YR���7+�h�o��7����>�#O�7Q�6�nNd�YbrRYi��^���V���c�1.u��������d.���f�D�H���+����*=�q`���/�����M#V�i[��n=���7�}�Ac����a��)�3%$%�g�iV�UVd.rV�+G����o7�������,1M� �f���<��=�8���lc����:f�1�/[�f�y� 3�CWk#��)9/��V�^wW��g<<}`������q����_-��XX��0R;��
������&|��>�?1pw�!��k�&zk}��;�l��7����i������s��e�g�3��l��������?�qIBD��)1���6�/���S�|t�<&�#��9�'-��3�3��|*�$�K(rG���^&/��C>ve���������v%�����o����<�&f\y��E��^�v��m�7n�&��*r���u�;�+�g`���.RJ�%	E��H������S-�S�uG}�oL����r;z��8�#>��z��;��N&���~��c8��:���3�����g0��
�b�	���s7Wf�S�*f����-�GN�����{o�1��.�h��zZ��H[�����'�UZ�v�����MP��DJ���P�
f�g�3�
J��&~f|�[�Z6����i6^f��q[3_�a2A�n�v'��R`i����%�Mn>�����}������9~����p��]e-,�b�Q�:S�<*j� 	hwIaTs�2�4�2��y5���k��rTQ3ft��B��^RQ_{�Yg���m�����}��G��1@��cO�t���2f��%����p��������g�����[����0�;�7Y��	�����6��f��L����������-w/�����Kq�0�����U���C�LY9���m�3�g����c2Z
.K��������m��
��k��sU���{�H���]������;����I��wg��z�{�2����"o(�_�����Q�3gV�����!_zQn�8��\���^�����zed8���'�TX�$E�X,�"J^�,D~���ud��H���od���,/k@�����6i���
��$��df��	v��2Ye���q�),ex�	;
���I%1��Im�,����=q����f�pSF��n��D��)2JE�;�5<��mY�f��e����U5E��1�B�OxEMI����6�xVn�����B������l);�bN������	^�d,4
����qo1oU{�%�PoR�&��%��]R(��P�#�/�Rj�����#�U�h)\�qh��#A=!�V�hT��~��.�l G{1d�s�9��r�|�������`���tW\�tx��O������n�mE�!��$����;kq�*`)��/��8��82�����|���#��&��.����jkN|�v����=-?��qU�x���7��;x������6���ny-�U��>���`O8�����p�v|����H>��HI�Krs�)��d�	q;(isR8I�i�i�M#\p��R�x�8/o���[����dye������$���2�&�N�R�Y�Y�9�9�1�����*Wn��k+����`'Z������E'�J�'�_tL>�D�#�J����18A)�$!4V����������Z���u;�7��s��Y~�;������.���N�~c�����r��?Dn�|V���S��l%�������X���R^�������I�B.5�K�D\>�}y��$d�Wz	Q��W����=0��ff>�K�b:yu���Q���{�TF����K�����c�F\��%o�0����������AU���������������r��������f�����,�o��\=h�?�ls�9e-#��482��:��~X�$=��c�5�I�D�vjV^�u.����t�5<O����|�]U�)M}�&��|�����K�6����Fy�$�\��r��lG�E=���.6�3���)�m��t;�6Kh�HG[7��l��D�=����;�_+�J*�'����������fZM&��mH���[D�A���\u�v���{$���N���'��<r�b�7�0�������*`�#���G|5�q�����DY(S���0ho�?T7�qc�cB�e�~D�:}�:
v�[g�>s�B�'�O���h��2|�}+�;�q��4�k&m;�Yf�Mw ^�J�%�n���	��nZd\O�!�x_����S�1��!��.0u>#�a����9�_��RPW=p1�~1&'!�G`^kP��X����,���
�?��/d�y��M�<����N���K`��y�������l':Q
 �b��Q�I�)������um'�o��MR��:�o@=P"��}+�[��Bg�n
��ax^��8����ZX�����?	H���utGY!��Bg�z��-tK�L�J��D��b�B�:���4F�A���Q��P�U�*��Ow)o���!�-F�\����(��N�;����Fz�?C�:t1Fc�h���]�s�q��3��C��?�h�U��`|-H�x�7a��Ten���*�����!`z�]����; �7�)�7y��&3vhG
�^4���e�g�3Xk4OP��y�i��-������75
��E�	�g��(���@Os��a��5�&��Ht����C���V*S)9�"}��,iw�����g��u�)������h���������G��\g]����v�Bg��5�&c��������qp���}��l4�:����v�|�6����Nz���~�:�eg*�a����u�~���_�Ga���vN�}���i��a;�*��:O_�=� u����>�Y;�5���um��L�����3��m1]��`��m��{����Q[&�Sl/r�bl5�����%��}��N�v��Wa�]LSQ����*�����D}����R�Z��;���tu�6Q]�0�a�E~��V��U��j����M.���<����h�H3�G�w�����.�s%���k/����O1/�{L���R��[1��%�[���m�~�3
�$����2�������^��U��v���������7�p�7��f+�e���5��`Kd[��\sH�]�����>>��M�������5M�k�3�/��DJ6|Fwc-�����Ub�(�Q���o��'>��?HWw�M�V�������}��\B^���~D�a��D�H#��O���b��Z�g
�}�}���U>Do��%�����x���p3��Q��`1pS2��,u\+��tz��DkA}k�n*W��U���S����re4�����q�uW�Q������T,�y��B�j-�[i��H�
ap;�|�f:�p!��P�><�6�B8_{X��m|�y���P�u��k���w��������w���k{?�>�R��8E���e�F������(����i���?�����^�ux'��W�@5����^����o�����i�~
�I��a�@�� ��^,�#D;����G���qC!��^���N�����"�J��m������x�a2S��'��S���6��Qv,)���_>��8��|�z�
��
���[������w��]\$����H�>�I{����a��s�@4N)R���+6OH_!�;�te��y�t�Kb����[q�;�#bz���B�{(t�c?	����y����a<AN�����?���/���Q7���x�! �
@����^�e
(c�7V�,�A�5B�J����r~bz�y~�K���GG�3���������n;��l�/���6
NW�������<����v����������#_���^��Dm+�~|���d�!��'A���@���6����n@��`��JW�~e2����m[��r����x;?�����������
�k���>���@���'_E|0�}���Q�<	7�d>��������4���F��N���o�3��Mc����Y#6��Ecg��Q]��^�p���3N�b>��q�B�Qk�Oi�~4|Y�s�Q���~S��L�S�T������_A7�s�+��\:G��e�b�H��{�t��v����k��q�����[��/:/�B{{�6�I�_������,�=-f[fc���_���{�cO��1�b�3tt����%�y/�O�[{�{/?��q����c�|��T(`
�����������������;���~%_�;�%�xg�,����gR��b����S`�Qgko��k���q�z���%T�Q������n��]�c����|�
��P!�����6G���}�Ml7|�o���/C���ekt���>w�[��K�2�}_��8A�� �
�.k��|�~A�;�8�*G��Q����OGq��B��w ��-N5��q�!���8��v�y�����fl�e��w���h��8�V��=,���p��"�E����?KIwC�/����~n���}�+�`,��"z?
e/wS���J�;d�N{��)�_{�=&��=�@�:�z%�s�I���~��J>�����#4Q<�n��,��mf��2��1��=�t����,���h���b�*d���?q����NS���O �7v�D��c�1>�P�fl���~����
�)z'��~��S;��{.�����������R��l/z'�=�`C=6�w)��}��������&��x�v�����i��_PN�`�����a9���4�o��m/�I�1�E��J�O5��.�DL\���6y�����2���[�3���]�X�@�;j4���'`m�C�H����s?�Yw�c�~&����~G��6�3n���C]�5@G��+����{�JY}���*9Fq7�z�(����I���2o����s�N~��	���?\�q�u����
���\EP�
Ux��=$���g��s���m�x���('�F��
���Y���0N��e�K:����PN��#?&nQ?G��+�'�	]��L�����z.du*�vx�����zzJg ]�!���!�����;]?N���H��_�������g�J�*;���A?N'���@z���ctg }t�~�>����1�b��T�
�3Ag�"�s�6C�������G����Y���9��D[Z��wt�v�K���h[�7�/����fd����A��!.���#D��m���Q?F�eZ���5��H�<�=��Q�m�	��;�&�6�'��Gp�����L�f]��G�m�9QKz��+~�����Z�^m�D�
[+m�,�t�����7{gDo�RJ7��CV�7.�����<�W�\}�D��7���=�������6�s���}�~�s(o��k����\��3��x�t�RP��/t���~����L3�~�xFf��{�&�!�+4���Xz�lk\�i�^��o���2���lC
e��L�I����nv��8��y��:��A��g���{o@��E���%�9}�|Fvc��I�n����C+,��4M�g�A�&*���@o�����2��cgw�;��e�C�����}���K}u�C�\K�h��:�����n��Dg�&�G��7�A{�x{g��K�����)��s��1�O��h�O�9�x��z.���`���{�#4��,
5��~6
5�P�� %��4�)�5q�����	k\�yzt!���D}��xX�c��rm"��.=�b�`V4_�iK���/����k���������������k�;� �����9�=��M�[���whb
�w�~�g*����>_�B�r�_b~tg}�/}X���3�������	_�3������g9����=�����������j��d~���ww�y=�T�����N���~y��p~���O{O�c�����Z���+h��+�K�W)l$ ���%3P.����������|��W`\�5�_���fGJ�ym��Y�=�s�	hU��������/�u)��u�|�K���5��v�A;����E�V@���+��N&l���r�_���W��o�|��<?��$�J &��cr��>���s�}����<���~
���+���q�Z�
�k���0����s�������S�|���G#`:7
�.�v�K_A�6J���;K��R�hG���_�����o�6�G�!����b�w�/�K�1M�^��kZ��\,�H�������x�v�n�2-���w2�����m��y�f���i�t,�����M4^���8/�Sm�Ioi	���u��c]����<��#)���e |�C+�=��-��+�\J�����w$�	��K���C�/w�ow���&�/�=�A#�{I�)��;7��_�=�4�L�e�z�|gt��Q�������{Jc�94F=,�����+��}���������5��
�H�'�����3��KQ�N�BU@���
���!2�����<�E�$�a=�j*4xP�a���=Q���jy�~%
%�6��_B��������C��O�
��
�Q�qY�T=<y����]�+|��������
���*�Q�k(��������iv3���u?
�U����?{/ ��\����p�t�!�*q(7:��Pw�������("�v3����]b�����~?.���������s,)�!~�
�� �N�.=����G&���Z����zZm���}4I�ES��.���.�wB=hH�*
4��X�`��^��	��}AQ�a�+������
�L������2<���������l��|�����=/��w3~�]�����g*�����w9~+��g0���L�������5����&�'a����w�K�(�{~k���~$�~'��t��G�N���h}��s�����o��{����~��W{V�9�"�;���j���i�ikaS������&m�U�(���A�8YvF�K�C<3j�D�/�j��j����)a��������6K�La��:��RB���6��?F��?�j"�D!���&�7I�����{H���G{�xo}
��������1������Q��������}��?����������m�'�+��`.S;���w�Er�n$lJ���
�s;�CN�������(�>-�������d�q���_#�w���=�,B?���r^]��cl��������~��E��;$/�F�.����J�F��_o��A���h{N?�Mj?���@��mLE��d4OB�{d�:�F������������w.�B���]�$��[�����o\�]"����C������)�^�++��>D����G��q�T��!=}��?/���.t�]�B���.t�]�B���.t�]�B���.t�]�B���.t�]�B���.t�]�B���.�?&�G+��Ji
�����o��J��d �k��r��0�����P(�<�d���A�I�����3�����.�������;'��M��BI�
�����6���&O��<l�'�����'#:���4@Q�)�7���Q����<�����
�
z� �� }�����M�h����<.���R`'�
`����h��������r�r_���,�*���+w������U���)esg�#�0T�Tn�j�SXE�G�����8�W6��+EX�d�/t��*tz:�
Mn�7�� ��jJ�����pI�����&���R���2]�����,��4t�2�����&��p)�+C�2%�z �\�R!h��B������h;���,���*>Y���������}JH
E�%N�oE�3��	e�b"J-E�$��	�������o��������x���>2H�rY�������S����K�tJ�dH�U���������o���*�n����Q��d�/l-�(��Vn��,_��7������Tp�x	BK���Dh%fm%fj%fj%:��G����e��E��,���&��Z%6B�-2����EIV|�sD����d�=�5�d1_�-���	e.�|.�)���|���)=�Pz5�RCC#��	%):5`��)yBI� �`����D����Pd?1�?(��_�o���� .��:=���D���FM���i�CT6��K��|�
��o��o�*=��4��~�{3_�7��&���F�W�?����\=�������\�4��P�_As@�����$�����@��i�n�>�����=4��1^t!�hdg�Q�G)�����������4�� u[S^����1� ����w�[�}���@��tHPr���E%k��-|-_��rC�C[�����[�@n�w�8�%P��7��l�X�|��)��=@X�olT���m�����,C��n�!���=����eTp��X,~G*�W����y�|`!�I8������p4��Ar4��������G���G=8��Q/9D��Q/9��Q
�jpTK�jpT���������!p��GHr��G!�G!�Q�p��@r���(��(G���#�8�#�8�H�8�H'8��p��)9��p��	��p������8���8,9��08����8���8��R��	,�r,%�A��A��,�r,������P���`) x[��
�V��J�V�^��Gap�%Gap���ap���������Yrl�fpl�f��Y*�|@p��J�O
��1c��KYI����.�C�^K�$���Hz5]'�"*�t!�I��$�G~3k�;��0U�d`6�	�	<	�d��}@��CY��Te�d�iz�d�i:l�c�q�q��I�a�����S�]�Q�Z#�������d����"����)�E!���=�+=��=���lMOVn�g1UZ�st���ly������n�a�n��y��1o������� ���.`pP��\�/�z�|M(K�r?�
��	�z���2�Z��mi���,��n�����[Hsc�*���M��[��&�"�fn��F�d?%7���lk���5v�2�����M �*X��t�-��F�D���l��'J�DC����j�h���m)��?$��_"J����xf���{@P�	�����,�?����9�?�`�o�U�Wr���������(\�o,����v�4,�c�-�7��F],w��N�����H^�~�(�h�_h�;B	������G�s�g������r���?��_t�jY
���_�
Gb����r�e��������%��B�40Zoq��BTm���3�Y����f�
�47�5M2
1
2e��L�t���6;��f��j6��f���d���;(�O\�Q���FU|�2���[�ElU���l
'(��r�Vn��*�����nf�1��
�CX�]I����+�M��pq�2l��T����k��+���if�HZ�vE&-[��B�%/[][K>��2_�{��dx�/|�����>�������q5�����B��k+��8���;�}XE����Em��acE��PQ�bGd1hs<�Q7AP�<����Qs-�v����v�����vYNe���C�a�Y&���,s(�:�����bW^�,�`5���������(��/�0�u�"?����*����^��lKa?��G�x���x��L���>$����_���������M�������N
v-�/2a%�~��3�2=<?{zExqvE`W�g~!���7�b=3l|��gB�+�����RQ�TVZS~J[7��US�����jD[e���].��D[���r�VY�L�5l�����]fR;��(m�qV�p}jf���a�P��A����{Ub�(.X�e	�����w���:Y�Hv�Y���2S��mz����!-�B���c*������M��9�+>2�G�fU���$���$�����_���?����KT�9�2<`zb2����Z����)�L�e�k�Z�D'�<��YYq�2����&.�
��R�g?�|	�s_��/��|aSV�8��k���8�
���Y����*hn��\�X���������{o.6"u�$�����1�B��sc�@p^-��n���kLK�
o�`�68�Iy�\�,&�v���k�+����h�\��D���1��:���/���Dc�_?}#�?�{2�
endstream
endobj
22
0
obj
<<
/Type
/Font
/Subtype
/CIDFontType2
/BaseFont
/MUFUZY+Arial-BoldMT
/CIDSystemInfo
<<
/Registry
(Adobe)
/Ordering
(UCS)
/Supplement
0
>>
/FontDescriptor
24
0
R
/CIDToGIDMap
/Identity
/DW
556
/W
[
0
[
750
]
1
15
0
16
[
333
277
0
]
19
28
556
29
67
0
68
[
556
610
556
0
556
333
0
610
]
76
80
0
81
83
610
84
[
0
389
556
333
610
]
]
>>
endobj
24
0
obj
<<
/Type
/FontDescriptor
/FontName
/MUFUZY+Arial-BoldMT
/Flags
4
/FontBBox
[
-627
-376
2000
1017
]
/Ascent
728
/Descent
-210
/ItalicAngle
0
/CapHeight
715
/StemV
80
/FontFile2
25
0
R
>>
endobj
26
0
obj
297
endobj
27
0
obj
13828
endobj
28
0
obj
295
endobj
29
0
obj
21146
endobj
30
0
obj
294
endobj
31
0
obj
17051
endobj
1
0
obj
<<
/Type
/Pages
/Kids
[
5
0
R
]
/Count
1
>>
endobj
xref
0 32
0000000002 65535 f 
0000070214 00000 n 
0000000000 00000 f 
0000000016 00000 n 
0000000142 00000 n 
0000000255 00000 n 
0000000420 00000 n 
0000014335 00000 n 
0000014257 00000 n 
0000014278 00000 n 
0000014520 00000 n 
0000014671 00000 n 
0000014297 00000 n 
0000014815 00000 n 
0000029241 00000 n 
0000014964 00000 n 
0000029660 00000 n 
0000015337 00000 n 
0000051461 00000 n 
0000029868 00000 n 
0000051844 00000 n 
0000030239 00000 n 
0000069538 00000 n 
0000052041 00000 n 
0000069886 00000 n 
0000052411 00000 n 
0000070088 00000 n 
0000070108 00000 n 
0000070130 00000 n 
0000070150 00000 n 
0000070172 00000 n 
0000070192 00000 n 
trailer
<<
/Size
32
/Root
3
0
R
/Info
4
0
R
>>
startxref
70273
%%EOF
v20240405-0001-Prefetch-blocks-read-by-write_reconstructe.patchtext/x-patch; charset=UTF-8; name=v20240405-0001-Prefetch-blocks-read-by-write_reconstructe.patchDownload
From 352bf7a3d981243bc47e9681381b7297aaf48939 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Fri, 5 Apr 2024 19:49:55 +0200
Subject: [PATCH v20240405 1/3] Prefetch blocks read by
 write_reconstructed_file

When write_reconstructed_file() reconstructs file from incremental
backups, it reads data from multiple files. In most cases the access
is fairly sequential and the kernel read-ahead does a good job, but
the pattern may easily be too random due to skipping many blocks in
each backup. Also, some read-ahead may not work that well in some
filesystems (e.g. ZFS).

This adds a --prefetch option to force explicit prefetching. When
used, the system prefetches the next 128 blocks (1MB). This value
is mostly arbitrary, but not entirely - it needs to be high enough
to cover the 1MB chunks used in one of the following patches.

XXX It would be possible to allow specifying a custom value, so it
would be "--prefetch N" where N would be 0-1024 or something like
that. But it seems unnecessary, so perhaps future improvement.
---
 doc/src/sgml/ref/pg_combinebackup.sgml      |  11 ++
 src/bin/pg_combinebackup/pg_combinebackup.c |   9 ++
 src/bin/pg_combinebackup/reconstruct.c      | 132 +++++++++++++++++++-
 src/bin/pg_combinebackup/reconstruct.h      |   1 +
 4 files changed, 152 insertions(+), 1 deletion(-)

diff --git a/doc/src/sgml/ref/pg_combinebackup.sgml b/doc/src/sgml/ref/pg_combinebackup.sgml
index 658e9a759c8..76eb88e3044 100644
--- a/doc/src/sgml/ref/pg_combinebackup.sgml
+++ b/doc/src/sgml/ref/pg_combinebackup.sgml
@@ -230,6 +230,17 @@ PostgreSQL documentation
       </listitem>
      </varlistentry>
 
+     <varlistentry>
+      <term><option>--prefetch</option></term>
+      <listitem>
+       <para>
+        Enable asynchronous prefetching of blocks. If this option is not
+        specified, it's up to the operating system to prefetch data based
+        on access pattern.
+       </para>
+      </listitem>
+     </varlistentry>
+
      <varlistentry>
        <term><option>-V</option></term>
        <term><option>--version</option></term>
diff --git a/src/bin/pg_combinebackup/pg_combinebackup.c b/src/bin/pg_combinebackup/pg_combinebackup.c
index 1b07ca3fb64..15e7e711482 100644
--- a/src/bin/pg_combinebackup/pg_combinebackup.c
+++ b/src/bin/pg_combinebackup/pg_combinebackup.c
@@ -35,6 +35,9 @@
 #define INCREMENTAL_PREFIX			"INCREMENTAL."
 #define INCREMENTAL_PREFIX_LENGTH	(sizeof(INCREMENTAL_PREFIX) - 1)
 
+/* Default prefetch target 1MB (for 8K blocks). */
+#define	PREFETCH_TARGET	128
+
 /*
  * Tracking for directories that need to be removed, or have their contents
  * removed, if the operation fails.
@@ -68,6 +71,7 @@ typedef struct cb_options
 	cb_tablespace_mapping *tsmappings;
 	pg_checksum_type manifest_checksums;
 	bool		no_manifest;
+	int			prefetch_target;
 	DataDirSyncMethod sync_method;
 	CopyMethod	copy_method;
 } cb_options;
@@ -132,6 +136,7 @@ main(int argc, char *argv[])
 		{"sync-method", required_argument, NULL, 3},
 		{"clone", no_argument, NULL, 4},
 		{"copy-file-range", no_argument, NULL, 5},
+		{"prefetch", no_argument, NULL, 6},
 		{NULL, 0, NULL, 0}
 	};
 
@@ -202,6 +207,9 @@ main(int argc, char *argv[])
 			case 5:
 				opt.copy_method = COPY_METHOD_COPY_FILE_RANGE;
 				break;
+			case 6:
+				opt.prefetch_target = PREFETCH_TARGET;
+				break;
 			default:
 				/* getopt_long already emitted a complaint */
 				pg_log_error_hint("Try \"%s --help\" for more information.", progname);
@@ -978,6 +986,7 @@ process_directory_recursively(Oid tsoid,
 											  &checksum_length,
 											  &checksum_payload,
 											  opt->copy_method,
+											  opt->prefetch_target,
 											  opt->debug,
 											  opt->dry_run);
 		}
diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index 15f62c18df8..ea740fd6232 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -59,6 +59,7 @@ static void write_reconstructed_file(char *input_filename,
 									 off_t *offsetmap,
 									 pg_checksum_context *checksum_ctx,
 									 CopyMethod copy_method,
+									 int prefetch_target,
 									 bool debug,
 									 bool dry_run);
 static void read_bytes(rfile *rf, void *buffer, unsigned length);
@@ -67,6 +68,27 @@ static void write_block(int wfd, char *output_filename,
 						pg_checksum_context *checksum_ctx);
 static void read_block(rfile *s, off_t off, uint8 *buffer);
 
+/*
+ * state of the asynchronous prefetcher
+ */
+typedef struct prefetch_state
+{
+	unsigned	next_block;			/* block to prefetch next */
+	int			prefetch_distance;	/* current distance (<= target) */
+	int			prefetch_target;	/* target distance */
+
+	/* prefetch statistics - number of prefetched blocks */
+	unsigned	prefetch_blocks;
+} prefetch_state;
+
+static void prefetch_init(prefetch_state *state,
+						  int prefetch_target);
+static void prefetch_blocks(prefetch_state *state,
+							unsigned block,
+							unsigned block_length,
+							rfile **sourcemap,
+							off_t *offsetmap);
+
 /*
  * Reconstruct a full file from an incremental file and a chain of prior
  * backups.
@@ -95,6 +117,7 @@ reconstruct_from_incremental_file(char *input_filename,
 								  int *checksum_length,
 								  uint8 **checksum_payload,
 								  CopyMethod copy_method,
+								  int prefetch_target,
 								  bool debug,
 								  bool dry_run)
 {
@@ -331,7 +354,7 @@ reconstruct_from_incremental_file(char *input_filename,
 		write_reconstructed_file(input_filename, output_filename,
 								 block_length, sourcemap, offsetmap,
 								 &checksum_ctx, copy_method,
-								 debug, dry_run);
+								 prefetch_target, debug, dry_run);
 		debug_reconstruction(n_prior_backups + 1, source, dry_run);
 	}
 
@@ -542,12 +565,17 @@ write_reconstructed_file(char *input_filename,
 						 off_t *offsetmap,
 						 pg_checksum_context *checksum_ctx,
 						 CopyMethod copy_method,
+						 int prefetch_target,
 						 bool debug,
 						 bool dry_run)
 {
 	int			wfd = -1;
 	unsigned	i;
 	unsigned	zero_blocks = 0;
+	prefetch_state	prefetch;
+
+	/* initialize the block prefetcher */
+	prefetch_init(&prefetch, prefetch_target);
 
 	/* Debugging output. */
 	if (debug)
@@ -644,6 +672,9 @@ write_reconstructed_file(char *input_filename,
 		if (dry_run)
 			continue;
 
+		/* do prefetching if enabled */
+		prefetch_blocks(&prefetch, i, block_length, sourcemap, offsetmap);
+
 		/* Read or zero-fill the block as appropriate. */
 		if (s == NULL)
 		{
@@ -722,6 +753,14 @@ write_reconstructed_file(char *input_filename,
 			pg_log_debug("zero-filled %u blocks", zero_blocks);
 	}
 
+	if (prefetch.prefetch_blocks > 0)
+	{
+		/* print how many blocks we prefetched / skipped */
+		pg_log_debug("prefetch blocks %u (%u skipped)",
+					 prefetch.prefetch_blocks,
+					 (block_length - prefetch.prefetch_blocks));
+	}
+
 	/* Close the output file. */
 	if (wfd >= 0 && close(wfd) != 0)
 		pg_fatal("could not close \"%s\": %m", output_filename);
@@ -775,3 +814,94 @@ read_block(rfile *s, off_t off, uint8 *buffer)
 					 (unsigned long long) off);
 	}
 }
+
+/*
+ * prefetch_init
+ *		Initializes state of the prefetcher.
+ *
+ * Initialize state of the prefetcher, to start with the first block and maximum
+ * prefetch distance (prefetch_target=0 means prefetching disabled). The actual
+ * prefetch distance will gradually increase, until it reaches the target.
+ */
+static void
+prefetch_init(prefetch_state *state, int prefetch_target)
+{
+	Assert(prefetch_target >= 0);
+
+	state->next_block = 0;
+	state->prefetch_distance = 0;
+	state->prefetch_target = prefetch_target;
+	state->prefetch_blocks = 0;
+}
+
+/*
+ * prefetch_blocks
+ *		Perform asynchronous prefetching of blocks to be reconstructed next.
+ *
+ * Initiates asynchronous prefetch of to be reconstructed blocks.
+ *
+ * current_block - The block to be reconstructed in the current loop, right
+ * after the prefetching. This means we're potentially prefetching blocks
+ * in the range [current_block+1, current_block+current_dinstance], with
+ * both values inclusive.
+ *
+ * block_length - Number of blocks to reconstruct, also length of sourcemap
+ * and offsetmap arrays.
+ */
+static void
+prefetch_blocks(prefetch_state *state, unsigned current_block,
+				unsigned block_length, rfile **sourcemap, off_t* offsetmap)
+{
+#ifdef USE_PREFETCH
+	unsigned	max_block;
+
+	/* bail out if prefetching not enabled */
+	if (state->prefetch_target == 0)
+		return;
+
+	/* bail out if we've already prefetched the last block */
+	if (state->next_block == block_length)
+		return;
+
+	/* gradually increase prefetch distance until the target */
+	state->prefetch_distance = Min(state->prefetch_distance + 1,
+								   state->prefetch_target);
+
+	/*
+	 * Where should we start prefetching? We don't want to prefetch blocks
+	 * that we've already prefetched, that's pointless. And we also don't
+	 * want to prefetch the block we're just about to read. This can't
+	 * overflow because we know (current_block < block_length).
+	 */
+	state->next_block = Max(state->next_block, current_block + 1);
+
+	/*
+	 * How far to prefetch? Calculate the first block to not prefetch, i.e.
+	 * right after [current_block + current_distance]. It's possible the
+	 * second part overflows and wraps around, but in that case we just
+	 * don't prefetch a couple pages at the end.
+	 *
+	 * XXX But this also shouldn't be possible, thanks to the check of
+	 * (next_block == block_length) at the very beginning.
+	 */
+	max_block = Min(block_length, current_block + state->prefetch_distance + 1);
+
+	while (state->next_block < max_block)
+	{
+		rfile  *f = sourcemap[state->next_block];
+		off_t	off = offsetmap[state->next_block];
+
+		state->next_block++;
+
+		if (f == NULL)
+			continue;
+
+		state->prefetch_blocks += 1;
+
+		/* We ignore errors because this is only a hint.*/
+		(void) posix_fadvise(f->fd, off, BLCKSZ, POSIX_FADV_WILLNEED);
+	}
+
+	Assert(state->next_block <= block_length);
+#endif
+}
diff --git a/src/bin/pg_combinebackup/reconstruct.h b/src/bin/pg_combinebackup/reconstruct.h
index 902a8e9abb5..e2089f25818 100644
--- a/src/bin/pg_combinebackup/reconstruct.h
+++ b/src/bin/pg_combinebackup/reconstruct.h
@@ -28,6 +28,7 @@ extern void reconstruct_from_incremental_file(char *input_filename,
 											  int *checksum_length,
 											  uint8 **checksum_payload,
 											  CopyMethod copy_method,
+											  int prefetch_target,
 											  bool debug,
 											  bool dry_run);
 
-- 
2.44.0

v20240405-0002-Try-copying-larger-chunks-of-data-from-the.patchtext/x-patch; charset=UTF-8; name=v20240405-0002-Try-copying-larger-chunks-of-data-from-the.patchDownload
From cc21c2b363d6bfc1826b764ae94b33dcf1e60aaa Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Fri, 5 Apr 2024 19:57:43 +0200
Subject: [PATCH v20240405 2/3] Try copying larger chunks of data from the same
 file

When reconstructing a file from incremental backups, try copying data
in larger chunks, not individual blocks, to reduce overhead. This
applies to all copy methods, including copy_file_range() - or rather
especially that, as the overhead may be particularly significant.

This is implemented by looking for runs of up to 128 blocks (1MB) to
be copied from the same source file, and processing them at once.

This commit only applies this to copy_file_range, the read/write copy
and checksum calculation is still done block-by-block.

Try copying larger chunks of data from the dame file (cleanup)

This is primarily a cleanup/simplification of the previous commit,
to make the code cleaned and easier to understand.

It also extends the batching to the regular read/write calls, and
checksum calculation (it only worked for copy_file_range before).
---
 src/bin/pg_combinebackup/reconstruct.c | 91 ++++++++++++++++----------
 1 file changed, 57 insertions(+), 34 deletions(-)

diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index ea740fd6232..dd7a8841a55 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -63,10 +63,10 @@ static void write_reconstructed_file(char *input_filename,
 									 bool debug,
 									 bool dry_run);
 static void read_bytes(rfile *rf, void *buffer, unsigned length);
-static void write_block(int wfd, char *output_filename,
-						uint8 *buffer,
-						pg_checksum_context *checksum_ctx);
-static void read_block(rfile *s, off_t off, uint8 *buffer);
+static void write_blocks(int wfd, char *output_filename,
+						 uint8 *buffer, int nblocks,
+						 pg_checksum_context *checksum_ctx);
+static void read_blocks(rfile *s, off_t off, uint8 *buffer, int nblocks);
 
 /*
  * state of the asynchronous prefetcher
@@ -570,7 +570,7 @@ write_reconstructed_file(char *input_filename,
 						 bool dry_run)
 {
 	int			wfd = -1;
-	unsigned	i;
+	unsigned	next_idx;
 	unsigned	zero_blocks = 0;
 	prefetch_state	prefetch;
 
@@ -653,19 +653,42 @@ write_reconstructed_file(char *input_filename,
 		pg_fatal("could not open file \"%s\": %m", output_filename);
 
 	/* Read and write the blocks as required. */
-	for (i = 0; i < block_length; ++i)
+	next_idx = 0;
+	while (next_idx < block_length)
 	{
-		uint8		buffer[BLCKSZ];
-		rfile	   *s = sourcemap[i];
+#define	BLOCK_COUNT(first, last)	((last) - (first) + 1)
+#define	BATCH_SIZE		128			/* 1MB */
+		uint8		buffer[BATCH_SIZE * BLCKSZ];
+		int			first_idx = next_idx;
+		int			last_idx = next_idx;
+		rfile	   *s = sourcemap[first_idx];
+		int			nblocks;
+
+		/*
+		 * Determine the range of blocks coming from the same source file,
+		 * but not more than BLOCK_COUNT (1MB) at a time. The range starts
+		 * at first_idx, ends with last_idx (both are inclusive).
+		 */
+		while ((last_idx + 1 < block_length) &&			/* valid block */
+			   (sourcemap[last_idx+1] == s) &&			/* same file */
+			   (BLOCK_COUNT(first_idx, last_idx) < BATCH_SIZE))	/* 1MB */
+			last_idx += 1;
+
+		/* Calculate batch size, set start of the next loop. */
+		nblocks = BLOCK_COUNT(first_idx, last_idx);
+		next_idx += nblocks;
+
+		Assert(nblocks <= BATCH_SIZE);
+		Assert(next_idx == (last_idx + 1));
 
 		/* Update accounting information. */
 		if (s == NULL)
-			++zero_blocks;
+			zero_blocks += nblocks;
 		else
 		{
-			s->num_blocks_read++;
+			s->num_blocks_read += nblocks;
 			s->highest_offset_read = Max(s->highest_offset_read,
-										 offsetmap[i] + BLCKSZ);
+										 offsetmap[last_idx] + BLCKSZ);
 		}
 
 		/* Skip the rest of this in dry-run mode. */
@@ -673,7 +696,7 @@ write_reconstructed_file(char *input_filename,
 			continue;
 
 		/* do prefetching if enabled */
-		prefetch_blocks(&prefetch, i, block_length, sourcemap, offsetmap);
+		prefetch_blocks(&prefetch, last_idx, block_length, sourcemap, offsetmap);
 
 		/* Read or zero-fill the block as appropriate. */
 		if (s == NULL)
@@ -684,28 +707,28 @@ write_reconstructed_file(char *input_filename,
 			 */
 			memset(buffer, 0, BLCKSZ);
 
-			/* Write out the block, update the checksum if needed. */
-			write_block(wfd, output_filename, buffer, checksum_ctx);
+			/* Write out the block(s), update the checksum if needed. */
+			write_blocks(wfd, output_filename, buffer, nblocks, checksum_ctx);
 
 			/* Nothing else to do for zero-filled blocks. */
 			continue;
 		}
 
-		/* Copy the block using the appropriate copy method. */
+		/* Copy the block(s) using the appropriate copy method. */
 		if (copy_method != COPY_METHOD_COPY_FILE_RANGE)
 		{
 			/*
-			 * Read the block from the correct source file, and then write it
-			 * out, possibly with a checksum update.
+			 * Read the batch of blocks from the correct source file, and then
+			 * write it out, possibly with a checksum update.
 			 */
-			read_block(s, offsetmap[i], buffer);
-			write_block(wfd, output_filename, buffer, checksum_ctx);
+			read_blocks(s, offsetmap[first_idx], buffer, nblocks);
+			write_blocks(wfd, output_filename, buffer, nblocks, checksum_ctx);
 		}
 		else					/* use copy_file_range */
 		{
 #if defined(HAVE_COPY_FILE_RANGE)
 			/* copy_file_range modifies the offset, so use a local copy */
-			off_t		off = offsetmap[i];
+			off_t		off = offsetmap[first_idx];
 			size_t		nwritten = 0;
 
 			/*
@@ -716,7 +739,7 @@ write_reconstructed_file(char *input_filename,
 			{
 				int			wb;
 
-				wb = copy_file_range(s->fd, &off, wfd, NULL, BLCKSZ - nwritten, 0);
+				wb = copy_file_range(s->fd, &off, wfd, NULL, (BLCKSZ * nblocks) - nwritten, 0);
 
 				if (wb < 0)
 					pg_fatal("error while copying file range from \"%s\" to \"%s\": %m",
@@ -724,18 +747,18 @@ write_reconstructed_file(char *input_filename,
 
 				nwritten += wb;
 
-			} while (BLCKSZ > nwritten);
+			} while ((nblocks * BLCKSZ) > nwritten);
 
 			/*
 			 * When checksum calculation not needed, we're done, otherwise
-			 * read the block and pass it to the checksum calculation.
+			 * read the blocks and pass them to the checksum calculation.
 			 */
 			if (checksum_ctx->type == CHECKSUM_TYPE_NONE)
 				continue;
 
-			read_block(s, offsetmap[i], buffer);
+			read_blocks(s, offsetmap[first_idx], buffer, nblocks);
 
-			if (pg_checksum_update(checksum_ctx, buffer, BLCKSZ) < 0)
+			if (pg_checksum_update(checksum_ctx, buffer, (nblocks * BLCKSZ)) < 0)
 				pg_fatal("could not update checksum of file \"%s\"",
 						 output_filename);
 #else
@@ -774,22 +797,22 @@ write_reconstructed_file(char *input_filename,
  * provided only for the error message.
  */
 static void
-write_block(int fd, char *output_filename,
-			uint8 *buffer, pg_checksum_context *checksum_ctx)
+write_blocks(int fd, char *output_filename,
+			 uint8 *buffer, int nblocks, pg_checksum_context *checksum_ctx)
 {
 	int			wb;
 
-	if ((wb = write(fd, buffer, BLCKSZ)) != BLCKSZ)
+	if ((wb = write(fd, buffer, nblocks * BLCKSZ)) != (nblocks * BLCKSZ))
 	{
 		if (wb < 0)
 			pg_fatal("could not write file \"%s\": %m", output_filename);
 		else
 			pg_fatal("could not write file \"%s\": wrote only %d of %d bytes",
-					 output_filename, wb, BLCKSZ);
+					 output_filename, wb, (nblocks * BLCKSZ));
 	}
 
 	/* Update the checksum computation. */
-	if (pg_checksum_update(checksum_ctx, buffer, BLCKSZ) < 0)
+	if (pg_checksum_update(checksum_ctx, buffer, (nblocks * BLCKSZ)) < 0)
 		pg_fatal("could not update checksum of file \"%s\"",
 				 output_filename);
 }
@@ -798,19 +821,19 @@ write_block(int fd, char *output_filename,
  * Read a block of data (BLCKSZ bytes) into the the buffer.
  */
 static void
-read_block(rfile *s, off_t off, uint8 *buffer)
+read_blocks(rfile *s, off_t off, uint8 *buffer, int nblocks)
 {
 	int			rb;
 
 	/* Read the block from the correct source, except if dry-run. */
-	rb = pg_pread(s->fd, buffer, BLCKSZ, off);
-	if (rb != BLCKSZ)
+	rb = pg_pread(s->fd, buffer, (nblocks * BLCKSZ), off);
+	if (rb != (nblocks * BLCKSZ))
 	{
 		if (rb < 0)
 			pg_fatal("could not read file \"%s\": %m", s->filename);
 		else
 			pg_fatal("could not read file \"%s\": read only %d of %d bytes at offset %llu",
-					 s->filename, rb, BLCKSZ,
+					 s->filename, rb, (nblocks * BLCKSZ),
 					 (unsigned long long) off);
 	}
 }
-- 
2.44.0

v20240405-0003-Try-prefetching-larger-chunks-of-data-from.patchtext/x-patch; charset=UTF-8; name=v20240405-0003-Try-prefetching-larger-chunks-of-data-from.patchDownload
From 8a1fec02cdeb2d26c8ebae9a7662fdde7068bc93 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@2ndquadrant.com>
Date: Tue, 2 Apr 2024 17:50:58 +0200
Subject: [PATCH v20240405 3/3] Try prefetching larger chunks of data from the
 same file

Similarly to performing copy/read/write in larger chunks, it may be
beneficial to do the same for posix_fadvise.

There's a caveat - this depends on seeing sufficiently larger chunks
of blocks in the prefetch method, which depends on the copy batch.
Once the distance stops growing, the prefetch window will be the same
as the copy batch. If we copy 8 blocks, the prefetch will also see
8 new blocks. If we copy 128 blocks, prefetch will also see 128 new
blocks. And so on.
---
 src/bin/pg_combinebackup/reconstruct.c | 38 ++++++++++++++++++++------
 1 file changed, 29 insertions(+), 9 deletions(-)

diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c
index dd7a8841a55..155493c52f4 100644
--- a/src/bin/pg_combinebackup/reconstruct.c
+++ b/src/bin/pg_combinebackup/reconstruct.c
@@ -77,7 +77,8 @@ typedef struct prefetch_state
 	int			prefetch_distance;	/* current distance (<= target) */
 	int			prefetch_target;	/* target distance */
 
-	/* prefetch statistics - number of prefetched blocks */
+	/* prefetch statistics - number of requests and prefetched blocks */
+	unsigned	prefetch_count;
 	unsigned	prefetch_blocks;
 } prefetch_state;
 
@@ -779,8 +780,8 @@ write_reconstructed_file(char *input_filename,
 	if (prefetch.prefetch_blocks > 0)
 	{
 		/* print how many blocks we prefetched / skipped */
-		pg_log_debug("prefetch blocks %u (%u skipped)",
-					 prefetch.prefetch_blocks,
+		pg_log_debug("prefetch requests %u blocks %u (%u skipped)",
+					 prefetch.prefetch_count, prefetch.prefetch_blocks,
 					 (block_length - prefetch.prefetch_blocks));
 	}
 
@@ -852,8 +853,13 @@ prefetch_init(prefetch_state *state, int prefetch_target)
 	Assert(prefetch_target >= 0);
 
 	state->next_block = 0;
-	state->prefetch_distance = 0;
+
+	/* XXX Disables the gradual ramp-up, but we're reading data in batches and
+	 * we probably need to cover the whole next batch at once. */
+	state->prefetch_distance = prefetch_target;
 	state->prefetch_target = prefetch_target;
+
+	state->prefetch_count = 0;
 	state->prefetch_blocks = 0;
 }
 
@@ -876,6 +882,7 @@ prefetch_blocks(prefetch_state *state, unsigned current_block,
 				unsigned block_length, rfile **sourcemap, off_t* offsetmap)
 {
 #ifdef USE_PREFETCH
+	/* end of prefetch range (first block to not prefetch) */
 	unsigned	max_block;
 
 	/* bail out if prefetching not enabled */
@@ -911,18 +918,31 @@ prefetch_blocks(prefetch_state *state, unsigned current_block,
 
 	while (state->next_block < max_block)
 	{
-		rfile  *f = sourcemap[state->next_block];
-		off_t	off = offsetmap[state->next_block];
+		/* range to prefetch in this round */
+		int			nblocks = 0;
+		unsigned	block = state->next_block;
+
+		rfile  *f = sourcemap[block];
+		off_t	off = offsetmap[block];
+
+		/* find the last block in this prefetch range */
+		while ((block + nblocks < max_block) &&
+			   (sourcemap[block + nblocks] == f))
+			nblocks++;
+
+		Assert(nblocks <= state->prefetch_distance);
 
-		state->next_block++;
+		/* remember how far we prefetched, even for f=NULL */
+		state->next_block = block + nblocks;
 
 		if (f == NULL)
 			continue;
 
-		state->prefetch_blocks += 1;
+		state->prefetch_blocks += nblocks;
+		state->prefetch_count += 1;
 
 		/* We ignore errors because this is only a hint.*/
-		(void) posix_fadvise(f->fd, off, BLCKSZ, POSIX_FADV_WILLNEED);
+		(void) posix_fadvise(f->fd, off, (nblocks * BLCKSZ), POSIX_FADV_WILLNEED);
 	}
 
 	Assert(state->next_block <= block_length);
-- 
2.44.0

backups-randomized.shapplication/x-shellscript; name=backups-randomized.shDownload
results.tgzapplication/x-compressed-tar; name=results.tgzDownload
#45Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Tomas Vondra (#44)
5 attachment(s)
Re: pg_combinebackup --copy-file-range

On 4/5/24 21:43, Tomas Vondra wrote:

Hi,

...

2) The prefetching is not a huge improvement, at least not for these
three filesystems (btrfs, ext4, xfs). From the color scale it might seem
like it helps, but those values are relative to the baseline, so when
the non-prefetching value is 5% and with prefetching 10%, that means the
prefetching makes it slower. And that's very often true.

This is visible more clearly in prefetching.pdf, comparing the
non-prefetching and prefetching results for each patch, not to baseline.
That's makes it quite clear there's a lot of "red" where prefetching
makes it slower. It certainly does help for larger increments (which
makes sense, because the modified blocks are distributed randomly, and
thus come from random files, making long streaks unlikely).

I've imagined the prefetching could be made a bit smarter to ignore the
streaks (=sequential patterns), but once again - this only matters with
the batching, which we don't have. And without the batching it looks
like a net loss (that's the first column in the prefetching PDF).

I did start thinking about prefetching because of ZFS, where it was
necessary to get decent performance. And that's still true. But (a) even
with the explicit prefetching it's still 2-3x slower than any of these
filesystems, so I assume performance-sensitive use cases won't use it.
And (b) the prefetching seems necessary in all cases, no matter how
large the increment is. Which goes directly against the idea of looking
at how random the blocks are and prefetching only the sufficiently
random patterns. That doesn't seem like a great thing.

I finally got a more complete ZFS results, and I also decided to get
some numbers without the ZFS tuning I did. And boy oh boy ...

All the tests I did with ZFS were tuned the way I've seen recommended
when using ZFS for PostgreSQL, that is

zfs set recordsize=8K logbias=throughput compression=none

and this performed quite poorly - pg_combinebackup took 4-8x longer than
with the traditional filesystems (btrfs, xfs, ext4) and the only thing
that improved that measurably was prefetching.

But once I reverted back to the default recordsize of 128kB the
performance is waaaaaay better - entirely comparable to ext4/xfs, while
btrfs remains faster with --copy-file-range --no-manigest (by a factor
of 2-3x).

This is quite clearly visible in the attached "current.pdf" which shows
results for the current master (i.e. filtered to the 3-reconstruct patch
adding CoW stuff to write_reconstructed_file).

There's also some differences in the disk usage, where ZFS seems to need
more space than xfs/btrfs (as if there was no block sharing), but maybe
that's due to how I measure this using df ...

I also tried also "completely default" ZFS configuration, with all
options left at the default (recordsize=128kB, compression=lz4, and
logbias=latency). That performs about the same, except that the disk
usage is lower thanks to the compression.

note: Because I'm hip cool kid, I also ran the tests on bcachefs. The
results are included in the CSV/PDF attachments. In general it's much
slower than xfs/btrfs/ext, and the disk space is somewhere in between
btrfs and xfs (for the CoW cases). We'll see how this improves as it
matures in the future.

The attachments are tables with the total duration / disk space usage,
and impact of prefetching. The tables are similar to what I shared
before, except that the color scale is applied to the values directly.

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Attachments:

current.pdfapplication/pdf; name=current.pdfDownload
prefetch.pdfapplication/pdf; name=prefetch.pdfDownload
%PDF-1.4
% ����
3
0
obj
<<
/Type
/Catalog
/Names
<<
>>
/PageLabels
<<
/Nums
[
0
<<
/S
/D
/St
1
>>
]
>>
/Outlines
2
0
R
/Pages
1
0
R
>>
endobj
4
0
obj
<<
/Creator
(��Google Sheets)
/Title
(��Untitled spreadsheet)
>>
endobj
5
0
obj
<<
/Type
/Page
/Parent
1
0
R
/MediaBox
[
0
0
595
842
]
/Contents
6
0
R
/Resources
7
0
R
/Annots
9
0
R
/Group
<<
/S
/Transparency
/CS
/DeviceRGB
>>
>>
endobj
6
0
obj
<<
/Filter
/FlateDecode
/Length
8
0
R
>>
stream
x��}���8r���'}���}���m����;�����xg=f���
c�����#��UT�������N��W�'�SY$�����<l}��0�������_�/�x�	���������
��M���
��r�9��7��[�&�~�a����V��~x���g��_���nWF���O����]��pkG�o
����s��
=��V�rn���06���i�v
+�_�n���|����i��?Kw��������t���0�`��x�����������Kh6���	[��nu1�S���,�2��Y�0�n��`�3.����1�������4e�5i�B�Ey���v����x�n N�_n��N��V�?���@��m����h!�~if�mX���@G�;��+^���!a�n�z�4}�OC|Ki��o���O���7�f`������[�]�f�*L
q�[�_�-�|�O�������9j��UH��w?�L�<�6��������`3�s��q�/Obp�)�sOl��������a���A�M&�"�����E��/�L������[�	��,2�S=�����l�o�o��n�_b�mJ�n&.�����xqtx����9����������Mt	�O�/�L����i������
.os`����y���/�Di�FFk72Z�������H+������^3PR�!�82R�C�83���%�?&��N�!�82N�C�
�������De�@�2���1v��!0J��(��\�����mx+�[g����M�g&�%���Mp��&x���1c�[g���y��-�B����'.����F^f��c���ms�27r)����� ^�����Y�Df��q$:��71:�A��
�����{�����1:����m(��	��/�'|6����>
���r�.�7�b�q�M?�'*`���H��7�������v�v��2Jk��k��n&N��q���b����P��F��a�F<��3�8��S�V�cb}E��W4<���D|%R/�|&d�
#�o�c�����fe�D_@\�x;F\fr_�a�UO�A�%���%8�����}��-����)�c��[���3�2sdY(��z���
���:�����2�^���"G<����706"�I�wo�\N,�����2���h�0��Y��-4��={,+B�����!o �J|N,;B��90F�*A��!�&���,'�L���&d�dno�9RV�$���D����y�pzc����0!ua�z�Mtx�#$O�R�4�_i���f��g�Qn�4�X {fQ��S�$�L	]��3�{Lr���Hi���B�'���F����CA��k~�(�Y���,/��~��#I,MB������FI�B(�Y���	op`t�����~dy�n&N'���HS�)}�R�{�5Z�KG�,��h��xqf2���:�6%RG�-���[GR�?�H%�/����L�.,C��i2�
�E�1��xqf2����?\�Sp$��	=�����
���s���eL���i |:�p����J�!p�&��_����="�y~82&�$��	]����8rJ^�G�Z�1�f�t`)Rn�����A��<���"x���2R3�{<I*z�,��h����!�����
��� R�9�f"5�T)76OCS`�^M,}B��,_�M�p�E������D)8�f`	Snr��?%�;?
��O���Y����e���h�8<��C�@
3��r�{$�2ix4��P
�C�A���[�D�Gc��3K�vI�9e&\�U�%�Hdy����)3�C�����d��D���(tx���n��Fi�glX������M����LP$-GAH��K���Qc���d.I��D�&7�U�4�<
]�����H����xby�n&R�8�f�� 
��'{�C(�X��9��)73�����/M��(t�<
=������i��4hb��n&Na�;^��M3J#n����_4�|�,���5�?$R�Hd�������"�ilcJ�HK�v31
�����,���eU�E@!���4�0f�r�4@��
�4�4
]F'x���@i��!�g�D�&R`<;p.>
~9��7��r(��!�t�|43��9�op MJ���X��	����q2T�X���R�gfC3�����hdiTH�
�`r���@�*K�!����)7��s����$j7�0/�������@g0��R�A��h���Y0��=n��jI�	�E�T�eP�"����1���Z�=���eP���X���#�/B��4���
xb)z���r���<�QK��P���E�C����!@*Nq� �����%Q��H]X���S����}N�!��r����)7����M MJ���h.,i�M��%m(�4k�xi��r��eISf��P��y��r=A�!K����L����������2t	,�
}����8���{��D���$j7�=��r���40��j���Xd����)7�?���R�����,�B��706��&���6`��P��(Y���=�hRiF���!��R�id9Sn2��d�}t$�
=�����c7���C�id��n&Ba0<^��#���c@���c4��,�����R��
]���9WD4�j7�0/��I��Jq�q��,����,��a��5�\;���M���eP�"��P
s3t��JM��vI�a0<;s.�_.�gQ�hdY������y,M}��D*8��8��[w����hI�-K�v3q
��P����'�f��!p�R�9M0����qL���+`�%O�xS#����MohF��S���eO3����3�g�E7� ������	F3�-���fd�_|Z���&�M�S�-
���x�lN�ay�n&.g�(�f�um��x�#����yf�Rnr��ZV���p��&tx����L�����DN���I�	%��Hdy���D)33���I���M�Tp���!���!��`M�(�b@9���i����lXy[i-���&t��%J����;��d %q��D�6���[w��C	����i7���r��Y�!.������a4�(�f��$�K��c4�)�f�g�05`��M��(
,O�������D�P���%�4)7��B�iP�s`I:����qx�ij����K�v3
�����lR&��L�%1&��4��h�	�Y0����R�>��X����750"��
�a��n"�m������p9,���u��b�):�B�&�'���;�QVu�����r��"d���s�l�K��M��p�>���k��d��)y;M,����b�2(h�~&tN�^�^��85��_�4�1P~������_��s�c�B'���	�9�i�am�6��u4i ,����)��m8������*&N�fX8���	��q�>�6O�\���p��tNo�q�E�;M_02HuX)���Z�����Y��F��?�w�i8�S�^:�hnO��V�G�N2�{�8��M��W���r�|6����|�6oh�F��
d�"��rz�v�m���
����<��Wp��ey������C���"�,�J~B����9�#2R�V��E������n;��}��/��q�������i+�EZ;Ns?p�s[���s�C�zNs���h�����}JZb7N�6	���������q�l���]������=�u9������	���D��7��mB�8��=��%�"������d�m(�)�S�d�v���j;�����S<Nins��R]d��G���ad��s{����������/f��n�x���m!y9�8��5?pz�#6�L��P��E�n'�;}���6\\a�ml�I��U�W�
$�g���y%O�����%�H)���K��87'* c<��m�0������N��+2�3�.Mr��M����:����6�YC'�n��k\W���6�������Y2CF��>��"}<o��<�,����a{W�O���m�#d-��cw�J��y����_���s{d�LQ�� p�����K��hs�������G��85'W� a<m��Dp��4-���c(g�H���m���gi�M�����j����6�Y��Ew��^�,���6!��I��n�\R�\���������&nOE����9:Y����Q��#Y<c�mB��3����X�t�&�"�<a���l�zn���g��;���i�V���F_���4m�	���e{PV5��q��R;�l
��xvv��W���1=,�J^�Q������=pn������6!x�	���B�����	�[?��`s����@G<cC7!k|���0�>l~����m������s�?��i����w�9�6LS'�dg^���%�d�&���g������=pnN,�W��`�������n��Iz]��lg��'kC�:�E�{M��E��b�����z	Y���n[w<W�mB0������M�S�uE�x��n�Ns'�hs��[Y�h���l�>��8=�L�[!k<��m�2�����=���Hq�F���"�<�C/p}n�'�t�\��
�C���I��j)/_^�����&���>\���e4������[���mH3'�h�g��C�z�'n� d�������-��.<s[���6\oe�aJ�"�<o[���v��~��L�|1����o��O�89_7X6�<�mBq�����~M^����
����l�`s��8�!�C�H(O��K��85_7�3�<��mB��s���w2�w�"�<�G���^�����+zEFy&�^B�����'�����gr�M�x�v�Ge=��?"c<�C�`O<s;���V;&��(���K��87��qI��7n��[(�O�v�p����`OlAY��I��(�+r���q�����^��$y�L��#$O<�C7!k|���8����H��s��N����6\���:�vHs'�d�NqG>Fq��m����r�&dm���0���W�q�'�<��mB0�������f����O���i"em�/}e��i3�@�3a2�%�Q�FNJd6-���l����&��8?\��=Mk�nN�N���4�2�6w�?�@E�`�J���I���m��C�0��m�	�0����H�Z�g�����[HS(�h�^S�����N�P�����5=pj����9���;L�-��n'�'����6\�zr�������<�,����s
�q�b�m���NH�t�H�?�
����&w<k;�
Ol�)�4���<������`���dt�d������*XX�l�n�Z�����M�U����8M���	��6;�M���s%x�<s�m���3��=���D�z���)�D�`s�gB�H)���M��87P����'NS���4�D�`���J)���{�����n���m�8��	�����������4�9M3����gJ�
������0yENy�47<S�m����'�h��3O��O�Z8;�! e<s��9�0���v�����3HO��+�i*cm����E���@��3!�gN�%dm��/�Y����i�x�4�`;\�����9��m8����b�x.3�i�Y��S���j����g3s:	m�a������'7�I^���qh�N3�hs���'��6B1xg���������@�����0;��b�D�����d;�<���b7{���x}n��Q��C+	���s���v{I��ds�����N�[��F������%������m�������������P�yh�[���	t�M�q�����`3����ngZzv/����y�}�{��~iv|*�:�8A�`�<�>�����v�	��?z	Y���8}��0i+2���e���2�p�`�l2�d_y�N��x������V��C�e�!�����`O,>���B��x�,<�>����#k�S�����$dM��C����>�iY}/����e�vn��_�����NN��s;s*��r8��iYm�R���s��;nv��[gAp�
v	�E�{-���6�g����������Ss������g��8�}��p%\�������)�8�������)f�#��
��!�EFg�����M��'D^a&Nq:\k�a�����
���Y9�DF'�p�E��<��Ur�|N�_
�81_v� 3w
�^E�mX�}����4
��q��paZX���P[M��
�u����t� ����Q�v�Jg�����=m!���%d����z�m�"�h�C�)�����)v '<��K�����h�Gz�'��=N*��'�8E;���h3�#~�H����$�Hj�I,�=����'���m���y���v��C�+����N��kXz�����>�1&�M�����,&MN��5,=�������$�X���"�,(M^B�������%w���Cj����4����G�����49������xTz����#�+�K�����8����i���A�`�y��W����,����%��+R�S����
<WH�G�5�+
L���]�����):����������:ng���n��� \����jd�$9���W�;��4�8�6�z����	�!"z	Y����L ��0�3'8�!t������
����t��Po��"���$����v��~�q�apmt��N��,���G�}:Rh�al
����������/�
|��B�N���hs���;�p�Q�
��W�q�2k{��4���Q+H�	N����c����k�����"�
�w�8������6Bp��~t����q ��'��<���yC�=�(�`��������+R���~�A���^O���"�<�G7!k|����^����<u����{�6��g����_���4/�5�U����'r���������bf'���Or��'9C������O5��9������&���X�&n
h��On>dM������r8rjE������f�y2s�[��1�I��&��Sdr���<�9��)�3���3�EJyR�~B���������(<�z�S
0���v��@�"$��AzENyN5���Y�3�X�C����'�H(O��I��85w���aS�G�R
#O�:��s{d�
y_R���!���+����m��A_0��!�<�C��5:pR�/t�7Z^ax7�s�vFL����hbC�I]��{�-����!
K�������2����/�8,�5?pz����oE����N2��#���s�?�r
I�y��6����v���v��)2��8t�������0c-O��t��n��0\��-Mn��7YM��a������F�g��^[w��D0:����N
�aN�����LnL��v����X]�|\W�l yEFy*�^���f^�| Y�v�D�H)���K��87����&2�3�1�|��3��vh�������+�3�������+:EBy�NB����9�W�����'q�������-�����E��2�M��gl��9=w��������t*t<}:�
��������.�tv�3������m���I�O����9pNIF�s�k��)�O���Sa������E�����0���`s������y^����s{�����x�-t��'6���m����F�-r�St��������y����?=�������<�=[��W�^�����]��������o#�p�[�

��B~Kg���_q�?0{�+.���QZ&��T�&��4B
&�+��nG��5���#�&�p�B~C��l����=�8B��r�&�'�MzW�������v������o�X�
8k!�!Gh��W����
�I�9B��r�&�+�MzW������@���v9Zh?�-�h��h�G�G�D�����-�E9ZX?������Q4�����hG��tp���{��)��TP�?���'A;D�ua�m4���������*��H����v#�T��b
��$�7koSs������n@~�M�q�����o��m�y�	�������@���>���+�_w��[_ ?G�:�y����7��w�'�u $�c�NO��v#}#�@^�h���y�_F���T[����?����G����c������~��������k�z���8,��u��I��
�t>|����������_\��On�f���\����x�������.u����}����/���p���o�����}��7�|�uw0�V��_\~�����v�������������{�*����������i�����������9��N3���D�����/7��|E��	�����v�kfw[P���/�n�>��.�����;����k��
{������u������~���?�yZ=�~~����D�����/�������m���w��������W����O��c��@�����d�W7/w�_���\m�o�Y���W�����������>|��/�l��{o\�y[Kx����������_��	���GL���gv������s�M!�d�V�5��1P _���2_/��Y��7����+Z�	�"�{��f����Vm�[/��'�'� ���GW����N���=W'�?��X��B�������f>����4os�X��:�����l�����g���!���@	���p+���;����2'�Vy�����[S;��������?�c5���"�7+��[�
�=+�{y1An|]�,��x��6�E�S�~��-t�6M���./Wp��{�/+��	x���G��&�w���O�o��O���/oF����Y{tO�gl�/w`���������mk���k��a�}
�y��x�����Y��:�M��>3����wZb���~_]r�,�����b&�>�,�:�L~��a��)���7��z�]/��
�3����T� fj�0��Q�D��CQ����)w��
�L���)F1S���+f"����b64:���~�����Y�����$�\")���d���:�RF~]��!'���?58I�~���FQ+e���/2����|������#>��p��jA/e��z�Fe�����-�@����U(P25`k���)��8J����#�q����+l"�����6��/l*�7��_���<����W6���1
���Tf�$l"���qA���}5�$a�+$��_�D�O���D���3Q�D�"������D4E�5b3v7"�
�����h*�����'��h���h�(����f���h��Ovq�Tp��c��'+.��B�Y�P4��f3Q4���%ms�>���k�#�&"o<�"l
�uh����Rz���� �������(� l
nq��$l"���:�M���d�B����Xy@aS��2��Myrona�_���>��m7xD����Y��$����e�1k��2�����XC�N,&)����3r1�/J�~����(���k���31���7������R���u��X�Gl(�2�'Gb���S;�"���d����ym|��l�/��t��.!��{5�LD��b�W�9�[Q�#{CN�rj���H��~��)��z�s"��{fE��YX#�O�����Yc,��(�PaBz�������Z%<���D6���nY6+#�T��Fq#����-�D�q���n�M��*o �
�g5����K�������)o��^��+Aj��;�����E��U��$j�O�	i�;!�!��eaS��X?�&��(	��[,�,	��[�_K�&�:�t6��[i#���e���x�M��m�hp�������Z%��	Bw� [���h������h���N�Ud�`������%�T��Z-������U�A4E�
I�������_*�����n
��<e;��=�A�^~��MF�����j��d�(l�={���� l����� l:�/�q��1j��&�>�'���i���]�"WX�"���aQ�4`���So;�Q��-��-����k�e\�4��Y#r����n����l�}��WF&�"�^E��R��cx+nI�E����	^�_�� 
���(�lo�)�C�C�������th������w�_E��
���u�*�7����:��R\Gv��*���G��M���W�^(o���TJ����G3��)���6�]����\/�c������Z%2�����t*L��k�udoa��l�V!����oe����W�N�_8Sw�Y����z�����y�	�S~������5`��Gq[�g����T^\�6��Bm���-������ud�DJ������(mj�pF�"�:�^�<w��<�O���(m
��=tCi�_1!H�l���p;���,��Z#"����<I6ed{�dSC���'�4#eSg�W��=?�NhQ65��X��~x#B��3&�Q6��L�5`�T�lj���[�..q��g���l�&�&"�K*��UF&��"��l�����i��y#B
��	,H��{������>:�]
�Z,��M�W�F<��3OH��)��;��������u�^���9i�J����������lM�����I�
oz�!_�b���F��%1Vp��� �
��sm��[��(��
;�����Ov����v������z��g���k�#Z�"�O��/�:�[�!?y�N��z������[ g,X�S����P�ul�Nv�$��B?�'�5�&��E.�wG��U�D�~������=�ud�,��l�S�H���[t���y�S�u��"�	�v����n4\���I:�����Eh��������n�v�y���'&d���[7N��{+�`kKR5�DM��j�{u�#Ta},
	�����ka��g�3������o��L��d�[�p�C�TR�����
��N���}�Nj��QB�;���J:)w4���|l���Z�"?�����P���zG�}��B��C���2�y��]�B�.A�[E�d`�#3���A�v���g�WX#�^�e� f2���Z�����P��n�v2������Ed�v_I�$�W{��m}�8wG�o/?^~0~2��l���Z��Mc��U�S�^�]���&z�{�(�����F*Jz��Z+\����z
�{��k�^Pt�{R�k=�=)����	O�{�W���8�� �������=BT��{\�4��jF��HZ�(J�l�O�����JrTXcc4�{,�k��@�Xs���>�eM���]�������"<t���A=��
7
�����]*����UG�.�Q��Ri���TJ�'�)I�k����I0/���a��<*�sJZ�uTB6/"W8�Z�u��0�K�'��Os#b&�(�V��e6*�w���(f���}Jb&��U�L&������@�dX����V��YDd��<(f2n��/����"h�!?��&�e���kL����.LtR�n�SuR�}���Nj�N��Ip}2l����Nj��r�q�b��p����y�GM��v/#Tp�EGQ���]"@	vK������������&��BU�m�ue��}���O�b���i���?��T�k=E�M������+�ke��j��9
�5g����f>��Y-B���E�1�r��
F�+��5/*�wZY��xQ9�
,���#UX_��
�;�A�-�9/(�z��e�
�}������?nP�5���Y�.]DX�03���E�N([��bV�L{t���
[��� f2�y�o3�n�GN��o�L�u/��|�iXq�Jv���Z%�����P���GT���4�qY%�;�%�
l����Jj���d�����k��TR�u�*�~�o�-�~t���JJ����(f��,raO�fe)���C�D�d`�8�2�
[E�L��7C��Z��D)�`�
}�5���N�V`��`��i�^)�p��Q�$\�f
I�$\��$�[�:k�<�Z%�����{D%e`k�*QI
�;��R�-T��
%��;Zq����2���UR&�����[�a/���M�%\�1�I%%�
��(�VU��ln�e��k�=I�lM����w��2+E)S�}�s��W�*�]�X��BB����)���,JYmX�2���pP�}��� e"�C"ok��^(���y\��_�,����E�a�r���/�r
�[�����h��-�RQ�����Zn�-i��8l�\�[�����2��\�]�zf���k��?��99����E���ECe`"h2��."h�7���qI�4X_�m�-	����M�[��
���i4�~Jh4�}so��v�����<�e��1I�J�'?��L#Z)��_��{KuT`��d*�S+�G��kQ��MB���R��\�Z��:7����;���_���
�S��wY�"�n�3�?	��4��L�.����L6���������o�E!��xI�4Xc�b&��5�L������\C�d\��a���Bu�w"Z����O����N��5��UN:�{d��'���E�m�����>��	|
�7�Sa�	r\�'���>���)��]�����2\�wYy"�>���D�$���y#@����#VT`��{����e���et
	�P���,�Qa� (�8W��
�&?C�4ue�}Fy	B�v��"�oVY��c��j���(q]`��2�GwI�\�i*+�v�N%�a��%%�h�������R��3�����BH���P�uo-V�~������E��PF�L��m+��W�H�l�w�H�v��9��� e��@F�5��RV�����BQ�$�7������[��C�}�WC����+��5�>�~�2%���������=���|b����f6t�\��L�{.�p^PL
���H����
����O������y��]5e`���l������;��m�wY�"��O���&#[?�T�$d�A�T�4d��
f6
��v�����&�Zk7���<X��������B��0��&;v�J�&WX�,�J	�O2%�:��v��NAESF��bk��bl�
��Lm�$�2nQ�������e\���hj��Z�u��)�
J�Js4`�H#H[x�%&2���D��l�I�
��l�m�
�v��D�.r6���PQ�d\�^2��
�{ ��k!M�&�Ot���Bk��;�-�n�Y����m5����5i��p�b�����2�o[����wk�-����l�*����l{vT�5d�j��(��oo���"�����\%���7~�z�sM���?
$C�w��y �����6��ZF�=�r��ME�n��!��35�sY�Tdgr��������$n
�����r?Fq���S�����M>y�&���Z����Z�qA�l;�h��J�UBD�~�k���E�*�!{�P�����j��-t�\UT�5����k=#�h�>�T�n/N!�*�-�ehO���Y�mx��42�}u2�6
�[��#��y��'��.r�6
�+mF�������%�����I�4\���_��L"r �P�B�(7�����b���Pq�����"j�PQB>���	=��L�TC���F�zZ9���[�n-����M�e\��2���k>��T�uV�����[�k��C�5`gmd����>;I�MB���;8!l�=�k#Ud�0:�o�
�8[[6#nQ�4\�4��k@Q�4\��?�qD_6	��?D�d`��N���Z�����k�9�#bV�1��}���
����RA��QD��{v��*�uRg��Zo+Q�B<jI�^��W�iXT�G�`���`�������O�<W��Z*���A���]�>�qD\{��:'#[��:W�����w]�~�����w���[�:��6[�5!���{�Z@�������
��u7�$�Q��w�I��u�E�~��	�Q�B�����T��:�!�N����9bl�Jp���b[�q�2 �qu����w�4	�j�������2	���A��>�xD\���T�dd��QT�dd�7*~�{>!~�sBF��z'�U\������A(}2����Dj<�7���;:���K��#vEMMZ'7�^~D��E9,���j� RB���S���;�k���c��j�������tT�5/�A�p�:��7cr�:*������j<xk ����]��'I��;�����Y(#��?�D�Td�B��P��\�7��e9������G���y��z�M�p�[�(����r~, ������������t
3�8������a���/�����o.y��3�.z��\�u������v}���n�!�~��=�~
�=�n���_��E\�����P��/s`�J�__c�n�;N�\z��"��
	W����.����$�Z�5o�em�������k�s���#�"�6Rn�
%`����l��b�M�h����h������V�C$E�90/�DE�p����h2�sP4�����l
��_&E����o��X���Q��������2���D/e����	�����R~x�)"�K�Y��p`�z�R��d~D��P?�#@��*�������95������i"n����lY�*#��VEv�ZQEM�-�"U5jI������Z�o��)��q�EM��-y��}������F?C�����K	�J("WX�(����T05d�^V��)#[+0�`�O�Zm�iB-
����L�����g���/�L�k{����qy�B�s�[)�;Ll���zM����6�Q�����{>!j2r1*Ml���8a�*�3�Uy0Ol��A��?Nm�Lx7�U�+��m�D��I�of�8�<�l���m�9�,bV)�T��C�(SC���u�� �8!�u�S�)�����(��Zc����D1��p�K*R�)s`^�2����B�����21-W_9���U���q�`����t�
l��,�p�>���O*#'I�p�U�EI3�%M���c7J��k��
%MBuL�@����M~��@[!����]�H��Q��]�)�V		��uot�"��(V�gZ��!����~�����%�����S���xq�G��~����cH�����Q����Q2��k�ma������P�����Zc	�[�X8��V�rHX9I��[,(J���<F[���4��(��5�
��
���k�B��v')���u�
�|�=-�z�BTO	�>�M��.0Q���D=��'��.rRO	�]���:wW80/\��P�u�����0�h��]�S&����p�	��� w�}��q��4����"��ilD>��EN�'����E�.�8��_�~�T�G����kD����cQ�v�)"{�&|�7a_�=.B�7�����7��.�^~��=TX�-�:��E�:������"�'���3 #[���g@Cv���l8w�T���C����d����dH�5�&��:����Kfp�
�����@����{�bh����j�"�&"o���lP�����������T6�����)l
����M�-�OT6�<{���z����e�(lJO�� l
�y�2��n�x�iq�J4("?�(]���rLESCv
X�O�f]�$���sn9��:GBE�'senM	��?�A���w����pL�/w�_*��������6�����<���K37���Eg������[���L�)���g��pR�u�K.�>�SG7	�j? �M�-�W\7���I�/�h�������$����E�:���b����PB~�q�����e������PC������+�Q4�~��%�'�Ic(��{g]��DS�5oB�)�?�V~�p�����9�F�}1�IRa����S*T�dd��
6#�	a3�Q6���W�����	���I�O�	
6	��PQ�d\��@6�����\#��������V�-��>[�v�A��UbL�����b������XA��K/C�-�*�s��Z^vP�b��a��k>��X�������E9Q��aQ�E��
;�+���|�������A�"�����J�����LE�ns;���r@�$�	Ei�q���I�$�-�t��Xy(J���wBE���A,����s��i�N��F�(�lJ�5�������^����9����!��g+��\����l�tS���l����n���#\�2�M��-KTq�!�����s�F���v���Yv#���_��&!?��09!l2�Ka3��	a�����{�~�(l�s>E�5/�Aa�q����i���7 l����O�k�[+���F)jwI��Ze�PD~5�GDSD~�Q�� [wR!�� [���������(�"���x�(�*�3�Vp���(��{g�_M��
*/�c7����
����s���U]�Y���F�+"?�7����!��k��'tMF.3Q�5	��|hQ�d\k��tM�����{�o�����z�������(o���F6O{�TmJ�����.�����������|�����_^�������yN��oV��\��������P�+,�q���"�=V��,!��&��,�`�u����\|�K{d(��!�#��Z�f	�j.ZM�,���=�\t��Mi�H�v��z�v�N��6s�W���������P��p_�u�T&d�b�yB&dd�����d���8����B������k�T�0N�������D�h_���8	�1YA��f����H�u�	���� �	k�1���)N�p�K?0N1��GFu�������;���0�"?5G��*�-;���*��x�PB�<@G��.KSq�
��|�
���
��c�����O�D	"�����X(�k��A�q���0�(�o�E
���
��e"�W8+d���n��H�U"��9��$!?�O�9!@2���!�TD\�Ql
���
���k�P|4\��@��<5�����H����J� RQ������PH���_;*�[y;�B!��?R�p���L�HE�5�r�b!�n�
:�_E�m��9�����{LE!�B�"���T$�W���8�������L�+jf��GB��_
*k2���'dMC�n��������%M~n�����	�}���j�J��L��g�cw���J ��YG�@$��U�T"$�k�� ��|���X�W�|$��##nQ&�g�H�:Hg�;~�nM��>Y�-�>�c���H�5��D��
�4]����Fid�Q���d^i�$Hc�8>Q� ��h\��2��GFu�F���u	��<X�-1R�n��?����HE{|������+V\S��p����S�����'f��	��Y�"��H
�����BK�5�1���%�)�{-����-Z����8E��������I"h�(E~2�S�������)D`������[�t���E�y5���#���OM���
����|��B�b�����8Gq�zA����Ta�Y>Q�{BD��	���D��:&�!*a�1("lq|�(��{WO�XpP�H����4q���xD�5�C�N]��o.?\~�\�$�6���Y(�N�$��yK��_��QH�����{����l�dPk�4�V��"��������"��,�4�#���5�K����]X�$"��q�tA�����������G�$�>:�0��S�G
��._
�V��t`�����)�7)-�:��@d^�����%
��M���u@)��������t~�����o2���A��'@h��D��b�R�K$`��h).�	���
6N�F�uU�V�e�-J�Z\�Q� �|�J��:8Z��O�6G(��0����E(LR��w�&�9J{@+��]���\5N�wd����.0��H������
XDX����"����u��k`s�_���:v��c<r�c[D�'s�1�P�����Z'B����4B���s4Ba};�h$8$hQo�>��7"�c�~��|�@�����j�c�b�����iX�w	H���w�D@"���+��D�}6���]#�^��
+������E�u,SyPp�{���O������Vi�3C]�@�,R���Cd�G�W��E)�����b�G�5�����j]�g�D^��5��&	����%I"��Bf�$P�M(\rW�o����Sy6U�y!��_nq�O��="	��~���ZHC�@���C�)�j_�S�8�����yP��^�EQ	�F3Z��W����=�0�Q:�x�r	�Oi�:��x��m��������T�M��j\����!���i��	UFudM�
�X�*#vU�;KTF�T��Y�^G~r��r0�K
����qOK"�u���G��Aoe.
��=�h
���5������� ���p@i@�'�i���HB��?�������o��Ho�!�V	?$�G��}�8p��X�9�#?2��,
��TGu��9���b_J����:)���c���������t[���]�b%��akU�g�d\�Nq�(V�m���z�S`�/*�k^�� �Z��I� �~��'],0=��uc��Uc�H7��?�X�u.)��c����/?�E�6�`+,(�`�SFd��I������8�Y�����Y���:����E�a����������k=�Q"��t�D)��B���)�>�K��k�Sy�+������FDQ����A���gmQ��5/�Fya�g�'yq+���>6�f�j���EL?K%���N`"��u'T�<"p
�Q���:�<"�?S`��#���|t*���b�:o���%�o�!;�<��T�J����$2p��]
�<����[�/�$F��<H���^9%y���<�
���z��:���{�5�AC�P�2�R��30�@�&����O(�
���(���H��+�k��F�a���eX�6��<ua���8\~�0�,����o�9�4��R}+����N���#��N(��uE���)IQ'l�E�a���'�P���-�����K�E�u,L�  W�����	�a:��UZW$A;'�$�:!�x�6�����'�L�������I�$e
�s�����c1p��l^��b��`�f*��)��U���p?���Vxp�ZQ�w)��`���'�A6n�@�A.�s_��f�8(48��`��2��[�v2���*l�"!�P_#�����(���5�.��@��$��Z�=��h��Q
�:u�Qu4X����:2���5��)�kN���.2��=��!��k?�,������*G������K���h^�J�A���PiP��95���u�H�k�AiPHp0"�:vE���:�^q��D���I��=�i82����Bh�pD�O�R��?�OS���w������
5G�u�6�I�l��|��:"���{�c�	���w]R��;|:N�RB+���������A.���A���?�EiP`�P�$8��n����M�0(��<E���94~�q%a����>�ce�����$�
k�$X�.
�u�&�^+�=����	e�
���H���)�c�,*�y-ou�+��4S�-VE�z���n!?�g�h1g$#����u�}_�(�}��^	��G3�	�����,���$�W��u&��4��7��`��� 
�y�M����Kz5d��0�,#�k���0H����	�J "���TE�8"p����TN�#��(*���8��|tvQqXs5*�j>� )��i�Y�#_��������!�K�������|-�{�����8r#��p+��h��<E�5�����7��^a�F�5��J�����n$���d����������
endstream
endobj
8
0
obj
19740
endobj
9
0
obj
[
]
endobj
14
0
obj
<<
/Type
/Page
/Parent
1
0
R
/MediaBox
[
0
0
595
842
]
/Contents
15
0
R
/Resources
16
0
R
/Annots
18
0
R
/Group
<<
/S
/Transparency
/CS
/DeviceRGB
>>
>>
endobj
15
0
obj
<<
/Filter
/FlateDecode
/Length
17
0
R
>>
stream
x��]��,�m�G�����?�~�v�����m-���/<z� �F��}�Fy��.��n�V�a����$c�?�������w���k�?����?�W�C�~����>���:�+BX�������P}���4!��-�f����/a���������h�������Os��>��Y�9�n��i�44}7�����.��SXv��?�������/����������]?H����LF�.NL�>�����>�����R�+����b�<1/�g���.(�v���S;�T7U�����o�-�����k��5��J�8R+hk���y�.��[�G�W�Xu��^vm����	]����86m�&���O��:����:T��Zj����~���i�O���z�����{J>�P)���>��S;������fZ~�0�
iW�A�L�K^w�����A3C�vm���zX������_��P��������7����i(�S&t���>���P
so��r��z���wA2�n��Q3LnB������F��O��f�7�f��5���_�y����>Q����1�%N�-����Om�Vu���'I1y%J�+��%$���� ^��6�������4�}�)Mij���
�#v���z��ZRLn��JSLn����n��Hb/�-)&�Li�)&/!�|���SMi�����*�j���j.S{�~��p���]}6AQK^��ZSK^���V^��a�v����T� ;'�%�d���t>hr�]j��M������/���	��Fq<���4��z�C���^�����I2�eRE2���O�����*�]�dr��6�dv�����V�`l�$oWf�U,o�`��5���_��
��]@��$Hf�Lj�I&/t}jk���%f�k�I2�eR[M2�	I��&�(��!��NS�v��>hJS{�^h��,��V��%�d�A����!v��
�c�^�K6�	I��&��!�"U�Sb<�����5����L�����2m�����M~����~cw��M��}�Y�{�2�	I������{P�x��$��N�6[�<�t�`!�r|���$���9
�c�B��v�ka(:�c�d����>hv�-�_�2g:�����T�<.��z����c���I;�mv�_����7�K~�N�����t<hb��L��c�uZ����N�q��iG���2[g�tb�n��*Mrj+��'���� {���T'v�&$���C�$brq�G�N�6[pt"w�[����?&X����Sb���j�hj+��3Ln�QrK6�	I������q<Q$�A'v�-(u"w�����6m�$�1yeNu^�^���N����b�}�W�G���\_eHq��i���f3�mU�t.����+�c���k������&�L��������VN)�e�E
d���n�#|H�4'���0*��mAm�ijS���*�zS�r���������pz��d�~d6����������1��jr�V������nT~S�[��V�������l���z�����1�����5���;)����I�g��Ns�u��4���u�K��n�'�m�in�Ns��2��^/&�/��i�C���v�K�.�k�(��m�uo��O��v�U�|��L*��-w�������������|��*���8�j�����6]�-O���)U	Ut�_����57�4����"|H�4'��7JU5��Ry�nf�O��v�g�
�S������8�1B[x��)���A���I���fcAm���f��6�&�J�t}j7*���m\�~�[�c�+�9jr���m�N�!�d��2��f�'7��������0�=�=i��I3Lx�>���|MD�2x ��+1J^��s#���Rq4��	��+�<���=hn��$;�T����O�f4��K�Ei�;�c*+M��h*S{PYL����� �$�%�dO�f2����&vg�Z3;������Sj���2K��I�45�N�R[����6	�[�\����'$������_w<������fv[�-�Z�2���A��^�T�>5�N�v}H�.����������A�r|z���P��at�����^'K���S�i�\�������d�`���<�;�R'O�NM
�T4��L���u�����A�J�W�D-X;e&u��:U:�}nL��8�.{eBu��^B�����P�Ccw�5�C�	��:]��C.��r���|����/Fh��7~x�Zo�]:Yc!�z��������J3�\m�#�-���S��?�`�!2_:Yc����	����b�#��	�'�����t>hr�Q���Cq���c*����]��~�_�9�Y{%;N`���^a]gg[P�^�R������=hnh5%)Rf5%3�S��Su��O�V�3�\�B�-�c.u�������_�,zm���QrK^�K������:hV�ZK��:e�l�,U�����e3�u�Q<L�UK�-��%�D'9%;N[���Ncv��4��Y�/;%6�)�<m��<hfvv��e���;k�������v���R����B�p
Ru�C��N���nw�N�R;���v\�;,��\�b����������A��S�&5����-������f����J�i,�&&L�o���F�k[9e�S^�Q0{eBu��^B��������B8Ip����w:Y;���k�^�����U��a�t��N��t�v���UmW~����x
�k��F�p�%$]��������f]�������N-*�r�^���aXt�����������Sz����Ngr����3������X�Lgr�-8u�v��Lo��d�^����L���=���`k�|��r������ 8�L�����AS���g�IN��E2<�Tn�#�=���S��?v�H�����;��>N����;����S9����%$]���a�IT�������t&���_*����]��F���,+��	��{%;N����^����A��'A�N��KH�47;�1����q��ot���`��������&p�2r���4����PFh+�B�2�7A0y%��P����Np,,��i����t���`*������,n����w_L^�k:�b/t}jk�W�������U*����d���CF������9%;Ni���N�<��f�.�5�/y%�g6��M
��������������r��o����-����LT�����������q��A~��6����Z���������^|�~������I~K~�F�w7�/������9�o�/�����N����~'����~'���d����n���4�-��(X6���m���-��L�i�W��U�5�\��'{Cz�z���z��������^���a������������?������_����N�T��M�%fi�06�M���i���o��������_����?����o^��C�_����&�am]U��>���=���6\~�{��b��n\/���g?�})����v��u�U3��h��S����1��}�{�w3p���
�n���z����/���[�m�G~t���0k�P�#��q��a���������U+��Z��W)���^�@��/^�8���G�2���<6��Z1?_/������Rjm^-�,�������"[��V4�}w^�;y�=���Y8����i��|�Xe��.�Z���6�h���w?7k��m}6u5u��!�S" ��7�H���_J7��v*p]��M2`X������g���� ����>3b�!U��l�m�K�d�T�^=J��@���iv�@my�x�>�q�-�knR ����[��=<����ZC)��0�7���8�����;S���e���5g\�����>��nQ���:�z����
='���0�Ro �K)��Bo2��h���>���Z�H��U�Xo�_o��5�1�6�I>��Ir#�_�)w��]���(vy������^!����X������},�iE����
�nm+����d(H��~1�"H��[V����9X��(c5�?e�@O	Qpk��B(~8���I�(���`Pc���`�&Hm��}�h���������Cm�K�O���(�fk�E��L�D���t/e?�+%9`���]`��n��4d`���������"�1����l}�#�{]�C�����P(�q�b�
�0���7s��w������z���?��kB���&yN��Z���HlM~�F�Z\��L{�k�
�������FfZ��C7��rq���Be�����I�����0�7	��}�Jq���y�+�!l��H2D+�,������.,����!k���%�#�-�����g�������?������>G���������'�Bm�(AXc �a����Lk��������a��H�	klE��������dw�2�7Y�`O�h0��q�H(����F"J���u-�X�*)F��N�8������������b�9���9������������ �e<�������fr��e3$CX���AX����3p���Vuc��/��3����'K���yp�k�{H����E�����O�}��`T�("��R9Xo|I0�da��}�/�i.��������Ny���)a\�6�i8��;i��vN!�s"�Vk�N
..
�B�2�^!��_���Y�2�����7#�fm\\Q��
����cKBKI�:M�^�I\�6��s�I-���	F���gR+ ��~��q������y.iy�������I��{��5o����M
3��O'lr������0�V5Z�+�@�3��Lk�����U��{}x���y���d`�{�w!����!�����w!���=7�:��^�����U)+�-�x��XPa�'�H��������6�"�g<X�z�,�����`������&���OF��LF����y�( �-����&W�y�� �9a
^�z��1�������<�&�����o�e���M��`��X�2$��cm:�p�L�_��� �w�L[��X�a���6F�b�Gs=T*F�z�)$��|�&)�5�+���'w�
��H12������o��<�K�����W�����h�6O����������������N�[� �oB�y��U)���6��������fh��>87�CX�y\6���b��������^G�.`���&�2�7r��
#�P���g�c���9sr����'cDp����&���\��
���U��;W�d(&���
�ZQ �C)(�:�����aU�����'�����9/zN��i�w�=�_s����5���AP�A��&�Q�ym$k}��M!?�1J����������L*n�.�>���������� ���a�
[�	k�8j��g9G�w�>������M�[r,����E��I-zN����g�B� �u�Hj���Q� lq�Aq�`���J�<7�vs �NC���2u�_��A�a2��j����������v�h�[�+���	I!��?���&6�@`������[�k�C(h����"�O�-��u�@h.#��w�8 d����$R�W���
B;'��)�n����,����,��M�|�Ui0�s&	`>���4�=�db�,b�'�E� ;�4�%d����;s�1�$!�%�u/:��������Q�5 ��A���X ���2���C�H���={���e8q��H���a��?��=',���Z���-�Xz(�o98��}3�VA�A�Q	$���qT`�t��P�T�@N�J2��W>���o��ua:s�0G%���-�x��QI����T��)��] ��[�����{3\���V�`O<�!���!@Q& ���O���q��{r�z�R ���:k�d(�Z�%����`��{I�L�%�<y�aX�;�~�\����,*N��*�~��u�>w�E{�C�!�}7�W0��l�����D�Z
�y��W1 �ym+Ff4#�n�����Z�A����/�����a�q�mqj��B>�������������<3S��	���sV
A�R�A��'��!\������W:���|d�NlQ:!���{�;�KS����y��o�����~��:�u�pj��,F���u�R�G���+�{���������?��u�8�`������`�g#Ea���W��0@�C�����g�|&����8��`���-�,�����`?��* ��d����W
U�[T�d���X�+���@X�+Iu2,�U������:3��>q)p3��B��.jC���������H��cZj���s��}�l�������J��a��h�
��r~��k��6`\kj%"��=��s�B!�S"�Q^�V��0pqY9�����w��/����9��{&(�}������y�k�5+d����<�p���y:�����a���<pE8p���v��p$�\<[�(
���p��{�w�8�'{��`����a�/�8@��C���X���q�5�}����N�������<'��K"�������#���#�(e��i�b����fV�����G�+0���Q��#�Bp��2�k��6i���"�`_�[n�0`��	�ea�;K.vI��1�.9Xg��a�9`I��y����,����[��v�����K��%�>���#���C0�	'U����#�������'�b>�Z����9�}��-@X���zB����0��q�+R��&�|�}�R
~=c�n��fa�K��Y�E�O�{����_���`�U�b�@��cna�C��� \{�#����z�zN0���+R��d���v��>�52j�-����z_�����cV8z�3@����T���P���'�#���8�7Y �`��%�E��R�W(�����`>%��!��F�O��;��5��g]�KR���{J4p�%�WL�|?����H
endstream
endobj
17
0
obj
7035
endobj
18
0
obj
[
]
endobj
12
0
obj
<<
/CA
1.0
/ca
1.0
>>
endobj
7
0
obj
<<
/Font
<<
/Font0
10
0
R
/Font1
11
0
R
/Font3
13
0
R
>>
/Pattern
<<
>>
/XObject
<<
>>
/ExtGState
<<
/Alpha2
12
0
R
>>
/ProcSet
[
/PDF
/Text
/ImageB
/ImageC
/ImageI
]
>>
endobj
16
0
obj
<<
/Font
<<
/Font1
11
0
R
/Font3
13
0
R
>>
/Pattern
<<
>>
/XObject
<<
>>
/ExtGState
<<
>>
/ProcSet
[
/PDF
/Text
/ImageB
/ImageC
/ImageI
]
>>
endobj
10
0
obj
<<
/Type
/Font
/Subtype
/Type0
/BaseFont
/MUFUZY+Arial-ItalicMT
/Encoding
/Identity-H
/DescendantFonts
[
19
0
R
]
/ToUnicode
20
0
R
>>
endobj
11
0
obj
<<
/Type
/Font
/Subtype
/Type0
/BaseFont
/MUFUZY+ArialMT
/Encoding
/Identity-H
/DescendantFonts
[
23
0
R
]
/ToUnicode
24
0
R
>>
endobj
13
0
obj
<<
/Type
/Font
/Subtype
/Type0
/BaseFont
/MUFUZY+Arial-BoldMT
/Encoding
/Identity-H
/DescendantFonts
[
27
0
R
]
/ToUnicode
28
0
R
>>
endobj
20
0
obj
<<
/Filter
/FlateDecode
/Length
31
0
R
>>
stream
x�]��n�0E��
/�E8@	Y�RUb��J����b,c�}���K ���;�8�����&�n�
x�i�L��$�zmH����o�r�$A�,���6�H��&o!9y����[�#��S�������nfk�`�iJ8�
�`�$���&Q��U�k������}�@Y������
	N�H���i�'`��|���C�������E�C�IS���X)��NH�@:F:�
�tF*96����)V�f��%v�[J�0h���m[O����?[��^�m�rv.l7�h\��Pm�v�v��*>�\��h
endstream
endobj
22
0
obj
<<
/Filter
/FlateDecode
/Length
32
0
R
>>
stream
x��}y`SU��s����I��m��&i�R��"��B��
��-R);���,�,*��n��l��
Rpe��wtp������$��m��{���h��>g������<�������D�	�y��$�%w)
�gM�q���H��4��E���_����Q��S'������D��qO�T�.����2������p�M"�������0�9y�h�5���1n���,�%��S��3k��Y�G�g!��H����)U�!��)����i���.4S�'�'��A�s��Zj����"�i"-���}���5��nb{h.-��H?���h4��L�����I�qz��b��R<���n����R
��9�_:*�������)�*h=*}Mo1������z)����"�q�Q"��Bc0��0�g������'/h$z^D7�z�����|�U:�������d���ih5���;1�S�����c�%��6��.SG�F}���c6O���6}L��Ql2���Y�"O���=s:u����Q�@W�������o������dB����zb������,���l���g#�4����5^�����?�"��[,m��J���������OT���W�S���F���!x��\�g��Khfu-����u�w�F�F�R���*�O���fc]Y/V�&���B�0������+��������O����$W�����+!
��
�
�������+��t����h��$�|-�Dw�����=@����98g����,�e�N���b6�
g��6�-b+��l=�������y�=���>c����������<������S�*��?����������;�c�
�A����fJ9Ri�4F�)-�IK������������r�|��M~D~Y�R�A�*7*�(�++��:���a�Tu�����I�pm��T�Z[�=j"��� ���������1t/������v��w�a�>v+�I.�.���M��?�2d�y��/��-�D�~v����\�o1�|�D�����|�lg����l���,���-�Q��}�m��z#5�f�=�I���X�������z��:����; ����/�;�X9]�}���(���l�������g��y4Yu�r���H���y!/�l*/e���>a��'|
�+i�<Ey�����e*�����d�����Ghv��4H:Jc����/r?
�3�n�q�9�aW�S���B.���R��_�R_�#��'��
��G���rv�^�\O������]J��A.�.�����7T�?'�
Maw�)��Wb����������LHec?�yM�n3c�WAs
�K���1+��b�KCx&M�}4��$�:�����S'�wy���@����/����GI�nE]��R�� ���)�cNv�/��qg�wHKMq%'%:��v[l��b6i��Ue�_��j�s�r������C��V
A���m�4�<�����6-�������)���|O��|���ib���"}C���<i�i9���"���O�kj�'�<���S�T6T�y���~�~�,���bE��T0�7kK���O�����)�
��**�)�
1���]9nbp�����4��� ?��M����o��7�P?����/��x������]����mr���D��qcj���:�G��V��p������jW��M��T��yDv��U������k��ZW�g�^�]���
]�\tb b�b*�IM�U���K=A���o��K� �k�4b�wwjj`���Vz�\X����|u�*:�r���S��sk
�w9����e�G1���Z����\��G�����@��	�������I=h��h�O�]��X�iAs��5���\�T�>�����;���%�"%j��;I!-��h:�����\h���co#�� A/��rx@�>V���z��^�X���4������������@��.�D��hM�(Q�,Z�r{�������4����;�*�����������>��S��!�������{��ER��~�R��x�d�B��4������?�!��4D�(a������Zg�z�������.���-2�`O���^���^�	�sx�������SW��fM��S��a��&}�x���[��o�����l��h�~���`��:Lb*�	i��w����+�V�]��'v����9������B]�~Q�(�-�"�9�f����dT���o�����#?���Qf��1����e��a���+��Zi4pg����`5^����u�#�E���RL�"�9I�_���'\~������8��
n.�r�?�r^o�7.F2����P�'������&l�)���hS����\5�4�l��U�-&FSMv����-�q����85-���r����f�9�1?�uf�WQ��c����$�)�~��.������{�*/;���K�JKWu�����U�]��O���KK�g�����������([�x��.>V�����J9U��T���O\������}\�5umP�X���F����wn^��=\��Z����~�I���x�X$����,�bcd�9�,-S/���${s1���k%���Lm�c�)�l����@�Y���%df�l�B,U�������.��_����8NCW�#]�_<��
2��(>�w }�����Le�k|ia���l��Yp��#Z�`8����W�Ja�aEr����
R��M�J�)���/��c*tD�T�*���^�O��8[\��,#4����I�����Cj� au�9�z%V9b�����s=nwd��	��7�<������I6)�@5'��s3wHM�w 935���Z���:$�k�6�S������3���t�[�^c'��d�IL�_F�����	2�D�A0�TL�S���x%U�y:��9����&%%k99�L�':����$H�������5t��k?g����k���z���W��~���}y���;5<��3�]/�~�����}(����s)�������7!7��E���G\�tOL\���,�f�:���I���4WR�Yqg'$e%'G�(�n��Y�ho�J���5>�|]RZ������H�,C����v��LYY����a���6��<jl�~9B��������9�b��g��E�Hl/��Z��	���'��f[!Y�f�xQ�/��a>C���D��$%'%c��t�}R��kIo��2�V��<zp����u�c�;�Jt�:������`�����dv(S9p��e�_�z�._����������R�br����L!�!D6p�Bw*X��]�eIV�j&������x��W19�D�ep������5q�U�d^b
X�j:�����1��-	���cV�����P���u&�$�I����.P�+���K#[.��C�l�B�$%��"�]�O��6��>������o�����K������?������������lK������
dj���t�w�W���g�ssb%;eg�r�RB��kj���o�uZ,�IY�d�<"����X��%kr�=�%5��2
=jN���A��,�����n�����!e�.����q|R�����������;��ds��U��D��c��&D����>[U}�9���g�w��{M�:u��&���d_N��j��,.��<<��=��w>50�s��97y�����g��������~~�E��Y�w�����^����?�����<�<���z�=;.��5jV���C�^��}bw�m�KJ������q�L�����T��2�E�����&����qj������k''���L�w&f&`��R�,Iu'p�c�d���H�r�U-!�,.��j���w`���Cy��NuP:thb�1d�<;��		M�8�b�Bb��PK5Y���������P�TGx������p�gu`%����>�,o>I�@�^�E���P=�7�j�$�+a��P��X�xlS�Pj��wF��A�[�����m*���V��q������tR4�����n�b����s��=��o���^q��o�{>��\�:	��Fk�Ri�sJ�m��6c�b���8>&m��J�"�&Eu&9;���Z^kR�Y��V���t=���V-�������0�N��<ZN{-�6n�N�Q-D����
i=�8S�b �O@�	���1���dF ��jD%����6=�����<����d�������V&y��c�a�<�1f��5�OW�^}$�2��$�Nn�����1�x1���+�����iZLS��6-��L���/�]dS����y-��5���'�j)K�f}-U��c�:�1��6kv������l�1/8�c�3������e=�ux�O�~�ml�3b�`���b�e$���*c���l������P�|��$L`���68e���cO-|v��=���u��t����]3���i�����kO�>��^����l��~\zc���;�R��V=�2��~��f0�-�`��J�����y�����rA*�ho�3)R��o�"uU�L�-���������@t��9�0$d6RNK��[�)����w����o�7��S�/�c${���a�e�����;,��|��c��x��g�0���c~!*sf��"�S-����jXR�7�,U�	�z|�3S�e����l?+�iB��P������i�+��q�����za�w�����bV��	���{?x[I�l�R��rY'k��~��N��r���%*FN������&%�#Y����$)���6f�����K	��,�I�F	���<L\���DsRR-��yp
�����{������i��h����)��J	����O��%���K�4�QVO�Lpm64?|��"�{��fh�H�I�OnN��v��P��;�w���������\{���}��qu�0g����]��v���b���,Gc�w,7�l�Ve�HZez)N��-6-��~��X�*[ew�u�R��s�����11�X�36��-�u,8�;&�6����saly���/������ccg����M��@A*T�����>mv���#:;6�����~����\�?�{���HM�b�P�a>��r8�ni�0s��C��[inM�%D�P�$���Ozx�57{V�]���b��Iyc��_?��9=nm���\������#����c�f���Ya�r�������$�����A�=�
5/37Kns�y���!�nVR�L+�I�\�|2s��	����j��\���e����Q<��.���\X����&�;9�������l�^90�s�q��<�\��6r��9�R[/J������U�]��Ca�&G����izG#�;�[�o����E^\OF��'4����g��"�%I�����xo�{��_�)A����B�� �����M�O�t���������K�����;�,3�����|l���L3_#���(��T����@.���n�d�e<Q5YL���Z%0���Z�#���_�H�y�+(YZ`d�l6Y,�$�V.��$����!�p�H�8
��l1�4��*�{�Hbc����*�j�5i�<M�)���
��-7��+�3��8�Cjb0�h�B#9
S�7�za��`�e-�nqU:�M��"����Y_�T3a%Le��:a�f����k��4���y�;N�z��g_{w �����������D�n�:���tC�C�Q
�,S�+����Be���rH��KR�G��������� ������ql��^�T9����
���9a���+���"MB����C	re�,��%a
���a�"L�� ��>���\�v�nq
9���b���K�����j�w8�*����n���9���S���|�����3�,Y����F�.��l�:_5�LS�����VeR�����:�I��8���dG)����s{�Q�an���Kp:������n5�c�l5��!���&�J �i7��:��H����b����Z���7w�7qG^�9����xn�#A���6#,�a�'[��f��5�� �pl�<7yVc����� i��N�U��:������6�O�6qx��k�M^�����e�w��.�{��O���_�9M�ydv��K&NX:�����'j����������8��-0���!K���b-��T`X��]�>�e*�U�~Q�d���0���C0�/������d(�''kp��2�*bB(��`K*5�P ����K�B5��S�	�����1~<B��N�eM�@ ������P��y�
bXT��(���Q����������
�"7���9���|ok���-�%u��T^�v�9g���k�����*~����}��+�
=~�p�FZ���������&���f��9+��JZ�3C�s�N���q�Llp��6����$uq�I���5�.V����(���!����$mnf��V1<S�'
+��z��&8J����Z"\����O�����������|~���3{�_�����Qkgwg���v�~a_���>u��)lXr����o~������4�?�G^�1�Y���/��N�nWz&vwW����l����X"��G��pL���@�k![�������)����?����RM^���dQ��-=�}��n�5.�lfO*��M��M����9.��jC�:��:�L��B�R�����A�?|�_�M�a=��
��d��
��q��F����*#
B8T�.���R�3YC�'����������������pW\����/o�\0�oh�����U�����S��<�|HpE�>���}�np�+�](]>��L`�Y��|��&���&�n7�?����+�`��?[���4��KVn�G]X�����a#dG��9�'�Pl�E��
4��4vUxIT�0l���Y���o�
7t�~"�7bjl��&�IaS�l���Rqb�����G�%�rB���X@��T0���C�{�t�����wd�:��y��~���{�yvD�M����S��{���Li��8�V���*���FP�hU����������r�����*��dy3}=bdO�UJ���YrV���b�S�;AS�������y,_��fV�N?�R�Q ��N�<����������:u�$G� �%=��������|���D=�sNB��n9��q��d��ed���8��'���qZ��Q�����Q$B0�7�ij���]��,\���0�_��=G�&�����djA�U��k�Y��|9�nryUC����%)�f�_�g�m1
�j�v�I-�m�Co�����������J���������U��mw$�gv8����&Q�����q1����~:v`�c^������5�4������y�5��`�5+��0�3K�&��1�G�x�T�?s��!���
��qFX)�'[3���[�)J$H��o�eF��/tI]�.}]���wg�Z���Wv�����V���ik�rUh������<���2��9V(��bJ1o�>�=j�4�c���|M�u�
��N�~���R�Z�-�����R�Y��4n@�����qLJq&�^��NJ�Q19M]`ML�0�R���d5�����EI�MJ1)���$a������H�26ef���8�1
;\X�1�.
;�|��V�B�\�JJ����Zz<QC��|��8��
b�G�D�A���,+�8a �D��o��6G���>r�S��%r�Q\R,r>)���%�e.�{c���4���������u��~[����Q�e�.�)Y��a���Yq.y��������3�����l���!A��k�O�h�by_�	����h���;4��Y��?���_�i�|c�^�4��-���d��\L����RC��UL��C��)����V-��P6t/�oG�����t!0�nv�wk�~��W<�s�lr�L�F��)G�p1�c���^-�8�P��W&�@��x������e���#���z��#�,�!��V5�!�O��+�<�q���D���R���3G�c.�e��h'��]��#t>;��P_�t1��g��K��/��q��K��!���(����8����t����A�B�kx���7��2'�?2�_"<�K[}^�g��,k�R�����4C����*�H1�4s<)O�+M�?�q>���}��`.U�wQ�t�z�n�z+}�r������W�N��� _��w��Y�H����s>�T��D�9Q>	�`l�n�����bG����7�f�/C�����������h3��|���d��c]��|��g��������D��bQr����E�0px<����` �7�o�(��W���MC> B��Z2�C�!c��a
�O�sn�W�%�N�~��L�!�b��g�2��|O��xN�����*����=��R������CP�����
y�R�c���bO���s�1�4��N3"��,J��h���"���i���94^��*�Wi"QP�����/s�_���$4�P��hCo�^g�*��k���������y��:,�N�s��1e'_j�A���	*���Z�����&#�����c>7�=�}���(E�n`�g���M�Y�6�*�U���TT"�����D�(��G�����%Mb�`^g�Z"l���"��o�J�|�Y����k+KQ���T���LT�����������
� ��a��
��_�"��h<���|�+���V����j+�m�a[����T�����~:N�H��x)���oK�����O�0���4:����L@]��������k�P��>CS�4^�������0��[l�%�W{�5jK�P�U��*]�d���"C��@�����T�Q��DZ��Sb{p6U�u�'��������=�^���E���#*�N�/���#�&J�:h��A?!����{/�g(��]j/���<�T����O��2���o���Q},���J�B{��>���M:}�<'�t7�Tg��Y�Z<K������e?���+�/#��i�C�/�Lu�a�)C�zG������w6}�%�L�u��3�<�9�^/�}+�������Y�TY�?#5�;j��#�w+���+A�b�����1�
�[�G��	���,�M�J���i��=-R>B��T.��>����?���JIE�h����/�g���[�F��Jc�O�KWI��"����K������QU�h�`s��_4���^��#%}��@^D+�?���b�f��)]��?���\�����j�4T�S��tu]��A9�����I{(h��L>���=E?-�;V��*�����T$��G���Af$q�r#��,�C�}(pP�}���{��h(������'�����Z�km����@H�b�H9g�k�8W�Oc����y��}���*����44�M�/�n+�k�U�u)t��}u�Y�i�y�����jA�BY/��~z��(�:�Am�d����4�*�4����Z��KQ��r�s�Q�@��|�����	���(L�Gx<�0��(��~��{��|�w?�������=����/�
���_��N��������}�Y[��_��z�mk����G�������G+[��63J��.���:�L�e��>6�Q�~@X/~!l�*��3B}]�,��r���I��qa��k��������?����HG����w�X�2��2|�9��+`7&��y�W�~�?if#>,/�G��6����%�����\>�%��i��Z�{.6v�(|��7��8vv��c<N3�s���T�tx��,��D -'�����xB=� ���@��1/�cqtO��7R1�&j7B^zq����b/��+>����_-2���i������i�o�>S���[��?�c{_�W���*�h+{����1��R}o��9{�@��m�������dt� �Z�%T����2�)��l���2|��@<b�R]�V�
L�X8m�O����gA��@o��������k�
�_aF� ����>��z���K[�$x�(����pO�����G�=�l`8���zx�:�}a/6|5�_���
�9�6�9��/ �p(|�\�#~�����ku��O�`�q�	�q�6�.�zG�2��+���>�z%��!���=(�_A=�G}3{�z@G~7����*?�/���d���������������[�Q=$�����,��_��K@/f����Olo����M��'��_~(��tk[���0�#�s�7�K�����
Z�(4�-"��m�rA������8~��o����s��9����������_u[���0���sV[�<�w�1�-P>��8��������#��_��e�/�G~	�nc���Hq@%�>�~�}�?��hs��+$|�������r/(|������}��	��N�v��`b)���q������A����G����D>&]������}&��a�7�(�h��/�c�Q���1�f7��~`$�G�8�z�.:|V=H@���t�U	����^�?�>*[�'S�r�Ni6�RPC�
��B���:j����^R7�����K���n�N}F?�>�Xd	�}7�_N��
_��>@���V���]��r��s�y3���"���OZ��Ug�g�7�.�\�{��q��I/��J�b�
�V�=���R_e�S��te	�3������3@j���m,1�3-��I!�A����=���|#
�o�a��<�3�\��Vg�����pB��
_k������>���y��������~F}�o�Sy
-��T��1l#|�}�y=���2�����:��J'
�x���_���$w�
#��*2���<qV`��G���|�?my�8G@,/����5Q?��Oa��-�ot>��~��?B�o�@�E�/�'��-���8������hw�u'����v������o���������)����

6Zy�t��7L��b�����������B��k�� ��Q��� <�b�/G�2����F�>���=������C�C�[�=Gb�-�B��l3���'�Z�jua�
m������c��k��XN�a�����.�R�r���g�z%;�.��F���T�c~��f�iH��h!�mi�s��:��?�6���Z��
-my��4�������������6~�U�K�@��wl��s�Hl�B#~y��Q>g�~gg�������������
j^iE?0��_��A+�����
8�����@]����N����Z��g��~��N�&�jE�������������`��0�c�O����@���)���G��.�t��Xp�v�����
D��c�/����9������(��������o������K��$B�n�������\���_�Y�;��)��~K�����$�p%���G���
�	�|���B�����o�����q"��5�h��w��T�J���d�����X't|D��3[�A��

=�m��}S����49���������I���g2*]�G�n��pT�AE�0���E�x�/�,O�aL��!�� ���?D�Q��^�@��;�T�W5�'R�$���6Gu����(�{����x?7�Wt���
�/`�oH�(�x���2�w	���q�0��`��/:������r�����a[D��N�G��x�
��@����rE_�E�;������Sq6�g�|M�E�����������q���������
���A��8-�g��~@;���#}�O�I7��C_�������8m�K�'�wJ)a�a��a� e�J����:������E��t�}@#?EN���k�N:����w�i5].u�\~��.�`,��)~�������h�v��.�>��D2���M<��U��|>��4���K|���o��C������<��e�?�c��|�_�Z@L��������(���aw�`g��<��3�2?>��`Z������i�����E�������'�� G�F��_�G��:<�*d{t]�TP��L�q�'������BY"��E]�}�
���t��o�F?���)��5�G����Wn���d��r��z�Jeu��������%�+~�1Dr�=�s��ok����\�������}A���<��k�<F?!�i�;�L�:�v!/l����_��o��N50>�j�!�E�������TH��|}&d�|������r�d�?�zH%��i.0rs�H���c�_��7`%�z&���>��9�"�3~~�k�������m�#���l���6�����,����z@�"��U��SNC}�[�����D�����F�+�k���3w��������[�O=�@�#f��������$4\��|�5�������������P�+d���?���QP���i%b�43�~�8/y����������=����s�F� ��a}C�o��-�wk�/->�x�����:N�L���n����2z������w���,�G�q�����x�C�������\`��n��!.���=�|hU��y)���>As<["�����O?���"J�8��&��z0��(-G�{��hG;���v���hG;���v���hG;���v���hG;���v���hG;���v������G�R�&�89��F��|0�$����c��
��K�M|G�#����5���1&���}��vz8�d���P`, ��������w�5H���]�	:hpW#����05��.E������"���k�p>��p>+�;�V���q��Z�W2:��������miLM�j?������������C��?���}��m4�W������W{����q=d\1������5�3�������+|����E ����#�9�,��n����uw7�MM�(�������
y.p����%y���7��]�H��5������(>�hb���m^K�&V�;o�����������w��q?��=F���w�v�T��jv�t7��n��&�	���'��q?���=�},o�{?Z�����n��jS^����w���N��/s_�1�.����	�it�hw��I�2�c�r��y�]����&�u�r�v�>�>�=���mt���Sxl��<����2�^*��b������j�wh��k��j��h�{i�������]����z��>[[��9M�&��f�1YL&�j�M�D&���j��_�t�ATY\e#���j��^�&N)� U���}Yu����	�{���Y��*��,_M��u{���4}D��_��]\����P���]X��RD��i����UM���4A�ko���������q�U�ri�\[�[��s����a��c�k5���#�]/��E����zdm����`W�������������fVV�g	RW�_�gW��R~E]]5��h�X�{X�3�A�����0��,��g�����%y�g��%y�i����A��(�h���A�v��*+v�|�g0�?+Xf4q����6�`���&n��&Ug�D�tni���Ibg���mb=�6��'��������&deX�.���7&L��z���{[�zE��_������T^�2��)5&��HD�^^���2�F��F�
��U�^Qe�n�����7���r�8}���y��!W����?s#��:���y#����G�����`���e]�eVke�~8\��e�P�Z���������C��P7+���s1t�����Wl��`��p
endstream
endobj
19
0
obj
<<
/Type
/Font
/Subtype
/CIDFontType2
/BaseFont
/MUFUZY+Arial-ItalicMT
/CIDSystemInfo
<<
/Registry
(Adobe)
/Ordering
(UCS)
/Supplement
0
>>
/FontDescriptor
21
0
R
/CIDToGIDMap
/Identity
/DW
556
/W
[
0
[
750
0
0
277
]
4
35
0
36
[
666
]
37
39
0
40
[
666
0
777
]
43
52
0
53
[
722
]
54
56
0
57
[
666
]
58
67
0
68
69
556
70
[
500
556
556
277
0
556
222
0
500
222
833
]
81
83
556
84
[
0
333
500
277
556
]
]
>>
endobj
21
0
obj
<<
/Type
/FontDescriptor
/FontName
/MUFUZY+Arial-ItalicMT
/Flags
68
/FontBBox
[
-517
-324
1358
997
]
/Ascent
728
/Descent
-207
/ItalicAngle
-12.0
/CapHeight
715
/StemV
80
/FontFile2
22
0
R
>>
endobj
24
0
obj
<<
/Filter
/FlateDecode
/Length
33
0
R
>>
stream
x�]Q�n� ���Cd��iR���}�n?����Tc���_�m����Y`7;7��5�g/~V->�=,���FcY^pmT�F���s,��v[L�fV�<{��%�������
���o��w��6�vu�&��&%�0�D��{�&�����q�}��(�6�@��c��aq���X-���~�C2��_\��F��X\"������QT2�\��L���fK��r��A��,�Ds"QE�c�dUIW�D�Dj"O����S'��S���t�.�Y���p���]r���:�
endstream
endobj
26
0
obj
<<
/Filter
/FlateDecode
/Length
34
0
R
>>
stream
x���	xE�ZU�������$7���
H#i��E		�D�MDEeQQ�
7PTD��A��u\F�edH�;��;$Q���������r�TUWuUW���!�b%K�@�)�7����<H�<f���f�~M�zH�������>��?�!�YC��93�M��������;m���oI0���,���1{��Ieg�A������_9e����2!k�A~�����x��K	y���3o������#��0!��K{I *=I"b���g�#n����#f_B��L��3��dy���V[�RO�HB�/��b����d��L.������T=)&a6��P�"r�K�4���,!+�7��
�$��2�\In�CSW���C�&��%W�9tij|�����M�q�G�c���I�L����7�_S#����~�!����h��R���G��"M]�:
#�"W�D2���,	O�F>�a�X�Oy,U���b��� ��^ZF�,ibjX� 	B������d������!�HmJ� RD����7h������fL�Y�@�������er�&��J�!u�4���[�O���0�'����_��-��S�����m��;��b:��c���aa�@�]�7�������M�]��	��O�g����R.X�<�y��@���q:��H����>l{�},�F|J��2��2��J�&��^�����t1]E������0��]���Z��0C�+�N�
���|�&i�t��y�����j�W�kj%��F7y�l9D�����c*Q;u�/N��Xz�n���G�f���^����;�==��d���X6�l����=���0���(��l!)�	B�p%�j��~;���Q����y�*�#="m���^�N��F��~������I���{��7���N��Q��LR���Y����m%oR�]��^t(��$:����`&����q>����a��B��1;Y���+c���]����l������iA��[���Z�&,����������S�Y��D��)f�ybR N�??�&J�I�d�<[^)7��P�)����(�Z�]���e����Iv�V�#a��O�Inc%b����z�D�
�P*�LW��i=�������prB���>�a��y�0:��&�X�i�_��B�9.>��<y���7�oe�N	+�>_:�I�5���!U���=�FC�8{R	T�;��4�d	��
s��d'�G���e-��p������ ����u>!7�Z�Wr�x5��N/#����|F��� ]!��
�)�a>ZO���]9����'�i��^���C�"�D�@xF��V&��.�3��'+���2r�4^�3��t�?��X�*f^Re"��]��{A\ ��0P�P��� !���>�"P�L���@��A��1��\&�(HB���/$RO��S��+Rw�� V��7�c�v���h���!�9��RvH������w�hvO������a�%�~�^�sd��2�T����u����\J�����@�FR�<�mK����~HF��LeR����� ����LV���u������i���aZ�L���a4���@����;�������,������k����:%;����$�������h$
�>�Gu����jQdI%E��k�uy5ub^b����OL����
j��P��m��x
�o[S��������ZKM��+HE��x�D��`�D��N5���MT�����0�^��NHgeA�x�����:Z�W���5�j�����m}}��:�m6;$���%�l��^�'X�_�m�X�0��h�o��H�/��N��7yj��Q���M����XTG�LI\ZG���I^������}��M|&�
�%���q���\Z�tLML�<q|�0�
��$���u�k���e���>�W���&������5��uF�o}7�UU�h�r����]��I2:��U���
�2�o�o����D?,����&z'f��UK]SG.�&k{4��I}D���k��Od�U�%�&��m��5^�#��#m�t,��z����r	��ubZ�=���15�����8��  ����8�d|��^�� k���j�WE�U�TX��u�>5k��X����\5_�=
H��m�d�D�U�'�D:i!5�o������B$��)����u,Z���9jL	s;��g1LV.�-
�2uKG���qri�v�'��X
�i4���������5	��z��j�������}�f����s{�~����Q�����1�v��69�~��{F���g����K�] ��-�13�Q'��?����T�Kh��Z3P�V�����F
����s��a��L����&�fx�5T��1�������w8�@@�d���x�:283�5�{ T��i0e}���^dd�TL3�U������?�5k�'��������Zzi"�&��a/����WcNCj�-iu��V�\��=�)��-AW������'������z�����>5�������{��h��a)b&�2��Kng^?m�F�R~W�<?��^f1�(����2�,cP&�e/�?�1}��oM=�%�:52�
l�������������=�j9C�b#V�:�����&x
!�F��bP4����(�a���5���;����pZ��vIz�g�+(j{D��HD�i�pn�gBy'���\{�y��$a$]�������@�
����U�*�hB8���>~��z
.��x�q�B��P!M=��r�U������t��F���t�Hf��x�L�1R�9�r2w&	��L��A�g�TazA&�����N��s..���A	.���I�
\H���fb���v+�
�XNd��l9��t�VV�'�J�����f���+���>Uz���<�wz��{��*���UM'<�����}�}i���_���������Eo{�=��2������L����b�aE���6G`��0�h���4*D�9����������x��.��\x�����m�����M}&z�F��t���n���{��a��+7�>�<����WT��a�Sz-����Ng��1�n^����f�f��?��Y�q����bB�8�������W��b���p9P	O�&��I'�I2>��z��'��"v���T���^������Y/�#j�0����R�^w�#m�(�b������$�b�~�����>ic|#��*��)������k���B���U�}�=�+�w�����������hq&!�]=N$~��8I��V-+Q��J�U�2�bX�OQkX�ez��x\x�c�B�|�M�C�8A��k� �Y���-�N�����p�d�\�4&�V���Q��*����>��D�Tt���S��=j^"[�����a���g����k������O=u�����M*������9�nss���o7}���oO��<���+�����3@u6�������_m�
	�����WAszJk�%�vv�E|F�V"KL�J����6>6�EBQ�4�>�WU �������W�������A�1)�SK�!�J�,>K�qI�����t��i�>��2��*Hee��z�q>I�)3�YV��u�^���_���{?.^ ^�kq�o�:	FY~�����{���3`���� �`��p�����J��Gu�}>y�i����o4��B*�/e ��BF�����N��6��=�9�-�g���� U��:����I$Y���]��XK����5����~>��^���2|�vx��i�k��������ao�3��y�y�s�>�9�e�+1e���1�U�����{��f���c�ci'��}��>����t5C��:�����
G3l�E�_�E��X��
�Y�1���6�M;Fx����w���6�Qm&���Q�4���	���J�c�H��������d���l	(��,���8�U�KV�'u~�h�mV}��EZ��*W����4��&� ��z��������@A�P�$�e%���gd�����,����o7����=������O�����g���bJ�
��M����5�C�|���-�oZ=�r����bh/I�w	a.�
���V��	k�x���Idh��
��;�f����bRg��G(��U������	���Q�,���WV������������dW\��t�s�t��<y�	/Wg���r^�_�\��9�q�M�����KT(�KqM�^z�b�I��ebx/�D"l�f�QJ0L��\b����Y��?)~e����"���YU1�*-U��y\l�Q���1x����U�����c{�M��� &��"��5�;
�Hr#���'��-b��(��q��N+ Y�:@���U(^|������{K��$���q��w�.����%C�^�����f���g}��E��N�z�����~!Eo
��������E�O�q�����/�>u���2~w[c�������J{An;��=��:�=����9�p.��U��*qq.��U���X���W�+.�E/�	�����2�Z�UW��������8���P�oD��M��H6���>q:_D� ���0�ST���s����FD��Wmb��[�lZzf��T6����o�yak��5��e'J��Ye�:7Cf�;��L�86�6�8������������Qo�D��P?U��POV�����S��A��nXnp��g����r��oi��r!�c� ��W�#�����wh�r����-������������I��_FK<%��G�PvO�r��]�7��I���~�y#����jQN�}�%=A2�Y������W;�H�c���B��q����B�4h8��0�����_�a��X�/v[)��P�m'N/��l�@��*������E�e��K���J�*`��� eP�t�r%���!�k�����{�������,V_�U�������P�4����|���~���r;A�h>����b.�[PcP��"}E�����LR�T������+B%��J���faS�������2��w������s�%��pi#^�+�>|�= ����tJJ@r�� �}��j ��d�Z����e�4$�W��������X�����<u{�i���w4R��[O���.U�������GT�?�i^8����^�c�G(Q�}@��B&����O�����e1�&%Z�(K�O��������-���8���L7���(����:�`��I�~�-��\[q�D��HS!��B�=	�����/��U}\�_����6B�*Z�o�o|�wL�V��L���N�/�\[aY{��V���qa�u�!���:�T�����x"��7<8��N�L�o����*�3E�Cv��S�kRVne��W9e��� ��O�F�W]W������\��s�
�\��M
]ZC���Y�m(�#
5���OC�c�I�����2�i2��;� �ZK)�9�����YAM�EK'�M<jw�k����3;�E�j�]0�Rv����7]}x����>t������}�m��mz��k���]�:�����M�i���������S/l~����[��o�V���������I�h��N*�?f��<P�tfT�:����D��6���n�|�Wd�$&T��.(�2�q�z�zn��������[Pa:�,����0��2d%����>Y������n�=����Y<�������g�{�~I_~c8��k"�5!� ���{H�t��\+a�w��l�/�������Ev����=�l�I��|��;����?S��F����p��$����<�����9�������91_� i�P�����v��������3-
88���
�n���n�����x5�`�ZxZ�	8�z�?1�y:p.>�6��������n>����(�E�M�o��e�8�ec!v�-\����{?�3��0�J�� ���������3��\O�,s��W9�
�B����J�2�r�J����=|�l�c�(�x�Q�x��H���d�����m5���0�H�.D3���R�^vI��f�d��I�wkq�5nJ�����Z�k��00a.`���*4���@���o���9��#hX��eS�q��'[�[���-�����!k�^��7����Y�������Q<�x&P����9��5��O�5~Y;{�����y��������������9h��e���q��BZ��fmx��
���P���)Bi��/�13��4i���gS���xb��[6��8�����7�J�#��\�kB�t>qY-�T�
��tL8o��kBW��$�ja��j���������@?ot�m��$���)N�a]���	�	<�����O�S��d�]��.������rG��z����l��q��'��r-���?r������Z�q���
����L�����]W��;�J{F�������������%��^��6zK���S���_?�����>|6(��0Uf�h-&���Yq9^�1�5	M�vI����zD��c�&�d�Q��������v�f�m7o�Q[{�������B`pr��|�k�����<��y�%��hj��j1MMM��������-Va/VV��Z0��zx�0�r&�#�s�
.�<����h��f�:K�����<������,�����7����W]��9���Zj���T]��I�w��5���>���]�\��dp�s1&�"�;��Y����3Z��YXX������pPa���p�sfaM�5����>��t�-���p��-�"���*�s��K� E��S���U�����Le�2�����r��h�8�h��*9�23���
<��?&=�K]TT�sJC]���I���:��]���]��R.��V��@�
�D�u�I��4����C��X����KFvs����8�e	`}m���".U���b
i:��o��&���IH	�\Q1�x�U�Q��������oL�������Uf���1�7���������z�4��]���5����:�m�����].6���f�'��.�\d5�7��
����Z->:�C��pv1��bN�����s���d�)W�L�s��C\�p.e���0���U>^e��*s�$w����]�+@[��������&�;���hX%yT�`���y�&F��Ts��.���<�*�[w�����^C6�`x%��;��t��JB��=��>?`����w/�%�V/�&�.|���Wo�ZC���B���rb��3g<��~���O��l���������x~����[�h�wZt����{��bj����5�8�j����M��^���h�Q������~�T�Y��23�c%���9��2����`H���jK�s��:xIt��r���+����8�
����u���'�e�2#q��]��,U�5i�{�4]z7�{���P.Qf$-&+����aS��M����\N�9��T�k��R���#�v�18`���������l7����K�Zc�6����z�F���)!^�"�N��*8�	�6D.c����h=A�LZIG���j�|C�����)'=��F�E����(�"�6����0����;���;
�Ir�
MF��(PfS[jEr��r=�\M������x���`,�|�je�t|�~��K����������t��y����H{���}����o������=���r���b,hd�s�8H�(��m��c||����WU�S~5��R�7u��FF�9�����]	�D;uN��'L��w����[����+��V�����	�����jB����M�������f���,�*��R����]��G����	\���W���7E������j`X���9A�����sc���M�t#ArZq��,\.g�����T�F[�i)�����=�����R
)�jX�v�T��qr�� ��`P,��-�I/��] ��B3�J�).l������������J�����/n�9W=�8 ��i=�������������X�>
���@��5-f�=�R�)R��iw�b[���}��_������en�,��z����n�+B��tj{��e[7��^��7�~�F�9���>����O[lc�3�Y������e����������Ti�u��&����t��~�������W�c\�33�QHC�(��N,��)���9��~���A��l���9���O��.��]u���+BGh#t~���N	��w��*�z�f��D��� WU{�
�U�g��R�.�<^	��QNyd�s�V|�����u�`����zgzB����������+�o��
}}�}�rH�PI)"��EP28�p��d�|�i�J��L$�td+I�����XZ�/�P95%+��������[
��h6�2@���.S�i���j�[7��S��)��U�|���+^{��G��f��u�?�����}}?j�!��2@��:�B�$��Z����Oj�+����%�T�.�Tz����H����bo�H���a�b��#�&{gG'�������J����Fk�s�B0�^�nP���i1�B��-�%�d#�J���b!d�(�l�s�&�9�>�1h����D�g�������9�3
v����R������A�
�V�S�����@�Q���Rs�u��%@��������"�W���p��j����&�X��@��b��gn��@E��
�)y�}n�l��bA��x�Jw�i���%{����E�����#�E�~n��b���w�(G�q7/~��=VO3A�:hA��?���{g��W������R�M�����#���-2'���A�SNK�Y���4F�N��,M�8�;f����DA&�G�����9�ib�'B|2C���������;��(�
����u�F4�����%~~���)�F~&E���������n�������iq%��#���$���6N&O�f8�:Y�Vp�;�<^���
�w\��\���m�*��^��M#��F�4Y�lM?�+�$�J�J�c�4��n�l�_���C'���za�C���k�����������k�N���<J�8/�����]��s�C����5=�^d��%�����������������N���^�^�C��m(R�eu�PY���?�_�1Yc:�T�dM�PS��������I|��	�@�V_�)\�q��+����&����5U����~�1�-(�-i�1���U�����s���!���PMhiH,�%ac��4qij��!.�1��K���1����!�C���A��i��Ok38�,p�\����)�S&'���}�C��)����t�KC?U�e����;����������E��lvG�E�P<'��c��������"���)��9j��G++��=sC�`H�%�u�t����#�y��[�����Yp����.�{�����k������y��/�����6�����:uB��[h���Q����gg�ph��B������@�]E��_F���{HX**�������~�^����Hi��qx��D�;&)~��a�\���\�B�GG�U+�V���F+
r��pq����������bn�[�XJO�m��B[�t����f&;��Gw�Qt(�VZ<ds��u�TP2?_j?_R?_|.��
�:���@�Y�<�tZqi��
IqZ����q�cx`��pk�m��}V�[z�-��
�(�^]N�d����i�i	A�\�2���I%�k<	_z9�YUC������v���|wg���&����}��M��tX
���)}R�0���W�_~E��6�5�|���=$L1}��_e~U�7��t�y EO@�&=����&����
�R�a���
e=�{�����������n��Y�ZOXb����.�>b}dMYm�V���	VY���{��Y�E���JD|D� ����G��(���a�����1��X~�/�h��E�(DSQ��C���q������D0����N��EF�77�K���������^����31����������vv`��2���3��}g��wZ=n|�t�y���8y�Up;�)����X�-e~|BOX��`���c�
W��W���J��;���V4�{%^����P"��$���D)W�ho�Z�������<!�����Z���J�g�X%�W�����H�[�����_(����6�$"�e�j�@�j��*�_QdAs%�_�l6Xn�Ba)%Y�3)�&6P�f�D��`�_�{c<��D��1g��h������%�2^�x!����J2X
�]��E��
	1 �B0&���x���$�p�=k����wU�\H�
w*Y=�88u���b����WI���a~�LQ-�
�_���!V�i].0k��)Q1�J?����E��VKzz,������=���,��	���d��]�S�����m�}�]-�u�s������i����H-� ���W��:�=������W��Uzl
R�C�(��,v�*@�t������7.���}��5/l��2�m�h�&`��(��0��Z���]�.gkI�F:����eQ��o�H\�����{���;J�t�����s�S���&�R�����$���	I���HK��$�^�1AW5�$�r`�=Bh#9��J��pN����;:Y���0Ou��7yH��!�����AQq�b�O�
.�M�����
;@�k2�>�C|�HQ[���3�nN_�L�����H�#�FL�����p�k��if�e&�f�g������	����f�j&�f�c&����L����6��,���G��KG�Sq���pZ�*���@�O�r"Qm�s���
�,7��r�y�G���0�x<����q�R�<��#��TmJ��ZF��j��k8w]M���t��;H�0�;H�VJ�6�����R��J3��i�Ca%	��v	.���0�Zc�E��E^�OD����a�5�����G:I�t)���@����B�#��n?���W��7
�7���s�t�@����~(��4�~_���I�^g�4�L���-����/C|�[V��jmcm������f����[v$&������S�.�)��=|����n�����|R��75���/Z4r�M����IA�M�I��c����3�	��OQOf�]������������]��,j*�6���2��er�e����Vt�[�vnK��-mo���\���y
l�mi;��!��Nv�u?�q�e�����?��0��"���'�lNxC�.��+	9�9
9���;U�������i[;s����
���y����C|���O7�Or�����9
������l�����,6�&�j�Gv�Q��kL�2t��(9a[<��b��W�_�q�j�/�8�I1������z}�|������z�����\���w���+��&���4�����4LE�
�b�8�-��*�e�L��T���,�S�x���'J����������l�Tu�wvpj�j����ba�4�v��ra�4�v���������������PN���8�(-](<�iD��m�0���Gd=����+'���B��*qEP�����!H+�1�d�vqrq9��PN�9��������@b�:x ��\Z~��h�
&Fx������ ]�*3>�iM	��d5�Y�m����c�h�XGK���J�ZE4W���c#�����w�M7��
^��-6��}���;V���|4����o:���4�:_��?����0�U�3�,�
/���hjG�|u�*V���,3���H����;}N|]��3�3mphpZ��b�����Y�Z�Luv�6�1�������73���f|O��	1�&ebO��8X�������=.!��:9s��+bD�$�D&�b$����6�Vc[j��,��q��S���a�����
���mgC�.�E�-��Vb�����%�����m8��6��f�T�m8���o�e��m��Z���'��t�o�y�[o��L}����|��j�Wm�y����g]��un��yb����\0[�L�wkF�Z�����3���tF�tp�kG^{�/hQ��p��C>����*��X*�G����l�X�����:�`�v�`�f-Xg������Xv�����~9��bI��yZ�\�3U=�1�V��p���?�8�V��w&
���<�N�WV����8�V��T`* /W<�kf��������K�b���{>�?��f^�[0�����6���hH=��;~-hu~XO��:.�'r�D�Ld��,3���%<����il��3.{Z�b�m��9O��.zQpZC�p�����CR������-�m���,���l������y���������r&���S��,H,�Y�s��A�����y��)�c��
v���,0-�l3�09f�x_�|�|)�|MM�4oF�K~��&F�y��)=����H���TFFD&E�FEdw$3re�����=�"�
=�]���U�Q����;S�2�5�������)�������Yz,���Y����|�����X'{f�Fs"�/\����(|X�"WG���8����U������wa�������n�`���v���B�������beL|���O��S
�|Y���5]����K�����C��	��=�O>�O���8�d����
�9n.��|��8��������x�W��Oj�����Hc��z��������y���*��\��ie����$~`7�VA�
$G�q��
�3Z~����/���^��
r�3�F�J�:�%��,W"�d'�K[-������F2�t�|�t�/�T.L.[���{�$�)�
�R��s����N���[w]p��2c;��t��W��}�u����u���(�c������s���xV0X��|���f���;��X��i}�O�s�Z6|�5����]�p����t�-����'<r�3([sR��B�~���mS�y������nCO�f��d���hU�6K#�P��FT�I�
t�`w��$�:��1���4�X�Y��(s���:E$`�lP��F��"+�Q+�nd��#���n�	������Y��Ct�u���^6��i�m��y����Q��'+�noS*5OI��
��F������M���["~0�����^^�|���;}��������=���������m�kXQ�/ �?��M����Dq;4*eq_�������K�>�c������������M�#���s�!t4���	q�%���<-��B\y�Z<�����1vB��
����)K�hc���Gqa��i����9�
��h**�a���K�p�-����[[?��VS�Z[��/a���#��V��X�&�ux�M�����=��*?TQn|V�U���d�b�-�\��F�OA��p�*�������,��!+v��P���%��P��v��F�v^���g�(���l�qk��F�����yV�
��?`EUF�����#�jKTY�Cl<o�	
��]�Uf��Fln.���hLUVzP ��v{�;;�����H��=�=��]���R��������`yT�Y��ZF{������b�Eb�Re����g����58�h�����p��'�{�1��kD=�����N�~n��)�L���lL&<�
�IR��i�eYP,V+�e�$
��n�h'u�����9��C��n����+Ss��O�U`�N��u~�C�Y���d����R� �
�l�{�l�A�5����<R^*r�����
,{L� ������HSuS4|\=��<�iuK����^u��U���j�+�r�{�e�*��_�R\jE���������v�o{z�#;T.`~{V��?�����r�+7�����<*��JK@\w��c�B>u�������N���i������=��`����{��iv4�AW5W��j%|�e��9��f�~�s>��E#wR+��@��W�^Cw����������hM��6�[����+�e��u���#ne�8}?>������Uf�w�}��������������:��xQVo�������n�n�2��{���70X���Ufzg�f��:��\��6��������w��>�f���s���/m���w6�?�S��t�>{,Mt�u/w�H��u��[^mlw���z�^"~�/�k�C��p{�vn6s���Sc�8�/�b
�r��B�7�1����y�$�>/�6����4��K��->[Z���1�!�t��5v��9VY�_�&�i.X/@��<VO����p<V��	��1I��z�iw'��C�\����GM�h���=�9�����h���`W�r[v�r���@�';Pn�)���6���I���=r������7���%���*�<y��y���'�3���7_~AN���J�/{J-�I�u��M�_�l�BV{��[{W�FZ.���������
+��&���^�0/��
�����W�
{Q���Z���r� ������P'�1l�e�u�z9����q]`��z]a���#=��"�<�����[���*����@)+��[�S�X|����,6[.e~
���e��d)	ol��$������t�Xu�[,�$?�4��=��vnpQ��\5���.��s��k��@�VBG�+I�$�#0�� �n��+��!q4���Mh�V����8���!-�S]��.�+�z������Y���g��s	�w�,�T����|5'
�17N��>��Vn����}���r��m�r���	8�\*�r"�,+@�n%Y��i��������f��N�"�yu�%�Y ��"�3jg>7�]��%�����G?�/D����v���t�J,�?�R���Sz5'}Trz��kUb���9�d���H��_�%�|�����qd<]E&�g�AH'���u�@��{�-��!@�8��Q6`2�h�C�=��1���|2��I�������{���t��!���	�,���������t�:��y����S��a��!���]g#mUn%�2�w���b�o���&�O���
�9`%�1p�!P��7�*�2YM_N=
�����UX����9+�~%����M���8d�n�,��� �.���Ho���|��w��c�)�c����$Xy�`k������� ��,\�0�$�����|�/#P����S�p�S�h����<�0�SM��d�p���{����{L���p���IG9�,���_�0<�sNS��������k��o�y����2X������~4�X����x��b�s\w:����:�<��i�`{xV�A�����Q�s+��G�E���Ng�������	����=�@��8�� mr���^�9��q����a��:�l4���d���Z����/H�0�m�����fL������7��HS-xO���1p�21����6�����&�Y��q^����O����v�<X $a��M&6��� ���5�� S6���2P��\*� }������}�n��\hi$%��# ;|�r����=���<B�9�+a��*IO���}Ez����?���6��#������O��-=
2������T
��N�	�+� nb(�������Yji�2��2!'�5�S�Hw��'rx��J'��[�����;t)Y����J�Lf��L�����&|>�9���
���%�����7h*����G
8�=�������\?��X��k�t}�B|�I�����}:��e{�u�w�Oa7����e�H�s(g���q��k��c������
c���}�����Rr���r}j��Mm��B��R�Ix�E-:u|����L]����G�2��g���������q||Vy+Y"��u�����A�Ow�Xs���������`"�	_B��P'
w�<�.���$���-!�/*�E0�Wx�T�X&]D��"]�� k�T\+|���*��@N!]���N����>y�����
�B�B���P���������M|.x{�E��q.��r�\�����#�Xr��Fe)�&)���x����@�(��w����V�lZ
2�p���:#<
���:����i�����w�+�2v�����!��w�F{�n�FL�~r-��n�@NB��@�r�����7C�LCn��f(���h������h�'/�v�c@;�� ��d5����aV��@�h4ft���o0`��L�1�Tr=���g��NH
u�q�)�#]�.���Q������M&��������u���`[b�!2���!� V@���
q�/l�{�������N�
�$��5�~B&���VB���3X��Q��AH:�v�����vcfC�����x1�f�0��q�c�������B;�#>���_�o�:n�n%Ol`��>�0r
������l���b�Nb�
��E��U���VF�X�~��Xo�
1�=p�k������\yk��R{��w���'S{���y��u�O�EZ� /!~e!��P�����4���$G ������_�V���~Gs=��[+Gl�������������7$��q��S<��MT�*�A�w����Os���.^�n��V�y�������ky��Lj
&������X	���-��^�Kp�����'&�Ba=�	h0��yy�G`90�(��h��uy{'�������_h�_F�!���n8��z���>���_�&�A�\x4��&n�����}�)K~�N;���K�����
�2������h@��vH%��G�>��7�,9[���1��e���;8!����?D���!=����bb�`��(�e�����?�GBN����?�`�������_|���-��~�i�<�� 9�xH�\��B�{��������O1�,S`�������cs=��5���5�*f���>��`����}���cbX��� �M5�M�@;mY����h`��q;�%�ob���~E��W�y�@���~>��7Z�Vz�<�������So��q}��&�����:��
�n����|:��M�f�����_�i����VG�tjW&��_*7�������~Mw��u�/���z��7��	�^�+����"��Kb�J�����6��������3�~r�=���L�D[�����������o��=�����9��@:�Q�`���@G����,gIW���+�w��l>x*������&��yU<���7`���s{�E����0g\����b����f�k�>$����~�8!���@;�Wq��,���w�,����y���m�m �G������ky��<���9�xc_��<��L������:4���A>��!%���T�����=x�C+��w��1����`'}����%c|
�����<��:��	�"N$}*E}�j,�_�c|�f�����yc����<l}�<l�J�[����{��MP��ryPN�����^E��3�?�eF[b��;��	��&���i�����t�w<��1���`��_�:������F�s�������q��d�p�}fL�	�o�K�������K�/�B�m��x�O������>\>�_���k&9������=��?�[\������G�?��a���;P�a��+�W�����r�n�	��r}�L
P	�������	d�9H��5x\-�(�����^�{�nc/0"�%cxL���`X,�q�q�?�5����n`>W�s�_�����N��=�p�#5�*�IEz�����#\	�K#����`XW7�I��d�=��C�"���7�W��RG`_B�;���<����\b����ir���`+{����e�V�t=
e�d�[����>8�~}�&SY����*�_;�6�P`�3@�x�-�i�qq{�r����(��(G��=@y���/���q�Ry^{�����q��s���f|C���/��K����<���cx{������	�����>������P�@}��!
�Ej����Q�^�S�����m�����
~uj�9h~pL?�a����`���m~N����g��}�����.�T�����w/��z��V���co��\������]�9H	B�L���A�NR�[���l���|�;��g�����dF
!��������\�j���py�	���]
d_�*;�y��F�e�4���E�
���}2�����I|�D�cd�x�+��x�[������Qn��!�L���J�'�{'��*[=�_T��?���O����ZO(���N�_z}#Y$]G���&��0�#d:��Ly)�n$M�V�M���[�#S�"(�B���$f]v�a2����w���B�P��_��p6	0���v����<7 U��L������""��D�t� R�X��*&��a�A>�!������������O�e��������|�y�����x�n��^��}-#���g�~�R��J��kL;���0b-1�}��ly��7��B#����}<i��1�}�F�%��U�����	2]^IFK�`^|d���U�0�g���������M�`m��~5����@�_�����9oBY�z�|�b���}��Z��������-��7�p����|��C���T�,����s{�H?���14�a<S�3{���]�g�y��>���d��n�E�|�
:��!��
���z�q��+�t�����:�����_b���s9��[��9�S)#��OcwF�-j��9����a�'�Sk�������`���gs�
����h�-�C��?2h���`���������R�D�1/�!��_�(�@���h�r���u}���_KG�Wt������[����-����|k�-&�R����h������3Z�l�o<�����u��z�7��`��31���v��>��?K����a^�x�U�B^��Y%a��4~^���O��V�M��q�F���S�:��H����2M�?%_�'~nG����{8�3��
��cI6�d3Q���E>�,�@����R�u:�(�I	�{��?{-��t-���?JK������t�/��8)���[�S�|����x�������C�gz��q��W���������G�3���I"�Wp��o&�Pg����37����{��N�����V���k�\
?���tt�?����}�/���d��?p����g�Y'���(�@��������4��+`���L��t��?|������a�n�*��.����i� �����e?�V����]d*��S�yz�#��2�J_�}Mz���OI�Bi���v�t��
X��3�X������������9�W� ��~A*�	�k�(��~����:��z������}rK������������>"�)��TI
�����!HK��o7����GRo��o��$`}��5$x~���i��5�}�r}���S����-2~~Z�5n�*}�M��������c`����9��q���q�C5�l��F�lh��"�3mH[�-MS��?�_���{l$���m/������1�[�?������k��K�E�v6���j�$�_���?��kg9~5�n������V�F�ze��%u�����	A$��������x{���H��8i��q-�����G| �z����Y�;O����B�5�k��6������8m)��e*�x��4�7SQ��WH	;�� z�AY����a��9�iVh�����J�]��Ap�^�2���,���P�����U���{K�A��c�I�/q��i�S�?��ml����=|g���������|��5`b��s�T6�Ru�y�JHTP��T��HE*"�J4�j�������]E�6�����&�����$���C����Tj���=Hh���0��=��3���������O<�396��9O�s��	[���������|��R����'�������l���4���~w���9&�Ls�����.�E�������*��k�;�����~�>r��g����s�����;��>�r��r���h����,��c�����=��?����Y���&�~s���Q��9zA����g��x������E��|�a��o�3n�1�%p�|�:����'���h���P�x~���)��^(����t�W4��%���{����p\��xB������������;�cD����#�{�h�R���Tl���D%���u"��<JT��NU�(0���hl��������u�-$���[����8
U��M�w��"jA��;
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�&~��n�
�1����j�}u�|��h
�j���%��s�\\����l�,Yo��Ze�pf������VJr8����4?�}�����ap�A�X�}`L�he��4
_d�6ig��^���Ahd@��V���>�#�D���eLX+N>�u/N�*����\���v~]���w���8:��q[��=��	^�����]X������iE��"T|'$��!/cd�	m&��k9���V��
���51�k����9��d~A(��3|�
������~jzA�/�(�Ag�0��
,��wim���0��A��������oQ-h]��q��oA��u�[�v#��:�����z��������j�O�-
H#X�5���Q\�5
�Bi�F��\���4z��VA
�H�HV?d�������4�s�'"��GM���+d�6�
v�XWa]%'�
�� }����Up��0h~9�b��R2�dD����e*F���_��U~A����������~�"SOH���A�"~
�u����D
�0������t�# ����V�����������)=���v#X�h
X�0,�>�/���c?������"���`	��~XB��
K������l��%D��D�?����F]���x�������r�=b��.Q�%kj�b����5�5��s�Z���������������� �tf��f�[���X���.�0k�Y/2+�����U�,�����<�z�T�R�"���~�g//G�������0y	d�ZNf��<�/tE���Y_�<�#��� �v��\�A#�F#�dx!A8�A���?"��4�.���Y�q�iG��gd�j��nk|K�r^.����o�vDg^?k�g���������S�f�g?���G������*��8��G����4{62"3���B�c�(����RB�/!�#�b��i�PR_�d�d`�1���Tg���_���4��w}����v�����>k\�k������)]������u?"�'��B�5���O�2������Z�k�
l0V!����'��Y�Q�h�p���4g���B�1kP���,��/3�J]�m�ssw�[�_r�����n�]�.u��z|���i�<����qy��<3���pP�����P��nF.i�����S��fN������uM,f��B�����u�i��f�=�����1��7�K���;����lw��:�;G����f���ft��.\�1@�x�T�9�����hwcIcaC��G���Yy�����c���b�:�Seq;$�LY<f���1�n�����P�����j^+���h<K����Lv~�17����#��w��;~�H�*����K���:7W�����OT5G����O�I	��(6����Ou��)�hT��Y��n�.��.]���K�=(]��q����t9(K���������O����4�,U����S��]����C�����f������7o�&��;^���TF�����Dw����h?u6�w�w�{���p}s��h<�������N����>������Z��]'�[DYu��:QVK�E�E���u�{�)����)>5����<�T��� ;o}y���A\������=����"j~d~DD��Q���F���//d'�Q>T6Q�wWb�4?u�� �w�hpG����f;�)��%��5�bv��
�n7B��&��'��NmNg�;��\j���[!�rs�������Z�����R,�g���k�?��q*h��m���1�k)1<$�����D�j�?v���	zwe�l[�f��IM2���l�^dH���K
endstream
endobj
23
0
obj
<<
/Type
/Font
/Subtype
/CIDFontType2
/BaseFont
/MUFUZY+ArialMT
/CIDSystemInfo
<<
/Registry
(Adobe)
/Ordering
(UCS)
/Supplement
0
>>
/FontDescriptor
25
0
R
/CIDToGIDMap
/Identity
/DW
556
/W
[
0
[
750
]
1
7
0
8
[
889
]
9
15
0
16
[
333
0
0
]
19
28
556
29
67
0
68
69
556
70
[
500
556
556
277
556
556
222
0
500
222
833
]
81
83
556
84
[
0
333
500
277
556
0
0
]
91
93
500
]
>>
endobj
25
0
obj
<<
/Type
/FontDescriptor
/FontName
/MUFUZY+ArialMT
/Flags
4
/FontBBox
[
-664
-324
2000
1005
]
/Ascent
728
/Descent
-210
/ItalicAngle
0
/CapHeight
716
/StemV
80
/FontFile2
26
0
R
>>
endobj
28
0
obj
<<
/Filter
/FlateDecode
/Length
35
0
R
>>
stream
x�}R�J�0��+�C���dD��V?�Mnk��!M�{�gt��9��{�M�cs�h�h�lg�������2�V�aT���J%����:Con�����a&uM�_\����V�=\���J�J�t�vl=nWc>`�hJ8����3��4A���������o��f�f�Y<��%,�`;=�S�8������UO��"���';U�{gC��i&y�!�_��,G��)dQ **�*�C$o"Y���>�?��?�%CYOQ&�e$c�uv����<q�Z����S�U����Mp��	���@
endstream
endobj
30
0
obj
<<
/Filter
/FlateDecode
/Length
36
0
R
>>
stream
x���	xTE�7~���5��%�Ng����@B�H$FHXM�H@@p#������&
n�������$�	��e\��AgT���WFq'}�_U��!���������?���S�����S���bDd�������?
~�]�l 2�3���K�������D��^p�3�nr|Ad?@�����S�:��K��/�g�L$�{��z!J93/�w������!�?����Oa+�WMY���K�\��8D]@t�1�4\6��_g~�%Z�$r�n�Ci[(M��4"�p�Y�a�'(����G��a�+����~�$��%��4�T�#�Amtyh<����C^�@#��2A����-����t3��=����!�&z��G�W�h��@�����jw���S
���KS�m�|�>�B����*�{���kQ_)�S���v�z�
�Z�A�c���2�v�6�2(�V������Q-=@�OA����L����,Yy����a6^�5<��F�D���*�F/37�64���>!#%Pw�ia��(��j�k��$j�1^���NR�&E��{�g(�gV��=m(4��v�v��(������h�3��@O�K�/��/��������Y��A�o�d��/V��>mz;�6R3��������}�<,�����u�+n�������.�M��A�����i7��������X5���f��=��/�w�Y�����f��������!��Y���@�P����[�}M�2'�f��X�b_p��U������(��u��ju�z��_}�p�a�i�)rbs���#�������;��?��C��@+���
���G
�A���9�<�2��`��G���k�3���O�+��l~�t-�����_���.���QJ�2@������f�����T��>j_�J=G�03��3�[
�
��K���
�OM���3���g������#M�]34i$q/����9x�z|��cRX&��~������bg�s�tv-[�nfw�����Q�c�&�=���8>�O����|
���=�%�6?����IJ�T�*#�s�I���<e�r$�N������|�|���%��|u�z��E���f8�p	~�7<eh5�f8a8a��c�1�x�q��C��4�TmZiz���������y�:|x2�`��=�v	�L%F�<��������%^��o�<YM����<����?�#W`�C���������-V���-����y&m�5Z����l���|"����m��������"6�����4v5+fK�M�U����T�����F�c��5�4:�~��J��t$r�jW��}j��1���!���/`�X�)�27@����zuXgK��aA.6�J��V��8X]D��:b��K�Id�z��O�X���UF[��f�X1AK�@\���J���bUW�94����[���
��+���
xd���lVD38J�E��D���X�g��8O��L�V���X.+�z8jX`Xk�f�ex���������Fm�b��k�}����dlDE��@���.���4��P�lw��!�H���k!�
X�O`m��8������$��|�oF=���d����kB�4X���9���yh/��n��jE��NC���W/��
6u}Gg�4�0���N��n*�e�P�y�0'
aY�����
��t*1��q��
���'��hH���+�Ngs���F����G��o0E
��e/����������
=�9	�LD��������:�d`q��~�}�������{��������?#=-5%���M�$�]NG��g��MF��pF��e�����j^���E<{
�tH��4��2�@�,8�d%gt*����d�@)�������4�s�� ��"�6>*��dx����C`�ofE ������\5�������:������!�P8)�a'K�d�'
;m''��
�dW'gW����aS������H�����+����=5L�C���,BCe3a���I6�%FC�;{�����IS���i����[V���6\A�[NZt��s����,��������U����cj:�f���Z�^�;�~�p4}�X9.������0[�&b$bT��M�&R�/�-�C�g���S��*Lc��lLI	�h�(eX`�����pYjv�����Z5����P �����v:]Q���w���c`z{���"T9�]�L�({$"8?���dcL��������(�O-WxfdV�2�~��4�.���\gv`�7
�>���)S�c��A�'����X8�{�*b�9E�x���4��
��G�������!��L1���C4���15�x���6R(?X��"�5��8A�,�����gC�w�p������7a�������������+��S��^�m���b����yz(�0�FI�z��*2Jyn{a����\�3J��V��2�����#������S�4�����c�K����^�O�tR����V)����+���j�����0@�V
�_U�jJ��tjv�����o�[V5��Mh��gujx�
��Lv������l���!�b�95-8�V��i���R�3y5-pUB2����X@���A��Yf������\U&�����d�9����fMs�4|z���o��
��Y�hj�e�2���&5�(�l4D��������|A���m����KG��R����[���t�����8PZO���V�&T���Y|�*e�6�b��TJ��*'�����������F9?����u}Ps9�W39�	zN�O�xC+v���������m3m�l�����<�U��M����5�;3�����X�G���a���-�W�K��,����3�iy��r�>�k�ZC�no�o���w�;�#��c3�V�����9����3���G��v���Tv48G�o���:V��u9M��,r9�$eMF����W8�x�����������z;�#��U{����E����]������������}�����D�y{�������,41d��_�Ws����G�d34��7[�l�k 3��Bv�~5��UUM��a[����������,+=^w��o�ef����r��)y�O�z�R���k�i9/]/��|_z���B���NiI}Y}�w�w �@�yh�������Vo�mS7���)�n,N��
M�b���$��(�<u����!uC���mi���nJw����/H�.}m����t1/^ObQ:w��BY���4YM�#j��5qfs4���l�-��mb�l���^/�F)~�A�B�����rKKG91�m�9�����9�.w	s�����P����*}htH�w��fg���u���v��_���&���&N
���j�fT��y�R�%�������9u�W�w1t�Q^6�%w@N�BxSP�hRm'�97}�d����53��O����w�?cT���gx�!�������egO8o��W�}��g���4��xu���QX+����N�py�K�����i|���a�g���������d����x�$�L��T�������6k3�	���,d����v�mf<��'�'�!�����?��^A� �B$������V����<������)���t�*����������}1��4�U�_�O���9G�f�.R!U����\����L��v1��
�Wj�����rF1���1g/�l��J�e���1#.��z��W�z�o,^���"?�e�3/�����?Rf�}f���^�6N���O�M��������� \�r���>����-����]d��f<jgF������#���[�����[7��h7�qv�lv{3{4���f��T�b���L!{��"{Yw�9���T��jvn�2��������I1�8�����{�Yl�\���8����-vv[]���D��]���'�^�|��p�T���t�(�~�{6E��
���g�\��]��������/v����`��U8q�w�wx�&����o����0�l��a���w���_�~7��v%�3]��en�#f�B
n���o
y����x���w8!�T��0x'���R�R��f~N����[�U(�u�G(_��[�xB�����<.�������2g�Sq��N�V���:�P�I,���R���,3��/d��F�!6��7Z����yJ*�\:��@B�]W�������hY��J]=IQ�%@���
	��"g����Yt��+������W����e���"�h��H�<�����_�����C~��;��������!����$��'B�.��o^n^������P�������'Z]�&�
\�E������^z�*3������aD���a�g�g�L!���e��h�����v0�����j>�%$�$����0�`���Rr}��9����Q#{��wL����e�3��������J����.7�����Z{�s���O��_}?�!��_[��v��1�g6�����_������7�9�j�Jv�������-Z}��%����~}��8���T�P���Ud�K�;Mha��-����q��Y3�X�b"\~��+���S�������=�8�L5�mf,��|�U��U
SR�p�l�J�N���&�Y�Q�:,6� ��D#�I�nw�������E�e:��z3�y~��H�3��_�tr�������Q0�c�tQ^��}�b^p���W�_M�|��uN%�z�� �p:�v�z�^Q��n���������!�C)�3�t��������3�&\�p�gy7u=�q=$������U�����������7b+k
9������i|SKK3��-��XA�Pw�������eYUY<Kpg������0x���)�������}�H�����.���@�h]P�M@������`����/�o�����Y�DRBR:���K�����>��~��H�__\v����U���G��OYX{�e�j/��$�����o���{��w�+�YW\�3�����&���>���\p���;-��x��x T3�U���������!����	�Q��X|�kW���eWk��(ab\�}�klB}�1���{g�{�<��	,�8���X����483X�B�N�8,�������87Eg�95�>���Un�N���S[��y���=���	X�`��W���X��YyL�2Q���9������u��G~b������_>�&?����/�����e���t�J������4��q%m��W�p�����H�S��:2,dsB3M)�4C�7���i#s����e�<<�����]�ws�-)������b��h�'z���n������|��1��F�SE�8yzNa_W/{N(��('��_��E�sN������+�w����N�!]MO���Q���k2Ci���P�_����f>�1�d�[{	gy�"[R�����'.�o�������o�h�~���B��RS��XQ=V����~=2''��XU����IJRr�Y��tfk������o���a���
��r�.x�-WJt[o�Ogsj�F#-��M45�h|��^���	b��xgiiit����n��&b�$e�u��f���e/�X_8F��r�����k��_��\���F>�s��������OgU�����YNqM�Y��9���}���v�������V�l>�q�9k*�ric�
���.�u+4�0�8g:D��p�a9(��i!7L]�����3R�{�q�u�w��6�;���:�>(��0��^�0,�V���-^�`
&�����8Y�2�)
,���+y88��X	�KN/���h[����s�����(~ &,V7������4C]-|�~8���+�,�%&x�~�58�^��L$��2ig�]4���?\w���
{����$�<�w'�n�=�j��}�}�~�^���L���q��k�3����W��H^����w>����m�����#��&L<�}�w���6�f:�]�-�)
�
�;V&ouo���w{-�RCS�}��)��g)�E�bO��a*Y!3�+�B(J!��~k��{�I&&RY&��E��Y��SRM����������QG���ag�����A��sTO���v��`4�{j�����W��z�E�3�'x|�����{������������I���|��1�L��%j�?U�AvJc��z3<��N�]���[
[�{-{��)f����g�[�2��ww��`}������{�wv{�#-1���w9�J|5QI���(�4>	��	������x�s3d�NN-b�����(�4�G�{G�/M���e���s����nhi���	m��3Q&�O�
5?cr����j�#��;�����u
�	!�]������)��2��I�	�%��em�t�F'P�-:�Bn�t	�+
�#������MA�'	n�X�hyfY�D��������C�R�h4^4��HV���v��`>P?����ab�������)7��&c�����|�,�y�(s�B��S���M�|���������������,y!����G��-:t�XG>(���7�K���*���W���g0�O�x���=n�+>�A�xl�N���qlr����DX����2��s0�N�{U<VK�2s������;�]�]�����=>!�{&�&o��{�NXlE����[����"#n�N���K>L>8�m|�9%�8�9t���OX`jMr�$��R�
%w��|n��������'���������dL�{'WF�����6�K�����Y	���9��!����b2x
9��5�e`�'x\����C�4]1Y�VO��Kg�3[B����Y�%E��y�r���6�x�����c>��y�j���Dv,�%&'��F��eAq�mE�[=&�R'�lI�+InI�R�` �jO�p���0� ����)��#���>��~�O`J?�8�a�Mm�x�-���Xy}�4��N���KC>SBR�9��f�YeE�"g���q�i0���L�v�-.����</����
�)k����������il�6v���cvu�����1la1��'
231:t�6�I�������O�a�uwU�y���V_���yv
�y��������#�c�X�)���]�w���Sw'�-��91a������a�����ly����w�[�O�?�;��_�6>k~�f�o^i������i�K"��&O�)�>�~i|&�d��[�Q9�M��>i��������S��&Y]B�;z��2y�����6��E^����w�X��K/���K/��g����"/|�����i[���u���[�xWG.V�c�Nxw��L���EJ��$�(�Bi�P��C�Ex
��������T3VnG���t���W��xG����c��/u��R��_xR[1b��f����Q:39��c����x�]�������������0��gL����/X����y?��6���	mG�����4m�#r9�R,��5�}��Y��8��|��������V���o�7�4/�U����/�0���
7Z���i)�4XTK��F7��^���>�V�N�c�?�K�&�Q����F1��]���K5^����0*�9TNW�?���������f9*��3��&��C/���=�����W��_T���>��"����N��'&�jt����\I�w�����v[O��3���{�-�/d~�����,c��t�mq��[�Zl���PNE�Y�����{���C��8o�qx���*���!Y���ny�������g��1��%�g�f����6�d�z��]��"qA��=W$^�����z����m_�nJ��wg��z�{�2����"o(�_����Q�3gV����sC����q$%��e��XA/������,p2g?8O����I�"�1�X�E���Y��6N���$(���~������yY^������Ym�46+�[feI\M�����6�=e�������SX��v�s��Jb����BY�+M�{���Y�����?������Sd<���Ev6 kx��[���z3���e��j��c��������z�1�m����"AC�)����_5S��Rv�)������%�(�Xh����c8�b����K
���*M
�/.J���Pn|�^G�_���	)!XoG
�N�R�>�9��$?��"z\����0�+~��O]��@��R��.st����n{��c+�F[	$������0�����]?NU9����$C��I�qAw���U�R���Iq�'qd��I�����7�G�sM��]H�cO�����6�;�{Z~ ���<��U�n\�w��7;#1m������z���}������?�#@�m��8-���Z�)9�|�7���	����S,&����vP���p�R���(�F���E�D��p^(�g��������V
u�)yI�	�e���������s�s�c ��#.iU.�;�V��a'�N��GkX�����:�K���|������j?�/�cp�<R�IBh8��we���?����uK�v�o�Ug-*��\s
KQ�E�_LK}�g�1����^=��#+!�5�2��<�BIg�.p�nP,�dc)/uU�J�'�$}!��%k�.����D2�+���s�^������133��%�n1�������(�AfF�=`�*�O{b�E��b���e#.���7N�z���������AU�����%���������~r���s�Y�=u�?K�[��T����'��d�AY�����GF�P'�����������F=����F��+���%70��N����	������J:�������\�[x�������~�( ���cP���m�c��G�����t:�"�v`
p�a"������*���
�#�;�~�q�C������
��t&�{!|�a�����	i�p��h�f�g�<�?W��E�'�����@������?���J�|#}0X
L�|����A8�����x�(eJ��������&9n��}L�����c��_G�Ob\G����}��5'a.U(����1��A|?
�\"b\�����y1���A�F}��mC?�����R����
4[9�9�E����}H'���r��b��b����
LG��J}�&��}�W?��U\��_��I�����=!V�z02��L����c��c#��!�S)�6�{t^i>���.&���C���2}x
xZ�!�g:d]�H����A�`?�N�P��2h���V�����B?�n^��:N�=:�V�k��O������\�QV�g��Y�^bu�:�R�/�z������VC+�}��B�bT�;�{��J���]�[r�w}�Q!�kb=�5���c����^����]���,���t��h\=��F���h��4�p��_�0�-�� U�[���
�wv�w��b�������[t���[<K}���#b/���2���5�'�@���4����a;�@�3�[����,���sVb���R��9��0_��M�i$:�VCt�!D�j+�����r�>�x���kQ��sZ�����H���F�������AGu���t��.�hL_;S�3���@����{�wu���88C�
�>��6X�W�h�~�D@o��g'=��I?M���3{���ro�:E?���/���q�F
;'��X����m��vx?����@��:��vd����������T��U^����6�.�^4��6`�=�����-�)��
9�}1���h�n���e���G'J;@�+��.�����b_�P��uy��k��t��!�E���h�:�F��.@���"?NY+���_���[A�&��D��m�L�g4O������|u%����j�\�q����b���S�K�A�?���1�V��I���$x����L�(��`|� x�oty�.e�*et��a�B�i|S�d8���j���2w�}��RL�%���t�9$�����_X�C�&�
�G�A�������5�9��C^"%>����VH�D�j�~��)Q��7^��C������c+��-�oa�>�X.���S�k?��0�A�m�������B��^L��3��>��>H��*����
��r����Q��EL8�@�(d|	��!
���R��:��|:��^p"����>��w7�+[������]��i�2zw{�BW�����+G�R�^�?�
V*�����?�j���4Mm�i����
�>C3�c8~�y�GUW#��=,��6����T(�:@�5���;��6�����/��+���O����?9NQ/�d��Q9��w 7J#c��l���o���vm�:�Ft����
�P��t/ho�����
�>�����u?
�$��I�.P�?<�������w�����c�PH%�lz���d�{�H�v�@�#�, ��1�z���������7t���l�K������OA9�:�16���@�b}������`~�H�o�>R�>�On��e��<vH���(�S��������W��N�] d�9�R�X����^������`*����>����BF�c�~oo�TOE��pu<���/�F'����@���M�=>�z���m�d�G�H��X����t�k����*x%�����w������a���)�3��f;���i1[�ke:���S���'`���<���9#�*�$�to���W}��Wh
Q�
���&:1v{��G�6�<�>���n��!���&�������_����(o�f���(�����O��?-�F�/���gAo������p�Z�"������`�?qp@?O��9��{����s��.=������;��>'����o��|��|�������Y�T�|��:�}~�����t�TWjm�)M���/+}n�?�T��oI��w��
�Y���w�+�y�{��Kg�s��Wl�`[y/�xu���P�y�k������k������^�����}������x:�2KlO���_��_�i�W������S�t���X����ud	t���S�������O�Gw������>�e0
�B�w��~ig?����������~G��N������~I,������E����:���X�C���;���C�u�����q	U�b�m���#=��sW6���Eb3��B�#T��c������j�{�v�_�;����7��e�������V���?��d��b.�S>0p;�K��:_�]yQ��+���a�����|�SQ��.�=��;`�S�;)C�k��w+����]|�f�|����d�s����4v~����j�g8>5.�=G�wkw��RR����K��G{D���h�a��&�)C>����OC��������������~J�W�r���p�|P���@���j��#��_����d~���M�����V�t���L�{Lit�z�b=��0�;�4Z'����
�G~��O�e�t���c����
�]-����n��<�}6�����o�z����q��_�������K�=���=��=���G�!����b�6�P�M�]��s_bmA.m���b��~G%��]�?�+<z�x���Y��*qgfXN>u��������g�w��:�J�S�>�K.RS/ �Cy'��|��L�b��f���sy6�������>�X[��>V��-��O{N�������n���S��U��[&�P�Bv
��:��go����RV�C���J�Q��m��B>���~pR������VB_w@w�E���o�8N>c���0�a���V�Q��Q����#
Q�
�����_�LX�6������d���\��|�����	��L{Y��:6w�i�~�G��!����E��8�����: ]<T���N��������tAs;COO��:�3�>�W�q�r������:�y��8U��������_eg ��?������H���~���������S8�>&�O�������r:�l�Q�q��f���r3��h~�8Kc?��6c~�hKK�����v�_��mK�F�F�����l���8�����h;�a�=�6���c��P��Az�[���$������%����a�i��mbl�~��{g����i�ey��6��d�����g�@/��x��U��fN$������"O��j���z��wF�F-�t#|8�a~����<	�/������I�`y���M��x�����hC>��+�g��>��&���F�����~`=�j���O�)����B7����=/�4��w�gd&Z`��n0D�B��_
������e�f�Eq1j��jM� �:�6�P�h�����Nq���g��s��w�;k�8��}FA]�����L^��\�^�����gd7&a]���&�������N�dyv�n��������S/�(1vv7��^�9���������Q�=������v�C<o����Jt�kb~T�������GP�wv�������N:[<��������$���gi��<�
��L���>B����P�P��g�Ps
LR���L3���_w8�m���������@a}}O���_��u�16�.�&�����/�fE�E��$n�2Z���*Z�M�*���;m�{�f��r�]�����g���~�o��M�a�N��<��L���A�8���Q_N�K���L����+�����t���5��u���_9��,��c�u�'���������;T��������N>�����_�����S�/�����f�i��~l|�^���ws~��p}�}e��#���;=�c�e���2=�3����7��&�/~�+��#%���6
m7��>���*L�J���u�W���{�:y>������A����	hV���+ �i�
�g'�a�T9���^������`��\�����~-�{L�1�`l�����9��^��tQ�
��S���������������Dk�������w�P��}�Q��c�0��|�f�����!����	�����O�n)����t���u����7Z��c���L�=���?���5���k�A�3���\(�H�������x�v�n�2-����w2�����m��y�f���i�t,�����M4^���8/�Sm�Iok���t��c]����<��#)���e |�C+�=��-����ZJ�����w$�	��K���C�/w�ow����/�=�A#�{I�)��;7��_�=�4�L�e�z�|gt���������{Jc�94F=$�����+����
�_������5��
�H�'�����3��;Q�N�BU@���2���#2�����<�E�$�a=�J*4xP�a����Q���jy�~5
%�6��_F��������C��O�
��
��qY�T=<y����]�+|��������(
���*X��1�k{��P����4;�����������U����_�{N�S��Tb��
�^���L�8���k�;��x�zB�Lg���}b�.��V��[��a��c��|��9��o����N�{�|��	�m{�#��Oc���\S=�1�_�>����)�]�K����;�4$��yT��q�
�w���w��n���(����\i��Y�r�x_K��F�u��z����i�@�w6��~��������������/���3���n������3��y^��S{Z������EX{����tYC����L��?�5�w�?�_�ME����~/�oy�>�����U��7t�=���]g�T��='��|�����w������i������]�qN�6�*avF� v��	;#�%�!��K"�`5��p5�GF���A�d�LF��Q�%m��mb�^)!�<�?������~�O�����Q�='�Q�M�v�h��a��Q��'�[��r���/��e��|�s���B�y�#:��?��@����F�E?w��F�����;�����E��s������MI���@��bncgz��y��������?���Q�l6N�;��k��N��E�E�g��Y���Vw��v��+�{��~�O<o��G��K�A������"�P�@��[@+p8x2����q���C-���#wS������>�N��q/. ~�@@</�E��A�������3����f^(Vk�����r� ?q���o#�a"�V"��(�X�	:<�@��D^�3��(|��S����gE���.t�]�B���.t�]�B���.t�]�B���.t�]�B���.t�]�B���.t�]�B��������hE_Q)�DF���|����R�������<L;d�;l
)7����fP�G�Fo��EkE��~2����K�)�i2�C���	"y{S��P�~��4�����h��S�/O[>����������S��N�([����Q����Q�Q��B�~��cy���ST���&�M4���JU��N`)�x0�l|o4@A�~��O\�_����w�[�{i	������E�����������P*w*�Q5�)���V���u`[G�+{��"�l��:Q~5:�Y�&7���x�W7%xE�ht�$���E�@��WX
)\NL��\J��W�f���:U�Fv��P��Y����x��H=�]�x��BI�TYl~c|�����{b�C�,�P�TjVL����^%$����'�����X���L1����T����b��Z�H�7Y��k�m�xs<��G�|����FTT�R�)i�E�EJ:%�W2$���G�A�i�K���Un�\7�J����j
n����[���
+7bn���m�XH�yJw*8d��%R�W!�
��
3�
3�
�Z�#e%rV�L���������P��F�Er��(���q��(RS�,��g�Fw�,�k���=�����E�!e^S��p�^��J�&_�`hh��>�$E��^1%O(i�L���������'�_�����-1��U�}E��u��(�Z������z�<���&��h#B����R������Be����tOc���f������h����g��z����R���[X����OS��+h�����@�����y�"�c�?
�����>���q���65��.�M��h4
�h#Ec���}�Q��RP�����nm���;��>������r+�����(��
Jn~c��dm�������kC��Pn�wh�R�[��`��
�6���F������w18�k��F�8\��1�qqZ��M2T��"|;�s��P_FUG��%�R�R����
�Z���aM���p4H�p4��
��A�>���G=8�%G=8��Q�z�!�[�z�Q
�jpT��ZrT���������G���#�8B�#�8B�I�8B�I�p�����(G��(G8
$Gp��p�G@r�G@r8���N���Np8%�S��|@p�!p�!�q��q�$�!p�!�p�r��O`9�`9 Y��X���d9�`9�}���,�K��
�V����U��J���08���#,9���#����#�����M���M�c86�c86I�MRq���?W��xj�5�����/e=$]B_H��Jz5���*�,��t����X���')��t����_�(��T����F`�`��W���e�S�i�i��)�a����;�U��������CF(O�viGaZ�&���_�D�]&Ce������O/
�����^�����v�d7�d�~S��P1G�YM��7�(��6����_$������(�
�~�6��@!���2�'�����*���L  � ����.s������?��"���|{��47v�y���T����n�+b�a����h�F�#Q�p�/��FH]c�> ����������u�N�a���m�OD�1�� ��ny�tO4��������\9�����@��%������gF�-�gU���/[X��Bq���[�_��s��N�Yy5��MY��z������r�(��a�N��>�����7�b���w���o��lF��{�l��m��o%�����z����������Ez��\�>�M�e5|�n5*�Q�6���m�]����w���	���h����		Pa��^�o��f�����+��t���4�4�4��m�2e��M���4��mf��l6�U37��#����?q=F�_�U������o�}�U13�3)��T��qCXe��|��;.��Y��6daaw%U��l6ic������zR�N�n�Ej��hf4���i"iYj�=��lMj1��lMm-���|e�������U���:���W��	oK�
���^[�f\������a-<^�����;���jCE-������(F�A1�
�b�'CD1�Q�\�Q.S���)O����e9��r;�U�d�\�����\�P���yy�Tv���R�&; ;�CV���Ho�,������L6���H�^�{���-��\�-��+���2���g�� k�;����g��6��^0�^:5��x���������t�����������}����gEv��������5;�
M�h��;,{JEmSYiM�Im�lo���W*+������%�\d����E[����P�lk�,���5;�4�v��Q����������!^g�`��-�2}�S����R\�6l��"�wy�r��u&������|�e��a[�,'�]�C(&Z�*���T�3��S#T%���s6W|d������?��I��cI����y���?�\�5?8��2�s\ex���dBS��H�KS���b���"3�N�y�9
� $���e����L\�5���~;��8��1_�����\q~����?Jq\�1%�-4�U��(
�z#�6wm����r7��TlD���H�o[ic�f�������Z������.�$�`mp.�����YL������:WV?/6!���z%��h��cl�u&�9_2E+����~� F����2
endstream
endobj
27
0
obj
<<
/Type
/Font
/Subtype
/CIDFontType2
/BaseFont
/MUFUZY+Arial-BoldMT
/CIDSystemInfo
<<
/Registry
(Adobe)
/Ordering
(UCS)
/Supplement
0
>>
/FontDescriptor
29
0
R
/CIDToGIDMap
/Identity
/DW
556
/W
[
0
[
750
]
1
15
0
16
[
333
0
0
]
19
28
556
29
67
0
68
[
556
610
556
0
556
333
0
610
]
76
80
0
81
83
610
84
[
0
389
556
333
610
]
]
>>
endobj
29
0
obj
<<
/Type
/FontDescriptor
/FontName
/MUFUZY+Arial-BoldMT
/Flags
4
/FontBBox
[
-627
-376
2000
1017
]
/Ascent
728
/Descent
-210
/ItalicAngle
0
/CapHeight
715
/StemV
80
/FontFile2
30
0
R
>>
endobj
31
0
obj
297
endobj
32
0
obj
13828
endobj
33
0
obj
287
endobj
34
0
obj
22282
endobj
35
0
obj
297
endobj
36
0
obj
17010
endobj
1
0
obj
<<
/Type
/Pages
/Kids
[
5
0
R
14
0
R
]
/Count
2
>>
endobj
xref
0 37
0000000002 65535 f 
0000084761 00000 n 
0000000000 00000 f 
0000000016 00000 n 
0000000142 00000 n 
0000000255 00000 n 
0000000420 00000 n 
0000027633 00000 n 
0000020234 00000 n 
0000020255 00000 n 
0000027975 00000 n 
0000028126 00000 n 
0000027595 00000 n 
0000028270 00000 n 
0000020274 00000 n 
0000020443 00000 n 
0000027818 00000 n 
0000027554 00000 n 
0000027575 00000 n 
0000042696 00000 n 
0000028419 00000 n 
0000043115 00000 n 
0000028792 00000 n 
0000066044 00000 n 
0000043323 00000 n 
0000066431 00000 n 
0000043686 00000 n 
0000084087 00000 n 
0000066628 00000 n 
0000084433 00000 n 
0000067001 00000 n 
0000084635 00000 n 
0000084655 00000 n 
0000084677 00000 n 
0000084697 00000 n 
0000084719 00000 n 
0000084739 00000 n 
trailer
<<
/Size
37
/Root
3
0
R
/Info
4
0
R
>>
startxref
84827
%%EOF
results.csvtext/csv; charset=UTF-8; name=results.csvDownload
size.pdfapplication/pdf; name=size.pdfDownload
%PDF-1.4
% ����
3
0
obj
<<
/Type
/Catalog
/Names
<<
>>
/PageLabels
<<
/Nums
[
0
<<
/S
/D
/St
1
>>
]
>>
/Outlines
2
0
R
/Pages
1
0
R
>>
endobj
4
0
obj
<<
/Creator
(��Google Sheets)
/Title
(��Untitled spreadsheet)
>>
endobj
5
0
obj
<<
/Type
/Page
/Parent
1
0
R
/MediaBox
[
0
0
595
842
]
/Contents
6
0
R
/Resources
7
0
R
/Annots
9
0
R
/Group
<<
/S
/Transparency
/CS
/DeviceRGB
>>
>>
endobj
6
0
obj
<<
/Filter
/FlateDecode
/Length
8
0
R
>>
stream
x��}[���q��%�'������l^�H��b�X�c@�C`#1�;���I��K�����	b���>��X�^���������to������u�������7��e:�D�x������H�%0�����q��������������L�<�<�3�?��2��_k�_��o~|���{Y�q��u��6��2?���6L��
o������qpM��k8������W����z�e����`���c\�o��1u�6w;������{�������9p����#�*C�l����rx��L���ew�\���<WC:��y ��A������s7������]m	��}>�������A5�=?�4�Cx����������L�z'�OkA�?YQ/�Y�#x�
�j�E���Jm>����4#�@Mj&!NxT������Qq2~���������V��}y�s]79<��p9<v�=�_��kdO(��;-"�����������p��g�mcb!��~%��RJ�,��-%��G�A��W7�w0����t�@��G�Wj���v�h��p����[��<���\T���
G��y��@��G_���
��"��)u���_{O��;�&y����L�)77�K1�;�����"�l����80o���IB�������V��	���3�G����(�M�P3�%��qq`���(<��j��A0jG�g>��O�&����a�������������I����+�u�+T���v?)x�E���<����FeB�C���<.�[����	�(c��k��rW�����p��7P7�$��T8�	��x��K,���1�qq`�i0��I	|����U4����y����8K����k�������\4LXx�IYw�
JCwvX�*���T44Y�����`6�����|��H��]N���k�u�/��6oz|\��O6�>^�:�80Bb��8I�/�(����G�q'�b�������i��
�3����9I.TJ�lV���}UDJ�9��/R
32�"t�������<�"���%w��{R�T�of������jK����|B4����������7��i��e����y��QS[T��7A�/L���K���E�+�9Eu��	e�J�UU���Y�R+��n
}'���$����dy���y��B����*n���"�ojUN����nl��9����`��[�r���_?��"����((���y�Ej��j����e'�x`���
�xZ���&u�h��Zm�K�\���'�3+�7=.�(a$��p��$Qz�rX�65;H����������CNx ��7�H���Ny�z;�Q9R]'��iQR�0U<>[NMB��\�B��:����	3�����x�f9�j�c������|�rH���Wj+�,���	WXh������
B�5?%�:(�SB��80�=8�N�tFo��W���^�%5uJz�2����xP����>Q�@����;�k�C�!����a��*]��{��		��������� �K�{oyt���p�cp��7�k9MO���V@�;)�W���[�.�[�$A�J}�4�d����������'����T!7�g�d���
Gj.��AIN����	��u*	%�(<b����`������7:HJ.����z�B�-\�����
h�$�o�[���g+Nv�B��g[�/$���*�������S(���z�}�&�W���b��_�a'p�:��_��{��{*J#�GOs���l]yfEJ��*u�� ���'4��z��0z��W�����k���?�S!��Zo'�A{<�x$[����D-���;��Oq>qb�7�0j�GO8����ibV}>�
!��I�oNH���R[���w���J����}QM����
�sA�N���rU���&<a�o�����sS1���I�NI}��������W�i�iC��U��;�M�P�*� �������(|b���4�a��*���3-\�?�Gw�,�8-���,��~���0�b����Wj��I�r
`x���������\���+�M�SS�n*
W}#A��
"��S5����Oo��8��N=� )z���������!7USA��xP��UHJ�U�7��/�(ej>�1���s���M��"��%�~P�������d�D`	��^�}����U�/��E�{S��
RF_�	�U9�� \tm����*��\�T.6�Nx��v����f��(���?�j�y��V����A��
b�����5�RU�A|���805�+�`��,�8-��J	kk�#\� �����Y�M�"���%��Wj+J��s�,rOY��\���\T�(z���5>��`�\�D�<[�|��
|h����80/9((G��LPz��X��l-�`}�-�l���am�z(��%F�h��,���6Y4XQ�T��dh�����_����.|�Z�cd�O��3q�����oY��U���\��&\��gA�?�Mi��{}���p��P��.�x;�%z0�.g��?H�^y�~{�Vw>��A�M0��A���H��L��	
q`jF1G��.�����6Y$rZ�H���'W>s�����6A��R���Jm�����ExB2�d�����"�����^�?���i|UN�*'17�	�|C]�a�`S~n*g0;�
���fN���^A	BHL���yq`�zv$!U�B|�I��wT�H��?�m�7���"���+���F0��<�WX��l��Jm���������}��e���rQH�E���^������j+������ysTu=�y�=�U����7��+w�o�j`����� �����s=m9���Y�����|����:��Ie�����`�������h�����mH�����Y����,2��f����V�+5�6([VU~�*W�7�
+}TuF`������D������A�Ml/�����7&{�7NPz�rY���D�8�����>h��0�5�����r^��}��B�G�_��R[���E����"�/��E� !;rk��ft2��^���
��yE�Q�W�> ����
��"D�W?�����L����f�e��+��oo�D�-��f�h�����
���:��|��&�'3��d6Q"�������;����&5�UV��48�������4^��j-~qf��8���Jm��,�6�	7�U�S~n*�<���JG��4A�/�{�QkS�Dx��������������g�sZ���AV�V����tB�Z|[�5#mP��-�%���������+�xY32�����\���1�����-^��}U^�*w�?���S>����T�<���3j���������{���5iUOA������aj�t��,�8-j��\�
�A-?��������������n`i.n��;�(��mr�����(�'��c�p�F��I{��g�u��2hbC�WU
�V���^����*1 Bo����0o�������p�r�<���~8����W�������:�g/���z���v�y��s�D|x^j9y�
��05���iV���I�s'W���K�^�R}&���\;8-��y������12*}��AF�����6rV�.:b�5ct��F[IkP�E<��}��!-"����vZ�M����^��Zp=H�I��g��n�M����3�0oj\y���89��.��&�r�i2�"���r����k��g����G��RZ������xp�J�+�!<[��G��Jj��|��r`�Q���:��Z�����-\yG��"_T��:����]����@xvZ��(�z`u��_�5���������6��������+�58��?��Z1,�9���F�^X1.��MxBc<@��{M`�������|�!:ob��/�+�	F'<�A1zN��~�rQ��Z�z��x��S3]�[��r�i2�*�}`�� �R��V��O���n�y?0q�����c9��&�>���)0��/�8D�����E�y�LMy���n�4����c(.�h����}/s�7)��e`�z�����I����rhA��KL'S��%�v�.�%:20=��^t8����t��RL'�b�LA���`���6�
�������T��y���-���'l:;�����y:D�����
\�Qg��L��B���b�
8�tp.�����B�j@�<c����s1�$p9+�M���=��;-�t��O�%e�9i�1�I���L�l����v�Hg889h#�E���@$_��-���b�R��'9^{2��A�����������+�e���7��
,��]���4+\
�68���AG�X����y1�����
,.���������F��3��::�\�$g����`�[��I�'y�Z�����Q%�	�"	pq`j>1��/z��H�8!Lra�(�����U����\ �U;��p��Wr��Q���������E�	<��r�N���D:��H>�����N{�o�������~��R� ��������&��L$���x>���&GN#�N;��
|8�tP.j���z�dZ���G�K��M&�z�����W�'s�l7Rq��H>���
z�ER���y"��b�e�.q�Y����`�/:!�z��~V�'��7��X�����d�I�D�Y0���&7�>��q�hBM��2��O�}�J��F����C[{jf�������
�3��k����o��s"�6h���A�Z��ye�y�������3�1$�����M*����x���QG�j���Y��
�?�}U�M���o���J-�:����N�d����QQ{I�������m��O<\���x�����s�_�����is��@B�lwo��'^z��~����nv�{��/=O���y���A����%^|{����������(��*����%�1������aR[X�-�����<��v�_�.���������C;���|�K�z�t��������(Q|��rjV�p�M&�N�,	M\�"��|4e��Z����7'����*@&\�G4J�7��h�K��##�� X������'�I����Tmp!�M{��x�JFy����ii���I��C���,�Ns����>�o���oB�`�6���w�cs����n
o�g:�e�������D������������C;`}%�����h9j����s�������vm0)l^��M���N��U4���Y\����9Y�1S>3�o�}�x����Z�<MN��Z��A���������&A��f��hT���y�����U��4���e|\���f���6X����e_��M4#���|w:6�|���WaN[$�Y-c��(g���f+[�����Vj:z4t}h+���	��x�*���w����	��x�:��������Vj<z=�X\�������f�Jq���=_���i_L���j� 0W�,���5W�����g|����%����:mn@c�f@W_�+=��_zB	,�=����=�s��s������������O�yF$��=����2��	�G��tq�h��3�{�����������9�z���~�k~�<��0`����T�N�t����8g��rPG\�#�Y-�����=p��S'2	]��X���i�����
���fP��z�3bw��So)���o
�3��9oo�U�Z����4�I_��4 ��C�+��~=m&E4�����o=���"���nzZ�/4�d^�����	Ue8Q5�l����v�>}Q�c�����EI��G\�-(i�t��I��\���E���&e��W����������\�/�!55��6Uy���\}��"������t��_9�j�>Q��M��B�VL7��:�������||���������6��i�����T?����~�J��y)�7���:�/�/l^�L;�+���Xa!Z��m�h���Q�'c��M�i�&y�W����
��In�R ��������h|�`�>�67U��U{��x����+5B�}�UiF`�}|E�`�!]��t`_����K�DJ-���^;�7%��R�~�%�!�}�����KZ�o���������f����nM����|�����i:5#��Z��7���3���2�]��r��E2����<�>�����Y�O_9�\%��=^t<�\<kn�q�q�>���{5i�U{��x<�8�uFN��s9���l��MG�R�a��������N��o:����;J�F��t��������o���o_�����e�iGI�r4�Ih����S�#�����tHh�%[����L��q��80F>p��(�k�jr���s\%��=^t<�������TW��������UG��v������OQ��I��0����}�tD�	���u�����C�Nd��)����A���o������~�����{���~=�6s�`���>7��,�)�A��Im�=MJK��{B�|9�����%)|U�`B�x�T�3Y�f�j\����I��W���3p�!�W��8w����%�z�M2���U���)j���\������N��T��Z����sf��I����n	iN�#������&��?~�R��%)�����xz������	m�6���kG;�9zW��eSY�G-R������O!WGv�xB�bA'�J�Eg��g��s��|�����������M0���U��Z��KB"��f��]�t@nJ��"��zI��C;d���$�}�K��0����k������B��S4C����sS�`��������X�L-m0�,
w�K�*NO�;�A���f�j�xk	9,����U�)0`RA�d������.����T�)��������jx��|e��rS����UG��~H��u�)86���c�����t���>������mM{y����u����m�iG#��9�\���u����m�i���#��s<�M����m0��A�w_E��K��3��::�u�,��g1)��*

����CsP�����Sj�U0X$.L��jl�g�C�Ur,��EG��&�Uz��h�H`���y�I-�Q��I�D:t�4(6���rwk
�R�U��Gj�����y	y��'V��Z&R�\����]g�tN����Rq0m�kN��)i���[>M���
�Cs��j{�U�
/�9�j@��U�rh����+�T��Q;&E��'4���)���y��vy�I���	��tJ�sD������ej�W?��I��`a�N��,t}hk��>��K�DJ+l���u�{s0f�0H�DJ)l������v��)��4��b`V�`q��N��i�-Q��=��5��@
$c���Csm�Ky��$4�S>�U�<���"�")�I��Q�A��H\����)�A� �GI��*	����q-���#�@3��M2���UG�)��8�gn�!�f�m�vx�������.��J���������+�81F�a��1�}f����k���_Y�}��6�R����f�tp�U8��H? �����i�j��Ot�����>��<O�����y�dUe{�I�g���������z+������MP��3`�D�>�Hmw��Vg�^qZU�8���#J��g:>m��U��U{��x �t����� �������x���6#�Ye�Y��	������?N+�X�h�M4�v]��r-	�].H��&�!�~��I
���"h)��jA�q��NG���#'],H��&�1p~��y^4?���O��q.Z�I����\4�����.T
R�F�E�)&mL�,S
y
��^���+'U��E���h\\x\�K_9��*EP���U��y�����Z�I������W�{�Z�fL��yEW(%l�}����7����#��
�^:�U�]�H,�v\��v"ZJ;�D�h���A�y���4�ft�-�����
=�����B��*6�����"���H��G�s��D�TM�iB��[��l`��7�KAI�WE�����BSQ���y�nqTY"8pq`�G#���tK��A�%��*D�������tLHr�.x�,t}h�/kL�&/l���������	y�6h\������.=+]�v�������2������t����=y�Q��g<Z����uf���C���N�'-ha���;����|H3�U�u����^U�&.���f]�`��fHz�%��Z�������r��eQ��m�����]w�tO�$�z�h\����I�O�9?�<Tq�ir[�M��e����R��%�!��y.��^lKDJmG/�������r��k��<�>�o���{<$Z��q��N�'�.���������{��G��&lUE�R�j�&7�I-c���/�����^f��Z����j)5Y���>�o��MR/4/l�����������Z��q��N������:�irk����eN����85�,
�i��b����Rj=z�r������h/�&�R��k�o(�M���N�'Zha�����o�K�J�8m�^q�h��b����+=*��C��i7��>������(����C{�������GZ��5t0mE��'KH�j��4�&��vL��&]|�-mz�0�&����|"���@JmGM���>�o��mC���i3�y}h�v�I�D[�i3��w:<���r�����h��l��t+��4��/��M���H��$&���fa������r�P��������}�]'��*Z��e��txRCa��hKN�Xz��m}�-���X%�5}H,�<0��m	�=�-�����K��eLKMV�Zv2����bn�j��ya�v���oF�I�D-l�.6��MZ����<-:����3�)k�y)���2���M;��e�RTe��3���
�NH�r����z�3&.�N=�^��(��i�0�����0���D�iGMP����tH��!�R�T����C�^p����If�v��Rz�������v
Zo��+e�lI�6j���&�Oz��+���
�k����H �vh��b����R����� Y���=O���mg�d��N`�u�I�D�-��],[����Pjrn��������AO�^��!Jn:jn�Xpy`���R�Qs��B�������������f\�7�u�9��fZ�\�>�v@{mf�i����m��GcW�����9��Mn�T>[��f]�eBrsU�����SS�Zj�j^�IaS���>�oy��Q�j3+l.��M���N:'�/has��`��k��w���6M;�V�b��/��<@�T�7��R1�l�st*���s���L:������'3���~AJ�U��]���j�+�W5��,�>�g_}Kr�;���{U����������+����*�
������'���.�P^���R�Q��D��C����,��=�z{�Z���o{��w����K�-y�����3���f3���������fBn&z~�<0���y&�V���*�����-O���yf��5_�i�t�I���F�g�.�L[���&h�(���v4�9���v��npq`����TCe(���r��2�0>������������tH�6]�RS�����i���/����L%Z�\e���Mo��N�]���"����<*�V���;/���H9�������t��8��S!{U����)��@i�'F���d��C;��8OM��^�<5���w������\�,5����������)D4.p����|o!ZR��'�1�~��16w�'#����i�n�Ss������fU3��������0CB�Ne2n�'��UO��^��f�yy�K�$MZ!�%
�����TAK���D�k���/����g����D3�::w��K*�S�������&���Y��
���M�H��~�"V<���� i������0��Av���b���}�['��K���4s0m�{�&��'?O[�.j�14O}�����to������h�����{��-�o~�?�/�|7�0\O'�5��M�,�6�0d��~{�{���[:������:>9�4��+r�����F*o�{���wE1���p��I�
Q����!
�6�7����+�@��E��wDQ S�E�LyW�����@`M�o��E�
Q����Q���_2��+�@��#����(
d���(���(��kC`-�o��M���@f/��(���_2�Q���DQ S�Ea:&���}|E>=,����t����)SQ{����J��W������W�����T����}$�}����g'�i����?y�=�#��<>���;:����w�GY�4�����?�&����\�U���K��4��g���n�(~z�=�[o����'�|������?�6Qo��>�v�h����
��u�?{���7O�����(�,�
<�Q>[�r\������Qm ��x����YEk>c�����������_���/��?��=���~��}���qT�N_�qz���������������^~����_����?�����/�|�7/���_=����x�go~�Oo���=���"�����������?���&�ww~��=���e��������<��/
��dJ��������p��#��@�er�������,�s) v�?�������}^,�A��������&��,��s��;��q�{��������f���O��z�]�)"����e�
�z���O{������}6���/\#�x�z�$l���=���`�c��G�E�O�1V��><�"��������?������o~x�/�|�G�e��m=%�{)J?������������3Z��a�	��:{��
O���|�����=��I��`<����2�a��S���C{������a�E��3����d!�;����6|�)Y4�������>������>�E^l�v�!����H~g�������Y��������|�Q�}�?G@&��^>��a��}��6����{�xLH5�:��~�jo�~��;�>:��������������1�r��Y����c������YL�7�������K<O1�����}������MnX�G�~
�]�����6S������wO��2�G�??��r	�=y�y�������$�=����X�I�R���s�{���zO�����������}��m�������9��h�`�V<���<�o�#e�����������-��63YQBI�z^\(�����)%}����SZ��Jt�*)��/�
�J��{��}���
��$R���@/�~����������'�?�������|�a�'���"�?y������r��P��$��`��+S��5�&���i��J�c���^Q��yw�i%	�'MR4��*
n]d�$z��g�����X�U���_&��"q��2�����)LXH��B�'�?��F��s!K?	^�6�/�~�t�"�H3�Y��{�k�B�
���~�����s�d������������&6v����Ya�b���Q�J���l{��Z�9%�4x^��d�g����������d�Li�jJV�{��Q�jq�^���b�b����r7K?
��N�~<��g�7�s�~2���[���z��O�{&:K?q��k��{��Se�7��|��������%#��O����*\N���4�w������%T�+Q�w��!�+�;/�+�[�T�����.�����J��H�i!�����-�����-{���$x��d�7g�'���#+?	^:��F/~�hu������	V~�}��g=/���jU{�����5�(L`L2N���sgk9�$�KQ���(����V�q)�PM�g�9�$"���/�J���Q$�^����'�`Da�B�����S����Xe�O�zn�I�)��y�~�;g���K�i����4z�i?��1�����$2���}��3�w����-6r���l����0���������)i���)�8��a�����$z���S`=�`B���7���M�96�����:��='��)�D���0�I��k�8k?	^�<�F���Y�	�o��R����o���O���I���[�"��5�����&�����7�3��(����������qZI�g6oN+���nxir��V���^Z��V��%k4nkR�j�B��k4)�����W�y6�[:��O����+��?�K?�^J���L�t'K?�^Z���L��b?M����ZaDa�sWJG)�����VR���
�V���i%^����J��3�(���K_T���k4-�#������/~������Ra��"^.�x��E�~p�~<��LH?y��K4�GZ:�HG���<��.�2K?�<�s!e��R�:�]l�����8�.���d���U���$
^��������*��.���*���&���Z�s�J��
m���&��6,S�������+��[Y��;��+,�xnXX��;/�KO����������W���goFc�'#Sz�O�}��>��>w�p��D�1�0�1�TX��/<����sZI�,~�ip�"�4�H+-���J=����J��pZi��?����ou&j%�G����2�'�s��I�Q�w��A����������,�|<sN�$�y�-�B�oFLc�^�~b�VD��e�-8���s|9������9����4Ux~y���T���$RIpN%
����8����^�s�b�`�B��%�	�\M��S��s�
���^�����������I�������1?�P����������~����-��b��-���5�8�9���t�8�]Xv��S^}lNy��E�k�)�8������s��~*~�\�!��ZI�I�B�7�&�7�&�7�f��'��'��'��'�7���y��C���	Za�`��3�_��T�.�hm����>6����"�4�T��SIpN%
�9�����C������z���z���z��-�������������^\�����	Zc�`��[$��"�b��>#�SI}lN%��9�����8����J�s*i���>�W���:X�����������������B�
�Y�
�Y�
�Y�
�Y����G�������C�d��[�e�:���������������������C�
��C�
��C�
��C�
��C������5�&j-���f���f���f���zo�zo�zo�zo�z��S�dT������5�.fE_m����Vh����>6����"�4�T��SIpN%
�9����_Z��������.�{}l�{}l�{}l����������������b���X�� &h����{N�����$��?����>6�����J�c�T��SIpN%
�9�4�TR�T�����4Q+�=����������������������������&t�^�:����I1A�7���e�*&d���[��<�]8���^}lNx��E�k�	�8'�����s���?��5Q+-�4�f���f���f���zo�zo�z��g{�����Y�����F���+]V1Ak,�J��	��b���J�cs*��-RIpN%
�9�4�T��SI}p���E���Z6+�z�c����z���z���z��-�������������^��[o�w�.����&n�b�(���o0S*i�M�$�]Xl���9�4�qN%-�)������J�{����&j-���k��>6�=��M�2j��zo�zo�zO��X�)��e�$x���m6J��l.1��VAL��3Fy���T��S}l�O��9?����8������s~j���>�W���B�D�����������������B�
�Y�
�Y�
�Y�
�Y���y*��:�p��������To�/,8oN��8%���Q��SJi�N9�	:%�&��UZ�C�C�rQ���������.�_\J���~t!��B�
�������hTi�����UFp�2�8x�:��"��i�>�L+
�EZi�.�Jt�V���R��[�g���
��� ;^A�����������o�.��]H���~t!�Ou<�s5
��n���������/]�&c��oK�q�Vdl�*c �.��|
<���"���>�H�������K'jS����L[�]&�TdJ+�S���������bd��7|�J?
���T�	�r�7g�'�?/���^,�d{)E�?��~bTH?�^�L����Y�~0�-�U1Qk�(L���|[��-��_�~�Z���������,]���������i�~�eZi�.�J��-}��������Dycs�lQj�"���*����/�~��?��$�?d>G!�x��cA/����^�N�h0�TQ���� �x��e~�^�(����Q��(,`L������ew"����m��J
�pl�}v��i%��6?i������=��{����l��[�Z�G�kQAj���,�����2.���X�u�B��;�i��"�6������w���������~SJ?������T��P>=�@W���~��r�:�[l�����8����&���d��=B��U<W6���w^x�O����)Q�]6�����g�Gp�JF&���*���|Q9�^���\�
U�L�B�����S��G~��s�)��/�PM��6A)�z��td2GAB��{/�~�����aj�]y�����8w��i%^:��/Q����Wg$�s�eZ���ko�i%��3���)=,����(�G|�T���e�7!�x������~}p!�x��"����������s���~�S��gt9��|n�F�2����	��9O�VR�y�N�V���_TRw^���/O+q�O��}�VR��K���O����H+)��=/�oR�i���q�~<�_f�7�s�~p�~��t�����L�B��;���O�{�E�{g�'����8g�|a��/_����/����KVlL�
;_L����`$�����${�I�B;�������x�����q���,����#>�U?E���X��px��x�ts��S����x�j�OM
TM�3���������[�>^x&Y�;���w�����?����������T3�~���:+�>��Kqk�����5�R"���(g*��H�gf�m�2���I�,J��s'�D��*��S�g)_���t�
{��l�{�R������IE�	{�p�.H}��,�x�lK?^^�� ,B�I��u�$z������}7|Y�v�����8f�j��a|��F�1n0����.{�Q��x�Dl�C�I��;�<�t�	]k#o_�?�=S����-6�
��&���
��24@��������h ]7Fpsw�	�[�D�9c	��q��z��3��<��g����+�n<]h>�^>V���~ITj�Ad�������q6�x_e���]�bbV��7��8���,	^�����TU\�����*�^ay8�^���&������dG�]|���&��&l5�����4R�������_6zi��r�g+?~���iR�)��}kI��W��B����J(�9���w�m�������%�?��&�����8(���i%�^�H���J��pZiq��V�C�C�RS7\�6	^�.�/�~�s���
�"��B/��h�.�� 2B�)�r��G�#�����m�*#
���)	��:�m>V�L�����+�I}p�LR���'-�E2I�����w�LR�EG�Os�zM�/])M�g�������������������@��v)��.��B�=����2mF������/?�|����%���v�py���2����S��w�D�?fv#Ra��s�E*�������a)���%�%Y���"������$Ra�{�0�^�<3�MJNMXH�t�J�}68K?q���d����3�
K?
�1��.�~����%�+�+�l0�{�[D���]����,L+�M1Qk�(L�=�da���Tal<��"�V���sk�8���s�i%�D��g�������|,?�����R?�����R����uj!�����!���#����.��c�=����W(LM��\�z
��"S�>� �rD��d��3&j����~�Z�Ik"����o��nlI�y������>�J��xX*�%��=^i%��=�,�J<2����i%u��_�l��oMJHMX�p��l|P��\H?~��/�F���������<7iI���hq�x"0�L��N
I��"S<=����,�QFVi���]��bb������S��Q������w�m�I���P�t-%z���K�9YE��E���s��������6'�z�7�9Y%#��!~��2��=Jn����0��C�[ ����-B�1�����������-���c�y�V��~����
.�_?2b�c�Z|��D�2����hP�Vb���������?i%��<������ ��C��)�Q���^{�i%�
;�m={$'�J���-��X�&5�&,���Y	�
�O��~�)����c����)�G��f �C����~�S~b��?���+��j2���<�X��7Qk�(L`���3�/��d��qPgiuFpN+��|��&�����O4����5����i�x�K=�%��J"����������=�a����g��c��dWM
������������s!��c����Q��{�����(�����1��{������Uw4
�~���o^�����<��_�������~����^�����&4F��{���u|��%C&~�
6&n�����?����lY�:��p����1{
^l����&:�����l.���I�u9��n�I0�����f�~��\��+�
QX��Da����<0\��.2���G�(l������ wM��ps�/aQ��y����k�/���Uz!�\��>F�B����,)89�Y�?���?��i�R��q�^jw�����u�uK��o]�"C�	qd�^�8L����BQ���\/��8���+S^�8����8��[(�(n^[��6��j��Z�W2��"��H,�g�������mi�}|�u�^7w��E8�����o�Z�g�~j+��	qX�G�2���^G1������}�=�����K����[�$Hu��������Tnb���U�:S�o`���d��m�9?r�2n���6����;���9[��`�#��i�X{(��Z��I���6h��?6)9��?�G�!vE$����� �nIUc@����o]C�7����Z�'�������,8��\`9�u�,c�/������:�],���������1���y��E2Bl��@=�	Kq�EfqX�o����8b������})�����8l��7|�+M�rp��@�J�d��s�-M������S���TAs���/��L��3+Hqft������}6"w'����-T�8C�]��ZO��d��� �	8{pB�0`��k�.,i"�RMD��lZ<
����C������/�+�*4���
M���D�Jgi��<��C�����q$���	����=i�����+(&l�A�]Wr����������}vN8�JL���O/�����*��9�Nb���,����������C8w}����>�{%���P�}�eS�&h��6�����B�k�Z���p�SN���M����O8��3���`;���,3���������.{B�Q6w�������z�!{��;��y�Bi�S�^�,��#g��f�����a�}��)�����I&ln"������+�@�tB�9/���.;!�����D'd����N��-��*B���c��t����]K�R3`?���mk�	�8n%s��;!����wB&����	tBpAIuB&���
������e�w\><��7�A�I�a��@�T	���{d�����\Ff�FJ���>{�+�F��}@7�mpa�V�mYm�	��>�O���a��jj5-���]]Z0�?�p�zp���l��-���AIp�K+��� ���\�Je�V�x�s�c���,�H r��
�E���;�����B��6�*�j�-u;� ���E���z*!�+�B	������"��;��2e���
g������/	D��	/S���)�~s5������������X�8�9w
�q�����oj|Xt6���#�It���S\}d�.���xIp����V\��BC���T��,����<#�UA�~� U����+�`?f�)�	D�Z+�D�*)�D�)�G���r��������OZ�j-���B�J�i��+��T����Dm�������P[��i�-��0��tjp(gnQ�a�V�Mul����R7���n������.ts�������V
endstream
endobj
8
0
obj
18480
endobj
9
0
obj
[
]
endobj
13
0
obj
<<
/Type
/Page
/Parent
1
0
R
/MediaBox
[
0
0
595
842
]
/Contents
14
0
R
/Resources
15
0
R
/Annots
17
0
R
/Group
<<
/S
/Transparency
/CS
/DeviceRGB
>>
>>
endobj
14
0
obj
<<
/Filter
/FlateDecode
/Length
16
0
R
>>
stream
x��]]���q���>-0sg����<x,~���A�]q�uY?�pc������(V��*j������V��*���XR���|��~���x����~����y�G����������������b��4��n��-/Y��������o5���F3e�'��l�����k�������v�qZ&�5�s��<�a�k��O�����K6����������Zn��|���p��
=�b��L�����_\�}mu�f�f���CX�����y�(�.����&L�Y�4f�F�28N�L�����0��D��i��;�Q�����(w�P�3�,�t5x9E����t�8i�	i��0��Bh�`���3,�3��s���&\
�� ��_��Vc&���n��1��LW?�q���2,��	��O��0�������:�sq�q[S�]�]�����B�tyaR�B����z��������L?�0fF�Q"���q��_l�r��_������ib^N�r�
.~����P��tyar����<,����n&���7�1���$pya2�{o����D�86n&\�����P��tyar��o�������tfb,MW�<��<����d7sh�8
��X��`%��(`��E�0������������F�;kD3�����w7�`@g]��O�:c���8YF��@�Y9���l�)�0��x��6Vkcu�1V���/����J���F��)y���v_�dZ����;a�Z!�@�q!}����8]�����t`N�f0l�(L��Q]$��9g�Y�%]^�%ivs���%:�Y��@�H��������S��l���F4��F�]���?����\%��l���������Q��H�5���
����p3��JQ"3���m���s�?�����g���`�Rd7�b��..L������qUy�� �tM�e�����]�zDzO���R�1;�	=pgE"�7������E?���<�&r�.M���a�}i����&+Kma�DZ���p�����������DZT"N����{��1����)�J��_�D����D�;<cq�����A�_B#+����=����9�1�N�:L�9��yi��Sg"D�8�9��8�����Y2 �����^��BR���y�P���Z�E�PX��<r�'���a������]���
�p8g8�b�-���@����p8ex��
�������n�-�@��=�q}r�[������v��{�����^�`oxO�p��m����]�~���7~o'o<���K�Q�f����
<p}i?�/��p��P^�����������L2d���bx2�&�'4��?��W���!.��<�"av016Kf�Pp0P�~&�\2l���1��>S���`2'�������w��z{&�G�L
���}#�����k?�>�rC���;��\�^1�[:����D�����2�^�o��o)p����8]_�w�o)��-�-]p{jD�Fz~K�uf3+�nN�h?�����~�`/�7u��H=����s�<�0�g����S�4�X�p�����{
�����9����a���n��k���Y�����i�F%��mhK�q~�Ir��ci$��K�{��gK�1e��
E��d�����c�z������\Jf������>V�K'�'i��`��J�}�n���h��4����X����g��L7��1�U����v����1'������`�lz��4m*3+t`{f����+�����'�s�Y2g��w��}����7"�b����hZCK.~��}|����|��mY����m�rf�����H��)��
g�p}i3�{�-�b4-�.�����+��qV���0�p}i����q���d��vbK��t,H���W9�@�	�.G��09!9�������k��=����%p��!E�p�����d��"�������>�ag���?i�E��?AV���p���%'���o iZo!)�9qdD�����Y!+��/J���;�T)��8'B��d7�P��>����dY�����>��	�����HirF<{%e
s.T�'���/L�#p��H����9����~��d�;AN�p���u�����t\��]�_����	:R���
$�����|mr�'"��]���1�	��i�s����f�>���c��;�~���I0�b`�s�y�C��w�}���>#
��@)���Y2bg�5��x'���x:8�9�����B����>p},8pJ��v�U�����3�L�l�1�u�}��2����R���c�c4������cG��;zdM6���y��so�=u��h��4�p���UC�Y�~0T���ujim����E���`�i�f�4�<�@���GO�/�f�d[�*�*c���DT���J�6%��K�`%`�2s��J�U��e4������J�U��c4�����<�RdEy�-/���y���X-�����*v��Z���,O9����b��@b���(��ba	�..��/{��e�c��<S�X�����n�LNjp�;���6w�iH�(������v�WG��X��`����e4����/���/���;"��c4������cG������O�h����i2�!+���N���{�R4Vp�eU����H=L"�9�*���N�;i�CU�(\\�����	�$a�Hv�������D�%����$x}iWYe����@6��:����b/��7d;�:����{KuZb��O�c7s�]�C\s����+��/�_'V�_saU�I�n�h]X����:�*����#!<z��fM���y�p�6��/�*k���P�H��p@���p����>���1�l`��K����!oC:�B�K&v�q`�B�	�b�����+���.0���..��0�5�1��n�t��W��@�����R(�t�Cq(3�/����t�\������ ��E�&i��_�N�kb-u����5��b�-���t�;"�M6���{��sLcy��{��l��B����4���'�q`��O�!
��uf���������lY��6$�����XUu&Ey�@j(^_��k<&�_��n����(�]&1�s�}�9�|c�;ldEq�J%d������82���<�� k���l`q����F�b�I�-����L��(H^ �,������=��N��@-}�.�Y��������-*�d�X�2KfA�����4�'��@-/����e�L���w1d����2)�X������)�L��dO�e�}���V�Q���82�CdEI��3d�������K��+�(��$y����w�cs������)�@��=�!��K? eM$�Ya�nf����4=;������_�NEwI���d�	@&g$�[r�z�&cV%/L���<$G/q��L�E����/m�
�Xw�8�{�����
H6��:�~N��g�7g��e:��"+��W( �-��<8w�h��FD�q�����;���&�g���dX|���������I~��P���"v3�4�2���*5
8�����"��� J�F���(����%���E�X��H&��#Q�B��Pe�
��p�2��/m�{�EE�)hr�)�2�]��H�N�Z�F�49����-\�<4jXA��Y�ecx}isV��}z��.����hA�@6���y��9��=
O����OO������
O�g�����[��<�w�������MG?]r%�n�����3�4�%3�O�';��dB��t�Sh�#�[��L?�V����*7X��dB��t�Sh�#�[��L?�V����*?8��dB��t�Sh�#�[��L?�V������<���[�����o���#��v���#��������l�x��~���qt�|�l�x��~�����������/}��������<E5~�'����u�Y���-�g��8_~�������������������<������~u�U�<�[b�����ks��>5a/�rvX�����0��oO7\nW�\�������/O��������;u#�j�F;�F��������n.���<�F�Le�
����L���$�-�no���T�&�T����'��'��'��'�T�����L@U��:6��:6��>8��>8��>8��>8��:���[�����?��k�����5C�2����Q�T���u��q
��^��c��cS����������������r��b~P�t��Mt��Mu�Nt�Nt�Nt�Nt�N�z���YK	Tc*�p�M����NI�cgI�cI^�%yx���Y��gI���r�x�T&���F��F��F��F��F��F��F�Ne�����@U�2w���u���+Iul"Iul*I}p"I}p"I}p"I}p"IupP�<_1�	����^��c��cS�������������\pC�;��p<�q�q��'*��[��IT��L�J�*�����_o/�7mG�?�����m�X�t���!�0hC��hCn��Q�����d��U�Puz�����K=^{�"$�xEH������!���A���������G	Tc��p71}Z��_[��0�Z$���\�����5���Ip'�����O@[wca<m���t�������	UO�s�J����m�����U ���@1�Y���EP:�,�c�����2����r
Z����V%�M�5���f���������VT���Sa��*+L1�~V���	UM����g$��n:�A;��m��*��*�@T�	��k�=�+UJ��)6	Rc��pur_�M���pP����"$$!!��	}�_QX!�*�x�/����{�$�x=H��z���� ���A���<w�Sl���!��%$p���&l^�i���O}������E�"(�`���AB�S���E��MPT�&(�@U�	�*P%����'���1�H�j�	\!��	�S�����TAA`�� 0MP����8@B�S���E��MPT�&(�@U�	�*P�Q�*n����mUq�o�������{x�B}����� U�Ew��Sk*k����M.��o7)���?���G����_�1�������J�\X[oy������	uk��5��V����6��:6�M����F��D7U���6�F��D7U���D�������2�	�{
�S���5��k�n����`,5���O��Ur���>���������
����6u�W����
[O��n����BB�z����3��������zPZU��:���j�M=,�������u�%������D��`�;U)�jLd��f���H����y�@$Y�~�=��-�
������-������y�"����S�������j�0^Q�!��w�����5l��cS�T�����n����o�� ,D7�����$����.S�2���l��C	�3g)A�����R�t�=?�`�����_���m?���
����S�W���?�r������}�+�+jL$��@�T��M�nN�{��IP�_�{��������_7��y�����,"��T&�*I�l���Y�'��zGI���� $yEXP����K����-@9��:�o�Fts���j��MuS�K�)x�nN����?my�n��B��I�YDP��L��DC���	���J�S���8�$O��{�p8��	x�Tv��j�S�����*IDT��S�	v[�&��b7w�����V`��������Ius��]�-�E���q(�������?�~{����Q����S��K�������X�����S��w_�M�:x��uH���C`H.�{����i?W��_���FOlz�������ED��0�	v�y��W��o4�]�VS����"\p/�6�
�
�V��������������Te����S��w��W��7vO���/��PA��w����/����p:3]P�"�����H�����o2��D��}�����*$B9�-�"�D(��t�Z��EU���-��)���B<���H���T���D���D�'���f"I����c�*RD��@/����66}�^�������}���-��9ky�!�~O!�9o�dJJZ+���F������ 5fG������z���D���f��D���M��W�g���~L������O�����_Q�"���F��F�N�'����>8��~X�n���n���.���?#���cbcu����$���$���$���$���$O��/�-��+*\$T�s�3�n�����F��T7�-'��o9��	x�$Lts�}�������S����x?4�qdI�a7�+%y����3(I��I^�%Y�~���B$��qW��H�}w��F��F�������Y7�-'��'��'����^�����7k�p�����w�o{r��B����� U&_�����ao������a��5��"U����N���A� r�����
����S���w���EB��"u�s�������n*���Y����7w��j�_��/g���9o�9�M������#������*S���E���IV�������M�YP�S;g����*xk
.��I��S�g�]S�7W�H�{s[�5���������ao���>J��7��.�����gu�����f����n������;�A5�2	�5���W���[_�J$Y�VH����_ }������w�p�����~
�����(T�P_����_7l�T���C ��6���N�?�g3���us��+��y�X��x��T�)Awf-%H��Q���e�{*d�-g����Z�U���7�u��:���nk�n���7>�@t^_g����t��#����QB�w5�Y�������nV�����D72������Z�Qi�1>�M=,
)�ZXTts�����/��S����o��zu��W�IV��`�
����$+�����IV�����D����/�"�����>�7�+�_$���t��]�}�2������}�FtSo�d�����x�����������l�-o��S�T����L6��T��2�	����5�OY�~mN�EV��z�NYmx�;�@�"�vl���G��
��^�BYi��(�����d\��$�P����"�?�5X���b+<\W������x"��|&NtSi�z���F�J?d����?�����
endstream
endobj
16
0
obj
7259
endobj
17
0
obj
[
]
endobj
12
0
obj
<<
/CA
1.0
/ca
1.0
>>
endobj
7
0
obj
<<
/Font
<<
/Font0
10
0
R
/Font1
11
0
R
>>
/Pattern
<<
>>
/XObject
<<
>>
/ExtGState
<<
/Alpha2
12
0
R
>>
/ProcSet
[
/PDF
/Text
/ImageB
/ImageC
/ImageI
]
>>
endobj
15
0
obj
<<
/Font
<<
/Font1
11
0
R
>>
/Pattern
<<
>>
/XObject
<<
>>
/ExtGState
<<
>>
/ProcSet
[
/PDF
/Text
/ImageB
/ImageC
/ImageI
]
>>
endobj
10
0
obj
<<
/Type
/Font
/Subtype
/Type0
/BaseFont
/MUFUZY+Arial-ItalicMT
/Encoding
/Identity-H
/DescendantFonts
[
18
0
R
]
/ToUnicode
19
0
R
>>
endobj
11
0
obj
<<
/Type
/Font
/Subtype
/Type0
/BaseFont
/MUFUZY+ArialMT
/Encoding
/Identity-H
/DescendantFonts
[
22
0
R
]
/ToUnicode
23
0
R
>>
endobj
19
0
obj
<<
/Filter
/FlateDecode
/Length
26
0
R
>>
stream
x�]��n�0��y�����	E������J�!14R	Q����L�H,�o������o�	<y��j!��X�a���w0���k��7�]���$��`ll?����k���|w��nX��5xc�{?�����O��2!��>=J�$G�	���&��X����:�9rF��I���/��N��~�G0��_<���'�	���Q��O}�4O�FY�TdHy�TD'�J�!:������������DE��D@:PU���@���������B�cT��q��5�64c��X7��
�/���
endstream
endobj
21
0
obj
<<
/Filter
/FlateDecode
/Length
27
0
R
>>
stream
x��}y|TE����[/I�;�������	A�4d��$v�YATA�F�I@.��
�(�6�����*���������6�����+i�{j���N�:K�N FDfZF��/������"��C��O�5y��C���xy�U�&M�p�I"�KD��L�8v�;{��el�=�SPuI�x��"�>e���So���/�:����c��H���NM�pVd��2�|?��g��8��p�,�O�����h`;%���@�|*h`������?���}!��C��i;>{��d�@�h
>O������[�^�K�i+���'�,.��,���$���kY$�M��8U�-�zCVJ�2�C������X%�A������c�W����J�2W�%�}���K1n�R��A4czc}��fYJ��������Et3=@/��|"���JG����:z��L�I�4����t7�q�YX{�}$%���	��o��;Q��
���<K/���#���d�����f��<Y���b�)���3�FR=]C��c�h@Zx6�ob�	�r1�"�������?��%����c��T����5^�������"e�S(= ���)�'}-����V=K�������!���EYt)�9���������V�*��=�l�����&:@�5z�>�o��,�uc�X	���b�n���g��Wy����%�4
}o�I.���s�W�X�xY���#��z3���3��\�����F���B�;�Q��s���w�3p����9Y<Kg�Y.�c�l�F��l[��g7�
�.v��F��)�����e��3`3�rw�4��sy>�O�+�����O�s�����o������!9�I�2�~�i�4SZ(-��J;����e�g����y���������bUnVnS�T>R>RI���C�)�F�I��&iC�I�R�:�z�1�<�]����3m��G�}�{��e�%'������,JJ�i�_�_�*�/�~6��I��l�J�st��2�y��z;i-���6v���������?E��W��)?�����7R�i:����"��U�M�����o����L�����bm�����J�J��f��2���K���f��=�K�G�T;-g�|��";������M��l5���~�1I�
z@�������l�2�G��Ri���S��Gi/v�q�T:J������������Iz�}F{�5�di
F���l��.j���V�K{����!��������`���u���]�-�Q
���w�6vB?���"�id`2�GN����w8d����h��dB*��f�k,t�����R��}��\*dY4���4�Gs�N"�=���<�:��;����������W��E���]�5�Kn�7�sV���tOZ���1�CrRbB|\�3&�a�EEFX-f��*XUF9��z�?��/gz���y�X�mUP�w����6~w���}aKZNj��l�ki���*��qWx����w5��u��Z����h��L#�Lj*�pW$L)w�Y���_�`����r<o��R�)�h���=+�V����Y{X|of$x|E�=�L��?�S^�O���!������C��T�'������Y�x�8?y��m^�	����2�ft��*�Ck�{r�^�d�q���	�	cG������������J8�����jV��M�VW$Lu����+��-CkZ���km-��{yFe��Jt�Vp1!�S	Nj��B��_���=}=SV_Y�IZ��a�R��|��)���zD�'�_���[�a��V[���s'^X�����rsO�-���l���Rg���"U5���L���b�w�wc$5L���L�A���@3��2����e��7�������~��a��WGXv��//,*Q3���H
�h0���~����-�B+�Bb���|���M��3���hH
n�������U]���q���
�	��4.��|y�Z?�5��5�#E��pM�����^�Z������f��������~�zb��j��j��w���o�F\���h���1e5R2�x�d�BG�4������!��4D�(a�J���_�ZkIM�oj����r���0�=��{]��`x�%X��U#F�^m���zg��J��ru���M��q���������UQ^�&���d��ZLb
�	i��w������V
Us�'v����xY}��=���9�&����T��"GU���MFU��2�V6
���&FF�)\�h|���2��
#.�_��J�{8{�u����R�&�e�DM$�1J4����$��F��O%x��*i.d?W2���J�����E]S��\���[:��O���-�gy��M�0l�*_�*~-���[�������X����`�:��%Y���5�",�����,df�<DHo��	����,��^o	�.�
uU�d^(-�T�-1�wz���{������:�]��*E��E�E����������L���>5p\�������d�(8yP�DyKy
����M,�I���(p����v��Q�pG:
D�EVG���L���R{���.���q���h[q��VV�A�B���J������&>���-������<�i��R
��������x�~��i*=]z:�8�������8��E�"�S�?T��U���a�)L�&�k����:�q��
�����v�����^g�>c���S��|�}��
w��������U���L�����7�y9���_=�e�:HM?DSf��+t1��l���BU�?��b2V�l6w.����L�F���Q7g�Ikb��*S��3�)�]���H�d�n^2�1f�QD��������I�����������r��Tp]K��T����K����2Gtq�VRb�%��j��@�&�4[�J����5���6OFw��O�B�7�����o���,��a�Dd���x�y�b�e��S���l����)�(��'�+�DZ�%ey�9�H�����g��b\IZ���K�����X\�_�<��Yhsw��g��{��>Gtu�w��Q��_�+Wc����U���6#%���ts���Q]�Q�#�9
��:��������U��ev/(,4��{A�LO��u*,��&<4MRc����U��x�!������o�;�����b��.�sK���xnnMb�q�mg^6����N;j{�
C�YY����Q).*M�6��~��+*g���~��nW��mvs����K��y:���c!=1���}����5�EN�1?v��!������Q�qIlu��Xuq*����i1d��!]R]1�{9#���3��R��,�$�lV�;���yJ;�p����C;�� 3�1Pd��ib��DsWZ��h*�N74I���d?+�����b���"�8X7&�qVV���e��Yl>�1b��X��Q�����bo�]���i�X�(	�I���5��^`,�Z����^����G�,Xz��S��fOg���y��1��uV6������}�yL��9����U7�������wl���:���<'�Z��X����|�*�i$�T�e���N�j����~�IQ�q���2V�kL�-=j���wE��J�e�]�Rj�P����sk�l5e��QU)=�����n�!���[/PS��mXTMA��N��)M
	������-��m5c�vm`s������55��1G�~��n6���7GL��:����V���
�<��!N�q�R��1�h1�1�+��F�)����������(gJg�{I�eQ�3z�%'��2���d�,%�U��e@��`�EX�Ns%���-��tqk�KQ5/�mcl3m[l����?�jw+���,��������S����KH@�J{�������b�3B{1&�y�3�������/�ql����O\�7�����9WX2��&��6���
��������c%{r�����q��=��)v���G�z"����
>���0Mq�+5�+jV���5�rB�%I\�}��%J�R�����I2����DR4s�R(�/���!H�l�������%�GG�nW���n�����nS�'�m����f����N�N��oP>��1�Cx�u�O�;��W������AVdp�EX�Z���d�*
�g�<�����1���������4�no ��`���;��F��r��w�K6���a������"V��%h��2��8z�w�GcY���X{/�=���2��%*F���c��H�a����(G\��9ep�r����H1��,�q�F1���<;�^���Xs\\
�eX7s^�wq��7���f�����r���r
�&/l����q�-KX�G��i���D���lh��OQ~Qo��M��k����S�w%��_�"ut��E��R^xZ�{��'�I�7���9k�$,|9�{/����]}��25��pEr3�0�g��������dm�i1������l��������'p���	�sD�'������@Gm	���(��4��3���Yy]�+��=rp�����rdd�����mNH�����
;���	�_�[hm��Rk�
.�A}���Eo�j���JoqKO�9� t�r"���P��V�[�<1!1T5I(��w���V��}+S���k��=j����k����y_�6�����#���c������Y����������$�����K�z6/3�0K.s�y��Q�!�nV���L+�IY\�<2s�������jY�\����np
�(��.�O�\�Ym�|��b\�i��^p6m�������\�Y*�zg����`iT�T�:�p���R�i�� �55;E��NF�!1������kxq
;�^�����r�lV����|�Ux�z���{W>}��O1r�O�2\	��Z��d���:[�n��\._)�����V4��l�G�����;�2�|�t�z\����lD�/�l�pX��I��@Y5��IZ�U���n���@�Bo��[*�����	���7�7�a6�,E�d+�UE�M�j
�I����X��b1���GS����s3(���-����Z�L6Ok�y-��<�)kK�=#E������R�V���y��Nj��gI�[\�.^�7:�|��/S����SI��h�a�o�!|�H�T���>��g�X����3@9��\�C`^�$��T`�X�BH~�!���z�
V�)'��\J��YyT9������ydxy�lI�V�t�^!��N`3������AnLK$��i�%D�RX�I�����P�D��(����� �SX�I��Q
��^tQ���P�[��g��s���Bm^V�X	����`��Y�����3[
6�<�9��J�1�'\�+�.����i��<�VDU�FF]=)�����LiQ�M�Q�&5G|p��@���yv��$s��a�����=.��-
���r���=1N�S8YL�3��&�""��f�:
�:�����t���5N;��c8<�i�HW��c��N.���D���=��Y�ba�v��#TNP��p\'��S�"�l�O�" �H�=�
	�����+T�1_3v�������w�eL�\7������o�1~��[c���Q��j���>�2m�������WL�t�E��G���3
J�m������w��=z����X�x:���u�����
y���_1�/2-t<�8�����#J���r�x|��V>{�,c�B&���9v��R��35+">2�,�)�j��Qc������q~-<B�6���&v��jm��P��yg
 �E5��oi	%�O%�1�qa!��A�8���������������������X����r������u]����qy���6�
=~�0p/����9�����,��NfV�6+��Jr���T�[���53����)l�}�sI���{%��K��Xmn���Pfj��4�6K���i�[�,�L
�4�����c/
N�nh�p={�?}��;�;���g����i�6��9g\E���#����ncE/�8����s;�|�����W�����o�<��W���/S�~���R�G_Z��Z��6*v�M���U!���U2�.6ol�\bS�M�bC1���	���?�;��T51!3���&��$��T��RJ<w8B��n�J	z_j�+����(�;���$��&��K����������v��^j��,�N)���{	���wq���N�P�u��C�T0v �9
CJ $F�p�f#,*\����g���C<�e���nv��[�V��p�#qN�=���W,��70Uy��c����������i>$���K�!l���������.�.�mt���,�d��t�YV#�"������?Jj&��{�B��-bbZ��KVn��]X����lA#dC����G��Pl�U�v��4��,vUpITm7l��X���o�7t�"gj��D���D�MLn�A:��Km������Z��(�eqx+c	[pK��M�
��1�h�(9��Kt���z�t�Z��A�w��C���f�96�o�SNI��Hl��'��4i��8�v���*�-�BASE�r$n��$l�n��+�E�UV);"=5��#BvGX�X*P����
��t�:'�b4������!*��rD8if5n��3/����\���M��q6Np�������q��8�t����[z�w����SuH�9
u6��4BF8�����Eo��4�������N"�4�F��"�)>�NCP3G����z�����Ye�G����G^6��)��=QX=�������4����}����$v��o��wD�����-3�pT����y����5_�[��D�|�l�ll+mwF������p�Oc`R�D�6���8"`�%���v��>/� POnt��#�xrC�<�<��Lf0���a����%s_����Q��y��:'��q
�W �ta�����g��"R�I"������}.���5i����E�m��gI|Fv�mvt���,�S�2�������f���0�e��r&�P�7?��h�h}L{��I�G	�^�
7%l�6ZvJ��N��������	j��;�;�����Dgl�uX��Da�������D��8�)^����51��$e�%�{|M�0{����DfO�8&qf���8�1;\X���
;����U�<�T�Jb��$Yz<R���x��8��
b�G�D�A���,)	�8a a �0|�({���.t�S��%t�QXT(r)���%w�-�wst�K.�ejj\J��w<���Ie����#�J�,�.Z�^a��Oq.y��Wc+���h2�����g	���^��g�d�{�O��f�gF\���ATfy���8�"�U�����{5���`.�����`��BG�j���d2����I)���[��.B���X��o���<���,���	|��F���^���e��E3�j�o��V9B���-��:��8B��^�����Y���i�'��q���>�|=�p����H�u���CH�Ay7<'��q���F���R�0��3G��c.�U��h'��]��#t1;��P_�t!�/3���	x��g�����%������,����8����hw�|�>���7 ��9��	��������@��������������w>�7?N��K�~'i��
0K�Fa���	t���G0���^��|�R�|EH�������('~�/z�I��z�u���\`�����������}g��$x�]�U[G��������oo�#��_��
��ug����9C�f,�������:�u�����*$���S���1�a�Y����a��6xv3�����!oB�	��LC^!3B6
��l�ke�lp5��{�)�?��xH�EK���Ch���/Bf�8���%d&L
��F���B1O!S-T�=�Y-{��b�	������R>
����/�����h����c|�}���d}Y��y�B7�e�h/���94N��*��h�_�����/s�_����$4�`��jC���`W*��+��o�&���<M~f���B����/5���m��h]��-��S�I���\yC�1�[����`]w���Xd���N�4���$�JtN{�G=��ur,�Q�G*��|i�����ll�,V��
��E_�MZ! �:��] sme)L����
��)�
y:��T��va�~6�t�C^�-�y�������r�i%�_��	m��-5l�{x�������B�	)�/fY��m���Y>��]�>N�B{���m�x�eb��c�.�}�����s4E�@��Q��K�W�)�����^������T�	�_�����L�>{�.3��K�k�Q�M�Ou5�q���=#���gS�Xy�.���y�+��Q._F�uD%�Y��<>"l�t���&��S�)����
}��*����	-�m@E���}"c��C�����b�M+���w0���#y?���'�b.�AwcN�������gi��~�3�@`�s��E���ya������6l�!���Ookut�6���O�x����a�����_0��2��\� }�����+���sR��vX:�}�BK�t2 �nP�}�����}���'n��O�;���H}����"�$�w�R����t��iHoWH*��Mc�|}��?����R7�Uc~�\�V:K���T
]2��0de4�BU)�����������;z#h����5�x>]�H����l���R�j�c�"��v��T�~��������h
�O�1���'M�K~���������Y�N���5y�#��|i=*�����}�����������$����Uo��x�_D;`�/ ��?0�kc�a�3��\i��"=���b�-�\?I��W�'�m<��6�_�|z����V4�?�;��[P��Va���yoB���g��ex�9��>�~���e�����=�6��h�&�m�gQV.'c����]��&�c���"�z����@T�N�[�k�[�J������]�2<��������#}�p���=��>�B~!0E��/���:�u{���Vv����mm�L������
���V>h�Cx�l����0�#��tso�����n���G!j�A����!�+��	],�!t�����A��|��A���=v��>-�
�5���h���F:L���V���j�����3�1�_�1I>�g_E����������?D^�<�f��z��_�~�r������a_��z�s�����G������b���;�����I����[�c]��|�������c����,(�&�/�	i��.�#�g�.7c^&��$�����o�B�M�n���4�����^��W|���-�Zh�me�����i�o�>S%��k�[��?�c!{_�����*�h+{�c�����R}_��9
{�@��m�������dx� �J�%������*���O�e���h�4��������p�.�1b�k���|������o�_�"���SW�
�C(���{
���<�/�o���Y��0_��=����7>\��gC�����;/����x�������5��i�!�c�?��/G�"�c�*}D�/��ux���I�9NE;�;����UZo�]�\~��7w�'�T��!=���!���b���S�~��gOSO�#��o����^��`�����Xl�� �w3�����]��VgT�������
��_��+@/f����O!lo;�����IO!����P�����@�qA�GB�o����
���
��(4�-B�Im�rA������8~��o����3�����q��s=m�r�����-P^���o�9�-P��;��(�v����X@���!��/�wB@���'��F��t���/�������|�8�6�����W�8	��d�����<|���w(*��o7�&�������|����~l`\�?q��@O��c����x5�}��HG}��O���y���"���gc~�.�/��p��p��]t��z
���1���2p)�'�zA��t�l��D%�A:�E�5�zW�����Z����.<Iu���YG�V_:�����;�9���0b��$|�P������/����9Z������r��ws��~��E�]����+�a�g0�.�\�{�����I/*���1I�R�o�~RS��2����(EYBe�����������fuKB��\��sRq��ajz��jQ������h��<�3�B��Vg�����`B��_k����1/3|4����P%����x�~�}���y5-�R�Z�b�F�,�
r
���*�������'Jg��x�����Oq�+L���K}fQ�8+0��#�OF>���<C�# �g�m������0|��7<Pa?[����7��(���	�7oKCc2�'N��/�m�Ww�^�Lj����	�6io�_���o�� ������`��wH7}.�����"<1��}Y{-p �f��b;������"?���G�&��(�?�b~�b/��{��^[����j3�!��'�Z�j�A�
m������c�����XN�a�����.�S�r���3M��	|�g�~t[*�1?mC��4 dx��������o����[�Qz������o�����h�c��P�^nV�����%��g�;����j(6l�!�����0
�3�
��3��Q�����w��n�zj^mEO
���@�H�;���
8�����@]����N����Z����~�����-�
8���0���
'����&����r1�c�1�'���x �x�m��������4M�dA?���l7�;a����Kx~-c�z���:�����.��y���[~�d����a���c|���������~�E�#x��B8�[r>�&�_�k���N�B6������
t�>�~���B�g���������5Z_P�+�>"�m�z_b���!�Wf�P����=z������S��iR�����u����3�dT����]�	:���NI�0��!	�+��/�,O�cL7!�� ���?<�z��pz�/���3A_�@�P���/�?�{%]UyB��xo���ss�~�@g�9*����4�b��-)�x���Kgs�+��o���x.�0�f��D��"��z1����lDLz���%�.��������9<����/��Bl�$�����N�B����^���?-������X�	zx�ml�ZZ���@�+��7}?wp;:�I���RO�����C �C�^J�p�3�M���'������:��F~��lb��i��t_wZ�����U4C�JY�,�C��X��]R�]�����h�vC���~��B2���M4��U��|1��4���C|u��/��B�����h2|��2�'�� #_�7�S��"�;�/}��i�#��:�n�~���~FP���'�\H�4|���^�x_t��X>�?�����6���C~X-e2�=�>|*�xg&�8�������_�t������>�XvCo:@�����V��d��#EM��W.���$��rJm�����=x��_~��6�x���� )A�a��[#l��V�jW���F���� ��p]�]����)�L��?�A`����ya���M�\�
��Bv��q!T��,:�����#�B���3![���0��`?LE�����~��!AG����l��%|3]j�,�y1����~3`V`�gB�m�������C+��;Q�w���I�N���?�	����Q{i-�x\�B�^i��.�^^�>�T�G`�����NT���@
_k��������8sk
C��������:b=��<�KC�5�����t_���U�oyB^!kE-�y������UK+3�������y�K��/�E��M�/��������4�N�x�;��������K��:��q�
�N�������	��IZF/����V��]��e9�?���
c�{$�E�y�]�n���������C�����7���-	AX�E�DbN�JG=Q��D1K��G�=�0C���v���hG;���v���hG;���v���hG;���v���hG;���v���hG;��`�/��7TB�H!Nv���D|9H2�{Ft}�?�V>���8���w4�c�	����C���������Q�p��+���1����7���7�1H�����	z��nF��/H-�Aj��]�E���E~kc���|�E�|z������j�5(�dt��16%x��)n{�1)���-�}C|�gAu�`u����)b_�i���u�u�q-5�y����\�n\�G�k�q-5����L�j�g����/���}���F.f�av��0��`ffm(p������Ww���������d�s�����"F��a�LOD������X��2��M��!�RW3�Ie�]!p7 7d�q=���F���w6�~�mb�
�]M&�������/���������]����e�t@��\M�&��d7��>�k�kw���u�k����*�gu��M��G�j�M��An��K\x�c�
T�g71������+?������1�E�9�..���`w��c��1W't�f�R�i�4mxG��C��]��T��G��K�P�m��m��m��6x�
���i�6�MQ���d2�&��Md2��.��k�N�.�*��l��\\9,�3�����x�����x<U�s��5���,CG�O_�����}�=�UM�>�_���kC.������(��UM�F�4�DQtc���`Uo\�,�~���Z�[P�P��Q\Y�+�������O��O�W
Yt�\���.������ �	)������N��w	=����p���l7�UQ~�="Hm�)���&������*,��b�[��-����R��JMo�dl�1�A������1�y�������A�������c�����9��(�����u�hs0�,����B�T��[�e4q1n4�<�$7��KK�.FO;��l���=y����}����BV���1Q����Ag���X�����������Z����o��������R#�*�4@�����4��Ll��:�����>�}D�WTE��J4T���Wj�A�#TeG�}���y��C	S�[��
���yT��^�/:�f��U�}���(�.�Z+�����.(,�������l57���X�P��������7��b�����n
endstream
endobj
18
0
obj
<<
/Type
/Font
/Subtype
/CIDFontType2
/BaseFont
/MUFUZY+Arial-ItalicMT
/CIDSystemInfo
<<
/Registry
(Adobe)
/Ordering
(UCS)
/Supplement
0
>>
/FontDescriptor
20
0
R
/CIDToGIDMap
/Identity
/DW
556
/W
[
0
[
750
0
0
277
]
4
19
0
20
[
556
]
21
37
0
38
[
722
0
0
610
]
42
67
0
68
69
556
70
[
500
556
556
277
0
556
222
0
500
222
833
]
81
83
556
84
[
0
333
500
277
556
]
]
>>
endobj
20
0
obj
<<
/Type
/FontDescriptor
/FontName
/MUFUZY+Arial-ItalicMT
/Flags
68
/FontBBox
[
-517
-324
1358
997
]
/Ascent
728
/Descent
-207
/ItalicAngle
-12.0
/CapHeight
715
/StemV
80
/FontFile2
21
0
R
>>
endobj
23
0
obj
<<
/Filter
/FlateDecode
/Length
28
0
R
>>
stream
x�]Q�n� ���Cd��iR���}�n?����Tc���_�m����Y`7;7��5�g/~V->�=,���FcY^pmT�F���s,��v[L�fV�<{��%�������
���o��w��6�vu�&��&%�0�D��{�&�����q�}��(�6�@��c��aq���X-���~�C2��_\��F��X\"������QT2�\��L���fK��r��A��,�Ds"QE�c�dUIW�D�Dj"O����S'��S���t�.�Y���p���]r���:�
endstream
endobj
25
0
obj
<<
/Filter
/FlateDecode
/Length
29
0
R
>>
stream
x���	xE�ZU�������$7���
H#i��E		�D�MDEeQQ�
7PTD��A��u\F�edH�;��;$Q���������r�TUWuUW���!�b%K�@�)�7����<H�<f���f�~M�zH�������>��?�!�YC��93�M��������;m���oI0���,���1{��Ieg�A������_9e����2!k�A~�����x��K	y���3o������#��0!��K{I *=I"b���g�#n����#f_B��L��3��dy���V[�RO�HB�/��b����d��L.������T=)&a6��P�"r�K�4���,!+�7��
�$��2�\In�CSW���C�&��%W�9tij|�����M�q�G�c���I�L����7�_S#����~�!����h��R���G��"M]�:
#�"W�D2���,	O�F>�a�X�Oy,U���b��� ��^ZF�,ibjX� 	B������d������!�HmJ� RD����7h������fL�Y�@�������er�&��J�!u�4���[�O���0�'����_��-��S�����m��;��b:��c���aa�@�]�7�������M�]��	��O�g����R.X�<�y��@���q:��H����>l{�},�F|J��2��2��J�&��^�����t1]E������0��]���Z��0C�+�N�
���|�&i�t��y�����j�W�kj%��F7y�l9D�����c*Q;u�/N��Xz�n���G�f���^����;�==��d���X6�l����=���0���(��l!)�	B�p%�j��~;���Q����y�*�#="m���^�N��F��~������I���{��7���N��Q��LR���Y����m%oR�]��^t(��$:����`&����q>����a��B��1;Y���+c���]����l������iA��[���Z�&,����������S�Y��D��)f�ybR N�??�&J�I�d�<[^)7��P�)����(�Z�]���e����Iv�V�#a��O�Inc%b����z�D�
�P*�LW��i=�������prB���>�a��y�0:��&�X�i�_��B�9.>��<y���7�oe�N	+�>_:�I�5���!U���=�FC�8{R	T�;��4�d	��
s��d'�G���e-��p������ ����u>!7�Z�Wr�x5��N/#����|F��� ]!��
�)�a>ZO���]9����'�i��^���C�"�D�@xF��V&��.�3��'+���2r�4^�3��t�?��X�*f^Re"��]��{A\ ��0P�P��� !���>�"P�L���@��A��1��\&�(HB���/$RO��S��+Rw�� V��7�c�v���h���!�9��RvH������w�hvO������a�%�~�^�sd��2�T����u����\J�����@�FR�<�mK����~HF��LeR����� ����LV���u������i���aZ�L���a4���@����;�������,������k����:%;����$�������h$
�>�Gu����jQdI%E��k�uy5ub^b����OL����
j��P��m��x
�o[S��������ZKM��+HE��x�D��`�D��N5���MT�����0�^��NHgeA�x�����:Z�W���5�j�����m}}��:�m6;$���%�l��^�'X�_�m�X�0��h�o��H�/��N��7yj��Q���M����XTG�LI\ZG���I^������}��M|&�
�%���q���\Z�tLML�<q|�0�
��$���u�k���e���>�W���&������5��uF�o}7�UU�h�r����]��I2:��U���
�2�o�o����D?,����&z'f��UK]SG.�&k{4��I}D���k��Od�U�%�&��m��5^�#��#m�t,��z����r	��ubZ�=���15�����8��  ����8�d|��^�� k���j�WE�U�TX��u�>5k��X����\5_�=
H��m�d�D�U�'�D:i!5�o������B$��)����u,Z���9jL	s;��g1LV.�-
�2uKG���qri�v�'��X
�i4���������5	��z��j�������}�f����s{�~����Q�����1�v��69�~��{F���g����K�] ��-�13�Q'��?����T�Kh��Z3P�V�����F
����s��a��L����&�fx�5T��1�������w8�@@�d���x�:283�5�{ T��i0e}���^dd�TL3�U������?�5k�'��������Zzi"�&��a/����WcNCj�-iu��V�\��=�)��-AW������'������z�����>5�������{��h��a)b&�2��Kng^?m�F�R~W�<?��^f1�(����2�,cP&�e/�?�1}��oM=�%�:52�
l�������������=�j9C�b#V�:�����&x
!�F��bP4����(�a���5���;����pZ��vIz�g�+(j{D��HD�i�pn�gBy'���\{�y��$a$]�������@�
����U�*�hB8���>~��z
.��x�q�B��P!M=��r�U������t��F���t�Hf��x�L�1R�9�r2w&	��L��A�g�TazA&�����N��s..���A	.���I�
\H���fb���v+�
�XNd��l9��t�VV�'�J�����f���+���>Uz���<�wz��{��*���UM'<�����}�}i���_���������Eo{�=��2������L����b�aE���6G`��0�h���4*D�9����������x��.��\x�����m�����M}&z�F��t���n���{��a��+7�>�<����WT��a�Sz-����Ng��1�n^����f�f��?��Y�q����bB�8�������W��b���p9P	O�&��I'�I2>��z��'��"v���T���^������Y/�#j�0����R�^w�#m�(�b������$�b�~�����>ic|#��*��)������k���B���U�}�=�+�w�����������hq&!�]=N$~��8I��V-+Q��J�U�2�bX�OQkX�ez��x\x�c�B�|�M�C�8A��k� �Y���-�N�����p�d�\�4&�V���Q��*����>��D�Tt���S��=j^"[�����a���g����k������O=u�����M*������9�nss���o7}���oO��<���+�����3@u6�������_m�
	�����WAszJk�%�vv�E|F�V"KL�J����6>6�EBQ�4�>�WU �������W�������A�1)�SK�!�J�,>K�qI�����t��i�>��2��*Hee��z�q>I�)3�YV��u�^���_���{?.^ ^�kq�o�:	FY~�����{���3`���� �`��p�����J��Gu�}>y�i����o4��B*�/e ��BF�����N��6��=�9�-�g���� U��:����I$Y���]��XK����5����~>��^���2|�vx��i�k��������ao�3��y�y�s�>�9�e�+1e���1�U�����{��f���c�ci'��}��>����t5C��:�����
G3l�E�_�E��X��
�Y�1���6�M;Fx����w���6�Qm&���Q�4���	���J�c�H��������d���l	(��,���8�U�KV�'u~�h�mV}��EZ��*W����4��&� ��z��������@A�P�$�e%���gd�����,����o7����=������O�����g���bJ�
��M����5�C�|���-�oZ=�r����bh/I�w	a.�
���V��	k�x���Idh��
��;�f����bRg��G(��U������	���Q�,���WV������������dW\��t�s�t��<y�	/Wg���r^�_�\��9�q�M�����KT(�KqM�^z�b�I��ebx/�D"l�f�QJ0L��\b����Y��?)~e����"���YU1�*-U��y\l�Q���1x����U�����c{�M��� &��"��5�;
�Hr#���'��-b��(��q��N+ Y�:@���U(^|������{K��$���q��w�.����%C�^�����f���g}��E��N�z�����~!Eo
��������E�O�q�����/�>u���2~w[c�������J{An;��=��:�=����9�p.��U��*qq.��U���X���W�+.�E/�	�����2�Z�UW��������8���P�oD��M��H6���>q:_D� ���0�ST���s����FD��Wmb��[�lZzf��T6����o�yak��5��e'J��Ye�:7Cf�;��L�86�6�8������������Qo�D��P?U��POV�����S��A��nXnp��g����r��oi��r!�c� ��W�#�����wh�r����-������������I��_FK<%��G�PvO�r��]�7��I���~�y#����jQN�}�%=A2�Y������W;�H�c���B��q����B�4h8��0�����_�a��X�/v[)��P�m'N/��l�@��*������E�e��K���J�*`��� eP�t�r%���!�k�����{�������,V_�U�������P�4����|���~���r;A�h>����b.�[PcP��"}E�����LR�T������+B%��J���faS�������2��w������s�%��pi#^�+�>|�= ����tJJ@r�� �}��j ��d�Z����e�4$�W��������X�����<u{�i���w4R��[O���.U�������GT�?�i^8����^�c�G(Q�}@��B&����O�����e1�&%Z�(K�O��������-���8���L7���(����:�`��I�~�-��\[q�D��HS!��B�=	�����/��U}\�_����6B�*Z�o�o|�wL�V��L���N�/�\[aY{��V���qa�u�!���:�T�����x"��7<8��N�L�o����*�3E�Cv��S�kRVne��W9e��� ��O�F�W]W������\��s�
�\��M
]ZC���Y�m(�#
5���OC�c�I�����2�i2��;� �ZK)�9�����YAM�EK'�M<jw�k����3;�E�j�]0�Rv����7]}x����>t������}�m��mz��k���]�:�����M�i���������S/l~����[��o�V���������I�h��N*�?f��<P�tfT�:����D��6���n�|�Wd�$&T��.(�2�q�z�zn��������[Pa:�,����0��2d%����>Y������n�=����Y<�������g�{�~I_~c8��k"�5!� ���{H�t��\+a�w��l�/�������Ev����=�l�I��|��;����?S��F����p��$����<�����9�������91_� i�P�����v��������3-
88���
�n���n�����x5�`�ZxZ�	8�z�?1�y:p.>�6��������n>����(�E�M�o��e�8�ec!v�-\����{?�3��0�J�� ���������3��\O�,s��W9�
�B����J�2�r�J����=|�l�c�(�x�Q�x��H���d�����m5���0�H�.D3���R�^vI��f�d��I�wkq�5nJ�����Z�k��00a.`���*4���@���o���9��#hX��eS�q��'[�[���-�����!k�^��7����Y�������Q<�x&P����9��5��O�5~Y;{�����y��������������9h��e���q��BZ��fmx��
���P���)Bi��/�13��4i���gS���xb��[6��8�����7�J�#��\�kB�t>qY-�T�
��tL8o��kBW��$�ja��j���������@?ot�m��$���)N�a]���	�	<�����O�S��d�]��.������rG��z����l��q��'��r-���?r������Z�q���
����L�����]W��;�J{F�������������%��^��6zK���S���_?�����>|6(��0Uf�h-&���Yq9^�1�5	M�vI����zD��c�&�d�Q��������v�f�m7o�Q[{�������B`pr��|�k�����<��y�%��hj��j1MMM��������-Va/VV��Z0��zx�0�r&�#�s�
.�<����h��f�:K�����<������,�����7����W]��9���Zj���T]��I�w��5���>���]�\��dp�s1&�"�;��Y����3Z��YXX������pPa���p�sfaM�5����>��t�-���p��-�"���*�s��K� E��S���U�����Le�2�����r��h�8�h��*9�23���
<��?&=�K]TT�sJC]���I���:��]���]��R.��V��@�
�D�u�I��4����C��X����KFvs����8�e	`}m���".U���b
i:��o��&���IH	�\Q1�x�U�Q��������oL�������Uf���1�7���������z�4��]���5����:�m�����].6���f�'��.�\d5�7��
����Z->:�C��pv1��bN�����s���d�)W�L�s��C\�p.e���0���U>^e��*s�$w����]�+@[��������&�;���hX%yT�`���y�&F��Ts��.���<�*�[w�����^C6�`x%��;��t��JB��=��>?`����w/�%�V/�&�.|���Wo�ZC���B���rb��3g<��~���O��l���������x~����[�h�wZt����{��bj����5�8�j����M��^���h�Q������~�T�Y��23�c%���9��2����`H���jK�s��:xIt��r���+����8�
����u���'�e�2#q��]��,U�5i�{�4]z7�{���P.Qf$-&+����aS��M����\N�9��T�k��R���#�v�18`���������l7����K�Zc�6����z�F���)!^�"�N��*8�	�6D.c����h=A�LZIG���j�|C�����)'=��F�E����(�"�6����0����;���;
�Ir�
MF��(PfS[jEr��r=�\M������x���`,�|�je�t|�~��K����������t��y����H{���}����o������=���r���b,hd�s�8H�(��m��c||����WU�S~5��R�7u��FF�9�����]	�D;uN��'L��w����[����+��V�����	�����jB����M�������f���,�*��R����]��G����	\���W���7E������j`X���9A�����sc���M�t#ArZq��,\.g�����T�F[�i)�����=�����R
)�jX�v�T��qr�� ��`P,��-�I/��] ��B3�J�).l������������J�����/n�9W=�8 ��i=�������������X�>
���@��5-f�=�R�)R��iw�b[���}��_������en�,��z����n�+B��tj{��e[7��^��7�~�F�9���>����O[lc�3�Y������e����������Ti�u��&����t��~�������W�c\�33�QHC�(��N,��)���9��~���A��l���9���O��.��]u���+BGh#t~���N	��w��*�z�f��D��� WU{�
�U�g��R�.�<^	��QNyd�s�V|�����u�`����zgzB����������+�o��
}}�}�rH�PI)"��EP28�p��d�|�i�J��L$�td+I�����XZ�/�P95%+��������[
��h6�2@���.S�i���j�[7��S��)��U�|���+^{��G��f��u�?�����}}?j�!��2@��:�B�$��Z����Oj�+����%�T�.�Tz����H����bo�H���a�b��#�&{gG'�������J����Fk�s�B0�^�nP���i1�B��-�%�d#�J���b!d�(�l�s�&�9�>�1h����D�g�������9�3
v����R������A�
�V�S�����@�Q���Rs�u��%@��������"�W���p��j����&�X��@��b��gn��@E��
�)y�}n�l��bA��x�Jw�i���%{����E�����#�E�~n��b���w�(G�q7/~��=VO3A�:hA��?���{g��W������R�M�����#���-2'���A�SNK�Y���4F�N��,M�8�;f����DA&�G�����9�ib�'B|2C���������;��(�
����u�F4�����%~~���)�F~&E���������n�������iq%��#���$���6N&O�f8�:Y�Vp�;�<^���
�w\��\���m�*��^��M#��F�4Y�lM?�+�$�J�J�c�4��n�l�_���C'���za�C���k�����������k�N���<J�8/�����]��s�C����5=�^d��%�����������������N���^�^�C��m(R�eu�PY���?�_�1Yc:�T�dM�PS��������I|��	�@�V_�)\�q��+����&����5U����~�1�-(�-i�1���U�����s���!���PMhiH,�%ac��4qij��!.�1��K���1����!�C���A��i��Ok38�,p�\����)�S&'���}�C��)����t�KC?U�e����;����������E��lvG�E�P<'��c��������"���)��9j��G++��=sC�`H�%�u�t����#�y��[�����Yp����.�{�����k������y��/�����6�����:uB��[h���Q����gg�ph��B������@�]E��_F���{HX**�������~�^����Hi��qx��D�;&)~��a�\���\�B�GG�U+�V���F+
r��pq����������bn�[�XJO�m��B[�t����f&;��Gw�Qt(�VZ<ds��u�TP2?_j?_R?_|.��
�:���@�Y�<�tZqi��
IqZ����q�cx`��pk�m��}V�[z�-��
�(�^]N�d����i�i	A�\�2���I%�k<	_z9�YUC������v���|wg���&����}��M��tX
���)}R�0���W�_~E��6�5�|���=$L1}��_e~U�7��t�y EO@�&=����&����
�R�a���
e=�{�����������n��Y�ZOXb����.�>b}dMYm�V���	VY���{��Y�E���JD|D� ����G��(���a�����1��X~�/�h��E�(DSQ��C���q������D0����N��EF�77�K���������^����31����������vv`��2���3��}g��wZ=n|�t�y���8y�Up;�)����X�-e~|BOX��`���c�
W��W���J��;���V4�{%^����P"��$���D)W�ho�Z�������<!�����Z���J�g�X%�W�����H�[�����_(����6�$"�e�j�@�j��*�_QdAs%�_�l6Xn�Ba)%Y�3)�&6P�f�D��`�_�{c<��D��1g��h������%�2^�x!����J2X
�]��E��
	1 �B0&���x���$�p�=k����wU�\H�
w*Y=�88u���b����WI���a~�LQ-�
�_���!V�i].0k��)Q1�J?����E��VKzz,������=���,��	���d��]�S�����m�}�]-�u�s������i����H-� ���W��:�=������W��Uzl
R�C�(��,v�*@�t������7.���}��5/l��2�m�h�&`��(��0��Z���]�.gkI�F:����eQ��o�H\�����{���;J�t�����s�S���&�R�����$���	I���HK��$�^�1AW5�$�r`�=Bh#9��J��pN����;:Y���0Ou��7yH��!�����AQq�b�O�
.�M�����
;@�k2�>�C|�HQ[���3�nN_�L�����H�#�FL�����p�k��if�e&�f�g������	����f�j&�f�c&����L����6��,���G��KG�Sq���pZ�*���@�O�r"Qm�s���
�,7��r�y�G���0�x<����q�R�<��#��TmJ��ZF��j��k8w]M���t��;H�0�;H�VJ�6�����R��J3��i�Ca%	��v	.���0�Zc�E��E^�OD����a�5�����G:I�t)���@����B�#��n?���W��7
�7���s�t�@����~(��4�~_���I�^g�4�L���-����/C|�[V��jmcm������f����[v$&������S�.�)��=|����n�����|R��75���/Z4r�M����IA�M�I��c����3�	��OQOf�]������������]��,j*�6���2��er�e����Vt�[�vnK��-mo���\���y
l�mi;��!��Nv�u?�q�e�����?��0��"���'�lNxC�.��+	9�9
9���;U�������i[;s����
���y����C|���O7�Or�����9
������l�����,6�&�j�Gv�Q��kL�2t��(9a[<��b��W�_�q�j�/�8�I1������z}�|������z�����\���w���+��&���4�����4LE�
�b�8�-��*�e�L��T���,�S�x���'J����������l�Tu�wvpj�j����ba�4�v��ra�4�v���������������PN���8�(-](<�iD��m�0���Gd=����+'���B��*qEP�����!H+�1�d�vqrq9��PN�9��������@b�:x ��\Z~��h�
&Fx������ ]�*3>�iM	��d5�Y�m����c�h�XGK���J�ZE4W���c#�����w�M7��
^��-6��}���;V���|4����o:���4�:_��?����0�U�3�,�
/���hjG�|u�*V���,3���H����;}N|]��3�3mphpZ��b�����Y�Z�Luv�6�1�������73���f|O��	1�&ebO��8X�������=.!��:9s��+bD�$�D&�b$����6�Vc[j��,��q��S���a�����
���mgC�.�E�-��Vb�����%�����m8��6��f�T�m8���o�e��m��Z���'��t�o�y�[o��L}����|��j�Wm�y����g]��un��yb����\0[�L�wkF�Z�����3���tF�tp�kG^{�/hQ��p��C>����*��X*�G����l�X�����:�`�v�`�f-Xg������Xv�����~9��bI��yZ�\�3U=�1�V��p���?�8�V��w&
���<�N�WV����8�V��T`* /W<�kf��������K�b���{>�?��f^�[0�����6���hH=��;~-hu~XO��:.�'r�D�Ld��,3���%<����il��3.{Z�b�m��9O��.zQpZC�p�����CR������-�m���,���l������y���������r&���S��,H,�Y�s��A�����y��)�c��
v���,0-�l3�09f�x_�|�|)�|MM�4oF�K~��&F�y��)=����H���TFFD&E�FEdw$3re�����=�"�
=�]���U�Q����;S�2�5�������)�������Yz,���Y����|�����X'{f�Fs"�/\����(|X�"WG���8����U������wa�������n�`���v���B�������beL|���O��S
�|Y���5]����K�����C��	��=�O>�O���8�d����
�9n.��|��8��������x�W��Oj�����Hc��z��������y���*��\��ie����$~`7�VA�
$G�q��
�3Z~����/���^��
r�3�F�J�:�%��,W"�d'�K[-������F2�t�|�t�/�T.L.[���{�$�)�
�R��s����N���[w]p��2c;��t��W��}�u����u���(�c������s���xV0X��|���f���;��X��i}�O�s�Z6|�5����]�p����t�-����'<r�3([sR��B�~���mS�y������nCO�f��d���hU�6K#�P��FT�I�
t�`w��$�:��1���4�X�Y��(s���:E$`�lP��F��"+�Q+�nd��#���n�	������Y��Ct�u���^6��i�m��y����Q��'+�noS*5OI��
��F������M���["~0�����^^�|���;}��������=���������m�kXQ�/ �?��M����Dq;4*eq_�������K�>�c������������M�#���s�!t4���	q�%���<-��B\y�Z<�����1vB��
����)K�hc���Gqa��i����9�
��h**�a���K�p�-����[[?��VS�Z[��/a���#��V��X�&�ux�M�����=��*?TQn|V�U���d�b�-�\��F�OA��p�*�������,��!+v��P���%��P��v��F�v^���g�(���l�qk��F�����yV�
��?`EUF�����#�jKTY�Cl<o�	
��]�Uf��Fln.���hLUVzP ��v{�;;�����H��=�=��]���R��������`yT�Y��ZF{������b�Eb�Re����g����58�h�����p��'�{�1��kD=�����N�~n��)�L���lL&<�
�IR��i�eYP,V+�e�$
��n�h'u�����9��C��n����+Ss��O�U`�N��u~�C�Y���d����R� �
�l�{�l�A�5����<R^*r�����
,{L� ������HSuS4|\=��<�iuK����^u��U���j�+�r�{�e�*��_�R\jE���������v�o{z�#;T.`~{V��?�����r�+7�����<*��JK@\w��c�B>u�������N���i������=��`����{��iv4�AW5W��j%|�e��9��f�~�s>��E#wR+��@��W�^Cw����������hM��6�[����+�e��u���#ne�8}?>������Uf�w�}��������������:��xQVo�������n�n�2��{���70X���Ufzg�f��:��\��6��������w��>�f���s���/m���w6�?�S��t�>{,Mt�u/w�H��u��[^mlw���z�^"~�/�k�C��p{�vn6s���Sc�8�/�b
�r��B�7�1����y�$�>/�6����4��K��->[Z���1�!�t��5v��9VY�_�&�i.X/@��<VO����p<V��	��1I��z�iw'��C�\����GM�h���=�9�����h���`W�r[v�r���@�';Pn�)���6���I���=r������7���%���*�<y��y���'�3���7_~AN���J�/{J-�I�u��M�_�l�BV{��[{W�FZ.���������
+��&���^�0/��
�����W�
{Q���Z���r� ������P'�1l�e�u�z9����q]`��z]a���#=��"�<�����[���*����@)+��[�S�X|����,6[.e~
���e��d)	ol��$������t�Xu�[,�$?�4��=��vnpQ��\5���.��s��k��@�VBG�+I�$�#0�� �n��+��!q4���Mh�V����8���!-�S]��.�+�z������Y���g��s	�w�,�T����|5'
�17N��>��Vn����}���r��m�r���	8�\*�r"�,+@�n%Y��i��������f��N�"�yu�%�Y ��"�3jg>7�]��%�����G?�/D����v���t�J,�?�R���Sz5'}Trz��kUb���9�d���H��_�%�|�����qd<]E&�g�AH'���u�@��{�-��!@�8��Q6`2�h�C�=��1���|2��I�������{���t��!���	�,���������t�:��y����S��a��!���]g#mUn%�2�w���b�o���&�O���
�9`%�1p�!P��7�*�2YM_N=
�����UX����9+�~%����M���8d�n�,��� �.���Ho���|��w��c�)�c����$Xy�`k������� ��,\�0�$�����|�/#P����S�p�S�h����<�0�SM��d�p���{����{L���p���IG9�,���_�0<�sNS��������k��o�y����2X������~4�X����x��b�s\w:����:�<��i�`{xV�A�����Q�s+��G�E���Ng�������	����=�@��8�� mr���^�9��q����a��:�l4���d���Z����/H�0�m�����fL������7��HS-xO���1p�21����6�����&�Y��q^����O����v�<X $a��M&6��� ���5�� S6���2P��\*� }������}�n��\hi$%��# ;|�r����=���<B�9�+a��*IO���}Ez����?���6��#������O��-=
2������T
��N�	�+� nb(�������Yji�2��2!'�5�S�Hw��'rx��J'��[�����;t)Y����J�Lf��L�����&|>�9���
���%�����7h*����G
8�=�������\?��X��k�t}�B|�I�����}:��e{�u�w�Oa7����e�H�s(g���q��k��c������
c���}�����Rr���r}j��Mm��B��R�Ix�E-:u|����L]����G�2��g���������q||Vy+Y"��u�����A�Ow�Xs���������`"�	_B��P'
w�<�.���$���-!�/*�E0�Wx�T�X&]D��"]�� k�T\+|���*��@N!]���N����>y�����
�B�B���P���������M|.x{�E��q.��r�\�����#�Xr��Fe)�&)���x����@�(��w����V�lZ
2�p���:#<
���:����i�����w�+�2v�����!��w�F{�n�FL�~r-��n�@NB��@�r�����7C�LCn��f(���h������h�'/�v�c@;�� ��d5����aV��@�h4ft���o0`��L�1�Tr=���g��NH
u�q�)�#]�.���Q������M&��������u���`[b�!2���!� V@���
q�/l�{�������N�
�$��5�~B&���VB���3X��Q��AH:�v�����vcfC�����x1�f�0��q�c�������B;�#>���_�o�:n�n%Ol`��>�0r
������l���b�Nb�
��E��U���VF�X�~��Xo�
1�=p�k������\yk��R{��w���'S{���y��u�O�EZ� /!~e!��P�����4���$G ������_�V���~Gs=��[+Gl�������������7$��q��S<��MT�*�A�w����Os���.^�n��V�y�������ky��Lj
&������X	���-��^�Kp�����'&�Ba=�	h0��yy�G`90�(��h��uy{'�������_h�_F�!���n8��z���>���_�&�A�\x4��&n�����}�)K~�N;���K�����
�2������h@��vH%��G�>��7�,9[���1��e���;8!����?D���!=����bb�`��(�e�����?�GBN����?�`�������_|���-��~�i�<�� 9�xH�\��B�{��������O1�,S`�������cs=��5���5�*f���>��`����}���cbX��� �M5�M�@;mY����h`��q;�%�ob���~E��W�y�@���~>��7Z�Vz�<�������So��q}��&�����:��
�n����|:��M�f�����_�i����VG�tjW&��_*7�������~Mw��u�/���z��7��	�^�+����"��Kb�J�����6��������3�~r�=���L�D[�����������o��=�����9��@:�Q�`���@G����,gIW���+�w��l>x*������&��yU<���7`���s{�E����0g\����b����f�k�>$����~�8!���@;�Wq��,���w�,����y���m�m �G������ky��<���9�xc_��<��L������:4���A>��!%���T�����=x�C+��w��1����`'}����%c|
�����<��:��	�"N$}*E}�j,�_�c|�f�����yc����<l}�<l�J�[����{��MP��ryPN�����^E��3�?�eF[b��;��	��&���i�����t�w<��1���`��_�:������F�s�������q��d�p�}fL�	�o�K�������K�/�B�m��x�O������>\>�_���k&9������=��?�[\������G�?��a���;P�a��+�W�����r�n�	��r}�L
P	�������	d�9H��5x\-�(�����^�{�nc/0"�%cxL���`X,�q�q�?�5����n`>W�s�_�����N��=�p�#5�*�IEz�����#\	�K#����`XW7�I��d�=��C�"���7�W��RG`_B�;���<����\b����ir���`+{����e�V�t=
e�d�[����>8�~}�&SY����*�_;�6�P`�3@�x�-�i�qq{�r����(��(G��=@y���/���q�Ry^{�����q��s���f|C���/��K����<���cx{������	�����>������P�@}��!
�Ej����Q�^�S�����m�����
~uj�9h~pL?�a����`���m~N����g��}�����.�T�����w/��z��V���co��\������]�9H	B�L���A�NR�[���l���|�;��g�����dF
!��������\�j���py�	���]
d_�*;�y��F�e�4���E�
���}2�����I|�D�cd�x�+��x�[������Qn��!�L���J�'�{'��*[=�_T��?���O����ZO(���N�_z}#Y$]G���&��0�#d:��Ly)�n$M�V�M���[�#S�"(�B���$f]v�a2����w���B�P��_��p6	0���v����<7 U��L������""��D�t� R�X��*&��a�A>�!������������O�e��������|�y�����x�n��^��}-#���g�~�R��J��kL;���0b-1�}��ly��7��B#����}<i��1�}�F�%��U�����	2]^IFK�`^|d���U�0�g���������M�`m��~5����@�_�����9oBY�z�|�b���}��Z��������-��7�p����|��C���T�,����s{�H?���14�a<S�3{���]�g�y��>���d��n�E�|�
:��!��
���z�q��+�t�����:�����_b���s9��[��9�S)#��OcwF�-j��9����a�'�Sk�������`���gs�
����h�-�C��?2h���`���������R�D�1/�!��_�(�@���h�r���u}���_KG�Wt������[����-����|k�-&�R����h������3Z�l�o<�����u��z�7��`��31���v��>��?K����a^�x�U�B^��Y%a��4~^���O��V�M��q�F���S�:��H����2M�?%_�'~nG����{8�3��
��cI6�d3Q���E>�,�@����R�u:�(�I	�{��?{-��t-���?JK������t�/��8)���[�S�|����x�������C�gz��q��W���������G�3���I"�Wp��o&�Pg����37����{��N�����V���k�\
?���tt�?����}�/���d��?p����g�Y'���(�@��������4��+`���L��t��?|������a�n�*��.����i� �����e?�V����]d*��S�yz�#��2�J_�}Mz���OI�Bi���v�t��
X��3�X������������9�W� ��~A*�	�k�(��~����:��z������}rK������������>"�)��TI
�����!HK��o7����GRo��o��$`}��5$x~���i��5�}�r}���S����-2~~Z�5n�*}�M��������c`����9��q���q�C5�l��F�lh��"�3mH[�-MS��?�_���{l$���m/������1�[�?������k��K�E�v6���j�$�_���?��kg9~5�n������V�F�ze��%u�����	A$��������x{���H��8i��q-�����G| �z����Y�;O����B�5�k��6������8m)��e*�x��4�7SQ��WH	;�� z�AY����a��9�iVh�����J�]��Ap�^�2���,���P�����U���{K�A��c�I�/q��i�S�?��ml����=|g���������|��5`b��s�T6�Ru�y�JHTP��T��HE*"�J4�j�������]E�6�����&�����$���C����Tj���=Hh���0��=��3���������O<�396��9O�s��	[���������|��R����'�������l���4���~w���9&�Ls�����.�E�������*��k�;�����~�>r��g����s�����;��>�r��r���h����,��c�����=��?����Y���&�~s���Q��9zA����g��x������E��|�a��o�3n�1�%p�|�:����'���h���P�x~���)��^(����t�W4��%���{����p\��xB������������;�cD����#�{�h�R���Tl���D%���u"��<JT��NU�(0���hl��������u�-$���[����8
U��M�w��"jA��;
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�&~��n�
�1����j�}u�|��h
�j���%��s�\\����l�,Yo��Ze�pf������VJr8����4?�}�����ap�A�X�}`L�he��4
_d�6ig��^���Ahd@��V���>�#�D���eLX+N>�u/N�*����\���v~]���w���8:��q[��=��	^�����]X������iE��"T|'$��!/cd�	m&��k9���V��
���51�k����9��d~A(��3|�
������~jzA�/�(�Ag�0��
,��wim���0��A��������oQ-h]��q��oA��u�[�v#��:�����z��������j�O�-
H#X�5���Q\�5
�Bi�F��\���4z��VA
�H�HV?d�������4�s�'"��GM���+d�6�
v�XWa]%'�
�� }����Up��0h~9�b��R2�dD����e*F���_��U~A����������~�"SOH���A�"~
�u����D
�0������t�# ����V�����������)=���v#X�h
X�0,�>�/���c?������"���`	��~XB��
K������l��%D��D�?����F]���x�������r�=b��.Q�%kj�b����5�5��s�Z���������������� �tf��f�[���X���.�0k�Y/2+�����U�,�����<�z�T�R�"���~�g//G�������0y	d�ZNf��<�/tE���Y_�<�#��� �v��\�A#�F#�dx!A8�A���?"��4�.���Y�q�iG��gd�j��nk|K�r^.����o�vDg^?k�g���������S�f�g?���G������*��8��G����4{62"3���B�c�(����RB�/!�#�b��i�PR_�d�d`�1���Tg���_���4��w}����v�����>k\�k������)]������u?"�'��B�5���O�2������Z�k�
l0V!����'��Y�Q�h�p���4g���B�1kP���,��/3�J]�m�ssw�[�_r�����n�]�.u��z|���i�<����qy��<3���pP�����P��nF.i�����S��fN������uM,f��B�����u�i��f�=�����1��7�K���;����lw��:�;G����f���ft��.\�1@�x�T�9�����hwcIcaC��G���Yy�����c���b�:�Seq;$�LY<f���1�n�����P�����j^+���h<K����Lv~�17����#��w��;~�H�*����K���:7W�����OT5G����O�I	��(6����Ou��)�hT��Y��n�.��.]���K�=(]��q����t9(K���������O����4�,U����S��]����C�����f������7o�&��;^���TF�����Dw����h?u6�w�w�{���p}s��h<�������N����>������Z��]'�[DYu��:QVK�E�E���u�{�)����)>5����<�T��� ;o}y���A\������=����"j~d~DD��Q���F���//d'�Q>T6Q�wWb�4?u�� �w�hpG����f;�)��%��5�bv��
�n7B��&��'��NmNg�;��\j���[!�rs�������Z�����R,�g���k�?��q*h��m���1�k)1<$�����D�j�?v���	zwe�l[�f��IM2���l�^dH���K
endstream
endobj
22
0
obj
<<
/Type
/Font
/Subtype
/CIDFontType2
/BaseFont
/MUFUZY+ArialMT
/CIDSystemInfo
<<
/Registry
(Adobe)
/Ordering
(UCS)
/Supplement
0
>>
/FontDescriptor
24
0
R
/CIDToGIDMap
/Identity
/DW
556
/W
[
0
[
750
]
1
7
0
8
[
889
]
9
15
0
16
[
333
0
0
]
19
28
556
29
67
0
68
69
556
70
[
500
556
556
277
556
556
222
0
500
222
833
]
81
83
556
84
[
0
333
500
277
556
0
0
]
91
93
500
]
>>
endobj
24
0
obj
<<
/Type
/FontDescriptor
/FontName
/MUFUZY+ArialMT
/Flags
4
/FontBBox
[
-664
-324
2000
1005
]
/Ascent
728
/Descent
-210
/ItalicAngle
0
/CapHeight
716
/StemV
80
/FontFile2
25
0
R
>>
endobj
26
0
obj
290
endobj
27
0
obj
13285
endobj
28
0
obj
287
endobj
29
0
obj
22282
endobj
1
0
obj
<<
/Type
/Pages
/Kids
[
5
0
R
13
0
R
]
/Count
2
>>
endobj
xref
0 30
0000000002 65535 f 
0000064913 00000 n 
0000000000 00000 f 
0000000016 00000 n 
0000000142 00000 n 
0000000255 00000 n 
0000000420 00000 n 
0000026597 00000 n 
0000018974 00000 n 
0000018995 00000 n 
0000026911 00000 n 
0000027062 00000 n 
0000026559 00000 n 
0000019014 00000 n 
0000019183 00000 n 
0000026768 00000 n 
0000026518 00000 n 
0000026539 00000 n 
0000040933 00000 n 
0000027206 00000 n 
0000041316 00000 n 
0000027572 00000 n 
0000064245 00000 n 
0000041524 00000 n 
0000064632 00000 n 
0000041887 00000 n 
0000064829 00000 n 
0000064849 00000 n 
0000064871 00000 n 
0000064891 00000 n 
trailer
<<
/Size
30
/Root
3
0
R
/Info
4
0
R
>>
startxref
64979
%%EOF
duration.pdfapplication/pdf; name=duration.pdfDownload
%PDF-1.4
% ����
3
0
obj
<<
/Type
/Catalog
/Names
<<
>>
/PageLabels
<<
/Nums
[
0
<<
/S
/D
/St
1
>>
]
>>
/Outlines
2
0
R
/Pages
1
0
R
>>
endobj
4
0
obj
<<
/Creator
(��Google Sheets)
/Title
(��Untitled spreadsheet)
>>
endobj
5
0
obj
<<
/Type
/Page
/Parent
1
0
R
/MediaBox
[
0
0
595
842
]
/Contents
6
0
R
/Resources
7
0
R
/Annots
9
0
R
/Group
<<
/S
/Transparency
/CS
/DeviceRGB
>>
>>
endobj
6
0
obj
<<
/Filter
/FlateDecode
/Length
8
0
R
>>
stream
x��������%v������V��>��v���������w��4@3O^���f�0��U�qNF$#�u3y���{��=�IfD&�����i����������x�����?��O���������O�w�W`���p�Z���O������/���������%�h��?��E��?����z;�u�������������i�u��������������/@cF���V�������xy��K���y*��gi�5�e���]#-�u���/��&�.���c���snh����������]'m���{g��yT]�G�����	�h��z��q��b��]��<��i���@h����W���|�s��U��z�1k/�9���2�����8�y�d��������0�fT2�"�C�v�n�!��~,�X�2pn���p��J�T�U]�5]��g ���������c <~�X^�[Q�u2����He`�@�&s�Ef�]�B H�sC�����������)���87�EI��:VA�.--�b9o�E�o?��Oz�����$��=�����!*�y����uT1�N*F�I���H	�K���.zn�Sz����e*A*B��
RR?�YT	9���'6�����Yu�$}S����T��yK;��S&!8�H������EVH��2���a>�h%	�IE+�s;�B%w�IN:`�A�sK�*-��mB@m��?:b�5\��viZ�HM��d���������M+_�����!�'�#���s�
Z5����R=BjJ�m��1<����0�>�8�,a������:>V��)_�T���0����"�uez]�����9���)���	ziiQ�1��c�W�6� �[�#���,n?>�|W5�C���s��KK�������pU���\ZZTIa�W�������H1]p�]�����=_�0%\u���@�G�
Vz%]I�27�
W�A((
���a��w��"1\u��@(H�
F#�.<>.���4�<2&�GFL�t]t��HZ��
Av���T-dL��=���j��f�WSrC�YR�����(��'��-B��Z���G���=
������"5$�D�A��KK���\n1"��G&K*��2&}���EV�����OW��.�D��98���_�Zd���j$�d2	��W�
�� ;$�J�(���qs�����}H:�@�#�\	i\�j�<]�#A�:�\�x�)��E�R�J:���������w����?���RC��ef���cbR�R��� !��ER9��<u�l"b�X
��~K{�I��e(�D��=f�K�[ZZd�^�%������>m���P
�����+�l"jL\
�JA�Zd��{59�N������$h\�J�[��Ae"}p%�O!W0�"rHY��lE���dHH�
V�`sB���������N I��9b��d�������b��C�Xt2����%--�J�3��s�r� �Jf,FM��=�:u���$�N�C��KK�����b��d�j@�5iiQ%m�"/,&��\��Y�Zdu�[��%\t���zl�q+��O�;m�M����2s��W��;���
�I!P	i\A��]�W�v�!��s������]w-_\�!3�:�W��FlN;��X����h!�1?��=����C��:��"#���i���H=0�3����z��<)���"O�'?��1g�U��y2��7��D��)X�i\�Z�U�v+�[}��q�1��[n���q��	]���E�j+��t�G��
�����C�"i��p>G���U�Q�$V/��VniQ���$	H�`�`.����]�x-�Ua$����J����-��������E��������3��nh\A%�$i ��$�u���;��|�T��!~���f�
���V��9	"��cm���@	n��M���>�H�5�Btav2Z��E�VY���$�E����iT�����U�S��5a�`��j�������>YK&�	������E�V���,�L�1�9U�J@�Z��^�2�����Wp��B
?���b�3�>mh\��ZrVU8C�k\D$��|��G�:���Z�O��4�Z��h��w� ����P��F�{�;gjm�[���=���,�|0���09��}K{t������r��3�/��GV�h-��0��!��^ZZ�=K"�\�9xU���J�]�E*r�`�.t6,T������RH����C�
����#�=��ta���������m:���f���ic`���y�$-h� (�>�����G��pV}����6�1A��V(���_�������-����"�6�B��]����bQn�.��8����A����zE��L�����vV���u7�Ie���0��1����P��pC%��\$�4���TvUv�JH��Hji\�p(�O��{1#d�iH*_X�����s9>=.�c�F0dD�GK�j-�?��i�kJ�������sK���/dmgCFd���Z*)*1dmiEF��--���U��j
���m-��^]@!l��P����/D4���kH����q��l�Q�l��T��+h�H��V������;#��=��+�����oe%�p��C0{ni����b��pH�M�KZZd���\?�E�j�!(�~K{d;���������W�8��I{+���!\���&�2�P%�wr|�<�C�y���/m-�jJ��\���!o�!���J���	j!��������(����z�}����	�%����dBS��R�%�E
��y����Y)o��n!X�khm�[��"��&���V��-�1��Q�oi��~b5��
AI��*d�Sb5��
AI{�*T�EnV��X�U P�	��������EVL5�T�!L��i�	L��WC%�RLCKV�ri\AG��K�7����L��4��=�NJ$�����c�>�
%c	*�Q�#�����@�sK��TY���\vA����b��������X���	�����-�Qu������)A{�� h�.�
Y-���\������`�h�_�*��M+dc���-~�r�.	��|aP@�
*���E����ZA.�+����5����R�-�+_�x�`Z��/#��M��*��'�w�
��A`�--��x�?�AV�>?�m�c��"+�����,iA��@ �[�#+����U�3CZ�.?0����B�9<j�����M;�*�y#Y�����i�_���� �O*�@��� ����d����@HH�
*�W���7�������~��1�=6���T���}~!�\Y��Chy��BZXu�0��GK�o+	�@[����6���y_�
�S{����7��H�\�w���!����>���ER�n��'>�ATs�^ �s[�*�`
�s�SAk<~����%�� ��5�?j��|>�'TB���s�
��$~��:h�_F��v�Uhx��%a9h?�ThsK����P��,B2�L����Y!�nM>_w���e�C�|0�;�K[���k7���Q>p���
�+
�;�2�!(c|�t��W���R2�!%�����oG��x�=�]���]A����	�}w����������Y���L��G�LL��t����GV��5�*/b�%�U{����=�Z,^R|�����B���+�
{d������H�w@T	�m-Rr��#D���:K�����c�&��FI��1�QCW�J*�����a��j,xTX*���G������%}rK�fc�y~��p�<b���GF�p?��=x�t���E�_�=,��Y��H��=�=+7����Xm�� ��j�epy ���-Y���vii��������������=RrO�N�c����RVhq�^�y�2�q�]KY��@;��V�12!���B���X&����d��/#���b?���-_"�����H�hi�;j���G�M�,����=C^�&<PdD�-�P�3>p��"1h(2}ni�{2]##C�V �s[��>���
��	i\A�g��+D���Q+C�����W�vy�,� "�����W�<��%V�7.#F5J���]�AH�6��,D����@���=�R�iT/�K�jo�6�/ii�{��q��q �2?i���/�����B��{��#"a����������� B���R)��8p���M-�����Ru'9�v�`�� 5�8

,EwVV��K�����*rK�F�:z�LA�
p�{A�����*�q���!&��Z����GU���#j�u:�����7�oi������g��Jm�� V������VBL����
A(��[ZT�=���Ksh1I���E����A$	���WPI������]}����a�I$c����R\gu`rO��I�������EW�R)
!�t0�x�)JZZ���`p�-b4�h�b5���(��1�����X�f�#���^��B5��E����P�{s��L�^9���_�ZT��f���3�h\��*�I�6�S	a��U�94��^�y�B��L��B6��y�b�7���y����2��E�l���(��x�&70b��G���~!h��6�/ii��:�`C�.70b���G�:�H
��A��3����m�L���!%h��RNni��*!<�7�����b�0���9�)�g��<`�m�Xj�,4�z��e20�6�	,�s�������omdX
��|�8G�����+fT����0-_}'GR�v��B>���9i�*1�����{jm�c��
����0��z)Y����������n|�e;9@[�@!��`y�a�*����$�m`�/r�<O���A�VN��K}�������r\���"-�B����1�������[�kg�cd��|��J{����RZ���6�J@���S����|�V���?P�G�8d�E[n�^}CR�~60b��GVK=��_�����%U�rK�B�x�ZH�BG�-��������t`��C����aH
�J
A(9�[Zd�>���`�t�d��q����MB$c����Rphq���ls�ZH�?7��C����~�Av����K�����5z^t
_������,P�'��h�^���C���0����"#�J	�g�e�_>���T�M�JZZd���	��{����0���|K{TI=7{��]�|A�04���:*���vS 8Qd(��H�����`9������+=�����}#�\��$>��������p.�~V�vT�B�S;3b$�OniQ����v!���^@���Y���U�vRm�]��Y����bJ�����=�N���"��� j���)����1!��A�h\�J��*� �`2�<�J�
:�y[�B03��q��:��"F��2bl�@Mni�b]I�y�D����� V�I{����]�Ihh��6�ii��:|wm���yp��;�oi���^��j2�-�zA�}3�Q���JY�Dc� ����U��`^������R�fq�^��Cvj!X�n.Eo����-��������@s��G��U����e��]P����"�|�b`��#���EV�h�)A�]p��t�rK��~T�@�j(2"��v�+/�ho�n��i(2ZX�f��J�h����X(2}niQ-��4���������w�+5�
H�	�wG��R�f��J���&c��`�K�y���<xI�����(�!r�
V!wd=E������LP�&��hx��RH�~G����J��9�A{����NIK������A{�@ �v���SH
�x����:�Y���rd�I�0Bu���"�uh�Fj0n?�����G��m��l�!o��R��,4��5�1�QO`���h{x����GE�����@����w��0#&T��--��MH�jq�h!oh �sK���A
	I�H�MwKZZ��n!;h ��N�#������=�	pa��a�����1��������Nni�#�.����
�";���w�$fJ0�?�	,evZ��������K����J��#�J���$r���-��������l�
Ig��5��NniQ�;�*~�Ig����0��U��hD.H:k@f����9���q���0M:hYK'������tb�!�0�����){������Dm�<�*vik��z�U�0L&f�&��Yh����2��X�	,�m����s>��l�l�:��!�������(4�[Z��,WAB�0��?�� ��I{T���$���b�i����3���_f�E��H��=��x+S��}}�SA,�3��9
X������XNniQ�����%��7�>P�^��GV��=�����&���Yh��U�x�����R4'9�**G�g|b����9���G�9���^���VT�y��-�S�D�v���3"���E�L\v�"��KF��--z.R^5�tO�����[��{���~>�iF��--�"U��E��������[ZT���A�17O��2C�Ur�~���R����o-u��=��\�������G��Ri(��+��w����`�}k)4����;pd"	h�]F�c���8h0�4�_�.�T������L{Ti�F ���v`��?i�*���5�6��C��{��Y��Z0�����H�!c=)�A!���������@�1�nq7���QO`������G��BXS�Z���|�p�p��).#�����[Z4S�Ko�@K�x��8���Y��k�>Y������%�e�=��^1�CK�x��8�oi���k�!����Wme��a���>��JW����8��S��4{��%%�&�!�����w�y�AKZK�����{�WcwN�u����g�X�[Z4�jh/9������5���Y����>��F�MwLZZd��� ~t�:Pbu��GU�^��CK&�Y���.--�;2����g��i��k��-fc����H���@���a�x`F�
����z��Tay$��t��}��ZH��Gri\��z|Z��6�e����*���Eh�0�;0�������hiQ�u�I�7��6���v��~�>-D�v�m,�3�P����T}�
Z(c�nk�V{!����2���T�Y��S��V���X��R'������,�B8��VJ��{X]����"f�g.#Fj���]F�/�����.4�b8i��q'0����P�%���-e����8���kc)�q��s�||S�x��R�eq�^���A-ic��J��@G����Z�����.���^��;�2�Gm���#���[�����Q���\�rK�*���I���
,��`�=��_R��}Sh.��Y�=R��"`_k���@
!�mS ��� U�7b���@��-��/����������t�����S
�h|R���|*�����x4)�K�
��uXxa��K1�P>������D�6-Q&#VN����y�l2P�W"qniQ%����&�� VH�H���8�%pB�������v(A��iJ���U�:�w1�E��K����V�������'�TKI|u�3�3�ZK�����o/�-�f�K��3+j�����%���jH��D���"��tD"��K�2�����h/�>?�t_�0���vK{��/��!h��X��{��<�B�QkK���{�j���D%��j��@;��*�""�[��K�����F�����$��-Y���B4j�PF����""����{�m&���77��'�,�!�L�?���>�V���ObD����97���C����L��6�!#���|�8���5�"����O�Z�0�����NZ��������h|D�����5�O��O�ai�D�����5~y824��H�_Q�CW���G&��Tb����B-�+�����k�2!h�Q��L����N�|��t�9C;�
��<���dZ�n#�1 +�O$�z�7� ��vQ�+
��D
��a\G�@�
Vgs�L���1���k�������b�FE�k�(�J�=&�7*�h_�W��~J{cYMNa��F�q�5Pt���t��G$dm���P�y���D@�I�$_��E��D4�`��������0F!��}���k+����0v����5V�u�X7&�"\
��.O�����j���("�+x�!^����j�9Y�$y0�r7�Mn����X2y���U��!���UK�+9�|Sm�l���w��c:����/�� ��j�J�@�
*�g���V�!������c���fD"�����d�;�OgD�!��\J��.6����#Y���G�i\��z|�
 ����$�,k�<X)cs���a��hW���F��
X���tm-�W���ZS�����_D@�����G���l\Fd!f�����2�(1m<GE�"Y\l�zTW�D��Y�R�$�����J|#RQ.EIV�o(1��I ���:!�q�������$��Dn\�J����Ep3]8�>���wv�YE{�H"�[r`���(�IE��H!p`����u��bJL��0��S(�+���1�9�.hU���x��`�d�1�,��}��~�c�%��Ud��I��;lI&��Ud��������OF�
2,��E..�w�EwsQD�c���W�(�hq�"���h$�q+���u1��Q��,82x�}����j$D�i\����+J�������HFZ���Jt�Z�.�H�rfK����U�R�$��}�����Y�R�du�=��a����	,T	����Q��;�������,�,L�<h%��dB�L���f���|A����_{����<h�^��q����L�ym��*��,�F�]�
������l��VT�K������>O}%������$�����'e�3m�X
�H�
��f�;��'F�i^�J�y�Bc�"#��XI������U7��"
\jP$W��?4Z���NU�R�bu���=%�6N	,��!�q����{Wiw��)�5 �P$>���T�Bm��&R�q%�W�U�(1��	2�<�Wzd��6���Q1B�W�Q{���r1�p"?��X	^����2&�"
\j9$[QU6�����2������}�+Y�+�U��lbo�u���q?U���vV_B�#���(�W���@!����(n�����un������$)�%��O��2���G��h��������d�i�vc�D $�qk���K��k3�,�CE�W�:e�/pM1��V<�����,{���|�_g �2�X��XJ\$W���-����	��?e��v����X=��S��b\[��������tx���-
S�1R��/��^)�bn��b��S���(�+��S���U��)�E��(?��Z;:��`�U�@�
V�����R���(����*��y��K+�1���j,�7�N)�m]VT.e8���S�9����[�Z�(
\
q�.�����J�mc���$T�������`3��-N���dI��A#���17�E@��<h
0��&�L��G��%���L&�K@V�<h�r���C
#�wD����9�h\�J�qN�$:�"�������:F��z�H/��Z�(
\�v,.���j�E���z��R�#���aYs��Z��Z����Q���X]�T����d�k�\������8�����t��u
����<h�^�n\��LY�c��{��t!z�-	���l��V�y)V$�d�r�d����F��/������"���V�q��dWtx��2M�v9���WC��tg�9r�)�.�K�N�PLPEJ�*p�c�\lU_�Z_t�T�\���.vN������7���r&��+��^BC�02��@�����/�8���$!!�+X)�R���krrx[H�'�9X���h�G���M����a�GU���U,��:��*x*UO���3��8O��������@Y=�����6�9N�Irq�e�i=���X0���eJ&VZ*�8���	�""�������{�lkf
1������'E=���u1M����b���_/�.��1M��Hrqun�V�g����&&��B#���h�k��������`�[S��������j8j����	&����@	i\�J�`{�qelST�L������=YQBO���d������:���� ��qMA�+hSY��QS��%�4@�C��|A0/���;�uM���EQF����%�X�5�K������9�����~�m�|��dcmSTA�[��<P���MQ�KY]le�5�VY���c�����0���j�����U�m�8�c� ��$V����N�i����#W��}dF1�)���J���LE�\��N
9?f|�%4���
#�z�@A��*����G����EQ�Reeq������V���`��e�[�e�����r/\��.�;��lk��*p�����]����3��Wc����]F[��������������niY�����%����"�0����gc k�4�*��k�t�]*(2�1	OZ�+h�Y2���40[����5ZF���8JP[%�K�������j"Z��f	i���(p)��\lE���a�=����]@�!oxS������f��U����W����6N���(��W�_�Ue\?8R!7�`-(wV��,���1��C���\&Z�9��,gy��Br��9�CD�W�j�#q�[�5_K���Vu)���;���c�Z���*I�puf�C��(*�ZJ���D���d�����^/�/�a����z������/
@$I����k���@$����/}X���Ac_�W�.e��9�a��
@�?����<g��$���%��u
h^A#�����(C�Z������b�S��������*�:����Jr�Q�yV�7poW�*#�Z������b�WV��c���(�o-��P
EWp|������T0br����V��/2����X&������$��1�QcK�$�O��'�*������������j]���X�@��/���V���*��'�)b~=h��q�A�k��*p)����v�Xu���N@�e���9��}��l��Hf2[�Sl&k��*p����R��Q&c���d f���������>#EA�q�QAW0t:�h3^2P�.��A��oy����h_�%0��h^A#y��]{���&p)������Y�������������.��J)����>��j��f�1c{���*p)������#;=�l�^�@A�i\�y3���s�e���|@�HI����o6�+��dI�������$�,Y2x�(�Yl�N�p�R�fG|���@�,���1q�z��fk�1���4��u4�E������a������PE������d�[�������*p)]������V���%�!3
�vUA4~q��X3��@"0�~Hr`����4c����!�����R��e����V�8���3�Qo�Y�JA���Vv�FL	�%��I�*����R���<\�����7u�@�aa�Y��X=\�c{�������	F��9[&�������G���;Y���G����{����Rjm�{�,�1y���cT:��E<�_�C������B��4Z��H���b
����;2
3��+����j��b{!ej�w#yS�OQ�����R5$�������h��4���!��mW��G3��E,�����j8��s/��"�P31

L�V�J���5c 4�q�>��8�	`2���W>A�D�5mA�+h4Up���h��-j��,����=|�D=��k�R�%���Y8�Ld�a�#��Dk�J�R��b{r_2���(�2�P9EW0L�u�q���������5"�+X	>�*�����"��y����"�r�Z{Q*uN����o6���,����R�$���z,�z�B�#���R)x����c]m�2���F�/��,,QxDWp�n��VV�I=����b�Z0iXi\���E�C�LY�d�`(X��xK����X���Z'���:���ci K���G��I�X�@�b'����(��3�56����NFZ����%�Xg5�K����UG�O8���e���&��}�CQ�{#%�Xou�K�����:��(���!����#�q��~�x�`��M]�R�������qC)��T��f��
�3����%�,���0OZAW�<�Tc�z�@<��������� �.��Ak��K����uO>T��z�(+x.�G��cY��*%�������Ryd�p��~�\m� ���*��("�+8X[�R�A��iW}�� k�$���)��j���4����A+x�uwF�17��8�q_,���f�M !fI���VR�&�NdR��h�Ms������|���6Q��H.�UU>��&u���4�������|���f�M��D�i\��8F��S^4����6cn +t$Z����n��W�9�8Y�c�`���X��ec3�d�F d����V����\0�8Q2CW0,�@���d���N��E3FZI/�:%�������j��b���#%>����gDY�R=#���U���I��2���h.�3V[Uf;�,C��0���(��P�BW0i��zx�(�$U6E�u	 �g$����%eu�� ��x����|Ap��2���	
h\A+�S^�T�����	�������z�z�,�o�T3+����������f���Y\lUU.P�GU7��m�T�.�C��CY?1�������x������l�a�p^��*C���b�SD�}��a'P�
D+�3����++��^�"A�������J&�����x�@"�����{�cED�b�T�i\�X�V5���y�f*�/,�2:��,K��]�E�h�&��lF+���R=��d4C��p6��k��g���/3T�P��*��+U�pa��WX.��U�%���4����G�b���w��
@��)���ze���m�T�d����V��`g��QRDW0�s?o�0��-�����A����'����f��EQ�RWdqq|f���(�.*���"��VU�_�R�8���*� ��!�+8�
Fj����e��Qo�M d}���J���@V�P��8w$���a��%���X��x5��Z�����`�r��4i4�`(�m�2���
$�,�1z�J�8YR�Qh-Ua�����(��*��*�����-5�2����:h_c����xt���>�lp��!�mH�
^�Y��G���/�=��W����4�`�G��.�!S�6�?@����|Ao��� C�����%Z����A�>�C�%4�`,��&���b�=h5��{�
M���o-��������A���>.��j�����_Te�[�R�}�.��ea VyUY@��y2�`�D�!�nH�
��}�>�B�����06[i\A+����3�-�d2�6�=4��������Xu���G��%�����Kb)1'XW<�<h%_{�Af���W0t���&���X�jh5����'5����J&�������Qm-q�.MV[��]��R�a2��%.C���Er�
��~���P��3��#)�W0�����mj`������']�����5cP����LV���Y��{m��DcP��4��E:8U�rF�u��xeI������7�d�[��Z��,�T_�M�,��z��R�$y8�-�i�J�Te�[��Z����T�;�����^�E-��PbDW�b�7n�(+0c<��@5I|A�D'#�X����&�C����}d�wXYad���<
O�����%F�qCE�i>V`�[{H�Ycd�`%�Z>�&�����Redq�U=�+�m�qT.UF��c��^��C����8��*#����c`�U�����!"q�Wpq ���x����bl��6=�W�D���;�������X��;	i\A�X�?�1��Y�d�����R���[�aa�|��7��`�4��=��}F��FQ�R�dqqu&��+O@J�X���K���b�����K�X�5�K����Q8x��9����
xH�
^��F���������7�3*H�
Z����!o�g�d����V�`��p7�3p�\�4����n!���5����CFV����AMF�5�A��klU���d�{FU�R4$��R}u�,����(��5��j��M��U`��	�a	L��������c{6c	 K�$��X�SE����,2x�(^�J�vsy���f�Y !F�i^����N�����`j24�7k-�C[�W}��elXo�ZJ�$��2t���EY�R;du�����2����XY1k<�����xw�Z
�L����8R!7�`(��"c���)�Kk�n�0�W���@(H�
V��mLD�uJ����u_�MR��r�0C�k\�����,bq��aN'��8��z��e�ZPE(BU�V�z��T�>�������6��S��dq���C1�T�>,cS���F��b�&�ge��0>%�qC�R7p���`	kS��W�Ho<r��jO.�4���$e�Y�u�Ku��������{\�|��2k��o(�2BN�����-��V�����@	i\A����[�y�`����W�
�ur��8Q�CW��]�T
+�Us�[�8�Y�c��U�[��6���FM�S�9l_�J���T��6������jY�����W2��H�����X]lUE0���&���i1y0k�a�f�h"SXY�"y��d��"��2�����i1x��e��9*&�q���Q�BW��T�d�Y�����,F�3ydse|Y�5�K-���F���Zw(\�Y$�S���J�+��eZ�e����d�1�dX"r3n�.���<����f�-���4�`���ia��@V�<h��/1�&)g�U��y���<�24��*l_c#�r�'�24���2h_c#��d���#���o�
����c�#��;=cr�_M�l�*�p������l\o��	G�1��#���h\�Z���k3fpdH������u��!��8���$����W����3�C�z?��1e�}�+��A���������("�}�+�rg�?�������(*�}��S|����O*P�@a-����y�������=$�4��U{~_�q�
�d����V�`�Q���D�i\�P���TT,ahA�
V�o�1���h�����j�j���E�Ah�E�klD���w�e�Qd�K������z�����xc�	�%,Q�@Wp2�������"cC���4��QL�C.(�?����ch�(h���<��'��d<$!f]��������(�����
��������7���
\�$U��r����}��(���8��b{�U��?&�B%i���*|i�`
��_c_�'Hi\�J�s��T�W��	�1 ��J��a���Dmi\A+xpC� 3�	��:��������!f�E��X\\C����\D��7QD���J�zS��x$�p)�����l�����H���=|_�������R6���f�6,�C r�
Z��1H���+�ZS�y8��c�,������Lol��P��5�����G_W+��8�����'�<lU�j������PTSE�����O��Y�X�A�i���2`���X���m��M;H"�2b-�������i�I#|M~p�U��e�!�b����Q�!�����+��i
$��H���{�������E��1C�����p=x8m�O8��fD�s�9��
W��BN�9���.B��������+o���k���h����|�|��h��0���e�i�)�y���������T��8����$�x�\�WPI�0�P����:!;�����/����R5b)�j�E�kld�����p��BQ.�s�.���������o��/�����������?���?���}BJ�fl���-y�Y�(������B������~wI�����_���;�H��I��T���H�7 P'��2�~f�~%�;�hQ�C?�6�;��p��E?	'�[��P�I�����.c�g�'PR�C?��;�hS�c?	�[��p��E?	���������e*���J�w�'��~�~m�w�'���~N���'�>"��P���>]�������)��K�NF�B��=t�[�i}��[�>M���������[���x�>�m>��j��_	���=�K#MN���W���������G*�5C��>>�/3$��j4�mU�����4C�i\��m��?}�.��������������/���)�]���wh��om�?�����~-�/�ZWu����&�RCcz24~J\C������
��A��t��d�^��m*���p��?��O�����������������x<M?����.��������?�����7����������������r��z�������������o�x���oo��w���>���?���;�tY�c������s���M�Wo��7���_��/>��y��o�����`�6b�������������.�[���wM'����{:�������������>����s��������>,n��wo�i;�W�}�_>���m�����zY���n�}�������������J7���{TA��|wS��-�~����>�����z4_���������?�+������r����_=T�����1���>�
/����^��������g���G"����8�����$UI�����-m<n>���c�����	,���6�{�������'	���7���s<_�y�p�����<���8\��O�����D������E�nk���h�}�/o?��D<�V�O������/O��N��&�%���?���D���Z�}���x��|O/�����1��sD���gm��M����-'���0^����G;]�����4�m��z����a��_�~x��3�]�o������/Z	�����Y	���7�����1�!��1�m�.�-E��	��h�J+A���I��'���m�t?����Y�g=c����6�EI>���s���<?��ok���S�D|�m	�d	�����6��&�+�7���_n���D�6/N$S���o���H���]9����!3����>�����������x����s��;�G����sp��nE<��5�e������3�]����������*5���{��s��z���2������%W�������\0�x�*W�?�����h�*W���\�8�!W�?6�z�
��K{L#W�_:��#�y%���c�~��������|���5�������Q�s���q�x�[W�*��+�����u������������w��9���x����ruX������.�|��g>�+
��s���d���u��d���w�1bn��)(>���Y2P������:�>����M���u�C���uWL"zL���y?7�U<��+W�!s�s���wE3��("��:wb��<�xx������~��;��F�w���O|�S�~���Q��s����'3�\0n*W���6��\�2n~F�\�~m�i����g���(�Zw��+��} ��y��������^�@����IB���$!bn��*��cn��.s����Z�o�Z���v�{ ��#D����]���]�S�~�����}�0��UT�p��6���\s�}B��}����'6�����+����5!W��'�'��m��#z�|�o��mFZ��g�G]�Z>bn]q�x���w�?���st[�+����o��y�3^�-���~���B�9:�����>^��<��/������3������=��9�X�DG�j�Vy-`����c9:�Vf��B���2�:�>f���y��\���O^����m��f^x�S������	����!��9<�^�C���`����)!s�����o������[�x���������QL����}>���2�����|�\��o������Yf���7�rEx�����
6�4rE82:�i\�����+�����+��O*�}��������W��2w��(f�}�3���3��L*��+���b<�#�s�wy�s�Z>�m~��x����[�����z�~�����g�������gn__�\1�z�J�8�����l�z�+���QrE�����?����?��F����xL���x�>����~m�U��2�?�Q�|2�����m=��9d�����`���6A<�����f<��u��#�����)�5y�s�t����$����(��m��T
�[W�*���;��������?�g���o7�t^d����A��~��v�x[����^>��������x��Wsk��x�{�F�_��9`����8�,3�]���� @<���^�x�k&]7�������2�����u��[3)f��y������!s��1b��7W���s�����Ct�?t�#��*DR{�����~��}��Ds@�Z�sH��
�[��P>��K$�����~�v-��}���I���F�����sOC�|���1�������\��O��^�����>?$�}p�>�W��j�v�����!�C}�|8���
GC�+
i>d��hO	b��y�`9<��I>:���!q��?��ss�a�������g��t���}1)f��U��Y�=�o������A&���h��api�<���,F�cm���<v2�rx�����u'Q��sO��cqs����q�nqoi���9� ����fh[�X�y�L�qi��n	�������N>%����%�C���!m��@�8��-����{�m��J�s���G������L�C��.��%�^�bp��R�{��!qwz8��Uz���k`2=���[�H�ih�3=���!C���
�5}������UA��a
������/&�L���#n/|� �i��
A����9��m�W� �i[s�������
.���.q{��<�3�$C����CD��2���*?x�_��:�"�������I��m�Z�����_I���L����Ob� ���k�5���'�/w�~;-$�-��in� �h;o������6A���/-,�uOz��.u���=�S���kk
�mf���~w�9"�5���w{ $�+���9B���lm�[�6st�m�A�x���K�~����'������N&VA|.�
����-���E�L� �i�K!!�����.��+�m���L��������7�U~8��U~8��U~�����" n������=h��pB~�i���"?D�=�
��Cl�.m�SA��n�� ��[o^UG���ch������[�*0�=���}������	ms�qD�[�p�P�3���I�#n��U��'n�Q���n����A@��o���?�Z�~�|�VC��Z���|�����"���-��:|����m/�T�8 n]�� ��7�O>%�C��W�]��=��G��w��ih�B�q@�:#���}�[�N�����GpI��,pi�*��g,E�cm��*�E��v����co!q�]��S����G�,v2-��G���id1�h[�0����O2%���x]�3^:�x98���l*�#������XqD�w?q6-����(�� ����Y@��y����.�Y�o��%=e�����}���4��X�>t�{_����Ct��j��}\���v��U�m�����!�C���|*�=���PA��O&VA�~�(�x��
m��ap��+!�#������:��W��P�%=c�w��4�-��%>��|2q�!q�M@@�_��%�����QH�7����&q@�;���=���C��.�������#��D�$�N�!qoU����qx����B�>�opz'����[0���-7���mv<E��X�R�=p)OY9���ZK%�����#�y�]) n}���Nt��I�'n�9C��ND��Ex�}�P����r8w�I��9ti;�^X�8"����CL�O������{��N&fG�}�����#����sGC��]9����?���1�G����gI1s������ZT�����S]���gc���G}���[D!MD���F���h.� �"�m.�*�">���e�����^�]�����2u8{����u8G��o�}6��s����g����P��?��%�}����q���.����7�{��L����~�(b��E����l�n-���s���{�o�������o�]B��WGx��b��y?��� bn��t<����<��1�/��e���37W�b<���/����#����o����-���:�������W���;H���o$��}�#|�sV+��������gn.��s�uHg����r�y��-b�+wt������~��d��x{W+����4��C��>o�hP�2�D���K��}�*�C��������x�3��o���x>y$3�Oj�b]�S�N��z��o�Y������c�}[��c��"b�})���QrE��8�2W�����J�8�<0W�;&��14���^}�s�1!f�~�x2���s�u<G���|2/���m-HW����\�9�m�g=�/��e�����cn/��s�����1����2�\q.��>ssYq�����>��m~��\���~�0�����>�������x��?7�/��9:�n�B��[
1f�}m1bn�EG<���x�x;����5�9��y�a��t�{
>w�����Ep��_=W(`��[���T(<������q�1]�]�K4���&���F|6+�Op��������k�KH)>��bD��1~G�����X��[���X>�Y�rt6z_r�����`�����g�2�}��"��Z�XM����)��>�;�>�9����CT��g>�A2w�$����"b�-������\�3���C8�:�9�T���D�����|�����(a�b�gn}}T���������Y�t���;0�}���F�����dD���e������L���������3�{���@:W�����"����t�����I���:W���N?����7WD#���s����Ld���C���4|������&B�����A2w;OfV�0����x�;�ux{?����8�x��ux[���}�ir�Fx���o������y���?�<�pUNx����|V�r��Y�t���y^g8�,��
�1w?�8��u�;�Y=�p�;�
��T��������7��t������R���t���D�����Vl����������q��q9"n}m)}����_��7�%��%������f{���	F���KL�|��g=g����k�����}2��>q�6������_���K�>k�*8�oV1?x�?�>�`~�X[�.*Q|���jd��'�,�����*�OfV���������U���5=���"�����^�D����qe��6��,?���>�)���|����m��:CD��o<���3�����%�!����R�q*+3DtZk,"C�G��K��������������������7C�n�������gn���3��
6�sx��v���3��������CQx����,������S�_p�;�	������m�f��As�����:�{6t:�Y�%<�o��C�Z�TV��,��s�������+k	�ty����El�����o��!q�{��G��ho����w2�a����9C�TV����1�=�����k����0H��<��z�4o��M!s����cV����j�?�l��2��n�q.+rDp>�n���_o���v�eN��6EL�.�}
j�[��>�?��L�'�i�db�s��o�����%��,4�Awb����v���KH��D���3�3�<��m� N&^>��U�8�X%�s�u�����������\��s������em]9 ���)h���o���z���%w2�^�������2�8�����}����?�6��-ON�27L���%D~!m�A/"���_�~����_�<tpNx	���|��r���1>�`���C�*:�����&uv���8�g��pBx��[~��~���x�_�x[��%����{H���1%]���7�*�]��?���9`n�W�2w�8���'�+��o�c9�s��Z����6�Z"�C���C��G|�e=e�w���axr�l�B��c���t�s���:W���sEt;�&����.��f�E�o��K��y?7�U��c�.�����DyY/C@�p}�nU��u�}��S7.���������U�,��vMry�4�"%�=�����JL����f���|�G�]�s���[s�������EC����gn�A�����+�+��JD������=�/��[�+����TK��U4i�>�`����y�X����c�.����l�%��|.���s���g�
6���x�y������=7�������x�y[M��$a��I�/���O\�SV.���/���2k^o�0��L}����B��W�\����6f����������@�y���y�����1e]���(��2k^m�x���_m�[+�\�M�*�=���1����\������W�O�>���<t�:Z�G|��e=����l/���c��~[�RE���JC������"bn���R��|@��-����"Z���S�����H��M����]���G��g��ks�=�>s��t<�{�:�#����c�0�0�#�������R�x�y�_�d<G���3�������z�m���}{���+\��g	���T��[#Z���lt��e��S5�����6!�m�b�"��x�+�o}s�:�j"�R����Ky��ksA(�s�s���u8�����t8{�_�s3�}��[�����������o����W�k��[8���_����n��o����7������������o/�5���M������K���P��?��
��������2�i�c���:-���ukV�%��up����o����eeJ�X?7MJJ�����/;����7��|�QQG�����/���>�	��.���GM��}����%2<�^�	x[���d��6O��>}���$����F���������D�%F����z6���-n��Nee����e�s�����������{��h�S���~��8����Ud��?o/|Qf$��Ks�����vX�����?2:\�����������vW3�6~�w{]�Sf$����k	w�w��u�����B�H.sw������\0����2�"�����\���z��JG���CsN���1��\�CG��g�H���g���|��G������������)8���C��6;�����.w�>��y�<�1n:����j���17����9�����\VF��Z�|ea5���x���z���XOt���x?����e��\�O�����|X�psG�/�p'�2.�������K�#n��c��|�/��+/�|��g=c6���4;K�Eg��n�D^��;Eg������u>k���D]t~��g���m�qFdL'�^t\x�_�K�����6S�q�3�~���H>s��Gf����e���y�C��|����`>�x�����L��O�tI����/�tq���c�Tb=9���2��}�`�5�`��g���5C��m-;��X&' �'!���	;�.q��B��K���f59��{6�eri���.ms�x��C�]w)�����H6����#��������&t����.m��Ky�4�ks��y����������m~Z��uv���)��+�j�.���m��Wn���c���3�G�]�kp}T�Oq���4I��k]r���/�}���s���^��������#������iv��������?��u��j<��wh�Ts&�vO��G��g��5_>��a��6��a��6�e�������?����
endstream
endobj
8
0
obj
24160
endobj
9
0
obj
[
]
endobj
12
0
obj
<<
/Type
/Page
/Parent
1
0
R
/MediaBox
[
0
0
595
842
]
/Contents
13
0
R
/Resources
14
0
R
/Annots
16
0
R
/Group
<<
/S
/Transparency
/CS
/DeviceRGB
>>
>>
endobj
13
0
obj
<<
/Filter
/FlateDecode
/Length
15
0
R
>>
stream
x��}]�#���y4�������`?hL�7_
�����ka������0��$�"2#���T�� ��e�v3���2���>���>���������������t�6�����}�������O�����g�4,�>��tg(����Wx���uX?����/��G+������O�x�J�qZ���e�]�a>���?��8\>���Y��G���x
�C�W���*��������-��R���sO���`�d[(���;��~(��_���PnG5�����$�N}��3(�K?v��|S���n�r�n�z�+^F�8/�'�D`P�U7N7���y�����/��'�X408@=�w�^/��8u7�e�x��i^<	q���U�2]�j���'?��s�� ?%q�����^C�tYnR�c;_����}?�WR�1��$_�"������t��9��_����|�,�]����g	}b�`|�������o����\2u����,��"�2x=��~����n����~x��-R���N,�28@�c�8���yZ�=����=
?(r����������1�����H�!:5HQ�������b�So@��s|�r�����>��k������o@�^�����Et^O��|h��[��B���
�G�xnm�+�3���1L�w���D:!@.��[z�i`���3G�dx�>Z��0H�9���?N�Q\���,_�@(��V�����x�_�'�z������Q�$���N+��{���j�11>b�]���4�_�VJ��^]�p����Y,���]�M K[�b���Y���`�CY��.��J�/�L�+�&�K�ep���k�{,�n���Tm3��@(�����W\�z����������������(`p�"���{[*g��x����Z�qgQ��U��2�q^��]�b�~��`!."�h�����/[���hNj��\+$t8>bQ���}���dZ�3xsR�f�b!���#V���_�wW�:AM����5'd0>b�����������F�f��c��,^�.���%�E{p��9�����8ep�Ao�����k��PP��uZ�G�-n�{���;h��X���ap�A���.���������scx�"������������F�b�IB��#��n����zz�W"9��������i�QM]`�`|�zv�JQ���&q��i�wf�]�ep�������u�|_�Vo��I(���ep���sv����j:o=Q������Eq��zH�B���	Z�(�G���3����K:�2B9=�1q|�":L�s���i]JdS���I2��^���b��]0g	�	�
��Dh�ep�1������;w)�\�PL��;Q(�|E����E����!E�T��n�~N�F����<R�`L���,bp��h?��P��N~)�fB������E�l?�!p��:�6�7'N�<���%�hv�=�����8k�����Et\���xWp������g5't0>b=����{�*��"�\0y�a>y3��8N,Y�<{��V��{�����&�����V����h��;ep��7�%��|;�����R�mg�!Q�����u�p����J��"hN��x�2<@������:�=�/!Iry������/�:�����aZe'q&d�D.Or61>� k7����lk�l��-!Z0E����h�h�W��7�
��=\}�����7��XE�;aE�D�P���VQ��
	`��9�������� |w�z$g�T��7��U���N\�/�������m��FWA�;q!�����Et���.'�;R�;q�S���(.RuQ��KWA��,0d0>b=���%k����I��c9Z����O^0���KeX�$���u�P��[�fZ�$�,$�#�j��"�}�i.�-��E�|��a���|Lk�+o��\�7���������z��� ����tK��7K:�%�G����p��|YB�!F)�X�b���GI���B6;J�8G�R
@H�����w�.�o8C�R�Y*"�C�:�q���,��A�J�����VBPx����T�CS�?zK@��*
`|������|�p�����#�_���X�����g)�X���"5�>��b��;f��	 $��E�o>�V������A��"��!�xWq�V8/R��
���_3������u`!� }�e�i��@A�����s|�A�/���;P�q���5�[�VH3g�s�����L��h����"�b��o��C��/��rO�s�Z���}`8�W�h2��"qr�Y����V9P�`���?�{\! Ghu�����95��Ur�Y�Vh����!��PQt+�SD�KyH!Q7&P���7�������+��VY�����2D���L���d��� ����zz�D9���������]���l�
-GI�G�����=�J2��s@���:�j���u9A�����X�tW-��IU�&�!��?�W[�L�1(4�Lz��X����I��%����Whq3K�9�Q��������0c��0:(�=K��k�����Q������8gP�J�}���,�Usck�BO����5���Eu����yo�C�#�c��'��
Q�B�����5j}��"�e/���^��"��g��1x�������� ���U�rO�J�HgH��*n]Z0�%�
����#TE�������-�����B|�<w���y#cf��7U�/��~��k����(s�f�)��8�����v��n���*0T0>bU����a8���I|���;�t���s��axEG�I"Ra`�#@2�`)ep�ArkF`�k*,�)�T���x�&�)Z0T0>� ��1g���h�L�2>��k����@<���Jwh:�*e|���M�B��8K�z��6a�<[����h�����1�A������p�Y2�#{-�L�$=k0�Y���{b�Y��:��a���0�!��?s����#���aF7T�g��rlqP�H1�!���,�u[.)~96��I	��z,�d+�F�0�%�?d�����Zv\t����^y���
������S�����A��2<@Q�W���;W�t�S�Z,������[kU�H�l0U���rL��F%��&�G��D�#~�lw��.���-��X8=���M��$������3���&g��
�_.����I����]�2�WE\�M(����V�jw���4�b�rvT��%��*�=S�z9�����,3���)
l��c�Uts�l��h�[/��b�}�ni\$�B�qBK�:8@~y�Z$#�?/�������[oq:sj[��I.�M��"ex���mb�����R��N��8gXeG��/�v%��BM�R���z���FS>�A�+��A�_��{�
����]�cEp��l�oh���^�UA���28@��<���`�%!h�����]��n<]��O����6�9��js�+�a��X��i����	8�Xd��_?�R���,�d��K�Eo�(
Q/Y��E��W��sq�����7f����
6�����������

P$7�;,�4�JQ`k��S,�3��>-�7���*�5��)U<L�o��9�G)T����
�G��x#m�����
-F��W8���di8CQ�� d������Ven����������6����l805�KQ`���S,���` ��'298��Xe��v��<+�Pe�j�y���%�N5�B��F�t�l��~�28�I����mui<I'��
pc_��)��P�$�<���AQ�z�	]�� !F\�H�Z,FM�@���5��)���T�rM'S�������=/v�P�4�<Y[��b���a/���#3�R��b���,|I�����jc�d�)<H��"�]��28���{��	��z��.H�gv�u	���]�p���:����f��5���������j�����V����^���-x���%��`����g��O�f]�.;���|j�_�.lG�VU\(Z�h�"��|�Oo!��N�[?��b9���gV����hBTe�h�s���1�zj��w����\'U���jI��'sg'I��D�n�28��!��dJ�����1��R���r
-x�������s����d���"�����)�
����W����
�TAZ��4+40<@�L/xl;.�"\�q��X����0���
�v�A��8c�����Eu��K���n����� l�\K�_�|%��	�TU8J&���H�~�h�F`�|�J�e�m ��������s�Ke�L��`!F'W��|�%�x�L+����jN�������4�J��X����!�xu�M�R�#~<���l�g�����F�28�Y��/�@����+5������+#^�`d_�9�"�Y��x��+H��U��[�XufM����"����w4�i�����W6�Xt_NP�N���l�ec�U���9>�xQ�>���lfK��'�w[�����|������up�\"������6����@
��T���X>�������&^�^��b[U���w�f�����!f�z���-�:���k90��8hn<��Os�T-�*e|���nU�0%��BW4����7���Y�*WV0�m�`]�������$���=��b�KV���28����7ve���O��P������:�Y�Q��u��)��\7�����g��G��\�Q�,����)V�t�w��t^�(��ie�`|���nU��^�V^�y�vep��On^��a�@����W{��HJr{as�9�z�[���4�
b�����Qf�X6�Z�kn�����7�8(�q��g��4���k�S�}d���m�[������Q���^�Y�vep�c-�����4�N4��Ur�u��/	u�����AQL_U�����5k�z!g�z?#��Q3�`!f�_�A�����l��{�[o����;F3���)l�}c�U6��C�+U�CM�S�#���| �&���/�eW8K�ys���$�@������#�@4�����
��&��B���.�z^_+��$�����:������J����_��oL��������,�u�-)���E�KZ���v��1�^EvA2��[��_8��d�AR $���"�>�`|�*�����D`<���;�o��S���u�����������Z���i���{�|���%�/�[���}�B�:�����'YW(�R@�28�D��%?fd9�Q)O�0��O<H�u�����1���b�|s��`��x�t0�2���b�|c�U����,�����������i���������
�QW����F<�R@6��tr/x��r�1 �����*�G7B���k���t]�'1}������s��rq8D��3x!�`�9��I�������U���,����C��Xd_}�����&��_��V8I��F�:�[���d���A�Z���9�5��C�A{���DE��Y�(�sX�$bp��h����d�-�7q������L��Mci�%��OpN����8�5-:�*�5
�)?���o�iZq@Q`�`|�z~_}��e������	����r��Wj���Wh���>(����E��w+$�:8@���Y����d��X�������V��`j��|�73Ciq�VL�2>�p��'y���IK(�bY�GD����+��Y:NjLfq�}������
4���$��m��\�s"Y��8f0H>����!Eu��n=��>��)����28@���<x�2�� 	q����d�^���h����sN����3�%e�
l�c���|�E�Ti<)�0��Xc����]I|�D��C�Z��vy�gy'j�q�d�����k��Z4�/� 9��^�8Q�^�E����b'>��iR1A	��l>YM����	�s|�r��St��K�*����)�����/�J
&L��U�����T�+���(�|�f�28�A��Z�������qu�`�rs6���"���R=g����y�@�i�
Xc�Tap���y%A7I!i�'$��>�\O��M�f��s|�z�w����`�(�5��)V��$�$�
lM�K�_6|�k/
4��;�pzH���������_�v�`"��M�Z���� 9��������|�08�ppnB�}���A��.�z@[O�0I���[��������kL���
����8-�B:Hj+L�l��j�����K���@�|��bp�_a�[n�������N4��IsBv/F_�jR�28@��z6}%�$�F�Jn?��a/�&Z��Z����d]�����5��+P�7���T������h�����
S-�l��K�c�>��b�����)��-�<I���.#�[��}�cE�O���4�����bY-@��28@U\��F�U�O1*K�RnA�i>���Rpar���;�Xr{�������N�1����v��[�pd�K���[���b=X�Z�������@��n��;�M��4e���X=:L��H�����r8A�����$d��9��8�����8��8�&�� F�o�(���Q��Td�*����)��&���=���b��5��)�3kqM��G�JOH5��`|�A[�GF��*�@s	zo��I���
"F_�a
ep�"8��<�����Aj&�A���2<@���V��9����S�(�G,��N��xb��T��O9*��XO����$mxQ�i">�	l=�K��H���2}�D���E-������wsQS��K'L�p[��|��|�08@���c`���	����P���:L�,�Bi��	�_|����j�����=	IzP
'�����,��@��Q3�TN�,����)V�����L*'L�z}���}�EG����i�=���1xs���|���@������4(Q��������z-w�Sp���4��� G�P(�����p����&�%�$����%09��F���~����9��_�O2Y�N+(:k�3d�?��|%�&Zpgm�K�Utv�N5�[��%�+4����,�O�h.)d �{���K�5�� u��U����S���u���E��w��(M��
����)�|��VH���6P�|������3��Z��Y���b�YW
��Z�?�\�Km�
�%��-��%y��o�����4�P�P'��������P���P�X�b��l[Y�{-:1�l���k�{&ISh�Ag}�s�E����L��Zz@U`��S�=?��VP��m���>���Ru�Bsz^��G����Vf�KuH�e;fP����������d������0(�gtzv�����p�����(n]�Y�k�5���vN����tc{(�l�%P�+�H��N�1�zvye�� ��z�@���*��Zm���V���e��������28�Y������������d�
ep�A��G�P�n��H`p���B�����ep�A�[N�O���������2�'u�q�6�%�*����)�#}���J7jAAg}�c�Uu=,��.�����*�����.)V�����mRN�BZ�G�:8@~��(&� �!�}*��T���v������2<@Ut�_`���d�S�����;g8���e��SM����;f8�>�,5�O��{k�]2N�F�7#Qr�+��E�l�Yr�yC�C�@6��T���eQ��!���Eo����/��Dgp`��J��E�fE-&��$�e���TL@9�P�	zk�S,G��+�M�.�b��z������Ukw��3-'�,��/)6�1N�/9�M��^*
Vh�D#o`��o8�v����'� EOHb��ep�*��Obo��-�^�� Fo�*�W�q�5�BM�S�Zj����3�����.����)����t>������~o}�K�+�6��x�Q��+��Ek�(�}����%'���b�1yw�PX\��mU���j2JAX�Y{��Jr���5���^�~����,bp�5A�����Q@A�&�.�*h���%��4a����D�G��[o���
#����\r|�U��	�td�D�[������C��t������T2��������"����3)eG�TX�6�������D�I1H
�h{N`PtbgB!��[��$��(��n�:5�TRF��P���z_����e�kme�#v�p�M�n���|-.�j��u�.���E�Kq�
�)hM-�<I��mx
v�>�������v�`��4;0������Rg0�#��A�sN��M�#���B��/��%E{7mY� in�R����]U�
��}�c6������ ;�Xe7��jn���[������:<6�Q�v����Ze������0���qRt�B�':V����"��.1��E�v����D`U�]c�U--'� d��9������g�sR�@�����$�vw��gh8�v1[h���]gZ������������A;�XE�O��9<��S�v�j��zi�We��[�M��
l��K��f��1{0'�+4w���p������������z1�����28�� chp}��TW��������U�>6A@�^��
H`p�A�byy��:ZM,@B���.�*�WN�:��=zMK,(
l��s�������5-w�,�u��)VY.\v�n��q/O>X��,�P��'ii��3�$�];�c�J����sUoc��A(��Dj`U���^�1��`!^��!B���;a(h�5��uLqU5}18�e�2@��`�.�%��j��U �7�1
��`���G���������m�4��Pa`U�K�+*c�K�(
�@`�s{^|r��[�z�0$��k�.+���Q���
��:P��W�(��d�h��c��,�0�����0%�BX4g����T�l�&��Pcxb���pS�P2��d#�9���5�2W�2����ep�U�l
)s2�Zl
�&Y�`�k�E���tN�����P�,T���1�U�g	UiC-6�uI��nl��iRl�B�%�A��;�����u����Y��b���t��*����F><�z��@�z�R����H�mRn@4�������hZMk
�A<HqA�5EW�k}Jf4-8�&�u��)V�W��)K'j�e0>������G��iZn@U`��]R�������^�qX�&�����pXjz���s��/�d��9�*�n1]��:1����C�	��+�+{)���"�����`�L�C��r�3��a���9�*��S Kgh��h=�c�_�}���*��E���.)�Fn�Z@�OR��B[���Z8I��m���D+�$u d����"�(,#�MR�
@6��3�z�a�,2uu�0��U !F/l�J�='�!zH�P��8{�����2$D:T������G\S�\�"�!k@��T�;��'�����?_�����q���������o��y�������Sw�������S�|:�=��S{�h����=n���jUf^��8��t���@|gB�������;��S~g����Lx���;������	�S|g����L8�O��	g�)�3����<�z���w&�O��	{�)�3��>�w&�������)���x����Q?�d+��CLq�����D�f�����L��W��o���b||?������d��W|;������������������?����{;���|������a�����1�u�e����?��o?���?����~���?��_��r�����[N9����>7��������&��>��2�����~y����|�+s��������	����m�����F������m�����z5x�_����������r����6�'�7o���nKH���Wo��o	�����~l��t�X���."%����.���)m��p�g��[��z%~�=��>;�3���_��w�,%��8�����,>	����/>)�����C������b����'�������Hhos�^S�g�k�,v5����K�,��n�]w=���o�o���@�;�.CN�y�z�Q��������,#���'s�YN��mo�����������e��_=;�W����*�OU������*�{�$����&~����&�����?!�����GJ�vf��\F����i���Ioo�p�?����6Hhl�g�
���-w��M]r
v�/e���/����x]����x]�v -�����V	��q�\_�_��a����z�JH[������������������z{��?�����h)���Yh��9��q�M����v�	�O��,�������E�?
�o�e��,2�m|�"�����iwo��?Z��L����������7�f��2�Z�+����!����MF��:��������fs��iv��=�m��������a���i[c����~i��	��{/�2��ZIOkJw�(����?5���������	���e�;��2�c������^}��|N��!���k�xwn�F�37|0-g�����;<l�����"��s����b��r���}���H�[���%%��8�T�%���%���]e�D�mj���%R�_�o��K��{_������K���s[J|��*���f�m)��K�
�^���������P�v���p�����v�~�Y"'>�d�F��+8?'�y�5����DF{[�v�����y�����^��>���\�2�C���6=6V78�J��V!�}���w[��q��nKiiM�m)�O���������<d��wk�)����k��k�2��\�������DJ���f��m�FK�?Zk.���
�c������z��^Fy���~���s�-������+��u��)q�N�Y�B������5�V
%������+���b��|H�EF���t���B����L�m-fu�H��7h���h�k==������~�m�C���X��<%�k	�HY��o��kwn���l�m�;������V����U�p[���d
n�i�/N�*'��x�[�R��~n�#��H�[���)*�x��^�7��S������rW6�"�mo�(KP�vw'�8>&rw��e��,A	q���w[J�S�)��*��m��nK������*�;�����z����r���K���������!�
�m�e��^�x�)R��
do�����������lS�OCk	�-A)ms�"-Q�m�9]�ryL����R��=[��e���������2������Wc~N8�mXk�
Y����D�P�7?	���mk���9����t�������q�q{]������K$#�qo�����B~
v�$f��	kX!#m��w�d��e�w��e���4��m���.K�[���e�{�%��O����$�����4�z�	�%��������QN0��!e���_g����95��p(�����;_q#V��y����V��F,���D5n�r���D��,����{��1OB�^X�����h�m���'!n��r�9��NKC���i���m�c����7��w���TCd��w���{s��3���n���oO��Y
Q���9����&v,?y<4�Z�5��Y�l���c���*��z��]Fy������bo��������c�.cm�n��;���M��5������y����z������C�)2��s���������wU�����I�.`�)xo������-n'd��{?��i�����{����u&���{��e)��5��u��,!n����$���S��lc.Kh��,!m-������ho���m����<�[�B�{�.#�Q>��������v����vHhwg�2��g��Eg9}�k42�C����>��9-#n"�sZ���&���x���s��[��)h^������	.�H[�`��CJ2��:5o����t�[�B�{�.#����t.:��m~��P���)�OB��1�UW��U�w{f$��[����^K�������������v�.`Fy�B�~�����)q�����~v�|��U��rvHi[�Fmv�|����FL1HiEF���5�)q����D�xw�o�T4?��X��3l�Hi�o�h�c�--Q��]Z�\>��1P�m[���V!��'R#��U�w���F��R�m)��������zn�).�)��h�&���_�w,����������\�r���KX��mwZ�����K�/��HY�2�CZk���S5��O1�����i��It[�v���6?��nKi[[�`��C
#2�C�������%R���;{KTN��-���(=
�%�f����>��,Q�m;	eO�2?f�����w��e���j�w=�E9qk��[�B���)�o�6��h��j)m�K�\�zN���1WN������C�/2���
xS��G\�����M������Q&��������	�����6�&�)m�e��Y������HI�X�*�v��J�7�\!n~?/�V�m~~jY�*�����l�����B����b��I��v���D-FJ{�c-+�������/���M-Ui�5����k1���/�T���n��4�v�����'!>�y���O���}ci���9]t[�v_�m�vo�|5����z������#jR����zK$���7����/�����oL��6_<��ih~c-Q��}��������[1��g{L���wo����x���������������v��aJy����V��5����������r>%��y,)f��4�x������������=����;����JX�����9q���[+�%�NH��/������a[����^�s��i��A/��`�S���p��>R�c������+_!��m���YB��Af�g)�^�������+NB���R�,!m}��0}D�EJ�����[!%��L�����YN���@��LK;������J<���������y9�
)�1OB|���+���m�m�{�����C�W�?��[J��q����_�����!R;�m���;}D�DJ{��e+�?��#��}�M���1\���)r�����E��mw&�r��')�������qD�_J�s/�<de���ov��W��6UU��>s)%n�n�-UN�s/?���*�T��M�#�*�0Yr�M����������[_9��p(�wBB����R���9:!={[+����y!={�x�n>��)�1+N����K!i����?X��X^������v����t�z�����P�7	ms�=���V-�
�#+,��$��$�r��>y��T�K����2sBJ���)=���e�E5�=��r�������'GJ�g���2���0��S�m��?���,#n����%���S�eon6�����h[gx����E����n���[�!��S#��a�7?�v5���Hi�s�4D%�_�{����L���~|�����Oo�������n��`&p@I_F�s?0�<��,#����,U�[���Q!�?C$�_��a3����!R��}'m��������^�����Zd�?7��xK$��4�xyK����S�����%*�;�C2�/����%�/��%R���������/II�Y��_��2�#�N��\?��'�y��u+��-�����!��XZ�-���<���������R�}������S_",c����s��f��s�k��+2��{6WW�hw e�_� �U���P�"�m
�

��oIIY�2�_�S���/'nMX�k������3�v�4�B��N.s[B��y����Fo��A����un�)�y"EF�K�����w�|j|�-A��o�O�l/�*�������Hh��_��	�{�Q�)m�w������A��
�����-!������~e��~�EF�c�$�M���2��V��{y,--�����RN����b���!���h8�5����8K��w�Ze�_nP�,Q����������DF����%��u�Vcw�k<R�C����M#9���5��������UI�%�_����o���_�-���4���v^����ed�����	��G$]�o���	��o��%�/��`�Hi��!HK$���_,P�m}�_���_����%�_�3L�m��PJ|��53�/����-�m=W���3'n�����������{�G?.R����'?�H6������H���o�r&���OOThw�wg�_v���B��5BG$���������y���
endstream
endobj
15
0
obj
14348
endobj
16
0
obj
[
]
endobj
7
0
obj
<<
/Font
<<
/Font0
10
0
R
/Font1
11
0
R
>>
/Pattern
<<
>>
/XObject
<<
>>
/ExtGState
<<
>>
/ProcSet
[
/PDF
/Text
/ImageB
/ImageC
/ImageI
]
>>
endobj
14
0
obj
<<
/Font
<<
/Font1
11
0
R
>>
/Pattern
<<
>>
/XObject
<<
>>
/ExtGState
<<
>>
/ProcSet
[
/PDF
/Text
/ImageB
/ImageC
/ImageI
]
>>
endobj
10
0
obj
<<
/Type
/Font
/Subtype
/Type0
/BaseFont
/MUFUZY+Arial-ItalicMT
/Encoding
/Identity-H
/DescendantFonts
[
17
0
R
]
/ToUnicode
18
0
R
>>
endobj
11
0
obj
<<
/Type
/Font
/Subtype
/Type0
/BaseFont
/MUFUZY+ArialMT
/Encoding
/Identity-H
/DescendantFonts
[
21
0
R
]
/ToUnicode
22
0
R
>>
endobj
18
0
obj
<<
/Filter
/FlateDecode
/Length
25
0
R
>>
stream
x�]��n�0E��
/�E8@	Y�RUb��J����b,c�}���K ���;�8�����&�n�
x�i�L��$�zmH����o�r�$A�,���6�H��&o!9y����[�#��S�������nfk�`�iJ8�
�`�$���&Q��U�k������}�@Y������
	N�H���i�'`��|���C�������E�C�IS���X)��NH�@:F:�
�tF*96����)V�f��%v�[J�0h���m[O����?[��^�m�rv.l7�h\��Pm�v�v��*>�\��h
endstream
endobj
20
0
obj
<<
/Filter
/FlateDecode
/Length
26
0
R
>>
stream
x��}y`SU��s����I��m��&i�R��"��B��
��-R);���,�,*��n��l��
Rpe��wtp������$��m��{���h��>g������<�������D�	�y��$�%w)
�gM�q���H��4��E���_����Q��S'������D��qO�T�.����2������p�M"�������0�9y�h�5���1n���,�%��S��3k��Y�G�g!��H����)U�!��)����i���.4S�'�'��A�s��Zj����"�i"-���}���5��nb{h.-��H?���h4��L�����I�qz��b��R<���n����R
��9�_:*�������)�*h=*}Mo1������z)����"�q�Q"��Bc0��0�g������'/h$z^D7�z�����|�U:�������d���ih5���;1�S�����c�%��6��.SG�F}���c6O���6}L��Ql2���Y�"O���=s:u����Q�@W�������o������dB����zb������,���l���g#�4����5^�����?�"��[,m��J���������OT���W�S���F���!x��\�g��Khfu-����u�w�F�F�R���*�O���fc]Y/V�&���B�0������+��������O����$W�����+!
��
�
�������+��t����h��$�|-�Dw�����=@����98g����,�e�N���b6�
g��6�-b+��l=�������y�=���>c����������<������S�*��?����������;�c�
�A����fJ9Ri�4F�)-�IK������������r�|��M~D~Y�R�A�*7*�(�++��:���a�Tu�����I�pm��T�Z[�=j"��� ���������1t/������v��w�a�>v+�I.�.���M��?�2d�y��/��-�D�~v����\�o1�|�D�����|�lg����l���,���-�Q��}�m��z#5�f�=�I���X�������z��:����; ����/�;�X9]�}���(���l�������g��y4Yu�r���H���y!/�l*/e���>a��'|
�+i�<Ey�����e*�����d�����Ghv��4H:Jc����/r?
�3�n�q�9�aW�S���B.���R��_�R_�#��'��
��G���rv�^�\O������]J��A.�.�����7T�?'�
Maw�)��Wb����������LHec?�yM�n3c�WAs
�K���1+��b�KCx&M�}4��$�:�����S'�wy���@����/����GI�nE]��R�� ���)�cNv�/��qg�wHKMq%'%:��v[l��b6i��Ue�_��j�s�r������C��V
A���m�4�<�����6-�������)���|O��|���ib���"}C���<i�i9���"���O�kj�'�<���S�T6T�y���~�~�,���bE��T0�7kK���O�����)�
��**�)�
1���]9nbp�����4��� ?��M����o��7�P?����/��x������]����mr���D��qcj���:�G��V��p������jW��M��T��yDv��U������k��ZW�g�^�]���
]�\tb b�b*�IM�U���K=A���o��K� �k�4b�wwjj`���Vz�\X����|u�*:�r���S��sk
�w9����e�G1���Z����\��G�����@��	�������I=h��h�O�]��X�iAs��5���\�T�>�����;���%�"%j��;I!-��h:�����\h���co#�� A/��rx@�>V���z��^�X���4������������@��.�D��hM�(Q�,Z�r{�������4����;�*�����������>��S��!�������{��ER��~�R��x�d�B��4������?�!��4D�(a������Zg�z�������.���-2�`O���^���^�	�sx�������SW��fM��S��a��&}�x���[��o�����l��h�~���`��:Lb*�	i��w����+�V�]��'v����9������B]�~Q�(�-�"�9�f����dT���o�����#?���Qf��1����e��a���+��Zi4pg����`5^����u�#�E���RL�"�9I�_���'\~������8��
n.�r�?�r^o�7.F2����P�'������&l�)���hS����\5�4�l��U�-&FSMv����-�q����85-���r����f�9�1?�uf�WQ��c����$�)�~��.������{�*/;���K�JKWu�����U�]��O���KK�g�����������([�x��.>V�����J9U��T���O\������}\�5umP�X���F����wn^��=\��Z����~�I���x�X$����,�bcd�9�,-S/���${s1���k%���Lm�c�)�l����@�Y���%df�l�B,U�������.��_����8NCW�#]�_<��
2��(>�w }�����Le�k|ia���l��Yp��#Z�`8����W�Ja�aEr����
R��M�J�)���/��c*tD�T�*���^�O��8[\��,#4����I�����Cj� au�9�z%V9b�����s=nwd��	��7�<������I6)�@5'��s3wHM�w 935���Z���:$�k�6�S������3���t�[�^c'��d�IL�_F�����	2�D�A0�TL�S���x%U�y:��9����&%%k99�L�':����$H�������5t��k?g����k���z���W��~���}y���;5<��3�]/�~�����}(����s)�������7!7��E���G\�tOL\���,�f�:���I���4WR�Yqg'$e%'G�(�n��Y�ho�J���5>�|]RZ������H�,C����v��LYY����a���6��<jl�~9B��������9�b��g��E�Hl/��Z��	���'��f[!Y�f�xQ�/��a>C���D��$%'%c��t�}R��kIo��2�V��<zp����u�c�;�Jt�:������`�����dv(S9p��e�_�z�._����������R�br����L!�!D6p�Bw*X��]�eIV�j&������x��W19�D�ep������5q�U�d^b
X�j:�����1��-	���cV�����P���u&�$�I����.P�+���K#[.��C�l�B�$%��"�]�O��6��>������o�����K������?������������lK������
dj���t�w�W���g�ssb%;eg�r�RB��kj���o�uZ,�IY�d�<"����X��%kr�=�%5��2
=jN���A��,�����n�����!e�.����q|R�����������;��ds��U��D��c��&D����>[U}�9���g�w��{M�:u��&���d_N��j��,.��<<��=��w>50�s��97y�����g��������~~�E��Y�w�����^����?�����<�<���z�=;.��5jV���C�^��}bw�m�KJ������q�L�����T��2�E�����&����qj������k''���L�w&f&`��R�,Iu'p�c�d���H�r�U-!�,.��j���w`���Cy��NuP:thb�1d�<;��		M�8�b�Bb��PK5Y���������P�TGx������p�gu`%����>�,o>I�@�^�E���P=�7�j�$�+a��P��X�xlS�Pj��wF��A�[�����m*���V��q������tR4�����n�b����s��=��o���^q��o�{>��\�:	��Fk�Ri�sJ�m��6c�b���8>&m��J�"�&Eu&9;���Z^kR�Y��V���t=���V-�������0�N��<ZN{-�6n�N�Q-D����
i=�8S�b �O@�	���1���dF ��jD%����6=�����<����d�������V&y��c�a�<�1f��5�OW�^}$�2��$�Nn�����1�x1���+�����iZLS��6-��L���/�]dS����y-��5���'�j)K�f}-U��c�:�1��6kv������l�1/8�c�3������e=�ux�O�~�ml�3b�`���b�e$���*c���l������P�|��$L`���68e���cO-|v��=���u��t����]3���i�����kO�>��^����l��~\zc���;�R��V=�2��~��f0�-�`��J�����y�����rA*�ho�3)R��o�"uU�L�-���������@t��9�0$d6RNK��[�)����w����o�7��S�/�c${���a�e�����;,��|��c��x��g�0���c~!*sf��"�S-����jXR�7�,U�	�z|�3S�e����l?+�iB��P������i�+��q�����za�w�����bV��	���{?x[I�l�R��rY'k��~��N��r���%*FN������&%�#Y����$)���6f�����K	��,�I�F	���<L\���DsRR-��yp
�����{������i��h����)��J	����O��%���K�4�QVO�Lpm64?|��"�{��fh�H�I�OnN��v��P��;�w���������\{���}��qu�0g����]��v���b���,Gc�w,7�l�Ve�HZez)N��-6-��~��X�*[ew�u�R��s�����11�X�36��-�u,8�;&�6����saly���/������ccg����M��@A*T�����>mv���#:;6�����~����\�?�{���HM�b�P�a>��r8�ni�0s��C��[inM�%D�P�$���Ozx�57{V�]���b��Iyc��_?��9=nm���\������#����c�f���Ya�r�������$�����A�=�
5/37Kns�y���!�nVR�L+�I�\�|2s��	����j��\���e����Q<��.���\X����&�;9�������l�^90�s�q��<�\��6r��9�R[/J������U�]��Ca�&G����izG#�;�[�o����E^\OF��'4����g��"�%I�����xo�{��_�)A����B�� �����M�O�t���������K�����;�,3�����|l���L3_#���(��T����@.���n�d�e<Q5YL���Z%0���Z�#���_�H�y�+(YZ`d�l6Y,�$�V.��$����!�p�H�8
��l1�4��*�{�Hbc����*�j�5i�<M�)���
��-7��+�3��8�Cjb0�h�B#9
S�7�za��`�e-�nqU:�M��"����Y_�T3a%Le��:a�f����k��4���y�;N�z��g_{w �����������D�n�:���tC�C�Q
�,S�+����Be���rH��KR�G��������� ������ql��^�T9����
���9a���+���"MB����C	re�,��%a
���a�"L�� ��>���\�v�nq
9���b���K�����j�w8�*����n���9���S���|�����3�,Y����F�.��l�:_5�LS�����VeR�����:�I��8���dG)����s{�Q�an���Kp:������n5�c�l5��!���&�J �i7��:��H����b����Z���7w�7qG^�9����xn�#A���6#,�a�'[��f��5�� �pl�<7yVc����� i��N�U��:������6�O�6qx��k�M^�����e�w��.�{��O���_�9M�ydv��K&NX:�����'j����������8��-0���!K���b-��T`X��]�>�e*�U�~Q�d���0���C0�/������d(�''kp��2�*bB(��`K*5�P ����K�B5��S�	�����1~<B��N�eM�@ ������P��y�
bXT��(���Q����������
�"7���9���|ok���-�%u��T^�v�9g���k�����*~����}��+�
=~�p�FZ���������&���f��9+��JZ�3C�s�N���q�Llp��6����$uq�I���5�.V����(���!����$mnf��V1<S�'
+��z��&8J����Z"\����O�����������|~���3{�_�����Qkgwg���v�~a_���>u��)lXr����o~������4�?�G^�1�Y���/��N�nWz&vwW����l����X"��G��pL���@�k![�������)����?����RM^���dQ��-=�}��n�5.�lfO*��M��M����9.��jC�:��:�L��B�R�����A�?|�_�M�a=��
��d��
��q��F����*#
B8T�.���R�3YC�'����������������pW\����/o�\0�oh�����U�����S��<�|HpE�>���}�np�+�](]>��L`�Y��|��&���&�n7�?����+�`��?[���4��KVn�G]X�����a#dG��9�'�Pl�E��
4��4vUxIT�0l���Y���o�
7t�~"�7bjl��&�IaS�l���Rqb�����G�%�rB���X@��T0���C�{�t�����wd�:��y��~���{�yvD�M����S��{���Li��8�V���*���FP�hU����������r�����*��dy3}=bdO�UJ���YrV���b�S�;AS�������y,_��fV�N?�R�Q ��N�<����������:u�$G� �%=��������|���D=�sNB��n9��q��d��ed���8��'���qZ��Q�����Q$B0�7�ij���]��,\���0�_��=G�&�����djA�U��k�Y��|9�nryUC����%)�f�_�g�m1
�j�v�I-�m�Co�����������J���������U��mw$�gv8����&Q�����q1����~:v`�c^������5�4������y�5��`�5+��0�3K�&��1�G�x�T�?s��!���
��qFX)�'[3���[�)J$H��o�eF��/tI]�.}]���wg�Z���Wv�����V���ik�rUh������<���2��9V(��bJ1o�>�=j�4�c���|M�u�
��N�~���R�Z�-�����R�Y��4n@�����qLJq&�^��NJ�Q19M]`ML�0�R���d5�����EI�MJ1)���$a������H�26ef���8�1
;\X�1�.
;�|��V�B�\�JJ����Zz<QC��|��8��
b�G�D�A���,+�8a �D��o��6G���>r�S��%r�Q\R,r>)���%�e.�{c���4���������u��~[����Q�e�.�)Y��a���Yq.y��������3�����l���!A��k�O�h�by_�	����h���;4��Y��?���_�i�|c�^�4��-���d��\L����RC��UL��C��)����V-��P6t/�oG�����t!0�nv�wk�~��W<�s�lr�L�F��)G�p1�c���^-�8�P��W&�@��x������e���#���z��#�,�!��V5�!�O��+�<�q���D���R���3G�c.�e��h'��]��#t>;��P_�t1��g��K��/��q��K��!���(����8����t����A�B�kx���7��2'�?2�_"<�K[}^�g��,k�R�����4C����*�H1�4s<)O�+M�?�q>���}��`.U�wQ�t�z�n�z+}�r������W�N��� _��w��Y�H����s>�T��D�9Q>	�`l�n�����bG����7�f�/C�����������h3��|���d��c]��|��g��������D��bQr����E�0px<����` �7�o�(��W���MC> B��Z2�C�!c��a
�O�sn�W�%�N�~��L�!�b��g�2��|O��xN�����*����=��R������CP�����
y�R�c���bO���s�1�4��N3"��,J��h���"���i���94^��*�Wi"QP�����/s�_���$4�P��hCo�^g�*��k���������y��:,�N�s��1e'_j�A���	*���Z�����&#�����c>7�=�}���(E�n`�g���M�Y�6�*�U���TT"�����D�(��G�����%Mb�`^g�Z"l���"��o�J�|�Y����k+KQ���T���LT�����������
� ��a��
��_�"��h<���|�+���V����j+�m�a[����T�����~:N�H��x)���oK�����O�0���4:����L@]��������k�P��>CS�4^�������0��[l�%�W{�5jK�P�U��*]�d���"C��@�����T�Q��DZ��Sb{p6U�u�'��������=�^���E���#*�N�/���#�&J�:h��A?!����{/�g(��]j/���<�T����O��2���o���Q},���J�B{��>���M:}�<'�t7�Tg��Y�Z<K������e?���+�/#��i�C�/�Lu�a�)C�zG������w6}�%�L�u��3�<�9�^/�}+�������Y�TY�?#5�;j��#�w+���+A�b�����1�
�[�G��	���,�M�J���i��=-R>B��T.��>����?���JIE�h����/�g���[�F��Jc�O�KWI��"����K������QU�h�`s��_4���^��#%}��@^D+�?���b�f��)]��?���\�����j�4T�S��tu]��A9�����I{(h��L>���=E?-�;V��*�����T$��G���Af$q�r#��,�C�}(pP�}���{��h(������'�����Z�km����@H�b�H9g�k�8W�Oc����y��}���*����44�M�/�n+�k�U�u)t��}u�Y�i�y�����jA�BY/��~z��(�:�Am�d����4�*�4����Z��KQ��r�s�Q�@��|�����	���(L�Gx<�0��(��~��{��|�w?�������=����/�
���_��N��������}�Y[��_��z�mk����G�������G+[��63J��.���:�L�e��>6�Q�~@X/~!l�*��3B}]�,��r���I��qa��k��������?����HG����w�X�2��2|�9��+`7&��y�W�~�?if#>,/�G��6����%�����\>�%��i��Z�{.6v�(|��7��8vv��c<N3�s���T�tx��,��D -'�����xB=� ���@��1/�cqtO��7R1�&j7B^zq����b/��+>����_-2���i������i�o�>S���[��?�c{_�W���*�h+{����1��R}o��9{�@��m�������dt� �Z�%T����2�)��l���2|��@<b�R]�V�
L�X8m�O����gA��@o��������k�
�_aF� ����>��z���K[�$x�(����pO�����G�=�l`8���zx�:�}a/6|5�_���
�9�6�9��/ �p(|�\�#~�����ku��O�`�q�	�q�6�.�zG�2��+���>�z%��!���=(�_A=�G}3{�z@G~7����*?�/���d���������������[�Q=$�����,��_��K@/f����Olo����M��'��_~(��tk[���0�#�s�7�K�����
Z�(4�-"��m�rA������8~��o����s��9����������_u[���0���sV[�<�w�1�-P>��8��������#��_��e�/�G~	�nc���Hq@%�>�~�}�?��hs��+$|�������r/(|������}��	��N�v��`b)���q������A����G����D>&]������}&��a�7�(�h��/�c�Q���1�f7��~`$�G�8�z�.:|V=H@���t�U	����^�?�>*[�'S�r�Ni6�RPC�
��B���:j����^R7�����K���n�N}F?�>�Xd	�}7�_N��
_��>@���V���]��r��s�y3���"���OZ��Ug�g�7�.�\�{��q��I/��J�b�
�V�=���R_e�S��te	�3������3@j���m,1�3-��I!�A����=���|#
�o�a��<�3�\��Vg�����pB��
_k������>���y��������~F}�o�Sy
-��T��1l#|�}�y=���2�����:��J'
�x���_���$w�
#��*2���<qV`��G���|�?my�8G@,/����5Q?��Oa��-�ot>��~��?B�o�@�E�/�'��-���8������hw�u'����v������o���������)����

6Zy�t��7L��b�����������B��k�� ��Q��� <�b�/G�2����F�>���=������C�C�[�=Gb�-�B��l3���'�Z�jua�
m������c��k��XN�a�����.�R�r���g�z%;�.��F���T�c~��f�iH��h!�mi�s��:��?�6���Z��
-my��4�������������6~�U�K�@��wl��s�Hl�B#~y��Q>g�~gg�������������
j^iE?0��_��A+�����
8�����@]����N����Z��g��~��N�&�jE�������������`��0�c�O����@���)���G��.�t��Xp�v�����
D��c�/����9������(��������o������K��$B�n�������\���_�Y�;��)��~K�����$�p%���G���
�	�|���B�����o�����q"��5�h��w��T�J���d�����X't|D��3[�A��

=�m��}S����49���������I���g2*]�G�n��pT�AE�0���E�x�/�,O�aL��!�� ���?D�Q��^�@��;�T�W5�'R�$���6Gu����(�{����x?7�Wt���
�/`�oH�(�x���2�w	���q�0��`��/:������r�����a[D��N�G��x�
��@����rE_�E�;������Sq6�g�|M�E�����������q���������
���A��8-�g��~@;���#}�O�I7��C_�������8m�K�'�wJ)a�a��a� e�J����:������E��t�}@#?EN���k�N:����w�i5].u�\~��.�`,��)~�������h�v��.�>��D2���M<��U��|>��4���K|���o��C������<��e�?�c��|�_�Z@L��������(���aw�`g��<��3�2?>��`Z������i�����E�������'�� G�F��_�G��:<�*d{t]�TP��L�q�'������BY"��E]�}�
���t��o�F?���)��5�G����Wn���d��r��z�Jeu��������%�+~�1Dr�=�s��ok����\�������}A���<��k�<F?!�i�;�L�:�v!/l����_��o��N50>�j�!�E�������TH��|}&d�|������r�d�?�zH%��i.0rs�H���c�_��7`%�z&���>��9�"�3~~�k�������m�#���l���6�����,����z@�"��U��SNC}�[�����D�����F�+�k���3w��������[�O=�@�#f��������$4\��|�5�������������P�+d���?���QP���i%b�43�~�8/y����������=����s�F� ��a}C�o��-�wk�/->�x�����:N�L���n����2z������w���,�G�q�����x�C�������\`��n��!.���=�|hU��y)���>As<["�����O?���"J�8��&��z0��(-G�{��hG;���v���hG;���v���hG;���v���hG;���v���hG;���v������G�R�&�89��F��|0�$����c��
��K�M|G�#����5���1&���}��vz8�d���P`, ��������w�5H���]�	:hpW#����05��.E������"���k�p>��p>+�;�V���q��Z�W2:��������miLM�j?������������C��?���}��m4�W������W{����q=d\1������5�3�������+|����E ����#�9�,��n����uw7�MM�(�������
y.p����%y���7��]�H��5������(>�hb���m^K�&V�;o�����������w��q?��=F���w�v�T��jv�t7��n��&�	���'��q?���=�},o�{?Z�����n��jS^����w���N��/s_�1�.����	�it�hw��I�2�c�r��y�]����&�u�r�v�>�>�=���mt���Sxl��<����2�^*��b������j�wh��k��j��h�{i�������]����z��>[[��9M�&��f�1YL&�j�M�D&���j��_�t�ATY\e#���j��^�&N)� U���}Yu����	�{���Y��*��,_M��u{���4}D��_��]\����P���]X��RD��i����UM���4A�ko���������q�U�ri�\[�[��s����a��c�k5���#�]/��E����zdm����`W�������������fVV�g	RW�_�gW��R~E]]5��h�X�{X�3�A�����0��,��g�����%y�g��%y�i����A��(�h���A�v��*+v�|�g0�?+Xf4q����6�`���&n��&Ug�D�tni���Ibg���mb=�6��'��������&deX�.���7&L��z���{[�zE��_������T^�2��)5&��HD�^^���2�F��F�
��U�^Qe�n�����7���r�8}���y��!W����?s#��:���y#����G�����`���e]�eVke�~8\��e�P�Z���������C��P7+���s1t�����Wl��`��p
endstream
endobj
17
0
obj
<<
/Type
/Font
/Subtype
/CIDFontType2
/BaseFont
/MUFUZY+Arial-ItalicMT
/CIDSystemInfo
<<
/Registry
(Adobe)
/Ordering
(UCS)
/Supplement
0
>>
/FontDescriptor
19
0
R
/CIDToGIDMap
/Identity
/DW
556
/W
[
0
[
750
0
0
277
]
4
35
0
36
[
666
]
37
39
0
40
[
666
0
777
]
43
52
0
53
[
722
]
54
56
0
57
[
666
]
58
67
0
68
69
556
70
[
500
556
556
277
0
556
222
0
500
222
833
]
81
83
556
84
[
0
333
500
277
556
]
]
>>
endobj
19
0
obj
<<
/Type
/FontDescriptor
/FontName
/MUFUZY+Arial-ItalicMT
/Flags
68
/FontBBox
[
-517
-324
1358
997
]
/Ascent
728
/Descent
-207
/ItalicAngle
-12.0
/CapHeight
715
/StemV
80
/FontFile2
20
0
R
>>
endobj
22
0
obj
<<
/Filter
/FlateDecode
/Length
27
0
R
>>
stream
x�]Q�n� ���Cd��iR���}�n?����Tc���_�m����Y`7;7��5�g/~V->�=,���FcY^pmT�F���s,��v[L�fV�<{��%�������
���o��w��6�vu�&��&%�0�D��{�&�����q�}��(�6�@��c��aq���X-���~�C2��_\��F��X\"������QT2�\��L���fK��r��A��,�Ds"QE�c�dUIW�D�Dj"O����S'��S���t�.�Y���p���]r���:�
endstream
endobj
24
0
obj
<<
/Filter
/FlateDecode
/Length
28
0
R
>>
stream
x���	xE�ZU�������$7���
H#i��E		�D�MDEeQQ�
7PTD��A��u\F�edH�;��;$Q���������r�TUWuUW���!�b%K�@�)�7����<H�<f���f�~M�zH�������>��?�!�YC��93�M��������;m���oI0���,���1{��Ieg�A������_9e����2!k�A~�����x��K	y���3o������#��0!��K{I *=I"b���g�#n����#f_B��L��3��dy���V[�RO�HB�/��b����d��L.������T=)&a6��P�"r�K�4���,!+�7��
�$��2�\In�CSW���C�&��%W�9tij|�����M�q�G�c���I�L����7�_S#����~�!����h��R���G��"M]�:
#�"W�D2���,	O�F>�a�X�Oy,U���b��� ��^ZF�,ibjX� 	B������d������!�HmJ� RD����7h������fL�Y�@�������er�&��J�!u�4���[�O���0�'����_��-��S�����m��;��b:��c���aa�@�]�7�������M�]��	��O�g����R.X�<�y��@���q:��H����>l{�},�F|J��2��2��J�&��^�����t1]E������0��]���Z��0C�+�N�
���|�&i�t��y�����j�W�kj%��F7y�l9D�����c*Q;u�/N��Xz�n���G�f���^����;�==��d���X6�l����=���0���(��l!)�	B�p%�j��~;���Q����y�*�#="m���^�N��F��~������I���{��7���N��Q��LR���Y����m%oR�]��^t(��$:����`&����q>����a��B��1;Y���+c���]����l������iA��[���Z�&,����������S�Y��D��)f�ybR N�??�&J�I�d�<[^)7��P�)����(�Z�]���e����Iv�V�#a��O�Inc%b����z�D�
�P*�LW��i=�������prB���>�a��y�0:��&�X�i�_��B�9.>��<y���7�oe�N	+�>_:�I�5���!U���=�FC�8{R	T�;��4�d	��
s��d'�G���e-��p������ ����u>!7�Z�Wr�x5��N/#����|F��� ]!��
�)�a>ZO���]9����'�i��^���C�"�D�@xF��V&��.�3��'+���2r�4^�3��t�?��X�*f^Re"��]��{A\ ��0P�P��� !���>�"P�L���@��A��1��\&�(HB���/$RO��S��+Rw�� V��7�c�v���h���!�9��RvH������w�hvO������a�%�~�^�sd��2�T����u����\J�����@�FR�<�mK����~HF��LeR����� ����LV���u������i���aZ�L���a4���@����;�������,������k����:%;����$�������h$
�>�Gu����jQdI%E��k�uy5ub^b����OL����
j��P��m��x
�o[S��������ZKM��+HE��x�D��`�D��N5���MT�����0�^��NHgeA�x�����:Z�W���5�j�����m}}��:�m6;$���%�l��^�'X�_�m�X�0��h�o��H�/��N��7yj��Q���M����XTG�LI\ZG���I^������}��M|&�
�%���q���\Z�tLML�<q|�0�
��$���u�k���e���>�W���&������5��uF�o}7�UU�h�r����]��I2:��U���
�2�o�o����D?,����&z'f��UK]SG.�&k{4��I}D���k��Od�U�%�&��m��5^�#��#m�t,��z����r	��ubZ�=���15�����8��  ����8�d|��^�� k���j�WE�U�TX��u�>5k��X����\5_�=
H��m�d�D�U�'�D:i!5�o������B$��)����u,Z���9jL	s;��g1LV.�-
�2uKG���qri�v�'��X
�i4���������5	��z��j�������}�f����s{�~����Q�����1�v��69�~��{F���g����K�] ��-�13�Q'��?����T�Kh��Z3P�V�����F
����s��a��L����&�fx�5T��1�������w8�@@�d���x�:283�5�{ T��i0e}���^dd�TL3�U������?�5k�'��������Zzi"�&��a/����WcNCj�-iu��V�\��=�)��-AW������'������z�����>5�������{��h��a)b&�2��Kng^?m�F�R~W�<?��^f1�(����2�,cP&�e/�?�1}��oM=�%�:52�
l�������������=�j9C�b#V�:�����&x
!�F��bP4����(�a���5���;����pZ��vIz�g�+(j{D��HD�i�pn�gBy'���\{�y��$a$]�������@�
����U�*�hB8���>~��z
.��x�q�B��P!M=��r�U������t��F���t�Hf��x�L�1R�9�r2w&	��L��A�g�TazA&�����N��s..���A	.���I�
\H���fb���v+�
�XNd��l9��t�VV�'�J�����f���+���>Uz���<�wz��{��*���UM'<�����}�}i���_���������Eo{�=��2������L����b�aE���6G`��0�h���4*D�9����������x��.��\x�����m�����M}&z�F��t���n���{��a��+7�>�<����WT��a�Sz-����Ng��1�n^����f�f��?��Y�q����bB�8�������W��b���p9P	O�&��I'�I2>��z��'��"v���T���^������Y/�#j�0����R�^w�#m�(�b������$�b�~�����>ic|#��*��)������k���B���U�}�=�+�w�����������hq&!�]=N$~��8I��V-+Q��J�U�2�bX�OQkX�ez��x\x�c�B�|�M�C�8A��k� �Y���-�N�����p�d�\�4&�V���Q��*����>��D�Tt���S��=j^"[�����a���g����k������O=u�����M*������9�nss���o7}���oO��<���+�����3@u6�������_m�
	�����WAszJk�%�vv�E|F�V"KL�J����6>6�EBQ�4�>�WU �������W�������A�1)�SK�!�J�,>K�qI�����t��i�>��2��*Hee��z�q>I�)3�YV��u�^���_���{?.^ ^�kq�o�:	FY~�����{���3`���� �`��p�����J��Gu�}>y�i����o4��B*�/e ��BF�����N��6��=�9�-�g���� U��:����I$Y���]��XK����5����~>��^���2|�vx��i�k��������ao�3��y�y�s�>�9�e�+1e���1�U�����{��f���c�ci'��}��>����t5C��:�����
G3l�E�_�E��X��
�Y�1���6�M;Fx����w���6�Qm&���Q�4���	���J�c�H��������d���l	(��,���8�U�KV�'u~�h�mV}��EZ��*W����4��&� ��z��������@A�P�$�e%���gd�����,����o7����=������O�����g���bJ�
��M����5�C�|���-�oZ=�r����bh/I�w	a.�
���V��	k�x���Idh��
��;�f����bRg��G(��U������	���Q�,���WV������������dW\��t�s�t��<y�	/Wg���r^�_�\��9�q�M�����KT(�KqM�^z�b�I��ebx/�D"l�f�QJ0L��\b����Y��?)~e����"���YU1�*-U��y\l�Q���1x����U�����c{�M��� &��"��5�;
�Hr#���'��-b��(��q��N+ Y�:@���U(^|������{K��$���q��w�.����%C�^�����f���g}��E��N�z�����~!Eo
��������E�O�q�����/�>u���2~w[c�������J{An;��=��:�=����9�p.��U��*qq.��U���X���W�+.�E/�	�����2�Z�UW��������8���P�oD��M��H6���>q:_D� ���0�ST���s����FD��Wmb��[�lZzf��T6����o�yak��5��e'J��Ye�:7Cf�;��L�86�6�8������������Qo�D��P?U��POV�����S��A��nXnp��g����r��oi��r!�c� ��W�#�����wh�r����-������������I��_FK<%��G�PvO�r��]�7��I���~�y#����jQN�}�%=A2�Y������W;�H�c���B��q����B�4h8��0�����_�a��X�/v[)��P�m'N/��l�@��*������E�e��K���J�*`��� eP�t�r%���!�k�����{�������,V_�U�������P�4����|���~���r;A�h>����b.�[PcP��"}E�����LR�T������+B%��J���faS�������2��w������s�%��pi#^�+�>|�= ����tJJ@r�� �}��j ��d�Z����e�4$�W��������X�����<u{�i���w4R��[O���.U�������GT�?�i^8����^�c�G(Q�}@��B&����O�����e1�&%Z�(K�O��������-���8���L7���(����:�`��I�~�-��\[q�D��HS!��B�=	�����/��U}\�_����6B�*Z�o�o|�wL�V��L���N�/�\[aY{��V���qa�u�!���:�T�����x"��7<8��N�L�o����*�3E�Cv��S�kRVne��W9e��� ��O�F�W]W������\��s�
�\��M
]ZC���Y�m(�#
5���OC�c�I�����2�i2��;� �ZK)�9�����YAM�EK'�M<jw�k����3;�E�j�]0�Rv����7]}x����>t������}�m��mz��k���]�:�����M�i���������S/l~����[��o�V���������I�h��N*�?f��<P�tfT�:����D��6���n�|�Wd�$&T��.(�2�q�z�zn��������[Pa:�,����0��2d%����>Y������n�=����Y<�������g�{�~I_~c8��k"�5!� ���{H�t��\+a�w��l�/�������Ev����=�l�I��|��;����?S��F����p��$����<�����9�������91_� i�P�����v��������3-
88���
�n���n�����x5�`�ZxZ�	8�z�?1�y:p.>�6��������n>����(�E�M�o��e�8�ec!v�-\����{?�3��0�J�� ���������3��\O�,s��W9�
�B����J�2�r�J����=|�l�c�(�x�Q�x��H���d�����m5���0�H�.D3���R�^vI��f�d��I�wkq�5nJ�����Z�k��00a.`���*4���@���o���9��#hX��eS�q��'[�[���-�����!k�^��7����Y�������Q<�x&P����9��5��O�5~Y;{�����y��������������9h��e���q��BZ��fmx��
���P���)Bi��/�13��4i���gS���xb��[6��8�����7�J�#��\�kB�t>qY-�T�
��tL8o��kBW��$�ja��j���������@?ot�m��$���)N�a]���	�	<�����O�S��d�]��.������rG��z����l��q��'��r-���?r������Z�q���
����L�����]W��;�J{F�������������%��^��6zK���S���_?�����>|6(��0Uf�h-&���Yq9^�1�5	M�vI����zD��c�&�d�Q��������v�f�m7o�Q[{�������B`pr��|�k�����<��y�%��hj��j1MMM��������-Va/VV��Z0��zx�0�r&�#�s�
.�<����h��f�:K�����<������,�����7����W]��9���Zj���T]��I�w��5���>���]�\��dp�s1&�"�;��Y����3Z��YXX������pPa���p�sfaM�5����>��t�-���p��-�"���*�s��K� E��S���U�����Le�2�����r��h�8�h��*9�23���
<��?&=�K]TT�sJC]���I���:��]���]��R.��V��@�
�D�u�I��4����C��X����KFvs����8�e	`}m���".U���b
i:��o��&���IH	�\Q1�x�U�Q��������oL�������Uf���1�7���������z�4��]���5����:�m�����].6���f�'��.�\d5�7��
����Z->:�C��pv1��bN�����s���d�)W�L�s��C\�p.e���0���U>^e��*s�$w����]�+@[��������&�;���hX%yT�`���y�&F��Ts��.���<�*�[w�����^C6�`x%��;��t��JB��=��>?`����w/�%�V/�&�.|���Wo�ZC���B���rb��3g<��~���O��l���������x~����[�h�wZt����{��bj����5�8�j����M��^���h�Q������~�T�Y��23�c%���9��2����`H���jK�s��:xIt��r���+����8�
����u���'�e�2#q��]��,U�5i�{�4]z7�{���P.Qf$-&+����aS��M����\N�9��T�k��R���#�v�18`���������l7����K�Zc�6����z�F���)!^�"�N��*8�	�6D.c����h=A�LZIG���j�|C�����)'=��F�E����(�"�6����0����;���;
�Ir�
MF��(PfS[jEr��r=�\M������x���`,�|�je�t|�~��K����������t��y����H{���}����o������=���r���b,hd�s�8H�(��m��c||����WU�S~5��R�7u��FF�9�����]	�D;uN��'L��w����[����+��V�����	�����jB����M�������f���,�*��R����]��G����	\���W���7E������j`X���9A�����sc���M�t#ArZq��,\.g�����T�F[�i)�����=�����R
)�jX�v�T��qr�� ��`P,��-�I/��] ��B3�J�).l������������J�����/n�9W=�8 ��i=�������������X�>
���@��5-f�=�R�)R��iw�b[���}��_������en�,��z����n�+B��tj{��e[7��^��7�~�F�9���>����O[lc�3�Y������e����������Ti�u��&����t��~�������W�c\�33�QHC�(��N,��)���9��~���A��l���9���O��.��]u���+BGh#t~���N	��w��*�z�f��D��� WU{�
�U�g��R�.�<^	��QNyd�s�V|�����u�`����zgzB����������+�o��
}}�}�rH�PI)"��EP28�p��d�|�i�J��L$�td+I�����XZ�/�P95%+��������[
��h6�2@���.S�i���j�[7��S��)��U�|���+^{��G��f��u�?�����}}?j�!��2@��:�B�$��Z����Oj�+����%�T�.�Tz����H����bo�H���a�b��#�&{gG'�������J����Fk�s�B0�^�nP���i1�B��-�%�d#�J���b!d�(�l�s�&�9�>�1h����D�g�������9�3
v����R������A�
�V�S�����@�Q���Rs�u��%@��������"�W���p��j����&�X��@��b��gn��@E��
�)y�}n�l��bA��x�Jw�i���%{����E�����#�E�~n��b���w�(G�q7/~��=VO3A�:hA��?���{g��W������R�M�����#���-2'���A�SNK�Y���4F�N��,M�8�;f����DA&�G�����9�ib�'B|2C���������;��(�
����u�F4�����%~~���)�F~&E���������n�������iq%��#���$���6N&O�f8�:Y�Vp�;�<^���
�w\��\���m�*��^��M#��F�4Y�lM?�+�$�J�J�c�4��n�l�_���C'���za�C���k�����������k�N���<J�8/�����]��s�C����5=�^d��%�����������������N���^�^�C��m(R�eu�PY���?�_�1Yc:�T�dM�PS��������I|��	�@�V_�)\�q��+����&����5U����~�1�-(�-i�1���U�����s���!���PMhiH,�%ac��4qij��!.�1��K���1����!�C���A��i��Ok38�,p�\����)�S&'���}�C��)����t�KC?U�e����;����������E��lvG�E�P<'��c��������"���)��9j��G++��=sC�`H�%�u�t����#�y��[�����Yp����.�{�����k������y��/�����6�����:uB��[h���Q����gg�ph��B������@�]E��_F���{HX**�������~�^����Hi��qx��D�;&)~��a�\���\�B�GG�U+�V���F+
r��pq����������bn�[�XJO�m��B[�t����f&;��Gw�Qt(�VZ<ds��u�TP2?_j?_R?_|.��
�:���@�Y�<�tZqi��
IqZ����q�cx`��pk�m��}V�[z�-��
�(�^]N�d����i�i	A�\�2���I%�k<	_z9�YUC������v���|wg���&����}��M��tX
���)}R�0���W�_~E��6�5�|���=$L1}��_e~U�7��t�y EO@�&=����&����
�R�a���
e=�{�����������n��Y�ZOXb����.�>b}dMYm�V���	VY���{��Y�E���JD|D� ����G��(���a�����1��X~�/�h��E�(DSQ��C���q������D0����N��EF�77�K���������^����31����������vv`��2���3��}g��wZ=n|�t�y���8y�Up;�)����X�-e~|BOX��`���c�
W��W���J��;���V4�{%^����P"��$���D)W�ho�Z�������<!�����Z���J�g�X%�W�����H�[�����_(����6�$"�e�j�@�j��*�_QdAs%�_�l6Xn�Ba)%Y�3)�&6P�f�D��`�_�{c<��D��1g��h������%�2^�x!����J2X
�]��E��
	1 �B0&���x���$�p�=k����wU�\H�
w*Y=�88u���b����WI���a~�LQ-�
�_���!V�i].0k��)Q1�J?����E��VKzz,������=���,��	���d��]�S�����m�}�]-�u�s������i����H-� ���W��:�=������W��Uzl
R�C�(��,v�*@�t������7.���}��5/l��2�m�h�&`��(��0��Z���]�.gkI�F:����eQ��o�H\�����{���;J�t�����s�S���&�R�����$���	I���HK��$�^�1AW5�$�r`�=Bh#9��J��pN����;:Y���0Ou��7yH��!�����AQq�b�O�
.�M�����
;@�k2�>�C|�HQ[���3�nN_�L�����H�#�FL�����p�k��if�e&�f�g������	����f�j&�f�c&����L����6��,���G��KG�Sq���pZ�*���@�O�r"Qm�s���
�,7��r�y�G���0�x<����q�R�<��#��TmJ��ZF��j��k8w]M���t��;H�0�;H�VJ�6�����R��J3��i�Ca%	��v	.���0�Zc�E��E^�OD����a�5�����G:I�t)���@����B�#��n?���W��7
�7���s�t�@����~(��4�~_���I�^g�4�L���-����/C|�[V��jmcm������f����[v$&������S�.�)��=|����n�����|R��75���/Z4r�M����IA�M�I��c����3�	��OQOf�]������������]��,j*�6���2��er�e����Vt�[�vnK��-mo���\���y
l�mi;��!��Nv�u?�q�e�����?��0��"���'�lNxC�.��+	9�9
9���;U�������i[;s����
���y����C|���O7�Or�����9
������l�����,6�&�j�Gv�Q��kL�2t��(9a[<��b��W�_�q�j�/�8�I1������z}�|������z�����\���w���+��&���4�����4LE�
�b�8�-��*�e�L��T���,�S�x���'J����������l�Tu�wvpj�j����ba�4�v��ra�4�v���������������PN���8�(-](<�iD��m�0���Gd=����+'���B��*qEP�����!H+�1�d�vqrq9��PN�9��������@b�:x ��\Z~��h�
&Fx������ ]�*3>�iM	��d5�Y�m����c�h�XGK���J�ZE4W���c#�����w�M7��
^��-6��}���;V���|4����o:���4�:_��?����0�U�3�,�
/���hjG�|u�*V���,3���H����;}N|]��3�3mphpZ��b�����Y�Z�Luv�6�1�������73���f|O��	1�&ebO��8X�������=.!��:9s��+bD�$�D&�b$����6�Vc[j��,��q��S���a�����
���mgC�.�E�-��Vb�����%�����m8��6��f�T�m8���o�e��m��Z���'��t�o�y�[o��L}����|��j�Wm�y����g]��un��yb����\0[�L�wkF�Z�����3���tF�tp�kG^{�/hQ��p��C>����*��X*�G����l�X�����:�`�v�`�f-Xg������Xv�����~9��bI��yZ�\�3U=�1�V��p���?�8�V��w&
���<�N�WV����8�V��T`* /W<�kf��������K�b���{>�?��f^�[0�����6���hH=��;~-hu~XO��:.�'r�D�Ld��,3���%<����il��3.{Z�b�m��9O��.zQpZC�p�����CR������-�m���,���l������y���������r&���S��,H,�Y�s��A�����y��)�c��
v���,0-�l3�09f�x_�|�|)�|MM�4oF�K~��&F�y��)=����H���TFFD&E�FEdw$3re�����=�"�
=�]���U�Q����;S�2�5�������)�������Yz,���Y����|�����X'{f�Fs"�/\����(|X�"WG���8����U������wa�������n�`���v���B�������beL|���O��S
�|Y���5]����K�����C��	��=�O>�O���8�d����
�9n.��|��8��������x�W��Oj�����Hc��z��������y���*��\��ie����$~`7�VA�
$G�q��
�3Z~����/���^��
r�3�F�J�:�%��,W"�d'�K[-������F2�t�|�t�/�T.L.[���{�$�)�
�R��s����N���[w]p��2c;��t��W��}�u����u���(�c������s���xV0X��|���f���;��X��i}�O�s�Z6|�5����]�p����t�-����'<r�3([sR��B�~���mS�y������nCO�f��d���hU�6K#�P��FT�I�
t�`w��$�:��1���4�X�Y��(s���:E$`�lP��F��"+�Q+�nd��#���n�	������Y��Ct�u���^6��i�m��y����Q��'+�noS*5OI��
��F������M���["~0�����^^�|���;}��������=���������m�kXQ�/ �?��M����Dq;4*eq_�������K�>�c������������M�#���s�!t4���	q�%���<-��B\y�Z<�����1vB��
����)K�hc���Gqa��i����9�
��h**�a���K�p�-����[[?��VS�Z[��/a���#��V��X�&�ux�M�����=��*?TQn|V�U���d�b�-�\��F�OA��p�*�������,��!+v��P���%��P��v��F�v^���g�(���l�qk��F�����yV�
��?`EUF�����#�jKTY�Cl<o�	
��]�Uf��Fln.���hLUVzP ��v{�;;�����H��=�=��]���R��������`yT�Y��ZF{������b�Eb�Re����g����58�h�����p��'�{�1��kD=�����N�~n��)�L���lL&<�
�IR��i�eYP,V+�e�$
��n�h'u�����9��C��n����+Ss��O�U`�N��u~�C�Y���d����R� �
�l�{�l�A�5����<R^*r�����
,{L� ������HSuS4|\=��<�iuK����^u��U���j�+�r�{�e�*��_�R\jE���������v�o{z�#;T.`~{V��?�����r�+7�����<*��JK@\w��c�B>u�������N���i������=��`����{��iv4�AW5W��j%|�e��9��f�~�s>��E#wR+��@��W�^Cw����������hM��6�[����+�e��u���#ne�8}?>������Uf�w�}��������������:��xQVo�������n�n�2��{���70X���Ufzg�f��:��\��6��������w��>�f���s���/m���w6�?�S��t�>{,Mt�u/w�H��u��[^mlw���z�^"~�/�k�C��p{�vn6s���Sc�8�/�b
�r��B�7�1����y�$�>/�6����4��K��->[Z���1�!�t��5v��9VY�_�&�i.X/@��<VO����p<V��	��1I��z�iw'��C�\����GM�h���=�9�����h���`W�r[v�r���@�';Pn�)���6���I���=r������7���%���*�<y��y���'�3���7_~AN���J�/{J-�I�u��M�_�l�BV{��[{W�FZ.���������
+��&���^�0/��
�����W�
{Q���Z���r� ������P'�1l�e�u�z9����q]`��z]a���#=��"�<�����[���*����@)+��[�S�X|����,6[.e~
���e��d)	ol��$������t�Xu�[,�$?�4��=��vnpQ��\5���.��s��k��@�VBG�+I�$�#0�� �n��+��!q4���Mh�V����8���!-�S]��.�+�z������Y���g��s	�w�,�T����|5'
�17N��>��Vn����}���r��m�r���	8�\*�r"�,+@�n%Y��i��������f��N�"�yu�%�Y ��"�3jg>7�]��%�����G?�/D����v���t�J,�?�R���Sz5'}Trz��kUb���9�d���H��_�%�|�����qd<]E&�g�AH'���u�@��{�-��!@�8��Q6`2�h�C�=��1���|2��I�������{���t��!���	�,���������t�:��y����S��a��!���]g#mUn%�2�w���b�o���&�O���
�9`%�1p�!P��7�*�2YM_N=
�����UX����9+�~%����M���8d�n�,��� �.���Ho���|��w��c�)�c����$Xy�`k������� ��,\�0�$�����|�/#P����S�p�S�h����<�0�SM��d�p���{����{L���p���IG9�,���_�0<�sNS��������k��o�y����2X������~4�X����x��b�s\w:����:�<��i�`{xV�A�����Q�s+��G�E���Ng�������	����=�@��8�� mr���^�9��q����a��:�l4���d���Z����/H�0�m�����fL������7��HS-xO���1p�21����6�����&�Y��q^����O����v�<X $a��M&6��� ���5�� S6���2P��\*� }������}�n��\hi$%��# ;|�r����=���<B�9�+a��*IO���}Ez����?���6��#������O��-=
2������T
��N�	�+� nb(�������Yji�2��2!'�5�S�Hw��'rx��J'��[�����;t)Y����J�Lf��L�����&|>�9���
���%�����7h*����G
8�=�������\?��X��k�t}�B|�I�����}:��e{�u�w�Oa7����e�H�s(g���q��k��c������
c���}�����Rr���r}j��Mm��B��R�Ix�E-:u|����L]����G�2��g���������q||Vy+Y"��u�����A�Ow�Xs���������`"�	_B��P'
w�<�.���$���-!�/*�E0�Wx�T�X&]D��"]�� k�T\+|���*��@N!]���N����>y�����
�B�B���P���������M|.x{�E��q.��r�\�����#�Xr��Fe)�&)���x����@�(��w����V�lZ
2�p���:#<
���:����i�����w�+�2v�����!��w�F{�n�FL�~r-��n�@NB��@�r�����7C�LCn��f(���h������h�'/�v�c@;�� ��d5����aV��@�h4ft���o0`��L�1�Tr=���g��NH
u�q�)�#]�.���Q������M&��������u���`[b�!2���!� V@���
q�/l�{�������N�
�$��5�~B&���VB���3X��Q��AH:�v�����vcfC�����x1�f�0��q�c�������B;�#>���_�o�:n�n%Ol`��>�0r
������l���b�Nb�
��E��U���VF�X�~��Xo�
1�=p�k������\yk��R{��w���'S{���y��u�O�EZ� /!~e!��P�����4���$G ������_�V���~Gs=��[+Gl�������������7$��q��S<��MT�*�A�w����Os���.^�n��V�y�������ky��Lj
&������X	���-��^�Kp�����'&�Ba=�	h0��yy�G`90�(��h��uy{'�������_h�_F�!���n8��z���>���_�&�A�\x4��&n�����}�)K~�N;���K�����
�2������h@��vH%��G�>��7�,9[���1��e���;8!����?D���!=����bb�`��(�e�����?�GBN����?�`�������_|���-��~�i�<�� 9�xH�\��B�{��������O1�,S`�������cs=��5���5�*f���>��`����}���cbX��� �M5�M�@;mY����h`��q;�%�ob���~E��W�y�@���~>��7Z�Vz�<�������So��q}��&�����:��
�n����|:��M�f�����_�i����VG�tjW&��_*7�������~Mw��u�/���z��7��	�^�+����"��Kb�J�����6��������3�~r�=���L�D[�����������o��=�����9��@:�Q�`���@G����,gIW���+�w��l>x*������&��yU<���7`���s{�E����0g\����b����f�k�>$����~�8!���@;�Wq��,���w�,����y���m�m �G������ky��<���9�xc_��<��L������:4���A>��!%���T�����=x�C+��w��1����`'}����%c|
�����<��:��	�"N$}*E}�j,�_�c|�f�����yc����<l}�<l�J�[����{��MP��ryPN�����^E��3�?�eF[b��;��	��&���i�����t�w<��1���`��_�:������F�s�������q��d�p�}fL�	�o�K�������K�/�B�m��x�O������>\>�_���k&9������=��?�[\������G�?��a���;P�a��+�W�����r�n�	��r}�L
P	�������	d�9H��5x\-�(�����^�{�nc/0"�%cxL���`X,�q�q�?�5����n`>W�s�_�����N��=�p�#5�*�IEz�����#\	�K#����`XW7�I��d�=��C�"���7�W��RG`_B�;���<����\b����ir���`+{����e�V�t=
e�d�[����>8�~}�&SY����*�_;�6�P`�3@�x�-�i�qq{�r����(��(G��=@y���/���q�Ry^{�����q��s���f|C���/��K����<���cx{������	�����>������P�@}��!
�Ej����Q�^�S�����m�����
~uj�9h~pL?�a����`���m~N����g��}�����.�T�����w/��z��V���co��\������]�9H	B�L���A�NR�[���l���|�;��g�����dF
!��������\�j���py�	���]
d_�*;�y��F�e�4���E�
���}2�����I|�D�cd�x�+��x�[������Qn��!�L���J�'�{'��*[=�_T��?���O����ZO(���N�_z}#Y$]G���&��0�#d:��Ly)�n$M�V�M���[�#S�"(�B���$f]v�a2����w���B�P��_��p6	0���v����<7 U��L������""��D�t� R�X��*&��a�A>�!������������O�e��������|�y�����x�n��^��}-#���g�~�R��J��kL;���0b-1�}��ly��7��B#����}<i��1�}�F�%��U�����	2]^IFK�`^|d���U�0�g���������M�`m��~5����@�_�����9oBY�z�|�b���}��Z��������-��7�p����|��C���T�,����s{�H?���14�a<S�3{���]�g�y��>���d��n�E�|�
:��!��
���z�q��+�t�����:�����_b���s9��[��9�S)#��OcwF�-j��9����a�'�Sk�������`���gs�
����h�-�C��?2h���`���������R�D�1/�!��_�(�@���h�r���u}���_KG�Wt������[����-����|k�-&�R����h������3Z�l�o<�����u��z�7��`��31���v��>��?K����a^�x�U�B^��Y%a��4~^���O��V�M��q�F���S�:��H����2M�?%_�'~nG����{8�3��
��cI6�d3Q���E>�,�@����R�u:�(�I	�{��?{-��t-���?JK������t�/��8)���[�S�|����x�������C�gz��q��W���������G�3���I"�Wp��o&�Pg����37����{��N�����V���k�\
?���tt�?����}�/���d��?p����g�Y'���(�@��������4��+`���L��t��?|������a�n�*��.����i� �����e?�V����]d*��S�yz�#��2�J_�}Mz���OI�Bi���v�t��
X��3�X������������9�W� ��~A*�	�k�(��~����:��z������}rK������������>"�)��TI
�����!HK��o7����GRo��o��$`}��5$x~���i��5�}�r}���S����-2~~Z�5n�*}�M��������c`����9��q���q�C5�l��F�lh��"�3mH[�-MS��?�_���{l$���m/������1�[�?������k��K�E�v6���j�$�_���?��kg9~5�n������V�F�ze��%u�����	A$��������x{���H��8i��q-�����G| �z����Y�;O����B�5�k��6������8m)��e*�x��4�7SQ��WH	;�� z�AY����a��9�iVh�����J�]��Ap�^�2���,���P�����U���{K�A��c�I�/q��i�S�?��ml����=|g���������|��5`b��s�T6�Ru�y�JHTP��T��HE*"�J4�j�������]E�6�����&�����$���C����Tj���=Hh���0��=��3���������O<�396��9O�s��	[���������|��R����'�������l���4���~w���9&�Ls�����.�E�������*��k�;�����~�>r��g����s�����;��>�r��r���h����,��c�����=��?����Y���&�~s���Q��9zA����g��x������E��|�a��o�3n�1�%p�|�:����'���h���P�x~���)��^(����t�W4��%���{����p\��xB������������;�cD����#�{�h�R���Tl���D%���u"��<JT��NU�(0���hl��������u�-$���[����8
U��M�w��"jA��;
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�B�P(
�&~��n�
�1����j�}u�|��h
�j���%��s�\\����l�,Yo��Ze�pf������VJr8����4?�}�����ap�A�X�}`L�he��4
_d�6ig��^���Ahd@��V���>�#�D���eLX+N>�u/N�*����\���v~]���w���8:��q[��=��	^�����]X������iE��"T|'$��!/cd�	m&��k9���V��
���51�k����9��d~A(��3|�
������~jzA�/�(�Ag�0��
,��wim���0��A��������oQ-h]��q��oA��u�[�v#��:�����z��������j�O�-
H#X�5���Q\�5
�Bi�F��\���4z��VA
�H�HV?d�������4�s�'"��GM���+d�6�
v�XWa]%'�
�� }����Up��0h~9�b��R2�dD����e*F���_��U~A����������~�"SOH���A�"~
�u����D
�0������t�# ����V�����������)=���v#X�h
X�0,�>�/���c?������"���`	��~XB��
K������l��%D��D�?����F]���x�������r�=b��.Q�%kj�b����5�5��s�Z���������������� �tf��f�[���X���.�0k�Y/2+�����U�,�����<�z�T�R�"���~�g//G�������0y	d�ZNf��<�/tE���Y_�<�#��� �v��\�A#�F#�dx!A8�A���?"��4�.���Y�q�iG��gd�j��nk|K�r^.����o�vDg^?k�g���������S�f�g?���G������*��8��G����4{62"3���B�c�(����RB�/!�#�b��i�PR_�d�d`�1���Tg���_���4��w}����v�����>k\�k������)]������u?"�'��B�5���O�2������Z�k�
l0V!����'��Y�Q�h�p���4g���B�1kP���,��/3�J]�m�ssw�[�_r�����n�]�.u��z|���i�<����qy��<3���pP�����P��nF.i�����S��fN������uM,f��B�����u�i��f�=�����1��7�K���;����lw��:�;G����f���ft��.\�1@�x�T�9�����hwcIcaC��G���Yy�����c���b�:�Seq;$�LY<f���1�n�����P�����j^+���h<K����Lv~�17����#��w��;~�H�*����K���:7W�����OT5G����O�I	��(6����Ou��)�hT��Y��n�.��.]���K�=(]��q����t9(K���������O����4�,U����S��]����C�����f������7o�&��;^���TF�����Dw����h?u6�w�w�{���p}s��h<�������N����>������Z��]'�[DYu��:QVK�E�E���u�{�)����)>5����<�T��� ;o}y���A\������=����"j~d~DD��Q���F���//d'�Q>T6Q�wWb�4?u�� �w�hpG����f;�)��%��5�bv��
�n7B��&��'��NmNg�;��\j���[!�rs�������Z�����R,�g���k�?��q*h��m���1�k)1<$�����D�j�?v���	zwe�l[�f��IM2���l�^dH���K
endstream
endobj
21
0
obj
<<
/Type
/Font
/Subtype
/CIDFontType2
/BaseFont
/MUFUZY+ArialMT
/CIDSystemInfo
<<
/Registry
(Adobe)
/Ordering
(UCS)
/Supplement
0
>>
/FontDescriptor
23
0
R
/CIDToGIDMap
/Identity
/DW
556
/W
[
0
[
750
]
1
7
0
8
[
889
]
9
15
0
16
[
333
0
0
]
19
28
556
29
67
0
68
69
556
70
[
500
556
556
277
556
556
222
0
500
222
833
]
81
83
556
84
[
0
333
500
277
556
0
0
]
91
93
500
]
>>
endobj
23
0
obj
<<
/Type
/FontDescriptor
/FontName
/MUFUZY+ArialMT
/Flags
4
/FontBBox
[
-664
-324
2000
1005
]
/Ascent
728
/Descent
-210
/ItalicAngle
0
/CapHeight
716
/StemV
80
/FontFile2
24
0
R
>>
endobj
25
0
obj
297
endobj
26
0
obj
13828
endobj
27
0
obj
287
endobj
28
0
obj
22282
endobj
1
0
obj
<<
/Type
/Pages
/Kids
[
5
0
R
12
0
R
]
/Count
2
>>
endobj
xref
0 29
0000000002 65535 f 
0000078216 00000 n 
0000000000 00000 f 
0000000016 00000 n 
0000000142 00000 n 
0000000255 00000 n 
0000000420 00000 n 
0000039329 00000 n 
0000024654 00000 n 
0000024675 00000 n 
0000039628 00000 n 
0000039779 00000 n 
0000024694 00000 n 
0000024863 00000 n 
0000039485 00000 n 
0000039287 00000 n 
0000039309 00000 n 
0000054200 00000 n 
0000039923 00000 n 
0000054619 00000 n 
0000040296 00000 n 
0000077548 00000 n 
0000054827 00000 n 
0000077935 00000 n 
0000055190 00000 n 
0000078132 00000 n 
0000078152 00000 n 
0000078174 00000 n 
0000078194 00000 n 
trailer
<<
/Size
29
/Root
3
0
R
/Info
4
0
R
>>
startxref
78282
%%EOF
#46Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Tomas Vondra (#45)
Re: pg_combinebackup --copy-file-range

On 4/7/24 19:46, Tomas Vondra wrote:

On 4/5/24 21:43, Tomas Vondra wrote:

Hi,

...

2) The prefetching is not a huge improvement, at least not for these
three filesystems (btrfs, ext4, xfs). From the color scale it might seem
like it helps, but those values are relative to the baseline, so when
the non-prefetching value is 5% and with prefetching 10%, that means the
prefetching makes it slower. And that's very often true.

This is visible more clearly in prefetching.pdf, comparing the
non-prefetching and prefetching results for each patch, not to baseline.
That's makes it quite clear there's a lot of "red" where prefetching
makes it slower. It certainly does help for larger increments (which
makes sense, because the modified blocks are distributed randomly, and
thus come from random files, making long streaks unlikely).

I've imagined the prefetching could be made a bit smarter to ignore the
streaks (=sequential patterns), but once again - this only matters with
the batching, which we don't have. And without the batching it looks
like a net loss (that's the first column in the prefetching PDF).

I did start thinking about prefetching because of ZFS, where it was
necessary to get decent performance. And that's still true. But (a) even
with the explicit prefetching it's still 2-3x slower than any of these
filesystems, so I assume performance-sensitive use cases won't use it.
And (b) the prefetching seems necessary in all cases, no matter how
large the increment is. Which goes directly against the idea of looking
at how random the blocks are and prefetching only the sufficiently
random patterns. That doesn't seem like a great thing.

I finally got a more complete ZFS results, and I also decided to get
some numbers without the ZFS tuning I did. And boy oh boy ...

All the tests I did with ZFS were tuned the way I've seen recommended
when using ZFS for PostgreSQL, that is

zfs set recordsize=8K logbias=throughput compression=none

and this performed quite poorly - pg_combinebackup took 4-8x longer than
with the traditional filesystems (btrfs, xfs, ext4) and the only thing
that improved that measurably was prefetching.

But once I reverted back to the default recordsize of 128kB the
performance is waaaaaay better - entirely comparable to ext4/xfs, while
btrfs remains faster with --copy-file-range --no-manigest (by a factor
of 2-3x).

I forgot to explicitly say that I think confirms the decision to not
push the patch adding the explicit prefetching to pg_combinebackup. It's
not needed/beneficial even for ZFS, when using a suitable configuration.

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company