From 0938a362acfaedb20958ec916a9af2211d3adadc Mon Sep 17 00:00:00 2001 From: zou_lin77 <422351577@qq.com> Date: Thu, 30 Dec 2021 12:05:34 +0800 Subject: [PATCH] Update version to 1.9.4 --- CVE-2019-12904-1.patch | 82 - CVE-2019-12904-2.patch | 168 - CVE-2019-12904-3.patch | 323 - CVE-2021-33560.patch | 73 - CVE-2021-40528.patch | 105 - backport-add-crypto-hash-sm3.patch | 730 -- ...port-libgcrypt-1.6.1-mpicoder-gccopt.patch | 0 ...ackport-libgcrypt-1.7.3-ecc-test-fix.patch | 0 ...> backport-libgcrypt-1.7.3-fips-cavs.patch | 12 +- ...> backport-libgcrypt-1.8.3-fips-ctor.patch | 15 +- ...ackport-libgcrypt-1.8.3-fips-enttest.patch | 2 +- ...port-libgcrypt-1.8.3-md-fips-enforce.patch | 37 + ...backport-libgcrypt-1.8.4-fips-keygen.patch | 9 +- ...kport-libgcrypt-1.8.4-tests-fipsmode.patch | 29 +- ...=> backport-libgcrypt-1.8.4-use-poll.patch | 10 +- ...backport-libgcrypt-1.8.5-fips-module.patch | 10 +- ...> backport-libgcrypt-1.8.5-getrandom.patch | 24 +- backport-libgcrypt-1.8.5-intel-cet.patch | 34 + ...ckport-libgcrypt-1.8.5-use-fipscheck.patch | 12 - libgcrypt-1.7.3-fips-reqs.patch | 35 - libgcrypt-1.8.3-cmac-selftest.patch | 322 - libgcrypt-1.8.3-md-fips-enforce.patch | 18 - libgcrypt-1.8.5-aes-perf.patch | 8156 ----------------- libgcrypt-1.8.5-intel-cet.patch | 348 - libgcrypt-1.8.7.tar.bz2 | Bin 2985660 -> 0 bytes libgcrypt-1.9.4.tar.bz2 | Bin 0 -> 3239704 bytes libgcrypt.spec | 45 +- 27 files changed, 150 insertions(+), 10449 deletions(-) delete mode 100644 CVE-2019-12904-1.patch delete mode 100644 CVE-2019-12904-2.patch delete mode 100644 CVE-2019-12904-3.patch delete mode 100644 CVE-2021-33560.patch delete mode 100644 CVE-2021-40528.patch delete mode 100644 backport-add-crypto-hash-sm3.patch rename libgcrypt-1.6.1-mpicoder-gccopt.patch => backport-libgcrypt-1.6.1-mpicoder-gccopt.patch (100%) rename libgcrypt-1.7.3-ecc-test-fix.patch => backport-libgcrypt-1.7.3-ecc-test-fix.patch (100%) rename libgcrypt-1.7.3-fips-cavs.patch => backport-libgcrypt-1.7.3-fips-cavs.patch (99%) rename libgcrypt-1.8.3-fips-ctor.patch => backport-libgcrypt-1.8.3-fips-ctor.patch (80%) rename libgcrypt-1.8.3-fips-enttest.patch => backport-libgcrypt-1.8.3-fips-enttest.patch (98%) create mode 100644 backport-libgcrypt-1.8.3-md-fips-enforce.patch rename libgcrypt-1.8.4-fips-keygen.patch => backport-libgcrypt-1.8.4-fips-keygen.patch (88%) rename libgcrypt-1.8.4-tests-fipsmode.patch => backport-libgcrypt-1.8.4-tests-fipsmode.patch (90%) rename libgcrypt-1.8.4-use-poll.patch => backport-libgcrypt-1.8.4-use-poll.patch (90%) rename libgcrypt-1.8.5-fips-module.patch => backport-libgcrypt-1.8.5-fips-module.patch (96%) rename libgcrypt-1.8.5-getrandom.patch => backport-libgcrypt-1.8.5-getrandom.patch (92%) create mode 100644 backport-libgcrypt-1.8.5-intel-cet.patch rename libgcrypt-1.8.5-use-fipscheck.patch => backport-libgcrypt-1.8.5-use-fipscheck.patch (82%) delete mode 100644 libgcrypt-1.7.3-fips-reqs.patch delete mode 100644 libgcrypt-1.8.3-cmac-selftest.patch delete mode 100644 libgcrypt-1.8.3-md-fips-enforce.patch delete mode 100644 libgcrypt-1.8.5-aes-perf.patch delete mode 100644 libgcrypt-1.8.5-intel-cet.patch delete mode 100644 libgcrypt-1.8.7.tar.bz2 create mode 100644 libgcrypt-1.9.4.tar.bz2 diff --git a/CVE-2019-12904-1.patch b/CVE-2019-12904-1.patch deleted file mode 100644 index 444afbf..0000000 --- a/CVE-2019-12904-1.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 1374254c2904ab5b18ba4a890856824a102d4705 Mon Sep 17 00:00:00 2001 -From: Jussi Kivilinna -Date: Sat, 27 Apr 2019 19:33:28 +0300 -Subject: [PATCH 193/222] Prefetch GCM look-up tables - -* cipher/cipher-gcm.c (prefetch_table, do_prefetch_tables) -(prefetch_tables): New. -(ghash_internal): Call prefetch_tables. --- - -Signed-off-by: Jussi Kivilinna ---- - cipher/cipher-gcm.c | 33 +++++++++++++++++++++++++++++++++ - 1 file changed, 33 insertions(+) - -diff --git a/cipher/cipher-gcm.c b/cipher/cipher-gcm.c -index c19f09f2..11f119aa 100644 ---- a/cipher/cipher-gcm.c -+++ b/cipher/cipher-gcm.c -@@ -118,6 +118,34 @@ static const u16 gcmR[256] = { - 0xbbf0, 0xba32, 0xb874, 0xb9b6, 0xbcf8, 0xbd3a, 0xbf7c, 0xbebe, - }; - -+static inline -+void prefetch_table(const void *tab, size_t len) -+{ -+ const volatile byte *vtab = tab; -+ size_t i; -+ -+ for (i = 0; i < len; i += 8 * 32) -+ { -+ (void)vtab[i + 0 * 32]; -+ (void)vtab[i + 1 * 32]; -+ (void)vtab[i + 2 * 32]; -+ (void)vtab[i + 3 * 32]; -+ (void)vtab[i + 4 * 32]; -+ (void)vtab[i + 5 * 32]; -+ (void)vtab[i + 6 * 32]; -+ (void)vtab[i + 7 * 32]; -+ } -+ -+ (void)vtab[len - 1]; -+} -+ -+static inline void -+do_prefetch_tables (const void *gcmM, size_t gcmM_size) -+{ -+ prefetch_table(gcmM, gcmM_size); -+ prefetch_table(gcmR, sizeof(gcmR)); -+} -+ - #ifdef GCM_TABLES_USE_U64 - static void - bshift (u64 * b0, u64 * b1) -@@ -365,6 +393,8 @@ do_ghash (unsigned char *result, const unsigned char *buf, const u32 *gcmM) - #define fillM(c) \ - do_fillM (c->u_mode.gcm.u_ghash_key.key, c->u_mode.gcm.gcm_table) - #define GHASH(c, result, buf) do_ghash (result, buf, c->u_mode.gcm.gcm_table) -+#define prefetch_tables(c) \ -+ do_prefetch_tables(c->u_mode.gcm.gcm_table, sizeof(c->u_mode.gcm.gcm_table)) - - #else - -@@ -430,6 +460,7 @@ do_ghash (unsigned char *hsub, unsigned char *result, const unsigned char *buf) - - #define fillM(c) do { } while (0) - #define GHASH(c, result, buf) do_ghash (c->u_mode.gcm.u_ghash_key.key, result, buf) -+#define prefetch_tables(c) do {} while (0) - - #endif /* !GCM_USE_TABLES */ - -@@ -441,6 +472,8 @@ ghash_internal (gcry_cipher_hd_t c, byte *result, const byte *buf, - const unsigned int blocksize = GCRY_GCM_BLOCK_LEN; - unsigned int burn = 0; - -+ prefetch_tables (c); -+ - while (nblocks) - { - burn = GHASH (c, result, buf); --- -2.12.3 diff --git a/CVE-2019-12904-2.patch b/CVE-2019-12904-2.patch deleted file mode 100644 index ef31149..0000000 --- a/CVE-2019-12904-2.patch +++ /dev/null @@ -1,168 +0,0 @@ -From a4c561aab1014c3630bc88faf6f5246fee16b020 Mon Sep 17 00:00:00 2001 -From: Jussi Kivilinna -Date: Fri, 31 May 2019 17:27:25 +0300 -Subject: [PATCH] GCM: move look-up table to .data section and unshare between - processes - -* cipher/cipher-gcm.c (ATTR_ALIGNED_64): New. -(gcmR): Move to 'gcm_table' structure. -(gcm_table): New structure for look-up table with counters before and -after. -(gcmR): New macro. -(prefetch_table): Handle input with length not multiple of 256. -(do_prefetch_tables): Modify pre- and post-table counters to unshare -look-up table pages between processes. --- - -GnuPG-bug-id: 4541 -Signed-off-by: Jussi Kivilinna ---- - cipher/cipher-gcm.c | 106 +++++++++++++++++++++++++++++--------------- - 1 file changed, 70 insertions(+), 36 deletions(-) - -diff --git a/cipher/cipher-gcm.c b/cipher/cipher-gcm.c -index 11f119aa..194e2ec9 100644 ---- a/cipher/cipher-gcm.c -+++ b/cipher/cipher-gcm.c -@@ -30,6 +30,14 @@ - #include "./cipher-internal.h" - - -+/* Helper macro to force alignment to 16 or 64 bytes. */ -+#ifdef HAVE_GCC_ATTRIBUTE_ALIGNED -+# define ATTR_ALIGNED_64 __attribute__ ((aligned (64))) -+#else -+# define ATTR_ALIGNED_64 -+#endif -+ -+ - #ifdef GCM_USE_INTEL_PCLMUL - extern void _gcry_ghash_setup_intel_pclmul (gcry_cipher_hd_t c); - -@@ -83,40 +91,54 @@ ghash_armv7_neon (gcry_cipher_hd_t c, byte *result, const byte *buf, - - - #ifdef GCM_USE_TABLES --static const u16 gcmR[256] = { -- 0x0000, 0x01c2, 0x0384, 0x0246, 0x0708, 0x06ca, 0x048c, 0x054e, -- 0x0e10, 0x0fd2, 0x0d94, 0x0c56, 0x0918, 0x08da, 0x0a9c, 0x0b5e, -- 0x1c20, 0x1de2, 0x1fa4, 0x1e66, 0x1b28, 0x1aea, 0x18ac, 0x196e, -- 0x1230, 0x13f2, 0x11b4, 0x1076, 0x1538, 0x14fa, 0x16bc, 0x177e, -- 0x3840, 0x3982, 0x3bc4, 0x3a06, 0x3f48, 0x3e8a, 0x3ccc, 0x3d0e, -- 0x3650, 0x3792, 0x35d4, 0x3416, 0x3158, 0x309a, 0x32dc, 0x331e, -- 0x2460, 0x25a2, 0x27e4, 0x2626, 0x2368, 0x22aa, 0x20ec, 0x212e, -- 0x2a70, 0x2bb2, 0x29f4, 0x2836, 0x2d78, 0x2cba, 0x2efc, 0x2f3e, -- 0x7080, 0x7142, 0x7304, 0x72c6, 0x7788, 0x764a, 0x740c, 0x75ce, -- 0x7e90, 0x7f52, 0x7d14, 0x7cd6, 0x7998, 0x785a, 0x7a1c, 0x7bde, -- 0x6ca0, 0x6d62, 0x6f24, 0x6ee6, 0x6ba8, 0x6a6a, 0x682c, 0x69ee, -- 0x62b0, 0x6372, 0x6134, 0x60f6, 0x65b8, 0x647a, 0x663c, 0x67fe, -- 0x48c0, 0x4902, 0x4b44, 0x4a86, 0x4fc8, 0x4e0a, 0x4c4c, 0x4d8e, -- 0x46d0, 0x4712, 0x4554, 0x4496, 0x41d8, 0x401a, 0x425c, 0x439e, -- 0x54e0, 0x5522, 0x5764, 0x56a6, 0x53e8, 0x522a, 0x506c, 0x51ae, -- 0x5af0, 0x5b32, 0x5974, 0x58b6, 0x5df8, 0x5c3a, 0x5e7c, 0x5fbe, -- 0xe100, 0xe0c2, 0xe284, 0xe346, 0xe608, 0xe7ca, 0xe58c, 0xe44e, -- 0xef10, 0xeed2, 0xec94, 0xed56, 0xe818, 0xe9da, 0xeb9c, 0xea5e, -- 0xfd20, 0xfce2, 0xfea4, 0xff66, 0xfa28, 0xfbea, 0xf9ac, 0xf86e, -- 0xf330, 0xf2f2, 0xf0b4, 0xf176, 0xf438, 0xf5fa, 0xf7bc, 0xf67e, -- 0xd940, 0xd882, 0xdac4, 0xdb06, 0xde48, 0xdf8a, 0xddcc, 0xdc0e, -- 0xd750, 0xd692, 0xd4d4, 0xd516, 0xd058, 0xd19a, 0xd3dc, 0xd21e, -- 0xc560, 0xc4a2, 0xc6e4, 0xc726, 0xc268, 0xc3aa, 0xc1ec, 0xc02e, -- 0xcb70, 0xcab2, 0xc8f4, 0xc936, 0xcc78, 0xcdba, 0xcffc, 0xce3e, -- 0x9180, 0x9042, 0x9204, 0x93c6, 0x9688, 0x974a, 0x950c, 0x94ce, -- 0x9f90, 0x9e52, 0x9c14, 0x9dd6, 0x9898, 0x995a, 0x9b1c, 0x9ade, -- 0x8da0, 0x8c62, 0x8e24, 0x8fe6, 0x8aa8, 0x8b6a, 0x892c, 0x88ee, -- 0x83b0, 0x8272, 0x8034, 0x81f6, 0x84b8, 0x857a, 0x873c, 0x86fe, -- 0xa9c0, 0xa802, 0xaa44, 0xab86, 0xaec8, 0xaf0a, 0xad4c, 0xac8e, -- 0xa7d0, 0xa612, 0xa454, 0xa596, 0xa0d8, 0xa11a, 0xa35c, 0xa29e, -- 0xb5e0, 0xb422, 0xb664, 0xb7a6, 0xb2e8, 0xb32a, 0xb16c, 0xb0ae, -- 0xbbf0, 0xba32, 0xb874, 0xb9b6, 0xbcf8, 0xbd3a, 0xbf7c, 0xbebe, --}; -+static struct -+{ -+ volatile u32 counter_head; -+ u32 cacheline_align[64 / 4 - 1]; -+ u16 R[256]; -+ volatile u32 counter_tail; -+} gcm_table ATTR_ALIGNED_64 = -+ { -+ 0, -+ { 0, }, -+ { -+ 0x0000, 0x01c2, 0x0384, 0x0246, 0x0708, 0x06ca, 0x048c, 0x054e, -+ 0x0e10, 0x0fd2, 0x0d94, 0x0c56, 0x0918, 0x08da, 0x0a9c, 0x0b5e, -+ 0x1c20, 0x1de2, 0x1fa4, 0x1e66, 0x1b28, 0x1aea, 0x18ac, 0x196e, -+ 0x1230, 0x13f2, 0x11b4, 0x1076, 0x1538, 0x14fa, 0x16bc, 0x177e, -+ 0x3840, 0x3982, 0x3bc4, 0x3a06, 0x3f48, 0x3e8a, 0x3ccc, 0x3d0e, -+ 0x3650, 0x3792, 0x35d4, 0x3416, 0x3158, 0x309a, 0x32dc, 0x331e, -+ 0x2460, 0x25a2, 0x27e4, 0x2626, 0x2368, 0x22aa, 0x20ec, 0x212e, -+ 0x2a70, 0x2bb2, 0x29f4, 0x2836, 0x2d78, 0x2cba, 0x2efc, 0x2f3e, -+ 0x7080, 0x7142, 0x7304, 0x72c6, 0x7788, 0x764a, 0x740c, 0x75ce, -+ 0x7e90, 0x7f52, 0x7d14, 0x7cd6, 0x7998, 0x785a, 0x7a1c, 0x7bde, -+ 0x6ca0, 0x6d62, 0x6f24, 0x6ee6, 0x6ba8, 0x6a6a, 0x682c, 0x69ee, -+ 0x62b0, 0x6372, 0x6134, 0x60f6, 0x65b8, 0x647a, 0x663c, 0x67fe, -+ 0x48c0, 0x4902, 0x4b44, 0x4a86, 0x4fc8, 0x4e0a, 0x4c4c, 0x4d8e, -+ 0x46d0, 0x4712, 0x4554, 0x4496, 0x41d8, 0x401a, 0x425c, 0x439e, -+ 0x54e0, 0x5522, 0x5764, 0x56a6, 0x53e8, 0x522a, 0x506c, 0x51ae, -+ 0x5af0, 0x5b32, 0x5974, 0x58b6, 0x5df8, 0x5c3a, 0x5e7c, 0x5fbe, -+ 0xe100, 0xe0c2, 0xe284, 0xe346, 0xe608, 0xe7ca, 0xe58c, 0xe44e, -+ 0xef10, 0xeed2, 0xec94, 0xed56, 0xe818, 0xe9da, 0xeb9c, 0xea5e, -+ 0xfd20, 0xfce2, 0xfea4, 0xff66, 0xfa28, 0xfbea, 0xf9ac, 0xf86e, -+ 0xf330, 0xf2f2, 0xf0b4, 0xf176, 0xf438, 0xf5fa, 0xf7bc, 0xf67e, -+ 0xd940, 0xd882, 0xdac4, 0xdb06, 0xde48, 0xdf8a, 0xddcc, 0xdc0e, -+ 0xd750, 0xd692, 0xd4d4, 0xd516, 0xd058, 0xd19a, 0xd3dc, 0xd21e, -+ 0xc560, 0xc4a2, 0xc6e4, 0xc726, 0xc268, 0xc3aa, 0xc1ec, 0xc02e, -+ 0xcb70, 0xcab2, 0xc8f4, 0xc936, 0xcc78, 0xcdba, 0xcffc, 0xce3e, -+ 0x9180, 0x9042, 0x9204, 0x93c6, 0x9688, 0x974a, 0x950c, 0x94ce, -+ 0x9f90, 0x9e52, 0x9c14, 0x9dd6, 0x9898, 0x995a, 0x9b1c, 0x9ade, -+ 0x8da0, 0x8c62, 0x8e24, 0x8fe6, 0x8aa8, 0x8b6a, 0x892c, 0x88ee, -+ 0x83b0, 0x8272, 0x8034, 0x81f6, 0x84b8, 0x857a, 0x873c, 0x86fe, -+ 0xa9c0, 0xa802, 0xaa44, 0xab86, 0xaec8, 0xaf0a, 0xad4c, 0xac8e, -+ 0xa7d0, 0xa612, 0xa454, 0xa596, 0xa0d8, 0xa11a, 0xa35c, 0xa29e, -+ 0xb5e0, 0xb422, 0xb664, 0xb7a6, 0xb2e8, 0xb32a, 0xb16c, 0xb0ae, -+ 0xbbf0, 0xba32, 0xb874, 0xb9b6, 0xbcf8, 0xbd3a, 0xbf7c, 0xbebe, -+ }, -+ 0 -+ }; -+ -+#define gcmR gcm_table.R - - static inline - void prefetch_table(const void *tab, size_t len) -@@ -124,7 +146,7 @@ void prefetch_table(const void *tab, size_t len) - const volatile byte *vtab = tab; - size_t i; - -- for (i = 0; i < len; i += 8 * 32) -+ for (i = 0; len - i >= 8 * 32; i += 8 * 32) - { - (void)vtab[i + 0 * 32]; - (void)vtab[i + 1 * 32]; -@@ -135,6 +157,10 @@ void prefetch_table(const void *tab, size_t len) - (void)vtab[i + 6 * 32]; - (void)vtab[i + 7 * 32]; - } -+ for (; i < len; i += 32) -+ { -+ (void)vtab[i]; -+ } - - (void)vtab[len - 1]; - } -@@ -142,8 +168,16 @@ void prefetch_table(const void *tab, size_t len) - static inline void - do_prefetch_tables (const void *gcmM, size_t gcmM_size) - { -+ /* Modify counters to trigger copy-on-write and unsharing if physical pages -+ * of look-up table are shared between processes. Modifying counters also -+ * causes checksums for pages to change and hint same-page merging algorithm -+ * that these pages are frequently changing. */ -+ gcm_table.counter_head++; -+ gcm_table.counter_tail++; -+ -+ /* Prefetch look-up tables to cache. */ - prefetch_table(gcmM, gcmM_size); -- prefetch_table(gcmR, sizeof(gcmR)); -+ prefetch_table(&gcm_table, sizeof(gcm_table)); - } - - #ifdef GCM_TABLES_USE_U64 diff --git a/CVE-2019-12904-3.patch b/CVE-2019-12904-3.patch deleted file mode 100644 index 10233f3..0000000 --- a/CVE-2019-12904-3.patch +++ /dev/null @@ -1,323 +0,0 @@ -From daedbbb5541cd8ecda1459d3b843ea4d92788762 Mon Sep 17 00:00:00 2001 -From: Jussi Kivilinna -Date: Fri, 31 May 2019 17:18:09 +0300 -Subject: [PATCH] AES: move look-up tables to .data section and unshare between - processes - -* cipher/rijndael-internal.h (ATTR_ALIGNED_64): New. -* cipher/rijndael-tables.h (encT): Move to 'enc_tables' structure. -(enc_tables): New structure for encryption table with counters before -and after. -(encT): New macro. -(dec_tables): Add counters before and after encryption table; Move -from .rodata to .data section. -(do_encrypt): Change 'encT' to 'enc_tables.T'. -(do_decrypt): Change '&dec_tables' to 'dec_tables.T'. -* cipher/cipher-gcm.c (prefetch_table): Make inline; Handle input -with length not multiple of 256. -(prefetch_enc, prefetch_dec): Modify pre- and post-table counters -to unshare look-up table pages between processes. --- - -GnuPG-bug-id: 4541 -Signed-off-by: Jussi Kivilinna ---- - cipher/rijndael-internal.h | 4 +- - cipher/rijndael-tables.h | 155 +++++++++++++++++++++---------------- - cipher/rijndael.c | 35 +++++++-- - 3 files changed, 118 insertions(+), 76 deletions(-) - -diff --git a/cipher/rijndael-internal.h b/cipher/rijndael-internal.h -index 160fb8c..a62d4b7 100644 ---- a/cipher/rijndael-internal.h -+++ b/cipher/rijndael-internal.h -@@ -29,11 +29,13 @@ - #define BLOCKSIZE (128/8) - - --/* Helper macro to force alignment to 16 bytes. */ -+/* Helper macro to force alignment to 16 or 64 bytes. */ - #ifdef HAVE_GCC_ATTRIBUTE_ALIGNED - # define ATTR_ALIGNED_16 __attribute__ ((aligned (16))) -+# define ATTR_ALIGNED_64 __attribute__ ((aligned (64))) - #else - # define ATTR_ALIGNED_16 -+# define ATTR_ALIGNED_64 - #endif - - -diff --git a/cipher/rijndael-tables.h b/cipher/rijndael-tables.h -index 8359470..b54d959 100644 ---- a/cipher/rijndael-tables.h -+++ b/cipher/rijndael-tables.h -@@ -21,80 +21,98 @@ - /* To keep the actual implementation at a readable size we use this - include file to define the tables. */ - --static const u32 encT[256] = -+static struct -+{ -+ volatile u32 counter_head; -+ u32 cacheline_align[64 / 4 - 1]; -+ u32 T[256]; -+ volatile u32 counter_tail; -+} enc_tables ATTR_ALIGNED_64 = - { -- 0xa56363c6, 0x847c7cf8, 0x997777ee, 0x8d7b7bf6, -- 0x0df2f2ff, 0xbd6b6bd6, 0xb16f6fde, 0x54c5c591, -- 0x50303060, 0x03010102, 0xa96767ce, 0x7d2b2b56, -- 0x19fefee7, 0x62d7d7b5, 0xe6abab4d, 0x9a7676ec, -- 0x45caca8f, 0x9d82821f, 0x40c9c989, 0x877d7dfa, -- 0x15fafaef, 0xeb5959b2, 0xc947478e, 0x0bf0f0fb, -- 0xecadad41, 0x67d4d4b3, 0xfda2a25f, 0xeaafaf45, -- 0xbf9c9c23, 0xf7a4a453, 0x967272e4, 0x5bc0c09b, -- 0xc2b7b775, 0x1cfdfde1, 0xae93933d, 0x6a26264c, -- 0x5a36366c, 0x413f3f7e, 0x02f7f7f5, 0x4fcccc83, -- 0x5c343468, 0xf4a5a551, 0x34e5e5d1, 0x08f1f1f9, -- 0x937171e2, 0x73d8d8ab, 0x53313162, 0x3f15152a, -- 0x0c040408, 0x52c7c795, 0x65232346, 0x5ec3c39d, -- 0x28181830, 0xa1969637, 0x0f05050a, 0xb59a9a2f, -- 0x0907070e, 0x36121224, 0x9b80801b, 0x3de2e2df, -- 0x26ebebcd, 0x6927274e, 0xcdb2b27f, 0x9f7575ea, -- 0x1b090912, 0x9e83831d, 0x742c2c58, 0x2e1a1a34, -- 0x2d1b1b36, 0xb26e6edc, 0xee5a5ab4, 0xfba0a05b, -- 0xf65252a4, 0x4d3b3b76, 0x61d6d6b7, 0xceb3b37d, -- 0x7b292952, 0x3ee3e3dd, 0x712f2f5e, 0x97848413, -- 0xf55353a6, 0x68d1d1b9, 0x00000000, 0x2cededc1, -- 0x60202040, 0x1ffcfce3, 0xc8b1b179, 0xed5b5bb6, -- 0xbe6a6ad4, 0x46cbcb8d, 0xd9bebe67, 0x4b393972, -- 0xde4a4a94, 0xd44c4c98, 0xe85858b0, 0x4acfcf85, -- 0x6bd0d0bb, 0x2aefefc5, 0xe5aaaa4f, 0x16fbfbed, -- 0xc5434386, 0xd74d4d9a, 0x55333366, 0x94858511, -- 0xcf45458a, 0x10f9f9e9, 0x06020204, 0x817f7ffe, -- 0xf05050a0, 0x443c3c78, 0xba9f9f25, 0xe3a8a84b, -- 0xf35151a2, 0xfea3a35d, 0xc0404080, 0x8a8f8f05, -- 0xad92923f, 0xbc9d9d21, 0x48383870, 0x04f5f5f1, -- 0xdfbcbc63, 0xc1b6b677, 0x75dadaaf, 0x63212142, -- 0x30101020, 0x1affffe5, 0x0ef3f3fd, 0x6dd2d2bf, -- 0x4ccdcd81, 0x140c0c18, 0x35131326, 0x2fececc3, -- 0xe15f5fbe, 0xa2979735, 0xcc444488, 0x3917172e, -- 0x57c4c493, 0xf2a7a755, 0x827e7efc, 0x473d3d7a, -- 0xac6464c8, 0xe75d5dba, 0x2b191932, 0x957373e6, -- 0xa06060c0, 0x98818119, 0xd14f4f9e, 0x7fdcdca3, -- 0x66222244, 0x7e2a2a54, 0xab90903b, 0x8388880b, -- 0xca46468c, 0x29eeeec7, 0xd3b8b86b, 0x3c141428, -- 0x79dedea7, 0xe25e5ebc, 0x1d0b0b16, 0x76dbdbad, -- 0x3be0e0db, 0x56323264, 0x4e3a3a74, 0x1e0a0a14, -- 0xdb494992, 0x0a06060c, 0x6c242448, 0xe45c5cb8, -- 0x5dc2c29f, 0x6ed3d3bd, 0xefacac43, 0xa66262c4, -- 0xa8919139, 0xa4959531, 0x37e4e4d3, 0x8b7979f2, -- 0x32e7e7d5, 0x43c8c88b, 0x5937376e, 0xb76d6dda, -- 0x8c8d8d01, 0x64d5d5b1, 0xd24e4e9c, 0xe0a9a949, -- 0xb46c6cd8, 0xfa5656ac, 0x07f4f4f3, 0x25eaeacf, -- 0xaf6565ca, 0x8e7a7af4, 0xe9aeae47, 0x18080810, -- 0xd5baba6f, 0x887878f0, 0x6f25254a, 0x722e2e5c, -- 0x241c1c38, 0xf1a6a657, 0xc7b4b473, 0x51c6c697, -- 0x23e8e8cb, 0x7cdddda1, 0x9c7474e8, 0x211f1f3e, -- 0xdd4b4b96, 0xdcbdbd61, 0x868b8b0d, 0x858a8a0f, -- 0x907070e0, 0x423e3e7c, 0xc4b5b571, 0xaa6666cc, -- 0xd8484890, 0x05030306, 0x01f6f6f7, 0x120e0e1c, -- 0xa36161c2, 0x5f35356a, 0xf95757ae, 0xd0b9b969, -- 0x91868617, 0x58c1c199, 0x271d1d3a, 0xb99e9e27, -- 0x38e1e1d9, 0x13f8f8eb, 0xb398982b, 0x33111122, -- 0xbb6969d2, 0x70d9d9a9, 0x898e8e07, 0xa7949433, -- 0xb69b9b2d, 0x221e1e3c, 0x92878715, 0x20e9e9c9, -- 0x49cece87, 0xff5555aa, 0x78282850, 0x7adfdfa5, -- 0x8f8c8c03, 0xf8a1a159, 0x80898909, 0x170d0d1a, -- 0xdabfbf65, 0x31e6e6d7, 0xc6424284, 0xb86868d0, -- 0xc3414182, 0xb0999929, 0x772d2d5a, 0x110f0f1e, -- 0xcbb0b07b, 0xfc5454a8, 0xd6bbbb6d, 0x3a16162c -+ 0, -+ { 0, }, -+ { -+ 0xa56363c6, 0x847c7cf8, 0x997777ee, 0x8d7b7bf6, -+ 0x0df2f2ff, 0xbd6b6bd6, 0xb16f6fde, 0x54c5c591, -+ 0x50303060, 0x03010102, 0xa96767ce, 0x7d2b2b56, -+ 0x19fefee7, 0x62d7d7b5, 0xe6abab4d, 0x9a7676ec, -+ 0x45caca8f, 0x9d82821f, 0x40c9c989, 0x877d7dfa, -+ 0x15fafaef, 0xeb5959b2, 0xc947478e, 0x0bf0f0fb, -+ 0xecadad41, 0x67d4d4b3, 0xfda2a25f, 0xeaafaf45, -+ 0xbf9c9c23, 0xf7a4a453, 0x967272e4, 0x5bc0c09b, -+ 0xc2b7b775, 0x1cfdfde1, 0xae93933d, 0x6a26264c, -+ 0x5a36366c, 0x413f3f7e, 0x02f7f7f5, 0x4fcccc83, -+ 0x5c343468, 0xf4a5a551, 0x34e5e5d1, 0x08f1f1f9, -+ 0x937171e2, 0x73d8d8ab, 0x53313162, 0x3f15152a, -+ 0x0c040408, 0x52c7c795, 0x65232346, 0x5ec3c39d, -+ 0x28181830, 0xa1969637, 0x0f05050a, 0xb59a9a2f, -+ 0x0907070e, 0x36121224, 0x9b80801b, 0x3de2e2df, -+ 0x26ebebcd, 0x6927274e, 0xcdb2b27f, 0x9f7575ea, -+ 0x1b090912, 0x9e83831d, 0x742c2c58, 0x2e1a1a34, -+ 0x2d1b1b36, 0xb26e6edc, 0xee5a5ab4, 0xfba0a05b, -+ 0xf65252a4, 0x4d3b3b76, 0x61d6d6b7, 0xceb3b37d, -+ 0x7b292952, 0x3ee3e3dd, 0x712f2f5e, 0x97848413, -+ 0xf55353a6, 0x68d1d1b9, 0x00000000, 0x2cededc1, -+ 0x60202040, 0x1ffcfce3, 0xc8b1b179, 0xed5b5bb6, -+ 0xbe6a6ad4, 0x46cbcb8d, 0xd9bebe67, 0x4b393972, -+ 0xde4a4a94, 0xd44c4c98, 0xe85858b0, 0x4acfcf85, -+ 0x6bd0d0bb, 0x2aefefc5, 0xe5aaaa4f, 0x16fbfbed, -+ 0xc5434386, 0xd74d4d9a, 0x55333366, 0x94858511, -+ 0xcf45458a, 0x10f9f9e9, 0x06020204, 0x817f7ffe, -+ 0xf05050a0, 0x443c3c78, 0xba9f9f25, 0xe3a8a84b, -+ 0xf35151a2, 0xfea3a35d, 0xc0404080, 0x8a8f8f05, -+ 0xad92923f, 0xbc9d9d21, 0x48383870, 0x04f5f5f1, -+ 0xdfbcbc63, 0xc1b6b677, 0x75dadaaf, 0x63212142, -+ 0x30101020, 0x1affffe5, 0x0ef3f3fd, 0x6dd2d2bf, -+ 0x4ccdcd81, 0x140c0c18, 0x35131326, 0x2fececc3, -+ 0xe15f5fbe, 0xa2979735, 0xcc444488, 0x3917172e, -+ 0x57c4c493, 0xf2a7a755, 0x827e7efc, 0x473d3d7a, -+ 0xac6464c8, 0xe75d5dba, 0x2b191932, 0x957373e6, -+ 0xa06060c0, 0x98818119, 0xd14f4f9e, 0x7fdcdca3, -+ 0x66222244, 0x7e2a2a54, 0xab90903b, 0x8388880b, -+ 0xca46468c, 0x29eeeec7, 0xd3b8b86b, 0x3c141428, -+ 0x79dedea7, 0xe25e5ebc, 0x1d0b0b16, 0x76dbdbad, -+ 0x3be0e0db, 0x56323264, 0x4e3a3a74, 0x1e0a0a14, -+ 0xdb494992, 0x0a06060c, 0x6c242448, 0xe45c5cb8, -+ 0x5dc2c29f, 0x6ed3d3bd, 0xefacac43, 0xa66262c4, -+ 0xa8919139, 0xa4959531, 0x37e4e4d3, 0x8b7979f2, -+ 0x32e7e7d5, 0x43c8c88b, 0x5937376e, 0xb76d6dda, -+ 0x8c8d8d01, 0x64d5d5b1, 0xd24e4e9c, 0xe0a9a949, -+ 0xb46c6cd8, 0xfa5656ac, 0x07f4f4f3, 0x25eaeacf, -+ 0xaf6565ca, 0x8e7a7af4, 0xe9aeae47, 0x18080810, -+ 0xd5baba6f, 0x887878f0, 0x6f25254a, 0x722e2e5c, -+ 0x241c1c38, 0xf1a6a657, 0xc7b4b473, 0x51c6c697, -+ 0x23e8e8cb, 0x7cdddda1, 0x9c7474e8, 0x211f1f3e, -+ 0xdd4b4b96, 0xdcbdbd61, 0x868b8b0d, 0x858a8a0f, -+ 0x907070e0, 0x423e3e7c, 0xc4b5b571, 0xaa6666cc, -+ 0xd8484890, 0x05030306, 0x01f6f6f7, 0x120e0e1c, -+ 0xa36161c2, 0x5f35356a, 0xf95757ae, 0xd0b9b969, -+ 0x91868617, 0x58c1c199, 0x271d1d3a, 0xb99e9e27, -+ 0x38e1e1d9, 0x13f8f8eb, 0xb398982b, 0x33111122, -+ 0xbb6969d2, 0x70d9d9a9, 0x898e8e07, 0xa7949433, -+ 0xb69b9b2d, 0x221e1e3c, 0x92878715, 0x20e9e9c9, -+ 0x49cece87, 0xff5555aa, 0x78282850, 0x7adfdfa5, -+ 0x8f8c8c03, 0xf8a1a159, 0x80898909, 0x170d0d1a, -+ 0xdabfbf65, 0x31e6e6d7, 0xc6424284, 0xb86868d0, -+ 0xc3414182, 0xb0999929, 0x772d2d5a, 0x110f0f1e, -+ 0xcbb0b07b, 0xfc5454a8, 0xd6bbbb6d, 0x3a16162c -+ }, -+ 0 - }; - --static const struct -+#define encT enc_tables.T -+ -+static struct - { -+ volatile u32 counter_head; -+ u32 cacheline_align[64 / 4 - 1]; - u32 T[256]; - byte inv_sbox[256]; --} dec_tables = -+ volatile u32 counter_tail; -+} dec_tables ATTR_ALIGNED_64 = - { -+ 0, -+ { 0, }, - { - 0x50a7f451, 0x5365417e, 0xc3a4171a, 0x965e273a, - 0xcb6bab3b, 0xf1459d1f, 0xab58faac, 0x9303e34b, -@@ -194,7 +212,8 @@ static const struct - 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61, - 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26, - 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -- } -+ }, -+ 0 - }; - - #define decT dec_tables.T -diff --git a/cipher/rijndael.c b/cipher/rijndael.c -index 8637195..d0edab2 100644 ---- a/cipher/rijndael.c -+++ b/cipher/rijndael.c -@@ -227,11 +227,11 @@ static const char *selftest(void); - - - /* Prefetching for encryption/decryption tables. */ --static void prefetch_table(const volatile byte *tab, size_t len) -+static inline void prefetch_table(const volatile byte *tab, size_t len) - { - size_t i; - -- for (i = 0; i < len; i += 8 * 32) -+ for (i = 0; len - i >= 8 * 32; i += 8 * 32) - { - (void)tab[i + 0 * 32]; - (void)tab[i + 1 * 32]; -@@ -242,17 +242,37 @@ static void prefetch_table(const volatile byte *tab, size_t len) - (void)tab[i + 6 * 32]; - (void)tab[i + 7 * 32]; - } -+ for (; i < len; i += 32) -+ { -+ (void)tab[i]; -+ } - - (void)tab[len - 1]; - } - - static void prefetch_enc(void) - { -- prefetch_table((const void *)encT, sizeof(encT)); -+ /* Modify counters to trigger copy-on-write and unsharing if physical pages -+ * of look-up table are shared between processes. Modifying counters also -+ * causes checksums for pages to change and hint same-page merging algorithm -+ * that these pages are frequently changing. */ -+ enc_tables.counter_head++; -+ enc_tables.counter_tail++; -+ -+ /* Prefetch look-up tables to cache. */ -+ prefetch_table((const void *)&enc_tables, sizeof(enc_tables)); - } - - static void prefetch_dec(void) - { -+ /* Modify counters to trigger copy-on-write and unsharing if physical pages -+ * of look-up table are shared between processes. Modifying counters also -+ * causes checksums for pages to change and hint same-page merging algorithm -+ * that these pages are frequently changing. */ -+ dec_tables.counter_head++; -+ dec_tables.counter_tail++; -+ -+ /* Prefetch look-up tables to cache. */ - prefetch_table((const void *)&dec_tables, sizeof(dec_tables)); - } - -@@ -737,7 +757,7 @@ do_encrypt (const RIJNDAEL_context *ctx, - #ifdef USE_AMD64_ASM - # ifdef HAVE_COMPATIBLE_GCC_AMD64_PLATFORM_AS - return _gcry_aes_amd64_encrypt_block(ctx->keyschenc, bx, ax, ctx->rounds, -- encT); -+ enc_tables.T); - # else - /* Call SystemV ABI function without storing non-volatile XMM registers, - * as target function does not use vector instruction sets. */ -@@ -757,7 +777,8 @@ do_encrypt (const RIJNDAEL_context *ctx, - return ret; - # endif /* HAVE_COMPATIBLE_GCC_AMD64_PLATFORM_AS */ - #elif defined(USE_ARM_ASM) -- return _gcry_aes_arm_encrypt_block(ctx->keyschenc, bx, ax, ctx->rounds, encT); -+ return _gcry_aes_arm_encrypt_block(ctx->keyschenc, bx, ax, ctx->rounds, -+ enc_tables.T); - #else - return do_encrypt_fn (ctx, bx, ax); - #endif /* !USE_ARM_ASM && !USE_AMD64_ASM*/ -@@ -1120,7 +1141,7 @@ do_decrypt (const RIJNDAEL_context *ctx, unsigned char *bx, - #ifdef USE_AMD64_ASM - # ifdef HAVE_COMPATIBLE_GCC_AMD64_PLATFORM_AS - return _gcry_aes_amd64_decrypt_block(ctx->keyschdec, bx, ax, ctx->rounds, -- &dec_tables); -+ dec_tables.T); - # else - /* Call SystemV ABI function without storing non-volatile XMM registers, - * as target function does not use vector instruction sets. */ -@@ -1141,7 +1162,7 @@ do_decrypt (const RIJNDAEL_context *ctx, unsigned char *bx, - # endif /* HAVE_COMPATIBLE_GCC_AMD64_PLATFORM_AS */ - #elif defined(USE_ARM_ASM) - return _gcry_aes_arm_decrypt_block(ctx->keyschdec, bx, ax, ctx->rounds, -- &dec_tables); -+ dec_tables.T); - #else - return do_decrypt_fn (ctx, bx, ax); - #endif /*!USE_ARM_ASM && !USE_AMD64_ASM*/ - diff --git a/CVE-2021-33560.patch b/CVE-2021-33560.patch deleted file mode 100644 index f0085ef..0000000 --- a/CVE-2021-33560.patch +++ /dev/null @@ -1,73 +0,0 @@ -From e8b7f10be275bcedb5fc05ed4837a89bfd605c61 Mon Sep 17 00:00:00 2001 -From: NIIBE Yutaka -Date: Tue, 13 Apr 2021 10:00:00 +0900 -Subject: [PATCH] cipher: Hardening ElGamal by introducing exponent blinding - too. - -* cipher/elgamal.c (do_encrypt): Also do exponent blinding. - --- - -Base blinding had been introduced with USE_BLINDING. This patch add -exponent blinding as well to mitigate side-channel attack on mpi_powm. - -GnuPG-bug-id: 5328 -Signed-off-by: NIIBE Yutaka ---- - cipher/elgamal.c | 20 +++++++++++++++++--- - 1 file changed, 17 insertions(+), 3 deletions(-) - -diff --git a/cipher/elgamal.c b/cipher/elgamal.c -index 4eb52d6..9835122 100644 ---- a/cipher/elgamal.c -+++ b/cipher/elgamal.c -@@ -522,8 +522,9 @@ do_encrypt(gcry_mpi_t a, gcry_mpi_t b, gcry_mpi_t input, ELG_public_key *pkey ) - static void - decrypt (gcry_mpi_t output, gcry_mpi_t a, gcry_mpi_t b, ELG_secret_key *skey ) - { -- gcry_mpi_t t1, t2, r; -+ gcry_mpi_t t1, t2, r, r1, h; - unsigned int nbits = mpi_get_nbits (skey->p); -+ gcry_mpi_t x_blind; - - mpi_normalize (a); - mpi_normalize (b); -@@ -534,20 +535,33 @@ decrypt (gcry_mpi_t output, gcry_mpi_t a, gcry_mpi_t b, ELG_secret_key *skey ) - - t2 = mpi_snew (nbits); - r = mpi_new (nbits); -+ r1 = mpi_new (nbits); -+ h = mpi_new (nbits); -+ x_blind = mpi_snew (nbits); - - /* We need a random number of about the prime size. The random - number merely needs to be unpredictable; thus we use level 0. */ - _gcry_mpi_randomize (r, nbits, GCRY_WEAK_RANDOM); - -+ /* Also, exponent blinding: x_blind = x + (p-1)*r1 */ -+ _gcry_mpi_randomize (r1, nbits, GCRY_WEAK_RANDOM); -+ mpi_set_highbit (r1, nbits - 1); -+ mpi_sub_ui (h, skey->p, 1); -+ mpi_mul (x_blind, h, r1); -+ mpi_add (x_blind, skey->x, x_blind); -+ - /* t1 = r^x mod p */ -- mpi_powm (t1, r, skey->x, skey->p); -+ mpi_powm (t1, r, x_blind, skey->p); - /* t2 = (a * r)^-x mod p */ - mpi_mulm (t2, a, r, skey->p); -- mpi_powm (t2, t2, skey->x, skey->p); -+ mpi_powm (t2, t2, x_blind, skey->p); - mpi_invm (t2, t2, skey->p); - /* t1 = (t1 * t2) mod p*/ - mpi_mulm (t1, t1, t2, skey->p); - -+ mpi_free (x_blind); -+ mpi_free (h); -+ mpi_free (r1); - mpi_free (r); - mpi_free (t2); - --- -1.8.3.1 - diff --git a/CVE-2021-40528.patch b/CVE-2021-40528.patch deleted file mode 100644 index 7e1ac44..0000000 --- a/CVE-2021-40528.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 3462280f2e23e16adf3ed5176e0f2413d8861320 Mon Sep 17 00:00:00 2001 -From: NIIBE Yutaka -Date: Fri, 21 May 2021 11:15:07 +0900 -Subject: [PATCH] cipher: Fix ElGamal encryption for other implementations. - -* cipher/elgamal.c (gen_k): Remove support of smaller K. -(do_encrypt): Never use smaller K. -(sign): Folllow the change of gen_k. - --- - -Cherry-pick master commit of: - 632d80ef30e13de6926d503aa697f92b5dbfbc5e - -This change basically reverts encryption changes in two commits: - - 74386120dad6b3da62db37f7044267c8ef34689b - 78531373a342aeb847950f404343a05e36022065 - -Use of smaller K for ephemeral key in ElGamal encryption is only good, -when we can guarantee that recipient's key is generated by our -implementation (or compatible). - -For detail, please see: - - Luca De Feo, Bertram Poettering, Alessandro Sorniotti, - "On the (in)security of ElGamal in OpenPGP"; - in the proceedings of CCS'2021. - -CVE-id: CVE-2021-33560(This patch actually modifies CVE-2021-40528,see:https://dev.gnupg.org/T5328#149606) -GnuPG-bug-id: 5328 -Suggested-by: Luca De Feo, Bertram Poettering, Alessandro Sorniotti -Signed-off-by: NIIBE Yutaka ---- - cipher/elgamal.c | 24 ++++++------------------ - 1 file changed, 6 insertions(+), 18 deletions(-) - -diff --git a/cipher/elgamal.c b/cipher/elgamal.c -index 9835122..eead450 100644 ---- a/cipher/elgamal.c -+++ b/cipher/elgamal.c -@@ -66,7 +66,7 @@ static const char *elg_names[] = - - - static int test_keys (ELG_secret_key *sk, unsigned int nbits, int nodie); --static gcry_mpi_t gen_k (gcry_mpi_t p, int small_k); -+static gcry_mpi_t gen_k (gcry_mpi_t p); - static gcry_err_code_t generate (ELG_secret_key *sk, unsigned nbits, - gcry_mpi_t **factors); - static int check_secret_key (ELG_secret_key *sk); -@@ -189,11 +189,10 @@ test_keys ( ELG_secret_key *sk, unsigned int nbits, int nodie ) - - /**************** - * Generate a random secret exponent k from prime p, so that k is -- * relatively prime to p-1. With SMALL_K set, k will be selected for -- * better encryption performance - this must never be used signing! -+ * relatively prime to p-1. - */ - static gcry_mpi_t --gen_k( gcry_mpi_t p, int small_k ) -+gen_k( gcry_mpi_t p ) - { - gcry_mpi_t k = mpi_alloc_secure( 0 ); - gcry_mpi_t temp = mpi_alloc( mpi_get_nlimbs(p) ); -@@ -202,18 +201,7 @@ gen_k( gcry_mpi_t p, int small_k ) - unsigned int nbits, nbytes; - char *rndbuf = NULL; - -- if (small_k) -- { -- /* Using a k much lesser than p is sufficient for encryption and -- * it greatly improves the encryption performance. We use -- * Wiener's table and add a large safety margin. */ -- nbits = wiener_map( orig_nbits ) * 3 / 2; -- if( nbits >= orig_nbits ) -- BUG(); -- } -- else -- nbits = orig_nbits; -- -+ nbits = orig_nbits; - - nbytes = (nbits+7)/8; - if( DBG_CIPHER ) -@@ -492,7 +480,7 @@ do_encrypt(gcry_mpi_t a, gcry_mpi_t b, gcry_mpi_t input, ELG_public_key *pkey ) - * error code. - */ - -- k = gen_k( pkey->p, 1 ); -+ k = gen_k( pkey->p ); - mpi_powm (a, pkey->g, k, pkey->p); - - /* b = (y^k * input) mod p -@@ -608,7 +596,7 @@ sign(gcry_mpi_t a, gcry_mpi_t b, gcry_mpi_t input, ELG_secret_key *skey ) - * - */ - mpi_sub_ui(p_1, p_1, 1); -- k = gen_k( skey->p, 0 /* no small K ! */ ); -+ k = gen_k( skey->p ); - mpi_powm( a, skey->g, k, skey->p ); - mpi_mul(t, skey->x, a ); - mpi_subm(t, input, t, p_1 ); --- -1.8.3.1 - diff --git a/backport-add-crypto-hash-sm3.patch b/backport-add-crypto-hash-sm3.patch deleted file mode 100644 index 94476be..0000000 --- a/backport-add-crypto-hash-sm3.patch +++ /dev/null @@ -1,730 +0,0 @@ -From 78cb95d8fbd76159c1162c4ff72643f2c9984bf6 Mon Sep 17 00:00:00 2001 -From: zhujianwei001 -Date: Fri, 13 Aug 2021 08:51:20 +0800 -Subject: [PATCH] add support sm3 md -Reference: https://github.com/gpg/libgcrypt/commit/4423bf3cc4432b9bfe801ff74cb05e6f0dd3eccd#diff-4cfeaaa70bbeb65cd0cbb0bec58738e97bd585f3acb1f6ddc63cfa3a9abeb5dd -Conflict: fetch sm3.c from 1.9.3 tag, but remove _gcry_sm3_hash_buffer, _gcry_sm3_hash_buffers in struct _gcry_digest_spec_sm3, adjust hd->bctx.blocksize init in sm3_init; add some build support - -Add crypto hash SM3. -* configure.ac (available_digests): Add sm3. -* src/cipher.h: Add declarations for SM3. -* cipher/Makefile.am (EXTRA_libcipher_la_SOURCES): Add sm3.c. -* cipher/md.c [USE_SM3] (digest_list): Add _gcry_digest_spec_sm3. -* cipher/pubkey-util.c (hashnames): Add "sm3". -* cipher/sm3.c: New. -* tests/basic.c (check_digests): Add test vectors for SM3. -* tests/hashtest-256g.in (algos): Add SM3. -* tests/hashtest.c (testvectors): Add for SM3. --- -GnuPG-bug-id: 3454 -Signed-off-by: Jia Zhang ---- - cipher/Makefile.am | 1 + - cipher/md.c | 11 + - cipher/pubkey-util.c | 1 + - cipher/sm3.c | 472 +++++++++++++++++++++++++++++++++++++++++ - configure.ac | 7 + - doc/gcrypt.texi | 4 + - src/cipher.h | 7 + - src/gcrypt.h.in | 3 +- - tests/basic.c | 25 +++ - tests/hashtest-256g.in | 2 +- - tests/hashtest.c | 11 + - 11 files changed, 542 insertions(+), 2 deletions(-) - create mode 100644 cipher/sm3.c -diff --git a/cipher/Makefile.am b/cipher/Makefile.am -index 85a5b5f..d44dfea 100644 ---- a/cipher/Makefile.am -+++ b/cipher/Makefile.am -@@ -97,6 +97,7 @@ sha256.c sha256-ssse3-amd64.S sha256-avx-amd64.S sha256-avx2-bmi2-amd64.S \ - sha256-armv8-aarch32-ce.S sha256-armv8-aarch64-ce.S \ - sha512.c sha512-ssse3-amd64.S sha512-avx-amd64.S sha512-avx2-bmi2-amd64.S \ - sha512-armv7-neon.S sha512-arm.S \ -+sm3.c \ - keccak.c keccak_permute_32.h keccak_permute_64.h keccak-armv7-neon.S \ - stribog.c \ - tiger.c \ -diff --git a/cipher/md.c b/cipher/md.c -index 0d07854..13e3b3e 100644 ---- a/cipher/md.c -+++ b/cipher/md.c -@@ -94,6 +94,9 @@ static gcry_md_spec_t *digest_list[] = - &_gcry_digest_spec_blake2s_224, - &_gcry_digest_spec_blake2s_160, - &_gcry_digest_spec_blake2s_128, -+#endif -+#if USE_SM3 -+ &_gcry_digest_spec_sm3, - #endif - NULL - }; -@@ -1042,6 +1045,10 @@ _gcry_md_hash_buffer (int algo, void *digest, - #if USE_RMD160 - else if (algo == GCRY_MD_RMD160 && !fips_mode () ) - _gcry_rmd160_hash_buffer (digest, buffer, length); -+#endif -+#if USE_SM3 -+ else if (algo == GCRY_MD_SM3) -+ _gcry_sm3_hash_buffer (digest, buffer, length); - #endif - else - { -@@ -1115,6 +1122,10 @@ _gcry_md_hash_buffers (int algo, unsigned int flags, void *digest, - #if USE_SHA1 - else if (algo == GCRY_MD_SHA1 && !hmac) - _gcry_sha1_hash_buffers (digest, iov, iovcnt); -+#endif -+#if USE_SM3 -+ else if (algo == GCRY_MD_SM3 && !hmac) -+ _gcry_sm3_hash_buffers (digest, iov, iovcnt); - #endif - else - { -diff --git a/cipher/pubkey-util.c b/cipher/pubkey-util.c -index c40ef97..ae0e1c4 100644 ---- a/cipher/pubkey-util.c -+++ b/cipher/pubkey-util.c -@@ -221,6 +221,7 @@ get_hash_algo (const char *s, size_t n) - { "sha3-256", GCRY_MD_SHA3_256 }, - { "sha3-384", GCRY_MD_SHA3_384 }, - { "sha3-512", GCRY_MD_SHA3_512 }, -+ { "sm3", GCRY_MD_SM3 }, - { NULL, 0 } - }; - int algo; -diff --git a/cipher/sm3.c b/cipher/sm3.c -new file mode 100644 -index 0000000..274b14e ---- /dev/null -+++ b/cipher/sm3.c -@@ -0,0 +1,472 @@ -+/* sm3.c - SM3 hash function -+ * Copyright (C) 2017 Jia Zhang -+ * -+ * This file is part of Libgcrypt. -+ * -+ * Libgcrypt is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU Lesser General Public License as -+ * published by the Free Software Foundation; either version 2.1 of -+ * the License, or (at your option) any later version. -+ * -+ * Libgcrypt is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this program; if not, see . -+ */ -+ -+ -+/* Test vectors: -+ * -+ * "abc" -+ * SM3: 66c7f0f4 62eeedd9 d1f2d46b dc10e4e2 4167c487 5cf2f7a2 297da02b 8f4ba8e0 -+ * -+ * "abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd" -+ * SM3: debe9ff9 2275b8a1 38604889 c18e5a4d 6fdb70e5 387e5765 293dcba3 9c0c5732 -+ * -+ * "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" -+ * SM3: 639b6cc5 e64d9e37 a390b192 df4fa1ea 0720ab74 7ff692b9 f38c4e66 ad7b8c05 -+ * -+ * "a" one million times -+ * SM3: c8aaf894 29554029 e231941a 2acc0ad6 1ff2a5ac d8fadd25 847a3a73 2b3b02c3 -+ * -+ */ -+ -+ -+#include -+#include -+#include -+#include -+ -+#include "g10lib.h" -+#include "bithelp.h" -+#include "bufhelp.h" -+#include "cipher.h" -+#include "hash-common.h" -+ -+ -+typedef struct { -+ gcry_md_block_ctx_t bctx; -+ u32 h0,h1,h2,h3,h4,h5,h6,h7; -+} SM3_CONTEXT; -+ -+ -+static unsigned int -+transform (void *c, const unsigned char *data, size_t nblks); -+ -+ -+static void -+sm3_init (void *context, unsigned int flags) -+{ -+ SM3_CONTEXT *hd = context; -+ unsigned int features = _gcry_get_hw_features (); -+ -+ (void)flags; -+ -+ hd->h0 = 0x7380166f; -+ hd->h1 = 0x4914b2b9; -+ hd->h2 = 0x172442d7; -+ hd->h3 = 0xda8a0600; -+ hd->h4 = 0xa96f30bc; -+ hd->h5 = 0x163138aa; -+ hd->h6 = 0xe38dee4d; -+ hd->h7 = 0xb0fb0e4e; -+ -+ hd->bctx.nblocks = 0; -+ hd->bctx.nblocks_high = 0; -+ hd->bctx.count = 0; -+ hd->bctx.blocksize = 64; -+ hd->bctx.bwrite = transform; -+ -+ (void)features; -+} -+ -+ -+/* -+ * Transform the message X which consists of 16 32-bit-words. See -+ * GM/T 004-2012 for details. */ -+#define R(i,a,b,c,d,e,f,g,h,t,w1,w2) do \ -+ { \ -+ ss1 = rol ((rol ((a), 12) + (e) + (t)), 7); \ -+ ss2 = ss1 ^ rol ((a), 12); \ -+ d += FF##i(a,b,c) + ss2 + ((w1) ^ (w2)); \ -+ h += GG##i(e,f,g) + ss1 + (w1); \ -+ b = rol ((b), 9); \ -+ f = rol ((f), 19); \ -+ h = P0 ((h)); \ -+ } while (0) -+ -+#define R1(a,b,c,d,e,f,g,h,t,w1,w2) R(1,a,b,c,d,e,f,g,h,t,w1,w2) -+#define R2(a,b,c,d,e,f,g,h,t,w1,w2) R(2,a,b,c,d,e,f,g,h,t,w1,w2) -+ -+#define FF1(x, y, z) (x ^ y ^ z) -+ -+#define FF2(x, y, z) ((x & y) | (x & z) | (y & z)) -+ -+#define GG1(x, y, z) (x ^ y ^ z) -+ -+#define GG2(x, y, z) ((x & y) | ( ~x & z)) -+ -+/* Message expansion */ -+#define P0(x) ((x) ^ rol ((x), 9) ^ rol ((x), 17)) -+#define P1(x) ((x) ^ rol ((x), 15) ^ rol ((x), 23)) -+#define I(i) ( w[i] = buf_get_be32(data + i * 4) ) -+#define W1(i) ( w[i&0x0f] ) -+#define W2(i) ( w[i&0x0f] = P1(w[i &0x0f] \ -+ ^ w[(i-9)&0x0f] \ -+ ^ rol (w[(i-3)&0x0f], 15)) \ -+ ^ rol (w[(i-13)&0x0f], 7) \ -+ ^ w[(i-6)&0x0f] ) -+ -+static unsigned int -+transform_blk (void *ctx, const unsigned char *data) -+{ -+ SM3_CONTEXT *hd = ctx; -+ static const u32 K[64] = { -+ 0x79cc4519, 0xf3988a32, 0xe7311465, 0xce6228cb, -+ 0x9cc45197, 0x3988a32f, 0x7311465e, 0xe6228cbc, -+ 0xcc451979, 0x988a32f3, 0x311465e7, 0x6228cbce, -+ 0xc451979c, 0x88a32f39, 0x11465e73, 0x228cbce6, -+ 0x9d8a7a87, 0x3b14f50f, 0x7629ea1e, 0xec53d43c, -+ 0xd8a7a879, 0xb14f50f3, 0x629ea1e7, 0xc53d43ce, -+ 0x8a7a879d, 0x14f50f3b, 0x29ea1e76, 0x53d43cec, -+ 0xa7a879d8, 0x4f50f3b1, 0x9ea1e762, 0x3d43cec5, -+ 0x7a879d8a, 0xf50f3b14, 0xea1e7629, 0xd43cec53, -+ 0xa879d8a7, 0x50f3b14f, 0xa1e7629e, 0x43cec53d, -+ 0x879d8a7a, 0x0f3b14f5, 0x1e7629ea, 0x3cec53d4, -+ 0x79d8a7a8, 0xf3b14f50, 0xe7629ea1, 0xcec53d43, -+ 0x9d8a7a87, 0x3b14f50f, 0x7629ea1e, 0xec53d43c, -+ 0xd8a7a879, 0xb14f50f3, 0x629ea1e7, 0xc53d43ce, -+ 0x8a7a879d, 0x14f50f3b, 0x29ea1e76, 0x53d43cec, -+ 0xa7a879d8, 0x4f50f3b1, 0x9ea1e762, 0x3d43cec5 -+ }; -+ -+ u32 a,b,c,d,e,f,g,h,ss1,ss2; -+ u32 w[16]; -+ -+ a = hd->h0; -+ b = hd->h1; -+ c = hd->h2; -+ d = hd->h3; -+ e = hd->h4; -+ f = hd->h5; -+ g = hd->h6; -+ h = hd->h7; -+ -+ R1(a, b, c, d, e, f, g, h, K[0], I(0), I(4)); -+ R1(d, a, b, c, h, e, f, g, K[1], I(1), I(5)); -+ R1(c, d, a, b, g, h, e, f, K[2], I(2), I(6)); -+ R1(b, c, d, a, f, g, h, e, K[3], I(3), I(7)); -+ R1(a, b, c, d, e, f, g, h, K[4], W1(4), I(8)); -+ R1(d, a, b, c, h, e, f, g, K[5], W1(5), I(9)); -+ R1(c, d, a, b, g, h, e, f, K[6], W1(6), I(10)); -+ R1(b, c, d, a, f, g, h, e, K[7], W1(7), I(11)); -+ R1(a, b, c, d, e, f, g, h, K[8], W1(8), I(12)); -+ R1(d, a, b, c, h, e, f, g, K[9], W1(9), I(13)); -+ R1(c, d, a, b, g, h, e, f, K[10], W1(10), I(14)); -+ R1(b, c, d, a, f, g, h, e, K[11], W1(11), I(15)); -+ R1(a, b, c, d, e, f, g, h, K[12], W1(12), W2(16)); -+ R1(d, a, b, c, h, e, f, g, K[13], W1(13), W2(17)); -+ R1(c, d, a, b, g, h, e, f, K[14], W1(14), W2(18)); -+ R1(b, c, d, a, f, g, h, e, K[15], W1(15), W2(19)); -+ -+ R2(a, b, c, d, e, f, g, h, K[16], W1(16), W2(20)); -+ R2(d, a, b, c, h, e, f, g, K[17], W1(17), W2(21)); -+ R2(c, d, a, b, g, h, e, f, K[18], W1(18), W2(22)); -+ R2(b, c, d, a, f, g, h, e, K[19], W1(19), W2(23)); -+ R2(a, b, c, d, e, f, g, h, K[20], W1(20), W2(24)); -+ R2(d, a, b, c, h, e, f, g, K[21], W1(21), W2(25)); -+ R2(c, d, a, b, g, h, e, f, K[22], W1(22), W2(26)); -+ R2(b, c, d, a, f, g, h, e, K[23], W1(23), W2(27)); -+ R2(a, b, c, d, e, f, g, h, K[24], W1(24), W2(28)); -+ R2(d, a, b, c, h, e, f, g, K[25], W1(25), W2(29)); -+ R2(c, d, a, b, g, h, e, f, K[26], W1(26), W2(30)); -+ R2(b, c, d, a, f, g, h, e, K[27], W1(27), W2(31)); -+ R2(a, b, c, d, e, f, g, h, K[28], W1(28), W2(32)); -+ R2(d, a, b, c, h, e, f, g, K[29], W1(29), W2(33)); -+ R2(c, d, a, b, g, h, e, f, K[30], W1(30), W2(34)); -+ R2(b, c, d, a, f, g, h, e, K[31], W1(31), W2(35)); -+ -+ R2(a, b, c, d, e, f, g, h, K[32], W1(32), W2(36)); -+ R2(d, a, b, c, h, e, f, g, K[33], W1(33), W2(37)); -+ R2(c, d, a, b, g, h, e, f, K[34], W1(34), W2(38)); -+ R2(b, c, d, a, f, g, h, e, K[35], W1(35), W2(39)); -+ R2(a, b, c, d, e, f, g, h, K[36], W1(36), W2(40)); -+ R2(d, a, b, c, h, e, f, g, K[37], W1(37), W2(41)); -+ R2(c, d, a, b, g, h, e, f, K[38], W1(38), W2(42)); -+ R2(b, c, d, a, f, g, h, e, K[39], W1(39), W2(43)); -+ R2(a, b, c, d, e, f, g, h, K[40], W1(40), W2(44)); -+ R2(d, a, b, c, h, e, f, g, K[41], W1(41), W2(45)); -+ R2(c, d, a, b, g, h, e, f, K[42], W1(42), W2(46)); -+ R2(b, c, d, a, f, g, h, e, K[43], W1(43), W2(47)); -+ R2(a, b, c, d, e, f, g, h, K[44], W1(44), W2(48)); -+ R2(d, a, b, c, h, e, f, g, K[45], W1(45), W2(49)); -+ R2(c, d, a, b, g, h, e, f, K[46], W1(46), W2(50)); -+ R2(b, c, d, a, f, g, h, e, K[47], W1(47), W2(51)); -+ -+ R2(a, b, c, d, e, f, g, h, K[48], W1(48), W2(52)); -+ R2(d, a, b, c, h, e, f, g, K[49], W1(49), W2(53)); -+ R2(c, d, a, b, g, h, e, f, K[50], W1(50), W2(54)); -+ R2(b, c, d, a, f, g, h, e, K[51], W1(51), W2(55)); -+ R2(a, b, c, d, e, f, g, h, K[52], W1(52), W2(56)); -+ R2(d, a, b, c, h, e, f, g, K[53], W1(53), W2(57)); -+ R2(c, d, a, b, g, h, e, f, K[54], W1(54), W2(58)); -+ R2(b, c, d, a, f, g, h, e, K[55], W1(55), W2(59)); -+ R2(a, b, c, d, e, f, g, h, K[56], W1(56), W2(60)); -+ R2(d, a, b, c, h, e, f, g, K[57], W1(57), W2(61)); -+ R2(c, d, a, b, g, h, e, f, K[58], W1(58), W2(62)); -+ R2(b, c, d, a, f, g, h, e, K[59], W1(59), W2(63)); -+ R2(a, b, c, d, e, f, g, h, K[60], W1(60), W2(64)); -+ R2(d, a, b, c, h, e, f, g, K[61], W1(61), W2(65)); -+ R2(c, d, a, b, g, h, e, f, K[62], W1(62), W2(66)); -+ R2(b, c, d, a, f, g, h, e, K[63], W1(63), W2(67)); -+ -+ hd->h0 ^= a; -+ hd->h1 ^= b; -+ hd->h2 ^= c; -+ hd->h3 ^= d; -+ hd->h4 ^= e; -+ hd->h5 ^= f; -+ hd->h6 ^= g; -+ hd->h7 ^= h; -+ -+ return /*burn_stack*/ 26*4+32; -+} -+#undef P0 -+#undef P1 -+#undef R -+#undef R1 -+#undef R2 -+ -+static unsigned int -+transform (void *ctx, const unsigned char *data, size_t nblks) -+{ -+ SM3_CONTEXT *hd = ctx; -+ unsigned int burn; -+ -+ do -+ { -+ burn = transform_blk (hd, data); -+ data += 64; -+ } -+ while (--nblks); -+ -+ return burn; -+} -+ -+ -+/* -+ * The routine finally terminates the computation and returns the -+ * digest. The handle is prepared for a new cycle, but adding bytes -+ * to the handle will the destroy the returned buffer. Returns: 32 -+ * bytes with the message the digest. */ -+static void -+sm3_final(void *context) -+{ -+ SM3_CONTEXT *hd = context; -+ u32 t, th, msb, lsb; -+ byte *p; -+ unsigned int burn; -+ -+ t = hd->bctx.nblocks; -+ if (sizeof t == sizeof hd->bctx.nblocks) -+ th = hd->bctx.nblocks_high; -+ else -+ th = hd->bctx.nblocks >> 32; -+ -+ /* multiply by 64 to make a byte count */ -+ lsb = t << 6; -+ msb = (th << 6) | (t >> 26); -+ /* add the count */ -+ t = lsb; -+ if ((lsb += hd->bctx.count) < t) -+ msb++; -+ /* multiply by 8 to make a bit count */ -+ t = lsb; -+ lsb <<= 3; -+ msb <<= 3; -+ msb |= t >> 29; -+ -+ if (hd->bctx.count < 56) /* enough room */ -+ { -+ hd->bctx.buf[hd->bctx.count++] = 0x80; /* pad */ -+ if (hd->bctx.count < 56) -+ memset (&hd->bctx.buf[hd->bctx.count], 0, 56 - hd->bctx.count); -+ -+ /* append the 64 bit count */ -+ buf_put_be32(hd->bctx.buf + 56, msb); -+ buf_put_be32(hd->bctx.buf + 60, lsb); -+ burn = (*hd->bctx.bwrite) ( hd, hd->bctx.buf, 1 ); -+ } -+ else /* need one extra block */ -+ { -+ hd->bctx.buf[hd->bctx.count++] = 0x80; /* pad character */ -+ /* fill pad and next block with zeroes */ -+ memset (&hd->bctx.buf[hd->bctx.count], 0, 64 - hd->bctx.count + 56); -+ -+ /* append the 64 bit count */ -+ buf_put_be32(hd->bctx.buf + 64 + 56, msb); -+ buf_put_be32(hd->bctx.buf + 64 + 60, lsb); -+ burn = (*hd->bctx.bwrite) ( hd, hd->bctx.buf, 2 ); -+ } -+ -+ p = hd->bctx.buf; -+#define X(a) do { buf_put_be32(p, hd->h##a); p += 4; } while(0) -+ X(0); -+ X(1); -+ X(2); -+ X(3); -+ X(4); -+ X(5); -+ X(6); -+ X(7); -+#undef X -+ -+ hd->bctx.count = 0; -+ -+ _gcry_burn_stack (burn); -+} -+ -+static byte * -+sm3_read (void *context) -+{ -+ SM3_CONTEXT *hd = context; -+ -+ return hd->bctx.buf; -+} -+ -+ -+/* Shortcut functions which puts the hash value of the supplied buffer -+ * into outbuf which must have a size of 32 bytes. */ -+void -+_gcry_sm3_hash_buffer (void *outbuf, const void *buffer, size_t length) -+{ -+ SM3_CONTEXT hd; -+ -+ sm3_init (&hd, 0); -+ _gcry_md_block_write (&hd, buffer, length); -+ sm3_final (&hd); -+ memcpy (outbuf, hd.bctx.buf, 32); -+} -+ -+ -+/* Variant of the above shortcut function using multiple buffers. */ -+void -+_gcry_sm3_hash_buffers (void *outbuf, const gcry_buffer_t *iov, int iovcnt) -+{ -+ SM3_CONTEXT hd; -+ -+ sm3_init (&hd, 0); -+ for (;iovcnt > 0; iov++, iovcnt--) -+ _gcry_md_block_write (&hd, -+ (const char*)iov[0].data + iov[0].off, iov[0].len); -+ sm3_final (&hd); -+ memcpy (outbuf, hd.bctx.buf, 32); -+} -+ -+ -+ -+/* -+ * Self-test section. -+ */ -+ -+ -+static gpg_err_code_t -+selftests_sm3 (int extended, selftest_report_func_t report) -+{ -+ const char *what; -+ const char *errtxt; -+ -+ what = "short string (spec example 1)"; -+ errtxt = _gcry_hash_selftest_check_one -+ (GCRY_MD_SM3, 0, -+ "abc", 3, -+ "\x66\xc7\xf0\xf4\x62\xee\xed\xd9\xd1\xf2\xd4\x6b\xdc\x10\xe4\xe2" -+ "\x41\x67\xc4\x87\x5c\xf2\xf7\xa2\x29\x7d\xa0\x2b\x8f\x4b\xa8\xe0", 32); -+ if (errtxt) -+ goto failed; -+ -+ if (extended) -+ { -+ what = "long string (spec example 2)"; -+ errtxt = _gcry_hash_selftest_check_one -+ (GCRY_MD_SM3, 0, -+ "abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd", 64, -+ "\xde\xbe\x9f\xf9\x22\x75\xb8\xa1\x38\x60\x48\x89\xc1\x8e\x5a\x4d" -+ "\x6f\xdb\x70\xe5\x38\x7e\x57\x65\x29\x3d\xcb\xa3\x9c\x0c\x57\x32", -+ 32); -+ if (errtxt) -+ goto failed; -+ -+ what = "long string"; -+ errtxt = _gcry_hash_selftest_check_one -+ (GCRY_MD_SM3, 0, -+ "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", 56, -+ "\x63\x9b\x6c\xc5\xe6\x4d\x9e\x37\xa3\x90\xb1\x92\xdf\x4f\xa1\xea" -+ "\x07\x20\xab\x74\x7f\xf6\x92\xb9\xf3\x8c\x4e\x66\xad\x7b\x8c\x05", -+ 32); -+ if (errtxt) -+ goto failed; -+ -+ what = "one million \"a\""; -+ errtxt = _gcry_hash_selftest_check_one -+ (GCRY_MD_SM3, 1, -+ NULL, 0, -+ "\xc8\xaa\xf8\x94\x29\x55\x40\x29\xe2\x31\x94\x1a\x2a\xcc\x0a\xd6" -+ "\x1f\xf2\xa5\xac\xd8\xfa\xdd\x25\x84\x7a\x3a\x73\x2b\x3b\x02\xc3", -+ 32); -+ if (errtxt) -+ goto failed; -+ } -+ -+ return 0; /* Succeeded. */ -+ -+ failed: -+ if (report) -+ report ("digest", GCRY_MD_SM3, what, errtxt); -+ return GPG_ERR_SELFTEST_FAILED; -+} -+ -+ -+/* Run a full self-test for ALGO and return 0 on success. */ -+static gpg_err_code_t -+run_selftests (int algo, int extended, selftest_report_func_t report) -+{ -+ gpg_err_code_t ec; -+ -+ switch (algo) -+ { -+ case GCRY_MD_SM3: -+ ec = selftests_sm3 (extended, report); -+ break; -+ default: -+ ec = GPG_ERR_DIGEST_ALGO; -+ break; -+ -+ } -+ return ec; -+} -+ -+static byte asn_sm3[] = /* Object ID is 1.2.156.10197.401 */ -+ { 0x30, 0x2F, 0x30, 0x0B, 0x06, 0x07, 0x2A, 0x81, -+ 0x1C, 0xCF, 0x55, 0x83, 0x11, 0x05, 0x00, 0x04, -+ 0x20 }; -+ -+static gcry_md_oid_spec_t oid_spec_sm3[] = -+ { -+ /* China Electronics Standardization Instutute, -+ OID White paper (2015), Table 6 */ -+ { "1.2.156.10197.401" }, -+ { NULL }, -+ }; -+ -+gcry_md_spec_t _gcry_digest_spec_sm3 = -+ { -+ GCRY_MD_SM3, {0, 0}, -+ "SM3", asn_sm3, DIM (asn_sm3), oid_spec_sm3, 32, -+ sm3_init, _gcry_md_block_write, sm3_final, sm3_read, NULL, -+ sizeof (SM3_CONTEXT), -+ run_selftests -+ }; -diff --git a/configure.ac b/configure.ac -index c588af4..d52b61f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -204,6 +204,7 @@ enabled_pubkey_ciphers="" - # Definitions for message digests. - available_digests="crc gostr3411-94 md2 md4 md5 rmd160 sha1 sha256 sha512" - available_digests="$available_digests sha3 tiger whirlpool stribog blake2" -+available_digests="$available_digests sm3" - enabled_digests="" - - # Definitions for kdfs (optional ones) -@@ -2603,6 +2604,12 @@ case "${host}" in - ;; - esac - -+LIST_MEMBER(sm3, $enabled_digests) -+if test "$found" = "1" ; then -+ GCRYPT_DIGESTS="$GCRYPT_DIGESTS sm3.lo" -+ AC_DEFINE(USE_SM3, 1, [Defined if this module should be included]) -+fi -+ - LIST_MEMBER(scrypt, $enabled_kdfs) - if test "$found" = "1" ; then - GCRYPT_KDFS="$GCRYPT_KDFS scrypt.lo" -diff --git a/doc/gcrypt.texi b/doc/gcrypt.texi -index 7cd1b0f..8119e89 100644 ---- a/doc/gcrypt.texi -+++ b/doc/gcrypt.texi -@@ -3122,6 +3122,7 @@ are also supported. - @cindex MD2, MD4, MD5 - @cindex TIGER, TIGER1, TIGER2 - @cindex HAVAL -+@cindex SM3 - @cindex Whirlpool - @cindex BLAKE2b-512, BLAKE2b-384, BLAKE2b-256, BLAKE2b-160 - @cindex BLAKE2s-256, BLAKE2s-224, BLAKE2s-160, BLAKE2s-128 -@@ -3281,6 +3282,9 @@ See RFC 7693 for the specification. - This is the BLAKE2s-128 algorithm which yields a message digest of 16 bytes. - See RFC 7693 for the specification. - -+@item GCRY_MD_SM3 -+This is the SM3 algorithm which yields a message digest of 32 bytes. -+ - @end table - @c end table of hash algorithms - -diff --git a/src/cipher.h b/src/cipher.h -index d9e0ac6..7c2e5d9 100644 ---- a/src/cipher.h -+++ b/src/cipher.h -@@ -133,6 +133,12 @@ void _gcry_sha512_hash_buffer (void *outbuf, - void _gcry_sha512_hash_buffers (void *outbuf, - const gcry_buffer_t *iov, int iovcnt); - -+/*-- sm3.c --*/ -+void _gcry_sm3_hash_buffer (void *outbuf, -+ const void *buffer, size_t length); -+void _gcry_sm3_hash_buffers (void *outbuf, -+ const gcry_buffer_t *iov, int iovcnt); -+ - /*-- blake2.c --*/ - gcry_err_code_t _gcry_blake2_init_with_key(void *ctx, unsigned int flags, - const unsigned char *key, -@@ -329,6 +335,7 @@ extern gcry_md_spec_t _gcry_digest_spec_blake2s_256; - extern gcry_md_spec_t _gcry_digest_spec_blake2s_224; - extern gcry_md_spec_t _gcry_digest_spec_blake2s_160; - extern gcry_md_spec_t _gcry_digest_spec_blake2s_128; -+extern gcry_md_spec_t _gcry_digest_spec_sm3; - - /* Declarations for the pubkey cipher specifications. */ - extern gcry_pk_spec_t _gcry_pubkey_spec_rsa; -diff --git a/src/gcrypt.h.in b/src/gcrypt.h.in -index 75c49a0..72b09a9 100644 ---- a/src/gcrypt.h.in -+++ b/src/gcrypt.h.in -@@ -1240,7 +1240,8 @@ enum gcry_md_algos - GCRY_MD_BLAKE2S_256 = 322, - GCRY_MD_BLAKE2S_224 = 323, - GCRY_MD_BLAKE2S_160 = 324, -- GCRY_MD_BLAKE2S_128 = 325 -+ GCRY_MD_BLAKE2S_128 = 325, -+ GCRY_MD_SM3 = 326, - }; - - /* Flags used with the open function. */ -diff --git a/tests/basic.c b/tests/basic.c -index 0bd8020..f932b2b 100644 ---- a/tests/basic.c -+++ b/tests/basic.c -@@ -8457,6 +8457,31 @@ check_digests (void) - "\x0e\xfc\x29\xde" }, - { GCRY_MD_BLAKE2S_128, "?", - "\x70\x0b\x8a\x71\x1d\x34\x0a\xf0\x13\x93\x19\x93\x5e\xd7\x54\x9c" }, -+ -+ { GCRY_MD_SM3, "abc", -+ "\x66\xc7\xf0\xf4\x62\xee\xed\xd9\xd1\xf2\xd4\x6b\xdc\x10\xe4\xe2" -+ "\x41\x67\xc4\x87\x5c\xf2\xf7\xa2\x29\x7d\xa0\x2b\x8f\x4b\xa8\xe0" }, -+ { GCRY_MD_SM3, -+ "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", -+ "\x63\x9b\x6c\xc5\xe6\x4d\x9e\x37\xa3\x90\xb1\x92\xdf\x4f\xa1\xea" -+ "\x07\x20\xab\x74\x7f\xf6\x92\xb9\xf3\x8c\x4e\x66\xad\x7b\x8c\x05" }, -+ { GCRY_MD_SM3, "!", -+ "\xc8\xaa\xf8\x94\x29\x55\x40\x29\xe2\x31\x94\x1a\x2a\xcc\x0a\xd6" -+ "\x1f\xf2\xa5\xac\xd8\xfa\xdd\x25\x84\x7a\x3a\x73\x2b\x3b\x02\xc3" }, -+ { GCRY_MD_SM3, "?", -+ "\x3a\x3f\x53\xfc\x96\xc2\xde\xb2\xd9\x12\x3a\x1b\xd8\x47\x71\x28" -+ "\xbc\x5d\x5e\x94\xea\x08\x86\x3d\xfb\xe4\x00\x5a\xd9\xed\x79\x26" }, -+ { GCRY_MD_SM3, -+ "Libgcrypt is free software; you can redistribute it and/or modif" -+ "y it under the terms of the GNU Lesser general Public License as" -+ " published by the Free Software Foundation; either version 2.1 o" -+ "f the License, or (at your option) any later version.\nLibgcrypt" -+ " is distributed in the hope that it will be useful, but WITHOUT " -+ "ANY WARRANTY; without even the implied warranty of MERCHANTABILI" -+ "TY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser Gene" -+ "ral Public License for more details.", -+ "\x8b\x91\x3f\x0e\x85\xae\x43\x25\x6d\x28\x38\x6c\x09\x5c\xc7\x72" -+ "\xcc\x2e\x78\x89\x7e\x2e\x4e\x5a\x3d\xf6\x55\xfe\x87\xbe\xa6\xbc" }, - { 0 } - }; - gcry_error_t err; -diff --git a/tests/hashtest-256g.in b/tests/hashtest-256g.in -index 92b1c1b..a52b869 100755 ---- a/tests/hashtest-256g.in -+++ b/tests/hashtest-256g.in -@@ -1,6 +1,6 @@ - #!/bin/sh - --algos="SHA1 SHA256 SHA512" -+algos="SHA1 SHA256 SHA512 SM3" - - test "@RUN_LARGE_DATA_TESTS@" = yes || exit 77 - echo " now running 256 GiB tests for $algos - this takes looong" -diff --git a/tests/hashtest.c b/tests/hashtest.c -index 2ecbc1f..3394594 100644 ---- a/tests/hashtest.c -+++ b/tests/hashtest.c -@@ -102,6 +102,17 @@ static struct { - "0c91b91665ceaf7af5102e0ed31aa4f050668ab3c57b1f4763946d567efe66b3" - "ab9a2016cf238dee5b44eae9f0cdfbf7b7a6eb1e759986273243dc35894706b6" }, - -+ { GCRY_MD_SM3, 256, -64, -+ "4ceb893abeb43965d4cac7626da9a4be895585b5b2f16f302626801308b1c02a" }, -+ { GCRY_MD_SM3, 256, -1, -+ "825f01e4f2b6084136abc356fa1b343a9411d844a4dc1474293aad817cd2a48f" }, -+ { GCRY_MD_SM3, 256, +0, -+ "d948a4025ac3ea0aa8989f43203411bd22ad17eaa5fd92ebdf9cabf869f1ba1b" }, -+ { GCRY_MD_SM3, 256, +1, -+ "4f6d0e260299c1f286ef1dbb4638a0770979f266b6c007c55410ee6849cba2a8" }, -+ { GCRY_MD_SM3, 256, +64, -+ "ed34869dbadd62e3bec1f511004d7bbfc9cafa965477cc48843b248293bbe867" }, -+ - { 0 } - }; - --- -2.19.1 \ No newline at end of file diff --git a/libgcrypt-1.6.1-mpicoder-gccopt.patch b/backport-libgcrypt-1.6.1-mpicoder-gccopt.patch similarity index 100% rename from libgcrypt-1.6.1-mpicoder-gccopt.patch rename to backport-libgcrypt-1.6.1-mpicoder-gccopt.patch diff --git a/libgcrypt-1.7.3-ecc-test-fix.patch b/backport-libgcrypt-1.7.3-ecc-test-fix.patch similarity index 100% rename from libgcrypt-1.7.3-ecc-test-fix.patch rename to backport-libgcrypt-1.7.3-ecc-test-fix.patch diff --git a/libgcrypt-1.7.3-fips-cavs.patch b/backport-libgcrypt-1.7.3-fips-cavs.patch similarity index 99% rename from libgcrypt-1.7.3-fips-cavs.patch rename to backport-libgcrypt-1.7.3-fips-cavs.patch index 42d028e..1056218 100644 --- a/libgcrypt-1.7.3-fips-cavs.patch +++ b/backport-libgcrypt-1.7.3-fips-cavs.patch @@ -262,7 +262,7 @@ diff -up libgcrypt-1.7.3/tests/cavs_driver.pl.cavs libgcrypt-1.7.3/tests/cavs_dr for (my $j = 0; $j < $iloop; ++$j) { + if ($cipher =~ /des-ede3-ofb/ || + (!$enc && $cipher =~ /des-ede3-cfb/)) { -+ die "Implementation lacks support for TDES OFB and TDES CFB in encryption mode - the problem is that we would need to extract the IV of the last round of encryption which would be the input for the next round - see comments in this script for implementation requirements"; ++ die "Implementation lacks support for TDES OFB and TDES CFB in encryption mode - the problem is that we would need to extract the IV of the last round of encryption which would be the input for the next round - see comments in this script for implementation requirements"; + } $old_old_calc_data = $old_calc_data; $old_calc_data = $calc_data; @@ -426,7 +426,7 @@ diff -up libgcrypt-1.7.3/tests/cavs_driver.pl.cavs libgcrypt-1.7.3/tests/cavs_dr + if (!defined($P) || !defined($Q) || !defined($G) || + !defined($seed2) || !defined($c2) || !defined($h2)); + -+ ++ + + $out .= "Seed = $seed\n"; + $out .= "c = $c\n"; @@ -434,7 +434,7 @@ diff -up libgcrypt-1.7.3/tests/cavs_driver.pl.cavs libgcrypt-1.7.3/tests/cavs_dr + + $c2 = hex($c2); + -+ if (hexcomp($P, $p) && hexcomp($Q, $q) && hexcomp($G, $g) && hexcomp($seed, $seed2) && ++ if (hexcomp($P, $p) && hexcomp($Q, $q) && hexcomp($G, $g) && hexcomp($seed, $seed2) && + $c == $c2 && hex($h) == hex($h2)) { + $out .= "Result = P\n\n"; + } @@ -932,7 +932,7 @@ diff -up libgcrypt-1.7.3/tests/fipsdrv.c.cavs libgcrypt-1.7.3/tests/fipsdrv.c err = gcry_pk_genkey (&key, keyspec); if (err) die ("gcry_pk_genkey failed for DSA: %s\n", gpg_strerror (err)); -+ ++ + gcry_sexp_release (keyspec); + + return key; @@ -993,7 +993,7 @@ diff -up libgcrypt-1.7.3/tests/fipsdrv.c.cavs libgcrypt-1.7.3/tests/fipsdrv.c +/* Print just the XY private key parameters. KEY + is the complete key as returned by dsa_gen. We print to stdout + with one parameter per line in hex format using this order: x, y. */ -+static void ++static void +print_dsa_xy (gcry_sexp_t key) +{ + gcry_sexp_t l1, l2; @@ -1011,7 +1011,7 @@ diff -up libgcrypt-1.7.3/tests/fipsdrv.c.cavs libgcrypt-1.7.3/tests/fipsdrv.c + l1 = l2; + + /* Extract the parameters from the S-expression and print them to stdout. */ -+ for (idx=0; "xy"[idx]; idx++) ++ for (idx=0; "xy"[idx]; idx++) + { + l2 = gcry_sexp_find_token (l1, "xy"+idx, 1); + if (!l2) diff --git a/libgcrypt-1.8.3-fips-ctor.patch b/backport-libgcrypt-1.8.3-fips-ctor.patch similarity index 80% rename from libgcrypt-1.8.3-fips-ctor.patch rename to backport-libgcrypt-1.8.3-fips-ctor.patch index 66abd59..a5d3467 100644 --- a/libgcrypt-1.8.3-fips-ctor.patch +++ b/backport-libgcrypt-1.8.3-fips-ctor.patch @@ -50,7 +50,7 @@ diff -up libgcrypt-1.8.3/src/global.c.fips-ctor libgcrypt-1.8.3/src/global.c break; case GCRYCTL_SET_ENFORCED_FIPS_FLAG: -- if (!any_init_done) +- if (!_gcry_global_any_init_done) + if (fips_mode ()) { - /* Not yet initialized at all. Set the enforced fips mode flag */ @@ -58,3 +58,16 @@ diff -up libgcrypt-1.8.3/src/global.c.fips-ctor libgcrypt-1.8.3/src/global.c _gcry_set_preferred_rng_type (0); _gcry_set_enforced_fips_mode (); } +diff --git a/tests/t-secmem.c b/tests/t-secmem.c +index 2b769134..1d33bbfd 100644 +--- a/tests/t-secmem.c ++++ b/tests/t-secmem.c +@@ -54,7 +54,7 @@ test_secmem (void) + + /* Allocating another 2k should fail for the default 16k pool. */ + b = gcry_malloc_secure (chunk_size*4); +- if (b) ++ if (b && !gcry_fips_mode_active ()) + fail ("allocation did not fail as expected\n"); + + for (i=0; i < DIM(a); i++) diff --git a/libgcrypt-1.8.3-fips-enttest.patch b/backport-libgcrypt-1.8.3-fips-enttest.patch similarity index 98% rename from libgcrypt-1.8.3-fips-enttest.patch rename to backport-libgcrypt-1.8.3-fips-enttest.patch index b6b09ba..34e54bf 100644 --- a/libgcrypt-1.8.3-fips-enttest.patch +++ b/backport-libgcrypt-1.8.3-fips-enttest.patch @@ -2,7 +2,7 @@ diff -up libgcrypt-1.8.3/random/random-drbg.c.fips-enttest libgcrypt-1.8.3/rando --- libgcrypt-1.8.3/random/random-drbg.c.fips-enttest 2017-11-23 19:16:58.000000000 +0100 +++ libgcrypt-1.8.3/random/random-drbg.c 2019-06-24 10:04:23.219547141 +0200 @@ -317,6 +317,7 @@ struct drbg_state_s - unsigned char *ctr_null; /* CTR mode zero buffer */ + gcry_cipher_hd_t ctr_handle; /* CTR mode cipher handle */ int seeded:1; /* DRBG fully seeded? */ int pr:1; /* Prediction resistance enabled? */ + int ent_primed:1; /* Previous entropy data primed? */ diff --git a/backport-libgcrypt-1.8.3-md-fips-enforce.patch b/backport-libgcrypt-1.8.3-md-fips-enforce.patch new file mode 100644 index 0000000..3b730a1 --- /dev/null +++ b/backport-libgcrypt-1.8.3-md-fips-enforce.patch @@ -0,0 +1,37 @@ +diff -up libgcrypt-1.8.3/cipher/md.c.fips-enforce libgcrypt-1.8.3/cipher/md.c +--- libgcrypt-1.8.3/cipher/md.c.fips-enforce 2017-11-23 19:16:58.000000000 +0100 ++++ libgcrypt-1.8.3/cipher/md.c 2020-04-17 15:07:31.364945130 +0200 +@@ -409,13 +409,10 @@ md_enable (gcry_md_hd_t hd, int algorith + } + + +- if (!err && algorithm == GCRY_MD_MD5 && fips_mode ()) ++ if (!err && !spec->flags.fips && fips_mode ()) + { +- _gcry_inactivate_fips_mode ("MD5 used"); + if (_gcry_enforced_fips_mode () ) + { +- /* We should never get to here because we do not register +- MD5 in enforced fips mode. But better throw an error. */ + err = GPG_ERR_DIGEST_ALGO; + } + } +diff --git a/tests/t-kdf.c b/tests/t-kdf.c +index 7a48e98a..48309b9a 100644 +--- a/tests/t-kdf.c ++++ b/tests/t-kdf.c +@@ -1104,6 +1104,13 @@ check_pbkdf2 (void) + GCRY_KDF_PBKDF2, tv[tvidx].hashalgo, + tv[tvidx].salt, tv[tvidx].saltlen, + tv[tvidx].c, tv[tvidx].dklen, outbuf); ++ if (gcry_fips_mode_active() && tvidx > 6) ++ { ++ if (!err) ++ fail ("pbkdf2 test %d unexpectedly passed in FIPS mode: %s\n", ++ tvidx, gpg_strerror (err)); ++ continue; ++ } + if (err) + fail ("pbkdf2 test %d failed: %s\n", tvidx, gpg_strerror (err)); + else if (memcmp (outbuf, tv[tvidx].dk, tv[tvidx].dklen)) + diff --git a/libgcrypt-1.8.4-fips-keygen.patch b/backport-libgcrypt-1.8.4-fips-keygen.patch similarity index 88% rename from libgcrypt-1.8.4-fips-keygen.patch rename to backport-libgcrypt-1.8.4-fips-keygen.patch index 9d3a647..a3e241f 100644 --- a/libgcrypt-1.8.4-fips-keygen.patch +++ b/backport-libgcrypt-1.8.4-fips-keygen.patch @@ -1,16 +1,15 @@ diff -up libgcrypt-1.8.4/cipher/dsa.c.fips-keygen libgcrypt-1.8.4/cipher/dsa.c --- libgcrypt-1.8.4/cipher/dsa.c.fips-keygen 2017-11-23 19:16:58.000000000 +0100 +++ libgcrypt-1.8.4/cipher/dsa.c 2019-02-12 14:29:25.629513989 +0100 -@@ -457,11 +457,22 @@ generate_fips186 (DSA_secret_key *sk, un +@@ -457,13 +457,22 @@ generate_fips186 (DSA_secret_key *sk, un &prime_q, &prime_p, r_counter, r_seed, r_seedlen); - else -- ec = _gcry_generate_fips186_3_prime (nbits, qbits, NULL, 0, + else if (!domain->p || !domain->q) -+ ec = _gcry_generate_fips186_3_prime (nbits, qbits, -+ initial_seed.seed, -+ initial_seed.seedlen, + ec = _gcry_generate_fips186_3_prime (nbits, qbits, + initial_seed.seed, + initial_seed.seedlen, &prime_q, &prime_p, r_counter, r_seed, r_seedlen, NULL); diff --git a/libgcrypt-1.8.4-tests-fipsmode.patch b/backport-libgcrypt-1.8.4-tests-fipsmode.patch similarity index 90% rename from libgcrypt-1.8.4-tests-fipsmode.patch rename to backport-libgcrypt-1.8.4-tests-fipsmode.patch index 1442a0b..80addd2 100644 --- a/libgcrypt-1.8.4-tests-fipsmode.patch +++ b/backport-libgcrypt-1.8.4-tests-fipsmode.patch @@ -2,7 +2,7 @@ diff -up libgcrypt-1.8.4/tests/basic.c.tests-fipsmode libgcrypt-1.8.4/tests/basi --- libgcrypt-1.8.4/tests/basic.c.tests-fipsmode 2018-04-17 17:29:40.000000000 +0200 +++ libgcrypt-1.8.4/tests/basic.c 2019-02-12 13:30:48.935791024 +0100 @@ -6964,7 +6964,7 @@ check_ciphers (void) - check_one_cipher (algos[i], GCRY_CIPHER_MODE_CTR, 0); + check_one_cipher (algos[i], GCRY_CIPHER_MODE_EAX, 0); if (gcry_cipher_get_algo_blklen (algos[i]) == GCRY_CCM_BLOCK_LEN) check_one_cipher (algos[i], GCRY_CIPHER_MODE_CCM, 0); - if (gcry_cipher_get_algo_blklen (algos[i]) == GCRY_GCM_BLOCK_LEN) @@ -10,7 +10,7 @@ diff -up libgcrypt-1.8.4/tests/basic.c.tests-fipsmode libgcrypt-1.8.4/tests/basi check_one_cipher (algos[i], GCRY_CIPHER_MODE_GCM, 0); if (gcry_cipher_get_algo_blklen (algos[i]) == GCRY_OCB_BLOCK_LEN) check_one_cipher (algos[i], GCRY_CIPHER_MODE_OCB, 0); -@@ -7010,11 +7010,17 @@ check_cipher_modes(void) +@@ -7010,12 +7010,18 @@ check_cipher_modes(void) check_cfb_cipher (); check_ofb_cipher (); check_ccm_cipher (); @@ -24,6 +24,7 @@ diff -up libgcrypt-1.8.4/tests/basic.c.tests-fipsmode libgcrypt-1.8.4/tests/basi + check_ocb_cipher (); + } check_xts_cipher (); + check_eax_cipher (); - check_gost28147_cipher (); + if (!in_fips_mode) + { @@ -46,7 +47,7 @@ diff -up libgcrypt-1.8.4/tests/basic.c.tests-fipsmode libgcrypt-1.8.4/tests/basi gcry_md_hd_t md; - /* First trigger a self-test. */ -- xgcry_control (GCRYCTL_FORCE_FIPS_MODE, 0); +- xgcry_control ((GCRYCTL_FORCE_FIPS_MODE, 0)); if (!gcry_control (GCRYCTL_OPERATIONAL_P, 0)) fail ("not in operational state after self-test\n"); @@ -58,7 +59,7 @@ diff -up libgcrypt-1.8.4/tests/basic.c.tests-fipsmode libgcrypt-1.8.4/tests/basi - { - /* Now run a self-test and to get back into - operational state. */ -- xgcry_control (GCRYCTL_FORCE_FIPS_MODE, 0); +- xgcry_control ((GCRYCTL_FORCE_FIPS_MODE, 0)); - if (!gcry_control (GCRYCTL_OPERATIONAL_P, 0)) - fail ("did not reach operational after error " - "and self-test\n"); @@ -70,14 +71,14 @@ diff -up libgcrypt-1.8.4/tests/benchmark.c.tests-fipsmode libgcrypt-1.8.4/tests/ --- libgcrypt-1.8.4/tests/benchmark.c.tests-fipsmode 2019-02-12 11:31:44.859603883 +0100 +++ libgcrypt-1.8.4/tests/benchmark.c 2019-02-12 14:10:40.271999352 +0100 @@ -872,8 +872,10 @@ cipher_bench ( const char *algoname ) - || (blklen == 1 && modes[modeidx].mode != GCRY_CIPHER_MODE_STREAM)) + && algo != GCRY_CIPHER_CHACHA20) continue; - if (modes[modeidx].req_blocksize > 0 - && blklen != modes[modeidx].req_blocksize) + if ((modes[modeidx].req_blocksize > 0 + && blklen != modes[modeidx].req_blocksize) -+ || (in_fips_mode ++ || (in_fips_mode + && modes[modeidx].mode == GCRY_CIPHER_MODE_GCM)) { printf (" %7s %7s", "-", "-" ); @@ -141,7 +142,7 @@ diff -up libgcrypt-1.8.4/tests/pubkey.c.tests-fipsmode libgcrypt-1.8.4/tests/pub " (use-fips186)" " (transient-key)" " (derive-parms" -- " (seed #0cb1990c1fd3626055d7a0096f8fa99807399871#))))", +- " (seed #f770a4598ff756931fc529764513b103ce57d85f4ad8c5cf297c9b4d48241c5b#))))", + " (seed #8b4c4d671fff82e8ed932260206d0571e3a1c2cee8cd94cb73fe58f9b67488fa#))))", 0, 1); if (rc) @@ -150,9 +151,9 @@ diff -up libgcrypt-1.8.4/tests/t-cv25519.c.tests-fipsmode libgcrypt-1.8.4/tests/ --- libgcrypt-1.8.4/tests/t-cv25519.c.tests-fipsmode 2017-11-23 19:16:58.000000000 +0100 +++ libgcrypt-1.8.4/tests/t-cv25519.c 2019-02-12 14:02:35.935705390 +0100 @@ -560,6 +560,9 @@ main (int argc, char **argv) - xgcry_control (GCRYCTL_SET_DEBUG_FLAGS, 1u , 0); - xgcry_control (GCRYCTL_ENABLE_QUICK_RANDOM, 0); - xgcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0); + xgcry_control ((GCRYCTL_SET_DEBUG_FLAGS, 1u , 0)); + xgcry_control ((GCRYCTL_ENABLE_QUICK_RANDOM, 0)); + xgcry_control ((GCRYCTL_INITIALIZATION_FINISHED, 0)); + /* Curve25519 isn't supported in fips mode */ + if (gcry_fips_mode_active()) + return 77; @@ -163,13 +164,13 @@ diff -up libgcrypt-1.8.4/tests/t-secmem.c.tests-fipsmode libgcrypt-1.8.4/tests/t --- libgcrypt-1.8.4/tests/t-secmem.c.tests-fipsmode 2017-11-23 19:19:54.000000000 +0100 +++ libgcrypt-1.8.4/tests/t-secmem.c 2019-02-12 11:51:02.462190538 +0100 @@ -174,7 +174,8 @@ main (int argc, char **argv) - xgcry_control (GCRYCTL_SET_DEBUG_FLAGS, 1u , 0); - xgcry_control (GCRYCTL_ENABLE_QUICK_RANDOM, 0); - xgcry_control (GCRYCTL_INIT_SECMEM, pool_size, 0); + xgcry_control ((GCRYCTL_SET_DEBUG_FLAGS, 1u , 0)); + xgcry_control ((GCRYCTL_ENABLE_QUICK_RANDOM, 0)); + xgcry_control ((GCRYCTL_INIT_SECMEM, pool_size, 0)); - gcry_set_outofcore_handler (outofcore_handler, NULL); + if (!gcry_fips_mode_active ()) + gcry_set_outofcore_handler (outofcore_handler, NULL); - xgcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0); + xgcry_control ((GCRYCTL_INITIALIZATION_FINISHED, 0)); /* Libgcrypt prints a warning when the first overflow is allocated; @@ -184,7 +185,8 @@ main (int argc, char **argv) diff --git a/libgcrypt-1.8.4-use-poll.patch b/backport-libgcrypt-1.8.4-use-poll.patch similarity index 90% rename from libgcrypt-1.8.4-use-poll.patch rename to backport-libgcrypt-1.8.4-use-poll.patch index b96c6ce..8032992 100644 --- a/libgcrypt-1.8.4-use-poll.patch +++ b/backport-libgcrypt-1.8.4-use-poll.patch @@ -6,9 +6,9 @@ diff -up libgcrypt-1.8.4/random/rndlinux.c.use-poll libgcrypt-1.8.4/random/rndli #include #include +#include - #if defined(__linux__) && defined(HAVE_SYSCALL) - # include - #endif + #if defined(__APPLE__) && defined(__MACH__) + #include + #ifdef __MAC_10_11 @@ -241,9 +242,8 @@ _gcry_rndlinux_gather_random (void (*add return with something we will actually use 100ms. */ while (length) @@ -18,8 +18,8 @@ diff -up libgcrypt-1.8.4/random/rndlinux.c.use-poll libgcrypt-1.8.4/random/rndli int rc; + struct pollfd pfd; - /* If we have a modern Linux kernel, we first try to use the new - * getrandom syscall. That call guarantees that the kernel's + /* If we have a modern operating system, we first try to use the new + * getentropy function. That call guarantees that the kernel's @@ -300,36 +300,25 @@ _gcry_rndlinux_gather_random (void (*add any_need_entropy = 1; } diff --git a/libgcrypt-1.8.5-fips-module.patch b/backport-libgcrypt-1.8.5-fips-module.patch similarity index 96% rename from libgcrypt-1.8.5-fips-module.patch rename to backport-libgcrypt-1.8.5-fips-module.patch index 60b9ce2..8ffe465 100644 --- a/libgcrypt-1.8.5-fips-module.patch +++ b/backport-libgcrypt-1.8.5-fips-module.patch @@ -23,7 +23,7 @@ diff -up libgcrypt-1.8.5/src/fips.c.fips-module libgcrypt-1.8.5/src/fips.c - actually used. The file itself may be empty. */ - if ( !access (FIPS_FORCE_FILE, F_OK) ) - { -- gcry_assert (!no_fips_mode_required); +- gcry_assert (!_gcry_no_fips_mode_required); - goto leave; - } - @@ -42,7 +42,7 @@ diff -up libgcrypt-1.8.5/src/fips.c.fips-module libgcrypt-1.8.5/src/fips.c - { - /* System is in fips mode. */ - fclose (fp); -- gcry_assert (!no_fips_mode_required); +- gcry_assert (!_gcry_no_fips_mode_required); - goto leave; - } - fclose (fp); @@ -65,7 +65,7 @@ diff -up libgcrypt-1.8.5/src/fips.c.fips-module libgcrypt-1.8.5/src/fips.c - } - /* Fips not not requested, set flag. */ - no_fips_mode_required = 1; + _gcry_no_fips_mode_required = 1; diff -up libgcrypt-1.8.5/src/g10lib.h.fips-module libgcrypt-1.8.5/src/g10lib.h --- libgcrypt-1.8.5/src/g10lib.h.fips-module 2020-04-20 19:07:45.918919759 +0200 @@ -77,9 +77,9 @@ diff -up libgcrypt-1.8.5/src/g10lib.h.fips-module libgcrypt-1.8.5/src/g10lib.h +/* The name of the file used to force libgcrypt into fips mode. */ +#define FIPS_FORCE_FILE "/etc/gcrypt/fips_enabled" + - void _gcry_initialize_fips_mode (int force); + extern int _gcry_no_fips_mode_required; - int _gcry_fips_mode (void); + void _gcry_initialize_fips_mode (int force); diff -up libgcrypt-1.8.5/src/global.c.fips-module libgcrypt-1.8.5/src/global.c --- libgcrypt-1.8.5/src/global.c.fips-module 2020-04-20 19:07:45.919919741 +0200 +++ libgcrypt-1.8.5/src/global.c 2020-04-20 19:07:45.950919149 +0200 diff --git a/libgcrypt-1.8.5-getrandom.patch b/backport-libgcrypt-1.8.5-getrandom.patch similarity index 92% rename from libgcrypt-1.8.5-getrandom.patch rename to backport-libgcrypt-1.8.5-getrandom.patch index ff2ef3b..1779dc1 100644 --- a/libgcrypt-1.8.5-getrandom.patch +++ b/backport-libgcrypt-1.8.5-getrandom.patch @@ -154,13 +154,13 @@ diff -up libgcrypt-1.8.5/random/rndlinux.c.getrandom libgcrypt-1.8.5/random/rndl --- libgcrypt-1.8.5/random/rndlinux.c.getrandom 2020-04-20 15:01:50.159848963 +0200 +++ libgcrypt-1.8.5/random/rndlinux.c 2020-04-20 16:14:21.901610921 +0200 @@ -35,6 +35,7 @@ - #include - #if defined(__linux__) && defined(HAVE_SYSCALL) + #if defined(__linux__) || !defined(HAVE_GETENTROPY) + #ifdef HAVE_SYSCALL # include +# include - #endif - - #include "types.h" + # ifdef __NR_getrandom + # define getentropy(buf,buflen) syscall (__NR_getrandom, buf, buflen, 0) + # endif @@ -147,12 +148,12 @@ _gcry_rndlinux_gather_random (void (*add if (!add) { @@ -216,25 +216,17 @@ diff -up libgcrypt-1.8.5/random/rndlinux.c.getrandom libgcrypt-1.8.5/random/rndl { if (fd_random == -1) { -@@ -255,6 +272,7 @@ _gcry_rndlinux_gather_random (void (*add - * syscall and not a new device and thus we are not able to use - * select(2) to have a timeout. */ - #if defined(__linux__) && defined(HAVE_SYSCALL) && defined(__NR_getrandom) -+ if (fd == -2) - { - long ret; - size_t nbytes; @@ -270,9 +288,7 @@ _gcry_rndlinux_gather_random (void (*add _gcry_post_syscall (); } while (ret == -1 && errno == EINTR); - if (ret == -1 && errno == ENOSYS) -- ; /* The syscall is not supported - fallback to pulling from fd. */ +- ; /* getentropy is not supported - fallback to pulling from fd. */ - else + if (1) - { /* The syscall is supported. Some sanity checks. */ + { /* getentropy is supported. Some sanity checks. */ if (ret == -1) - log_fatal ("unexpected error from getrandom: %s\n", + log_fatal ("unexpected error from getentropy: %s\n", diff -up libgcrypt-1.8.5/src/g10lib.h.getrandom libgcrypt-1.8.5/src/g10lib.h --- libgcrypt-1.8.5/src/g10lib.h.getrandom 2020-04-20 15:08:16.528538580 +0200 +++ libgcrypt-1.8.5/src/g10lib.h 2020-04-20 15:08:28.641309399 +0200 diff --git a/backport-libgcrypt-1.8.5-intel-cet.patch b/backport-libgcrypt-1.8.5-intel-cet.patch new file mode 100644 index 0000000..a19d2f1 --- /dev/null +++ b/backport-libgcrypt-1.8.5-intel-cet.patch @@ -0,0 +1,34 @@ +From b04c0a86b19856071c29d2a6285f3240c606ee7a Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Tue, 27 Apr 2021 09:08:41 -0700 +Subject: [PATCH] Always include in cipher assembly codes + +* cipher/poly1305-s390x.S: Always include . + +When Intel CET is enabled, we need to include in assembly codes +to mark Intel CET support even if it is empty. We should always include + in cipher assembly codes so that they will be marked for +Intel CET support when compiling for x86-64 and i686. + +Signed-off-by: H.J. Lu +--- + cipher/poly1305-s390x.S | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cipher/poly1305-s390x.S b/cipher/poly1305-s390x.S +index 844245f6..28bed560 100644 +--- a/cipher/poly1305-s390x.S ++++ b/cipher/poly1305-s390x.S +@@ -18,8 +18,8 @@ + * License along with this program; if not, see . + */ + +-#if defined (__s390x__) && __GNUC__ >= 4 && __ARCH__ >= 9 + #include ++#if defined (__s390x__) && __GNUC__ >= 4 && __ARCH__ >= 9 + #if defined(HAVE_GCC_INLINE_ASM_S390X) + + #include "asm-poly1305-s390x.h" +-- +GitLab + diff --git a/libgcrypt-1.8.5-use-fipscheck.patch b/backport-libgcrypt-1.8.5-use-fipscheck.patch similarity index 82% rename from libgcrypt-1.8.5-use-fipscheck.patch rename to backport-libgcrypt-1.8.5-use-fipscheck.patch index 298ec4c..46145d8 100644 --- a/libgcrypt-1.8.5-use-fipscheck.patch +++ b/backport-libgcrypt-1.8.5-use-fipscheck.patch @@ -75,15 +75,3 @@ diff -up libgcrypt-1.8.5/src/fips.c.use-fipscheck libgcrypt-1.8.5/src/fips.c p = strrchr (fname, '/'); if (p) p++; -diff -up libgcrypt-1.8.5/src/Makefile.am.use-fipscheck libgcrypt-1.8.5/src/Makefile.am ---- libgcrypt-1.8.5/src/Makefile.am.use-fipscheck 2020-04-23 10:18:36.237764702 +0200 -+++ libgcrypt-1.8.5/src/Makefile.am 2020-04-23 10:19:03.186247455 +0200 -@@ -125,7 +125,7 @@ libgcrypt_la_LIBADD = $(gcrypt_res) \ - ../cipher/libcipher.la \ - ../random/librandom.la \ - ../mpi/libmpi.la \ -- ../compat/libcompat.la $(GPG_ERROR_LIBS) -+ ../compat/libcompat.la $(GPG_ERROR_LIBS) -ldl - - - dumpsexp_SOURCES = dumpsexp.c diff --git a/libgcrypt-1.7.3-fips-reqs.patch b/libgcrypt-1.7.3-fips-reqs.patch deleted file mode 100644 index ef7f765..0000000 --- a/libgcrypt-1.7.3-fips-reqs.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff -up libgcrypt-1.7.3/src/visibility.c.fips-reqs libgcrypt-1.7.3/src/visibility.c ---- libgcrypt-1.7.3/src/visibility.c.fips-reqs 2016-03-23 12:59:34.000000000 +0100 -+++ libgcrypt-1.7.3/src/visibility.c 2016-11-22 16:29:36.992042480 +0100 -@@ -1288,6 +1288,8 @@ gcry_kdf_derive (const void *passphrase, - unsigned long iterations, - size_t keysize, void *keybuffer) - { -+ if (!fips_is_operational ()) -+ return gpg_error (fips_not_operational ()); - return gpg_error (_gcry_kdf_derive (passphrase, passphraselen, algo, hashalgo, - salt, saltlen, iterations, - keysize, keybuffer)); -@@ -1343,6 +1345,13 @@ void - gcry_mpi_randomize (gcry_mpi_t w, - unsigned int nbits, enum gcry_random_level level) - { -+ if (!fips_is_operational ()) -+ { -+ (void)fips_not_operational (); -+ fips_signal_fatal_error ("called in non-operational state"); -+ fips_noreturn (); -+ } -+ - _gcry_mpi_randomize (w, nbits, level); - } - -@@ -1368,6 +1377,8 @@ gcry_prime_generate (gcry_mpi_t *prime, - gcry_random_level_t random_level, - unsigned int flags) - { -+ if (!fips_is_operational ()) -+ return gpg_error (fips_not_operational ()); - return gpg_error (_gcry_prime_generate (prime, prime_bits, factor_bits, - factors, cb_func, cb_arg, - random_level, flags)); diff --git a/libgcrypt-1.8.3-cmac-selftest.patch b/libgcrypt-1.8.3-cmac-selftest.patch deleted file mode 100644 index d480092..0000000 --- a/libgcrypt-1.8.3-cmac-selftest.patch +++ /dev/null @@ -1,322 +0,0 @@ -diff -up libgcrypt-1.8.3/cipher/cipher-cmac.c.cmac-selftest libgcrypt-1.8.3/cipher/cipher-cmac.c ---- libgcrypt-1.8.3/cipher/cipher-cmac.c.cmac-selftest 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.3/cipher/cipher-cmac.c 2019-05-31 17:33:35.594407152 +0200 -@@ -251,3 +251,246 @@ _gcry_cipher_cmac_set_subkeys (gcry_ciph - - return GPG_ERR_NO_ERROR; - } -+ -+/* CMAC selftests. -+ * Copyright (C) 2008 Free Software Foundation, Inc. -+ * Copyright (C) 2019 Red Hat, Inc. -+ */ -+ -+ -+ -+/* Check one MAC with MAC ALGO using the regular MAC -+ * API. (DATA,DATALEN) is the data to be MACed, (KEY,KEYLEN) the key -+ * and (EXPECT,EXPECTLEN) the expected result. If TRUNC is set, the -+ * EXPECTLEN may be less than the digest length. Returns NULL on -+ * success or a string describing the failure. */ -+static const char * -+check_one (int algo, -+ const void *data, size_t datalen, -+ const void *key, size_t keylen, -+ const void *expect, size_t expectlen) -+{ -+ gcry_mac_hd_t hd; -+ unsigned char mac[512]; /* hardcoded to avoid allocation */ -+ size_t macoutlen = expectlen; -+ -+/* printf ("MAC algo %d\n", algo); */ -+ if (_gcry_mac_get_algo_maclen (algo) != expectlen || -+ expectlen > sizeof (mac)) -+ return "invalid tests data"; -+ if (_gcry_mac_open (&hd, algo, 0, NULL)) -+ return "gcry_mac_open failed"; -+ if (_gcry_mac_setkey (hd, key, keylen)) -+ { -+ _gcry_mac_close (hd); -+ return "gcry_md_setkey failed"; -+ } -+ if (_gcry_mac_write (hd, data, datalen)) -+ { -+ _gcry_mac_close (hd); -+ return "gcry_mac_write failed"; -+ } -+ if (_gcry_mac_read (hd, mac, &macoutlen)) -+ { -+ _gcry_mac_close (hd); -+ return "gcry_mac_read failed"; -+ } -+ _gcry_mac_close (hd); -+ if (macoutlen != expectlen || memcmp (mac, expect, expectlen)) -+ { -+/* int i; */ -+ -+/* fputs (" {", stdout); */ -+/* for (i=0; i < expectlen-1; i++) */ -+/* { */ -+/* if (i && !(i % 8)) */ -+/* fputs ("\n ", stdout); */ -+/* printf (" 0x%02x,", mac[i]); */ -+/* } */ -+/* printf (" 0x%02x } },\n", mac[i]); */ -+ -+ return "does not match"; -+ } -+ return NULL; -+} -+ -+ -+static gpg_err_code_t -+selftests_cmac_tdes (int extended, selftest_report_func_t report) -+{ -+ const char *what; -+ const char *errtxt; -+ -+ what = "Basic TDES"; -+ errtxt = check_one (GCRY_MAC_CMAC_3DES, -+ "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a" -+ "\xae\x2d\x8a\x57", 20, -+ "\x8a\xa8\x3b\xf8\xcb\xda\x10\x62\x0b\xc1\xbf\x19\xfb\xb6\xcd\x58" -+ "\xbc\x31\x3d\x4a\x37\x1c\xa8\xb5", 24, -+ "\x74\x3d\xdb\xe0\xce\x2d\xc2\xed", 8); -+ if (errtxt) -+ goto failed; -+ -+ if (extended) -+ { -+ what = "Extended TDES #1"; -+ errtxt = check_one (GCRY_MAC_CMAC_3DES, -+ "", 0, -+ "\x8a\xa8\x3b\xf8\xcb\xda\x10\x62\x0b\xc1\xbf\x19\xfb\xb6\xcd\x58" -+ "\xbc\x31\x3d\x4a\x37\x1c\xa8\xb5", 24, -+ "\xb7\xa6\x88\xe1\x22\xff\xaf\x95", 8); -+ if (errtxt) -+ goto failed; -+ -+ what = "Extended TDES #2"; -+ errtxt = check_one (GCRY_MAC_CMAC_3DES, -+ "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96", 8, -+ "\x8a\xa8\x3b\xf8\xcb\xda\x10\x62\x0b\xc1\xbf\x19\xfb\xb6\xcd\x58" -+ "\xbc\x31\x3d\x4a\x37\x1c\xa8\xb5", 24, -+ "\x8e\x8f\x29\x31\x36\x28\x37\x97", 8); -+ if (errtxt) -+ goto failed; -+ -+ what = "Extended TDES #3"; -+ errtxt = check_one (GCRY_MAC_CMAC_3DES, -+ "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a" -+ "\xae\x2d\x8a\x57\x1e\x03\xac\x9c\x9e\xb7\x6f\xac\x45\xaf\x8e\x51", 32, -+ "\x8a\xa8\x3b\xf8\xcb\xda\x10\x62\x0b\xc1\xbf\x19\xfb\xb6\xcd\x58" -+ "\xbc\x31\x3d\x4a\x37\x1c\xa8\xb5", 24, -+ "\x33\xe6\xb1\x09\x24\x00\xea\xe5", 8); -+ if (errtxt) -+ goto failed; -+ } -+ -+ return 0; /* Succeeded. */ -+ -+ failed: -+ if (report) -+ report ("cmac", GCRY_MAC_CMAC_3DES, what, errtxt); -+ return GPG_ERR_SELFTEST_FAILED; -+} -+ -+ -+ -+static gpg_err_code_t -+selftests_cmac_aes (int extended, selftest_report_func_t report) -+{ -+ const char *what; -+ const char *errtxt; -+ -+ what = "Basic AES128"; -+ errtxt = check_one (GCRY_MAC_CMAC_AES, -+ "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a" -+ "\xae\x2d\x8a\x57\x1e\x03\xac\x9c\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" -+ "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11", 40, -+ "\x2b\x7e\x15\x16\x28\xae\xd2\xa6\xab\xf7\x15\x88\x09\xcf\x4f\x3c", 16, -+ "\xdf\xa6\x67\x47\xde\x9a\xe6\x30\x30\xca\x32\x61\x14\x97\xc8\x27", 16); -+ if (errtxt) -+ goto failed; -+ -+ what = "Basic AES192"; -+ errtxt = check_one (GCRY_MAC_CMAC_AES, -+ "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a" -+ "\xae\x2d\x8a\x57\x1e\x03\xac\x9c\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" -+ "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11", 40, -+ "\x8e\x73\xb0\xf7\xda\x0e\x64\x52\xc8\x10\xf3\x2b\x80\x90\x79\xe5" -+ "\x62\xf8\xea\xd2\x52\x2c\x6b\x7b", 24, -+ "\x8a\x1d\xe5\xbe\x2e\xb3\x1a\xad\x08\x9a\x82\xe6\xee\x90\x8b\x0e", 16); -+ if (errtxt) -+ goto failed; -+ -+ what = "Basic AES256"; -+ errtxt = check_one (GCRY_MAC_CMAC_AES, -+ "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a" -+ "\xae\x2d\x8a\x57\x1e\x03\xac\x9c\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" -+ "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11", 40, -+ "\x60\x3d\xeb\x10\x15\xca\x71\xbe\x2b\x73\xae\xf0\x85\x7d\x77\x81" -+ "\x1f\x35\x2c\x07\x3b\x61\x08\xd7\x2d\x98\x10\xa3\x09\x14\xdf\xf4", 32, -+ "\xaa\xf3\xd8\xf1\xde\x56\x40\xc2\x32\xf5\xb1\x69\xb9\xc9\x11\xe6", 16); -+ if (errtxt) -+ goto failed; -+ if (extended) -+ { -+ what = "Extended AES #1"; -+ errtxt = check_one (GCRY_MAC_CMAC_AES, -+ "", 0, -+ "\x2b\x7e\x15\x16\x28\xae\xd2\xa6\xab\xf7\x15\x88\x09\xcf\x4f\x3c", 16, -+ "\xbb\x1d\x69\x29\xe9\x59\x37\x28\x7f\xa3\x7d\x12\x9b\x75\x67\x46", 16); -+ if (errtxt) -+ goto failed; -+ -+ what = "Extended AES #2"; -+ errtxt = check_one (GCRY_MAC_CMAC_AES, -+ "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a", 16, -+ "\x8e\x73\xb0\xf7\xda\x0e\x64\x52\xc8\x10\xf3\x2b\x80\x90\x79\xe5" -+ "\x62\xf8\xea\xd2\x52\x2c\x6b\x7b", 24, -+ "\x9e\x99\xa7\xbf\x31\xe7\x10\x90\x06\x62\xf6\x5e\x61\x7c\x51\x84", 16); -+ if (errtxt) -+ goto failed; -+ -+ what = "Extended AES #3"; -+ errtxt = check_one (GCRY_MAC_CMAC_AES, -+ "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a" -+ "\xae\x2d\x8a\x57\x1e\x03\xac\x9c\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" -+ "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11\xe5\xfb\xc1\x19\x1a\x0a\x52\xef" -+ "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17\xad\x2b\x41\x7b\xe6\x6c\x37\x10", 64, -+ "\x60\x3d\xeb\x10\x15\xca\x71\xbe\x2b\x73\xae\xf0\x85\x7d\x77\x81" -+ "\x1f\x35\x2c\x07\x3b\x61\x08\xd7\x2d\x98\x10\xa3\x09\x14\xdf\xf4", 32, -+ "\xe1\x99\x21\x90\x54\x9f\x6e\xd5\x69\x6a\x2c\x05\x6c\x31\x54\x10", 16 ); -+ if (errtxt) -+ goto failed; -+ } -+ -+ return 0; /* Succeeded. */ -+ -+ failed: -+ if (report) -+ report ("cmac", GCRY_MAC_CMAC_AES, what, errtxt); -+ return GPG_ERR_SELFTEST_FAILED; -+} -+ -+ -+/* Run a full self-test for ALGO and return 0 on success. */ -+static gpg_err_code_t -+run_cmac_selftests (int algo, int extended, selftest_report_func_t report) -+{ -+ gpg_err_code_t ec; -+ -+ switch (algo) -+ { -+ case GCRY_MAC_CMAC_3DES: -+ ec = selftests_cmac_tdes (extended, report); -+ break; -+ case GCRY_MAC_CMAC_AES: -+ ec = selftests_cmac_aes (extended, report); -+ break; -+ -+ default: -+ ec = GPG_ERR_MAC_ALGO; -+ break; -+ } -+ return ec; -+} -+ -+ -+ -+ -+/* Run the selftests for CMAC with CMAC algorithm ALGO with optional -+ reporting function REPORT. */ -+gpg_error_t -+_gcry_cmac_selftest (int algo, int extended, selftest_report_func_t report) -+{ -+ gcry_err_code_t ec = 0; -+ -+ if (!_gcry_mac_algo_info( algo, GCRYCTL_TEST_ALGO, NULL, NULL )) -+ { -+ ec = run_cmac_selftests (algo, extended, report); -+ } -+ else -+ { -+ ec = GPG_ERR_MAC_ALGO; -+ if (report) -+ report ("mac", algo, "module", "algorithm not available"); -+ } -+ return gpg_error (ec); -+} -diff -up libgcrypt-1.8.3/src/cipher-proto.h.cmac-selftest libgcrypt-1.8.3/src/cipher-proto.h ---- libgcrypt-1.8.3/src/cipher-proto.h.cmac-selftest 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.3/src/cipher-proto.h 2019-05-31 17:29:34.574588234 +0200 -@@ -256,6 +256,8 @@ gcry_error_t _gcry_pk_selftest (int algo - selftest_report_func_t report); - gcry_error_t _gcry_hmac_selftest (int algo, int extended, - selftest_report_func_t report); -+gcry_error_t _gcry_cmac_selftest (int algo, int extended, -+ selftest_report_func_t report); - - gcry_error_t _gcry_random_selftest (selftest_report_func_t report); - -diff -up libgcrypt-1.8.3/src/fips.c.cmac-selftest libgcrypt-1.8.3/src/fips.c ---- libgcrypt-1.8.3/src/fips.c.cmac-selftest 2018-11-01 15:40:36.051865535 +0100 -+++ libgcrypt-1.8.3/src/fips.c 2019-05-31 17:31:20.157756640 +0200 -@@ -521,29 +521,32 @@ run_digest_selftests (int extended) - - /* Run self-tests for all HMAC algorithms. Return 0 on success. */ - static int --run_hmac_selftests (int extended) -+run_mac_selftests (int extended) - { -- static int algos[] = -+ static int algos[][2] = - { -- GCRY_MD_SHA1, -- GCRY_MD_SHA224, -- GCRY_MD_SHA256, -- GCRY_MD_SHA384, -- GCRY_MD_SHA512, -- GCRY_MD_SHA3_224, -- GCRY_MD_SHA3_256, -- GCRY_MD_SHA3_384, -- GCRY_MD_SHA3_512, -- 0 -+ { GCRY_MD_SHA1, 0 }, -+ { GCRY_MD_SHA224, 0 }, -+ { GCRY_MD_SHA256, 0 }, -+ { GCRY_MD_SHA384, 0 }, -+ { GCRY_MD_SHA512, 0 }, -+ { GCRY_MD_SHA3_224, 0 }, -+ { GCRY_MD_SHA3_256, 0 }, -+ { GCRY_MD_SHA3_384, 0 }, -+ { GCRY_MD_SHA3_512, 0 }, -+ { GCRY_MAC_CMAC_3DES, 1 }, -+ { GCRY_MAC_CMAC_AES, 1 }, -+ { 0, 0 } - }; - int idx; - gpg_error_t err; - int anyerr = 0; - -- for (idx=0; algos[idx]; idx++) -+ for (idx=0; algos[idx][0]; idx++) - { -- err = _gcry_hmac_selftest (algos[idx], extended, reporter); -- reporter ("hmac", algos[idx], NULL, -+ err = algos[idx][1] ? _gcry_cmac_selftest (algos[idx][0], extended, reporter) : -+ _gcry_hmac_selftest (algos[idx][0], extended, reporter); -+ reporter (algos[idx][1] ? "cmac" : "hmac", algos[idx][0], NULL, - err? gpg_strerror (err):NULL); - if (err) - anyerr = 1; -@@ -747,7 +750,7 @@ _gcry_fips_run_selftests (int extended) - if (run_digest_selftests (extended)) - goto leave; - -- if (run_hmac_selftests (extended)) -+ if (run_mac_selftests (extended)) - goto leave; - - /* Run random tests before the pubkey tests because the latter diff --git a/libgcrypt-1.8.3-md-fips-enforce.patch b/libgcrypt-1.8.3-md-fips-enforce.patch deleted file mode 100644 index eed7fa5..0000000 --- a/libgcrypt-1.8.3-md-fips-enforce.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -up libgcrypt-1.8.3/cipher/md.c.fips-enforce libgcrypt-1.8.3/cipher/md.c ---- libgcrypt-1.8.3/cipher/md.c.fips-enforce 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.3/cipher/md.c 2020-04-17 15:07:31.364945130 +0200 -@@ -409,13 +409,10 @@ md_enable (gcry_md_hd_t hd, int algorith - } - - -- if (!err && algorithm == GCRY_MD_MD5 && fips_mode ()) -+ if (!err && !spec->flags.fips && fips_mode ()) - { -- _gcry_inactivate_fips_mode ("MD5 used"); - if (_gcry_enforced_fips_mode () ) - { -- /* We should never get to here because we do not register -- MD5 in enforced fips mode. But better throw an error. */ - err = GPG_ERR_DIGEST_ALGO; - } - } diff --git a/libgcrypt-1.8.5-aes-perf.patch b/libgcrypt-1.8.5-aes-perf.patch deleted file mode 100644 index 268ce70..0000000 --- a/libgcrypt-1.8.5-aes-perf.patch +++ /dev/null @@ -1,8156 +0,0 @@ -diff -up libgcrypt-1.8.5/cipher/arcfour.c.aes-perf libgcrypt-1.8.5/cipher/arcfour.c ---- libgcrypt-1.8.5/cipher/arcfour.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/arcfour.c 2020-04-22 18:29:41.662862382 +0200 -@@ -184,10 +184,12 @@ do_arcfour_setkey (void *context, const - } - - static gcry_err_code_t --arcfour_setkey ( void *context, const byte *key, unsigned int keylen ) -+arcfour_setkey ( void *context, const byte *key, unsigned int keylen, -+ gcry_cipher_hd_t hd ) - { - ARCFOUR_context *ctx = (ARCFOUR_context *) context; - gcry_err_code_t rc = do_arcfour_setkey (ctx, key, keylen ); -+ (void)hd; - return rc; - } - -@@ -207,11 +209,11 @@ selftest(void) - static const byte ciphertext_1[] = - { 0xF1, 0x38, 0x29, 0xC9, 0xDE }; - -- arcfour_setkey( &ctx, key_1, sizeof(key_1)); -+ arcfour_setkey( &ctx, key_1, sizeof(key_1), NULL); - encrypt_stream( &ctx, scratch, plaintext_1, sizeof(plaintext_1)); - if ( memcmp (scratch, ciphertext_1, sizeof (ciphertext_1))) - return "Arcfour encryption test 1 failed."; -- arcfour_setkey( &ctx, key_1, sizeof(key_1)); -+ arcfour_setkey( &ctx, key_1, sizeof(key_1), NULL); - encrypt_stream(&ctx, scratch, scratch, sizeof(plaintext_1)); /* decrypt */ - if ( memcmp (scratch, plaintext_1, sizeof (plaintext_1))) - return "Arcfour decryption test 1 failed."; -diff -up libgcrypt-1.8.5/cipher/blowfish.c.aes-perf libgcrypt-1.8.5/cipher/blowfish.c ---- libgcrypt-1.8.5/cipher/blowfish.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/blowfish.c 2020-04-22 18:29:41.663862363 +0200 -@@ -37,6 +37,7 @@ - #include "g10lib.h" - #include "cipher.h" - #include "bufhelp.h" -+#include "cipher-internal.h" - #include "cipher-selftest.h" - - #define BLOWFISH_BLOCKSIZE 8 -@@ -67,7 +68,8 @@ typedef struct { - u32 p[BLOWFISH_ROUNDS+2]; - } BLOWFISH_context; - --static gcry_err_code_t bf_setkey (void *c, const byte *key, unsigned keylen); -+static gcry_err_code_t bf_setkey (void *c, const byte *key, unsigned keylen, -+ gcry_cipher_hd_t hd); - static unsigned int encrypt_block (void *bc, byte *outbuf, const byte *inbuf); - static unsigned int decrypt_block (void *bc, byte *outbuf, const byte *inbuf); - -@@ -703,7 +705,7 @@ _gcry_blowfish_ctr_enc(void *context, un - /* Encrypt the counter. */ - do_encrypt_block(ctx, tmpbuf, ctr); - /* XOR the input with the encrypted counter and store in output. */ -- buf_xor(outbuf, tmpbuf, inbuf, BLOWFISH_BLOCKSIZE); -+ cipher_block_xor(outbuf, tmpbuf, inbuf, BLOWFISH_BLOCKSIZE); - outbuf += BLOWFISH_BLOCKSIZE; - inbuf += BLOWFISH_BLOCKSIZE; - /* Increment the counter. */ -@@ -771,7 +773,7 @@ _gcry_blowfish_cbc_dec(void *context, un - the intermediate result to SAVEBUF. */ - do_decrypt_block (ctx, savebuf, inbuf); - -- buf_xor_n_copy_2(outbuf, savebuf, iv, inbuf, BLOWFISH_BLOCKSIZE); -+ cipher_block_xor_n_copy_2(outbuf, savebuf, iv, inbuf, BLOWFISH_BLOCKSIZE); - inbuf += BLOWFISH_BLOCKSIZE; - outbuf += BLOWFISH_BLOCKSIZE; - } -@@ -828,7 +830,7 @@ _gcry_blowfish_cfb_dec(void *context, un - for ( ;nblocks; nblocks-- ) - { - do_encrypt_block(ctx, iv, iv); -- buf_xor_n_copy(outbuf, iv, inbuf, BLOWFISH_BLOCKSIZE); -+ cipher_block_xor_n_copy(outbuf, iv, inbuf, BLOWFISH_BLOCKSIZE); - outbuf += BLOWFISH_BLOCKSIZE; - inbuf += BLOWFISH_BLOCKSIZE; - } -@@ -897,7 +899,7 @@ selftest(void) - const char *r; - - bf_setkey( (void *) &c, -- (const unsigned char*)"abcdefghijklmnopqrstuvwxyz", 26 ); -+ (const unsigned char*)"abcdefghijklmnopqrstuvwxyz", 26, NULL ); - encrypt_block( (void *) &c, buffer, plain ); - if( memcmp( buffer, "\x32\x4E\xD0\xFE\xF4\x13\xA2\x03", 8 ) ) - return "Blowfish selftest failed (1)."; -@@ -905,7 +907,7 @@ selftest(void) - if( memcmp( buffer, plain, 8 ) ) - return "Blowfish selftest failed (2)."; - -- bf_setkey( (void *) &c, key3, 8 ); -+ bf_setkey( (void *) &c, key3, 8, NULL ); - encrypt_block( (void *) &c, buffer, plain3 ); - if( memcmp( buffer, cipher3, 8 ) ) - return "Blowfish selftest failed (3)."; -@@ -1095,10 +1097,12 @@ do_bf_setkey (BLOWFISH_context *c, const - - - static gcry_err_code_t --bf_setkey (void *context, const byte *key, unsigned keylen) -+bf_setkey (void *context, const byte *key, unsigned keylen, -+ gcry_cipher_hd_t hd) - { - BLOWFISH_context *c = (BLOWFISH_context *) context; - gcry_err_code_t rc = do_bf_setkey (c, key, keylen); -+ (void)hd; - return rc; - } - -diff -up libgcrypt-1.8.5/cipher/bufhelp.h.aes-perf libgcrypt-1.8.5/cipher/bufhelp.h ---- libgcrypt-1.8.5/cipher/bufhelp.h.aes-perf 2018-04-17 17:35:28.000000000 +0200 -+++ libgcrypt-1.8.5/cipher/bufhelp.h 2020-04-22 18:29:41.663862363 +0200 -@@ -450,7 +450,21 @@ static inline void buf_put_le64(void *_b - out->a = le_bswap64(val); - } - -- - #endif /*BUFHELP_UNALIGNED_ACCESS*/ - -+ -+/* Host-endian get/put macros */ -+#ifdef WORDS_BIGENDIAN -+# define buf_get_he32 buf_get_be32 -+# define buf_put_he32 buf_put_be32 -+# define buf_get_he64 buf_get_be64 -+# define buf_put_he64 buf_put_be64 -+#else -+# define buf_get_he32 buf_get_le32 -+# define buf_put_he32 buf_put_le32 -+# define buf_get_he64 buf_get_le64 -+# define buf_put_he64 buf_put_le64 -+#endif -+ -+ - #endif /*GCRYPT_BUFHELP_H*/ -diff -up libgcrypt-1.8.5/cipher/camellia-glue.c.aes-perf libgcrypt-1.8.5/cipher/camellia-glue.c ---- libgcrypt-1.8.5/cipher/camellia-glue.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/camellia-glue.c 2020-04-22 18:29:41.664862344 +0200 -@@ -204,7 +204,8 @@ extern void _gcry_camellia_aesni_avx2_oc - static const char *selftest(void); - - static gcry_err_code_t --camellia_setkey(void *c, const byte *key, unsigned keylen) -+camellia_setkey(void *c, const byte *key, unsigned keylen, -+ gcry_cipher_hd_t hd) - { - CAMELLIA_context *ctx=c; - static int initialized=0; -@@ -213,6 +214,8 @@ camellia_setkey(void *c, const byte *key - unsigned int hwf = _gcry_get_hw_features (); - #endif - -+ (void)hd; -+ - if(keylen!=16 && keylen!=24 && keylen!=32) - return GPG_ERR_INV_KEYLEN; - -@@ -427,7 +430,7 @@ _gcry_camellia_ctr_enc(void *context, un - /* Encrypt the counter. */ - Camellia_EncryptBlock(ctx->keybitlength, ctr, ctx->keytable, tmpbuf); - /* XOR the input with the encrypted counter and store in output. */ -- buf_xor(outbuf, tmpbuf, inbuf, CAMELLIA_BLOCK_SIZE); -+ cipher_block_xor(outbuf, tmpbuf, inbuf, CAMELLIA_BLOCK_SIZE); - outbuf += CAMELLIA_BLOCK_SIZE; - inbuf += CAMELLIA_BLOCK_SIZE; - /* Increment the counter. */ -@@ -520,7 +523,8 @@ _gcry_camellia_cbc_dec(void *context, un - the intermediate result to SAVEBUF. */ - Camellia_DecryptBlock(ctx->keybitlength, inbuf, ctx->keytable, savebuf); - -- buf_xor_n_copy_2(outbuf, savebuf, iv, inbuf, CAMELLIA_BLOCK_SIZE); -+ cipher_block_xor_n_copy_2(outbuf, savebuf, iv, inbuf, -+ CAMELLIA_BLOCK_SIZE); - inbuf += CAMELLIA_BLOCK_SIZE; - outbuf += CAMELLIA_BLOCK_SIZE; - } -@@ -602,7 +606,7 @@ _gcry_camellia_cfb_dec(void *context, un - for ( ;nblocks; nblocks-- ) - { - Camellia_EncryptBlock(ctx->keybitlength, iv, ctx->keytable, iv); -- buf_xor_n_copy(outbuf, iv, inbuf, CAMELLIA_BLOCK_SIZE); -+ cipher_block_xor_n_copy(outbuf, iv, inbuf, CAMELLIA_BLOCK_SIZE); - outbuf += CAMELLIA_BLOCK_SIZE; - inbuf += CAMELLIA_BLOCK_SIZE; - } -@@ -991,7 +995,7 @@ selftest(void) - 0x20,0xef,0x7c,0x91,0x9e,0x3a,0x75,0x09 - }; - -- camellia_setkey(&ctx,key_128,sizeof(key_128)); -+ camellia_setkey(&ctx,key_128,sizeof(key_128),NULL); - camellia_encrypt(&ctx,scratch,plaintext); - if(memcmp(scratch,ciphertext_128,sizeof(ciphertext_128))!=0) - return "CAMELLIA-128 test encryption failed."; -@@ -999,7 +1003,7 @@ selftest(void) - if(memcmp(scratch,plaintext,sizeof(plaintext))!=0) - return "CAMELLIA-128 test decryption failed."; - -- camellia_setkey(&ctx,key_192,sizeof(key_192)); -+ camellia_setkey(&ctx,key_192,sizeof(key_192),NULL); - camellia_encrypt(&ctx,scratch,plaintext); - if(memcmp(scratch,ciphertext_192,sizeof(ciphertext_192))!=0) - return "CAMELLIA-192 test encryption failed."; -@@ -1007,7 +1011,7 @@ selftest(void) - if(memcmp(scratch,plaintext,sizeof(plaintext))!=0) - return "CAMELLIA-192 test decryption failed."; - -- camellia_setkey(&ctx,key_256,sizeof(key_256)); -+ camellia_setkey(&ctx,key_256,sizeof(key_256),NULL); - camellia_encrypt(&ctx,scratch,plaintext); - if(memcmp(scratch,ciphertext_256,sizeof(ciphertext_256))!=0) - return "CAMELLIA-256 test encryption failed."; -diff -up libgcrypt-1.8.5/cipher/cast5.c.aes-perf libgcrypt-1.8.5/cipher/cast5.c ---- libgcrypt-1.8.5/cipher/cast5.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/cast5.c 2020-04-22 18:29:41.665862325 +0200 -@@ -44,6 +44,7 @@ - #include "cipher.h" - #include "bithelp.h" - #include "bufhelp.h" -+#include "cipher-internal.h" - #include "cipher-selftest.h" - - /* USE_AMD64_ASM indicates whether to use AMD64 assembly code. */ -@@ -72,7 +73,8 @@ typedef struct { - #endif - } CAST5_context; - --static gcry_err_code_t cast_setkey (void *c, const byte *key, unsigned keylen); -+static gcry_err_code_t cast_setkey (void *c, const byte *key, unsigned keylen, -+ gcry_cipher_hd_t hd); - static unsigned int encrypt_block (void *c, byte *outbuf, const byte *inbuf); - static unsigned int decrypt_block (void *c, byte *outbuf, const byte *inbuf); - -@@ -671,7 +673,7 @@ _gcry_cast5_ctr_enc(void *context, unsig - /* Encrypt the counter. */ - do_encrypt_block(ctx, tmpbuf, ctr); - /* XOR the input with the encrypted counter and store in output. */ -- buf_xor(outbuf, tmpbuf, inbuf, CAST5_BLOCKSIZE); -+ cipher_block_xor(outbuf, tmpbuf, inbuf, CAST5_BLOCKSIZE); - outbuf += CAST5_BLOCKSIZE; - inbuf += CAST5_BLOCKSIZE; - /* Increment the counter. */ -@@ -739,7 +741,7 @@ _gcry_cast5_cbc_dec(void *context, unsig - the intermediate result to SAVEBUF. */ - do_decrypt_block (ctx, savebuf, inbuf); - -- buf_xor_n_copy_2(outbuf, savebuf, iv, inbuf, CAST5_BLOCKSIZE); -+ cipher_block_xor_n_copy_2(outbuf, savebuf, iv, inbuf, CAST5_BLOCKSIZE); - inbuf += CAST5_BLOCKSIZE; - outbuf += CAST5_BLOCKSIZE; - } -@@ -795,7 +797,7 @@ _gcry_cast5_cfb_dec(void *context, unsig - for ( ;nblocks; nblocks-- ) - { - do_encrypt_block(ctx, iv, iv); -- buf_xor_n_copy(outbuf, iv, inbuf, CAST5_BLOCKSIZE); -+ cipher_block_xor_n_copy(outbuf, iv, inbuf, CAST5_BLOCKSIZE); - outbuf += CAST5_BLOCKSIZE; - inbuf += CAST5_BLOCKSIZE; - } -@@ -863,7 +865,7 @@ selftest(void) - byte buffer[8]; - const char *r; - -- cast_setkey( &c, key, 16 ); -+ cast_setkey( &c, key, 16, NULL ); - encrypt_block( &c, buffer, plain ); - if( memcmp( buffer, cipher, 8 ) ) - return "1"; -@@ -884,10 +886,10 @@ selftest(void) - 0x80,0xAC,0x05,0xB8,0xE8,0x3D,0x69,0x6E }; - - for(i=0; i < 1000000; i++ ) { -- cast_setkey( &c, b0, 16 ); -+ cast_setkey( &c, b0, 16, NULL ); - encrypt_block( &c, a0, a0 ); - encrypt_block( &c, a0+8, a0+8 ); -- cast_setkey( &c, a0, 16 ); -+ cast_setkey( &c, a0, 16, NULL ); - encrypt_block( &c, b0, b0 ); - encrypt_block( &c, b0+8, b0+8 ); - } -@@ -1029,10 +1031,12 @@ do_cast_setkey( CAST5_context *c, const - } - - static gcry_err_code_t --cast_setkey (void *context, const byte *key, unsigned keylen ) -+cast_setkey (void *context, const byte *key, unsigned keylen, -+ gcry_cipher_hd_t hd ) - { - CAST5_context *c = (CAST5_context *) context; - gcry_err_code_t rc = do_cast_setkey (c, key, keylen); -+ (void)hd; - return rc; - } - -diff -up libgcrypt-1.8.5/cipher/chacha20.c.aes-perf libgcrypt-1.8.5/cipher/chacha20.c ---- libgcrypt-1.8.5/cipher/chacha20.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/chacha20.c 2020-04-22 18:29:41.665862325 +0200 -@@ -419,10 +419,12 @@ chacha20_do_setkey (CHACHA20_context_t * - - - static gcry_err_code_t --chacha20_setkey (void *context, const byte * key, unsigned int keylen) -+chacha20_setkey (void *context, const byte *key, unsigned int keylen, -+ gcry_cipher_hd_t hd) - { - CHACHA20_context_t *ctx = (CHACHA20_context_t *) context; - gcry_err_code_t rc = chacha20_do_setkey (ctx, key, keylen); -+ (void)hd; - _gcry_burn_stack (4 + sizeof (void *) + 4 * sizeof (void *)); - return rc; - } -@@ -569,7 +571,7 @@ selftest (void) - /* 16-byte alignment required for amd64 implementation. */ - ctx = (CHACHA20_context_t *)((uintptr_t)(ctxbuf + 15) & ~(uintptr_t)15); - -- chacha20_setkey (ctx, key_1, sizeof key_1); -+ chacha20_setkey (ctx, key_1, sizeof key_1, NULL); - chacha20_setiv (ctx, nonce_1, sizeof nonce_1); - scratch[sizeof (scratch) - 1] = 0; - chacha20_encrypt_stream (ctx, scratch, plaintext_1, sizeof plaintext_1); -@@ -577,7 +579,7 @@ selftest (void) - return "ChaCha20 encryption test 1 failed."; - if (scratch[sizeof (scratch) - 1]) - return "ChaCha20 wrote too much."; -- chacha20_setkey (ctx, key_1, sizeof (key_1)); -+ chacha20_setkey (ctx, key_1, sizeof (key_1), NULL); - chacha20_setiv (ctx, nonce_1, sizeof nonce_1); - chacha20_encrypt_stream (ctx, scratch, scratch, sizeof plaintext_1); - if (memcmp (scratch, plaintext_1, sizeof plaintext_1)) -@@ -585,12 +587,12 @@ selftest (void) - - for (i = 0; i < sizeof buf; i++) - buf[i] = i; -- chacha20_setkey (ctx, key_1, sizeof key_1); -+ chacha20_setkey (ctx, key_1, sizeof key_1, NULL); - chacha20_setiv (ctx, nonce_1, sizeof nonce_1); - /*encrypt */ - chacha20_encrypt_stream (ctx, buf, buf, sizeof buf); - /*decrypt */ -- chacha20_setkey (ctx, key_1, sizeof key_1); -+ chacha20_setkey (ctx, key_1, sizeof key_1, NULL); - chacha20_setiv (ctx, nonce_1, sizeof nonce_1); - chacha20_encrypt_stream (ctx, buf, buf, 1); - chacha20_encrypt_stream (ctx, buf + 1, buf + 1, (sizeof buf) - 1 - 1); -@@ -600,13 +602,13 @@ selftest (void) - if (buf[i] != (byte) i) - return "ChaCha20 encryption test 2 failed."; - -- chacha20_setkey (ctx, key_1, sizeof key_1); -+ chacha20_setkey (ctx, key_1, sizeof key_1, NULL); - chacha20_setiv (ctx, nonce_1, sizeof nonce_1); - /* encrypt */ - for (i = 0; i < sizeof buf; i++) - chacha20_encrypt_stream (ctx, &buf[i], &buf[i], 1); - /* decrypt */ -- chacha20_setkey (ctx, key_1, sizeof key_1); -+ chacha20_setkey (ctx, key_1, sizeof key_1, NULL); - chacha20_setiv (ctx, nonce_1, sizeof nonce_1); - chacha20_encrypt_stream (ctx, buf, buf, sizeof buf); - for (i = 0; i < sizeof buf; i++) -diff -up libgcrypt-1.8.5/cipher/cipher-aeswrap.c.aes-perf libgcrypt-1.8.5/cipher/cipher-aeswrap.c ---- libgcrypt-1.8.5/cipher/cipher-aeswrap.c.aes-perf 2018-04-17 17:49:00.000000000 +0200 -+++ libgcrypt-1.8.5/cipher/cipher-aeswrap.c 2020-04-22 18:29:41.665862325 +0200 -@@ -99,7 +99,7 @@ _gcry_cipher_aeswrap_encrypt (gcry_ciphe - break; - } - /* A := MSB_64(B) ^ t */ -- buf_xor(a, b, t, 8); -+ cipher_block_xor(a, b, t, 8); - /* R[i] := LSB_64(B) */ - memcpy (r+i*8, b+8, 8); - } -@@ -170,7 +170,7 @@ _gcry_cipher_aeswrap_decrypt (gcry_ciphe - for (i = n; i >= 1; i--) - { - /* B := AES_k^1( (A ^ t)| R[i] ) */ -- buf_xor(b, a, t, 8); -+ cipher_block_xor(b, a, t, 8); - memcpy (b+8, r+(i-1)*8, 8); - nburn = c->spec->decrypt (&c->context.c, b, b); - burn = nburn > burn ? nburn : burn; -diff -up libgcrypt-1.8.5/cipher/cipher.c.aes-perf libgcrypt-1.8.5/cipher/cipher.c ---- libgcrypt-1.8.5/cipher/cipher.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/cipher.c 2020-04-22 18:29:41.666862306 +0200 -@@ -92,6 +92,8 @@ static gcry_cipher_spec_t *cipher_list[] - - - -+static void _gcry_cipher_setup_mode_ops(gcry_cipher_hd_t c, int mode); -+ - - static int - map_algo (int algo) -@@ -532,6 +534,7 @@ _gcry_cipher_open_internal (gcry_cipher_ - h->bulk.ctr_enc = _gcry_aes_ctr_enc; - h->bulk.ocb_crypt = _gcry_aes_ocb_crypt; - h->bulk.ocb_auth = _gcry_aes_ocb_auth; -+ h->bulk.xts_crypt = _gcry_aes_xts_crypt; - break; - #endif /*USE_AES*/ - #ifdef USE_BLOWFISH -@@ -592,6 +595,9 @@ _gcry_cipher_open_internal (gcry_cipher_ - break; - } - -+ /* Setup mode routines. */ -+ _gcry_cipher_setup_mode_ops(h, mode); -+ - /* Setup defaults depending on the mode. */ - switch (mode) - { -@@ -609,8 +615,7 @@ _gcry_cipher_open_internal (gcry_cipher_ - default: - break; - } -- -- } -+ } - } - - /* Done. */ -@@ -675,7 +680,7 @@ cipher_setkey (gcry_cipher_hd_t c, byte - } - } - -- rc = c->spec->setkey (&c->context.c, key, keylen); -+ rc = c->spec->setkey (&c->context.c, key, keylen, c); - if (!rc) - { - /* Duplicate initial context. */ -@@ -701,7 +706,7 @@ cipher_setkey (gcry_cipher_hd_t c, byte - case GCRY_CIPHER_MODE_XTS: - /* Setup tweak cipher with second part of XTS key. */ - rc = c->spec->setkey (c->u_mode.xts.tweak_context, key + keylen, -- keylen); -+ keylen, c); - if (!rc) - { - /* Duplicate initial tweak context. */ -@@ -872,85 +877,78 @@ do_ecb_decrypt (gcry_cipher_hd_t c, - } - - --/**************** -- * Encrypt INBUF to OUTBUF with the mode selected at open. -- * inbuf and outbuf may overlap or be the same. -- * Depending on the mode some constraints apply to INBUFLEN. -- */ - static gcry_err_code_t --cipher_encrypt (gcry_cipher_hd_t c, byte *outbuf, size_t outbuflen, -- const byte *inbuf, size_t inbuflen) -+do_stream_encrypt (gcry_cipher_hd_t c, -+ unsigned char *outbuf, size_t outbuflen, -+ const unsigned char *inbuf, size_t inbuflen) -+{ -+ (void)outbuflen; -+ c->spec->stencrypt (&c->context.c, outbuf, (void *)inbuf, inbuflen); -+ return 0; -+} -+ -+static gcry_err_code_t -+do_stream_decrypt (gcry_cipher_hd_t c, -+ unsigned char *outbuf, size_t outbuflen, -+ const unsigned char *inbuf, size_t inbuflen) -+{ -+ (void)outbuflen; -+ c->spec->stdecrypt (&c->context.c, outbuf, (void *)inbuf, inbuflen); -+ return 0; -+} -+ -+ -+static gcry_err_code_t -+do_encrypt_none_unknown (gcry_cipher_hd_t c, byte *outbuf, size_t outbuflen, -+ const byte *inbuf, size_t inbuflen) - { - gcry_err_code_t rc; - -- if (c->mode != GCRY_CIPHER_MODE_NONE && !c->marks.key) -- { -- log_error ("cipher_encrypt: key not set\n"); -- return GPG_ERR_MISSING_KEY; -- } -+ (void)outbuflen; - - switch (c->mode) - { -- case GCRY_CIPHER_MODE_ECB: -- rc = do_ecb_encrypt (c, outbuf, outbuflen, inbuf, inbuflen); -- break; -- -- case GCRY_CIPHER_MODE_CBC: -- rc = _gcry_cipher_cbc_encrypt (c, outbuf, outbuflen, inbuf, inbuflen); -- break; -- -- case GCRY_CIPHER_MODE_CFB: -- rc = _gcry_cipher_cfb_encrypt (c, outbuf, outbuflen, inbuf, inbuflen); -+ case GCRY_CIPHER_MODE_CMAC: -+ rc = GPG_ERR_INV_CIPHER_MODE; - break; - -- case GCRY_CIPHER_MODE_CFB8: -- rc = _gcry_cipher_cfb8_encrypt (c, outbuf, outbuflen, inbuf, inbuflen); -+ case GCRY_CIPHER_MODE_NONE: -+ if (fips_mode () || !_gcry_get_debug_flag (0)) -+ { -+ fips_signal_error ("cipher mode NONE used"); -+ rc = GPG_ERR_INV_CIPHER_MODE; -+ } -+ else -+ { -+ if (inbuf != outbuf) -+ memmove (outbuf, inbuf, inbuflen); -+ rc = 0; -+ } - break; - -- case GCRY_CIPHER_MODE_OFB: -- rc = _gcry_cipher_ofb_encrypt (c, outbuf, outbuflen, inbuf, inbuflen); -+ default: -+ log_fatal ("cipher_encrypt: invalid mode %d\n", c->mode ); -+ rc = GPG_ERR_INV_CIPHER_MODE; - break; -+ } - -- case GCRY_CIPHER_MODE_CTR: -- rc = _gcry_cipher_ctr_encrypt (c, outbuf, outbuflen, inbuf, inbuflen); -- break; -+ return rc; -+} - -- case GCRY_CIPHER_MODE_AESWRAP: -- rc = _gcry_cipher_aeswrap_encrypt (c, outbuf, outbuflen, -- inbuf, inbuflen); -- break; -+static gcry_err_code_t -+do_decrypt_none_unknown (gcry_cipher_hd_t c, byte *outbuf, size_t outbuflen, -+ const byte *inbuf, size_t inbuflen) -+{ -+ gcry_err_code_t rc; - -- case GCRY_CIPHER_MODE_CCM: -- rc = _gcry_cipher_ccm_encrypt (c, outbuf, outbuflen, inbuf, inbuflen); -- break; -+ (void)outbuflen; - -+ switch (c->mode) -+ { - case GCRY_CIPHER_MODE_CMAC: - rc = GPG_ERR_INV_CIPHER_MODE; - break; - -- case GCRY_CIPHER_MODE_GCM: -- rc = _gcry_cipher_gcm_encrypt (c, outbuf, outbuflen, inbuf, inbuflen); -- break; -- -- case GCRY_CIPHER_MODE_POLY1305: -- rc = _gcry_cipher_poly1305_encrypt (c, outbuf, outbuflen, -- inbuf, inbuflen); -- break; -- -- case GCRY_CIPHER_MODE_OCB: -- rc = _gcry_cipher_ocb_encrypt (c, outbuf, outbuflen, inbuf, inbuflen); -- break; -- -- case GCRY_CIPHER_MODE_XTS: -- rc = _gcry_cipher_xts_crypt (c, outbuf, outbuflen, inbuf, inbuflen, 1); -- break; -- -- case GCRY_CIPHER_MODE_STREAM: -- c->spec->stencrypt (&c->context.c, -- outbuf, (byte*)/*arggg*/inbuf, inbuflen); -- rc = 0; -- break; -- - case GCRY_CIPHER_MODE_NONE: - if (fips_mode () || !_gcry_get_debug_flag (0)) - { -@@ -966,7 +964,7 @@ cipher_encrypt (gcry_cipher_hd_t c, byte - break; - - default: -- log_fatal ("cipher_encrypt: invalid mode %d\n", c->mode ); -+ log_fatal ("cipher_decrypt: invalid mode %d\n", c->mode ); - rc = GPG_ERR_INV_CIPHER_MODE; - break; - } -@@ -991,7 +989,13 @@ _gcry_cipher_encrypt (gcry_cipher_hd_t h - inlen = outsize; - } - -- rc = cipher_encrypt (h, out, outsize, in, inlen); -+ if (h->mode != GCRY_CIPHER_MODE_NONE && !h->marks.key) -+ { -+ log_error ("cipher_decrypt: key not set\n"); -+ return GPG_ERR_MISSING_KEY; -+ } -+ -+ rc = h->mode_ops.encrypt (h, out, outsize, in, inlen); - - /* Failsafe: Make sure that the plaintext will never make it into - OUT if the encryption returned an error. */ -@@ -1002,110 +1006,10 @@ _gcry_cipher_encrypt (gcry_cipher_hd_t h - } - - -- - /**************** -- * Decrypt INBUF to OUTBUF with the mode selected at open. -- * inbuf and outbuf may overlap or be the same. -- * Depending on the mode some some constraints apply to INBUFLEN. -+ * Decrypt IN and write it to OUT. If IN is NULL, in-place encryption has -+ * been requested. - */ --static gcry_err_code_t --cipher_decrypt (gcry_cipher_hd_t c, byte *outbuf, size_t outbuflen, -- const byte *inbuf, size_t inbuflen) --{ -- gcry_err_code_t rc; -- -- if (c->mode != GCRY_CIPHER_MODE_NONE && !c->marks.key) -- { -- log_error ("cipher_decrypt: key not set\n"); -- return GPG_ERR_MISSING_KEY; -- } -- -- switch (c->mode) -- { -- case GCRY_CIPHER_MODE_ECB: -- rc = do_ecb_decrypt (c, outbuf, outbuflen, inbuf, inbuflen); -- break; -- -- case GCRY_CIPHER_MODE_CBC: -- rc = _gcry_cipher_cbc_decrypt (c, outbuf, outbuflen, inbuf, inbuflen); -- break; -- -- case GCRY_CIPHER_MODE_CFB: -- rc = _gcry_cipher_cfb_decrypt (c, outbuf, outbuflen, inbuf, inbuflen); -- break; -- -- case GCRY_CIPHER_MODE_CFB8: -- rc = _gcry_cipher_cfb8_decrypt (c, outbuf, outbuflen, inbuf, inbuflen); -- break; -- -- case GCRY_CIPHER_MODE_OFB: -- rc = _gcry_cipher_ofb_encrypt (c, outbuf, outbuflen, inbuf, inbuflen); -- break; -- -- case GCRY_CIPHER_MODE_CTR: -- rc = _gcry_cipher_ctr_encrypt (c, outbuf, outbuflen, inbuf, inbuflen); -- break; -- -- case GCRY_CIPHER_MODE_AESWRAP: -- rc = _gcry_cipher_aeswrap_decrypt (c, outbuf, outbuflen, -- inbuf, inbuflen); -- break; -- -- case GCRY_CIPHER_MODE_CCM: -- rc = _gcry_cipher_ccm_decrypt (c, outbuf, outbuflen, inbuf, inbuflen); -- break; -- -- case GCRY_CIPHER_MODE_CMAC: -- rc = GPG_ERR_INV_CIPHER_MODE; -- break; -- -- case GCRY_CIPHER_MODE_GCM: -- rc = _gcry_cipher_gcm_decrypt (c, outbuf, outbuflen, inbuf, inbuflen); -- break; -- -- case GCRY_CIPHER_MODE_POLY1305: -- rc = _gcry_cipher_poly1305_decrypt (c, outbuf, outbuflen, -- inbuf, inbuflen); -- break; -- -- case GCRY_CIPHER_MODE_OCB: -- rc = _gcry_cipher_ocb_decrypt (c, outbuf, outbuflen, inbuf, inbuflen); -- break; -- -- case GCRY_CIPHER_MODE_XTS: -- rc = _gcry_cipher_xts_crypt (c, outbuf, outbuflen, inbuf, inbuflen, 0); -- break; -- -- case GCRY_CIPHER_MODE_STREAM: -- c->spec->stdecrypt (&c->context.c, -- outbuf, (byte*)/*arggg*/inbuf, inbuflen); -- rc = 0; -- break; -- -- case GCRY_CIPHER_MODE_NONE: -- if (fips_mode () || !_gcry_get_debug_flag (0)) -- { -- fips_signal_error ("cipher mode NONE used"); -- rc = GPG_ERR_INV_CIPHER_MODE; -- } -- else -- { -- if (inbuf != outbuf) -- memmove (outbuf, inbuf, inbuflen); -- rc = 0; -- } -- break; -- -- default: -- log_fatal ("cipher_decrypt: invalid mode %d\n", c->mode ); -- rc = GPG_ERR_INV_CIPHER_MODE; -- break; -- } -- -- return rc; --} -- -- - gcry_err_code_t - _gcry_cipher_decrypt (gcry_cipher_hd_t h, void *out, size_t outsize, - const void *in, size_t inlen) -@@ -1116,9 +1020,14 @@ _gcry_cipher_decrypt (gcry_cipher_hd_t h - inlen = outsize; - } - -- return cipher_decrypt (h, out, outsize, in, inlen); --} -+ if (h->mode != GCRY_CIPHER_MODE_NONE && !h->marks.key) -+ { -+ log_error ("cipher_decrypt: key not set\n"); -+ return GPG_ERR_MISSING_KEY; -+ } - -+ return h->mode_ops.decrypt (h, out, outsize, in, inlen); -+} - - - /**************** -@@ -1149,33 +1058,10 @@ _gcry_cipher_setkey (gcry_cipher_hd_t hd - gcry_err_code_t - _gcry_cipher_setiv (gcry_cipher_hd_t hd, const void *iv, size_t ivlen) - { -- gcry_err_code_t rc = 0; -- -- switch (hd->mode) -- { -- case GCRY_CIPHER_MODE_CCM: -- rc = _gcry_cipher_ccm_set_nonce (hd, iv, ivlen); -- break; -- -- case GCRY_CIPHER_MODE_GCM: -- rc = _gcry_cipher_gcm_setiv (hd, iv, ivlen); -- break; -- -- case GCRY_CIPHER_MODE_POLY1305: -- rc = _gcry_cipher_poly1305_setiv (hd, iv, ivlen); -- break; -- -- case GCRY_CIPHER_MODE_OCB: -- rc = _gcry_cipher_ocb_set_nonce (hd, iv, ivlen); -- break; -- -- default: -- rc = cipher_setiv (hd, iv, ivlen); -- break; -- } -- return rc; -+ return hd->mode_ops.setiv (hd, iv, ivlen); - } - -+ - /* Set counter for CTR mode. (CTR,CTRLEN) must denote a buffer of - block size length, or (NULL,0) to set the CTR to the all-zero - block. */ -@@ -1209,38 +1095,40 @@ _gcry_cipher_getctr (gcry_cipher_hd_t hd - return 0; - } - -+ - gcry_err_code_t - _gcry_cipher_authenticate (gcry_cipher_hd_t hd, const void *abuf, - size_t abuflen) - { - gcry_err_code_t rc; - -- switch (hd->mode) -+ if (hd->mode_ops.authenticate) - { -- case GCRY_CIPHER_MODE_CCM: -- rc = _gcry_cipher_ccm_authenticate (hd, abuf, abuflen); -- break; -- -- case GCRY_CIPHER_MODE_CMAC: -- rc = _gcry_cipher_cmac_authenticate (hd, abuf, abuflen); -- break; -+ rc = hd->mode_ops.authenticate (hd, abuf, abuflen); -+ } -+ else -+ { -+ log_error ("gcry_cipher_authenticate: invalid mode %d\n", hd->mode); -+ rc = GPG_ERR_INV_CIPHER_MODE; -+ } - -- case GCRY_CIPHER_MODE_GCM: -- rc = _gcry_cipher_gcm_authenticate (hd, abuf, abuflen); -- break; -+ return rc; -+} - -- case GCRY_CIPHER_MODE_POLY1305: -- rc = _gcry_cipher_poly1305_authenticate (hd, abuf, abuflen); -- break; - -- case GCRY_CIPHER_MODE_OCB: -- rc = _gcry_cipher_ocb_authenticate (hd, abuf, abuflen); -- break; -+gcry_err_code_t -+_gcry_cipher_gettag (gcry_cipher_hd_t hd, void *outtag, size_t taglen) -+{ -+ gcry_err_code_t rc; - -- default: -- log_error ("gcry_cipher_authenticate: invalid mode %d\n", hd->mode); -+ if (hd->mode_ops.get_tag) -+ { -+ rc = hd->mode_ops.get_tag (hd, outtag, taglen); -+ } -+ else -+ { -+ log_error ("gcry_cipher_gettag: invalid mode %d\n", hd->mode); - rc = GPG_ERR_INV_CIPHER_MODE; -- break; - } - - return rc; -@@ -1248,76 +1136,166 @@ _gcry_cipher_authenticate (gcry_cipher_h - - - gcry_err_code_t --_gcry_cipher_gettag (gcry_cipher_hd_t hd, void *outtag, size_t taglen) -+_gcry_cipher_checktag (gcry_cipher_hd_t hd, const void *intag, size_t taglen) - { - gcry_err_code_t rc; - -- switch (hd->mode) -+ if (hd->mode_ops.check_tag) - { -- case GCRY_CIPHER_MODE_CCM: -- rc = _gcry_cipher_ccm_get_tag (hd, outtag, taglen); -+ rc = hd->mode_ops.check_tag (hd, intag, taglen); -+ } -+ else -+ { -+ log_error ("gcry_cipher_checktag: invalid mode %d\n", hd->mode); -+ rc = GPG_ERR_INV_CIPHER_MODE; -+ } -+ -+ return rc; -+} -+ -+ -+ -+static void -+_gcry_cipher_setup_mode_ops(gcry_cipher_hd_t c, int mode) -+{ -+ /* Setup encryption and decryption routines. */ -+ switch (mode) -+ { -+ case GCRY_CIPHER_MODE_STREAM: -+ c->mode_ops.encrypt = do_stream_encrypt; -+ c->mode_ops.decrypt = do_stream_decrypt; - break; - -- case GCRY_CIPHER_MODE_CMAC: -- rc = _gcry_cipher_cmac_get_tag (hd, outtag, taglen); -+ case GCRY_CIPHER_MODE_ECB: -+ c->mode_ops.encrypt = do_ecb_encrypt; -+ c->mode_ops.decrypt = do_ecb_decrypt; -+ break; -+ -+ case GCRY_CIPHER_MODE_CBC: -+ c->mode_ops.encrypt = _gcry_cipher_cbc_encrypt; -+ c->mode_ops.decrypt = _gcry_cipher_cbc_decrypt; -+ break; -+ -+ case GCRY_CIPHER_MODE_CFB: -+ c->mode_ops.encrypt = _gcry_cipher_cfb_encrypt; -+ c->mode_ops.decrypt = _gcry_cipher_cfb_decrypt; -+ break; -+ -+ case GCRY_CIPHER_MODE_CFB8: -+ c->mode_ops.encrypt = _gcry_cipher_cfb8_encrypt; -+ c->mode_ops.decrypt = _gcry_cipher_cfb8_decrypt; -+ break; -+ -+ case GCRY_CIPHER_MODE_OFB: -+ c->mode_ops.encrypt = _gcry_cipher_ofb_encrypt; -+ c->mode_ops.decrypt = _gcry_cipher_ofb_encrypt; -+ break; -+ -+ case GCRY_CIPHER_MODE_CTR: -+ c->mode_ops.encrypt = _gcry_cipher_ctr_encrypt; -+ c->mode_ops.decrypt = _gcry_cipher_ctr_encrypt; -+ break; -+ -+ case GCRY_CIPHER_MODE_AESWRAP: -+ c->mode_ops.encrypt = _gcry_cipher_aeswrap_encrypt; -+ c->mode_ops.decrypt = _gcry_cipher_aeswrap_decrypt; -+ break; -+ -+ case GCRY_CIPHER_MODE_CCM: -+ c->mode_ops.encrypt = _gcry_cipher_ccm_encrypt; -+ c->mode_ops.decrypt = _gcry_cipher_ccm_decrypt; - break; - - case GCRY_CIPHER_MODE_GCM: -- rc = _gcry_cipher_gcm_get_tag (hd, outtag, taglen); -+ c->mode_ops.encrypt = _gcry_cipher_gcm_encrypt; -+ c->mode_ops.decrypt = _gcry_cipher_gcm_decrypt; - break; - - case GCRY_CIPHER_MODE_POLY1305: -- rc = _gcry_cipher_poly1305_get_tag (hd, outtag, taglen); -+ c->mode_ops.encrypt = _gcry_cipher_poly1305_encrypt; -+ c->mode_ops.decrypt = _gcry_cipher_poly1305_decrypt; - break; - - case GCRY_CIPHER_MODE_OCB: -- rc = _gcry_cipher_ocb_get_tag (hd, outtag, taglen); -+ c->mode_ops.encrypt = _gcry_cipher_ocb_encrypt; -+ c->mode_ops.decrypt = _gcry_cipher_ocb_decrypt; -+ break; -+ -+ case GCRY_CIPHER_MODE_XTS: -+ c->mode_ops.encrypt = _gcry_cipher_xts_encrypt; -+ c->mode_ops.decrypt = _gcry_cipher_xts_decrypt; - break; - - default: -- log_error ("gcry_cipher_gettag: invalid mode %d\n", hd->mode); -- rc = GPG_ERR_INV_CIPHER_MODE; -+ c->mode_ops.encrypt = do_encrypt_none_unknown; -+ c->mode_ops.decrypt = do_decrypt_none_unknown; - break; - } - -- return rc; --} -+ /* Setup IV setting routine. */ -+ switch (mode) -+ { -+ case GCRY_CIPHER_MODE_CCM: -+ c->mode_ops.setiv = _gcry_cipher_ccm_set_nonce; -+ break; -+ -+ case GCRY_CIPHER_MODE_GCM: -+ c->mode_ops.setiv = _gcry_cipher_gcm_setiv; -+ break; - -+ case GCRY_CIPHER_MODE_POLY1305: -+ c->mode_ops.setiv = _gcry_cipher_poly1305_setiv; -+ break; - --gcry_err_code_t --_gcry_cipher_checktag (gcry_cipher_hd_t hd, const void *intag, size_t taglen) --{ -- gcry_err_code_t rc; -+ case GCRY_CIPHER_MODE_OCB: -+ c->mode_ops.setiv = _gcry_cipher_ocb_set_nonce; -+ break; - -- switch (hd->mode) -+ default: -+ c->mode_ops.setiv = cipher_setiv; -+ break; -+ } -+ -+ -+ /* Setup authentication routines for AEAD modes. */ -+ switch (mode) - { - case GCRY_CIPHER_MODE_CCM: -- rc = _gcry_cipher_ccm_check_tag (hd, intag, taglen); -+ c->mode_ops.authenticate = _gcry_cipher_ccm_authenticate; -+ c->mode_ops.get_tag = _gcry_cipher_ccm_get_tag; -+ c->mode_ops.check_tag = _gcry_cipher_ccm_check_tag; - break; - - case GCRY_CIPHER_MODE_CMAC: -- rc = _gcry_cipher_cmac_check_tag (hd, intag, taglen); -+ c->mode_ops.authenticate = _gcry_cipher_cmac_authenticate; -+ c->mode_ops.get_tag = _gcry_cipher_cmac_get_tag; -+ c->mode_ops.check_tag = _gcry_cipher_cmac_check_tag; - break; - - case GCRY_CIPHER_MODE_GCM: -- rc = _gcry_cipher_gcm_check_tag (hd, intag, taglen); -+ c->mode_ops.authenticate = _gcry_cipher_gcm_authenticate; -+ c->mode_ops.get_tag = _gcry_cipher_gcm_get_tag; -+ c->mode_ops.check_tag = _gcry_cipher_gcm_check_tag; - break; - - case GCRY_CIPHER_MODE_POLY1305: -- rc = _gcry_cipher_poly1305_check_tag (hd, intag, taglen); -+ c->mode_ops.authenticate = _gcry_cipher_poly1305_authenticate; -+ c->mode_ops.get_tag = _gcry_cipher_poly1305_get_tag; -+ c->mode_ops.check_tag = _gcry_cipher_poly1305_check_tag; - break; - - case GCRY_CIPHER_MODE_OCB: -- rc = _gcry_cipher_ocb_check_tag (hd, intag, taglen); -+ c->mode_ops.authenticate = _gcry_cipher_ocb_authenticate; -+ c->mode_ops.get_tag = _gcry_cipher_ocb_get_tag; -+ c->mode_ops.check_tag = _gcry_cipher_ocb_check_tag; - break; - - default: -- log_error ("gcry_cipher_checktag: invalid mode %d\n", hd->mode); -- rc = GPG_ERR_INV_CIPHER_MODE; -+ c->mode_ops.authenticate = NULL; -+ c->mode_ops.get_tag = NULL; -+ c->mode_ops.check_tag = NULL; - break; - } -- -- return rc; - } - - -diff -up libgcrypt-1.8.5/cipher/cipher-cbc.c.aes-perf libgcrypt-1.8.5/cipher/cipher-cbc.c ---- libgcrypt-1.8.5/cipher/cipher-cbc.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/cipher-cbc.c 2020-04-22 18:29:41.666862306 +0200 -@@ -79,7 +79,7 @@ _gcry_cipher_cbc_encrypt (gcry_cipher_hd - - for (n=0; n < nblocks; n++ ) - { -- buf_xor (outbuf, inbuf, ivp, blocksize); -+ cipher_block_xor (outbuf, inbuf, ivp, blocksize); - nburn = enc_fn ( &c->context.c, outbuf, outbuf ); - burn = nburn > burn ? nburn : burn; - ivp = outbuf; -@@ -116,7 +116,7 @@ _gcry_cipher_cbc_encrypt (gcry_cipher_hd - - nburn = enc_fn (&c->context.c, outbuf, outbuf); - burn = nburn > burn ? nburn : burn; -- buf_cpy (c->u_iv.iv, outbuf, blocksize); -+ cipher_block_cpy (c->u_iv.iv, outbuf, blocksize); - } - - if (burn > 0) -@@ -158,7 +158,7 @@ _gcry_cipher_cbc_decrypt (gcry_cipher_hd - nblocks--; - if ((inbuflen % blocksize) == 0) - nblocks--; -- buf_cpy (c->lastiv, c->u_iv.iv, blocksize); -+ cipher_block_cpy (c->lastiv, c->u_iv.iv, blocksize); - } - - if (c->bulk.cbc_dec) -@@ -176,7 +176,8 @@ _gcry_cipher_cbc_decrypt (gcry_cipher_hd - storage here because it is not used otherwise. */ - nburn = dec_fn ( &c->context.c, c->lastiv, inbuf ); - burn = nburn > burn ? nburn : burn; -- buf_xor_n_copy_2(outbuf, c->lastiv, c->u_iv.iv, inbuf, blocksize); -+ cipher_block_xor_n_copy_2 (outbuf, c->lastiv, c->u_iv.iv, inbuf, -+ blocksize); - inbuf += blocksize; - outbuf += blocksize; - } -@@ -191,7 +192,7 @@ _gcry_cipher_cbc_decrypt (gcry_cipher_hd - else - restbytes = inbuflen % blocksize; - -- buf_cpy (c->lastiv, c->u_iv.iv, blocksize ); /* Save Cn-2. */ -+ cipher_block_cpy (c->lastiv, c->u_iv.iv, blocksize ); /* Save Cn-2. */ - buf_cpy (c->u_iv.iv, inbuf + blocksize, restbytes ); /* Save Cn. */ - - nburn = dec_fn ( &c->context.c, outbuf, inbuf ); -@@ -203,7 +204,7 @@ _gcry_cipher_cbc_decrypt (gcry_cipher_hd - c->u_iv.iv[i] = outbuf[i]; - nburn = dec_fn (&c->context.c, outbuf, c->u_iv.iv); - burn = nburn > burn ? nburn : burn; -- buf_xor(outbuf, outbuf, c->lastiv, blocksize); -+ cipher_block_xor(outbuf, outbuf, c->lastiv, blocksize); - /* c->lastiv is now really lastlastiv, does this matter? */ - } - -diff -up libgcrypt-1.8.5/cipher/cipher-ccm.c.aes-perf libgcrypt-1.8.5/cipher/cipher-ccm.c ---- libgcrypt-1.8.5/cipher/cipher-ccm.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/cipher-ccm.c 2020-04-22 18:29:41.666862306 +0200 -@@ -67,7 +67,8 @@ do_cbc_mac (gcry_cipher_hd_t c, const un - if (unused > 0) - { - /* Process one block from macbuf. */ -- buf_xor(c->u_iv.iv, c->u_iv.iv, c->u_mode.ccm.macbuf, blocksize); -+ cipher_block_xor(c->u_iv.iv, c->u_iv.iv, c->u_mode.ccm.macbuf, -+ blocksize); - set_burn (burn, enc_fn ( &c->context.c, c->u_iv.iv, c->u_iv.iv )); - - unused = 0; -@@ -86,7 +87,7 @@ do_cbc_mac (gcry_cipher_hd_t c, const un - { - while (inlen >= blocksize) - { -- buf_xor(c->u_iv.iv, c->u_iv.iv, inbuf, blocksize); -+ cipher_block_xor(c->u_iv.iv, c->u_iv.iv, inbuf, blocksize); - - set_burn (burn, enc_fn ( &c->context.c, c->u_iv.iv, c->u_iv.iv )); - -@@ -272,7 +273,7 @@ _gcry_cipher_ccm_tag (gcry_cipher_hd_t c - burn = do_cbc_mac (c, NULL, 0, 1); /* Perform final padding. */ - - /* Add S_0 */ -- buf_xor (c->u_iv.iv, c->u_iv.iv, c->u_mode.ccm.s0, 16); -+ cipher_block_xor (c->u_iv.iv, c->u_iv.iv, c->u_mode.ccm.s0, 16); - - wipememory (c->u_ctr.ctr, 16); - wipememory (c->u_mode.ccm.s0, 16); -diff -up libgcrypt-1.8.5/cipher/cipher-cfb.c.aes-perf libgcrypt-1.8.5/cipher/cipher-cfb.c ---- libgcrypt-1.8.5/cipher/cipher-cfb.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/cipher-cfb.c 2020-04-22 18:29:41.667862287 +0200 -@@ -91,7 +91,7 @@ _gcry_cipher_cfb_encrypt (gcry_cipher_hd - nburn = enc_fn ( &c->context.c, c->u_iv.iv, c->u_iv.iv ); - burn = nburn > burn ? nburn : burn; - /* XOR the input with the IV and store input into IV. */ -- buf_xor_2dst(outbuf, c->u_iv.iv, inbuf, blocksize); -+ cipher_block_xor_2dst(outbuf, c->u_iv.iv, inbuf, blocksize); - outbuf += blocksize; - inbuf += blocksize; - inbuflen -= blocksize; -@@ -101,11 +101,11 @@ _gcry_cipher_cfb_encrypt (gcry_cipher_hd - if ( inbuflen >= blocksize ) - { - /* Save the current IV and then encrypt the IV. */ -- buf_cpy( c->lastiv, c->u_iv.iv, blocksize ); -+ cipher_block_cpy( c->lastiv, c->u_iv.iv, blocksize ); - nburn = enc_fn ( &c->context.c, c->u_iv.iv, c->u_iv.iv ); - burn = nburn > burn ? nburn : burn; - /* XOR the input with the IV and store input into IV */ -- buf_xor_2dst(outbuf, c->u_iv.iv, inbuf, blocksize); -+ cipher_block_xor_2dst(outbuf, c->u_iv.iv, inbuf, blocksize); - outbuf += blocksize; - inbuf += blocksize; - inbuflen -= blocksize; -@@ -113,7 +113,7 @@ _gcry_cipher_cfb_encrypt (gcry_cipher_hd - if ( inbuflen ) - { - /* Save the current IV and then encrypt the IV. */ -- buf_cpy( c->lastiv, c->u_iv.iv, blocksize ); -+ cipher_block_cpy( c->lastiv, c->u_iv.iv, blocksize ); - nburn = enc_fn ( &c->context.c, c->u_iv.iv, c->u_iv.iv ); - burn = nburn > burn ? nburn : burn; - c->unused = blocksize; -@@ -193,7 +193,7 @@ _gcry_cipher_cfb_decrypt (gcry_cipher_hd - nburn = enc_fn ( &c->context.c, c->u_iv.iv, c->u_iv.iv ); - burn = nburn > burn ? nburn : burn; - /* XOR the input with the IV and store input into IV. */ -- buf_xor_n_copy(outbuf, c->u_iv.iv, inbuf, blocksize); -+ cipher_block_xor_n_copy(outbuf, c->u_iv.iv, inbuf, blocksize); - outbuf += blocksize; - inbuf += blocksize; - inbuflen -= blocksize; -@@ -203,11 +203,11 @@ _gcry_cipher_cfb_decrypt (gcry_cipher_hd - if (inbuflen >= blocksize ) - { - /* Save the current IV and then encrypt the IV. */ -- buf_cpy ( c->lastiv, c->u_iv.iv, blocksize); -+ cipher_block_cpy ( c->lastiv, c->u_iv.iv, blocksize); - nburn = enc_fn ( &c->context.c, c->u_iv.iv, c->u_iv.iv ); - burn = nburn > burn ? nburn : burn; - /* XOR the input with the IV and store input into IV */ -- buf_xor_n_copy(outbuf, c->u_iv.iv, inbuf, blocksize); -+ cipher_block_xor_n_copy(outbuf, c->u_iv.iv, inbuf, blocksize); - outbuf += blocksize; - inbuf += blocksize; - inbuflen -= blocksize; -@@ -216,7 +216,7 @@ _gcry_cipher_cfb_decrypt (gcry_cipher_hd - if (inbuflen) - { - /* Save the current IV and then encrypt the IV. */ -- buf_cpy ( c->lastiv, c->u_iv.iv, blocksize ); -+ cipher_block_cpy ( c->lastiv, c->u_iv.iv, blocksize ); - nburn = enc_fn ( &c->context.c, c->u_iv.iv, c->u_iv.iv ); - burn = nburn > burn ? nburn : burn; - c->unused = blocksize; -diff -up libgcrypt-1.8.5/cipher/cipher-cmac.c.aes-perf libgcrypt-1.8.5/cipher/cipher-cmac.c ---- libgcrypt-1.8.5/cipher/cipher-cmac.c.aes-perf 2020-04-22 18:29:41.643862745 +0200 -+++ libgcrypt-1.8.5/cipher/cipher-cmac.c 2020-04-22 18:29:41.667862287 +0200 -@@ -63,7 +63,7 @@ cmac_write (gcry_cipher_hd_t c, const by - for (; inlen && c->unused < blocksize; inlen--) - c->lastiv[c->unused++] = *inbuf++; - -- buf_xor (c->u_iv.iv, c->u_iv.iv, c->lastiv, blocksize); -+ cipher_block_xor (c->u_iv.iv, c->u_iv.iv, c->lastiv, blocksize); - set_burn (burn, enc_fn (&c->context.c, c->u_iv.iv, c->u_iv.iv)); - - c->unused = 0; -@@ -83,7 +83,7 @@ cmac_write (gcry_cipher_hd_t c, const by - else - while (inlen > blocksize) - { -- buf_xor (c->u_iv.iv, c->u_iv.iv, inbuf, blocksize); -+ cipher_block_xor (c->u_iv.iv, c->u_iv.iv, inbuf, blocksize); - set_burn (burn, enc_fn (&c->context.c, c->u_iv.iv, c->u_iv.iv)); - inlen -= blocksize; - inbuf += blocksize; -@@ -174,9 +174,9 @@ cmac_final (gcry_cipher_hd_t c) - c->lastiv[count++] = 0; - } - -- buf_xor (c->lastiv, c->lastiv, subkey, blocksize); -+ cipher_block_xor (c->lastiv, c->lastiv, subkey, blocksize); - -- buf_xor (c->u_iv.iv, c->u_iv.iv, c->lastiv, blocksize); -+ cipher_block_xor (c->u_iv.iv, c->u_iv.iv, c->lastiv, blocksize); - burn = c->spec->encrypt (&c->context.c, c->u_iv.iv, c->u_iv.iv); - if (burn) - _gcry_burn_stack (burn + 4 * sizeof (void *)); -diff -up libgcrypt-1.8.5/cipher/cipher-ctr.c.aes-perf libgcrypt-1.8.5/cipher/cipher-ctr.c ---- libgcrypt-1.8.5/cipher/cipher-ctr.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/cipher-ctr.c 2020-04-22 18:29:41.667862287 +0200 -@@ -81,24 +81,34 @@ _gcry_cipher_ctr_encrypt (gcry_cipher_hd - { - unsigned char tmp[MAX_BLOCKSIZE]; - -- do { -- nburn = enc_fn (&c->context.c, tmp, c->u_ctr.ctr); -- burn = nburn > burn ? nburn : burn; -- -- for (i = blocksize; i > 0; i--) -- { -- c->u_ctr.ctr[i-1]++; -- if (c->u_ctr.ctr[i-1] != 0) -- break; -- } -- -- n = blocksize < inbuflen ? blocksize : inbuflen; -- buf_xor(outbuf, inbuf, tmp, n); -- -- inbuflen -= n; -- outbuf += n; -- inbuf += n; -- } while (inbuflen); -+ do -+ { -+ nburn = enc_fn (&c->context.c, tmp, c->u_ctr.ctr); -+ burn = nburn > burn ? nburn : burn; -+ -+ for (i = blocksize; i > 0; i--) -+ { -+ c->u_ctr.ctr[i-1]++; -+ if (c->u_ctr.ctr[i-1] != 0) -+ break; -+ } -+ -+ if (inbuflen < blocksize) -+ break; -+ n = blocksize; -+ cipher_block_xor(outbuf, inbuf, tmp, blocksize); -+ -+ inbuflen -= n; -+ outbuf += n; -+ inbuf += n; -+ } -+ while (inbuflen); -+ -+ if (inbuflen) -+ { -+ n = inbuflen; -+ buf_xor(outbuf, inbuf, tmp, inbuflen); -+ } - - /* Save the unused bytes of the counter. */ - c->unused = blocksize - n; -diff -up libgcrypt-1.8.5/cipher/cipher-gcm.c.aes-perf libgcrypt-1.8.5/cipher/cipher-gcm.c ---- libgcrypt-1.8.5/cipher/cipher-gcm.c.aes-perf 2018-04-17 17:27:25.000000000 +0200 -+++ libgcrypt-1.8.5/cipher/cipher-gcm.c 2020-04-22 18:29:41.667862287 +0200 -@@ -150,7 +150,7 @@ do_ghash (unsigned char *result, const u - u32 A; - int i; - -- buf_xor (V, result, buf, 16); -+ cipher_block_xor (V, result, buf, 16); - V[0] = be_bswap64 (V[0]); - V[1] = be_bswap64 (V[1]); - -@@ -259,7 +259,7 @@ do_ghash (unsigned char *result, const u - u32 T[3]; - int i; - -- buf_xor (V, result, buf, 16); /* V is big-endian */ -+ cipher_block_xor (V, result, buf, 16); /* V is big-endian */ - - /* First round can be manually tweaked based on fact that 'tmp' is zero. */ - i = 15; -@@ -342,7 +342,7 @@ do_ghash (unsigned char *hsub, unsigned - #else - unsigned long T[4]; - -- buf_xor (V, result, buf, 16); -+ cipher_block_xor (V, result, buf, 16); - for (i = 0; i < 4; i++) - { - V[i] = (V[i] & 0x00ff00ff) << 8 | (V[i] & 0xff00ff00) >> 8; -@@ -358,7 +358,7 @@ do_ghash (unsigned char *hsub, unsigned - for (j = 0x80; j; j >>= 1) - { - if (hsub[i] & j) -- buf_xor (p, p, V, 16); -+ cipher_block_xor (p, p, V, 16); - if (bshift (V)) - V[0] ^= 0xe1000000; - } -@@ -598,7 +598,7 @@ gcm_ctr_encrypt (gcry_cipher_hd_t c, byt - } - - fix_ctr = 1; -- buf_cpy(ctr_copy, c->u_ctr.ctr, GCRY_GCM_BLOCK_LEN); -+ cipher_block_cpy(ctr_copy, c->u_ctr.ctr, GCRY_GCM_BLOCK_LEN); - } - } - -@@ -928,8 +928,8 @@ _gcry_cipher_gcm_tag (gcry_cipher_hd_t c - /* Add bitlengths to tag. */ - do_ghash_buf(c, c->u_mode.gcm.u_tag.tag, (byte*)bitlengths, - GCRY_GCM_BLOCK_LEN, 1); -- buf_xor (c->u_mode.gcm.u_tag.tag, c->u_mode.gcm.tagiv, -- c->u_mode.gcm.u_tag.tag, GCRY_GCM_BLOCK_LEN); -+ cipher_block_xor (c->u_mode.gcm.u_tag.tag, c->u_mode.gcm.tagiv, -+ c->u_mode.gcm.u_tag.tag, GCRY_GCM_BLOCK_LEN); - c->marks.tag = 1; - - wipememory (bitlengths, sizeof (bitlengths)); -diff -up libgcrypt-1.8.5/cipher/cipher-gcm-intel-pclmul.c.aes-perf libgcrypt-1.8.5/cipher/cipher-gcm-intel-pclmul.c ---- libgcrypt-1.8.5/cipher/cipher-gcm-intel-pclmul.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/cipher-gcm-intel-pclmul.c 2020-04-22 18:29:41.668862268 +0200 -@@ -248,7 +248,8 @@ static inline void gfmul_pclmul_aggr4(vo - void - _gcry_ghash_setup_intel_pclmul (gcry_cipher_hd_t c) - { -- u64 tmp[2]; -+ static const unsigned char be_mask[16] __attribute__ ((aligned (16))) = -+ { 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }; - #if defined(__x86_64__) && defined(__WIN64__) - char win64tmp[3 * 16]; - -@@ -262,15 +263,19 @@ _gcry_ghash_setup_intel_pclmul (gcry_cip - #endif - - /* Swap endianness of hsub. */ -- tmp[0] = buf_get_be64(c->u_mode.gcm.u_ghash_key.key + 8); -- tmp[1] = buf_get_be64(c->u_mode.gcm.u_ghash_key.key + 0); -- buf_cpy (c->u_mode.gcm.u_ghash_key.key, tmp, GCRY_GCM_BLOCK_LEN); -+ asm volatile ("movdqu (%[key]), %%xmm0\n\t" -+ "pshufb %[be_mask], %%xmm0\n\t" -+ "movdqu %%xmm0, (%[key])\n\t" -+ : -+ : [key] "r" (c->u_mode.gcm.u_ghash_key.key), -+ [be_mask] "m" (*be_mask) -+ : "memory"); - - #ifdef __x86_64__ -- asm volatile ("movdqu %[h_1], %%xmm0\n\t" -- "movdqa %%xmm0, %%xmm1\n\t" -+ asm volatile ("movdqa %%xmm0, %%xmm1\n\t" -+ : - : -- : [h_1] "m" (*tmp)); -+ : "memory"); - - gfmul_pclmul (); /* H•H => H² */ - -@@ -324,8 +329,6 @@ _gcry_ghash_setup_intel_pclmul (gcry_cip - ::: "cc" ); - #endif - #endif -- -- wipememory (tmp, sizeof(tmp)); - } - - -diff -up libgcrypt-1.8.5/cipher/cipher-internal.h.aes-perf libgcrypt-1.8.5/cipher/cipher-internal.h ---- libgcrypt-1.8.5/cipher/cipher-internal.h.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/cipher-internal.h 2020-04-22 18:29:41.668862268 +0200 -@@ -121,6 +121,25 @@ struct gcry_cipher_handle - interface does not easily allow to retrieve this value. */ - int algo; - -+ /* A structure with function pointers for mode operations. */ -+ struct { -+ gcry_err_code_t (*encrypt)(gcry_cipher_hd_t c, -+ unsigned char *outbuf, size_t outbuflen, -+ const unsigned char *inbuf, size_t inbuflen); -+ gcry_err_code_t (*decrypt)(gcry_cipher_hd_t c, -+ unsigned char *outbuf, size_t outbuflen, -+ const unsigned char *inbuf, size_t inbuflen); -+ gcry_err_code_t (*setiv)(gcry_cipher_hd_t c, const unsigned char *iv, -+ size_t ivlen); -+ -+ gcry_err_code_t (*authenticate)(gcry_cipher_hd_t c, -+ const unsigned char *abuf, size_t abuflen); -+ gcry_err_code_t (*get_tag)(gcry_cipher_hd_t c, unsigned char *outtag, -+ size_t taglen); -+ gcry_err_code_t (*check_tag)(gcry_cipher_hd_t c, const unsigned char *intag, -+ size_t taglen); -+ } mode_ops; -+ - /* A structure with function pointers for bulk operations. Due to - limitations of the module system (we don't want to change the - API) we need to keep these function pointers here. The cipher -@@ -146,7 +165,7 @@ struct gcry_cipher_handle - const void *inbuf_arg, size_t nblocks, int encrypt); - size_t (*ocb_auth)(gcry_cipher_hd_t c, const void *abuf_arg, - size_t nblocks); -- void (*xts_crypt)(gcry_cipher_hd_t c, unsigned char *tweak, -+ void (*xts_crypt)(void *context, unsigned char *tweak, - void *outbuf_arg, const void *inbuf_arg, - size_t nblocks, int encrypt); - } bulk; -@@ -479,9 +498,12 @@ gcry_err_code_t _gcry_cipher_ocb_check_t - - - /*-- cipher-xts.c --*/ --gcry_err_code_t _gcry_cipher_xts_crypt -+gcry_err_code_t _gcry_cipher_xts_encrypt - /* */ (gcry_cipher_hd_t c, unsigned char *outbuf, size_t outbuflen, -- const unsigned char *inbuf, size_t inbuflen, int encrypt); -+ const unsigned char *inbuf, size_t inbuflen); -+gcry_err_code_t _gcry_cipher_xts_decrypt -+/* */ (gcry_cipher_hd_t c, unsigned char *outbuf, size_t outbuflen, -+ const unsigned char *inbuf, size_t inbuflen); - - - /* Return the L-value for block N. Note: 'cipher_ocb.c' ensures that N -@@ -506,4 +528,145 @@ ocb_get_l (gcry_cipher_hd_t c, u64 n) - return c->u_mode.ocb.L[ntz]; - } - -+/* Optimized function for cipher block copying */ -+static inline void -+cipher_block_cpy(void *_dst, const void *_src, size_t blocksize) -+{ -+ byte *dst = _dst; -+ const byte *src = _src; -+ u64 s[2]; -+ -+ if (blocksize == 8) -+ { -+ buf_put_he64(dst + 0, buf_get_he64(src + 0)); -+ } -+ else /* blocksize == 16 */ -+ { -+ s[0] = buf_get_he64(src + 0); -+ s[1] = buf_get_he64(src + 8); -+ buf_put_he64(dst + 0, s[0]); -+ buf_put_he64(dst + 8, s[1]); -+ } -+} -+ -+ -+/* Optimized function for cipher block xoring */ -+static inline void -+cipher_block_xor(void *_dst, const void *_src1, const void *_src2, -+ size_t blocksize) -+{ -+ byte *dst = _dst; -+ const byte *src1 = _src1; -+ const byte *src2 = _src2; -+ u64 s1[2]; -+ u64 s2[2]; -+ -+ if (blocksize == 8) -+ { -+ buf_put_he64(dst + 0, buf_get_he64(src1 + 0) ^ buf_get_he64(src2 + 0)); -+ } -+ else /* blocksize == 16 */ -+ { -+ s1[0] = buf_get_he64(src1 + 0); -+ s1[1] = buf_get_he64(src1 + 8); -+ s2[0] = buf_get_he64(src2 + 0); -+ s2[1] = buf_get_he64(src2 + 8); -+ buf_put_he64(dst + 0, s1[0] ^ s2[0]); -+ buf_put_he64(dst + 8, s1[1] ^ s2[1]); -+ } -+} -+ -+ -+/* Optimized function for in-place cipher block xoring */ -+static inline void -+cipher_block_xor_1(void *_dst, const void *_src, size_t blocksize) -+{ -+ cipher_block_xor (_dst, _dst, _src, blocksize); -+} -+ -+ -+/* Optimized function for cipher block xoring with two destination cipher -+ blocks. Used mainly by CFB mode encryption. */ -+static inline void -+cipher_block_xor_2dst(void *_dst1, void *_dst2, const void *_src, -+ size_t blocksize) -+{ -+ byte *dst1 = _dst1; -+ byte *dst2 = _dst2; -+ const byte *src = _src; -+ u64 d2[2]; -+ u64 s[2]; -+ -+ if (blocksize == 8) -+ { -+ d2[0] = buf_get_he64(dst2 + 0) ^ buf_get_he64(src + 0); -+ buf_put_he64(dst2 + 0, d2[0]); -+ buf_put_he64(dst1 + 0, d2[0]); -+ } -+ else /* blocksize == 16 */ -+ { -+ s[0] = buf_get_he64(src + 0); -+ s[1] = buf_get_he64(src + 8); -+ d2[0] = buf_get_he64(dst2 + 0); -+ d2[1] = buf_get_he64(dst2 + 8); -+ d2[0] = d2[0] ^ s[0]; -+ d2[1] = d2[1] ^ s[1]; -+ buf_put_he64(dst2 + 0, d2[0]); -+ buf_put_he64(dst2 + 8, d2[1]); -+ buf_put_he64(dst1 + 0, d2[0]); -+ buf_put_he64(dst1 + 8, d2[1]); -+ } -+} -+ -+ -+/* Optimized function for combined cipher block xoring and copying. -+ Used by mainly CBC mode decryption. */ -+static inline void -+cipher_block_xor_n_copy_2(void *_dst_xor, const void *_src_xor, -+ void *_srcdst_cpy, const void *_src_cpy, -+ size_t blocksize) -+{ -+ byte *dst_xor = _dst_xor; -+ byte *srcdst_cpy = _srcdst_cpy; -+ const byte *src_xor = _src_xor; -+ const byte *src_cpy = _src_cpy; -+ u64 sc[2]; -+ u64 sx[2]; -+ u64 sdc[2]; -+ -+ if (blocksize == 8) -+ { -+ sc[0] = buf_get_he64(src_cpy + 0); -+ buf_put_he64(dst_xor + 0, -+ buf_get_he64(srcdst_cpy + 0) ^ buf_get_he64(src_xor + 0)); -+ buf_put_he64(srcdst_cpy + 0, sc[0]); -+ } -+ else /* blocksize == 16 */ -+ { -+ sc[0] = buf_get_he64(src_cpy + 0); -+ sc[1] = buf_get_he64(src_cpy + 8); -+ sx[0] = buf_get_he64(src_xor + 0); -+ sx[1] = buf_get_he64(src_xor + 8); -+ sdc[0] = buf_get_he64(srcdst_cpy + 0); -+ sdc[1] = buf_get_he64(srcdst_cpy + 8); -+ sx[0] ^= sdc[0]; -+ sx[1] ^= sdc[1]; -+ buf_put_he64(dst_xor + 0, sx[0]); -+ buf_put_he64(dst_xor + 8, sx[1]); -+ buf_put_he64(srcdst_cpy + 0, sc[0]); -+ buf_put_he64(srcdst_cpy + 8, sc[1]); -+ } -+} -+ -+ -+/* Optimized function for combined cipher block xoring and copying. -+ Used by mainly CFB mode decryption. */ -+static inline void -+cipher_block_xor_n_copy(void *_dst_xor, void *_srcdst_cpy, const void *_src, -+ size_t blocksize) -+{ -+ cipher_block_xor_n_copy_2(_dst_xor, _src, _srcdst_cpy, _src, blocksize); -+} -+ -+ - #endif /*G10_CIPHER_INTERNAL_H*/ -diff -up libgcrypt-1.8.5/cipher/cipher-ocb.c.aes-perf libgcrypt-1.8.5/cipher/cipher-ocb.c ---- libgcrypt-1.8.5/cipher/cipher-ocb.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/cipher-ocb.c 2020-04-22 18:29:41.668862268 +0200 -@@ -82,7 +82,7 @@ static void - double_block_cpy (unsigned char *d, const unsigned char *s) - { - if (d != s) -- buf_cpy (d, s, OCB_BLOCK_LEN); -+ cipher_block_cpy (d, s, OCB_BLOCK_LEN); - double_block (d); - } - -@@ -181,8 +181,8 @@ _gcry_cipher_ocb_set_nonce (gcry_cipher_ - nburn = c->spec->encrypt (&c->context.c, ktop, ktop); - burn = nburn > burn ? nburn : burn; - /* Stretch = Ktop || (Ktop[1..64] xor Ktop[9..72]) */ -- buf_cpy (stretch, ktop, OCB_BLOCK_LEN); -- buf_xor (stretch + OCB_BLOCK_LEN, ktop, ktop + 1, 8); -+ cipher_block_cpy (stretch, ktop, OCB_BLOCK_LEN); -+ cipher_block_xor (stretch + OCB_BLOCK_LEN, ktop, ktop + 1, 8); - /* Offset_0 = Stretch[1+bottom..128+bottom] - (We use the IV field to store the offset) */ - bit_copy (c->u_iv.iv, stretch, bottom, OCB_BLOCK_LEN); -@@ -267,18 +267,18 @@ _gcry_cipher_ocb_authenticate (gcry_ciph - } - else - { -- buf_cpy (l_tmp, ocb_get_l (c, c->u_mode.ocb.aad_nblocks), -- OCB_BLOCK_LEN); -+ cipher_block_cpy (l_tmp, ocb_get_l (c, c->u_mode.ocb.aad_nblocks), -+ OCB_BLOCK_LEN); - } - - /* Offset_i = Offset_{i-1} xor L_{ntz(i)} */ -- buf_xor_1 (c->u_mode.ocb.aad_offset, l_tmp, OCB_BLOCK_LEN); -+ cipher_block_xor_1 (c->u_mode.ocb.aad_offset, l_tmp, OCB_BLOCK_LEN); - /* Sum_i = Sum_{i-1} xor ENCIPHER(K, A_i xor Offset_i) */ -- buf_xor (l_tmp, c->u_mode.ocb.aad_offset, -- c->u_mode.ocb.aad_leftover, OCB_BLOCK_LEN); -+ cipher_block_xor (l_tmp, c->u_mode.ocb.aad_offset, -+ c->u_mode.ocb.aad_leftover, OCB_BLOCK_LEN); - nburn = c->spec->encrypt (&c->context.c, l_tmp, l_tmp); - burn = nburn > burn ? nburn : burn; -- buf_xor_1 (c->u_mode.ocb.aad_sum, l_tmp, OCB_BLOCK_LEN); -+ cipher_block_xor_1 (c->u_mode.ocb.aad_sum, l_tmp, OCB_BLOCK_LEN); - - c->u_mode.ocb.aad_nleftover = 0; - } -@@ -309,12 +309,13 @@ _gcry_cipher_ocb_authenticate (gcry_ciph - ocb_get_L_big(c, c->u_mode.ocb.aad_nblocks, l_tmp); - - /* Offset_i = Offset_{i-1} xor L_{ntz(i)} */ -- buf_xor_1 (c->u_mode.ocb.aad_offset, l_tmp, OCB_BLOCK_LEN); -+ cipher_block_xor_1 (c->u_mode.ocb.aad_offset, l_tmp, OCB_BLOCK_LEN); - /* Sum_i = Sum_{i-1} xor ENCIPHER(K, A_i xor Offset_i) */ -- buf_xor (l_tmp, c->u_mode.ocb.aad_offset, abuf, OCB_BLOCK_LEN); -+ cipher_block_xor (l_tmp, c->u_mode.ocb.aad_offset, abuf, -+ OCB_BLOCK_LEN); - nburn = c->spec->encrypt (&c->context.c, l_tmp, l_tmp); - burn = nburn > burn ? nburn : burn; -- buf_xor_1 (c->u_mode.ocb.aad_sum, l_tmp, OCB_BLOCK_LEN); -+ cipher_block_xor_1 (c->u_mode.ocb.aad_sum, l_tmp, OCB_BLOCK_LEN); - - abuf += OCB_BLOCK_LEN; - abuflen -= OCB_BLOCK_LEN; -@@ -349,14 +350,15 @@ _gcry_cipher_ocb_authenticate (gcry_ciph - gcry_assert(c->u_mode.ocb.aad_nblocks & table_size_mask); - - /* Offset_i = Offset_{i-1} xor L_{ntz(i)} */ -- buf_xor_1 (c->u_mode.ocb.aad_offset, -- ocb_get_l (c, c->u_mode.ocb.aad_nblocks), -- OCB_BLOCK_LEN); -+ cipher_block_xor_1 (c->u_mode.ocb.aad_offset, -+ ocb_get_l (c, c->u_mode.ocb.aad_nblocks), -+ OCB_BLOCK_LEN); - /* Sum_i = Sum_{i-1} xor ENCIPHER(K, A_i xor Offset_i) */ -- buf_xor (l_tmp, c->u_mode.ocb.aad_offset, abuf, OCB_BLOCK_LEN); -+ cipher_block_xor (l_tmp, c->u_mode.ocb.aad_offset, abuf, -+ OCB_BLOCK_LEN); - nburn = c->spec->encrypt (&c->context.c, l_tmp, l_tmp); - burn = nburn > burn ? nburn : burn; -- buf_xor_1 (c->u_mode.ocb.aad_sum, l_tmp, OCB_BLOCK_LEN); -+ cipher_block_xor_1 (c->u_mode.ocb.aad_sum, l_tmp, OCB_BLOCK_LEN); - - abuf += OCB_BLOCK_LEN; - abuflen -= OCB_BLOCK_LEN; -@@ -397,18 +399,18 @@ ocb_aad_finalize (gcry_cipher_hd_t c) - if (c->u_mode.ocb.aad_nleftover) - { - /* Offset_* = Offset_m xor L_* */ -- buf_xor_1 (c->u_mode.ocb.aad_offset, -- c->u_mode.ocb.L_star, OCB_BLOCK_LEN); -+ cipher_block_xor_1 (c->u_mode.ocb.aad_offset, -+ c->u_mode.ocb.L_star, OCB_BLOCK_LEN); - /* CipherInput = (A_* || 1 || zeros(127-bitlen(A_*))) xor Offset_* */ - buf_cpy (l_tmp, c->u_mode.ocb.aad_leftover, c->u_mode.ocb.aad_nleftover); - memset (l_tmp + c->u_mode.ocb.aad_nleftover, 0, - OCB_BLOCK_LEN - c->u_mode.ocb.aad_nleftover); - l_tmp[c->u_mode.ocb.aad_nleftover] = 0x80; -- buf_xor_1 (l_tmp, c->u_mode.ocb.aad_offset, OCB_BLOCK_LEN); -+ cipher_block_xor_1 (l_tmp, c->u_mode.ocb.aad_offset, OCB_BLOCK_LEN); - /* Sum = Sum_m xor ENCIPHER(K, CipherInput) */ - nburn = c->spec->encrypt (&c->context.c, l_tmp, l_tmp); - burn = nburn > burn ? nburn : burn; -- buf_xor_1 (c->u_mode.ocb.aad_sum, l_tmp, OCB_BLOCK_LEN); -+ cipher_block_xor_1 (c->u_mode.ocb.aad_sum, l_tmp, OCB_BLOCK_LEN); - - c->u_mode.ocb.aad_nleftover = 0; - } -@@ -431,7 +433,7 @@ ocb_checksum (unsigned char *chksum, con - while (nblks > 0) - { - /* Checksum_i = Checksum_{i-1} xor P_i */ -- buf_xor_1(chksum, plainbuf, OCB_BLOCK_LEN); -+ cipher_block_xor_1(chksum, plainbuf, OCB_BLOCK_LEN); - - plainbuf += OCB_BLOCK_LEN; - nblks--; -@@ -491,12 +493,12 @@ ocb_crypt (gcry_cipher_hd_t c, int encry - } - - /* Offset_i = Offset_{i-1} xor L_{ntz(i)} */ -- buf_xor_1 (c->u_iv.iv, l_tmp, OCB_BLOCK_LEN); -+ cipher_block_xor_1 (c->u_iv.iv, l_tmp, OCB_BLOCK_LEN); - /* C_i = Offset_i xor ENCIPHER(K, P_i xor Offset_i) */ -- buf_xor (outbuf, c->u_iv.iv, inbuf, OCB_BLOCK_LEN); -+ cipher_block_xor (outbuf, c->u_iv.iv, inbuf, OCB_BLOCK_LEN); - nburn = crypt_fn (&c->context.c, outbuf, outbuf); - burn = nburn > burn ? nburn : burn; -- buf_xor_1 (outbuf, c->u_iv.iv, OCB_BLOCK_LEN); -+ cipher_block_xor_1 (outbuf, c->u_iv.iv, OCB_BLOCK_LEN); - - if (!encrypt) - { -@@ -551,14 +553,14 @@ ocb_crypt (gcry_cipher_hd_t c, int encry - gcry_assert(c->u_mode.ocb.data_nblocks & table_size_mask); - - /* Offset_i = Offset_{i-1} xor L_{ntz(i)} */ -- buf_xor_1 (c->u_iv.iv, -- ocb_get_l (c, c->u_mode.ocb.data_nblocks), -- OCB_BLOCK_LEN); -+ cipher_block_xor_1 (c->u_iv.iv, -+ ocb_get_l (c, c->u_mode.ocb.data_nblocks), -+ OCB_BLOCK_LEN); - /* C_i = Offset_i xor ENCIPHER(K, P_i xor Offset_i) */ -- buf_xor (outbuf, c->u_iv.iv, inbuf, OCB_BLOCK_LEN); -+ cipher_block_xor (outbuf, c->u_iv.iv, inbuf, OCB_BLOCK_LEN); - nburn = crypt_fn (&c->context.c, outbuf, outbuf); - burn = nburn > burn ? nburn : burn; -- buf_xor_1 (outbuf, c->u_iv.iv, OCB_BLOCK_LEN); -+ cipher_block_xor_1 (outbuf, c->u_iv.iv, OCB_BLOCK_LEN); - - inbuf += OCB_BLOCK_LEN; - inbuflen -= OCB_BLOCK_LEN; -@@ -584,7 +586,7 @@ ocb_crypt (gcry_cipher_hd_t c, int encry - unsigned char pad[OCB_BLOCK_LEN]; - - /* Offset_* = Offset_m xor L_* */ -- buf_xor_1 (c->u_iv.iv, c->u_mode.ocb.L_star, OCB_BLOCK_LEN); -+ cipher_block_xor_1 (c->u_iv.iv, c->u_mode.ocb.L_star, OCB_BLOCK_LEN); - /* Pad = ENCIPHER(K, Offset_*) */ - nburn = c->spec->encrypt (&c->context.c, pad, c->u_iv.iv); - burn = nburn > burn ? nburn : burn; -@@ -596,7 +598,7 @@ ocb_crypt (gcry_cipher_hd_t c, int encry - buf_cpy (l_tmp, inbuf, inbuflen); - memset (l_tmp + inbuflen, 0, OCB_BLOCK_LEN - inbuflen); - l_tmp[inbuflen] = 0x80; -- buf_xor_1 (c->u_ctr.ctr, l_tmp, OCB_BLOCK_LEN); -+ cipher_block_xor_1 (c->u_ctr.ctr, l_tmp, OCB_BLOCK_LEN); - /* C_* = P_* xor Pad[1..bitlen(P_*)] */ - buf_xor (outbuf, inbuf, pad, inbuflen); - } -@@ -604,13 +606,13 @@ ocb_crypt (gcry_cipher_hd_t c, int encry - { - /* P_* = C_* xor Pad[1..bitlen(C_*)] */ - /* Checksum_* = Checksum_m xor (P_* || 1 || zeros(127-bitlen(P_*))) */ -- buf_cpy (l_tmp, pad, OCB_BLOCK_LEN); -+ cipher_block_cpy (l_tmp, pad, OCB_BLOCK_LEN); - buf_cpy (l_tmp, inbuf, inbuflen); -- buf_xor_1 (l_tmp, pad, OCB_BLOCK_LEN); -+ cipher_block_xor_1 (l_tmp, pad, OCB_BLOCK_LEN); - l_tmp[inbuflen] = 0x80; - buf_cpy (outbuf, l_tmp, inbuflen); - -- buf_xor_1 (c->u_ctr.ctr, l_tmp, OCB_BLOCK_LEN); -+ cipher_block_xor_1 (c->u_ctr.ctr, l_tmp, OCB_BLOCK_LEN); - } - } - -@@ -618,8 +620,10 @@ ocb_crypt (gcry_cipher_hd_t c, int encry - if (c->marks.finalize) - { - /* Tag = ENCIPHER(K, Checksum xor Offset xor L_$) xor HASH(K,A) */ -- buf_xor (c->u_mode.ocb.tag, c->u_ctr.ctr, c->u_iv.iv, OCB_BLOCK_LEN); -- buf_xor_1 (c->u_mode.ocb.tag, c->u_mode.ocb.L_dollar, OCB_BLOCK_LEN); -+ cipher_block_xor (c->u_mode.ocb.tag, c->u_ctr.ctr, c->u_iv.iv, -+ OCB_BLOCK_LEN); -+ cipher_block_xor_1 (c->u_mode.ocb.tag, c->u_mode.ocb.L_dollar, -+ OCB_BLOCK_LEN); - nburn = c->spec->encrypt (&c->context.c, - c->u_mode.ocb.tag, c->u_mode.ocb.tag); - burn = nburn > burn ? nburn : burn; -@@ -672,7 +676,8 @@ compute_tag_if_needed (gcry_cipher_hd_t - if (!c->marks.tag) - { - ocb_aad_finalize (c); -- buf_xor_1 (c->u_mode.ocb.tag, c->u_mode.ocb.aad_sum, OCB_BLOCK_LEN); -+ cipher_block_xor_1 (c->u_mode.ocb.tag, c->u_mode.ocb.aad_sum, -+ OCB_BLOCK_LEN); - c->marks.tag = 1; - } - } -diff -up libgcrypt-1.8.5/cipher/cipher-ofb.c.aes-perf libgcrypt-1.8.5/cipher/cipher-ofb.c ---- libgcrypt-1.8.5/cipher/cipher-ofb.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/cipher-ofb.c 2020-04-22 18:29:41.668862268 +0200 -@@ -76,7 +76,7 @@ _gcry_cipher_ofb_encrypt (gcry_cipher_hd - /* Encrypt the IV (and save the current one). */ - nburn = enc_fn ( &c->context.c, c->u_iv.iv, c->u_iv.iv ); - burn = nburn > burn ? nburn : burn; -- buf_xor(outbuf, c->u_iv.iv, inbuf, blocksize); -+ cipher_block_xor(outbuf, c->u_iv.iv, inbuf, blocksize); - outbuf += blocksize; - inbuf += blocksize; - inbuflen -= blocksize; -diff -up libgcrypt-1.8.5/cipher/cipher-selftest.c.aes-perf libgcrypt-1.8.5/cipher/cipher-selftest.c ---- libgcrypt-1.8.5/cipher/cipher-selftest.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/cipher-selftest.c 2020-04-22 18:29:41.669862248 +0200 -@@ -105,7 +105,7 @@ _gcry_selftest_helper_cbc (const char *c - ciphertext = plaintext2 + nblocks * blocksize; - - /* Initialize ctx */ -- if (setkey_func (ctx, key, sizeof(key)) != GPG_ERR_NO_ERROR) -+ if (setkey_func (ctx, key, sizeof(key), NULL) != GPG_ERR_NO_ERROR) - { - xfree(mem); - return "setkey failed"; -@@ -228,7 +228,7 @@ _gcry_selftest_helper_cfb (const char *c - ciphertext = plaintext2 + nblocks * blocksize; - - /* Initialize ctx */ -- if (setkey_func (ctx, key, sizeof(key)) != GPG_ERR_NO_ERROR) -+ if (setkey_func (ctx, key, sizeof(key), NULL) != GPG_ERR_NO_ERROR) - { - xfree(mem); - return "setkey failed"; -@@ -351,7 +351,7 @@ _gcry_selftest_helper_ctr (const char *c - ciphertext2 = ciphertext + nblocks * blocksize; - - /* Initialize ctx */ -- if (setkey_func (ctx, key, sizeof(key)) != GPG_ERR_NO_ERROR) -+ if (setkey_func (ctx, key, sizeof(key), NULL) != GPG_ERR_NO_ERROR) - { - xfree(mem); - return "setkey failed"; -diff -up libgcrypt-1.8.5/cipher/cipher-xts.c.aes-perf libgcrypt-1.8.5/cipher/cipher-xts.c ---- libgcrypt-1.8.5/cipher/cipher-xts.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/cipher-xts.c 2020-04-22 18:29:41.669862248 +0200 -@@ -93,7 +93,8 @@ _gcry_cipher_xts_crypt (gcry_cipher_hd_t - /* Use a bulk method if available. */ - if (nblocks && c->bulk.xts_crypt) - { -- c->bulk.xts_crypt (c, c->u_ctr.ctr, outbuf, inbuf, nblocks, encrypt); -+ c->bulk.xts_crypt (&c->context.c, c->u_ctr.ctr, outbuf, inbuf, nblocks, -+ encrypt); - inbuf += nblocks * GCRY_XTS_BLOCK_LEN; - outbuf += nblocks * GCRY_XTS_BLOCK_LEN; - inbuflen -= nblocks * GCRY_XTS_BLOCK_LEN; -@@ -106,10 +107,10 @@ _gcry_cipher_xts_crypt (gcry_cipher_hd_t - while (nblocks) - { - /* Xor-Encrypt/Decrypt-Xor block. */ -- buf_xor (tmp.x64, inbuf, c->u_ctr.ctr, GCRY_XTS_BLOCK_LEN); -+ cipher_block_xor (tmp.x64, inbuf, c->u_ctr.ctr, GCRY_XTS_BLOCK_LEN); - nburn = crypt_fn (&c->context.c, tmp.x1, tmp.x1); - burn = nburn > burn ? nburn : burn; -- buf_xor (outbuf, tmp.x64, c->u_ctr.ctr, GCRY_XTS_BLOCK_LEN); -+ cipher_block_xor (outbuf, tmp.x64, c->u_ctr.ctr, GCRY_XTS_BLOCK_LEN); - - outbuf += GCRY_XTS_BLOCK_LEN; - inbuf += GCRY_XTS_BLOCK_LEN; -@@ -132,10 +133,10 @@ _gcry_cipher_xts_crypt (gcry_cipher_hd_t - xts_gfmul_byA (tmp.x1, c->u_ctr.ctr); - - /* Decrypt last block first. */ -- buf_xor (outbuf, inbuf, tmp.x64, GCRY_XTS_BLOCK_LEN); -+ cipher_block_xor (outbuf, inbuf, tmp.x64, GCRY_XTS_BLOCK_LEN); - nburn = crypt_fn (&c->context.c, outbuf, outbuf); - burn = nburn > burn ? nburn : burn; -- buf_xor (outbuf, outbuf, tmp.x64, GCRY_XTS_BLOCK_LEN); -+ cipher_block_xor (outbuf, outbuf, tmp.x64, GCRY_XTS_BLOCK_LEN); - - inbuflen -= GCRY_XTS_BLOCK_LEN; - inbuf += GCRY_XTS_BLOCK_LEN; -@@ -146,15 +147,15 @@ _gcry_cipher_xts_crypt (gcry_cipher_hd_t - outbuf -= GCRY_XTS_BLOCK_LEN; - - /* Steal ciphertext from previous block. */ -- buf_cpy (tmp.x64, outbuf, GCRY_XTS_BLOCK_LEN); -+ cipher_block_cpy (tmp.x64, outbuf, GCRY_XTS_BLOCK_LEN); - buf_cpy (tmp.x64, inbuf, inbuflen); - buf_cpy (outbuf + GCRY_XTS_BLOCK_LEN, outbuf, inbuflen); - - /* Decrypt/Encrypt last block. */ -- buf_xor (tmp.x64, tmp.x64, c->u_ctr.ctr, GCRY_XTS_BLOCK_LEN); -+ cipher_block_xor (tmp.x64, tmp.x64, c->u_ctr.ctr, GCRY_XTS_BLOCK_LEN); - nburn = crypt_fn (&c->context.c, tmp.x1, tmp.x1); - burn = nburn > burn ? nburn : burn; -- buf_xor (outbuf, tmp.x64, c->u_ctr.ctr, GCRY_XTS_BLOCK_LEN); -+ cipher_block_xor (outbuf, tmp.x64, c->u_ctr.ctr, GCRY_XTS_BLOCK_LEN); - } - - /* Auto-increment data-unit sequence number */ -@@ -168,3 +169,21 @@ _gcry_cipher_xts_crypt (gcry_cipher_hd_t - - return 0; - } -+ -+ -+gcry_err_code_t -+_gcry_cipher_xts_encrypt (gcry_cipher_hd_t c, -+ unsigned char *outbuf, size_t outbuflen, -+ const unsigned char *inbuf, size_t inbuflen) -+{ -+ return _gcry_cipher_xts_crypt (c, outbuf, outbuflen, inbuf, inbuflen, 1); -+} -+ -+ -+gcry_err_code_t -+_gcry_cipher_xts_decrypt (gcry_cipher_hd_t c, -+ unsigned char *outbuf, size_t outbuflen, -+ const unsigned char *inbuf, size_t inbuflen) -+{ -+ return _gcry_cipher_xts_crypt (c, outbuf, outbuflen, inbuf, inbuflen, 0); -+} -diff -up libgcrypt-1.8.5/cipher/des.c.aes-perf libgcrypt-1.8.5/cipher/des.c ---- libgcrypt-1.8.5/cipher/des.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/des.c 2020-04-22 18:29:41.669862248 +0200 -@@ -119,6 +119,7 @@ - #include "g10lib.h" - #include "cipher.h" - #include "bufhelp.h" -+#include "cipher-internal.h" - #include "cipher-selftest.h" - - -@@ -197,7 +198,8 @@ static unsigned int do_tripledes_encrypt - static unsigned int do_tripledes_decrypt(void *context, byte *outbuf, - const byte *inbuf ); - static gcry_err_code_t do_tripledes_setkey(void *context, const byte *key, -- unsigned keylen); -+ unsigned keylen, -+ gcry_cipher_hd_t hd); - - static int initialized; - -@@ -940,7 +942,7 @@ _gcry_3des_ctr_enc(void *context, unsign - /* Encrypt the counter. */ - tripledes_ecb_encrypt (ctx, ctr, tmpbuf); - /* XOR the input with the encrypted counter and store in output. */ -- buf_xor(outbuf, tmpbuf, inbuf, DES_BLOCKSIZE); -+ cipher_block_xor(outbuf, tmpbuf, inbuf, DES_BLOCKSIZE); - outbuf += DES_BLOCKSIZE; - inbuf += DES_BLOCKSIZE; - /* Increment the counter. */ -@@ -996,7 +998,7 @@ _gcry_3des_cbc_dec(void *context, unsign - the intermediate result to SAVEBUF. */ - tripledes_ecb_decrypt (ctx, inbuf, savebuf); - -- buf_xor_n_copy_2(outbuf, savebuf, iv, inbuf, DES_BLOCKSIZE); -+ cipher_block_xor_n_copy_2(outbuf, savebuf, iv, inbuf, DES_BLOCKSIZE); - inbuf += DES_BLOCKSIZE; - outbuf += DES_BLOCKSIZE; - } -@@ -1041,7 +1043,7 @@ _gcry_3des_cfb_dec(void *context, unsign - for ( ;nblocks; nblocks-- ) - { - tripledes_ecb_encrypt (ctx, iv, iv); -- buf_xor_n_copy(outbuf, iv, inbuf, DES_BLOCKSIZE); -+ cipher_block_xor_n_copy(outbuf, iv, inbuf, DES_BLOCKSIZE); - outbuf += DES_BLOCKSIZE; - inbuf += DES_BLOCKSIZE; - } -@@ -1086,7 +1088,8 @@ is_weak_key ( const byte *key ) - - /* Alternative setkey for selftests; need larger key than default. */ - static gcry_err_code_t --bulk_selftest_setkey (void *context, const byte *__key, unsigned __keylen) -+bulk_selftest_setkey (void *context, const byte *__key, unsigned __keylen, -+ gcry_cipher_hd_t hd) - { - static const unsigned char key[24] ATTR_ALIGNED_16 = { - 0x66,0x9A,0x00,0x7F,0xC7,0x6A,0x45,0x9F, -@@ -1094,10 +1097,11 @@ bulk_selftest_setkey (void *context, con - 0x18,0x2A,0x39,0x47,0x5E,0x6F,0x75,0x82 - }; - -+ (void)hd; - (void)__key; - (void)__keylen; - -- return do_tripledes_setkey(context, key, sizeof(key)); -+ return do_tripledes_setkey(context, key, sizeof(key), NULL); - } - - -@@ -1349,10 +1353,13 @@ selftest (void) - - - static gcry_err_code_t --do_tripledes_setkey ( void *context, const byte *key, unsigned keylen ) -+do_tripledes_setkey ( void *context, const byte *key, unsigned keylen, -+ gcry_cipher_hd_t hd ) - { - struct _tripledes_ctx *ctx = (struct _tripledes_ctx *) context; - -+ (void)hd; -+ - if( keylen != 24 ) - return GPG_ERR_INV_KEYLEN; - -@@ -1413,10 +1420,13 @@ do_tripledes_decrypt( void *context, byt - } - - static gcry_err_code_t --do_des_setkey (void *context, const byte *key, unsigned keylen) -+do_des_setkey (void *context, const byte *key, unsigned keylen, -+ gcry_cipher_hd_t hd) - { - struct _des_ctx *ctx = (struct _des_ctx *) context; - -+ (void)hd; -+ - if (keylen != 8) - return GPG_ERR_INV_KEYLEN; - -diff -up libgcrypt-1.8.5/cipher/gost28147.c.aes-perf libgcrypt-1.8.5/cipher/gost28147.c ---- libgcrypt-1.8.5/cipher/gost28147.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/gost28147.c 2020-04-22 18:29:41.669862248 +0200 -@@ -39,11 +39,14 @@ - #include "gost-sb.h" - - static gcry_err_code_t --gost_setkey (void *c, const byte *key, unsigned keylen) -+gost_setkey (void *c, const byte *key, unsigned keylen, -+ gcry_cipher_hd_t hd) - { - int i; - GOST28147_context *ctx = c; - -+ (void)hd; -+ - if (keylen != 256 / 8) - return GPG_ERR_INV_KEYLEN; - -diff -up libgcrypt-1.8.5/cipher/idea.c.aes-perf libgcrypt-1.8.5/cipher/idea.c ---- libgcrypt-1.8.5/cipher/idea.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/idea.c 2020-04-22 18:29:41.670862229 +0200 -@@ -258,10 +258,12 @@ do_setkey( IDEA_context *c, const byte * - } - - static gcry_err_code_t --idea_setkey (void *context, const byte *key, unsigned int keylen) -+idea_setkey (void *context, const byte *key, unsigned int keylen, -+ gcry_cipher_hd_t hd) - { - IDEA_context *ctx = context; - int rc = do_setkey (ctx, key, keylen); -+ (void)hd; - _gcry_burn_stack (23+6*sizeof(void*)); - return rc; - } -diff -up libgcrypt-1.8.5/cipher/Makefile.am.aes-perf libgcrypt-1.8.5/cipher/Makefile.am ---- libgcrypt-1.8.5/cipher/Makefile.am.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/Makefile.am 2020-04-22 18:29:41.670862229 +0200 -@@ -83,7 +83,8 @@ rijndael.c rijndael-internal.h rijndael- - rijndael-padlock.c rijndael-amd64.S rijndael-arm.S \ - rijndael-ssse3-amd64.c rijndael-ssse3-amd64-asm.S \ - rijndael-armv8-ce.c rijndael-armv8-aarch32-ce.S rijndael-armv8-aarch64-ce.S \ -- rijndael-aarch64.S \ -+ rijndael-aarch64.S rijndael-ppc.c rijndael-ppc9le.c \ -+ rijndael-ppc-common.h rijndael-ppc-functions.h \ - rmd160.c \ - rsa.c \ - salsa20.c salsa20-amd64.S salsa20-armv7-neon.S \ -@@ -128,3 +129,23 @@ tiger.o: $(srcdir)/tiger.c - - tiger.lo: $(srcdir)/tiger.c - `echo $(LTCOMPILE) -c $(srcdir)/tiger.c | $(o_flag_munging) ` -+ -+if ENABLE_PPC_VCRYPTO_EXTRA_CFLAGS -+ppc_vcrypto_cflags = -maltivec -mvsx -mcrypto -+else -+ppc_vcrypto_cflags = -+endif -+ -+rijndael-ppc.o: $(srcdir)/rijndael-ppc.c Makefile -+ `echo $(COMPILE) $(ppc_vcrypto_cflags) -c $< ` -+ -+rijndael-ppc.lo: $(srcdir)/rijndael-ppc.c Makefile -+ `echo $(LTCOMPILE) $(ppc_vcrypto_cflags) -c $< ` -+ -+rijndael-ppc9le.o: $(srcdir)/rijndael-ppc9le.c Makefile -+ `echo $(COMPILE) $(ppc_vcrypto_cflags) -c $< ` -+ -+rijndael-ppc9le.lo: $(srcdir)/rijndael-ppc9le.c Makefile -+ `echo $(LTCOMPILE) $(ppc_vcrypto_cflags) -c $< ` -+ -+ -diff -up libgcrypt-1.8.5/cipher/rfc2268.c.aes-perf libgcrypt-1.8.5/cipher/rfc2268.c ---- libgcrypt-1.8.5/cipher/rfc2268.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/rfc2268.c 2020-04-22 18:29:41.670862229 +0200 -@@ -262,8 +262,10 @@ setkey_core (void *context, const unsign - } - - static gpg_err_code_t --do_setkey (void *context, const unsigned char *key, unsigned int keylen) -+do_setkey (void *context, const unsigned char *key, unsigned int keylen, -+ gcry_cipher_hd_t hd) - { -+ (void)hd; - return setkey_core (context, key, keylen, 1); - } - -diff -up libgcrypt-1.8.5/cipher/rijndael-aesni.c.aes-perf libgcrypt-1.8.5/cipher/rijndael-aesni.c ---- libgcrypt-1.8.5/cipher/rijndael-aesni.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/rijndael-aesni.c 2020-04-28 11:22:26.025519954 +0200 -@@ -327,8 +327,8 @@ _gcry_aes_aesni_do_setkey (RIJNDAEL_cont - - - /* Make a decryption key from an encryption key. */ --void --_gcry_aes_aesni_prepare_decryption (RIJNDAEL_context *ctx) -+static inline void -+do_aesni_prepare_decryption (RIJNDAEL_context *ctx) - { - /* The AES-NI decrypt instructions use the Equivalent Inverse - Cipher, thus we can't use the the standard decrypt key -@@ -338,8 +338,6 @@ _gcry_aes_aesni_prepare_decryption (RIJN - int rr; - int r; - -- aesni_prepare(); -- - #define DO_AESNI_AESIMC() \ - asm volatile ("movdqa %[ekey], %%xmm1\n\t" \ - /*"aesimc %%xmm1, %%xmm1\n\t"*/ \ -@@ -375,7 +373,13 @@ _gcry_aes_aesni_prepare_decryption (RIJN - dkey[r] = ekey[0]; - - #undef DO_AESNI_AESIMC -+} - -+void -+_gcry_aes_aesni_prepare_decryption (RIJNDAEL_context *ctx) -+{ -+ aesni_prepare(); -+ do_aesni_prepare_decryption (ctx); - aesni_cleanup(); - } - -@@ -1023,8 +1027,8 @@ _gcry_aes_aesni_encrypt (const RIJNDAEL_ - - - void --_gcry_aes_aesni_cfb_enc (RIJNDAEL_context *ctx, unsigned char *outbuf, -- const unsigned char *inbuf, unsigned char *iv, -+_gcry_aes_aesni_cfb_enc (RIJNDAEL_context *ctx, unsigned char *iv, -+ unsigned char *outbuf, const unsigned char *inbuf, - size_t nblocks) - { - aesni_prepare (); -@@ -1059,8 +1063,8 @@ _gcry_aes_aesni_cfb_enc (RIJNDAEL_contex - - - void --_gcry_aes_aesni_cbc_enc (RIJNDAEL_context *ctx, unsigned char *outbuf, -- const unsigned char *inbuf, unsigned char *iv, -+_gcry_aes_aesni_cbc_enc (RIJNDAEL_context *ctx, unsigned char *iv, -+ unsigned char *outbuf, const unsigned char *inbuf, - size_t nblocks, int cbc_mac) - { - aesni_prepare_2_6_variable; -@@ -1105,8 +1109,8 @@ _gcry_aes_aesni_cbc_enc (RIJNDAEL_contex - - - void --_gcry_aes_aesni_ctr_enc (RIJNDAEL_context *ctx, unsigned char *outbuf, -- const unsigned char *inbuf, unsigned char *ctr, -+_gcry_aes_aesni_ctr_enc (RIJNDAEL_context *ctx, unsigned char *ctr, -+ unsigned char *outbuf, const unsigned char *inbuf, - size_t nblocks) - { - static const unsigned char be_mask[16] __attribute__ ((aligned (16))) = -@@ -1160,8 +1164,8 @@ _gcry_aes_aesni_decrypt (const RIJNDAEL_ - - - void --_gcry_aes_aesni_cfb_dec (RIJNDAEL_context *ctx, unsigned char *outbuf, -- const unsigned char *inbuf, unsigned char *iv, -+_gcry_aes_aesni_cfb_dec (RIJNDAEL_context *ctx, unsigned char *iv, -+ unsigned char *outbuf, const unsigned char *inbuf, - size_t nblocks) - { - aesni_prepare_2_6_variable; -@@ -1245,15 +1249,21 @@ _gcry_aes_aesni_cfb_dec (RIJNDAEL_contex - - - void --_gcry_aes_aesni_cbc_dec (RIJNDAEL_context *ctx, unsigned char *outbuf, -- const unsigned char *inbuf, unsigned char *iv, -- size_t nblocks) -+_gcry_aes_aesni_cbc_dec (RIJNDAEL_context *ctx, unsigned char *iv, -+ unsigned char *outbuf, const unsigned char *inbuf, -+ size_t nblocks) - { - aesni_prepare_2_6_variable; - - aesni_prepare (); - aesni_prepare_2_6(); - -+ if ( !ctx->decryption_prepared ) -+ { -+ do_aesni_prepare_decryption ( ctx ); -+ ctx->decryption_prepared = 1; -+ } -+ - asm volatile - ("movdqu %[iv], %%xmm5\n\t" /* use xmm5 as fast IV storage */ - : /* No output */ -@@ -1514,6 +1524,12 @@ aesni_ocb_dec (gcry_cipher_hd_t c, void - aesni_prepare (); - aesni_prepare_2_6 (); - -+ if ( !ctx->decryption_prepared ) -+ { -+ do_aesni_prepare_decryption ( ctx ); -+ ctx->decryption_prepared = 1; -+ } -+ - /* Preload Offset and Checksum */ - asm volatile ("movdqu %[iv], %%xmm5\n\t" - "movdqu %[ctr], %%xmm6\n\t" -@@ -1665,7 +1681,7 @@ aesni_ocb_dec (gcry_cipher_hd_t c, void - } - - --void -+size_t - _gcry_aes_aesni_ocb_crypt(gcry_cipher_hd_t c, void *outbuf_arg, - const void *inbuf_arg, size_t nblocks, int encrypt) - { -@@ -1673,10 +1689,12 @@ _gcry_aes_aesni_ocb_crypt(gcry_cipher_hd - aesni_ocb_enc(c, outbuf_arg, inbuf_arg, nblocks); - else - aesni_ocb_dec(c, outbuf_arg, inbuf_arg, nblocks); -+ -+ return 0; - } - - --void -+size_t - _gcry_aes_aesni_ocb_auth (gcry_cipher_hd_t c, const void *abuf_arg, - size_t nblocks) - { -@@ -1810,7 +1828,306 @@ _gcry_aes_aesni_ocb_auth (gcry_cipher_hd - - aesni_cleanup (); - aesni_cleanup_2_6 (); -+ -+ return 0; - } - - -+static const u64 xts_gfmul_const[16] __attribute__ ((aligned (16))) = -+ { 0x87, 0x01 }; -+ -+ -+static void -+_gcry_aes_aesni_xts_enc (RIJNDAEL_context *ctx, unsigned char *tweak, -+ unsigned char *outbuf, const unsigned char *inbuf, -+ size_t nblocks) -+{ -+ aesni_prepare_2_6_variable; -+ -+ aesni_prepare (); -+ aesni_prepare_2_6 (); -+ -+ /* Preload Tweak */ -+ asm volatile ("movdqu %[tweak], %%xmm5\n\t" -+ "movdqa %[gfmul], %%xmm6\n\t" -+ : -+ : [tweak] "m" (*tweak), -+ [gfmul] "m" (*xts_gfmul_const) -+ : "memory" ); -+ -+ for ( ;nblocks >= 4; nblocks -= 4 ) -+ { -+ asm volatile ("pshufd $0x13, %%xmm5, %%xmm4\n\t" -+ "movdqu %[inbuf0], %%xmm1\n\t" -+ "pxor %%xmm5, %%xmm1\n\t" -+ "movdqu %%xmm5, %[outbuf0]\n\t" -+ -+ "movdqa %%xmm4, %%xmm0\n\t" -+ "paddd %%xmm4, %%xmm4\n\t" -+ "psrad $31, %%xmm0\n\t" -+ "paddq %%xmm5, %%xmm5\n\t" -+ "pand %%xmm6, %%xmm0\n\t" -+ "pxor %%xmm0, %%xmm5\n\t" -+ : [outbuf0] "=m" (*(outbuf + 0 * 16)) -+ : [inbuf0] "m" (*(inbuf + 0 * 16)) -+ : "memory" ); -+ -+ asm volatile ("movdqu %[inbuf1], %%xmm2\n\t" -+ "pxor %%xmm5, %%xmm2\n\t" -+ "movdqu %%xmm5, %[outbuf1]\n\t" -+ -+ "movdqa %%xmm4, %%xmm0\n\t" -+ "paddd %%xmm4, %%xmm4\n\t" -+ "psrad $31, %%xmm0\n\t" -+ "paddq %%xmm5, %%xmm5\n\t" -+ "pand %%xmm6, %%xmm0\n\t" -+ "pxor %%xmm0, %%xmm5\n\t" -+ : [outbuf1] "=m" (*(outbuf + 1 * 16)) -+ : [inbuf1] "m" (*(inbuf + 1 * 16)) -+ : "memory" ); -+ -+ asm volatile ("movdqu %[inbuf2], %%xmm3\n\t" -+ "pxor %%xmm5, %%xmm3\n\t" -+ "movdqu %%xmm5, %[outbuf2]\n\t" -+ -+ "movdqa %%xmm4, %%xmm0\n\t" -+ "paddd %%xmm4, %%xmm4\n\t" -+ "psrad $31, %%xmm0\n\t" -+ "paddq %%xmm5, %%xmm5\n\t" -+ "pand %%xmm6, %%xmm0\n\t" -+ "pxor %%xmm0, %%xmm5\n\t" -+ : [outbuf2] "=m" (*(outbuf + 2 * 16)) -+ : [inbuf2] "m" (*(inbuf + 2 * 16)) -+ : "memory" ); -+ -+ asm volatile ("movdqa %%xmm4, %%xmm0\n\t" -+ "movdqu %[inbuf3], %%xmm4\n\t" -+ "pxor %%xmm5, %%xmm4\n\t" -+ "movdqu %%xmm5, %[outbuf3]\n\t" -+ -+ "psrad $31, %%xmm0\n\t" -+ "paddq %%xmm5, %%xmm5\n\t" -+ "pand %%xmm6, %%xmm0\n\t" -+ "pxor %%xmm0, %%xmm5\n\t" -+ : [outbuf3] "=m" (*(outbuf + 3 * 16)) -+ : [inbuf3] "m" (*(inbuf + 3 * 16)) -+ : "memory" ); -+ -+ do_aesni_enc_vec4 (ctx); -+ -+ asm volatile ("movdqu %[outbuf0], %%xmm0\n\t" -+ "pxor %%xmm0, %%xmm1\n\t" -+ "movdqu %[outbuf1], %%xmm0\n\t" -+ "movdqu %%xmm1, %[outbuf0]\n\t" -+ "movdqu %[outbuf2], %%xmm1\n\t" -+ "pxor %%xmm0, %%xmm2\n\t" -+ "movdqu %[outbuf3], %%xmm0\n\t" -+ "pxor %%xmm1, %%xmm3\n\t" -+ "pxor %%xmm0, %%xmm4\n\t" -+ "movdqu %%xmm2, %[outbuf1]\n\t" -+ "movdqu %%xmm3, %[outbuf2]\n\t" -+ "movdqu %%xmm4, %[outbuf3]\n\t" -+ : [outbuf0] "+m" (*(outbuf + 0 * 16)), -+ [outbuf1] "+m" (*(outbuf + 1 * 16)), -+ [outbuf2] "+m" (*(outbuf + 2 * 16)), -+ [outbuf3] "+m" (*(outbuf + 3 * 16)) -+ : -+ : "memory" ); -+ -+ outbuf += BLOCKSIZE * 4; -+ inbuf += BLOCKSIZE * 4; -+ } -+ -+ for ( ;nblocks; nblocks-- ) -+ { -+ asm volatile ("movdqu %[inbuf], %%xmm0\n\t" -+ "pxor %%xmm5, %%xmm0\n\t" -+ "movdqa %%xmm5, %%xmm4\n\t" -+ -+ "pshufd $0x13, %%xmm5, %%xmm1\n\t" -+ "psrad $31, %%xmm1\n\t" -+ "paddq %%xmm5, %%xmm5\n\t" -+ "pand %%xmm6, %%xmm1\n\t" -+ "pxor %%xmm1, %%xmm5\n\t" -+ : -+ : [inbuf] "m" (*inbuf) -+ : "memory" ); -+ -+ do_aesni_enc (ctx); -+ -+ asm volatile ("pxor %%xmm4, %%xmm0\n\t" -+ "movdqu %%xmm0, %[outbuf]\n\t" -+ : [outbuf] "=m" (*outbuf) -+ : -+ : "memory" ); -+ -+ outbuf += BLOCKSIZE; -+ inbuf += BLOCKSIZE; -+ } -+ -+ asm volatile ("movdqu %%xmm5, %[tweak]\n\t" -+ : [tweak] "=m" (*tweak) -+ : -+ : "memory" ); -+ -+ aesni_cleanup (); -+ aesni_cleanup_2_6 (); -+} -+ -+ -+static void -+_gcry_aes_aesni_xts_dec (RIJNDAEL_context *ctx, unsigned char *tweak, -+ unsigned char *outbuf, const unsigned char *inbuf, -+ size_t nblocks) -+{ -+ aesni_prepare_2_6_variable; -+ -+ aesni_prepare (); -+ aesni_prepare_2_6 (); -+ -+ if ( !ctx->decryption_prepared ) -+ { -+ do_aesni_prepare_decryption ( ctx ); -+ ctx->decryption_prepared = 1; -+ } -+ -+ /* Preload Tweak */ -+ asm volatile ("movdqu %[tweak], %%xmm5\n\t" -+ "movdqa %[gfmul], %%xmm6\n\t" -+ : -+ : [tweak] "m" (*tweak), -+ [gfmul] "m" (*xts_gfmul_const) -+ : "memory" ); -+ -+ for ( ;nblocks >= 4; nblocks -= 4 ) -+ { -+ asm volatile ("pshufd $0x13, %%xmm5, %%xmm4\n\t" -+ "movdqu %[inbuf0], %%xmm1\n\t" -+ "pxor %%xmm5, %%xmm1\n\t" -+ "movdqu %%xmm5, %[outbuf0]\n\t" -+ -+ "movdqa %%xmm4, %%xmm0\n\t" -+ "paddd %%xmm4, %%xmm4\n\t" -+ "psrad $31, %%xmm0\n\t" -+ "paddq %%xmm5, %%xmm5\n\t" -+ "pand %%xmm6, %%xmm0\n\t" -+ "pxor %%xmm0, %%xmm5\n\t" -+ : [outbuf0] "=m" (*(outbuf + 0 * 16)) -+ : [inbuf0] "m" (*(inbuf + 0 * 16)) -+ : "memory" ); -+ -+ asm volatile ("movdqu %[inbuf1], %%xmm2\n\t" -+ "pxor %%xmm5, %%xmm2\n\t" -+ "movdqu %%xmm5, %[outbuf1]\n\t" -+ -+ "movdqa %%xmm4, %%xmm0\n\t" -+ "paddd %%xmm4, %%xmm4\n\t" -+ "psrad $31, %%xmm0\n\t" -+ "paddq %%xmm5, %%xmm5\n\t" -+ "pand %%xmm6, %%xmm0\n\t" -+ "pxor %%xmm0, %%xmm5\n\t" -+ : [outbuf1] "=m" (*(outbuf + 1 * 16)) -+ : [inbuf1] "m" (*(inbuf + 1 * 16)) -+ : "memory" ); -+ -+ asm volatile ("movdqu %[inbuf2], %%xmm3\n\t" -+ "pxor %%xmm5, %%xmm3\n\t" -+ "movdqu %%xmm5, %[outbuf2]\n\t" -+ -+ "movdqa %%xmm4, %%xmm0\n\t" -+ "paddd %%xmm4, %%xmm4\n\t" -+ "psrad $31, %%xmm0\n\t" -+ "paddq %%xmm5, %%xmm5\n\t" -+ "pand %%xmm6, %%xmm0\n\t" -+ "pxor %%xmm0, %%xmm5\n\t" -+ : [outbuf2] "=m" (*(outbuf + 2 * 16)) -+ : [inbuf2] "m" (*(inbuf + 2 * 16)) -+ : "memory" ); -+ -+ asm volatile ("movdqa %%xmm4, %%xmm0\n\t" -+ "movdqu %[inbuf3], %%xmm4\n\t" -+ "pxor %%xmm5, %%xmm4\n\t" -+ "movdqu %%xmm5, %[outbuf3]\n\t" -+ -+ "psrad $31, %%xmm0\n\t" -+ "paddq %%xmm5, %%xmm5\n\t" -+ "pand %%xmm6, %%xmm0\n\t" -+ "pxor %%xmm0, %%xmm5\n\t" -+ : [outbuf3] "=m" (*(outbuf + 3 * 16)) -+ : [inbuf3] "m" (*(inbuf + 3 * 16)) -+ : "memory" ); -+ -+ do_aesni_dec_vec4 (ctx); -+ -+ asm volatile ("movdqu %[outbuf0], %%xmm0\n\t" -+ "pxor %%xmm0, %%xmm1\n\t" -+ "movdqu %[outbuf1], %%xmm0\n\t" -+ "movdqu %%xmm1, %[outbuf0]\n\t" -+ "movdqu %[outbuf2], %%xmm1\n\t" -+ "pxor %%xmm0, %%xmm2\n\t" -+ "movdqu %[outbuf3], %%xmm0\n\t" -+ "pxor %%xmm1, %%xmm3\n\t" -+ "pxor %%xmm0, %%xmm4\n\t" -+ "movdqu %%xmm2, %[outbuf1]\n\t" -+ "movdqu %%xmm3, %[outbuf2]\n\t" -+ "movdqu %%xmm4, %[outbuf3]\n\t" -+ : [outbuf0] "+m" (*(outbuf + 0 * 16)), -+ [outbuf1] "+m" (*(outbuf + 1 * 16)), -+ [outbuf2] "+m" (*(outbuf + 2 * 16)), -+ [outbuf3] "+m" (*(outbuf + 3 * 16)) -+ : -+ : "memory" ); -+ -+ outbuf += BLOCKSIZE * 4; -+ inbuf += BLOCKSIZE * 4; -+ } -+ -+ for ( ;nblocks; nblocks-- ) -+ { -+ asm volatile ("movdqu %[inbuf], %%xmm0\n\t" -+ "pxor %%xmm5, %%xmm0\n\t" -+ "movdqa %%xmm5, %%xmm4\n\t" -+ -+ "pshufd $0x13, %%xmm5, %%xmm1\n\t" -+ "psrad $31, %%xmm1\n\t" -+ "paddq %%xmm5, %%xmm5\n\t" -+ "pand %%xmm6, %%xmm1\n\t" -+ "pxor %%xmm1, %%xmm5\n\t" -+ : -+ : [inbuf] "m" (*inbuf) -+ : "memory" ); -+ -+ do_aesni_dec (ctx); -+ -+ asm volatile ("pxor %%xmm4, %%xmm0\n\t" -+ "movdqu %%xmm0, %[outbuf]\n\t" -+ : [outbuf] "=m" (*outbuf) -+ : -+ : "memory" ); -+ -+ outbuf += BLOCKSIZE; -+ inbuf += BLOCKSIZE; -+ } -+ -+ asm volatile ("movdqu %%xmm5, %[tweak]\n\t" -+ : [tweak] "=m" (*tweak) -+ : -+ : "memory" ); -+ -+ aesni_cleanup (); -+ aesni_cleanup_2_6 (); -+} -+ -+ -+void -+_gcry_aes_aesni_xts_crypt (RIJNDAEL_context *ctx, unsigned char *tweak, -+ unsigned char *outbuf, const unsigned char *inbuf, -+ size_t nblocks, int encrypt) -+{ -+ if (encrypt) -+ _gcry_aes_aesni_xts_enc(ctx, tweak, outbuf, inbuf, nblocks); -+ else -+ _gcry_aes_aesni_xts_dec(ctx, tweak, outbuf, inbuf, nblocks); -+} -+ - #endif /* USE_AESNI */ -diff -up libgcrypt-1.8.5/cipher/rijndael-armv8-aarch32-ce.S.aes-perf libgcrypt-1.8.5/cipher/rijndael-armv8-aarch32-ce.S ---- libgcrypt-1.8.5/cipher/rijndael-armv8-aarch32-ce.S.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/rijndael-armv8-aarch32-ce.S 2020-04-22 18:29:41.673862172 +0200 -@@ -1517,6 +1517,317 @@ _gcry_aes_ocb_auth_armv8_ce: - .size _gcry_aes_ocb_auth_armv8_ce,.-_gcry_aes_ocb_auth_armv8_ce; - - -+ -+/* -+ * void _gcry_aes_xts_enc_armv8_ce (const void *keysched, -+ * unsigned char *outbuf, -+ * const unsigned char *inbuf, -+ * unsigned char *iv, unsigned int nrounds); -+ */ -+ -+.align 3 -+.globl _gcry_aes_xts_enc_armv8_ce -+.type _gcry_aes_xts_enc_armv8_ce,%function; -+_gcry_aes_xts_enc_armv8_ce: -+ /* input: -+ * r0: keysched -+ * r1: outbuf -+ * r2: inbuf -+ * r3: iv -+ * %st+0: nblocks => r4 -+ * %st+4: nrounds => r5 -+ */ -+ -+ vpush {q4-q7} -+ push {r4-r12,lr} /* 4*16 + 4*10 = 104b */ -+ ldr r4, [sp, #(104+0)] -+ ldr r5, [sp, #(104+4)] -+ cmp r4, #0 -+ beq .Lxts_enc_skip -+ -+ cmp r5, #12 -+ -+ vld1.8 {q0}, [r3] /* load tweak */ -+ mov r7, #0x87; -+ -+ aes_preload_keys(r0, r6); -+ -+ beq .Lxts_enc_entry_192 -+ bhi .Lxts_enc_entry_256 -+ -+#define CTR_XTS(bits, ...) \ -+ .Lxts_enc_entry_##bits: \ -+ cmp r4, #4; \ -+ blo .Lxts_enc_loop_##bits; \ -+ \ -+ .Lxts_enc_loop4_##bits: \ -+ sub r4, r4, #4; \ -+ veor q9, q9, q9; \ -+ \ -+ vld1.8 {q1-q2}, [r2]!; /* load plaintext */ \ -+ veor q1, q1, q0; \ -+ cmp r4, #4; \ -+ vmov.u32 d18[0], r7; \ -+ vst1.8 {q0}, [r1]!; /* store tweak0 to temp */ \ -+ \ -+ vshr.s64 d16, d1, #63; \ -+ vshr.u64 d17, d0, #63; \ -+ vadd.u64 q0, q0, q0; \ -+ vand d16, d16, d18; \ -+ veor q0, q0, q8; \ -+ \ -+ vld1.8 {q3-q4}, [r2]!; /* load plaintext */ \ -+ veor q2, q2, q0; \ -+ vst1.8 {q0}, [r1]!; /* store tweak1 to temp */ \ -+ \ -+ vshr.s64 d16, d1, #63; \ -+ vshr.u64 d17, d0, #63; \ -+ vadd.u64 q0, q0, q0; \ -+ vand d16, d16, d18; \ -+ veor q0, q0, q8; \ -+ \ -+ veor q3, q3, q0; \ -+ vst1.8 {q0}, [r1]!; /* store tweak2 to temp */ \ -+ \ -+ vshr.s64 d16, d1, #63; \ -+ vshr.u64 d17, d0, #63; \ -+ vadd.u64 q0, q0, q0; \ -+ vand d16, d16, d18; \ -+ veor q0, q0, q8; \ -+ \ -+ veor q4, q4, q0; \ -+ vst1.8 {q0}, [r1]; /* store tweak3 to temp */ \ -+ sub r1, r1, #48; \ -+ \ -+ vshr.s64 d16, d1, #63; \ -+ vshr.u64 d17, d0, #63; \ -+ vadd.u64 q0, q0, q0; \ -+ vand d16, d16, d18; \ -+ veor q0, q0, q8; \ -+ \ -+ do_aes_4_##bits(e, mc, q1, q2, q3, q4, ##__VA_ARGS__); \ -+ \ -+ vld1.8 {q8-q9}, [r1]!; /* load tweak from temp */ \ -+ veor q1, q1, q8; \ -+ veor q2, q2, q9; \ -+ vld1.8 {q8-q9}, [r1]; /* load tweak from temp */ \ -+ sub r1, r1, #32; \ -+ veor q3, q3, q8; \ -+ veor q4, q4, q9; \ -+ vst1.8 {q1-q2}, [r1]!; /* store plaintext */ \ -+ vst1.8 {q3-q4}, [r1]!; /* store plaintext */ \ -+ \ -+ bhs .Lxts_enc_loop4_##bits; \ -+ cmp r4, #0; \ -+ beq .Lxts_enc_done; \ -+ \ -+ .Lxts_enc_loop_##bits: \ -+ \ -+ vld1.8 {q1}, [r2]!; /* load ciphertext */ \ -+ \ -+ veor q9, q9, q9; \ -+ veor q1, q1, q0; \ -+ vmov.u32 d18[0], r7; \ -+ vmov q2, q0; \ -+ \ -+ vshr.s64 d16, d1, #63; \ -+ vshr.u64 d17, d0, #63; \ -+ vadd.u64 q0, q0, q0; \ -+ vand d16, d16, d18; \ -+ veor q0, q0, q8; \ -+ subs r4, r4, #1; \ -+ \ -+ do_aes_one##bits(e, mc, q1, q1, ##__VA_ARGS__); \ -+ \ -+ veor q1, q1, q2; \ -+ vst1.8 {q1}, [r1]!; /* store plaintext */ \ -+ \ -+ bne .Lxts_enc_loop_##bits; \ -+ b .Lxts_enc_done; -+ -+ CTR_XTS(128re, r0, r6) -+ CTR_XTS(192, r0, r6) -+ CTR_XTS(256, r0, r6) -+ -+#undef CTR_XTS -+ -+.Lxts_enc_done: -+ vst1.8 {q0}, [r3] /* store tweak */ -+ -+ CLEAR_REG(q0) -+ CLEAR_REG(q1) -+ CLEAR_REG(q2) -+ CLEAR_REG(q3) -+ CLEAR_REG(q8) -+ CLEAR_REG(q9) -+ CLEAR_REG(q10) -+ CLEAR_REG(q11) -+ CLEAR_REG(q12) -+ CLEAR_REG(q13) -+ CLEAR_REG(q14) -+ -+.Lxts_enc_skip: -+ pop {r4-r12,lr} -+ vpop {q4-q7} -+ bx lr -+.size _gcry_aes_xts_enc_armv8_ce,.-_gcry_aes_xts_enc_armv8_ce; -+ -+ -+/* -+ * void _gcry_aes_xts_dec_armv8_ce (const void *keysched, -+ * unsigned char *outbuf, -+ * const unsigned char *inbuf, -+ * unsigned char *iv, unsigned int nrounds); -+ */ -+ -+.align 3 -+.globl _gcry_aes_xts_dec_armv8_ce -+.type _gcry_aes_xts_dec_armv8_ce,%function; -+_gcry_aes_xts_dec_armv8_ce: -+ /* input: -+ * r0: keysched -+ * r1: outbuf -+ * r2: inbuf -+ * r3: iv -+ * %st+0: nblocks => r4 -+ * %st+4: nrounds => r5 -+ */ -+ -+ vpush {q4-q7} -+ push {r4-r12,lr} /* 4*16 + 4*10 = 104b */ -+ ldr r4, [sp, #(104+0)] -+ ldr r5, [sp, #(104+4)] -+ cmp r4, #0 -+ beq .Lxts_dec_skip -+ -+ cmp r5, #12 -+ -+ vld1.8 {q0}, [r3] /* load tweak */ -+ mov r7, #0x87; -+ -+ aes_preload_keys(r0, r6); -+ -+ beq .Lxts_dec_entry_192 -+ bhi .Lxts_dec_entry_256 -+ -+#define CTR_XTS(bits, ...) \ -+ .Lxts_dec_entry_##bits: \ -+ cmp r4, #4; \ -+ blo .Lxts_dec_loop_##bits; \ -+ \ -+ .Lxts_dec_loop4_##bits: \ -+ sub r4, r4, #4; \ -+ veor q9, q9, q9; \ -+ \ -+ vld1.8 {q1-q2}, [r2]!; /* load plaintext */ \ -+ veor q1, q1, q0; \ -+ cmp r4, #4; \ -+ vmov.u32 d18[0], r7; \ -+ vst1.8 {q0}, [r1]!; /* store tweak0 to temp */ \ -+ \ -+ vshr.s64 d16, d1, #63; \ -+ vshr.u64 d17, d0, #63; \ -+ vadd.u64 q0, q0, q0; \ -+ vand d16, d16, d18; \ -+ veor q0, q0, q8; \ -+ \ -+ vld1.8 {q3-q4}, [r2]!; /* load plaintext */ \ -+ veor q2, q2, q0; \ -+ vst1.8 {q0}, [r1]!; /* store tweak1 to temp */ \ -+ \ -+ vshr.s64 d16, d1, #63; \ -+ vshr.u64 d17, d0, #63; \ -+ vadd.u64 q0, q0, q0; \ -+ vand d16, d16, d18; \ -+ veor q0, q0, q8; \ -+ \ -+ veor q3, q3, q0; \ -+ vst1.8 {q0}, [r1]!; /* store tweak2 to temp */ \ -+ \ -+ vshr.s64 d16, d1, #63; \ -+ vshr.u64 d17, d0, #63; \ -+ vadd.u64 q0, q0, q0; \ -+ vand d16, d16, d18; \ -+ veor q0, q0, q8; \ -+ \ -+ veor q4, q4, q0; \ -+ vst1.8 {q0}, [r1]; /* store tweak3 to temp */ \ -+ sub r1, r1, #48; \ -+ \ -+ vshr.s64 d16, d1, #63; \ -+ vshr.u64 d17, d0, #63; \ -+ vadd.u64 q0, q0, q0; \ -+ vand d16, d16, d18; \ -+ veor q0, q0, q8; \ -+ \ -+ do_aes_4_##bits(d, imc, q1, q2, q3, q4, ##__VA_ARGS__); \ -+ \ -+ vld1.8 {q8-q9}, [r1]!; /* load tweak from temp */ \ -+ veor q1, q1, q8; \ -+ veor q2, q2, q9; \ -+ vld1.8 {q8-q9}, [r1]; /* load tweak from temp */ \ -+ sub r1, r1, #32; \ -+ veor q3, q3, q8; \ -+ veor q4, q4, q9; \ -+ vst1.8 {q1-q2}, [r1]!; /* store plaintext */ \ -+ vst1.8 {q3-q4}, [r1]!; /* store plaintext */ \ -+ \ -+ bhs .Lxts_dec_loop4_##bits; \ -+ cmp r4, #0; \ -+ beq .Lxts_dec_done; \ -+ \ -+ .Lxts_dec_loop_##bits: \ -+ \ -+ vld1.8 {q1}, [r2]!; /* load ciphertext */ \ -+ \ -+ veor q9, q9, q9; \ -+ veor q1, q1, q0; \ -+ vmov.u32 d18[0], r7; \ -+ vmov q2, q0; \ -+ \ -+ vshr.s64 d16, d1, #63; \ -+ vshr.u64 d17, d0, #63; \ -+ vadd.u64 q0, q0, q0; \ -+ vand d16, d16, d18; \ -+ veor q0, q0, q8; \ -+ subs r4, r4, #1; \ -+ \ -+ do_aes_one##bits(d, imc, q1, q1, ##__VA_ARGS__); \ -+ \ -+ veor q1, q1, q2; \ -+ vst1.8 {q1}, [r1]!; /* store plaintext */ \ -+ \ -+ bne .Lxts_dec_loop_##bits; \ -+ b .Lxts_dec_done; -+ -+ CTR_XTS(128re, r0, r6) -+ CTR_XTS(192, r0, r6) -+ CTR_XTS(256, r0, r6) -+ -+#undef CTR_XTS -+ -+.Lxts_dec_done: -+ vst1.8 {q0}, [r3] /* store tweak */ -+ -+ CLEAR_REG(q0) -+ CLEAR_REG(q1) -+ CLEAR_REG(q2) -+ CLEAR_REG(q3) -+ CLEAR_REG(q8) -+ CLEAR_REG(q9) -+ CLEAR_REG(q10) -+ CLEAR_REG(q11) -+ CLEAR_REG(q12) -+ CLEAR_REG(q13) -+ CLEAR_REG(q14) -+ -+.Lxts_dec_skip: -+ pop {r4-r12,lr} -+ vpop {q4-q7} -+ bx lr -+.size _gcry_aes_xts_dec_armv8_ce,.-_gcry_aes_xts_dec_armv8_ce; -+ -+ - /* - * u32 _gcry_aes_sbox4_armv8_ce(u32 in4b); - */ -diff -up libgcrypt-1.8.5/cipher/rijndael-armv8-aarch64-ce.S.aes-perf libgcrypt-1.8.5/cipher/rijndael-armv8-aarch64-ce.S ---- libgcrypt-1.8.5/cipher/rijndael-armv8-aarch64-ce.S.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/rijndael-armv8-aarch64-ce.S 2020-04-22 18:29:41.674862153 +0200 -@@ -1157,8 +1157,8 @@ _gcry_aes_ocb_auth_armv8_ce: - * w6: nrounds => w7 - * w7: blkn => w12 - */ -- mov x12, x7 -- mov x7, x6 -+ mov w12, w7 -+ mov w7, w6 - mov x6, x5 - mov x5, x4 - mov x4, x3 -@@ -1277,6 +1277,284 @@ _gcry_aes_ocb_auth_armv8_ce: - - - /* -+ * void _gcry_aes_xts_enc_armv8_ce (const void *keysched, -+ * unsigned char *outbuf, -+ * const unsigned char *inbuf, -+ * unsigned char *tweak, -+ * size_t nblocks, -+ * unsigned int nrounds); -+ */ -+ -+.align 3 -+.globl _gcry_aes_xts_enc_armv8_ce -+.type _gcry_aes_xts_enc_armv8_ce,%function; -+_gcry_aes_xts_enc_armv8_ce: -+ /* input: -+ * r0: keysched -+ * r1: outbuf -+ * r2: inbuf -+ * r3: tweak -+ * x4: nblocks -+ * w5: nrounds -+ */ -+ -+ cbz x4, .Lxts_enc_skip -+ -+ /* load tweak */ -+ ld1 {v0.16b}, [x3] -+ -+ /* load gfmul mask */ -+ mov x6, #0x87 -+ mov x7, #0x01 -+ mov v16.D[0], x6 -+ mov v16.D[1], x7 -+ -+ aes_preload_keys(x0, w5); -+ -+ b.eq .Lxts_enc_entry_192 -+ b.hi .Lxts_enc_entry_256 -+ -+#define XTS_ENC(bits) \ -+ .Lxts_enc_entry_##bits: \ -+ cmp x4, #4; \ -+ b.lo .Lxts_enc_loop_##bits; \ -+ \ -+ .Lxts_enc_loop4_##bits: \ -+ \ -+ ext v4.16b, v0.16b, v0.16b, #8; \ -+ \ -+ sshr v2.2d, v4.2d, #63; \ -+ add v5.2d, v0.2d, v0.2d; \ -+ and v2.16b, v2.16b, v16.16b; \ -+ add v4.2d, v4.2d, v4.2d; \ -+ eor v5.16b, v5.16b, v2.16b; \ -+ \ -+ sshr v2.2d, v4.2d, #63; \ -+ add v6.2d, v5.2d, v5.2d; \ -+ and v2.16b, v2.16b, v16.16b; \ -+ add v4.2d, v4.2d, v4.2d; \ -+ eor v6.16b, v6.16b, v2.16b; \ -+ \ -+ sshr v2.2d, v4.2d, #63; \ -+ add v7.2d, v6.2d, v6.2d; \ -+ and v2.16b, v2.16b, v16.16b; \ -+ add v4.2d, v4.2d, v4.2d; \ -+ eor v7.16b, v7.16b, v2.16b; \ -+ \ -+ sshr v2.2d, v4.2d, #63; \ -+ add v3.2d, v7.2d, v7.2d; \ -+ and v2.16b, v2.16b, v16.16b; \ -+ add v4.2d, v4.2d, v4.2d; \ -+ eor v3.16b, v3.16b, v2.16b; \ -+ ld1 {v1.16b-v2.16b}, [x2], #32; /* load plaintext */ \ -+ st1 {v3.16b}, [x3]; \ -+ sub x4, x4, #4; \ -+ eor v1.16b, v1.16b, v0.16b; \ -+ \ -+ ld1 {v3.16b-v4.16b}, [x2], #32; /* load plaintext */ \ -+ cmp x4, #4; \ -+ eor v2.16b, v2.16b, v5.16b; \ -+ eor v3.16b, v3.16b, v6.16b; \ -+ eor v4.16b, v4.16b, v7.16b; \ -+ \ -+ do_aes_4_##bits(e, mc, v1, v2, v3, v4); \ -+ \ -+ eor v1.16b, v1.16b, v0.16b; \ -+ ld1 {v0.16b}, [x3]; \ -+ eor v2.16b, v2.16b, v5.16b; \ -+ eor v3.16b, v3.16b, v6.16b; \ -+ eor v4.16b, v4.16b, v7.16b; \ -+ st1 {v1.16b-v4.16b}, [x1], #64; /* store plaintext */ \ -+ \ -+ b.hs .Lxts_enc_loop4_##bits; \ -+ CLEAR_REG(v3); \ -+ CLEAR_REG(v4); \ -+ CLEAR_REG(v5); \ -+ CLEAR_REG(v6); \ -+ CLEAR_REG(v7); \ -+ cbz x4, .Lxts_enc_done; \ -+ \ -+ .Lxts_enc_loop_##bits: \ -+ \ -+ ld1 {v1.16b}, [x2], #16; /* load plaintext */ \ -+ ext v3.16b, v0.16b, v0.16b, #8; \ -+ mov v2.16b, v0.16b; \ -+ sshr v3.2d, v3.2d, #63; \ -+ add v0.2d, v0.2d, v0.2d; \ -+ and v3.16b, v3.16b, v16.16b; \ -+ eor v1.16b, v1.16b, v2.16b; \ -+ eor v0.16b, v0.16b, v3.16b; \ -+ sub x4, x4, #1; \ -+ \ -+ do_aes_one##bits(e, mc, v1, v1); \ -+ \ -+ eor v1.16b, v1.16b, v2.16b; \ -+ st1 {v1.16b}, [x1], #16; /* store ciphertext */ \ -+ \ -+ cbnz x4, .Lxts_enc_loop_##bits; \ -+ b .Lxts_enc_done; -+ -+ XTS_ENC(128) -+ XTS_ENC(192) -+ XTS_ENC(256) -+ -+#undef XTS_ENC -+ -+.Lxts_enc_done: -+ aes_clear_keys(w5) -+ -+ st1 {v0.16b}, [x3] /* store tweak */ -+ -+ CLEAR_REG(v0) -+ CLEAR_REG(v1) -+ CLEAR_REG(v2) -+ -+.Lxts_enc_skip: -+ ret -+ -+.size _gcry_aes_xts_enc_armv8_ce,.-_gcry_aes_xts_enc_armv8_ce; -+ -+ -+/* -+ * void _gcry_aes_xts_dec_armv8_ce (const void *keysched, -+ * unsigned char *outbuf, -+ * const unsigned char *inbuf, -+ * unsigned char *tweak, -+ * size_t nblocks, -+ * unsigned int nrounds); -+ */ -+ -+.align 3 -+.globl _gcry_aes_xts_dec_armv8_ce -+.type _gcry_aes_xts_dec_armv8_ce,%function; -+_gcry_aes_xts_dec_armv8_ce: -+ /* input: -+ * r0: keysched -+ * r1: outbuf -+ * r2: inbuf -+ * r3: tweak -+ * x4: nblocks -+ * w5: nrounds -+ */ -+ -+ cbz x4, .Lxts_dec_skip -+ -+ /* load tweak */ -+ ld1 {v0.16b}, [x3] -+ -+ /* load gfmul mask */ -+ mov x6, #0x87 -+ mov x7, #0x01 -+ mov v16.D[0], x6 -+ mov v16.D[1], x7 -+ -+ aes_preload_keys(x0, w5); -+ -+ b.eq .Lxts_dec_entry_192 -+ b.hi .Lxts_dec_entry_256 -+ -+#define XTS_DEC(bits) \ -+ .Lxts_dec_entry_##bits: \ -+ cmp x4, #4; \ -+ b.lo .Lxts_dec_loop_##bits; \ -+ \ -+ .Lxts_dec_loop4_##bits: \ -+ \ -+ ext v4.16b, v0.16b, v0.16b, #8; \ -+ \ -+ sshr v2.2d, v4.2d, #63; \ -+ add v5.2d, v0.2d, v0.2d; \ -+ and v2.16b, v2.16b, v16.16b; \ -+ add v4.2d, v4.2d, v4.2d; \ -+ eor v5.16b, v5.16b, v2.16b; \ -+ \ -+ sshr v2.2d, v4.2d, #63; \ -+ add v6.2d, v5.2d, v5.2d; \ -+ and v2.16b, v2.16b, v16.16b; \ -+ add v4.2d, v4.2d, v4.2d; \ -+ eor v6.16b, v6.16b, v2.16b; \ -+ \ -+ sshr v2.2d, v4.2d, #63; \ -+ add v7.2d, v6.2d, v6.2d; \ -+ and v2.16b, v2.16b, v16.16b; \ -+ add v4.2d, v4.2d, v4.2d; \ -+ eor v7.16b, v7.16b, v2.16b; \ -+ \ -+ sshr v2.2d, v4.2d, #63; \ -+ add v3.2d, v7.2d, v7.2d; \ -+ and v2.16b, v2.16b, v16.16b; \ -+ add v4.2d, v4.2d, v4.2d; \ -+ eor v3.16b, v3.16b, v2.16b; \ -+ ld1 {v1.16b-v2.16b}, [x2], #32; /* load plaintext */ \ -+ st1 {v3.16b}, [x3]; \ -+ sub x4, x4, #4; \ -+ eor v1.16b, v1.16b, v0.16b; \ -+ \ -+ ld1 {v3.16b-v4.16b}, [x2], #32; /* load plaintext */ \ -+ cmp x4, #4; \ -+ eor v2.16b, v2.16b, v5.16b; \ -+ eor v3.16b, v3.16b, v6.16b; \ -+ eor v4.16b, v4.16b, v7.16b; \ -+ \ -+ do_aes_4_##bits(d, imc, v1, v2, v3, v4); \ -+ \ -+ eor v1.16b, v1.16b, v0.16b; \ -+ ld1 {v0.16b}, [x3]; \ -+ eor v2.16b, v2.16b, v5.16b; \ -+ eor v3.16b, v3.16b, v6.16b; \ -+ eor v4.16b, v4.16b, v7.16b; \ -+ st1 {v1.16b-v4.16b}, [x1], #64; /* store plaintext */ \ -+ \ -+ b.hs .Lxts_dec_loop4_##bits; \ -+ CLEAR_REG(v3); \ -+ CLEAR_REG(v4); \ -+ CLEAR_REG(v5); \ -+ CLEAR_REG(v6); \ -+ CLEAR_REG(v7); \ -+ cbz x4, .Lxts_dec_done; \ -+ \ -+ .Lxts_dec_loop_##bits: \ -+ \ -+ ld1 {v1.16b}, [x2], #16; /* load plaintext */ \ -+ ext v3.16b, v0.16b, v0.16b, #8; \ -+ mov v2.16b, v0.16b; \ -+ sshr v3.2d, v3.2d, #63; \ -+ add v0.2d, v0.2d, v0.2d; \ -+ and v3.16b, v3.16b, v16.16b; \ -+ eor v1.16b, v1.16b, v2.16b; \ -+ eor v0.16b, v0.16b, v3.16b; \ -+ sub x4, x4, #1; \ -+ \ -+ do_aes_one##bits(d, imc, v1, v1); \ -+ \ -+ eor v1.16b, v1.16b, v2.16b; \ -+ st1 {v1.16b}, [x1], #16; /* store ciphertext */ \ -+ \ -+ cbnz x4, .Lxts_dec_loop_##bits; \ -+ b .Lxts_dec_done; -+ -+ XTS_DEC(128) -+ XTS_DEC(192) -+ XTS_DEC(256) -+ -+#undef XTS_DEC -+ -+.Lxts_dec_done: -+ aes_clear_keys(w5) -+ -+ st1 {v0.16b}, [x3] /* store tweak */ -+ -+ CLEAR_REG(v0) -+ CLEAR_REG(v1) -+ CLEAR_REG(v2) -+ -+.Lxts_dec_skip: -+ ret -+ -+.size _gcry_aes_xts_dec_armv8_ce,.-_gcry_aes_xts_dec_armv8_ce; -+ -+ -+/* - * u32 _gcry_aes_sbox4_armv8_ce(u32 in4b); - */ - .align 3 -diff -up libgcrypt-1.8.5/cipher/rijndael-armv8-ce.c.aes-perf libgcrypt-1.8.5/cipher/rijndael-armv8-ce.c ---- libgcrypt-1.8.5/cipher/rijndael-armv8-ce.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/rijndael-armv8-ce.c 2020-04-22 18:29:41.675862134 +0200 -@@ -101,6 +101,16 @@ extern void _gcry_aes_ocb_auth_armv8_ce - size_t nblocks, - unsigned int nrounds, - unsigned int blkn); -+extern void _gcry_aes_xts_enc_armv8_ce (const void *keysched, -+ unsigned char *outbuf, -+ const unsigned char *inbuf, -+ unsigned char *tweak, -+ size_t nblocks, unsigned int nrounds); -+extern void _gcry_aes_xts_dec_armv8_ce (const void *keysched, -+ unsigned char *outbuf, -+ const unsigned char *inbuf, -+ unsigned char *tweak, -+ size_t nblocks, unsigned int nrounds); - - typedef void (*ocb_crypt_fn_t) (const void *keysched, unsigned char *outbuf, - const unsigned char *inbuf, -@@ -108,6 +118,11 @@ typedef void (*ocb_crypt_fn_t) (const vo - unsigned char *L_table, size_t nblocks, - unsigned int nrounds, unsigned int blkn); - -+typedef void (*xts_crypt_fn_t) (const void *keysched, unsigned char *outbuf, -+ const unsigned char *inbuf, -+ unsigned char *tweak, size_t nblocks, -+ unsigned int nrounds); -+ - void - _gcry_aes_armv8_ce_setkey (RIJNDAEL_context *ctx, const byte *key) - { -@@ -269,8 +284,8 @@ _gcry_aes_armv8_ce_decrypt (const RIJNDA - } - - void --_gcry_aes_armv8_ce_cbc_enc (const RIJNDAEL_context *ctx, unsigned char *outbuf, -- const unsigned char *inbuf, unsigned char *iv, -+_gcry_aes_armv8_ce_cbc_enc (const RIJNDAEL_context *ctx, unsigned char *iv, -+ unsigned char *outbuf, const unsigned char *inbuf, - size_t nblocks, int cbc_mac) - { - const void *keysched = ctx->keyschenc32; -@@ -281,19 +296,25 @@ _gcry_aes_armv8_ce_cbc_enc (const RIJNDA - } - - void --_gcry_aes_armv8_ce_cbc_dec (RIJNDAEL_context *ctx, unsigned char *outbuf, -- const unsigned char *inbuf, unsigned char *iv, -+_gcry_aes_armv8_ce_cbc_dec (RIJNDAEL_context *ctx, unsigned char *iv, -+ unsigned char *outbuf, const unsigned char *inbuf, - size_t nblocks) - { - const void *keysched = ctx->keyschdec32; - unsigned int nrounds = ctx->rounds; - -+ if ( !ctx->decryption_prepared ) -+ { -+ _gcry_aes_armv8_ce_prepare_decryption ( ctx ); -+ ctx->decryption_prepared = 1; -+ } -+ - _gcry_aes_cbc_dec_armv8_ce(keysched, outbuf, inbuf, iv, nblocks, nrounds); - } - - void --_gcry_aes_armv8_ce_cfb_enc (RIJNDAEL_context *ctx, unsigned char *outbuf, -- const unsigned char *inbuf, unsigned char *iv, -+_gcry_aes_armv8_ce_cfb_enc (RIJNDAEL_context *ctx, unsigned char *iv, -+ unsigned char *outbuf, const unsigned char *inbuf, - size_t nblocks) - { - const void *keysched = ctx->keyschenc32; -@@ -303,8 +324,8 @@ _gcry_aes_armv8_ce_cfb_enc (RIJNDAEL_con - } - - void --_gcry_aes_armv8_ce_cfb_dec (RIJNDAEL_context *ctx, unsigned char *outbuf, -- const unsigned char *inbuf, unsigned char *iv, -+_gcry_aes_armv8_ce_cfb_dec (RIJNDAEL_context *ctx, unsigned char *iv, -+ unsigned char *outbuf, const unsigned char *inbuf, - size_t nblocks) - { - const void *keysched = ctx->keyschenc32; -@@ -314,8 +335,8 @@ _gcry_aes_armv8_ce_cfb_dec (RIJNDAEL_con - } - - void --_gcry_aes_armv8_ce_ctr_enc (RIJNDAEL_context *ctx, unsigned char *outbuf, -- const unsigned char *inbuf, unsigned char *iv, -+_gcry_aes_armv8_ce_ctr_enc (RIJNDAEL_context *ctx, unsigned char *iv, -+ unsigned char *outbuf, const unsigned char *inbuf, - size_t nblocks) - { - const void *keysched = ctx->keyschenc32; -@@ -324,7 +345,7 @@ _gcry_aes_armv8_ce_ctr_enc (RIJNDAEL_con - _gcry_aes_ctr_enc_armv8_ce(keysched, outbuf, inbuf, iv, nblocks, nrounds); - } - --void -+size_t - _gcry_aes_armv8_ce_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg, - const void *inbuf_arg, size_t nblocks, - int encrypt) -@@ -338,13 +359,21 @@ _gcry_aes_armv8_ce_ocb_crypt (gcry_ciphe - unsigned int nrounds = ctx->rounds; - u64 blkn = c->u_mode.ocb.data_nblocks; - -+ if ( !encrypt && !ctx->decryption_prepared ) -+ { -+ _gcry_aes_armv8_ce_prepare_decryption ( ctx ); -+ ctx->decryption_prepared = 1; -+ } -+ - c->u_mode.ocb.data_nblocks = blkn + nblocks; - - crypt_fn(keysched, outbuf, inbuf, c->u_iv.iv, c->u_ctr.ctr, - c->u_mode.ocb.L[0], nblocks, nrounds, (unsigned int)blkn); -+ -+ return 0; - } - --void -+size_t - _gcry_aes_armv8_ce_ocb_auth (gcry_cipher_hd_t c, void *abuf_arg, - size_t nblocks) - { -@@ -359,6 +388,27 @@ _gcry_aes_armv8_ce_ocb_auth (gcry_cipher - _gcry_aes_ocb_auth_armv8_ce(keysched, abuf, c->u_mode.ocb.aad_offset, - c->u_mode.ocb.aad_sum, c->u_mode.ocb.L[0], - nblocks, nrounds, (unsigned int)blkn); -+ -+ return 0; -+} -+ -+void -+_gcry_aes_armv8_ce_xts_crypt (RIJNDAEL_context *ctx, unsigned char *tweak, -+ unsigned char *outbuf, const unsigned char *inbuf, -+ size_t nblocks, int encrypt) -+{ -+ const void *keysched = encrypt ? ctx->keyschenc32 : ctx->keyschdec32; -+ xts_crypt_fn_t crypt_fn = encrypt ? _gcry_aes_xts_enc_armv8_ce -+ : _gcry_aes_xts_dec_armv8_ce; -+ unsigned int nrounds = ctx->rounds; -+ -+ if ( !encrypt && !ctx->decryption_prepared ) -+ { -+ _gcry_aes_armv8_ce_prepare_decryption ( ctx ); -+ ctx->decryption_prepared = 1; -+ } -+ -+ crypt_fn(keysched, outbuf, inbuf, tweak, nblocks, nrounds); - } - - #endif /* USE_ARM_CE */ -diff -up libgcrypt-1.8.5/cipher/rijndael.c.aes-perf libgcrypt-1.8.5/cipher/rijndael.c ---- libgcrypt-1.8.5/cipher/rijndael.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/rijndael.c 2020-04-22 18:29:41.676862114 +0200 -@@ -77,32 +77,29 @@ extern unsigned int _gcry_aes_aesni_encr - extern unsigned int _gcry_aes_aesni_decrypt (const RIJNDAEL_context *ctx, - unsigned char *dst, - const unsigned char *src); --extern void _gcry_aes_aesni_cfb_enc (RIJNDAEL_context *ctx, -- unsigned char *outbuf, -- const unsigned char *inbuf, -- unsigned char *iv, size_t nblocks); --extern void _gcry_aes_aesni_cbc_enc (RIJNDAEL_context *ctx, -- unsigned char *outbuf, -- const unsigned char *inbuf, -- unsigned char *iv, size_t nblocks, -- int cbc_mac); --extern void _gcry_aes_aesni_ctr_enc (RIJNDAEL_context *ctx, -- unsigned char *outbuf, -- const unsigned char *inbuf, -- unsigned char *ctr, size_t nblocks); --extern void _gcry_aes_aesni_cfb_dec (RIJNDAEL_context *ctx, -- unsigned char *outbuf, -- const unsigned char *inbuf, -- unsigned char *iv, size_t nblocks); --extern void _gcry_aes_aesni_cbc_dec (RIJNDAEL_context *ctx, -- unsigned char *outbuf, -- const unsigned char *inbuf, -- unsigned char *iv, size_t nblocks); --extern void _gcry_aes_aesni_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg, -- const void *inbuf_arg, size_t nblocks, -- int encrypt); --extern void _gcry_aes_aesni_ocb_auth (gcry_cipher_hd_t c, const void *abuf_arg, -- size_t nblocks); -+extern void _gcry_aes_aesni_cfb_enc (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+extern void _gcry_aes_aesni_cbc_enc (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks, int cbc_mac); -+extern void _gcry_aes_aesni_ctr_enc (void *context, unsigned char *ctr, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+extern void _gcry_aes_aesni_cfb_dec (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+extern void _gcry_aes_aesni_cbc_dec (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+extern size_t _gcry_aes_aesni_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg, -+ const void *inbuf_arg, size_t nblocks, -+ int encrypt); -+extern size_t _gcry_aes_aesni_ocb_auth (gcry_cipher_hd_t c, const void *abuf_arg, -+ size_t nblocks); -+extern void _gcry_aes_aesni_xts_crypt (void *context, unsigned char *tweak, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks, int encrypt); - #endif - - #ifdef USE_SSSE3 -@@ -116,32 +113,27 @@ extern unsigned int _gcry_aes_ssse3_encr - extern unsigned int _gcry_aes_ssse3_decrypt (const RIJNDAEL_context *ctx, - unsigned char *dst, - const unsigned char *src); --extern void _gcry_aes_ssse3_cfb_enc (RIJNDAEL_context *ctx, -- unsigned char *outbuf, -- const unsigned char *inbuf, -- unsigned char *iv, size_t nblocks); --extern void _gcry_aes_ssse3_cbc_enc (RIJNDAEL_context *ctx, -- unsigned char *outbuf, -- const unsigned char *inbuf, -- unsigned char *iv, size_t nblocks, -+extern void _gcry_aes_ssse3_cfb_enc (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+extern void _gcry_aes_ssse3_cbc_enc (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks, - int cbc_mac); --extern void _gcry_aes_ssse3_ctr_enc (RIJNDAEL_context *ctx, -- unsigned char *outbuf, -- const unsigned char *inbuf, -- unsigned char *ctr, size_t nblocks); --extern void _gcry_aes_ssse3_cfb_dec (RIJNDAEL_context *ctx, -- unsigned char *outbuf, -- const unsigned char *inbuf, -- unsigned char *iv, size_t nblocks); --extern void _gcry_aes_ssse3_cbc_dec (RIJNDAEL_context *ctx, -- unsigned char *outbuf, -- const unsigned char *inbuf, -- unsigned char *iv, size_t nblocks); --extern void _gcry_aes_ssse3_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg, -- const void *inbuf_arg, size_t nblocks, -- int encrypt); --extern void _gcry_aes_ssse3_ocb_auth (gcry_cipher_hd_t c, const void *abuf_arg, -- size_t nblocks); -+extern void _gcry_aes_ssse3_ctr_enc (void *context, unsigned char *ctr, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+extern void _gcry_aes_ssse3_cfb_dec (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+extern void _gcry_aes_ssse3_cbc_dec (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+extern size_t _gcry_aes_ssse3_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg, -+ const void *inbuf_arg, size_t nblocks, -+ int encrypt); -+extern size_t _gcry_aes_ssse3_ocb_auth (gcry_cipher_hd_t c, const void *abuf_arg, -+ size_t nblocks); - #endif - - #ifdef USE_PADLOCK -@@ -180,34 +172,110 @@ extern unsigned int _gcry_aes_armv8_ce_d - unsigned char *dst, - const unsigned char *src); - --extern void _gcry_aes_armv8_ce_cfb_enc (RIJNDAEL_context *ctx, -- unsigned char *outbuf, -- const unsigned char *inbuf, -- unsigned char *iv, size_t nblocks); --extern void _gcry_aes_armv8_ce_cbc_enc (RIJNDAEL_context *ctx, -- unsigned char *outbuf, -- const unsigned char *inbuf, -- unsigned char *iv, size_t nblocks, -+extern void _gcry_aes_armv8_ce_cfb_enc (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+extern void _gcry_aes_armv8_ce_cbc_enc (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks, - int cbc_mac); --extern void _gcry_aes_armv8_ce_ctr_enc (RIJNDAEL_context *ctx, -- unsigned char *outbuf, -- const unsigned char *inbuf, -- unsigned char *ctr, size_t nblocks); --extern void _gcry_aes_armv8_ce_cfb_dec (RIJNDAEL_context *ctx, -- unsigned char *outbuf, -- const unsigned char *inbuf, -- unsigned char *iv, size_t nblocks); --extern void _gcry_aes_armv8_ce_cbc_dec (RIJNDAEL_context *ctx, -- unsigned char *outbuf, -- const unsigned char *inbuf, -- unsigned char *iv, size_t nblocks); --extern void _gcry_aes_armv8_ce_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg, -- const void *inbuf_arg, size_t nblocks, -- int encrypt); --extern void _gcry_aes_armv8_ce_ocb_auth (gcry_cipher_hd_t c, -- const void *abuf_arg, size_t nblocks); -+extern void _gcry_aes_armv8_ce_ctr_enc (void *context, unsigned char *ctr, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+extern void _gcry_aes_armv8_ce_cfb_dec (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+extern void _gcry_aes_armv8_ce_cbc_dec (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+extern size_t _gcry_aes_armv8_ce_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg, -+ const void *inbuf_arg, size_t nblocks, -+ int encrypt); -+extern size_t _gcry_aes_armv8_ce_ocb_auth (gcry_cipher_hd_t c, -+ const void *abuf_arg, size_t nblocks); -+extern void _gcry_aes_armv8_ce_xts_crypt (void *context, unsigned char *tweak, -+ void *outbuf_arg, -+ const void *inbuf_arg, -+ size_t nblocks, int encrypt); - #endif /*USE_ARM_ASM*/ - -+#ifdef USE_PPC_CRYPTO -+/* PowerPC Crypto implementations of AES */ -+extern void _gcry_aes_ppc8_setkey(RIJNDAEL_context *ctx, const byte *key); -+extern void _gcry_aes_ppc8_prepare_decryption(RIJNDAEL_context *ctx); -+ -+extern unsigned int _gcry_aes_ppc8_encrypt(const RIJNDAEL_context *ctx, -+ unsigned char *dst, -+ const unsigned char *src); -+extern unsigned int _gcry_aes_ppc8_decrypt(const RIJNDAEL_context *ctx, -+ unsigned char *dst, -+ const unsigned char *src); -+ -+extern void _gcry_aes_ppc8_cfb_enc (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+extern void _gcry_aes_ppc8_cbc_enc (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks, int cbc_mac); -+extern void _gcry_aes_ppc8_ctr_enc (void *context, unsigned char *ctr, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+extern void _gcry_aes_ppc8_cfb_dec (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+extern void _gcry_aes_ppc8_cbc_dec (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+ -+extern size_t _gcry_aes_ppc8_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg, -+ const void *inbuf_arg, size_t nblocks, -+ int encrypt); -+extern size_t _gcry_aes_ppc8_ocb_auth (gcry_cipher_hd_t c, -+ const void *abuf_arg, size_t nblocks); -+ -+extern void _gcry_aes_ppc8_xts_crypt (void *context, unsigned char *tweak, -+ void *outbuf_arg, -+ const void *inbuf_arg, -+ size_t nblocks, int encrypt); -+#endif /*USE_PPC_CRYPTO*/ -+ -+#ifdef USE_PPC_CRYPTO_WITH_PPC9LE -+/* Power9 little-endian crypto implementations of AES */ -+extern unsigned int _gcry_aes_ppc9le_encrypt(const RIJNDAEL_context *ctx, -+ unsigned char *dst, -+ const unsigned char *src); -+extern unsigned int _gcry_aes_ppc9le_decrypt(const RIJNDAEL_context *ctx, -+ unsigned char *dst, -+ const unsigned char *src); -+ -+extern void _gcry_aes_ppc9le_cfb_enc (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+extern void _gcry_aes_ppc9le_cbc_enc (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks, int cbc_mac); -+extern void _gcry_aes_ppc9le_ctr_enc (void *context, unsigned char *ctr, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+extern void _gcry_aes_ppc9le_cfb_dec (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+extern void _gcry_aes_ppc9le_cbc_dec (void *context, unsigned char *iv, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks); -+ -+extern size_t _gcry_aes_ppc9le_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg, -+ const void *inbuf_arg, size_t nblocks, -+ int encrypt); -+extern size_t _gcry_aes_ppc9le_ocb_auth (gcry_cipher_hd_t c, -+ const void *abuf_arg, size_t nblocks); -+ -+extern void _gcry_aes_ppc9le_xts_crypt (void *context, unsigned char *tweak, -+ void *outbuf_arg, -+ const void *inbuf_arg, -+ size_t nblocks, int encrypt); -+#endif /*USE_PPC_CRYPTO_WITH_PPC9LE*/ -+ - static unsigned int do_encrypt (const RIJNDAEL_context *ctx, unsigned char *bx, - const unsigned char *ax); - static unsigned int do_decrypt (const RIJNDAEL_context *ctx, unsigned char *bx, -@@ -260,7 +328,8 @@ static void prefetch_dec(void) - - /* Perform the key setup. */ - static gcry_err_code_t --do_setkey (RIJNDAEL_context *ctx, const byte *key, const unsigned keylen) -+do_setkey (RIJNDAEL_context *ctx, const byte *key, const unsigned keylen, -+ gcry_cipher_hd_t hd) - { - static int initialized = 0; - static const char *selftest_failed = 0; -@@ -268,7 +337,7 @@ do_setkey (RIJNDAEL_context *ctx, const - int i,j, r, t, rconpointer = 0; - int KC; - #if defined(USE_AESNI) || defined(USE_PADLOCK) || defined(USE_SSSE3) \ -- || defined(USE_ARM_CE) -+ || defined(USE_ARM_CE) || defined(USE_PPC_CRYPTO) - unsigned int hwfeatures; - #endif - -@@ -310,7 +379,7 @@ do_setkey (RIJNDAEL_context *ctx, const - ctx->rounds = rounds; - - #if defined(USE_AESNI) || defined(USE_PADLOCK) || defined(USE_SSSE3) \ -- || defined(USE_ARM_CE) -+ || defined(USE_ARM_CE) || defined(USE_PPC_CRYPTO) - hwfeatures = _gcry_get_hw_features (); - #endif - -@@ -327,6 +396,12 @@ do_setkey (RIJNDAEL_context *ctx, const - #ifdef USE_ARM_CE - ctx->use_arm_ce = 0; - #endif -+#ifdef USE_PPC_CRYPTO -+ ctx->use_ppc_crypto = 0; -+#endif -+#ifdef USE_PPC_CRYPTO_WITH_PPC9LE -+ ctx->use_ppc9le_crypto = 0; -+#endif - - if (0) - { -@@ -340,6 +415,17 @@ do_setkey (RIJNDAEL_context *ctx, const - ctx->prefetch_enc_fn = NULL; - ctx->prefetch_dec_fn = NULL; - ctx->use_aesni = 1; -+ if (hd) -+ { -+ hd->bulk.cfb_enc = _gcry_aes_aesni_cfb_enc; -+ hd->bulk.cfb_dec = _gcry_aes_aesni_cfb_dec; -+ hd->bulk.cbc_enc = _gcry_aes_aesni_cbc_enc; -+ hd->bulk.cbc_dec = _gcry_aes_aesni_cbc_dec; -+ hd->bulk.ctr_enc = _gcry_aes_aesni_ctr_enc; -+ hd->bulk.ocb_crypt = _gcry_aes_aesni_ocb_crypt; -+ hd->bulk.ocb_auth = _gcry_aes_aesni_ocb_auth; -+ hd->bulk.xts_crypt = _gcry_aes_aesni_xts_crypt; -+ } - } - #endif - #ifdef USE_PADLOCK -@@ -361,6 +447,16 @@ do_setkey (RIJNDAEL_context *ctx, const - ctx->prefetch_enc_fn = NULL; - ctx->prefetch_dec_fn = NULL; - ctx->use_ssse3 = 1; -+ if (hd) -+ { -+ hd->bulk.cfb_enc = _gcry_aes_ssse3_cfb_enc; -+ hd->bulk.cfb_dec = _gcry_aes_ssse3_cfb_dec; -+ hd->bulk.cbc_enc = _gcry_aes_ssse3_cbc_enc; -+ hd->bulk.cbc_dec = _gcry_aes_ssse3_cbc_dec; -+ hd->bulk.ctr_enc = _gcry_aes_ssse3_ctr_enc; -+ hd->bulk.ocb_crypt = _gcry_aes_ssse3_ocb_crypt; -+ hd->bulk.ocb_auth = _gcry_aes_ssse3_ocb_auth; -+ } - } - #endif - #ifdef USE_ARM_CE -@@ -371,6 +467,60 @@ do_setkey (RIJNDAEL_context *ctx, const - ctx->prefetch_enc_fn = NULL; - ctx->prefetch_dec_fn = NULL; - ctx->use_arm_ce = 1; -+ if (hd) -+ { -+ hd->bulk.cfb_enc = _gcry_aes_armv8_ce_cfb_enc; -+ hd->bulk.cfb_dec = _gcry_aes_armv8_ce_cfb_dec; -+ hd->bulk.cbc_enc = _gcry_aes_armv8_ce_cbc_enc; -+ hd->bulk.cbc_dec = _gcry_aes_armv8_ce_cbc_dec; -+ hd->bulk.ctr_enc = _gcry_aes_armv8_ce_ctr_enc; -+ hd->bulk.ocb_crypt = _gcry_aes_armv8_ce_ocb_crypt; -+ hd->bulk.ocb_auth = _gcry_aes_armv8_ce_ocb_auth; -+ hd->bulk.xts_crypt = _gcry_aes_armv8_ce_xts_crypt; -+ } -+ } -+#endif -+#ifdef USE_PPC_CRYPTO_WITH_PPC9LE -+ else if ((hwfeatures & HWF_PPC_VCRYPTO) && (hwfeatures & HWF_PPC_ARCH_3_00)) -+ { -+ ctx->encrypt_fn = _gcry_aes_ppc9le_encrypt; -+ ctx->decrypt_fn = _gcry_aes_ppc9le_decrypt; -+ ctx->prefetch_enc_fn = NULL; -+ ctx->prefetch_dec_fn = NULL; -+ ctx->use_ppc_crypto = 1; /* same key-setup as USE_PPC_CRYPTO */ -+ ctx->use_ppc9le_crypto = 1; -+ if (hd) -+ { -+ hd->bulk.cfb_enc = _gcry_aes_ppc9le_cfb_enc; -+ hd->bulk.cfb_dec = _gcry_aes_ppc9le_cfb_dec; -+ hd->bulk.cbc_enc = _gcry_aes_ppc9le_cbc_enc; -+ hd->bulk.cbc_dec = _gcry_aes_ppc9le_cbc_dec; -+ hd->bulk.ctr_enc = _gcry_aes_ppc9le_ctr_enc; -+ hd->bulk.ocb_crypt = _gcry_aes_ppc9le_ocb_crypt; -+ hd->bulk.ocb_auth = _gcry_aes_ppc9le_ocb_auth; -+ hd->bulk.xts_crypt = _gcry_aes_ppc9le_xts_crypt; -+ } -+ } -+#endif -+#ifdef USE_PPC_CRYPTO -+ else if (hwfeatures & HWF_PPC_VCRYPTO) -+ { -+ ctx->encrypt_fn = _gcry_aes_ppc8_encrypt; -+ ctx->decrypt_fn = _gcry_aes_ppc8_decrypt; -+ ctx->prefetch_enc_fn = NULL; -+ ctx->prefetch_dec_fn = NULL; -+ ctx->use_ppc_crypto = 1; -+ if (hd) -+ { -+ hd->bulk.cfb_enc = _gcry_aes_ppc8_cfb_enc; -+ hd->bulk.cfb_dec = _gcry_aes_ppc8_cfb_dec; -+ hd->bulk.cbc_enc = _gcry_aes_ppc8_cbc_enc; -+ hd->bulk.cbc_dec = _gcry_aes_ppc8_cbc_dec; -+ hd->bulk.ctr_enc = _gcry_aes_ppc8_ctr_enc; -+ hd->bulk.ocb_crypt = _gcry_aes_ppc8_ocb_crypt; -+ hd->bulk.ocb_auth = _gcry_aes_ppc8_ocb_auth; -+ hd->bulk.xts_crypt = _gcry_aes_ppc8_xts_crypt; -+ } - } - #endif - else -@@ -399,6 +549,10 @@ do_setkey (RIJNDAEL_context *ctx, const - else if (ctx->use_arm_ce) - _gcry_aes_armv8_ce_setkey (ctx, key); - #endif -+#ifdef USE_PPC_CRYPTO -+ else if (ctx->use_ppc_crypto) -+ _gcry_aes_ppc8_setkey (ctx, key); -+#endif - else - { - const byte *sbox = ((const byte *)encT) + 1; -@@ -503,10 +657,11 @@ do_setkey (RIJNDAEL_context *ctx, const - - - static gcry_err_code_t --rijndael_setkey (void *context, const byte *key, const unsigned keylen) -+rijndael_setkey (void *context, const byte *key, const unsigned keylen, -+ gcry_cipher_hd_t hd) - { - RIJNDAEL_context *ctx = context; -- return do_setkey (ctx, key, keylen); -+ return do_setkey (ctx, key, keylen, hd); - } - - -@@ -535,7 +690,19 @@ prepare_decryption( RIJNDAEL_context *ct - { - _gcry_aes_armv8_ce_prepare_decryption (ctx); - } --#endif /*USE_SSSE3*/ -+#endif /*USE_ARM_CE*/ -+#ifdef USE_ARM_CE -+ else if (ctx->use_arm_ce) -+ { -+ _gcry_aes_armv8_ce_prepare_decryption (ctx); -+ } -+#endif /*USE_ARM_CE*/ -+#ifdef USE_PPC_CRYPTO -+ else if (ctx->use_ppc_crypto) -+ { -+ _gcry_aes_ppc8_prepare_decryption (ctx); -+ } -+#endif - #ifdef USE_PADLOCK - else if (ctx->use_padlock) - { -@@ -790,42 +957,56 @@ _gcry_aes_cfb_enc (void *context, unsign - const unsigned char *inbuf = inbuf_arg; - unsigned int burn_depth = 0; - -- if (ctx->prefetch_enc_fn) -- ctx->prefetch_enc_fn(); -- - if (0) - ; - #ifdef USE_AESNI - else if (ctx->use_aesni) - { -- _gcry_aes_aesni_cfb_enc (ctx, outbuf, inbuf, iv, nblocks); -- burn_depth = 0; -+ _gcry_aes_aesni_cfb_enc (ctx, iv, outbuf, inbuf, nblocks); -+ return; - } - #endif /*USE_AESNI*/ - #ifdef USE_SSSE3 - else if (ctx->use_ssse3) - { -- _gcry_aes_ssse3_cfb_enc (ctx, outbuf, inbuf, iv, nblocks); -- burn_depth = 0; -+ _gcry_aes_ssse3_cfb_enc (ctx, iv, outbuf, inbuf, nblocks); -+ return; - } - #endif /*USE_SSSE3*/ - #ifdef USE_ARM_CE - else if (ctx->use_arm_ce) - { -- _gcry_aes_armv8_ce_cfb_enc (ctx, outbuf, inbuf, iv, nblocks); -- burn_depth = 0; -+ _gcry_aes_armv8_ce_cfb_enc (ctx, iv, outbuf, inbuf, nblocks); -+ return; - } - #endif /*USE_ARM_CE*/ -+#ifdef USE_PPC_CRYPTO_WITH_PPC9LE -+ else if (ctx->use_ppc9le_crypto) -+ { -+ _gcry_aes_ppc9le_cfb_enc (ctx, iv, outbuf, inbuf, nblocks); -+ return; -+ } -+#endif /*USE_PPC_CRYPTO_WITH_PPC9LE*/ -+#ifdef USE_PPC_CRYPTO -+ else if (ctx->use_ppc_crypto) -+ { -+ _gcry_aes_ppc8_cfb_enc (ctx, iv, outbuf, inbuf, nblocks); -+ return; -+ } -+#endif /*USE_PPC_CRYPTO*/ - else - { - rijndael_cryptfn_t encrypt_fn = ctx->encrypt_fn; - -+ if (ctx->prefetch_enc_fn) -+ ctx->prefetch_enc_fn(); -+ - for ( ;nblocks; nblocks-- ) - { - /* Encrypt the IV. */ - burn_depth = encrypt_fn (ctx, iv, iv); - /* XOR the input with the IV and store input into IV. */ -- buf_xor_2dst(outbuf, iv, inbuf, BLOCKSIZE); -+ cipher_block_xor_2dst(outbuf, iv, inbuf, BLOCKSIZE); - outbuf += BLOCKSIZE; - inbuf += BLOCKSIZE; - } -@@ -851,41 +1032,55 @@ _gcry_aes_cbc_enc (void *context, unsign - unsigned char *last_iv; - unsigned int burn_depth = 0; - -- if (ctx->prefetch_enc_fn) -- ctx->prefetch_enc_fn(); -- - if (0) - ; - #ifdef USE_AESNI - else if (ctx->use_aesni) - { -- _gcry_aes_aesni_cbc_enc (ctx, outbuf, inbuf, iv, nblocks, cbc_mac); -- burn_depth = 0; -+ _gcry_aes_aesni_cbc_enc (ctx, iv, outbuf, inbuf, nblocks, cbc_mac); -+ return; - } - #endif /*USE_AESNI*/ - #ifdef USE_SSSE3 - else if (ctx->use_ssse3) - { -- _gcry_aes_ssse3_cbc_enc (ctx, outbuf, inbuf, iv, nblocks, cbc_mac); -- burn_depth = 0; -+ _gcry_aes_ssse3_cbc_enc (ctx, iv, outbuf, inbuf, nblocks, cbc_mac); -+ return; - } - #endif /*USE_SSSE3*/ - #ifdef USE_ARM_CE - else if (ctx->use_arm_ce) - { -- _gcry_aes_armv8_ce_cbc_enc (ctx, outbuf, inbuf, iv, nblocks, cbc_mac); -- burn_depth = 0; -+ _gcry_aes_armv8_ce_cbc_enc (ctx, iv, outbuf, inbuf, nblocks, cbc_mac); -+ return; - } - #endif /*USE_ARM_CE*/ -+#ifdef USE_PPC_CRYPTO_WITH_PPC9LE -+ else if (ctx->use_ppc9le_crypto) -+ { -+ _gcry_aes_ppc9le_cbc_enc (ctx, iv, outbuf, inbuf, nblocks, cbc_mac); -+ return; -+ } -+#endif /*USE_PPC_CRYPTO_WITH_PPC9LE*/ -+#ifdef USE_PPC_CRYPTO -+ else if (ctx->use_ppc_crypto) -+ { -+ _gcry_aes_ppc8_cbc_enc (ctx, iv, outbuf, inbuf, nblocks, cbc_mac); -+ return; -+ } -+#endif /*USE_PPC_CRYPTO*/ - else - { - rijndael_cryptfn_t encrypt_fn = ctx->encrypt_fn; - -+ if (ctx->prefetch_enc_fn) -+ ctx->prefetch_enc_fn(); -+ - last_iv = iv; - - for ( ;nblocks; nblocks-- ) - { -- buf_xor(outbuf, inbuf, last_iv, BLOCKSIZE); -+ cipher_block_xor(outbuf, inbuf, last_iv, BLOCKSIZE); - - burn_depth = encrypt_fn (ctx, outbuf, outbuf); - -@@ -896,7 +1091,7 @@ _gcry_aes_cbc_enc (void *context, unsign - } - - if (last_iv != iv) -- buf_cpy (iv, last_iv, BLOCKSIZE); -+ cipher_block_cpy (iv, last_iv, BLOCKSIZE); - } - - if (burn_depth) -@@ -920,43 +1115,57 @@ _gcry_aes_ctr_enc (void *context, unsign - unsigned int burn_depth = 0; - int i; - -- if (ctx->prefetch_enc_fn) -- ctx->prefetch_enc_fn(); -- - if (0) - ; - #ifdef USE_AESNI - else if (ctx->use_aesni) - { -- _gcry_aes_aesni_ctr_enc (ctx, outbuf, inbuf, ctr, nblocks); -- burn_depth = 0; -+ _gcry_aes_aesni_ctr_enc (ctx, ctr, outbuf, inbuf, nblocks); -+ return; - } - #endif /*USE_AESNI*/ - #ifdef USE_SSSE3 - else if (ctx->use_ssse3) - { -- _gcry_aes_ssse3_ctr_enc (ctx, outbuf, inbuf, ctr, nblocks); -- burn_depth = 0; -+ _gcry_aes_ssse3_ctr_enc (ctx, ctr, outbuf, inbuf, nblocks); -+ return; - } - #endif /*USE_SSSE3*/ - #ifdef USE_ARM_CE - else if (ctx->use_arm_ce) - { -- _gcry_aes_armv8_ce_ctr_enc (ctx, outbuf, inbuf, ctr, nblocks); -- burn_depth = 0; -+ _gcry_aes_armv8_ce_ctr_enc (ctx, ctr, outbuf, inbuf, nblocks); -+ return; - } - #endif /*USE_ARM_CE*/ -+#ifdef USE_PPC_CRYPTO_WITH_PPC9LE -+ else if (ctx->use_ppc9le_crypto) -+ { -+ _gcry_aes_ppc9le_ctr_enc (ctx, ctr, outbuf, inbuf, nblocks); -+ return; -+ } -+#endif /*USE_PPC_CRYPTO_WITH_PPC9LE*/ -+#ifdef USE_PPC_CRYPTO -+ else if (ctx->use_ppc_crypto) -+ { -+ _gcry_aes_ppc8_ctr_enc (ctx, ctr, outbuf, inbuf, nblocks); -+ return; -+ } -+#endif /*USE_PPC_CRYPTO*/ - else - { - union { unsigned char x1[16] ATTR_ALIGNED_16; u32 x32[4]; } tmp; - rijndael_cryptfn_t encrypt_fn = ctx->encrypt_fn; - -+ if (ctx->prefetch_enc_fn) -+ ctx->prefetch_enc_fn(); -+ - for ( ;nblocks; nblocks-- ) - { - /* Encrypt the counter. */ - burn_depth = encrypt_fn (ctx, tmp.x1, ctr); - /* XOR the input with the encrypted counter and store in output. */ -- buf_xor(outbuf, tmp.x1, inbuf, BLOCKSIZE); -+ cipher_block_xor(outbuf, tmp.x1, inbuf, BLOCKSIZE); - outbuf += BLOCKSIZE; - inbuf += BLOCKSIZE; - /* Increment the counter. */ -@@ -1187,40 +1396,54 @@ _gcry_aes_cfb_dec (void *context, unsign - const unsigned char *inbuf = inbuf_arg; - unsigned int burn_depth = 0; - -- if (ctx->prefetch_enc_fn) -- ctx->prefetch_enc_fn(); -- - if (0) - ; - #ifdef USE_AESNI - else if (ctx->use_aesni) - { -- _gcry_aes_aesni_cfb_dec (ctx, outbuf, inbuf, iv, nblocks); -- burn_depth = 0; -+ _gcry_aes_aesni_cfb_dec (ctx, iv, outbuf, inbuf, nblocks); -+ return; - } - #endif /*USE_AESNI*/ - #ifdef USE_SSSE3 - else if (ctx->use_ssse3) - { -- _gcry_aes_ssse3_cfb_dec (ctx, outbuf, inbuf, iv, nblocks); -- burn_depth = 0; -+ _gcry_aes_ssse3_cfb_dec (ctx, iv, outbuf, inbuf, nblocks); -+ return; - } - #endif /*USE_SSSE3*/ - #ifdef USE_ARM_CE - else if (ctx->use_arm_ce) - { -- _gcry_aes_armv8_ce_cfb_dec (ctx, outbuf, inbuf, iv, nblocks); -- burn_depth = 0; -+ _gcry_aes_armv8_ce_cfb_dec (ctx, iv, outbuf, inbuf, nblocks); -+ return; - } - #endif /*USE_ARM_CE*/ -+#ifdef USE_PPC_CRYPTO_WITH_PPC9LE -+ else if (ctx->use_ppc9le_crypto) -+ { -+ _gcry_aes_ppc9le_cfb_dec (ctx, iv, outbuf, inbuf, nblocks); -+ return; -+ } -+#endif /*USE_PPC_CRYPTO_WITH_PPC9LE*/ -+#ifdef USE_PPC_CRYPTO -+ else if (ctx->use_ppc_crypto) -+ { -+ _gcry_aes_ppc8_cfb_dec (ctx, iv, outbuf, inbuf, nblocks); -+ return; -+ } -+#endif /*USE_PPC_CRYPTO*/ - else - { - rijndael_cryptfn_t encrypt_fn = ctx->encrypt_fn; - -+ if (ctx->prefetch_enc_fn) -+ ctx->prefetch_enc_fn(); -+ - for ( ;nblocks; nblocks-- ) - { - burn_depth = encrypt_fn (ctx, iv, iv); -- buf_xor_n_copy(outbuf, iv, inbuf, BLOCKSIZE); -+ cipher_block_xor_n_copy(outbuf, iv, inbuf, BLOCKSIZE); - outbuf += BLOCKSIZE; - inbuf += BLOCKSIZE; - } -@@ -1245,39 +1468,53 @@ _gcry_aes_cbc_dec (void *context, unsign - const unsigned char *inbuf = inbuf_arg; - unsigned int burn_depth = 0; - -- check_decryption_preparation (ctx); -- -- if (ctx->prefetch_dec_fn) -- ctx->prefetch_dec_fn(); -- - if (0) - ; - #ifdef USE_AESNI - else if (ctx->use_aesni) - { -- _gcry_aes_aesni_cbc_dec (ctx, outbuf, inbuf, iv, nblocks); -- burn_depth = 0; -+ _gcry_aes_aesni_cbc_dec (ctx, iv, outbuf, inbuf, nblocks); -+ return; - } - #endif /*USE_AESNI*/ - #ifdef USE_SSSE3 - else if (ctx->use_ssse3) - { -- _gcry_aes_ssse3_cbc_dec (ctx, outbuf, inbuf, iv, nblocks); -- burn_depth = 0; -+ _gcry_aes_ssse3_cbc_dec (ctx, iv, outbuf, inbuf, nblocks); -+ return; - } - #endif /*USE_SSSE3*/ - #ifdef USE_ARM_CE - else if (ctx->use_arm_ce) - { -- _gcry_aes_armv8_ce_cbc_dec (ctx, outbuf, inbuf, iv, nblocks); -- burn_depth = 0; -+ _gcry_aes_armv8_ce_cbc_dec (ctx, iv, outbuf, inbuf, nblocks); -+ return; - } - #endif /*USE_ARM_CE*/ -+#ifdef USE_PPC_CRYPTO_WITH_PPC9LE -+ else if (ctx->use_ppc9le_crypto) -+ { -+ _gcry_aes_ppc9le_cbc_dec (ctx, iv, outbuf, inbuf, nblocks); -+ return; -+ } -+#endif /*USE_PPC_CRYPTO_WITH_PPC9LE*/ -+#ifdef USE_PPC_CRYPTO -+ else if (ctx->use_ppc_crypto) -+ { -+ _gcry_aes_ppc8_cbc_dec (ctx, iv, outbuf, inbuf, nblocks); -+ return; -+ } -+#endif /*USE_PPC_CRYPTO*/ - else - { - unsigned char savebuf[BLOCKSIZE] ATTR_ALIGNED_16; - rijndael_cryptfn_t decrypt_fn = ctx->decrypt_fn; - -+ check_decryption_preparation (ctx); -+ -+ if (ctx->prefetch_dec_fn) -+ ctx->prefetch_dec_fn(); -+ - for ( ;nblocks; nblocks-- ) - { - /* INBUF is needed later and it may be identical to OUTBUF, so store -@@ -1285,7 +1522,7 @@ _gcry_aes_cbc_dec (void *context, unsign - - burn_depth = decrypt_fn (ctx, savebuf, inbuf); - -- buf_xor_n_copy_2(outbuf, savebuf, iv, inbuf, BLOCKSIZE); -+ cipher_block_xor_n_copy_2(outbuf, savebuf, iv, inbuf, BLOCKSIZE); - inbuf += BLOCKSIZE; - outbuf += BLOCKSIZE; - } -@@ -1309,62 +1546,61 @@ _gcry_aes_ocb_crypt (gcry_cipher_hd_t c, - const unsigned char *inbuf = inbuf_arg; - unsigned int burn_depth = 0; - -- if (encrypt) -- { -- if (ctx->prefetch_enc_fn) -- ctx->prefetch_enc_fn(); -- } -- else -- { -- check_decryption_preparation (ctx); -- -- if (ctx->prefetch_dec_fn) -- ctx->prefetch_dec_fn(); -- } -- - if (0) - ; - #ifdef USE_AESNI - else if (ctx->use_aesni) - { -- _gcry_aes_aesni_ocb_crypt (c, outbuf, inbuf, nblocks, encrypt); -- burn_depth = 0; -+ return _gcry_aes_aesni_ocb_crypt (c, outbuf, inbuf, nblocks, encrypt); - } - #endif /*USE_AESNI*/ - #ifdef USE_SSSE3 - else if (ctx->use_ssse3) - { -- _gcry_aes_ssse3_ocb_crypt (c, outbuf, inbuf, nblocks, encrypt); -- burn_depth = 0; -+ return _gcry_aes_ssse3_ocb_crypt (c, outbuf, inbuf, nblocks, encrypt); - } - #endif /*USE_SSSE3*/ - #ifdef USE_ARM_CE - else if (ctx->use_arm_ce) - { -- _gcry_aes_armv8_ce_ocb_crypt (c, outbuf, inbuf, nblocks, encrypt); -- burn_depth = 0; -+ return _gcry_aes_armv8_ce_ocb_crypt (c, outbuf, inbuf, nblocks, encrypt); - } - #endif /*USE_ARM_CE*/ -+#ifdef USE_PPC_CRYPTO_WITH_PPC9LE -+ else if (ctx->use_ppc9le_crypto) -+ { -+ return _gcry_aes_ppc9le_ocb_crypt (c, outbuf, inbuf, nblocks, encrypt); -+ } -+#endif /*USE_PPC_CRYPTO_WITH_PPC9LE*/ -+#ifdef USE_PPC_CRYPTO -+ else if (ctx->use_ppc_crypto) -+ { -+ return _gcry_aes_ppc8_ocb_crypt (c, outbuf, inbuf, nblocks, encrypt); -+ } -+#endif /*USE_PPC_CRYPTO*/ - else if (encrypt) - { - union { unsigned char x1[16] ATTR_ALIGNED_16; u32 x32[4]; } l_tmp; - rijndael_cryptfn_t encrypt_fn = ctx->encrypt_fn; - -+ if (ctx->prefetch_enc_fn) -+ ctx->prefetch_enc_fn(); -+ - for ( ;nblocks; nblocks-- ) - { - u64 i = ++c->u_mode.ocb.data_nblocks; - const unsigned char *l = ocb_get_l(c, i); - - /* Offset_i = Offset_{i-1} xor L_{ntz(i)} */ -- buf_xor_1 (c->u_iv.iv, l, BLOCKSIZE); -- buf_cpy (l_tmp.x1, inbuf, BLOCKSIZE); -+ cipher_block_xor_1 (c->u_iv.iv, l, BLOCKSIZE); -+ cipher_block_cpy (l_tmp.x1, inbuf, BLOCKSIZE); - /* Checksum_i = Checksum_{i-1} xor P_i */ -- buf_xor_1 (c->u_ctr.ctr, l_tmp.x1, BLOCKSIZE); -+ cipher_block_xor_1 (c->u_ctr.ctr, l_tmp.x1, BLOCKSIZE); - /* C_i = Offset_i xor ENCIPHER(K, P_i xor Offset_i) */ -- buf_xor_1 (l_tmp.x1, c->u_iv.iv, BLOCKSIZE); -+ cipher_block_xor_1 (l_tmp.x1, c->u_iv.iv, BLOCKSIZE); - burn_depth = encrypt_fn (ctx, l_tmp.x1, l_tmp.x1); -- buf_xor_1 (l_tmp.x1, c->u_iv.iv, BLOCKSIZE); -- buf_cpy (outbuf, l_tmp.x1, BLOCKSIZE); -+ cipher_block_xor_1 (l_tmp.x1, c->u_iv.iv, BLOCKSIZE); -+ cipher_block_cpy (outbuf, l_tmp.x1, BLOCKSIZE); - - inbuf += BLOCKSIZE; - outbuf += BLOCKSIZE; -@@ -1375,21 +1611,26 @@ _gcry_aes_ocb_crypt (gcry_cipher_hd_t c, - union { unsigned char x1[16] ATTR_ALIGNED_16; u32 x32[4]; } l_tmp; - rijndael_cryptfn_t decrypt_fn = ctx->decrypt_fn; - -+ check_decryption_preparation (ctx); -+ -+ if (ctx->prefetch_dec_fn) -+ ctx->prefetch_dec_fn(); -+ - for ( ;nblocks; nblocks-- ) - { - u64 i = ++c->u_mode.ocb.data_nblocks; - const unsigned char *l = ocb_get_l(c, i); - - /* Offset_i = Offset_{i-1} xor L_{ntz(i)} */ -- buf_xor_1 (c->u_iv.iv, l, BLOCKSIZE); -- buf_cpy (l_tmp.x1, inbuf, BLOCKSIZE); -+ cipher_block_xor_1 (c->u_iv.iv, l, BLOCKSIZE); -+ cipher_block_cpy (l_tmp.x1, inbuf, BLOCKSIZE); - /* C_i = Offset_i xor ENCIPHER(K, P_i xor Offset_i) */ -- buf_xor_1 (l_tmp.x1, c->u_iv.iv, BLOCKSIZE); -+ cipher_block_xor_1 (l_tmp.x1, c->u_iv.iv, BLOCKSIZE); - burn_depth = decrypt_fn (ctx, l_tmp.x1, l_tmp.x1); -- buf_xor_1 (l_tmp.x1, c->u_iv.iv, BLOCKSIZE); -+ cipher_block_xor_1 (l_tmp.x1, c->u_iv.iv, BLOCKSIZE); - /* Checksum_i = Checksum_{i-1} xor P_i */ -- buf_xor_1 (c->u_ctr.ctr, l_tmp.x1, BLOCKSIZE); -- buf_cpy (outbuf, l_tmp.x1, BLOCKSIZE); -+ cipher_block_xor_1 (c->u_ctr.ctr, l_tmp.x1, BLOCKSIZE); -+ cipher_block_cpy (outbuf, l_tmp.x1, BLOCKSIZE); - - inbuf += BLOCKSIZE; - outbuf += BLOCKSIZE; -@@ -1411,48 +1652,58 @@ _gcry_aes_ocb_auth (gcry_cipher_hd_t c, - const unsigned char *abuf = abuf_arg; - unsigned int burn_depth = 0; - -- if (ctx->prefetch_enc_fn) -- ctx->prefetch_enc_fn(); -- - if (0) - ; - #ifdef USE_AESNI - else if (ctx->use_aesni) - { -- _gcry_aes_aesni_ocb_auth (c, abuf, nblocks); -- burn_depth = 0; -+ return _gcry_aes_aesni_ocb_auth (c, abuf, nblocks); - } - #endif /*USE_AESNI*/ - #ifdef USE_SSSE3 - else if (ctx->use_ssse3) - { -- _gcry_aes_ssse3_ocb_auth (c, abuf, nblocks); -- burn_depth = 0; -+ return _gcry_aes_ssse3_ocb_auth (c, abuf, nblocks); - } - #endif /*USE_SSSE3*/ - #ifdef USE_ARM_CE - else if (ctx->use_arm_ce) - { -- _gcry_aes_armv8_ce_ocb_auth (c, abuf, nblocks); -- burn_depth = 0; -+ return _gcry_aes_armv8_ce_ocb_auth (c, abuf, nblocks); - } - #endif /*USE_ARM_CE*/ -+#ifdef USE_PPC_CRYPTO_WITH_PPC9LE -+ else if (ctx->use_ppc9le_crypto) -+ { -+ return _gcry_aes_ppc9le_ocb_auth (c, abuf, nblocks); -+ } -+#endif /*USE_PPC_CRYPTO_WITH_PPC9LE*/ -+#ifdef USE_PPC_CRYPTO -+ else if (ctx->use_ppc_crypto) -+ { -+ return _gcry_aes_ppc8_ocb_auth (c, abuf, nblocks); -+ } -+#endif /*USE_PPC_CRYPTO*/ - else - { - union { unsigned char x1[16] ATTR_ALIGNED_16; u32 x32[4]; } l_tmp; - rijndael_cryptfn_t encrypt_fn = ctx->encrypt_fn; - -+ if (ctx->prefetch_enc_fn) -+ ctx->prefetch_enc_fn(); -+ - for ( ;nblocks; nblocks-- ) - { - u64 i = ++c->u_mode.ocb.aad_nblocks; - const unsigned char *l = ocb_get_l(c, i); - - /* Offset_i = Offset_{i-1} xor L_{ntz(i)} */ -- buf_xor_1 (c->u_mode.ocb.aad_offset, l, BLOCKSIZE); -+ cipher_block_xor_1 (c->u_mode.ocb.aad_offset, l, BLOCKSIZE); - /* Sum_i = Sum_{i-1} xor ENCIPHER(K, A_i xor Offset_i) */ -- buf_xor (l_tmp.x1, c->u_mode.ocb.aad_offset, abuf, BLOCKSIZE); -+ cipher_block_xor (l_tmp.x1, c->u_mode.ocb.aad_offset, abuf, -+ BLOCKSIZE); - burn_depth = encrypt_fn (ctx, l_tmp.x1, l_tmp.x1); -- buf_xor_1 (c->u_mode.ocb.aad_sum, l_tmp.x1, BLOCKSIZE); -+ cipher_block_xor_1 (c->u_mode.ocb.aad_sum, l_tmp.x1, BLOCKSIZE); - - abuf += BLOCKSIZE; - } -@@ -1467,6 +1718,106 @@ _gcry_aes_ocb_auth (gcry_cipher_hd_t c, - } - - -+/* Bulk encryption/decryption of complete blocks in XTS mode. */ -+void -+_gcry_aes_xts_crypt (void *context, unsigned char *tweak, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks, int encrypt) -+{ -+ RIJNDAEL_context *ctx = context; -+ unsigned char *outbuf = outbuf_arg; -+ const unsigned char *inbuf = inbuf_arg; -+ unsigned int burn_depth = 0; -+ rijndael_cryptfn_t crypt_fn; -+ u64 tweak_lo, tweak_hi, tweak_next_lo, tweak_next_hi, tmp_lo, tmp_hi, carry; -+ -+ if (0) -+ ; -+#ifdef USE_AESNI -+ else if (ctx->use_aesni) -+ { -+ _gcry_aes_aesni_xts_crypt (ctx, tweak, outbuf, inbuf, nblocks, encrypt); -+ return; -+ } -+#endif /*USE_AESNI*/ -+#ifdef USE_ARM_CE -+ else if (ctx->use_arm_ce) -+ { -+ _gcry_aes_armv8_ce_xts_crypt (ctx, tweak, outbuf, inbuf, nblocks, encrypt); -+ return; -+ } -+#endif /*USE_ARM_CE*/ -+#ifdef USE_PPC_CRYPTO_WITH_PPC9LE -+ else if (ctx->use_ppc9le_crypto) -+ { -+ _gcry_aes_ppc9le_xts_crypt (ctx, tweak, outbuf, inbuf, nblocks, encrypt); -+ return; -+ } -+#endif /*USE_PPC_CRYPTO_WITH_PPC9LE*/ -+#ifdef USE_PPC_CRYPTO -+ else if (ctx->use_ppc_crypto) -+ { -+ _gcry_aes_ppc8_xts_crypt (ctx, tweak, outbuf, inbuf, nblocks, encrypt); -+ return; -+ } -+#endif /*USE_PPC_CRYPTO*/ -+ else -+ { -+ if (encrypt) -+ { -+ if (ctx->prefetch_enc_fn) -+ ctx->prefetch_enc_fn(); -+ -+ crypt_fn = ctx->encrypt_fn; -+ } -+ else -+ { -+ check_decryption_preparation (ctx); -+ -+ if (ctx->prefetch_dec_fn) -+ ctx->prefetch_dec_fn(); -+ -+ crypt_fn = ctx->decrypt_fn; -+ } -+ -+ tweak_next_lo = buf_get_le64 (tweak + 0); -+ tweak_next_hi = buf_get_le64 (tweak + 8); -+ -+ while (nblocks) -+ { -+ tweak_lo = tweak_next_lo; -+ tweak_hi = tweak_next_hi; -+ -+ /* Xor-Encrypt/Decrypt-Xor block. */ -+ tmp_lo = buf_get_le64 (inbuf + 0) ^ tweak_lo; -+ tmp_hi = buf_get_le64 (inbuf + 8) ^ tweak_hi; -+ -+ buf_put_le64 (outbuf + 0, tmp_lo); -+ buf_put_le64 (outbuf + 8, tmp_hi); -+ -+ /* Generate next tweak. */ -+ carry = -(tweak_next_hi >> 63) & 0x87; -+ tweak_next_hi = (tweak_next_hi << 1) + (tweak_next_lo >> 63); -+ tweak_next_lo = (tweak_next_lo << 1) ^ carry; -+ -+ burn_depth = crypt_fn (ctx, outbuf, outbuf); -+ -+ buf_put_le64 (outbuf + 0, buf_get_le64 (outbuf + 0) ^ tweak_lo); -+ buf_put_le64 (outbuf + 8, buf_get_le64 (outbuf + 8) ^ tweak_hi); -+ -+ outbuf += GCRY_XTS_BLOCK_LEN; -+ inbuf += GCRY_XTS_BLOCK_LEN; -+ nblocks--; -+ } -+ -+ buf_put_le64 (tweak + 0, tweak_next_lo); -+ buf_put_le64 (tweak + 8, tweak_next_hi); -+ } -+ -+ if (burn_depth) -+ _gcry_burn_stack (burn_depth + 5 * sizeof(void *)); -+} -+ - - /* Run the self-tests for AES 128. Returns NULL on success. */ - static const char* -@@ -1522,7 +1873,7 @@ selftest_basic_128 (void) - if (!ctx) - return "failed to allocate memory"; - -- rijndael_setkey (ctx, key_128, sizeof (key_128)); -+ rijndael_setkey (ctx, key_128, sizeof (key_128), NULL); - rijndael_encrypt (ctx, scratch, plaintext_128); - if (memcmp (scratch, ciphertext_128, sizeof (ciphertext_128))) - { -@@ -1565,7 +1916,7 @@ selftest_basic_192 (void) - ctx = _gcry_cipher_selftest_alloc_ctx (sizeof *ctx, &ctxmem); - if (!ctx) - return "failed to allocate memory"; -- rijndael_setkey (ctx, key_192, sizeof(key_192)); -+ rijndael_setkey (ctx, key_192, sizeof(key_192), NULL); - rijndael_encrypt (ctx, scratch, plaintext_192); - if (memcmp (scratch, ciphertext_192, sizeof (ciphertext_192))) - { -@@ -1610,7 +1961,7 @@ selftest_basic_256 (void) - ctx = _gcry_cipher_selftest_alloc_ctx (sizeof *ctx, &ctxmem); - if (!ctx) - return "failed to allocate memory"; -- rijndael_setkey (ctx, key_256, sizeof(key_256)); -+ rijndael_setkey (ctx, key_256, sizeof(key_256), NULL); - rijndael_encrypt (ctx, scratch, plaintext_256); - if (memcmp (scratch, ciphertext_256, sizeof (ciphertext_256))) - { -diff -up libgcrypt-1.8.5/cipher/rijndael-internal.h.aes-perf libgcrypt-1.8.5/cipher/rijndael-internal.h ---- libgcrypt-1.8.5/cipher/rijndael-internal.h.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/rijndael-internal.h 2020-04-22 18:29:41.676862114 +0200 -@@ -73,7 +73,7 @@ - # define USE_PADLOCK 1 - # endif - # endif --#endif /*ENABLE_PADLOCK_SUPPORT*/ -+#endif /* ENABLE_PADLOCK_SUPPORT */ - - /* USE_AESNI inidicates whether to compile with Intel AES-NI code. We - need the vector-size attribute which seems to be available since -@@ -102,6 +102,23 @@ - # endif - #endif /* ENABLE_ARM_CRYPTO_SUPPORT */ - -+/* USE_PPC_CRYPTO indicates whether to enable PowerPC vector crypto -+ * accelerated code. USE_PPC_CRYPTO_WITH_PPC9LE indicates whether to -+ * enable POWER9 optimized variant. */ -+#undef USE_PPC_CRYPTO -+#undef USE_PPC_CRYPTO_WITH_PPC9LE -+#ifdef ENABLE_PPC_CRYPTO_SUPPORT -+# if defined(HAVE_COMPATIBLE_CC_PPC_ALTIVEC) && \ -+ defined(HAVE_GCC_INLINE_ASM_PPC_ALTIVEC) -+# if __GNUC__ >= 4 -+# define USE_PPC_CRYPTO 1 -+# if !defined(WORDS_BIGENDIAN) && defined(HAVE_GCC_INLINE_ASM_PPC_ARCH_3_00) -+# define USE_PPC_CRYPTO_WITH_PPC9LE 1 -+# endif -+# endif -+# endif -+#endif /* ENABLE_PPC_CRYPTO_SUPPORT */ -+ - struct RIJNDAEL_context_s; - - typedef unsigned int (*rijndael_cryptfn_t)(const struct RIJNDAEL_context_s *ctx, -@@ -150,6 +167,12 @@ typedef struct RIJNDAEL_context_s - #ifdef USE_ARM_CE - unsigned int use_arm_ce:1; /* ARMv8 CE shall be used. */ - #endif /*USE_ARM_CE*/ -+#ifdef USE_PPC_CRYPTO -+ unsigned int use_ppc_crypto:1; /* PowerPC crypto shall be used. */ -+#endif /*USE_PPC_CRYPTO*/ -+#ifdef USE_PPC_CRYPTO_WITH_PPC9LE -+ unsigned int use_ppc9le_crypto:1; /* POWER9 LE crypto shall be used. */ -+#endif - rijndael_cryptfn_t encrypt_fn; - rijndael_cryptfn_t decrypt_fn; - rijndael_prefetchfn_t prefetch_enc_fn; -diff -up libgcrypt-1.8.5/cipher/rijndael-ppc9le.c.aes-perf libgcrypt-1.8.5/cipher/rijndael-ppc9le.c ---- libgcrypt-1.8.5/cipher/rijndael-ppc9le.c.aes-perf 2020-04-22 18:29:41.677862096 +0200 -+++ libgcrypt-1.8.5/cipher/rijndael-ppc9le.c 2020-04-22 18:29:41.677862096 +0200 -@@ -0,0 +1,102 @@ -+/* Rijndael (AES) for GnuPG - PowerPC Vector Crypto AES implementation -+ * Copyright (C) 2019 Shawn Landden -+ * Copyright (C) 2019-2020 Jussi Kivilinna -+ * -+ * This file is part of Libgcrypt. -+ * -+ * Libgcrypt is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU Lesser General Public License as -+ * published by the Free Software Foundation; either version 2.1 of -+ * the License, or (at your option) any later version. -+ * -+ * Libgcrypt is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this program; if not, see . -+ * -+ * Alternatively, this code may be used in OpenSSL from The OpenSSL Project, -+ * and Cryptogams by Andy Polyakov, and if made part of a release of either -+ * or both projects, is thereafter dual-licensed under the license said project -+ * is released under. -+ */ -+ -+#include -+ -+#include "rijndael-internal.h" -+#include "cipher-internal.h" -+#include "bufhelp.h" -+ -+#ifdef USE_PPC_CRYPTO_WITH_PPC9LE -+ -+#include "rijndael-ppc-common.h" -+ -+ -+static ASM_FUNC_ATTR_INLINE block -+asm_load_be_const(void) -+{ -+ static const block vec_dummy = { 0 }; -+ return vec_dummy; -+} -+ -+static ASM_FUNC_ATTR_INLINE block -+asm_be_swap(block vec, block be_bswap_const) -+{ -+ (void)be_bswap_const; -+ return vec; -+} -+ -+static ASM_FUNC_ATTR_INLINE block -+asm_load_be_noswap(unsigned long offset, const void *ptr) -+{ -+ block vec; -+#if __GNUC__ >= 4 -+ if (__builtin_constant_p (offset) && offset == 0) -+ __asm__ volatile ("lxvb16x %x0,0,%1\n\t" -+ : "=wa" (vec) -+ : "r" ((uintptr_t)ptr) -+ : "memory"); -+ else -+#endif -+ __asm__ volatile ("lxvb16x %x0,%1,%2\n\t" -+ : "=wa" (vec) -+ : "r" (offset), "r" ((uintptr_t)ptr) -+ : "memory", "r0"); -+ return vec; -+} -+ -+static ASM_FUNC_ATTR_INLINE void -+asm_store_be_noswap(block vec, unsigned long offset, void *ptr) -+{ -+#if __GNUC__ >= 4 -+ if (__builtin_constant_p (offset) && offset == 0) -+ __asm__ volatile ("stxvb16x %x0,0,%1\n\t" -+ : -+ : "wa" (vec), "r" ((uintptr_t)ptr) -+ : "memory"); -+ else -+#endif -+ __asm__ volatile ("stxvb16x %x0,%1,%2\n\t" -+ : -+ : "wa" (vec), "r" (offset), "r" ((uintptr_t)ptr) -+ : "memory", "r0"); -+} -+ -+ -+#define GCRY_AES_PPC9LE 1 -+#define ENCRYPT_BLOCK_FUNC _gcry_aes_ppc9le_encrypt -+#define DECRYPT_BLOCK_FUNC _gcry_aes_ppc9le_decrypt -+#define CFB_ENC_FUNC _gcry_aes_ppc9le_cfb_enc -+#define CFB_DEC_FUNC _gcry_aes_ppc9le_cfb_dec -+#define CBC_ENC_FUNC _gcry_aes_ppc9le_cbc_enc -+#define CBC_DEC_FUNC _gcry_aes_ppc9le_cbc_dec -+#define CTR_ENC_FUNC _gcry_aes_ppc9le_ctr_enc -+#define OCB_CRYPT_FUNC _gcry_aes_ppc9le_ocb_crypt -+#define OCB_AUTH_FUNC _gcry_aes_ppc9le_ocb_auth -+#define XTS_CRYPT_FUNC _gcry_aes_ppc9le_xts_crypt -+ -+#include -+ -+#endif /* USE_PPC_CRYPTO */ -diff -up libgcrypt-1.8.5/cipher/rijndael-ppc.c.aes-perf libgcrypt-1.8.5/cipher/rijndael-ppc.c ---- libgcrypt-1.8.5/cipher/rijndael-ppc.c.aes-perf 2020-04-22 18:29:41.677862096 +0200 -+++ libgcrypt-1.8.5/cipher/rijndael-ppc.c 2020-04-22 18:29:41.677862096 +0200 -@@ -0,0 +1,259 @@ -+/* Rijndael (AES) for GnuPG - PowerPC Vector Crypto AES implementation -+ * Copyright (C) 2019 Shawn Landden -+ * Copyright (C) 2019-2020 Jussi Kivilinna -+ * -+ * This file is part of Libgcrypt. -+ * -+ * Libgcrypt is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU Lesser General Public License as -+ * published by the Free Software Foundation; either version 2.1 of -+ * the License, or (at your option) any later version. -+ * -+ * Libgcrypt is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this program; if not, see . -+ * -+ * Alternatively, this code may be used in OpenSSL from The OpenSSL Project, -+ * and Cryptogams by Andy Polyakov, and if made part of a release of either -+ * or both projects, is thereafter dual-licensed under the license said project -+ * is released under. -+ */ -+ -+#include -+ -+#include "rijndael-internal.h" -+#include "cipher-internal.h" -+#include "bufhelp.h" -+ -+#ifdef USE_PPC_CRYPTO -+ -+#include "rijndael-ppc-common.h" -+ -+ -+#ifdef WORDS_BIGENDIAN -+static const block vec_bswap32_const = -+ { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 }; -+#else -+static const block vec_bswap32_const_neg = -+ { ~3, ~2, ~1, ~0, ~7, ~6, ~5, ~4, ~11, ~10, ~9, ~8, ~15, ~14, ~13, ~12 }; -+#endif -+ -+ -+static ASM_FUNC_ATTR_INLINE block -+asm_load_be_const(void) -+{ -+#ifndef WORDS_BIGENDIAN -+ return ALIGNED_LOAD (&vec_bswap32_const_neg, 0); -+#else -+ static const block vec_dummy = { 0 }; -+ return vec_dummy; -+#endif -+} -+ -+static ASM_FUNC_ATTR_INLINE block -+asm_be_swap(block vec, block be_bswap_const) -+{ -+ (void)be_bswap_const; -+#ifndef WORDS_BIGENDIAN -+ return asm_vperm1 (vec, be_bswap_const); -+#else -+ return vec; -+#endif -+} -+ -+static ASM_FUNC_ATTR_INLINE block -+asm_load_be_noswap(unsigned long offset, const void *ptr) -+{ -+ block vec; -+#if __GNUC__ >= 4 -+ if (__builtin_constant_p (offset) && offset == 0) -+ __asm__ volatile ("lxvw4x %x0,0,%1\n\t" -+ : "=wa" (vec) -+ : "r" ((uintptr_t)ptr) -+ : "memory"); -+ else -+#endif -+ __asm__ volatile ("lxvw4x %x0,%1,%2\n\t" -+ : "=wa" (vec) -+ : "r" (offset), "r" ((uintptr_t)ptr) -+ : "memory", "r0"); -+ /* NOTE: vec needs to be be-swapped using 'asm_be_swap' by caller */ -+ return vec; -+} -+ -+static ASM_FUNC_ATTR_INLINE void -+asm_store_be_noswap(block vec, unsigned long offset, void *ptr) -+{ -+ /* NOTE: vec be-swapped using 'asm_be_swap' by caller */ -+#if __GNUC__ >= 4 -+ if (__builtin_constant_p (offset) && offset == 0) -+ __asm__ volatile ("stxvw4x %x0,0,%1\n\t" -+ : -+ : "wa" (vec), "r" ((uintptr_t)ptr) -+ : "memory"); -+ else -+#endif -+ __asm__ volatile ("stxvw4x %x0,%1,%2\n\t" -+ : -+ : "wa" (vec), "r" (offset), "r" ((uintptr_t)ptr) -+ : "memory", "r0"); -+} -+ -+ -+static ASM_FUNC_ATTR_INLINE u32 -+_gcry_aes_sbox4_ppc8(u32 fourbytes) -+{ -+ union -+ { -+ PROPERLY_ALIGNED_TYPE dummy; -+ block data_vec; -+ u32 data32[4]; -+ } u; -+ -+ u.data32[0] = fourbytes; -+ u.data_vec = vec_sbox_be(u.data_vec); -+ return u.data32[0]; -+} -+ -+void -+_gcry_aes_ppc8_setkey (RIJNDAEL_context *ctx, const byte *key) -+{ -+ const block bige_const = asm_load_be_const(); -+ union -+ { -+ PROPERLY_ALIGNED_TYPE dummy; -+ byte data[MAXKC][4]; -+ u32 data32[MAXKC]; -+ } tkk[2]; -+ unsigned int rounds = ctx->rounds; -+ int KC = rounds - 6; -+ unsigned int keylen = KC * 4; -+ u128_t *ekey = (u128_t *)(void *)ctx->keyschenc; -+ unsigned int i, r, t; -+ byte rcon = 1; -+ int j; -+#define k tkk[0].data -+#define k_u32 tkk[0].data32 -+#define tk tkk[1].data -+#define tk_u32 tkk[1].data32 -+#define W (ctx->keyschenc) -+#define W_u32 (ctx->keyschenc32) -+ -+ for (i = 0; i < keylen; i++) -+ { -+ k[i >> 2][i & 3] = key[i]; -+ } -+ -+ for (j = KC-1; j >= 0; j--) -+ { -+ tk_u32[j] = k_u32[j]; -+ } -+ r = 0; -+ t = 0; -+ /* Copy values into round key array. */ -+ for (j = 0; (j < KC) && (r < rounds + 1); ) -+ { -+ for (; (j < KC) && (t < 4); j++, t++) -+ { -+ W_u32[r][t] = le_bswap32(tk_u32[j]); -+ } -+ if (t == 4) -+ { -+ r++; -+ t = 0; -+ } -+ } -+ while (r < rounds + 1) -+ { -+ tk_u32[0] ^= -+ le_bswap32( -+ _gcry_aes_sbox4_ppc8(rol(le_bswap32(tk_u32[KC - 1]), 24)) ^ rcon); -+ -+ if (KC != 8) -+ { -+ for (j = 1; j < KC; j++) -+ { -+ tk_u32[j] ^= tk_u32[j-1]; -+ } -+ } -+ else -+ { -+ for (j = 1; j < KC/2; j++) -+ { -+ tk_u32[j] ^= tk_u32[j-1]; -+ } -+ -+ tk_u32[KC/2] ^= -+ le_bswap32(_gcry_aes_sbox4_ppc8(le_bswap32(tk_u32[KC/2 - 1]))); -+ -+ for (j = KC/2 + 1; j < KC; j++) -+ { -+ tk_u32[j] ^= tk_u32[j-1]; -+ } -+ } -+ -+ /* Copy values into round key array. */ -+ for (j = 0; (j < KC) && (r < rounds + 1); ) -+ { -+ for (; (j < KC) && (t < 4); j++, t++) -+ { -+ W_u32[r][t] = le_bswap32(tk_u32[j]); -+ } -+ if (t == 4) -+ { -+ r++; -+ t = 0; -+ } -+ } -+ -+ rcon = (rcon << 1) ^ (-(rcon >> 7) & 0x1b); -+ } -+ -+ /* Store in big-endian order. */ -+ for (r = 0; r <= rounds; r++) -+ { -+#ifndef WORDS_BIGENDIAN -+ VEC_STORE_BE(ekey, r, ALIGNED_LOAD (ekey, r), bige_const); -+#else -+ block rvec = ALIGNED_LOAD (ekey, r); -+ ALIGNED_STORE (ekey, r, -+ vec_perm(rvec, rvec, vec_bswap32_const)); -+ (void)bige_const; -+#endif -+ } -+ -+#undef W -+#undef tk -+#undef k -+#undef W_u32 -+#undef tk_u32 -+#undef k_u32 -+ wipememory(&tkk, sizeof(tkk)); -+} -+ -+void -+_gcry_aes_ppc8_prepare_decryption (RIJNDAEL_context *ctx) -+{ -+ internal_aes_ppc_prepare_decryption (ctx); -+} -+ -+ -+#define GCRY_AES_PPC8 1 -+#define ENCRYPT_BLOCK_FUNC _gcry_aes_ppc8_encrypt -+#define DECRYPT_BLOCK_FUNC _gcry_aes_ppc8_decrypt -+#define CFB_ENC_FUNC _gcry_aes_ppc8_cfb_enc -+#define CFB_DEC_FUNC _gcry_aes_ppc8_cfb_dec -+#define CBC_ENC_FUNC _gcry_aes_ppc8_cbc_enc -+#define CBC_DEC_FUNC _gcry_aes_ppc8_cbc_dec -+#define CTR_ENC_FUNC _gcry_aes_ppc8_ctr_enc -+#define OCB_CRYPT_FUNC _gcry_aes_ppc8_ocb_crypt -+#define OCB_AUTH_FUNC _gcry_aes_ppc8_ocb_auth -+#define XTS_CRYPT_FUNC _gcry_aes_ppc8_xts_crypt -+ -+#include -+ -+#endif /* USE_PPC_CRYPTO */ -diff -up libgcrypt-1.8.5/cipher/rijndael-ppc-common.h.aes-perf libgcrypt-1.8.5/cipher/rijndael-ppc-common.h ---- libgcrypt-1.8.5/cipher/rijndael-ppc-common.h.aes-perf 2020-04-22 18:29:41.678862076 +0200 -+++ libgcrypt-1.8.5/cipher/rijndael-ppc-common.h 2020-04-22 18:29:41.678862076 +0200 -@@ -0,0 +1,342 @@ -+/* Rijndael (AES) for GnuPG - PowerPC Vector Crypto AES implementation -+ * Copyright (C) 2019 Shawn Landden -+ * Copyright (C) 2019-2020 Jussi Kivilinna -+ * -+ * This file is part of Libgcrypt. -+ * -+ * Libgcrypt is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU Lesser General Public License as -+ * published by the Free Software Foundation; either version 2.1 of -+ * the License, or (at your option) any later version. -+ * -+ * Libgcrypt is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this program; if not, see . -+ * -+ * Alternatively, this code may be used in OpenSSL from The OpenSSL Project, -+ * and Cryptogams by Andy Polyakov, and if made part of a release of either -+ * or both projects, is thereafter dual-licensed under the license said project -+ * is released under. -+ */ -+ -+#ifndef G10_RIJNDAEL_PPC_COMMON_H -+#define G10_RIJNDAEL_PPC_COMMON_H -+ -+#include -+ -+ -+typedef vector unsigned char block; -+ -+typedef union -+{ -+ u32 data32[4]; -+} __attribute__((packed, aligned(1), may_alias)) u128_t; -+ -+ -+#define ALWAYS_INLINE inline __attribute__((always_inline)) -+#define NO_INLINE __attribute__((noinline)) -+#define NO_INSTRUMENT_FUNCTION __attribute__((no_instrument_function)) -+ -+#define ASM_FUNC_ATTR NO_INSTRUMENT_FUNCTION -+#define ASM_FUNC_ATTR_INLINE ASM_FUNC_ATTR ALWAYS_INLINE -+#define ASM_FUNC_ATTR_NOINLINE ASM_FUNC_ATTR NO_INLINE -+ -+ -+#define ALIGNED_LOAD(in_ptr, offs) \ -+ (asm_aligned_ld ((offs) * 16, (const void *)(in_ptr))) -+ -+#define ALIGNED_STORE(out_ptr, offs, vec) \ -+ (asm_aligned_st ((vec), (offs) * 16, (void *)(out_ptr))) -+ -+#define VEC_BE_SWAP(vec, bige_const) (asm_be_swap ((vec), (bige_const))) -+ -+#define VEC_LOAD_BE(in_ptr, offs, bige_const) \ -+ (asm_be_swap (asm_load_be_noswap ((offs) * 16, (const void *)(in_ptr)), \ -+ bige_const)) -+ -+#define VEC_LOAD_BE_NOSWAP(in_ptr, offs) \ -+ (asm_load_be_noswap ((offs) * 16, (const unsigned char *)(in_ptr))) -+ -+#define VEC_STORE_BE(out_ptr, offs, vec, bige_const) \ -+ (asm_store_be_noswap (asm_be_swap ((vec), (bige_const)), (offs) * 16, \ -+ (void *)(out_ptr))) -+ -+#define VEC_STORE_BE_NOSWAP(out_ptr, offs, vec) \ -+ (asm_store_be_noswap ((vec), (offs) * 16, (void *)(out_ptr))) -+ -+ -+#define ROUND_KEY_VARIABLES \ -+ block rkey0, rkeylast -+ -+#define PRELOAD_ROUND_KEYS(nrounds) \ -+ do { \ -+ rkey0 = ALIGNED_LOAD (rk, 0); \ -+ rkeylast = ALIGNED_LOAD (rk, nrounds); \ -+ } while (0) -+ -+#define AES_ENCRYPT(blk, nrounds) \ -+ do { \ -+ blk ^= rkey0; \ -+ blk = asm_cipher_be (blk, ALIGNED_LOAD (rk, 1)); \ -+ blk = asm_cipher_be (blk, ALIGNED_LOAD (rk, 2)); \ -+ blk = asm_cipher_be (blk, ALIGNED_LOAD (rk, 3)); \ -+ blk = asm_cipher_be (blk, ALIGNED_LOAD (rk, 4)); \ -+ blk = asm_cipher_be (blk, ALIGNED_LOAD (rk, 5)); \ -+ blk = asm_cipher_be (blk, ALIGNED_LOAD (rk, 6)); \ -+ blk = asm_cipher_be (blk, ALIGNED_LOAD (rk, 7)); \ -+ blk = asm_cipher_be (blk, ALIGNED_LOAD (rk, 8)); \ -+ blk = asm_cipher_be (blk, ALIGNED_LOAD (rk, 9)); \ -+ if (nrounds >= 12) \ -+ { \ -+ blk = asm_cipher_be (blk, ALIGNED_LOAD (rk, 10)); \ -+ blk = asm_cipher_be (blk, ALIGNED_LOAD (rk, 11)); \ -+ if (rounds > 12) \ -+ { \ -+ blk = asm_cipher_be (blk, ALIGNED_LOAD (rk, 12)); \ -+ blk = asm_cipher_be (blk, ALIGNED_LOAD (rk, 13)); \ -+ } \ -+ } \ -+ blk = asm_cipherlast_be (blk, rkeylast); \ -+ } while (0) -+ -+#define AES_DECRYPT(blk, nrounds) \ -+ do { \ -+ blk ^= rkey0; \ -+ blk = asm_ncipher_be (blk, ALIGNED_LOAD (rk, 1)); \ -+ blk = asm_ncipher_be (blk, ALIGNED_LOAD (rk, 2)); \ -+ blk = asm_ncipher_be (blk, ALIGNED_LOAD (rk, 3)); \ -+ blk = asm_ncipher_be (blk, ALIGNED_LOAD (rk, 4)); \ -+ blk = asm_ncipher_be (blk, ALIGNED_LOAD (rk, 5)); \ -+ blk = asm_ncipher_be (blk, ALIGNED_LOAD (rk, 6)); \ -+ blk = asm_ncipher_be (blk, ALIGNED_LOAD (rk, 7)); \ -+ blk = asm_ncipher_be (blk, ALIGNED_LOAD (rk, 8)); \ -+ blk = asm_ncipher_be (blk, ALIGNED_LOAD (rk, 9)); \ -+ if (nrounds >= 12) \ -+ { \ -+ blk = asm_ncipher_be (blk, ALIGNED_LOAD (rk, 10)); \ -+ blk = asm_ncipher_be (blk, ALIGNED_LOAD (rk, 11)); \ -+ if (rounds > 12) \ -+ { \ -+ blk = asm_ncipher_be (blk, ALIGNED_LOAD (rk, 12)); \ -+ blk = asm_ncipher_be (blk, ALIGNED_LOAD (rk, 13)); \ -+ } \ -+ } \ -+ blk = asm_ncipherlast_be (blk, rkeylast); \ -+ } while (0) -+ -+ -+#define ROUND_KEY_VARIABLES_ALL \ -+ block rkey0, rkey1, rkey2, rkey3, rkey4, rkey5, rkey6, rkey7, rkey8, \ -+ rkey9, rkey10, rkey11, rkey12, rkey13, rkeylast -+ -+#define PRELOAD_ROUND_KEYS_ALL(nrounds) \ -+ do { \ -+ rkey0 = ALIGNED_LOAD (rk, 0); \ -+ rkey1 = ALIGNED_LOAD (rk, 1); \ -+ rkey2 = ALIGNED_LOAD (rk, 2); \ -+ rkey3 = ALIGNED_LOAD (rk, 3); \ -+ rkey4 = ALIGNED_LOAD (rk, 4); \ -+ rkey5 = ALIGNED_LOAD (rk, 5); \ -+ rkey6 = ALIGNED_LOAD (rk, 6); \ -+ rkey7 = ALIGNED_LOAD (rk, 7); \ -+ rkey8 = ALIGNED_LOAD (rk, 8); \ -+ rkey9 = ALIGNED_LOAD (rk, 9); \ -+ if (nrounds >= 12) \ -+ { \ -+ rkey10 = ALIGNED_LOAD (rk, 10); \ -+ rkey11 = ALIGNED_LOAD (rk, 11); \ -+ if (rounds > 12) \ -+ { \ -+ rkey12 = ALIGNED_LOAD (rk, 12); \ -+ rkey13 = ALIGNED_LOAD (rk, 13); \ -+ } \ -+ } \ -+ rkeylast = ALIGNED_LOAD (rk, nrounds); \ -+ } while (0) -+ -+#define AES_ENCRYPT_ALL(blk, nrounds) \ -+ do { \ -+ blk ^= rkey0; \ -+ blk = asm_cipher_be (blk, rkey1); \ -+ blk = asm_cipher_be (blk, rkey2); \ -+ blk = asm_cipher_be (blk, rkey3); \ -+ blk = asm_cipher_be (blk, rkey4); \ -+ blk = asm_cipher_be (blk, rkey5); \ -+ blk = asm_cipher_be (blk, rkey6); \ -+ blk = asm_cipher_be (blk, rkey7); \ -+ blk = asm_cipher_be (blk, rkey8); \ -+ blk = asm_cipher_be (blk, rkey9); \ -+ if (nrounds >= 12) \ -+ { \ -+ blk = asm_cipher_be (blk, rkey10); \ -+ blk = asm_cipher_be (blk, rkey11); \ -+ if (rounds > 12) \ -+ { \ -+ blk = asm_cipher_be (blk, rkey12); \ -+ blk = asm_cipher_be (blk, rkey13); \ -+ } \ -+ } \ -+ blk = asm_cipherlast_be (blk, rkeylast); \ -+ } while (0) -+ -+ -+static ASM_FUNC_ATTR_INLINE block -+asm_aligned_ld(unsigned long offset, const void *ptr) -+{ -+ block vec; -+#if __GNUC__ >= 4 -+ if (__builtin_constant_p (offset) && offset == 0) -+ __asm__ volatile ("lvx %0,0,%1\n\t" -+ : "=v" (vec) -+ : "r" ((uintptr_t)ptr) -+ : "memory"); -+ else -+#endif -+ __asm__ volatile ("lvx %0,%1,%2\n\t" -+ : "=v" (vec) -+ : "r" (offset), "r" ((uintptr_t)ptr) -+ : "memory", "r0"); -+ return vec; -+} -+ -+static ASM_FUNC_ATTR_INLINE void -+asm_aligned_st(block vec, unsigned long offset, void *ptr) -+{ -+#if __GNUC__ >= 4 -+ if (__builtin_constant_p (offset) && offset == 0) -+ __asm__ volatile ("stvx %0,0,%1\n\t" -+ : -+ : "v" (vec), "r" ((uintptr_t)ptr) -+ : "memory"); -+ else -+#endif -+ __asm__ volatile ("stvx %0,%1,%2\n\t" -+ : -+ : "v" (vec), "r" (offset), "r" ((uintptr_t)ptr) -+ : "memory", "r0"); -+} -+ -+static ASM_FUNC_ATTR_INLINE block -+asm_vperm1(block vec, block mask) -+{ -+ block o; -+ __asm__ volatile ("vperm %0,%1,%1,%2\n\t" -+ : "=v" (o) -+ : "v" (vec), "v" (mask)); -+ return o; -+} -+ -+static ASM_FUNC_ATTR_INLINE block -+asm_add_uint128(block a, block b) -+{ -+ block res; -+ __asm__ volatile ("vadduqm %0,%1,%2\n\t" -+ : "=v" (res) -+ : "v" (a), "v" (b)); -+ return res; -+} -+ -+static ASM_FUNC_ATTR_INLINE block -+asm_add_uint64(block a, block b) -+{ -+ block res; -+ __asm__ volatile ("vaddudm %0,%1,%2\n\t" -+ : "=v" (res) -+ : "v" (a), "v" (b)); -+ return res; -+} -+ -+static ASM_FUNC_ATTR_INLINE block -+asm_sra_int64(block a, block b) -+{ -+ block res; -+ __asm__ volatile ("vsrad %0,%1,%2\n\t" -+ : "=v" (res) -+ : "v" (a), "v" (b)); -+ return res; -+} -+ -+static block -+asm_swap_uint64_halfs(block a) -+{ -+ block res; -+ __asm__ volatile ("xxswapd %x0, %x1" -+ : "=wa" (res) -+ : "wa" (a)); -+ return res; -+} -+ -+static ASM_FUNC_ATTR_INLINE block -+asm_xor(block a, block b) -+{ -+ block res; -+ __asm__ volatile ("vxor %0,%1,%2\n\t" -+ : "=v" (res) -+ : "v" (a), "v" (b)); -+ return res; -+} -+ -+static ASM_FUNC_ATTR_INLINE block -+asm_cipher_be(block b, block rk) -+{ -+ block o; -+ __asm__ volatile ("vcipher %0, %1, %2\n\t" -+ : "=v" (o) -+ : "v" (b), "v" (rk)); -+ return o; -+} -+ -+static ASM_FUNC_ATTR_INLINE block -+asm_cipherlast_be(block b, block rk) -+{ -+ block o; -+ __asm__ volatile ("vcipherlast %0, %1, %2\n\t" -+ : "=v" (o) -+ : "v" (b), "v" (rk)); -+ return o; -+} -+ -+static ASM_FUNC_ATTR_INLINE block -+asm_ncipher_be(block b, block rk) -+{ -+ block o; -+ __asm__ volatile ("vncipher %0, %1, %2\n\t" -+ : "=v" (o) -+ : "v" (b), "v" (rk)); -+ return o; -+} -+ -+static ASM_FUNC_ATTR_INLINE block -+asm_ncipherlast_be(block b, block rk) -+{ -+ block o; -+ __asm__ volatile ("vncipherlast %0, %1, %2\n\t" -+ : "=v" (o) -+ : "v" (b), "v" (rk)); -+ return o; -+} -+ -+ -+/* Make a decryption key from an encryption key. */ -+static ASM_FUNC_ATTR_INLINE void -+internal_aes_ppc_prepare_decryption (RIJNDAEL_context *ctx) -+{ -+ u128_t *ekey = (u128_t *)(void *)ctx->keyschenc; -+ u128_t *dkey = (u128_t *)(void *)ctx->keyschdec; -+ int rounds = ctx->rounds; -+ int rr; -+ int r; -+ -+ r = 0; -+ rr = rounds; -+ for (r = 0, rr = rounds; r <= rounds; r++, rr--) -+ { -+ ALIGNED_STORE (dkey, r, ALIGNED_LOAD (ekey, rr)); -+ } -+} -+ -+#endif /* G10_RIJNDAEL_PPC_COMMON_H */ -diff -up libgcrypt-1.8.5/cipher/rijndael-ppc-functions.h.aes-perf libgcrypt-1.8.5/cipher/rijndael-ppc-functions.h ---- libgcrypt-1.8.5/cipher/rijndael-ppc-functions.h.aes-perf 2020-04-22 18:29:41.679862057 +0200 -+++ libgcrypt-1.8.5/cipher/rijndael-ppc-functions.h 2020-04-22 18:29:41.679862057 +0200 -@@ -0,0 +1,2020 @@ -+/* Rijndael (AES) for GnuPG - PowerPC Vector Crypto AES implementation -+ * Copyright (C) 2019 Shawn Landden -+ * Copyright (C) 2019-2020 Jussi Kivilinna -+ * -+ * This file is part of Libgcrypt. -+ * -+ * Libgcrypt is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU Lesser General Public License as -+ * published by the Free Software Foundation; either version 2.1 of -+ * the License, or (at your option) any later version. -+ * -+ * Libgcrypt is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this program; if not, see . -+ * -+ * Alternatively, this code may be used in OpenSSL from The OpenSSL Project, -+ * and Cryptogams by Andy Polyakov, and if made part of a release of either -+ * or both projects, is thereafter dual-licensed under the license said project -+ * is released under. -+ */ -+ -+unsigned int ENCRYPT_BLOCK_FUNC (const RIJNDAEL_context *ctx, -+ unsigned char *out, -+ const unsigned char *in) -+{ -+ const block bige_const = asm_load_be_const(); -+ const u128_t *rk = (u128_t *)&ctx->keyschenc; -+ int rounds = ctx->rounds; -+ ROUND_KEY_VARIABLES; -+ block b; -+ -+ b = VEC_LOAD_BE (in, 0, bige_const); -+ -+ PRELOAD_ROUND_KEYS (rounds); -+ -+ AES_ENCRYPT (b, rounds); -+ VEC_STORE_BE (out, 0, b, bige_const); -+ -+ return 0; /* does not use stack */ -+} -+ -+ -+unsigned int DECRYPT_BLOCK_FUNC (const RIJNDAEL_context *ctx, -+ unsigned char *out, -+ const unsigned char *in) -+{ -+ const block bige_const = asm_load_be_const(); -+ const u128_t *rk = (u128_t *)&ctx->keyschdec; -+ int rounds = ctx->rounds; -+ ROUND_KEY_VARIABLES; -+ block b; -+ -+ b = VEC_LOAD_BE (in, 0, bige_const); -+ -+ PRELOAD_ROUND_KEYS (rounds); -+ -+ AES_DECRYPT (b, rounds); -+ VEC_STORE_BE (out, 0, b, bige_const); -+ -+ return 0; /* does not use stack */ -+} -+ -+ -+void CFB_ENC_FUNC (void *context, unsigned char *iv_arg, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks) -+{ -+ const block bige_const = asm_load_be_const(); -+ RIJNDAEL_context *ctx = context; -+ const u128_t *rk = (u128_t *)&ctx->keyschenc; -+ const u128_t *in = (const u128_t *)inbuf_arg; -+ u128_t *out = (u128_t *)outbuf_arg; -+ int rounds = ctx->rounds; -+ ROUND_KEY_VARIABLES_ALL; -+ block rkeylast_orig; -+ block iv; -+ -+ iv = VEC_LOAD_BE (iv_arg, 0, bige_const); -+ -+ PRELOAD_ROUND_KEYS_ALL (rounds); -+ rkeylast_orig = rkeylast; -+ -+ for (; nblocks >= 2; nblocks -= 2) -+ { -+ block in2, iv1; -+ -+ rkeylast = rkeylast_orig ^ VEC_LOAD_BE (in, 0, bige_const); -+ in2 = VEC_LOAD_BE (in + 1, 0, bige_const); -+ in += 2; -+ -+ AES_ENCRYPT_ALL (iv, rounds); -+ -+ iv1 = iv; -+ rkeylast = rkeylast_orig ^ in2; -+ -+ AES_ENCRYPT_ALL (iv, rounds); -+ -+ VEC_STORE_BE (out++, 0, iv1, bige_const); -+ VEC_STORE_BE (out++, 0, iv, bige_const); -+ } -+ -+ for (; nblocks; nblocks--) -+ { -+ rkeylast = rkeylast_orig ^ VEC_LOAD_BE (in++, 0, bige_const); -+ -+ AES_ENCRYPT_ALL (iv, rounds); -+ -+ VEC_STORE_BE (out++, 0, iv, bige_const); -+ } -+ -+ VEC_STORE_BE (iv_arg, 0, iv, bige_const); -+} -+ -+void CFB_DEC_FUNC (void *context, unsigned char *iv_arg, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks) -+{ -+ const block bige_const = asm_load_be_const(); -+ RIJNDAEL_context *ctx = context; -+ const u128_t *rk = (u128_t *)&ctx->keyschenc; -+ const u128_t *in = (const u128_t *)inbuf_arg; -+ u128_t *out = (u128_t *)outbuf_arg; -+ int rounds = ctx->rounds; -+ ROUND_KEY_VARIABLES; -+ block rkeylast_orig; -+ block iv, b, bin; -+ block in0, in1, in2, in3, in4, in5, in6, in7; -+ block b0, b1, b2, b3, b4, b5, b6, b7; -+ block rkey; -+ -+ iv = VEC_LOAD_BE (iv_arg, 0, bige_const); -+ -+ PRELOAD_ROUND_KEYS (rounds); -+ rkeylast_orig = rkeylast; -+ -+ for (; nblocks >= 8; nblocks -= 8) -+ { -+ in0 = iv; -+ in1 = VEC_LOAD_BE_NOSWAP (in, 0); -+ in2 = VEC_LOAD_BE_NOSWAP (in, 1); -+ in3 = VEC_LOAD_BE_NOSWAP (in, 2); -+ in4 = VEC_LOAD_BE_NOSWAP (in, 3); -+ in1 = VEC_BE_SWAP (in1, bige_const); -+ in2 = VEC_BE_SWAP (in2, bige_const); -+ in5 = VEC_LOAD_BE_NOSWAP (in, 4); -+ in6 = VEC_LOAD_BE_NOSWAP (in, 5); -+ in3 = VEC_BE_SWAP (in3, bige_const); -+ in4 = VEC_BE_SWAP (in4, bige_const); -+ in7 = VEC_LOAD_BE_NOSWAP (in, 6); -+ iv = VEC_LOAD_BE_NOSWAP (in, 7); -+ in += 8; -+ in5 = VEC_BE_SWAP (in5, bige_const); -+ in6 = VEC_BE_SWAP (in6, bige_const); -+ b0 = asm_xor (rkey0, in0); -+ b1 = asm_xor (rkey0, in1); -+ in7 = VEC_BE_SWAP (in7, bige_const); -+ iv = VEC_BE_SWAP (iv, bige_const); -+ b2 = asm_xor (rkey0, in2); -+ b3 = asm_xor (rkey0, in3); -+ b4 = asm_xor (rkey0, in4); -+ b5 = asm_xor (rkey0, in5); -+ b6 = asm_xor (rkey0, in6); -+ b7 = asm_xor (rkey0, in7); -+ -+#define DO_ROUND(r) \ -+ rkey = ALIGNED_LOAD (rk, r); \ -+ b0 = asm_cipher_be (b0, rkey); \ -+ b1 = asm_cipher_be (b1, rkey); \ -+ b2 = asm_cipher_be (b2, rkey); \ -+ b3 = asm_cipher_be (b3, rkey); \ -+ b4 = asm_cipher_be (b4, rkey); \ -+ b5 = asm_cipher_be (b5, rkey); \ -+ b6 = asm_cipher_be (b6, rkey); \ -+ b7 = asm_cipher_be (b7, rkey); -+ -+ DO_ROUND(1); -+ DO_ROUND(2); -+ DO_ROUND(3); -+ DO_ROUND(4); -+ DO_ROUND(5); -+ DO_ROUND(6); -+ DO_ROUND(7); -+ DO_ROUND(8); -+ DO_ROUND(9); -+ if (rounds >= 12) -+ { -+ DO_ROUND(10); -+ DO_ROUND(11); -+ if (rounds > 12) -+ { -+ DO_ROUND(12); -+ DO_ROUND(13); -+ } -+ } -+ -+#undef DO_ROUND -+ -+ in1 = asm_xor (rkeylast, in1); -+ in2 = asm_xor (rkeylast, in2); -+ in3 = asm_xor (rkeylast, in3); -+ in4 = asm_xor (rkeylast, in4); -+ b0 = asm_cipherlast_be (b0, in1); -+ b1 = asm_cipherlast_be (b1, in2); -+ in5 = asm_xor (rkeylast, in5); -+ in6 = asm_xor (rkeylast, in6); -+ b2 = asm_cipherlast_be (b2, in3); -+ b3 = asm_cipherlast_be (b3, in4); -+ in7 = asm_xor (rkeylast, in7); -+ in0 = asm_xor (rkeylast, iv); -+ b0 = VEC_BE_SWAP (b0, bige_const); -+ b1 = VEC_BE_SWAP (b1, bige_const); -+ b4 = asm_cipherlast_be (b4, in5); -+ b5 = asm_cipherlast_be (b5, in6); -+ b2 = VEC_BE_SWAP (b2, bige_const); -+ b3 = VEC_BE_SWAP (b3, bige_const); -+ b6 = asm_cipherlast_be (b6, in7); -+ b7 = asm_cipherlast_be (b7, in0); -+ b4 = VEC_BE_SWAP (b4, bige_const); -+ b5 = VEC_BE_SWAP (b5, bige_const); -+ b6 = VEC_BE_SWAP (b6, bige_const); -+ b7 = VEC_BE_SWAP (b7, bige_const); -+ VEC_STORE_BE_NOSWAP (out, 0, b0); -+ VEC_STORE_BE_NOSWAP (out, 1, b1); -+ VEC_STORE_BE_NOSWAP (out, 2, b2); -+ VEC_STORE_BE_NOSWAP (out, 3, b3); -+ VEC_STORE_BE_NOSWAP (out, 4, b4); -+ VEC_STORE_BE_NOSWAP (out, 5, b5); -+ VEC_STORE_BE_NOSWAP (out, 6, b6); -+ VEC_STORE_BE_NOSWAP (out, 7, b7); -+ out += 8; -+ } -+ -+ if (nblocks >= 4) -+ { -+ in0 = iv; -+ in1 = VEC_LOAD_BE (in, 0, bige_const); -+ in2 = VEC_LOAD_BE (in, 1, bige_const); -+ in3 = VEC_LOAD_BE (in, 2, bige_const); -+ iv = VEC_LOAD_BE (in, 3, bige_const); -+ -+ b0 = asm_xor (rkey0, in0); -+ b1 = asm_xor (rkey0, in1); -+ b2 = asm_xor (rkey0, in2); -+ b3 = asm_xor (rkey0, in3); -+ -+#define DO_ROUND(r) \ -+ rkey = ALIGNED_LOAD (rk, r); \ -+ b0 = asm_cipher_be (b0, rkey); \ -+ b1 = asm_cipher_be (b1, rkey); \ -+ b2 = asm_cipher_be (b2, rkey); \ -+ b3 = asm_cipher_be (b3, rkey); -+ -+ DO_ROUND(1); -+ DO_ROUND(2); -+ DO_ROUND(3); -+ DO_ROUND(4); -+ DO_ROUND(5); -+ DO_ROUND(6); -+ DO_ROUND(7); -+ DO_ROUND(8); -+ DO_ROUND(9); -+ if (rounds >= 12) -+ { -+ DO_ROUND(10); -+ DO_ROUND(11); -+ if (rounds > 12) -+ { -+ DO_ROUND(12); -+ DO_ROUND(13); -+ } -+ } -+ -+#undef DO_ROUND -+ -+ in1 = asm_xor (rkeylast, in1); -+ in2 = asm_xor (rkeylast, in2); -+ in3 = asm_xor (rkeylast, in3); -+ in0 = asm_xor (rkeylast, iv); -+ b0 = asm_cipherlast_be (b0, in1); -+ b1 = asm_cipherlast_be (b1, in2); -+ b2 = asm_cipherlast_be (b2, in3); -+ b3 = asm_cipherlast_be (b3, in0); -+ VEC_STORE_BE (out, 0, b0, bige_const); -+ VEC_STORE_BE (out, 1, b1, bige_const); -+ VEC_STORE_BE (out, 2, b2, bige_const); -+ VEC_STORE_BE (out, 3, b3, bige_const); -+ -+ in += 4; -+ out += 4; -+ nblocks -= 4; -+ } -+ -+ for (; nblocks; nblocks--) -+ { -+ bin = VEC_LOAD_BE (in, 0, bige_const); -+ rkeylast = rkeylast_orig ^ bin; -+ b = iv; -+ iv = bin; -+ -+ AES_ENCRYPT (b, rounds); -+ -+ VEC_STORE_BE (out, 0, b, bige_const); -+ -+ out++; -+ in++; -+ } -+ -+ VEC_STORE_BE (iv_arg, 0, iv, bige_const); -+} -+ -+ -+void CBC_ENC_FUNC (void *context, unsigned char *iv_arg, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks, int cbc_mac) -+{ -+ const block bige_const = asm_load_be_const(); -+ RIJNDAEL_context *ctx = context; -+ const u128_t *rk = (u128_t *)&ctx->keyschenc; -+ const u128_t *in = (const u128_t *)inbuf_arg; -+ byte *out = (byte *)outbuf_arg; -+ int rounds = ctx->rounds; -+ ROUND_KEY_VARIABLES_ALL; -+ block lastiv, b; -+ unsigned int outadd = -(!cbc_mac) & 16; -+ -+ lastiv = VEC_LOAD_BE (iv_arg, 0, bige_const); -+ -+ PRELOAD_ROUND_KEYS_ALL (rounds); -+ -+ for (; nblocks >= 2; nblocks -= 2) -+ { -+ block in2, lastiv1; -+ -+ b = lastiv ^ VEC_LOAD_BE (in, 0, bige_const); -+ in2 = VEC_LOAD_BE (in + 1, 0, bige_const); -+ in += 2; -+ -+ AES_ENCRYPT_ALL (b, rounds); -+ -+ lastiv1 = b; -+ b = lastiv1 ^ in2; -+ -+ AES_ENCRYPT_ALL (b, rounds); -+ -+ lastiv = b; -+ VEC_STORE_BE ((u128_t *)out, 0, lastiv1, bige_const); -+ out += outadd; -+ VEC_STORE_BE ((u128_t *)out, 0, lastiv, bige_const); -+ out += outadd; -+ } -+ -+ for (; nblocks; nblocks--) -+ { -+ b = lastiv ^ VEC_LOAD_BE (in++, 0, bige_const); -+ -+ AES_ENCRYPT_ALL (b, rounds); -+ -+ lastiv = b; -+ VEC_STORE_BE ((u128_t *)out, 0, b, bige_const); -+ out += outadd; -+ } -+ -+ VEC_STORE_BE (iv_arg, 0, lastiv, bige_const); -+} -+ -+void CBC_DEC_FUNC (void *context, unsigned char *iv_arg, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks) -+{ -+ const block bige_const = asm_load_be_const(); -+ RIJNDAEL_context *ctx = context; -+ const u128_t *rk = (u128_t *)&ctx->keyschdec; -+ const u128_t *in = (const u128_t *)inbuf_arg; -+ u128_t *out = (u128_t *)outbuf_arg; -+ int rounds = ctx->rounds; -+ ROUND_KEY_VARIABLES; -+ block rkeylast_orig; -+ block in0, in1, in2, in3, in4, in5, in6, in7; -+ block b0, b1, b2, b3, b4, b5, b6, b7; -+ block rkey; -+ block iv, b; -+ -+ if (!ctx->decryption_prepared) -+ { -+ internal_aes_ppc_prepare_decryption (ctx); -+ ctx->decryption_prepared = 1; -+ } -+ -+ iv = VEC_LOAD_BE (iv_arg, 0, bige_const); -+ -+ PRELOAD_ROUND_KEYS (rounds); -+ rkeylast_orig = rkeylast; -+ -+ for (; nblocks >= 8; nblocks -= 8) -+ { -+ in0 = VEC_LOAD_BE_NOSWAP (in, 0); -+ in1 = VEC_LOAD_BE_NOSWAP (in, 1); -+ in2 = VEC_LOAD_BE_NOSWAP (in, 2); -+ in3 = VEC_LOAD_BE_NOSWAP (in, 3); -+ in0 = VEC_BE_SWAP (in0, bige_const); -+ in1 = VEC_BE_SWAP (in1, bige_const); -+ in4 = VEC_LOAD_BE_NOSWAP (in, 4); -+ in5 = VEC_LOAD_BE_NOSWAP (in, 5); -+ in2 = VEC_BE_SWAP (in2, bige_const); -+ in3 = VEC_BE_SWAP (in3, bige_const); -+ in6 = VEC_LOAD_BE_NOSWAP (in, 6); -+ in7 = VEC_LOAD_BE_NOSWAP (in, 7); -+ in += 8; -+ b0 = asm_xor (rkey0, in0); -+ b1 = asm_xor (rkey0, in1); -+ in4 = VEC_BE_SWAP (in4, bige_const); -+ in5 = VEC_BE_SWAP (in5, bige_const); -+ b2 = asm_xor (rkey0, in2); -+ b3 = asm_xor (rkey0, in3); -+ in6 = VEC_BE_SWAP (in6, bige_const); -+ in7 = VEC_BE_SWAP (in7, bige_const); -+ b4 = asm_xor (rkey0, in4); -+ b5 = asm_xor (rkey0, in5); -+ b6 = asm_xor (rkey0, in6); -+ b7 = asm_xor (rkey0, in7); -+ -+#define DO_ROUND(r) \ -+ rkey = ALIGNED_LOAD (rk, r); \ -+ b0 = asm_ncipher_be (b0, rkey); \ -+ b1 = asm_ncipher_be (b1, rkey); \ -+ b2 = asm_ncipher_be (b2, rkey); \ -+ b3 = asm_ncipher_be (b3, rkey); \ -+ b4 = asm_ncipher_be (b4, rkey); \ -+ b5 = asm_ncipher_be (b5, rkey); \ -+ b6 = asm_ncipher_be (b6, rkey); \ -+ b7 = asm_ncipher_be (b7, rkey); -+ -+ DO_ROUND(1); -+ DO_ROUND(2); -+ DO_ROUND(3); -+ DO_ROUND(4); -+ DO_ROUND(5); -+ DO_ROUND(6); -+ DO_ROUND(7); -+ DO_ROUND(8); -+ DO_ROUND(9); -+ if (rounds >= 12) -+ { -+ DO_ROUND(10); -+ DO_ROUND(11); -+ if (rounds > 12) -+ { -+ DO_ROUND(12); -+ DO_ROUND(13); -+ } -+ } -+ -+#undef DO_ROUND -+ -+ iv = asm_xor (rkeylast, iv); -+ in0 = asm_xor (rkeylast, in0); -+ in1 = asm_xor (rkeylast, in1); -+ in2 = asm_xor (rkeylast, in2); -+ b0 = asm_ncipherlast_be (b0, iv); -+ iv = in7; -+ b1 = asm_ncipherlast_be (b1, in0); -+ in3 = asm_xor (rkeylast, in3); -+ in4 = asm_xor (rkeylast, in4); -+ b2 = asm_ncipherlast_be (b2, in1); -+ b3 = asm_ncipherlast_be (b3, in2); -+ in5 = asm_xor (rkeylast, in5); -+ in6 = asm_xor (rkeylast, in6); -+ b0 = VEC_BE_SWAP (b0, bige_const); -+ b1 = VEC_BE_SWAP (b1, bige_const); -+ b4 = asm_ncipherlast_be (b4, in3); -+ b5 = asm_ncipherlast_be (b5, in4); -+ b2 = VEC_BE_SWAP (b2, bige_const); -+ b3 = VEC_BE_SWAP (b3, bige_const); -+ b6 = asm_ncipherlast_be (b6, in5); -+ b7 = asm_ncipherlast_be (b7, in6); -+ b4 = VEC_BE_SWAP (b4, bige_const); -+ b5 = VEC_BE_SWAP (b5, bige_const); -+ b6 = VEC_BE_SWAP (b6, bige_const); -+ b7 = VEC_BE_SWAP (b7, bige_const); -+ VEC_STORE_BE_NOSWAP (out, 0, b0); -+ VEC_STORE_BE_NOSWAP (out, 1, b1); -+ VEC_STORE_BE_NOSWAP (out, 2, b2); -+ VEC_STORE_BE_NOSWAP (out, 3, b3); -+ VEC_STORE_BE_NOSWAP (out, 4, b4); -+ VEC_STORE_BE_NOSWAP (out, 5, b5); -+ VEC_STORE_BE_NOSWAP (out, 6, b6); -+ VEC_STORE_BE_NOSWAP (out, 7, b7); -+ out += 8; -+ } -+ -+ if (nblocks >= 4) -+ { -+ in0 = VEC_LOAD_BE (in, 0, bige_const); -+ in1 = VEC_LOAD_BE (in, 1, bige_const); -+ in2 = VEC_LOAD_BE (in, 2, bige_const); -+ in3 = VEC_LOAD_BE (in, 3, bige_const); -+ -+ b0 = asm_xor (rkey0, in0); -+ b1 = asm_xor (rkey0, in1); -+ b2 = asm_xor (rkey0, in2); -+ b3 = asm_xor (rkey0, in3); -+ -+#define DO_ROUND(r) \ -+ rkey = ALIGNED_LOAD (rk, r); \ -+ b0 = asm_ncipher_be (b0, rkey); \ -+ b1 = asm_ncipher_be (b1, rkey); \ -+ b2 = asm_ncipher_be (b2, rkey); \ -+ b3 = asm_ncipher_be (b3, rkey); -+ -+ DO_ROUND(1); -+ DO_ROUND(2); -+ DO_ROUND(3); -+ DO_ROUND(4); -+ DO_ROUND(5); -+ DO_ROUND(6); -+ DO_ROUND(7); -+ DO_ROUND(8); -+ DO_ROUND(9); -+ if (rounds >= 12) -+ { -+ DO_ROUND(10); -+ DO_ROUND(11); -+ if (rounds > 12) -+ { -+ DO_ROUND(12); -+ DO_ROUND(13); -+ } -+ } -+ -+#undef DO_ROUND -+ -+ iv = asm_xor (rkeylast, iv); -+ in0 = asm_xor (rkeylast, in0); -+ in1 = asm_xor (rkeylast, in1); -+ in2 = asm_xor (rkeylast, in2); -+ -+ b0 = asm_ncipherlast_be (b0, iv); -+ iv = in3; -+ b1 = asm_ncipherlast_be (b1, in0); -+ b2 = asm_ncipherlast_be (b2, in1); -+ b3 = asm_ncipherlast_be (b3, in2); -+ -+ VEC_STORE_BE (out, 0, b0, bige_const); -+ VEC_STORE_BE (out, 1, b1, bige_const); -+ VEC_STORE_BE (out, 2, b2, bige_const); -+ VEC_STORE_BE (out, 3, b3, bige_const); -+ -+ in += 4; -+ out += 4; -+ nblocks -= 4; -+ } -+ -+ for (; nblocks; nblocks--) -+ { -+ rkeylast = rkeylast_orig ^ iv; -+ -+ iv = VEC_LOAD_BE (in, 0, bige_const); -+ b = iv; -+ AES_DECRYPT (b, rounds); -+ -+ VEC_STORE_BE (out, 0, b, bige_const); -+ -+ in++; -+ out++; -+ } -+ -+ VEC_STORE_BE (iv_arg, 0, iv, bige_const); -+} -+ -+ -+void CTR_ENC_FUNC (void *context, unsigned char *ctr_arg, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks) -+{ -+ static const unsigned char vec_one_const[16] = -+ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }; -+ const block bige_const = asm_load_be_const(); -+ RIJNDAEL_context *ctx = context; -+ const u128_t *rk = (u128_t *)&ctx->keyschenc; -+ const u128_t *in = (const u128_t *)inbuf_arg; -+ u128_t *out = (u128_t *)outbuf_arg; -+ int rounds = ctx->rounds; -+ ROUND_KEY_VARIABLES; -+ block rkeylast_orig; -+ block ctr, b, one; -+ -+ ctr = VEC_LOAD_BE (ctr_arg, 0, bige_const); -+ one = VEC_LOAD_BE (&vec_one_const, 0, bige_const); -+ -+ PRELOAD_ROUND_KEYS (rounds); -+ rkeylast_orig = rkeylast; -+ -+ if (nblocks >= 4) -+ { -+ block in0, in1, in2, in3, in4, in5, in6, in7; -+ block b0, b1, b2, b3, b4, b5, b6, b7; -+ block two, three, four; -+ block rkey; -+ -+ two = asm_add_uint128 (one, one); -+ three = asm_add_uint128 (two, one); -+ four = asm_add_uint128 (two, two); -+ -+ for (; nblocks >= 8; nblocks -= 8) -+ { -+ b1 = asm_add_uint128 (ctr, one); -+ b2 = asm_add_uint128 (ctr, two); -+ b3 = asm_add_uint128 (ctr, three); -+ b4 = asm_add_uint128 (ctr, four); -+ b5 = asm_add_uint128 (b1, four); -+ b6 = asm_add_uint128 (b2, four); -+ b7 = asm_add_uint128 (b3, four); -+ b0 = asm_xor (rkey0, ctr); -+ rkey = ALIGNED_LOAD (rk, 1); -+ ctr = asm_add_uint128 (b4, four); -+ b1 = asm_xor (rkey0, b1); -+ b2 = asm_xor (rkey0, b2); -+ b3 = asm_xor (rkey0, b3); -+ b0 = asm_cipher_be (b0, rkey); -+ b1 = asm_cipher_be (b1, rkey); -+ b2 = asm_cipher_be (b2, rkey); -+ b3 = asm_cipher_be (b3, rkey); -+ b4 = asm_xor (rkey0, b4); -+ b5 = asm_xor (rkey0, b5); -+ b6 = asm_xor (rkey0, b6); -+ b7 = asm_xor (rkey0, b7); -+ b4 = asm_cipher_be (b4, rkey); -+ b5 = asm_cipher_be (b5, rkey); -+ b6 = asm_cipher_be (b6, rkey); -+ b7 = asm_cipher_be (b7, rkey); -+ -+#define DO_ROUND(r) \ -+ rkey = ALIGNED_LOAD (rk, r); \ -+ b0 = asm_cipher_be (b0, rkey); \ -+ b1 = asm_cipher_be (b1, rkey); \ -+ b2 = asm_cipher_be (b2, rkey); \ -+ b3 = asm_cipher_be (b3, rkey); \ -+ b4 = asm_cipher_be (b4, rkey); \ -+ b5 = asm_cipher_be (b5, rkey); \ -+ b6 = asm_cipher_be (b6, rkey); \ -+ b7 = asm_cipher_be (b7, rkey); -+ -+ in0 = VEC_LOAD_BE_NOSWAP (in, 0); -+ DO_ROUND(2); -+ in1 = VEC_LOAD_BE_NOSWAP (in, 1); -+ DO_ROUND(3); -+ in2 = VEC_LOAD_BE_NOSWAP (in, 2); -+ DO_ROUND(4); -+ in3 = VEC_LOAD_BE_NOSWAP (in, 3); -+ DO_ROUND(5); -+ in4 = VEC_LOAD_BE_NOSWAP (in, 4); -+ DO_ROUND(6); -+ in5 = VEC_LOAD_BE_NOSWAP (in, 5); -+ DO_ROUND(7); -+ in6 = VEC_LOAD_BE_NOSWAP (in, 6); -+ DO_ROUND(8); -+ in7 = VEC_LOAD_BE_NOSWAP (in, 7); -+ in += 8; -+ DO_ROUND(9); -+ -+ if (rounds >= 12) -+ { -+ DO_ROUND(10); -+ DO_ROUND(11); -+ if (rounds > 12) -+ { -+ DO_ROUND(12); -+ DO_ROUND(13); -+ } -+ } -+ -+#undef DO_ROUND -+ -+ in0 = VEC_BE_SWAP (in0, bige_const); -+ in1 = VEC_BE_SWAP (in1, bige_const); -+ in2 = VEC_BE_SWAP (in2, bige_const); -+ in3 = VEC_BE_SWAP (in3, bige_const); -+ in4 = VEC_BE_SWAP (in4, bige_const); -+ in5 = VEC_BE_SWAP (in5, bige_const); -+ in6 = VEC_BE_SWAP (in6, bige_const); -+ in7 = VEC_BE_SWAP (in7, bige_const); -+ -+ in0 = asm_xor (rkeylast, in0); -+ in1 = asm_xor (rkeylast, in1); -+ in2 = asm_xor (rkeylast, in2); -+ in3 = asm_xor (rkeylast, in3); -+ b0 = asm_cipherlast_be (b0, in0); -+ b1 = asm_cipherlast_be (b1, in1); -+ in4 = asm_xor (rkeylast, in4); -+ in5 = asm_xor (rkeylast, in5); -+ b2 = asm_cipherlast_be (b2, in2); -+ b3 = asm_cipherlast_be (b3, in3); -+ in6 = asm_xor (rkeylast, in6); -+ in7 = asm_xor (rkeylast, in7); -+ b4 = asm_cipherlast_be (b4, in4); -+ b5 = asm_cipherlast_be (b5, in5); -+ b6 = asm_cipherlast_be (b6, in6); -+ b7 = asm_cipherlast_be (b7, in7); -+ -+ b0 = VEC_BE_SWAP (b0, bige_const); -+ b1 = VEC_BE_SWAP (b1, bige_const); -+ b2 = VEC_BE_SWAP (b2, bige_const); -+ b3 = VEC_BE_SWAP (b3, bige_const); -+ b4 = VEC_BE_SWAP (b4, bige_const); -+ b5 = VEC_BE_SWAP (b5, bige_const); -+ b6 = VEC_BE_SWAP (b6, bige_const); -+ b7 = VEC_BE_SWAP (b7, bige_const); -+ VEC_STORE_BE_NOSWAP (out, 0, b0); -+ VEC_STORE_BE_NOSWAP (out, 1, b1); -+ VEC_STORE_BE_NOSWAP (out, 2, b2); -+ VEC_STORE_BE_NOSWAP (out, 3, b3); -+ VEC_STORE_BE_NOSWAP (out, 4, b4); -+ VEC_STORE_BE_NOSWAP (out, 5, b5); -+ VEC_STORE_BE_NOSWAP (out, 6, b6); -+ VEC_STORE_BE_NOSWAP (out, 7, b7); -+ out += 8; -+ } -+ -+ if (nblocks >= 4) -+ { -+ b1 = asm_add_uint128 (ctr, one); -+ b2 = asm_add_uint128 (ctr, two); -+ b3 = asm_add_uint128 (ctr, three); -+ b0 = asm_xor (rkey0, ctr); -+ ctr = asm_add_uint128 (ctr, four); -+ b1 = asm_xor (rkey0, b1); -+ b2 = asm_xor (rkey0, b2); -+ b3 = asm_xor (rkey0, b3); -+ -+#define DO_ROUND(r) \ -+ rkey = ALIGNED_LOAD (rk, r); \ -+ b0 = asm_cipher_be (b0, rkey); \ -+ b1 = asm_cipher_be (b1, rkey); \ -+ b2 = asm_cipher_be (b2, rkey); \ -+ b3 = asm_cipher_be (b3, rkey); -+ -+ DO_ROUND(1); -+ DO_ROUND(2); -+ DO_ROUND(3); -+ DO_ROUND(4); -+ DO_ROUND(5); -+ DO_ROUND(6); -+ DO_ROUND(7); -+ DO_ROUND(8); -+ -+ in0 = VEC_LOAD_BE (in, 0, bige_const); -+ in1 = VEC_LOAD_BE (in, 1, bige_const); -+ in2 = VEC_LOAD_BE (in, 2, bige_const); -+ in3 = VEC_LOAD_BE (in, 3, bige_const); -+ -+ DO_ROUND(9); -+ if (rounds >= 12) -+ { -+ DO_ROUND(10); -+ DO_ROUND(11); -+ if (rounds > 12) -+ { -+ DO_ROUND(12); -+ DO_ROUND(13); -+ } -+ } -+ -+#undef DO_ROUND -+ -+ in0 = asm_xor (rkeylast, in0); -+ in1 = asm_xor (rkeylast, in1); -+ in2 = asm_xor (rkeylast, in2); -+ in3 = asm_xor (rkeylast, in3); -+ -+ b0 = asm_cipherlast_be (b0, in0); -+ b1 = asm_cipherlast_be (b1, in1); -+ b2 = asm_cipherlast_be (b2, in2); -+ b3 = asm_cipherlast_be (b3, in3); -+ -+ VEC_STORE_BE (out, 0, b0, bige_const); -+ VEC_STORE_BE (out, 1, b1, bige_const); -+ VEC_STORE_BE (out, 2, b2, bige_const); -+ VEC_STORE_BE (out, 3, b3, bige_const); -+ -+ in += 4; -+ out += 4; -+ nblocks -= 4; -+ } -+ } -+ -+ for (; nblocks; nblocks--) -+ { -+ b = ctr; -+ ctr = asm_add_uint128 (ctr, one); -+ rkeylast = rkeylast_orig ^ VEC_LOAD_BE (in, 0, bige_const); -+ -+ AES_ENCRYPT (b, rounds); -+ -+ VEC_STORE_BE (out, 0, b, bige_const); -+ -+ out++; -+ in++; -+ } -+ -+ VEC_STORE_BE (ctr_arg, 0, ctr, bige_const); -+} -+ -+ -+size_t OCB_CRYPT_FUNC (gcry_cipher_hd_t c, void *outbuf_arg, -+ const void *inbuf_arg, size_t nblocks, -+ int encrypt) -+{ -+ const block bige_const = asm_load_be_const(); -+ RIJNDAEL_context *ctx = (void *)&c->context.c; -+ const u128_t *in = (const u128_t *)inbuf_arg; -+ u128_t *out = (u128_t *)outbuf_arg; -+ int rounds = ctx->rounds; -+ u64 data_nblocks = c->u_mode.ocb.data_nblocks; -+ block l0, l1, l2, l; -+ block b0, b1, b2, b3, b4, b5, b6, b7, b; -+ block iv0, iv1, iv2, iv3, iv4, iv5, iv6, iv7; -+ block rkey, rkeylf; -+ block ctr, iv; -+ ROUND_KEY_VARIABLES; -+ -+ iv = VEC_LOAD_BE (c->u_iv.iv, 0, bige_const); -+ ctr = VEC_LOAD_BE (c->u_ctr.ctr, 0, bige_const); -+ -+ l0 = VEC_LOAD_BE (c->u_mode.ocb.L[0], 0, bige_const); -+ l1 = VEC_LOAD_BE (c->u_mode.ocb.L[1], 0, bige_const); -+ l2 = VEC_LOAD_BE (c->u_mode.ocb.L[2], 0, bige_const); -+ -+ if (encrypt) -+ { -+ const u128_t *rk = (u128_t *)&ctx->keyschenc; -+ -+ PRELOAD_ROUND_KEYS (rounds); -+ -+ for (; nblocks >= 8 && data_nblocks % 8; nblocks--) -+ { -+ l = VEC_LOAD_BE (ocb_get_l (c, ++data_nblocks), 0, bige_const); -+ b = VEC_LOAD_BE (in, 0, bige_const); -+ -+ /* Offset_i = Offset_{i-1} xor L_{ntz(i)} */ -+ iv ^= l; -+ /* Checksum_i = Checksum_{i-1} xor P_i */ -+ ctr ^= b; -+ /* C_i = Offset_i xor ENCIPHER(K, P_i xor Offset_i) */ -+ b ^= iv; -+ AES_ENCRYPT (b, rounds); -+ b ^= iv; -+ -+ VEC_STORE_BE (out, 0, b, bige_const); -+ -+ in += 1; -+ out += 1; -+ } -+ -+ for (; nblocks >= 8; nblocks -= 8) -+ { -+ b0 = VEC_LOAD_BE_NOSWAP (in, 0); -+ b1 = VEC_LOAD_BE_NOSWAP (in, 1); -+ b2 = VEC_LOAD_BE_NOSWAP (in, 2); -+ b3 = VEC_LOAD_BE_NOSWAP (in, 3); -+ b4 = VEC_LOAD_BE_NOSWAP (in, 4); -+ b5 = VEC_LOAD_BE_NOSWAP (in, 5); -+ b6 = VEC_LOAD_BE_NOSWAP (in, 6); -+ b7 = VEC_LOAD_BE_NOSWAP (in, 7); -+ in += 8; -+ l = VEC_LOAD_BE_NOSWAP (ocb_get_l (c, data_nblocks += 8), 0); -+ b0 = VEC_BE_SWAP(b0, bige_const); -+ b1 = VEC_BE_SWAP(b1, bige_const); -+ b2 = VEC_BE_SWAP(b2, bige_const); -+ b3 = VEC_BE_SWAP(b3, bige_const); -+ b4 = VEC_BE_SWAP(b4, bige_const); -+ b5 = VEC_BE_SWAP(b5, bige_const); -+ b6 = VEC_BE_SWAP(b6, bige_const); -+ b7 = VEC_BE_SWAP(b7, bige_const); -+ l = VEC_BE_SWAP(l, bige_const); -+ -+ ctr ^= b0 ^ b1 ^ b2 ^ b3 ^ b4 ^ b5 ^ b6 ^ b7; -+ -+ iv ^= rkey0; -+ -+ iv0 = iv ^ l0; -+ iv1 = iv ^ l0 ^ l1; -+ iv2 = iv ^ l1; -+ iv3 = iv ^ l1 ^ l2; -+ iv4 = iv ^ l1 ^ l2 ^ l0; -+ iv5 = iv ^ l2 ^ l0; -+ iv6 = iv ^ l2; -+ iv7 = iv ^ l2 ^ l; -+ -+ b0 ^= iv0; -+ b1 ^= iv1; -+ b2 ^= iv2; -+ b3 ^= iv3; -+ b4 ^= iv4; -+ b5 ^= iv5; -+ b6 ^= iv6; -+ b7 ^= iv7; -+ iv = iv7 ^ rkey0; -+ -+#define DO_ROUND(r) \ -+ rkey = ALIGNED_LOAD (rk, r); \ -+ b0 = asm_cipher_be (b0, rkey); \ -+ b1 = asm_cipher_be (b1, rkey); \ -+ b2 = asm_cipher_be (b2, rkey); \ -+ b3 = asm_cipher_be (b3, rkey); \ -+ b4 = asm_cipher_be (b4, rkey); \ -+ b5 = asm_cipher_be (b5, rkey); \ -+ b6 = asm_cipher_be (b6, rkey); \ -+ b7 = asm_cipher_be (b7, rkey); -+ -+ DO_ROUND(1); -+ DO_ROUND(2); -+ DO_ROUND(3); -+ DO_ROUND(4); -+ DO_ROUND(5); -+ DO_ROUND(6); -+ DO_ROUND(7); -+ -+ rkeylf = asm_xor (rkeylast, rkey0); -+ -+ DO_ROUND(8); -+ -+ iv0 = asm_xor (rkeylf, iv0); -+ iv1 = asm_xor (rkeylf, iv1); -+ iv2 = asm_xor (rkeylf, iv2); -+ iv3 = asm_xor (rkeylf, iv3); -+ iv4 = asm_xor (rkeylf, iv4); -+ iv5 = asm_xor (rkeylf, iv5); -+ iv6 = asm_xor (rkeylf, iv6); -+ iv7 = asm_xor (rkeylf, iv7); -+ -+ DO_ROUND(9); -+ if (rounds >= 12) -+ { -+ DO_ROUND(10); -+ DO_ROUND(11); -+ if (rounds > 12) -+ { -+ DO_ROUND(12); -+ DO_ROUND(13); -+ } -+ } -+ -+#undef DO_ROUND -+ -+ b0 = asm_cipherlast_be (b0, iv0); -+ b1 = asm_cipherlast_be (b1, iv1); -+ b2 = asm_cipherlast_be (b2, iv2); -+ b3 = asm_cipherlast_be (b3, iv3); -+ b4 = asm_cipherlast_be (b4, iv4); -+ b5 = asm_cipherlast_be (b5, iv5); -+ b6 = asm_cipherlast_be (b6, iv6); -+ b7 = asm_cipherlast_be (b7, iv7); -+ -+ b0 = VEC_BE_SWAP (b0, bige_const); -+ b1 = VEC_BE_SWAP (b1, bige_const); -+ b2 = VEC_BE_SWAP (b2, bige_const); -+ b3 = VEC_BE_SWAP (b3, bige_const); -+ b4 = VEC_BE_SWAP (b4, bige_const); -+ b5 = VEC_BE_SWAP (b5, bige_const); -+ b6 = VEC_BE_SWAP (b6, bige_const); -+ b7 = VEC_BE_SWAP (b7, bige_const); -+ VEC_STORE_BE_NOSWAP (out, 0, b0); -+ VEC_STORE_BE_NOSWAP (out, 1, b1); -+ VEC_STORE_BE_NOSWAP (out, 2, b2); -+ VEC_STORE_BE_NOSWAP (out, 3, b3); -+ VEC_STORE_BE_NOSWAP (out, 4, b4); -+ VEC_STORE_BE_NOSWAP (out, 5, b5); -+ VEC_STORE_BE_NOSWAP (out, 6, b6); -+ VEC_STORE_BE_NOSWAP (out, 7, b7); -+ out += 8; -+ } -+ -+ if (nblocks >= 4 && (data_nblocks % 4) == 0) -+ { -+ b0 = VEC_LOAD_BE (in, 0, bige_const); -+ b1 = VEC_LOAD_BE (in, 1, bige_const); -+ b2 = VEC_LOAD_BE (in, 2, bige_const); -+ b3 = VEC_LOAD_BE (in, 3, bige_const); -+ -+ l = VEC_LOAD_BE (ocb_get_l (c, data_nblocks += 4), 0, bige_const); -+ -+ ctr ^= b0 ^ b1 ^ b2 ^ b3; -+ -+ iv ^= rkey0; -+ -+ iv0 = iv ^ l0; -+ iv1 = iv ^ l0 ^ l1; -+ iv2 = iv ^ l1; -+ iv3 = iv ^ l1 ^ l; -+ -+ b0 ^= iv0; -+ b1 ^= iv1; -+ b2 ^= iv2; -+ b3 ^= iv3; -+ iv = iv3 ^ rkey0; -+ -+#define DO_ROUND(r) \ -+ rkey = ALIGNED_LOAD (rk, r); \ -+ b0 = asm_cipher_be (b0, rkey); \ -+ b1 = asm_cipher_be (b1, rkey); \ -+ b2 = asm_cipher_be (b2, rkey); \ -+ b3 = asm_cipher_be (b3, rkey); -+ -+ DO_ROUND(1); -+ DO_ROUND(2); -+ DO_ROUND(3); -+ DO_ROUND(4); -+ DO_ROUND(5); -+ DO_ROUND(6); -+ DO_ROUND(7); -+ DO_ROUND(8); -+ DO_ROUND(9); -+ if (rounds >= 12) -+ { -+ DO_ROUND(10); -+ DO_ROUND(11); -+ if (rounds > 12) -+ { -+ DO_ROUND(12); -+ DO_ROUND(13); -+ } -+ } -+ -+#undef DO_ROUND -+ -+ rkey = rkeylast ^ rkey0; -+ b0 = asm_cipherlast_be (b0, rkey ^ iv0); -+ b1 = asm_cipherlast_be (b1, rkey ^ iv1); -+ b2 = asm_cipherlast_be (b2, rkey ^ iv2); -+ b3 = asm_cipherlast_be (b3, rkey ^ iv3); -+ -+ VEC_STORE_BE (out, 0, b0, bige_const); -+ VEC_STORE_BE (out, 1, b1, bige_const); -+ VEC_STORE_BE (out, 2, b2, bige_const); -+ VEC_STORE_BE (out, 3, b3, bige_const); -+ -+ in += 4; -+ out += 4; -+ nblocks -= 4; -+ } -+ -+ for (; nblocks; nblocks--) -+ { -+ l = VEC_LOAD_BE (ocb_get_l (c, ++data_nblocks), 0, bige_const); -+ b = VEC_LOAD_BE (in, 0, bige_const); -+ -+ /* Offset_i = Offset_{i-1} xor L_{ntz(i)} */ -+ iv ^= l; -+ /* Checksum_i = Checksum_{i-1} xor P_i */ -+ ctr ^= b; -+ /* C_i = Offset_i xor ENCIPHER(K, P_i xor Offset_i) */ -+ b ^= iv; -+ AES_ENCRYPT (b, rounds); -+ b ^= iv; -+ -+ VEC_STORE_BE (out, 0, b, bige_const); -+ -+ in += 1; -+ out += 1; -+ } -+ } -+ else -+ { -+ const u128_t *rk = (u128_t *)&ctx->keyschdec; -+ -+ if (!ctx->decryption_prepared) -+ { -+ internal_aes_ppc_prepare_decryption (ctx); -+ ctx->decryption_prepared = 1; -+ } -+ -+ PRELOAD_ROUND_KEYS (rounds); -+ -+ for (; nblocks >= 8 && data_nblocks % 8; nblocks--) -+ { -+ l = VEC_LOAD_BE (ocb_get_l (c, ++data_nblocks), 0, bige_const); -+ b = VEC_LOAD_BE (in, 0, bige_const); -+ -+ /* Offset_i = Offset_{i-1} xor L_{ntz(i)} */ -+ iv ^= l; -+ /* P_i = Offset_i xor DECIPHER(K, C_i xor Offset_i) */ -+ b ^= iv; -+ AES_DECRYPT (b, rounds); -+ b ^= iv; -+ /* Checksum_i = Checksum_{i-1} xor P_i */ -+ ctr ^= b; -+ -+ VEC_STORE_BE (out, 0, b, bige_const); -+ -+ in += 1; -+ out += 1; -+ } -+ -+ for (; nblocks >= 8; nblocks -= 8) -+ { -+ b0 = VEC_LOAD_BE_NOSWAP (in, 0); -+ b1 = VEC_LOAD_BE_NOSWAP (in, 1); -+ b2 = VEC_LOAD_BE_NOSWAP (in, 2); -+ b3 = VEC_LOAD_BE_NOSWAP (in, 3); -+ b4 = VEC_LOAD_BE_NOSWAP (in, 4); -+ b5 = VEC_LOAD_BE_NOSWAP (in, 5); -+ b6 = VEC_LOAD_BE_NOSWAP (in, 6); -+ b7 = VEC_LOAD_BE_NOSWAP (in, 7); -+ in += 8; -+ l = VEC_LOAD_BE_NOSWAP (ocb_get_l (c, data_nblocks += 8), 0); -+ b0 = VEC_BE_SWAP(b0, bige_const); -+ b1 = VEC_BE_SWAP(b1, bige_const); -+ b2 = VEC_BE_SWAP(b2, bige_const); -+ b3 = VEC_BE_SWAP(b3, bige_const); -+ b4 = VEC_BE_SWAP(b4, bige_const); -+ b5 = VEC_BE_SWAP(b5, bige_const); -+ b6 = VEC_BE_SWAP(b6, bige_const); -+ b7 = VEC_BE_SWAP(b7, bige_const); -+ l = VEC_BE_SWAP(l, bige_const); -+ -+ iv ^= rkey0; -+ -+ iv0 = iv ^ l0; -+ iv1 = iv ^ l0 ^ l1; -+ iv2 = iv ^ l1; -+ iv3 = iv ^ l1 ^ l2; -+ iv4 = iv ^ l1 ^ l2 ^ l0; -+ iv5 = iv ^ l2 ^ l0; -+ iv6 = iv ^ l2; -+ iv7 = iv ^ l2 ^ l; -+ -+ b0 ^= iv0; -+ b1 ^= iv1; -+ b2 ^= iv2; -+ b3 ^= iv3; -+ b4 ^= iv4; -+ b5 ^= iv5; -+ b6 ^= iv6; -+ b7 ^= iv7; -+ iv = iv7 ^ rkey0; -+ -+#define DO_ROUND(r) \ -+ rkey = ALIGNED_LOAD (rk, r); \ -+ b0 = asm_ncipher_be (b0, rkey); \ -+ b1 = asm_ncipher_be (b1, rkey); \ -+ b2 = asm_ncipher_be (b2, rkey); \ -+ b3 = asm_ncipher_be (b3, rkey); \ -+ b4 = asm_ncipher_be (b4, rkey); \ -+ b5 = asm_ncipher_be (b5, rkey); \ -+ b6 = asm_ncipher_be (b6, rkey); \ -+ b7 = asm_ncipher_be (b7, rkey); -+ -+ DO_ROUND(1); -+ DO_ROUND(2); -+ DO_ROUND(3); -+ DO_ROUND(4); -+ DO_ROUND(5); -+ DO_ROUND(6); -+ DO_ROUND(7); -+ -+ rkeylf = asm_xor (rkeylast, rkey0); -+ -+ DO_ROUND(8); -+ -+ iv0 = asm_xor (rkeylf, iv0); -+ iv1 = asm_xor (rkeylf, iv1); -+ iv2 = asm_xor (rkeylf, iv2); -+ iv3 = asm_xor (rkeylf, iv3); -+ iv4 = asm_xor (rkeylf, iv4); -+ iv5 = asm_xor (rkeylf, iv5); -+ iv6 = asm_xor (rkeylf, iv6); -+ iv7 = asm_xor (rkeylf, iv7); -+ -+ DO_ROUND(9); -+ if (rounds >= 12) -+ { -+ DO_ROUND(10); -+ DO_ROUND(11); -+ if (rounds > 12) -+ { -+ DO_ROUND(12); -+ DO_ROUND(13); -+ } -+ } -+ -+#undef DO_ROUND -+ -+ b0 = asm_ncipherlast_be (b0, iv0); -+ b1 = asm_ncipherlast_be (b1, iv1); -+ b2 = asm_ncipherlast_be (b2, iv2); -+ b3 = asm_ncipherlast_be (b3, iv3); -+ b4 = asm_ncipherlast_be (b4, iv4); -+ b5 = asm_ncipherlast_be (b5, iv5); -+ b6 = asm_ncipherlast_be (b6, iv6); -+ b7 = asm_ncipherlast_be (b7, iv7); -+ -+ ctr ^= b0 ^ b1 ^ b2 ^ b3 ^ b4 ^ b5 ^ b6 ^ b7; -+ -+ b0 = VEC_BE_SWAP (b0, bige_const); -+ b1 = VEC_BE_SWAP (b1, bige_const); -+ b2 = VEC_BE_SWAP (b2, bige_const); -+ b3 = VEC_BE_SWAP (b3, bige_const); -+ b4 = VEC_BE_SWAP (b4, bige_const); -+ b5 = VEC_BE_SWAP (b5, bige_const); -+ b6 = VEC_BE_SWAP (b6, bige_const); -+ b7 = VEC_BE_SWAP (b7, bige_const); -+ VEC_STORE_BE_NOSWAP (out, 0, b0); -+ VEC_STORE_BE_NOSWAP (out, 1, b1); -+ VEC_STORE_BE_NOSWAP (out, 2, b2); -+ VEC_STORE_BE_NOSWAP (out, 3, b3); -+ VEC_STORE_BE_NOSWAP (out, 4, b4); -+ VEC_STORE_BE_NOSWAP (out, 5, b5); -+ VEC_STORE_BE_NOSWAP (out, 6, b6); -+ VEC_STORE_BE_NOSWAP (out, 7, b7); -+ out += 8; -+ } -+ -+ if (nblocks >= 4 && (data_nblocks % 4) == 0) -+ { -+ b0 = VEC_LOAD_BE (in, 0, bige_const); -+ b1 = VEC_LOAD_BE (in, 1, bige_const); -+ b2 = VEC_LOAD_BE (in, 2, bige_const); -+ b3 = VEC_LOAD_BE (in, 3, bige_const); -+ -+ l = VEC_LOAD_BE (ocb_get_l (c, data_nblocks += 4), 0, bige_const); -+ -+ iv ^= rkey0; -+ -+ iv0 = iv ^ l0; -+ iv1 = iv ^ l0 ^ l1; -+ iv2 = iv ^ l1; -+ iv3 = iv ^ l1 ^ l; -+ -+ b0 ^= iv0; -+ b1 ^= iv1; -+ b2 ^= iv2; -+ b3 ^= iv3; -+ iv = iv3 ^ rkey0; -+ -+#define DO_ROUND(r) \ -+ rkey = ALIGNED_LOAD (rk, r); \ -+ b0 = asm_ncipher_be (b0, rkey); \ -+ b1 = asm_ncipher_be (b1, rkey); \ -+ b2 = asm_ncipher_be (b2, rkey); \ -+ b3 = asm_ncipher_be (b3, rkey); -+ -+ DO_ROUND(1); -+ DO_ROUND(2); -+ DO_ROUND(3); -+ DO_ROUND(4); -+ DO_ROUND(5); -+ DO_ROUND(6); -+ DO_ROUND(7); -+ DO_ROUND(8); -+ DO_ROUND(9); -+ if (rounds >= 12) -+ { -+ DO_ROUND(10); -+ DO_ROUND(11); -+ if (rounds > 12) -+ { -+ DO_ROUND(12); -+ DO_ROUND(13); -+ } -+ } -+ -+#undef DO_ROUND -+ -+ rkey = rkeylast ^ rkey0; -+ b0 = asm_ncipherlast_be (b0, rkey ^ iv0); -+ b1 = asm_ncipherlast_be (b1, rkey ^ iv1); -+ b2 = asm_ncipherlast_be (b2, rkey ^ iv2); -+ b3 = asm_ncipherlast_be (b3, rkey ^ iv3); -+ -+ VEC_STORE_BE (out, 0, b0, bige_const); -+ VEC_STORE_BE (out, 1, b1, bige_const); -+ VEC_STORE_BE (out, 2, b2, bige_const); -+ VEC_STORE_BE (out, 3, b3, bige_const); -+ -+ ctr ^= b0 ^ b1 ^ b2 ^ b3; -+ -+ in += 4; -+ out += 4; -+ nblocks -= 4; -+ } -+ -+ for (; nblocks; nblocks--) -+ { -+ l = VEC_LOAD_BE (ocb_get_l (c, ++data_nblocks), 0, bige_const); -+ b = VEC_LOAD_BE (in, 0, bige_const); -+ -+ /* Offset_i = Offset_{i-1} xor L_{ntz(i)} */ -+ iv ^= l; -+ /* P_i = Offset_i xor DECIPHER(K, C_i xor Offset_i) */ -+ b ^= iv; -+ AES_DECRYPT (b, rounds); -+ b ^= iv; -+ /* Checksum_i = Checksum_{i-1} xor P_i */ -+ ctr ^= b; -+ -+ VEC_STORE_BE (out, 0, b, bige_const); -+ -+ in += 1; -+ out += 1; -+ } -+ } -+ -+ VEC_STORE_BE (c->u_iv.iv, 0, iv, bige_const); -+ VEC_STORE_BE (c->u_ctr.ctr, 0, ctr, bige_const); -+ c->u_mode.ocb.data_nblocks = data_nblocks; -+ -+ return 0; -+} -+ -+size_t OCB_AUTH_FUNC (gcry_cipher_hd_t c, void *abuf_arg, size_t nblocks) -+{ -+ const block bige_const = asm_load_be_const(); -+ RIJNDAEL_context *ctx = (void *)&c->context.c; -+ const u128_t *rk = (u128_t *)&ctx->keyschenc; -+ const u128_t *abuf = (const u128_t *)abuf_arg; -+ int rounds = ctx->rounds; -+ u64 data_nblocks = c->u_mode.ocb.aad_nblocks; -+ block l0, l1, l2, l; -+ block b0, b1, b2, b3, b4, b5, b6, b7, b; -+ block iv0, iv1, iv2, iv3, iv4, iv5, iv6, iv7; -+ block rkey, frkey; -+ block ctr, iv; -+ ROUND_KEY_VARIABLES; -+ -+ iv = VEC_LOAD_BE (c->u_mode.ocb.aad_offset, 0, bige_const); -+ ctr = VEC_LOAD_BE (c->u_mode.ocb.aad_sum, 0, bige_const); -+ -+ l0 = VEC_LOAD_BE (c->u_mode.ocb.L[0], 0, bige_const); -+ l1 = VEC_LOAD_BE (c->u_mode.ocb.L[1], 0, bige_const); -+ l2 = VEC_LOAD_BE (c->u_mode.ocb.L[2], 0, bige_const); -+ -+ PRELOAD_ROUND_KEYS (rounds); -+ -+ for (; nblocks >= 8 && data_nblocks % 8; nblocks--) -+ { -+ l = VEC_LOAD_BE (ocb_get_l (c, ++data_nblocks), 0, bige_const); -+ b = VEC_LOAD_BE (abuf, 0, bige_const); -+ -+ /* Offset_i = Offset_{i-1} xor L_{ntz(i)} */ -+ iv ^= l; -+ /* Sum_i = Sum_{i-1} xor ENCIPHER(K, A_i xor Offset_i) */ -+ b ^= iv; -+ AES_ENCRYPT (b, rounds); -+ ctr ^= b; -+ -+ abuf += 1; -+ } -+ -+ for (; nblocks >= 8; nblocks -= 8) -+ { -+ b0 = VEC_LOAD_BE (abuf, 0, bige_const); -+ b1 = VEC_LOAD_BE (abuf, 1, bige_const); -+ b2 = VEC_LOAD_BE (abuf, 2, bige_const); -+ b3 = VEC_LOAD_BE (abuf, 3, bige_const); -+ b4 = VEC_LOAD_BE (abuf, 4, bige_const); -+ b5 = VEC_LOAD_BE (abuf, 5, bige_const); -+ b6 = VEC_LOAD_BE (abuf, 6, bige_const); -+ b7 = VEC_LOAD_BE (abuf, 7, bige_const); -+ -+ l = VEC_LOAD_BE (ocb_get_l (c, data_nblocks += 8), 0, bige_const); -+ -+ frkey = rkey0; -+ iv ^= frkey; -+ -+ iv0 = iv ^ l0; -+ iv1 = iv ^ l0 ^ l1; -+ iv2 = iv ^ l1; -+ iv3 = iv ^ l1 ^ l2; -+ iv4 = iv ^ l1 ^ l2 ^ l0; -+ iv5 = iv ^ l2 ^ l0; -+ iv6 = iv ^ l2; -+ iv7 = iv ^ l2 ^ l; -+ -+ b0 ^= iv0; -+ b1 ^= iv1; -+ b2 ^= iv2; -+ b3 ^= iv3; -+ b4 ^= iv4; -+ b5 ^= iv5; -+ b6 ^= iv6; -+ b7 ^= iv7; -+ iv = iv7 ^ frkey; -+ -+#define DO_ROUND(r) \ -+ rkey = ALIGNED_LOAD (rk, r); \ -+ b0 = asm_cipher_be (b0, rkey); \ -+ b1 = asm_cipher_be (b1, rkey); \ -+ b2 = asm_cipher_be (b2, rkey); \ -+ b3 = asm_cipher_be (b3, rkey); \ -+ b4 = asm_cipher_be (b4, rkey); \ -+ b5 = asm_cipher_be (b5, rkey); \ -+ b6 = asm_cipher_be (b6, rkey); \ -+ b7 = asm_cipher_be (b7, rkey); -+ -+ DO_ROUND(1); -+ DO_ROUND(2); -+ DO_ROUND(3); -+ DO_ROUND(4); -+ DO_ROUND(5); -+ DO_ROUND(6); -+ DO_ROUND(7); -+ DO_ROUND(8); -+ DO_ROUND(9); -+ if (rounds >= 12) -+ { -+ DO_ROUND(10); -+ DO_ROUND(11); -+ if (rounds > 12) -+ { -+ DO_ROUND(12); -+ DO_ROUND(13); -+ } -+ } -+ -+#undef DO_ROUND -+ -+ rkey = rkeylast; -+ b0 = asm_cipherlast_be (b0, rkey); -+ b1 = asm_cipherlast_be (b1, rkey); -+ b2 = asm_cipherlast_be (b2, rkey); -+ b3 = asm_cipherlast_be (b3, rkey); -+ b4 = asm_cipherlast_be (b4, rkey); -+ b5 = asm_cipherlast_be (b5, rkey); -+ b6 = asm_cipherlast_be (b6, rkey); -+ b7 = asm_cipherlast_be (b7, rkey); -+ -+ ctr ^= b0 ^ b1 ^ b2 ^ b3 ^ b4 ^ b5 ^ b6 ^ b7; -+ -+ abuf += 8; -+ } -+ -+ if (nblocks >= 4 && (data_nblocks % 4) == 0) -+ { -+ b0 = VEC_LOAD_BE (abuf, 0, bige_const); -+ b1 = VEC_LOAD_BE (abuf, 1, bige_const); -+ b2 = VEC_LOAD_BE (abuf, 2, bige_const); -+ b3 = VEC_LOAD_BE (abuf, 3, bige_const); -+ -+ l = VEC_LOAD_BE (ocb_get_l (c, data_nblocks += 4), 0, bige_const); -+ -+ frkey = rkey0; -+ iv ^= frkey; -+ -+ iv0 = iv ^ l0; -+ iv1 = iv ^ l0 ^ l1; -+ iv2 = iv ^ l1; -+ iv3 = iv ^ l1 ^ l; -+ -+ b0 ^= iv0; -+ b1 ^= iv1; -+ b2 ^= iv2; -+ b3 ^= iv3; -+ iv = iv3 ^ frkey; -+ -+#define DO_ROUND(r) \ -+ rkey = ALIGNED_LOAD (rk, r); \ -+ b0 = asm_cipher_be (b0, rkey); \ -+ b1 = asm_cipher_be (b1, rkey); \ -+ b2 = asm_cipher_be (b2, rkey); \ -+ b3 = asm_cipher_be (b3, rkey); -+ -+ DO_ROUND(1); -+ DO_ROUND(2); -+ DO_ROUND(3); -+ DO_ROUND(4); -+ DO_ROUND(5); -+ DO_ROUND(6); -+ DO_ROUND(7); -+ DO_ROUND(8); -+ DO_ROUND(9); -+ if (rounds >= 12) -+ { -+ DO_ROUND(10); -+ DO_ROUND(11); -+ if (rounds > 12) -+ { -+ DO_ROUND(12); -+ DO_ROUND(13); -+ } -+ } -+ -+#undef DO_ROUND -+ -+ rkey = rkeylast; -+ b0 = asm_cipherlast_be (b0, rkey); -+ b1 = asm_cipherlast_be (b1, rkey); -+ b2 = asm_cipherlast_be (b2, rkey); -+ b3 = asm_cipherlast_be (b3, rkey); -+ -+ ctr ^= b0 ^ b1 ^ b2 ^ b3; -+ -+ abuf += 4; -+ nblocks -= 4; -+ } -+ -+ for (; nblocks; nblocks--) -+ { -+ l = VEC_LOAD_BE (ocb_get_l (c, ++data_nblocks), 0, bige_const); -+ b = VEC_LOAD_BE (abuf, 0, bige_const); -+ -+ /* Offset_i = Offset_{i-1} xor L_{ntz(i)} */ -+ iv ^= l; -+ /* Sum_i = Sum_{i-1} xor ENCIPHER(K, A_i xor Offset_i) */ -+ b ^= iv; -+ AES_ENCRYPT (b, rounds); -+ ctr ^= b; -+ -+ abuf += 1; -+ } -+ -+ VEC_STORE_BE (c->u_mode.ocb.aad_offset, 0, iv, bige_const); -+ VEC_STORE_BE (c->u_mode.ocb.aad_sum, 0, ctr, bige_const); -+ c->u_mode.ocb.aad_nblocks = data_nblocks; -+ -+ return 0; -+} -+ -+ -+void XTS_CRYPT_FUNC (void *context, unsigned char *tweak_arg, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks, int encrypt) -+{ -+#ifdef WORDS_BIGENDIAN -+ static const block vec_bswap128_const = -+ { 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }; -+#else -+ static const block vec_bswap128_const = -+ { ~15, ~14, ~13, ~12, ~11, ~10, ~9, ~8, ~7, ~6, ~5, ~4, ~3, ~2, ~1, ~0 }; -+#endif -+ static const unsigned char vec_tweak_const[16] = -+ { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0x87 }; -+ static const vector unsigned long long vec_shift63_const = -+ { 63, 63 }; -+ const block bige_const = asm_load_be_const(); -+ RIJNDAEL_context *ctx = context; -+ const u128_t *in = (const u128_t *)inbuf_arg; -+ u128_t *out = (u128_t *)outbuf_arg; -+ int rounds = ctx->rounds; -+ block tweak; -+ block b0, b1, b2, b3, b4, b5, b6, b7, b, rkey, rkeylf; -+ block tweak0, tweak1, tweak2, tweak3, tweak4, tweak5, tweak6, tweak7; -+ block tweak_const, bswap128_const, shift63_const; -+ ROUND_KEY_VARIABLES; -+ -+ tweak_const = VEC_LOAD_BE (&vec_tweak_const, 0, bige_const); -+ bswap128_const = ALIGNED_LOAD (&vec_bswap128_const, 0); -+ shift63_const = ALIGNED_LOAD (&vec_shift63_const, 0); -+ -+ tweak = VEC_LOAD_BE (tweak_arg, 0, bige_const); -+ tweak = asm_vperm1 (tweak, bswap128_const); -+ -+#define GEN_TWEAK(tout, tin) /* Generate next tweak. */ \ -+ do { \ -+ block tmp1, tmp2; \ -+ tmp1 = asm_swap_uint64_halfs(tin); \ -+ tmp2 = asm_add_uint64(tin, tin); \ -+ tmp1 = asm_sra_int64(tmp1, shift63_const) & tweak_const; \ -+ tout = asm_xor(tmp1, tmp2); \ -+ } while (0) -+ -+ if (encrypt) -+ { -+ const u128_t *rk = (u128_t *)&ctx->keyschenc; -+ -+ PRELOAD_ROUND_KEYS (rounds); -+ -+ for (; nblocks >= 8; nblocks -= 8) -+ { -+ b0 = VEC_LOAD_BE_NOSWAP (in, 0); -+ b1 = VEC_LOAD_BE_NOSWAP (in, 1); -+ b2 = VEC_LOAD_BE_NOSWAP (in, 2); -+ b3 = VEC_LOAD_BE_NOSWAP (in, 3); -+ tweak0 = tweak; -+ GEN_TWEAK (tweak1, tweak0); -+ tweak0 = asm_vperm1 (tweak0, bswap128_const); -+ b4 = VEC_LOAD_BE_NOSWAP (in, 4); -+ b5 = VEC_LOAD_BE_NOSWAP (in, 5); -+ GEN_TWEAK (tweak2, tweak1); -+ tweak1 = asm_vperm1 (tweak1, bswap128_const); -+ b6 = VEC_LOAD_BE_NOSWAP (in, 6); -+ b7 = VEC_LOAD_BE_NOSWAP (in, 7); -+ in += 8; -+ -+ b0 = VEC_BE_SWAP(b0, bige_const); -+ b1 = VEC_BE_SWAP(b1, bige_const); -+ GEN_TWEAK (tweak3, tweak2); -+ tweak2 = asm_vperm1 (tweak2, bswap128_const); -+ GEN_TWEAK (tweak4, tweak3); -+ tweak3 = asm_vperm1 (tweak3, bswap128_const); -+ b2 = VEC_BE_SWAP(b2, bige_const); -+ b3 = VEC_BE_SWAP(b3, bige_const); -+ GEN_TWEAK (tweak5, tweak4); -+ tweak4 = asm_vperm1 (tweak4, bswap128_const); -+ GEN_TWEAK (tweak6, tweak5); -+ tweak5 = asm_vperm1 (tweak5, bswap128_const); -+ b4 = VEC_BE_SWAP(b4, bige_const); -+ b5 = VEC_BE_SWAP(b5, bige_const); -+ GEN_TWEAK (tweak7, tweak6); -+ tweak6 = asm_vperm1 (tweak6, bswap128_const); -+ GEN_TWEAK (tweak, tweak7); -+ tweak7 = asm_vperm1 (tweak7, bswap128_const); -+ b6 = VEC_BE_SWAP(b6, bige_const); -+ b7 = VEC_BE_SWAP(b7, bige_const); -+ -+ tweak0 = asm_xor (tweak0, rkey0); -+ tweak1 = asm_xor (tweak1, rkey0); -+ tweak2 = asm_xor (tweak2, rkey0); -+ tweak3 = asm_xor (tweak3, rkey0); -+ tweak4 = asm_xor (tweak4, rkey0); -+ tweak5 = asm_xor (tweak5, rkey0); -+ tweak6 = asm_xor (tweak6, rkey0); -+ tweak7 = asm_xor (tweak7, rkey0); -+ -+ b0 = asm_xor (b0, tweak0); -+ b1 = asm_xor (b1, tweak1); -+ b2 = asm_xor (b2, tweak2); -+ b3 = asm_xor (b3, tweak3); -+ b4 = asm_xor (b4, tweak4); -+ b5 = asm_xor (b5, tweak5); -+ b6 = asm_xor (b6, tweak6); -+ b7 = asm_xor (b7, tweak7); -+ -+#define DO_ROUND(r) \ -+ rkey = ALIGNED_LOAD (rk, r); \ -+ b0 = asm_cipher_be (b0, rkey); \ -+ b1 = asm_cipher_be (b1, rkey); \ -+ b2 = asm_cipher_be (b2, rkey); \ -+ b3 = asm_cipher_be (b3, rkey); \ -+ b4 = asm_cipher_be (b4, rkey); \ -+ b5 = asm_cipher_be (b5, rkey); \ -+ b6 = asm_cipher_be (b6, rkey); \ -+ b7 = asm_cipher_be (b7, rkey); -+ -+ DO_ROUND(1); -+ DO_ROUND(2); -+ DO_ROUND(3); -+ DO_ROUND(4); -+ DO_ROUND(5); -+ DO_ROUND(6); -+ DO_ROUND(7); -+ -+ rkeylf = asm_xor (rkeylast, rkey0); -+ -+ DO_ROUND(8); -+ -+ tweak0 = asm_xor (tweak0, rkeylf); -+ tweak1 = asm_xor (tweak1, rkeylf); -+ tweak2 = asm_xor (tweak2, rkeylf); -+ tweak3 = asm_xor (tweak3, rkeylf); -+ tweak4 = asm_xor (tweak4, rkeylf); -+ tweak5 = asm_xor (tweak5, rkeylf); -+ tweak6 = asm_xor (tweak6, rkeylf); -+ tweak7 = asm_xor (tweak7, rkeylf); -+ -+ DO_ROUND(9); -+ if (rounds >= 12) -+ { -+ DO_ROUND(10); -+ DO_ROUND(11); -+ if (rounds > 12) -+ { -+ DO_ROUND(12); -+ DO_ROUND(13); -+ } -+ } -+ -+#undef DO_ROUND -+ -+ b0 = asm_cipherlast_be (b0, tweak0); -+ b1 = asm_cipherlast_be (b1, tweak1); -+ b2 = asm_cipherlast_be (b2, tweak2); -+ b3 = asm_cipherlast_be (b3, tweak3); -+ b0 = VEC_BE_SWAP (b0, bige_const); -+ b1 = VEC_BE_SWAP (b1, bige_const); -+ b4 = asm_cipherlast_be (b4, tweak4); -+ b5 = asm_cipherlast_be (b5, tweak5); -+ b2 = VEC_BE_SWAP (b2, bige_const); -+ b3 = VEC_BE_SWAP (b3, bige_const); -+ b6 = asm_cipherlast_be (b6, tweak6); -+ b7 = asm_cipherlast_be (b7, tweak7); -+ VEC_STORE_BE_NOSWAP (out, 0, b0); -+ VEC_STORE_BE_NOSWAP (out, 1, b1); -+ b4 = VEC_BE_SWAP (b4, bige_const); -+ b5 = VEC_BE_SWAP (b5, bige_const); -+ VEC_STORE_BE_NOSWAP (out, 2, b2); -+ VEC_STORE_BE_NOSWAP (out, 3, b3); -+ b6 = VEC_BE_SWAP (b6, bige_const); -+ b7 = VEC_BE_SWAP (b7, bige_const); -+ VEC_STORE_BE_NOSWAP (out, 4, b4); -+ VEC_STORE_BE_NOSWAP (out, 5, b5); -+ VEC_STORE_BE_NOSWAP (out, 6, b6); -+ VEC_STORE_BE_NOSWAP (out, 7, b7); -+ out += 8; -+ } -+ -+ if (nblocks >= 4) -+ { -+ tweak0 = tweak; -+ GEN_TWEAK (tweak1, tweak0); -+ GEN_TWEAK (tweak2, tweak1); -+ GEN_TWEAK (tweak3, tweak2); -+ GEN_TWEAK (tweak, tweak3); -+ -+ b0 = VEC_LOAD_BE (in, 0, bige_const); -+ b1 = VEC_LOAD_BE (in, 1, bige_const); -+ b2 = VEC_LOAD_BE (in, 2, bige_const); -+ b3 = VEC_LOAD_BE (in, 3, bige_const); -+ -+ tweak0 = asm_vperm1 (tweak0, bswap128_const); -+ tweak1 = asm_vperm1 (tweak1, bswap128_const); -+ tweak2 = asm_vperm1 (tweak2, bswap128_const); -+ tweak3 = asm_vperm1 (tweak3, bswap128_const); -+ -+ b0 ^= tweak0 ^ rkey0; -+ b1 ^= tweak1 ^ rkey0; -+ b2 ^= tweak2 ^ rkey0; -+ b3 ^= tweak3 ^ rkey0; -+ -+#define DO_ROUND(r) \ -+ rkey = ALIGNED_LOAD (rk, r); \ -+ b0 = asm_cipher_be (b0, rkey); \ -+ b1 = asm_cipher_be (b1, rkey); \ -+ b2 = asm_cipher_be (b2, rkey); \ -+ b3 = asm_cipher_be (b3, rkey); -+ -+ DO_ROUND(1); -+ DO_ROUND(2); -+ DO_ROUND(3); -+ DO_ROUND(4); -+ DO_ROUND(5); -+ DO_ROUND(6); -+ DO_ROUND(7); -+ DO_ROUND(8); -+ DO_ROUND(9); -+ if (rounds >= 12) -+ { -+ DO_ROUND(10); -+ DO_ROUND(11); -+ if (rounds > 12) -+ { -+ DO_ROUND(12); -+ DO_ROUND(13); -+ } -+ } -+ -+#undef DO_ROUND -+ -+ rkey = rkeylast; -+ b0 = asm_cipherlast_be (b0, rkey ^ tweak0); -+ b1 = asm_cipherlast_be (b1, rkey ^ tweak1); -+ b2 = asm_cipherlast_be (b2, rkey ^ tweak2); -+ b3 = asm_cipherlast_be (b3, rkey ^ tweak3); -+ -+ VEC_STORE_BE (out, 0, b0, bige_const); -+ VEC_STORE_BE (out, 1, b1, bige_const); -+ VEC_STORE_BE (out, 2, b2, bige_const); -+ VEC_STORE_BE (out, 3, b3, bige_const); -+ -+ in += 4; -+ out += 4; -+ nblocks -= 4; -+ } -+ -+ for (; nblocks; nblocks--) -+ { -+ tweak0 = asm_vperm1 (tweak, bswap128_const); -+ -+ /* Xor-Encrypt/Decrypt-Xor block. */ -+ b = VEC_LOAD_BE (in, 0, bige_const) ^ tweak0; -+ -+ /* Generate next tweak. */ -+ GEN_TWEAK (tweak, tweak); -+ -+ AES_ENCRYPT (b, rounds); -+ -+ b ^= tweak0; -+ VEC_STORE_BE (out, 0, b, bige_const); -+ -+ in++; -+ out++; -+ } -+ } -+ else -+ { -+ const u128_t *rk = (u128_t *)&ctx->keyschdec; -+ -+ if (!ctx->decryption_prepared) -+ { -+ internal_aes_ppc_prepare_decryption (ctx); -+ ctx->decryption_prepared = 1; -+ } -+ -+ PRELOAD_ROUND_KEYS (rounds); -+ -+ for (; nblocks >= 8; nblocks -= 8) -+ { -+ b0 = VEC_LOAD_BE_NOSWAP (in, 0); -+ b1 = VEC_LOAD_BE_NOSWAP (in, 1); -+ b2 = VEC_LOAD_BE_NOSWAP (in, 2); -+ b3 = VEC_LOAD_BE_NOSWAP (in, 3); -+ tweak0 = tweak; -+ GEN_TWEAK (tweak1, tweak0); -+ tweak0 = asm_vperm1 (tweak0, bswap128_const); -+ b4 = VEC_LOAD_BE_NOSWAP (in, 4); -+ b5 = VEC_LOAD_BE_NOSWAP (in, 5); -+ GEN_TWEAK (tweak2, tweak1); -+ tweak1 = asm_vperm1 (tweak1, bswap128_const); -+ b6 = VEC_LOAD_BE_NOSWAP (in, 6); -+ b7 = VEC_LOAD_BE_NOSWAP (in, 7); -+ in += 8; -+ -+ b0 = VEC_BE_SWAP(b0, bige_const); -+ b1 = VEC_BE_SWAP(b1, bige_const); -+ GEN_TWEAK (tweak3, tweak2); -+ tweak2 = asm_vperm1 (tweak2, bswap128_const); -+ GEN_TWEAK (tweak4, tweak3); -+ tweak3 = asm_vperm1 (tweak3, bswap128_const); -+ b2 = VEC_BE_SWAP(b2, bige_const); -+ b3 = VEC_BE_SWAP(b3, bige_const); -+ GEN_TWEAK (tweak5, tweak4); -+ tweak4 = asm_vperm1 (tweak4, bswap128_const); -+ GEN_TWEAK (tweak6, tweak5); -+ tweak5 = asm_vperm1 (tweak5, bswap128_const); -+ b4 = VEC_BE_SWAP(b4, bige_const); -+ b5 = VEC_BE_SWAP(b5, bige_const); -+ GEN_TWEAK (tweak7, tweak6); -+ tweak6 = asm_vperm1 (tweak6, bswap128_const); -+ GEN_TWEAK (tweak, tweak7); -+ tweak7 = asm_vperm1 (tweak7, bswap128_const); -+ b6 = VEC_BE_SWAP(b6, bige_const); -+ b7 = VEC_BE_SWAP(b7, bige_const); -+ -+ tweak0 = asm_xor (tweak0, rkey0); -+ tweak1 = asm_xor (tweak1, rkey0); -+ tweak2 = asm_xor (tweak2, rkey0); -+ tweak3 = asm_xor (tweak3, rkey0); -+ tweak4 = asm_xor (tweak4, rkey0); -+ tweak5 = asm_xor (tweak5, rkey0); -+ tweak6 = asm_xor (tweak6, rkey0); -+ tweak7 = asm_xor (tweak7, rkey0); -+ -+ b0 = asm_xor (b0, tweak0); -+ b1 = asm_xor (b1, tweak1); -+ b2 = asm_xor (b2, tweak2); -+ b3 = asm_xor (b3, tweak3); -+ b4 = asm_xor (b4, tweak4); -+ b5 = asm_xor (b5, tweak5); -+ b6 = asm_xor (b6, tweak6); -+ b7 = asm_xor (b7, tweak7); -+ -+#define DO_ROUND(r) \ -+ rkey = ALIGNED_LOAD (rk, r); \ -+ b0 = asm_ncipher_be (b0, rkey); \ -+ b1 = asm_ncipher_be (b1, rkey); \ -+ b2 = asm_ncipher_be (b2, rkey); \ -+ b3 = asm_ncipher_be (b3, rkey); \ -+ b4 = asm_ncipher_be (b4, rkey); \ -+ b5 = asm_ncipher_be (b5, rkey); \ -+ b6 = asm_ncipher_be (b6, rkey); \ -+ b7 = asm_ncipher_be (b7, rkey); -+ -+ DO_ROUND(1); -+ DO_ROUND(2); -+ DO_ROUND(3); -+ DO_ROUND(4); -+ DO_ROUND(5); -+ DO_ROUND(6); -+ DO_ROUND(7); -+ -+ rkeylf = asm_xor (rkeylast, rkey0); -+ -+ DO_ROUND(8); -+ -+ tweak0 = asm_xor (tweak0, rkeylf); -+ tweak1 = asm_xor (tweak1, rkeylf); -+ tweak2 = asm_xor (tweak2, rkeylf); -+ tweak3 = asm_xor (tweak3, rkeylf); -+ tweak4 = asm_xor (tweak4, rkeylf); -+ tweak5 = asm_xor (tweak5, rkeylf); -+ tweak6 = asm_xor (tweak6, rkeylf); -+ tweak7 = asm_xor (tweak7, rkeylf); -+ -+ DO_ROUND(9); -+ if (rounds >= 12) -+ { -+ DO_ROUND(10); -+ DO_ROUND(11); -+ if (rounds > 12) -+ { -+ DO_ROUND(12); -+ DO_ROUND(13); -+ } -+ } -+ -+#undef DO_ROUND -+ -+ b0 = asm_ncipherlast_be (b0, tweak0); -+ b1 = asm_ncipherlast_be (b1, tweak1); -+ b2 = asm_ncipherlast_be (b2, tweak2); -+ b3 = asm_ncipherlast_be (b3, tweak3); -+ b0 = VEC_BE_SWAP (b0, bige_const); -+ b1 = VEC_BE_SWAP (b1, bige_const); -+ b4 = asm_ncipherlast_be (b4, tweak4); -+ b5 = asm_ncipherlast_be (b5, tweak5); -+ b2 = VEC_BE_SWAP (b2, bige_const); -+ b3 = VEC_BE_SWAP (b3, bige_const); -+ b6 = asm_ncipherlast_be (b6, tweak6); -+ b7 = asm_ncipherlast_be (b7, tweak7); -+ VEC_STORE_BE_NOSWAP (out, 0, b0); -+ VEC_STORE_BE_NOSWAP (out, 1, b1); -+ b4 = VEC_BE_SWAP (b4, bige_const); -+ b5 = VEC_BE_SWAP (b5, bige_const); -+ VEC_STORE_BE_NOSWAP (out, 2, b2); -+ VEC_STORE_BE_NOSWAP (out, 3, b3); -+ b6 = VEC_BE_SWAP (b6, bige_const); -+ b7 = VEC_BE_SWAP (b7, bige_const); -+ VEC_STORE_BE_NOSWAP (out, 4, b4); -+ VEC_STORE_BE_NOSWAP (out, 5, b5); -+ VEC_STORE_BE_NOSWAP (out, 6, b6); -+ VEC_STORE_BE_NOSWAP (out, 7, b7); -+ out += 8; -+ } -+ -+ if (nblocks >= 4) -+ { -+ tweak0 = tweak; -+ GEN_TWEAK (tweak1, tweak0); -+ GEN_TWEAK (tweak2, tweak1); -+ GEN_TWEAK (tweak3, tweak2); -+ GEN_TWEAK (tweak, tweak3); -+ -+ b0 = VEC_LOAD_BE (in, 0, bige_const); -+ b1 = VEC_LOAD_BE (in, 1, bige_const); -+ b2 = VEC_LOAD_BE (in, 2, bige_const); -+ b3 = VEC_LOAD_BE (in, 3, bige_const); -+ -+ tweak0 = asm_vperm1 (tweak0, bswap128_const); -+ tweak1 = asm_vperm1 (tweak1, bswap128_const); -+ tweak2 = asm_vperm1 (tweak2, bswap128_const); -+ tweak3 = asm_vperm1 (tweak3, bswap128_const); -+ -+ b0 ^= tweak0 ^ rkey0; -+ b1 ^= tweak1 ^ rkey0; -+ b2 ^= tweak2 ^ rkey0; -+ b3 ^= tweak3 ^ rkey0; -+ -+#define DO_ROUND(r) \ -+ rkey = ALIGNED_LOAD (rk, r); \ -+ b0 = asm_ncipher_be (b0, rkey); \ -+ b1 = asm_ncipher_be (b1, rkey); \ -+ b2 = asm_ncipher_be (b2, rkey); \ -+ b3 = asm_ncipher_be (b3, rkey); -+ -+ DO_ROUND(1); -+ DO_ROUND(2); -+ DO_ROUND(3); -+ DO_ROUND(4); -+ DO_ROUND(5); -+ DO_ROUND(6); -+ DO_ROUND(7); -+ DO_ROUND(8); -+ DO_ROUND(9); -+ if (rounds >= 12) -+ { -+ DO_ROUND(10); -+ DO_ROUND(11); -+ if (rounds > 12) -+ { -+ DO_ROUND(12); -+ DO_ROUND(13); -+ } -+ } -+ -+#undef DO_ROUND -+ -+ rkey = rkeylast; -+ b0 = asm_ncipherlast_be (b0, rkey ^ tweak0); -+ b1 = asm_ncipherlast_be (b1, rkey ^ tweak1); -+ b2 = asm_ncipherlast_be (b2, rkey ^ tweak2); -+ b3 = asm_ncipherlast_be (b3, rkey ^ tweak3); -+ -+ VEC_STORE_BE (out, 0, b0, bige_const); -+ VEC_STORE_BE (out, 1, b1, bige_const); -+ VEC_STORE_BE (out, 2, b2, bige_const); -+ VEC_STORE_BE (out, 3, b3, bige_const); -+ -+ in += 4; -+ out += 4; -+ nblocks -= 4; -+ } -+ -+ for (; nblocks; nblocks--) -+ { -+ tweak0 = asm_vperm1 (tweak, bswap128_const); -+ -+ /* Xor-Encrypt/Decrypt-Xor block. */ -+ b = VEC_LOAD_BE (in, 0, bige_const) ^ tweak0; -+ -+ /* Generate next tweak. */ -+ GEN_TWEAK (tweak, tweak); -+ -+ AES_DECRYPT (b, rounds); -+ -+ b ^= tweak0; -+ VEC_STORE_BE (out, 0, b, bige_const); -+ -+ in++; -+ out++; -+ } -+ } -+ -+ tweak = asm_vperm1 (tweak, bswap128_const); -+ VEC_STORE_BE (tweak_arg, 0, tweak, bige_const); -+ -+#undef GEN_TWEAK -+} -diff -up libgcrypt-1.8.5/cipher/rijndael-ssse3-amd64.c.aes-perf libgcrypt-1.8.5/cipher/rijndael-ssse3-amd64.c ---- libgcrypt-1.8.5/cipher/rijndael-ssse3-amd64.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/rijndael-ssse3-amd64.c 2020-04-22 18:29:41.679862057 +0200 -@@ -208,11 +208,11 @@ _gcry_aes_ssse3_do_setkey (RIJNDAEL_cont - - - /* Make a decryption key from an encryption key. */ --void --_gcry_aes_ssse3_prepare_decryption (RIJNDAEL_context *ctx) -+static inline void -+do_ssse3_prepare_decryption (RIJNDAEL_context *ctx, -+ byte ssse3_state[SSSE3_STATE_SIZE]) - { - unsigned int keybits = (ctx->rounds - 10) * 32 + 128; -- byte ssse3_state[SSSE3_STATE_SIZE]; - - vpaes_ssse3_prepare(); - -@@ -237,6 +237,14 @@ _gcry_aes_ssse3_prepare_decryption (RIJN - vpaes_ssse3_cleanup(); - } - -+void -+_gcry_aes_ssse3_prepare_decryption (RIJNDAEL_context *ctx) -+{ -+ byte ssse3_state[SSSE3_STATE_SIZE]; -+ -+ do_ssse3_prepare_decryption(ctx, ssse3_state); -+} -+ - - /* Encrypt one block using the Intel SSSE3 instructions. Block is input - * and output through SSE register xmm0. */ -@@ -295,9 +303,9 @@ _gcry_aes_ssse3_encrypt (const RIJNDAEL_ - - - void --_gcry_aes_ssse3_cfb_enc (RIJNDAEL_context *ctx, unsigned char *outbuf, -- const unsigned char *inbuf, unsigned char *iv, -- size_t nblocks) -+_gcry_aes_ssse3_cfb_enc (RIJNDAEL_context *ctx, unsigned char *iv, -+ unsigned char *outbuf, const unsigned char *inbuf, -+ size_t nblocks) - { - unsigned int nrounds = ctx->rounds; - byte ssse3_state[SSSE3_STATE_SIZE]; -@@ -334,9 +342,9 @@ _gcry_aes_ssse3_cfb_enc (RIJNDAEL_contex - - - void --_gcry_aes_ssse3_cbc_enc (RIJNDAEL_context *ctx, unsigned char *outbuf, -- const unsigned char *inbuf, unsigned char *iv, -- size_t nblocks, int cbc_mac) -+_gcry_aes_ssse3_cbc_enc (RIJNDAEL_context *ctx, unsigned char *iv, -+ unsigned char *outbuf, const unsigned char *inbuf, -+ size_t nblocks, int cbc_mac) - { - unsigned int nrounds = ctx->rounds; - byte ssse3_state[SSSE3_STATE_SIZE]; -@@ -379,9 +387,9 @@ _gcry_aes_ssse3_cbc_enc (RIJNDAEL_contex - - - void --_gcry_aes_ssse3_ctr_enc (RIJNDAEL_context *ctx, unsigned char *outbuf, -- const unsigned char *inbuf, unsigned char *ctr, -- size_t nblocks) -+_gcry_aes_ssse3_ctr_enc (RIJNDAEL_context *ctx, unsigned char *ctr, -+ unsigned char *outbuf, const unsigned char *inbuf, -+ size_t nblocks) - { - static const unsigned char be_mask[16] __attribute__ ((aligned (16))) = - { 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }; -@@ -447,7 +455,7 @@ _gcry_aes_ssse3_ctr_enc (RIJNDAEL_contex - - unsigned int - _gcry_aes_ssse3_decrypt (const RIJNDAEL_context *ctx, unsigned char *dst, -- const unsigned char *src) -+ const unsigned char *src) - { - unsigned int nrounds = ctx->rounds; - byte ssse3_state[SSSE3_STATE_SIZE]; -@@ -468,9 +476,9 @@ _gcry_aes_ssse3_decrypt (const RIJNDAEL_ - - - void --_gcry_aes_ssse3_cfb_dec (RIJNDAEL_context *ctx, unsigned char *outbuf, -- const unsigned char *inbuf, unsigned char *iv, -- size_t nblocks) -+_gcry_aes_ssse3_cfb_dec (RIJNDAEL_context *ctx, unsigned char *iv, -+ unsigned char *outbuf, const unsigned char *inbuf, -+ size_t nblocks) - { - unsigned int nrounds = ctx->rounds; - byte ssse3_state[SSSE3_STATE_SIZE]; -@@ -508,13 +516,19 @@ _gcry_aes_ssse3_cfb_dec (RIJNDAEL_contex - - - void --_gcry_aes_ssse3_cbc_dec (RIJNDAEL_context *ctx, unsigned char *outbuf, -- const unsigned char *inbuf, unsigned char *iv, -- size_t nblocks) -+_gcry_aes_ssse3_cbc_dec (RIJNDAEL_context *ctx, unsigned char *iv, -+ unsigned char *outbuf, const unsigned char *inbuf, -+ size_t nblocks) - { - unsigned int nrounds = ctx->rounds; - byte ssse3_state[SSSE3_STATE_SIZE]; - -+ if ( !ctx->decryption_prepared ) -+ { -+ do_ssse3_prepare_decryption ( ctx, ssse3_state ); -+ ctx->decryption_prepared = 1; -+ } -+ - vpaes_ssse3_prepare_dec (); - - asm volatile ("movdqu %[iv], %%xmm7\n\t" /* use xmm7 as fast IV storage */ -@@ -626,6 +640,12 @@ ssse3_ocb_dec (gcry_cipher_hd_t c, void - unsigned int nrounds = ctx->rounds; - byte ssse3_state[SSSE3_STATE_SIZE]; - -+ if ( !ctx->decryption_prepared ) -+ { -+ do_ssse3_prepare_decryption ( ctx, ssse3_state ); -+ ctx->decryption_prepared = 1; -+ } -+ - vpaes_ssse3_prepare_dec (); - - /* Preload Offset and Checksum */ -@@ -679,7 +699,7 @@ ssse3_ocb_dec (gcry_cipher_hd_t c, void - } - - --void -+size_t - _gcry_aes_ssse3_ocb_crypt(gcry_cipher_hd_t c, void *outbuf_arg, - const void *inbuf_arg, size_t nblocks, int encrypt) - { -@@ -687,10 +707,12 @@ _gcry_aes_ssse3_ocb_crypt(gcry_cipher_hd - ssse3_ocb_enc(c, outbuf_arg, inbuf_arg, nblocks); - else - ssse3_ocb_dec(c, outbuf_arg, inbuf_arg, nblocks); -+ -+ return 0; - } - - --void -+size_t - _gcry_aes_ssse3_ocb_auth (gcry_cipher_hd_t c, const void *abuf_arg, - size_t nblocks) - { -@@ -746,6 +768,8 @@ _gcry_aes_ssse3_ocb_auth (gcry_cipher_hd - : "memory" ); - - vpaes_ssse3_cleanup (); -+ -+ return 0; - } - - #endif /* USE_SSSE3 */ -diff -up libgcrypt-1.8.5/cipher/salsa20.c.aes-perf libgcrypt-1.8.5/cipher/salsa20.c ---- libgcrypt-1.8.5/cipher/salsa20.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/salsa20.c 2020-04-22 18:29:41.679862057 +0200 -@@ -366,10 +366,12 @@ salsa20_do_setkey (SALSA20_context_t *ct - - - static gcry_err_code_t --salsa20_setkey (void *context, const byte *key, unsigned int keylen) -+salsa20_setkey (void *context, const byte *key, unsigned int keylen, -+ gcry_cipher_hd_t hd) - { - SALSA20_context_t *ctx = (SALSA20_context_t *)context; - gcry_err_code_t rc = salsa20_do_setkey (ctx, key, keylen); -+ (void)hd; - _gcry_burn_stack (4 + sizeof (void *) + 4 * sizeof (void *)); - return rc; - } -@@ -522,7 +524,7 @@ selftest (void) - /* 16-byte alignment required for amd64 implementation. */ - ctx = (SALSA20_context_t *)((uintptr_t)(ctxbuf + 15) & ~(uintptr_t)15); - -- salsa20_setkey (ctx, key_1, sizeof key_1); -+ salsa20_setkey (ctx, key_1, sizeof key_1, NULL); - salsa20_setiv (ctx, nonce_1, sizeof nonce_1); - scratch[8] = 0; - salsa20_encrypt_stream (ctx, scratch, plaintext_1, sizeof plaintext_1); -@@ -530,7 +532,7 @@ selftest (void) - return "Salsa20 encryption test 1 failed."; - if (scratch[8]) - return "Salsa20 wrote too much."; -- salsa20_setkey( ctx, key_1, sizeof(key_1)); -+ salsa20_setkey( ctx, key_1, sizeof(key_1), NULL); - salsa20_setiv (ctx, nonce_1, sizeof nonce_1); - salsa20_encrypt_stream (ctx, scratch, scratch, sizeof plaintext_1); - if (memcmp (scratch, plaintext_1, sizeof plaintext_1)) -@@ -538,12 +540,12 @@ selftest (void) - - for (i = 0; i < sizeof buf; i++) - buf[i] = i; -- salsa20_setkey (ctx, key_1, sizeof key_1); -+ salsa20_setkey (ctx, key_1, sizeof key_1, NULL); - salsa20_setiv (ctx, nonce_1, sizeof nonce_1); - /*encrypt*/ - salsa20_encrypt_stream (ctx, buf, buf, sizeof buf); - /*decrypt*/ -- salsa20_setkey (ctx, key_1, sizeof key_1); -+ salsa20_setkey (ctx, key_1, sizeof key_1, NULL); - salsa20_setiv (ctx, nonce_1, sizeof nonce_1); - salsa20_encrypt_stream (ctx, buf, buf, 1); - salsa20_encrypt_stream (ctx, buf+1, buf+1, (sizeof buf)-1-1); -diff -up libgcrypt-1.8.5/cipher/seed.c.aes-perf libgcrypt-1.8.5/cipher/seed.c ---- libgcrypt-1.8.5/cipher/seed.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/seed.c 2020-04-22 18:29:41.680862038 +0200 -@@ -309,11 +309,12 @@ do_setkey (SEED_context *ctx, const byte - } - - static gcry_err_code_t --seed_setkey (void *context, const byte *key, const unsigned keylen) -+seed_setkey (void *context, const byte *key, const unsigned keylen, -+ gcry_cipher_hd_t hd) - { - SEED_context *ctx = context; -- - int rc = do_setkey (ctx, key, keylen); -+ (void)hd; - _gcry_burn_stack (4*6 + sizeof(void*)*2 + sizeof(int)*2); - return rc; - } -@@ -446,7 +447,7 @@ selftest (void) - 0x22, 0x6B, 0xC3, 0x14, 0x2C, 0xD4, 0x0D, 0x4A, - }; - -- seed_setkey (&ctx, key, sizeof(key)); -+ seed_setkey (&ctx, key, sizeof(key), NULL); - seed_encrypt (&ctx, scratch, plaintext); - if (memcmp (scratch, ciphertext, sizeof (ciphertext))) - return "SEED test encryption failed."; -diff -up libgcrypt-1.8.5/cipher/serpent.c.aes-perf libgcrypt-1.8.5/cipher/serpent.c ---- libgcrypt-1.8.5/cipher/serpent.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/serpent.c 2020-04-22 18:29:41.680862038 +0200 -@@ -748,13 +748,16 @@ serpent_setkey_internal (serpent_context - /* Initialize CTX with the key KEY of KEY_LENGTH bytes. */ - static gcry_err_code_t - serpent_setkey (void *ctx, -- const byte *key, unsigned int key_length) -+ const byte *key, unsigned int key_length, -+ gcry_cipher_hd_t hd) - { - serpent_context_t *context = ctx; - static const char *serpent_test_ret; - static int serpent_init_done; - gcry_err_code_t ret = GPG_ERR_NO_ERROR; - -+ (void)hd; -+ - if (! serpent_init_done) - { - /* Execute a self-test the first time, Serpent is used. */ -@@ -999,7 +1002,7 @@ _gcry_serpent_ctr_enc(void *context, uns - /* Encrypt the counter. */ - serpent_encrypt_internal(ctx, ctr, tmpbuf); - /* XOR the input with the encrypted counter and store in output. */ -- buf_xor(outbuf, tmpbuf, inbuf, sizeof(serpent_block_t)); -+ cipher_block_xor(outbuf, tmpbuf, inbuf, sizeof(serpent_block_t)); - outbuf += sizeof(serpent_block_t); - inbuf += sizeof(serpent_block_t); - /* Increment the counter. */ -@@ -1114,7 +1117,8 @@ _gcry_serpent_cbc_dec(void *context, uns - the intermediate result to SAVEBUF. */ - serpent_decrypt_internal (ctx, inbuf, savebuf); - -- buf_xor_n_copy_2(outbuf, savebuf, iv, inbuf, sizeof(serpent_block_t)); -+ cipher_block_xor_n_copy_2(outbuf, savebuf, iv, inbuf, -+ sizeof(serpent_block_t)); - inbuf += sizeof(serpent_block_t); - outbuf += sizeof(serpent_block_t); - } -@@ -1218,7 +1222,7 @@ _gcry_serpent_cfb_dec(void *context, uns - for ( ;nblocks; nblocks-- ) - { - serpent_encrypt_internal(ctx, iv, iv); -- buf_xor_n_copy(outbuf, iv, inbuf, sizeof(serpent_block_t)); -+ cipher_block_xor_n_copy(outbuf, iv, inbuf, sizeof(serpent_block_t)); - outbuf += sizeof(serpent_block_t); - inbuf += sizeof(serpent_block_t); - } -diff -up libgcrypt-1.8.5/cipher/twofish.c.aes-perf libgcrypt-1.8.5/cipher/twofish.c ---- libgcrypt-1.8.5/cipher/twofish.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/twofish.c 2020-04-22 18:29:41.680862038 +0200 -@@ -734,12 +734,15 @@ do_twofish_setkey (TWOFISH_context *ctx, - } - - static gcry_err_code_t --twofish_setkey (void *context, const byte *key, unsigned int keylen) -+twofish_setkey (void *context, const byte *key, unsigned int keylen, -+ gcry_cipher_hd_t hd) - { - TWOFISH_context *ctx = context; - unsigned int hwfeatures = _gcry_get_hw_features (); - int rc; - -+ (void)hd; -+ - rc = do_twofish_setkey (ctx, key, keylen); - - #ifdef USE_AVX2 -@@ -1245,7 +1248,7 @@ _gcry_twofish_ctr_enc(void *context, uns - burn_stack_depth = burn; - - /* XOR the input with the encrypted counter and store in output. */ -- buf_xor(outbuf, tmpbuf, inbuf, TWOFISH_BLOCKSIZE); -+ cipher_block_xor(outbuf, tmpbuf, inbuf, TWOFISH_BLOCKSIZE); - outbuf += TWOFISH_BLOCKSIZE; - inbuf += TWOFISH_BLOCKSIZE; - /* Increment the counter. */ -@@ -1327,7 +1330,7 @@ _gcry_twofish_cbc_dec(void *context, uns - if (burn > burn_stack_depth) - burn_stack_depth = burn; - -- buf_xor_n_copy_2(outbuf, savebuf, iv, inbuf, TWOFISH_BLOCKSIZE); -+ cipher_block_xor_n_copy_2(outbuf, savebuf, iv, inbuf, TWOFISH_BLOCKSIZE); - inbuf += TWOFISH_BLOCKSIZE; - outbuf += TWOFISH_BLOCKSIZE; - } -@@ -1399,7 +1402,7 @@ _gcry_twofish_cfb_dec(void *context, uns - if (burn > burn_stack_depth) - burn_stack_depth = burn; - -- buf_xor_n_copy(outbuf, iv, inbuf, TWOFISH_BLOCKSIZE); -+ cipher_block_xor_n_copy(outbuf, iv, inbuf, TWOFISH_BLOCKSIZE); - outbuf += TWOFISH_BLOCKSIZE; - inbuf += TWOFISH_BLOCKSIZE; - } -@@ -1710,7 +1713,7 @@ selftest (void) - 0x05, 0x93, 0x1C, 0xB6, 0xD4, 0x08, 0xE7, 0xFA - }; - -- twofish_setkey (&ctx, key, sizeof(key)); -+ twofish_setkey (&ctx, key, sizeof(key), NULL); - twofish_encrypt (&ctx, scratch, plaintext); - if (memcmp (scratch, ciphertext, sizeof (ciphertext))) - return "Twofish-128 test encryption failed."; -@@ -1718,7 +1721,7 @@ selftest (void) - if (memcmp (scratch, plaintext, sizeof (plaintext))) - return "Twofish-128 test decryption failed."; - -- twofish_setkey (&ctx, key_256, sizeof(key_256)); -+ twofish_setkey (&ctx, key_256, sizeof(key_256), NULL); - twofish_encrypt (&ctx, scratch, plaintext_256); - if (memcmp (scratch, ciphertext_256, sizeof (ciphertext_256))) - return "Twofish-256 test encryption failed."; -@@ -1800,13 +1803,13 @@ main() - /* Encryption test. */ - for (i = 0; i < 125; i++) - { -- twofish_setkey (&ctx, buffer[0], sizeof (buffer[0])); -+ twofish_setkey (&ctx, buffer[0], sizeof (buffer[0]), NULL); - for (j = 0; j < 1000; j++) - twofish_encrypt (&ctx, buffer[2], buffer[2]); -- twofish_setkey (&ctx, buffer[1], sizeof (buffer[1])); -+ twofish_setkey (&ctx, buffer[1], sizeof (buffer[1]), NULL); - for (j = 0; j < 1000; j++) - twofish_encrypt (&ctx, buffer[3], buffer[3]); -- twofish_setkey (&ctx, buffer[2], sizeof (buffer[2])*2); -+ twofish_setkey (&ctx, buffer[2], sizeof (buffer[2])*2, NULL); - for (j = 0; j < 1000; j++) { - twofish_encrypt (&ctx, buffer[0], buffer[0]); - twofish_encrypt (&ctx, buffer[1], buffer[1]); -@@ -1818,15 +1821,15 @@ main() - /* Decryption test. */ - for (i = 0; i < 125; i++) - { -- twofish_setkey (&ctx, buffer[2], sizeof (buffer[2])*2); -+ twofish_setkey (&ctx, buffer[2], sizeof (buffer[2])*2, NULL); - for (j = 0; j < 1000; j++) { - twofish_decrypt (&ctx, buffer[0], buffer[0]); - twofish_decrypt (&ctx, buffer[1], buffer[1]); - } -- twofish_setkey (&ctx, buffer[1], sizeof (buffer[1])); -+ twofish_setkey (&ctx, buffer[1], sizeof (buffer[1]), NULL); - for (j = 0; j < 1000; j++) - twofish_decrypt (&ctx, buffer[3], buffer[3]); -- twofish_setkey (&ctx, buffer[0], sizeof (buffer[0])); -+ twofish_setkey (&ctx, buffer[0], sizeof (buffer[0]), NULL); - for (j = 0; j < 1000; j++) - twofish_decrypt (&ctx, buffer[2], buffer[2]); - } -diff -up libgcrypt-1.8.5/configure.ac.aes-perf libgcrypt-1.8.5/configure.ac ---- libgcrypt-1.8.5/configure.ac.aes-perf 2020-04-22 18:29:41.655862516 +0200 -+++ libgcrypt-1.8.5/configure.ac 2020-04-22 18:29:41.681862019 +0200 -@@ -649,6 +649,14 @@ AC_ARG_ENABLE(arm-crypto-support, - armcryptosupport=$enableval,armcryptosupport=yes) - AC_MSG_RESULT($armcryptosupport) - -+# Implementation of the --disable-ppc-crypto-support switch. -+AC_MSG_CHECKING([whether PPC crypto support is requested]) -+AC_ARG_ENABLE(ppc-crypto-support, -+ AC_HELP_STRING([--disable-ppc-crypto-support], -+ [Disable support for the PPC crypto instructions introduced in POWER 8 (PowerISA 2.07)]), -+ ppccryptosupport=$enableval,ppccryptosupport=yes) -+AC_MSG_RESULT($ppccryptosupport) -+ - # Implementation of the --disable-O-flag-munging switch. - AC_MSG_CHECKING([whether a -O flag munging is requested]) - AC_ARG_ENABLE([O-flag-munging], -@@ -1196,6 +1204,9 @@ if test "$mpi_cpu_arch" != "arm" ; then - fi - fi - -+if test "$mpi_cpu_arch" != "ppc"; then -+ ppccryptosupport="n/a" -+fi - - ############################################# - #### #### -@@ -1722,6 +1733,113 @@ if test "$gcry_cv_gcc_inline_asm_aarch64 - fi - - -+# -+# Check whether PowerPC AltiVec/VSX intrinsics -+# -+AC_CACHE_CHECK([whether compiler supports PowerPC AltiVec/VSX intrinsics], -+ [gcry_cv_cc_ppc_altivec], -+ [if test "$mpi_cpu_arch" != "ppc" ; then -+ gcry_cv_cc_ppc_altivec="n/a" -+ else -+ gcry_cv_cc_ppc_altivec=no -+ AC_COMPILE_IFELSE([AC_LANG_SOURCE( -+ [[#include -+ typedef vector unsigned char block; -+ block fn(block in) -+ { -+ block t = vec_perm (in, in, vec_vsx_ld (0, (unsigned char*)0)); -+ return vec_cipher_be (t, in); -+ } -+ ]])], -+ [gcry_cv_cc_ppc_altivec=yes]) -+ fi]) -+if test "$gcry_cv_cc_ppc_altivec" = "yes" ; then -+ AC_DEFINE(HAVE_COMPATIBLE_CC_PPC_ALTIVEC,1, -+ [Defined if underlying compiler supports PowerPC AltiVec/VSX/crypto intrinsics]) -+fi -+ -+_gcc_cflags_save=$CFLAGS -+CFLAGS="$CFLAGS -maltivec -mvsx -mcrypto" -+ -+if test "$gcry_cv_cc_ppc_altivec" = "no" && -+ test "$mpi_cpu_arch" = "ppc" ; then -+ AC_CACHE_CHECK([whether compiler supports PowerPC AltiVec/VSX/crypto intrinsics with extra GCC flags], -+ [gcry_cv_cc_ppc_altivec_cflags], -+ [gcry_cv_cc_ppc_altivec_cflags=no -+ AC_COMPILE_IFELSE([AC_LANG_SOURCE( -+ [[#include -+ typedef vector unsigned char block; -+ block fn(block in) -+ { -+ block t = vec_perm (in, in, vec_vsx_ld (0, (unsigned char*)0)); -+ return vec_cipher_be (t, in); -+ }]])], -+ [gcry_cv_cc_ppc_altivec_cflags=yes])]) -+ if test "$gcry_cv_cc_ppc_altivec_cflags" = "yes" ; then -+ AC_DEFINE(HAVE_COMPATIBLE_CC_PPC_ALTIVEC,1, -+ [Defined if underlying compiler supports PowerPC AltiVec/VSX/crypto intrinsics]) -+ AC_DEFINE(HAVE_COMPATIBLE_CC_PPC_ALTIVEC_WITH_CFLAGS,1, -+ [Defined if underlying compiler supports PowerPC AltiVec/VSX/crypto intrinsics with extra GCC flags]) -+ fi -+fi -+ -+AM_CONDITIONAL(ENABLE_PPC_VCRYPTO_EXTRA_CFLAGS, -+ test "$gcry_cv_cc_ppc_altivec_cflags" = "yes") -+ -+# Restore flags. -+CFLAGS=$_gcc_cflags_save; -+ -+ -+# -+# Check whether GCC inline assembler supports PowerPC AltiVec/VSX/crypto instructions -+# -+AC_CACHE_CHECK([whether GCC inline assembler supports PowerPC AltiVec/VSX/crypto instructions], -+ [gcry_cv_gcc_inline_asm_ppc_altivec], -+ [if test "$mpi_cpu_arch" != "ppc" ; then -+ gcry_cv_gcc_inline_asm_ppc_altivec="n/a" -+ else -+ gcry_cv_gcc_inline_asm_ppc_altivec=no -+ AC_COMPILE_IFELSE([AC_LANG_SOURCE( -+ [[__asm__(".globl testfn;\n" -+ "testfn:\n" -+ "stvx %v31,%r12,%r0;\n" -+ "lvx %v20,%r12,%r0;\n" -+ "vcipher %v0, %v1, %v22;\n" -+ "lxvw4x %vs32, %r0, %r1;\n" -+ "vadduwm %v0, %v1, %v22;\n" -+ ); -+ ]])], -+ [gcry_cv_gcc_inline_asm_ppc_altivec=yes]) -+ fi]) -+if test "$gcry_cv_gcc_inline_asm_ppc_altivec" = "yes" ; then -+ AC_DEFINE(HAVE_GCC_INLINE_ASM_PPC_ALTIVEC,1, -+ [Defined if inline assembler supports PowerPC AltiVec/VSX/crypto instructions]) -+fi -+ -+ -+# -+# Check whether GCC inline assembler supports PowerISA 3.00 instructions -+# -+AC_CACHE_CHECK([whether GCC inline assembler supports PowerISA 3.00 instructions], -+ [gcry_cv_gcc_inline_asm_ppc_arch_3_00], -+ [if test "$mpi_cpu_arch" != "ppc" ; then -+ gcry_cv_gcc_inline_asm_ppc_arch_3_00="n/a" -+ else -+ gcry_cv_gcc_inline_asm_ppc_arch_3_00=no -+ AC_COMPILE_IFELSE([AC_LANG_SOURCE( -+ [[__asm__(".globl testfn;\n" -+ "testfn:\n" -+ "stxvb16x %r1,%v12,%v30;\n" -+ ); -+ ]])], -+ [gcry_cv_gcc_inline_asm_ppc_arch_3_00=yes]) -+ fi]) -+if test "$gcry_cv_gcc_inline_asm_ppc_arch_3_00" = "yes" ; then -+ AC_DEFINE(HAVE_GCC_INLINE_ASM_PPC_ARCH_3_00,1, -+ [Defined if inline assembler supports PowerISA 3.00 instructions]) -+fi -+ -+ - ####################################### - #### Checks for library functions. #### - ####################################### -@@ -1999,6 +2117,10 @@ if test x"$armcryptosupport" = xyes ; th - AC_DEFINE(ENABLE_ARM_CRYPTO_SUPPORT,1, - [Enable support for ARMv8 Crypto Extension instructions.]) - fi -+if test x"$ppccryptosupport" = xyes ; then -+ AC_DEFINE(ENABLE_PPC_CRYPTO_SUPPORT,1, -+ [Enable support for POWER 8 (PowerISA 2.07) crypto extension.]) -+fi - if test x"$jentsupport" = xyes ; then - AC_DEFINE(ENABLE_JENT_SUPPORT, 1, - [Enable support for the jitter entropy collector.]) -@@ -2106,6 +2228,21 @@ if test "$found" = "1" ; then - GCRYPT_CIPHERS="$GCRYPT_CIPHERS rijndael-armv8-ce.lo" - GCRYPT_CIPHERS="$GCRYPT_CIPHERS rijndael-armv8-aarch64-ce.lo" - ;; -+ powerpc64le-*-*) -+ # Build with the crypto extension implementation -+ GCRYPT_CIPHERS="$GCRYPT_CIPHERS rijndael-ppc.lo" -+ GCRYPT_CIPHERS="$GCRYPT_CIPHERS rijndael-ppc9le.lo" -+ ;; -+ powerpc64-*-*) -+ # Big-Endian. -+ # Build with the crypto extension implementation -+ GCRYPT_CIPHERS="$GCRYPT_CIPHERS rijndael-ppc.lo" -+ ;; -+ powerpc-*-*) -+ # Big-Endian. -+ # Build with the crypto extension implementation -+ GCRYPT_CIPHERS="$GCRYPT_CIPHERS rijndael-ppc.lo" -+ ;; - esac - - case "$mpi_cpu_arch" in -@@ -2555,6 +2692,7 @@ case "$mpi_cpu_arch" in - ;; - ppc) - AC_DEFINE(HAVE_CPU_ARCH_PPC, 1, [Defined for PPC platforms]) -+ GCRYPT_HWF_MODULES="hwf-ppc.lo" - ;; - arm) - AC_DEFINE(HAVE_CPU_ARCH_ARM, 1, [Defined for ARM platforms]) -@@ -2653,6 +2791,7 @@ GCRY_MSG_SHOW([Try using Intel AVX: - GCRY_MSG_SHOW([Try using Intel AVX2: ],[$avx2support]) - GCRY_MSG_SHOW([Try using ARM NEON: ],[$neonsupport]) - GCRY_MSG_SHOW([Try using ARMv8 crypto: ],[$armcryptosupport]) -+GCRY_MSG_SHOW([Try using PPC crypto: ],[$ppccryptosupport]) - GCRY_MSG_SHOW([],[]) - - if test "x${gpg_config_script_warn}" != x; then -diff -up libgcrypt-1.8.5/src/cipher.h.aes-perf libgcrypt-1.8.5/src/cipher.h ---- libgcrypt-1.8.5/src/cipher.h.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/src/cipher.h 2020-04-22 18:29:41.681862019 +0200 -@@ -158,6 +158,9 @@ size_t _gcry_aes_ocb_crypt (gcry_cipher_ - const void *inbuf_arg, size_t nblocks, int encrypt); - size_t _gcry_aes_ocb_auth (gcry_cipher_hd_t c, const void *abuf_arg, - size_t nblocks); -+void _gcry_aes_xts_crypt (void *context, unsigned char *tweak, -+ void *outbuf_arg, const void *inbuf_arg, -+ size_t nblocks, int encrypt); - - /*-- blowfish.c --*/ - void _gcry_blowfish_cfb_dec (void *context, unsigned char *iv, -diff -up libgcrypt-1.8.5/src/cipher-proto.h.aes-perf libgcrypt-1.8.5/src/cipher-proto.h ---- libgcrypt-1.8.5/src/cipher-proto.h.aes-perf 2020-04-22 18:29:41.643862745 +0200 -+++ libgcrypt-1.8.5/src/cipher-proto.h 2020-04-22 18:29:41.681862019 +0200 -@@ -132,7 +132,8 @@ typedef struct gcry_pk_spec - /* Type for the cipher_setkey function. */ - typedef gcry_err_code_t (*gcry_cipher_setkey_t) (void *c, - const unsigned char *key, -- unsigned keylen); -+ unsigned keylen, -+ gcry_cipher_hd_t hd); - - /* Type for the cipher_encrypt function. */ - typedef unsigned int (*gcry_cipher_encrypt_t) (void *c, -diff -up libgcrypt-1.8.5/src/g10lib.h.aes-perf libgcrypt-1.8.5/src/g10lib.h ---- libgcrypt-1.8.5/src/g10lib.h.aes-perf 2020-04-22 18:29:41.660862420 +0200 -+++ libgcrypt-1.8.5/src/g10lib.h 2020-04-22 18:50:46.990661309 +0200 -@@ -233,7 +233,9 @@ char **_gcry_strtokenize (const char *st - - #define HWF_INTEL_RDTSC (1 << 20) - -- -+#define HWF_PPC_VCRYPTO (1 << 22) -+#define HWF_PPC_ARCH_3_00 (1 << 23) -+#define HWF_PPC_ARCH_2_07 (1 << 24) - - gpg_err_code_t _gcry_disable_hw_feature (const char *name); - void _gcry_detect_hw_features (void); -diff -up libgcrypt-1.8.5/src/hwf-common.h.aes-perf libgcrypt-1.8.5/src/hwf-common.h ---- libgcrypt-1.8.5/src/hwf-common.h.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/src/hwf-common.h 2020-04-22 18:29:41.682862000 +0200 -@@ -22,6 +22,6 @@ - - unsigned int _gcry_hwf_detect_x86 (void); - unsigned int _gcry_hwf_detect_arm (void); -- -+unsigned int _gcry_hwf_detect_ppc (void); - - #endif /*HWF_COMMON_H*/ -diff -up libgcrypt-1.8.5/src/hwfeatures.c.aes-perf libgcrypt-1.8.5/src/hwfeatures.c ---- libgcrypt-1.8.5/src/hwfeatures.c.aes-perf 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/src/hwfeatures.c 2020-04-22 18:51:48.326487879 +0200 -@@ -42,6 +42,7 @@ static struct - const char *desc; - } hwflist[] = - { -+#if defined(HAVE_CPU_ARCH_X86) - { HWF_PADLOCK_RNG, "padlock-rng" }, - { HWF_PADLOCK_AES, "padlock-aes" }, - { HWF_PADLOCK_SHA, "padlock-sha" }, -@@ -58,11 +59,17 @@ static struct - { HWF_INTEL_AVX2, "intel-avx2" }, - { HWF_INTEL_FAST_VPGATHER, "intel-fast-vpgather" }, - { HWF_INTEL_RDTSC, "intel-rdtsc" }, -+#elif defined(HAVE_CPU_ARCH_ARM) - { HWF_ARM_NEON, "arm-neon" }, - { HWF_ARM_AES, "arm-aes" }, - { HWF_ARM_SHA1, "arm-sha1" }, - { HWF_ARM_SHA2, "arm-sha2" }, -- { HWF_ARM_PMULL, "arm-pmull" } -+ { HWF_ARM_PMULL, "arm-pmull" }, -+#elif defined(HAVE_CPU_ARCH_PPC) -+ { HWF_PPC_VCRYPTO, "ppc-vcrypto" }, -+ { HWF_PPC_ARCH_3_00, "ppc-arch_3_00" }, -+ { HWF_PPC_ARCH_2_07, "ppc-arch_2_07" }, -+#endif - }; - - /* A bit vector with the hardware features which shall not be used. -@@ -207,12 +214,14 @@ _gcry_detect_hw_features (void) - { - hw_features = _gcry_hwf_detect_x86 (); - } --#endif /* HAVE_CPU_ARCH_X86 */ --#if defined (HAVE_CPU_ARCH_ARM) -+#elif defined (HAVE_CPU_ARCH_ARM) - { - hw_features = _gcry_hwf_detect_arm (); - } --#endif /* HAVE_CPU_ARCH_ARM */ -- -+#elif defined (HAVE_CPU_ARCH_PPC) -+ { -+ hw_features = _gcry_hwf_detect_ppc (); -+ } -+#endif - hw_features &= ~disabled_hw_features; - } -diff -up libgcrypt-1.8.5/src/hwf-ppc.c.aes-perf libgcrypt-1.8.5/src/hwf-ppc.c ---- libgcrypt-1.8.5/src/hwf-ppc.c.aes-perf 2020-04-22 18:29:41.682862000 +0200 -+++ libgcrypt-1.8.5/src/hwf-ppc.c 2020-04-22 18:50:21.396150974 +0200 -@@ -0,0 +1,243 @@ -+/* hwf-ppc.c - Detect hardware features - PPC part -+ * Copyright (C) 2013,2019 Jussi Kivilinna -+ * Copyright (C) 2019 Shawn Landden -+ * -+ * This file is part of Libgcrypt. -+ * -+ * Libgcrypt is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU Lesser General Public License as -+ * published by the Free Software Foundation; either version 2.1 of -+ * the License, or (at your option) any later version. -+ * -+ * Libgcrypt is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this program; if not, see . -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#if defined(HAVE_SYS_AUXV_H) && (defined(HAVE_GETAUXVAL) || \ -+ defined(HAVE_ELF_AUX_INFO)) -+#include -+#endif -+ -+#include "g10lib.h" -+#include "hwf-common.h" -+ -+#if !defined (__powerpc__) && !defined (__powerpc64__) -+# error Module build for wrong CPU. -+#endif -+ -+ -+#if defined(HAVE_SYS_AUXV_H) && defined(HAVE_ELF_AUX_INFO) && \ -+ !defined(HAVE_GETAUXVAL) && defined(AT_HWCAP) -+#define HAVE_GETAUXVAL -+static unsigned long getauxval(unsigned long type) -+{ -+ unsigned long auxval = 0; -+ int err; -+ -+ /* FreeBSD provides 'elf_aux_info' function that does the same as -+ * 'getauxval' on Linux. */ -+ -+ err = elf_aux_info (type, &auxval, sizeof(auxval)); -+ if (err) -+ { -+ errno = err; -+ auxval = 0; -+ } -+ -+ return auxval; -+} -+#endif -+ -+ -+#undef HAS_SYS_AT_HWCAP -+#if defined(__linux__) || \ -+ (defined(HAVE_SYS_AUXV_H) && defined(HAVE_GETAUXVAL)) -+#define HAS_SYS_AT_HWCAP 1 -+ -+struct feature_map_s -+ { -+ unsigned int hwcap_flag; -+ unsigned int hwcap2_flag; -+ unsigned int hwf_flag; -+ }; -+ -+#if defined(__powerpc__) || defined(__powerpc64__) -+ -+/* Note: These macros have same values on Linux and FreeBSD. */ -+#ifndef AT_HWCAP -+# define AT_HWCAP 16 -+#endif -+#ifndef AT_HWCAP2 -+# define AT_HWCAP2 26 -+#endif -+ -+#ifndef PPC_FEATURE2_ARCH_2_07 -+# define PPC_FEATURE2_ARCH_2_07 0x80000000 -+#endif -+#ifndef PPC_FEATURE2_VEC_CRYPTO -+# define PPC_FEATURE2_VEC_CRYPTO 0x02000000 -+#endif -+#ifndef PPC_FEATURE2_ARCH_3_00 -+# define PPC_FEATURE2_ARCH_3_00 0x00800000 -+#endif -+ -+static const struct feature_map_s ppc_features[] = -+ { -+ { 0, PPC_FEATURE2_ARCH_2_07, HWF_PPC_ARCH_2_07 }, -+#ifdef ENABLE_PPC_CRYPTO_SUPPORT -+ { 0, PPC_FEATURE2_VEC_CRYPTO, HWF_PPC_VCRYPTO }, -+#endif -+ { 0, PPC_FEATURE2_ARCH_3_00, HWF_PPC_ARCH_3_00 }, -+ }; -+#endif -+ -+static int -+get_hwcap(unsigned int *hwcap, unsigned int *hwcap2) -+{ -+ struct { unsigned long a_type; unsigned long a_val; } auxv; -+ FILE *f; -+ int err = -1; -+ static int hwcap_initialized = 0; -+ static unsigned int stored_hwcap = 0; -+ static unsigned int stored_hwcap2 = 0; -+ -+ if (hwcap_initialized) -+ { -+ *hwcap = stored_hwcap; -+ *hwcap2 = stored_hwcap2; -+ return 0; -+ } -+ -+#if 0 // TODO: configure.ac detection for __builtin_cpu_supports -+ // TODO: move to 'detect_ppc_builtin_cpu_supports' -+#if defined(__GLIBC__) && defined(__GNUC__) && __GNUC__ >= 6 -+ /* __builtin_cpu_supports returns 0 if glibc support doesn't exist, so -+ * we can only trust positive results. */ -+#ifdef ENABLE_PPC_CRYPTO_SUPPORT -+ if (__builtin_cpu_supports("vcrypto")) /* TODO: Configure.ac */ -+ { -+ stored_hwcap2 |= PPC_FEATURE2_VEC_CRYPTO; -+ hwcap_initialized = 1; -+ } -+#endif -+ -+ if (__builtin_cpu_supports("arch_3_00")) /* TODO: Configure.ac */ -+ { -+ stored_hwcap2 |= PPC_FEATURE2_ARCH_3_00; -+ hwcap_initialized = 1; -+ } -+#endif -+#endif -+ -+#if defined(HAVE_SYS_AUXV_H) && defined(HAVE_GETAUXVAL) -+ errno = 0; -+ auxv.a_val = getauxval (AT_HWCAP); -+ if (errno == 0) -+ { -+ stored_hwcap |= auxv.a_val; -+ hwcap_initialized = 1; -+ } -+ -+ if (AT_HWCAP2 >= 0) -+ { -+ errno = 0; -+ auxv.a_val = getauxval (AT_HWCAP2); -+ if (errno == 0) -+ { -+ stored_hwcap2 |= auxv.a_val; -+ hwcap_initialized = 1; -+ } -+ } -+ -+ if (hwcap_initialized && (stored_hwcap || stored_hwcap2)) -+ { -+ *hwcap = stored_hwcap; -+ *hwcap2 = stored_hwcap2; -+ return 0; -+ } -+#endif -+ -+ f = fopen("/proc/self/auxv", "r"); -+ if (!f) -+ { -+ *hwcap = stored_hwcap; -+ *hwcap2 = stored_hwcap2; -+ return -1; -+ } -+ -+ while (fread(&auxv, sizeof(auxv), 1, f) > 0) -+ { -+ if (auxv.a_type == AT_HWCAP) -+ { -+ stored_hwcap |= auxv.a_val; -+ hwcap_initialized = 1; -+ } -+ -+ if (auxv.a_type == AT_HWCAP2) -+ { -+ stored_hwcap2 |= auxv.a_val; -+ hwcap_initialized = 1; -+ } -+ } -+ -+ if (hwcap_initialized) -+ err = 0; -+ -+ fclose(f); -+ -+ *hwcap = stored_hwcap; -+ *hwcap2 = stored_hwcap2; -+ return err; -+} -+ -+static unsigned int -+detect_ppc_at_hwcap(void) -+{ -+ unsigned int hwcap; -+ unsigned int hwcap2; -+ unsigned int features = 0; -+ unsigned int i; -+ -+ if (get_hwcap(&hwcap, &hwcap2) < 0) -+ return features; -+ -+ for (i = 0; i < DIM(ppc_features); i++) -+ { -+ if (hwcap & ppc_features[i].hwcap_flag) -+ features |= ppc_features[i].hwf_flag; -+ -+ if (hwcap2 & ppc_features[i].hwcap2_flag) -+ features |= ppc_features[i].hwf_flag; -+ } -+ -+ return features; -+} -+ -+#endif -+ -+unsigned int -+_gcry_hwf_detect_ppc (void) -+{ -+ unsigned int ret = 0; -+ unsigned int broken_hwfs = 0; -+ -+#if defined (HAS_SYS_AT_HWCAP) -+ ret |= detect_ppc_at_hwcap (); -+#endif -+ -+ ret &= ~broken_hwfs; -+ -+ return ret; -+} -diff -up libgcrypt-1.8.5/src/Makefile.am.aes-perf libgcrypt-1.8.5/src/Makefile.am ---- libgcrypt-1.8.5/src/Makefile.am.aes-perf 2018-11-14 14:16:40.000000000 +0100 -+++ libgcrypt-1.8.5/src/Makefile.am 2020-04-22 18:29:41.683861981 +0200 -@@ -66,7 +66,7 @@ libgcrypt_la_SOURCES = \ - hmac256.c hmac256.h context.c context.h \ - ec-context.h - --EXTRA_libgcrypt_la_SOURCES = hwf-x86.c hwf-arm.c -+EXTRA_libgcrypt_la_SOURCES = hwf-x86.c hwf-arm.c hwf-ppc.c - gcrypt_hwf_modules = @GCRYPT_HWF_MODULES@ - - diff --git a/libgcrypt-1.8.5-intel-cet.patch b/libgcrypt-1.8.5-intel-cet.patch deleted file mode 100644 index f58084e..0000000 --- a/libgcrypt-1.8.5-intel-cet.patch +++ /dev/null @@ -1,348 +0,0 @@ -diff -up libgcrypt-1.8.5/cipher/camellia-aesni-avx2-amd64.S.intel-cet libgcrypt-1.8.5/cipher/camellia-aesni-avx2-amd64.S ---- libgcrypt-1.8.5/cipher/camellia-aesni-avx2-amd64.S.intel-cet 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/camellia-aesni-avx2-amd64.S 2020-01-23 15:36:44.148972045 +0100 -@@ -18,8 +18,9 @@ - * License along with this program; if not, see . - */ - --#ifdef __x86_64 - #include -+ -+#ifdef __x86_64 - #if (defined(HAVE_COMPATIBLE_GCC_AMD64_PLATFORM_AS) || \ - defined(HAVE_COMPATIBLE_GCC_WIN64_PLATFORM_AS)) && \ - defined(ENABLE_AESNI_SUPPORT) && defined(ENABLE_AVX2_SUPPORT) -diff -up libgcrypt-1.8.5/cipher/camellia-aesni-avx-amd64.S.intel-cet libgcrypt-1.8.5/cipher/camellia-aesni-avx-amd64.S ---- libgcrypt-1.8.5/cipher/camellia-aesni-avx-amd64.S.intel-cet 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/camellia-aesni-avx-amd64.S 2020-01-23 15:36:44.145972088 +0100 -@@ -18,8 +18,9 @@ - * License along with this program; if not, see . - */ - --#ifdef __x86_64 - #include -+ -+#ifdef __x86_64 - #if (defined(HAVE_COMPATIBLE_GCC_AMD64_PLATFORM_AS) || \ - defined(HAVE_COMPATIBLE_GCC_WIN64_PLATFORM_AS)) && \ - defined(ENABLE_AESNI_SUPPORT) && defined(ENABLE_AVX_SUPPORT) -diff -up libgcrypt-1.8.5/cipher/chacha20-avx2-amd64.S.intel-cet libgcrypt-1.8.5/cipher/chacha20-avx2-amd64.S ---- libgcrypt-1.8.5/cipher/chacha20-avx2-amd64.S.intel-cet 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/chacha20-avx2-amd64.S 2020-01-23 15:36:16.780250066 +0100 -@@ -48,6 +48,9 @@ - .globl _gcry_chacha20_amd64_avx2_blocks - ELF(.type _gcry_chacha20_amd64_avx2_blocks,@function;) - _gcry_chacha20_amd64_avx2_blocks: -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - .Lchacha_blocks_avx2_local: - vzeroupper - pushq %rbx -diff -up libgcrypt-1.8.5/cipher/chacha20-sse2-amd64.S.intel-cet libgcrypt-1.8.5/cipher/chacha20-sse2-amd64.S ---- libgcrypt-1.8.5/cipher/chacha20-sse2-amd64.S.intel-cet 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/chacha20-sse2-amd64.S 2020-01-23 15:36:16.783250095 +0100 -@@ -41,6 +41,9 @@ - .globl _gcry_chacha20_amd64_sse2_blocks - ELF(.type _gcry_chacha20_amd64_sse2_blocks,@function;) - _gcry_chacha20_amd64_sse2_blocks: -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - .Lchacha_blocks_sse2_local: - pushq %rbx - pushq %rbp -diff -up libgcrypt-1.8.5/cipher/poly1305-avx2-amd64.S.intel-cet libgcrypt-1.8.5/cipher/poly1305-avx2-amd64.S ---- libgcrypt-1.8.5/cipher/poly1305-avx2-amd64.S.intel-cet 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/poly1305-avx2-amd64.S 2020-01-23 15:36:16.784250105 +0100 -@@ -43,6 +43,9 @@ - .globl _gcry_poly1305_amd64_avx2_init_ext - ELF(.type _gcry_poly1305_amd64_avx2_init_ext,@function;) - _gcry_poly1305_amd64_avx2_init_ext: -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - .Lpoly1305_init_ext_avx2_local: - xor %edx, %edx - vzeroupper -@@ -406,6 +409,9 @@ ELF(.size _gcry_poly1305_amd64_avx2_init - .globl _gcry_poly1305_amd64_avx2_blocks - ELF(.type _gcry_poly1305_amd64_avx2_blocks,@function;) - _gcry_poly1305_amd64_avx2_blocks: -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - .Lpoly1305_blocks_avx2_local: - vzeroupper - pushq %rbp -@@ -732,6 +738,9 @@ ELF(.size _gcry_poly1305_amd64_avx2_bloc - .globl _gcry_poly1305_amd64_avx2_finish_ext - ELF(.type _gcry_poly1305_amd64_avx2_finish_ext,@function;) - _gcry_poly1305_amd64_avx2_finish_ext: -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - .Lpoly1305_finish_ext_avx2_local: - vzeroupper - pushq %rbp -diff -up libgcrypt-1.8.5/cipher/poly1305-sse2-amd64.S.intel-cet libgcrypt-1.8.5/cipher/poly1305-sse2-amd64.S ---- libgcrypt-1.8.5/cipher/poly1305-sse2-amd64.S.intel-cet 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/poly1305-sse2-amd64.S 2020-01-23 15:36:16.787250134 +0100 -@@ -42,6 +42,9 @@ - .globl _gcry_poly1305_amd64_sse2_init_ext - ELF(.type _gcry_poly1305_amd64_sse2_init_ext,@function;) - _gcry_poly1305_amd64_sse2_init_ext: -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - .Lpoly1305_init_ext_x86_local: - xor %edx, %edx - pushq %r12 -@@ -288,6 +291,9 @@ ELF(.size _gcry_poly1305_amd64_sse2_init - .globl _gcry_poly1305_amd64_sse2_finish_ext - ELF(.type _gcry_poly1305_amd64_sse2_finish_ext,@function;) - _gcry_poly1305_amd64_sse2_finish_ext: -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - .Lpoly1305_finish_ext_x86_local: - pushq %rbp - movq %rsp, %rbp -@@ -439,6 +445,9 @@ ELF(.size _gcry_poly1305_amd64_sse2_fini - .globl _gcry_poly1305_amd64_sse2_blocks - ELF(.type _gcry_poly1305_amd64_sse2_blocks,@function;) - _gcry_poly1305_amd64_sse2_blocks: -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - .Lpoly1305_blocks_x86_local: - pushq %rbp - movq %rsp, %rbp -diff -up libgcrypt-1.8.5/cipher/serpent-avx2-amd64.S.intel-cet libgcrypt-1.8.5/cipher/serpent-avx2-amd64.S ---- libgcrypt-1.8.5/cipher/serpent-avx2-amd64.S.intel-cet 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/cipher/serpent-avx2-amd64.S 2020-01-23 15:36:44.151972003 +0100 -@@ -18,8 +18,9 @@ - * License along with this program; if not, see . - */ - --#ifdef __x86_64 - #include -+ -+#ifdef __x86_64 - #if (defined(HAVE_COMPATIBLE_GCC_AMD64_PLATFORM_AS) || \ - defined(HAVE_COMPATIBLE_GCC_WIN64_PLATFORM_AS)) && defined(USE_SERPENT) && \ - defined(ENABLE_AVX2_SUPPORT) -diff -up libgcrypt-1.8.5/configure.ac.intel-cet libgcrypt-1.8.5/configure.ac ---- libgcrypt-1.8.5/configure.ac.intel-cet 2019-08-29 15:00:08.000000000 +0200 -+++ libgcrypt-1.8.5/configure.ac 2020-01-23 15:35:28.147774463 +0100 -@@ -95,6 +95,12 @@ AH_TOP([ - AH_BOTTOM([ - #define _GCRYPT_IN_LIBGCRYPT 1 - -+/* Add .note.gnu.property section for Intel CET in assembler sources -+ when CET is enabled. */ -+#if defined(__ASSEMBLER__) && defined(__CET__) -+# include -+#endif -+ - /* If the configure check for endianness has been disabled, get it from - OS macros. This is intended for making fat binary builds on OS X. */ - #ifdef DISABLED_ENDIAN_CHECK -diff -up libgcrypt-1.8.5/mpi/config.links.intel-cet libgcrypt-1.8.5/mpi/config.links ---- libgcrypt-1.8.5/mpi/config.links.intel-cet 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/mpi/config.links 2020-01-23 15:35:46.398952954 +0100 -@@ -382,6 +382,16 @@ if test x"$mpi_cpu_arch" = x ; then - mpi_cpu_arch="unknown" - fi - -+# Add .note.gnu.property section for Intel CET in assembler sources -+# when CET is enabled. */ -+if test x"$mpi_cpu_arch" = xx86 ; then -+ cat <> ./mpi/asm-syntax.h -+ -+#if defined(__ASSEMBLER__) && defined(__CET__) -+# include -+#endif -+EOF -+fi - - # Make sysdep.h - echo '/* created by config.links - do not edit */' >./mpi/sysdep.h -diff -up libgcrypt-1.8.5/mpi/i386/mpih-add1.S.intel-cet libgcrypt-1.8.5/mpi/i386/mpih-add1.S ---- libgcrypt-1.8.5/mpi/i386/mpih-add1.S.intel-cet 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/mpi/i386/mpih-add1.S 2020-01-23 15:37:40.470175379 +0100 -@@ -52,6 +52,10 @@ C_SYMBOL_NAME(_gcry_mpih_add_n:) - movl 20(%esp),%edx /* s2_ptr */ - movl 24(%esp),%ecx /* size */ - -+#if defined __CET__ && (__CET__ & 1) != 0 -+ pushl %ebx -+#endif -+ - movl %ecx,%eax - shrl $3,%ecx /* compute count for unrolled loop */ - negl %eax -@@ -63,6 +67,9 @@ C_SYMBOL_NAME(_gcry_mpih_add_n:) - subl %eax,%esi /* ... by a constant when we ... */ - subl %eax,%edx /* ... enter the loop */ - shrl $2,%eax /* restore previous value */ -+#if defined __CET__ && (__CET__ & 1) != 0 -+ leal -4(,%eax,4),%ebx /* Count for 4-byte endbr32 */ -+#endif - #ifdef PIC - /* Calculate start address in loop for PIC. Due to limitations in some - assemblers, Loop-L0-3 cannot be put into the leal */ -@@ -75,29 +82,53 @@ L0: leal (%eax,%eax,8),%eax - /* Calculate start address in loop for non-PIC. */ - leal (Loop - 3)(%eax,%eax,8),%eax - #endif -+#if defined __CET__ && (__CET__ & 1) != 0 -+ addl %ebx,%eax /* Adjust for endbr32 */ -+#endif - jmp *%eax /* jump into loop */ - ALIGN (3) - Loop: movl (%esi),%eax - adcl (%edx),%eax - movl %eax,(%edi) -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - movl 4(%esi),%eax - adcl 4(%edx),%eax - movl %eax,4(%edi) -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - movl 8(%esi),%eax - adcl 8(%edx),%eax - movl %eax,8(%edi) -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - movl 12(%esi),%eax - adcl 12(%edx),%eax - movl %eax,12(%edi) -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - movl 16(%esi),%eax - adcl 16(%edx),%eax - movl %eax,16(%edi) -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - movl 20(%esi),%eax - adcl 20(%edx),%eax - movl %eax,20(%edi) -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - movl 24(%esi),%eax - adcl 24(%edx),%eax - movl %eax,24(%edi) -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - movl 28(%esi),%eax - adcl 28(%edx),%eax - movl %eax,28(%edi) -@@ -110,6 +141,10 @@ Loop: movl (%esi),%eax - sbbl %eax,%eax - negl %eax - -+#if defined __CET__ && (__CET__ & 1) != 0 -+ popl %ebx -+#endif -+ - popl %esi - popl %edi - ret -diff -up libgcrypt-1.8.5/mpi/i386/mpih-sub1.S.intel-cet libgcrypt-1.8.5/mpi/i386/mpih-sub1.S ---- libgcrypt-1.8.5/mpi/i386/mpih-sub1.S.intel-cet 2017-11-23 19:16:58.000000000 +0100 -+++ libgcrypt-1.8.5/mpi/i386/mpih-sub1.S 2020-01-23 15:37:40.472175351 +0100 -@@ -53,6 +53,10 @@ C_SYMBOL_NAME(_gcry_mpih_sub_n:) - movl 20(%esp),%edx /* s2_ptr */ - movl 24(%esp),%ecx /* size */ - -+#if defined __CET__ && (__CET__ & 1) != 0 -+ pushl %ebx -+#endif -+ - movl %ecx,%eax - shrl $3,%ecx /* compute count for unrolled loop */ - negl %eax -@@ -64,6 +68,9 @@ C_SYMBOL_NAME(_gcry_mpih_sub_n:) - subl %eax,%esi /* ... by a constant when we ... */ - subl %eax,%edx /* ... enter the loop */ - shrl $2,%eax /* restore previous value */ -+#if defined __CET__ && (__CET__ & 1) != 0 -+ leal -4(,%eax,4),%ebx /* Count for 4-byte endbr32 */ -+#endif - #ifdef PIC - /* Calculate start address in loop for PIC. Due to limitations in some - assemblers, Loop-L0-3 cannot be put into the leal */ -@@ -76,29 +83,53 @@ L0: leal (%eax,%eax,8),%eax - /* Calculate start address in loop for non-PIC. */ - leal (Loop - 3)(%eax,%eax,8),%eax - #endif -+#if defined __CET__ && (__CET__ & 1) != 0 -+ addl %ebx,%eax /* Adjust for endbr32 */ -+#endif - jmp *%eax /* jump into loop */ - ALIGN (3) - Loop: movl (%esi),%eax - sbbl (%edx),%eax - movl %eax,(%edi) -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - movl 4(%esi),%eax - sbbl 4(%edx),%eax - movl %eax,4(%edi) -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - movl 8(%esi),%eax - sbbl 8(%edx),%eax - movl %eax,8(%edi) -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - movl 12(%esi),%eax - sbbl 12(%edx),%eax - movl %eax,12(%edi) -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - movl 16(%esi),%eax - sbbl 16(%edx),%eax - movl %eax,16(%edi) -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - movl 20(%esi),%eax - sbbl 20(%edx),%eax - movl %eax,20(%edi) -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - movl 24(%esi),%eax - sbbl 24(%edx),%eax - movl %eax,24(%edi) -+#ifdef _CET_ENDBR -+ _CET_ENDBR -+#endif - movl 28(%esi),%eax - sbbl 28(%edx),%eax - movl %eax,28(%edi) -@@ -111,6 +142,10 @@ Loop: movl (%esi),%eax - sbbl %eax,%eax - negl %eax - -+#if defined __CET__ && (__CET__ & 1) != 0 -+ popl %ebx -+#endif -+ - popl %esi - popl %edi - ret diff --git a/libgcrypt-1.8.7.tar.bz2 b/libgcrypt-1.8.7.tar.bz2 deleted file mode 100644 index 895685a7f0e6d5e8213539f16ea61a444d8ef39f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2985660 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

M|@j?vvA_;}uJ(11Z4D@arZV3`-95 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%0Ammi}s^hm(QfxmmCj6a)6mtHWrzq6-4 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

    (DNGN9epId0$e!6V?GDl(+o(x zF@8Zu=$Xpo10d2U!H*{GX}6M?RYO~3N!C^-U3aiE%ajnH$7IujeTN$@wIoFCWb^OU zebnQzxqf!;wKXkL26`)>vpic_^(VR&3@v-(6Aozm7Rjb36K4Z+6LUUuC(-0DNyu{$ zqgLo0lmC7I{rCb1#on?JC+y~xifD#iF+Gob60P$>*fce9x)CT$afRFJWjMUx zGp&YN#6(I>9g|Nw>v^f{m`YXr=?{jOdY+E}?R`A~}N=M6dB|*Gw zoL!hVRD&qLqQ0{6^e=3!B%ykE0^i;u3YZaL`LjNrNhbt#fbrqbFXIUkAVY029gIlnxF-_F9_IB~AmDY(=ilooO}LXBj=aa=3C=7v$~6c7H@Z>i*PYPhj8-G0^Lbny)2r9!a)}7jc_MF%CZL zj093X(XpSYUFF(mc$#dquLE?c0a0<4b$PU!D$QC>rD`usxgQk7Q#d?eirL0SzSYvw z;aws{6zLwwX8}i$#JA}(Z!R_0LKlmkJ8d{CT6eV+fG~V)XY}(dG-XqRZK(W(Cf2btIT4ZYIfU*ko@65}BS% zCz%XEgIeyn$-hfmG=+8cgRw{~Nf7xU(p%>(*s9bnA5YJYp`-DTXI{%t60K>r$r!oZ zTe9K0=^m6ATOQb)Hj*8y6>JAH)($EQ^|1x~GC(d);}Hd%gOc+=OIDk0X<%YZ2Rz*t z&kji5b7@4FK-L83FkC{pX>6^`>nL@;TAU%Cc828YRf#lNxZvhcD51VvqfE)GoJ_Z_ zqK)(GKt1b9E!2JZ9|Pb5^!(c-FtBZH&Ge!h@eO24&3~?&`aia>11gGc+j6mS@S>uA zy6gTyT&kc&$i91+9F_n%gDjmvjeN39VCs-%w!I#!Dj>3S3hytB$fI4&?`u^(&o?Ts zg%o!0BrAk!RVsy(L~+a0Z{eRY64*+pzTqEz0jcp3`-_b4VIfk|J@O$G-_eRcFa@K! zqoi))w2-=|isH|{o!K%5O-M@)I@QA4?kCkoWQV3`!u4(zJii=d?o_`JDui^8n@g;L z;5=h(6~nx=#3`Jo#C18o${FyMD7FCnaADN1naW+Z|D>r1ergMsIE z>)p~?i&sMnLzTYJ#blTcor>P)Xzo_2!YWb0bV^P61(x@^kRZ@0HJ=Ze<{BKLq@g)`NJ}&-_8!leb_BV^XVZ-8$-Qbq zee4jU;nIbMIZ(lOm&f(#_|?|-YizCKSM~{z9({F+sC~j~HF!G!vR5BEf(iw!@0MV| z$`qxTz0Y`{7(G0bk`gz6&mY)YL*%1(atau>W z+Q!cU*l%Hq?o(tq++2#X2TKb^0+_PkIy5qy!r8S{Av`I7|_MojM>Uy0m0ljS< zBTrhDOSrK6^g??>#lAHkVe|)BB>6$BjO5u&hvGqrTm6N8Kr7v}u z*>^TQM91GVk;*Ce>wQEK*E$ggkY;|;^1^IWvqX!b4cVzbw)|uzMg-) z^+@7%vPK4=3%woeAC%&WE+#Sju_JScGe|=JQ$BJA*l>#zcK*Ph*OeW0Lz&*3I^|PE zr+_`RAn#j_;Ols%)W}>2GDR4~cAkrhlHqhZFU?yjFt7;d&yD#>Ii@lL z)|M~dI4c);=S4<{vkAB2SK&eMMU@~{x3@1+z*J(mKImKEWuc8_!t+t05n>&ncA1wt zdPgeFJ5>s<*1HBK$%^`moP|)lSvT!W9c`UZWK$t}o?J%YwR%aP8oX~`Bl+H|e5*uU z`Ay=DryZvvZi=Fi8FkZ+u9WAwImQI2D>Wro-OG*gu6QhbLEC*|^Q$;8_f>p3x)dl8z281C-Gn*pe%JS}Vz*=xVcfIa4 zfZ`-czk~PS`~di3L-dhI#8Q!nEPBh^Uwrxl zaJ8kz(e<ew%MyQad`-Bh>>JqBX^g(Xos5ZfYFc^>9l z+7ZTw=)K!Gq$vYf)xQu%;!xAUi}5uA@lb|2ES29(dF|u7gbx>gqXDc&i2YaQ^aOng z^A|pR#Y(i7S=4nineuMOK(_mE%SoNg13XPgGjM2Xu$4Q5*I;psDLV>TLZ`x;cG4{jEc<#JdrZFO;#UPVeyesZO8h&^IB604Rq> z8N-Aeht|H`54(CO2ErU8M%zQ)nNyoXOWv_>D0g^MWDuaZQLiohFqqc7Vn`m*y*Vs{ z)?sj1Cx!Ec8sfCMd)751Q=r04a7L!LDZ2W85}skMsK`yox!aJY$9#E?bMx_F5&+X@ zU_>+bO8AEC$<)zpNsICN<26k>H84};>DFt4pGUjrKg2h7N-HIiKO&(q@*B!W#8FHv zTtnoC7^e2Q=`bghPp{n(kJq_(*(wQ<#Q9ywF|Hd(o}n%7B?-FPZB2g3m#M5U^06tG zf~K?h0hq;hT&FMGF~QTqo=T|8`G;7npa%H-tzi16)$CxWGc@;BMIF+}<#&nfTJj@J z(mIz74e-I0Njr2NG>srmkRI=xqB@t~=_Sfz&#Z31+pffI;}SDKH-6ro`AzClek)hB zcJhYfdAvfX_UCWhmCw9sENk4IS-zT;u9n%UY9A*ir$%R$;ZVo&;!V-`TsMgL%sMYi z2QRC_s|J>mA+j)I#WaYWRU^HVZ0!I?-fv`Sx!11y)-FB(t88sR&DF|gA64uQ%}khF zNkWApm}1+}2U8+3DBAl`jaT*Fes!9^5b$l{Ip#IkXq2qk_UPXfzJUTG~VbY(FmQ3|#Zx@c3|#{Ai%s`*OyM zC&SR$h!z3!o6|GGl62@gln>d>vDREcugPV=%1z>~n}_JyPCqJm8z8`lxA3VkuA_z~ z-fYXtvG;Y4ugpaI3LWj_K(8BbNfo37mh8e~ac5wRy<;s=`nVrR`^e3etHgeZ1V9wU z$kPoW8{Us6X`gkGZ=c>nJ=Hu=V%wa;Zq}wOhW2KNflP!RZa;Ss5c&(&h__Iq&y0*%VXKmVZi~mq@H>4M8;PZ=b$*W&{J{mCw4jTMgJ~cLG!8QiKsUbn4`cv!^bJ zOj?_p+h~@8ML7*i-cymsJi(*6cZyAI&LHV&)=l}d-VNNX9n@k{fEac9cUGK`FURU3bRAAkTS;eQ5* z`&I=FY{ZN=>WT!&Ua^;vv?J#Bh_O2Tu!rTDR=e_syM|6JjC)8*hkVd9o}^&C8TN^_ z)k-Tju!?t=SHyhj130_k0B&7tHHOTEf$!wudsNk2jUDncMnYYi`Sl3qbS24^!P_NT z2WD8eeJNJTnkTtz{Y4Z;wEp{-4%Sdm#Bqy#M1WgOb)0!{z3u}aL-O5)=|KSbjd6y-UK8$tH zssRldYD1XDi_c}>ho-{OkfQOoI+;4r+=0PD<9VOFU`upvm+Av*bbmcox(o)OJ8i{U zR6MT%d6;dotB|E29!E&{(R|mf58KvjBAzHJzcpcH3fQX-Ck<(bI=T%2%f)_O;Uqmu zSrvBZ2+tlc-VZEfNia<4SWJUomR}Rs+^CIg5G-_g&7sjMs3`r5y#q%NHsD$iJ<=5B zRvP*j;=$<7LaG{K>e5>1dznBeYDdSBUH0vC=e8uU;qC-ZP8Zhwqw5OaM$vL9^h$eV zPvopo8MQ8(th|w@-*v##m!AW=K}>HsX##{OHsQorOTD_P%u|QYDv?h6tk5;N5iW0o zi}apj+TcPg$wJdYF^|j9p5{~1-n+Xe_0h%!vxOsb27fIA{mw}I=r*X1)y|y6mKF35 zVttf#c?{&a5+n`UTTYSH*s}G9Hm=Nte^-{KyJ>)Vk&*=X9>jWmtr3pjG63rmXQ z3RQ1XQUx$7cw3*@Iv|3JujrOd2U!A`;E?%^aP=zm-Sij8#WEL?JyEu|C5T3SK}=wO zVZe8{h}z*bO9{s24ZTyrwV<@vUE`&DtgIae%U)btz=7gUnL4$+*X}sy7fE;V=L=_B zbt))Mi6r2^7P@CLrMG5&>F`IWFGwFt5Gw1- zfYyro(uJE(eHe-_@-dqAlyWTWomMocdQE zebhUDlnmyOnvhr~^g(y$DDZOC6c}@71mX61H}m?m+#Iu>*)0efC|X~fRQt-T$2>~P zW4h|8Q5(S>b(SY@VgDf3?nfH{_$AA7$A)>a5U`Z-@;24K&j!0_oC$L2H@g5dV;IO( z0OYKHW!i)~)wV4m`jIO-Q>Ck@8k>5y)x62RnvCs-DN*aNnZJ3$&&E_wK}M$C+dN5D zxQOgnCh(aCf!Rc-Bs6Qfij}wMDNDGVs`ZAPzphkgv2z2Nn$<2D*IsG_D4ED_V$$A8 z_>{C)samma=1}%LpvVQM`OcZ$QzSJ=I5vo&7=r8c(pZ0WFz9?Hg~WczY<@st?vH`7 zj!}Ea!jkd!*Krc-p8FB^XEbTlCt4kl_8ygBJTBF6;6I9f5*z5RBPz)*c) zvzALQeth}!;06_@~IIbhxFiP31&I{1t41U)%g$iFkq7hF2)IFm%LzE);j-#rGt-wGy<<%+_|SD5pH z%ui?9f~T%fxyV7d{)i&8&M!1=AJJIsniDRUba zqV@$z&Dw|^=+_c;kSNeT8Kkc~qZlS1Eb+uYIlfddzCBZIZK^_p`_|>x&M_iJOvVy?yRIc#xA@{Dl=JgAXlB1RSNL( zgA@`IBS+k(D~`6H*@-%5ussOv;|euCIUMET)R1fkmQrEZc?TQAJxZT#OaCY^8E+*| zExXLrGmYZD^uvkM)um@iMbdPfX-l(DZ<}awz$-QCE!(l_mikxHk2Cb%y!{UUVpcru z_@2cJzP=m!s9?gsLw(A0KX5||L#ov25wIdYwS)!!Rsec)$i**4!@ zzs&$2AG<5h^8&A5-~%d@l{N8?7^ zPU!0TNjZ2ilCo%$de!N)*E73%ZCBYNfRPq!p%pbKAwXnMbW8&VgI6P#{b>XvPtaAy znOefaY8vK0sS&fiK%|{nYt+e-ZYBHqN5U+{wXWs$-MB7_O6b>Fe*HoJi!TW+_q6Ys z+fFxA&%gpe*PEsL;17N3d9Mv~(SJw%N_>6De47{9uY+bk+a_R&B|2+JA*&TT*ydu~ zPx}McsQuaq^J!H9B-cV5xsz~ij5k%~U(GIuPky2&QmyXbe@3m!`|!U=2)mYvb*aKKu-D*D(?y$`4Iw?oOv z5gsLTwLfB!H?nMhwDKQ|KcFh%=W)tFvT@dFr^!Nnkwv#g`h~De?4(fjrv!3wk6byz zH<@tcLS>scQ+uQZBD~*Y4Mf!q1j-;sld?>-yKfz_#cg6k<-b` z+AokqScSHueC%ZML0_N)D_5Payqik&9NR(Dz^Xo>$0Xuc zc`3}2OnJX^D-zrCvOvbs$Q9H_ar~;#-x* zK!PC;H1225xA)Z-;v

    9q$IkreAwVRZ>)gH}aPTzXvEht!Zg=`bxc;EuOC5BhP!F zx>`hv40U{Y9lr*uI|U49W>zP|3XEIMv%qF%X=+y<^;F-P>MAaCDeFGq8ZP4FFonR} z5O(eZ(F31pv~q@xEg)kl7Tef)hjIhS(PCY($0KJrob$cT?8z$j`*-0Eb6JeeUK~dU zPhxzN@da}{EU(rm4Ek@Iz3-()CAT1H^#!P<$J@1z*cz28&9D#i{F+S34ZR=uX*?E4 zXq7NOmM$ZUCl_Z(aV1F~)%=c&d1X9J4k%wk zG;}Y+nUjaf-VcGD;>Of|L~Ki6@qy6kM5YCcMlG#1zd%&tFRCreF4ez1yI}G%hRr9F z!R6_rzRo^FJQg!w<24_(nV5N;XPLg+OpGmr$JjUfJWQc@FU)C({`zM3?Z0o`4<-4Y zekeVvzt>gomtvDaKW$*Xpi_aXg(?MAABZlps%dAvyEkAzWOb!*(^(z>PdS5MjKbIIeb<(>n!128+@WA4C8%u_Bgksu`0>BWfEz3EE2iUzVjPg5%jJWJeLf5T{5tPSa`8=Cw$Rzh#)x zj>EImXGe4@OFHp3kg3+N3D;76ghICYOO#n!2kHmT552mWO;;7qM`*>g7Pp{{430|L zAc6(HAq%AK)~GWd6OsOn>)4v-65b3tWvV{7oO$8%UjP|rLSsAgr?+E9MCYpY?^gTT zdM7&IjjKfGlAenlWWL0S*eNITg&0CG-SNCK>*!}yH9oadtA;FP3X%I3sk#G9jkOOk z!|l-+s@^8Rz(bRS{5Ljc`E)y@{T6g$T(0fR6vI5CbDun4-%={{$r|aoFW13fHd`fQ z{#q@IXJ*Jd&g;-wj1jQZP6+sS4}rkmX;Ka;N6bnCJMf`QKnogo)lgewrSo;GGE?3Q zWL{V)%jSir7;xw2pME2e4-2O=k;9vAtb$tAiz9V_)t63acC&j9cI}e4=>I;W;y>sA z8-d>?@wI+YbHKn8JLHQt+kSFdLyKyf*Se9_*_fD6(LFgx79-_Q@7Lg@9Dd_y>J_fE zrWu1v7a9#ZQPgu~$o1W7qC?-p*HFv!`~E`@ZHvs~A?qWi>f{MywW)=Q*c1dX?gPo= znUQr`O*7@@6L3Y&*&A|zF?6Xz>A;}E5tIg9_#5l6T(+EOh$kVX`%&Q8qgDCzDXP3- z#H-W?)ie3c@im%-$0pJFKzJZ4xbZsg7X!YwfPxi{nZ)D-8~ZIPzmjn%&>2IMz6)F* zy`~r=UJ_r)*|_(srO2`S)3JWx(~&Yp$zFqaY!$g}flkzp0SfNt-Ee+zOcpS!FeWsrxx{ut$6AT1&IVbQ)cTw^HNGpDaQP4Ciaz{xlWr%J8YOj3 zv>)q38|(P{&W4^kZJ~!Bu7YOo$utONm%;Yx&h+EJY%jM|E8^qO$msqkyg#EYUyln; z82a>`kdQ4t-))gToM68rE{k`o?9E3{rpcN9arUL8+Mm{NXsV$_8$FmG_zj@5btK?9 z<);4;kIrUzzY0N;7u(CsT}d{5ieJ-a>WxT7P3T)yta)R-;yC-cLTWDtUKVlw&#V-9 zxLX0MI#7Gd#W1Cm&&1GjAXu`XXR>{l#e(Q;wJu(qlE~EcZL4r_)G1#2AD}-RJ<+%4gP&YfZo5KJ_pZ$5dWTsfML%}2VSv{-+w)#D0v`>P)?Rn)x8({##{E`vRowL z65nN1yg_tqdT`iA7EyGmM#l~21$^|!jfb(aU0~dxY zm3k2L7EhR zn8P~2t>%UU#rhu@PVugDWVUz=wvrq>jo_YeG)+6Rdl5Yze!*ysnu?W6HqThw;qNzf zGZJh8ZE@&3K9q5Dkx(Q7=rZ*Kaj3vHC%j1bs`@Zb+t7T_{MossEEs}eqL%?a@_E9= z)`%`m_@ai0vb<7HTHRA598#>^)Zw1k2Bwo$#?WjlVMePsG_kC){!5wggd4W?oE5uE6Z!#pE|F$UP%rBugYmm zYPF^{Sq)p40z8tn)|zWO$;LnLyozs!a~ku6p45uiC8|MI6U3mkF(=7Fk>-!)2oLd8 zg4hb-Z!fhT`hFhvw(|)sAJWb&=93hQST{h!s^2DYKhXH-c5$mWuB7kH=t%%$e%cp2 z?^=3gsWYGv4{L_ky9^A}(=fBuxbL=kTdlW`n^b9LyojX3QB~tn^9A*%w*sABjA`?Ax~t99)>| z?kpw$T)lsQ)`9Hn0#G<%;p6|HEgg#lU#P0y?I8zy_DQu+-eJ=5c5H-$uC}V)6tlYI2PUqgTBTQ(J~l@GizNGM+?*D^OqCz(TL-%c9{JKnaK z2gBChOD!w>>+5(zy;Iu$eihuIl8#(jHT*5WM{yxhA+(mfNAk<>rI=4UH#|qyFe95H zb$o5K~841L@|q5ZLH_wthDlrvBA)YT9eNxUV=Jl+0;xP|_5 z-*fR@V;KyAww%XyAvp|rOH{GmCvg}aj-Ja0UfaGA?XntDk@v1;#x1%HmZSJmd2ak%NJoQvdl?Dqe zw~3N&9C-PA1+uesUD_N>;j!mY7jJ@#!b6O2sG zr7nAqyyivcZQpyMHK~D=#vYu8hkszyEOC)nqW3Vc?0+<}G}{qutRyi-Ct;^n$RXpR*S8;A?-F1`Vnd+DCf zz1paCzO5|o>4#Hml@&1#hHj&33j2l6M+2bqV^a}i>CmO_nzF#p$b6mvpDEuXJi@AD zOgNsxbre+$4`XvhwqWJvL1u;$4?X{gTNCJ zm~LnH)BCHgo&8aMacl*G8I5ky#cpHh>R)BK6=|2z8MGb8Uw(sx4K>^*f9JncdikJ6rT6G01zS~{-qwQl0I6Wkzf2sbESh@53F{K>Ia{ScbF_c>xSRRRkN z$2by%Y2h=tv^-H#Sx92@QRQX71yaLwy5W=W(AKoUo!~{Uar`^12A7EB(oXVIV*fxdcN`tv>UcE=ODj~RHJVD@oH zimNUY(o16y1c27J<>GB+Z?miH24y!Q*CQMrH6%JvC%d%VydzU4Xi4Ria>XSU!n;mh z#eP>=)f*b?Qz~$!e-2%zJUR4YvuqAa`u)rUpd)TKYl=|3;zwhN(k#AL`aCilZWN=9 zsOe-|uC)Wl84RGw$iHpS`yo)f~FjH5`f5H(i%YYM_X~^`3pz8 zdWltfOBjl*7*|z!dQ4Q)Q-XH&*X?MQPeOBd5DDhz!O+G=e0|mopO7m8q^y8$l6E-t zvMn=nDmtHm)H30w$Txx9j0HPtW3-fy?q0OtKL{&Rto{Fif9ub4p4Hr`n;LY?3|_CoGqTq|fYIR3 zT9-&Yg!+i_iQ_gj|3k%pK@ewJAZ?WX!^P?~30X9}=*00(3GcQefp(mmY&jRH`zN?N zovRn5+C><5=5z^IG-o>iihXxyLl|Hjf?MYo(MCT@Q1Hf)_~#<;J{%38_`uba8{%RO^j^K_HBX(GI5U?Op5NJiKtQu zBl|jDbpa_Ds;v&QjZdH&wtB6eQAzrrhQ z)3ePO%!4!_oKK<~ET%u60PCss`y6vaxJ5*Kf7vJOuF=F%Z-dta5Ddq_F$FN{SAm;gCh_ntie76)>;XYze_A?G~-Ai%4 zBp*TU3FSLQATHME!nasx)2N>M@MdxRb*Nf(ohgsXT;p6$J>J4dwjen4CQQD-W=bEG zFzAE`dER7(#DkC3(wbikZspBRp?e~BNlEN~ypGR_pwWV3qLUv`Q>2MZZ?7I>y38Wb zROdN)EyUiH9pZSkU=(qP*jT(g<@amR5FpH*BP8g}!kZNgY%I`v-Xd?X$=+|j-8JD6 zt{G2&zva|>zpw0#c(9C6->Cq<#1?<(V&1=OJ6Xx4VD7|kbvD#PbYFK)uE>J2vQUvN!sYF zjF>O8VqorQjlR`lr zCMw|N*k~E8qomOYpKW=wkR%t6)FOkRx_gAU2LaPvhFk1;geb@YqdKUfk3V$J0E%7| zV_D3ky&+t^cQ;UBN1u9Ni#^;%D6d&Bo+R@hMHRgp-L7XAj!61r-B`06%WmxMg35sG zvuT6bE@F!IGzyy?-k6P=oiR%t@vY)^xxRHLU@^9Y57oey;^-Q#<6$0IDO2*L5&Uco?&%jkwrNG7^ zQ@hExB@i$F8e!fD-xUV|`%0atDMpBXQu+ENMX}P>GF@D^cz7B&TJxMo+3J9sNS*_Z z`rViRLE#u(Vr&aj206>0)j8jZuN`aJB z7dYd|mGu5+kFAaf*@q3v%c9n9y+UajVtvr{Bx=e7@qSI%_h-R+J&?u`Br6i0K8p5x zqPubOZP(i|V9sQ3qqpDm9nrWKmIcNO;6qhT1NVn3;(LSd7=i-n4hJQ1x2sK^5s4p^ zR7J-v_Y;TB`V`v7DYJ&_H;|<<`FjWNzGs2D!QiXC4ePDmxwEG@ecxu{0DPcdDZ#8K zk-Egq#qc3>iq#!WsmS9Ayf*>sxzwmi#k<#Pf{7ka@J`@!A``5PmN{AB4hgA3rf_Nx zbh>kXsc4>iXZByY=IkAeLy;kTF&HVaHIl5(_MvSpT0Y_4+Tq0SS%_!8S-m0LS}=F4 z04c=P6_8Y6FSrd)rUu%B&EI`m${ydH`8E?P-9>0GI7nUIfb6P0Bb5nizg%eWLP?TF z*u85*V&AzJz=8i?lalre@7UF>KI^WJEko9?{%(I@*p7P&6C9UNzmEa7h(E+yaAzMO zM>PAb5bb`w`cD-huEo0d79&=%v1RkZDR0x5Yj#)U^be1GYv&(fgPdKU4powc`;s&H zR*MVY0-Oa#)eehO?w%q1(EDFkGQ{S$)@&}xbs>*?K5i>Im}?cGT5i@8-nt~M(MShr zXC+|7&s$o3D&JgiRitI+o3mL4N5zd>9uO1J#w^=dJh;3`5NO^c=WI3P`t&}L5E;t< zLV^o5lZhqAe$*;;S4K*v`r0)Oa)dkKb_7G1*PB8!3YhtW$loMUyx)yU9zKe?5?#Q< z`+Nhq&^9=rh**Expl$Y=Jyv7&kHuhB)8~q+`cFBIu~dwh|ap}9Kc zw1tOFsDu%Dl&85LMp)`i(e8y~saW(BTI_Tn zZE<%lTTdtF!z^Q$R{>_0v z(1P*2_T0@%L9x&!I!k83QoF0c1)RXvgYnP^%zB@(aDYnYm`hH%_82@c1?Al^MMKlM zaS&Gfcn)8`2nH`9H`$c1`*%ovY8oE^3hT_)>JIwXd_(h>1I~TZQbi-{3VA{9t>mnA8z$SBtb^(Go9v^vx+sT>H01zJh$TTlW8Y3bvE2A(C#RovY=N(or_~wmu^x@sD#=++saz+z3o2-B9>EAmc?~}^~ z1rY1FFNj$(^YeSd!`h*8Bf%ja_q^w-M9Zo%?$&MCW(XIqa&3Hp?b**1bp(jv7$$S| zwu7Qo;giqe^wPO&t>18HSF@#@P1km#dQjqVw+(J1zj}6EX_VLcZg{Trr~U)!-rs5GVm$4il(PLk86O@k`87Vr6IaU% zq!DZ7*8jYu?;XjKFZI;$o;)4GW^+X?Nt&ls3vQ2_jzTpecV7*_PSS#gXYTm70y-pe7jzgNlR znz}D*;nq*BXbQwUtz=&Lti>#+MEhB1j&v5Yf!`6Wkxu0MkiITYzKh+BwdrMPBydmI zdEYshS`)D#PWJniGH_;Z1n~)v z3q63Zsr4){?#5}pKBh$%RTP9((bC^}S-@7K=p@UwybjHBUjtB!i04AsD~E(4^f)uV z>{psRr<($jwpto#6FQ+dh&Dd&y#)L{kzFjeI&HYl4+#D%@8`hl=j<0*L=Jf$u*-j5 zJPRLvNbfbhN2VLOJK$+V7AT#ThBi;cS!h-3r0aI`bE0K{jFE8-%SK&7YGH0HmE1`f znvscibwaoqkZ!k@n#>kUtpf2geOR3)a_#CT{4cRqW;P4(IJ-wmkF< z1B_H}RlrM!;UmGbM*T zy~k9>_+DZ&YD{7`8sF?`H&Nl@;hu1Ogk9ix4UFb*p8j*FU>=E=fGzfP<2r9kMo~7V z5)qdWKRhtpYjwX|d?a&G3lOS!ZN`oC;KfWyk-VVpx=}^tvoE@F>yDu}*y^!j*a}on zOw!=f;}-d_m&NfdJNa{uX)Q~*H^9`*ST}s_FO0uZHf@07npvv=*V^E4KSA^mKYy^N^XEZ;BcUJPf%D)1Y$|^y9!f^0kl}o5-1zE0O@D=&UI1p?MWS>|IXy@A4+~<(w zzRj){KQXb-o>UY`E2u0y7d&2|>mK*GO8p1U`32xvM3A}dQkl)P7-3S4%#(m2dB+|W z^?}iH?P|BSpEL|$=o3yF&5O{_o5gnx#tl#4H(7pKY!7e`Eodb@3LJ`i)youI5f_8m zy^Y>4_;YI$)8Vf*G$NM+ZFg!}kHM5I7c_Uf==ea3-p;5&@I;e1Uil#GGJyY8E-jtkz$(8HS4m!dn_ z@38sUsC^dgMV|ottsOE!AgN7$z_;6b<8SqQ>V~C!IDI{P+#gvxiupERtUsAzA|G4T z{y|VQO^8ZOCaq@~T7AHA14c_N&_uyI8 zhoLt4^&yO3=)f#usYn*kmx*nLLFcfp%nS-zbaX<*+)rsyr7}r*PnP<#K0@GVerTGq zbRDYNdLMguftwxgWvaf*2opE(TM3gcFH-+eD69NEHVIfK3Up`w%6O!+>L2eyP`TX! zI+pomY%SgxGvNFP_H?s85aV;N16!R?D`<}G19YP`wA3u19j9&T{meuoJ2zCk}}eto!3uelwko zKk3FQ(Y!#)mhRAiMv^452ik4X3D~X!qWh1+;7E}0-LmIPiC(GcL{2uOBsrlzIxmAx z*og4Z3$5Rp)#In67tGgddAlg_pGDurLJb~z4bXXZmCPd&J2$r(-)dOj!gH*67D(Z8 zxv3J%P=Ne+F|!ZFq1SZ<8aP2s5SR?0D%IOcZ7utLpSnp*ew8 z_c@?{e%q0m+x7?1PgSca5WD(K0ntj9y()Xsmh)`ef@RdgQqkL4St^!T`bZdo=Dwqz z@)o`yR|_rprHl)J{Bza`PwT%!W}c26!49rvUD}cE$noY*k>HnyNtMD+$h1IJ5;^=0C`3O4Rg~vVuZ3xXtt*wK;y(D9 zT9sd=XS=((Ep*bZ6^-R{oo9~1loShyx8;Z6Ebq`4(bjhjF7%m$v+thlHNHIVv|M_F zG6pLTyd>V<%EUhy7J$7E?XWu?vd23Zm$ziE2?7Sqw#7Sf&wd@Vw{0t~Z%i~#`2U>| ztr}FX_!FossA86V-?q5{{fan0o0v}n0E*hgPpzf;oDgy1lUfy`{{8A(x%-vli>zZtfXdL(Mn40V_ z9vS(Vmr8^zxNP?^tqf-bE*aQFbX@vVVz3%s*=uon#a+OL24_0TCC;9T=E3iw;SZ>a zEg*HQt926GU`~oShuV~671Gk8kV@}Q$)R$taiC#y)0Wf17_DyZ88W8r1@FeVfg{y+ z#q4)yeaOlee^*MMifdKnV|%r+nflt`GsL3VU6<8LGrZtX{D{XWF+ZF2BV5+Mkk~jO z=y3r8TGyzklZLLE!Y{M#W}OE3*OdEx0aafWO}8IMazDVXP@?aBuzZTT5-bPTuhLI?$&;S)WlT>PbgcG^us^d~MI;Km6J=!MQ!7JEF6 z92JzDn}=UQ9Ho-1Vod}AloQTkw`r{%v-On`0O%KcfIjV`z|(={p%@EjMD{WRk(TG8 z*AS+nol$9BsG>)1?%V@QFABLU8^^lNmCkT=hOv^r7wS+F^tk$GWiMk@$dqGFn<3^+ z_xnPlE6`&&@RO6nHz}Ly6t?&Ci69R%}i%spoD8LK3aE0jwRB_dIm)~rqk~n zI=&u0;1xTw?V~oBx$alqhNzHyE#!HlM)SunD$fSl}1Lcrer3J)R#xa1z+cq~PxX{Xzx7;0=6lv-o zkq*uet4icafob}@)ArW>Bk+)yv8p}5Kbx1r-&ghcEx^wK3T*N0F}^reC+Ol6m+BX* z%-!;iHYA|pIjrj7uE0RYpnO_ww{b8^dto9zE0>6=4&B$kboOn9Z*Gw7hZj*DK5^)U zXy@(1p?{eS^lL)k-*tx*)UsOOJWoBemi(5!rItFF+1ia+OWUVjOa%)iq`aU;TJW%s zcSVg}kR(>H8*fqQc`?Q1?s}LCz-&WDTphh9tKs*J2PUbzm-Qu((-7Og-dmL%2^ z1PKQ38RTX2m4rugs@&>FU1%??-KSoAeXCUgdsE({A*a*y8p4MQcp20UW#G;o?ZJB8 z>956M>uJn6aXWYh{13Ofz*j7bZ1OY2sXIvpvCIhYW8aQC4$0*xIXa^V!7$U0-M;MS zwG-BYrtuD7K&}vOd2<BYUMr^)Tj?$i_`5?6uB>OhL>dt0<2&RO>co*bvew9aEafl2MTu~>LE5LQ!~v$7>a ztC!Q+5o+Nf#kBPp`;>W2T?|+ZihZicGKIHEHl+!R>@p1=dhBU5D0j=eHQCacSCjl> zqk+S0PT6DNKfQBX&+AY(n}YHHg_Zey?{oqhPFe^io1&nc&lM({edJdBrsA0q=7}R{ zHf6E>2Ny1kB`W`bcJNAg7~MbEe*(R!xVlREqR~OEb^QmOqK5gaa-L?4G)!mxOyOJV zIu;q;W{zK%%$@EA3hh2pXm{SlwSzu_%3ihSm?!4^5;DZmAA{92`Va)ZZRI^4@0{P^ zU|y8RUQU|-J@CND1BMK%(dm>12M zr6SL}?7t6upv^aRgCh`d?<6dl3kVfB>_0lf*zBSWyh4#av@q7yJge|SrX`kFz@N_l zK{I{tIJ`ddcC10+`P1IJ0K?$MyQ0t%pLmD5Q%X zI#PnXh({=`ekm2+RdIq7SSz$Xf9II*u`>qAu-PaVGvoKCNU)Sc;pa*W-u>k`x~JVb zfLf8m`*vbApQ(}E@}#P>rLx#$E7CER$tU@T*jbXUCO-n&lJSAeTA(E7eITu196wcG zk_Qcdk9|KiaZ_*AZ`5rF)Eyx3!1=C)HWwjt6-Yi{5};Llsm!0CCULtX6Fh!7y>{s8^8zY#zY zYHJW@+xOlX3J`YSFjuNv0x`QNJ{pJA`4=>*j`025vn{A?5_eH!uQ|>-WTqc zOWkzUc6rj@UxBsWX}t6BO84h^2`QXCU?+b5-$Bg?;M(`|0x%O|`x+9fllazi$(t$j zx@tpR3r6kIv;Udr4V~^Fr1ow2NmfuJUVqxI%FquOgz?f?>W!HEHRLic7t(CG2S2I3$8|CTJRfUwniExb%*vy{j-Mxj35CK)bZSnGG7K8A zxwl|mQFV!ZhpOW1&3=J_pxJM2PbYJ9ok7PF1M$K7Jx<2{Y#DPt=9Kj}MZo((oH>bl zReC|hgf{yX?{gDc@OA=`aVQRZBy7dFP^p{uOvQR8xQLUXi&V*j1BgLm+sd)$-&1UQ zwT9sB+m_scjN~9*T5`aYKUfe5+h9Qbgs5C+ z^gaN502TY;ILvuJMFu}V8I>TM=S&tswX*b2DW8HE$c&oYFfTOqi$1)F^c6Pz%>VD)gzD6 z487MbJ>3-9BhGQIK5bCS;h@d!&{N6=C_}Kr6Y?WGy;b{=@{s!BPH^PXHioIdrai^Q z*?7zL!hQAPG;4d{&yxG>EpL;o)R>1TjJsO}9v)HhLBw+|$ie;E2AC<^>6gE zODV7EEn>tK+r-xK{Le%DgJx`J)IIfhS#E@J@qmJ7+aaq|iv?~~Vr_I0+Ga7RGIzpV zcdc01otDuYs7r0&2cC%Z#~{|(-;nfmwK$hWr;~kW>9C>M?cmWjjjucJ1cP?JgNed+ z8^vA8i@H0_gq-!$k;SVi0uSJHFfBRRKkQ74N!`meM z4Bz^eU|?V%2La$;m+{=yy&BL9U;oz`@6e2ldzi zvViS{15)T!lZYr&31PrrWzqqH{^AD<4i6`@74^Zi4G0xCGId361DqbfcK=0R09WWG z2h8z9T)3=zDYi@ z&UBVWDj8CYMq4xxgm%`PI_4f#auuxH@#sa#j5vsp=XbZRhj)jpaZpB^BWWa#)Pu&_ zakG>u*_zVP+E8BjP(zUw-aUaaB5Os}KJn6aP0-fREQc$DGQVCh8kU8PP%b`sdbq}J zE0o|<1x(wahaIV3Bd?)rL`vPNXTY(&rN@#SNL)CtoV@7Df>p=6eFzrCdNJ)BbP`P^ z)&o+!K=sUrO@*il@oHH|0qhM{37N9ZA6?ybDr>6nnA@W^#oGD;_ae%|!Zo=-{Uw1n zfTXk7N_`Buu{25P9IT%}!4-?Ia-CE?_oK!W){b2Q8~2GWBpr|HAta*;iW{1A_M>FS zW-a3}a^fzE0EMaF9|$&Xo9-C#^{zh_&6MAaLP@>D>(#toFrr75^BdY#Ok7&|U2Y~0uzk%N+A zGA}Ys?%svDc>Mr~ThN)f`ZEM&8^t32(ia6qYR-l`(35rnP#B9dLckutIO4{sbR@#@rW%f4HZL~(mZuZnS20+5BWk&ECdfT4VQ<}Z{KeiL z_j@R>pSCrY4A|^-WS^kSddYIx@l)7QRJK#3s@}W7EwE*WDXZEkWP@3lm@495cQ0nD zzgM?u$2Y@=)4sb9OfjdvJ8bUPG=3V75;d+d997fFA1u4tj#M&&+$P4GtB`x4K!mGR zE>9IjxS$g4h`P4l(9h|^=q#e(&E--@>y{Vl#^@Vy!>PWCl`sy>CZmO>T{nw#(Cxu_ zl^mw}?=MwX=RSr~UCFMQyNt%_c&HW#jt@{xxKD_62-R0NPWp#{_S1w=+b%U0>05ki z*Gv*yE1Gp!&L~Fv-6y+G0OzGMCRJKx z+$m&#f&Ta*xppbxY?h+21W+;XJ%14Ip|6=QE9YG7jrub9G78 z^zGkcXF{&)v~-QL-sg<)lN32jQ4^^Zch?u;mW>KeEg&BHyKQlXLton66>g@uR6{(< z8YW(kUS37yC57nrBel0aJPYFI4Hye;roA$?t^!(7!iJX6=KX(8Cjo z)eHgCQ_E7IMA&ozerMQ^Ag-kSUtcj==q7%j2lL5djv;iCo;! zh9{viWVJ*}t=|hkwhFEbMoGv$pI z5R*M$ZU`tzRwJ784uG|g-DoSzJ?}RKS_Vjg(aOexzif7ng7!*zNXzU_%spx4q zq_^+Y8It**_4*TCPs4pxfH*xLB9PM*bNj=Ne_$=%NNGavG!ccu0GDxFRB_ys(Mh8T zTdzH%nqjnZT|$k(l7OdMik|uR zQYE5**xZkGku@P)LfF%~_q?^o>|F}Tej~2ASme#+EA%%=nQC$>=XyJC0|IYhmI=VB z3(u%rw{!?fhLpVl#M*_)UAj=OVR1=w>!_=Qj34xM*cI zL^Zf=$9g>}MrI3XZ(-W-K-cyjDaD0@4hY5(z=lFE28ZH#Rl*RdR7HB6!^|g3xMR#*y0w zeRcuv8NqJV#XLzBC~Loq1`hq{=_~)jH_mX-Q+F`qSKRB)0RbEwG%s>^Qw;0pS>L_D zZc3Y5*p9Z!n^@N~4}FrhUEV7$AD^$P{@8T5z4(6aOe@3h0U(4kV6B8ubabt$kPf}{ zLp;Jkp6;`Z`v@t05jBHLp#@29o9D#rKF+CkpkuKoP?m`=jqtWKae_i#-MhSS| z(ai<26*7U{wUOlt@DH-9AGWkSm&CiN$oIBJ^Vb-AWCzY5GN&27A8pQdsR#+=Yk9mf zG3miXE~Lv~Tk|XLGtgr!_#nz*gyLPOEH`e6^1WdiIHJzG>r++QMK}4voXs>KO=AtO zEG$`Wt#m`tsGRNB+`_HCMSLGE<-+?#oPl|0>b4Sr#&eBJBnf6H!-w-0v*xzoCaE zd}#igXWd&Dc%qBx1fH+EgRC6e>@<2V54%j?-$nvCV;NF>HZHQ6z@S^F`K*@B8??vU z4^drZhHF5uLhOVd;*|E+J)djS{R(=x=_OB?4T9@hG2xweYAhju{(yV{_!@`sh&9ac zP5r~H2Tx-Rg62W8m(pwYJkx($HgdjuelOHQaar+lh0KYDzG+EMe+xmfb!w=twvhg~p7jggF;ZxFv6!k>xLX1yCbzAE=1}{3z0>N`PA^{#$Jaf1 z1T)=VeNq;x`<9Z6&F1=pGG@*rEs69plVGvF{a{*2S)saGOtD;LbDDH}nwU@3%_@A1 zBO3922lTDU>W7VaOTO_L8Ev((#xxhzQ7!V8Mm5Qh^T3R#-)Zz-2I49+Q-H3UD#9AL z)ZC>S&yf0~Vm@XOQ>1LS1NI*%@&PO9?CSUjDXldF}tf9Pbkik(bKCghCF;^RybERxQlnFek!FY2nfRJdeCHlW4;*U60yLUPZkTIt$!Kxn9#+lNY3;RQ4vVwQH$7YUq;NEO0U&LD+d!B`mwJxwlkIV^!(+@nkmD z7AdX#RhEzL&;RoqsJ)*@J|KJDj!T1YC;^0GMH&E@@rOx}PQOBcC?gMIJ(w5^Xf}DJl z!;ln@C4v;(eTH7C(9j&Fa$ffx_4@yGHYXuar}vfbeCSY*?P8K~4`*Yn!ABs&wA;Ru za#!zQ-#*<~t?-LW#J@Z*trQl5CV{tiFi|CQM>b1L%@l|^r2K;{Taj37&ukmH6?wAr zmyq5SEeBi3HC_+%(rzzm-F*OXpz{Mwku_c_*m zx`=eehzbazrxZc-!gU|<(NJFEGv?RK?naGpKc-Q01aHefaA3ByI}0he5Pd;;>ja#7 z6npeOpq-n<8s>DOaG59pu8jHEXzE-M;T$upE^H>#S@hIiq2~Ph$Tj2^5ztbjW{aq< zz24!-3_v-yW$-cYyr*z%`Rh9^@U|;ywyrDbtOGMZQlJHLe$316-mdL2)1l~77C~C~ ziE!*+GdYQgDm-@2#(nGJJ+EB!@hEDoUKbRwgFTv61)BBS{q?6^eY(8+Z`WAn< z=}5&!iS#vXBhLluVC=-CaXpsfVy}g=orIu6I3P$gBQv9~H-LrVpL+d9QJle7TLrv5 zU24iM@!{l=Ca?iPq5wodyT43D^t~_{lMO_dXC`Kw!Di6&$A}wOTDv372E^NvPX6ch z#X-RkPgh_TV%=Nl$d#lZ!O{s|J%gv?*i2!q2vc4hglM)al>vFX6uv-I@-2OMo>gJU z{d;}fwQ7OIRtQ1PB{{0~Y4>#Qj*Z_UXAMjhPn``d0*}|+V|LKHmR>>XecgJhlb~*S z@ycVFY?kf@P5W$pJLjd2mY3HY(f;h~SdyIYli}nscbl+xOjp&V0wgMLL`zqCKJ$LT4F>}OR6OHbG`*g85D*ZT1V&bxCOq)ztz+0mBEpA6L9KsO!uSdC?^4+~2VN-pW*L4M8x#@Ra;y@~ZiV#CNP2>0E#r~B5bFt> zCCQeeaAqk$wUK7ruR45%fC&IeNbsl4!>OTUTRX~oSmd!SZZ;#{OBDRlUQ&~6yc3r| z(o&MCMz}{hHm)j)@yd6TJ9uU!3`b)ZaeYhRq8*i@VV-i7#W^eN-hUiX3D7;Rxa(@i%= z(Us)BH}`S4KX>fvEFnPn^R zu4(XAgaQzX_;+LR*u|%n;nwZ%Qh=%e;wn)l%u6e$r;)S4t7_0lW|*o1BPrtottGX1 z*T$!s0A;V&{w(w>Y@=)!>b_R@*-7ZN+K@e5s`KY9A=FQ!_DI4w1Pu^y9va z4iE^R^4>=8_3$dQUc2@SE5wV$l((1F>jkY@9BY-nB`2(uC6Ym;j-NJ{NZnvn+0tus z=0?#`RhT^dCPnB+H661#X{Mfo2wg>L4_&Fg8t-p(*9Q2c6=wIW4@JGCF^uR#o401j zW^RKRZ<*z`IHhw8n;HvhGAtaHK_Yo3s!EZ?zQ=A369@s*_fnlLtkZttnnMm=T-bXN zO1I$;;yDahKa<>|J3EJ4-%H{}C8V$N+OeZn~oRV$^13u|ep` z{&IM(UNqD=hne^5{b%TEmEO(rY1416Dc5y`^16g9EwRYp$+9;cJ8-SiMAxw;+!RFc$=Pi;=SICog30etW$ z2HgIN?Gz)fJqjg_EhCWGK$>XRHfOY%OFaC$-o!%{$iTN#@#a2VMTU|mC%xd_xf79B ziJ3a%^%t}qST(|3Na+P=79+)```MLjTzH}5FBvryS+W=sj?ViclpVJn>3~L;?))NA zah{SojvcztAap~L?5PIFTTGyqST~PrOIjNy-c1v>P6>d%HS0`_NyD<`aiWJA_aKem z6ou}z^*a)3PgGAX?8KBl$)IFMy@o{Bn=m;@Eye8iVCxy6Hcq7-9^*01+6nLnn{^x5 zk`tZHSaFZI@K7-D54SERqLysIo(7R+zL6>y7^<_npz6wtfwToGvo67W(WWgO^^5iF zva^yh0dGNx`pMQ0RpCJFHu|<2T_5#tyjJj@v%$f)Y9be6^XEv$yx3NcsKqmepNsSI zmMT*LJJ3g&5_O~+jUbKPSBB={_}k2be(Elf?p8OZad6%)Bus6P)zUDQ5?CmBLgLh7;1_TY}F zOH317+z~s5*K$_0;C;rI;Ynj1j=JPCDKCRKYrM6lyv73Z(9E$soUNnISi%|;1GVim z2j)8{IYTw)SQVycUI2Um_zDYyQk~;wsBw!X86h>d39scZqbY&Ll!LP6O;VX2DLd08 z%%>UyU2H8?F+>}5F*hknfzmF3*oFcf)w8AJ6hyTqKPh#SU>3%WBkus1lYZC-+L)3x zo%2eK8i_$A;y$zPYz%=s3Ts!GV7FlvnWgqUmB`i8orot<8&#+&n>A}}+pCXtW8AFV zTvukR#Lf!9YvB+bmaOd!PHaLf$}_D6IEf| zANIXR+j7poRu5$pa{fgsv*P zXpw7u%^tjHr1DTJ)No`}`a?w?sH1!JJO%X&`ugf`q!e&jyKo8sCTnkC)r?q~H`asi zZuDfwCr9OEIdx0A1ZL$>-VvAHjb!%S^i>eyE(MM^5YN@DokbdnDG^dfiY@Z8x8BqE z$%*Vv`pae0;tutBg%Ag0qiRc^7k>IWznA91_hrK+ zrA>w-;f{f5r3U%%#xCiO&)aiNX!@d-telbs&lv*^!4QyXD~LmrY2V4=Wca;kwpoLs z(U;+Gv+9mn`-_6Tk5krHS<*0l9ei81IZAmrFfS zXNFo9F5)eDz2jB^B&_K-JLB~)XHu5v%dZ_^Wj|Jru#r?a_Z1&KI}dCOqn71&kk2s$ z8J=ealu+SMa=?dotcX=(NlR0K(6NN`&L@RfB_r0KxnczGNT9cvr!rg5469Z=;kAE; z_)WXpfG@7_reZ{DN^hRwqD5(q?qT0K(aQ087Qu9eGQp`{c>XO#`hL%YSjY%@%;u!> zY;pu2x3tOb@yz-Gch2`nrPXVa)-<0j zb0{C7o*9!Q^rnv0r_6z6p~*wSB?1hMj;BI~XGhgI@6R>EIg5jS%MUq=l!8zyJARb# z-oA*!@Ey==6(02K0C=nt zQrS7^=U%Q7^7b*kas)Qqy;*)Z7=9?ZsjSCA_Er{$x+yGGo%cw~VS)P^=j%Q%H@L)? z7lRpDY++Bf<~y_Mwz6Q+93B{j)Emt?Dt|ociPm+7_i?@2GOb$IIwh;~gk)IMV3&6V zAtSr))1iU-`c=JlTZXkHlQAkwzAY^$&1gL(b9l1B8%Ow}rxF@=Zc+J@v3^?)5qCm< z#(>7%9|6D)R2n{fO-p?u6Mf%>=X&5_l&aoO+`kB>SSjx>v8grSZ>w9n(W0cTt4ALZ zXzSm>`}g1g%)$j2aFCy(@FNXAtAhvaJo(crCpa|)d+4**LGiW(u{!bpajH(a^o?vU zTJaed)RsB)73kX}ZKS=kr$Pf~$;7wmj)CEUOZJTAaM>x&E3Ia>cMxhJ;RsBU&?K5< zuso198JNz#Ux_*kwnFRCM>zg8LIkTk4H(pBm(mdh-BJtT>kvL9=}G5?13)+`w`oeR zdSe@Ce5}D_K+ViriDwo~ratYM?$4K4tJA2Zw(GmH z_Bf3+R2R#2zN1lNs6>?-`14FrYsnF?;ofH6>4s{(-qlO&b<@##eWhD!U%TOdXsSY}rY~)?!#zzE%GOvlbx{r*9v6eo+j8SymvTlZ~ zQ?uM`=7E+Zb;<3LO336XvP(Ew#yN=VfAc2z8)qR3uLl;zw#=_FbNE$g4kRk7)u-`9 z@5vkYAmz_BNp;+!ho}x*v&TXtRBN6zQ#|X7XpH8~x@XY;1vPn6OK8+c{U9Xu z`U`$F%J@5CZ0UBJd+TNNgSj0W6T@pwMIHq#kq4=qgU~9puEo>f?nlkVm>XKpkoG=e z>+KRw4llXL*6O8jD35-UDWi2;oHC*G_TBs8e}Iy_JJZy-Kxq_h|kZqgL_r}e+P!X1gPRMkP^DP~~+kINx!(yIu_`Q^IM_6?#b7KEwZW9CDNn9zr z7@h%9)E=Sq^{9Af3s1M?n)Ao1&#*dmoP%#i&j2!Ri}Mm5qP7fu`v|?&jv8v7Nr&0{ ztx*EhWoy|unttI*1w*0)LY+EE?u2-jrkJIkwlt4u?lw1aOXsi%<^j&Y~2)Z9LzgYKZ*2Eqsx|sKBO`=eY3Z0z00^d7rI47-3aob(JzEV%RLl8zj`fT{q zNFS;JIs+Dk#rBP7htLcA!5J6jy~2iE7telt01tsu?|LXTIl^S&mfy1C>Rp6Ob<>0) z*uU+^{vYXou_^wE2YN*4C!?*fs$O;9q)5hWYq4JUJLhcnyMmP9@KdELg^498pq869 zqGKBL^o;m_cnFtuy{C$SLgaPcHq(7e^c&PQ?YXqc_las4`m1pHLK~f%0m~y?Nf7A2 zGuVx-Z2NR{`?efYwws7!T8C0Jvj=@{(Ay-v+*eLHkJM$UkF2NT#8?f)Z$7&ZuTLjz zcK6&&`C>)Q>?^02>`c?Y8Mi*8YEgSFRZciizBX*_)q}ec4&vNW3EZ$2XwThcD<|IP zJf{pZ3F^vj-h_1?U>st>I6$C?3ro;v;SPA|BwRx`a_+#(dLCmp1BK&wVV!;Vczuz? z`o%)3DF>i4aES?ds7mSKNZ__8#7pS+Bg$DolwRy_6M3SrM6g4B;$&@tOV2l4hBdKr7YKH3Ct$Sl}zUi`%~2=fE#! z!>Hil?14q;)sgq4H7shR`I*s$WS=&$bo>;LA&(JU8@>=Jzk^?QAAM%G!X(E(t;Bycf;x{G4zvt~ zrN`#PoY)#uOs2X!fl)e2sU%P3E#Fx03V))M)Cl&{hVBX7o|Dn|We&CdqQjlMMpqFo){?-Q!RzwiC@ zK9A>jucIMp;|qG8Abs*!bcE`$;OTmv`_ky4%Cuh3}di%9eAWJLpu_(B5T*e?m5W>qk4 zUTSam*2SA5sX@e_cZ8%3o!b^H1U|Ih5f*bVVJ<{Gq9hl@E;29R_P=S*LLaw%Io36> zTSl4K-EKS`#DYXsVTgWiB+pK#7Qo`e*y$W%aBSEKmuAI@#*c}o!rjxQYNo8uv*Lee zuW@qdk+`lX2I}Mu1hpYx#`pF&TLTKNT;kqE#*To-t+5l6uz%Co=U4X7@)SSzGl+7` zeR#{EH(|!bed`c|^3>!h=#NKujxBs3MQ1oOgiYZjo)E z3F8ET)q|&`eU!2L^j=jtk5JY~$VGb6Rn^XVjFj*%G=gi){%&EVFyPP_QSp#sJt= z&F=L~K%QSRf(3Lzmj6l%F=@fxwl_SgK5bGz*mFm&X%9SqG*74V6#L;HmyW&~a4Q#x zs;!YwPfVp&Cr10X`Yy!6X9}NW9pErjRl|;iJ^Qu-57*x$$M7^J4n*1d@B}^n00+SM z9{Jl3x-RK9-tRw2`Z(UddKo@`>535Q+H?!}a8O&JpjgNX=&14eVubWO+fW-{k45$r zCaixt;CUiXHchkl+e%l{X`w#|c1hf8L%AvaQvWy72}!_`259#jwk#CRoo^Kcbsl`9 zvgeWEh@>vgQi0&zyg{Q1i%=&3pmqXmJ2~4OUde0bo^bb*+_O14&j*3FIWSEd9qE+F zd`rAsHU;}WO^n&!rujq1^9mnT8je_-zLWjCnt6#H-+a-uxJc$H??!_7ljLuE!K%k> zq)}U&X~7?3_m=lvkdM%xw&7ZY9#ly4aBQZp?CfUXBAW3SQ>eHoh5+^G3-tXeJ97l7 zC^m9GF?LIBhG(~EX$zWq{T)6kjPYEU^9&Jiv4u$*T*C5&WA(^5tKkf5gbOL2gf#Zj zLU{9O6dL3b3h%Ml%62K9JET*b#N5~_+>K1m{pOmXicjjy6Oi7p@5($v1bba(CJe^$ z#+{VYNp(w9HuK=hHMj<&M&R~FdbdJx($z7l6?GNIHaRgYf-+l;d|glEmc6&gb#{9N z1=Dh0b|LoDi8@NAA%OLh2;zbW$^H?q1-p}HI@_+h>N?5J1>md&xQfR}szOwG`cCVTJPkw6jQRI8ieJQ||c5ERXX|x-(iu?OyB_Q2} z{r+8a-v7dGg=pp?$nLulFy{#E%d1U`DzUxGG-7wOt4Xl$>&D4?(eF%0o9+J-_pkWV z0x^Gwork!`+;d(V()QkSvjuwCW*baVGM`SG!3V?&Sls1v8Ma^}N@MJ?7~BcaR{t)u zS;~#(3$Qx%?zw;=+}#N953a*~Sx22_8qERlX0dD)>SqYgARtUsLFJsGkp9wIP6 zU4G)xH_EeK3D=_WKPD>WRLMa8fxit?HpJahS#@oNMV%$y7LpFL17Ny5$qX)}$_s#Z z?av4vc=j&e(8+954>gmo789Fr72C;Xt2?UDgZP!r5yAR7G%}U<%hq20M}i&*s%Unp zXy)hmAAgJVWW3)yW@&~T>uE)E6%EEk*(QYSZS3aes>HOlzmDFy$6FN$Ma#^ zDwf)_x3J+wFIkKh5E@xdKYw2ZgL67gYkkI%)A>XPh~ijSiWA#G9+VvjPShaiYodx> zrskS~+5piPe7m_*-WZ_%gg1Q2>K2i;oG?u|_P{3Vpp&Wehj4IsD!ev%Bs8E|FaK z@A6%&FQyY;zj(UIPh9N0K6=FsVJ} zqhA9qA_n9^Z3-dL>p+J5e56*3n3o94e(ZdrHIqs z8VoY(_sy+52H#NYp9>@(hSeVmj~(kBR1e*^c-sxWoJOfhaRpqR4WPle#D~3p_T!j$ zKU;d-A<>8nlynMPB{l7t9_>R>%&6R5h2D8_5U7}A4t`e>=&fv%e@ix+kNu|mFikl z$jsaVnFbl`?<0R)BBhzUF{5x z6&5gyv_pJh2R)or{Q^Z26dG6yH?y;GO)n7lzRvbH=L7Z>{`1}MjGpj9v#1Bn6R|}4 z51}pbpd`=VV^k`hyrfeGs`+U(lP(-YJ>7A-8Xir^t8pXtb}Ct;k5|inv%&Q_%C#8GBq26S$CB!Q1CH5%q z151}6@GYiBhg>DUXw$D!5wW)r3m%FvwtMFfsDQ}guQAn`=!26=L@7VW5HG*B) zuT4jLuRc>r@7{V0G`$iKenC8S%h654gNjo%_RpbLp|!Gz(4bs*(9@3Q8S+vF3%#5y z8PdEG6LB)}T(^2O?bY!7noUTt&5sJNK)jxm#<3>%O7NA$*z9w0AEm9}=rVERqmCT2 z)3;s|nPS~`olXWghjAnWd9#0QH+0h+c<>lBA4I^Z0Dd3HWzcPRM>>C7^v62aB;+-- z+-j+-{wk-M$stUyfzKTlHX#x$`?2Vev(DJyM#;pGU?_|Y9tXCaGJ5PFXl<2h>nfgZ z-+Qe{?4P*80ZmjNA?Tz+Ie9c~TDfqOTHLSH?0EEuICQ?}aGid5j$ZD^J`7Q-dnpw2 zyW4lYK&?(gkxd*#gc>VAJQK!aJ+s)eCMUWMOimVoSRP~-Aa#Nwvu@>BZyXNeBy*jC zHvtmE2OXSB`=$1YqfqEbyqs9|D~gV8e9I2qEmt+MAh>0F!~+=C3I7?9L=M$J%YkK& zeZhGPS<83QrsR~vX;vHGX|V0nIZc^U9Wy|D@0Ei|KL~Sr^z(-G1yGgqt4BaGd}yl4 z^MTl=YZ~m1FoL*kU*zelz0*0Q*h8c37!YI0*4)I<_=z2katd{4rRyWX%=mbZ!UlQy&g52><8@3t>P9y_965|`jWL+zTMuGZAjb&%~Y5q|3# zpur3eRyz5yyz{)v+Lp1%-rz>Wk#--a?Vpq50qAqyWee#mc@<`b^>)QT!ePzf1^t#; ze=KU8{@CrQ^y-#pKVhk=sd+MZ->@S74;B&_6jxpD8h7|%?>k`S!S}+W*_K8^=aq3` z|8!dh^RZ@sf)wRYPI=$PH++b*N)hzfYI&MWI_w9gziDMg2tnQGkl4wS+E}w(#naX> z;B1r}?ym5vU}si)WHk}b*9p{qq=)9>gI>=1+i&Kd7B#bv&9=dFI}MOIo-zrHu28>J zN4ad;$t5+_2<}HKyv*+JwYd9QqTHM`L#HazFsW`8zgxw>EWt0g)sr+eDK=V>7n zd%HsMIek}Z#ki7T-q_tL%LPRj@NJz%2fKmfd(Zt{<(xE@Hm`w$K1V7V6&gQA-JeE@ z-R+>S8ao(@no51ArRE0#qIV`J)eIDES}S@X!6to{9L6>ux;zODN`)-?F~`L@tCpM7 z>{50T(k_`NQLnr+=X;rPNV~MM4n;R%ZBR;@BNI*=H|GMSZbh}rw3V6MH&gID{>XkX ze)*t}+CIl&Tl338xSOqQ$9xF`TMnJwyI;2c*5S9Yqn3TxZDr>FI={o8=OdS{y1zP9 zfK5^wQQ(j+=Wp_FyicG{0FyvJ8^sHrm$~-&eXgY$bE>&yO%WY5Q9ZTKBlJ|McII;LM*M4v&B_@}f)j*hZ^tt4hP;D_pm=PpV|2918i z@bN}zIffTeb{Sb6Hmew2wsnm37MqrNkRGd}Z z<0cQha0e|X&B{YY9;)_o+09}e{7I{VG+nEmIwUG%iA zOcm7R1nf0kueZ_Qk3)yO-p#((Dgf`bZ`T;XaGDI%Z+3L$LY9@D`Rf&7l+%WkzGUQ? zp7xduK#yW<6$G_XXs49xM<%C)pS|yK%HMT>Lf^W!!8z1Kn)9rygCEw$wl$0WO#j*j zGRBk{VE+KztaLbdmr7p>SC3V%dzx*IIij@sbpJYem% z!Yy;b!Qwi?&FyuX5k1|XPBy7VQRi#R2%(EIAl3OtJ!;gTjR@x!T8+KXG`+llVg@%& zUu4e@?N7NrAdtNJ{qq$pyDcOc;^t3-;;_)9tqJ3W!>kZ@Dk7g@3%1KyochZ zBk0kc%jGpsZOcR4dX4(G6g(=^o#`aAHWo+K2!~+b4*Qy1euMW-zG1!>a7OpM4$LMd z4jedPH8cS+x12UNU_El%+YbyTs}YeW#uHhYmB;s{=FRfclD;m`TO?whEe6_-(?+?B zr`BhSYnENbAIam77T9O!PIeBO@$kQM(0fTRdPeF9?AgyHD5DR!s{d_;eErJ+V@T5V zPq^DO9^GIvzS29;etWGnkjjB z;^LWEu{BZ^0GzC_&m)zby}$MTPwe!gm2RFkC=5vH1vMwLW~a9o_hmj<3(g(pEV-^ZQws>8~cNtK}SPd zuX$(`=r)u)!dnEJxMS{Z_b2;Zx;cNQ@)>e?9Y$#v==Mm^q^$0GXp5zKC|SDc?RbIL zd#Us3OI-q5k{2EB3^g|cCj9fuM9@xSRcwoyTJ?XV3Ilk~xlz}n%o)?spL|y=2HKn_ z=UcXhJcvA#VbYtg9C014Cxsk+nu z*6F=pNNDd)gh)@Nkt{i1Ca4SAE^?S-gQc?KSBunAP2L%JGxb|9+ftj({EV%!qilf->IE>3OV`ki3C zgD-Vu9!A1ZI84XnIYef}{PEj-UQfXW737;1g5Rn!>vEF)EgNE|v>CiqpNHIf_LdWT zr<)jSfOK9rfp%fJEyVJpVP`2LxO0eXzZ;h$do=q5(9hHT$L9Z_#Y@US>vxhO=)W-k z0(*bIsenx{ffF&XFuW!a1y99Xy9B~MmR`~tGyk(>eOfd3tandX68$?c4^sa!;$5*` z=0D6xv47_MV>e(`-a&WFjG>V&9v!$d@+(-dVmJN6+G#`l_x4!oy%=hG#34Q!UAiv% zB#Q8m+bQ@;`~KndJ&PsN4({6X_d5^DT(zpOZrUbS0om5{lf^6zug9akyZ)^m`n{fP zQ=H9Rinc;_1D^) z*=vi8gujeKw>X zstNhs@|b4AHa1FA3YuL;bGvl`+K3lFP~DEaJXL)>kd>EBN4)F2Z!+2=&kQ=bT^AqJ6xexsDwq&fbiR40~9? zcDsI`LxT5VSP)1lmDxblS)qZv+4$^-X~O`6H*kk)DcxsXf2$`z^)^ zHi$o z!ZGW9frS47K9hm}Li`K%dGP?j<-bjB6xX6hdJ!8Z+~H z4d9}Op92D%=X4$fGzU%hG zm96Y;#4*Q=Dx16>tvUwSZ)vX!c<*gn``NJ9LafR%1AZL)=YFYxnnjV$LU65?z>NC% z3rnCRpgAvVvYW_P;04?bs|L)IlIhA8duP#96UO5p_2zgZywW4KPo}4V^W!v*FK%pP zZ#7DMOJ%;=fH!tLJs^%gFhTq-gSIar;eR1n7ufZvu-u2v<{yud8W+6|6f79 z2DZNVK;dV*X7*GM&r4l7;jyeglD=ulEQVu&oJeQC&?P%5%PMW__U>&@o0vS3 zhNde3)}#tp&aHuF_&D`f<^ve~tr=asX93l7=1un0z0tkqnbp4UkIxDla;-=0>IUxJ z#9*b2oY}^%9NRLEk23MoCq}T{(VDxt8eh4~*!x+9zvfH1V}#>@a1GwMwEO;lU_(fM zC-r-HV)jP=yqU0GF;iC&r>e8%CmheG#j`)F&?c4;!HYmM50kuJ*dR^Q!p(ET8|gfg z^uVX2*=^hvJ^AIHH%2H+Kzup{xhRWf*u+Z&Vm{r8!qJkSA>klv(!k&HpP|}L4$+<| zgX4gsZip*SG%&!YZ@^+54kcVGPsv{y1Z?GBW;@>ma_o9E4I-v}phlc#@-d={rgT0e zx{bw?u;d84_>^dXpBK1Q5z!~Gb z5^aSg`JGUx|EE;=Vpq~*cW?d5#~q~Cm$;W>GgpdNiF1td7m=>b8SC*q*wEfYbVx>n za)UNWJLpuXlmqZOWf&o02E$-k$s&27b~i!&T|g%u%CYx?5W@z_+Fe^?TkEV%xR{PA zN7nuHQ2C=hV#%^E*w7+O!EQTr7NlOOUajd6a`pW#ZF#LKuUSW8dR*cO`-j@}z%t8#sp#qCr^XFmfDxs|Xj6N8_Q7p#!`$&AP| zqlh@&w{@_AujJugo*|xiUnBwlj!&VHmG3arL;gpaDZ9=3 z&|1r$-0B$$Rm8Sg<=y9fU+16K8EdnBV=xOAJ*VabgxfqEXg{0K94$e0gYE`T`Yp>J zrVH1<3$F(w^5#_2?yHOcOE6q#PUI!OI`2>ZXOU+SJn3C!a`g1BakVf+kAraryjJb^ zy`&!tztG?I@Cf>+B*?=vUgNRfp@hWB{LHX4)Yo4U5(gf<`ts}A+L%%?!Z)Jv`Jgs` zS8q?nU9uEJ8YH8%X#WewXQf=dG5yC;bFA5U03(no9U9iUu9ILA(dSXK+3Y`Lzg;!Q;Tys3upruMGkZ|Ifn zTw6{+7~$Mk3hZu}3w%x^r;2o?O78~ctu=dzdOZAgZvEC^}AI=smQUi*d*AMFmVoLJD4jR!QcU%JKA z*bCCcmIf+}_9ydP{OjK8EikSGM}WUy2BaP{Ou4h17?diffKde%L*)lpIlk{Df6)3K zSH0<1c$PW)MDw%n*_DJ(J2Dluv-_YBa*i+;NueJ_IxK2_@u{UoGY-%X+qCaQPWwZ0>tbT!el-{l`<3LrAiXI)C_0*|7LEc(Elg(Ra2O#%n= zY8(D`ewV%`x*f_PAli(UM^{3g_0&hk?_IUo@D2MmZ_x;nB`+#3X7*y7)!xC>YVOsj zE)EOl*KdBzr3DsqQUrP4z~VEj>Y$2#?R5?h{8a8pMsm&|;3hvOJ}e`@mZ5 z17JqoHL8H18!&^96%t*&o4Y}$t z$vy8D_4IQ-;kFt1hS3DY^d&mC#`S$k8_w+8=N|=b!=YRoBB$^BsrkFG!MQyckr$c3 z9gPw2z(!-cPKsjlX{Kk-(@!5?;A?aZ-dJyKo(3T5XH+f%mCPTL;|T%rY>3W&hXJnx zy`g1o-Spr&E|)tzT!pXDVsc!cfpvV9M&j1de?6!5)_hd|+62@x#M5n*cco>RCieyof8+fB znuy;w-$|R_QWAo<;YQ*({KZ3r8TmlJ?J14&+2REhy46hKq}< z_)xN72hSFOIR&EX#oL{V0v3`R5 zvPvS2t9!7B6c+5-(Roq{VLtn$UT7G1Qh0_R+Ofy6{5A6Jz1p!;nAX0)pezz|xd-D| zPj&B&HHDjtM*6!Sw(O^HIw_9CaLP&^#|6T2r!@Y=hd0}3=b+H~X&B88!bz5Xf|YEJ z_6oQvZezoaZiW4Vhwuv~dY{{vU$#K&sejGYDs*M71KLq0XcBv2Mh~XFLIHIH8j2=> zzg{2f@xs^~X8s(GDc)Bu;|#UX*`>4{blKq~l5Yc#Glsc$9;ts>(KTUK(a-Ks_o-jq z$w%l=hxQ;f0+q;^qMX9VM^T!@qW@)!ZMDhu;^4YHuVrOLF;qPKx%4k}EsbS9*yIf^ zk2I+bk)n^>ui1Hl4A3hys9fL?QEsYM1Nz2;*M1V=0^xKRle!BI@GLAW6*gJ@C?61? zmJ>X$z9&tZBi}~qa3(+?!pT&LQ;-RJ0C$0{W;uU^IuqwBuZsITAxPb})1uB;x%90% zHb5|((S+ta2MbpX&ezB+e~FWWwVtZU{W~?&TSYy4*=T=0F;;nVH%GLWQOC@2I|pN< zyXbD55va?prk9qK&e=jgAAFL@>M_v?BRwl|E&B^E;fl^pcx~Y%4w^+57X743PN>#Z z%9hLb7PEHYeXHix%)#xhAZFW4g(7CB9gM=aADohX!8qKgifi%8Kh;Xb&E^{)vs>!b zkGYy0+o?D<&oh=H9rUQ6)=R0695_SMt?zbCd2_p~P+>=8?(G;h-_Ijc6Uo85C)bZ5 zh0K~0Wcz-C$w3D681PLe0ubh&Zidk!u{We{HqBOxw?YQW-DHhz(KiQzuB_MWvr*qg zeGLZ?ncUmjetA2V^E+aMm58x;)536l}I=1YvwCSHL|3U7+7sD;rmLs?iQGq~dvsQ(1W zxbOL5-Ch!q8AV56yyNqoB#}H3^@ZgG3hTqlkB)I=pWC>}1bR2&-o=ebZ=0j&q5i{P z9PUdGdek+_3E~8@iVy2XkSl-R%_dR()Z-h+{d@cm^(|K<+%K-n3@q@W{dAVhC;s-` zoy#oq37|X*dB10>-zJ^Mge7fHHkt}0&6+CtMozbE2Z60pDX&zoEi(-{_BToB9`~9B z??t{?AUE-%z521n5;L&yD|825-!9YqV=(@l?;;D zVZjlG3d{4V*^x0Irm^G$Y{CU8URkx_o7su2*Mr#mi#4P>Uq;^)*creg(aP-Z^b|X4 zU|l^bSoJ}@_}HBAtm&L6C6frPaB$V(a=N~&=n>zgvR@}2YvtdVtdl$tYK_-I%8tPk zYtTLSb<6|EwZ&u5J(r7q*)t_qQ#WZ|-ymKUdwI!=&?!($HWQ@8IJz0CIukJ9K^t(? z^XJgzC{QKbMq!{>LT~adT6v6}rNuh=%Uwr+wns)yeiibEt|?pEsZcqu7IHlhs{I*I zC7)ulbBZpSIC!gxGkmnD7*j7?!XhLZ5ooYP59Z+1~lERt~&& z`Y|GWwQ6PYqonz#j3oaS5L*eMREn3~JHvHK{!`d~*`~jr)ci%R>MDc5odb5PAbSeY zQR4raQ_c4b52RVBSR5zj^0gDs4K^@|f$Q)*nfN;Vuhs9LV}AlNYUa_IU+1Z$p#3+8 z@)@t?&#aayQFJbx{tVz6A*VlCiq=?!wt z$SUqR##WnMOt`YEZfeBJ>So1SO>+E&WGi8gXLB0-^KkNB#NR>*x2)rRvs>-mzM0#3 zt&Vv(b;rAo^2PY}!;R*cYmwgwKdxwQMH zJVD@$Ce1^Oll4A2g)J}FqP@0pVIJCW$V=RyN!X{KSvHF~v=*fWcL-ltt`=c|x{Fld=P z9B~%Gv)N`|{IP0>GXP`PEyA4w+hS@yOaywoPj?cz)Hb8rr;AIaEDr<@d0iDz|`=v_U(IGv_`l zO|@@#b28Nm#CNWAUw8?P%`}c+C9~P=4t5oTyjYYpDbeekj9>4wBd&Hsr{i~`1MT{o z31KLw=L{Tj87CXZG5*5;3{6jyvgP!SCO?7-G)ppGs35wq)fgZNJC+$mdsN1%$` zBrNc8W~-mAH_A>AO0EeO!=}r+Hk~+!$^dO~1or#B+x5LDz+xbgZXP zhdEA~7JoPJ%^*}&NoT)*O_BR?iIp-dL4V#Fcua$~yD&k+jiZ2MO>)uPe1Apx&REr-z>zK;Zpsmc1tP>NKd?){KY=-@GxW+*kR)@gpL1l`Zm7U zqzf+Odmprpf!Se4mLFH1oP3q2`8?Feavo=d(&P4X8FmV2YIOR?HkRDo4qCCguv)lD zISLYVOqj8uE0jD1nUYyGwYwTN?6A!vU+az(NWRj^^mcrg4O71ku9_|G^`hQe(mSOUgVJpGJL$)3(L+Z%+?vR()Y7^;SbyY1oOv4cT&3J8c4f6W?A4&E~IT_G!3E z7go&Nn5K)w3(td7&o_JCEQe$0Xzi;tn|r89_ah7JhBJSq{kRaFfM%=s*Li5aIqXMe z_)=?eN!qUN41FyL(!*Vvz6#^O5Q3isSm~zdIn$puCvCs2(CGU)Jl3MQhbB~rnMK?V z(<4Sk4IKK5cHWll+p&h95p*AHu#j9M3iI7xE|RZpdU5Xk=I=mgdr3`74l$T%<-+eZ zJ$yhaqXeS$n$fTmQa$SOWk%b94lgvszjGWpa8h(#=g2cm9=w%BCn?19byU!j+B(b2 zDwquD2yT`f3FVFcbX!nrrg95(+wxr4P6PaW9RTPW;KQb0`P_N^-tzL@DOlScWtmAKu&&&1P=r_D-v)M ze(eJNi^2#5{^&hWFvf640L%=qofp86RSE%+^Ds%`4Fl_^0)~e6>2_!HVELKGkcy31UPUMa*P`TuEYx!@k6qFQvZKBj{h>X8VoD= zmO-s)em;c$IrlgWO&aJH0jOg80RjSu`)Y7B3>g1W0bzhY>;0q*;J>I7^4|t=8+>8U zVHwys5BQTK=m$6PO(&{pocGDgahv$yJh@GQozBb`WAgO>4#8p^9LNa&Ird9`ty33= z`jQXlbt(ue62URwcl_y~6tNo1f|X2l+1F94c>;3$=43=-23tUp-4+iTqyh@V?+I2w zshjy~*mHrGYG-{K zkaYu(@5&8Ol$cp6y7XJH`|SeJna1NFSjB#k8dZl(0nsrf?%~T|Y=1-Yru9=MhGYDyO|u6bjoOKlI8AO^RZCPzbYE%f5_;}oRj1hiJ2O{&|val|g-Z?!29aBNy& zf;HK9LZqwLypzCHft2L{j6Q+Z&6PKoFEv@5EiC6z%L2c*PgZE0*DnkO>A=4%VHcxj zU^4e@6SN&Dvw@eIEQ>sB%f#@Lx$fs$fO}NW9t^2jPA1BKw@)23F?O*nEG#*Fq~_Pi-KjsX&He;xS~+;vH|ioMhs$aW3zSCeADh+K;d~+ z?FM>ULWx<|UnRhMoiSy~8H>Xqo%!iyO;Jytuh(^^yurDkQc0SZ54wu=wnA>XVHKvCWt9ycjpFS&T8X+x@p#lsa2SA^k1wC z(Yp`4fcIy7z0*1`#F@T-G)9O=ih+YD3nbjSS$10#X}S^+8j99kae5Rs(nJdK^P=1Y z-OWaN=g*94jZP9`zGrykm3oZ>Vl5!WAQYHsE+rDDMLKH-sfv zWZ$C1BxhPD2|ZRwN(*J<0pXat=qcS6L(J}Q5}vj4^P6^PkSq``xT@J!qkA$JsVBFv z5IFc`%~WWvt=&Y1HtKGg8=#r>~~M7|hX4b*ME>JvPw+ht6;|x-sd7 z9o*byrV)J)YOgN%Dob>I1%nNa-LWf`o2Hy6oW0oY5!g03gjFRkB?iZwMlT2sQJa06455Bs+TS0^EjRIdCXIB#(q^`-wp9VmD z@bam`Y7FMLZ!G(dZca!Kj{}zyGDFCyUPTj4^Mt1}0axxmkmn1y>ILzz<>xTZL=zzw zZts%4V0ja*IMlJ)8hw(4q#3&E&T${Dz)wqzv!l&>$YQQ;SCg$Cf`jY*Vy-fc=*#j! zPOmjY=!l_*U$O)rLd5w7#1U=;b&Ly}k@2_QjHk`S=EZb0^&3lI#`DQ=%Y)8%y(=V! zD7cK!^Fm?NJ`*mpTa2r$KF#ATR)W(|p>KIGu7ChgFMYUGU-YWQ^>7ch(cZo~6rP<2 zHba|G-X3oFL_L@mK1o9?5UgG3Kf%~v3%EJ3R;p3B>$|apZU-q&CzB9HTG};)2r(Qw zbMC_4W&+hkkw&K1AH;U6mW<0K=0}KxaDN^lFT%e*loi{?FHKVkA-R;$d^;3pt zB!*cyimn_S^0Ugq_@(#@QXQ(dU=vUhu-ByH892+cB8hN3#D}QzfI->2zQ(v4d*jY@ z^*;D19J~b_m<=2SC}y#MO#y256R4qUfgWe^j|TY+2}!e)ZAaQMyzHA5myK7b#h2^p z{q?lo+dgV|%fci<3$})8Ds6Xt~3dE8oOeeUSiCmo^= z&x!QBv%92|Y}H&#+m*CDeb$GfBbjSGuD*@6)`1CqVdT|_QBQ2}%PeuZ!0BEyX!}mm zdaFTyjh(BvzL;zYEPBqR122~Gq*iP};UdR4;=vFhaH<&3KzYq$c2N6=#2)m1smST&!^ta#LA?%-rI7~()i>i zG9v44_v$ibZy{N@gFAJ4hqM)2j!|-KVT6B(-;88z@N3K%R{meFpEQpVwMnhe9KFU> z3wKDt88Kor$BshO^nkUr=S!*p@$bC`JUCn0)~tteQ`R>I=-d*u!nBlW4(uAYwa9cX z(T=;!{T9IK?g#cq?Vh0(a)H$Aa2w4nVvJ>hnryHvC2skBS%H`DKYgiIKYyRUegOOj zLSwtjDJFJWne;FK09U|yvRdTNJ}RoSnC zl!rRH++WgEx2WjtUNJkXO&XN9)N@&8T{DC85Nn$eM%q4D`MZlJH2KTl9ASC$pii3W zp9eE>6uOn3k0EWlid}W06N6xo<%zyjjGyEuCT1T`OBckb;)`%{A+; zky)L8rk=U6;E>^aKS?5gXp+)zB;j$Hx9x<&f zc~BbCrAJX2l>-v38kYmJrA6Os3^Rk9gEkr+3^6Dw7hIA0n6?ZXxgF^|+bHr8R~@$EVwgDgODb#yyewySiG|aqu68$=F7R+du^SeEaHjMbQhFOS zRvyRHR?UKa$eA=$(KTTxs_z~RK4=^EXi_8V~QBi}zjCEl=;4 zBB~bi7Ts*uDeOo(maP+p(hQg(mVF!CkOK+f^Q~HTWCPd=Oo>!Dxck@@%2~0pnlsbH zVDj9L04vX1J|vT>3GZ7t!skd!F0&OJT^7EgDD@xWJ&w-hU7TdM*1=VSzhlb6P5DB% z+fRkJ#=D!r2*f*9BqQ~~&0KW3eWj;Hpz~t65UH9jou72ih49)zSHjFy%BrQbg^hYl(r9VU!CsD+@UEdC)0{- z%A>LiC$n`)kF+xpV7htLT~jv}GqYzQ#;G+S~2B-oJ6wYf#)F-35&4Pv|36Z8SW9ATdJU>@nwmZH?xWbTORU<;3oCF#leh1Hh0DG3ebmbrT zO3(d)+EZ$?2ltlHQY}YgvO(7sFIgM)Sk-?mW*A>~9!*2YAZS1^;s15e@^~2(4B5yq zR*EW5tTQFoQ`mNK4m~M!T}G1vc+TcE;q29i$PkM+qb;|9K#sl%?(a)JO(P;9cH}e% zyvqTqxKMGWg4d-c7kdVJSu7qrne(LXGcfs}b6b5$4)zVUg{~U@dmiD{XJ9p_Y&q=n zdg6B2cyD_#tJS=y^|4^9E^wVr3fu2%a#=X9lZTl1hWr}vjdPQw2!MGv#T1@!)SDF3 zaY1|^DF#5|S@kbwRnQzun=t?`>=QL{N-|| z&I|KUT?gMnqfN?`4`A9K#21}qlw6#jZ=;7gq$2$pFQ`B*BKQgBTb`Zpv4-ixo>o<_ zB=3=OqB?Y9!9oH(cU0)Oh)=zXsRB6Y;P#6qhcuv;4#B{IX7W2VuO$cSmY-ckoXX&o zCh1!_P}00V2Rnq&MKrf&R*z6?;ZFj%j6#MFC#rJk5@zEvt(^@K8zo9EFvKC_(xyj5 z&BI1&6|MR4h#JHS3-7w?e7C^8_nFDZ;N?ijj8>#x6~PCiCCuI|&^z!qA6iP2;ErdCB!+kUDcWw=6c&wWP(N9<% zbh~i+2=4SPHupKpvn=DZn_MQ-Vhr&|dF;8uxJTItV#A`fMn;`z4OFn6xLTENCf;uz zdFDF}Dwu|29`P=sw&it&n(F8tz31YmJiLA+ERG;uJ)#b^0^9~CV#LM}^+!G&NJ+Jd z$>k{(>F|=#MA%178qA{puun_oMO<0Uz1t4V;=gBNXR+-bO(-_k6sN?TyL0;I5kUql#uy3OC<#(q z2UKsFvz?_!g#3$leaPSKYcYH+VpKu)dtS>_86;6>^5WK()7r>r;vtHAHjUSJSDC5^ z3C1IAx`{CUe09kO>blEbBrYqebS6etjumCh#qv~)qu(5>7=eZ* zXw7f3+mDs3m0UU7VC0z=rP!xpB&jL0Ju5V_L_k=V%y}mhJ&o&6|gI$ZOqqi=(DGo(8oMG9d>DW1R2!V0cBF(5?_LP zlBP2Z=O2UI>~3Tf=M3m6@ZC|zo5#JZ(VZA6I;O6k=bX3fY}Jh>_h9PPw~8r2;z31t zb{4f`zt;hhHXASt84_0%jO$&snHXWZ-eBgD9Rx_5a? zSM4O(SYE$;1y?n8Z@qa#>;&?@i)-7>0S7mq1Lwd1;o!G6VJ*Do2U|%XWpYqW zCYX^9V~zDbW68P^Eiy%us$+!DAXTJhS>3|X#PL9NEEGONBNwhH8TVT{0DMZ;Sep{# zusD;0Ro;cnW3A+wq5~bS2@6q!9Opnt&r>F-H5?9xpKppWjCP~Vc9hfYZ%sj|dpRBk zHETOCJ)k_#ygW0d;e9RkN3hpbYtVeco`Nkt3pY-!-%IwS97tB4`MINbG0wGLd!RQB4PtghGLo1o48D@jhB$jO#FtCw`i}5l zGY{+c#IA2G{xwxE9q~8!$>6C#!rb6a8c7^di4s*hMOaG4gxwm=OUtZ|0yLR&a|Rxt zX}6Rs5Z8Wyae5`qxT?Ux+Z*a*r~;TOfH6N0dzyz6CQEdPtq6zdn(tY3(`gZxk%+KT zb@I+`b~WZguO%B6;kDK3yF_J&%tJUqO8`0MYV4g9j0x4+&Sq%@Jx9Y#|0nDRaQhS9 z4A*^uA(-@@Wun( z%tWP%q0N)8TtAGoC_t_;vt!Nc{i}e`cfoM>b?JKazv@Cg>wN>d&o?zsDT;K4-;Vdy zF@}~j15KmZ$ikIFqHC6XO?IrS25H`{4PC67Fi#xEZHhYsqXmpN6us!yK(^^tehab-j)x+l3?&2gp`eysI7fl-{WA8Z~?zGoY1&KLqzaik)xOP?-57 zcsTP@++J1S!?`Hfj6oLt8pP0Slg~@d$5N8Jn?bg373_{_NYxzcMk4vhj#>8YiMy$r z=Ez2;Erzy^$RHs!(EA}3o|*a*5^D|Q;#CGIeXY8?V}z}{cH7xLb*qd>9q4>Ft=FRU z8&*-(I}((cHVG`&F~U9ejy@YYhg&T55pmZ|h);D!qj>;N)2n`5qXdi|@#(Cz)(+-d zw|c6FcHQ1(N=Wx~dnM~A=FHxK#~6n|aBIE*nJSUuRH@K*UpJ&;6^t4xJ&5^Tf!;## z8`=XNVRxSyQ6XNT44UoVU~(N0#c2|-pn7j>V!gR&R(S~PWmC!%c2T=N3RlY4$HBrk zX2Tni9ou$Ps>biItH!Ou5 zVx+kyM}s~5ACW&I2J6RYA)&Bl7X08KR6C5405!+=a~7U}%lQ*I0U> z{1U}`oWG)rm+t0sOdfb>`&9z_?+~n$xKv>?>eLY*Szd8N({c3Kz^3GY(USm2zWKPl zR$tsMpB|NQd}o~n)_c=E5Ov@}Wr`Bbt%YV@J@(HqGWob;TFW~t7}|t2qa{(K>)5zE zy9`dPI-@9kqXt>R>R=mskI0woTVto_S@YHUU5_%HQXZhFcnG2kb7R@oa`P<-5w$BXr9p=n8j*0;0&l;Mx@X&jZZTok4$DctsE}RpUC`CLp z_0Mz<$v&El4IS`@ZTgvY`??@3g;5yNtDWV89(zt;Vys?n1E#xyDv}|}QS=Fsa}^P#t#G*V38c`62CFkUuck-C7$!X%%ZceI(w zoK{GRSD<2yH_|fHe!rVz{_+*dZ9%#884Uo*ySmww#pmJf49r zDh&sXrmoxTeCF>*lLb%3q~t#2pr^A!2rJBT7|?ps!Ql$?_l|^^m3Z$&veG{*T+XB6K&@|STCAd3pnR; zp?9;%6!L4EnQk?(x=rZ_9qvebP#91}B{22O4CB*ttLF~pdG>G@+wsCgeeUbHS=qg) z%=+Cf5&dxAIQEqq#Z8mEr0VXQ`@tf@d+gg7v}}(J`^{a0TTL~Il7>4WH9Z$x0v_gjG>5bzy`dXCk7lVkC-i2W_T( z{&&E3dA3%zR#(gSVSeA4 zOcgf=v6KpoT>j-z%SXM5_+7+yO6_jB>RvX^av@O5;h!!4~jim(-=Rvw04#S_G6J3`@2)(`9pL)HbI|H)%lS~u4=)*r}ucx=$P0zz! zkEg`o$#o-Uo8h==6($=JaPI-{42l51Lv45l8Sy;4RN7^o=8WAHuCFvrO>3~EKbmJw zWSDQI^Mo$hjQxro@6B0_;nZEo$fc3aoACR&W6J`CHqSFeO}i5( z!CUCw>JVw7-p@&1YXXh=H}( zNtjLJ6TBw)R%_NZ(Ee%i&$1{iA1Fqhov=+r&U(!n7+r9euC7U z%}6GK$2^GGR$g@krb@pPxT4J0VW))Y$gKe@W)0bzOcr%!vVFMK={EBJ#%>Z;BTX zDzZJ*Du-LdVW&wNny`cOl)8Hhj^}AR);bZ$0Q~=i1;(d1nxdoV=IdR1NLcGOX*9 z%5~Lv4e5ZLNu7=)B&gn-&RlJR?cEOmm2*&A<)G!}@awrZpdV5(Qe{IMm-&jg?E1ISS zy)*>cIwz0xH*4e9s!|q}=#}$Mlg%Njf>O{EU7ncml(}`oZxFwuyTpPn9PPv<8IRb} zvD1M)i*6u?q10}qXIG7)F-u3#aYG`ivZsg+yAE2nsnv*s>+bMWHjSm3b5w{r2hG1S z@%^}l_cM`*YB^)U%)p=|sGcWHh*KlH-S#uKZ|BdS1KJxJgM`{mQ3eT?`)>1 z9csyDR(I0mL}NHKOFc{*<+z37m1W9h_vSB0w07fvlDP)n zb&u{H%I~7F)n%W4`^W9I62~R5q&rz?Nap9MDEREmL1lE=;JlMjezkWVSBjmphP?}J zzi?jO$5^TeWV`9U4>t~!)Mi_!u>A?$xbPC_NV5G%u3al~Tt?PIhxwIZ4FjCqm&d{`OfInnyu$00-K)vz_~GKBdrF;oVI=XgU^_KLCvFYBl_ zk1H?2=v&4DN-HfMcO-t%>k;NrDxn6TE|NencfENQ6|WSlQ+_2Un+;s$9WLTBWL3r} zjt8^4c&|U9ity)^_s}H%j%D{nIYfrt2d4faZ8&khzn>g6xE6-~Y9!?tDhIcnT>;TM zJV+w@#aYoFhkk(9IzJb>)q93(l;LcB;JR+VEW#sH@e{)`3sd_GeIgy_5$oQ$FD{>> zskRYiY<>3NPQ_aN?BA}5yvyNuhuOz-kEpS7FB4Opd*v@X4UpC{(Q7do)=_|+Y_=UL zoyk8(V1F@8!k!g`Q!%171{Z>aHb~>n#33q;o zLM!OuXSRH^$O=;s<&1YyI>tS>c&5@jG{^YwJaVY^Jc60zUckMb?58h#Z+9dXo-EfG z_7`SxC#JnkFpVCgK3Ai<<^9lG;sXriSr#qQaf0g9`6N-EVqdH;dDyZ&nX33 zRQfBIU`1yfsRMqMz8}ybQKSvduY_ORuZWJ}*3NN))+E)tw(6-M6XXUorjUD2DhO9- zCT%1%JAsY&{chyaZqXyz++dv!6wlS!5}yI&&jhk&QM;2HAVk_z$KCB8aBD8I)r>2_ zk6Mk$fkwF_!@fnwsqk86&9JZNi=_@#%hGo*%Jr=s`Ai698PaVZ;~=rv&jx0coB*lD zkY^J?6ggKB_xt`lcxVIB+(Vev@gQVT- zfx3Tf{gW=Z)PkY<9u-Zr-S{rEy&iT@AmDDVTO70d{)$GlUhPN0_ol$4-T?AI%nAMS z*pePA=l?HaYS&A8bNnDe7%UY8X6V02W$u{9$=7C%LBPq(h_M0b4CqwN z{rH=|*9JOSZV2bAA=@<#!3=^YMTiz~5}%6HM;>U3yJQ8TF6HAT>QvLa>18I|2N;ax z(L?kC0fGy*7MccE`+eip-ACv-zT*?0gTU4=y$sRUVn50J&9jd8SS}_l+DzGZQX*!R z)NtxxOF^Xaw!BS_Htk}ipc+&)m{X+_q|RVzbVI0IoH$#E&G#w73m`d*PI8RQHg(#B zRr}Ob;^3S08hOW{wq=$RSL8_q*%{N>T>qg6HeEH(FB1{Qu<1B3bL_Lf>t?^ILe|=i zzjDYwDc~!HbNAIxtBL`ym0pSnFWh2_eDbopAM z({+koM{^w!>VnJ7?x42a`F}rp3{scH!Jx5)*!E?oy;O+PX7_tevIOXNq}M1!u~VU; z`_Fs<6X*I9ZWz5UmwsL5(@YC>FgI(V;1UqwuRKdhbx` zuT%Hd*i6Vf=m|vBT?qMVD5+H!{VJRyr0?$8NOHg!tb7fp>QI>rb8wC8TBxlr0c=&g zz&Y9DuMMq%Sx~Z`SfX=9lb1>$ZUpC%HcNt$vAo`mUbJg5snQ&y;NQDaJ-6J%r{{?lZBCIEA#|tg;4mXqq<0!VW}ir7(Uvh>x3YuX?0OA=9sg zx~o>Lv8pRd&wD8daHTr6Tg?t&sA?`d?r6Np+b(5eVyu^&@J(6jx4bau)b`r1Ueeq`*6wJ=dOIX^JIY8L3JgN8u_=I!eCD3by4Q6jkF$bA?AXh$8Qk5 znqZLiU!+mGyS$7$lDx8TL@jng8x5?_F_bSLRWa|aSFnG{4?uo+ogZj$Gq_&9uy($m z5x7msUBvcS2%p(KcVuEJBkt-E%lSukv)=vZm%}ohI2pTQ*TnFm zt}rTIHMy=U6wqPo63^@#j^(qE**7s8uf%i<=y|YnxZW80uzf$^dJ&gYOLO>W)dTts zDd2;M=az3hW?y9*8X6yM8(7Umf&;z(bU+1U1t{f0ixHYHL3|6-C6_O_ z&XoKcVJbW;UQ$#R(UmdQUvFma5yqJvN>5E_MQ{B-hArzTzEAD_{x(MAXGWZ}eP!Kv z9oM_QUu%6o=O@wx{YghW->P&RTJ!#7dnyt^gpddwDR@r9bLDKRxhoyma>#MN;L19I zO$)_6cqJbnupW;|pByZSkI6^ssEb0FajqUsJXt>;!C_o28{a=Xqu)<5G;a%&k5j-vJGczn2 z$3ZY8i&0W};njN2;8WhiJ(&Y@1-BlofWdHi69Y#K09Msn{OEEkBFX~U)x=A-jYvro z+(dI+mr1r?3O~yWuoO56Wg>^cR{P~itW8dDkj&-`EHKzf7!#KQ_u2NySiAGY?yC!v zTIB4cMJ?wK{%}9|)Us|(o~t1$717wkk|=HtC2aF@bHqeF1T^C)cthGg(;on-(>|GK zojV%sMvR2F6Yu;puV}PH=OHhVqw5MqAn#UvHwCRn!1hgl%{})kwKA&^>EQ?*|w&)1{ zdi(viX8ZWT&u;jm4qAAvvqOkkU#Q7&4M(XU@xF|b-E!H&v$CnF<)@8J#$^K1!s!XD zpavF=uIlMJ4nKhQ56#z3J5muQ9e^mg+HJ2PQu>9^{VY3;c8GZ8Pe}5&uNC2g-))2i z+>2Tt-COlCE{jqxG8H;R?}3C$c=vbCF0w3{WNT-bhI$(IsoOCI_h|8-_w?XYK!e^t zqw4j{a+lGQyAmm%4SZHgQ#A2Cj@VEF9sc{gTRlfI;#&pfmCrkD(8`VvR)`u7MM3oN zm5cJqWihUa>OarLjWV~w57i>5&#=R8ybR8*9o>ZC#@0ID3{Dm~X~V81XX7CtZR+i8 zaXj=`MI%$EAMhSt+^j6Utn4@GH&c{#h(h2_|nH6S#-6>GVMVuN;Ih@ zaB*vN66o}st`H^iG!QOc`HXoR51vIFG@g-$0Pf8$v?(jJ8W8WvD#!}&meDL315)B+ zR@HV9YLQ5eA+(@`{4)!Y#%Yn~3ul<$U6Dd(O~+k@MYr6cNYyT| zIY2I0L#8?w#B7~yVsMi}+|;ZzE=r7gs^?*&>?HQz1c`5Jo!)+&q6TKBgsSf1u0$?t z7Dm^j*};|%Jf|wyco$`=Ew^OQIkDOGG+}NOohtR$CFwH>E|F|3eQ^Z(kpD6!_WS39M-_P`r__`WyK+6d~56T zv2R-gpEANdBxEV}`tZs`sb_r}ziYGn;Gbzs6Hz`y1nTx3!`~(aB)gl!>V`+w$1Tl>u>8L! zS#e7Ep;?uQ8SR9`w%kwX5v0>$$5bTE@i*g&GbvNR+UP^2|Fo1XU?G?druFyjJubQKqxU)g4=X^K&2S? z@b0hSRztALMZ#mtEdLyrg1%ai;m6e!R6s;=`-RoSP(;*hyA;sLz4bu*?op%9(^xMk zrX3RXM-PgSrK(L3c1WP!Iqz;FifL(1vnf&HTf-tg>r~^rn;k*qJ}Vh!`@%ytKT}r> zJi;M=De#~#ivc1P@4qEG)EBra6Hevgj}W#6UH!hlXkF7|NG$_tlI(jy0xQ&}1&$pO z;4SP@y%#zPCB1_+p0L~Z;0p)r3&Y9=57-g{&&5yQ>$4C10QvAf2cNLeZ}LACV5JOE z{Q7J9oH-xS^Z7^fY5XvBg7Gtmr+C>Vmme|{gJJ{&xEbGch8SR z0Lz#MEhpY$Eta#{=(#^9lDbw*6qFTq2Qlr}R~XqL6$XwCM#ZnXEax2`*U0d-w}+3-Blt8 zjDh(jow}QPdaex_1pPP2gVUXHC{?kkTnz$*c{g5fYneoDoUU^6UBY-Qk(N8Nbz`l_TNfNG|TuCW?3}!ie}D`8fjn&h(Ie zPhKFJ0~YZX=ybA&1y(i)o3=+|8(gm!Kar>w~6&Ryy@bE1Z^ z$ZA{!J;3*{Oohi;7#uR~h18l9EVqs#tyji5vf?tU?#YHEHyrW|wiatgm^e%8L-K}d zHK$-~YtbX6`A~=Cx?MGemxaem0T)L@X8ZCE8Kpy9Da>1Q`iK1c@l0;6u~XXEDlZd#JPHc7U$6!^yej%)EDw|Hxu?k;Y z*O#{md2M8l3&NXcA!_&0C!ps|d-S06*4iS%ndS`q&Bj5|79ji9u;lCI;;wSGLu*d+ zx|I+gex6$~-%*0)w4bb?WPpM1W@bR5+d2=>e*@iOhn!C}jCC*3bA0lC3_jRUIk%gw3K(fg7lgVuW&=#H zDo+FU|2XdX@-y7_`fdDS1BXC~YE2ppNLG&*}&?0huBlKModw z8sfc4Qe&yf%=>8@z8X9}#BRoPI35#$d(N}0k+h+$T%oHHQJZ&g80a-`N+|2b8fs-f zwWR#!hL*2LM#sw%RXg=!7sLIZ%l#xh)R47R4xZ^2v@c_vBZpWjRE#V3(SBC;HR#X1 z0QcHdp|BNwILFMv{{P?_HINWEt)4SQBncz&aA~prHa8&Q0AHvP-uZLID~j1S>v1ei zzOC^^siTUKt^G{fMgF)1t-K!)Hor0t^_>yXRuQy8!@t1ERS;u8T_^b(ciQ}5WeyP4 zM`L*Xzvp$b!s+PgimDsx`ZBr;Xs&K)iJ>I;*Vi{1CA#(xFuOFnteOz7@bot@Hd-d+5mhbi~8zIUa4x<4ci>ssK7Xc*+mpZ40A zC{1(5MR{j}dbkHZ(CQT`Z`>Jc3}csIi`CnY!O7D_W_O}VJbL`O;1)`WHwmh> zNVl&?^XPtl;>%WycOfP96b(iB>Hb@>FTd=vE#AWp*oObOz-|bh9DM5!bXibVi(g<@e)Wc2Bed;Z zVaB)jLxzoQT^M4xm-mbg8bv$6De-+*LZ0oi08ZA_i)e8NffrJfc%Z4nD!aU+Rv0tK z0=ZP0H;__C{KMh!5ztszxtNOO8gd)*47e%=Fpc#9;glbkS*ZaF#+vf%r`d4@t!Z#B z)OpcbKC$gOm8MGW!nWvGbBxt{w_ZZBcSpq*XvyC?Xw`2>`4VEG2)(tB zK{+v!+BI^_A_{EI)IPL3S&v#5x4EwKFNF8I%p!J5ilx%Ln%xr`gSL0K z=QM(#zG+`JuFJ1|xwjWOIp@HwA@Y1h_1*Ui2O>LE+3QA1ny?T!QdAvm!Y>cfBB)kA zy&no2zOfL644l$bwM@K@Nfa>}&uXi-hk0=F@@kXF^}C$S05f(O)KlBs7F^u;96E*{`+R-TjBPizgETLs>Z075{$zXEc5 zqd-LXIkayI(e{aFg*;@ei*OjtBh^ErnKtK{W}qk1_tYhr2${iGnu8()#2x!%*s@wh z;LudeWJu|XCYBmVv1fB0Z}tP}{_ML@aKwSq6Y?g=1zj{`4!D*Mn%eon-b>KP_(?1_ z7IRyH$e?0Qw@f^@KJw%UXhr^jARWv)S+2y6uUXBe+C0tKerJ}v?@5*RMPc_z!wQP3 z%^&>#fWgI@&RyHWk@O6grE_D|o}=S|cx%?JE`WJZiG+Jc3lKS6tq(vi*iJ{Yc9tI2 zozZgR#!NRUbb2TV)JvEgvb8G zIecH-T!j`yhFj>vH-ypd73XJONXFXPQtY)mP96lTC29kPP?C6y*jIEqcE8oaSSS>G zGP3v;G8TPBQCJdVJ%IHw36-nK(2JR*_mAQcC5Xp6jQpjSuAU+E-*{AH^?&cPsk_R*xK$Ba~D!^Eh6|Wa$oM(5m3O_H5cefSpG66AxZkL9S`C zmF}C04efdf+Dt?&;ZD0J;)3@)T_EBd^Fb&|DCX3qOxG-7{QBYCkzG_AqR`ws?856i z7Bciq*QIcL>XV=g&7iKzoQs3n84R^+2Qh^t23b9=elsEgky&l@HisGXEenhe*~wFC zpLeue?JdvwzqAq(8}$Iw^S^i;bpHJL^XI@1ZM6FLt$a6F56{Ej=K1*jy_X~vA8w7x zcb!mmp=aT<_B3xfd;0Gbu~vYx4a!o|!{D+GROVz;TsiZL4m-oCTyo*qKF)yYskx!E zYHrJVl54pCg|VtBowq6<#>UQAh}My_CW}Vq{3}H}&N@mZFKT zx*YkRv?=NxEmrtZwoVN_txu#OtPz7Be4TeEOkQU6JkKkpBM%*m*r?_uS43J$Yfx=z z8Yb|ca*ZBzcyBM05_A`iK^G%;B}mnddb|=iZFiDUH=80~e49B%g}wE$YFBsLA6UOs z5w9mQp$?*=avp11#Lo2ZM7TqVs1l8Qezu^JOmbgNEs0V^j%D;^%C27BZY16{7zajO96>=2sks1-`wgseZ zZgl8rRRt9jbxEOYHm2qs9&qsm1A!dXz!a8EItk zb}LvG6ADIK*eZv+wEo7*1@$B5q__we@z#aRu$_+vqSPVLJx=zZBU57(2egGc;fB0` zxf8zMWrDB{C>x8Pd~h4U?HaX5KVd(t5b|5HU6~k0{*;Dic036?!?u=^U!G8W(X-DT zh7G9QmG3(U!1W&`gHZQZOSGlNMw{|6dQ)q4?T5qB579jk{p?E{uK0yZ`tHMi#3!D0 z+n#lHOsye!bF$L3%w!r6AMsoNH~Jgs3OJr=f*cvVrUbs{$j*1taL+IKswfF|izfY} zXA(7Gb_S;=wQ%{Jr6t2$1&Kx4g8F{gj^ka(;Yd7)f<>C8LpNfV%p%Qdud!?4=)0gy zW@cM2nhgu*ZzGr(FjZL{dkZrdi?}g({P&f*%b?Y16#wWXtAVRcVy{ofNJTX8+S8mI z%+fz@)h(t~-F_<;v&)0;CcwPfj*p-~({Ed#CW$yd?3>e`D_PbQjoNmkF50(56qZz0 z6Zo9A+i-j%g*2PE7P7^N#e6yp4|fyDj+kmm9~ZUZBLCEUCz{e9TPd*|cx*#%==;sG zrBY)az6$@k@`j98;BlY3ez+n$H>9`>{^c?g+Gd|NriVbrPG(eQ{OBN*Nu84b=*%qw zddog@ef8!bt~B*Vu)voJc$!6$wunasscmLEja8urdA%1Ux3&{6vd#};$ghf1SrDg} zdjt?NMsCLiP|MJmWA?u8^aam9&ylHR4u|kQeE1&&I&G#;crGG;Ti$V-@2JKwl27wt z*W7PL-SC2v7mVWv^!Xt0jmxsV%8QHME4SMeza^Fb!S(IBXoLc{#r6}2I!`4xdeF-v z98-hS^fu}lOp#?$*PwZQ91%q5S2#1%$Jy`H6K;+e+bcA~L+=$eSm8}#Usva$pAzZk zyA(%E^gKS7SG-yg2iRMcwdR-kOl}ranta&z7#WjB(8aN>Irw?5wuVdQU4H%)RC=oN zp{!Qlj_uAj^rYB~WeFNXvhRdRyEV3H<9HkwNH1S$^f<@)cBxps2Rx9F5O4YlGlsXf zuK=z5_^LGlP(Ud_W)T$qy`lMU$eY`Ey6)Ddhz_y=F(98W|evF09 z)r83^+V6@)J`|f{q%?gqN86ZdzpsiCc9wRfEbjSwXYXz=o@+hiL~ZbH_V;*MAIsF5 zPD(t2v*q6dLy5-*Jbr4=G#F6VIqR#6r;y(4b_jO__Cg7|ly>zs*}@9|_CtMl+OKlG(~7i)(*r&#-#g4e z-*}Vzf4@?}YC-XbQ_S8HsfbSe}74nI5SLS_02L-6sq_J561M64} zZbu!T1fgVF^$E8VXOo+~tF>`2e3OwBGYN6sa0`2Z_dI>=aqm`q^1jce1F05fCWzGH z8*OzU6=`3u##rw1P2XeozYV|F9|>ek>xARaMS%fgi*8^`HZEZFAEIo~9bl+^TGt#* zr9N4JvvgGR1Bt!`U6Bjkplsr<6O(B!D8T*)zu%3241+t09SAAvdV@0}czs1|!RL zWWoj#!0eCBg9Q}H@sEq5m|YNCxp!VHz41D zzA7V75BF91`H*4b9|I)0-8{30=)?FQK70>>KR$ck)gAfy@6tZp@ANETBHv@5rrD<2 zqrZTQ3CI;5w&cPk`_1h%lpb^Go{bY;IwA5Wa<7rKgE$(?R$@G=+k>tXPfq%-X>(ah zLW!GP)>p;t*Zi+CFcn+bBP()rNjk5*5XWI@HJW*{5I$;N(=*nyIgX1^eqDwM z)wcLT8++UK_k7cS4A5D%6FoGaJDJGU6GAkYCyVQ_%(#wdQEk%>y%PL@g$ z+`SL6(@cUyQPZL;c)7TYG&hIDytI2wy`wiG=W0D?dFcl5NM_osg*E(f3JUqc7Hmj+ zHMDlWLJWZC(;|GN<#TT2O86XVcT|-_4o3J%tE4?&_vANq^F|9&L<={wZ~x;rjzG?-Mw z%r`I7ZGG<*Hfp1#y`w11%%?e1?9VE7Whj;0q1|}C6Fm?qwVQAdLF0onQuZq3AhUZj zEgsD%;A^bEHD=VKj3d#Asq;us?B5_Hkt$$ri63lQG%RpZTdZ4ehS;18cIJvI6)0qidOhguvMZPi zVWAXg&U&KnSC4QP19VTB{WOU4wcbD{_i}LO6)IS7Q7H)U3Tm*)ENu8$%p@gw>0SCV zGe!0J3oQMX?Z4yl;r%we;USJZ9Js9DQ5vq{1S)tL9J_#W?)%7~gp`Qe4j1mLQcciO z0yz;dZzCaa`*}IJWqZ8_S|D)mZ=Ulq^fXJsNO3TbFuetGN|@$5JREu4KBwtGfh?EI`1_&{CEO_T7*Vf(|ec#02!Idt=9izXyH z5D!f*`Q&B6E_xw=k`yA0Wh;)KJY`SEe%Nd@lOR71?BK1phw4pc{j^r*P+eo-p93}2 zZtz2smeNDI3G(*c&Det8#PGO`uNqaSH3j|pJiP-3__eCtpDMa#7*H$Wm}m|qggNFv zNWS^p{zV4G&SwZf+1Mg}=!x}J~jslU}((R#F2eYybyS>w8-uYZ9e0irS z(A`##7SDF~K@+vp_@X?C1&nx7oWE%{Lk|&2ghQ@oGiN)eb=fwXx@#lN8*Ggl#7HVb zSq`@ha-lY>!eo@I;TPBk-4A4YsLW<=C){0xq7ZZaL@XDEBD6kJRQ*J3jb`6RG^j81^(C2ZhhhHuv-x#PU-5#9#f*?R7>aM`lZ=CrK6wA%yit zV%?21)@}8vpLU6`DXJ^eY7&y!u&nn7TPXO5{6IK19U16`XX6nJWPWD1z6dFCLcdT59fE+|L`K&dbYpM9qCx8>3p_%bOy_6gbNyR7(!u zRWK_<+XvV~?1>lRADDd`q)}@ILg8$Dq2?ufOP5S}`z_ZOj3yhPAwUAY%~Yepw(soy z4sRiIF#3E#ZeOM*DIC!MI(`B-wX}O3RL^?!KXatJvsT!bQ&#ac_!U`v=P>$AdQ2RY z=~L#ZbZn>~bqCf2IM5a&$PI0|Fw&7Gd*>cuDjXg?Q0u!1pZAg!pJ`}DpEuf4On@WV zL-r6KoKBNk>?v=AhOkx%&h~&%(X+CVX5xEFX60}x^JbJlC(*5M4ikUL#lWkj;RCX@ zZhYgjf&v?w%9c|uvx4xJj3YP@Bd)V-BY0;K%Y`tZ33;pR` z{Lva+rJp(r;^&5#ucpK5cp8+*p4IEK%kNqV1JZp58~O|%o-)Tf;v+YG=VX>NTJr@> zhmzj4bAj(gTvt?7-z30xuOnaZ6i{bF?vbhKC&ZqUP;b)rsa(TU+CQu&q7VGp8ouFH zzRV?`lU|p~$;y>ENNLJy!zq$%g~OvbyhxcjCDr4X7ueY+?VFWTzh||rYJBNAEksUAp4dg&Z5|z6kjSc#t$1kxF!(PEdl*Kv@wQnv8H@CXV&wn;~?B` zT;p+Cw(kLx0Z=~G4U%e(x`2<2dji;L1&7$twLaFZ&g1Zz+z;}I%bMn!TqPst>A8*?*1tAh_H~2jAb^s$=cB(Fx;{kwe9Vu* zxuD_~s#7p5N?6*GDoBR_;$pT;8t6uaL`|x27qpe(#u4*Vr`CYWh?IP8~k;R?Z=`XxDUzaS||s-#ZKEOyO@h)fLNPv*BtfPy7^sp7OXec zL)qw7^2a_ypLce7V}1S*gaCgqMI0+gx!z#J2b{_vk~gvw7(sL@$@WF{hXaeNVa9 z)uL0*>V|FLYUjj~5;_-{MDstcIi1g0iXLR>lx3g6CA2^@Z8h!pt(9d7CTmCwTx1Qz zyAJtCwzsRq3zvF0R_8v4P430AfxAFzUS;8Y@Tc7juVH7E@O3R2R8?lv*Uf%1n{AZ1 zxxYJ_cNomsuqkp4PGHVrh2nElTPi5P2hC`7GiessYyuJo&{P99X!HKycMGn8FeaUP?O?$q|^>txZlqZdE-bm8{ zvi7PU>?~?fq$KPz?rI)t)*59avTIHWlF2Hy(~)E*&BJqzVuRnC-vn(`KZA9oOd{WH zyN%p<9YX5VRPg$rFb=@+^aIVsnZ3X$XF`thE)HN5z1lO7F0Q2uy2s}2`*YsHg7ns7 zR2tBtENdzBUF7c)Ep2aS{(bo;?S~D}JJ9WyK4oYpVE%Sl7vzU}shpoz(JgF^t6bod z2dq91bF_yG`11>4^j1{Xl~YeBVIcj7suVN4MMz!?inW;kqLv`^W!I1b zI`hXA^xW91C~{~NqR1f;wc6j*M>=5t=TTs`1L#MiV7T16>~AG^ZAJ5_7tGWf&3PU( z%jHM51Sa1foLRI#=~|8ZKObM_HH?QE@6?D#T z^SC4GRUs?6VFl9C@fSy3GxFsAeDB!7nOd-?@URdu_1alpnP$Tx3S!mdn5LI_Y7ixy zI(Q?or!NY_M{xyXI!T1F9-f7Lmt;j&YmnQMNjjE<38J6&WJqeo`QBeLyF$ka&zI!* zA**8cYq6+)GhJf4P~rpnu5u0j!AD*KlC&aA`$S@J{x9^F6Xu|-w2j@Tj{&V$q}DDk z%Wov&#!&I9RC=KEx91u*+R6b~l&VyLRu0Dr=mzI7dc}=qFMF3KUfX^YefU4)oMNA; zW1B^Y?>Nc0gZUa}pD@)6{nzi{nSM^JiY6bhx`)boaBA(5iH^SOTD|rR!tZf%X9ySc zD_h?Kd)R(}_287X{|`l;m5}J^25O&?KSrOS&MOY`hubLcfNuML%`#hd>WM**TL+T` ze4Pv_skZsb+?pMuddR6%YS0uJF>Zc@Z9`6s4^ME*NVX!=9P&e zLeQ9@HUht|OXuBw!!`Q`55FWoOdqG6|9*TAp8z8A|9bO(U+V}@;?L^052%0N7}1;# zf6yLQ&L{AnhgQ>Y5ixRUMW?$&q&wG~IzD^K)J=M%@Rm|}yil3IF9Yoe-m~o?JCewL z_fG{$M~6_7UUF}dJbvxlb=9@!SM8>w4+Fx}4tcH+uPofo4^~TkHhVzv??&pr8}8sN z_TWP@lB_s@n}IDl-&$CRBVo;K{$Fppx-*A&-BHFAv7#`y$yl!m<1L4wnkdgg*F$0( z5?Ct1#O0oy$c6D+o27zJ7zv)SoZ$(?twt(GR3~?(sVW$sRJ+Dy8kxd``byB9w4EGl zh=n=D(3u)^IQpuccm+w7 z@jm#uzITN-{QZW|8b`Yq1TKI(l!VVmm^FZUIIaiO&IohpcADg$?C zCI^N=@g>@|+WuD)S7N-MwP-`jdiBifX5M{K1cHgpEo#+@JdcJv;hwh0cnR0RSthhM z(&3^)<-k?~;teIMm?Jm!Z@t_;x4!PhcrqLX-xd!>G2iFx8{!WCVPC-g|0BWLXYBl5 zu+T$>O+ehR9E1rJhDjkwN$de2@A%XA?J8`5Ebu*0&IW|QK++Cee&BJB*-k->p~s!q zfxfev4seXG)DsWjP5_Gq2?X&$50X?1EIPwnFhEYG?Tj$=#>64~-QAuHnV{qV5brQL zB`9e3k>j`@0YV_qBbX2@)|4gH)qqtD!=Jw@qJ)QofWgAZ5C|%PeQ|(v1{A-nDt+EG z%6S-^?`Tj9>=~3OhEf<_aPQ-6>u5yKb_+x~&}sa8x*%cM5+2Pdys%ZvSPYsy)|?N4 zQU^Z@^a?JZKOuGi`>lY@Z|Ht`VxLvE;qT|#f61_C)T8(GMrk`m6@zm6mGT{F7@!#N zXAKHTwQ7`reao_3d6@%;YxNA6(5>zDP27I?Y`?dUn1ismfahtUW-dyrHjSCTG6^`s zi_PA_D0*imFv`jca*Ayy$~p-Pcdk(SNTR9>Cn2Ws-Fw~KBwiXjWPaIqSzp@zni(lF z^ce4Jc_G&-FMV^cZ2)0L!k&6oGaF7r^JK{76VFxMMz;Objs12V=ukK zxe-xlSrl_qX1a+El6mAt=Ujp|GtSLyCUV*R!pU`!(#38ACDM|Yi)3l2rQ0ICV~9SX zoRQoz(#dEMrE=MKSWARHN^TVr+BvGm!Rv2M#dz_$?;kHTGXfblW&)E{20|tym>Zt;4 zcC0a>Ioq;jxjj2+1Bo)C@rm>2Vs=&vPOj^hzi$f8~DOF2R?qtwLnGS%mz&iXOX*F!jwATNWf z3=ayt1ld3}`ZOQNH)Qcxo!&vMd)ytZPdp$;vg? z3#-g>K}pA%&|KWZj(Kv+;g4N=W8C}%8u#hL?y6tqrJ1|#zn6r7^@|Sqs{!z&8ANfftJ^dzdycN!dE5(m7-watn)cBns`LeoyE710`vu-OuuOp7>o4gn!?B2d{fidAeaX3XPuMtQkt6Si4o|3KI-<^uX)uO0u*VLmPs2CUA=hQd#!-SoR~;a(*W zc&9|SI2$9)31U={q=+qDkLnl4COd+zz;sh3@?w@>xghYVsGrOc&1fDvFCXp% z6m`CRrjnB$Eg#BfrQR#nP(MFsUzQ!?1l=%=wRMs0Hht!%mm5xh5bjC~-OaZhb=D7R z+OhD;Uo3l_QN1Y1PjtjXzU{eo-njq34(#dz`!&}Q0%a*dK*7x^!fjKyGqx18FPg6z z+mjzBXl^0VHsHkC6{Xm(NimXGX2b8=wH}6%tRiL{d{OL3v*HJvbLR20cC$0+FNr8j zr3qgEXu_=6=YyU**A~C_>eyDFW}jffJPSGu(^-Z!a-^0hu(We0(*mwZ)y4aWU)nb( znEvfRKCY>S3pN;+(Rn+CG@W$a2jH_7Rj&hzu=eq1n4I(7ut?J8719RGofy_U!uh7m zv|=5Nf(Y?h-Xa6X?>zUnYnamA1^;?V$Rd>ym9JYdI%nGkXKnlI)}i%% zh)z~M15&w0_KedoX>KKVF&_Fx$q?~_S}IBN+jCCv(h4)yd)|N;$l66B8&}Re+(-uH z&aK$>gyk^^jVA?htao76)^OzIkx-i5u-&BCR)5a7$gCK0Tsu(ti!b-luD z&}8kECzZw5S!hmjv3++LPNrKNGrbSt?R11_Fsu z2PslusIQ6h+h#;HvR(H%l%?;6PGmjKkGghX<8P`YHoQm5WQdl!NK2w>8epjq7h^Bl z`r@rf=OY9((RwRAeG6=DJ9}tgZmOA7VUrryx(&<>C3;JkcWRK2IV%1_7_WIpw|k0o z+Cn3J#kYeLmP*my<+Th~?i=jZQA}X)dFL^X(Z_G1xHLx4(gU95y~l?$r=5FA7cA7B zLKo;aa(_TReE0#I-FLtdPCjj|zgT)2+eRTvpyg zZm+751Ahs6NV>O3{f7^n+$Bmoqk_{YieZXDQ8r!6R<9;!q22}I+1$6b16SK~tzZ!w zQQK&_ZwvXxCpwVp8M}cnjErC~0Cx4{yq*N^-D_=@z#4t(oY2S9OVn&%CnQG>-zr3I z_!v!Cd4eu^$>~U?va5JzoIL1J-AtJ{K$=FxoDM|}64AchEu!^kSkXFHK#QQ}`GQ5W zxMDQuHbb;TVU_pPf-F&eR~^W;>CG zpgjY{yPI-lL(U;52bfp2*Lt`7$cj2TIff(hwIEWx=$V=y;@9+jm6=IL8nV8{)y?>dd28(nCofsBLKe%P$!1+o^AIY!$x zr`+{#9Spm+cAF5@)g^G>XL|kGL1i$feM06IKbVLZnWnJBAj7*L*RExRWL+b6uTvHI zrrI)qbga1Hutej@SDj<&y^4pk3nIqe6PTg-D`R2ew$J7^AX4#?a!lhT@yE-@yS~ey z+qw09u!yVprJFIRCYYdCEHslm3T~E1$J0y2*>9xa#@E)e!ylc`Jk9M zBJ_y1m_3fmq3z9aLGzls?bS(BIGCCa4~XrS!htG(c# zX6F&5{qo)WMHHkqPfs`oSl+e_ey*RR1&>`uU^OP~`cH%q1dB4?3zINgSO6N1e*lqJUR=QDA7CR}TJmcev zQy7y`&H)Z`3}&!p(>0O8sDV9_atI|JVxrj89Pi(s1LwdEgBV?Sl`Q^lvic}>9vTVD zg=O8}uB#D>sJ%`1z=d+GSQ&rMl`Zmx!?mV`o8Urq=QwOM#rhvaZ46DumVUMKa@lxK zTt~8U#oKt-ZC+8cu{Eso+ckqd9RZ7I=0G+K7zCbWSQ3E z0Hi#nr7RiNt=IIB)@|#8g}YEajupu0)FN5}3B4bY)fuYkfVo4R$XrS**@a?&Yft#U`@t@z`+Lr>G{AVQnHEAiBy zZHusP${vuTSP6Tsc-$-tSdwkg9}BYXkP6I*m6$k8S<*<(n|`P0WM@ZDLH6dT?IZSQ zR>}?{I6u5IBTmNQ+nmu4mA4~7?W54G!MR}4LRT11Tq{aPaIhZJh%1Cv*)k55iwe0r zC*+}bLk(3N^5P`jDXuOxv^U}D>h`d}WYX8f)!&nz_&zno&y>PuOL@9etd|i0NUPq< z!4A5|n|XM?F2v&EYK%q6_q(HLE)C=c3~onymMBY3xROZ#RPT-&U@<94P;Vm|2ZTKL zDQP_potD`;O1LJwp7(A?Jnq(|yQ>I#))k((;90p(CyJ_E@UBx!=aG}Q8~ADNFy59q zk{1#Nc}rFT#Y|p36s-<;Pa0Ja`MwqwO+n4zTfzB5(O)uNu_smyF2q9kOnwmJ9zqJo z1F`)EHBm2S#uj;ng?P^WI!ixR@yme~Zt7wn*O}BM=P0PcZHp(u1Y+9JF>?=!{W1$U z?RcD8d+J+@5>KF;8|(zq7cKdHAm+8-d^7KowY5RCAcn#*m?YbSyb$fZlwMYOJ@*m{ zGWHnm5xg$~jzQgs!#Fyy`dX-vOO%%|jdbUU=SRR|BD`jfG(GIt#7Eq9INmrr9^mZi zI@z?)Un7~-t#0F-M>O~n9eu({6TuM>3}m^-8(4V=6thi;%`zFToTxUOw9F1TwPaUF ztdtWKvzn1c-PT~Ml3{gnt((mm~G%A zBaDbzFxPaO3FQww-H!A$i0Wgp&$6>q7u*)zm{;y!(CrPM={^wGnv ze3USo^$4}xeyc0jLr6Eurvq!7WN0g2wHr>N?GpF%Ra@C?gJ>uvf==hMo7P$W~zos{2(Q z?}y#CIW+PNN;;Z9Yq`5Vgtr>V*XgHf@Yz-^68q%pE#;{A>ji(w1``{luIQ`urwIu!n{eC9-<8~iJE#S$nm(HSl4eR|sKV)^Qe%!mE3K?5(Pi_!)5siPJns0Uy)U=k)q&h|XnyZ>hq20rH{FqEi zaK`yl@qUZ2sCy?py7F(JGNW-9&&vI+-pA`K?=QG^CJINqN7@S=?zuhF@SdLOWsBHj z_MJt$Ojf?$rG`X*UM5`kq=PzK&gS+IdBxa`vdHv08wZ8iw@m2jRpE9m+}E?;JHN?3 z?8MdUYl-c4=-j!*ZYHKvW_OdPwtsBQnBLReOeWez2p~BTcf2m|h2)KKRp?GCSn~F< zsA@vxtyu!-Bx;>Waxp;e;Ki^NjbA7;I$z`Z}wC=Nr%5wUBtomow-(S_W^1%f0QY5g?eGql?>Xq9+$miOe zAZw7z;#i>GPz**S8yyTzLA31wE04LswMNbQfod5o@Y~K~R39xmt6^q<${r0ObVd_oas$;u6iDXs zv%)ex*kZ;xU6to$Or2!srBd0^R=L(!5KmAN!C~iHCr2>{z0{Fs$uW-=e7MeItlp_Z ziwyWP+i&aKZFC&+pf7NppkjH~ftNx1^HXo1G)kt++TL@i#I6qdcH&Xh{M6hf3IXs2*gzhKKv+V`9Egt046&1_{C9Iz5& zdh^@}C+X9HKYNrpVB+$30-bI*caM4yV>DLvm#P-gK4BpC0{0b%vo%&cvGv$lEJZSD z_sTZ4z^(H(HeBHw@~_-^^ypr-jGw>~nT6f49ucf|6};+T-7L2&)Wur#g%cowodCue ze!A9bNKz|y!2}}{sgH>Bos0=ue7IFxRt4@`a@ah~76a-$I`5&=r48glJ)fqpYO43@ zU8m2ax!2zMI;|MX@33pFWz68nCRk75mTDezL6o(CN2DOdH_h$_2dWOr`%NdBz0+^!!uK0~!zHG)OR42K~VrjhFPblL^?(!&6azJY{fnhEO zeLQaYYA!NS%eF4Kq1?IA$rYG!vJlS$<1z&bWx*ns%`rpT(E(RZ;C*}T&_M@$$ng^p z97pTu|l;vK!5QV~Ha(ZGLvq(E_BSjjY* zvsd0b6&+Bm=ecKGawrMOynnYJHR^?-rB0#5reR747ofQ`nG?Ewm9FSem&xYTzJ^5y zjgV5uQ+u?ZH7hw|?><0QHA!7Jg7Z#@L9-2ZIaCi>my^A`Ks3=UO-q);z*QG#$1oKi zm_pZlH7!yw5E~6|qv(pva3gW`&co6%qVQX2l@ME%-!cwx!Z&II;uYo;8Fkrg6UlCz z;T}uP@c}@@rv<7l5Y1pl2$!65te|_yHGJYd49n@rJ`buMLjH;ax2r=II?-xAVpH}{ z%*XRgMkQ@Oi>#M ze9rF8dkJ}IKALu#ij5x|XKw7)Si%r$EPVb&+Iab-&EG!xltk<)EkgXKy*w#PHd4=X zbT%Um z(USD+-j41c3AS3F$-Sl!dam%6v(@ZADzC)-gTr##%)A}BL((E7OkokVA4_qFX<+z1RKw z@O}@$y`}xU_I&bDFw$Q-fYDkfPTF;L!*3e$C~0N0nl) zazdjXe(8Dy&BeJT?>dN`!@ez3KTi2mz)!q6y-R55CxiP>VuFfrK=WK)AZOLt-0$XS z>$Jp#=x1wQ^f*cpJHiPA5*-0&ec zee?=I@KIpvk^LD-LhhcoB>~T1Y%jpW#sByK8O(sfV96D?WVqWca9&PkwJvwaRi%UA5U@=C42u#${O{(QjS?veD zl=Vb+GTPQr9}V>}Wo1|jx>&SaY;t47TbIq|sGv6SE3#i%nGCF5#!uZDdOo;WKbS?` zxIamJkpEY}JoI`-5<+d~9-nk)ctmeD-_<-@#eaG3JF|_;G*x60sABjt&ao5EA)to7 zO_XYFs z)a(BIsGH(5oILSZ9=cTrr7jD74&;~?BwIh+;)^Ij^yDLvcIYmvgVLAsA(F~xRC2r7+up)FEV4il`6S|7QYc8cybn9zg_*zCG3AO$3CfhXy1VY>J<;0<|}9Dc4TU#K>MJlP}9^xR+T;p`v4y4bycaV1YSwvXOD`!?5 z2Il8NP-Pf9D!JA8#vDCYZakH|E@a8 zG38PpMIyAkN{eVv4l5}5F~+g_Z}NdJ=&M-pF;5*NFyk}{hQs^S0c#I4 z-P7tMYj2l`Pv2PE0#@qLsvc2h;#OK+SfO+`Z#>XVg#>QVup>+b+hI^BZ``Lfhpn>f z1H?en#|-ry_Z^7(lf-;}Vj2R-&wN*P!fVVzt)!)`n%pteA-YbUyP@pei}Gs7Aip;l z<`L={v-1jH4VEFQO|N#*vPxC?t%WSJgiI(asCEHZk8p3Q*yC%Pb|{dtb&V`_m`!o> zvxG+5Qfy>^)>`E%+m-Npy(1bgW0y-hZ8HQ+3N6BF6mbqo>9OW=oJJVHDA(CMK0{Agl*D2y3ZV?66z$nIfKn z=-N=Fl0TUMT8HywQWNFOSW_+OpfXs|FFF>ctL+y~9wO3qLSo&ao|_2xTT0HBHT!HD zQjn;!!-Foy%SELD%3!_F8O>0PI*>{3=wgE21zyFln_O!RX zTYZQk=}Gqc;DF@VOtEYLJ3z$0D=z0~%wVHmQ?_W%c=*yOT2h-Kb(^dqS0B;a#77LP zePJQd&mH^n{{8p?NalKCd5-q_y^JHLCpjKMQ0JryP}$tcHsaXJJh1n;t?ixO6;L8% z;sTeeQ+KlMx~03*51dAWs8PY9*mn*-O5cp>e=AT8Q=x{8NSAk7kl;)unJWU)R+fp0 zq%lIkXo^W!DR>X}-`&jUHXPI;IXR`5ozurzXJ!7ZKg#ew{J%bE0s1ReZ**1nLHGCZ z{doPjLVoGH-*A3!hUP9q^O{Xg-9DOq7PSdeRsPq%;|BW^9HfuX%>Fdkj4Z>yVQC~Z zu2*q69)6Ub4=Uo#K(;ltM$R3|8HKy<@y*_vB=tK7Kpd)gcRYDqp2%}z*&+-Jd{Dds z2lqPQF(3Q*6&MyIy}m82?votj){*H^&HKK<@_%E*@C2~s6N4|;Z}oYR&o5L?@bn$G z{WoC$Z(8M?xA+QH?Ug_-&{U0L7|dr~&@2j)(FOhl@#XAq;lH|umpQ=RAcaIoN=kWK zD}Ytzg!KK0)!!eH;7|Jj^UQ8f4v!h8lABI}V9UPCyHt@lqP_1Q4rxQ_D*7?Ad$2=7N>jlEOoU%03E1PyV zZA!M{=k%j>+`k>Q+!A=oG2EqZo9SbBQVuYf^uaVPx$Td$o9pekedzdRB|dfAFgw{J z`mDF!tgJsyqi<*wbEKWtR$+Bi<7NK<>x9)5A6?`;pwAEL`s3@*SeHh{*T(!uNPVDu zgt7#&l?okCAj5fnEI^D@L|Rlw1)`g6PJ6aIC7@NUhGS#sf?H#rCHRd%Pt?*-z&MuW8d zfflYP{0{QtnC&UFVFT&!&8DF{l|ClY{)7XXh~89PiL9{4buWUQV`47;{{!~7Jo`)D zFM*z%5W^4CMvbXH&&HK#=Fy7JWrjY$n)k~ER2 z^TN{HW1E#QJamgW;@ zzru4%N$sq_jQYS#`B#XI4%N7es1C-O(Mca?z7Hww*fchj(UR|s(LZ7J9iC1XH=(<5xr;47zCBq!RK7lrS# zt{%*Ms7Pw7FJ#x00fZMnBt?`ck~b>(&VGMDf?D8hWW^vLcA#mY$Ff{=u*t>Z)3)F< znj+r)vmTwX3F=7yvxO+?JB3^_^z_2;jeVLC+wWizk`jC}I@}qzH!MtQ+6yI~TVIyZ z-Dz`W$RTKWO&Rg7*EftKIewFHvB!M;?lg9`z@0q;N`>9W=m>2ecGivVBz7iId54Cw z2=13%27Z^Zffc~|yyM6aTCcD_Cax-1g<^iYSxCJ5ofMb~!F`>BFKH+--f zgl?zTZ*_WWn$y$^iM<+Gltb{3^SpB4rgqI-Ht?k*S>%6Dgy`gK;a z1)=Qi<7NG*>5lJ7?zf0Ih%ZzLB;OxrEK>0`6|b(A3s`h>%n2f@J^H*fTNH5x4}IF` zJ}=DMfoVy=PDf(PaF3g2^1`4-u441cfjS`03(Jr({T>{SWuC*HB5@}a?99$BPOZ5| zfpE1HM53c522jHGI)aO%AZTPmb@O}-VV;^_sb(G(T3Uxa z_KRU7>O9vKS8}?SP~aNv^xovnZ#rlBRBS#2_q(@)p>&tObU_FE4pwO63HK;^G!sV7 z%GuQ8hov}u`2g%qND=G(KQ-5}-7T$*@iZ;*XA_lYERdX0u*67sqN zd}cm|ak!Ugk9}EHkm=-!7Z;i^4%oyL1}+L2HWw6)XwilxmfgvSjvqZl>7dTpZBypn zHKT}%o&LjQ((-|`UsoF}w(o^u(e~PYL^k(TeR_$bW_$O=&gl=W_bNhz z8zwKG5ikWC77i>F5hx0@WN1(1K7oU}; z2YK}67)F3qL%aTiI@E&1c`W`luF0GwZMZC=389WRB~zBYnnzRFqi@H%78@QD)QLp2#XVf$6)I&Es=|l-<9sjCum;aNT=zZg?o( zg9trQ*LQJ|Zu@oo%r75Yc)hv3h>@RBLr>8ozW^a27R*%Ggkakko%iET%-8HFbSiZn}$@U_FtA-VUoH7JotmX}6bDSR^a?tnEXghbN!vP2(+Q zEDxjx>eJ5d^0YQ{J4?LZ8C&(RM8EPh8Rl&rj@6p4ddy!7q9hmH#&6d$w&||Sd$wuG z=Jm|J{JD+o&!=$r4@15}Ku$LHHa>m*{cirgBr)IL)qcSDZhF1Et4}E*cn)c`+LhP) zR>Z#|dp+|;B%|>246@pVsu`l#{4Ns}GCr7T%6gJtGgg%JHtH*`KKCkDEzKI7g1>fQ zX}{BGBpa$59+_Gu=kJb&2Pp5|SAaBMH;Ew6wqY$fbRh{kaflfw$GB}_@k6u|SE~nF zgOKP*Ri?h=K>{O6jlm{=XvSZ%cw-8Epj#0Y7S>Q-AqYK0h_9^!LJ z+1;?tj0o18ffaXeu-psKq`kHeK;Ri16uVppdU=MHXLB^1(jF}AjrupzH-9J=$_yC~#UiSG?*cKXPm_>r(< zsQA&iRdd?DhXNkb9GzWQqIs;W@=|5nt1k%*_2cmvv}*&H92WBuS`HK>sV0d@YQ#7d zp$)R;mYCZzi?t@QEi*YAsn++g+o)Nt*P=7jbWOYWssweu^1!^5N&gS%D0>&Kx^sK> z8%dkO+^S?E`aZBZw-!6gBjP!tez$)XV?b4zvNN6RAj!>8f6#45fTX{;O8fh}z|me% zS$`^_uqe9`$m}yW_6nHA^w(-$z#hrWBi$gZhNp|d6k7?(2iely%10Q7nK<@)zGYg( zIQ1`dL7Zj}*mMKkGs7VKRsU*#? zZ=a6*V$Is|t5A{#7+h#r)P{z^vom#|fai9Jy{}`Dy*L%Uf$RrZHELoo6s}5hQckKE zMBUEu(+1_Qw;T-i-lQ9p8@Y(R?iq56r&_aco!=2s|1-;cbN>w#3NSU;G@sI?be|T* zJ_YF4KL_xBj^g#@Xle;vT)5sU?0n8l5+eBDq9IFd*({IS zvLW(Tahg|?aO|QyTi2FApj#5Dui(;RHSX|qtKuVtT?NSA!(RIDfaDVE7K>J+CuMdk`cg(-l7Zpj!)GWDfFYONi?!H$xcwxc~ldm@m2>dC`4C@493mdoPd2qPocl-u8W)7eG@ z%(}?^`*lPyziRFUu=5OxNlNjZ2JqZ(e(UBKccLi8T8yl*nc-L#;KW5P;U5&pu_?Kf zRU&ZID9QpYMhAgjs|87ov{r4!40siXMkAhm!b>sQo)K`Qob_+zhu~m(z+sr5&)|Op znhpfShwCX%HMxCo@Q?uT>Sf*Cj`Lo&?sMtO9ICtaaL;3|%~NmBnjvpngi?K<(IX@- zq|^CLN1|Y`Coz}g^4E`O7C~89xVB%5NXOObrX~(so4bV!@Eb-iINrpfvGPXy!WZs0 zmodmIH9LFGBV%ye^;>eSbqp)ybEuhd3!BaNDJ+Xf+{LsNJLVld^zj6ol#SZFbpXWq zdV?q2r{C7y1%y60orI@+bD?N)aluWoI;A2CVSGSzU^|VzhISRjm;2lDzCSbJHla$+~k|yhaoRk zRt{+}@%HT`^dFNFm9CqcEwdim&#SlOKCU9Au)y5s{YA*9#zikWqQ0E)c<1Q(ZA zH0dSzj+*9b`0PX*>%CRLA8QK|7J7mgx(8d?WoZVk<6XeM=fFnov8Ht&xlx)eeGq<& zeut}&m@A^_#{bAwycXpe=@)!27Mm9j7> z$i9c$_8|0Psd59^>qaQ=&^P*L zji?pRMVU(WE1K|v1lVt?U}wMKk@kT9(pjac^F{-5cbKl@rs?i=ON-r7U47H36>hii z^LV{GO*d1S8P06Y1D)odpU>aT2hb0-*Rkho37KDAW*tk!<)4QBG9NgiiC^XV<|$11 z@g4xetDuQjTAD~8QbSgJb;&o$vonSSHvjWE+W||RzI0h43zIJlgS@&VRS-S`?->+V zNvo8&E7v*@ai`KqR&H0Pl4LMdujK1KS!wOk zI~=jCfdV-oq3>sDLE5EVs7X;hb>f#AM*zc3UlK{vESKgvdf)~&~8#bS{gUcU;Un>^SSI zp=N@*>of0zr(2uXe^P6bd}5GZytQ3#0+&G zI}~D2h2vYfBSUFMbnyF5n#jzSX&EM?dmO}VoX``pM?>CZ*^vW9qh)XOpq9$@@(Udl zQIW@jCoKf>;HOQ*QBmO`XZ6dQ^jbHk4Y=c}L@9<@Wn< zeuNz5N)t4>O!w4u1i}wbmWJ;OG0XLmT71Qe34$L>DK3domojythC`6DO)Wj3!5c95 zaO7`2*4MZ}g)7ZH0`wjrc|IW^)VE=6wLC0UiqX%xoORIt_RsFtBktI`r^lo2VwNC3 ztGd}plbUqUD1I2CihKCaUI!{N0$AfoL)vC-)Lxp6-H4#h?Y4O3DGg+*A78vxbg+oP z*o_;B&kqqpg9xj+d#a06*d*@>$RPN0%)`jarrs_&hnL5XQ?vCy60Jcc^r@a=_<0%Z zYCYzPLL1^(2Z}O1Zt#q5_Lh@zh&{BIDMGY^~Bvs=_8x z@mSokU)fRf9^0UM%3z)@97a<`9&lX{%@-Yx$kC{Da3SI#?30a2m_J3(+v0)0Y6AAc zqd%{kw`HEe^4UD|6T{g$%!y=Wk+{RZl|;h()@>uJI<8-Bob5T(L*WlUDM^m_jDnyb z`S>YDe%{}L%tv!iOvTdEM$}4m0XC8c`GL%`;6Utqq#Z{7{Qo0kPkhl~o4T5#x0p`H ze;$NOCk26+a5|mTd9dUo*_8X;z|o2mnM36YM#*z&H?vTx=2*}SAvm~Pf$vtl_PH!a zw-W6GC+GOexx}5)Up#tqY1^{9gwLnR0YN_^JL^F6!Kxnak@P$3@%jg}Y26Phr@hv>@}F+)ZTJtj!4p>u}rRs!(q~@*6qx zHXEr#Oy3InAB^*RB%`U?vSQHASSOx14N2i$+L{2oNE!7FeY)`-FPD?yZ znq0K)-EC$$hLr?r68%Xoh!7Px5gw2#y9nWIhhF?|uJ#GcuoK4F%%a@+a;@4;+_)wA z5{AR0GkZY2n`xJ1gj0yPYwV@M^#0QRyhJh6I8nOKS`>ZI!8l0|_Unh$3DTIwVF7aA zQIc0zYYlka1W(!j2^Zifx#{0Mmy<+@*FbuftW(JP%uo_v*wej1ZzAAxto4S^_v|+Q&m{BIWu0GVRQ9 zp|=T)xUG|Gab1l1k^{o$#FOqV_u2R&4rZ)n?jw`Wu1fYkI&E{-i%t^$WX ziBetpc?#!|ttup29nzGxsI0+1VfgMaHNBWA)s8CG3V2Fee|jeM|6)=J?U$Dxnwz(D z-yl6}z(#DZVDFqdvaYL|hIAY9&fiDGD9KRcmYpg=)LIo2v(^}8AGew4o!dzm5 zqP=>E$<0frJ8zQO47}AXSfZD&Gv9F~upOEn{fA!9IWfnXy%D8?`m~)`xJ>@9`fv5E z8DqpF-y`jN^-UReGm*nl_=aOOp-MSVW41}PaZ z8{@w5RW}z?xZtr?@Ce(MC0wK?gK8r%{IhU-K1NGMIqOiO!{!KUxa)e7=Xg7b?@M0Q#uE)G7jAtb(?iiyElcyvTb zg|^J%iqM=L_iG+Hz-M`6h;EmBhi16tlcT-=VD9!~oaU8tB5mH1Rg=~HU-tod(U+Bw zOi$y^{&sF~CR?L|_zU4Tdk9%0X5T%f*HB&#rq8^G`a(hbX67a8LaZno%4*hRIYqI=R*}huB~f{To8u{Y zr^)6hfL#7@+Etz!R!7NnCYP%Ps@sEL?(6R|EEns#j!fCi}(;pq&Hyf_7py{%3EX1Nco) zMLD(1Sq}Mp9(YJ6AdQHF7%kQf)E7gCw#f_M>cyYpE1uR|$JL|q(DJTNYi;AqCT0yG zHA}g!5;#EZ!8SDzwA1$;AB0RwAVlbb7JGBzr*z;%wBW-it0BsUI6i+^ro0jur;T$ZNvmKes8J13-Nn1Mx4*>L^n5E5$EwDybnkE`Nz zQ7?<;Bt6LIfj*_CRyRWO;*fOE>U#FTd3e!3b3I+(ElxN@5Vly~3d97TeH)kQ zfzIjgTl8hF%oC@??!jkT+Vc8SHuYc9_IseU2Q#cH_2b8jR@UW$#{bC5|1V;W9S3JZ zT3h_VLJ#O7rGYKQrF}?hZd5-ff3ulc3EyQ|IcH}||7~l)*?G8oL2zHC<7g#sxL#?c zSv_M)!iY_LKRT7Y2aBt~c(^LTP4|(B=m#HFGMT~AHUH%=r}GtW%hlw67WaYO8LR7j z$9@YSE8rA3_<@LhIQB<%HcrC-sYVYaeMDGI2ZnU*f(GV6((Rnl;#_h$p z*Q<7OkBOtN5JTR)ziiGM9YFuEtPQ^2X`1df>xV1RSHa&A>_N=QAtd;XCRrSOTKj21 z$#Q(ADHI?chpi==JFSi2sNNAvZ19acu#YT|ZVoF{?*0Is0RIaLU^8{h1zt zr?=&rg&$MWF{bD(RqM!S3Gr)9!gWybxf5V>7pMDP@Vi+r{dM49kS>w9)5=Nkr_fCI7*%Hj!pYI;H68zPvn*!v$JBmksXgxjS0EZRc7cX43L++jLlWjCVt_V05qCbkP}{n~~Szha1v01bhLI z@AoB)F9#^hFikIcEX%+@Sm()-p0KOj50YxvfAd*;;@0ulFi1yFnHpm*{Jg(r%}GBX z$9mxw`T1M-97!vhUlT^YS5_(8omTMMZwi$~SMTn#7ZdBJw>v$e(X|99zf+UCat3*E zz|#=&;MZ(9utaq1(2?-k+*l11Iwx{0ay z8r?xJd1#7^wu=OITj3&fWRLh<`W+!OAuccIuQcDjm3skFF8!ZN|Jz1LdB?0^=u)27 zY^PW|=||Q^`{9b#DmPsaDs^!MO^l$m5svz`RSwL_l@*&9qK-OPnol>PA?QwHD>hlf z0Ljz4mvOq?F}}-{jv8PmEj$Sz7u~Nemg~K6zbr|G)q~gE1V`e2DQvX=e;Ig(8(W<` zhX{|jp-gk-!LL$ezY!Rt2?VaP0i{@M7#D<=|K8S*^Fc|}72$MP*&=gmI`SyIYs~EBT(QBKS%(QiX;NY-t3hN`T+%tjOYcu~TwWFX zt8O`LrzKI~s+)tpdv&6xUnr;{jK9Y;Q9f}-gqJ8=c(T%=T#fiV2E*rWH9A`7KJbWL+wj_sQ_27%R7`ux|BLw}Vf zCCl-28NlFKbNLWsS_YF(Hlx#TWsS$s&~_t6YW8#Exqc!Y$cBOYF#pm!VHY)XwtmuH zX|JN;>8E;4+Ce!oEV8YfJlXd-&$?6^?r||l4_(NMuiP6f&hXvFNXeeO|46`?1Yzs> zoV75GyScB9xUBE34$^`-k|98&j80Y0#p{k{^e_TIeR})DWN1T9__CdKK9jF^cv=n` z!S9YR9%w1g8;gl(!F!$^Qe*d(blv{9ig7d!y``P`T``*~QJcE`2Tz`NIogbgPv{^& z2UHP_ECjZ`NYFz%dWNIXf7fAD5@NeQPsOHVeF&(^9K##s*pfZ}lxMsS6Z*3T5aXLz z8}A|%Qt4mb6PR4=TS~N|a#{mi=5KQKE{`0N3MS`e)j>Q9xZU_TM-{(&?tI!qiH04& z2E#LDCb4`G2Ux+nnFDuM5lB(l_m;P0>>~*;gI%P*pWI zSq}6v;kQ2HhQ)RW8h<8x*$I6sWuGn&o<=6bL&d4RFw=XGd%8JZv}2k2@|mKzvN>5L z_qT|y$;z|lRcJGHcMpdCsw(=&Z<44pz#*ST+I;lRlQgqQbAe6rCIpC}f6j-UD0Li5 zr1~)F$6*}H%VJs9Bv2K;L>sbrc&7REay8zV|Gb|pMfGbSE(#BPUo(S5c7S08AZ+`U;C zvsllAlCpq{t9a@%STm=ymQui2xj18y=It3@MyXyRvX>vrl5y({BEMzXd#gh#KfnmR zdjYy)+D&4~e={@fWgB;@h$W)6FPy%ClR`?t-%_Y!*2$M?X*LaPH>Gjko^%w?j7a`z z;Yy!8-G_76^%2lDXnN>X9euYq_~u9_To@<@hF6j(q@gNN#a%jI9-xq$uiON5@A}uh zvp>*jtbnNgx9j)vLUsbE1-bYe`WPBJ3{MC^gVf`pySrVR`g7@Lw%+Zz_ghRf+q-qD zr@B@ejCwu$u?FM!qN#z*nWZ%~NfOnvdxDV>Sa#EFbIEzV*Mi z8T(DNo6VkK2i1`U8gP`}ec;LB9|#|X$hKg@r!@MCGs4&*s|GP0K^{b}x?AD<3b5YT zo;1VF5X(g3l>QQ!WSxfwJInmVecy80IZ7acUdSl$UiA7%7i<~*tWu{5IVa6r&MPje zs7-|WeS9t)wU`5!N7b9nyWpJe0&+y>s@-2IrHb!qslssBFRRCjoWZJ2`>4y2qsaH- z_ptf*%K>-V*8U!i!kHWN=&bxG79J*}rQ-kMwanzTCixQ5t5Us~|Xaev|ZH||b)lUpAJBg7*|->H75 zOaB&`CB#VcgOt-ZV@dzZ>vkQ&>nv_UYD+{;lUUUBHAK90VJIWJ8P&_n>HdwKutcr zd1tVxti@`|8STHqJ5@0^;V8qyl8^OU&5rkVjVL(W1vu5~QQ@D~USNrMl!NaIQXjdZ zEqMj&y~cA!jGi&L3k*)t)eV`Xp{FE{|Cjls@ORkQ!L+!#C#_0*#+FlXRn7e`H%Z;R z@XwLd_$xKKrhe~AMlJ)#pUvFssY#rX6Y8uX;as~}t0hlIp3? zmjt`ksbk}E$h6#8tmY=M^M}A3TTYx1U6a^Erm+Err-%uhr5=YX6t=PrPF276Eu&ue zgW9F>ZfAf%))dKd)jkqzcUfDC)g-5%*)jEhcKAqBCjRgzLG9g>+d0zPj0}!_@<{_` zM+2p*t6mynVb_(+)98NRpMO$Z+X*z!JKlHnMv?pXJHsAkL=!>WR^(5L=TVpe#Ykzk zH_;ruG<^0}m$x#btv9zEoCP87#8=n(JzLja)J)KSggM<0mT%z<0W(v5!~-=2rsc-E z107ptmb1ki3#pvWK#T!wwtC^_+?=Jzj&sjdhTU0tzi-G(CDLV^_Ux4xZIcJr27SgO zW^vMmWrlwnLtFVVu%JEAZktYkCV4}gXrecG!AO8huC#7N26j>u4)AsS^$zAHQVzh5*=aq%Lvoe4qIMwA|mm-6k(~$voUs`C^ zJb5o+re`S;rX8xR2Lm3Bb~y!vNgTDp4HGJt@FvhChT5RfAgr#&m%zFiBIRAHUCb>T zj`V3*-%G{JIb;TP5mGxlLqUR=3;XG@3|n1>>k?8meD#skf16XG=sD*stQCYaDWrgR zoJDA7cI2o@d=x*QH7YYcbt{|y3-7`C_2-q;+vs+K0ZF0Hq5SvTFQvY?{|_)TR(Ku} z7mN|CPHV#zv*BzZqj-{FDLWc3LdzZ81ew%X2hsOsKO}2=u;)>$itV5~34l&0x>8mb z%*gM1yvo71YDt+<>GQq_N}}J!nmuawLT{$98Uy^}#`+(6YTku*5E*$5!fS?j6v(jVPWmg-M*O}N$6-a$T%>;j+*e5-LefNfeHrGU zBHPuxe$YC^G{R$$&JKOdPfnL-W1feFJt0xH^$PDd)iX>_l}*YVK%0TdL9ScFDxNd1 z`;6LS5)U+RqUHT(M9BdEGVDwYjolk$p+IhE;&B2rSV4ERd#B%x!Va|aEKi6N-gIU^G&F0vgT6D~m(Vr;h z(s+tHO()ORL3McW`D_00=OPVeJ75)o?v(_Gi(&G7vhQB{C>+8B7CUtiy8FZb9&-14 zyg~E6D+hX%J1kLI@Mm)1y9%XUYt2$_T0iRC+s6|oEl>G-X?=Qw#cU(ypZA4IFMNbE zklp>PGsq8J*lHg#iV-@%ywL_UOI9M$dOh~C?6RVnZx%ZX$VilVa!$GwhGlC36Qvfs z>t4%FjZO2JpvCCl{D8DiQ-I@Id&Ud$!#haKRcmB)6gXW2^A!}?%EsGY&gjzymCxry z_fovYw3di;Y2En{^@vS71e2jM!k>ILN3@5u&UJiNVpR1$KQ?OVqItrhMQ&(=kY_`- z=wiUn2YDRVO*edvzMRgqB%kH+pyJDCE=%k3T~gycxI4x z#CZm;K6aEKFW-hQ{hi#0QTzEA`qE3jV*yw2lVuPW=8k`|W?l?V5#}q7)31(}xHPV+ zK*OxMSt-;;GC(uT&H`o9m`(+2k7gXPiV-y3vn*PwG~U+8ws zXlF|lRsP2GY(!txxePqYg0^ro@@=yC6QN*Q>fPGmoNlez9LE+aX>%5Y|&fZ^sFjcTvZ~H zPFGw+S^dTGdKz(39HK@?+_U#>wC!kyj3dG(v-tDeHyEL*J1O)hWhHA50Qo0~unb}2 zI@%RjB(+C2^%%q>R?mLv_huK6b09$DMURu2IfN!`CPg67BAXMGxQM{8&~w%a<$bTW zbCm#k2XN{Zwdvy_Cpj|nO9Lf}^KCx5JyayiUrca)@0!?%4Trk}=ItARor;Q z*Vz6bFW_r}f5003gs#beW&e^5GQ;o9h6z#V27&$%dD{vHE%ZNdX`%vWkag`hzQ zS0Ow>0UHQ=(@q%yp|Asi?t#+92ijoZt=pXeKyc7d5DNqh@JjPQ!#S5rHkkg+vfUEIbg%6b+;j77&5l1`MY_-gOKN1yceAe?6uTt6ngJ zSVMm|frDUdn{lmJ{E*ECh_XMvF2@G;wSS860fC+ zmltPo0RV2$U>@U@pI1QKpKF~pOl$=TI0`Uo%Bj47dbhp?&XRnQv7Qx1q~0a1J@Q;` z+*uDgN2N(P>ZyS=-^qawR+ZACn&LGm%Xv(JQ!DP@kQob4rl{2 z4(4(Xq&2P{jIYnhSI?0tB}HLo#&W2m9R%hiQr%#r$eL~8CcoJY+p;~OP57RV2;+R6 z=|#osmi6eO*cG9K`Td?)S%PZU$Yc~{i8Q{TKCQ#Yv z3N9L|N{yh)&l=P1r(OrG?8Q*3kK2&?jFa5BMeN-{*G4`kQ8s6l1G!2DTWrQl$vQpF z9`1d_dl7i(alt}81|Jly8>55>6>g7oroecT8aZvlml?aVJdx(&>%ubh2|YNIL@6ZE z(L9P0Fh(qQdPvBVI|LA3M761^rcD4s(Okw9m0)($aSsAOgS-m&-0j)0?nXYya&5WZ zG*47{@)8`#MHm!!1vioHA3W#b1}nbDz7D~x^So0(r4M~f1kVW?-ALA0gg0^>oe06h z-WsA9@{HTEU0M)Nw;1w<6f;G%!%>27$9##paLgvavtc~e)d2{8r+)^H`Z1|g`kx)$ z=ryPwJr+%Bi2A^oRfK(9 z_OLcoCud6@tc8lWF%CPBnpN)>vTf=B?Dfrl&GoKAsf<^M(kz)pP^r4ykB-oZPByp} zFw?O2+u*f9Y4yGhCy`P;R_rlyshFKSC*_@3elICh(C)x^G|AC{?p7^G;%Tu|LR4P`DlgW>gK9LFb~0;XIt_qs zQtOUNKry-og=Yvlo)jY=(9)_yZs|T$4T|yhj0Q$1FcJWM}Tcx+9ik-o|L|ojsGR&(qk9fqa|dnu^aEH)3aw4aGYPF5{IgBYDwU zX#*X`Lmrew$e9Sz!+J)w`b<4#nMltA40Szg0jg3FbF!DO)!~8fChBiZ1q3*cH%Diu zT@M%C+I5Uka)^Mc!)Deet#JvQL~n~EGHqip&^r%>a(SI~UbzmAerC|v^RV&V@j#Sd z)(G|Vxx z0|*H9VwU)=W?*K~gGKC)ryS?^yMsfsZJdQpz1yW`H*sjN2c?zmm@X^X=PtacT|k3| zE%&avl_Ya;3dHE-oE1n0Nw8~@%iHR`TX53|X>e*ep@bu_qPP`GItRjT6AhK6q?ad27fT{4&o20rzCG8QafVCZR-gMs{cVL2NOl(_~u*TMwK^huNi z47%1}Hpsl6G59$V)Y zi0*uSjP(*wa9K#Nour|*YG(^PgeHFOtyN**;|-E8S8P^~6XRAKkEzoqTfNeyhldAs zu#>$C8-`5cu3?%|U`~uu>XcgD)QL=4&N?Q$0F}HG4t`N3i}Q|oH)qS9{itwML1l1u z4`3W#?OpQi;8jYBS8?5EwgU&J!c;S!3C$?H(B_5SZIw1;Jxk5;8rB>&k?Iy(LyC4} z1w_Y42qv6Qhbl#vm_4@cqESRlVweF^dy%iZBv_ZdIU5?XO7+AEnP zFb;r6sA%Lr3~fLk-bwarxN7|_pd)Y@!spS`>dMZoCy-97&JPcq%Spu@a9%|w`LjW} z1lwtW5M5al3U?MztHCcC>4$=bLWM9;9O>3-UoG>;XMW>_ zZ7sQPmY>GV!3OfNz-b;P#ufn>B_M;kR2{C-M6kL-TD@dgs@K+{i%9mECP;IwdLc!^ z5yT?H$;-vf-;rd748fgUlvIr7$F&>48P?vnwo;!s2p^O;u7?XUzvuuz00&_2WdfXr zhA){yk9RgS5whPJNp|38hP$rpi8>-dFnm)lz`Eh#r>EiZR&)uWef0wV* zrM^n6imWzU*DDVKJ6tN!T2_#5%Wv1GQSW~9pQC|oxzydkiZSP|{4c5@I^%pnvjX#H zq(d(W=U+K|TytP)88)vPMo@Q3BO!w9@aFOAehhB$gmvmK$=m27fs|>)drNuk9)}>gdyQxN%x$&5x9D+fDDQ=rpzf)v zN4eikGvRtKCzwX{$~s^}44Vvl-U^Phk!ppF$6); zRd;LTFb|IlK-D#Ep2s9u-pB^MPzzooHrFn`e@avpjzLvqY`$+$eE%FAaqUhA+qK}$ zm7QNF)-Ob)xNF7)5UVX4x|bmVBEc`UYMr6ggvyR24wdcVvyNzHWwKhypv!cdUVL@X z5Gtq*RV8G#5Q}alqmk}{

  1. 6ZRr7G+wnoL3reg2Xh4_0`%{mKTdOGAS~@y6o63k3 z5ZM}UyI0D-U5Xy&w8N2>a2)~(kKPU*oGfg%8dv3JcExpi)k*SjQ>Q35n%NJN=#jFDC-+I8{KEThr&|hP&&?}&$HTX`M^gyii)7=w= zPbTJdg_{2Optp$CG6&CBfp^cms?9trJGKbSn|wI&syRrEt80tF*DebjXHSnebnPFl zu8%u6l}YXVq%$lf5mj z_MS-K;7eK)*6MdV?~84=0!>;$AKCUmbfTIyYDh>S~O3CeGj_8y3PLj&=bt-D!4 zy>&dI-;{Jk=$gxI&|`H5D4?rNC%CAM0*bvA-b_Kaf8Lv_c274SJM=;A@cQ&H7j5TS zB2ut&QdW2}`exgd7jzkWKK03YnVlaN&t}ZU>@=hU}@ch@sqCWYX7;<~(P=Mc&)4?ku z8bCV%>&I`uMB!aVTCXm}@*S0snAc9H! zAA|Sc17P_e=r=K$KKM5k;{h4Z7z;tw&J7)r?iM@S0~<78VWu*vvRYhOSd5c3uCY#V zed&B?B#Kb7tAk33xr>kC-F;~Y9r1JqbWBdZVfCriK#PNnpjpki^`MyOjDU~J2b!vk zx=#`cq_AGYWbB|bTp>#_;@?jB824=CWtsnay3~;CPV1Qm(j@z**k7I{4}mq03)+ZS zfIK^OXC~IhRcq1+uwuiDw_{!v*P}C5B?0l*fSB#>TakIo4vH!eS)78X4S5fy z_ozI$w^vXmj?)=jHR*kx1k6#<+EO2=FWp{W3W$5-XcirQX)N`IR$+m4MG+IApHjo? zW323Sr>r5>685+wls8^1Ru2oY)*d??nd1$X5nE|sTp?+u@Sq{S8~B;8huKi~g3i=? z3KFPe=h=X4+7{-iF{(DDcbny*Qnz`)EHHfDwccAk1J91#%85F8(27ca+`_RIGeIM& z^)4n-M*jeybp^J8F|D}ZAV63T-#<84&7PO53+h>QV2MAlY69n7!Myq7e0{qwCo{!! zwA8BzbZ0P6dM1OThcr%N!49qN1a=)wma1JK$;s4?Ir~Oevb}*CB^4sHk~1d|xy0Z& z5QhQVj5)&v_-_q>UBbx;#tn!6tY1nnXPD#ij$J-qgP=ZCo`xsXb7yc^0{!{kvy1dA1T>;;!5%R(?OqZ z5Y?d-{sa5bm9s5-e?H!!WFBoCE$`fmSwQ}7+QIVGKHAgNBlYm41{J$&2Xn@Zzg;SU z!|8cZQce&ZeXbxcdoCH}3*Epk#7E;eQoK^37U=13M?dRDUXDy|gi|dWGxYMIDvpc{ zSS|I<`Gi91>rf7G&LOm}U1%O1%VEf}VY^N5){hc|{ytzdYFhN@)*p5L=>m4aTfMz$ zsUzfKl%~j~uOX;*WI@2XBB0i9R$Rq0+IS6Q8u!_Y!Yvf7pi46LDV>vE=3`lauFPqQ z{tRP1;N02+h{-&04eZ^Qa8Js3XO9m$iz4{DH$+}3E7Ew`t`%N2EY!skK7{@|22FSi zag>W`$nDES!@fN93S^2wr9E8piF_LXaxzb(In^Ly`Zb-(hgUA^kbyLo6pCOw9y26ITP^i3XW7w32Fau9Hiwxc zTvCe`=;QjfY|#1kJB>0vm`w~1WIXfW>ua@0{r`*-k3*V73Ut%qwtY?hF!o+sMRlAo zaYjnz?{Q3h8p~NGJ?yulGZRXc8eWXal67A$Ej>i)lG?R-;o5tK*0xJmyLVEz3+x zk6tW0`LzQa9{M}AI$z0~`SG&tGt{0w1lcU0imXo@KHQF{0e7NG%|`VOczKmfk;N{O8{c;})ND>$IN(0q+6_U`)fg9RQdEntXu zyfkZFse`ESq^R^pZPcM{Kp>uC^rD^ykqKlcVoR;}%tPpAUo@w=Y3gS5o>_zYT8Kwd z%jAO|eO;IuCJGNW6dBjscAo@CXrh5rykF~>AGO=Ch)YA0SDrmck~-bHSM|Z&mvxFS zlpq;CJo^ORJ_2l5Od1drxwGYyRPxLt0D}2rI2Y>kGQEKdz4z4by&`w}O$YHhaC7aZ zN9N#;r|?F+ZpTC1%#L?DEnDkQ=?-sNqYsPHz$yg=Bvrhby`Fd1 zwBIkayCc|##G({ZBQa>XJD!@Kc7i_lAc->*OG9yD3GNR{ls=T8YZ!_%tL?jZ zs{vzY%%Sam;>{E-}PfUkXP?^0z~>vUReYl}DXJ5^5&z zFE!dqV?Sw=35G#;TV(o=U45~<~a6Z(D12=Cy_W7RcI5z-yXV8&2RvHOe zt>^NxJ>uGSEtf_$WZTWq4#~1mC3z#obIwq+Q3D_~wB=7hSB$yX{l}MGO)p-!q$8vz zciaoTFmjnbPy#AFl6_x!I#T4(H)F-ob9|uw6D6*oXkG=Ns;WC=>!L7CJ$qZ3f?HmSIde@cM9jH&6)$7D0#D~eMb=rwKD$?z3t&&Qy&G_IHONUo?$pl?y z1u=Fhxqhlj>YKPJ3|r&gimikiwO)TrQm7Rl1I_srx7NY!KQfr21O^Qobc8CK*p9;P zB=zm)P7RHfqauHP008_SZIyks>-akXO~qruXMqb~{KsRJu0X56q)=@sHQ}d=FWtGw zAT~cWLDI0+K=HO5Vb$?jwOtC>s+K~S;=2QKS{5U@pnUnH=cV#0pr#omXW3gc|2NE= zxEks{Qv>H8v1_8qS9Jl`z=EQc%x(~*8*{@M#loIPRc7=9w4$E3KnoXFHYmW0+WN6* zD#ob$-4}Jr!E>x!$-Q=Jv%0BkrX)K~IlC`awnRJeVaP4y;Az)CEg6uULln!P=VS!k z0P>3siCm>}0rd&HYc1uCs^G6M@paSVi(8d)maj&ZJmB|5(8Km!Ve@-Hk69+)38qFo zUy^JDA74>C;z|!a6JR6yn3NJ+tpcZwu<@xwfN$7VW(B9$n+SA$o0X4NUW8tKLl^=X+;# z%)JpLqrDz{&!~Zuf(g)iy}VpiWTeCwe=Tg2tl0;ESZszblF*6+27$q|jo>JDTR6GA zv~OsYEpLeS#sc`r_=BxJVxPXjhp>EPpqnrCTvJS&zp`=u*x0ZXlnU*#dVN>U?|b@X zK6|XeRH;)po9`!d54NUW^uHy+p=b66T)2o#TU~v&hAK%a0l!C?hw0^8Ze+%`spo$k z?nwtZ7~b!!7oq~725MJ+tM0rhkL#%yry4OH4ouJ84!8JZj zlg>@Rv>kgvT{j->?5hF6qB>5TT03V$WA#>Hw+Jk;jb%VCQKA>B%crpJ_!ftV7)L8h z)p*Aru?HOK0k-5)29@jxD)30Zkn~UPFnN1Pj`%!jr_z3TY^iR(EDCP24lmH&p#nm< z+vE$^Nt*P^OZS^7QMh=08K$pu?^IHcj-nlaSB z`7@7BW+&e4;kQ7G8Ecoj@{6vFK_cLLx%v{7+cxeAGH|}L0x0q->KVEQ%bigVV!%PI zO<7mElGBPV<{c7f?*?98*OoL?hy-3JUf9;5AFhq&L$D0s#eI>_kKR1@^cnp`NKn6d zfPOd>(R4;GZ*w(9Cu8Key=y(c!#M$b`}BK!wXilchmt-aX>Cx@G$D0^Qr~Kc?7Mgg z95QEkFmFd<*9wD5X%!?N$yU>y!=v6vj^kqUj3;&Yg=^Dwj7ib^K}r6};U% zA?0Mw@Slafz2=>HShGaYaNUo2#<#uBp(vvaB6aKAb0S=PLSsPKfm9U<8@WA9Z9C2+ zHZN~APUe(HY&sN10V#-MKtC-p-Onx|Z<==B8 zn|>H9Z#&XIU~0tUzC{Z4zcuY4ks>(60Z5~+&z4zj=ewqhxbnL{Yb~keCO5gb5*OE{ zw-d;3J8m2v|37~H_&)(Jf!&4qtyqv${tRu78(}pL2E}NgGk|;XcH@k~?V#@FC(ai4 z*7v0gYx!LcRTLrW4KggcKITBn7M0^Zhl-k*;#ByC;OxGX^rs?YMG7(_6rWt+X<7o) z8D05G$$5#X`_*sUsIRH$^6t8J)*p874C}A4L(oNX`PJe)={zXgn${wQ&cE+Pufg$5 zqHk$pIUBX+$cM7{D0cN9Nrp>Je)wH6W7jRGW@5T-gk%^9>(nc5E~7n3)$!k@pL?Rc z%FQpn11h?F$W6OKBfd9Bz`pe=?&Lwee$l^tehLlGrM|W3GuDHgVyXE;;M241w>&T} zpc5D% zS`E2<@c_ZNSHYiL_=IH3hwc}N%`0prSp|~!)^z1H#?-}VVwr1+U2yybc+unRM@`H0 zQ|U6cP|}?)vKpZ7BH}#_S}T%k2lR4rl^?~`^>20+^w-b!Ixt6Qm2-rHVh4rl<5`6D z-Gii}a_?)GA|U$)+U|#Gak9oy0C~tFf=|P|j zaF$to)$Jzf|sB!q$*`dM-B;EhC+&o9;tdw?Uv%lg7i1LbLk}{z!HD%Cai{ zJ{M^WP9u`-5JhmHwinmo@RTD}XCOLwn)(&;-nPpM%f#~1in$wU&yLAJ-60C zjVYXZx8F?E6lZp=3%(D=ucZlyk1lPTi(Pobh`&md4%K8RqtLSi0)iRLg0aJh3IQW` ztdPC5o-H)qeYp|Z$MUT~GKNU?S{ey}q+=xBF(>c`@85tDnXsu8pYmG!H5{=V(|PK!l5EiV$f>n0wo zRJQbZn2j*{>!aO{fsIICj@Y)G6Pei9;p~TjbDYSemTWD;sRxMZHjIqNsT!AuQf>d}D*vFEY&c>1Ai2e=s^ zy=ASmq{pZXnrSE=nTF9?2)?d}4a-!OsY#qwP)H&>l0vB(MZk8xi)M3sZf@sY8j)!; z_&Z5RH5?=?H&q2GzOy@cbuFb&wEUg%@QtXa%C*#c)`ggZwwZ`^FrOPq;V3yoH_bdj z%Xbv$oivyX&qO=L5FSgjVoBmyw}-kpR=p?==@Ld}-0YO}Na7u@v-kYA{6BGrS+o6L z%l~Ld5SAkdNhMLGe!rvg{eCbH^e|W-*&pNqH~_sH+r6#A2u*krfdTAciSOh%jVTQ9)#4EEE(}MOZ8pibWP8 z3Mzs`7DPyl8314?tYjF1sIgeZB8d_TjDr}c#RZW?5s^WO1!Mst!D1qcqJ%{lDvF}O zQGyF1G72ihVuHmY$TC1+s-mJSB8m$XQDkElC@Mr0MT}M=g27_QstBmDV4$%87z!&H z7AOiLBt?LOAcGbtj6{n8iz1Ri7_uyj6oSa4SS%DEBL$IUQYb7^DHcT`5hB4zuvoBB zKv)X^pU}t<|8oLKIrO3d50}4|^9$bok6*9p;CEu4`3ytN>gnEiqRx6){Oz5#{+k^i zi85e*CI;o_QB895+7Q@cRED`$%xIIR<)Zs4opxJ0gxmrWw#+{{;rw;SAkag5NIYv* zM74hoRRfB25Do18&u^QSSeZDbGE3JV)!l&t znIWeyEbFInV`@_52lFxnHtyH!=mng!HWtj2f0a%DU$cIC`L1v819xs)OtrSSZ>(oc zw0E6zvAqs=#@2%2S5e)1vsu*iW3$KalW%e3fu2z7e`WdljI4V*wnX-afUY}n{$GLW z(C7bo$54>}r~2xDp&(fyU-rGNNl-4y1yCu3BvL}iS|s`d;^Ln{{^RofC$kXoER3Mi0c64pOd(q5CfvdqI&_t6d8f&S+F9xOb0Y|L9oF8Kxi-y$S0fk z0shvX!bhM%j=!Ffs{P_=J7@W8@)VICPjOJ77vxt=OGZeOAA11e#em0gLcduMVF$@U z7w}z!;hy{e0000%8FT~qXcDLiez21ue1ZL;Bp*rg{vae%`&=k1KI#Hm&^7|ZF!YBm zuvqGlXfPm#J2C;a*Xcm<1fZAW<^6;p%J*2oZaHDdAw(P!pqLuPq8KSWvR+CH3)Bw% z78V!*a=uWp@)&Rq3qU|%csN!pykR8cQKJr-2>>&j9Jv0q}S0(=-t1;BP<&GH@-p_7EUSHJ^kaB2eD1 zfbZA}fM2}U8UqxZOS#Ez1>y+;%y-a0;94N&AUQDb3JPHVh%I2Hywb z#cI?72?qQeG1miuwrElLXG8k|IB(gx)Yf2IlrcE*c$pQr(ZWE(Ug!=PO}z=i1O^6B zc%LX5V?-g%s3jTJxM!)J^C`SPhq@`=%Ku44lF8v}3nBe-p&}p!5gtOZAQ%W5!~xhJkZ+Rp z28cnz1CWEkR?`C=w=kOIAGlc-A9rAr{f_)QPgrff5gN$Z#@tUJb%cao*PI^ zy>inKyxd$r;!*t2%(UoHw8%WhbQqBT(fm6m1oxF8@O%9~(0h&ttvx(XSEJkO@jZU8 zX}>>dk&li>-di)_p92g|7U7-u%U+FgEv_n_3Cu9t;21yyNCdCns5A;_HgIXMC4vURGN@FJXe?+>m}}sH-7Nrt0Rw{m?xk=U4hXP= z4G9LYr2V$dZW&>j96k#J{fsEK44fPjZ6QHlr_h)TDnKKkx1di$S8dbSw_Rg8_mv(6jc?2f7{;zaReu3@4HQ zseG?G;bFiqyywp&z`20nIlgH8&?7&|278c?5a1vW4P-NfTY&8`1&3rJLWe$2&XRBw zo3IA7I|dC9hPkkf@5*39n8o|KeKw*{%A<+s;Y78q3`MiGoRIpE+0MQeKPzM7B zkHPXR1Gk{?IA>vM1i;Tf1#J`w!(cN>oFNY!BooLlmI(2{9(+OEm3gxbg@J~+0*j@< z2>+x3t+gNa0|JJZ0R53P2)+i$2)UZwamxhY)Bb_{ zs1lVPp5UjD%CS@l-_#TlLJ+}VDfpyA5o*;(*aRJ}0C)lbAs0vl5mV2h=Joz|S^PAi z+25o!C?b+VTlIb}xPX-X3&12_jzYlv?fSuE^njptd4fMobpZwj0q_?G|2_fhWF$VH z)))jH+dA-YFUlSF>9?RD8T<+z`phHN0vpO5ZXR$Lx(n+DKp>w0hZequRxNG@X1nLO z>m>oyJ_ozt6A%1Ci6P;kN1WT&wjOeH=VQZEXX4#H2I=$WWqgG&2?qya{TgdvZ6AVH;{kq21Kc27 zM+q5R2;ksbfUE}zW)TX2U_F31mJ9|^Ihfi5tzh6V+qIz#V8t+BP&e1&3J3-Z#0b+M z>PGI;ofLAY*pxpHBpBH!Srs;&wDdLv_LFXymG2CgKu&PiR%hP?KoAvR7ZEH6gGUIv z;+|^wJ`TZ92?3rBQ5r631`GYavVelRTo5om=HmUzPDw)ovy>RX2U?3DL4j=mfMCAQ z!UBJfs1HGq2A$J#A6=rw!oYzpC2lkI-p3}Z5KTGVf;oJ!P<`k`3#JkYzt{S}&Fm-O z=VbO_o)|WQ3?RWo1PnUiA{(hv`1}L|aN6Mk<2WY#i3tS_P~Uho7TqHuWA`im({J^& zk_N?U1_GEsdpw4|0R@u|{cB-XKOP1C!u^AA6hK!&74`=`hwo@50{#2}!5}?M4@h<% zI0gj-5GLIO1`H2@{dOKD4GGPNLIxmW1rMY;I4{30M z0Phg;WSkAgfeg@#3H*j7h)4&4H9vHQvmzPMrK+m1I}8cB;;UlN2p1Sk!vcsxjeOES zVt=iY=f9-nL)3aG@a5?8Jl%R8dF82ondoG0^V`y8fo%8fz_D8^8x$tDt)=wSBM2Mt z^zABI#rFegvw^!(HJIJF_+2XfhlhHQ_&5=>w!+8iNB+ zZ8&<65Dcsd``PW-!{!{K;U<9dpl}lb=tu}SCZrFktIY zfUvOz4M7ZGF=-DEHIak~uj%}ufM6&clg&WLA{G!CL|D`s7D%9LWhEgb3UL9X1O$LG zASGXf8I1RU9K#SWoj(c#27>~P0GKEhfLn*GBn&fF!IU^sg%>2-@NjU11O^yD9UVvI zvoWyE44_W+tKtEOQE2Z7Xr^=~&jTn{Yc=>E_Z5`dAUBfvJb<+zp=gF!5Ue^AJ`Do^ zOTbV}KoE$F#0w7m-TKX@&?<;3C^*>68b5OwU*srGX3)p{pfC;;81NbRL0=*PHU=0s{!{7;4TY*E zPLuVlpZCDJ>UQdu-iUsUfp+Ww9*a-hoWP%y7k!PF*Wc!4x8tWM@?wq<(+G$ z^DMWT@AAUi4gldTt{?;&o%rekIugHEfB=I;+xJL!t_Tolqz?gvvH^Vkt3#`4NEEaX z#ULsW`Qx1wzR)-c$_pTW(IgrJ`Md#u!C|s*$Oaq1poE{B8 z-_Jo|LFNSoCIP*?Dh&qZ;_z?_)P)8I0{$TGkkKLu{O#C(o7MvlFL;26l7T~<7?k5kIP$WH>YN0|l=H=y397 z0RAI)?4WxG4+bDdKnN}GQ9McqKZq+sdgPW22_Mxf%B3`~RO%rCLE|t#&^6NNpn?a2 zL39}%r_#slM4;zE1OxBLQ+OO8zn{VnVL!HeoC#lmfp{5Ro6;MBh53Pk`Xn%=`M?f3 zxM=1CIPgF8g##ISzHlwCfco$oEH~CjRYO#;r2?NT#fk0d+HV*$d z7IGh|3ku*EYC3^QYW5q_24YAF*&zX_+Jo>k3?G%mV&1~7tDzBL&+-G^5EjD?KHM|e z&u05?x12ls;RCb-xb&M#h;lI5&s62S#`RV=WLtke)rqFH-fY-wHs8A4uUqCu?Xyfn zX6(gjh2q-i z6a+L13V^j2c*+~$i8dKb184^SI3RbN#6=h5I-QQkkE6@X zd5(U1^ZHFq`}N&x?R3)fa(Zl5L#8`(%XZB-@0wc%*?axKPCfx}5EpUch-gG|=!Doy z3+I;uzjp#?bq782v-%VAXh3h%1z(^f5GX=FSMJbnbm$OZWrc81Py~h0BOsdZ zp(oT2rpVeC5@Vo?pkwF|f89~->2|S@a|*=Z5IzEN3sdc|Oz>6$W3VSF&7yE!f`H@o z((6YDhz@uV1mrt_LqUeY3XlUr)A4@H@4#8Xbmkd>y;?+>PgxUGEDWx zlRT1;lnwbMyqAcmnQ4xIC#f~Wzt6PFH3{EIMV!e8djtv#0}HYVprR{4x(*H*mI4dQ z&W!)Y02Npe4KxF297U!G0^m&-#jyXe!Lw@9#VT%RbOGEKD2(a+qrqs?`yXd50J{J} zQdSRE6vOEQ4Q%TV2Tp^wyN>||&5$rcbN(?PL|<4=)?hMlKxiL>FDReEK;a|;Q9&Vx z=FpGW+6()C^*8Sa106{57z|mX~Cq=pWl}%4W_zXFq z95wnZKas+mC@8>#KSYpNQ4$b1Fo((oA(S(qf!rE09e{td6eWZD^5ZNgJlZYZngj;s zmHkQE$}M;s`NbJ^=q-daLVz@P_N0bLeuVS}1}p*opz?mX4a4wlg`mdwAp~jx2ZLj1 zECtehnYZEZDS-n4uVakF-QOe*@2Kb>9BnlyNWxS@xZeo_0_DP5dM5t!0!iXao~^dQ zp1T(dQAHq;MO8#&1_~;uq9YNIMHE$w5k@MaBB&}bK^UP(_MGRTWqWqN)rKRYoLLQ5cAf zVyYt}1|lk|qADXIBC3oiYluS5f&<LU66eq-J z2e_LnFZJ^~r@*95AOIGWA4X9A-engEVF(z76j71J^)3y;0}Lqd2`3&!rT)SBk1_2g zs2~I&l1{;Z6dt+m;BD7%2YK{v(8w?Whl$wVIFU}A48vj0P5^L|NG21Bx@@`h8;h6R zZHHOxK+y7G#FjF|Vu&n7Vj`*{sxd_sg0WbtilPdru|ySQMFmtvL=i<%MS_AV2#ir; zs>E2tV8m2ZMN}17ii|}Vh^rJ-7BNIcioiu;Dy(8Ch$=BeRA7Q2sG|{86;M@3#6=ZF zMHs4xq9`aTL>P$0h%sU#5fu?)EJY$HF%cACs)&LLsv-*%6jfCsD54@UQX&YdF%^mk ziYo<0L`bn%sw&1J0;(t?DuRkAs~Dn+krY8-!D1>gilV5+RT!%n!9f&Qiv&>-L{VZQ ziosPPiU}12RZwCh5LOEjQB)QviZMhKL|~$iq{W|R? zAQ2LT`<{)#3j-uL1nNR`nufseE(fB;Q6;zq2zEU)ejz&N!W-eA%=!0?(l`!0q0`K2FRx1bb&)QnV1F;G$SaIp~h$dc_1@G zObH91-fo$c6OJCOvP*_V=3_a@nFH2=D8}<1j#q6~5iD;q^fFg)Y?F_WS{|*3k?89P z9&pglc>=-&^FuH=!=6DcBnG1VA-Fe(q}wf_+3u<-w!%^2 z`}s*NsK}bmQLr#A4f57y%Yqt0^I1j84q=U?vSJ=Uniqr%dC8~{$T!TT1d}P%0)oR1 zX6sFYT1aX#00!$giBw{P0M|MRV6-9<#x~*i&GUTNVTLs-tA~1sX#%*mQCs>HM2iM7 zNbm&1eB%R%!>K#41dt&MKmaljz&3R6l1LELHMx6$5QoGW2JNKnHbT(n03i=BVr()E zmJ4nw8VTl~B&h@0>@d{dx#dk4vA8FSVd3FbR8dux!-+lYlfHRFrbkOdQu6kI5Qh24 zC=39xL5N~->|4skrJyF0fy6F%79p_4Jjg?2Hy1oS00={2w777YQEwecK_VcP3gTc; zTmyXu91dqjAMr>ZGc}uJ*$z|uAas|Ih0VVBNeqT!b~j7w*eYmooxe}0n4SYZH@wIU z^Z7PI5-}eViUW^>LFylQc{_+vwH#WJeIfn7(5Lgim-8pp>&zsY36D0ta?F+zWqI0R5lq%Un^x0{ZvQ-4E?3Bw&9XR^6@h${3pg%ZEPy zVek0851Yp?KZh%5=i`TWp|MRL;$t7?1|9694Oe{QSMEOqn$tW#=ki80D-P;{?9<#n!8onr;^zS~ZJzeSFna8U;d58Oh}2GXZJ`q#jw9*2`HiiZHh4 zLYcdF#g=%^+MsQNr&2V}nnbop%g?CvE9gk9UmJk>tLtM#wX zMcu}}u!5W`uPz|sZ`;Xkbx3hl3+mIbJwUH{#8Qd7ih2s;mxo;qamLc&mE^ZtZ|WXe zv3RzF11P&u&sy)HLsf8Wi{nOTsfODP^+kPNAunbuD{7;?DXLs@8%%8S(mE>aHicbu z#bDRo(!j8zR25(a&E$;EqsMziX(;bz_W6_vAxZMzCbdd+*`6a1|#H>DeJ zVh8g==a!4T5wIqH`oMP2nIf_uPDcPpbTdj2c8Ps~A>MEnh%8a*`64~Pbx^34>L0a{ zZLSsr4#J*fbo>VpM0-WFfo7KiykhdzFju?tvo{b|i>4!j+80{oS6)mzsK%~wbg;{d z&^~Vlq@3$dddRS#9>TH{+LrF~JU{D1%(B=q|%u?Ye(;P5wvI6gg#s z3@K^TCqwYZDwCXcJ>cux)`DCZH}`jzClMHu5%S3R*(-to^9|J#U-TweXM61j%S$Bm|_3 zT@BZ@PvKwHkf}P?_mz^a>w+tsOT>HxeosR&@O4f-)md7O-eMKd3;I1O z6P{jxB<|c8-pOfp3vY)HIch?!ch}9puCdQx!i-E>kx=uk4bR@5EqQjfmo;ain+ola zY$OksIN8mEtX?1=G4tfbsHvTps-n>(Ast({0Xv7$RB5h1EuH8sGvzQ06+jA6KLuen zIhe%@O;XTeuPLmU!L`zS(OONtE50e`((i^Sep}ld=*e&y`n{3rjH-M<#O=C>I;eWP z3b)>g=enzqyfev8oVkEC>p?4W@l~!0KqilDkIAaZt@769204v)JDm=|)2O`(p2w9$ zJKr#DBdv~E!=BB_`jy3Y$wlj4db*s~;CFEP7LR60|%$U_*xT?|8|)lJh*f}AJs5+{bfmwT=j5(cd&*@$ zm)WMxOg=*O>QUHzn|3p{OUW`8QA-E~Gsxr=LU~+Jxq82Q&RSf#f`=$A(;F8K+g`sD z2gdBbn3KTC5*{sg5eUJef6#?1Y^V0VDD#__-OYbX{!4l85poup?JTrqFrTkpIA3(>dCjnf{HlBtsOcch~WEeeJHa6+}!Vb$W~oI%qxT|0@& zR1}BmA#K($JN2;2{MLiH@n+;LUmwNttgPhN#hfWpnl-Xq>*9|gCP*E=E$g43Y$Ad{uGeWrn^}w`-uVXZ2q4{Ja-6r6djB z_t@q#8}vKV{T(e@J1pk;IVQtYF3KZ0+s+~B`lmsodIH9W*~IMz);YZ365Jz^vP&fr zUgQe+eolAhY@jJcaXYv-Q^uvdzRgD8X_Q=H<)WkriZ=5BZE39*Dti8WJPsRT95jZ~ zIdzYE1`lEj>;r_07t{B>O#?gQWr$_wt?=(@7YM=5VbC~(_r=!GaX19mPnV~E!53@w69pcDsXZj&F^1ZZ<~C@7<{cEzD4DwxbQSeKLtgwoRjN!fj&Q| zcW|)KWV|16TSBkNb6;O4Ahh(4SkQWed*g{bBdSK?i}4d4vl>qu%+%U(U@nDwA@TDA z!-i9f&U}(4OL>bD>#lBzcI|hW6AdjCV;inCekVsxYlh>vzfYRQuo&lGcugA9kY%{z z;aeR#1`*^ zl`l+QaT!R;qty3qS?h(6RPk}Hj`SIfnpm{zz}ZV6`$!Nvz7j_u6-`Ozx|3HbTe5`( zF!PT+QTl57~X7oD)!y9(n-u%+%>=*RWOPEqAQ+|k=^v{m+Df&0biaCGt((L~rdQZ9cu3Rb|eH zQuPWtQO=sOy;7OhM5XcOxumxUUbjzllD;nWQ39gH=O zWZMU&8sK&2X3mK|kCW#)4AGgRbU6;$ozm-V`Eq2CDsQQd@Al6(X#D=cBDf(6Tzb!Y z8Y7|P(G+?2-?|kfBXGSrVk_xplVYO3V$D%y}e(c=bO;TW_P>DyKzKHnr7N6=xo%(`Lq z=gOS}N@QDVaL7~HN7u7?#J?&1ib)e+d)VW@a~+Hovyl^?U(UP-?>?#0AY*cqh7ENp z-WpE}OwcsAdtK$n=mw#9-BVkt>}aD}_upIsinY`+JyxgC)HiAdje!Vo)T{OHuBV3n z+zhRHzq_gArvA(N`1|a^HO&v0ek+iqy|j;7#2Ab#&jDf!T-HvW`4r4lV%#WIt+xk<#x1=WVD5Qjhly)D*2A*-Teu@;x2g!f zjalQLCMuXv33L>q{=B}`xvXrBVdY|^*Cf90Hzf+tm#X`OxMyS$r#5ec-Gh^YScKEg*xHi^qbP2c7jL29eQ52Oxze z#^%Nh=oV*yc*f*}_t6Coi_KQCQ+Z6*;6uW#)M#2gt2_lgtq`rFY*aSCn1F zIasIO15r(}1UWmXh~307+rzO{CyeY{ys@NkR^Lh<_2(WIgf%JHnQg3^i}G?XmOSGj zs@6R+3qbwbInC<2HQP6IJP&%KO>n1O*X^n+}0}Dw&tRsJ777QYlbSg43E#;(zE3b zxNj#ptie8rTwu~y<{+S++;C4fx_IeAUPi&<4OTOCrqq#Z6;VjwW3|EWN3<%o;Ci8x z-Iosz{q^?uLqK$iNhG_ySZwkH>Bn>(nJ$K`I+m*}sbiA0WXatIky>h4OkFRc-?r|k zK7M>}fytRbnrq^V<&v4Xv1^q;KbxOLqudtPI#T}FslEqUFnZ1WcI}ZD)k(hC|o*Ye%A{bt~r*b7J`FWh7^z>GJE>G}yE+e>UP6)T; zcYD(Xytol3$wbwI^g>(PDCAk)0(xEbU#vThobOMO5l_t1b2i9{9ds*gZ?Ix>1i^Ox zHn1Dw^b?a9GIbF}{RBU2(O^%2{N}`akFvPP4eYrD(lJ)@HwL6wk`&9G3u+u-Yoj&- z*g|o?(g}Xbj&yA*@IHPWS5%&^2L@&F1UTPiwnF)PuOuaOUk!?qD1_}HZ7f=@P2hg z@zBakdNU@YPMhM4Q|Z6S8FysqBW-%c+)&-x1D{Q=r!< z?f4N6x|juy-V zAAHQ$2y?QBEw^qA7V~i|`xVXhZSwoWr?H~G8?5n~4TW!_4U;HSNR?4_72sEg-Hzuc z+!o|sP!b8WOVq8rcH0MOB79;ygx%=z1u8fbJF+a(J1C zyB;f9=8GejIS|@8hh#eiS>XKHe!U2eCA?LE2|?Ej(TM3;hz(8i0bP?Mp14bGv)@J9 zO|Oow2t@OZg^Q^*8qesA3U=nrM%mebQc|;cyRnSiRIWzzn6S|Mg%syEC%}b8h!E~ zs<(V3GAUauU9*lsXhizosqmkNBEmB~;^QvhanrX=Dq6f0zIw;)P$DySm{tpFmd_Vn zeasqbIKA%)18>&fZI$+VwN3>Fk+JJC-8Kbd;GvJJdx+raP}XzG{dOG+(dugvaq*|a zIxrpy2Ogf(PPLMc0L#QTVS2k2{BxP|U1*vZ>RqFVDdXt2-5fdLX=iV-0#{HpJp_09 zht$a%5nmO2p~*CsRpRC{9%R~Xs5f@`on>JbDije_4wsFn$_+ue<}oNb5TpS^i(Bn5 zAorVjnAlS{_?kZXPSWXG`CjZ}$R+CC)UJ_r)KpkdO@<$PFriz!X_#|V;ys*Wm3}R8 z!*$(8RxruU5#`g#K`pK>D9#oa$sqIW@0Y@9!1cy{*>ei&nnD2d?E5!t6lPm5pAN7d zd^YfYPu8T}y(HTW#v)odi0PbIqq7jze^q3A@^p_o``%sTy1*Tfh0?WJ_u2ON=WxpV z=Z+j!Id)L?kj!r{l}t0IS8XSZt|luNoQ1z6dqm2IYHuwesv>^(V83r@%*>?PVj3J% zbD9zTM^L|fPm7&?>0`3484rEl@r*`1b;&CAwRv3Avhpz>U`|AkpcrfJs3BGv`5AVn zXPX_@TF;xdf}nTjW?bU!T*8lf@QR8d{Q}L$OMa*qz4GLqn_YDaPL|2UmkgqEuHvco z{ik-{23r}E+$=rXs{GP}@=I70)bJiQ2-$NO)Y-dSbLv_Gsaa=FIx=0N;pp-)dJLCw z?PJJ4wfx2kq7@z1(9If*eR*7!vDQ)U+R0Fi@hvN;nkRLW9$o8MH${=l3=RxU+pJUK z0}7?l7l}fI1X^4bG;(uCFUNdZ_VeD5VoXe|mEYF4c(mMZT=XjlBhquHWT+#|@hT~( zY~LAU9Pc={N6qVzqnv4?XSyF!6a$kY56(2kg0*f zfd=aB=MjEv(4LK-b4ZCAZ{GIbOH11f4q{BIp@VjEvztTegUW{oq6+w`A=ZhcYMupL zb-jNHI%yUbdTD5iahgzk#Pym7kyVwjsU89PrX%VUFnH5{X0uZGe#c5p^4|GadR7^^ z7^8v;Ajk?m1{P3HRpVrGDZM96z7#y=S@wmc)VajH@cqwrV5id^mfX6OMBUSB%>I4` z*Y$H~Ch+==2f<~P&V@yVMcSmTeaJh2$Z3NwpqLcPa2?`tb!xg zo+NRx5OudyzBb(~s`9I&1N&@r!O>hpJ%ArvRoS@OO=67}C`-)6#6&3R=-$s?iWs!& zyDJ4%Bgf!qUl*N8khc7wZ5~N+T;+xD&+N&J({WV-$q!zKw|uYi@5wJX10OO2`7sZV z-3Y6|L+>rsnchM-@bhV)= z^X?~lopu7_=VZmX?o+Rok~w&X=Ffu65z!~5>=RK3;u^~JGAmiqJHc$Xo5(Li*Y38y zwLVCVNBw+eu&C!AwAX;#otWFBn?_e+7sMTqoQal0>G~*6MB0s#F&C7gHLrdHA(T>@ifT~c{B8FCYq)DD9!aq|5gLpg7y@+ z#H4H^q;%IJPh+c|mw5bZWlBZWxJ@^@Fi%%%R$3$jbFWa`0AHOYkXIWS+2w3Rau=DH z4b!G<`(M`nC`dFI0zQ`d7@;>nDe?kKyc z7n@x^&MHzznTf9K;20l2B<@wh@(5#md!SPoUv|Yb(c!z49};2w$~_6(y5mWg&xt%{ z`_ry_?s1IqXSTgsoLsGVd^}QE;zngHID(_?4Ci9&`E7HVBqYSb3A+}H?+MATWt{n@ z;bjuw3sd(*9wBLF+z9t({^gz;vW^nC$=^0!H_UYKXdb#4S!$-U5oDSuC-=yF0Sc4ynI z7i&Wro>60$?Gc#m&t^2qTD4m97{qc`XyJuH!R++|8o|qUeb}lkx}_ZKc{*G7&wpcd zH9F)HYitSz!3##!C=W+%%6$rv#361LGR?-Ak5_CE@DzLtu;e(qiH&Qzj2t=o8T~ri zQQpGE6Ke}2&_@Cd-&ZbAvCeK}iE5o*c33QeEkn|wBIEF%kV4%>@_O36ygxM#TvVZ% zZjj|wuG`VS+FETDHHN&8eaLNdq8!O+4%%?}a-+;0RlRk}Q?+Rxo7 z_O@GLWvsHV4#tlULm|zsZs}w=lB%JuG`|6h--uT;kHuj1vnA)~M z)3xqAbxb1ps*SK`>3jPzh%~;!Vnq2>sfQWoqBy zmTJjLnewaxdqAx5`b$0v%jmkwDrjt`gy#9zi{)M!L#5D!GDr=f-8*BE;$~~Uf$atA zT@fuwVq~Z+st&b*Pnje{UcO&4(3>RL7pAl%+Ouv?f~I^(XObc#V51jerd+qRYKOYK zE5{DDY?iEpo0mE@DubP`1UER``}A7=>QN4eZf4#Hi86(WL<2dW$ETS3FZIwtIWjsTK~n z^>`@x@-8FBq1`5NB2-*Q$-s$$^_7_y#&F)>o0vqzctSEj)95kw^7OTXIO|g7#>8Y# zG>)VGjy{{jiQ}9FP)~XSp%nw7s@<@HwUyF7hYuAKqIb-U(2UCOUtVtAsCe~H>08(O z_b@o_n?ytJOeR1xpw1TLD*Z<}3FmOScBfv_`_r|Ra3Q;;M57vkfi zt63}K`XbnLs1D%<146=`Q98;L~u3uR_` zfdvnE^3xxBqo&bfq4BC4D+KSsq@1vl&D8Ov?Xg3uJGlV89>RqA9UGnE&sb(!^R|;fW>>A!& z1Z*i)$0cNK+Ag}I%S@FHaccDlZa*LG$J(E*xFZbFrPG3_KG^TFvrYF;zQ{S{XW!c> zC6FdiRMx*lb4NkudKY~_SA5lWFMm*%PiL*qJRSqmSBW^mnda{H>IoY-!|2+-iic>Q zy!=y!%4=PPdI(eod~H-41cLB_Kr9 z^w<)?dtAs^=VbM%Fd&ULdNiU_*xeFYNn{6qSr^?nK4y;{sh;d(wvT@Me%Z-Y_fS+b zY+VnXUL(j!IUSX5@>#zh)Vx){2o`nfD%w#aafFKUzr{$`^RQa5v?I5!HaV4Og}x(# zf3+6rh_y2+xo#V}KIa&K!tCc!5gyI{V(M9oKz#(jWA3sip(h0uvMy@}3!-JM4wo?S zB_$A*a>#N_?`a95!0!0v&W0hP>nGsl)gqx)Q_Fh3YB}GR#B^7uV-VFd9xiH1o~0XZ zmkUF*M1v~YRbI8SxrQ3zxYtF=o=7+l@ zEeJVXtgrB%bT!iqtBY&y%2p!c>Hw@2YH%l(5EJK z3Rq0jLA%d76ob94f-)H%rj6ao-eP{UTj5;#_2qr?4Nau`A@$rPcb5T!?Mj+d77dHw z?7~!kzJl|VBAlA~KF!^M&r+Z_a@$L#Z*=^)G zB$o8(ao&=iu30QX5bjTU1-zQLMpEqOjHB;Ju7iekneYz+?oI<}rFmgLeNZ@S!t^2_ zp%Of*YX4t&oFzsMJ0Fqv(12AT+=LraBA1WvgSj%O2viVD34SLHb|*acn@(Bc$3{^~ zfK+lh*WE3Dlgp1u_Ue4?ohC{ImSj1ApG+f@Y4YHmQM@u1P<^_;3S0-w7%2!!(QMh9 zPL!mI-%r=fodS={N`luLf^!`u;`*0o-oD!i2sJbay;2?DeV6lIxXowK`N@WYpAz%5 zXQtYMflF3M7c+X5>7f=Pnb{ojIQj3)v!Z)CtLt?~O7Dlojl@u5qUv`U4htRfgf<1s z+d!TyXm}M9l(mTfyQJZQKYJUK;5!(JAjS#t_a$3GLnFB$9*vFQXYV8^=Ip%nwY zAmNOWHYkP5x0{v*Q$`&kmorWFyQTb`WA81kyvgsEV^cTY1(hk&AEvjij3TfjlbyU{ zWA|$zr;+ye=h8qUz6}(yuNA<9>?uZjjI{SjX_fiz^12emVY%K`N?6fvV{0gONWG-8 zM(znDt%X29eEJd$+;17>1KrIcX!odRINgSM{V$fGxwL1^0`X zqzkZl^P|HI!46)fx_&h^Gm-M2rMG9nL!hh8X!>)|N{gXS6??h6*1laU=hx)3a_H6c z?DQ6O=4ZMyz;9L_A4aO+Uq~l!cvH6uy0JLL636aa*dL3Bg<7Kxu;O!F6)aW)_oZwiB!1Mt-DtA;VItOn{OZE8f}K5eeBM_bX+!Q zxklQ!hPRPGpynW1Gq<=RFtbMY4%`wLbBn^Lg?J^4i5%4KB=G@Pd*W-tyv-lH)371w z-@S~>2VH)_DDhr6i<%bA+SJA!>Y;jBCn>8t$DP|e-75t)xrh@#BtOu>Nb#jTTH0CF zHg@la#=WTzS%uTk@c5=x>9}_K&qO9ZZsq$mWmP!~)cFb#ktLX1v)l0sgs^ZlGE_Ti zkqxLFYHGY_>l)%ZmMSxQCLQ+~VVo=|6Xvfiv%|!^FImwuRtQO5qkD79bIX zJg!rj&hx9%BJIORvdP=wya;D22^y;v?DRk&+QWN9%L8;&bYrwmGnMnOKF@3~!VHvr|(HB;3Uf)E>k)I7`) zVWz4Jy**?rf@TJ%%t}{J<^`CA(-R{gtwDNNAswW+oQ)%Eh)0%DBLTxWIkQy>>*cB_ zgDA9Xbr#P0v*Ok5Wu&9NX!Ci3aE_Pbfv^_uZo;$B+pTBAgv?y1ays>WA*iwrIzHb8 ztc~^y9nZ92YB;tBHMfqWp{m3Sl5!<<4hAxHMy9Yc(`RKZ8ZcR{7!?BpLVer9`wf)= z4VlHY!R957vXqmD8))c{dnw&%R86^5744;3k%jA&);edNJmNoKe3l;mJte^Vd+e6{f|{Q+9-#cWTc zcx*Si1AF%}h!VY7plB?}Hfef~oHo5Tiz7}9)lV&*`iN{h#ij?gpf{6;>d+gwZc?(} z8}Bk|_zC7sTQ$)|V!n9j;|s)33;l(E8Xjv#(TXgV+VTDb99#V7b5x_#Px#+ z8#~%`DT+AJ9^S=5r>OWovRafwY}#10LDvy)rNG{@sW3UCQcA7U%qwRxPY!x8z&b)j zmG$mW#+PZS2RUDg!)U!XDeKPo6TCOBFk`xt21-2fZ2{gc=Vo2^!i{ zg&7A$?;9?8IS(8Kr*0wlX=kg>mUD-epzNpdrraXhm)KBwtvQH8?y2CpZyGc(ZoiWk z!_5cp7MQ~Z9}3?u9lc7-_&gz1%VH6CYB&oecr{ zO47GUX4CA&^DXU3;63^POY!khhLebS-0j5qj^j(Rv@iq(Rp&(S7KDQ>nAaMU_TGk> zn73f1_sGq7Tc9JPu0}U-$Kh$FjWyYU`0H2|e)E(=qlYQQuYHwP;DJKzD_Ta&-vJ}* zzoEWqc`WuTbTanhf;BnYJlJ1T2X5q@n3F3e`1n=DqXX4kr9Vb{EuiB?{GWYUnEONO zx;{`N=Q+XWB)D?<)5;9FBfXk!lwCbb_NPEt<0pdUDGV9N`!3szs~A{kr@J*cRgoQ- z)6SXt+vDDWAXUd3=99P}?~MNBYo(VaEXD)%NF)KN#Gl>naJf=XB`U7Q@QPOvyK_&s;^ zBH;4wf<8wdy=SXmK0C+Dh{(95iHUUx;CV&G@+}bQ{ULcb`Am>Y?3RM{*hKB8JB8e= zSm|Jv+jI#z{d3cQ}`_pzz(qdfuqEk7bil^HN-XUDmiUUb587h$Ltwf*WBJ4+JJr&X>ZzHK_Ln;_r5;}4A4$L_qa?L`@N%7^17tJ^U2 z#7Nckk|Y^QDj=EAP{PWYp*3|{NcV17AlEmnBB^@f=dTbsz3F4{)?@Tka$vse&_)K- z&a-7i=2G5s(P`mY&IB!;?k~(2={D1jk>hmnkrxz`hTlApeXQ1>FF}L_R}CBCZPp+O zuSy9o+oLymTzo8+Q^gtz1mPj6S(RhIe6A*h3)2u?43rWeJq<)9bZikWm<&14Ob2QX zh1e_2$rYYxD>T^hjJwiAOP{xK`!=jokcJiYDDQ8J$=1Bpq}O1ksd(8BL%TqgfX}mi zg{1KdRXXd6cv>yh!KgbL=a(tfgR5jC~GWpOxd&;p&AD-7MruQ2jDdFE6mrpxHzek@! z-R~npW`6qYumootCCqyVMhbxOZy4{-v-I!_Rdt3(MGq_nnH>B}-a$f}7=lC_?{yt_G%$r-+A?jN%jRGDPHP@s3CJ{B-2_=WvHE|4qp zVMymL_y{VMVlxv7m<3O+6<*`Ws^L+c>7vLFsPhV>A>S#Ciww`lv0G;{}R#drz> zd`JX_KTz+L4|e}Mt@h0sgX;0d{d);fRCD)=V37gHz5{cnuC)2n4!-y!(6Eht=tG0d z&{}bG?3nEQI%#_Q&P96GM*T9-dfpKnwE^M~%pf`LSk@)K4DGNu<%+nPk`)eqexkv0 zYy0coQF8*XORIhnTNU;+?M4ZzNI~Fy^r2cm22!<3TawizW~${1gx8gh7wq7eLMau- ze7^zL$GSm$LBqh^=xS{s-+}3xwV>kFMuDL{m6!I!Mwbqq@xRUB#LmHGF<;m0*fa>3 z+Rs}aztqvrZMgmlWB4|XwDe!LMwhP$l%2}>{4+7Phd+s{b&k)Lz1!$eKG61+wFLz7 zi)230_QEoXJtE72nj99b;>C9|xrsn;8>DEu@Wl8X{C*X&rAuZLt>(vRnzyFJ+__-3 z+vX&S7?mpDjI(HHd&44r`O|m>uz4vWGpS6bsRg0@AA3JlKWo5{!x9FSnwo~RyZ0A;Sp1$)K1J`7w|%F{=DJ0)4sr1lR~xjh zkIwNQY`4@>l*L*UP{?u5%y?>^F}SOWg89DE*4-?|kyZMy)_Rz%EM|%60D z_>X!MXm*H^5wuyNX;!(Y>)qdQH_>T#)iH$vjt^;+nf4j0Y1$5_c^L!iyPSA+jh1VP<0B-Yb*PP~I&16rIyCVI~xgfC*7aRMu!#nkM zu7RWA>RuD#o+uZ0n?pM7MKt$m1qidJY@(&Tab!IG$r{pmz@)*ePre|H%B_-kS!3?T zSATL#N3bI!5RH4;f#N+5@IxCY!{tDn z7J+HvkI4|ZbJEsv<}q)SBSVz=>jP?QTvI-=F7`(}Bk?&~J?LFiS;A)|p2-*xILhwj zjM=!>j?<+e7;(<6*M#VO;?OU4BWU#4h>+Ks(+)R*Emt3rU`uhHT)YXyVXR@@SxH5S zw;JnW3l-@V#^U47-*O^W`1Q?Q>UL)j#YqbxmDbb6TPz6Nr9gfx7Ox~*Dv64)&gQF? zP-`!<+PsIN#wrfp-q?ov)9*vBL;E5io;$0USjm$5;VooXmF^aPkc2ux^|Ned@ZBV$ zzk(B+rk5S4c+P9=_L6*S?om67dbmRg&vqgCYPn3GQa5-&bKbpi)6xd9wW7J9SU*sO zaX}|Qjtl#hU$$G?Ba530A42cb2rJDL?~&P{d}Z~=Ohe`cFf}UuiBpVcKUS!WqT%X{ zu1swmu^?Lb03=eP&amO2Spv?)h`QD4tJELee-jD`H%96=nERb;(vT5woFt_Zj;@;a zoVdk~C!zB76lo6PdEbX(B?K4deJ^)q^=)YQZUmzp#SXOZcvySYk8PKH@=2oT>vW^= zpOR$CR}|$Qxux)&?-{1EFspe#Yx(5%MibDC;q1UyYrQU9nReM(v3XjXr$CKI>xT|t zuXl4kYm$4FX9Je@^x24&U(YNered=JT8SW??YhCO{A(V5lyeoL>^T=UndzS4PS?LK z0-vQ@M!XEyx@9L`r!^jRG|(i626nJdI#q9(;Ix z;Wx5G8rxp;flfqy!0+C$8S%cNJvL76>(jaVv0m7msdU4Qg#IU3_^x@J{4_~9hiU^9 zik}eDpvw^+>{hzipVF4jZ}`iv!Z4f^EQ!!;zGYP>J(qV=W?B2^>f-j_ zjc`nKXC#|@9Aj~qir!xUm>~i<-Iiqd&CJE@WStg*%?34=1b2%uqoqsrWAX8fH(lbs zSPvu2D|SBZ0CBY`&mxUL3Kj1j&WKq#zKXL@mtR9ql)cV&(JnfrdAy=)@YvWyjC@=0 z7DVWTci!sGt&?R-YAW6O&o=>qTigZ)){2l#4CyjYG~|Lz(MjElQ8-Z_22%|DB-wv( z>v?SfBGk;#W+qR}-yi4Z)mqsb65^9A7x-h!4&L7>?A@9LB%{BR=MdO_`liIzx0RS4 zX|r@EUsCyfWG~RdSz zLYExg@{$h_-FXyR+WE2QE1Am6w=6~Aw9*}5J%-Cn6*@=0_j)(%bj}1ibWb#GTM$Z7ef>D|qpXUo<2 zjl0GkWM1@%hT{j;z^xIx#<7FAZ@}6GJ5{MjZG5vJlk}7af#@vOzOs`nsuUeHuFsX} z-S17?DOHTdviMhD5>pt=yQ6k}QM1@A@^x|*6dOUul4X+06#TZdsABce!k&``+2Kf9 zDbOynI`#G*{C7+YT6nSdKEE;BYEuP|%$iMrARdUEi(r1QzH;xy&nS3jvwpgsMZQ>J zW#=>u;m%>8bpznY+!A2axOMNVBX7WdxuXGsCE&3+zSe5UymeU$DYN_a{C)RJENt0h z&sNt%+E9DJ5cAf5gnlnPP2&%?QZrUn>%L0u^&lqL2%=u<`#0S`Ar+na)A9BrBOpcUbEdjNuWZ>5T~SR&Sey0ymj8 zvZt=MF4|qlSYFQw#l7uACi!NUNOVulpId4%@E0aVHf}AZFfGbk_cdB&?E_DDI}RHl zjpoxLUWt+EWbd;B6B!`wmJ{X+JTm#en+d;6>7T+&w4o?lkbV=SVg zlO|8N(#MeX)6ZJXe{k!WFOc`fiUS2{)Q-|pET23##w+UIn?b1?wi_)~ z-EbuKd4Y(^(`$o-F!L1%`P;#+#@(MVzyB;aL!DKFs5w)1P*89YS3! zqac=hO~I;LgnFSBNUX!c}aH98lZOAY#jcy|U2n%D)F_rk@|k zc^-ZFQf8nD4cO4kVuth840?7MXD@jLx`96xe8SR{)atwSqmj}```o&Si7M!!9A5}i z1(oaivD4Js6zCr$7Nr9XN79vdf)qa?U5~FS*g3kADP7y)s?-5|G3Q=G_obUVJlE|q zzHUHvmtomI#wNj3Pls9U{clqGkMQ@|`{`V~UhfafNWtYGN=q-Y4mP`WuPE;R+Y`bl zcdMxqy7S6MtYH!Xvp5Zelr=-{%@tQn?O_sh!;MIxf);HbykL1A?CTAbr3MPGp&cJa zb5ed*5%=BRP?SvV&!N<%PPy_U=fAe1=&_oT3qd{3DHn(XF7URzL*gbzkm$FqB^%As zWW9#U;-c<*nXKZP?;u~dJ8|aNrwFxV$uFuBNw}5yfadt@lTNS;gdNrI=?FU`hCznrN$`4eu$X1zT5N>j+ggJSiSC0XImQ0MM_%J z5-V)ZB!Y_hw9Ikw)d44c#bG5|Z6kd1N-XFN)9*T(i@QdWw^ChKTJK&?Jc^2* z()Q-1t#@Te9q^Qcg~uMV?T^J@FQgUzV){HnfUGCiJ@F-D{2N`@%ld}oTadmr&%0vi z2BNZxuaPpjHZQvckG`)pw{+31P4yCdvI}fS-xK_aQ$ahbK4CB_C_H16;*QDBS3D-2 zpCfJ266N=Fq!ZqB6F_0Xm2U_QZ2QB>W%PD^pMFR9ZjF3B1##S&)ED;qr;9YV2j33V z4~JhVuVprrgw&8?6a~kSZ0OytyY1K-$J)MGZ%(wB9n@S1PC}wlQmLeJyM80SGm*Z1 zUiP!>aHzr^F&igjZC#2nNN^^U^_$r5?;@LaB8ISJ2Kg|%1gmR37Kbt&Jf7?2-L{U^ z#OWv9UV@#14zqVWey4z4?~m*X8ZU)n^>Lo)5z|=8q4yW$Ii)J1#jkRF#}%`$9AG@9 zDq;*yWkA<&WWck;ZyIDesz_vuNrV68fH8zQ$0Ej`RmGwDXdWq>c^~tlMnC zyQj>FutcfZ*HK|Ij8J7zB=fRBp&`0+6PxpUZreG2G_OCAnUH>DUVRXpFgtdCu9>&T zKN%KkMICR8p=MW96@cdWoh!NQtWxm=cOqn^+zyCy%$?OI^YST6=@|U7e)fa+eu{Pl zMyq^CSD<}W_>+El)cJQlhPWiA;`zu1+L&vPF^fxBk{iyh$KZGRPFvVI6DjmSlj6pj z`P<~=wh+o9v_`~tky)t0qb z469M)lFl&k{gk{UQ^q(>higj5r_JKp-eYJJnLXk9?B8SSU zHRHkY26GChaE19W?{q_9>hxe)4)RArwbhKs9BT)r{YA z?-l_2l9_JXESt}TNR0Q%UXi%GD@h(j-%%Meu{iIiB)L45#SW)AK)sbh*VNN=>bJN& z1c#ElTXIlTdOv&>^}PK^2pm+K_r763s;7X{@#7%3)6L5|CuaFr)rrpAK< z;D)ceeu$g0Jti%a^8itJs~`voGXjWKr^gu1KQjdHN$VHME_YMW=fI^RbjL)}48;Aao+O4RyZ zQfiMrtd3@AZI< z4S0b137%**oyM?A#go0DtATy$rO0-#QsVNV9)iZ5mQhciktPm0xk{7azR2U5^ll2z z0GH92?xZom)Zt*}o8Vwli9saic`Bh$?6o7MfJ<$G8eU+b<(!ba2@5!koF&PU=TG^8xnGb^6^?l8mZ3Kiv@ zm}lZ0w9-Yy`zR4u6~23})9ouiEK_Nf=O~rhkGZ)-{S_ z0Em;5!A#*4Vg$T_(|l=FBzj~c#Xf$Jxb1m3w`%$8!6lT7FV@!g@oVIIiFJ*&TPAr$XpW0 zJaid0z!Qeec0Ac0wQ-?VvS<>D`p6{N1SDhApj0vwixPHdt*I%O=Uf&?UvhF~yAgtB zy{en-cM1@b5rd(Gw3e=i8$yYe^R#n`Wrr7^zPJ4 z_P++6`YpR5RgBnQ1!uUbI9%s52!ZcxEpEhS z4DkEh!-?&I1Ey^@t1Jh&@>$NFEnbje_u8$$uN&MRIE9gO=~t@U3_JH(7fLYmPernZe2*_A35s)Gh~HKv zRBTt-tIxCU0QbaLz?hsNdDC|TcbBCK4fG6bta4m-mEOkF7C>0h8{csD=&1mk`$uGm zcxqk?Q8WiQ>ft%Uu)NBB@{iwomT%oC@WH<|TG=Y~)kNP)fbH;6t$Lm1&%bG zTyIR|9LZh?>K7%rtM+_C*`gAuB=&bNQq+J%Ute+)y6*i9-UDoZt(t9M5ws%bt>(VK zs2CuT0r(|)GYq7_L$b|MB z8X^x$SDWosmVA?pad1p3Z#U80z(%jDsbbxen@T>YH1)9xy$3WCk%K}c4Bilo2JvPS zH5jyx6(S$0w!qjWwdrmsJ{pWJ!H7z>f0{?`))PMypVsG;zO&Ns^Fi4kl$$V}2na6FnW($H|iF(7!JpMsB6;s2iLflZ(j3n zjZ?cJN;|woIk8|emLssx64y7ndA^?}HFpf{b#!u5=H6?oOuq)7is>HOBvy_hCv5!8 z4R4xhvPU^-UDTDfX{djTeKX?0v(bTRxb>Wr;@sw(j!FBMRp;B3IL;-&DE6-aQPGtb zJ7-~LkT4BSG3ueXkpdSYKXm?4#MIJUkKKQ;jf25%dx+r*iD}%dJVQ9N^d`d~MYPEB*yg zW2~{i8NW5;*C3crm^1A}q#u>el?Pc=YzD=+^H)$LFXGYbHvNGcT!~A`)06LDNNu8#PLN+H1dhvCFhQ2M3CKfi3Mv zk9799`D9@4v7H4Ky95oYgcE6{ci6g-OFr`+j{>dlSlnKiHv z(E_I@9M+ISsZ`+2d>={WI6`{ZV(oV~TQ=VP9Rvzd&RGVYZnA*iuZf~}mHu|{ZW`2d zHb*9>PuncB$XJBO1TFJ8b??^BmvMp!y&Ox}a-H1q(4|^W>-8y15LY2HQLF?@B-xX` zu<6xQ13>}KNwD?UoX``V?}ac}+0WQCW4vium6sBFBFq~h$hcC<;Q41>@+>?9BFy1d z#<=PfP-kIrO%($vr-KMGOnJW+BK7_pm6~NNmBW&zHW(Dt|eV#gK zksEG1xX2aNqI^t-d_(Nmo2Oh&!T9@ZoVXWj=kKvCWCf0y=cDDT-=$eIwwK^~df!a` zD-a&?o6#;`9A^cPj;B-Q(Q_=J89J~|PXhAuH#6Qd$#i83xTdMEuz_LD*1b5K24Y+5L&6>j&lc^%>#2Kc zkr*rJsSv?-Tm+160d&#~eOIZ&OY)L@?>N~z+y}d~aw>l4m!0p3?TbMSI7bcrKV|8k z)+V$mwV3Pk7#?&W(`BKqN^fa4Ha~E~k^w~Ej>b)hT)#FNUP_EKSb^?s?SSW*9K!Rm zuje>lq}`bH(Iy%n?CA>+5eLa*Q8Rv;640g=w+)(=#(d4nmRTGIBy)rBlk=(%o}$OS zZz7t6C>52MxVaP1P-&3IxUEWTu~ia}(ME?xL^jkqe3HN&-t*k-)Y$tMcODI&UU$b4 za9(pI227c69Z>8oW^HfEzhno=0PZ}pJ$AC4*9E}Cqd}+K4&ew4h+f>U6(2Q`Orsjd z)RUhT8b@O}oVJK{#&fp5%M#mY+JkE`#vxsC1R1pP)NII5#eL*&p=_0`g+4VZR?B(V za6u*$+3yZkx@un4A&DSyi#0_17-+2QflSFr1Q_O3K3Y$=>g^Wsk#EJJa+Pr4-6K=x zPri!|^$tm);XL$)e!ky2o~0G0j6~MD^kHO18-|jQ%)}w6AnWzMx1eZy<5L^RF1=qJ z!1P9jR!q{`F_-U&=HUWaA;Dq8M{xR<$6_e0^#~3Zr_nyY1dh)sGZr*F#J~|Bd&M>x>8hyFh@01B!Mpx_ANBOm&`@?({ z>QN*hMERvEoW{RWk$QOdfc7(Y)z1;Do<$c`ySG#stL^T?$>${6Nr1xxY1X;5(*n_E zvhI48B_(YSYYH3dmSNxt!J*gACgG4-*F&*Xd`UHi`|auQO46yYmtSx>w)HNFoj&d4 zLS^w*pCa&s+;K$JN`v@5AnZ@Z@w->0KdaTRoCr}Q3H3M5eT{l1{eGP+-#+#|(02z# zfW$cQvx?Jmfh3@M30Zqm;-U)L*f@{OL^2nfxqaY$CtlpX_EjjBTkfXCSk9HIHu?JZ z&m7)O(nF+0AYI?XyU}oq-;_H;AtsViU#ia0>0h4``R87`*$ZBwl?TB_Z#3U zj*2!SqXy2MZmq<7;|^-tpI>{hd?$!irk(~eKSVx`(iOC|bZ9r(jy~_KVo5UE^(0nr zd1`a-yVvD`vjilOcj4F(u%3 z29bP%oI_-MwMP%fcixWdi^5}J?plXm+Vi<873`mND9-G(+p&seX}Q0bciu2+6VInM znkWQ@>+P)%xr&`&pXJ1r`qp{qAm&GnbBP?%4EbN&nX|bkE`%UAmK_!H>cHQE-j2tM zJ{FBAZa91E&O!{0g z(h!_9Yl~Mo(UKY@Saf1|FA-XNcg0mRYLq!TaGaNF#ciFK_0kD7%p7Dpjy}>9bJv98 zqd@b*#36#67KVDCv$`ua??J53*Ahj+An3^FffScWOofW4IYgFq^IF%kiLXAyt))jQ zms5$n;TrfaB5`cbiVFcqov_u&QwhnlkouMzJVn1#TRF?)@FQvzwpVS_MM8Rjj!s@L zICUv7@a?ER+8;|pDx!IB#Jh65^y|wJA@Vf0E%s9NraSJ2H7uW*B8z~=`FbJZaJNqv zaV=<0m#TajKKtB)4n23HkyJ12Y<3+2K zJd#A}(F=Wi*Y4bXaJRCqm51L10fR+{xQGhZR&S?aUcs+Kt(bY*$$;l>cP52$rDjB( zaLty|k5eV9CH9E~I;=9am357AAr9qVZS@%bD=n@He8FQw};;YJJ!o8XG?o@JGx9sF7ai z+;jWDm6%ReO@t5Vx>kX#JE8ivaWo~Yq4kqv=gX%wKSyi2{p(~)=MQzab}>Razz8D@ zDccmA>n{eyqNVji&AoDjI>+XJtUf4C!5;wZbm)Dwx*sK-!G>dr=h@=s-0~*9SDqU? zxzRZxl*(HvwT`%270Yw62ig#BIl?}G%qyZTne?%=*@?C|KvwQDT*Drz>w|(RYil$J z#!6S5AuO+aK8(5Fr%Q0|eb~%p53#G8u&CQW!kNd!LJ_#*DtT3kMy5`^0W(6dJ=oNfyIv)!)_KV474%hucs@plIp_U_246}M^hji@blgCRo1l9iP8W` zK(@a%q^1>hD)lSk;0PXF>>eT^0lhO+-o)FrjXR!>%C&mV;Wing&JSem>& z?oAClJ&v>9+2C)1+OnInDH+J!JVK7O)m+7+!744ZZpJr&^kL3y<%VxVHL`Vn#IPO) z7dY5+*$TuE);fZ;WbJFW`>JSZ;!veh+7PTQ4@ccSBdo zc!BNN;8<0|Cfd$w;(5PnL2am~S!9j%oUKnId~2=@;C;Gg59ON(UP#*pWXkX&cEUvu zZKLW33{s82E{DBPdnnpx%KRJGFMD-~v+k^3NAu_`$kgyxfw-num`=QtoOn`#NIZXi zpLNss+2tj4MiA&h)y7-C(OPObzZB@;Pn~X>NmegTyN9puF{C!F8?oi+piJ%kM(l*6;u|eIA-TK=4Y}a7K6pdHo!I%zhILLP_`k0DcnHKiS*yKNx?hoe!Jl&+%>j zUyt$rU*i3_82;{A{>vJ>@lH>@G~0xK2?*f1~*LST9Qe&1cMd)4n(y;-%Z z&|{Gdgf4D0J+f^Cx$Z!KjF}cceBNjU!Q%l4O`>FREn{i#C$<^oHWP3rMA&9@EO3@C zVIhcQG*%g+8z^|*Ttq<-L`Og^b270}8<+tLo*)!l$kfoepp!GP2{xR705LXW4>sZ( zEVWd$0nGj@h9s9TKVZvPxO5YVhT9U03aB8IA|(mH;%+#i6kZq>HyY$vPNtB@FaQk1 z+8LXFY0DU9d;*FhA&nD2*fECFAv&2DnHYd{0Kn>cr^P=>KiC2KN$x$<3Fp8VGV>~u zWe~9h{ImByQ(w3x;rz0GDfq~Irt>HvFa{xnhSC#kh#H0j+e(JX34sm3lOy`fA@}<1 zkmSFJHqEg8?G53`l1wJ>#81i8g8_iRy;4|Wl%xcKLI|MF0A!=o65+ZAMB@uj*A8Y% zt2%`NFvLac0&@J^JG8!Fm%|J&JLWkO(1bWcj5m=BNXb!@AM*}|b0RT-L5Cw#o@;$( zfjJ-U0PJPcrj*iE7HYDDkedK160VC82Kyz5Lum_vvJfo@Z1;V%)fjT&oC+BRYXZfj zv3Ulf$O^JqC{41%gF8q>+E}7PX`DvWZ)F5BF)}R=8Xw*^_fhMK3?+OeV3XaAEB=9Oo%M7^|PCgexjI>|P<)?+k| zF*i}$rOYCLmBTnVW9+{ZO9M#Hayl|_IH}*Uv7$P&LnUYd7$*C4!AnCribUE+n z*E}0rK3ut08#Bvh&by!L;BkTb;EEo+X#_L=Uc=Mx-~Eud{Qi1>s8##d{8~D5(C%1Y zTKy)MjU}N%jJKi0Zma)>{#Va{#=wxwVzg92Z2{kYWF z`UzYo6M_`U*XWQSD@|@6T-U9KvrSvatS(Qmqmj!}Tm{YIWF`%mUjtBX2@G6rKrFTh z?-zHj4?Cp9g~0q8dry(BQ`)sHVh=Ng$@7lZNo4WPY5nF}=kzcM-px?95VtO8tX2ZF zhe8(tV_4~iq4{N#F}dU=IlHb3hmt+bsi~Z7L>{#7cC;`V%KM|xmM>3I&l?8L0{uBn zPu1>in<=1ZNGEKE4!`=~?X;B}MdkUwN=bJvnKH55r6f#p+e{cLKyTgZ#2xLVTiVT_o)4qmW40~ zhm)Pn&Jz0=Ce4C!E?{LtkJeW|n#Xo1b8Xc}hm}&bu3~RKJ z&6Og#k}aD|ug8NR<)l-1&$~DgN8MRL;~RczfR7bQo?GOYi@{N=KVMU9VzCj_Y;hJi zo)!0OsqpO`BY5**>s9Un@@-$<+O%k-%ydo%y}qiq7STN`5rF~mT~_NZk?sS!Y%4hC zJ`Q$tlT-l5-8&t6DW15|`A{>m#C%>AevhHOZFq+ZYnU}2xMsSlWp}c+dhfJ7o~_}b z65#n|`@MB}u)ZE2#QxV+#)#aLbiq1;w1ozE4b$=Rd)uog>jS}WBQ@=2FiW%qjJu1p z1dUlXy*-}Co;wYYylBtV=6eP1t{QHj#L7VSuZwJIATciLBiFk9T!tDi4B<6c5rP+i zr-6A(tL4Ga#vXl{qXL^zwb;6a z!t&&#zxVIK_y8eK;}4x?h5bc)_53MmJ{$OWW%l1Q>Ab*xLN2^`1MDjb=5SJAv~~cFgxcjEj1WIq<+j4!S4hWWyC#<-uJPX}0>?aKLNtC6?~cTq?NSlI~8c*)IR#ji_- zAaTTRpZ$s|>z>ERU|$06E8cegujY|?Wc~(vO5p97cN}HtaL)3WDY52^!l>P|tGe+{ zM{)$k9pp8HUiMLBs7ml&K~0Bnyxf%GJ2zhnYoD_2V|nRPIvDyeKd;wg6ZAgm--7Aa zy+d*KWkdw*rgb-cQl$GCd?^vvXwr&4$4)^zmCl;-XQfS*36Z)FSaH_X?*w(*#IbXz z`X7s_W7zMmKdSMel`tXFcIljD>ely-?@V^tE4N1yWxj-)tFN4`6kE0aAkuXU$3D*s zJm{fIDZM%6*27KNt9?ga#=RPY??rKCM`UlgsM}3JQ09qu&ho1h>TgH3*G^?EwR@Fq zUu2PJFLe8ehI&*}d#SDYs~`;j9Oly0et-pv)+ zdv(}nbeKi8!Z{qff^IaZj~Ad1HibyHz#EA3&j@4H6C2>IXoWQNsWo-}sK91*Xf3U_ z5aPXUE;aEFd_ z6@)N?mK(h)ha4OdBdBAr^qrDPKu%YYbG+lw)mC?L8$iSx%R+rh_`xigU1p} z)wx}+$V_@x&P?jmg$&XPH25-(N;R0-{s-^hgYYx&l(gl(eTDbfzZHj38l|Jcri>+n z4asIYtY5FrnQKuK(QNpu@{NaIA<;e|bJ_x-KHbk~<3;*U5Vq!7;pQ|iMm6X9m#{B0 zlUQ-*OAXZ>eJTr2gB6A7O(qsriMNKSZv;rS#d7!)Lk-QTm9z%hFkWm-&_#*lV}TU8 z4tR-V9~7gRD)XZdoM_WE8}#hsO$!LcUa@L(K-Jdestnue$-n&(p+(`A#`0AX&55Om zprB=4S_`-NJ^b$U>uQx_*T32@d4hp){DKhIUcr9`Mz}q`k8FVM2F4rLYnnnspwZxm z5?ZNMZxqP>)XfdNi-U9zo97FYVc@SlUg#^jtJCx;MrVO`j+Y&oQ|%D)zZj3BLW!xm zGa>Fq%g3%|+!#Ua#kQ$n>JD<7iim8C{QN^5xXaEo2KkecD$P`KWN8Pq7u739_1@Ik zTFj(T&vZ0O*-oz^&6O14Z@4trIb=27-pZKsgVh7hs{ZQSU|dT&11|{uAguYQ5}HIs11oy$U6MN@yNYAaibMr zMGt0`UiD^*Gl46&0$|}G=u5Sb;*a5e)pj9j81D!@x_r>2IE3mzeOcBgGlnS3K*0wr zUvUmc8rTVeqSFy)at3T*pmDdE20VL=>=ekq5zueQNhop(Jzp|u**0%Gh*Pr1Bm`UR z`Rm@TvD@+6+xvQ%jGM1dQM&1SXWUu}=P|{0%IKE1_-G!Tp68?Be&rap)a;^i44`Je zaMn9$NdviKS^K9^8;UtS+G`tEiKxPW^9?)$Nm-V+soYQ&zUD(-XLjx+jXAQaMmtxf zNR4fUTNz*l@nLqlVQ0)ovk8~*8mV`6Y-V1IXE(_xgHO7N$uVaO2PFMRHfNEM-fr`R zv*oIyoc3|6y>!4dO$S6vtBDtfJ8T7m(zAxpci`iDt&CuHgDqxC9+25@V?BPhKV}8K z5U`%F%C;l*TvQS|_>WCv;}cxNN2?L7WA5Fck+ZS5SG%pej?E{!zPimrVefKpQs@?g z(Q?95E?5Z+a;%L zND14h@-!bLY0cl z5<(IZF(+2Q`mG;a9^-Ng^=9XJ#0o>X$5~r_wx!7BVOLJa!fPl@lM-MoZn>)BKH8R> zrr0;mH~Z6>2q_p@+l@aynwU~uU9`LkIlYWyGH^#D;Sm#le!RDho0GxeZ>N{C;^;HE z8Y9HRSX~oV>EAosZc}&i*OpXOda6$0VWzbgd8wYDa)Kj{^q_Ripm69WjA49HSFr$X zf$MA}SQq;bz#o7I>X`Lzb33tssn586s9t`=!B2`xnQ~4^m?Wyk3mQlE8kv=NEvL|3 z)(w=pdV-T}ByuMRSB15m)%MS&W4jHBdTxE1jAu;J0rjz$YFad6dadEfAVpM?;`Ef3 zMg_w&3a5N;^Y_g|Y#8<)yWRy-9Lp<(@+f4vo}DYHp&`Md7Pox0>jz+N1&0`=x54f5 z+?fwtK+Mi6SQ0mwXO=F*sFee;Nmp9+oLa00Vgs|!EUDMRU@BtaT)cDXL&4O;S{`E%5sZ& zl9t+b3!o>xmot6chT0Nh5Gpd1jW?r74;~6b9d-4@$s>H~r4)g;+E-*=^D~xNs<#m6 z@2@mM<+yiRUFQ+YPT{!_TNk^ct<`U&)V_<6idJ_s7?WM+YP72b-xr=~NK1ze89~g* z$;K>Xdpm?)y?N3$Z;>>p%rJYY4l2*g|Oe`whD(sE750b?ni_?+^6_wiAn(n);wl@38 zp5=dC`@x|usj!bREpIH!4JFhyu*A}ubUv$R_F&C-VWttJ zpN4rsT!#VF-&bYO37HP(8A_soSKg+K-L4hv>7JypN>p@#_jCEt;`qTT%3i8lOF^XR zXtxMFN^Bx%^tVASN}Z@}J!?GxtvG;`I8^MN-Q7qCVZqVzNmsZr{> zwV>xFYBPfG85tp$(&q}pIvzlQmv7lfwI^*l?h)9tsU$VV$x585DZ}GcBv}ns?`au{ zuXM(V??fjaD=g9o?xMjJrEN<(g45?%A~z{J8?bvdm#La6To2iN^+8c+iv`LF24g=r;@J)P*qU6P zup2SsDX0^X4KJFFOA%r-g{JC9TDi`&o=BYBA+jpoe)_YwK%E6DU-aRmLSSKr2 zF^!jpZD-hA7H~-j&f!e9#$)$G;}U?nw)o3+UbmTG7<@Yi8dFnJn0WqXCpD5Yg16?R z>`y~O=+mq5#Lmqvqaz0Z+_b*x2zxUSjyH`j-AtMeGD{e0>@F@%^Y6n$so1|@zo14o zN(xTRZk!zny}rHH&{n2&qhsvbi~BdxNXjM?c-5_$@g2~~7$BAkilB2()5B+*72<~j zogpiPv#9eG+ep}G#y|KUzkUD@0X7vtdsAFG4~nDQT!lvy#Vqqw)bpqF-v$*YjX6%e zO1#PoW@7WZ)6FJiAzZ-wzF#e0POMNUwAP|B3xg#T5lKa&j=KvX8!;Vq(5PpsF2T^O zA}o;TE&3COD~CK(98$*#EHpaDecL`xE;}uTcGxq)^95{2pq5{FHKlJ$mZaSVpcA2R zx1cSpp@!Bx%BxcCuUYREpH%>mW0Q;D12KoSjDYtCTuJsZ1MoosJ+lq*6mSdBPD;pJFMv<^kXRx75qG!=Jw z514;>8P8bAE0VzI;O|ANim#3cL6DlKgIbc;VKf)SvCrbOxE{V8+rd)b2Gdy1%N4CX z9B8Dz*MVS_w+w>j3Ha{(5Sy8{9T~k{tQ;n4&QJ0^=*vGBo}kOk43P7-DSHG47>fq{ z?TU|gUmZwjQr=jm2_n5`>nB#dRW%YIfe|*4r?kv3*oH7UnayOS`E+qHkn*AEuhX;7 zT|_i*ym?F1G4LtY^&NdaKM*DwUHYolxj!pcbOt2sQI~czJj+qvn&F{hGx#xhH<-8T zukWvaub@W$JzeCww}<{mevLXvdE!#4blWuZP>p8`Qgkh7+7mmP4jP88#BeiNvQuXT4HG>2=G=L4@SOKD)ad*pTMzb`Y`8{(g z9TCr0G@!klGeUJ2aYs?z#Njmw8^*eRip-lnnU#f}&)7E+LY^Jnb+L258-{wJ@pDr; z6rITV!LP7=zAK>g5=c^kaw{1HCKUU9@oi-Gt=GgC+-RR}@KF#ykBf=CE+$fAa89#) zt8eqg1qRQsoe8_}{g%yxImlYh7It0(Stu*Q%glz>F`ey}N&($|%(ZU=NN=AaecC;` zlE8PlNe}8x{fN2@tpX3Z`xx$SCcY&sRJ1L%V45?9=*DVd~0CyOJ`LZ*&NZ)qdw~h z-|D{)5%XN`FRC7SwvMI?)`)36&kwNwvFst#z=aHXk9~f796GKC*vFS%=yC`u>Y1X{ zd(HBTBet)(+Wk;XY|`2uR_ef`2eR7&AQ>KahdgM^u@X?C+UEM>BdTz0p&PyT+StgE zE_nmAD=Xiq4~BR`j&ih{r)_KVBW=&%=;@&bY{9hLG2s=UA{Ah>dp7P`x7lxwK-_mK zgN(F%4nfTRkT(c7^)Tjz-^I0h-$tFi((w$0OwqZjeRZhj+;xJo$T_OpSB>*>3rNB| z_^I~>-I@+c<&M)!$}P9W?M_U|;OgD6?>HEYrH6L3iFd8)GoLi0JT@|=B!O{0tq*qY z_;0>;MJIVKaIMGbPH>8)dn0(y-~a&pAI>UPR`|G?^RD;{e}I)geJ%#qYK+?-F%$&j z(U8l)>RZ}9R#Rfb0Q1*8PndJbPLhfwp<9EqWbatDu$`${8`)Xh+>|>}A^k1nocW{P z?@dxSff;GWCyza+pN2ZA=6oP8Y5l2tJ=UYm%VMmt^i`Sh&y6FR&z-&>(e|cFqFfeQEP%!YBd|qJFTYwpg`aTES44h%?#fx?L z&zM_yy%2XRL!v?ihvoDw$-5y30LEjP14qRLCk!QR)y6#WiVYbXoq?UGwydQ7&L*uf zz;5xOdW%<G0}C7o%@<&w~z2Tq`1-N~+UD#$dGtV= znxoI*Z?4tXKtwrgTCxt~0I!baY)m;Ai7B*bPZ{eU@TRE{z4xT)=gNV=MuH(>kqF9{ z9Z)fhFFIPcZ7CGX&H!rz;>6bobIZUe}gJthK zxKqVqWi-qQR#lQ{Ehag3R@`E{a&cSJzK9+eyCzR+`fs1wEU{@zm_|9F&a-st1z?5H zmHQ;T+u`otK@3LJiQ$AlWi}eDE9f0@DH6}FS?-dL!tE2MVbB=!&|sNDy+kc@Q?4y{ zhVSI8htj){)3mXGoU*8yEj_lHZ*wX6`$ zuXe#6A!+xuAT&{o(T8ZvJ=tnDA|9T0DN`!!seK)y*@Vx2$X=B8`!kwRwdXRfHlhOE zZ3sJKrb4y`+7O2MrQy}39q|1#ndpq+(F9RV;!d9p?Jw0z?%$Q;=T3>Kq!UIy3Tbd# zcizVeI4pRXecVaFj~bk#)(rI)R^EfBtylGu=VwL2S@L%R394~@co zY0$k|Yntz!yUVgwP_BeLLg; z7vRf9jWCTclG`VhG({Ki$jX4$ZE2i;5_^^Tg3v`W%tVD9V*h_3fyhWIeRJocpQ6mn znXbnVFxHQC-o?ID>a(|P)~Tl*Jx%+?6wewpXgl=I+Jca&C!lO!>~1fWz1p7I=V!45 z`^34puje zRj=Ck;;nN|jCHpKfdJ>G1 zst}*|-yO$n{H$mx+}!&f?r(&As+Q3r>sHb0M|OZjc#uaAHzrqTiAF19!V+tDFz>9P4n1MyX!dLPxXtwi3 zx=Jr?i_`Fr&l{$s6jD7W#^dgH-s(lz!SUMt)qq3LO~Ku6Vz2nq8%iUNESk)oRX28h zN}_|XM}Vr^$eLcx6M9C}DpTiXw0CgN6orCc6#H2B(N)6b?9-5;Bw6Ov;DWH630-w0 zf}<|?2Vp*%iQK=nvP89M$1KnX)Ckn;Z>py!k=5OBbOS}Q;hXV&J5nRT>_iU#l`JAbvv9X*{N|= zdL1f0CIXom?Qp=5*pD?K+&KgI_KqK)Iep$w=a$z`qr>-SyjgI$UvmUS?NC~LTzWWH z)|wnmT`I~_E_tPt>X&vSkbE*^_c|~Pmr`9cyN~WTc?D8&e?X+*Op;22z(Kp zl-YA#ozp3d^<-)Izmc&v4Pk9saf5(qO(mwPxz%;tE@@7_>;(OU8D3JmxG1j?Hl|J;HH@JRw)F+rf~R(D~CW{X~|S!%wJpt?As`HwCJ`i~Dlw z{k#B^#4sp8TKPYFR}NOqHwC0Yf&Rc_`J)fX89j3QC)W&(A~E}>wOQIoGkkM0o3aO` zc^neI(7s_t=q9VMoksCJxOz5V< zBBCQqWkAuXMfVpNy*SN5*e_7#dr}+)Qs~C;E1INf5cHTP0$w`fC}UH`_|xuh51a~U zla+WSj9Y0EkH=?O74vPW(z}BwxNyok16{a{kiHV(Ka4a{_ihrBOlbyG>~o zFyuIsv1Mqu@#NXazCS?MwpI&*?gHGlI7rD!6xMZ|^RK{*?e8|Xiez{!R;+6D$t_10 zxVE6m zS^8iN-bxIG$D!f?TSyz#L2U(s4ViJH0fx0Fd7Cz?)XQFII<%8*U3qO2(E?10b|f)B zP=NO5X$jEa2}KA$c>S`6(o1gnSCj+j&E(wK;3Ysx+C6o%RxV`{*_JzVdwc0fD=W|= ztu~WQSkJB*CURv%5pY_9&1HIX#qM|33SQ{Nr4=KC(ez0ty7i{TJ>K9LyP;m$$3HBO zE5gl+iV*J0oaWUKU5DhsV)$zso+DR;X04<*@2jh{6Az?`XV919Yl*zLO_+<1iw z1pRN*lyFdFGH1#`{*%QS_fU6JThfKtQ(D6zLMo9yVfo;l)^3FySm~h zODAMhp`VklW5nBiP#}7ZNm3}Dw3b?t4GRrH@t@;5yr$0Wc%2erio@V137A@Q zvK(RU5j`O8p&jNHZ0K@TNKJ@0c#X!h4L0iuZTX1AQNThAO=RiGF%(ZSm0oetDVfr0 z@@R89=bK|G3yDgym!%6L>t06lGC2gF5|M)GbjjW3gv}eoo00ZmlHiE0S0aSp0V&P)rNcBnC`f& zkD$&AnYB$W)0BAa{6VI}C*ssrh z1LE|h%e}Is_z5nf2!%$hdP(89dNOwd2%AcMvrWj}1#(2XBmqK@;a3K8s+`z0VWM(N z$~^~R?>_x~fitYMe!Mj$@kc=HyOJ6h*`tH(m{ARXZGQlM{rCXZL$D)rVvvT@ zegj^jYIw@%^Ta6U&D1l7Pc{nE*_442>4Dj>{xWf-&|k?*tJ)sddpnuurAB*T(OmUZ zSHE`i`VrXsi@YPVUY`{E-j*$RX)%2D$t z&Q)@Rnl19~?W1`Z+eqYr8dvOJ3zp?smjmm^r`nI($YR(BBdqtCq`SNeszN?0TIKL! zjFiFpfj6fp;_+|8dCjpUg-Er@4IoGqaC5qf<$aF9hPmS0)j-l|N3S?>)4fL4^%PW6 z@LF^1S>ZL@4P19l$A&cwg$DC7y0}GbUpqi9c~dC>`Zs=DkLA$Yhs@*fCE;MUAz|myr{u={?|7V2dwO zxY%2ct@5@e$K%pvfdfxsQtHoaF@-AAq-+3sq-IC9EqlvmQ)-f|A;}?e%XC~MHK$Fg z`yIme-fn&8VmMtw@X@Y>j<2oiB;NnGfH z%l0xg7_0L41%XN*TzqGs_gf%A2TcYeutU>Ijd(B!jB%hY=2{gh!WH1Cikt}p(iPSq z*3JQ5eF#ZGFAtw1o={YJx6M+kR1dyK5@l(lSeL2|&tA(|OIi^5{`qeB^OYiuU+Csq zt?!nJnf2MP=TP9tbq|SHcc4U_o2%V5ojC4C$oA#u(Gdkl96s9(1Q)*Rx@4){m4;b{ z)n@4INLkyI#ge5aEX%Q7W<56|hykVgtLO=H*6dcY>KE`Ye5YIB8B|4FRsEG^0O;Dp zY!Ql-d6hkU9wX-)+3w*eB08d`W79EZg)m+p_zm4uT40Dm~nx zqM5;>DR5KJFF1)_plv`rTCDm4MoCT>L&KLl zd~vJx+fl~zZVlTBbB#RSmLxA;t~3q;9mOY{?tED*IuH|v1bU7H5e&XlSE8RupC4aE z37BDYlqq8;sS7zcuhGVeuCL@#9wvKit0f&pl&u#h?N^I7lkyic0ZdyGg=P`$Fj)F> z)XuOm+MZYQOfBAsAoi*kg4!dFHe_4D>H!e+29k*Nit$A!sdr>NQ@pnY+gyp8mb#mjqZ5;9;(RQ8}8PVg)D=lA;m{i@8vo&~h8lHU8W>tU2?#WW60~}zvIkK{l?SvU2zNFaUVX;qL zJ;#i4LHKZwIt!Q3VZknBbLiXaD)B+lA2aGc-#E2R)Isv@AR4~7WI+gR3!MSxT|vx-nw zH*kFtXJoz?h744k4;WgiU^Pm_%+BJ260%%f>q7n=8uWVQdfFb|wDq+R9DFtGaS0I` zl5TRZW^`>b;T=ei0IC{x<}7D;@?hoPWMy?BpMpmRd>w&48YXxK&Gkbin_NsadU=~`s4=Buhd7GCTtx!c_uuarYhO2YKJb!#Ltc68o=*JmW^A=}h6hicncbkNK@b<#I2>`Y2 z-W4~cmU(EjuGnO==NAs22?oxl8~M?!)bTCW7`d4I2k{VxXbHsI_c0E$y&J@}NuhS_obD!eGID0~ zn-xrt~uYp7IofQLRJYPC6MNu?-EjBlr$Xl3E0nF=MDvq zAt-cm3^Ot}ky5i=HiH&cM%`us_k%a9FC%0_q3P=$Tpt}fxVkNJ|6Kd59R0BNO;zeW znAi(Mk!`cvBC2bc&aQHaRHjX6>|Am*AX1b(qm4Jn*aP*Q>WpKh-wTZw#0AqX-Qf6RKKI-k(V~`BOdUvaRN|i6CtX==NxQEAbN+ zpo6Hw+NFM}h0lY-!*(A~UZe#+)PU`tzihusIaHXw?^34lam!ayEBOj`gM;l&Hp{#= zXa?daVA;Qi7-IdZ18t*VkScri+Ep4CxktVPkX!IX>;!^duX@GIRQQvu@n0dwCZO&T zVp5;ej{Tw*3RHc%y$IsC**Xqax4SHjn?9^&fd-~YLY_T_t|S3kmJ9y__u%{hIiZ2x z`#G7-sl@osUqbY}c`fIO-2_Bz6HAEKaF8w8PPeE}iQg@!`E)`4EaL&&84>O&<=OYS z|0Z3R+q@eV#S}Xl)|j~dBQlX7D$g=4>ym?z8|dC!yCKIhJ<#7&TZ9(PlUp;Jjq;jT zn?>YR?h#>|ly0EEHg3Na0&BB)hZ=V@DCus&T%zgH)+^gA?vJl3-E+wod=9f2!k+?S z-0zLE?4Kof+4q=Xc<0yjT=t+o@ZFx%tvLPF=J!USQxDJ2;?{JocbPIE`aWtP_LXC3wfKScU!PhQX!oC{VsY24s0tT8Yj`8A(POn>3XneTi;jHT~r1J?Vy$ zIzL@Z4G{~~TKBiTh}&tyiRVR|lPDD*_ZFlWoXXZ_(svj&#ytiU{R}z!_#1l8(5I|QhcmDNZ!w(ihGT6< zv%c^Zr<~IltabN}nx`xxdmWez@*#j#CC5bGw`^&}U~%wrRc-5@L^x&en;f^+Ax=yI*fzRxk#x*rqMA2Wp+Dn>2}Y63oIwUn@bq~fqvD{Ez6bDje%pIM5t;kKOG^?pcj?sfr;|3u$<#T0$l zFHV!>LE5bI`;>ol`!Cf;R-+8=s&=_8JvjZ|$%N)NI^tXw(xyi`OIpdRXcv4ymIZAyi zE|AU}BPWr(r=bd&IyYQY^GdO=3Nav)3bd!s6Fl9R+(dCXqY0od>6e9qdmG9$_LaTl zq4LA7S+U5AN#aw4c$~^CfsZ*=F?)?p9z$@`I%e>Y)#e{=k;b2!gDgonPU)5WZK21l zPt)mojvCXKH_ebDV26tb3|oCs8^-qEHIb$6^TR1CCD|BGuJP=G?X+MmiNgi^e6NE2 zk_@9)j(+Vf>=i!C+PAc_G8Yj;x|Y#@I2x@8-?Ijg$iQdS?S*;@ylcjFgwqV%r_A<- z=p91yF5XkMo5cCuhI#xN-C%ef&XBKG41(xOxk=VG4J^aax{9s01SYzwJa&ucdrShj z_un>XcSp^#byD$JB1&orqvcSTnoGPqj(f2>!4eE#c#vT1bTLeNNsc`c(aF@2BF|^W z9_V9^jM+L~@(k6JtZYm1?bCNryD?^ns2cesLlN!8tzwEw-FE4$7aR%oM{?9gS|Jmf zGIIp2oTpZBDJm82CzE~qn&DMU;?`uZrIBv)SI&}!sv~@cZqat>JT;6(Q9=1HE+i<& zH&7%9J?x1|hz6yoC4R;svw`s4O7>qbyGDmb?vD0jwee88u6>@dF=Gtk^eMvfkEBiO za>TVHuEue2D}u*)$yT4IwJ0|6re%n=f@-jNbiHpB2^~k?(l{Bf4Q*GPwG(toxGscp9}eR6HfTw>%>Zv&3N{ ziI?WdeAn|;8($=h81>^D1NpQVBNt>7Dmo`pr&)I+RR2rfQi*$Gs75ORm6bZ$=F?WS zVwut*eRR|bKEAFjB)kNEzK=4x7q};o$Bo*(H1yu4!_!xSIw|V(9G+%YY|914nxGRz z)K&+U?C4ELF*pu`e;O5b28u7evag=l$bfTXB011^G-Gc>#0&rCQp;Nr`> zPHEYxP6A}D)TiqM!@8T|zQy%pW#$OZuyYJGDPT8VDWl8-ks<+TY0Dh9-;=+Pbuq`5 zyYc2>Y&r7hxItQDp{HY}2>KR!jg1oBxjDbWVf2f2>JDdN49fgkLC zG%rpAHD*B&DyIj!8FlH3(e9Vl2#R$FHAsty7Wccuysm_HS=$`dT)fiu*k`|I*&gwX z`cK>mkLEfo=0Qs2jk40Lu0&Buj!1W+8G>-wIjhg!Q_q#YkfbrHz~8jZ#(kji@caUi z%wSozb|ZLeN%1i`7z)W8R`Wtg8TFX%RAZQxFF2`$aE|+UH&C9EdU{A~zPhw|L#WOoU$B{++{gz0-4GHu?@x3M^?`TNBXqrawg;T((|0c*OSSi%7shEzn{|R}VU%I7 zr8qKS!fNb;f`khdnVy(e)a&k8w0&D=@FlT%J3_n_`?yafL==pB!>M$66wADfcq=Rdo8(c}QIJOC71`AC^#J z8AALUt;ZE%X6UG7fldV-)IH|*q^#Xb8PL0f61`keIyexf-U;Q9P|_Zjzn0(r-1a6OPlaPQ1aZq)L*jwUo`mRHh=j4ToD zY{74j)N!Z5cxHTAd^fS>-PvK(`m%9ud=qMC+fGW-6))+m^DB%L!YHBdiGeq72vnOG zJ93+HI4DNr1Lvypu^SwF6R6*9$bBrYnrX+Fq+B)?$6L~?Tv{BA@O1YpgGWZiLpZR` ziq?1{wLr|9k6jK3PDhN8GBxZlX*;}qimzCtxEtWnRCR9okDz3o<>uY*)6A|}4Oh1s zcsJ5wO3i3`<|FDQn0(~Qg=ZO^n1>V%Ha}K zTwR2UIkTD>79A;!3J}89GD~~}4pV`ctP;Q56M~s+oB2A2E9~irS$5N zg^FdUyrO51@TTa+LuiMlJ>^BgRP=*I!dX181`WIjKyg4Z>w3|!c3Yz*o6vclb#U5!i77DjH%xN+W~+w| zE03qgN}bLbMQKq&49b<}rLtDrrZNylO>*YPw&UHTL)hPSqG&%=85q%7Ej8WHIj5zH z>uOXBygoUZLGf9bq2kvU4|@z!ckP?y5v?)D;Wrv)raypbtVH?3HrIxk(Rsa*w~RE2Mt zB+d@ieFJEL17$6?MQC^yV^L!q+)z7QCRkz008l`$zxifZzcz?p;2(q7N2DQWo8g$B zsgED`5Ry4pW=w3T<<`3{#QhuZyt87|{>{A%h_2qGB?P6jfUiO)HxFiHt}XjovCove z&ACYDE3i74PGKBilH}Ojj1lhZQsV`Avb`~JtHsk1%bBE?L^1#FeBup{$;jTT-Ktmm z<(Lhaj8BS5%kQQHy0nT|s>2@VVsYe3MCD+juLQkU$7jQW3VI0B;TwiS<^HmlhTQMa z7VJ(xZ=h>2rGD^aqZ&l;D_E9n8`+iL()jqPmAvQM?R8ER#jtRv1@ZQ$49`b_ylkHJ zFxfRlu^`TdEiYudyKf?^ALs3^9jzO6_-_+Dcg7-U9rSpjf+#&MTpCMLKMX{V!uOYZ zEx2GSQtx3MzU`WnMPM_8<@Jb=OE-p-9S`-?bCvNis1~_YWmK49&El>0Zu#{1I?Tlj zAqjS*q~CL?xQ9-!rwO_l&RM%adbpy$LxiMXk*6QL<4qS>5^!wXGQm-->WJl zs0{eN-#u*j&preoH-J6u)aLDVing2dyRhq$-2?qnEV4;U!9lpjrzz~|W>x|%7u5GP zux3!Ud6$|^wFpcx-zMz)&qvuZ9vSXo1}nNDd!3uU9Zcgm(ZJ_4*()!Kmjop;_te+F zO$ArXA1PcpeW-!N+Wzw@n_~97?X5s99Q&OXy#9V#tr%x@<=)?AaLN>cBt>Bq8>Gp&*)|1XWuaq^}7cntK$SNo4c_>(F zn}cq6T9?Q5Fk{1d=_=@N)bl{^gR}6D9h7*dFyX&EkRTO5aE2d>0*) zHM~Linmj%6*i^CGbS*5YSEkNNB_-EP_Gpq3{(7&QkL zl3*Zss8pe`L#z@dKjz;zndm7uC(0-Fk9c`1n8KIm3jvxKe0La5oRyV`_iGiDrFr-C zErl(KVbHPY{=TnnN`w}a@}u(3Q&#HR7h6RcnVnYQln-ZstEQGrab~LGxkV4F8uyLWaZw*vEgm7p0jWu`pw9!%a|;zfYXFo!y!4EgxP3IP+DdzS$R zAK9U@F2J3k)#lRorkR8wSVEKAd^1@E3y2*yonSfSe?&?^_dr+00v>R4a$W=YUr@KMz78~-I%hqrS2w;7|OHG@N8_Ap(IPs;rhcZ5pQx`1Zz%WA&m{EP2 ztfEBUFlr5H>5|=$wPDtcvshfEMCH(|g>njksv5jQBbv{8-54*Z$8lWmynrp9aA!u! z(R5?JG0X%31iB^O4KKF2tp*0w0qwx99PgEMG0u$VnXBE&Fyi-Fww{$gDv>VJio6Bm z`TRvgO*EQ2aK{7O6Q|VQU2g1}ic>UZw7eOUgTUU!#sj4>S=pL$u6Q9(JChX1^ItT? zRY3Qa=^nfgqtVUCl&(R&dXdo`f=4nMP40NOqh-MqGB}HIS!6HRxw{QZCA*C)hTRj+ zASe}c*;v3xtY)`V`y=4%FU_+;rtrm5jNvs<)$4;q$5O?!m@a1)z@KK>{T`ewzAAro zsi(Vu-!JIQ`e4mAes(`=Lz`f2mBWycH->A?&hvxGzU?NGSzZ^vS5l9zP3urhF-1YD zo}?v>+3gWvmQ?JBrEt_+fg`Q+5(0c3fhDpW6X?gbhicESO%BVD}R^H!r>S5Zbfdz z*1V&tp7?<4CuOIkPw3dZX!2S6g}Lsz^|q^PG%io7M{F~!FL=W`OSPUeJ?lf<>yfB8 zsJ9v!bVofy38P=f5WHr>?|UunXd{HdV8B}C@ZyLV^xUM(c1z2vspjuB-;c{)gzWPS z-c^eQ_MuiXn~iol?^Zmt@GzZe!+3~^#SU)kmfOIyfFxTudNvP7q08Y7K_YOSidBVi zEHEB`=*-r(W!uh1P^yP9j~`KlC4i%eu@l+S_!v-BD_7WC#<*B41uS#^7r>cgE-9f& z3^*1<8PiFbMng;L0o>mpkJ(#6I3}lesV7Zsxc6JElIw!R48@-B(3G>0l9yrd$Ae8_ zLwx}rR2t#p>c_o}nhi~FFBfC_og%?buR*Ul4T)5^1j*QT|MJ8f^WNr4GzZ@|IhETp zpAP>GO+r0u=fh-7HScy_$hM;U`(!L8P_{T~CTVd(=Wh-*+|n8?d~2F_)q3?okeLr6 z(~-=!)Pe(Or>PIsx!6JnRMXIDXV{*p6qx+;Bc+_u=-YYu$I;lVX_X5lfV|eBg}`DH zp4G|~XHJNjC^a(}BM{wmx7YmHJ0iR2%N=szwzy}RmfiQPcx=aYt-p4BzZG*Q?e;+T zlk1&z-=AHx+tB|9>@VNyBA%od`TQ@}?j#wu&HVx1x&3V(lV^#j=Gb;4TO70VEdL$} zi$+)~Z~)chHhShHh+w!jJRDj*HTbIg)f6Wfgks&QVKQ5^q10cC#7@VV#w)M_Me3q9 z;+wFDB2y9I85DOvA8(gWy8y&Aajl<#!Ozm87ei>CGKW>A7Q!xW^KzzY&aig)Fb>d0 z0NYvgHUq>Rt74QcsD&;t&+kAm#*zi(GB{z_X53J4(uP%zHie<4y82&H3*Ip;z8oR4 z&3U!YYS6uRYhQ>3b*qU6ca)d85L@Z6q=l2z7d~ik2UE#7!n^(;{kl^+RcRs z#wM_Id0M1je$F z39k#zzPp^vUT{g+90;#+k7~t+8$SO;qt-*oWt|ttzzPPy`!$Ndnk1#KB&JCEO1YBj>T(Xfbnif zYOpDsRVCgJI2DCsa1F*T;qe~{w@G)px_{^Ee-mY{itbg1wX9vi8tGklq^~*B#n@^! zpBei_c1N{(*mm)DoE1L2<_yPiDRj$j{M2Y_DpF(tdo|XVVj;4!X7kww8#-%^=`L#rG+KzcPS;v>*{fSXy9}a_w1J zc`K$@C>`Ea%YS*g(-X?$jkHy!NdD{HXvPADu3Yxwur*Tn$Q5ao7&tn?MT#We0r(1) z7mpuBh-DG+>Y?r!qUZQO2jBpJp_U@zK0lB7eaU20DH1sc7F*2I{8>EgmHnB=WR3l4 z+ESF}nwkkIWCOr`& z&Crr+6jrz;Z+?cGN$8kqe5!F__m4MzKBU@3SP}&oTb`q2@TnG|Krvtk9wa)otWeZ___$zM{OXI>?#XKVOSX zbZD&UXc3TpmpX|BjodtE5E*nwfcgCfFuEy%&J8Zqvsulz3HFME5g~2SaKp>47iFi1 zuH3e&U+yq6d`(=z^Ue0F$Z*FXE?>y|OpEBQX2wCJ)<#Z3`_1<8u@HDsT7c_oPVtv; zcf`IS9#HotEQ0Jec1mi%GNdEUJ5b&YM&8xnI!z960eagqb5Vp(%;?S+QH0eI_*_P#iQM>3 zI$WyV9A{`lGx-z={eZ^e5Z4aPyDLolgBj=xQr(I4GO@tjAz1DzGgB~gDq-5Z8P`xU z`{p*MbfB5cI?r%b4B3gHUjuAc4<`ZGf|tDPdSdxiwZRDDnl1u$8U5~u7COh&n-81r z1G0B}##E<0K8vFA_?vC97?_d@ujE-V)%F0+xeENt1F>N^`lqv>eQts#O)@=fd1l_W z$%0nn&Lh))qXZNvLY`_T`pJ$nkN1AKl9ifAt76vmXhqvMSGc98O$XdsC;Ot$WcS`u z=)PS=Cv|!2Mkm8gf&z6iUj{TT3*OSL!~9MkU(vpOrUU25RV>^K?YXt&PhjM$edzcn zyg9ONSvs^*^Lom{`1=8;Nkz!fTXgzs^(4~*$8&beW(n2F$lVi0KS=}l;jJcrV@V7X zsl{!{$rIS2fZ7tME?pD%b2ozgy6Y}h9_s0Bkb`#vq2h+qyY6SwFMBG-I6P;=yWA4+ z(Qeo>>Gwj@FuZ6h)6Oyt6Tikw*+rA@hJ_4CU`CM7ST$uBb6QZruO-KD;vr};L*x%q zQEOzQDxn6`pA8x`RINc<1n(ilHc9Fk9+t$xyXvm;U?F*3MQ~+v%3>~(M1K3VE54{^ zBwuIK$*$zp3$%enGCA&5FTHe5ha8Ls^zvM%gaWIkn~?5s7H;8!2JaT=qGY0*P*>}r zTrKA-_KBr6Z>-(`s2LERM3yRc{OnCg$g#EznTZu-JLpV!y4AYwKJDCiQWQnYSw4v* z)9344TS>%^c|0?8&1v5BZ<7KGda%nndN)1c34WV0?jk_lN|?XTnhbV15?Mx2ONd90 z=-oSY_O-(17l-065UdsvL$xaqOpHp*LeX{mT?=i)|sp5{s%i>M__cEPdq$Sf1JO>(20v zr7X3rES06!WVQp1(imz5^Dftq*udkK-@*Iv2jJDq`bo;KyMlN#8J9UZzy-L6UE41p%fzV-qg>nS!TdHc-#&+Zp8OlujiX!7Ftymzy7TQ;v^AXHwA* zki6Nak6JR1ST^qMf|TVIoE*8dG`rq0weGCdKKac2)^2VK~*h;?6XQV@?_ckArkc-PCtf#YuF=SbJ}-d_7F3 z1wJ#Ph}*gbuB*=FT^v8?Q~dte`{x3Lhw%fL%i&|3-b>W$2$iZ5dcC6Xojrau;v0`@G;T;)A$MRMUR`EE zt&p#^r$xBo2cW_16heF=1o{VW0}c=Fsw@YV8opZ8UP*5}?+-t@@UXKw?fC#>GX+O1 zC*8r?Zk$9eod&t%MKWkwgYN{$lYu(~S&(^AkaA(TDkUuv0^0S(^z|2VghC<3>st;I zk*z$=nF&o=4dJ%V1#OP}*bzzfNbL&->MQjT!^aakFiRr6@X(mF0 zzS2+6>Kbx9XD80Fr#D0tu)iILL=AVjvPB%qoh>A(otlACm0>87y~G&D+O%PY@9She z?JwW}0Q?Q}BT$?a0ExE8%Qg;2oX)RD#OH?(T-TefK&u5u2U^;gX5j+z>!B}@nMLz( zQrc>6u<&Ibn~S~#Up%aYVUi-{^7(17Q@$ZNJ>oBe9OE+v>hcOU`pVkwm^+5>#hL4z zKB87iw!G*QJ4aWELfM~GxT{ut(KgOYti5-pbcRg)0KMB(xKG1p++aqE%PdZCQv?~~ zq&Q=FuKgw<_uR7wkegS(dg4_m(r6!` z&4W5}@$5)mDxkIMHhU1A-=dh)wudwnjDF2l8}TBZ5~~fRL7TRT?K3WpiVw4vKWy0V zO;CnO}d z7-L7MFe_6U>tz5(JX6c&>)q!}HJ?>sv%QG5CxORpH#frRoogb4`$K2$4?j$-kk!W? zM*Y4)K@_c!nyvOQ?&e{9=|^m+!Qfs@m+xcY{r{9h{}=v|=sfsBTuh)shsZ2^F-K1jx{r2Rre($~&ByF@bHgTc&n!PeIOQ!3DH|0BKXE4hM9RTxvwGIifEriI9 zkRh9_g=vl{1TTe&Yy5vzsAyFGtQlf=lth=NZIC~2DY6=oG9&R=x{zKQkPq{E&P zNd|IEB!Tf?U+go7_gKH~`zH<>%;};nFsGP-WbO$A2{-hCs3Zy*CkhCrp|(vR62zFm zb1}VVW~695aQ2p)iMB&XgAO{r)n9X+EGO`Par|%m zY|_7*UQNd~UC?hh?)|SG>tp!#4j)R+x!hdN8}0L$LXtEV?{ry7Dm}GWI)_}wm}AHM zQ&4aG4`7Dl<|>bO-Z>763_+kK{-m+GaPU9hzxI6lE8Fe#*zXdgKkb|Le1z`EsmIdY zbTqDV${83=w!Z&VlTLXlE+@mTa*bVQ^J!L7FMiQ`c75k3`^tCs#qHSdK{@QAE4D{& zJrFiHmA8T}Xfc+XgX<-2eKZhnm09?FtuPp>fT{ygzU(bPiH0!-+^j!!@bhqf>|?nmUdyZq_k|MIo)wH5Yn1r2IhBnqO3smN=J7r zQ1-Xp-`q5vF9&m0Z|Pk_wqPPsQw#L(0WE&?o%8EICPf#8cHrr~(XznT^;g^U&SG}D z9eG4mZYG)EjH3$6;|p#2HW4SA>u7G7O+J|?=?u|NXcPNWg4=Q=Y{ofwf;8P?`Eu27 zWvSO#WVmV10)J|w+ z1FfTeE!rJ}cC_SiUJ{&wspFEv1;O^4K4{(ViR6%?E1BIx!aNOaKfR@Wfg`(uOm2M{ zFY60^(7xz#(bVt`yaSJ9X$Bj-{5v%tMt#LQoT=!f--4Dtp`}ihMhlC4^KQ76?dfsu zWzA_{wLuwR7J9pF2oTm=K-ZaV8fnaY z)@QTGEznyp+>8c&=M-gJyu@JdCY;T$FSBCLm!|RC&ft^j&gr7NVolnYF!P|GgZZ;& zblUR6u*r3?UyZIiaM9k$*SyH|7IBnVeG}lPWyC{f=Gm9sZPF3{KYsilfF7`9GebUo z*Mpw{jz^2D*cf&5dX)Ce<{WatR=ty@ug=`s;B1juFRpaeHmb^t)e7|l(t1vuy*zIZ zr2R$iOcdkYnw}{xMtY3eG&5s-dFb8l#PTrJ8kL~v6($V6xjXHh3e->3tMZrZk)j4 zRNKpA-tKL};MN*CyR9mT@GXIjM-`4*a8HnSK}@ONy4bZMXGK8t&qIR_+$^@7y31pX zBolR3V`H#uMCg>WR1YS%b<&H|L2+8+oIR}GgQl}B$EDz8An?)DeP`t+`|iNR_F3R#ITrt>Z|u>-;fIiXX>hchSGYVH2LQQpqk;ELNE_D z?!#Qt%3HjXK`-wdvZXyXaCk13=#_2BNyTDyQw?%Lp85N5^M^~yOc3{bZR&_n-9nyr zIjGLCSQ1o*NyT$At_K~UC*b1Pq;jJ1cAqDkaV})GeXezEX}nx&9y@d3E{oq?#g-Oc zb(S}C*J&kAmW98b$A?U@z_{)t8K@DLR=}>g?it+s*pr;iv277Ih^o1Ce5P?zYE_UQ z->&OE39oMbEWdAXs#<1LokNyb{O`Urt8nTNpyH~OLanTuZ%1H*2_RPbbwj<%idwZP z+TxTFDBIHmUZxCuy*^9FEGlxL2nJx@FhB31RQ_5~`d<#`tP5bvLvyj1FPIY7wmePg z7dl#Q>wA{?j~d8bf$Ydy#H^Y}$UBsY9HlzB^rKD)mI~YB7X>bL1y4*?IeNg2eGm+s z-1?Ea8{=pQ3JfM|)qkM5v7_K0wcJcqZMglCEydWj1j6mtp`vm0*_`51m$(ba=Y0t> z8yRxU%UCpz=o5J2mP2$E*UXEGKx`f%UUJ#I%d)Emb%nc}IR`P^+2WBjRN;#?46rR>lkBlq4;edM%JX)|j20|;b&pfeKsFrMd zaWxY|R*(3eNT1X6*V`RvEzemJPLFH|6GL{ujQAMT*xv01p94>R-+s;DGl|Qekms?q zJb*!gn;r9Bo*rlPY?t@jl=Ekhea0(4P=roXi zj!^fb{f)%IIijo=Dl}m5H}eM3-Lw+OcbB#(u%%^xo!?7cl%PbsL(^u?!HyLdJlvVG z&_GQx!;|Jf!c!4q2HhAdsClAT&tU?&Jloq%KU+o}%q^Eau}kx1(C!44T%q4*aZVXuhz?zbho99uSCS8j z#Rv1tzJ&80Fz~0JkD*h4U)kntw@oCxFf#K1(a-_!PE0Tr<~m)u#ii&qN1*XB12YK(=!^+S1W~v2J<|I^a zZcPqE#(+DvXg1^?0tgG7YiX5TF5q~$w9Ik6h3RB6x)!q;OTp|s(WNf#Q3(yg(`Jhu zymJVI^ySx+CXFyBeJ&!dPSQV2*HG;Dh@Ck>r)30rM!canJz}LE@zwl_BGY{M*%5fx z?Z3AD2T6PnuMv&JwQ8aD6$Hey>LK5!lC9(BZr^HX-lbPm_n~~=H4_c$Qd=sX8M{N+ zHPCj=bABC>Iy#P35lN2Xz>TXsii7F5J#R;~AhB@r(7!7c(-QSBJRdS;=`P+3VF>`fwKPH&P>;XDn&N-{e~y9NV160&S=Z z-eg}cg;YC-qd@`j^?@^NO2v_HW>4P0wcKK+RiE>e_#$rp-*kt?7<%0SQ>&{KQ_{P? zw2P}Tbg40oUI*W>A~SR;+XVyvYh~h=A7i>%TINm7o3{+ zBPP}~ARR=tk9@G#uA&_AWGqeF>K3cag0UT!bW0Bt%DTa?2^UKTtruMdAXB+(M*_8x z7VSu5lEyjeTxnrQg?j}N+1C!5fo6RVpFRh`e=ApL6_-stSXOiPk7Pf2QB`#n%VWI%@cTbrKX8$`2#3$XJ zx0Fa4u$_$U3nx@7enG3@i({hYHtX!L7CoPIi9NrFZ+Q2KEr5g-*BrH{+~Bagt%HQ3 z*`nal${k4RelgYoFKjRn`MO98Ul8xLG=kL%@uy!;A*MJq8s>Waa;RN~ksGW=#Rm6L z-HTT1%P?8)2D}??TszQNP!<9wyY>4FXfCgCtBw@!DbKINQ)D?DqeR5VU8%R#w>JSJ zgHYsjC{k=T^iN@%it0!tn;ue6PH%p@?ecc%p3{;U3br{&Hv}(mIJvn?T376B9VUCh zv?wUm8=&$hbJAuq0~URQjPJi+RUZ5aNd`7_KO00(Hs%s{Wk&XkXH)_~&C zr6L1RR^W#e==92rvLR-id@axU-hKwS>OleQ%3RiMavhr2UiD{3T!CH-hLbvjw#IQb zO3PjD8a?j$jP9VTH?53K6Q(MF@CBD}G~H~KO>F$Sc$83{f92b$ z^ZCH8mm6!Hs8do|`HZ~jWPVZfnEcAQpePlU#6NOXbcwwTgNz0`^XHQON3vg-oEM6R zKIYztB{1O#O!T|vG<)8K&|9kO_EvTje&4ujLb`y8-(erBv}>}bc0swFz3>)S zTthiS^-T$|_y`5tgDx!VAIBv!sjk|Cj|-D8+DSV%ppVI*oeZ-T#Udx?UQAL%z7r7~ zX$({Ms123*4W?^$-&mkYxV@w6t5lj^#3k>>nttNJ*XmAYt+^7|AqTcwI=?&gHKyM} ze0sr2ODebSDD`9^10N-C7%1gI@3vzgs-<+Vkdv9$IUIY}tnusvVDG#~0l4 z_O=}HmQ2%=-C0%Pit=C<jkyC;Hp;>&Mq%8bUqH+*ez>dK`T1+KPa80 z-gr|19EoUQ0#&{32E{^RirI*wrL}$CqDxmr43+3z>qZ^Pt?6nQ;G273GV{S)2Zs<_ ztenBL7TvBiEO|bR*PY_}!9P;Nhz^Fz9u?^9YI{mz z?G(Go>fuQkey}5 zFj4KvVPimgzZASwNxJz4MSYm3R6glb@D# z1Pjh`-ff~r2<`>toFSS7b>-l~2Q=@ggS`=n$;8rdH9l8I6Yo`vp$U*VTfJXrk8O3X z-}3H{0UQCSM!5(-SET-nstnR6 zBwR|^7OZf+Ji2oY26=yGv}s0h=_)ys(gRimk#d{(xr!1&5X z-*s2MQ*8&WNRP!!@hw`zlZS;oIMT&q*FDUs8^@v@(`GmWUx@(gt&GaLqauOMVb6Hs zo=1JiMXTEfY(9I;<>TtHRqk&;Kw;OTwAIiNlTQTR_RtzmrCNw5V!VPMS$2))lAkW~ zKsy5$-5zA}1EH@qV57Yc7=GTY3b0cxyf=d0ytGx_q4-G#crXI{~%Q z_v&|-LP78Bm%n)F-m1D-HF%&9jh)`Tv>PdP*_Q3tzUxE2-t*5XE5Ua8M;V=)18T+5 z9F95c)4lcD1#hWFY-cevu#oSHT>fN0(mAl1Ya9R%i&hH>(c7kN{Wco_-y^SElD5s6 z)Ps*}CjV4cb%MTdB_hv1EqvpV!^I+a;`0;qIStzm5_uz>qDKI*toa9J^+094d8w%PS!DWJbWSM*YK6=Af9S_ zpn1&bRpy};?cqO<=nDd^!o)O>ffDp=>$@~==EC>ap15pTt~uD_Q{QC-r;IHQon3!) zg%;4fC1l zd6eNM9E~K2%n_rH7fWN^s9?24+ivhxy#8#*R7X0^To+v_Y?g@w1mbK17#SlnGVqT-#&ssJeFL1njtxsG|2s3>x zCkH*s#dO!a_=g!gXj4tB#CQ*pEtO>rypjHVi@C!Lvr6KckUrirW3b`b72X);yh=+T z4v%|<#ge1=HwxodAyXu@O_#t>(+^}Jw~)e7X*hx3Lb?sp z+{KhuCt}NOLZ{NODG9}z9M-+m)w+1f&aV3Bh;Bs9O(OH#Gs0>MPmLE-0Z$-q9A|so zAvq^+lI>AUj)dZXG}3Xam+-@SkV2QK_q*DZ8RQs8LDGP{OC|ca>{!@yTJNlYo6Zn#SpA^im7OF$88>C z!#y&FCN)IVeSlkG10tCu^<-3nkOHGdcdJ&6pEqh=iJV(RwT=1S{YuMr!N`1=!nPrkUkzNMa}oeLJWJ2&MIn`=OH zYh)MXJ1Hgaq_e!m9u5}4p`|k@Fm>maZeLHYWkBbpMINPGC7Y|+o6AQ$%R1ULfbQ!1 z%ww_3mJ6v~!H(->EL@sS@Khuk^ohZH*0MwR-olD1LvXxCGMQ$QhTkCqk2$&YLYhix&Ua1*0Dk-z zR}HvdZ^WD+XK|(O$42_uD0nTx^8$BpNDA#BUQeFBvwP2`; zkcUG&#ug~gzu4p=dQ z@IZ2fOA9Lyl;x`ZnS+TCPlou6frsVV+84}q_LPMIJ3gJjMpj9i9Sf%8*zTs*>xn`# zPrG=88f}*}GpV(hAxzFF`^jEjp$jKNLk*j$!8RvS-ss?J3^Rk6(SI)~YraVp&L za6qNiZ&5JWr-ykll$gP+PfTE(UOe&9*5t&!@nmwVR?z}q4hxBm3}wkfaN z!6vD_n&QkL<&^OESR~L2DGRcqK>^a0^%b%T*#$UXD~!4I=h#rF>I zyPPe3-nNX-@gHiaPS$*fYD|p3O;6gV1O(pcv@-PdI%=12{nT50i}H?@#o8FP>k3;s!Jl>3P9G{SS^v2vwStmoa_^tjV2CeDTG@Rlk+b1#5R2J zxE2-A#PFj3JM4&p;5a>!;`f{s^p?Drg&%9?!1pXXajKMi0cFnWzl0Zj#ILtr<4!pu=ul7F*dxT;b z&K+xePATzR?Q)07oROVX&};dMOsemv8`=$4N9NPint1X0t6R(sIC`Gy4b!)nqIwKB zmbKjJvR0gVwxeXLp|5Jq@Ex}HIdl12O%in$OF>}rFUqK5h6tDLsEbO+KH!SYu24}+ zA4Z2xEX&uFRbim8Y3~jdpwc41t9^r-sJ1TJ~bXN^WScDn_U@(%jhY zmpeLy52HI+w!0B7$s9YD+`NMMy&V;RL4~r%tEC65l*44prLtL)^2W<`Sd_a|8jbt0 zC9>9>wTFl^((}7x1Ig^ix=zzu8ueGs8t#q3MIBu9 zg`bBVOmd-6c0)}6A*qLfE&P*t8!eXWbLVpEQx#28&M+}^*1`ieI3b-8>!{Eg*;Y~KI68`n7!W&>8&dx_hcRBD5sQ%t|I5J8ACu}Rb>;pPn0@zb9#q1i8;D1 zh{6*um?)h*D}sL3dx3R{q<)9X6;EOa945VO>-?2?<6*=Ml!Kn{o{L_%q0cq~9&JYL zCKa*qI~-@sC{gmZ0C_ZQ2XB)J)j-wy(3kGwsZn8nrBun3c$>Wb+|2NAj~pxyg32kelzSn!XqZS{Fd1IYDk-hUa%vC!k2p9E7NRC+6jc~ zi^I0}!wq;I4TJB##i5Pvno3Vm)KydNuiSWXoXWW6TCK+E6+?NpJL!QKcb#M)HplNF zN;=9G+f&=EhFTpXejUS)O=0vkMqaKeDJ@V|`pF;A3Ov2#bluP?e%P;Gw`v_MyykS3 zbgo1uDd-w1tmX71iZL|Vnyc2&W@n!U7|dbr7u8P7)J!m#r<*K8mzo0YcYXoOOPTko&NL}eN9pw8jg84AKGI<&gpS8EJ_9l{_AXajh~mYGNNlIp zaF%z>K8gUIhQ>4)S6Vqy>vyS@pjw%2b7hLf&9Kda$KLDj?#vE%2%V>sRQKZtGM)A4 zlWrZm*Esk>eY}T69A6bi3;qkY2~ml+0dM^>BHLUAk6OE*F*q;U06bF5L$gkQA> z%rprZG`1Cvo!|}kFAnc-D*0usGogrNkf|Z~)7F}YQDTFhwIfl}fwjwcy}Fr^`K^Iz z-VhpoYl!&1hhNgM_BDf`?g5qyU2bXoXZlE{QtzOidxdR&QTCXP>;OXQUddr)A{z6&eT;q!_NC+>f zIL)26IbJ~lAf`V)%b3Qy;_mfQ3lSk@i#0lL9hRVDHNwXf?A;J%*AGN)_$;*qkGkwX zi++1>9I`$7rnlIKQcUKj+QVjfA9ehe*(@&h!Y(P!n-1eIB95NNO>BqzPa2tf#D7p| z{4sd`51yF`4naA?U3Z@Sk&{e^In^#3P!fQ6)wj4Dz4x?5qLLe`%@J;*5hei`A&cBN zmLU1mm0~uY9@ZYi88In+?i$7a@pEA>$KOCceE0z!-w0pM=bQ6|Be*xFku;VSk)2C)WlR=VW1&C_2`O3PoQoAsrDTs_3t8qN|(GP$vL9cRJwJ zne0nX1`w9ey4!?HHkuV6??m+nN~q>*s`Ca@6HTXT)_4p#@0iF5w7~(8YfCV1P6$he zJd0x5YRvK6%B~lrxi3pTqz**|%`;RyING{P)XUH`=+uSc0cJp1 zBL9WEX?fP(+uK$w9Du43ZE0eYlI}uqvu6F{?CP8JK&e{L>FNtaL+XbzMWgg@v~D?I zRt-C}9IQZyMW}o%9@2usz~jy_+$rmd=MhYx&8TZ0D1bE{rqt%vyp;BdL*E=NPa)jq zcHv}f!O}?tYymy<_Oh$ibPMJmOw1*8;RqTxZqu{H>zM||PcFf;M_F{p?F3hnr5I5* z^2Qzsk>^jm0BF$Vj%7<=Al1Y**G~B8nPry_=tbYJ1TTt@Hr6N4&g6nE-AGfcYDu{R8NbPe=k+(KTE@FTlit-4$O1A_(EOm!ov$%94e&46nCS zsCAp%9+Sdwc=iJW^V%Gp&E<^ec|FGyp49R)?V50cC^$|3~b|zJA%BXRN6(a1K9YLR^x%)I>Fq2>MZGvjW z>iA581jNWo$imMmVW}y3mTJ!zA+;Ixd7J8SK*sHn7oEWRx~x4K@~l4~Yjj|H?QqYh zxU+4S7w;ARMSNwzF${pvBkvCu>>*<>(yRv|vG)tVge4?8FAe)&Ft`fL3^$5`1z7Jf0aSS8 zTA>phki7@fU^*DD0h&H#iX!fdaJTiF=pT1R{fW*F@w6n7>?84sZN)_WyZ6nn7Vd#= zkLH0UtX%Ps*!M&=s`==&pVwmg1MJsFX$!7h;twdLlzPIt#sHFsZOD*7gGgI(%l zlTaa}l0pF_@=(oPvSS$ZN$l2coIbVmwTBAKltB>|lK3O6j#%zYdP==urI1U7Nt2q? z6@b8~l2D~n8Re&j7t^u4;&K`D0(5J&$abpDgCB2a0Uw1Gy!$!S2LVo_+tQ~aO-tDJ zNC`>28I}@=hszYhCwbSfwGk{G?}GgZz#6uuVd}I%kPu%pT7$lK$-T%38o5n~cM46N zw?)C?>4Ia0F+Wnt_iF{n)70dzZW%jatSWRywY?c3UGydF{ zFd5+-wiSS?2xs(X5$Sk&H-f`WTr*DReGTX5GG>Z+TJIV;!UpO(cqZ}p4JJLqh_N%D8v*( z?1ET1z;f`Uf>OM}n?1$s>{JachnQf@ALJ(E*|6&0|eQ zYW6`Rii8nA1ESy=2M(5^R;N4dqSYn@?`s!taR0{xHG`!cb;LD+&oNk z+lsn4Gr&d_sP-?p4N(nP$7?>Z<<5^2uzjs5sQ~EUlv6Ni3j;l)$x5!xWH+N)kt*cT zRJ8^g(x|ROeO=8E6=-j}MDdsjk=Cb^f;hyb9aW33x~p{`581mMn9bs50m#xgf~AAi z?!dveMELeSlaA|+4Ab>pej%&i$?YjI(-V|lN!@r*FRY;|R^DSPnPE++5#(%K4|B&C zzFzZMl<_rI_lp)OJ+r7@7g!-+fn46{ZcC>ofI2rAobjtBX7&8)RK z^guVYzFs$_GQ@?1>nlvus*qTVtar>y@)hv`p>ep?8E#i!lM!pFI&kQtlp?{|xOoyn z`Mk?qfLm$kRwiH}9ctYXQ)3wd6;)`CU_9Y0u3*E^J3X#V&mF?>M4X*Zdi3HJ3Fnl! zdr?ou=rK)RyNQ)@jsX|!-30ER8o8Sn8myEl8t;#SgSPPPeIXkR+%dM!f)GXHvO4y!0Ym~X`*!+wfz{UZ0uSsHp)PmiwS2?(4vI}dG9HbtrCJ0c@0(Y#HQ}7%QTh!o1SCVrSwh}-m3$wy_je}0; zeqM{*fU=swKjhCe7GhwvTxxv%xi#W9J0DMBNbJYS!OEDRx-0a|Rk#XlXg>T2o4%%< z;9oyAWO@6>ELS8G?FWSCxP?~W=q*NhqqPdn_FHE$`XZd&%w_Q}@_q0i>Sx3yqxYji z40onqns_D0S^+0RD%a>3vW8nn9ULGMmU2Q#NSh--tPTt;LHh{(g208Z8VyR7?|unV;HA z3XzHU-`Pw$bKzsY>9>16YdNjeh?6{t z*&~N@@r-zs+QcbzjLP<(-8qJ^!xA1baL&^*m12A6EOvyq9`7_!LM+_@L$A6CQh!cloc4W@Ao9veS zlbdM5i!&NCmNAYZX0LYJlX_N`b|Y-T*V}Kgds_A)LK^gLVSv+|1ukl;O5NVHj+KcW zH>`t+<9xwLW3*Vae#Fu((U*K2_KvAYDQqhn*}_6!ylNXzG{>Kn54B5@dOWv>I!zHx zVWflTygq_#O9Njns!*@43`LRijYQfS*q}@!^f&w>7 zUZTR263Dfibp$8F^;VE22I}5M@SY(<s!om#|cHX`qz}dx1l|SBN)@hK$@4)tKYe=zWtlbb4mc@r*3i^R&;M zx7w3Ft&`I4Gxr`Q?-K&@y+;NpoGVI7sN8s{3)_>z)R#_0*IsuL!**q~RLCWl5aq7` z@S(HFP(LwbvD5K~Fqq;%YW2{@vPgFhyFfZC?L(d-$86H+Cni9f zD9V})jI$+~_6OQ)o&xgDX>qf1;%kgIg_wh2ka>x%sb`CdAbh%*$0-?PgnStx=j^tY z^>JK=p|b#nr-IP&93n|uB<~p@oDGdI_imsQs3D|}t-IW$(wOI`Q7oCIxQMmj(Gxr} zQY3<^hN4^$nhUU94kV;j(vIh%?rDY&B<{x{^ww5MklQI26(^Wln-zwOcDqXAz(>8% z;YjrkrxX%1C{X5#7qNXsK{0+|QMoO8=OcdOyB)oL@un4-aHt)6)n)=}Iqt%CuRU@- zo;i9>fUM}%lFo#Fo{v=BY&y{DFPRHeLP`_yv)$IOTr@yF5LxMU0N!;P6;okY@XcrMTjgVgyADR-cxfh zdY43#Y0KXB&qFrH6+S#D$~UTV<-{@{HusH~i4f$oflOe+s?%YieL7iVvRx`S)t-xy<*v>UZNKa~!xC3yzzZ-PANpT(TsIzX;&!Sm?}0<;x^#?bu<;QqmO6 zDlU*tYjSmzlA2EShM4;#X08FAgs*j*u||*EqYua#7i71is9xCWH=4a($6!QXShH6( zUmf|hmGZYmC%R1!B7X{hekt@(9^I%0iL zda8DGmFZoU)M|)aQBLr~)mW6xP>Be)T<(&G0Z#f(_tlMD`M%RA8gMky+6m%vQED~J zyM;`Ikp=9$D79tNI>yp@a|{l$i|ea-{Piv1#2%d!6iHIHCZGOS&z}G}!K;=`{P}EP zIgC@{&w|r@lSusjJMsS>;gVmiQyP)K$1QMh=A5O}&>+S|msLr-X2}Hlijj|aSn-{0 z+RED-;S@(%B4(}f0yP(DS~5uZED2Ce!n6u4$T(_oAh!=>$J+Z|KqG0H0*zYh z^@S$Q-n>gzlMY$CWsWxk=+TocCG4C8R3_Bpp?DsQ1j)^=d&8BX&G^W!A+Rd$)w!q2 z+tTI9Z|r6wQMX2$5o6xy3tUllaYWut-H&NZak<rOXbvk$AQrR!T+Vp|5J zUn3VbM_^$6=LtOImMB>nq4JLKt9G(kIGhV^n2i-g{p!o%k;Jm-$xiu|+8lm3lvv0d zs3~8B+Sg8+L%*FtC?7=!~FtThzSxg0O6)SvC5fZ zUu!EHa*_rF@E34l_#93|B%C(#wR|pt?2ZxAEz^4hH3#Z0DM1du4Cbt1z0Fh-HkU3E zR1v<2ls)#VOtEOsOWI-+`)X5yVYIWu}B~Z`u^iF9+8Pld>shMo)&(y1CY-euHx%8FMHci5bJ#lv zf%jvqHKPrnh3#8a)KX;8i!#eR+=$H$-m2c~5lzH$`+nqbLJEylHWeL?=q&lp*_Iru z=~wguXTl3{0Q+R_HMCUAAaB^yxjwTu*}5FrUv^BKH4|FSX3_*H>YRR+h9)BY*kWMe zYXzQ;wzYQJT!za6;QIZ!o(HeI>!ovV7D+)8^_pZF32nr!F24)w;diGz z1&YqyiD(ZA3%3AnRKS{fiBy1g%_7@?LrlE}B|JQm@|J0q_;EcRj&nX5Yc_YiG6}Z| zmkr_8-t?f>Mj7A*4Aw)-k`+wNw8=Z+Dpj`q~iwfq?6QafA+7Uqs6WBX$gU*4T?$b z@9oxT{VFetQ@+|Xd)&z&?>x~NG5r*ye@G3@J?D7Z4gS;+*fWiBJSa~!?xh+01TTxn zT#nGm93JCXskZSgDH>AvOmn5~1jtsOyc{@K31}>|(X52aoCdX}-L7a15W~H$_)#dC z?ypcN^XkcwE_HPJt?V``4eJoAN!@YX_hD~2NZx`Xylw{~sqb}x??9B%S;yHheZtH_230=_rd#Vu5Q$SoNa?F|UOa|DEJO948?K#2L=_|>dS zV3Fi6Eaf_SEkME3&6Tpe9kYZX+lUScCOn6kaE{HOKBi{kKBb4o=U{J5+_&il%6hcl zDub(4pEmbK;b4@|SlsdRmRvjQDF|Cp$^+qS0C%~Ov_wXe&~+SUXmJR4VPK}$q3}L@ z0Nx|S#nE##c94%VI@(BUQn$t@@YV-RVL%yJW8}C|^W_^~(ahBj1s7`^?Q;l@i6xUg zBE{jf9%>M@MW9-9=3h4=@db+Sd3h&q$`o6%*18+#(Ea%X!kln`_=z}tdjbG+IADGo z7FYz7er7c)b;qf$$5EM}wm#`CdB+>QE7VklEazfIMFqj2hA4-j zjV?I$sS@K^8?v;LsH_vQV`p`cOVi&FRc?i!5;B7KAzi`|SrY1UQkA4l=by~$8vSYB zm<2Gwq+vnapzmWp6|fx{WsXtbKzF$GB*10#k8UYgFVqQp4G>T zex>Lhqi`jqdj<_N*6W^`<^$dH8o!28fU+sj8wSc%+9m|1*PXYSt7^{ckIFf?5vXD@ zl4g+w;Fxu2JU)rrZHX7Yr>|ph*au5Kq+fhnWVDHjbEQbaNv+{?*J*+uX)Th#^^j*Y z?^jHCau;@1w;FUqC@a{EZ#dGIVT%Ypb9haD-f`5aVGtzH+aPDssfOi{J?&xMxhCfAagU5G{o4y3H@Xo9!;PV_u%Yww`H5l9EF?4zi(R;BFwqO!oj-h!Tzv9$Nd54e zl(fU-;`^zP>y*CFP1u88>%I|>r5zXLhl=CBRiN=I_^}Izl{(bB?^U>0L9f?i+Z617 zN%+%iEH#T-7_oM=EcnFMT|E1#P1U#^(xw z6;&GU-EQ4iEeT$sZr%4G)OeB32yLa_f_i zIN{yN#NrB6vj$%D#Gx!(bb+?`dV4cCt#GmZuNp)OeiAX{1 zA;@+~&r9ts*#=`5!2N)t0P|g~RBg@^QT+-AaTmhMOXJFZY-xFXLrrr66jxK=IS62|1e3t7Hz(t9U z26ENj;Wd47^HVb7$&Y6~;8qZ>Bir^eRQ5N5i#2px!lPvCz6pkI6gVck$#($cM?M?yXL0rTJj-D_!ciUx(pUQI}FbZJd&Y^-kB?F}X*%G4%xeSdR3 zlGAjZsr11!yK)X+Lgmh7@{)mP;AKG|N$o0A=+9BmcRLLCdRKB<4Gi`deXrP^;fudj z(4*fr36Qk;>2Yy(l;5vYz_MaM^MScd?K{j7BYfs-B(6=^N-#dvYAqfjfaWK3$DU2U zvoI5iz5OAU&i0W<2Tgy*QygPg{LD0QXU}QlfCxfN(J!=%)Lk8>)0yN13twrPbkRz6 zhGZ=s4(>r?VoNgOyKJ`XXvt@^nmoovsp~y`@xr^#zJuKXGi(5`KVb#wt_skJFI1FQ zgQ|h3B!nh9hH2MDA9-mM`tS!qL4&wbHN0aRHNJ}XtG3H7uc(J?t-`XBEh#zBsY|_W zqdY?ycdpuLcNEnQ9@*QrR8g5lGmCzhvLu~i?_3EP&SsF1&#{WtRfEfUz}Z8iUa8yg zD3$1M1xtw8avw&jl2p@V2afw@>5B&D9z7Kze$8HCW_)fWNZfd+h^&r_taZ8kZpV|t zw2h}U&`(norvelh`J*{r2Y)mbCW&v02gA|T6ANXLu2*~PC&5x}RuxRi7i1iFCIjA4 ztu_g(&n)-7r~ZCj3fV@!6$<${1dkf^3OZqp7v--)YtW z!9j6mb0!#|)d-6ajb|E_u@m8MWHd{4tsI!2xF~&2wg<_UnKWaSjwCxDn}Lr|P9{A< ziKzXZ9yXcu;SB=3D6HpK<4a&G=6Ucr68oA|`skh}s!b}b>VcGGNJ`r-in|n1`EPu5 zRNVy@0kr4A=1ZOq&sg#Yo4&{qoNv8*a_#dsSp)}UGCr-G?Qo#?PJx(auI&5|k+Lgn z_{SQ-m{v}U;&z^{EeET~>4JsqQr5m9Akl8D2Vzbmo%Mn5Ug;ey2N~k;c;Ul)Xc2pT z9nno*WJaQz%67A5n2DKp2@g{7aM&8m_Vjlo)q2r2ho?-Qi)gJIWt7I!XhEMbFG6Kt^$G4EcgU}QKSsCXq9F**1MHKh3^K6g2uTQBQPIK} z=*&}+{LW;r&jm?eC~_+k+>00M7}nX3Y+qK6C~u@8lVuR2E$zULMyt2lrQX1V_Pmd` z-qt@#mLX>~BaEx*D2c;bPrDr#J1>pLzk~PS`~aE;*!UW3N4&Q$ zuov?OP(^8car7NzaL`YMBtcxWyq%)C`urZE5auq<0p-9>%ahzaIkGDUmNVPx@Ow0; zUGTJMAs$>yXQR0ND8m@{Jgaax;VeZoas{=Z@_}&=#kw)*C{+Ttq&_AfCPjTDF~&4Y z#u1yBp$t$uh^VROqyd9H1+>*=`bPTjXdp5g>$Bl)TQbHW!GbudGem0WIa&bpr6>?_ zP)kf)8umz(`79hg?6h+YXv4IR3@QLxF$m+xu6SrwAvZ^(&&`u+9fS$|)OrI zfZ)FI+k-!mat@c-7++>`f&i#aZ;CHD4yJjoEb?C?*zgY%put=U&sjic!d{&XeI78z zcBXcCjV0~bdOOHjG+>wR3Fpy+%NEh`jBw9|d17G_(Sn}thU(H)eK-Wxjk(5U$sDd- z;)&{!f@|q}4N21Vc*ntXdoqNfXj0r0re!MsQTR#aKCqqG`OE5Yiy$&65Mi1rP0$kPsr*c4BLo?!)cr# z(!_r6hZW=7u~HT;vGLd34%_r>kX4V*^|Z1SzGv3A-nj+M1ri;lmEUJG_QPNf;S^5+_Q}0cIF3gjMBn;H+th?B~ykf}{ z_0aP_FOY{w9@?|>pJ^cwuN_e8z7aRKt+U-cHDATZrK`jQ~Dw+&E zM%EHxzr$z4j2{&weEJ5=6b-nlW!*a^AbDA`H?f0o zSQ=1svac5bqtZ#)H9(nT~jk=^c7$sU8e4 zlN=H`0@C_2O&0|Vm=B$K&gN(pd#E=kru4nt+&bpxhMsy}Dp|AEh+=k#>g5g~eXRS-3_KD%pSoy;4@JVNgWxsN+EY%UtbU`4K;^Z_`gV7==$IJ);C z2<~w0$oZ4Stx?G8+V5SiRFS0QUM)~mW%OxoQFRXI%Gq`SdIX1cafeO79N70ud}xe} zo?Pn&l=wy9`BTf8;628QWZtHIUO|4DpLq+NZ37{hpz_Rb^>XKWqedY-B4=%Ysja=R z4f_n79F)8o7Z=jG##-y5>iY6|jK<@-){z{-`$u6;;)5Ctk+JAZ`o7Xb(|s*(y_){} zGW>;WDJhGG*cdKwv9}WDhljn*wj*G#Kd5948$OGFWA##78v8Ta&%M?PU6$~MGblSh z-@ga%z#6{Z@yT><`PP%oAa#jZmh=XmVTtTD&om&P#DRfzL}InW_J?oDU5PimZ3nl? zHXCO}3Mf}sV0byI+v&B(<6sOD*8A)7=>_}`n$r|PeSRah4l>QMvCP)#;dsEkkibm6 z>fJ)ipz;T387CG5m>kI4GlboygIN>i=Vv$}EqdnV!Y*>soyB|0itzdj^H*%(i^|fh z@t#BKk3UWER4sxRPqw5SM3fk}i=)vTx<15mh|F{XF_QOm(y~Ln4cbKrMv@51kWU>w z%3Zma!0;)}+aE?YEo4_D`cZutUOk(7$ani9^uA1QjG4mHHx?s&Vd_ItCxfY?L*UP! z;U>E1R3cc*!~3^#K9Acw7I=4}sn_pvx3p6u95o=lL|q;fHj0<^W&{;gyn@+w2K9mo zOKgL=%i8l3C}3YJCN62-aDWjXOKCC z8gy(Iu1mc*B{0t0@4AD?D%x@!rBQ>I@~p~$=mMB3nSqS7MtOjpom1%2m$yT|2q+H)ndhmbp=?F}Yg(1kC)aiX+{<%DWcPdCRbZT>$Jmrb*t4_d}mQ^8EkO z|Hb|XnEdycd_X|`d}Q|@1NH2e-<>yKtL}N^CME{3K71oQ&ShUdzQAMH6B_bm|YU-`7lcZ275#Az)Gi zqqCZ@$LV!+F9sV|c5kFU9lN)u7eCFW&Pe6q1#WCRX-iU8zOMILP%JwLOvrW4Jd)lh z`y}Y#3u5I@dh#8vJ&&4cB=hRfwu|mkmxvEhD~JZgS`Hh4CXnsMVRwCgP1La}`cP3r zpoJwY>+Vx>$to&(?+IVoc*jP>RLw~nGYWD`xm3BNz_4Kl`-W=H-+1I|J7b(qz2H2V zW=P~0e)7Ia3+T9uuAk2Pyl}3xQeKJgLB`VA2;x0Q!6sh`AE1Oo=Ar>RAvwtA$HrJ% zJ4aMb;L;-Lq=K4`zLf4*;i-~&DC&UP?(^`q2S8|>qpL+|IO=jbk2Bo0#UtT+qrlig z14>*Mvwlb=5iQs~IOJxCWR9{xQMX$Ys+&Tr>W7C4$rr?c>m8vqF%xq1yI{$C`GCw*S3B+%jW8SvvX zVP4Gd+AO{)I5&Q|E)nZ*TYH+jG+8dFuJ*iZ8yflHf{oMlD+4-2uPt~)g9mFVQe8L| z8$?SMueg79oq@VPtZWffDWz|cvwB!2Erd^PNB~NDeO?(*>K;MQayy~lN4)`Q zj@;rE+XiM!Ar( z%XIhYe`V(a!Gr29A%e&Y`?45ZW0|yXm=G9UecJvT@Pk(-gj6<%k6i!nXNjiqQ zI4Nw4)IG9%hkfriSqeMdKTR%^4Txf!O-wOO^+wv*-QpK`cu?XFMk(+wSHR{{>1+IG z2``6!{Nb3{zl8?KE4t24lZ@H<>0?-% zqgy)GPa5V8$p&9gHN4S-y6sH}^Qws|E9=o`X2%suE;C8N>igV&3?W8Y#5%swB3nB$ z@}0otIK9(yE5sK$3mD1>#^C;}=5{_*9tifU2Hklv#F8W}-j#$@Zv~GPz@Z0nJvF)< zav_sSdC~*-yw`$1=3-)-GsG`!t8I4h{u+rF1;8?5%_Y;lOp%dmtq&u#UB`Z_bEtQ6w%s@x zW3w}Unq_);o|sAZgOAYs@&d?uA)v8B-)mM0C)u4B@_s2K#uY!K?$MF?Lk!D6y!ixR zpA=^JsvpReW}w}kF<{FPGDu`YN|X6d2@a%$!)kiXe0@H0-dcIRHR;*u-L8JDj6HF; z{#hlccD-Ac!P76y^PO68SqBh3&!R0nS{Bf;>Yq+SwaQ)Qj*}BGUh^4dJq`b=AMfxF z`uylVazm{~NL?;~PQ199xN6^S_YOJl>3ur$zR7O47kIs1qpmKP z7iD4puAS88P=mt;*8^QV9r(NOpJp38$~W4}Z%J+Dv3=DMrEDH_QX zay#DM+TD+I7>by%Rp$h0qv1S4U_Wev=0u1Sv3CekhM1cfY^_nID}l4tjlYiY3B_?> zHZLMjFEi`fwLGDxR(kr&1tIRfm~yM|+x%^?oZC_Gm$`#1lF=V`$ukCS!MkIOdUZIH z?P-~pI_VAtkTqo>Lg()G88_}Ud^ra{Lg5m${z+~Q%>h53NlVr`@v=#(h{eEaY^#u zHr&;8-b7c0wo(8h#$8)ao|#)g&9tiF-HC*cLYw;`4OToF0`w}4iaT z^W8bT)jQat`oNjx-jXEkvjeCmDU#@T^C2e1C>!OyuJy7=nT(K5}{ux z^Y&rRR3?E8J*9);Yd-ZXn)Se@gzcA+YosXfT?szQXRrGWx!}3RHH49a4 z$uR&+9hv*)Y~w-j$M{v&>l*1pq4f zrlxec*KnIV+biPp?;kRFAlFK`5wts6(o2?;kQ;-DdAySd*A2Epy1loSh$I+EH8eP= zb?P-0l9boVW zMwZKar8SB2hpDL>FrPN@iD9g_Z+2;;$3+fc;tKFjcV=Uxwd-6_EgWg05L&41F3+)pp=qVJw;g+S?4GF>kIbGFC-D;O&MuS;ffIO z>zm>L>#!V>;~1U%UeM4-#-)K)QpxQdVuD^17K|FPds5*}em^Zei|fM(fX*)HqGO;9 zw3x?gkekwCWl!lgTS6DJ@Py{qjB%Jb_dbWDh)$hX8$aDTuGWNRA+KFuCLyh@U)Hy^ zVh*dQAjoBU{LxsE#b%g~kHHM$(S?W1^Y}@cjM`_ZphwBx0UoDL)r*xl)U>Lo}iWZ zPIu4=VAEULb)F7)$f#=>E1r<5hMaPW_4|8_iwsQwj7Dke$!57Qu=~TYiNNz+)jMUq z;$YSb)(af5>Zf>QkrX35!WpL0Ny@z^astARt{IfaYS&yo6KkwQ*i+ogRh*%jQr#4? z?-jd-_D7E}Mpg?)%?u-ZcI>7#=2h*!!^G*@s_h;rc&oJ$uC-0=!^!Z^9KwS2PN&^| zYqSR3=Vf+0J>KOZm>#{45{=f6nRqY6i=p6^E(qYM_eOEAjy7im8afGki)!={Jj@ek z{d=+Ez|5|(Yy^U@xoZm{*;Ikb-!lQR$CjFMQ_uIV5<+J$B04+Px{ltWSD@fo5)Qi^ zD+4?^-`t*itsdF3q_8qA;&(B&85EA^&vo7g$(dL=F@X9xXW9)Owcb!F3(hSq-qj~f z$drR4zJ;yPuyAwex-EE3X$lLJuH*2&F*brtTqtJwce&KBl#Jc5&=Tr-=nH+qptyx{A^p1K(VwR2pTn+s}I zQ&bAYT?!rbN?I!kP_Nr%z+2tn29t`Auzy=AvyzTs^;6&DmfX=Ss{!bfArAtE?sd0* ze&iwJmMS=B%7P1deXC6`I*T))AnUDIS2CU#ZIcym(CuR->W`4l{Zo<}zKls)#+OOf z+s9+fh4l76j&32uP)SKnOExY;5@TTlb^EhB-dz&L2f)NS+}JT)4s2f{vAsGQq``a7 zT0k@VQc$u$je+%w0YHU78ExL$=8da{DHIVbBP5)75eH^&V*Cxap352$`HGyF3#&Sb zj9=qJ5?_S&e)oGVHtJUj&wqXZ`~VJkEYug?h9ynf_NvN#T0Y!|o4#+Tg(t9_-Ug#Tw(mV9>-$Sv zmtiO7nq*@I2WsDrfvSFAwPLqm{0rW1Ki6=F>|ZMek!d{Z*Vq}wnkQGi5+L@RHs;r7 zn5XvNL$@5NWX3*-hOOW#^jC3szV?nWY{fdVP2Zc&pEXq7m1yCx5GkQxA_jxU&ry_s z9|;}m*^+~^*yrf=Txk4N6~Pr2JM#Rhe_nkKrja65-vMAA zdxF?t_!ZSm$Xr?usWI*Es-aeqeb4yFpWM)O0R5RcT47|h3FaRT^h@)vs8=OM{%<3& z4Lu?$*|l!p*PT9`)dSx9jLP321RC zta5jvn=*7p>cZvLH^+WIHNbHT*SpYrt}C{s7*O7Kb4pgL2aJv`vWJ zeADEI?J~}5TG15G;oD=BE)}7lF7l4Uzl*gS*FMgw4Jj6IYCfV3xVnn=5azny1F^-b z#ax?pcH@YK4_V{Uq5Bvf#PvYqZ(7FZT<*iHu&Cj*_YK zI`a^74V9Cn68X>gjnPCtPTMSH`kAm2T)XA?#}<|5;~(q$o#z+_=0>{^zWbLl2SX!~ z5dHV2V1g#$sYxVDz1ze8o+dXshqjUu>v>7!U!wgEz(oH5k}8`}@ljLj=R_+ZxvrID zwaNV)>yZLJ+}Dtg+BAkXV%}5>-QF42)Z?P}lWKKN_|0{@R)lH$ITAgy6~vw*JIavE zwW^)uFox4YCA~`q2!_;6@jx&P(yBImD9=iKLDhutjkJ?l|9aBQKpzf_K;p6#SqhPsH0@7+e;9-H)q2hmh?+?aFjXP%3iT z%9b5HsOscH@0O-u#JH%)5U(Nno0Bn;HnUd>m0M^ILG_5^e< z=5L8tm*dp4vbS!0@O&Y&&S|u&$|cKc=(t#vZo|8dhzmB>w16m;btBEHRZP#aM&>Ce zo6C++)*#^rDj!5*mMB;<@3mc$83uK)#Kz#(?#dGG46NfT%@F&*`%gh+bZ4q7Poasx zTfs5o2Vx->JAU$Km4KVY({ejpYk|W}OLLV!=kLHDzXSqD!%JuwrOP7yVrPi}EzM*F z`aME;wxVx))Hsl>64GEt&Vz;o}cL7MAUdUv-X<_KQPVyS0;e=uj+zX^7rEpV}J z4+CM?C|Aw(TgX;QJ}h8~d}O-^19?iRd-@QMM4{|s5?sP3EL5>yvOBeRNQuxfyhhV% zT>C7X{IA|Ij6C4v7Rq|bA;JN0-k(}J*9x2)qh1TX^#%!QuD+$Uvzl6PGjHUwrhwDX z$|U+R#AzBs!fyQJX~(@1w0n{lNE4)RIh)xR(r%J5Z=Be9 z*nLpfNIvC{aQMq}c{5_1vrzf2^9WT-2)@CJ1d-%j?vB8@U_X?8G9+j)8}dYqe(t9?nmWotZSZ;%UI|lD1rG* zg(ku-%d&D;>m5sM|Y0oEK5PlX`3lGBXiK* z8*iKyu>f;|y^jpNO~LER6dfUz!eovCy3(8ktS0v|#i=I)FsB<%VqihJ_=LO#1)S25 z`baB8S|q&fasqn@#7+}k>05Q)N`b=fO6wy@%|k6YMDgF9__sFbPEpml$i#y$Cp?-c zUE@?bH0syu&S8gvAh@?VHT;geP2o0-ZatpptDtc|XsAA65v&Wb=JlFCfMc2cJ(RJ! z`R#}##Oa7_P9F<)wURkV^J}yvtYGzQ*-2}58FHC!;)Eq;%5RZyS=G4CXs=Rhn$89z zax8?mqesqc-h*>rXH?D>0m{VMBt6>3&ah)PN@2x#_z$jxo^#TVaFm|vr~E0dJH@eR4Y^Z z18p7FgRX0&2bAjc$PC$%ST}5x7@{zB4t5xAYEbZ*wUzU6t7mzj07O8$ze+oyq|-X7 zeX_pROyVC!lQyEos+j^&%Oi6P5dhoDkQ17tUHg^ok2&!4TcbFDvQaNO$4ol6H+|z1 zj*$rPse&qPTb$twN%C0}Q?kKj@_4NX{KOjlvb!w;+{sv;9^AJmlbM%|iiT|B)%FL5 zGnXK+Eee>tJU2EhD{*D(ei`MURO|wVgAWHdT!N?z!vl-I`mBBhu{#-T>({)$?9Tc`?B6&oUTP|-9l(*a6 z6B$%UcNlUoyKJF=oQRUWeo=~2Q9FzeaiKbd!E_k=xK?0MOp)Si5X-ewX`y_deE{4x zpFUwwjnUe5^Sc!Q7QoFsNvZdC-B zW;5K@JI98XplbLVWS^qEF?8@mU6YfU9mw9nBp^q!PJ9nMygo8l?J+Tn^f_bedThzC z2PKbW%ktQJT#RYfOeFg=-jZ0So^NKMe@}x$Qr2|D&lbUj>^oL4P-6?aC0e-edl<>s zfr6l`-2L%&QyHg*!akZwbc`?Yf0eY!S}##~KHy zy6u4cCh=wv6&!avI6+}Ip|)m1g)68!G%B9iWJE@Ct(Ug07J2cN>=y0bksf|Z;VIOn zX-Z&-S2*rLs`t6g`^+MUtc(p=tpgi!TKCghgV#8jyUR{u^2bMX+qtAG+)2`C-e9Fb zU6SG!o+vDm^{mp`6ek5=9vfJ%maoxe(@1o25WFtdcF9Po3`{6QD@8Pz*>+;Pd!IF` zz&xaVw>mFWQt6=JYJ))wYF~Y`-!U)|`5|uaflYg|AvMBy?j=hhm6g&-74h|$H(S(| z7E=Rx6zYbPX#Zgu$I!5$b;)|Lb#JzbVcZ#`8Ghn2=lO{LETutP(xJyiQU zy9ppo9Nx7$dOP9z@d#e?<6ZUz?A_Jyx}Pze7GRscC46;GV>*$m!n9Ew+w#bG(|r_v zu9`)_Ll@URdcnOMmOh$XZ0TI+4SuLm z;rk4(IfHbXyW6+Mr=`iq?fp1QUOYsXBZar7XMZCn>F%Zix~ZUWE-?%{blm?xeh^1#PJwBc7%RK19Gg}vobB=<5_qgCiNKNq?wOL}>%Hqq<{f+)?jakf zohr4R<0>JvJgF)#Oj~q$(I{SJfr0Cq1p`)b(XnFA#pO1NkRc+JFs1QA*#VE#?q)Ni z&wFKkDbtSZ?yg?W{}3z4;>YsnrWLd9swIUBfqjrO>c}Tt@>S1Uw(Uc?LN;@XaT4kD z!@b|SLmNHu5v1soOo9D|8{3~r)-2lM&WI94Lk-v!X;r%LcF>(^3fA%-Hd`m8_n8XD zR)(0i^7%`3K}X(eahsCj%e!5kDZbOKh$4EHU~S>leV2bz9hk+R8~TPe97bH6B`$&G zbtA#xoFc8kw?4MP{K|fLVdVF29!v>ZDu{VI?^bur?5$I~684;fKt3)G%t;CO48>Ne zexj9$4Gg_5Kx5b4RtPJW1p!`JX1lHd_Pn5kc{f}PxY(?blJJ55&^wE^j!JqTT##K7x3sKto%zmm{D ziVS}N&0ZQk$w&$sC&!Jey*2U-8p)m>0iNz?=E47>=}`CEJ}$N+UWNFLlz02nK40KP zy==|{(2h)Zso8D|FhTunr>ab#SZJ~*NuqC?kK~yTH^}`g&*408tsK); zBqmf5e3Y-}%9)?6daPongm-Ai-ISRmuKciF)C|2e>eYw2z)G6;r&1!(ni~Xo+*qKN z#kB+|p}Fhw5E6A>h3gOw_|U1*X=FV**Rb||>}F!VWuQYZJ65^H+T$>sky+kG-G`Ble(L?>H3C))(I4Ot%cE)yRo53WY*Of{$58nEX#G<5C7Ed&jc zg5n}~iRE>a0;UP;oZ~MQE|rnbtH?lX*Qspfd*HATHde5Q;vCUEpJ#768Cb!=d9Bs{ zy}q&q>%`FAB+A&0N%imrKW@sDwVL5d!b7$evbJ4@>CV}uRs;~l3hwbcI$Prplzb`A zqQ`f4$s^NgsMmYr+%-Pnwp7Kj3psKYJ{Y2TSau1jPEpO6vWuJ`VYT24_TLt0``bq*9iBdu#3Y%fijpTrnjS z#g`JpCY`#P$XWvC+o2jED3ar>^`vK2#3(glw-kh@n(4eLhb$ z->SE|inSzW7b8V;tSp&IkN0flpyR?B)lZE~-4^cD>^7fPEr4%ay=@Mg95=1;lnn-T z@Y${sb5~cZeel&qw+4XknV60;)N_KiBjsZ$*nP6G`)c3({rEoz;J=i8{AL5TMip0@ zAgY&Ip&>c_e%lr5`f?5ui^!UJy^1`X;0T00mPzO*_fppPBHUu=B0j8tETmIZh0xww zPs*_##M9C#RRKFDmqQFCzlo*$p=qpB>VRJwwN)PJUB$p}PWJxBHbEW9xR5q&3Bf>W z>89K0Ksj^sDz72BSxo+6h zzgu3pl3Lza`wr%$dkzba+FRLOP10?!@aGGURqRE<28_Z*7fugZa_#xZc1}g>xJU1Obu*ZTq3{csW{akUd_{arD)u^RVd*{*1Letw9X9D_ zP6k(Rs_4xayv*#AgCyqfg|)f^D!*7U5VO&7qb^P{PU=PaJ|tT^MY-&FPLWZPlu;I3 z&vh$2Ti_w~Lg32#HIYec&HG!n9BxvuOM|W;mn2ej*ypdX06qZ_*&}o`}W5^_a1z|d{3ISOhB@9 zRoqa-Wnpj_*)7bx2;Bqq`f{mu&kQ1o+o?@nrEeT$J1JhhHKQjFg&vJ!oI(n2@!MxT z_R+MN*<1D+cCM?*b61k!FUxxU6|1*$w_qoQyM%mem4=bT6JEV^Hwhn2PkMh^$}~M@ z>v$0%)22P^>KP*Eu4M6e3a*-pmy4H!Ft}kO(Ohw88h))NB%XcQE|vFg7hzaPDDQ?- zBx{14uEoZjPTcoi+0Dsdyzmw_p6*_OoCM5h$_d?eABjc}uZa9@PVxePpuNLHt6$%C z_Q@mH9X}_6dj9rBE!>yEHpxZ4oEN5ZuCdG1zqzQhpj-18&(YO9&nq1I-PaFK))v)} zMeCe|6{I7GtL@;UuKQ9ZE7=nD9VNSc?{e^%1Uc@_<|{Q2SE3o26dsbP!~}1-qk!`Z z%z3dTqO4}KJ5K8ErCcWY?kd9tg9Y)O2W(Gb*{_JB)Ta7x*#_d}Prkl`eBi~6Jy~OP zQ5znE;t8TDG%~nq^X_nZzd*vZZjv2&iIhSfTJ^-duT`VR9`dry@1zaDVW)4 zsOD!<46gM%`x%Uy*vBw~ohQ{|p{R0rWD*#Uj;L{?ifq{&R_3KSX<*P^qV9nTs8;gN%4?aP_u1w;-d^BYR@$5L9r($IKoJIjhsH^4_jQrn?bosBwEA z%tF^~I=HQOlfxqVk~gE&*JODBnop6TCiRHIhIyQ>^FopWmMVJ^(psUim)*Pm-OPW$I_jSp+c${;bpc&C?~=eH?`87V zm2T6jPYiGIYtc`Xf-rwq5ZWo_Xhn0ekCh_F$dJwqG0+mgkT)VvzjrmCl#uXzG?dO& z1{-3p`Ba`grGmAZc`r@2W#G?kw|5Fma<~2+3|aBq_h`9 zu7xgXQwZMfGAKC=b0U^>YulJP0`RXvRW}v%6=LVYMrDU6q@~1@=w#Ak^W4VU-qVH$ zC^+9_W=R_cX&pzrnGuvDQ~D>?Q)su>kITWx@apJCR>Ln`uqn-2yo2ZVOQGpAvD>A} zcZ9PSH zgC+-k-0e#lOVWBpgucfwRmlRT!tWI4qk>s8&DZNT7z&lL;(ISK9Gb5~RXFJ+tk`j3 zr;NRQO)2M$+B4(o8rTuQyaLAv+{zX)KN1o(u!tB+DK?#~j}QooTZQ5EM;S@fD_L>y znH3KI18){*)q&@2gCLRlch_0r(}>*rg~#VG7%fJvRa6du!o`juDfA8!n{aHnk{&j! zfb@cZ=ZkxZuf+Oy&b!{V?D6dT!$KSt?Zr4Pv4ak|#oU4qaG#|PCHo8458yKBYJJgd z9Dfrw3Y2CkX^n2eOWQxHI&+&d2IE z8s5SQ^cK;wxcAya_ns2)nzz@;l$p=!zJsn{U#T?`!GI; z_qw)fqq)AB{Or)C_aC5^AKxL=3sKWJwNWQXupc(pj@(hUhGoMC%v%#U^p*pF=$*B=Sz5YX&TcwCH0W*P8<-Y z-bt=J2Fjr|Ya4HQACQMjyi?_EDBl|EX$9Uej*I-PcY!0LJn4wqZgEld*Xn5}d)bO* z0Tnhhk>s^ycSexr1a*+vXg0&3)z==@Q1Lh$jUcMWPG;L(Gn}oy3V94MAqE~#wf@K< zikkuP8}g`JQ$K80D!NNW3*QPY@mrLa-M2b|T;YDiXFF}l2i`GJgmX&2%O{Aar{(+A z`z!C=7C%O4!%v3Wl71<5SB*43XophpLEW!OP!Y`FBXfS;Tml(GDT+qA`q#h-wC!|b zZ!KkMc}?m$31%8224N70zgDzn6YnIXkc1}IDC`|@hjDtj8pX?okxBhK?+y^&d9Sx`GJT=#ei%*4sukim7X<;Cd@9w3QEK>^|KMICH3dC@#k z*u>2!$%n?RB5~2=ZBhlVEUEZFt(a{yPignULE9-7SDyA1+y;?ChXWv#R=*T%Z#W*sw^Vcnz=MI6M-4_1*03U!RLWbgojP}eDJ38aZs~xMBY$I7XA_}m@ zS^+X?6!GOK#>ODk4E4Hfw=h-E&xhL4*jyu~O*L2(Rfy-mjE6{=Lm0=q#pL|xF12YZa@Q7CXN;>+Z`B<7M(g?~_U-=^hh9|4U- zwS45L&Kf(ZR1@v<44-?PDCY^C(g}S28Dj0ujRvz7(LJ8#i$5QkI~bpzJ;d=ACNkXM zrZ%}TN|7g*qKKCNefQPV0W{5NKFg$6e?ayoW)vyi$L(X8@ZQ!z@a&`U-h71okqkkc z!snPF%s~X~!j)R~3r%dEF`wS(;4T}kt8zb6V1n;=pKio_Ki{1Hqr#r-p~>X_9T=)% z{z$Br5AU*R_;Bb@Ve=d?iod%kQc84=_i)k*+db7Ma+sq_C9a2+!WFVg*(9B>^bDI#QmCjH5zGHUpH)G4hX=cbAY5N{*1$ zix+l4(+ARST$~uvDgUP#l3s4wc=(MN7r>DIWOj{vvWg5L`0Z-+Y@z8E+(!;wR1RA1 zjXGIbK}mBY`HRX0ojC`&G|^6EnG#aHBz~di9)}uD|o`=k2cwYnztZ zXWT>+<3Rdej>iGw%Kob46LWoJOuiH~t^)0pGN}_0G0GPV7kza_@kute$W?l7k1J1L z-KO|ChD146Z=-pjS_}3a25!|aq4DL&`E7P}edln|613h;)FR{JeBmI&9FgOnx1lJ(n+GR!%r!mIl}*SrV=7DOQAIV%;E2gytb}Jj%B<>J*(8BC^%nu5);8 zx)F~8X`Y}g1Z)X;y4SzDU zg2KT&%tA#lh)#4jf3L*14f$GhW3hSl8{wHof;bf)`+RmZDN$W;@M4|wgY zbx3jGmMTX<5El2Gy{(hzdcLehx#8syzd|ww;8gsR-p{_$;|CJ=?iz(Aq;C514b^>Y zXY*UCghtNkvI%cN^gev}038c^+07dojZT?+PvpYuP`rH@<~;m)5ZV(piO5dHzP;@C z778XSjw{W!i!MN^9N6^IdZV^>y}5<`N#7N|AlKV*CM%ZH>F^X5Khe@|w5!}tK$}ch zK`>&Nc2lvLmNs$Lxh1~0@lKcx85_cwYyrLAKHPz)m>=WCc2O7PAaaK%CUz2tybK8> z?Z@M}7;WQz=Z`&L!?p7U9_~U%`~F4#s5es-yH3LV9UvnMsD@w_CNLkvYT-PZ@wwQJIyW4g*z@C~Glddy?7@A| zMXqsr5>5*qhc52zF1TStFw3)po#Bo!FY&DYAD`SBHp?UznilEx#ToCJfzc<2OXXK? zE8-1MZ_3ilMZS?n;Jcl|QyLM@sY241W*4t-?n>M#19+XUdMsf34|4Zd zXQr1gSj1H;ymhH7+sxzIgl`Q5ez%7$FlPz1^)@eX>Y>G!=|jA6IokdgE=u-X?N6%c zHxF=M%NIJ#oGv{M)U8VA-|P3lm2Y~om+2(aIw|`6iG(;3S;G~hmAF{5@^pvF3@}3E z`!>Nr6>q*FxpM4OMkVbb1@}@O1;l>p^ly>1jw8q-wnr7Z(MM?e&tI&oG$Xxk#9Lkz=wM#U8BET>Q?A=RQU$$Q* z`Co_{GK_CJ;6Yk8+K+mVdx+_b3#`PpfX}+y1hP$51H96UeU4T-4jy&#l&r{;%bsH^ zL;m--RIgQ`MbaYceUXKWv`^%zBqI_E#OO1ZvCvA}k|fF*M2i6~K|m|9=K=6T49%hF zwL%TKg3it~`t!~EN->yuZDNOE=yECtP5^p7F3WjIPlWzYuq&;oCuig@bD8R#=D6d5 zH?JuGj3p|9eWkxAFt5&vUvZCIeNg93ka>gbe< z(Mr(R7kl<0KhM3}&x;Gxr0v82qQm=Lw*U8?MblQi$eO?RWLr~_}~ z^4u%x%wXE@ndo~$I1LZ2H*-|E%)@(fb)Qt7wQ(g-z;InW7BD7wK*Vjg=v-c zX65^N(?(h`V@KigkWmFo@KqT{F=({GN4k~FR>3F9lxecra%wo=9XSdTHVMw3j_Z-3 zX?uaTyv=c^NntM;hpTnxz2@?hZLQ{bM5(J3Tt<3z?#42@NyCxelAogUoioN=KBB>$ zEfkL}A0lYX&rzveu;O^d3_0>uf;M_T8STUI_c+f$2erZk*6(i=EGE(yq{%pWLa2Hh z7`kFkhqh|*O}KekDm01tV~xP0uac5{le%_^eCr(9tosf%y&Q`o`D1oTb=B<|JE^nd845OvgZ9`6+?RFa z1ayf*xSOgDaSt5n`g1wPd##aojH$!Hf$m-xZ!Q0R58s3EEnmRt)Cm&{z&snEIIN78 z{5w^1H;Z9Shhw0UO|R?`Wp`4g!1!%nOY)nw3)1h8y@_;ZW@Be?I!W(yYZP{nHPKry zzni`dYbVeI#rJdtmOlT4L4i3{Ljl)eV8Gl(r~3 zzHr3I>lmBlYEUIGk$TQ{-`R!ZFwuKQCijNL#}2JlErrBRl2OpcO9{gL@el(>e*-%m(Mv3p_(eYfv9 zA2J%xdsOp!7I?S{FigrWUv9cp(z>s2P#OZ2|6c$<*YpSrU>P_PJoR|KbI{kvD+qV` z{>2xX3PHU7Op#jG5W2A6>s|-VIn9ZY7k+Nnci9i|Ue8%h-bK@4Qb=_GOQn?aFgZ8M z(&5j1)&vQap}3BL?KI**LYbhR+3O^5Q{#oO#`L#z%xw&5{tIm}j1rQ_Q36(Hva zg7OO$>qlnP$z#3oGmgqNByXsZ`YmU4jvdjxMy-;l(6B(!?A0vuO7jpK#x1M8% zqM&RlORG?&#L?@p=KKzUPo-EU<_NDOE53pWOyyze(hAMF>9%$(49y64gjcaLhexT? z9@!@whGCvf^pa9++ z`x02AWcjDEp&8PcLGM${ohww45r{!hi=VELzY^z*b5!YHHKI^cDma`aVUZJ(*H@7m zwScMUtVZs?cM_Ne^;#-4hrNVA_k5zd&H3bvClO z=o(OIimmo-d(>iShR>?L(ZOFaD#4(t5MPymn4wBNuN<1-h0v=~rLugX*M@j_6onOL zo^Tov#c-p&Z9uYC+~R0Uu-PTF@HkuQZX(H)wArL9Z46Q88*QvwNSqNjFi%9Y`4ph? zwW7#n1mP~8?zcjEiq34#@*=8~IsBp9E6=?;W5v7L`4?xjbdB)my*I&8J@W&!qT z>^jFeNt7VXVY!e)wbJ&(h`KbwCE!f6y;XM$LA`R0<@Ydp6Ml@q(}4EspRXjeS$w)M zVeoTH<=5Jw)ZX)ISvN-3P(@oX70pL^)s_IkH91AMB8(by8LiZSybRmvZ(^}@0o-I3 zqrL82mY|TLUTbRFlHosjD#o#3xqP7AP*uwqNlO&0V73o<@O*V(gfRy10>sPR4L`kM zU@xe&g}f-+m$Oj_s)bykD3NR8tO9|fEF2+EGDcW|kUA!hf;!53M}T>%{Y zl6qst1#xZ1y~XA5My*TC&aW!QU_VItWwo{vD@8`2!*YvY=3x(zq8zX|@r+Vv_}1!J zY!S85Xty;MP;la*51dtCF7ua6^EV99@L{Pi=6%0m+SBIrO)^ zqnFRb>Xkm;PcCpHa^~+TdL||YpNRXTB@+z}3_F)~>j9QoI^R+GQ*G}~7WKp?QsmQd zSGBhB1_xIyr`KU5+eoYio|?#sngI&ydt;i>^50K{!%)gu;Wo+~rEGCDf#K%(MoYch zk}k_$CIz@LJ(F!_^vKnzx+!Q+Wbiu6U2qC}Mav8ziWjQt^%;S<`@MJQ_p~FIZD`nq zZ)IXNNe4=b3nfp}2OJ}gSEfXRwoq5J?x*4lo%X>z9R=>=D(`_~1}aU(!0I&T&OMt9 zYcpk!n7IwA%aq%<+^CAs(!<@ZY?R9eGlkwpA*9GWzZRp4zDu@4ly;y)5tHs-h`!g@%=BxZU026;&{ytUzMP;*$*cTXwM7KzP* z!L>yAo=O6C0@Oc#5A*O3?|=dT8u%XoKs%o$$G?(&9zK*25oc_A9JM<$@AcigpVfBS znnQW7U&?l`u*T$ocoFCF6T3D_jTnhgl%9-msD8GD(jw5f|Rx>#gYr9k$xE!Sc5 z&O{x!N1kMRt&#aUwg^jsg%J9X*wqc1U= zmK%fUV!be(k$0pT8q=gxYH4N4l-VnRm(08sDG2s>vda@rhMjC}WJ?}?T1XOXOF1Oy znTzxIBorTDJ-aq~e}t0DqcYdqw|W=_96@dqB^Z)Vp~lZQgE3P6L2**I=|?nRxR$FA zsCmceqX<8aC+n^;=}E#&B3M%nl_Klki^*onx+amNCCRMDo+r(hgv7az0Y_(>3=6$y zs9sj>ilLsprtG@}wbka~if;oQ&|SQKt;$F9!s3y1@`eWHt8b?5cCI|3mvI-FmZRJj zF9H#M)~B9^RAvKDi$dfde8-XP_Y z4V@2p;h8EiO?2BeQWokOQIJaG-Dv}fD@bE)L7GlLEwfc!S)}Rg%&WuE*tJXRzi~9i z+p~)K6A0SzQI7h|pBSiY&?4wk$ql+ZYx`Gf?sCxw_D80wG%%YvgdD0Zx25vQ14FAT z6UK?eqnJS8-l3w{&gLw1;d`D-*BZC5)r#*em07ou+=ZHvGp3f__XkC#^QG9JBXg?SN|Sd;Y$`WjwxvmsfUESn8|J!iUd1a=Z-=hXy~dlz zs1e(=JnUQ)!_Z*Bey&9ib%AT4vg6lolrbKzBcwf^K1`E)4&4<&+oI41R;AgT8E6hQ zZFjRG;+w=r(#-QIIHPu5v%2HOgspDYI!dW^$>st>zwf{S_yNEhDCF&YWI)S}G@BJ0 z&{TX;9v`6_EJ0#jU^miauQvSpIu~K)r;U)LhiB-h_gVXS<7bO@rBsSQEzucN@mC2v z|JKMMw$9v`ZKAlWJ;s7(Y>|0O4eG?6YUrdqI-83Clb`8}+y( z6V`5T2t@J&mW)`(Lz*5es$O)R#UxfSBs*+aH;&tLH{}o8C2|uYl|3T8b}SX*EP`)+xI)JBeZ*9IUs9U+2?^zT6 z@F{Q-C1$p~UE`i?b}11Tv}^uWjU&{d7@O=k@GrgFrLg0D{8xUH|U^)HBA>^$7 z{?d;|FOR^_pS^I5558aD=lSdCiJ^=2{6=5zoPI0M_f$*$7{s?4BsZ-d9~}hpxBcqW zD>ea$do!phg;!5j4l#Bz1F-GUtWsY)MPbx-Nsq5=Z!Xl6D>H-8@J+bt>WUgrYy)~RCwS+~>+h;O^Su!~i?(KR8@HQ_C$ zjc`>|_?>5!S!l`d_Ni-z52exRin?_{jFwe8=Dmkr3YfRI+#4gHGKRL7n9Jy1SMz6J z4p|{gHW1=prCjLUs?e*^W^w7zBh*U zj_rGnyd(JeQ&$-N8MkUX{X_7urDd;or-QT}Pp+PlaLUdn-s{66clR%99NMG2XD@Aj zQFQEt-cQeKFg6h)R8%~-VjeQ6RmV9($RP^kY}B|K%Oe}=7%sc1$FaH3F&ie{VD>c?^M z@0>PZK1sY^-lq1KODL`%Al%9+PTU(Vfr{zjMP6R+aPbYcFTSLVM?w*gSE}MTJ0jn8 ztPZMaKpjsS8?5V%99-*FvWVoUeZ6~<5WHy_PtaqIM9_1O;G#!|4j&uUsFLx}Cjjf$ z-osqPPS$j>-%u`!BZN$syHVNp1HA_vj2ji#ecpYVR1n$&B^B2Vcndi`B@>*ccyKl!-WZ| zGcr8=s{_=x)@)*%*?N>7IIlujGp#L>jNr=WxYDy`i)m4`HPpQhyL zduAE*+#7M&5NN{&?~2Ty@y^o?P4k4WJV9#a(i@C-Uu$;!|Gej{~kUG{TLDi)DNo!7E=ECNHSFDKONMalV_ld#Uqyv0 zd>;;U-^Q>wc%N1;*Q#c3zUAY=Pg2qluwFwKqtEOj+dafQ*NdJUvCM6{7d^=zvfgq7 zntiKvnpaHe^V!YG-^KgqN5($cBvkEC-M-&l$yE<-t*$(f6Dcy$xj%HMcN7?gdxB?6 zxqL-ky@ex`dHNc}Dop)YLcY@}$TJ9eo?UHAe@!nXzz}&!yiG=9N32yLJ0NN#=(tGW zgz=dnx7Vf9F74GJGI-?)9v4Z;b+aiIXDS8H{pmo=>N`qC_{dKqAj z_wBP-ZPb-s`xbCt+K_)`(J;v?vVv;)-K*?hLH9jI*4iAnmk~?-Ejss(Iwik(U=D%A zN+-QR)~_f+BHv$Ux=pHiK~LSVMrtMDmlLjj-qfhb!J?$BuOeSsE&`{_2$8k66HwBz zm^g4W`W*T2HLx6X>G&P-xvNhJ32#5H47RwjZE3%)hr=zBD3Mc7xdjB@O@h@WS)`g) z@DxtW-@3Bl<2^9Pe&t2{miT-_GzHflz=-ct1AG0{g zGRoZLyZGF4jd(}fElZiP_c^y0U}_U(j1~}LC3-_hRrjy4rTt9`SQ*r$%sy^ajSAYt zwX`!8@N=_~`^lY!+<{o3dkeNCl=Y?%)z6~Kppp=E+5%yig4Vuh40sx@U<~58>YY`6 zh@mwQ619HU8uy6&U99Bwwa!=Fnv;i{wEHE7^+<}$a|0IIaeQOh8OG%|)-c6xmR4+C zkF1CniLEdMsfDmMK&ttj&m*uJszRAT?$Lj0Pn}bj&cnegg)9ZbTeAd)XQo0*7gMI% zrF{s#TG&&Y14ZmFWT@pXg&Ovy<+e1yx zO@WklY2HG~w6MVHDwr~yl0gz&BeT62PE-=aZdtJ$(hItuF;=>Dus3yYpUc zVG#8DMWgWfz}Ld=*0@yk&UFS}4|)_+Ce&zE5)7u+_OEL9ExT1%8%9CGD`umV$g=Qg z2Nl<>>17qTqs4s7P?x$Op07MgNmk^jR7a`mPi=C8G;B)}gB*^gru3ZlCqc@|_D>p3 zHEqqtvRHXeK}t|yO7=mtg5-rk0dihDjuXc{pi`XgL=feZd|^EgQuaTHR7B{(@IsNn zci!2(VAM1%O7e?14_FqMYPOXL_n0UP!}RYdxW{8bv*d( zlkSVIW8KQ7y8EH3|NG9|EKT>UPxyfII9`H}l^o-T+W$zxy@$aFk>RBpc+0}oC)*8I zlonF*So9*Bro7(j5|ZI`o&JFk{FkD631k9w;E}O(R}ix$RuwI^`;axS&z@cpN{0C& zoVAhnzEt(OASZALgHL(%<0&j>T)Btv3HF*ID`yziovxG_*-1nAcP5JHkm+d$-Lo4V zLYZeI_ePU4q=Q3d!-kaVnUcki3EI4gB9lEPHx-Qa!A9%(BIx5J(x3hYp1o5qH1-E)XNED6( zJUMn92J~8q#eV7o>uGCg7bvE%|c@%pN<-pTbfVGAY@LH(M+oY<3TAbCk`VE2yTPu&M915dL4X*s?w&nRE)dkmPB2g-+SJE zJ2&A4O;FmQkUmn$-9zmg4s3_dYGY6wupQh6>T>3}+wEeuWJo_NyPeQ?0&sPh=?`pv$5A;Gh)R$ZvXXh%3dk$2w)c>AM?*f})L- zsi#TFu9`U6Q**w|8d+nd9*S}kgBp#~hiulW(9U9RjkZeR6`Qg2T=5Aq2#T+jGwLSn zSsT?daW4s#$$J3V&b0MAYB^wS#L$A7;)yXOh(Ayk_y2E<* zZwAlUixhpjj@(Q|Zz5fbH+ruEOFm0M^nwzd6b;k*O1L>S4nEU?BTCUhSZ|cEiCy0t&0Wcj*Tydrd@^Rw%C^MSHn-n>?m8t zn4?2NC0JgQgV1MdaXMOLwBIH5MPTnmW`*%?O!WvJ`aM407Sk>(%z)gdLMIG98Z-y* z_5dIsKnLPa1Sa{Eg67=hoEpE?^_uh~&L&Okqx!!CpLwYRJ7Ejf!dztxNFS0UgwX8q zc~|vHaZV`MkO=YvV@CM2H`T?AR=M6atu>j7kxL}{j6)`u8|$vC6@>4qW1XX z1QzYXy9!NCk0jTth{xNgJPaCyKDKhD)J1d9t;>GXFVnH1kB<-`zV?GYp_m1 zhhSx?!jU|{>G>Az$kuA2CoDpq=~%#-RFuimR^5^48HffZ`=Rs|1>N3v zB4nynF(GX8JdB~^{GfSQDLDaY*ci5ade1NwDeo=n^>W#$lu{;GuL9y7j97t{>FA~? zduI;Pa(mX4*Hv~$)+$`1sBv9w7%g`Rr9DzVkd?}tc8!XHtI*7h?7tOeQHLQ3{xS@Q zK1Zg|UGrr|3sE7&;tk~EC0x1uIysgDD>DBY&3u}>Twa0oFqViqd#o2Z=o5(#xSF-S zbt3GBwn|iVDmcbOeFq|;bZiMpMzZyXU4W;ZTs-=jUD=(FOr^7ZDpzXGuOT`b81|OE zEZ=zLHu&LZ4BorL#`s3&YDbFA0zo)R>xmP#7R;JFO&-TBCM- z2AefP~L6g231Z+9U9ypwYn|+;b6T^Bl+WNoG z--Gae4X$9_->rurzsS;~xPF6rPd|C;us58ZtsDcsJM+|{NTyNSczPDZ}gQ0+t}5pu7*b7s;N zxijRMvN(s{WUEzQ_m4+;hh8{st<71fyeFj$5j{mDgM)%`?EAixwY#)^qFi9`xB^zFOoIwkLutd0(V(#+(CJNNG4+@@(&)u za8^1{3zPwLqeTrTtCvNycKv|r$AfM#Gr2W1J<0DKE{G5e7b{uUn&Niax0|!@znO2S zK)p}hbX_Ja0A=J|R&${6RI2PBCBr{ONmsqKj_UPn!;)g!8@K9ghM7keOhLQ`o6Ej& zE!Nm0nQm3KT|Ao(M40TcVt0bPmzg!nw&_53 zj1wq{LfyoAD_}O5IqsUq_jmsGz&^f8C{v=zT<%`1=2znaGKP53<%jrK`>l z&Z2eAR6`}pu=p)W)D)k_jeXhU8GCJ?JOmMFnBiF0CN{$8K)x+C^3iG~QtQgJ2>YF) z1mhP58wqI-ji$3Z)R)V!91fB>YE*~b_Ti-^Zs$HQ503YAk`=pnhlb%Zl}XJhqT5M$ z{6yj65_TTj8|^20WkpRJFXc??j~E^6#VL$Zo7V@Fw|Bnz?w#A#M*U;@h^4sNC?-*q{1_xbn(@BnVM_~a7H$}{0L(8}Mcy%)>D3iL66jCPtZOIlp0ssyVRUh z(Q+0V`A-q|F*#lS!}{D&pg@&(73*{0zfNtrBZ!N|=w->jQ0}C5(5Du59`13dB>^jV zvvz7^CT^a);t!wO3Xa(GJBg1O2`SYshn-6d?)N)1gJ-~7TjKxO2masw{uC!9q41P;#RyNj#D1R?p!#ZySHx9Y z-JX+p9|I4e|99N>7ywZ~uD^uj!BOH> zXADvq4EgBKVa&pOMiO9KWw<~?Ap9l-g}+R3bbIM)RTUNixs$lHQzd`myi@FN_pfXI zoGh+1V`@C=&>v><7U>_Ulk(j2`1oNV;7DZy%>(QtkcV~Ebd062G%Z3TrHc`f9)8Ov zB~+=Mp(_a^C_H@A+sq8MC&UNKArEa=!|3~t@2B7Vf5xB9g$w)zTOCCIAMu)x;gc1j zYN))nW2Ev~yKu^E`}=EO3V8V4Fd$*Z1CCA0|531N%A|dYQhMKGt&O}LoHN~?-1u6! zz_7_W5|Iy{4(4`n7I)DP?lGtqLi|ZV^4`Dfz{R(M7Ay#qkTG<rgh+Da)XWmF1e zDDCd=zaHHBbt@aKyRqR|_VMrV*~0bXyvKI!+i>HhPWjzZPbBVS>_0!|LG$&WNA>#u z!>uX%&&m7y`ah}J{@pE!QKCbjp>3m!rMbW2C(`%a+q+*?mvAzlZj#zes1gT3AsMPC zk&>D!f7wACjf}Q*sUa#~z8lbEt~d{@bRsj6lRkVPKGjZcdqE$8O zUUEGqG|E+U3v_Ny9(!cHSqU00s@f+AR~GU0*4_3O)PHR4C*Pj9+Co0{cnQe(;A~Rv zj_DX1UCQAYXAkFph9fSui*htxrfkmwfi0iIW3{3ald&E%Dx{=*AOkj^(q1Wz+&hQgf-= ziQnAi8fSr7r}xIVd@`~GukC@hcpz4$+qbK4uS2JmnI)qpQc%^;1@6@)UV+i=DivBy zzPADMj>6k06Aa@kHl4e_4uSA2>7GH=+6$d~fXkeFE2~R^Uox{|XgyKAxanM-tUCfO z@|k^e9Ud6 z9%c2s2CxTa0-B~C-xm5reAMZHcpP2CF~IL0y`Q^=w@MFhp3hEL z_V(eLu9Aifk~utw&X5l;BQUi(AtdRC&2R!=W;#g@y8HDzKKNV<5G#sOQDF^i&Wjl& zyiVGxbx71)`2x=4g)PUfM@Kt{F}YKf5F%NWa4~d3EXBIswT1E?VoR(vW~Fa~&mMf9 z3VsZJhU9;4y>}U9cdvXLkE`75`*LS)f~pYAss`LDKfnR_03v!Gt&hPvW)JSweubA~WElcM8Ibfa5*-{i0M|d0L-_p(4$ZyevU?h@bKHRLh zwP-a_x$hj|Tl+&+6xLBvLD30Y-aBN`b)8sz?8Rmn6#TiC?6y?o9OY_{+biRMDz!EJe`P@4%?c?X0Ssy{{25tB)rNKdhO`vET zA0KD+9(w_+*|K9#ckCACy@rX3bE2Nc)-+u5W@;9i%13Wmc)Yqg6l$$|;4|e%^`QZK zr>vPJ9=hjH=aIsy@P3B!xtG!>rPo5I{B{Uge?F_bGw3 zg0d-D-0@f@GwTG+x(bZZ_N|oI=)+T`mGh(J%Zbu?T>ax?VvW!q z0~;kD>Q@~qe5CYSt?3Y{ZsC$oJH@Y z-O`Y^yQ0wv&V)K*-c*X4+od;ENvs`DzVs(QObr_kwIK(D3U`%-8)lX?n4E=#xYc_g z_O^EY5wOB{-Xj_v8|-xufLB2_k7u33&9Zc}g0*YKCbX_-(Z@O&>#+H{A)9RNo3p;J zrI1W_L08RoJJH;`1{yn$6W^-a0C7{Uj|h7Zbi62YlfPb)Ti!FWNoj!V&Q*=Bwj#|h zWy*-@m$*EFTirBGH6#(=;$l{w%ZBG(AOnDP+>+ticKp1r6Kii>Yq-F75E=a%I?!`Lw zd~76zL#W!}l8j8ui#j^xxWTII@ary4#7&ol&lIgeKUClT%vT^gH<6gBzJOy;$@`{! zSnX(sI0e4SSfEdo?h*+B);0If!RKSzu4DC+$7;3*oletNA9?x7R0kPeOnFXk9@m`s z28inx1{>SuE6Cma^%32ESk56Es+i&QIId>s3@4ORVM`cR0}5u0v3*30qWLeYGXt&W z2#|`@!g{9K%j@4)Us;Jx?W#+{8IPgx06qfsMfPw`n+)4I<6KLKHKjZ161Omm=oobm zrmpFIDW0l*Ve%xEq@Qu^g5ljyy~#W`iW}Ol5hJdi@=3M^B;INTwJzw>jG##^_k@&? z7sBQ>lQ7DZdNfZ2c7|ARr6C!M1o{r;hriB9tS*%V`d%vN znH+rQwam{Ja*!k~AThQ<6_Jgp5mQ#51{*w{WOfBza2Rq$z8)&w;p4oLmk@hv? z2`YHU8oO>H4yF_vGZ}Q%5QjV{15zXdR8qW*f(;F^34-%~OPK*kblTU$UHE*>^)@oN zkcQ;~gJ(~~iRdW%GCrZaQ$QrLM5@J8&M6J=h&Hn;M7^i2hcl>$g0EJli|t(##mkZ_ zw7h&W2B85sU8bozW){>u>#XM&2=|Ayk6#`<`a16(wOeHWPH5H16Y^&`IM$ zv@jR$jNNvBD}zI@sfXjx~#mk(^mq&Pg9$}Q*Y5W@v6Ylw4zkV zzOWzP&8LI>$n1`EA1*jwjsC02T7SMe^sCmhUBZtU5F_^G^asfvfF?*lrJpnY_R3U` zyLWfhZQb)>?geyT$?#0#d;~Y}QMDDlVH5`px&5HBtFAM{P3gNgCU}ioa8$-js%fM{ z)O&yv$38hNUt=>LON4HXT5^x6e5mQh>B-ZqHBGa}!p7-zFM_wjj_D@$=sIb(6RJFluf>Eua5Ep+9bB(rE^|p=*YK?{I55i4>W=`!_NsBLK>Ud z;(y)eteW0yP*Ue-%+~up2iv~*cqq$bt)=PmgGMIQu`XR~^UWcHNrdJy#V zyq;Sj+J6hJ@+4;8khuHp+o0)Z9^Zlds`%&ezrU`I_LX*ZcpM_yjt2fjk*S z))DhL{NoIIrrf_+DrT$OA`ip0ox%v-7?!k1;C~`*cXY3X@_F|~?VeXnBFXLePn}W5 zMG)T8q^rGqE#cBq^igx=e;-xicsE<`d|^GlP$GHxBJztJX~^`ZF({mh_cuWLe(+4s zG@@gmdK0Xtx~MNEQUKzR%CZ8BOI>~DzD-H}Y++5&yb93CvUj=X-!D8S;Bxno${4RM zJrKpI=b!`v5+JbYWuF~m@vN=r(0Vg^?=Je#4T=RThBs4tHub*F>GcR>d*3s3m@MtJ zM_uHe^KyrwYM+KcAVr;PKHt(~ZRWEzQO{8;R z+JvG-hYIOI-tO&VZLtPDPi9RNgSL$Cg$V@C!S!~Tc^G4?U^|>Wb2}E)PWr2S7MG4$ ze4sRTZV{B{0dHHeN5pP`E=k)lbDGxn$}DOWBf_EP=;L`uQnV`%r<8pkzYWR|v!0DgxCf^Gc*?eAUlZ zhp?^VKxjWpFQ!)L3gD08)*W0T=}n~bg&v7e!bf9L(s^wR5UiTP8*c=!apzV$lg!D6 zxSpsh)FKjLSV+5mrMcx+X=3B6#PdkD!8_JxEaJvR`y$DUJM1eXxa9gjzcGIm6gRGM zK{zhmSuV!&rQs)rZ@&UKY_u80KEatzP=QW2%7M8h^jleWS0lXYiqfH^N+i)TSIEo8 z%;U%x_ZG;|pv_(9z|~RC#!gPL0mbo0)`A*DrI{hJi(r992q*RdW64es5Ej%f@C!Nj zCwI0`DZp(2c-G-+w?v39lzQH)v(^XRmOW7#eIoN!4r*ZtE?Mp?5g%o?(-jFf6<%!8 zI`uiD&1&U=5Bc#sua82iv%BW9brikUwZP6Fi&;{W z#-B-8=PRD%?{X_G5 zjqkytZ&ETRT-Lk_Jemd1&cKZQ&m7b6)0*BcMbAeAYDf( z3h;+i--vdP-jozR0Cr+_OMx0_*$zDB*UQ+lwBz4QsnPPqNbNyv&Q-zEg%FdI zo9*CaY#3_QKn*;SF=qXeduLTG4i77XgAoaMSwZ6zAcry+Dafm5=&c~0I7_sC!WX8# zbrT!m2Eg^!of)?t=#E*A1KmBg<%^Io$&}GK6&CtXCpu_WvO74v+7DT+Sj4c`3|TW= zje@dwOzn+ky(#qLI{hsqTU*-zB^H98P!#8rTN{W8ggDbL>wYTcFF4~5YYO;=gi0nA zOF~%^-sBVH3p=xL$RCt)T-04qt!gJWMMa{1vG`;*dxdnuvek6u4H4*L9dOs*bc8JuWv()20rG!BEI-PQJRBC` zfvlfVOl0>AVkjO}x^b`2-9!JX8TZO6^PgSwYU7%U_%NaqDWqoDpm8$SVACf-NKf`l zeQXv~ukc2+nJGO6u}1Fhgqa_3QE1KOf)F`M$ZvsAS9TyVR$VZ zXf&y!Bu9X2>>kd`I%2ZgDq^I4VrJE-Z&r;wPTlyWfNij)njtN0c_5Uquf5j%=o6APdFvB?oE0<)`%Vxj5GSs$@p{--vX5LR@RxFCk zvs%S?erdFnnJ5Od^|T)=cH2?h{Ciuy1lJfpJAAYyIgy6%35&NoOo-;sf zsoIF$1-T*LlLkM#Qyv8a8|AJq3diq|=eXkDNG0l`*jpLE`&*naC$Go8>SBsaTwlJcqWX7bC@=CX*H_XP_0dt(p;ucu zG-05-T(_j{L*fEHH+zHG;>LqOqf3le=T!6}`d>8eh4LM&(kb~PQ1@)t1c@2syfohm z!+d1wci=4QW~rFU7BiReIei$!7M+I2uY2EG7-15c--|3tz{UAr+WaQLSGmtVdcTqv2%V`E+mU@c0yc*TN-dhMg}A53CWvT9JaacUnQlL37KN$(UnQw*mi_D6eb z7i>5WiOTp5-00s{v~g?CT{7?{VYH#7NXzUo8#|T@@=_x}VbiE)hM93JcNe*OI0;p+qD?xWF}~c7QYudGCQrQ zQl0M>`vU#9;cD}D&{j+2Vkh3-Rp1Dc;l_y;Sq8xI)>^x)Zjv!7kq;h&+w%b)0_GLi zz2NZjWH6`ezm*L6{ZKcKpPlmRD`+>3X^MNWHOmP2D(_M1ac1mDJMSrh zHXVq0^Kx>$(X^J=JHBpkfDBP!)beLH9IMDrAauVJR(skt0*2n(!U5OB9lf@6(havN z)97km(H2mw(IJ;_M_gXkfj9K6S(2b9W~SZfFB@-Rp*{`zppy{XSv5@l=SAiAr0`0 zdg&1je?L#VMklcq2QO}Qz{-WjL_;j@Z4_ z#`7>t#9~iGL5GAAXtlN)^cOC})nMDw8u31+6_M;cfZexl3=d#$&=#M4D5vmqcP-`Y z73+t%EA7F+w)L=G%D8eZnEA|mnTLaABnm1_;)5yL)r(bT6f&_$7~^2%&(Wv7Cg9rH znOCT`t}%?B0nl26@Z(7^=;(VC`@KJ;*ytvXpLc`?!(YuTOht1U+%|N8VS7?NeA8Y> zdv^9WfCBLy(OFlZE41(BvO3Dp{>`_UDOwV3=17v-D9vu~1KdBWp?uGsx!SChrs!Q1 z=J%mGn#pqu>nbw~MPDv8;5F06+cztL90*`B-6ot2C!L2d%Z@D|sr903q>lNTM{`j{ zqVy-uA0IGsaN73D;Xcj;UHTw~9G6YgL*R5^)7hMJ>uvgJ7z#bQrmD<4quyJ1i;EktmFLm% zyRTkRbKR+L6pvGSkzFdb0*@~(=gh5kdR__IKZ9KmRe28qwq2MhT^k`$chHiEi?knq zC|hR|z|C)#-zQN{BN1>wrtocOyQ_8k!*e02sfv9rOCZ2xK9FIKwd_OO&Z2}c!Pk)u z3A`Q@yDGB?K_|pj!|Mp*#T~H4H8UL$h0zLyBXd*kVFte|)e64)OU&oszl;jV&_civOn5WUguVJO{5&QQE}5J_}+jC+<@3}y>) zkb9s?wWc6CaTwR9qzow!xi&}dEy0#RI&^)CSq@03+EU=xbZG8{E+d_D#z)7pFwqZn zzOJktQ|-G!7nW~FA#BMTa?jbCJHV>+htwxhjGPZ25%{D6>&S|!=XN>ARnZctUL|#;Y?P0NFwpny?7W%EOPb5lKD3 zzgl)*LfR<+|xD}D`+G|BH zYz>)G%A*>$qdGQ%nftkWN_lFXe?jH;Tt9K*9@prOvUriQ>X;RP7<#(P^b4x03jU!E zOpZ@3>C3LaYPK`B+4`?expP&Wwt!T8=Krcg&IV*&Gbg`d=_Fg!?%(0+a5ZKvTw$G$ z2wuyqd6_g{M&-EEYIw~hudXyT!Iok3Ac@Qxl4x{fB9OumHP(`auwBr)1EUe#%8*}^ z&%Q|0+Sj;!q;eQ7ZMifp1U;$05PR>F*8g7a@V_~&AKxGr08zRgG0pqsoxn3e{3nC) zPS3vhn6|$k+Qi-_>7}*o3m+T~5#^vFmr|eACladAt95Gmqm6vFPkv#=JjUCE9q{d9 z5xf9%O3eV;UgMisW3eSf!ZIAf1?ZWhnuGJY8w)rn=I zM`4}h)B?9EaiA25M-yORoUYJF9b{sW-RWd}k;%i+L)D04HyeWnr7O3}9G%PUNVf8y zPmG=sWcvn}bG>&ij&T>?>|$yA07knwXqbCbytaZNbd=LyHP?2Ts_(XkWinNzd<3f{ zi=ilq!6h%8nQHoub7*PVx5w`ZnaaE!v1o^;U2*V475#H?*n4HD=%Cr*PF|ZQ>9`hS2$dlBt#0R9h9!7>Dsu%Wk z&_8ez2@j;lS_e>+z~ywH(v5c=cKew%z!TN(=H#_eYfj2{m}4I3cGHleW zlZtAHN%(1=z|?_q{#Z4gq%L zG<`?GY*cUwjJR|K_Q<~YH+Mg+el5mBFT9)lJrB$2wLaRcf z=DC}vVMFOuy7IKp_L<^Lb`P3{#A9=_eqDu~&QklA6W=4w3-X|j5B|BT#r80EYfiYAa?OiU z^v{-e{13tV@B__JF^9`RA&Q-bfZ8|A%6n9HpHfmMzDg21Ktb$L2uC47#G6(!Cu&D4 z>M+xm7GK6x8{_0_^vg%yJJ_kMN<%omO0@thS;lBCMxnh`Vyf|)Yckgx^VgUYj5!O3w}CXD8@cq+u3bpf*h zY(_$awQwca1I?v-uu!%>5geZhA-*Yu@Eh-V(%^(!wAlNUCj6wBBunk_@%XlpMV)e0 zb3)lGdW>w*M5gDYsW43p!-o6X2(FQ}wKJ&~!v6I8k8~f#I&_WI*3gJH`|Zg+1<6W# zr3GJsV@q^5hpxrq_qrdqi7=M6*5>woE4cJEWhLX`3p!saSlwzXdTFCI;yAVd-Bkdw zR6DL?Nz)5aZE``lYtu|_FNt`9j4a2z-7FqiLZa8_aE|sTUR0lno$)D zd2=LLC>bZ49B~vrJH=}z_hlbsCUXwFaz3sv4z~|=v_=5j6b9i|^s^{T?A3(ONrtf^ z>byLIP`LSlRj)-yfRvfXx^Jr9qPkXOCJJE2M;Z1 z(NOjq*}iYNW+IbxBtEf>qWcI|l3?$MoP)l7<sV!1v92Hz;%1mi@jJCa#~f>zhw?wzv> z700#E_ ztuZ8f7(VS8)h=Q$kJX#BZcfkwOV-($WLHzBva(R>d0MP)uScaO4~xd^=5jEgQKrmd zt7qa?vYF;7-QASHn{Ts%Ht_w#In>m2JIUapDE*X-nBAQ8r`AliEB#3#VUfflO9;xdQl+ zxy5GX?GItAa))&7GN;o;(S#c->^G4bmPAk&+Z3*b-wzaymKJR8ghXZr+dSGrbEkL* zac4ER#@@o-Zx<;fP?2dP9-j7$**`pc$Xj(#6VYYgx+y|jVgtM$oXJLTsJ@;Gi;X1M3e@8KMd|G_fzhUrnJfhYsf&*@sjwKAn=bm7@ zFAz4kauw88hkH>kuzA}qFX6N=Kn@tPr>i4*CwGfR$h~l3?brh@h!6c&>iWy; z`p)l?{sCE}zm9W8n&ljW;Hg{uP~CNv)hVV0)5~fq$QvbnYT*sM4B8pHg4!Q+W_7_i zbF@HpCA9-_P5Ur6&U+me-R@rZQAfVqSb2{feq#vTz?T|}9lD@!{6TI=B;v)x|WnnplFSEaEDE^ zACSc)HUrQethPF$N1>e~n%?b+%-j(&iFD~l7MhBT29rS55{cT8g)U_V?ZoiYvYhHJ zN||l5r$-05wudIKo!ZZitSrb|e)h&UsWGl3z>P2p|gYjw?HA<#PP|(=$?xs=mWtHF=6!f*_(yDf( z*k5>WQjeq!<1Q;m97T?Vcl=~!k%KIj`?V!d_oi_UvAqn_vd&;$quwa0xh|1NonR(X zp1yMmaiEY?t6n$}#n*;pUxn|_4#s6bFmSsnq;ZG_8|`YktO!!BT#m@uYnU#2W8pEz zwmy8Iq|Jfw<*8C##*|wtJ!YI$?on^ISjB zBHL6C!n-!vq$*mH9pz>+?~d)jw)tv=Cf)c83ibeSDT3Q734tdGxBN$js>J)E!v3y5 zh<7xAh-~vy$U8mJd1#p7XUy<3%}X;!jq*_KL|=Zs6~zm6ZTg8P1Ma}TVngtp2W(5j z5tU6iw2V0HqvzNOo~!s!H2dQBstM4QR_XSWWK~`UK26in2S0-}`=l50o_0!40??|< zK!xo5HRbd;k#f%UTx{{Lfo2?Fk`XqMXmf1RoeCxoZ_N+Q)-T>R_dV;PE3;lMLk}EQ zpIkpLQucuBCBy99E7hSNx?;ULPv+gQUu~}`8y2u@J6Z@;cDXM_S?gvk_dXS)sCzxCu+wU=O0$CxhFNR&K^M{OwqnT z>SG1-P&}M7Xfb*V%tEDGHHp>L7P=j|a||4O^HZQ%=`ge_(0nideiaYSOl0vUBFSwpk0$TM1^*nYDAs7XwLctw1wUcVIz6}FZ^D)Y&TJ15ghceeJ zN~NQ~MQkh#hvVLh3+JPtPWzovOx~?C7?|r;(5a(tv8SiCc6MK}Sa+pox6+hB0AM_$ z&s2-CFwp@@Q;2D!8pwrU;zGBYdE()dm!NU!Q2|bg;ERZ{-wxIp*+z0I4<3w5Qw>ZC zbrsiIh>CQr*4b+Nq2zLp9vTZ;hOwE6%~vSbyf>$d9i8UUBNaecy^!OH*LX&c4wmPK zQ)m{B+$T4PHdMRb4n{biIr}xBJk={}53XnuL$G%p!km29Kb);KsrrSc>Wt{PyqjLG z7-#wGUnH7vUkie;_=|`XMOsv)SeP0Zesak+RXswjos%+%ZZnBm{S^;rb9>);FO>7EgqB-R*i^ zJ9_c0q?gw;y9rd-Wap?kuxv16t=wzfKBCLlm(aZo!~&i&*CxwVlh<)x@F-U}=yWVH zT3iP@jdx0RzjAoeS7>j;S((?v(SWfDBTDy2N@6-lnN6<>yf_wqm>ur4Q4qJ6hhBKM z7Iw|HNhKJa-zMFzZ+ggzPcAeFY_JHAgEKraVPSDsmy!Y<+IHI$p0MM@wR>ytD?e*= zBGK~=$rcVoPdi{(zwdN3g+S`Kh@pC3uDuHBF<*)Mao4nBk42Ycm7$C(?+wh}LhMG|4Z=YU->nYY zvG>$WNTJ7Ld#c;VRo};^Ni`l_i#%R7Ao>pI93Vs;cL_tNDk^tUtVUg>kP~*QK$?J@ zWd80iCC|N+8HR9EJ(uldUFsgTrBDsOZD$DC1_f$g~6wiJY1NIaf^%Nis{$~Hx&&&FAPhV6s(>| zF^cB*O_VNNJt-JGmW%P;8ou$KjJPY`or(t^rOOv!YpLc;+Ddi3#d*c5<_!o4w1W-P z2vwp=8MkElS)_0;wX_`j#o@A!%xCwEgJKmq)SVp(oxN|zf+pv_qvwpesFZwOEsW_N zB;XlT2e5+lh3v>+Q6j*k`nY0uC>a6*#@k03bQJLH)Z-t}_Nb-PMb8x0SCdU~s3PQ^ z!CF8vOW_bGo}ODQ0fo+?2XFok^5p1uadNP4r`THHMjfPjpQ2@erRZm%6S^4ijd_V3;1?HU7QtIH!?+HNxAPFKC8 z@yeTmq1EzO`@c>a6_Nfb+*--|I`2H=@HYwYFj~v}e8W@i&n%T2m@FeC^};6Z0isGs zksR+5M*6Flu}D9Ld+6?`t>bqEV`8KzB1X zqK0VYp39+ZaDj4TiqTxL>Oe~4z$_xR*gMT)!MYLZ8PVe66c1t8PR;qP2%10C_v<^8znULhFO4;r( zT8r>Sq8t}$y;16;=Gk;O%0VYe^Xcw-JVOZ<5G?^smnF=*jE5atLE~sVhl14{^lAFx z)Z+p6{1`i$T;`WV1AEQZQXJlzbC9dpMXTX=VfS@Jx8{F1IT6^$1u(ManD!}WLv^O6 z#^ZS;+^Q(`&JI|MH(71!?PEt**yFF0u(M;}!UDf%fms6!J3;d_SP0((T*@zFVQLIn z7FG>J!EI=Zp@??_6G8=pJnZ7MbD-#Ynz;+nc#+L#s1qw6%8^R3sMf`D?~ ziW>praci0lUp97w!s{*yK^C>+DZ0+xa2M_(V$nh<*1BJ6GbU4hvK`t$^w<(EIFE>t zjynLOyo}l^dddoZ^J2Ty=NB4#2iT%Q8ugnCoJZPOD{nopO?k#|SC9^sFvw|aDdleBEA0VaTvYFOp2)DJi#MNG8LO~R$PbI5-i&8b z-N?PskxcEpW80Aaf~P>j=+|vGY}F)n2tf2}8<#ZYBmk!Jc0y=-wR$miu`AaRvj4i? znL?YPgvwEbYDti17^Q1XEw=sb;cDt-d6^r%d1Y2(f*R3aQ0ig?li(TyskIc@%v~hw zwysRi2xNI8W&D^JcCwH?T4gt@8ps1%Fo$7LDT_))M)+L`w;(f!zp`;}#nO3KtsPRP znDz_X?AufD!G3pZ8F0~&TU-I534Gy5Y-o@{N!Ci!#xv3?_p!~~eQm8FQ6&@E;ne*D z0O6VBOITC1e=09tHu6bfi1iU0RK356Yob{X6|Uh_ytM$eLs~BO@0YKeJ3zLOvYx7) z5)i~Z8a;Ssb#OyxI zFwvwJ4B+-9l-PLeaAhebcOG}AeJTWY6T78nDQH{S1_lb!=4+}P`o);X1HB;YvY9|m zfPsGMqKDUPhs+_7fFP%8O4fneFHxD<--WUv9ZNQej*B;aC|l+o1sZ|tZhA$kw5uEz zQK_z@^``9UTjZuY?Gj2hzQx+6IMs2v98*(3L#i7w6j6=(?|~~;ecQR3l8Z%{W?Aev zcogMh4P#AYp9W8o+OZ_(!4sfEwK~|u$(U(7N9anQTf{SGO;y2R&b+3qPIrjyNHX^k zNR&>MW z-6jb_d!Jb1WWY)Qv9|*J{!NEy6_eJ+HFPdKt3f)!R6A? z_Ypn%x3StSLWq!+WTV~>UxU;kVpL zaUZbAzWdXqNHJ>(mDMU#cYeuj)w%WH#V=?-9iOOFw4PAr8)MJbk-42&L1iEN2_p;^XlP-{MreR>^HKd;*p;dGS6?o;wcJ^e(TT_%GUxyC8x zQ{Aw-c-+NPX0+0}9n`bfp{zWicyS|>>#i?q>Gk^A@XU!txr3DC0*Ey)7fwj+Ztlhy{L|7nF2d^lBH6S4)4!mJ?OAX^}dyj-LI|Et$UEezKT1s zX;xMH*|6J2|0%wu2T0KIy&=oL>%CW}_>0Iejh0 z3{a>MlsZBc+i+dcALBWxO6qXwa&-PjquaLV+`gp*4qVq#Fnq4bB8}(4Y!NN%B_u=UN{2#vn0;^my zz;UqBp!VfCC&vfU_>Bn5sse_JR>E>Jcl`J9N+S9Hu+w6QaAa#?CjRRjXv_D|by5x{ zN_Z2AKl*I5t-gIE&DCUNR_%Te7 zC^U*r^WGlNz&+B+9!=AeZW(I!`&GxJ-E(lpmd+QhN@!1339)j*Jp>$OF=DJg!ex_&D^6&48 zu2vNp{dk(aHs1%10g=utea2_JcRnEWx})@_mGi+* zZm=ZnwzXh=zUh}FuN2HNb(@}cGdkv`EKX&cOm6$Aidm+W?{^IJi#&GQw_2zW-F7h^ zhx~ux`uX$x_#dzDeT>1tyAI$|tvh6qsOJ`TY>2Rv>^Oq5j-y;7!^0XW z;LDg=ti?f0g(z4+K(OaKObsApXC+`BNp-oy95ZMNG?J}@p59HU+m+h3zz_|IfP%hO zeGBulhGHgH2pr{M?vN~w(6LV+9|b?40P`m(^n)B@BEk=VZbXQ5y~!AAh}A|WC9Fe~ zHdd5O1K7!56fDE0Nl;&)Km$70-sW7VZ(jH&=7c;hWtM{uy1kn#m?fL{c@dEy@7B?= zjGegSGLJ+i1H@j9jHYBxDDZC51 zLrJV)($i*_Q&4?0@~4VMT8v74x97?%*3elk6u0N}k1}4=X2C$lHu_30k-X`uSjPFP zP!r_VM9S##oTdmhZ60B}^bpv&QFOcNgF(EbPnS!V-Gy-XLbWWE?a%eA{cz)~yodR!F$n@Jwy6|@m>(3fs>dS({+2bZ#A)PN)PwIEfDVr6{oUS2ZMnO@ ziTEyK@m1|T-0Zm>^ShCBx z)Eqr4(&x}8L7_W5sS8*1k$v@1vRT=4f&#?X-j|@v(-V!^ksJqc_`BXNNu4;=?) z3fAGgG7m!$mDY8HnL#PMVWM)R3WkwTeBM1xMGf^ElTu^;-!@b+NDBa?N`k#o2 z_?n_R{$IOCpb6i8B zm_}GVf%J0Le+=9WT= zLNA*x8hJ+%g4tMl@wmDb@qy97DkBnd-10u>vx;1(*8=%Qn`w<@=AIP8R3J^wM_nwz zIzwjMyYC22`S?%UQaH+XmfQ8rLzJ|at*bGPAd-ft){F?u8cJkpt9Y0xaD6B;Ypt*V zK|sF0xmTksBNY%}%(b-*u!VJS^{KKxk#BkWFyVuYPrWfw)jW8}lFV1BR@f=w=3sYy z%_0byKE4^0fp@`n4k3>Rvd9di#_IeDhr+Jz6%icZ-cdJ8-JCc<-g9xv!|+7)s)l-^ zhYUJ%SD=+eo+valhFPd2-njN_0K@Fj+RbAnpvu`jq(TpD z4*9YVnpN)HQbbN(|-5?elip-by_2n=_KGlaI_@FvjD=k2k1RmY$*|E1Gd? zCvtjJ;$YxUZpQ1a+4d;jl$AUA-#q$p?b944C9&P-w!wYcL*UYL(b_bU5xT_zCKKa7 z?g`bP;QH(%*Uw;GTWLfS6Ts8;pC=6PHm9HK10KZZYJ~Vz1T}?cb2N%4w`_vm$CXqx z6m)cHgrv3$mK{W%33pT&;^NknUfc)p?>2aJcbH~Ns7gafLe}{omZ9$LQbiRU@NJ`^ zTsj*v4rPISwVi8`sa2)j0ypn%$lxzL;?d*6UxB>folXQoGodrjh2y#;(ssH#+oA$I@(5#JqGo(rAzw#w$SaJYj(b}~&xsT~RU-mTwpF@q6vt!&E#K86$028%aD)p z>iCM-UAG9+}`bgHgltY`Zo*t7kJ%@Yl z$n<}M@Y`Yheb;vpThaH&c0;?t@-?Y4dD{Cr!3TV6l1{clgF>o1z+4k9l8Pc{UU|25 z=E!H~ovCQP;s0NN1MmeIzL_KK4*S$!KvX-|!{(_?ows(qnvY2q?Np8&3+nbmnNv{Z z>-|Dg!byBIXgGj#IJA&U0SCFNj5fUn_U@R*IED!}Z<@-_iaZWiOcj!EgxxG^Y=Y(< zf>>W>wQ<>P;mBZ<^32!>gue#K;S(E?XMp{>N5#DN*ySaDMtAos2LcV+HM@pej`|Zf zy(Qib=)vGjS$Rx~Ws)%1qpM-Z+P?F9x;>qfg=Kr7TWPjef?iox8oZG0-GXTzDuQ#p ztfEs`@C`?L+o@fhIsE;kGaFP-`qUpOa_s}uD73sL+(ZjIf`(-Y$<+RJnSPLr<#!=` zx#Dg~oSo%RcM?8y+70v;&*X4J4XNVtcy~OSSY5&x3~WmEGaTl=-{dx&=+o`j*ZZgJ zKypNl%0HD$yf&Yp6hgL?F^Uj`p0qlY!zdR6I#JZ0Z&m}uII@%J%p?$f-|6@=fQ zaJ|Wi7N(OcU;#C8qo4VM;d@@^eFME0JkxW@a6I%=-TM>SPEu-k9;mfEVL@p!3|bp{ zep=IJ73Q;yQkS{pW~s=vQ3@|de+E-uU&a}&Mf;Zej?U-R#<6I^(v@P#>DwR{?LMbB z@q~8GFPg>37Y28SA{9DLtGF-f$MCPD*!-`iiBiVfP_8XiiXL?_PuhKp;fr(3F zS*6PdP1||5V-X2{b{>W@+IuL?x(vt&EunehcNB@MpHTRG-Y~=Eopn&TSIwtkHAGnzm_|?-t%q}uusx0u z+p`9Ht;e-zwI)N}&ULhmpD7 zW|T9h+PFG#Nu{&xxPDA!=h781bj2uz2r$0wWfIY}4=KUW0?^!SQ~`Op_IT@!tATXa zb&O?tzb<;fea$3*q)J@+$@!@8{Xx`DOy|H}=pwHQ;@jo?oZeoL7WvZ4%@HC-Eoky_ zf}UAGS+&X9G(7kb+BmnWL%h=MSE@!yQ7y0TpiZ{AWOv`hN_l6vMG|iDWd&{elimV7 z7ey}Hb@s~W5Gg>NB&&o@?^~WW>sFb)g11OG-1`8KV;E?qRHJd_G>#8=U^MKpNnyjm zvLy8Zp7^C5aC!iK-?Q!ziqg!z`kR3)wFOs%?^ZkR!}huo5GS8Ld=G#Iq6WOcs^b~N zC3cNjU(u;IQ05i8)XEt zj>{|DwKi0`4uD)oFHmciQQ}a;x?;=&p5aWip6@-!dndw7FMK-U&OAP~sZ8kd9!073 zLqO10YqTAexQ|Y^XKhA9iRxC9i7}K|4KOHUcykt8!y%wt-PAYGw7MwVT|H%<-KuL( zWwAxD02;mJm#u5L&%W=aW}p~6A5&VG$6veLFQUqJtz^usT?x`u_(VO%CUOoHx4XcQ zf?ta&$cAYYUISGCfvB2r3e8EGNk2J^iC@-Q_8wO*7Jb3+ZxR?CQRWA)%SOwtNw#Rc z?>t9a-S2s?EN@{H1{9=4?9E`(c^&7^=pHo;>srBf-IBWF4GNDhu9)FGZCS$C$i3e_ z9@y9$huW{h^s4VhMVi56ci#n~2H~Xo&huig#G&A|^a6uc<$%d3X@;+77XlxOx5;?Z zycXzXZF!WOQz5j$Z<0Wzy^m0Z2ZRmkwKqS@T>tw6x<&xQ;zzAO%URETR{j>>ewl9L zzWp`XTwCLz&;1Au^^rAbb201-Wa8P2|E}n~vN1>NoG9S&w^JkIGP4O%YStbYbz&oq zNz6+L`qLKxjHc-buSSq_uy(tjhmOrb!nO$mDzily0&-}wcm&75@(nL`48&|Xv@F}g zxUw*yjbsb{+5??_84-nELq=32G|N`%U0Sn>?D68ms4$aBr=&-H_L=PiK&5dgDA8%{ z#q_JFcW8;c4%ME?#sn9gVo1>K7J~R-B$A}JK_C{2f&+MzDBi*Jx*+x0&f}+umdgiN zXwF*8;r6F}RswQ@G4^H6BS^{Jw!abm8Bg=mmz?nfZL|bvbf)_fYmW$j_?)i zqOuK!%;_DUb?Y6=C5Y6`ZynHt<^}D^l97tqozH1VD!pekfdUbf#R*@Nai;_*p0t>( z@XV>VL}QF2(COte4$&Kbbj~A-OltagPN*wCl@80XxY>VO)w!W`Y`>8O&CzTmI)T5$ThAdItEy`!yIF^&gjuYmEpI} zz`_dY4inaL*7v>m|58um3kzMg{V75zz8;d&EOVS$#LVtrE^h=N6Q0zv=)&8vF;ke^{p3#n|)8HL&~H6P+{H3Ky2tzk~#Nt5talI_BE87H=H% ziAFSqK+nxoUUw?sssae}YG#hIt$0d?2Xjn+X7l4k8pvxRzvVz&qQeyT-OHK#Z;#UI zBM61KEvO`gQzvEFJT}x^Z#W3NrRFn8THgz z4^iz_i=*Hm-Q7*~ky_1N7jIk{Bb>lFqB%!~!bGP)leX?~pnrq>{rmUtzycqov$BJ{ zbnro9gfr2fTs zR0a6F${rkt{U7;g2tVisd-_-um-mm;4?H{u1N(Ne7E^_P;kpt^O~||OwKnG{;XxPr z<#_eWbfXHoi`)}rZ`!CaegI~|v{|ETL&N!Reb92t^Rh#(|o!>Wll;*ehhSB4o zJ&zm9YX#kQ6gb%;o41sF4v+)x91DD8+72CA0ZatEaqT}SA^Q@vk%vwi;gWh%V1TN+ zoxv%RBPQ5Lk)wE&G&q<3exS17w5Qn1(R~NzFNfEtix!A{mwfUQ*SBNvq3C6r#Rp^5 zd^nwOH7OPW;{f~*pFT1RRc47iT|`~?H$u5*)J0YpDgBO+eSM6Lq$kKLa6*tPCPO3JN*5A|Ig5WpW?6f))^HeVVn(zI2!8zn^HL2 zy2uOeZ-6S!vvMBeUgt6)7?|#y?7PSlZH!7D6hxd{Ar3!rsy8UT zVmxh#Z+D%&X_A+nx}hPm*>KZK*HOV}qzuYHElLgGtJ;q9ZYXFldfRG1Xh;&-7%jk8 z-=5{VPdC8xf#by7DV<9Ps6P-kCd^EivMoPN3M9UZX4Ui`=NuCXR?cb!Vf@EtKtYKJdk+j5Uek(F*~8T@ z7(F>OQ*|qCb;UxAX=ga+8#hj@2{aDEs1T$1Wm~U~C=+pXt@!ob7O!W^YVZdP_T%^0 zD!Bd!9o5qN-m<;NbG&fRj??96BpkLf6P@jTgW4B5VAtY%NOi~!o)a^pW=n>qzajWi z8tse1^K|n-QKn)?dv~4HTCeNowh9WBjV<%AfY;5M`uQ#5eGB%xIk6eAf`Yli#bD8B zo}(X@+g%5m<%Zu=dZEkNJzg}bxiBD6{( zAXq-UB(-uX`;#1Ycrb4+0froY?>ycoCUAS+O$^=?xRQHyNPO1P{jH#gN(*)mcXH|& zkq5h@&l2;YO?%LEYq%nDo_{SCc6xa!$Q?*ho@%hbu&`%LGHC-g2`wt6ok>kQt~R*5 z$n5T~IlQMvgcrtBLR3<@JFCU{uWVEHkB64Mwa_7y3N%PAM9SGV={3mNRwEt3=? zMesn;b8dON!1|$GK9HptPWL>nuH={wDp}|tvtldw1tLa{u`sEvha?_w8P%h&aLuCY z*cRJsz%9j_y41+k_#XWD03QP#^SEjmEp2aZ48`WWwuF5!^&>(&KscN++Xo8x==4y> zu8a6uufyxyEu^Xj^jeHI-r-mgVx$RrcIOdyvFT@ded7*wl_WBB<{%*30(OCQSsGb2 z+jzU$WmNi3aw))vzT_#&BVl)P-V^G9W@4W z+-FlSCT{7q4$&wIzb?e?r>7fi_<)l;TT?b1sq+Vc-o$5`NyQX&3>HI&j2fj|!=Of1 zEm%~Eyce*p!>t8&@D&1CP0){)XGPyQ&p{<))V9nunJF7L;7@Nis;+5rq78WJ2vNz7 zs7OaFpFOB>ZKNPuvn@C+HGu~RAv`(U$|5k%KVxSKq%pBfU`bq;|Dqywq!ADcq#=R)9yr^ zekBMj-qhLhwaedy@kDxX79YEE4{krnzqB=ha(AIrW;hYO;ov;SX7)m5y92Q)_a5+W zQ$@gc$V2vo?wr#32X4m{f?AkJe7*Lw0O*kb-r0Oe*zN*17tbtp*7dF%Z;^Xp!)7>c z*@yfOFnXB+nLi>zSX3eBC$OJ)!0*4Je%*)B`6_*HaDkUGGoLgIio$PcqzYQ4g&&cD z?-Sh&rLE=rwe{ifaV9e$iQ9iqn^CLWhjG{40u+9BP5davsAl$Kr=Q%u?{)pUxR&wu zHSo(k^!NN6+;TG4W%1djSkf##EM}RN_a$z`){55KHet(LTyWoO#K(49xcY+u_IcXn z==E2hbz$oDXX!K2v$v}Z@W|}zrE9l&+IHhR&3xCqg@$=wy5(C2s-_MIrUQlVOtwiz zHGyn~V`(fv-7$t2wsHRuX1@);-27ko%O8J#@=wM6|5E?x7a@o*+!Uwt{4e=`s#4QH z=&$>KB(6i(?;uwY@R4r`-oc(gJf}eUOVC@Oqg|A)rh7!o#@ ze)CYT3RI&lKKOu|WD}kryv`m_HglRk4yk|(t*BR}IPT!=AB2&aH1dQJ0NbcwFXqk?-MW6+0*bnAIIArf6UMMy&o<5M$^h6>;43t^j}iFaQt09L77-^{mon z-!4oO7r@l`vfoo+Jx9mQ6U5uVoVYG`+tD3V$oRG4QgSenRjQduxbk0GmMn)5gJLt) zyUd^x9I_<=Ct7T+&S~|T^spO{MB+KS(1y3362Vt8CYAX0E13pUIAuv_gQdC`%FeR& zuF5JLbR3APAs@D22Dp>?{&0=O4(~#!XMHU(QPTZ>7h84?{k-^8YAWp< z!Khunr-gp|P2}Ok{J%~bj{%J5hH@tOfC~r15RM;5*c5E!Zc069J)~ZVI1Y~tmP{Mf zh<6S;DkU)(Y0s64T!s!k$g}QNWE7i{R0j3Y>WCL$>{F0L=Ovw`BQjt;ff7iE(QlIYzmukwd?UU_w^G`;ePsvP2`U>Nos z&Pc$T(i&bw5i2aO6$2&ghg2O(7=7{j^by06FCC)31d)?G-9Dis19O4aQ_$gsj)q}h1WKZWBZH+J@vN)gYAv^q8a!&`j{Pw? z%~Q#%g7B9?ZMVJ{5{5DJ>|{@@_ne>AEC`v*WQ}jN$?ErZC=GfTB*cUmuoTOB@Odzu zL_s1(YkVwEN$BA`E4|)pjSPKayYkL_4_HbuT<%k^p#8H31L#aRe09r3yk-vr{0^@sSIWd2zJ@NCTfy08>@?{ zt3JeXq1=N46)|J9jWpX1ne0PexKzVVDp$G_)Fa!>sP>BZ3&6@#_VYIsN$^&lAAw-f zyPtTp@aNFGJroY@YpqVngLm3m1?Q)Tk1prcOF>CH+#nHzh-ez@c7kOT!~|m(BAV=Zm=(!GBslt0Bp^I zDo|Eka??q>V>zIx3SNh+UG7!Ps( zp=k@$12957REslP!=KBDQFpU<{FD)G7H|UU${ur5Wg8cbuM}fL#?7=%XpDx}QR#|H zh*MxTPPq!Oi?6mal(Cx)-zHcVvZ^!b3`YMmGj)Lk5|9&qb8C!WD)s?iWl zw)KW<2z|r^6)o;YjsnxT6xOT6-I2ZntXL|%Y2)R~B%+vIZuY;6!nT{AxrY~b8q7N= zE8I0s5xcDYr)>$dAC2%lpsd5{;?_u)f@uqZhMcPbSiYA19{A9|+L zX%@rOVbm*`d9otqw{#5lfXPvmC^3v1)Xy>Kpk?Dm-?kN?I5I5-5t zTk7>IRv1CZNs?wIp(>&_K`=5x4Lxy#;P*aQmVk;~uF8%v7E5b5st6wk7PlDrS}U+J z8=S+3Vl0U&o}@Ak6K8R-T4DTv`K=|}?DHO7Sxaoe#J`2Nzkm}hzIm6vZIRBA4IB4w zi76=1nN{&=z6Fydp|Byq=rZius>1b5oT{$klrwDfoToG1V=}taS??z9H8E{$$Pvya zf%*OD)##J$qGM^~8!~c;%FjjLO5?b{CMuP-VAi_quN5Zb*Q3Vp91V8wdDw0oR(`Dg z9?1@$0BP~j78>N(8cxk)x+8>qy2?z~a%>DQRy7P9P`{)LT!zZ#t-?IEKyCq3tgi`#)S?LatQ5pC7tCU6%?hMoC zMohoATrP(=>FG_5PWM6f2|bqpkR7ZY8vZFcPT^FDTeBYsf_fj@`OcKFCdVqLdmSZp zp*6W^9QTPa<`581auKGJ#15P<+-_f~dF0e7BVvxKudqxzLH$1JMu!#JELbYA?T`r3 z-LB?WY%IDTFADM*bx*v$dlO*R9d=2R)?fAP*y0|gZs#3AqD?avL zU+yDp2Al1^`Ut5Jj`Gn{(vmPxVJ59&sqy$Y=0mEL`o_(_dFyX48@O_{=Nh^mBJki% z7lnTHq>7t`CVEzaVY6AOv~RAK=WfGUIZmTk3mVRL1-aj|c5uL~iz=bAICCc@TOPgE z6eU|9*1AD>4XP%8|2w1y3&Sy6>3(EAVW!JDYIeaZ!#(2k=h%Q;Uyja2k+m%07dFU zM&@AwQZR&VqZPmlv%p8dXhrboTg*wd<7*~I(mz;ulAj&lq^xc)j}uEAH&F46G1YVt z6d8FnhSMrw56R;SGo=h2inEJ`*Mf1;qpO@@=}rcHck|B#quO#2c4>@mRvWZt5j2#T z@fI}aUo`s{MY5!qsd~92sCQe%O=dpRWVAC1@N{YIxd<@du&w0go!Fgql8`pj#bDPn zB%S)i=f-2~jkIlvBvt4zwVIYv1C5=M$vvML@1PTH7 zv_q8S)vLw6)xNMRVcQ-((hqRQxP+Rtbu#FA;>7KNPT1`E3rny&^m?JZ%!3YUnrSRe z!80R{@1Q-*+Yay)#;-}%DLl+UTuIj&ZFc0WPYPQZgb8WaHoF)h4@g-}uZs~~xbe8q zFmw3aCkRdVI*>dzQYfxtq1^XjmYIx_88f=&jHxv!YxU?*TrL)UM%s45nK+#%-q#-W z%h_*Pn(ghWVM23ECuA-fNdqSl$Zt-rpl1c~2S~loMo@9RWm$9skD?oO(JQwd`LzEyXh$T}VuJIZBbGRvjYs%Iu zt2i|<{JC0k6_6I4h<-?A@Ug0bb-N~3viXE?H1|m$E!2Yl$kZR0k;jhh)0tQ4o}Lv5 z1r6|_eA|%UCQi#^nXX(4)CYzsp#X7Br0JXZv|0mRzeN2Zh+1GQWgzd#Y@a0_OjIH} z_WZ6;!1Z!&+4WP_)#z*O=Jh7wl$VFnSo%hB=J6uS(NWpF zy|bxSwL)o$Gy-lf99$q16gLb@MN(lnaxPPJDJ`wL#Z3e-x(=n^T`*>DCma=v>*8`} z~86sxq ztWklL^EPUY;-q`ZAaAsup3(3(!7bQbWoB)yxHCfHnU9uBMD@c<3~6)AzAC50G)$7c z1Zs`lCy3a9Gu|IOZYy6C&57Gi2z#cyR*FKg*2=-43E+)6;q4d_6aBbYaa80WM$QGORh}4z&55~LJ zGQ6i{hYJ79iYyA69p*zHh3NHKb5jw~n0q^8QBLTg&;0x!zkUEjTiS%%w-L1u@mw4b z?}Yu67KCZ(2zH4KDU%J-f=atyO&J!-Hgv`p)eWJW_mS&avRt2K?w_r&7n52F{L*@mce6nLXhg@0 zjs(bAQug!nH7FItD-Yc$*{4$!vS3oN|dfdx@0iG)86ZTobF7>ZAX}9vGJ^|=3O7;W zPSY(Ed4E;ol9BcoPfY1DM`$KJ@c=EtSahJ07hU=@b~SGayfw{ppmV;KR%DwJ8um`; z=bn(=F>Od1Xfu!!aTT~Q9jgCVM8w70_7O#J)0%NWZ0>i0{N~O=Q-0if9GFN4z%69> z)}5VK+wWy$#f6P+O-Z5PjO7^E5Gvsv3XQSV3G^m4(PC{s^Q+(JAgK<8N#=@|!BARVM)^$LZE&nhYDnQrE#GuO<<*Zz}p1!l&qaYtk!0c_#Ly# z3@t~w``e0S(%ju~N+;As4g^C0f=}$Lsw(ba@g&-a+WM?XsBe)=`~U#_08`0D(GA4r zpif>8cfY)X6sh_cU}iD zE_7y4dfx+Fq1DO|_g`t5R2635$qS(;aU6)D)T|8kb29b`FdV?Z%9CqWJi3HZAe>8U zz!<35@GIF%U#=$X86G4(s)wWp2=;Aefq%QI5S4uH&ID2-1sK&vztM^%D>KE~t?^9q zvBe**zRd!qge-8^^^{WEkR+-FCzChl-8oIfp8EbYEctNaOosvQbYv#g+a2nJ?x*Y` zeCEP`yDS`+#4-&PWGmOLx<9wZr$&$3R5v+xdei7uK8%G#h7QU>OAIF14b5I6^oX22 z`mC^tIYlE5PFuvrI*; zYz;GfIWM+I;gIi;hDmB0=%VrAZ@GhjEY$4R)6fg0+1Js_ioQfrEd3GTjl?tBX|O$d zw2i1cbsB<1?J$~AUvsAJH6JIQ@0DS^HbZ{jnqVRCY!KYPWpKIq;En!Q086%4GzYaB;7vU>Te%kSMFSf6v-RV z728-#c_ez4wBEM$+Lh2KqQi4idf`zGoT1w)B{i^=uVpAsLObzRyx1-YFoB10-znUs z&TtNbWWx_W`IBiy$ieg~c4CiOse)L&#_3VBYTC!DiXg$is zPXUkO)@$h7Ug#Z>$O)Ge+}it{syr^<4V^G!s3pMRtFh$jayaL9)rjrE5u=_# z5)67}8gmutrw6N)I%Lz*QFWMtG4G70XNRsu6=aR%M#hJM+_ae)(~j^`%|YcZyUf3E z*_xzhX_9>KOF+a~OP4f!zVED97O#Cq5y|x+?bk7S22GCAp2h8QuHWgwkYoKn8*6xh zMb^h`tm7Au6Is0TB$ET{!ct?p@NkiI8@0z-+Th;3<7yVR@2&QVZxbu&n)#!9 zvZ2i=#B?#eRJ|(A=lgqC+E3pFX0!RQ<4?55zfoTe_CQ2%8`9cfbw99ta5GttPu!;5 zx=zGKaHA)!*2wfG1bImn5oLQF$}m{XAhn7$8oh_i*LOs1*ie%$x)#eIE9~@6mCn5+ zQ_{w*de&)S_g&h$(2Ncm{xkzpim?g9gLQOcqjM3VNF>Etga4LZqKG}sj)t7s86G)?2`RhcpbI)PbqKhDC#JDHJ_04gNHfPb_R0E3= zOKsF3N=SM^bpWLJ_HvY}xgP^9Wfx=n@Bn@QjcYKW3PK_}{?`v?VW%Dp$D3f|uCT^i zgS16fwNYVnN73(I6$X_ma`_3w(^g6!Ste$ZT?f!1N!BD{5=J$R z>P~gCg{*DAaSV<11dN!kSlFHG->^gptDO4Zk!3G4M^=|JhjO88-9_o3TXWb(gQCWS zVSPSJj_XSG!Pj2J2Pa}5c%r@D(Ur5)-9|tlRBUO6OBQV}4^6ZU;SG7XW#r3HpJi{_ z%XKLHe4NHHooKNEAFC~>2re0+r>2*q1ahUXZV>J$AyC6OsLWS1%xY6Ms{KR8{r9s* zaCp64ebHSJN>Ze*j|Q&nWfm_>S3-hV&CA}~535~nlXge9H0^7Cn38jkv$+R;-;}zq z3WMtSBF9{td8F(zlpQpLCX$}dM~gMIIZ^0tQftaE8XWC9TRk^$lFqmX$s85NvJ*4&PAYk1{5tVqT<@L^yNjc z&{(7&8wJWw)Kek2fbx3bkS@YYpr63*Z8{QhS$_MblCU@L>EBYdx=jdIT2vkMJ#w4fu4Nsm$f%ns*uaf^ z-!Veah~0OCfkS6g2SSCQQ=uhTAR^aNoPFn~a>CiR*3%+;Bhl|$b#Fp3tH3C!jv-;e zjs%cGTJzQeuB%yRvTw;eZ*n^Z8bw;;65PB+!p0u8Jzs9$d@kx$v%3dz2NyB`{LdnB z^VT%NV&eIOk2Bfd%SrWj z4(5iV?;HaRISY=2trv*Ufg))I{s`Wyv~*$*hiv5uPHYRHYsY2VpuwFfsb`EHN9Fbt zm{QU87Ez#}lB*g&3_MIw!it7o`zh=eH#`jOV>%F#L)7<8iC9fxxXKyE+=zFEQg<(6 zEF!4>#NO~B2;+uBn|&EMRKfH#FmNQm9`sykZ^h!NZX&vKEYlT3g z_o@MW4Lbz&ac=24$z06GOOM#a&KnNzDDR@DiBFa%WF9JfC!}NTu?MQliw)E(c1fqk ze>(*vD4bmSpJooy4ChC$$3WaMqO|N$WV^+hT*ms716LbodONM+mEn~3z|-XIk7{n* zRv+nGX}ZSBViC+Qz~bjs)7QQu0Yeo80|)6I_faXvI&M{=8H>eu!3rRicK4=iy zr&f->1d1&YZrR>}orThGNCAIJwS;=YdlVmkVd-j^;hw~7K2y|T()eOHW&iru>y_Bk~k>*_)<-Y3-K#GW9jHR&*lVvTq$}^p_J1jYX zr6W?lK{Xgq+!h!2x7Lqr2J%tZ#pWVr@R?U|cE>*ifZhJnYrSJ_fe5Lys$Mdd22o~k z)^x=0g=M&V+Iq?xne`zkn|4^pMLg0Ya98jG_xH2D0!1MP-n4D35#WpF*V95tsEXC8 zbizgkqx*i+Xzw^u1e`4lt!xI?%JH7LFCe*KLd%7`28NJ%hu*elumf=2qmWN_4!s@< zAVn@tOW2Hf*pp5SFoxp6d{^HWsAyPbQHixj%}_&52w*ospm)wJ*y?Kiewd>~bAuF; zR%M#QP|BQ|Ud=)dPV2NWwA;dHRUQJl$DU(Suz^6I^RWJ_6c0uDkHpdU$RpZSp`%Fw zBHF+wWdnM1>Z4hGWlFL5*J}gSJ#lqi&dtXm&lnEdleQqd{z-9$EIU4s?bOZijtXVe zU6qnHYM@;_GN52}YsanKjH>+JT^7}SO_=c6al@x-N^bsa@lnrJmmeI8DijoB`nYh6 zXpGaGm4JctMOYeGr%Z0ilz~?kIQq#KxEI?-UxulhCrw0o9T1VYk`}N=s^*88z?P`e z!qX2sEdd{6(_zoGvGV%Y6t;_)S9w~l^_Ic~ml3ru)u}t$+61YUA6ceoCoWb4-)2VY z`7l&)hr~l}fQ+S8=npD~LG!}){#JrJVDQ!HGq`I_npk?agpX$qN-&L_as{m1qFsRr$0rvNE2CiDUg9MVA*XFNqu(h`#0mBC%#A@d(D<8N z$BN11*|T0-l>5nbvn|O_$1o=SRUPA;QGL3sRU~~ML&6)T8oTsyc6TNBAw4ZQH?&tE z*A6;yL#NZiBjj?~1wGwvQn=!L?h*&9@=MNJG)xe7BRYunIoYLnv=BJ1{Z00h+jVj3 zJQD+V&-=bX;ERhpTn_x&2E0<|PVv zJVuLHuRkOwW!J+f-uup14q3CIw&Gv1PH-gxM*utZw}_TqZ+KNI=~s!>6VkW5tMa`W zVbwjfl{h^+#=!2Suxms{k`-6TgHEbiQEJP1v>Nlzg{#_jQhqjT4B~l-{H8u2nb#Dp z^=r4dpbJj`gTT{tA_+;!oN_Q%T#j`;Y(?kq|#c5u2`9@lBe49DeVO3+0?mQ)oH;Yj9*+z+fDLfN@> z#8a&l>l{7JPAl2fDa^9v2dF+&3PSfIDO!T?wL`Mz7-$SVV^0abedPcMa&-gh-j zXn6+KZLWwIKW$`oYjLLWZ9PH)mitV>Eb?AHX`G(b2{4~wWsQV+iTaO@4E0mz+IWrY ztp+Gr4@G+BRaorE^Kx=SZCBA_hR##pAGCB6HH#lx8NjyJ3jmsRG>;sw$`Ul)ixdPE zMS8isNEuq5)aUddGBz9Xg{gOylWcADJ&mdxXCok2o|)OOpK0Y;^c5bHDn%W@5V&Cr zyWmj<4-s%8pR3tnE5bQM{jmYFb$plI7F-^(8!3uUal{J`4ejJ)`%8|%L%ds335NM( zsP#1+ajYUJHj9>Ble^yGY{rxBEAtV`<>?!?v7LI_5s9?71}_aGL>`({!98q*!)63e z%jvxpi*g?6M-NL$ZQh&5Ujb*f_Um@5)y7A>PjC4Im(Rl>AvL_*jzz8?A9)?|W*(A4WP5Hg6`FY0p6l|8UGv&6>4>_Qz4i{N z^xQta*qu*X3ej�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%0D&uOAyJ0Sn;q-e`+DjrmA8nx_(!A64Q744B>J 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

    7H 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

    5v;+*ZbMY&V!DO+g4vD*SEViej0iQcOwsMRm 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

    tyCC>JFcK@ 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