From c161078d588aea562b3eebe288e2d6a2d3564323 Mon Sep 17 00:00:00 2001 From: Michael Fulbright Date: Mon, 24 Mar 2025 12:16:29 -0400 Subject: [PATCH 1/3] chore(agent): Removes Monolog library tests The Monolog library tests are now in Multiverse so these can be removed. --- tests/include/monolog3.tar.bz2 | Bin 90986 -> 0 bytes .../monolog2/checkdecorateformatter.php | 38 --- tests/integration/logging/monolog2/skipif.inc | 15 - .../logging/monolog2/test_monolog_basic.php | 205 -------------- .../monolog2/test_monolog_basic_clm.php | 162 ----------- .../monolog2/test_monolog_basic_clm_off.php | 156 ----------- .../logging/monolog2/test_monolog_cat.php | 187 ------------- .../monolog2/test_monolog_context_default.php | 105 ------- .../test_monolog_context_exception.php | 106 ------- .../test_monolog_context_filter_extra1.php | 117 -------- .../test_monolog_context_filter_extra2.php | 112 -------- .../test_monolog_context_filter_extra3.php | 117 -------- .../test_monolog_context_filter_extra4.php | 117 -------- .../test_monolog_context_filter_extra5.php | 116 -------- .../test_monolog_context_filter_rule1.php | 117 -------- .../test_monolog_context_filter_rule10.php | 115 -------- .../test_monolog_context_filter_rule11.php | 116 -------- .../test_monolog_context_filter_rule2.php | 115 -------- .../test_monolog_context_filter_rule3.php | 115 -------- .../test_monolog_context_filter_rule4.php | 116 -------- .../test_monolog_context_filter_rule5.php | 114 -------- .../test_monolog_context_filter_rule6.php | 112 -------- .../test_monolog_context_filter_rule7.php | 114 -------- .../test_monolog_context_filter_rule8.php | 116 -------- .../test_monolog_context_filter_rule9.php | 116 -------- ...monolog_context_hsm_disable_forwarding.php | 137 --------- .../test_monolog_context_limits_1.php | 107 ------- .../test_monolog_context_limits_2.php | 110 -------- .../test_monolog_context_precedence_1.php | 108 -------- .../test_monolog_context_precedence_2.php | 108 -------- .../monolog2/test_monolog_context_simple.php | 238 ---------------- ...test_monolog_decoration_and_forwarding.php | 261 ------------------ .../test_monolog_decoration_basic.php | 171 ------------ ...t_monolog_decoration_multiple_handlers.php | 228 --------------- .../test_monolog_disable_forwarding.php | 104 ------- .../monolog2/test_monolog_disable_logging.php | 95 ------- .../monolog2/test_monolog_disable_metrics.php | 157 ----------- .../monolog2/test_monolog_drop_empty.php | 175 ------------ .../monolog2/test_monolog_escape_chars.php | 97 ------- .../test_monolog_hsm_disable_forwarding.php | 104 ------- .../test_monolog_labels_forwarding_basic.php | 216 --------------- ..._monolog_labels_forwarding_basic_comma.php | 215 --------------- ...olog_labels_forwarding_basic_mixedcase.php | 219 --------------- ...g_labels_forwarding_basic_mixedsources.php | 227 --------------- ...log_labels_forwarding_basic_withspaces.php | 218 --------------- ..._monolog_labels_forwarding_disabled_01.php | 214 -------------- ..._monolog_labels_forwarding_disabled_02.php | 126 --------- ..._monolog_labels_forwarding_disabled_03.php | 117 -------- ..._monolog_labels_forwarding_disabled_04.php | 209 -------------- ..._monolog_labels_forwarding_disabled_05.php | 118 -------- ...t_monolog_labels_forwarding_exclude_01.php | 216 --------------- ...t_monolog_labels_forwarding_exclude_02.php | 219 --------------- ...t_monolog_labels_forwarding_exclude_03.php | 219 --------------- ...t_monolog_labels_forwarding_exclude_04.php | 219 --------------- ...t_monolog_labels_forwarding_exclude_05.php | 216 --------------- ...t_monolog_labels_forwarding_exclude_06.php | 218 --------------- ...t_monolog_labels_forwarding_exclude_07.php | 219 --------------- ...t_monolog_labels_forwarding_exclude_08.php | 219 --------------- ..._monolog_labels_forwarding_exclude_08a.php | 219 --------------- ...t_monolog_labels_forwarding_exclude_09.php | 219 --------------- ...t_monolog_labels_forwarding_exclude_10.php | 218 --------------- ...t_monolog_labels_forwarding_exclude_11.php | 219 --------------- ..._monolog_labels_forwarding_exclude_11a.php | 219 --------------- ...t_monolog_labels_forwarding_exclude_12.php | 215 --------------- ...t_monolog_labels_forwarding_exclude_13.php | 217 --------------- ...t_monolog_labels_forwarding_exclude_14.php | 221 --------------- ...t_monolog_labels_forwarding_exclude_15.php | 219 --------------- .../test_monolog_large_message_limit.php | 82 ------ ...test_monolog_large_message_limit_drops.php | 82 ------ .../test_monolog_limit_log_events.php | 165 ----------- .../test_monolog_limit_zero_events.php | 105 ------- ...log_events_max_samples_stored_invalid1.php | 85 ------ ...log_events_max_samples_stored_invalid2.php | 85 ------ ...log_events_max_samples_stored_invalid3.php | 85 ------ ...log_events_max_samples_stored_invalid4.php | 85 ------ .../test_monolog_log_level_filter.php | 175 ------------ .../test_monolog_log_level_filter_invalid.php | 176 ------------ .../test_monolog_truncate_long_msgs.php | 107 ------- .../monolog3/checkdecorateformatter.php | 41 --- tests/integration/logging/monolog3/skipif.inc | 15 - .../logging/monolog3/test_monolog_basic.php | 204 -------------- .../monolog3/test_monolog_basic_clm.php | 162 ----------- .../monolog3/test_monolog_basic_clm_off.php | 156 ----------- .../logging/monolog3/test_monolog_cat.php | 188 ------------- .../monolog3/test_monolog_context_default.php | 105 ------- .../test_monolog_context_exception.php | 106 ------- .../test_monolog_context_filter_extra1.php | 117 -------- .../test_monolog_context_filter_extra2.php | 112 -------- .../test_monolog_context_filter_extra3.php | 117 -------- .../test_monolog_context_filter_extra4.php | 117 -------- .../test_monolog_context_filter_extra5.php | 116 -------- .../test_monolog_context_filter_rule1.php | 117 -------- .../test_monolog_context_filter_rule10.php | 115 -------- .../test_monolog_context_filter_rule11.php | 116 -------- .../test_monolog_context_filter_rule2.php | 115 -------- .../test_monolog_context_filter_rule3.php | 115 -------- .../test_monolog_context_filter_rule4.php | 116 -------- .../test_monolog_context_filter_rule5.php | 114 -------- .../test_monolog_context_filter_rule6.php | 112 -------- .../test_monolog_context_filter_rule7.php | 114 -------- .../test_monolog_context_filter_rule8.php | 116 -------- .../test_monolog_context_filter_rule9.php | 116 -------- ...monolog_context_hsm_disable_forwarding.php | 137 --------- .../test_monolog_context_limits_1.php | 107 ------- .../test_monolog_context_limits_2.php | 110 -------- .../test_monolog_context_precedence_1.php | 108 -------- .../test_monolog_context_precedence_2.php | 108 -------- .../monolog3/test_monolog_context_simple.php | 238 ---------------- ...test_monolog_decoration_and_forwarding.php | 261 ------------------ .../test_monolog_decoration_basic.php | 171 ------------ ...t_monolog_decoration_multiple_handlers.php | 229 --------------- .../test_monolog_disable_forwarding.php | 104 ------- .../monolog3/test_monolog_disable_logging.php | 95 ------- .../monolog3/test_monolog_disable_metrics.php | 157 ----------- .../monolog3/test_monolog_drop_empty.php | 175 ------------ .../monolog3/test_monolog_escape_chars.php | 97 ------- .../test_monolog_hsm_disable_forwarding.php | 104 ------- .../test_monolog_labels_forwarding_basic.php | 216 --------------- ..._monolog_labels_forwarding_basic_comma.php | 215 --------------- ...olog_labels_forwarding_basic_mixedcase.php | 219 --------------- ...g_labels_forwarding_basic_mixedsources.php | 227 --------------- ...log_labels_forwarding_basic_withspaces.php | 218 --------------- ..._monolog_labels_forwarding_disabled_01.php | 214 -------------- ..._monolog_labels_forwarding_disabled_02.php | 126 --------- ..._monolog_labels_forwarding_disabled_03.php | 118 -------- ..._monolog_labels_forwarding_disabled_04.php | 209 -------------- ..._monolog_labels_forwarding_disabled_05.php | 118 -------- ...t_monolog_labels_forwarding_exclude_01.php | 216 --------------- ...t_monolog_labels_forwarding_exclude_02.php | 219 --------------- ...t_monolog_labels_forwarding_exclude_03.php | 219 --------------- ...t_monolog_labels_forwarding_exclude_04.php | 219 --------------- ...t_monolog_labels_forwarding_exclude_05.php | 216 --------------- ...t_monolog_labels_forwarding_exclude_06.php | 218 --------------- ...t_monolog_labels_forwarding_exclude_07.php | 219 --------------- ...t_monolog_labels_forwarding_exclude_08.php | 219 --------------- ..._monolog_labels_forwarding_exclude_08a.php | 219 --------------- ...t_monolog_labels_forwarding_exclude_09.php | 219 --------------- ...t_monolog_labels_forwarding_exclude_10.php | 218 --------------- ...t_monolog_labels_forwarding_exclude_11.php | 219 --------------- ..._monolog_labels_forwarding_exclude_11a.php | 219 --------------- ...t_monolog_labels_forwarding_exclude_12.php | 215 --------------- ...t_monolog_labels_forwarding_exclude_13.php | 217 --------------- ...t_monolog_labels_forwarding_exclude_14.php | 221 --------------- ...t_monolog_labels_forwarding_exclude_15.php | 219 --------------- .../test_monolog_large_message_limit.php | 82 ------ ...test_monolog_large_message_limit_drops.php | 82 ------ .../test_monolog_limit_log_events.php | 165 ----------- .../test_monolog_limit_zero_events.php | 105 ------- ...log_events_max_samples_stored_invalid1.php | 85 ------ ...log_events_max_samples_stored_invalid2.php | 85 ------ ...log_events_max_samples_stored_invalid3.php | 85 ------ ...log_events_max_samples_stored_invalid4.php | 85 ------ .../test_monolog_log_level_filter.php | 175 ------------ .../test_monolog_log_level_filter_invalid.php | 176 ------------ .../test_monolog_truncate_long_msgs.php | 107 ------- 155 files changed, 23687 deletions(-) delete mode 100644 tests/include/monolog3.tar.bz2 delete mode 100644 tests/integration/logging/monolog2/checkdecorateformatter.php delete mode 100644 tests/integration/logging/monolog2/skipif.inc delete mode 100644 tests/integration/logging/monolog2/test_monolog_basic.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_basic_clm.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_basic_clm_off.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_cat.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_default.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_exception.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_filter_extra1.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_filter_extra2.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_filter_extra3.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_filter_extra4.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_filter_extra5.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_filter_rule1.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_filter_rule10.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_filter_rule11.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_filter_rule2.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_filter_rule3.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_filter_rule4.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_filter_rule5.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_filter_rule6.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_filter_rule7.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_filter_rule8.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_filter_rule9.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_hsm_disable_forwarding.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_limits_1.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_limits_2.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_precedence_1.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_precedence_2.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_context_simple.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_decoration_and_forwarding.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_decoration_basic.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_decoration_multiple_handlers.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_disable_forwarding.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_disable_logging.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_disable_metrics.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_drop_empty.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_escape_chars.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_hsm_disable_forwarding.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic_comma.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic_mixedcase.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic_mixedsources.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic_withspaces.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_01.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_02.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_03.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_04.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_05.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_01.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_02.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_03.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_04.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_05.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_06.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_07.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_08.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_08a.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_09.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_10.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_11.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_11a.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_12.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_13.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_14.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_15.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_large_message_limit.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_large_message_limit_drops.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_limit_log_events.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_limit_zero_events.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_log_events_max_samples_stored_invalid1.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_log_events_max_samples_stored_invalid2.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_log_events_max_samples_stored_invalid3.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_log_events_max_samples_stored_invalid4.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_log_level_filter.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_log_level_filter_invalid.php delete mode 100644 tests/integration/logging/monolog2/test_monolog_truncate_long_msgs.php delete mode 100644 tests/integration/logging/monolog3/checkdecorateformatter.php delete mode 100644 tests/integration/logging/monolog3/skipif.inc delete mode 100644 tests/integration/logging/monolog3/test_monolog_basic.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_basic_clm.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_basic_clm_off.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_cat.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_default.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_exception.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_filter_extra1.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_filter_extra2.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_filter_extra3.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_filter_extra4.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_filter_extra5.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_filter_rule1.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_filter_rule10.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_filter_rule11.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_filter_rule2.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_filter_rule3.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_filter_rule4.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_filter_rule5.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_filter_rule6.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_filter_rule7.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_filter_rule8.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_filter_rule9.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_hsm_disable_forwarding.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_limits_1.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_limits_2.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_precedence_1.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_precedence_2.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_context_simple.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_decoration_and_forwarding.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_decoration_basic.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_decoration_multiple_handlers.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_disable_forwarding.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_disable_logging.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_disable_metrics.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_drop_empty.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_escape_chars.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_hsm_disable_forwarding.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic_comma.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic_mixedcase.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic_mixedsources.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic_withspaces.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_01.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_02.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_03.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_04.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_05.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_01.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_02.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_03.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_04.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_05.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_06.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_07.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_08.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_08a.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_09.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_10.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_11.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_11a.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_12.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_13.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_14.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_15.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_large_message_limit.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_large_message_limit_drops.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_limit_log_events.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_limit_zero_events.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_log_events_max_samples_stored_invalid1.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_log_events_max_samples_stored_invalid2.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_log_events_max_samples_stored_invalid3.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_log_events_max_samples_stored_invalid4.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_log_level_filter.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_log_level_filter_invalid.php delete mode 100644 tests/integration/logging/monolog3/test_monolog_truncate_long_msgs.php diff --git a/tests/include/monolog3.tar.bz2 b/tests/include/monolog3.tar.bz2 deleted file mode 100644 index 2cea2a67e4f2a34bebc35841c9a520b25a7da911..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90986 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 VP%JzvAW8q??ntK!5)@i$OyI=fMiT%4 diff --git a/tests/integration/logging/monolog2/checkdecorateformatter.php b/tests/integration/logging/monolog2/checkdecorateformatter.php deleted file mode 100644 index 5f4a77940..000000000 --- a/tests/integration/logging/monolog2/checkdecorateformatter.php +++ /dev/null @@ -1,38 +0,0 @@ -', $matches[2], "entity.guid correct"); - tap_equal($linkmeta['hostname'] ?? '', $matches[3], "hostname correct"); - tap_equal($linkmeta['trace.id'] ?? '', $matches[4], "trace.id correct"); - tap_equal(true, strlen($matches[5]) > 0 && preg_match("/[\w\d]+/",$matches[5]), "span.id is non-zero length and alphanumeric"); - if (isset($linkmeta['entity.name'])) { - $name = urlencode($linkmeta['entity.name']); - } else { - $name = ''; - } - tap_equal($name, $matches[6], "entity.name correct"); - } - - /* have to return a non-null value which is the output string */ - return ""; - } - - public function formatBatch(array $records) { - foreach ($records as $key => $record) { - $records[$key] = $this->format($record); - } - - return $records; - } -} diff --git a/tests/integration/logging/monolog2/skipif.inc b/tests/integration/logging/monolog2/skipif.inc deleted file mode 100644 index 19cee3447..000000000 --- a/tests/integration/logging/monolog2/skipif.inc +++ /dev/null @@ -1,15 +0,0 @@ -= 7.2 required\n"); -} - -require_once(realpath(dirname(__FILE__)) . '/../../../include/monolog.php'); - -if (!unpack_monolog(2)) { - die("skip: monolog2 installation required\n"); -} diff --git a/tests/integration/logging/monolog2/test_monolog_basic.php b/tests/integration/logging/monolog2/test_monolog_basic.php deleted file mode 100644 index 467e6fddd..000000000 --- a/tests/integration/logging/monolog2/test_monolog_basic.php +++ /dev/null @@ -1,205 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_basic_clm.php b/tests/integration/logging/monolog2/test_monolog_basic_clm.php deleted file mode 100644 index 18ff817c2..000000000 --- a/tests/integration/logging/monolog2/test_monolog_basic_clm.php +++ /dev/null @@ -1,162 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_basic_clm_off.php b/tests/integration/logging/monolog2/test_monolog_basic_clm_off.php deleted file mode 100644 index 9174b57a7..000000000 --- a/tests/integration/logging/monolog2/test_monolog_basic_clm_off.php +++ /dev/null @@ -1,156 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_cat.php b/tests/integration/logging/monolog2/test_monolog_cat.php deleted file mode 100644 index 28b07a510..000000000 --- a/tests/integration/logging/monolog2/test_monolog_cat.php +++ /dev/null @@ -1,187 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_context_default.php b/tests/integration/logging/monolog2/test_monolog_context_default.php deleted file mode 100644 index dcf714534..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_default.php +++ /dev/null @@ -1,105 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("A" => "A value", "B" => "B value", "C" => "C value"); - $logger->debug("None converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_context_exception.php b/tests/integration/logging/monolog2/test_monolog_context_exception.php deleted file mode 100644 index 1a3af273e..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_exception.php +++ /dev/null @@ -1,106 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - $context = ['exception' => new \RuntimeException('Foo')]; - $logger->alert("context is nested array", $context); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_context_filter_extra1.php b/tests/integration/logging/monolog2/test_monolog_context_filter_extra1.php deleted file mode 100644 index 2ca1f2861..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_filter_extra1.php +++ /dev/null @@ -1,117 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("AA" => "AA value", "AB" => "AB value", "AC" => "AC value", "BB" => "BB value"); - $logger->debug("AA AB AC converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_context_filter_extra2.php b/tests/integration/logging/monolog2/test_monolog_context_filter_extra2.php deleted file mode 100644 index 4d2797632..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_filter_extra2.php +++ /dev/null @@ -1,112 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("AA" => "AA value", "AB" => "AB value", "AC" => "AC value", "BB" => "BB value"); - $logger->debug("None converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_context_filter_extra3.php b/tests/integration/logging/monolog2/test_monolog_context_filter_extra3.php deleted file mode 100644 index a9f8a6b9d..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_filter_extra3.php +++ /dev/null @@ -1,117 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("AA" => "AA value", "AB" => "AB value", "AC" => "AC value", "BB" => "BB value"); - $logger->debug("AA AB AC converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_context_filter_extra4.php b/tests/integration/logging/monolog2/test_monolog_context_filter_extra4.php deleted file mode 100644 index 047fb2027..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_filter_extra4.php +++ /dev/null @@ -1,117 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("AA" => "AA value", "AB" => "AB value", "AC" => "AC value", "BB" => "BB value"); - $logger->debug("AA AB AC converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_context_filter_extra5.php b/tests/integration/logging/monolog2/test_monolog_context_filter_extra5.php deleted file mode 100644 index d0a0b4d91..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_filter_extra5.php +++ /dev/null @@ -1,116 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("AA" => "AA value", "AB" => "AB value", "AC" => "AC value", "BB" => "BB value"); - $logger->debug("AA AC converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_context_filter_rule1.php b/tests/integration/logging/monolog2/test_monolog_context_filter_rule1.php deleted file mode 100644 index 8dbfdddc4..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_filter_rule1.php +++ /dev/null @@ -1,117 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("A" => "A value", "B" => "B value", "C" => "C value"); - $logger->debug("A B C converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_context_filter_rule10.php b/tests/integration/logging/monolog2/test_monolog_context_filter_rule10.php deleted file mode 100644 index 18697f092..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_filter_rule10.php +++ /dev/null @@ -1,115 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("AA" => "AA value", "AB" => "AB value", "AC" => "AC value", "BB" => "BB value"); - $logger->debug("AB converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_context_filter_rule11.php b/tests/integration/logging/monolog2/test_monolog_context_filter_rule11.php deleted file mode 100644 index ffd6f579b..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_filter_rule11.php +++ /dev/null @@ -1,116 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("AA" => "AA value", "AB" => "AB value", "AC" => "AC value", "BB" => "BB value"); - $logger->debug("AA AC converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_context_filter_rule2.php b/tests/integration/logging/monolog2/test_monolog_context_filter_rule2.php deleted file mode 100644 index 5a248a86a..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_filter_rule2.php +++ /dev/null @@ -1,115 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("A" => "A value", "B" => "B value", "C" => "C value"); - $logger->debug("B C converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_context_filter_rule3.php b/tests/integration/logging/monolog2/test_monolog_context_filter_rule3.php deleted file mode 100644 index 9876b0a80..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_filter_rule3.php +++ /dev/null @@ -1,115 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("A" => "A value", "B" => "B value", "C" => "C value"); - $logger->debug("A B converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_context_filter_rule4.php b/tests/integration/logging/monolog2/test_monolog_context_filter_rule4.php deleted file mode 100644 index 54706fcd8..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_filter_rule4.php +++ /dev/null @@ -1,116 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("A" => "A value", "B" => "B value", "C" => "C value", "D" => "D value"); - $logger->debug("A B converted", $context); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_context_filter_rule5.php b/tests/integration/logging/monolog2/test_monolog_context_filter_rule5.php deleted file mode 100644 index b37e07c53..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_filter_rule5.php +++ /dev/null @@ -1,114 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("A" => "A value", "B" => "B value", "C" => "C value", "D" => "D value"); - $logger->debug("A converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_context_filter_rule6.php b/tests/integration/logging/monolog2/test_monolog_context_filter_rule6.php deleted file mode 100644 index ed89207a6..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_filter_rule6.php +++ /dev/null @@ -1,112 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("A" => "A value", "B" => "B value", "C" => "C value"); - $logger->debug("None converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_context_filter_rule7.php b/tests/integration/logging/monolog2/test_monolog_context_filter_rule7.php deleted file mode 100644 index ae85e5201..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_filter_rule7.php +++ /dev/null @@ -1,114 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("A" => "A value", "B" => "B value", "C" => "C value"); - $logger->debug("A converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_context_filter_rule8.php b/tests/integration/logging/monolog2/test_monolog_context_filter_rule8.php deleted file mode 100644 index 8f9e4ca28..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_filter_rule8.php +++ /dev/null @@ -1,116 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("A" => "A value", "B" => "B value", "C" => "C value"); - $logger->debug("B C converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_context_filter_rule9.php b/tests/integration/logging/monolog2/test_monolog_context_filter_rule9.php deleted file mode 100644 index 3b01a0dfc..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_filter_rule9.php +++ /dev/null @@ -1,116 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("AA" => "AA value", "AB" => "AB value", "AC" => "AC value","BB" => "BB value"); - $logger->debug("AA AC converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_context_hsm_disable_forwarding.php b/tests/integration/logging/monolog2/test_monolog_context_hsm_disable_forwarding.php deleted file mode 100644 index 9d7deb336..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_hsm_disable_forwarding.php +++ /dev/null @@ -1,137 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $context = ["testkey_string" => "value"]; - $logger->debug("key is string converted", $context); - usleep(10000); - - $context = [1 => "value"]; - $logger->info("key is int not converted", $context); - usleep(10000); - - $context = ["int" => 1]; - $logger->notice("int value converted", $context); - usleep(10000); - - $context = ["dbl" => 3.1415926]; - $logger->warning("dbl value converted", $context); - usleep(10000); - - $context = ["TRUE" => TRUE]; - $logger->error("TRUE value converted", $context); - usleep(10000); - - $context = array("FALSE" => FALSE); - $logger->critical("FALSE value converted", $context); - usleep(10000); - - $context = ["array" => array('foo' => 'bar', 'baz' => 'long')]; - $logger->alert("array value not converted", $context); - usleep(10000); - - $context = ["object" => $logger]; - $logger->emergency("object value not converted", $context); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_context_limits_1.php b/tests/integration/logging/monolog2/test_monolog_context_limits_1.php deleted file mode 100644 index 5d55319d8..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_limits_1.php +++ /dev/null @@ -1,107 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $key = str_repeat("A", 300); - $context = array($key => "value"); - $logger->debug("None converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_context_limits_2.php b/tests/integration/logging/monolog2/test_monolog_context_limits_2.php deleted file mode 100644 index f314a45c1..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_limits_2.php +++ /dev/null @@ -1,110 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $value = str_repeat("A", 300); - $context = array("key" => $value); - $logger->debug("Value truncated", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_context_precedence_1.php b/tests/integration/logging/monolog2/test_monolog_context_precedence_1.php deleted file mode 100644 index 498cef79b..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_precedence_1.php +++ /dev/null @@ -1,108 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - $context = ["testkey_string" => "value"]; - $logger->debug("key is string converted", $context); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_context_precedence_2.php b/tests/integration/logging/monolog2/test_monolog_context_precedence_2.php deleted file mode 100644 index 929c7c5ac..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_precedence_2.php +++ /dev/null @@ -1,108 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - $context = ["testkey_string" => "value"]; - $logger->debug("key is string converted", $context); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_context_simple.php b/tests/integration/logging/monolog2/test_monolog_context_simple.php deleted file mode 100644 index 977d3c139..000000000 --- a/tests/integration/logging/monolog2/test_monolog_context_simple.php +++ /dev/null @@ -1,238 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $context = ["testkey_string" => "value"]; - $logger->debug("key is string converted", $context); - usleep(10000); - - $context = [1 => "value"]; - $logger->info("key is int not converted", $context); - usleep(10000); - - $context = ["int" => 1]; - $logger->notice("int value converted", $context); - usleep(10000); - - $context = ["dbl" => 3.1415926]; - $logger->warning("dbl value converted", $context); - usleep(10000); - - $context = ["TRUE" => TRUE]; - $logger->error("TRUE value converted", $context); - usleep(10000); - - $context = array("FALSE" => FALSE); - $logger->critical("FALSE value converted", $context); - usleep(10000); - - $context = ["array" => array('foo' => 'bar', 'baz' => 'long')]; - $logger->alert("array value not converted", $context); - usleep(10000); - - $context = ["object" => $logger]; - $logger->emergency("object value not converted", $context); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_decoration_and_forwarding.php b/tests/integration/logging/monolog2/test_monolog_decoration_and_forwarding.php deleted file mode 100644 index 8bab481b2..000000000 --- a/tests/integration/logging/monolog2/test_monolog_decoration_and_forwarding.php +++ /dev/null @@ -1,261 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_decoration_basic.php b/tests/integration/logging/monolog2/test_monolog_decoration_basic.php deleted file mode 100644 index 1b3141a65..000000000 --- a/tests/integration/logging/monolog2/test_monolog_decoration_basic.php +++ /dev/null @@ -1,171 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_decoration_multiple_handlers.php b/tests/integration/logging/monolog2/test_monolog_decoration_multiple_handlers.php deleted file mode 100644 index bd0a93b75..000000000 --- a/tests/integration/logging/monolog2/test_monolog_decoration_multiple_handlers.php +++ /dev/null @@ -1,228 +0,0 @@ -setFormatter($formatter); - $noopHandler = new NoopHandler(); - $processHandler = new ProcessHandler('cat > /dev/null', logger::DEBUG); - $processHandler->setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - $logger->pushHandler($noopHandler); - $logger->pushHandler($processHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_disable_forwarding.php b/tests/integration/logging/monolog2/test_monolog_disable_forwarding.php deleted file mode 100644 index 99bc62edc..000000000 --- a/tests/integration/logging/monolog2/test_monolog_disable_forwarding.php +++ /dev/null @@ -1,104 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $logger->debug("debug"); - $logger->info("info"); - $logger->notice("notice"); - $logger->warning("warning"); - $logger->error("error"); - $logger->critical("critical"); - $logger->alert("alert"); - $logger->emergency("emergency"); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_disable_logging.php b/tests/integration/logging/monolog2/test_monolog_disable_logging.php deleted file mode 100644 index e6ccdfe0e..000000000 --- a/tests/integration/logging/monolog2/test_monolog_disable_logging.php +++ /dev/null @@ -1,95 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $logger->debug("debug"); - $logger->info("info"); - $logger->notice("notice"); - $logger->warning("warning"); - $logger->error("error"); - $logger->critical("critical"); - $logger->alert("alert"); - $logger->emergency("emergency"); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_disable_metrics.php b/tests/integration/logging/monolog2/test_monolog_disable_metrics.php deleted file mode 100644 index 718b14468..000000000 --- a/tests/integration/logging/monolog2/test_monolog_disable_metrics.php +++ /dev/null @@ -1,157 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $logger->debug("debug"); - $logger->info("info"); - $logger->notice("notice"); - $logger->warning("warning"); - $logger->error("error"); - $logger->critical("critical"); - $logger->alert("alert"); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_drop_empty.php b/tests/integration/logging/monolog2/test_monolog_drop_empty.php deleted file mode 100644 index 45504d370..000000000 --- a/tests/integration/logging/monolog2/test_monolog_drop_empty.php +++ /dev/null @@ -1,175 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug(""); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning(""); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert(""); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_escape_chars.php b/tests/integration/logging/monolog2/test_monolog_escape_chars.php deleted file mode 100644 index fbba6143c..000000000 --- a/tests/integration/logging/monolog2/test_monolog_escape_chars.php +++ /dev/null @@ -1,97 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $logger->debug("This string has some characters which should be escaped: \" \\ / \x08 \f \n \r \t GBP sign \xc2\xa3xxx"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_hsm_disable_forwarding.php b/tests/integration/logging/monolog2/test_monolog_hsm_disable_forwarding.php deleted file mode 100644 index 3fd7ae3bb..000000000 --- a/tests/integration/logging/monolog2/test_monolog_hsm_disable_forwarding.php +++ /dev/null @@ -1,104 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $logger->debug("debug"); - $logger->info("info"); - $logger->notice("notice"); - $logger->warning("warning"); - $logger->error("error"); - $logger->critical("critical"); - $logger->alert("alert"); - $logger->emergency("emergency"); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic.php deleted file mode 100644 index b4a8d03c5..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic.php +++ /dev/null @@ -1,216 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic_comma.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic_comma.php deleted file mode 100644 index c34a97ebc..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic_comma.php +++ /dev/null @@ -1,215 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic_mixedcase.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic_mixedcase.php deleted file mode 100644 index c91d88ca1..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic_mixedcase.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic_mixedsources.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic_mixedsources.php deleted file mode 100644 index 0857491a9..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic_mixedsources.php +++ /dev/null @@ -1,227 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic_withspaces.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic_withspaces.php deleted file mode 100644 index 34ffafde0..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_basic_withspaces.php +++ /dev/null @@ -1,218 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_01.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_01.php deleted file mode 100644 index 8a3769dec..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_01.php +++ /dev/null @@ -1,214 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_02.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_02.php deleted file mode 100644 index f29ebff4e..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_02.php +++ /dev/null @@ -1,126 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_03.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_03.php deleted file mode 100644 index b9c15401f..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_03.php +++ /dev/null @@ -1,117 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_04.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_04.php deleted file mode 100644 index e9abceeab..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_04.php +++ /dev/null @@ -1,209 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_05.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_05.php deleted file mode 100644 index fbec1ce44..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_disabled_05.php +++ /dev/null @@ -1,118 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_01.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_01.php deleted file mode 100644 index cd570d649..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_01.php +++ /dev/null @@ -1,216 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_02.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_02.php deleted file mode 100644 index c9423d45a..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_02.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_03.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_03.php deleted file mode 100644 index e86c53bbb..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_03.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_04.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_04.php deleted file mode 100644 index f2ad40f0f..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_04.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_05.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_05.php deleted file mode 100644 index 7526e8210..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_05.php +++ /dev/null @@ -1,216 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_06.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_06.php deleted file mode 100644 index a2ccce1d4..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_06.php +++ /dev/null @@ -1,218 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_07.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_07.php deleted file mode 100644 index 843e08fab..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_07.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_08.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_08.php deleted file mode 100644 index 7477c5823..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_08.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_08a.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_08a.php deleted file mode 100644 index b3da4cf03..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_08a.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_09.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_09.php deleted file mode 100644 index 783bd276a..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_09.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_10.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_10.php deleted file mode 100644 index aaf272ea6..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_10.php +++ /dev/null @@ -1,218 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_11.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_11.php deleted file mode 100644 index b96840866..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_11.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_11a.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_11a.php deleted file mode 100644 index 731e7fc6a..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_11a.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_12.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_12.php deleted file mode 100644 index 959443b2a..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_12.php +++ /dev/null @@ -1,215 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_13.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_13.php deleted file mode 100644 index de5c2b882..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_13.php +++ /dev/null @@ -1,217 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_14.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_14.php deleted file mode 100644 index baef46cba..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_14.php +++ /dev/null @@ -1,221 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_15.php b/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_15.php deleted file mode 100644 index b3ff5150b..000000000 --- a/tests/integration/logging/monolog2/test_monolog_labels_forwarding_exclude_15.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_large_message_limit.php b/tests/integration/logging/monolog2/test_monolog_large_message_limit.php deleted file mode 100644 index 58898c208..000000000 --- a/tests/integration/logging/monolog2/test_monolog_large_message_limit.php +++ /dev/null @@ -1,82 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - /* maximum log event pool is 833 events every 5 second fast - * harvest cycle. Send that number of events and verify - * all are accepted. - */ - for ($i = 0; $i < 833; $i++) { - $logger->debug("message " . $i); - } -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_large_message_limit_drops.php b/tests/integration/logging/monolog2/test_monolog_large_message_limit_drops.php deleted file mode 100644 index 23ba7f185..000000000 --- a/tests/integration/logging/monolog2/test_monolog_large_message_limit_drops.php +++ /dev/null @@ -1,82 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - /* maximum log event pool is 833 events every 5 second fast - * harvest cycle. Send more than that number of events and verify - * correct number are dropped. - */ - for ($i = 0; $i < 833*2; $i++) { - $logger->debug("message " . $i); - } -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_limit_log_events.php b/tests/integration/logging/monolog2/test_monolog_limit_log_events.php deleted file mode 100644 index 61d3e9ac1..000000000 --- a/tests/integration/logging/monolog2/test_monolog_limit_log_events.php +++ /dev/null @@ -1,165 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_limit_zero_events.php b/tests/integration/logging/monolog2/test_monolog_limit_zero_events.php deleted file mode 100644 index 27259ec45..000000000 --- a/tests/integration/logging/monolog2/test_monolog_limit_zero_events.php +++ /dev/null @@ -1,105 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $logger->debug("debug"); - $logger->info("info"); - $logger->notice("notice"); - $logger->warning("warning"); - $logger->error("error"); - $logger->critical("critical"); - $logger->alert("alert"); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_log_events_max_samples_stored_invalid1.php b/tests/integration/logging/monolog2/test_monolog_log_events_max_samples_stored_invalid1.php deleted file mode 100644 index 45d6d243c..000000000 --- a/tests/integration/logging/monolog2/test_monolog_log_events_max_samples_stored_invalid1.php +++ /dev/null @@ -1,85 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - /* maximum log event pool is 833 events every 5 second fast - * harvest cycle. Send that number of events and verify - * all are accepted. - */ - for ($i = 0; $i < 833; $i++) { - $logger->debug("message " . $i); - } -} - - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_log_events_max_samples_stored_invalid2.php b/tests/integration/logging/monolog2/test_monolog_log_events_max_samples_stored_invalid2.php deleted file mode 100644 index c755300e8..000000000 --- a/tests/integration/logging/monolog2/test_monolog_log_events_max_samples_stored_invalid2.php +++ /dev/null @@ -1,85 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - /* maximum log event pool is 833 events every 5 second fast - * harvest cycle. Send that number of events and verify - * all are accepted. - */ - for ($i = 0; $i < 833; $i++) { - $logger->debug("message " . $i); - } -} - - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_log_events_max_samples_stored_invalid3.php b/tests/integration/logging/monolog2/test_monolog_log_events_max_samples_stored_invalid3.php deleted file mode 100644 index 4a8bda669..000000000 --- a/tests/integration/logging/monolog2/test_monolog_log_events_max_samples_stored_invalid3.php +++ /dev/null @@ -1,85 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - /* maximum log event pool is 833 events every 5 second fast - * harvest cycle. Send that number of events and verify - * all are accepted. - */ - for ($i = 0; $i < 833; $i++) { - $logger->debug("message " . $i); - } -} - - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_log_events_max_samples_stored_invalid4.php b/tests/integration/logging/monolog2/test_monolog_log_events_max_samples_stored_invalid4.php deleted file mode 100644 index 48ce72595..000000000 --- a/tests/integration/logging/monolog2/test_monolog_log_events_max_samples_stored_invalid4.php +++ /dev/null @@ -1,85 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - /* maximum log event pool is 833 events every 5 second fast - * harvest cycle. Send that number of events and verify - * all are accepted. - */ - for ($i = 0; $i < 833; $i++) { - $logger->debug("message " . $i); - } -} - - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_log_level_filter.php b/tests/integration/logging/monolog2/test_monolog_log_level_filter.php deleted file mode 100644 index 527546f47..000000000 --- a/tests/integration/logging/monolog2/test_monolog_log_level_filter.php +++ /dev/null @@ -1,175 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_log_level_filter_invalid.php b/tests/integration/logging/monolog2/test_monolog_log_level_filter_invalid.php deleted file mode 100644 index 75a63ad64..000000000 --- a/tests/integration/logging/monolog2/test_monolog_log_level_filter_invalid.php +++ /dev/null @@ -1,176 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog2/test_monolog_truncate_long_msgs.php b/tests/integration/logging/monolog2/test_monolog_truncate_long_msgs.php deleted file mode 100644 index eb09c117e..000000000 --- a/tests/integration/logging/monolog2/test_monolog_truncate_long_msgs.php +++ /dev/null @@ -1,107 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $too_long_msg = "FDTZJACCUOBPXLNMOIRNOTGWNDYSIFHLRNXKIZHOIUSOGBZEBVLCOFJZYGJRVYAYYZDAHNGNLLLCFMWJFARUOJXOWJXOOULAQCUFMWFRGJYIQWNEAMJYHUYTNIYQNXSMIKRWIOZLUUBCTTBFRCUVYXWBHBWHOCNLBEZLMVKRLIGNBUTWAIZFLDZKTGWOOJPCOAOGAABJYNPPVPACIGELXNWYTPTWJIRIMNBIYZNOOFPUQNAELRZBFCHKMIDFYMFWZEOYHGJJKARRBBWXZVXOIXSONHSLUGBWMYTAAJXLCYJWVKIHHHQBMGMEJPTYFYTEXTOFRNJWJDEUDJXDOJJDHCEZIEVUDUQPPFTPDIILIDQHGTTTLTMVFMKZQSRPXSXLNNDGAZQNGRKKQCZLHQJTSXTEQXQYYVQUBVEHUBGELMPOCTTOUUDRUCPWOVUWFNNEHIBPOYZLAENPWNDDYGJIXVXVRFHNRLNSKKUISMQDFXETOSAHDJHWPTGOBVFZXDVRTDJCQOZXVYDMZIXRFOYJQWXXSOITDYMTPEIUMYIUPTGZEZZRGGCYYBAJZFCBIXUFIMNTXXVEFWTKSBAQGIUBHMWGXMOUDEBZMURZTPUBLACSEIPVRJLIPXBSFIXPRPLIQSXDIKCPGFUDSUQSUYWYLAHJSEAQVAZTRJUMYFIXHOBQWBNCZBTTJDGXNXGWGOWEJXQKIMEBEMMFMGXEQPPKFFGHOBHROCMOLBIIMDUHNBVMCOHOCCFSSQDUKLHHUSQWKCBYTYLAUJPIXDPJROCBNVFLGSSKNWGVCVFQARBBWOFQUMFMLOXRXYWIHQPEWVTRMPLLIZJYNWTGRVCOUXLSVOLKBBPQAVLBXAFZACRWAWBIGSISYEPKIXUTKSSAOBMUNXVPWBBJLPFRVLWMVGMRLKRWCRHGPYGRQJMLONHMDVUCGDDBFNTJFZJAPCIENKTYYWJVDTRNEHSGFRECXIBCUIHJBSPVZHXWWJHGPOQLKHATHASRHGCTRBSHMHHKPPRMGTMHPLLAVAQWBRMZAIQBZUAHIYZRILBFSETYNGEYFCQTXCUYONBUIRUMNFFXIDERILPLPNWKSJSZFBNEZIJVIJTXDHVWRNQXVXBRREQSPLNSLTQVTQMIJITAWSXQWTCUUSBMFMDQGGDWQZYZYVYBDYCQPVQTJRWLFBHMUPXDEMHKELTETYGCHWQIWPKUILCHSZNNXICSAWWZXWPBJGGHSLQJMCXNDMZZKOXXRMRBMHXOQIUTCKVFJPFHXAUFTNZQTKBQDMSDDFTAGOBPMJBOHQBESQPOSXKAXXRUTTSLPMVVKWCGELHFOAPEQKGJAQQVSDFRGRFCNKUFEUDAGGBMGDPQFUTZICDIEJYTJDITEVBFQGUHKQVGTUUXDOYITUYYMEMUECHMDIMHKBAQBCEZALVHXUVVRGMFAVLXBVMZLUJIBEPVVTWAADGGLJGDAGXIVWTNROTZTTUANDROKYHABSVBPHIFHOXZUAONPYNRYLTIMZCQMHMSWLRAQBSJJYTPZVHGEEEJJEGJTPSWUXUBANUKBDPJDLUUQENVLTJYDBEEPSUMMOBLRYUVDXQQKPMGAMUAPJVNQZXFUOIBWNVSJTEFDQKONKNDNWCEAXRSVVUHEHELCNHKEJTQAEJHWJHCTDYLIXYZEAJHDKAPPVEBVPGNOODVDZRVVIBTKCVVFYTMYLIXAXNWOYTBYTJOLXZGFMGHTEBJERDFUREHVDFMLPBCAIJPXQMSMVMNMBSKVLLPILSEDPVLNJFLFNBMJYKROTJBCLRQEASNKNDCTOOWKDMNYXPTDGAHWWEAZMCTZMHYKHQFDNGBFUEETSRCSPYWJOEWPXARSXRGROJAJBAXVGABCQDIKHWDRELNTQEFFZXOEDAACIWIZTRWTFCHZMYBJPIYDXGESSFJCXUSMLRUVVXDKBHUZFNHLEKWQKYEZAADGBKRLLGRNIZSDVUOZACNMDQUHXGZYFKGGHSMUDSALIQACDLPPJIZSAYEEODNJYYFOLMNYZCECNWEKOBNWSGUVAEHWXBUEIFLQOUFBOJWGIPUQAOBQAUJLVLLVDVYWVWLCMNFXUOLXORMCMTQRCJHEOWRPSFZTSVYBPJSMJWUXYWRBTSCKJNFXBHZLWXMDZFFYWTXOOHPONPUBQCPLNEDRRKUUDNYPLMPIGKFWFISKBAMZBECUCCRYDPLMDLIFYSOULJGYFEYKHYAVCRSWRYZVKSCNYPVLJXFMQHCUCBQPINBWLFNHXLQZPOAXPBGHKDHAVASAETZUZAVULASJZTZUQOMDBDCXREESMELDFWKZVBGTTBWMGDZJAINMEMIVVWJZXBOPJXAEAYGSJIWDRIIEGXVEQCISINOSRNTMHQPSBQIXVBKYRDYBBGJCMGGVRWZBFVLGNUNUVCFGIGMJFHMTKZLCAFGARQCUMBLLIACPRTDRCMVWIMLUNYKJKLMIFZCCCKBGLSKRHHXMWDCQQTNWMMSHWSZUVEGVDTCUPNJOXILZAUQJSRVCHXMXKGBOFCHSLMZFKIPAADCKIBZDZCFYWBZPLHMEUSJBJWKQEGRZKJPTKAZSHKHPKPPJDNTKQHBCOYXFKSFQAAIBORMBPTMJWALZGAFMZZTESNMBZDFXXHWSNQDZUUMUVGVWCCEUNMNBIIMGVDORHJCBHGSVONJLCFLRNRRBWCJOZOFHNBCMNVDVHCVJRVCIYOSWJKQCXYKQLDOJNFQQFFTTTLLXQDZJRUZNRRQGDZRNMLYLUQLWUOQGZENTYXHUIBESVDARZHQZGYMTBNPMLQLJYELEYJRFPCQCWSCLUJHDHYFUAYPCNHBKWZBJXNNHDGOAUZWRXQZIISJCVGLGDYYCFHMPGAFRHRKCFZFDFAAEPLSAQLMCVLRPIRHPYATWKHGMTBJRFAMDEBHPMLNEGLKTAYBXVDGJKRPFPAMAYDESIFDLCLLXKOHTDFXZOWAZNFEXSNRGCCAZPACHBOGMFITVRJLOJZHXIEPHNWBDSLMTWKBEVOXIWCFQZLTXGAUKZMFGRDTODMDPLCFTQDVITFMJDPJYNCLUXRYLXWMFPROLVJXIFVZYPXZSEAYBFGUZTNEZGZLEODAYHFJDLJRMWNJHJDSEWBOJFASHVROUCISICLQGDOOHWABTXSTNQCDHKGNZMNPEFVLCIDMSOJGONMYALGOHBRLKDKPURDPVIWATIEIQZTXCHJQDMLIHXZZVLKRWQNDDELMCXURKQIUFXJBPQIIRYRRPGIZUOOSFTDXEYJRYRDAVKSBWWCCJJZRJDBIYQLQHYEYUMBTPPQOSRFFFBBLAXWWYEBWECSEJBOVVWXKKEVPNNMEHQKEACOAWIWOVCSHFOUCFBFIBRZWKDWWIVSFGBWXHIINCRLPJUXQRYTUJNMMMRBWOFTSLYZCPWFYGUIRDVEUWQQAXFGNNVNPCPMSVBSPHRGUMLCUOVWCPJPJCOEFIIJVVDYQYLEBNOPBDMTWAXSBVSQLMKEZFJJXIQINPFVEFAGJGJJETJZRJHKSVNZMYNNNWHQSJLKDGXSAYNLRHHVEVZPSZZPAOEUGGMGUMBXVPKRVDPWIFDJENWBLGCINUBVXKVECNQJNESWNCUTZTSFYTWJCQRIMJVWCPRAJCWICYOVTZNKWXNJRMGMOUQRGLYRACXZDXVITRPTMNEVTPULUWLKSJKIHVCBQYCWQXGNIJNLZVZAGWMTRUVMOJJYUETQVEDFWVLAVPWNVBHZJZZOMXGVCDLHLTOPXZIDRNTNONWHIBFLNAELCOAQTZCNIIABCQQISBXDKESKHXEPCKJYUYDYRHDTOMJJNLUKQUADFDHQUCYFLCBYZCJXRAFBPNSETGNLZGBPDYYKZXEDJEWZPBRKEBHUCZZOYYUNXSRKYAUWAUXPXTDOJLKBQOSOZOEHRSWXDINYYPGMEJWVSCVJGMWMHOWZXTJYDDNXTFPMEUKVWQXAQWEHBESNSHEXNSHRPKKWTKCIAFLQZESCEZYTFOVMMOAOATHGDYXSAGGZMTEINMAUWEFNZWAVIJZALNOFBLAJIRFYRULUXDNASTAGNNLVAAQGRWEAJIFCVKWPELZXOWOURWKDTBXFQQJSVXNENEHPZNNTTBLXZHHBHLZNSMVRYGGZEQVVIDMJRHXZOPTRWGNQQKAUJVSPJKKBIMEECDXNGPADXBNFGDIWDVBFUUDUYJUJMVSXASGXTVYKFGUUBLYQRSAYOOYVJBQPCGQWFYSGQQDEVGPDWLIUBGOKQJGSYDJEPNHMAFOYKQGJCIYCWYTYKXUTORXTVIBSRVTOIMULODBDPPTHAONXLVYBTDHPBRCBTTKVDMCIQZRKOLLCTXORFBFWNSUVSFZHYYGZNSUULQHZQPQAJIKTSPBCTOBPTQIECQRTQKFEFKBAUIKWCOHUFQVXNCYSJSEUPBZOTLCDMIGBIQMYNXCNRPHGNZVHUEGNIOPCXVVQFWVVFOQHXGGTQMRORMNULXKKHAGBZSRONTTGSSSZUVHFIRAJQYHYNRIEKZMAESBEOFDGFKFWMNMDKAOBBWSNGSRIKNUELXQIIKEIOVGKPYGGASGTKMOSJWIMWEBPYKWWGLVYQVOPOCECPMPCZOZNQRTWWVHSXQDUWSCJMAZLBCXXSDMFEXTMXMVNSLCOKMHAJGEIWBSVOYALFTLWYOHKCEAHZXDRGOBSXTAVPADGRCPTMAPVTUMIVQENJUNIDUGUDKYOBCPKSLPZBLTDRBPRVFWCEGQJEKJIECKXXGSUPMKXLOORYGKFCMHZETJSFTBZLLGPOEXVXDQMPTUWOULQKHBBPUSYAOAKITHTAILKIRPBBKCSUYDAYLPWXDUOCIGUGIKQJLEYJFLQNOARSGPERBKWNQWQBSQWNSYMHQGVSESIDHYSBWECKLQKHROMFSRXVOYPCYECZMCTBBWJSHEZZOSPQFTVUKUDQHKVGEBZBRCXHEJDHQTTMOUUOVTGPZTRRJFVBCYUEWFOSVYDBKSJHWAGGOAJHYVCNGMRAVROPNHDJDNJVHLFFSOUXCTBSBELJNNUIEYWOTMFYLCHVMTXCWHCJZRNKHRNMIYFCGJNQHJBSRDLJBDGUWJXDNKYEGWBMJNQPALTTKOKZSHOUOQKDGKPZGHCSJVIKKDPKLSDHUJNLAEXAIKRUVROIQOZSREGIIRHDXCQNHMUJXPXKTDPBIDNZCPVWZVGFFEKZPXEZKGXTMKSZWTQNBSGNWRYPIXMUHGITKUTQFGZSPXENFFDFNNCYDKWKOAKUSOKVASHPUUSVZFQLLSWMFKMLMYXNLFCVZLVYWRUWPZFLAHZPNBIRNMGOBGMCKJCFIRIIECJWWUSWSOJBCFUYXZCSHYCOWSGCFAMFMBLCZABCMBHVWLAJNEDWOQBSDKCXFYPYNCNJTKGPYVWAKKMZBVXXFAKKJTMBWUPZVNTXZSCBOAWGGRTLEOOVQYWLQVAXPMVQETIQXRCKBIWHUUMFKBNRNKHKPERNKOYFWWTBADZRJACAAJZCBNTGDOGZBFFTFCFUZRJBEMJDZOTNZNDWFVGSMMYSRLKAWUVLVVPQSXUUKKJBPNJAMDTEGXYAYYYDVJZNYXVCVDSITTITSALGGJXKEJWNXLAVHBFVLOFNDGDURAYMIWCITVZIUHQHPWTYXOUGVYVSYJYIQTGAWAKDMROSWXNFWNEPNRRSCKBWTGPRTYLMRLRCQVKRQQERJZWIHUXANMXJHBRSGKKBMPSOYDVESDOIOMCHKQWTBUCZUINXGNXULDDMYDHBUDTXPORDPWQWCLBIAROLIGVSWMEGFBSQRNAXWDJUBOLEPEOHBKNEHYHNDDOZAORCQFLWLGLZJUBNYNTOEGYVIATDBBURPVCCXUQKAODJWUWOMBJJOBSZHTESIKSVQIYSPXADPBHFVSLOEKBCBXTKBJKNSQJHVJNHPTAIBLLUWAFEXQWCBPVONOHWDJSIVILROUTBDLRZOYJCEYGWWCUFNMNOVMMMIZKGDXNCNBKNBWFAMQSEEHREYCVBDCVFJRGQDTEFXFEQYEUQKNPRFMWBHUDKZADIXDOZMKUCITKTYPPCXWZUJNALEWRCWYRPQSEYEMJVNRDNORLQLWLXABYXVLGPGHMRLFWQDDREOKECHXJLXGSHOZKKBKGTIMJEWVRFZACCQGSCYFTCPVUHXSDMDKYBDBFGPDCERHBJJNBUBRFPKNXNUQKFFKFSGQRZRDAVRBCRZYUZBWTKUSWNLAGSNJENCZHJIBKELOEFTWLEOGPSTSHDLTMBEJILUYXMWIYHWHLXERKLKENHWFHHMZMLTQHKDQNRVCLEVGFFGPVRFCMARRKGWONBKJDIKUNHIKSRUKDSZGHGQNHQKPPMTVSINUJXJHLZLULGIQQHIIEYOOBNJHZGQRRSHONVWESSHUUSCNWRDQOIZNEHDHSUZUIRQLBWEFYFPTJSRDZVIDIHTGRCWXNGKRAORPYMCQHSBHOCNVKRCZULABTDOPWPDABOCWRWEQBYLEDOUGWVCCTZXIFYHKDFBKWWUZSZZTBLDRTQJBOOJXCLUGOMWWVYFGKIDDRIXQOEXHJKTJTMQIYITFUVTOSLKVOMSDVGUHXEGEZRZZUAAKGCZYAEFJIPWPMCFHFLQRGHHWEOTHDBKHVEOOUSXAINIZOVPONIYMNLDOIJEUPSKREEHTWHTSREKDCIWDPCRWYSRAVBTNALIBNXYCWKPSWLVEKLLYHDWRXQUTMNFJHPJCSVKEOESCQBQAWZQRSCYASNJZZAJFUNGRFCFUHQOCCJKCUIRDTZZEKROYHJWXYACPTBVCOEVXKKLHZOZRAZBHZPOFESQSAPKCHXSBDXGUNKKXJHEGRIUVOZYLYQAJBMQGIWPVHGAFQXBXHKIDORYRZTOVLKBNKVKXPORFDBECOMZVSOIJWBSNFNJPAVTORWOPEKFBWHHLZQYSSOXXILILQIKMKUXJUAEMLTMHOSXUEGRKZEWAUDMWBLOKKDAZWSKBUYIWFFGOLFVNRAAYAMUVLBOATKLEAUJBZOTTTRBPPDZAJFUHZRPFRRDPATFUYDYJTRFLFUIIRSXMVCUZXDLRBHDQQZHNHBKSWEXWZBUBLRDJJLXHPYYNVYFTQXSDHAVHYQFXLFTONEAKDXMCWPSJALQEPNXJGVOEUZYKGOLIBDRXBAOAHIWJVTAIESFDWPZLVJOZLNVIDHARYYODBCXZWYLGWPQEGUVYUSRXILQVMAXTMJOLIJYKPGXITHJZYBYPQDSICOQOZYOZKTRSDZBTEPNLFBEIJVAKTGAYOEYZLVJATXUTCOZOTORXSUPRUFTQOSZBNWMULYCTEUWBNNINUONJJYOHWEDTFFSTNWICQVHFNGTFDOOLZPZWZZKJCWNRGJNQDSGQSRMIGKIXUYQYWHAOPDMYFZAFAMIEBWHLIRPTERJWOOVNPXZPQWZBNNOGNDFYWMRDGADHIRZZEKRJQQHTRKFTXIMFFPMQIXTRIGAHKMTECPQKHRSHGYVTVXTLAVVKIRBDCHLCVAISUCSPWGSUMDNNBHSRLJSEYVCLYGBWZJPHRFHRQHWSRAWSOWVRQCVXDQBWXXWAKMKNZYPZGTSBFLVWTKZWKEVXEGMAPUYTFKEGJBGEMLQBMGXYOIHUBFGWZIXBMTCJVLGHTXJCLBECCKSSDRPMFBDUNAXYRFDJFYJREDXENULXXPBOMAZUIYXLXRJJCQOGWKKSJLAMJFEGGVKFSUTLJRZURGMOSOFZPNDNCIJCSLMPUCFOULKCHTPKCMYMFMDWURWVEJCYNVUXCFFHBJANMUCODOLPMPCCSLZTSJHZMGVYAVBFVMHVGEWICRQQNCYXXOKPVTHJOIRHZHCGPHEHQISIZBHZYNEGJMBTSZRDPDZQUHJIFNGLUMVYAMFKPVZAQAEDHDVYCHZPPQBVFLDLQKXQVSSSDAFZAFQEEBMLYCGCKNFFYIRMAJHTKGMQKLQBIRGXOJIBULRHLRTYKPVWXBLVOGNHEWRBXXGBJBYYJNSNRQDOZBJWFMVNFDPHGCIHRQVRHWRDFPGCGOKZVVSKTVSYIPLRMKURQYXKERZRDFHLGJDYIPJEYKSOSALVMEPJOBYJYWLKSCJZTZINIPTPSAKQQILKLWTVLFQCCMHWRLYBTAKBFEWYLRUVEFPSANQIJCGIIOQZHFCGXSQGHLWQCRLXHQLBEYBHGIZQJHFGAFFRVPKZZILOLEYMSQDLKQSRVXMFFBFYAKXFZNDSNCHFVMIHFDHJGGVMDTBAJAKKXSSRXECAMBVSQUIFATDIYTUIUHFUUJLOOXMTAEQITXLWCCAZQCIWSHRAEEWZJSSRWCAVLBBKHWUEIDCLWFXNQWPLGITAZAWUHNENNIQXHQPEMPHMRZDEUPBBUGUYWCYFAKELLASSTZEJTXHEHCJXRZTCSAUWABTIIUYVKTQUTSVKQLAFROAUFBAOPYDWEDJQTBJAOIIDMTFXLEWWAKVCFATRHDZKAKOTKBDNAHKODMMEGFJQRXSOXHDKADTFNEXWVBJZYBBTIGHAREPJPWNVJPWEUHCFQISZRVQXFSEUGETRIGWHJEEUDRZOPDOITFSCBZJWPMSPYJEHMLMGZDNPILPGKEEZZJKCUWMKAMENYZQPUEBUFBKCRIUNLVTBHXIHCGCGFDCGVIFFBZVTPLHJQGYITOIPVHXZGCOYGZOTVIGLZYFUUCBDGYLBKFKZVQKPDNESSLLMHVLRMNSYQVAZVKRGXXSKJFEPWKRIRVJZMIBDRHKJKOKIGOBQOLQIYEWJIKHQXUBSWGEEXPJWXNNDHJUMDJWCJPFGRMJSGIMKBLQGVIDUDHULCHPAQNXXBXWJJYDTLHPOCCLOATFCZDFYPYVHDTEMYOJEBKGYBNMIBFINNOOANPVFBJKWWSGCSEFVTRYKMTKXUCJYEKBJZLFPOINWTNIFCTDULQCJXBQBUZIHZZJXIZOMQNIEEXYZUIRUZANRHLNPKHLXDAWOLYRSVFJDDTZYDCXEZLWPCNPIOTPAXETRSNMDZOEFPGZSEIGIVYHCNZIOCCMGYWDQZUUPJPMEVLODSIKVXZMLDVWJDVCPLJTEKMLQKADDWWEMVTFTNQIKAVXXRXIVUHKABAVNINOIXCCAMOSKVEUYKMSSGFVDNWDUAEYPXBGKZFYWDTLDOQLEMBXCQLCCSOCABOEWZJLCROBKIIHAIPLAXINWSVXRCDKUWFAJFOWNWSLINEDRSNUXEKMQIULWRAOLAMWRNFKXDSABCSJIPAZHFBQPVTNPLJAOJLWKAUJYXHQQQJYUYMWRBMHQKPQPXSQQLWEPJAXMZSLRIOXFPAKCYLSZRMZHKKQOGDJURXPCPRRCXKTDJTGYPKVBYEUZSYTUDTGEWVCZBBJJLXYXMTIDHAWQWXCXPBBYGGIFIVVEGYDLLGFBNZKVTJJJMJNPWVDPMKZWVWHILEBHNZTTAWLXBMUMHOCSXPWINCETYQCUUQETXJSUXOFKYJVTYDJHVFBXBCWNBRUJFCEZMFKIPQBMTDHFTKBPOJBBVIHHYMUOTLUBYYWUFRYDQSDZVTIFLSARNNULURHDVUWVETRRXJZXPCOKFEKJBBFHAELNSSEJOYFYAQNZQDGLUVCFEEMHJYNNCTRDHVFPXLXNMDDCEXLBCIMNBWZWMRGXMFHGMBFUVSYFKBPMKDFEZRBHHHRXVJRTTFERXZMKNTXGEZWQTNQFCMXEOPJBSGFETMTOUERDOMHYIWKWPUDJPYYUVXFNPTELOOPELXMQNYSNBFAPPIHFERPRWIHPIBAAWNSHKKOCPHWSJSNUNKDVKPLKDSEQCQJAOWNRICYEZKEZTMTYPKEWEBSVSMVJUFIETSNGCUCWVGMFFUDECBIAMTTLHTKYISQCOANFHYZBCMCRLCXFJYIPUJZAVDWODEPDAHZSFBCLUKPGPRSKTZMYLZWKGAYWSMNFYXZHDDVKNTHNDTIZYQIWMYBBKYOSZDWAEDBTKFEYOFMYUKIAMMBYJNVPZKIFFTYNCHDTIDQNBVJMCBAAXKXPODNVURHOHGLOXBFIUHDSTNVWMFPMCWYGDKSRUDAPQUYVXNQIAQVOAVUGNXDZEMPXJFAXZQWCRKMPDOHZZWRCUEGTLLZBLVXZCINLISIOPTBTZMCHFAOPVJZQEHYIEMAPVYJLVWVJNKDODBGGNZSTWFRTFJPDOFUTQSCGUMFCIJDPHQUCCQVCVNMTAOBYAPITZXISWNLJQHQALEHZXCHPWKLFWUPPJZFJXNSSUTDRVQPFNCUPGUQZPCKDMGJWRJHATQWUOEGUIWPBEWROKPGSBGHETYWHDRJFAYOVDYUYIRNWBXPAMIPXFQEGTXSQZDDMCSQVXURTVZJYCDTDQKXIOBAIBOPAZAQTFZWOQBNJAFNHMXSBIVIPSFHIQIKIWFCZJRCIUCYPLCOTSOGOJWUBRJCZINOPODVVNNWDKCBCMEFRHUFFGOVCNKLUQGJVKZZNRZLRGDQXWFSSGXSUYFTBGUCJDOHTTRVISYLVHZDJUWVRFKINBXUKGLQTTKHKYVUAFPMQSAYKMSFQYVETMBNLIQRUZXOBSMHBZJGBCQHDOCLJBHTVTYCMOEVBEUPWPOOEWAHRUOHSVCWLTRSJDAYKYOIUIOGZAGCDZNTOOWRCIRBNCRMWOWIRNBYWKZRDLHGQEQCWCBFPIRDWTSHVVAAXIVHWHLZHNGPHYUDUJJQWYIIACRBCGZYEONCWSAIMVVSNIRMXFKGLYKVUEGKJERMSGFDVZZTPQCIQSNSSHYOLLDCGAFJJWDZETMPUVEBYQUHTNPEKJEBDXSYQEBXBYSBIWXDDXQBUXFWVAEKADWUQNCPNWIWAZPHFVEQXNVZUYPLCTKNRTTHWSMGFZIYNKHGCHTKWNUVGZYRPBFWBEVPAHUOEEVNTAWENXQYJRJSHRETEZYPHIEEOTUMECTESMABXPAYKPGUWXHTQDZVGSTKPRVTDTTKLEPPWCHSYDOYCHQSMZRTQZRECBNNHPQETYVYLKJTNHMWNWMTQYKBMOGNYCWXJGOVFAQOWIBERSOFJIFNFBGJLCZSNLDDHUOXOEQCOCGIKYMMTTZHDJZMAVIQIWHUVCPPJEQLGYLUIYYPHJVSRFLRGWULNGJNRYGTTWVDWSEXRTWFNIKDCTMKFENOZBLHPXTIMFSXUJYAUFIHFVHHWCKWAHPFHDQKLQWNXXXYKXAMUDJZNOMJOVNSUEGNTSQNTLKVWBOBJRBJUQAPVWZDDQNERUVCYVIEMIQMJGGPXVNZQYFFEHWJLUORVXVODBNGDXIXNTFCKFWYMGWCGOIZTTXQVYUSUPBCSLVSZYLYFEZMLKXLNVIJKWCKYTXBHUMLYPTGWVRHQOAXNVXMIOLAILZNWDKFRWWOVKKQYNUXPMVXTTUMKNQTNZEEIPMHRGYGIVZDKLFLUKJOVPBDLOHSLUOKOMLAKFVQBKNBSWBLOQUJICFMKDBWZIQFLWWJRLFTTEULAUQRKEHKTJNFSSXBVOVUEXEVRFIHAMDXXSGXLHPENTNRQUDGWBIFEGJOLPLXQCUXICQOOKZAALTTCSQSCLCHAUOOGJZQSYUTRSCJJSAQNJEJXOJYVUCRRLBUXZSYSXXHMSUWYEJLUBNMSGDNOCUMEPVUERJMMYIAHXFJNKPJCGTVQDFROXUYSBZXTCISIEKDBINLNPELULUUCJTQLVLINPXWHUMATTNYBRHNVONLJSZZAEXFKBJHCBGUPVRWEEINAOKYSPVWFPCYULYBNHKPMFZPBBWWTKREBVPIDCYDHMBYVJIFVWFRUBSWOHEOQNRMNSMJLETKWDXZRJDUFXSUGKCPOLCBBOUXEPYZPEDRPVPHPZGKEUHAORQLJKERBRSOMUYCNFZZAXJYSIPNCUAPJLMCXZYCGUTARCSGUWGWOEDNTVNZHBAAVIFOIQUTWUUUWUHGOMZSZUIPWULQVWDDBWCERKEWCEPUTEESJBKGBCAUJMTGZDDVNTROOMOSOVOJHBFGEBHUFTBDYCEBJTXWUBHWSWKGMBSLCTOYGUZIBQFDQXPQSKUJVJRWNSMMPXTAZQYWTNYKBSJFMONYURXMLHSRZMPEZVWYKGMMPAWPKHNTCUGDYKQZDLMYOWNKZIXOXRTYCWNDKSUXIQLTJLHHRDFTLIUCSVHSJTEYOMOKRHGQXUEBZSCZBVZFBJBJFABDQVXDIMRSWAUHKOILQKPQUUAGTSDUWPFUKJMWNSLXZBLEVMFQFMHUBRBZASOPCEVXFSZDOGWMDEMUWYPADWSLQEBAFIWSPXEOQEXOIJZEDUGXXNXLGAJYLNWHOQCVBFFPOMMVRJLDLLZWYYZBRVKPWUROLKTBEGBVLOJYOCSSFUXPBZFUBYUSJQSTPQWUUUTZTEYXKWGKQREWSKLBQZHPMEAYVPSWBBDDVMLAAXIDGRJZGXJTIKOSXIIYUWPFSUSDMJZGQGKAEMNBCOBVDCGWXOODCIFLTYNWFIUHXFJGVZERQHTYVXWXZXYZNERTXOWJQSQBYAEGUHTCAWHMODVFPRTZWXZBNFYGBMIACXJWKCOXOVJTCNMIULILXSCTIKAVPKCOWRVYBUHQHOIIQHVFIIWCZZLCRAGGKRMRBVMNUXDTKZLUKONNCOCFKBOAGWVNTOZZZBVOHCSJGTNCWCKUQVXQEJDFDWPDPPYJOFNDVPRZYQLAGQPMLNAXDFGFCVAIJXVTPSYIKXEZAJTLHAIQTEVJWFQDDUKMWSOETSGFKLVWULTLIJICEQWXIYQHBSIEMYQBXDTXUVXZMZUCBTDYZZGGUWUSFDWIVZQZTBVMOWGGGLINECPJPNQSRMGJAIZWPHPDRHDKBNXUIEPAEODUGKEQAVFJHJHGJZUHBIFIGJAFOFKEXDAPTSXNERSGOKMFEEUVTLOYOOXCYPVGYXTBUKFUKKZYOZBKATYHFVZFADRNJLAWOZTLIUDJHKLVCECTNRERVKSZZFMMFYMCMZGLXKTTPRLEJXQASZYRJBNEJEVEMRAPGEQVWHJJVOCVFUMQYOMHZJIHOKJTRPGGXNEYQYQCKFHPLZITORQLACSAWVFOHMNMIGJOMKTFTHOMJRJMXLLDRNROEQBUPIUCZGZYZZASKQKEYVHNMZZRCJCADQIVKEYAIIUNHEEFHXZHYECCLMTXFBDOFBVACUWPNWIUSJQFSKFPUQWFEMTSJMFOBUWGRHJFEPPYBTUXDIEDQBKULVGHKDSVZHIMLJPKRXLZPDXRYIVQRKEHPZIWWSFKLJMOOMPBGKUUZBJIRDTJABJPXRGVQROLCRWWOTUBLIGBFTOWPUQXGLOECZIGGFTCVCLOJSFYQHJWZULDRUGZHEXPIWREHUEGVDCZRFFSTKNOVTQGZPUAILHDVVWZDFTOHKNMNBSUBNEVFGXGLWQSWAWRJYJLRYGSQGBMAKJMJVZJBINZZXYCRNQBFYFBYUFDBJSGZVUAEPADSXQYHYJFLRBTFRFFNSUULFTCRMMQFGKNWKNCLNFTJJCRCKLLEZYBFGZWRWQMUKXFZGQXHDCLQMYQGRAXENXWLMVBZJYRXYFCZDSPHVZQBBTIEBQPBROOVRWJMEAJDRJMLRREOIENSLOKLQGRBIKDAJPGBYVUETUVECIUINRRCMIJZYFHQDIOODREUINYDTMICHKJHVBJCNAPYNARJQEVDDILHXAWTAXSXHNDPYJZCGPXYYJNXJIZYWMLAXSPLTERGVXITGSLCVOAMOPUXSRLECOEWUUQZZFLHTAUICPRMQKBBZCHMJOJFYYTGPCQIAGXDDKPFXREMTBPTVHUCYMMZRDWINJFYYIIDEEYUUQRVCFADFMYYYHGQKKBCILGXAFMELWYXRAPLNDYRZINYXALWNJQHUQQUPTWCWJTZSMSCYMNMMZCQSLFMHZAZJHRXQAMEOJBQJEJCSAXVUPOCDKFTRMYUXJBDNFDPSRAUYPENUEIFOCSHZCIFSIACWUJEYXHERKLALDIOKKNIQQYLEQECASLZNYRCDENTGMNKAAXJBMXMPLUVTBRNHBVDMQKPXDSDMUIBPNIXSVBOOTSZLATXXEJSTRUKDQXHTVEHKWSXTPTTBBSHJHSCQNREKRITPAPBKYBAIJOGDQAOYBOHEBUNHRCLEJTTLOMZFDZDUQACXJSLJQFGNKUROMDFSNTFXOBXQAKTYQPJYNJQYRRYNOKMLTKOEGNTEKZHSPZCZIQQMKPCNMDJMDDQUHQSFWOJBTLHCOEKYESJTPZWLTUGBJRFKCMVTQJBDZSPEAPBOCWLBMOPAXPVYCRJEHCXCYYTUINPTUANOUGSTWFFYBXMXGGYSZXOQACLNOUFRBIWLDEKCRHGEVXZCTIKIYBJTPYPHHKIIMUMDAKOXMEOGVMKVTHCYABGPHPXZULSKMXISDETVBQKAMOVFYUZYUTDWIBCPGAAZHLDWBEKXYYYHFRSFOJWWNBLOAFMNIGXIPKZVGSLNZZQLVJKQHEHWVCHRLMCAIRXTPAZMSQZQXFOJIMKLCOZPKFQYBHKUQZEIXMKHJVDLZICLQQMAZWGVFOOXDQJBWVZODWRYHRXALSXYPMGHVDREMNJTFASUPAQDKOIGYUXPYFWWBQBBYEFPEQHILALUFSKQDIOPVXJTCZEQMKKHCBERWILQWFMGDDDLBBNNDNPIQFPSDYFOXFCNAJJKPVJQATCKHILMUAFKABCJTCGWRBAPAILPQBQMHVSYUGGRUASTALWZXGTESRRSRLWNWBAXDTYEGSGPNSLWKYMOMECDZKNZDBLRFTVWRRSDGJTCISYNHJTFDNJMVCNCUYOYOXIBTMUDPUZLLEJNMWJBJZLRIUFZYYDNJHIUUGAYXOESJVAHVIELEYUJHBEFAVRGAOSIIGULINXEIQBIWTPHAZZOLINBFUTGNGOVYWMKEWPBIPATLQOUVJFQRNLAZUIKEVGMQSKTZVBYHNVVPRCQGGZKLKULBRMGAFUBBWMRGQZPRYYZSHRQPFGXBYSBTZXBUPQQFMAQMKMSNQWGOVXYBKDJEJUQGBBYYAFEHWYJEEMIDCNVKAZPKWVWQVMXNMIPYAGTYGUBRKQDYJOAWWJLQCISZTQMVVLKOJTZHWDNQKIRFMOXDUFULLQHQFEKXSRZVNTORJKUCCGSNYVLIPOBJRMQQLOPNFHGXRYCVUYCKKMUMHGSNRNVOFFPKCCHXTDTWBXDXQUEIUOKEZFTNXSFCQISSTBPDUMVWTSPKBVMIGWGWUURRHCCCHBOOEHOVBYYFKVPGBXGMODYFQWLTTCECPEUAZIPXRDAMDESUGBGYAUMGWWRCRINUYTHIXPRHMTWSVNDTCZDMAGHIEAZPVZGOEHVSGSCCWVKXTYVZRTZAPJDJNXNKEZMSEBQNVHPTWTWSPKNUFNXTKRVZCOBCNPXAHBAWWDLKAWWLOBYTWDIBXEAZHTBXVIBCVIWATCRJXUDIAKBCDYINIPRZDHDLOEGAAHUNNVXIIMUGTWTQPPIPCGYTGCDEEQUTWMXFUCRQMBJYHUKCGFZGJCALVQNMIBMKSOFCNDHBKMKALZPCXJYSZKEFNFUHSKVGIDWHUJQHXMIEFVHGFCOSDIFRMKCYZSGCEBXBOHXFDQGRHVIJCTEXNJQVJXZRFCSGUUATXRPUOOGSTSIACCISUQQFKUZPLXWNBFSXZRFLSERATPAZHEPOVXZAOAVAPHQBDJRLLXINDQOUOXQTZWJATIKIMXIGQDXMHHWDCQRVTVHATPMIJYAEDRQEVAIINHRDLSNJPJPMTOUOSJUTIHGUQAWJGRWSTVXFKZRLGGUGGALHTVIRHEYOXLZKXKWDKJVQILEAFMAWURKFFKONCAGUHJXOQSIMQCFFYATBLFZHNAOEEKOUHEUMOJXIKDTJPDFGVHMJJHCJEGADHEOFJBGXSCUJJLARUQJWCJYJRUZKJHPWPTDVKSZKJNJFBJKWQHJRMOLAIAYCCWLDCOEAMKPQBLPNYCPUVWXHHBWFUZKCGFAUHJANVIBLVAJGGGVXKSAHGMVXHUKEULKLWCSAQXJBMDYJTMQKXKFUGOEFLPRKQWKGLCASEAYPXNSBTHDPGLGSMTQGXRWJESWZNBEVPSKWFZCZYDJAGKUSMNAPSLBJUDBQSXVOQOKBZMAKEYMQNXXRFVWIPBLNPQQVKDQXXQIOIOJDDPDTFSNQVOGPASPAPBDKPECEUQHGSHFRFTHEAYWBYJQZLTZFNZKXOFLUPVUFRPUJTFRGRZOHGILSQONHFERVREACEAJYJGGUSWXZTUBDCMCKFMATXFCHDYXXDKUPROWBYDPJBXXVVMXWOHGTICBFGMPHFOUVYDBIXKXDJTESDVFLVGHAKLZENIUAOSEEVHHVFVBXXOFBQRXQSGFYDGQGFMONUEGUYTDHAZNODXCCUGPXCEVRIWRCJYFYGLIBVNEQXAWWXEDJWUAIXZPELSTJFAGJIVIEVZMOGRIWEIKCILJKURHHUWSYIDTHYUADFEFJBEPUXCWWWKSCGUCYXVUVAZXBZVYHHNONSOCZLIPRTCHGHURXBGQOSWXGILEWMUPQFVMUFDZFJSVUQMYLDCZRGACSKDTNLSBOMWAEVHMQEXBRELQGIKPEHJSVJHWUBLBUUEYTGDXQKBKMCHISOUPVUVYNVVCIXRLITZCMVADQWBGNWQYHMYFFSXBIQNERBHNMRGTDNERJXUIZIPZFRLLZDUHEIQVHOMWEPIAVVWEJNLTGEZGDTYDTMZACIABVRQCWKSMYDLZBOQLULERZMUWNHKZSETXRDDLXTLKMKOIBDZLDLPMHGYJUSJBDUEHFGOGDHTCRFRYQCGYQVBHZEWZLCAXRFRBWSQKMODUFZPJQSQAINZIJEGGOMPOUYFTTSJGAAQLNVBBRSEDCHIOUOITLIVQRXUKOWBXVWQYYRVPWMEHRSZNZKSLFCDFSPWECQKETDGBOIEAYCEASTUYHIXQHEYCBAMQQMVBABQVXUTVWQPRKKYQZXLOGGFQFAIHWJHTBXKWIMIWZFCOTZMPWJRUQJUIIIYTBGCZWNRLNAHLLSJNHXZCNJJIWSEMBEIIUDUMGVJTYKFGRYRZSYWVGJSMBQSWTQXAFURQSIUEHGOXXUECXKKCFXMSXYPYKDVTTTVXEIPGTMPBOQVTIUIMDYWWFLXCKQPPBFHEHVJXIHBPBJGVODCFRLZRVKREMIWHOADHVESILCEJJFIQRMYMFPUMNZKXCSFKBIDNBINRAXRJWVCNIOBCFSNORYZPPDNHLLLZMVZYTAVFRFANPWVIADRVKQTDFTXZBRZLTVOVLAKJJDAPJWDNSPSFMSDBDLVKVHFWWSNYEIRIPCNZIKPBZNCJTLVNQWDYGJPOFHUKJXUDQMYOZGZBBPJBSTTGHEMCNWYEKNGNOIIKRNXLAPELEPSOCCJVCNIFZIIGCCZRPXINGJQWJMRTOHQPONVPNKEOHPNROKEGEMCXPIHROFSVDCMZRDSLICFUGJILZGTAXCEPEWGTJVEPNHVLJATFEMELYWJQIONSLFYCCWDFFTLPGOWRQTDUUTGLZHADFTSOHIGHVZALYAVTACERGHUZTVNOVTSYYYKJWQRDEELHUCZXUMHDSWZVMQUNWNIYCYYLPCPULNYYDUPADDAEABNPAPKSRZSOUIJWKKFHNEWOLMMVSVMUMAQBHPFDYVIJEIDRGIUYGCPEYSLUCRTKKWEUUPNHTLBPFTNYIXMFZXSQXSGJVYTLDSKJAOVMTYSRMDQLKKVHJNOZZUFMBFDRYETOXWUKYSHIDVASZOPVAVTGZZUOEVFFTALQQHWAHFLMAHUKUYJVKUZRAORCRSMNLWIEDUXIWSMNNOZUGYSOJAPCDLBMYOZMCYTEKMHSYGSYIZGQILJNAXQGIVBJTULZODMEIZQWRKJYBFMGMHSURTTCZXFSUBZMQNAOGVGJNFWYADGTSQQFCNWQQWMJTARZHCUBYKBSHADQIEEJCXZQQQCDUSIHDIMUVLUKSWEJIFHBRUOMPXFKQYDHFIFQLXMGCWEZPCPZHEAESBSLUVHAEPWQYHRDSFMVNZFXUSMKMSSSCBUVRORBPKVEZJLGLRUOKEWUAIHAACTPXAXZBKXIDVLVQBKXZROJTCVTKDKRTUMFNUILVHNTULJVVQIBAYLETZADFZWPKKEBURXVUXAIFHZTMVIIOIUVMDKHMACYCERZYHMQSXQVEDAKOGMBLJGPUHRLHJSEXEYCBSIDBYVOJWJUDPOUFOVCGQTGXHXBKCVWLUDNTGSMFIORBLNQSWCUOLSZNBHQPEZXNVYPETEKANBOIYPNAIPIAETNPAQZBFXQVIJAQOQYQQMDKBCQDEGSKUDCCSFAIVNLDMTCWHOOUNOXBDRBCWPBTMPODIVOOHBPMYCJKDWGCDNWVJYWVJWZEAMHVBJMUCOYFDCTQWYEROPHGMVXWQNUOXDTLVKWMBEVLXAVTYBNAXAQEGKPQMISQPIWWEVHXWBBRVPSIVNCNWKDQJTKYWYZHALPOBXRECNABJWTNQCJTWOVPOFJUZQKPLWLQUXVMOTLLLEPZKNQCNYSLHPXTELDNRYOBOGFDDYMFUUMPNSOXZMCEEYCPYHMVNHOYCULONSOVWRCYQBHHCOHNUDBONZNTXUQPCCKOIMQVWTXGHPYOJZMZLQPXZPTPQQGLVTIVUVZWZLKMBXRGQJQTQKDBVBFIKKJVYRQKBDPPIHNPIHMZZCPXDQRUDIEWENFYRGJXZZUDFPOEQVTLLAFUJDCXCLVAGMUCKSOUDBNCDMYYFRGSRBEKSAJUNJGZDGPQDLTXAKCJIDPMOGHUTCRGMLNZKFJFPCDXVQRIIDJZUKBVCLZQEXRUAQRUPKYJLADYLSMVCDVKBOOYOMCGETKIKHYJZZFFUHQQOGEDVMEYMNBHHHIIZFBMGCDQXOBQZJIRRVPAHFPFSWOYPKCBROCHSJNAGKUEOXUCWHXJGJHUEXKSWHBFTLIJRGBTEHXTHENTQLMUZLKFFHHBMJVYIWAJVFFZOWPUJIYQJIKFTCAOKIXLSBNFKBLSWVZFAJDSOMKSIIJSUWLHDHFLXJQHOOIAQCXLRFIAKWUDZZKQNWYWETVRZKXSVIREPTAGCEGTBZDFINFQZWQFNQXZVAROEROIDKQGZSFPVBLNGNYGKMJKHGMMTINJETHFWRGBRGACFMPVGFBACGSHWOSPCYYPEVXPAWFSEQVEDFELXJRPQWQOYLXDRCVCJQYLOJWXDNUSBRHMILJUPVAMRSVHWBPYERIEBODVTLAJEWPNKZHAIWMOZCITWNLNQCRXAIWMTEGKJUNXWBRLJTFVTLWLGYQKEDPADXTQLHCODDTAUMKCTDZGGIZIKXUVQQMLPXJVBUJDXONXBUCBIXJIFXZUXZWITHBYFGCDSAFFPRMZRPHZGGDRHUYIUHHOGVBEIBFPFNKKDLNDAIZNHQCVLTOUBQMPSDSMKADMHGAWMDECZMZTZKRWJHKELUKOKVENTKTNUYEAPWCNMIBSNNYGSRYBZGKCRSTZIIBLNFYQNGUIWFGCBQWYFQGOGWNEUQMLJBVZRIXZYZCMPIWRDCEJIZUZOUDKNHHTCATTSERYYZVYXSSUXMGBSDTLBAUHRAKKZDMPVDZPMJVJSMTNYNPBXQHYWYVNQMNQUVPIHDOJSNPFFJGBAYQTDBLKLPRXDXOQGDTHDNBEMDMTRTOONGMPMWSZPSJPRNUDCRTYPXUZXEUCLGRFKBGYIUGPSOZURKFNBFBRJZVZCWIRCVBZJEZVQUJXCYVTGBBQCGPVCTVELPBMYXHJACTXSVZTEODEXZZVEBQKFSFKPJIBMZEWRKAUABUFUFFBOQEMKXENHZHHMSIQHLEEAAFGEMAOHJTSZUIKTNPOMMOPTFAHKPAWQFKABDVUJVZQYGRMLIFKFEEDQMRTFYKEKRKMTRXZLTAHDFNVYGESQAYKODJGXIAPLLHMTKNTLDOGVHAWJFESJOTKDDBENQAUXEPUBZARZQTUXKKOJIXDMGHWYGUKRDILCJTBEWEJIWPQQQOLPFFEQRPMDUZMMCHLDDHAJUKXJKPISIXKKBTKHSNBGERXQWRFRIOAJJTONDEXHRIGNASBFQAFHXHRCLXOAPDXOGSVHFTGAQLFXZSUJFQWAKBSKKXAYJEDLSQSEHSKNHBZTRLSQZXLPQUWSWYSSCCKPCQRHPHPXFMLXVITKZAHDZIBUSOECXFUIHWHDXFEOYSHHLXCNHCVYVPEDKBHNVOCSCMIPSTLVCEQXPIOFRFHKBFDAWSMETDWJPJWLIFZJLZUYOBKRGVXTJNEGHVLFBDUOQOXJZMMPUVNVMOULOENIOGUHUPFHWCBYEXFFNHQHWSVDJLZTWXXNUMOATQMOYTFMXXTHXNVVSCMVWDMWQRCSNZAOHAEJVBWZXCGBBTVFTDKECSFJZUBSAVQBDGIXJUYNRGUEVLODJWRYDBMWTPEUUAWOEFQSIGZLLMQFCITGRYHSKMDTAPQDUPMYUGYGSUGUDCMPPROTQCUIULAAHYTSYIDSYQPDBFLHJTPIPRNXHDQSEOCBXJZNHPCFUUXBHVLZXSZXSXLEGPWIJWPDMYNNIQLBCWEZGRMDEWWSCBWQSNGYPYVQQNKYFSBNMLFSUUSGVTCTCNMURRGQPARMLTDABNSHNURTDSWNGFIOECULRNZIIEHEIVJDIBLCTAANFTECYGVLZVXFVUYPZQFQFTVFAPTJENCUTQSXLVTLFOQPMRDVEZPIRLFPIBCGPZRKJXIOMHGIQIROICKPJYJEQWLDZRCRECMICFMUFKJQEFHLNXUGRSGWXCHSCCDAEVBMKNKVRVQELXVHGDPYJBSLDALFHVPLSBMONRDEZYGEOQZCMRRWQJGOVJGDAJFHKPBRPCRNYQAONOTVIDPBRUPMYDJSWMCIRGCKTMPCYKMNGNQACJRGLXUMBCQQEJYPWERGPRATYBXNZPQCDJPBEYOZVBMSIIJJAWCVZZVNYVOYKUTHDMEFBYTHCTYADDTHESGRNKSSCQACCLDFFGRTSEYEXOEDDYZHKXIEUAIYBTCISSQICHQLRJHPNQOPJPKURTHSKBBUTCLDCUFGFEUSRDMUEXOOQRIZFGBUYGMBBUCBOMLSSMFSGMPPZADWKSLQTPCCDQOEQDZIVRMBLFYDDZHNQGCPFBCQFVVTNSIFUOTQWFFYSFDHKQPOFXCVAPWISYYCMRGFKBCAWGROWVGDOQJKXHLAZOEVCIXKROLMWPTGMCIFNPYHSGQFALYNOOUCSQIAIBWREDMAEVBENAVJUJYFYWIIRACQMRRJHCLQWHEZWTMVLPFYSRPVNGUSTKFJJWPCNLJXFPAIWFETLHNUYKFVODJDMAOSVLDBDEFCTTYETKDBBTOWYKPBDQDTVTRTAQLNUURLTGVSHAARGXVLEMHHJZBVNZIVAESHYMALUYWXEDAPICMIJAQZLUIGZCEPCXIFGYVCPWGZQUPVOZFYNVQRCWRTAKNFSJAEVVAESPPJOZTXVPZZQFTUNVEEELESMRMNNJMKJSFICZJAQGDEALIYQFKARFBXEDIKINEFTVIHCVTCSDJMECSOIAPUPPJWTJYIDUMXIIUWJGKKDGUTKGMPIGVGUATBODIHDZBIGHNDDAWAOUZRIWCCMYCTSTJEDFBNLCFRYMHKWUZJUOGSBEQABAFESEOBHHIQOXNMOTSWTGVSRDEAODLQVLEALRVWBSDEPJJAHCKKOYVYMPQCIQADSAXBQQHMBKGDWABJBZMSDWELLXXULLOYXQHLOSSTOWXLRLGLECNOGGBUOORBVBZBKRBASAWUTAIJYIDRQTJPUPWRKCTZQNOYHTVQTTVHYUQAXHVQTIESKSHDFTHABRRKSBLOYNIFRLPUXWURMYHZTQIIBWVKDBIXAJXIZSDDXQINASYSAVFEONZWJPTFEFSWDJITGPPLCFUIFJSENBMOVQMVCQNHPPDSKOFGPPOCUSTYMJMULFARHBBVQSFLBMZXQQPUDSWGXKTPCOYGLQMEWXVPRICLXRYMOXKMZCUVFTYZXOZRMGHFLUQNVJGNTCQBSIUBAXWOTIGWIWXLKXTHSFHDCMNIUKJJAQPJFLZMIBGLGRFRVZSMIBPKGQPEODCTDIKJAXECTXZXFLHMQQQOBPRMADPECJFVNNENMRKXVTTENNJSHEDCXDNUWJZFGWFMWWHVIMKJGUHFKQXDXNLVQUHXARFURVCUBKQHQKIVILCMZSFCXPMTSYJLNPBZONQUXHZRTHOMWBNCPDIOUNZMFHQGEXJERTNXIXQJPKZABPOSYIGARREVAXYEOAAMPZNNRNYOUVMMFUIJOBONOHVBLHIZJVSRTYXBLAWIXPQEIGWKLNGHZDKHQAJXZXZTXHHPOJYDVYKVYJSQAPZKFLNJMIUHLYPXAVTYLTDOVZWKJJBYIQBAPLMGRPMTJXHGTTOWLECDBCSQJONQACDIMSRHVMNSHPWBWYTWDGYGAOQQYJERLGYVYBTSHPFLDDPWOHQOXQPZOBZKVTDISUUBTHCEMMVGRVMQHNWVNRTEFOIJGLGKXFCYEJBFNKFUXBFVHGAHKLSPALSLOQSEIEGXFYGUIDHNARDAWHNRYXKACAQAQMPIVZYVQULTHGSWYYDTWZLZRKSPGRAXRPXMTWLWEEWVAZLUEVTFDPNOTKYQJZLXOLZPXWJOFQTEOFENQWAXSLDHQNZLMUMUNYUEQTLQKNZHDYGUMAEELCOQXTGHZUBVFSRFAAQXVQANBWOPHTCCDUZVDKBTARBPDSPEVWJEGAYIBWYHUJXZBSADHDEERKRPRMMUHCSUHHLAMDSFCNTAKJALLOMEWRAMYJVWBQBVMFLYNUSJFQXVEOIFTLKVLNOFDVNATWZEHLXAHOTDSWXSIXDGFIFVJSTFAESHSZGFLDATROISWCCILQDFJXPQJZPJBYQGFXAHYLTNKDYSSZZJSOVODUXZFSNSDUWWCPQTEEBFKGIGVFEXGEIOBEQYQFBXZWDCDVLTRTENEMPBQKWJOSQBFMCFLWUAOGCYZZSOSOLEZDXCCGDEVOZHNMNMUDPDORZDHUXEKGQUJZFIXIDDRIXMVQKMMGEYXMXDUICASEEHKILWUEWRXMRVHXFTQGZFTAGVKANJCOQTBXIJPCQEREYMDGMPIAAZYHPWWHBXABYCAHKEEYTZPQJKQJHIIYCHEMOICJGGQINNHRTHCNKSUGTEMCRFHJPETFTMXQUPVIPTNIVPBKAUTZCBUAYIMQACWMJXKLDBKRXWHSXHUEQORBEXCGMWNRODVFNAGJNRSAFHZYLTZKDIDWNSETCKDTIBJFUCTWHIDKQVMODQAHZAVHSRVJJETRDQCCJGVLLHJPABJFWOVKPUWSGKPQJHJXEYRLEGKKCAVXSNGJHFFEDGHCVHZGXASDEYVYZZACQGHTIIMYRSAAMYXHMZZZEQSTTLHLNPZLVYYCOEKEVYSCLBBKCHGVSBPHXLFAUDPTUXMQYBBPHIZNTGOFMVQETICJYQNBKBNCLAQDRKLTJCCWKUZMQTSGDXJRGXCFCKXJTEXZQUHNRNBKZFANSUUFETANEBMTTFFKVUAKASTFSLBDNJXVHEGPMZLJFHLUAMYWOXTPNMKWDAQODPOCCWZDFBBFGQKGLEXHYRYFEYJMGFEGJQLLAZIZVBRUFGHWQDRFHFISBUSYYITYOIKERBWEIEENHVNPWLMSHYUKRROYHHNCRTLBTMOHUPKCBKTLNAWYOWWSQIXHOVLANOUUWYGLFRSGXTCBRDAYLLGYYXDWRSDMGAAUXDITTVCRWDFNIUJQGEAWCCDYYVTUAFQDKWRXKWUBQMCFANBWYPOJZBWMXCDDHBNBZOZJPJVJHZFETDXBJRZQXZGNBMJKJBAPAAQCJOIDWDKEHUQWSPGXCCMHKWVIPYZIYXVZBBGFLVBCICLGIAAGUHNOYZFQRFDKDURWEZFCEPQHMIPWDZOGLEXUZJWSSVWUBFWIFWGILEDBNMNBMDGFSEBFDFLBNGDNXDUCHPTICFWWIGNXXWMUEEAMRMHREWHZPFKMWDNGQPXSNPIDJRTCODDPARBKNVPPVWBFASUXISVQSSBTWZJSJGRIBAWXNATIJENDGJVBMDIUFHTEVENUEOXNXJLIIXLVZMJBPLIZAULKEGOFBUNXYRIUZGCTICMHSQCFPMMMYFYXPGEQECSWXJBMFEWEFRREUYGEJFAXQNNZOOVUEQBCPCNELAFLUHZLYHPDWQLZUUATOBYUTGIZLVLCJAPBGNXMGBUOGAFVFKADVYUGSGXIBXRFUEOPCYEHHFWTDRVUWXVQDHEIISYGAQNTILOGXUSURVQXEMITDFWRZBLZHSGSNEAWYOGYZQOBGDLGCLJLMBCFDOOCEODNCCYHGMITXACWAREDUBEWUVLLOOIWKFHBJAXSSTQNBCTWSRTJJKCXCIJJTCVRASBWCPNADTFGHIDOCOWHBEYRINTSIBYHLHQAKEFUIITTRHIYDPIUMNRJXDVNBZRPFBBLFHVQSWINSEXGVTRIZKQLHKCPWDPSWGPSCPBZXAIRTXSOZOFYBLGXBXVNOLZQMLIXFTBZDLKUIOUJBTZBQPGBTQOTAGMIDDTHLWYDHGIGCFHUHQPEANPYBIZDHJHUZLEWJHVOBDPWFASOFEZPUGFJLZDBPSFLFQYKRNLISUTHRHASDMQTGEEEEOWOILMXHCFCDMFERZRITYZTTYBJWLUNGMJENOYYIAOVRLHGOTBXXMZQKPAKFCEMLLWWVKWNMWSCBAPFBKBRRGFYKLIFWJEJSAVURVEPFQQSNYRMIVOWULTFQMFWEDKDWSNZPRPNDBDIHPOAVKQLWVNOGFANCNCSYSLMXPULDWIKOUCLXTNMUDDSMGNDIESFDVUWOIOZYTAQVTEGWVKQZADCDOXIWSUAJPVRALJZVSXLPLKMUQXPDUICZQDXKSPPOZQQTNJPEFFXDNJZVMSDONZLXUUGMDQFLNELZECYDWAFSGJERNVFHQQRWNIXGWDHFZYMZINRWJWRHTKWFJBDDPQEHQGAMGKAGRLHPZPAVUGJEDPPGYMHALFDMPGCNCIDVJRCXPCCGJQHJZXVINVSFUCTGOUESOLIEQZOJSWBEOEAHURPAERMLAMTXGLEJLBTPBTTUVLLHZIXSKACUFVAAOXJVLDMPYYKNLFXUOJGWZEFCWOOLOAXOTXXDYNJCVXCATWZZVROXEKYACUHPOKPEVAWPYYBMNSADZMPEODENNKAOMOMSAPRQHPYXYBRXEDLNJNRYQYSPUZTGATNZZAMQBEVQTYMHVOKNSJQQCKBLBSACQLDBJKJNNRDRMRJPZPGRUCIKESLDAWDPPKIEWKFIOAMJCVUOEPZDVPHGJAEMSYLJWPJYEITHMRGJBVQBYXEAUVAJWQBRJSAMVCFIHEQVHBNZOPMEPRPGVSQJSAVRIXODKOMHRJNUCLVOFSSYGTCWJYKJVOZQUTGURCKNZRCTADJEZUTCFGJLRMRYCBNEAMRQCTNTHWXBRKZHCZMCKGGEGVUXMWOKBMUFYKSATKTGFHYSMEMXXNGMJRNTWTMYUZVOHIAANSXUQFMGNGDEQFTBBQXIDMOJCYOTUVMIAVRMASLAKOUVFMETJCKSHYABCPZDJJSNQUHITVBKQEDSVNYPFEKELKYXFDODRLETZWWCBUNCGSCYVUXCEPIUDRGYITWRINAVAISQKJRRUNVKHNRMAPADOTENJLGPAEGYSOVZCTIWVBEEYKAQFNLUKRQQBPDANCKBQTEFUOCDLPPWMCJEVCSXFQXGAGTCHYMUPJVZINBBFBZCKJEECLUFSYLDCBAAZUBUBQDRWHAANJQVHFRLUYXJXYDNLKZHOAGGMEYWRROUFURDIZNMFQPEXRLAUNDSFIRQONFNLNBIOINAQAXNRANRJGUPOXEVVVGQBPGFUOJUORFXFJJJVXJYIBKYXHOEAXQXHKOOIJJYZZCOOVSGNSLQXNXUCSETZZHIPQFUYBEWYZZHMRCKUNTZLNIPYGAVKCNSBDHDFRNSMTEBWZOFLYUJLZQBQXALLWEOPCNZLDXUZUGHDQMSZASUDBWJOORECJVTMZALDLXHFYRJDJQGEEWGYYBADNLOMFJZVCPYHLNARTNYODMQLXLGLUEGHULJSTQKNELKICXWVDHVHCBAQEVIFXAFVRCBHHMXERORDITINBEKQEKHGRJHZLEZMFWXPQGOTHLBBWOHLOCVRYJHEBQZRBYTZDXQBOBRBSVWXXJQIROPXELPIYVEMIQITSRQIHKNPQZZHSLUUWNDMPOMLFVDRRSUAXWHAECFMYRIEPWBZJPHCVHUBXLXTQFATCICYDCNASOMKZCHCUTUEVUNSRFCHDCXCYPTKEHOBPDWUFXFNTIDXQFJSJXDWDXHDZOQERTNSTUGXARRRTUDRKVMNGLHFECYQZAUKCDSMFWKABVXLAHUUKHBPFWKHZCWZJMEEMEJMWXEWNTOZZAEIRURHHXZMMJUBRHDMXMOGMOFBKWLBBWZIHUWCIXDKXGLMVQPLZTFSQSRVLRYOFJCVPWRGTRJJYLBZFUSNVRKARBMBIIURXTPNDFZRVFCFVLJUUHAGAPVPXBXXWSOODPADPDJIJMYFMYTKCSXEKQXLZZCFUIMBDABUGQRWJLRZXMUTAXMZHBCTBFUZJHLBHAYXNEEBFNDTJFRLQCENVVQQQUTYJKZFQPVYRNDAQLQNKPKHLIWZUWYKKULKDXYLZQJRVPEIKOHZGKTVMCQFJOXFXLQHMQODGSUDKCREXOMZYGEUWGWRTBSZHZDFYVVKVXSRUKFGDCIQWZGBLTBDWCTGMCHYWUUGAAWYLLTNBKKMBNLVPXKOAMMZWCVUKPWZRRTZENXOUDKMNCZPXCKHQJJFXQZDKCWRUCEFLSRBAUXKQBHLOMVFBVRJSAMNAEVVAZHRIWWAXRSZXQERQSHSNZXRKONQPETTZELWFJOKKMQSGEBQAEUHQTMGPGZYXAJPAOMICWSKQPHIIAULBFYWUGUXMLGUNUXLZSAQKAESWWCXGLUIZUSMHLFAYXZGXYNUPKDDFBWMAHTJBYBXYPAQDLLFDENQUZBGLWCVAVEDDDSKUPWGWWBERLCSUGVMSDUJUADIWKZWNFHIGVUOHYQVGKCKQGWSDSXJLHICHLQVISMIYRZPYTOZUNRIVHGVIUUSHJYUFYQBNISRVPIXZHMUZDQJSLQQTGMPNUIEXVUEEEWDTPCDJZHQJXLZSQVYTRSDTGIWJOLELLEBAZYSZAJILXGJDJECVZVLRAKLDYKSAMNNKGUYWPRLEOECIEJJHUDDNVVQENNJLDFKJQDZFZDVOMISEGFTNJYYENFSIXYKMMSRQORKDTKAEMZJSRPELBBRKSIDLFQGYQFICQOGJLDPQRAQPFEQIEHZTPLPJVXWTGWODAWTSWTJFRQXSNTVVFWOTJNWDRSWABYUALVZSHKJWVPKXSKAQAWTKFKODYFNVLEYCQPNXDEPNTDSGHPQMBDRTMBCKXEWNPLVVAZLJKLKUUKBLQWHNMQPWXHPBSOTEEFVJJDJTRZYXXCHIIYMWDVYTNQQGUYHQRPHUPYZRILZFRQKADHYVEZHSEGBWAKWSXEPHDAPHODKMWMZDFEUTJMQFBINLPOQGILRJVOYHVADUJKPWQDCZNMLKTQGEEFBJRMXVPDBMJYXWYJMZNMFWYXGSZANGLKNXWTOSUVLYUQVZEZIODBLHQMNVXQJAGBRQEEJDDFUBUZPTKEZYLMOTSEFZIAGLPPERXCMQALUOCGTFRVWLKEXQTTNIGOKXTNWMOJZDTAGBTETIZKAVXYYXCTNDDRMTQFPNCSBHLGXQCWKWCAVBGMQGQCGAJKUODQFVIZNBAFTHHCKUCGBDFKNFOFBROFZHBQQDEZCZEOZTJRLUUYGGRJAYRYUBMFZLLMXJUOCHRQFANYZXCQEAABMXMAMKCAPWFGVRDTBUAIZSPVZDCIKEJTGFHTFRIJQGQXRUQDJCACVLYDLCQKEDXLITBPVELEKTICYRZOEVPGFNVSKTBNKMARZFCEYVRUOMJFRLSCNUDEIFMOVZDFTODXASFCKSBCWSMLTZPEEHKRHJSARMGSKUEGHJJFPXZUICQGWAVVXHXTYUCNHLCMCQVAVZABPPHWGZHMJNMAVAKOBOLSDRSUQKZHZWOPYVCMNFIMNPFVBOJKGUGDWWLCBKFKLIWLNXMMWDVDPVMICVWMRLDKGNUZRHDOKJYWCANTGJVQXUOPXURVNLKIQIDCMXLGCNQKFZMEJUTVPQWPXOQKGJTLLTONGCHDTJHTAJSBWVIYEXHQUYWYFLNGNYCNFSFINZUBJFEVIHTSNFCOSMAFFFMXUGRBRTEUHELMTWIJEOESIUXSEFEHIPRMQIGXMMUGCDELERRHNVQZATXRXBLKPNFBRYGQNDHBWCBPKTNTQBVEEKBZRVEDGTVUEHZEVIVYMQMZEJEHIWIEMTIKBZIXULZLCHQKMJRSSNKLQFUUOTBKGPEBLWEXUVAGITDJZKXALNQKRXRKVWDXTVIBPQRCOPFXFFEHKWGLKWWFNTIHNFYJNRCKLKEJBBVSNJAWPZCFUQEXYKNNSNNALWCPXSOUQQIYOIUMZDWPDTWORLCVUGCEKGHIMIVBAGVNJAXKWFPFVPBJIFCLNGCTTWGOROHNHMHNPTAALNQWTQLKFAJGVKDNSUDJNKELWGVGYHKOYKILRHOGYYDRXDPXMVCRCYRKGZCEBTUZZMNKLWKPKCOTQSUOKFWPUONHOODYEJTNHEPHGFYIJKEEWMIZXURMATRIQKHTQDYIYUOMRDPJPAKMCHWRGMQYWEAKFRSLSXQRHGIQBRKNXLKNXIWHNOEORBKXSIJVAWEUEKFPCYFXUJWVFITYOSTFGAREJNASCAGDZWJZLCCDHUTFNBCMEVBDGAFHCCIBFFXODXBLAKGVQFJQPPYJCNJBNYCGVIMRZJRRFXIHPXTUXXKPRUYMVQTLIYDFDJPAXJSAHIWDXESXDZMXHTIRQDUSZZKZHOFBWZYNYMFQRQAMHKGOHSCBNAYEHJBEIZQAOSCDWIPPMVFHTDYXATDQDLUZZXLULPVOSRHKCLXDHGENFIYFOGPOGTJBGWMTFPSTTANHDUWPMVIZHFGTTDFXEQGHCJPMHKXUJLCJDYOTQDXLHEBPWGWUHHZNOFOLOGZBNETGYMUCAICEDFTEBNIJRGRBQVWOCGPMIDOHOKWREZOPJOWICZFQWKCETNKGCSGUKSUGRELAPOOARYTQKTZBYNFUPKPXDIOMRRXKBOVVWIDOPWHEZHJGUINNJOPZJWNTRKBAUPCDBLUHFTBBKTRRQSPVXJVOGAGLSZGBYMQAXXNMVNVKQQVDLNVNQOMCBXXGLXHSVACRFCLAGWQRNGSIWROUOOGGHQERERWVOMMAGDENHLOLVUBTHQGFVJABLRPEYJWATCMWHROUFSSXFVRLIOODLJVSGHBNHXYUCDDESWAZTTXNPLPGYJNTLCDHEADWSXGVBXXSHRYYXVWQVLHHQDFCLHOIXXQOACMVWQGHPYYPVCWZNDXDMDDAWXMLPUYMMMKXHKQNEFNICXOVNMSJMDKIKMPZFVQOAPKATJBKOCZKXETRFWFFXQLPNCHUPMXMECHKFKLEBDXQGECTOGOEZHLMAGAZSKUSUTJTZINIIVMBBGRNJJPHFIOHQCSSDOBOZGCIKZVDDICMQXQUDVVPWOZTJFULMYZAAZYQQVLTCJNEWXUWBGWTMLAKUSMLRLKHZHHTFBSWOEDWVVFBHFQWDRYBMKOSWWIQJHGHWRHRYHOBVFBALOXYTXZVYRAWWLXLMMOGQCWGRUGMFEKFSPRMIKHXBQZCNSOTQPLFJKUURRWFNNQCBHZLZMBHSMEGWBDFOSTEXGODBIMPXEULITUXJZTGCQMJVAMIOWBYANQTMGKGSOAPWYLACKRCZLCKJVFQYDGVTBOUWGPMSKLUAOMVXUKEPDUPWKIIXHBUMZQVSSFFDWOJISOIPRLLPCORGGJLOQWMXOADCGMEOYZBPQGCKPKIWDLIKQJPSGKRGHKWVTXMXMJLKCBRXXVSEFAKRQAXHLPSUWJXFJZCDHSFFKNXKYKCKXJYSRYGPSFOMMMAVDJRYLCVVGXRCWSYGPPBRHHFWOJWAUDKVEJSWBCNCKHIEFWMMIBOZFVRCATYNTRBRYDLETWGRZTEYNOBKQNPKLGJJQFYYJCAFQWWUUEVUUTFQBABLVYRDUMHZWZIDRQCXRQTAJKFASCAIYFVBONJJBIRWJMMPCSZWPQYYSWBROMUDNFOQCTJMSHTMLMJARFQIXMXAVTOQIRJYCXFDGMRVSIJEXUTUKNBOYNMRJULPEFOMXTTDCJWATBHHBFQFMSFZDYKOWGIFQHUZPXMKWFVVDNQSORPKBGBBAFVYFEFNDFAAHJPOYZNIFKHIGZUFGDUSSXMSAPOHTVDUKPJEKMKHKWJCYARPMXHKPNHMLGFSOTCULXSZIGCHILUHGLOHFGFDRSLYZSDBWKGDKHEEYBGGBGTNWNLPDLRBPTRVJBLOGSBKOQAORTYJXAVKEDGNDSAWRFLSIIGBRYUHEVODVLMCNBEPQRDAWGWPBJSHWQYERVTHTJYWTPYYNGHJAGFYDWMYUSNTZQUAHRPROECXCXGFTIGXMFSODZEQUSVVUQLYGFXGMNELLTHCFNHBZFTEGRUXISKGEJPIXJHHMVMAPTAEHBCESFWCIVWRGWLPAUNJJUYVSAQSXTBZVBDYZEBCKANPKHAHVPCIDNNNXKAVKLYJBYMXAESFHTPHPKECTZWTFFBSHFMXGXLUROIMMTLUTABSEZLILJOBAQCIAWTDSDWZCCDDFZESJUHOYESVHUXIYQQNDGMYAPLXIVAXNTZTZWQYGXTNWYQPABNWSYQGMCGZAMMNPHYSGZBNZAXNQFDOCIAMLHIMPGKJYZLQXMSPCTOGWDRFNDMNONJLAQKTOXFDOWXWGJUWJXZTGFORVPFZIBRRDISELNJSXZHALAWKNDCWWVFOCZVSLVHKSLSKCMYICRHMBDLGXRXLWPZTETSKILCTXBBXKKWYPPILMCXCZXJKQFIFUBNDTBWAAXPAMDKJXSMRFPJHTPZDNHSJMYPFIWOBAZZWVLEHBKXLMOCLAVZSVMZNECOXUKYUBCTCYYRRVNTRQFHAPRNTUPPLDMVJQYPCBCOEINUYXAHWFJWUJWMCTZVUKXBAPLIQOPYOJSCMRYUGGKRNSEYKCFIKBLZVXRLFAIAXXMJMXMXWGRRZXDGDVQWWIEHKERQXEFSYBXRHHWVTHPIFIXPEWMUSITEXKPQVDNENJASSCRDJYSABZJRJHATDKYTVZUPIHTGCFPZJFLPHASRVSQKMJWVBYKFRESRCSLOMIIBPIPIPZEWABDNCKXHPFZGMCBFUAISFUSOILTZNQPYPYDEHSUCUFPZRNUJXNZPXGQCYCWDFEUSYZBDJFROVVPTSGFJZFQMXNUCUDSLUGVISLDCKCVLNYJOUXOSROOSRSXSQKNZWETRXNSZIHWGLNLTOBPSOKIVUBSEOHSCPKHAMJAXAZNPNSQRARQGYOVFABKAIYPTDXCQNCZUKOUOEOISJOSHQFLBCSLVPYQWURKWBYNSEJTSIMVFGYKHHAWBHSIAHFGBWMKBYDESFBSXEQEVXZCAZUWMEUENRJNTHXSQAKTXPKPIQVPVXWQKFWXXDFYXYJTSHARYBYGFYPUKFWDFTSBHZWTDBNHFBDPPCNBQBXXDYICVCMHMVXRRFAFKNOCUPBOHMIDPCBDXWHLEVZUXGVJFWTTFEEITBEUKCORTMWIREBUQAGXCGAATHYVLNOPVPWXJXZJFJLMUXWOPDVGZBUHAJOWQUQUHTAWGNEZGAJLYVZDDMQVTBWSWTVJXCJDQHHUDCCJRYEKFFHNCDIZOEIPCEXEZQUGIRBEIAIMINWHJIKBKQXXIPEEHTRZSDCWQSJCKGTUUZQIIMDZPBDJDMWNMKFGOIWPHIDGDGTGFSPJJOFTUYZEPQRGZAKSVYWDWKHUIBMWLIXYOUMQDYIAQCQWYVXTEILAEWKDSMUWNSLVHVACXLXDNDSGCPKZUXHKICTEZWWLCXKYLEAYIWLXRGRIEDYGHIVJJPHBRIMGFFXTXTPXNIXVPOYFXXNNUKBIYNKIDMSFFCUJMEEGMHXXOGUJMYCOEJUSJQJTZNYIKIKLPPYYWLTLTJYGNSLKYHEDCIZJRZSXXJANZUUSCBJDWRRZUZGAQJETOMYVIPZZISHJVLYWLYKSJRPMJPCBVANAMSTSSIXYNDRCMEIMYNBBSSCFXIVWNNSRTIBNTXAUCHBLWWSUDPQIPUNRFELKURCNJQVPXKDDVGHCCHWNSAIUINGSINTMRKLOTIBLSVCJLTYGMWMMXCFQXAZVCOXTFLBKMRLQCUUDBRMGQVFHXWHAVIXQORXHUAVVDXMWMBSAXEPWKHYILYEVUQEUWECTSRTZPNGQPYBMNFIRIGPASLJIPEVAWSECKSPPJKQSAENLYQVCTBPAITRAZBKGHNPQUTYMTEASFMYPQSRBRPRLEYNDJEKZCAKXKVAQIRMIFUNKMVUXCXXIDVWZXNVYWUBCSPLXNWDTAUFUPLWQKKIFSZFIWMRLVVVGEABJMYLOVPLUBOTAWJAJMKXZOZIBOHNZMGTPKGJZUWDGIIVFHVPQXHJIPUCJGEXRMWGKBUDBUOCBOPPEQOTLYDGWKVAAPSITVSXCAHRBNGZOIDHOJRBCZIHRYALAJTUKUQSELBCDMXTDZVVAASKHRJTEZDVVKUVFXHVHSIPMD"; - -// echo "msg len = " . strlen($too_long_msg); - - // create a message which is too long by adding extra - $logger->debug($too_long_msg . "_EXTRA"); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/checkdecorateformatter.php b/tests/integration/logging/monolog3/checkdecorateformatter.php deleted file mode 100644 index 46945b656..000000000 --- a/tests/integration/logging/monolog3/checkdecorateformatter.php +++ /dev/null @@ -1,41 +0,0 @@ -', $matches[2], "entity.guid correct"); - tap_equal($linkmeta['hostname'] ?? '', $matches[3], "hostname correct"); - tap_equal($linkmeta['trace.id'] ?? '', $matches[4], "trace.id correct"); - tap_equal(true, strlen($matches[5]) > 0 && preg_match("/[\w\d]+/",$matches[5]), "span.id is non-zero length and alphanumeric"); - if (isset($linkmeta['entity.name'])) { - $name = urlencode($linkmeta['entity.name']); - } else { - $name = ''; - } - tap_equal($name, $matches[6], "entity.name correct"); - } - - /* have to return a non-null value which is the output string */ - return ""; - } - - public function formatBatch(array $records) { - foreach ($records as $key => $record) { - $records[$key] = $this->format($record); - } - - return $records; - } -} diff --git a/tests/integration/logging/monolog3/skipif.inc b/tests/integration/logging/monolog3/skipif.inc deleted file mode 100644 index f0a4bfec5..000000000 --- a/tests/integration/logging/monolog3/skipif.inc +++ /dev/null @@ -1,15 +0,0 @@ -= 8.1 required\n"); -} - -require_once(realpath(dirname(__FILE__)) . '/../../../include/monolog.php'); - -if (!unpack_monolog(3)) { - die("skip: monolog3 installation required\n"); -} diff --git a/tests/integration/logging/monolog3/test_monolog_basic.php b/tests/integration/logging/monolog3/test_monolog_basic.php deleted file mode 100644 index fde0fa773..000000000 --- a/tests/integration/logging/monolog3/test_monolog_basic.php +++ /dev/null @@ -1,204 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_basic_clm.php b/tests/integration/logging/monolog3/test_monolog_basic_clm.php deleted file mode 100644 index ed86b56d2..000000000 --- a/tests/integration/logging/monolog3/test_monolog_basic_clm.php +++ /dev/null @@ -1,162 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_basic_clm_off.php b/tests/integration/logging/monolog3/test_monolog_basic_clm_off.php deleted file mode 100644 index 848fb4e5d..000000000 --- a/tests/integration/logging/monolog3/test_monolog_basic_clm_off.php +++ /dev/null @@ -1,156 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_cat.php b/tests/integration/logging/monolog3/test_monolog_cat.php deleted file mode 100644 index 5fe59bc0a..000000000 --- a/tests/integration/logging/monolog3/test_monolog_cat.php +++ /dev/null @@ -1,188 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_context_default.php b/tests/integration/logging/monolog3/test_monolog_context_default.php deleted file mode 100644 index 98406c7a4..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_default.php +++ /dev/null @@ -1,105 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("A" => "A value", "B" => "B value", "C" => "C value"); - $logger->debug("None converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_context_exception.php b/tests/integration/logging/monolog3/test_monolog_context_exception.php deleted file mode 100644 index 1440756f7..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_exception.php +++ /dev/null @@ -1,106 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - $context = ['exception' => new \RuntimeException('Foo')]; - $logger->alert("context is nested array", $context); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_context_filter_extra1.php b/tests/integration/logging/monolog3/test_monolog_context_filter_extra1.php deleted file mode 100644 index b711eb871..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_filter_extra1.php +++ /dev/null @@ -1,117 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("AA" => "AA value", "AB" => "AB value", "AC" => "AC value", "BB" => "BB value"); - $logger->debug("AA AB AC converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_context_filter_extra2.php b/tests/integration/logging/monolog3/test_monolog_context_filter_extra2.php deleted file mode 100644 index d46aa28e1..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_filter_extra2.php +++ /dev/null @@ -1,112 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("AA" => "AA value", "AB" => "AB value", "AC" => "AC value", "BB" => "BB value"); - $logger->debug("None converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_context_filter_extra3.php b/tests/integration/logging/monolog3/test_monolog_context_filter_extra3.php deleted file mode 100644 index 4283e6aa5..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_filter_extra3.php +++ /dev/null @@ -1,117 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("AA" => "AA value", "AB" => "AB value", "AC" => "AC value", "BB" => "BB value"); - $logger->debug("AA AB AC converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_context_filter_extra4.php b/tests/integration/logging/monolog3/test_monolog_context_filter_extra4.php deleted file mode 100644 index 94d994f1a..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_filter_extra4.php +++ /dev/null @@ -1,117 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("AA" => "AA value", "AB" => "AB value", "AC" => "AC value", "BB" => "BB value"); - $logger->debug("AA AB AC converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_context_filter_extra5.php b/tests/integration/logging/monolog3/test_monolog_context_filter_extra5.php deleted file mode 100644 index d4f181642..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_filter_extra5.php +++ /dev/null @@ -1,116 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("AA" => "AA value", "AB" => "AB value", "AC" => "AC value", "BB" => "BB value"); - $logger->debug("AA AC converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_context_filter_rule1.php b/tests/integration/logging/monolog3/test_monolog_context_filter_rule1.php deleted file mode 100644 index d0be4ff36..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_filter_rule1.php +++ /dev/null @@ -1,117 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("A" => "A value", "B" => "B value", "C" => "C value"); - $logger->debug("A B C converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_context_filter_rule10.php b/tests/integration/logging/monolog3/test_monolog_context_filter_rule10.php deleted file mode 100644 index 2f7a7d347..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_filter_rule10.php +++ /dev/null @@ -1,115 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("AA" => "AA value", "AB" => "AB value", "AC" => "AC value", "BB" => "BB value"); - $logger->debug("AB converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_context_filter_rule11.php b/tests/integration/logging/monolog3/test_monolog_context_filter_rule11.php deleted file mode 100644 index bb4a0911a..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_filter_rule11.php +++ /dev/null @@ -1,116 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("AA" => "AA value", "AB" => "AB value", "AC" => "AC value", "BB" => "BB value"); - $logger->debug("AA AC converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_context_filter_rule2.php b/tests/integration/logging/monolog3/test_monolog_context_filter_rule2.php deleted file mode 100644 index e927f8e08..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_filter_rule2.php +++ /dev/null @@ -1,115 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("A" => "A value", "B" => "B value", "C" => "C value"); - $logger->debug("B C converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_context_filter_rule3.php b/tests/integration/logging/monolog3/test_monolog_context_filter_rule3.php deleted file mode 100644 index a90a8a77e..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_filter_rule3.php +++ /dev/null @@ -1,115 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("A" => "A value", "B" => "B value", "C" => "C value"); - $logger->debug("A B converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_context_filter_rule4.php b/tests/integration/logging/monolog3/test_monolog_context_filter_rule4.php deleted file mode 100644 index 36506085b..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_filter_rule4.php +++ /dev/null @@ -1,116 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("A" => "A value", "B" => "B value", "C" => "C value", "D" => "D value"); - $logger->debug("A B converted", $context); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_context_filter_rule5.php b/tests/integration/logging/monolog3/test_monolog_context_filter_rule5.php deleted file mode 100644 index 5a07e3c42..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_filter_rule5.php +++ /dev/null @@ -1,114 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("A" => "A value", "B" => "B value", "C" => "C value", "D" => "D value"); - $logger->debug("A converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_context_filter_rule6.php b/tests/integration/logging/monolog3/test_monolog_context_filter_rule6.php deleted file mode 100644 index e764a9271..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_filter_rule6.php +++ /dev/null @@ -1,112 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("A" => "A value", "B" => "B value", "C" => "C value"); - $logger->debug("None converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_context_filter_rule7.php b/tests/integration/logging/monolog3/test_monolog_context_filter_rule7.php deleted file mode 100644 index 47627d215..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_filter_rule7.php +++ /dev/null @@ -1,114 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("A" => "A value", "B" => "B value", "C" => "C value"); - $logger->debug("A converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_context_filter_rule8.php b/tests/integration/logging/monolog3/test_monolog_context_filter_rule8.php deleted file mode 100644 index 9a65b85ca..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_filter_rule8.php +++ /dev/null @@ -1,116 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("A" => "A value", "B" => "B value", "C" => "C value"); - $logger->debug("B C converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_context_filter_rule9.php b/tests/integration/logging/monolog3/test_monolog_context_filter_rule9.php deleted file mode 100644 index ce3056def..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_filter_rule9.php +++ /dev/null @@ -1,116 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $context = array("AA" => "AA value", "AB" => "AB value", "AC" => "AC value","BB" => "BB value"); - $logger->debug("AA AC converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_context_hsm_disable_forwarding.php b/tests/integration/logging/monolog3/test_monolog_context_hsm_disable_forwarding.php deleted file mode 100644 index 206dbbb37..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_hsm_disable_forwarding.php +++ /dev/null @@ -1,137 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $context = ["testkey_string" => "value"]; - $logger->debug("key is string converted", $context); - usleep(10000); - - $context = [1 => "value"]; - $logger->info("key is int not converted", $context); - usleep(10000); - - $context = ["int" => 1]; - $logger->notice("int value converted", $context); - usleep(10000); - - $context = ["dbl" => 3.1415926]; - $logger->warning("dbl value converted", $context); - usleep(10000); - - $context = ["TRUE" => TRUE]; - $logger->error("TRUE value converted", $context); - usleep(10000); - - $context = array("FALSE" => FALSE); - $logger->critical("FALSE value converted", $context); - usleep(10000); - - $context = ["array" => array('foo' => 'bar', 'baz' => 'long')]; - $logger->alert("array value not converted", $context); - usleep(10000); - - $context = ["object" => $logger]; - $logger->emergency("object value not converted", $context); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_context_limits_1.php b/tests/integration/logging/monolog3/test_monolog_context_limits_1.php deleted file mode 100644 index d82678e1e..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_limits_1.php +++ /dev/null @@ -1,107 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $key = str_repeat("A", 300); - $context = array($key => "value"); - $logger->debug("None converted", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_context_limits_2.php b/tests/integration/logging/monolog3/test_monolog_context_limits_2.php deleted file mode 100644 index 475d21fcf..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_limits_2.php +++ /dev/null @@ -1,110 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $value = str_repeat("A", 300); - $context = array("key" => $value); - $logger->debug("Value truncated", $context); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_context_precedence_1.php b/tests/integration/logging/monolog3/test_monolog_context_precedence_1.php deleted file mode 100644 index 3ff167db1..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_precedence_1.php +++ /dev/null @@ -1,108 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - $context = ["testkey_string" => "value"]; - $logger->debug("key is string converted", $context); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_context_precedence_2.php b/tests/integration/logging/monolog3/test_monolog_context_precedence_2.php deleted file mode 100644 index 4e3d80a7b..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_precedence_2.php +++ /dev/null @@ -1,108 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - $context = ["testkey_string" => "value"]; - $logger->debug("key is string converted", $context); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_context_simple.php b/tests/integration/logging/monolog3/test_monolog_context_simple.php deleted file mode 100644 index cb4330cf0..000000000 --- a/tests/integration/logging/monolog3/test_monolog_context_simple.php +++ /dev/null @@ -1,238 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $context = ["testkey_string" => "value"]; - $logger->debug("key is string converted", $context); - usleep(10000); - - $context = [1 => "value"]; - $logger->info("key is int not converted", $context); - usleep(10000); - - $context = ["int" => 1]; - $logger->notice("int value converted", $context); - usleep(10000); - - $context = ["dbl" => 3.1415926]; - $logger->warning("dbl value converted", $context); - usleep(10000); - - $context = ["TRUE" => TRUE]; - $logger->error("TRUE value converted", $context); - usleep(10000); - - $context = array("FALSE" => FALSE); - $logger->critical("FALSE value converted", $context); - usleep(10000); - - $context = ["array" => array('foo' => 'bar', 'baz' => 'long')]; - $logger->alert("array value not converted", $context); - usleep(10000); - - $context = ["object" => $logger]; - $logger->emergency("object value not converted", $context); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_decoration_and_forwarding.php b/tests/integration/logging/monolog3/test_monolog_decoration_and_forwarding.php deleted file mode 100644 index 31cf32430..000000000 --- a/tests/integration/logging/monolog3/test_monolog_decoration_and_forwarding.php +++ /dev/null @@ -1,261 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_decoration_basic.php b/tests/integration/logging/monolog3/test_monolog_decoration_basic.php deleted file mode 100644 index 443c5f1ce..000000000 --- a/tests/integration/logging/monolog3/test_monolog_decoration_basic.php +++ /dev/null @@ -1,171 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_decoration_multiple_handlers.php b/tests/integration/logging/monolog3/test_monolog_decoration_multiple_handlers.php deleted file mode 100644 index c9661addc..000000000 --- a/tests/integration/logging/monolog3/test_monolog_decoration_multiple_handlers.php +++ /dev/null @@ -1,229 +0,0 @@ -setFormatter($formatter); - $noopHandler = new NoopHandler(); - $processHandler = new ProcessHandler('cat > /dev/null', logger::DEBUG); - $processHandler->setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - $logger->pushHandler($noopHandler); - $logger->pushHandler($processHandler); - - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_disable_forwarding.php b/tests/integration/logging/monolog3/test_monolog_disable_forwarding.php deleted file mode 100644 index dc0e451c9..000000000 --- a/tests/integration/logging/monolog3/test_monolog_disable_forwarding.php +++ /dev/null @@ -1,104 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $logger->debug("debug"); - $logger->info("info"); - $logger->notice("notice"); - $logger->warning("warning"); - $logger->error("error"); - $logger->critical("critical"); - $logger->alert("alert"); - $logger->emergency("emergency"); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_disable_logging.php b/tests/integration/logging/monolog3/test_monolog_disable_logging.php deleted file mode 100644 index 3aa2781e0..000000000 --- a/tests/integration/logging/monolog3/test_monolog_disable_logging.php +++ /dev/null @@ -1,95 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $logger->debug("debug"); - $logger->info("info"); - $logger->notice("notice"); - $logger->warning("warning"); - $logger->error("error"); - $logger->critical("critical"); - $logger->alert("alert"); - $logger->emergency("emergency"); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_disable_metrics.php b/tests/integration/logging/monolog3/test_monolog_disable_metrics.php deleted file mode 100644 index 9546cc454..000000000 --- a/tests/integration/logging/monolog3/test_monolog_disable_metrics.php +++ /dev/null @@ -1,157 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $logger->debug("debug"); - $logger->info("info"); - $logger->notice("notice"); - $logger->warning("warning"); - $logger->error("error"); - $logger->critical("critical"); - $logger->alert("alert"); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_drop_empty.php b/tests/integration/logging/monolog3/test_monolog_drop_empty.php deleted file mode 100644 index 563e5e9ef..000000000 --- a/tests/integration/logging/monolog3/test_monolog_drop_empty.php +++ /dev/null @@ -1,175 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug(""); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning(""); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert(""); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_escape_chars.php b/tests/integration/logging/monolog3/test_monolog_escape_chars.php deleted file mode 100644 index e40597c9d..000000000 --- a/tests/integration/logging/monolog3/test_monolog_escape_chars.php +++ /dev/null @@ -1,97 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $logger->debug("This string has some characters which should be escaped: \" \\ / \x08 \f \n \r \t GBP sign \xc2\xa3xxx"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_hsm_disable_forwarding.php b/tests/integration/logging/monolog3/test_monolog_hsm_disable_forwarding.php deleted file mode 100644 index 40f39a35b..000000000 --- a/tests/integration/logging/monolog3/test_monolog_hsm_disable_forwarding.php +++ /dev/null @@ -1,104 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $logger->debug("debug"); - $logger->info("info"); - $logger->notice("notice"); - $logger->warning("warning"); - $logger->error("error"); - $logger->critical("critical"); - $logger->alert("alert"); - $logger->emergency("emergency"); -} - -test_logging(); \ No newline at end of file diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic.php deleted file mode 100644 index 54ba9bd1c..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic.php +++ /dev/null @@ -1,216 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic_comma.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic_comma.php deleted file mode 100644 index 74d2fc01c..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic_comma.php +++ /dev/null @@ -1,215 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic_mixedcase.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic_mixedcase.php deleted file mode 100644 index 008b412e7..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic_mixedcase.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic_mixedsources.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic_mixedsources.php deleted file mode 100644 index 68728a9f2..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic_mixedsources.php +++ /dev/null @@ -1,227 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic_withspaces.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic_withspaces.php deleted file mode 100644 index c2299f734..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_basic_withspaces.php +++ /dev/null @@ -1,218 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_01.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_01.php deleted file mode 100644 index bc144bdc1..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_01.php +++ /dev/null @@ -1,214 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_02.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_02.php deleted file mode 100644 index 49c113cee..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_02.php +++ /dev/null @@ -1,126 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_03.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_03.php deleted file mode 100644 index b0d4cad79..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_03.php +++ /dev/null @@ -1,118 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_04.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_04.php deleted file mode 100644 index 7efe003a7..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_04.php +++ /dev/null @@ -1,209 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_05.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_05.php deleted file mode 100644 index ccb13b0e0..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_disabled_05.php +++ /dev/null @@ -1,118 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_01.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_01.php deleted file mode 100644 index abc65e9fe..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_01.php +++ /dev/null @@ -1,216 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_02.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_02.php deleted file mode 100644 index a128dd494..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_02.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_03.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_03.php deleted file mode 100644 index 8b00f549a..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_03.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_04.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_04.php deleted file mode 100644 index 6a2eb0af8..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_04.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_05.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_05.php deleted file mode 100644 index 30d59ef21..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_05.php +++ /dev/null @@ -1,216 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_06.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_06.php deleted file mode 100644 index eeb791d84..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_06.php +++ /dev/null @@ -1,218 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_07.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_07.php deleted file mode 100644 index e5dd1f196..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_07.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_08.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_08.php deleted file mode 100644 index 5f7df639e..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_08.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_08a.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_08a.php deleted file mode 100644 index 806da77d0..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_08a.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_09.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_09.php deleted file mode 100644 index 27e890384..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_09.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_10.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_10.php deleted file mode 100644 index 7832c5027..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_10.php +++ /dev/null @@ -1,218 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_11.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_11.php deleted file mode 100644 index 86aa719ef..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_11.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_11a.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_11a.php deleted file mode 100644 index b39c20c6d..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_11a.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_12.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_12.php deleted file mode 100644 index 8801c47d0..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_12.php +++ /dev/null @@ -1,215 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_13.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_13.php deleted file mode 100644 index 4453099ba..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_13.php +++ /dev/null @@ -1,217 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_14.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_14.php deleted file mode 100644 index 3a5714eac..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_14.php +++ /dev/null @@ -1,221 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_15.php b/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_15.php deleted file mode 100644 index 64bcb6697..000000000 --- a/tests/integration/logging/monolog3/test_monolog_labels_forwarding_exclude_15.php +++ /dev/null @@ -1,219 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_large_message_limit.php b/tests/integration/logging/monolog3/test_monolog_large_message_limit.php deleted file mode 100644 index 0af1e2286..000000000 --- a/tests/integration/logging/monolog3/test_monolog_large_message_limit.php +++ /dev/null @@ -1,82 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - /* maximum log event pool is 833 events every 5 second fast - * harvest cycle. Send that number of events and verify - * all are accepted. - */ - for ($i = 0; $i < 833; $i++) { - $logger->debug("message " . $i); - } -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_large_message_limit_drops.php b/tests/integration/logging/monolog3/test_monolog_large_message_limit_drops.php deleted file mode 100644 index 91aeaea64..000000000 --- a/tests/integration/logging/monolog3/test_monolog_large_message_limit_drops.php +++ /dev/null @@ -1,82 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - /* maximum log event pool is 833 events every 5 second fast - * harvest cycle. Send more than that number of events and verify - * correct number are dropped. - */ - for ($i = 0; $i < 833*2; $i++) { - $logger->debug("message " . $i); - } -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_limit_log_events.php b/tests/integration/logging/monolog3/test_monolog_limit_log_events.php deleted file mode 100644 index 65be7e65a..000000000 --- a/tests/integration/logging/monolog3/test_monolog_limit_log_events.php +++ /dev/null @@ -1,165 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_limit_zero_events.php b/tests/integration/logging/monolog3/test_monolog_limit_zero_events.php deleted file mode 100644 index f021b5029..000000000 --- a/tests/integration/logging/monolog3/test_monolog_limit_zero_events.php +++ /dev/null @@ -1,105 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $logger->debug("debug"); - $logger->info("info"); - $logger->notice("notice"); - $logger->warning("warning"); - $logger->error("error"); - $logger->critical("critical"); - $logger->alert("alert"); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_log_events_max_samples_stored_invalid1.php b/tests/integration/logging/monolog3/test_monolog_log_events_max_samples_stored_invalid1.php deleted file mode 100644 index c57aed5c1..000000000 --- a/tests/integration/logging/monolog3/test_monolog_log_events_max_samples_stored_invalid1.php +++ /dev/null @@ -1,85 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - /* maximum log event pool is 833 events every 5 second fast - * harvest cycle. Send that number of events and verify - * all are accepted. - */ - for ($i = 0; $i < 833; $i++) { - $logger->debug("message " . $i); - } -} - - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_log_events_max_samples_stored_invalid2.php b/tests/integration/logging/monolog3/test_monolog_log_events_max_samples_stored_invalid2.php deleted file mode 100644 index 7e891359b..000000000 --- a/tests/integration/logging/monolog3/test_monolog_log_events_max_samples_stored_invalid2.php +++ /dev/null @@ -1,85 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - /* maximum log event pool is 833 events every 5 second fast - * harvest cycle. Send that number of events and verify - * all are accepted. - */ - for ($i = 0; $i < 833; $i++) { - $logger->debug("message " . $i); - } -} - - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_log_events_max_samples_stored_invalid3.php b/tests/integration/logging/monolog3/test_monolog_log_events_max_samples_stored_invalid3.php deleted file mode 100644 index 827eaa4d8..000000000 --- a/tests/integration/logging/monolog3/test_monolog_log_events_max_samples_stored_invalid3.php +++ /dev/null @@ -1,85 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - /* maximum log event pool is 833 events every 5 second fast - * harvest cycle. Send that number of events and verify - * all are accepted. - */ - for ($i = 0; $i < 833; $i++) { - $logger->debug("message " . $i); - } -} - - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_log_events_max_samples_stored_invalid4.php b/tests/integration/logging/monolog3/test_monolog_log_events_max_samples_stored_invalid4.php deleted file mode 100644 index f1185ac24..000000000 --- a/tests/integration/logging/monolog3/test_monolog_log_events_max_samples_stored_invalid4.php +++ /dev/null @@ -1,85 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - /* maximum log event pool is 833 events every 5 second fast - * harvest cycle. Send that number of events and verify - * all are accepted. - */ - for ($i = 0; $i < 833; $i++) { - $logger->debug("message " . $i); - } -} - - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_log_level_filter.php b/tests/integration/logging/monolog3/test_monolog_log_level_filter.php deleted file mode 100644 index e5b91554a..000000000 --- a/tests/integration/logging/monolog3/test_monolog_log_level_filter.php +++ /dev/null @@ -1,175 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_log_level_filter_invalid.php b/tests/integration/logging/monolog3/test_monolog_log_level_filter_invalid.php deleted file mode 100644 index 18849c9de..000000000 --- a/tests/integration/logging/monolog3/test_monolog_log_level_filter_invalid.php +++ /dev/null @@ -1,176 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - // insert delays between log messages to allow priority sampling - // to resolve that later messages have higher precedence - // since timestamps are only millisecond resolution - // without delays sometimes order in output will reflect - // all having the same timestamp. - $logger->debug("debug"); - usleep(10000); - $logger->info("info"); - usleep(10000); - $logger->notice("notice"); - usleep(10000); - $logger->warning("warning"); - usleep(10000); - $logger->error("error"); - usleep(10000); - $logger->critical("critical"); - usleep(10000); - $logger->alert("alert"); - usleep(10000); - $logger->emergency("emergency"); -} - -test_logging(); diff --git a/tests/integration/logging/monolog3/test_monolog_truncate_long_msgs.php b/tests/integration/logging/monolog3/test_monolog_truncate_long_msgs.php deleted file mode 100644 index 09e2ed91a..000000000 --- a/tests/integration/logging/monolog3/test_monolog_truncate_long_msgs.php +++ /dev/null @@ -1,107 +0,0 @@ -setFormatter($formatter); - - $logger->pushHandler($stdoutHandler); - - $too_long_msg = "FDTZJACCUOBPXLNMOIRNOTGWNDYSIFHLRNXKIZHOIUSOGBZEBVLCOFJZYGJRVYAYYZDAHNGNLLLCFMWJFARUOJXOWJXOOULAQCUFMWFRGJYIQWNEAMJYHUYTNIYQNXSMIKRWIOZLUUBCTTBFRCUVYXWBHBWHOCNLBEZLMVKRLIGNBUTWAIZFLDZKTGWOOJPCOAOGAABJYNPPVPACIGELXNWYTPTWJIRIMNBIYZNOOFPUQNAELRZBFCHKMIDFYMFWZEOYHGJJKARRBBWXZVXOIXSONHSLUGBWMYTAAJXLCYJWVKIHHHQBMGMEJPTYFYTEXTOFRNJWJDEUDJXDOJJDHCEZIEVUDUQPPFTPDIILIDQHGTTTLTMVFMKZQSRPXSXLNNDGAZQNGRKKQCZLHQJTSXTEQXQYYVQUBVEHUBGELMPOCTTOUUDRUCPWOVUWFNNEHIBPOYZLAENPWNDDYGJIXVXVRFHNRLNSKKUISMQDFXETOSAHDJHWPTGOBVFZXDVRTDJCQOZXVYDMZIXRFOYJQWXXSOITDYMTPEIUMYIUPTGZEZZRGGCYYBAJZFCBIXUFIMNTXXVEFWTKSBAQGIUBHMWGXMOUDEBZMURZTPUBLACSEIPVRJLIPXBSFIXPRPLIQSXDIKCPGFUDSUQSUYWYLAHJSEAQVAZTRJUMYFIXHOBQWBNCZBTTJDGXNXGWGOWEJXQKIMEBEMMFMGXEQPPKFFGHOBHROCMOLBIIMDUHNBVMCOHOCCFSSQDUKLHHUSQWKCBYTYLAUJPIXDPJROCBNVFLGSSKNWGVCVFQARBBWOFQUMFMLOXRXYWIHQPEWVTRMPLLIZJYNWTGRVCOUXLSVOLKBBPQAVLBXAFZACRWAWBIGSISYEPKIXUTKSSAOBMUNXVPWBBJLPFRVLWMVGMRLKRWCRHGPYGRQJMLONHMDVUCGDDBFNTJFZJAPCIENKTYYWJVDTRNEHSGFRECXIBCUIHJBSPVZHXWWJHGPOQLKHATHASRHGCTRBSHMHHKPPRMGTMHPLLAVAQWBRMZAIQBZUAHIYZRILBFSETYNGEYFCQTXCUYONBUIRUMNFFXIDERILPLPNWKSJSZFBNEZIJVIJTXDHVWRNQXVXBRREQSPLNSLTQVTQMIJITAWSXQWTCUUSBMFMDQGGDWQZYZYVYBDYCQPVQTJRWLFBHMUPXDEMHKELTETYGCHWQIWPKUILCHSZNNXICSAWWZXWPBJGGHSLQJMCXNDMZZKOXXRMRBMHXOQIUTCKVFJPFHXAUFTNZQTKBQDMSDDFTAGOBPMJBOHQBESQPOSXKAXXRUTTSLPMVVKWCGELHFOAPEQKGJAQQVSDFRGRFCNKUFEUDAGGBMGDPQFUTZICDIEJYTJDITEVBFQGUHKQVGTUUXDOYITUYYMEMUECHMDIMHKBAQBCEZALVHXUVVRGMFAVLXBVMZLUJIBEPVVTWAADGGLJGDAGXIVWTNROTZTTUANDROKYHABSVBPHIFHOXZUAONPYNRYLTIMZCQMHMSWLRAQBSJJYTPZVHGEEEJJEGJTPSWUXUBANUKBDPJDLUUQENVLTJYDBEEPSUMMOBLRYUVDXQQKPMGAMUAPJVNQZXFUOIBWNVSJTEFDQKONKNDNWCEAXRSVVUHEHELCNHKEJTQAEJHWJHCTDYLIXYZEAJHDKAPPVEBVPGNOODVDZRVVIBTKCVVFYTMYLIXAXNWOYTBYTJOLXZGFMGHTEBJERDFUREHVDFMLPBCAIJPXQMSMVMNMBSKVLLPILSEDPVLNJFLFNBMJYKROTJBCLRQEASNKNDCTOOWKDMNYXPTDGAHWWEAZMCTZMHYKHQFDNGBFUEETSRCSPYWJOEWPXARSXRGROJAJBAXVGABCQDIKHWDRELNTQEFFZXOEDAACIWIZTRWTFCHZMYBJPIYDXGESSFJCXUSMLRUVVXDKBHUZFNHLEKWQKYEZAADGBKRLLGRNIZSDVUOZACNMDQUHXGZYFKGGHSMUDSALIQACDLPPJIZSAYEEODNJYYFOLMNYZCECNWEKOBNWSGUVAEHWXBUEIFLQOUFBOJWGIPUQAOBQAUJLVLLVDVYWVWLCMNFXUOLXORMCMTQRCJHEOWRPSFZTSVYBPJSMJWUXYWRBTSCKJNFXBHZLWXMDZFFYWTXOOHPONPUBQCPLNEDRRKUUDNYPLMPIGKFWFISKBAMZBECUCCRYDPLMDLIFYSOULJGYFEYKHYAVCRSWRYZVKSCNYPVLJXFMQHCUCBQPINBWLFNHXLQZPOAXPBGHKDHAVASAETZUZAVULASJZTZUQOMDBDCXREESMELDFWKZVBGTTBWMGDZJAINMEMIVVWJZXBOPJXAEAYGSJIWDRIIEGXVEQCISINOSRNTMHQPSBQIXVBKYRDYBBGJCMGGVRWZBFVLGNUNUVCFGIGMJFHMTKZLCAFGARQCUMBLLIACPRTDRCMVWIMLUNYKJKLMIFZCCCKBGLSKRHHXMWDCQQTNWMMSHWSZUVEGVDTCUPNJOXILZAUQJSRVCHXMXKGBOFCHSLMZFKIPAADCKIBZDZCFYWBZPLHMEUSJBJWKQEGRZKJPTKAZSHKHPKPPJDNTKQHBCOYXFKSFQAAIBORMBPTMJWALZGAFMZZTESNMBZDFXXHWSNQDZUUMUVGVWCCEUNMNBIIMGVDORHJCBHGSVONJLCFLRNRRBWCJOZOFHNBCMNVDVHCVJRVCIYOSWJKQCXYKQLDOJNFQQFFTTTLLXQDZJRUZNRRQGDZRNMLYLUQLWUOQGZENTYXHUIBESVDARZHQZGYMTBNPMLQLJYELEYJRFPCQCWSCLUJHDHYFUAYPCNHBKWZBJXNNHDGOAUZWRXQZIISJCVGLGDYYCFHMPGAFRHRKCFZFDFAAEPLSAQLMCVLRPIRHPYATWKHGMTBJRFAMDEBHPMLNEGLKTAYBXVDGJKRPFPAMAYDESIFDLCLLXKOHTDFXZOWAZNFEXSNRGCCAZPACHBOGMFITVRJLOJZHXIEPHNWBDSLMTWKBEVOXIWCFQZLTXGAUKZMFGRDTODMDPLCFTQDVITFMJDPJYNCLUXRYLXWMFPROLVJXIFVZYPXZSEAYBFGUZTNEZGZLEODAYHFJDLJRMWNJHJDSEWBOJFASHVROUCISICLQGDOOHWABTXSTNQCDHKGNZMNPEFVLCIDMSOJGONMYALGOHBRLKDKPURDPVIWATIEIQZTXCHJQDMLIHXZZVLKRWQNDDELMCXURKQIUFXJBPQIIRYRRPGIZUOOSFTDXEYJRYRDAVKSBWWCCJJZRJDBIYQLQHYEYUMBTPPQOSRFFFBBLAXWWYEBWECSEJBOVVWXKKEVPNNMEHQKEACOAWIWOVCSHFOUCFBFIBRZWKDWWIVSFGBWXHIINCRLPJUXQRYTUJNMMMRBWOFTSLYZCPWFYGUIRDVEUWQQAXFGNNVNPCPMSVBSPHRGUMLCUOVWCPJPJCOEFIIJVVDYQYLEBNOPBDMTWAXSBVSQLMKEZFJJXIQINPFVEFAGJGJJETJZRJHKSVNZMYNNNWHQSJLKDGXSAYNLRHHVEVZPSZZPAOEUGGMGUMBXVPKRVDPWIFDJENWBLGCINUBVXKVECNQJNESWNCUTZTSFYTWJCQRIMJVWCPRAJCWICYOVTZNKWXNJRMGMOUQRGLYRACXZDXVITRPTMNEVTPULUWLKSJKIHVCBQYCWQXGNIJNLZVZAGWMTRUVMOJJYUETQVEDFWVLAVPWNVBHZJZZOMXGVCDLHLTOPXZIDRNTNONWHIBFLNAELCOAQTZCNIIABCQQISBXDKESKHXEPCKJYUYDYRHDTOMJJNLUKQUADFDHQUCYFLCBYZCJXRAFBPNSETGNLZGBPDYYKZXEDJEWZPBRKEBHUCZZOYYUNXSRKYAUWAUXPXTDOJLKBQOSOZOEHRSWXDINYYPGMEJWVSCVJGMWMHOWZXTJYDDNXTFPMEUKVWQXAQWEHBESNSHEXNSHRPKKWTKCIAFLQZESCEZYTFOVMMOAOATHGDYXSAGGZMTEINMAUWEFNZWAVIJZALNOFBLAJIRFYRULUXDNASTAGNNLVAAQGRWEAJIFCVKWPELZXOWOURWKDTBXFQQJSVXNENEHPZNNTTBLXZHHBHLZNSMVRYGGZEQVVIDMJRHXZOPTRWGNQQKAUJVSPJKKBIMEECDXNGPADXBNFGDIWDVBFUUDUYJUJMVSXASGXTVYKFGUUBLYQRSAYOOYVJBQPCGQWFYSGQQDEVGPDWLIUBGOKQJGSYDJEPNHMAFOYKQGJCIYCWYTYKXUTORXTVIBSRVTOIMULODBDPPTHAONXLVYBTDHPBRCBTTKVDMCIQZRKOLLCTXORFBFWNSUVSFZHYYGZNSUULQHZQPQAJIKTSPBCTOBPTQIECQRTQKFEFKBAUIKWCOHUFQVXNCYSJSEUPBZOTLCDMIGBIQMYNXCNRPHGNZVHUEGNIOPCXVVQFWVVFOQHXGGTQMRORMNULXKKHAGBZSRONTTGSSSZUVHFIRAJQYHYNRIEKZMAESBEOFDGFKFWMNMDKAOBBWSNGSRIKNUELXQIIKEIOVGKPYGGASGTKMOSJWIMWEBPYKWWGLVYQVOPOCECPMPCZOZNQRTWWVHSXQDUWSCJMAZLBCXXSDMFEXTMXMVNSLCOKMHAJGEIWBSVOYALFTLWYOHKCEAHZXDRGOBSXTAVPADGRCPTMAPVTUMIVQENJUNIDUGUDKYOBCPKSLPZBLTDRBPRVFWCEGQJEKJIECKXXGSUPMKXLOORYGKFCMHZETJSFTBZLLGPOEXVXDQMPTUWOULQKHBBPUSYAOAKITHTAILKIRPBBKCSUYDAYLPWXDUOCIGUGIKQJLEYJFLQNOARSGPERBKWNQWQBSQWNSYMHQGVSESIDHYSBWECKLQKHROMFSRXVOYPCYECZMCTBBWJSHEZZOSPQFTVUKUDQHKVGEBZBRCXHEJDHQTTMOUUOVTGPZTRRJFVBCYUEWFOSVYDBKSJHWAGGOAJHYVCNGMRAVROPNHDJDNJVHLFFSOUXCTBSBELJNNUIEYWOTMFYLCHVMTXCWHCJZRNKHRNMIYFCGJNQHJBSRDLJBDGUWJXDNKYEGWBMJNQPALTTKOKZSHOUOQKDGKPZGHCSJVIKKDPKLSDHUJNLAEXAIKRUVROIQOZSREGIIRHDXCQNHMUJXPXKTDPBIDNZCPVWZVGFFEKZPXEZKGXTMKSZWTQNBSGNWRYPIXMUHGITKUTQFGZSPXENFFDFNNCYDKWKOAKUSOKVASHPUUSVZFQLLSWMFKMLMYXNLFCVZLVYWRUWPZFLAHZPNBIRNMGOBGMCKJCFIRIIECJWWUSWSOJBCFUYXZCSHYCOWSGCFAMFMBLCZABCMBHVWLAJNEDWOQBSDKCXFYPYNCNJTKGPYVWAKKMZBVXXFAKKJTMBWUPZVNTXZSCBOAWGGRTLEOOVQYWLQVAXPMVQETIQXRCKBIWHUUMFKBNRNKHKPERNKOYFWWTBADZRJACAAJZCBNTGDOGZBFFTFCFUZRJBEMJDZOTNZNDWFVGSMMYSRLKAWUVLVVPQSXUUKKJBPNJAMDTEGXYAYYYDVJZNYXVCVDSITTITSALGGJXKEJWNXLAVHBFVLOFNDGDURAYMIWCITVZIUHQHPWTYXOUGVYVSYJYIQTGAWAKDMROSWXNFWNEPNRRSCKBWTGPRTYLMRLRCQVKRQQERJZWIHUXANMXJHBRSGKKBMPSOYDVESDOIOMCHKQWTBUCZUINXGNXULDDMYDHBUDTXPORDPWQWCLBIAROLIGVSWMEGFBSQRNAXWDJUBOLEPEOHBKNEHYHNDDOZAORCQFLWLGLZJUBNYNTOEGYVIATDBBURPVCCXUQKAODJWUWOMBJJOBSZHTESIKSVQIYSPXADPBHFVSLOEKBCBXTKBJKNSQJHVJNHPTAIBLLUWAFEXQWCBPVONOHWDJSIVILROUTBDLRZOYJCEYGWWCUFNMNOVMMMIZKGDXNCNBKNBWFAMQSEEHREYCVBDCVFJRGQDTEFXFEQYEUQKNPRFMWBHUDKZADIXDOZMKUCITKTYPPCXWZUJNALEWRCWYRPQSEYEMJVNRDNORLQLWLXABYXVLGPGHMRLFWQDDREOKECHXJLXGSHOZKKBKGTIMJEWVRFZACCQGSCYFTCPVUHXSDMDKYBDBFGPDCERHBJJNBUBRFPKNXNUQKFFKFSGQRZRDAVRBCRZYUZBWTKUSWNLAGSNJENCZHJIBKELOEFTWLEOGPSTSHDLTMBEJILUYXMWIYHWHLXERKLKENHWFHHMZMLTQHKDQNRVCLEVGFFGPVRFCMARRKGWONBKJDIKUNHIKSRUKDSZGHGQNHQKPPMTVSINUJXJHLZLULGIQQHIIEYOOBNJHZGQRRSHONVWESSHUUSCNWRDQOIZNEHDHSUZUIRQLBWEFYFPTJSRDZVIDIHTGRCWXNGKRAORPYMCQHSBHOCNVKRCZULABTDOPWPDABOCWRWEQBYLEDOUGWVCCTZXIFYHKDFBKWWUZSZZTBLDRTQJBOOJXCLUGOMWWVYFGKIDDRIXQOEXHJKTJTMQIYITFUVTOSLKVOMSDVGUHXEGEZRZZUAAKGCZYAEFJIPWPMCFHFLQRGHHWEOTHDBKHVEOOUSXAINIZOVPONIYMNLDOIJEUPSKREEHTWHTSREKDCIWDPCRWYSRAVBTNALIBNXYCWKPSWLVEKLLYHDWRXQUTMNFJHPJCSVKEOESCQBQAWZQRSCYASNJZZAJFUNGRFCFUHQOCCJKCUIRDTZZEKROYHJWXYACPTBVCOEVXKKLHZOZRAZBHZPOFESQSAPKCHXSBDXGUNKKXJHEGRIUVOZYLYQAJBMQGIWPVHGAFQXBXHKIDORYRZTOVLKBNKVKXPORFDBECOMZVSOIJWBSNFNJPAVTORWOPEKFBWHHLZQYSSOXXILILQIKMKUXJUAEMLTMHOSXUEGRKZEWAUDMWBLOKKDAZWSKBUYIWFFGOLFVNRAAYAMUVLBOATKLEAUJBZOTTTRBPPDZAJFUHZRPFRRDPATFUYDYJTRFLFUIIRSXMVCUZXDLRBHDQQZHNHBKSWEXWZBUBLRDJJLXHPYYNVYFTQXSDHAVHYQFXLFTONEAKDXMCWPSJALQEPNXJGVOEUZYKGOLIBDRXBAOAHIWJVTAIESFDWPZLVJOZLNVIDHARYYODBCXZWYLGWPQEGUVYUSRXILQVMAXTMJOLIJYKPGXITHJZYBYPQDSICOQOZYOZKTRSDZBTEPNLFBEIJVAKTGAYOEYZLVJATXUTCOZOTORXSUPRUFTQOSZBNWMULYCTEUWBNNINUONJJYOHWEDTFFSTNWICQVHFNGTFDOOLZPZWZZKJCWNRGJNQDSGQSRMIGKIXUYQYWHAOPDMYFZAFAMIEBWHLIRPTERJWOOVNPXZPQWZBNNOGNDFYWMRDGADHIRZZEKRJQQHTRKFTXIMFFPMQIXTRIGAHKMTECPQKHRSHGYVTVXTLAVVKIRBDCHLCVAISUCSPWGSUMDNNBHSRLJSEYVCLYGBWZJPHRFHRQHWSRAWSOWVRQCVXDQBWXXWAKMKNZYPZGTSBFLVWTKZWKEVXEGMAPUYTFKEGJBGEMLQBMGXYOIHUBFGWZIXBMTCJVLGHTXJCLBECCKSSDRPMFBDUNAXYRFDJFYJREDXENULXXPBOMAZUIYXLXRJJCQOGWKKSJLAMJFEGGVKFSUTLJRZURGMOSOFZPNDNCIJCSLMPUCFOULKCHTPKCMYMFMDWURWVEJCYNVUXCFFHBJANMUCODOLPMPCCSLZTSJHZMGVYAVBFVMHVGEWICRQQNCYXXOKPVTHJOIRHZHCGPHEHQISIZBHZYNEGJMBTSZRDPDZQUHJIFNGLUMVYAMFKPVZAQAEDHDVYCHZPPQBVFLDLQKXQVSSSDAFZAFQEEBMLYCGCKNFFYIRMAJHTKGMQKLQBIRGXOJIBULRHLRTYKPVWXBLVOGNHEWRBXXGBJBYYJNSNRQDOZBJWFMVNFDPHGCIHRQVRHWRDFPGCGOKZVVSKTVSYIPLRMKURQYXKERZRDFHLGJDYIPJEYKSOSALVMEPJOBYJYWLKSCJZTZINIPTPSAKQQILKLWTVLFQCCMHWRLYBTAKBFEWYLRUVEFPSANQIJCGIIOQZHFCGXSQGHLWQCRLXHQLBEYBHGIZQJHFGAFFRVPKZZILOLEYMSQDLKQSRVXMFFBFYAKXFZNDSNCHFVMIHFDHJGGVMDTBAJAKKXSSRXECAMBVSQUIFATDIYTUIUHFUUJLOOXMTAEQITXLWCCAZQCIWSHRAEEWZJSSRWCAVLBBKHWUEIDCLWFXNQWPLGITAZAWUHNENNIQXHQPEMPHMRZDEUPBBUGUYWCYFAKELLASSTZEJTXHEHCJXRZTCSAUWABTIIUYVKTQUTSVKQLAFROAUFBAOPYDWEDJQTBJAOIIDMTFXLEWWAKVCFATRHDZKAKOTKBDNAHKODMMEGFJQRXSOXHDKADTFNEXWVBJZYBBTIGHAREPJPWNVJPWEUHCFQISZRVQXFSEUGETRIGWHJEEUDRZOPDOITFSCBZJWPMSPYJEHMLMGZDNPILPGKEEZZJKCUWMKAMENYZQPUEBUFBKCRIUNLVTBHXIHCGCGFDCGVIFFBZVTPLHJQGYITOIPVHXZGCOYGZOTVIGLZYFUUCBDGYLBKFKZVQKPDNESSLLMHVLRMNSYQVAZVKRGXXSKJFEPWKRIRVJZMIBDRHKJKOKIGOBQOLQIYEWJIKHQXUBSWGEEXPJWXNNDHJUMDJWCJPFGRMJSGIMKBLQGVIDUDHULCHPAQNXXBXWJJYDTLHPOCCLOATFCZDFYPYVHDTEMYOJEBKGYBNMIBFINNOOANPVFBJKWWSGCSEFVTRYKMTKXUCJYEKBJZLFPOINWTNIFCTDULQCJXBQBUZIHZZJXIZOMQNIEEXYZUIRUZANRHLNPKHLXDAWOLYRSVFJDDTZYDCXEZLWPCNPIOTPAXETRSNMDZOEFPGZSEIGIVYHCNZIOCCMGYWDQZUUPJPMEVLODSIKVXZMLDVWJDVCPLJTEKMLQKADDWWEMVTFTNQIKAVXXRXIVUHKABAVNINOIXCCAMOSKVEUYKMSSGFVDNWDUAEYPXBGKZFYWDTLDOQLEMBXCQLCCSOCABOEWZJLCROBKIIHAIPLAXINWSVXRCDKUWFAJFOWNWSLINEDRSNUXEKMQIULWRAOLAMWRNFKXDSABCSJIPAZHFBQPVTNPLJAOJLWKAUJYXHQQQJYUYMWRBMHQKPQPXSQQLWEPJAXMZSLRIOXFPAKCYLSZRMZHKKQOGDJURXPCPRRCXKTDJTGYPKVBYEUZSYTUDTGEWVCZBBJJLXYXMTIDHAWQWXCXPBBYGGIFIVVEGYDLLGFBNZKVTJJJMJNPWVDPMKZWVWHILEBHNZTTAWLXBMUMHOCSXPWINCETYQCUUQETXJSUXOFKYJVTYDJHVFBXBCWNBRUJFCEZMFKIPQBMTDHFTKBPOJBBVIHHYMUOTLUBYYWUFRYDQSDZVTIFLSARNNULURHDVUWVETRRXJZXPCOKFEKJBBFHAELNSSEJOYFYAQNZQDGLUVCFEEMHJYNNCTRDHVFPXLXNMDDCEXLBCIMNBWZWMRGXMFHGMBFUVSYFKBPMKDFEZRBHHHRXVJRTTFERXZMKNTXGEZWQTNQFCMXEOPJBSGFETMTOUERDOMHYIWKWPUDJPYYUVXFNPTELOOPELXMQNYSNBFAPPIHFERPRWIHPIBAAWNSHKKOCPHWSJSNUNKDVKPLKDSEQCQJAOWNRICYEZKEZTMTYPKEWEBSVSMVJUFIETSNGCUCWVGMFFUDECBIAMTTLHTKYISQCOANFHYZBCMCRLCXFJYIPUJZAVDWODEPDAHZSFBCLUKPGPRSKTZMYLZWKGAYWSMNFYXZHDDVKNTHNDTIZYQIWMYBBKYOSZDWAEDBTKFEYOFMYUKIAMMBYJNVPZKIFFTYNCHDTIDQNBVJMCBAAXKXPODNVURHOHGLOXBFIUHDSTNVWMFPMCWYGDKSRUDAPQUYVXNQIAQVOAVUGNXDZEMPXJFAXZQWCRKMPDOHZZWRCUEGTLLZBLVXZCINLISIOPTBTZMCHFAOPVJZQEHYIEMAPVYJLVWVJNKDODBGGNZSTWFRTFJPDOFUTQSCGUMFCIJDPHQUCCQVCVNMTAOBYAPITZXISWNLJQHQALEHZXCHPWKLFWUPPJZFJXNSSUTDRVQPFNCUPGUQZPCKDMGJWRJHATQWUOEGUIWPBEWROKPGSBGHETYWHDRJFAYOVDYUYIRNWBXPAMIPXFQEGTXSQZDDMCSQVXURTVZJYCDTDQKXIOBAIBOPAZAQTFZWOQBNJAFNHMXSBIVIPSFHIQIKIWFCZJRCIUCYPLCOTSOGOJWUBRJCZINOPODVVNNWDKCBCMEFRHUFFGOVCNKLUQGJVKZZNRZLRGDQXWFSSGXSUYFTBGUCJDOHTTRVISYLVHZDJUWVRFKINBXUKGLQTTKHKYVUAFPMQSAYKMSFQYVETMBNLIQRUZXOBSMHBZJGBCQHDOCLJBHTVTYCMOEVBEUPWPOOEWAHRUOHSVCWLTRSJDAYKYOIUIOGZAGCDZNTOOWRCIRBNCRMWOWIRNBYWKZRDLHGQEQCWCBFPIRDWTSHVVAAXIVHWHLZHNGPHYUDUJJQWYIIACRBCGZYEONCWSAIMVVSNIRMXFKGLYKVUEGKJERMSGFDVZZTPQCIQSNSSHYOLLDCGAFJJWDZETMPUVEBYQUHTNPEKJEBDXSYQEBXBYSBIWXDDXQBUXFWVAEKADWUQNCPNWIWAZPHFVEQXNVZUYPLCTKNRTTHWSMGFZIYNKHGCHTKWNUVGZYRPBFWBEVPAHUOEEVNTAWENXQYJRJSHRETEZYPHIEEOTUMECTESMABXPAYKPGUWXHTQDZVGSTKPRVTDTTKLEPPWCHSYDOYCHQSMZRTQZRECBNNHPQETYVYLKJTNHMWNWMTQYKBMOGNYCWXJGOVFAQOWIBERSOFJIFNFBGJLCZSNLDDHUOXOEQCOCGIKYMMTTZHDJZMAVIQIWHUVCPPJEQLGYLUIYYPHJVSRFLRGWULNGJNRYGTTWVDWSEXRTWFNIKDCTMKFENOZBLHPXTIMFSXUJYAUFIHFVHHWCKWAHPFHDQKLQWNXXXYKXAMUDJZNOMJOVNSUEGNTSQNTLKVWBOBJRBJUQAPVWZDDQNERUVCYVIEMIQMJGGPXVNZQYFFEHWJLUORVXVODBNGDXIXNTFCKFWYMGWCGOIZTTXQVYUSUPBCSLVSZYLYFEZMLKXLNVIJKWCKYTXBHUMLYPTGWVRHQOAXNVXMIOLAILZNWDKFRWWOVKKQYNUXPMVXTTUMKNQTNZEEIPMHRGYGIVZDKLFLUKJOVPBDLOHSLUOKOMLAKFVQBKNBSWBLOQUJICFMKDBWZIQFLWWJRLFTTEULAUQRKEHKTJNFSSXBVOVUEXEVRFIHAMDXXSGXLHPENTNRQUDGWBIFEGJOLPLXQCUXICQOOKZAALTTCSQSCLCHAUOOGJZQSYUTRSCJJSAQNJEJXOJYVUCRRLBUXZSYSXXHMSUWYEJLUBNMSGDNOCUMEPVUERJMMYIAHXFJNKPJCGTVQDFROXUYSBZXTCISIEKDBINLNPELULUUCJTQLVLINPXWHUMATTNYBRHNVONLJSZZAEXFKBJHCBGUPVRWEEINAOKYSPVWFPCYULYBNHKPMFZPBBWWTKREBVPIDCYDHMBYVJIFVWFRUBSWOHEOQNRMNSMJLETKWDXZRJDUFXSUGKCPOLCBBOUXEPYZPEDRPVPHPZGKEUHAORQLJKERBRSOMUYCNFZZAXJYSIPNCUAPJLMCXZYCGUTARCSGUWGWOEDNTVNZHBAAVIFOIQUTWUUUWUHGOMZSZUIPWULQVWDDBWCERKEWCEPUTEESJBKGBCAUJMTGZDDVNTROOMOSOVOJHBFGEBHUFTBDYCEBJTXWUBHWSWKGMBSLCTOYGUZIBQFDQXPQSKUJVJRWNSMMPXTAZQYWTNYKBSJFMONYURXMLHSRZMPEZVWYKGMMPAWPKHNTCUGDYKQZDLMYOWNKZIXOXRTYCWNDKSUXIQLTJLHHRDFTLIUCSVHSJTEYOMOKRHGQXUEBZSCZBVZFBJBJFABDQVXDIMRSWAUHKOILQKPQUUAGTSDUWPFUKJMWNSLXZBLEVMFQFMHUBRBZASOPCEVXFSZDOGWMDEMUWYPADWSLQEBAFIWSPXEOQEXOIJZEDUGXXNXLGAJYLNWHOQCVBFFPOMMVRJLDLLZWYYZBRVKPWUROLKTBEGBVLOJYOCSSFUXPBZFUBYUSJQSTPQWUUUTZTEYXKWGKQREWSKLBQZHPMEAYVPSWBBDDVMLAAXIDGRJZGXJTIKOSXIIYUWPFSUSDMJZGQGKAEMNBCOBVDCGWXOODCIFLTYNWFIUHXFJGVZERQHTYVXWXZXYZNERTXOWJQSQBYAEGUHTCAWHMODVFPRTZWXZBNFYGBMIACXJWKCOXOVJTCNMIULILXSCTIKAVPKCOWRVYBUHQHOIIQHVFIIWCZZLCRAGGKRMRBVMNUXDTKZLUKONNCOCFKBOAGWVNTOZZZBVOHCSJGTNCWCKUQVXQEJDFDWPDPPYJOFNDVPRZYQLAGQPMLNAXDFGFCVAIJXVTPSYIKXEZAJTLHAIQTEVJWFQDDUKMWSOETSGFKLVWULTLIJICEQWXIYQHBSIEMYQBXDTXUVXZMZUCBTDYZZGGUWUSFDWIVZQZTBVMOWGGGLINECPJPNQSRMGJAIZWPHPDRHDKBNXUIEPAEODUGKEQAVFJHJHGJZUHBIFIGJAFOFKEXDAPTSXNERSGOKMFEEUVTLOYOOXCYPVGYXTBUKFUKKZYOZBKATYHFVZFADRNJLAWOZTLIUDJHKLVCECTNRERVKSZZFMMFYMCMZGLXKTTPRLEJXQASZYRJBNEJEVEMRAPGEQVWHJJVOCVFUMQYOMHZJIHOKJTRPGGXNEYQYQCKFHPLZITORQLACSAWVFOHMNMIGJOMKTFTHOMJRJMXLLDRNROEQBUPIUCZGZYZZASKQKEYVHNMZZRCJCADQIVKEYAIIUNHEEFHXZHYECCLMTXFBDOFBVACUWPNWIUSJQFSKFPUQWFEMTSJMFOBUWGRHJFEPPYBTUXDIEDQBKULVGHKDSVZHIMLJPKRXLZPDXRYIVQRKEHPZIWWSFKLJMOOMPBGKUUZBJIRDTJABJPXRGVQROLCRWWOTUBLIGBFTOWPUQXGLOECZIGGFTCVCLOJSFYQHJWZULDRUGZHEXPIWREHUEGVDCZRFFSTKNOVTQGZPUAILHDVVWZDFTOHKNMNBSUBNEVFGXGLWQSWAWRJYJLRYGSQGBMAKJMJVZJBINZZXYCRNQBFYFBYUFDBJSGZVUAEPADSXQYHYJFLRBTFRFFNSUULFTCRMMQFGKNWKNCLNFTJJCRCKLLEZYBFGZWRWQMUKXFZGQXHDCLQMYQGRAXENXWLMVBZJYRXYFCZDSPHVZQBBTIEBQPBROOVRWJMEAJDRJMLRREOIENSLOKLQGRBIKDAJPGBYVUETUVECIUINRRCMIJZYFHQDIOODREUINYDTMICHKJHVBJCNAPYNARJQEVDDILHXAWTAXSXHNDPYJZCGPXYYJNXJIZYWMLAXSPLTERGVXITGSLCVOAMOPUXSRLECOEWUUQZZFLHTAUICPRMQKBBZCHMJOJFYYTGPCQIAGXDDKPFXREMTBPTVHUCYMMZRDWINJFYYIIDEEYUUQRVCFADFMYYYHGQKKBCILGXAFMELWYXRAPLNDYRZINYXALWNJQHUQQUPTWCWJTZSMSCYMNMMZCQSLFMHZAZJHRXQAMEOJBQJEJCSAXVUPOCDKFTRMYUXJBDNFDPSRAUYPENUEIFOCSHZCIFSIACWUJEYXHERKLALDIOKKNIQQYLEQECASLZNYRCDENTGMNKAAXJBMXMPLUVTBRNHBVDMQKPXDSDMUIBPNIXSVBOOTSZLATXXEJSTRUKDQXHTVEHKWSXTPTTBBSHJHSCQNREKRITPAPBKYBAIJOGDQAOYBOHEBUNHRCLEJTTLOMZFDZDUQACXJSLJQFGNKUROMDFSNTFXOBXQAKTYQPJYNJQYRRYNOKMLTKOEGNTEKZHSPZCZIQQMKPCNMDJMDDQUHQSFWOJBTLHCOEKYESJTPZWLTUGBJRFKCMVTQJBDZSPEAPBOCWLBMOPAXPVYCRJEHCXCYYTUINPTUANOUGSTWFFYBXMXGGYSZXOQACLNOUFRBIWLDEKCRHGEVXZCTIKIYBJTPYPHHKIIMUMDAKOXMEOGVMKVTHCYABGPHPXZULSKMXISDETVBQKAMOVFYUZYUTDWIBCPGAAZHLDWBEKXYYYHFRSFOJWWNBLOAFMNIGXIPKZVGSLNZZQLVJKQHEHWVCHRLMCAIRXTPAZMSQZQXFOJIMKLCOZPKFQYBHKUQZEIXMKHJVDLZICLQQMAZWGVFOOXDQJBWVZODWRYHRXALSXYPMGHVDREMNJTFASUPAQDKOIGYUXPYFWWBQBBYEFPEQHILALUFSKQDIOPVXJTCZEQMKKHCBERWILQWFMGDDDLBBNNDNPIQFPSDYFOXFCNAJJKPVJQATCKHILMUAFKABCJTCGWRBAPAILPQBQMHVSYUGGRUASTALWZXGTESRRSRLWNWBAXDTYEGSGPNSLWKYMOMECDZKNZDBLRFTVWRRSDGJTCISYNHJTFDNJMVCNCUYOYOXIBTMUDPUZLLEJNMWJBJZLRIUFZYYDNJHIUUGAYXOESJVAHVIELEYUJHBEFAVRGAOSIIGULINXEIQBIWTPHAZZOLINBFUTGNGOVYWMKEWPBIPATLQOUVJFQRNLAZUIKEVGMQSKTZVBYHNVVPRCQGGZKLKULBRMGAFUBBWMRGQZPRYYZSHRQPFGXBYSBTZXBUPQQFMAQMKMSNQWGOVXYBKDJEJUQGBBYYAFEHWYJEEMIDCNVKAZPKWVWQVMXNMIPYAGTYGUBRKQDYJOAWWJLQCISZTQMVVLKOJTZHWDNQKIRFMOXDUFULLQHQFEKXSRZVNTORJKUCCGSNYVLIPOBJRMQQLOPNFHGXRYCVUYCKKMUMHGSNRNVOFFPKCCHXTDTWBXDXQUEIUOKEZFTNXSFCQISSTBPDUMVWTSPKBVMIGWGWUURRHCCCHBOOEHOVBYYFKVPGBXGMODYFQWLTTCECPEUAZIPXRDAMDESUGBGYAUMGWWRCRINUYTHIXPRHMTWSVNDTCZDMAGHIEAZPVZGOEHVSGSCCWVKXTYVZRTZAPJDJNXNKEZMSEBQNVHPTWTWSPKNUFNXTKRVZCOBCNPXAHBAWWDLKAWWLOBYTWDIBXEAZHTBXVIBCVIWATCRJXUDIAKBCDYINIPRZDHDLOEGAAHUNNVXIIMUGTWTQPPIPCGYTGCDEEQUTWMXFUCRQMBJYHUKCGFZGJCALVQNMIBMKSOFCNDHBKMKALZPCXJYSZKEFNFUHSKVGIDWHUJQHXMIEFVHGFCOSDIFRMKCYZSGCEBXBOHXFDQGRHVIJCTEXNJQVJXZRFCSGUUATXRPUOOGSTSIACCISUQQFKUZPLXWNBFSXZRFLSERATPAZHEPOVXZAOAVAPHQBDJRLLXINDQOUOXQTZWJATIKIMXIGQDXMHHWDCQRVTVHATPMIJYAEDRQEVAIINHRDLSNJPJPMTOUOSJUTIHGUQAWJGRWSTVXFKZRLGGUGGALHTVIRHEYOXLZKXKWDKJVQILEAFMAWURKFFKONCAGUHJXOQSIMQCFFYATBLFZHNAOEEKOUHEUMOJXIKDTJPDFGVHMJJHCJEGADHEOFJBGXSCUJJLARUQJWCJYJRUZKJHPWPTDVKSZKJNJFBJKWQHJRMOLAIAYCCWLDCOEAMKPQBLPNYCPUVWXHHBWFUZKCGFAUHJANVIBLVAJGGGVXKSAHGMVXHUKEULKLWCSAQXJBMDYJTMQKXKFUGOEFLPRKQWKGLCASEAYPXNSBTHDPGLGSMTQGXRWJESWZNBEVPSKWFZCZYDJAGKUSMNAPSLBJUDBQSXVOQOKBZMAKEYMQNXXRFVWIPBLNPQQVKDQXXQIOIOJDDPDTFSNQVOGPASPAPBDKPECEUQHGSHFRFTHEAYWBYJQZLTZFNZKXOFLUPVUFRPUJTFRGRZOHGILSQONHFERVREACEAJYJGGUSWXZTUBDCMCKFMATXFCHDYXXDKUPROWBYDPJBXXVVMXWOHGTICBFGMPHFOUVYDBIXKXDJTESDVFLVGHAKLZENIUAOSEEVHHVFVBXXOFBQRXQSGFYDGQGFMONUEGUYTDHAZNODXCCUGPXCEVRIWRCJYFYGLIBVNEQXAWWXEDJWUAIXZPELSTJFAGJIVIEVZMOGRIWEIKCILJKURHHUWSYIDTHYUADFEFJBEPUXCWWWKSCGUCYXVUVAZXBZVYHHNONSOCZLIPRTCHGHURXBGQOSWXGILEWMUPQFVMUFDZFJSVUQMYLDCZRGACSKDTNLSBOMWAEVHMQEXBRELQGIKPEHJSVJHWUBLBUUEYTGDXQKBKMCHISOUPVUVYNVVCIXRLITZCMVADQWBGNWQYHMYFFSXBIQNERBHNMRGTDNERJXUIZIPZFRLLZDUHEIQVHOMWEPIAVVWEJNLTGEZGDTYDTMZACIABVRQCWKSMYDLZBOQLULERZMUWNHKZSETXRDDLXTLKMKOIBDZLDLPMHGYJUSJBDUEHFGOGDHTCRFRYQCGYQVBHZEWZLCAXRFRBWSQKMODUFZPJQSQAINZIJEGGOMPOUYFTTSJGAAQLNVBBRSEDCHIOUOITLIVQRXUKOWBXVWQYYRVPWMEHRSZNZKSLFCDFSPWECQKETDGBOIEAYCEASTUYHIXQHEYCBAMQQMVBABQVXUTVWQPRKKYQZXLOGGFQFAIHWJHTBXKWIMIWZFCOTZMPWJRUQJUIIIYTBGCZWNRLNAHLLSJNHXZCNJJIWSEMBEIIUDUMGVJTYKFGRYRZSYWVGJSMBQSWTQXAFURQSIUEHGOXXUECXKKCFXMSXYPYKDVTTTVXEIPGTMPBOQVTIUIMDYWWFLXCKQPPBFHEHVJXIHBPBJGVODCFRLZRVKREMIWHOADHVESILCEJJFIQRMYMFPUMNZKXCSFKBIDNBINRAXRJWVCNIOBCFSNORYZPPDNHLLLZMVZYTAVFRFANPWVIADRVKQTDFTXZBRZLTVOVLAKJJDAPJWDNSPSFMSDBDLVKVHFWWSNYEIRIPCNZIKPBZNCJTLVNQWDYGJPOFHUKJXUDQMYOZGZBBPJBSTTGHEMCNWYEKNGNOIIKRNXLAPELEPSOCCJVCNIFZIIGCCZRPXINGJQWJMRTOHQPONVPNKEOHPNROKEGEMCXPIHROFSVDCMZRDSLICFUGJILZGTAXCEPEWGTJVEPNHVLJATFEMELYWJQIONSLFYCCWDFFTLPGOWRQTDUUTGLZHADFTSOHIGHVZALYAVTACERGHUZTVNOVTSYYYKJWQRDEELHUCZXUMHDSWZVMQUNWNIYCYYLPCPULNYYDUPADDAEABNPAPKSRZSOUIJWKKFHNEWOLMMVSVMUMAQBHPFDYVIJEIDRGIUYGCPEYSLUCRTKKWEUUPNHTLBPFTNYIXMFZXSQXSGJVYTLDSKJAOVMTYSRMDQLKKVHJNOZZUFMBFDRYETOXWUKYSHIDVASZOPVAVTGZZUOEVFFTALQQHWAHFLMAHUKUYJVKUZRAORCRSMNLWIEDUXIWSMNNOZUGYSOJAPCDLBMYOZMCYTEKMHSYGSYIZGQILJNAXQGIVBJTULZODMEIZQWRKJYBFMGMHSURTTCZXFSUBZMQNAOGVGJNFWYADGTSQQFCNWQQWMJTARZHCUBYKBSHADQIEEJCXZQQQCDUSIHDIMUVLUKSWEJIFHBRUOMPXFKQYDHFIFQLXMGCWEZPCPZHEAESBSLUVHAEPWQYHRDSFMVNZFXUSMKMSSSCBUVRORBPKVEZJLGLRUOKEWUAIHAACTPXAXZBKXIDVLVQBKXZROJTCVTKDKRTUMFNUILVHNTULJVVQIBAYLETZADFZWPKKEBURXVUXAIFHZTMVIIOIUVMDKHMACYCERZYHMQSXQVEDAKOGMBLJGPUHRLHJSEXEYCBSIDBYVOJWJUDPOUFOVCGQTGXHXBKCVWLUDNTGSMFIORBLNQSWCUOLSZNBHQPEZXNVYPETEKANBOIYPNAIPIAETNPAQZBFXQVIJAQOQYQQMDKBCQDEGSKUDCCSFAIVNLDMTCWHOOUNOXBDRBCWPBTMPODIVOOHBPMYCJKDWGCDNWVJYWVJWZEAMHVBJMUCOYFDCTQWYEROPHGMVXWQNUOXDTLVKWMBEVLXAVTYBNAXAQEGKPQMISQPIWWEVHXWBBRVPSIVNCNWKDQJTKYWYZHALPOBXRECNABJWTNQCJTWOVPOFJUZQKPLWLQUXVMOTLLLEPZKNQCNYSLHPXTELDNRYOBOGFDDYMFUUMPNSOXZMCEEYCPYHMVNHOYCULONSOVWRCYQBHHCOHNUDBONZNTXUQPCCKOIMQVWTXGHPYOJZMZLQPXZPTPQQGLVTIVUVZWZLKMBXRGQJQTQKDBVBFIKKJVYRQKBDPPIHNPIHMZZCPXDQRUDIEWENFYRGJXZZUDFPOEQVTLLAFUJDCXCLVAGMUCKSOUDBNCDMYYFRGSRBEKSAJUNJGZDGPQDLTXAKCJIDPMOGHUTCRGMLNZKFJFPCDXVQRIIDJZUKBVCLZQEXRUAQRUPKYJLADYLSMVCDVKBOOYOMCGETKIKHYJZZFFUHQQOGEDVMEYMNBHHHIIZFBMGCDQXOBQZJIRRVPAHFPFSWOYPKCBROCHSJNAGKUEOXUCWHXJGJHUEXKSWHBFTLIJRGBTEHXTHENTQLMUZLKFFHHBMJVYIWAJVFFZOWPUJIYQJIKFTCAOKIXLSBNFKBLSWVZFAJDSOMKSIIJSUWLHDHFLXJQHOOIAQCXLRFIAKWUDZZKQNWYWETVRZKXSVIREPTAGCEGTBZDFINFQZWQFNQXZVAROEROIDKQGZSFPVBLNGNYGKMJKHGMMTINJETHFWRGBRGACFMPVGFBACGSHWOSPCYYPEVXPAWFSEQVEDFELXJRPQWQOYLXDRCVCJQYLOJWXDNUSBRHMILJUPVAMRSVHWBPYERIEBODVTLAJEWPNKZHAIWMOZCITWNLNQCRXAIWMTEGKJUNXWBRLJTFVTLWLGYQKEDPADXTQLHCODDTAUMKCTDZGGIZIKXUVQQMLPXJVBUJDXONXBUCBIXJIFXZUXZWITHBYFGCDSAFFPRMZRPHZGGDRHUYIUHHOGVBEIBFPFNKKDLNDAIZNHQCVLTOUBQMPSDSMKADMHGAWMDECZMZTZKRWJHKELUKOKVENTKTNUYEAPWCNMIBSNNYGSRYBZGKCRSTZIIBLNFYQNGUIWFGCBQWYFQGOGWNEUQMLJBVZRIXZYZCMPIWRDCEJIZUZOUDKNHHTCATTSERYYZVYXSSUXMGBSDTLBAUHRAKKZDMPVDZPMJVJSMTNYNPBXQHYWYVNQMNQUVPIHDOJSNPFFJGBAYQTDBLKLPRXDXOQGDTHDNBEMDMTRTOONGMPMWSZPSJPRNUDCRTYPXUZXEUCLGRFKBGYIUGPSOZURKFNBFBRJZVZCWIRCVBZJEZVQUJXCYVTGBBQCGPVCTVELPBMYXHJACTXSVZTEODEXZZVEBQKFSFKPJIBMZEWRKAUABUFUFFBOQEMKXENHZHHMSIQHLEEAAFGEMAOHJTSZUIKTNPOMMOPTFAHKPAWQFKABDVUJVZQYGRMLIFKFEEDQMRTFYKEKRKMTRXZLTAHDFNVYGESQAYKODJGXIAPLLHMTKNTLDOGVHAWJFESJOTKDDBENQAUXEPUBZARZQTUXKKOJIXDMGHWYGUKRDILCJTBEWEJIWPQQQOLPFFEQRPMDUZMMCHLDDHAJUKXJKPISIXKKBTKHSNBGERXQWRFRIOAJJTONDEXHRIGNASBFQAFHXHRCLXOAPDXOGSVHFTGAQLFXZSUJFQWAKBSKKXAYJEDLSQSEHSKNHBZTRLSQZXLPQUWSWYSSCCKPCQRHPHPXFMLXVITKZAHDZIBUSOECXFUIHWHDXFEOYSHHLXCNHCVYVPEDKBHNVOCSCMIPSTLVCEQXPIOFRFHKBFDAWSMETDWJPJWLIFZJLZUYOBKRGVXTJNEGHVLFBDUOQOXJZMMPUVNVMOULOENIOGUHUPFHWCBYEXFFNHQHWSVDJLZTWXXNUMOATQMOYTFMXXTHXNVVSCMVWDMWQRCSNZAOHAEJVBWZXCGBBTVFTDKECSFJZUBSAVQBDGIXJUYNRGUEVLODJWRYDBMWTPEUUAWOEFQSIGZLLMQFCITGRYHSKMDTAPQDUPMYUGYGSUGUDCMPPROTQCUIULAAHYTSYIDSYQPDBFLHJTPIPRNXHDQSEOCBXJZNHPCFUUXBHVLZXSZXSXLEGPWIJWPDMYNNIQLBCWEZGRMDEWWSCBWQSNGYPYVQQNKYFSBNMLFSUUSGVTCTCNMURRGQPARMLTDABNSHNURTDSWNGFIOECULRNZIIEHEIVJDIBLCTAANFTECYGVLZVXFVUYPZQFQFTVFAPTJENCUTQSXLVTLFOQPMRDVEZPIRLFPIBCGPZRKJXIOMHGIQIROICKPJYJEQWLDZRCRECMICFMUFKJQEFHLNXUGRSGWXCHSCCDAEVBMKNKVRVQELXVHGDPYJBSLDALFHVPLSBMONRDEZYGEOQZCMRRWQJGOVJGDAJFHKPBRPCRNYQAONOTVIDPBRUPMYDJSWMCIRGCKTMPCYKMNGNQACJRGLXUMBCQQEJYPWERGPRATYBXNZPQCDJPBEYOZVBMSIIJJAWCVZZVNYVOYKUTHDMEFBYTHCTYADDTHESGRNKSSCQACCLDFFGRTSEYEXOEDDYZHKXIEUAIYBTCISSQICHQLRJHPNQOPJPKURTHSKBBUTCLDCUFGFEUSRDMUEXOOQRIZFGBUYGMBBUCBOMLSSMFSGMPPZADWKSLQTPCCDQOEQDZIVRMBLFYDDZHNQGCPFBCQFVVTNSIFUOTQWFFYSFDHKQPOFXCVAPWISYYCMRGFKBCAWGROWVGDOQJKXHLAZOEVCIXKROLMWPTGMCIFNPYHSGQFALYNOOUCSQIAIBWREDMAEVBENAVJUJYFYWIIRACQMRRJHCLQWHEZWTMVLPFYSRPVNGUSTKFJJWPCNLJXFPAIWFETLHNUYKFVODJDMAOSVLDBDEFCTTYETKDBBTOWYKPBDQDTVTRTAQLNUURLTGVSHAARGXVLEMHHJZBVNZIVAESHYMALUYWXEDAPICMIJAQZLUIGZCEPCXIFGYVCPWGZQUPVOZFYNVQRCWRTAKNFSJAEVVAESPPJOZTXVPZZQFTUNVEEELESMRMNNJMKJSFICZJAQGDEALIYQFKARFBXEDIKINEFTVIHCVTCSDJMECSOIAPUPPJWTJYIDUMXIIUWJGKKDGUTKGMPIGVGUATBODIHDZBIGHNDDAWAOUZRIWCCMYCTSTJEDFBNLCFRYMHKWUZJUOGSBEQABAFESEOBHHIQOXNMOTSWTGVSRDEAODLQVLEALRVWBSDEPJJAHCKKOYVYMPQCIQADSAXBQQHMBKGDWABJBZMSDWELLXXULLOYXQHLOSSTOWXLRLGLECNOGGBUOORBVBZBKRBASAWUTAIJYIDRQTJPUPWRKCTZQNOYHTVQTTVHYUQAXHVQTIESKSHDFTHABRRKSBLOYNIFRLPUXWURMYHZTQIIBWVKDBIXAJXIZSDDXQINASYSAVFEONZWJPTFEFSWDJITGPPLCFUIFJSENBMOVQMVCQNHPPDSKOFGPPOCUSTYMJMULFARHBBVQSFLBMZXQQPUDSWGXKTPCOYGLQMEWXVPRICLXRYMOXKMZCUVFTYZXOZRMGHFLUQNVJGNTCQBSIUBAXWOTIGWIWXLKXTHSFHDCMNIUKJJAQPJFLZMIBGLGRFRVZSMIBPKGQPEODCTDIKJAXECTXZXFLHMQQQOBPRMADPECJFVNNENMRKXVTTENNJSHEDCXDNUWJZFGWFMWWHVIMKJGUHFKQXDXNLVQUHXARFURVCUBKQHQKIVILCMZSFCXPMTSYJLNPBZONQUXHZRTHOMWBNCPDIOUNZMFHQGEXJERTNXIXQJPKZABPOSYIGARREVAXYEOAAMPZNNRNYOUVMMFUIJOBONOHVBLHIZJVSRTYXBLAWIXPQEIGWKLNGHZDKHQAJXZXZTXHHPOJYDVYKVYJSQAPZKFLNJMIUHLYPXAVTYLTDOVZWKJJBYIQBAPLMGRPMTJXHGTTOWLECDBCSQJONQACDIMSRHVMNSHPWBWYTWDGYGAOQQYJERLGYVYBTSHPFLDDPWOHQOXQPZOBZKVTDISUUBTHCEMMVGRVMQHNWVNRTEFOIJGLGKXFCYEJBFNKFUXBFVHGAHKLSPALSLOQSEIEGXFYGUIDHNARDAWHNRYXKACAQAQMPIVZYVQULTHGSWYYDTWZLZRKSPGRAXRPXMTWLWEEWVAZLUEVTFDPNOTKYQJZLXOLZPXWJOFQTEOFENQWAXSLDHQNZLMUMUNYUEQTLQKNZHDYGUMAEELCOQXTGHZUBVFSRFAAQXVQANBWOPHTCCDUZVDKBTARBPDSPEVWJEGAYIBWYHUJXZBSADHDEERKRPRMMUHCSUHHLAMDSFCNTAKJALLOMEWRAMYJVWBQBVMFLYNUSJFQXVEOIFTLKVLNOFDVNATWZEHLXAHOTDSWXSIXDGFIFVJSTFAESHSZGFLDATROISWCCILQDFJXPQJZPJBYQGFXAHYLTNKDYSSZZJSOVODUXZFSNSDUWWCPQTEEBFKGIGVFEXGEIOBEQYQFBXZWDCDVLTRTENEMPBQKWJOSQBFMCFLWUAOGCYZZSOSOLEZDXCCGDEVOZHNMNMUDPDORZDHUXEKGQUJZFIXIDDRIXMVQKMMGEYXMXDUICASEEHKILWUEWRXMRVHXFTQGZFTAGVKANJCOQTBXIJPCQEREYMDGMPIAAZYHPWWHBXABYCAHKEEYTZPQJKQJHIIYCHEMOICJGGQINNHRTHCNKSUGTEMCRFHJPETFTMXQUPVIPTNIVPBKAUTZCBUAYIMQACWMJXKLDBKRXWHSXHUEQORBEXCGMWNRODVFNAGJNRSAFHZYLTZKDIDWNSETCKDTIBJFUCTWHIDKQVMODQAHZAVHSRVJJETRDQCCJGVLLHJPABJFWOVKPUWSGKPQJHJXEYRLEGKKCAVXSNGJHFFEDGHCVHZGXASDEYVYZZACQGHTIIMYRSAAMYXHMZZZEQSTTLHLNPZLVYYCOEKEVYSCLBBKCHGVSBPHXLFAUDPTUXMQYBBPHIZNTGOFMVQETICJYQNBKBNCLAQDRKLTJCCWKUZMQTSGDXJRGXCFCKXJTEXZQUHNRNBKZFANSUUFETANEBMTTFFKVUAKASTFSLBDNJXVHEGPMZLJFHLUAMYWOXTPNMKWDAQODPOCCWZDFBBFGQKGLEXHYRYFEYJMGFEGJQLLAZIZVBRUFGHWQDRFHFISBUSYYITYOIKERBWEIEENHVNPWLMSHYUKRROYHHNCRTLBTMOHUPKCBKTLNAWYOWWSQIXHOVLANOUUWYGLFRSGXTCBRDAYLLGYYXDWRSDMGAAUXDITTVCRWDFNIUJQGEAWCCDYYVTUAFQDKWRXKWUBQMCFANBWYPOJZBWMXCDDHBNBZOZJPJVJHZFETDXBJRZQXZGNBMJKJBAPAAQCJOIDWDKEHUQWSPGXCCMHKWVIPYZIYXVZBBGFLVBCICLGIAAGUHNOYZFQRFDKDURWEZFCEPQHMIPWDZOGLEXUZJWSSVWUBFWIFWGILEDBNMNBMDGFSEBFDFLBNGDNXDUCHPTICFWWIGNXXWMUEEAMRMHREWHZPFKMWDNGQPXSNPIDJRTCODDPARBKNVPPVWBFASUXISVQSSBTWZJSJGRIBAWXNATIJENDGJVBMDIUFHTEVENUEOXNXJLIIXLVZMJBPLIZAULKEGOFBUNXYRIUZGCTICMHSQCFPMMMYFYXPGEQECSWXJBMFEWEFRREUYGEJFAXQNNZOOVUEQBCPCNELAFLUHZLYHPDWQLZUUATOBYUTGIZLVLCJAPBGNXMGBUOGAFVFKADVYUGSGXIBXRFUEOPCYEHHFWTDRVUWXVQDHEIISYGAQNTILOGXUSURVQXEMITDFWRZBLZHSGSNEAWYOGYZQOBGDLGCLJLMBCFDOOCEODNCCYHGMITXACWAREDUBEWUVLLOOIWKFHBJAXSSTQNBCTWSRTJJKCXCIJJTCVRASBWCPNADTFGHIDOCOWHBEYRINTSIBYHLHQAKEFUIITTRHIYDPIUMNRJXDVNBZRPFBBLFHVQSWINSEXGVTRIZKQLHKCPWDPSWGPSCPBZXAIRTXSOZOFYBLGXBXVNOLZQMLIXFTBZDLKUIOUJBTZBQPGBTQOTAGMIDDTHLWYDHGIGCFHUHQPEANPYBIZDHJHUZLEWJHVOBDPWFASOFEZPUGFJLZDBPSFLFQYKRNLISUTHRHASDMQTGEEEEOWOILMXHCFCDMFERZRITYZTTYBJWLUNGMJENOYYIAOVRLHGOTBXXMZQKPAKFCEMLLWWVKWNMWSCBAPFBKBRRGFYKLIFWJEJSAVURVEPFQQSNYRMIVOWULTFQMFWEDKDWSNZPRPNDBDIHPOAVKQLWVNOGFANCNCSYSLMXPULDWIKOUCLXTNMUDDSMGNDIESFDVUWOIOZYTAQVTEGWVKQZADCDOXIWSUAJPVRALJZVSXLPLKMUQXPDUICZQDXKSPPOZQQTNJPEFFXDNJZVMSDONZLXUUGMDQFLNELZECYDWAFSGJERNVFHQQRWNIXGWDHFZYMZINRWJWRHTKWFJBDDPQEHQGAMGKAGRLHPZPAVUGJEDPPGYMHALFDMPGCNCIDVJRCXPCCGJQHJZXVINVSFUCTGOUESOLIEQZOJSWBEOEAHURPAERMLAMTXGLEJLBTPBTTUVLLHZIXSKACUFVAAOXJVLDMPYYKNLFXUOJGWZEFCWOOLOAXOTXXDYNJCVXCATWZZVROXEKYACUHPOKPEVAWPYYBMNSADZMPEODENNKAOMOMSAPRQHPYXYBRXEDLNJNRYQYSPUZTGATNZZAMQBEVQTYMHVOKNSJQQCKBLBSACQLDBJKJNNRDRMRJPZPGRUCIKESLDAWDPPKIEWKFIOAMJCVUOEPZDVPHGJAEMSYLJWPJYEITHMRGJBVQBYXEAUVAJWQBRJSAMVCFIHEQVHBNZOPMEPRPGVSQJSAVRIXODKOMHRJNUCLVOFSSYGTCWJYKJVOZQUTGURCKNZRCTADJEZUTCFGJLRMRYCBNEAMRQCTNTHWXBRKZHCZMCKGGEGVUXMWOKBMUFYKSATKTGFHYSMEMXXNGMJRNTWTMYUZVOHIAANSXUQFMGNGDEQFTBBQXIDMOJCYOTUVMIAVRMASLAKOUVFMETJCKSHYABCPZDJJSNQUHITVBKQEDSVNYPFEKELKYXFDODRLETZWWCBUNCGSCYVUXCEPIUDRGYITWRINAVAISQKJRRUNVKHNRMAPADOTENJLGPAEGYSOVZCTIWVBEEYKAQFNLUKRQQBPDANCKBQTEFUOCDLPPWMCJEVCSXFQXGAGTCHYMUPJVZINBBFBZCKJEECLUFSYLDCBAAZUBUBQDRWHAANJQVHFRLUYXJXYDNLKZHOAGGMEYWRROUFURDIZNMFQPEXRLAUNDSFIRQONFNLNBIOINAQAXNRANRJGUPOXEVVVGQBPGFUOJUORFXFJJJVXJYIBKYXHOEAXQXHKOOIJJYZZCOOVSGNSLQXNXUCSETZZHIPQFUYBEWYZZHMRCKUNTZLNIPYGAVKCNSBDHDFRNSMTEBWZOFLYUJLZQBQXALLWEOPCNZLDXUZUGHDQMSZASUDBWJOORECJVTMZALDLXHFYRJDJQGEEWGYYBADNLOMFJZVCPYHLNARTNYODMQLXLGLUEGHULJSTQKNELKICXWVDHVHCBAQEVIFXAFVRCBHHMXERORDITINBEKQEKHGRJHZLEZMFWXPQGOTHLBBWOHLOCVRYJHEBQZRBYTZDXQBOBRBSVWXXJQIROPXELPIYVEMIQITSRQIHKNPQZZHSLUUWNDMPOMLFVDRRSUAXWHAECFMYRIEPWBZJPHCVHUBXLXTQFATCICYDCNASOMKZCHCUTUEVUNSRFCHDCXCYPTKEHOBPDWUFXFNTIDXQFJSJXDWDXHDZOQERTNSTUGXARRRTUDRKVMNGLHFECYQZAUKCDSMFWKABVXLAHUUKHBPFWKHZCWZJMEEMEJMWXEWNTOZZAEIRURHHXZMMJUBRHDMXMOGMOFBKWLBBWZIHUWCIXDKXGLMVQPLZTFSQSRVLRYOFJCVPWRGTRJJYLBZFUSNVRKARBMBIIURXTPNDFZRVFCFVLJUUHAGAPVPXBXXWSOODPADPDJIJMYFMYTKCSXEKQXLZZCFUIMBDABUGQRWJLRZXMUTAXMZHBCTBFUZJHLBHAYXNEEBFNDTJFRLQCENVVQQQUTYJKZFQPVYRNDAQLQNKPKHLIWZUWYKKULKDXYLZQJRVPEIKOHZGKTVMCQFJOXFXLQHMQODGSUDKCREXOMZYGEUWGWRTBSZHZDFYVVKVXSRUKFGDCIQWZGBLTBDWCTGMCHYWUUGAAWYLLTNBKKMBNLVPXKOAMMZWCVUKPWZRRTZENXOUDKMNCZPXCKHQJJFXQZDKCWRUCEFLSRBAUXKQBHLOMVFBVRJSAMNAEVVAZHRIWWAXRSZXQERQSHSNZXRKONQPETTZELWFJOKKMQSGEBQAEUHQTMGPGZYXAJPAOMICWSKQPHIIAULBFYWUGUXMLGUNUXLZSAQKAESWWCXGLUIZUSMHLFAYXZGXYNUPKDDFBWMAHTJBYBXYPAQDLLFDENQUZBGLWCVAVEDDDSKUPWGWWBERLCSUGVMSDUJUADIWKZWNFHIGVUOHYQVGKCKQGWSDSXJLHICHLQVISMIYRZPYTOZUNRIVHGVIUUSHJYUFYQBNISRVPIXZHMUZDQJSLQQTGMPNUIEXVUEEEWDTPCDJZHQJXLZSQVYTRSDTGIWJOLELLEBAZYSZAJILXGJDJECVZVLRAKLDYKSAMNNKGUYWPRLEOECIEJJHUDDNVVQENNJLDFKJQDZFZDVOMISEGFTNJYYENFSIXYKMMSRQORKDTKAEMZJSRPELBBRKSIDLFQGYQFICQOGJLDPQRAQPFEQIEHZTPLPJVXWTGWODAWTSWTJFRQXSNTVVFWOTJNWDRSWABYUALVZSHKJWVPKXSKAQAWTKFKODYFNVLEYCQPNXDEPNTDSGHPQMBDRTMBCKXEWNPLVVAZLJKLKUUKBLQWHNMQPWXHPBSOTEEFVJJDJTRZYXXCHIIYMWDVYTNQQGUYHQRPHUPYZRILZFRQKADHYVEZHSEGBWAKWSXEPHDAPHODKMWMZDFEUTJMQFBINLPOQGILRJVOYHVADUJKPWQDCZNMLKTQGEEFBJRMXVPDBMJYXWYJMZNMFWYXGSZANGLKNXWTOSUVLYUQVZEZIODBLHQMNVXQJAGBRQEEJDDFUBUZPTKEZYLMOTSEFZIAGLPPERXCMQALUOCGTFRVWLKEXQTTNIGOKXTNWMOJZDTAGBTETIZKAVXYYXCTNDDRMTQFPNCSBHLGXQCWKWCAVBGMQGQCGAJKUODQFVIZNBAFTHHCKUCGBDFKNFOFBROFZHBQQDEZCZEOZTJRLUUYGGRJAYRYUBMFZLLMXJUOCHRQFANYZXCQEAABMXMAMKCAPWFGVRDTBUAIZSPVZDCIKEJTGFHTFRIJQGQXRUQDJCACVLYDLCQKEDXLITBPVELEKTICYRZOEVPGFNVSKTBNKMARZFCEYVRUOMJFRLSCNUDEIFMOVZDFTODXASFCKSBCWSMLTZPEEHKRHJSARMGSKUEGHJJFPXZUICQGWAVVXHXTYUCNHLCMCQVAVZABPPHWGZHMJNMAVAKOBOLSDRSUQKZHZWOPYVCMNFIMNPFVBOJKGUGDWWLCBKFKLIWLNXMMWDVDPVMICVWMRLDKGNUZRHDOKJYWCANTGJVQXUOPXURVNLKIQIDCMXLGCNQKFZMEJUTVPQWPXOQKGJTLLTONGCHDTJHTAJSBWVIYEXHQUYWYFLNGNYCNFSFINZUBJFEVIHTSNFCOSMAFFFMXUGRBRTEUHELMTWIJEOESIUXSEFEHIPRMQIGXMMUGCDELERRHNVQZATXRXBLKPNFBRYGQNDHBWCBPKTNTQBVEEKBZRVEDGTVUEHZEVIVYMQMZEJEHIWIEMTIKBZIXULZLCHQKMJRSSNKLQFUUOTBKGPEBLWEXUVAGITDJZKXALNQKRXRKVWDXTVIBPQRCOPFXFFEHKWGLKWWFNTIHNFYJNRCKLKEJBBVSNJAWPZCFUQEXYKNNSNNALWCPXSOUQQIYOIUMZDWPDTWORLCVUGCEKGHIMIVBAGVNJAXKWFPFVPBJIFCLNGCTTWGOROHNHMHNPTAALNQWTQLKFAJGVKDNSUDJNKELWGVGYHKOYKILRHOGYYDRXDPXMVCRCYRKGZCEBTUZZMNKLWKPKCOTQSUOKFWPUONHOODYEJTNHEPHGFYIJKEEWMIZXURMATRIQKHTQDYIYUOMRDPJPAKMCHWRGMQYWEAKFRSLSXQRHGIQBRKNXLKNXIWHNOEORBKXSIJVAWEUEKFPCYFXUJWVFITYOSTFGAREJNASCAGDZWJZLCCDHUTFNBCMEVBDGAFHCCIBFFXODXBLAKGVQFJQPPYJCNJBNYCGVIMRZJRRFXIHPXTUXXKPRUYMVQTLIYDFDJPAXJSAHIWDXESXDZMXHTIRQDUSZZKZHOFBWZYNYMFQRQAMHKGOHSCBNAYEHJBEIZQAOSCDWIPPMVFHTDYXATDQDLUZZXLULPVOSRHKCLXDHGENFIYFOGPOGTJBGWMTFPSTTANHDUWPMVIZHFGTTDFXEQGHCJPMHKXUJLCJDYOTQDXLHEBPWGWUHHZNOFOLOGZBNETGYMUCAICEDFTEBNIJRGRBQVWOCGPMIDOHOKWREZOPJOWICZFQWKCETNKGCSGUKSUGRELAPOOARYTQKTZBYNFUPKPXDIOMRRXKBOVVWIDOPWHEZHJGUINNJOPZJWNTRKBAUPCDBLUHFTBBKTRRQSPVXJVOGAGLSZGBYMQAXXNMVNVKQQVDLNVNQOMCBXXGLXHSVACRFCLAGWQRNGSIWROUOOGGHQERERWVOMMAGDENHLOLVUBTHQGFVJABLRPEYJWATCMWHROUFSSXFVRLIOODLJVSGHBNHXYUCDDESWAZTTXNPLPGYJNTLCDHEADWSXGVBXXSHRYYXVWQVLHHQDFCLHOIXXQOACMVWQGHPYYPVCWZNDXDMDDAWXMLPUYMMMKXHKQNEFNICXOVNMSJMDKIKMPZFVQOAPKATJBKOCZKXETRFWFFXQLPNCHUPMXMECHKFKLEBDXQGECTOGOEZHLMAGAZSKUSUTJTZINIIVMBBGRNJJPHFIOHQCSSDOBOZGCIKZVDDICMQXQUDVVPWOZTJFULMYZAAZYQQVLTCJNEWXUWBGWTMLAKUSMLRLKHZHHTFBSWOEDWVVFBHFQWDRYBMKOSWWIQJHGHWRHRYHOBVFBALOXYTXZVYRAWWLXLMMOGQCWGRUGMFEKFSPRMIKHXBQZCNSOTQPLFJKUURRWFNNQCBHZLZMBHSMEGWBDFOSTEXGODBIMPXEULITUXJZTGCQMJVAMIOWBYANQTMGKGSOAPWYLACKRCZLCKJVFQYDGVTBOUWGPMSKLUAOMVXUKEPDUPWKIIXHBUMZQVSSFFDWOJISOIPRLLPCORGGJLOQWMXOADCGMEOYZBPQGCKPKIWDLIKQJPSGKRGHKWVTXMXMJLKCBRXXVSEFAKRQAXHLPSUWJXFJZCDHSFFKNXKYKCKXJYSRYGPSFOMMMAVDJRYLCVVGXRCWSYGPPBRHHFWOJWAUDKVEJSWBCNCKHIEFWMMIBOZFVRCATYNTRBRYDLETWGRZTEYNOBKQNPKLGJJQFYYJCAFQWWUUEVUUTFQBABLVYRDUMHZWZIDRQCXRQTAJKFASCAIYFVBONJJBIRWJMMPCSZWPQYYSWBROMUDNFOQCTJMSHTMLMJARFQIXMXAVTOQIRJYCXFDGMRVSIJEXUTUKNBOYNMRJULPEFOMXTTDCJWATBHHBFQFMSFZDYKOWGIFQHUZPXMKWFVVDNQSORPKBGBBAFVYFEFNDFAAHJPOYZNIFKHIGZUFGDUSSXMSAPOHTVDUKPJEKMKHKWJCYARPMXHKPNHMLGFSOTCULXSZIGCHILUHGLOHFGFDRSLYZSDBWKGDKHEEYBGGBGTNWNLPDLRBPTRVJBLOGSBKOQAORTYJXAVKEDGNDSAWRFLSIIGBRYUHEVODVLMCNBEPQRDAWGWPBJSHWQYERVTHTJYWTPYYNGHJAGFYDWMYUSNTZQUAHRPROECXCXGFTIGXMFSODZEQUSVVUQLYGFXGMNELLTHCFNHBZFTEGRUXISKGEJPIXJHHMVMAPTAEHBCESFWCIVWRGWLPAUNJJUYVSAQSXTBZVBDYZEBCKANPKHAHVPCIDNNNXKAVKLYJBYMXAESFHTPHPKECTZWTFFBSHFMXGXLUROIMMTLUTABSEZLILJOBAQCIAWTDSDWZCCDDFZESJUHOYESVHUXIYQQNDGMYAPLXIVAXNTZTZWQYGXTNWYQPABNWSYQGMCGZAMMNPHYSGZBNZAXNQFDOCIAMLHIMPGKJYZLQXMSPCTOGWDRFNDMNONJLAQKTOXFDOWXWGJUWJXZTGFORVPFZIBRRDISELNJSXZHALAWKNDCWWVFOCZVSLVHKSLSKCMYICRHMBDLGXRXLWPZTETSKILCTXBBXKKWYPPILMCXCZXJKQFIFUBNDTBWAAXPAMDKJXSMRFPJHTPZDNHSJMYPFIWOBAZZWVLEHBKXLMOCLAVZSVMZNECOXUKYUBCTCYYRRVNTRQFHAPRNTUPPLDMVJQYPCBCOEINUYXAHWFJWUJWMCTZVUKXBAPLIQOPYOJSCMRYUGGKRNSEYKCFIKBLZVXRLFAIAXXMJMXMXWGRRZXDGDVQWWIEHKERQXEFSYBXRHHWVTHPIFIXPEWMUSITEXKPQVDNENJASSCRDJYSABZJRJHATDKYTVZUPIHTGCFPZJFLPHASRVSQKMJWVBYKFRESRCSLOMIIBPIPIPZEWABDNCKXHPFZGMCBFUAISFUSOILTZNQPYPYDEHSUCUFPZRNUJXNZPXGQCYCWDFEUSYZBDJFROVVPTSGFJZFQMXNUCUDSLUGVISLDCKCVLNYJOUXOSROOSRSXSQKNZWETRXNSZIHWGLNLTOBPSOKIVUBSEOHSCPKHAMJAXAZNPNSQRARQGYOVFABKAIYPTDXCQNCZUKOUOEOISJOSHQFLBCSLVPYQWURKWBYNSEJTSIMVFGYKHHAWBHSIAHFGBWMKBYDESFBSXEQEVXZCAZUWMEUENRJNTHXSQAKTXPKPIQVPVXWQKFWXXDFYXYJTSHARYBYGFYPUKFWDFTSBHZWTDBNHFBDPPCNBQBXXDYICVCMHMVXRRFAFKNOCUPBOHMIDPCBDXWHLEVZUXGVJFWTTFEEITBEUKCORTMWIREBUQAGXCGAATHYVLNOPVPWXJXZJFJLMUXWOPDVGZBUHAJOWQUQUHTAWGNEZGAJLYVZDDMQVTBWSWTVJXCJDQHHUDCCJRYEKFFHNCDIZOEIPCEXEZQUGIRBEIAIMINWHJIKBKQXXIPEEHTRZSDCWQSJCKGTUUZQIIMDZPBDJDMWNMKFGOIWPHIDGDGTGFSPJJOFTUYZEPQRGZAKSVYWDWKHUIBMWLIXYOUMQDYIAQCQWYVXTEILAEWKDSMUWNSLVHVACXLXDNDSGCPKZUXHKICTEZWWLCXKYLEAYIWLXRGRIEDYGHIVJJPHBRIMGFFXTXTPXNIXVPOYFXXNNUKBIYNKIDMSFFCUJMEEGMHXXOGUJMYCOEJUSJQJTZNYIKIKLPPYYWLTLTJYGNSLKYHEDCIZJRZSXXJANZUUSCBJDWRRZUZGAQJETOMYVIPZZISHJVLYWLYKSJRPMJPCBVANAMSTSSIXYNDRCMEIMYNBBSSCFXIVWNNSRTIBNTXAUCHBLWWSUDPQIPUNRFELKURCNJQVPXKDDVGHCCHWNSAIUINGSINTMRKLOTIBLSVCJLTYGMWMMXCFQXAZVCOXTFLBKMRLQCUUDBRMGQVFHXWHAVIXQORXHUAVVDXMWMBSAXEPWKHYILYEVUQEUWECTSRTZPNGQPYBMNFIRIGPASLJIPEVAWSECKSPPJKQSAENLYQVCTBPAITRAZBKGHNPQUTYMTEASFMYPQSRBRPRLEYNDJEKZCAKXKVAQIRMIFUNKMVUXCXXIDVWZXNVYWUBCSPLXNWDTAUFUPLWQKKIFSZFIWMRLVVVGEABJMYLOVPLUBOTAWJAJMKXZOZIBOHNZMGTPKGJZUWDGIIVFHVPQXHJIPUCJGEXRMWGKBUDBUOCBOPPEQOTLYDGWKVAAPSITVSXCAHRBNGZOIDHOJRBCZIHRYALAJTUKUQSELBCDMXTDZVVAASKHRJTEZDVVKUVFXHVHSIPMD"; - -// echo "msg len = " . strlen($too_long_msg); - - // create a message which is too long by adding extra - $logger->debug($too_long_msg . "_EXTRA"); -} - -test_logging(); \ No newline at end of file From 71eebcc60a06400908968085ce7bb54ab5c7db6c Mon Sep 17 00:00:00 2001 From: Michael Fulbright Date: Mon, 24 Mar 2025 12:17:11 -0400 Subject: [PATCH 2/3] tests(agent): Adds Monolog supportability metric tests --- .../monolog2/test_supportability_metric.php | 24 +++++++++++++++++++ .../monolog2/vendor/Monolog/Logger.php | 7 ++++++ .../monolog3/test_supportability_metric.php | 24 +++++++++++++++++++ .../monolog3/vendor/Monolog/Logger.php | 7 ++++++ 4 files changed, 62 insertions(+) create mode 100644 tests/integration/logging/monolog2/test_supportability_metric.php create mode 100644 tests/integration/logging/monolog2/vendor/Monolog/Logger.php create mode 100644 tests/integration/logging/monolog3/test_supportability_metric.php create mode 100644 tests/integration/logging/monolog3/vendor/Monolog/Logger.php diff --git a/tests/integration/logging/monolog2/test_supportability_metric.php b/tests/integration/logging/monolog2/test_supportability_metric.php new file mode 100644 index 000000000..a8cf91415 --- /dev/null +++ b/tests/integration/logging/monolog2/test_supportability_metric.php @@ -0,0 +1,24 @@ + Date: Mon, 24 Mar 2025 13:49:19 -0400 Subject: [PATCH 3/3] chore(agent): Removes Monolog files Missed a couple of files for Monolog --- tests/include/monolog.php | 52 --------------------------------- tests/include/monolog2.tar.bz2 | Bin 88107 -> 0 bytes 2 files changed, 52 deletions(-) delete mode 100644 tests/include/monolog.php delete mode 100644 tests/include/monolog2.tar.bz2 diff --git a/tests/include/monolog.php b/tests/include/monolog.php deleted file mode 100644 index 8f77925b0..000000000 --- a/tests/include/monolog.php +++ /dev/null @@ -1,52 +0,0 @@ -/dev/null'); - } - - return file_exists($libdir); -} - -/* - * `require_monolog` imports the desired version of Monolog. The main purpose of - * this function is to avoid dealing with absolute import paths in tests. In - * this way, the archive could be unpacked in some different directory without - * altering any test code. - */ -function require_monolog($version) { - require_once( - realpath(dirname(__FILE__)) . - '/monolog' . $version . - '/vendor/autoload.php'); -} diff --git a/tests/include/monolog2.tar.bz2 b/tests/include/monolog2.tar.bz2 deleted file mode 100644 index 21332f674e475fa524ed5174b5c78ea55275687f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88107 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 z 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 C8z3YA