From 8caeeefedef9740ca6d59a35f12bd00755004c24 Mon Sep 17 00:00:00 2001 From: haozi007 Date: Thu, 14 Jul 2022 09:34:28 +0800 Subject: [PATCH] update version to v2.0.15 of latest version of iSulad Signed-off-by: haozi007 --- ...dir-of-isulad-if-no-controller-found.patch | 56 - 0002-fix-install-error-when-android.patch | 46 - 0003-imp-fuzz-for-pw-gr-parser.patch | 249 -- 0004-improve-fuzz-test.patch | 119 - 0005-Seccomp-optimization.patch | 262 -- 0006-fix-different-type-convert.patch | 264 --- 0007-add-pointer-parameters-NULL-check.patch | 226 -- 0008-add-check-to-arguments.patch | 533 ----- 0009-remove-static-of-strlncat.patch | 26 - ...k-parameter-label_opts-in-init_label.patch | 26 - ...e-seccomp-to-Linux-5.10-syscall-list.patch | 191 -- 0012-fix-invalid-convert-and-format.patch | 319 --- ...fix-get_network_namespace_path-check.patch | 33 - ...x-for-double-free-and-use-after-free.patch | 227 -- ...him-coredump-when-remove-ioc-fd-node.patch | 73 - 0016-do-not-fail-if-pw-is-not-NULL.patch | 65 - 0017-do-not-fail-if-gr-is-NULL.patch | 51 - 0018-fix-memory-leak-of-remove-layer.patch | 56 - ...-null-terminal-at-end-of-gr-mem-list.patch | 56 - ...fix-shm-size-set-invalid-when-reboot.patch | 246 -- ...each-container-and-image-operation-t.patch | 338 --- ...each-container-and-image-operation-t.patch | 274 --- 0023-fix-inspect-f-error-when-bionic.patch | 32 - ...tor-devmapper_parse_options-function.patch | 289 --- 0025-refactor-parse_volume-function.patch | 153 -- 0026-fix-parse-volume-failed.patch | 93 - ...l_smart_calloc_t-to-prevent-overflow.patch | 2106 ----------------- 0028-increase-websocket-lws_lookup-size.patch | 41 - 0029-fix-misuse-of-BUFSIZ.patch | 88 - 0030-gc-considers-stored-monitor-pid.patch | 102 - iSulad.spec | 40 +- v2.0.14.tar.gz => v2.0.15.tar.gz | Bin 3432069 -> 3435350 bytes 32 files changed, 8 insertions(+), 6672 deletions(-) delete mode 100644 0001-do-not-mkdir-of-isulad-if-no-controller-found.patch delete mode 100644 0002-fix-install-error-when-android.patch delete mode 100644 0003-imp-fuzz-for-pw-gr-parser.patch delete mode 100644 0004-improve-fuzz-test.patch delete mode 100644 0005-Seccomp-optimization.patch delete mode 100644 0006-fix-different-type-convert.patch delete mode 100644 0007-add-pointer-parameters-NULL-check.patch delete mode 100644 0008-add-check-to-arguments.patch delete mode 100644 0009-remove-static-of-strlncat.patch delete mode 100644 0010-remove-check-parameter-label_opts-in-init_label.patch delete mode 100644 0011-update-seccomp-to-Linux-5.10-syscall-list.patch delete mode 100644 0012-fix-invalid-convert-and-format.patch delete mode 100644 0013-fix-get_network_namespace_path-check.patch delete mode 100644 0014-bugfix-for-double-free-and-use-after-free.patch delete mode 100644 0015-fix-isulad-shim-coredump-when-remove-ioc-fd-node.patch delete mode 100644 0016-do-not-fail-if-pw-is-not-NULL.patch delete mode 100644 0017-do-not-fail-if-gr-is-NULL.patch delete mode 100644 0018-fix-memory-leak-of-remove-layer.patch delete mode 100644 0019-add-null-terminal-at-end-of-gr-mem-list.patch delete mode 100644 0020-fix-shm-size-set-invalid-when-reboot.patch delete mode 100644 0021-set-the-name-of-each-container-and-image-operation-t.patch delete mode 100644 0022-set-the-name-of-each-container-and-image-operation-t.patch delete mode 100644 0023-fix-inspect-f-error-when-bionic.patch delete mode 100644 0024-refactor-devmapper_parse_options-function.patch delete mode 100644 0025-refactor-parse_volume-function.patch delete mode 100644 0026-fix-parse-volume-failed.patch delete mode 100644 0027-use-util_smart_calloc_t-to-prevent-overflow.patch delete mode 100644 0028-increase-websocket-lws_lookup-size.patch delete mode 100644 0029-fix-misuse-of-BUFSIZ.patch delete mode 100644 0030-gc-considers-stored-monitor-pid.patch rename v2.0.14.tar.gz => v2.0.15.tar.gz (52%) diff --git a/0001-do-not-mkdir-of-isulad-if-no-controller-found.patch b/0001-do-not-mkdir-of-isulad-if-no-controller-found.patch deleted file mode 100644 index b366ee2..0000000 --- a/0001-do-not-mkdir-of-isulad-if-no-controller-found.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 9837be14200fecb32db0337652e60532f1adb7be Mon Sep 17 00:00:00 2001 -From: WangFengTu -Date: Mon, 23 May 2022 17:06:19 +0800 -Subject: [PATCH 01/30] do not mkdir of isulad if no controller found - -If selinux disable the capibility DAC_OVERRIDE, -mkdir isulad may fail when run container. - -Signed-off-by: WangFengTu ---- - src/daemon/common/sysinfo.c | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -diff --git a/src/daemon/common/sysinfo.c b/src/daemon/common/sysinfo.c -index e60377dd..6fb4ec38 100644 ---- a/src/daemon/common/sysinfo.c -+++ b/src/daemon/common/sysinfo.c -@@ -1303,6 +1303,21 @@ out: - return ret; - } - -+#ifdef __ANDROID__ -+static bool cgroup2_no_controller() { -+ char *controllers_str = NULL; -+ -+ controllers_str = util_read_content_from_file(CGROUP2_CONTROLLERS_PATH); -+ if (controllers_str == NULL || strlen(controllers_str) == 0 || strcmp(controllers_str, "\n") == 0) { -+ free(controllers_str); -+ return true; -+ } -+ -+ free(controllers_str); -+ return false; -+} -+#endif -+ - static int make_sure_cgroup2_isulad_path_exist() - { - int ret = 0; -@@ -1315,6 +1330,13 @@ static int make_sure_cgroup2_isulad_path_exist() - return -1; - } - -+#ifdef __ANDROID__ -+ if (cgroup2_no_controller()) { -+ DEBUG("no cgroup controller found"); -+ return 0; -+ } -+#endif -+ - ret = mkdir(CGROUP_ISULAD_PATH, DEFAULT_CGROUP_DIR_MODE); - if (ret != 0 && (errno != EEXIST || !util_dir_exists(CGROUP_ISULAD_PATH))) { - return -1; --- -2.32.1 (Apple Git-133) - diff --git a/0002-fix-install-error-when-android.patch b/0002-fix-install-error-when-android.patch deleted file mode 100644 index 1770e49..0000000 --- a/0002-fix-install-error-when-android.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 426a282802b8b81c66e6857857a745583f816c0a Mon Sep 17 00:00:00 2001 -From: WangFengTu -Date: Tue, 24 May 2022 16:51:02 +0800 -Subject: [PATCH 02/30] fix install error when android - -Signed-off-by: WangFengTu ---- - src/common/constants.h | 2 +- - src/contrib/config/{lxc_contexts => container_contexts} | 0 - src/daemon/common/selinux_label.c | 2 +- - 3 files changed, 2 insertions(+), 2 deletions(-) - rename src/contrib/config/{lxc_contexts => container_contexts} (100%) - -diff --git a/src/common/constants.h b/src/common/constants.h -index 56c88d46..60fb9abe 100644 ---- a/src/common/constants.h -+++ b/src/common/constants.h -@@ -66,7 +66,7 @@ extern "C" { - - #define ISULAD_CONFIG SYSCONFDIR_PREFIX"/etc/isulad" - --#define ISULAD_DAEMON_LXC_CONTEXTS ISULAD_CONFIG "/container_contexts" -+#define ISULAD_DAEMON_CONTAINER_CONTEXTS ISULAD_CONFIG "/container_contexts" - #define ISULAD_DAEMON_JSON_CONF_FILE ISULAD_CONFIG "/daemon.json" - #define ISULAD_DAEMON_CONSTANTS_JSON_CONF_FILE ISULAD_CONFIG "/daemon_constants.json" - -diff --git a/src/contrib/config/lxc_contexts b/src/contrib/config/container_contexts -similarity index 100% -rename from src/contrib/config/lxc_contexts -rename to src/contrib/config/container_contexts -diff --git a/src/daemon/common/selinux_label.c b/src/daemon/common/selinux_label.c -index 9efd16e9..5468111e 100644 ---- a/src/daemon/common/selinux_label.c -+++ b/src/daemon/common/selinux_label.c -@@ -593,7 +593,7 @@ static int container_label(char **process_label, char **file_label) - } - - #ifdef __ANDROID__ -- lxc_path = ISULAD_DAEMON_LXC_CONTEXTS; -+ lxc_path = ISULAD_DAEMON_CONTAINER_CONTEXTS; - #else - lxc_path = selinux_lxc_contexts_path(); - #endif --- -2.32.1 (Apple Git-133) - diff --git a/0003-imp-fuzz-for-pw-gr-parser.patch b/0003-imp-fuzz-for-pw-gr-parser.patch deleted file mode 100644 index 36e22d0..0000000 --- a/0003-imp-fuzz-for-pw-gr-parser.patch +++ /dev/null @@ -1,249 +0,0 @@ -From 9ccb30fa430c7b98ecab4406dabe8498c74db8c3 Mon Sep 17 00:00:00 2001 -From: chegJH -Date: Thu, 12 May 2022 16:40:41 +0800 -Subject: [PATCH 03/30] imp fuzz for pw gr parser - -Signed-off-by: chegJH ---- - test/fuzz/CMakeLists.txt | 48 ++++++++++++++++++++++++++++ - test/fuzz/dict/gr_fuzz.dict | 4 +++ - test/fuzz/dict/pw_fuzz.dict | 6 ++++ - test/fuzz/fuzz.sh | 4 +++ - test/fuzz/test_gr_obj_parser_fuzz.cc | 45 ++++++++++++++++++++++++++ - test/fuzz/test_pw_obj_parser_fuzz.cc | 46 ++++++++++++++++++++++++++ - 6 files changed, 153 insertions(+) - create mode 100644 test/fuzz/dict/gr_fuzz.dict - create mode 100644 test/fuzz/dict/pw_fuzz.dict - create mode 100644 test/fuzz/test_gr_obj_parser_fuzz.cc - create mode 100644 test/fuzz/test_pw_obj_parser_fuzz.cc - -diff --git a/test/fuzz/CMakeLists.txt b/test/fuzz/CMakeLists.txt -index 61ab47d7..555c3813 100644 ---- a/test/fuzz/CMakeLists.txt -+++ b/test/fuzz/CMakeLists.txt -@@ -20,6 +20,8 @@ SET(EXE1 im_config_image_exist_fuzz) - SET(EXE2 im_get_image_count_fuzz) - SET(EXE3 test_volume_mount_spec_fuzz) - SET(EXE4 test_volume_parse_volume_fuzz) -+SET(EXE5 test_pw_obj_parser_fuzz) -+SET(EXE6 test_gr_obj_parser_fuzz) - add_executable(${EXE0} - ${CMAKE_CURRENT_SOURCE_DIR}/../../src/daemon/config/isulad_config.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../src/daemon/config/daemon_arguments.c -@@ -66,6 +68,36 @@ add_executable(${EXE4} - ${CMAKE_CURRENT_SOURCE_DIR}/../../src/daemon/config/daemon_arguments.c - test_volume_parse_volume_fuzz.cc - ) -+add_executable(${EXE5} -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_string.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_array.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_file.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_convert.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_verify.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_regex.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_pwgr.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/sha256/sha256.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/map/map.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/map/rb_tree.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/path.c -+ test_pw_obj_parser_fuzz.cc -+ ) -+add_executable(${EXE6} -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_string.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_array.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_file.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_convert.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_verify.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_regex.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_pwgr.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/sha256/sha256.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/map/map.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/map/rb_tree.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/path.c -+ test_gr_obj_parser_fuzz.cc -+ ) - - SET(IMAGE_FUZZ_INCLUDE_DIRS - ${GTEST_INCLUDE_DIR} -@@ -107,6 +139,14 @@ target_include_directories(${EXE4} PUBLIC - ${IMAGE_FUZZ_INCLUDE_DIRS} - ) - -+target_include_directories(${EXE5} PUBLIC -+ ${IMAGE_FUZZ_INCLUDE_DIRS} -+) -+ -+target_include_directories(${EXE6} PUBLIC -+ ${IMAGE_FUZZ_INCLUDE_DIRS} -+) -+ - set_target_properties(${EXE0} PROPERTIES LINKER_LANGUAGE CXX) - set_target_properties(${EXE0} PROPERTIES LINK_FLAGS "-fsanitize=address -fsanitize-coverage=trace-pc") - target_link_libraries(${EXE0} ${CMAKE_THREAD_LIBS_INIT} ${ISULA_LIBUTILS_LIBRARY} ${LIB_FUZZING_ENGINE} pthread rt -lisulad_img -lgcov) -@@ -126,3 +166,11 @@ target_link_libraries(${EXE3} ${CMAKE_THREAD_LIBS_INIT} ${ISULA_LIBUTILS_LIBRARY - set_target_properties(${EXE4} PROPERTIES LINKER_LANGUAGE CXX) - set_target_properties(${EXE4} PROPERTIES LINK_FLAGS "-fsanitize=address -fsanitize-coverage=trace-pc") - target_link_libraries(${EXE4} ${CMAKE_THREAD_LIBS_INIT} ${ISULA_LIBUTILS_LIBRARY} ${LIB_FUZZING_ENGINE} pthread rt -lcrypto -lyajl -lz -lisulad_img -lgcov) -+ -+set_target_properties(${EXE5} PROPERTIES LINKER_LANGUAGE CXX) -+set_target_properties(${EXE5} PROPERTIES LINK_FLAGS "-fsanitize=address -fsanitize-coverage=trace-pc") -+target_link_libraries(${EXE5} ${CMAKE_THREAD_LIBS_INIT} ${ISULA_LIBUTILS_LIBRARY} ${LIB_FUZZING_ENGINE} pthread rt -lcrypto -lyajl -lz -lisulad_img -lgcov) -+ -+set_target_properties(${EXE6} PROPERTIES LINKER_LANGUAGE CXX) -+set_target_properties(${EXE6} PROPERTIES LINK_FLAGS "-fsanitize=address -fsanitize-coverage=trace-pc") -+target_link_libraries(${EXE6} ${CMAKE_THREAD_LIBS_INIT} ${ISULA_LIBUTILS_LIBRARY} ${LIB_FUZZING_ENGINE} pthread rt -lcrypto -lyajl -lz -lisulad_img -lgcov) -\ No newline at end of file -diff --git a/test/fuzz/dict/gr_fuzz.dict b/test/fuzz/dict/gr_fuzz.dict -new file mode 100644 -index 00000000..0f14d1c3 ---- /dev/null -+++ b/test/fuzz/dict/gr_fuzz.dict -@@ -0,0 +1,4 @@ -+"root:x:0:" -+"+adm:x:4:" -+"adm:x:4:root,john, boob,jason" -+"empty" -\ No newline at end of file -diff --git a/test/fuzz/dict/pw_fuzz.dict b/test/fuzz/dict/pw_fuzz.dict -new file mode 100644 -index 00000000..0b7790a4 ---- /dev/null -+++ b/test/fuzz/dict/pw_fuzz.dict -@@ -0,0 +1,6 @@ -+"root:x:0:0:root:/root:/bin/bash" -+"bin:x:-1:1:bin:/bin:/sbin/nologin" -+"uidonly:x:1::bin:/bin:/sbin/nologin" -+"::::1:1:bin:/bin:/sbin/nologin" -+"-npt:*::::/etc/ntp:/sbin/nologin" -+"empty" -\ No newline at end of file -diff --git a/test/fuzz/fuzz.sh b/test/fuzz/fuzz.sh -index 6c8ce19a..c5b55979 100755 ---- a/test/fuzz/fuzz.sh -+++ b/test/fuzz/fuzz.sh -@@ -17,6 +17,8 @@ - current_dir=$(cd $(dirname $0) && pwd) - FUZZ_OPTION="${current_dir}/corpus -dict=${current_dir}/dict/im_oci_image_exist_fuzz.dict -runs=1000000 -max_total_time=3600" - VOLUME_FUZZ_OPTION="${current_dir}/corpus -dict=${current_dir}/dict/volume_fuzz.dict -runs=1000000 -max_total_time=3600" -+PW_FUZZ_OPTION="${current_dir}/corpus -dict=${current_dir}/dict/pw_fuzz.dict -runs=30000000 -max_total_time=10800" -+GR_FUZZ_OPTION="${current_dir}/corpus -dict=${current_dir}/dict/gr_fuzz.dict -runs=30000000 -max_total_time=10800" - - find /usr -name "libclang_rt.fuzzer-$(uname -m)*" - if [ $? != 0 ];then -@@ -34,6 +36,8 @@ ${current_dir}/im_config_image_exist_fuzz ${FUZZ_OPTION} -artifact_prefix=im_con - ${current_dir}/im_get_image_count_fuzz ${FUZZ_OPTION} -artifact_prefix=im_get_image_count_fuzz- - ${current_dir}/test_volume_mount_spec_fuzz ${VOLUME_FUZZ_OPTION} -artifact_prefix=test_volume_mount_spec_fuzz- - ${current_dir}/test_volume_parse_volume_fuzz ${VOLUME_FUZZ_OPTION} -artifact_prefix=test_volume_parse_volume_fuzz- -+${current_dir}/test_pw_obj_parser_fuzz ${PW_FUZZ_OPTION} -artifact_prefix=test_pw_obj_parser_fuzz- -+${current_dir}/test_gr_obj_parser_fuzz ${GR_FUZZ_OPTION} -artifact_prefix=test_gr_obj_parser_fuzz- - - # 查找crash文件 - -diff --git a/test/fuzz/test_gr_obj_parser_fuzz.cc b/test/fuzz/test_gr_obj_parser_fuzz.cc -new file mode 100644 -index 00000000..01db0cf2 ---- /dev/null -+++ b/test/fuzz/test_gr_obj_parser_fuzz.cc -@@ -0,0 +1,45 @@ -+/****************************************************************************** -+ * Copyright (c) Huawei Technologies Co., Ltd. 2018-2019. All rights reserved. -+ * iSulad licensed under the Mulan PSL v2. -+ * You can use this software according to the terms and conditions of the Mulan PSL v2. -+ * You may obtain a copy of Mulan PSL v2 at: -+ * http://license.coscl.org.cn/MulanPSL2 -+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR -+ * PURPOSE. -+ * See the Mulan PSL v2 for more details. -+ * Author: hejunjie -+ * Create: 2022-05-12 -+ * Description: provide fuzz test for parser of group object -+ ******************************************************************************/ -+ -+#include -+#include -+#include -+#include -+#include -+#include "utils_pwgr.h" -+ -+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -+{ -+ std::string testData(reinterpret_cast(data), size); -+ std::string fileName("grstreamfile.txt"); -+ struct group gr; -+ struct group *pgr = nullptr; -+ char buf[BUFSIZ]; -+ -+ std::ofstream outFile(fileName); -+ outFile << testData; -+ outFile.close(); -+ -+ FILE *f = fopen(fileName.c_str(), "r"); -+ -+ if (testData == "empty") { -+ util_getgrent_r(nullptr, &gr, buf, sizeof(buf), &pgr); -+ } else { -+ util_getgrent_r(f, &gr, buf, sizeof(buf), &pgr); -+ } -+ -+ fclose(f); -+ return 0; -+} -diff --git a/test/fuzz/test_pw_obj_parser_fuzz.cc b/test/fuzz/test_pw_obj_parser_fuzz.cc -new file mode 100644 -index 00000000..3a2195c6 ---- /dev/null -+++ b/test/fuzz/test_pw_obj_parser_fuzz.cc -@@ -0,0 +1,46 @@ -+/****************************************************************************** -+ * Copyright (c) Huawei Technologies Co., Ltd. 2018-2019. All rights reserved. -+ * iSulad licensed under the Mulan PSL v2. -+ * You can use this software according to the terms and conditions of the Mulan PSL v2. -+ * You may obtain a copy of Mulan PSL v2 at: -+ * http://license.coscl.org.cn/MulanPSL2 -+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR -+ * PURPOSE. -+ * See the Mulan PSL v2 for more details. -+ * Author: hejunjie -+ * Create: 2022-05-12 -+ * Description: provide fuzz test for passwd object parser -+ ******************************************************************************/ -+ -+#include -+#include -+#include -+#include -+#include -+#include "utils_pwgr.h" -+ -+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -+{ -+ std::string testData(reinterpret_cast(data), size); -+ std::string fileName("pwstreamfile.txt"); -+ struct passwd pw; -+ struct passwd *ppw = nullptr; -+ char buf[BUFSIZ]; -+ -+ std::ofstream outFile(fileName); -+ outFile << testData; -+ outFile.close(); -+ -+ FILE *f = fopen(fileName.c_str(), "r"); -+ -+ if (testData == "empty") { -+ util_getpwent_r(nullptr, &pw, buf, sizeof(buf), &ppw); -+ } else { -+ util_getpwent_r(f, &pw, buf, sizeof(buf), &ppw); -+ } -+ -+ fclose(f); -+ return 0; -+ -+} --- -2.32.1 (Apple Git-133) - diff --git a/0004-improve-fuzz-test.patch b/0004-improve-fuzz-test.patch deleted file mode 100644 index 706110a..0000000 --- a/0004-improve-fuzz-test.patch +++ /dev/null @@ -1,119 +0,0 @@ -From 31a92265a6bd29dc8f98179947406f1bb56ac5a8 Mon Sep 17 00:00:00 2001 -From: haozi007 -Date: Thu, 26 May 2022 13:53:09 +0100 -Subject: [PATCH 04/30] improve fuzz test - -Signed-off-by: haozi007 ---- - test/fuzz/CMakeLists.txt | 50 ++++++++++++++-------------- - test/fuzz/test_gr_obj_parser_fuzz.cc | 2 +- - test/fuzz/test_pw_obj_parser_fuzz.cc | 2 +- - test/mocks/oci_image_mock.cc | 2 +- - 4 files changed, 28 insertions(+), 28 deletions(-) - -diff --git a/test/fuzz/CMakeLists.txt b/test/fuzz/CMakeLists.txt -index 555c3813..8561b495 100644 ---- a/test/fuzz/CMakeLists.txt -+++ b/test/fuzz/CMakeLists.txt -@@ -1,6 +1,6 @@ - project(iSulad_UT) - --execute_process(COMMAND bash "-c" "find /usr -name *libclang_rt.fuzzer-${CMAKE_HOST_SYSTEM_PROCESSOR}*" -+execute_process(COMMAND bash "-c" "find /usr -name *libclang_rt.fuzzer-${CMAKE_HOST_SYSTEM_PROCESSOR}* | head -1" - OUTPUT_VARIABLE LIB_FUZZING_ENGINE - OUTPUT_STRIP_TRAILING_WHITESPACE) - -@@ -69,33 +69,33 @@ add_executable(${EXE4} - test_volume_parse_volume_fuzz.cc - ) - add_executable(${EXE5} -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_string.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_array.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_file.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_convert.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_verify.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_regex.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_pwgr.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/sha256/sha256.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/map/map.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/map/rb_tree.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/path.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/utils_string.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/utils.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/utils_array.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/utils_file.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/utils_convert.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/utils_verify.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/utils_regex.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/utils_pwgr.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/sha256/sha256.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/map/map.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/map/rb_tree.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/path.c - test_pw_obj_parser_fuzz.cc - ) - add_executable(${EXE6} -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_string.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_array.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_file.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_convert.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_verify.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_regex.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_pwgr.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/sha256/sha256.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/map/map.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/map/rb_tree.c -- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/path.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/utils_string.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/utils.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/utils_array.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/utils_file.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/utils_convert.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/utils_verify.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/utils_regex.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/utils_pwgr.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/sha256/sha256.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/map/map.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/map/rb_tree.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/cutils/path.c - test_gr_obj_parser_fuzz.cc - ) - -diff --git a/test/fuzz/test_gr_obj_parser_fuzz.cc b/test/fuzz/test_gr_obj_parser_fuzz.cc -index 01db0cf2..d43d153d 100644 ---- a/test/fuzz/test_gr_obj_parser_fuzz.cc -+++ b/test/fuzz/test_gr_obj_parser_fuzz.cc -@@ -1,5 +1,5 @@ - /****************************************************************************** -- * Copyright (c) Huawei Technologies Co., Ltd. 2018-2019. All rights reserved. -+ * Copyright (c) Huawei Technologies Co., Ltd. 2022. All rights reserved. - * iSulad licensed under the Mulan PSL v2. - * You can use this software according to the terms and conditions of the Mulan PSL v2. - * You may obtain a copy of Mulan PSL v2 at: -diff --git a/test/fuzz/test_pw_obj_parser_fuzz.cc b/test/fuzz/test_pw_obj_parser_fuzz.cc -index 3a2195c6..cf09f576 100644 ---- a/test/fuzz/test_pw_obj_parser_fuzz.cc -+++ b/test/fuzz/test_pw_obj_parser_fuzz.cc -@@ -1,5 +1,5 @@ - /****************************************************************************** -- * Copyright (c) Huawei Technologies Co., Ltd. 2018-2019. All rights reserved. -+ * Copyright (c) Huawei Technologies Co., Ltd. 2022. All rights reserved. - * iSulad licensed under the Mulan PSL v2. - * You can use this software according to the terms and conditions of the Mulan PSL v2. - * You may obtain a copy of Mulan PSL v2 at: -diff --git a/test/mocks/oci_image_mock.cc b/test/mocks/oci_image_mock.cc -index 8e975e3b..c333c0dd 100644 ---- a/test/mocks/oci_image_mock.cc -+++ b/test/mocks/oci_image_mock.cc -@@ -37,5 +37,5 @@ struct oci_image_module_data *get_oci_image_data(void) - if (g_oci_image_mock != nullptr) { - return g_oci_image_mock->GetOciImageData(); - } -- return { 0 }; -+ return nullptr; - } --- -2.32.1 (Apple Git-133) - diff --git a/0005-Seccomp-optimization.patch b/0005-Seccomp-optimization.patch deleted file mode 100644 index acbeaac..0000000 --- a/0005-Seccomp-optimization.patch +++ /dev/null @@ -1,262 +0,0 @@ -From 02167555e702316fe14cc963f9e978e9f66f59ba Mon Sep 17 00:00:00 2001 -From: chengzrz -Date: Fri, 24 Dec 2021 10:47:31 +0800 -Subject: [PATCH 05/30] Seccomp optimization - -Signed-off-by: chengzrz ---- - src/common/constants.h | 2 + - src/daemon/modules/spec/specs_security.c | 112 +++++++++++++++++++---- - src/utils/cutils/utils.c | 54 ++++++----- - 3 files changed, 128 insertions(+), 40 deletions(-) - -diff --git a/src/common/constants.h b/src/common/constants.h -index 60fb9abe..294f4b78 100644 ---- a/src/common/constants.h -+++ b/src/common/constants.h -@@ -142,6 +142,8 @@ extern "C" { - - /* RUNPATH is defined by -DRUNPATH=$value when execute cmake, default is "/var/run" */ - #define CLIENT_RUNDIR RUNPATH"/isula" -+#define SCMP_ARCH_X86_64 "SCMP_ARCH_X86_64" -+#define SCMP_ARCH_AARCH64 "SCMP_ARCH_AARCH64" - - typedef enum { - CONTAINER_STATUS_UNKNOWN = 0, -diff --git a/src/daemon/modules/spec/specs_security.c b/src/daemon/modules/spec/specs_security.c -index 658c2e1f..8a8b2d86 100644 ---- a/src/daemon/modules/spec/specs_security.c -+++ b/src/daemon/modules/spec/specs_security.c -@@ -457,45 +457,123 @@ static bool meet_filtering_rules(const docker_seccomp *seccomp, const docker_sec - return meet_include_arch && meet_include_cap && meet_exclude_arch && meet_exclude_cap; - } - --static size_t docker_seccomp_arches_count(const docker_seccomp *docker_seccomp_spec) -+static size_t docker_seccomp_arches_count(const char* seccomp_architecture, const docker_seccomp *docker_seccomp_spec) - { - size_t count = 0; - size_t i = 0; -- for (i = 0; i < docker_seccomp_spec->arch_map_len; i++) { -- count += docker_seccomp_spec->arch_map[i]->sub_architectures_len + 1; -+ -+ if (seccomp_architecture == NULL) { -+ ERROR("Invalid input seccomp architecture"); -+ return -1; -+ } -+ -+ for (i = 0; i < docker_seccomp_spec->arch_map_len; ++i) { -+ if (docker_seccomp_spec->arch_map[i] == NULL || docker_seccomp_spec->arch_map[i]->architecture == NULL) { -+ continue; -+ } -+ if (strcmp(seccomp_architecture, docker_seccomp_spec->arch_map[i]->architecture) == 0) { -+ count = docker_seccomp_spec->arch_map[i]->sub_architectures_len + 1; -+ break; -+ } -+ } -+ -+ if (count == 0) { -+ ERROR("seccomp architecture not found"); -+ count = -1; - } -+ - return count; - } - --static int dup_architectures_to_oci_spec(const docker_seccomp *docker_seccomp_spec, -+static int dup_architectures_to_oci_spec(const char* seccomp_architecture, const docker_seccomp *docker_seccomp_spec, - oci_runtime_config_linux_seccomp *oci_seccomp_spec) - { -+ size_t i = 0; -+ size_t j = 0; - size_t arch_size = 0; - -- arch_size = docker_seccomp_arches_count(docker_seccomp_spec); -- if (arch_size != 0) { -- size_t i; -- size_t j; -- if (arch_size > (SIZE_MAX / sizeof(char *))) { -- return -1; -- } -- oci_seccomp_spec->architectures = util_common_calloc_s(arch_size * sizeof(char *)); -- if (oci_seccomp_spec->architectures == NULL) { -- return -1; -+ if (seccomp_architecture == NULL) { -+ oci_seccomp_spec->architectures_len = 0; -+ return 0; -+ } -+ -+ arch_size = docker_seccomp_arches_count(seccomp_architecture, docker_seccomp_spec); -+ if (arch_size < 0) { -+ ERROR("Failed to get arches count from docker seccomp spec"); -+ return -1; -+ } -+ -+ oci_seccomp_spec->architectures = util_common_calloc_s(arch_size * sizeof(char *)); -+ if (oci_seccomp_spec->architectures == NULL) { -+ ERROR("Failed to calloc memory for architectures in seccomp spec"); -+ return -1; -+ } -+ -+ for (i = 0; i < docker_seccomp_spec->arch_map_len; ++i) { -+ if (docker_seccomp_spec->arch_map[i] == NULL || docker_seccomp_spec->arch_map[i]->architecture == NULL) { -+ continue; - } -- for (i = 0; i < docker_seccomp_spec->arch_map_len; i++) { -+ if (strcmp(seccomp_architecture, docker_seccomp_spec->arch_map[i]->architecture) == 0) { - oci_seccomp_spec->architectures[oci_seccomp_spec->architectures_len++] = - util_strdup_s(docker_seccomp_spec->arch_map[i]->architecture); -- for (j = 0; j < docker_seccomp_spec->arch_map[i]->sub_architectures_len; j++) { -+ -+ for (j = 0; j < docker_seccomp_spec->arch_map[i]->sub_architectures_len; ++j) { - oci_seccomp_spec->architectures[oci_seccomp_spec->architectures_len++] = - util_strdup_s(docker_seccomp_spec->arch_map[i]->sub_architectures[j]); - } -+ break; - } - } - - return 0; - } - -+// return 0 when normalized_arch has been properly set into seccomp spec -+static int normalized_arch_to_seccomp_arch(const char *host_arch, const docker_seccomp *docker_seccomp_spec, -+ oci_runtime_config_linux_seccomp *oci_seccomp_spec) -+{ -+ INFO("host architecture is %s", host_arch); -+ // x86 archs -+ if (strcasecmp(host_arch, "386") == 0 || strcasecmp(host_arch, "amd64") == 0) { -+ return dup_architectures_to_oci_spec(SCMP_ARCH_X86_64, docker_seccomp_spec, oci_seccomp_spec); -+ } -+ // arm archs -+ if (strcasecmp(host_arch, "arm64") == 0 || strcasecmp(host_arch, "arm") == 0) { -+ return dup_architectures_to_oci_spec(SCMP_ARCH_AARCH64, docker_seccomp_spec, oci_seccomp_spec); -+ } -+ //other archs -+ return dup_architectures_to_oci_spec(NULL, docker_seccomp_spec, oci_seccomp_spec); -+} -+ -+static int load_architectures_into_oci_spec(const docker_seccomp *docker_seccomp_spec, -+ oci_runtime_config_linux_seccomp *oci_seccomp_spec) -+{ -+ int ret = 0; -+ char *host_os = NULL; -+ char *host_arch = NULL; -+ char *host_variant = NULL; -+ -+ ret = util_normalized_host_os_arch(&host_os, &host_arch, &host_variant); -+ if (ret != 0) { -+ ERROR("get host os and arch for import failed"); -+ isulad_try_set_error_message("get host os and arch for import failed"); -+ goto out; -+ } -+ -+ ret = normalized_arch_to_seccomp_arch(host_arch, docker_seccomp_spec, oci_seccomp_spec); -+ if (ret != 0) { -+ ERROR("transfer normalized arch to seccomp arch failed"); -+ isulad_try_set_error_message("transfer normalized arch to seccomp arch failed"); -+ goto out; -+ } -+ -+out: -+ free(host_os); -+ free(host_arch); -+ free(host_variant); -+ return ret; -+} -+ - static int dup_syscall_args_to_oci_spec(const docker_seccomp_syscalls_element *docker_syscall, - defs_syscall *oci_syscall) - { -@@ -606,7 +684,7 @@ static oci_runtime_config_linux_seccomp *trans_docker_seccomp_to_oci_format(cons - oci_seccomp_spec->default_action = util_strdup_s(docker_seccomp_spec->default_action); - - // architectures -- if (dup_architectures_to_oci_spec(docker_seccomp_spec, oci_seccomp_spec)) { -+ if (load_architectures_into_oci_spec(docker_seccomp_spec, oci_seccomp_spec)) { - goto out; - } - -diff --git a/src/utils/cutils/utils.c b/src/utils/cutils/utils.c -index a647f7bc..278a72c5 100644 ---- a/src/utils/cutils/utils.c -+++ b/src/utils/cutils/utils.c -@@ -1353,6 +1353,7 @@ static char *get_cpu_variant() - int util_normalized_host_os_arch(char **host_os, char **host_arch, char **host_variant) - { - int ret = 0; -+ int i = 0; - struct utsname uts; - char *tmp_variant = NULL; - -@@ -1367,20 +1368,31 @@ int util_normalized_host_os_arch(char **host_os, char **host_arch, char **host_v - goto out; - } - -+ const char *arch_map[][2] = { { "i386", "386" }, -+ { "x86_64", "amd64" }, -+ { "x86-64", "amd64" }, -+ { "aarch64", "arm64" }, -+ { "armhf", "arm" }, -+ { "armel", "arm" }, -+ { "mips64le", "mips64le" }, -+ { "mips64el", "mips64le" } -+ }; -+ -+ const char *variant_map[][2] = { { "5", "v5" }, -+ { "6", "v6" }, -+ { "7", "v7" }, -+ { "8", "v8" } -+ }; -+ - *host_os = util_strings_to_lower(uts.sysname); -+ *host_arch = util_strdup_s(uts.machine); - -- if (strcasecmp("i386", uts.machine) == 0) { -- *host_arch = util_strdup_s("386"); -- } else if ((strcasecmp("x86_64", uts.machine) == 0) || (strcasecmp("x86-64", uts.machine) == 0)) { -- *host_arch = util_strdup_s("amd64"); -- } else if (strcasecmp("aarch64", uts.machine) == 0) { -- *host_arch = util_strdup_s("arm64"); -- } else if ((strcasecmp("armhf", uts.machine) == 0) || (strcasecmp("armel", uts.machine) == 0)) { -- *host_arch = util_strdup_s("arm"); -- } else if ((strcasecmp("mips64le", uts.machine) == 0) || (strcasecmp("mips64el", uts.machine) == 0)) { -- *host_arch = util_strdup_s("mips64le"); -- } else { -- *host_arch = util_strdup_s(uts.machine); -+ for (i = 0; i < sizeof(arch_map) / sizeof(arch_map[0]); ++i) { -+ if (strcasecmp(uts.machine, arch_map[i][0]) == 0) { -+ free(*host_arch); -+ *host_arch = util_strdup_s(arch_map[i][1]); -+ break; -+ } - } - - if (!strcmp(*host_arch, "arm") || !strcmp(*host_arch, "arm64")) { -@@ -1394,17 +1406,13 @@ int util_normalized_host_os_arch(char **host_os, char **host_arch, char **host_v - *host_variant = util_strdup_s("v7"); - } else if (!strcmp(*host_arch, "arm") && *host_variant != NULL) { - tmp_variant = *host_variant; -- *host_variant = NULL; -- if (!strcmp(tmp_variant, "5")) { -- *host_variant = util_strdup_s("v5"); -- } else if (!strcmp(tmp_variant, "6")) { -- *host_variant = util_strdup_s("v6"); -- } else if (!strcmp(tmp_variant, "7")) { -- *host_variant = util_strdup_s("v7"); -- } else if (!strcmp(tmp_variant, "8")) { -- *host_variant = util_strdup_s("v8"); -- } else { -- *host_variant = util_strdup_s(tmp_variant); -+ *host_variant = util_strdup_s(tmp_variant); -+ for (i = 0; i < sizeof(variant_map) / sizeof(variant_map[0]); ++i) { -+ if (!strcmp(tmp_variant, variant_map[i][0])) { -+ free(*host_variant); -+ *host_variant = util_strdup_s(variant_map[i][1]); -+ break; -+ } - } - free(tmp_variant); - tmp_variant = NULL; --- -2.32.1 (Apple Git-133) - diff --git a/0006-fix-different-type-convert.patch b/0006-fix-different-type-convert.patch deleted file mode 100644 index 5a5e6fc..0000000 --- a/0006-fix-different-type-convert.patch +++ /dev/null @@ -1,264 +0,0 @@ -From 1db2941da2eba089f3ed07c59f4925c857860023 Mon Sep 17 00:00:00 2001 -From: haozi007 -Date: Tue, 31 May 2022 03:33:16 +0100 -Subject: [PATCH 06/30] fix different type convert - -Signed-off-by: haozi007 ---- - src/cmd/isula/isula_host_spec.c | 23 ++++++++++++++----- - src/cmd/isula/stream/exec.c | 6 +++-- - src/cmd/isulad/isulad_commands.c | 11 +++++++-- - src/cmd/options/opt_ulimit.c | 9 ++++++-- - .../modules/runtime/engines/lcr/lcr_engine.c | 2 +- - src/daemon/modules/spec/specs_mount.c | 8 +++++-- - src/utils/http/parser.c | 2 +- - 7 files changed, 45 insertions(+), 16 deletions(-) - -diff --git a/src/cmd/isula/isula_host_spec.c b/src/cmd/isula/isula_host_spec.c -index 85451dd4..297f9299 100644 ---- a/src/cmd/isula/isula_host_spec.c -+++ b/src/cmd/isula/isula_host_spec.c -@@ -516,6 +516,7 @@ static int parse_blkio_throttle_bps_device(const char *device, char **path, uint - { - int ret = 0; - char **split = NULL; -+ int64_t converted = 0; - - split = util_string_split_multi(device, ':'); - if (split == NULL || util_array_len((const char **)split) != 2) { -@@ -530,13 +531,16 @@ static int parse_blkio_throttle_bps_device(const char *device, char **path, uint - goto out; - } - -- if (util_parse_byte_size_string(split[1], (int64_t *)rate) != 0) { -+ ret = util_parse_byte_size_string(split[1], &converted); -+ if (ret != 0 || converted < 0) { - COMMAND_ERROR("invalid rate for device: %s. The correct format is :[]." - " Number must be a positive integer. Unit is optional and can be kb, mb, or gb", - device); - ret = -1; - goto out; - } -+ -+ *rate = converted; - *path = util_strdup_s(split[0]); - - out: -@@ -691,6 +695,7 @@ static host_config_hugetlbs_element *pase_hugetlb_limit(const char *input) - char *trans_page = NULL; - uint64_t limit = 0; - uint64_t page = 0; -+ int64_t tconverted = 0; - host_config_hugetlbs_element *limit_element = NULL; - - temp = util_strdup_s(input); -@@ -704,18 +709,21 @@ static host_config_hugetlbs_element *pase_hugetlb_limit(const char *input) - goto free_out; - } - -- ret = util_parse_byte_size_string(limit_value, (int64_t *)(&limit)); -- if (ret != 0) { -+ ret = util_parse_byte_size_string(limit_value, &tconverted); -+ if (ret != 0 || tconverted < 0) { - COMMAND_ERROR("Parse limit value: %s failed:%s", limit_value, strerror(-ret)); - goto free_out; - } -+ limit = (uint64_t)tconverted; - - if (pagesize != NULL) { -- ret = util_parse_byte_size_string(pagesize, (int64_t *)(&page)); -- if (ret != 0) { -+ tconverted = 0; -+ ret = util_parse_byte_size_string(pagesize, &tconverted); -+ if (ret != 0 || tconverted < 0) { - COMMAND_ERROR("Parse pagesize error.Invalid hugepage size: %s: %s", pagesize, strerror(-ret)); - goto free_out; - } -+ page = (uint64_t)tconverted; - - trans_page = util_human_size(page); - if (trans_page == NULL) { -@@ -842,15 +850,18 @@ static bool parse_size(const char *input, const char *token, host_config_host_ch - uint64_t size = 0; - uint64_t mem_total_size = 0; - uint64_t mem_available_size = 0; -+ int64_t converted = 0; - - if (strcmp(token, "") == 0) { - host_channel->size = 64 * SIZE_MB; - return true; - } -- if (util_parse_byte_size_string(token, (int64_t *)(&size))) { -+ if (util_parse_byte_size_string(token, &converted) != 0 || converted < 0) { - COMMAND_ERROR("Invalid size limit for host channel: %s", input); - return false; - } -+ size = (uint64_t)converted; -+ - if (size < HOST_CHANNLE_MIN_SIZE) { - COMMAND_ERROR("Invalid size, larger than 4KB is allowed"); - return false; -diff --git a/src/cmd/isula/stream/exec.c b/src/cmd/isula/stream/exec.c -index aa702b90..df911d0b 100644 ---- a/src/cmd/isula/stream/exec.c -+++ b/src/cmd/isula/stream/exec.c -@@ -49,6 +49,7 @@ static int fill_exec_request(const struct client_arguments *args, const struct c - { - int ret = 0; - size_t i = 0; -+ size_t tconverted = 0; - char *new_env = NULL; - - request->name = util_strdup_s(args->name); -@@ -67,12 +68,13 @@ static int fill_exec_request(const struct client_arguments *args, const struct c - request->user = util_strdup_s(args->custom_conf.user); - request->workdir = util_strdup_s(args->custom_conf.workdir); - -- if (util_dup_array_of_strings((const char **)args->argv, args->argc, &(request->argv), -- (size_t *)(&request->argc)) != 0) { -+ ret = util_dup_array_of_strings((const char **)args->argv, args->argc, &(request->argv), &tconverted); -+ if (ret != 0 || tconverted >= INT_MAX) { - ERROR("Failed to dup args"); - ret = -1; - goto out; - } -+ request->argc = (int)tconverted; - - /* environment variables */ - for (i = 0; i < util_array_len((const char **)(args->extra_env)); i++) { -diff --git a/src/cmd/isulad/isulad_commands.c b/src/cmd/isulad/isulad_commands.c -index 2a0ccf92..f73a82e2 100644 ---- a/src/cmd/isulad/isulad_commands.c -+++ b/src/cmd/isulad/isulad_commands.c -@@ -517,7 +517,6 @@ out: - static int do_merge_conf_default_ulimit_into_global(struct service_arguments *args) - { - size_t i, j, json_default_ulimit_len; -- isulad_daemon_configs_default_ulimits_element *ptr = NULL; - - if (args->json_confs->default_ulimits == NULL) { - return 0; -@@ -525,6 +524,9 @@ static int do_merge_conf_default_ulimit_into_global(struct service_arguments *ar - - json_default_ulimit_len = args->json_confs->default_ulimits->len; - for (i = 0; i < json_default_ulimit_len; i++) { -+ isulad_daemon_configs_default_ulimits_element *ptr = NULL; -+ host_config_ulimits_element telem = { 0 }; -+ - ptr = args->json_confs->default_ulimits->values[i]; - for (j = 0; j < args->default_ulimit_len; j++) { - if (strcmp(ptr->name, args->default_ulimit[j]->name) == 0) { -@@ -532,12 +534,17 @@ static int do_merge_conf_default_ulimit_into_global(struct service_arguments *ar - } - } - -+ // ulimit of name setted, just update values - if (j < args->default_ulimit_len) { - args->default_ulimit[j]->soft = ptr->soft; - args->default_ulimit[j]->hard = ptr->hard; - continue; - } -- if (ulimit_array_append(&args->default_ulimit, (host_config_ulimits_element *)ptr, args->default_ulimit_len) != -+ -+ telem.name = ptr->name; -+ telem.hard = ptr->hard; -+ telem.soft = ptr->soft; -+ if (ulimit_array_append(&args->default_ulimit, &telem, args->default_ulimit_len) != - 0) { - ERROR("merge json confs default ulimit config failed"); - return -1; -diff --git a/src/cmd/options/opt_ulimit.c b/src/cmd/options/opt_ulimit.c -index 1a9c6165..b9eddf8a 100644 ---- a/src/cmd/options/opt_ulimit.c -+++ b/src/cmd/options/opt_ulimit.c -@@ -58,22 +58,27 @@ static void get_ulimit_split_parts(const char *val, char ***parts, size_t *parts - static int parse_soft_hard_ulimit(const char *val, char **limitvals, size_t limitvals_len, int64_t *soft, int64_t *hard) - { - int ret = 0; -+ long long converted = 0; -+ - // parse soft -- ret = util_safe_llong(limitvals[0], (long long *)soft); -+ ret = util_safe_llong(limitvals[0], &converted); - if (ret < 0) { - COMMAND_ERROR("Invalid ulimit soft value: \"%s\", parse int64 failed: %s", val, strerror(-ret)); - ret = -1; - goto out; - } -+ *soft = (int64_t)converted; - - // parse hard if exists - if (limitvals_len > 1) { -- ret = util_safe_llong(limitvals[1], (long long *)hard); -+ converted = 0; -+ ret = util_safe_llong(limitvals[1], &converted); - if (ret < 0) { - COMMAND_ERROR("Invalid ulimit hard value: \"%s\", parse int64 failed: %s", val, strerror(-ret)); - ret = -1; - goto out; - } -+ *hard = (int64_t)converted; - - if (*soft > *hard) { - COMMAND_ERROR("Ulimit soft limit must be less than or equal to hard limit: %lld > %lld", -diff --git a/src/daemon/modules/runtime/engines/lcr/lcr_engine.c b/src/daemon/modules/runtime/engines/lcr/lcr_engine.c -index 0d29e362..2ca12545 100644 ---- a/src/daemon/modules/runtime/engines/lcr/lcr_engine.c -+++ b/src/daemon/modules/runtime/engines/lcr/lcr_engine.c -@@ -30,7 +30,7 @@ - typedef bool (*lcr_state_op_t)(const char *name, const char *lcrpath, struct lcr_container_state *lcs); - typedef void (*lcr_container_state_free_t)(struct lcr_container_state *lcs); - typedef bool (*lcr_update_op_t)(const char *name, const char *lcrpath, struct lcr_cgroup_resources *cr); --typedef bool (*lcr_start_op_t)(struct lcr_start_request *request); -+typedef bool (*lcr_start_op_t)(const struct lcr_start_request *request); - typedef bool (*lcr_exec_op_t)(const struct lcr_exec_request *request, int *exit_code); - - static lcr_state_op_t g_lcr_state_op = NULL; -diff --git a/src/daemon/modules/spec/specs_mount.c b/src/daemon/modules/spec/specs_mount.c -index c89f077f..b35061d8 100644 ---- a/src/daemon/modules/spec/specs_mount.c -+++ b/src/daemon/modules/spec/specs_mount.c -@@ -2089,21 +2089,25 @@ static int parse_device_cgroup_rule(defs_device_cgroup *spec_dev_cgroup, const c - if (strcmp(file_mode[0], "*") == 0) { - spec_dev_cgroup->major = -1; - } else { -- if (util_safe_llong(file_mode[0], (long long *)&spec_dev_cgroup->major) != 0) { -+ long long converted = 0; -+ if (util_safe_llong(file_mode[0], &converted) != 0) { - ERROR("Invalid rule mode %s", file_mode[0]); - ret = -1; - goto free_out; - } -+ spec_dev_cgroup->major = converted; - } - - if (strcmp(file_mode[1], "*") == 0) { - spec_dev_cgroup->minor = -1; - } else { -- if (util_safe_llong(file_mode[1], (long long *)&spec_dev_cgroup->minor) != 0) { -+ long long converted = 0; -+ if (util_safe_llong(file_mode[1], &converted) != 0) { - ERROR("Invalid rule mode %s", file_mode[1]); - ret = -1; - goto free_out; - } -+ spec_dev_cgroup->minor = (int64_t)converted; - } - - free_out: -diff --git a/src/utils/http/parser.c b/src/utils/http/parser.c -index 5ea1677c..37475b33 100644 ---- a/src/utils/http/parser.c -+++ b/src/utils/http/parser.c -@@ -47,7 +47,7 @@ - #include "utils.h" - #include "isula_libutils/log.h" - --size_t strlncat(char *dststr, size_t size, const char *srcstr, size_t nsize) -+static size_t strlncat(char *dststr, size_t size, const char *srcstr, size_t nsize) - { - size_t ssize, dsize; - --- -2.32.1 (Apple Git-133) - diff --git a/0007-add-pointer-parameters-NULL-check.patch b/0007-add-pointer-parameters-NULL-check.patch deleted file mode 100644 index aa4d354..0000000 --- a/0007-add-pointer-parameters-NULL-check.patch +++ /dev/null @@ -1,226 +0,0 @@ -From 17b6015d5abe3500a5a89d171af79698e57545f2 Mon Sep 17 00:00:00 2001 -From: zhangxiaoyu -Date: Tue, 31 May 2022 19:35:35 +0800 -Subject: [PATCH 07/30] add pointer parameters NULL check - -Signed-off-by: zhangxiaoyu -Signed-off-by: haozi007 ---- - src/cmd/isula/extend/update.c | 24 +++++++++---------- - src/cmd/isula/extend/update.h | 1 - - src/cmd/isula/isula_commands.c | 2 +- - src/cmd/isula/isula_commands.h | 2 -- - src/daemon/config/isulad_config.c | 4 ++++ - src/daemon/modules/api/container_api.h | 2 -- - src/daemon/modules/api/plugin_api.h | 1 - - .../modules/container/container_state.c | 2 +- - .../modules/container/containers_store.c | 5 ++++ - .../graphdriver/devmapper/deviceset.c | 2 +- - .../graphdriver/overlay2/driver_overlay2.c | 2 +- - src/daemon/modules/plugin/plugin.c | 2 +- - src/daemon/modules/spec/specs_extend.c | 4 ++++ - 13 files changed, 30 insertions(+), 23 deletions(-) - -diff --git a/src/cmd/isula/extend/update.c b/src/cmd/isula/extend/update.c -index a9b0fccf..27cd07c0 100644 ---- a/src/cmd/isula/extend/update.c -+++ b/src/cmd/isula/extend/update.c -@@ -86,6 +86,18 @@ error_out: - return NULL; - } - -+static int update_checker(const struct client_arguments *args) -+{ -+ int ret = 0; -+ -+ if (args->argc == 0) { -+ COMMAND_ERROR("Update requires at least 1 container names"); -+ return EINVALIDARGS; -+ } -+ -+ return ret; -+} -+ - static int client_update(const struct client_arguments *args) - { - int ret = 0; -@@ -191,15 +203,3 @@ int cmd_update_main(int argc, const char **argv) - - return ret; - } -- --int update_checker(const struct client_arguments *args) --{ -- int ret = 0; -- -- if (args->argc == 0) { -- COMMAND_ERROR("Update requires at least 1 container names"); -- return EINVALIDARGS; -- } -- -- return ret; --} -diff --git a/src/cmd/isula/extend/update.h b/src/cmd/isula/extend/update.h -index a527b46a..15a6ce59 100644 ---- a/src/cmd/isula/extend/update.h -+++ b/src/cmd/isula/extend/update.h -@@ -114,7 +114,6 @@ extern const char g_cmd_update_desc[]; - extern const char g_cmd_update_usage[]; - extern struct client_arguments g_cmd_update_args; - int cmd_update_main(int argc, const char **argv); --int update_checker(const struct client_arguments *args); - - #ifdef __cplusplus - } -diff --git a/src/cmd/isula/isula_commands.c b/src/cmd/isula/isula_commands.c -index db37f705..89d9ca96 100644 ---- a/src/cmd/isula/isula_commands.c -+++ b/src/cmd/isula/isula_commands.c -@@ -94,7 +94,7 @@ static void print_version() - } - - /* compare commands */ --int compare_commands(const void *s1, const void *s2) -+static int compare_commands(const void *s1, const void *s2) - { - return strcmp((*(const struct command *)s1).name, (*(const struct command *)s2).name); - } -diff --git a/src/cmd/isula/isula_commands.h b/src/cmd/isula/isula_commands.h -index 0518025f..1ee773ee 100644 ---- a/src/cmd/isula/isula_commands.h -+++ b/src/cmd/isula/isula_commands.h -@@ -44,8 +44,6 @@ struct command { - // NOTE: Command arrays must end in a command with all member is NULL - const struct command *command_by_name(const struct command *cmds, const char * const name); - --int compare_commands(const void *s1, const void *s2); -- - // Default help command if implementation doesn't prvide one - int command_default_help(const char * const program_name, struct command *commands, int argc, const char **argv); - -diff --git a/src/daemon/config/isulad_config.c b/src/daemon/config/isulad_config.c -index 287e5707..92d86a3b 100644 ---- a/src/daemon/config/isulad_config.c -+++ b/src/daemon/config/isulad_config.c -@@ -1069,6 +1069,10 @@ int conf_get_isulad_default_ulimit(host_config_ulimits_element ***ulimit) - size_t i, ulimit_len; - struct service_arguments *conf = NULL; - -+ if (ulimit == NULL) { -+ return -1; -+ } -+ - if (isulad_server_conf_rdlock() != 0) { - return -1; - } -diff --git a/src/daemon/modules/api/container_api.h b/src/daemon/modules/api/container_api.h -index 3b7f2889..1140d4d5 100644 ---- a/src/daemon/modules/api/container_api.h -+++ b/src/daemon/modules/api/container_api.h -@@ -244,8 +244,6 @@ char *container_state_get_started_at(container_state_t *s); - - bool container_is_valid_state_string(const char *state); - --int container_dup_health_check_status(defs_health **dst, const defs_health *src); -- - void container_update_health_monitor(const char *container_id); - - extern int container_supervisor_add_exit_monitor(int fd, const pid_ppid_info_t *pid_info, const char *name, -diff --git a/src/daemon/modules/api/plugin_api.h b/src/daemon/modules/api/plugin_api.h -index 82011363..4346b9e9 100644 ---- a/src/daemon/modules/api/plugin_api.h -+++ b/src/daemon/modules/api/plugin_api.h -@@ -68,7 +68,6 @@ plugin_t *plugin_new(const char *name, const char *addr); - void plugin_get(plugin_t *plugin); /* ref++ */ - void plugin_put(plugin_t *plugin); /* ref-- */ - --int plugin_set_activated(plugin_t *plugin, bool activated, const char *errmsg); - int plugin_set_manifest(plugin_t *plugin, const plugin_manifest_t *manifest); - bool plugin_is_watching(plugin_t *plugin, uint64_t pe); - -diff --git a/src/daemon/modules/container/container_state.c b/src/daemon/modules/container/container_state.c -index 834901f3..efcbe852 100644 ---- a/src/daemon/modules/container/container_state.c -+++ b/src/daemon/modules/container/container_state.c -@@ -462,7 +462,7 @@ Container_Status container_state_get_status(container_state_t *s) - return status; - } - --int container_dup_health_check_status(defs_health **dst, const defs_health *src) -+static int container_dup_health_check_status(defs_health **dst, const defs_health *src) - { - int ret = 0; - size_t i = 0; -diff --git a/src/daemon/modules/container/containers_store.c b/src/daemon/modules/container/containers_store.c -index 42972392..e0700296 100644 ---- a/src/daemon/modules/container/containers_store.c -+++ b/src/daemon/modules/container/containers_store.c -@@ -247,6 +247,11 @@ int containers_store_list(container_t ***out, size_t *size) - container_t **conts = NULL; - map_itor *itor = NULL; - -+ if (out == NULL || size == NULL) { -+ ERROR("Invalid arguments"); -+ return -1; -+ } -+ - if (pthread_rwlock_rdlock(&g_containers_store->rwlock) != 0) { - ERROR("lock memory store failed"); - return -1; -diff --git a/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c b/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c -index 728b0a62..e20d4f1b 100644 ---- a/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c -+++ b/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c -@@ -3019,7 +3019,7 @@ int unmount_device(const char *hash, const char *mount_path, struct device_set * - int ret = 0; - devmapper_device_info_t *device_info = NULL; - -- if (hash == NULL || mount_path == NULL) { -+ if (hash == NULL || mount_path == NULL || devset == NULL) { - ERROR("devmapper: invalid input params to unmount device"); - return -1; - } -diff --git a/src/daemon/modules/image/oci/storage/layer_store/graphdriver/overlay2/driver_overlay2.c b/src/daemon/modules/image/oci/storage/layer_store/graphdriver/overlay2/driver_overlay2.c -index 6d1832be..7a45f880 100644 ---- a/src/daemon/modules/image/oci/storage/layer_store/graphdriver/overlay2/driver_overlay2.c -+++ b/src/daemon/modules/image/oci/storage/layer_store/graphdriver/overlay2/driver_overlay2.c -@@ -2123,7 +2123,7 @@ int overlay2_get_layer_fs_info(const char *id, const struct graphdriver *driver, - char *layer_dir = NULL; - char *layer_diff = NULL; - -- if (id == NULL || fs_info == NULL) { -+ if (id == NULL || driver == NULL || fs_info == NULL) { - ERROR("Invalid input arguments"); - return -1; - } -diff --git a/src/daemon/modules/plugin/plugin.c b/src/daemon/modules/plugin/plugin.c -index 4a14ee46..4cea2b2a 100644 ---- a/src/daemon/modules/plugin/plugin.c -+++ b/src/daemon/modules/plugin/plugin.c -@@ -785,7 +785,7 @@ bad: - return NULL; - } - --int plugin_set_activated(plugin_t *plugin, bool activated, const char *errmsg) -+static int plugin_set_activated(plugin_t *plugin, bool activated, const char *errmsg) - { - plugin_wrlock(plugin); - plugin->activated = activated; -diff --git a/src/daemon/modules/spec/specs_extend.c b/src/daemon/modules/spec/specs_extend.c -index 7f43ae57..6276a586 100644 ---- a/src/daemon/modules/spec/specs_extend.c -+++ b/src/daemon/modules/spec/specs_extend.c -@@ -496,6 +496,10 @@ int make_sure_oci_spec_linux_resources(oci_runtime_spec *oci_spec) - { - int ret = 0; - -+ if (oci_spec == NULL) { -+ return -1; -+ } -+ - ret = make_sure_oci_spec_linux(oci_spec); - if (ret < 0) { - return -1; --- -2.32.1 (Apple Git-133) - diff --git a/0008-add-check-to-arguments.patch b/0008-add-check-to-arguments.patch deleted file mode 100644 index c26c6ba..0000000 --- a/0008-add-check-to-arguments.patch +++ /dev/null @@ -1,533 +0,0 @@ -From 56c2a6a98d51ea893939079cc31e3a7897fa5aba Mon Sep 17 00:00:00 2001 -From: haozi007 -Date: Tue, 31 May 2022 12:53:10 +0100 -Subject: [PATCH 08/30] add check to arguments - -Signed-off-by: haozi007 ---- - src/cmd/isula/base/create.c | 7 ++- - src/cmd/isula/stream/attach.c | 5 ++ - src/cmd/isulad/isulad_commands.c | 2 +- - src/daemon/common/err_msg.c | 5 +- - src/daemon/common/selinux_label.c | 7 ++- - src/daemon/common/sysinfo.c | 9 +++ - src/daemon/config/isulad_config.c | 9 +++ - src/daemon/modules/api/plugin_api.h | 1 - - src/daemon/modules/image/image.c | 6 ++ - .../modules/image/oci/oci_common_operators.c | 2 +- - .../graphdriver/devmapper/deviceset.c | 5 ++ - .../graphdriver/devmapper/metadata_store.c | 4 ++ - src/daemon/modules/plugin/plugin.c | 58 ++----------------- - src/utils/console/console.c | 10 ++++ - src/utils/cutils/filters.c | 2 +- - src/utils/cutils/map/rb_tree.c | 4 ++ - src/utils/cutils/path.c | 5 ++ - src/utils/cutils/utils.c | 48 +++++++-------- - src/utils/http/http.c | 7 ++- - src/utils/http/parser.c | 5 ++ - test/path/path_ut.cc | 5 ++ - 21 files changed, 120 insertions(+), 86 deletions(-) - -diff --git a/src/cmd/isula/base/create.c b/src/cmd/isula/base/create.c -index ce485f0d..2db2fd21 100644 ---- a/src/cmd/isula/base/create.c -+++ b/src/cmd/isula/base/create.c -@@ -393,7 +393,7 @@ static int read_label_from_file(const char *path, size_t file_size, isula_contai - if (file_size == 0) { - return 0; - } -- fp = fopen(path, "re"); -+ fp = util_fopen(path, "re"); - if (fp == NULL) { - ERROR("Failed to open '%s'", path); - return -1; -@@ -1477,12 +1477,13 @@ int callback_log_opt(command_option_t *option, const char *value) - - int callback_log_driver(command_option_t *option, const char *value) - { -- struct client_arguments *args = (struct client_arguments *)option->data; -+ struct client_arguments *args = NULL; - -- if (value == NULL) { -+ if (value == NULL || option == NULL) { - COMMAND_ERROR("log driver is NULL"); - return -1; - } -+ args = (struct client_arguments *)option->data; - - if (!check_opt_container_log_driver(value)) { - COMMAND_ERROR("Unsupported log driver: %s", value); -diff --git a/src/cmd/isula/stream/attach.c b/src/cmd/isula/stream/attach.c -index 3a434bca..9cc19161 100644 ---- a/src/cmd/isula/stream/attach.c -+++ b/src/cmd/isula/stream/attach.c -@@ -104,6 +104,11 @@ int inspect_container(const struct client_arguments *args, container_inspect **i - isula_connect_ops *ops = NULL; - parser_error perr = NULL; - -+ if (inspect_data == NULL) { -+ COMMAND_ERROR("Empty inspect data"); -+ return -1; -+ } -+ - inspect_response = util_common_calloc_s(sizeof(struct isula_inspect_response)); - if (inspect_response == NULL) { - COMMAND_ERROR("Out of memory"); -diff --git a/src/cmd/isulad/isulad_commands.c b/src/cmd/isulad/isulad_commands.c -index f73a82e2..89d91c1b 100644 ---- a/src/cmd/isulad/isulad_commands.c -+++ b/src/cmd/isulad/isulad_commands.c -@@ -657,7 +657,7 @@ static int check_conf_default_ulimit(const struct service_arguments *args) - ret = -1; - goto out; - } -- if (strcmp(ptr->name, type) != 0) { -+ if (type == NULL || strcmp(ptr->name, type) != 0) { - COMMAND_ERROR("Ulimit Name \"%s\" must same as type \"%s\" in %s", ptr->name, type, - ISULAD_DAEMON_JSON_CONF_FILE); - ret = -1; -diff --git a/src/daemon/common/err_msg.c b/src/daemon/common/err_msg.c -index 739cb353..3e62fad6 100644 ---- a/src/daemon/common/err_msg.c -+++ b/src/daemon/common/err_msg.c -@@ -29,8 +29,11 @@ void isulad_set_error_message(const char *format, ...) - { - int ret = 0; - char errbuf[BUFSIZ + 1] = { 0 }; -- - va_list argp; -+ -+ if (format == NULL) { -+ return; -+ } - va_start(argp, format); - - ret = vsnprintf(errbuf, BUFSIZ, format, argp); -diff --git a/src/daemon/common/selinux_label.c b/src/daemon/common/selinux_label.c -index 5468111e..533393a6 100644 ---- a/src/daemon/common/selinux_label.c -+++ b/src/daemon/common/selinux_label.c -@@ -602,7 +602,7 @@ static int container_label(char **process_label, char **file_label) - return -1; - } - -- file = fopen(lxc_path, "re"); -+ file = util_fopen(lxc_path, "re"); - if (file == NULL) { - ERROR("Failed to open '%s'", lxc_path); - return -1; -@@ -782,6 +782,11 @@ int init_label(const char **label_opts, size_t label_opts_len, char **dst_proces - return 0; - } - -+ if (label_opts == NULL || dst_process_label == NULL || dst_mount_label == NULL) { -+ ERROR("Empty arguments"); -+ return -1; -+ } -+ - if (container_label(&process_label, &mount_label) != 0) { - ret = -1; - goto out; -diff --git a/src/daemon/common/sysinfo.c b/src/daemon/common/sysinfo.c -index 6fb4ec38..89ca5225 100644 ---- a/src/daemon/common/sysinfo.c -+++ b/src/daemon/common/sysinfo.c -@@ -915,6 +915,11 @@ int find_cgroup_mountpoint_and_root(const char *subsystem, char **mountpoint, ch - size_t length = 0; - char *pline = NULL; - -+ if (subsystem == NULL) { -+ ERROR("Empty subsystem"); -+ return -1; -+ } -+ - fp = util_fopen("/proc/self/mountinfo", "r"); - if (fp == NULL) { - ERROR("Failed to open \"/proc/self/mountinfo\"\n"); -@@ -1566,6 +1571,10 @@ mountinfo_t *find_mount_info(mountinfo_t **minfos, const char *dir) - { - mountinfo_t **it = NULL; - -+ if (dir == NULL) { -+ return NULL; -+ } -+ - for (it = minfos; it && *it; it++) { - if ((*it)->mountpoint && !strcmp((*it)->mountpoint, dir)) { - return *it; -diff --git a/src/daemon/config/isulad_config.c b/src/daemon/config/isulad_config.c -index 92d86a3b..38d2a0bf 100644 ---- a/src/daemon/config/isulad_config.c -+++ b/src/daemon/config/isulad_config.c -@@ -227,6 +227,10 @@ int conf_get_cgroup_cpu_rt(int64_t *cpu_rt_period, int64_t *cpu_rt_runtime) - { - struct service_arguments *conf = NULL; - -+ if (cpu_rt_period == NULL || cpu_rt_runtime == NULL) { -+ return -1; -+ } -+ - if (isulad_server_conf_rdlock() != 0) { - return -1; - } -@@ -776,6 +780,11 @@ out: - - int conf_get_daemon_log_config(char **loglevel, char **logdriver, char **engine_log_path) - { -+ if (loglevel == NULL || logdriver == NULL || engine_log_path == NULL) { -+ ERROR("Empty arguments"); -+ return -1; -+ } -+ - *loglevel = conf_get_isulad_loglevel(); - if (*loglevel == NULL) { - ERROR("DoStart: Failed to get log level"); -diff --git a/src/daemon/modules/api/plugin_api.h b/src/daemon/modules/api/plugin_api.h -index 4346b9e9..303ba6bf 100644 ---- a/src/daemon/modules/api/plugin_api.h -+++ b/src/daemon/modules/api/plugin_api.h -@@ -101,7 +101,6 @@ int pm_del_plugin(const plugin_t *plugin); - */ - int pm_get_plugin(const char *name, plugin_t **rplugin); - void pm_put_plugin(plugin_t *plugin); --int pm_get_plugins_nolock(uint64_t pe, plugin_t ***rplugins, size_t *count); - - int start_plugin_manager(void); - int plugin_event_container_pre_create(const char *cid, oci_runtime_spec *ocic); -diff --git a/src/daemon/modules/image/image.c b/src/daemon/modules/image/image.c -index 6832aec3..f487f831 100644 ---- a/src/daemon/modules/image/image.c -+++ b/src/daemon/modules/image/image.c -@@ -831,11 +831,17 @@ static int append_images_to_response(im_list_response *response, imagetool_image - out: - return ret; - } -+ - int im_list_images(const im_list_request *ctx, im_list_response **response) - { - size_t i; - imagetool_images_list *images_tmp = NULL; - -+ if (response == NULL) { -+ ERROR("Empty arguments"); -+ return -1; -+ } -+ - *response = util_common_calloc_s(sizeof(im_list_response)); - if (*response == NULL) { - ERROR("Out of memory"); -diff --git a/src/daemon/modules/image/oci/oci_common_operators.c b/src/daemon/modules/image/oci/oci_common_operators.c -index 09405651..fd23096a 100644 ---- a/src/daemon/modules/image/oci/oci_common_operators.c -+++ b/src/daemon/modules/image/oci/oci_common_operators.c -@@ -459,7 +459,7 @@ int oci_status_image(im_status_request *request, im_status_response *response) - char *image_ref = NULL; - char *resolved_name = NULL; - -- if (response == NULL) { -+ if (request == NULL || response == NULL) { - ERROR("Invalid arguments"); - return -1; - } -diff --git a/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c b/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c -index e20d4f1b..d90dde50 100644 ---- a/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c -+++ b/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c -@@ -3183,6 +3183,11 @@ struct status *device_set_status(struct device_set *devset) - int sem_usz = 0; - int sem_mni = 0; - -+ if (devset == NULL) { -+ ERROR("empty arguments"); -+ return NULL; -+ } -+ - if (pthread_rwlock_wrlock(&(devset->devmapper_driver_rwlock)) != 0) { - ERROR("lock devmapper conf failed"); - return NULL; -diff --git a/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/metadata_store.c b/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/metadata_store.c -index c8d10b7a..93fc9758 100644 ---- a/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/metadata_store.c -+++ b/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/metadata_store.c -@@ -201,6 +201,10 @@ char **metadata_store_list_hashes(metadata_store_t *meta_store) - char **hashes_array = NULL; - map_itor *itor = NULL; - -+ if (meta_store == NULL) { -+ return NULL; -+ } -+ - if (map_size(meta_store->map) == 0) { - DEBUG("Metadata store hash list is empty"); - ret = true; -diff --git a/src/daemon/modules/plugin/plugin.c b/src/daemon/modules/plugin/plugin.c -index 4cea2b2a..4e343a20 100644 ---- a/src/daemon/modules/plugin/plugin.c -+++ b/src/daemon/modules/plugin/plugin.c -@@ -760,8 +760,14 @@ plugin_t *plugin_new(const char *name, const char *addr) - plugin_t *plugin = NULL; - int errcode = 0; - -+ if (name == NULL || addr == NULL) { -+ ERROR("Empty arguments"); -+ return NULL; -+ } -+ - plugin = util_common_calloc_s(sizeof(plugin_t)); - if (plugin == NULL) { -+ ERROR("Out of memory"); - goto bad; - } - -@@ -1234,58 +1240,6 @@ void pm_put_plugin(plugin_t *plugin) - plugin_put(plugin); - } - --int pm_get_plugins_nolock(uint64_t pe, plugin_t ***rplugins, size_t *count) --{ -- int ret = 0; -- int i = 0; -- size_t size = 0; -- plugin_t **plugins = NULL; -- map_itor *itor = NULL; -- -- size = map_size(g_plugin_manager->np); -- if (size == 0) { /* empty */ -- return 0; -- } -- if (size > SIZE_MAX / sizeof(plugin_t *)) { -- ret = -1; -- ERROR("Invalid plugins size"); -- goto out; -- } -- -- plugins = util_common_calloc_s(sizeof(plugin_t *) * size); -- if (plugins == NULL) { -- ret = -1; -- ERROR("Out of memory"); -- goto out; -- } -- -- itor = map_itor_new(g_plugin_manager->np); -- if (itor == NULL) { -- ret = -1; -- ERROR("Out of memory"); -- goto out; -- } -- -- for (i = 0; i < (int)size && map_itor_valid(itor); i++, map_itor_next(itor)) { -- plugins[i] = map_itor_value(itor); -- /* plugin_put() called in pm_put_plugins() */ -- plugin_get(plugins[i]); -- } -- -- *rplugins = plugins; -- *count = (size_t)i; -- --out: -- map_itor_free(itor); -- itor = NULL; -- -- if (ret < 0) { -- UTIL_FREE_AND_SET_NULL(plugins); -- } -- -- return ret; --} -- - static void pm_np_item_free(void *key, void *val) - { - plugin_t *plugin = val; -diff --git a/src/utils/console/console.c b/src/utils/console/console.c -index 17c8b242..8492eb4d 100644 ---- a/src/utils/console/console.c -+++ b/src/utils/console/console.c -@@ -253,6 +253,11 @@ int console_fifo_open(const char *fifo_path, int *fdout, int flags) - { - int fd = 0; - -+ if (fifo_path ==NULL || fdout == NULL) { -+ ERROR("Argument must not be NULL"); -+ return -1; -+ } -+ - fd = util_open(fifo_path, flags, (mode_t)0); - if (fd < 0) { - ERROR("Failed to open fifo %s to send message: %s.", fifo_path, strerror(errno)); -@@ -302,6 +307,11 @@ int setup_tios(int fd, struct termios *curr_tios) - struct termios tmptios; - int ret = 0; - -+ if (curr_tios == NULL) { -+ ERROR("Empty terminal io setting"); -+ return -1; -+ } -+ - if (!isatty(fd)) { - ERROR("Specified fd: '%d' is not a tty", fd); - return -1; -diff --git a/src/utils/cutils/filters.c b/src/utils/cutils/filters.c -index a8fa220f..1885e9cc 100644 ---- a/src/utils/cutils/filters.c -+++ b/src/utils/cutils/filters.c -@@ -66,7 +66,7 @@ char **filters_args_get(const struct filters_args *filters, const char *field) - map_t *field_values_map = NULL; - map_itor *itor = NULL; - -- if (filters == NULL || filters->fields == NULL) { -+ if (filters == NULL || filters->fields == NULL || field == NULL) { - return NULL; - } - -diff --git a/src/utils/cutils/map/rb_tree.c b/src/utils/cutils/map/rb_tree.c -index ddae0646..b63165d5 100644 ---- a/src/utils/cutils/map/rb_tree.c -+++ b/src/utils/cutils/map/rb_tree.c -@@ -133,6 +133,10 @@ void rbtree_clear(rb_tree_t *tree) - - void rbtree_free(rb_tree_t *tree) - { -+ if (tree == NULL) { -+ return; -+ } -+ - rbtree_clear(tree); - free(tree->nil); - tree->nil = NULL; -diff --git a/src/utils/cutils/path.c b/src/utils/cutils/path.c -index f195257d..2446f479 100644 ---- a/src/utils/cutils/path.c -+++ b/src/utils/cutils/path.c -@@ -590,6 +590,11 @@ int util_resolve_path(const char *rootpath, const char *path, char **resolvedpat - char tmppath[PATH_MAX] = { 0 }; - char cleanedpath[PATH_MAX] = { 0 }; - -+ if (abspath == NULL || resolvedpath == NULL || rootpath == NULL) { -+ ERROR("Empty arguments"); -+ return -1; -+ } -+ - *resolvedpath = NULL; - *abspath = NULL; - -diff --git a/src/utils/cutils/utils.c b/src/utils/cutils/utils.c -index 278a72c5..30ff629f 100644 ---- a/src/utils/cutils/utils.c -+++ b/src/utils/cutils/utils.c -@@ -1475,32 +1475,32 @@ void util_parse_user_group(const char *username, char **user, char **group, char - return; - } - -- if (username != NULL) { -- tmp = util_strdup_s(username); -- -- // for free tmp in caller -- *tmp_dup = tmp; -- -- pdot = strstr(tmp, ":"); -- if (pdot != NULL) { -- *pdot = '\0'; -- if (pdot != tmp) { -- // User found -- *user = tmp; -- } -- if (*(pdot + 1) != '\0') { -- // group found -- *group = pdot + 1; -- } -- } else { -- // No : found -- if (*tmp != '\0') { -- *user = tmp; -- } -- } -+ if (username == NULL) { -+ return; - } - -- return; -+ tmp = util_strdup_s(username); -+ -+ // for free tmp in caller -+ *tmp_dup = tmp; -+ -+ pdot = strstr(tmp, ":"); -+ if (pdot != NULL) { -+ *pdot = '\0'; -+ if (pdot != tmp) { -+ // User found -+ *user = tmp; -+ } -+ if (*(pdot + 1) != '\0') { -+ // group found -+ *group = pdot + 1; -+ } -+ } else { -+ // No : found -+ if (*tmp != '\0') { -+ *user = tmp; -+ } -+ } - } - - defs_map_string_object *dup_map_string_empty_object(defs_map_string_object *src) -diff --git a/src/utils/http/http.c b/src/utils/http/http.c -index 0b53cf1e..e4788efd 100644 ---- a/src/utils/http/http.c -+++ b/src/utils/http/http.c -@@ -241,7 +241,7 @@ static void http_custom_general_options(CURL *curl_handle, const struct http_get - - static int http_custom_options(CURL *curl_handle, const struct http_get_options *options) - { -- if (curl_handle == NULL || options == NULL) { -+ if (curl_handle == NULL) { - return -1; - } - -@@ -413,6 +413,11 @@ int http_request(const char *url, struct http_get_options *options, long *respon - size_t fsize = 0; - char *replaced_url = 0; - -+ if (url == NULL || options == NULL) { -+ ERROR("must set url and options to use http request"); -+ return -1; -+ } -+ - if (recursive_len + 1 >= MAX_REDIRCT_NUMS) { - ERROR("reach the max redirect num"); - return -1; -diff --git a/src/utils/http/parser.c b/src/utils/http/parser.c -index 37475b33..0e0e603b 100644 ---- a/src/utils/http/parser.c -+++ b/src/utils/http/parser.c -@@ -319,6 +319,11 @@ char *get_header_value(const struct parsed_http_message *m, const char *header) - int i = 0; - char *ret = NULL; - -+ if (m == NULL || header == NULL) { -+ ERROR("Empty arguments"); -+ return NULL; -+ } -+ - for (i = 0; i < m->num_headers; i++) { - if (strcasecmp(m->headers[i][0], header) == 0) { - ret = (char *)m->headers[i][1]; -diff --git a/test/path/path_ut.cc b/test/path/path_ut.cc -index ce6dcc08..0068ecb4 100644 ---- a/test/path/path_ut.cc -+++ b/test/path/path_ut.cc -@@ -311,6 +311,11 @@ TEST(path_ut, test_resolve_path) - char *resolvedpath = nullptr; - char *abspath = nullptr; - -+ rootpath = "/home"; -+ path = "/home/dir/test"; -+ ASSERT_EQ(util_resolve_path(rootpath.c_str(), path.c_str(), nullptr, &abspath), -1); -+ ASSERT_EQ(util_resolve_path(rootpath.c_str(), path.c_str(), &resolvedpath, nullptr), -1); -+ - ASSERT_EQ(util_resolve_path(nullptr, nullptr, &resolvedpath, &abspath), -1); - free(resolvedpath); - resolvedpath = nullptr; --- -2.32.1 (Apple Git-133) - diff --git a/0009-remove-static-of-strlncat.patch b/0009-remove-static-of-strlncat.patch deleted file mode 100644 index 8c9776b..0000000 --- a/0009-remove-static-of-strlncat.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 9133e2159e9e69434b41e9649762f8eaed191f37 Mon Sep 17 00:00:00 2001 -From: zhangxiaoyu -Date: Tue, 31 May 2022 22:39:44 +0800 -Subject: [PATCH 09/30] remove static of strlncat - -Signed-off-by: zhangxiaoyu ---- - src/utils/http/parser.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/utils/http/parser.c b/src/utils/http/parser.c -index 0e0e603b..12df2435 100644 ---- a/src/utils/http/parser.c -+++ b/src/utils/http/parser.c -@@ -47,7 +47,7 @@ - #include "utils.h" - #include "isula_libutils/log.h" - --static size_t strlncat(char *dststr, size_t size, const char *srcstr, size_t nsize) -+size_t strlncat(char *dststr, size_t size, const char *srcstr, size_t nsize) - { - size_t ssize, dsize; - --- -2.32.1 (Apple Git-133) - diff --git a/0010-remove-check-parameter-label_opts-in-init_label.patch b/0010-remove-check-parameter-label_opts-in-init_label.patch deleted file mode 100644 index 0d2c5ce..0000000 --- a/0010-remove-check-parameter-label_opts-in-init_label.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 60715b192de2cb1b4e8fe9ce48ddf081a6d2be53 Mon Sep 17 00:00:00 2001 -From: zhangxiaoyu -Date: Wed, 1 Jun 2022 09:50:03 +0800 -Subject: [PATCH 10/30] remove check parameter label_opts in init_label - -Signed-off-by: zhangxiaoyu ---- - src/daemon/common/selinux_label.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/daemon/common/selinux_label.c b/src/daemon/common/selinux_label.c -index 533393a6..52422970 100644 ---- a/src/daemon/common/selinux_label.c -+++ b/src/daemon/common/selinux_label.c -@@ -782,7 +782,7 @@ int init_label(const char **label_opts, size_t label_opts_len, char **dst_proces - return 0; - } - -- if (label_opts == NULL || dst_process_label == NULL || dst_mount_label == NULL) { -+ if (dst_process_label == NULL || dst_mount_label == NULL) { - ERROR("Empty arguments"); - return -1; - } --- -2.32.1 (Apple Git-133) - diff --git a/0011-update-seccomp-to-Linux-5.10-syscall-list.patch b/0011-update-seccomp-to-Linux-5.10-syscall-list.patch deleted file mode 100644 index 8e03c86..0000000 --- a/0011-update-seccomp-to-Linux-5.10-syscall-list.patch +++ /dev/null @@ -1,191 +0,0 @@ -From 55a4f57232c42a9c2d36a41de5d743ee9ebbe88e Mon Sep 17 00:00:00 2001 -From: vegbir -Date: Wed, 1 Jun 2022 13:44:37 +0800 -Subject: [PATCH 11/30] update seccomp to Linux 5.10 syscall list - -Signed-off-by: yangjiaqi ---- - src/contrib/config/seccomp_default.json | 39 +++++++++++++++++++++++-- - 1 file changed, 36 insertions(+), 3 deletions(-) - -diff --git a/src/contrib/config/seccomp_default.json b/src/contrib/config/seccomp_default.json -index 7218b99c..7b2fcad3 100644 ---- a/src/contrib/config/seccomp_default.json -+++ b/src/contrib/config/seccomp_default.json -@@ -31,10 +31,16 @@ - "chmod", - "chown", - "chown32", -+ "clock_adjtime", -+ "clock_adjtime64", - "clock_getres", -+ "clock_getres_time64", - "clock_gettime", -+ "clock_gettime64", - "clock_nanosleep", -+ "clock_nanosleep_time64", - "close", -+ "close_range", - "connect", - "copy_file_range", - "creat", -@@ -46,6 +52,7 @@ - "epoll_ctl", - "epoll_ctl_old", - "epoll_pwait", -+ "epoll_pwait2", - "epoll_wait", - "epoll_wait_old", - "eventfd", -@@ -55,6 +62,7 @@ - "exit", - "exit_group", - "faccessat", -+ "faccessat2", - "fadvise64", - "fadvise64_64", - "fallocate", -@@ -83,6 +91,7 @@ - "ftruncate", - "ftruncate64", - "futex", -+ "futex_time64", - "futimesat", - "getcpu", - "getcwd", -@@ -128,10 +137,15 @@ - "ioctl", - "io_destroy", - "io_getevents", -+ "io_pgetevents", -+ "io_pgetevents_time64", - "ioprio_get", - "ioprio_set", - "io_setup", - "io_submit", -+ "io_uring_enter", -+ "io_uring_register", -+ "io_uring_setup", - "ipc", - "kill", - "lchown", -@@ -149,6 +163,7 @@ - "lstat", - "lstat64", - "madvise", -+ "membarrier", - "memfd_create", - "mincore", - "mkdir", -@@ -165,7 +180,9 @@ - "mq_notify", - "mq_open", - "mq_timedreceive", -+ "mq_timedreceive_time64", - "mq_timedsend", -+ "mq_timedsend_time64", - "mq_unlink", - "mremap", - "msgctl", -@@ -181,17 +198,22 @@ - "_newselect", - "open", - "openat", -+ "openat2", - "pause", -+ "pidfd_open", -+ "pidfd_send_signal", - "pipe", - "pipe2", - "poll", - "ppoll", -+ "ppoll_time64", - "prctl", - "pread64", - "preadv", - "preadv2", - "prlimit64", - "pselect6", -+ "pselect6_time64", - "pwrite64", - "pwritev", - "pwritev2", -@@ -203,6 +225,7 @@ - "recv", - "recvfrom", - "recvmmsg", -+ "recvmmsg_time64", - "recvmsg", - "remap_file_pages", - "removexattr", -@@ -211,6 +234,7 @@ - "renameat2", - "restart_syscall", - "rmdir", -+ "rseq", - "rt_sigaction", - "rt_sigpending", - "rt_sigprocmask", -@@ -218,6 +242,7 @@ - "rt_sigreturn", - "rt_sigsuspend", - "rt_sigtimedwait", -+ "rt_sigtimedwait_time64", - "rt_tgsigqueueinfo", - "sched_getaffinity", - "sched_getattr", -@@ -226,6 +251,7 @@ - "sched_get_priority_min", - "sched_getscheduler", - "sched_rr_get_interval", -+ "sched_rr_get_interval_time64", - "sched_setaffinity", - "sched_setattr", - "sched_setparam", -@@ -237,6 +263,7 @@ - "semget", - "semop", - "semtimedop", -+ "semtimedop_time64", - "send", - "sendfile", - "sendfile64", -@@ -279,6 +306,7 @@ - "sigaltstack", - "signalfd", - "signalfd4", -+ "sigprocmask", - "sigreturn", - "socket", - "socketcall", -@@ -300,12 +328,16 @@ - "time", - "timer_create", - "timer_delete", -- "timerfd_create", -- "timerfd_gettime", -- "timerfd_settime", - "timer_getoverrun", - "timer_gettime", -+ "timer_gettime64", - "timer_settime", -+ "timer_settime64", -+ "timerfd_create", -+ "timerfd_gettime", -+ "timerfd_gettime64", -+ "timerfd_settime", -+ "timerfd_settime64", - "times", - "tkill", - "truncate", -@@ -317,6 +349,7 @@ - "unlinkat", - "utime", - "utimensat", -+ "utimensat_time64", - "utimes", - "vfork", - "vmsplice", --- -2.32.1 (Apple Git-133) - diff --git a/0012-fix-invalid-convert-and-format.patch b/0012-fix-invalid-convert-and-format.patch deleted file mode 100644 index 0fd0dde..0000000 --- a/0012-fix-invalid-convert-and-format.patch +++ /dev/null @@ -1,319 +0,0 @@ -From 8dcad172ea0241f35cdd464029523253ada7e99f Mon Sep 17 00:00:00 2001 -From: haozi007 -Date: Wed, 1 Jun 2022 12:53:56 +0100 -Subject: [PATCH 12/30] fix invalid convert and format - -1. invalid convert; -2. error print format; -3. unuse marco; - -Signed-off-by: haozi007 ---- - src/cmd/isula/base/create.h | 3 +-- - src/cmd/isula/information/inspect.c | 1 - - src/cmd/isula/information/ps.c | 1 - - src/cmd/isulad/isulad_commands.h | 3 +-- - src/cmd/isulad/main.c | 2 +- - src/daemon/modules/runtime/shim/shim_rt_ops.c | 11 ++++++----- - src/daemon/modules/service/service_container.c | 6 +++--- - src/daemon/modules/spec/specs_namespace.c | 8 +++++--- - src/utils/cutils/utils.c | 2 +- - src/utils/cutils/utils_aes.c | 7 +------ - src/utils/cutils/utils_aes.h | 1 - - src/utils/cutils/utils_file.c | 1 - - src/utils/cutils/utils_network.c | 11 +++++++++-- - 13 files changed, 28 insertions(+), 29 deletions(-) - -diff --git a/src/cmd/isula/base/create.h b/src/cmd/isula/base/create.h -index 36c0dc9e..467fefe8 100644 ---- a/src/cmd/isula/base/create.h -+++ b/src/cmd/isula/base/create.h -@@ -414,8 +414,7 @@ extern "C" { - "health-start-period", \ - 0, \ - &(cmdargs).custom_conf.health_start_period, \ -- "Start period for the container to initialize before starting health-retries countdown (ms|s|m|h) " \ -- "(default 0s)", \ -+ "Start period for the container to initialize before starting health-retries countdown (ms|s|m|h) (default 0s)", \ - command_convert_nanoseconds }, \ - { CMD_OPT_TYPE_BOOL, \ - false, \ -diff --git a/src/cmd/isula/information/inspect.c b/src/cmd/isula/information/inspect.c -index 30b228a0..5058fb95 100644 ---- a/src/cmd/isula/information/inspect.c -+++ b/src/cmd/isula/information/inspect.c -@@ -639,7 +639,6 @@ out: - return ret_string; - } - --#define MATCH_NUM 1 - #define CHECK_FAILED (-1) - #ifdef __ANDROID__ - #define JSON_ARGS "^[ \t\r\n\v\f]*\\{[ \t\r\n\v\f]*\\{[ \t\r\n\v\f]*(json)?[ \t\r\n\v\f]+[^ \t\r\n\v\f]+[ \t\r\n\v\f]*.*\\}[ \t\r\n\v\f]*\\}[ \t\r\n\v\f]*$" -diff --git a/src/cmd/isula/information/ps.c b/src/cmd/isula/information/ps.c -index 45296fad..74c2f94a 100644 ---- a/src/cmd/isula/information/ps.c -+++ b/src/cmd/isula/information/ps.c -@@ -765,7 +765,6 @@ static int get_header_field(const char *patten, struct filters *ff) - - static int format_field_check(const char *source, const char *patten) - { --#define MATCH_NUM 1 - #define CHECK_FAILED (-1) - int status = 0; - -diff --git a/src/cmd/isulad/isulad_commands.h b/src/cmd/isulad/isulad_commands.h -index e989466f..ad8ba9e5 100644 ---- a/src/cmd/isulad/isulad_commands.h -+++ b/src/cmd/isulad/isulad_commands.h -@@ -182,8 +182,7 @@ int command_default_ulimit_append(command_option_t *option, const char *arg); - "pod-sandbox-image", \ - 0, \ - &(cmdargs)->json_confs->pod_sandbox_image, \ -- "The image whose network/ipc namespaces containers in each pod will use. " \ -- "(default \"pause-${machine}:3.0\")", \ -+ "The image whose network/ipc namespaces containers in each pod will use. (default \"pause-${machine}:3.0\")", \ - NULL }, \ - { CMD_OPT_TYPE_STRING_DUP, \ - false, \ -diff --git a/src/cmd/isulad/main.c b/src/cmd/isulad/main.c -index 9801c245..e644b16d 100644 ---- a/src/cmd/isulad/main.c -+++ b/src/cmd/isulad/main.c -@@ -707,7 +707,7 @@ static int update_graph_for_userns_remap(struct service_arguments *args) - goto out; - } - -- nret = snprintf(graph, sizeof(graph), "%s/%d.%d", args->json_confs->graph, host_uid, host_gid); -+ nret = snprintf(graph, sizeof(graph), "%s/%u.%u", args->json_confs->graph, host_uid, host_gid); - if (nret < 0 || (size_t)nret >= sizeof(graph)) { - ERROR("Path is too long"); - ret = -1; -diff --git a/src/daemon/modules/runtime/shim/shim_rt_ops.c b/src/daemon/modules/runtime/shim/shim_rt_ops.c -index 346e6f48..21d339e5 100644 ---- a/src/daemon/modules/runtime/shim/shim_rt_ops.c -+++ b/src/daemon/modules/runtime/shim/shim_rt_ops.c -@@ -30,8 +30,6 @@ - #include "err_msg.h" - #include "engine.h" - --#define SHIM_LOG_SIZE ((BUFSIZ-100)/2) --#define PID_WAIT_TIME 120 - #define EXIT_SIGNAL_OFFSET_X 128 - - static void copy_process(shim_client_process_state *p, defs_process *dp) -@@ -112,7 +110,7 @@ static int shim_bin_v2_create(const char *runtime, const char *id, const char *w - int err_fd[2] = {-1, -1}; - int out_fd[2] = {-1, -1}; - char exec_buff[BUFSIZ + 1] = {0}; -- char stdout_buff[BUFSIZ + 1] = {0}; -+ char stdout_buff[PATH_MAX] = {0}; - char stderr_buff[BUFSIZ + 1] = {0}; - - -@@ -177,7 +175,10 @@ static int shim_bin_v2_create(const char *runtime, const char *id, const char *w - (void)dprintf(exec_fd[1], "close inherited fds failed"); - } - -- setenv("EXIT_FIFO_DIR", exit_fifo_dir, 1); -+ if (setenv("EXIT_FIFO_DIR", exit_fifo_dir, 1) != 0) { -+ (void)dprintf(exec_fd[1], "%s: failed to set env for process %d", id, getpid()); -+ exit(EXIT_FAILURE); -+ } - - execvp(binary, (char * const *)params); - (void)dprintf(exec_fd[1], "exec failed: %s", strerror(errno)); -@@ -379,7 +380,7 @@ int rt_shim_rm(const char *id, const char *runtime, const rt_rm_params_t *params - } - - nret = snprintf(libdir, sizeof(libdir), "%s/%s", params->rootpath, id); -- if (nret < 0 && nret >= sizeof(libdir)) { -+ if (nret < 0 || nret >= sizeof(libdir)) { - ERROR("failed to get shim workdir"); - ret = -1; - goto out; -diff --git a/src/daemon/modules/service/service_container.c b/src/daemon/modules/service/service_container.c -index 64219423..c3c4fc1c 100644 ---- a/src/daemon/modules/service/service_container.c -+++ b/src/daemon/modules/service/service_container.c -@@ -1233,7 +1233,7 @@ static int send_signal_to_process(pid_t pid, unsigned long long start_time, uint - return 0; - } - --static int container_stop_signal(container_t *cont) -+static uint32_t container_stop_signal(container_t *cont) - { - int signal = 0; - -@@ -1245,7 +1245,7 @@ static int container_stop_signal(container_t *cont) - signal = SIGTERM; - } - -- return signal; -+ return (uint32_t)signal; - } - - static int kill_with_signal(container_t *cont, uint32_t signal) -@@ -1253,7 +1253,7 @@ static int kill_with_signal(container_t *cont, uint32_t signal) - int ret = 0; - int nret = 0; - const char *id = cont->common_config->id; -- int stop_signal = container_stop_signal(cont); -+ uint32_t stop_signal = container_stop_signal(cont); - bool need_unpause = container_is_paused(cont->state); - rt_resume_params_t params = { 0 }; - char annotations[EVENT_EXTRA_ANNOTATION_MAX] = { 0 }; -diff --git a/src/daemon/modules/spec/specs_namespace.c b/src/daemon/modules/spec/specs_namespace.c -index e9f98d00..3888f556 100644 ---- a/src/daemon/modules/spec/specs_namespace.c -+++ b/src/daemon/modules/spec/specs_namespace.c -@@ -191,7 +191,7 @@ int get_network_namespace_path(const host_config *host_spec, - const container_config_v2_common_config_network_settings *network_settings, - const char *type, char **dest_path) - { -- int index; -+ size_t index = 0; - int ret = -1; - struct get_netns_path_handler handler_jump_table[] = { - { SHARE_NAMESPACE_NONE, handle_get_path_from_none }, -@@ -200,11 +200,13 @@ int get_network_namespace_path(const host_config *host_spec, - { SHARE_NAMESPACE_FILE, handle_get_path_from_file }, - }; - size_t jump_table_size = sizeof(handler_jump_table) / sizeof(handler_jump_table[0]); -- const char *network_mode = host_spec->network_mode; -+ const char *network_mode = NULL; - -- if (network_mode == NULL || dest_path == NULL) { -+ if (host_spec == NULL || network_mode == NULL || dest_path == NULL) { -+ ERROR("Invalid input"); - return -1; - } -+ network_mode = host_spec->network_mode; - - for (index = 0; index < jump_table_size; ++index) { - if (strncmp(network_mode, handler_jump_table[index].mode, strlen(handler_jump_table[index].mode)) == 0) { -diff --git a/src/utils/cutils/utils.c b/src/utils/cutils/utils.c -index 30ff629f..a47c5644 100644 ---- a/src/utils/cutils/utils.c -+++ b/src/utils/cutils/utils.c -@@ -1549,7 +1549,7 @@ out: - int convert_v2_runtime(const char *runtime, char *binary) - { - char **parts = NULL; -- int parts_len = 0; -+ size_t parts_len = 0; - char buf[PATH_MAX] = {0}; - int ret = 0; - -diff --git a/src/utils/cutils/utils_aes.c b/src/utils/cutils/utils_aes.c -index 5dc822a2..dec1e8bc 100644 ---- a/src/utils/cutils/utils_aes.c -+++ b/src/utils/cutils/utils_aes.c -@@ -28,8 +28,6 @@ - #include "openssl/evp.h" - #include "utils_file.h" - --#define AES_256_CFB_IV_LEN 16 -- - int util_aes_key(char *key_file, bool create, unsigned char *aeskey) - { - char *key_dir = NULL; -@@ -83,7 +81,6 @@ int util_aes_key(char *key_file, bool create, unsigned char *aeskey) - - out: - free(key_dir); -- key_dir = NULL; - if (fd != 0) { - close(fd); - } -@@ -97,7 +94,7 @@ size_t util_aes_decode_buf_len(size_t len) - return len; - } - -- return (len / AES_BLOCK_SIZE * AES_BLOCK_SIZE) + AES_BLOCK_SIZE; -+ return (len / AES_BLOCK_SIZE) * AES_BLOCK_SIZE + AES_BLOCK_SIZE; - } - - size_t util_aes_encode_buf_len(size_t len) -@@ -179,7 +176,6 @@ int util_aes_encode(unsigned char *aeskey, unsigned char *bytes, size_t len, uns - - out: - EVP_CIPHER_CTX_free(ctx); -- ctx = NULL; - if (ret != 0) { - free(*out); - *out = NULL; -@@ -262,7 +258,6 @@ int util_aes_decode(unsigned char *aeskey, unsigned char *bytes, size_t len, uns - - out: - EVP_CIPHER_CTX_free(ctx); -- ctx = NULL; - if (ret != 0) { - free(*out); - *out = NULL; -diff --git a/src/utils/cutils/utils_aes.h b/src/utils/cutils/utils_aes.h -index 2bfe3ea6..d429c9e0 100644 ---- a/src/utils/cutils/utils_aes.h -+++ b/src/utils/cutils/utils_aes.h -@@ -17,7 +17,6 @@ - #define UTILS_CUTILS_UTILS_AES_H - - #include --#include - #include - #include - -diff --git a/src/utils/cutils/utils_file.c b/src/utils/cutils/utils_file.c -index 45e4842b..00f586f1 100644 ---- a/src/utils/cutils/utils_file.c -+++ b/src/utils/cutils/utils_file.c -@@ -1619,7 +1619,6 @@ static int do_check_args(const char *path) - - char *util_read_content_from_file(const char *path) - { --#define FILE_MODE 0640 - char *buf = NULL; - char rpath[PATH_MAX + 1] = { 0 }; - int fd = -1; -diff --git a/src/utils/cutils/utils_network.c b/src/utils/cutils/utils_network.c -index 1ca901ea..5192d06f 100644 ---- a/src/utils/cutils/utils_network.c -+++ b/src/utils/cutils/utils_network.c -@@ -27,6 +27,7 @@ - #include - #include - -+#include "utils.h" - #include "utils_fs.h" - #include "utils_file.h" - #include "constants.h" -@@ -67,10 +68,16 @@ out: - - static void* mount_netns(void *netns_path) - { -- int *ecode = (int *)malloc(sizeof(int)); -+ int *ecode = NULL; - char fullpath[PATH_MAX] = { 0x00 }; - int ret = 0; - -+ ecode = (int *)util_common_calloc_s(sizeof(int)); -+ if (ecode == NULL) { -+ ERROR("Out of memory"); -+ return NULL; -+ } -+ - if (unshare(CLONE_NEWNET) != 0) { - ERROR("Failed to unshare"); - goto err_out; -@@ -102,7 +109,7 @@ int util_mount_namespace(const char *netns_path) - int ret = 0; - void *status = NULL; - -- ret = pthread_create(&newns_thread, NULL, (void *)&mount_netns, (void *)netns_path); -+ ret = pthread_create(&newns_thread, NULL, mount_netns, (void *)netns_path); - if (ret != 0) { - ERROR("Failed to create thread"); - return -1; --- -2.32.1 (Apple Git-133) - diff --git a/0013-fix-get_network_namespace_path-check.patch b/0013-fix-get_network_namespace_path-check.patch deleted file mode 100644 index 6d33d2c..0000000 --- a/0013-fix-get_network_namespace_path-check.patch +++ /dev/null @@ -1,33 +0,0 @@ -From a96ad33008671e61bddebb744a7ac0aa3798313b Mon Sep 17 00:00:00 2001 -From: zhangxiaoyu -Date: Thu, 2 Jun 2022 10:33:07 +0800 -Subject: [PATCH 13/30] fix get_network_namespace_path check - -Signed-off-by: zhangxiaoyu ---- - src/daemon/modules/spec/specs_namespace.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/src/daemon/modules/spec/specs_namespace.c b/src/daemon/modules/spec/specs_namespace.c -index 3888f556..2bf4cc36 100644 ---- a/src/daemon/modules/spec/specs_namespace.c -+++ b/src/daemon/modules/spec/specs_namespace.c -@@ -200,13 +200,12 @@ int get_network_namespace_path(const host_config *host_spec, - { SHARE_NAMESPACE_FILE, handle_get_path_from_file }, - }; - size_t jump_table_size = sizeof(handler_jump_table) / sizeof(handler_jump_table[0]); -- const char *network_mode = NULL; -+ const char *network_mode = host_spec->network_mode; - -- if (host_spec == NULL || network_mode == NULL || dest_path == NULL) { -+ if (network_mode == NULL || dest_path == NULL) { - ERROR("Invalid input"); - return -1; - } -- network_mode = host_spec->network_mode; - - for (index = 0; index < jump_table_size; ++index) { - if (strncmp(network_mode, handler_jump_table[index].mode, strlen(handler_jump_table[index].mode)) == 0) { --- -2.32.1 (Apple Git-133) - diff --git a/0014-bugfix-for-double-free-and-use-after-free.patch b/0014-bugfix-for-double-free-and-use-after-free.patch deleted file mode 100644 index ec439b5..0000000 --- a/0014-bugfix-for-double-free-and-use-after-free.patch +++ /dev/null @@ -1,227 +0,0 @@ -From 7934311c1b1003021449b92900f3102ff77395e2 Mon Sep 17 00:00:00 2001 -From: zhangxiaoyu -Date: Tue, 7 Jun 2022 15:19:20 +0800 -Subject: [PATCH 14/30] bugfix for double free and use after free - -Signed-off-by: zhangxiaoyu ---- - src/client/connect/rest/rest_images_client.c | 2 +- - src/cmd/isula/information/ps.c | 4 ++- - src/daemon/common/sysinfo.c | 3 +- - .../cri_pod_sandbox_manager_service_impl.cc | 3 +- - .../entry/cri/websocket/service/ws_server.h | 19 +++++----- - .../oci/storage/image_store/image_store.c | 36 ++++++++++++++----- - .../oci/storage/layer_store/layer_store.c | 3 +- - src/utils/console/console.c | 2 +- - 8 files changed, 48 insertions(+), 24 deletions(-) - -diff --git a/src/client/connect/rest/rest_images_client.c b/src/client/connect/rest/rest_images_client.c -index 3deeeead..c2fc17f1 100644 ---- a/src/client/connect/rest/rest_images_client.c -+++ b/src/client/connect/rest/rest_images_client.c -@@ -929,7 +929,7 @@ out: - static int rest_image_import(const struct isula_import_request *request, struct isula_import_response *response, - void *arg) - { -- -+ - client_connect_config_t *connect_config = (client_connect_config_t *)arg; - const char *socketname = (const char *)(connect_config->socket); - char *body = NULL; -diff --git a/src/cmd/isula/information/ps.c b/src/cmd/isula/information/ps.c -index 74c2f94a..805cbbd6 100644 ---- a/src/cmd/isula/information/ps.c -+++ b/src/cmd/isula/information/ps.c -@@ -904,14 +904,16 @@ static int append_non_header_item_field(const char *prefix, const char *non_fiel - ret = -1; - goto out; - } -+ - field->name = non_field_string; -+ non_field_string = NULL; - field->is_field = false; -+ - if (append_field(ff, field) != 0) { - ERROR("Failed to append field"); - ret = -1; - goto out; - } -- non_field_string = NULL; - field = NULL; - - out: -diff --git a/src/daemon/common/sysinfo.c b/src/daemon/common/sysinfo.c -index 89ca5225..d52f8767 100644 ---- a/src/daemon/common/sysinfo.c -+++ b/src/daemon/common/sysinfo.c -@@ -1309,7 +1309,8 @@ out: - } - - #ifdef __ANDROID__ --static bool cgroup2_no_controller() { -+static bool cgroup2_no_controller() -+{ - char *controllers_str = NULL; - - controllers_str = util_read_content_from_file(CGROUP2_CONTROLLERS_PATH); -diff --git a/src/daemon/entry/cri/cri_pod_sandbox_manager_service_impl.cc b/src/daemon/entry/cri/cri_pod_sandbox_manager_service_impl.cc -index f0c8e470..4bc9845f 100644 ---- a/src/daemon/entry/cri/cri_pod_sandbox_manager_service_impl.cc -+++ b/src/daemon/entry/cri/cri_pod_sandbox_manager_service_impl.cc -@@ -99,7 +99,8 @@ void PodSandboxManagerServiceImpl::ApplySandboxResources(const runtime::v1alpha2 - } - - --void PodSandboxManagerServiceImpl::SetHostConfigDefaultValue(host_config *hc) { -+void PodSandboxManagerServiceImpl::SetHostConfigDefaultValue(host_config *hc) -+{ - free(hc->network_mode); - hc->network_mode = util_strdup_s(CRI::Constants::namespaceModeFile.c_str()); - } -diff --git a/src/daemon/entry/cri/websocket/service/ws_server.h b/src/daemon/entry/cri/websocket/service/ws_server.h -index 4af54067..b871aabc 100644 ---- a/src/daemon/entry/cri/websocket/service/ws_server.h -+++ b/src/daemon/entry/cri/websocket/service/ws_server.h -@@ -30,8 +30,7 @@ - #include "errors.h" - #include "read_write_lock.h" - --namespace --{ -+namespace { - const int MAX_ECHO_PAYLOAD = 4096; - const int MAX_ARRAY_LEN = 2; - const int MAX_PROTOCOL_NUM = 2; -@@ -97,13 +96,15 @@ private: - static struct lws_context *m_context; - volatile int m_forceExit = 0; - std::thread m_pthreadService; -- const struct lws_protocols m_protocols[MAX_PROTOCOL_NUM] = { { -- "channel.k8s.io", -- Callback, -- 0, -- MAX_ECHO_PAYLOAD, -- }, -- { nullptr, nullptr, 0, 0 } }; -+ const struct lws_protocols m_protocols[MAX_PROTOCOL_NUM] = { -+ { -+ "channel.k8s.io", -+ Callback, -+ 0, -+ MAX_ECHO_PAYLOAD, -+ }, -+ { nullptr, nullptr, 0, 0 } -+ }; - RouteCallbackRegister m_handler; - static std::unordered_map m_wsis; - url::URLDatum m_url; -diff --git a/src/daemon/modules/image/oci/storage/image_store/image_store.c b/src/daemon/modules/image/oci/storage/image_store/image_store.c -index 727991fe..edb28b78 100644 ---- a/src/daemon/modules/image/oci/storage/image_store/image_store.c -+++ b/src/daemon/modules/image/oci/storage/image_store/image_store.c -@@ -734,6 +734,7 @@ static int image_store_append_image(const char *id, const char *searchable_diges - { - int ret = 0; - size_t i = 0; -+ size_t record_name_len = 0; - struct linked_list *item = NULL; - - item = util_smart_calloc_s(sizeof(struct linked_list), 1); -@@ -748,33 +749,52 @@ static int image_store_append_image(const char *id, const char *searchable_diges - if (!map_insert(g_image_store->byid, (void *)id, (void *)img)) { - ERROR("Failed to insert image to image store"); - ret = -1; -- goto out; -+ goto list_err_out; - } - - if (append_image_according_to_digest(g_image_store->bydigest, searchable_digest, img) != 0) { - ERROR("Failed to insert image to image store digest index"); - ret = -1; -- goto out; -+ goto id_err_out; - } - - for (i = 0; i < img->simage->names_len; i++) { - if (map_search(g_image_store->byname, (void *)img->simage->names[i]) != NULL) { - ERROR("Image name is already in use : %s", img->simage->names[i]); - ret = -1; -- goto out; -+ goto err_out; - } - if (!map_insert(g_image_store->byname, (void *)img->simage->names[i], (void *)img)) { - ERROR("Failed to insert image to image store's byname"); - ret = -1; -- goto out; -+ goto err_out; - } - } - --out: -- if (ret != 0) { -- linked_list_del(item); -- free(item); -+ return 0; -+ -+err_out: -+ record_name_len = i; -+ for (i = 0; i < record_name_len; i++) { -+ if (!map_remove(g_image_store->byname, (void *)img->simage->names[i])) { -+ ERROR("Failed to remove image from image store's byname"); -+ } - } -+ -+ if (remove_image_from_digest_index(img, searchable_digest) != 0) { -+ ERROR("Failed to remove image from image store digest index"); -+ } -+ -+id_err_out: -+ if (!map_remove(g_image_store->byid, (void *)id)) { -+ ERROR("Failed to remove image from ids map in image store"); -+ } -+ -+list_err_out: -+ linked_list_del(item); -+ g_image_store->images_list_len--; -+ free(item); -+ - return ret; - } - -diff --git a/src/daemon/modules/image/oci/storage/layer_store/layer_store.c b/src/daemon/modules/image/oci/storage/layer_store/layer_store.c -index a35f61ee..bb9e5b94 100644 ---- a/src/daemon/modules/image/oci/storage/layer_store/layer_store.c -+++ b/src/daemon/modules/image/oci/storage/layer_store/layer_store.c -@@ -212,6 +212,7 @@ static bool append_layer_into_list(layer_t *l) - return true; - } - -+// only delete item from list, free item->elem by caller - static inline void delete_g_layer_list_item(struct linked_list *item) - { - if (item == NULL) { -@@ -220,8 +221,6 @@ static inline void delete_g_layer_list_item(struct linked_list *item) - - linked_list_del(item); - -- layer_ref_dec((layer_t *)item->elem); -- item->elem = NULL; - free(item); - g_metadata.layers_list_len -= 1; - } -diff --git a/src/utils/console/console.c b/src/utils/console/console.c -index 8492eb4d..b0dc7ee5 100644 ---- a/src/utils/console/console.c -+++ b/src/utils/console/console.c -@@ -253,7 +253,7 @@ int console_fifo_open(const char *fifo_path, int *fdout, int flags) - { - int fd = 0; - -- if (fifo_path ==NULL || fdout == NULL) { -+ if (fifo_path == NULL || fdout == NULL) { - ERROR("Argument must not be NULL"); - return -1; - } --- -2.32.1 (Apple Git-133) - diff --git a/0015-fix-isulad-shim-coredump-when-remove-ioc-fd-node.patch b/0015-fix-isulad-shim-coredump-when-remove-ioc-fd-node.patch deleted file mode 100644 index 6d02318..0000000 --- a/0015-fix-isulad-shim-coredump-when-remove-ioc-fd-node.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 18db58c919bb9767bbe2f11c7447cfed27312c63 Mon Sep 17 00:00:00 2001 -From: zhangxiaoyu -Date: Thu, 9 Jun 2022 21:16:26 +0800 -Subject: [PATCH 15/30] fix isulad-shim coredump when remove ioc fd node - -Signed-off-by: zhangxiaoyu ---- - src/cmd/isulad-shim/process.c | 19 +++++++++++++------ - 1 file changed, 13 insertions(+), 6 deletions(-) - -diff --git a/src/cmd/isulad-shim/process.c b/src/cmd/isulad-shim/process.c -index 21b2523a..6de470f7 100644 ---- a/src/cmd/isulad-shim/process.c -+++ b/src/cmd/isulad-shim/process.c -@@ -195,10 +195,6 @@ static void remove_io_dispatch(io_thread_t *io_thd, int from, int to) - } - io_copy_t *ioc = io_thd->ioc; - -- if (pthread_mutex_lock(&(ioc->mutex))) { -- return; -- } -- - fd_node_t *tmp = NULL; - do { - /* remove src fd */ -@@ -233,7 +229,6 @@ static void remove_io_dispatch(io_thread_t *io_thd, int from, int to) - free(tmp); - tmp = NULL; - } -- pthread_mutex_unlock(&(ioc->mutex)); - } - - static int get_exec_winsize(const char *buf, struct winsize *wsize) -@@ -297,8 +292,14 @@ static void *do_io_copy(void *data) - /* End of file. The remote has closed the connection */ - break; - } else if (ioc->id != EXEC_RESIZE) { -+ if (pthread_mutex_lock(&(ioc->mutex)) != 0) { -+ continue; -+ } -+ - fd_node_t *fn = ioc->fd_to; -- for (; fn != NULL; fn = fn->next) { -+ fd_node_t *next = fn; -+ for (; fn != NULL; fn = next) { -+ next = fn->next; - if (fn->is_log) { - shim_write_container_log_file(io_thd->terminal, ioc->id, buf, r_count); - } else { -@@ -309,7 +310,12 @@ static void *do_io_copy(void *data) - } - } - } -+ pthread_mutex_unlock(&(ioc->mutex)); - } else { -+ if (pthread_mutex_lock(&(ioc->mutex)) != 0) { -+ continue; -+ } -+ - int resize_fd = ioc->fd_to->fd; - struct winsize wsize = { 0x00 }; - if (get_exec_winsize(buf, &wsize) < 0) { -@@ -318,6 +324,7 @@ static void *do_io_copy(void *data) - if (ioctl(resize_fd, TIOCSWINSZ, &wsize) < 0) { - break; - } -+ pthread_mutex_unlock(&(ioc->mutex)); - } - - /* --- -2.32.1 (Apple Git-133) - diff --git a/0016-do-not-fail-if-pw-is-not-NULL.patch b/0016-do-not-fail-if-pw-is-not-NULL.patch deleted file mode 100644 index 168b62f..0000000 --- a/0016-do-not-fail-if-pw-is-not-NULL.patch +++ /dev/null @@ -1,65 +0,0 @@ -From ae49fce8e19f7544c463cfbff58794f35f44c493 Mon Sep 17 00:00:00 2001 -From: WangFengTu -Date: Thu, 9 Jun 2022 16:17:52 +0800 -Subject: [PATCH 16/30] do not fail if pw is not NULL - -Signed-off-by: WangFengTu ---- - src/utils/cutils/utils_pwgr.c | 7 +------ - test/cutils/utils_pwgr/utils_pwgr_ut.cc | 5 ++--- - 2 files changed, 3 insertions(+), 9 deletions(-) - -diff --git a/src/utils/cutils/utils_pwgr.c b/src/utils/cutils/utils_pwgr.c -index 01490863..6b83f787 100644 ---- a/src/utils/cutils/utils_pwgr.c -+++ b/src/utils/cutils/utils_pwgr.c -@@ -212,11 +212,6 @@ int util_getpwent_r(FILE *stream, struct passwd *resbuf, char *buffer, size_t bu - return -1; - } - -- if (*result != NULL) { -- ERROR("Result shall point to null to start."); -- return -1; -- } -- - buff_end = buffer + buflen - 1; - flockfile(stream); - -@@ -337,4 +332,4 @@ int util_getgrent_r(FILE *stream, struct group *resbuf, char *buffer, size_t buf - out: - funlockfile(stream); - return ret; --} -\ No newline at end of file -+} -diff --git a/test/cutils/utils_pwgr/utils_pwgr_ut.cc b/test/cutils/utils_pwgr/utils_pwgr_ut.cc -index 00a32e05..bf9c9f06 100644 ---- a/test/cutils/utils_pwgr/utils_pwgr_ut.cc -+++ b/test/cutils/utils_pwgr/utils_pwgr_ut.cc -@@ -44,7 +44,7 @@ TEST(utils_pwgr, test_getpwent_r) - ASSERT_EQ(util_getpwent_r(NULL, &pw, buf, sizeof(buf), &ppw), -1); - ASSERT_EQ(util_getpwent_r(f_pw, &pw, NULL, 0, &ppw), -1); - ASSERT_EQ(util_getpwent_r(f_pw, &pw, invalid_buf, 1, &ppw), -1); -- ASSERT_EQ(util_getpwent_r(f_pw, &pw, buf, sizeof(buf), &ppw_alter), -1); -+ ASSERT_EQ(util_getpwent_r(f_pw, &pw, buf, sizeof(buf), &ppw_alter), 0); - ASSERT_EQ(util_getpwent_r(f_pw, &pw, buf, sizeof(buf), NULL), -1); - - while (!feof(f_pw)) { -@@ -65,7 +65,6 @@ TEST(utils_pwgr, test_getpwent_r) - ASSERT_STREQ(pw.pw_dir, std::get<5>(elem).c_str()); - ASSERT_STREQ(pw.pw_shell, std::get<6>(elem).c_str()); - EXPECT_TRUE(ppw == &pw); -- ppw = nullptr; - pw = {0}; - } - -@@ -134,4 +133,4 @@ TEST(utils_pwgr, test_getgrent_r) - } - - fclose(f_gr); --} -\ No newline at end of file -+} --- -2.32.1 (Apple Git-133) - diff --git a/0017-do-not-fail-if-gr-is-NULL.patch b/0017-do-not-fail-if-gr-is-NULL.patch deleted file mode 100644 index d175cc2..0000000 --- a/0017-do-not-fail-if-gr-is-NULL.patch +++ /dev/null @@ -1,51 +0,0 @@ -From b4596641a08891bfec9384f87815c8e671d594d4 Mon Sep 17 00:00:00 2001 -From: WangFengTu -Date: Thu, 9 Jun 2022 17:07:40 +0800 -Subject: [PATCH 17/30] do not fail if gr is NULL - -Signed-off-by: WangFengTu ---- - src/utils/cutils/utils_pwgr.c | 5 ----- - test/cutils/utils_pwgr/utils_pwgr_ut.cc | 3 +-- - 2 files changed, 1 insertion(+), 7 deletions(-) - -diff --git a/src/utils/cutils/utils_pwgr.c b/src/utils/cutils/utils_pwgr.c -index 6b83f787..b3aed14b 100644 ---- a/src/utils/cutils/utils_pwgr.c -+++ b/src/utils/cutils/utils_pwgr.c -@@ -279,11 +279,6 @@ int util_getgrent_r(FILE *stream, struct group *resbuf, char *buffer, size_t buf - return -1; - } - -- if (*result != NULL) { -- ERROR("Result shall point to null to start."); -- return -1; -- } -- - flockfile(stream); - buff_end = buffer + buflen - 1; - -diff --git a/test/cutils/utils_pwgr/utils_pwgr_ut.cc b/test/cutils/utils_pwgr/utils_pwgr_ut.cc -index bf9c9f06..c289e2b9 100644 ---- a/test/cutils/utils_pwgr/utils_pwgr_ut.cc -+++ b/test/cutils/utils_pwgr/utils_pwgr_ut.cc -@@ -106,7 +106,7 @@ TEST(utils_pwgr, test_getgrent_r) - ASSERT_EQ(util_getgrent_r(NULL, &gr, buf, sizeof(buf), &pgr), -1); - ASSERT_EQ(util_getgrent_r(f_gr, &gr, NULL, 0, &pgr), -1); - ASSERT_EQ(util_getgrent_r(f_gr, &gr, invalid_buf, 1, &pgr), -1); -- ASSERT_EQ(util_getgrent_r(f_gr, &gr, buf, sizeof(buf), &pgr_alter), -1); -+ ASSERT_EQ(util_getgrent_r(f_gr, &gr, buf, sizeof(buf), &pgr_alter), 0); - ASSERT_EQ(util_getgrent_r(f_gr, &gr, buf, sizeof(buf), NULL), -1); - - while (!feof(f_gr)) { -@@ -129,7 +129,6 @@ TEST(utils_pwgr, test_getgrent_r) - } - EXPECT_TRUE(pgr == &gr); - gr = {0}; -- pgr = nullptr; - } - - fclose(f_gr); --- -2.32.1 (Apple Git-133) - diff --git a/0018-fix-memory-leak-of-remove-layer.patch b/0018-fix-memory-leak-of-remove-layer.patch deleted file mode 100644 index 0767ba7..0000000 --- a/0018-fix-memory-leak-of-remove-layer.patch +++ /dev/null @@ -1,56 +0,0 @@ -From eb168d32053f9204336c37af98210810957cedd2 Mon Sep 17 00:00:00 2001 -From: haozi007 -Date: Fri, 10 Jun 2022 04:10:39 +0100 -Subject: [PATCH 18/30] fix memory leak of remove layer - -Signed-off-by: haozi007 ---- - .../image/oci/storage/layer_store/layer_store.c | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -diff --git a/src/daemon/modules/image/oci/storage/layer_store/layer_store.c b/src/daemon/modules/image/oci/storage/layer_store/layer_store.c -index bb9e5b94..7e95a52f 100644 ---- a/src/daemon/modules/image/oci/storage/layer_store/layer_store.c -+++ b/src/daemon/modules/image/oci/storage/layer_store/layer_store.c -@@ -213,7 +213,7 @@ static bool append_layer_into_list(layer_t *l) - } - - // only delete item from list, free item->elem by caller --static inline void delete_g_layer_list_item(struct linked_list *item) -+static inline void delete_g_layer_list_item(struct linked_list *item, bool rm_val) - { - if (item == NULL) { - return; -@@ -221,6 +221,11 @@ static inline void delete_g_layer_list_item(struct linked_list *item) - - linked_list_del(item); - -+ if (rm_val) { -+ layer_ref_dec((layer_t *)item->elem); -+ item->elem = NULL; -+ } -+ - free(item); - g_metadata.layers_list_len -= 1; - } -@@ -235,7 +240,7 @@ void remove_layer_list_tail() - - item = g_metadata.layers_list.prev; - -- delete_g_layer_list_item(item); -+ delete_g_layer_list_item(item, false); - } - - static bool init_from_conf(const struct storage_module_init_options *conf) -@@ -725,7 +730,7 @@ static int remove_memory_stores(const char *id) - if (strcmp(tl->slayer->id, id) != 0) { - continue; - } -- delete_g_layer_list_item(item); -+ delete_g_layer_list_item(item, true); - break; - } - --- -2.32.1 (Apple Git-133) - diff --git a/0019-add-null-terminal-at-end-of-gr-mem-list.patch b/0019-add-null-terminal-at-end-of-gr-mem-list.patch deleted file mode 100644 index 4627910..0000000 --- a/0019-add-null-terminal-at-end-of-gr-mem-list.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 12bbd939c1c2c55d0906b5a53a0b9b26b616c56b Mon Sep 17 00:00:00 2001 -From: haozi007 -Date: Fri, 10 Jun 2022 04:16:48 +0100 -Subject: [PATCH 19/30] add null terminal at end of gr mem list - -Signed-off-by: haozi007 ---- - src/utils/cutils/utils_pwgr.c | 4 +++- - test/cutils/utils_pwgr/utils_pwgr_ut.cc | 9 +++++++-- - 2 files changed, 10 insertions(+), 3 deletions(-) - -diff --git a/src/utils/cutils/utils_pwgr.c b/src/utils/cutils/utils_pwgr.c -index b3aed14b..a3c41dd5 100644 ---- a/src/utils/cutils/utils_pwgr.c -+++ b/src/utils/cutils/utils_pwgr.c -@@ -144,7 +144,7 @@ static char **hold_string_list(char **line, char *buf_start, char *buf_end, cons - - for (; walker < (char **)buf_end; ++walker) { - if (**line == '\0') { -- return result; -+ goto out; - } - - (void)util_trim_space(*line); -@@ -155,6 +155,8 @@ static char **hold_string_list(char **line, char *buf_start, char *buf_end, cons - } - } - -+out: -+ *walker = NULL; - return result; - } - -diff --git a/test/cutils/utils_pwgr/utils_pwgr_ut.cc b/test/cutils/utils_pwgr/utils_pwgr_ut.cc -index c289e2b9..2a6b7e08 100644 ---- a/test/cutils/utils_pwgr/utils_pwgr_ut.cc -+++ b/test/cutils/utils_pwgr/utils_pwgr_ut.cc -@@ -123,8 +123,13 @@ TEST(utils_pwgr, test_getgrent_r) - ASSERT_STREQ(gr.gr_passwd, std::get<1>(testcase[i]).c_str()); - ASSERT_EQ(gr.gr_gid, std::get<2>(testcase[i])); - if (string_list[i].size()) { -- for (j = 0; j < string_list[i].size(); ++j) { -- EXPECT_TRUE(strcmp(gr.gr_mem[j], string_list[i][j].c_str()) == 0); -+ char **walker = gr.gr_mem; -+ j = 0; -+ // use pointer to ensure gr_mem has end null pointer -+ while (walker != NULL && *walker != NULL) { -+ EXPECT_TRUE(strcmp(*walker, string_list[i][j].c_str()) == 0); -+ walker++; -+ j++; - } - } - EXPECT_TRUE(pgr == &gr); --- -2.32.1 (Apple Git-133) - diff --git a/0020-fix-shm-size-set-invalid-when-reboot.patch b/0020-fix-shm-size-set-invalid-when-reboot.patch deleted file mode 100644 index b8e7367..0000000 --- a/0020-fix-shm-size-set-invalid-when-reboot.patch +++ /dev/null @@ -1,246 +0,0 @@ -From b289a6b384ac5ba474dd477b2a92b89244b27c24 Mon Sep 17 00:00:00 2001 -From: zhangxiaoyu -Date: Mon, 13 Jun 2022 14:35:46 +0800 -Subject: [PATCH 20/30] fix shm size set invalid when reboot - -Signed-off-by: zhangxiaoyu ---- - .../modules/service/service_container.c | 8 +++ - src/daemon/modules/spec/specs_mount.c | 63 +++++++++++++++---- - src/daemon/modules/spec/specs_mount.h | 2 + - .../image/oci/oci_config_merge/CMakeLists.txt | 1 + - test/specs/specs/CMakeLists.txt | 1 + - test/specs/specs_extend/CMakeLists.txt | 1 + - 6 files changed, 63 insertions(+), 13 deletions(-) - -diff --git a/src/daemon/modules/service/service_container.c b/src/daemon/modules/service/service_container.c -index c3c4fc1c..43a4a0c9 100644 ---- a/src/daemon/modules/service/service_container.c -+++ b/src/daemon/modules/service/service_container.c -@@ -43,6 +43,7 @@ - #include "events_sender_api.h" - #include "image_api.h" - #include "specs_api.h" -+#include "specs_mount.h" - #include "isulad_config.h" - #include "verify.h" - #include "plugin_api.h" -@@ -735,6 +736,13 @@ static int do_start_container(container_t *cont, const char *console_fifos[], bo - goto close_exit_fd; - } - -+ nret = setup_ipc_dirs(cont->hostconfig, cont->common_config); -+ if (nret != 0) { -+ ERROR("Failed to setup ipc dirs"); -+ ret = -1; -+ goto close_exit_fd; -+ } -+ - // embedded conainter is readonly, create mtab link will fail - // kata-runtime container's qemu donot support to create mtab in host - if (strcmp(IMAGE_TYPE_EMBEDDED, cont->common_config->image_type) != 0 && strcmp(KATA_RUNTIME, cont->runtime) != 0) { -diff --git a/src/daemon/modules/spec/specs_mount.c b/src/daemon/modules/spec/specs_mount.c -index b35061d8..e55832c5 100644 ---- a/src/daemon/modules/spec/specs_mount.c -+++ b/src/daemon/modules/spec/specs_mount.c -@@ -49,6 +49,7 @@ - #include "utils_file.h" - #include "utils_string.h" - #include "utils_verify.h" -+#include "utils_fs.h" - #include "image_api.h" - #include "volume_api.h" - #include "parse_volume.h" -@@ -2574,10 +2575,11 @@ static int chown_for_shm(const char *shm_path, const char *user_remap) - - static char *get_prepare_share_shm_path(const char *truntime, const char *cid) - { --#define SHM_MOUNT_FILE_NAME "/mounts/shm/" -+#define SHM_MOUNT_FILE_NAME "/mounts/shm" - char *c_root_path = NULL; - size_t slen = 0; - char *spath = NULL; -+ char real_root_path[PATH_MAX] = { 0 }; - int nret = 0; - - if (truntime == NULL) { -@@ -2588,19 +2590,24 @@ static char *get_prepare_share_shm_path(const char *truntime, const char *cid) - goto err_out; - } - -- // c_root_path + "/" + cid + "/mounts/shm" -- if (strlen(c_root_path) > (((PATH_MAX - strlen(cid)) - 1) - strlen(SHM_MOUNT_FILE_NAME)) - 1) { -+ if (realpath(c_root_path, real_root_path) == NULL) { -+ ERROR("Failed to get %s realpath", c_root_path); -+ goto err_out; -+ } -+ -+ // real_root_path + "/" + cid + "/mounts/shm" -+ if (strlen(real_root_path) > (((PATH_MAX - strlen(cid)) - 1) - strlen(SHM_MOUNT_FILE_NAME)) - 1) { - ERROR("Too large path"); - goto err_out; - } -- slen = strlen(c_root_path) + 1 + strlen(cid) + strlen(SHM_MOUNT_FILE_NAME) + 1; -+ slen = strlen(real_root_path) + 1 + strlen(cid) + strlen(SHM_MOUNT_FILE_NAME) + 1; - spath = util_smart_calloc_s(sizeof(char), slen); - if (spath == NULL) { - ERROR("Out of memory"); - goto err_out; - } - -- nret = snprintf(spath, slen, "%s/%s/mounts/shm/", c_root_path, cid); -+ nret = snprintf(spath, slen, "%s/%s/mounts/shm", real_root_path, cid); - if (nret < 0 || nret >= slen) { - ERROR("Sprintf failed"); - goto err_out; -@@ -2637,7 +2644,7 @@ out: - return ret; - } - --static int prepare_share_shm(host_config *host_spec, container_config_v2_common_config *v2_spec) -+int setup_ipc_dirs(host_config *host_spec, container_config_v2_common_config *v2_spec) - { - #define MAX_PROPERTY_LEN 64 - char shmproperty[MAX_PROPERTY_LEN] = { 0 }; -@@ -2650,14 +2657,26 @@ static int prepare_share_shm(host_config *host_spec, container_config_v2_common_ - char *p = NULL; - char *userns_remap = NULL; - #endif -- // has mount for /dev/shm -- if (has_mount_shm(host_spec, v2_spec)) { -+ -+ // ignore shm of system container -+ if (host_spec->system_container) { -+ return 0; -+ } -+ // setup shareable dirs -+ if (host_spec->ipc_mode != NULL && !namespace_is_shareable(host_spec->ipc_mode)) { - return 0; - } - - spath = get_prepare_share_shm_path(host_spec->runtime, v2_spec->id); - if (spath == NULL) { -- goto out; -+ return -1; -+ } -+ -+ // container shm has been mounted -+ if (util_detect_mounted(spath)) { -+ DEBUG("shm path %s has been mounted", spath); -+ free(spath); -+ return 0; - } - - nret = util_mkdir_p(spath, 0700); -@@ -2683,7 +2702,6 @@ static int prepare_share_shm(host_config *host_spec, container_config_v2_common_ - goto out; - } - -- v2_spec->shm_path = spath; - #ifdef ENABLE_USERNS_REMAP - userns_remap = conf_get_isulad_userns_remap(); - -@@ -2716,7 +2734,6 @@ static int prepare_share_shm(host_config *host_spec, container_config_v2_common_ - } - #endif - -- spath = NULL; - ret = 0; - out: - if (ret != 0 && has_mount) { -@@ -2777,8 +2794,22 @@ out_free: - return ret; - } - -+static int set_share_shm(const host_config *host_spec, container_config_v2_common_config *v2_spec) -+{ -+ char *spath = NULL; -+ -+ spath = get_prepare_share_shm_path(host_spec->runtime, v2_spec->id); -+ if (spath == NULL) { -+ return -1; -+ } -+ -+ v2_spec->shm_path = spath; -+ -+ return 0; -+} -+ - #define SHM_MOUNT_POINT "/dev/shm" --static int setup_ipc_dirs(host_config *host_spec, container_config_v2_common_config *v2_spec) -+static int set_shm_path(host_config *host_spec, container_config_v2_common_config *v2_spec) - { - int ret = 0; - container_t *cont = NULL; -@@ -2791,7 +2822,7 @@ static int setup_ipc_dirs(host_config *host_spec, container_config_v2_common_con - } - // setup shareable dirs - if (host_spec->ipc_mode == NULL || namespace_is_shareable(host_spec->ipc_mode)) { -- return prepare_share_shm(host_spec, v2_spec); -+ return set_share_shm(host_spec, v2_spec); - } - - if (namespace_is_container(host_spec->ipc_mode)) { -@@ -3334,6 +3365,12 @@ int merge_conf_mounts(oci_runtime_spec *oci_spec, host_config *host_spec, contai - goto out; - } - -+ if (set_shm_path(host_spec, v2_spec) != 0) { -+ ERROR("Failed to set shm path"); -+ ret = -1; -+ goto out; -+ } -+ - /* add ipc mount */ - if (v2_spec->shm_path != NULL) { - // check whether duplication -diff --git a/src/daemon/modules/spec/specs_mount.h b/src/daemon/modules/spec/specs_mount.h -index b1e987e5..07c07a37 100644 ---- a/src/daemon/modules/spec/specs_mount.h -+++ b/src/daemon/modules/spec/specs_mount.h -@@ -41,4 +41,6 @@ bool mount_run_tmpfs(oci_runtime_spec *container, const host_config *host_spec, - - int merge_conf_device(oci_runtime_spec *oci_spec, host_config *host_spec); - -+int setup_ipc_dirs(host_config *host_spec, container_config_v2_common_config *v2_spec); -+ - #endif -diff --git a/test/image/oci/oci_config_merge/CMakeLists.txt b/test/image/oci/oci_config_merge/CMakeLists.txt -index 36dc3ead..88047fde 100644 ---- a/test/image/oci/oci_config_merge/CMakeLists.txt -+++ b/test/image/oci/oci_config_merge/CMakeLists.txt -@@ -13,6 +13,7 @@ add_executable(${EXE} - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/utils/cutils/utils_convert.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/utils/cutils/utils_file.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/utils/cutils/utils_timestamp.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/utils/cutils/utils_fs.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/utils/cutils/map/map.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/utils/cutils/map/rb_tree.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/utils/cutils/util_atomic.c -diff --git a/test/specs/specs/CMakeLists.txt b/test/specs/specs/CMakeLists.txt -index e0031e08..b730959c 100644 ---- a/test/specs/specs/CMakeLists.txt -+++ b/test/specs/specs/CMakeLists.txt -@@ -13,6 +13,7 @@ add_executable(${EXE} - ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_timestamp.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/util_atomic.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_mount_spec.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_fs.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/sha256/sha256.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/path.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/map/map.c -diff --git a/test/specs/specs_extend/CMakeLists.txt b/test/specs/specs_extend/CMakeLists.txt -index 45b21ecd..7d05deb4 100644 ---- a/test/specs/specs_extend/CMakeLists.txt -+++ b/test/specs/specs_extend/CMakeLists.txt -@@ -13,6 +13,7 @@ add_executable(${EXE} - ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_timestamp.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/util_atomic.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_mount_spec.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/utils_fs.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/sha256/sha256.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/path.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/map/map.c --- -2.32.1 (Apple Git-133) - diff --git a/0021-set-the-name-of-each-container-and-image-operation-t.patch b/0021-set-the-name-of-each-container-and-image-operation-t.patch deleted file mode 100644 index 87466ac..0000000 --- a/0021-set-the-name-of-each-container-and-image-operation-t.patch +++ /dev/null @@ -1,338 +0,0 @@ -From 8878630c20163dc9b716e2fdc35cae23b8aec6d1 Mon Sep 17 00:00:00 2001 -From: wujing -Date: Tue, 14 Jun 2022 15:30:49 +0800 -Subject: [PATCH 21/30] set the name of each container and image operation - thread - -Signed-off-by: wujing ---- - .../connect/grpc/grpc_containers_service.cc | 54 +++++++++++++++++++ - .../entry/connect/grpc/grpc_images_service.cc | 16 ++++++ - 2 files changed, 70 insertions(+) - -diff --git a/src/daemon/entry/connect/grpc/grpc_containers_service.cc b/src/daemon/entry/connect/grpc/grpc_containers_service.cc -index f3066af4..62aeb05a 100644 ---- a/src/daemon/entry/connect/grpc/grpc_containers_service.cc -+++ b/src/daemon/entry/connect/grpc/grpc_containers_service.cc -@@ -153,6 +153,8 @@ Status ContainerServiceImpl::Version(ServerContext *context, const VersionReques - container_version_request *container_req = nullptr; - container_version_response *container_res = nullptr; - -+ prctl(PR_SET_NAME, "VersionOp"); -+ - auto status = GrpcServerTlsAuth::auth(context, "docker_version"); - if (!status.ok()) { - return status; -@@ -185,6 +187,8 @@ Status ContainerServiceImpl::Info(ServerContext *context, const InfoRequest *req - host_info_request *container_req = nullptr; - host_info_response *container_res = nullptr; - -+ prctl(PR_SET_NAME, "InfoOp"); -+ - auto status = GrpcServerTlsAuth::auth(context, "docker_info"); - if (!status.ok()) { - return status; -@@ -217,6 +221,8 @@ Status ContainerServiceImpl::Create(ServerContext *context, const CreateRequest - container_create_response *container_res = nullptr; - container_create_request *container_req = nullptr; - -+ prctl(PR_SET_NAME, "ContCreate"); -+ - auto status = GrpcServerTlsAuth::auth(context, "container_create"); - if (!status.ok()) { - return status; -@@ -249,6 +255,8 @@ Status ContainerServiceImpl::Start(ServerContext *context, const StartRequest *r - container_start_request *req = nullptr; - container_start_response *res = nullptr; - -+ prctl(PR_SET_NAME, "ContStart"); -+ - auto status = GrpcServerTlsAuth::auth(context, "container_start"); - if (!status.ok()) { - return status; -@@ -327,6 +335,8 @@ Status ContainerServiceImpl::RemoteStart(ServerContext *context, - container_start_response *container_res = nullptr; - sem_t sem; - -+ prctl(PR_SET_NAME, "ContRStart"); -+ - cb = get_service_executor(); - if (cb == nullptr || cb->container.start == nullptr) { - return Status(StatusCode::UNIMPLEMENTED, "Unimplemented callback"); -@@ -402,6 +412,8 @@ Status ContainerServiceImpl::Top(ServerContext *context, const TopRequest *reque - container_top_request *req = nullptr; - container_top_response *res = nullptr; - -+ prctl(PR_SET_NAME, "ContTop"); -+ - auto status = GrpcServerTlsAuth::auth(context, "container_top"); - if (!status.ok()) { - return status; -@@ -434,6 +446,8 @@ Status ContainerServiceImpl::Stop(ServerContext *context, const StopRequest *req - container_stop_request *container_req = nullptr; - container_stop_response *container_res = nullptr; - -+ prctl(PR_SET_NAME, "ContStop"); -+ - auto status = GrpcServerTlsAuth::auth(context, "container_stop"); - if (!status.ok()) { - return status; -@@ -466,6 +480,8 @@ Status ContainerServiceImpl::Restart(ServerContext *context, const RestartReques - container_restart_request *container_req = nullptr; - container_restart_response *container_res = nullptr; - -+ prctl(PR_SET_NAME, "ContRestart"); -+ - auto status = GrpcServerTlsAuth::auth(context, "container_restart"); - if (!status.ok()) { - return status; -@@ -498,6 +514,8 @@ Status ContainerServiceImpl::Kill(ServerContext *context, const KillRequest *req - container_kill_request *container_req = nullptr; - container_kill_response *container_res = nullptr; - -+ prctl(PR_SET_NAME, "ContKill"); -+ - auto status = GrpcServerTlsAuth::auth(context, "container_kill"); - if (!status.ok()) { - return status; -@@ -530,6 +548,8 @@ Status ContainerServiceImpl::Delete(ServerContext *context, const DeleteRequest - container_delete_request *container_req = nullptr; - container_delete_response *container_res = nullptr; - -+ prctl(PR_SET_NAME, "ContDelete"); -+ - auto status = GrpcServerTlsAuth::auth(context, "container_delete"); - if (!status.ok()) { - return status; -@@ -562,6 +582,8 @@ Status ContainerServiceImpl::Exec(ServerContext *context, const ExecRequest *req - container_exec_request *container_req = nullptr; - container_exec_response *container_res = nullptr; - -+ prctl(PR_SET_NAME, "ContExec"); -+ - auto status = GrpcServerTlsAuth::auth(context, "container_exec_create"); - if (!status.ok()) { - return status; -@@ -665,6 +687,8 @@ Status ContainerServiceImpl::RemoteExec(ServerContext *context, - container_exec_request *container_req = nullptr; - container_exec_response *container_res = nullptr; - -+ prctl(PR_SET_NAME, "ContRExec"); -+ - auto status = GrpcServerTlsAuth::auth(context, "container_exec_create"); - if (!status.ok()) { - return status; -@@ -739,6 +763,8 @@ Status ContainerServiceImpl::Inspect(ServerContext *context, const InspectContai - container_inspect_request *container_req = nullptr; - container_inspect_response *container_res = nullptr; - -+ prctl(PR_SET_NAME, "ContInspect"); -+ - Status status = GrpcServerTlsAuth::auth(context, "container_inspect"); - if (!status.ok()) { - return status; -@@ -772,6 +798,8 @@ Status ContainerServiceImpl::List(ServerContext *context, const ListRequest *req - container_list_request *container_req = nullptr; - container_list_response *container_res = nullptr; - -+ prctl(PR_SET_NAME, "ContList"); -+ - auto status = GrpcServerTlsAuth::auth(context, "container_list"); - if (!status.ok()) { - return status; -@@ -884,6 +912,8 @@ Status ContainerServiceImpl::Attach(ServerContext *context, ServerReaderWriter -Date: Tue, 14 Jun 2022 18:54:02 +0800 -Subject: [PATCH 22/30] set the name of each container and image operation - thread for restful version - -Signed-off-by: wujing ---- - .../connect/rest/rest_containers_service.c | 36 +++++++++++++++++++ - .../entry/connect/rest/rest_images_service.c | 19 ++++++++++ - 2 files changed, 55 insertions(+) - -diff --git a/src/daemon/entry/connect/rest/rest_containers_service.c b/src/daemon/entry/connect/rest/rest_containers_service.c -index a7c32500..9c822324 100644 ---- a/src/daemon/entry/connect/rest/rest_containers_service.c -+++ b/src/daemon/entry/connect/rest/rest_containers_service.c -@@ -522,6 +522,8 @@ static void rest_create_cb(evhtp_request_t *req, void *arg) - container_create_response *cresponse = NULL; - container_create_request *crequest = NULL; - -+ prctl(PR_SET_NAME, "ContCreate"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -557,6 +559,8 @@ static void rest_start_cb(evhtp_request_t *req, void *arg) - container_start_response *cresponse = NULL; - container_start_request *crequest = NULL; - -+ prctl(PR_SET_NAME, "ContStart"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -592,6 +596,8 @@ static void rest_wait_cb(evhtp_request_t *req, void *arg) - container_wait_request *crequest = NULL; - container_wait_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "ContWait"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -654,6 +660,8 @@ static void rest_stop_cb(evhtp_request_t *req, void *arg) - container_stop_request *crequest = NULL; - container_stop_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "ContStop"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -715,6 +723,8 @@ static void rest_restart_cb(evhtp_request_t *req, void *arg) - container_restart_request *crequest = NULL; - container_restart_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "ContRestart"); -+ - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); - return; -@@ -771,6 +781,8 @@ static void rest_version_cb(evhtp_request_t *req, void *arg) - container_version_request *crequest = NULL; - container_version_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "VersionOp"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -833,6 +845,8 @@ static void rest_info_cb(evhtp_request_t *req, void *arg) - host_info_request *crequest = NULL; - host_info_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "InfoOp"); -+ - // only deal with post request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -896,6 +910,8 @@ static void rest_update_cb(evhtp_request_t *req, void *arg) - container_update_request *container_req = NULL; - container_update_response *container_res = NULL; - -+ prctl(PR_SET_NAME, "ContUpdate"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -957,6 +973,8 @@ static void rest_kill_cb(evhtp_request_t *req, void *arg) - container_kill_request *crequest = NULL; - container_kill_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "ContKill"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -1020,6 +1038,8 @@ static void rest_container_inspect_cb(evhtp_request_t *req, void *arg) - container_inspect_request *crequest = NULL; - container_inspect_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "ContInspect"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -1082,6 +1102,8 @@ static void rest_exec_cb(evhtp_request_t *req, void *arg) - container_exec_request *crequest = NULL; - container_exec_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "ContExec"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -1145,6 +1167,8 @@ static void rest_attach_cb(evhtp_request_t *req, void *arg) - container_attach_request *crequest = NULL; - container_attach_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "ContAttach"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -1206,6 +1230,8 @@ static void rest_remove_cb(evhtp_request_t *req, void *arg) - container_delete_request *crequest = NULL; - container_delete_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "ContRemove"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -1241,6 +1267,8 @@ static void rest_list_cb(evhtp_request_t *req, void *arg) - container_list_request *crequest = NULL; - container_list_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "ContList"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -1303,6 +1331,8 @@ static void rest_export_cb(evhtp_request_t *req, void *arg) - container_export_request *crequest = NULL; - container_export_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "ContExport"); -+ - // only deal with post request - if (evhtp_request_get_method(req) != htp_method_POST) { - ERROR("Only deal with post request"); -@@ -1367,6 +1397,8 @@ static void rest_pause_cb(evhtp_request_t *req, void *arg) - container_pause_request *crequest = NULL; - container_pause_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "ContPause"); -+ - // only deal with post request - if (evhtp_request_get_method(req) != htp_method_POST) { - ERROR("Only deal with post request: pause()"); -@@ -1431,6 +1463,8 @@ static void rest_resume_cb(evhtp_request_t *req, void *arg) - container_resume_request *crequest = NULL; - container_resume_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "ContResume"); -+ - // only deal with post request - if (evhtp_request_get_method(req) != htp_method_POST) { - ERROR("Only deal with post request: resume()"); -@@ -1501,6 +1535,8 @@ static void rest_rename_cb(evhtp_request_t *req, void *arg) - struct isulad_container_rename_request isuladreq = { 0 }; - struct isulad_container_rename_response *isuladres = NULL; - -+ prctl(PR_SET_NAME, "ContRename"); -+ - // only deal with post request - if (evhtp_request_get_method(req) != htp_method_POST) { - ERROR("Only deal with post request: rename()"); -diff --git a/src/daemon/entry/connect/rest/rest_images_service.c b/src/daemon/entry/connect/rest/rest_images_service.c -index 7107d255..bd367f29 100644 ---- a/src/daemon/entry/connect/rest/rest_images_service.c -+++ b/src/daemon/entry/connect/rest/rest_images_service.c -@@ -14,6 +14,7 @@ - ******************************************************************************/ - #include "rest_images_service.h" - #include -+#include - - #include "isula_libutils/log.h" - #include "callback.h" -@@ -276,6 +277,8 @@ static void rest_image_load_cb(evhtp_request_t *req, void *arg) - image_load_image_request *crequest = NULL; - image_load_image_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "ImageLoad"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -311,6 +314,8 @@ static void rest_image_list_cb(evhtp_request_t *req, void *arg) - image_list_images_request *crequest = NULL; - image_list_images_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "ImageList"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -346,6 +351,8 @@ static void rest_image_delete_cb(evhtp_request_t *req, void *arg) - image_delete_image_request *crequest = NULL; - image_delete_image_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "ImageDelete"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -381,6 +388,8 @@ static void rest_image_inspect_cb(evhtp_request_t *req, void *arg) - image_inspect_request *crequest = NULL; - image_inspect_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "ImageInspect"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -481,6 +490,8 @@ static void rest_image_pull_cb(evhtp_request_t *req, void *arg) - image_pull_image_request *crequest = NULL; - image_pull_image_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "ImagePull"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -592,6 +603,8 @@ static void rest_image_login_cb(evhtp_request_t *req, void *arg) - image_login_request *crequest = NULL; - image_login_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "RegistryLogin"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -686,6 +699,8 @@ static void rest_image_logout_cb(evhtp_request_t *req, void *arg) - image_logout_request *crequest = NULL; - image_logout_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "RegistryLogout"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -769,6 +784,8 @@ static void rest_image_tag_cb(evhtp_request_t *req, void *arg) - image_tag_image_request *crequest = NULL; - image_tag_image_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "ImageTag"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); -@@ -852,6 +869,8 @@ static void rest_image_import_cb(evhtp_request_t *req, void *arg) - image_import_request *crequest = NULL; - image_import_response *cresponse = NULL; - -+ prctl(PR_SET_NAME, "ImageImport"); -+ - // only deal with POST request - if (evhtp_request_get_method(req) != htp_method_POST) { - evhtp_send_reply(req, RESTFUL_RES_NOTIMPL); --- -2.32.1 (Apple Git-133) - diff --git a/0023-fix-inspect-f-error-when-bionic.patch b/0023-fix-inspect-f-error-when-bionic.patch deleted file mode 100644 index 823cb7c..0000000 --- a/0023-fix-inspect-f-error-when-bionic.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 59557dbd1b4d0bde973941d383a30a7b9e0d63d4 Mon Sep 17 00:00:00 2001 -From: WangFengTu -Date: Thu, 16 Jun 2022 09:16:47 +0800 -Subject: [PATCH 23/30] fix inspect -f error when bionic - -Signed-off-by: WangFengTu ---- - src/cmd/isula/information/inspect.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/cmd/isula/information/inspect.c b/src/cmd/isula/information/inspect.c -index 5058fb95..55366551 100644 ---- a/src/cmd/isula/information/inspect.c -+++ b/src/cmd/isula/information/inspect.c -@@ -667,12 +667,12 @@ static int inspect_check(const char *json_str, const char *regex) - static int inspect_check_format_f(const char *json_str, bool *json_format) - { - #ifdef __ANDROID__ --#define JSON_FORMAT_FIRST "^[ \t\r\n\v\f]*\\{[ \t\r\n\v\f]*\\{[ \t\r\n\v\f]*(json[ \t\r\n\v\f]+)?(\\.\\w+)+[ \t\r\n\v\f]*\\}[ \t\r\n\v\f]*\\}[ \t\r\n\v\f]*$" -+#define JSON_FORMAT_FIRST "^[ \t\r\n\v\f]*\\{[ \t\r\n\v\f]*\\{[ \t\r\n\v\f]*(json[ \t\r\n\v\f]+)?(\\.[a-zA-Z0-9_]+)+[ \t\r\n\v\f]*\\}[ \t\r\n\v\f]*\\}[ \t\r\n\v\f]*$" - #else - #define JSON_FORMAT_FIRST "^\\s*\\{\\s*\\{\\s*(json\\s+)?(\\.\\w+)+\\s*\\}\\s*\\}\\s*$" - #endif - #ifdef __ANDROID__ --#define JSON_FORMAT_SECOND "^[ \t\r\n\v\f]*\\{[ \t\r\n\v\f]*\\{[ \t\r\n\v\f]*json[ \t\r\n\v\f]+(\\.\\w+)+[ \t\r\n\v\f]*\\}[ \t\r\n\v\f]*\\}[ \t\r\n\v\f]*$" -+#define JSON_FORMAT_SECOND "^[ \t\r\n\v\f]*\\{[ \t\r\n\v\f]*\\{[ \t\r\n\v\f]*json[ \t\r\n\v\f]+(\\.[a-zA-Z0-9_]+)+[ \t\r\n\v\f]*\\}[ \t\r\n\v\f]*\\}[ \t\r\n\v\f]*$" - #else - #define JSON_FORMAT_SECOND "^\\s*\\{\\s*\\{\\s*json\\s+(\\.\\w+)+\\s*\\}\\s*\\}\\s*$" - #endif --- -2.32.1 (Apple Git-133) - diff --git a/0024-refactor-devmapper_parse_options-function.patch b/0024-refactor-devmapper_parse_options-function.patch deleted file mode 100644 index fa49542..0000000 --- a/0024-refactor-devmapper_parse_options-function.patch +++ /dev/null @@ -1,289 +0,0 @@ -From 4c945810da8c645eb048e5fbb3a195da855bdcf7 Mon Sep 17 00:00:00 2001 -From: wujing -Date: Sat, 14 May 2022 17:13:26 +0800 -Subject: [PATCH 24/30] refactor devmapper_parse_options function - -Signed-off-by: wujing ---- - .../graphdriver/devmapper/deviceset.c | 242 ++++++++++++------ - 1 file changed, 157 insertions(+), 85 deletions(-) - -diff --git a/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c b/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c -index d90dde50..868e3086 100644 ---- a/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c -+++ b/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c -@@ -65,9 +65,147 @@ static char *util_trim_prefice_string(char *str, const char *prefix) - return str; - } - -+typedef int (*devmapper_option_handle)(char *val, struct device_set *devset); -+ -+struct devmapper_option_handler { -+ char *name; -+ devmapper_option_handle handle; -+}; -+ -+static int handle_dm_fs(char *val, struct device_set *devset) -+{ -+ if (strcmp(val, "ext4") == 0) { -+ free(devset->filesystem); -+ devset->filesystem = util_strdup_s(val); -+ } else { -+ ERROR("Invalid filesystem: '%s': not supported", val); -+ isulad_set_error_message("Invalid filesystem: '%s': not supported", val); -+ return -1; -+ } -+ -+ return 0; -+} -+ -+static int handle_dm_thinpooldev(char *val, struct device_set *devset) -+{ -+ char *tmp_val = NULL; -+ -+ if (!util_valid_str(val)) { -+ ERROR("Invalid thinpool device, it must not be empty"); -+ isulad_set_error_message("Invalid thinpool device, it must not be empty"); -+ return -1; -+ } -+ tmp_val = util_trim_prefice_string(val, "/dev/mapper/"); -+ devset->thin_pool_device = util_strdup_s(tmp_val); -+ -+ return 0; -+} -+ -+static int handle_dm_min_free_space(char *val, struct device_set *devset) -+{ -+ long converted = 0; -+ int ret = util_parse_percent_string(val, &converted); -+ -+ if (ret != 0 || converted >= 100) { -+ ERROR("Invalid min free space: '%s': %s", val, strerror(-ret)); -+ isulad_set_error_message("Invalid min free space: '%s': %s", val, strerror(-ret)); -+ return -1; -+ } -+ devset->min_free_space_percent = (uint32_t)converted; -+ -+ return 0; -+} -+ -+static int handle_dm_basesize(char *val, struct device_set *devset) -+{ -+ int64_t converted = 0; -+ int ret = util_parse_byte_size_string(val, &converted); -+ -+ if (ret != 0) { -+ ERROR("Invalid size: '%s': %s", val, strerror(-ret)); -+ isulad_set_error_message("Invalid size: '%s': %s", val, strerror(-ret)); -+ return -1; -+ } -+ if (converted <= 0) { -+ ERROR("dm.basesize is lower than zero"); -+ isulad_set_error_message("dm.basesize is lower than zero"); -+ return -1; -+ } -+ devset->user_base_size = true; -+ devset->base_fs_size = (uint64_t)converted; -+ -+ return 0; -+} -+ -+static int handle_dm_mkfsarg(char *val, struct device_set *devset) -+{ -+ if (!util_valid_str(val)) { -+ ERROR("Invalid dm.mkfsarg value"); -+ isulad_set_error_message("Invalid dm.mkfsarg value"); -+ return -1; -+ } -+ if (util_array_append(&devset->mkfs_args, val) != 0) { -+ ERROR("Out of memory"); -+ return -1; -+ } -+ devset->mkfs_args_len++; -+ -+ return 0; -+} -+ -+static int handle_dm_mountopt(char *val, struct device_set *devset) -+{ -+ if (!util_valid_str(val)) { -+ ERROR("Invalid dm.mountopt or devicemapper.mountopt value"); -+ isulad_set_error_message("Invalid dm.mountopt or devicemapper.mountopt value"); -+ return -1; -+ } -+ devset->mount_options = util_strdup_s(val); -+ -+ return 0; -+} -+ -+static int devmapper_option_exact(const char *name, char *val, struct device_set *devset) -+{ -+ size_t i = 0; -+ bool found = false; -+ -+ struct devmapper_option_handler handler_jump_table[] = { -+ { "dm.fs", handle_dm_fs }, -+ { "dm.thinpooldev", handle_dm_thinpooldev }, -+ { "dm.min_free_space", handle_dm_min_free_space }, -+ { "dm.basesize", handle_dm_basesize }, -+ { "dm.mkfsarg", handle_dm_mkfsarg }, -+ { "dm.mountopt", handle_dm_mountopt }, -+ { "devicemapper.mountopt", handle_dm_mountopt }, -+ }; -+ -+ for (i = 0; i < sizeof(handler_jump_table)/sizeof(handler_jump_table[0]); i++) { -+ if (strcmp(handler_jump_table[i].name, name) != 0) { -+ continue; -+ } -+ found = true; -+ if (handler_jump_table[i].handle(val, devset) != 0) { -+ ERROR("Failed to handle %s option with %s", name, val); -+ return -1; -+ } -+ break; -+ } -+ -+ if (!found) { -+ ERROR("devicemapper: unknown option: '%s'", name); -+ isulad_set_error_message("devicemapper: unknown option: '%s'", name); -+ return -1; -+ } -+ -+ return 0; -+} -+ - static int devmapper_parse_options(struct device_set *devset, const char **options, size_t options_len) - { -+ int ret = 0; - size_t i = 0; -+ char *dup_option = NULL; - - if (devset == NULL) { - ERROR("Invalid input params"); -@@ -75,104 +213,38 @@ static int devmapper_parse_options(struct device_set *devset, const char **optio - } - - for (i = 0; options != NULL && i < options_len; i++) { -- char *dup = NULL; - char *val = NULL; -- char *tmp_val = NULL; -- int ret = 0; -- int nret = 0; - -- dup = util_strdup_s(options[i]); -- if (dup == NULL) { -+ dup_option = util_strdup_s(options[i]); -+ if (dup_option == NULL) { - ERROR("Out of memory"); - return -1; - } - -- val = strchr(dup, '='); -+ val = strchr(dup_option, '='); - if (val == NULL) { -- ERROR("Unable to parse key/value option: '%s'", dup); -- isulad_set_error_message("Unable to parse key/value option: '%s'", dup); -- free(dup); -- return -1; -+ ERROR("Unable to parse key/value option: '%s'", dup_option); -+ isulad_set_error_message("Unable to parse key/value option: '%s'", dup_option); -+ ret = -1; -+ goto out; - } -+ - *val = '\0'; - val++; -- if (strcasecmp(dup, "dm.fs") == 0) { -- if (strcmp(val, "ext4") == 0) { -- free(devset->filesystem); -- devset->filesystem = util_strdup_s(val); -- } else { -- ERROR("Invalid filesystem: '%s': not supported", val); -- isulad_set_error_message("Invalid filesystem: '%s': not supported", val); -- ret = -1; -- } -- } else if (strcasecmp(dup, "dm.thinpooldev") == 0) { -- if (!util_valid_str(val)) { -- ERROR("Invalid thinpool device, it must not be empty"); -- isulad_set_error_message("Invalid thinpool device, it must not be empty"); -- ret = -1; -- goto out; -- } -- tmp_val = util_trim_prefice_string(val, "/dev/mapper/"); -- devset->thin_pool_device = util_strdup_s(tmp_val); -- } else if (strcasecmp(dup, "dm.min_free_space") == 0) { -- long converted = 0; -- ret = util_parse_percent_string(val, &converted); -- if (ret != 0 || converted >= 100) { -- ERROR("Invalid min free space: '%s': %s", val, strerror(-ret)); -- isulad_set_error_message("Invalid min free space: '%s': %s", val, strerror(-ret)); -- ret = -1; -- goto out; -- } -- devset->min_free_space_percent = (uint32_t)converted; -- } else if (strcasecmp(dup, "dm.basesize") == 0) { -- int64_t converted = 0; -- ret = util_parse_byte_size_string(val, &converted); -- if (ret != 0) { -- ERROR("Invalid size: '%s': %s", val, strerror(-ret)); -- isulad_set_error_message("Invalid size: '%s': %s", val, strerror(-ret)); -- ret = -1; -- goto out; -- } -- if (converted <= 0) { -- ERROR("dm.basesize is lower than zero"); -- isulad_set_error_message("dm.basesize is lower than zero"); -- ret = -1; -- goto out; -- } -- devset->user_base_size = true; -- devset->base_fs_size = (uint64_t)converted; -- } else if (strcasecmp(dup, "dm.mkfsarg") == 0) { -- if (!util_valid_str(val)) { -- ERROR("Invalid dm.mkfsarg value"); -- isulad_set_error_message("Invalid dm.mkfsarg value"); -- ret = -1; -- goto out; -- } -- nret = util_array_append(&devset->mkfs_args, val); -- if (nret != 0) { -- ERROR("Out of memory"); -- ret = -1; -- goto out; -- } -- devset->mkfs_args_len++; -- } else if (strcasecmp(dup, "dm.mountopt") == 0 || strcasecmp(dup, "devicemapper.mountopt") == 0) { -- if (!util_valid_str(val)) { -- ERROR("Invalid dm.mountopt or devicemapper.mountopt value"); -- isulad_set_error_message("Invalid dm.mountopt or devicemapper.mountopt value"); -- ret = -1; -- goto out; -- } -- devset->mount_options = util_strdup_s(val); -- } else { -- ERROR("devicemapper: unknown option: '%s'", dup); -- isulad_set_error_message("devicemapper: unknown option: '%s'", dup); -+ -+ if (devmapper_option_exact(dup_option, val, devset) != 0) { -+ ERROR("Failed to exact devmapper option: %s", dup_option); - ret = -1; -+ goto out; - } -+ -+ free(dup_option); -+ } -+ - out: -- free(dup); -- if (ret != 0) { -- return ret; -- } -+ free(dup_option); -+ if (ret != 0) { -+ return ret; - } - - return 0; --- -2.32.1 (Apple Git-133) - diff --git a/0025-refactor-parse_volume-function.patch b/0025-refactor-parse_volume-function.patch deleted file mode 100644 index 02ae3db..0000000 --- a/0025-refactor-parse_volume-function.patch +++ /dev/null @@ -1,153 +0,0 @@ -From 4df32783e4a665bd639f8b3ccd1b8860614eefb3 Mon Sep 17 00:00:00 2001 -From: wujing -Date: Sat, 14 May 2022 15:33:33 +0800 -Subject: [PATCH 25/30] refactor parse_volume function - -Signed-off-by: wujing ---- - src/daemon/modules/spec/parse_volume.c | 91 ++++++++++++++------------ - 1 file changed, 50 insertions(+), 41 deletions(-) - -diff --git a/src/daemon/modules/spec/parse_volume.c b/src/daemon/modules/spec/parse_volume.c -index ef2d58e4..3afa0962 100644 ---- a/src/daemon/modules/spec/parse_volume.c -+++ b/src/daemon/modules/spec/parse_volume.c -@@ -341,22 +341,60 @@ static int check_volume_element(const char *volume) - return ret; - } - -+static int set_volume_element_options(defs_mount *mount_element, const char **modes) -+{ -+ const size_t max_options_len = 4; -+ size_t options_len = 0; -+ size_t i = 0; -+ bool with_rw = false; -+ bool with_pro = false; -+ bool with_label = false; -+ -+ mount_element->options = util_common_calloc_s(max_options_len * sizeof(char *)); -+ if (mount_element->options == NULL) { -+ ERROR("Out of memory"); -+ return -1; -+ } -+ -+ options_len = util_array_len((const char **)modes); -+ if (options_len > max_options_len) { -+ ERROR("Invalid volume element options"); -+ return -1; -+ } -+ -+ for (i = 0; i < options_len; i++) { -+ if (util_valid_rw_mode(modes[i])) { -+ with_rw = true; -+ mount_element->options[mount_element->options_len++] = util_strdup_s(modes[i]); -+ } else if (util_valid_propagation_mode(modes[i])) { -+ with_pro = true; -+ mount_element->options[mount_element->options_len++] = util_strdup_s(modes[i]); -+ } else if (util_valid_label_mode(modes[i])) { -+ with_label = true; -+ mount_element->options[mount_element->options_len++] = util_strdup_s(modes[i]); -+ } else if (util_valid_copy_mode(modes[i])) { -+ mount_element->options[mount_element->options_len++] = util_strdup_s(modes[i]); -+ } -+ } -+ -+ if (append_default_mount_options(mount_element, with_rw, with_pro, with_label) != 0) { -+ ERROR("Failed to append default mount options"); -+ return -1; -+ } -+ -+ return 0; -+} -+ - defs_mount *parse_volume(const char *volume) - { - int ret = 0; -- size_t i = 0; -- size_t mlen = 0; - defs_mount *mount_element = NULL; - char **modes = NULL; - char path[PATH_MAX] = { 0x00 }; -- char *rw = NULL; -- char *pro = NULL; -- char *label = NULL; -- size_t max_options_len = 4; -- char *nocopy = NULL; - - ret = check_volume_element(volume); - if (ret != 0) { -+ ERROR("Invalid volume element"); - goto free_out; - } - -@@ -368,22 +406,10 @@ defs_mount *parse_volume(const char *volume) - - ret = get_src_dst_mode_by_volume(volume, mount_element, &modes); - if (ret != 0) { -+ ERROR("Failed to parse volume"); - goto free_out; - } - -- mlen = util_array_len((const char **)modes); -- for (i = 0; i < mlen; i++) { -- if (util_valid_rw_mode(modes[i])) { -- rw = modes[i]; -- } else if (util_valid_propagation_mode(modes[i])) { -- pro = modes[i]; -- } else if (util_valid_label_mode(modes[i])) { -- label = modes[i]; -- } else if (util_valid_copy_mode(modes[i])) { -- nocopy = modes[i]; -- } -- } -- - if (!util_clean_path(mount_element->destination, path, sizeof(path))) { - ERROR("Failed to get clean path"); - ret = -1; -@@ -402,25 +428,6 @@ defs_mount *parse_volume(const char *volume) - mount_element->source = util_strdup_s(path); - } - -- mount_element->options = util_common_calloc_s(max_options_len * sizeof(char *)); -- if (mount_element->options == NULL) { -- ERROR("Out of memory"); -- mount_element->options_len = 0; -- ret = -1; -- goto free_out; -- } -- if (rw != NULL) { -- mount_element->options[mount_element->options_len++] = util_strdup_s(rw); -- } -- if (pro != NULL) { -- mount_element->options[mount_element->options_len++] = util_strdup_s(pro); -- } -- if (label != NULL) { -- mount_element->options[mount_element->options_len++] = util_strdup_s(label); -- } -- if (nocopy != NULL) { -- mount_element->options[mount_element->options_len++] = util_strdup_s(nocopy); -- } - if (mount_element->source != NULL && mount_element->source[0] == '/') { - mount_element->type = util_strdup_s(MOUNT_TYPE_BIND); - } else { -@@ -430,13 +437,15 @@ defs_mount *parse_volume(const char *volume) - } - } - -- ret = check_mount_element(volume, mount_element); -+ ret = set_volume_element_options(mount_element, (const char **)modes); - if (ret != 0) { -+ ERROR("Failed to set volume element options"); - goto free_out; - } - -- ret = append_default_mount_options(mount_element, rw != NULL, pro != NULL, label != NULL); -+ ret = check_mount_element(volume, mount_element); - if (ret != 0) { -+ ERROR("Invalid mount element"); - goto free_out; - } - --- -2.32.1 (Apple Git-133) - diff --git a/0026-fix-parse-volume-failed.patch b/0026-fix-parse-volume-failed.patch deleted file mode 100644 index 8f40e34..0000000 --- a/0026-fix-parse-volume-failed.patch +++ /dev/null @@ -1,93 +0,0 @@ -From fdb731d7a272eb1574ef31b058beffbefffa1eb2 Mon Sep 17 00:00:00 2001 -From: zhangxiaoyu -Date: Wed, 18 May 2022 10:30:35 +0800 -Subject: [PATCH 26/30] fix parse volume failed - -Signed-off-by: zhangxiaoyu ---- - src/daemon/modules/spec/parse_volume.c | 28 ++++++++++++++------------ - 1 file changed, 15 insertions(+), 13 deletions(-) - -diff --git a/src/daemon/modules/spec/parse_volume.c b/src/daemon/modules/spec/parse_volume.c -index 3afa0962..7b02f6ca 100644 ---- a/src/daemon/modules/spec/parse_volume.c -+++ b/src/daemon/modules/spec/parse_volume.c -@@ -341,14 +341,12 @@ static int check_volume_element(const char *volume) - return ret; - } - --static int set_volume_element_options(defs_mount *mount_element, const char **modes) -+static int set_volume_element_options(defs_mount *mount_element, const char **modes, bool *with_rw, -+ bool *with_pro, bool *with_label) - { - const size_t max_options_len = 4; - size_t options_len = 0; - size_t i = 0; -- bool with_rw = false; -- bool with_pro = false; -- bool with_label = false; - - mount_element->options = util_common_calloc_s(max_options_len * sizeof(char *)); - if (mount_element->options == NULL) { -@@ -364,30 +362,28 @@ static int set_volume_element_options(defs_mount *mount_element, const char **mo - - for (i = 0; i < options_len; i++) { - if (util_valid_rw_mode(modes[i])) { -- with_rw = true; -+ *with_rw = true; - mount_element->options[mount_element->options_len++] = util_strdup_s(modes[i]); - } else if (util_valid_propagation_mode(modes[i])) { -- with_pro = true; -+ *with_pro = true; - mount_element->options[mount_element->options_len++] = util_strdup_s(modes[i]); - } else if (util_valid_label_mode(modes[i])) { -- with_label = true; -+ *with_label = true; - mount_element->options[mount_element->options_len++] = util_strdup_s(modes[i]); - } else if (util_valid_copy_mode(modes[i])) { - mount_element->options[mount_element->options_len++] = util_strdup_s(modes[i]); - } - } - -- if (append_default_mount_options(mount_element, with_rw, with_pro, with_label) != 0) { -- ERROR("Failed to append default mount options"); -- return -1; -- } -- - return 0; - } - - defs_mount *parse_volume(const char *volume) - { - int ret = 0; -+ bool with_rw = false; -+ bool with_pro = false; -+ bool with_label = false; - defs_mount *mount_element = NULL; - char **modes = NULL; - char path[PATH_MAX] = { 0x00 }; -@@ -437,7 +433,7 @@ defs_mount *parse_volume(const char *volume) - } - } - -- ret = set_volume_element_options(mount_element, (const char **)modes); -+ ret = set_volume_element_options(mount_element, (const char **)modes, &with_rw, &with_pro, &with_label); - if (ret != 0) { - ERROR("Failed to set volume element options"); - goto free_out; -@@ -449,6 +445,12 @@ defs_mount *parse_volume(const char *volume) - goto free_out; - } - -+ ret = append_default_mount_options(mount_element, with_rw, with_pro, with_label); -+ if (ret != 0) { -+ ERROR("Failed to append default mount options"); -+ goto free_out; -+ } -+ - free_out: - util_free_array(modes); - if (ret != 0) { --- -2.32.1 (Apple Git-133) - diff --git a/0027-use-util_smart_calloc_t-to-prevent-overflow.patch b/0027-use-util_smart_calloc_t-to-prevent-overflow.patch deleted file mode 100644 index fcceed6..0000000 --- a/0027-use-util_smart_calloc_t-to-prevent-overflow.patch +++ /dev/null @@ -1,2106 +0,0 @@ -From 7eda716c55d2247a79519a9f0a0950878eca6bf2 Mon Sep 17 00:00:00 2001 -From: wujing -Date: Thu, 16 Jun 2022 19:53:11 +0800 -Subject: [PATCH 27/30] use util_smart_calloc_t to prevent overflow - -Signed-off-by: wujing ---- - .../connect/grpc/grpc_containers_client.cc | 6 +- - src/client/connect/grpc/grpc_images_client.cc | 2 +- - .../connect/grpc/grpc_volumes_client.cc | 2 +- - src/client/connect/protocol_type.c | 4 +- - .../connect/rest/rest_containers_client.c | 39 ++++-------- - src/client/connect/rest/rest_images_client.c | 19 +++--- - src/cmd/isula/base/create.c | 9 +-- - src/cmd/isula/information/inspect.c | 6 +- - src/cmd/isula/isula_container_spec.c | 15 +---- - src/cmd/isula/isula_host_spec.c | 30 ++-------- - src/cmd/isula/stream/exec.c | 2 +- - src/cmd/isulad/isulad_commands.c | 5 +- - src/daemon/common/events_format.c | 2 +- - src/daemon/config/daemon_arguments.c | 8 +-- - src/daemon/config/isulad_config.c | 11 ++-- - .../grpc/grpc_containers_service_private.cc | 31 ++-------- - .../entry/connect/grpc/grpc_images_service.cc | 9 +-- - src/daemon/entry/cri/checkpoint_handler.cc | 6 +- - src/daemon/entry/cri/cri_helpers.cc | 32 +++------- - src/daemon/entry/cri/cri_security_context.cc | 12 +--- - .../entry/cri/websocket/service/exec_serve.cc | 8 +-- - .../executor/container_cb/execution_create.c | 12 +--- - .../executor/container_cb/execution_extend.c | 6 +- - .../container_cb/execution_information.c | 23 ++------ - src/daemon/executor/container_cb/list.c | 9 +-- - src/daemon/executor/image_cb/image_cb.c | 12 +--- - .../modules/container/container_state.c | 7 +-- - src/daemon/modules/container/container_unix.c | 7 +-- - .../modules/container/containers_store.c | 6 +- - .../container/health_check/health_check.c | 17 +++--- - .../modules/image/embedded/embedded_image.c | 8 +-- - .../modules/image/oci/oci_config_merge.c | 15 +---- - src/daemon/modules/image/oci/oci_load.c | 10 ++-- - src/daemon/modules/image/oci/registry/auths.c | 2 +- - .../modules/image/oci/registry/registry.c | 37 ++++++------ - .../oci/storage/image_store/image_store.c | 6 +- - src/daemon/modules/image/oci/utils_images.c | 4 +- - src/daemon/modules/plugin/plugin.c | 7 +-- - .../modules/runtime/engines/lcr/lcr_rt_ops.c | 2 +- - .../modules/service/inspect_container.c | 20 +------ - src/daemon/modules/service/io_handler.c | 35 ++++++----- - .../modules/service/service_container.c | 2 +- - src/daemon/modules/spec/parse_volume.c | 6 +- - src/daemon/modules/spec/specs.c | 6 +- - src/daemon/modules/spec/specs_mount.c | 15 ++--- - src/daemon/modules/spec/specs_security.c | 59 ++++++------------- - src/daemon/modules/spec/verify.c | 10 +--- - src/daemon/modules/volume/local.c | 17 +++--- - src/daemon/modules/volume/volume.c | 4 +- - src/utils/console/console.c | 7 +-- - src/utils/cutils/utils_array.c | 16 ++--- - src/utils/cutils/utils_string.c | 14 +---- - .../oci_config_merge/oci_config_merge_ut.cc | 2 - - 53 files changed, 198 insertions(+), 463 deletions(-) - -diff --git a/src/client/connect/grpc/grpc_containers_client.cc b/src/client/connect/grpc/grpc_containers_client.cc -index ebe71df9..85cafe9b 100644 ---- a/src/client/connect/grpc/grpc_containers_client.cc -+++ b/src/client/connect/grpc/grpc_containers_client.cc -@@ -495,7 +495,7 @@ public: - ERROR("Too many summary info!"); - return -1; - } -- response->processes = static_cast(util_common_calloc_s(num * sizeof(char *))); -+ response->processes = static_cast(util_smart_calloc_s(sizeof(char *), num)); - if (response->processes == nullptr) { - ERROR("out of memory"); - response->cc = ISULAD_ERR_MEMOUT; -@@ -1666,8 +1666,8 @@ public: - { - int size = gresponse->containers_size(); - if (size > 0) { -- response->container_stats = static_cast( -- util_common_calloc_s(size * sizeof(struct isula_container_info))); -+ response->container_stats = -+ static_cast(util_smart_calloc_s(sizeof(struct isula_container_info), size)); - if (response->container_stats == nullptr) { - ERROR("Out of memory"); - return -1; -diff --git a/src/client/connect/grpc/grpc_images_client.cc b/src/client/connect/grpc/grpc_images_client.cc -index 50265e04..9424a90a 100644 ---- a/src/client/connect/grpc/grpc_images_client.cc -+++ b/src/client/connect/grpc/grpc_images_client.cc -@@ -71,7 +71,7 @@ public: - response->cc = ISULAD_ERR_MEMOUT; - return -1; - } -- images_list = (struct isula_image_info *)util_common_calloc_s(sizeof(struct isula_image_info) * (size_t)num); -+ images_list = (struct isula_image_info *)util_smart_calloc_s(sizeof(struct isula_image_info), (size_t)num); - if (images_list == nullptr) { - ERROR("out of memory"); - response->cc = ISULAD_ERR_MEMOUT; -diff --git a/src/client/connect/grpc/grpc_volumes_client.cc b/src/client/connect/grpc/grpc_volumes_client.cc -index 902e8a13..32b83a9e 100644 ---- a/src/client/connect/grpc/grpc_volumes_client.cc -+++ b/src/client/connect/grpc/grpc_volumes_client.cc -@@ -156,7 +156,7 @@ public: - { - auto size = gresponse->volumes_size(); - if (size != 0) { -- response->volumes = static_cast(util_common_calloc_s(sizeof(char *) * size)); -+ response->volumes = static_cast(util_smart_calloc_s(sizeof(char *), size)); - if (response->volumes == nullptr) { - return -1; - } -diff --git a/src/client/connect/protocol_type.c b/src/client/connect/protocol_type.c -index af582abf..713c69cb 100644 ---- a/src/client/connect/protocol_type.c -+++ b/src/client/connect/protocol_type.c -@@ -63,12 +63,12 @@ struct isula_filters *isula_filters_parse_args(const char **array, size_t len) - return NULL; - } - -- filters->keys = util_common_calloc_s(sizeof(char *) * len); -+ filters->keys = util_smart_calloc_s(sizeof(char *), len); - if (filters->keys == NULL) { - ERROR("Out of memory"); - goto cleanup; - } -- filters->values = util_common_calloc_s(sizeof(char *) * len); -+ filters->values = util_smart_calloc_s(sizeof(char *), len); - if (filters->values == NULL) { - free(filters->keys); - filters->keys = NULL; -diff --git a/src/client/connect/rest/rest_containers_client.c b/src/client/connect/rest/rest_containers_client.c -index 04fb414d..61dcd54c 100644 ---- a/src/client/connect/rest/rest_containers_client.c -+++ b/src/client/connect/rest/rest_containers_client.c -@@ -142,18 +142,13 @@ static int list_request_to_rest(const struct isula_list_request *ll_request, cha - } - - len = ll_request->filters->len; -- if (len > SIZE_MAX / sizeof(char *)) { -- ERROR("Too many filters"); -- ret = -1; -- goto out; -- } -- crequest->filters->keys = (char **)util_common_calloc_s(len * sizeof(char *)); -+ crequest->filters->keys = (char **)util_smart_calloc_s(sizeof(char *), len); - if (crequest->filters->keys == NULL) { - ERROR("Out of memory"); - ret = -1; - goto out; - } -- crequest->filters->values = (json_map_string_bool **)util_common_calloc_s(len * sizeof(json_map_string_bool *)); -+ crequest->filters->values = (json_map_string_bool **)util_smart_calloc_s(sizeof(json_map_string_bool *), len); - if (crequest->filters->values == NULL) { - ERROR("Out of memory"); - free(crequest->filters->keys); -@@ -385,12 +380,8 @@ static int unpack_container_info_for_list_response(container_list_response *cres - if (num == 0) { - return 0; - } -- if (num > SIZE_MAX / sizeof(struct isula_container_summary_info *)) { -- ERROR("Too many container summaries"); -- return -1; -- } -- summary_info = (struct isula_container_summary_info **)util_common_calloc_s( -- sizeof(struct isula_container_summary_info *) * num); -+ summary_info = (struct isula_container_summary_info **)util_smart_calloc_s( -+ sizeof(struct isula_container_summary_info *), num); - if (summary_info == NULL) { - ERROR("out of memory"); - return -1; -@@ -428,8 +419,8 @@ static int unpack_container_info_for_list_response(container_list_response *cres - summary_info[i]->exit_code = cresponse->containers[i]->exit_code; - summary_info[i]->restart_count = (unsigned int)cresponse->containers[i]->restartcount; - summary_info[i]->created = cresponse->containers[i]->created; -- summary_info[i]->health_state = cresponse->containers[i]->health_state ? -- util_strdup_s(cresponse->containers[i]->health_state) : NULL; -+ summary_info[i]->health_state = -+ cresponse->containers[i]->health_state ? util_strdup_s(cresponse->containers[i]->health_state) : NULL; - } - - return 0; -@@ -1632,12 +1623,7 @@ static int exec_request_to_rest(const struct isula_exec_request *le_request, cha - - int i = 0; - if (le_request->argc > 0) { -- if ((size_t)le_request->argc > SIZE_MAX / sizeof(char *)) { -- ERROR("Too many arguments!"); -- ret = -1; -- goto out; -- } -- crequest->argv = (char **)util_common_calloc_s(sizeof(char *) * (size_t)le_request->argc); -+ crequest->argv = (char **)util_smart_calloc_s(sizeof(char *), (size_t)le_request->argc); - if (crequest->argv == NULL) { - ERROR("Out of memory"); - ret = -1; -@@ -1649,12 +1635,7 @@ static int exec_request_to_rest(const struct isula_exec_request *le_request, cha - crequest->argv_len = (size_t)le_request->argc; - } - if (le_request->env_len > 0) { -- if ((size_t)le_request->env_len > SIZE_MAX / sizeof(char *)) { -- ERROR("Too many environmental variables!"); -- ret = -1; -- goto out; -- } -- crequest->env = (char **)util_common_calloc_s(sizeof(char *) * (size_t)le_request->env_len); -+ crequest->env = (char **)util_smart_calloc_s(sizeof(char *), (size_t)le_request->env_len); - if (crequest->env == NULL) { - ERROR("Out of memory"); - ret = -1; -@@ -1865,8 +1846,8 @@ out: - } - - /* rest container info */ --static int rest_container_info(const struct isula_info_request *li_request, -- struct isula_info_response *li_response, void *arg) -+static int rest_container_info(const struct isula_info_request *li_request, struct isula_info_response *li_response, -+ void *arg) - { - char *body = NULL; - int ret = 0; -diff --git a/src/client/connect/rest/rest_images_client.c b/src/client/connect/rest/rest_images_client.c -index c2fc17f1..c7ab78cc 100644 ---- a/src/client/connect/rest/rest_images_client.c -+++ b/src/client/connect/rest/rest_images_client.c -@@ -122,9 +122,9 @@ static int unpack_image_info_to_list_response(image_list_images_response *crespo - } - - num = cresponse->images_len; -- if (num > 0 && (num < (SIZE_MAX / sizeof(struct isula_image_info)))) { -+ if (num > 0) { - size_t i; -- image_info = (struct isula_image_info *)util_common_calloc_s(sizeof(struct isula_image_info) * num); -+ image_info = (struct isula_image_info *)util_smart_calloc_s(sizeof(struct isula_image_info), num); - if (image_info == NULL) { - ERROR("out of memory"); - return -1; -@@ -134,17 +134,19 @@ static int unpack_image_info_to_list_response(image_list_images_response *crespo - for (i = 0; i < num; i++) { - if (cresponse->images[i]->target != NULL) { - image_info[i].type = cresponse->images[i]->target->media_type ? -- util_strdup_s(cresponse->images[i]->target->media_type) : util_strdup_s("-"); -+ util_strdup_s(cresponse->images[i]->target->media_type) : -+ util_strdup_s("-"); - image_info[i].digest = cresponse->images[i]->target->digest ? -- util_strdup_s(cresponse->images[i]->target->digest) : util_strdup_s("-"); -+ util_strdup_s(cresponse->images[i]->target->digest) : -+ util_strdup_s("-"); - image_info[i].size = cresponse->images[i]->target->size; - } - if (cresponse->images[i]->created_at != NULL) { - image_info[i].created = cresponse->images[i]->created_at->seconds; - image_info[i].created_nanos = cresponse->images[i]->created_at->nanos; - } -- image_info[i].imageref = cresponse->images[i]->name ? -- util_strdup_s(cresponse->images[i]->name) : util_strdup_s("-"); -+ image_info[i].imageref = cresponse->images[i]->name ? util_strdup_s(cresponse->images[i]->name) : -+ util_strdup_s("-"); - } - } - -@@ -524,7 +526,6 @@ out: - return ret; - } - -- - /* rest image pull */ - static int rest_image_pull(const struct isula_pull_request *request, struct isula_pull_response *response, void *arg) - { -@@ -824,7 +825,6 @@ out: - return ret; - } - -- - /* rest image tag */ - static int rest_image_tag(const struct isula_tag_request *request, struct isula_tag_response *response, void *arg) - { -@@ -929,7 +929,6 @@ out: - static int rest_image_import(const struct isula_import_request *request, struct isula_import_response *response, - void *arg) - { -- - client_connect_config_t *connect_config = (client_connect_config_t *)arg; - const char *socketname = (const char *)(connect_config->socket); - char *body = NULL; -@@ -963,7 +962,6 @@ out: - return ret; - } - -- - /* rest images client ops init */ - int rest_images_client_ops_init(isula_connect_ops *ops) - { -@@ -983,4 +981,3 @@ int rest_images_client_ops_init(isula_connect_ops *ops) - - return 0; - } -- -diff --git a/src/cmd/isula/base/create.c b/src/cmd/isula/base/create.c -index 2db2fd21..97da80ac 100644 ---- a/src/cmd/isula/base/create.c -+++ b/src/cmd/isula/base/create.c -@@ -51,8 +51,7 @@ - const char g_cmd_create_desc[] = "Create a new container"; - const char g_cmd_create_usage[] = "create [OPTIONS] --external-rootfs=PATH|IMAGE [COMMAND] [ARG...]"; - --struct client_arguments g_cmd_create_args = { -- .runtime = "", -+struct client_arguments g_cmd_create_args = { .runtime = "", - .restart = "no", - .cr.oom_score_adj = 0, - .custom_conf.health_interval = 0, -@@ -717,11 +716,7 @@ static int request_pack_host_ns_change_files(const struct client_arguments *args - files = net_ipc_files; - files_len = sizeof(net_ipc_files) / sizeof(net_ipc_files[0]); - } -- if (files_len > (SIZE_MAX / sizeof(char *)) - 1) { -- ERROR("Too many files"); -- return -1; -- } -- hostconfig->ns_change_files = util_common_calloc_s((files_len + 1) * sizeof(char *)); -+ hostconfig->ns_change_files = util_smart_calloc_s(sizeof(char *), (files_len + 1)); - if (hostconfig->ns_change_files == NULL) { - ERROR("Out of memory"); - return -1; -diff --git a/src/cmd/isula/information/inspect.c b/src/cmd/isula/information/inspect.c -index 55366551..bb52b42a 100644 ---- a/src/cmd/isula/information/inspect.c -+++ b/src/cmd/isula/information/inspect.c -@@ -775,7 +775,7 @@ static char **inspect_split_filter(const char *format, size_t *filter_len) - return res_array; - } - -- res_array = (char **)util_common_calloc_s(sizeof(char *) * (*filter_len)); -+ res_array = (char **)util_smart_calloc_s(sizeof(char *), (*filter_len)); - if (res_array == NULL) { - ERROR("out of memory"); - return NULL; -@@ -847,14 +847,14 @@ static int generate_filter_string(char ***filter_string, bool **json_format, siz - } - - *filter_string_len = format_size; -- *filter_string = (char **)util_common_calloc_s(sizeof(char *) * format_size); -+ *filter_string = (char **)util_smart_calloc_s(sizeof(char *), format_size); - if (*filter_string == NULL) { - ERROR("out of memory"); - ret = ECOMMON; - goto error_out; - } - -- *json_format = (bool *)util_common_calloc_s(sizeof(bool) * format_size * g_cmd_inspect_args.argc); -+ *json_format = (bool *)util_smart_calloc_s(sizeof(bool), format_size * g_cmd_inspect_args.argc); - if (*json_format == NULL) { - ERROR("out of memory"); - ret = ECOMMON; -diff --git a/src/cmd/isula/isula_container_spec.c b/src/cmd/isula/isula_container_spec.c -index 9340708f..09406d09 100644 ---- a/src/cmd/isula/isula_container_spec.c -+++ b/src/cmd/isula/isula_container_spec.c -@@ -48,12 +48,7 @@ static int pack_container_custom_config_args(container_config *container_spec, - - /* commands */ - if ((custom_conf->cmd_len != 0 && custom_conf->cmd)) { -- if (custom_conf->cmd_len > SIZE_MAX / sizeof(char *)) { -- COMMAND_ERROR("The length of cmd is too long!"); -- ret = -1; -- goto out; -- } -- container_spec->cmd = util_common_calloc_s(custom_conf->cmd_len * sizeof(char *)); -+ container_spec->cmd = util_smart_calloc_s(sizeof(char *), custom_conf->cmd_len); - if (container_spec->cmd == NULL) { - ret = -1; - goto out; -@@ -76,11 +71,7 @@ static int pack_container_custom_config_array(container_config *container_spec, - - /* environment variables */ - if (custom_conf->env_len != 0 && custom_conf->env) { -- if (custom_conf->env_len > SIZE_MAX / sizeof(char *)) { -- COMMAND_ERROR("Too many environment variables"); -- return -1; -- } -- container_spec->env = util_common_calloc_s(custom_conf->env_len * sizeof(char *)); -+ container_spec->env = util_smart_calloc_s(sizeof(char *), custom_conf->env_len); - if (container_spec->env == NULL) { - ret = -1; - goto out; -@@ -202,7 +193,7 @@ static int pack_custom_with_health_check(container_config *container_spec, const - int ret = 0; - - if (custom_conf->health_cmd != NULL && strlen(custom_conf->health_cmd) != 0) { -- health_config->test = util_common_calloc_s(2 * sizeof(char *)); -+ health_config->test = util_smart_calloc_s(sizeof(char *), 2); - if (health_config->test == NULL) { - ret = -1; - goto out; -diff --git a/src/cmd/isula/isula_host_spec.c b/src/cmd/isula/isula_host_spec.c -index 297f9299..11e3eed3 100644 ---- a/src/cmd/isula/isula_host_spec.c -+++ b/src/cmd/isula/isula_host_spec.c -@@ -401,12 +401,7 @@ static int pack_hostconfig_ulimits(host_config *dstconfig, const isula_host_conf - goto out; - } - -- if (srcconfig->ulimits_len > SIZE_MAX / sizeof(host_config_ulimits_element *)) { -- COMMAND_ERROR("Too many ulimit elements in host config"); -- ret = -1; -- goto out; -- } -- dstconfig->ulimits = util_common_calloc_s(srcconfig->ulimits_len * sizeof(host_config_ulimits_element *)); -+ dstconfig->ulimits = util_smart_calloc_s(sizeof(host_config_ulimits_element *), srcconfig->ulimits_len); - if (dstconfig->ulimits == NULL) { - COMMAND_ERROR("Out of memory"); - ret = -1; -@@ -1127,12 +1122,7 @@ int generate_devices(host_config *dstconfig, const isula_host_config_t *srcconfi - goto out; - } - -- if (srcconfig->devices_len > SIZE_MAX / sizeof(host_config_devices_element *)) { -- ERROR("Too many devices to be populated into container"); -- ret = -1; -- goto out; -- } -- dstconfig->devices = util_common_calloc_s(sizeof(host_config_devices_element *) * srcconfig->devices_len); -+ dstconfig->devices = util_smart_calloc_s(sizeof(host_config_devices_element *), srcconfig->devices_len); - if (dstconfig->devices == NULL) { - ret = -1; - goto out; -@@ -1472,13 +1462,7 @@ static int generate_mounts(host_config *dstconfig, const isula_host_config_t *sr - goto out; - } - -- if (srcconfig->mounts_len > SIZE_MAX / sizeof(char *)) { -- COMMAND_ERROR("Too many mounts to mount!"); -- ret = -1; -- goto out; -- } -- -- dstconfig->mounts = util_common_calloc_s(srcconfig->mounts_len * sizeof(mount_spec*)); -+ dstconfig->mounts = util_smart_calloc_s(sizeof(mount_spec *), srcconfig->mounts_len); - if (dstconfig->mounts == NULL) { - ret = -1; - goto out; -@@ -1540,13 +1524,7 @@ int generate_security(host_config *dstconfig, const isula_host_config_t *srcconf - goto out; - } - -- if (srcconfig->security_len > SIZE_MAX / sizeof(char *)) { -- COMMAND_ERROR("Too many security opts!"); -- ret = -1; -- goto out; -- } -- -- dstconfig->security_opt = util_common_calloc_s(srcconfig->security_len * sizeof(char *)); -+ dstconfig->security_opt = util_smart_calloc_s(sizeof(char *), srcconfig->security_len); - if (dstconfig->security_opt == NULL) { - ret = -1; - goto out; -diff --git a/src/cmd/isula/stream/exec.c b/src/cmd/isula/stream/exec.c -index df911d0b..2d0d37da 100644 ---- a/src/cmd/isula/stream/exec.c -+++ b/src/cmd/isula/stream/exec.c -@@ -394,7 +394,7 @@ static char *generate_exec_suffix() - { - char *exec_suffix = NULL; - -- exec_suffix = util_common_calloc_s(sizeof(char) * (CONTAINER_ID_MAX_LEN + 1)); -+ exec_suffix = util_smart_calloc_s(sizeof(char), (CONTAINER_ID_MAX_LEN + 1)); - if (exec_suffix == NULL) { - ERROR("Out of memory"); - goto out; -diff --git a/src/cmd/isulad/isulad_commands.c b/src/cmd/isulad/isulad_commands.c -index 89d91c1b..798416a3 100644 ---- a/src/cmd/isulad/isulad_commands.c -+++ b/src/cmd/isulad/isulad_commands.c -@@ -468,7 +468,7 @@ static int do_merge_conf_hosts_into_global(struct service_arguments *args) - - if (args->hosts_len == 0) { - /* set default host */ -- args->hosts = (char **)util_common_calloc_s(sizeof(char *) * DEFAULT_HOSTS_LEN); -+ args->hosts = (char **)util_smart_calloc_s(sizeof(char *), DEFAULT_HOSTS_LEN); - if (args->hosts == NULL) { - ERROR("Out of memory"); - return -1; -@@ -544,8 +544,7 @@ static int do_merge_conf_default_ulimit_into_global(struct service_arguments *ar - telem.name = ptr->name; - telem.hard = ptr->hard; - telem.soft = ptr->soft; -- if (ulimit_array_append(&args->default_ulimit, &telem, args->default_ulimit_len) != -- 0) { -+ if (ulimit_array_append(&args->default_ulimit, &telem, args->default_ulimit_len) != 0) { - ERROR("merge json confs default ulimit config failed"); - return -1; - } -diff --git a/src/daemon/common/events_format.c b/src/daemon/common/events_format.c -index 96dec401..e5ceab92 100644 ---- a/src/daemon/common/events_format.c -+++ b/src/daemon/common/events_format.c -@@ -46,7 +46,7 @@ int event_copy(const struct isulad_events_format *src, struct isulad_events_form - - if (src->annotations_len != 0) { - util_free_array_by_len(dest->annotations, dest->annotations_len); -- dest->annotations = (char **)util_common_calloc_s(src->annotations_len * sizeof(char *)); -+ dest->annotations = (char **)util_smart_calloc_s(sizeof(char *), src->annotations_len); - if (dest->annotations == NULL) { - ERROR("Out of memory"); - return -1; -diff --git a/src/daemon/config/daemon_arguments.c b/src/daemon/config/daemon_arguments.c -index c107fd74..719efef0 100644 ---- a/src/daemon/config/daemon_arguments.c -+++ b/src/daemon/config/daemon_arguments.c -@@ -118,11 +118,11 @@ int service_arguments_init(struct service_arguments *args) - if (args->json_confs->log_opts == NULL) { - goto free_out; - } -- args->json_confs->log_opts->keys = (char **)util_common_calloc_s(sizeof(char *) * DEFAULT_LOG_OPTS_LEN); -+ args->json_confs->log_opts->keys = (char **)util_smart_calloc_s(sizeof(char *), DEFAULT_LOG_OPTS_LEN); - if (args->json_confs->log_opts->keys == NULL) { - goto free_out; - } -- args->json_confs->log_opts->values = (char **)util_common_calloc_s(sizeof(char *) * DEFAULT_LOG_OPTS_LEN); -+ args->json_confs->log_opts->values = (char **)util_smart_calloc_s(sizeof(char *), DEFAULT_LOG_OPTS_LEN); - if (args->json_confs->log_opts->values == NULL) { - goto free_out; - } -@@ -138,8 +138,8 @@ int service_arguments_init(struct service_arguments *args) - args->max_size = 1024 * 1024; - - // init container log configs -- args->json_confs->container_log = (isulad_daemon_configs_container_log *)util_common_calloc_s(sizeof( -- isulad_daemon_configs_container_log)); -+ args->json_confs->container_log = -+ (isulad_daemon_configs_container_log *)util_common_calloc_s(sizeof(isulad_daemon_configs_container_log)); - if (args->json_confs->container_log == NULL) { - ERROR("Out of memory"); - goto free_out; -diff --git a/src/daemon/config/isulad_config.c b/src/daemon/config/isulad_config.c -index 38d2a0bf..1270d0c6 100644 ---- a/src/daemon/config/isulad_config.c -+++ b/src/daemon/config/isulad_config.c -@@ -323,7 +323,7 @@ char *conf_get_routine_rootdir(const char *runtime) - ERROR("The size of path exceeds the limit"); - goto out; - } -- path = util_common_calloc_s(sizeof(char) * len); -+ path = util_smart_calloc_s(sizeof(char), len); - if (path == NULL) { - ERROR("Out of memory"); - goto out; -@@ -660,7 +660,7 @@ char *get_log_file_helper(const struct service_arguments *conf, const char *suff - ERROR("The size of path exceeds the limit"); - return NULL; - } -- logfile = util_common_calloc_s(len * sizeof(char)); -+ logfile = util_smart_calloc_s(sizeof(char), len); - if (logfile == NULL) { - ERROR("Out of memory"); - goto out; -@@ -760,7 +760,7 @@ char *conf_get_engine_log_file() - ERROR("The size of path exceeds the limit"); - goto out; - } -- full_path = util_common_calloc_s(len * sizeof(char)); -+ full_path = util_smart_calloc_s(sizeof(char), len); - if (full_path == NULL) { - FATAL("Out of Memory"); - goto out; -@@ -990,10 +990,7 @@ HOOKS_ELEM_DUP_DEF(poststop) - int hooks_##item##_dup(oci_runtime_spec_hooks *dest, const oci_runtime_spec_hooks *src) \ - { \ - int i = 0; \ -- if (src->item##_len > SIZE_MAX / sizeof(defs_hook *) - 1) { \ -- return -1; \ -- } \ -- dest->item = util_common_calloc_s(sizeof(defs_hook *) * (src->item##_len + 1)); \ -+ dest->item = util_smart_calloc_s(sizeof(defs_hook *), (src->item##_len + 1)); \ - if (dest->item == NULL) \ - return -1; \ - dest->item##_len = src->item##_len; \ -diff --git a/src/daemon/entry/connect/grpc/grpc_containers_service_private.cc b/src/daemon/entry/connect/grpc/grpc_containers_service_private.cc -index 56283c8d..e8a48d58 100644 ---- a/src/daemon/entry/connect/grpc/grpc_containers_service_private.cc -+++ b/src/daemon/entry/connect/grpc/grpc_containers_service_private.cc -@@ -206,12 +206,7 @@ int ContainerServiceImpl::top_request_from_grpc(const TopRequest *grequest, cont - } - - if (grequest->args_size() > 0) { -- if ((size_t)grequest->args_size() > SIZE_MAX / sizeof(char *)) { -- ERROR("Too many arguments!"); -- free_container_top_request(tmpreq); -- return -1; -- } -- tmpreq->args = (char **)util_common_calloc_s(sizeof(char *) * grequest->args_size()); -+ tmpreq->args = (char **)util_smart_calloc_s(sizeof(char *), grequest->args_size()); - if (tmpreq->args == nullptr) { - ERROR("Out of memory"); - free_container_top_request(tmpreq); -@@ -373,12 +368,7 @@ int ContainerServiceImpl::exec_request_from_grpc(const ExecRequest *grequest, co - } - - if (grequest->argv_size() > 0) { -- if ((size_t)grequest->argv_size() > SIZE_MAX / sizeof(char *)) { -- ERROR("Too many arguments!"); -- free_container_exec_request(tmpreq); -- return -1; -- } -- tmpreq->argv = (char **)util_common_calloc_s(sizeof(char *) * grequest->argv_size()); -+ tmpreq->argv = (char **)util_smart_calloc_s(sizeof(char *), grequest->argv_size()); - if (tmpreq->argv == nullptr) { - ERROR("Out of memory"); - free_container_exec_request(tmpreq); -@@ -391,12 +381,7 @@ int ContainerServiceImpl::exec_request_from_grpc(const ExecRequest *grequest, co - } - - if (grequest->env_size() > 0) { -- if ((size_t)grequest->argv_size() > SIZE_MAX / sizeof(char *)) { -- ERROR("Too many environmental variables!"); -- free_container_exec_request(tmpreq); -- return -1; -- } -- tmpreq->env = (char **)util_common_calloc_s(sizeof(char *) * grequest->env_size()); -+ tmpreq->env = (char **)util_smart_calloc_s(sizeof(char *), grequest->env_size()); - if (tmpreq->env == nullptr) { - ERROR("Out of memory"); - free_container_exec_request(tmpreq); -@@ -490,15 +475,11 @@ int ContainerServiceImpl::list_request_from_grpc(const ListRequest *grequest, co - *request = tmpreq; - return 0; - } -- if (len > SIZE_MAX / sizeof(char *)) { -- ERROR("invalid filters size"); -- goto cleanup; -- } -- tmpreq->filters->keys = (char **)util_common_calloc_s(len * sizeof(char *)); -+ tmpreq->filters->keys = (char **)util_smart_calloc_s(sizeof(char *), len); - if (tmpreq->filters->keys == nullptr) { - goto cleanup; - } -- tmpreq->filters->values = (json_map_string_bool **)util_common_calloc_s(len * sizeof(json_map_string_bool *)); -+ tmpreq->filters->values = (json_map_string_bool **)util_smart_calloc_s(sizeof(json_map_string_bool *), len); - if (tmpreq->filters->values == nullptr) { - free(tmpreq->filters->keys); - tmpreq->filters->keys = nullptr; -@@ -744,7 +725,7 @@ int ContainerServiceImpl::stats_request_from_grpc(const StatsRequest *grequest, - } - - if (grequest->containers_size() > 0) { -- tmpreq->containers = (char **)util_common_calloc_s(grequest->containers_size() * sizeof(char *)); -+ tmpreq->containers = (char **)util_smart_calloc_s(sizeof(char *), grequest->containers_size()); - if (tmpreq->containers == nullptr) { - ERROR("Out of memory"); - free_container_stats_request(tmpreq); -diff --git a/src/daemon/entry/connect/grpc/grpc_images_service.cc b/src/daemon/entry/connect/grpc/grpc_images_service.cc -index 79c4fb7c..b1ca98b8 100644 ---- a/src/daemon/entry/connect/grpc/grpc_images_service.cc -+++ b/src/daemon/entry/connect/grpc/grpc_images_service.cc -@@ -40,22 +40,17 @@ int ImagesServiceImpl::image_list_request_from_grpc(const ListImagesRequest *gre - *request = tmpreq; - return 0; - } -- if (len > SIZE_MAX / sizeof(char *)) { -- ERROR("invalid filters size"); -- goto cleanup; -- } -- - tmpreq->filters = (defs_filters *)util_common_calloc_s(sizeof(defs_filters)); - if (tmpreq->filters == nullptr) { - ERROR("Out of memory"); - goto cleanup; - } - -- tmpreq->filters->keys = (char **)util_common_calloc_s(len * sizeof(char *)); -+ tmpreq->filters->keys = (char **)util_smart_calloc_s(sizeof(char *), len); - if (tmpreq->filters->keys == nullptr) { - goto cleanup; - } -- tmpreq->filters->values = (json_map_string_bool **)util_common_calloc_s(len * sizeof(json_map_string_bool *)); -+ tmpreq->filters->values = (json_map_string_bool **)util_smart_calloc_s(sizeof(json_map_string_bool *), len); - if (tmpreq->filters->values == nullptr) { - free(tmpreq->filters->keys); - tmpreq->filters->keys = nullptr; -diff --git a/src/daemon/entry/cri/checkpoint_handler.cc b/src/daemon/entry/cri/checkpoint_handler.cc -index 858c830c..d5eab7a7 100644 ---- a/src/daemon/entry/cri/checkpoint_handler.cc -+++ b/src/daemon/entry/cri/checkpoint_handler.cc -@@ -202,11 +202,7 @@ void CheckpointData::CheckpointDataToCStruct(cri_checkpoint_data **data, Errors - } - (*data)->host_network = m_hostNetwork; - if (len > 0) { -- if (len > SIZE_MAX / sizeof(cri_port_mapping *)) { -- error.SetError("Invalid port mapping size"); -- goto out; -- } -- (*data)->port_mappings = (cri_port_mapping **)util_common_calloc_s(sizeof(cri_port_mapping *) * len); -+ (*data)->port_mappings = (cri_port_mapping **)util_smart_calloc_s(sizeof(cri_port_mapping *), len); - if ((*data)->port_mappings == nullptr) { - error.SetError("Out of memory"); - goto out; -diff --git a/src/daemon/entry/cri/cri_helpers.cc b/src/daemon/entry/cri/cri_helpers.cc -index 525d65a0..e5db52f6 100644 ---- a/src/daemon/entry/cri/cri_helpers.cc -+++ b/src/daemon/entry/cri/cri_helpers.cc -@@ -77,8 +77,7 @@ auto GetDefaultSandboxImage(Errors &err) -> std::string - const std::string defaultPodSandboxImageName { "pause" }; - const std::string defaultPodSandboxImageVersion { "3.0" }; - std::string machine; -- struct utsname uts { -- }; -+ struct utsname uts {}; - - if (uname(&uts) < 0) { - err.SetError("Failed to read host arch."); -@@ -230,16 +229,12 @@ auto FiltersAdd(defs_filters *filters, const std::string &key, const std::string - } - - size_t len = filters->len + 1; -- if (len > SIZE_MAX / sizeof(char *)) { -- ERROR("Invalid filter size"); -- return -1; -- } -- char **keys = (char **)util_common_calloc_s(len * sizeof(char *)); -+ char **keys = (char **)util_smart_calloc_s(sizeof(char *), len); - if (keys == nullptr) { - ERROR("Out of memory"); - return -1; - } -- json_map_string_bool **vals = (json_map_string_bool **)util_common_calloc_s(len * sizeof(json_map_string_bool *)); -+ json_map_string_bool **vals = (json_map_string_bool **)util_smart_calloc_s(sizeof(json_map_string_bool *), len); - if (vals == nullptr) { - free(keys); - ERROR("Out of memory"); -@@ -299,10 +294,7 @@ auto ContainerStatusToRuntime(Container_Status status) -> runtime::v1alpha2::Con - auto StringVectorToCharArray(std::vector &path) -> char ** - { - size_t len = path.size(); -- if (len == 0 || len > (SIZE_MAX / sizeof(char *)) - 1) { -- return nullptr; -- } -- char **result = (char **)util_common_calloc_s((len + 1) * sizeof(char *)); -+ char **result = (char **)util_smart_calloc_s(sizeof(char *), (len + 1)); - if (result == nullptr) { - return nullptr; - } -@@ -487,12 +479,8 @@ void GenerateMountBindings(const google::protobuf::RepeatedPtrField INT_MAX / sizeof(char *)) { -- err.SetError("Too many mounts"); -- return; -- } - -- hostconfig->binds = (char **)util_common_calloc_s(mounts.size() * sizeof(char *)); -+ hostconfig->binds = (char **)util_smart_calloc_s(sizeof(char *), mounts.size()); - if (hostconfig->binds == nullptr) { - err.SetError("Out of memory"); - return; -@@ -737,7 +725,6 @@ out: - free_cri_checkpoint(criCheckpoint); - } - -- - auto InspectContainer(const std::string &Id, Errors &err, bool with_host_config) -> container_inspect * - { - container_inspect *inspect_data { nullptr }; -@@ -761,8 +748,7 @@ int32_t ToInt32Timeout(int64_t timeout) - return (int32_t)timeout; - } - --void GetContainerLogPath(const std::string &containerID, char **path, char **realPath, -- Errors &error) -+void GetContainerLogPath(const std::string &containerID, char **path, char **realPath, Errors &error) - { - container_inspect *info = InspectContainer(containerID, error, false); - if (info == nullptr || error.NotEmpty()) { -@@ -812,8 +798,8 @@ cleanup: - free(realPath); - } - --void GetContainerTimeStamps(const container_inspect *inspect, int64_t *createdAt, -- int64_t *startedAt, int64_t *finishedAt, Errors &err) -+void GetContainerTimeStamps(const container_inspect *inspect, int64_t *createdAt, int64_t *startedAt, -+ int64_t *finishedAt, Errors &err) - { - if (inspect == nullptr) { - err.SetError("Invalid arguments"); -@@ -979,7 +965,7 @@ cleanup: - - char *GenerateExecSuffix() - { -- char *exec_suffix = (char *)util_common_calloc_s(sizeof(char) * (CONTAINER_ID_MAX_LEN + 1)); -+ char *exec_suffix = (char *)util_smart_calloc_s(sizeof(char), (CONTAINER_ID_MAX_LEN + 1)); - if (exec_suffix == nullptr) { - ERROR("Out of memory"); - return nullptr; -diff --git a/src/daemon/entry/cri/cri_security_context.cc b/src/daemon/entry/cri/cri_security_context.cc -index 466e0e1c..8484108c 100644 ---- a/src/daemon/entry/cri/cri_security_context.cc -+++ b/src/daemon/entry/cri/cri_security_context.cc -@@ -41,11 +41,7 @@ static void ModifyHostConfigCapabilities(const runtime::v1alpha2::LinuxContainer - - const google::protobuf::RepeatedPtrField &capAdd = sc.capabilities().add_capabilities(); - if (!capAdd.empty()) { -- if (static_cast(capAdd.size()) > SIZE_MAX / sizeof(char *)) { -- error.SetError("Invalid capability add size"); -- return; -- } -- hostConfig->cap_add = (char **)util_common_calloc_s(sizeof(char *) * capAdd.size()); -+ hostConfig->cap_add = (char **)util_smart_calloc_s(sizeof(char *), capAdd.size()); - if (hostConfig->cap_add == nullptr) { - error.SetError("Out of memory"); - return; -@@ -57,11 +53,7 @@ static void ModifyHostConfigCapabilities(const runtime::v1alpha2::LinuxContainer - } - const google::protobuf::RepeatedPtrField &capDrop = sc.capabilities().drop_capabilities(); - if (!capDrop.empty()) { -- if (static_cast(capDrop.size()) > SIZE_MAX / sizeof(char *)) { -- error.SetError("Invalid capability drop size"); -- return; -- } -- hostConfig->cap_drop = (char **)util_common_calloc_s(sizeof(char *) * capDrop.size()); -+ hostConfig->cap_drop = (char **)util_smart_calloc_s(sizeof(char *), capDrop.size()); - if (hostConfig->cap_drop == nullptr) { - error.SetError("Out of memory"); - return; -diff --git a/src/daemon/entry/cri/websocket/service/exec_serve.cc b/src/daemon/entry/cri/websocket/service/exec_serve.cc -index 7b7d36b5..b779f25f 100644 ---- a/src/daemon/entry/cri/websocket/service/exec_serve.cc -+++ b/src/daemon/entry/cri/websocket/service/exec_serve.cc -@@ -45,11 +45,7 @@ void *ExecServe::SetContainerStreamRequest(::google::protobuf::Message *request, - } - - if (grequest->cmd_size() > 0) { -- if (static_cast(grequest->cmd_size()) > SIZE_MAX / sizeof(char *)) { -- ERROR("Too many arguments!"); -- return nullptr; -- } -- m_request->argv = (char **)util_common_calloc_s(sizeof(char *) * grequest->cmd_size()); -+ m_request->argv = (char **)util_smart_calloc_s(sizeof(char *), grequest->cmd_size()); - if (m_request->argv == nullptr) { - ERROR("Out of memory!"); - return nullptr; -@@ -109,7 +105,7 @@ int ExecServe::ExecuteStreamCommand(SessionData *lwsCtx, void *request) - - void ExecServe::CloseConnect(SessionData *lwsCtx) - { -- closeWsConnect((void*)lwsCtx, nullptr); -+ closeWsConnect((void *)lwsCtx, nullptr); - } - - void ExecServe::FreeRequest(void *m_request) -diff --git a/src/daemon/executor/container_cb/execution_create.c b/src/daemon/executor/container_cb/execution_create.c -index 850e0a0f..626cfbc6 100644 ---- a/src/daemon/executor/container_cb/execution_create.c -+++ b/src/daemon/executor/container_cb/execution_create.c -@@ -589,7 +589,7 @@ static char *try_generate_id() - char *id = NULL; - char *value = NULL; - -- id = util_common_calloc_s(sizeof(char) * (CONTAINER_ID_MAX_LEN + 1)); -+ id = util_smart_calloc_s(sizeof(char), (CONTAINER_ID_MAX_LEN + 1)); - if (id == NULL) { - ERROR("Out of memory"); - return NULL; -@@ -675,14 +675,8 @@ static int conf_get_image_id(const char *image, char **id) - goto out; - } - -- if (strlen(ir->id) > SIZE_MAX / sizeof(char) - strlen("sha256:")) { -- ERROR("Invalid image id"); -- ret = -1; -- goto out; -- } -- - len = strlen("sha256:") + strlen(ir->id) + 1; -- image_id = (char *)util_common_calloc_s(len * sizeof(char)); -+ image_id = (char *)util_smart_calloc_s(sizeof(char), len); - if (image_id == NULL) { - ERROR("Out of memory"); - ret = -1; -@@ -835,7 +829,7 @@ static int prepare_host_channel(const host_config_host_channel *host_channel, co - #ifdef ENABLE_USERNS_REMAP - char *daemon_userns_remap = conf_get_isulad_userns_remap(); - if (daemon_userns_remap != NULL) { -- userns_remap = (const char *) daemon_userns_remap; -+ userns_remap = (const char *)daemon_userns_remap; - } - #endif - -diff --git a/src/daemon/executor/container_cb/execution_extend.c b/src/daemon/executor/container_cb/execution_extend.c -index 91ce5dbb..5b131a80 100644 ---- a/src/daemon/executor/container_cb/execution_extend.c -+++ b/src/daemon/executor/container_cb/execution_extend.c -@@ -341,11 +341,7 @@ error_out: - - static int service_stats_make_memory(container_info ***stats_arr, size_t num) - { -- if (num > SIZE_MAX / sizeof(container_info *)) { -- return -1; -- } -- -- *stats_arr = util_common_calloc_s(num * sizeof(container_info *)); -+ *stats_arr = util_smart_calloc_s(sizeof(container_info *), num); - if (*stats_arr == NULL) { - ERROR("Out of memory"); - return -1; -diff --git a/src/daemon/executor/container_cb/execution_information.c b/src/daemon/executor/container_cb/execution_information.c -index 297f96b9..144daebf 100644 ---- a/src/daemon/executor/container_cb/execution_information.c -+++ b/src/daemon/executor/container_cb/execution_information.c -@@ -483,12 +483,8 @@ int parse_output(char **title, char ***process, size_t *process_len, const char - - pid_num = get_pid_num(*title); - stime = get_stime(*title); -- if (util_array_len((const char **)tmp) > SIZE_MAX / sizeof(char *)) { -- ERROR("Invalid array length"); -- ret = -1; -- goto out; -- } -- *process = util_common_calloc_s(util_array_len((const char **)tmp) * sizeof(char *)); -+ -+ *process = util_smart_calloc_s(sizeof(char *), util_array_len((const char **)tmp)); - if (*process == NULL) { - ERROR("Out of memory"); - ret = -1; -@@ -604,15 +600,9 @@ static int get_pids(const char *name, const char *runtime, const char *rootpath, - goto out; - } - -- if (out->pids_len > SIZE_MAX / sizeof(pid_t)) { -- ERROR("list too many pids"); -- ret = -1; -- goto out; -- } -- - if (out->pids_len != 0) { - pid_t *tmp = NULL; -- tmp = util_common_calloc_s(sizeof(pid_t) * out->pids_len); -+ tmp = util_smart_calloc_s(sizeof(pid_t), out->pids_len); - if (tmp == NULL) { - ERROR("Memory out"); - ret = -1; -@@ -814,12 +804,7 @@ static int container_top_cb(container_top_request *request, container_top_respon - cc = ISULAD_ERR_EXEC; - goto pack_response; - } -- if (process_len > SIZE_MAX / sizeof(char *)) { -- ERROR("invalid processe size"); -- cc = ISULAD_ERR_EXEC; -- goto pack_response; -- } -- (*response)->processes = util_common_calloc_s(process_len * sizeof(char *)); -+ (*response)->processes = util_smart_calloc_s(sizeof(char *), process_len); - if ((*response)->processes == NULL) { - ERROR("Out of memory"); - cc = ISULAD_ERR_EXEC; -diff --git a/src/daemon/executor/container_cb/list.c b/src/daemon/executor/container_cb/list.c -index 90f4a548..026f1efb 100644 ---- a/src/daemon/executor/container_cb/list.c -+++ b/src/daemon/executor/container_cb/list.c -@@ -609,14 +609,7 @@ static int pack_list_containers(char **idsarray, const struct list_context *ctx, - if (container_nums == 0) { - goto out; - } -- -- if (container_nums > (SIZE_MAX / sizeof(container_container *))) { -- ERROR("Get too many containers:%zu", container_nums); -- ret = -1; -- goto out; -- } -- -- response->containers = util_common_calloc_s(container_nums * sizeof(container_container *)); -+ response->containers = util_smart_calloc_s(sizeof(container_container *), container_nums); - if (response->containers == NULL) { - ERROR("Out of memory"); - ret = -1; -diff --git a/src/daemon/executor/image_cb/image_cb.c b/src/daemon/executor/image_cb/image_cb.c -index e75cf65c..10a9661a 100644 ---- a/src/daemon/executor/image_cb/image_cb.c -+++ b/src/daemon/executor/image_cb/image_cb.c -@@ -659,14 +659,7 @@ static int trans_im_list_images(const im_list_response *im_list, image_list_imag - // If one image have several repo tags, display them all. Image with no - // repo will also be displayed - images_display_num = calc_images_display_num(im_list->images); -- if (images_display_num >= (SIZE_MAX / sizeof(image_image *))) { -- INFO("Too many images, out of memory"); -- ret = -1; -- isulad_try_set_error_message("Get too many images info, out of memory"); -- goto out; -- } -- -- response->images = util_common_calloc_s(sizeof(image_image *) * images_display_num); -+ response->images = util_smart_calloc_s(sizeof(image_image *), images_display_num); - if (response->images == NULL) { - ERROR("Out of memory"); - ret = -1; -@@ -1074,7 +1067,7 @@ static int image_pull_cb(const image_pull_image_request *request, image_pull_ima - } - - EVENT("Image Event: {Object: %s, Type: Pulling}", image_ref); -- ret = pull_request_from_rest(request, &im_req); -+ ret = pull_request_from_rest(request, &im_req); - if (ret != 0) { - goto out; - } -@@ -1101,7 +1094,6 @@ out: - return (ret < 0) ? ECOMMON : ret; - } - -- - /* image callback init */ - void image_callback_init(service_image_callback_t *cb) - { -diff --git a/src/daemon/modules/container/container_state.c b/src/daemon/modules/container/container_state.c -index efcbe852..d342df25 100644 ---- a/src/daemon/modules/container/container_state.c -+++ b/src/daemon/modules/container/container_state.c -@@ -479,12 +479,7 @@ static int container_dup_health_check_status(defs_health **dst, const defs_healt - result->status = src->status ? util_strdup_s(src->status) : NULL; - result->failing_streak = src->failing_streak; - if (src->log_len != 0) { -- if (src->log_len > SIZE_MAX / sizeof(defs_health_log_element *)) { -- ERROR("Invalid log size"); -- ret = -1; -- goto error; -- } -- result->log = util_common_calloc_s(sizeof(defs_health_log_element *) * src->log_len); -+ result->log = util_smart_calloc_s(sizeof(defs_health_log_element *), src->log_len); - if (result->log == NULL) { - ERROR("Out of memory"); - ret = -1; -diff --git a/src/daemon/modules/container/container_unix.c b/src/daemon/modules/container/container_unix.c -index 98f91ea9..9910b3c8 100644 ---- a/src/daemon/modules/container/container_unix.c -+++ b/src/daemon/modules/container/container_unix.c -@@ -387,16 +387,11 @@ static int pack_path_and_args_from_container_spec(const container_config *contai - v2_spec->path = util_strdup_s(container_spec->entrypoint[0]); - total = container_spec->entrypoint_len + container_spec->cmd_len - 1; - -- if (total > SIZE_MAX / sizeof(char *)) { -- ERROR("Container oci spec process args elements is too much!"); -- ret = -1; -- goto out; -- } - if (total == 0) { - goto out; - } - -- v2_spec->args = util_common_calloc_s(total * sizeof(char *)); -+ v2_spec->args = util_smart_calloc_s(sizeof(char *), total); - if (v2_spec->args == NULL) { - ERROR("Out of memory"); - ret = -1; -diff --git a/src/daemon/modules/container/containers_store.c b/src/daemon/modules/container/containers_store.c -index e0700296..e5c5b2ef 100644 ---- a/src/daemon/modules/container/containers_store.c -+++ b/src/daemon/modules/container/containers_store.c -@@ -262,11 +262,7 @@ int containers_store_list(container_t ***out, size_t *size) - ret = 0; - goto unlock; - } -- if (*size > SIZE_MAX / sizeof(container_t *)) { -- ERROR("Containers store list is too long!"); -- goto unlock; -- } -- conts = util_common_calloc_s(sizeof(container_t *) * (*size)); -+ conts = util_smart_calloc_s(sizeof(container_t *), (*size)); - if (conts == NULL) { - ERROR("Out of memory"); - goto unlock; -diff --git a/src/daemon/modules/container/health_check/health_check.c b/src/daemon/modules/container/health_check/health_check.c -index dc00ae33..59ec01aa 100644 ---- a/src/daemon/modules/container/health_check/health_check.c -+++ b/src/daemon/modules/container/health_check/health_check.c -@@ -289,13 +289,15 @@ static char **health_check_cmds(const container_config *config) - } - - shell_len = util_array_len((const char **)shell); -- if (shell_len > (SIZE_MAX / sizeof(char *)) - config->healthcheck->test_len) { -- ERROR("Invalid shell length"); -+ -+ if (config->healthcheck->test_len > SIZE_MAX - shell_len) { -+ ERROR("Invalid test comand length"); - goto out; - } -- cmd_slice = util_common_calloc_s((shell_len + config->healthcheck->test_len) * sizeof(char *)); -+ -+ cmd_slice = util_smart_calloc_s(sizeof(char *), (shell_len + config->healthcheck->test_len)); - if (cmd_slice == NULL) { -- ERROR("out of memory"); -+ ERROR("Out of memory"); - goto out; - } - for (i = 0; i < shell_len; i++) { -@@ -423,8 +425,7 @@ static int handle_increment_streak(container_t *cont, int retries) - if (cont->common_config->config->healthcheck->exit_on_unhealthy) { - pthread_t stop_container_tid = { 0 }; - char *container_id = util_strdup_s(cont->common_config->id); -- if (pthread_create(&stop_container_tid, NULL, stop_container_on_unhealthy, -- (void *)container_id)) { -+ if (pthread_create(&stop_container_tid, NULL, stop_container_on_unhealthy, (void *)container_id)) { - free(container_id); - ERROR("Failed to create thread to exec health check"); - ret = -1; -@@ -845,8 +846,8 @@ static void *health_check_monitor(void *arg) - case MONITOR_IDLE: - /* fall-through */ - default: -- if (do_monitor_default(container_id, probe_interval, cont->health_check, -- &start_timestamp, &last_timestamp) != 0) { -+ if (do_monitor_default(container_id, probe_interval, cont->health_check, &start_timestamp, -+ &last_timestamp) != 0) { - goto out; - } - break; -diff --git a/src/daemon/modules/image/embedded/embedded_image.c b/src/daemon/modules/image/embedded/embedded_image.c -index e6c136e0..910ba24a 100644 ---- a/src/daemon/modules/image/embedded/embedded_image.c -+++ b/src/daemon/modules/image/embedded/embedded_image.c -@@ -169,13 +169,7 @@ static int embedded_images_to_imagetool_images(struct db_all_images *all_images, - goto out; - } - -- if (images_num >= (SIZE_MAX / sizeof(imagetool_image_summary *))) { -- ERROR("Too many images, out of memory"); -- ret = -1; -- isulad_try_set_error_message("Get too many images info, out of memory"); -- goto out; -- } -- list->images = util_common_calloc_s(sizeof(imagetool_image_summary *) * images_num); -+ list->images = util_smart_calloc_s(sizeof(imagetool_image_summary *), images_num); - if (list->images == NULL) { - ERROR("Out of memory"); - ret = -1; -diff --git a/src/daemon/modules/image/oci/oci_config_merge.c b/src/daemon/modules/image/oci/oci_config_merge.c -index 41529a11..dc9cbb74 100644 ---- a/src/daemon/modules/image/oci/oci_config_merge.c -+++ b/src/daemon/modules/image/oci/oci_config_merge.c -@@ -73,12 +73,7 @@ static int do_duplicate_commands(const oci_image_spec_config *config, container_ - return 0; - } - -- if (config->cmd_len > SIZE_MAX / sizeof(char *)) { -- ERROR("too many commands!"); -- return -1; -- } -- -- container_spec->cmd = (char **)util_common_calloc_s(sizeof(char *) * config->cmd_len); -+ container_spec->cmd = (char **)util_smart_calloc_s(sizeof(char *), config->cmd_len); - if (container_spec->cmd == NULL) { - ERROR("Out of memory"); - return -1; -@@ -239,13 +234,7 @@ static int dup_health_check_from_image(const defs_health_check *image_health_che - return -1; - } - -- if (image_health_check->test_len > SIZE_MAX / sizeof(char *)) { -- ERROR("invalid health check commands!"); -- ret = -1; -- goto out; -- } -- -- health_check->test = util_common_calloc_s(sizeof(char *) * image_health_check->test_len); -+ health_check->test = util_smart_calloc_s(sizeof(char *), image_health_check->test_len); - if (health_check->test == NULL) { - ERROR("Out of memory"); - ret = -1; -diff --git a/src/daemon/modules/image/oci/oci_load.c b/src/daemon/modules/image/oci/oci_load.c -index a8eecfe9..64ef2a1a 100644 ---- a/src/daemon/modules/image/oci/oci_load.c -+++ b/src/daemon/modules/image/oci/oci_load.c -@@ -224,7 +224,7 @@ static char **str_array_copy(char **arr, size_t len) - char **str_arr = NULL; - size_t i = 0; - -- str_arr = util_common_calloc_s(sizeof(char *) * len); -+ str_arr = util_smart_calloc_s(sizeof(char *), len); - if (str_arr == NULL) { - ERROR("Out of memory"); - return NULL; -@@ -705,7 +705,8 @@ static int oci_load_set_layers_info(load_image_t *im, const image_manifest_items - } - - if (conf->rootfs->diff_ids_len != im->layers_len) { -- ERROR("Invalid manifest, layers length mismatch: expected %zu, got %zu", im->layers_len, conf->rootfs->diff_ids_len); -+ ERROR("Invalid manifest, layers length mismatch: expected %zu, got %zu", im->layers_len, -+ conf->rootfs->diff_ids_len); - ret = -1; - goto out; - } -@@ -727,7 +728,8 @@ static int oci_load_set_layers_info(load_image_t *im, const image_manifest_items - // The format is sha256:xxx - im->layers[i]->chain_id = oci_load_calc_chain_id(parent_chain_id_sha256, conf->rootfs->diff_ids[i]); - if (im->layers[i]->chain_id == NULL) { -- ERROR("calc chain id failed, diff id %s, parent chain id %s", conf->rootfs->diff_ids[i], parent_chain_id_sha256); -+ ERROR("calc chain id failed, diff id %s, parent chain id %s", conf->rootfs->diff_ids[i], -+ parent_chain_id_sha256); - ret = -1; - goto out; - } -@@ -881,7 +883,7 @@ static int oci_load_set_manifest_info(load_image_t *im) - } - - im->manifest->schema_version = OCI_SCHEMA_VERSION; -- im->manifest->layers = util_common_calloc_s(sizeof(oci_image_content_descriptor *) * im->layers_len); -+ im->manifest->layers = util_smart_calloc_s(sizeof(oci_image_content_descriptor *), im->layers_len); - if (im->manifest->layers == NULL) { - ERROR("Out of memory"); - ret = -1; -diff --git a/src/daemon/modules/image/oci/registry/auths.c b/src/daemon/modules/image/oci/registry/auths.c -index f8cd7977..02b9753c 100644 ---- a/src/daemon/modules/image/oci/registry/auths.c -+++ b/src/daemon/modules/image/oci/registry/auths.c -@@ -236,7 +236,7 @@ static int add_allocated_auth(registry_auths *auths, char *host, char *auth) - - result_len = auths->auths->len + 1; - element = util_common_calloc_s(sizeof(defs_map_string_object_auths_element)); -- values = util_common_calloc_s(sizeof(defs_map_string_object_auths_element *) * result_len); -+ values = util_smart_calloc_s(sizeof(defs_map_string_object_auths_element *), result_len); - if (element == NULL || values == NULL) { - ERROR("out of memory"); - ret = -1; -diff --git a/src/daemon/modules/image/oci/registry/registry.c b/src/daemon/modules/image/oci/registry/registry.c -index 25973c71..e6369f90 100644 ---- a/src/daemon/modules/image/oci/registry/registry.c -+++ b/src/daemon/modules/image/oci/registry/registry.c -@@ -132,7 +132,7 @@ static int parse_manifest_schema1(pull_descriptor *desc) - goto out; - } - -- desc->layers = util_common_calloc_s(sizeof(layer_blob) * manifest->fs_layers_len); -+ desc->layers = util_smart_calloc_s(sizeof(layer_blob), manifest->fs_layers_len); - if (desc->layers == NULL) { - ERROR("out of memory"); - ret = -1; -@@ -197,7 +197,7 @@ static int parse_manifest_schema2(pull_descriptor *desc) - goto out; - } - -- desc->layers = util_common_calloc_s(sizeof(layer_blob) * manifest->layers_len); -+ desc->layers = util_smart_calloc_s(sizeof(layer_blob), manifest->layers_len); - if (desc->layers == NULL) { - ERROR("out of memory"); - ret = -1; -@@ -250,7 +250,7 @@ static int parse_manifest_ociv1(pull_descriptor *desc) - goto out; - } - -- desc->layers = util_common_calloc_s(sizeof(layer_blob) * manifest->layers_len); -+ desc->layers = util_smart_calloc_s(sizeof(layer_blob), manifest->layers_len); - if (desc->layers == NULL) { - ERROR("out of memory"); - ret = -1; -@@ -390,7 +390,7 @@ static int add_cached_layer(char *blob_digest, char *file, thread_fetch_info *in - struct linked_list *node = NULL; - char *src_file = NULL; - thread_fetch_info *src_info = NULL; -- file_elem *elem = {NULL}; -+ file_elem *elem = { NULL }; - pull_descriptor *desc = info->desc; - - cache = (cached_layer *)map_search(g_shared->cached_layers, blob_digest); -@@ -430,8 +430,8 @@ static int add_cached_layer(char *blob_digest, char *file, thread_fetch_info *in - ret = -1; - goto out; - } -- src_file = ((file_elem*)elem)->file; -- src_info = ((file_elem*)elem)->info; -+ src_file = ((file_elem *)elem)->file; -+ src_info = ((file_elem *)elem)->info; - if (src_info == NULL) { - ERROR("source info is NULL, this should never happen"); - ret = -1; -@@ -561,16 +561,16 @@ static int set_cached_info_to_desc(thread_fetch_info *info) - } - - if (desc->layers[i].diff_id == NULL) { -- ERROR("layer %zu of image %s have invalid NULL diffid, info->use=%d, info->diffid=%s", -- i, desc->image_name, info->use, info->diffid); -+ ERROR("layer %zu of image %s have invalid NULL diffid, info->use=%d, info->diffid=%s", i, desc->image_name, -+ info->use, info->diffid); - return -1; - } - - if (desc->layers[i].chain_id == NULL) { - desc->layers[i].chain_id = calc_chain_id(desc->parent_chain_id, desc->layers[i].diff_id); - if (desc->layers[i].chain_id == NULL) { -- ERROR("calc chain id failed, diff id %s, parent chain id %s", -- desc->layers[i].diff_id, desc->parent_chain_id); -+ ERROR("calc chain id failed, diff id %s, parent chain id %s", desc->layers[i].diff_id, -+ desc->parent_chain_id); - return -1; - } - } -@@ -1177,7 +1177,7 @@ static void notify_cached_descs(char *blob_digest) - - // notify all related register threads to do register - linked_list_for_each_safe(item, &cache->file_list, next) { -- info = ((file_elem*)item->elem)->info; -+ info = ((file_elem *)item->elem)->info; - info->notified = true; - register_layer_notify(info->desc); - } -@@ -1249,7 +1249,7 @@ static int add_fetch_task(thread_fetch_info *info) - pthread_t tid = 0; - bool cached_layers_added = true; - cached_layer *cache = NULL; -- struct timespec ts = {0}; -+ struct timespec ts = { 0 }; - - mutex_lock(&g_shared->mutex); - cache = get_cached_layer(info->blob_digest); -@@ -1406,7 +1406,7 @@ static void *register_layers_in_thread(void *arg) - int ret = 0; - int cond_ret = 0; - size_t i = 0; -- struct timespec ts = {0}; -+ struct timespec ts = { 0 }; - - ret = pthread_detach(pthread_self()); - if (ret != 0) { -@@ -1425,8 +1425,8 @@ static void *register_layers_in_thread(void *arg) - // here we can't just break and cleanup resources because threads are running. - // desc is freed if we break and then isulad crash. sleep some time - // instead to avoid cpu full running and then retry. -- ERROR("condition wait for layer %zu to complete failed, ret %d, error: %s", -- i, cond_ret, strerror(errno)); -+ ERROR("condition wait for layer %zu to complete failed, ret %d, error: %s", i, cond_ret, -+ strerror(errno)); - sleep(10); - continue; - } -@@ -1504,14 +1504,14 @@ static int fetch_all(pull_descriptor *desc) - char *parent_chain_id = NULL; - struct layer_list *list = NULL; - pthread_t tid = 0; -- struct timespec ts = {0}; -+ struct timespec ts = { 0 }; - - if (desc == NULL) { - ERROR("Invalid NULL param"); - return -1; - } - -- infos = util_common_calloc_s(sizeof(thread_fetch_info) * desc->layers_len); -+ infos = util_smart_calloc_s(sizeof(thread_fetch_info), desc->layers_len); - if (infos == NULL) { - ERROR("out of memory"); - return -1; -@@ -1611,8 +1611,7 @@ static int fetch_all(pull_descriptor *desc) - // here we can't just break and cleanup resources because threads are running. - // desc is freed if we break and then isulad crash. sleep some time - // instead to avoid cpu full running and then retry. -- ERROR("condition wait for all layers to complete failed, ret %d, error: %s", -- cond_ret, strerror(errno)); -+ ERROR("condition wait for all layers to complete failed, ret %d, error: %s", cond_ret, strerror(errno)); - sleep(10); - continue; - } -diff --git a/src/daemon/modules/image/oci/storage/image_store/image_store.c b/src/daemon/modules/image/oci/storage/image_store/image_store.c -index edb28b78..3ee69ee7 100644 ---- a/src/daemon/modules/image/oci/storage/image_store/image_store.c -+++ b/src/daemon/modules/image/oci/storage/image_store/image_store.c -@@ -2256,7 +2256,7 @@ static int pack_health_check_from_image(const oci_image_spec *spec, imagetool_im - goto out; - } - -- healthcheck->test = util_common_calloc_s(sizeof(char *) * spec->config->healthcheck->test_len); -+ healthcheck->test = util_smart_calloc_s(sizeof(char *), spec->config->healthcheck->test_len); - if (healthcheck->test == NULL) { - ERROR("Out of memory"); - ret = -1; -@@ -2662,7 +2662,7 @@ int image_store_get_all_images(imagetool_images_list *images_list) - goto unlock; - } - -- images_list->images = util_common_calloc_s(g_image_store->images_list_len * sizeof(imagetool_image *)); -+ images_list->images = util_smart_calloc_s(g_image_store->images_list_len, sizeof(imagetool_image *)); - if (images_list->images == NULL) { - ERROR("Out of memory"); - ret = -1; -@@ -3175,7 +3175,7 @@ static int get_layers_from_manifest(const registry_manifest_schema1 *manifest, l - goto out; - } - -- layers = util_common_calloc_s(sizeof(layer_blob) * manifest->fs_layers_len); -+ layers = util_smart_calloc_s(sizeof(layer_blob), manifest->fs_layers_len); - if (layers == NULL) { - ERROR("out of memory"); - ret = -1; -diff --git a/src/daemon/modules/image/oci/utils_images.c b/src/daemon/modules/image/oci/utils_images.c -index 415f2004..80a25502 100644 ---- a/src/daemon/modules/image/oci/utils_images.c -+++ b/src/daemon/modules/image/oci/utils_images.c -@@ -305,7 +305,7 @@ char *make_big_data_base_name(const char *key) - } - name_size = 1 + strlen(b64_encode_name) + 1; // '=' + encode string + '\0' - -- base_name = (char *)util_common_calloc_s(name_size * sizeof(char)); -+ base_name = (char *)util_smart_calloc_s(sizeof(char), name_size); - if (base_name == NULL) { - ERROR("Out of memory"); - ret = -1; -@@ -436,7 +436,7 @@ int add_rootfs_and_history(const layer_blob *layers, size_t layers_len, const re - } - - config->rootfs = util_common_calloc_s(sizeof(docker_image_rootfs)); -- config->history = util_common_calloc_s(sizeof(docker_image_history *) * layers_len); -+ config->history = util_smart_calloc_s(sizeof(docker_image_history *), layers_len); - if (config->rootfs == NULL || config->history == NULL) { - ERROR("out of memory"); - return -1; -diff --git a/src/daemon/modules/plugin/plugin.c b/src/daemon/modules/plugin/plugin.c -index 4e343a20..bd45f8a3 100644 ---- a/src/daemon/modules/plugin/plugin.c -+++ b/src/daemon/modules/plugin/plugin.c -@@ -1123,12 +1123,7 @@ static int pm_init_plugin(const plugin_t *plugin) - * prepare or delete dirty resource. - */ - if (container_num) { -- if (container_num > SIZE_MAX / sizeof(plugin_init_plugin_request_containers_element *)) { -- ERROR("Invalid container nums"); -- ret = -1; -- goto out; -- } -- reqs.containers = util_common_calloc_s(container_num * sizeof(plugin_init_plugin_request_containers_element *)); -+ reqs.containers = util_smart_calloc_s(sizeof(plugin_init_plugin_request_containers_element *), container_num); - if (reqs.containers == NULL) { - ERROR("Out of memory"); - ret = -1; -diff --git a/src/daemon/modules/runtime/engines/lcr/lcr_rt_ops.c b/src/daemon/modules/runtime/engines/lcr/lcr_rt_ops.c -index f5313fa8..724def25 100644 ---- a/src/daemon/modules/runtime/engines/lcr/lcr_rt_ops.c -+++ b/src/daemon/modules/runtime/engines/lcr/lcr_rt_ops.c -@@ -335,7 +335,7 @@ static int generate_user_string_by_uid_gid(const defs_process_user *puser, char - } - - len = strlen(uid_str) + 1 + strlen(gid_str) + 1; -- *user = (char *)util_common_calloc_s(len * sizeof(char)); -+ *user = (char *)util_smart_calloc_s(sizeof(char), len); - if (*user == NULL) { - ERROR("Out of memory"); - return -1; -diff --git a/src/daemon/modules/service/inspect_container.c b/src/daemon/modules/service/inspect_container.c -index b060fe12..3136433f 100644 ---- a/src/daemon/modules/service/inspect_container.c -+++ b/src/daemon/modules/service/inspect_container.c -@@ -42,12 +42,7 @@ static int dup_path_and_args(const container_t *cont, char **path, char ***args, - *path = util_strdup_s(cont->common_config->path); - } - if (cont->common_config->args_len > 0) { -- if ((cont->common_config->args_len) > SIZE_MAX / sizeof(char *)) { -- ERROR("Containers config args len is too many!"); -- ret = -1; -- goto out; -- } -- *args = util_common_calloc_s(cont->common_config->args_len * sizeof(char *)); -+ *args = util_smart_calloc_s(sizeof(char *), cont->common_config->args_len); - if ((*args) == NULL) { - ERROR("Out of memory"); - ret = -1; -@@ -111,12 +106,7 @@ static int dup_health_check_config(const container_config *src, container_inspec - goto out; - } - if (src->healthcheck->test != NULL && src->healthcheck->test_len != 0) { -- if (src->healthcheck->test_len > SIZE_MAX / sizeof(char *)) { -- ERROR("health check test is too much!"); -- ret = -1; -- goto out; -- } -- dest->health_check->test = util_common_calloc_s(src->healthcheck->test_len * sizeof(char *)); -+ dest->health_check->test = util_smart_calloc_s(sizeof(char *), src->healthcheck->test_len); - if (dest->health_check->test == NULL) { - ERROR("Out of memory"); - ret = -1; -@@ -313,11 +303,7 @@ static int mount_point_to_inspect(const container_t *cont, container_inspect *in - } - - len = cont->common_config->mount_points->len; -- if (len > SIZE_MAX / sizeof(docker_types_mount_point *)) { -- ERROR("Invalid mount point size"); -- return -1; -- } -- inspect->mounts = util_common_calloc_s(sizeof(docker_types_mount_point *) * len); -+ inspect->mounts = util_smart_calloc_s(sizeof(docker_types_mount_point *), len); - if (inspect->mounts == NULL) { - ERROR("Out of memory"); - return -1; -diff --git a/src/daemon/modules/service/io_handler.c b/src/daemon/modules/service/io_handler.c -index d57894f2..893733bc 100644 ---- a/src/daemon/modules/service/io_handler.c -+++ b/src/daemon/modules/service/io_handler.c -@@ -218,22 +218,18 @@ static void io_copy_thread_cleanup(struct io_write_wrapper *writers, struct io_c - free(channels); - } - --static int io_copy_init_fds(size_t len, int **infds, int **outfds, int **srcfds, -- struct io_write_wrapper **writers, transfer_channel_type **channels) -+static int io_copy_init_fds(size_t len, int **infds, int **outfds, int **srcfds, struct io_write_wrapper **writers, -+ transfer_channel_type **channels) - { - size_t i; - -- if (len > SIZE_MAX / sizeof(struct io_write_wrapper)) { -- ERROR("Invalid arguments"); -- return -1; -- } -- *srcfds = util_common_calloc_s(sizeof(int) * len); -+ *srcfds = util_smart_calloc_s(sizeof(int), len); - if (*srcfds == NULL) { - ERROR("Out of memory"); - return -1; - } - -- *infds = util_common_calloc_s(sizeof(int) * len); -+ *infds = util_smart_calloc_s(sizeof(int), len); - if (*infds == NULL) { - ERROR("Out of memory"); - return -1; -@@ -241,7 +237,7 @@ static int io_copy_init_fds(size_t len, int **infds, int **outfds, int **srcfds, - for (i = 0; i < len; i++) { - (*infds)[i] = -1; - } -- *outfds = util_common_calloc_s(sizeof(int) * len); -+ *outfds = util_smart_calloc_s(sizeof(int), len); - if (*outfds == NULL) { - ERROR("Out of memory"); - return -1; -@@ -250,13 +246,13 @@ static int io_copy_init_fds(size_t len, int **infds, int **outfds, int **srcfds, - (*outfds)[i] = -1; - } - -- *writers = util_common_calloc_s(sizeof(struct io_write_wrapper) * len); -+ *writers = util_smart_calloc_s(sizeof(struct io_write_wrapper), len); - if (*writers == NULL) { - ERROR("Out of memory"); - return -1; - } - -- *channels = util_common_calloc_s(sizeof(transfer_channel_type) * len); -+ *channels = util_smart_calloc_s(sizeof(transfer_channel_type), len); - if (*channels == NULL) { - ERROR("Out of memory"); - return -1; -@@ -266,7 +262,6 @@ static int io_copy_init_fds(size_t len, int **infds, int **outfds, int **srcfds, - (*channels)[i] = MAX_CHANNEL; - } - return 0; -- - } - typedef int (*src_io_type_handle)(int index, struct io_copy_arg *copy_arg, int *infds, int *srcfds); - -@@ -305,8 +300,8 @@ static int handle_src_io_max(int index, struct io_copy_arg *copy_arg, int *infds - return -1; - } - --static int io_copy_make_srcfds(size_t len, struct io_copy_arg *copy_arg, int *infds, -- int *srcfds, transfer_channel_type *channels) -+static int io_copy_make_srcfds(size_t len, struct io_copy_arg *copy_arg, int *infds, int *srcfds, -+ transfer_channel_type *channels) - { - size_t i; - -@@ -536,11 +531,13 @@ int ready_copy_io_data(int sync_fd, bool detach, const char *fifoin, const char - if (fifoout != NULL) { - // fifos[1] : lxc -> iSulad read - // fifoout : iSulad -> iSula write -- add_io_copy_element(&io_copy[len++], IO_FIFO, (void *)fifos[1], IO_FIFO, (void *)fifoout, O_WRONLY, STDOUT_CHANNEL); -+ add_io_copy_element(&io_copy[len++], IO_FIFO, (void *)fifos[1], IO_FIFO, (void *)fifoout, O_WRONLY, -+ STDOUT_CHANNEL); - } - - if (fifoerr != NULL) { -- add_io_copy_element(&io_copy[len++], IO_FIFO, (void *)fifos[2], IO_FIFO, (void *)fifoerr, O_WRONLY, STDERR_CHANNEL); -+ add_io_copy_element(&io_copy[len++], IO_FIFO, (void *)fifos[2], IO_FIFO, (void *)fifoerr, O_WRONLY, -+ STDERR_CHANNEL); - } - - if (stdin_fd > 0) { -@@ -548,11 +545,13 @@ int ready_copy_io_data(int sync_fd, bool detach, const char *fifoin, const char - } - - if (stdout_handler != NULL) { -- add_io_copy_element(&io_copy[len++], IO_FIFO, (void *)fifos[1], IO_FUNC, stdout_handler, O_WRONLY, STDOUT_CHANNEL); -+ add_io_copy_element(&io_copy[len++], IO_FIFO, (void *)fifos[1], IO_FUNC, stdout_handler, O_WRONLY, -+ STDOUT_CHANNEL); - } - - if (stderr_handler != NULL) { -- add_io_copy_element(&io_copy[len++], IO_FIFO, (void *)fifos[2], IO_FUNC, stderr_handler, O_WRONLY, STDERR_CHANNEL); -+ add_io_copy_element(&io_copy[len++], IO_FIFO, (void *)fifos[2], IO_FUNC, stderr_handler, O_WRONLY, -+ STDERR_CHANNEL); - } - - if (start_io_copy_thread(sync_fd, detach, io_copy, len, tid) != 0) { -diff --git a/src/daemon/modules/service/service_container.c b/src/daemon/modules/service/service_container.c -index 43a4a0c9..f90ffd7d 100644 ---- a/src/daemon/modules/service/service_container.c -+++ b/src/daemon/modules/service/service_container.c -@@ -1690,7 +1690,7 @@ static int dup_defs_process_user(defs_process_user *src, defs_process_user **dst - (*dst)->gid = src->gid; - - if (src->additional_gids_len != 0) { -- (*dst)->additional_gids = util_common_calloc_s(sizeof(gid_t) * src->additional_gids_len); -+ (*dst)->additional_gids = util_smart_calloc_s(sizeof(gid_t), src->additional_gids_len); - if ((*dst)->additional_gids == NULL) { - ERROR("Out of memory"); - ret = -1; -diff --git a/src/daemon/modules/spec/parse_volume.c b/src/daemon/modules/spec/parse_volume.c -index 7b02f6ca..40c4cecb 100644 ---- a/src/daemon/modules/spec/parse_volume.c -+++ b/src/daemon/modules/spec/parse_volume.c -@@ -341,14 +341,14 @@ static int check_volume_element(const char *volume) - return ret; - } - --static int set_volume_element_options(defs_mount *mount_element, const char **modes, bool *with_rw, -- bool *with_pro, bool *with_label) -+static int set_volume_element_options(defs_mount *mount_element, const char **modes, bool *with_rw, bool *with_pro, -+ bool *with_label) - { - const size_t max_options_len = 4; - size_t options_len = 0; - size_t i = 0; - -- mount_element->options = util_common_calloc_s(max_options_len * sizeof(char *)); -+ mount_element->options = util_smart_calloc_s(sizeof(char *), max_options_len); - if (mount_element->options == NULL) { - ERROR("Out of memory"); - return -1; -diff --git a/src/daemon/modules/spec/specs.c b/src/daemon/modules/spec/specs.c -index 7023fa41..cf4aa111 100644 ---- a/src/daemon/modules/spec/specs.c -+++ b/src/daemon/modules/spec/specs.c -@@ -1305,11 +1305,7 @@ static int prepare_process_args(oci_runtime_spec *oci_spec, size_t args_len) - oci_spec->process->args_len = 0; - } - -- if (args_len > (SIZE_MAX / sizeof(char *))) { -- return -1; -- } -- -- oci_spec->process->args = util_common_calloc_s(args_len * sizeof(char *)); -+ oci_spec->process->args = util_smart_calloc_s(sizeof(char *), args_len); - if (oci_spec->process->args == NULL) { - return -1; - } -diff --git a/src/daemon/modules/spec/specs_mount.c b/src/daemon/modules/spec/specs_mount.c -index e55832c5..62fd875c 100644 ---- a/src/daemon/modules/spec/specs_mount.c -+++ b/src/daemon/modules/spec/specs_mount.c -@@ -376,7 +376,7 @@ static defs_mount *mount_point_to_defs_mnt(container_config_v2_common_config_mou - return NULL; - } - mnt->options = -- util_common_calloc_s(sizeof(char *) * (options_len + 3)); // +2 for readonly/propagation/selinux_relabel -+ util_smart_calloc_s(sizeof(char *), (options_len + 3)); // +2 for readonly/propagation/selinux_relabel - if (mnt->options == NULL) { - ERROR("Out of memory"); - ret = -1; -@@ -1154,12 +1154,7 @@ static host_config_devices_element **parse_multi_devices(const char *dir_host, c - return NULL; - } - -- if (devices_len > SIZE_MAX / sizeof(host_config_devices_element *)) { -- ERROR("Too many devices"); -- return NULL; -- } -- -- dev_maps = util_common_calloc_s(devices_len * sizeof(host_config_devices_element *)); -+ dev_maps = util_smart_calloc_s(sizeof(host_config_devices_element *), devices_len); - if (dev_maps == NULL) { - ERROR("Memory out"); - return NULL; -@@ -2312,7 +2307,7 @@ static bool mount_file(defs_mount ***all_mounts, size_t *all_mounts_len, const c - bool ret = false; - defs_mount *tmp_mounts = NULL; - -- options = util_common_calloc_s(options_len * sizeof(char *)); -+ options = util_smart_calloc_s(sizeof(char *), options_len); - if (options == NULL) { - ERROR("Out of memory"); - goto out_free; -@@ -2359,7 +2354,7 @@ static bool add_host_channel_mount(defs_mount ***all_mounts, size_t *all_mounts_ - bool ret = false; - defs_mount *tmp_mounts = NULL; - -- options = util_common_calloc_s(options_len * sizeof(char *)); -+ options = util_smart_calloc_s(sizeof(char *), options_len); - if (options == NULL) { - ERROR("Out of memory"); - goto out_free; -@@ -3262,7 +3257,7 @@ static int merge_all_fs_mounts(host_config *host_spec, container_config *contain - return 0; - } - -- merged_mounts = util_common_calloc_s(sizeof(defs_mount *) * len); -+ merged_mounts = util_smart_calloc_s(sizeof(defs_mount *), len); - if (merged_mounts == NULL) { - ERROR("out of memory"); - ret = -1; -diff --git a/src/daemon/modules/spec/specs_security.c b/src/daemon/modules/spec/specs_security.c -index 8a8b2d86..643c2745 100644 ---- a/src/daemon/modules/spec/specs_security.c -+++ b/src/daemon/modules/spec/specs_security.c -@@ -42,11 +42,11 @@ - - static const char * const g_system_caps[] = { "SYS_BOOT", "SETPCAP", "NET_RAW", "NET_BIND_SERVICE", - #ifdef CAP_AUDIT_WRITE -- "AUDIT_WRITE", -+ "AUDIT_WRITE", - #endif -- "DAC_OVERRIDE", "SETFCAP", "SETGID", "SETUID", "MKNOD", "CHOWN", -- "FOWNER", "FSETID", "KILL", "SYS_CHROOT" -- }; -+ "DAC_OVERRIDE", "SETFCAP", "SETGID", "SETUID", "MKNOD", "CHOWN", -+ "FOWNER", "FSETID", "KILL", "SYS_CHROOT" -+ }; - - static int append_capability(char ***dstcaps, size_t *dstcaps_len, const char *cap) - { -@@ -83,12 +83,7 @@ static int copy_capabilities(char ***dstcaps, size_t *dstcaps_len, const char ** - *dstcaps_len = 0; - return ret; - } -- if (srccaps_len > SIZE_MAX / sizeof(char *)) { -- ERROR("Too many capabilities to copy!"); -- return -1; -- } -- -- *dstcaps = util_common_calloc_s(srccaps_len * sizeof(char *)); -+ *dstcaps = util_smart_calloc_s(sizeof(char *), srccaps_len); - if (*dstcaps == NULL) { - ret = -1; - goto out; -@@ -457,7 +452,7 @@ static bool meet_filtering_rules(const docker_seccomp *seccomp, const docker_sec - return meet_include_arch && meet_include_cap && meet_exclude_arch && meet_exclude_cap; - } - --static size_t docker_seccomp_arches_count(const char* seccomp_architecture, const docker_seccomp *docker_seccomp_spec) -+static size_t docker_seccomp_arches_count(const char *seccomp_architecture, const docker_seccomp *docker_seccomp_spec) - { - size_t count = 0; - size_t i = 0; -@@ -468,7 +463,7 @@ static size_t docker_seccomp_arches_count(const char* seccomp_architecture, cons - } - - for (i = 0; i < docker_seccomp_spec->arch_map_len; ++i) { -- if (docker_seccomp_spec->arch_map[i] == NULL || docker_seccomp_spec->arch_map[i]->architecture == NULL) { -+ if (docker_seccomp_spec->arch_map[i] == NULL || docker_seccomp_spec->arch_map[i]->architecture == NULL) { - continue; - } - if (strcmp(seccomp_architecture, docker_seccomp_spec->arch_map[i]->architecture) == 0) { -@@ -485,7 +480,7 @@ static size_t docker_seccomp_arches_count(const char* seccomp_architecture, cons - return count; - } - --static int dup_architectures_to_oci_spec(const char* seccomp_architecture, const docker_seccomp *docker_seccomp_spec, -+static int dup_architectures_to_oci_spec(const char *seccomp_architecture, const docker_seccomp *docker_seccomp_spec, - oci_runtime_config_linux_seccomp *oci_seccomp_spec) - { - size_t i = 0; -@@ -503,7 +498,7 @@ static int dup_architectures_to_oci_spec(const char* seccomp_architecture, const - return -1; - } - -- oci_seccomp_spec->architectures = util_common_calloc_s(arch_size * sizeof(char *)); -+ oci_seccomp_spec->architectures = util_smart_calloc_s(sizeof(char *), arch_size); - if (oci_seccomp_spec->architectures == NULL) { - ERROR("Failed to calloc memory for architectures in seccomp spec"); - return -1; -@@ -582,12 +577,7 @@ static int dup_syscall_args_to_oci_spec(const docker_seccomp_syscalls_element *d - if (docker_syscall->args_len == 0) { - return 0; - } -- -- if (docker_syscall->args_len > (SIZE_MAX / sizeof(defs_syscall_arg *))) { -- return -1; -- } -- -- oci_syscall->args = util_common_calloc_s(docker_syscall->args_len * sizeof(defs_syscall_arg *)); -+ oci_syscall->args = util_smart_calloc_s(sizeof(defs_syscall_arg *), docker_syscall->args_len); - if (oci_syscall->args == NULL) { - return -1; - } -@@ -620,11 +610,7 @@ static int dup_syscall_to_oci_spec(const docker_seccomp *docker_seccomp_spec, - return 0; - } - -- if (docker_seccomp_spec->syscalls_len > (SIZE_MAX / sizeof(defs_syscall *))) { -- return -1; -- } -- -- oci_seccomp_spec->syscalls = util_common_calloc_s(docker_seccomp_spec->syscalls_len * sizeof(defs_syscall *)); -+ oci_seccomp_spec->syscalls = util_smart_calloc_s(sizeof(defs_syscall *), docker_seccomp_spec->syscalls_len); - if (oci_seccomp_spec->syscalls == NULL) { - return -1; - } -@@ -639,12 +625,8 @@ static int dup_syscall_to_oci_spec(const docker_seccomp *docker_seccomp_spec, - } - oci_seccomp_spec->syscalls_len++; - -- if (docker_seccomp_spec->syscalls[i]->names_len > (SIZE_MAX / sizeof(char *))) { -- return -1; -- } -- - oci_seccomp_spec->syscalls[k]->names = -- util_common_calloc_s(docker_seccomp_spec->syscalls[i]->names_len * sizeof(char *)); -+ util_smart_calloc_s(sizeof(char *), docker_seccomp_spec->syscalls[i]->names_len); - if (oci_seccomp_spec->syscalls[k]->names == NULL) { - return -1; - } -@@ -670,8 +652,9 @@ static int dup_syscall_to_oci_spec(const docker_seccomp *docker_seccomp_spec, - return 0; - } - --static oci_runtime_config_linux_seccomp *trans_docker_seccomp_to_oci_format(const docker_seccomp *docker_seccomp_spec, -- const defs_process_capabilities *capabilities) -+static oci_runtime_config_linux_seccomp * -+trans_docker_seccomp_to_oci_format(const docker_seccomp *docker_seccomp_spec, -+ const defs_process_capabilities *capabilities) - { - oci_runtime_config_linux_seccomp *oci_seccomp_spec = NULL; - -@@ -771,11 +754,7 @@ static defs_syscall *make_seccomp_syscalls_element(const char **names, size_t na - ret->action = util_strdup_s(action ? action : ""); - ret->args_len = args_len; - if (args_len) { -- if (args_len > SIZE_MAX / sizeof(defs_syscall_arg *)) { -- CRIT("Too many seccomp syscalls!"); -- goto out; -- } -- ret->args = util_common_calloc_s(args_len * sizeof(defs_syscall_arg *)); -+ ret->args = util_smart_calloc_s(sizeof(defs_syscall_arg *), args_len); - if (ret->args == NULL) { - CRIT("Memory allocation error."); - goto out; -@@ -794,11 +773,7 @@ static defs_syscall *make_seccomp_syscalls_element(const char **names, size_t na - } - - ret->names_len = names_len; -- if (names_len > SIZE_MAX / sizeof(char *)) { -- CRIT("Too many syscalls!"); -- goto out; -- } -- ret->names = util_common_calloc_s(names_len * sizeof(char *)); -+ ret->names = util_smart_calloc_s(sizeof(char *), names_len); - if (ret->names == NULL) { - CRIT("Memory allocation error."); - goto out; -diff --git a/src/daemon/modules/spec/verify.c b/src/daemon/modules/spec/verify.c -index 4bd11558..fe53bb0f 100644 ---- a/src/daemon/modules/spec/verify.c -+++ b/src/daemon/modules/spec/verify.c -@@ -627,16 +627,12 @@ static bool is_cpuset_list_available(const char *provided, const char *available - } - - cpu_num = sysinfo->ncpus; -- if ((size_t)cpu_num > SIZE_MAX / sizeof(bool)) { -- ERROR("invalid cpu num"); -- goto out; -- } -- parsed_provided = util_common_calloc_s(sizeof(bool) * (unsigned int)cpu_num); -+ parsed_provided = util_smart_calloc_s(sizeof(bool), (unsigned int)cpu_num); - if (parsed_provided == NULL) { - ERROR("memory alloc failed!"); - goto out; - } -- parsed_available = util_common_calloc_s(sizeof(bool) * (unsigned int)cpu_num); -+ parsed_available = util_smart_calloc_s(sizeof(bool), (unsigned int)cpu_num); - if (parsed_available == NULL) { - ERROR("memory alloc failed!"); - goto out; -@@ -1093,7 +1089,7 @@ static int verify_resources_device(defs_resources *resources) - - for (i = 0; i < resources->devices_len; i++) { - if (!util_valid_device_mode(resources->devices[i]->access)) { -- ERROR("Invalid device mode \"%s\" for device \"%" PRId64" %" PRId64 "\"", resources->devices[i]->access, -+ ERROR("Invalid device mode \"%s\" for device \"%" PRId64 " %" PRId64 "\"", resources->devices[i]->access, - resources->devices[i]->major, resources->devices[i]->minor); - isulad_set_error_message("Invalid device mode \"%s\" for device \"%ld %ld\"", resources->devices[i]->access, - resources->devices[i]->major, resources->devices[i]->minor); -diff --git a/src/daemon/modules/volume/local.c b/src/daemon/modules/volume/local.c -index 18961eb1..87b90317 100644 ---- a/src/daemon/modules/volume/local.c -+++ b/src/daemon/modules/volume/local.c -@@ -87,7 +87,7 @@ void free_volumes_info(struct volumes_info *vols) - return; - } - --static struct volume * dup_volume(char *name, char *path) -+static struct volume *dup_volume(char *name, char *path) - { - struct volume *vol = NULL; - -@@ -105,7 +105,7 @@ static struct volume * dup_volume(char *name, char *path) - return vol; - } - --struct volume * local_volume_get(char *name) -+struct volume *local_volume_get(char *name) - { - struct volume *v = NULL; - -@@ -289,7 +289,7 @@ out: - - static int load_volumes(struct volumes_info *vols) - { -- return util_scan_subdirs((const char*)vols->root_dir, load_volume, vols); -+ return util_scan_subdirs((const char *)vols->root_dir, load_volume, vols); - } - - static int local_volume_init(char *scope) -@@ -339,7 +339,7 @@ static int create_volume_meminfo(char *name, struct volume **vol) - struct volume *v = NULL; - int ret = 0; - int sret = 0; -- char path[PATH_MAX] = {0}; -+ char path[PATH_MAX] = { 0 }; - - v = util_common_calloc_s(sizeof(struct volume)); - if (v == NULL) { -@@ -367,7 +367,7 @@ out: - return ret; - } - --static struct volume * volume_create_nolock(char *name) -+static struct volume *volume_create_nolock(char *name) - { - struct volume *v = NULL; - int ret = 0; -@@ -419,7 +419,7 @@ out: - return v; - } - --struct volume * local_volume_create(char *name) -+struct volume *local_volume_create(char *name) - { - struct volume *v_out = NULL; - struct volume *v = NULL; -@@ -473,7 +473,7 @@ static struct volumes *new_empty_volumes(size_t size) - return vols; - } - -- vols->vols = util_common_calloc_s(sizeof(struct volume*) * size); -+ vols->vols = util_smart_calloc_s(sizeof(struct volume *), size); - if (vols->vols == NULL) { - ERROR("out of memory"); - free_volumes(vols); -@@ -483,7 +483,7 @@ static struct volumes *new_empty_volumes(size_t size) - return vols; - } - --struct volumes * local_volume_list(void) -+struct volumes *local_volume_list(void) - { - int ret = 0; - map_itor *itor = NULL; -@@ -661,4 +661,3 @@ out: - - return ret; - } -- -diff --git a/src/daemon/modules/volume/volume.c b/src/daemon/modules/volume/volume.c -index 9d496594..8255aff9 100644 ---- a/src/daemon/modules/volume/volume.c -+++ b/src/daemon/modules/volume/volume.c -@@ -221,7 +221,7 @@ static struct volume_names * empty_volume_names(size_t size) - return NULL; - } - -- vns->names = util_common_calloc_s(sizeof(char *) * size); -+ vns->names = util_smart_calloc_s(sizeof(char *), size); - if (vns->names == NULL) { - ERROR("out of memory"); - ret = -1; -@@ -575,7 +575,7 @@ int volume_prune(struct volume_names **pruned) - } - - if (list->vols_len != 0) { -- (*pruned)->names = util_common_calloc_s(sizeof(char*) * list->vols_len); -+ (*pruned)->names = util_smart_calloc_s(sizeof(char *), list->vols_len); - if ((*pruned)->names == NULL) { - ret = -1; - goto out; -diff --git a/src/utils/console/console.c b/src/utils/console/console.c -index b0dc7ee5..3565eef3 100644 ---- a/src/utils/console/console.c -+++ b/src/utils/console/console.c -@@ -453,11 +453,8 @@ int console_loop_io_copy(int sync_fd, const int *srcfds, struct io_write_wrapper - size_t i = 0; - struct epoll_descr descr; - struct tty_state *ts = NULL; -- if (len > (SIZE_MAX / sizeof(struct tty_state)) - 1) { -- ERROR("Invalid io size"); -- return -1; -- } -- ts = util_common_calloc_s(sizeof(struct tty_state) * (len + 1)); -+ -+ ts = util_smart_calloc_s(sizeof(struct tty_state), (len + 1)); - if (ts == NULL) { - ERROR("Out of memory"); - return -1; -diff --git a/src/utils/cutils/utils_array.c b/src/utils/cutils/utils_array.c -index 448c9d9d..4e2ed6fd 100644 ---- a/src/utils/cutils/utils_array.c -+++ b/src/utils/cutils/utils_array.c -@@ -72,11 +72,7 @@ int util_array_append(char ***array, const char *element) - // let new len to len + 2 for element and null - len = util_array_len((const char **)(*array)); - -- if (len > SIZE_MAX / sizeof(char *) - 2) { -- ERROR("Too many array elements!"); -- return -1; -- } -- new_array = util_common_calloc_s((len + 2) * sizeof(char *)); -+ new_array = util_smart_calloc_s(sizeof(char *), (len + 2)); - if (new_array == NULL) { - ERROR("Out of memory"); - return -1; -@@ -92,8 +88,7 @@ int util_array_append(char ***array, const char *element) - return 0; - } - --int util_grow_array(char ***orig_array, size_t *orig_capacity, size_t size, -- size_t increment) -+int util_grow_array(char ***orig_array, size_t *orig_capacity, size_t size, size_t increment) - { - size_t add_capacity; - char **add_array = NULL; -@@ -102,7 +97,7 @@ int util_grow_array(char ***orig_array, size_t *orig_capacity, size_t size, - return -1; - } - -- if (((*orig_array) == NULL) || ((*orig_capacity) == 0)) { -+ if (((*orig_array) == NULL) || ((*orig_capacity) == 0)) { - UTIL_FREE_AND_SET_NULL(*orig_array); - *orig_capacity = 0; - } -@@ -112,10 +107,7 @@ int util_grow_array(char ***orig_array, size_t *orig_capacity, size_t size, - add_capacity += increment; - } - if (add_capacity != *orig_capacity) { -- if (add_capacity > SIZE_MAX / sizeof(void *)) { -- return -1; -- } -- add_array = util_common_calloc_s(add_capacity * sizeof(void *)); -+ add_array = util_smart_calloc_s(sizeof(void *), add_capacity); - if (add_array == NULL) { - return -1; - } -diff --git a/src/utils/cutils/utils_string.c b/src/utils/cutils/utils_string.c -index 8c9b2eea..de1cc60e 100644 ---- a/src/utils/cutils/utils_string.c -+++ b/src/utils/cutils/utils_string.c -@@ -303,11 +303,7 @@ static char **util_shrink_array(char **orig_array, size_t new_size) - if (new_size == 0) { - return orig_array; - } -- if (new_size > SIZE_MAX / sizeof(char *)) { -- ERROR("Invalid arguments"); -- return orig_array; -- } -- new_array = util_common_calloc_s(new_size * sizeof(char *)); -+ new_array = util_smart_calloc_s(sizeof(char *), new_size); - if (new_array == NULL) { - return orig_array; - } -@@ -724,11 +720,7 @@ int util_dup_array_of_strings(const char **src, size_t src_len, char ***dst, siz - - *dst = NULL; - *dst_len = 0; -- if (src_len > SIZE_MAX / sizeof(char *)) { -- ERROR("Src elements is too much!"); -- return -1; -- } -- *dst = (char **)util_common_calloc_s(src_len * sizeof(char *)); -+ *dst = (char **)util_smart_calloc_s(sizeof(char *), src_len); - if (*dst == NULL) { - ERROR("Out of memory"); - return -1; -@@ -853,7 +845,7 @@ int util_string_array_unique(const char **elements, size_t length, char ***uniqu - } - - tmp_elements_len = map_size(map); -- tmp_elements = (char **)util_common_calloc_s(tmp_elements_len * sizeof(char *)); -+ tmp_elements = (char **)util_smart_calloc_s(sizeof(char *), tmp_elements_len); - if (tmp_elements == NULL) { - ERROR("Out of memory"); - ret = -1; -diff --git a/test/image/oci/oci_config_merge/oci_config_merge_ut.cc b/test/image/oci/oci_config_merge/oci_config_merge_ut.cc -index 3c9d5004..d94229b2 100644 ---- a/test/image/oci/oci_config_merge/oci_config_merge_ut.cc -+++ b/test/image/oci/oci_config_merge/oci_config_merge_ut.cc -@@ -353,9 +353,7 @@ TEST(oci_config_merge_ut, test_oci_image_merge_config) - tool_image->spec->config->entrypoint_len = 1; - } - -- MOCK_SET_V(util_smart_calloc_s, util_smart_calloc_s_fail); - ASSERT_EQ(oci_image_merge_config(tool_image, custom_config), 0); -- MOCK_CLEAR(util_smart_calloc_s); - - free_imagetool_image(tool_image); - tool_image = nullptr; --- -2.32.1 (Apple Git-133) - diff --git a/0028-increase-websocket-lws_lookup-size.patch b/0028-increase-websocket-lws_lookup-size.patch deleted file mode 100644 index d7b6440..0000000 --- a/0028-increase-websocket-lws_lookup-size.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 2ca552a7faee850c6cfdccc4625b4459add56074 Mon Sep 17 00:00:00 2001 -From: zhangxiaoyu -Date: Tue, 21 Jun 2022 17:34:23 +0800 -Subject: [PATCH 28/30] increase websocket lws_lookup size - -Signed-off-by: zhangxiaoyu ---- - src/daemon/entry/cri/websocket/service/ws_server.cc | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/src/daemon/entry/cri/websocket/service/ws_server.cc b/src/daemon/entry/cri/websocket/service/ws_server.cc -index 0e462737..98c0fee0 100644 ---- a/src/daemon/entry/cri/websocket/service/ws_server.cc -+++ b/src/daemon/entry/cri/websocket/service/ws_server.cc -@@ -187,7 +187,13 @@ void WebsocketServer::EmitLog(int level, const char *line) - - int WebsocketServer::CreateContext() - { -- const size_t WS_ULIMIT_FDS { 1024 }; -+ /* -+ context->lws_lookup is allocated ( sizeof(struct lws *) * max_fds ) spaces, -+ In general, max_fds should be the process maximum number of open file descriptor. -+ If WS_ULIMIT_FDS set too large, context->lws_lookup will cost too much memory. -+ If WS_ULIMIT_FDS set too small, maybe fd > max_fds and context->lws_lookup[fd] will overflow. -+ */ -+ const size_t WS_ULIMIT_FDS { 10240 }; - - m_url.SetScheme("ws"); - m_url.SetHost("localhost:" + std::to_string(m_listenPort)); -@@ -208,7 +214,7 @@ int WebsocketServer::CreateContext() - - /* daemon set RLIMIT_NOFILE to a large value at main.c, - * belowing lws_create_context limit the fds of websocket to RLIMIT_NOFILE, -- * and malloced memory according to it. To reduce memory, we recover it to 1024 before create m_context. -+ * and malloced memory according to it. To reduce memory, we recover it to WS_ULIMIT_FDS before create m_context. - */ - rlimit oldLimit, newLimit; - newLimit.rlim_cur = WS_ULIMIT_FDS; --- -2.32.1 (Apple Git-133) - diff --git a/0029-fix-misuse-of-BUFSIZ.patch b/0029-fix-misuse-of-BUFSIZ.patch deleted file mode 100644 index 2a1ee18..0000000 --- a/0029-fix-misuse-of-BUFSIZ.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 3bc72738519d6f38674c7ce8b9d89a9a5e160ae6 Mon Sep 17 00:00:00 2001 -From: WangFengTu -Date: Tue, 21 Jun 2022 19:15:12 +0800 -Subject: [PATCH 29/30] fix misuse of BUFSIZ - -Signed-off-by: WangFengTu ---- - src/daemon/common/err_msg.c | 6 +++--- - src/daemon/entry/cri/errors.cc | 3 +-- - src/utils/cutils/error.h | 3 +-- - src/utils/cutils/utils.c | 2 +- - 4 files changed, 6 insertions(+), 8 deletions(-) - -diff --git a/src/daemon/common/err_msg.c b/src/daemon/common/err_msg.c -index 3e62fad6..531af82b 100644 ---- a/src/daemon/common/err_msg.c -+++ b/src/daemon/common/err_msg.c -@@ -38,7 +38,7 @@ void isulad_set_error_message(const char *format, ...) - - ret = vsnprintf(errbuf, BUFSIZ, format, argp); - va_end(argp); -- if (ret < 0 || ret >= BUFSIZ) { -+ if (ret < 0) { - return; - } - -@@ -61,7 +61,7 @@ void isulad_try_set_error_message(const char *format, ...) - - ret = vsnprintf(errbuf, BUFSIZ, format, argp); - va_end(argp); -- if (ret < 0 || ret >= BUFSIZ) { -+ if (ret < 0) { - return; - } - -@@ -80,7 +80,7 @@ void isulad_append_error_message(const char *format, ...) - - ret = vsnprintf(errbuf, BUFSIZ, format, argp); - va_end(argp); -- if (ret < 0 || ret >= BUFSIZ) { -+ if (ret < 0) { - return; - } - result = util_string_append(g_isulad_errmsg, errbuf); -diff --git a/src/daemon/entry/cri/errors.cc b/src/daemon/entry/cri/errors.cc -index a80ca433..3dc3bba6 100644 ---- a/src/daemon/entry/cri/errors.cc -+++ b/src/daemon/entry/cri/errors.cc -@@ -117,8 +117,7 @@ void Errors::Errorf(const char *fmt, ...) - - ret = vsnprintf(errbuf, BUFSIZ, fmt, argp); - va_end(argp); -- if (ret < 0 || ret >= BUFSIZ) { -- m_message = "Error message is too long"; -+ if (ret < 0) { - return; - } - -diff --git a/src/utils/cutils/error.h b/src/utils/cutils/error.h -index 28ad5dec..5a8dca99 100644 ---- a/src/utils/cutils/error.h -+++ b/src/utils/cutils/error.h -@@ -64,8 +64,7 @@ static inline void format_errorf(char **err, const char *format, ...) - - ret = vsnprintf(errbuf, BUFSIZ, format, argp); - va_end(argp); -- if (ret < 0 || ret >= BUFSIZ) { -- *err = util_strdup_s("Error is too long!!!"); -+ if (ret < 0) { - return; - } - -diff --git a/src/utils/cutils/utils.c b/src/utils/cutils/utils.c -index a47c5644..010f48b9 100644 ---- a/src/utils/cutils/utils.c -+++ b/src/utils/cutils/utils.c -@@ -516,7 +516,7 @@ static void set_stderr_buf(char **stderr_buf, const char *format, ...) - int nret = vsnprintf(errbuf, BUFSIZ, format, argp); - va_end(argp); - -- if (nret < 0 || nret >= BUFSIZ) { -+ if (nret < 0) { - return; - } - --- -2.32.1 (Apple Git-133) - diff --git a/0030-gc-considers-stored-monitor-pid.patch b/0030-gc-considers-stored-monitor-pid.patch deleted file mode 100644 index 3ea5eec..0000000 --- a/0030-gc-considers-stored-monitor-pid.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 255208ba96242caed274a9659d6db2df51616d1b Mon Sep 17 00:00:00 2001 -From: vegbir -Date: Tue, 21 Jun 2022 22:06:53 +0800 -Subject: [PATCH 30/30] gc considers stored monitor pid - ---- - .../modules/container/restore/restore.c | 42 +++++++++++++++---- - 1 file changed, 34 insertions(+), 8 deletions(-) - -diff --git a/src/daemon/modules/container/restore/restore.c b/src/daemon/modules/container/restore/restore.c -index a7ee11a2..aca17a15 100644 ---- a/src/daemon/modules/container/restore/restore.c -+++ b/src/daemon/modules/container/restore/restore.c -@@ -98,12 +98,17 @@ out: - } - - /* post stopped container to gc */ --static int post_stopped_container_to_gc(const char *id, const char *runtime, const char *statepath, uint32_t pid) -+static int post_stopped_container_to_gc(const char *id, const char *runtime, const char *statepath, -+ const pid_ppid_info_t *old_pid_info) - { - int ret = 0; - pid_ppid_info_t pid_info = { 0 }; - -- (void)util_read_pid_ppid_info(pid, &pid_info); -+ (void)util_read_pid_ppid_info(old_pid_info->pid, &pid_info); -+ if (pid_info.ppid == 0) { -+ pid_info.ppid = old_pid_info->ppid; -+ pid_info.pstart_time = old_pid_info->pstart_time; -+ } - - if (gc_add_container(id, runtime, &pid_info)) { - ERROR("Failed to post container %s to garbage collector", id); -@@ -177,13 +182,17 @@ static void try_to_set_container_running(Container_Status status, container_t *c - static void restore_stopped_container(Container_Status status, const container_t *cont) - { - const char *id = cont->common_config->id; -- pid_t pid = 0; -+ pid_ppid_info_t pid_info = { 0 }; - - if (status != CONTAINER_STATUS_STOPPED && status != CONTAINER_STATUS_CREATED) { - if (util_process_alive(cont->state->state->pid, cont->state->state->start_time)) { -- pid = cont->state->state->pid; -+ pid_info.pid = cont->state->state->pid; -+ } -+ if (util_process_alive(cont->state->state->p_pid, cont->state->state->p_start_time)) { -+ pid_info.ppid = cont->state->state->p_pid; -+ pid_info.pstart_time = cont->state->state->p_start_time; - } -- int nret = post_stopped_container_to_gc(id, cont->runtime, cont->state_path, pid); -+ int nret = post_stopped_container_to_gc(id, cont->runtime, cont->state_path, &pid_info); - if (nret != 0) { - ERROR("Failed to post container %s to garbage" - "collector, that may lost some resources" -@@ -207,7 +216,13 @@ static void restore_running_container(Container_Status status, container_t *cont - container_state_reset_has_been_manual_stopped(cont->state); - } else { - ERROR("Failed to restore container:%s due to unable to read container pid information", id); -- nret = post_stopped_container_to_gc(id, cont->runtime, cont->state_path, 0); -+ pid_info.pid = 0; -+ pid_info.start_time = 0; -+ if (util_process_alive(cont->state->state->p_pid, cont->state->state->p_start_time)) { -+ pid_info.ppid = cont->state->state->p_pid; -+ pid_info.pstart_time = cont->state->state->p_start_time; -+ } -+ nret = post_stopped_container_to_gc(id, cont->runtime, cont->state_path, &pid_info); - if (nret != 0) { - ERROR("Failed to post container %s to garbage" - "collector, that may lost some resources" -@@ -233,7 +248,13 @@ static void restore_paused_container(Container_Status status, container_t *cont, - container_state_reset_has_been_manual_stopped(cont->state); - } else { - ERROR("Failed to restore container:%s due to unable to read container pid information", id); -- nret = post_stopped_container_to_gc(id, cont->runtime, cont->state_path, 0); -+ pid_info.pid = 0; -+ pid_info.start_time = 0; -+ if (util_process_alive(cont->state->state->p_pid, cont->state->state->p_start_time)) { -+ pid_info.ppid = cont->state->state->p_pid; -+ pid_info.pstart_time = cont->state->state->p_start_time; -+ } -+ nret = post_stopped_container_to_gc(id, cont->runtime, cont->state_path, &pid_info); - if (nret != 0) { - ERROR("Failed to post container %s to garbage" - "collector, that may lost some resources" -@@ -385,8 +406,13 @@ static void handle_restored_container() - if (container_is_running(cont->state)) { - if (restore_supervisor(cont) != 0) { - ERROR("Failed to restore %s supervisor, set state to stopped", id); -+ pid_ppid_info_t pid_info = { 0 }; -+ if (util_process_alive(cont->state->state->p_pid, cont->state->state->p_start_time)) { -+ pid_info.ppid = cont->state->state->p_pid; -+ pid_info.pstart_time = cont->state->state->p_start_time; -+ } - container_state_set_stopped(cont->state, 255); -- if (post_stopped_container_to_gc(id, cont->runtime, cont->state_path, 0) != 0) { -+ if (post_stopped_container_to_gc(id, cont->runtime, cont->state_path, &pid_info) != 0) { - ERROR("Failed to post container %s to garbage" - "collector, that may lost some resources" - "used with container!", --- -2.32.1 (Apple Git-133) - diff --git a/iSulad.spec b/iSulad.spec index 68ea047..d3a80f7 100644 --- a/iSulad.spec +++ b/iSulad.spec @@ -1,5 +1,5 @@ -%global _version 2.0.14 -%global _release 11 +%global _version 2.0.15 +%global _release 1 %global is_systemd 1 %global enable_shimv2 1 %global is_embedded 1 @@ -13,36 +13,6 @@ URL: https://gitee.com/openeuler/iSulad Source: https://gitee.com/openeuler/iSulad/repository/archive/v%{version}.tar.gz BuildRoot: {_tmppath}/iSulad-%{version} -Patch0001: 0001-do-not-mkdir-of-isulad-if-no-controller-found.patch -Patch0002: 0002-fix-install-error-when-android.patch -Patch0003: 0003-imp-fuzz-for-pw-gr-parser.patch -Patch0004: 0004-improve-fuzz-test.patch -Patch0005: 0005-Seccomp-optimization.patch -Patch0006: 0006-fix-different-type-convert.patch -Patch0007: 0007-add-pointer-parameters-NULL-check.patch -Patch0008: 0008-add-check-to-arguments.patch -Patch0009: 0009-remove-static-of-strlncat.patch -Patch0010: 0010-remove-check-parameter-label_opts-in-init_label.patch -Patch0011: 0011-update-seccomp-to-Linux-5.10-syscall-list.patch -Patch0012: 0012-fix-invalid-convert-and-format.patch -Patch0013: 0013-fix-get_network_namespace_path-check.patch -Patch0014: 0014-bugfix-for-double-free-and-use-after-free.patch -Patch0015: 0015-fix-isulad-shim-coredump-when-remove-ioc-fd-node.patch -Patch0016: 0016-do-not-fail-if-pw-is-not-NULL.patch -Patch0017: 0017-do-not-fail-if-gr-is-NULL.patch -Patch0018: 0018-fix-memory-leak-of-remove-layer.patch -Patch0019: 0019-add-null-terminal-at-end-of-gr-mem-list.patch -Patch0020: 0020-fix-shm-size-set-invalid-when-reboot.patch -Patch0021: 0021-set-the-name-of-each-container-and-image-operation-t.patch -Patch0022: 0022-set-the-name-of-each-container-and-image-operation-t.patch -Patch0023: 0023-fix-inspect-f-error-when-bionic.patch -Patch0024: 0024-refactor-devmapper_parse_options-function.patch -Patch0025: 0025-refactor-parse_volume-function.patch -Patch0026: 0026-fix-parse-volume-failed.patch -Patch0027: 0027-use-util_smart_calloc_t-to-prevent-overflow.patch -Patch0028: 0028-increase-websocket-lws_lookup-size.patch -Patch0029: 0029-fix-misuse-of-BUFSIZ.patch -Patch0030: 0030-gc-considers-stored-monitor-pid.patch %ifarch x86_64 aarch64 Provides: libhttpclient.so()(64bit) @@ -270,6 +240,12 @@ fi %endif %changelog +* Fri Jul 8 2022 haozi007 - 2.0.15-1 +- Type: enhancement +- ID: NA +- SUG: NA +- DESC: update version to v2.0.15 + * Fri Jul 8 2022 haozi007 - 2.0.14-11 - Type: enhancement - ID: NA diff --git a/v2.0.14.tar.gz b/v2.0.15.tar.gz similarity index 52% rename from v2.0.14.tar.gz rename to v2.0.15.tar.gz index 9878f47afba5e56b3a35bd4ad3dd03d2355c42e4..6266bc6b21a877025a0bc0cc8edc8ee6148006b5 100644 GIT binary patch delta 2095651 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%0ACb_x%)|@#n|(ts7r`W&?gm9*yNna3M^n3x6%~7 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%0A{0#@fy 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

itcfFthUN2oz=d^u_0igvO@=9JjidU- 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

d7%kn-lpfr1dt2deO4NYO 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]V?DaKEL6|M14>lyLeh_})z}Fk-f4 z)fLk3-*?T>DZMCzp0lM8q$6pYy&P#cOPdX1n#M1Hc5{priEWGmw}C&1h?~bDo9*+z zFPd`lRfXsmr3A+Pr;5iF;8%R>o1qTQeS{Grm!W;itIiEm3qhuq6p%bTA zf9LiJWX0C-gZ%fW+2`Yaac|ATb`~1#jNzjQi#Rm!&1c^XHq_al3{PDYV`gq~CEJ&2{0@yQDF!=Tfp-6RLN$Zy)+|d~on}(k( z(`9Qc7z*xJhr$ov0kWyj=2bCBpa4_h0W)73jm|@%e*sK3qtvJ`{VBD2oQXS4aa$_ zJRoO0d9vR!qrRsx|qBC_gJefs2uj zbS`ZHZFx2rEuH5`Ipu%xSGvyYzZRD$Xa!ls>y|xCNN;(cIjijAa4P(-Uz-+k9>B4) z)gh*V)8->N-*U%iXV4+9f7R#QNQk`9iU!6!A@;W7AYke^%QT9=lDfe;)2vj;!WX`` zu(kYv!M)(F{IuVjZX4Wxj)4?y9B6%cBxq|MqwoN*Lbwk0b62x4p{Ecu4m&CD*B?$ zSxRJ3{y@CC@<9Qp&g1@(E}hrg*Anisjs(i%gUfW$VUJh^)W5;ep6K$n zU3pSuM+Ie}#vI7#e?RSsbkg3&snDdmwT!DQATHcUJ;cmGz0nh$C!!I)|MPw zpA23BX3+sp>9vX1QU(a{zYL66mfay4$))S&c;S@rE>^)Ze_cHT7p1p>W$E!XIr674 zDjKdPdGSAeUVia}0b_+wi2tWLW9gwd%RUZ;JE%N^zaFd-pDmhVRCL%?@*;e8KLLH3uq*JN-? zwZVG3N5owCf2gI#$cQ=xNJzH00ODQQ!$SBK+i;wS_Sx`k*d(MStI^Yay&4}S`63>s z;Z^!#X&=$`XdVxB?-`x`*2mh84X$WKcOPQyv6y!(4~|>WoEQb_kY$GY6h1SY?#lFJ zJ3VSqcGiHdqH$1hb-!oL@pf4vSetX1dM$wr|XlvzVI zOb_LDO$edmvcBy0uYXn3VlCATfNh-#&Aw2lG?66N3M_fLB|CZxYo7-^aakoFejhe~ zb6OawcV1Ye!ZE0W)#E#|HUq=I`z1@8qMXqpZN0s{{c7X4Fd`9(rIH+%T)geoqse~w z?=AUOe~t=)dFtITIj1o?p&i!g?+h2A*|G-2Tz^|*i$vGi}%CNDV97+v-+vjeTZH>MRcMbNljq$?RKjI{Z>C0Z#5M_PX zB4ZS9`P1&*RSj3Z((P=U=qZD8Ak8t1kWPIkfBPR>jNwnD64PZxfDt;UO&TM5f|T#|Umo?i;;?t%n;w)6W*d z)uNpB?!q0M)YXUa~hOX2sUOd zQ?m9X5Us+zFwR7?s)~v9a7_&?l)%RnV0~-x)tg$hp?i#zQ$1;e`^KK zQ&0z;O}Q7WdqSQL3)qLL&6#u86VwOqX1J)|KMyHYvNiM@mD6B2Vr!19SCm0#Oplr- zWW2SH&_^o)+A+D7Zf=#WWMx&8I&o@FT(zE2I-`Ts|(su zs+~2s7@~4#4sf`mMo1OFQm6z6e@H+Zw;<+gdtYNaJ6ZTeiQY`zii*&X1FVSxuHJpM zv-`~n;Dd{(i8q0m-ZT{xBi;TR!yS46VmpiGPPwcReGOSc_0%dga(bd&U!hVO?)SxV zJh^LhbBCGwVb;DWr)^%(fvCLj*|U7WQ)mfQ8EYBq#JNfzK1B|&{+2|_1xHk5|J!dZ);aFCSmkDUc~%%T>H>Lkt55A$Pu6b zxl)0kXg5a zYy#Xa`-xaw*LW10!D>G)5ijih&?%O1@t)msYFD2G_OBQ<6u&Jzc#vmVtm*o%^j1t5f_kkL~W33DcaD}vZe+)LIRZ@%Uo<96N zJ2%p42Kg>BU7{IT3rIoxcsX39oHi6wduHY3*j zacA82jsF>a_r;(T`efufn!itn^StO_^E;+cEaMNDzou|Sp4jl1<;v#;O(23Gq2_u>K+O%xgQ%(6( zG!dgo-?8nGu9^Am`(>|6$a$%oX|Y_2+dTYg**a#%NPBfRPV?L{#>LoF9|?xqQ%!Q1 zFpoja>CNBXe?pK}A%TL$woTkZszR_#hvOuhx8yvB+NcK?zVkCMUtiX6i8+751#GTj zX?ETKbNN#CnFY`XDGRQj-`LjwzGvGL1yNJN5t`}Jof_}hKi0*zh?8tg8;*4;URfhq z+CWr$yH9RPyA`i`v{Onh*;pubv7(GufC#9!+J%nrf0CGYbcmmVz3of2EglVzR#%b~ zFtDBDB#FXvjBAn)>4RzICGE(a7N^a`a$_m)FxDZ&i!MDk7xl)3PRyDlxD2x2raTex z-k)+gQ>od$s8_j2_4>`3f0)QcOefSob9lHmQ}x=e#cfKa;(IZpF7aDWBF?iFzG&3% zkW^#Se}3$Jy}J7ZW@m?5u>aP*u?*73)|@7+oMOdagv6PX?ZHv1Z{-eob$mBXvI>m> z3&|Xl=&_;wUS^D9$ROsCP zsD%T@_)i5TB8=P9t#PjARjnm*+FOl0pTXK!m?5#6+9qpmsjUZNV5b!&}C?R^V7f9@+U ziwE)+RMH4x;r4iO2;i;YwVt% z6!NcSkW9mOSd;2t`>@S0nP(Q4GaYG41){~d?b}EZicp~oG~2NJfmT+**VY(0RJ?z* zuDTf=As7wjJ&-~p;Bx$T&piD`f2{*Ir#SPsnOWTb*E0}VZ4?5ebh1zVim~onq&AzW zY<`w=(&mw~-6zC$tYL@66XO*|f_ z<3LgG_%&ubEgLW7jgq$iIU4o!N5x+M7LW}D-bVlNm~)JM4AT4lf5`g*)gTLVA-sem zh6$z|!w5-Tp1IcNoTEK^IU!a+Pq*bnuZ`OSATPTSXixu%m@>R1gU=;eQwP^OBPLUz zL}{#EgSyBxd}h7DRT39kkQ3aFVEZ;`KUixi>vJmFfntp4{7 zmi*NezVu~^^J~~@f2CvlhyDuv`pX~NNe4Xc|AE9;HFPj3Vhgob*#;RtiXU^5oXuR% z-%BlsTxwYW{r!YLHJTPl)A!HY+sGel&UyaZ`atWtWgC5CO~WT>!zNbvh1y4@Af|Yd zTB$@Tk6i;$i2Y$O#ejOOn0j+jp7L>T9s`Qtikh;+^6h54F)*8Kl8pjI`$SII;pt=Z{M zs~X(vk+hERHe3>Mji-Gt{11Aqoh3LQT+_o|qr$~c!~apL|HqKu+jYuGF^Iomy=3ZBvdT9W%2m3a*w&+0?tw0y~S}-*u3; zD!Lr zQ$H%7eH3azy z5(B{M2@Rx~F&KzwfQ)8_NI^rSCICbrngP1{0qAOJ2=&_T{u)B{7F*XF0oNh-)wSTf zfUZn|(8*?mO#J{(zasyq6O@O3q#g zHR$1Y2~8))r{Zq{T5SZhda4>^baaldan@He$?C*lEEww;!rx$T6fCJ175m8lkI&{6 z+0vdxgI#_38^nx)*>RDmM{_PgPqM2)X8?`g2aHj04Z;}{Y(HtG91U$KAm91M9c^Yj zfA>bHdPJ^zON-xXB@l1v+~kf_2}s3@3fx%dD0jQ{a|tEPu#6+N3Xx4vUCM7{%jEE!PIy-#2!z*Vyfp&D)Q zzUx26i?dS=j5ZG{K}rGddG;tiE`;*_xTyiFEZOkroeh6)e^iYr z(n3~Qu)h;?_FM8$4N1cF9q--k8wE-Mhefk=_3+vjKR_1Zq7JT~Y9IlOm6J#u^3Se- zPMH|P3&XKD&b06cfL%j*@3O9)FAWEEu!VXt7r3P3#q^@tAHw0avA&PYyb;&VBr>iw zPm>-*T70qzgt&38f2u~WdKV+RtVpRzLYlG!=v?CCNQd$ML0e<9)1!G_lhkHD%x2U&*uB|ym9DaY^_@GhuI;Nj~2s~--IaI zgEYrv9)LE@nj$&uY7X?@To7eozCD8F$==7WC^`(mNa`^s@k}96ru497*93%<8usw+5>CTec+wcWD&-;(tRkFZL$0A$bgDr^T@%gIvXg$ul7Nmg z0nY{(5eu#moff0AJUQjKM{ZtbyQ6~;uTS-71z^kbGHHM~!nH{ye~(UfNgoViGFlvg z9-gA@ zq*j<@-ViX1BGPowF^K(xUVti5uA1{vM>$$#=2u0}II-^|SjYqa%axM$9=y3fbj1t9 zQt`pUw~q#M3`~yA&uC_CwvmgJ_BAL`keAQ9+y9G`(nnr=-^wU^nR`U#XxH&COa-N5tpjzeUSM zYW@y_2A)g+ce$+i!%Bhe+CUSfEK9Q07tbuwBdEQKaYp= z+?ZMrcLU0hy zXifR}T}BpGcu-rtTB5mNaA&5`LZf??K`?mp>aEi_H8gWtbZaW!;4kOSLQ~R6VWCg7 ze-Zb@y+Y_zp~z%+YEpj%!oh-4?1Y%Q-K0BOFNc^bpX1SUktTHH%FUfCciAf@OW`+< zo9R{NDY)n|RVZ9t+G-{qYsL<+jXV*k_C=ObpuH4d)0rGL9xqoQ0$I39U*C%!esouP zKEn}fJv%aTW|AkxKq?*os!e_hM!w#He@SF#sJS2Gb>X)iYMwBykW`Pxxd!Tj+F-G7 zj3j671ws5JS*lCr$(j#7n;`8O*C_GIlydSUUy6Rmt+6zKV8;92R=r6%T$@@_*n{B@ znG5WKThOq-^LF^Bm(_ZNcQ@Onj|s5N_3^f5232juz?6E>6bFRq&N0h|KjqBcTuFNKY$hD`}*Dm2(Xd#jEDk`aL6-@%Td+ z8I*2dhzkriT-%>Z~_A4bMBq$%e?dqduH{pK)8Ywu8YmmmB=( z?s`!y2-X+NV#1q;VT*57oGW^)Tne}W#l~RcR)96k>ntwGQpU2?e|yp{j@HcVE9!{G zeG0fs1=JS)vjxuq(`65kFN0|v%1BlqU(t}ym}%%Z#A#wH+TxazettMN%>q&?5i3aP zpjK<12mx5YeI*H1rNW58Vks7?+7OqSex9DRzealJQXch276$a3bKn@XW46wrW&l2? zt??Bz>hR`J%b-*Ce;bh$u)76Y+_d~RVfQ&hMxL2LS`l?h59t!n ze*o023dvFLxx>)#*NO%`sz4^#bj!iuXBzJ&`^beo&K6u>**Zf8tu?&)qsucohykH@B2TQgX>>HYO5*}4Huywh8 zvQxGt30%P85UadxI0Gh>&wmZZE```#O-xsFSa*Je)x=X$y zt*Qg@5<8Hq!#K0TI+mN~bzS+_0(+{7xR4*2!^J(}=J{Rid+;bjv zAVSW&I)jXkit@+Ft`8?%Tq>j~bK4_dIoSYNe@{UF=~(T$D{O7p#JDcMJwhetr*uiL z3rDziR|_@I^Hlioe42ba7y>LJok(Tf$B?;_s#wxPQl1GQG>f+qcAnCmS|RgpemIWU zB0E1T6V86rz8k7B`^dLehdr*pCUvj-_|+IkQmlxdxisbD44ZF|ed=U5At$p(fcBZZ ze>~BjPzQfXrrLyeOP1`7XSw2pzN){UF6JiPdtk&CxvLWd3-IJ-<#LWF#sz2tl zZ6I+jSw+1QnM41PuUB4F2I8OP!Y6|cWc`)-lD*>m)8uPFr* zIdY{@D)~M_-R$vr`}L{5K>M-Al%mc?0W$_O`q>8dfn0d4jFAJe&p_t%jKxpz_&YCj6F<8npIcBg=thf&QY954&1#wBPVLE%zBl z&kl?>MxQLIogM3GoUCz4%hD6lf0H%SRb-QyrwDf5_+dE-Wy911xMw8j)m-sSRAv{o z_?~bvPD(XrGSfPEgs00l{J^tf6GwxzGHXakvmo7;QQ)YZr#~r(2JmLR@y>enP)t(L zPDU~KyaGLQnrx3w5zHN&ni{DY($%%Y{20dcjFCz#M1^?0u+v1f$J<-7f4Q{aWi^Vj zUzF64F4c*SN8`2T6q+<90*3K3zTVV{?&(e^_^rtfz~O?^pyHT|3uDJgnt-i!LgnkgL0zxAG0`u!-n0J)OOqpp(%#Qe&YPraUyG<}Oy#!z@gtjFmh} z6vWO~)!h8;yRf)?a`4zv858oFCym?%7Ten3tIzG%(z&g*2^$_&1 z&eQXcB1)!(49GgoTyvd`kwYgw830l29KZp{gwY32P4Kct8Stade?@m&U*ny%FJ$ny zy3Ku?5j(MsW^FS_NcQc8T|Yr5YFPOfa6AAOp4Uz5kMQ7&D-DfQe19DMN>m;aA}d_5 z{oV;c)cTT?91_xLe5!FW?D0+JfohNmU|F7{Zwg9eb(_o{1Qfi?U=w*6fb1z2{E?3? z8bb1G*b}VFHO*=Oe`;*%mZvB3__MtAuJr8<6f0M6tMmsn3m{qU9hk#I|2$g6!FF0F z`}mX4$8-H2f6aCnNZT19tsaht5j3WZvFyX4k$m26I@OjnS2WTzWK@6qp2HlhK;Y+) zIA>L=7O+;z2XJ{>DRLpY7_|tyC6)=kIYW%cZUf5L*cpsaK%^#rE|WS6k(tyj?5L33il*%MmZkcg6(~cA2IONE!;f0>6bCj?YaD7%vN_9U{eJI*$@k~-0Ne~jh`sN+dG)!aa$$& z;?f(NK;6mokI9*8!PzH0p$@{S@>ebcT#YJ>of3cF^HD!Bsu$(s0<>mKG4s!NBzsNrR0qXfuJ2*b1coo@fAu z4e~CI`J=h$r9PS#%em6z9+bOhcl43;> zWfmq{K1jz;S>z(mvL4uEC1iG$sIZl9X#Ql}j=A;o)tTEG z>=`}Z@`uh5o^qN>#_mFE5nBqDA>^`;LJD@5NhQRl6Cx~r4wW$J)X;Ohmx*9J8?6G@ zf5#p&W5x3CZ*SQS(US<|?G`nEOWB9pcWT;_bgNIc(UQ?Rkr;P6)ok(0e?a~#@^ZE_ zEr}m3YJ;UsJW9LJJsPaROU0*=7BK9 zeiNV3uMzxFC1hah0feVl%iy^Ba9$dXe_YU(Z`iW7u0z~Z8g4^4!+@MKGfR6ayPap@ z{Kcr{X!Jjhs05v9%>lGaLSpHk?tMSg3^HIfh`vhf^j4}6dT5l~*57`1jyqa7zWt%YZI`j4HmlgivHZDf zM)zipyp4*eA@`kC8R`|-_N6AJ{a(|H~mWM+L(iiodDA(L6JDp#8z$5hd&jJtdnGN&Qshxr8`DnalAsrZ|rsrbxD zz@}%neyto!0qb%r^70ACdq$nh74YxKe;GrbHn}Q{kFO7?;PvH8iE4S9+aWq)rqU3^ zV_c+?SB+;oP!TVGBS$ire`%q*qA0{;rW%(g z@cqTvFjO$3k@@y!ru}+2zlVMK;?9rkz?7R0^DVd!2=f}nLz}j`UtdU9d&v6EA`95K zt&X-df6Z7?Ey{4QrUdGc)m9yKm>d_s9kxT_x4=t1Tv%=(r%s{Xe@Vrb;*9C5_H^1URLyOT~e*b}qEavNJMijjF%V)?@&q;UA@%yj4 z^n*bq^ZfE*uy@S+#|LbLI3uT1J#D>6Rq}QrH;YTar~AxUb^&VYA166~lw~Qnhg6wT z3(L>^xfx}Ziq+9>HV805j(W#jwXk$b-rdeq*gIO*uKbyJe<@EvQ|_Sq1zIPH5FQ02 zvGVT|0CTsd%QI|4d!R+$M&BrZp_9PwXw32(EMq7$bAKohf)(S`|FWsT+4ildzgw*< zBrX1gt0IIkPbEm%ghfwC_;TE5j8jEIjaJ+)^}!=AeG4=)#GzBUEPjIJf>c$jBQF`r zxJxgIDd^s+e_+$*Gc2WNb)O@;O2qC6H`+~(gdcJvHZ}G5xJOS)}CMF%9aowR+PX9Kl2-6%Z74T<{!)3Rm5zP2K%-;nad&;P6i zhuf#Qe~vwbO?XWjM~}Rju8p0}e_Zjp%yY}kjm1U^0xe>$X7TD}jZw}XPjy9$ z*ukKM^(kzqu9L% z?T%4a`vQK}-j6AcZkLx5d>0=ITixj%(8#&U|pIl-usx$@#aqH44pW!heAcO~$d zyc3R_j#a!zj8@lsUKk|W772SU6={|9HaW_zt+4=6K(4>HN~|&2pr(X1&0eqKTrTY- z94IgL{C{3*^ib09uQ0}M6s0T9Dz%55(|fDlc+RPirI!FZ!@)wSZ8hbzIIh&8Mnoz` zgSnejc)w-XWX=wp@GRLLJE>cdpZ~(|=|Nt;myAPiGH$aMcAQPcWNS*yTmjTAT;Iy! za$o207GSS#P;nPsFJ^b>j)?aQ&CWU;bZX|2wSTJb!j@V3Yt=I7TfRkY3u?4Pst+h@qIn7Mo!pVp2*gM2{csdJhN0Z4!CUYa_f2v-^)B3WVTcM^+e~f zvh@D{AAA1+*HpGPio-!vR0KrnRRu-qNUu>45D^fN-b6%t?=?0+sR9BD0@6E?-ih=k zy?=z>dk-~0NWL9V$8qMq=bZPx_kQR8{wFh0_TFnfy{@%3QhHXYvd|UL5P3_nBnEVx z8;kws8z2!!T7BdDUefj#(mubrkM&+3niijQ>|>ECVn!Fur@AVU;w!C{SY8WIUS2j1 zliD^u+kOQM-nxBXeAxkucX|Clq-R$6oqw7(%w$nu8NO z!`vcjH1kc1LB7HHai}`KT=bbxPPMWVb{fNJ6y9ZV!tMZ%_FHU)%Nm)*BF*56Vt)u# z%^72CExg`>EmhBKec#vC!e~vHyV`haic}dCOxJoDIFMTYL|nMXH@+^u5)V7VyI)<+ zc}9zC-7Cr0hA(a9g^WAgRr=)^t0oILGbe zT%Pa>NO3su@=}|)FoTXTL*yXHWBpoI`;-ko3?V~b*``dgk6D=HBsqWM88u&u;YvHr zL@ub8M&Tr9K!J0#Rul4z6^#Lg6|C7Fnzxx@BG>emlq*0ja}97@>g~0xwtss3PxTq; z2iF5QScg6JC;U3jw-|aGnX#Oj!Z*<-*40u7)3=;bAS4s6BMs%%b1jZK!g&y5VyM4v z?$+ghki_Nx{MS+nyOp|R!tyDaoXOF(Qk{&Pzq|Nhv`n9#`WQQJ<-0g6rvlxqD+Tcg zFQt-(&^*AaP2Wfh(?XNV|DweGX# z-w_|a8K8giX94;0yDq_6`kis|5%8CFA9>gx8HH?<_Z7(oa6COSqBb5`w=84#xJTKH z{=&N6S>20pQcJOiBYqBcq;>KWK4Ne2X`)tbE2Eric}7{y+FOzeynjMNz30kFCfQBS zGkiW;zw0`#La_N@zyDkcB6*^FDPQ9a)<+f}8Yc?FJ5ml^9!^fyz5kA@3 z?VN`a<>=ddd`ckRMQ62{ zhatlATS6yKj~AD&U3J%)STyv56d&1&9x=siVT}2(2}0VQu75!=h_a0&D55@UX00T* z_{+W;%Ufvj-x-Szi$6=RsjEDeyIQOGjEqN1WzW|7r4HRP@(@1!Gik29uO20Gus%4b zd%SDT2eU-fDNS*RInnBBRTv6xzO0RI2FD}GjSmHc-{2`swQlVCH`jT|<#1Mhz=oP% zitnQ&=9I;m9e~ z$Er-q@{>uM)-lP!MrF}^k_gab$z;ZfsrCE~yGed9-+$9`zfySha3B6fr&152^VVkg zR8ALyVz4sR@Fh=N2&s+eqL8|Mv=5*7OZ3hnt zlA_4IbGABfadCy?;p!k~QKciNAU-r}ES6@rQ1@Lyv~NRH{s95My72z#J-1QjC;EqM z-H4>)sDJjyX74X{I;N>VrM6tR`Cv-C`(o{rR-M5!xkqB<&C`E&NO?7?mnJbDX{WVJ zrY7H)xr%Rwrdll~z)LMB2@0tX=yPJGv+7#qTY83gY*IcjE2^**Aw*VmB_%+m75eq^ z@mZF?WXK{_3i7lhgs*dq$){R7g{f;cb;Hf>JAZ*}J+Pu@e0^#A4JM!ZpnDm@jr%|? z%2D~5b406b$HB{_a%bXtPONI5m3LDXd19_|dHIU1ab9yLwZ-UWYNf8_d<`%35xemD zH{aKArGGJ4Ef)Wj(0UeA-8cAy>0=TUc2j?3<^Cm8tIlZEDcwh*d_jE?pk$#BSfnA^ zhku&2)~Tgs(5Y)_vlY(oc`P3dq&b(%tOS{G(6I#Y50%fE)U?7|*P2U~IWJ?kr%`C0 zKP3*w=UHFeE6}5pli~eg22a=e#Sh(RNvnu;|gR7S{h^ar{Ze6GVf$ zP6b7HXKywVKRSQEdrGmZSkWP6vVL@M+kY>sP9h2MENWN8!g=&Q&}rg)JHq+rY7;P_ z6nk^eX9$bSzWkHfBc_@nrUq1!i7y=&?omYW*eA+_M*TRyyE z{sJezM3O?{Li^lb83;7@;VX@#6~E_gD0_viv`6hcB~8_Yy!m^{zh<@&*2G~qzJLG7 z$bbc%=i_BdDQ+*I7`a~9k=hsD8ZE!r*AHN2tK<)`>TRokr?wZ(P92MPacXjdHXqJw zhHHRk#h z1g*EkpR2seg6b!4HLq_yt>_FMArU5 zvAQiASsNsw-U^8ie=Im7n$~2Ez{hXlxZ!`Zps=@&wb)a1j_DD3*M_*xh02DYxf7W`WZ;$LL-e%efEGBJNMhuBVfsl2SyS2<`TX6#actxBKWwB&WJB~v2fQbYk!{7bF+Z6|NS|? zZm64~OiuS;J9D@PpJXvvuKX3#(mok&lf9>hw-L}g-JN!TnfqWDn6GsFIKEh6=4HkY zuk;iZ21nB9Bo1l63VV5Js(*cYnK?frBQK%YokL!-PE2tpP$S#mFzQpLXRJ=7Xu4;M z4x&1A^Fv`Wd6a6=sk&PgeisUoIc8y=I;TFZ<=Oi!qu$8zfAbFWYB8hWm>Xhps4x$2 z%guqET5xjD-4`a4BfBt2`HwRL3ns9OINX*oh=QIOi<9ndk~5=Rv)Nu24bl2W)L*@xb0aQ-c)o49L4$skk1hMndmH zITBR`K8loms0U9h7=PZV4Gkrryfv3w^VrxcpICF^_*~{MDU`0T8lG32|HVH1$*7@r zKvC&KR`tO$^&mdM45-L}uw`&y&KH|P9={}0eTzF!B#Wh8P+qIUBeO1ZwKn~*3CYVvCQ!`j@p2;b!)A3M1(wogKt3fUb9%+yN>2B+Z1jj zy~xl~+0+vq%|DnPn5jSXp5i&YqE{)vh7JJ>ijH}X6zMuroW~yjqx1ZTJ#6rz^7~2B zB_o!Tk6}RFQh)kEVFRW929%;LWq@?_UkI_(ej5+h4qCL)iB*uND@jI?7Z5wL?{ABtfgCS}cA=zZvwAWbPwN7Ck3 zPjvoS3F-pl%$@%dE2OYjssbXvFY_KdST&B?+y4el19~jwo*I8D5tB*D2#fD;jaT!~ zEr05AJeZ1ewbn1BUG&64towLS!PzUZJpnuf#A9_(ok^E2P^VJ22K0RGzq{dom#C7x z`Jq3pJp6Zsb&u|sVgYd9=T%*QTA%xQruvVi%by1q|A|3>M`z^yT*&@4E}Z#mwg2NN z;omId{P4YJFkzX$%Lcu5(~5r^1OB(2b$?$0GXXhN_&R>re$y+*>(3DbGXw!ijYIC= z^k+juw+7B&|LN186ESG3$0yP4m_y8!8cdWJ70%;7jvC{Dp6eL@7j8$MJfsZ357)bpITMg>e37fKRaM#>PMp$lvSdNqxOYRMygPw~Ci&_i>AkBOQaD=Li6Wig0vdC*iX>=}=@2pPAqq%N`{N z5U76gvZlUB!wtFo@X^Y5&rELWRDYK6bcWgYc=42VZY%b0&I?(bU^@=_y&7DnK_Kr3 zER1@k?sg{eEDNdlCXNZ+PvG78XY&(}suirS1A{mp``8j~I~c)N?~HbOLLdKn z*ddNo?2|S*H3;qKv@*GClLHUQe_37mf+3qS@`r^~(>hYaIsl(qW#C+TT z@$9-N?6+s1b`D5(-A?VgZOOTM9`Ar3y>0T5^hgyZUKN)ty;e4Fu7B=s?YM0b?Ef*Q zE!&q15bIOTi4mQDyd4Tm00dyrF{LU{CO}~1v_HvgS$`=YAw47SgR6Wyd-vTuIUf^! zJ`XN%Nj{ecu_vl?Vb38lwdj!5NUd(Mu!N^OY+z;})ViMuyK`#Vy0wVXKn=YsoXehc zlh@0vWLWOrUKnW>-hXHPw4&G+11E3y)hkDJyC|Xzn$YaRTOY88X6Zeme%Ouc&^c(g zICPw`wm^VcSIdqrUeVS*=6Y0ZMHez~@=AQMAX~P+{osYk*}`Z;*ECh^*5Mvk*9`$V zz2b<(!%&TZ>X+Rnk-GObWg^`@91h&FYFh+NjpuC%T^9)HrGTq^1^4{hl`OCA^# z9Sak14bf#uj4(~odHmt1?!wZrKX|Tv&d6cw>fNlR7NgLnPz{5-zG9c?zn8Tx`N75Upr)p+rMji4YkH&edRwM+_ims_Qc)F#@Ws-kA^AfANG{+S5Z!E+MRg0fR^s1e6? zX*l9;cWuZ8(%7(!y-9f6NM(*xjsD;{FdxmF&}fpIAo#`7lZkPeL4B2syz@RLB6X8^ zKF(B0r(XHJ(s>;aTHx>sLDE7`H>MQDlTvrJT%eLrbbqtX9XdJ32CehEWFkV&Pu?|5 zXiJpmo=Z@@#;H*`C7@H5Utrm7#(Dc^^gA^7io?xfEsvt(O^mxxscJb-a4Ey-V|F_D zfm@x8c%WZmUU0d)G%e@HSOD5VMFxLj(8)>D{RWucf8h=zhnDRoxjrY74uMGv_;U*j{jQ~!9 zP}S5&QEDaXyt2+Po>3hwxUPD}#&V@>R~I(=?$zufp&dCwKvss$*AK-!cDH|rwdM}r zrzfZ@MRzz?b=a?I(@FD=6ugOWaNwX}MolL)DN-`jyv=^!Rwtj7x96pP7$=-cQ_&eN zDt~byi~Y*^qFiWQkJlH-sDk&Mj-#5u&qL%fB?vVC5ol_Wt*^tzRikXH2h^BVEKFH@ zX=m9dZTi}|chc^EG;<4|xJ)h2<+-Fwx#qiOqy4BMWBYXf!&4G`5hgYu(B(%mckev9 zqph_-QET8u>LQy#Si^rS8+G3#MX5NpG=J(K=+$-t|4^<`xtef5#5bsJD+isqAl>Pa1BB@l)Ww8PQy!&Z3WKIcFxWTOM5EN^bih`t>UwXiMfNUF3G(s?BKKV1Fln zf36WKD!RT!KHW?NUn>w#BH_5h#-?eC7e!s?wBF*+m`*B-bn?iHpUK!8toRade(1M& zpVy}()cMo>6X!#h^wj(Ju_}n3Y+gbHPTzuvYP7iPx9V9?;e#vo#YOt^5$q$_T@1gZ z_q^A(+Ejxoo5Dq-bSsVbE$fo`v45vkBzO--WR5B%AY0Gtv7C3waBZ>FX+A5vxM(>Q zz`u}eBk7#wcl8nEQ{=#o5v6Xwz3)UEt>Hy~;fS)a!1!YKFRsG7+S;GgZ+_6X?J8bp ze=D41BO)*1Ru&bOV3lv!jq(6bRGjvCW_cwx03T>>I%#btAmCtIY)%v)k6$ju8TZCVhIjeq9F zt!&bIq)LSIJ6$_{&Ki|m48_viGY3K%$EPeVmauU<5=6#LZ#a2 z73upJ-_(wa8*oF|uS%2)V@N)*J^b8dsk_q@KY#VETfak}vmiI{#r-S7kb_lWT zIQz;9fAV(op7X^O)i_klDdT$&bB>17>tCFWjA_&M6(+5*=C}80=RF%9SXmb?>PH$O zy_Z71tMGlh?I?X#n0eU6i_kF>^s^Xs~V?p#_vaC<|$%hP#XU#R66oGSdIa#cQ4sKf(g)15&+lIFG;U()_ ztI@x6G|^=0Wz){1OR8(^Ixh8RxgkibU|-gmY2t@5wrpa2x-BKe%a)=l-X#HG!5dD@ zs~aQXWLmxr52jiRSAQu(O|5N%H^Y2w;KwWb_W?TqId+z*Qqao;*Rx>NL!uxWpr+!e zleUdAE9xezuvp+O|l@ zfupZgB{6zZfnZR?%(=|Dk!O_EpuJ@h>NJr#VY%#8to&n3>$t*NOGOL(y5ShYx#~<= zD4(IHR=jun2pEa57yUjXyR~^~%bw*VF+gvoC`UvenY=tz%%;+tvc&IuR@mCgPr}N} zut6TBX-Eu6mudec7f~Db5z4pnV(PC|A zlJge8IHbL0<0jK)1|N9I6*2Rx0^>+W6%TFF^LjsK-G3Sladc4{2GOYP>b!=sXcOoo zi1-6os?C;IPSgzdg$4+drmb%;Z3?uxe6vn=ENepI*vc8)lh zSscVh!NAFwfQ;J6M}&6L+YM=LqZ6zdcxm_a)IaR_Rjm$~=b|4>)|(0b*r}VWjc%SM z!<@*XH-ExIjGL5epkowEioe_>t0(V1+Qq`QO#>=NO+;pF)|XWiO03tK4%;O(>#rUu zQuveM_GMB8KE6V`Qc{$6R%lDpw1#^Q$*w7K03kYYde%_ia;fgEaM&I`y&1 zTC)!Cef5Zh=yD88B{L_X0t=W)>~hJKDV?4Qve`o2PsQCU!UoT^v^t7keb)3cX8t%@MB&xddrKU<}tmerid18cpgn!}N5>ft$>L;J&hXUNFYk8XovFR3>bAL*AK6Nl?tfDf zwLjJKtq|N2sp*+u(Kt_oepd>uS3DPG_8eVEy(%lFn(>7 zCkE-S{I-4T=nWjUpQuZzl}&Oa!haVPf}~}pqmf6y-KxKuh!$|j%WBWvzcHV; zDBgm^Q=9#wzO*>0e&#VR3tHSYYfq`s`h6C8N~tm;MHy53t}tEND%YibkAE~xXMtk$ zksc`T`zB5tsjj=$(INv-C;6L=_L0>@%bTjT)!kLS366-0$tNZXtuF(@?27qNp1+OF z9^v3pWWkG^)bLXqPYlg8ia&&Hd&4&eN^>a!bGIjZmLFyAn`^fWNQo#NnZ@2s+Fp0r zr{#s)aM7jQ8tdZ?kh0LFqkpxIFJgt&6c(zgX+L(&q~J{Ywrn*O{m2m)1gA;4A0XKF zLeZ9v-Eig6(8%-TurFUwFRPJZFAB2QpH*!e^MT_^--SEbEIMlH%oO{TCcuZvjT$3( zm-uRgT9PGGj<;+OxWLi&ELOLp{9C(HkQF>~0v0r@Q4sG!ql`t*3xo zs{W`Sx>Y~Kj40kv{V3N)HQ36^_t~o;$y3HPhq+?(zUxwT{eV)N#^|{s9S$CzuPtGu zwrbS$Y!@wEDu1`lMI(~-e81y$8#o7@Bi}=zPy_eTQ3^>BONQFVdr;p?E(RsR}PF5|KQ@)XvVo%1@KB zu+}=`*FDLx7uvnK0{2+@6ZvDRXTGA1e_Pc1vGnp|yMF;&!u;G5I8M6Xmn@Hy`afJh z+<_k*ydwZu`TBQzO4#?*996!r82)wJD!rxR`}*Nu=i)6*yHMF57xf)K_j`cgD*ki% z7jRenpZh-8{PD+H@&9U)I7>OQkOFXYi66he=9j+g`=aKbJ@Y%?y~|ZLKYENGOQhdl z9l^G^|9`6B{?`ky{{uS0Zof$r>Hb*p`gt$If0I^9QiGK~@vcDz?s-GL#T07w_aeT|;_?FGS z6HW~_$$^A(zFc^mIU1b=A?2hw0vVM7#i2-;<6qD_dHxMng&@#L>;n+!0u~7fbo(=Q zA_!FVhtL7sIQ@Do?!0XEM;BL$hqbT>K_J5BrcIvtkpBwKi$6bnt%^LHtE0gFOabjU zH-8p=w5EInv{L33yO%2R;SuQPxVPM_KOHXyfG#THTi5m0_?^31?{oKI}zV~5q~SzkD>zd$0h)vH2$&WioK$t`e!ixGYW{AVQz1R8g3|0BGJb6M*nO%6FY zM})szisG49`o2g5Ai11}*Ko8=eq=GNKNmNEi4qC_ZPoqu5a5bl)LF$GdjZ0G41dX5 zuh0FC{{IM%3mN~WJno?m{$-Ecu;DuLfO?kvY9}W6cXv3G4DI?X8%HYEbL@l9zx@nh zSRW)0mHva{fd6ggzCT=sl6r29t9%#pbD;gCZuyR0do}BL3f|1-TK8w!e*xD8&56y> zzjeq5dP)BV4r%qw=7?;X*DZ&~7JoJV&K>RXuSOkrPo;ljV{K(6JdUT;g|2T+p zYX00e#{zaP35riSjx=$9LK68$?G5lQ^{=z?_YZ-BCJ3^dek^RlujpfJ*7uS_|GB@AU|->kCOaR zq#l>0P4>3$f7XuUpLBp2|9>w4znov)JvR0osIk}ad72{;`i#$r`NsU;wNTW?gxnwL z@OyIjljpZ>n*6JoLgeu9?-dxM@H4a0L@rGKqO+2p-3pf7|835`Kg0&j79aj!D)6J* z61Sph{;2l_+Ec!_a{nZ7piSEvk(L!Jy`k%}IlIK8Ja3L>mMe;e?SF~1k_47T!d9Q5 zpK@Uq8Cyv-+hL2&=zW1!5;`Xy%$^+orXKq&RO~*tSK+2!%7V_ELibjbUjhKa6s^~7 zzqA)&a#c{ayQ~fNpj)_&K5P>c`RrWQTuV?u_N)`C*fer%$0ke=+#i&ayk|kLCb#*K zURJFB+zcv^UM(8ppMTX#v~7@S;POs*(!KK=^wr|tR16!G5w)0G- zH;9Im>&$wv((X5?&(T{6dusExS{)WQN39Jts0+p(*z`Jj4mGIEq8@_lg)q)Th^h3= zpqzreN)P|AO<=SGnyXOgClLXgI_Izl#(Wbd!}#GQZgClVp?|_{dWkDu4YaKsXs7Ze z)FhAsLP==9UnIU|OIdY89u!Cp#EPc|7SKur?D|)-z z5v?D2k1i3A5`8l8$Cz9KZEvP8Y)8F9`5q^*}ZNSPr#|_RNY#Re6d0<7S11Wa^+V6on-#Wbpel?S;3#Oh3 zjF7P?{)Wm=DfL>1xJ3gLSA(17$5{5fXPYa{C~VXV62I-Uh-D_0@PXwn$qemn7$juu(SoxhXNx?w3!>YxI)`my)j6m;Zz|SW7}JhY zHx-7=1!W}feZ&5dMK5bHcWfJgjvd7|r_xQ(ZO68uW-(WURj!dIYeDoem|5TtR9{e1 z;pUO1cz=clj&DU{aUQV>Sb}NfpRp8fYGEJ$mskp-6|j2jHaGeO@fs3qcH2|wE59KA zVQ;3wv3tPd-?5ZUAN-y7Id9IkMq%i$!a*pu{fif|w`3&c?`DfXehK=|=ilmMqU>O< z|CG(~7CR?97ca+CD+4=@r-pVWMwT4+~VWr<>KPJ#S7f$;^*Y%1GiqN0(oM8c|dXdc_LmTS)|)!g}jl!vylo`TBBOW z(ozs*33T>1tmyYVKcZU8n+ZAL<6EvVN%Th3-znxw<)-R&gHwqNPdVp0-9FhAZ*H|d zdPws4{JFmJb+B)yW#V(Bnr3mo^cvd=e*LhKce|)*Tf{gK$zrI8L5*fsa_>mxMt^O8 z%BRPddN#W%-H0W~H8$G_P`-+vqNn{;QnE}&fqs|lh}rPq>^cJ&aEOj2?!_% z2uMznGfhTv&N*jjasy5G*SOZ&do9<0-e>Q7?*6|2-21P7o+-}mnl;}sYSgHA)T}wG zjGK9t{OXbT@Y3`8g*a$Y>{QQpM#BON@4osRK!?;dx;rD$t3EY~hEDW2ja9>KF%J*e zw>p1d;xm+mfdWfq6S?PW)q5>=X5B1bsrGPP7frG_U@@+kG#KmLF}0**g0(e&E0VZ! z@cGLOUyWgrVzU|S4tiAbZoNIWA8r*z2-+4_oZARdN z!%>Pit#Sm-?Bw8sNZ&j%6aW){?LHQmXJG@0=)gM}EQ#(2?NE5oqKzl(f*e)l9dXi; z9XwOC5qNx~?NXuuedQ^TIip#GqzIDoK`Zo-!z>9-A%Fth(hXhpuaPixVy}diRoWW< z?pB%uXkls8&FN@qhI5a9^S4LK(iub-(fwkgVl~0;od!=TD`XT3$9ZNu?%`~20KYX@ zzKy@AMaRNRLrT^=L&j5v)0dgA*erg3Pa{k^I)7uVs2%MBiVav8X+wQt5DH>hqg4b@ zLl-uj#i zIun{3eK`kxr;SXuH5tu&Ik?S_h}r9|Q*l5%6IbG1@Agy&`aIb3%%gq~CcS77Xa=sD0IihVi|Z3MN8aXyb(pPoVi?heJBNz{Aem%{XY@uTZj=-Bo_ zv(BQ$<&~g5=Nwupm~;I6$0gF3{^tGiPj@BHyF-l5KC5p-q+kWO^KetV0ng!#J-I`J zX#n}?}D!TDM9B^Z9k?3<-Z&emndO>YV*B(n=M_DY$!>trX=Po z90UMM<#MUXoDj2_rQ&Aee9KUNh|itlqy)iT5hqV6cyriCjB(!MgN&MmMEYm>q)k(|s(GoYcJECj7L0Guog% zf&8U5Rypf`g>G?mpQ(%t!%LocBc7b?MW39FCYhhT6Hdt1eK;9WaVLc5+eWU)P4}Ra zxH(T_Sm*iE9V?B;abhCsQJ+#HWXr3>^Kqn505gZpxC1*^MVnpe1u;(okqzV$k_=95 zMG~87F)B{;USffUXH&*=`=HB2#{{(Xy~f+|8$3yWrlMV5WiYHdT@7hc=kA!T>KrMa zo#3uUGEd(v%nCvh;j<#&#(>~NNsH15dPfyz_aA0(?meM_$c$ z3N(LKKCfRm55yjWKW$*&euZnV^)aEV%e`7a-EhM@0Z^cG<4r72f|~Idtnkx^=X$~% z+ef@5dK~OP`L_e)Blj1Tl5f7aj|m`rA(%6ytbe*ce>oQ}vPejnUd->~Jjg38J0w1T zk)3_*chvbPKd8bcP*s++aE?KihE(1)HMv;3iS#);M00_Q<;qy>v80H5d>f_vGT>R8sH+S;vEBcIvfF0Jox*MZR2)uFFL0e*L3D8c20 zLO)-4f90V&K1ugxA`^6Q(N7NlZYkfC=h}d=v|5`Q&MwfRc7FD@COmOO)^gf^r*TI2 z_<&jVC1j^6(J#(?>w)$kGv_+}w19U#fg5?X*6>tj<9@b#+1EI!B(bRoIiBX~n#|jt z;ajPd`Fu61i};Vq$JeTyS6FPa{8Tte?wDk>GvG*9(rBo(uhnk*aUSS8FJ9Hoq zlZ+1@Y=)lOZO1hrN8!FGfGC209R+}Jpt*|fcj**m-A*uN?=j9Ta};1QQNuZEtIovB z4r(n{tO=Sx0d7K9lYF7O%cE!>AkBl>e?Q;m+(XUh5g|iD>BzUjw|$cxDrBDfBp;3N zTzKnf_DbtYT_?P{OD5Fwvueim4B1lOesA*EJs}=ce3?K)to-aZW5q6i$_-Ncz!UNI z+IPM{r#S-x{X+9Yc7Am+xd|zU)1c{;*Fs5fb?@6~Ze=5j_ATU4cpPY63$BRttz|+1 z0Ix1rk*EJv>i?xuX>jnoq-B9WZ<=^Y2PcxT#M1LYnz`qM`SJ0T;R!bj z-+tZr@ugoBKS^4Wt2Tv3t$I`C{G01#|Gw>RYNG4*%SiLDnkk`jB9)Dq)RBrW9}+1W zh{Jo2%Lhx&v#e_P(#nd9-*||eDsiI#MqVqlN8bguAq#o4oc@k~mXK0Aw7b8p*H^z_ z!C}@gwzsiLj>}`4pay~Nix;NU2@gW7W{Ec9LN9_`brj1hi^hy}{6Ar`#^SEo9WZm3 ziw}E)CU3Vyie`Iqr%4%leTp=H?Tyi~_kES(2xlO!{*_UF^64$MP0rww>;m-Y5^+>Y zvWLt&w}8h>l7>2e%qKjs8t!t=>~DX7V0Q8*wJsGN_D$#ZxObzb{l%&VSI=`(Mk zp~^1ZXO=hZ^rP>=vn80Ky<~oe;pLCTw~w|GpK~HN!as()?;qd|VtyDn9^1(N>^XxB zcG(v;dztfpDy?0LL-G5uFzf0Ge05QNmNEK^6$)Tset^irY2&0SmuGESMNaf0N%m(q zSMeczM&9d?eWtXF;E#~rjFW-`@i!@T5EQ_7dC_z6oVDrn@W2!Wzy-~_xuPS4F4iU# z;N%zrOTF-%FF3;spXNk9F&L}#N1Q?2QGf?)xU4IGVvyt1JpsR6_B`vuJerjRN|myO z6-7ppyV~Yl;+jo7Z{3#tNy<@x8=aSFY;V9&fQySH1gn-El<+b4=R$L4%Tv<=_+`g<`0%9 zdm18tE%6Xxf=rWnF3Skz$dytrKf>D-ie*{QCj-#$t#vxVP11>Z{IN%4hm`kI>b@R4 z{%xgCp{L=(-FX9o>5Y4w;+plEXwH`y$&I0Lz*njp-kit3sWRZ$54Ij<#8((u(CnK# z1>a$VU_2y!7A5QVxgg;U)O30}3_Wy_$Z;uuw~H#Djevraiz;As8Kh|$dK<_1*Kdz$ z=I|aAP&~nvAQf-cV8#xMx1UHzQ79|tZz(sS`WW=I;uVzVxQ9n9fX}ege)4gl&CX)n zsnmJn*=Vph7F?o<2QJd`ev{H9e?xLW?gm38*neu^x_$e%=1=s9F%pxuCR%2jcjohd zwT4Yd`ZzI=s?4xwc?GlOasSQro3D8>cpxEGYu={YtJ zbab2c<(ET(1E3X)lbK?YWF`TVrvqBuM|NUiGrP^C8i^zou#>=vHg%YheXm1)N#O0xH(C;Z@*Id9UzV?g zv0;xgI&cQSUepts&@wH~7hp(9GyD7MXYnrhK9zLjH2W+bDksi+9p5_Qhxpr`@hq9* ziQJmfcryhznFg7PNi=260dKY(d)O3@kJTH4D{X2bp=N4CI5N$(AG}q=vJL~Sjl9~xg%@T=)zv|yFBh_{skt3=5Tuydt zgVlDPgNo;VsAvJJWp|~5kUoKT_P|1-n0N=PzngUo`GCfIKNH)3FWmIDvO-ICPe*PI zn4jR=S@`y>6I(fi7@Y{_@HKb>E5O}A^-6*Pohgf0p8A$f9|}n9)#HWgiFLLgLtpOf zO;^9B#xu*iSPYv1ZKkzdCce5s*Oqj!IuAWRwL_BlkKTuH z_aEUY?t4oY_3QKf@n>R4uM%LU*+2$9o&}Txi{4&m% z-mvgx$f(x5Vi0NE(V@H3#n&p1oIB!rHCr@{_3ish)ZCbV<=O+}L25Lq?9Z}af>m?} zLn9{oB}w}1eSdw5@yA2s!NM-k9C^zuZ%NC>iTOhfKYwSHl>iQ7Rde zSx#|!N{ydQ5G`kgiH9CgruebA<}Qbk3yxR^p5tLAXx_;60O^SkxTNl&#!B%@iPNyz z%mv8%V{O)dR_Gsp4To#dilP8XAbb>Hwlf@-y7>Y0Q9L;ii5|oLTsn6Wp}MD+`=-EA zp8uGGr;Lmvd@xe9A&8X2=lszT_0!Ra#7fB*aK+X*n-HsI5B^BjkJog9MSRD3=|f(3 zu6f*Q$lKVI=X10zS=ed}x}Q#$um`z(s`R+pEs=45z=^OdCHpNspDTxkSgg>BQu@NZ0u< zPn3{~32^KG#q0+KpP^tI8eQ$Sbl0Z?64V+IrPIfQZ~J}91bd757a&t@?q~dUG8cIz zpSJ6N=*-=tn9kT&K9=p(fx?*eK6MYeg3+%r@2-%X@iGA(n+25v$8-; z-g17Gsk;X3q5-kXChUGQ`L^DrGkO;4&RAG~!_&1{km}WrtZEv&s9xpMe(_{;FrI^= ziwz!+p;6@1?1G4hw+aN(q8b9l2HmA-LfWtCkBA?4ItRgKKP{{C$BgQeCGc+QoO0yz zc?j*i9Be8q4W*a57&o!JuQ~mu$Az1QTbnGAgfcHI*@h$7-RiJgpTaUZ)|K6ak~I2% zf0kTcd!K}c?`r$EJIVLY|V+BllQ^JRvF$S(D{s1ZzEwj(m^zJ z>(_68j3wtr#TFo_`FYpq$X>wsr>u|{JeTOEuuAh&c{sAEdIf}Pfu zAsi%XwI#jWux;=q&Lo*2FMVQGhyUE;V~pA4u;vwzgu!PAY_oASmtxQCFGi8BSD=r) zY1fO*kT`w09D;Ep9ppe7fqPh>Oul`$u2 z2a4hH=@Ro^v{v%^GO;>^%6L3~A0pMvqm3jnVx5(~wYrq zVmJxK+1Xtb>{YOfL!7V|9O)VhkJv=dbV^+iy4)r-mr|-NnA&FtH%@G?zMFr0!%C&I zX?Bw5S=Fn__~6W~&MC=Q1ea-66+aB8zr^OY115$e~w? z#lnIzCfDi#a!>g8A7`!JiQ3!;YdgBz4gr-)h5O5`3CVyt~t zSOOtgKTD5F(U-Nu|4>z1qQO5>ew(FZvR}uH;xu3ihoo4a^kqPS!Fbcngt`(HqT68d=tYYKYmd7dPcrNbHbTcGMukU+SaYb!|xxn+EL8rne@JgmR;i_8=f z%s9zu=m44gXr*|6gmIwMHFa=TAj;w#>fl5HVwM86j1}k}_JEDD^shDKc^OK68{L{1 zR4xhHpRW3v^VuU@Vn-<76iH$nBJ44)xiQi62~)W0BIeNV8J?9&{rkG%DF2t5wUS2C zun*GrKnMmTvsW$^c;il1!89 zVp_`j#6UeCjrgF_P1%)3j_mYxL07pQ$zgBT(uLRWHT$i__9z8ir|7K`+k0aT&C%Y*bV0e^2 zFf+oc)(kEeQ*?NqY^Av+e!rPJn;?i=cl7r=cT@%aadX$B93wOGcK=uJEtF)Qf1g`|*8-Qq2tA zwDdl8sYq5|+gB`2cp$c|G=g&*2q0w zznJGLf9?Z2mlzgjkxSRqd*n4=eIp4j)1;#>$E*{`P5$Pq*0shOYoyj9ScwU%=p=v#8W&A%&KQ&_B{WyNVY zevgMp*a+r9z0YEdb?tyDuhUmrT{q9%e`a57bKWK>V-Mu_z0US5?Om^_bNvgEb_{3P@9l5U%Y>r<;j9`t8p8uo(Sq$e{d;^V$?D2s?cY*@ zSXFQSluQbfwMF<)pA5E=mh&wAN%5Ps{n4CnKo&xKTb#-Q^1+l!V~^@n@4;+6e<1&c zr`HOoQH;bLV@xB()53Qd4$k2T$>p@MV-jq(o08fm^18wbY^*ST(Q$1}O49YyhlEsG z|NiBh!4C1$H{?nKzN?0(F}RV8`YqI5eBtCMaAbGa1mijuE=EU*&qT1z+6{Xf7j2J9#YXr zK(NA)vFWoLTSqFj$yHj0D;ze>=N%4kj6oHfMucGtJH>j!Ge+E>%%6WNE3 zCuQqTn~6AWgYKc}w<@z53J@D0>5=tMjuvKVhCnU3{iQj`{IuS?`L@lvGh`Q&mKS zJ}^s9!Z2f6cj{&tta)EXe{&8CSGIQ!-`${5L~F~N($!*O`DriyJMOB&cD$QcK%%3y zF&zp#!Q;RO@r~S{P0CI6B#AY?x#EZ{>=L%+b|>rA6i}H9`%fxAze3MQ@#k1XjV8iq zG^j%T4%a!>e8Uk1;Ns!sB=i4_l+Dm0XbG?4HX-YF64+*I_rb0kfAUFnna8QP%Y0Sk zzq6I--}e2hKmmdv_*->MaCJSF<(lAkFZt5?D9jjWsMe&Oht0)p-OmpBtQ|QO*vfZr zp24xV*M{6xKpRGy#t>8ak}s9{)S934tr~K_ViBlIxvG$6CMckUxyynAgnCC#Yc+UX z4_djlb5G1L8j~4;e{U@C1|hf|)5lxnCI1yWS>D^ z+ghp(wu$Adk74$kdpMD5GG$~M#(E@zylH^8`95eG3NS~Ff4(CS_7)xU`(ALO0D#5I zM;lC^W)wW*pddJ{^fOmT%x7~CJvvD73<@xF0Aeof#hZq_oYHLOy>NCr1bgvWGgXJ; z*A&v_JQY|%EH^ABMI{c~)recyyqNg9^D%LUYW~hpAH%ojA>>anDtnYGuQJc@aDPUk zhyBJI^UyQ0e?uq&GyF#io1buTZZjZ~!V6+QLB@DWYs=9HW@pMJ&yo^QfC+WT!R5wI z5DkQdO#Z8i7vDe=)Q6fF5#e){1%18nN1o`g{V_5Y1$b?DnWaiB!`D$y{1HQbl%dtV zLszT*Ylw&W{s{^b5__V{jn516Ol=h5Ox>U>-dM9Ue;Xr-cSpDN2W~hMO^kOz9|)LJ zJGUu`*?MRUbGP0LRhA-=!eYr(ehr`q_>%dBISa2^B(fCue#$oy z0*wXEH!t>9-myPRGN~(nuW0Uw{Y-^$<*TvG&h>%>r|=S2{nOmiNps%nXe9IVQy#)y z`h;s|e{<&=BhmQN3AG4D){k_R0Y_m*c+iLfp9O1zdOP8e&2rp`epwsqZn4qn4G%46 zD+7)yzd|pHeO6bWr>Z_#^ttQ#$FWAGgiZ5H>D+=(Af3V5mkki}%js--=tp=FBu=E&$67XPa zo!Lfh?|z(ERgFB$H`{0i(^a&!Aa-C--(63!l=ZSvZnKFG!fHzz*V7YJfQ;KZ3SrZu z`1|SYYG0RV#=kf4r84;&4LWwS2lUrS^^eVJ*CmK2<1$oF>AHR2Fkta4y%+^hJJv5i ze;c zQPV29qI7_K0lf0qPjaWwr$_OzT`PDkvxa1Tjht7TG@c6cy~+R=clLMeO$2P)3erajFUC!21Df1X6Azyo=Lh}CkSTF=5J-Cnk$)AIg&c>kpSdXKY{`QO^h&5?%Hoyed>t|iSu54T@^0F+niZ}mpCZY#|3os25 zm4u|r<0nR^UsN3%v#)fWv(GEpf5lp7T=ci+g0c1tCX*|nquVuUF9x)<$HLkDoe0`& zX)nO)AfZJuYsIFV&urq5goeG4uii{CV|Y`1i*Fg(CHalwo@BB`LWPkUQvuxl73e_DonT?Nxo za8vHn8;Rx{1r`pECrkrCh04VKp_Yb8T|#rq;pE5J+E%eaRyK2SyDckc<5WC4G#uoJ zhV=^S@XS1q@hJJ?is~wxdlNJKF-TPOBM)DlNl=o2Y4Qd{eJ zz8&B3k$!*?H2EVM zb9YiiWGG4P~M3+fYKHHgjEwdCiwiym%*aUV+f3*daX7n8%h^nhv z+%CShSndxfrv1d^OZ)XO|IyN3dghE#Ty2=&*QH11793hqf_Oa-={@Y!Jvnm?;69T6 zDntCavCsBfa9>|lCKVwQ>j4OzV~%X zMB;@^<=mJCw`-Qm*fxR&5KR^_P81ZWaSt8c)01=gQCoSOCBSS;WuJ^jqLrz0rs>#Vew83n!8Go#jJO@S`qRho@$Yo*H<2bMrLMfn7L zOXCylM{we$f9q^dvWS)@$S07mwVe;yq|A)bMD=pmO25FW259rC!w zqX5{_mkHh!woB17oO~YmME3KCBqg?tF_>U} zb(1%4e}4^=<(+{o!%~HFDcKYHeZ`T|jF<_H%tNlcczymfDi9C!wI?&s2O(nfDr7*A z>T3k@Fib&faw<~xY*bc~WCtixmwP`Y=<3fY`Xt;;v6D^3^19^2O7==rnip9%ny_RJ z@5I5Xw}l~B3^*dPs=YpVmI;SsELDVm(XbvMe|Se*b88fHCObbZeF98suRW_H>0))K zNs`A;6;8QQ@K`Wl|NB<|PIpLO>khNzuC_p_N+8F+af3vz*$l(&?FtYogZ4!}G;zlmCe}Xmr*^uInQ}4aJ zVTjRuV)q3K0K=QTy>e?>dIz%N#ef3fM-yILk4=ID$u5Ja-<@f6Y5V1vr^UZ?5%k%9 zz+NNrMr6sF#Fd)J%dBG9irwjk97V>h>FM45dv}lrW>aH=ZJ3FQhSJCCe`M9?trfA{ z?wM^nUILqaXD&!87U0=!8xTyG6PDLYfE=Zz9LkTO(UGs~Cy6&p*yA;v4mt$-dZwze zJAvgoH#-GQ37t%fdxNi%pS;z`T)jh^==Y)MvsiAt;!w7ya#-!utASZ*r0F_GQs%_Q z2-l33BF%7aXPr>Wi;kutf68Kmd&n*b5r?P9!kQ(#;tG70N zHVyPNIv4KC;VTbDoN-`M;Ca*X&8M9?zeL+U_ZpU+HxnE>AC5aMme#VVH_J3rQW(;G z@4~KLym{ptlFxNxRl=|H(I6w(OF~&AQs>=y-()@}$)O2bwiu71f5o1$jvfcGQvak> zPv#9Ss?VP>qJ{(Oj~Jnhiv*$>O-?a4@Z~1dEp~QgX2Fx{vsS#DS%;_Ua%_zRrLy)- zd!~iZZHoCLOMGB6{!SSt@Qj2B!R!161$bz13-Zg33GJB$ozMjili5Q;#b5TY2~R}< z)L^p*`v(4}wCMhTe^2uT(nr>8@ME6_(0pnM;n@{<@UL4i=nEL;Xl{fGj~nRd^Aaw1 zl^wA8@vkmh-Y$W;ibq@L>$97{Jd2uC6$c=Q_px{{wX3o?n-Jlbn-hfff!1y;a3TOe zgdPyqKY??B;VJp+#ta3(%DS>*SE7X#DwhOArn=UZPe6)^e=kWN&k4*=$ZlyrK2T(N zgo{@b$)%>eAv=dQwp(CJEEM6^0!;n^Tfk5C0%oxQX*+UGpgSaIV<_*>^mGK36I$opT%xfeWq?>35Oz^ z!WUErv1=_0e_FDmnx!aWXj$SR#GFp6Cez5H1EE4uP7?VV(aFfQvn0)aP5o4`Dv-^Yyqn#;OvvDoMyf70jrCfbtWeZ0Kd?OQJr>0*I) z{wH2^N~ zd)D^xe+K~IBVAOB7tK=pMJpnUL<_kQbA~JQ`m}9cqhXTsCW37E(95AQZa6%Ep)7F} z$)aVX(&SlS5%Dbo>O{MAW={Yf@WwJjyNysdcBhmg-n6R;ySU(-QH^J5*8*2@M^5Bp zGJ_ARD>!#>4{aC~cLbKqf4vC@CK#t}G-3?Sf2kd#gd49BaOFXa-8Vd!WnT*m%DkB9 z^6m1NW8aS~foad#+P(ljM{Ti)Y!d*9bhRZ|cmu)0Qy3M#GqpDe;D;$JTll@#v}H5k z22V>rypmxz46Muk0$kRly;T_X9Ino`a7WJ0$^kcKJ;of+yQ=rqE+F-}eh?RH9NZKI zf4C=wCNx%{L-45V=&w%pZM zZY9$Evwyd0O3ar=Q+3idZy?B29k znbTra8(_o36!GAyy0G3rlYzY40&ANc?Yo)Jidm<~Q#mGsGvcnMTD$lz=6T&-YDWP? zC--@$^Qx^0cAq&YekA;SgaY{6Pa#Bx7hxK{h)47I!si+#iRaHMFOG)0zuFabe-uuL zyytQDtZqe+E|O<#oN)&5g2sp7&g?guk$0fAbs8mQ=k)qsc~yFnJh>4$Z*bp9;eL8W zcy+Yj`&rUKHsHZezayDKhPjrg&)3MH4vqMYLywlbB+9HdA zBkIMeAs3fh=6k&5s?uPhkWWmue?d4|jG0qj@y+h44OgLNrL_SWpRD0iAzaSij%Zrw z3%-%m;gwH_f-(*6`IZmyQ3ZehR_!hA5C+0M#7#~yw=kxV+(Kcos%=JEct*qW(6apV z-2Bsi-5OKJm84$&woQ3(=djwh ztg>v#s#yiwY((-7wvbBLe^=_0e9pWDN+|c5C;%%pDJ0ls;Y! z1FhKu;mke=3zZPzESf5%j?ShlP-VHzXcXWhM5zhFv_daVzgJpEg(Pyd4iFmWkEdj{ z>x&l3FK&bqFD35J%J0$S3Og-rFE_YZFHI_-0Mn}<495g?Z9O!Yf0XpKnldLktsH=# zuKM6XhiIE=A8komDblF(oFw%7S{A)qG-G`*y_Qcm&l$+!w2Lom1z}3aGIuEbu%B48 z4Wjq&E3&fm7_~8wrC_G--zN$Vw)6OsZ`i6YS`2&Jg!AF#EUlj1=H+#aDT3T)Sa6~M zaHQ(S=6A67UcS7Z5}4J&9AO^sIV#fCaD)3jK7oGc^;%aXY5qhF;q$?sGz&vn`O=PC47D90B}CzscTRB1?IQX{^E^R&60U8H zl-61FuWo!YoV2?pbgK)>7Mx^qRipA<^TjK6IY-YKf064)T1-IS1QKFpz15iCccb6< zKF#0x{@t-AHW8h^SFc=mupIds5znF*M?|k=Z)KnDY2eD>i8r{~dPzM5z0TkGpE98z z|5Q)n38jDZag%eC!U48U?>@tHao>M~?AJZM$YVDSUWg8D%DUP8RVt#)y-1E3(&_H~ zs;;(xe;2+9OG1+R`z@SPgt0p)n#AQd1%KJE&v=-C2C|4B6+fFnz1QdUsMiT%}r;ZQO_-mK-#H#~8yI zzvJa9sMR4P?g*pS-I~}F-qsyt?PI?Je?9UzVH6z8yl?La_THE-+c>Ywh=x0;>`9ml zmo%R4mhug1OO@;!i%ag3KQua(BG@bC$)Iti7=wuoha_^0#01gQqYkLyZjJlpc+xzlN1wQ81x*cKLab$J1(qYjgmkDa4prjg#>hB2&@e+Q3= zk78|}pM%TdZHCtBs2bRNo5OLx-YE&rYT(3yEBkPx0CkTF`mpFTnetiDA=`NG-0)0- zXC33n9GC6~X0XNLiZ9`e^Pvef#@Ow|8ZQO|;K$KW_w6R*t=fc8q0hj2Zt-Ohf8$9vt#xFP6&wXZPR?S|H38ReFw%E&&J zTrs<_qxnd!^|<}qDD8<^H#dXX#{B-MVVRfFVmt(_ry}7n68o8ZZZY@bf1@b_#iH|5 zI~KFe#W-hm@)QT{pY}H!qy1Y3s{&}%Bhg{+cAIc$LBN;deuQF%dEZ4GvnGqA9fvW! z)b?%90jWtvuFtQ@-+OE4VbfU-32O{^S%$?+IPH6hdGu}#y`z zEcIK8eAZu|z4YUI#@OQ+qJs~a2Lj~u%ciE}Xn5$o+~_uH|uMbqX~gwZ z7^Bm*@~j$VHe|qz60L`K{OBT|N3^nzS#PmBVM$h%`7JA#-;d+7%@{JWwP1GC6Lv*Z zI-bkY9pF{dUS+L0vb=Q?UZ6b?X5$~qqLd>kKye^OX9A68e@uwlTrH3^7G;oTe)?cq zr(m`&<1^w(MP*b=BEbk-&5Jna*P~>BZfd1Y>yPEJD?GGRZjAs%UBi_E#j=X9{TbE( zS?;I7_lT}B$b6sM7Zf|qgcfa0bX$qHSz8gmEkmlD8sgC12yt3T3$^BBT^@8CI#vd$+eULz zYn26Zw-eTjZC{p@v2r4tnNgnK0DJGe{?_p;J4ukBT9m%nUlCMw@|Q& zE|aCH&qp`yq%jG1R!7eIOqA7z?X5--&-b*~^@1wgqoqzmN;sIndMFk;%8O&OSZj!` z85g{>1gzDeL;;#=Z?`D5kmgw(uPxZG6^Y>IN?o4|8y-}CNR4N31wn?FMeoiAzQ<*3 z!>@2ne+Xw+y)8hTW-XD$?|v!Rpj`TPtYpNP)hjN=tIqjxL4YO4USDyt0jAqJ=3Mlz zmmXYM0xDO0rrbz=E8;jw=}SAzKn&2}g!LkygbE-hAZw%fDSv!z66e`3?;QvStrpY) z;T}p=aVzpH)7FeqVY2u1e242`B6gq8j`ID2e+UeF(LPB6PKSIQfdb5qgW%ayAi_h3 zWXP*{hl}XtQ;_k@q_e4DkHh6GF2D^1K-`C1h4c}D&d-@p01}vY2N>?-1n6lIffLM7?$>*Uv(9C ze}*MgYnn4DzQ+)Iw?FX|(AE?7C@*fU?yf8UPVe*BW?`|)YOTglsa8g2qD>uVt6aHbaaS^-=YxBlP!`d0 z3|=`B&W@-q4Dw|BG* zg&HE_ou!as0`t~B8D?eLxf2@xe1v#f`g&|RrkNdbk%if$w{~pq6V(dP%zA{5f90=s zLUziRrGG56>d02pjney`@tAkQe2YKGvZriKUtROPlc|XG3YdRpf3Zaa_!4#yC`VIl z@l-&f_7Dj#h<+QL+}kC zB#wWjR;5t%?tC=_cg=aitHfJZf9Z>)?$T=xe61&S_5B zS~|5oZ=C29?TA^l<%BdNcZlu#3)}D5e@*|a&p2C zk!K(3pOi{vSg{QP-BuPlm-e6>OwW?ciQJo-bC26VVz#0Hu-8qt8kR2Qw`ZmJw@(?P zm-IzE^I3fg2Up?#oMUXttwE=9)dOjs%WJQK#atXY`v^YK-`bhbPmD7TQQyl{dlYiN zp0=@es_tD@hLE|#f6BqLCoFsl1jp?Ck|djn*M6T`tJk%XHf&Bcbbbpp-xCzX}1 z(1h?bmDXZ2GKI})Na%7lx6_Il*5B3pAYRweAdBHY#z{b!`5gyFGOdL3r^Hvf0u6+x z^mRAU>|HDz8QG%O4X}+d*w^LjJqMUW&y*p0(?6g8EztS%e{+MJKLr~PsX;#_?sbeS zHkZpZ^HI9xRhU0!KJ%i}4f!Ok%pJ(ogAmXV_$hIgs_Q0Fs=yy|OdXHDI(7(S{O4q2 zfeVUQYvP>#9U~?2da~SaR$H$F!?l+Tjve53bk^dx2M-pk!t;pjN@abgk*;N5$f zlmc%awutl<10gSx_6p=u!c3=x=*A8V;HHHBz(eMB6yRhF1qiiT16}uInEzBW{Xn9) zI7(=m+ED0h)IgHMgpWK=g^C(X)SlhDO1nUK&aC)90Iy26IU6*M;hlP&_4!MMV^l@ z-$M3?(>${t;>(H^V&zDs!`wd1A8ec@JOttBoNDWZIBzIuW-fCZ=H?@dn;*lZBvfs+{J$cE)=7qcJJRLE`ks5E-iorh!2@yMd7kn`jL1j!N( zSE9XwwwhngY6*hWC04w8MNt4>j5*FTGApP63b2s*$J3m?wUqBdNe*wz;8b(L0_wpJ zf6E?c*q*l~HIKf`SR2uPE=QABW1AAflJXj-k09DP=*sq`0=R$Vol7i*6*PL^sdzAJ zrXJbl5c_;g!F|>Gfff+8rLnMK=?P^dHXj z{Uu2sb)6@oi3BcYy}=>Jq_+(U(4tlie|%eqH)tZue#mNMJZD6@oA@qn=YGm}j*jCP z(qry-Zy7=#*4M9zv9u7Y-u$^6{_2>_Tx{4P%Az30W5a-^LO)IC^0L4CB^thPfUmRC z**Pl~JvQ(~ji7ky9bmnN(?jY%d7+>89p%Mn)Pl6zj)Jx@(oukQ$qN^!pTBVYe;bxR zy*;1*^CM4yEfNP^WUy`an9|^afBk4w-@I(JSX+^=#zE2aZsPc7qn5j&i)?lNMqyAX zzVCnBjnwWTH4Z{|_jGgK27yy~x!*GMOZS52)@QJ?`GLNTh>jvb#8!R%-FBfKk45tQ zw?Tk8(84OD*Wd~kPN4vM9kYGudu+}ee3>Pu1uhAB8U8ZIFJ9bS`n)Q3!TJSF3JKwrf78pbGRWo( zdYBJWNBRo{8W!5+wq$gB)NEUc3QLz`0{rP$g?88Vu!u40AuT<-oW5uuum1}cp&wXG z&{(Ed!J0TSWpjo z!7r*Iglmma#5Rtj00kaNNFkjwwiyO_q1FP@BzEM=#K_$N_6jQde;?>ae+BQ1ZTvgU z2MYwMD!j~T$>@YsmX!uv3OnV8)_gBtAG*&2(EcOg&8OcK8nV z%imvJ;`wKA=;itR&~P}CE6ZvF9R0~p?aBW+oKQ3z`IkA88J(HdRt2wU?zW2S{#S5P zyBD6L;q;^72w4>vfBjZo%tcuYA zkNeBmg~#3vv?=%}f`08@P#YL`k|{ZLVnaI$f^R55@gFMxLkIa(^R!BpBa1YNG2_6> zgKLxUTnJCj>ldYvq3svYIdAZb=lI~s8Ly@2e+*_*FVaPxcetKh1&UZrUGLSe5Mzb@ zGfOg~ zJ=^nKzfZUU*{X(?9rQO}^7{^!b}71+)BTcDKE))L0SsB1%hUg>@?o8sE$H&|$L$t0FM45Uf9!|7e*p70H`tEWtO!RcTC+L+ zlMI!)cOpka*A*XUm&m19H9-sd?1y6h?3DR`fr5sf z^YRxcB4|ks)7_3*E)5QCpJXCPcQ`r_#rR=y>uBfT=&bjcU0hy=uuM*A(|HC^>c+N2Bk;I&_iye6tl*!p{f7(c1$TTr?y3Yk6uNv_hXpj-6Moj*|5C|H*!84bcrC ze_>pMZU9rm?MT4FuW+U>;rsmq_{?bdRP0M=_#!~d_c)}Jr(;heb$~AaRG+ykXp68c zw=>_(-SR4WNUdYD`trXLp!kOX(=8cg#f5wHcU#Jk&O~2#{s!p4yhdOVbQ7$N-&!pm z#Lk=3uI2r&0Cq6B7OBkDo$=QDt4| z@862_Ne9)(=0cchB#D(Db^W|X@;`O_%xwAooS(W6=ejWpz|f?N=EK-%uxVsR)1!a> zst-ewSn2Y>`8i!c#h)@tJ;!MJiNoresLbo=AWaZKM9;b5X{2`9VYbQxJcS2!LnbXgCC#fB)C{LIE&9B50@4M(>C*-LK1pVEG7Hd$GraB(z2WF4tlG z1?n$Q|7U~B-Y_6^?4}&fFC`=e$MAPNe4q;tTH(EVNWp`l==J(gy9MSQ&i`he&gJ|5+XV zKjVM@e^qPz1?n$Q|2v>We$EI~EGqJ45^gG8I>^>1ZE8;J43oMpLigmkTDy=Su27!v ze>OkRe=NoAKRRIHld4D=f2+|8$OHr6Q<=VgA|l}?pkdbx7b76| z34(>Ai?nKESHetIM&(C&rynoP>Tvmu>d8Nna!7;BrHxg0i6a$ zQ)!&1?x&^HEgkk|LSDQkYo%qcZ#%mRI^)jS)`mMA-yJ>dC4?8Ze_SSyOphmyQOXuu z+9WC@;=V&l$5_|szrf_n!6=im#~)5##P$3MG@$r)A4YYQ0q~QQ;%&xQo9_pkOg%l9 z$!q9W|KHNle>U0Y<#aUR2X79YNmrYCC=kJb0$l6K^U8D$T3OWW+j5-dF&}s}VO4PU z^m}TjluiW)J&UG{e>RVrW)=2#cr`c$KHEA&7k^HmNYd#VvoNYS;>nqrx0S>2nJwnb z`-?AKiPUV4N;PMKLPbNsZM zzdZPCWZmITCDl9iczxH236cZ3oNDh44Zg!9KLqA{FU|&K3(`MDb6umV83nKyGA;2n z^r*CN^L*#E(kZ|+Qoe>+Ut^bHj=#8VSL2bqF)@8uf86Q`6psS)c3%~L_V6oDn{R35 zx#GuGX|o3P*Qf8Ko_O2rIW!56WbH|`w%f*xoOKURNi+!u!(SaJ4_VFgzh|>DccIR@ zN@XqCpcWkq-f_OGNqJ8CpNV?*3&N8y4tqmpfNL>{cS}?(3(5{Qm!a9fzJ1n%re=Mr zAy2xzf9ZAMyi_fNiAvdfc4t0Qw5?Dr);6e_;%j~bvO@_cv%(2@%rN12KH(K~oF_VU zM%z~EAxQ0za*-gtgOrwMsi_hR@5yG_DNdb%L!MU+I#HRkbLM?+W8=Z&`L_K$XOq)Q zd4?r9BAP_5P!JbeR{U+<&_yiB#0b`*4R31Uf6tz1BIIdpmHb|M)sBvEH)3#b6Wu+E zdbb9TNlN!(gSH_9Adk@a5+NwSe~rOL@2XYgZTDDokl+8)`REsA=}SaSapC*W zTF5?A($69uLjEMO@~#WA4)&J}f64Hd4FBKDki_iWAE)@%n|(br+gw7kcuz0edqW*I z^Oa~_8c`HQdI71Lu5v68xcH17Gq*XP8{C5L_i6{}n1lKb{b4&_PyjR`k11NXfAZD+ zKGV>d#!QKZqus{<702f#hoc9)YFU~4e;57WUx=>t2X9Vs&#dcg;Du-` z!J23+^8Uz>s)C-HM|m2AO|Eetj20Q%vz;N-?x{217b#YV7a5!imU^g=H>YnP-|#1$ zY@xaKHEUlK;9$ZVkwukuB~M--s%8M>u~ARoOn z2vGp>(Wwxdzn76l+^r(Jf4E`=+8xV_yZ<}%;yL~(KoWRIO5pD$QvWWwdN(lyyaGDB z4MGqYtN_)TP=Maj6T1IGH=xo3;Mw&gBo5~RVfH)#u^?z6W zC$_Asifs9XtwCDTJtWWZA{Ad?0Vl?z`d=~qP*%&Y((^$6iS#)Qd$${1lv;Sj@AsPo zX-U@DOJ_EA?7zSEP{MwUZkhT(r92G5Qzjsgw;*;$Yw{`kYK6d_o841)y0R@+YT$>1 z7H3g?=Y)i(P|vQ~e?-C(2nJd!|4?tTUW+ya>s3za$!-hyECY=PNU{9Y+Q55BA&4*? z{I+C169|zxX_aqu$V6U$t|SdkSNG4y#-9oAM9b}LNflLo8o=jf5BbJv2p$Q_)TeFPi2pM zi@4*2O!Elya_#5+t)9Wfwvo9Jfh0wS&!}mo2!}=nT1;<-eBHZUq7rqnDyzk`2hPzb zo3?zM@h(dCk;Meuy&%HopLdS=-!=c*|4Fv>SGWGZOZ9}juPAQ2S$L@~FP-5#g zhmlgte~8(l?W{mYM~7PUbLx{LO4e!QL|&@$$abw>*|Mxw7JckVyp7Ihkg8u+UCf0S z2(#M+CSI6c`)!_1@br5?hr2XEr{nC5!}oYKcr zCd_w%u@)Mg&?tGeNK%RO7MZ07%+DvXyGXFbe^sOwH$Ob@@7d$EXf2X$ci+rAD%Nq+ zzOWX0k=4OL=4^Tc-#>_I!3WHB!)GkBsi=3SvI}7Xan#)#&X&Al(4B-mM2{X zJZ`Xc<{otDFi&_?VVIIhmc5iI?g{r3Iwht0FFUQ?Cp1EvdfgG8)gaMlN!Q# zXZkIfyt0_`rVz2ZC6$&(n$wROoR>llfAm^NqP2N98-9J0!K*8?L&>w>+4KVn&?ErY zL3;BQAgC`N-A#bz<1aS=1W}G62`-=8ZM&C}G+acZ!;(Hx5R4q%TgyklD1gZM_%aCA zjU+{Ty-@TyjsOJV91b@@M>3G!)>0I}CmxCv(a+PYW7;$Jf44ONZjF>pV|Y=eIJ$Xf zat#5U!s5TK!B&^ab{U4gLP|1~pPysD+*O-wf!q|JsfzV`yBe}ic6AX2xRRr|Wl45{ zDS-lDgr8D)xr34VpxUT^ExHEUe|zRE5MErZK@T}^gTs+eQ;|dk0iZ)7ST7Qn19Zxg zbj*+T-^nPz>o$b%(J9)4ww)BUAs#?{p{tA9C_qE^EDAuAill%x&K~ULLFQI=QGl>v z2>fZ?9kfQ}nn3XT6)3<`HfWv&j+XopCmwpRN}K>B!p=={Bxe>db{?_vub z%;3$=+nmBjps>p~L)*-LR#vIOPYA>Re5=B528Z~B2yD<2&>#tcfOxR|tl|HLCc=NG zVw_QQ_z42ebOQgSgjQgM1gS1)ai?$4vj~2BUWK1{9j`qU)l* zF(dobZpQ)-+4@b>AJX6SxGBR|tAzp>zW}Y#{-|?ulMkA3v9+J{vkIht08l`$zrIU> zdP?|KE)@A@{zw1y+2lh3{_ni3?PUmmb$9 zu#S6rN|B-5*J?X0P*yd27TYWkCxY7IksY$%m^R+mUd1)1wK&#f&$qkM@O{}af3n7y zOZtP4??|%R?=$kF%knk6eFwy(tr9jhv?P*&7RL%Uoy^IS&;aDVK3>>mbrUK@J4~SVB%|!+)n>oPXouU*0Sn|JS3Y zUDD4L!DVXD(V0X~8rpLCL5OhaV*Z0?npYm+Fq4A^*}t>YDzkDkKpnC8X~l3o?fvemPBh z;e&RdUtA$`=&14za(@JJ`G%$l=wJ4~{0Bc*^d}QUHZ=T=V7-U@_icGyqdAfHSrS~n zU}`b+m|qk4;mSX5#(y~y8Ji`Mib|(+1?RTd2ZF2U}az)vyFxJ8fZ1`C0i0Ej`_=97*SZ9>qfNNynph=)`8-`nv)@ld+kx2fykh4jgwgi^$Z~AqNGuGIYsOhR3lf``uDMcoL zOWxD_1xkNfkMy5kNA$mPT+7c-EiR2)P@g20(VOhUh|=f&sxQC5FMh9PWmQQJ#@xHZ z9?pFSCtU+?`hSGh9e1~mLo@=xy(jTl^C|CX*#`=t33m;;EA+NcA|Tn%F+kIp;R99o z^K=CFh|K9_C5bh(>i-ZkYkc%n-7{{DS`fkKfshxx=FKWu&sWtn+YV21F1p9??fj{* z5K9+Q8-vbrZt-5_>}}WL7Q)3{Tvrnyc_@)wg(dZ~k$(~A3?-EZP9LrNI!r7HIYgZ9 z-XMv6IjP#E9c)_BuP>M4TD7VTKUy$Ala9uQlCWNReitrRZ-!z4YkdLpIr=OIB42e& zLT)+C6|7T5P&(q_9%HTZahW$$#L?thsbpiVvd{Zmdhl%g^_CvCbnQx*1vNL%r zh}7uD6@LPCk71GnvLJ6E3m)@w{B+kNw%rAorSRAOHXE~cf@I>pya86(TX+rniu|I5 z!DipXp#`4od%RUE$qRCVo-&EN{g(9Q=VSq?=OQ;^BB(n_&y6*8I$3;htNl=bkDr5x zqnxRHo^I`~r34jo{XW{`)Q((~oy=c{>q#hL>wm*zZgoYJ3BTo$t{^XXIpB1kFM(qK zIbNyGY37K1|eESKkYm3i%CN3*|_Xh_(9J!7>u(` zy=fJ?X@-fFbyr{f;Yr6wPs_cl{W|M)v}F;gR`Q>A65N9wG3`BU=<&|3h>T{826*Z{ zhJW66JbB^FAE`#*I>ksI;yxEN5~&jRY_(ao@k5-@ky_~EY+p5U+*APJQ|IAiFr>%dl{L<_!m2uJ@ zlCF6(IbJp|7v(7@Y)BLhUqUR|t&M`tyMMWASXauEihCpZlH4Y(Ti|Lc5s}ikCy9)E ze09OEI1xsp&KhLuC%4C&a?A@mE%QLSOTCTj~TK7<4QOd09##7c+ zF&*_iXg~=BZ>laM*K8kR}2t*CSi@+BW3xAT) z8IzvR^KOi%>WnqHfJtp5Ya+UDdqv8eLA0v)Qb9rTagK@`YNLf~GZc)=(MbrBRi#j5#&q+mVM5OYira45dc zMAWdq3lhbg)qp!hp*ed+p4ZT{T8kQ@>M%e z*ZG}DA;oCwPXt$XUOczI?cIxHDBbG~tTF!T8r4)~6Xc|4jsF;519@v)+cj6^>YKw; zO?}R!+h1=+RpS<{$Yd5Q^Gb)J1B*#QGS^MrQPJ@0Q!V+uBrRKKyMMk5L#5;tFM_6m zwU*vXQwGdSsl`w{j7SJDwt9`}qI2;jR&oy~phOX_F~d8=Cr>oZxm-TD&2D)*_ZC53e+YX>J69Gp9A zsETWAYPcTxK3n-#+WR(a!Cfe~^5ViTFCH@h_qD> z9H*6Rmb?T?Hh<|FCE+78xXm~iB^N6hC+Am|D5u5LwXm(xHEqE!5bH}|Ul7uV^K~>H zp1P>ArtMd0lkWPU8Oh-`vB0cnAIlw9I305N!}1FX%S zUgsbSZ}Gjd1u##&Y4r>qHW1B0eCiM(g;+ssaiUK^H6x?LS8oPzQyiyE@W((1;Go=C#Y7YZm` zs~7V8Dt~E?-^>}@0%Pp3ao#PBI1+heY-2fVl1MQ=M?~d9WzCN3kD4QT%X1fjk$(*XxakA zS#->*x{gWRNlO>#3t2C6Tv8gS`_1EDzo5sKbbkZBoLznx`JFiHzUcRpRoD1Mzohv* z2_5x5r#uO%K7-DY(oM;-bH=zv`cKV42W-7X%yjQhmBl4qSAQhAZDBxgw8?qPB6jBX z9vdyNc+^xU;T3DB$hL!9C$a76ao7Nsp9Ha877=~_3jIAU&)x??d;VMHFBigTHse+! z=6^*3oH{@56flh-I7w5p>O1k2Zh`IS-|{NGPi1MxOV+Iv@v#EX?*6*W;P(fXl~gOc zO5;M06CvJSiS<{ft1m{w%)a%eX7$$Gwqkgq+;v5dPSbzL>&rbpIQ+JCu`_pz+pS&9>^)C|O(vsmz1Is39Avoi#+ z@qnx-7PxIi#4Ns%EtVZ`E-sGu5Y`hW<;tY{0kWOufceXF~J!LpHNn zxM(ceE8a)8@1Xz}Hz);=gbe5)@2S{V5&y!hvAz^EV=wZApa73s(cZ|X9db$(j(>LI z=xCuZ6*9MPfP9iVAyMH$nGlNmZ&zB=pZjqpdu+*?A|D+dT77Yi*OXUODvOgn&X%Xv zuy4Vd$m(EkmT6$R5%uQYHwwW`G)W&92ccslLn$;}UxFe6rH>WSk<6NAKNRMM=Ir;B zx9?7gp(Wd8_iSPuJ|JW$Y)6=B4u5NYQ^RxrMje-W5w(cs=cK$g2wHSl`27RK2#x|E zeM70x6h0CieKODv&@_z=ZK>>qzjaKab#-5TGQ5ybvKc8lR8kc)Ja&aZpt)m=9xr5W zF>b81Tu#L7OSqlP&>eH~YHB>=kNa(5vh-2y*-8H%%vN8Lq<W}J z7r!VeidPh9!^(nz{+=MijAn5;*JzwN><33;5Xv?fq-oLyuXtKfG%hUT{uQ0h5Hd?g zYQUASjxV^IIWZ0^rcNy0-G5lb%3AS%NbO?_A*})0EwJ0%z8Nao&*2x4>6Iy6+#68^3H&5xME^qcWNUhtBgyEd-ZC z--1KQ)b0FgzOjh*o~=_|2|r>@ddwOaKL-td$#!RtBbLQ<863*qX@59txdD25xEK_y zzqg=>sSL84ramI6L;-LeT4xWr)*$fv@xRPm`U)-DoRK?%5XAB*K)afOR=VjC%XEk^ zs{@jFH59t`vJVA-DGQ(g49b7H`mCGlEZVx2=HICJxtGaDuczgPL_w2(`U%qbd9VBe zPZ)^Az1+JXTfF$0cz>EsVc^486?f)FW)aN2RFJ-=w12`oB?G&Z|`I#{XTlW@*f=hMeLr(0`C+VDWx>1WaiE4Fg*z zW$^W^xd*XS8OkGFIuIsD$vfY_Jn*lX;lPtE$ylxKww zbys1%Cr-TxCO#mNTVHE|bE46UwOP9^p3vuIb+}?}MbYif?2i)?#Ca4}brOaQvaRx_ zC_t0`G}^5Pnxox(6xwwRVQfKQm52uy(+()W^=@etAb$j{^BYM`py^Q%?DG%=-r~B7 z;M<5IQW`~~7K5PyOA3&dX_{sQqA zh`&Jm1>!Fde}VX~K%~vnSP&9>s*jX{$vI;ct?soB8`pkI9CQriTNL*FMEv=>p%5mJ z&t1(;qkq95ly0GPrPzwYmp0HYgPw?xV|V+C+K2DLr{-@(Q^$@-HcI}sTKM#2VfU0) zRO|BfZZxc?%ehrUdoGA@TDHqH*r_N$n*E60e=c8`S^{UMaKe{3hD63sB#ZX-T=ZA2 zUj=?2)yje!A8tZ!%YyvBmW2t$h)~eW4&ilvvwvjxwiM>p%QP6YXZNWT58q5FJ7E+N3?DdDTS-EhP)WjhMOu!PAO7zcT$8d8*sQz z6{T8P0>OAq zOQ$uKSsguwQ!Cpgm*T#Llz*xO zIr-AU($O31-=yjE*-Il1j4oQGwm#Q!sp7CFDhiTF8w_6ABt7oaY)U_UFQq0v71?@< zbCPIo^@ZAfPJ^FHFgY+%mN(9NyKzK0Bpx0Qo+%wL=iM17c3iLc_(8qpviHJw+p^V6E5Uh}WowJ+W= z1L~^4YE7>naU8G~sjuRWT3nR<{;aI26-{ca65eyMHE0sm~HM zYJ-T?+XA+%URHn86K5(9TIiv8+;6Tyr-8wmuKn$hOq7(kbi190uT8W#IU^%V^_41-T z3jO1fsM_+4^RGo+fxu>2?YWYi)_F|s50s0r@ZebTt z^Pkxk9^4B_s}Z=jCPe3_adp*hi&a=ChU(_}`SmO*3who}8>g>_P=5jaz%(oEfyH;J z9v=_YD`AOgD^28bF6Q*N2sw7huC=9967Ca8VQ(4jjU*3=ib2vEjVgT&aVP23qA3=v z8-|FKK2uv`^4WHMQ=?DDg;{NVh@MTa@~4lc)EA8&fJ^m3(;gQ5noy%&g|7z1G&T!!2Sb`+Zr@ z?WZ=9bO(~dHDacBY4^{bS1R&cy_K36p<*fhuo%|4Y@Ovn>cZw;-vuYGXJ{+ zIwlXlJ5d$wvw!)3eD$Cn3IhD+p;|L4!BtjU10kyY>>pJ0N;lfJjlnefdHL(w`C)O8 z_)Fy1M>|Ub=*^yIsY%*>|9%?SxyWRtvWJ~#Xt!|xh!v;elYrDVO|#rBtScdx$ZK6& zJx1_J(#aT;-$gnuvobJPvG0y|rXATSO2f^V(a1OXdVh(uExzeWkTgkgnrg&af3mT@ zM|EOUWSrLOvEB2a_i58;LFy16_P!MRU1b~V8WbQ$A4lJ9>EL^hh`JX^*$w8VIrc4g zgA_R()^Yj*vox>mjh!^*P6u!^?H$UE^?${ngl<@Gw(&s~ZFEDnH<9^k162ZQxw;A0=c{c7R(_-<18PPro z)w5ZJ3)P!6ikdMyjXM6aui46P<{HZ=RggRPK0D509ATSw%qie-t}W7hwO^rm+&Vs8 z9VzG7iY=y-_Of3MuPnrD;LD^%T+yg{9$187V1GI>e%B#kx^7jGF)t-AKResTn!YYZ zsG~-X(zA$++ek=Ih|U!Ss575f4dC6DlMHKRs#N6I?Ug*|HK$D0B~eqK3)h!RRG3)K z%okj8bsY-T5E7Eo?bx>INS&C)QyDxc&6yCbjI&L78#K#IjK8g;HM2921h5Z@;-V(UOxm5G^Xeue@Bu<^0u zvwZ=--qZb*Dq%ydjAh)Qlhy`}Gy2kz3%yCJ zYTk>~(XP=U&MhZa9a2aM!;n&oWrNyN7ACBQ9?b{@h=Y4*xK>qtFjlF5myMyS5={J- zKWqW(oj|nDdkLtnV;k*JPrnWdU_4Ocwc1H*#ao(|s-xeT7U!im-O|&OJ*YFldw-tc zx>Eaz!{%;Pyi*Z#fYdS!S|hTrAT$|PbC_*!q3trp2anN7WmsBgqj>X>CAa$^0R>1_?bQStG1Y`>63QeqX z?kh*i&JmPKASra_Q2+#79|f2j`LT?$p#LH5BNPBH4~7CDJvkvT@NX+|)!`5nK%5K; z=lih~ck@sQ=RKr})f0pQB;A-rQ2x4hGWv2;j$YqgB>pe2%v=y-ECFF1vwwsrz-r?O z3V>byW5ubljXw%-FzVr+<-+p#!Ipv4gp(HRnrvLo;(nV?#$Ldt(k;Ytw&H!@vG; zp+Efmyg&Y;KY#qo{eX`P{Tnwg5B~!`Zf-6fKJ@oIT>M-D0IvV`9sd_TP7aPQ?a{Zi zx3O{jugd+a-+vbF|Bz3hl7cioE+sDdzxc8;PgDQ^%p3sVO7gWU=znj7EDJ8nU^u8q zKL+IYP_Ls;u9`lQe*^#&hTlNE#6q86x0TUy000P@E)R@0n@l4Bpt4=|$)o44`r8+Q z5USBP={F##frRzMuZwI6l_%%!D?Lxv9fcDF!xF4rR!`)sZZlVk$qKJ4d~Q}?n~dCQ zR<7xAHj*o%XCh^Hi+?r-FW!s1$M7_zA|SpZYVNJ?9rgXXjGink-z(X;_W@W7Ufu=9 zUzElOda@3N=CiUF!;% zcRK=HmYn*6aeKhXl0ItMYm^XTyWI~uM#0wV>1=dG4rfYxW`Dqinx1lbmleIY?|XgS zoN?e&*D|XY%H3$Lj?7x?AfZV>d}}RO%J9PrbfIPvO0K)|m|Mpa-O18371o0W6f(A^ zy`|6irLQxh@75uK$@o?1^=Rv2V7PGpMDu7|D)6|sn{#Df=g0M5@h-t)YHm+WA?8mC z#&bvGm}a(slz%k6OJ$k$=n7;g%iQve*d^90Uy8Zr#(mRnuXa#yAzW>Z?nU&N3f+2(F2IbB|M5K|K=?+MUZ~aQ-I}xd zU;(QI@KW9luf^id!fs3TXYamX-bUBd^P{G(7;UPRZ-3?kO=p}FaS@A#qax?l98U&$ ze}ERf1P%CZ$pI~m=wX*sjjb-YI4;q93%O_m$L1d@vN6QGGVghN=T`;LZ#_xvZ)r&z zJ~~Q^KB`J9cYnauX(0~$TCHt{XUi3)HZxtyaX99y7UJLGgU5G_8X6kJs`)2}WO zmbksS4lQhndVHxFNwhrIIp2>)4-Y>eOXx+xYDcXRurbwm3Nc)& zk@+3^F0OBCW@^OFzEdsdzg1?G25lvMG9Y$%n}2oL906G9_P&cX5ZAskQSDCa*`8lU zdw|xCNB;Cv)AD`dA2x9Xt?KthrKL1ldSYJ5iW^&)oHK|~I!wRmn0CVO>|xl4Fjld> zZp*L?ze^RdT>_-z8bOR4m&Qv#1+&s0&b4NRdn|A7uWxMdm|!Ofj)ERQn*(oN0=P7| zmw!(b-mKLO80umWaGW1Y^3m#wbIoPUs^IjB?YEYK%cWF4i8B2V9vj_Kjo(K`ju!^@ z+rvM6Z}btV&UY1<3l|rSeKSh zkG}I`={@3ru>75dcFA3AQPJA{nY5h!opO|I>SD*Rk#Owl(fnoG;-f{HZ*;?bf|~0a zigdwD46rOSSob~eVAwUNsw$!Ew!L>1T`c7h+LUw!72c44{z&yn|Jb_TMMGuOCV&3+ z-9+(e5D$MeDR%CRFB+t|F}lyZ3tnKp87u6;7|XxY^`wRhw&m{r%6s_ZwLNsZ3s;@< zKX9{?y7rU{-OpqE(XAeEKk>@mFLvIOo5r}Jj=tnEZ}Cle9j3=6E=~ol{LN|HLprxE zUCj-21K-3DlQ*^3({N7|8stpzL~RFFo|?H^crVlRV%HFNvb8-B@M}x5*hHb* zepj!`-OEh0?9*WSm7J4%Xa#ALUYgPs@3?Lo$&p2$)Tr%gFJPHL?a=sx+9Hh91TEbo z>-xUg=qD!bcH6H^T|9bA`#(jW9y#)U!gpqYEx7NGrE#Z^N68oub5g$Q!GG_X5a%Cs zYzWWvR(Sjv@C(B3rLtG?l`WbpJ5M)yrY2xR3!c2Sao@YxPPyh}L~l=b8H!f4h#oD5#b>r_aOIs+F1NMSJakjB1F>m z<05Ww2)$ZL;WKOzvgl-3)qgDgQg}MksV6_rU@+w|qCH4JqQ(WbBw0RS+4kavxZ#0fT_6Mkt3F@scWM<8(WW3*T~IFRez4<-fa@CLL)vC z`q13FcF|6B*CR4zumkT>nJncBM@&a)4c4ma<%cA9kX!@?JqmQLp4R8__|fbgS=;ze6gQB#zI?I-(B|`c^aMT zk2nQ+_}%6{Fn?i++vP*-os~t-3&@qF`lJ{5Fr_JMlfyJa-lf{T6d?Ng39kYhVx$z^ zEg>%v1dhwJ^yS0Psyyc(22$iEV?-%kcJZ13Wu3iUb;k1HX_rNRX&lR<&5!6o5z5Dt z-+e~1pmY0l_&xU4S32>~=5)F@Rh%jgblgtOujt(ifPeeE5g0m`ZM80l z%dpegUm=x2fv;I$&Jo?+;#I3w_5%5RPJeuhuRFO&Xt>10?(YgG;N_=O^qflOu(RxL z>DgJh(SITaTj=h|XAS(|yz}6QlCOd5MNZf?x_+nTqzGHy{9EQ6n8#~%$29CZ@;8RO zBH}doi_^7Obov!3kbSRZGcUV?bKhh)Cr6T?Y0_0hfiyOUi^1mF1_vz_^4rD6fVSvZ zF^Uuu)BAKPfQ)Y5OxJAi3HDZ-mz+k~0!>~@oPVFD1zHazBfMW%c7nIQbV&Uwd*++Q zlqRaW2gv4lXH4(2JS4chtw0y(zJ!1NBp}uFJi~;vk7BX1R6^iISnIgQ8RJt`if@_b zDMjmi-Rk3_)dgDPmgqKnCEck$xN@>hV|JoD*rCo}o6hHEoce1E4t<$?2po4hI)l;{ z0)MejUY-v}jF&b9o-WM4+akhiwv&Q)xE8{!bN}K zaLzTUBEd4MxB>T6JE^$N*R@+_!|-st{!s(b>fM-JOWUcQ(N#&~2jDoZaa{Z{Wk`JI#fsNT{;LE~~ihcVp zM+w`h(pciH>%(?(H26K_59}-%(48UsvdJvU%F0F!105v&8^q4qkU0XSB19zHf^rrhm@q{NPy0Q52Dn3LEx$^e(d+B8$;;`95nz`l>jmTQlehIqjW9LN8 z7-1ri-FHpFzRFUs@>Bt4RJrPsQ_( znab{bB3xgcOVW>o(=|lb3MyD*s40`2HIr=r+R4e*&)H(ZMZ3*T6XcA)bM8}i~sgPBQ3G=IL1CMCD; zv!)8Aq8xKFvt)rrw}qBrIq-7u)JYfPe=yUCKhz`twnN>7d3O)b!2BL&{&z3T*?uBy zw(RaKH#vD#>|C`6-LEC(oA3i{o&^+)^*4Htsyn+`maCU4bqi1Q>;NOx6t>LP`Q(T1 zE6;{dE-UTb>?HrTi0fKq-hY&Qtwa9e^SgI|ORjrDj-VmeR zhyEt?s%Q1_uy_eW7vC_pYc%~*5ake;qnG@j#AvPyVdv@;961kuZGXqB*b~v7Acrw1 zTXDokcaxt;KEs^hw9bqh$v@364GUx$q8()%YfkI55YbK{b;>r79=>nrsUar!TvXJ8 z(l(HU_Y;9?LbItVi0SU#*Ow&qQPP{b;+&HSv?0GNolK&IdZ$5bx#I#E9ReL`iKhCe zPZFB2Hbv2V5E)O`UVp+hM~RPl0~2ZX)h^YJrDZ3WxVj)6Y8z3(^FnCZ#mzFD_r)T1 z2t7}kH2F7PB4&n0dIe`kQv7VKyixaR^MPmBmJSAT#s@ofGIsK}qw~I{-)-TOpX?7Z zFTS&XJ65$Yr^Ml-9#6T)s#z4v3ytFbL?DU8}79I zhi!uD9K6>lZGRJ9i=Lj-N#t>4q)@=VWSVbhH0xfQe%1jNzF&2QMAU#lW+R_}DhcxS6_hDFB~JxXF*-k$B6d!0*O%^9ARY+z@( zTyKXK_9N_znvmhWce#(%F-N>_tx~Ez-|O-{rkg(`2?El=^h#!sCyF6=#u;#INIu%p?Cd`VMo)0o#!_y|vR22S*EL#`K3@ zVkMd4+O1mn9lQkmt-y8gozlWAEjvBD+~=6N*nd+2{T2ICuSO$^qy~a^SO-I}w+hqm z#>AOq{YnhZ1Uq*Xesk$}v1qWX1{Rv;#5dLwG&K$61DJ2FX+7eA)<*Qmcd<=y5S#=@ zjph^JF)UkbsQEmh3~VAa#i&gb_lL0TtAh);KxCrhN{^ z4(6H*_r-`8M)NKcxd#-s4}T?Ed0&dgaetx1kN>7zkhUlJ)FjzCI+nS&7vf}%iIfC> zmRXf%GSz3(MWI792f3UHC+?-HM^`Y#5qoAwQYnsK`(&Qc*a;9-hkf89QkB-8@-mM5 z{<;&*!Bqy?e)M5J7lU`vc~8vh>7V}yLf6>)qK{{(&st;$&48ZkBg^@TbJHva~p3?y1eUdDc;D&L@L*LZzcTxxpT5H7{Gyws>&}KbqO} zp<0il#$&=COQ#EvlxF)uhr6fAl7AyA($EaDB3*5#E?S+x%7)}O&KOc}Eim{gEZ@4x z_|~F|ZHrX!QNLJQFb4rs_-EDD+!6ecSC}hix`SzGZd;lj*rBdD_`ZHhqX3Pt)sR)p z|5rlG^>)TlsOYR=IR_-lLSP+bzPpjACEp>}kUXoFV=+e%WBJwLL2%BlK7Wg=y6I^2 zQD}+t*k^5_`!DLxXRG=}s&ehyWS*?B@Tk8RU(G$FqHyVW*TDy7RLdtberP=0MZEag z;PV=o6q6sUy&Qc>(mrIGUt^6w`Hk@jf649}k1jQHnGNm9!Q8H8@$xa8NSiAP6TZO^ zL*~CpQ!$;KXipd4w;Z;<7YB@84P+K9J6~!?nkCf z7zgLw{}_i2N;wm{ejVd7B*%G1A{_s0Rh{V5cAG0R}mpZ=Ef(}dh2OhuGAo?^M z%2vZ)#cTpF^+gJI<{syYCSobKsv4!VTk=E|w21zgZj!ycpVZQ84oCjz?k0n~bu!u_ zcWCbEbQl*3a;`iMcz=-Eo)KUgXgJxTyzyfO<_X%~=)XSHd|Ab%k@+ozAI^$bfv3<* zB!}48g}>TracF{TOfz*iS={r2Bg{s>r&KATZ*%Q(W~xw0;jr z0L2HDU1*47V}G$kY+GOoe^LS`Ue?1&atw0J%yB3M?;r`QiPc(LoCP(>**ou7h0qV? z?gr&na#MRg`L{3P72Upg+A_+oMfh2YOk6GlteSi0LK!(I&k6dT)_MD&Nvbp6s>fA==3 z*0QJu?|<_!(T@hRoq;`(<0%ogJDDxHr;%cZ(EdRro(ZS4!nPtq zVm{r|Gk7Pw)&(0Hkmg6&tW3drFn{J{<2>y3qknf}H&Z}@cS`Wug;pypInZ5L3~X&~ ziulSIp-n7q50?uP6H>`W_dOUkx!Sd@^r*-;z&V2W`H>*arH!hF24nOy?ORmt*{lGF zETaKWG`u_TdHspq2x2g=aG5{gqq%e$auIYdBOz(wUDe%r;9XV+Jz#m-=3 zM}I0g5d^|vGdCU#%7eFq`I+`MokKF}qt{e+6DGf4W zTScI05Mb_wVBmd~K*%I8@Ru;)&&D$_?bo67|E-(ws&NJKZ@_QO$bcy<7wCr_XdaXQ z;^3Ywp~P?rhsgT8hsbK6025Uhp@%s8@_)LBANecH(Jm~ESpO<243`hU@9*6H-V8y` z90DQbRVo7QB^j3RYQ*0Um%g1?VA)9?BX~7SV&3vGB}5xBcFO zYz`mv!I~gmHBa>r+k)&$`12vg2qqogdj+q*jsfu1zb*~_wUqv5`=Klti=+{z>VF7k zy_k5b9>l~xyU_@faQrqzp{bU9YbjrcI57C>z6-~vL;~`B1tkfxONb`mFrvR}F-J_M zQwfs%EpWhlGlX6fJJbp#Ytlvv5K8)1sC&0UsepL{-pd?$03+5TE}6I;u|6Mk`%QE* za{W?8ir7|#xJ0u@3J^#I%qkk`-+w8l^&X@v&ENQJI{^H$X{pp_U<{LYyv zLQkAI4P3(5Mh#N>rXa3_d*8A**^<#$H)at=H9!W?$Ahxu5tD<2z)he?Szf zNzb_&wOtQ#^@ZiD7Jp&Q)liNrEZj=(D~%j?pQ#%pu)KCDy4VU;wL&MeU(ZMxSn<92 z>*wpvq!qVcTBbhhhu4|;s()@5eFbnObn0e4z|=yRSy-mXiPd#x20w2$_d zW)jSh0%Xd@dm>S=Z84y`vz>o9;-DLPjUUW5zgo|FuG#6ya;`b6-c0*nxuXc69i3RaucRE`of-*J1y7H6 zF2akj`(eHvKTxme)HKga)i}rD#+US2k=IqCJQJekLNby<&idorQbKEgqmZSbBx&c6>hCQ-+C(rW+j<{Oxpjd zkII#YBDPfBMm~<01(^dV6T2`5t85`;$E-RJ3PyQl%Tk)Smq3{VAq^J)cA?khxk0*e z8+sgJ_7zQ=@XW0*T3?%;8+?__rCgGtnE!UIa1V+IjK6LyHwM@KT3WPqifj54Xx|R z0!@g4i=4HLpWnyh{rOD;?DQ$;%{Z)(LN?+^fS8?5^e!$jdoDTBy8S@dk>i10+Q57i zPsHfze~LGBdir0h%+}*yIXdW~Tvb#Tzq)LueD~zD-Awyw3S7bn;om3)hWkUbPVTqy z2tO=hu-0rI)c-O>SdwHOic471;#{gViC+vYVxGTDl%)YOh4pmg6!1ZB2FRHK@2PY< zITG4RcRO+H*L^xqBI+tFN|H!=J{15Wkr9xWfArh!gINJ#hbr-Ierj5~77r+Peq#n! zp{G$>u>5Tu9<(=~iK!M+tmRELt~ihPS?6Q!6K<%2FcLNhAzH1TOex3EN4ig5D0*4F zeMJ6(KtFu?B^PTth)Y%+h;u^#(ih$@Ffw%+w4J$gb;PxmewKAf%rRB@#v2_ol7WJl zf4zzOUkxHOtf#*V*Od7DBvQvss5I*MDW-=np`sk88c+I&%=B??*lOzB)`9BaKoDg8e?y*fW;8^ImuJM)F)hP6t?tAPb~X^G%BofE zRK4Q%ZXEsK*gvIg%M+f>6~<%ZIe7Kfq@j?i16L_~x>bd)FX9|UiU+*RGbinT8%*#= zKHePuG~&P%Pjc4#S;fAr+CGMBciv2JlAMuII}Xf2mvR zq}oJ@6NHHbM3VTtl7{$vk^~<)o$)_5c-il|tY}XR5Va=WT$#_*jNlhIzEq}r8?WRj zru}eeO^G`H(Rkmao0~Aha&RB)rO~YfvS9eD5~B~L9GRaWT15RYzW(ai7x+`hKh4br zsxBAGl7$WO4MICgX`is=U$A`bW zBi2do_34d>TS#zWjPFQy%?*$YV!I8(jWBOEjL|6Qiry?KW|dg)^NiIuDZxtCR@61$ zqy5oPV!b`G7Fwr{sw)PCzD0Z`C}-|`5gjJYeBd%Mt69f&t5Z?8!kx?6e-AmYzp!Q+ zYAX!A9Hc1}XyKH>EPQSH+*GQxd(xOTGEU+iZR~R-d0^m$X6r$D2z-FSt$yuOHnG#p z-NgUC_1A%XPkH38w&90FhMwY2zDMJ|G&X3@lJ?*tkYB?3Tz{l<6NVgHcVwj27O^_M zV~0kvp>}`X#~hitoY!Vnf0d-iGN3KETVN8%I2b}|Gbm3Oo zeq;|klCAYoF6p=TUnM@QdGy=*Tau553%MHaZXybPtFLP1b+bnD3vJFkMU~>$)d4DW zg*axu4UI6=T#Q?G!wr2Grw@$7fYpx_k_A!?CjExSe!4|Vu+Y)%f1@au-S3Ly$tQV% zQ<);hb04e&2Be)?Y}+-cC9O7~eBxf}I_c-|}*RD?U4J zUZNqn3G1h#iFGo`C&2QWgHuV@w(1`3?GsS`i}^T!@#70VPNl4#VT5wJiEKsj6Wflm zV~%!fpazK(_)9!2qrmAOWzz0QOl4!jfvRVy8xmfc?jpIG+O~0c4k5 zp932j7*LXM>cSf;U=Z|RUMJ`)O@PT&>2u6}NV=Djp95_Hk(QtXIsuNCJD>v|0aBM* zpaW$Bk~5dVpaVY-JA?a&R7+cMaMySNNpK>U51|7o4Ft}%Ar}!fcNh4glU$cYp#v}z zsiAJyruc}^b#JqT8``(ECY-vLh@k^BB~0>Z$Xjsl;OYRK%!TLD=Yho$A7uK1btg!v$C zCg0@L>|c}T*)zIs`R<)LuO*W1muaE{9|2UCiJ}7>BL0SdP-*`y?yO?b-a%I(X!}RJ z{D~~lP)Ao5lqSw?>oVDw$D#u(f6B)mPxia&=@$>BFtA0y*iI9;FTObF_8$VkL79az z^GWL+=>^eeos5fsNBJlO8ll9H6zwsWW8Vn}-T8a@C=)k%X;x@)8A-({6fJ1Li%1-! zL|glTom%T;V6J@Z5p1|TJXH}mSI^exDIUH*8!sSA{)wx=i1thM&dyqWmvN&5D*?Qh zoudO9BFgXRyDf9)xf}ab{H73~$0~M$;H%Z@lX~x6s{lR10KG()*`ot55mTjLAcdgQ zTNY&bjI`q3c5Ig!qyroQ_?I@M11W#_{Peyo@Wc~Sy0OXORMr7NZGKV4_aK)CqMvo; zjR&6EKllX9A;9PxUjA+!zZ)hxjPdCJhPwCHZSCPLP@nn&>Z0_!b@a>Uzn?^c<8|6? zj{xic^uT-Y2W&-kzLJ(;h^(ji~JjK^X44uyy2GO@YDS{9$=(?59X0oa@V{12o?WW@iL&#EIA!u;`#)7 zEy#XUh>+=^cl)C(q|?d6ZvZiQC8PIzTsna{y416p#+79fy22eg`)-2YU} z|8~V%e;P=6Q1=4az^_g0_h)&7xo1DF*v#?{|FAMpV3VyJh3y?Sod4)z`@Ghtg0q4L zC*ExkIvTD#t^;}r;<>eoy*o(BPB~{aKZd>;4aD~Lqp_Rgqwo~hC>|UGBqQna2BuC; z#}e@u(<~+TApH1wb%Y*bUz*=FOK;*IlFqfje*jNFu)ipC?b1}Iz4i?SUmRz%CAWxe zoWbVWc2$|B1pTVT43{#7vx}QQsG-POQ;Ejk zl(N>786vAUga?Kety>bXIQ^o~2uVmtNJ*8hiYSmGHpPS33avVsNz|R?(1K%L4W{6w zs)xtE8t1U!d>3C(L;E%=N0_LsIn2`KRW1L^m47En-&n_##&YOiQZtM!b{Y;ye{cNy zie`bsHNoM`Q2WE)r_VCqj9<7r$WK454k@Ggz?NWDJcj>#rHftGNIg;#Fx)|3G>p;s z3%3#7r19@r(yrm7g{qR(#YxxWa+Un7+o7W^s;%)CR3cL&a^Cs&x=$XQNF+9SMpMmH zw0~|_87VB*4Er^Ef_rtlJ#!l{6p`hWgQ&WYP1n^*hAD#5t|Auy?a)(u-JWxjk_)Q$ zRmC;e<3=NKjDcQTofgeN3lCuzR8DOyu|R_@sTWid^GpWu8jihNeDKE5U z6F+c({HM}Jy>#?x=c(OH$k9j{@YYO4)_}y+y&DVogZ7>789+8l&UK3??8ur?Sn5&lEO-%(*TljuE zEXi)%cgi7jVZJ^{+r!ACnr(i-bLy~C;6&oiJ6*qR3(ToX4}}C-)sa|dwj&N%o`18P zx|8G8PX+mKfni+01QqD=cxSU5bemag;JDw}=6gJaH*65wp?Bx&x6dsAx$;QQE0~IL zY8K*N{spL*tWqh&V+7xOI}|s#I857In09hIbe4zjLlS|Y`;Pk@ev{Hisp%?STlXg) z2`a`_x)Z4YBVK>u2>EG-ZJg(*`+rp$DW*-!`No(hPR)*nVkV%T4IX{xNrgS$L(L~O z@Y_BNN8+L|uJ9R(qp7-CV#lkBF+}t{d?7#YJ|Nt!(4_8=70FiC(3C^>MyfFQ73QY_ zax$7x6%qh9qEV@%)CwHJ=A?Hw~HBMR6fA+(+8j&@;0!GC!{Q>hH! zMe@<)T^oeMjL+tS6UPzVn$2;ArQTv~z_`dNWu1PO2cGVUn>19Z8jei=deo(0vOss} z-=1<@m0nF|b>11+nsw;kJzvl1;_0zhk!*@Up*t+Dh94S~8kSpipU&sP`3B8Jx8=K! zBZ+&^80V+xvaHaZJ)j6x8-FY*K0So1l4D(Y5-n0ie)3>z5x_>iS;(YcP+d=slwCtM z>+esg8npqV$EZ4}!ktNfukDT^;5Uc{o)&#_&spzA$C2c`Cg1A0`c5y5eId(Em&go} zzn5%`xOc~mHSZ}ah8n@lpM}FdVj^1$N#fn_?9jIpR4Wj-nGBINIBrVv?=M>A6Ae1R$%z-!Ry#^E4CkIkiaT?i@qR!nbGahZEktA=kr+#tnk27(6a_Apxm&&UHRuZh=ZPr`J z*jKS3;Q=}2fORK!molsaPA;n1jnNx>nQzj8Rdc>63l4C|OThlU49ZW)PG0ey!9zp$ zY_{2{=V`T8nPGL}m#(Y>JOQAW>#PGhe-ocdTjCOYDYo1*6Srq^%GZIfevEOcAbUv6 z4#XUJB~!ptzLnOnDLkp?te>pZzdG6kjKaAvw;yokBjQp)>)cI0!1ZuGy2a||Elh-Q zK=tb4{Fj;U<2^-hWUU{5W<^=i>8poWwk-~^MkEG&8Q3&`l!(3;`z@5@wLu*>e-!&& z!aYi*(KqsR;JCNslUeeX^kGA=7E@N8=5vK543{=JFLp67K%VDOXCPXu^+Da%+KPsC zlEBP93cH|k(2XDU93lQ*%<{adI7q;wd%YqHv=Nbyk561ec!I~}*`13OT`Ig>j*_%& zZck3N;KE}dt>&H6Yt*v3g8&(%e;>!NF1*DfE{Qj7stYg`3u>_nEz`iQE(cN1JGz}~ zo8Wcz&6q|S1-q&5NyZH=CSn!C#sA3T4VeTmWI(rO4Zp3$6X{8(cDl{k7vI-x9B&a- z8fjADBffBaT(-={Mp zn=pUYo&J?;s^w@~J0CxdK*%Od;@$jWhVU|k`ce*yH7-dBVHQt_^nhvC!v#DvOtt#t zfyI#d6#>8-P%!~#2%=-;g8n;hwr2bfmh|Mm0l+)9y2ywHI0qbvj7aQ`xlZ)SpBjqL z<|4O~?qFz;4Er(lt?%ojf70U`%%8t_pjn`F5Rhi^IUHk zWaMsKM3x}YB7WO`V?1bLaF|B|2*lQPoJW9KS&;@vu(wukecok;%_!(LE`Dz;UA#fk z6d?=yBSJVv)qk)Aq_pKSh0H~OTe|38RAv{MC83Bf(c^ig9D${4E#wuEn(*i_GKf~2ZV34?G*13Mu zo<_Tr_L>tUYg$jD6Vzqoi@wrQB`tJeEQm&T*W~B6sL{d`y6%JV8Ar8#cgy*&v5Gf1 z4X{Ln0#>mXySG#yB#*S@*Y0oT$^#qA`+JLVJfOJa#;c3)NHzMgX@U*IH*qFD69q&o( zgwKV(4Vq)_f6EEvStWtFE||$OHTk#sPwENx;(t~fmp(r5DqCbgPbtg!w*J8=Hk0wu zyKapHfWqdoN1Kr#aIy5z|)Y@ z{-#`F+%b761a#syI|U02l(P0uex3y)DzLauX=uVFe=J;ht}S|-VmaTEcWM6rhvpLh zH#QHXwYy3qC)oAf>=;e#vRnJVVsQragm0hI!64j#^?2X3T=zY_U1l+l0TNb^o!JRj zhwphP$F~asY3VK;vsyZYCCIWTzbN9rP^S-SDhH~CzH93~ltngE1PR0I#pwI;TLiiH zAn%hkf39F9R_YhSfnX$H1QLK-Q&x>><^QZNV4Mmz2!o^Lj1Kf!{Y+4iAdk(B%Lkqg z0NH%C|1Eu%G+1Y<9T;IQ%k6(Wd9n)m$pIBJ$GBAzDk_rO-TgoK`9%rj^2*mnw_3Px zd-b!B_rh#0t80zW0n=V;y~FYF;+O9`fw5})e{)R~;lExCdeX6C%IcHg$Y%{*ZEXP= zb!2Kd&{QtZpQgebd+!gCkrA@T#XBp$6iB+*?}_j@=;N~$XW7TtB-&AEO-XNe*|XVl zA23H0*E-`3v)ZI?khpJ-wxCTT6Gqg#z|1*P*@EK?5W7=AQh&GMg%1CKL7f$0Hg!CN ze|C?G{jFoegW7^x%kMnfCf-q_}rB{>bAoJ2{W9$n_OV{@on{FFQgC z>@UnCbbvC~F_12a69j6a&76JZ+JafGSH0NraVx0S>V@$ThadKT7n3f3AwXb~zVMwPpyVyaAiy#=jN#0XR;)tXHJ~ z%+X@?bOrP}*#C`u6|HrAzapx}PR9YCZBuCQJWJR+{ZaPmO8!9uNf%G?Z+hQ{#V2?1;gzlDOr=kFiM)?|xjP?}{^}=cz?Zs9}0pCeNZ{wv>H!c*POhRhXu{uy(3CHG)Xw1-GKv=KWouyWpNI}xS2HoX6rAgV~D6~3Py!X??4{Ivr~0lt?; zwgWX4z2E2tK@~DT(s<0a3wg`?(~%}F2A7bw0~9CJ_YVQ2{z{32sz*GW&`&f<51lD9 zh7&5Hpv=ynEtuMzt=_kf$BdWDwgVj;RD||@4*f^gNa#zsZR!Uxd$a26oR$Xp6wAt# zmjt&1R{@HbT(<)(e>5W9u(4^2mCVcIs9PKFg?W2jt~+BpUat;Wvk1305V>~Kh#r5S z{&n{9x!aU|`Qw}Ir!(%=8w7OcgFqL^eJ+;rs5ni%bV_(5!$)KpaQH9OBP;M7CzqX% z6eA6jmw3bqX6cl=-s=kp8bZ-#QSw?P_3E*%HVz3ITE!kae{o-h8TfM{$K~P5R10U; z#V-mKEjlR?42(Jn-|;x%ey6H{oM-dXWwAr@%{p&@U+@umXR4|>1XXx+uI!}N+gd|a zJT>WV7jpi>BqWLG@u6tmv3pN>U-OhzvgBRgHx?h8^|<%B%9ahlNU<#U;z#(B z(d1$#5-aUwR+o%%6J@G%#k!v2YMj}X;g84F1(Dis_7i@ow|X}DNkf97dQ)rcr(GFd zB0XPWZ)c2Vzlyb6dUbpfBX`~8{!knVBT0SMc_ZjOf5m)nU=vMep&>O-XQ37~%UkOd zl3aCb#&f%DMAd^l;-)J?(l-mXEW$63hfvj8O>4%f!74*UuSLLxOi~`sb zO?eYXHq-SIVA?0RcP$WGzM*&y`TAv@O87C zAe)8Re_HNa{$*-JV-=MP?G9rp-+scU6|3(JD0UA1gt=cHMf(TfEPFx{h>3P(C?aAQ z_%zd9--YgOa<%(4!Lk`AALfa%F4ZrgSIdSvu`YIMI22;?p9-T`^o@;ID6Zvx;gade z)h38bDGcgFqNv*aVVIybn+9B6zf3uedI^4Ne_m$91I5<7Ja^2O-ohB2fO}n45cr*j z*pXDhEp{pn(svk)%uNu}orMY4zo2r!BMPQpCY^qY_{tJuoE9=EE}@S(%BX#dI(m4l z)-G306XP;Xo|vgxq#aK$+_N>#EL^slXEB02jVd+^(K4!J#NRD3yI0z6E}9t^S|@ z({f{>4cl?s<`E4%TbLDoBo5wJr(gUSf4x;>tj9WzmMv>;h`7ljDrpnxSD2|ij?POu z9FWqe=`cT+PDmuSJ+nI~?@8-qd2xZknUlIc!F%5f@rz|#oRWlw8Es61O9uCwII272 zVy_h{&FNW4Wgz^Ez4^#-|G{w4hCl!nveue;5CO|ySJ^?p*cxH}`;E?}72jQ6f31#e z98?cpCQrE+>oRVuprFjwd<-?H$vj%dKW+++uP7YaA0=lVgr6o`nP6imPZv^Ea6xT^ zm(KeL1S5W#PMnjBIM?wDggi_lyDD-5lboa5qPKwLYR3^4levb8LLo)zUuRte_=M#-ey&+4eAAVtZ;b?i9Y{EQdauUoVl@}hT(-b zfX}$DQAeX)NEc3;k4SY6w!?Hq_!P3D1!6TBPFQrU{lk^m$~l*^@Dg>bB{JuP)7fXO z32h$>5`Kwd8vntLK1M&6hE_cc*|g~SQKvoeN**uy25FzleMM#nKR^F8e@vH-cS%cw zh2}{t8@w_TmQ&THge8Qv&Ac1GT3(-ihIfb5d)=qa=GA-@Kj`v=O40)p{0ki{l1@~@ z@fUMhHnpB*0HZVu=4cn398%z|o7*rRRjoxueL}=rL3yA(su`8!E*BKueYK=$;;b9O z09KiBiy3`ZGuqiEPpTk6e+L-CXa!+I{z=RL86Ljz7Dknd=htaD-n__|++@(speKY# z>GhEni61w#EpaU~YJFP9zL)ndwtK_e`3SheWeI4Q9Z`V z`wTDp783?rVJ2_2^gsB1V*1A5L|EQ|9U+|giT<0#4q{0Y+z30e^1R3`yMVm4ZmnX2 zA2q@Rn*(&XW`pVrM=;c|&Z*d;x*sXR276(lorSC!7CbxDM&_o7l&)@i?zg~%#xn2) ziXA9fYoy=nla6L5m;1c~3IbF8mj}KBG=GT(L+$mMG8aX;m5O^3FGPqtt$Ae9(rN{; zt79w&b-2jTS0{+&*kt^e3GCE~^bw>$&TG{D>Q1NCHI{YzkNq!Jb(1FiH9H?Zouzfk zZ9a7%*L_hPOcrn@uCFQTe|6Ukp}F@l5G`BSwCu4Gs*=VhzzZrx6qxudj1C5+cz^92 zx)TA6WLlA|Jm>1*NVf>}$6VC$6PODWhI67-~LO{;WY#lI^6OMbQ`f8o=%E zAKbBy&IbH&kf$anp8^#ZZnSCVwu`l+TU*#0gb5C72ev(B5P;y})QCz%9$H@Pt&q zU>4$GgYWyU!*~sE(xw&HrK-2gC?*=5(-bW?VnHOjV=8X3c*dBRRXUzu%?KUWfGIOV zP=r@i`B(HZvQ|n0h@a+_XEX8mD`*03Y$xtbY>9e%)Q5(U{T5q7X1Nw(T=eqJ$7-VZ}XMSo9h zyAvCoxv%L_I`++akA>vw3rl^EHIIG-Xa~)D*_Q{f0(DcP&O-bPjDNgI3^IoE`sbOF zkjsS;w*r3^c%&c5nLLS&nY(PVT+E({udJ8!m?*IWcC*`;V^B@xPm2uu$urqEx#{0M zA!lUH1)zp0`w@-y=a#5P4X|LbR;w$&$Z;Z!rM`TsFD?so*w6hR(JvOk&9QGBWeYLY z@RREf3nWaKgq0l{VSgu6A0+4^e4odzFzzY;Mg@oCCc=o<-@4@U_JCM z)W(rtTdDwSg&kLQV(=Htcb!2wJpqUz8e?{4o^2Yy05)?YahHs*x28X_un0=qdze1| z{MJx`sq&cD6JEab)9qZuca=a7F|PU%5=J6sJEWF%w14~j0KUq9_3LMDI!G{9GgmTi zJt@yp-?W?lCC3vp@{f#oa!T+5FLLV`5{v~z6fs=%^Fq{EY#fcfpW|r4(2WyXPLxe zqj|Z0?V(E$E)FoPZ@o^_0I34pFMYDW-#9Mm$mT?{8Z|+@jg~Ep&s81sxP5b&Etu|l zSnG{-z!BAJh}Njox_1DplCVu~G>GEbMJX=nt$%4|S7BAOISs=Ne(`#e8dbAuO3a&l zfq zw7WnIh?7|Hc2{Fp*7$tzmPwe~im=3Sk}sR2sI(%EKGR0Q*)7mla&JIqAIXkucHYK(OrMF)T^{As)7 z!XBDI3SuW>PSLM@>L$6t!`O@;E-)gl^q+!f$F$=O^rP!?D|Qob2qDt$+CN{x-{k&DRbHTE&#KiSb%w^?hOSXI{C; zlhFg!!tYm)(D{kKQ#(uPoAuNF8)apn7rlXdf93`%Z;wX7>OlgmVff| z@5R7Os^KNNQ!oG{wVqd_a)?_V9Fo`~W`f&23RFd_1MF_~a*-mwPjS62twrqBFCY4T z+)BV3gyTu{Exy_{t5*BxS#}xJU}J7p{*uI7%Ic2eZHUN_k72}TF1}zIbc+54|P{H^Y#w9vW&5N`d zUJm!9zn|B$!-j+@=}6p$b_8bC7we(#-Ti#${^Fm)9d!ZnTcTtAdcsY9$@nnFINks2 zBmiC0=h7}oXDfZ$*~@fnsCz@5avKCF09>KiSAvzCkj6J%r}~o+av*|E7VA+Q{HI zjI1&+WuhW-OYg_nybph8w~Xm;O3OdrTezOY(#BF>l~w8m$=sZU34h$lg_bEBhc*}h z7?|>H5H6x5;4|0>i$uV>Vl>%34Z(_B;CjWZXx<|L1xztU3!_3c%G<=?o-^m!$B<2X zcQv?n`~nS z&Rb=YH=6$Qb^6+LNI+bbs&#DYa++u@kbfxIo4mEHOC>Jhso*F@h} z593<$b2Hk98b93IpawLP(W_J)yGC7MXAuWvqT@ui!FEi2(lYT$DyDALc%Iji_bQZb z@uVuv&lCUK+r~NOMGcbOh|7NvD@DlWw=qum>3GMBY)b+Cr+=5yf)zECw%@%l)kW_j8e)rffKa#UC0Qp=~8?Zb+l;HKozFQzaqTw$~<08yCi@A@pt5Q?&-Fk@C#PBwEV_2rIRIW zo5`0k@79ht`@dNEPYMYVN|RxXYSuWh)4%Pnsk2H??l&UzsO|G`jNCtO?*1 zL;|Uq_Z={+qP5XQ`<*8Ga|GqfaEwzP!V*S4d22m3cNKYpkwsJf)7)+!juKyS z{y8Mj#PxMJ=BTTt?w4#_NI`O+Hc`njD$9&ax5tCZQuMcW7*#G6dV!A&Zv_Lm%~7;* zHIE(zgCY~S{xQa=3^j|owFCu^5~@GwqzUF}g?}nh{?OV-tjHH6h?}hL)-oZUahRB< zJ@AJ(+>D0YSo2tuCmNf^H4!P3X{%hlpYG*f*g2Z+5z7-^1k?|`5nj4eANqOUeS|cP zh25R7kTC@Q9-IkC!b4eOj;b$v#=@vZk(&TIQ5lrVv+h5p6#q0%R3cN&vnAq-VV-*q z$A1*#nkBl?Y|LT+?ALZ}E8V>Y>uj3{d2XNit|elDiKa$*!Z<${e#*(iJ=^Kl`9)sM z^KtVs;jS$^U3)<~D4qqNn2Ciz>X;59LB?=JYAZP4Gj9lYD~O8yEejJ0>u6&9%-z*O zdvED2Ny!C%!&Aq*K&qK9#-wXKES9e=Z$U-`cH-B4Ap!g+0e)hj$TwGREa2yOMr7mg zXevsM*+wxZ^S;T40&nfys}%n*{4`L5i?v$f02Wq##yR}QUR`{bW6J|h4krKJ7^M7P z`tz<4!ZZPwzsmy|5$bJ!J|WM6eBhBsZ-hmxY4!!# zEbVKK5=qn~MrQ34Wznkg(ox@bdG~X|moUr&9eQsVKZJR%rAWdrtK04seSx?#=Aj}Bdq7sc9w7Ye&z@--Pr8I&JT7CHHxaV2 zT#3a)UD0EvwBOs9Y!K#Xs}IQC)K7^m*_Yxutv65#JT>6lHA3q{WWpG9a6IA28nsyO3Pgx!4^)!LHZ- zT=b*H)JEfA#%;^8Ve4&ziq1-Mk)8qBBwU!W$Mmm)!568uwO3*f%oSbv#z zud(NkceYBaPyam&&fsZ$Rj~k2{)Jyui4W_sdxN_m6Kg)BMy1BOpXG?I`)QT30xBiX z()>~I`@KvDUN$z*f;b51_l|cAAG81#5VHIVK$uGe%vsdanCqiGnPFp7g4VS~1CTx{ zi1xCpK1>KNcSk=$|5Go|t>ln{41fRF7^gK2!jI&apq0jaYJQVtaz@B1+gM943(7=E zbUg2zw_V7)27*L|2unsyz?q>V-TO)(M(s8@>R9I)AP)E~TOWdA(^z_i9VR(~Oz?~nz1 z(%PpdGLCFpU@YQJK6jPt#R@6{`JOmAZdxIgNLS zL)u&sBx|+E-*d>6hM9nW(I`Bv2zsF44n@$h-Umy90Y&sn_r96LPz%Ri8h({XbPi25ASW;6gbe%j=`6SupbXRJ)OX8szvBZ;ToVv7$ z2am=@&S&fU&K%&2FMT3x8*yjYP>vQa`K( zIwB5M1v}Nyl9EdtC_3M##JnT;VrF9LGDE0)~4JrY%s*sZN}pe(|?s@i=ePyz#U{YNjTXe zu4*m6P+j#NT5UO1Wo0$k+S$4>3-_Q>Ic=23qBz?no|fiyofLMx4$#7E{%B^&UGe~X zPH|3s9V8}(Auu^sfot;oLBC7yn_5EK{;d!~7bRkL0qA7FDZB#vi;4f&FEZk6G&`@B zBt~dP{FXbX34iJc;ta_4G{!f@CtJ`~dHPo7;6g?W*DXv7>QyW>B+iA?veKc{n4^y5 zC6*(jWk;q6Q#aET({V}ama;Gvw$gP@autw#jx5=+lYk*H(l07R7)j zd|Qu_XHt&sM4)DfrQ#4vX%^zg);Gv90G=iBB8a8ueauOh_90lIJhLM~(!EJ|OO&OU zSl8*~db?JPYV%{{aJf5Sr6Pm)!U?q&TOyPd$bWhS<{zENb2jfzpStlISbln-fT8iR zIG@U$8~Qj<8k7y#$_J;NV3P!adO|e zkD6F&=xf%+{lpjxYYQ{*NWI0_JMR$a(tFVjjVH+}x#olS2I=jRQ(ADdcB z@_&Wy4u^t7Jx-}J=41+(CQ{Vaw+H8mt?ePWW&+4O?H)3Qe*U@0*Qq1exth>PU%XXB z+5!Y0biQ6{4NSFPiO4h%)^S#ADuv z9m@R-h+*M(F?%?PfFvJ~mViQK{C%+gI)*Q|2W27;4XdlI5 zd1es9f+I)LJ*Gw^6ZVn!ufy))ksoCxKJR7|ZkWNc6=fq$no&1Z+M}zki@$ z;Ro^-YG=|19KDvfWI{O_33%zmA~Ih)d!*phBPLdFJltvaQ;hj3|7*_Z&IP z0AYElgX0@z{6C+)gG5_DZp?q9EmHfa0+arxi6-K=0DenuOd%fQU1zY&TT>hSxR(ys z12um=ysavXDuD&ex4=FoTn1EHNEH?py?)gHp`fTB$GDe&zQf^U*XNc2iLeIZgi8*o z(tK^XpXb;Flh=9x34=%j-9+Dp7Gfr!yZI7Jqw6*OBA4eG)PXm?dK!#5$2pgpuG}A= z)$rUfxAf~QgBIQveB6DfyjYl|T8vS@_jP|OlF2XN+o9!H#Ccf`n>&@%vpHFR^COsIpIGs z!$p{az5Xq)XIZ5$vSX!}VJ*Vm?8?H!8c?8MTd{@^!~K|UYaNnil4HllyVf@*$& zfF_yfo`K2#1B9BCQrU@0BJ-&RU_`AvAmZKs#33a#WM^gy zV6W9!d#2K_8XCmFe{>>!0DOPza~-l?O-JKz0nPb8dI*l78<=WBPr>Amm#)^u0{6la zR9=_-9|S+fdzhch=KPvrKNOg^jL6x^TLe&TR3)-NT!o*Zm`Gkvjwk)L_r-J zaBsUI2kZP3q<*qnqYlF&lPMPej2<9Ra6kMZVeb6xc%-@6HX0!QJ0pJs8jF2Y^3U)S zk5ohg{%dIr7YEvJH->@n7L9Xn3z`l`2JxrcQHTdb<#b7F!$V>%k+-@GgmOk za287tCy|BKyUqzYx=sveC0?<%P z1!;06qft>&P3g%oT}}o}2EQou!en0X&8B9>>AapEZ_R%)v$zl=b#4i_3MI{_ z(NM~!4=@b#mtia3V9SXcm9pqfBHmbFAsxXLwqB1@i>PefAfb3xP*7;hcoB?#o*&$! zcQD3ZF+9EJe(NyJ7E|ES-bSe1?yUtQQ#Ey6}J8G^(bc6U9crEIuOe17&~! zs$llSl-?Rr&>HgihxuCuQv{9vnvznsKaHEH;m%FToWk>X11BNlK&6t`KOTJ3!bE4; znJ+Q^A(&Wfxwbfn!Ye3U(YrQ87#l^%t`?G6_w#oyoKF=mw`Ohw=UH(?ONzY471s=( zcn#6YDeHfS%Lq*cow?dpHn$m16tn*z{_oKrkmHL0o=i54TZ}$fQq=I!JWu{ZoyPNG z16S+ZoccGHKL+*WG}+Yn6Ej)fR))Gik3X?m^J{~}FA$B`KmSX}$0_+MC|<6^oJ}L& z)X22t*T!9Q#CS>m!hn_DMDa^N0S5nlR7eBG2Tgzf_>>%%DOGy-GEN6Y_+yplyiXrj zLTQLy$E;DMA_3`0`H4@Wm98|NbJKh{vxS@6%&?pb2LFflAe~;TAXF;~PurPQ4}lF4 zoG(VmSs580L9L?{EHbbVp%Rl{!o9Qi;wZ-Fc(wQN=Y$Rhq22_x2#932%@^=E%J8;) zWRQPXe&NVi1YvF=xEDMrR{6EtC(5~kaA2o=TalG{wTHQD$Wk<$C)DkEVOKfkne+i% zxNh)*Q~H0ziJGjc@lcw)E5=+$OJXea()fIq4sDles0GYl1Keyib{NKkQ#TjS1?_S# z-9kx4V181SpuJ_E3HP3Zt)&-d=!d2nMZeYe7z-(Hh)Oo9AD3vQEJXnjTLeJtKMAh!r}bQa z0*c`+_z8(r3UCrE0UY`tK?q85i|GJyX%9#+NL!7atp&z!-R#K+?%F*-`v!@ln2Jf>NxfVeE^C zM1APrF*(w=GO)KvlI53*-~%lWV#Ah42<(^!s+V2{m?htr#^3`<0b-XB;R7xKRF^;D z10(^`mt^4sP=85gbveV@Q>(>y$+jom@;Ia#TR!#~PzdKQ5oMVjY&MR|mMCW%J?HpN zRI*~xh$BWE&J6_s16nQAl`aaV^;1GYW|QARCgM%g8-c15_2>BwRVTsn?A=Mlm+L)| zDHp=WUAw+{sc`^Ap#fth^EF0f*L}uTBQ9wJGD)#JdVe0)j)trnJ52ge(C4+yAwG)H zn`)HQD~y5K_jeo4=LW_+B&BUjcyf-OAqmA8M>_{}2kCD>;!JMUt{lCmQ|)nFm%>Lr zdZV87mZKYwaF>Zfs5)T`f!(P$%Ls5IQ$$UwNCrNRSYwFpzo`AI`?(z998m5vOV)$e zCwmtseSfedLH1ek9pPwcsXgBiZ4!lhe=k6|)HvZ%etrLsWicTwEZ+wYAF%&nI>SA% zO89<)*7?@<$j*!jA7fVa9kAD4U7JBJ&t=-F`qGXJBlzFR0F|HLr+)+WWEsuZ2m~xL zm7?Gz+O{7ylMdqZh9cN%FVsFmNbml`TOWyu{S&kkT5w~%5BqzSKd6d!^6ZCODwjm# z12BK7FQNVVBbiPSYM@jpRu77-v~V;;YX_MsILn$MKt6x+fvBu!|Bl!HScCehL!``7{FL1!jN+1H)&IH+hQOI+E|5V|{-yAVfl}sCO&de_e|Lq7d*%>xzoh@|W;x zDhQ?viXVjZF%q}MoG|P#MlX=5A|SjJiJh_`@oog_ZCC%Zm5p3R?%BWorrW+F5mZkO z|6vs_Pcg*SQ84}m*R9UKHD-)3FS!4(0I)!@pZ`w(w#ObSNI?;8J=puw{8^2?Fz|of z|8uKT9C!h@!}v$)2Uv#ee@5oGN0j$-A2q^6$pHobR`+dWe$gKMU96w-y zE+T-wgKt*|a@p%KTnydL>Qdf12I9UCm`9$%oFNFNMHWs`{P&Aiih4rC?0JZG*~NyN zRcz6lCaE0E_rvAM;8(d}poKmUk(+-JQDL{4;_1`N6Kq$8#^}9{lxq?}K`#3P_!oXB zvrRfFw>%je=+pJj-o*xQ9_N{&nQf#npU;yk9`Z0rzfE`ym)G%}UQbY%f#cko67%xO z1z=0w^$Hl>MFgHkI}GPpcwdic4mL!!RcGKqN{o&R+vYd3$s`}UDwiK}3T}UHk4vg} zPOLu*6s(DxXTG1+=)wWLyrv$AF23Av_P$u70A`t*gZj0!ZB&Jo35*j+!dE5r5H}}1 z6W2XASNm>M%Jmp~rY0vtx}R&0n=-(HJSg%fQ?x=0WYUeojofn2h5eaKd?XMbs@^c;! z)YY{$hsR!{Mq5zn&ux5U8lhD!(&SA0mdD9+Tvn&5o7#v;VYZPV=A9do^&lhd1;bO^ zL4|CcSD7L0Dk5=>&r91)X$%-h13yG(>NPXtvlw-LUF{lISgsjCF++b89l-jO-Ujk{ z60-v;`%LobDl((a=vAxfHMvYy$s7Ux>x2)bc&}|~d_CUns2^FOKWEX@(sEl2x0rF? zYV~EC`o427HravTM(4Xomb%~hFrF`#v$b#w_1q`41#`sdUgq`o`O(GARl1_6=NT#Q zq5iWM!mnlDsAK}6s^fp{mxk-LXtvAsx|_4zi5ZVgd7~$UGWMDi?6WpEa{;CI#$0~{ zctLINlCW)@{nUfl&a}I|dXlKoS4RBtWijQuXvc&X0*RkIEqBx%7&&XMxd~?4n?F(o z8>$!^49Grw*)3dpa_+Chn$T&L)&13wlW|Q}=SlvDj$b-pUg1 zoo7-yn{zp)qI~r+A;-SfR&3;>g1wp6?wA5yoDd9ATgJ?CdKz~e$^^o1l=^HG?sM(9 zxUcm(Ok2Lh%SyJYFc079=(^L_^>x)kAnT`dG4`Kz)l(llLUwNvz?J1ce}7wlHt|Xl zH$sI|a_-4t<2!#AB4z$OL$pMX+z$-&q!t~ff(JSZ{Xn$Xn}=^LVxeQ4&R1~67#Q5g_%1G`n)4nsqvJqNL+6SXN`>qBgA+9nl#1LU^N=GfDbA-lSYh(#h6a9M zc*|efd>&13R5w#cCS~%OxW2-W**_yz_V7qNxwt2Z#{O(@OgnoS9lgzR=NHYwn5Pjb zCSlj!w;X>iNMn( zgzO5EK7F4{DXs5;w`-n0ocXD4f%`K}oDZCFP?q%k`3(xo8;E7JZ*`k4sqlH$CT_9r z=x28=rh^@wu=Tn$_Sq3Or_LGula`!A-#r;~)bD@K1|C9C1{>j^cI%o=^guNHM%Z5d zl+{S;G(2dBn$xlfzY5glW2btT&(%)RuYcc94UaNtj)QuR9ZBquEf6~1B3A?jXFb_h zKA1OW1(40j%PpERuR{sS`Y*QDS|j5%l^@>vQ)5;QM!Z+-P~xVy#^k-fKB0lItF_}S zJHUTD-Fh!gg@+jQM%}|DLe$Q?B%MHz#~{+>6Vv+CU!2jD`(7>d)kcPHZaKV_HA>H|+u#M-L5Y++WJRz2qt`(5TED;DU} zS6(bBlVeGqi-$)+R6S~l+ltWz~Wt%Yh zQ)Hd7*<5&MNuAyeQDOTbFH%Jsn;)q12Mj&Q`)voI|HocTHQcW7jT#+NGCUfCE{9eP>R?+I^`@#FZprzW~u#7Sa;W^+IvJa_V?>u#ndg-#t9jAi(n!_Zf*>vUjYR?#R} zB2FvFjtI_Du~W|)+v4hvSzB#m@xvjKMz>(y~ z)VulL^7O@M+hZYz`5!(sbP+!b$z9vOzgTXj?n!-9ncA>k?jufKy?&}7;kvp$I8=7* zuNT@4+f$71*Uic*e|^c$TTy6flgv-6=qqi_%=aDMqgQeCT0ioa*js(q<%hztq>6DbIO0LWpte=|n~C;Q@}z|j z8lKPh-uvul-8b$q^#D*nufM0x==j)@s;ocfhaDd7#%G zucg7Px}0uJ@q%^i(7wx$^8tw)Y;@-q3-wv2=7l;WCwNH3wX$NW$=WN>_!`$sVO%kS zB|Cz6r{VNyCKKGVXtbh)KX`R-?Z|mXdgsy=kzLG!Vn>AjXSZBKZ?B&o$Shn18M6eE;c9+%q4YL6w51*Fjc#qxw9v9wJg#R?vcnVRBZXBqfD6 zOk4He(EUJ3G`ZcbZy;gUJ?yhFQ!o^rk!;~0RP00=S)JjPX211Nfk{4r)L(AN_kW}o<95Q1J}_8cn71LAiMnAc6^#iE2io?X zJ7aX#!5@ek{F3Df*+V3_pvs(ypwJJ|kb+l|aOWmicx%x`5hpZoN?Y^?n8u@^VtOD>c!~%#KCp>m>#>%F`4lU zbI)w4r3(Scm##Vbgth`n#Pv0UgXc`wlLhcsp(r8bRw0BB!&t!@Q3C*k4+_~(pp!^TjF0V-E z7+)<9J63B?d9FnepYybN;us<5;~15QP`1!Xh|CZye>5XEtEmdqDmA%iG6318B>eGZ< znkvO?!&M(Vw4~r_l}YH~JQNs=hLBEZk$p}qF1t3@#I%$zp=*XTQ)T% zT=6x;(i3NgZ8S<6RVO@~mrJMT-rmA>jJnN8oPU?4>*}nZ=TnuGEeal$Hyg6Dn(>1y zG?;3ip8r6oy(3Wjh5d?A3{~b?$mB>?1COIWCxZo|?oE!uk^yc6J%zI?NDUQ(xV~u2sdy<+(U6MIXk?;w_yliYz6iOZLpE8ex(A^%>Ii zCNB`MRBw}=ioM{5!i&}7DTjP6sGLWOd4IPxA}D4y^Qil{NJkZne{Ei>voUq2LYN?S zUegkRDa!zkGce$N%KrUX{>8Z4a}#B5J7BM{PTAf9WJD}sx4nK(@F_EGyd}3szu^(Ew5CgKR_Uibv=*Jez5V^ z#EGG|U=o)kth62d82>`4!%!d=qspeOJ%m|hONOJZ7OPN9?m9g`%-Q&%A_4oAPdCTx zm%ZhZ<>@xjz0=?;?~BldqtwecjeoGCa8CWFA<_*@o5x?h1`GG3==Toc60U0?GeoO^ z_PDwwGuyXO(8J2~rH7D$pNMpHhks+RJDb`d zPF#Gge$Rlx7M8^%b=)ggH!jtb_TK0$imgT% zYFJ9EA3`RU%~1mUH;FgsN$|NUH;dH|&#{WlP94Bt)ay=hsp}D@5r3;N`I8h5ZjN$EDP&pJ3jdvz@05x0FCK*FaE&SK?1i<67^h(r;0Bz z7K!1IVhlN$wJ%obV_Jk?lYI39xdThn;hYXs4brSLe4-M#$j>1y`}Lpd2h3)YwZtV0 zL3Z@mzV5qYJzhtp4VN3Kb@#`y9%NS!tNK7iMCYM)O~dP$q#KZnb!)%Z2Rvc-#vJ7| zBnbj(k~d;oiD*m-I_R{x~p$OkKAb`VG4$e%`tjiP~sqeh%fc;2DyS>FuDo!5YJ$h4i9NeLu& zMTCr%?|*XK`?CKiO(n{f5LqE|!8@CH>9OocI@pt~+xk-j9>)PK4AP59>y* zm)tIzymgN^(vJ)48x0llDD(}#g(^~t0u`yoJ z8NV6$xuy93GQWdXj8{g?Y)`KAlLJ~+usc3PZGYldreEz_jgQW{f2n?O%FDs%G4$>) zHCjVnW{gw&lkJPmA6)X(z=1p#v%n5KC{lv#4X!AE6_3 zy)#k~I^^oI_3k(jj|CF_{I`v;3LM?gcN#nRB7TLRoNDaAa16%$g{{Mk4K)2Jhwqs& zAb-KI@YvORp#ox0#dsTRcE&t?jde$-X?tAQE*h)&ud^a?jettTl|k3;J?NcrMO?FM!-JIXWcl)cX(lYfsPhTec>owG`m0t2epVU-{D{8k z4L3B=$RF70w*&*FXbDg%32Wuead>s<6gyM4pU z1nz6%Id>nNb`FsXaTSrB&|(LarSAXy@C6l*s+Ggu#jS78KAjheL%5rr;%Rd8bG-BL z)%^0|x#v+Vw4s!^5XZ7=>AtnmJCANjiS?b;`PSQy-Z~a(^UW$8z(|M<3>fWL&51&e ziB-X@L+IlIVjK6znloQ7++MK>pr;4J+uvh&dAfGfX+{PS8*S4*{gk>JEKIhL!+Tyr zpZ6yE+MGi-?@JZoE*ZVjUmb@yR%P&#gplp zV`h9TL^>S(`a(ppRt1=>EqW@@ws&DgzIoeE!>$w6h2FHR<|cupYUzFGTp9VezCmkC ztWkYIY;9acD?Wd@+=YBTv_hnKi5w6V?5l%=4IcqGQF2&0YQ}!k>FypQ@X#k;12q$+5NdT!GVzmk;LOlCe`-QGI*FHM{R1f*Vdk4|%!V2T z%O^spy7d~f#P@M?3j}M(8^Z0T`Ff{R0{U@ljlt>iq*B6i=!W#*7#kr~b|q zp;kp%Woxpm@s}O`12h5gms0)%R1Dnd85AL(Qoq)}m@JpF{sT?{pqByv16cuKms|e> z9SIV$d)HINfa1-Uf&T+E0jig_{{tlfS(n`Z10(@tl>r1CU&OqJHVu&RNU?Mk4@NQj z_K&jC$bwDwbyl>26Xoc$gV<-pCE@^@F1+D1-5f71G^t={_;!UKxt934U~xz&Zzzlp zEO{6n>{;zzQuyXJ^AFvX=HE#pex`It{xvWDm3#yv6>K1Sl#Ksq4Ql;5$cArL@Aj$t&k$_-4K6mEM+eFMNL62F%Ls1`ho+8pbElRF?(; z1Re}A`;aiH@FS+{1FV#nFaZP^Oa~?0ZKyk?#MjrfnfQz2{&&{Z@l;k!VYkCCTa-_d zyV^dCv6(|IXRa5Tiz8wObzu|SP`(ouO0;i+VPVOnj1Kn-^UF30hN(3^yO)TGu3 z_--St=RTN~nW(G|NT_xAe^FN~`P8Y{C%u>60R%Mzuo=gf76Jq#1qoiCoM@Lm0t6Tu zlsP7~*uPxf(lo+2?HJ%=X_?QJwJfGsjyacb0t6R-690X2qDH&}!^7ET~F7xgouaRpWj>ZuiDSd_g%np>x3$@k~j!=B`x3e&_=G ztZDyMRn+iZBOltU<)!pGDYiTb0eY4gb*k8l{+@{I_0c77k<%Yju^-OSxxv5Wd)Tle zUQZK$rVu_0aMB8(vyPCR)DAJ1B2K_tZyn4ltTf$Ad#2Qf+mCindA()?rQu(NU4!AO zJ&_(4XU8E2Jx9`k_By+Xs%&9-HXDI27%lQ4f@~!oKmwlTmQM8pM!olQQQy+m!^y){ z(bz%6&BD^yWU{X2gGN}^0Y)~$L^lp#T0QCWfgS7q~_aQuIDIes{^k}&@ zQ3{3T>uL2@tS!wB=2BPpR;>rdJh&4ygRQ9`H43)lqbY5@?U3X zayrbTQM~NFqR=|H+NOKjzFj=lmwFx-^@}o^HDNB3NmBB~_oKrw=Fl+K6AgPQS|2Tc zGR5E9)KxT(s7AtMi?k{YpBX6|cG6f0D~6Lb+6cU!IJKsUQPKYHoh z!s~4B*}#wg)XmS5GnO*tCd$G@JbCuc!20F65`{q^mU_%Xm79iQPT!t^LjL z=63Shh2v2Os5f$dU&=}QQ71ICpzBHh+h~l36K{g4J7mS4gj!nWJ&ERwe>8&4?)XVh z*UPQ$n5?w!;Sbg02h!}AqipnsmuPPUED5QDG0sD!#ipL!)I8dz{kH3_c9&6q=P1eZ z_Ap6>?L%T)fO~_$)nigejS*%-vEt>wo>|TYVa6yCfrojmH21nKpQPvncV%?R;8VvL zY``2pxRti?mI*SSDva6zBj|m@53)hrN4;}6_M5(uw0@NbTQ}6L&eqc$@?~w zTR7^5Ub~6p!k6pe8Qlfj`BvY5gaRO1AbP%-r(Womgr$3xk}2M~V>|P@9z27>9^LDF z=j_P(%_HiUd7eB>+_P~(`5^GyvT{mUD<%ebWX^+mQHA@Rcm0trVm;owzp$pYGFxDJ zvyNl3OMgyM5HNkerJkBvP@|MaNjEXd7UyMTbm?FsDPeM@!Mj}sXCC#-sI%LBRJshV=qozG-iAh; zE}NrW`r$o*nd>2zrba%09l!bIDI@Dnzf_-fea_$Ysjk}%6|;)?XLtjl4X2Ew$s{J4 z8G?hDT~S?#xa4_BtYzT)Mg{}K2Q86EthIv~@3+W9U3h;8ho8ENA;NrIoZ*D$u#!X3 zt8jjviyNw7@sA>xOJa5g@b9xPt8aO^T>p7KYu{b2ids0iGQL)S*8ToXjBZ;m>}BEe zdnwv7>HhPQXZY&`fW`bSJu(d}f_#?!bN2l2qgxvju)w&^8k;dQY@O^&e9S9>YMTcG zUmY1Qe3PotML#I5GvxHre_wx@& zfFHAk?`|W%P@!Od@g{-b%Q(@}Ti>B?&@{mR{+n8ztkAF>Vy=(I9t4`Y1JSs=gG(~(J4(ln5_$kqs`GpfD9|2h0 z{o5KUQ-t3p;UZzlNj?=IT4t7TjKj>s0diVDP}^*MynOP1l%u%_H9+FV!5A)))`$vw zT_R%kTpr}{SXrKQ5X$}E#e(ADm{lj8?FywAaf!!oygG~Z5a;D6W{9kdR~xaAg6iU; zhQz{QD&!cE+rYOkh7f?`;#=Q_-lx=~`LnAEeHSiX(GCW3Vn7gE-8M69&Q@eIwlf`F z$u(?k->T1luG~=~bhj_(r^|vkw(~JuOray`do_)UkLa)+Q^HJt2?#w_ovu*TRnSHb z8u9zA+IKmyu}9#aN%?)q0f+KQ^FL0dIV&$tZ%1dMWnGR>szzMAeg*#Z5*%S-kA88I zqO9l@-*&vYC4_@Rv0ubK`@+kjCVy))C8F6uitc)U$j@=_*|T{IKZvY3CdTgrLT&#p zu6ykMN*ehc0aT8E6y~0D&!$8#*==h&jr-2kbDsC^499TK3SqdUiKkxnjyWA8qCOoz z#u!zaE~`1laxjB`=V6xg&tBSs0me`vsr6|4@^Mc<>z`h#h}p*$s81Cf zwt8=WD&SM^aUaSB?`)sZfTs+`l|WUooOeajRLrTliF@y|5IwkcMUoqgujtkNe5U;r z`H68mzkj*C*lh{g=Ov!G`(}3}|7&N}xW^xsoo!04wUA;a7U`1#kfqnM4YRM8? zAK%ZZcfv`hy(n=mjl_0-F}(~Wpk+$iDpak12$jR+c@(WU^5o^ue@iW(063@Idm#e9 z_-p0uF%>A{-nIqFIm-e76(Lqw`k$9&MJJjX-`9cZCXT4*27jU$A+k=*?J3h5_bJIy zr4mE`vzjrDEKc+xYq9o!Jyz?X`>3e$1Pf!dDMnY$Tc*1BT^1LS$3vD1;emwsTL`#7 zO4XKmhky4^b)t{csyX6i3ihXe9^2fQfl+5>3xC?SST8mj_jS1u(Ies&QSN3JV z%y032d;W%}1cs7Ld0V&x^M_BV+7t~n0-O~BKe@Gco90%UB7;&NisrzFsAB&d6n@+W zvjCi;zBC9xnb+GS^=8;`q-3t;9I6u2lKEX$#vl5+l}`s0Jd7Dyx%K9`PS19!f9JEC zvGc+oM|J)YDkl(BQ&oIW9vD?qjDh)SFcCsjqUPfiv?XRoO(y>}BN%tU@1@k*ss{4 zk!)*=LX*J>un(S-p~DdeU7o{524;Vq|@M-itq|e0$%;J055`O*y?o+^uE&^PI$OJ^cT|!{}Qc$nUi%L+T3L)HdFQ zFAZ~>C-)@;ZM{v90e>{dEK)4L^KejL6fK_zUYV`}moln~_?qbWI;A0ff4KJ-%$V7G zb5w%xZ%jl7i@4;;h*T1FrN7-!>zYhdXb9!el2Ygv2+|O5I*!6QDhb%4q+ZvO zWO~$uP9lDQdU-J%`;K``e>Fz3(Ej+md_kaCmvmXcQEg=j+nRWz9Gk_COw&hWWp*vU zRlxJ3g&o=D#Ue#bgr^WaW>wgoj5!OFr$4Xed@UOAw$9N~ENa>MIck-z%PLLQRXD&@3?!I>e;%5fe|tQ2HDP!Pk7*7^ zee#VV{&7aAB=0t}9a&M6<9gk%kA7`0Gp7xCTIHB$|ZgF)O z!A!IEmM7oOlO+MIzzwDESmT?EowSJ)=2X5}E4*?Ye19&m(!=-Tf5`ehK|3UKWn{p9 z!vIb2MH%e@Oo&S|M?QI$m^THP*%(rNMghjPJO?Qeslq<2}hyWrgImb zEuH}vp4u!A^}^E7rPhmiR^U;s?0!dueRCd?wOU>|-HPV4+xxpz!4Nf+LS-!x#@JA+ z<+R3Cp1v0AuPrpn?=+cZjZ3v?62jlz4zD4?MVk2q!RmO^e>^~$ep#oBwwCQC?i=kn zyl|J>^I6u+A6dB_Ru$IxxG`;{2wwvYF|_3N>s3-<$SQN0^y|A9#is-^i;ZFMW@4bt zs@LMfKg3=f7F&zUzTVQ9gx6=mdyngZMr@NihjF+l9&mRfjtG8VD2AqC>XDEYN?;9B|??Zbj;fZIlP8*asG7=*zIS0U;jVo<5mBEXg&aRGf>Z` z>$<~;yfcnnEhtmDzV^U{AD_c_Y z>F1&<-#1gCf&8R_{L}c`N0-}wnwwh-c3BEE5 z67?MRTPeFg{&eF^l3r36tNnEM2M1KF78dtm=Ak`he|4b}ZRGLoL$dZXNfY0Gg7AT% zzXP#Ie_}znkhjQ@*B0szy{ND35Tcr3)Hmq87anGeIx|>v!9f|AX z74Pd2(F=J_Y@zFTY@t2Z1oza_7d#v~D8**AeG*sWP>E-Bp&p$f3IVNBHVIp!cTXxjR zl^Sgm;!F@%dt?7*(ME_Cmnii?>cJRSgSCbCR_lu%bB~1AfOR~C8E$ElCkYvSr! zDA7AwLXK|y_R|stt?}}oy{{=wu7*auf3Fg3Hg67pl};=4S)GzZdg0HUpPsFZ@XPrC z`qf6}#xCvrlX8C*w1s*WT0Kk2gQMZG1#Yxjf{fxF`lMOznGE6z6>c z`~y|v-AZ9({dv2tP>HeAQ^JeAGJ1~?*UsdL4C=j3|t{Z(p3#k(x)XvpVIT6<0Py`%?7M-JDwuwIul6a*1} z_!ZiuDC2vOFxpG&lb6J{U@*AeduQcQt|@Qo@{9Y(n|Fy3ai2cMrUuJi9`#&*xOq9jn;&ZjKl8rfSwfnZ$`k}MEJ^KL4P{e!EOY6)%ew6H zrCg#<#N`j!-6*D>cQ$z+57pf)QFz^~6<@8Vq?aib1SJ6^mroT0<$uNd0QM#R2I8?( zEOJ%R=7$^il!=}Ey!E3u2z=dHd`&ukp9lA&QRXAjqudAPrTj@dHakB|n&_HWn%i1U zTIt#_S4HY&60pNo8pCirZ%+m8`oLX}G)_t*Q#|*4r4j-b3(?XKin)G$DY(`z+quX$JJ}#q07-?*6=|KTj9!)HKw04D@|oBybqqHi^jv25;|t1@W=7&(1W#Qg1dz zMM6jUzWyzvPYp9Zi4!XG2^R5Y^CHnQHqZL-s z;5^%gz0*5Q$@5YS6?n_Qvwg0(h3P}WVg@o*$$B0Uuyxmg(rlTYQDnX5=VE|dq4IIh zvcDiM;eSQc3v} zgJ^Nw>K_x+#RU0DsP^B!6#@{U{s*QAR%9|~XNu4Rl%S6Usk_7_x7V7J65A4rfr|){ z9lnQbBJW_O41|yd^um||kV8rX)%@?%+-FIm-G4cvQi%t_b=NL^8Abjcr#OwMwye}qN#mVQb5po3o!z1joWyL)<&ZKab z7ex+1lzJ>9#qIu)x-;9Sv&ZE|l!vN?8QA0oWS$*x&V@D`c?%WoONXNzjTurpd=*bm zNq^?lhO4SG{D{;tNIFOrd6iheGq4jX@ORX}U*Lc>{2q@78U>M?iIqGxu_=s~YUieF z9MG#+7KqlNLv7XdcAyCc%W(6!+5q>0fd3yuxPv)LgS`0lwHiiMui#u(>*FF3G>b_% zNy*c!&{53M>qDQ|mZ0L#Fg;JX?xb$IVSnoX)E_Yv5mELy1VfD^`3Q;_Rvl<_*2Wms z3#xR{sxBgz{f}A620<*7?O@L|-)ROFY^N<-VM8p5-r}Q-RukF2=SX7Ug;w`|7SCt2K z>RxNkS+nY?s;B0f-7Wh5fE8i(JYRIu^1qsg=}Yd%{|n0pK;xW}sBIDMiR6x?FktF> zJkP<576Z{PiiZ@d5Lex%SR?OmM}PmV4+$fvyC0bn@OYX_1((&>JxnAPDLJYU{v0ez zW1aEx@zQG4n)xq{INsmRjq+p{tKmYj18()Xfwl_z&wt*{u)5rSz2L~}8V^HGTuV;uA6W10>TE>h!ro9HN*D%h z75HCUJZDlH4zlOXi0%B|a2$VUxt$d|wgQe2wUT14XStez`>!Igi`{Q$p;6<)j}LF{ znsg;ykv{8me`iTu>Z(E4iMl^~odvYuf7hh;WKms)#ylxGU~fKF%756wyqstYJy_^J ztLqIU0Zt>vf_A5E^vb}RIAtVx%WV+u#GC)_x_k_Ty0xzmNKptq>@(HoEkZ6O`RSn? zuZ0c~ETry&`ttxi|J^FH%blS-xt`~yk`i@Rzx3;mU~;_9xWlg(<}aTW9R2NsyZ-w7 z?g;wu2DQ8H-9J8=dJOh>_}e6bG3w#q}%KhXN#D?L>Pqr570me?0t0Umwpp- zGXe9^QhrnUT0JF0)tI#0UGm=WpVj-D`tUXK)ijg`6R&?@AX*c_u{)_gj^bMJY|T1) za><3LA9Ig{*2ex9oi2@&GL9V|?(=fmUoT-^;k;#EaeH)Jaeq5kVk5CiU3{6!TWxu% zdueT+^mMXtb|dlt%o(#S8V>u8+AKLy+k>@+rJ8|_&C}Cqd%AB(CO1tmF=`l*w%Y`4 z&x}nR@*3v#r$j(SopcXkTs1N3zqHbSX=C57-V^$su6yfw-^SjYJiJ%FCG=T&1Jlo& z6>`!t>U9+@=YMlD*Xo&f(K?1#(#f5TwO3|r|0#wSIr$Zj}eYq zU?!&98N1*lB=qiDR$nJMQN+p7n2fO%FI`8L!C8is5#}i(XIgQ6)R@zT*83F_`mpbo z2aFx|BAmQb*k>f_UhoRYX8OoO10cK0XS%fxd{AP2e zSmgWU9q7~_r@yV+&*!wc;$+B~&mx@Axl5&WVk5~X?RRb264tC3TVKO7sRve!AXY_m zWJu=Eh`^lNAulHflcSL(Fv{$jh!Jv*KN1tIAr>2j$u* zPkh%MZ}`sMiAYo29`XA6{$UiKYVSKczJ0&n$#cf(Rnz*kMbYwj!T&IF(sJ2XzBJnU zu=_A0dl~LaQ-Y;uVc~4%VQu81^N3+f$yOPoKDNl7HeI^hKdvX#5w-X&vz>T0()dE! zJAZc2OluJDG67fmugnYvgJg6Iv7OuR&x7#q-7LI$u{D;|wIfIAdX7g*0SX!vwmO#sq;7Lqk5_B_h8D=hU*+KF86ZNQYU8>TJUdA@m$^AKjaHgoZd+I#Z zxeKR@ie4r}9`oQ-^ZhFoVy?}!o%^406M&uJxgX3ry{Y*M}vwyyZDdowyb=6|Cr zZF0l38o@VVpId~ftJfu+!NKY(Wxu>#hB{%zZ0BC?(%OJrHT*y*d4D`KKdbHZh7gyK zK#wTqSMN-FLWf!>*5Z)O>fpfObeO$f1O2~OEkuIXz6b|y5n^6+d}n9I#ocow#)z;k z6=PSMjv1T?!7^k9rV0Cq8c#Xoc7HT-IiLS?gVMUq&B0jWKEG;n-E5v}6CB)RsU;)U z9C=+)_qFy%QW$$TAj+pXFdqgV0Us$J72hAWvBvLZe)QkU{ORLVrm5+S=)2T>JYN_8 zu3vLAiDKZ^3sLYq-n&^lF<5)L9DLUp36u2@CzdqLAWTaWJdFkQZ#H76j(_u)A&K3y zRSXJ@Ry;YzilGjIUFczFb64ewSLNpVqpo(4u7QK4SfvF8C75RxZW_b(c?s*422B2J z74VZfE8%^k{z%`WU{<=tyJ32IdxB{OQkaWyUGaxH zTJ1SElq0AuzfulV4YBaU&y!&OxV6Uh3!p=y%&*YWeItU*G8l`o3Zcaz1%Hf!%$AG8 ziXAkpe+${Oq^i)HwFII(3d0fw1P}nprzF@;g<3T%j#7j-0$B)l4(0EvDzcCSb$RpC z%bRzTEAv}M{1G7FA%7_5C>WMN`s zW@Th#U}6P6XJP^lK@9&ZCj6ft&W=v{4#1EOwzf|HSJ(Z&I)DG4C-?s)j}UoTaRfLV zIN%ULQbI%#1bQnD0zvk{z5za|f_kF~0(}HYiU=yZr5rA~Yfpind(TEe%zWu$Q>-+y{)Y8E#a<+s+AK?B|TRYY67 z4)Y1O;D7k78ZuTwoyl*#Z(ChpyTcNaZ6KIJF8_W3$v~*qaHQd%D3zLmdID z@Csn09O}Hb-=7G@zzr9hEU9&Q+%Kx$+tVN-5=4?A#F{TI4}LuD6l-1{D^#hZZ&Byf z?>NoR*MAxu-UeH;S+Dry=jU^flI|{h28oK*phlBP`8?k3SZ{5`tLf=*IPcG@mLy?d zVEQ)F-0zMnk;m@EYjvEYGjV+!8|5;T9$H@US%^zbJy=^?E>i1lJZaF`T0Pw_f|pC< z$(q5HO_NT!>WPh%eVh$B2(AVc>jzE7c0Dv--GAD8HQlSzu*hT}GF5JPhQxnvt5Ys3 z5=kgGTVXu9STEJlk>ug-9^AL^a(CH@l;C_qz-c`2iGrdxh`_`7<=K#UqQW>|^JsHx zYq>xPR}M)ncAVp=-Pd}#$+Igs-}3|?6DxsZ>p9`v;X-sXLGSq&r=#G-cEm}&sabC% zN`Dw8z-I&XLL~BJt;5BXBqZd417)f>omNy9uK<%*IYo0~e*O$w@!_tONoGLVn<^h} z-bjD4o-8dl49W+~_C|L5-tQHc>X3+%o=KlKI4AE6x!atsE)z4^eHjf8PZ14kIaqG) z^n>7yrwzM4wIgJ=$qz2pzPkv7Pqduz`hPInrzdiMdCX&Ri8iSAc-e(^0~q6vPGfu& z57RQ2XK$o6o$e5NwEf2Sk;Ds)AjFaq63`5WnR$6PQ?)p|y3*3omA71h+jP~nWK2LT>X1q>ke#@ zC!0DCbg-btk*mmi+NOiVW2d&BxXE8b_;`O%O(C1|d^yQ(`GDCJ;du?#=Hf9*vv2sia89RlZUT&-6=$}f{QQS*koy7R)G=F1CdaUTG zi#@2jKw{M8in%ItSKg<~Cm5u(y7iB3SHgvVm4JtjzvB6#<-h!eEs^iuEim{!j@!Z3 z(*5<`M4kO=le-ktM5PGno%TFQRLk}Bq3CoL9UYyy`CfxTYKye*%xpUunX%&zEiEl2 zMszASQe@*!qVqv*aG&Go%YV%kJ73jtkm_&hx!MyqJ3GJ1X$_Go&7JJ*s)`Aw%6_LT zJ}w)@*O27*ot%cIYi7oB%o^$P$aMukoSx5JbZ%w@{Ymb$8QqToE#mk!^J>*3)Z>e_$lG7*3M$eppIKO7iLC+P)X;4sg=G6YW8tE{|u^TvyHB&kr2lI9Z?9o^Z* zh0F8Hf^G3;pv#vI7_zVrzdZ!rO+(uX$*99PxpGYLmFbhDy5~G)wxM; zuHScTv;J zDyyikcCu4~M|3=5y@!*_e_Q&AU%1uq%H31#>%iY;x!bEBM@l2FOW%ZMPCMv%cz5w* zyh=47_KGxM)PHQ8|BY|`aCbr|$jfvdmYh?GnVG%ktIEZr2=Y4_%T%v_i(UYr(Fj6= z@QsRXh6mczg=jbZQdL%V)5&ANiNK;up{J!SdA-(Up$0!Rtn8#0!s6R&qV;PvZ}TI% zrh`BxdQDu~YI(BVfEj5hD5zPgy1PPKL4bQ0@8@j{oV_?oR8biNXf(Xk)5+MA^UNQ%Mq9N%~FDR5_#=Z07dK$$x{Br;Bew_Id!NXuEP)>$pqMy%z@r z`o)L_%=d0ui#~DKWMRB^#pmvzjQ?n{zL)n#+TPyY`)-S()_P%c2Mh4y>!$}-&4zy;UwS?omfp#+vCS?=uBD|m8X9}8&ka5!DQYRHsp64M;w7p;-jy;P=~AOw-Rw7% z<9~k=@bOs&#)E$U;e5e%oWAAu*SHya^tW%1*vz@_s%Ip1(e7Je)1p5NU9#cOLrnj(DQd^hKx9Ad-N0tio8N z`%TN82>{y&)8V8t#R3shnqu&zoZLdaqowlH(cE03PUCgM%dTefPn^ zLDNy6(T1eW?d=+~@$@(fvedac`z7kKCPSUd3LhOk?<>hX*`+9a?u?m(bnk1GYE4?= zrN*0OKn`>Bf@-%#(!W`}PIn}Q6Z~70dLe3Nso@H6)(BqW*9*(5osJhtSbwjy6%_Pq zZFr*y`Hjle2L=a$9^D>}NVIj9Ha6sf`=Uu;xLgjm4-c()yI-YscD?!ZsjrNqvD<*t zeqEy0rn$IXKxDou#L3=1B8;1kcx|mD-S^qKWSWdD6CEM5?%*siwa$ zuvlW!5d(<}1=q97hzaT~3l6i%o9JzmPR+m0qo}NG)@TS^tyx0*108*no0GG?(Q`Hu zppaT}Kxn^tI2q-1r5iV5N|erxr(JN`9oy=QhK!C*MI>Biw^=k=pnt@WbG5VkqfUci z3dA+=!PW9|3kGg;QxiNqyog91wa-qf8Y2EYP!K55)7!@OE5}w8nZT1y<8AHln-s~2 z6mO|8mdUCCKB-==T%u~}otl_PL>$G-Rz49fDhdURr0eT_Jfr7(zvzh6*wC=#VadOs zBU$JEG?kG^~d%u zd!7ucmdpoBeEvMqiL?U5zG}7ZCRy42ii%dY>{5<0%@WlD<$v*U?$ngh(+$fqT}Y2B zoF8#<_N#5j;GzWnr%On{pjoVB>*W7%tr;nK`Phq{SZiA}RM~mmpulR>=&r8T;}d?* z>#Br=+AD(+nB>Vt-hv{xx@bc$y0VN6cl;e!=0lkoW_>@ zL(=p#G-l(!bAN(U`0%l?=lXGIMK)*4{aGm+uM2;%b8u`v-We@~P69!}x~#KPON%Bx zG@Xo{J+HV}TIBrPVRDi_SVBM`OTV+H>8$6mqvM-Wp25K%lPTZ7iS8iB^#p>GQ-lBU zG-BLrsITsJD}iu9)uh4o1nt9z%e$SEot+&Gns|Shn}4pZM~|IUSFI?QgXx2=kSq#W zJb)J`2M2twv2%3PtK4opUb6HE3j+tExDs+zxgJdG0iNpIur9}^v3h)rg5ew#{1zHI zof9oRA;Gd--Q{Gt#`A`dI3_Mm!TGP=z3)YgO-)O+@8V?Dysi)T;;37T-Cz{tg2l|50dIz{04goG9Mou!+l zn;%zQK#)Vn!m?l)0sPgPcA?g`Wm?%0nEKAv7Jsew?R7_B<>0_T5<5~l?*s2ajz%m6 z|Kq$R1)z_@akKdt9g!=pY z_kSCmUtRgG1+v$bZJT5jI;mj;ejbq!i`Hnl(<&BuzY0C->6CnS_)g~KOs4FB2H+9; z`d?dpGn^0BJ_Fr+{_OPp{MEURKrsX`_{fNp%k=&Iy^2+>I!%53oUE+H0_`UZc9GJC z!})xVWdK33{n_JYmmW{~3f}4N+i?JpW`9R$X=ujwLcP5nt#IF|?_J$LK5CnqmekhD zEvafr9(Pxi3@QQCujangdEaXN#N536>Hg&edb9{#`zw%|?7Zvi>tSHn>owUd(lkq?w8bzdLYec$_=6?Wb zK$gGO>grgHbx`Pzhld9g40{2(xk%UCTs@FL4)D$8ZU5o4`+;oM#9B30%#Pa|wTlxi zRaKjd^<6N8UKJXZ44yMkP=D7CGIZ@696X+`>O(@__4k|V=;(BIlDv6?GuQa(6Xf5; zhbsv;H_HWrcLE51DG9)pNnRU*o;&KMOy#t^6$>4XNbo-Sg6&Pp8wg4OaFiV_Frpj8M?ud%MO2M z2Ju(U+Kbp>-RHx#2TP0E#k8-h8$LM@;D6S%e2q zz`5Yya6C?cXS{?45qSTU@b~yTkRQJeWAj_6yC^))-5xB+DZIbP^=(*pK!9h>fB7rK ztyIqYP9X&Jum2Py%9^G6nb4sEuTXzzBeRkuXBbNe#QF5*Z_9)aoDM(2!c;}bF#s||8$!t$X47&@pClk${C!s+=6jdwJ_1Rapa<8v_*@McA7A$J^2jLCOQv?7ZdNoJF0&%>8zXSp=lc8ifJ%hV!Kn3W z?0icKi^i=;rAVtMGW7%cl+koCR*lV)8E+L(kEs;J)9STktCc-NLcgD@*h&b5Uuof6 zd23_wx}*U5G`kNTT5YK-YaM^|e^0 z7#JA1-7k{ka^AN&V(`9K0t#VCk^8GgTDs%ecv@T-L_8{DsqK&==KioJ_VWcVQ- zmTU3EM@h*%fd0HP`xP!uPVdupwYdAP9)ka1@mj>h^CjAMIqhG@%vfT{dCl08m6T%P z;V)#!v$C?3WMzNjj~0Q}nj{gyKxOdr=WeknxSt)Q{uhov3yX_~jF?{8ye8Fhg`)hA zlcOW8@>am^1_oX^fShPtL#Dan{0C^rw zmn-G4?T%KViVIe!iO2Eg$>{lKqB*KXqFrVz^O{Z#1`B_dC8}DAzl&yD0rsrLRxm3g z5*ij(m?n{f2()dw;z^pU$8D=*ow5>iTzC%1^NX zY{B2^H#Oy06CV)3v2bvD8VtPgXkMO<`RUXk8m1Zt{SE;E4P{}8gSf(JPn`dyDc2zV z^mH0CY-@igQK=?=aWSQ$f(ZpE1zB(+NW>PcBUr?;&Nll8u<9XZ{@y7NX!p2@oNwmd z9?NVtsk{StYBHPkAAB4(D`}wU2gsul!v|^d$$>b%oSdA<5B9D(C|=%A_m|jpE=QpN zHI^Zt1d!1B@?7*;iVG+O-@#clnT>lL2y-eajW&PZt{YA-4ZV5uO=Pp}D=%?OLIStz z@d3c6fI^=g&gjAZg zw%UKK9a1WZSyXFgjnCGeWaOoJNQwZg*JZ^U$@}Swf?CaIZ8JNK@2OyH47051eCqbB zmR_S`|GO8AUw)kyJP>ttWMvOaQ(tg6_aQy89I|M=byh5;CBEcK(f0Na4>Kl)LqJ3n z*KVi*6)&Lb*D`&qJ+tt@$*E!e_irKJm$rXF+q81ZfAha$*NxeqadBHaJM$x~iP8Wk z@mP>cU1*@mv36Bj&}E;o-5Di+PK(D}D0_K1)REwIc6@qG4Pzhg?(cPuetgcUus+si zWoLI~XTK?YaP#nR_wdkJE(Kfof5TZ=R*eqxJNWwW|MqR8{}peO|F!B@(0w$(>G^+C zk44Y_8y;k9k~rDlq|&&@)7CDpYH~tV`lUBgIBz|cT=v89_O`)^Ce;PfPe0_i<|2V7 zq1VLoCwatw>Y8qCfQ^vTgX6B&_4n~9(%5VxW`+mN@@r!H-$*e3r*qYh#EL+qOm}@< z|CRIb{u;cwlgGiiwa|ze9K7qqc};(psr$FVgQJ}tdbIVz_Ch1_BjuApOYq@bWnZU1 zA=W`yTbnF!-Ls+w4W{SJs}1hA_+Rcu_rXQJcUuX5ejv}8H_B1}p9PQq`|aPioJ+sV z;owKNcgPlh)q_B03|?NgXQyVW$ta3SY#KD%4TUi5QS0l=eX&13eW+W#oWhbALE`}baef1hFx+}))$?BUTr zq4GQUrVJ^-_wpE2JcRcU2}F+N&`_tH(LA*U8MR{1ljbr@W(95S^(5A03+6X=B@(P{ z!?Jq0FNc+c4i|7o9B)7w&%wO*x$%ic2h+{mE_j7S9)3x76|NAV=N5n0m8T}T^pXC4 ztQxDii|J&!bSc?~y*z8%<~zB#&h*wlzgQ1C1^qp)4`z;5+h@~#=C3<0km#NdgEo3M zczJon!ap#W$(K1w?qIdtRL@yG-)>-7FMQ{}-*rQgf^t`@p}b zaX>>X=C2RlmwCA9#l(NWfPubWa^LaOZRXOme+v@u{=$UQ`e<>q+$^4&ni}+ePiN0e zdT2S__nCy6dS-CYu+8t-P;4dF!EUy~_$EQGl#-hHaKUwGzGTr#x7lR!`Y0$gG*npV z+i|n2x{(p}LFVmkHlgn$E9=#7u`KfiHm`{;Zr)~|c$&Mjo%Da&xCAX-Z|AkC0z<88 z3m0L2W*b$2O2XAxFFXT{tdHi0tru#h%%&tIci3$fb#--Z4*uA0Tz7S$qe#k)>bCj} z4!+!{S5|H>dj=JNW$9Zu==u2imzG#rSky&`iIZw=mZU{uMst?f?*b1GnmxaK|y~{eV_l)o1_OYt7T-;|eVqQ;|6oxff6zs89PwAl+NEm~YMq8to=cRc16}tuN zW@2K^;68CedZc&eRbQT^rlHc~X_IBrp9j*K#XYYNtGpk+j%V58^83^UzsH`)(`k%P zOFMpsXo-Il17;4>V6fESoSY}qc<}tt8{B7IdzHknrg1>zzx>DT?8dO?eHx=-Qm}~V z(*A13{chG4k__QYjrE|G%{zVvQaT!%%f4tO(^$osk_8^q5l4TR8_ejhke((+n>3o2 zIycAo*MuCUGq}1BH~cA67ASj@jTiAHo`atUq2GV+mRo651qD6S*$W@t?AcH1mq5$c zl!L`R-1~fgePqBr zRcU`p5!Q|Bx$cxBXka)REa9fEbf5=^MQ>DNIm5(uT{Zp%76}O>dPeuYvLAi6 z&$lChyP9tP;JMw8`c+&ue*Tjr*Xz?;>K6`$#c z!BJ5OM?a!!gMd_wrGi6BO|2%PAN}od)V_VR<6Z!H&bnCQTyTQ;6AFC zoaNoS!UwrGQ=kGsFfdqHw0_QtEkW;S7lV_NvrxGZhOp^@@a31=odUaS?ToJHdYpeR zug9hOW3Ei&vbU?GjZHgA)E{0zYvLBwvB4iA#I(X#cY=dei%_CtViXrL*Vj?CJVj+? zWvSvUZb~sCWz}vo?c4kaAfYe&hWeJPANnec$8Y3P>pj2^y31+KPYQnf_E0!uc6AL6 z!4evY%lB-QdtTkCkQN>7y&)2 zhKBoR681z%>DgEAu|&R*yf7L!39W#7z{!X55puPMs0s45~GPP z9!f#t)6NBRsd>hSg@px^lIQ;1{VZbic)Ql1q`-2+- z!J=n(XnJw`w%2|)nUv4rRKb66e_dC1m>K~$rk=L8!=+hDw*jXkdH2%NRUp=~&YxBI zzk$6ktE`#TGdh??qv5{Xw<+3I4JiqvkLu=b=e}!hj z!{@HS=6308a+kuQdz>F0-nyDe=WrySGh$NnRuwrgDbZs0J*vL(_HKXnd9dD_Efdq_94;D7m3Q>L%Os zFhoSE*#5(l6K2b4rRfKY??@*%C%&!xANQXVnF&oOSQbA}4Q}1Q>%pAmwG0n(PgKq* zv45dkC0El_OiI^7|FG-XZJANlr>L8jptgH-w6?lyX3dx^otS@Ej}tLJI@&nl1G;mE z%E|HY^|h@QQ|g8VS=jDGLPg+Q*~}HHx|WsbI`^)&mw9*uPOGTMe+VPvbyn+2Y-Bf9KAv=YioTXxleTJ7&SUjB!oyC(^21 z-J(T`0w;#Ik^g`6Y!7|h z4Jq1(-NDzT$fY-a--(GtQ5DO^_F&Bnb=Ud?$#UBADwgN8jY`d|$C%Eu==z#3 zn@#TusmDrjS@DwgW2+3U$2+wjObA{=a&NiS>rK*t<2AE1sNyuQXy|YfUGkhP$Ut_^ zzQs&k`1#ukUl7^?($bTLw*q^o(h2CRU1?{QekOlvs?n=lJ;_G_6glwWoMO&-eRL)g zk+XCpF0$<9DklAbg!#hetj=gsLLTVaxzTlMjX%Qb?a zd;NdowP;1R0SXcLm7L30+@f1%kJod(OgGqnPp+9~Hh}atfTZ_a9Ln+89c$W0)av|J zbo^s2x5VX#1@}MNtx;Z}p(DQtjxER`&|C@5d>hHvOq6pYQ zjZmP^m?$0&0zqLdHvBcVs<9IOR6n^mpT~bP@4jOSYSj|fxY7dlpZ}u@`AJ=};29}a z!RB2_3$+E!m4S<_&DZoYwJRM6kib*hD{bMdhXTq!{Q>GvHLmY~W;lQmp$5sp+Ju~O z*ROjVu3jg^ATBQMnJ@-&--~G3tB*-i@Kyt=P=4Ur?g7fv&x01()RnII2r>)dO{#wf zE(5N~M>?<|P(Gz1LWX){B+HzMSpmnYUtDk{rKyH#u`GeeSBO=ff z_s0L}0=JFJ+HeQO607Kux~c1&dxL+cY=h-zyDxS+2yXsYpZgD6%$kREY)*tgi`s~I zvrmhTNc?AAKVxE0x#Q2)!(MK;lSeI2pzf+uZY(x-ow~VQtbj_ny1ZN* z2*0$Zf{?&a=$12QHT+%gc|6PGJIz>d_I`XF6l6{UH5H7$$6Z0`=)T% zXS2oXTBmIEBFUw4-DgE@+bq`EY!CJ7d0&}ljjJbzjQK^snx^0N^WZi8^g?6gz~?LD z2gH+MdaAnIN}M~GWmFW6WOsk9fbW59*1E|kpf=rsfdL0c$KSudU+yuF^-E%FO_l04 zKd!v^n5?#Cg0B~=se6o=bPhPkWA~O^^$x}|57<{kT5p!I!Z1sM!?>R}qE@DBY*^$6 zZd(!j4u-om778rs`By;AEr%kHXFsdZEgL`QSS&PHSN^~p!P)ut`x}2+UZkm!sX9`< zg-(Oh?)J_>*(3&G2ru3);Vuv!S9g8bv1Zbi?(sr+f5s+E)+uaEuUWesE-W`2-n99B zY!*znBR{qpnEPBA6!_iQW(C|ozE|TT9HSIFlESUj-Sph@d_+vl%iA=(wOxD|zCjTc zkA11bM}D_1?pJmqO*-R3Vsl zqetfY2B|7iTTu}e|4G>Da4iN^$Ih;AwjAws`v4MlM33`1nWJZ0-W0iV+JA|Lv+}+-GCj7P!|<6)=QD*lbpZr)!4R z)hgU0<5@6F%#$l#7rxWKW~$691^vHU&!h9&uUA<7z4dE&o5@?lV;icu zWw}HTLI7iNiPxq+r#YC#W|4)dA}cFvqflkgWY~je0{X|#G)S1`a??>l`j%UD4UNPrd7+N}t-*xL zeQ>K@>jImN_QSI0OTEF|Mz0*gyLTo1Fpswz#&Y~mWk3#;N#*jmK1_Vw#n{jB?w!46 zNsar3otBh{$U;?>a%yQEdF=Y%Jwqtb*+08T%7cGIN!P48e%d36h>7Hy>Rw)4TLSvb z{iTN*izZ4+N!GtK+$_G6X6d7WF;Q0#ReK_rJe{K}fe}4)IAotiu015txV~Co-rp;S zj}^T+W&M;YVYI}K3AR7)TAw!3D zaun+RaCFn?d_YEgH1F)S5wWwrVaV-rNKTxXxCiv<;^KlC-PE)Qc+vDZBo_zA<>6eb z>F6^hrR2f1_shH`GY%^p0qcGm3Q3QOy{fKmWNmF(VTW}(AD<8Lt4nWh>kh_@odSP3 zQb2^1jCJn5!=OCdROj*n0XceAterR}A$@1>SpO+DF%{(l^5*L5?g`dMVl296Y{QC+ z3db^^@q{A}wyZg$u>+l|QWY#9-qhdK6Eo$XtY)-*5swqLmpnUD>Mg3%ey|Njxa4HY zEej`93^IHpFr3PpEU)ha}ex@U575XW4Ell9TsI z$m2fn_wUzxjpYDVy1Ki!_VV;>R$72!G|$j5s;jrRp`l@G( zi$}2d~t&z*VTf%)>*XSAC$D2i=x_`J{>^#kZ z8xCEWvpB6@Os!Z1R>NETa(fWN5T@L^q=|6>;Q7({KyHcq29NpB#((@rOj6ZLU&}Yk z#Y7NjpZVap2M9McmM>Ao@a_HWysoF`9Xk4Un1qW>{O6qW zi-!Y5G_{g2Ac6*?V`6aR<2CU%6(0c++)pp7fhsrDy;>7X&J}+Ng_4dkk{iF)eo#)+ z)cS{Sstf|iWdiXMvaa9qhENhu6dO@bAOhyW-xs?2;OB}0M_ z7iurof=-^UX0C`)KYUPDRmH^h6cLGu8S%OtU+jqxuBc=d%@&Vpd4B#1z(Ci;#6v@4 z4olCg3IKm9hHrv0n!SDR#(Jby*7)58<#g?|fJ#V0!e}oceKPk=tk088!SrupT{XnDpYo)QUORC7sN=!t*x!zjmSlAkC?2iSO6;8 z9U)4lvLO=g^>=wP2U+*;8*CRL$z#Xc#~CR(?R$UItcib9gRSp2YWZrf(;ZIy$;cXb zVO$H9sUq%A^!n}SSPL8ZTI-RV(YT7zEJ z`0jtzz0H!x@UOFZ3{N&&g6DZlM$r**fGw&unQa!04(^9m+g*#yo}2&OHn zTUwrh1ic-CCeHtG*o@6gp!sL@qIOx6!*&^0DK{J)g}>ELP1ijS;7>Eko6Ms;W}eMP z{V>y5meW>_&Lv(egO_`9&&~F_9(yGK-{yaPzV#+vKR!Nty{W!bg;1ALSX$~|rukT4 zdvP9ld3ZI2@C&|9qbqOoh|7hTo1JYe?|y`JHQ&L`(UF>YmwrW8tjK=aEJaF6DtvpO zF#@1*Ny8>6*xX*)`U>saN6F7F5QvC~BNjV~-saU8TwGiY7CJKIO5G#GzwH&Zl&OER z%2gLOE`bWS@Hx z{_>Dxx8dYPSMm4Y=;+1yd1=2`4=1OFN#)$kOzVV!gueb)UA^rSLbK+R*5YF6tnu07 zq5k3Fa`gdk?s&r!x5_~yKU*0LS|1F-_?yt z%HPAAxSW)hK%qrO`f$kS9u_2}lY>*4)AXlqH#BJA{XJ7BSyaswM?vpR{x|BKEd?)ESNyDNI)ITj4uq~B9pegFoQX7m~lA?cka4F%% z&|(n<_$*y0<}4d7DAlfU?iYpQD7}J z!ht|`l|ZL$WG+F_IAWK3%k_T|&G102$O>GBUgR2NWICM5OnF@j2{av5x&)NN%EMZ{OeUPqFN_ z;SUKTH(M(N%;OyZnF?08(-2ss5IG)t;>^H?(4Y$K>Kxff3@s|>F>WrCI&*q#8MSRI zHZ?2BvnC^jj&38wPn1QoimSzxcB*=lG`b#H3Cr?>uWLcE8ijw)LLH8wh^*Ha*4PtO zk{R0MRE51w?)2SVhY=xjSQy~W`44E7^yDTdT_GgI#G2YZfT`>BC0PB|5e^sXl^)_X zaBr%XvDM0-cKXK9%cLecPB$nqR<^aT-;O?q?D>c$EaqQGrfX5PAdJN!L^T`z$dY+- z3DQM{EKJR@7Sn(2ol4OhQ7o8B8d5yMLPa^G_xI>i5fQ!mvxQyM9i~Q3nzHbRC|4?> z1|Toa)o2hbJUeJk4R5lViv&{t%r=6i5EK!{kZ;}GZ*L!zE%1EAZ9`z2v-c)uH?THu zW~ZVPoPITGhmNRO)`)>OqSjW|N`2ji{#;AMP@lQ=cNo#6W34e__lELRKYUmrfV_2wywB=@sBD7wId?1m8u!k>WAgoCb0 z04g9N0F{h@yw#HW0dZsTVq^PVMC5a~f#{&}7b|p{3_J>8~t0t7PqQ}+g;jdd(xkN?pwv9@-n3Z`ei z5z~Lz?#3=mx7Dm8U`?wyWzfEM#uy__%@S9*s>J5|k0IUIZbpw1-t0Pa75) zY{qBM)wb`svESfq$^S(F31x4dbprFXB`|;5Ts0jC^fR;?2gF)^+FTYPHaV0SHQ$Kb zUCB3AStp@(`J$GAfwgBcd@nDeS!=^**i&V*M0}+A5d?w*sJ$N!rw`BC&5G-ii&ok7 zk=8)Le&oc34f3>-24v!|QZv+HXwyLp}K z(yi?ZgS*EWJ>LqzrGQ{l#VVV0xfp+nLC~Xy@bA3<{5nlP%zHZkS#2d)L4{{qYL*q1 z7X-duzmpq_nl0<=)d_d&-OjXXdOdo&4y7bG*nOWTqO+duR|Sf_2La_je*}Z_Kf92-Wm7dd`$z<#! zK|7Zr^|BB#Fz9AKPXs z8tVbUW*BN2Qn|o#?s9S#zarFAa4>7+a_oUrS%vyK62W<4q4R;u-rn9wF9!l^mD?E% zPnwkUkPN1jxJJH4jTIzO*XXD?=kV*UkH)XX(4hUZ(X`;=;>EI-dr&235hY(MeQT~T z4iPCc2{#kdcVtv-Y-WGgVO_9jLoNZWp|oDwbp(^8i4m?aaKqM!PjU z?#8qLWWH9yY9>yNZ@3H)WWpkhNCR?9O(h4EJVu~+~F%uKdFD?dXlF-s6vRRkc z*S||&akcoNmx>Pbo-r&`0u6e0ysP-g_k0}iuCutfv4{)PjO_XOWjK@^nH)ukiP^EE zQw|d&A)f_^1b%<)uXAaVr%ed@{+v^^uooMZSIC7aj{u0=6*5dgOa~Vz34mZ~;LjiL zvoqJHr=ZhjUOQnqAjl>E00e}GK@`i$Go@8$kdjN!*;f}Z9-@^#7<$0N#*R%)Bta*i zo4b0Cq*qkf251`RD}fnE0G6m*bmGsSCliw%!LM0>=Bj^a!!Vmqj+PRTnVbt-9gG2u z4N(J^Tf1pitHaQWI)KBkM z_M;31gtm`+=7}(fDcg1_KW|Lm=KJU572zpo<>gtLm`KA?($Oj8vLs^9DN4Wo$_dps zLSqQOfPjBz6&;<3xs){(xyeetJEyIQob=1Rjcjd672B9tvcyErfw(Zt7aGjG^E+=y zNO5Wk6;E)3bK}HhdSHOpQiVN0bYT275d_33&_heLQ6ljl2uvKmtCg#Bbq0B2<6^hm z|Md6ANMA|NjK@p}?k))U@#~kmMJ7>w{hfveXM{l27}rQjJq%L@ieUg zX4u;zZmpqB`eZ8Cb+m9(R9NV7Q8>stpfokV!AB- z;L`m0J^97Uv+dGSBP9k#oa+gncFW=9{{DWa_(*qmNN8A2Zmw9CxF^zwf3du)WdlI5 zh_8w*MK#|e^bNqpbxmXR4hMXl?K2f^L}&w##nczT-8D4oDP*;2K79fJgoj_!(Q)mY z9N%xmM@f2~b!0zEwc>r#-O{q0ui$TJh&EF^ z=kn5$osr=-mEX>8yR1=vjzmo@rKT1{m1s5c@In$Wl*X&8q_olYb&}bH?%fLRM17dP zaSjdDzJsoAW{6}$xnYn5sT{l2t+MD*Ce{p?5zfh(dk&2qXThzxA%zT0X)9Ce++x|x8eaHM5Ac2RI|JzTByN?g$j(9~HaC>{{dwqDfJ^YYg{9P<-Yje{UK}#@eQvCf5m+!Nt zm)FFa@PWD0{i%N1&WKJ#l$?XJGl$ovwwTy;c^0lrBMzES6VF39_Cx>jX>7U|Q$(n$ zTJ7ZdR=R>hcQ;v24>>e+WEzY4W)kayw$2d%G)dTcFAWBle?w0Qh%8v5&hPG=+za~~ zVpRaofZhNAkzYKN!s|&qYt^{c3G*8NCZ;1}Zk}o9 z|NM@8zWn1k;D?dDg@S!Z0f0{tDq1oTLD=&0W1oZRC2F;|KzJD$sUaSR)G#KyD&+I_ znA~*|g7xn|f1K!UTYBmi&iyX7GXf0-)gABy$i`Q@`g93urY1(f6AL45cHySM`Jj|Z zlb$}(VQy;b6Mfk#n7N|z!1;2w-mrIMXL}Q{2oho68VCE#0#KQiKvv`UA@0{YH*PxI zv9G)Z^07Q~Lj%{;n^alfJE92W-}0aGgLE1m*%hVaf8-KglQ|cMx_$jf6anu$xN|uf z@6WLBV72q*mDSX!%~;{!b9%^iEKU-+;v;1#wuEtxx`k9#Wj_zZmT&MC;Oj>bY`>C% zyy+sdY(D-njSmejJM-1tzK`~mCDu`rv0~Cm9N$>}FaqgY=GEPPcZr+H7Vu->Gd7V(QLdA49`oaqca7DYc-DBS9(+3A#sLfx0h$mr(lsoC&bgTQ z_}G_*M(*dk9k~3-kz}k>x`($QKh^I*j=>*K zV%5jN8KUP)&)gTtSn{|%4RPSSI#UvoxH;age`dF{+s%>xbi9-h5LC8QVO*b1=nFU; z#ui2ZvblZ#WZtOFVjTvWqmrifM4tj4UNIr>=d$8_v%YTGIXOKYBas%L5Vy0v zJ(^N)bWr23EObRfz4QDeK0VEwv?T+Qf45Z58~)y4^QMY*_bc?+n!FyG=QWG(Q9Q_Y zcr?oQY<-y3vPMN&IVlMTpx*`-#jP>lbGLgCR?5`t&8t?ttgUGii!J(oJg@jLCm^qP zo;2$FL--5QQx^dwE~m!#@{{#^Rd)cg?Mcf(s`|nu?7O>tz(z>dX_=YrQ&UsFfB3wI z>XNkPSO}Igg-s&~cwKi_Pb{Ztv>RP^YOGK3lv9JApM?R+`H9fN(y~P7 zK}JE}UQ#kKF|nK}=kBZ*YQWm#f3oWKVl+JzE-Yt4k%UB;)|%FWS4!^Ya1Ot^lf%Vo z^0z3zQl~8}QFOHaR7Zs|E-cZ-Hq_;zxxU53+-x1Q|J{0n$vjvco74DeKX72nwk7dq z{80cO-x@(?SXVXP%cu3*V@E{=oS~sG@CmzbI%u9qn?|7duk0V*L${CGe~wXIB3uH` zWp7*|3A5dpp>V6O4E_INbs^#5L;)gVJv7=Jru)kL7RD9o9a|N8jlz(^PxD9!+_)cH ze2&6ET*&`Tr-e%GxZ(NGX7B*{da~roR@fd%r9meT=`H{mcs}b*EZM~lJy`${STq|h zm0)0o&S6gD?aDz{--@9#e>w%#%+1X8ycjztD!O58$}gS#{UHyE0YWhKO+BSh+MJm9 zH@!~imctxgB-%NiA34A=r{F7qh!b>wS8^|7(hB890#viA;7p)lp3D^%Y;35d%sYG( zdq%!z8)<2ppp7c$gU=Sm4i(wSfs|5mYNF9^s+?IjEM7(MdljMJf9?(ei^?or-J`+F zXJy{<_R+_~qj+;uT)VW=fs8dPsoA?M<0HSXZ~Am3YQ}ID9i~d1x?hrjD&*MOlvA8o z-kaS|xw2PT+od*1xmSnh}VeXpO^}fL`Q58Ch)P)TPg)Wjj?z&Kmc=0aDHGW02DbR3#W?W*Bti0 zth2A|$2kT{%9j;q6_WU}`YDrPuid|QfRS^Yv3xMW)~MXcjmHHjOjH8ijSbmh$^J_< zPE;T_tZmHPe=sax0oZ8Fgg?*8{6~Lt90sh&0PW3j#L&>twnHlZVTpVXM74hyR6dpw zD+nLaUzX(d4q-JFOrTH+lxTn_0_vQ{6%i8)>n>PZqX3-x`}dYltAJgAn5xMt?^pXx z6X9QtWBW;WsSw5%fiwHr)Bw`La?l8U)!c97%qi3 z045KVIB)c0UN=oMeGV$0SaEk3upR(YkAGmgSO(4C z3Q_g$`I&DZdHIuCPwxs@Kz25IeM3C88l6@RfW@z!Yp)wSeNx88r^1WcyWdPf{V{Vs$WDa%^`23WZB$s;9hVOl&O4f8WPDBH-c0myWEctt|~ZJ~^o*+B7zj z34@c5)ldit@|*q+kpZ$!uMeaI%EgYimK1r%198jC%QTo_$Q@e_1*|A2D13Z;N_nyf z2nZ@N8Dl5J7Y3){Gh{v*3=9mFbAMl-Jf>-Y5D}3G4JI}E%kT>dCT4C~ zf0?bVZJD$WX!(ta3-mu>CDX^J6VD7}G0@Q=RNn;9=FLqbs#=B6@NfV>013Riqt&Vj z*QBJSD_H78Sgp=q0IdRJzWEDvz&+*>czJmVqIx&ZEXp<=>fe0*2vA{-qW*z_WUeDA zz_aLPINfwX+u`4H+W<}d#XL-`^P4JLe`W7n7xC(aS|wN_pm2+hW^BLE9YVuLL!-vb zbEua^yjK0R(N@Gz`mZns!^{oo^tPJ2Fyh1b%)q?DC-ji+sJK9!uOIDKT9g8iF{LQT zw{0!RxC+0bTCo1ZlR2D*4&RTRow`{OMCo`&q@|Un>Wl)k#j*aSBpvHf*xo+Gf8ReY zJsl~1r54;7!1k7z+uuVFzyZqmp3@Y7r@GbEw$)Vub9+hq;U)f@ZZZRVDk4&5=Ace{ z)zU>=pNZubil{*`>^$Li9S*_2aVL1!iHi#Z1R@Fm3fdtRAXa)_2fzkO3hARJJP;Sv zr_;M$t&?fHd3xI+hJK;J&LOo5U&jY1r9pfBz;f09=hv z%d?IF)K&yI`p-e2@TbSjgA4pUFVlOzg?8S!3#e zAwUAu8dYYp!g5eqT0Ed8-1xNP=@M$FZ=Ha`Pc2Mvkl|wUeQRx&%G8)Cz6yK<^p!~KKe;;bS2z~T`eDU?8 z0u`;wNEIf5&pD7Rgkb+klwgr}2+3?9*|4`;8T!^?6w1scZ2)I zBAL)2&EWdLg8D%7)JFIHy}du`T#Dueq9rRzk54-XdwUM`BR)QSyBpb>G`vfIVAczW zO;s^D{z3><_OFKdf1x(WiZ`VC7F1$6S1}4p)ZdT#l(a8nBIaUZB5Pt2sh(nCYb$EZ z3Y0R83F{nq6r`LbCtwE|;iU=CJYqP2NA>+hjW_H`AW)p0-5@Ap?nMVc&jLV&V8afCG)%5nRRM(z#@7#Dgdzy(=53&jh`V73h@neJ6 zKxisD>^-N#mH{iY;lko@b8oEa(PJtWs^H6dn&^jlaI|Ti-`t$t-1HCi`6NY`Xk!Ce zg+>-5Oeri(e=1Hx#_d+p^C9iX*26=kb~M#Q*5jpb9R5ADVSZjZod5WN^dxh~%zHOp zBi7SWDrz$nU)4VQ1AS)$#)%_tA&Cj77^h4jaC?<$dg)R2J~C(umvzPOe61tUF+eC< z{#UlNd3HBhW+r$37J#l2Z+QIbcvSkR`#eRk!X@F}e{?#s!#%xF@Bkg=cd^U874w4q z-3+lG;I_t!s=TPgB8>Xx4#%dPKw7FPPyn)G3PsrBqXbw1RK?CiklgE8Kz_kOlKkq$ zjO^^0s&H?AZw;~oeyrg7qTITy1P-;#E4+_ns@yZo*q2u>ZqP(2-&6SP6-NuBr?JL* zit^QDe{4AN_~xr>SNfhV+K*WfNZe)n{FsV<}+la?0gur*!se^3yj`1p7`bvR+IT)jR|S$`p*#MRP; zCInmVGAY*(lN|F=ydD}SXcUGenV>lukkD_RlS3VN%6Pjot*q6i}c@cC`7OnL?yeZ_ja=yV^$UVcRZ-pIa@+1YW; zZe00u0Vo_Bs=0xF3n*v$LWDB+)iaKSe+J-(kuY#UAhQP`raOBSpa_MA<2nLwpW0GdE$zc@NN%9IXGqGKlUT&RIepzF3l&>ElBhJx#k_=Ik;f1_8Qi`3F6 z^dw*O6;lw95;4mF5(L^O<=~M2$nlyIfMm1vxm=wXo!okZS<1+VQWJ=_*XfDwl)P97vB0stXOeV6C--9ns(nIalj;B1*UG7-+s%+DjOJjhxklHyl%jY z+x%(jL#F&BGBvw@C{s+#M*u)$Vws^Zw14?n$!pw77njGEU(v=f5I~@*I3Sj{w#pr` z$}v}H(BKzTDO1rNsWO)dh=@2D8C5lV)6>l)j-KQ#s(*T)x6jxBbgl3QW>s@IbkHZBzCN>ZbyS>+uEh=(z;P7Biskd& z@uB^<4~_9~*R(r8i}b-O_@gpcaSw!8brYr zUyxYz8BSTBu8JQ%kn0S~)YH~F_a>;jy)%LLQx$r}C$CH^y^1pp&__wvWb9;LrK0(s zD?DO++$Z^b^WRuoNt3_cBkT*QLYCxVB{Ldup#sp`6|j)QkT3Ib5v22%QGduc=Q`l~ zZfs1t#YQgdp8&YCs`1A6R}bO}1(LtA=KNSCO?>3Zs`>Z(o?rKe5ey$#DCB-xX3#lF z227i5^n4Ix8GXE%vc&6ojVhkxm@~~gxrvF4Q9B)5TyqOroU=Fcjkyy^hT%fP$rWoK zmYctiv!0@Qp$kC$jYHxe(SMi8s+q6}5=v5_laOO#M0@z<;D#qroF>RWSks zz{CK9r@A06=PbPMBIml7K6=b-YI=;~7up_0x<9HV)Vdq{%#=t&LegAZT#OyHwbx%; zQQ@7H@bjlct+kdM?ZJLUQ*)5(vDMV;*yL%-!Y9lifiNKJ=?)lKxVvdBU&FH+oHZ-u zMYaqQXqMjP46w2@Hh(}{0JKk~!rt&b!i2oL0UC<^>6$QOwYL0^mwt-Lbe`zTy~)}* zq@{^BZ%pj#pH_Cs`uipG}us?hlNqdUUF^898eexQO5N+EFS>a&-Be3! z0S2nM)%QhKT)d|ChCxWe-hMoq#4|R=W^hZz#if}-CdtOi>V7{naj3yJ3Sfv&53cXt z&X}_#<>lSXmVZOA;6xx3Ck)D^^LbosV-!@)E-pF@{pyd5q(6QjkL{1do5LmaRg#jj z>N^CznW2e(=k;oe7Nbx}vR=~kLJN%fYf-h{QH3evA>0q_NR)5=wWZcssK$_Sp`Q>X>%9-TE>t94g1FNf-TD-Y?BjEp3J1>?SDt%c!)NQuP zM?fTaOh#sMKMxlxh4s8SuCrTHc6Po3tfv&=E1bYA)K_iEm_V00I0!It@W$DF6b|cG z*}Ph(i$Nej@wN`oG96_S3;&Q+W_$Z|13!`)=Jj}sLL@>S>wUKclR&Tc zfz7I_^<@(V>Dc>vuK4k>Ne$^~-{$6cDJ|*Vt_$`hjkko|7LnKP3wyQC(><8m#md2P zLw_cTCAHs(PLqY5h$zy-Vlr3HYVRmvTzs&>|{J?`c8tZDVg#lXM-q#`03tgK)Xi@=#__AKLnhE+&Ak>mGn^mJ8E z=ko@%I9?DtQoG{gu{XiFPq`(jKvbe}ks2Q#-}+*NfDjQ!osgYP%Dx5otCuQmvs$$Vl38kRsi|>+!rj{&l5HWPd%|+l z!R2gyFWu*UdZHpBeTCH2v{t9F2EaJCdEE9)ykW2dg8XSRS=BqL;@R6fnfX6!JIl>F zkB{W6EjdNhH=F$j%HQRC3zWo*ihqiHAJ1HMbTElT)YM!rw&e?<_?`FrDowGuUGNwg z_ddg(ot~!fdIDH{*dDsOtqx*iIjk`1hZE`>%glm@JCDR)z(Qt_B9;sZ<$7LnEdq*U zpw0Ptf4_T;(MVTPdQpH56D9vteg3Z(0IKEe_K?&14XZQdV)A^iOoRp|WU z;`(So5H`BsXra~?kJrP%?leJ}=RGtDkJm$;J;W4lj!52Q!Nt>hnC&|vK0Xq7_=|!I zna>U0Pxm>tEgE|p%!=+UzJD*xafSZicOjj7;;Eu9&;DgPVfEfxUn~#CE?*2leyU>= zfjC0J-@o@PHM;uT8HXj~CLjwvbt#nro(Ku;M#x#ArluBU!4pNevNE=HxIIjbh&VEp z6NJ3JxtWxjD!IG~_b~kn$0-lu(+r3xA1tttIUg#cG-k#^9;@I2xRt4b zlNI#nPnlY^1P=8))YK%@)LC_Pee?6Wq!ts>22b}0%5;r&m;Hl-v@|psx(k(gtks>x z#qVKYb{=j-`_n!5UFE(H{5tO7kWId7{O=0o*mFb;szt*zDS zBnMHmO$QTWW7n4!vzudv!q{(>m0Cv!U!*FxerrPpWB}!OD1UE4Vyv$B-RY!#`hv?u zQ6A}pN!(9#Tv9_4Pa>QYyKZjLT zrlY(j>cUEUd;3gfO%d4fnU|9r{(Y=!4{&LGlTI%PA797fYhl%td%paqipok@qJ!xt zb(z%(LXJXt|n+{@G;{e-G@XoefZgMzXJ>J~R*7IFDH$iEot=A@!q}h~{ zue3!RI~;>Vn1?I>v+q?Wt-_qyOycM`czM}7Fd!f#l;SYg)3bKAAwEC~gy7Uv6&;Uo;&7-QTs~epdYs$;jKA{89kCWTl;(w*5r_by77{KFBtiXps=zDQAx}SQr zZ!DEJNyu|cKUGmtA?6Xt>+`6$xwj{me^FgiLlVH_b*qR}G z0|mx~6yS~CDAkgCy`z)e&$_ygi;ITr+rybTIXMA8 zW@n2WcVsyox4VjhN}GkLC>xyifF{I3!G9t#sQCD-cB`IFTuYsugF{0GKp>_ntg4zS zYfY28IdfY*J+n9gfyqB>hh$u7Mz%JKfIDCYiyj8m?&4Uy7CinmfD+B;h<+A za-zeDDk!YYS5xynSec~8s)UAc#-^l*z(z|bj->Hs^5`ikRr0@R>&gEplm8UZfq%=$ zXet(!cKe+|@#Wz?XzbofdoPtM8hwqsdepY7E4!%1B~L10LGe04ycFXj+RN1|^vZLdhY^u{w682?TXJ=;s*txkTqN3fu7=IzLXl_SlTvN{H zc19gH9RU6JIJZo;UXRt+&#~a7CYcu30HemBn(vH=4J5w%Nkv7)!pdsSG9QVbJd(~| z?|M>D%SV|gt*S`O%Hrj(kXJ@UPd^IK(aA|)XD|M(y~(PZmGnOb-L^m`v)c6nsKe{m zAtGc}j#~>fp2Lz$Ie+9Z>+i<%EV-*k)-swKJdCYpO4DjwAWkY`NrJ@RTmS&;zz+s3BmtKg1o>T-rT6)mm8C-mw(G_zd?Kp0vos;L?F zd}deQLDp7>dSU}ZINvv&J@}B_3-P!!>`upr$EzI8tVp3q5P$g-oeSs8FZp~qM68n* z&8*R%)^^fcU+xbu=;*v*i74aWlO7T&CT%oERjl@93AoR@1cRGvudgClW$xc z#)|I?bA%W*9Ub7@#bNMy1$hdD0PAy=1|t3Z{5-%t%a+3LqjNGZSXmAq>7tu9d>KIk zj=#t6@0biCH-G2t-fMY;nv#*nnwyxM<(7FkQ&oPaGi_)n=DK^Ivz4?GbO!Zl$`7>y zM?MjYa+m|0$8s_<9&K%Ta68OScyoNDsH&QjbbtDE!+$h4*>FX2c7@;Qb*BcD#wYV& zA!2uc0GzkOq}TX-0D;ChaM^o?C(nUCOEgN&%jL#gZ#O6SK%BozKUCSTKhOKQ=JO1OoEVRwvCd-U6sPp z5v<=P`!pq>1Sr77|L5zUU*I=?npp%s4t#-QbpkZV2x!p#Z?|U9PMW@Y-*=gSUU?cK zfd1YAlY;(7>M(CY=va-^PzMB+{Q7UN=aj$@e)CdN@#(XwlCbqv{5s(BSIzQsS%0^E z>Phsiut^(IbpBLmY9>;im3Q zB=yQyw^CiST_8-+>!tJl@Q{a{Jt*@8;ZJR?qB9S`Bl;pcr@(6VK}m&Fa}6sm$46$Y z9#v6ronr^#RDWf4Q_JPmYAia)5`W)&BWR$l{agN*vN9=IfYYAA>e|{m@N9Q1|0B{m zaJ?7X-PzeGm)7jWvp=EW`JgK(=+i<1!^k=o3?cAfq+hf?s1Z`Nzfw2JCFW0KwW4HA z3X=Is|2BglEtfwmqLBnS`0bnViyf!{WL{n!x|zgYLr=H5`B^75XTPy^4u3pT#NIm% zRh!$E*xtxgy%w*H`>RF@Sv&#;W91z>=)y=uP)2ife<8p#$y=zud9+br%$F{vG~u$_ zDgnV-m5xY6ORGpOeVKrulz@OP60zCL>8CMQN~uW?Jm%27na^rS@UHiR?DO4DW-50S zBJMV;<+PjD0>R&&pYjW1(0_z}NlWuVzwTkEqJ_E>Ew>M`w|9N}MnO{(C@O{h_tp*g zZ59~_M&|;pM+Gk60?f=Uft=}Zo{gebwgiX7?|y&TnkV;iu)U3pzRBK|N0|B*=^d!8 zQAibXA4&ruKdq`xJ82^ncMwiG$A|K>6i`RF?vf&fnyy^2OXW>KUHt z;`&J`@~F_^go0CbMhldlczCqy@J#WSWD6rvro?UtwpV;`AMZ?=5%KvvPgnP@4qR=Q z8hkI!PWC2yoKEyh_kVXmpea<=QZdNb3cn;k!J2Z$qFYDY{q}z~alGvPDM1ZQ$m5bB zok9Ntt9Rnp%(Ozox2(B?6N#*ri{X3ESXs8;gTx8=ysl5zDxV%2b*@N9Nip<#ea;K-Nv z`1_nr`KF%-VwW1DUhjYQL*!8yO1%{*_ouGIVDj*_r%`J=x}FeV6UO! zw2pkph|c@hmDN-K{=6)@pdj(*i_wr~Pm;UG7NxxV`o z=Nwn&DFUQ`FMR9z_RT;jxTYq)(bEJX=|;y}$hnuu*;eT>vt9?Ap4)$=cffTDyz0 zeVeO@S>=EBtp=yg`zv3$6b|Aqq4eZMKmd{N4ejHm`jpcTYqfFm=cvK%er#ey_U;5U6NAMWT_yy(RuC@H6TDr>42(0?8+{s-PhFsKFjuV}TNL zz?Tx&xsA{Jie_vAgVMvp!$ZQu_a^ghrV5_DY=4oQ(%$+ZB5M5I8*>^n5ySLV9v$md zz+W-v0h)8ojo8joi7f=ByE%|Y2oc*`-Dl_P*}VOarlTRT6!hL#VEXNCatMg5o+#YH z!3hOtFA%6ua2V5%b4);IH5M-WchkCR2QO7@y|134j*blM-aI&XUuU{C9XGc3_nu72)}CaxW+LjqvQJS?oK+L4cajpQUFF-si@smR37Oz+eN6u>4bHVyRVhslQrKLO2$%v-R@R=y+IQU@^rk2LcKd)I7pVnV&sUi~-hXBa ze$5(ZMgz^)CN zh59A}U?o9K0ycAUFEUb9ncQD%0Dsg(k_$b#veLV-fJu|x+Wp4)WD2FT}-@T;igL% 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%0Ai2S6ot;4@KpV^jwA3oWA9Fqx~1or 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