From 8d5977b14239b6f64fc9e73abb8a4655f82fd5ad Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Thu, 4 Feb 2021 17:13:42 -0800 Subject: [PATCH 01/10] update boringssl dependency to master-with-bazel commit SHA --- bazel/grpc_deps.bzl | 7 +++---- third_party/boringssl-with-bazel | 2 +- tools/run_tests/sanity/check_submodules.sh | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/bazel/grpc_deps.bzl b/bazel/grpc_deps.bzl index 43249cd813c..baf3c8e56f4 100644 --- a/bazel/grpc_deps.bzl +++ b/bazel/grpc_deps.bzl @@ -151,11 +151,10 @@ def grpc_deps(): name = "boringssl", # Use github mirror instead of https://boringssl.googlesource.com/boringssl # to obtain a boringssl archive with consistent sha256 - sha256 = "e8c02bb7043644dc138e422a9a3412108732b6ff30590db4a05664476b209c03", - strip_prefix = "boringssl-29c6e0e27268f5a43e039cd2ed4e849d6b736fc1", + sha256 = "1df9afa2b2cd5eec7909d0a4b0050f20da7bbe45d1f1f6055cdccd794cb5cb77", + strip_prefix = "boringssl-de220fb27fa5d0cf51da8d3d06f33bcb1b1b1146", urls = [ - "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/29c6e0e27268f5a43e039cd2ed4e849d6b736fc1.tar.gz", - "https://github.com/google/boringssl/archive/29c6e0e27268f5a43e039cd2ed4e849d6b736fc1.tar.gz", + "https://github.com/google/boringssl/archive/de220fb27fa5d0cf51da8d3d06f33bcb1b1b1146.tar.gz", ], ) diff --git a/third_party/boringssl-with-bazel b/third_party/boringssl-with-bazel index 29c6e0e2726..de220fb27fa 160000 --- a/third_party/boringssl-with-bazel +++ b/third_party/boringssl-with-bazel @@ -1 +1 @@ -Subproject commit 29c6e0e27268f5a43e039cd2ed4e849d6b736fc1 +Subproject commit de220fb27fa5d0cf51da8d3d06f33bcb1b1b1146 diff --git a/tools/run_tests/sanity/check_submodules.sh b/tools/run_tests/sanity/check_submodules.sh index f4687c80f59..d84bbc83f29 100755 --- a/tools/run_tests/sanity/check_submodules.sh +++ b/tools/run_tests/sanity/check_submodules.sh @@ -29,7 +29,7 @@ cat << EOF | awk '{ print $1 }' | sort > "$want_submodules" 6f9d96a1f41439ac172ee2ef7ccd8edf0e5d068c third_party/abseil-cpp (heads/master) 090faecb454fbd6e6e17a75ef8146acb037118d4 third_party/benchmark (v1.5.0) 73594cde8c9a52a102c4341c244c833aa61b9c06 third_party/bloaty (remotes/origin/wide-14-g73594cd) - 29c6e0e27268f5a43e039cd2ed4e849d6b736fc1 third_party/boringssl-with-bazel (remotes/origin/master-with-bazel) + de220fb27fa5d0cf51da8d3d06f33bcb1b1b1146 third_party/boringssl-with-bazel (remotes/origin/master-with-bazel) e982924acee7f7313b4baa4ee5ec000c5e373c30 third_party/cares/cares (cares-1_15_0) 9997e1137cdb59e622af13e57ca915a2f3c9f84f third_party/envoy-api (heads/master) 80ed4d0bbf65d57cc267dfc63bd2584557f11f9b third_party/googleapis (common-protos-1_3_1-915-g80ed4d0bb) From c78c6ae20d7a5c06212c2bc79c995e31d65f330e Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Thu, 4 Feb 2021 17:16:22 -0800 Subject: [PATCH 02/10] regenerate files --- Makefile | 9 +++++---- config.m4 | 12 +++++++----- config.w32 | 12 +++++++----- grpc.gemspec | 12 ++++++++---- grpc.gyp | 9 +++++---- package.xml | 12 ++++++++---- src/objective-c/BoringSSL-GRPC.podspec | 2 +- src/python/grpcio/grpc_core_dependencies.py | 21 +++++++++++++++++---- 8 files changed, 58 insertions(+), 31 deletions(-) diff --git a/Makefile b/Makefile index 9fed6748ef9..4bb15c8a6f8 100644 --- a/Makefile +++ b/Makefile @@ -2067,6 +2067,7 @@ LIBBORINGSSL_SRC = \ third_party/boringssl-with-bazel/src/crypto/bio/printf.c \ third_party/boringssl-with-bazel/src/crypto/bio/socket.c \ third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c \ + third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c \ third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c \ third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c \ third_party/boringssl-with-bazel/src/crypto/buf/buf.c \ @@ -2091,6 +2092,7 @@ LIBBORINGSSL_SRC = \ third_party/boringssl-with-bazel/src/crypto/conf/conf.c \ third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-fuchsia.c \ third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-linux.c \ + third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c \ third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c \ third_party/boringssl-with-bazel/src/crypto/cpu-arm.c \ third_party/boringssl-with-bazel/src/crypto/cpu-intel.c \ @@ -2098,10 +2100,8 @@ LIBBORINGSSL_SRC = \ third_party/boringssl-with-bazel/src/crypto/crypto.c \ third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c \ third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c \ - third_party/boringssl-with-bazel/src/crypto/dh/check.c \ - third_party/boringssl-with-bazel/src/crypto/dh/dh.c \ - third_party/boringssl-with-bazel/src/crypto/dh/dh_asn1.c \ - third_party/boringssl-with-bazel/src/crypto/dh/params.c \ + third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c \ + third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c \ third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c \ third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c \ third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c \ @@ -2160,6 +2160,7 @@ LIBBORINGSSL_SRC = \ third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c \ third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c \ third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c \ + third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c \ third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c \ third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c \ third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c \ diff --git a/config.m4 b/config.m4 index e9f24adaeba..6f67f4ad53f 100644 --- a/config.m4 +++ b/config.m4 @@ -743,6 +743,7 @@ if test "$PHP_GRPC" != "no"; then third_party/boringssl-with-bazel/src/crypto/bio/printf.c \ third_party/boringssl-with-bazel/src/crypto/bio/socket.c \ third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c \ + third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c \ third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c \ third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c \ third_party/boringssl-with-bazel/src/crypto/buf/buf.c \ @@ -767,6 +768,7 @@ if test "$PHP_GRPC" != "no"; then third_party/boringssl-with-bazel/src/crypto/conf/conf.c \ third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-fuchsia.c \ third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-linux.c \ + third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c \ third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c \ third_party/boringssl-with-bazel/src/crypto/cpu-arm.c \ third_party/boringssl-with-bazel/src/crypto/cpu-intel.c \ @@ -774,10 +776,8 @@ if test "$PHP_GRPC" != "no"; then third_party/boringssl-with-bazel/src/crypto/crypto.c \ third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c \ third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c \ - third_party/boringssl-with-bazel/src/crypto/dh/check.c \ - third_party/boringssl-with-bazel/src/crypto/dh/dh.c \ - third_party/boringssl-with-bazel/src/crypto/dh/dh_asn1.c \ - third_party/boringssl-with-bazel/src/crypto/dh/params.c \ + third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c \ + third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c \ third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c \ third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c \ third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c \ @@ -836,6 +836,7 @@ if test "$PHP_GRPC" != "no"; then third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c \ third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c \ third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c \ + third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c \ third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c \ third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c \ third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c \ @@ -1176,6 +1177,7 @@ if test "$PHP_GRPC" != "no"; then PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/asn1) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/base64) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/bio) + PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/blake2) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/bn_extra) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/buf) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/bytestring) @@ -1184,7 +1186,7 @@ if test "$PHP_GRPC" != "no"; then PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/cmac) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/conf) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/curve25519) - PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/dh) + PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/dh_extra) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/digest_extra) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/dsa) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/ec_extra) diff --git a/config.w32 b/config.w32 index cddbd9ffdfc..350f2fc606f 100644 --- a/config.w32 +++ b/config.w32 @@ -710,6 +710,7 @@ if (PHP_GRPC != "no") { "third_party\\boringssl-with-bazel\\src\\crypto\\bio\\printf.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\bio\\socket.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\bio\\socket_helper.c " + + "third_party\\boringssl-with-bazel\\src\\crypto\\blake2\\blake2.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\bn_extra\\bn_asn1.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\bn_extra\\convert.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\buf\\buf.c " + @@ -734,6 +735,7 @@ if (PHP_GRPC != "no") { "third_party\\boringssl-with-bazel\\src\\crypto\\conf\\conf.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\cpu-aarch64-fuchsia.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\cpu-aarch64-linux.c " + + "third_party\\boringssl-with-bazel\\src\\crypto\\cpu-aarch64-win.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\cpu-arm-linux.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\cpu-arm.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\cpu-intel.c " + @@ -741,10 +743,8 @@ if (PHP_GRPC != "no") { "third_party\\boringssl-with-bazel\\src\\crypto\\crypto.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\curve25519\\curve25519.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\curve25519\\spake25519.c " + - "third_party\\boringssl-with-bazel\\src\\crypto\\dh\\check.c " + - "third_party\\boringssl-with-bazel\\src\\crypto\\dh\\dh.c " + - "third_party\\boringssl-with-bazel\\src\\crypto\\dh\\dh_asn1.c " + - "third_party\\boringssl-with-bazel\\src\\crypto\\dh\\params.c " + + "third_party\\boringssl-with-bazel\\src\\crypto\\dh_extra\\dh_asn1.c " + + "third_party\\boringssl-with-bazel\\src\\crypto\\dh_extra\\params.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\digest_extra\\digest_extra.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\dsa\\dsa.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\dsa\\dsa_asn1.c " + @@ -803,6 +803,7 @@ if (PHP_GRPC != "no") { "third_party\\boringssl-with-bazel\\src\\crypto\\rand_extra\\deterministic.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\rand_extra\\forkunsafe.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\rand_extra\\fuchsia.c " + + "third_party\\boringssl-with-bazel\\src\\crypto\\rand_extra\\passive.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\rand_extra\\rand_extra.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\rand_extra\\windows.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\rc4\\rc4.c " + @@ -1266,6 +1267,7 @@ if (PHP_GRPC != "no") { FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\asn1"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\base64"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\bio"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\blake2"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\bn_extra"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\buf"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\bytestring"); @@ -1274,7 +1276,7 @@ if (PHP_GRPC != "no") { FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\cmac"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\conf"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\curve25519"); - FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\dh"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\dh_extra"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\digest_extra"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\dsa"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\ec_extra"); diff --git a/grpc.gemspec b/grpc.gemspec index 0f9169d66fa..240b7ddb53a 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -1482,6 +1482,7 @@ Gem::Specification.new do |s| s.files += %w( third_party/boringssl-with-bazel/src/crypto/bio/printf.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/bio/socket.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c ) + s.files += %w( third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/buf/buf.c ) @@ -1511,6 +1512,7 @@ Gem::Specification.new do |s| s.files += %w( third_party/boringssl-with-bazel/src/crypto/conf/internal.h ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-fuchsia.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-linux.c ) + s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.h ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-arm.c ) @@ -1521,10 +1523,8 @@ Gem::Specification.new do |s| s.files += %w( third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c ) - s.files += %w( third_party/boringssl-with-bazel/src/crypto/dh/check.c ) - s.files += %w( third_party/boringssl-with-bazel/src/crypto/dh/dh.c ) - s.files += %w( third_party/boringssl-with-bazel/src/crypto/dh/dh_asn1.c ) - s.files += %w( third_party/boringssl-with-bazel/src/crypto/dh/params.c ) + s.files += %w( third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c ) + s.files += %w( third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c ) @@ -1594,6 +1594,8 @@ Gem::Specification.new do |s| s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/des.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/internal.h ) + s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c ) + s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h ) @@ -1686,6 +1688,7 @@ Gem::Specification.new do |s| s.files += %w( third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c ) + s.files += %w( third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c ) @@ -1798,6 +1801,7 @@ Gem::Specification.new do |s| s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/base.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/base64.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/bio.h ) + s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/blake2.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/blowfish.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/bn.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/buf.h ) diff --git a/grpc.gyp b/grpc.gyp index c140299019a..a86331670aa 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -1673,6 +1673,7 @@ 'third_party/boringssl-with-bazel/src/crypto/bio/printf.c', 'third_party/boringssl-with-bazel/src/crypto/bio/socket.c', 'third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c', + 'third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c', 'third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c', 'third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c', 'third_party/boringssl-with-bazel/src/crypto/buf/buf.c', @@ -1697,6 +1698,7 @@ 'third_party/boringssl-with-bazel/src/crypto/conf/conf.c', 'third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-fuchsia.c', 'third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-linux.c', + 'third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c', 'third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c', 'third_party/boringssl-with-bazel/src/crypto/cpu-arm.c', 'third_party/boringssl-with-bazel/src/crypto/cpu-intel.c', @@ -1704,10 +1706,8 @@ 'third_party/boringssl-with-bazel/src/crypto/crypto.c', 'third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c', 'third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c', - 'third_party/boringssl-with-bazel/src/crypto/dh/check.c', - 'third_party/boringssl-with-bazel/src/crypto/dh/dh.c', - 'third_party/boringssl-with-bazel/src/crypto/dh/dh_asn1.c', - 'third_party/boringssl-with-bazel/src/crypto/dh/params.c', + 'third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c', + 'third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c', 'third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c', 'third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c', 'third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c', @@ -1766,6 +1766,7 @@ 'third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c', 'third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c', 'third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c', + 'third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c', 'third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c', 'third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c', 'third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c', diff --git a/package.xml b/package.xml index fd094995511..bc9b9185eb8 100644 --- a/package.xml +++ b/package.xml @@ -1484,6 +1484,7 @@ + @@ -1513,6 +1514,7 @@ + @@ -1523,10 +1525,8 @@ - - - - + + @@ -1596,6 +1596,8 @@ + + @@ -1688,6 +1690,7 @@ + @@ -1800,6 +1803,7 @@ + diff --git a/src/objective-c/BoringSSL-GRPC.podspec b/src/objective-c/BoringSSL-GRPC.podspec index 264e2cdd7cc..bd13db2b0fa 100644 --- a/src/objective-c/BoringSSL-GRPC.podspec +++ b/src/objective-c/BoringSSL-GRPC.podspec @@ -76,7 +76,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/google/boringssl.git', - :commit => "29c6e0e27268f5a43e039cd2ed4e849d6b736fc1", + :commit => "de220fb27fa5d0cf51da8d3d06f33bcb1b1b1146", } s.ios.deployment_target = '9.0' diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index 266b31e3a2a..d60a58565ac 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -709,6 +709,7 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl-with-bazel/src/crypto/bio/printf.c', 'third_party/boringssl-with-bazel/src/crypto/bio/socket.c', 'third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c', + 'third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c', 'third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c', 'third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c', 'third_party/boringssl-with-bazel/src/crypto/buf/buf.c', @@ -733,6 +734,7 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl-with-bazel/src/crypto/conf/conf.c', 'third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-fuchsia.c', 'third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-linux.c', + 'third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c', 'third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c', 'third_party/boringssl-with-bazel/src/crypto/cpu-arm.c', 'third_party/boringssl-with-bazel/src/crypto/cpu-intel.c', @@ -740,10 +742,8 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl-with-bazel/src/crypto/crypto.c', 'third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c', 'third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c', - 'third_party/boringssl-with-bazel/src/crypto/dh/check.c', - 'third_party/boringssl-with-bazel/src/crypto/dh/dh.c', - 'third_party/boringssl-with-bazel/src/crypto/dh/dh_asn1.c', - 'third_party/boringssl-with-bazel/src/crypto/dh/params.c', + 'third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c', + 'third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c', 'third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c', 'third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c', 'third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c', @@ -802,6 +802,7 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c', 'third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c', 'third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c', + 'third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c', 'third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c', 'third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c', 'third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c', @@ -1166,6 +1167,18 @@ ASM_SOURCE_FILES = { 'third_party/boringssl-with-bazel/mac-x86_64/crypto/fipsmodule/x86_64-mont5.S', 'third_party/boringssl-with-bazel/mac-x86_64/crypto/test/trampoline-x86_64.S', ], + 'crypto_win_aarch64': [ + 'third_party/boringssl-with-bazel/win-aarch64/crypto/chacha/chacha-armv8.S', + 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/aesv8-armx64.S', + 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/armv8-mont.S', + 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/ghash-neon-armv8.S', + 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/ghashv8-armx64.S', + 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/sha1-armv8.S', + 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/sha256-armv8.S', + 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/sha512-armv8.S', + 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/vpaes-armv8.S', + 'third_party/boringssl-with-bazel/win-aarch64/crypto/test/trampoline-armv8.S', + ], 'crypto_win_x86': [ 'third_party/boringssl-with-bazel/win-x86/crypto/chacha/chacha-x86.asm', 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/aesni-x86.asm', From 027ab0a03cd938360d914036753d2684cc7822c6 Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Thu, 4 Feb 2021 17:17:26 -0800 Subject: [PATCH 03/10] generate boringssl prefix headers --- src/boringssl/boringssl_prefix_symbols.h | 35 +- src/objective-c/BoringSSL-GRPC.podspec | 973 ++++++++++++----------- 2 files changed, 513 insertions(+), 495 deletions(-) diff --git a/src/boringssl/boringssl_prefix_symbols.h b/src/boringssl/boringssl_prefix_symbols.h index 85fa0e536af..460782f8d33 100644 --- a/src/boringssl/boringssl_prefix_symbols.h +++ b/src/boringssl/boringssl_prefix_symbols.h @@ -1,4 +1,4 @@ -// generated by generate_boringssl_prefix_header.sh on BoringSSL commit: 29c6e0e27268f5a43e039cd2ed4e849d6b736fc1 +// generated by generate_boringssl_prefix_header.sh on BoringSSL commit: de220fb27fa5d0cf51da8d3d06f33bcb1b1b1146 // Copyright (c) 2018, Google Inc. // @@ -444,6 +444,7 @@ #define SSL_set_connect_state BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_connect_state) #define SSL_set_custom_verify BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_custom_verify) #define SSL_set_early_data_enabled BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_early_data_enabled) +#define SSL_set_enable_ech_grease BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_enable_ech_grease) #define SSL_set_enforce_rsa_key_usage BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_enforce_rsa_key_usage) #define SSL_set_ex_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_ex_data) #define SSL_set_fd BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_fd) @@ -467,6 +468,7 @@ #define SSL_set_quic_early_data_context BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_quic_early_data_context) #define SSL_set_quic_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_quic_method) #define SSL_set_quic_transport_params BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_quic_transport_params) +#define SSL_set_quic_use_legacy_codepoint BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_quic_use_legacy_codepoint) #define SSL_set_quiet_shutdown BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_quiet_shutdown) #define SSL_set_read_ahead BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_read_ahead) #define SSL_set_renegotiate_mode BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_renegotiate_mode) @@ -640,7 +642,6 @@ #define ASN1_OBJECT_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_OBJECT_free) #define ASN1_OBJECT_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_OBJECT_it) #define ASN1_OBJECT_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_OBJECT_new) -#define ASN1_OCTET_STRING_NDEF_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_OCTET_STRING_NDEF_it) #define ASN1_OCTET_STRING_cmp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_OCTET_STRING_cmp) #define ASN1_OCTET_STRING_dup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_OCTET_STRING_dup) #define ASN1_OCTET_STRING_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_OCTET_STRING_free) @@ -735,7 +736,6 @@ #define ASN1_item_i2d BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_item_i2d) #define ASN1_item_i2d_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_item_i2d_bio) #define ASN1_item_i2d_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_item_i2d_fp) -#define ASN1_item_ndef_i2d BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_item_ndef_i2d) #define ASN1_item_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_item_new) #define ASN1_item_pack BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_item_pack) #define ASN1_item_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_item_sign) @@ -746,13 +746,11 @@ #define ASN1_mbstring_ncopy BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_mbstring_ncopy) #define ASN1_object_size BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_object_size) #define ASN1_primitive_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_primitive_free) -#define ASN1_primitive_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_primitive_new) #define ASN1_put_eoc BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_put_eoc) #define ASN1_put_object BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_put_object) #define ASN1_tag2bit BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_tag2bit) #define ASN1_tag2str BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_tag2str) #define ASN1_template_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_template_free) -#define ASN1_template_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_template_new) #define AUTHORITY_INFO_ACCESS_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, AUTHORITY_INFO_ACCESS_free) #define AUTHORITY_INFO_ACCESS_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, AUTHORITY_INFO_ACCESS_it) #define AUTHORITY_INFO_ACCESS_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, AUTHORITY_INFO_ACCESS_new) @@ -861,6 +859,10 @@ #define BIO_write BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_write) #define BIO_write_all BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_write_all) #define BIO_write_filename BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_write_filename) +#define BLAKE2B256 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BLAKE2B256) +#define BLAKE2B256_Final BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BLAKE2B256_Final) +#define BLAKE2B256_Init BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BLAKE2B256_Init) +#define BLAKE2B256_Update BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BLAKE2B256_Update) #define BN_BLINDING_convert BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_BLINDING_convert) #define BN_BLINDING_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_BLINDING_free) #define BN_BLINDING_invalidate BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_BLINDING_invalidate) @@ -1068,7 +1070,9 @@ #define CBS_get_u8 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_u8) #define CBS_get_u8_length_prefixed BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_u8_length_prefixed) #define CBS_init BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_init) +#define CBS_is_unsigned_asn1_integer BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_is_unsigned_asn1_integer) #define CBS_is_valid_asn1_bitstring BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_is_valid_asn1_bitstring) +#define CBS_is_valid_asn1_integer BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_is_valid_asn1_integer) #define CBS_len BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_len) #define CBS_mem_equal BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_mem_equal) #define CBS_peek_asn1_tag BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_peek_asn1_tag) @@ -1128,6 +1132,7 @@ #define CRYPTO_cleanup_all_ex_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_cleanup_all_ex_data) #define CRYPTO_ctr128_encrypt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_ctr128_encrypt) #define CRYPTO_ctr128_encrypt_ctr32 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_ctr128_encrypt_ctr32) +#define CRYPTO_fork_detect_ignore_madv_wipeonfork_for_testing BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_fork_detect_ignore_madv_wipeonfork_for_testing) #define CRYPTO_free_ex_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_free_ex_data) #define CRYPTO_gcm128_aad BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_gcm128_aad) #define CRYPTO_gcm128_decrypt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_gcm128_decrypt) @@ -1196,6 +1201,8 @@ #define DH_check BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_check) #define DH_check_pub_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_check_pub_key) #define DH_compute_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_compute_key) +#define DH_compute_key_hashed BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_compute_key_hashed) +#define DH_compute_key_padded BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_compute_key_padded) #define DH_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_free) #define DH_generate_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_generate_key) #define DH_generate_parameters_ex BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_generate_parameters_ex) @@ -1206,15 +1213,13 @@ #define DH_get0_priv_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_get0_priv_key) #define DH_get0_pub_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_get0_pub_key) #define DH_get0_q BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_get0_q) -#define DH_get_ex_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_get_ex_data) -#define DH_get_ex_new_index BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_get_ex_new_index) +#define DH_get_rfc7919_2048 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_get_rfc7919_2048) #define DH_marshal_parameters BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_marshal_parameters) #define DH_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_new) #define DH_num_bits BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_num_bits) #define DH_parse_parameters BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_parse_parameters) #define DH_set0_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_set0_key) #define DH_set0_pqg BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_set0_pqg) -#define DH_set_ex_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_set_ex_data) #define DH_set_length BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_set_length) #define DH_size BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_size) #define DH_up_ref BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_up_ref) @@ -1348,6 +1353,7 @@ #define EC_POINT_dbl BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_dbl) #define EC_POINT_dup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_dup) #define EC_POINT_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_free) +#define EC_POINT_get_affine_coordinates BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_get_affine_coordinates) #define EC_POINT_get_affine_coordinates_GFp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_get_affine_coordinates_GFp) #define EC_POINT_invert BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_invert) #define EC_POINT_is_at_infinity BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_is_at_infinity) @@ -1357,6 +1363,7 @@ #define EC_POINT_oct2point BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_oct2point) #define EC_POINT_point2cbb BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_point2cbb) #define EC_POINT_point2oct BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_point2oct) +#define EC_POINT_set_affine_coordinates BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_set_affine_coordinates) #define EC_POINT_set_affine_coordinates_GFp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_set_affine_coordinates_GFp) #define EC_POINT_set_compressed_coordinates_GFp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_set_compressed_coordinates_GFp) #define EC_POINT_set_to_infinity BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_set_to_infinity) @@ -1508,6 +1515,8 @@ #define EVP_HPKE_CTX_setup_psk_r_x25519 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_setup_psk_r_x25519) #define EVP_HPKE_CTX_setup_psk_s_x25519 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_setup_psk_s_x25519) #define EVP_HPKE_CTX_setup_psk_s_x25519_for_test BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_setup_psk_s_x25519_for_test) +#define EVP_HPKE_get_aead BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_get_aead) +#define EVP_HPKE_get_hkdf_md BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_get_hkdf_md) #define EVP_MD_CTX_block_size BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_MD_CTX_block_size) #define EVP_MD_CTX_cleanup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_MD_CTX_cleanup) #define EVP_MD_CTX_copy BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_MD_CTX_copy) @@ -1662,6 +1671,7 @@ #define EVP_aes_256_ecb BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aes_256_ecb) #define EVP_aes_256_gcm BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aes_256_gcm) #define EVP_aes_256_ofb BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aes_256_ofb) +#define EVP_blake2b256 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_blake2b256) #define EVP_cleanup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_cleanup) #define EVP_des_cbc BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_des_cbc) #define EVP_des_ecb BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_des_ecb) @@ -1987,6 +1997,7 @@ #define PROXY_POLICY_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PROXY_POLICY_free) #define PROXY_POLICY_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PROXY_POLICY_it) #define PROXY_POLICY_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PROXY_POLICY_new) +#define RAND_OpenSSL BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RAND_OpenSSL) #define RAND_SSLeay BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RAND_SSLeay) #define RAND_add BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RAND_add) #define RAND_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RAND_bytes) @@ -2643,6 +2654,8 @@ #define X509_reject_clear BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_reject_clear) #define X509_set1_notAfter BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_set1_notAfter) #define X509_set1_notBefore BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_set1_notBefore) +#define X509_set1_signature_algo BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_set1_signature_algo) +#define X509_set1_signature_value BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_set1_signature_value) #define X509_set_ex_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_set_ex_data) #define X509_set_issuer_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_set_issuer_name) #define X509_set_notAfter BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_set_notAfter) @@ -2766,8 +2779,6 @@ #define asn1_enc_init BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_enc_init) #define asn1_enc_restore BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_enc_restore) #define asn1_enc_save BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_enc_save) -#define asn1_ex_c2i BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_ex_c2i) -#define asn1_ex_i2c BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_ex_i2c) #define asn1_generalizedtime_to_tm BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_generalizedtime_to_tm) #define asn1_get_choice_selector BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_get_choice_selector) #define asn1_get_field_ptr BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_get_field_ptr) @@ -2838,6 +2849,7 @@ #define bn_scatter5 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_scatter5) #define bn_select_words BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_select_words) #define bn_set_minimal_width BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_set_minimal_width) +#define bn_set_static_words BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_set_static_words) #define bn_set_words BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_set_words) #define bn_sqr8x_internal BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_sqr8x_internal) #define bn_sqr_comba4 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_sqr_comba4) @@ -3215,6 +3227,7 @@ #define i2d_X509_CRL_INFO BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509_CRL_INFO) #define i2d_X509_CRL_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509_CRL_bio) #define i2d_X509_CRL_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509_CRL_fp) +#define i2d_X509_CRL_tbs BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509_CRL_tbs) #define i2d_X509_EXTENSION BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509_EXTENSION) #define i2d_X509_EXTENSIONS BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509_EXTENSIONS) #define i2d_X509_NAME BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509_NAME) @@ -3229,6 +3242,7 @@ #define i2d_X509_VAL BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509_VAL) #define i2d_X509_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509_bio) #define i2d_X509_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509_fp) +#define i2d_X509_tbs BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509_tbs) #define i2d_re_X509_CRL_tbs BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_re_X509_CRL_tbs) #define i2d_re_X509_REQ_tbs BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_re_X509_REQ_tbs) #define i2d_re_X509_tbs BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_re_X509_tbs) @@ -3291,6 +3305,7 @@ #define policy_node_cmp_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, policy_node_cmp_new) #define policy_node_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, policy_node_free) #define policy_node_match BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, policy_node_match) +#define poly_Rq_mul BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, poly_Rq_mul) #define rand_fork_unsafe_buffering_enabled BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rand_fork_unsafe_buffering_enabled) #define rsa_asn1_meth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_asn1_meth) #define rsa_check_public_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_check_public_key) diff --git a/src/objective-c/BoringSSL-GRPC.podspec b/src/objective-c/BoringSSL-GRPC.podspec index bd13db2b0fa..6bf7885ce6b 100644 --- a/src/objective-c/BoringSSL-GRPC.podspec +++ b/src/objective-c/BoringSSL-GRPC.podspec @@ -213,491 +213,494 @@ Pod::Spec.new do |s| # /src/boringssl/boringssl_prefix_symbols.h. Here we decode the content and inject the header to # the correct location in BoringSSL. base64 -D < src/include/openssl/boringssl_prefix_symbols.h - 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 - hwL4R48EAA== + H4sICAAAAAAC/2JvcmluZ3NzbF9wcmVmaXhfc3ltYm9scy5oAKy9XXPbuJaofT+/wnXm5pyqXTOx0+72 + fu8UW+lo2rE9ktzTmRsWJVI2dyhSISg77l//AiRF4mMtkGvBdXbN6Vh6nkWB+CYI/Od/nj2lRVrFdZqc + bd76f0SbssqKJyHy6FClu+xn9JzGSVr9h3g+K4uzT82nq9Xt2bbc77P6/ztL0ouLD7vNxW+7+DL5sN1d + nifxVfIx+fDr7uPHzXZzrv7f+S+//tu//ed/nl2Xh7cqe3quz/7v9v+dXXw4v/rH2e9l+ZSnZ4ti+x/y + K+pbD2m1z4TIZLy6PDuK9B8y2uHtH2f7Msl28v+Pi+Q/y+osyURdZZtjnZ7Vz5k4E+Wufo2r9GwnP4yL + N+U6HKtDKdKz16yWP6Bq/v/yWJ/t0vRMIs9plapfX8WFTIh/nB2q8iVLZJLUz3Et/096Fm/Kl1SZtv21 + F2WdbVN1FW3cw3C9p48OhzSuzrLiLM5zRWapOP269Zf52er+8/p/Zsv52WJ19rC8/3NxM785+z+zlfz3 + /zmb3d00X5o9rr/cL89uFqvr29ni6+psdnt7Jqnl7G69mK+U638W6y9ny/nvs6VE7iUlfYP77vr28WZx + 93sDLr4+3C5klEFwdv9ZOb7Ol9df5F9mnxa3i/W3Jvznxfpuvlr9h3Sc3d2fzf+c363PVl+UR7uyT/Oz + 28Xs0+387LP81+zum9KtHubXi9ntP+R1L+fX639Ixem/5Jeu7+9W8/9+lDr5nbOb2dfZ7+pCGvr0z+aH + fZmtV/cy7lL+vNXj7Vr9jM/L+69nt/crdeVnj6u5jDFbzxQt01Be8uofkpvLC1yq657J/12vF/d3yicB + GXq9nKnruJv/frv4fX53PVfsfQOs75fyu4+rjvnH2Wy5WKmg949rRd8rZ5OF7+/u5s132tRX6SGvpbmK + +VImxNdZI/5s3o3/aPL/p/uldMriE81ubqKH5fzz4q+zQyzqVJzVr+WZzHpFne2ytBIy88jMXxapvAm1 + ymIyU++F+oMSZbUqrSrHlbuzfbytyrP05yEumkwo/5fV4iyuno576RNnm1TCaRNIlt7/+Ld/T2TJLlLw + cv5v/I+zzf8DP4oW8qcv2y94HfoXz+Kzf//3s0j9n82/DdTiPtpFspaBr2H4Y/uHfwzA/zMcIq2plg4Z + PDfr21W0zTOZVNE+ldVDMlXnkpaVoQM9Iq1e0oqjM0jLqurCaHPc7WR247gB3ozwch5d8FPWpQE7U4v6 + 2Cnt0o49JCX86fAk83Sd7VPVstG8GulYn2ULl6dMsQk7blYiIL8+5J7575iqK7Iiq7M4P/2SKDl2NS81 + EK4a4s6Xyygv4yRSBtW7kV2xqYEgdjDfP8zv1AfqGihVps0Nxof516hKu3gr2V1QbeJEK8QC5k1WBtkt + 3ozwWslWlKt3YMgdcPmgYIih/ni9eJA9lyhJxbbKDpQsCdOgXdUP8VHW80WWMPQ6jvo3qrfCcysU9W6z + g+zfB1z5IEBjJNlTKuqAGIMAjcF2e5zff0ZFvE+Z4o722tlX3cKoex//jGSVLXj53TLgUbIiNMpgQKME + 3AJv+h+qXcAN6GiPvazLbZlHARF6Axql2m1D0ueEo/6XOD9y5Q2Lm4PyjS/PZCKKZbvGMHckZt3k5fZ7 + V9/x7LoBjCJq2SOMq4R7Uw3einD/9SGKkyTalvtDlTZTMcTu4IgGiLer0hT4piBHxERATJk/PtDTzyBh + 67v8EMSDRMwSVoAsQXzcZIFSZf2Xygcfou1zLGvxbVrVJLOLg/7zMP/5mL/5xLgjcf7ECAR6kIjtMPV6 + xgpzgmF3+rOu4rAkcxxwJNH+TE6ADnW92+dU1o+HKntRs+zf0zeq3REAMdr+qvxtT1V5PJAjmDjgz9O4 + 0lJPkCPYAiyGfZ+YkRwNFm9fJikvhCIxa9mMq5jX3sGuOy3iTZ5G5VYcVKN4yOVAnxoCcqCRRPZUpF0t + oKYuJLA/CGZIWIbGrnOh7l9RpOTuJiZxY+3yo3g+FV3yDzNpwC7bd7JTMq6pacRVymW7bCtrAarV5rEI + qrzw3Ir0WXmF2eaRCIe4ivcsd0Ni1rbGZdTYFg7624IgavV8hq7XaMTe5/pou2EF0AVIjKbZECx7iyLe + U3cgyjNRs/SGAY4i/xQfczkkjYV45aaSI5kYKzqKtEriOn6XoL0Njp7+jLihOhT1Fumr7DYk6U+mvOex + CIG9AVACx8qKXRlt4zzfxNvvnDiGAI4hK4O8fAqKYingOGqiq6khuAXIEOAxmukc1rQHJkFiyVsXHsuW + ILEYPcITBxuZvUENhb0/jpl6pP18rJPylZUkpgGO0jxPiZ+ps08ODdu73pPMz3KYw0571wJHIz7RBFDE + mwtZy8jvbL+3RZR1s10LHE1m32z3FlSLWApvnCQ91M8BQRreG4F72zXc9TdPRLtv5OU2ZpVBUOLGKlI5 + sqn3h2i5Ik+A6CxkfqULX11Ple7Ll5Q7wWHSrl19EMXbrbzTVLWGer3RU1kmAfKG90eo0iJ9KuuMMcBC + NEi8tpraHfOcFWfAMf8mes7onSWdxcylHBRseTe5Y/1m/m3WBSMxQm804EEiNoOR5naJ7G9eMFPhidN8 + ccOO0eIev+qrB/hb3OPvKpmAEL0BicIuFJ4SoRYApzxriyLe4rjfEB/JmSjiFeE5UkzJkSIsR4qxHCnC + cqQYy5EiOEeKCTmy61Xy8s8Jhtz1h26BZnQoS0YzY/JIBNZ8ofDMF7afnSZvBE/d44j/1Pdlz7/BFjDa + OTuNzj1pJD87Vi+cWqdHvV7WtIHNIxFYc7UDiVhF9hTnT7wE6Vi/mZ8kugCJEfasA1Agcd4j559PzPmR + HFqWr9Gx+F6Ur+rB8aGbfeHcJFyGxQ6MNsUv0lx1Ajmtg22Ao7RP31n6DvV4ufd/9L43nwdOUWAeJGIz + tRsXCefpuiNAY/Cfp4jx5yliWHXKrGl0HPEHPVcRE56raN8JybyGAYlyrCr1JdUH4oYxFVgcmdX3XT7k + RdEEcIzgJ1Fi2pMo8a5PogTxSZT+/a5YH+L6WYTE1T1IxFI0NbmsZ5sJYl7a2hI4VhpX+VvzvKxbf8Bp + ygELEo33VE/4nuqpD3dxLlK1NqTqmt00ibqXZ5tWixNwzAlfyVOVxhILSEvTAEfJngrZlqkO1PnHSD0G + earihNUywiYkasjTRjH+tFGEP20UU542itCnjWL8aaN4j6eNYtrTxtPXRCp7A7sqflIv0nJjGRIkVuiT + TTHtyaZgPtkU6JPN5hMRlr10fjxCFFdPoVGUA45UqGdvbSoG9ewhz1hEEcXJi1qeJdIkOKwlg2M3CwCr + VBzKQrAyhSFAYvCeewvfc2/RvETSL4XlLPZHLUg08b3vkQZkdUCDx+teTg2NZ2mQeN1GGZwYLQp7fxyz + bcDt0XDUH7D6QUxY/SCCVj+IkdUP7ee1GnmWhezxief44vLXqNzp4x/Bizpmxa6m60/LPq4s2cd9yotu + W+Bop8pxWJXKrPlAERYzdLWJmLjaRP+eGvKXRS0r6JBog8UfTRX85DnlrnXxqJC40LpudlcQt+HRs+JJ + vZhSVnJEsW92LxLc0IAKiVvVB9Xc7rI85UXTBUiMusq2wdNCrgWO1i07Ui8LBlTbrgWLxs6d3txozoOH + jB1hExpVdb/a9la9VsbtqoKiqTFDugu4zR+9juujCP21vWRKLF4jYTu8kYYVeGHRDM/EiOJd4glvtKOa + jJH1T0CokwKJI+vs5Jmlb0ifNSybmwo8TrrlX79icXMlYq5Yol5vcNLoDiRSdeQ1Qw0IO/mT675Z9a4X + +g4dA9jkjcpaMytG18we1ZB7R/W2FGCTZfihHQX/QX9wZtJj9mi2ujsPC9EoRuOo/lRgHKWA4yxXs7AE + MwQTYrCTzbVMicZNPNcCRwt4hdHCR/3slLMd45Hax8fctINN41HfIx4eSQ392k0p67foOaPPgYMSM1a3 + uVWkNljtHwcNj78oEUdUcFztSds2PqjuPSeka4GjUd8G1jnMWO6jzVtNG4C6NGxv370lbwwD4B4/b2oE + UXjisKe7cYsn2iENSDMFj7j1MiyCAhmmsajtXGJYvNbhifQ+00kTlZ7raMdS7Jgtjvo5T+8B3OtnvZuL + OfBItAWLJolb92pv5Iq6oAs24FH67cgYD199HjxiN0TPs13arDuiNq1jLl/kfcqPtE/9ZuJcHoDj/sCb + 470nz7EIrdwsBR6HX6UMNGzPRPuohduH0Xk4AvE9RA2Dfc1KYl7V0aFeb0ivwlKgcULqcDFWh4t3qp3E + 5NppmL3nxvHlUBFQAwlvDSTCaiAxVgMJOZbIk2ij3nYqnvJUjWxYgQAPHLEu+b36E+s3R7uyCrjZgAaO + R5+vMknTSn/BGHqvOGB/P+/efgH7+nn39FOby8WHQ561b5+rDFtTdgf3OdxIrH38PHv4qY/ULEP32sBx + 8690WwuVg2QvnDZRPaKy4ubqS2qT625HdFIkGx5xR3kZGKAxQFGaUXo3Kaya6Lymx3EdUKT67ZCy00qD + R9zMtLINZpR2JcZzRkqcHrJcaoFMuxUfyTZgli9k/8eRvR/pVwlcX8jejiP7OvL2WMT2V2TvrejZV5Gx + oQG4j8H2WNfPVXl8em72S81T2gw3gJv+JM3TJ3VmV7St0mZKNc5VD4LUg0YlVqyyOcRDDme+k36EzllG + 2ZwzXjvSMNPXzrn2a3q39U+1y1fanIKkxnyUIGMuKHIz29t2Lmh3AMBRv3p3QbXV5CoZc1iRAncTHd9J + 9N12ESXsIBq8e+iEnUPTqpL9XubxGw5suX8eyqpZwqFaur0srJUspKQAoMGMQn0W4T6D6I8NVItbmi3g + KT6Xtu31B/0VWVohc2nArj8GU50LQY7gGKAovGbVv+9pu6X78JpBvwkNPZVACxCN/fxk7LkJb/9WbO/W + 4TlD6IjJb8Kicp/LTHkeM3yna8a7/djbNSnMcKAKi2uvg2HGdDRAvO7NhSr9cZTVvKz0ibuBoBIwVsgy + bUQBxXmXJ1ukJ1pPzQYU9D3fdM4xRt0jfqLwhLk+5qoQCwW87ZLnzRv9yBcAR/2MO4ivxmbuq4zuqRy2 + n/LYXsra55Xs+Zd7pryFAXf3ij59GYJLe+zDARfsEIMCjzMc1MqM0gvAGC8psaurc5iReriKSbrW05v7 + jBl7AHf9ztiHGsERADFUF57sVRDgoj9DQp//ax9Ef11++Ge0Wt8v581qrCz5yQwBmMCorNUG/lUG3ebd + exGJ40ENauhqDXbdO3Jp2QHlRP4jE88p3dVxrpG9N8DILuTNxy/kdkUirqcfuEV5Si5jBuy62fsJjOxc + Hrxr+YQdy4N3K5+wUzlnl3J4h/J2X87TuC+qy+9pEW1kUVRTB5xR2YjNjc6YzUX3RW9W4pwGUfSN9wDc + 42d2WG0eicCtVAwYcx/zPDSJLAcSqXmHu5adO9FMSTVZQLDigSYkqhocxfWxSochJism4IEittmb10M1 + acDOOoLGJAGrtiyb7NVYv5m8tA0UuDH47/2PnXjQbCG8yUqqUzGAibVzgO/MhP4zoWY0im3KEp9gwE3v + EFVQj0ikW1Vqht2xm6kzXhfO54Iit/O9xtvV9JCABIrVzi6xxr0GjLrVK3mMsm/SmJ0zshtIn7WZDeer + Gxzys0bo6CyWeI4rNYfGm2wxadTO2JfWpSE7r/bD6z2gsetOKCfHQE3ToqrBASsDeVzTIrNKBOIBInJ3 + jHjy7xahrQSPn9JIfKet1AVwwM9+nOrSsP1YZD/oU7QDCVq1N/77R1CMEJBmLB4nB7sGN0rAxrqj5/6E + nPnjP+8n4Kwf7zk/2of0xXEODLo5bQ46an9l9C5fwd7lK72v9gr11V5llZWyO5QmbdrVOwuhT2Exhxkp + K5hvjRqg49Q2LSVKNdKxyrE5VacQyyOiRNYWJE+LOB4lZ0032Kxjbnt0RGULuS6gmVWbVRwENRE8Jidq + wJ6wLu3ajfkx3iIOj8aMp3pCx0NCnLEaKNOWZ5sqrt7ImVnnLKM6aG141EgdtwE44G/XXrWL4QRZb9Cm + fR8/Zdt+NqffPq0m5X5UYsdSG8vGeVTKgkKdXnBg0809xw4/w4743pjzvlhx3JuDf9J9c2nTfkhTUhdK + fd82NLeLJmkQy1OVW3WmTzPReShFzVuC69HA8dpKSj2AO2U4+mtBYy4n8kuWpO0lUltsBzbd7aahMo/3 + vzra5dnTc019SuUVATGbmbU8fUlzcpQBBbxtB4sn1ljTXBErjcqpJ5gH6KHn5WkfcEoUgNt+YT/a/xdx + 1T+iMON0W5EOqyopERzYdqvNxGXkvH0lhqY2WdvcltYqpb5QYJK2lXNCGHY6WMDJYN5TwZoPqZP+PQS4 + gs5YmnKyWPOdV84Vv0JXfM66R+fIPeKcTIaeShZyIpn/NLLmU+htGHIISALEIj9Lx0484552hp90FnTK + 2cgJZ4Gnm42ebBZ+qtmUE80Eb82rwNa8Nud/tWcFq7k+6vUaLGDmnX3mPfdMfUivcSKovuEcDIWeaBZ0 + +tfIyV8BJ3J5T+MKO4lr7BSu5vPueGJW5jJgwM09D2vkLKzw85OmnJ3UfKd9wSvdPnfHA5GD2AIoxq6s + tmkzsdTMoYj4iREHkACx6CtI0d1HBHlVpABWRb7PqUpTT1QKOk1p5CQl9fG/ku/n59FrWX2Pq/JYkFPH + 5t0I7PWOI2cnBZ+bNOHMpODzkiaclRR8TtKEM5I45yPBZyOFnIvkPxMp9Dyk8bOQmm/UR7K0Proe9iuD + I6cLMU8WQk8VCj9RaMppQu9wktCkU4Te4QShSacHMU8OQk8N6o/80bdTpb+N59Eg8Xi3Gz2dqP8wZNkr + KkFiqb121TB0K8cwsj46lFnBSzVIBMZkrkEaO3WJf+KS77Sl9rNhipBTz9s8FOE9z3LinOMk6Gs4BbSG + U/BW2wlstV34WUhTzkFqvvOcJtqUvfzeLiM3kaAEisXL/3jOf58XhCmnKL3TCUqTT08KOjlp5NSk9qwj + xogXGemGnb405eSl9zmvaOpZRdrhLc/qwSB1tSPEoxFCVt2JqavuRPCqOzFh1V3guTmjZ+bwzsvBzsoJ + PCdn9Iwc7vk4+Nk4zHNx0DNxQs/DGT8Lp/mG+3IbuTKDHEAk6ok7yGk7vJN2sFN23ueEnamn64ScrOM/ + VUeErCAV/hWkgr5OU0DrNFk9DbiXQW4fgbZR/YmxK5nO4Uby9pAObLrrUj305q8ggngzAv8UJd8JSoGn + J42enBR4atLoiUlBpyWNnJQUfkrSlBOSwk9HmnIyUsCpSN4TkUJPQxo/CSn0PKLxs4iCzyGacAaRWrcS + Pad5XqrhdvV22i2KGAZ0mJEY89bgTPVrTEsE9X3LoBaGkRQKMBwvFx9PExHkCTSHdcwsJeLqZjFZSoMd + zOvbFe/HO6DppMsgC+sHO6DpVCdqRZvjbiczJMMM4Ib/5Tw6Z6eoC7tunhSzcVPYhW33RUgqXPhT4YIp + xWwBqXDhT4WANPCmAEcImwJ+O/LLk4ss0s4/mOq0MNRHWb0DoIM3u0g412lhqI9ynQA6eGWrf7389rC+ + jz49fv48XzZD+fZ4wN2x2E6NMaIZi6f2zX2HeL3GEy9J00NzYexQvcETRS3uL455zg5yEvhiHPd8/XHv + MR+O4pmtVrDHLaa/MwGxHjNp80qYNuyr5fpBfv9+Pb9eq3Ij//Pz4nbOubdjqmlxSffbY5kUjZgHfBoz + nlrpuXj40tcR+wO15GMKLI5ae1ynvAAti5qPB6b2eMCc8k8JT6pIzMrJtC6N2mlZ0wAxJzUDmiRmpVYS + Nmp4my0f72Zf5+ysjBi8URhtM6bwxeG0yZgCicNpiwEasRMLkgliTsKBAA6IOAmvftocbqQWdhdG3Ify + wE+FE4y5aUXeBBFns546pGDqAiwGYcMuB3SdYcVvrORxMweeL2i1/wlxPdyshecq8ZztyHemgVwXteUY + oME1u76Wg7DoZr66Xi4e1tTjzhHc65++8QAIe92EmgumNft8FV1/nV1P9nXfNw3bzTZKi231Nv34Qwuz + fLvN+cUVS2mQlrWuuFaDNK1JStZ1iOlJtxvOpWmY5WO4IE/Jvhel516IZrP05gPKe1EA6nq7gByvhpre + Y/FaxQeqcqAwW3SIk2T6gioQNt2c64SvMuAa8Stc3Z1Hs7tvlPpxQCzPp8U6Wq3V99uDCElGG8bdpKYC + YHHzU/MSYs2Vdzju56t9Vkrz46K4lzBFBaBeb0gqCziVvz6ws4eBol7qFWsg6iTfOp20rff3t/PZHfk6 + e8zyze8ev86Xs/X8hp6kFoubn4h5zERxb8bW+tKBertMFPcKfioIXyrUZfTpjmtuYMv9mZnJPqO57Pf5 + nYx3u/jf+c16IYeCcfIvkhngRyLQmybQMBKFXGQgwUgM4k1w8RE/NbsD/EiEQ0VYooMbRqJQixfAj0cg + LnEc0cDxuC2ci3v9vHyFtXbmx8w8hbZ6i9klN1VMFPUSU0MHUSc1FQzStt6t57+rZ0D7A805cIiR8FjH + 5hAj/R5pIOKkdiE0DjFmPGGG+ch3e+AQo2D+ZoH+ZlX1HGVV+usvXHGHI356V8QgLevd4+0tPTP1FGQj + 3vSOgUzU232CLNf9p/+aX6/VPlGEhb4uCVvJaadxsJGYfj0F26hpOGC273o9HyYWiFWkDfvc1MrShn1u + +t2yaZ+deudM1mcm30UL9rmpVaANW+4H+ff17NPtnJvkkGAkBjHhXXzET01+gMciBKSPN2XYaeJJDX46 + eFOA8vIogFre1fy/H+d313POZKzFYmauFTCueZe5Rq6wzW5t2sRJQrNasM+9zdO4INbTkMAXg9odtWHY + TW250Dbr9AFhtYnNwUbKpmI2hxh5dyrB7g+5ysJr8mHC/wP7h/cw6u6PL97H4jszhOGAI+Vp8TT9HVmX + hK3UShdtc7oP6FNFOuhxRtPPIIZYvznaHULkEof9glfLCKx+URv+MoUfUGO0eYvuFjdMb0fj9tDSISaV + DvtbUSy27xFNeeCIcsD7uP58xQnSoYiX2mHRONzILegn1jKvfz3nVtcminqJvRYdRJ3UNDBI28p8xrJG + n7GwHqwgT1OYj1DQ5ybNB0m229F1ioJs9IyDPG/hPGSBn6ywHqcgz1CYD07QpyWsRyTIc5GQhyH+JyDN + p7J6e0qLtIrz7O80UTtV0SO4DjvSt4c5ub99giAXPT+eKMhGHV+cIMhFzpEdBLkE57oEfF1ql3WW7Nyy + Pd4t/pwvV/wnZ5BgJAaxwnDxET/1pgG8HWF9zWoiNA4x0hsKg8Ss+0OzTV1U89Q9jvjpuUQDEWfGu9YM + u0ZyLhg4xEhvUgwSsVKrBY3DjZzmxcUd/+crdjVhsriZnA00ErfSM4OOWt4/F6tFwDy4i3v9xASxYa+b + miwObdlpB1xriOVp+x+1HP6ozUJJPhPFvC8fedKXj46xjsoN5ewrC7N8WZ3uo+QiI9lOEOKi7AHggJiT + OG2jcaCRnnE0DjQeORd4BK9OHe3AuSUthxjJ9YYOIs7sImEpJYcYqTWExkFG3o/GfjHr5yK/VW1+wSon + HYg5OeWk5SAj63Yg9+IQE3uePQXZ1HbFdJuiMFu0rX/yjIqErMeC95tbDjLS9v+0Ocu433S7LpKfPRkk + Zi342gLwts2XTO+/aSVa4yyj7CXvszp7SenVhIna3mMdpSVtTrpjABOjtR8wy1fHTxfUFz06BjCJ6ccj + 64xtSveHvNk/kHoTDFKzPq6/SGD9LVrcfb6Puhc8SXbUMBaFkLYIPxaBUiNjAijGH/NvixtmKg0sbuak + zInErazU6NHB+2m2WlxH1/d3cqgxW9ytafkFpn326akBsT4zIUVAWHMv7qP4cGiOdcrylLLdPICa3v4E + o21d5RSrAVrOPI2raJfH0w/WtDDI124IyrRqsOVWG500BwU3XyGZTdTyUpPTTUX5l2a42BzGQtxMFRUg + MdoTrp+OcRUXdZqywlgOIBLxQGqbM41JeTphkeIbKNOWljuKRn7d5NWOMKTHyAZkuXLCLic9YDkq2l20 + 6snuL1Gc51SLYkxTs9aGsBRIZ1zT9G3gBwKwHMiWg2vJiqymehTjmvZqEoKRRicONh6mdwwtzPWp3V1k + fp2+JMgBXSezTrdQzKuOFJ2+TTTEumbqCQI25xipP9z6tc/pz+S4J2XmDjE96gYVpLzcEralJrd8J8Y0 + qWzYHE5V0FJI52xj/UyuFnsIcFE6eBoDmJoNpEgvswAo5iXeDgNEnInsSFTlG0vbsYiZWiAMEHHKQTjP + qUDEWREO1XNAxEnaTN4lXWtJ75FomOkjZnYnn6tGYJOV0SHOKqKo51wjowOoYa6P1rdoCcBCOL9BZwDT + gew5uBZVJ26OO6qqw1yfKLffU3Kit5Rt+0n0/LQNx/0mrcjlUcNAnypRsg1hKDvStDIGPuCY51CSMoT8 + usWr5QikjNASlqWuyM3KibFMxIHOwRnnUCt3t06nZh03z7SnpYrinKppIMDFmeUxQNspaMW1ASzHK++q + XpFrEpy6W8A1tyDW28KptQW5zhZAja1O5NjTJBKwHfTaVYB1a9OHywmnShsQ4JJJ35xXSc0DDoy41UDg + QNgnFYQRN9sLO6kjdQHOZgjybIYAZjOav1FH0D0EuA5k0cG1UGdGBDgzIroJCWLvRcNgX1ru1Dj/WBUc + 7UC79oKwlEBnXFM/D0HOIQPpsRJnRoR3ZmT4VBzSbRbnPHUHY27yAMlCXS9nNkegszn9UKw7oYn0iBwV + WDGey2OeRHJExElpGwbd5Cw3YIiP+GBF50AjPSNonG1s76T8jCbsMctX0PvYJ8Y01algVOwDZdqO6thn + 0lW1hGl5oc6fvbhzZy+cJHqB0+iVMbB6BUdW5CwF5KW26BIfmfQQ5OJ0uU1Ss97O/phffLq4/HWyrScg + S/Q5KwjVj8WBxgWl02BioO/xkFDmVG1Qc95Fn24Xdzfte/7FS0roTboo7CUVLYuDjVnxEucZKQlAGrUz + kyHzpAJlntHEDN/1+q8onX64x0A4FuJtOSGOh/By2kA4FlrydIRjEXVcUa+mYQzT7/O760/NOhCCaoAA + lyClUc8Ypq/3d+vmgimLHm0ONhKzgsHBRtrt1DHUpyoZUVNeAEUFeIxdWUX7MjnmR8GNoingOLTMoGOo + L8rVPEnC1Ha0YY83IspE9FpWFKtGmbaEZEkcmnwhHWJ6xPZiU1AsDWA4NllBc7SA6ZB/yUiOBgAcxGMB + bA4wHmK67RA7pu1mw7q2gbONSbqlqSRgO54JazxOgO3IU9YP6zHbtz9kNJMEDEezDpCgaL7vGijb8+sM + YCI2JwNkugiLP+7M9/Dbf1PrjBNiemiNrdPGbstjoSrY1+jvtCpVggmSzqENu8zjtNqoBUxH9kIRZC82 + TU3nE2J6jpS7bbzVJv+dFs9xsU2TaJ/luXr8GTeVXJXtZU+/fmsmDwj6KToz/o9jnLM6KBZpWn9S0kR+ + 26CJpdApf7uq3MuOTFE/lfu0eiOpDNKwPm0pWUV+26RPb62qe5FGpOrcYS1zHVW77cfLi1+7L5xffvyV + pIcETozj9M2WB8KxEEvcCTE8sm2j1R0tYDhID0Pu7Ocgd6qvKOs0Yo94gGxXkT7F6pUpmuxE2baS1Glt + AcdREC9GArbjUL5e0CSKcCz0EqNRsG0Xy1pLzcvytBpu+4kZHBpzyL+pRpNmUYRhyVNaIWm+bxpIJzH2 + AOA4J0vODcs+rsSzbG1IKzpMzPKJ79QeTc+YpjIhjhE7ArJEP47Z9Hdibc4x0lrhjoAsF02bSHe1HGRk + Cv0+VjcGFuAxiOXbYR1zM/UqqJfcUZgt2uRqMXjCs55o1F4mXHMJ5HxyPTNAiOucJTvHbKxyabCIOUCM + ePfHnKiTBGThdaBd2HETOwUnxPGIHxVRIwnIUtM1br4Txw1Vc9xAFlaW6DnHyKiu3FrqkNG6Ei1gOmj5 + 0s6TMktRf0mHGB7a5L49p18UMnkovPq+a6CWgAEyXcc9tQtzQkAPNYENzjW+yf4x1aYYw0QbhNgjkEOs + WhzV+YuOhdqLhNQeArRp587ReGZjSLvanb7vGigLBgfE9Ij0mJRRFZOe2GoUZlP/5ynlOVvWMBMv0Lky + 1iV5rqX9M21YaXCmkdozqtxeUUXuEVVAb4h4DO5AOBbGVIeOOT7avJQA5qUEfV5KQPNStB6J3Rsh9kSc + XgitB2L3PlQPgpoGHWJ46jKyjmYlGF0YdHdnrTHEHWlbWV1dgzOMR9qEwNGeDTjSHiAd7SdIR1pWONp5 + 4SXOjymx7e0Zw0ScxrLmsPqv7I7Fts7KInom1EAgDdlFmu9obbiLat7Hz9HX+ddui5fJSoNybaRHIhrj + mp6q8pVqUgxsas8Y4vha0rVSuugD4nrUC1PVCznROsz07dM95SlfT5gWUVdES0s4lnwb10SNQgAP4Qnx + gDiegv6zCuh3FXlaUD25/l7n9adPzXQoZZpYZ2BTtCnLnKNrQMRJOrzUJRFrua3J+02jAixGlrTPSWvC + m8K4AYly5CfQEUkh0pDUgFyXOMTblOpqINd1PP+VapII6OnOuJJDOvnRz+nDXY8CjJOnDHMO/fYL8j2W + COgJ/u2uAojz8YLs/XgBehhpqCDARS8nR6h8yD8yrklBgOuKLLqCLME39cp/T4lnLGqI6aG8fXr6vmXI + iC9RGZDtEtu4SqLtc5YnNJ8Gmk75H9n0nQEGArJQNos2KctG2ZWtBwBH23CoQf30PedA2HRTFpmcvu8a + InLOHyjTRuhfdV83eWKfWkNMD2VYePq+blh13au0UqPwJK2myxwU8mZ1t9fycywos164AYiiekHyEmi9 + KJc1zWqfrTgrRLfq8o1SnUC0bT+8UbtROmXaaHXmyqkzV83qsLh4I/b3TQ43Rmme7gk7sGE8HEHlwNAo + tgOIxEkZOFXoIyELRJzc3z/6u6Nsf8izbUYfEOEOLBJtsGKTiPXI1x4RL7nw9pDrymNRkzp6Bub6yoOa + pSOu8gLhETcrG7uGsSi8wfiYaSwqL9NADjcSaaTaI6CH37FHFWCcPGWY8xRwXZAT1Rqp9n8M/u3+kWr3 + JcpItUdADyMN7ZHqirqEXENAD+Oa7JFq92dyBQbVXSEjVcxgRqGNJVbOWGKlFgmfFjL0bU/6ROs8Yw4n + UvOiutUZJgaCFL44vJ/jCswYpDHTyh4zrdrdidSrMhRLD5muQ5p+by+1jkmpaYCmU3zPDhSV+r5lqKc/ + UTp93zZQnowMhGaZL9eLz4vr2Xr+cH+7uF7MaadUYLw/AqFEgrTfTngShuCa/+vsmvwKvgEBLlIC6xDg + ovxYjbFMpP1PBsKyUPY86QHLsaRs8DgQloW2W4qGaJ77u8/Rn7PbR9IprCZl2Zo9AlJBu/82iDjzstsz + kyXuacveruXLs+nP+C1M8y1vo5vFah093JPPwoFY3EzIhA6JWymZwEV177eH9X306fHz5/lSfuP+lpgU + IO71ky4dojF7nOfTjyQDUMxLmuFySMzKT2ZfCjdzxrJp5ZlPNGan9KJsEHOys4MnJzTboKhH0+yU0A1Y + FNrObxDrmL8+rud/kR9nASxiJg0/bBBxqs1bSFsbwrTPTnuiBuOI/1iEXb/G+yPwf4MucGLIjuI32cJT + H+xBMOpm5BodRb3HppMTbdTPE8wAhsOJtFrP1ovrwIwKSybE4txyxOKPxs/EmGZSvODf583Z6y/L+exm + cRNtj1VFebQA47i/2ZK6O3SPG0R3+CMVx31aZduQQJ3CH+dQqomQKiROp3DibDfb84srtZdL9Xag3hcT + xtxpEeDuYNe926iPz7l2C8f8V2H+0esPsqPu51j+L7r4QNWeONfY9kRU37o5tp3eiwYMbpS6CkgTAx5x + q38SZuNxhRNnV1bfZYGo1SHO2VNRVmm0j5OX6DU7pGXRfKo29VMr1Cnzrxy5e23q4EHe7dNRx/u03auE + ickt1gBiTl69ZMIjblZegBRYHF5+NuERd8hv8Ofn7kusLqnBYuZmnPo9feO5TzRml03f9C3JABTzUmb7 + bdB1qoMv3tr+U3tMHbcP4zF5o3bnzb1HWFvljdteaHhQwwNG5FV7GolZySd+Ijjob6r0brOxrCwYISwD + GKVJPcoO6hCLmtWau4BbbCvAOPVzc7KT/C7hYQOMu/7nWK10pY+bB9BxqjWIsdgThR3l2tqOG7m/13OO + salWxZugvMsNoK63OZxql6lDUbM4jzZHynJoj8OJlGebKq7eOPdNRx3vvple5mg10rWme8IbpgbkuFSN + wqvtNNK1HvcRZ26n5xxjGTICKv0joLLYUiszhTieQ5m/nX/8cMnr/1g0bmfkJoPFzUfa40qQdu1y3CFk + 8d6UP1mXbuGOv0oY9U4LIS6190ydHfL0inJKlkfhxkl37Qa7ckgQqa83mxGSltWPifCYWbHlRpGo41Xz + RepVnZDeGegAI71Pz1cQer7i/Xq+gtLzFe/U8xWTe76C3fMVnp5vcwxdEnL1Gg3aA/uNYkq/UYT1G8VY + v5HXfcJ6Tt3fo2wXxS9xlsebPOWpDYUTp87FuayhqXXkCdN862V0s/z0O21PeZMCbKedl8nCEwg4SW2Y + DgEu9XYVYampiWm+5/ha9cyJEzsGNdhu5qvTVNXHqS6dMU3pdvOR2m2zOcfIFCK+JL1QDxBYUot1zB8D + zB895oJ+f06MaSqY11eg16bqOsIUnYaAnuhYbJ9TyiEzIOy6S9nhOMRVVpMvdSA165eoiTTZ1X3fNUSH + 44aUgBZnGsv94Si7N0TfQGE2Nb/wTLgnEIy6aeecgLDhpiy56r5u8P0O/rRk1DHYJ3NRvE/rtBKELedQ + gRWj/hA9kZwKcB3U39wirudAtRwAxw/yL5II4KmyF84PO3GAkVxodcz1/aCaftgOdSjEb/88/2d08eGX + K5rNQA3vaUv2Id8RzC5suAkLAttvmzRxP1UNMTztomHW77NRwyvoZUlAZUnQy4GAykEz7GneWKKZOsh0 + EU5l7r5u8LQFlT2gO5pUF5TTfHRGMy2W8+v1/fLbar2kniEKsbh5+jDCJXErpRC5qO5dPdzOvq3nf62J + aWBysJHy23UKtpF+s4EZvm6hfHQ3+zqn/maHxc2k326RuJWWBjYKeplJgP561g9HfjPv52K/tJkjO1Ae + aoKw5l7NotWCWHtojGvq2k6qrMNcHyUBB8T1NG0e1dRApqsdwqhXU+P6WJGMFmp6kzJE7dKOXX1CVCrE + 8bykVbZ7I5payHLJxvHmC0nUEKaFmnPdXMsaNFkcYuQNm1CDHYU0cOoJwEL+5U5/7/TXA9lzgCw/6L/L + 7Df2f6UOoGwQchKHUBYHGH+QXT8cC/WRiIWBPvIyIIg1zQEDM5BG7PLuMYo0gCP+4ybPtmx9T5t2Ylvn + tHPsISHAgmZeqjow6GalqM2aZsGo2wRYtwlGrSTAWknwSqrASiq1WXfbdNKguPu+aSAOi3vCtNA7FkCv + gjG81qHBNb/mzUrbHG6MdtlBcLUNbLgZPXmTgm0l8YwdiIXMqhWjOxWF2aKK54sq1CiYRvAXE0dGDgg7 + f1LeeXZAyElohQwIcpFGXRYG+QQr1wgk19QlN2+fSNtKHGcZEOCiVYkWZvvoFwZdFaW1GAjbwvlh7q+K + fv/cnXgp+yzP089Mc0nHWmSiPlxc/MIzWzRiv/w1xN7ToP3vIPvfmH15//gQERb16gxgIjTTOgOYaM2e + BgGudpjcjsDLimw1ccxfVoT9hAEU9souwi7eMq+6hzH3sXpJVR7hyU+0106Z20RwxJ+kT5w8MqCIl30j + 0fvYFjzCFuEuCVjVeHzzFpLMjgGJws8nBg3YmxQjPT0FUMArTvvZ7vLpr8DBNGLnVycGjdib9+DVCyTq + 8GN1BNWurPasSKDJiPrH/Fs310wbv1gg4iSNtEzOMcobnsms1IxDRLqtpm+UhgrcGKQWrCMcC7H1OiGO + hzOVDaBeL+e2OzwQQTWaVUlOzgGEnYw5KwRH/OR5K5iG7E05pJZlhwXNabFtqivBMPcsbKZNbrkkZiVP + RiO4489EVB7iH0dqEew5xyjv5wXhlRyTcmynaWNW0w0L0Bj84uKdO+++Q5paOBGQhd2TAXkwAnnwZIKO + s52qZl+0jSN++uQ/gmN+dv7wPAXovsHthTksaObWpcJbl4qAulR461LBrkuFpy5tepOMZrbnQCM/V1g0 + bOc2sSY84o7infpQ3ms5VMiKmDQvOM3nXAHtwYkBGa6v8/WX+5t2a4QszZOofjtQKhiQNyK0S4gIBw7r + DGBq3oSi9nttFPKS5qZ6BjIRdrA2IMCVbHKySjKQ6Uj/ffaIg75qzoAAV3MeTEjx8WkmxyNOOYypgLiZ + GhbX5BgtBvlEFKu3ldWr9DU9t5k47JdD+KbTwJGfWMC8P9JztGQAE61PCKyP7P9abuuLZv6C7OtJwNr8 + /WK72ZCtPYlaZVymVZKAVbxPORRTy6F4v3IoKOWw7ZPtD1UqRJq8S2xch8SvS37BtXgjQtfFz5KLgrCP + vAOCTlHLzxKGswUNZ3Ni1zHL66yrJSj5zIU1983F5eX5P1Uf6hBn0ydMTQz1nabzpr+3hwrcGKRnrBrj + mohPSA1Kty0eZsv1N/KrAg6IOKevlbcwxEdpDSxOM979vrgj/t4BcTwqs7aPoIlzAjAO+pch9iXubk6q + OJW0tHiSHwliBEjhxKHct55wLFX6JKsaddpknjc1cp7W1FsIOpxIIuyeirF7KkLuqcDu6XIZrWZ/zps9 + qon520VNr9rWJq2qsqLNODikz7rja3emtx0DNh9TnBoG+cSbzDh7rlanTXv7M2iHk9kcbowKrjMqTGuz + H277kaA4dc4yHost++c7sOlu5vWpt6qHEFeUqz9xhA3ps5ILFoC7/iL9OXyr2eKPGsI1mFHkH9m30GYt + s2pZPi3uOXnOZgGz+g+uWWMB83J2d8NW6zDgbnYqKdl2Ezf9zfF85CIzUJiNXGgs1OslFxuIByI05wPz + EmNAvV5eslj8eAReAkESK1Z5UIPUfVx9J9kHzPJVamlJE5KUrXUON0bbDVcqUY93d2B7dwfLe+TkuCOY + 16o0FmXBrpgB3PbvyxfVqhO2JbM50NhtL8cV67jtF7U6PIBh1kDTKWJOGgyUZZOtLbU4nRjN9OdDNJvP + bpqzKWPCiToOiDiJp3tBLGImjVhsEHGqLsz03fABFPFS9s9zQI8zes3q5yjJqnRL2f18zINEpIzLLQ4x + loeUd9EK9Dijp7h+JqykRXgkgkgJb97YoMcZiW1c18zL1gVIjDp+Ir3gA7CImbKLrwMCTvXIm7ZPD4AC + XvWmkqz4q2dOTafDiJubwhoLmAu18zY3PXTYdH9SLx2tyz8ISyEMyrRdLx6+zJfNTW2Op6O93IMJ0Bjb + 7EAs4A6Mu+ltlkvjdspaABfFvXWVc70SRb3dfpeUPiEmQGPQVjwBLG4m9hIsFPU2j/oPB9p4CVegcag9 + BwvFvS+MCgXi0Qi8OhwUoDH2ZcK9uwpFvcSejkni1izhWrMEtVaUU9shFjWL8DwupuRx9aWQGqDnvRGC + 86Mp8cZS27HyK0zNAEYJal9H2lbufcDTP6Sm8dcyQXd05E4yaxa0VuGVfbfc07s9UF+n+dvnrIhzwl5S + LglZF9QGq6cwG+sSOxByPpJOfLE503iTbuUd/xSL9NdfKEadA42qlDKECoN8zR2j+xoM8lHv8kBBNvod + 0TnImNyS6wUDdJyqB8spMBYKehmJecJQH+8ywVLTfca6SQNoObOnVNB+dENAFnreHjDU99f9Z6ZSkqiV + elcMErKSs05PYTbWJcL5pvloRVnFZlCYjXm/exTz8tLyRGJWRrGxWMjMteLGP2lrBC0ONzLvlgbjbt4d + G1jczE1fnTbt84LVrmsY5COnroZBPmqKDhRko6eizkFGRrtugI6T265bKOhlJCbcrmsf8C4TrJ+7z1g3 + CWvXvzz8MefOodosYk5/HsqqZolbFPFSZ9oMEHFynzeAAiQG9RmaASJO6hMuA0Sd9fEQbeSQJ6qin80S + c2YIxzMeUbxTREGOqF71bU6ofK/QvdB7DQfx/T2SWdeMxhPvE09Q471HEoM+4AqaSXtOaT6BiPP5e7KL + 9jxtx5rmrzcBz+IcGHQz6vivnpUdp8+Iz8c0DPURW02ThK3NCaocaQOCzu54VIa0I0Er9QnYV2yVzFfe + Wpav2EqW7gNapu8h0EV8bvMVWZ/S/Z38ZEXnQCPrSYfNwmZeCUfLNumlfxNzfOw6yFP/cFIRTj31Yky7 + WwFDacKOm/GbwV/LuBvunXj4NI8E6cxLk7Jsf1yvri5kE/SNZOsp2zb/dtF8SLOdKNfGWhNhgIgzobV4 + OocYqTW0ASLOdkew77S1PS7ts1cijso4PUR5vElzfhzTg0dsvrh/2p0TmwzMMRKpuaTASJ1jJBLjaTHm + GIskRCTivCauUfN5PBH784NCklGXILGIrb7O4cYoS7jSKMOuVLxTuRGTy02zf9O23YtLrcTihjMkE2I9 + pcWwiUBwUMPmia6SRNZa6uukjV1HPNMiHo6b9OfhPWK2ppGoITWhmFQTineoCcWkmlC8Q00oJtWEQqvB + utQO/GWGiRD1HW6fq5seP6QZwHUT4r9X4PGIwe2PGG9/YiGIDzg1DPVFN6sZ06lQ3Ntu+8ZVtzRuX/Kv + egledTPxyWg/Og4ycpoFpA2g7A+nMbCJs9smjEN+NZMVEsDkgQhJSh9ZahxuJM83OTDoVptxM6wKQ33c + S+1Z3NwsCU1pK/8gHojQLc8nmzsON/KSQ4cBN2usjIyTm9Hn9FNDbQ41MmrBE4g5mfW2xmLmJfdql9jV + njPT9BxN03Nump7jaXoekKbn3jQ956bpuS9N61yosqGWMtD2JfRa4GhRFb+y9uH1OHyR6Hvy4gogDqMD + AfYd6Hu7OyRgbTvQZGWLoT5e5auxgHmfyb5a8RTSkXAVQBzOfA48l6MmY0LzMuDwReLnZVcBxDlNh5Dt + J9Dj5OUZg4bszS4W7bGYdLkG4+72znDlLY3bm9vBlTcw4BbcVk3grZoIaNWEt1UT3FZN4K2aeJdWTUxs + 1ZpdUolP0QwQcnJG/si4vxkEs8pfT4LWvxm/2HkC2fyZlXpIyhH3qjcxwPdCXrysYaiPdz80FjdX6VYt + 6+PKO3zUH/QLdIcZibUKH1l/z1l5D6+5P/2VuNhHw1wffXEstm6fuRoeXQfPWwGPrX0f/k5MPQOEnPQU + xNfQq208270bojjPYlJ3wmZdc0J+J2mgLJvaVSpORXR+cRVtN9tIPMdNK0WSY5KJsaJsf5B9j4y6o9Ek + 4fg1qFNf3+EXdxpfvO0+2uTHtC5L2osBuGVqtOjqfeJFV76IdRU97+NTavAjmh5PxKftnh1Fsn6zHOIU + SbMpTUiMwTISTQRk/o4fiSBz5/lFUIzGMCHKx+AoH7Eo/7zg3/WWRcyq/AbXgLZkYqzgGtAnHL+GkBrQ + 1YzH+3j1y3vE6zS+eO9QIwEeT0Ru3uxYvzmwRnIsI9FEQGb010inb/BrJMMwIcrH4ChQjbR9juX/Lj5E + hzJ/O//44ZIcxTEAURJ5JWmSfgyrnkDL1GhBFdSoEbiK4pjn/N9q0ID9Z/iN+zl65/reIc3dY4ivrli+ + uoJ9KWEHYRODfeQKEO2NtR+UO9b1SQzwyQ4A5360GOJj3I8Wg32c+9FisI9zP+B+UvsB5360mOvr2nKq + r8MQH/1+dBjsY9yPDoN9jPuB9A3aDxj3o8NM3yaPv6cXG2IvaaBMG+OFO/BNO9V0EHNIh7ge4p3sEMBD + 22+rQ0DPR4boI2ziJNOJQ4ycBOs40Mi8RPcK1fHBqomnyE6MaWqOjG/m2jZvpOOpAdZjpj3Xt1DX287k + 8a5YZz1m+hVrKO4tN//ieiVqep9j0VRnz3GVvMYVKSVs1jSfDnVvQ0dx/lRWWf1MqrgxBxyJ+djff/q8 + /gXWw36XtuwJaSs5+XWbv6Txlw7f9PKJkoYxTe0x7SH3GzZAUZj32neS/PAx6z7brGmuthfRLx+olfdA + uTaGCvD8QnNYeY+ab9w8o+aCLn4hOiThWmh9LmgOqp0NI1ok4VguafMxLQFZIvqv6ijTpqYK1LxBs7B7 + H5Myjs3C5q7MqofIVcLRGwI4RvvZ6ZvieFDb+6SsaIgKi9scH8N4Wwk2aFH+Ws/vbuY3ah1O9Lia/U48 + mRHGvX7CA2QI9ropK/lAerB/XjysSLvy9gDgiAgbOxjQ4Pp9fjdfzm4jdWLsinSTXBKzTr81NocZCTfE + AWEn5S0Ym0OMhDfsbQ4xcm+P5+60i+BLdUzMHWHA4FH44rzE+TEgRoMjfl4mQ/MYN4t5clizlJLlbEjE + KvrEL7j3z1T44vDvn/Dcv9Xjp/VyzsveOoub6ZljIHErI4to6OD98sfN5F161XdNUm0HGBcJRdAhjqeu + 4m1NFDWMZvo6u55skN81Sc5+XDYHGQl7cRkQ4iIsLrM5wEjJ9gYEuCgLJQ0IcBGyt84AJtIOVCZl2UgL + DwfCsiyoqbRwU4i4yFBnLBNtaaGGWB7KKuke0BzL1Uq9cBpPL3k9YVnSgmppCMvylBZpRZwLcUDLyZ/y + QnDLz51oAWHbXeZvH2VhfUmn7xvrgKBzf8wZQkkNtsVq9Si/Gt0sVuvo4X5xtybVawju9U8vwyDsdRPq + Ppge7F9vJk+9yK8aHK266wHTQansTt83DesqLsSurPYUTQ+ZLlplNxC65XI6fmlw1PS8dNPzkpiel056 + XnLS8xJOz0tyel666Tlff7m/obzIMhCO5VjQPQ0zmJrhwvX93Wq9nMnCtIq2z+n0zeZh2mOn1FIg7HFP + zygA6vESaieI1czyk8+0JOgJ29LsckY7wNcBQSfpIG+bs415OX3T44GALNEmK+kmRdk2yu08AZpjvl5d + zx7m0erhD9mpI91MF0W9hLxsg6iT8sMdErYuos2vv6hOKWGKFeN9Edr3NPkRWh6LwL2JC889XDSlQvYu + Cd1SjMci8DLJAs0jC24WWfhyiAhMBzGaDpRXal0Ss9JeD4VYzXy/XlzP5Vdpec2gIBshB2gMZKLceR0a + XPef/ivabsQFYb2Khlge2qSUhliePc2xt3nShu0DYVoS2i9J7F8h/yNRWTVL1GoGQXFZKOrdvIWoO9q0 + N88QKKfAGpDpoh3YORCWpaBmzpYwLfIPF9vNhqLpENeTF1RNXrgWwkouDXE9gnw1wroaqaUmcYe4nvpn + TfVIxPQI8h0XwB2XWqqmQ1wP8V51iOZ5mN+pL6m3iOM8H5Y3iWhbFpMHgyMaN97mmOVqf7V2R11BjWPh + rr+pvkVK9XYY4iPUuyYG+ypS6+2SgFWmdfZENjYUYDscZWXcHE1DVg6o6+X8avj3Pu3rbE92tRRmk3n4 + XzyjIlFrku12TK1CXe9zLJ4/XlCVLeXasvjjxTY+RA9UYQ8CTvXApNlIsSRbB9T1tiNxVQPICmBfJsec + XoFADjfSXtZl5ZbqbinMRnrKB6CAN90n9CLaUq6tKJnVSA+6TtmJ5SRkh7k+UVfbWKSU7rhDglZGOrYU + aMu3cc3QKQzxTX8SbmGgr+AnYuFLxYKXjAWWjgVhq24Lc311mZev03c9sjDNt/4yX1IXnxkQ5CK1jQYF + 2QgVjcZAJsJ43oA01yEt4C7iZDFqwKO0L9uwQ3Q47m/X6rL9He76X2RUwly8haG+qDjumU6FDt6H+ddo + tro7V3X05JGMASEuysS8AwLOV5lDUrKwoTAb6xJ70rT+dfnhn9Hi7vM9OSFN0melXq9LY3ZWcgC46d+8 + 1algXblJmlb5n9FWlrlNPP15pM3Zxu+yR7YrabaWsUxlpA7Xnd4qGZDpUvP8apX/9eJB1sNNQlOsAG76 + D5XsiFL2YTQg00XN825Ob+71zRfazq4OCDlXs4f2haw/pj9pgGnYHj08fiJskgqgsJebFCcSsM6vA5JC + h0E3NyF6ErCq8/h+IxsbCrFdsWxXmE1+ffFn85oJtYBiDigSL2HxVOXnAm8eWAaVteVIWVOfN6vyuPIT + DLu5qbz0lWPVRpKNCkJc0ezxL5ZPgZjzennLc0oQcy7n/81zShBwEvsPcM/h9Fd+O6PDmDuoDDgGPAo3 + v5o47g9JIk8bpD4PaodsARojJIF8bZL6nNcu9aTHesW2Xvmsge0U4sEi8hPen+phuWY0zyyDy+5yQtkN + asdsAR4j5C4sx+oHVrt2Aj1OVvumwz43p53TYZ+b097psOkmT3YA8xztoJzT1JkkaOUWFABH/Izsa7OI + mZ0gcKvWfsht0lwatrOTA2nJ2g/JzZiGYb4rnu8K9YUkrCWYEINyxLBXgsbiN8WoBIzFzDCe3BJyI7z3 + YBlWnyzH6hNuk+vSiJ2d2ktvbUVtZgcKs1EbWJNErcSm1SRRK7FRNUmfNbqb/w/frGjIThykIrPm/Z8D + 2m58nKp9HlbmRkaqxpfYpcM3VjW+EZRQvnY9ZLgKG/AoQcnkbedZQ1YL9Xmv+N4rrzc04Se0/8DXeH0A + ROSNGdoXmDQu174akMFGclfojRq9R8vw+mo5pb4K6yv4x+fGd4LuxnK0VuT1HeAxuvkZrw+Bj9Ktz1l9 + CXycbn3O6lOMjNSNz3l9C9ugRZHF+/wievg0V6tNJpsNyrHRXmAxIMdFWeqkIY5HPbH+LuvMuEiibVpN + X4yD8U6EZmsHorVhHFN3qh1hs0MHNJ2X8lb9cfP5IqJs3eOAHme0+jI7Z4sb2rYfNumFekmTfD47goN+ + zvnvCG76f4s2xyLJU1VjkLKaASJOlf+yXbaV5YXn1gV2DGqB+w0ob781xYX+008UZFO1Gc94IjErPzkh + AxQlLMKYXZ3EHBbBNthRKO+6DoRtUSt71PnilNfzXBK1ks5EhFjM3JXyNOHJexz3v6R5eeD7Oxzzq3vB + lbes3zwrknnYT3A9ZkRrAEKuoyDeH4HWHLi0305YJ43gtr9r6WjWDrJdXYaluTrIdp120+oLAWf38wkq + O267z9Y7RPWInJiqf6jeJSZGOGGgT/B8wvTd3y6uv9GLjomBPkJB0SHQRSkWBmXb/vtxdsv8tQaKeqm/ + WgNRJ/nX66RtZe9/hOBePzU10F2QgI/JqYLvhNR9/nX28KBI+mVrJGblpLWOol7uxfqulZ62GqlZl/d/ + yWSfL9dt89Tsj75a3N/REsNrmRKNkEQex5RIlITzSexYXSrTk00DESc1cXoM8ZGTYOAG43J2dxN1bxBN + temMZZJ/SeM3kqhFLA9hJuz0fcvQvGJCcjQEZIles/pZhcjU7mnqQCHC8GlEY8Ujbl+gM5YpfaKloPy+ + bSjiTZ5Gu7L6Hh0LEe/SaHPc7VLKRnGjIivmLpNfpGyxblKWrR1YF0m0T+vnkpYeFmuZm9fSVViSs6cs + 26GcfpBaD9gOkR6TkpHtddByijSlJZoCHAf/HgjvPRB1XB9pv7VFNM/15F1j5VcNrrk4wlhGQzSP/sCK + sl+UA5rO09MpqlLnDOP/RucfLn5RGzCoXe2j+OXnBcEL0IY9elitoofZcvaV1lMGUNQ7vfV1QNRJaIFd + 0rSqF40P37fiXA5v5V9/Urw2a5o32fQnLafvW4Y8K9TJQ9H095wtzPQ1m8XKevBAuq6BgmyUkqhDpos4 + h6MhtmcXH/OaWuc5pGklzgppiOnZ5fETKekbwHIQi6lbNvX94wlb/AOox0vNZA5su+sP0baqI9p6JAAF + vAlZl0CW/eGcLpIQ6PrBcf2AXClZlAKWXbyty4qe8B0HGLMf+wNZpyDARayETgxgKsieArDQfxj0q36Q + LT8ciyyltFGTiYE+2YZGsoWhVh0ma5ozEZWH+MeRlFl7yHQFnCuL4IiffAwGTJt2YtfG6c+oBKa3fgNl + 2rqjD5ueTrPQIrqfzR+i/dOOVD95NGPxVN8tPNzJMhateSoXGKt1TIp08Q6RLvBIRVmk3AiKhc1tF+4d + cgMoGo/Jv0euZWK0i3eJ5twp5onIIAy6WTUUfk5P8ynlmL8ecBzNZTN6/RYKexn9dQuFvU3ftCr3xMke + 1IBHqcuwGHXpi1BTT2gBYcvd5hfOLTVI0Mq5oQYJWgNuJyRAY7BupoubfsEfEQnfiEgwe/sC7e0LRg9d + gD10wevPCqw/S1nbdfq+a4gOQpDbQAMEnFX8StZJxjb9ndIsf1tt/vFAOTlpIEwL7WSHgYAsAd1CUADG + 4NxRCwW9xLs6UIONstrYXFus/kU7ImwgLAvlkLAesBzkY8JMyrLRDgrTEMNzcfELQSG/bdPk9O0Zx0RM + 4xPieMgpM0Cm6/JXiuTyV5ump82JcUzUtOkQx8PJgwaHGz/l5fa74Hpb2rHT72UPGa6PV5R8Lr9t0+R7 + 2TOOiXgvT4jjIafNABmuy/MLgkR+26YjWknpCMhCTmWDA43E1NYx0EdOdRN0nJxfDP9axi8FfyWnjjA4 + x8hKMye9Fg9fZqsvEaHF6gnN8jD7Y35BPqfbwkAfYSLTpBxb/2xoL56ISh11vGrP1VR118hajdSspCVY + 9uqr9t/Uba1NarCtl4+rdbS+/2N+F13fLuZ362ZSjzAKww3eKJv0KSuiTIhjXGzTgGCmaELMKk3S/YFy + PucElTeu/Hsmnt/jx1qmKVHf5ec6Ln9kQg2B4F4/ocaAaa9dzQKIqgosA5oFjqbOy54vQ0qbafBG4d4R + Dff6VYYMCdDw3gjMez7QXrvK2Ok+IEArmBCDMrT3SryxVO7bp3WsprICs5etGo0bUHZcCxxNsu1/cPO1 + IYBjtGff9rPZpyTgRENUcNz05yGtsn1a1NHLOSeaIRiPITsp+01onEYyJdZLeah24dEaDRyPmyXwnKAv + OeKYdR6OwKzcjFrtcTVftgfAkpLAwkDf9PGRAYEuwk81Kc22/nyllolM3vmhByzH4Uh0KGBw/HVxeXk+ + eYeX9ts2rfLEIc4qmuVEObbuaVDzrKmrbohmwKBFufzwzz8/qvdz1GYB7eN/yuGWGA9GUPuwhEQweDAC + 4R0Wk8JsUZxnseA5WxY159n0F/cBFPVyU3c0ZdtPI/E9RC5x0E98C8clQWtykTGMkgJtlFrYwkCfrMAY + OklhNsomay4JWrMLjlFSoI2bN/F82WYq3u/uWdBMWu5ic7gx2h24UomC3pdmzWLB0HakY+1OzpMthki3 + lJkGjHciyArhnJG5ThjkU68aFUlcqTde6rRQ02KCrocsYDSZdseU4W843BhtyjLnaht4xB2RS6DDeyLQ + y4zBeszH7XNcsd0N7dibCoBRrfecYxwyDasCsXHHr+pqeqvWUaCNV8I1ErbWlHdWHRB0ssuHCXvc9Btm + sI65XVDJ6OkNoOPsUp2TbXUU8NbRtv5JVjYUaOO09j3nGpuMwfrZA2lao9nt7/dLyouKJgXZKEfemhRo + S44cW3KEbdTE0zDQR9n3x8JAH+dGYPeBMC9hUqBN8H6pwH5pMwmb8IwStJ3r9XLx6XE9j1bzNTkVLRh1 + b8tjwVU3LG4m7Z0KwiPuaPMW3S1ugkJ0jgmR7j/9V3Ak6ZgQqf5ZB0eSDjQSuf7RSdRKr4cMFPW2b0MS + JvUx3h+h3PxLtqQhMVqDPwrlIFmMRyOw6whP/UCucXUStcoK7zzknva8P0LQPdUMVpRmD6TZ41/0LG+Q + mJV4GzUOM1Jvog5iTvJIyEJt7+LuMyM9TxRka0Ye2VMR18eKoTVwyE+9Ty0Dmcj3p4MgV9OXKJNsl6UJ + XarTtn15S9+z1CUxKzU1Bw4zklNVAwHn1/n6y/0N79drLG7mXO+AAt44ST5EVfpSfqdmBQuG3edqZoM6 + 3+fAsFt9ytEqDjC2L2+KY1anG7JWhyE3cWzYMYApSfNUvbTI+OkDCnmz3Y5ulBDoomxObWGQ70hPPbcX + qv7KKphIiWz6WrIXrbYSJzt12OMWaZXFOdve4pifN1sO8ViEPBY1bekzxmMRCnkRIREGHovA7B04OOyP + lvM/7/+Y33DkJxYxc6qIjsONnOG0i/v91EG0i/v92yqrsy2vWNkOTyT6rIlDe+zEZwE2i5ib1ZsVS9yi + iDesIhitB5qNTOhjRYdG7GGVzGgdM9QR1OfZsAGJQnzPAGIBM6NLDvbG93G9fSarGgqwcbrJcP+YMYQ9 + UZiNuBLAAAFnMwcRUMAsHosQUAgsHo7A3MjPo0DitBUVaedbjEci8GsjMVIbiYByLLzlmLIxggEhLuoj + RQOEnCWjl60gwEXb4sDCAB9tswMLs3z9junkp5MGiVkDnoogjgmRqB06xIFGoo4PDRK1kseK2B7+1ofN + IVecLiis8MYhV0Iu7vUzJs8hARqDWwR8JYDaN0DOMLA+E+F3VUy5qyLsroqxuypC76rA7ipvXhibE2bN + 3iIzt7f39388Pqhahrzq22ZRs/zbU1rRe5OgAY3S9U0Y00aIA40kjvRM4tCwfVtXrGtXHGyknB5gc4iR + mo81DjY+x0J2+7KKYz2xsJly3KfNwUZquRsw2Ceej3VSvhYc6Ym1zM1K5PndermYk3tSFouZvwV0pjDJ + lFjU7hQmmRKLuswEk+CxqJ03E8W95BJqsbiZ1bECeH8ERiMMGvAoGdvuKxPUusFEca9I2Zcr0trrDbqb + YvRuiuC7Kbx3c3G3ni/vZresG6rBkLt5XFrU1Rvd3KNeL7vytA2jUVjVpm0YjcKqMG0DFIX6CPkEQa7T + k2DejdVp0E5//KtxoJHTRiCtQ5vO9IczNgy5eW0O1tq0ixKJj2MMErFyb3yPYt5mm392ibYNo1FYJdo2 + YFFq5tNOSDAWg/1DavSZZ/MVNS6gixWF2aIyT3hGRUJWTqMFt1WsngfS5yiLNM8KRmHuQMhJH/wPGOoj + HOfjkj4r9SmVDUNuVh/O7b3J3D6/bt+vVm/k1bJOok3aQAI4RlOTqj9w/D2MuulrvS0WNmfJT+4cDWiA + o1RpXWXpSxoYCtCMxKM/KwYNcJT2KQ+jgwDwVoQHdaY9uY/QU5CNWuedINvVHld7d3/DqaYc2rY/fuL9 + 8oGDjcSNFDQM9X1ot8hnajsatmesi82QayXf+R6DfYKXlgJLSxGUlgJPy+XD/WpO3fFF5xAjYycSm0XM + 5LclddDjpK9hcGifXYTphd/fPGpIuPqW9tuDrr8XeGLQ2wiH9tgDEsebMnV1FPyrbmjETq9Ces4yqh2f + eM8LDRKzEmtijcOM1NpYBwFn8/JDXNcVWdqTPitnXAsJxmJQx7WQYCwGdcINEsAxuAvkXXzUT174CSuA + OO2LKYwjx3ADEKWbEmTlWI2FzPTJxAGDfMQWvmMAU5/0rJtn0ICdVfEhdV7AewwuDvvPo3QfZznH3aGw + l5elTqDHya0CLX4kAqcCtHhfBHoHxMURv5E/BSuGqRiLExgD8x+OG06lN6CIl79mHzRgUdr5EHpHHxIg + MTjriS0WMDO6WGDvitOxgvtU9HmNnsJs1MlXHUSduwPTuYNaKRFelsWUsiz4ZU34ypoILQVivBSIgFIg + vKWAvKr+BCEu8qp6HQScdUmf3NY4wMhYCz9gjq95v5H/HjkkwGOQ35i0WMTMfGPbxTE/uUfbc4iR0fcc + QMQZ8sYx4vBFUpsSbGO16d0N9Y0lj8cXsV0ve3fcb9KKH0+34NHYmQl+v9f6lNc1hhTjcegdZEgxHoe1 + NN/jGYnI6ZgDhpEo1HeAAR6JkPEuPsOumN6L6znEqNrddyjkrsYTL7iI2xIr1mrxO73uPUGAi/zc4QTB + rj3HtQdcxNzVIoCHmqs6xjat75fz5iQ6zhMgh0bt9DtroKi3aTfIm5AA/EiE5zgrgkIowUiMY1Wpc2G2 + xBdAcM20eIxtD7wmf1T6Q1FIMBqjSQHicAG1jEQr82z7FtX8HG5r/PFEXVZBkRqBP4ZsftWjLuKuWJjE + F+s8tGydj5et8+A8fj4hb4f+kPHfMZTtoArP0HjjpVVVBqRay49HkMO8Q/0cGqe1+KP9pL/tABrGosiG + tl1nGxaq14zEO8iqI6u7KiQopGFCo5JfqjNR1Evu0+gkaj0cq0Mp1F71z7L7yb1wy4JGaxbvyMZXMOP0 + vD9CSDsqxtvR5nVsfi1zwv3+gPpSjNaX2pYoATE6w0gUfu3V894IIfWwGK2HRXDNKCbUjOo7uzx+CigX + Le+N0JXSgBidwRulzvYhIRTu95NXKQG8N0I75RxtNwFRegcaqev/qdOFtt+ZkQwHGunvtCqZARQKetXM + NrMOPKG4lzXI60jUmpfld9YQfoBBN3P0jo7ctd3gOdWBjuN+bgs5Mspshxzy3jKvvIM9bl7foWcxM/dN + BUiAxlC/jZm5dRz3N+uxAgKc+JEIzXAvCQrSKkbiDNOvQbEGDR6PPb+n0ai93ZSJe1c62mtnD+FNARqj + rf5CSrahGI3DLuW6AY3CeBJtwyNuXt/habTfkJexaova3MxJIlMAxuCNM7ExZjOcki1opgLGedDkGerC + Ip+z27kBxtwhtbkYq81FYG0uRmtzEV6biym1uXif2lxMrc1FUG0uRmpzfSvRQ1w/C2YMw+GJxBs7+8fN + IWNN/zhTBLV1YqStE6FtnRhv60R4WyemtHUiuK0TE9q6sDH/2Hg/ZCzuH4eLkDZa+Nvo0PH9+NiesYes + DlrO9fJxRT7FfqBAG6d+NEjQSl5TMGCoj76w02IxM+MdQ4tFzfQVPhaLmum1tsWiZno5tljQTH3rr6cw + G2vO2qEt+58zxukvJwhwER+i/AntsKX+SO2Hd4xtmi8Xn79FD7Pl7Gt7KhPjQRgmGY1Vxxvi/pqIYyTS + efRcEjMwrPDFUZVfxSiEmMQXi54hbdpnJ1fVDj1mp1fcsGI0ziFNq3eIddKMxGNU7rBiLA696w8rxuIE + 5masZTG+xHm0DAl8MRiT+wDvi0Cuji3Y51azDXy5osfsjJcwEcdopLCauFeMxskOgVGyw4QYUSy2wXGU + ZDRWWC3WK0bjNE13lorAWCfNSLzQmkxMqclEeE0mptRk6ksqb75DrF4zFo8zgMckY7HIj+5Bw2gU8mAD + VvjiNJ1G1kAX11jx2O+eed45az6q0uaVRMbGwC4O+ZvEY+t12rWT3z+C35BrTkygd1MHDPSRm9kBs3zN + 6ir+ubAuDvoZM0k66DhVuPg7cdpjwEDfNmbYtjHoovdRNA40kvsiAwb6iH2OE4S4yH0LHYSd9Gc5nic4 + YTvEjO0O033OaN4MErTSmxiNs43E7bXdnbXlX/pl5eQm1oYBN8sJuJjvI6PvITN26AF356G+x+y+v9zU + EPRJlQGzfPK/Eu1EnFj+i3GyDmpBonEWKFmsbaamCJAWzfxJfKyfSzlGf+M8ngMN/iiyOqHO34MGfxTG + PQUNUBTmG+/+N93bebOynu1qzj04kYj1U7qjvl1lopC33d8j2mS1qBmXbOCQn/1q7thb9wF7Z3n3zWo/ + 7PYl4eZzk4ci1BuhLiHOn+j2gYXMR+pWMj3l2jgTV+jOYc0H5VYc6DpFubZI25iW6tRZwNwsD8qKXUn2 + 9iRgPa07ab4TV2lMtjuGsSjUg8sgwYQYUVq8BMdRkrFY5BPjQMOUKOE/6WTxRDv1z0Nuk+YAInHensHf + Jgx6h3DkzUHO/inwvikB+6V490kJ2B/Fuy9K6H4o4/ug8Pc/8e17wt3vBN/npN86MEmTpvU8ivgp5cgt + BRan2TqNPqEM8EAE7onmT97TzNWn/KTxpQi36+rpufI7rr5+a7NyM08LsrPjICN9jzx0L8qnkD1pnvx7 + 0YTtcTm2v2XQ3pYj+1py97TE97NU29iwM+3ek2v3/Gy7x/PtXk36RHHyL5qzxyyfM29BnisDDaNRyIdX + wQo4jso33N9xYj1m7rX38IibfAwXJLBj0BpsZ6WGrJ+yhP40Z8BAH/lpzoBZvualmNP7GPQOvouj/gA3 + 6uVfMny11IUu7toWNViWKU3fVlcHLechrkQa7apyH22Oux2xtnVo297uL9Q8BKCJNRB25ulLmp/mwZKU + Y7cUvjjqc0YfG3HAkZrPtV2gOJFsx2gk+qJVxDEW6ccxzrNdJpv7sGiDB46o9rKiz7/bsMfdXEVzR9kR + BsVYHNaiItQyFu0oW/F3CmmoPHHbosEuWbbDjkSuKsE6krPzOLLrOPewR/ycR9Ye5sj+5d2sP+MBo0Fa + 1m7lTLNEmyTVQcvZrsvjjBAMErEyRggmCnmH4VmcP5V0ucn7I7zE+TENCdEI3BisWUd8px4RMJcivHMp + gjvrIfBZD8Ge9RCeWQ/mPv7oHv5B++aO7JcbdDbAyLkA3DMB8PMAyGcBAOcAsM4AQPb/H0pXciQOhE0U + 9dLbO4u1zdrtIg/ebdjnJg/fHXrMTh7AgwYnyuFQVmqnqH7OmBjD4a0IrJklZF7p9GdqV0bjbGN7KoU6 + UIJmHDjb2CyDpXcVNM4yMlZ7gus8GW9Og+9Ln95ypm7ypXG4sduVVNSyMD9x9YbEjBXXvJMSdQ43Mp7r + AbjfT3y+B+B+P/F0RAB3/Myz/kzSsTbDNNUn46WKjUN+ziXDJ8lpH/AyifcUOetzVmJ4cwj//DgHNt0v + HzlvBwyUY+OtVTVAx8l4/j9QmI2RDRzY5yZmAgf2uTlrAWADGoWc0Wx2MMcXWfT7/G6+nN1Gd7Ov86lW + mzONiwcJL+erFUXXQ4grurtm6SRnGrMDYWuQHtAcmyyqU9kj2cRJdCxe1WrhOt3Lzl5cTe5DeCX+WK9V + WTzJTsxTJggD4HETEHWblxs5Uoyq8w/kOBrrNZ8HmM+95osA84XX/DHA/NFr/iXA/IvXfBlgvvSZr/ji + K5/3n3zvP33e+CdfHP/0mTcHvnlz8JoDrnnjveZtgHnrNScZ35xkXnPANSfeaxYB1yx81/xzv+dXoQr2 + u89D3Ocj7qALPx+78rBLH7v2iyD7xYj9Y5D944j9lyD7LyP2yyD7pd8elOwjqR6U6CNpHpTkIykelOAj + 6f1riPtXv/u3EPdvfvdViPvK7/5niBvqQTSDddltbvejSrIq3danlcTkWD4ZELvZ0yMsoqsA4tRVvFfP + 34uU7B9QwNuNOKq0PlYFWW3QuF3U8fSJVxD2ucsDX13qvbtUnF9cPW33InuJ5D+i75PXYwCo1xulxTb6 + eR6g7wxIlCTdstySQ4zpdtOE3OTl9GVluAGLIj/fi6fo5y+8ED0+5r8K818h/u/JjiWWnGG8uPyVmw9t + 1Oul50PEgESh5UODQ4zcfIgYsCicfAjhY/6rMP8V4qflQ4MzjNG2rpr2ibBSwsJM3/NrtN1s1Q+o3g41 + RWmSrrWuPl6cPm3vraDqAYUTR+ZMxpV3lGPr8iLDqJGulWdEbO2uZW2iELOBS4P2U5Lz7Bpt2ouSn9ts + FjIH5jhUAsRi5DqdA4zcNMHTIyCfQDwSgZlXIN6I0FWAz80uab+SDr6EadweJB9zy47+28v0p1wYD0Xo + Poqey6ogPN9AeCNCkUXyS4xsboKQk57RTVBziuI8SsooTibvkKYhlkc14ZQV8wYEuEh5SocAV5WSjp62 + OcAo4he6TkGW6ymVOSfOs7/TpFkgVZdRvSeJQYMTRR3QUmbbVFYZuRyXTz+TE+OBCLsszZPoUNPdPWlZ + szrdR9tyv5F/oWcuh7bsVbprHlKrwtbMkDQjacp5jCMaLJ6qtssi5UXpYMstAu+wGL3Dx3rLzKEGOVg3 + aXqM9mUiC61aeatWi1eUzdIwXouQld2sl5DdEOpptDBt2ndJJJ7LY97MGE1/Jg+gplftIihzklrWqZKt + uwD1pzhJSL/AbzKjqg/paTRQrk2tWJf/TdV1mOYrolhta3TcyAJdiJqUTwDWNCdJ9FpW0/dF0hnDtC0P + b2TVABmuRHYwOL/V4Axj+vMg7ztB1QKGY5fVQhY48o80ONOo3vvcl0X9VO5TQhFySJ81Evs4z/nuljci + PMX1c1pdEpwdYVhkklRx8ZSSE9QETadQO641VTrZaqG2t0rzuM5e0vxNrfQn5UuANuz/irflJiMIW8Bw + 5Ns9q8wYnGlMhYjq57jQM8OSogYFSAzq7bJIw7rP8rxZSCK7P6TONMR6zLXsfVLODUQFVowik0Uues2S + 6RvU25xpLJP2FGpG/nBY0Ey9ewbnGGXlG21i2a25YF8ypADjqKxJriJd2HF3PbMPbXHnh0E9WER2kjk8 + GoFa/zksahZy7J/WQQF0hRMnF8/ZTh25zUwjh0ciBAbw+PfHPKRxxxROHG5/02FBM6e+6DnHeDz/lX2t + BmuZZVErPpB8DWFaZGKzakidc4xqaB//QtS1EOy64riuABfjLuicY1RpSpQpBPQwOq426njJBfDEOCZO + DnFzRynzTNG8eqy6neXmJSuPQvY65Q07lEL2OAgRRl1m5KKZ52CNZxzWMB/KV9pdawHDUalxP2+8YaOu + t2tzmu9QxTprmtPkuE1l0mxJzoHCbGoAdchjrrbHLb/I/makrYaZvq6lJQt1DjCe0rv5B9lr0JCdd7nA + 1YptXNe0XH9CTE8zpUm+Lh2zfDV7hOKwjlnUcjy0ZVytiTpejhAw/aiufsrsX6szGSmVvgnaTnprPkCw + 64rjugJc9Nbc4BwjtbXsGcdEvqMnxjb9ZN/Sn+g9ZfRw4d6t0SaSUw+gDfuROylwxGcEjtyBwxEfNbyS + p29fnfnbUr2LL4TaWfCgjs7Kd83DqslOhB8ibC+yaLa6O48+LdbRaq0EU+UACngXd+v57/MlWdpxgPH+ + 03/Nr9dkYYtpvs2mGaqoGc5i8vpDk3Jtx624iDYpVddhgK/efWQJOw40XjFsV6ZJPQRWf40IuzbbnG5s + zpkj3wudcm3ke2FggI98L0wONF4xbPq9eI7l/y6azf7ezj9+uIzKA+GOgLTPLtLp7Q1Ma3a1uKVsVrps + czUuTAu1AGhyjYnxQ4REFf7ra/Wq9818db1cPKwX93dT/TBt2Xl1Z+KrO4cPvz5wtScSst7f385nd3Rn + ywHG+d3j1/lytp7fkKUDCni7bQQW/zu/WS+m70CA8XgEZiobNGBfzC6Z5p6ErLQWNUFb1P6Tu8fbW7JO + QYCL1jonWOs8fHC9nrNLlw4D7gf59/Xs0y09Z/Wkz8q8aIsHIqzm//04v7ueR7O7b2S9DoPuNVO7Rozr + X8+ZKdGTkJVTISC1wPrbA8MlIcD1eLf4c75csesUi4cirK9ZP77jQOPnK+7l9ijg/XOxWvDLgUFb9sf1 + Fwmuv8lK7fN910iTAkACLMYf82+LG569QS3vsS4f2iOe/pi+gtwlTeun2WpxHV3f38nkmsn6g5QaDmy6 + r+fL9eLz4lq20g/3t4vrxZxkB3DLv7yNbhardfRwT71yCzW9N18OcRXvBUV4YmBTRFgaZ3OWcbGU7d39 + 8hu9cFio7V093M6+red/rWnOHnN8XeISdR2F2UhbSgGo5V3NeEXKAD1O8o23YZ97+ibeEOuaj5s82zIS + 4sQ5RuKZjCaF2RhJqpGolZyYA+g6V4vfqTaJOB5GNXSCTNf8mnFVPWS7HlSEtCaczWBzjpFVCHUON1Lz + i816zLQ8Y6G2l1FYeghx0X86WlKGj6g/Gisn85vFw2y5/kat0HXOMv61nt/dzG9U7yl6XM1+p3kd2rRz + 9jRM0D0N7U9WXKXVd1msVo+SYLa/Lm3a7+br1fXsYR6tHv6YXVPMJolbF1zpwnLerxeyAzn/TPKdINN1 + v/4yX1Jvew+Zroc/rlfTd5AaCMhCLd4DBdpoBbuHXNdvVM9vgIPz436Df9sVvzEAcL+fnohXnlah+VxN + 7PzZ1EpqzEnWm/ion5VCrmI8DiOlHAMUhXX9yBVzrtG5KjV2/Ua+dT0F2f77cXbLM55Iy7q8/+tbM+Bu + U7ZpC1fERx6oBIrVXg1d33KWkdxxgnpNvC4T1l9idZaQnhKvd4z1jQMqQ189yK4CPbUfZ0CKjEaX3JH+ + Eh/pL0NG+kv/SH8ZMNJfekf6S+ZIf4mO9PVPOMmgsx4zPRE01PFGD6tVJAcSs68rolYjASu5LloiMx5L + 9ozH0jPjseTOeCzxGY/HlezpNl1ninCgTJvaXZ7iUd93DdHs9vf7JdXTUphtxdOtIN96vVx8elzP6coT + CVkf/6L7Hv8CTE0rztGdQMgpewV0n4Qg1/KWrlrewiZyv9oAESexzOocYqSVVw0DfKwOnkn6rCu+Fiot + 1LF3DyGuaH63Xn5jGVsU8NIrfg0DfIQzsnQGNvFy+AlEnJwc3nGIkZHDWwz0/Xn/B21hkc4BRuL0+YkB + TH/O6LWXZAAT5x7A6c9IeyPdRRw1e8Ds0+kvSRiQ6WqO8o4O9CcNADuY0230++fuRWbCiS0WBvuSTc7x + SQz27dI83XeHpb/V0w9Y9jl8kfbHnB9Cwj63+FHx3RL2uesyNH1OBjjKU1UeD5H8czb9zEmM90Wg7NwA + 0z57s+3TsZq+l5lHAcdRVxAdqlS9LskJovNwBGYORfOmWvqrdk1gShvWZ663z3y1hHF3QDJruMffjJzD + foLucCLJwlCrUzO3ZZKqN/nyuFL70VALMaZx4olsf8ibY2Wjn9G2LKskK+KaeucRCxYtsAZHLP5ozNoQ + dGCRAmpEwOCP8sSst2CJPxajBnZ4fwTxHr9GjP2aZm8Q5i9pWdQsoljV1OrO1W/MCIbDE6ksQtJKE2Ax + DmVW1M2ubLwQA++PwM9XA++PoLKELLVhNwZUeeOKKP1xjPOAcJ3BiBLv1H91u37FBTkGyEMR2re+6eaW + g4wy4U5h6VoNNt3UYZXOGKZN9lQcm/q9qegJPotErG0LzNK2qOENaKy9LbTq+hzrNHq9m32mODXM8LWN + Jm042TOAiZrfNQqwsbof3j5H+2GRPpGFkoFMsp5Wm+hG+1h8pzt1GrCTC7mOQb7jhi47bgCT6mY1+Z/s + 60nEyrrbYK9P9Zz0giQrFrIedYxGItcnuMSM1fSjivSVoj4xhuk5Fs8q5Zp+RnT4ePVL9HOv9vuNL88v + IiFej1FSxbv6w2+EUNOl4LV04yCb41+HX2hcA3MSAB379424vIy2mSRYXXjETR7wYgojzuF7+kZtv3vG + NDU9tKZaPhYqrapUiJTS7iAGIEqzcxe1/Nmo10udewH5sQi0+wkL/DHouR1TjMRp5lOCwjSGKVHCEw6d + /TmNMoitso6BvvpUAIfaXzD8kAaIx2hlTdB0tvefkSoGaDjVbmtl0z1qekfkogzyRoTuTtM6vgMEuZpO + LPV4AASH/KzOsMOiZvpmgKgAipEVLx+CYlgCMIYgnYvhgJDT3IGVrjZ5KAJtMDJAkKvd+4+uaznISC7W + BgcaSYOQAYJcjKrMIhFryC1HdsdEvqAyNr/WQFVm3HZeTMS7buqKEshmTXM7HxZeyH0eT8R3ScppRv0q + 2qc3f19c/hrFLz8v+j0YCSMUVIHEoe6wC8KIm1QFmRxilP2PsCvWBZ4Yaq/AoBgnARKj7fiQugkQPWYn + jw89Em+spJR925A4rQCJccrDl6wAPT1i/y3IjpWvoJwE5KLk4vLy/J+MCXAbdJ30QbkNDk61kdhTM1ki + a6GpPgOCXM3WZHRbg0E+dY4kXacoyCaESD/SdQ1m+eT11uSUO0GQi55yAwb5yCnXU5CNnnIDZvqaWTNi + wp0YwEROtoECbNRE6yHARU6ygRps2UUcsKcfTFt23p52AAp4ibu32RxgpO24ZmGAj7YjjYXpvi13d0QA + BbzklNyiKZkE5ahkJEcl/HRIfOmQMHeJdEnIStsl0uYAI6dEJb4SlQTtEonxeARmKiO7RPafk3eJdEnI + Si0dia90UHeJNCDARa2zEqzOSvi7RIIw4CbvEumSPivzotFdIvtvcHaJBGHQvWZq14iRvEukS0JWToWA + 1AKUXSINCHAxd4nEeCgCbZdImwON1F0iARTwsnaJhGnLHrJLJCrAYpB2iQRQ08vezxGETXfAfo4Ibvl5 + +zkCqOml7ueoM7CJ8t6VzVlG3n6OAGp7yfs5WpjjI+4nZVKYjfRuJ4BaXs4uDw7ocZJvPL7Lg/vx9Ffw + INY1U3d5sDnHSHzJ1aQwGyNJwd0NrM/IiQntbnD6iPDqp4Y4HkY15O7nqP5M3s/RgGwXfT9Hm3OMrEII + 7+dof0LNL/h+js6ntDyD7ufYfsgoLMB+jsaf6T8dLSmc/RxtzjIy9nO0OcvI3s8Rpk07Zz9Hm8ONK67S + 6rvw93OEadPO28/RJXHrgiv9/1s7lx63bSiM7vtPuutoEqTropsAAQpoim4JWaZtwbakiLQzk19fUpYt + XfJS1neV3WDEc6gXKb58+TVwovEcCURdcDxHAlEXFs9xJDgLWry5eI6T/2MFm4nneP/3F9TzhXFILu4L + f22TiIlf610jMTOK5/ngNzQ2zOay8kqeXsW6K3h69nW1XXsFg+J5Puuu5GZgcpHF2kzgT/2iuzUXazOV + SHC3ZmJtjmlE5584Y8k5RmcFx9qkFGdDY23GZGBdG2tzVsLlhcXaDLnACDdquRatrDmbasuKGrKJVqys + 55Lqt6yo2udqdXGFPlOXSwYLEiMFuXQUJk+PwuRrRmHy+VGYfMUoTD47CpMLR2Hy5CiMNNYmx86Y8ZvA + xtocDgpibcYkY4XrojwxGpWLR6PymdGoXDoaladHo/BYm5SiNiTW5j19bMBibVIqZXuT6d44HxprMyY5 + 6/LgmFOGMaGxNiOQcwKxNgnEufJvuCr/xpvgdnUi1iY5BJZZPtYmOYKVVzbWJjlgN0YkdBxjFDUZU9E7 + 42Nvci1X/tCRFiZ6J/k3Fr2TQRkv/ilho3c+DgDRO6cMb5KVmTh6JzkkKTNR9E5yRFBmwuidkwNQ9M6Q + Y4zgZEkcvfPxXyB655RhTJJnwN9/wb1n77uknorqqE6LK74A5b3+rRF6B5T3Cp2Br/ETQ3ijn2BTn5Gv + gjRzqyCjgwpcrJYQMHnAawpNck2hWbNuz8yv27OyNYY2tcbwKl+/e51bv3sVzl1dk3NXV+nc1TU1d3X8 + q+mqeu9Su87M2/fO/vtjcV3HsfPmb7peI3f4xP9Pq2t/WBemqd+sT/13YYvFGST4VA7/FafL8l/fcuy8 + Gbk3PD76T/qqT/3v5Opmu/gncJQKbe5Pie6BTXwHtdUnvTxS2AOgjqY4udPt9ojmzhDTrtPIufjkhK9q + AwRyfADEAUQ5uqWm9OWsKquXL1qZMsTUaVcS9BW5H3eE9ajj8q9rgBGfsZ3/ZRqgGojRct5+UptTUx7V + 1pVz/5NYvTjSBsdOzZ+Ho4U5i+w8P+bQ3DYmRdsrATb62mNpXjL//LvCVk1tVFGWurUF8JPZOUeUk/85 + 5n55FUepyNZutNJ12X20WNjOBE79X9TmUm+x+3BnQlNbdEargy6AtyEmqfXP/vy3uj9/RErAifO8sc1R + 10q/ty/uPXQ19mJrjKa85anSte2fKB7eZYEqla97ffz7CVVEaUM6F6vcl6HplDsV65oS0qwCTSq/ypiL + 7n7J3WRVqXw79z7KsvFkymqqfS2zejJlvdQr3uUB5t2ZvJRkatb7y0pJhpSSbHUpyRaUkuzXlJJsaSnJ + fl0pyZBSkolLSTZTSjJxKclmSkm2ppRkTClpXEvjQ5VFedC3tv8W6JPxdMoOtNojMOE02oqUjksb1blo + W+RlT/BRDn1DUXAbHhxvBLoiARb5fMevj/KMO6co7xVc+YPjjWcknGIEEueHyr8jO6FMkNHjg/v5eu7o + CloflWpz2e20H6lwzVffzF5cbJ+bJrlK9ojq+D2iunGfp1ukSeD7wrHU7P4sfNANsC3MoLy3vS0ZUdbd + PuPu3lmSQyTh8/J1tOqKH5Is7mzK/FPLrD81NcLReAhEXD/Vyx/ZJ7Uv7EF3n/u4YICUoTm7j6olM99J + zlq7Z5h1eitUE5zzu2OZTyT0E5zzm7KwVn7TCc76v3dS9UCOVpNVormJkGOMkrkJFp64D8WLeIiJhYnb + h99aYedw4vfRwlf4OXzid//WuoX2cZkygQkZP34AjEO1toM9HqKuS4tILi2hd0D7e0hOeaAhNCQnPDZ+ + /QCowyjTdFYjF/JgiAloKt5Sh7SqL6cTpugR6lm+38MtNaHbBnkfXOqQRp/pHWE9rq8mUDmK2i7Lh9+H + 5IQH+la31CHd9wZ2l7rENA+M+g7VDjofn54aGqjM+OSEv/p5O0DQpycGJAL0kHzkrX/EfR97+W4uU2Y0 + Xe8fRXwGnUGpVzKDHnJp45tU+ZZ2AoWNQSfeV1X4lnO1uEYdCWo5WcRwsoTelE1tAL5PTwyl69oihj49 + NXQnH514C2wuRanIBtTuIxFZun7+HRTdoNC1xSz0CbtGiWtvuX8DkgdDTPrdquMF0NwA4nDfDnPQxoIn + NMWIr9q2gMalpnS9axDcJQ/4Q7XxsTjrD+g0Jhjx+QJ6McUeeZMfDDHVxdlvf1Eb2xV+iz5AGKLUa1RV + fFanyiD1xoQKbCXQtnwAxNGUpvVzy+4NQZ7BFIt9ddOPLaG+ASO+tqwAjUtN6WG4V/QkY5hzDwPIAvGd + JFYDFioTlSoDf9lM9GVr2m4nmIwLOda4ahrumYfNUTIBl8BZ/6qpsGceNkdkEizAWB8y/RVgrA+c+IrJ + ibUttFHlpryvKlksDcHIabvX7LFWpR9dMaCcMYS5gOPnBApdojuQuHrfexuygcoFB3Pu+10RuSfw6H4X + hsJ/T0bCH47sNbI1A4E4ly+7fdFFNxGZUXD5tC/ti99npM3wDEZ21vy6wvzKml/7XR399Kvghk9pzn7b + e8XHisfdIztvhrbsSwqe5GHOfi0tuK3ecxOb6/J9lAjEuWwDffoiMHLCk2LvyR0qhiOmBHe3CrmJ0f/y + ZVvtfceqnyUsTvumq+xhcf83beBzuequ2n1AqzITeOBvO78pSz+jaIzCYvQlBUEe/ZSzfe/rBoPZKcp4 + faa+ZrDvsHdEqdePt/Q1sDt40JA3QCPvbfWJ697r2lTAEFACj/wuT3hLMwaNvKemORrXDT1qtXV9Ut/T + BfWMIcrl1oEGqj2K/f7b/+pPpdoVlQQA EOF # We are renaming openssl to openssl_grpc so that there is no conflict with openssl if it exists From aae73f721a3960d1b35feaf64690ef8fec1595ec Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Thu, 4 Feb 2021 17:18:46 -0800 Subject: [PATCH 04/10] Increment podspec version --- templates/gRPC-Core.podspec.template | 2 +- templates/src/objective-c/BoringSSL-GRPC.podspec.template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/gRPC-Core.podspec.template b/templates/gRPC-Core.podspec.template index 2590e47aea5..ac038f3c929 100644 --- a/templates/gRPC-Core.podspec.template +++ b/templates/gRPC-Core.podspec.template @@ -196,7 +196,7 @@ ss.header_mappings_dir = '.' ss.libraries = 'z' ss.dependency "#{s.name}/Interface", version - ss.dependency 'BoringSSL-GRPC', '0.0.14' + ss.dependency 'BoringSSL-GRPC', '0.0.15' % for abseil_spec in grpc_abseil_specs: ss.dependency '${abseil_spec}', abseil_version % endfor diff --git a/templates/src/objective-c/BoringSSL-GRPC.podspec.template b/templates/src/objective-c/BoringSSL-GRPC.podspec.template index 4855d9d59b7..050a305e4ff 100644 --- a/templates/src/objective-c/BoringSSL-GRPC.podspec.template +++ b/templates/src/objective-c/BoringSSL-GRPC.podspec.template @@ -69,7 +69,7 @@ Pod::Spec.new do |s| s.name = 'BoringSSL-GRPC' - version = '0.0.14' + version = '0.0.15' s.version = version s.summary = 'BoringSSL is a fork of OpenSSL that is designed to meet Google\'s needs.' # Adapted from the homepage: From 37579697bdccb8587af3b63e25062207862c946e Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Thu, 4 Feb 2021 17:19:10 -0800 Subject: [PATCH 05/10] Second regeneration --- gRPC-Core.podspec | 2 +- src/objective-c/BoringSSL-GRPC.podspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index 781f82aaf80..398bb4530fa 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -173,7 +173,7 @@ Pod::Spec.new do |s| ss.header_mappings_dir = '.' ss.libraries = 'z' ss.dependency "#{s.name}/Interface", version - ss.dependency 'BoringSSL-GRPC', '0.0.14' + ss.dependency 'BoringSSL-GRPC', '0.0.15' ss.dependency 'abseil/base/base', abseil_version ss.dependency 'abseil/container/flat_hash_map', abseil_version ss.dependency 'abseil/container/flat_hash_set', abseil_version diff --git a/src/objective-c/BoringSSL-GRPC.podspec b/src/objective-c/BoringSSL-GRPC.podspec index 6bf7885ce6b..0ceb63d1a6d 100644 --- a/src/objective-c/BoringSSL-GRPC.podspec +++ b/src/objective-c/BoringSSL-GRPC.podspec @@ -39,7 +39,7 @@ Pod::Spec.new do |s| s.name = 'BoringSSL-GRPC' - version = '0.0.14' + version = '0.0.15' s.version = version s.summary = 'BoringSSL is a fork of OpenSSL that is designed to meet Google\'s needs.' # Adapted from the homepage: From cdf55db5dbed1a401bcc971cb9eba5ec41d8b9c5 Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Fri, 5 Feb 2021 10:09:54 -0800 Subject: [PATCH 06/10] update submodule boringssl-with-bazel with origin/master-with-bazel --- third_party/boringssl-with-bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/boringssl-with-bazel b/third_party/boringssl-with-bazel index de220fb27fa..067cfd92f4d 160000 --- a/third_party/boringssl-with-bazel +++ b/third_party/boringssl-with-bazel @@ -1 +1 @@ -Subproject commit de220fb27fa5d0cf51da8d3d06f33bcb1b1b1146 +Subproject commit 067cfd92f4d7da0edfa073b096d090b98a83b860 From 12d05dba96da5b5635a7452b6f6015c591b93205 Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Fri, 5 Feb 2021 10:17:45 -0800 Subject: [PATCH 07/10] update boringssl dependency to master-with-bazel commit SHA --- bazel/grpc_deps.bzl | 7 ++++--- tools/run_tests/sanity/check_submodules.sh | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/bazel/grpc_deps.bzl b/bazel/grpc_deps.bzl index baf3c8e56f4..a894493d771 100644 --- a/bazel/grpc_deps.bzl +++ b/bazel/grpc_deps.bzl @@ -151,10 +151,11 @@ def grpc_deps(): name = "boringssl", # Use github mirror instead of https://boringssl.googlesource.com/boringssl # to obtain a boringssl archive with consistent sha256 - sha256 = "1df9afa2b2cd5eec7909d0a4b0050f20da7bbe45d1f1f6055cdccd794cb5cb77", - strip_prefix = "boringssl-de220fb27fa5d0cf51da8d3d06f33bcb1b1b1146", + sha256 = "6312f3785ccbbb45f190c1c8877d1b10f41420e3bb65ca5d14b8061621431136", + strip_prefix = "boringssl-067cfd92f4d7da0edfa073b096d090b98a83b860", urls = [ - "https://github.com/google/boringssl/archive/de220fb27fa5d0cf51da8d3d06f33bcb1b1b1146.tar.gz", + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/067cfd92f4d7da0edfa073b096d090b98a83b860.tar.gz", + "https://github.com/google/boringssl/archive/067cfd92f4d7da0edfa073b096d090b98a83b860.tar.gz", ], ) diff --git a/tools/run_tests/sanity/check_submodules.sh b/tools/run_tests/sanity/check_submodules.sh index d84bbc83f29..1af9462c494 100755 --- a/tools/run_tests/sanity/check_submodules.sh +++ b/tools/run_tests/sanity/check_submodules.sh @@ -29,7 +29,7 @@ cat << EOF | awk '{ print $1 }' | sort > "$want_submodules" 6f9d96a1f41439ac172ee2ef7ccd8edf0e5d068c third_party/abseil-cpp (heads/master) 090faecb454fbd6e6e17a75ef8146acb037118d4 third_party/benchmark (v1.5.0) 73594cde8c9a52a102c4341c244c833aa61b9c06 third_party/bloaty (remotes/origin/wide-14-g73594cd) - de220fb27fa5d0cf51da8d3d06f33bcb1b1b1146 third_party/boringssl-with-bazel (remotes/origin/master-with-bazel) + 067cfd92f4d7da0edfa073b096d090b98a83b860 third_party/boringssl-with-bazel (remotes/origin/master-with-bazel) e982924acee7f7313b4baa4ee5ec000c5e373c30 third_party/cares/cares (cares-1_15_0) 9997e1137cdb59e622af13e57ca915a2f3c9f84f third_party/envoy-api (heads/master) 80ed4d0bbf65d57cc267dfc63bd2584557f11f9b third_party/googleapis (common-protos-1_3_1-915-g80ed4d0bb) From 2bdd140814406e9e4b09418993834f59a899340a Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Fri, 5 Feb 2021 10:18:51 -0800 Subject: [PATCH 08/10] Increment podspec version --- templates/gRPC-Core.podspec.template | 2 +- templates/src/objective-c/BoringSSL-GRPC.podspec.template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/gRPC-Core.podspec.template b/templates/gRPC-Core.podspec.template index ac038f3c929..352d05cce37 100644 --- a/templates/gRPC-Core.podspec.template +++ b/templates/gRPC-Core.podspec.template @@ -196,7 +196,7 @@ ss.header_mappings_dir = '.' ss.libraries = 'z' ss.dependency "#{s.name}/Interface", version - ss.dependency 'BoringSSL-GRPC', '0.0.15' + ss.dependency 'BoringSSL-GRPC', '0.0.16' % for abseil_spec in grpc_abseil_specs: ss.dependency '${abseil_spec}', abseil_version % endfor diff --git a/templates/src/objective-c/BoringSSL-GRPC.podspec.template b/templates/src/objective-c/BoringSSL-GRPC.podspec.template index 050a305e4ff..4f9f847a5c8 100644 --- a/templates/src/objective-c/BoringSSL-GRPC.podspec.template +++ b/templates/src/objective-c/BoringSSL-GRPC.podspec.template @@ -69,7 +69,7 @@ Pod::Spec.new do |s| s.name = 'BoringSSL-GRPC' - version = '0.0.15' + version = '0.0.16' s.version = version s.summary = 'BoringSSL is a fork of OpenSSL that is designed to meet Google\'s needs.' # Adapted from the homepage: From eb4e78bf962b8d6fc27d594dd6b3253cf5febdfc Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Fri, 5 Feb 2021 10:21:09 -0800 Subject: [PATCH 09/10] generate project --- gRPC-Core.podspec | 2 +- src/objective-c/BoringSSL-GRPC.podspec | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index 398bb4530fa..b683c143020 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -173,7 +173,7 @@ Pod::Spec.new do |s| ss.header_mappings_dir = '.' ss.libraries = 'z' ss.dependency "#{s.name}/Interface", version - ss.dependency 'BoringSSL-GRPC', '0.0.15' + ss.dependency 'BoringSSL-GRPC', '0.0.16' ss.dependency 'abseil/base/base', abseil_version ss.dependency 'abseil/container/flat_hash_map', abseil_version ss.dependency 'abseil/container/flat_hash_set', abseil_version diff --git a/src/objective-c/BoringSSL-GRPC.podspec b/src/objective-c/BoringSSL-GRPC.podspec index 0ceb63d1a6d..4cafef5b85d 100644 --- a/src/objective-c/BoringSSL-GRPC.podspec +++ b/src/objective-c/BoringSSL-GRPC.podspec @@ -39,7 +39,7 @@ Pod::Spec.new do |s| s.name = 'BoringSSL-GRPC' - version = '0.0.15' + version = '0.0.16' s.version = version s.summary = 'BoringSSL is a fork of OpenSSL that is designed to meet Google\'s needs.' # Adapted from the homepage: @@ -76,7 +76,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/google/boringssl.git', - :commit => "de220fb27fa5d0cf51da8d3d06f33bcb1b1b1146", + :commit => "067cfd92f4d7da0edfa073b096d090b98a83b860", } s.ios.deployment_target = '9.0' From efb01629d2eec4a1bef1b593dd827238dd916317 Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Fri, 5 Feb 2021 10:47:53 -0800 Subject: [PATCH 10/10] generate boringssl prefix headers --- src/boringssl/boringssl_prefix_symbols.h | 2 +- src/objective-c/BoringSSL-GRPC.podspec | 976 +++++++++++------------ 2 files changed, 489 insertions(+), 489 deletions(-) diff --git a/src/boringssl/boringssl_prefix_symbols.h b/src/boringssl/boringssl_prefix_symbols.h index 460782f8d33..041adc5bcc8 100644 --- a/src/boringssl/boringssl_prefix_symbols.h +++ b/src/boringssl/boringssl_prefix_symbols.h @@ -1,4 +1,4 @@ -// generated by generate_boringssl_prefix_header.sh on BoringSSL commit: de220fb27fa5d0cf51da8d3d06f33bcb1b1b1146 +// generated by generate_boringssl_prefix_header.sh on BoringSSL commit: 067cfd92f4d7da0edfa073b096d090b98a83b860 // Copyright (c) 2018, Google Inc. // diff --git a/src/objective-c/BoringSSL-GRPC.podspec b/src/objective-c/BoringSSL-GRPC.podspec index 4cafef5b85d..baec6416038 100644 --- a/src/objective-c/BoringSSL-GRPC.podspec +++ b/src/objective-c/BoringSSL-GRPC.podspec @@ -213,494 +213,494 @@ Pod::Spec.new do |s| # /src/boringssl/boringssl_prefix_symbols.h. Here we decode the content and inject the header to # the correct location in BoringSSL. base64 -D < src/include/openssl/boringssl_prefix_symbols.h - H4sICAAAAAAC/2JvcmluZ3NzbF9wcmVmaXhfc3ltYm9scy5oAKy9XXPbuJaofT+/wnXm5pyqXTOx0+72 - fu8UW+lo2rE9ktzTmRsWJVI2dyhSISg77l//AiRF4mMtkGvBdXbN6Vh6nkWB+CYI/Od/nj2lRVrFdZqc - bd76f0SbssqKJyHy6FClu+xn9JzGSVr9h3g+K4uzT82nq9Xt2bbc77P6/ztL0ouLD7vNxW+7+DL5sN1d - nifxVfIx+fDr7uPHzXZzrv7f+S+//tu//ed/nl2Xh7cqe3quz/7v9v+dXXw4v/rH2e9l+ZSnZ4ti+x/y - K+pbD2m1z4TIZLy6PDuK9B8y2uHtH2f7Msl28v+Pi+Q/y+osyURdZZtjnZ7Vz5k4E+Wufo2r9GwnP4yL - N+U6HKtDKdKz16yWP6Bq/v/yWJ/t0vRMIs9plapfX8WFTIh/nB2q8iVLZJLUz3Et/096Fm/Kl1SZtv21 - F2WdbVN1FW3cw3C9p48OhzSuzrLiLM5zRWapOP269Zf52er+8/p/Zsv52WJ19rC8/3NxM785+z+zlfz3 - /zmb3d00X5o9rr/cL89uFqvr29ni6+psdnt7Jqnl7G69mK+U638W6y9ny/nvs6VE7iUlfYP77vr28WZx - 93sDLr4+3C5klEFwdv9ZOb7Ol9df5F9mnxa3i/W3Jvznxfpuvlr9h3Sc3d2fzf+c363PVl+UR7uyT/Oz - 28Xs0+387LP81+zum9KtHubXi9ntP+R1L+fX639Ixem/5Jeu7+9W8/9+lDr5nbOb2dfZ7+pCGvr0z+aH - fZmtV/cy7lL+vNXj7Vr9jM/L+69nt/crdeVnj6u5jDFbzxQt01Be8uofkpvLC1yq657J/12vF/d3yicB - GXq9nKnruJv/frv4fX53PVfsfQOs75fyu4+rjvnH2Wy5WKmg949rRd8rZ5OF7+/u5s132tRX6SGvpbmK - +VImxNdZI/5s3o3/aPL/p/uldMriE81ubqKH5fzz4q+zQyzqVJzVr+WZzHpFne2ytBIy88jMXxapvAm1 - ymIyU++F+oMSZbUqrSrHlbuzfbytyrP05yEumkwo/5fV4iyuno576RNnm1TCaRNIlt7/+Ld/T2TJLlLw - cv5v/I+zzf8DP4oW8qcv2y94HfoXz+Kzf//3s0j9n82/DdTiPtpFspaBr2H4Y/uHfwzA/zMcIq2plg4Z - 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 - BfWMIcrl1oEGqj2K/f7b/+pPpdoVlQQA + H4sICAAAAAAC/2JvcmluZ3NzbF9wcmVmaXhfc3ltYm9scy5oAKydXXPbuJZo3+dXuO683Kk6NRM7nbT7 + vim20tG0Y/tIck9nXliUSNk8oUiFoOy4f/0FSIrEx94g94arTs10LK21KRDfBIH/+q+zx7RIq7hOk7PN + a/+PaFNWWfEoRB4dqnSX/Yye0jhJq/8UT2dlcfap+XS1ujnblvt9Vv+/s3cff93ukt8udr8kvybxuzTZ + xe9+fb9599vH5N1v7za/XcaX7zeXH9/927/913+dXZWH1yp7fKrP/u/2P84u3p1f/uPs97J8zNOzRbH9 + T/kV9a37tNpnQmQyXl2eHUX6Dxnt8PqPs32ZZDv5/+Mi+a+yOksyUVfZ5linZ/VTJs5Euatf4io928kP + 4+JVuQ7H6lCK9Owlq+UPqJr/Xx7rs12anknkKa1S9euruJAJ8Y+zQ1U+Z4lMkvopruX/Sc/iTfmcKtO2 + v/airLNtqq6ijXsYrvf00eGQxtVZVpzFea7ILBWnX7f+Mj9b3X1e/89sOT9brM7ul3d/Lq7n12f/Z7aS + //4/Z7Pb6+ZLs4f1l7vl2fVidXUzW3xdnc1ubs4ktZzdrhfzlXL9z2L95Ww5/322lMidpKRvcN9e3Txc + L25/b8DF1/ubhYwyCM7uPivH1/ny6ov8y+zT4max/taE/7xY385Xq/+UjrPbu7P5n/Pb9dnqi/JoV/Zp + fnazmH26mZ99lv+a3X5TutX9/Goxu/mHvO7l/Gr9D6k4/Zf80tXd7Wr+zwepk985u559nf2uLqShT/9s + ftiX2Xp1J+Mu5c9bPdys1c/4vLz7enZzt1JXfvawmssYs/VM0TIN5SWv/iG5ubzApbrumfzf1Xpxd6t8 + EpCh18uZuo7b+e83i9/nt1dzxd41wPpuKb/7sOqYf5zNlouVCnr3sFb0nXI2Wfju9nbefKdNfZUe8lqa + q5gvZUJ8nTXiz+bd+M8m/3+6W0qnLD7R7Po6ul/OPy/+OjvEok7FWf1SnsmsV9TZLksrITOPzPxlkcqb + UKssJjP1Xqg/KFFWq9Kqcly5O9vH26o8S38e4qLJhPJ/WS3O4urxuJc+cbZJJZw2gWTp/c9/+/dEluwi + BS/n/8b/ONv8B/hRtJA/fdl+wevQv3gWn/37v59F6v9s/m2gFnfRLpK1DHwNwx/bP/xjAP7DcIi0plo6 + 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 + 6nu6oJ4xRLncOtBAtUex33/7H2QijAAVlQQA EOF # We are renaming openssl to openssl_grpc so that there is no conflict with openssl if it exists